simpo-component-library 1.4.21 → 1.4.22
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.
- package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +3 -3
- package/fesm2022/simpo-component-library.mjs +2 -2
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/directive/background-directive.d.ts +1 -1
- package/lib/directive/button-directive.directive.d.ts +1 -1
- package/lib/directive/color.directive.d.ts +1 -1
- package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
- package/package.json +1 -1
- package/simpo-component-library-1.4.22.tgz +0 -0
- package/simpo-component-library-1.4.20.tgz +0 -0
- package/simpo-component-library-1.4.21.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpo-component-library.mjs","sources":["../../../projects/simpo-ui/src/lib/elements/button/button.component.ts","../../../projects/simpo-ui/src/lib/elements/button/button.component.html","../../../projects/simpo-ui/src/lib/elements/text/text.component.ts","../../../projects/simpo-ui/src/lib/elements/text/text.component.html","../../../projects/simpo-ui/src/lib/services/events.service.ts","../../../projects/simpo-ui/src/lib/directive/corner-directive.ts","../../../projects/simpo-ui/src/lib/styles/index.ts","../../../projects/simpo-ui/src/lib/directive/image-directive.directive.ts","../../../projects/simpo-ui/src/lib/directive/button-directive.directive.ts","../../../projects/simpo-ui/src/lib/elements/simpo-button/simpo-button.component.ts","../../../projects/simpo-ui/src/lib/elements/simpo-button/simpo-button.component.html","../../../projects/simpo-ui/src/lib/directive/image-position.directive.ts","../../../projects/simpo-ui/src/lib/directive/image-container.directive.ts","../../../projects/simpo-ui/src/lib/elements/below-image-card/below-image-card.component.ts","../../../projects/simpo-ui/src/lib/elements/below-image-card/below-image-card.component.html","../../../projects/simpo-ui/src/lib/directive/text-background-directive.directive.ts","../../../projects/simpo-ui/src/lib/elements/top-of-image-card/top-of-image-card.component.ts","../../../projects/simpo-ui/src/lib/elements/top-of-image-card/top-of-image-card.component.html","../../../projects/simpo-ui/src/lib/elements/covering-image-card/covering-image-card.component.ts","../../../projects/simpo-ui/src/lib/elements/covering-image-card/covering-image-card.component.html","../../../projects/simpo-ui/src/lib/elements/heading-element/heading-element.component.ts","../../../projects/simpo-ui/src/lib/elements/heading-element/heading-element.component.html","../../../projects/simpo-ui/src/lib/directive/color.directive.ts","../../../projects/simpo-ui/src/lib/elements/socia-icons/socia-icons.component.ts","../../../projects/simpo-ui/src/lib/elements/socia-icons/socia-icons.component.html","../../../projects/simpo-ui/src/lib/elements/index.ts","../../../projects/simpo-ui/src/lib/components/hover-elements/hover-elements.component.ts","../../../projects/simpo-ui/src/lib/components/hover-elements/hover-elements.component.html","../../../projects/simpo-ui/src/lib/components/delete-hover-element/delete-hover-element.component.ts","../../../projects/simpo-ui/src/lib/components/delete-hover-element/delete-hover-element.component.html","../../../projects/simpo-ui/src/lib/components/input-fields/input-fields.component.ts","../../../projects/simpo-ui/src/lib/components/input-fields/input-fields.component.html","../../../projects/simpo-ui/src/lib/components/index.ts","../../../projects/simpo-ui/src/lib/directive/animation-directive.ts","../../../projects/simpo-ui/src/lib/directive/background-directive.ts","../../../projects/simpo-ui/src/lib/directive/content-fit-directive.ts","../../../projects/simpo-ui/src/lib/directive/banner-content-fit-directive.ts","../../../projects/simpo-ui/src/lib/directive/border-directive.ts","../../../projects/simpo-ui/src/lib/directive/column-directive.directive.ts","../../../projects/simpo-ui/src/lib/directive/container-fir.directive.ts","../../../projects/simpo-ui/src/lib/directive/content-alignment-directive.ts","../../../projects/simpo-ui/src/lib/directive/footer-layout-directive.ts","../../../projects/simpo-ui/src/lib/directive/hover-element-directive.ts","../../../projects/simpo-ui/src/lib/directive/overlay-directive.ts","../../../projects/simpo-ui/src/lib/directive/position-layout-directive.directive.ts","../../../projects/simpo-ui/src/lib/sections/BaseSection.ts","../../../projects/simpo-ui/src/lib/sections/text-section/text-section.component.ts","../../../projects/simpo-ui/src/lib/sections/text-section/text-section.component.html","../../../projects/simpo-ui/src/lib/directive/container-alignment.directive.ts","../../../projects/simpo-ui/src/lib/directive/text-size.directive.ts","../../../projects/simpo-ui/src/lib/directive/borderlessImage.directive.ts","../../../projects/simpo-ui/src/lib/directive/hoverborder.directive.ts","../../../projects/simpo-ui/src/lib/sections/banner-section/banner-section.component.ts","../../../projects/simpo-ui/src/lib/sections/banner-section/banner-section.component.html","../../../projects/simpo-ui/src/lib/directive/content-title-spacing.directive.ts","../../../projects/simpo-ui/src/lib/sections/faq-section/faq-section.component.ts","../../../projects/simpo-ui/src/lib/sections/faq-section/faq-section.component.html","../../../projects/simpo-ui/src/lib/sections/footer-section/footer-section.component.ts","../../../projects/simpo-ui/src/lib/sections/footer-section/footer-section.component.html","../../../projects/simpo-ui/src/lib/sections/image-carousel-section/image-carousel-section.component.ts","../../../projects/simpo-ui/src/lib/sections/image-carousel-section/image-carousel-section.component.html","../../../projects/simpo-ui/src/lib/sections/image-grid-section/image-grid-section.component.ts","../../../projects/simpo-ui/src/lib/sections/image-grid-section/image-grid-section.component.html","../../../projects/simpo-ui/src/lib/sections/image-section/image-section.component.ts","../../../projects/simpo-ui/src/lib/sections/image-section/image-section.component.html","../../../projects/simpo-ui/src/lib/sections/service-section/service-section.component.ts","../../../projects/simpo-ui/src/lib/sections/service-section/service-section.component.html","../../../projects/simpo-ui/src/lib/sections/team-member-section/team-member-section.component.ts","../../../projects/simpo-ui/src/lib/sections/team-member-section/team-member-section.component.html","../../../projects/simpo-ui/src/lib/sections/testimonial-section/testimonial-section.component.ts","../../../projects/simpo-ui/src/lib/sections/testimonial-section/testimonial-section.component.html","../../../projects/simpo-ui/src/lib/sections/text-image-section/text-image-section.component.ts","../../../projects/simpo-ui/src/lib/sections/text-image-section/text-image-section.component.html","../../../projects/simpo-ui/src/lib/sections/video-section/video-section.component.ts","../../../projects/simpo-ui/src/lib/sections/video-section/video-section.component.html","../../../projects/simpo-ui/src/lib/elements/navbar-button-element/navbar-button-element.component.ts","../../../projects/simpo-ui/src/lib/elements/navbar-button-element/navbar-button-element.component.html","../../../projects/simpo-ui/src/lib/directive/sticky-directive.ts","../../../projects/simpo-ui/src/lib/services/rest.service.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/user-basic-info/user-basic-info.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/user-basic-info/user-basic-info.component.html","../../../projects/simpo-ui/src/lib/services/storage.service.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/authenticate-user/authenticate-user.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/authenticate-user/authenticate-user.component.html","../../../projects/simpo-ui/src/lib/sections/navbar-section/navbar-section.component.ts","../../../projects/simpo-ui/src/lib/sections/navbar-section/navbar-section.component.html","../../../projects/simpo-ui/src/lib/sections/add-new-section/add-new-section.component.ts","../../../projects/simpo-ui/src/lib/sections/add-new-section/add-new-section.component.html","../../../projects/simpo-ui/src/lib/sections/contact-us/contact-us.component.ts","../../../projects/simpo-ui/src/lib/sections/contact-us/contact-us.component.html","../../../projects/simpo-ui/src/lib/sections/skeleton-loader-section/skeleton-loader-section.component.ts","../../../projects/simpo-ui/src/lib/sections/skeleton-loader-section/skeleton-loader-section.component.html","../../../projects/simpo-ui/src/lib/sections/banner-grid-section/banner-grid-section.component.ts","../../../projects/simpo-ui/src/lib/sections/banner-grid-section/banner-grid-section.component.html","../../../projects/simpo-ui/src/lib/sections/choose-us-section/choose-us-section.component.ts","../../../projects/simpo-ui/src/lib/sections/choose-us-section/choose-us-section.component.html","../../../projects/simpo-ui/src/lib/sections/pricing-section/pricing-section.component.ts","../../../projects/simpo-ui/src/lib/sections/pricing-section/pricing-section.component.html","../../../projects/simpo-ui/src/lib/sections/location-section/location-section.component.ts","../../../projects/simpo-ui/src/lib/sections/location-section/location-section.component.html","../../../projects/simpo-ui/src/lib/sections/header-text/header-text.component.ts","../../../projects/simpo-ui/src/lib/sections/header-text/header-text.component.html","../../../projects/simpo-ui/src/lib/sections/recent-blog-post-section/recent-blog-post-section.component.ts","../../../projects/simpo-ui/src/lib/sections/recent-blog-post-section/recent-blog-post-section.component.html","../../../projects/simpo-ui/src/lib/sections/blog-list/blog-list.component.ts","../../../projects/simpo-ui/src/lib/sections/blog-list/blog-list.component.html","../../../projects/simpo-ui/src/lib/sections/view-blog/view-blog.component.ts","../../../projects/simpo-ui/src/lib/sections/view-blog/view-blog.component.html","../../../projects/simpo-ui/src/lib/sections/process-section/process-section.component.ts","../../../projects/simpo-ui/src/lib/sections/process-section/process-section.component.html","../../../projects/simpo-ui/src/lib/sections/process-modern/process-modern.component.ts","../../../projects/simpo-ui/src/lib/sections/process-modern/process-modern.component.html","../../../projects/simpo-ui/src/lib/sections/features-section/features-section.component.ts","../../../projects/simpo-ui/src/lib/sections/features-section/features-section.component.html","../../../projects/simpo-ui/src/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.ts","../../../projects/simpo-ui/src/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.html","../../../projects/simpo-ui/src/lib/sections/logo-showcase/logo-showcase.component.ts","../../../projects/simpo-ui/src/lib/sections/logo-showcase/logo-showcase.component.html","../../../projects/simpo-ui/src/lib/directive/blur-content.directive.ts","../../../projects/simpo-ui/src/lib/sections/banner-carousel/banner-carousel.component.ts","../../../projects/simpo-ui/src/lib/sections/banner-carousel/banner-carousel.component.html","../../../projects/simpo-ui/src/lib/ecommerce/styles/OrderedItems.modal.ts","../../../projects/simpo-ui/src/lib/services/cart.service.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/featured-products/featured-products.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/featured-products/featured-products.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/featured-category/featured-category.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/featured-category/featured-category.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/product-desc/product-desc.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/product-desc/product-desc.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/pagnination/pagnination.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/pagnination/pagnination.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/product-list/product-list.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/product-list/product-list.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/address/address.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/address/address.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/cart/cart.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/cart/cart.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/checkout/checkout.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/checkout/checkout.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/whislist/whislist.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/whislist/whislist.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/order-details/order-details.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/order-details/order-details.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/user-profile/user-profile.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/user-profile/user-profile.component.html","../../../projects/simpo-ui/src/lib/ecommerce/styles/cart.modal.ts","../../../projects/simpo-ui/src/lib/ecommerce/styles/BaseCollection.modal.ts","../../../projects/simpo-ui/src/lib/ecommerce/styles/category.modal.ts","../../../projects/simpo-ui/src/lib/ecommerce/styles/Collection.modal.ts","../../../projects/simpo-ui/src/lib/ecommerce/styles/product.modal.ts","../../../projects/simpo-ui/src/public-api.ts","../../../projects/simpo-ui/src/simpo-component-library.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { ButtonModel } from './button.model';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@Component({\r\n selector: 'simpo-button-element',\r\n standalone: true,\r\n imports: [CommonModule, MatButtonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.css',\r\n})\r\nexport class ButtonElementComponent {\r\n @Input() buttonData?: ButtonModel;\r\n}\r\n","<button mat-stroked-button color=\"primary btn-lg px-4 me-md-2\" *ngIf=\"buttonData?.disabled\">{{buttonData?.text}}</button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'simpo-text-element',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './text.component.html',\r\n styleUrl: './text.component.css',\r\n})\r\nexport class TextElementComponent {\r\n @Input() textData?: string = '';\r\n @Input() textLabel?: string = ''\r\n}\r\n","<div [innerHTML]=\"textData\" style=\"text-wrap: balance;\" [ngClass]=\"textLabel === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EventsService {\r\n constructor() {}\r\n\r\n editSection = new EventEmitter<unknown>();\r\n duplicate = new EventEmitter<unknown>();\r\n delete = new EventEmitter<unknown>();\r\n changePosition = new EventEmitter<unknown>();\r\n addNewSectionClick = new EventEmitter<unknown>();\r\n changeContent = new EventEmitter<unknown>();\r\n restyleSection = new EventEmitter<unknown>();\r\n pageRedirectionButton = new EventEmitter<unknown>();\r\n buttonRedirection = new EventEmitter<unknown>();\r\n contactFormData = new EventEmitter<unknown>();\r\n //reference services\r\n\r\n backgroundImageChangeCheck = new EventEmitter<unknown>();\r\n colorOverlayChangeChecks = new EventEmitter<unknown>();\r\n alignmentChangeChecks = new EventEmitter<unknown>();\r\n animationChangeChecks = new EventEmitter<unknown>();\r\n spacingChangeChecks = new EventEmitter<unknown>();\r\n borderChangeChecks = new EventEmitter<unknown>();\r\n cardSizeChangeChecks = new EventEmitter<unknown>();\r\n imageStyleChangeChecks = new EventEmitter<unknown>();\r\n cornerChangeChecks = new EventEmitter<unknown>();\r\n textBackgroundChangeChecks = new EventEmitter<unknown>();\r\n buttonStyleChangeChecks = new EventEmitter<unknown>();\r\n postionLayoutChangeChecks = new EventEmitter<unknown>();\r\n contentAlignmentChangeCheck = new EventEmitter<unknown>();\r\n objectPositionChangeCheck = new EventEmitter<unknown>();\r\n locationChangeCheck = new EventEmitter<unknown>();\r\n mapStyleChangeCheck = new EventEmitter<unknown>();\r\n textSizeChangeCheck = new EventEmitter<unknown>();\r\n blogByIdEvent = new EventEmitter<unknown>();\r\n openBlogListEvent = new EventEmitter<unknown>();\r\n toggleEditorEvent = new EventEmitter<boolean>();\r\n closeEditorEvent = new EventEmitter<false>();\r\n\r\n // Ecommerce event emitter\r\n redirectToPage = new EventEmitter<unknown>();\r\n addToCart = new EventEmitter<unknown>();\r\n placeOrder = new EventEmitter<unknown>();\r\n featureCollectionList = new EventEmitter<unknown>();\r\n environmentType = new EventEmitter<string>();\r\n\r\n showLoadingScreen = new EventEmitter<boolean>();\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { Corners } from '../styles';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoCorner]',\r\n standalone: true\r\n})\r\nexport class CornerDirective implements OnChanges, OnInit , OnDestroy {\r\n @Input('simpoCorner') cornerData?: Corners;\r\n cornerSubSubscription: Subscription | undefined;\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.checkSizeChanges()\r\n }\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.cornerSubSubscription) {\r\n this.cornerSubSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.cornerData === 'Small') {\r\n this.el.nativeElement.style.setProperty('border-radius','.5rem');\r\n }\r\n if (this.cornerData === 'Medium') {\r\n this.el.nativeElement.style.setProperty('border-radius','1rem');\r\n }\r\n if (this.cornerData === 'Large') {\r\n this.el.nativeElement.style.setProperty('border-radius','2rem');\r\n }\r\n if (this.cornerData === 'None'){\r\n this.el.nativeElement.style.setProperty('border-radius','0px');\r\n }\r\n }\r\n\r\n checkSizeChanges(){\r\n this.cornerSubSubscription = this.eventService.cornerChangeChecks.subscribe((res: any) => {\r\n this.addClass(res.size, res.id);\r\n })\r\n }\r\n\r\n addClass(res: Corners, id: string) {\r\n if (this.el.nativeElement.id == id) {\r\n if (this.cornerData === 'Small') {\r\n this.el.nativeElement.style.setProperty('border-radius','.5rem');\r\n }\r\n if (this.cornerData === 'Medium') {\r\n this.el.nativeElement.style.setProperty('border-radius','1rem');\r\n }\r\n if (this.cornerData === 'Large') {\r\n this.el.nativeElement.style.setProperty('border-radius','2rem');\r\n }\r\n if (this.cornerData === 'None'){\r\n this.el.nativeElement.style.setProperty('border-radius','0px');\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n\r\nimport { SpacingModel } from './style.model';\r\nimport { SPACING_TYPE } from './types';\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\nexport enum Style {\r\n content = 'CONTENT',\r\n screen = 'SCREEN',\r\n}\r\n\r\nexport enum SPACING {\r\n none = '1.5rem',\r\n small = '3rem',\r\n medium = '5rem',\r\n large = '6rem',\r\n}\r\n\r\nexport interface Contet {\r\n display: 'flex';\r\n 'justify-content': 'center';\r\n 'align-items': 'center';\r\n height: '100%';\r\n}\r\nexport interface Screen {\r\n display: 'flex';\r\n 'justify-content': 'center';\r\n 'align-items': 'center';\r\n 'min-height': 'calc(95vh - 0px)';\r\n}\r\n\r\nexport enum BANNERALIGNMENT {\r\n left = \"flex-lg-row\",\r\n right = \"flex-lg-row-reverse\",\r\n top = \"flex-lg-column\",\r\n bottom = \"flex-lg-column-reverse\"\r\n}\r\nexport enum BANNERHALIGN{\r\n left = 'justify-content-start text-start',\r\n center = 'justify-content-center text-center',\r\n right = 'justify-content-end text-end',\r\n}\r\nexport enum HALIGN {\r\n left = 'text-align: left',\r\n center = 'text-align: center',\r\n right = 'text-align: right',\r\n}\r\nexport enum VALIGN {\r\n left = 'text-align: top',\r\n center = 'text-align: center',\r\n right = 'text-align: bottom',\r\n}\r\n\r\nexport enum Padding {\r\n top = 'padding-top',\r\n bottom = 'padding-bottom',\r\n}\r\n\r\nexport const animation = {\r\n type: {\r\n top: 'w3-animate-top',\r\n bottom: 'w3-animate-bottom',\r\n left: 'w3-animate-left',\r\n right: 'w3-animate-right',\r\n fadeIn: 'w3-animate-opacity',\r\n zoom: 'w3-animate-zoom',\r\n none: 'none'\r\n },\r\n speed: {\r\n slow: '3s',\r\n medium: '2s',\r\n fast: '1s',\r\n },\r\n};\r\n\r\nexport enum TEXT_SIZE {\r\n Small = 'Small',\r\n Medium = 'Medium',\r\n Large = 'Large',\r\n ExtraLarge = 'Extra_Large'\r\n}\r\n\r\nexport const fontSize = {\r\n heading: {\r\n Small : 'heading-fs-small',\r\n Medium : 'heading-fs-medium',\r\n Large : 'heading-fs-large',\r\n Extra_Large : 'heading-fs-xlarge'\r\n },\r\n desc : {\r\n Small : 'desc-fs-small',\r\n Medium : 'desc-fs-medium',\r\n Large : 'desc-fs-large',\r\n Extra_Large : 'desc-fs-xlarge'\r\n }\r\n}\r\n\r\nexport const mapStyle = {\r\n Streets : 'streets-v12',\r\n Outdoors: 'outdoors-v12',\r\n Light: 'light-v11',\r\n Dark: 'dark-v11',\r\n Satellite: 'satellite-v9',\r\n Satellite_street: 'satellite-streets-v12',\r\n navigation_day: 'navigation-day-v1',\r\n navigation_night : 'navigation-night-v1'\r\n}\r\n\r\nexport const contentAlignment ={\r\n top:'justify-content-start',\r\n center:'justify-content-center',\r\n bottom:'justify-content-end'\r\n}\r\n// export const bannerAlignment = (element : any) => {\r\n\r\n// }\r\nexport const fitContent = (element: any) => {\r\n const style: Contet = {\r\n display: 'flex',\r\n 'justify-content': 'center',\r\n 'align-items': 'center',\r\n height: '100%',\r\n };\r\n applyStyle(element, style);\r\n};\r\n\r\nexport const fitScreen = (element: any) => {\r\n const style: Screen = {\r\n display: 'flex',\r\n 'justify-content': 'center',\r\n 'align-items': 'center',\r\n 'min-height': 'calc(95vh - 0px)',\r\n };\r\n applyStyle(element, style);\r\n};\r\nexport const applyStyle = (element: any, styleObj: any) => {\r\n Object.entries(styleObj).forEach(([styleName, styleValue]) => {\r\n element.style.setProperty(styleName, styleValue);\r\n });\r\n};\r\n\r\nexport const applySpacing = (element: any, space?: SpacingModel) => {\r\n if (space?.top) {\r\n element.style.setProperty(\r\n Padding.top,\r\n SPACING[space.top as keyof typeof SPACING] || SPACING.none\r\n );\r\n }\r\n if (space?.bottom) {\r\n element.style.setProperty(\r\n Padding.bottom,\r\n SPACING[space.bottom as keyof typeof SPACING] || SPACING.none\r\n );\r\n }\r\n};\r\n\r\nexport enum RedirectionLinkType {\r\n Page = 'Page',\r\n External = 'External',\r\n Email = 'Email',\r\n Phone = 'Phone',\r\n section = 'Section'\r\n}\r\n\r\nexport enum Corners {\r\n Small = 'Small',\r\n Medium = 'Medium',\r\n Large = 'Large',\r\n None = 'None'\r\n}\r\n\r\n// SOME CHANGES BY ME\r\n\r\nexport enum logoType{\r\n Basic = 'Basic',\r\n Boxed = 'Boxed'\r\n}\r\nexport enum showCaseType {\r\n Carousal = 'Carousal',\r\n Grid = 'Grid'\r\n}\r\nexport enum logoSpeed{\r\n Slow = '1s',\r\n Normal = '4s',\r\n Fast = '2s',\r\n VeryFast = '1s'\r\n}\r\n\r\nexport enum logoDirection{\r\n Left = 'Left',\r\n Right = 'Right',\r\n}\r\n\r\n\r\nexport enum TextPosition {\r\n BELOW_IMAGE = 'Below image',\r\n TOP_OF_IMAGE = 'On top of image',\r\n COVERING_IMAGE = 'Covering image'\r\n}\r\n\r\nexport enum ImageFit {\r\n Cover = 'Cover',\r\n Contain = 'Contain'\r\n}\r\n\r\nexport enum ImageRatio {\r\n SQUARE = '1:1',\r\n PORTRAIT = '2:3',\r\n LANDSCAPE = '3:2',\r\n WIDESCREEN = '16:9'\r\n}\r\nexport enum AlignContent {\r\n Image_TOP = 'top',\r\n Image_CENTER = 'center',\r\n Image_BOTTOM = 'bottom'\r\n}\r\n\r\n\r\nexport enum ChannelType {\r\n FACEBOOK = 'Facebook',\r\n TWITTER = 'Twitter',\r\n LINKEDIN = \"LinkedIn\",\r\n YOUTUBE = 'Youtube',\r\n INSTAGRAM = 'Instagram',\r\n TELEGRAM = \"Telegram\",\r\n THREADS = \"Threads\"\r\n}\r\n\r\nexport enum OverlayValue {\r\n NONE = '0px',\r\n LIGHT = '2px',\r\n MODERATE = '4px',\r\n STRONG = '8px',\r\n VERY_STRONG = '16px'\r\n}\r\n\r\n\r\n\r\nexport enum FooterTypes {\r\n SPLIT_DETAILS_RIGHT = 'Split Details Right',\r\n SPLIT_DETAILS_LEFT = \"Split Details Left\",\r\n STACKED_DETAILS_RIGHT = \"Stacked Details Right\",\r\n STACKED_DETAILS_CENTER = \"Stacked Details Center\",\r\n STACKED_DETAILS_LEFT = \"Stacked Details Left\",\r\n SIMPLE_DETAILS_RIGHT = \"Simple Details Right\",\r\n SIMPLE_DETAILS_CENTER = \"Simple Details Center\"\r\n}\r\n\r\nexport enum HeaderButtonStyle {\r\n TAB = 'Tab',\r\n ROUND_SUBTLE = \"Round subtle\",\r\n ROUND_BOLD = \"Round bold\",\r\n SQUARE_SUBTLE = \"Square subtle\",\r\n SQUARE_BOLD = \"Square bold\"\r\n}\r\n\r\nexport enum MapType {\r\n INLINE_MAP = 'Inline map',\r\n BACKGROUND_MAP = 'Background map'\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, input } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { ImageFit, ImageRatio } from '../styles';\r\nimport { ImageStyle } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoImageDirective]',\r\n standalone: true\r\n})\r\nexport class ImageDirectiveDirective implements OnChanges{\r\n @Input() simpoImageDirective?: ImageStyle;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.imageStyleChangeCheck();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnChanges(){\r\n if (this.simpoImageDirective?.fit) {\r\n this.el.nativeElement.style.setProperty('object-fit', this.simpoImageDirective.fit);\r\n }\r\n let imageRatio: any = [];\r\n\r\n if(this.simpoImageDirective?.fit === ImageFit.Contain){\r\n this.el.nativeElement.style.removeProperty('aspect-ratio');\r\n return;\r\n }\r\n if (this.simpoImageDirective) {\r\n if (this.simpoImageDirective.ratio === ImageRatio.SQUARE ||\r\n this.simpoImageDirective.ratio === ImageRatio.LANDSCAPE ||\r\n this.simpoImageDirective.ratio === ImageRatio.PORTRAIT ||\r\n this.simpoImageDirective.ratio === ImageRatio.WIDESCREEN) {\r\n\r\n imageRatio = this.simpoImageDirective.ratio.split(\":\");\r\n }\r\n this.el.nativeElement.style.setProperty('aspect-ratio', imageRatio[0] + '/' + imageRatio[1])\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.imageStyleSubscription) {\r\n this.imageStyleSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n imageStyleSubscription?: Subscription;\r\n imageStyleChangeCheck() {\r\n this.imageStyleSubscription = this.eventService.imageStyleChangeChecks.subscribe((res: any) => {\r\n this.changeImageStyle(res.id, res.style);\r\n })\r\n }\r\n\r\n changeImageStyle(id: string, style: ImageStyle) {\r\n if (this.el.nativeElement.id === id) {\r\n if (style?.fit) {\r\n this.el.nativeElement.style.setProperty('object-fit', style.fit);\r\n }\r\n\r\n if(style?.fit === ImageFit.Contain){\r\n this.el.nativeElement.style.removeProperty('aspect-ratio');\r\n return;\r\n }\r\n let imageRatio: any = [];\r\n if (style?.ratio === ImageRatio.SQUARE) {\r\n imageRatio = ImageRatio.SQUARE.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.LANDSCAPE) {\r\n imageRatio = ImageRatio.LANDSCAPE.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.PORTRAIT) {\r\n imageRatio = ImageRatio.PORTRAIT.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.WIDESCREEN) {\r\n imageRatio = ImageRatio.WIDESCREEN.split(\":\");\r\n }\r\n this.el.nativeElement.style.setProperty('aspect-ratio', imageRatio[0] + '/' + imageRatio[1])\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { ButtonStyleModel } from '../styles/style.model';\r\nimport { BUTTON_SHAPE, BUTTON_TYPE } from '../styles/types';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoButtonDirective]',\r\n standalone: true\r\n})\r\nexport class ButtonDirectiveDirective implements OnChanges {\r\n @Input() buttonStyle?: ButtonStyleModel;\r\n @Input() color?: string;\r\n @Input() scrollValue?: number = 0;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.buttonStyleChangeCheck()\r\n }\r\n\r\n\r\n ngOnChanges() {\r\n this.applyButtonStyleChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.buttonStyleSubscription?.unsubscribe()\r\n }\r\n\r\n applyButtonStyleChanges() {\r\n if (this.buttonStyle?.type) {\r\n this.applyButtonType(this.buttonStyle, this.color ? this.color : '#ffffff');\r\n }\r\n if (this.buttonStyle?.shape) {\r\n this.applyButtonShape(this.buttonStyle);\r\n }\r\n }\r\n\r\n applyButtonType(style: ButtonStyleModel, color: string) {\r\n if (style?.type === ('Solid' as BUTTON_TYPE)) {\r\n this.el.nativeElement.style.setProperty('background', color);\r\n this.el.nativeElement.style.setProperty('color', this.getTextColor(color));\r\n this.el.nativeElement.style.setProperty('border', `2px solid ${color} `);\r\n } else {\r\n this.el.nativeElement.style.setProperty('border', `2px solid ${color}`);\r\n this.el.nativeElement.style.setProperty('background', 'transparent');\r\n this.el.nativeElement.style.setProperty('color', color);\r\n if (this.scrollValue) {\r\n this.el.nativeElement.style.setProperty('background', \"transparent\");\r\n this.el.nativeElement.style.setProperty('color', this.getTextColor(color));\r\n this.el.nativeElement.style.setProperty('border', `2px solid ${this.getTextColor(color)} `);\r\n }\r\n }\r\n }\r\n\r\n applyButtonShape(style: ButtonStyleModel) {\r\n if (style?.shape === ('Round' as BUTTON_SHAPE)) {\r\n this.el.nativeElement.style.setProperty('border-radius', '5px');\r\n } else {\r\n this.el.nativeElement.style.setProperty('border-radius', '0px');\r\n }\r\n }\r\n\r\n getTextColor(bgColor: string) {\r\n if (bgColor) {\r\n const threshold = 130; // Adjust this threshold as needed\r\n const r = parseInt(bgColor.slice(1, 3), 16);\r\n const g = parseInt(bgColor.slice(3, 5), 16);\r\n const b = parseInt(bgColor.slice(5, 7), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n return brightness > threshold ? '#000000' : '#ffffff';\r\n }\r\n return \"#ffffff;\"\r\n }\r\n\r\n buttonStyleSubscription?: Subscription;\r\n buttonStyleChangeCheck() {\r\n this.buttonStyleSubscription = this.eventService.buttonStyleChangeChecks.subscribe((res: any) => {\r\n this.changeButtonStyle(res.id, res.buttonStyle, res.color);\r\n })\r\n }\r\n\r\n changeButtonStyle(id: any, style: ButtonStyleModel, bgColor: string) {\r\n if (this.el.nativeElement.id === id) {\r\n if (style?.type) {\r\n this.applyButtonType(style, bgColor ? bgColor : '#ffffff');\r\n }\r\n if (style?.shape) {\r\n this.applyButtonShape(style);\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ButtonDirectiveDirective } from '../..//directive/button-directive.directive';\r\nimport { Button, ButtonStyleModel } from '../../styles/style.model';\r\nimport { EventsService } from '../../services/events.service';\r\n\r\n@Component({\r\n selector: 'app-button-element',\r\n standalone: true,\r\n imports: [ButtonDirectiveDirective],\r\n templateUrl: './simpo-button.component.html',\r\n styleUrl: './simpo-button.component.css'\r\n})\r\nexport class SimpoButtonComponent {\r\n @Input() buttonContent? : Button;\r\n @Input() buttonStyle? : ButtonStyleModel;\r\n @Input() buttonId : string = '';\r\n @Input() color? : string;\r\n @Input() sectionId? : string = ''\r\n\r\n\r\n constructor(private _eventService: EventsService){}\r\n\r\n ngOnInit(){\r\n\r\n }\r\n\r\n redirectTo(){\r\n this._eventService.buttonRedirection.emit({data: this.buttonContent});\r\n }\r\n}\r\n","<button class=\"button\" (click)=\"redirectTo()\" simpoButtonDirective [id]=\"sectionId+buttonId\" [buttonStyle]=\"buttonStyle\" [color]=\"color\">{{buttonContent?.label}}</button>\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { PositionModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoObjectPosition]',\r\n standalone: true\r\n})\r\nexport class ObjectPositionDirective implements OnChanges {\r\n @Input('simpoObjectPosition') position?: PositionModel;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.objectPositonChangeCheck()\r\n }\r\n\r\n ngOnChanges() {\r\n this.applyObjectPosition()\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.objectPositionSubscription) {\r\n this.objectPositionSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n applyObjectPosition() {\r\n let positionValue = `${this.position?.x}% ${this.position?.y}%`;\r\n this.el.nativeElement.style.setProperty('object-position', positionValue)\r\n }\r\n\r\n objectPositionSubscription?: Subscription;\r\n objectPositonChangeCheck() {\r\n this.objectPositionSubscription = this.eventService.objectPositionChangeCheck.subscribe((res: any) => {\r\n if (this.el.nativeElement.classList.contains(res.id)) {\r\n this.position = res.position\r\n this.applyObjectPosition()\r\n }\r\n })\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, input } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { ImageFit, ImageRatio } from '../styles';\r\nimport { ImageStyle } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoImageContainerDirective]',\r\n standalone: true\r\n})\r\nexport class ImageContainerDirective implements OnChanges{\r\n @Input() simpoImageContainerDirective?: ImageStyle;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.imageStyleChangeCheck();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnChanges(){\r\n\r\n let imageRatio: any = [];\r\n if (this.simpoImageContainerDirective) {\r\n if (this.simpoImageContainerDirective.ratio === ImageRatio.SQUARE ||\r\n this.simpoImageContainerDirective.ratio === ImageRatio.LANDSCAPE ||\r\n this.simpoImageContainerDirective.ratio === ImageRatio.PORTRAIT ||\r\n this.simpoImageContainerDirective.ratio === ImageRatio.WIDESCREEN) {\r\n\r\n imageRatio = this.simpoImageContainerDirective.ratio.split(\":\");\r\n }\r\n this.el.nativeElement.style.setProperty('aspect-ratio', imageRatio[0] + '/' + imageRatio[1])\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.imageStyleSubscription) {\r\n this.imageStyleSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n imageStyleSubscription?: Subscription;\r\n imageStyleChangeCheck() {\r\n this.imageStyleSubscription = this.eventService.imageStyleChangeChecks.subscribe((res: any) => {\r\n this.changeImageStyle(res.id, res.style);\r\n })\r\n }\r\n\r\n changeImageStyle(id: string, style: ImageStyle) {\r\n if (this.el.nativeElement.id === id) {\r\n\r\n let imageRatio: any = [];\r\n if (style?.ratio === ImageRatio.SQUARE) {\r\n imageRatio = ImageRatio.SQUARE.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.LANDSCAPE) {\r\n imageRatio = ImageRatio.LANDSCAPE.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.PORTRAIT) {\r\n imageRatio = ImageRatio.PORTRAIT.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.WIDESCREEN) {\r\n imageRatio = ImageRatio.WIDESCREEN.split(\":\");\r\n }\r\n this.el.nativeElement.style.setProperty('aspect-ratio', imageRatio[0] + '/' + imageRatio[1])\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { CornerDirective } from './../../directive/corner-directive';\r\nimport { ImageDirectiveDirective } from './../../directive/image-directive.directive';\r\nimport { SimpoButtonComponent } from '../simpo-button/simpo-button.component';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { ImageContainerDirective } from '../../directive/image-container.directive';\r\n\r\n@Component({\r\n selector: 'simpo-below-image-card',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ImageDirectiveDirective,\r\n CornerDirective,\r\n SimpoButtonComponent, \r\n ObjectPositionDirective,\r\n ImageContainerDirective\r\n ],\r\n templateUrl: './below-image-card.component.html',\r\n styleUrl: './below-image-card.component.css'\r\n})\r\nexport class BelowImageCardComponent {\r\n\r\n @Input() data: any;\r\n @Input() styles: any;\r\n @Input() content: any;\r\n @Input() componentId?: string;\r\n @Input() button?: ButtonModel;\r\n\r\n constructor(private _eventService: EventsService){}\r\n ngOnInit(){\r\n }\r\n redirectTo(){\r\n this._eventService.buttonRedirection.emit({data: this.data.button});\r\n }\r\n get getAspectRatio() {\r\n return {...this.styles.image};\r\n }\r\n}\r\n","<div (click)=\"(content?.display?.showLink && content?.display?.linkType === 'List Item' ? redirectTo() : '')\">\r\n <!-- <div [simpoImageContainerDirective]=\"getAspectRatio\" class=\"w-100\"> -->\r\n <img [src]=\"data.image.url\" [alt]=\"data.image.altText\" [simpoImageDirective]=\"styles?.image\" [simpoObjectPosition]=\"data.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" class=\"w-100 h-100\" [class]=\"componentId+data.image.id\" *ngIf=\"content.display.showImage\"\r\n loading=\"lazy\">\r\n <!-- </div> -->\r\n <div class=\"ptb-1\">\r\n <div class=\"heading-medium mb-1\" [innerHtml]=\"data.inputText[0].value\" *ngIf=\"content.display.showHeading\"></div>\r\n <div class=\"body-desc\" [innerHtml]=\"data.inputText[01].value\" *ngIf=\"content.display.showContent\"></div>\r\n <div *ngIf=\"content.display.showLink && content.display.linkType === 'Button'\">\r\n <app-button-element [buttonContent]=\"data.button\" [buttonStyle]=\"button?.styles\" [buttonId]=\"button ? button.id : ''\" [sectionId]=\"componentId\"\r\n [color]=\"styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { TextBackground } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoTextBackgroundDirective]',\r\n standalone: true\r\n})\r\nexport class TextBackgroundDirectiveDirective implements OnChanges {\r\n @Input('simpoTextBackgroundDirective') textBackgroundDirective?: TextBackground;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.textBackgroundChangeCheck()\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.textBackgroundDirective) {\r\n let opacity = this.textBackgroundDirective?.amount / 100;\r\n let rgb = this.getrgbFormColor(this.textBackgroundDirective.color);\r\n let backgroundColor = 'rgb' + '(' + rgb.r + \",\" + rgb.g + \",\" + rgb.b + ')'\r\n if (this.checkColorIsRgbFormOrNot(backgroundColor)) {\r\n let rgba = 'rgb' + '(' + rgb.r + \",\" + rgb.g + \",\" + rgb.b + \",\" + opacity + ')'\r\n this.el.nativeElement.style.setProperty('background', rgba);\r\n this.el.nativeElement.style.setProperty('color', this.getContrastColorFromRGBA(rgba))\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.textBackgroundSubscription) {\r\n this.textBackgroundSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n public getrgbFormColor(hexCode: any) {\r\n const hexColorRegex: RegExp = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\r\n if (hexColorRegex.test(hexCode)) {\r\n const r = parseInt(hexCode.slice(1, 3), 16);\r\n const g = parseInt(hexCode.slice(3, 5), 16);\r\n const b = parseInt(hexCode.slice(5, 7), 16);\r\n return { r, g, b };\r\n }\r\n return hexCode;\r\n }\r\n\r\n checkColorIsRgbFormOrNot(color: string) {\r\n const rgbColorRegex: RegExp = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/;\r\n return rgbColorRegex.test(color);\r\n }\r\n\r\n textBackgroundSubscription?: Subscription;\r\n textBackgroundChangeCheck() {\r\n this.textBackgroundSubscription = this.eventService.textBackgroundChangeChecks.subscribe((res: any) => {\r\n this.changeTextBackground(res.id, res.textBackground);\r\n })\r\n }\r\n\r\n changeTextBackground(id: any, textBackground: TextBackground) {\r\n if (this.el.nativeElement.id === id && textBackground) {\r\n let opacity = textBackground.amount / 100;\r\n let rgb = this.getrgbFormColor(textBackground.color);\r\n let backgroundColor = 'rgb' + '(' + rgb.r + \",\" + rgb.g + \",\" + rgb.b + ')'\r\n if (this.checkColorIsRgbFormOrNot(backgroundColor)) {\r\n let rgba = 'rgb' + '(' + rgb.r + \",\" + rgb.g + \",\" + rgb.b + \",\" + opacity + ')'\r\n this.el.nativeElement.style.setProperty('background', rgba);\r\n this.el.nativeElement.style.setProperty('color', this.getContrastColorFromRGBA(rgba))\r\n }\r\n }\r\n }\r\n\r\n getContrastColorFromRGBA(rgbaString: string): string | null {\r\n // Extract RGBA values from the RGBA string\r\n const rgbaValues = this.extractRGBA(rgbaString);\r\n\r\n if (rgbaValues) {\r\n // Get contrast color based on RGBA values\r\n return this.getContrastColor(rgbaValues);\r\n }\r\n\r\n // Return null if extraction failed\r\n return null;\r\n }\r\n\r\n // Function to extract RGBA values from RGBA string\r\n extractRGBA(rgbaString: string): number[] | null {\r\n // Regular expression to match RGBA values\r\n const rgbaRegex = /rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+),?\\s*(\\d*(?:\\.\\d+)?)?\\)/;\r\n\r\n // Match the RGBA string against the regex\r\n const match = rgbaString.match(rgbaRegex);\r\n\r\n if (match) {\r\n // Extract RGBA values from the regex groups\r\n const [, r, g, b, a] = match.map(parseFloat);\r\n\r\n // If alpha (a) is not provided, set it to 1\r\n const alpha = typeof a === 'undefined' ? 1 : a;\r\n\r\n // Return the RGBA values as an array\r\n return [r, g, b, alpha];\r\n }\r\n\r\n // Return null if no match found\r\n return null;\r\n }\r\n\r\n // Function to calculate contrast color based on RGBA values\r\n getContrastColor(rgba: number[]): string {\r\n // Extract RGB values from the RGBA color\r\n const [r, g, b, a] = rgba;\r\n\r\n // Convert RGB values to luminance\r\n const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;\r\n\r\n // Determine threshold for color selection\r\n const threshold = 0.5;\r\n\r\n // Choose contrasting color based on luminance\r\n return luminance > threshold ? 'black' : 'white';\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { CornerDirective } from './../../directive/corner-directive';\r\nimport { ImageDirectiveDirective } from './../../directive/image-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from './../../directive/text-background-directive.directive';\r\nimport { SimpoButtonComponent } from '../simpo-button/simpo-button.component';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { EventsService } from '../../services/events.service';\r\n\r\n@Component({\r\n selector: 'simpo-top-of-image-card',\r\n standalone: true,\r\n imports: [CommonModule,ImageDirectiveDirective,CornerDirective,TextBackgroundDirectiveDirective,SimpoButtonComponent],\r\n templateUrl: './top-of-image-card.component.html',\r\n styleUrl: './top-of-image-card.component.css'\r\n})\r\nexport class TopOfImageCardComponent {\r\n @Input() data: any;\r\n @Input() styles: any;\r\n @Input() content: any;\r\n @Input() componentId?: string;\r\n @Input() button?: ButtonModel;\r\n\r\n constructor(private _eventService: EventsService){}\r\n ngOnInit(){\r\n\r\n }\r\n\r\n redirectTo(){\r\n this._eventService.buttonRedirection.emit({data: this.data.button});\r\n }\r\n}\r\n","<!-- <div style=\"position: relative;\">\r\n\r\n <img [src]=\"data.image.url\" [alt]=\"data.image.altText\" [simpoImageDirective]=\"styles?.image\"\r\n [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" class=\"w-100\" *ngIf=\"content.showImage\">\r\n\r\n <div class=\"content\" [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" [simpoTextBackgroundDirective]=\"styles?.textBackground\">\r\n <div style=\"color: white;\" class=\"heading-medium mb-1\" [innerHtml]=\"data.inputText[0].value\"\r\n *ngIf=\"content.showHeading\"></div>\r\n <div style=\"color: white;\" class=\"body-desc\" [innerHtml]=\"data.inputText[01].value\" *ngIf=\"content.showContent\">\r\n </div>\r\n <app-button-element [buttonData]=\"data?.button\" [sectionId]=\"componentId\" [buttonStyle]=\"styles?.button\" [color]=\"styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n</div>\r\n -->\r\n<div class=\"top-container\" (click)=\"(content?.display?.showLink && content?.display?.linkType === 'List Item' ? redirectTo() : '')\"\r\n [ngStyle]=\"{'background-image' : content.display.showImage ? 'url('+data.image.url+')' : ''}\"\r\n [simpoCorner]=\"styles?.corners\" [id]=\"componentId\">\r\n <div [simpoImageDirective]=\"styles?.image\" [id]=\"componentId\" *ngIf=\"content.display.showImage\"></div>\r\n <div class=\"content\" [simpoCorner]=\"styles?.corners\" [id]=\"componentId\"\r\n [simpoTextBackgroundDirective]=\"content.display.showImage ? styles?.textBackground : ''\">\r\n <div class=\"heading-medium mb-1 lh-40\" [innerHtml]=\"data.inputText[0].value\" *ngIf=\"content.display.showHeading\">\r\n </div>\r\n <div class=\"body-desc\" [innerHtml]=\"data.inputText[01].value\" *ngIf=\"content.display.showContent\">\r\n </div>\r\n <div *ngIf=\"content.display.showLink && content.display.linkType === 'Button'\">\r\n <app-button-element [buttonContent]=\"data.button\" [buttonStyle]=\"button?.styles\" [sectionId]=\"componentId\"\r\n [buttonId]=\"button ? button.id : ''\" [color]=\"styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { CornerDirective } from './../../directive/corner-directive';\r\nimport { ImageDirectiveDirective } from './../../directive/image-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from './../../directive/text-background-directive.directive';\r\nimport { SimpoButtonComponent } from '../simpo-button/simpo-button.component';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { EventsService } from '../../services/events.service';\r\n@Component({\r\n selector: 'simpo-covering-image-card',\r\n standalone: true,\r\n imports: [CommonModule,ImageDirectiveDirective,CornerDirective,TextBackgroundDirectiveDirective,SimpoButtonComponent, ObjectPositionDirective],\r\n templateUrl: './covering-image-card.component.html',\r\n styleUrl: './covering-image-card.component.css'\r\n})\r\nexport class CoveringImageCardComponent {\r\n @Input() data: any;\r\n @Input() styles: any;\r\n @Input() content: any;\r\n @Input() componentId?: string;\r\n @Input() button?: ButtonModel;\r\n\r\n constructor(private _eventService: EventsService){}\r\n ngOnInit(){\r\n }\r\n\r\n redirectTo(){\r\n this._eventService.buttonRedirection.emit({data: this.data.button});\r\n }\r\n}\r\n","<div class=\"parent-tab\" [id]=\"componentId\" [simpoImageDirective]=\"styles?.image\"\r\n (click)=\"(content?.display?.showLink && content?.display?.linkType === 'List Item' ? redirectTo() : '')\">\r\n <img [src]=\"data.image.url\" [alt]=\"data.image.altText\" [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" class=\"w-100 img\" *ngIf=\"content.display.showImage\"\r\n [simpoObjectPosition]=\"data.image?.position\" [class]=\"componentId+data.image.id\" [simpoImageDirective]=\"styles?.image\" loading=\"lazy\">\r\n <div class=\"ptb-1 content\" [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" [simpoTextBackgroundDirective]=\"styles?.textBackground\">\r\n <div class=\"heading-medium mb-1\" [innerHtml]=\"data.inputText[0].value\" *ngIf=\"content.display.showHeading\"></div>\r\n <div class=\"body-desc\" [innerHtml]=\"data.inputText[01].value\" *ngIf=\"content.display.showContent\"></div>\r\n <div *ngIf=\"content.display.showLink && content.display.linkType === 'Button'\">\r\n <app-button-element [buttonContent]=\"data.button\" [buttonStyle]=\"button?.styles\" [sectionId]=\"componentId\" [buttonId]=\"button ? button.id : ''\" [color]=\"styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'simpo-heading-element',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './heading-element.component.html',\r\n styleUrl: './heading-element.component.css'\r\n})\r\nexport class HeadingElementComponent {\r\n @Input() data?: string = ''\r\n}\r\n","<h2 class=\"heading-large\" [innerHtml]=\"data\"></h2>\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoColor]',\r\n standalone: true\r\n})\r\nexport class ColorDirective implements OnChanges{\r\n @Input('simpoColor') bgColor?: string;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n }\r\n\r\n ngOnChanges(){\r\n this.applyColor();\r\n this.bgColorChangeCheck();\r\n }\r\n\r\n colorSubscription?: Subscription;\r\n\r\n ngOnDestroy(){\r\n this.colorSubscription?.unsubscribe()\r\n }\r\n\r\n applyColor(){\r\n if(this.bgColor){\r\n this.el.nativeElement.style.setProperty('color', this.getTextColor());\r\n }\r\n }\r\n\r\n bgColorChangeCheck(){\r\n this.colorSubscription = this.eventService.backgroundImageChangeCheck.subscribe((res: any) => {\r\n if(res.id === this.el.nativeElement.id){\r\n this.bgColor = res?.data?.color\r\n this.applyColor()\r\n }\r\n })\r\n }\r\n\r\n getTextColor() {\r\n if (this.bgColor) {\r\n\r\n // for 3 character hex code\r\n if (this.bgColor.length < 6) {\r\n let newBgColor: string = \"#\";\r\n for (let i=1; i<this.bgColor.length; i++) {\r\n newBgColor += this.bgColor[i]+this.bgColor[i];\r\n }\r\n this.bgColor = newBgColor;\r\n }\r\n const threshold = 130; // Adjust this threshold as needed\r\n const r = parseInt(this.bgColor.slice(1, 3), 16);\r\n const g = parseInt(this.bgColor.slice(3, 5), 16);\r\n const b = parseInt(this.bgColor.slice(5, 7), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n return brightness > threshold ? '#000000' : '#ffffff';\r\n }\r\n return \"#ffffff;\"\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, HostListener, Input, OnInit } from '@angular/core';\r\nimport { FooterSocialChannelModel } from '../../sections/footer-section/footer-section.modal';\r\nimport { ChannelType } from '../../styles/index';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\n\r\n@Component({\r\n selector: 'simpo-socia-icons',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ColorDirective\r\n ],\r\n templateUrl: './socia-icons.component.html',\r\n styleUrl: './socia-icons.component.css'\r\n})\r\nexport class SociaIconsComponent implements OnInit{\r\n\r\n @Input() socialIconData : any;\r\n @Input() color : any;\r\n @Input() sectionId?: string;\r\n ChannelType = ChannelType\r\n\r\n constructor(){\r\n this.getScreenSize();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n socialMediaLinks: { [key: string]: string} = {\r\n FACEBOOK: 'https://www.facebook.com/profile.php?id=61555029350349',\r\n INSTAGRAM: 'https://www.instagram.com/simpo.ai?igsh=MThlODJpcWJ6ZGxkdg==',\r\n LINKEDIN: 'https://www.linkedin.com/company/simpo-ai/',\r\n }\r\n\r\n screenWidth: number = 475;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?: number) {\r\n if (typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n\r\n openLink(type: string){\r\n const link = this.socialMediaLinks[type];\r\n\r\n if(this.socialIconData?.link){\r\n window.open(this.socialIconData.link, '_blank');\r\n }\r\n else{\r\n window.open(link, '_blank');\r\n }\r\n }\r\n}\r\n","<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type == ChannelType.FACEBOOK\">\r\n <div (click)=\"openLink('FACEBOOK')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M10.4375 21.8784C5.65941 21.1274 2 16.9877 2 12 2 6.48086 6.48086 2 12 2c5.5191 0 10 4.48086 10 10 0 4.9877-3.6594 9.1274-8.4375 9.8784v-6.9878h2.3301L16.3359 12h-2.7734v-1.8758c0-.79084.3874-1.5617 1.6296-1.5617h1.261V6.10156s-1.1443-.19531-2.2385-.19531c-2.2842 0-3.7771 1.38438-3.7771 3.89063V12H7.89844v2.8906h2.53906v6.9878Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </div>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.TWITTER\">\r\n <a [href]=\"socialIconData?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path\r\n d=\"M13.6756 10.6218 20.2324 3h-1.5537l-5.6933 6.61788L8.43817 3H3.1935l6.8763 10.0074L3.1935 21h1.55384l6.01226-6.9887L15.5618 21h5.2447l-7.1313-10.3782h.0004Zm-2.1282 2.4738-.6967-.9965-5.54349-7.92939h2.38662l4.47367 6.39919.6967.9966 5.8152 8.318h-2.3866l-4.7454-6.7875v-.0004Z\">\r\n </path>\r\n </svg>\r\n </a>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.LINKEDIN\">\r\n <div (click)=\"openLink('LINKEDIN')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M19.5565 2C20.9051 2 22 3.09492 22 4.44352V19.5565C22 20.9051 20.9051 22 19.5565 22H4.44352C3.09492 22 2 20.9051 2 19.5565V4.44352C2 3.09492 3.09488 2 4.44352 2H19.5565ZM8.26801 18.5343V9.71723H5.33676v8.81707h2.93125Zm10.56789 0v-5.0562c0-2.7083-1.446-3.96822-3.3742-3.96822-1.5549 0-2.2513.85512-2.6413 1.45572V9.71723H9.88988c.03887.82737 0 8.81707 0 8.81707h2.93052v-4.9241c0-.2636.0189-.527.0966-.7154.2115-.5264.694-1.0716 1.5037-1.0716 1.0599 0 1.4846.8088 1.4846 1.9936v4.7175h2.9306ZM6.82219 5.4657c-1.00289 0-1.65813.65934-1.65813 1.52352 0 .84601.63532 1.52351 1.61934 1.52351 1.02207 0 1.67719-.6775 1.67719-1.52351-.01895-.86297-.63442-1.52164-1.6384-1.52352Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </div>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.YOUTUBE\">\r\n <a [href]=\"socialIconData?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M21.0053 5.6191c.5996.6477.7946 2.11879.7946 2.11879S22 9.46405 22 11.1908v1.618c0 1.7268-.2001 3.453-.2001 3.453s-.1956 1.4705-.7946 2.1169c-.6859.7654-1.4461.8449-1.8754.8897-.0469.0049-.0899.0094-.1283.0143-2.799.2145-7.0016.222-7.0016.222s-5.20038-.0507-6.80025-.2145c-.07572-.0151-.16746-.0268-.27131-.0402-.50666-.0651-1.3018-.1673-1.93375-.8719-.59957-.6465-.79463-2.1169-.79463-2.1169S2 14.5356 2 12.8082v-1.618c0-1.72615.20006-3.45231.20006-3.45231s.19569-1.47109.79463-2.11879c.68895-.76815 1.4516-.84541 1.88002-.88881.04511-.00457.08651-.00876.12373-.01335C7.79681 4.5 11.995 4.5 11.995 4.5h.0094s4.1982 0 6.9972.21694c.0372.00459.0786.00879.1238.01336.4285.0434 1.1916.12069 1.8799.8888Zm-5.251 6.3832-6.25196 3.7512V8.25117l6.25196 3.75113Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </a>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.INSTAGRAM\">\r\n <div (click)=\"openLink('INSTAGRAM')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M12 2c5.5191 0 10 4.48086 10 10 0 5.5191-4.4809 10-10 10-5.51914 0-10-4.4809-10-10C2 6.48086 6.48086 2 12 2Zm0 3.75c-1.6974 0-1.9102.00719-2.57688.03762-.66523.03035-1.11957.13601-1.51714.29051-.41098.15972-.75953.37343-1.107.72089-.34746.34746-.56117.69602-.72089 1.107-.1545.39753-.26012.85187-.29051 1.5171C5.75719 10.0898 5.75 10.3026 5.75 12s.00719 1.9102.03758 2.5769c.03039.6652.13601 1.1195.29051 1.5171.15972.411.37343.7595.72089 1.107.34747.3475.69602.5612 1.107.7209.39757.1545.85191.2601 1.51714.2905.66668.0304.87948.0376 2.57688.0376s1.9102-.0072 2.5769-.0376c.6652-.0304 1.1195-.136 1.5171-.2905.411-.1597.7595-.3734 1.107-.7209.3475-.3475.5612-.696.7209-1.107.1545-.3976.2601-.8519.2905-1.5171.0304-.6667.0376-.8795.0376-2.5769 0-1.6974-.0072-1.9102-.0376-2.57688-.0304-.66523-.136-1.11957-.2905-1.5171-.1597-.41098-.3734-.75954-.7209-1.107s-.696-.56117-1.107-.72089c-.3976-.1545-.8519-.26016-1.5171-.29051C13.9102 5.75719 13.6974 5.75 12 5.75Zm0 1.12613c1.6688 0 1.8665.00637 2.5255.03645.6094.02781.9403.12961 1.1606.21519.2917.11336.4999.24883.7186.46754.2187.21867.3542.42692.4675.71864.0856.22023.1874.55113.2152 1.1605.0301.65905.0365.85675.0365 2.52555s-.0064 1.8665-.0365 2.5255c-.0278.6094-.1296.9403-.2152 1.1606-.1133.2917-.2488.4999-.4675.7186-.2187.2187-.4269.3542-.7186.4675-.2203.0856-.5512.1874-1.1606.2152-.6589.0301-.8566.0365-2.5255.0365s-1.8666-.0064-2.52555-.0365c-.60937-.0278-.94027-.1296-1.1605-.2152-.29176-.1133-.49997-.2488-.71868-.4675-.21871-.2187-.35414-.4269-.4675-.7186-.08558-.2203-.18742-.5512-.21523-1.1606-.03008-.659-.03641-.8567-.03641-2.5255s.00633-1.8665.03641-2.52555c.02781-.60937.12965-.94027.21523-1.1605.11336-.29172.24879-.49997.4675-.71864.21871-.21871.42692-.35418.71868-.46754.22023-.08558.55113-.18738 1.1605-.21519.65905-.03008.85675-.03645 2.52555-.03645Zm0 1.91442c-1.7725 0-3.20945 1.43695-3.20945 3.20945S10.2275 15.2095 12 15.2095s3.2095-1.437 3.2095-3.2095c0-1.7725-1.437-3.20945-3.2095-3.20945Zm0 5.29275c-1.1506 0-2.08332-.9327-2.08332-2.0833 0-1.1506.93272-2.08332 2.08332-2.08332S14.0833 10.8494 14.0833 12 13.1506 14.0833 12 14.0833Zm4.0863-5.41955c0 .41422-.3358.74996-.7501.74996-.4141 0-.7499-.33574-.7499-.74996s.3358-.75.7499-.75c.4143 0 .7501.33578.7501.75Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </div>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.TELEGRAM\">\r\n <a [href]=\"socialIconData?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M22 12c0 5.5229-4.4771 10-10 10-5.52285 0-10-4.4771-10-10C2 6.47715 6.47715 2 12 2c5.5229 0 10 4.47715 10 10Zm-9.6417-2.61755c-.9726.40455-2.91653 1.24185-5.83173 2.51195-.47339.1883-.72136.3725-.74394.5525-.03815.3044.34296.4242.86192.5874.0706.0222.14374.0452.21872.0695.51059.166 1.19741.3602 1.55446.3679.32388.007.68537-.1265 1.08446-.4006 2.72381-1.8386 4.12981-2.7679 4.21801-2.788.0623-.0141.1486-.0319.2071.0201.0585.052.0527.1504.0465.1768-.0377.1609-1.5335 1.5516-2.3077 2.2714-.2415.2244-.4127.3836-.4477.42-.0784.0814-.1583.1584-.2351.2325-.4743.4572-.83.8001.0197 1.3601.4084.2691.7352.4917 1.0612.7137.356.2424.7111.4842 1.1705.7854.117.0767.2288.1564.3377.234.4143.2954.7865.5608 1.2464.5184.2672-.0245.5432-.2758.6834-1.0252.3313-1.771.9825-5.6083 1.133-7.18949.0132-.13853-.0034-.31583-.0167-.39367-.0134-.07782-.0412-.18872-.1424-.2708-.1198-.09722-.3048-.11772-.3875-.11627-.3761.00663-.9531.20728-3.7303 1.36238Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </a>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.THREADS\">\r\n <a [href]=\"socialIconData?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path\r\n d=\"M12.1482 21.6888h-.0058c-2.89118-.0194-5.1138-.9727-6.60781-2.833-1.32737-1.6568-2.01334-3.9608-2.03659-6.848v-.0136c.02325-2.88921.70922-5.19128 2.03853-6.84806C7.0286 3.28395 9.25316 2.33057 12.1424 2.31119h.0116c2.2168.0155 4.0712.5852 5.511 1.6936 1.3545 1.04252 2.3079 2.52685 2.833 4.41423l-1.6471.45925c-.8914-3.19731-3.1469-4.83085-6.7047-4.85604-2.34853.01744-4.12546.75573-5.28037 2.19355C5.7865 7.56253 5.22842 9.50804 5.20711 12c.02131 2.492.57939 4.4375 1.66066 5.7842 1.15491 1.4398 2.93184 2.1781 5.28043 2.1936 2.118-.0155 3.519-.5097 4.6836-1.651 1.3293-1.3022 1.306-2.9008.8797-3.8736-.25-.5736-.7054-1.0503-1.3196-1.4126-.155 1.0909-.5019 1.9746-1.0367 2.6412-.7151.8894-1.7285 1.3758-3.0113 1.4455-.9708.0523-1.9068-.1763-2.63149-.6472-.85843-.5561-1.36031-1.4049-1.41457-2.3931-.05232-.9612.32942-1.8448 1.07352-2.4881.71114-.6143 1.71104-.9747 2.89304-1.0425.8701-.0485 1.6859-.0097 2.4377.1143-.1007-.5988-.3022-1.07546-.6045-1.41844-.4147-.47282-1.0561-.7131-1.9049-.71891h-.0232c-.6821 0-1.6084.18796-2.19743 1.06577l-1.41844-.95145c.7906-1.17428 2.07337-1.82149 3.61587-1.82149h.0349c2.5791.0155 4.1158 1.59478 4.2689 4.35032.0872.0368.1744.0755.2596.1143 1.2034.5658 2.0831 1.4223 2.5462 2.4784.6434 1.4707.7035 3.8678-1.2498 5.7803-1.494 1.4611-3.3058 2.1219-5.8753 2.1393h-.0058Zm.81-9.4388c-.1958 0-.3934.0058-.5969.0174-1.4824.0833-2.40667.7635-2.3544 1.7304.0543 1.0135 1.1724 1.4844 2.2479 1.4262.9882-.0523 2.2749-.4379 2.4919-2.9957-.5464-.1183-1.1452-.1783-1.7885-.1783Z\">\r\n </path>\r\n </svg>\r\n </a>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { ButtonElementComponent } from './button/button.component';\r\nimport { TextElementComponent } from './text/text.component';\r\nimport { BelowImageCardComponent } from './below-image-card/below-image-card.component';\r\nimport { TopOfImageCardComponent } from './top-of-image-card/top-of-image-card.component';\r\nimport { CoveringImageCardComponent } from './covering-image-card/covering-image-card.component';\r\nimport { HeadingElementComponent } from './heading-element/heading-element.component';\r\nimport { SimpoButtonComponent } from './simpo-button/simpo-button.component';\r\nimport { SociaIconsComponent } from './socia-icons/socia-icons.component';\r\n\r\n@NgModule({\r\n imports: [ButtonElementComponent, TextElementComponent, BelowImageCardComponent, TopOfImageCardComponent, CoveringImageCardComponent, HeadingElementComponent,SimpoButtonComponent,SociaIconsComponent],\r\n exports: [ButtonElementComponent, TextElementComponent, BelowImageCardComponent, TopOfImageCardComponent, CoveringImageCardComponent, HeadingElementComponent,SimpoButtonComponent,SociaIconsComponent],\r\n})\r\nexport class SimpoElementsModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatDialog, MatDialogModule} from '@angular/material/dialog';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'simpo-hover-elements',\r\n standalone: true,\r\n imports: [MatIconModule,MatDialogModule, CommonModule],\r\n templateUrl: './hover-elements.component.html',\r\n styleUrl: './hover-elements.component.css'\r\n})\r\nexport class HoverElementsComponent implements OnInit{\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){}\r\n\r\n @Output() edit: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Input() data : any;\r\n @Input() index: any;\r\n @Input() editOptions ? : boolean;\r\n @Input() isMerged: boolean = false;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n restyleSection(event: any){\r\n this._eventService.closeEditorEvent.emit(false);\r\n this._eventService.restyleSection.emit({index: this.index});\r\n event.stopPropagation();\r\n }\r\n\r\n changeContent(event: any){\r\n this._eventService.changeContent.emit({sectionId:this.data.componentId, index: this.index, sectionType: this.data.sectionType});\r\n event.stopPropagation();\r\n }\r\n\r\n moveUp(event: any){\r\n this._eventService.changePosition.emit({index: this.index, position : \"UP\"});\r\n event.stopPropagation();\r\n }\r\n moveDown(event: any){\r\n this._eventService.changePosition.emit({index: this.index, position : \"DOWN\"});\r\n event.stopPropagation();\r\n }\r\n deleteSection(event: any){\r\n this._eventService.delete.emit({index: this.index});\r\n event.stopPropagation();\r\n }\r\n\r\n addSection(position: \"ABOVE\" | \"BELOW\",event: any) {\r\n this._eventService.addNewSectionClick.emit({ status: true, index: this.index, position: position, webCompName:this.data});\r\n event.stopPropagation();\r\n }\r\n\r\n duplicateSection(event: any){\r\n this._eventService.duplicate.emit({index: this.index, data: this.data});\r\n event.stopPropagation();\r\n }\r\n\r\n\r\n}\r\n","<mat-dialog-content class=\"mat-typography\" *ngIf=\"editOptions\">\r\n <div class=\"top-btn\" [ngClass]=\"{'adjust-top-btn': isMerged && index == 1}\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\">\r\n <button class=\"add_btn_top\" (click)=\"addSection('ABOVE', $event)\">Add Section +</button>\r\n </div>\r\n <section class=\"hover-tab\" [ngClass]=\"{'adjustPosition': isMerged && index == 1}\">\r\n <div class=\"tabs-section\" [ngStyle]=\"{'z-index' : data.sectionType === 'header' ? '10000' : '1000'}\">\r\n <div class=\"edit-tab\">\r\n <button (click)=\"editSection()\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_1076_52409)\">\r\n <path\r\n d=\"M2 11.4997V13.9997H4.5L11.8733 6.62638L9.37333 4.12638L2 11.4997ZM13.8067 4.69305C14.0667 4.43305 14.0667 4.01305 13.8067 3.75305L12.2467 2.19305C11.9867 1.93305 11.5667 1.93305 11.3067 2.19305L10.0867 3.41305L12.5867 5.91305L13.8067 4.69305Z\"\r\n fill=\"#0267c1\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1076_52409\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"edit-text\">\r\n Edit\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"vr-line\"></div>\r\n <div class=\"regenerate\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'blogList'\">\r\n <button (click)=\"restyleSection($event)\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M4.01108 19.9525C4.27565 20.0656 4.58327 19.9712 4.7378 19.7271L11.7691 8.55522C11.8829 8.3744 11.8898 8.14608 11.7868 7.95956C11.6838 7.77245 11.4869 7.65628 11.2735 7.65628H6.58085L8.32608 0.730146C8.39647 0.450341 8.25397 0.161357 7.98905 0.0474897C7.72585 -0.0657916 7.41628 0.0291694 7.26233 0.272919L0.231082 11.4448C0.117215 11.6256 0.11034 11.8539 0.213348 12.0405C0.316355 12.2276 0.513191 12.3437 0.726629 12.3437H5.41928L3.67405 19.2699C3.60366 19.5497 3.74612 19.8387 4.01108 19.9525Z\"\r\n fill=\"#0267c1\" />\r\n </svg>\r\n <span class=\"edit-text\">\r\n Restyle\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"vr-line\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\"></div>\r\n <div class=\"regenerate\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\">\r\n <button (click)=\"changeContent($event)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path stroke=\"#0267c1\" stroke-linecap=\"round\" stroke-width=\"1.5\" d=\"M11 12h7m-7-8h7m-7 4h7M2 16h16\">\r\n </path>\r\n <path stroke=\"#0267c1\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"\r\n d=\"m2 12 .85714-2.28571M8 12l-.85714-2.28571m0 0L5 4 2.85714 9.71429m4.28572 0H2.85714\"></path>\r\n </svg>\r\n <span class=\"edit-text\">Change Content</span>\r\n </button>\r\n </div>\r\n <div class=\"vr-line\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'blogList'\"></div>\r\n <div class=\"remainin-sections\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\">\r\n <button class=\"copy\" (click)=\"duplicateSection($event)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path\r\n d=\"M9 2c-1.10457 0-2 .89543-2 2v8c0 1.1046.89543 2 2 2h6c1.1046 0 2-.8954 2-2V6.41421c0-.53043-.2107-1.03914-.5858-1.41421L14 2.58579C13.6249 2.21071 13.1162 2 12.5858 2H9Z\">\r\n </path>\r\n <path d=\"M3 8c0-1.10457.89543-2 2-2v10h8c0 1.1046-.8954 2-2 2H5c-1.10457 0-2-.8954-2-2V8Z\"></path>\r\n </svg>\r\n </button>\r\n <button class=\"up-arrow\" (click)=\"moveUp($event)\" [disabled]=\"index == 1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M3.29289 9.70711c-.39052-.39053-.39052-1.02369 0-1.41422l6-6c.39053-.39052 1.02371-.39052 1.41421 0l6 6c.3905.39053.3905 1.02369 0 1.41422-.3905.39049-1.0237.39049-1.4142 0L11 5.41421V17c0 .5523-.4477 1-1 1-.55228 0-1-.4477-1-1V5.41421l-4.29289 4.2929c-.39053.39049-1.02369.39049-1.41422 0Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </button>\r\n <button class=\"up-arrow\" (click)=\"moveDown($event)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M16.7071 10.2929c.3905.3905.3905 1.0237 0 1.4142l-6 6c-.3905.3905-1.02368.3905-1.41421 0l-6-6c-.39052-.3905-.39052-1.0237 0-1.4142.39053-.39053 1.02369-.39053 1.41422 0L9 14.5858V3c0-.55228.44772-1 1-1 .5523 0 1 .44772 1 1v11.5858l4.2929-4.2929c.3905-.39053 1.0237-.39053 1.4142 0Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </button>\r\n <button class=\"up-arrow\" (click)=\"deleteSection($event)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M9 2c-.37877 0-.72503.214-.89443.55279L7.38197 4H4c-.55228 0-1 .44772-1 1s.44772 1 1 1v10c0 1.1046.89543 2 2 2h8c1.1046 0 2-.8954 2-2V6c.5523 0 1-.44772 1-1s-.4477-1-1-1h-3.382l-.7236-1.44721C11.725 2.214 11.3788 2 11 2H9ZM7 8c0-.55228.44772-1 1-1s1 .44772 1 1v6c0 .5523-.44772 1-1 1s-1-.4477-1-1V8Zm5-1c-.5523 0-1 .44772-1 1v6c0 .5523.4477 1 1 1s1-.4477 1-1V8c0-.55228-.4477-1-1-1Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </section>\r\n <div class=\"bottom-btn\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\">\r\n <button class=\"add_btn\" (click)=\"addSection('BELOW', $event)\">Add Section +</button>\r\n </div>\r\n</mat-dialog-content>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport { MatDialogModule} from '@angular/material/dialog';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'simpo-delete-hover-element',\r\n standalone: true,\r\n imports: [MatIconModule,MatDialogModule, CommonModule],\r\n templateUrl: './delete-hover-element.component.html',\r\n styleUrl: './delete-hover-element.component.css'\r\n})\r\nexport class DeleteHoverElementComponent {\r\n constructor(\r\n private _eventService : EventsService\r\n ){}\r\n\r\n @Input() index: any;\r\n @Input() data : any;\r\n @Output() edit: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n editSection()\r\n {\r\n this._eventService.editSection.emit({index: this.index, data: this.data})\r\n }\r\n deleteSection(){\r\n this._eventService.delete.emit({index: this.data});\r\n }\r\n}\r\n","<mat-dialog-content class=\"mat-typography\">\r\n <section class=\"hover-tab\">\r\n <div class=\"tabs-section\">\r\n <div class=\"edit-tab\">\r\n <button (click)=\"editSection()\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_1076_52409)\">\r\n <path\r\n d=\"M2 11.4997V13.9997H4.5L11.8733 6.62638L9.37333 4.12638L2 11.4997ZM13.8067 4.69305C14.0667 4.43305 14.0667 4.01305 13.8067 3.75305L12.2467 2.19305C11.9867 1.93305 11.5667 1.93305 11.3067 2.19305L10.0867 3.41305L12.5867 5.91305L13.8067 4.69305Z\"\r\n fill=\"#0267c1\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1076_52409\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"edit-text\">\r\n Edit\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"vr-line\"></div>\r\n <div class=\"remainin-sections\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header'\">\r\n <button class=\"up-arrow\" (click)=\"deleteSection()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M9 2c-.37877 0-.72503.214-.89443.55279L7.38197 4H4c-.55228 0-1 .44772-1 1s.44772 1 1 1v10c0 1.1046.89543 2 2 2h8c1.1046 0 2-.8954 2-2V6c.5523 0 1-.44772 1-1s-.4477-1-1-1h-3.382l-.7236-1.44721C11.725 2.214 11.3788 2 11 2H9ZM7 8c0-.55228.44772-1 1-1s1 .44772 1 1v6c0 .5523-.44772 1-1 1s-1-.4477-1-1V8Zm5-1c-.5523 0-1 .44772-1 1v6c0 .5523.4477 1 1 1s1-.4477 1-1V8c0-.55228-.4477-1-1-1Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </section>\r\n</mat-dialog-content>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\n\r\n@Component({\r\n selector: 'simpo-input-fields',\r\n standalone: true,\r\n imports: [\r\n CommonModule, FormsModule, ColorDirective, MatIcon\r\n ],\r\n templateUrl: './input-fields.component.html',\r\n styleUrl: './input-fields.component.css'\r\n})\r\nexport class InputFieldsComponent implements OnChanges {\r\n @Input() feild: any;\r\n @Input() opacity: number | undefined = 1;\r\n @Input() bgColor?: string;\r\n @Input() sectionId?: string;\r\n\r\n public ratingHoverIndex: number | null = null;\r\n public colorCode: string;\r\n public selectedDropdown: string | null = null;\r\n public enteredValue: string | null = null;\r\n\r\n constructor() {\r\n\r\n this.colorCode = this.generateColorBasedOnNumber(this.opacity ?? 0);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n this.colorCode = this.generateColorBasedOnNumber(this.opacity ?? 0);\r\n }\r\n\r\n handleMoneyInput(event: any) {\r\n if (!(event.code.includes(\"Digit\") || event.code.includes(\"Backspace\")) || !event.target) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n event.target.value = \"$\" + Number(event.target.value.replaceAll(\",\", \"\").replaceAll(\"$\", \"\")).toLocaleString();\r\n }\r\n get getTextColor() {\r\n return (this.opacity ?? 0) < 50 ? '#FFF' : '#000';\r\n }\r\n\r\n interpolateColor(color1: string, color2: string, factor: number) {\r\n if (factor === 0) return color1;\r\n if (factor === 1) return color2;\r\n\r\n const hex = (x: any) => this.padZero(Math.round(x).toString(16), 2);\r\n\r\n const r1 = parseInt(color1.substring(1, 3), 16);\r\n const g1 = parseInt(color1.substring(3, 5), 16);\r\n const b1 = parseInt(color1.substring (5, 7), 16);\r\n\r\n const r2 = parseInt(color2.substring(1, 3), 16);\r\n const g2 = parseInt(color2.substring(3, 5), 16);\r\n const b2 = parseInt(color2.substring(5, 7), 16);\r\n\r\n const r = Math.ceil(r1 * (1 - factor) + r2 * factor);\r\n const g = Math.ceil(g1 * (1 - factor) + g2 * factor);\r\n const b = Math.ceil(b1 * (1 - factor) + b2 * factor);\r\n\r\n return `#${hex(r)}${hex(g)}${hex(b)}`;\r\n }\r\n\r\n padZero(str: string, length: number): string {\r\n return str.length < length ? this.padZero(\"0\" + str, length) : str;\r\n }\r\n\r\n generateColorBasedOnNumber(number: number) {\r\n const factor = number / 100; // Assuming number ranges from 0 to 100\r\n return this.interpolateColor(\"#000000\", \"#FFFFFF\", factor);\r\n }\r\n\r\n selectDropdown(value: string) {\r\n this.selectedDropdown = null;\r\n this.enteredValue = value;\r\n }\r\n}\r\n","<section [ngSwitch]=\"feild.type\" class=\"mt-15\">\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'text'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'address'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'email'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"email\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'password'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"password\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'rating'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex\">\r\n <span class=\"fa fa-star\" *ngFor=\"let _ of [].constructor(5); let idx = index\" [ngClass]=\"{'checked': idx < (ratingHoverIndex ?? feild.value) }\" (mouseenter)=\"ratingHoverIndex = idx +1\" (mouseleave)=\"ratingHoverIndex = null\" (click)=\"feild.value = idx +1\"></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'date'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"date\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'checkbox'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex align-items-center flex-wrap\" style=\"gap: 10px;\">\r\n <ng-container *ngFor=\"let checkbox of feild.options\">\r\n <div class=\"d-flex align-items-center\" style=\"gap: 5px;\">\r\n <input type=\"checkbox\" [attr.id]=\"checkbox.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"checkbox.status\">\r\n <label [attr.for]=\"checkbox.value\" class=\"mb-0 mt-1 checkboxFont\">{{ checkbox.value }}</label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'number'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"number\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'money'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" value=\"$\" (keydown)=\"handleMoneyInput($event)\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'desc'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <textarea class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\"></textarea>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2 position-relative\" *ngSwitchCase=\"'dropdown'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n\r\n <div class=\"position-relative d-flex align-items-center\"> \r\n <input type=\"text\" readonly [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [value]=\"enteredValue\" (click)=\"selectedDropdown = feild.value\" [(ngModel)]=\"feild.inputValue\" class=\"w-100\">\r\n <mat-icon class=\"down-arrow\">{{feild.value != selectedDropdown ? 'keyboard_arrow_down' : 'keyboard_arrow_up'}}</mat-icon>\r\n </div>\r\n <div class=\"container-list position-absolute\" [hidden]=\"feild.value != selectedDropdown\">\r\n <ng-container *ngFor=\"let option of feild.options\">\r\n <div class=\"container\" [ngClass]=\"{'container-selected': option.value == selectedDropdown}\" (click)=\"selectDropdown(option.value)\">{{ option.value }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>\r\n","import { NgModule } from '@angular/core';\r\nimport { HoverElementsComponent } from './hover-elements/hover-elements.component';\r\nimport { DeleteHoverElementComponent } from './delete-hover-element/delete-hover-element.component';\r\nimport { InputFieldsComponent } from './input-fields/input-fields.component';\r\n@NgModule({\r\n imports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent],\r\n exports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent],\r\n})\r\nexport class SimpoComponentModule {}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { animation } from '../styles/index';\r\nimport { AnimationModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\nimport { ANIMATION_SPEED } from '../styles/types';\r\n@Directive({\r\n selector: '[simpoAnimation]',\r\n standalone: true,\r\n})\r\nexport class AnimationDirective implements OnChanges, OnInit, OnDestroy {\r\n @Input('simpoAnimation') animationData?: AnimationModel;\r\n eventServiceSubscription : any;\r\n private observer: IntersectionObserver | undefined;\r\n\r\n animationSpeed = animation\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n private eventService : EventsService\r\n ) {\r\n this.eventServiceSubscription = this.eventService.animationChangeChecks.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n this.animationData = res.data\r\n this.applyAnimation();\r\n }\r\n }\r\n )\r\n }\r\n ngOnDestroy(): void {\r\n if (this.observer) {\r\n this.observer.disconnect();\r\n }\r\n if(this.eventServiceSubscription){\r\n this.eventServiceSubscription.unsubscribe();\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.createObserver();\r\n // this.applyAnimation();\r\n }\r\n\r\n ngOnChanges(): void {\r\n // this.applyAnimation();\r\n }\r\n\r\n private createObserver(): void {\r\n\r\n const options = {\r\n root: null, // Use the viewport as the container\r\n threshold: 0.1 // Percentage of element visibility required to trigger the callback\r\n };\r\n if(typeof window !== 'undefined' && 'IntersectionObserver' in window) {\r\n this.observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (\r\n entry.isIntersecting &&\r\n !this.el.nativeElement.className.includes('visible')\r\n ) {\r\n this.el.nativeElement.classList.add('visible');\r\n this.el.nativeElement.style.setProperty('position', 'relative');\r\n this.el.nativeElement.style.setProperty('animation-name', this.getAnimationName());\r\n\r\n if (this.animationData?.speed) {\r\n const speed = animation.speed[this.animationData?.speed];\r\n this.el.nativeElement.style.setProperty('animation-duration', this.getAnimationSpeed(this.animationData.speed));\r\n }\r\n\r\n this.observer?.unobserve(this.el.nativeElement);\r\n }\r\n });\r\n }, options);\r\n\r\n this.observer.observe(this.el.nativeElement);\r\n }\r\n\r\n }\r\n\r\n getAnimationName() {\r\n if (this.animationData?.type) {\r\n\r\n if (this.animationData?.type == 'left') {\r\n return 'animateleft'\r\n }\r\n if (this.animationData?.type == 'right') {\r\n return 'animateright'\r\n }\r\n if (this.animationData?.type == 'top') {\r\n return 'animatetop'\r\n }\r\n if (this.animationData?.type == 'bottom') {\r\n return 'animatebottom'\r\n }\r\n if (this.animationData?.type == 'fadeIn') {\r\n return 'opac'\r\n }\r\n if (this.animationData?.type == 'zoom') {\r\n return 'animatezoom'\r\n }\r\n if (this.animationData?.type === 'none') {\r\n return 'none'\r\n }\r\n\r\n }\r\n return null;\r\n }\r\n\r\n name: any;\r\n\r\n private applyAnimation() {\r\n if (this.animationData?.type) {\r\n const anim = animation.type[this.animationData?.type];\r\n // this.renderer.removeClass(this.el.nativeElement,anim);\r\n // this.renderer.addClass(this.el.nativeElement, anim);\r\n if(this.animationData.type == 'left'){\r\n this.name = 'animateleft'\r\n }\r\n if(this.animationData.type == 'right'){\r\n this.name = 'animateright'\r\n }\r\n if(this.animationData.type == 'top'){\r\n this.name = 'animatetop'\r\n }\r\n if(this.animationData.type == 'bottom'){\r\n this.name = 'animatebottom'\r\n }\r\n if(this.animationData.type == 'fadeIn'){\r\n this.name = 'opac'\r\n }\r\n if(this.animationData.type == 'zoom'){\r\n this.name = 'animatezoom'\r\n }\r\n if(this.animationData.type === 'none') {\r\n this.name = 'none'\r\n }\r\n this.el.nativeElement.style.setProperty('position', 'relative');\r\n this.el.nativeElement.style.setProperty('animation-name', this.name);\r\n }\r\n\r\n if (this.animationData?.speed) {\r\n const speed = animation.speed[this.animationData?.speed];\r\n this.el.nativeElement.style.setProperty('position', 'relative');\r\n this.el.nativeElement.style.setProperty('animation-name', this.name);\r\n this.el.nativeElement.style.setProperty('animation-duration', this.getAnimationSpeed(this.animationData.speed));\r\n }\r\n }\r\n\r\n getAnimationSpeed(speed:ANIMATION_SPEED){\r\n let speedInSec = ''\r\n for(let key of Object.keys(animation.speed)){\r\n if(key === speed){\r\n speedInSec = animation.speed[key];\r\n }\r\n }\r\n return speedInSec;\r\n }\r\n\r\n animationTypes : any ={\r\n left : \"animateleft\",\r\n right : \"animateright\",\r\n bottom :\"animatebottom\",\r\n top : \"animatetop\",\r\n zoom : \"animatezoom\",\r\n fadeIn : \"opac\"\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BackgroundModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoBackground]',\r\n standalone: true,\r\n})\r\nexport class BackgroundDirective implements OnChanges {\r\n @Input('simpoBackground') simpoBackground?: BackgroundModel;\r\n @Input('scrollValue') scrollValue?: number = 0;\r\n\r\n eventEmmitter : any;\r\n constructor(\r\n private el: ElementRef,\r\n private eventService :EventsService) {\r\n if (this.eventEmmitter) {\r\n this.eventEmmitter.unsubscribe()\r\n }\r\n this.eventEmmitter = this.eventService.backgroundImageChangeCheck.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.id || res.globalThemeChange){\r\n if (res.data?.showImage && this?.scrollValue == 0) {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-image',\r\n `url(${res.data.image})`\r\n );\r\n this.el.nativeElement.style.setProperty(\r\n 'background-position',\r\n `${res.data.position?.x}% ${res.data.position?.y}%`\r\n );\r\n this.el.nativeElement.style.setProperty('background-repeat', `no-repeat`);\r\n this.el.nativeElement.style.setProperty('background-size', `cover`);\r\n this.el.nativeElement.style.setProperty('color',this.getTextColor(res.data?.color))\r\n } else {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-color',\r\n res.data?.color\r\n );\r\n this.el.nativeElement.style.setProperty(\r\n 'background-image',\r\n ``\r\n );\r\n this.el.nativeElement.style.setProperty('color',this.getTextColor(res.data?.color))\r\n }\r\n }\r\n }\r\n )\r\n }\r\n ngOnDestroy() {\r\n if (this.eventEmmitter) {\r\n this.eventEmmitter.unsubscribe()\r\n }\r\n }\r\n\r\n ngOnChanges(change:SimpleChanges): void {\r\n if (this.simpoBackground?.showImage && this.scrollValue == 0) {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-image',\r\n `url(${this.simpoBackground.image})`\r\n );\r\n this.el.nativeElement.style.setProperty(\r\n 'background-position',\r\n `${this.simpoBackground.position?.x}% ${this.simpoBackground.position?.y}%`\r\n );\r\n this.el.nativeElement.style.setProperty('background-repeat', `no-repeat`);\r\n this.el.nativeElement.style.setProperty('background-size', `cover`);\r\n this.el.nativeElement.style.setProperty('color',this.getTextColor(this.simpoBackground?.color ? this.simpoBackground?.color : '#ffffff'))\r\n } else {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-color',\r\n this.simpoBackground?.color\r\n );\r\n this.el.nativeElement.style.setProperty('color',this.getTextColor(this.simpoBackground?.color ? this.simpoBackground?.color : '#ffffff'))\r\n }\r\n }\r\n\r\n getTextColor(bgColor: string) {\r\n if (bgColor) {\r\n const threshold = 130; // Adjust this threshold as needed\r\n const r = parseInt(bgColor.slice(1, 3), 16);\r\n const g = parseInt(bgColor.slice(3, 5), 16);\r\n const b = parseInt(bgColor.slice(5, 7), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n return brightness > threshold ? '#000000' : '#ffffff';\r\n }\r\n return \"#ffffff;\"\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\r\nimport { fitContent, fitScreen, applySpacing } from '../styles/index';\r\nimport { LayOutModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\n\r\n@Directive({\r\n selector: '[simpoLayout]',\r\n standalone: true,\r\n})\r\nexport class ContentFitDirective implements OnInit, OnChanges {\r\n @Input('simpoLayout') layout?: LayOutModel;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService : EventsService) {\r\n this.eventService.alignmentChangeChecks.subscribe(\r\n (res:any) =>{\r\n if(res.id === this.el.nativeElement.id){\r\n this.el.nativeElement.style.setProperty('text-align', res.data?.align);\r\n }\r\n }\r\n );\r\n\r\n this.eventService.spacingChangeChecks.subscribe(\r\n (res:any) => {\r\n if(res.id === this.el.nativeElement.id){\r\n this.layout = res.data;\r\n if (this.layout?.fit === 'content') {\r\n this.el.nativeElement.style.removeProperty('min-height')\r\n fitContent(this.el.nativeElement);\r\n } else {\r\n this.el.nativeElement.style.removeProperty('height')\r\n fitScreen(this.el.nativeElement);\r\n }\r\n applySpacing(this.el.nativeElement,res.data.spacing)\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnInit(): void {\r\n this.appply();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.appply();\r\n }\r\n\r\n appply() {\r\n if (this.layout?.fit === 'content') {\r\n fitContent(this.el.nativeElement);\r\n } else if(this.layout?.fit === 'screen') {\r\n fitScreen(this.el.nativeElement);\r\n }\r\n\r\n applySpacing(this.el.nativeElement, this.layout?.spacing);\r\n this.el.nativeElement.style.setProperty('text-align', this.layout?.align);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, Renderer2 } from '@angular/core';\r\nimport { fitContent, fitScreen, applySpacing, BANNERALIGNMENT, HALIGN, BANNERHALIGN } from '../styles/index';\r\nimport { BannerLayOutModel, LayOutModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\n\r\n@Directive({\r\n selector: '[simpoBannerLayout]',\r\n standalone: true,\r\n})\r\nexport class BannerContentFitDirective implements OnInit, OnChanges {\r\n @Input('simpoBannerLayout') layout?: BannerLayOutModel;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService : EventsService,\r\n private renderer: Renderer2) {\r\n this.eventService.alignmentChangeChecks.subscribe(\r\n (res:any) =>{\r\n if(this.layout?.bannerImageDisplay){\r\n Object.entries(BANNERALIGNMENT).forEach(([className,classValue]) => {\r\n if(res.data?.align === className){\r\n this.renderer.addClass(this.el.nativeElement, classValue);\r\n if(res.data?.align == 'top' || res.data?.align == 'bottom'){\r\n this.el.nativeElement.style.setProperty('text-align',\"center\")\r\n }\r\n }\r\n });\r\n }\r\n else{\r\n Object.entries(BANNERHALIGN).forEach(([className,classValue]) => {\r\n if(res.data?.layoutAlignment?.value === className){\r\n this.renderer.addClass(this.el.nativeElement,`flex-lg-row`);\r\n classValue.split(\" \").forEach(element => {\r\n this.renderer.addClass(this.el.nativeElement, element);\r\n });\r\n }\r\n })\r\n }\r\n applySpacing(this.el.nativeElement, this.layout?.spacing);\r\n }\r\n );\r\n\r\n this.eventService.spacingChangeChecks.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.type){\r\n if (this.layout?.fit === 'content') {\r\n fitContent(this.el.nativeElement);\r\n } else {\r\n fitScreen(this.el.nativeElement);\r\n }\r\n applySpacing(this.el.nativeElement,res.data.spacing)\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnInit(): void {\r\n this.appply();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.appply();\r\n }\r\n\r\n appply() {\r\n if (this.layout?.fit === 'content') {\r\n fitContent(this.el.nativeElement);\r\n } else {\r\n fitScreen(this.el.nativeElement);\r\n }\r\n \r\n if(this.layout?.bannerImageDisplay){\r\n Object.entries(BANNERALIGNMENT).forEach(([className,classValue]) => {\r\n if(this.layout?.layoutAlignment.value === className){\r\n this.renderer.addClass(this.el.nativeElement, classValue);\r\n if(this.layout.layoutAlignment.value == 'top' || this.layout.layoutAlignment.value == 'bottom'){\r\n this.el.nativeElement.style.setProperty('text-align',\"center\")\r\n }\r\n }\r\n });\r\n }\r\n else{\r\n Object.entries(BANNERHALIGN).forEach(([className,classValue]) => {\r\n if(this.layout?.layoutAlignment.value === className){\r\n this.renderer.addClass(this.el.nativeElement,`flex-lg-row`);\r\n classValue.split(\" \").forEach(element => {\r\n this.renderer.addClass(this.el.nativeElement, element);\r\n });\r\n }\r\n })\r\n }\r\n applySpacing(this.el.nativeElement, this.layout?.spacing);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BorderModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoBorder]',\r\n standalone: true,\r\n})\r\nexport class BorderDirective implements OnChanges {\r\n @Input('simpoBorder') borderData?: BorderModel;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private eventService : EventsService\r\n ) {\r\n this.eventService.borderChangeChecks.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n if (res.data?.display) {\r\n this.el.nativeElement.style.setProperty(\r\n 'border-bottom',\r\n res.data.thickness+'px' +\r\n ' ' +\r\n res.data.type +\r\n ' ' +\r\n res.data.color\r\n );\r\n }\r\n else{\r\n this.el.nativeElement.style.setProperty(\r\n 'border-bottom',\r\n 'none'\r\n );\r\n }\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.borderData?.display) {\r\n this.el.nativeElement.style.setProperty(\r\n 'border-bottom',\r\n this.borderData.thickness+'px' +\r\n ' ' +\r\n this.borderData.type +\r\n ' ' +\r\n this.borderData.color\r\n );\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { CARD_SIZE } from '../styles/types';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoColumnDirective]',\r\n standalone: true\r\n})\r\nexport class ColumnDirectiveDirective implements OnChanges {\r\n @Input('simpoColumnDirective') columnDirective?: CARD_SIZE;\r\n cardSizeSubSubscription: Subscription | undefined;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n\r\n this.checkSizeChanges()\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.columnDirective === 'Large') {\r\n this.el.nativeElement.classList.add('col-md-6');\r\n }\r\n if (this.columnDirective === 'Medium') {\r\n this.el.nativeElement.classList.add('col-md-4');\r\n }\r\n if (this.columnDirective === 'Small') {\r\n this.el.nativeElement.classList.add('col-md-3');\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.cardSizeSubSubscription) {\r\n this.cardSizeSubSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n checkSizeChanges() {\r\n this.cardSizeSubSubscription = this.eventService.cardSizeChangeChecks.subscribe((res: any) => {\r\n this.addClass(res.size, res.id);\r\n })\r\n }\r\n\r\n addClass(res: CARD_SIZE, id: string) {\r\n if (this.el.nativeElement.id == id) {\r\n this.removeAllClasses()\r\n if (res === 'Large') {\r\n this.el.nativeElement.classList.add('col-md-6');\r\n }\r\n if (res === 'Medium') {\r\n this.el.nativeElement.classList.add('col-md-4');\r\n }\r\n if (res === 'Small') {\r\n this.el.nativeElement.classList.add('col-md-3');\r\n }\r\n }\r\n }\r\n\r\n removeAllClasses() {\r\n this.el.nativeElement.classList.remove(\"col-md-3\");\r\n this.el.nativeElement.classList.remove(\"col-md-4\");\r\n this.el.nativeElement.classList.remove(\"col-md-6\");\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { fitContent, fitScreen, applySpacing } from '../styles/index';\r\nimport { LayOutModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\n\r\n@Directive({\r\n selector: '[simpoContainerLayout]',\r\n standalone: true,\r\n})\r\nexport class ContainerFitDirective implements OnInit, OnChanges {\r\n @Input('simpoContainerLayout') layout?: LayOutModel;\r\n\r\n constructor(\r\n private readonly el: ElementRef,\r\n private readonly eventService : EventsService) {\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.appply();\r\n }\r\n \r\n ngOnChanges(): void {\r\n this.appply();\r\n }\r\n\r\n appply() {\r\n this.el.nativeElement.style.setProperty('margin', 'unset');\r\n this.el.nativeElement.style.setProperty('align-items', 'unset');\r\n if (this.layout?.align == 'center') {\r\n this.el.nativeElement.style.setProperty('margin', 'auto');\r\n this.el.nativeElement.style.setProperty('align-items', 'center');\r\n }\r\n else if (this.layout?.align == \"left\") {\r\n this.el.nativeElement.style.setProperty('margin-right', \"auto\");\r\n this.el.nativeElement.style.setProperty('align-items', 'flex-start');\r\n }\r\n else {\r\n this.el.nativeElement.style.setProperty(\"margin-left\", \"auto\");\r\n this.el.nativeElement.style.setProperty('align-items', 'flex-end');\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnChanges, Renderer2 } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { AlignContent, contentAlignment } from '../styles';\r\nimport { contentAlignmentModal } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoContentAlignment]',\r\n standalone: true,\r\n})\r\nexport class simpoConetenAlignmentDirective implements OnChanges {\r\n @Input('simpoContentAlignment') contentAlignmentData?: AlignContent;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private eventService: EventsService\r\n ) {}\r\n\r\n ngOnChanges(): void {\r\n this.applyContentAlignment();\r\n }\r\n\r\n ngOnDestroy(){\r\n if(this.contentAlignmentSubscription){\r\n this.contentAlignmentSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n contentAlignmentSubscription?: Subscription;\r\n changeAlignmentCheck(){\r\n this.contentAlignmentSubscription = this.eventService.contentAlignmentChangeCheck.subscribe((res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n this.contentAlignmentData = res.data;\r\n this.applyContentAlignment()\r\n }\r\n })\r\n }\r\n\r\n applyContentAlignment(){\r\n this.removeAllClassIfPresent();\r\n if(this.contentAlignmentData){\r\n this.el.nativeElement.classList.add(contentAlignment[this.contentAlignmentData]);\r\n }\r\n }\r\n\r\n removeAllClassIfPresent(){\r\n this.el.nativeElement.classList.remove(contentAlignment[AlignContent.Image_BOTTOM])\r\n this.el.nativeElement.classList.remove(contentAlignment[AlignContent.Image_CENTER])\r\n this.el.nativeElement.classList.remove(contentAlignment[AlignContent.Image_TOP])\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\r\nimport { applySpacing } from '../styles/index';\r\nimport { EventsService } from '../services/events.service';\r\nimport { FooterLayoutModel } from '../sections/footer-section/footer-section.modal';\r\n\r\n@Directive({\r\n selector: '[simpoFooterLayout]',\r\n standalone: true,\r\n})\r\nexport class SimpoFooterLayoutDirective implements OnInit, OnChanges {\r\n @Input('simpoFooterLayout') layout?: FooterLayoutModel;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService : EventsService) {\r\n this.eventService.spacingChangeChecks.subscribe(\r\n (res:any) => {\r\n this.appply();\r\n }\r\n )\r\n }\r\n\r\n ngOnInit(): void {\r\n this.appply();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.appply();\r\n }\r\n\r\n appply() {\r\n applySpacing(this.el.nativeElement, this.layout?.spacing);\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, Output } from '@angular/core';\r\nimport { BorderModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoHover]',\r\n standalone: true,\r\n})\r\n\r\nexport class HoverDirective implements OnChanges {\r\n\r\n @Output() hovering: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngOnChanges(): void {\r\n\r\n }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.hovering.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.hovering.emit(false);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BackgroundModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoOverlay]',\r\n standalone: true,\r\n})\r\nexport class OverlayDirective implements OnChanges {\r\n @Input('simpoOverlay') backgroundData?: BackgroundModel;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private eventService :EventsService\r\n ) {\r\n this.eventService.colorOverlayChangeChecks.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n if (res.data?.showImage) {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-color',\r\n this.getRGBA(res.data.color, res.data.opacity)\r\n );\r\n }\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.backgroundData?.showImage) {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-color',\r\n this.getRGBA(this.backgroundData.color, this.backgroundData.opacity)\r\n );\r\n }\r\n }\r\n\r\n getRGBA(bgColor: string, opacity: number) {\r\n const r = parseInt(bgColor.slice(1, 3), 16);\r\n const g = parseInt(bgColor.slice(3, 5), 16);\r\n const b = parseInt(bgColor.slice(5, 7), 16);\r\n\r\n return `rgba(${r}, ${g}, ${b}, ${opacity / 100})`;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BANNERALIGNMENT } from '../styles';\r\nimport { PositionLayoutModal } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoPositionLayoutDirective]',\r\n standalone: true\r\n})\r\nexport class PositionLayoutDirectiveDirective {\r\n @Input('simpoPositionLayoutDirective') positionLayout?: PositionLayoutModal;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService :EventsService) {\r\n this.positionLayoutChangeCheck();\r\n }\r\n\r\n ngOnChanges(){\r\n this.changePositionLayout();\r\n }\r\n\r\n ngOnDestroy(){\r\n if(this.positionLayoutSubscription){\r\n this.positionLayoutSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n changePositionLayout(){\r\n this.removeAllClassIfPresent();\r\n this.el.nativeElement.classList.add(BANNERALIGNMENT[this.positionLayout?.value as keyof typeof BANNERALIGNMENT]);\r\n }\r\n removeAllClassIfPresent(){\r\n this.el.nativeElement.classList.remove(BANNERALIGNMENT.left);\r\n this.el.nativeElement.classList.remove(BANNERALIGNMENT.right);\r\n this.el.nativeElement.classList.remove(BANNERALIGNMENT.top);\r\n this.el.nativeElement.classList.remove(BANNERALIGNMENT.bottom);\r\n }\r\n\r\n positionLayoutSubscription?: Subscription;\r\n positionLayoutChangeCheck(){\r\n this.positionLayoutSubscription = this.eventService.postionLayoutChangeChecks.subscribe((res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n this.positionLayout = res.data;\r\n this.changePositionLayout();\r\n }\r\n })\r\n }\r\n}\r\n","\r\nexport default abstract class BaseSection{\r\n deleteSelected? = false;\r\n showEditors : boolean = false;\r\n\r\n showDelete : boolean = false;\r\n showEditTabs(isShow:boolean){\r\n\r\n if(this.deleteSelected){\r\n this.showDelete = isShow;\r\n }else{\r\n this.showEditors = isShow;\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { TextContentModel, TextSectionModel } from './text-section.model';\r\nimport { StylesModel } from '../../styles/style.model';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\n\r\n@Component({\r\n selector: 'simpo-text-section',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatGridListModule,\r\n SimpoElementsModule,\r\n SimpoComponentModule,\r\n MatDialogModule,\r\n SimpoButtonComponent,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective\r\n ],\r\n templateUrl: './text-section.component.html',\r\n styleUrl: './text-section.component.css',\r\n})\r\nexport class TextSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?: TextSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n content: TextContentModel | undefined;\r\n styles: StylesModel | undefined;\r\n constructor(\r\n private _dialog : MatDialog,\r\n private _eventService : EventsService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.deleteSelected = this.delete;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer class=\"rowFlex\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"main-section\" [ngClass]=\"{'justify-content-md-start': styles?.layout?.align === 'left' , 'justify-content-md-end': styles?.layout?.align === 'right'}\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"body-section\">\r\n <div [simpoAnimation]=\"styles?.animation\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <simpo-text-element [textData]=\"item.value\" [textLabel]=\"item.label\"></simpo-text-element>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-flex mt-15\" *ngIf=\"data?.action?.display\"\r\n [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\r\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\" [color]=\"styles?.background?.accentColor\" [sectionId]=\"data?.id\"></app-button-element>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BackgroundModel, LayOutModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoContainerAlignment]',\r\n standalone: true,\r\n})\r\nexport class SimpoContainerAligment implements OnInit, OnChanges {\r\n @Input('simpoContainerAlignment') layout?: LayOutModel;\r\n\r\n eventEmmitter: any;\r\n constructor(\r\n private el: ElementRef,\r\n private eventService: EventsService) { }\r\n\r\n ngOnInit(): void {\r\n this.setProperty();\r\n }\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n ngOnChanges(change: SimpleChanges): void {\r\n this.setProperty();\r\n }\r\n\r\n setProperty() {\r\n if (this.layout?.align == \"left\") {\r\n this.el.nativeElement.style.setProperty(\"margin-right\", \"auto\");\r\n this.el.nativeElement.style.setProperty(\"margin-left\", \"unset\");\r\n } else if (this.layout?.align == \"right\") {\r\n this.el.nativeElement.style.setProperty(\"margin-right\", \"unset\");\r\n this.el.nativeElement.style.setProperty(\"margin-left\", \"auto\");\r\n } else {\r\n\r\n this.el.nativeElement.style.setProperty(\"margin\", \"auto\");\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { TEXT_SIZE, fontSize } from '../styles/index';\r\nimport { EventsService } from '../services/events.service';\r\nimport { TextSize } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoTextSize]',\r\n standalone: true\r\n})\r\nexport class TextSizeDirective {\r\n @Input() size?: TEXT_SIZE;\r\n @Input() type?: 'heading' | 'desc';\r\n constructor(private eventService: EventsService,\r\n private el: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(){\r\n this.applyFontSize()\r\n }\r\n\r\n ngOnDestroy(){\r\n this.fontSizeSubscription?.unsubscribe()\r\n }\r\n\r\n applyFontSize() {\r\n\r\n if(this.type === 'heading') {\r\n this.removeHeadingClass();\r\n this.el.nativeElement.classList.add(this.size ? fontSize.heading[this.size] : fontSize.heading.Large);\r\n }\r\n if(this.type === 'desc') {\r\n this.removeDescClass();\r\n this.el.nativeElement.classList.add(this.size ? fontSize.desc[this.size] : fontSize.desc.Large);\r\n }\r\n\r\n\r\n }\r\n\r\n fontSizeSubscription?: Subscription\r\n changeFontSizeCheck(){\r\n this.fontSizeSubscription = this.eventService.textSizeChangeCheck.subscribe((res: any) => {\r\n if(res.id === this.el.nativeElement.id) {\r\n this.size = res.size;\r\n this.type = res.type;\r\n this.applyFontSize();\r\n }\r\n })\r\n }\r\n\r\n removeHeadingClass(){\r\n for(let values of Object.values(fontSize.heading)) {\r\n this.el.nativeElement.classList.remove(values);\r\n }\r\n }\r\n\r\n removeDescClass(){\r\n for(let values of Object.values(fontSize.desc)) {\r\n this.el.nativeElement.classList.remove(values);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { PositionLayoutModal } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoBorderless]',\r\n standalone: true\r\n})\r\nexport class SimpoBorderlessDirective implements OnChanges{\r\n @Input('simpoBorderless') simpoBorderless?: PositionLayoutModal;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngOnChanges(){\r\n if (this.simpoBorderless?.value == \"left\") {\r\n this.el.nativeElement.style.setProperty('order', \"0\");\r\n } else if (this.simpoBorderless?.value == \"right\") {\r\n this.el.nativeElement.style.setProperty('order', \"1\");\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnChanges, SimpleChanges, input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[simpoHoverBorderDirective]',\r\n standalone: true\r\n})\r\nexport class SimpoHoverBorderDirective {\r\n\r\n @Input() simpoHoverBorderDirective?: any;\r\n \r\n @HostListener('mouseenter') onMouseEnter() {\r\n \r\n this.el.nativeElement.style.setProperty(\"outline\", \"2px solid blue\");\r\n this.el.nativeElement.style.setProperty(\"border-radius\", \"5px\");\r\n }\r\n @HostListener('mouseleave') onMouseLeave() {\r\n \r\n this.el.nativeElement.style.setProperty(\"outline\", \"2px solid transparent\");\r\n }\r\n\r\n constructor(\r\n private readonly el: ElementRef,\r\n ) {\r\n \r\n }\r\n\r\n}\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { BannerContentModel, BannerSectionModel } from './banner-section.model';\r\nimport { BannerStylesModel, LayOutModel, PositionLayoutModal } from '../../styles/style.model';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { ColorDirective } from './../../directive/color.directive';\r\nimport { TextSizeDirective } from '../../directive/text-size.directive';\r\nimport { SimpoBorderlessDirective } from '../../directive/borderlessImage.directive';\r\nimport { SimpoHoverBorderDirective } from \"../../directive/hoverborder.directive\";\r\n\r\n@Component({\r\n selector: 'simpo-banner-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n SimpoHoverBorderDirective,\r\n\r\n //directive\r\n SimpoBorderlessDirective,\r\n SimpoContainerAligment,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ColorDirective,\r\n TextSizeDirective\r\n ],\r\n templateUrl: './banner-section.component.html',\r\n styleUrl: './banner-section.component.css'\r\n})\r\nexport class BannerSectionComponent extends BaseSection implements OnInit {\r\n\r\n @Input() data?:BannerSectionModel;\r\n @Input() index? : number;\r\n content?: BannerContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: BannerStylesModel;\r\n\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n // this.styles.layout.bannerImageDisplay = this.content.image.showImage;\r\n }\r\n get stylesLayout() {\r\n return {...this.styles?.layout} as LayOutModel;\r\n }\r\n get getJustifyContent() {\r\n return \"justify-content: center !important;\";\r\n }\r\n get canMergeNavbar() {\r\n return this.styles?.merge;\r\n }\r\n get isBorderlessImage() {\r\n return this.styles?.borderLessImage && (this.styles?.positionLayout.value == \"left\" || this.styles?.positionLayout.value == \"right\");\r\n }\r\n get getPositionLayout() {\r\n return {...this.styles?.positionLayout} as PositionLayoutModal;\r\n }\r\n\r\n editSection(){\r\n \r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n stopPropagation(event: any) {\r\n \r\n event.stopPropagation();\r\n }\r\n\r\n}\r\n","<div [id]=\"data?.id\"\r\n [ngClass]=\"{'mergeNavbar': canMergeNavbar && index == 1, 'justify-content-between d-flex': isBorderlessImage}\"\r\n [simpoBackground]=\"styles?.background\" class=\"total-container\" style=\"overflow-x: hidden;\" (click)=\"editSection()\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <ng-container *ngTemplateOutlet=\"ImageSection\"></ng-container>\r\n <div class=\"px-4 py-5\" [ngClass]=\"{'col-lg-6 col-xxl-6': isBorderlessImage, 'w-100 col-xxl-8': !isBorderlessImage}\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5 justify-content-start\"[id]=\"data?.id\"\r\n [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right', 'flex-lg-row': true }\"\r\n >\r\n <div class=\"col-10 col-sm-8 col-lg-6\" *ngIf=\"content?.image?.showImage && !isBorderlessImage\" [simpoContainerAlignment]=\"stylesLayout\">\r\n <img\r\n [src]=\"content?.image?.url\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" [class]=\"data?.id+(content?.image?.id || '')\"\r\n class=\"d-block w-100 insideImg\" style=\"object-fit: cover;\" [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\"/>\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-start gap-15\"\r\n [ngClass]=\"{'col-lg-12': isBorderlessImage, 'col-lg-6': !isBorderlessImage}\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n <div *ngFor=\"let item of content?.listItem?.data\" class=\"carder\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\">\r\n <div class=\"second-part-card\">\r\n\r\n </div>\r\n <div class=\"first-part-card\"\r\n [ngClass]=\"item.inputText[0].label=== 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n <img class=\"tick-img\"\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/933997c1718790303127907598c1696063061900green_verified_image.png\"\r\n alt=\"something\" />\r\n\r\n {{ item.inputText[0].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\r\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div style=\" width: 100%; height: 500px;\">\r\n <img src=\"../../assets/divider.svg\" style=\"clip-path: polygon(0 55%, 100% 0, 100% 100%, 0% 100%); background-color: red;\">\r\n </div> -->\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isMerged]=\"styles?.merge ?? false\"></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>\r\n<ng-template #ImageSection>\r\n <div class=\"col-10 col-sm-8 col-lg-6\" [ngStyle]=\"{'width': styles?.positionLayout?.value === 'right' ? 'fit-content' : ''}\" style=\"padding: 0px !important;\"*ngIf=\"content?.image?.showImage && isBorderlessImage;\" [simpoBorderless]=\"getPositionLayout\">\r\n <img\r\n [src]=\"content?.image?.url\"\r\n class=\"d-block img-fluid h-100 w-100\" [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\"/>\r\n </div>\r\n</ng-template>\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BorderModel, SpacingModel } from '../styles/style.model';\r\n\r\nexport enum SPACING {\r\n none = '1.5rem',\r\n small = '3rem',\r\n medium = '5rem',\r\n large = '6rem',\r\n}\r\n@Directive({\r\n selector: '[simpoContentTitleSpace]',\r\n standalone: true,\r\n})\r\nexport class ContentTitleDirective implements OnChanges {\r\n @Input('simpoContentTitleSpace') spacing?: SPACING;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private eventService : EventsService\r\n ) {\r\n }\r\n\r\n ngOnChanges(): void {\r\n \r\n this.applyStyle();\r\n }\r\n applyStyle() {\r\n this.el?.nativeElement?.style?.setProperty(\"margin-bottom\", this.getSpacing);\r\n }\r\n\r\n get getSpacing() {\r\n \r\n switch(this.spacing) {\r\n case 'small' as SPACING:\r\n return SPACING.small;\r\n case 'large' as SPACING:\r\n return SPACING.large;\r\n case 'medium' as SPACING:\r\n return SPACING.medium;\r\n default:\r\n return SPACING.none;\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { FAQContentModal, FAQSectionModal, FAQStylesModel } from './faq-section.modal';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { LayOutModel } from '../../styles/style.model';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\n@Component({\r\n selector: 'simpo-faq-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n MatIcon,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ContentTitleDirective,\r\n ObjectPositionDirective,\r\n SimpoContainerAligment\r\n ],\r\n templateUrl: './faq-section.component.html',\r\n styleUrl: './faq-section.component.css'\r\n})\r\nexport class FaqSectionComponent extends BaseSection {\r\n @Input() data?: FAQSectionModal;\r\n @Input() index? : number;\r\n @Input() edit ? : boolean;\r\n @Input() delete? : boolean;\r\n content?: FAQContentModal;\r\n style?: FAQStylesModel;\r\n\r\n unCollapsedList: number[] = [];\r\n\r\n constructor(private _eventService : EventsService){\r\n super();\r\n }\r\n ngOnInit(): void{\r\n this.content = this.data?.content;\r\n \r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n get stylesLayout() {\r\n return {...this.style?.layout} as LayOutModel;\r\n }\r\n toggleContent(idx: number) {\r\n \r\n if (this.unCollapsedList.includes(idx))\r\n this.unCollapsedList = this.unCollapsedList.filter((index: number)=> idx != index);\r\n else\r\n this.unCollapsedList.push(idx);\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" \r\n class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\"\r\n [simpoBorder]=\"style?.border\" [simpoAnimation]=\"style?.animation\">\r\n\r\n <div *ngIf=\"!content?.image?.showImage\">\r\n <div class=\"container-fluid flex-col\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\"\r\n [simpoLayout]=\"style?.layout\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"\" [simpoContentTitleSpace]=\"headingSpace\">\r\n <simpo-heading-element [data]=\"text.value\"></simpo-heading-element>\r\n </div>\r\n\r\n <div [simpoContainerAlignment]=\"stylesLayout\" *ngFor=\"let itemData of content?.listItem?.data;let i = index\" class=\"data\"(click)=\"toggleContent(i)\">\r\n <p class=\"heading-medium d-flex align-items-center justify-content-between position-relative\" data-toggle=\"collapse\">\r\n <span style=\"display: block;\">{{itemData.inputText[0].value}}</span>\r\n <mat-icon *ngIf=\"unCollapsedList.includes(i)\" style=\"position: absolute; right: 0px;\">keyboard_arrow_up</mat-icon>\r\n <mat-icon *ngIf=\"!unCollapsedList.includes(i)\" style=\"position: absolute; right: 0px;\">keyboard_arrow_down</mat-icon>\r\n </p>\r\n <div class=\"body-large desc multi-collapse\" [ngClass]=\"{'collapse': unCollapsedList.includes(i)}\" [innerHTML]=\"itemData.inputText[1].value\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"content?.image?.showImage\" class=\"row g-5\" [id]=\"data?.id\"\r\n [simpoLayout]=\"style?.layout\" [simpoPositionLayoutDirective]=\"style?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': style?.positionLayout?.value === 'left' || style?.positionLayout?.value === 'right' }\">\r\n\r\n\r\n <div class=\"col-lg-6 d-flex flex-column justify-content-start gap-15\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\" [simpoContentAlignment]=\"style?.contentAlignment\">\r\n\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"\" [simpoContentTitleSpace]=\"headingSpace\">\r\n <simpo-heading-element [data]=\"text.value\"></simpo-heading-element>\r\n </div>\r\n\r\n <div [simpoContainerAlignment]=\"stylesLayout\" *ngFor=\"let itemData of content?.listItem?.data;let i = index\" class=\"data\" (click)=\"toggleContent(i)\">\r\n <p class=\"heading-medium d-flex align-items-center justify-content-between position-relative\" data-toggle=\"collapse\">\r\n <span>{{itemData.inputText[0].value}}</span>\r\n <mat-icon *ngIf=\"unCollapsedList.includes(i)\"style=\"position: absolute; right: 0px;\">keyboard_arrow_up</mat-icon>\r\n <mat-icon *ngIf=\"!unCollapsedList.includes(i)\"style=\"position: absolute; right: 0px;\">keyboard_arrow_down</mat-icon>\r\n </p>\r\n <div class=\"body-large desc multi-collapse\" [ngClass]=\"{'collapse': unCollapsedList.includes(i)}\" [innerHTML]=\"itemData.inputText[1].value\"></div>\r\n </div>\r\n </div>\r\n <div class=\"col-10 col-sm-8 col-lg-6\" [simpoContainerAlignment]=\"stylesLayout\" *ngIf=\"content?.image?.showImage\">\r\n <img [src]=\"content?.image?.url\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"style?.corners\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block mx-lg-auto img-fluid h-100\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FooterContentModel, FooterSectionModel, FooterStylesModel } from './footer-section.modal';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { SimpoButtonComponent } from './../../elements/simpo-button/simpo-button.component';\r\nimport { SociaIconsComponent } from './../../elements/socia-icons/socia-icons.component';\r\nimport { FooterTypes } from '../../styles/index';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport BaseSection from '../BaseSection';\r\n\r\n\r\n@Component({\r\n selector: 'simpo-footer-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n SimpoButtonComponent,\r\n SociaIconsComponent,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective\r\n ],\r\n templateUrl: './footer-section.component.html',\r\n styleUrl: './footer-section.component.css'\r\n})\r\nexport class FooterSectionComponent extends BaseSection implements OnInit{\r\n\r\n @Input() data?:FooterSectionModel;\r\n @Input() index? : number;\r\n @Input() edit ?: boolean = true;\r\n @Input() delete? = false;\r\n content ?: FooterContentModel;\r\n style? : FooterStylesModel;\r\n color : any = '#ffffff';\r\n footerTypes = FooterTypes\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.style = this.data?.styles;\r\n this.content = this.data?.content;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n\r\n\r\n// Same as header\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\" (click)=\"editSection()\">\r\n <footer *ngIf=\"style?.footerType === footerTypes.SPLIT_DETAILS_RIGHT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-row flex-column justify-content-between align-items-start align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-grow\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc additional-details\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-5\">\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-4 mt-0\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display mt-lg-4 mt-0\"\r\n [ngStyle]=\"{'margin-left': content?.socialLinks?.display ? '20px' : ''}\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.SPLIT_DETAILS_LEFT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-row flex-column justify-content-between align-items-start align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-grow\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3 mt-4 mt-lg-0\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-4 mt-0\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display mt-lg-4 mt-4\"\r\n [ngStyle]=\"{'margin-left': content?.socialLinks?.display ? '20px' : ''}\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-2\">\r\n <div class=\"body-desc mt-lg-5 mt-5\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.STACKED_DETAILS_RIGHT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-colum flex-column justify-content-between align-items-end align-items-lg-end\">\r\n <div class=\"d-flex flex-column flex-grow align-items-end\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-5 mt-5 text-end\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-lg-3 mt-4\">\r\n <div class=\"d-flex align-items-start align-items-lg-end flex-column flex-lg-colum gap-lg-0 gap-3\r\n align-items-end\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-5 mt-2\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\"\r\n class=\"button-display mt-lg-5 mt-0 d-flex align-items-end\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small text-end\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.STACKED_DETAILS_LEFT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-colum flex-column justify-content-between align-items-start align-items-lg-start\">\r\n <div class=\"d-flex flex-column flex-grow align-items-start\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-5 mt-5 text-start\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-lg-3 mt-4 align-items-start\">\r\n <div class=\"d-flex align-items-start align-items-lg-start flex-column flex-lg-colum gap-lg-0 gap-3 align-items-start justify-content-between\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-5 mt-2\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\"\r\n class=\"button-display mt-lg-5 mt-0 d-flex align-items-end\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small text-end\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.STACKED_DETAILS_CENTER\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-colum flex-column justify-content-between align-items-center align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-grow align-items-center\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-5 mt-5 text-start\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-lg-3 mt-4 align-items-center\">\r\n <div class=\"d-flex align-items-center align-items-lg-center flex-column flex-lg-colum gap-lg-0 gap-3 align-items-start justify-content-between\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-5 mt-2\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\"\r\n class=\"button-display mt-lg-5 mt-0 d-flex align-items-end\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small text-end\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.SIMPLE_DETAILS_RIGHT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-row flex-column justify-content-between align-items-center align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-lg-row flex-grow align-items-center gap-lg-3 col-lg-6\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-0 mt-5 col-lg-6\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-lg-row align-items-center gap-lg-3 flex-grow mt-lg-0 mt-5 col-lg-6 justify-content-lg-end\">\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-0 mt-4\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display mt-lg-0 mt-4\"\r\n [ngStyle]=\"{'margin': content?.socialLinks?.display ? '10px' : ''}\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4 mt-lg-0\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.SIMPLE_DETAILS_CENTER\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-column flex-column justify-content-between align-items-center align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-lg-row flex-grow align-items-center gap-lg-3\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-0 mt-5\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-lg-row align-items-center gap-lg-3 flex-grow mt-lg-5 mt-5 justify-content-lg-end\">\r\n <div class=\"d-flex align-items-center align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-0 mt-4\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display mt-lg-0 mt-4\"\r\n [ngStyle]=\"{'margin': content?.socialLinks?.display ? '10px' : ''}\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4 mt-lg-0\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [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","import { Component, HostListener, Input, OnInit } from '@angular/core';\r\nimport {\r\n ImageCarouselSection,\r\n ImageCarouselSectionContentModel,\r\n ImageCarouselSectionStylesModel,\r\n} from './image-carousel.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { SimpoComponentModule } from './../../components/index';\r\nimport BaseSection from '../BaseSection';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n@Component({\r\n selector: 'simpo-image-carousel-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n SimpoComponentModule,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './image-carousel-section.component.html',\r\n styleUrl: './image-carousel-section.component.css',\r\n})\r\nexport class ImageCarouselSectionComponent extends BaseSection implements OnInit{\r\n @Input() data?: ImageCarouselSection;\r\n @Input() index? : number;\r\n content?: ImageCarouselSectionContentModel;\r\n style?: ImageCarouselSectionStylesModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n // content: any;\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ) {\r\n super();\r\n this.getScreenSize();\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n\r\n screenWidth: number = 475;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?: number) {\r\n if (typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n\r\n getPrevImage(index: number) {\r\n const prevIndex = (index - 1 + (this.content?.listItem?.data.length || 0)) % (this.content?.listItem.data.length || 0);\r\n return this.content?.listItem.data[prevIndex].image;\r\n }\r\n\r\n getNextImage(index: number) {\r\n const nextIndex = (index + 1) % (this.content?.listItem.data.length || 0);\r\n return this.content?.listItem.data[nextIndex].image;\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section class=\"container-fluid\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\nclass=\"total-container\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row mlr-0\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\" >\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div id=\"carouselExampleCaptions\" class=\"carousel slide mb-1\" >\r\n <ol class=\"carousel-indicators\">\r\n <li *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\"\r\n data-bs-target=\"#carouselExampleCaptions\" [attr.data-bs-slide-to]=\"i\"></li>\r\n </ol>\r\n <div class=\"carousel-inner\">\r\n <div class=\"carousel-item\" *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\">\r\n <div class=\"row\">\r\n <div class=\"col d-flex\" *ngIf=\"screenWidth >= 475\">\r\n <!-- <img class=\"d-block position-relative\" style=\"width: 20%; left: -20px\" [src]=\"img.image.url\" [alt]=\"img.image.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"img?.image?.position\"> -->\r\n <img [simpoImageDirective]=\"style?.image\" class=\"d-block position-relative\" style=\"width: 20%; left: -20px\" [src]=\"getPrevImage(i)?.url\" [alt]=\"getPrevImage(i)?.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"getPrevImage(i)?.position\"\r\n loading=\"lazy\">\r\n <img [simpoImageDirective]=\"style?.image\" class=\"d-block image-height-80vh\" [class]=\"data?.id+img.image.id\" style=\"width: 60%;\" [src]=\"img.image.url\" [alt]=\"img.image.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"img?.image?.position\"\r\n loading=\"lazy\">\r\n <!-- <img class=\"d-block position-relative\" style=\"width: 20%; right: -20px;\" [src]=\"img.image.url\" [alt]=\"img.image.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"img?.image?.position\"> -->\r\n <img [simpoImageDirective]=\"style?.image\" class=\"d-block position-relative\" style=\"width: 20%; right: -20px;\" [src]=\"getNextImage(i)?.url\" [alt]=\"getNextImage(i)?.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"getNextImage(i)?.position\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"col d-flex\" *ngIf=\"screenWidth < 475\">\r\n <img class=\"d-block w-100 image-height-40vh\" [class]=\"data?.id+img.image.id\" [src]=\"img.image.url\" [alt]=\"img.image.altText\" [id]=\"data?.id\" [simpoObjectPosition]=\"img?.image?.position\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <a class=\"carousel-control-prev\" data-bs-target=\"#carouselExampleCaptions\" role=\"button\" data-bs-slide=\"prev\">\r\n <span class=\"carousel-control-prev-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Previous</span>\r\n </a>\r\n <a class=\"carousel-control-next\" data-bs-target=\"#carouselExampleCaptions\" role=\"button\" data-bs-slide=\"next\">\r\n <span class=\"carousel-control-next-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Next</span>\r\n </a>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\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","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { ImageGridContentModal, ImageGridSectionModel, ImageGridStylesModel } from './image-grid-section.model';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n@Component({\r\n selector: 'simpo-image-grid-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n ImageDirectiveDirective,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './image-grid-section.component.html',\r\n styleUrl: './image-grid-section.component.css'\r\n})\r\nexport class ImageGridSectionComponent extends BaseSection {\r\n @Input() data?:ImageGridSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? :boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n content?: ImageGridContentModal;\r\n style?: ImageGridStylesModel;\r\n\r\n constructor(private _eventService : EventsService){\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n get headingSpace() {\r\n return this.style?.layout?.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\"\r\n [ngStyle]=\"style?.removeGaps && style?.fullWidth ? {'padding': '0px'} : style?.removeGaps ? {'padding': '0px 15px'} : style?.fullWidth ? {'padding': '0px'} : {}\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n\r\n <div class=\"main-image-section\" [simpoColumnDirective]=\"style?.size\" [id]=\"data?.id\"\r\n *ngFor=\"let img of content?.listItem?.data\"\r\n [ngStyle]=\"style?.removeGaps ? {'padding': '0px', 'margin': '0px'} : {}\">\r\n <div class=\"image-section\">\r\n <img [simpoImageDirective]=\"style?.image\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [class]=\"data?.id+img.image.id\" [simpoObjectPosition]=\"img.image.position\"\r\n [src]=\"img.image.url\" [alt]=\"img.image.altText\" loading=\"lazy\"/>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport {\r\n ImageContentModal,\r\n imageSectionModel,\r\n imageSectionStylesModel,\r\n} from './image-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { SimpoComponentModule } from '../../components/index';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\n\r\n@Component({\r\n selector: 'simpo-image-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective\r\n ],\r\n templateUrl: './image-section.component.html',\r\n styleUrl: './image-section.component.css',\r\n})\r\nexport class ImageSectionComponent extends BaseSection {\r\n @Input() data?: imageSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n content?: ImageContentModal;\r\n style?: imageSectionStylesModel;\r\n\r\n constructor(private _eventService : EventsService){\r\n super();\r\n }\r\n ngOnInit(): void {\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected= this.delete;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"main-section\" [ngClass]=\"{'px-0 py-0': style?.fullWidth === true}\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\"\r\n [simpoLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <!-- <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large mb-1\" [innerHTML]=\"text.value\"></div>\r\n </div> -->\r\n\r\n <div class=\"image-section\">\r\n <img [ngClass]=\"{'h-80': style?.layout?.fit === 'content', 'image': style?.layout?.fit === 'screen'}\" [class]=\"data?.id+(content?.image?.id || '')\"\r\n [src]=\"content?.image?.url\" [alt]=\"content?.image?.altText\" [simpoCorner]=\"style?.corners\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [id]=\"data?.id\"\r\n loading=\"lazy\"/>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { CommonModule } from '@angular/common';\r\nimport { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { ServiceContentModal, ServiceSectionModal, ServiceStylesModel } from './service-section.model';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { TextPosition } from '../../styles/index';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { ButtonModel } from '../../styles/style.model';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n@Component({\r\n selector: 'simpo-service-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n ContentTitleDirective,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective\r\n ],\r\n templateUrl: './service-section.component.html',\r\n styleUrl: './service-section.component.css'\r\n})\r\nexport class ServiceSectionComponent extends BaseSection{\r\n @Input() data?:ServiceSectionModal;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n TextPosition = TextPosition;\r\n content?: ServiceContentModal;\r\n style?: ServiceStylesModel;\r\n button?: ButtonModel\r\n\r\n constructor(private _eventService : EventsService) {\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.button = this.data?.action.buttons[0]\r\n this.deleteSelected = this.delete\r\n }\r\n\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div class=\"cards\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\r\n *ngFor=\"let service of content?.listItem?.data\">\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.BELOW_IMAGE\">\r\n <simpo-below-image-card [data]=\"service\" [styles]=\"style\" [content]=\"content\" [button]=\"button\"\r\n [componentId]=\"data?.id\"></simpo-below-image-card>\r\n </ng-container>\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.TOP_OF_IMAGE\">\r\n <simpo-top-of-image-card [data]=\"service\" [styles]=\"style\" [content]=\"content\" [button]=\"button\"\r\n [componentId]=\"data?.id\"></simpo-top-of-image-card>\r\n </ng-container>\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.COVERING_IMAGE\">\r\n <simpo-covering-image-card [data]=\"service\" [styles]=\"style\" [content]=\"content\" [button]=\"button\"\r\n [componentId]=\"data?.id\"></simpo-covering-image-card>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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","import { Component, Input } from '@angular/core';\r\nimport { TeamMemberContentModal, TeamMemberSectionModal, TeamMemberStylesModel } from './team-member-section.model';\r\nimport { TextPosition } from '../../styles/index';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { ButtonModel } from '../../styles/style.model';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n@Component({\r\n selector: 'simpo-team-member-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './team-member-section.component.html',\r\n styleUrl: './team-member-section.component.css'\r\n})\r\nexport class TeamMemberSectionComponent extends BaseSection {\r\n @Input() data?:TeamMemberSectionModal;\r\n @Input() index? : number;\r\n @Input() edit?: boolean;\r\n @Input() delete? : boolean;\r\n TextPosition = TextPosition;\r\n content?: TeamMemberContentModal;\r\n style?: TeamMemberStylesModel;\r\n button?: ButtonModel\r\n\r\n constructor(private _eventService : EventsService) {\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.button = this.data?.action.buttons[0]\r\n this.deleteSelected = this.delete\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div class=\"cards\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\r\n *ngFor=\"let service of content?.listItem?.data\">\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.BELOW_IMAGE\">\r\n <simpo-below-image-card style=\"height: 100%; display: block;\" [data]=\"service\" [styles]=\"style\"\r\n [content]=\"content\" [button]=\"button\" [componentId]=\"data?.id\"></simpo-below-image-card>\r\n </ng-container>\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.TOP_OF_IMAGE\">\r\n <simpo-top-of-image-card style=\"height: 100%; display: block;\" [data]=\"service\" [styles]=\"style\"\r\n [content]=\"content\" [button]=\"button\" [componentId]=\"data?.id\"></simpo-top-of-image-card>\r\n </ng-container>\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.COVERING_IMAGE\">\r\n <simpo-covering-image-card style=\"height: 100%; display: block;\" [data]=\"service\" [styles]=\"style\"\r\n [content]=\"content\" [button]=\"button\" [componentId]=\"data?.id\"></simpo-covering-image-card>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\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","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport {\r\n testimonialContentModel,\r\n testimonialSectionModel,\r\n testimonialStylesModel,\r\n} from './testimonial-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\nimport { LayOutModel } from '../../styles/style.model';\r\n@Component({\r\n selector: 'simpo-testimonial-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './testimonial-section.component.html',\r\n styleUrl: './testimonial-section.component.css',\r\n})\r\nexport class TestimonialSectionComponent extends BaseSection {\r\n @Input() data?: testimonialSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n content?: testimonialContentModel;\r\n style?: testimonialStylesModel;\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n ngOnInit(): void {\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n get headingSpace(): SPACING {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n get getLayout(): LayOutModel {\r\n return {...this.style?.layout} as LayOutModel;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\"\r\n [ngClass]=\"text.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div id=\"testimonialFullWidthCarousel\" class=\"carousel slide mb-1\" data-ride=\"carousel\" data-interval=\"10000\">\r\n <ol class=\"carousel-indicators\">\r\n <li *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\"\r\n data-bs-target=\"#testimonialFullWidthCarousel\" [attr.data-bs-slide-to]=\"i\"></li>\r\n </ol>\r\n <div class=\"carousel-inner\">\r\n <div class=\"carousel-item\" *ngFor=\"let testimonial of content?.listItem?.data; let i = index\"\r\n [class.active]=\"i === 0\">\r\n <div style=\"width: 90%; margin: auto;\">\r\n <div class=\"carousel-caption d-flex flex-column h-100 bottom-0\" style=\"width: 90%;\" [id]=\"data?.id\"\r\n [simpoColor]=\"style?.background?.color\" [simpoContainerLayout]=\"style?.layout\">\r\n <img [src]=\"testimonial.image.url\" class=\"mb-1\" loading=\"lazy\" [simpoContainerLayout]=\"getLayout\">\r\n <p class=\"heading-medium\">{{ testimonial.inputText[0].value }}</p>\r\n <span href=\"#\" class=\"py-2 px-4 mb-1\">- {{ testimonial.inputText[1].value }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <a class=\"carousel-control-prev\" data-bs-target=\"#testimonialFullWidthCarousel\" role=\"button\" data-bs-slide=\"prev\">\r\n <span class=\"carousel-control-prev-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Previous</span>\r\n </a>\r\n <a class=\"carousel-control-next\" data-bs-target=\"#testimonialFullWidthCarousel\" role=\"button\" data-bs-slide=\"next\">\r\n <span class=\"carousel-control-next-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Next</span>\r\n </a>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BannerStylesModel } from '../../styles/style.model';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { TextImageContentModel, TextImageSectionModel } from './text-image-section.model';\r\nimport { EventsService } from '../../services/events.service';\r\n\r\n\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\n;\r\n@Component({\r\n selector: 'simpo-text-image-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective\r\n ],\r\n templateUrl: './text-image-section.component.html',\r\n styleUrl: './text-image-section.component.css'\r\n})\r\nexport class TextImageSectionComponent extends BaseSection implements OnInit{\r\n\r\n @Input() data?: TextImageSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n content?: TextImageContentModel;\r\n styles?: BannerStylesModel;\r\n\r\n constructor(private _eventService : EventsService){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\" >\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [simpoAnimation]=\"styles?.animation\" [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right' }\"\r\n >\r\n <div class=\"col-10 col-sm-8 col-lg-6\">\r\n <img\r\n [src]=\"content?.image?.url\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [simpoCorner]=\"styles?.corners\" [class]=\"data?.id+(content?.image?.id || '')\"\r\n class=\"d-block mx-lg-auto img-fluid h-100\" [alt]=\"content?.image?.altText\" width=\"700\" height=\"100\" loading=\"lazy\"\r\n loading=\"lazy\"/>\r\n </div>\r\n <div class=\"col-lg-6 d-flex flex-column\" [simpoContentAlignment]=\"styles?.contentAlignment\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\" [buttonId]=\"button.id\" [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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>\r\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { videoSectionContentModel, videoSectionModel, videoSectionStyleModel } from './video-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { SimpoComponentModule } from '../../components/index';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n@Component({\r\n selector: 'simpo-video-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n ContentTitleDirective,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective\r\n ],\r\n templateUrl: './video-section.component.html',\r\n styleUrl: './video-section.component.css'\r\n})\r\nexport class VideoSectionComponent extends BaseSection {\r\n\r\n constructor(\r\n public dom : DomSanitizer,\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n @Input() data?:videoSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : false\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n videoLink:string = ''\r\n content?: videoSectionContentModel;\r\n style?: videoSectionStyleModel;\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n if(this.content?.videoLink.url){\r\n this.videoLink = this.content?.videoLink?.url\r\n }\r\n const videoId = this.youTubeIdFromLink(this.videoLink);\r\n this.videoLink = \"https://www.youtube.com/embed/\" + videoId;\r\n this.deleteSelected = this.delete;\r\n }\r\n youTubeIdFromLink(url: string): string | undefined {\r\n return url.match(/(?:https?:\\/\\/)?(?:www\\.|m\\.)?youtu(?:be)?\\.(?:com|be)(?:\\/watch\\/?\\?v=|\\/embed\\/|\\/)([^\\s&\\?\\/\\#]+)/)?.[1];\r\n }\r\n\r\n get getVideoLink(){\r\n let videoId = this.youTubeIdFromLink(this.content?.videoLink?.url || '') || '';\r\n return \"https://www.youtube.com/embed/\" + videoId\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid main-section\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\"\r\n [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"heading-large\" [innerHTML]=\"text.value\" [simpoContentTitleSpace]=\"headingSpace\">\r\n </div>\r\n\r\n\r\n <div class=\"video-section\" [ngStyle]=\"style?.fullScreen ? {'padding': '0px', 'margin': '0px'} : {}\">\r\n <iframe class=\"video\"\r\n [ngClass]=\"{'h-80': style?.layout?.fit === 'content', 'video': style?.layout?.fit === 'screen'}\"\r\n [src]=\"dom.bypassSecurityTrustResourceUrl(getVideoLink)\" frameborder=\"0\" allowfullscreen></iframe>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { HeaderButtonModel, HeaderButtonStyleModel, NavbarButton } from './../../styles/style.model';\r\nimport { HeaderButtonStyle } from './../../styles/index';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\n\r\n@Component({\r\n selector: 'simpo-navbar-button-element',\r\n standalone: true,\r\n imports: [CommonModule, MatButtonModule, ColorDirective],\r\n templateUrl: './navbar-button-element.component.html',\r\n styleUrl: './navbar-button-element.component.css'\r\n})\r\nexport class NavbarButtonElementComponent implements OnInit{\r\n @Input() buttonData?: NavbarButton;\r\n @Input() buttonStyle?: HeaderButtonStyleModel\r\n @Input() selectedStyle?: HeaderButtonStyle\r\n @Input() bgColor?: string;\r\n @Input() sectionId?: string;\r\n\r\n\r\n HeaderButtonStyle = HeaderButtonStyle\r\n constructor(private _eventService: EventsService){}\r\n\r\n ngOnInit(): void {\r\n // console.log(this.buttonData)\r\n }\r\n\r\n changePage(pageData?: any){\r\n this._eventService.pageRedirectionButton.emit({data: pageData ? pageData : this.buttonData})\r\n }\r\n}\r\n","<div *ngIf=\"buttonData?.status\">\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.TAB\">\r\n <div *ngIf=\"!buttonData?.folder\">\r\n <button mat-stroked-button style=\"border: none; white-space: nowrap;\" [id]=\"sectionId\" [simpoColor]=\"bgColor\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" class=\"navbar-button\">{{buttonData?.label}}</button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" (click)=\"changePage()\" [id]=\"sectionId\"></div>\r\n </div>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"navbar-button dropdown-toggle\" [simpoColor]=\"bgColor\" style=\"border: none; white-space: nowrap;\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" [id]=\"sectionId\"></div>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;padding: 20px 5px;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;padding: 20px 5px;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <button mat-stroked-button color=\"primary btn-lg px-4 me-md-2\">{{buttonData?.content?.label}}</button> -->\r\n\r\n</div>\r\n<div *ngIf=\"!buttonData?.status\">\r\n <button mat-stroked-button style=\"border: none;width: max-content!important;\" *ngIf=\"!buttonData?.folder\"\r\n (click)=\"changePage()\" [id]=\"sectionId\" [simpoColor]=\"bgColor\"\r\n class=\"status-navbar-button\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button class=\"status-navbar-button not-selected-dropdown dropdown-toggle\"\r\n style=\"border: none;width: max-content!important;\" [simpoColor]=\"bgColor\" type=\"button\" id=\"headerDropdownButton\"\r\n data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[simpoSticky]',\r\n standalone: true\r\n})\r\nexport class SimpoStickyDirective {\r\n @Input('simpoSticky') simpoSticky?: boolean;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngOnChanges(){\r\n if (this.simpoSticky) {\r\n this.el.nativeElement.style.setProperty(\"position\", \"fixed\");\r\n // this.el.nativeElement.style.setProperty(\"top\", \"0px\");\r\n this.el.nativeElement.style.setProperty(\"z-index\", \"1002\")\r\n } else {\r\n this.el.nativeElement.style.setProperty(\"position\", \"relative\");\r\n // this.el.nativeElement.style.setProperty(\"top\", \"0px\");\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable, OnDestroy } from \"@angular/core\";\r\nimport { map, Observable, Subscriber, Subscription } from \"rxjs\";\r\nimport { Category, EventsService, Product, Collection } from \"../../public-api\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RestService implements OnDestroy {\r\n\r\n private BASE_URL: string = \"https://dev-api.simpo.ai/\";\r\n private environmentTypeSubscriber: Subscription | null = null;\r\n\r\n constructor(\r\n private readonly http: HttpClient,\r\n private readonly eventService: EventsService\r\n ) { \r\n this.environmentTypeSubscriber = this.eventService.environmentType.subscribe((response)=> {\r\n if (response == \"DEV\")\r\n this.BASE_URL = \"https://dev-api.simpo.ai/\";\r\n else if (response == \"STAGE\")\r\n this.BASE_URL = \"https://state-api.simpo.ai/\";\r\n else\r\n this.BASE_URL = \"https://api.simpo.ai/\";\r\n })\r\n }\r\n ngOnDestroy(): void {\r\n if (this.environmentTypeSubscriber)\r\n this.environmentTypeSubscriber?.unsubscribe();\r\n }\r\n\r\n getFeaturedProduct(collectionId: string | undefined | null) {\r\n let subIndustryId: string | null = localStorage.getItem(\"subindustryId\");\r\n if (!subIndustryId)\r\n subIndustryId = \"1eecee8d-efba-62f8-b7b5-b9742fceb17f\";\r\n\r\n return this.http.get(this.BASE_URL + `ecommerce/product/collection/id?collectionId=${collectionId || ''}&subIndustryId=${subIndustryId || ''}`).pipe(map((response: any)=> response.data?.map((product: any)=> new Product(product))));\r\n }\r\n getProductDetails(productId: string | null = null) {\r\n const payload: any = {\r\n pageNo: 0,\r\n pageSize: 1,\r\n itemId: productId\r\n }\r\n return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload).pipe(map((response: any)=> response.data.data.map((product: any)=> new Product(product))));\r\n }\r\n\r\n getAllCategories() {\r\n\r\n const payload: any = {\r\n pageNo: 0,\r\n pageSize: 10,\r\n businessId: localStorage.getItem(\"bId\")\r\n }\r\n return this.http.put(this.BASE_URL + 'ecommerce/inventory/get/category', payload).pipe(map((response: any)=> response.data.data?.map((category: any)=> new Category(category))));\r\n }\r\n getAllCollections() {\r\n const payload: any = {\r\n pageNo: 0,\r\n pageSize: 10,\r\n businessId: localStorage.getItem(\"bId\")\r\n }\r\n return this.http.put(this.BASE_URL + 'ecommerce/inventory/get/collection', payload).pipe(map((response: any)=> response.data.data?.map((collection: any)=> new Collection(collection))));\r\n }\r\n\r\n getFilteredProduct(collectionIds: string[], categoryIds: string[], searchText: string, minPrice: number, maxPrice: number, sortBy: string, pageNo: number, size: number) {\r\n const payload: any = {\r\n \"businessId\": localStorage.getItem(\"bId\"),\r\n \"collectionId\": collectionIds,\r\n \"categoryId\": categoryIds,\r\n \"searchText\": searchText,\r\n \"minPrice\": minPrice ?? 0,\r\n \"maxPrice\": maxPrice ?? 0,\r\n \"sortBy\": sortBy,\r\n \"pageNo\": pageNo,\r\n \"pageSize\": size\r\n }\r\n return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload);\r\n }\r\n getProductByCategoryId(categoryId: string) {\r\n const payload: any = {\r\n \"businessId\": localStorage.getItem(\"bId\"),\r\n \"categoryId\": [categoryId],\r\n \"pageNo\": 0,\r\n \"pageSize\": 10\r\n }\r\n return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload);\r\n }\r\n\r\n generateOTP(mobile: string, countryCode: string) {\r\n const businessId: string = localStorage.getItem(\"bId\") ?? \"\";\r\n return this.http.post(this.BASE_URL + `ecommerce/user/otp/trigger?mobile=${mobile}&countryCode=${countryCode}&businessId=${businessId}`, null);\r\n }\r\n verifyOTP(mobile: string, otp: string) {\r\n const businessId: string = localStorage.getItem(\"bId\") ?? \"\";\r\n return this.http.put(this.BASE_URL + `ecommerce/user/authenticate?mobile=${mobile}&otp=${otp}&businessId=${businessId}`, null);\r\n }\r\n resendOTP(mobile: string, countryCode: string) {\r\n const businessId: string = localStorage.getItem(\"bId\") ?? \"\";\r\n return this.http.post(this.BASE_URL + `ecommerce/user/resend?mobile=${mobile}&countryCode=${countryCode}&businessId=${businessId}`, null); \r\n }\r\n\r\n addItemToDB(userCart: any) {\r\n return this.http.post(this.BASE_URL + `ecommerce/order/cart`, userCart);\r\n }\r\n getUserItems(userId: string, cartType: 'CART' | 'WISHLIST'): any {\r\n return this.http.get(this.BASE_URL + `ecommerce/order/cart?userId=${userId}&cartType=${cartType}`);\r\n }\r\n placeOrder(cartId: string) {\r\n return this.http.post(this.BASE_URL + `ecommerce/order/order?cartId=${cartId}`, null);\r\n }\r\n getUserInfo(userId: string) {\r\n return this.http.put(this.BASE_URL + `ecommerce/user/get/user?userId=${userId}`, null);\r\n }\r\n addUserAddress(user: any) {\r\n return this.http.put(this.BASE_URL + `ecommerce/user/update/user`, user);\r\n }\r\n updateProfile(payload: any) {\r\n return this.http.put(this.BASE_URL + `ecommerce/user/update/user`, payload);\r\n }\r\n toggleItemCartToFav() {\r\n\r\n }\r\n\r\n // Payment\r\n createPaymentToken(payload: any) {\r\n return this.http.post(this.BASE_URL + `ecommerce/payment/order`, payload);\r\n }\r\n refundPayment(orderId: string, payload: any) {\r\n return this.http.post(this.BASE_URL + `ecommerce/payment/refund/bank?orderId=${orderId}`, payload);\r\n }\r\n checkPaymentStatus(payload: any) {\r\n return this.http.post(this.BASE_URL + `ecommerce/payment/status`, payload);\r\n }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatDialogModule, MatDialogRef } from '@angular/material/dialog';\r\nimport { RestService } from \"../../../services/rest.service\";\r\nimport UserInfo from \"../../json/user-details.json\";\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'simpo-user-basic-info',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n FormsModule\r\n ],\r\n templateUrl: './user-basic-info.component.html',\r\n styleUrl: './user-basic-info.component.css'\r\n})\r\nexport class UserBasicInfoComponent implements OnInit {\r\n\r\n public gender: 'MALE' | 'FEMALE' | null = null;\r\n public firstName: string = \"\";\r\n public middleName: string = \"\";\r\n public lastName: string = \"\";\r\n public email: string = \"\";\r\n public profilePic: string = \"\";\r\n\r\n constructor(\r\n private readonly restService: RestService,\r\n private readonly router: Router,\r\n private readonly dialogRef: MatDialogRef<UserBasicInfoComponent>\r\n ) {}\r\n ngOnInit(): void {\r\n this.firstName = UserInfo.user?.contact?.name?.split(\" \")?.[0];\r\n this.middleName = UserInfo.user?.contact?.name?.split(\" \")?.[1];\r\n this.lastName = UserInfo.user?.contact?.name?.split(\" \")?.[2];\r\n this.email = UserInfo.user?.contact?.email;\r\n this.gender = UserInfo.user?.gender as (\"MALE\" | \"FEMALE\");\r\n this.profilePic = UserInfo.user?.profilePic;\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n saveProfile() {\r\n const payload = {\r\n userId: UserInfo.user?.userId,\r\n gender: this.gender,\r\n profilePic: this.profilePic,\r\n contact: {\r\n countryCode: \"91\",\r\n email: this.email,\r\n name: this.firstName + \" \" + (this.middleName?.length > 0 ? this.middleName + \" \" : \"\") + this.lastName\r\n }\r\n }\r\n this.restService.updateProfile(payload).subscribe((response)=> {\r\n if (this.dialogRef)\r\n this.dialogRef.close();\r\n else\r\n this.router.navigate(['/']);\r\n })\r\n }\r\n}\r\n","<section style=\"padding: 20px\" class=\"position-relative\">\r\n <div class=\"d-flex flex-wrap justify-content-between\">\r\n <div class=\"form-control-group-3\">\r\n <div class=\"label\">First Name</div>\r\n <input type=\"text\" placeholder=\"Enter first name\" [(ngModel)]=\"firstName\">\r\n </div>\r\n <div class=\"form-control-group-3\">\r\n <div class=\"label\">Middle Name</div>\r\n <input type=\"text\" placeholder=\"Enter middle name\" [(ngModel)]=\"middleName\">\r\n </div>\r\n <div class=\"form-control-group-3\">\r\n <div class=\"label\">Last Name</div>\r\n <input type=\"text\" placeholder=\"Enter last name\" [(ngModel)]=\"lastName\">\r\n </div>\r\n <div class=\"form-control-group-full\">\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Email</div>\r\n <input type=\"text\" placeholder=\"Enter email\" [(ngModel)]=\"email\">\r\n </div>\r\n </div> \r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Select Gender</div>\r\n <div class=\"d-flex align-items-center\">\r\n <img src=\"https://img.icons8.com/?size=100&id=108296&format=png&color=000000\" alt=\"\" (click)=\"gender = 'MALE'\" [ngClass]=\"{'active': gender == 'MALE' }\">\r\n <img src=\"https://img.icons8.com/?size=100&id=108295&format=png&color=000000\" alt=\"\" (click)=\"gender = 'FEMALE'\" [ngClass]=\"{'active': gender == 'FEMALE'}\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"action-btn\">\r\n <span class=\"skip-btn\" (click)=\"close()\">Skip</span>\r\n <button (click)=\"saveProfile()\">Save Profile</button>\r\n </div>\r\n</section>","import { Injectable } from '@angular/core';\r\nimport { OrderedItems } from '../ecommerce/styles/OrderedItems.modal';\r\nimport { User } from '../ecommerce/styles/user.modal';\r\nimport UserCart from '../ecommerce/json/user-cart.json';\r\nimport { EventsService } from './events.service';\r\nimport {CookieService} from 'ngx-cookie-service';\r\nimport { forkJoin } from 'rxjs';\r\nimport { RestService } from './rest.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageServiceService {\r\n\r\n constructor(\r\n private readonly eventService: EventsService,\r\n private readonly cookieService: CookieService,\r\n private readonly restService: RestService\r\n ) {\r\n this.createDataBase();\r\n }\r\n\r\n databaseName: string = \"USER\";\r\n databaseVersion: number = 1;\r\n cartCollectionName: string = \"USER_CART\";\r\n favouriteCollectionName: string = \"USER_FAVOURITE\";\r\n userCollectionName: string = \"USER\";\r\n database!: IDBDatabase;\r\n\r\n cartCollectionRef: IDBObjectStore | null = null;\r\n favouriteCollectionRef: IDBObjectStore | null = null;\r\n userCollectionRef: IDBObjectStore | null = null;\r\n\r\n async createDataBase() {\r\n const request: IDBOpenDBRequest = await window.indexedDB.open(this.databaseName, 1);\r\n\r\n this.eventService.showLoadingScreen.emit(true);\r\n request.onerror = () => { };\r\n request.onsuccess = async (event) => {\r\n this.database = await (event.target as IDBOpenDBRequest).result;\r\n const request = await this.getUserCart();\r\n request.onsuccess = async (response: any) => {\r\n \r\n this.eventService.showLoadingScreen.emit(false);\r\n UserCart.orderedItems = await response.target.result;\r\n }\r\n };\r\n request.onupgradeneeded = (event) => {\r\n\r\n this.database = (event.target as IDBOpenDBRequest).result;\r\n this.cartCollectionRef = this.database.createObjectStore(this.cartCollectionName, { keyPath: \"itemId\" });\r\n this.favouriteCollectionRef = this.database.createObjectStore(this.favouriteCollectionName, { keyPath: \"itemId\" });\r\n this.userCollectionRef = this.database.createObjectStore(this.userCollectionName, { keyPath: \"userId\" });\r\n }\r\n }\r\n\r\n async storeDataToJSON() {\r\n this.eventService.showLoadingScreen.emit(true);\r\n const request = await this.getUserCart();\r\n request.onsuccess = async (response: any) => {\r\n this.eventService.showLoadingScreen.emit(false);\r\n UserCart.orderedItems = await response.target.result;\r\n }\r\n }\r\n\r\n public calculateBillingDetails() {\r\n \r\n UserCart.billdetails.totalGrossValue = 0;\r\n UserCart.billdetails.totalNetValue = 0;\r\n UserCart.billdetails.deliveryCharges = 0;\r\n UserCart.billdetails.discountAmount = 0;\r\n UserCart.billdetails.totalOfferedValue = 0;\r\n UserCart.billdetails.totalTax = 0;\r\n\r\n UserCart.orderedItems.forEach((item: OrderedItems)=> {\r\n UserCart.billdetails.totalGrossValue += (item.price * item.quantity);\r\n UserCart.billdetails.totalTax += (item.itemTax * item.quantity);\r\n })\r\n UserCart.billdetails.totalNetValue = (UserCart.billdetails.totalGrossValue + UserCart.billdetails.totalTax + UserCart.billdetails.deliveryCharges) - UserCart.billdetails.discountAmount;\r\n return UserCart;\r\n }\r\n\r\n updateAllData() {\r\n const userDetails = this.getUser();\r\n if (userDetails) {\r\n forkJoin([\r\n this.restService.getUserItems(userDetails.userId, \"CART\"),\r\n this.restService.getUserItems(userDetails.userId, \"WISHLIST\")\r\n ]).subscribe(([cartResponse])=> {\r\n // cartResponse.data.forEach((item: OrderedItems)=> {\r\n // storageService.addProductToCart(item);\r\n // })\r\n this.storeDataToJSON();\r\n })\r\n }\r\n }\r\n\r\n\r\n // CART SERVICE\r\n async getUserCart() {\r\n \r\n const transaction = this.database.transaction(this.cartCollectionName, \"readwrite\");\r\n return await transaction.objectStore(this.cartCollectionName).getAll();\r\n }\r\n\r\n addProductToCart(product: OrderedItems) {\r\n const transaction = this.database.transaction(this.cartCollectionName, \"readwrite\");\r\n return transaction.objectStore(this.cartCollectionName).put(product);\r\n }\r\n removeProductFromCart(productId: string) {\r\n const transaction = this.database.transaction(this.cartCollectionName, \"readwrite\");\r\n return transaction.objectStore(this.cartCollectionName).delete(productId);\r\n }\r\n async getProductFromCart(productId: string) {\r\n const transaction = this.database.transaction(this.cartCollectionName, \"readwrite\");\r\n return await transaction.objectStore(this.cartCollectionName).get(productId);\r\n }\r\n\r\n // WISHLIST SERVICE\r\n async getUserWhishlist() {\r\n const request = await this.cartCollectionRef?.getAll();\r\n return request;\r\n }\r\n\r\n addProductToWishlist(product: OrderedItems) {\r\n const transaction = this.database.transaction(this.favouriteCollectionName, \"readwrite\");\r\n return transaction.objectStore(this.favouriteCollectionName).put(product);\r\n }\r\n removeProductFromWishlist(productId: string) {\r\n const transaction = this.database.transaction(this.favouriteCollectionName, \"readwrite\");\r\n return transaction.objectStore(this.favouriteCollectionName).delete(productId);\r\n }\r\n async getProductFromWishlist(productId: string) {\r\n const transaction = this.database.transaction(this.favouriteCollectionName, \"readwrite\");\r\n return await transaction.objectStore(this.favouriteCollectionName).get(productId);\r\n }\r\n\r\n // USER SERVICE\r\n addUser(user: User): User {\r\n this.cookieService.set(\"user\", JSON.stringify(user ?? \"{}\"));\r\n return user;\r\n }\r\n getUser(): any {\r\n try {\r\n return JSON.parse(this.cookieService.get(\"user\"));\r\n } catch(exception) {}\r\n }\r\n\r\n\r\n // clearAllItemsFromCart() {\r\n // return new Promise(async (resolve, reject) => {\r\n // if (this.database != undefined) {\r\n // const request = await this.database\r\n // .transaction(this.objectStorageName, 'readwrite')\r\n // .objectStore(this.objectStorageName)\r\n // .clear();\r\n\r\n // request.onsuccess = await function (event: any) {\r\n\r\n // if (event.target.result) {\r\n // resolve(event.result);\r\n // } else {\r\n // resolve('SUCCESS');\r\n // }\r\n // };\r\n // request.onerror = await function (_event) {\r\n // reject(\"No data\");\r\n // }\r\n // }\r\n // });\r\n // }\r\n}\r\n","import { Component, Inject, Input, OnInit, Optional } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport UserDetails from '../../json/user-details.json';\r\nimport { Router } from '@angular/router';\r\nimport { UserBasicInfoComponent } from '../user-basic-info/user-basic-info.component';\r\nimport { StorageServiceService } from '../../../services/storage.service';\r\n\r\n@Component({\r\n selector: 'simpo-authenticate-user',\r\n standalone: true,\r\n imports: [\r\n FormsModule,\r\n MatIcon,\r\n CommonModule,\r\n ButtonDirectiveDirective,\r\n ],\r\n templateUrl: './authenticate-user.component.html',\r\n styleUrl: './authenticate-user.component.css'\r\n})\r\nexport class AuthenticateUserComponent implements OnInit {\r\n @Input() data?: any;\r\n @Input() responseData?: any;\r\n // @Input() index? : number;\r\n // @Input() edit? : boolean;\r\n // @Input() delete? : boolean;\r\n\r\n public otpString: string = \"\";\r\n public screen: 'LOGIN' | 'OTP' = 'LOGIN';\r\n public mobile: string | null = null;\r\n public countryCode: string | null = \"91\";\r\n\r\n constructor(\r\n @Optional() @Inject(MAT_DIALOG_DATA) public matData: any,\r\n private readonly restService: RestService,\r\n private readonly router: Router,\r\n private readonly matDialog: MatDialog,\r\n private readonly storageService: StorageServiceService,\r\n @Optional() private readonly dialogRef: MatDialogRef<AuthenticateUserComponent>\r\n ) {}\r\n \r\n styles: any;\r\n\r\n ngOnInit(): void {\r\n if (this.matData)\r\n this.data = this.matData;\r\n this.styles = this.data?.styles;\r\n }\r\n move(event: any, idx: number) {\r\n if (isNaN(Number(event.key)))\r\n return;\r\n this.otpString += event.key;\r\n document.getElementById(\"otp_\"+(idx +1))?.focus();\r\n }\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n goBack() {\r\n this.otpString = '';\r\n this.screen = \"LOGIN\";\r\n }\r\n\r\n generateOTP() {\r\n this.restService.generateOTP(this.mobile ?? \"\", this.countryCode ?? \"\").subscribe((response)=> {\r\n this.screen = \"OTP\";\r\n })\r\n }\r\n verifyOTP() {\r\n this.restService.verifyOTP(this.mobile ?? \"\", this.otpString).subscribe((response: any)=> {\r\n // localStorage.setItem(\"userId\", response.userId);\r\n const userDetails = this.storageService.addUser(response.data);\r\n UserDetails.user = userDetails as never;\r\n this.storageService.updateAllData();\r\n if (userDetails.contact?.name?.length > 0) {\r\n if (this.dialogRef)\r\n this.dialogRef.close();\r\n else\r\n this.router.navigate(['/']);\r\n } else {\r\n if (this.dialogRef)\r\n this.dialogRef.close();\r\n this.matDialog.open(UserBasicInfoComponent, {\r\n height: '50vh',\r\n width: '40vw',\r\n data: {}\r\n });\r\n }\r\n })\r\n }\r\n resendOTP() {\r\n this.restService.resendOTP(this.mobile ?? \"\", this.countryCode ?? \"\").subscribe((response)=> {\r\n this.otpString = \"\";\r\n })\r\n }\r\n get isMobile() {\r\n return window.innerWidth <= 475;\r\n }\r\n}\r\n","<div [style.height.vh]=\"isMobile ? '90' : ''\">\r\n <ng-container [ngSwitch]=\"screen\">\r\n <section style=\"padding: 15px;\"\r\n class=\"d-flex flex-column align-item-center justify-content-center position-relative h-100\"\r\n *ngSwitchCase=\"'LOGIN'\"[ngClass]=\"{'fullSection': isMobile}\">\r\n <h5 class=\"text-center onlyDesktop\">Excee Fashion</h5>\r\n <h2 class=\"text-center\">Welcome</h2>\r\n <p class=\"text-center\">Log or Signup in to your account</p>\r\n <input type=\"number\" placeholder=\"Mobile Number\" [(ngModel)]=\"mobile\">\r\n <p class=\"text-center\">You will receive an SMS verification</p>\r\n\r\n <div class=\"action-btn d-flex flex-column align-item-center justify-content-center\">\r\n <button class=\"btn\" simpoButtonDirective [buttonStyle]=\"data?.action?.buttons[0]?.styles\"\r\n [color]=\"styles?.background?.accentColor\" (click)=\"generateOTP()\">Continue</button>\r\n <div class=\"alternate-opt text-center\" [style.color]=\"data?.styles.background?.accentColor\">Use email\r\n instead</div>\r\n </div>\r\n <div class=\"close-btn onlyDesktop\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </div>\r\n </section>\r\n <section *ngSwitchCase=\"'OTP'\" style=\"padding: 15px;\"\r\n class=\"d-flex flex-column align-item-center justify-content-center position-relative h-100\" [ngClass]=\"{'fullSection': isMobile}\">\r\n <h5 class=\"text-center onlyDesktop\">Excee Fashion</h5>\r\n <h2 class=\"text-center\">Verify OTP</h2>\r\n <p class=\"text-center\">Enter the 6-digit that we have sent via the phone number +{{ countryCode }}{{ mobile\r\n }}</p>\r\n <div class=\"otpContainer\">\r\n <ng-container *ngFor=\"let _ of [].constructor(6); let idx = index\">\r\n <input type=\"number\" class=\"otp\" max=\"1\" [id]=\"'otp_'+idx\" (keyup)=\"move($event, idx)\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"action-btn d-flex flex-column align-item-center justify-content-center\">\r\n <button class=\"btn\" simpoButtonDirective [buttonStyle]=\"data?.action?.buttons[0]?.styles\"\r\n [color]=\"styles?.background?.accentColor\" (click)=\"verifyOTP()\">Continue</button>\r\n <div class=\"alternate-opt text-center\" [style.color]=\"data?.styles.background?.accentColor\"\r\n (click)=\"resendOTP()\">Resend code</div>\r\n </div>\r\n\r\n <div class=\"close-btn onlyDesktop\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </div>\r\n <div class=\"back-btn\" (click)=\"goBack()\">\r\n <mat-icon>keyboard_backspace</mat-icon>\r\n </div>\r\n </section>\r\n </ng-container>\r\n</div>","import { AfterViewInit, Component, HostListener, inject, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { HeaderContentModel, HeaderSectionModel, HeaderStyleModel } from './navbar-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { SociaIconsComponent } from '../../elements/socia-icons/socia-icons.component';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { NavbarButtonElementComponent } from './../../elements/navbar-button-element/navbar-button-element.component';\r\nimport { EventsService } from './../../services/events.service';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { HoverElementsComponent } from './../../components/hover-elements/hover-elements.component';\r\nimport { ActionModel, BackgroundModel } from '../../styles/style.model';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport { SimpoStickyDirective } from '../../directive/sticky-directive';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport UserCart from '../../ecommerce/json/user-cart.json';\r\n// import { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { AuthenticateUserComponent } from \"../../ecommerce/sections/authenticate-user/authenticate-user.component\";\r\nimport UserDetals from '../../ecommerce/json/user-details.json';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'simpo-navbar-section',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n SimpoButtonComponent,\r\n \r\n SociaIconsComponent,\r\n MatIcon,\r\n NavbarButtonElementComponent,\r\n FormsModule,\r\n HoverElementsComponent,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n SimpoStickyDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective\r\n ],\r\n templateUrl: './navbar-section.component.html',\r\n styleUrl: './navbar-section.component.css'\r\n})\r\nexport class NavbarSectionComponent implements OnInit{\r\n\r\n @Input() data ?: HeaderSectionModel;\r\n @Input() nextComponent: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean = false;\r\n @ViewChild(\"childContainer\") childContainer: any;\r\n public scrollValue: number = 0;\r\n content ? : HeaderContentModel;\r\n style ?: HeaderStyleModel\r\n action?: ActionModel\r\n color = '#000000';\r\n searchText: string = \"\";\r\n \r\n // matDialog = inject(MatDialog);\r\n \r\n\r\n constructor(\r\n private readonly _eventService : EventsService,\r\n private readonly router: Router,\r\n private readonly activatedRoute: ActivatedRoute,\r\n private readonly matDialog: MatDialog\r\n ){\r\n this.getScreenSize();\r\n }\r\n searchProducts() {\r\n this.router.navigate(['/list'], {queryParams: {searchTxt: this.searchText}});\r\n }\r\n goToFav() {\r\n this.router.navigate(['/whislist']);\r\n }\r\n goToAccount() {\r\n\r\n if (UserDetals.user.userId?.length > 0) {\r\n this.router.navigate(['/profile']);\r\n } else {\r\n\r\n if (this.screenWidth <= 475)\r\n this.router.navigate(['/auth']);\r\n else {\r\n this.matDialog.open(AuthenticateUserComponent, {\r\n height: '50vh',\r\n width: '35vw',\r\n data: this.data \r\n });\r\n }\r\n }\r\n }\r\n goToCart(){\r\n this.router.navigate(['/cart']);\r\n }\r\n applyFilter(value: any, type: string) {\r\n value = value[0]?.replace(\" \", \"_\");\r\n this.router.navigate(['/list'], {queryParams: { [type]: value }});\r\n }\r\n @HostListener('window:scroll', ['$event'])\r\n onScroll(event: any) {\r\n this.scrollValue = event.currentTarget.pageYOffset / 100;\r\n }\r\n ngOnInit(): void {\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.action = this.data?.action;\r\n this.activatedRoute.queryParams.subscribe((qParam)=> {\r\n this.searchText = qParam[\"searchTxt\"];\r\n })\r\n // if (this.style?.background && this.nextComponent.styles.merge) {\r\n // this.style.background.color = this.nextComponent.styles.background.color;\r\n // this.style.background.accentColor = this.nextComponent.styles.background.accentColor;\r\n // }\r\n }\r\n\r\n screenWidth: number = 475;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?: number) {\r\n if (typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n get getParentHeight() {\r\n return this.childContainer?.nativeElement?.offsetHeight ?? 0;\r\n }\r\n get getDropdownLinks() {\r\n if (this.content?.ecomLinks)\r\n return Object.keys(this.content?.ecomLinks);\r\n return [];\r\n }\r\n get isEcommerceWebsite() {\r\n return this.data?.type == \"E_COMMERCE\";\r\n }\r\n\r\n close(){\r\n let a = document.getElementById(\"navbarNavAltMarkup\");\r\n if(!a) return;\r\n // a.style.display = \"none\"\r\n a.classList.remove(\"show\");\r\n a.classList.add(\"collapse\")\r\n }\r\n\r\n showEditors : boolean = false;\r\n\r\n showEditTabs(isShow:boolean){\r\n this.showEditors = isShow;\r\n }\r\n goToHome() {\r\n this.router.navigate(['']);\r\n }\r\n get isHeaderSticky() {\r\n return this.data?.styles?.sticky;\r\n }\r\n get backgroundInfo() {\r\n let background: BackgroundModel | {} = {};\r\n if (this.style) {\r\n background = {\r\n ...this.style.background,\r\n showImage: false,\r\n color: \"transparent\"\r\n };\r\n }\r\n return this.nextComponent?.styles?.merge ? (this.scrollValue > 0 ? {...this.nextComponent.styles.background, color: this.style?.background.color} : {...background}) : {...this.data?.styles.background};\r\n }\r\n get simpoColor() {\r\n return this.nextComponent?.styles?.merge ? (this.scrollValue > 0 ? this.style?.background.color : this.nextComponent.styles?.background?.color) : this.style?.background?.color;\r\n }\r\n get accentColor() {\r\n return this.nextComponent?.styles?.merge ? (this.scrollValue > 0 ? this.style?.background?.accentColor : this.nextComponent.styles?.background?.accentColor) : this.style?.background?.accentColor;\r\n }\r\n get isTransparent() {\r\n return this.nextComponent?.styles?.merge && this.scrollValue == 0;\r\n }\r\n redirectTo(content: any){\r\n this._eventService.buttonRedirection.emit({data: content});\r\n }\r\n get isComponentMerged() {\r\n return this.nextComponent?.styles?.merge;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n get getCartItemsCount(): number {\r\n return UserCart?.orderedItems?.length;\r\n }\r\n getKeys(object: any): string[] {\r\n return Object.keys(object);\r\n }\r\n getValues(object: any): unknown[] {\r\n const keys: unknown[] = [];\r\n object.forEach((key: any)=> keys.push(Object.values(key)));\r\n return [...new Set(keys)];\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [style.height.px]=\"getParentHeight\" [simpoBackground]=\"backgroundInfo\" class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div #mainContainer class=\"w-100\" style=\"z-index: 100;\" [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [scrollValue]=\"isComponentMerged ? scrollValue : 0\" [simpoBackground]=\"backgroundInfo\" [simpoSticky]=\"isHeaderSticky\" [ngClass]=\"{'ecomStyle': isEcommerceWebsite}\">\r\n <nav #childContainer class=\"navbar navbar-expand-lg d-block mb-0\" [simpoFooterLayout]=\"style?.layout\">\r\n <div class=\"container-fluid position-relative \">\r\n <div class=\"w-50 left-logo-text d-flex\">\r\n <!-- <a class=\"navbar-brand\" href=\"#\">{{content?.siteName?.value}}</a> -->\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage || !content?.logo?.image?.url\" (click)=\"goToHome()\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon && content?.logo?.text?.url\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-small\" *ngIf=\"content?.logo?.text?.isText\" [simpoColor]=\"simpoColor\">\r\n <b [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.url\"(click)=\"goToHome()\">\r\n <img [src]=\"content?.logo?.image?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n\r\n <div class=\"navbar-collapse fs-6 position-relative d-flex\" style=\"margin-top: 5px; margin-left: 25px;\" [simpoColor]=\"simpoColor\" *ngIf=\"isEcommerceWebsite && screenWidth > 768\">\r\n <ng-container *ngFor=\"let link of getDropdownLinks; let idx = index\">\r\n <a class=\"nav-link dropdown-toggle mx-2\" href=\"#\" [id]=\"'navbarDropdownMenuLink_' + idx\" role=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">{{ link | uppercase }}</a>\r\n <ul class=\"dropdown-menu fs-6 position-absolute\" [attr.aria-labelledby]=\"'navbarDropdownMenuLink_'+idx\">\r\n <li *ngFor=\"let value of getValues(content?.ecomLinks?.[link])\"><a class=\"dropdown-item\" (click)=\"applyFilter(value, link)\">{{value}}</a></li>\r\n </ul>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"w-50 right-btn d-flex justify-content-end\">\r\n <div *ngIf=\"screenWidth <= 768 && isEcommerceWebsite\" class=\"d-flex align-items-center justify-content-around\">\r\n <i class=\"fa fa-search mx-2\" aria-hidden=\"true\"></i>\r\n <mat-icon class=\"mx-2\">add_shopping_cart</mat-icon>\r\n <mat-icon class=\"mx-2\">person_outline</mat-icon>\r\n </div>\r\n <button class=\"navbar-toggler menu-icon\" [simpoColor]=\"simpoColor\" [id]=\"data?.id\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarNavAltMarkup\" *ngIf=\"screenWidth < 769\"\r\n aria-controls=\"navbarNavAltMarkup\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">\r\n <hr>\r\n <hr>\r\n <hr>\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"!isEcommerceWebsite\">\r\n <div class=\"collapse navbar-collapse\" *ngIf=\"screenWidth > 768\">\r\n <div class=\"navbar-nav align-items-center\">\r\n <div class=\"d-flex align-items-center gap-3\" style=\"margin-right: 10px;\">\r\n <ng-container *ngFor=\"let item of content?.navbarButtons\">\r\n <ng-container *ngIf=\"item.showHeader\">\r\n <simpo-navbar-button-element [buttonData]=\"item\" [selectedStyle]=\"style?.navigationStyle\" [buttonStyle]=\"style?.navbarButtonStyle\"\r\n [bgColor]=\"simpoColor\" [sectionId]=\"data?.id\"></simpo-navbar-button-element>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-0\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"simpoColor\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"action?.display\" class=\"button-display mt-0\">\r\n <div *ngFor=\"let button of action?.buttons\">\r\n <button class=\"button\" (click)=\"redirectTo(button?.content)\" simpoButtonDirective [scrollValue]=\"scrollValue\" [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button.styles\" [color]=\"accentColor\">{{button?.content?.label}}</button>\r\n <!-- <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"collapse navbar-collapse\" id=\"navbarNavAltMarkup\" *ngIf=\"screenWidth <= 768\">\r\n <div class=\"inner-height p-4\">\r\n <div class=\"nab-bar-mobile flex-column d-flex justify-content-between align-items-center\">\r\n <div class=\"d-flex flex-column w-100\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"title-row\">\r\n <div class=\"d-flex gap-3 align-items-center\" *ngIf=\"!content?.logo?.isImage || !content?.logo?.image?.url\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon && content?.logo?.text?.url\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-small\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 align-items-center\"\r\n *ngIf=\"content?.logo?.isImage\">\r\n <img [src]=\"content?.logo?.image?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n\r\n </div>\r\n <div class=\"close-box cursor-pointer d-flex\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center mt-5\">\r\n <div class=\"d-flex flex-column gap-4 w-100\">\r\n <ng-container *ngFor=\"let item of content?.navbarButtons\">\r\n <simpo-navbar-button-element [buttonData]=\"item\" [selectedStyle]=\"style?.navigationStyle\" [buttonStyle]=\"style?.navbarButtonStyle\"></simpo-navbar-button-element>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-0\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"simpoColor\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-4\">\r\n <div *ngIf=\"action?.display\" class=\"button-display\">\r\n <div *ngFor=\"let button of action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\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>\r\n <ng-container *ngIf=\"isEcommerceWebsite\">\r\n <div class=\"collapse navbar-collapse position-absolute pr-0\" style=\"right: 0px;\" *ngIf=\"screenWidth > 768\">\r\n <div class=\"container-fluid justify-content-between pr-0 d-flex\" style=\"max-width: 50vw;\">\r\n <div class=\"input-group\">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\r\n <input type=\"text\" class=\"form-control\" placeholder=\"Search Product..\" aria-label=\"Search Product\" [(ngModel)]=\"searchText\" (ngModelChange)=\"searchProducts()\">\r\n </div>\r\n <div class=\"d-flex flex-column align-items-center\" style=\"width: 60px; margin-left: -10px; cursor: pointer;\" (click)=\"goToFav()\">\r\n <mat-icon>favorite_border</mat-icon>\r\n <span class=\"text-dark fw-normal fs-6\">Favourite</span>\r\n </div>\r\n <div class=\"d-flex flex-column align-items-center mx-3 position-relative\" style=\"width: 60px; cursor: pointer;\" (click)=\"goToCart()\">\r\n <mat-icon>add_shopping_cart</mat-icon>\r\n <span class=\"text-dark fw-normal fs-6\">Bag</span>\r\n <div class=\"position-absolute cartItemCount\" *ngIf=\"getCartItemsCount\">{{getCartItemsCount}}</div>\r\n </div>\r\n <div class=\"d-flex flex-column align-items-center\" style=\"width: 60px; margin-left: -10px; cursor: pointer;\" (click)=\"goToAccount()\">\r\n <mat-icon>person_outline</mat-icon>\r\n <span class=\"text-dark fw-normal fs-6\">Account</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </nav>\r\n </div>\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>\r\n","import { Component, Input } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { EventsService } from './../../services/events.service';\r\n\r\n@Component({\r\n selector: 'simpo-add-new-section',\r\n standalone: true,\r\n imports: [MatIcon],\r\n templateUrl: './add-new-section.component.html',\r\n styleUrl: './add-new-section.component.css'\r\n})\r\nexport class AddNewSectionComponent {\r\n constructor(private _eventService: EventsService){}\r\n @Input() index? : number;\r\n\r\n addSection(){\r\n this._eventService.addNewSectionClick.emit({index: this.index, position: \"ABOVE\"});\r\n }\r\n}\r\n","<section class=\"main_section\">\r\n <div>\r\n <div #displayElements></div>\r\n </div>\r\n <section class=\"add_btn\" (click)=\"addSection()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 5px;\">Add Section</span>\r\n </section>\r\n</section>\r\n","import { Component, Input, OnInit, HostListener, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { BannerStylesModel, ButtonModel } from '../../styles/style.model';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport { ContactUsContentModel, ContactUsModel, ContactUsStylesModel } from './contact-us.modal';\r\nimport BaseSection from '../BaseSection';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'simpo-contact-us',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ButtonDirectiveDirective\r\n ],\r\n templateUrl: './contact-us.component.html',\r\n styleUrl: './contact-us.component.css'\r\n})\r\nexport class ContactUsComponent extends BaseSection implements OnInit {\r\n @Input() data?:ContactUsModel;\r\n @Input() index? : number;\r\n content?: ContactUsContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: ContactUsStylesModel;\r\n button?: ButtonModel\r\n buttonId: string = '';\r\n\r\n constructor(\r\n private _eventService : EventsService,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private snackBar: MatSnackBar\r\n ){\r\n super();\r\n\r\n }\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.button = this.data?.action?.buttons[0];\r\n\r\n this.buttonId = (this.data ? this.data.id : '') + (this.button ? this.button.id : '');\r\n if(!this.styles || !this.content) return;\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.screenSize();\r\n window.addEventListener('resize', () => {\r\n this.screenSize();\r\n });\r\n }\r\n\r\n }\r\n\r\n @HostListener('window:resize',['$event'])\r\n screenSize(): void{\r\n this.screenWidth = window.innerWidth;\r\n }\r\n screenWidth: any;\r\n\r\n getWidthByField(field: any) {\r\n let width= this.screenWidth > 475 ? '48': '100';\r\n let contactWidth = this.screenWidth > 475 ? '97' : '100'\r\n if (field.type == \"address\") {\r\n return ((this.content?.contactField.fields.filter((add)=> add.type == \"address\").length ?? 1) % 2) ? contactWidth : width;\r\n }\r\n return field.type == \"desc\" ? contactWidth : width;\r\n }\r\n\r\n buttonClick(){\r\n if(this.content) {\r\n for(let field of this.content?.contactField?.fields){\r\n if(field.required && !field.inputValue){\r\n this.snackBar.open('Please fill mandatory fields', 'close', {duration: 1500});\r\n return;\r\n }\r\n }\r\n this._eventService.contactFormData.emit({data: this.content?.contactField.fields,successMessage:this.data?.content.contactField.successMessage});\r\n } else {\r\n this.snackBar.open('Please fill mandatory fields', 'close', {duration: 1500});\r\n }\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n canShowContactField(field: any) {\r\n return Object.hasOwn(field, \"status\") ? field.status : true;\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div *ngIf=\"content?.image?.showImage === false\" class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"col-12 d-flex justify-content-evenly\" style=\"gap: 3rem;\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{'align-items-center': styles?.positionLayout?.value === 'top'}\">\r\n <div class=\"d-flex flex-column col-5 pt-5\">\r\n <div *ngFor=\"let item of content?.inputText\" [innerHTML]=\"item.value\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\" >\r\n </div>\r\n </div>\r\n <div class=\"col-5 d-flex flex-wrap\" style=\"gap: 1rem;height: fit-content;\">\r\n <ng-container *ngFor=\"let feild of content?.contactField?.fields\">\r\n <simpo-input-fields [opacity]=\"styles?.inputOpacity\" [style.width.%]=\"getWidthByField(feild)\" [feild]=\"feild\" [bgColor]=\"styles?.background?.color\" [sectionId]=\"data?.id\" *ngIf=\"canShowContactField(feild)\"></simpo-input-fields>\r\n </ng-container>\r\n <div class=\"w-100\">\r\n <button class=\"send-btn\" simpoButtonDirective [id]=\"buttonId\" [buttonStyle]=\"button?.styles\" [color]=\"styles?.background?.accentColor\" (click)=\"buttonClick()\">{{ content?.contactField?.button }}</button>\r\n </div>\r\n <!-- <button class=\"send-btn\" simpoButtonDirective [id]=\"buttonId\" [buttonStyle]=\"button?.styles\" [color]=\"styles?.background?.accentColor\" (click)=\"buttonClick()\">{{ content?.contactField?.button }}</button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"content?.image?.showImage === true\" class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer\r\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"g-5 mobile-display\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right', 'align-items-center': styles?.positionLayout?.value === 'top'}\">\r\n <div class=\"col-10 col-sm-8 col-lg-6 mobile-image\" *ngIf=\"content?.image?.showImage\">\r\n <img [src]=\"content?.image?.url\" [id]=\"data?.id\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" [class]=\"data?.id+(content?.image?.id || '')\"\r\n class=\"d-block mx-lg-auto img-fluid h-100\" [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\"\r\n loading=\"lazy\" />\r\n </div>\r\n <div class=\"d-flex flex-column mobile-text\" style=\"width: 46%;\" [ngClass]=\"{'pt-5': styles?.positionLayout?.value === 'top'}\" [id]=\"data?.id\">\r\n <div class=\"d-flex flex-column\">\r\n <div *ngFor=\"let item of content?.inputText\" [innerHTML]=\"item.value\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n <div class=\"d-flex flex-wrap\" style=\"gap: 1rem;height: fit-content;\">\r\n <ng-container *ngFor=\"let feild of content?.contactField?.fields\">\r\n <simpo-input-fields [opacity]=\"styles?.inputOpacity\" [style.width.%]=\"getWidthByField(feild)\" [feild]=\"feild\"\r\n [bgColor]=\"styles?.background?.color\" [sectionId]=\"data?.id\"></simpo-input-fields>\r\n </ng-container>\r\n <div class=\"w-100\">\r\n <button class=\"send-btn\" simpoButtonDirective [id]=\"buttonId\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\" (click)=\"buttonClick()\">{{ content?.contactField?.button\r\n }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\r\n\r\n@Component({\r\n selector: 'simpo-skeleton-loader-section',\r\n standalone: true,\r\n imports: [CommonModule,NgxSkeletonLoaderModule],\r\n templateUrl: './skeleton-loader-section.component.html',\r\n styleUrl: './skeleton-loader-section.component.css'\r\n})\r\nexport class SkeletonLoaderSectionComponent {\r\n @Input() sectionType!:string;\r\n}\r\n","<div class=\"p-15\" style=\"width: 100%;\">\r\n <div class=\"skeleton-parent\"\r\n *ngIf=\"sectionType === 'service' || sectionType === 'teammember' || sectionType === 'imagegrid'\">\r\n <div class=\"skeleton\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"skeleton\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"skeleton\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"banner-skeleton\" *ngIf=\"sectionType === 'banner' || sectionType === 'text_image'\">\r\n <div style=\"width: 50%;\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '90%',\r\n height: '400px',\r\n 'border-radius': '10px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n <div class=\"second-section-wrapper\" style=\"width: 50%;padding-top: 50px;\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div style=\"margin-top: 50px;\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '130px',\r\n height: '45px',\r\n 'border-radius': '10px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-skeleton\" *ngIf=\"sectionType === 'text'\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div style=\"margin-top: 50px;\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '130px',\r\n height: '45px',\r\n 'border-radius': '10px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n <div class=\"testimonial-skeleton\" *ngIf=\"sectionType === 'testimonial'\">\r\n <div>\r\n <ngx-skeleton-loader appearance=\"circle\" [theme]=\"{ width: '80px', height: '80px' }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\" style=\"margin-top: 20px;\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div style=\"margin-top: 50px;\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '130px',\r\n height: '45px',\r\n 'border-radius': '10px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n <div class=\"image-skeleton\"\r\n *ngIf=\"sectionType === 'imageCarousel' || sectionType === 'image' || sectionType === 'contact us'\">\r\n <ngx-skeleton-loader count=\"1\" [theme]=\"{\r\n 'border-radius': '5px',\r\n height: '50vh',\r\n width: '100%'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BannerGridSectionModel, BannerGridContentModel, BannerGridStylesModel } from './banner-grid-section.model';\r\nimport { EventsService } from '../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport {BackgroundDirective} from '../../directive/background-directive'\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { SimpoButtonComponent } from \"../../elements/simpo-button/simpo-button.component\";\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\n\r\n@Component({\r\n selector: 'simpo-banner-grid-section',\r\n standalone: true,\r\n templateUrl: './banner-grid-section.component.html',\r\n styleUrl: './banner-grid-section.component.css',\r\n imports: [CommonModule,\r\n HoverDirective,\r\n BackgroundDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n CornerDirective,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n SimpoButtonComponent,\r\n BorderDirective,\r\n AnimationDirective,\r\n PositionLayoutDirectiveDirective,\r\n SimpoFooterLayoutDirective,\r\n ObjectPositionDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective\r\n ]\r\n})\r\nexport class BannerGridSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?: BannerGridSectionModel;\r\n @Input() edit?: boolean;\r\n content?: BannerGridContentModel;\r\n styles?: BannerGridStylesModel;\r\n @Input() delete? : boolean;\r\n @Input() index? : number;\r\n\r\n listItems : any;\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.listItems = this.data?.content.listItem.data\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n this.deleteSelected = this.delete\r\n }\r\n get canMergeNavbar() {\r\n return this.styles?.merge;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [ngClass]=\"{'mergeNavbar': canMergeNavbar}\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"px-5 py-4\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"d-flex justify-content-between gap-5 align-items-center total-section\"[id]=\"data?.id\"\r\n [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'right' || styles?.positionLayout?.value === 'left' }\">\r\n <div class=\"image-section\" *ngIf=\"content?.listItem?.data?.length === 3\" [ngClass]=\"{'image-position' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" [ngClass]=\"{'images-top' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <img [src]=\"listItems[0]?.image.url\" [id]=\"data?.id\" [simpoCorner]=\"styles?.corners\" class=\"img\" [ngClass]=\"{'image-width-top' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [simpoImageDirective]=\"styles?.image\" [alt]=\"listItems[0]?.image.altText\"\r\n [class]=\"data?.id+(listItems[0]?.image.id || '')\" [simpoObjectPosition]=\"listItems[0]?.image.position\"\r\n loading=\"lazy\">\r\n </div>\r\n <div [ngClass]=\"{'images' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" class=\"d-flex justify-content-between mt-4\">\r\n <img *ngFor=\"let item of listItems.slice(1); let i = index\" [src]=\"item?.image.url\" [id]=\"data?.id\" [ngClass]=\"{'image-width' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [alt]=\"item?.image.altText\" [simpoCorner]=\"styles?.corners\" [simpoImageDirective]=\"styles?.image\"\r\n [class]=\"data?.id+(item?.image.id || '')\" [simpoObjectPosition]=\"item?.image.position\" class=\"img-1\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"image-section-2\" *ngIf=\"content?.listItem?.data?.length === 2\">\r\n <div [ngClass]=\"{'image-width-2' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" class=\"d-flex justify-content-between mt-4\">\r\n <img *ngFor=\"let item of listItems; let i = index\" [src]=\"item?.image.url\" [id]=\"data?.id\"\r\n [ngClass]=\"{'images-width-2' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [alt]=\"item?.image.altText\" [simpoCorner]=\"styles?.corners\" [simpoImageDirective]=\"styles?.image\"\r\n [class]=\"data?.id+(item?.image.id || '')\" [simpoObjectPosition]=\"item?.image.position\" class=\"img-1\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"image-section-3\" *ngIf=\"content?.listItem?.data?.length === 1\" [ngClass]=\"{'image-width-3' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <div>\r\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" class=\"d-flex justify-content-between mt-4\">\r\n <img *ngFor=\"let item of listItems; let i = index\" [src]=\"item?.image.url\" [id]=\"data?.id\"\r\n [ngClass]=\"{'images-width-3' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [alt]=\"item?.image.altText\" [simpoCorner]=\"styles?.corners\" [simpoImageDirective]=\"styles?.image\"\r\n [class]=\"data?.id+(item?.image.id || '')\" [simpoObjectPosition]=\"item?.image.position\" class=\"image-1\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-6 d-flex flex-column justify-content-start gap-15\" [id]=\"data?.id\" [ngClass]=\"{'col-lg-12' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let text of content?.inputText\">\r\n <div [innerHTML]=\"text.value\" [ngClass]=\"text.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <div class=\"button-section d-flex mt-4\" *ngIf=\"!data?.action?.hasOwnProperty('display') || data?.action?.display\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\r\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\" [isMerged]=\"styles?.merge ?? false\"></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\r\n</section>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ChooseUsContentModal, ChooseUsStylesModel, ContactUsSectionModal } from './choose-us-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ObjectPositionDirective} from '../../directive/image-position.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\n\r\n@Component({\r\n selector: 'simpo-choose-us-section',\r\n standalone: true,\r\n templateUrl: './choose-us-section.component.html',\r\n styleUrl: './choose-us-section.component.css',\r\n imports: [CommonModule,\r\n BackgroundDirective,\r\n HoverDirective,\r\n OverlayDirective,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n PositionLayoutDirectiveDirective,\r\n ContentFitDirective,\r\n AnimationDirective,\r\n BorderDirective,\r\n ObjectPositionDirective,\r\n CornerDirective,\r\n simpoConetenAlignmentDirective\r\n ]\r\n})\r\nexport class ChooseUsSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?:ContactUsSectionModal;\r\n @Input() index? : number;\r\n content?: ChooseUsContentModal;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: ChooseUsStylesModel;\r\n\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","\r\n<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-5 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\" >\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\"\r\n [simpoAnimation]=\"styles?.animation\">\r\n <div class=\"d-flex flex-column\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\">\r\n <div class=\"d-flex flex-column gap-15\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large heading' : 'body-large description'\">\r\n {{item.value}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-section d-flex\" [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'}\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"cards\" *ngFor=\"let cards of content?.listItem?.data\">\r\n <div class=\"individual-cards\" [simpoCorner]=\"styles?.corners\">\r\n <div class=\"heading-large lh-2 mb-3\">\r\n {{cards.inputText[0].value}}\r\n <div class=\"body-large\">\r\n {{cards.inputText[1].value}}\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 *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>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { PricingSectionContentModal, PricingSectionModal, PricingSectionStylesModel } from './pricing-section.modal';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { EventsService } from '../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n\r\n@Component({\r\n selector: 'simpo-pricing-section',\r\n standalone: true,\r\n templateUrl: './pricing-section.component.html',\r\n styleUrl: './pricing-section.component.css',\r\n imports: [CommonModule,\r\n HoverDirective,\r\n BackgroundDirective,\r\n OverlayDirective,\r\n BorderDirective,\r\n AnimationDirective,\r\n PositionLayoutDirectiveDirective,\r\n ContentFitDirective,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n ObjectPositionDirective,\r\n CornerDirective,\r\n ImageDirectiveDirective,\r\n SimpoButtonComponent,\r\n ButtonDirectiveDirective,\r\n MatIcon, ColorDirective,\r\n ContentTitleDirective,\r\n ]\r\n})\r\nexport class PricingSectionComponent extends BaseSection {\r\n @Input() data?: PricingSectionModal;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n button?: ButtonModel;\r\n content?: PricingSectionContentModal;\r\n style?: PricingSectionStylesModel;\r\n\r\n constructor(private _eventService : EventsService) {\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n this.button = this.data?.action.buttons[0];\r\n }\r\n\r\n getTextColor() {\r\n let bgColor = this.style?.background.color || '#FFFFFF'\r\n const threshold = 130;\r\n const r = parseInt(bgColor.slice(1, 3), 16);\r\n const g = parseInt(bgColor.slice(3, 5), 16);\r\n const b = parseInt(bgColor.slice(5, 7), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n return brightness > threshold ? '#000000' : '#ffffff';\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div class=\"pricing-options d-flex\">\r\n <div class=\"individual-options\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\" *ngFor=\"let options of content?.listItem?.data\"\r\n [ngClass]=\"{'highlighted-option': options.highlight.highlighted === true,\r\n 'individual-options-3': content?.listItem?.data?.length === 3,\r\n 'individual-options-2': content?.listItem?.data?.length === 2,\r\n 'individual-options-1': content?.listItem?.data?.length === 1\r\n }\">\r\n <img class=\"image\" *ngIf=\"content?.display?.showImage === true\"\r\n [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"options.image.position\"\r\n [simpoCorner]=\"style?.corners\" [src]=\"options.image.url \" alt=\"\" width=\"92%\" loading=\"lazy\">\r\n <div class=\"highlight-label\" *ngIf=\"options.highlight.highlighted === true\" [ngStyle]=\"{'background-color': getTextColor()}\" [simpoColor]=\"getTextColor()\">\r\n {{options.highlight.label}}\r\n </div>\r\n <div class=\"heading-small\">{{options.inputText[0].value}}</div>\r\n <div class=\"heading-large price\">{{options.inputText[2].value}}</div>\r\n <div class=\"body-desc\">{{options.inputText[3].value}}</div>\r\n\r\n <div class=\"btn\" *ngIf=\"content?.display?.showButton === true\">\r\n <button class=\"button\" simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\" [color]=\"data?.styles?.background?.accentColor\">{{options?.button?.label}}</button>\r\n </div>\r\n <div class=\"body-desc description\" *ngIf=\"content?.display?.showContent === true\">{{options.inputText[1].value}}</div>\r\n <div class=\"body-desc content-options\" *ngIf=\"content?.display?.showIncludeditems\">\r\n <div class=\"d-flex gap-15\" *ngFor=\"let content of options.additionalData\">\r\n <mat-icon>check</mat-icon> {{content.content}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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","import { Component, Input, NgZone, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AddressModel, LocationContentModel, LocationSectionModel, LocationStyleModel } from './location-section.modal';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport * as mapboxgl from 'mapbox-gl';\r\nimport { mapStyle } from '../../styles/index';\r\nimport { Subscription } from 'rxjs';\r\nimport { MAP_STYLE } from '@simpo-ui/styles/types';\r\n\r\n@Component({\r\n selector: 'simpo-location-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BorderDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n HoverDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective\r\n ],\r\n templateUrl: './location-section.component.html',\r\n styleUrl: './location-section.component.css'\r\n})\r\nexport class LocationSectionComponent extends BaseSection{\r\n @Input() data?: LocationSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n styles?: LocationStyleModel;\r\n content?: LocationContentModel;\r\n\r\n constructor(private zone: NgZone,\r\n private _eventService : EventsService\r\n ){\r\n super()\r\n }\r\n\r\n map!: mapboxgl.Map;\r\n style = `mapbox://styles/mapbox/`;\r\n latitude: number = 30.2672;\r\n longitude: number = -97.7431;\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n this.checkLocationChange();\r\n this.checkMapStyleChange();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.zone.runOutsideAngular(() => {\r\n if(this.styles) {\r\n this.style += mapStyle[this.styles?.mapStyle]\r\n }\r\n if(this.content?.address.longitude == 0 && this.content.address.latitude == 0) {\r\n this.getCurrentLocation();\r\n } else {\r\n this.goToLocation()\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n accessToken = 'pk.eyJ1IjoibmFpZHUyNTA3IiwiYSI6ImNsZWxjcGlmZTB0ejkzb3BnMndzbmthM2cifQ.BJoCPnd81NYvx_2VUadF2w'\r\n\r\n async getCurrentLocation(){\r\n\r\n if(typeof navigator !== 'undefined' && navigator.geolocation) {\r\n await navigator.geolocation.getCurrentPosition((position) => {\r\n if(this.content) {\r\n this.content.address.longitude = position.coords.longitude;\r\n this.content.address.latitude = position.coords.latitude\r\n }\r\n\r\n this.map = new mapboxgl.Map({\r\n container: 'map',\r\n style: this.style,\r\n zoom: 12,\r\n pitch: 0,\r\n bearing: 0,\r\n accessToken: this.accessToken,\r\n });\r\n\r\n setTimeout(() => {\r\n this.map.addControl(new mapboxgl.NavigationControl());\r\n this.map?.flyTo({\r\n center: [(this.content?.address.longitude || 0), (this.content?.address.latitude || 0)],\r\n });\r\n new mapboxgl.Marker({ color: this.styles?.background.color })\r\n .setLngLat([(this.content?.address.longitude || 0), (this.content?.address.latitude || 0)])\r\n .addTo(this.map);\r\n }, 0);\r\n }, () => {\r\n if(this.content?.address?.longitude && this.content?.address?.latitude) {\r\n this.content.address.longitude = 0;\r\n this.content.address.latitude = 0;\r\n }\r\n\r\n this.map = new mapboxgl.Map({\r\n container: 'map',\r\n style: this.style,\r\n zoom: 2,\r\n pitch: 0,\r\n bearing: 0,\r\n accessToken: this.accessToken,\r\n });\r\n setTimeout(() => {\r\n this.map.flyTo({\r\n center: [(this.content?.address.longitude || 0), (this.content?.address.latitude || 0)],\r\n });\r\n new mapboxgl.Marker({ color: this.styles?.background.color })\r\n .setLngLat([(this.content?.address.longitude || 0), (this.content?.address.latitude || 0)])\r\n .addTo(this.map);\r\n }, 0);\r\n\r\n })\r\n }\r\n }\r\n\r\n goToLocation(){\r\n this.map = new mapboxgl.Map({\r\n container: 'map',\r\n style: this.style,\r\n zoom: 12,\r\n pitch: 0,\r\n bearing: 0,\r\n accessToken: this.accessToken,\r\n });\r\n this.map?.flyTo({\r\n center: [(this.content?.address?.longitude || 0), (this.content?.address?.latitude || 0)],\r\n });\r\n new mapboxgl.Marker({ color: this.styles?.background.color })\r\n .setLngLat([(this.content?.address?.longitude || 0), (this.content?.address?.latitude || 0)])\r\n .addTo(this.map);\r\n }\r\n\r\n locationChangeSubscription?: Subscription;\r\n checkLocationChange(){\r\n this.locationChangeSubscription?.unsubscribe();\r\n this.locationChangeSubscription = this._eventService.locationChangeCheck.subscribe((res: AddressModel) => {\r\n if(this.content) {\r\n this.content.address = res;\r\n this.goToLocation();\r\n }\r\n })\r\n }\r\n\r\n mapStyleSubscription?: Subscription;\r\n checkMapStyleChange() {\r\n this.mapStyleSubscription?.unsubscribe();\r\n this._eventService.mapStyleChangeCheck.subscribe((res: MAP_STYLE) => {\r\n if(this.map) {\r\n this.style = `mapbox://styles/mapbox/` + mapStyle[res];\r\n this.map.setStyle(this.style)\r\n\r\n }\r\n })\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5\" [id]=\"data?.id\"\r\n [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\">\r\n <div class=\"col-10 col-sm-8 col-lg-6 display-flex justify-center\">\r\n <div class=\"map\" [simpoCorner]=\"styles?.corners\" id=\"map\"></div>\r\n </div>\r\n <div class=\"col-lg-6 d-flex flex-column justify-content-start gap-15\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n <div class=\"body-large\" [innerHTML]=\"content?.address?.name\"></div>\r\n </div>\r\n <div *ngFor=\"let item of content?.listItem?.data\">\r\n <div *ngFor=\"let input of item?.inputText;let i = index\">\r\n <div [innerHTML]=\"input.value\" [ngClass]=\"i == 0 ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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","import { Component,Input,OnInit } from '@angular/core';\r\nimport { ActionModel} from '../../styles/style.model';\r\nimport {HeaderTextStylesModel} from './header-text.model';\r\nimport { SimpoElementsModule } from '../../elements';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { Action } from 'rxjs/internal/scheduler/Action';\r\nimport { HeaderTextContentModel, HeaderTextModel } from './header-text.model';\r\n@Component({\r\n selector: 'simpo-header-text',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n ContentFitDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective\r\n\r\n ],\r\n templateUrl: './header-text.component.html',\r\n styleUrl: './header-text.component.css'\r\n})\r\n\r\nexport class HeaderTextComponent extends BaseSection implements OnInit {\r\n @Input() data?: HeaderTextModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n id !: string;\r\n action!: ActionModel;\r\n content?: HeaderTextContentModel;\r\n styles?: HeaderTextStylesModel;\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete;\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n const id = this.data?.id;\r\n const action = this.data?.action;\r\n if(!this.styles || !this.content) return;\r\n // this.styles.layout.bannerImageDisplay = this.content.image.showImage;\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"flex-column row g-2\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-center': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right' }\">\r\n <div class=\"col px-5\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div *ngIf=\"item.label === 'Tagline' || item.label === 'Heading'\" [innerHTML]=\"item.value\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n </div>\r\n <div class=\"col px-5\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div *ngIf=\"item.label === 'Subtext'\" [innerHTML]=\"item.value\" class=\"body-large\">\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"d-flex gap-2 d-md-flex mt-15\" [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\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\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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 </div>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { EventsService } from '../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { RecentBlogPostSectionModel, RecentBlogPostContentModel, BannerGridStylesModel } from './recent-blog-post-section.model';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoButtonComponent } from \"../../elements/simpo-button/simpo-button.component\";\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\r\nimport { MatIcon } from '@angular/material/icon';\r\n@Component({\r\n selector: 'simpo-recent-blog-post-section',\r\n standalone: true,\r\n imports: [\r\n BackgroundDirective,\r\n HoverDirective,\r\n CommonModule,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n OverlayDirective,\r\n AnimationDirective,\r\n BorderDirective,\r\n ContentFitDirective,\r\n ImageDirectiveDirective,\r\n ObjectPositionDirective,\r\n CornerDirective,\r\n SimpoButtonComponent,\r\n ContentTitleDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n NgxSkeletonLoaderModule,\r\n MatIcon\r\n ],\r\n templateUrl: './recent-blog-post-section.component.html',\r\n styleUrl: './recent-blog-post-section.component.css'\r\n})\r\nexport class RecentBlogPostSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?:RecentBlogPostSectionModel;\r\n @Input() index? : number;\r\n content?: RecentBlogPostContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @Input() responseData: any[] = [];\r\n style?: BannerGridStylesModel;\r\n buttonData?: ButtonModel\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.buttonData = this.data?.action.buttons[0];\r\n\r\n for(let blog of this.responseData) {\r\n blog['img'] = blog.blocks.find((x: any) => x.type === 'image')?.data?.file?.url\r\n }\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n\r\n getSliceParameters() {\r\n return [0, (this.content?.noOfPosts || 0)];\r\n }\r\n\r\n getBlogById(blogId: any){\r\n this._eventService.blogByIdEvent.emit(blogId);\r\n }\r\n\r\n openBlogList(){\r\n this._eventService.openBlogListEvent.emit();\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\" [ngStyle]=\"{'width' : (responseData.length || 0) == 0 ? '100%' : ''}\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div (click)=\"getBlogById(content.id)\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\r\n class=\"individual-cards\"\r\n *ngFor=\"let content of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]\">\r\n <div class=\"image\">\r\n <img [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoCorner]=\"style?.corners\" class=\"d-block mx-lg-auto img-fluid h-100\" alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\">\r\n <img [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\"\r\n alt=\"\" *ngIf=\"!content.img\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium title mt-4\">\r\n {{content.postTitle}}\r\n </div>\r\n <div class=\"body-large adate mt-3\">\r\n {{content.createdTimeStamp | date:'EEEE, MMM, d, y'}}\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"responseData?.length == 0\" class=\"row\">\r\n <div class=\"no-blog-post\">\r\n <mat-icon>info</mat-icon>This section won't be visible because you have no published blog posts.\r\n </div>\r\n <div class=\"skeleton\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-section mt-3rem\">\r\n <button class=\"button\" (click)=\"openBlogList()\" simpoButtonDirective [id]=\"data?.id+(buttonData?.id || '')\"\r\n [buttonStyle]=\"buttonData?.styles\"\r\n [color]=\"data?.styles?.background?.accentColor\">{{buttonData?.content?.label}}</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { Component, Input } from '@angular/core';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BlogListContentModel, BlogListSectionModel, BlogListStylesModel } from './blog-list.model';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { ContentTitleDirective, SPACING } from '../../directive/content-title-spacing.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport BaseSection from '../BaseSection';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\n\r\n@Component({\r\n selector: 'simpo-blog-list',\r\n standalone: true,\r\n imports: [CommonModule,\r\n AnimationDirective,\r\n BorderDirective,\r\n ContentFitDirective,\r\n BackgroundDirective,\r\n ImageDirectiveDirective,\r\n CornerDirective,\r\n ColumnDirectiveDirective,\r\n OverlayDirective,\r\n ContentTitleDirective,\r\n HoverDirective,\r\n HoverElementsComponent,\r\n MatIcon\r\n ],\r\n templateUrl: './blog-list.component.html',\r\n styleUrl: './blog-list.component.css'\r\n})\r\nexport class BlogListComponent extends BaseSection{\r\n @Input() responseData: any[] = [];\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n\r\n @Input() data?: BlogListSectionModel;\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super()\r\n }\r\n\r\n style?: BlogListStylesModel;\r\n blogContent?: BlogListContentModel\r\n\r\n ngOnInit(){\r\n for(let blog of this.responseData) {\r\n blog['img'] = blog.blocks.find((x: any) => x.type === 'image')?.data?.file?.url\r\n }\r\n this.style = this.data?.styles\r\n this.blogContent = this.data?.content\r\n }\r\n\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n\r\n getBlogById(blogId: any){\r\n this._eventService.blogByIdEvent.emit(blogId);\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" class=\"total-container\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" *ngIf=\"(responseData?.length || 0) > 0;else elseBlock\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [simpoBorder]=\"style?.border\" [simpoAnimation]=\"style?.animation\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\" *ngFor=\"let content of responseData\">\r\n <div class=\"cards\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\">\r\n <img [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\">\r\n <img [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\" alt=\"\" *ngIf=\"!content.img\"\r\n loading=\"lazy\">\r\n <div class=\"p-30\">\r\n <div class=\"heading-medium title mt-4\" *ngIf=\"blogContent?.display?.showHeading\">\r\n {{content.postTitle}}\r\n </div>\r\n <ng-container>\r\n <div class=\"body-large mt-4\" *ngIf=\"blogContent?.display?.showContent\">\r\n {{ content.postSummary.length > 250 ? content.postSummary.substring(0, 250) + '...' :\r\n content.postSummary }}\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"authors\" [ngClass]=\"'justify-content-' + (style?.layout?.align || '')\">\r\n <div>\r\n <mat-icon>person</mat-icon> <span class=\"body-large\">{{content?.author?.name}}</span>\r\n </div>\r\n <div class=\"calendar_today\">\r\n <mat-icon>calendar_today</mat-icon> <span class=\"body-large\">{{content.createdTimeStamp |\r\n date:'EEEE, MMM, d, y'}}</span>\r\n </div>\r\n </div>\r\n <div class=\"button heading-large\" (click)=\"getBlogById(content.id)\" [ngClass]=\"'justify-content-' + (style?.layout?.align || '')\">\r\n Read More <mat-icon>arrow_right_alt</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</section>\r\n<ng-template #elseBlock>\r\n <div class=\"no-blog-text heading-medium\">Sorry there are no blog posts.</div>\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { EventsService } from './../../services/events.service';\r\n\r\n@Component({\r\n selector: 'simpo-view-blog',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './view-blog.component.html',\r\n styleUrl: './view-blog.component.css'\r\n})\r\nexport class ViewBlogComponent {\r\n @Input() responseData: any;\r\n\r\n constructor(\r\n private readonly _eventService: EventsService\r\n ) {}\r\n ngOnInit(){\r\n }\r\n editSection(){\r\n // this._eventService.toggleEditorEvent.emit(false);\r\n }\r\n}\r\n","<section class=\"main-section\">\r\n <div class=\"blog-details\">\r\n <h1 class=\"blog-title\">{{responseData.postTitle}}</h1>\r\n <div style=\"margin-top: 20px;\">\r\n <ng-container *ngFor=\"let item of responseData?.blocks\">\r\n <div *ngIf=\"item.type=='header'\">\r\n <h1 *ngIf=\"item.data.level==1\" [innerHTML]=\"item.data.text\"></h1>\r\n <h2 *ngIf=\"item.data.level==2\" [innerHTML]=\"item.data.text\"></h2>\r\n <h3 *ngIf=\"item.data.level==3\" [innerHTML]=\"item.data.text\"></h3>\r\n <h4 *ngIf=\"item.data.level==4\" [innerHTML]=\"item.data.text\"></h4>\r\n <h5 *ngIf=\"item.data.level==5\" [innerHTML]=\"item.data.text\"></h5>\r\n <h6 *ngIf=\"item.data.level==6\" [innerHTML]=\"item.data.text\"></h6>\r\n </div>\r\n <div *ngIf=\"item.type=='paragraph'\">\r\n <p class=\"inner-text\" [innerHTML]=\"item.data.text\"></p>\r\n </div>\r\n <div *ngIf=\"item.type=='list'\">\r\n <div *ngIf=\"item.type=='list'\">\r\n <div *ngIf=\"item.data.style=='ordered'\">\r\n <ol>\r\n <ng-container *ngFor=\"let list of item.data.items\">\r\n <li>{{ list }}</li>\r\n </ng-container>\r\n </ol>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"item.type=='delimiter'\" class=\"ce-delimiter\">\r\n </div>\r\n <div *ngIf=\"item.type=='image'\" class=\"image-container\">\r\n <img [src]=\"item.data.file.url\" alt=\"\" loading=\"lazy\">\r\n </div>\r\n <div *ngIf=\"item.type=='table'\">\r\n\r\n <table>\r\n <ng-container *ngFor=\"let data of item.data.content\">\r\n <tr>\r\n <ng-container *ngFor=\"let item of data\">\r\n <td>{{ item }}</td>\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component, Input, OnInit,HostListener} from '@angular/core';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ColorDirective } from './../../directive/color.directive';\r\nimport { LayOutModel } from '../../styles/style.model';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { TextSizeDirective } from '../../directive/text-size.directive';\r\nimport { ProcessSectionContentModel, ProcessSectionModel, ProcessSectionStylesModel } from './process-section.modal';\r\n\r\n@Component({\r\n selector: 'simpo-process-section',\r\n standalone: true,\r\n imports: [SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n AnimationDirective,\r\n SimpoContainerAligment,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ColorDirective,\r\n TextSizeDirective],\r\n templateUrl: './process-section.component.html',\r\n styleUrl: './process-section.component.css'\r\n})\r\nexport class ProcessSectionComponent extends BaseSection {\r\n @Input() data?:ProcessSectionModel;\r\n @Input() index? : number;\r\n content?: ProcessSectionContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: ProcessSectionStylesModel;\r\n\r\n deviceWidth: number = 0;\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n\r\n this.getScreenSize()\r\n\r\n }\r\n\r\n screenWidth:number=0;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?:any) {\r\n if(typeof window !== 'undefined') {\r\n this.deviceWidth = window.innerWidth;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n // this.styles.layout.bannerImageDisplay = this.content.image.showImage;\r\n \r\n }\r\n\r\n\r\n\r\n get stylesLayout() {\r\n return {...this.styles?.layout} as LayOutModel;\r\n }\r\n get getJustifyContent() {\r\n return \"justify-content: center !important;\";\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right' }\">\r\n\r\n <div class=\"col-lg-6 d-flex flex-column justify-content-start gap-15\" [simpoContainerAlignment]=\"stylesLayout\"\r\n [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\" [id]=\"data?.id\"\r\n [simpoColor]=\"styles?.background?.color\"></div>\r\n </div>\r\n <div *ngFor=\"let item of content?.listItem?.data\" class=\"carder\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\">\r\n <div class=\"first-part-card\"\r\n [ngClass]=\"item.inputText[0].label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n {{ item.inputText[0].value }}\r\n </div>\r\n <div class=\"second-part-card \" *ngIf=\"item.image.url && (deviceWidth >= 475)\">\r\n <img [src]=\"item.image.url\" [alt]=\"item.image.altText\" />\r\n </div>\r\n <div class=\"third-part-card\">\r\n <div class=\"text-element heading-medium\" [innerHtml]=\"item.inputText[1].value\">\r\n </div>\r\n <div class=\"text-element\" [innerHtml]=\"item.inputText[2].value\"\r\n [ngClass]=\"item.inputText[2].label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-10 col-sm-8 col-lg-6\" [simpoContainerAlignment]=\"stylesLayout\" *ngIf=\"content?.image?.showImage\">\r\n <img [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block mx-lg-auto img-fluid h-100\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { LayOutModel } from '../../styles/style.model';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { ColorDirective } from './../../directive/color.directive';\r\nimport { TextSizeDirective } from '../../directive/text-size.directive';\r\nimport { ProcessModernContentModel, ProcessModernModel, ProcessModernStylesModel } from './process-modern.model';\r\n@Component({\r\n selector: 'simpo-process-modern',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n\r\n\r\n //directive\r\n SimpoContainerAligment,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ColorDirective,\r\n TextSizeDirective\r\n ],\r\n templateUrl: './process-modern.component.html',\r\n styleUrl: './process-modern.component.css'\r\n})\r\nexport class ProcessModernComponent extends BaseSection implements OnInit {\r\n @Input() data?:ProcessModernModel; \r\n @Input() index? : number;\r\n content?: ProcessModernContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: ProcessModernStylesModel;\r\n\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n // this.styles.layout.bannerImageDisplay = this.content.image.showImage;\r\n }\r\n get stylesLayout() {\r\n return {...this.styles?.layout} as LayOutModel;\r\n }\r\n get getJustifyContent() {\r\n return \"justify-content: center !important;\";\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\">\r\n <div class=\"container-fluid d-flex flex-column\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large lh-2 mb-3\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n </div>\r\n <!-- starting -->\r\n <div *ngFor=\"let item of content?.listItem?.data ;let i = index\" class=\"single_card\">\r\n <div class=\"rowFlexContainer\" [ngClass]=\"{'flex-row-reverse': i % 2 === 1}\">\r\n <div class=\"imageContainer\" [ngClass]=\"{'no-image': item.image.url===''}\">\r\n <img class=\"section_image\" [src]=\"item.image.url\" [alt]=\"item.image.altText\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoCorner]=\"styles?.corners\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"content\" [ngClass]=\"{'no-image-content': item.image.url===''}\">\r\n <div class=\"numberStyle\">\r\n {{ i + 1}}\r\n </div>\r\n <div class=\"contentHeading\">\r\n {{ item.inputText[0].value }}\r\n </div>\r\n <div class=\"contentDescription\">\r\n {{ item.inputText[1].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- ending -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { Component, OnInit, Input, HostListener } from '@angular/core';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { FeatureContentModel, FeatureStylesModel, FeatureSectionModel, FeatureItemModel } from './features-section.model';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { CommonModule } from '@angular/common';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\n\r\n@Component({\r\n selector: 'simpo-features-section',\r\n standalone: true,\r\n imports: [\r\n BackgroundDirective,\r\n HoverDirective,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n CommonModule,\r\n OverlayDirective,\r\n BorderDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ImageDirectiveDirective,\r\n ObjectPositionDirective,\r\n CornerDirective\r\n ],\r\n templateUrl: './features-section.component.html',\r\n styleUrl: './features-section.component.css'\r\n})\r\nexport class FeaturesSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?: FeatureSectionModel;\r\n @Input() edit?: boolean;\r\n content?: FeatureContentModel;\r\n styles?: FeatureStylesModel;\r\n @Input() delete? : boolean;\r\n @Input() index? : number;\r\n\r\n\r\n listItems : any;\r\n constructor(\r\n private readonly _eventService : EventsService,\r\n ){\r\n super();\r\n this.getScreenSize();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.listItems = this.data?.content.listItem.data\r\n this.styles = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n this.changetab(0);\r\n }\r\n\r\n screenWidth:number=0;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?:any) {\r\n if(typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n\r\n \r\n selectedTabIndex = 0;\r\n currentData?: FeatureItemModel;\r\n changetab(index: number) {\r\n this.selectedTabIndex = index;\r\n this.currentData = this.data?.content.listItem.data[this.selectedTabIndex];\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [simpoBorder]=\"styles?.border\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\">\r\n <div class=\"container-fluid d-flex flex-column\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"row\" *ngIf=\"screenWidth > 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-medium mb-1\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n <div class=\" box d-flex justify-content-between mt-5 mb-5\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\">\r\n <div class=\"tab\" [ngClass]=\"{'active': index === selectedTabIndex}\" (click)=\"changetab(index)\">\r\n {{ tab.inputText[0].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row-container\" *ngIf=\"screenWidth <= 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-medium mb-1\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n <div class=\" box d-flex justify-content-between mt-5 mb-5\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\">\r\n <div class=\"tab\" [ngClass]=\"{'active': index === selectedTabIndex}\" (click)=\"changetab(index)\">\r\n {{ tab.inputText[0].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content d-flex g-15 mt-5\">\r\n <div class=\"image\">\r\n <img [src]=\"currentData?.image?.url\" alt=\"\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"currentData?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\"\r\n class=\"d-block mx-lg-auto img-fluid h-100\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"content-heading heading-large\" [id]=\"data?.id\">\r\n {{currentData?.inputText?.[1]?.value}}\r\n <div class=\"content-description body-large mt-5\">\r\n {{currentData?.inputText?.[2]?.value}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, Input } from '@angular/core';\r\nimport { TextPosition } from '../../styles/index';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { ButtonModel } from '../../styles/style.model';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\nimport { TestimonialFullwidthContentModel, TestimonialFullwidthSectionModel, TestimonialFullwidthStylesModel } from './testimonial-fullwidth.model';\r\n\r\n@Component({\r\n selector: 'simpo-testimonial-fullwidth',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './testimonial-fullwidth.component.html',\r\n styleUrl: './testimonial-fullwidth.component.css'\r\n})\r\nexport class TestimonialFullwidthComponent extends BaseSection{\r\n @Input() data?: TestimonialFullwidthSectionModel;\r\n @Input() index? : number;\r\n @Input() edit?: boolean;\r\n @Input() delete? : boolean;\r\n TextPosition = TextPosition;\r\n content?: TestimonialFullwidthContentModel;\r\n style?: TestimonialFullwidthStylesModel;\r\n constructor(private _eventService : EventsService) {\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row w-100\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n\r\n <div id=\"testimonialCarousel\" class=\"carousel slide mb-1\" data-ride=\"carousel\" data-interval=\"2000\">\r\n <ol class=\"carousel-indicators\">\r\n <li *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\"\r\n data-bs-target=\"#testimonialCarousel\" [attr.data-bs-slide-to]=\"i\"></li>\r\n </ol>\r\n <div class=\"carousel-inner\">\r\n <div class=\"single_card carousel-item\"\r\n *ngFor=\"let item of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\">\r\n <!-- this is testimonial cards start-->\r\n\r\n <div class=\"main-section\">\r\n <div class=\"left\">\r\n <div class=\"heading\">\r\n <div class=\"text-element\"\r\n [ngClass]=\"item.inputText[0].label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n {{ item.inputText[0].value }}\r\n </div>\r\n </div>\r\n <div class=\"subtext\">\r\n <div class=\"text-element\" [innerHtml]=\"item.inputText[1].value\"\r\n [ngClass]=\"item.inputText[1].label === 'Subtext' ? 'body-large' : 'heading-large lh-2 mb-3'\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <img [src]=\"item.image.url\" [alt]=\"item.image.altText\" class=\"person-img\"\r\n [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoCorner]=\"style?.corners\">\r\n <div class=\"person-details\">\r\n <div>\r\n <div class=\"person-name\"\r\n [ngClass]=\"item.inputText[2].label === 'Person-Name' ? 'body-large' : 'heading-large '\">\r\n {{ item.inputText[2].value }}\r\n </div>\r\n <div class=\"person-type\"\r\n [ngClass]=\"item.inputText[3].label === 'Person-Type' ? 'body-large' : 'heading-large lh-2 mb-3'\">\r\n {{ item.inputText[3].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- this is testimonial cards start-->\r\n </div>\r\n <a class=\"carousel-control-prev\" data-bs-target=\"#testimonialCarousel\" role=\"button\"\r\n data-bs-slide=\"prev\">\r\n <span class=\"carousel-control-prev-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Previous</span>\r\n </a>\r\n <a class=\"carousel-control-next\" data-bs-target=\"#testimonialCarousel\" role=\"button\"\r\n data-bs-slide=\"next\">\r\n <span class=\"carousel-control-next-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Next</span>\r\n </a>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\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</div>\r\n","import { Component,Input,HostListener,OnInit, Directive } from '@angular/core';\r\nimport { ActionModel} from '../../styles/style.model';\r\nimport { SimpoElementsModule } from '../../elements';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { Action } from 'rxjs/internal/scheduler/Action';\r\nimport { LogoShowcaseContentModel, LogoShowcaseSection, LogoShowcaseStylesModel } from './logo-showcase.modal';\r\nimport { logoDirection, logoSpeed } from '../../styles/index';\r\nimport { showCaseType } from '../../styles/index';\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'simpo-logo-showcase',\r\n standalone: true,\r\n imports: [SimpoButtonComponent,SimpoElementsModule,SimpoComponentModule,CommonModule,MatGridListModule,AnimationDirective,BackgroundDirective,ContentFitDirective,BorderDirective,BannerContentFitDirective,ButtonDirectiveDirective,ColumnDirectiveDirective,ContainerFitDirective,CornerDirective,simpoConetenAlignmentDirective,SimpoFooterLayoutDirective,HoverDirective,ImageDirectiveDirective,OverlayDirective,PositionLayoutDirectiveDirective,TextBackgroundDirectiveDirective,ObjectPositionDirective],\r\n templateUrl: './logo-showcase.component.html',\r\n styleUrl: './logo-showcase.component.css'\r\n})\r\nexport class LogoShowcaseComponent extends BaseSection implements OnInit {\r\n @Input() data?: LogoShowcaseSection;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n id !: string;\r\n action!: ActionModel;\r\n content?:LogoShowcaseContentModel ;\r\n styles?: LogoShowcaseStylesModel;\r\n logoSpeedClass: string = '';\r\n logoDirectionClass: string = '';\r\n isFullWidth : boolean = true;\r\n\r\n\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ) {\r\n super();\r\n this.getScreenSize();\r\n }\r\n\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.deleteSelected = this.delete;\r\n this.logoSpeedClass = this.styles?.logoSpeed || logoSpeed.Normal;\r\n this.logoDirectionClass = this.styles?.logoDirection || logoDirection.Left;\r\n this.isFullWidth = this.styles?.fullWidth || true;\r\n if (this.styles?.showCaseType === 'Carousal') {\r\n console.log(\"inside the Carousal\");\r\n }\r\n // console.log(this.animationSpeed);\r\n // console.log(this.logoSpeedClass);\r\n console.log(this.logoDirectionClass);\r\n // this.logoDirectionClass = this.logoDirectionClass === logoDirection.Left ? 'Left' : 'Right';\r\n // this.logoDirectionClass = this.styles?.logoDirection === logoDirection.Left ? 'Left' : 'Right';\r\n // this.logoDirectionClass = this.styles?.logoDirection || logoDirection.Left;\r\n }\r\n\r\n\r\n get animationDuration(){\r\n switch(this.logoSpeedClass){\r\n case 'Slow':\r\n return logoSpeed.Slow\r\n case 'Normal':\r\n return logoSpeed.Normal\r\n case 'Fast':\r\n return logoSpeed.Fast\r\n case 'VeryFast':\r\n return logoSpeed.VeryFast\r\n }\r\n return logoSpeed.Normal\r\n }\r\n get animationDirection(){\r\n switch(this.logoDirectionClass){\r\n case 'Right':\r\n return logoDirection.Right\r\n case 'Left':\r\n return logoDirection.Left\r\n\r\n }\r\n return logoDirection.Left\r\n }\r\n\r\n\r\n\r\n\r\n\r\n screenWidth: number = 475;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?: number) {\r\n if (typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n","<div *ngIf=\"styles?.showCaseType==='Grid'\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100 \" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5 gridtext\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n *ngIf=\"styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right'\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right'}\">\r\n\r\n <div class=\"col-5 gridimg w-full\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-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\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-7 d-flex flex-wrap flex-1 w-full\">\r\n <div class=\"slider flex overflow-hidden w-full\">\r\n <div class=\"slider-track\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\">\r\n <div class=\"slides\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\"\r\n *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </div> -->\r\n </div>\r\n </div>\r\n <div class=\"flex-column row g-2\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" *ngIf=\"styles?.positionLayout?.value === 'bottom'\">\r\n <div class=\" px-5\" [id]=\"data?.id\"\r\n [ngClass]=\"{'align-items-stretch':styles?.layout?.align==='left' || styles?.layout?.align==='center' || styles?.layout?.align==='right'}\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12 flex flex-wrap items-center w-full gap-2 justify-center\">\r\n <!-- flex flex-wrap items-center w-full gap-2 justify-center -->\r\n <div class=\"slider flex overflow-hidden w-full\">\r\n <div class=\"slider-track w-full\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\">\r\n <div class=\"slides\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\"\r\n *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </div> -->\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n </div>\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 </div>\r\n</div>\r\n\r\n<div *ngIf=\"styles?.showCaseType==='Carousal'\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\">\r\n\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"flex-column row g-2\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\">\r\n <div class=\"mainsec px-5\" [id]=\"data?.id\"\r\n [ngClass]=\"{'align-items-stretch':styles?.layout?.align==='left' || styles?.layout?.align==='center' || styles?.layout?.align==='right'}\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"d-flex gap-2 d-md-flex mt-15\" [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\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\"></app-button-element>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{\r\n 'fullwidth flex-1 inline-edit ': styles?.fullWidth,\r\n 'nofullwidth flex-1 inline-edit ': !styles?.fullWidth\r\n }\">\r\n <div class=\"masking\">\r\n\r\n <div class=\"slider animation \" [style.animationDuration]=\"animationDuration\"\r\n [style.animationDirection]=\"animationDirection\">\r\n <div class=\"slider-track2\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\">\r\n <div class=\"slides2\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\"\r\n *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n <div class=\"slides\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\"\r\n *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n <div class=\"slides\" [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'\r\n }\" *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\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 </div>\r\n</div>\r\n","import { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { OverlayValue } from \"../styles/index\";\r\n\r\n@Directive({\r\n selector: '[simpoBlurContent]',\r\n standalone: true,\r\n})\r\nexport class SimpoBlurContentDirective implements OnChanges, OnInit, OnDestroy {\r\n\r\n @Input(\"simpoBlurContent\") simpoBlurContent?: OverlayValue;\r\n constructor(\r\n private el: ElementRef\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.simpoBlurContent)\r\n this.el.nativeElement.style.setProperty('filter', 'blur('+ this.getOverlayValue +')');\r\n }\r\n ngOnDestroy(): void {\r\n\r\n }\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n get getOverlayValue() {\r\n switch(this.simpoBlurContent) {\r\n case OverlayValue.LIGHT:\r\n return OverlayValue.LIGHT;\r\n case OverlayValue.MODERATE:\r\n return OverlayValue.MODERATE;\r\n case OverlayValue.NONE:\r\n return OverlayValue.NONE;\r\n case OverlayValue.STRONG:\r\n return OverlayValue.STRONG;\r\n case OverlayValue.VERY_STRONG:\r\n return OverlayValue.VERY_STRONG;\r\n default:\r\n return OverlayValue.LIGHT;\r\n }\r\n }\r\n}\r\n","import { Component,Input,OnInit,ElementRef, ViewChild } from '@angular/core';\r\nimport { ActionModel, BackgroundModel, LayOutModel} from '../../styles/style.model';\r\nimport { SimpoElementsModule } from '../../elements';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from './../../services/events.service';\r\n// import { Action } from 'rxjs/internal/scheduler/Action';\r\nimport { BannerCarouselContentModel, BannerCarouselModel, BannerCarouselStylesModel } from './banner-carousel.model';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { SimpoBlurContentDirective } from '../../directive/blur-content.directive';\r\nimport { OverlayValue } from \"../../styles/index\";\r\n\r\n@Component({\r\n selector: 'simpo-banner-carousel',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ColorDirective,\r\n SimpoContainerAligment,\r\n SimpoBlurContentDirective\r\n ],\r\n templateUrl: './banner-carousel.component.html',\r\n styleUrl: './banner-carousel.component.css'\r\n})\r\nexport class BannerCarouselComponent extends BaseSection implements OnInit{\r\n @Input() data?: BannerCarouselModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n id !: string;\r\n action!: ActionModel;\r\n content?: BannerCarouselContentModel;\r\n styles?: BannerCarouselStylesModel;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n\r\n currentIndex: number = 0;\r\n selectSlide(index: number) {\r\n this.currentIndex = index;\r\n }\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n ngOnInit(){\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n const id = this.data?.id;\r\n const action = this.data?.action;\r\n if(!this.styles || !this.content) {\r\n return;\r\n }\r\n }\r\n get stylesLayout() {\r\n return {...this.styles?.layout} as LayOutModel;\r\n }\r\n get getBlurValue() {\r\n return this.styles?.background?.overlay;\r\n }\r\n get getBackgroundColor() {\r\n return {...this.styles?.background} as BackgroundModel\r\n }\r\n get getBackgroundOpacity() {\r\n if (this.styles?.background?.overlay)\r\n return this.opacityValue(this.styles.background?.overlay);\r\n return '0';\r\n }\r\n\r\n opacityValue(value: OverlayValue) {\r\n \r\n switch(value) {\r\n case \"LIGHT\" as OverlayValue:\r\n return '0.2';\r\n case \"MODERATE\" as OverlayValue:\r\n return '0.3';\r\n case \"STRONG\" as OverlayValue:\r\n return '0.5';\r\n case \"VERY_STRONG\" as OverlayValue:\r\n return '0.7'\r\n default:\r\n return '0';\r\n }\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"flex relative fix-safari-flickering\" [ngStyle]=\"{\r\n 'min-height': styles?.layout?.fit === 'content' ? 'calc(134px)' :\r\n styles?.layout?.fit === 'screen' ? 'calc(134px+ 100vh)' : '',\r\n 'padding-top': '0px',\r\n 'padding-bottom': '0px'\r\n }\">\r\n <div class=\"flex break-word w-full items-center\">\r\n\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide carousel-fade \" data-ride=\"carousel\" data-interval=\"2000\">\r\n <ol class=\"carousel-indicators\">\r\n <li *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\"\r\n data-bs-target=\"#testimonialCarousel\" [attr.data-bs-slide-to]=\"i\"></li>\r\n </ol>\r\n <div class=\"carousel-inner\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"carousel-item \"\r\n [ngClass]=\"{'active': i === currentIndex}\">\r\n <img [src]=\"item.image.url\" [simpoBlurContent]=\"getBlurValue\" class=\"imgclass w-100\"\r\n alt=\"item.image.alt || 'Carousel image'\">\r\n <div class=\"overlay\" [style.opacity]=\"getBackgroundOpacity\"\r\n [style.backgroundColor]=\"styles?.background?.color ?? '#fff'\"></div>\r\n </div>\r\n <div class=\"col-xxl-8 px-5 mx-auto relative pb-20 pt-20 w-100 opacity-100 position-relative\"\r\n style=\"z-index: 1;\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n\r\n <div class=\"row g-5 justify-content-start\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\"\r\n [ngClass]=\"{'align-items-stretch':styles?.layout?.align==='left' || styles?.layout?.align==='center' || styles?.layout?.align==='right'}\">\r\n <div class=\"col-lg-6 w-full max-w-2xl items-start cursor-pointer d-flex flex-column \"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-4' : 'body-large'\">\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"customclass w-full\" [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\r\n <div *ngFor=\"let button of data?.action?.buttons\" class=\"btn-container \">\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\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { v1 as uuidv1 } from 'uuid';\r\nexport class OrderedItems {\r\n itemId: string;\r\n businessId: string;\r\n itemName: string;\r\n brandName: string;\r\n imgUrl: string;\r\n price: number;\r\n itemTax: number;\r\n quantity: number;\r\n discountedPrice: number;\r\n taxAfterDiscount: number;\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n this.itemId = json?.[\"itemId\"] ?? uuidv1();\r\n this.businessId = json?.[\"businessId\"];\r\n this.itemName = json?.[\"name\"];\r\n this.brandName = json?.[\"brandName\"];\r\n this.imgUrl = json?.[\"itemImages\"]?.[0]?.[\"imgUrl\"];\r\n this.price = json?.[\"price\"]?.[\"value\"];\r\n this.itemTax = json?.[\"price\"]?.[\"taxAmount\"];\r\n this.quantity = json?.[\"quantity\"];\r\n this.discountedPrice = json?.[\"price\"]?.[\"discountedPrice\"];\r\n this.taxAfterDiscount = json?.[\"taxAfterDiscount\"];\r\n }\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport UserCart from \"../ecommerce/json/user-cart.json\";\r\nimport UserFavourites from \"../ecommerce/json/user-favourite.json\";\r\nimport UserDetails from \"../ecommerce/json/user-details.json\";\r\nimport { OrderedItems } from '../ecommerce/styles/OrderedItems.modal';\r\nimport { Product } from '../ecommerce/styles/product.modal';\r\nimport { RestService } from './rest.service';\r\nimport { StorageServiceService } from './storage.service';\r\nimport { forkJoin } from 'rxjs';\r\nimport {User} from \"../ecommerce/styles/user.modal\";\r\nimport { Cart } from '../ecommerce/styles/cart.modal';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CartService {\r\n constructor(\r\n private readonly storageService: StorageServiceService,\r\n private readonly restService: RestService\r\n ) {}\r\n\r\n public addItemToCart(product: Product) {\r\n\r\n if (product.quantity) {\r\n\r\n const orderedItem = this.objectMapper(product);\r\n let productIdx: number = -1;\r\n UserCart.orderedItems.forEach((item: OrderedItems, idx)=> productIdx = (item.itemId == product.itemId) ? idx : -1);\r\n if (productIdx >= 0) {\r\n (UserCart.orderedItems[productIdx] as OrderedItems).quantity = product.quantity;\r\n } else {\r\n UserCart.orderedItems.push(orderedItem as never);\r\n }\r\n console.log(UserCart);\r\n\r\n this.storageService.addProductToCart(orderedItem);\r\n } else {\r\n // remove item from cart\r\n this.removeItemFromCart(product);\r\n }\r\n }\r\n public addItemToFavourite(product: Product) {\r\n\r\n if (product.quantity) {\r\n const orderedItem = this.objectMapper(product);\r\n\r\n let productIdx: number = -1;\r\n UserFavourites.orderedItems.forEach((item: OrderedItems, idx)=> productIdx = (item.itemId == product.itemId) ? idx : -1);\r\n if (productIdx >= 0) {\r\n (UserFavourites.orderedItems[productIdx] as OrderedItems).quantity = product.quantity;\r\n } else {\r\n UserFavourites.orderedItems.push(orderedItem as never);\r\n }\r\n\r\n this.storageService.addProductToWishlist(orderedItem); \r\n } else {\r\n this.removeItemFromFavourite(product);\r\n }\r\n }\r\n public removeItemFromFavourite(product: Product) {\r\n const index = this.getItemIdxJSON(product.itemId, 'FAVOURITE');\r\n if (index >= 0) {\r\n const item = UserFavourites.orderedItems.splice(index, 1)[0];\r\n // UserFavourites.orderedItems.push(item as never);\r\n this.storageService.removeProductFromWishlist(product.itemId);\r\n }\r\n }\r\n public removeItemFromCart(product: Product) {\r\n const index = this.getItemIdxJSON(product.itemId, 'CART');\r\n if (index >= 0) {\r\n const item = UserCart.orderedItems.splice(index, 1)[0];\r\n // UserCart.orderedItems.push(item as never);\r\n this.storageService.removeProductFromCart(product.itemId);\r\n }\r\n }\r\n // public convertFavToCart(product: OrderedItems) {\r\n // const index = this.getItemIdxJSON(product.getItemId, UserFavourites);\r\n // if (index >= 0) {\r\n // const item = UserFavourites.orderedItems.splice(index, 1)[0];\r\n // UserCart.orderedItems.push(item as never);\r\n // }\r\n // }\r\n // public convertCartToFav(product: OrderedItems) {\r\n // const index = this.getItemIdxJSON(product.getItemId, UserCart);\r\n // if (index >= 0) {\r\n // const item = UserCart.orderedItems.splice(index, 1)[0];\r\n // UserFavourites.orderedItems.push(item as never);\r\n // }\r\n // }\r\n\r\n public storeItemToDB(product: Product, type: 'CART' | 'WISHLIST') {\r\n if (type == \"CART\") {\r\n const orderProduct: OrderedItems = this.objectMapper(this.storageService.getProductFromCart(product.itemId) as unknown as Product);\r\n \r\n if (orderProduct) {\r\n this.storageService.addProductToCart(orderProduct);\r\n UserCart.orderedItems.push(orderProduct as never);\r\n }\r\n } else {\r\n const orderProduct: OrderedItems = this.objectMapper(this.storageService.getProductFromWishlist(product.itemId) as unknown as Product);\r\n \r\n if (orderProduct) {\r\n this.storageService.addProductToWishlist(orderProduct);\r\n UserFavourites.orderedItems.push(orderProduct as never);\r\n }\r\n }\r\n }\r\n\r\n public getItemIdxJSON(itemId: string, type: 'FAVOURITE' | 'CART') {\r\n const json = type == \"FAVOURITE\" ? UserFavourites : UserCart;\r\n let productIndex: number = -1;\r\n json.orderedItems.forEach((p: any, idx: number)=> {\r\n if (p.itemId == itemId)\r\n productIndex = idx;\r\n });\r\n return productIndex;\r\n }\r\n public getItemByIdx(itemId: string, type: 'FAVOURITE' | 'CART'): OrderedItems | null {\r\n const productIdx = this.getItemIdxJSON(itemId, type);\r\n console.log(type, productIdx);\r\n const json = (type == \"FAVOURITE\") ? UserFavourites : UserCart;\r\n if (productIdx >= 0)\r\n return json.orderedItems[productIdx];\r\n return null\r\n }\r\n\r\n private objectMapper(product: Product): OrderedItems {\r\n return new OrderedItems(product);\r\n }\r\n\r\n public storeDataToServer() {\r\n const userCart = UserCart as never as Cart;\r\n const userWishlist = UserFavourites as never as Cart;\r\n if (userCart.cartId?.length == 0)\r\n delete userCart.cartId;\r\n if (userWishlist.cartId?.length == 0)\r\n delete userWishlist.cartId;\r\n\r\n return forkJoin([\r\n this.restService.addItemToDB(UserCart),\r\n this.restService.addItemToDB(UserFavourites)\r\n ]);\r\n }\r\n public storeDBToJSON() {\r\n \r\n // this.storageService.getUserCart().then((response)=> {\r\n // \r\n // })\r\n // const userId = UserDetails.user?.userId;\r\n // if (!userId)\r\n // return;\r\n // this.restService.getUserItems(userId, \"CART\").subscribe((response: any)=> {\r\n // UserCart.orderedItems = response.data.orderedItems;\r\n // UserCart.billdetails = response.data.billdetails;\r\n // UserCart.totalAmount = response.totalAmount;\r\n // })\r\n // this.restService.getUserItems(userId, \"WISHLIST\").subscribe((response: any)=> {\r\n // UserFavourites.orderedItems = response.data.orderedItems;\r\n // UserFavourites.billdetails = response.data.billdetails;\r\n // UserFavourites.totalAmount = response.totalAmount;\r\n // })\r\n }\r\n}","import { Component, HostListener, Inject, Input, OnChanges, OnDestroy, PLATFORM_ID, SimpleChanges } from '@angular/core';\r\nimport { FeaturedProductContentModal, FeaturedProductModal, FeaturedProductStylesModel } from './featured-products.modal';\r\nimport { Product, ItemImage } from '../../styles/product.modal';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../../directive/background-directive';\r\nimport { BorderDirective } from '../../../directive/border-directive';\r\nimport { CornerDirective } from '../../../directive/corner-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { OverlayDirective } from '../../../directive/overlay-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport { TextBackgroundDirectiveDirective } from '../../../directive/text-background-directive.directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { ColorDirective } from '../../../directive/color.directive';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { ButtonModel } from '../../../styles/style.model';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport {} from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport UserCart from '../../json/user-cart.json';\r\nimport { OrderedItems } from '../../../ecommerce/styles/OrderedItems.modal';\r\n\r\n@Component({\r\n selector: 'simpo-featured-products',\r\n standalone: true,\r\n imports: [\r\n CommonModule, \r\n FormsModule,\r\n SimpoComponentModule,\r\n \r\n// TODO: `HttpClientModule` should not be imported into a component directly.\r\n// Please refactor the code to add `provideHttpClient()` call to the provider list in the\r\n// application bootstrap logic and remove the `HttpClientModule` import from this component.\r\n\r\n //directive\r\n MatIcon,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n BackgroundDirective,\r\n BorderDirective,\r\n CornerDirective,\r\n HoverDirective,\r\n OverlayDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective,\r\n ButtonDirectiveDirective\r\n ],\r\n templateUrl: './featured-products.component.html',\r\n styleUrl: './featured-products.component.css'\r\n})\r\nexport class FeaturedProductsComponent extends BaseSection implements OnDestroy {\r\n @Input() data?: FeaturedProductModal;\r\n @Input() responseData?: Product[]\r\n @Input() index? : number;\r\n @Input() isRelatedProduct: boolean = false;\r\n edit? : boolean = true;\r\n @Input() delete? : boolean;\r\n content?: FeaturedProductContentModal;\r\n styles?: FeaturedProductStylesModel;\r\n button?: ButtonModel;\r\n\r\n private _eventSubscriber: Subscription | null = null;\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private readonly _eventService : EventsService,\r\n private readonly restService: RestService,\r\n private readonly router: Router,\r\n private readonly cartService: CartService\r\n ) {\r\n super()\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.getScreenSize();\r\n }\r\n }\r\n screenWidth: number = 0;\r\n @HostListener(\"window: resize\", [\"$event\"])\r\n getScreenSize() {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.button = this.data?.action.buttons[0];\r\n // if (this.isRelatedProduct) {\r\n this.getFeatureProduct();\r\n // }\r\n this._eventSubscriber = this._eventService.featureCollectionList.subscribe((response)=> {\r\n this.getFeatureProduct();\r\n })\r\n }\r\n ngOnDestroy(): void {\r\n if (this._eventSubscriber)\r\n this._eventSubscriber?.unsubscribe();\r\n }\r\n\r\n getProductWidth() {\r\n return this.screenWidth > 475 ? (this.screenWidth < 1025 ? '25%' : 'calc(' + ((100 / (this.styles?.elementInRow || 4))) + '%)') : (this.styles?.mobileColumn === 1 ? '100%' : '50%')\r\n }\r\n\r\n getSliceParameters() {\r\n return [0, (this.styles?.maximumProduct || 0)];\r\n }\r\n\r\n getFeatureProduct() {\r\n this.restService.getFeaturedProduct(this.content?.collectionId).subscribe((response: any)=> {\r\n this.responseData = response;\r\n this.responseData?.forEach((product: any)=> {\r\n UserCart.orderedItems.forEach((item: OrderedItems)=> {\r\n if (item.itemId == product.itemId)\r\n product.quantity = item.quantity;\r\n })\r\n })\r\n })\r\n }\r\n addItemToCart(product: Product, type: 'ADD' | 'SUBSTRACT') {\r\n product.quantity += (type == 'ADD' ? 1 : -1); \r\n this.cartService.addItemToCart(product);\r\n }\r\n toggleItemToFav(product: Product, type: 'ADD' | 'REMOVE') {\r\n if (type == 'ADD')\r\n this.cartService.addItemToFavourite(product);\r\n else\r\n this.cartService.removeItemFromFavourite(product);\r\n }\r\n\r\n proceedToProductDesc(productId: any){\r\n this.router.navigate([`details`], {queryParams: {id: productId}});\r\n // this._eventService.redirectToPage.emit({redirectTo: '/details', data: {productId: productId}})\r\n }\r\n\r\n isItemFav(product: Product) {\r\n return this.cartService.getItemIdxJSON(product.itemId, 'FAVOURITE') > -1;\r\n }\r\n\r\n togglePreviewImage(product: Product, idx: number) {\r\n const element = document.getElementById('preview_'+idx);\r\n element?.classList.add(\"transition-preivew\");\r\n\r\n setTimeout(()=> {\r\n product.prviewIdx = ((product?.itemImages?.length ?? 0) > 1 ? 1 : 0);\r\n element?.classList.remove('transition-preivew');\r\n }, 50);\r\n }\r\n}\r\n","<section class=\"container-fluid total-container\" [id]=\"data?.id\" >\r\n <div [id]=\"data?.id\" class=\"display-block\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\"\r\n [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <img src=\"https://dev-beeos.s3.amazonaws.com/library-media/714126c1707378935732span.png\" alt=\"\"\r\n class=\"span-img mt-15\">\r\n <div class=\"product-parent\" *ngIf=\"responseData && responseData.length > 0\">\r\n <div *ngFor=\"let product of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]; let idx = index\" class=\"product\"\r\n [style.width]=\"getProductWidth()\">\r\n <div *ngIf=\"!(product.itemImages.length > 0 && product.itemImages[0].imgUrl)\" class=\"default-image\"(click)=\"proceedToProductDesc(product.itemId)\">\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"product.itemImages.length > 0 && product.itemImages[0].imgUrl\"(click)=\"proceedToProductDesc(product.itemId)\">\r\n <img [id]=\"'preview_'+idx\" [src]=\"product.itemImages[product.prviewIdx]?.imgUrl\" alt=\"\" class=\"product-img preivew\" (mouseenter)=\"togglePreviewImage(product, idx)\" (mouseleave)=\"product.prviewIdx = 0\">\r\n </div>\r\n <div class=\"mt-15\">\r\n <div class=\"product-name heading-large\" [id]=\"data?.id\" [simpoColor]=\"styles?.background?.color\">\r\n {{product.name}}</div>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"price body-large\" [id]=\"data?.id\" [simpoColor]=\"styles?.background?.color\">\r\n ₹\r\n {{product.price.sellingPrice}}\r\n </div>\r\n <div *ngIf=\"content?.display?.showButton\" class=\"add-to-cart-btn\">\r\n <mat-icon [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"toggleItemToFav(product, 'ADD')\" *ngIf=\"!isItemFav(product)\">favorite_border</mat-icon>\r\n <mat-icon [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"toggleItemToFav(product, 'REMOVE')\" *ngIf=\"isItemFav(product)\">favorite</mat-icon>\r\n <button simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\" *ngIf=\"!product.quantity\" (click)=\"addItemToCart(product, 'ADD')\">{{content?.button}}</button>\r\n <div class=\"quantity\" *ngIf=\"product.quantity\">\r\n <span (click)=\"addItemToCart(product, 'SUBSTRACT')\">-</span>\r\n <span>{{product.quantity}}</span>\r\n <span (click)=\"addItemToCart(product, 'ADD')\">+</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, HostListener, Inject, Input, PLATFORM_ID } from '@angular/core';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../../directive/background-directive';\r\nimport { BorderDirective } from '../../../directive/border-directive';\r\nimport { CornerDirective } from '../../../directive/corner-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { OverlayDirective } from '../../../directive/overlay-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport { TextBackgroundDirectiveDirective } from '../../../directive/text-background-directive.directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { ColorDirective } from '../../../directive/color.directive';\r\nimport { FeaturedCategoryContentModal, FeaturedCategoryModal, FeaturedCategoryStylesModel } from './featured-category.modal';\r\nimport { Category } from '../../styles/category.modal';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'simpo-featured-category',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n AnimationDirective,\r\n ContentFitDirective,\r\n BackgroundDirective,\r\n BorderDirective,\r\n CornerDirective,\r\n HoverDirective,\r\n OverlayDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective\r\n ],\r\n templateUrl: './featured-category.component.html',\r\n styleUrl: './featured-category.component.css'\r\n})\r\nexport class FeaturedCategoryComponent extends BaseSection {\r\n @Input() data?: FeaturedCategoryModal;\r\n @Input() responseData?: Category[]\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n content?: FeaturedCategoryContentModal;\r\n styles?: FeaturedCategoryStylesModel;\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private readonly router : Router,\r\n private readonly restService: RestService\r\n ){\r\n super()\r\n }\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.getAllCategories();\r\n }\r\n\r\n getSliceParameters() {\r\n return [0, (this.styles?.maximumProduct || 0)];\r\n }\r\n\r\n redirectToListPage(category: string){\r\n category = category.replaceAll(\" \", \"_\");\r\n this.router.navigate(['/list'], { queryParams: { category: category } });\r\n // this._eventService.redirectToPage.emit({redirectTo: '/list', data: {categoryId: categoryId}});\r\n }\r\n getAllCategories() {\r\n this.restService.getAllCategories().subscribe((response)=> {\r\n this.responseData = response.filter((category: any)=> category.featuredCollection || true);\r\n });\r\n }\r\n}\r\n","<section class=\"container-fluid total-container\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\"\r\n [simpoLayout]=\"styles?.layout\">\r\n <div [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\"\r\n [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <img src=\"https://dev-beeos.s3.amazonaws.com/library-media/714126c1707378935732span.png\" alt=\"\"\r\n class=\"span-img mt-15\">\r\n <div class=\"category-parent\">\r\n <div *ngFor=\"let data of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]\" (click)=\"redirectToListPage(data.categoryName)\">\r\n <img [src]=\"data.imgUrl[0] ?? 'https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg'\" alt=\"\" class=\"category-image\">\r\n <div class=\"category-name body-large\">{{data.categoryName}}</div>\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, HostListener, Inject, Input, PLATFORM_ID } from '@angular/core';\r\nimport { ProductDescModal, ProductDescStylesModal } from './product-desc.modal';\r\nimport { Product } from '../../styles/product.modal';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { ButtonModel } from '../../../styles/style.model';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport {} from '@angular/common/http';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { NgxImageZoomModule } from 'ngx-image-zoom';\r\nimport { FeaturedProductsComponent } from \"../featured-products/featured-products.component\";\r\nimport { FeaturedProductModal } from '../featured-products/featured-products.modal';\r\n// import { rmSync } from 'fs';\r\n// import { RestService } from '../../../services/rest.service';\r\n// import { HttpClientModule } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'simpo-product-desc',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SimpoComponentModule,\r\n MatIcon,\r\n //DIRECTIVE\r\n ButtonDirectiveDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective,\r\n NgxImageZoomModule,\r\n FeaturedProductsComponent\r\n],\r\n templateUrl: './product-desc.component.html',\r\n styleUrl: './product-desc.component.css'\r\n})\r\nexport class ProductDescComponent extends BaseSection {\r\n @Input() data?: ProductDescModal;\r\n @Input() responseData!: Product;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n public relatedProductData: Product[] = [];\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private readonly _eventService : EventsService,\r\n private readonly router: Router,\r\n private readonly activatedRoute: ActivatedRoute,\r\n private readonly restService: RestService,\r\n private readonly cartService: CartService\r\n ){\r\n super()\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.getScreenSize();\r\n }\r\n }\r\n\r\n buttonId?: string;\r\n button?: ButtonModel\r\n styles?: ProductDescStylesModal;\r\n ngOnInit(){\r\n this.styles = this.data?.styles;\r\n this.currentImg = this.responseData?.itemImages[0]?.imgUrl\r\n this.button = this.data?.action?.buttons[0];\r\n this.buttonId = (this.data ? this.data.id : '') + (this.button ? this.button.id : '');\r\n this.getProductByCategory();\r\n\r\n this.activatedRoute.queryParams.subscribe((qParam)=> {\r\n const productId = qParam[\"id\"];\r\n if (productId) {\r\n this.restService.getProductDetails(productId).subscribe((response)=> {\r\n this.responseData = response[0];\r\n \r\n if (this.responseData) {\r\n const cartItem = this.cartService.getItemByIdx(this.responseData?.itemId, \"CART\");\r\n const favItem = this.cartService.getItemByIdx(this.responseData?.itemId, \"FAVOURITE\");\r\n \r\n this.responseData.quantity = 0;\r\n if (cartItem)\r\n this.responseData.quantity = cartItem.quantity;\r\n if (favItem)\r\n this.responseData.quantity = favItem.quantity;\r\n\r\n this.currentImg = this.responseData?.itemImages[0].imgUrl;\r\n this.getProductByCategory();\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n routeToHome() {\r\n this.router.navigate(['/']);\r\n }\r\n\r\n screenWidth: any;\r\n @HostListener(\"window: resize\", [\"$event\"])\r\n getScreenSize() {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n\r\n currentImg:any;\r\n changeImg(url:any){\r\n this.currentImg = url;\r\n }\r\n\r\n addToCart(type: 'ADD' | 'SUBSTRACT' = 'ADD'){\r\n \r\n if (!this.responseData?.quantity)\r\n this.responseData.quantity = 0;\r\n if (type == 'ADD') {\r\n this.responseData.quantity += 1;\r\n }\r\n else {\r\n this.responseData.quantity -= 1;\r\n }\r\n this.cartService.addItemToCart(this.responseData as Product);\r\n }\r\n\r\n goToFilter(category: string) {\r\n category = category.replaceAll(\" \", \"_\")\r\n this.router.navigate(['list'], { queryParams: {category: category} });\r\n }\r\n\r\n addToFavourite() {\r\n this.cartService.addItemToFavourite(this.responseData as Product);\r\n }\r\n removeToFavourite() {\r\n this.cartService.removeItemFromFavourite(this.responseData as Product);\r\n }\r\n\r\n get isItemAsFavorite(): boolean {\r\n return this.cartService.getItemIdxJSON(this.responseData?.itemId, \"FAVOURITE\") > -1;\r\n }\r\n get getFeatureProductData() {\r\n return this.data as FeaturedProductModal;\r\n }\r\n\r\n getProductByCategory() {\r\n this.restService.getProductByCategoryId(this.responseData?.categoryId ?? \"1ef4ffc0-559e-6ec5-8ea9-65f5dbff53c1\").subscribe((response: any)=> {\r\n this.relatedProductData = response.data.data;\r\n })\r\n }\r\n\r\n}\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <section class=\"container\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div><a href=\"javascript:void(0)\" style=\"text-decoration: none; color: #0267C1\" (click)=\"routeToHome()\">Home</a> / <span>{{ responseData?.name | titlecase }}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-lg-6 col-12\">\r\n <div class=\"prod-img-block\">\r\n <div class=\"img-list\" *ngIf=\"screenWidth > 500\">\r\n <ng-container *ngFor=\"let img of responseData?.itemImages\">\r\n <img [src]=\"img.imgUrl\" alt=\"\" class=\"img\" (click)=\"changeImg(img.imgUrl)\" *ngIf=\"img.imgUrl\">\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" *ngIf=\"!img.imgUrl\">\r\n </ng-container>\r\n </div>\r\n <div class=\"item-img\">\r\n <lib-ngx-image-zoom\r\n [thumbImage]=\"currentImg\" \r\n [fullImage]=\"currentImg\" \r\n [zoomMode]=\"'hover'\"\r\n [magnification]=\"2\" \r\n [lensHeight]=\"100\"\r\n [lensWidth]=\"100\"\r\n style=\"height: 100%; width: 100%;\"\r\n ></lib-ngx-image-zoom>\r\n <!-- <img [src]=\"currentImg\" alt=\"\" *ngIf=\"currentImg\"> -->\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" *ngIf=\"!currentImg\">\r\n </div>\r\n <div class=\"img-list\" *ngIf=\"screenWidth <= 500\">\r\n <ng-container *ngFor=\"let img of responseData?.itemImages\">\r\n <img [src]=\"img.imgUrl\" alt=\"\" class=\"img\" (click)=\"changeImg(img.imgUrl)\" *ngIf=\"img.imgUrl\">\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" *ngIf=\"!img.imgUrl\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6 col-12 product-detail\">\r\n <div class=\"heading-large\">{{responseData?.name}}</div>\r\n <div class=\"price\">₹ {{responseData?.price?.sellingPrice}}</div>\r\n <div class=\"product-desc body-large\" *ngIf=\"responseData?.brief\">{{responseData.brief}}</div>\r\n\r\n <div class=\"button-parent\">\r\n <div class=\"quantity\" *ngIf=\"responseData?.quantity\">\r\n <div class=\"plus\" (click)=\"addToCart('SUBSTRACT')\">-</div>\r\n <div style=\"width: 50px;\" class=\"d-flex justify-content-center\">{{responseData.quantity}}</div>\r\n <!-- <input type=\"number\" (keyup)=\"changeQuantity(quantity.value)\" [value]=\"addedQuantity\" #quantity> -->\r\n <div class=\"minus\" (click)=\"addToCart('ADD')\">+</div>\r\n </div>\r\n <div *ngIf=\"!responseData?.quantity\">\r\n <button class=\"send-btn\" simpoButtonDirective [id]=\"buttonId\" [buttonStyle]=\"button?.styles\" [color]=\"data?.styles?.background?.accentColor\" (click)=\"addToCart()\">{{data?.content?.button}}</button>\r\n </div>\r\n <div class=\"favourite\">\r\n <mat-icon [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"addToFavourite()\" *ngIf=\"!isItemAsFavorite\">favorite_border</mat-icon>\r\n <mat-icon [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"removeToFavourite()\" *ngIf=\"isItemAsFavorite\">favorite</mat-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"product-sku\">\r\n <div *ngIf=\"responseData?.itemInventory\">SKU :\r\n {{responseData.itemInventory.openingStock}}</div>\r\n <div *ngIf=\"responseData?.itemCategorisation?.itemCategories\">Category : <a href=\"javascript:void(0)\" (click)=\"goToFilter(cat.refName)\"\r\n *ngFor=\"let cat of responseData?.itemCategorisation?.itemCategories;let idx = index\">{{cat.refName | titlecase}} <ng-container *ngIf=\"(idx+1) != responseData?.itemCategorisation?.itemCategories?.length\">,</ng-container>\r\n </a></div>\r\n <div *ngIf=\"(responseData?.itemCategorisation?.productTags?.length || 0) > 0\">Tags : <span\r\n *ngFor=\"let tag of responseData?.itemCategorisation?.productTags\">{{tag.tagName}},\r\n </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row prod-desc\">\r\n <div class=\"tab-group\">\r\n <div class=\"tab\">Description</div>\r\n </div>\r\n <div style=\"margin-top: 10px;\" class=\"body-large\" *ngIf=\"responseData?.properties?.description\">{{responseData?.properties?.description}}</div>\r\n </div>\r\n </section>\r\n <simpo-featured-products [data]=\"getFeatureProductData\" [responseData]=\"relatedProductData\" [isRelatedProduct]=\"true\"></simpo-featured-products>\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","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'simpo-pagnination',\r\n standalone: true,\r\n imports: [\r\n CommonModule\r\n ],\r\n templateUrl: './pagnination.component.html',\r\n styleUrl: './pagnination.component.css'\r\n})\r\nexport class PagninationComponent implements OnInit {\r\n\r\n constructor(\r\n private readonly router: Router\r\n ) {}\r\n\r\n @Input() totalPages: number = 1;\r\n @Input() currentPage: number = 1;\r\n public bound = 5;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n goToNext() {\r\n this.router.navigate([''], { queryParams: {pageNo: this.currentPage +1} });\r\n }\r\n goToPrev() {\r\n this.router.navigate([''], { queryParams: {pageNo: this.currentPage -1} });\r\n }\r\n goToSelection(index: number) {\r\n this.currentPage = index +1;\r\n this.router.navigate([''], { queryParams: {pageNo: this.currentPage} });\r\n }\r\n}\r\n","<section class=\"d-flex w-100 justify-content-center\">\r\n <div class=\"pagniation-btn\" (click)=\"goToPrev()\" [style.visibility]=\"currentPage == 1 ? 'hidden' : 'visible'\">Prev</div>\r\n <ng-container *ngFor=\"let _ of [].constructor(totalPages); let idx = index\">\r\n <span class=\"pagniation-btn\" [ngClass]=\"{'selected-page': (idx +1) == currentPage}\" *ngIf=\"idx < 5\">{{idx +1}}</span>\r\n </ng-container>\r\n <div *ngIf=\"totalPages > 6\" class=\"d-flex align-items-center\">\r\n <span class=\"pagniation-btn fs-2\">...</span>\r\n <span class=\"pagniation-btn\">{{totalPages}}</span>\r\n </div>\r\n <div class=\"pagniation-btn\" (click)=\"goToNext()\" [style.visibility]=\"currentPage == totalPages ? 'hidden' : 'visible'\">Next</div>\r\n</section>","import { Component, HostListener, Inject, Input, PLATFORM_ID } from '@angular/core';\r\nimport { Product } from '../../styles/product.modal';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { ProductListContentModal, ProductListModal, ProductListStylesModal } from './product-list.modal';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport { RestService } from '.././../../services/rest.service';\r\nimport { ButtonModel } from '../../../styles/style.model';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { PagninationComponent } from '../pagnination/pagnination.component';\r\n\r\ninterface BaseModel {\r\n option: string,\r\n id: string,\r\n status: boolean\r\n}\r\n\r\n@Component({\r\n selector: 'simpo-product-list',\r\n standalone: true,\r\n imports: [\r\n CommonModule, \r\n MatSelectModule,\r\n FormsModule,\r\n SimpoComponentModule,\r\n MatSliderModule,\r\n PagninationComponent,\r\n //directive\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective,\r\n ButtonDirectiveDirective,\r\n MatIcon\r\n ],\r\n templateUrl: './product-list.component.html',\r\n styleUrl: './product-list.component.css'\r\n})\r\nexport class ProductListComponent extends BaseSection {\r\n @Input() responseData?: Product[]\r\n @Input() data?: ProductListModal\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n content?: ProductListContentModal;\r\n button?: ButtonModel\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private readonly _eventService : EventsService,\r\n private readonly restService: RestService,\r\n private readonly router: Router,\r\n private readonly activatedRoute: ActivatedRoute\r\n ) {\r\n super();\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.getScreenSize();\r\n }\r\n }\r\n\r\n public pricingMin: number = 0;\r\n public pricingMax: number = 100;\r\n public sortBy: string | null = null;\r\n\r\n // will come from backend as shop and resturant can have diffrent filters\r\n public filteringArray = [\r\n { name: \"Lowest First\", value: \"lowestPrice\" },\r\n { name: \"Highest First\", value: \"highestPrice\" }\r\n ];\r\n\r\n screenWidth: number = 0;\r\n @HostListener(\"window: resize\", [\"$event\"])\r\n getScreenSize() {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n\r\n filterList: any[] = [];\r\n styles?: ProductListStylesModal;\r\n totalCount: number = 0;\r\n pageNo: number = 0;\r\n size: number = 5;\r\n searchTxt: string = \"\";\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.button = this.data?.action.buttons[0];\r\n\r\n this.getAllCategories();\r\n this.getAllCollections();\r\n\r\n this.activatedRoute.queryParams.subscribe((qParam: any)=> {\r\n this.searchTxt = qParam[\"searchTxt\"];\r\n this.sortBy = qParam[\"sorting\"];\r\n this.pricingMin = isNaN(Number(qParam[\"minPrice\"])) ? 0 : Number(qParam[\"minPrice\"]);\r\n this.pricingMax = isNaN(Number(qParam[\"maxPrice\"])) ? 1000 : Number(qParam[\"maxPrice\"]);\r\n this.filterByCategoryCollectionParam(qParam[\"category\"], qParam[\"collections\"]);\r\n })\r\n }\r\n\r\n filterByCategoryCollectionParam(qCategories: any, qCollections: any) {\r\n const categories = qCategories?.split(\"+\")?.map((category: string)=> category.replaceAll(\"_\", \" \").toLowerCase()).filter((category: string)=> category.length > 0);\r\n const collections = qCollections?.split(\"+\")?.map((collection: string)=> collection.replaceAll(\"_\", \" \").toLowerCase()).filter((collection: string)=> collection.length > 0);\r\n \r\n this.categories?.forEach((category)=> category.status = categories?.includes(category?.option?.toLowerCase()) ?? false);\r\n this.collections?.forEach((collection)=> collection.status = collections?.includes(collection?.option?.toLowerCase()) ?? false);\r\n console.log(this.categories, this.collections);\r\n this.filterList = [\r\n ...this.categories?.filter((category: any)=> category.status).map((category)=> { return { id: category.id, name: category.option } }),\r\n ...this.collections?.filter((collection: any)=> collection.status).map((collection) => { return { id: collection.id, name: collection.option } })\r\n ];\r\n console.log(this.filterList);\r\n this.filterItemList();\r\n }\r\n\r\n getAllCategories() {\r\n this.restService.getAllCategories().subscribe((response)=> {\r\n this.categories = response.filter((category: any)=> category.featuredCollection || true).map((category: any)=> { return { option: category.categoryName, id: category.categoryId, status: false } });\r\n const qParamCollections = this.activatedRoute.snapshot.queryParams[\"collections\"];\r\n const qParamCategory = this.activatedRoute.snapshot.queryParams[\"category\"];\r\n this.filterByCategoryCollectionParam(qParamCategory, qParamCollections);\r\n });\r\n }\r\n getAllCollections() {\r\n this.restService.getAllCollections().subscribe((response)=> {\r\n this.collections = response.filter((collection: any)=> collection.featuredCategory || true).map((collection: any)=> { return { option: collection.collectionName, id: collection.collectionId, status: false } }); \r\n const qParamCollections = this.activatedRoute.snapshot.queryParams[\"collections\"];\r\n const qParamCategory = this.activatedRoute.snapshot.queryParams[\"category\"];\r\n this.filterByCategoryCollectionParam(qParamCategory, qParamCollections);\r\n })\r\n }\r\n\r\n removeFilter(filter: any) {\r\n this.filterList = this.filterList.filter((f)=> f.id != filter.id);\r\n const filterListIds = this.filterList.map((filter)=> filter.id); \r\n this.categories.forEach((category)=> category.status = filterListIds.includes(category.id));\r\n this.collections.forEach((collection)=> collection.status = filterListIds.includes(collection.id));\r\n // sorting should add\r\n this.navigateFilter(\"\");\r\n }\r\n\r\n getProductWidth() {\r\n return this.screenWidth > 475 ? (this.screenWidth < 1025 ? '25%' : 'calc(' + ((100 / (this.styles?.elementInRow || 4))) + '%)') : (this.styles?.mobileColumn === 1 ? '100%' : '50%')\r\n }\r\n\r\n proceedToProductDesc(productId: any){\r\n this.router.navigate(['details'], { queryParams: { id: productId } });\r\n // this._eventService.redirectToPage.emit({redirectTo: '/details', data: {productId: productId}})\r\n }\r\n clearFilter() {\r\n this.categories.forEach((category)=> category.status = false);\r\n this.collections.forEach((collection)=> collection.status = false);\r\n this.pricingMin = 0;\r\n this.pricingMax = 100;\r\n this.router.navigate(['list']);\r\n }\r\n\r\n categories: BaseModel[] = [];\r\n collections: BaseModel[] = [];\r\n applyFilter(category?:any, type?: 'SORT'|'FILTER') {\r\n let sorting = \"\";\r\n\r\n if (type == \"FILTER\")\r\n category.status = !category.status;\r\n else if (type == \"SORT\")\r\n sorting = category?.target?.value;\r\n\r\n this.navigateFilter(sorting);\r\n }\r\n\r\n navigateFilter(sorting: string) {\r\n \r\n let selectedCategory = \"\";\r\n let selectedCollection = \"\";\r\n this.categories.filter((category)=> category.status).map((category)=> { \r\n return {\r\n ...category,\r\n slug: category.option.replaceAll(\" \", \"_\")\r\n }\r\n }).forEach((category)=> selectedCategory += (category.slug + \"+\"));\r\n\r\n this.collections.filter((collection)=> collection.status).map((collection)=> { \r\n return {\r\n ...collection,\r\n slug: collection.option.replaceAll(\" \", \"_\")\r\n }\r\n }).forEach((collection)=> selectedCollection += (collection.slug + \"+\"));\r\n\r\n\r\n this.router.navigate(['list'], {queryParams: {minPrice: this.pricingMin, maxPrice: this.pricingMax, category: selectedCategory, collections: selectedCollection, sorting: sorting}});\r\n }\r\n\r\n filterItemList() {\r\n const collectionIds = this.collections.filter((collection)=> collection.status).map((collection)=> collection.id);\r\n const categoryIds = this.categories.filter((category)=> category.status).map((category)=> category.id); \r\n this.restService.getFilteredProduct(collectionIds, categoryIds, this.searchTxt, this.pricingMin, this.pricingMax, this.sortBy ?? \"\", this.pageNo, this.size).subscribe((response: any)=> {\r\n this.responseData = response.data.data;\r\n this.totalCount = response.data.count;\r\n })\r\n }\r\n\r\n get getTotalPage(): number {\r\n return Math.ceil(this.totalCount / this.size);\r\n }\r\n}\r\n","<section class=\"container-fluid total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" simpoHover\r\n (hovering)=\"showEditTabs($event)\">\r\n <div class=\"d-flex justify-content-between align-items-center w-100\">\r\n <div class=\"filter-top-section d-flex justify-content-between align-items-baseline\" style=\"width: 20%;\">\r\n <div class=\"filter body-large\">\r\n Filters\r\n </div>\r\n <div class=\"clear\" (click)=\"clearFilter()\">\r\n Clear all\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center justify-content-between\" style=\"width: 80%;\">\r\n <div style=\"color: #6c757d82;\" class=\"fs-6 fw-normal\">Showing {{pageNo*size +1}}-{{size}} of {{ totalCount }} Results</div>\r\n <div class=\"d-flex align-items-center\" style=\"gap: 10px;\">\r\n <div class=\"fs-6 fw-normal mr-3\" style=\"color: #6c757d82;\">Sort by</div>\r\n <select (change)=\"applyFilter($event, 'SORT')\">\r\n <option [value]=\"filter.value\" *ngFor=\"let filter of filteringArray\">{{filter.name}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"filter-side\">\r\n\r\n <div class=\"d-flex flex-column m-auto\" style=\"width: 95%;\">\r\n <ng-container *ngFor=\"let filter of filterList\">\r\n <div class=\"d-flex justify-content-between w-100 chip\">\r\n <span>{{filter.name}}</span>\r\n <span style=\"cursor: pointer;\" (click)=\"removeFilter(filter)\">X</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"categories-section\" *ngIf=\"categories?.length\">\r\n <div class=\"categories heading-small\">\r\n Shop by categories\r\n </div>\r\n <div class=\"category-options\" *ngFor=\"let category of categories\" (click)=\"applyFilter(category, 'FILTER')\">\r\n <input type=\"checkbox\" name=\"\" id=\"\" [checked]=\"category.status\" />\r\n <div>{{category.option | uppercase}}</div>\r\n </div>\r\n </div>\r\n <div class=\"categories-section\" *ngIf=\"collections?.length\">\r\n <div class=\"categories heading-small\">\r\n Shop by collections\r\n </div>\r\n <div class=\"category-options\" *ngFor=\"let collection of collections\" (click)=\"applyFilter(collection, 'FILTER')\">\r\n <input type=\"checkbox\" name=\"\" id=\"\" [checked]=\"collection.status\" />\r\n <div>{{collection.option | uppercase}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"price-section\">\r\n <div class=\"categories heading-small\">\r\n Shop by price\r\n </div>\r\n <div>\r\n <mat-slider min=\"0\" max=\"1000\" style=\"width: 250px;\">\r\n <input matSliderStartThumb [(ngModel)]=\"pricingMin\">\r\n <input matSliderEndThumb [(ngModel)]=\"pricingMax\">\r\n </mat-slider>\r\n </div>\r\n <div class=\"price-button-section\">\r\n <div class=\"button-section\">\r\n <button (click)=\"applyFilter()\">Filter</button>\r\n </div>\r\n <div class=\"price-range\">\r\n Price: ${{ pricingMin }} - ${{ pricingMax }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" class=\"right-side\">\r\n <div class=\"product-parent\" *ngIf=\"responseData && responseData.length > 0\">\r\n <div *ngFor=\"let product of responseData\" class=\"product\" [style.width]=\"getProductWidth()\" (click)=\"proceedToProductDesc(product.itemId)\" style=\"cursor: pointer;\">\r\n <div *ngIf=\"!(product.itemImages?.length && product.itemImages?.[0]?.imgUrl)\" class=\"default-image\">\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"product.itemImages?.length && product.itemImages?.[0]?.imgUrl\">\r\n <img [src]=\"product.itemImages?.[0]?.imgUrl\" alt=\"\" class=\"product-img\">\r\n </div>\r\n <div class=\"mt-2\">\r\n <div class=\"product-name heading-large text-left\">\r\n {{product.name}}</div>\r\n <div class=\"price body-large text-left\">\r\n ${{product.price.sellingPrice}}\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div *ngIf=\"content?.display?.showButton\" class=\"add-to-cart-btn\">\r\n <button simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\">{{content?.button}}</button>\r\n </div> -->\r\n <simpo-pagnination style=\"width: 100%;\" class=\"mt-15\" [totalPages]=\"getTotalPage\" [currentPage]=\"pageNo +1\" ></simpo-pagnination>\r\n </div>\r\n \r\n <section class=\"empty-cart\" *ngIf=\"responseData?.length == 0\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img style=\"height: 150px; width: 150px;\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\" alt=\"\">\r\n </div>\r\n <div class=\"cart-text\">\r\n <div class=\"heading-medium d-flex justify-content-center\">\r\n Product list is empty\r\n </div>\r\n <div class=\"description d-flex justify-content-center mt-4\">\r\n Looks like no item is present with filter. Go ahead & explore top categories.\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n\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","import { Component, OnInit, NgZone, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { Location } from '@angular-material-extensions/google-maps-autocomplete';\r\nimport { CommonModule } from '@angular/common';\r\nimport UserDetails from './../../json/user-details.json';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'simpo-address',\r\n standalone: true,\r\n imports: [\r\n MatIcon,\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './address.component.html',\r\n styleUrl: './address.component.css'\r\n})\r\nexport class AddressComponent implements OnInit, OnChanges {\r\n\r\n @Input() responseData: any;\r\n\r\n constructor(\r\n private readonly ngZone: NgZone,\r\n private readonly restService: RestService\r\n // private readonly matDialogRef: MatDialogRef<AddressComponent>\r\n ) {}\r\n\r\n public addressList: any[] = [];\r\n public address: any = {\r\n \"receiverName\": \"\",\r\n \"receiverPhone\": \"\",\r\n \"receiverEmail\": \"\",\r\n \"countryName\": \"\",\r\n \"stateName\": \"\",\r\n \"cityName\": \"\",\r\n \"localityName\": \"\",\r\n \"addressLine1\": \"\",\r\n \"landmark\": \"\",\r\n \"zipCode\": \"\",\r\n \"stateCode\": \"\",\r\n \"addressType\": \"\",\r\n \"geolocation\": {\r\n \"latitude\": 0,\r\n \"longitude\": 0\r\n }\r\n }\r\n\r\n @Input() isCart: boolean = false;\r\n\r\n private latitute: number | null = null;\r\n private longitute: number | null = null;\r\n public addNewAddress: boolean = false;\r\n\r\n public mapCenter: google.maps.LatLngLiteral = {\r\n lat: 0,\r\n lng: 0\r\n };\r\n\r\n public markerPosition: google.maps.LatLngLiteral = {\r\n lat: 0,\r\n lng: 0\r\n };\r\n\r\n public markerOptions: google.maps.MarkerOptions = { draggable: true };\r\n\r\n private geocoder = new google.maps.Geocoder();\r\n\r\n @Input() selectedAddressIdx: number = -1;\r\n public addessType: { key: string, status: boolean }[] = [\r\n { key: \"HOME\", status: false },\r\n { key: \"WORK\", status: false },\r\n { key: \"OTHER\", status: false }\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.getCurrentLocation();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.addressList = this.responseData;\r\n }\r\n\r\n checkAddressType(address: { key: string, status: boolean }) {\r\n this.addessType.forEach((add)=> add.status = (add.key == address.key));\r\n this.address.addressType = address.key;\r\n }\r\n close() {\r\n\r\n }\r\n getCurrentLocation() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((values) => {\r\n this.latitute = values.coords.latitude;\r\n this.longitute = values.coords.longitude;\r\n });\r\n }\r\n }\r\n getAddress() {\r\n this.geocoder.geocode({ location: this.markerPosition }, (results: any, status: any) => {\r\n if (status === 'OK' && results[0]) {\r\n this.ngZone.run(() => {\r\n // this.address = results[0].formatted_address;\r\n results[0].address_components.forEach((component: any) => {\r\n const types = component.types;\r\n if (types.includes(\"locality\")) {\r\n // this.city = component.long_name;\r\n }\r\n if (types.includes(\"administrative_area_level_1\")) {\r\n // this.state = component.long_name;\r\n }\r\n if (types.includes(\"country\")) {\r\n // this.selectedCountry = component.long_name;\r\n }\r\n if (types.includes(\"postal_code\")) {\r\n // this.zip = component.long_name;\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n onLocationSelected(location: any) {\r\n \r\n this.latitute = location.latitude;\r\n this.longitute = location.longitude;\r\n // this.setPosition(); // Update map position\r\n // this.updateAddressFields();\r\n }\r\n onAutocompleteSelected(result: any) {\r\n console.log(result);\r\n // this.selectedCountry = null;\r\n // this.zip = \"\";\r\n // this.state = \"\";\r\n // this.city = \"\";\r\n // this.address = result?.formatted_address;\r\n result?.address_components.forEach((data: any) => {\r\n if (data?.types.includes(\"country\")){}\r\n // this.selectedCountry = data.long_name;\r\n else if (data?.types.includes(\"postal_code\")){}\r\n // this.zip = data.long_name;\r\n else if (data?.types.includes(\"administrative_area_level_1\")){}\r\n // this.state = data.long_name;\r\n else if (data?.types.includes(\"locality\")){}\r\n // this.city = data.long_name;\r\n });\r\n }\r\n updateAddress() {\r\n const userId = UserDetails.user.userId;\r\n const payload = {\r\n \"userId\": userId,\r\n \"addressDetailsList\": [...(UserDetails.user?.addressDetailsList ?? []), this.address],\r\n \"contact\": UserDetails.user?.contact ?? {},\r\n \"gender\": UserDetails.user?.gender?.length > 0 ? UserDetails.user?.gender : null\r\n }\r\n this.restService.addUserAddress(payload).subscribe((response)=> {\r\n this.addNewAddress = false;\r\n UserDetails.user.addressDetailsList.push(this.address as never);\r\n })\r\n }\r\n}\r\n","<section class=\"address-sec\">\r\n <div class=\"header\">\r\n <h3>{{isCart ? 'Shipping To' : 'New Address'}}</h3>\r\n <mat-icon (click)=\"close()\" *ngIf=\"!isCart\">close</mat-icon>\r\n <span class=\"add-address\" *ngIf=\"addressList.length && !addNewAddress\" (click)=\"addNewAddress = true\">+ add address</span>\r\n </div>\r\n <ng-container *ngIf=\"!addressList?.length || addNewAddress\">\r\n <p (click)=\"getCurrentLocation()\" class=\"d-flex align-items-center\" style=\"cursor: pointer;\">\r\n <mat-icon>my_location</mat-icon>\r\n <span>take my current location</span>\r\n </p>\r\n <div class=\"forms d-flex flex-wrap\">\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Name</div>\r\n <input type=\"text\" placeholder=\"Enter name\" [(ngModel)]=\"address.receiverName\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Mobile</div>\r\n <input type=\"text\" placeholder=\"Enter mobile\" [(ngModel)]=\"address.receiverPhone\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Email</div>\r\n <input type=\"text\" placeholder=\"Enter email\" [(ngModel)]=\"address.receiverEmail\">\r\n </div>\r\n <div class=\"form-control-full-group\">\r\n <div class=\"label\">Address</div>\r\n <input type=\"text\" placeholder=\"Enter address\" matGoogleMapsAutocomplete\r\n (onAutocompleteSelected)=\"onAutocompleteSelected($event)\"\r\n (onLocationSelected)=\"onLocationSelected($event)\" [(ngModel)]=\"address.addressLine1\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Locality</div>\r\n <input type=\"text\" placeholder=\"Enter locality\" [(ngModel)]=\"address.localityName\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Landmark</div>\r\n <input type=\"text\" placeholder=\"Enter landmark\" [(ngModel)]=\"address.landmark\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Pincode</div>\r\n <input type=\"text\" placeholder=\"Enter pincode\" [(ngModel)]=\"address.zipCode\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">City</div>\r\n <input type=\"text\" placeholder=\"Enter city\" [(ngModel)]=\"address.cityName\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">State</div>\r\n <input type=\"text\" placeholder=\"Enter state\" [(ngModel)]=\"address.stateName\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Address Type</div>\r\n <div class=\"d-flex\">\r\n <ng-container *ngFor=\"let address of addessType\">\r\n <span class=\"address-type\" (click)=\"checkAddressType(address)\" [ngClass]=\"{'active-address': address.status}\">{{address.key}}</span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"address-list\" *ngIf=\"addressList.length && !addNewAddress\">\r\n <ng-container *ngFor=\"let address of addressList; let idx = index\">\r\n <div class=\"address\" (click)=\"selectedAddressIdx = idx\" [ngClass]=\"{'selectedAddress': selectedAddressIdx == idx}\">\r\n <div class=\"address-left\">\r\n <div class=\"top\">\r\n <span class=\"fw-bold mr-2\">{{address?.receiverName}}</span>\r\n <span class=\"address-type\">{{address?.addressType}}</span>\r\n </div>\r\n <div class=\"address-det\">{{address.addressLine1}}</div>\r\n <div class=\"phone\">\r\n <span>Phone:</span>\r\n <span class=\"address-phone\">{{address.receiverPhone}}</span>\r\n </div>\r\n </div>\r\n <div class=\"address-right\"></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"action-btn\" *ngIf=\"!addressList.length || addNewAddress\">\r\n <button (click)=\"updateAddress()\">Update</button>\r\n </div>\r\n</section>","import { Component, Input } from '@angular/core';\r\nimport { Address, CartSectionModal, CartSectionStylesModel } from './cart.modal';\r\nimport { Cart } from '../../styles/cart.modal';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport UserCart from './../../json/user-cart.json';\r\nimport UserInfo from './../../json/user-details.json';\r\nimport { Product } from '../../styles/product.modal';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { AddressComponent } from \"../address/address.component\";\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticateUserComponent } from '../authenticate-user/authenticate-user.component';\r\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { RestService } from \"../../../services/rest.service\";\r\nimport { StorageServiceService } from '../../../services/storage.service';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { User } from '../../styles/user.modal';\r\n\r\n\r\n@Component({\r\n selector: 'simpo-cart',\r\n standalone: true,\r\n imports: [\r\n FormsModule, \r\n CommonModule,\r\n MatIcon,\r\n MatDialogModule,\r\n SimpoComponentModule,\r\n //DIRECTIVE\r\n ButtonDirectiveDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective, \r\n AddressComponent,\r\n\r\n ],\r\n templateUrl: './cart.component.html',\r\n styleUrl: './cart.component.css'\r\n})\r\nexport class CartComponent extends BaseSection{\r\n @Input() data?: CartSectionModal;\r\n @Input() responseData?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n selectedAddressIdx: number = -1;\r\n styles?: CartSectionStylesModel;\r\n public currentTab: 'BAG' | 'ADDRESS' | 'PAYMENT' = \"BAG\";\r\n\r\n constructor(\r\n private readonly _eventService : EventsService,\r\n private readonly cartService: CartService,\r\n private readonly router: Router,\r\n private readonly restService: RestService,\r\n private readonly matDialog: MatDialog,\r\n private readonly storageService: StorageServiceService,\r\n private readonly cookieService: CookieService\r\n ){\r\n super()\r\n }\r\n\r\n ngOnInit(){\r\n const userDetails = JSON.parse(this.cookieService.get(\"user\")) as User;\r\n if (userDetails.userId) {\r\n UserCart.userDetails = {...UserCart.userDetails, ...UserInfo.user.contact, userId: userDetails.userId};\r\n this.cartService.storeDataToServer().subscribe((response)=> {\r\n this.responseData = this.storageService.calculateBillingDetails();\r\n console.log(\"a: \", UserCart, this.responseData);\r\n this.styles = this.data?.styles;\r\n })\r\n }\r\n }\r\n // userDetails: any;\r\n // getUserInfo() {\r\n // const userId = \"dc915bd4-fa6f-446e-bce2-440b6804af22\";\r\n // \r\n // return this.restService.getUserInfo(userId).subscribe((response: any)=> {\r\n // this.userDetails = response.data;\r\n // \r\n // })\r\n // }\r\n\r\n proceedToCheckout(){\r\n if(UserInfo?.user?.userId){\r\n this.currentTab = \"ADDRESS\"; \r\n } else {\r\n if (window.innerWidth <= 475)\r\n this.router.navigate(['/auth']);\r\n else {\r\n this.matDialog.open(AuthenticateUserComponent, {\r\n height: '50vh',\r\n width: '35vw',\r\n data: this.data \r\n });\r\n }\r\n }\r\n }\r\n\r\n proceedToListPage(){\r\n // this._eventService.redirectToPage.emit({ redirectTo: '/list'});\r\n this.router.navigate(['/']);\r\n }\r\n removeItem(item: any) {\r\n item.quantity = 0;\r\n this.cartService.addItemToCart(item as Product);\r\n this.responseData = this.storageService.calculateBillingDetails();\r\n }\r\n addToCart(item: any, type: 'ADD' | 'SUBSTRACT') {\r\n if (type == 'ADD') {\r\n item.quantity += 1;\r\n }\r\n else {\r\n item.quantity -= 1;\r\n }\r\n this.cartService.addItemToCart(item as Product);\r\n this.responseData = this.storageService.calculateBillingDetails();\r\n }\r\n proceedToPayment() {\r\n const address = UserInfo.user.addressDetailsList[this.selectedAddressIdx] as Address;\r\n const payload = {\r\n \"userId\": UserInfo.user.userId,\r\n \"cartId\": UserCart.cartId,\r\n \"orderAmount\": UserCart.totalAmount,\r\n \"contactDetails\": {\r\n \"name\": address.receiverName,\r\n \"mobile\": address.receiverPhone,\r\n \"countryCode\": \"91\",\r\n \"email\": address.receiverEmail\r\n }\r\n }\r\n this.restService.createPaymentToken(payload).subscribe((response)=> {\r\n\r\n })\r\n }\r\n\r\n get getAddressList() {\r\n return UserInfo.user ? [...UserInfo.user?.addressDetailsList] : [];\r\n }\r\n}\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" >\r\n <div class=\"d-flex align-items-center justify-content-center mb-2\">\r\n <span class=\"timeline\" [ngClass]=\"{'isActive': currentTab == 'BAG'}\" (click)=\"currentTab = 'BAG'\">Bag</span>\r\n <div class=\"bar\"></div>\r\n <span class=\"timeline\" [ngClass]=\"{'isActive': currentTab == 'ADDRESS'}\" (click)=\"currentTab = 'ADDRESS'\">Address</span>\r\n <div class=\"bar\"></div>\r\n <span class=\"timeline\" [ngClass]=\"{'isActive': currentTab == 'PAYMENT'}\" (click)=\"currentTab = 'PAYMENT'\">Payment</span>\r\n </div>\r\n <div class=\"cart-parent container\" *ngIf=\"(responseData?.orderedItems?.length || 0) > 0\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <ng-container [ngSwitch]=\"currentTab\">\r\n <div class=\"left-panel\" *ngSwitchCase=\"'BAG'\">\r\n <div class=\"my-bag\">\r\n My Bag <span>({{responseData?.orderedItems?.length}} Items)</span>\r\n </div>\r\n <div class=\"cart-items\">\r\n <ng-container *ngFor=\"let item of responseData?.orderedItems; let idx = index\">\r\n <div class=\"row item-parent\">\r\n <div class=\"h-100\" style=\"padding: 0px; width: fit-content;\">\r\n <img class=\"product-img\" [src]=\"item.imgUrl\" alt=\"\">\r\n </div>\r\n <div class=\"col-md-6 h-100\">\r\n <div class=\"lh-23\">\r\n <div class=\"item-name heading-large\">{{item.itemName}}</div>\r\n <div class=\"price-with-tax\">\r\n ₹ {{item.price + (item.itemTax ?? 0)}}\r\n </div>\r\n <div class=\"item-quantity\">\r\n <span class=\"cursor\" (click)=\"addToCart(item, 'SUBSTRACT')\">-</span>\r\n <span>{{item.quantity}}</span>\r\n <span class=\"cursor\" (click)=\"addToCart(item, 'ADD')\">+</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 position-relative\" style=\"margin-left: auto;\">\r\n <div class=\"item-price\">₹ {{(item.price + (item.itemTax ?? 0)) * item.quantity}}</div>\r\n <div>\r\n <mat-icon class=\"delete-item\" (click)=\"removeItem(item)\">delete</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <hr *ngIf=\"responseData?.orderedItems?.length != (idx +1)\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"left-panel\" *ngSwitchCase=\"'ADDRESS'\">\r\n <simpo-address [isCart]=\"true\" [responseData]=\"getAddressList\" [selectedAddressIdx]=\"selectedAddressIdx\"></simpo-address>\r\n </div>\r\n <div class=\"left-panel\" *ngSwitchCase=\"'PAYMENT'\"></div>\r\n </ng-container>\r\n <div class=\"right-panel\">\r\n <div class=\"my-bag\">\r\n Price Details\r\n </div>\r\n <div class=\"price-details\">\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.billdetails?.totalNetValue\">\r\n <div class=\"price-type\">Total Price</div>\r\n <div class=\"price-value\">₹ {{responseData.billdetails.totalNetValue}}</div>\r\n </div>\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.billdetails?.totalTax\">\r\n <div class=\"price-type\">Total Tax</div>\r\n <div class=\"price-value\">₹ {{responseData?.billdetails?.totalTax}}</div>\r\n </div>\r\n <div class=\"price-parent-block\"\r\n *ngIf=\"responseData?.billdetails?.deliveryCharges && responseData.billdetails.deliveryCharges > 0\">\r\n <div class=\"price-type\">Delivery Charge</div>\r\n <div class=\"price-value\">₹ {{responseData.billdetails.deliveryCharges}}</div>\r\n </div>\r\n <hr>\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.totalAmount\">\r\n <div class=\"price-type\" style=\"color: black;font-weight: 600;\">Total Amount</div>\r\n <div class=\"price-value\" style=\"font-weight: 600;\">₹ {{responseData.totalAmount}}</div>\r\n </div>\r\n\r\n <div class=\"button-parent\">\r\n <ng-container *ngIf=\"currentTab == 'BAG'\">\r\n <div class=\"btn\" (click)=\"proceedToCheckout()\">Checkout Cart</div>\r\n <div class=\"btn\" (click)=\"proceedToListPage()\">Continue Shopping</div>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"currentTab == 'ADDRESS'\">\r\n <div class=\"btn\" (click)=\"proceedToPayment()\">Place Order</div>\r\n </ng-container>\r\n <!-- <div *ngFor=\"let button of data?.action?.buttons;let i = index\">\r\n <button class=\"btn\" (click)=\"i == 0 ? proceedToCheckout() : proceedToListPage()\" simpoButtonDirective [id]=\"data?.id+button.id\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\">{{button?.content?.label}}</button>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <section class=\"empty-cart\" *ngIf=\"(responseData?.orderedItems?.length || 0) == 0\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\" alt=\"\">\r\n </div>\r\n <div class=\"cart-text\">\r\n <div class=\"heading-medium d-flex justify-content-center\">\r\n Your cart is empty\r\n </div>\r\n <div class=\"description d-flex mt-4\">\r\n Looks like you have not added anything to your cart. Go ahead & explore top categories.\r\n </div>\r\n </div>\r\n </div>\r\n </section>\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\r\n</section>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CheckoutContentModal, CheckoutModal, CheckoutStylesModal } from './checkout.modal';\r\nimport { Cart } from '../../styles/cart.modal';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { ButtonModel } from '../../../styles/style.model';\r\nimport { EventsService } from '.././../../services/events.service';\r\n\r\n@Component({\r\n selector: 'simpo-checkout',\r\n standalone: true,\r\n imports: [FormsModule, CommonModule,\r\n SimpoComponentModule,\r\n //DIRECTIVE\r\n ButtonDirectiveDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective\r\n ],\r\n templateUrl: './checkout.component.html',\r\n styleUrl: './checkout.component.css'\r\n})\r\nexport class CheckoutComponent extends BaseSection{\r\n @Input() data?: CheckoutModal;\r\n @Input() responseData?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n constructor(private _eventService : EventsService){\r\n super()\r\n }\r\n\r\n editDeliveryAddress = true;\r\n content?: CheckoutContentModal;\r\n styles?: CheckoutStylesModal;\r\n button?: ButtonModel;\r\n\r\n ngOnInit(){\r\n this.editDeliveryAddress = this.responseData?.userDetails ? true : false;\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.button = this.data?.action?.buttons[0];\r\n }\r\n\r\n placeOrder(){\r\n this._eventService.placeOrder.emit({cartData: this.responseData});\r\n }\r\n}\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div class=\"container\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div class=\"row\">\r\n <div class=\"col-md-7 col-12\" *ngIf=\"editDeliveryAddress\">\r\n <div class=\"shipping-label heading-large\">Shipping To</div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Name</label>\r\n <input [(ngModel)]=\"responseData.userDetails.userName\" type=\"text\" placeholder=\"Enter Name\"\r\n class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Mobile Number</label>\r\n <input [(ngModel)]=\"responseData.userDetails.mobile\" type=\"number\" placeholder=\"Enter number\"\r\n class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Email</label>\r\n <input [(ngModel)]=\"responseData.userDetails.email\" type=\"email\" placeholder=\"Enter email\"\r\n class=\"input-field\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"shipping-label\" style=\"margin-top: 15px;\">Shipping Address</div>\r\n <div class=\"row\">\r\n <div class=\"col-12 input-parent\">\r\n <label for=\"\">Address</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.addressLine1\" type=\"text\"\r\n placeholder=\"Flat/House No, Building, Colony\" class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Locality/Area</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.localityName\" type=\"text\"\r\n placeholder=\"Eg: Jaybheri Enclave, Gachibowli\" class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Landmark</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.landmark\" type=\"text\"\r\n placeholder=\"Eg: Near SBI Bank\" class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Pincode</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.zipCode\" type=\"number\" placeholder=\"Eg: 500032\"\r\n class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">City</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.cityName\" type=\"text\"\r\n placeholder=\"Eg: Hyderabad\" class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">State</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.stateName\" type=\"text\"\r\n placeholder=\"Eg: Telanghana\" class=\"input-field\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-7 col-12\" *ngIf=\"!editDeliveryAddress\">\r\n <div class=\"shipping-label\">Delivery Address</div>\r\n <div class=\"delivery-address\">\r\n <div style=\"position: absolute;right: 15px;\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/library-media/813827c1709186499689edit%201.png\"\r\n alt=\"\" style=\"cursor: pointer;\" (click)=\"editDeliveryAddress = true\">\r\n </div>\r\n <div class=\"userName\">{{responseData?.userDetails.userName}}</div>\r\n <div class=\"user-details\" style=\"margin-top: 5px;\">\r\n {{responseData?.userDetails.deliveryAddress?.addressLine1}},\r\n {{responseData?.userDetails.deliveryAddress?.localityName}}</div>\r\n <div class=\"user-details\">{{responseData?.userDetails.deliveryAddress?.cityName}},\r\n {{responseData?.userDetails.deliveryAddress?.stateName}}</div>\r\n <div class=\"user-details\">{{responseData?.userDetails.deliveryAddress?.countryName}} -\r\n {{responseData?.userDetails.deliveryAddress?.zipCode}}</div>\r\n <div class=\"user-details\" style=\"margin-top: 5px;\">Phone : <span\r\n style=\"font-weight: 500;\">{{responseData?.userDetails.mobile}}</span></div>\r\n </div>\r\n </div>\r\n <div class=\"offset-md-1 col-md-4 col-12 right-section\">\r\n <div class=\"shipping-label heading-large lh-normal\">\r\n Price Details\r\n </div>\r\n <div class=\"price-details\">\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.billdetails?.totalNetValue\">\r\n <div class=\"price-type\">Total MRP</div>\r\n <div class=\"price-value\">₹ {{responseData.billdetails.totalNetValue}}</div>\r\n </div>\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.billdetails?.totalTax\">\r\n <div class=\"price-type\">Total Tax</div>\r\n <div class=\"price-value\">₹ {{responseData?.billdetails?.totalTax}}</div>\r\n </div>\r\n <div class=\"price-parent-block\"\r\n *ngIf=\"responseData?.billdetails?.deliveryCharges && responseData.billdetails.deliveryCharges > 0\">\r\n <div class=\"price-type\">Delivery Charge</div>\r\n <div class=\"price-value\">₹ {{responseData.billdetails.deliveryCharges}}</div>\r\n </div>\r\n <hr>\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.totalAmount\">\r\n <div class=\"price-type\" style=\"color: black;font-weight: 600;\">Total Amount</div>\r\n <div class=\"price-value\" style=\"font-weight: 600;\">₹ {{responseData.totalAmount}}</div>\r\n </div>\r\n\r\n <div class=\"button-parent\">\r\n <button simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\" (click)=\"placeOrder()\">{{content?.button}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport UserFavourite from './../../json/user-favourite.json';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'simpo-whislist',\r\n standalone: true,\r\n imports: [\r\n MatIcon,\r\n SimpoComponentModule,\r\n CommonModule,\r\n //DIRECTIVE\r\n ButtonDirectiveDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective\r\n ],\r\n templateUrl: './whislist.component.html',\r\n styleUrl: './whislist.component.css'\r\n})\r\nexport class WhislistComponent implements OnInit {\r\n \r\n @Input() responseData?: any;\r\n @Input() data?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n styles: any;\r\n \r\n constructor(\r\n private readonly cartService: CartService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.responseData = UserFavourite;\r\n this.styles = this.data?.styles;\r\n }\r\n\r\n moveToCart(item: any) {\r\n // this.cartService.convertFavToCart(item);\r\n }\r\n deleteFromWhislist(item: any) {\r\n // this.cartService.removeItemToFavourite(item);\r\n } \r\n addToFav(item: any, type: 'ADD' | 'SUBSTRACT') {\r\n if (type == 'ADD')\r\n item.quantity += 1;\r\n else\r\n item.quantity -= 1;\r\n this.cartService.addItemToFavourite(item);\r\n }\r\n}\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"cart-parent container\" *ngIf=\"(responseData?.orderedItems?.length || 0) > 0\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div class=\"left-panel\">\r\n <div class=\"my-bag\">\r\n My Whislist <span>({{responseData?.orderedItems?.length}} Items)</span>\r\n </div>\r\n \r\n <div class=\"d-flex flex-wrap justify-content-between\" style=\"gap: 10px;\">\r\n <ng-container *ngFor=\"let item of responseData?.orderedItems; let idx = index\">\r\n <div class=\"cart-items\">\r\n <div class=\"row item-parent\">\r\n <div class=\"h-100\" style=\"padding: 0px; width: fit-content;\">\r\n <img class=\"product-img\" [src]=\"item.imgUrl\" alt=\"\">\r\n </div>\r\n <div class=\"col-md-6 h-100 item-desc\">\r\n <div class=\"lh-23\">\r\n <div class=\"item-name heading-large\">{{item.itemName}}</div>\r\n <div class=\"price-with-tax\">\r\n ₹ {{item.price + (item.itemTax ?? 0)}}\r\n </div>\r\n <div class=\"item-quantity\">\r\n <span class=\"cursor\" (click)=\"addToFav(item, 'SUBSTRACT')\">-</span>\r\n <span>{{item.quantity}}</span>\r\n <span class=\"cursor\" (click)=\"addToFav(item, 'ADD')\">+</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"position-relative itemPrice\" style=\"margin-left: auto; width: 30%;\">\r\n <div class=\"item-price\">₹ {{(item.price + (item.itemTax ?? 0)) * item.quantity}}</div>\r\n <div>\r\n <mat-icon class=\"cart-item\" (click)=\"moveToCart(item)\">add_shopping_cart</mat-icon>\r\n <mat-icon class=\"delete-item\" (click)=\"deleteFromWhislist(item)\">delete</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <section class=\"empty-cart\" *ngIf=\"(responseData?.orderedItems?.length || 0) == 0\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\" alt=\"\">\r\n </div>\r\n <div class=\"cart-text\">\r\n <div class=\"heading-medium d-flex justify-content-center\">\r\n Your Whislist is empty\r\n </div>\r\n <div class=\"description d-flex mt-4\">\r\n Looks like you have not added anything to your Whislist. Go ahead & explore top categories.\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n \r\n </section>","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TimelineModule } from 'primeng/timeline';\r\n\r\n@Component({\r\n selector: 'simpo-order-details',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n TimelineModule,\r\n MatIcon\r\n ],\r\n templateUrl: './order-details.component.html',\r\n styleUrl: './order-details.component.css'\r\n})\r\nexport class OrderDetailsComponent implements OnInit {\r\n @Input() responseData?: any;\r\n @Input() data?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n public orderTimiline: any = [\r\n { icon: \"widgets\", name: \"Order Placed\", desc: \"Your order is successful placed track your order\" },\r\n { icon: \"local_shipping\", name: \"To be Shipped\", desc: \"Your order is successful placed track your order\" },\r\n { icon: \"inbox\", name: \"To be Delivered\", desc: \"Your order is successful placed track your order\" },\r\n ];\r\n\r\n ngOnInit(): void {\r\n console.log(this.responseData);\r\n }\r\n}\r\n","<section class=\"d-flex justify-content-between\" style=\"width: 80%; margin: auto;\">\r\n <div class=\"left\" style=\"width: 60%;\">\r\n <h1 class=\"fs-3 fw-normal mb-5 d-flex align-items-center onlyDesktop\" style=\"margin-left: -30px;\">\r\n <mat-icon style=\"cursor: pointer;\">keyboard_arrow_left</mat-icon>\r\n <span>Order Details</span>\r\n </h1>\r\n <div class=\"d-flex justify-content-between align-items-end\">\r\n <div class=\"d-flex flex-column\">\r\n <span class=\"text-dark fs-5\">Order {{ responseData.orderId }}</span>\r\n <span class=\"text-muted fs-6\">{{ responseData.orderDate | date }}, {{ responseData.items }} items | ₹ {{responseData.amount}}</span>\r\n </div>\r\n <span class=\"text-dark fw-bold fs-5\">{{responseData.store}}</span>\r\n </div>\r\n <hr />\r\n <div class=\"timeline\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex\">\r\n <mat-icon style=\"margin-right: 10px;\">{{ event.icon }}</mat-icon> \r\n <div class=\"d-flex flex-column ml-2\">\r\n <span class=\"fw-normal fs-6\">{{ event.name }}</span> \r\n <div class=\"fs-6 text-muted\">{{event.desc}}</div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n <hr />\r\n <div>\r\n <div *ngFor=\"let item of responseData.itemList\" class=\"d-flex\" style=\"gap: 10px; width: 100%;\">\r\n <img [src]=\"item.itemImages[0].imgUrl\" alt=\"\" style=\"height: 85px;width: 85px;\">\r\n <div class=\"d-flex flex-column justify-content-center\" style=\"gap: 6px; width: 89%;\">\r\n <span class=\"text-dark fw-bold fs-6\">{{item.name}}</span>\r\n <span class=\"fs-6\">Size: XS</span>\r\n <div class=\"d-flex justify-content-between fs-6\">\r\n <span>1 X ₹ <span class=\"text-dark fw-bold\">{{item.price.sellingPrice}}</span></span>\r\n <span> ₹ <span class=\"text-dark fw-bold\">{{item.price.sellingPrice}}</span></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"fs-6\">\r\n <div class=\"d-flex justify-content-between my-2\">\r\n <span class=\"fw-normal\">Item Total</span>\r\n <span class=\"fw-bold\">₹ {{responseData.amount}}</span>\r\n </div>\r\n \r\n <div class=\"d-flex justify-content-between my-2\">\r\n <span>Delivery</span>\r\n <span>FREE</span>\r\n </div>\r\n \r\n <div class=\"d-flex justify-content-between my-2\">\r\n <span class=\"fw-normal\">Grand Total</span>\r\n <span class=\"fw-bold\">₹ {{responseData.amount}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\" style=\"width: 25%; mt-2\">\r\n <h1 class=\"mb-3 fs-5\">Your Details</h1>\r\n <div class=\"my-2 fs-6\">\r\n <span style=\"margin-right: 10px\">Name:</span>\r\n <span class=\"fw-bold pl-2\">Shruti</span>\r\n </div>\r\n <div class=\"my-2 fs-6\">\r\n <span style=\"margin-right: 10px\">Phone:</span>\r\n <span class=\"fw-bold pl-2\">940495483938</span>\r\n </div>\r\n <div class=\"my-2 fs-6\">\r\n <span style=\"margin-right: 10px\">Address:</span>\r\n <span class=\"fw-bold pl-2\">The 27 building, Jayabheri Enclave</span>\r\n </div>\r\n <div class=\"my-2 fs-6\">\r\n <span style=\"margin-right: 10px\">Payment:</span>\r\n <span class=\"fw-bold pl-2\">Manual Payment</span>\r\n </div>\r\n </div>\r\n</section>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Cart, UserDetails } from '../../styles/cart.modal';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport UserInfo from './../../json/user-details.json';\r\nimport { Product } from '../../styles/product.modal';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { ResponseData, Tabs, UserProfile } from './user-profile.modal';\r\nimport { OrderItem } from '../../styles/order.modal';\r\nimport { Router } from '@angular/router';\r\nimport { OrderDetailsComponent } from \"../order-details/order-details.component\";\r\nimport { RestService } from \"../../../services/rest.service\";\r\n\r\n@Component({\r\n selector: 'simpo-user-profile',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatIcon,\r\n ButtonDirectiveDirective,\r\n SimpoComponentModule,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective,\r\n OrderDetailsComponent\r\n],\r\n templateUrl: './user-profile.component.html',\r\n styleUrl: './user-profile.component.css'\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n\r\n constructor(\r\n private readonly router: Router,\r\n private readonly restService: RestService\r\n ) {}\r\n\r\n @Input() responseData?: ResponseData;\r\n @Input() data?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n public button: any;\r\n\r\n public selectedSidePanelTab: string | null = \"Orders\";\r\n public userDetails: UserProfile | null = null;\r\n public addressList: any = [];\r\n\r\n public sidePanelList: Tabs[] = [\r\n { value: \"Orders\", icon: \"accessibility\", status: true, label: \"Heading\", url: 'order' },\r\n { value: \"Address\", icon: \"location_on\", status: false, label: \"Heading\", url: 'address' },\r\n { value: \"Account Details\", icon: \"supervised_user_circle\", status: false, label: \"Heading\", url: 'account' },\r\n { value: \"Logout\", icon: \"transit_enterexit\", status: false, label: \"Heading\", url: '' }\r\n ];\r\n public tabs: Tabs[] = [];\r\n public orderList: OrderItem[] = [];\r\n\r\n ngOnInit(): void {\r\n // if (this.responseData?.userDetails) {\r\n this.userDetails = UserInfo.user as never as UserProfile;\r\n // this.tabs = this.responseData.tabs;\r\n // this.orderList = this.responseData.orders;\r\n // }\r\n this.button = this.data?.action?.buttons?.[0];\r\n // this.getUserInfo();\r\n }\r\n goToPanel(panel: any) {\r\n this.selectedSidePanelTab = panel.value;\r\n }\r\n goBack() {\r\n if (this.selectedSidePanelTab == '') {\r\n this.router.navigate(['/']);\r\n } else {\r\n this.selectedSidePanelTab = '';\r\n }\r\n }\r\n goToDetails(order: any) {\r\n\r\n }\r\n goToHome() {\r\n this.router.navigate(['/']);\r\n }\r\n public selectTab(tab: Tabs) {\r\n this.tabs.forEach((t)=> t.status = (tab.value == t.value));\r\n }\r\n public toggleSidepanelTab(tab: Tabs) {\r\n this.selectedSidePanelTab = tab.value;\r\n this.sidePanelList.forEach((t)=> t.status = (tab.value == t.value));\r\n }\r\n get getUserDetails() {\r\n return this.userDetails;\r\n }\r\n get isMobile() {\r\n return window.innerWidth <= 475;\r\n }\r\n\r\n // getUserInfo() {\r\n // const userId = \"dc915bd4-fa6f-446e-bce2-440b6804af22\";\r\n // return this.restService.getUserInfo(userId).subscribe((response: any)=> {\r\n // this.userDetails = response.data;\r\n // })\r\n // }\r\n}\r\n","<section class=\"d-flex\" style=\"width: 85%; margin: auto; margin-top: 1rem\" [style.width.%]=\"isMobile ? '90' : ''\">\r\n <ng-container *ngIf=\"!isMobile\">\r\n <div class=\"p-3\" style=\"background-color: #F8F8F8; width: 25%; border-radius: 10px; height: fit-content;\">\r\n <div class=\"d-flex align-items-center\" style=\"gap: 5px; height: 70px;\">\r\n <img [src]=\"getUserDetails ?? ''\" alt=\"\" class=\"rounded-circle h-100\" style=\"width: 70px;\">\r\n <div>\r\n <h4 class=\"text-dark font-weight-bold\">{{getUserDetails?.contact?.name}}</h4>\r\n <h6 class=\"text-muted d-flex align-items-center font-weight-normal\"><mat-icon>stay_primary_portrait</mat-icon> <span>{{getUserDetails?.contact?.mobile}}</span></h6>\r\n <h6 class=\"text-muted d-flex align-items-center font-weight-normal\"><mat-icon>mail_outline</mat-icon> <span>{{getUserDetails?.contact?.email}}</span></h6>\r\n </div>\r\n </div>\r\n <div class=\"tabs\">\r\n <ng-container *ngFor=\"let tab of sidePanelList; let idx = index\">\r\n <div class=\"d-flex align-items-center py-3\" style=\"gap: 5px; cursor: pointer;\" [style.borderBottom]=\"idx != (sidePanelList.length -1) ? '2px solid #cccccc4d' : ''\" [ngClass]=\"{'tab-selected': tab.status}\" (click)=\"toggleSidepanelTab(tab)\">\r\n <mat-icon>{{tab.icon}}</mat-icon>\r\n <div class=\"tab text-muted font-weight-normal\">{{tab.value}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"orders-sec\">\r\n <ng-container [ngSwitch]=\"selectedSidePanelTab\">\r\n <ng-container *ngSwitchCase=\"'Orders'\">\r\n <ng-container *ngTemplateOutlet=\"OrderSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Address'\">\r\n <ng-container *ngTemplateOutlet=\"AddressSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Account Details'\">\r\n <ng-container *ngTemplateOutlet=\"AccountsSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Logout'\">\r\n <ng-container *ngTemplateOutlet=\"LogoutSection\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isMobile\">\r\n <div class=\"w-100 position-relative\" style=\"height: 80vh;\">\r\n <div class=\"d-flex align-items-center mobileAccountHeader\" style=\"gap: 10px; height: 50px;\">\r\n <mat-icon style=\"cursor: pointer; display: flex; align-items: center;\" (click)=\"goBack()\">keyboard_backspace</mat-icon>\r\n <h4>My {{!selectedSidePanelTab?.length ? 'Account' : selectedSidePanelTab?.replaceAll('_', ' ')}}</h4>\r\n </div>\r\n <ng-container [ngSwitch]=\"selectedSidePanelTab\">\r\n <ng-container *ngSwitchCase=\"''\">\r\n <section class=\"top-sec\">\r\n <img [src]=\"getUserDetails\" alt=\"\" class=\"rounded-circle\" style=\"width: 50px; height: 50px;\">\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <h4 class=\"text-dark font-weight-bold\">{{getUserDetails?.contact?.name}}</h4>\r\n <h6 class=\"text-muted d-flex align-items-center font-weight-normal\"><mat-icon>stay_primary_portrait</mat-icon> <span>{{getUserDetails?.contact?.mobile}}</span></h6>\r\n <h6 class=\"text-muted d-flex align-items-center font-weight-normal\"><mat-icon>mail_outline</mat-icon> <span>{{getUserDetails?.contact?.email}}</span></h6>\r\n </div>\r\n </section>\r\n <section class=\"list-sec\">\r\n <ng-container *ngFor=\"let tab of sidePanelList; let idx = index\">\r\n <div class=\"d-flex align-items-center py-3\" style=\"gap: 5px; cursor: pointer;\" [style.borderBottom]=\"idx != (sidePanelList.length -1) ? '2px solid #cccccc4d' : ''\" [ngClass]=\"{'tab-selected': tab.status}\" (click)=\"goToPanel(tab)\">\r\n <mat-icon>{{tab.icon}}</mat-icon>\r\n <div class=\"tab text-muted font-weight-normal\">{{tab.value}}</div>\r\n </div>\r\n </ng-container>\r\n </section>\r\n </ng-container>\r\n \r\n <ng-container *ngSwitchCase=\"'Orders'\">\r\n <ng-container *ngTemplateOutlet=\"OrderSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Address'\">\r\n <ng-container *ngTemplateOutlet=\"AddressSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Account Details'\">\r\n <ng-container *ngTemplateOutlet=\"AccountsSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Logout'\">\r\n <ng-container *ngTemplateOutlet=\"LogoutSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Orders_Details'\">\r\n <ng-container *ngTemplateOutlet=\"OrderDetails\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</section>\r\n\r\n<ng-template #OrderSection>\r\n <h1 class=\"onlyDesktop\">My Orders</h1>\r\n <div class=\"d-flex my-3 orderlist\">\r\n <ng-container *ngFor=\"let tab of tabs\">\r\n <div class=\"filter-tab\" [ngClass]=\"{'filter-tab-selected': tab.status}\" (click)=\"selectTab(tab)\">{{tab.value}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"order-list\">\r\n <div class=\"order\" *ngFor=\"let order of orderList\">\r\n <ng-container *ngTemplateOutlet=\"OrderCard; context: {data: order}\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #OrderDetails>\r\n <simpo-order-details></simpo-order-details>\r\n</ng-template>\r\n<ng-template #AddressSection>\r\n <div class=\"d-flex justify-content-between mb-2 onlyDesktop\">\r\n <h1>My Address</h1>\r\n <button class=\"address-btn\">{{button?.content?.label}}</button>\r\n </div>\r\n <div class=\"address-list\">\r\n <ng-container *ngFor=\"let address of addressList\">\r\n <div class=\"address\">\r\n <div class=\"address-left\">\r\n <div class=\"top\">\r\n <span class=\"fw-bold mr-2\">{{address.name}}</span>\r\n <span class=\"address-type\">{{address.type}}</span>\r\n </div>\r\n <div class=\"address-det\">{{address.address}}</div>\r\n <div class=\"phone\">\r\n <span>Phone:</span>\r\n <span class=\"address-phone\">{{address.phone}}</span>\r\n </div>\r\n </div>\r\n <div class=\"address-right\"></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template #AccountsSection>\r\n <h1 class=\"onlyDesktop\">My Accounts</h1>\r\n</ng-template>\r\n<ng-template #LogoutSection>\r\n <h1 class=\"onlyDesktop\">Logout</h1>\r\n</ng-template>\r\n<ng-template #OrderCard let-order=\"data\">\r\n <div (click)=\"selectedSidePanelTab = 'Orders_Details'\">\r\n <div class=\"top\">\r\n <span class=\"text-muted font-weight-normal\">{{order.displayId}}</span>\r\n <mat-icon>arrow_forward_ios</mat-icon>\r\n </div>\r\n <div class=\"middle my-2\">\r\n <span>{{order.date | date}}</span>\r\n <span class=\"text-dark font-weight-bold\">{{order.store | titlecase}}</span>\r\n </div>\r\n <hr />\r\n <div class=\"bottom\">\r\n <span class=\"text-muted font-weight-normal\">Amount: <span class=\"text-dark\">{{ order.amount }}</span></span>\r\n <span class=\"text-muted font-weight-normal\">{{ order.status }}</span>\r\n </div>\r\n </div>\r\n</ng-template>","import { OrderedItems } from \"./OrderedItems.modal\"\r\nimport { ItemVariant } from \"./product.modal\"\r\n\r\nexport class Cart {\r\n cartId?: string\r\n pgOrderId: string\r\n orderedItems: OrderedItems[]\r\n billdetails: Billdetails\r\n platform: string\r\n locationDetails: LocationDetails\r\n userDetails: UserDetails\r\n totalAmount: number;\r\n\r\n constructor(json: {[key: string]: any}, type: 'MAPPER' | null = null) {\r\n this.cartId = json?.[\"cartId\"];\r\n this.pgOrderId = json?.[\"pgOrderId\"];\r\n this.orderedItems = json?.[\"orderedItems\"];\r\n this.billdetails = json?.[\"billdetails\"];\r\n this.platform = json?.[\"platform\"];\r\n this.locationDetails = json?.[\"locationDetails\"];\r\n this.userDetails = json?.[\"userDetails\"];\r\n this.totalAmount = 0;\r\n }\r\n}\r\n\r\n// export interface OrderedItem {\r\n// itemId: string\r\n// businessId: string\r\n// itemName: string\r\n// brandName: string\r\n// imgUrl: string\r\n// price: number\r\n// itemTax: number\r\n// quantity: number\r\n// cancelledQuantity: number\r\n// discountedPrice: number\r\n// taxAfterDiscount: number\r\n// itemVariant: ItemVariant\r\n// orderedItemStatus: string\r\n// itemDistributorType: string\r\n// }\r\n\r\n// export interface ItemVariant {\r\n// variantId: string\r\n// itemId: string\r\n// properties: any\r\n// itemVariantPrice: ItemVariantPrice\r\n// }\r\n\r\n// export interface ItemVariantPrice {\r\n// currency: string\r\n// value: number\r\n// estimatedValue: number\r\n// computedValue: number\r\n// listedValue: number\r\n// offeredValue: number\r\n// minimumValue: number\r\n// maximumValue: number\r\n// purchasePrice: number\r\n// wholeSalePrice: number\r\n// maxWholeSaleLimit: number\r\n// margin: number\r\n// profit: number\r\n// discountedPrice: number\r\n// taxRef: TaxRef\r\n// taxAmount: number\r\n// sellingPrice: number\r\n// }\r\n\r\n// export interface TaxRef {\r\n// taxId: string\r\n// taxPercent: number\r\n// }\r\n\r\nexport interface Billdetails {\r\n totalNetValue: number\r\n totalGrossValue: number\r\n totalTax: number\r\n totalOfferedValue: number\r\n cgstValue: number\r\n sgstValue: number\r\n igstValue: number\r\n deliveryCharges: number\r\n couponId: string\r\n}\r\n\r\nexport interface LocationDetails {\r\n countryId: string\r\n cityId: string\r\n stateId: string\r\n localityId: string\r\n countryName: string\r\n cityName: string\r\n localityName: string\r\n stateName: string\r\n}\r\n\r\nexport interface UserDetails {\r\n id: string\r\n userName: string\r\n mobile: string\r\n email: string\r\n profilePic: string\r\n address: DeliveryAddress\r\n gender: string\r\n}\r\n\r\nexport interface DeliveryAddress {\r\n countryName: string\r\n stateName: string\r\n cityName: string\r\n localityName: string\r\n addressLine1: string\r\n addressLine2: string\r\n landmark: string\r\n zipCode: string\r\n geolocation: Geolocation\r\n stateCode: string\r\n}\r\n\r\nexport interface Geolocation {\r\n latitude: number\r\n longitude: number\r\n}\r\n","import { CreatedDetails } from \"./product.modal\"\r\n\r\nexport class BaseCollection {\r\n storeId: string[];\r\n businessId: string;\r\n description: string;\r\n imgUrl: string[];\r\n showInWebsite: boolean;\r\n otherDetails: any;\r\n createdDetails: CreatedDetails;\r\n active: boolean;\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n this.storeId = json?.[\"storeId\"];\r\n this.businessId = json?.[\"businessId\"];\r\n this.description = json?.[\"description\"];\r\n this.imgUrl = json?.[\"imgUrl\"];\r\n this.showInWebsite = json?.[\"showInWebsite\"];\r\n this.createdDetails = json?.[\"createdDetails\"];\r\n this.active = json?.[\"active\"];\r\n }\r\n}\r\n\r\n// export interface CreatedDetails {\r\n// createdById: string\r\n// createdByName: string\r\n// createdTimeStamp: string\r\n// updatedTimeStamp: string\r\n// }\r\n","import { BaseCollection } from \"./BaseCollection.modal\"\r\n\r\nexport class Category extends BaseCollection {\r\n categoryId: string;\r\n categoryName: string;\r\n featuredCategory: boolean;\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n super(json);\r\n this.categoryId = json?.[\"categoryId\"];\r\n this.categoryName = json?.[\"categoryName\"];\r\n this.featuredCategory = json?.[\"featuredCategory\"];\r\n }\r\n}\r\n\r\n// export interface CreatedDetails {\r\n// createdById: string\r\n// createdByName: string\r\n// createdTimeStamp: string\r\n// updatedTimeStamp: string\r\n// }\r\n","import { BaseCollection } from \"./BaseCollection.modal\";\r\n\r\nexport class Collection extends BaseCollection {\r\n collectionId: string;\r\n collectionName: string;\r\n featuredCollection: boolean;\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n super(json);\r\n this.collectionId = json?.[\"collectionId\"];\r\n this.collectionName = json?.[\"collectionName\"];\r\n this.featuredCollection = json?.[\"featuredCategory\"]; // should be featuredCollection but need to change in BE\r\n }\r\n}","export class Product {\r\n itemId: string\r\n storeId: string[]\r\n name: string\r\n itemCategorisation: ItemCategorisation\r\n itemInventory: ItemInventory\r\n itemStatus: string\r\n itemType: string\r\n itemVariant: ItemVariant[]\r\n itemImages: ItemImage[]\r\n itemPacks: ItemPack2[]\r\n addOnToItem: AddOnToItem[]\r\n properties: any;\r\n unit: Unit;\r\n quantity: number;\r\n price: Price;\r\n prviewIdx: number;\r\n // createdDetails: CreatedDetails2\r\n // availableOnline: boolean\r\n categoryId: string\r\n // fulfillmentId: string\r\n // locationId: string\r\n descriptor: Descriptor\r\n rating: number\r\n // returnWindow: number\r\n // timeToShip: number\r\n // rateable: boolean\r\n // matched: boolean\r\n // related: boolean\r\n recommended: boolean\r\n returnable: boolean\r\n // active: boolean\r\n // cancellable: boolean\r\n // sellerReturnPickUp: boolean\r\n availableOnCod: boolean\r\n brief: string\r\n // createdTimeStamp: string\r\n // updatedTimeStamp: string\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n this.itemId = json?.[\"itemId\"];\r\n this.storeId = json?.[\"storeId\"];\r\n this.name = json?.[\"name\"];\r\n this.itemCategorisation = json?.[\"itemCategorisation\"] as ItemCategorisation;\r\n this.itemInventory = json?.[\"itemInventory\"] as ItemInventory;\r\n this.itemStatus = json?.[\"itemStatus\"];\r\n this.itemType = json?.[\"itemType\"];\r\n this.itemVariant = json?.[\"itemVariant\"];\r\n this.itemImages = json?.[\"itemImages\"];\r\n this.itemPacks = json?.[\"itemPacks\"];\r\n this.addOnToItem = json?.[\"addOnToItem\"];\r\n this.unit = json?.[\"unit\"];\r\n this.price = json?.[\"price\"];\r\n this.categoryId = json?.[\"categoryId\"];\r\n this.descriptor = json?.[\"descriptor\"];\r\n this.rating = json?.[\"rating\"];\r\n this.brief = json?.[\"brief\"];\r\n this.recommended = json?.[\"recommended\"];\r\n this.returnable = json?.[\"returnable\"];\r\n this.availableOnCod = json?.[\"availableOnCod\"];\r\n this.prviewIdx = 0;\r\n this.quantity = json?.[\"quantity\"] ?? 0;\r\n }\r\n}\r\n\r\nexport interface ItemCategorisation {\r\n itemCategories: ItemCategory[]\r\n productTags: ProductTag[]\r\n itemCollection: ItemCollection[]\r\n}\r\n\r\nexport interface ItemCategory {\r\n refId: string\r\n refName: string\r\n imgUrl: string\r\n maxQuantity: number\r\n price: number\r\n}\r\n\r\nexport interface ProductTag {\r\n tagId: string\r\n businessId: string\r\n storeId: string[]\r\n collectionId: string\r\n subCategoryId: string\r\n categoryId: string\r\n itemId: string\r\n tagName: string\r\n active: boolean\r\n otherDetails: any;\r\n createdDetails: CreatedDetails\r\n}\r\n\r\nexport interface CreatedDetails {\r\n createdById: string\r\n createdByName: string\r\n createdTimeStamp: string\r\n updatedTimeStamp: string\r\n}\r\n\r\nexport interface ItemCollection {\r\n refId: string\r\n refName: string\r\n imgUrl: string\r\n maxQuantity: number\r\n price: number\r\n}\r\n\r\nexport interface ItemInventory {\r\n openingStock: number\r\n sku: string\r\n barcode: string\r\n presentStockDate: string\r\n lowStockAlert: boolean\r\n lowStockQuantity: number\r\n}\r\n\r\nexport interface ItemVariant {\r\n variantId: string\r\n itemId: string\r\n variantName: string\r\n variantImages: VariantImage[]\r\n itemPacks: ItemPack[]\r\n properties: any;\r\n itemVariantPrice: ItemVariantPrice\r\n itemInventory: ItemInventory2\r\n itemStatus: string\r\n}\r\n\r\nexport interface VariantImage {\r\n imgUrl: string\r\n imgDesc: string\r\n}\r\n\r\nexport interface ItemPack {\r\n itemPackId: string\r\n packName: string\r\n active: boolean\r\n actualPrice: number\r\n offeredPrice: number\r\n packQuantity: number\r\n maxOrderQuantity: number\r\n}\r\n\r\nexport interface ItemVariantPrice {\r\n currency: string\r\n value: number\r\n estimatedValue: number\r\n computedValue: number\r\n listedValue: number\r\n offeredValue: number\r\n minimumValue: number\r\n maximumValue: number\r\n purchasePrice: number\r\n wholeSalePrice: number\r\n maxWholeSaleLimit: number\r\n margin: number\r\n profit: number\r\n discountedPrice: number\r\n taxRef: TaxRef\r\n taxAmount: number\r\n sellingPrice: number\r\n}\r\n\r\nexport interface TaxRef {\r\n taxId: string\r\n taxPercent: number\r\n}\r\n\r\nexport interface ItemInventory2 {\r\n openingStock: number\r\n sku: string\r\n barcode: string\r\n presentStockDate: string\r\n lowStockAlert: boolean\r\n lowStockQuantity: number\r\n}\r\n\r\nexport interface ItemImage {\r\n imgUrl: string\r\n imgDesc: string\r\n}\r\n\r\nexport interface ItemPack2 {\r\n itemPackId: string\r\n packName: string\r\n active: boolean\r\n actualPrice: number\r\n offeredPrice: number\r\n packQuantity: number\r\n maxOrderQuantity: number\r\n}\r\n\r\nexport interface AddOnToItem {\r\n refId: string\r\n refName: string\r\n imgUrl: string\r\n maxQuantity: number\r\n price: number\r\n}\r\n\r\n\r\nexport interface Unit {\r\n id: string\r\n key: string\r\n value: string\r\n}\r\n\r\nexport interface Price {\r\n currency: string\r\n value: number\r\n estimatedValue: number\r\n computedValue: number\r\n listedValue: number\r\n offeredValue: number\r\n minimumValue: number\r\n maximumValue: number\r\n purchasePrice: number\r\n wholeSalePrice: number\r\n maxWholeSaleLimit: number\r\n margin: number\r\n profit: number\r\n discountedPrice: number\r\n taxRef: TaxRef2\r\n taxAmount: number\r\n sellingPrice: number\r\n}\r\n\r\nexport interface TaxRef2 {\r\n taxId: string\r\n taxPercent: number\r\n}\r\n\r\nexport interface CreatedDetails2 {\r\n createdById: string\r\n createdByName: string\r\n createdTimeStamp: string\r\n updatedTimeStamp: string\r\n}\r\n\r\nexport interface Descriptor {\r\n name: string\r\n code: string\r\n symbol: string\r\n shortDesc: string\r\n longDesc: string\r\n itemImages: ItemImage2[]\r\n}\r\n\r\nexport interface ItemImage2 {\r\n imgUrl: string\r\n imgDesc: string\r\n}\r\n","/*\r\n * Public API Surface of simpo-ui\r\n */\r\n\r\n// export * from './lib/simpo-ui.service';\r\n// export * from './lib/simpo-ui.component';\r\n\r\nexport * from './lib/sections/text-section/text-section.component';\r\nexport * from './lib/sections/banner-section/banner-section.component';\r\nexport * from './lib/sections/faq-section/faq-section.component';\r\nexport * from './lib/sections/footer-section/footer-section.component';\r\nexport * from './lib/sections/image-carousel-section/image-carousel-section.component';\r\nexport * from './lib/sections/image-grid-section/image-grid-section.component';\r\nexport * from './lib/sections/image-section/image-section.component';\r\nexport * from './lib/sections/service-section/service-section.component';\r\nexport * from './lib/sections/team-member-section/team-member-section.component';\r\nexport * from './lib/sections/testimonial-section/testimonial-section.component';\r\nexport * from './lib/sections/text-image-section/text-image-section.component';\r\nexport * from './lib/sections/video-section/video-section.component';\r\nexport * from './lib/sections/navbar-section/navbar-section.component';\r\nexport * from './lib/sections/add-new-section/add-new-section.component';\r\nexport * from './lib/sections/contact-us/contact-us.component'\r\nexport * from './lib/sections/skeleton-loader-section/skeleton-loader-section.component';\r\nexport * from './lib/sections/banner-grid-section/banner-grid-section.component';\r\nexport * from './lib/sections/choose-us-section/choose-us-section.component';\r\nexport * from './lib/sections/pricing-section/pricing-section.component';\r\nexport * from './lib/sections/location-section/location-section.component';\r\nexport * from './lib/sections/header-text/header-text.component'\r\nexport * from './lib/sections/recent-blog-post-section/recent-blog-post-section.component'\r\nexport * from './lib/sections/blog-list/blog-list.component'\r\nexport * from './lib/sections/view-blog/view-blog.component'\r\nexport * from './lib/sections/process-section/process-section.component'\r\nexport * from './lib/sections/process-modern/process-modern.component'\r\nexport * from './lib/sections/features-section/features-section.component'\r\nexport * from './lib/sections/testimonial-fullwidth/testimonial-fullwidth.component'\r\nexport * from './lib/sections/logo-showcase/logo-showcase.component'\r\nexport * from './lib/sections/banner-carousel/banner-carousel.component'\r\n\r\n\r\n// Ecommerce sections\r\nexport * from './lib/ecommerce/sections/featured-products/featured-products.component';\r\nexport * from './lib/ecommerce/sections/featured-category/featured-category.component';\r\nexport * from './lib/ecommerce/sections/product-desc/product-desc.component';\r\nexport * from './lib/ecommerce/sections/product-list/product-list.component';\r\nexport * from './lib/ecommerce/sections/cart/cart.component';\r\nexport * from './lib/ecommerce/sections/checkout/checkout.component';\r\nexport * from './lib/ecommerce/sections/whislist/whislist.component'\r\nexport * from './lib/ecommerce/sections/user-profile/user-profile.component';\r\nexport * from './lib/ecommerce/sections/authenticate-user/authenticate-user.component'\r\n\r\n// service\r\nexport * from './lib/services/events.service';\r\n\r\n//directives\r\n\r\nexport * from './lib/directive/animation-directive';\r\nexport * from './lib/directive/background-directive';\r\nexport * from './lib/directive/banner-content-fit-directive';\r\nexport * from './lib/directive/border-directive';\r\nexport * from './lib/directive/button-directive.directive';\r\nexport * from './lib/directive/column-directive.directive';\r\nexport * from './lib/directive/container-fir.directive';\r\nexport * from './lib/directive/content-alignment-directive';\r\nexport * from './lib/directive/content-fit-directive';\r\nexport * from './lib/directive/corner-directive';\r\nexport * from './lib/directive/text-background-directive.directive';\r\nexport * from './lib/directive/position-layout-directive.directive';\r\nexport * from './lib/directive/overlay-directive';\r\nexport * from './lib/directive/image-directive.directive';\r\nexport * from './lib/directive/hover-element-directive';\r\nexport * from './lib/directive/footer-layout-directive';\r\nexport * from './lib/directive/color.directive'\r\nexport * from './lib/directive/image-position.directive';\r\nexport * from './lib/directive/container-alignment.directive'\r\nexport * from './lib/directive/sticky-directive'\r\n\r\n// styles\r\n\r\nexport * from './lib/styles/index';\r\nexport * from './lib/styles/style.model';\r\nexport * from './lib/styles/types';\r\nexport * from './lib/ecommerce/styles/cart.modal';\r\nexport * from './lib/ecommerce/styles/category.modal';\r\nexport * from './lib/ecommerce/styles/Collection.modal';\r\nexport * from './lib/ecommerce/styles/product.modal';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i1.EventsService","SPACING","i3","i2.EventsService","i4.TextElementComponent","i5.SimpoButtonComponent","i6.HoverElementsComponent","i7.DeleteHoverElementComponent","i4.HoverElementsComponent","i5.DeleteHoverElementComponent","i2.HeadingElementComponent","i2.SimpoButtonComponent","i3.SociaIconsComponent","i4","i5.HoverElementsComponent","i6.DeleteHoverElementComponent","i3.HoverElementsComponent","i4.DeleteHoverElementComponent","i5","i1.RestService","i3.RestService","UserDetails","i4.StorageServiceService","i6","UserDetals","i6.InputFieldsComponent","i2.HoverElementsComponent","i3.DeleteHoverElementComponent","uuidv1","UserFavourites","i1.StorageServiceService","i2.RestService","i4.CartService","i2.CartService","i4.RestService","i6.StorageServiceService","i7","i8","i9.HoverElementsComponent","i10.DeleteHoverElementComponent","i1.CartService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simpo-component-library.mjs","sources":["../../../projects/simpo-ui/src/lib/elements/button/button.component.ts","../../../projects/simpo-ui/src/lib/elements/button/button.component.html","../../../projects/simpo-ui/src/lib/elements/text/text.component.ts","../../../projects/simpo-ui/src/lib/elements/text/text.component.html","../../../projects/simpo-ui/src/lib/services/events.service.ts","../../../projects/simpo-ui/src/lib/directive/corner-directive.ts","../../../projects/simpo-ui/src/lib/styles/index.ts","../../../projects/simpo-ui/src/lib/directive/image-directive.directive.ts","../../../projects/simpo-ui/src/lib/directive/button-directive.directive.ts","../../../projects/simpo-ui/src/lib/elements/simpo-button/simpo-button.component.ts","../../../projects/simpo-ui/src/lib/elements/simpo-button/simpo-button.component.html","../../../projects/simpo-ui/src/lib/directive/image-position.directive.ts","../../../projects/simpo-ui/src/lib/directive/image-container.directive.ts","../../../projects/simpo-ui/src/lib/elements/below-image-card/below-image-card.component.ts","../../../projects/simpo-ui/src/lib/elements/below-image-card/below-image-card.component.html","../../../projects/simpo-ui/src/lib/directive/text-background-directive.directive.ts","../../../projects/simpo-ui/src/lib/elements/top-of-image-card/top-of-image-card.component.ts","../../../projects/simpo-ui/src/lib/elements/top-of-image-card/top-of-image-card.component.html","../../../projects/simpo-ui/src/lib/elements/covering-image-card/covering-image-card.component.ts","../../../projects/simpo-ui/src/lib/elements/covering-image-card/covering-image-card.component.html","../../../projects/simpo-ui/src/lib/elements/heading-element/heading-element.component.ts","../../../projects/simpo-ui/src/lib/elements/heading-element/heading-element.component.html","../../../projects/simpo-ui/src/lib/directive/color.directive.ts","../../../projects/simpo-ui/src/lib/elements/socia-icons/socia-icons.component.ts","../../../projects/simpo-ui/src/lib/elements/socia-icons/socia-icons.component.html","../../../projects/simpo-ui/src/lib/elements/index.ts","../../../projects/simpo-ui/src/lib/components/hover-elements/hover-elements.component.ts","../../../projects/simpo-ui/src/lib/components/hover-elements/hover-elements.component.html","../../../projects/simpo-ui/src/lib/components/delete-hover-element/delete-hover-element.component.ts","../../../projects/simpo-ui/src/lib/components/delete-hover-element/delete-hover-element.component.html","../../../projects/simpo-ui/src/lib/components/input-fields/input-fields.component.ts","../../../projects/simpo-ui/src/lib/components/input-fields/input-fields.component.html","../../../projects/simpo-ui/src/lib/components/index.ts","../../../projects/simpo-ui/src/lib/directive/animation-directive.ts","../../../projects/simpo-ui/src/lib/directive/background-directive.ts","../../../projects/simpo-ui/src/lib/directive/content-fit-directive.ts","../../../projects/simpo-ui/src/lib/directive/banner-content-fit-directive.ts","../../../projects/simpo-ui/src/lib/directive/border-directive.ts","../../../projects/simpo-ui/src/lib/directive/column-directive.directive.ts","../../../projects/simpo-ui/src/lib/directive/container-fir.directive.ts","../../../projects/simpo-ui/src/lib/directive/content-alignment-directive.ts","../../../projects/simpo-ui/src/lib/directive/footer-layout-directive.ts","../../../projects/simpo-ui/src/lib/directive/hover-element-directive.ts","../../../projects/simpo-ui/src/lib/directive/overlay-directive.ts","../../../projects/simpo-ui/src/lib/directive/position-layout-directive.directive.ts","../../../projects/simpo-ui/src/lib/sections/BaseSection.ts","../../../projects/simpo-ui/src/lib/sections/text-section/text-section.component.ts","../../../projects/simpo-ui/src/lib/sections/text-section/text-section.component.html","../../../projects/simpo-ui/src/lib/directive/container-alignment.directive.ts","../../../projects/simpo-ui/src/lib/directive/text-size.directive.ts","../../../projects/simpo-ui/src/lib/directive/borderlessImage.directive.ts","../../../projects/simpo-ui/src/lib/directive/hoverborder.directive.ts","../../../projects/simpo-ui/src/lib/sections/banner-section/banner-section.component.ts","../../../projects/simpo-ui/src/lib/sections/banner-section/banner-section.component.html","../../../projects/simpo-ui/src/lib/directive/content-title-spacing.directive.ts","../../../projects/simpo-ui/src/lib/sections/faq-section/faq-section.component.ts","../../../projects/simpo-ui/src/lib/sections/faq-section/faq-section.component.html","../../../projects/simpo-ui/src/lib/sections/footer-section/footer-section.component.ts","../../../projects/simpo-ui/src/lib/sections/footer-section/footer-section.component.html","../../../projects/simpo-ui/src/lib/sections/image-carousel-section/image-carousel-section.component.ts","../../../projects/simpo-ui/src/lib/sections/image-carousel-section/image-carousel-section.component.html","../../../projects/simpo-ui/src/lib/sections/image-grid-section/image-grid-section.component.ts","../../../projects/simpo-ui/src/lib/sections/image-grid-section/image-grid-section.component.html","../../../projects/simpo-ui/src/lib/sections/image-section/image-section.component.ts","../../../projects/simpo-ui/src/lib/sections/image-section/image-section.component.html","../../../projects/simpo-ui/src/lib/sections/service-section/service-section.component.ts","../../../projects/simpo-ui/src/lib/sections/service-section/service-section.component.html","../../../projects/simpo-ui/src/lib/sections/team-member-section/team-member-section.component.ts","../../../projects/simpo-ui/src/lib/sections/team-member-section/team-member-section.component.html","../../../projects/simpo-ui/src/lib/sections/testimonial-section/testimonial-section.component.ts","../../../projects/simpo-ui/src/lib/sections/testimonial-section/testimonial-section.component.html","../../../projects/simpo-ui/src/lib/sections/text-image-section/text-image-section.component.ts","../../../projects/simpo-ui/src/lib/sections/text-image-section/text-image-section.component.html","../../../projects/simpo-ui/src/lib/sections/video-section/video-section.component.ts","../../../projects/simpo-ui/src/lib/sections/video-section/video-section.component.html","../../../projects/simpo-ui/src/lib/elements/navbar-button-element/navbar-button-element.component.ts","../../../projects/simpo-ui/src/lib/elements/navbar-button-element/navbar-button-element.component.html","../../../projects/simpo-ui/src/lib/directive/sticky-directive.ts","../../../projects/simpo-ui/src/lib/services/rest.service.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/user-basic-info/user-basic-info.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/user-basic-info/user-basic-info.component.html","../../../projects/simpo-ui/src/lib/services/storage.service.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/authenticate-user/authenticate-user.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/authenticate-user/authenticate-user.component.html","../../../projects/simpo-ui/src/lib/sections/navbar-section/navbar-section.component.ts","../../../projects/simpo-ui/src/lib/sections/navbar-section/navbar-section.component.html","../../../projects/simpo-ui/src/lib/sections/add-new-section/add-new-section.component.ts","../../../projects/simpo-ui/src/lib/sections/add-new-section/add-new-section.component.html","../../../projects/simpo-ui/src/lib/sections/contact-us/contact-us.component.ts","../../../projects/simpo-ui/src/lib/sections/contact-us/contact-us.component.html","../../../projects/simpo-ui/src/lib/sections/skeleton-loader-section/skeleton-loader-section.component.ts","../../../projects/simpo-ui/src/lib/sections/skeleton-loader-section/skeleton-loader-section.component.html","../../../projects/simpo-ui/src/lib/sections/banner-grid-section/banner-grid-section.component.ts","../../../projects/simpo-ui/src/lib/sections/banner-grid-section/banner-grid-section.component.html","../../../projects/simpo-ui/src/lib/sections/choose-us-section/choose-us-section.component.ts","../../../projects/simpo-ui/src/lib/sections/choose-us-section/choose-us-section.component.html","../../../projects/simpo-ui/src/lib/sections/pricing-section/pricing-section.component.ts","../../../projects/simpo-ui/src/lib/sections/pricing-section/pricing-section.component.html","../../../projects/simpo-ui/src/lib/sections/location-section/location-section.component.ts","../../../projects/simpo-ui/src/lib/sections/location-section/location-section.component.html","../../../projects/simpo-ui/src/lib/sections/header-text/header-text.component.ts","../../../projects/simpo-ui/src/lib/sections/header-text/header-text.component.html","../../../projects/simpo-ui/src/lib/sections/recent-blog-post-section/recent-blog-post-section.component.ts","../../../projects/simpo-ui/src/lib/sections/recent-blog-post-section/recent-blog-post-section.component.html","../../../projects/simpo-ui/src/lib/sections/blog-list/blog-list.component.ts","../../../projects/simpo-ui/src/lib/sections/blog-list/blog-list.component.html","../../../projects/simpo-ui/src/lib/sections/view-blog/view-blog.component.ts","../../../projects/simpo-ui/src/lib/sections/view-blog/view-blog.component.html","../../../projects/simpo-ui/src/lib/sections/process-section/process-section.component.ts","../../../projects/simpo-ui/src/lib/sections/process-section/process-section.component.html","../../../projects/simpo-ui/src/lib/sections/process-modern/process-modern.component.ts","../../../projects/simpo-ui/src/lib/sections/process-modern/process-modern.component.html","../../../projects/simpo-ui/src/lib/sections/features-section/features-section.component.ts","../../../projects/simpo-ui/src/lib/sections/features-section/features-section.component.html","../../../projects/simpo-ui/src/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.ts","../../../projects/simpo-ui/src/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.html","../../../projects/simpo-ui/src/lib/sections/logo-showcase/logo-showcase.component.ts","../../../projects/simpo-ui/src/lib/sections/logo-showcase/logo-showcase.component.html","../../../projects/simpo-ui/src/lib/directive/blur-content.directive.ts","../../../projects/simpo-ui/src/lib/sections/banner-carousel/banner-carousel.component.ts","../../../projects/simpo-ui/src/lib/sections/banner-carousel/banner-carousel.component.html","../../../projects/simpo-ui/src/lib/ecommerce/styles/OrderedItems.modal.ts","../../../projects/simpo-ui/src/lib/services/cart.service.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/featured-products/featured-products.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/featured-products/featured-products.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/featured-category/featured-category.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/featured-category/featured-category.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/product-desc/product-desc.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/product-desc/product-desc.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/pagnination/pagnination.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/pagnination/pagnination.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/product-list/product-list.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/product-list/product-list.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/address/address.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/address/address.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/cart/cart.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/cart/cart.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/checkout/checkout.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/checkout/checkout.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/whislist/whislist.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/whislist/whislist.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/order-details/order-details.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/order-details/order-details.component.html","../../../projects/simpo-ui/src/lib/ecommerce/sections/user-profile/user-profile.component.ts","../../../projects/simpo-ui/src/lib/ecommerce/sections/user-profile/user-profile.component.html","../../../projects/simpo-ui/src/lib/ecommerce/styles/cart.modal.ts","../../../projects/simpo-ui/src/lib/ecommerce/styles/BaseCollection.modal.ts","../../../projects/simpo-ui/src/lib/ecommerce/styles/category.modal.ts","../../../projects/simpo-ui/src/lib/ecommerce/styles/Collection.modal.ts","../../../projects/simpo-ui/src/lib/ecommerce/styles/product.modal.ts","../../../projects/simpo-ui/src/public-api.ts","../../../projects/simpo-ui/src/simpo-component-library.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { ButtonModel } from './button.model';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@Component({\r\n selector: 'simpo-button-element',\r\n standalone: true,\r\n imports: [CommonModule, MatButtonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.css',\r\n})\r\nexport class ButtonElementComponent {\r\n @Input() buttonData?: ButtonModel;\r\n}\r\n","<button mat-stroked-button color=\"primary btn-lg px-4 me-md-2\" *ngIf=\"buttonData?.disabled\">{{buttonData?.text}}</button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'simpo-text-element',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './text.component.html',\r\n styleUrl: './text.component.css',\r\n})\r\nexport class TextElementComponent {\r\n @Input() textData?: string = '';\r\n @Input() textLabel?: string = ''\r\n}\r\n","<div [innerHTML]=\"textData\" style=\"text-wrap: balance;\" [ngClass]=\"textLabel === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EventsService {\r\n constructor() {}\r\n\r\n editSection = new EventEmitter<unknown>();\r\n duplicate = new EventEmitter<unknown>();\r\n delete = new EventEmitter<unknown>();\r\n changePosition = new EventEmitter<unknown>();\r\n addNewSectionClick = new EventEmitter<unknown>();\r\n changeContent = new EventEmitter<unknown>();\r\n restyleSection = new EventEmitter<unknown>();\r\n pageRedirectionButton = new EventEmitter<unknown>();\r\n buttonRedirection = new EventEmitter<unknown>();\r\n contactFormData = new EventEmitter<unknown>();\r\n //reference services\r\n\r\n backgroundImageChangeCheck = new EventEmitter<unknown>();\r\n colorOverlayChangeChecks = new EventEmitter<unknown>();\r\n alignmentChangeChecks = new EventEmitter<unknown>();\r\n animationChangeChecks = new EventEmitter<unknown>();\r\n spacingChangeChecks = new EventEmitter<unknown>();\r\n borderChangeChecks = new EventEmitter<unknown>();\r\n cardSizeChangeChecks = new EventEmitter<unknown>();\r\n imageStyleChangeChecks = new EventEmitter<unknown>();\r\n cornerChangeChecks = new EventEmitter<unknown>();\r\n textBackgroundChangeChecks = new EventEmitter<unknown>();\r\n buttonStyleChangeChecks = new EventEmitter<unknown>();\r\n postionLayoutChangeChecks = new EventEmitter<unknown>();\r\n contentAlignmentChangeCheck = new EventEmitter<unknown>();\r\n objectPositionChangeCheck = new EventEmitter<unknown>();\r\n locationChangeCheck = new EventEmitter<unknown>();\r\n mapStyleChangeCheck = new EventEmitter<unknown>();\r\n textSizeChangeCheck = new EventEmitter<unknown>();\r\n blogByIdEvent = new EventEmitter<unknown>();\r\n openBlogListEvent = new EventEmitter<unknown>();\r\n toggleEditorEvent = new EventEmitter<boolean>();\r\n closeEditorEvent = new EventEmitter<false>();\r\n\r\n // Ecommerce event emitter\r\n redirectToPage = new EventEmitter<unknown>();\r\n addToCart = new EventEmitter<unknown>();\r\n placeOrder = new EventEmitter<unknown>();\r\n featureCollectionList = new EventEmitter<unknown>();\r\n environmentType = new EventEmitter<string>();\r\n\r\n showLoadingScreen = new EventEmitter<boolean>();\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { Corners } from '../styles';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoCorner]',\r\n standalone: true\r\n})\r\nexport class CornerDirective implements OnChanges, OnInit , OnDestroy {\r\n @Input('simpoCorner') cornerData?: Corners;\r\n cornerSubSubscription: Subscription | undefined;\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.checkSizeChanges()\r\n }\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.cornerSubSubscription) {\r\n this.cornerSubSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.cornerData === 'Small') {\r\n this.el.nativeElement.style.setProperty('border-radius','.5rem');\r\n }\r\n if (this.cornerData === 'Medium') {\r\n this.el.nativeElement.style.setProperty('border-radius','1rem');\r\n }\r\n if (this.cornerData === 'Large') {\r\n this.el.nativeElement.style.setProperty('border-radius','2rem');\r\n }\r\n if (this.cornerData === 'None'){\r\n this.el.nativeElement.style.setProperty('border-radius','0px');\r\n }\r\n }\r\n\r\n checkSizeChanges(){\r\n this.cornerSubSubscription = this.eventService.cornerChangeChecks.subscribe((res: any) => {\r\n this.addClass(res.size, res.id);\r\n })\r\n }\r\n\r\n addClass(res: Corners, id: string) {\r\n if (this.el.nativeElement.id == id) {\r\n if (this.cornerData === 'Small') {\r\n this.el.nativeElement.style.setProperty('border-radius','.5rem');\r\n }\r\n if (this.cornerData === 'Medium') {\r\n this.el.nativeElement.style.setProperty('border-radius','1rem');\r\n }\r\n if (this.cornerData === 'Large') {\r\n this.el.nativeElement.style.setProperty('border-radius','2rem');\r\n }\r\n if (this.cornerData === 'None'){\r\n this.el.nativeElement.style.setProperty('border-radius','0px');\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n\r\nimport { SpacingModel } from './style.model';\r\nimport { SPACING_TYPE } from './types';\r\n\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\nexport enum Style {\r\n content = 'CONTENT',\r\n screen = 'SCREEN',\r\n}\r\n\r\nexport enum SPACING {\r\n none = '1.5rem',\r\n small = '3rem',\r\n medium = '5rem',\r\n large = '6rem',\r\n}\r\n\r\nexport interface Contet {\r\n display: 'flex';\r\n 'justify-content': 'center';\r\n 'align-items': 'center';\r\n height: '100%';\r\n}\r\nexport interface Screen {\r\n display: 'flex';\r\n 'justify-content': 'center';\r\n 'align-items': 'center';\r\n 'min-height': 'calc(95vh - 0px)';\r\n}\r\n\r\nexport enum BANNERALIGNMENT {\r\n left = \"flex-lg-row\",\r\n right = \"flex-lg-row-reverse\",\r\n top = \"flex-lg-column\",\r\n bottom = \"flex-lg-column-reverse\"\r\n}\r\nexport enum BANNERHALIGN{\r\n left = 'justify-content-start text-start',\r\n center = 'justify-content-center text-center',\r\n right = 'justify-content-end text-end',\r\n}\r\nexport enum HALIGN {\r\n left = 'text-align: left',\r\n center = 'text-align: center',\r\n right = 'text-align: right',\r\n}\r\nexport enum VALIGN {\r\n left = 'text-align: top',\r\n center = 'text-align: center',\r\n right = 'text-align: bottom',\r\n}\r\n\r\nexport enum Padding {\r\n top = 'padding-top',\r\n bottom = 'padding-bottom',\r\n}\r\n\r\nexport const animation = {\r\n type: {\r\n top: 'w3-animate-top',\r\n bottom: 'w3-animate-bottom',\r\n left: 'w3-animate-left',\r\n right: 'w3-animate-right',\r\n fadeIn: 'w3-animate-opacity',\r\n zoom: 'w3-animate-zoom',\r\n none: 'none'\r\n },\r\n speed: {\r\n slow: '3s',\r\n medium: '2s',\r\n fast: '1s',\r\n },\r\n};\r\n\r\nexport enum TEXT_SIZE {\r\n Small = 'Small',\r\n Medium = 'Medium',\r\n Large = 'Large',\r\n ExtraLarge = 'Extra_Large'\r\n}\r\n\r\nexport const fontSize = {\r\n heading: {\r\n Small : 'heading-fs-small',\r\n Medium : 'heading-fs-medium',\r\n Large : 'heading-fs-large',\r\n Extra_Large : 'heading-fs-xlarge'\r\n },\r\n desc : {\r\n Small : 'desc-fs-small',\r\n Medium : 'desc-fs-medium',\r\n Large : 'desc-fs-large',\r\n Extra_Large : 'desc-fs-xlarge'\r\n }\r\n}\r\n\r\nexport const mapStyle = {\r\n Streets : 'streets-v12',\r\n Outdoors: 'outdoors-v12',\r\n Light: 'light-v11',\r\n Dark: 'dark-v11',\r\n Satellite: 'satellite-v9',\r\n Satellite_street: 'satellite-streets-v12',\r\n navigation_day: 'navigation-day-v1',\r\n navigation_night : 'navigation-night-v1'\r\n}\r\n\r\nexport const contentAlignment ={\r\n top:'justify-content-start',\r\n center:'justify-content-center',\r\n bottom:'justify-content-end'\r\n}\r\n// export const bannerAlignment = (element : any) => {\r\n\r\n// }\r\nexport const fitContent = (element: any) => {\r\n const style: Contet = {\r\n display: 'flex',\r\n 'justify-content': 'center',\r\n 'align-items': 'center',\r\n height: '100%',\r\n };\r\n applyStyle(element, style);\r\n};\r\n\r\nexport const fitScreen = (element: any) => {\r\n const style: Screen = {\r\n display: 'flex',\r\n 'justify-content': 'center',\r\n 'align-items': 'center',\r\n 'min-height': 'calc(95vh - 0px)',\r\n };\r\n applyStyle(element, style);\r\n};\r\nexport const applyStyle = (element: any, styleObj: any) => {\r\n Object.entries(styleObj).forEach(([styleName, styleValue]) => {\r\n element.style.setProperty(styleName, styleValue);\r\n });\r\n};\r\n\r\nexport const applySpacing = (element: any, space?: SpacingModel) => {\r\n if (space?.top) {\r\n element.style.setProperty(\r\n Padding.top,\r\n SPACING[space.top as keyof typeof SPACING] || SPACING.none\r\n );\r\n }\r\n if (space?.bottom) {\r\n element.style.setProperty(\r\n Padding.bottom,\r\n SPACING[space.bottom as keyof typeof SPACING] || SPACING.none\r\n );\r\n }\r\n};\r\n\r\nexport enum RedirectionLinkType {\r\n Page = 'Page',\r\n External = 'External',\r\n Email = 'Email',\r\n Phone = 'Phone',\r\n section = 'Section'\r\n}\r\n\r\nexport enum Corners {\r\n Small = 'Small',\r\n Medium = 'Medium',\r\n Large = 'Large',\r\n None = 'None'\r\n}\r\n\r\n// SOME CHANGES BY ME\r\n\r\nexport enum logoType{\r\n Basic = 'Basic',\r\n Boxed = 'Boxed'\r\n}\r\nexport enum showCaseType {\r\n Carousal = 'Carousal',\r\n Grid = 'Grid'\r\n}\r\nexport enum logoSpeed{\r\n Slow = '1s',\r\n Normal = '4s',\r\n Fast = '2s',\r\n VeryFast = '1s'\r\n}\r\n\r\nexport enum logoDirection{\r\n Left = 'Left',\r\n Right = 'Right',\r\n}\r\n\r\n\r\nexport enum TextPosition {\r\n BELOW_IMAGE = 'Below image',\r\n TOP_OF_IMAGE = 'On top of image',\r\n COVERING_IMAGE = 'Covering image'\r\n}\r\n\r\nexport enum ImageFit {\r\n Cover = 'Cover',\r\n Contain = 'Contain'\r\n}\r\n\r\nexport enum ImageRatio {\r\n SQUARE = '1:1',\r\n PORTRAIT = '2:3',\r\n LANDSCAPE = '3:2',\r\n WIDESCREEN = '16:9'\r\n}\r\nexport enum AlignContent {\r\n Image_TOP = 'top',\r\n Image_CENTER = 'center',\r\n Image_BOTTOM = 'bottom'\r\n}\r\n\r\n\r\nexport enum ChannelType {\r\n FACEBOOK = 'Facebook',\r\n TWITTER = 'Twitter',\r\n LINKEDIN = \"LinkedIn\",\r\n YOUTUBE = 'Youtube',\r\n INSTAGRAM = 'Instagram',\r\n TELEGRAM = \"Telegram\",\r\n THREADS = \"Threads\"\r\n}\r\n\r\nexport enum OverlayValue {\r\n NONE = '0px',\r\n LIGHT = '2px',\r\n MODERATE = '4px',\r\n STRONG = '8px',\r\n VERY_STRONG = '16px'\r\n}\r\n\r\n\r\n\r\nexport enum FooterTypes {\r\n SPLIT_DETAILS_RIGHT = 'Split Details Right',\r\n SPLIT_DETAILS_LEFT = \"Split Details Left\",\r\n STACKED_DETAILS_RIGHT = \"Stacked Details Right\",\r\n STACKED_DETAILS_CENTER = \"Stacked Details Center\",\r\n STACKED_DETAILS_LEFT = \"Stacked Details Left\",\r\n SIMPLE_DETAILS_RIGHT = \"Simple Details Right\",\r\n SIMPLE_DETAILS_CENTER = \"Simple Details Center\"\r\n}\r\n\r\nexport enum HeaderButtonStyle {\r\n TAB = 'Tab',\r\n ROUND_SUBTLE = \"Round subtle\",\r\n ROUND_BOLD = \"Round bold\",\r\n SQUARE_SUBTLE = \"Square subtle\",\r\n SQUARE_BOLD = \"Square bold\"\r\n}\r\n\r\nexport enum MapType {\r\n INLINE_MAP = 'Inline map',\r\n BACKGROUND_MAP = 'Background map'\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, input } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { ImageFit, ImageRatio } from '../styles';\r\nimport { ImageStyle } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoImageDirective]',\r\n standalone: true\r\n})\r\nexport class ImageDirectiveDirective implements OnChanges{\r\n @Input() simpoImageDirective?: ImageStyle;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.imageStyleChangeCheck();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnChanges(){\r\n if (this.simpoImageDirective?.fit) {\r\n this.el.nativeElement.style.setProperty('object-fit', this.simpoImageDirective.fit);\r\n }\r\n let imageRatio: any = [];\r\n\r\n if(this.simpoImageDirective?.fit === ImageFit.Contain){\r\n this.el.nativeElement.style.removeProperty('aspect-ratio');\r\n return;\r\n }\r\n if (this.simpoImageDirective) {\r\n if (this.simpoImageDirective.ratio === ImageRatio.SQUARE ||\r\n this.simpoImageDirective.ratio === ImageRatio.LANDSCAPE ||\r\n this.simpoImageDirective.ratio === ImageRatio.PORTRAIT ||\r\n this.simpoImageDirective.ratio === ImageRatio.WIDESCREEN) {\r\n\r\n imageRatio = this.simpoImageDirective.ratio.split(\":\");\r\n }\r\n this.el.nativeElement.style.setProperty('aspect-ratio', imageRatio[0] + '/' + imageRatio[1])\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.imageStyleSubscription) {\r\n this.imageStyleSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n imageStyleSubscription?: Subscription;\r\n imageStyleChangeCheck() {\r\n this.imageStyleSubscription = this.eventService.imageStyleChangeChecks.subscribe((res: any) => {\r\n this.changeImageStyle(res.id, res.style);\r\n })\r\n }\r\n\r\n changeImageStyle(id: string, style: ImageStyle) {\r\n if (this.el.nativeElement.id === id) {\r\n if (style?.fit) {\r\n this.el.nativeElement.style.setProperty('object-fit', style.fit);\r\n }\r\n\r\n if(style?.fit === ImageFit.Contain){\r\n this.el.nativeElement.style.removeProperty('aspect-ratio');\r\n return;\r\n }\r\n let imageRatio: any = [];\r\n if (style?.ratio === ImageRatio.SQUARE) {\r\n imageRatio = ImageRatio.SQUARE.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.LANDSCAPE) {\r\n imageRatio = ImageRatio.LANDSCAPE.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.PORTRAIT) {\r\n imageRatio = ImageRatio.PORTRAIT.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.WIDESCREEN) {\r\n imageRatio = ImageRatio.WIDESCREEN.split(\":\");\r\n }\r\n this.el.nativeElement.style.setProperty('aspect-ratio', imageRatio[0] + '/' + imageRatio[1])\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { ButtonStyleModel } from '../styles/style.model';\r\nimport { BUTTON_SHAPE, BUTTON_TYPE } from '../styles/types';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoButtonDirective]',\r\n standalone: true\r\n})\r\nexport class ButtonDirectiveDirective implements OnChanges {\r\n @Input() buttonStyle?: ButtonStyleModel;\r\n @Input() color?: string;\r\n @Input() scrollValue?: number = 0;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.buttonStyleChangeCheck()\r\n }\r\n\r\n\r\n ngOnChanges() {\r\n this.applyButtonStyleChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.buttonStyleSubscription?.unsubscribe()\r\n }\r\n\r\n applyButtonStyleChanges() {\r\n if (this.buttonStyle?.type) {\r\n this.applyButtonType(this.buttonStyle, this.color ? this.color : '#ffffff');\r\n }\r\n if (this.buttonStyle?.shape) {\r\n this.applyButtonShape(this.buttonStyle);\r\n }\r\n }\r\n\r\n applyButtonType(style: ButtonStyleModel, color: string) {\r\n if (style?.type === ('Solid' as BUTTON_TYPE)) {\r\n this.el.nativeElement.style.setProperty('background', color);\r\n this.el.nativeElement.style.setProperty('color', this.getTextColor(color));\r\n this.el.nativeElement.style.setProperty('border', `2px solid ${color} `);\r\n } else {\r\n this.el.nativeElement.style.setProperty('border', `2px solid ${color}`);\r\n this.el.nativeElement.style.setProperty('background', 'transparent');\r\n this.el.nativeElement.style.setProperty('color', color);\r\n if (this.scrollValue) {\r\n this.el.nativeElement.style.setProperty('background', \"transparent\");\r\n this.el.nativeElement.style.setProperty('color', this.getTextColor(color));\r\n this.el.nativeElement.style.setProperty('border', `2px solid ${this.getTextColor(color)} `);\r\n }\r\n }\r\n }\r\n\r\n applyButtonShape(style: ButtonStyleModel) {\r\n if (style?.shape === ('Round' as BUTTON_SHAPE)) {\r\n this.el.nativeElement.style.setProperty('border-radius', '5px');\r\n } else {\r\n this.el.nativeElement.style.setProperty('border-radius', '0px');\r\n }\r\n }\r\n\r\n getTextColor(bgColor: string) {\r\n if (bgColor) {\r\n const threshold = 130; // Adjust this threshold as needed\r\n const r = parseInt(bgColor.slice(1, 3), 16);\r\n const g = parseInt(bgColor.slice(3, 5), 16);\r\n const b = parseInt(bgColor.slice(5, 7), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n return brightness > threshold ? '#000000' : '#ffffff';\r\n }\r\n return \"#ffffff;\"\r\n }\r\n\r\n buttonStyleSubscription?: Subscription;\r\n buttonStyleChangeCheck() {\r\n this.buttonStyleSubscription = this.eventService.buttonStyleChangeChecks.subscribe((res: any) => {\r\n this.changeButtonStyle(res.id, res.buttonStyle, res.color);\r\n })\r\n }\r\n\r\n changeButtonStyle(id: any, style: ButtonStyleModel, bgColor: string) {\r\n if (this.el.nativeElement.id === id) {\r\n if (style?.type) {\r\n this.applyButtonType(style, bgColor ? bgColor : '#ffffff');\r\n }\r\n if (style?.shape) {\r\n this.applyButtonShape(style);\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ButtonDirectiveDirective } from '../..//directive/button-directive.directive';\r\nimport { Button, ButtonStyleModel } from '../../styles/style.model';\r\nimport { EventsService } from '../../services/events.service';\r\n\r\n@Component({\r\n selector: 'app-button-element',\r\n standalone: true,\r\n imports: [ButtonDirectiveDirective],\r\n templateUrl: './simpo-button.component.html',\r\n styleUrl: './simpo-button.component.css'\r\n})\r\nexport class SimpoButtonComponent {\r\n @Input() buttonContent? : Button;\r\n @Input() buttonStyle? : ButtonStyleModel;\r\n @Input() buttonId : string = '';\r\n @Input() color? : string;\r\n @Input() sectionId? : string = ''\r\n\r\n\r\n constructor(private _eventService: EventsService){}\r\n\r\n ngOnInit(){\r\n\r\n }\r\n\r\n redirectTo(){\r\n this._eventService.buttonRedirection.emit({data: this.buttonContent});\r\n }\r\n}\r\n","<button class=\"button\" (click)=\"redirectTo()\" simpoButtonDirective [id]=\"sectionId+buttonId\" [buttonStyle]=\"buttonStyle\" [color]=\"color\">{{buttonContent?.label}}</button>\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { PositionModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoObjectPosition]',\r\n standalone: true\r\n})\r\nexport class ObjectPositionDirective implements OnChanges {\r\n @Input('simpoObjectPosition') position?: PositionModel;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.objectPositonChangeCheck()\r\n }\r\n\r\n ngOnChanges() {\r\n this.applyObjectPosition()\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.objectPositionSubscription) {\r\n this.objectPositionSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n applyObjectPosition() {\r\n let positionValue = `${this.position?.x}% ${this.position?.y}%`;\r\n this.el.nativeElement.style.setProperty('object-position', positionValue)\r\n }\r\n\r\n objectPositionSubscription?: Subscription;\r\n objectPositonChangeCheck() {\r\n this.objectPositionSubscription = this.eventService.objectPositionChangeCheck.subscribe((res: any) => {\r\n if (this.el.nativeElement.classList.contains(res.id)) {\r\n this.position = res.position\r\n this.applyObjectPosition()\r\n }\r\n })\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, input } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { ImageFit, ImageRatio } from '../styles';\r\nimport { ImageStyle } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoImageContainerDirective]',\r\n standalone: true\r\n})\r\nexport class ImageContainerDirective implements OnChanges{\r\n @Input() simpoImageContainerDirective?: ImageStyle;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.imageStyleChangeCheck();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnChanges(){\r\n\r\n let imageRatio: any = [];\r\n if (this.simpoImageContainerDirective) {\r\n if (this.simpoImageContainerDirective.ratio === ImageRatio.SQUARE ||\r\n this.simpoImageContainerDirective.ratio === ImageRatio.LANDSCAPE ||\r\n this.simpoImageContainerDirective.ratio === ImageRatio.PORTRAIT ||\r\n this.simpoImageContainerDirective.ratio === ImageRatio.WIDESCREEN) {\r\n\r\n imageRatio = this.simpoImageContainerDirective.ratio.split(\":\");\r\n }\r\n this.el.nativeElement.style.setProperty('aspect-ratio', imageRatio[0] + '/' + imageRatio[1])\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.imageStyleSubscription) {\r\n this.imageStyleSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n imageStyleSubscription?: Subscription;\r\n imageStyleChangeCheck() {\r\n this.imageStyleSubscription = this.eventService.imageStyleChangeChecks.subscribe((res: any) => {\r\n this.changeImageStyle(res.id, res.style);\r\n })\r\n }\r\n\r\n changeImageStyle(id: string, style: ImageStyle) {\r\n if (this.el.nativeElement.id === id) {\r\n\r\n let imageRatio: any = [];\r\n if (style?.ratio === ImageRatio.SQUARE) {\r\n imageRatio = ImageRatio.SQUARE.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.LANDSCAPE) {\r\n imageRatio = ImageRatio.LANDSCAPE.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.PORTRAIT) {\r\n imageRatio = ImageRatio.PORTRAIT.split(\":\");\r\n }\r\n if (style?.ratio === ImageRatio.WIDESCREEN) {\r\n imageRatio = ImageRatio.WIDESCREEN.split(\":\");\r\n }\r\n this.el.nativeElement.style.setProperty('aspect-ratio', imageRatio[0] + '/' + imageRatio[1])\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { CornerDirective } from './../../directive/corner-directive';\r\nimport { ImageDirectiveDirective } from './../../directive/image-directive.directive';\r\nimport { SimpoButtonComponent } from '../simpo-button/simpo-button.component';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { ImageContainerDirective } from '../../directive/image-container.directive';\r\n\r\n@Component({\r\n selector: 'simpo-below-image-card',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ImageDirectiveDirective,\r\n CornerDirective,\r\n SimpoButtonComponent, \r\n ObjectPositionDirective,\r\n ImageContainerDirective\r\n ],\r\n templateUrl: './below-image-card.component.html',\r\n styleUrl: './below-image-card.component.css'\r\n})\r\nexport class BelowImageCardComponent {\r\n\r\n @Input() data: any;\r\n @Input() styles: any;\r\n @Input() content: any;\r\n @Input() componentId?: string;\r\n @Input() button?: ButtonModel;\r\n\r\n constructor(private _eventService: EventsService){}\r\n ngOnInit(){\r\n }\r\n redirectTo(){\r\n this._eventService.buttonRedirection.emit({data: this.data.button});\r\n }\r\n get getAspectRatio() {\r\n return {...this.styles.image};\r\n }\r\n}\r\n","<div (click)=\"(content?.display?.showLink && content?.display?.linkType === 'List Item' ? redirectTo() : '')\">\r\n <!-- <div [simpoImageContainerDirective]=\"getAspectRatio\" class=\"w-100\"> -->\r\n <img [src]=\"data.image.url\" [alt]=\"data.image.altText\" [simpoImageDirective]=\"styles?.image\" [simpoObjectPosition]=\"data.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" class=\"w-100 h-100\" [class]=\"componentId+data.image.id\" *ngIf=\"content.display.showImage\"\r\n loading=\"lazy\">\r\n <!-- </div> -->\r\n <div class=\"ptb-1\">\r\n <div class=\"heading-medium mb-1\" [innerHtml]=\"data.inputText[0].value\" *ngIf=\"content.display.showHeading\"></div>\r\n <div class=\"body-desc\" [innerHtml]=\"data.inputText[01].value\" *ngIf=\"content.display.showContent\"></div>\r\n <div *ngIf=\"content.display.showLink && content.display.linkType === 'Button'\">\r\n <app-button-element [buttonContent]=\"data.button\" [buttonStyle]=\"button?.styles\" [buttonId]=\"button ? button.id : ''\" [sectionId]=\"componentId\"\r\n [color]=\"styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { TextBackground } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoTextBackgroundDirective]',\r\n standalone: true\r\n})\r\nexport class TextBackgroundDirectiveDirective implements OnChanges {\r\n @Input('simpoTextBackgroundDirective') textBackgroundDirective?: TextBackground;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n this.textBackgroundChangeCheck()\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.textBackgroundDirective) {\r\n let opacity = this.textBackgroundDirective?.amount / 100;\r\n let rgb = this.getrgbFormColor(this.textBackgroundDirective.color);\r\n let backgroundColor = 'rgb' + '(' + rgb.r + \",\" + rgb.g + \",\" + rgb.b + ')'\r\n if (this.checkColorIsRgbFormOrNot(backgroundColor)) {\r\n let rgba = 'rgb' + '(' + rgb.r + \",\" + rgb.g + \",\" + rgb.b + \",\" + opacity + ')'\r\n this.el.nativeElement.style.setProperty('background', rgba);\r\n this.el.nativeElement.style.setProperty('color', this.getContrastColorFromRGBA(rgba))\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.textBackgroundSubscription) {\r\n this.textBackgroundSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n public getrgbFormColor(hexCode: any) {\r\n const hexColorRegex: RegExp = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\r\n if (hexColorRegex.test(hexCode)) {\r\n const r = parseInt(hexCode.slice(1, 3), 16);\r\n const g = parseInt(hexCode.slice(3, 5), 16);\r\n const b = parseInt(hexCode.slice(5, 7), 16);\r\n return { r, g, b };\r\n }\r\n return hexCode;\r\n }\r\n\r\n checkColorIsRgbFormOrNot(color: string) {\r\n const rgbColorRegex: RegExp = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/;\r\n return rgbColorRegex.test(color);\r\n }\r\n\r\n textBackgroundSubscription?: Subscription;\r\n textBackgroundChangeCheck() {\r\n this.textBackgroundSubscription = this.eventService.textBackgroundChangeChecks.subscribe((res: any) => {\r\n this.changeTextBackground(res.id, res.textBackground);\r\n })\r\n }\r\n\r\n changeTextBackground(id: any, textBackground: TextBackground) {\r\n if (this.el.nativeElement.id === id && textBackground) {\r\n let opacity = textBackground.amount / 100;\r\n let rgb = this.getrgbFormColor(textBackground.color);\r\n let backgroundColor = 'rgb' + '(' + rgb.r + \",\" + rgb.g + \",\" + rgb.b + ')'\r\n if (this.checkColorIsRgbFormOrNot(backgroundColor)) {\r\n let rgba = 'rgb' + '(' + rgb.r + \",\" + rgb.g + \",\" + rgb.b + \",\" + opacity + ')'\r\n this.el.nativeElement.style.setProperty('background', rgba);\r\n this.el.nativeElement.style.setProperty('color', this.getContrastColorFromRGBA(rgba))\r\n }\r\n }\r\n }\r\n\r\n getContrastColorFromRGBA(rgbaString: string): string | null {\r\n // Extract RGBA values from the RGBA string\r\n const rgbaValues = this.extractRGBA(rgbaString);\r\n\r\n if (rgbaValues) {\r\n // Get contrast color based on RGBA values\r\n return this.getContrastColor(rgbaValues);\r\n }\r\n\r\n // Return null if extraction failed\r\n return null;\r\n }\r\n\r\n // Function to extract RGBA values from RGBA string\r\n extractRGBA(rgbaString: string): number[] | null {\r\n // Regular expression to match RGBA values\r\n const rgbaRegex = /rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+),?\\s*(\\d*(?:\\.\\d+)?)?\\)/;\r\n\r\n // Match the RGBA string against the regex\r\n const match = rgbaString.match(rgbaRegex);\r\n\r\n if (match) {\r\n // Extract RGBA values from the regex groups\r\n const [, r, g, b, a] = match.map(parseFloat);\r\n\r\n // If alpha (a) is not provided, set it to 1\r\n const alpha = typeof a === 'undefined' ? 1 : a;\r\n\r\n // Return the RGBA values as an array\r\n return [r, g, b, alpha];\r\n }\r\n\r\n // Return null if no match found\r\n return null;\r\n }\r\n\r\n // Function to calculate contrast color based on RGBA values\r\n getContrastColor(rgba: number[]): string {\r\n // Extract RGB values from the RGBA color\r\n const [r, g, b, a] = rgba;\r\n\r\n // Convert RGB values to luminance\r\n const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;\r\n\r\n // Determine threshold for color selection\r\n const threshold = 0.5;\r\n\r\n // Choose contrasting color based on luminance\r\n return luminance > threshold ? 'black' : 'white';\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { CornerDirective } from './../../directive/corner-directive';\r\nimport { ImageDirectiveDirective } from './../../directive/image-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from './../../directive/text-background-directive.directive';\r\nimport { SimpoButtonComponent } from '../simpo-button/simpo-button.component';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { EventsService } from '../../services/events.service';\r\n\r\n@Component({\r\n selector: 'simpo-top-of-image-card',\r\n standalone: true,\r\n imports: [CommonModule,ImageDirectiveDirective,CornerDirective,TextBackgroundDirectiveDirective,SimpoButtonComponent],\r\n templateUrl: './top-of-image-card.component.html',\r\n styleUrl: './top-of-image-card.component.css'\r\n})\r\nexport class TopOfImageCardComponent {\r\n @Input() data: any;\r\n @Input() styles: any;\r\n @Input() content: any;\r\n @Input() componentId?: string;\r\n @Input() button?: ButtonModel;\r\n\r\n constructor(private _eventService: EventsService){}\r\n ngOnInit(){\r\n\r\n }\r\n\r\n redirectTo(){\r\n this._eventService.buttonRedirection.emit({data: this.data.button});\r\n }\r\n}\r\n","<!-- <div style=\"position: relative;\">\r\n\r\n <img [src]=\"data.image.url\" [alt]=\"data.image.altText\" [simpoImageDirective]=\"styles?.image\"\r\n [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" class=\"w-100\" *ngIf=\"content.showImage\">\r\n\r\n <div class=\"content\" [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" [simpoTextBackgroundDirective]=\"styles?.textBackground\">\r\n <div style=\"color: white;\" class=\"heading-medium mb-1\" [innerHtml]=\"data.inputText[0].value\"\r\n *ngIf=\"content.showHeading\"></div>\r\n <div style=\"color: white;\" class=\"body-desc\" [innerHtml]=\"data.inputText[01].value\" *ngIf=\"content.showContent\">\r\n </div>\r\n <app-button-element [buttonData]=\"data?.button\" [sectionId]=\"componentId\" [buttonStyle]=\"styles?.button\" [color]=\"styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n</div>\r\n -->\r\n<div class=\"top-container\" (click)=\"(content?.display?.showLink && content?.display?.linkType === 'List Item' ? redirectTo() : '')\"\r\n [ngStyle]=\"{'background-image' : content.display.showImage ? 'url('+data.image.url+')' : ''}\"\r\n [simpoCorner]=\"styles?.corners\" [id]=\"componentId\">\r\n <div [simpoImageDirective]=\"styles?.image\" [id]=\"componentId\" *ngIf=\"content.display.showImage\"></div>\r\n <div class=\"content\" [simpoCorner]=\"styles?.corners\" [id]=\"componentId\"\r\n [simpoTextBackgroundDirective]=\"content.display.showImage ? styles?.textBackground : ''\">\r\n <div class=\"heading-medium mb-1 lh-40\" [innerHtml]=\"data.inputText[0].value\" *ngIf=\"content.display.showHeading\">\r\n </div>\r\n <div class=\"body-desc\" [innerHtml]=\"data.inputText[01].value\" *ngIf=\"content.display.showContent\">\r\n </div>\r\n <div *ngIf=\"content.display.showLink && content.display.linkType === 'Button'\">\r\n <app-button-element [buttonContent]=\"data.button\" [buttonStyle]=\"button?.styles\" [sectionId]=\"componentId\"\r\n [buttonId]=\"button ? button.id : ''\" [color]=\"styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { CornerDirective } from './../../directive/corner-directive';\r\nimport { ImageDirectiveDirective } from './../../directive/image-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from './../../directive/text-background-directive.directive';\r\nimport { SimpoButtonComponent } from '../simpo-button/simpo-button.component';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { EventsService } from '../../services/events.service';\r\n@Component({\r\n selector: 'simpo-covering-image-card',\r\n standalone: true,\r\n imports: [CommonModule,ImageDirectiveDirective,CornerDirective,TextBackgroundDirectiveDirective,SimpoButtonComponent, ObjectPositionDirective],\r\n templateUrl: './covering-image-card.component.html',\r\n styleUrl: './covering-image-card.component.css'\r\n})\r\nexport class CoveringImageCardComponent {\r\n @Input() data: any;\r\n @Input() styles: any;\r\n @Input() content: any;\r\n @Input() componentId?: string;\r\n @Input() button?: ButtonModel;\r\n\r\n constructor(private _eventService: EventsService){}\r\n ngOnInit(){\r\n }\r\n\r\n redirectTo(){\r\n this._eventService.buttonRedirection.emit({data: this.data.button});\r\n }\r\n}\r\n","<div class=\"parent-tab\" [id]=\"componentId\" [simpoImageDirective]=\"styles?.image\"\r\n (click)=\"(content?.display?.showLink && content?.display?.linkType === 'List Item' ? redirectTo() : '')\">\r\n <img [src]=\"data.image.url\" [alt]=\"data.image.altText\" [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" class=\"w-100 img\" *ngIf=\"content.display.showImage\"\r\n [simpoObjectPosition]=\"data.image?.position\" [class]=\"componentId+data.image.id\" [simpoImageDirective]=\"styles?.image\" loading=\"lazy\">\r\n <div class=\"ptb-1 content\" [simpoCorner]=\"styles?.corners\" [id]=\"componentId\" [simpoTextBackgroundDirective]=\"styles?.textBackground\">\r\n <div class=\"heading-medium mb-1\" [innerHtml]=\"data.inputText[0].value\" *ngIf=\"content.display.showHeading\"></div>\r\n <div class=\"body-desc\" [innerHtml]=\"data.inputText[01].value\" *ngIf=\"content.display.showContent\"></div>\r\n <div *ngIf=\"content.display.showLink && content.display.linkType === 'Button'\">\r\n <app-button-element [buttonContent]=\"data.button\" [buttonStyle]=\"button?.styles\" [sectionId]=\"componentId\" [buttonId]=\"button ? button.id : ''\" [color]=\"styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'simpo-heading-element',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './heading-element.component.html',\r\n styleUrl: './heading-element.component.css'\r\n})\r\nexport class HeadingElementComponent {\r\n @Input() data?: string = ''\r\n}\r\n","<h2 class=\"heading-large\" [innerHtml]=\"data\"></h2>\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoColor]',\r\n standalone: true\r\n})\r\nexport class ColorDirective implements OnChanges{\r\n @Input('simpoColor') bgColor?: string;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n }\r\n\r\n ngOnChanges(){\r\n this.applyColor();\r\n this.bgColorChangeCheck();\r\n }\r\n\r\n colorSubscription?: Subscription;\r\n\r\n ngOnDestroy(){\r\n this.colorSubscription?.unsubscribe()\r\n }\r\n\r\n applyColor(){\r\n if(this.bgColor){\r\n this.el.nativeElement.style.setProperty('color', this.getTextColor());\r\n }\r\n }\r\n\r\n bgColorChangeCheck(){\r\n this.colorSubscription = this.eventService.backgroundImageChangeCheck.subscribe((res: any) => {\r\n if(res.id === this.el.nativeElement.id){\r\n this.bgColor = res?.data?.color\r\n this.applyColor()\r\n }\r\n })\r\n }\r\n\r\n getTextColor() {\r\n if (this.bgColor) {\r\n\r\n // for 3 character hex code\r\n if (this.bgColor.length < 6) {\r\n let newBgColor: string = \"#\";\r\n for (let i=1; i<this.bgColor.length; i++) {\r\n newBgColor += this.bgColor[i]+this.bgColor[i];\r\n }\r\n this.bgColor = newBgColor;\r\n }\r\n const threshold = 130; // Adjust this threshold as needed\r\n const r = parseInt(this.bgColor.slice(1, 3), 16);\r\n const g = parseInt(this.bgColor.slice(3, 5), 16);\r\n const b = parseInt(this.bgColor.slice(5, 7), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n return brightness > threshold ? '#000000' : '#ffffff';\r\n }\r\n return \"#ffffff;\"\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, HostListener, Input, OnInit } from '@angular/core';\r\nimport { FooterSocialChannelModel } from '../../sections/footer-section/footer-section.modal';\r\nimport { ChannelType } from '../../styles/index';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\n\r\n@Component({\r\n selector: 'simpo-socia-icons',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ColorDirective\r\n ],\r\n templateUrl: './socia-icons.component.html',\r\n styleUrl: './socia-icons.component.css'\r\n})\r\nexport class SociaIconsComponent implements OnInit{\r\n\r\n @Input() socialIconData : any;\r\n @Input() color : any;\r\n @Input() sectionId?: string;\r\n ChannelType = ChannelType\r\n\r\n constructor(){\r\n this.getScreenSize();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n socialMediaLinks: { [key: string]: string} = {\r\n FACEBOOK: 'https://www.facebook.com/profile.php?id=61555029350349',\r\n INSTAGRAM: 'https://www.instagram.com/simpo.ai?igsh=MThlODJpcWJ6ZGxkdg==',\r\n LINKEDIN: 'https://www.linkedin.com/company/simpo-ai/',\r\n }\r\n\r\n screenWidth: number = 475;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?: number) {\r\n if (typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n\r\n openLink(type: string){\r\n const link = this.socialMediaLinks[type];\r\n\r\n if(this.socialIconData?.link){\r\n window.open(this.socialIconData.link, '_blank');\r\n }\r\n else{\r\n window.open(link, '_blank');\r\n }\r\n }\r\n}\r\n","<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type == ChannelType.FACEBOOK\">\r\n <div (click)=\"openLink('FACEBOOK')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M10.4375 21.8784C5.65941 21.1274 2 16.9877 2 12 2 6.48086 6.48086 2 12 2c5.5191 0 10 4.48086 10 10 0 4.9877-3.6594 9.1274-8.4375 9.8784v-6.9878h2.3301L16.3359 12h-2.7734v-1.8758c0-.79084.3874-1.5617 1.6296-1.5617h1.261V6.10156s-1.1443-.19531-2.2385-.19531c-2.2842 0-3.7771 1.38438-3.7771 3.89063V12H7.89844v2.8906h2.53906v6.9878Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </div>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.TWITTER\">\r\n <a [href]=\"socialIconData?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path\r\n d=\"M13.6756 10.6218 20.2324 3h-1.5537l-5.6933 6.61788L8.43817 3H3.1935l6.8763 10.0074L3.1935 21h1.55384l6.01226-6.9887L15.5618 21h5.2447l-7.1313-10.3782h.0004Zm-2.1282 2.4738-.6967-.9965-5.54349-7.92939h2.38662l4.47367 6.39919.6967.9966 5.8152 8.318h-2.3866l-4.7454-6.7875v-.0004Z\">\r\n </path>\r\n </svg>\r\n </a>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.LINKEDIN\">\r\n <div (click)=\"openLink('LINKEDIN')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M19.5565 2C20.9051 2 22 3.09492 22 4.44352V19.5565C22 20.9051 20.9051 22 19.5565 22H4.44352C3.09492 22 2 20.9051 2 19.5565V4.44352C2 3.09492 3.09488 2 4.44352 2H19.5565ZM8.26801 18.5343V9.71723H5.33676v8.81707h2.93125Zm10.56789 0v-5.0562c0-2.7083-1.446-3.96822-3.3742-3.96822-1.5549 0-2.2513.85512-2.6413 1.45572V9.71723H9.88988c.03887.82737 0 8.81707 0 8.81707h2.93052v-4.9241c0-.2636.0189-.527.0966-.7154.2115-.5264.694-1.0716 1.5037-1.0716 1.0599 0 1.4846.8088 1.4846 1.9936v4.7175h2.9306ZM6.82219 5.4657c-1.00289 0-1.65813.65934-1.65813 1.52352 0 .84601.63532 1.52351 1.61934 1.52351 1.02207 0 1.67719-.6775 1.67719-1.52351-.01895-.86297-.63442-1.52164-1.6384-1.52352Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </div>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.YOUTUBE\">\r\n <a [href]=\"socialIconData?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M21.0053 5.6191c.5996.6477.7946 2.11879.7946 2.11879S22 9.46405 22 11.1908v1.618c0 1.7268-.2001 3.453-.2001 3.453s-.1956 1.4705-.7946 2.1169c-.6859.7654-1.4461.8449-1.8754.8897-.0469.0049-.0899.0094-.1283.0143-2.799.2145-7.0016.222-7.0016.222s-5.20038-.0507-6.80025-.2145c-.07572-.0151-.16746-.0268-.27131-.0402-.50666-.0651-1.3018-.1673-1.93375-.8719-.59957-.6465-.79463-2.1169-.79463-2.1169S2 14.5356 2 12.8082v-1.618c0-1.72615.20006-3.45231.20006-3.45231s.19569-1.47109.79463-2.11879c.68895-.76815 1.4516-.84541 1.88002-.88881.04511-.00457.08651-.00876.12373-.01335C7.79681 4.5 11.995 4.5 11.995 4.5h.0094s4.1982 0 6.9972.21694c.0372.00459.0786.00879.1238.01336.4285.0434 1.1916.12069 1.8799.8888Zm-5.251 6.3832-6.25196 3.7512V8.25117l6.25196 3.75113Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </a>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.INSTAGRAM\">\r\n <div (click)=\"openLink('INSTAGRAM')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M12 2c5.5191 0 10 4.48086 10 10 0 5.5191-4.4809 10-10 10-5.51914 0-10-4.4809-10-10C2 6.48086 6.48086 2 12 2Zm0 3.75c-1.6974 0-1.9102.00719-2.57688.03762-.66523.03035-1.11957.13601-1.51714.29051-.41098.15972-.75953.37343-1.107.72089-.34746.34746-.56117.69602-.72089 1.107-.1545.39753-.26012.85187-.29051 1.5171C5.75719 10.0898 5.75 10.3026 5.75 12s.00719 1.9102.03758 2.5769c.03039.6652.13601 1.1195.29051 1.5171.15972.411.37343.7595.72089 1.107.34747.3475.69602.5612 1.107.7209.39757.1545.85191.2601 1.51714.2905.66668.0304.87948.0376 2.57688.0376s1.9102-.0072 2.5769-.0376c.6652-.0304 1.1195-.136 1.5171-.2905.411-.1597.7595-.3734 1.107-.7209.3475-.3475.5612-.696.7209-1.107.1545-.3976.2601-.8519.2905-1.5171.0304-.6667.0376-.8795.0376-2.5769 0-1.6974-.0072-1.9102-.0376-2.57688-.0304-.66523-.136-1.11957-.2905-1.5171-.1597-.41098-.3734-.75954-.7209-1.107s-.696-.56117-1.107-.72089c-.3976-.1545-.8519-.26016-1.5171-.29051C13.9102 5.75719 13.6974 5.75 12 5.75Zm0 1.12613c1.6688 0 1.8665.00637 2.5255.03645.6094.02781.9403.12961 1.1606.21519.2917.11336.4999.24883.7186.46754.2187.21867.3542.42692.4675.71864.0856.22023.1874.55113.2152 1.1605.0301.65905.0365.85675.0365 2.52555s-.0064 1.8665-.0365 2.5255c-.0278.6094-.1296.9403-.2152 1.1606-.1133.2917-.2488.4999-.4675.7186-.2187.2187-.4269.3542-.7186.4675-.2203.0856-.5512.1874-1.1606.2152-.6589.0301-.8566.0365-2.5255.0365s-1.8666-.0064-2.52555-.0365c-.60937-.0278-.94027-.1296-1.1605-.2152-.29176-.1133-.49997-.2488-.71868-.4675-.21871-.2187-.35414-.4269-.4675-.7186-.08558-.2203-.18742-.5512-.21523-1.1606-.03008-.659-.03641-.8567-.03641-2.5255s.00633-1.8665.03641-2.52555c.02781-.60937.12965-.94027.21523-1.1605.11336-.29172.24879-.49997.4675-.71864.21871-.21871.42692-.35418.71868-.46754.22023-.08558.55113-.18738 1.1605-.21519.65905-.03008.85675-.03645 2.52555-.03645Zm0 1.91442c-1.7725 0-3.20945 1.43695-3.20945 3.20945S10.2275 15.2095 12 15.2095s3.2095-1.437 3.2095-3.2095c0-1.7725-1.437-3.20945-3.2095-3.20945Zm0 5.29275c-1.1506 0-2.08332-.9327-2.08332-2.0833 0-1.1506.93272-2.08332 2.08332-2.08332S14.0833 10.8494 14.0833 12 13.1506 14.0833 12 14.0833Zm4.0863-5.41955c0 .41422-.3358.74996-.7501.74996-.4141 0-.7499-.33574-.7499-.74996s.3358-.75.7499-.75c.4143 0 .7501.33578.7501.75Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </div>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.TELEGRAM\">\r\n <a [href]=\"socialIconData?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M22 12c0 5.5229-4.4771 10-10 10-5.52285 0-10-4.4771-10-10C2 6.47715 6.47715 2 12 2c5.5229 0 10 4.47715 10 10Zm-9.6417-2.61755c-.9726.40455-2.91653 1.24185-5.83173 2.51195-.47339.1883-.72136.3725-.74394.5525-.03815.3044.34296.4242.86192.5874.0706.0222.14374.0452.21872.0695.51059.166 1.19741.3602 1.55446.3679.32388.007.68537-.1265 1.08446-.4006 2.72381-1.8386 4.12981-2.7679 4.21801-2.788.0623-.0141.1486-.0319.2071.0201.0585.052.0527.1504.0465.1768-.0377.1609-1.5335 1.5516-2.3077 2.2714-.2415.2244-.4127.3836-.4477.42-.0784.0814-.1583.1584-.2351.2325-.4743.4572-.83.8001.0197 1.3601.4084.2691.7352.4917 1.0612.7137.356.2424.7111.4842 1.1705.7854.117.0767.2288.1564.3377.234.4143.2954.7865.5608 1.2464.5184.2672-.0245.5432-.2758.6834-1.0252.3313-1.771.9825-5.6083 1.133-7.18949.0132-.13853-.0034-.31583-.0167-.39367-.0134-.07782-.0412-.18872-.1424-.2708-.1198-.09722-.3048-.11772-.3875-.11627-.3761.00663-.9531.20728-3.7303 1.36238Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </a>\r\n</div>\r\n<div style=\"cursor: pointer;\" *ngIf=\"socialIconData?.type === ChannelType.THREADS\">\r\n <a [href]=\"socialIconData?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"34\" height=\"34\"\r\n class=\"icon w-8 h-8\" aria-hidden=\"true\" [simpoColor]=\"color\" [id]=\"sectionId\">\r\n <path\r\n d=\"M12.1482 21.6888h-.0058c-2.89118-.0194-5.1138-.9727-6.60781-2.833-1.32737-1.6568-2.01334-3.9608-2.03659-6.848v-.0136c.02325-2.88921.70922-5.19128 2.03853-6.84806C7.0286 3.28395 9.25316 2.33057 12.1424 2.31119h.0116c2.2168.0155 4.0712.5852 5.511 1.6936 1.3545 1.04252 2.3079 2.52685 2.833 4.41423l-1.6471.45925c-.8914-3.19731-3.1469-4.83085-6.7047-4.85604-2.34853.01744-4.12546.75573-5.28037 2.19355C5.7865 7.56253 5.22842 9.50804 5.20711 12c.02131 2.492.57939 4.4375 1.66066 5.7842 1.15491 1.4398 2.93184 2.1781 5.28043 2.1936 2.118-.0155 3.519-.5097 4.6836-1.651 1.3293-1.3022 1.306-2.9008.8797-3.8736-.25-.5736-.7054-1.0503-1.3196-1.4126-.155 1.0909-.5019 1.9746-1.0367 2.6412-.7151.8894-1.7285 1.3758-3.0113 1.4455-.9708.0523-1.9068-.1763-2.63149-.6472-.85843-.5561-1.36031-1.4049-1.41457-2.3931-.05232-.9612.32942-1.8448 1.07352-2.4881.71114-.6143 1.71104-.9747 2.89304-1.0425.8701-.0485 1.6859-.0097 2.4377.1143-.1007-.5988-.3022-1.07546-.6045-1.41844-.4147-.47282-1.0561-.7131-1.9049-.71891h-.0232c-.6821 0-1.6084.18796-2.19743 1.06577l-1.41844-.95145c.7906-1.17428 2.07337-1.82149 3.61587-1.82149h.0349c2.5791.0155 4.1158 1.59478 4.2689 4.35032.0872.0368.1744.0755.2596.1143 1.2034.5658 2.0831 1.4223 2.5462 2.4784.6434 1.4707.7035 3.8678-1.2498 5.7803-1.494 1.4611-3.3058 2.1219-5.8753 2.1393h-.0058Zm.81-9.4388c-.1958 0-.3934.0058-.5969.0174-1.4824.0833-2.40667.7635-2.3544 1.7304.0543 1.0135 1.1724 1.4844 2.2479 1.4262.9882-.0523 2.2749-.4379 2.4919-2.9957-.5464-.1183-1.1452-.1783-1.7885-.1783Z\">\r\n </path>\r\n </svg>\r\n </a>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { ButtonElementComponent } from './button/button.component';\r\nimport { TextElementComponent } from './text/text.component';\r\nimport { BelowImageCardComponent } from './below-image-card/below-image-card.component';\r\nimport { TopOfImageCardComponent } from './top-of-image-card/top-of-image-card.component';\r\nimport { CoveringImageCardComponent } from './covering-image-card/covering-image-card.component';\r\nimport { HeadingElementComponent } from './heading-element/heading-element.component';\r\nimport { SimpoButtonComponent } from './simpo-button/simpo-button.component';\r\nimport { SociaIconsComponent } from './socia-icons/socia-icons.component';\r\n\r\n@NgModule({\r\n imports: [ButtonElementComponent, TextElementComponent, BelowImageCardComponent, TopOfImageCardComponent, CoveringImageCardComponent, HeadingElementComponent,SimpoButtonComponent,SociaIconsComponent],\r\n exports: [ButtonElementComponent, TextElementComponent, BelowImageCardComponent, TopOfImageCardComponent, CoveringImageCardComponent, HeadingElementComponent,SimpoButtonComponent,SociaIconsComponent],\r\n})\r\nexport class SimpoElementsModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatDialog, MatDialogModule} from '@angular/material/dialog';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'simpo-hover-elements',\r\n standalone: true,\r\n imports: [MatIconModule,MatDialogModule, CommonModule],\r\n templateUrl: './hover-elements.component.html',\r\n styleUrl: './hover-elements.component.css'\r\n})\r\nexport class HoverElementsComponent implements OnInit{\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){}\r\n\r\n @Output() edit: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Input() data : any;\r\n @Input() index: any;\r\n @Input() editOptions ? : boolean;\r\n @Input() isMerged: boolean = false;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n restyleSection(event: any){\r\n this._eventService.closeEditorEvent.emit(false);\r\n this._eventService.restyleSection.emit({index: this.index});\r\n event.stopPropagation();\r\n }\r\n\r\n changeContent(event: any){\r\n this._eventService.changeContent.emit({sectionId:this.data.componentId, index: this.index, sectionType: this.data.sectionType});\r\n event.stopPropagation();\r\n }\r\n\r\n moveUp(event: any){\r\n this._eventService.changePosition.emit({index: this.index, position : \"UP\"});\r\n event.stopPropagation();\r\n }\r\n moveDown(event: any){\r\n this._eventService.changePosition.emit({index: this.index, position : \"DOWN\"});\r\n event.stopPropagation();\r\n }\r\n deleteSection(event: any){\r\n this._eventService.delete.emit({index: this.index});\r\n event.stopPropagation();\r\n }\r\n\r\n addSection(position: \"ABOVE\" | \"BELOW\",event: any) {\r\n this._eventService.addNewSectionClick.emit({ status: true, index: this.index, position: position, webCompName:this.data});\r\n event.stopPropagation();\r\n }\r\n\r\n duplicateSection(event: any){\r\n this._eventService.duplicate.emit({index: this.index, data: this.data});\r\n event.stopPropagation();\r\n }\r\n\r\n\r\n}\r\n","<mat-dialog-content class=\"mat-typography\" *ngIf=\"editOptions\">\r\n <div class=\"top-btn\" [ngClass]=\"{'adjust-top-btn': isMerged && index == 1}\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\">\r\n <button class=\"add_btn_top\" (click)=\"addSection('ABOVE', $event)\">Add Section +</button>\r\n </div>\r\n <section class=\"hover-tab\" [ngClass]=\"{'adjustPosition': isMerged && index == 1}\">\r\n <div class=\"tabs-section\" [ngStyle]=\"{'z-index' : data.sectionType === 'header' ? '10000' : '1000'}\">\r\n <div class=\"edit-tab\">\r\n <button (click)=\"editSection()\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_1076_52409)\">\r\n <path\r\n d=\"M2 11.4997V13.9997H4.5L11.8733 6.62638L9.37333 4.12638L2 11.4997ZM13.8067 4.69305C14.0667 4.43305 14.0667 4.01305 13.8067 3.75305L12.2467 2.19305C11.9867 1.93305 11.5667 1.93305 11.3067 2.19305L10.0867 3.41305L12.5867 5.91305L13.8067 4.69305Z\"\r\n fill=\"#0267c1\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1076_52409\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"edit-text\">\r\n Edit\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"vr-line\"></div>\r\n <div class=\"regenerate\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'blogList'\">\r\n <button (click)=\"restyleSection($event)\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M4.01108 19.9525C4.27565 20.0656 4.58327 19.9712 4.7378 19.7271L11.7691 8.55522C11.8829 8.3744 11.8898 8.14608 11.7868 7.95956C11.6838 7.77245 11.4869 7.65628 11.2735 7.65628H6.58085L8.32608 0.730146C8.39647 0.450341 8.25397 0.161357 7.98905 0.0474897C7.72585 -0.0657916 7.41628 0.0291694 7.26233 0.272919L0.231082 11.4448C0.117215 11.6256 0.11034 11.8539 0.213348 12.0405C0.316355 12.2276 0.513191 12.3437 0.726629 12.3437H5.41928L3.67405 19.2699C3.60366 19.5497 3.74612 19.8387 4.01108 19.9525Z\"\r\n fill=\"#0267c1\" />\r\n </svg>\r\n <span class=\"edit-text\">\r\n Restyle\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"vr-line\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\"></div>\r\n <div class=\"regenerate\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\">\r\n <button (click)=\"changeContent($event)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path stroke=\"#0267c1\" stroke-linecap=\"round\" stroke-width=\"1.5\" d=\"M11 12h7m-7-8h7m-7 4h7M2 16h16\">\r\n </path>\r\n <path stroke=\"#0267c1\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"\r\n d=\"m2 12 .85714-2.28571M8 12l-.85714-2.28571m0 0L5 4 2.85714 9.71429m4.28572 0H2.85714\"></path>\r\n </svg>\r\n <span class=\"edit-text\">Change Content</span>\r\n </button>\r\n </div>\r\n <div class=\"vr-line\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'blogList'\"></div>\r\n <div class=\"remainin-sections\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\">\r\n <button class=\"copy\" (click)=\"duplicateSection($event)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path\r\n d=\"M9 2c-1.10457 0-2 .89543-2 2v8c0 1.1046.89543 2 2 2h6c1.1046 0 2-.8954 2-2V6.41421c0-.53043-.2107-1.03914-.5858-1.41421L14 2.58579C13.6249 2.21071 13.1162 2 12.5858 2H9Z\">\r\n </path>\r\n <path d=\"M3 8c0-1.10457.89543-2 2-2v10h8c0 1.1046-.8954 2-2 2H5c-1.10457 0-2-.8954-2-2V8Z\"></path>\r\n </svg>\r\n </button>\r\n <button class=\"up-arrow\" (click)=\"moveUp($event)\" [disabled]=\"index == 1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M3.29289 9.70711c-.39052-.39053-.39052-1.02369 0-1.41422l6-6c.39053-.39052 1.02371-.39052 1.41421 0l6 6c.3905.39053.3905 1.02369 0 1.41422-.3905.39049-1.0237.39049-1.4142 0L11 5.41421V17c0 .5523-.4477 1-1 1-.55228 0-1-.4477-1-1V5.41421l-4.29289 4.2929c-.39053.39049-1.02369.39049-1.41422 0Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </button>\r\n <button class=\"up-arrow\" (click)=\"moveDown($event)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M16.7071 10.2929c.3905.3905.3905 1.0237 0 1.4142l-6 6c-.3905.3905-1.02368.3905-1.41421 0l-6-6c-.39052-.3905-.39052-1.0237 0-1.4142.39053-.39053 1.02369-.39053 1.41422 0L9 14.5858V3c0-.55228.44772-1 1-1 .5523 0 1 .44772 1 1v11.5858l4.2929-4.2929c.3905-.39053 1.0237-.39053 1.4142 0Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </button>\r\n <button class=\"up-arrow\" (click)=\"deleteSection($event)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M9 2c-.37877 0-.72503.214-.89443.55279L7.38197 4H4c-.55228 0-1 .44772-1 1s.44772 1 1 1v10c0 1.1046.89543 2 2 2h8c1.1046 0 2-.8954 2-2V6c.5523 0 1-.44772 1-1s-.4477-1-1-1h-3.382l-.7236-1.44721C11.725 2.214 11.3788 2 11 2H9ZM7 8c0-.55228.44772-1 1-1s1 .44772 1 1v6c0 .5523-.44772 1-1 1s-1-.4477-1-1V8Zm5-1c-.5523 0-1 .44772-1 1v6c0 .5523.4477 1 1 1s1-.4477 1-1V8c0-.55228-.4477-1-1-1Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </section>\r\n <div class=\"bottom-btn\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header' && data.sectionType != 'blogList'\">\r\n <button class=\"add_btn\" (click)=\"addSection('BELOW', $event)\">Add Section +</button>\r\n </div>\r\n</mat-dialog-content>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport { MatDialogModule} from '@angular/material/dialog';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'simpo-delete-hover-element',\r\n standalone: true,\r\n imports: [MatIconModule,MatDialogModule, CommonModule],\r\n templateUrl: './delete-hover-element.component.html',\r\n styleUrl: './delete-hover-element.component.css'\r\n})\r\nexport class DeleteHoverElementComponent {\r\n constructor(\r\n private _eventService : EventsService\r\n ){}\r\n\r\n @Input() index: any;\r\n @Input() data : any;\r\n @Output() edit: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n editSection()\r\n {\r\n this._eventService.editSection.emit({index: this.index, data: this.data})\r\n }\r\n deleteSection(){\r\n this._eventService.delete.emit({index: this.data});\r\n }\r\n}\r\n","<mat-dialog-content class=\"mat-typography\">\r\n <section class=\"hover-tab\">\r\n <div class=\"tabs-section\">\r\n <div class=\"edit-tab\">\r\n <button (click)=\"editSection()\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_1076_52409)\">\r\n <path\r\n d=\"M2 11.4997V13.9997H4.5L11.8733 6.62638L9.37333 4.12638L2 11.4997ZM13.8067 4.69305C14.0667 4.43305 14.0667 4.01305 13.8067 3.75305L12.2467 2.19305C11.9867 1.93305 11.5667 1.93305 11.3067 2.19305L10.0867 3.41305L12.5867 5.91305L13.8067 4.69305Z\"\r\n fill=\"#0267c1\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1076_52409\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"edit-text\">\r\n Edit\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"vr-line\"></div>\r\n <div class=\"remainin-sections\" *ngIf=\"data.sectionType != 'footer' && data.sectionType != 'header'\">\r\n <button class=\"up-arrow\" (click)=\"deleteSection()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#434443\" viewBox=\"0 0 18 18\" width=\"18\" height=\"18\"\r\n class=\"icon w-5 h-5\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M9 2c-.37877 0-.72503.214-.89443.55279L7.38197 4H4c-.55228 0-1 .44772-1 1s.44772 1 1 1v10c0 1.1046.89543 2 2 2h8c1.1046 0 2-.8954 2-2V6c.5523 0 1-.44772 1-1s-.4477-1-1-1h-3.382l-.7236-1.44721C11.725 2.214 11.3788 2 11 2H9ZM7 8c0-.55228.44772-1 1-1s1 .44772 1 1v6c0 .5523-.44772 1-1 1s-1-.4477-1-1V8Zm5-1c-.5523 0-1 .44772-1 1v6c0 .5523.4477 1 1 1s1-.4477 1-1V8c0-.55228-.4477-1-1-1Z\"\r\n clip-rule=\"evenodd\"></path>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </section>\r\n</mat-dialog-content>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\n\r\n@Component({\r\n selector: 'simpo-input-fields',\r\n standalone: true,\r\n imports: [\r\n CommonModule, FormsModule, ColorDirective, MatIcon\r\n ],\r\n templateUrl: './input-fields.component.html',\r\n styleUrl: './input-fields.component.css'\r\n})\r\nexport class InputFieldsComponent implements OnChanges {\r\n @Input() feild: any;\r\n @Input() opacity: number | undefined = 1;\r\n @Input() bgColor?: string;\r\n @Input() sectionId?: string;\r\n\r\n public ratingHoverIndex: number | null = null;\r\n public colorCode: string;\r\n public selectedDropdown: string | null = null;\r\n public enteredValue: string | null = null;\r\n\r\n constructor() {\r\n\r\n this.colorCode = this.generateColorBasedOnNumber(this.opacity ?? 0);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n this.colorCode = this.generateColorBasedOnNumber(this.opacity ?? 0);\r\n }\r\n\r\n handleMoneyInput(event: any) {\r\n if (!(event.code.includes(\"Digit\") || event.code.includes(\"Backspace\")) || !event.target) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n event.target.value = \"$\" + Number(event.target.value.replaceAll(\",\", \"\").replaceAll(\"$\", \"\")).toLocaleString();\r\n }\r\n get getTextColor() {\r\n return (this.opacity ?? 0) < 50 ? '#FFF' : '#000';\r\n }\r\n\r\n interpolateColor(color1: string, color2: string, factor: number) {\r\n if (factor === 0) return color1;\r\n if (factor === 1) return color2;\r\n\r\n const hex = (x: any) => this.padZero(Math.round(x).toString(16), 2);\r\n\r\n const r1 = parseInt(color1.substring(1, 3), 16);\r\n const g1 = parseInt(color1.substring(3, 5), 16);\r\n const b1 = parseInt(color1.substring (5, 7), 16);\r\n\r\n const r2 = parseInt(color2.substring(1, 3), 16);\r\n const g2 = parseInt(color2.substring(3, 5), 16);\r\n const b2 = parseInt(color2.substring(5, 7), 16);\r\n\r\n const r = Math.ceil(r1 * (1 - factor) + r2 * factor);\r\n const g = Math.ceil(g1 * (1 - factor) + g2 * factor);\r\n const b = Math.ceil(b1 * (1 - factor) + b2 * factor);\r\n\r\n return `#${hex(r)}${hex(g)}${hex(b)}`;\r\n }\r\n\r\n padZero(str: string, length: number): string {\r\n return str.length < length ? this.padZero(\"0\" + str, length) : str;\r\n }\r\n\r\n generateColorBasedOnNumber(number: number) {\r\n const factor = number / 100; // Assuming number ranges from 0 to 100\r\n return this.interpolateColor(\"#000000\", \"#FFFFFF\", factor);\r\n }\r\n\r\n selectDropdown(value: string) {\r\n this.selectedDropdown = null;\r\n this.enteredValue = value;\r\n }\r\n}\r\n","<section [ngSwitch]=\"feild.type\" class=\"mt-15\">\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'text'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'address'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'email'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"email\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'password'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"password\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'rating'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex\">\r\n <span class=\"fa fa-star\" *ngFor=\"let _ of [].constructor(5); let idx = index\" [ngClass]=\"{'checked': idx < (ratingHoverIndex ?? feild.value) }\" (mouseenter)=\"ratingHoverIndex = idx +1\" (mouseleave)=\"ratingHoverIndex = null\" (click)=\"feild.value = idx +1\"></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'date'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"date\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'checkbox'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex align-items-center flex-wrap\" style=\"gap: 10px;\">\r\n <ng-container *ngFor=\"let checkbox of feild.options\">\r\n <div class=\"d-flex align-items-center\" style=\"gap: 5px;\">\r\n <input type=\"checkbox\" [attr.id]=\"checkbox.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"checkbox.status\">\r\n <label [attr.for]=\"checkbox.value\" class=\"mb-0 mt-1 checkboxFont\">{{ checkbox.value }}</label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'number'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"number\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'money'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" value=\"$\" (keydown)=\"handleMoneyInput($event)\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'desc'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <textarea class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\"></textarea>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2 position-relative\" *ngSwitchCase=\"'dropdown'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n\r\n <div class=\"position-relative d-flex align-items-center\"> \r\n <input type=\"text\" readonly [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [value]=\"enteredValue\" (click)=\"selectedDropdown = feild.value\" [(ngModel)]=\"feild.inputValue\" class=\"w-100\">\r\n <mat-icon class=\"down-arrow\">{{feild.value != selectedDropdown ? 'keyboard_arrow_down' : 'keyboard_arrow_up'}}</mat-icon>\r\n </div>\r\n <div class=\"container-list position-absolute\" [hidden]=\"feild.value != selectedDropdown\">\r\n <ng-container *ngFor=\"let option of feild.options\">\r\n <div class=\"container\" [ngClass]=\"{'container-selected': option.value == selectedDropdown}\" (click)=\"selectDropdown(option.value)\">{{ option.value }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>\r\n","import { NgModule } from '@angular/core';\r\nimport { HoverElementsComponent } from './hover-elements/hover-elements.component';\r\nimport { DeleteHoverElementComponent } from './delete-hover-element/delete-hover-element.component';\r\nimport { InputFieldsComponent } from './input-fields/input-fields.component';\r\n@NgModule({\r\n imports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent],\r\n exports: [HoverElementsComponent, DeleteHoverElementComponent, InputFieldsComponent],\r\n})\r\nexport class SimpoComponentModule {}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { animation } from '../styles/index';\r\nimport { AnimationModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\nimport { ANIMATION_SPEED } from '../styles/types';\r\n@Directive({\r\n selector: '[simpoAnimation]',\r\n standalone: true,\r\n})\r\nexport class AnimationDirective implements OnChanges, OnInit, OnDestroy {\r\n @Input('simpoAnimation') animationData?: AnimationModel;\r\n eventServiceSubscription : any;\r\n private observer: IntersectionObserver | undefined;\r\n\r\n animationSpeed = animation\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n private eventService : EventsService\r\n ) {\r\n this.eventServiceSubscription = this.eventService.animationChangeChecks.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n this.animationData = res.data\r\n this.applyAnimation();\r\n }\r\n }\r\n )\r\n }\r\n ngOnDestroy(): void {\r\n if (this.observer) {\r\n this.observer.disconnect();\r\n }\r\n if(this.eventServiceSubscription){\r\n this.eventServiceSubscription.unsubscribe();\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.createObserver();\r\n // this.applyAnimation();\r\n }\r\n\r\n ngOnChanges(): void {\r\n // this.applyAnimation();\r\n }\r\n\r\n private createObserver(): void {\r\n\r\n const options = {\r\n root: null, // Use the viewport as the container\r\n threshold: 0.1 // Percentage of element visibility required to trigger the callback\r\n };\r\n if(typeof window !== 'undefined' && 'IntersectionObserver' in window) {\r\n this.observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (\r\n entry.isIntersecting &&\r\n !this.el.nativeElement.className.includes('visible')\r\n ) {\r\n this.el.nativeElement.classList.add('visible');\r\n this.el.nativeElement.style.setProperty('position', 'relative');\r\n this.el.nativeElement.style.setProperty('animation-name', this.getAnimationName());\r\n\r\n if (this.animationData?.speed) {\r\n const speed = animation.speed[this.animationData?.speed];\r\n this.el.nativeElement.style.setProperty('animation-duration', this.getAnimationSpeed(this.animationData.speed));\r\n }\r\n\r\n this.observer?.unobserve(this.el.nativeElement);\r\n }\r\n });\r\n }, options);\r\n\r\n this.observer.observe(this.el.nativeElement);\r\n }\r\n\r\n }\r\n\r\n getAnimationName() {\r\n if (this.animationData?.type) {\r\n\r\n if (this.animationData?.type == 'left') {\r\n return 'animateleft'\r\n }\r\n if (this.animationData?.type == 'right') {\r\n return 'animateright'\r\n }\r\n if (this.animationData?.type == 'top') {\r\n return 'animatetop'\r\n }\r\n if (this.animationData?.type == 'bottom') {\r\n return 'animatebottom'\r\n }\r\n if (this.animationData?.type == 'fadeIn') {\r\n return 'opac'\r\n }\r\n if (this.animationData?.type == 'zoom') {\r\n return 'animatezoom'\r\n }\r\n if (this.animationData?.type === 'none') {\r\n return 'none'\r\n }\r\n\r\n }\r\n return null;\r\n }\r\n\r\n name: any;\r\n\r\n private applyAnimation() {\r\n if (this.animationData?.type) {\r\n const anim = animation.type[this.animationData?.type];\r\n // this.renderer.removeClass(this.el.nativeElement,anim);\r\n // this.renderer.addClass(this.el.nativeElement, anim);\r\n if(this.animationData.type == 'left'){\r\n this.name = 'animateleft'\r\n }\r\n if(this.animationData.type == 'right'){\r\n this.name = 'animateright'\r\n }\r\n if(this.animationData.type == 'top'){\r\n this.name = 'animatetop'\r\n }\r\n if(this.animationData.type == 'bottom'){\r\n this.name = 'animatebottom'\r\n }\r\n if(this.animationData.type == 'fadeIn'){\r\n this.name = 'opac'\r\n }\r\n if(this.animationData.type == 'zoom'){\r\n this.name = 'animatezoom'\r\n }\r\n if(this.animationData.type === 'none') {\r\n this.name = 'none'\r\n }\r\n this.el.nativeElement.style.setProperty('position', 'relative');\r\n this.el.nativeElement.style.setProperty('animation-name', this.name);\r\n }\r\n\r\n if (this.animationData?.speed) {\r\n const speed = animation.speed[this.animationData?.speed];\r\n this.el.nativeElement.style.setProperty('position', 'relative');\r\n this.el.nativeElement.style.setProperty('animation-name', this.name);\r\n this.el.nativeElement.style.setProperty('animation-duration', this.getAnimationSpeed(this.animationData.speed));\r\n }\r\n }\r\n\r\n getAnimationSpeed(speed:ANIMATION_SPEED){\r\n let speedInSec = ''\r\n for(let key of Object.keys(animation.speed)){\r\n if(key === speed){\r\n speedInSec = animation.speed[key];\r\n }\r\n }\r\n return speedInSec;\r\n }\r\n\r\n animationTypes : any ={\r\n left : \"animateleft\",\r\n right : \"animateright\",\r\n bottom :\"animatebottom\",\r\n top : \"animatetop\",\r\n zoom : \"animatezoom\",\r\n fadeIn : \"opac\"\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BackgroundModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoBackground]',\r\n standalone: true,\r\n})\r\nexport class BackgroundDirective implements OnChanges {\r\n @Input('simpoBackground') simpoBackground?: BackgroundModel;\r\n @Input('scrollValue') scrollValue?: number = 0;\r\n\r\n eventEmmitter : any;\r\n constructor(\r\n private el: ElementRef,\r\n private eventService :EventsService) {\r\n if (this.eventEmmitter) {\r\n this.eventEmmitter.unsubscribe()\r\n }\r\n this.eventEmmitter = this.eventService.backgroundImageChangeCheck.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.id || res.globalThemeChange){\r\n if (res.data?.showImage && this?.scrollValue == 0) {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-image',\r\n `url(${res.data.image})`\r\n );\r\n this.el.nativeElement.style.setProperty(\r\n 'background-position',\r\n `${res.data.position?.x}% ${res.data.position?.y}%`\r\n );\r\n this.el.nativeElement.style.setProperty('background-repeat', `no-repeat`);\r\n this.el.nativeElement.style.setProperty('background-size', `cover`);\r\n this.el.nativeElement.style.setProperty('color',this.getTextColor(res.data?.color))\r\n } else {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-color',\r\n res.data?.color\r\n );\r\n this.el.nativeElement.style.setProperty(\r\n 'background-image',\r\n ``\r\n );\r\n this.el.nativeElement.style.setProperty('color',this.getTextColor(res.data?.color))\r\n }\r\n }\r\n }\r\n )\r\n }\r\n ngOnDestroy() {\r\n if (this.eventEmmitter) {\r\n this.eventEmmitter.unsubscribe()\r\n }\r\n }\r\n\r\n ngOnChanges(change:SimpleChanges): void {\r\n if (this.simpoBackground?.showImage && this.scrollValue == 0) {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-image',\r\n `url(${this.simpoBackground.image})`\r\n );\r\n this.el.nativeElement.style.setProperty(\r\n 'background-position',\r\n `${this.simpoBackground.position?.x}% ${this.simpoBackground.position?.y}%`\r\n );\r\n this.el.nativeElement.style.setProperty('background-repeat', `no-repeat`);\r\n this.el.nativeElement.style.setProperty('background-size', `cover`);\r\n this.el.nativeElement.style.setProperty('color',this.getTextColor(this.simpoBackground?.color ? this.simpoBackground?.color : '#ffffff'))\r\n } else {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-color',\r\n this.simpoBackground?.color\r\n );\r\n this.el.nativeElement.style.setProperty('color',this.getTextColor(this.simpoBackground?.color ? this.simpoBackground?.color : '#ffffff'))\r\n }\r\n }\r\n\r\n getTextColor(bgColor: string) {\r\n if (bgColor) {\r\n const threshold = 130; // Adjust this threshold as needed\r\n const r = parseInt(bgColor.slice(1, 3), 16);\r\n const g = parseInt(bgColor.slice(3, 5), 16);\r\n const b = parseInt(bgColor.slice(5, 7), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n return brightness > threshold ? '#000000' : '#ffffff';\r\n }\r\n return \"#ffffff;\"\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\r\nimport { fitContent, fitScreen, applySpacing } from '../styles/index';\r\nimport { LayOutModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\n\r\n@Directive({\r\n selector: '[simpoLayout]',\r\n standalone: true,\r\n})\r\nexport class ContentFitDirective implements OnInit, OnChanges {\r\n @Input('simpoLayout') layout?: LayOutModel;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService : EventsService) {\r\n this.eventService.alignmentChangeChecks.subscribe(\r\n (res:any) =>{\r\n if(res.id === this.el.nativeElement.id){\r\n this.el.nativeElement.style.setProperty('text-align', res.data?.align);\r\n }\r\n }\r\n );\r\n\r\n this.eventService.spacingChangeChecks.subscribe(\r\n (res:any) => {\r\n if(res.id === this.el.nativeElement.id){\r\n this.layout = res.data;\r\n if (this.layout?.fit === 'content') {\r\n this.el.nativeElement.style.removeProperty('min-height')\r\n fitContent(this.el.nativeElement);\r\n } else {\r\n this.el.nativeElement.style.removeProperty('height')\r\n fitScreen(this.el.nativeElement);\r\n }\r\n applySpacing(this.el.nativeElement,res.data.spacing)\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnInit(): void {\r\n this.appply();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.appply();\r\n }\r\n\r\n appply() {\r\n if (this.layout?.fit === 'content') {\r\n fitContent(this.el.nativeElement);\r\n } else if(this.layout?.fit === 'screen') {\r\n fitScreen(this.el.nativeElement);\r\n }\r\n\r\n applySpacing(this.el.nativeElement, this.layout?.spacing);\r\n this.el.nativeElement.style.setProperty('text-align', this.layout?.align);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, Renderer2 } from '@angular/core';\r\nimport { fitContent, fitScreen, applySpacing, BANNERALIGNMENT, HALIGN, BANNERHALIGN } from '../styles/index';\r\nimport { BannerLayOutModel, LayOutModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\n\r\n@Directive({\r\n selector: '[simpoBannerLayout]',\r\n standalone: true,\r\n})\r\nexport class BannerContentFitDirective implements OnInit, OnChanges {\r\n @Input('simpoBannerLayout') layout?: BannerLayOutModel;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService : EventsService,\r\n private renderer: Renderer2) {\r\n this.eventService.alignmentChangeChecks.subscribe(\r\n (res:any) =>{\r\n if(this.layout?.bannerImageDisplay){\r\n Object.entries(BANNERALIGNMENT).forEach(([className,classValue]) => {\r\n if(res.data?.align === className){\r\n this.renderer.addClass(this.el.nativeElement, classValue);\r\n if(res.data?.align == 'top' || res.data?.align == 'bottom'){\r\n this.el.nativeElement.style.setProperty('text-align',\"center\")\r\n }\r\n }\r\n });\r\n }\r\n else{\r\n Object.entries(BANNERHALIGN).forEach(([className,classValue]) => {\r\n if(res.data?.layoutAlignment?.value === className){\r\n this.renderer.addClass(this.el.nativeElement,`flex-lg-row`);\r\n classValue.split(\" \").forEach(element => {\r\n this.renderer.addClass(this.el.nativeElement, element);\r\n });\r\n }\r\n })\r\n }\r\n applySpacing(this.el.nativeElement, this.layout?.spacing);\r\n }\r\n );\r\n\r\n this.eventService.spacingChangeChecks.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.type){\r\n if (this.layout?.fit === 'content') {\r\n fitContent(this.el.nativeElement);\r\n } else {\r\n fitScreen(this.el.nativeElement);\r\n }\r\n applySpacing(this.el.nativeElement,res.data.spacing)\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnInit(): void {\r\n this.appply();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.appply();\r\n }\r\n\r\n appply() {\r\n if (this.layout?.fit === 'content') {\r\n fitContent(this.el.nativeElement);\r\n } else {\r\n fitScreen(this.el.nativeElement);\r\n }\r\n \r\n if(this.layout?.bannerImageDisplay){\r\n Object.entries(BANNERALIGNMENT).forEach(([className,classValue]) => {\r\n if(this.layout?.layoutAlignment.value === className){\r\n this.renderer.addClass(this.el.nativeElement, classValue);\r\n if(this.layout.layoutAlignment.value == 'top' || this.layout.layoutAlignment.value == 'bottom'){\r\n this.el.nativeElement.style.setProperty('text-align',\"center\")\r\n }\r\n }\r\n });\r\n }\r\n else{\r\n Object.entries(BANNERHALIGN).forEach(([className,classValue]) => {\r\n if(this.layout?.layoutAlignment.value === className){\r\n this.renderer.addClass(this.el.nativeElement,`flex-lg-row`);\r\n classValue.split(\" \").forEach(element => {\r\n this.renderer.addClass(this.el.nativeElement, element);\r\n });\r\n }\r\n })\r\n }\r\n applySpacing(this.el.nativeElement, this.layout?.spacing);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BorderModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoBorder]',\r\n standalone: true,\r\n})\r\nexport class BorderDirective implements OnChanges {\r\n @Input('simpoBorder') borderData?: BorderModel;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private eventService : EventsService\r\n ) {\r\n this.eventService.borderChangeChecks.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n if (res.data?.display) {\r\n this.el.nativeElement.style.setProperty(\r\n 'border-bottom',\r\n res.data.thickness+'px' +\r\n ' ' +\r\n res.data.type +\r\n ' ' +\r\n res.data.color\r\n );\r\n }\r\n else{\r\n this.el.nativeElement.style.setProperty(\r\n 'border-bottom',\r\n 'none'\r\n );\r\n }\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.borderData?.display) {\r\n this.el.nativeElement.style.setProperty(\r\n 'border-bottom',\r\n this.borderData.thickness+'px' +\r\n ' ' +\r\n this.borderData.type +\r\n ' ' +\r\n this.borderData.color\r\n );\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { CARD_SIZE } from '../styles/types';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoColumnDirective]',\r\n standalone: true\r\n})\r\nexport class ColumnDirectiveDirective implements OnChanges {\r\n @Input('simpoColumnDirective') columnDirective?: CARD_SIZE;\r\n cardSizeSubSubscription: Subscription | undefined;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService: EventsService) {\r\n\r\n this.checkSizeChanges()\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.columnDirective === 'Large') {\r\n this.el.nativeElement.classList.add('col-md-6');\r\n }\r\n if (this.columnDirective === 'Medium') {\r\n this.el.nativeElement.classList.add('col-md-4');\r\n }\r\n if (this.columnDirective === 'Small') {\r\n this.el.nativeElement.classList.add('col-md-3');\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.cardSizeSubSubscription) {\r\n this.cardSizeSubSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n checkSizeChanges() {\r\n this.cardSizeSubSubscription = this.eventService.cardSizeChangeChecks.subscribe((res: any) => {\r\n this.addClass(res.size, res.id);\r\n })\r\n }\r\n\r\n addClass(res: CARD_SIZE, id: string) {\r\n if (this.el.nativeElement.id == id) {\r\n this.removeAllClasses()\r\n if (res === 'Large') {\r\n this.el.nativeElement.classList.add('col-md-6');\r\n }\r\n if (res === 'Medium') {\r\n this.el.nativeElement.classList.add('col-md-4');\r\n }\r\n if (res === 'Small') {\r\n this.el.nativeElement.classList.add('col-md-3');\r\n }\r\n }\r\n }\r\n\r\n removeAllClasses() {\r\n this.el.nativeElement.classList.remove(\"col-md-3\");\r\n this.el.nativeElement.classList.remove(\"col-md-4\");\r\n this.el.nativeElement.classList.remove(\"col-md-6\");\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { fitContent, fitScreen, applySpacing } from '../styles/index';\r\nimport { LayOutModel } from '../styles/style.model';\r\nimport { EventsService } from '../services/events.service';\r\n\r\n@Directive({\r\n selector: '[simpoContainerLayout]',\r\n standalone: true,\r\n})\r\nexport class ContainerFitDirective implements OnInit, OnChanges {\r\n @Input('simpoContainerLayout') layout?: LayOutModel;\r\n\r\n constructor(\r\n private readonly el: ElementRef,\r\n private readonly eventService : EventsService) {\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.appply();\r\n }\r\n \r\n ngOnChanges(): void {\r\n this.appply();\r\n }\r\n\r\n appply() {\r\n this.el.nativeElement.style.setProperty('margin', 'unset');\r\n this.el.nativeElement.style.setProperty('align-items', 'unset');\r\n if (this.layout?.align == 'center') {\r\n this.el.nativeElement.style.setProperty('margin', 'auto');\r\n this.el.nativeElement.style.setProperty('align-items', 'center');\r\n }\r\n else if (this.layout?.align == \"left\") {\r\n this.el.nativeElement.style.setProperty('margin-right', \"auto\");\r\n this.el.nativeElement.style.setProperty('align-items', 'flex-start');\r\n }\r\n else {\r\n this.el.nativeElement.style.setProperty(\"margin-left\", \"auto\");\r\n this.el.nativeElement.style.setProperty('align-items', 'flex-end');\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnChanges, Renderer2 } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { AlignContent, contentAlignment } from '../styles';\r\nimport { contentAlignmentModal } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoContentAlignment]',\r\n standalone: true,\r\n})\r\nexport class simpoConetenAlignmentDirective implements OnChanges {\r\n @Input('simpoContentAlignment') contentAlignmentData?: AlignContent;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private eventService: EventsService\r\n ) {}\r\n\r\n ngOnChanges(): void {\r\n this.applyContentAlignment();\r\n }\r\n\r\n ngOnDestroy(){\r\n if(this.contentAlignmentSubscription){\r\n this.contentAlignmentSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n contentAlignmentSubscription?: Subscription;\r\n changeAlignmentCheck(){\r\n this.contentAlignmentSubscription = this.eventService.contentAlignmentChangeCheck.subscribe((res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n this.contentAlignmentData = res.data;\r\n this.applyContentAlignment()\r\n }\r\n })\r\n }\r\n\r\n applyContentAlignment(){\r\n this.removeAllClassIfPresent();\r\n if(this.contentAlignmentData){\r\n this.el.nativeElement.classList.add(contentAlignment[this.contentAlignmentData]);\r\n }\r\n }\r\n\r\n removeAllClassIfPresent(){\r\n this.el.nativeElement.classList.remove(contentAlignment[AlignContent.Image_BOTTOM])\r\n this.el.nativeElement.classList.remove(contentAlignment[AlignContent.Image_CENTER])\r\n this.el.nativeElement.classList.remove(contentAlignment[AlignContent.Image_TOP])\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\r\nimport { applySpacing } from '../styles/index';\r\nimport { EventsService } from '../services/events.service';\r\nimport { FooterLayoutModel } from '../sections/footer-section/footer-section.modal';\r\n\r\n@Directive({\r\n selector: '[simpoFooterLayout]',\r\n standalone: true,\r\n})\r\nexport class SimpoFooterLayoutDirective implements OnInit, OnChanges {\r\n @Input('simpoFooterLayout') layout?: FooterLayoutModel;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService : EventsService) {\r\n this.eventService.spacingChangeChecks.subscribe(\r\n (res:any) => {\r\n this.appply();\r\n }\r\n )\r\n }\r\n\r\n ngOnInit(): void {\r\n this.appply();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.appply();\r\n }\r\n\r\n appply() {\r\n applySpacing(this.el.nativeElement, this.layout?.spacing);\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnChanges, Output } from '@angular/core';\r\nimport { BorderModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoHover]',\r\n standalone: true,\r\n})\r\n\r\nexport class HoverDirective implements OnChanges {\r\n\r\n @Output() hovering: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngOnChanges(): void {\r\n\r\n }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.hovering.emit(true);\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.hovering.emit(false);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BackgroundModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoOverlay]',\r\n standalone: true,\r\n})\r\nexport class OverlayDirective implements OnChanges {\r\n @Input('simpoOverlay') backgroundData?: BackgroundModel;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private eventService :EventsService\r\n ) {\r\n this.eventService.colorOverlayChangeChecks.subscribe(\r\n (res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n if (res.data?.showImage) {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-color',\r\n this.getRGBA(res.data.color, res.data.opacity)\r\n );\r\n }\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.backgroundData?.showImage) {\r\n this.el.nativeElement.style.setProperty(\r\n 'background-color',\r\n this.getRGBA(this.backgroundData.color, this.backgroundData.opacity)\r\n );\r\n }\r\n }\r\n\r\n getRGBA(bgColor: string, opacity: number) {\r\n const r = parseInt(bgColor.slice(1, 3), 16);\r\n const g = parseInt(bgColor.slice(3, 5), 16);\r\n const b = parseInt(bgColor.slice(5, 7), 16);\r\n\r\n return `rgba(${r}, ${g}, ${b}, ${opacity / 100})`;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BANNERALIGNMENT } from '../styles';\r\nimport { PositionLayoutModal } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoPositionLayoutDirective]',\r\n standalone: true\r\n})\r\nexport class PositionLayoutDirectiveDirective {\r\n @Input('simpoPositionLayoutDirective') positionLayout?: PositionLayoutModal;\r\n\r\n constructor(private el: ElementRef,\r\n private eventService :EventsService) {\r\n this.positionLayoutChangeCheck();\r\n }\r\n\r\n ngOnChanges(){\r\n this.changePositionLayout();\r\n }\r\n\r\n ngOnDestroy(){\r\n if(this.positionLayoutSubscription){\r\n this.positionLayoutSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n changePositionLayout(){\r\n this.removeAllClassIfPresent();\r\n this.el.nativeElement.classList.add(BANNERALIGNMENT[this.positionLayout?.value as keyof typeof BANNERALIGNMENT]);\r\n }\r\n removeAllClassIfPresent(){\r\n this.el.nativeElement.classList.remove(BANNERALIGNMENT.left);\r\n this.el.nativeElement.classList.remove(BANNERALIGNMENT.right);\r\n this.el.nativeElement.classList.remove(BANNERALIGNMENT.top);\r\n this.el.nativeElement.classList.remove(BANNERALIGNMENT.bottom);\r\n }\r\n\r\n positionLayoutSubscription?: Subscription;\r\n positionLayoutChangeCheck(){\r\n this.positionLayoutSubscription = this.eventService.postionLayoutChangeChecks.subscribe((res:any) => {\r\n if(this.el.nativeElement.id === res.id){\r\n this.positionLayout = res.data;\r\n this.changePositionLayout();\r\n }\r\n })\r\n }\r\n}\r\n","\r\nexport default abstract class BaseSection{\r\n deleteSelected? = false;\r\n showEditors : boolean = false;\r\n\r\n showDelete : boolean = false;\r\n showEditTabs(isShow:boolean){\r\n\r\n if(this.deleteSelected){\r\n this.showDelete = isShow;\r\n }else{\r\n this.showEditors = isShow;\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { TextContentModel, TextSectionModel } from './text-section.model';\r\nimport { StylesModel } from '../../styles/style.model';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\n\r\n@Component({\r\n selector: 'simpo-text-section',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatGridListModule,\r\n SimpoElementsModule,\r\n SimpoComponentModule,\r\n MatDialogModule,\r\n SimpoButtonComponent,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective\r\n ],\r\n templateUrl: './text-section.component.html',\r\n styleUrl: './text-section.component.css',\r\n})\r\nexport class TextSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?: TextSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n content: TextContentModel | undefined;\r\n styles: StylesModel | undefined;\r\n constructor(\r\n private _dialog : MatDialog,\r\n private _eventService : EventsService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.deleteSelected = this.delete;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer class=\"rowFlex\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"main-section\" [ngClass]=\"{'justify-content-md-start': styles?.layout?.align === 'left' , 'justify-content-md-end': styles?.layout?.align === 'right'}\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"body-section\">\r\n <div [simpoAnimation]=\"styles?.animation\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <simpo-text-element [textData]=\"item.value\" [textLabel]=\"item.label\"></simpo-text-element>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-flex mt-15\" *ngIf=\"data?.action?.display\"\r\n [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\r\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\" [color]=\"styles?.background?.accentColor\" [sectionId]=\"data?.id\"></app-button-element>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { Directive, ElementRef, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BackgroundModel, LayOutModel } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoContainerAlignment]',\r\n standalone: true,\r\n})\r\nexport class SimpoContainerAligment implements OnInit, OnChanges {\r\n @Input('simpoContainerAlignment') layout?: LayOutModel;\r\n\r\n eventEmmitter: any;\r\n constructor(\r\n private el: ElementRef,\r\n private eventService: EventsService) { }\r\n\r\n ngOnInit(): void {\r\n this.setProperty();\r\n }\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n ngOnChanges(change: SimpleChanges): void {\r\n this.setProperty();\r\n }\r\n\r\n setProperty() {\r\n if (this.layout?.align == \"left\") {\r\n this.el.nativeElement.style.setProperty(\"margin-right\", \"auto\");\r\n this.el.nativeElement.style.setProperty(\"margin-left\", \"unset\");\r\n } else if (this.layout?.align == \"right\") {\r\n this.el.nativeElement.style.setProperty(\"margin-right\", \"unset\");\r\n this.el.nativeElement.style.setProperty(\"margin-left\", \"auto\");\r\n } else {\r\n\r\n this.el.nativeElement.style.setProperty(\"margin\", \"auto\");\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { TEXT_SIZE, fontSize } from '../styles/index';\r\nimport { EventsService } from '../services/events.service';\r\nimport { TextSize } from '../styles/style.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[simpoTextSize]',\r\n standalone: true\r\n})\r\nexport class TextSizeDirective {\r\n @Input() size?: TEXT_SIZE;\r\n @Input() type?: 'heading' | 'desc';\r\n constructor(private eventService: EventsService,\r\n private el: ElementRef\r\n ) { }\r\n\r\n ngOnChanges(){\r\n this.applyFontSize()\r\n }\r\n\r\n ngOnDestroy(){\r\n this.fontSizeSubscription?.unsubscribe()\r\n }\r\n\r\n applyFontSize() {\r\n\r\n if(this.type === 'heading') {\r\n this.removeHeadingClass();\r\n this.el.nativeElement.classList.add(this.size ? fontSize.heading[this.size] : fontSize.heading.Large);\r\n }\r\n if(this.type === 'desc') {\r\n this.removeDescClass();\r\n this.el.nativeElement.classList.add(this.size ? fontSize.desc[this.size] : fontSize.desc.Large);\r\n }\r\n\r\n\r\n }\r\n\r\n fontSizeSubscription?: Subscription\r\n changeFontSizeCheck(){\r\n this.fontSizeSubscription = this.eventService.textSizeChangeCheck.subscribe((res: any) => {\r\n if(res.id === this.el.nativeElement.id) {\r\n this.size = res.size;\r\n this.type = res.type;\r\n this.applyFontSize();\r\n }\r\n })\r\n }\r\n\r\n removeHeadingClass(){\r\n for(let values of Object.values(fontSize.heading)) {\r\n this.el.nativeElement.classList.remove(values);\r\n }\r\n }\r\n\r\n removeDescClass(){\r\n for(let values of Object.values(fontSize.desc)) {\r\n this.el.nativeElement.classList.remove(values);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { PositionLayoutModal } from '../styles/style.model';\r\n\r\n@Directive({\r\n selector: '[simpoBorderless]',\r\n standalone: true\r\n})\r\nexport class SimpoBorderlessDirective implements OnChanges{\r\n @Input('simpoBorderless') simpoBorderless?: PositionLayoutModal;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngOnChanges(){\r\n if (this.simpoBorderless?.value == \"left\") {\r\n this.el.nativeElement.style.setProperty('order', \"0\");\r\n } else if (this.simpoBorderless?.value == \"right\") {\r\n this.el.nativeElement.style.setProperty('order', \"1\");\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnChanges, SimpleChanges, input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[simpoHoverBorderDirective]',\r\n standalone: true\r\n})\r\nexport class SimpoHoverBorderDirective {\r\n\r\n @Input() simpoHoverBorderDirective?: any;\r\n \r\n @HostListener('mouseenter') onMouseEnter() {\r\n \r\n this.el.nativeElement.style.setProperty(\"outline\", \"2px solid blue\");\r\n this.el.nativeElement.style.setProperty(\"border-radius\", \"5px\");\r\n }\r\n @HostListener('mouseleave') onMouseLeave() {\r\n \r\n this.el.nativeElement.style.setProperty(\"outline\", \"2px solid transparent\");\r\n }\r\n\r\n constructor(\r\n private readonly el: ElementRef,\r\n ) {\r\n \r\n }\r\n\r\n}\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { BannerContentModel, BannerSectionModel } from './banner-section.model';\r\nimport { BannerStylesModel, LayOutModel, PositionLayoutModal } from '../../styles/style.model';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { ColorDirective } from './../../directive/color.directive';\r\nimport { TextSizeDirective } from '../../directive/text-size.directive';\r\nimport { SimpoBorderlessDirective } from '../../directive/borderlessImage.directive';\r\nimport { SimpoHoverBorderDirective } from \"../../directive/hoverborder.directive\";\r\n\r\n@Component({\r\n selector: 'simpo-banner-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n SimpoHoverBorderDirective,\r\n\r\n //directive\r\n SimpoBorderlessDirective,\r\n SimpoContainerAligment,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ColorDirective,\r\n TextSizeDirective\r\n ],\r\n templateUrl: './banner-section.component.html',\r\n styleUrl: './banner-section.component.css'\r\n})\r\nexport class BannerSectionComponent extends BaseSection implements OnInit {\r\n\r\n @Input() data?:BannerSectionModel;\r\n @Input() index? : number;\r\n content?: BannerContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: BannerStylesModel;\r\n\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n // this.styles.layout.bannerImageDisplay = this.content.image.showImage;\r\n }\r\n get stylesLayout() {\r\n return {...this.styles?.layout} as LayOutModel;\r\n }\r\n get getJustifyContent() {\r\n return \"justify-content: center !important;\";\r\n }\r\n get canMergeNavbar() {\r\n return this.styles?.merge;\r\n }\r\n get isBorderlessImage() {\r\n return this.styles?.borderLessImage && (this.styles?.positionLayout.value == \"left\" || this.styles?.positionLayout.value == \"right\");\r\n }\r\n get getPositionLayout() {\r\n return {...this.styles?.positionLayout} as PositionLayoutModal;\r\n }\r\n\r\n editSection(){\r\n \r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n stopPropagation(event: any) {\r\n \r\n event.stopPropagation();\r\n }\r\n\r\n}\r\n","<div [id]=\"data?.id\"\r\n [ngClass]=\"{'mergeNavbar': canMergeNavbar && index == 1, 'justify-content-between d-flex': isBorderlessImage}\"\r\n [simpoBackground]=\"styles?.background\" class=\"total-container\" style=\"overflow-x: hidden;\" (click)=\"editSection()\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <ng-container *ngTemplateOutlet=\"ImageSection\"></ng-container>\r\n <div class=\"px-4 py-5\" [ngClass]=\"{'col-lg-6 col-xxl-6': isBorderlessImage, 'w-100 col-xxl-8': !isBorderlessImage}\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5 justify-content-start\"[id]=\"data?.id\"\r\n [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right', 'flex-lg-row': true }\"\r\n >\r\n <div class=\"col-10 col-sm-8 col-lg-6\" *ngIf=\"content?.image?.showImage && !isBorderlessImage\" [simpoContainerAlignment]=\"stylesLayout\">\r\n <img\r\n [src]=\"content?.image?.url\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" [class]=\"data?.id+(content?.image?.id || '')\"\r\n class=\"d-block w-100 insideImg\" style=\"object-fit: cover;\" [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\"/>\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-start gap-15\"\r\n [ngClass]=\"{'col-lg-12': isBorderlessImage, 'col-lg-6': !isBorderlessImage}\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n <div *ngFor=\"let item of content?.listItem?.data\" class=\"carder\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\">\r\n <div class=\"second-part-card\">\r\n\r\n </div>\r\n <div class=\"first-part-card\"\r\n [ngClass]=\"item.inputText[0].label=== 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n <img class=\"tick-img\"\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/933997c1718790303127907598c1696063061900green_verified_image.png\"\r\n alt=\"something\" />\r\n\r\n {{ item.inputText[0].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\r\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div style=\" width: 100%; height: 500px;\">\r\n <img src=\"../../assets/divider.svg\" style=\"clip-path: polygon(0 55%, 100% 0, 100% 100%, 0% 100%); background-color: red;\">\r\n </div> -->\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isMerged]=\"styles?.merge ?? false\"></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>\r\n<ng-template #ImageSection>\r\n <div class=\"col-10 col-sm-8 col-lg-6\" [ngStyle]=\"{'width': styles?.positionLayout?.value === 'right' ? 'fit-content' : ''}\" style=\"padding: 0px !important;\"*ngIf=\"content?.image?.showImage && isBorderlessImage;\" [simpoBorderless]=\"getPositionLayout\">\r\n <img\r\n [src]=\"content?.image?.url\"\r\n class=\"d-block img-fluid h-100 w-100\" [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\"/>\r\n </div>\r\n</ng-template>\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { BorderModel, SpacingModel } from '../styles/style.model';\r\n\r\nexport enum SPACING {\r\n none = '1.5rem',\r\n small = '3rem',\r\n medium = '5rem',\r\n large = '6rem',\r\n}\r\n@Directive({\r\n selector: '[simpoContentTitleSpace]',\r\n standalone: true,\r\n})\r\nexport class ContentTitleDirective implements OnChanges {\r\n @Input('simpoContentTitleSpace') spacing?: SPACING;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private eventService : EventsService\r\n ) {\r\n }\r\n\r\n ngOnChanges(): void {\r\n \r\n this.applyStyle();\r\n }\r\n applyStyle() {\r\n this.el?.nativeElement?.style?.setProperty(\"margin-bottom\", this.getSpacing);\r\n }\r\n\r\n get getSpacing() {\r\n \r\n switch(this.spacing) {\r\n case 'small' as SPACING:\r\n return SPACING.small;\r\n case 'large' as SPACING:\r\n return SPACING.large;\r\n case 'medium' as SPACING:\r\n return SPACING.medium;\r\n default:\r\n return SPACING.none;\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { FAQContentModal, FAQSectionModal, FAQStylesModel } from './faq-section.modal';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { LayOutModel } from '../../styles/style.model';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\n@Component({\r\n selector: 'simpo-faq-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n MatIcon,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ContentTitleDirective,\r\n ObjectPositionDirective,\r\n SimpoContainerAligment\r\n ],\r\n templateUrl: './faq-section.component.html',\r\n styleUrl: './faq-section.component.css'\r\n})\r\nexport class FaqSectionComponent extends BaseSection {\r\n @Input() data?: FAQSectionModal;\r\n @Input() index? : number;\r\n @Input() edit ? : boolean;\r\n @Input() delete? : boolean;\r\n content?: FAQContentModal;\r\n style?: FAQStylesModel;\r\n\r\n unCollapsedList: number[] = [];\r\n\r\n constructor(private _eventService : EventsService){\r\n super();\r\n }\r\n ngOnInit(): void{\r\n this.content = this.data?.content;\r\n \r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n get stylesLayout() {\r\n return {...this.style?.layout} as LayOutModel;\r\n }\r\n toggleContent(idx: number) {\r\n \r\n if (this.unCollapsedList.includes(idx))\r\n this.unCollapsedList = this.unCollapsedList.filter((index: number)=> idx != index);\r\n else\r\n this.unCollapsedList.push(idx);\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" \r\n class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\"\r\n [simpoBorder]=\"style?.border\" [simpoAnimation]=\"style?.animation\">\r\n\r\n <div *ngIf=\"!content?.image?.showImage\">\r\n <div class=\"container-fluid flex-col\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\"\r\n [simpoLayout]=\"style?.layout\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"\" [simpoContentTitleSpace]=\"headingSpace\">\r\n <simpo-heading-element [data]=\"text.value\"></simpo-heading-element>\r\n </div>\r\n\r\n <div [simpoContainerAlignment]=\"stylesLayout\" *ngFor=\"let itemData of content?.listItem?.data;let i = index\" class=\"data\"(click)=\"toggleContent(i)\">\r\n <p class=\"heading-medium d-flex align-items-center justify-content-between position-relative\" data-toggle=\"collapse\">\r\n <span style=\"display: block;\">{{itemData.inputText[0].value}}</span>\r\n <mat-icon *ngIf=\"unCollapsedList.includes(i)\" style=\"position: absolute; right: 0px;\">keyboard_arrow_up</mat-icon>\r\n <mat-icon *ngIf=\"!unCollapsedList.includes(i)\" style=\"position: absolute; right: 0px;\">keyboard_arrow_down</mat-icon>\r\n </p>\r\n <div class=\"body-large desc multi-collapse\" [ngClass]=\"{'collapse': unCollapsedList.includes(i)}\" [innerHTML]=\"itemData.inputText[1].value\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"content?.image?.showImage\" class=\"row g-5\" [id]=\"data?.id\"\r\n [simpoLayout]=\"style?.layout\" [simpoPositionLayoutDirective]=\"style?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': style?.positionLayout?.value === 'left' || style?.positionLayout?.value === 'right' }\">\r\n\r\n\r\n <div class=\"col-lg-6 d-flex flex-column justify-content-start gap-15\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\" [simpoContentAlignment]=\"style?.contentAlignment\">\r\n\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"\" [simpoContentTitleSpace]=\"headingSpace\">\r\n <simpo-heading-element [data]=\"text.value\"></simpo-heading-element>\r\n </div>\r\n\r\n <div [simpoContainerAlignment]=\"stylesLayout\" *ngFor=\"let itemData of content?.listItem?.data;let i = index\" class=\"data\" (click)=\"toggleContent(i)\">\r\n <p class=\"heading-medium d-flex align-items-center justify-content-between position-relative\" data-toggle=\"collapse\">\r\n <span>{{itemData.inputText[0].value}}</span>\r\n <mat-icon *ngIf=\"unCollapsedList.includes(i)\"style=\"position: absolute; right: 0px;\">keyboard_arrow_up</mat-icon>\r\n <mat-icon *ngIf=\"!unCollapsedList.includes(i)\"style=\"position: absolute; right: 0px;\">keyboard_arrow_down</mat-icon>\r\n </p>\r\n <div class=\"body-large desc multi-collapse\" [ngClass]=\"{'collapse': unCollapsedList.includes(i)}\" [innerHTML]=\"itemData.inputText[1].value\"></div>\r\n </div>\r\n </div>\r\n <div class=\"col-10 col-sm-8 col-lg-6\" [simpoContainerAlignment]=\"stylesLayout\" *ngIf=\"content?.image?.showImage\">\r\n <img [src]=\"content?.image?.url\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"style?.corners\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block mx-lg-auto img-fluid h-100\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FooterContentModel, FooterSectionModel, FooterStylesModel } from './footer-section.modal';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { SimpoButtonComponent } from './../../elements/simpo-button/simpo-button.component';\r\nimport { SociaIconsComponent } from './../../elements/socia-icons/socia-icons.component';\r\nimport { FooterTypes } from '../../styles/index';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport BaseSection from '../BaseSection';\r\n\r\n\r\n@Component({\r\n selector: 'simpo-footer-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n SimpoButtonComponent,\r\n SociaIconsComponent,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective\r\n ],\r\n templateUrl: './footer-section.component.html',\r\n styleUrl: './footer-section.component.css'\r\n})\r\nexport class FooterSectionComponent extends BaseSection implements OnInit{\r\n\r\n @Input() data?:FooterSectionModel;\r\n @Input() index? : number;\r\n @Input() edit ?: boolean = true;\r\n @Input() delete? = false;\r\n content ?: FooterContentModel;\r\n style? : FooterStylesModel;\r\n color : any = '#ffffff';\r\n footerTypes = FooterTypes\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.style = this.data?.styles;\r\n this.content = this.data?.content;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n\r\n\r\n// Same as header\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\" (click)=\"editSection()\">\r\n <footer *ngIf=\"style?.footerType === footerTypes.SPLIT_DETAILS_RIGHT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-row flex-column justify-content-between align-items-start align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-grow\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc additional-details\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-5\">\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-4 mt-0\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display mt-lg-4 mt-0\"\r\n [ngStyle]=\"{'margin-left': content?.socialLinks?.display ? '20px' : ''}\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.SPLIT_DETAILS_LEFT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-row flex-column justify-content-between align-items-start align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-grow\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3 mt-4 mt-lg-0\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-4 mt-0\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display mt-lg-4 mt-4\"\r\n [ngStyle]=\"{'margin-left': content?.socialLinks?.display ? '20px' : ''}\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-2\">\r\n <div class=\"body-desc mt-lg-5 mt-5\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.STACKED_DETAILS_RIGHT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-colum flex-column justify-content-between align-items-end align-items-lg-end\">\r\n <div class=\"d-flex flex-column flex-grow align-items-end\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-5 mt-5 text-end\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-lg-3 mt-4\">\r\n <div class=\"d-flex align-items-start align-items-lg-end flex-column flex-lg-colum gap-lg-0 gap-3\r\n align-items-end\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-5 mt-2\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\"\r\n class=\"button-display mt-lg-5 mt-0 d-flex align-items-end\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small text-end\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.STACKED_DETAILS_LEFT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-colum flex-column justify-content-between align-items-start align-items-lg-start\">\r\n <div class=\"d-flex flex-column flex-grow align-items-start\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-5 mt-5 text-start\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-lg-3 mt-4 align-items-start\">\r\n <div class=\"d-flex align-items-start align-items-lg-start flex-column flex-lg-colum gap-lg-0 gap-3 align-items-start justify-content-between\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-5 mt-2\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\"\r\n class=\"button-display mt-lg-5 mt-0 d-flex align-items-end\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small text-end\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.STACKED_DETAILS_CENTER\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-colum flex-column justify-content-between align-items-center align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-grow align-items-center\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-5 mt-5 text-start\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-grow mt-lg-0 mt-lg-3 mt-4 align-items-center\">\r\n <div class=\"d-flex align-items-center align-items-lg-center flex-column flex-lg-colum gap-lg-0 gap-3 align-items-start justify-content-between\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-5 mt-2\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\"\r\n class=\"button-display mt-lg-5 mt-0 d-flex align-items-end\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small text-end\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.SIMPLE_DETAILS_RIGHT\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-row flex-column justify-content-between align-items-center align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-lg-row flex-grow align-items-center gap-lg-3 col-lg-6\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-0 mt-5 col-lg-6\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-lg-row align-items-center gap-lg-3 flex-grow mt-lg-0 mt-5 col-lg-6 justify-content-lg-end\">\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-0 mt-4\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display mt-lg-0 mt-4\"\r\n [ngStyle]=\"{'margin': content?.socialLinks?.display ? '10px' : ''}\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4 mt-lg-0\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <footer *ngIf=\"style?.footerType === footerTypes.SIMPLE_DETAILS_CENTER\"\r\n #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div style=\"padding-left: 1.5rem;padding-right:1.5rem\" [simpoFooterLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoColor]=\"style?.background?.color\"\r\n class=\"d-flex flex-lg-column flex-column justify-content-between align-items-center align-items-lg-center\">\r\n <div class=\"d-flex flex-column flex-lg-row flex-grow align-items-center gap-lg-3\">\r\n <div class=\"heading-medium\">\r\n <ng-container *ngIf=\"content?.siteNameAndLogo != 'custom'\">\r\n <span>\r\n <span></span>\r\n <b>{{content?.siteName?.value}}</b>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"content?.siteNameAndLogo === 'custom'\">\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source === 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b\r\n [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.source != 'BRANDING'\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"body-desc mt-lg-0 mt-5\" *ngIf=\"content?.additionalDetails?.value != ''\">\r\n {{content?.additionalDetails?.value}}\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column flex-lg-row align-items-center gap-lg-3 flex-grow mt-lg-5 mt-5 justify-content-lg-end\">\r\n <div class=\"d-flex align-items-center align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-lg-0 mt-4\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;top: 4px;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"style?.background?.color\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display mt-lg-0 mt-4\"\r\n [ngStyle]=\"{'margin': content?.socialLinks?.display ? '10px' : ''}\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"made-with mt-4 mt-lg-0\" *ngIf=\"content?.displayBranding\">\r\n <div class=\"heading-small\">Made with <a class=\"heading-small\" href=\"https://simpo.ai\" target=\"_blank\"\r\n style=\"text-decoration: underline;\">Simpo</a></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [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","import { Component, HostListener, Input, OnInit } from '@angular/core';\r\nimport {\r\n ImageCarouselSection,\r\n ImageCarouselSectionContentModel,\r\n ImageCarouselSectionStylesModel,\r\n} from './image-carousel.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { SimpoComponentModule } from './../../components/index';\r\nimport BaseSection from '../BaseSection';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n@Component({\r\n selector: 'simpo-image-carousel-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n SimpoComponentModule,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './image-carousel-section.component.html',\r\n styleUrl: './image-carousel-section.component.css',\r\n})\r\nexport class ImageCarouselSectionComponent extends BaseSection implements OnInit{\r\n @Input() data?: ImageCarouselSection;\r\n @Input() index? : number;\r\n content?: ImageCarouselSectionContentModel;\r\n style?: ImageCarouselSectionStylesModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n // content: any;\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ) {\r\n super();\r\n this.getScreenSize();\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n\r\n screenWidth: number = 475;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?: number) {\r\n if (typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n\r\n getPrevImage(index: number) {\r\n const prevIndex = (index - 1 + (this.content?.listItem?.data.length || 0)) % (this.content?.listItem.data.length || 0);\r\n return this.content?.listItem.data[prevIndex].image;\r\n }\r\n\r\n getNextImage(index: number) {\r\n const nextIndex = (index + 1) % (this.content?.listItem.data.length || 0);\r\n return this.content?.listItem.data[nextIndex].image;\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section class=\"container-fluid\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\nclass=\"total-container\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row mlr-0\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\" >\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div id=\"carouselExampleCaptions\" class=\"carousel slide mb-1\" >\r\n <ol class=\"carousel-indicators\">\r\n <li *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\"\r\n data-bs-target=\"#carouselExampleCaptions\" [attr.data-bs-slide-to]=\"i\"></li>\r\n </ol>\r\n <div class=\"carousel-inner\">\r\n <div class=\"carousel-item\" *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\">\r\n <div class=\"row\">\r\n <div class=\"col d-flex\" *ngIf=\"screenWidth >= 475\">\r\n <!-- <img class=\"d-block position-relative\" style=\"width: 20%; left: -20px\" [src]=\"img.image.url\" [alt]=\"img.image.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"img?.image?.position\"> -->\r\n <img [simpoImageDirective]=\"style?.image\" class=\"d-block position-relative\" style=\"width: 20%; left: -20px\" [src]=\"getPrevImage(i)?.url\" [alt]=\"getPrevImage(i)?.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"getPrevImage(i)?.position\"\r\n loading=\"lazy\">\r\n <img [simpoImageDirective]=\"style?.image\" class=\"d-block image-height-80vh\" [class]=\"data?.id+img.image.id\" style=\"width: 60%;\" [src]=\"img.image.url\" [alt]=\"img.image.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"img?.image?.position\"\r\n loading=\"lazy\">\r\n <!-- <img class=\"d-block position-relative\" style=\"width: 20%; right: -20px;\" [src]=\"img.image.url\" [alt]=\"img.image.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"img?.image?.position\"> -->\r\n <img [simpoImageDirective]=\"style?.image\" class=\"d-block position-relative\" style=\"width: 20%; right: -20px;\" [src]=\"getNextImage(i)?.url\" [alt]=\"getNextImage(i)?.altText\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [simpoObjectPosition]=\"getNextImage(i)?.position\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"col d-flex\" *ngIf=\"screenWidth < 475\">\r\n <img class=\"d-block w-100 image-height-40vh\" [class]=\"data?.id+img.image.id\" [src]=\"img.image.url\" [alt]=\"img.image.altText\" [id]=\"data?.id\" [simpoObjectPosition]=\"img?.image?.position\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <a class=\"carousel-control-prev\" data-bs-target=\"#carouselExampleCaptions\" role=\"button\" data-bs-slide=\"prev\">\r\n <span class=\"carousel-control-prev-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Previous</span>\r\n </a>\r\n <a class=\"carousel-control-next\" data-bs-target=\"#carouselExampleCaptions\" role=\"button\" data-bs-slide=\"next\">\r\n <span class=\"carousel-control-next-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Next</span>\r\n </a>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\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","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { ImageGridContentModal, ImageGridSectionModel, ImageGridStylesModel } from './image-grid-section.model';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n@Component({\r\n selector: 'simpo-image-grid-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n ImageDirectiveDirective,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './image-grid-section.component.html',\r\n styleUrl: './image-grid-section.component.css'\r\n})\r\nexport class ImageGridSectionComponent extends BaseSection {\r\n @Input() data?:ImageGridSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? :boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n content?: ImageGridContentModal;\r\n style?: ImageGridStylesModel;\r\n\r\n constructor(private _eventService : EventsService){\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n get headingSpace() {\r\n return this.style?.layout?.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\"\r\n [ngStyle]=\"style?.removeGaps && style?.fullWidth ? {'padding': '0px'} : style?.removeGaps ? {'padding': '0px 15px'} : style?.fullWidth ? {'padding': '0px'} : {}\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n\r\n <div class=\"main-image-section\" [simpoColumnDirective]=\"style?.size\" [id]=\"data?.id\"\r\n *ngFor=\"let img of content?.listItem?.data\"\r\n [ngStyle]=\"style?.removeGaps ? {'padding': '0px', 'margin': '0px'} : {}\">\r\n <div class=\"image-section\">\r\n <img [simpoImageDirective]=\"style?.image\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\" [class]=\"data?.id+img.image.id\" [simpoObjectPosition]=\"img.image.position\"\r\n [src]=\"img.image.url\" [alt]=\"img.image.altText\" loading=\"lazy\"/>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport {\r\n ImageContentModal,\r\n imageSectionModel,\r\n imageSectionStylesModel,\r\n} from './image-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { SimpoComponentModule } from '../../components/index';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\n\r\n@Component({\r\n selector: 'simpo-image-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective\r\n ],\r\n templateUrl: './image-section.component.html',\r\n styleUrl: './image-section.component.css',\r\n})\r\nexport class ImageSectionComponent extends BaseSection {\r\n @Input() data?: imageSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n content?: ImageContentModal;\r\n style?: imageSectionStylesModel;\r\n\r\n constructor(private _eventService : EventsService){\r\n super();\r\n }\r\n ngOnInit(): void {\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected= this.delete;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"main-section\" [ngClass]=\"{'px-0 py-0': style?.fullWidth === true}\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\"\r\n [simpoLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <!-- <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large mb-1\" [innerHTML]=\"text.value\"></div>\r\n </div> -->\r\n\r\n <div class=\"image-section\">\r\n <img [ngClass]=\"{'h-80': style?.layout?.fit === 'content', 'image': style?.layout?.fit === 'screen'}\" [class]=\"data?.id+(content?.image?.id || '')\"\r\n [src]=\"content?.image?.url\" [alt]=\"content?.image?.altText\" [simpoCorner]=\"style?.corners\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [id]=\"data?.id\"\r\n loading=\"lazy\"/>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { CommonModule } from '@angular/common';\r\nimport { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { ServiceContentModal, ServiceSectionModal, ServiceStylesModel } from './service-section.model';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { TextPosition } from '../../styles/index';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { ButtonModel } from '../../styles/style.model';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n@Component({\r\n selector: 'simpo-service-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n ContentTitleDirective,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective\r\n ],\r\n templateUrl: './service-section.component.html',\r\n styleUrl: './service-section.component.css'\r\n})\r\nexport class ServiceSectionComponent extends BaseSection{\r\n @Input() data?:ServiceSectionModal;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n TextPosition = TextPosition;\r\n content?: ServiceContentModal;\r\n style?: ServiceStylesModel;\r\n button?: ButtonModel\r\n\r\n constructor(private _eventService : EventsService) {\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.button = this.data?.action.buttons[0]\r\n this.deleteSelected = this.delete\r\n }\r\n\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div class=\"cards\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\r\n *ngFor=\"let service of content?.listItem?.data\">\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.BELOW_IMAGE\">\r\n <simpo-below-image-card [data]=\"service\" [styles]=\"style\" [content]=\"content\" [button]=\"button\"\r\n [componentId]=\"data?.id\"></simpo-below-image-card>\r\n </ng-container>\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.TOP_OF_IMAGE\">\r\n <simpo-top-of-image-card [data]=\"service\" [styles]=\"style\" [content]=\"content\" [button]=\"button\"\r\n [componentId]=\"data?.id\"></simpo-top-of-image-card>\r\n </ng-container>\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.COVERING_IMAGE\">\r\n <simpo-covering-image-card [data]=\"service\" [styles]=\"style\" [content]=\"content\" [button]=\"button\"\r\n [componentId]=\"data?.id\"></simpo-covering-image-card>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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","import { Component, Input } from '@angular/core';\r\nimport { TeamMemberContentModal, TeamMemberSectionModal, TeamMemberStylesModel } from './team-member-section.model';\r\nimport { TextPosition } from '../../styles/index';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { ButtonModel } from '../../styles/style.model';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n@Component({\r\n selector: 'simpo-team-member-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './team-member-section.component.html',\r\n styleUrl: './team-member-section.component.css'\r\n})\r\nexport class TeamMemberSectionComponent extends BaseSection {\r\n @Input() data?:TeamMemberSectionModal;\r\n @Input() index? : number;\r\n @Input() edit?: boolean;\r\n @Input() delete? : boolean;\r\n TextPosition = TextPosition;\r\n content?: TeamMemberContentModal;\r\n style?: TeamMemberStylesModel;\r\n button?: ButtonModel\r\n\r\n constructor(private _eventService : EventsService) {\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.button = this.data?.action.buttons[0]\r\n this.deleteSelected = this.delete\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div class=\"cards\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\r\n *ngFor=\"let service of content?.listItem?.data\">\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.BELOW_IMAGE\">\r\n <simpo-below-image-card style=\"height: 100%; display: block;\" [data]=\"service\" [styles]=\"style\"\r\n [content]=\"content\" [button]=\"button\" [componentId]=\"data?.id\"></simpo-below-image-card>\r\n </ng-container>\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.TOP_OF_IMAGE\">\r\n <simpo-top-of-image-card style=\"height: 100%; display: block;\" [data]=\"service\" [styles]=\"style\"\r\n [content]=\"content\" [button]=\"button\" [componentId]=\"data?.id\"></simpo-top-of-image-card>\r\n </ng-container>\r\n <ng-container *ngIf=\"style?.textPosition === TextPosition.COVERING_IMAGE\">\r\n <simpo-covering-image-card style=\"height: 100%; display: block;\" [data]=\"service\" [styles]=\"style\"\r\n [content]=\"content\" [button]=\"button\" [componentId]=\"data?.id\"></simpo-covering-image-card>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\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","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport {\r\n testimonialContentModel,\r\n testimonialSectionModel,\r\n testimonialStylesModel,\r\n} from './testimonial-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\nimport { LayOutModel } from '../../styles/style.model';\r\n@Component({\r\n selector: 'simpo-testimonial-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './testimonial-section.component.html',\r\n styleUrl: './testimonial-section.component.css',\r\n})\r\nexport class TestimonialSectionComponent extends BaseSection {\r\n @Input() data?: testimonialSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n content?: testimonialContentModel;\r\n style?: testimonialStylesModel;\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n ngOnInit(): void {\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n get headingSpace(): SPACING {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n get getLayout(): LayOutModel {\r\n return {...this.style?.layout} as LayOutModel;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\"\r\n [ngClass]=\"text.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div id=\"testimonialFullWidthCarousel\" class=\"carousel slide mb-1\" data-ride=\"carousel\" data-interval=\"10000\">\r\n <ol class=\"carousel-indicators\">\r\n <li *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\"\r\n data-bs-target=\"#testimonialFullWidthCarousel\" [attr.data-bs-slide-to]=\"i\"></li>\r\n </ol>\r\n <div class=\"carousel-inner\">\r\n <div class=\"carousel-item\" *ngFor=\"let testimonial of content?.listItem?.data; let i = index\"\r\n [class.active]=\"i === 0\">\r\n <div style=\"width: 90%; margin: auto;\">\r\n <div class=\"carousel-caption d-flex flex-column h-100 bottom-0\" style=\"width: 90%;\" [id]=\"data?.id\"\r\n [simpoColor]=\"style?.background?.color\" [simpoContainerLayout]=\"style?.layout\">\r\n <img [src]=\"testimonial.image.url\" class=\"mb-1\" loading=\"lazy\" [simpoContainerLayout]=\"getLayout\">\r\n <p class=\"heading-medium\">{{ testimonial.inputText[0].value }}</p>\r\n <span href=\"#\" class=\"py-2 px-4 mb-1\">- {{ testimonial.inputText[1].value }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <a class=\"carousel-control-prev\" data-bs-target=\"#testimonialFullWidthCarousel\" role=\"button\" data-bs-slide=\"prev\">\r\n <span class=\"carousel-control-prev-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Previous</span>\r\n </a>\r\n <a class=\"carousel-control-next\" data-bs-target=\"#testimonialFullWidthCarousel\" role=\"button\" data-bs-slide=\"next\">\r\n <span class=\"carousel-control-next-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Next</span>\r\n </a>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BannerStylesModel } from '../../styles/style.model';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { TextImageContentModel, TextImageSectionModel } from './text-image-section.model';\r\nimport { EventsService } from '../../services/events.service';\r\n\r\n\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\n;\r\n@Component({\r\n selector: 'simpo-text-image-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective\r\n ],\r\n templateUrl: './text-image-section.component.html',\r\n styleUrl: './text-image-section.component.css'\r\n})\r\nexport class TextImageSectionComponent extends BaseSection implements OnInit{\r\n\r\n @Input() data?: TextImageSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n content?: TextImageContentModel;\r\n styles?: BannerStylesModel;\r\n\r\n constructor(private _eventService : EventsService){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\" >\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [simpoAnimation]=\"styles?.animation\" [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right' }\"\r\n >\r\n <div class=\"col-10 col-sm-8 col-lg-6\">\r\n <img\r\n [src]=\"content?.image?.url\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [simpoCorner]=\"styles?.corners\" [class]=\"data?.id+(content?.image?.id || '')\"\r\n class=\"d-block mx-lg-auto img-fluid h-100\" [alt]=\"content?.image?.altText\" width=\"700\" height=\"100\" loading=\"lazy\"\r\n loading=\"lazy\"/>\r\n </div>\r\n <div class=\"col-lg-6 d-flex flex-column\" [simpoContentAlignment]=\"styles?.contentAlignment\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\" [buttonId]=\"button.id\" [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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>\r\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { videoSectionContentModel, videoSectionModel, videoSectionStyleModel } from './video-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { SimpoComponentModule } from '../../components/index';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n@Component({\r\n selector: 'simpo-video-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ColumnDirectiveDirective,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n ContentTitleDirective,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective\r\n ],\r\n templateUrl: './video-section.component.html',\r\n styleUrl: './video-section.component.css'\r\n})\r\nexport class VideoSectionComponent extends BaseSection {\r\n\r\n constructor(\r\n public dom : DomSanitizer,\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n @Input() data?:videoSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : false\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n videoLink:string = ''\r\n content?: videoSectionContentModel;\r\n style?: videoSectionStyleModel;\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n if(this.content?.videoLink.url){\r\n this.videoLink = this.content?.videoLink?.url\r\n }\r\n const videoId = this.youTubeIdFromLink(this.videoLink);\r\n this.videoLink = \"https://www.youtube.com/embed/\" + videoId;\r\n this.deleteSelected = this.delete;\r\n }\r\n youTubeIdFromLink(url: string): string | undefined {\r\n return url.match(/(?:https?:\\/\\/)?(?:www\\.|m\\.)?youtu(?:be)?\\.(?:com|be)(?:\\/watch\\/?\\?v=|\\/embed\\/|\\/)([^\\s&\\?\\/\\#]+)/)?.[1];\r\n }\r\n\r\n get getVideoLink(){\r\n let videoId = this.youTubeIdFromLink(this.content?.videoLink?.url || '') || '';\r\n return \"https://www.youtube.com/embed/\" + videoId\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid main-section\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\"\r\n [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"heading-large\" [innerHTML]=\"text.value\" [simpoContentTitleSpace]=\"headingSpace\">\r\n </div>\r\n\r\n\r\n <div class=\"video-section\" [ngStyle]=\"style?.fullScreen ? {'padding': '0px', 'margin': '0px'} : {}\">\r\n <iframe class=\"video\"\r\n [ngClass]=\"{'h-80': style?.layout?.fit === 'content', 'video': style?.layout?.fit === 'screen'}\"\r\n [src]=\"dom.bypassSecurityTrustResourceUrl(getVideoLink)\" frameborder=\"0\" allowfullscreen></iframe>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { HeaderButtonModel, HeaderButtonStyleModel, NavbarButton } from './../../styles/style.model';\r\nimport { HeaderButtonStyle } from './../../styles/index';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\n\r\n@Component({\r\n selector: 'simpo-navbar-button-element',\r\n standalone: true,\r\n imports: [CommonModule, MatButtonModule, ColorDirective],\r\n templateUrl: './navbar-button-element.component.html',\r\n styleUrl: './navbar-button-element.component.css'\r\n})\r\nexport class NavbarButtonElementComponent implements OnInit{\r\n @Input() buttonData?: NavbarButton;\r\n @Input() buttonStyle?: HeaderButtonStyleModel\r\n @Input() selectedStyle?: HeaderButtonStyle\r\n @Input() bgColor?: string;\r\n @Input() sectionId?: string;\r\n\r\n\r\n HeaderButtonStyle = HeaderButtonStyle\r\n constructor(private _eventService: EventsService){}\r\n\r\n ngOnInit(): void {\r\n // console.log(this.buttonData)\r\n }\r\n\r\n changePage(pageData?: any){\r\n this._eventService.pageRedirectionButton.emit({data: pageData ? pageData : this.buttonData})\r\n }\r\n}\r\n","<div *ngIf=\"buttonData?.status\">\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.TAB\">\r\n <div *ngIf=\"!buttonData?.folder\">\r\n <button mat-stroked-button style=\"border: none; white-space: nowrap;\" [id]=\"sectionId\" [simpoColor]=\"bgColor\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" class=\"navbar-button\">{{buttonData?.label}}</button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" (click)=\"changePage()\" [id]=\"sectionId\"></div>\r\n </div>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"navbar-button dropdown-toggle\" [simpoColor]=\"bgColor\" style=\"border: none; white-space: nowrap;\"\r\n [ngStyle]=\"{color:buttonStyle?.color}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div [ngStyle]=\"{'border-bottom':'1px solid'+buttonStyle?.color}\" [id]=\"sectionId\"></div>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.ROUND_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 8px;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_SUBTLE\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;padding: 20px 5px;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;padding: 20px 5px;border-radius: 0px !important;width: max-content!important;\"\r\n [ngStyle]=\"{color:buttonStyle?.color,'background-color':buttonStyle?.subtleColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedStyle === HeaderButtonStyle.SQUARE_BOLD\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button\" *ngIf=\"!buttonData?.folder\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" (click)=\"changePage()\"\r\n [id]=\"sectionId\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button mat-stroked-button class=\"primary btn-lg px-4 me-md-2 navbar-button dropdown-toggle\"\r\n style=\"border: none;padding: 20px 5px;width: max-content!important; border-radius: 0px !important;\"\r\n [ngStyle]=\"{color:buttonStyle?.boldColor,'background-color':buttonStyle?.backgroundColor}\" type=\"button\"\r\n id=\"headerDropdownButton\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <button mat-stroked-button color=\"primary btn-lg px-4 me-md-2\">{{buttonData?.content?.label}}</button> -->\r\n\r\n</div>\r\n<div *ngIf=\"!buttonData?.status\">\r\n <button mat-stroked-button style=\"border: none;width: max-content!important;\" *ngIf=\"!buttonData?.folder\"\r\n (click)=\"changePage()\" [id]=\"sectionId\" [simpoColor]=\"bgColor\"\r\n class=\"status-navbar-button\">{{buttonData?.label}}</button>\r\n <div class=\"dropdown\" *ngIf=\"buttonData?.folder && (buttonData?.folder?.pages?.length || 0) > 0\">\r\n <button class=\"status-navbar-button not-selected-dropdown dropdown-toggle\"\r\n style=\"border: none;width: max-content!important;\" [simpoColor]=\"bgColor\" type=\"button\" id=\"headerDropdownButton\"\r\n data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n {{buttonData?.label}}\r\n </button>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"headerDropdownButton\">\r\n <a class=\"dropdown-item\" *ngFor=\"let page of buttonData?.folder?.pages\" (click)=\"changePage(page)\">{{page.label}}</a>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[simpoSticky]',\r\n standalone: true\r\n})\r\nexport class SimpoStickyDirective {\r\n @Input('simpoSticky') simpoSticky?: boolean;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngOnChanges(){\r\n if (this.simpoSticky) {\r\n this.el.nativeElement.style.setProperty(\"position\", \"fixed\");\r\n // this.el.nativeElement.style.setProperty(\"top\", \"0px\");\r\n this.el.nativeElement.style.setProperty(\"z-index\", \"1002\")\r\n } else {\r\n this.el.nativeElement.style.setProperty(\"position\", \"relative\");\r\n // this.el.nativeElement.style.setProperty(\"top\", \"0px\");\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable, OnDestroy } from \"@angular/core\";\r\nimport { map, Observable, Subscriber, Subscription } from \"rxjs\";\r\nimport { Category, EventsService, Product, Collection } from \"../../public-api\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RestService implements OnDestroy {\r\n\r\n private BASE_URL: string = \"https://dev-api.simpo.ai/\";\r\n private environmentTypeSubscriber: Subscription | null = null;\r\n\r\n constructor(\r\n private readonly http: HttpClient,\r\n private readonly eventService: EventsService\r\n ) { \r\n this.environmentTypeSubscriber = this.eventService.environmentType.subscribe((response)=> {\r\n if (response == \"DEV\")\r\n this.BASE_URL = \"https://dev-api.simpo.ai/\";\r\n else if (response == \"STAGE\")\r\n this.BASE_URL = \"https://state-api.simpo.ai/\";\r\n else\r\n this.BASE_URL = \"https://api.simpo.ai/\";\r\n })\r\n }\r\n ngOnDestroy(): void {\r\n if (this.environmentTypeSubscriber)\r\n this.environmentTypeSubscriber?.unsubscribe();\r\n }\r\n\r\n getFeaturedProduct(collectionId: string | undefined | null) {\r\n let subIndustryId: string | null = localStorage.getItem(\"subindustryId\");\r\n if (!subIndustryId)\r\n subIndustryId = \"1eecee8d-efba-62f8-b7b5-b9742fceb17f\";\r\n\r\n return this.http.get(this.BASE_URL + `ecommerce/product/collection/id?collectionId=${collectionId || ''}&subIndustryId=${subIndustryId || ''}`).pipe(map((response: any)=> response.data?.map((product: any)=> new Product(product))));\r\n }\r\n getProductDetails(productId: string | null = null) {\r\n const payload: any = {\r\n pageNo: 0,\r\n pageSize: 1,\r\n itemId: productId\r\n }\r\n return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload).pipe(map((response: any)=> response.data.data.map((product: any)=> new Product(product))));\r\n }\r\n\r\n getAllCategories() {\r\n\r\n const payload: any = {\r\n pageNo: 0,\r\n pageSize: 10,\r\n businessId: localStorage.getItem(\"bId\")\r\n }\r\n return this.http.put(this.BASE_URL + 'ecommerce/inventory/get/category', payload).pipe(map((response: any)=> response.data.data?.map((category: any)=> new Category(category))));\r\n }\r\n getAllCollections() {\r\n const payload: any = {\r\n pageNo: 0,\r\n pageSize: 10,\r\n businessId: localStorage.getItem(\"bId\")\r\n }\r\n return this.http.put(this.BASE_URL + 'ecommerce/inventory/get/collection', payload).pipe(map((response: any)=> response.data.data?.map((collection: any)=> new Collection(collection))));\r\n }\r\n\r\n getFilteredProduct(collectionIds: string[], categoryIds: string[], searchText: string, minPrice: number, maxPrice: number, sortBy: string, pageNo: number, size: number) {\r\n const payload: any = {\r\n \"businessId\": localStorage.getItem(\"bId\"),\r\n \"collectionId\": collectionIds,\r\n \"categoryId\": categoryIds,\r\n \"searchText\": searchText,\r\n \"minPrice\": minPrice ?? 0,\r\n \"maxPrice\": maxPrice ?? 0,\r\n \"sortBy\": sortBy,\r\n \"pageNo\": pageNo,\r\n \"pageSize\": size\r\n }\r\n return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload);\r\n }\r\n getProductByCategoryId(categoryId: string) {\r\n const payload: any = {\r\n \"businessId\": localStorage.getItem(\"bId\"),\r\n \"categoryId\": [categoryId],\r\n \"pageNo\": 0,\r\n \"pageSize\": 10\r\n }\r\n return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload);\r\n }\r\n\r\n generateOTP(mobile: string, countryCode: string) {\r\n const businessId: string = localStorage.getItem(\"bId\") ?? \"\";\r\n return this.http.post(this.BASE_URL + `ecommerce/user/otp/trigger?mobile=${mobile}&countryCode=${countryCode}&businessId=${businessId}`, null);\r\n }\r\n verifyOTP(mobile: string, otp: string) {\r\n const businessId: string = localStorage.getItem(\"bId\") ?? \"\";\r\n return this.http.put(this.BASE_URL + `ecommerce/user/authenticate?mobile=${mobile}&otp=${otp}&businessId=${businessId}`, null);\r\n }\r\n resendOTP(mobile: string, countryCode: string) {\r\n const businessId: string = localStorage.getItem(\"bId\") ?? \"\";\r\n return this.http.post(this.BASE_URL + `ecommerce/user/resend?mobile=${mobile}&countryCode=${countryCode}&businessId=${businessId}`, null); \r\n }\r\n\r\n addItemToDB(userCart: any) {\r\n return this.http.post(this.BASE_URL + `ecommerce/order/cart`, userCart);\r\n }\r\n getUserItems(userId: string, cartType: 'CART' | 'WISHLIST'): any {\r\n return this.http.get(this.BASE_URL + `ecommerce/order/cart?userId=${userId}&cartType=${cartType}`);\r\n }\r\n placeOrder(cartId: string) {\r\n return this.http.post(this.BASE_URL + `ecommerce/order/order?cartId=${cartId}`, null);\r\n }\r\n getUserInfo(userId: string) {\r\n return this.http.put(this.BASE_URL + `ecommerce/user/get/user?userId=${userId}`, null);\r\n }\r\n addUserAddress(user: any) {\r\n return this.http.put(this.BASE_URL + `ecommerce/user/update/user`, user);\r\n }\r\n updateProfile(payload: any) {\r\n return this.http.put(this.BASE_URL + `ecommerce/user/update/user`, payload);\r\n }\r\n toggleItemCartToFav() {\r\n\r\n }\r\n\r\n // Payment\r\n createPaymentToken(payload: any) {\r\n return this.http.post(this.BASE_URL + `ecommerce/payment/order`, payload);\r\n }\r\n refundPayment(orderId: string, payload: any) {\r\n return this.http.post(this.BASE_URL + `ecommerce/payment/refund/bank?orderId=${orderId}`, payload);\r\n }\r\n checkPaymentStatus(payload: any) {\r\n return this.http.post(this.BASE_URL + `ecommerce/payment/status`, payload);\r\n }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatDialogModule, MatDialogRef } from '@angular/material/dialog';\r\nimport { RestService } from \"../../../services/rest.service\";\r\nimport UserInfo from \"../../json/user-details.json\";\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'simpo-user-basic-info',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n FormsModule\r\n ],\r\n templateUrl: './user-basic-info.component.html',\r\n styleUrl: './user-basic-info.component.css'\r\n})\r\nexport class UserBasicInfoComponent implements OnInit {\r\n\r\n public gender: 'MALE' | 'FEMALE' | null = null;\r\n public firstName: string = \"\";\r\n public middleName: string = \"\";\r\n public lastName: string = \"\";\r\n public email: string = \"\";\r\n public profilePic: string = \"\";\r\n\r\n constructor(\r\n private readonly restService: RestService,\r\n private readonly router: Router,\r\n private readonly dialogRef: MatDialogRef<UserBasicInfoComponent>\r\n ) {}\r\n ngOnInit(): void {\r\n this.firstName = UserInfo.user?.contact?.name?.split(\" \")?.[0];\r\n this.middleName = UserInfo.user?.contact?.name?.split(\" \")?.[1];\r\n this.lastName = UserInfo.user?.contact?.name?.split(\" \")?.[2];\r\n this.email = UserInfo.user?.contact?.email;\r\n this.gender = UserInfo.user?.gender as (\"MALE\" | \"FEMALE\");\r\n this.profilePic = UserInfo.user?.profilePic;\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n saveProfile() {\r\n const payload = {\r\n userId: UserInfo.user?.userId,\r\n gender: this.gender,\r\n profilePic: this.profilePic,\r\n contact: {\r\n countryCode: \"91\",\r\n email: this.email,\r\n name: this.firstName + \" \" + (this.middleName?.length > 0 ? this.middleName + \" \" : \"\") + this.lastName\r\n }\r\n }\r\n this.restService.updateProfile(payload).subscribe((response)=> {\r\n if (this.dialogRef)\r\n this.dialogRef.close();\r\n else\r\n this.router.navigate(['/']);\r\n })\r\n }\r\n}\r\n","<section style=\"padding: 20px\" class=\"position-relative\">\r\n <div class=\"d-flex flex-wrap justify-content-between\">\r\n <div class=\"form-control-group-3\">\r\n <div class=\"label\">First Name</div>\r\n <input type=\"text\" placeholder=\"Enter first name\" [(ngModel)]=\"firstName\">\r\n </div>\r\n <div class=\"form-control-group-3\">\r\n <div class=\"label\">Middle Name</div>\r\n <input type=\"text\" placeholder=\"Enter middle name\" [(ngModel)]=\"middleName\">\r\n </div>\r\n <div class=\"form-control-group-3\">\r\n <div class=\"label\">Last Name</div>\r\n <input type=\"text\" placeholder=\"Enter last name\" [(ngModel)]=\"lastName\">\r\n </div>\r\n <div class=\"form-control-group-full\">\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Email</div>\r\n <input type=\"text\" placeholder=\"Enter email\" [(ngModel)]=\"email\">\r\n </div>\r\n </div> \r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Select Gender</div>\r\n <div class=\"d-flex align-items-center\">\r\n <img src=\"https://img.icons8.com/?size=100&id=108296&format=png&color=000000\" alt=\"\" (click)=\"gender = 'MALE'\" [ngClass]=\"{'active': gender == 'MALE' }\">\r\n <img src=\"https://img.icons8.com/?size=100&id=108295&format=png&color=000000\" alt=\"\" (click)=\"gender = 'FEMALE'\" [ngClass]=\"{'active': gender == 'FEMALE'}\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"action-btn\">\r\n <span class=\"skip-btn\" (click)=\"close()\">Skip</span>\r\n <button (click)=\"saveProfile()\">Save Profile</button>\r\n </div>\r\n</section>","import { Injectable } from '@angular/core';\r\nimport { OrderedItems } from '../ecommerce/styles/OrderedItems.modal';\r\nimport { User } from '../ecommerce/styles/user.modal';\r\nimport UserCart from '../ecommerce/json/user-cart.json';\r\nimport { EventsService } from './events.service';\r\nimport {CookieService} from 'ngx-cookie-service';\r\nimport { forkJoin } from 'rxjs';\r\nimport { RestService } from './rest.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageServiceService {\r\n\r\n constructor(\r\n private readonly eventService: EventsService,\r\n private readonly cookieService: CookieService,\r\n private readonly restService: RestService\r\n ) {\r\n this.createDataBase();\r\n }\r\n\r\n databaseName: string = \"USER\";\r\n databaseVersion: number = 1;\r\n cartCollectionName: string = \"USER_CART\";\r\n favouriteCollectionName: string = \"USER_FAVOURITE\";\r\n userCollectionName: string = \"USER\";\r\n database!: IDBDatabase;\r\n\r\n cartCollectionRef: IDBObjectStore | null = null;\r\n favouriteCollectionRef: IDBObjectStore | null = null;\r\n userCollectionRef: IDBObjectStore | null = null;\r\n\r\n async createDataBase() {\r\n const request: IDBOpenDBRequest = await window.indexedDB.open(this.databaseName, 1);\r\n\r\n this.eventService.showLoadingScreen.emit(true);\r\n request.onerror = () => { };\r\n request.onsuccess = async (event) => {\r\n this.database = await (event.target as IDBOpenDBRequest).result;\r\n const request = await this.getUserCart();\r\n request.onsuccess = async (response: any) => {\r\n \r\n this.eventService.showLoadingScreen.emit(false);\r\n UserCart.orderedItems = await response.target.result;\r\n }\r\n };\r\n request.onupgradeneeded = (event) => {\r\n\r\n this.database = (event.target as IDBOpenDBRequest).result;\r\n this.cartCollectionRef = this.database.createObjectStore(this.cartCollectionName, { keyPath: \"itemId\" });\r\n this.favouriteCollectionRef = this.database.createObjectStore(this.favouriteCollectionName, { keyPath: \"itemId\" });\r\n this.userCollectionRef = this.database.createObjectStore(this.userCollectionName, { keyPath: \"userId\" });\r\n }\r\n }\r\n\r\n async storeDataToJSON() {\r\n this.eventService.showLoadingScreen.emit(true);\r\n const request = await this.getUserCart();\r\n request.onsuccess = async (response: any) => {\r\n this.eventService.showLoadingScreen.emit(false);\r\n UserCart.orderedItems = await response.target.result;\r\n }\r\n }\r\n\r\n public calculateBillingDetails() {\r\n \r\n UserCart.billdetails.totalGrossValue = 0;\r\n UserCart.billdetails.totalNetValue = 0;\r\n UserCart.billdetails.deliveryCharges = 0;\r\n UserCart.billdetails.discountAmount = 0;\r\n UserCart.billdetails.totalOfferedValue = 0;\r\n UserCart.billdetails.totalTax = 0;\r\n\r\n UserCart.orderedItems.forEach((item: OrderedItems)=> {\r\n UserCart.billdetails.totalGrossValue += (item.price * item.quantity);\r\n UserCart.billdetails.totalTax += (item.itemTax * item.quantity);\r\n })\r\n UserCart.billdetails.totalNetValue = (UserCart.billdetails.totalGrossValue + UserCart.billdetails.totalTax + UserCart.billdetails.deliveryCharges) - UserCart.billdetails.discountAmount;\r\n return UserCart;\r\n }\r\n\r\n updateAllData() {\r\n const userDetails = this.getUser();\r\n if (userDetails) {\r\n forkJoin([\r\n this.restService.getUserItems(userDetails.userId, \"CART\"),\r\n this.restService.getUserItems(userDetails.userId, \"WISHLIST\")\r\n ]).subscribe(([cartResponse])=> {\r\n // cartResponse.data.forEach((item: OrderedItems)=> {\r\n // storageService.addProductToCart(item);\r\n // })\r\n this.storeDataToJSON();\r\n })\r\n }\r\n }\r\n\r\n\r\n // CART SERVICE\r\n async getUserCart() {\r\n \r\n const transaction = this.database.transaction(this.cartCollectionName, \"readwrite\");\r\n return await transaction.objectStore(this.cartCollectionName).getAll();\r\n }\r\n\r\n addProductToCart(product: OrderedItems) {\r\n const transaction = this.database.transaction(this.cartCollectionName, \"readwrite\");\r\n return transaction.objectStore(this.cartCollectionName).put(product);\r\n }\r\n removeProductFromCart(productId: string) {\r\n const transaction = this.database.transaction(this.cartCollectionName, \"readwrite\");\r\n return transaction.objectStore(this.cartCollectionName).delete(productId);\r\n }\r\n async getProductFromCart(productId: string) {\r\n const transaction = this.database.transaction(this.cartCollectionName, \"readwrite\");\r\n return await transaction.objectStore(this.cartCollectionName).get(productId);\r\n }\r\n\r\n // WISHLIST SERVICE\r\n async getUserWhishlist() {\r\n const request = await this.cartCollectionRef?.getAll();\r\n return request;\r\n }\r\n\r\n addProductToWishlist(product: OrderedItems) {\r\n const transaction = this.database.transaction(this.favouriteCollectionName, \"readwrite\");\r\n return transaction.objectStore(this.favouriteCollectionName).put(product);\r\n }\r\n removeProductFromWishlist(productId: string) {\r\n const transaction = this.database.transaction(this.favouriteCollectionName, \"readwrite\");\r\n return transaction.objectStore(this.favouriteCollectionName).delete(productId);\r\n }\r\n async getProductFromWishlist(productId: string) {\r\n const transaction = this.database.transaction(this.favouriteCollectionName, \"readwrite\");\r\n return await transaction.objectStore(this.favouriteCollectionName).get(productId);\r\n }\r\n\r\n // USER SERVICE\r\n addUser(user: User): User {\r\n this.cookieService.set(\"user\", JSON.stringify(user ?? \"{}\"));\r\n return user;\r\n }\r\n getUser(): any {\r\n try {\r\n return JSON.parse(this.cookieService.get(\"user\"));\r\n } catch(exception) {}\r\n }\r\n\r\n\r\n // clearAllItemsFromCart() {\r\n // return new Promise(async (resolve, reject) => {\r\n // if (this.database != undefined) {\r\n // const request = await this.database\r\n // .transaction(this.objectStorageName, 'readwrite')\r\n // .objectStore(this.objectStorageName)\r\n // .clear();\r\n\r\n // request.onsuccess = await function (event: any) {\r\n\r\n // if (event.target.result) {\r\n // resolve(event.result);\r\n // } else {\r\n // resolve('SUCCESS');\r\n // }\r\n // };\r\n // request.onerror = await function (_event) {\r\n // reject(\"No data\");\r\n // }\r\n // }\r\n // });\r\n // }\r\n}\r\n","import { Component, Inject, Input, OnInit, Optional } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport UserDetails from '../../json/user-details.json';\r\nimport { Router } from '@angular/router';\r\nimport { UserBasicInfoComponent } from '../user-basic-info/user-basic-info.component';\r\nimport { StorageServiceService } from '../../../services/storage.service';\r\n\r\n@Component({\r\n selector: 'simpo-authenticate-user',\r\n standalone: true,\r\n imports: [\r\n FormsModule,\r\n MatIcon,\r\n CommonModule,\r\n ButtonDirectiveDirective,\r\n ],\r\n templateUrl: './authenticate-user.component.html',\r\n styleUrl: './authenticate-user.component.css'\r\n})\r\nexport class AuthenticateUserComponent implements OnInit {\r\n @Input() data?: any;\r\n @Input() responseData?: any;\r\n // @Input() index? : number;\r\n // @Input() edit? : boolean;\r\n // @Input() delete? : boolean;\r\n\r\n public otpString: string = \"\";\r\n public screen: 'LOGIN' | 'OTP' = 'LOGIN';\r\n public mobile: string | null = null;\r\n public countryCode: string | null = \"91\";\r\n\r\n constructor(\r\n @Optional() @Inject(MAT_DIALOG_DATA) public matData: any,\r\n private readonly restService: RestService,\r\n private readonly router: Router,\r\n private readonly matDialog: MatDialog,\r\n private readonly storageService: StorageServiceService,\r\n @Optional() private readonly dialogRef: MatDialogRef<AuthenticateUserComponent>\r\n ) {}\r\n \r\n styles: any;\r\n\r\n ngOnInit(): void {\r\n if (this.matData)\r\n this.data = this.matData;\r\n this.styles = this.data?.styles;\r\n }\r\n move(event: any, idx: number) {\r\n if (isNaN(Number(event.key)))\r\n return;\r\n this.otpString += event.key;\r\n document.getElementById(\"otp_\"+(idx +1))?.focus();\r\n }\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n goBack() {\r\n this.otpString = '';\r\n this.screen = \"LOGIN\";\r\n }\r\n\r\n generateOTP() {\r\n this.restService.generateOTP(this.mobile ?? \"\", this.countryCode ?? \"\").subscribe((response)=> {\r\n this.screen = \"OTP\";\r\n })\r\n }\r\n verifyOTP() {\r\n this.restService.verifyOTP(this.mobile ?? \"\", this.otpString).subscribe((response: any)=> {\r\n // localStorage.setItem(\"userId\", response.userId);\r\n const userDetails = this.storageService.addUser(response.data);\r\n UserDetails.user = userDetails as never;\r\n this.storageService.updateAllData();\r\n if (userDetails.contact?.name?.length > 0) {\r\n if (this.dialogRef)\r\n this.dialogRef.close();\r\n else\r\n this.router.navigate(['/']);\r\n } else {\r\n if (this.dialogRef)\r\n this.dialogRef.close();\r\n this.matDialog.open(UserBasicInfoComponent, {\r\n height: '50vh',\r\n width: '40vw',\r\n data: {}\r\n });\r\n }\r\n })\r\n }\r\n resendOTP() {\r\n this.restService.resendOTP(this.mobile ?? \"\", this.countryCode ?? \"\").subscribe((response)=> {\r\n this.otpString = \"\";\r\n })\r\n }\r\n get isMobile() {\r\n return window.innerWidth <= 475;\r\n }\r\n}\r\n","<div [style.height.vh]=\"isMobile ? '90' : ''\">\r\n <ng-container [ngSwitch]=\"screen\">\r\n <section style=\"padding: 15px;\"\r\n class=\"d-flex flex-column align-item-center justify-content-center position-relative h-100\"\r\n *ngSwitchCase=\"'LOGIN'\"[ngClass]=\"{'fullSection': isMobile}\">\r\n <h5 class=\"text-center onlyDesktop\">Excee Fashion</h5>\r\n <h2 class=\"text-center\">Welcome</h2>\r\n <p class=\"text-center\">Log or Signup in to your account</p>\r\n <input type=\"number\" placeholder=\"Mobile Number\" [(ngModel)]=\"mobile\">\r\n <p class=\"text-center\">You will receive an SMS verification</p>\r\n\r\n <div class=\"action-btn d-flex flex-column align-item-center justify-content-center\">\r\n <button class=\"btn\" simpoButtonDirective [buttonStyle]=\"data?.action?.buttons[0]?.styles\"\r\n [color]=\"styles?.background?.accentColor\" (click)=\"generateOTP()\">Continue</button>\r\n <div class=\"alternate-opt text-center\" [style.color]=\"data?.styles.background?.accentColor\">Use email\r\n instead</div>\r\n </div>\r\n <div class=\"close-btn onlyDesktop\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </div>\r\n </section>\r\n <section *ngSwitchCase=\"'OTP'\" style=\"padding: 15px;\"\r\n class=\"d-flex flex-column align-item-center justify-content-center position-relative h-100\" [ngClass]=\"{'fullSection': isMobile}\">\r\n <h5 class=\"text-center onlyDesktop\">Excee Fashion</h5>\r\n <h2 class=\"text-center\">Verify OTP</h2>\r\n <p class=\"text-center\">Enter the 6-digit that we have sent via the phone number +{{ countryCode }}{{ mobile\r\n }}</p>\r\n <div class=\"otpContainer\">\r\n <ng-container *ngFor=\"let _ of [].constructor(6); let idx = index\">\r\n <input type=\"number\" class=\"otp\" max=\"1\" [id]=\"'otp_'+idx\" (keyup)=\"move($event, idx)\">\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"action-btn d-flex flex-column align-item-center justify-content-center\">\r\n <button class=\"btn\" simpoButtonDirective [buttonStyle]=\"data?.action?.buttons[0]?.styles\"\r\n [color]=\"styles?.background?.accentColor\" (click)=\"verifyOTP()\">Continue</button>\r\n <div class=\"alternate-opt text-center\" [style.color]=\"data?.styles.background?.accentColor\"\r\n (click)=\"resendOTP()\">Resend code</div>\r\n </div>\r\n\r\n <div class=\"close-btn onlyDesktop\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </div>\r\n <div class=\"back-btn\" (click)=\"goBack()\">\r\n <mat-icon>keyboard_backspace</mat-icon>\r\n </div>\r\n </section>\r\n </ng-container>\r\n</div>","import { AfterViewInit, Component, HostListener, inject, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { HeaderContentModel, HeaderSectionModel, HeaderStyleModel } from './navbar-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { SociaIconsComponent } from '../../elements/socia-icons/socia-icons.component';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { NavbarButtonElementComponent } from './../../elements/navbar-button-element/navbar-button-element.component';\r\nimport { EventsService } from './../../services/events.service';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { HoverElementsComponent } from './../../components/hover-elements/hover-elements.component';\r\nimport { ActionModel, BackgroundModel } from '../../styles/style.model';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport { SimpoStickyDirective } from '../../directive/sticky-directive';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport UserCart from '../../ecommerce/json/user-cart.json';\r\n// import { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { AuthenticateUserComponent } from \"../../ecommerce/sections/authenticate-user/authenticate-user.component\";\r\nimport UserDetals from '../../ecommerce/json/user-details.json';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'simpo-navbar-section',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n SimpoButtonComponent,\r\n \r\n SociaIconsComponent,\r\n MatIcon,\r\n NavbarButtonElementComponent,\r\n FormsModule,\r\n HoverElementsComponent,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n SimpoStickyDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective\r\n ],\r\n templateUrl: './navbar-section.component.html',\r\n styleUrl: './navbar-section.component.css'\r\n})\r\nexport class NavbarSectionComponent implements OnInit{\r\n\r\n @Input() data ?: HeaderSectionModel;\r\n @Input() nextComponent: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean = false;\r\n @ViewChild(\"childContainer\") childContainer: any;\r\n public scrollValue: number = 0;\r\n content ? : HeaderContentModel;\r\n style ?: HeaderStyleModel\r\n action?: ActionModel\r\n color = '#000000';\r\n searchText: string = \"\";\r\n \r\n // matDialog = inject(MatDialog);\r\n \r\n\r\n constructor(\r\n private readonly _eventService : EventsService,\r\n private readonly router: Router,\r\n private readonly activatedRoute: ActivatedRoute,\r\n private readonly matDialog: MatDialog\r\n ){\r\n this.getScreenSize();\r\n }\r\n searchProducts() {\r\n this.router.navigate(['/list'], {queryParams: {searchTxt: this.searchText}});\r\n }\r\n goToFav() {\r\n this.router.navigate(['/whislist']);\r\n }\r\n goToAccount() {\r\n\r\n if (UserDetals.user.userId?.length > 0) {\r\n this.router.navigate(['/profile']);\r\n } else {\r\n\r\n if (this.screenWidth <= 475)\r\n this.router.navigate(['/auth']);\r\n else {\r\n this.matDialog.open(AuthenticateUserComponent, {\r\n height: '50vh',\r\n width: '35vw',\r\n data: this.data \r\n });\r\n }\r\n }\r\n }\r\n goToCart(){\r\n this.router.navigate(['/cart']);\r\n }\r\n applyFilter(value: any, type: string) {\r\n value = value[0]?.replace(\" \", \"_\");\r\n this.router.navigate(['/list'], {queryParams: { [type]: value }});\r\n }\r\n @HostListener('window:scroll', ['$event'])\r\n onScroll(event: any) {\r\n this.scrollValue = event.currentTarget.pageYOffset / 100;\r\n }\r\n ngOnInit(): void {\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.action = this.data?.action;\r\n this.activatedRoute.queryParams.subscribe((qParam)=> {\r\n this.searchText = qParam[\"searchTxt\"];\r\n })\r\n // if (this.style?.background && this.nextComponent.styles.merge) {\r\n // this.style.background.color = this.nextComponent.styles.background.color;\r\n // this.style.background.accentColor = this.nextComponent.styles.background.accentColor;\r\n // }\r\n }\r\n\r\n screenWidth: number = 475;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?: number) {\r\n if (typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n get getParentHeight() {\r\n return this.childContainer?.nativeElement?.offsetHeight ?? 0;\r\n }\r\n get getDropdownLinks() {\r\n if (this.content?.ecomLinks)\r\n return Object.keys(this.content?.ecomLinks);\r\n return [];\r\n }\r\n get isEcommerceWebsite() {\r\n return this.data?.type == \"E_COMMERCE\";\r\n }\r\n\r\n close(){\r\n let a = document.getElementById(\"navbarNavAltMarkup\");\r\n if(!a) return;\r\n // a.style.display = \"none\"\r\n a.classList.remove(\"show\");\r\n a.classList.add(\"collapse\")\r\n }\r\n\r\n showEditors : boolean = false;\r\n\r\n showEditTabs(isShow:boolean){\r\n this.showEditors = isShow;\r\n }\r\n goToHome() {\r\n this.router.navigate(['']);\r\n }\r\n get isHeaderSticky() {\r\n return this.data?.styles?.sticky;\r\n }\r\n get backgroundInfo() {\r\n let background: BackgroundModel | {} = {};\r\n if (this.style) {\r\n background = {\r\n ...this.style.background,\r\n showImage: false,\r\n color: \"transparent\"\r\n };\r\n }\r\n return this.nextComponent?.styles?.merge ? (this.scrollValue > 0 ? {...this.nextComponent.styles.background, color: this.style?.background.color} : {...background}) : {...this.data?.styles.background};\r\n }\r\n get simpoColor() {\r\n return this.nextComponent?.styles?.merge ? (this.scrollValue > 0 ? this.style?.background.color : this.nextComponent.styles?.background?.color) : this.style?.background?.color;\r\n }\r\n get accentColor() {\r\n return this.nextComponent?.styles?.merge ? (this.scrollValue > 0 ? this.style?.background?.accentColor : this.nextComponent.styles?.background?.accentColor) : this.style?.background?.accentColor;\r\n }\r\n get isTransparent() {\r\n return this.nextComponent?.styles?.merge && this.scrollValue == 0;\r\n }\r\n redirectTo(content: any){\r\n this._eventService.buttonRedirection.emit({data: content});\r\n }\r\n get isComponentMerged() {\r\n return this.nextComponent?.styles?.merge;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n get getCartItemsCount(): number {\r\n return UserCart?.orderedItems?.length;\r\n }\r\n getKeys(object: any): string[] {\r\n return Object.keys(object);\r\n }\r\n getValues(object: any): unknown[] {\r\n const keys: unknown[] = [];\r\n object.forEach((key: any)=> keys.push(Object.values(key)));\r\n return [...new Set(keys)];\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [style.height.px]=\"getParentHeight\" [simpoBackground]=\"backgroundInfo\" class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div #mainContainer class=\"w-100\" style=\"z-index: 100;\" [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [scrollValue]=\"isComponentMerged ? scrollValue : 0\" [simpoBackground]=\"backgroundInfo\" [simpoSticky]=\"isHeaderSticky\" [ngClass]=\"{'ecomStyle': isEcommerceWebsite}\">\r\n <nav #childContainer class=\"navbar navbar-expand-lg d-block mb-0\" [simpoFooterLayout]=\"style?.layout\">\r\n <div class=\"container-fluid position-relative \">\r\n <div class=\"w-50 left-logo-text d-flex\">\r\n <!-- <a class=\"navbar-brand\" href=\"#\">{{content?.siteName?.value}}</a> -->\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\" *ngIf=\"!content?.logo?.isImage || !content?.logo?.image?.url\" (click)=\"goToHome()\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon && content?.logo?.text?.url\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-small\" *ngIf=\"content?.logo?.text?.isText\" [simpoColor]=\"simpoColor\">\r\n <b [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 gap-lg-3 align-items-lg-center\"\r\n *ngIf=\"content?.logo?.isImage && content?.logo?.image?.url\"(click)=\"goToHome()\">\r\n <img [src]=\"content?.logo?.image?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n\r\n <div class=\"navbar-collapse fs-6 position-relative d-flex\" style=\"margin-top: 5px; margin-left: 25px;\" [simpoColor]=\"simpoColor\" *ngIf=\"isEcommerceWebsite && screenWidth > 768\">\r\n <ng-container *ngFor=\"let link of getDropdownLinks; let idx = index\">\r\n <a class=\"nav-link dropdown-toggle mx-2\" href=\"#\" [id]=\"'navbarDropdownMenuLink_' + idx\" role=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">{{ link | uppercase }}</a>\r\n <ul class=\"dropdown-menu fs-6 position-absolute\" [attr.aria-labelledby]=\"'navbarDropdownMenuLink_'+idx\">\r\n <li *ngFor=\"let value of getValues(content?.ecomLinks?.[link])\"><a class=\"dropdown-item\" (click)=\"applyFilter(value, link)\">{{value}}</a></li>\r\n </ul>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"w-50 right-btn d-flex justify-content-end\">\r\n <div *ngIf=\"screenWidth <= 768 && isEcommerceWebsite\" class=\"d-flex align-items-center justify-content-around\">\r\n <i class=\"fa fa-search mx-2\" aria-hidden=\"true\"></i>\r\n <mat-icon class=\"mx-2\">add_shopping_cart</mat-icon>\r\n <mat-icon class=\"mx-2\">person_outline</mat-icon>\r\n </div>\r\n <button class=\"navbar-toggler menu-icon\" [simpoColor]=\"simpoColor\" [id]=\"data?.id\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarNavAltMarkup\" *ngIf=\"screenWidth < 769\"\r\n aria-controls=\"navbarNavAltMarkup\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">\r\n <hr>\r\n <hr>\r\n <hr>\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"!isEcommerceWebsite\">\r\n <div class=\"collapse navbar-collapse\" *ngIf=\"screenWidth > 768\">\r\n <div class=\"navbar-nav align-items-center\">\r\n <div class=\"d-flex align-items-center gap-3\" style=\"margin-right: 10px;\">\r\n <ng-container *ngFor=\"let item of content?.navbarButtons\">\r\n <ng-container *ngIf=\"item.showHeader\">\r\n <simpo-navbar-button-element [buttonData]=\"item\" [selectedStyle]=\"style?.navigationStyle\" [buttonStyle]=\"style?.navbarButtonStyle\"\r\n [bgColor]=\"simpoColor\" [sectionId]=\"data?.id\"></simpo-navbar-button-element>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-0\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"simpoColor\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"action?.display\" class=\"button-display mt-0\">\r\n <div *ngFor=\"let button of action?.buttons\">\r\n <button class=\"button\" (click)=\"redirectTo(button?.content)\" simpoButtonDirective [scrollValue]=\"scrollValue\" [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button.styles\" [color]=\"accentColor\">{{button?.content?.label}}</button>\r\n <!-- <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"collapse navbar-collapse\" id=\"navbarNavAltMarkup\" *ngIf=\"screenWidth <= 768\">\r\n <div class=\"inner-height p-4\">\r\n <div class=\"nab-bar-mobile flex-column d-flex justify-content-between align-items-center\">\r\n <div class=\"d-flex flex-column w-100\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"title-row\">\r\n <div class=\"d-flex gap-3 align-items-center\" *ngIf=\"!content?.logo?.isImage || !content?.logo?.image?.url\">\r\n <div *ngIf=\"content?.logo?.text?.isIcon && content?.logo?.text?.url\">\r\n <img [src]=\"content?.logo?.text?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-small\" *ngIf=\"content?.logo?.text?.isText\">\r\n <b [ngStyle]=\"{'font-family': content?.logo?.text?.fontFamily}\">{{content?.siteName?.value}}</b>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 align-items-center\"\r\n *ngIf=\"content?.logo?.isImage\">\r\n <img [src]=\"content?.logo?.image?.url\" alt=\"logo\" [width]=\"content?.logo?.size\"\r\n loading=\"lazy\">\r\n </div>\r\n\r\n </div>\r\n <div class=\"close-box cursor-pointer d-flex\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center mt-5\">\r\n <div class=\"d-flex flex-column gap-4 w-100\">\r\n <ng-container *ngFor=\"let item of content?.navbarButtons\">\r\n <simpo-navbar-button-element [buttonData]=\"item\" [selectedStyle]=\"style?.navigationStyle\" [buttonStyle]=\"style?.navbarButtonStyle\"></simpo-navbar-button-element>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-start align-items-lg-center flex-column flex-lg-row gap-lg-0 gap-3\"\r\n [ngClass]=\"content?.socialLinks?.display ? 'justify-content-between' : 'justify-content-end'\">\r\n <div class=\"d-flex mt-0\" *ngIf=\"content?.socialLinks?.display\">\r\n <ng-container *ngFor=\"let item of content?.socialLinks?.channels\">\r\n <div style=\"position: relative;margin-right: 10px;\">\r\n <simpo-socia-icons [socialIconData]=\"item\" [color]=\"simpoColor\" [sectionId]=\"data?.id\"></simpo-socia-icons>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-4\">\r\n <div *ngIf=\"action?.display\" class=\"button-display\">\r\n <div *ngFor=\"let button of action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [sectionId]=\"data?.id\"\r\n [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\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>\r\n <ng-container *ngIf=\"isEcommerceWebsite\">\r\n <div class=\"collapse navbar-collapse position-absolute pr-0\" style=\"right: 0px;\" *ngIf=\"screenWidth > 768\">\r\n <div class=\"container-fluid justify-content-between pr-0 d-flex\" style=\"max-width: 50vw;\">\r\n <div class=\"input-group\">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\r\n <input type=\"text\" class=\"form-control\" placeholder=\"Search Product..\" aria-label=\"Search Product\" [(ngModel)]=\"searchText\" (ngModelChange)=\"searchProducts()\">\r\n </div>\r\n <div class=\"d-flex flex-column align-items-center\" style=\"width: 60px; margin-left: -10px; cursor: pointer;\" (click)=\"goToFav()\">\r\n <mat-icon>favorite_border</mat-icon>\r\n <span class=\"text-dark fw-normal fs-6\">Favourite</span>\r\n </div>\r\n <div class=\"d-flex flex-column align-items-center mx-3 position-relative\" style=\"width: 60px; cursor: pointer;\" (click)=\"goToCart()\">\r\n <mat-icon>add_shopping_cart</mat-icon>\r\n <span class=\"text-dark fw-normal fs-6\">Bag</span>\r\n <div class=\"position-absolute cartItemCount\" *ngIf=\"getCartItemsCount\">{{getCartItemsCount}}</div>\r\n </div>\r\n <div class=\"d-flex flex-column align-items-center\" style=\"width: 60px; margin-left: -10px; cursor: pointer;\" (click)=\"goToAccount()\">\r\n <mat-icon>person_outline</mat-icon>\r\n <span class=\"text-dark fw-normal fs-6\">Account</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </nav>\r\n </div>\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>\r\n","import { Component, Input } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { EventsService } from './../../services/events.service';\r\n\r\n@Component({\r\n selector: 'simpo-add-new-section',\r\n standalone: true,\r\n imports: [MatIcon],\r\n templateUrl: './add-new-section.component.html',\r\n styleUrl: './add-new-section.component.css'\r\n})\r\nexport class AddNewSectionComponent {\r\n constructor(private _eventService: EventsService){}\r\n @Input() index? : number;\r\n\r\n addSection(){\r\n this._eventService.addNewSectionClick.emit({index: this.index, position: \"ABOVE\"});\r\n }\r\n}\r\n","<section class=\"main_section\">\r\n <div>\r\n <div #displayElements></div>\r\n </div>\r\n <section class=\"add_btn\" (click)=\"addSection()\">\r\n <mat-icon>add</mat-icon>\r\n <span style=\"margin-left: 5px;\">Add Section</span>\r\n </section>\r\n</section>\r\n","import { Component, Input, OnInit, HostListener, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { BannerStylesModel, ButtonModel } from '../../styles/style.model';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport { ContactUsContentModel, ContactUsModel, ContactUsStylesModel } from './contact-us.modal';\r\nimport BaseSection from '../BaseSection';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'simpo-contact-us',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ButtonDirectiveDirective\r\n ],\r\n templateUrl: './contact-us.component.html',\r\n styleUrl: './contact-us.component.css'\r\n})\r\nexport class ContactUsComponent extends BaseSection implements OnInit {\r\n @Input() data?:ContactUsModel;\r\n @Input() index? : number;\r\n content?: ContactUsContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: ContactUsStylesModel;\r\n button?: ButtonModel\r\n buttonId: string = '';\r\n\r\n constructor(\r\n private _eventService : EventsService,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private snackBar: MatSnackBar\r\n ){\r\n super();\r\n\r\n }\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.button = this.data?.action?.buttons[0];\r\n\r\n this.buttonId = (this.data ? this.data.id : '') + (this.button ? this.button.id : '');\r\n if(!this.styles || !this.content) return;\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.screenSize();\r\n window.addEventListener('resize', () => {\r\n this.screenSize();\r\n });\r\n }\r\n\r\n }\r\n\r\n @HostListener('window:resize',['$event'])\r\n screenSize(): void{\r\n this.screenWidth = window.innerWidth;\r\n }\r\n screenWidth: any;\r\n\r\n getWidthByField(field: any) {\r\n let width= this.screenWidth > 475 ? '48': '100';\r\n let contactWidth = this.screenWidth > 475 ? '97' : '100'\r\n if (field.type == \"address\") {\r\n return ((this.content?.contactField.fields.filter((add)=> add.type == \"address\").length ?? 1) % 2) ? contactWidth : width;\r\n }\r\n return field.type == \"desc\" ? contactWidth : width;\r\n }\r\n\r\n buttonClick(){\r\n if(this.content) {\r\n for(let field of this.content?.contactField?.fields){\r\n if(field.required && !field.inputValue){\r\n this.snackBar.open('Please fill mandatory fields', 'close', {duration: 1500});\r\n return;\r\n }\r\n }\r\n this._eventService.contactFormData.emit({data: this.content?.contactField.fields,successMessage:this.data?.content.contactField.successMessage});\r\n } else {\r\n this.snackBar.open('Please fill mandatory fields', 'close', {duration: 1500});\r\n }\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n canShowContactField(field: any) {\r\n return Object.hasOwn(field, \"status\") ? field.status : true;\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div *ngIf=\"content?.image?.showImage === false\" class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"col-12 d-flex justify-content-evenly\" style=\"gap: 3rem;\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{'align-items-center': styles?.positionLayout?.value === 'top'}\">\r\n <div class=\"d-flex flex-column col-5 pt-5\">\r\n <div *ngFor=\"let item of content?.inputText\" [innerHTML]=\"item.value\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\" >\r\n </div>\r\n </div>\r\n <div class=\"col-5 d-flex flex-wrap\" style=\"gap: 1rem;height: fit-content;\">\r\n <ng-container *ngFor=\"let feild of content?.contactField?.fields\">\r\n <simpo-input-fields [opacity]=\"styles?.inputOpacity\" [style.width.%]=\"getWidthByField(feild)\" [feild]=\"feild\" [bgColor]=\"styles?.background?.color\" [sectionId]=\"data?.id\" *ngIf=\"canShowContactField(feild)\"></simpo-input-fields>\r\n </ng-container>\r\n <div class=\"w-100\">\r\n <button class=\"send-btn\" simpoButtonDirective [id]=\"buttonId\" [buttonStyle]=\"button?.styles\" [color]=\"styles?.background?.accentColor\" (click)=\"buttonClick()\">{{ content?.contactField?.button }}</button>\r\n </div>\r\n <!-- <button class=\"send-btn\" simpoButtonDirective [id]=\"buttonId\" [buttonStyle]=\"button?.styles\" [color]=\"styles?.background?.accentColor\" (click)=\"buttonClick()\">{{ content?.contactField?.button }}</button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"content?.image?.showImage === true\" class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer\r\n [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"g-5 mobile-display\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right', 'align-items-center': styles?.positionLayout?.value === 'top'}\">\r\n <div class=\"col-10 col-sm-8 col-lg-6 mobile-image\" *ngIf=\"content?.image?.showImage\">\r\n <img [src]=\"content?.image?.url\" [id]=\"data?.id\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\" [class]=\"data?.id+(content?.image?.id || '')\"\r\n class=\"d-block mx-lg-auto img-fluid h-100\" [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\"\r\n loading=\"lazy\" />\r\n </div>\r\n <div class=\"d-flex flex-column mobile-text\" style=\"width: 46%;\" [ngClass]=\"{'pt-5': styles?.positionLayout?.value === 'top'}\" [id]=\"data?.id\">\r\n <div class=\"d-flex flex-column\">\r\n <div *ngFor=\"let item of content?.inputText\" [innerHTML]=\"item.value\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n <div class=\"d-flex flex-wrap\" style=\"gap: 1rem;height: fit-content;\">\r\n <ng-container *ngFor=\"let feild of content?.contactField?.fields\">\r\n <simpo-input-fields [opacity]=\"styles?.inputOpacity\" [style.width.%]=\"getWidthByField(feild)\" [feild]=\"feild\"\r\n [bgColor]=\"styles?.background?.color\" [sectionId]=\"data?.id\"></simpo-input-fields>\r\n </ng-container>\r\n <div class=\"w-100\">\r\n <button class=\"send-btn\" simpoButtonDirective [id]=\"buttonId\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\" (click)=\"buttonClick()\">{{ content?.contactField?.button\r\n }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\r\n\r\n@Component({\r\n selector: 'simpo-skeleton-loader-section',\r\n standalone: true,\r\n imports: [CommonModule,NgxSkeletonLoaderModule],\r\n templateUrl: './skeleton-loader-section.component.html',\r\n styleUrl: './skeleton-loader-section.component.css'\r\n})\r\nexport class SkeletonLoaderSectionComponent {\r\n @Input() sectionType!:string;\r\n}\r\n","<div class=\"p-15\" style=\"width: 100%;\">\r\n <div class=\"skeleton-parent\"\r\n *ngIf=\"sectionType === 'service' || sectionType === 'teammember' || sectionType === 'imagegrid'\">\r\n <div class=\"skeleton\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"skeleton\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"skeleton\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"banner-skeleton\" *ngIf=\"sectionType === 'banner' || sectionType === 'text_image'\">\r\n <div style=\"width: 50%;\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '90%',\r\n height: '400px',\r\n 'border-radius': '10px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n <div class=\"second-section-wrapper\" style=\"width: 50%;padding-top: 50px;\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div style=\"margin-top: 50px;\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '130px',\r\n height: '45px',\r\n 'border-radius': '10px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-skeleton\" *ngIf=\"sectionType === 'text'\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div style=\"margin-top: 50px;\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '130px',\r\n height: '45px',\r\n 'border-radius': '10px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n <div class=\"testimonial-skeleton\" *ngIf=\"sectionType === 'testimonial'\">\r\n <div>\r\n <ngx-skeleton-loader appearance=\"circle\" [theme]=\"{ width: '80px', height: '80px' }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\" style=\"margin-top: 20px;\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '80%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div style=\"margin-top: 50px;\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '130px',\r\n height: '45px',\r\n 'border-radius': '10px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n <div class=\"image-skeleton\"\r\n *ngIf=\"sectionType === 'imageCarousel' || sectionType === 'image' || sectionType === 'contact us'\">\r\n <ngx-skeleton-loader count=\"1\" [theme]=\"{\r\n 'border-radius': '5px',\r\n height: '50vh',\r\n width: '100%'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BannerGridSectionModel, BannerGridContentModel, BannerGridStylesModel } from './banner-grid-section.model';\r\nimport { EventsService } from '../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport {BackgroundDirective} from '../../directive/background-directive'\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { SimpoButtonComponent } from \"../../elements/simpo-button/simpo-button.component\";\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\n\r\n@Component({\r\n selector: 'simpo-banner-grid-section',\r\n standalone: true,\r\n templateUrl: './banner-grid-section.component.html',\r\n styleUrl: './banner-grid-section.component.css',\r\n imports: [CommonModule,\r\n HoverDirective,\r\n BackgroundDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n CornerDirective,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n SimpoButtonComponent,\r\n BorderDirective,\r\n AnimationDirective,\r\n PositionLayoutDirectiveDirective,\r\n SimpoFooterLayoutDirective,\r\n ObjectPositionDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective\r\n ]\r\n})\r\nexport class BannerGridSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?: BannerGridSectionModel;\r\n @Input() edit?: boolean;\r\n content?: BannerGridContentModel;\r\n styles?: BannerGridStylesModel;\r\n @Input() delete? : boolean;\r\n @Input() index? : number;\r\n\r\n listItems : any;\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.listItems = this.data?.content.listItem.data\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n this.deleteSelected = this.delete\r\n }\r\n get canMergeNavbar() {\r\n return this.styles?.merge;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [ngClass]=\"{'mergeNavbar': canMergeNavbar}\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"px-5 py-4\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"d-flex justify-content-between gap-5 align-items-center total-section\"[id]=\"data?.id\"\r\n [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'right' || styles?.positionLayout?.value === 'left' }\">\r\n <div class=\"image-section\" *ngIf=\"content?.listItem?.data?.length === 3\" [ngClass]=\"{'image-position' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" [ngClass]=\"{'images-top' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <img [src]=\"listItems[0]?.image.url\" [id]=\"data?.id\" [simpoCorner]=\"styles?.corners\" class=\"img\" [ngClass]=\"{'image-width-top' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [simpoImageDirective]=\"styles?.image\" [alt]=\"listItems[0]?.image.altText\"\r\n [class]=\"data?.id+(listItems[0]?.image.id || '')\" [simpoObjectPosition]=\"listItems[0]?.image.position\"\r\n loading=\"lazy\">\r\n </div>\r\n <div [ngClass]=\"{'images' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" class=\"d-flex justify-content-between mt-4\">\r\n <img *ngFor=\"let item of listItems.slice(1); let i = index\" [src]=\"item?.image.url\" [id]=\"data?.id\" [ngClass]=\"{'image-width' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [alt]=\"item?.image.altText\" [simpoCorner]=\"styles?.corners\" [simpoImageDirective]=\"styles?.image\"\r\n [class]=\"data?.id+(item?.image.id || '')\" [simpoObjectPosition]=\"item?.image.position\" class=\"img-1\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"image-section-2\" *ngIf=\"content?.listItem?.data?.length === 2\">\r\n <div [ngClass]=\"{'image-width-2' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" class=\"d-flex justify-content-between mt-4\">\r\n <img *ngFor=\"let item of listItems; let i = index\" [src]=\"item?.image.url\" [id]=\"data?.id\"\r\n [ngClass]=\"{'images-width-2' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [alt]=\"item?.image.altText\" [simpoCorner]=\"styles?.corners\" [simpoImageDirective]=\"styles?.image\"\r\n [class]=\"data?.id+(item?.image.id || '')\" [simpoObjectPosition]=\"item?.image.position\" class=\"img-1\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"image-section-3\" *ngIf=\"content?.listItem?.data?.length === 1\" [ngClass]=\"{'image-width-3' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\r\n <div>\r\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" class=\"d-flex justify-content-between mt-4\">\r\n <img *ngFor=\"let item of listItems; let i = index\" [src]=\"item?.image.url\" [id]=\"data?.id\"\r\n [ngClass]=\"{'images-width-3' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [alt]=\"item?.image.altText\" [simpoCorner]=\"styles?.corners\" [simpoImageDirective]=\"styles?.image\"\r\n [class]=\"data?.id+(item?.image.id || '')\" [simpoObjectPosition]=\"item?.image.position\" class=\"image-1\"\r\n loading=\"lazy\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-6 d-flex flex-column justify-content-start gap-15\" [id]=\"data?.id\" [ngClass]=\"{'col-lg-12' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\"\r\n [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let text of content?.inputText\">\r\n <div [innerHTML]=\"text.value\" [ngClass]=\"text.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <div class=\"button-section d-flex mt-4\" *ngIf=\"!data?.action?.hasOwnProperty('display') || data?.action?.display\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\r\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\" [isMerged]=\"styles?.merge ?? false\"></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\r\n</section>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ChooseUsContentModal, ChooseUsStylesModel, ContactUsSectionModal } from './choose-us-section.model';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ObjectPositionDirective} from '../../directive/image-position.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\n\r\n@Component({\r\n selector: 'simpo-choose-us-section',\r\n standalone: true,\r\n templateUrl: './choose-us-section.component.html',\r\n styleUrl: './choose-us-section.component.css',\r\n imports: [CommonModule,\r\n BackgroundDirective,\r\n HoverDirective,\r\n OverlayDirective,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n PositionLayoutDirectiveDirective,\r\n ContentFitDirective,\r\n AnimationDirective,\r\n BorderDirective,\r\n ObjectPositionDirective,\r\n CornerDirective,\r\n simpoConetenAlignmentDirective\r\n ]\r\n})\r\nexport class ChooseUsSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?:ContactUsSectionModal;\r\n @Input() index? : number;\r\n content?: ChooseUsContentModal;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: ChooseUsStylesModel;\r\n\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","\r\n<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-5 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\" >\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\"\r\n [simpoAnimation]=\"styles?.animation\">\r\n <div class=\"d-flex flex-column\" [id]=\"data?.id\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\">\r\n <div class=\"d-flex flex-column gap-15\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large heading' : 'body-large description'\">\r\n {{item.value}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-section d-flex\" [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'}\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"cards\" *ngFor=\"let cards of content?.listItem?.data\">\r\n <div class=\"individual-cards\" [simpoCorner]=\"styles?.corners\">\r\n <div class=\"heading-large lh-2 mb-3\">\r\n {{cards.inputText[0].value}}\r\n <div class=\"body-large\">\r\n {{cards.inputText[1].value}}\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 *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>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { PricingSectionContentModal, PricingSectionModal, PricingSectionStylesModel } from './pricing-section.modal';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { EventsService } from '../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\n\r\n\r\n@Component({\r\n selector: 'simpo-pricing-section',\r\n standalone: true,\r\n templateUrl: './pricing-section.component.html',\r\n styleUrl: './pricing-section.component.css',\r\n imports: [CommonModule,\r\n HoverDirective,\r\n BackgroundDirective,\r\n OverlayDirective,\r\n BorderDirective,\r\n AnimationDirective,\r\n PositionLayoutDirectiveDirective,\r\n ContentFitDirective,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n ObjectPositionDirective,\r\n CornerDirective,\r\n ImageDirectiveDirective,\r\n SimpoButtonComponent,\r\n ButtonDirectiveDirective,\r\n MatIcon, ColorDirective,\r\n ContentTitleDirective,\r\n ]\r\n})\r\nexport class PricingSectionComponent extends BaseSection {\r\n @Input() data?: PricingSectionModal;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n button?: ButtonModel;\r\n content?: PricingSectionContentModal;\r\n style?: PricingSectionStylesModel;\r\n\r\n constructor(private _eventService : EventsService) {\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n this.button = this.data?.action.buttons[0];\r\n }\r\n\r\n getTextColor() {\r\n let bgColor = this.style?.background.color || '#FFFFFF'\r\n const threshold = 130;\r\n const r = parseInt(bgColor.slice(1, 3), 16);\r\n const g = parseInt(bgColor.slice(3, 5), 16);\r\n const b = parseInt(bgColor.slice(5, 7), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n return brightness > threshold ? '#000000' : '#ffffff';\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n\r\n <div class=\"pricing-options d-flex\">\r\n <div class=\"individual-options\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\" *ngFor=\"let options of content?.listItem?.data\"\r\n [ngClass]=\"{'highlighted-option': options.highlight.highlighted === true,\r\n 'individual-options-3': content?.listItem?.data?.length === 3,\r\n 'individual-options-2': content?.listItem?.data?.length === 2,\r\n 'individual-options-1': content?.listItem?.data?.length === 1\r\n }\">\r\n <img class=\"image\" *ngIf=\"content?.display?.showImage === true\"\r\n [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"options.image.position\"\r\n [simpoCorner]=\"style?.corners\" [src]=\"options.image.url \" alt=\"\" width=\"92%\" loading=\"lazy\">\r\n <div class=\"highlight-label\" *ngIf=\"options.highlight.highlighted === true\" [ngStyle]=\"{'background-color': getTextColor()}\" [simpoColor]=\"getTextColor()\">\r\n {{options.highlight.label}}\r\n </div>\r\n <div class=\"heading-small\">{{options.inputText[0].value}}</div>\r\n <div class=\"heading-large price\">{{options.inputText[2].value}}</div>\r\n <div class=\"body-desc\">{{options.inputText[3].value}}</div>\r\n\r\n <div class=\"btn\" *ngIf=\"content?.display?.showButton === true\">\r\n <button class=\"button\" simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\" [color]=\"data?.styles?.background?.accentColor\">{{options?.button?.label}}</button>\r\n </div>\r\n <div class=\"body-desc description\" *ngIf=\"content?.display?.showContent === true\">{{options.inputText[1].value}}</div>\r\n <div class=\"body-desc content-options\" *ngIf=\"content?.display?.showIncludeditems\">\r\n <div class=\"d-flex gap-15\" *ngFor=\"let content of options.additionalData\">\r\n <mat-icon>check</mat-icon> {{content.content}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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","import { Component, Input, NgZone, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AddressModel, LocationContentModel, LocationSectionModel, LocationStyleModel } from './location-section.modal';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport * as mapboxgl from 'mapbox-gl';\r\nimport { mapStyle } from '../../styles/index';\r\nimport { Subscription } from 'rxjs';\r\nimport { MAP_STYLE } from '@simpo-ui/styles/types';\r\n\r\n@Component({\r\n selector: 'simpo-location-section',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BorderDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n HoverDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective\r\n ],\r\n templateUrl: './location-section.component.html',\r\n styleUrl: './location-section.component.css'\r\n})\r\nexport class LocationSectionComponent extends BaseSection{\r\n @Input() data?: LocationSectionModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n styles?: LocationStyleModel;\r\n content?: LocationContentModel;\r\n\r\n constructor(private zone: NgZone,\r\n private _eventService : EventsService\r\n ){\r\n super()\r\n }\r\n\r\n map!: mapboxgl.Map;\r\n style = `mapbox://styles/mapbox/`;\r\n latitude: number = 30.2672;\r\n longitude: number = -97.7431;\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n this.checkLocationChange();\r\n this.checkMapStyleChange();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.zone.runOutsideAngular(() => {\r\n if(this.styles) {\r\n this.style += mapStyle[this.styles?.mapStyle]\r\n }\r\n if(this.content?.address.longitude == 0 && this.content.address.latitude == 0) {\r\n this.getCurrentLocation();\r\n } else {\r\n this.goToLocation()\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n accessToken = 'pk.eyJ1IjoibmFpZHUyNTA3IiwiYSI6ImNsZWxjcGlmZTB0ejkzb3BnMndzbmthM2cifQ.BJoCPnd81NYvx_2VUadF2w'\r\n\r\n async getCurrentLocation(){\r\n\r\n if(typeof navigator !== 'undefined' && navigator.geolocation) {\r\n await navigator.geolocation.getCurrentPosition((position) => {\r\n if(this.content) {\r\n this.content.address.longitude = position.coords.longitude;\r\n this.content.address.latitude = position.coords.latitude\r\n }\r\n\r\n this.map = new mapboxgl.Map({\r\n container: 'map',\r\n style: this.style,\r\n zoom: 12,\r\n pitch: 0,\r\n bearing: 0,\r\n accessToken: this.accessToken,\r\n });\r\n\r\n setTimeout(() => {\r\n this.map.addControl(new mapboxgl.NavigationControl());\r\n this.map?.flyTo({\r\n center: [(this.content?.address.longitude || 0), (this.content?.address.latitude || 0)],\r\n });\r\n new mapboxgl.Marker({ color: this.styles?.background.color })\r\n .setLngLat([(this.content?.address.longitude || 0), (this.content?.address.latitude || 0)])\r\n .addTo(this.map);\r\n }, 0);\r\n }, () => {\r\n if(this.content?.address?.longitude && this.content?.address?.latitude) {\r\n this.content.address.longitude = 0;\r\n this.content.address.latitude = 0;\r\n }\r\n\r\n this.map = new mapboxgl.Map({\r\n container: 'map',\r\n style: this.style,\r\n zoom: 2,\r\n pitch: 0,\r\n bearing: 0,\r\n accessToken: this.accessToken,\r\n });\r\n setTimeout(() => {\r\n this.map.flyTo({\r\n center: [(this.content?.address.longitude || 0), (this.content?.address.latitude || 0)],\r\n });\r\n new mapboxgl.Marker({ color: this.styles?.background.color })\r\n .setLngLat([(this.content?.address.longitude || 0), (this.content?.address.latitude || 0)])\r\n .addTo(this.map);\r\n }, 0);\r\n\r\n })\r\n }\r\n }\r\n\r\n goToLocation(){\r\n this.map = new mapboxgl.Map({\r\n container: 'map',\r\n style: this.style,\r\n zoom: 12,\r\n pitch: 0,\r\n bearing: 0,\r\n accessToken: this.accessToken,\r\n });\r\n this.map?.flyTo({\r\n center: [(this.content?.address?.longitude || 0), (this.content?.address?.latitude || 0)],\r\n });\r\n new mapboxgl.Marker({ color: this.styles?.background.color })\r\n .setLngLat([(this.content?.address?.longitude || 0), (this.content?.address?.latitude || 0)])\r\n .addTo(this.map);\r\n }\r\n\r\n locationChangeSubscription?: Subscription;\r\n checkLocationChange(){\r\n this.locationChangeSubscription?.unsubscribe();\r\n this.locationChangeSubscription = this._eventService.locationChangeCheck.subscribe((res: AddressModel) => {\r\n if(this.content) {\r\n this.content.address = res;\r\n this.goToLocation();\r\n }\r\n })\r\n }\r\n\r\n mapStyleSubscription?: Subscription;\r\n checkMapStyleChange() {\r\n this.mapStyleSubscription?.unsubscribe();\r\n this._eventService.mapStyleChangeCheck.subscribe((res: MAP_STYLE) => {\r\n if(this.map) {\r\n this.style = `mapbox://styles/mapbox/` + mapStyle[res];\r\n this.map.setStyle(this.style)\r\n\r\n }\r\n })\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5\" [id]=\"data?.id\"\r\n [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\">\r\n <div class=\"col-10 col-sm-8 col-lg-6 display-flex justify-center\">\r\n <div class=\"map\" [simpoCorner]=\"styles?.corners\" id=\"map\"></div>\r\n </div>\r\n <div class=\"col-lg-6 d-flex flex-column justify-content-start gap-15\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n <div class=\"body-large\" [innerHTML]=\"content?.address?.name\"></div>\r\n </div>\r\n <div *ngFor=\"let item of content?.listItem?.data\">\r\n <div *ngFor=\"let input of item?.inputText;let i = index\">\r\n <div [innerHTML]=\"input.value\" [ngClass]=\"i == 0 ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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","import { Component,Input,OnInit } from '@angular/core';\r\nimport { ActionModel} from '../../styles/style.model';\r\nimport {HeaderTextStylesModel} from './header-text.model';\r\nimport { SimpoElementsModule } from '../../elements';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { Action } from 'rxjs/internal/scheduler/Action';\r\nimport { HeaderTextContentModel, HeaderTextModel } from './header-text.model';\r\n@Component({\r\n selector: 'simpo-header-text',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n ContentFitDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective\r\n\r\n ],\r\n templateUrl: './header-text.component.html',\r\n styleUrl: './header-text.component.css'\r\n})\r\n\r\nexport class HeaderTextComponent extends BaseSection implements OnInit {\r\n @Input() data?: HeaderTextModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n id !: string;\r\n action!: ActionModel;\r\n content?: HeaderTextContentModel;\r\n styles?: HeaderTextStylesModel;\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete;\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n const id = this.data?.id;\r\n const action = this.data?.action;\r\n if(!this.styles || !this.content) return;\r\n // this.styles.layout.bannerImageDisplay = this.content.image.showImage;\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"flex-column row g-2\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-center': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right' }\">\r\n <div class=\"col px-5\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div *ngIf=\"item.label === 'Tagline' || item.label === 'Heading'\" [innerHTML]=\"item.value\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div>\r\n </div>\r\n </div>\r\n <div class=\"col px-5\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div *ngIf=\"item.label === 'Subtext'\" [innerHTML]=\"item.value\" class=\"body-large\">\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"d-flex gap-2 d-md-flex mt-15\" [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\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\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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 </div>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { EventsService } from '../../services/events.service';\r\nimport BaseSection from '../BaseSection';\r\nimport { RecentBlogPostSectionModel, RecentBlogPostContentModel, BannerGridStylesModel } from './recent-blog-post-section.model';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoButtonComponent } from \"../../elements/simpo-button/simpo-button.component\";\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\nimport { ButtonModel } from '../../styles/style.model';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\r\nimport { MatIcon } from '@angular/material/icon';\r\n@Component({\r\n selector: 'simpo-recent-blog-post-section',\r\n standalone: true,\r\n imports: [\r\n BackgroundDirective,\r\n HoverDirective,\r\n CommonModule,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n OverlayDirective,\r\n AnimationDirective,\r\n BorderDirective,\r\n ContentFitDirective,\r\n ImageDirectiveDirective,\r\n ObjectPositionDirective,\r\n CornerDirective,\r\n SimpoButtonComponent,\r\n ContentTitleDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n NgxSkeletonLoaderModule,\r\n MatIcon\r\n ],\r\n templateUrl: './recent-blog-post-section.component.html',\r\n styleUrl: './recent-blog-post-section.component.css'\r\n})\r\nexport class RecentBlogPostSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?:RecentBlogPostSectionModel;\r\n @Input() index? : number;\r\n content?: RecentBlogPostContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n @Input() responseData: any[] = [];\r\n style?: BannerGridStylesModel;\r\n buttonData?: ButtonModel\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.buttonData = this.data?.action.buttons[0];\r\n\r\n for(let blog of this.responseData) {\r\n blog['img'] = blog.blocks.find((x: any) => x.type === 'image')?.data?.file?.url\r\n }\r\n }\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n\r\n getSliceParameters() {\r\n return [0, (this.content?.noOfPosts || 0)];\r\n }\r\n\r\n getBlogById(blogId: any){\r\n this._eventService.blogByIdEvent.emit(blogId);\r\n }\r\n\r\n openBlogList(){\r\n this._eventService.openBlogListEvent.emit();\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\" [ngStyle]=\"{'width' : (responseData.length || 0) == 0 ? '100%' : ''}\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large\" [simpoContentTitleSpace]=\"headingSpace\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div (click)=\"getBlogById(content.id)\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\"\r\n class=\"individual-cards\"\r\n *ngFor=\"let content of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]\">\r\n <div class=\"image\">\r\n <img [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoCorner]=\"style?.corners\" class=\"d-block mx-lg-auto img-fluid h-100\" alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\">\r\n <img [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\"\r\n alt=\"\" *ngIf=\"!content.img\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"heading-medium title mt-4\">\r\n {{content.postTitle}}\r\n </div>\r\n <div class=\"body-large adate mt-3\">\r\n {{content.createdTimeStamp | date:'EEEE, MMM, d, y'}}\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"responseData?.length == 0\" class=\"row\">\r\n <div class=\"no-blog-post\">\r\n <mat-icon>info</mat-icon>This section won't be visible because you have no published blog posts.\r\n </div>\r\n <div class=\"skeleton\" [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\" *ngFor=\"let i of [1,2,3]\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-section mt-3rem\">\r\n <button class=\"button\" (click)=\"openBlogList()\" simpoButtonDirective [id]=\"data?.id+(buttonData?.id || '')\"\r\n [buttonStyle]=\"buttonData?.styles\"\r\n [color]=\"data?.styles?.background?.accentColor\">{{buttonData?.content?.label}}</button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\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","import { Component, Input } from '@angular/core';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BlogListContentModel, BlogListSectionModel, BlogListStylesModel } from './blog-list.model';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { ContentTitleDirective, SPACING } from '../../directive/content-title-spacing.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport BaseSection from '../BaseSection';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\n\r\n@Component({\r\n selector: 'simpo-blog-list',\r\n standalone: true,\r\n imports: [CommonModule,\r\n AnimationDirective,\r\n BorderDirective,\r\n ContentFitDirective,\r\n BackgroundDirective,\r\n ImageDirectiveDirective,\r\n CornerDirective,\r\n ColumnDirectiveDirective,\r\n OverlayDirective,\r\n ContentTitleDirective,\r\n HoverDirective,\r\n HoverElementsComponent,\r\n MatIcon\r\n ],\r\n templateUrl: './blog-list.component.html',\r\n styleUrl: './blog-list.component.css'\r\n})\r\nexport class BlogListComponent extends BaseSection{\r\n @Input() responseData: any[] = [];\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n\r\n @Input() data?: BlogListSectionModel;\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super()\r\n }\r\n\r\n style?: BlogListStylesModel;\r\n blogContent?: BlogListContentModel\r\n\r\n ngOnInit(){\r\n for(let blog of this.responseData) {\r\n blog['img'] = blog.blocks.find((x: any) => x.type === 'image')?.data?.file?.url\r\n }\r\n this.style = this.data?.styles\r\n this.blogContent = this.data?.content\r\n }\r\n\r\n get headingSpace() {\r\n return this.style?.layout.headingSpacing as SPACING;\r\n }\r\n\r\n getBlogById(blogId: any){\r\n this._eventService.blogByIdEvent.emit(blogId);\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"style?.background\" class=\"total-container\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" *ngIf=\"(responseData?.length || 0) > 0;else elseBlock\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"style?.background\" [simpoBorder]=\"style?.border\" [simpoAnimation]=\"style?.animation\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div [simpoColumnDirective]=\"data?.styles?.size\" [id]=\"data?.id\" *ngFor=\"let content of responseData\">\r\n <div class=\"cards\" [simpoCorner]=\"style?.corners\" [id]=\"data?.id\">\r\n <img [src]=\"content.img\" [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n alt=\"\" *ngIf=\"content.img\"\r\n loading=\"lazy\">\r\n <img [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoCorner]=\"style?.corners\"\r\n src=\"https://dev-beeos.s3.amazonaws.com/library-media/541329c1719236963199pexels-pixabay-262508.jpg\" alt=\"\" *ngIf=\"!content.img\"\r\n loading=\"lazy\">\r\n <div class=\"p-30\">\r\n <div class=\"heading-medium title mt-4\" *ngIf=\"blogContent?.display?.showHeading\">\r\n {{content.postTitle}}\r\n </div>\r\n <ng-container>\r\n <div class=\"body-large mt-4\" *ngIf=\"blogContent?.display?.showContent\">\r\n {{ content.postSummary.length > 250 ? content.postSummary.substring(0, 250) + '...' :\r\n content.postSummary }}\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"authors\" [ngClass]=\"'justify-content-' + (style?.layout?.align || '')\">\r\n <div>\r\n <mat-icon>person</mat-icon> <span class=\"body-large\">{{content?.author?.name}}</span>\r\n </div>\r\n <div class=\"calendar_today\">\r\n <mat-icon>calendar_today</mat-icon> <span class=\"body-large\">{{content.createdTimeStamp |\r\n date:'EEEE, MMM, d, y'}}</span>\r\n </div>\r\n </div>\r\n <div class=\"button heading-large\" (click)=\"getBlogById(content.id)\" [ngClass]=\"'justify-content-' + (style?.layout?.align || '')\">\r\n Read More <mat-icon>arrow_right_alt</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</section>\r\n<ng-template #elseBlock>\r\n <div class=\"no-blog-text heading-medium\">Sorry there are no blog posts.</div>\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { EventsService } from './../../services/events.service';\r\n\r\n@Component({\r\n selector: 'simpo-view-blog',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './view-blog.component.html',\r\n styleUrl: './view-blog.component.css'\r\n})\r\nexport class ViewBlogComponent {\r\n @Input() responseData: any;\r\n\r\n constructor(\r\n private readonly _eventService: EventsService\r\n ) {}\r\n ngOnInit(){\r\n }\r\n editSection(){\r\n // this._eventService.toggleEditorEvent.emit(false);\r\n }\r\n}\r\n","<section class=\"main-section\">\r\n <div class=\"blog-details\">\r\n <h1 class=\"blog-title\">{{responseData.postTitle}}</h1>\r\n <div style=\"margin-top: 20px;\">\r\n <ng-container *ngFor=\"let item of responseData?.blocks\">\r\n <div *ngIf=\"item.type=='header'\">\r\n <h1 *ngIf=\"item.data.level==1\" [innerHTML]=\"item.data.text\"></h1>\r\n <h2 *ngIf=\"item.data.level==2\" [innerHTML]=\"item.data.text\"></h2>\r\n <h3 *ngIf=\"item.data.level==3\" [innerHTML]=\"item.data.text\"></h3>\r\n <h4 *ngIf=\"item.data.level==4\" [innerHTML]=\"item.data.text\"></h4>\r\n <h5 *ngIf=\"item.data.level==5\" [innerHTML]=\"item.data.text\"></h5>\r\n <h6 *ngIf=\"item.data.level==6\" [innerHTML]=\"item.data.text\"></h6>\r\n </div>\r\n <div *ngIf=\"item.type=='paragraph'\">\r\n <p class=\"inner-text\" [innerHTML]=\"item.data.text\"></p>\r\n </div>\r\n <div *ngIf=\"item.type=='list'\">\r\n <div *ngIf=\"item.type=='list'\">\r\n <div *ngIf=\"item.data.style=='ordered'\">\r\n <ol>\r\n <ng-container *ngFor=\"let list of item.data.items\">\r\n <li>{{ list }}</li>\r\n </ng-container>\r\n </ol>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"item.type=='delimiter'\" class=\"ce-delimiter\">\r\n </div>\r\n <div *ngIf=\"item.type=='image'\" class=\"image-container\">\r\n <img [src]=\"item.data.file.url\" alt=\"\" loading=\"lazy\">\r\n </div>\r\n <div *ngIf=\"item.type=='table'\">\r\n\r\n <table>\r\n <ng-container *ngFor=\"let data of item.data.content\">\r\n <tr>\r\n <ng-container *ngFor=\"let item of data\">\r\n <td>{{ item }}</td>\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component, Input, OnInit,HostListener} from '@angular/core';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ColorDirective } from './../../directive/color.directive';\r\nimport { LayOutModel } from '../../styles/style.model';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { TextSizeDirective } from '../../directive/text-size.directive';\r\nimport { ProcessSectionContentModel, ProcessSectionModel, ProcessSectionStylesModel } from './process-section.modal';\r\n\r\n@Component({\r\n selector: 'simpo-process-section',\r\n standalone: true,\r\n imports: [SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n AnimationDirective,\r\n SimpoContainerAligment,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ColorDirective,\r\n TextSizeDirective],\r\n templateUrl: './process-section.component.html',\r\n styleUrl: './process-section.component.css'\r\n})\r\nexport class ProcessSectionComponent extends BaseSection {\r\n @Input() data?:ProcessSectionModel;\r\n @Input() index? : number;\r\n content?: ProcessSectionContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: ProcessSectionStylesModel;\r\n\r\n deviceWidth: number = 0;\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n\r\n this.getScreenSize()\r\n\r\n }\r\n\r\n screenWidth:number=0;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?:any) {\r\n if(typeof window !== 'undefined') {\r\n this.deviceWidth = window.innerWidth;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n // this.styles.layout.bannerImageDisplay = this.content.image.showImage;\r\n \r\n }\r\n\r\n\r\n\r\n get stylesLayout() {\r\n return {...this.styles?.layout} as LayOutModel;\r\n }\r\n get getJustifyContent() {\r\n return \"justify-content: center !important;\";\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right' }\">\r\n\r\n <div class=\"col-lg-6 d-flex flex-column justify-content-start gap-15\" [simpoContainerAlignment]=\"stylesLayout\"\r\n [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\" [id]=\"data?.id\"\r\n [simpoColor]=\"styles?.background?.color\"></div>\r\n </div>\r\n <div *ngFor=\"let item of content?.listItem?.data\" class=\"carder\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\">\r\n <div class=\"first-part-card\"\r\n [ngClass]=\"item.inputText[0].label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n {{ item.inputText[0].value }}\r\n </div>\r\n <div class=\"second-part-card \" *ngIf=\"item.image.url && (deviceWidth >= 475)\">\r\n <img [src]=\"item.image.url\" [alt]=\"item.image.altText\" />\r\n </div>\r\n <div class=\"third-part-card\">\r\n <div class=\"text-element heading-medium\" [innerHtml]=\"item.inputText[1].value\">\r\n </div>\r\n <div class=\"text-element\" [innerHtml]=\"item.inputText[2].value\"\r\n [ngClass]=\"item.inputText[2].label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-10 col-sm-8 col-lg-6\" [simpoContainerAlignment]=\"stylesLayout\" *ngIf=\"content?.image?.showImage\">\r\n <img [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block mx-lg-auto img-fluid h-100\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { LayOutModel } from '../../styles/style.model';\r\nimport { SimpoElementsModule } from './../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { ObjectPositionDirective } from './../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { ColorDirective } from './../../directive/color.directive';\r\nimport { TextSizeDirective } from '../../directive/text-size.directive';\r\nimport { ProcessModernContentModel, ProcessModernModel, ProcessModernStylesModel } from './process-modern.model';\r\n@Component({\r\n selector: 'simpo-process-modern',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n\r\n\r\n //directive\r\n SimpoContainerAligment,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ColorDirective,\r\n TextSizeDirective\r\n ],\r\n templateUrl: './process-modern.component.html',\r\n styleUrl: './process-modern.component.css'\r\n})\r\nexport class ProcessModernComponent extends BaseSection implements OnInit {\r\n @Input() data?:ProcessModernModel; \r\n @Input() index? : number;\r\n content?: ProcessModernContentModel;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n styles?: ProcessModernStylesModel;\r\n\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n if(!this.styles || !this.content) return;\r\n // this.styles.layout.bannerImageDisplay = this.content.image.showImage;\r\n }\r\n get stylesLayout() {\r\n return {...this.styles?.layout} as LayOutModel;\r\n }\r\n get getJustifyContent() {\r\n return \"justify-content: center !important;\";\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\">\r\n <div class=\"container-fluid d-flex flex-column\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"row\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-large lh-2 mb-3\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n </div>\r\n <!-- starting -->\r\n <div *ngFor=\"let item of content?.listItem?.data ;let i = index\" class=\"single_card\">\r\n <div class=\"rowFlexContainer\" [ngClass]=\"{'flex-row-reverse': i % 2 === 1}\">\r\n <div class=\"imageContainer\" [ngClass]=\"{'no-image': item.image.url===''}\">\r\n <img class=\"section_image\" [src]=\"item.image.url\" [alt]=\"item.image.altText\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoCorner]=\"styles?.corners\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"content\" [ngClass]=\"{'no-image-content': item.image.url===''}\">\r\n <div class=\"numberStyle\">\r\n {{ i + 1}}\r\n </div>\r\n <div class=\"contentHeading\">\r\n {{ item.inputText[0].value }}\r\n </div>\r\n <div class=\"contentDescription\">\r\n {{ item.inputText[1].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- ending -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { Component, OnInit, Input, HostListener } from '@angular/core';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { FeatureContentModel, FeatureStylesModel, FeatureSectionModel, FeatureItemModel } from './features-section.model';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { HoverElementsComponent } from \"../../components/hover-elements/hover-elements.component\";\r\nimport { DeleteHoverElementComponent } from \"../../components/delete-hover-element/delete-hover-element.component\";\r\nimport { CommonModule } from '@angular/common';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\n\r\n@Component({\r\n selector: 'simpo-features-section',\r\n standalone: true,\r\n imports: [\r\n BackgroundDirective,\r\n HoverDirective,\r\n HoverElementsComponent,\r\n DeleteHoverElementComponent,\r\n CommonModule,\r\n OverlayDirective,\r\n BorderDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ImageDirectiveDirective,\r\n ObjectPositionDirective,\r\n CornerDirective\r\n ],\r\n templateUrl: './features-section.component.html',\r\n styleUrl: './features-section.component.css'\r\n})\r\nexport class FeaturesSectionComponent extends BaseSection implements OnInit {\r\n @Input() data?: FeatureSectionModel;\r\n @Input() edit?: boolean;\r\n content?: FeatureContentModel;\r\n styles?: FeatureStylesModel;\r\n @Input() delete? : boolean;\r\n @Input() index? : number;\r\n\r\n\r\n listItems : any;\r\n constructor(\r\n private readonly _eventService : EventsService,\r\n ){\r\n super();\r\n this.getScreenSize();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.listItems = this.data?.content.listItem.data\r\n this.styles = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n this.changetab(0);\r\n }\r\n\r\n screenWidth:number=0;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?:any) {\r\n if(typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n\r\n \r\n selectedTabIndex = 0;\r\n currentData?: FeatureItemModel;\r\n changetab(index: number) {\r\n this.selectedTabIndex = index;\r\n this.currentData = this.data?.content.listItem.data[this.selectedTabIndex];\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n","<section [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" [simpoBorder]=\"styles?.border\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\">\r\n <div class=\"container-fluid d-flex flex-column\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"row\" *ngIf=\"screenWidth > 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-medium mb-1\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n <div class=\" box d-flex justify-content-between mt-5 mb-5\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\">\r\n <div class=\"tab\" [ngClass]=\"{'active': index === selectedTabIndex}\" (click)=\"changetab(index)\">\r\n {{ tab.inputText[0].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row-container\" *ngIf=\"screenWidth <= 475\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let text of data?.content?.inputText\">\r\n <div class=\"heading-medium mb-1\" [innerHTML]=\"text.value\"></div>\r\n </div>\r\n <div class=\" box d-flex justify-content-between mt-5 mb-5\">\r\n <div *ngFor=\"let tab of content?.listItem?.data; let index = index\">\r\n <div class=\"tab\" [ngClass]=\"{'active': index === selectedTabIndex}\" (click)=\"changetab(index)\">\r\n {{ tab.inputText[0].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content d-flex g-15 mt-5\">\r\n <div class=\"image\">\r\n <img [src]=\"currentData?.image?.url\" alt=\"\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"currentData?.image?.position\"\r\n [simpoCorner]=\"styles?.corners\"\r\n class=\"d-block mx-lg-auto img-fluid h-100\"\r\n loading=\"lazy\">\r\n </div>\r\n <div class=\"content-heading heading-large\" [id]=\"data?.id\">\r\n {{currentData?.inputText?.[1]?.value}}\r\n <div class=\"content-description body-large mt-5\">\r\n {{currentData?.inputText?.[2]?.value}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, Input } from '@angular/core';\r\nimport { TextPosition } from '../../styles/index';\r\nimport { EventsService } from '../../services/events.service';\r\nimport { SimpoElementsModule } from '../../elements/index';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components/index';\r\nimport { ButtonModel } from '../../styles/style.model';\r\n\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { ContentTitleDirective } from '../../directive/content-title-spacing.directive';\r\nimport { SPACING } from '../../styles/index';\r\nimport { TestimonialFullwidthContentModel, TestimonialFullwidthSectionModel, TestimonialFullwidthStylesModel } from './testimonial-fullwidth.model';\r\n\r\n@Component({\r\n selector: 'simpo-testimonial-fullwidth',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n ContentFitDirective,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n AnimationDirective,\r\n BackgroundDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ContentTitleDirective\r\n ],\r\n templateUrl: './testimonial-fullwidth.component.html',\r\n styleUrl: './testimonial-fullwidth.component.css'\r\n})\r\nexport class TestimonialFullwidthComponent extends BaseSection{\r\n @Input() data?: TestimonialFullwidthSectionModel;\r\n @Input() index? : number;\r\n @Input() edit?: boolean;\r\n @Input() delete? : boolean;\r\n TextPosition = TextPosition;\r\n content?: TestimonialFullwidthContentModel;\r\n style?: TestimonialFullwidthStylesModel;\r\n constructor(private _eventService : EventsService) {\r\n super();\r\n }\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.style = this.data?.styles;\r\n this.deleteSelected = this.delete\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"style?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div #mainContainer [id]=\"data?.id\" [simpoOverlay]=\"style?.background\">\r\n <div class=\"container-fluid\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\" [simpoLayout]=\"style?.layout\">\r\n <div class=\"row w-100\" [id]=\"data?.id\" [simpoAnimation]=\"style?.animation\">\r\n\r\n <div id=\"testimonialCarousel\" class=\"carousel slide mb-1\" data-ride=\"carousel\" data-interval=\"2000\">\r\n <ol class=\"carousel-indicators\">\r\n <li *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\"\r\n data-bs-target=\"#testimonialCarousel\" [attr.data-bs-slide-to]=\"i\"></li>\r\n </ol>\r\n <div class=\"carousel-inner\">\r\n <div class=\"single_card carousel-item\"\r\n *ngFor=\"let item of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\">\r\n <!-- this is testimonial cards start-->\r\n\r\n <div class=\"main-section\">\r\n <div class=\"left\">\r\n <div class=\"heading\">\r\n <div class=\"text-element\"\r\n [ngClass]=\"item.inputText[0].label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n {{ item.inputText[0].value }}\r\n </div>\r\n </div>\r\n <div class=\"subtext\">\r\n <div class=\"text-element\" [innerHtml]=\"item.inputText[1].value\"\r\n [ngClass]=\"item.inputText[1].label === 'Subtext' ? 'body-large' : 'heading-large lh-2 mb-3'\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <img [src]=\"item.image.url\" [alt]=\"item.image.altText\" class=\"person-img\"\r\n [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\"\r\n [simpoCorner]=\"style?.corners\">\r\n <div class=\"person-details\">\r\n <div>\r\n <div class=\"person-name\"\r\n [ngClass]=\"item.inputText[2].label === 'Person-Name' ? 'body-large' : 'heading-large '\">\r\n {{ item.inputText[2].value }}\r\n </div>\r\n <div class=\"person-type\"\r\n [ngClass]=\"item.inputText[3].label === 'Person-Type' ? 'body-large' : 'heading-large lh-2 mb-3'\">\r\n {{ item.inputText[3].value }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- this is testimonial cards start-->\r\n </div>\r\n <a class=\"carousel-control-prev\" data-bs-target=\"#testimonialCarousel\" role=\"button\"\r\n data-bs-slide=\"prev\">\r\n <span class=\"carousel-control-prev-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Previous</span>\r\n </a>\r\n <a class=\"carousel-control-next\" data-bs-target=\"#testimonialCarousel\" role=\"button\"\r\n data-bs-slide=\"next\">\r\n <span class=\"carousel-control-next-icon previous-icon\" aria-hidden=\"true\"></span>\r\n <span class=\"sr-only\">Next</span>\r\n </a>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\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</div>\r\n","import { Component,Input,HostListener,OnInit, Directive } from '@angular/core';\r\nimport { ActionModel} from '../../styles/style.model';\r\nimport { SimpoElementsModule } from '../../elements';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from './../../services/events.service';\r\nimport { Action } from 'rxjs/internal/scheduler/Action';\r\nimport { LogoShowcaseContentModel, LogoShowcaseSection, LogoShowcaseStylesModel } from './logo-showcase.modal';\r\nimport { logoDirection, logoSpeed } from '../../styles/index';\r\nimport { showCaseType } from '../../styles/index';\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'simpo-logo-showcase',\r\n standalone: true,\r\n imports: [SimpoButtonComponent,SimpoElementsModule,SimpoComponentModule,CommonModule,MatGridListModule,AnimationDirective,BackgroundDirective,ContentFitDirective,BorderDirective,BannerContentFitDirective,ButtonDirectiveDirective,ColumnDirectiveDirective,ContainerFitDirective,CornerDirective,simpoConetenAlignmentDirective,SimpoFooterLayoutDirective,HoverDirective,ImageDirectiveDirective,OverlayDirective,PositionLayoutDirectiveDirective,TextBackgroundDirectiveDirective,ObjectPositionDirective],\r\n templateUrl: './logo-showcase.component.html',\r\n styleUrl: './logo-showcase.component.css'\r\n})\r\nexport class LogoShowcaseComponent extends BaseSection implements OnInit {\r\n @Input() data?: LogoShowcaseSection;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n id !: string;\r\n action!: ActionModel;\r\n content?:LogoShowcaseContentModel ;\r\n styles?: LogoShowcaseStylesModel;\r\n logoSpeedClass: string = '';\r\n logoDirectionClass: string = '';\r\n isFullWidth : boolean = true;\r\n\r\n\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ) {\r\n super();\r\n this.getScreenSize();\r\n }\r\n\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.deleteSelected = this.delete;\r\n this.logoSpeedClass = this.styles?.logoSpeed || logoSpeed.Normal;\r\n this.logoDirectionClass = this.styles?.logoDirection || logoDirection.Left;\r\n this.isFullWidth = this.styles?.fullWidth || true;\r\n if (this.styles?.showCaseType === 'Carousal') {\r\n console.log(\"inside the Carousal\");\r\n }\r\n // console.log(this.animationSpeed);\r\n // console.log(this.logoSpeedClass);\r\n console.log(this.logoDirectionClass);\r\n // this.logoDirectionClass = this.logoDirectionClass === logoDirection.Left ? 'Left' : 'Right';\r\n // this.logoDirectionClass = this.styles?.logoDirection === logoDirection.Left ? 'Left' : 'Right';\r\n // this.logoDirectionClass = this.styles?.logoDirection || logoDirection.Left;\r\n }\r\n\r\n\r\n get animationDuration(){\r\n switch(this.logoSpeedClass){\r\n case 'Slow':\r\n return logoSpeed.Slow\r\n case 'Normal':\r\n return logoSpeed.Normal\r\n case 'Fast':\r\n return logoSpeed.Fast\r\n case 'VeryFast':\r\n return logoSpeed.VeryFast\r\n }\r\n return logoSpeed.Normal\r\n }\r\n get animationDirection(){\r\n switch(this.logoDirectionClass){\r\n case 'Right':\r\n return logoDirection.Right\r\n case 'Left':\r\n return logoDirection.Left\r\n\r\n }\r\n return logoDirection.Left\r\n }\r\n\r\n\r\n\r\n\r\n\r\n screenWidth: number = 475;\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?: number) {\r\n if (typeof window !== 'undefined') {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n","<div *ngIf=\"styles?.showCaseType==='Grid'\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\">\r\n <div class=\"col-xxl-8 px-4 py-5 w-100 \" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"row g-5 gridtext\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n *ngIf=\"styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right'\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right'}\">\r\n\r\n <div class=\"col-5 gridimg w-full\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-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\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-7 d-flex flex-wrap flex-1 w-full\">\r\n <div class=\"slider flex overflow-hidden w-full\">\r\n <div class=\"slider-track\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\">\r\n <div class=\"slides\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\"\r\n *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </div> -->\r\n </div>\r\n </div>\r\n <div class=\"flex-column row g-2\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" *ngIf=\"styles?.positionLayout?.value === 'bottom'\">\r\n <div class=\" px-5\" [id]=\"data?.id\"\r\n [ngClass]=\"{'align-items-stretch':styles?.layout?.align==='left' || styles?.layout?.align==='center' || styles?.layout?.align==='right'}\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12 flex flex-wrap items-center w-full gap-2 justify-center\">\r\n <!-- flex flex-wrap items-center w-full gap-2 justify-center -->\r\n <div class=\"slider flex overflow-hidden w-full\">\r\n <div class=\"slider-track w-full\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\">\r\n <div class=\"slides\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\"\r\n *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </div> -->\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n </div>\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 </div>\r\n</div>\r\n\r\n<div *ngIf=\"styles?.showCaseType==='Carousal'\" (click)=\"editSection()\">\r\n <div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\">\r\n\r\n <div class=\"col-xxl-8 px-4 py-5 w-100\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n <div class=\"flex-column row g-2\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\">\r\n <div class=\"mainsec px-5\" [id]=\"data?.id\"\r\n [ngClass]=\"{'align-items-stretch':styles?.layout?.align==='left' || styles?.layout?.align==='center' || styles?.layout?.align==='right'}\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"d-flex gap-2 d-md-flex mt-15\" [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\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\"></app-button-element>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{\r\n 'fullwidth flex-1 inline-edit ': styles?.fullWidth,\r\n 'nofullwidth flex-1 inline-edit ': !styles?.fullWidth\r\n }\">\r\n <div class=\"masking\">\r\n\r\n <div class=\"slider animation \" [style.animationDuration]=\"animationDuration\"\r\n [style.animationDirection]=\"animationDirection\">\r\n <div class=\"slider-track2\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\">\r\n <div class=\"slides2\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\"\r\n *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n <div class=\"slides\"\r\n [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'}\"\r\n *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n <div class=\"slides\" [ngClass]=\"{'logotype-boxed': styles?.logoType === 'Boxed' , 'logotype-basic' : styles?.logoType === 'Basic'\r\n }\" *ngFor=\"let item of content?.listItem?.data;let i = index\">\r\n <img [simpoCorner]=\"styles?.corners\" [src]=\"item?.image?.url\"\r\n [alt]=\"item?.image?.altText\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\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 </div>\r\n</div>\r\n","import { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { OverlayValue } from \"../styles/index\";\r\n\r\n@Directive({\r\n selector: '[simpoBlurContent]',\r\n standalone: true,\r\n})\r\nexport class SimpoBlurContentDirective implements OnChanges, OnInit, OnDestroy {\r\n\r\n @Input(\"simpoBlurContent\") simpoBlurContent?: OverlayValue;\r\n constructor(\r\n private el: ElementRef\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.simpoBlurContent)\r\n this.el.nativeElement.style.setProperty('filter', 'blur('+ this.getOverlayValue +')');\r\n }\r\n ngOnDestroy(): void {\r\n\r\n }\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n get getOverlayValue() {\r\n switch(this.simpoBlurContent) {\r\n case OverlayValue.LIGHT:\r\n return OverlayValue.LIGHT;\r\n case OverlayValue.MODERATE:\r\n return OverlayValue.MODERATE;\r\n case OverlayValue.NONE:\r\n return OverlayValue.NONE;\r\n case OverlayValue.STRONG:\r\n return OverlayValue.STRONG;\r\n case OverlayValue.VERY_STRONG:\r\n return OverlayValue.VERY_STRONG;\r\n default:\r\n return OverlayValue.LIGHT;\r\n }\r\n }\r\n}\r\n","import { Component,Input,OnInit,ElementRef, ViewChild } from '@angular/core';\r\nimport { ActionModel, BackgroundModel, LayOutModel} from '../../styles/style.model';\r\nimport { SimpoElementsModule } from '../../elements';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SimpoComponentModule } from '../../components';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { SimpoButtonComponent } from '../../elements/simpo-button/simpo-button.component';\r\nimport { AnimationDirective } from '../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../directive/background-directive';\r\nimport { ContentFitDirective } from '../../directive/content-fit-directive';\r\nimport { BannerContentFitDirective } from '../../directive/banner-content-fit-directive';\r\nimport { BorderDirective } from '../../directive/border-directive';\r\nimport { ButtonDirectiveDirective } from '../../directive/button-directive.directive';\r\nimport { ColumnDirectiveDirective } from '../../directive/column-directive.directive';\r\nimport { ContainerFitDirective } from '../../directive/container-fir.directive';\r\nimport { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';\r\nimport { CornerDirective } from '../../directive/corner-directive';\r\nimport { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';\r\nimport { HoverDirective } from '../../directive/hover-element-directive';\r\nimport { ImageDirectiveDirective } from '../../directive/image-directive.directive';\r\nimport { OverlayDirective } from '../../directive/overlay-directive';\r\nimport { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';\r\nimport { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';\r\nimport { ObjectPositionDirective } from '../../directive/image-position.directive';\r\nimport BaseSection from '../BaseSection';\r\nimport { EventsService } from './../../services/events.service';\r\n// import { Action } from 'rxjs/internal/scheduler/Action';\r\nimport { BannerCarouselContentModel, BannerCarouselModel, BannerCarouselStylesModel } from './banner-carousel.model';\r\nimport { ColorDirective } from '../../directive/color.directive';\r\nimport { SimpoContainerAligment } from '../../directive/container-alignment.directive';\r\nimport { SimpoBlurContentDirective } from '../../directive/blur-content.directive';\r\nimport { OverlayValue } from \"../../styles/index\";\r\n\r\n@Component({\r\n selector: 'simpo-banner-carousel',\r\n standalone: true,\r\n imports: [\r\n SimpoElementsModule,\r\n CommonModule,\r\n SimpoComponentModule,\r\n MatGridListModule,\r\n SimpoButtonComponent,\r\n AnimationDirective,\r\n BackgroundDirective,\r\n simpoConetenAlignmentDirective,\r\n ContentFitDirective,\r\n BannerContentFitDirective,\r\n BorderDirective,\r\n ButtonDirectiveDirective,\r\n ColumnDirectiveDirective,\r\n ContainerFitDirective,\r\n simpoConetenAlignmentDirective,\r\n CornerDirective,\r\n SimpoFooterLayoutDirective,\r\n HoverDirective,\r\n ImageDirectiveDirective,\r\n OverlayDirective,\r\n PositionLayoutDirectiveDirective,\r\n TextBackgroundDirectiveDirective,\r\n ObjectPositionDirective,\r\n ColorDirective,\r\n SimpoContainerAligment,\r\n SimpoBlurContentDirective\r\n ],\r\n templateUrl: './banner-carousel.component.html',\r\n styleUrl: './banner-carousel.component.css'\r\n})\r\nexport class BannerCarouselComponent extends BaseSection implements OnInit{\r\n @Input() data?: BannerCarouselModel;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n id !: string;\r\n action!: ActionModel;\r\n content?: BannerCarouselContentModel;\r\n styles?: BannerCarouselStylesModel;\r\n @ViewChild('mainContainer') _mainContainer: ElementRef | null = null;\r\n\r\n currentIndex: number = 0;\r\n selectSlide(index: number) {\r\n this.currentIndex = index;\r\n }\r\n\r\n constructor(\r\n private _eventService : EventsService\r\n ){\r\n super();\r\n }\r\n ngOnInit(){\r\n this.deleteSelected = this.delete\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n const id = this.data?.id;\r\n const action = this.data?.action;\r\n if(!this.styles || !this.content) {\r\n return;\r\n }\r\n }\r\n get stylesLayout() {\r\n return {...this.styles?.layout} as LayOutModel;\r\n }\r\n get getBlurValue() {\r\n return this.styles?.background?.overlay;\r\n }\r\n get getBackgroundColor() {\r\n return {...this.styles?.background} as BackgroundModel\r\n }\r\n get getBackgroundOpacity() {\r\n if (this.styles?.background?.overlay)\r\n return this.opacityValue(this.styles.background?.overlay);\r\n return '0';\r\n }\r\n\r\n opacityValue(value: OverlayValue) {\r\n \r\n switch(value) {\r\n case \"LIGHT\" as OverlayValue:\r\n return '0.2';\r\n case \"MODERATE\" as OverlayValue:\r\n return '0.3';\r\n case \"STRONG\" as OverlayValue:\r\n return '0.5';\r\n case \"VERY_STRONG\" as OverlayValue:\r\n return '0.7'\r\n default:\r\n return '0';\r\n }\r\n }\r\n editSection(){\r\n this._eventService.toggleEditorEvent.emit(false);\r\n setTimeout(()=> {\r\n this._eventService.editSection.emit({data:this.data});\r\n }, 100);\r\n }\r\n\r\n}\r\n","<div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\r\n class=\"total-container\" (click)=\"editSection()\">\r\n <div class=\"flex relative fix-safari-flickering\" [ngStyle]=\"{\r\n 'min-height': styles?.layout?.fit === 'content' ? 'calc(134px)' :\r\n styles?.layout?.fit === 'screen' ? 'calc(134px+ 100vh)' : '',\r\n 'padding-top': '0px',\r\n 'padding-bottom': '0px'\r\n }\">\r\n <div class=\"flex break-word w-full items-center\">\r\n\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide carousel-fade \" data-ride=\"carousel\" data-interval=\"2000\">\r\n <ol class=\"carousel-indicators\">\r\n <li *ngFor=\"let img of content?.listItem?.data; let i = index\" [class.active]=\"i === 0\"\r\n data-bs-target=\"#testimonialCarousel\" [attr.data-bs-slide-to]=\"i\"></li>\r\n </ol>\r\n <div class=\"carousel-inner\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"carousel-item \"\r\n [ngClass]=\"{'active': i === currentIndex}\">\r\n <img [src]=\"item.image.url\" [simpoBlurContent]=\"getBlurValue\" class=\"imgclass w-100\"\r\n alt=\"item.image.alt || 'Carousel image'\">\r\n <div class=\"overlay\" [style.opacity]=\"getBackgroundOpacity\"\r\n [style.backgroundColor]=\"styles?.background?.color ?? '#fff'\"></div>\r\n </div>\r\n <div class=\"col-xxl-8 px-5 mx-auto relative pb-20 pt-20 w-100 opacity-100 position-relative\"\r\n style=\"z-index: 1;\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\">\r\n\r\n <div class=\"row g-5 justify-content-start\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\"\r\n [ngClass]=\"{'align-items-stretch':styles?.layout?.align==='left' || styles?.layout?.align==='center' || styles?.layout?.align==='right'}\">\r\n <div class=\"col-lg-6 w-full max-w-2xl items-start cursor-pointer d-flex flex-column \"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-4' : 'body-large'\">\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"customclass w-full\" [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\r\n <div *ngFor=\"let button of data?.action?.buttons\" class=\"btn-container \">\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\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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</div>\r\n","import { v1 as uuidv1 } from 'uuid';\r\nexport class OrderedItems {\r\n itemId: string;\r\n businessId: string;\r\n itemName: string;\r\n brandName: string;\r\n imgUrl: string;\r\n price: number;\r\n itemTax: number;\r\n quantity: number;\r\n discountedPrice: number;\r\n taxAfterDiscount: number;\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n this.itemId = json?.[\"itemId\"] ?? uuidv1();\r\n this.businessId = json?.[\"businessId\"];\r\n this.itemName = json?.[\"name\"];\r\n this.brandName = json?.[\"brandName\"];\r\n this.imgUrl = json?.[\"itemImages\"]?.[0]?.[\"imgUrl\"];\r\n this.price = json?.[\"price\"]?.[\"value\"];\r\n this.itemTax = json?.[\"price\"]?.[\"taxAmount\"];\r\n this.quantity = json?.[\"quantity\"];\r\n this.discountedPrice = json?.[\"price\"]?.[\"discountedPrice\"];\r\n this.taxAfterDiscount = json?.[\"taxAfterDiscount\"];\r\n }\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport UserCart from \"../ecommerce/json/user-cart.json\";\r\nimport UserFavourites from \"../ecommerce/json/user-favourite.json\";\r\nimport UserDetails from \"../ecommerce/json/user-details.json\";\r\nimport { OrderedItems } from '../ecommerce/styles/OrderedItems.modal';\r\nimport { Product } from '../ecommerce/styles/product.modal';\r\nimport { RestService } from './rest.service';\r\nimport { StorageServiceService } from './storage.service';\r\nimport { forkJoin } from 'rxjs';\r\nimport {User} from \"../ecommerce/styles/user.modal\";\r\nimport { Cart } from '../ecommerce/styles/cart.modal';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CartService {\r\n constructor(\r\n private readonly storageService: StorageServiceService,\r\n private readonly restService: RestService\r\n ) {}\r\n\r\n public addItemToCart(product: Product) {\r\n\r\n if (product.quantity) {\r\n\r\n const orderedItem = this.objectMapper(product);\r\n let productIdx: number = -1;\r\n UserCart.orderedItems.forEach((item: OrderedItems, idx)=> productIdx = (item.itemId == product.itemId) ? idx : -1);\r\n if (productIdx >= 0) {\r\n (UserCart.orderedItems[productIdx] as OrderedItems).quantity = product.quantity;\r\n } else {\r\n UserCart.orderedItems.push(orderedItem as never);\r\n }\r\n console.log(UserCart);\r\n\r\n this.storageService.addProductToCart(orderedItem);\r\n } else {\r\n // remove item from cart\r\n this.removeItemFromCart(product);\r\n }\r\n }\r\n public addItemToFavourite(product: Product) {\r\n\r\n if (product.quantity) {\r\n const orderedItem = this.objectMapper(product);\r\n\r\n let productIdx: number = -1;\r\n UserFavourites.orderedItems.forEach((item: OrderedItems, idx)=> productIdx = (item.itemId == product.itemId) ? idx : -1);\r\n if (productIdx >= 0) {\r\n (UserFavourites.orderedItems[productIdx] as OrderedItems).quantity = product.quantity;\r\n } else {\r\n UserFavourites.orderedItems.push(orderedItem as never);\r\n }\r\n\r\n this.storageService.addProductToWishlist(orderedItem); \r\n } else {\r\n this.removeItemFromFavourite(product);\r\n }\r\n }\r\n public removeItemFromFavourite(product: Product) {\r\n const index = this.getItemIdxJSON(product.itemId, 'FAVOURITE');\r\n if (index >= 0) {\r\n const item = UserFavourites.orderedItems.splice(index, 1)[0];\r\n // UserFavourites.orderedItems.push(item as never);\r\n this.storageService.removeProductFromWishlist(product.itemId);\r\n }\r\n }\r\n public removeItemFromCart(product: Product) {\r\n const index = this.getItemIdxJSON(product.itemId, 'CART');\r\n if (index >= 0) {\r\n const item = UserCart.orderedItems.splice(index, 1)[0];\r\n // UserCart.orderedItems.push(item as never);\r\n this.storageService.removeProductFromCart(product.itemId);\r\n }\r\n }\r\n // public convertFavToCart(product: OrderedItems) {\r\n // const index = this.getItemIdxJSON(product.getItemId, UserFavourites);\r\n // if (index >= 0) {\r\n // const item = UserFavourites.orderedItems.splice(index, 1)[0];\r\n // UserCart.orderedItems.push(item as never);\r\n // }\r\n // }\r\n // public convertCartToFav(product: OrderedItems) {\r\n // const index = this.getItemIdxJSON(product.getItemId, UserCart);\r\n // if (index >= 0) {\r\n // const item = UserCart.orderedItems.splice(index, 1)[0];\r\n // UserFavourites.orderedItems.push(item as never);\r\n // }\r\n // }\r\n\r\n public storeItemToDB(product: Product, type: 'CART' | 'WISHLIST') {\r\n if (type == \"CART\") {\r\n const orderProduct: OrderedItems = this.objectMapper(this.storageService.getProductFromCart(product.itemId) as unknown as Product);\r\n \r\n if (orderProduct) {\r\n this.storageService.addProductToCart(orderProduct);\r\n UserCart.orderedItems.push(orderProduct as never);\r\n }\r\n } else {\r\n const orderProduct: OrderedItems = this.objectMapper(this.storageService.getProductFromWishlist(product.itemId) as unknown as Product);\r\n \r\n if (orderProduct) {\r\n this.storageService.addProductToWishlist(orderProduct);\r\n UserFavourites.orderedItems.push(orderProduct as never);\r\n }\r\n }\r\n }\r\n\r\n public getItemIdxJSON(itemId: string, type: 'FAVOURITE' | 'CART') {\r\n const json = type == \"FAVOURITE\" ? UserFavourites : UserCart;\r\n let productIndex: number = -1;\r\n json.orderedItems.forEach((p: any, idx: number)=> {\r\n if (p.itemId == itemId)\r\n productIndex = idx;\r\n });\r\n return productIndex;\r\n }\r\n public getItemByIdx(itemId: string, type: 'FAVOURITE' | 'CART'): OrderedItems | null {\r\n const productIdx = this.getItemIdxJSON(itemId, type);\r\n console.log(type, productIdx);\r\n const json = (type == \"FAVOURITE\") ? UserFavourites : UserCart;\r\n if (productIdx >= 0)\r\n return json.orderedItems[productIdx];\r\n return null\r\n }\r\n\r\n private objectMapper(product: Product): OrderedItems {\r\n return new OrderedItems(product);\r\n }\r\n\r\n public storeDataToServer() {\r\n const userCart = UserCart as never as Cart;\r\n const userWishlist = UserFavourites as never as Cart;\r\n if (userCart.cartId?.length == 0)\r\n delete userCart.cartId;\r\n if (userWishlist.cartId?.length == 0)\r\n delete userWishlist.cartId;\r\n\r\n return forkJoin([\r\n this.restService.addItemToDB(UserCart),\r\n this.restService.addItemToDB(UserFavourites)\r\n ]);\r\n }\r\n public storeDBToJSON() {\r\n \r\n // this.storageService.getUserCart().then((response)=> {\r\n // \r\n // })\r\n // const userId = UserDetails.user?.userId;\r\n // if (!userId)\r\n // return;\r\n // this.restService.getUserItems(userId, \"CART\").subscribe((response: any)=> {\r\n // UserCart.orderedItems = response.data.orderedItems;\r\n // UserCart.billdetails = response.data.billdetails;\r\n // UserCart.totalAmount = response.totalAmount;\r\n // })\r\n // this.restService.getUserItems(userId, \"WISHLIST\").subscribe((response: any)=> {\r\n // UserFavourites.orderedItems = response.data.orderedItems;\r\n // UserFavourites.billdetails = response.data.billdetails;\r\n // UserFavourites.totalAmount = response.totalAmount;\r\n // })\r\n }\r\n}","import { Component, HostListener, Inject, Input, OnChanges, OnDestroy, PLATFORM_ID, SimpleChanges } from '@angular/core';\r\nimport { FeaturedProductContentModal, FeaturedProductModal, FeaturedProductStylesModel } from './featured-products.modal';\r\nimport { Product, ItemImage } from '../../styles/product.modal';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../../directive/background-directive';\r\nimport { BorderDirective } from '../../../directive/border-directive';\r\nimport { CornerDirective } from '../../../directive/corner-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { OverlayDirective } from '../../../directive/overlay-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport { TextBackgroundDirectiveDirective } from '../../../directive/text-background-directive.directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { ColorDirective } from '../../../directive/color.directive';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { ButtonModel } from '../../../styles/style.model';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport {} from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport UserCart from '../../json/user-cart.json';\r\nimport { OrderedItems } from '../../../ecommerce/styles/OrderedItems.modal';\r\n\r\n@Component({\r\n selector: 'simpo-featured-products',\r\n standalone: true,\r\n imports: [\r\n CommonModule, \r\n FormsModule,\r\n SimpoComponentModule,\r\n \r\n// TODO: `HttpClientModule` should not be imported into a component directly.\r\n// Please refactor the code to add `provideHttpClient()` call to the provider list in the\r\n// application bootstrap logic and remove the `HttpClientModule` import from this component.\r\n\r\n //directive\r\n MatIcon,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n BackgroundDirective,\r\n BorderDirective,\r\n CornerDirective,\r\n HoverDirective,\r\n OverlayDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective,\r\n ButtonDirectiveDirective\r\n ],\r\n templateUrl: './featured-products.component.html',\r\n styleUrl: './featured-products.component.css'\r\n})\r\nexport class FeaturedProductsComponent extends BaseSection implements OnDestroy {\r\n @Input() data?: FeaturedProductModal;\r\n @Input() responseData?: Product[]\r\n @Input() index? : number;\r\n @Input() isRelatedProduct: boolean = false;\r\n edit? : boolean = true;\r\n @Input() delete? : boolean;\r\n content?: FeaturedProductContentModal;\r\n styles?: FeaturedProductStylesModel;\r\n button?: ButtonModel;\r\n\r\n private _eventSubscriber: Subscription | null = null;\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private readonly _eventService : EventsService,\r\n private readonly restService: RestService,\r\n private readonly router: Router,\r\n private readonly cartService: CartService\r\n ) {\r\n super()\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.getScreenSize();\r\n }\r\n }\r\n screenWidth: number = 0;\r\n @HostListener(\"window: resize\", [\"$event\"])\r\n getScreenSize() {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.button = this.data?.action.buttons[0];\r\n // if (this.isRelatedProduct) {\r\n this.getFeatureProduct();\r\n // }\r\n this._eventSubscriber = this._eventService.featureCollectionList.subscribe((response)=> {\r\n this.getFeatureProduct();\r\n })\r\n }\r\n ngOnDestroy(): void {\r\n if (this._eventSubscriber)\r\n this._eventSubscriber?.unsubscribe();\r\n }\r\n\r\n getProductWidth() {\r\n return this.screenWidth > 475 ? (this.screenWidth < 1025 ? '25%' : 'calc(' + ((100 / (this.styles?.elementInRow || 4))) + '%)') : (this.styles?.mobileColumn === 1 ? '100%' : '50%')\r\n }\r\n\r\n getSliceParameters() {\r\n return [0, (this.styles?.maximumProduct || 0)];\r\n }\r\n\r\n getFeatureProduct() {\r\n this.restService.getFeaturedProduct(this.content?.collectionId).subscribe((response: any)=> {\r\n this.responseData = response;\r\n this.responseData?.forEach((product: any)=> {\r\n UserCart.orderedItems.forEach((item: OrderedItems)=> {\r\n if (item.itemId == product.itemId)\r\n product.quantity = item.quantity;\r\n })\r\n })\r\n })\r\n }\r\n addItemToCart(product: Product, type: 'ADD' | 'SUBSTRACT') {\r\n product.quantity += (type == 'ADD' ? 1 : -1); \r\n this.cartService.addItemToCart(product);\r\n }\r\n toggleItemToFav(product: Product, type: 'ADD' | 'REMOVE') {\r\n if (type == 'ADD')\r\n this.cartService.addItemToFavourite(product);\r\n else\r\n this.cartService.removeItemFromFavourite(product);\r\n }\r\n\r\n proceedToProductDesc(productId: any){\r\n this.router.navigate([`details`], {queryParams: {id: productId}});\r\n // this._eventService.redirectToPage.emit({redirectTo: '/details', data: {productId: productId}})\r\n }\r\n\r\n isItemFav(product: Product) {\r\n return this.cartService.getItemIdxJSON(product.itemId, 'FAVOURITE') > -1;\r\n }\r\n\r\n togglePreviewImage(product: Product, idx: number) {\r\n const element = document.getElementById('preview_'+idx);\r\n element?.classList.add(\"transition-preivew\");\r\n\r\n setTimeout(()=> {\r\n product.prviewIdx = ((product?.itemImages?.length ?? 0) > 1 ? 1 : 0);\r\n element?.classList.remove('transition-preivew');\r\n }, 50);\r\n }\r\n}\r\n","<section class=\"container-fluid total-container\" [id]=\"data?.id\" >\r\n <div [id]=\"data?.id\" class=\"display-block\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\"\r\n [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <img src=\"https://dev-beeos.s3.amazonaws.com/library-media/714126c1707378935732span.png\" alt=\"\"\r\n class=\"span-img mt-15\">\r\n <div class=\"product-parent\" *ngIf=\"responseData && responseData.length > 0\">\r\n <div *ngFor=\"let product of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]; let idx = index\" class=\"product\"\r\n [style.width]=\"getProductWidth()\">\r\n <div *ngIf=\"!(product.itemImages.length > 0 && product.itemImages[0].imgUrl)\" class=\"default-image\"(click)=\"proceedToProductDesc(product.itemId)\">\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"product.itemImages.length > 0 && product.itemImages[0].imgUrl\"(click)=\"proceedToProductDesc(product.itemId)\">\r\n <img [id]=\"'preview_'+idx\" [src]=\"product.itemImages[product.prviewIdx]?.imgUrl\" alt=\"\" class=\"product-img preivew\" (mouseenter)=\"togglePreviewImage(product, idx)\" (mouseleave)=\"product.prviewIdx = 0\">\r\n </div>\r\n <div class=\"mt-15\">\r\n <div class=\"product-name heading-large\" [id]=\"data?.id\" [simpoColor]=\"styles?.background?.color\">\r\n {{product.name}}</div>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"price body-large\" [id]=\"data?.id\" [simpoColor]=\"styles?.background?.color\">\r\n ₹\r\n {{product.price.sellingPrice}}\r\n </div>\r\n <div *ngIf=\"content?.display?.showButton\" class=\"add-to-cart-btn\">\r\n <mat-icon [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"toggleItemToFav(product, 'ADD')\" *ngIf=\"!isItemFav(product)\">favorite_border</mat-icon>\r\n <mat-icon [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"toggleItemToFav(product, 'REMOVE')\" *ngIf=\"isItemFav(product)\">favorite</mat-icon>\r\n <button simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\" *ngIf=\"!product.quantity\" (click)=\"addItemToCart(product, 'ADD')\">{{content?.button}}</button>\r\n <div class=\"quantity\" *ngIf=\"product.quantity\">\r\n <span (click)=\"addItemToCart(product, 'SUBSTRACT')\">-</span>\r\n <span>{{product.quantity}}</span>\r\n <span (click)=\"addItemToCart(product, 'ADD')\">+</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, HostListener, Inject, Input, PLATFORM_ID } from '@angular/core';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { BackgroundDirective } from '../../../directive/background-directive';\r\nimport { BorderDirective } from '../../../directive/border-directive';\r\nimport { CornerDirective } from '../../../directive/corner-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { OverlayDirective } from '../../../directive/overlay-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport { TextBackgroundDirectiveDirective } from '../../../directive/text-background-directive.directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { ColorDirective } from '../../../directive/color.directive';\r\nimport { FeaturedCategoryContentModal, FeaturedCategoryModal, FeaturedCategoryStylesModel } from './featured-category.modal';\r\nimport { Category } from '../../styles/category.modal';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'simpo-featured-category',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule,\r\n SimpoComponentModule,\r\n\r\n //directive\r\n AnimationDirective,\r\n ContentFitDirective,\r\n BackgroundDirective,\r\n BorderDirective,\r\n CornerDirective,\r\n HoverDirective,\r\n OverlayDirective,\r\n TextBackgroundDirectiveDirective,\r\n ColorDirective\r\n ],\r\n templateUrl: './featured-category.component.html',\r\n styleUrl: './featured-category.component.css'\r\n})\r\nexport class FeaturedCategoryComponent extends BaseSection {\r\n @Input() data?: FeaturedCategoryModal;\r\n @Input() responseData?: Category[]\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n content?: FeaturedCategoryContentModal;\r\n styles?: FeaturedCategoryStylesModel;\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private readonly router : Router,\r\n private readonly restService: RestService\r\n ){\r\n super()\r\n }\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.getAllCategories();\r\n }\r\n\r\n getSliceParameters() {\r\n return [0, (this.styles?.maximumProduct || 0)];\r\n }\r\n\r\n redirectToListPage(category: string){\r\n category = category.replaceAll(\" \", \"_\");\r\n this.router.navigate(['/list'], { queryParams: { category: category } });\r\n // this._eventService.redirectToPage.emit({redirectTo: '/list', data: {categoryId: categoryId}});\r\n }\r\n getAllCategories() {\r\n this.restService.getAllCategories().subscribe((response)=> {\r\n this.responseData = response.filter((category: any)=> category.featuredCollection || true);\r\n });\r\n }\r\n}\r\n","<section class=\"container-fluid total-container\" [id]=\"data?.id\" [simpoBackground]=\"styles?.background\"\r\n [simpoLayout]=\"styles?.layout\">\r\n <div [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\" [simpoBorder]=\"styles?.border\"\r\n [simpoAnimation]=\"styles?.animation\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <div [innerHTML]=\"item.value\" [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n </div>\r\n </div>\r\n <img src=\"https://dev-beeos.s3.amazonaws.com/library-media/714126c1707378935732span.png\" alt=\"\"\r\n class=\"span-img mt-15\">\r\n <div class=\"category-parent\">\r\n <div *ngFor=\"let data of responseData | slice:getSliceParameters()[0]:getSliceParameters()[1]\" (click)=\"redirectToListPage(data.categoryName)\">\r\n <img [src]=\"data.imgUrl[0] ?? 'https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg'\" alt=\"\" class=\"category-image\">\r\n <div class=\"category-name body-large\">{{data.categoryName}}</div>\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, HostListener, Inject, Input, PLATFORM_ID } from '@angular/core';\r\nimport { ProductDescModal, ProductDescStylesModal } from './product-desc.modal';\r\nimport { Product } from '../../styles/product.modal';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { ButtonModel } from '../../../styles/style.model';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport {} from '@angular/common/http';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { NgxImageZoomModule } from 'ngx-image-zoom';\r\nimport { FeaturedProductsComponent } from \"../featured-products/featured-products.component\";\r\nimport { FeaturedProductModal } from '../featured-products/featured-products.modal';\r\n// import { rmSync } from 'fs';\r\n// import { RestService } from '../../../services/rest.service';\r\n// import { HttpClientModule } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'simpo-product-desc',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SimpoComponentModule,\r\n MatIcon,\r\n //DIRECTIVE\r\n ButtonDirectiveDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective,\r\n NgxImageZoomModule,\r\n FeaturedProductsComponent\r\n],\r\n templateUrl: './product-desc.component.html',\r\n styleUrl: './product-desc.component.css'\r\n})\r\nexport class ProductDescComponent extends BaseSection {\r\n @Input() data?: ProductDescModal;\r\n @Input() responseData!: Product;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n public relatedProductData: Product[] = [];\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private readonly _eventService : EventsService,\r\n private readonly router: Router,\r\n private readonly activatedRoute: ActivatedRoute,\r\n private readonly restService: RestService,\r\n private readonly cartService: CartService\r\n ){\r\n super()\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.getScreenSize();\r\n }\r\n }\r\n\r\n buttonId?: string;\r\n button?: ButtonModel\r\n styles?: ProductDescStylesModal;\r\n ngOnInit(){\r\n this.styles = this.data?.styles;\r\n this.currentImg = this.responseData?.itemImages[0]?.imgUrl\r\n this.button = this.data?.action?.buttons[0];\r\n this.buttonId = (this.data ? this.data.id : '') + (this.button ? this.button.id : '');\r\n this.getProductByCategory();\r\n\r\n this.activatedRoute.queryParams.subscribe((qParam)=> {\r\n const productId = qParam[\"id\"];\r\n if (productId) {\r\n this.restService.getProductDetails(productId).subscribe((response)=> {\r\n this.responseData = response[0];\r\n \r\n if (this.responseData) {\r\n const cartItem = this.cartService.getItemByIdx(this.responseData?.itemId, \"CART\");\r\n const favItem = this.cartService.getItemByIdx(this.responseData?.itemId, \"FAVOURITE\");\r\n \r\n this.responseData.quantity = 0;\r\n if (cartItem)\r\n this.responseData.quantity = cartItem.quantity;\r\n if (favItem)\r\n this.responseData.quantity = favItem.quantity;\r\n\r\n this.currentImg = this.responseData?.itemImages[0].imgUrl;\r\n this.getProductByCategory();\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n routeToHome() {\r\n this.router.navigate(['/']);\r\n }\r\n\r\n screenWidth: any;\r\n @HostListener(\"window: resize\", [\"$event\"])\r\n getScreenSize() {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n\r\n currentImg:any;\r\n changeImg(url:any){\r\n this.currentImg = url;\r\n }\r\n\r\n addToCart(type: 'ADD' | 'SUBSTRACT' = 'ADD'){\r\n \r\n if (!this.responseData?.quantity)\r\n this.responseData.quantity = 0;\r\n if (type == 'ADD') {\r\n this.responseData.quantity += 1;\r\n }\r\n else {\r\n this.responseData.quantity -= 1;\r\n }\r\n this.cartService.addItemToCart(this.responseData as Product);\r\n }\r\n\r\n goToFilter(category: string) {\r\n category = category.replaceAll(\" \", \"_\")\r\n this.router.navigate(['list'], { queryParams: {category: category} });\r\n }\r\n\r\n addToFavourite() {\r\n this.cartService.addItemToFavourite(this.responseData as Product);\r\n }\r\n removeToFavourite() {\r\n this.cartService.removeItemFromFavourite(this.responseData as Product);\r\n }\r\n\r\n get isItemAsFavorite(): boolean {\r\n return this.cartService.getItemIdxJSON(this.responseData?.itemId, \"FAVOURITE\") > -1;\r\n }\r\n get getFeatureProductData() {\r\n return this.data as FeaturedProductModal;\r\n }\r\n\r\n getProductByCategory() {\r\n this.restService.getProductByCategoryId(this.responseData?.categoryId ?? \"1ef4ffc0-559e-6ec5-8ea9-65f5dbff53c1\").subscribe((response: any)=> {\r\n this.relatedProductData = response.data.data;\r\n })\r\n }\r\n\r\n}\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <section class=\"container\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div><a href=\"javascript:void(0)\" style=\"text-decoration: none; color: #0267C1\" (click)=\"routeToHome()\">Home</a> / <span>{{ responseData?.name | titlecase }}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-lg-6 col-12\">\r\n <div class=\"prod-img-block\">\r\n <div class=\"img-list\" *ngIf=\"screenWidth > 500\">\r\n <ng-container *ngFor=\"let img of responseData?.itemImages\">\r\n <img [src]=\"img.imgUrl\" alt=\"\" class=\"img\" (click)=\"changeImg(img.imgUrl)\" *ngIf=\"img.imgUrl\">\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" *ngIf=\"!img.imgUrl\">\r\n </ng-container>\r\n </div>\r\n <div class=\"item-img\">\r\n <lib-ngx-image-zoom\r\n [thumbImage]=\"currentImg\" \r\n [fullImage]=\"currentImg\" \r\n [zoomMode]=\"'hover'\"\r\n [magnification]=\"2\" \r\n [lensHeight]=\"100\"\r\n [lensWidth]=\"100\"\r\n style=\"height: 100%; width: 100%;\"\r\n ></lib-ngx-image-zoom>\r\n <!-- <img [src]=\"currentImg\" alt=\"\" *ngIf=\"currentImg\"> -->\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" *ngIf=\"!currentImg\">\r\n </div>\r\n <div class=\"img-list\" *ngIf=\"screenWidth <= 500\">\r\n <ng-container *ngFor=\"let img of responseData?.itemImages\">\r\n <img [src]=\"img.imgUrl\" alt=\"\" class=\"img\" (click)=\"changeImg(img.imgUrl)\" *ngIf=\"img.imgUrl\">\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" *ngIf=\"!img.imgUrl\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6 col-12 product-detail\">\r\n <div class=\"heading-large\">{{responseData?.name}}</div>\r\n <div class=\"price\">₹ {{responseData?.price?.sellingPrice}}</div>\r\n <div class=\"product-desc body-large\" *ngIf=\"responseData?.brief\">{{responseData.brief}}</div>\r\n\r\n <div class=\"button-parent\">\r\n <div class=\"quantity\" *ngIf=\"responseData?.quantity\">\r\n <div class=\"plus\" (click)=\"addToCart('SUBSTRACT')\">-</div>\r\n <div style=\"width: 50px;\" class=\"d-flex justify-content-center\">{{responseData.quantity}}</div>\r\n <!-- <input type=\"number\" (keyup)=\"changeQuantity(quantity.value)\" [value]=\"addedQuantity\" #quantity> -->\r\n <div class=\"minus\" (click)=\"addToCart('ADD')\">+</div>\r\n </div>\r\n <div *ngIf=\"!responseData?.quantity\">\r\n <button class=\"send-btn\" simpoButtonDirective [id]=\"buttonId\" [buttonStyle]=\"button?.styles\" [color]=\"data?.styles?.background?.accentColor\" (click)=\"addToCart()\">{{data?.content?.button}}</button>\r\n </div>\r\n <div class=\"favourite\">\r\n <mat-icon [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"addToFavourite()\" *ngIf=\"!isItemAsFavorite\">favorite_border</mat-icon>\r\n <mat-icon [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"removeToFavourite()\" *ngIf=\"isItemAsFavorite\">favorite</mat-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"product-sku\">\r\n <div *ngIf=\"responseData?.itemInventory\">SKU :\r\n {{responseData.itemInventory.openingStock}}</div>\r\n <div *ngIf=\"responseData?.itemCategorisation?.itemCategories\">Category : <a href=\"javascript:void(0)\" (click)=\"goToFilter(cat.refName)\"\r\n *ngFor=\"let cat of responseData?.itemCategorisation?.itemCategories;let idx = index\">{{cat.refName | titlecase}} <ng-container *ngIf=\"(idx+1) != responseData?.itemCategorisation?.itemCategories?.length\">,</ng-container>\r\n </a></div>\r\n <div *ngIf=\"(responseData?.itemCategorisation?.productTags?.length || 0) > 0\">Tags : <span\r\n *ngFor=\"let tag of responseData?.itemCategorisation?.productTags\">{{tag.tagName}},\r\n </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row prod-desc\">\r\n <div class=\"tab-group\">\r\n <div class=\"tab\">Description</div>\r\n </div>\r\n <div style=\"margin-top: 10px;\" class=\"body-large\" *ngIf=\"responseData?.properties?.description\">{{responseData?.properties?.description}}</div>\r\n </div>\r\n </section>\r\n <simpo-featured-products [data]=\"getFeatureProductData\" [responseData]=\"relatedProductData\" [isRelatedProduct]=\"true\"></simpo-featured-products>\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","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'simpo-pagnination',\r\n standalone: true,\r\n imports: [\r\n CommonModule\r\n ],\r\n templateUrl: './pagnination.component.html',\r\n styleUrl: './pagnination.component.css'\r\n})\r\nexport class PagninationComponent implements OnInit {\r\n\r\n constructor(\r\n private readonly router: Router\r\n ) {}\r\n\r\n @Input() totalPages: number = 1;\r\n @Input() currentPage: number = 1;\r\n public bound = 5;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n goToNext() {\r\n this.router.navigate([''], { queryParams: {pageNo: this.currentPage +1} });\r\n }\r\n goToPrev() {\r\n this.router.navigate([''], { queryParams: {pageNo: this.currentPage -1} });\r\n }\r\n goToSelection(index: number) {\r\n this.currentPage = index +1;\r\n this.router.navigate([''], { queryParams: {pageNo: this.currentPage} });\r\n }\r\n}\r\n","<section class=\"d-flex w-100 justify-content-center\">\r\n <div class=\"pagniation-btn\" (click)=\"goToPrev()\" [style.visibility]=\"currentPage == 1 ? 'hidden' : 'visible'\">Prev</div>\r\n <ng-container *ngFor=\"let _ of [].constructor(totalPages); let idx = index\">\r\n <span class=\"pagniation-btn\" [ngClass]=\"{'selected-page': (idx +1) == currentPage}\" *ngIf=\"idx < 5\">{{idx +1}}</span>\r\n </ng-container>\r\n <div *ngIf=\"totalPages > 6\" class=\"d-flex align-items-center\">\r\n <span class=\"pagniation-btn fs-2\">...</span>\r\n <span class=\"pagniation-btn\">{{totalPages}}</span>\r\n </div>\r\n <div class=\"pagniation-btn\" (click)=\"goToNext()\" [style.visibility]=\"currentPage == totalPages ? 'hidden' : 'visible'\">Next</div>\r\n</section>","import { Component, HostListener, Inject, Input, PLATFORM_ID } from '@angular/core';\r\nimport { Product } from '../../styles/product.modal';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { ProductListContentModal, ProductListModal, ProductListStylesModal } from './product-list.modal';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport { RestService } from '.././../../services/rest.service';\r\nimport { ButtonModel } from '../../../styles/style.model';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { PagninationComponent } from '../pagnination/pagnination.component';\r\n\r\ninterface BaseModel {\r\n option: string,\r\n id: string,\r\n status: boolean\r\n}\r\n\r\n@Component({\r\n selector: 'simpo-product-list',\r\n standalone: true,\r\n imports: [\r\n CommonModule, \r\n MatSelectModule,\r\n FormsModule,\r\n SimpoComponentModule,\r\n MatSliderModule,\r\n PagninationComponent,\r\n //directive\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective,\r\n ButtonDirectiveDirective,\r\n MatIcon\r\n ],\r\n templateUrl: './product-list.component.html',\r\n styleUrl: './product-list.component.css'\r\n})\r\nexport class ProductListComponent extends BaseSection {\r\n @Input() responseData?: Product[]\r\n @Input() data?: ProductListModal\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n content?: ProductListContentModal;\r\n button?: ButtonModel\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private readonly _eventService : EventsService,\r\n private readonly restService: RestService,\r\n private readonly router: Router,\r\n private readonly activatedRoute: ActivatedRoute\r\n ) {\r\n super();\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.getScreenSize();\r\n }\r\n }\r\n\r\n public pricingMin: number = 0;\r\n public pricingMax: number = 100;\r\n public sortBy: string | null = null;\r\n\r\n // will come from backend as shop and resturant can have diffrent filters\r\n public filteringArray = [\r\n { name: \"Lowest First\", value: \"lowestPrice\" },\r\n { name: \"Highest First\", value: \"highestPrice\" }\r\n ];\r\n\r\n screenWidth: number = 0;\r\n @HostListener(\"window: resize\", [\"$event\"])\r\n getScreenSize() {\r\n this.screenWidth = window.innerWidth;\r\n }\r\n\r\n filterList: any[] = [];\r\n styles?: ProductListStylesModal;\r\n totalCount: number = 0;\r\n pageNo: number = 0;\r\n size: number = 5;\r\n searchTxt: string = \"\";\r\n\r\n ngOnInit(){\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.button = this.data?.action.buttons[0];\r\n\r\n this.getAllCategories();\r\n this.getAllCollections();\r\n\r\n this.activatedRoute.queryParams.subscribe((qParam: any)=> {\r\n this.searchTxt = qParam[\"searchTxt\"];\r\n this.sortBy = qParam[\"sorting\"];\r\n this.pricingMin = isNaN(Number(qParam[\"minPrice\"])) ? 0 : Number(qParam[\"minPrice\"]);\r\n this.pricingMax = isNaN(Number(qParam[\"maxPrice\"])) ? 1000 : Number(qParam[\"maxPrice\"]);\r\n this.filterByCategoryCollectionParam(qParam[\"category\"], qParam[\"collections\"]);\r\n })\r\n }\r\n\r\n filterByCategoryCollectionParam(qCategories: any, qCollections: any) {\r\n const categories = qCategories?.split(\"+\")?.map((category: string)=> category.replaceAll(\"_\", \" \").toLowerCase()).filter((category: string)=> category.length > 0);\r\n const collections = qCollections?.split(\"+\")?.map((collection: string)=> collection.replaceAll(\"_\", \" \").toLowerCase()).filter((collection: string)=> collection.length > 0);\r\n \r\n this.categories?.forEach((category)=> category.status = categories?.includes(category?.option?.toLowerCase()) ?? false);\r\n this.collections?.forEach((collection)=> collection.status = collections?.includes(collection?.option?.toLowerCase()) ?? false);\r\n console.log(this.categories, this.collections);\r\n this.filterList = [\r\n ...this.categories?.filter((category: any)=> category.status).map((category)=> { return { id: category.id, name: category.option } }),\r\n ...this.collections?.filter((collection: any)=> collection.status).map((collection) => { return { id: collection.id, name: collection.option } })\r\n ];\r\n console.log(this.filterList);\r\n this.filterItemList();\r\n }\r\n\r\n getAllCategories() {\r\n this.restService.getAllCategories().subscribe((response)=> {\r\n this.categories = response.filter((category: any)=> category.featuredCollection || true).map((category: any)=> { return { option: category.categoryName, id: category.categoryId, status: false } });\r\n const qParamCollections = this.activatedRoute.snapshot.queryParams[\"collections\"];\r\n const qParamCategory = this.activatedRoute.snapshot.queryParams[\"category\"];\r\n this.filterByCategoryCollectionParam(qParamCategory, qParamCollections);\r\n });\r\n }\r\n getAllCollections() {\r\n this.restService.getAllCollections().subscribe((response)=> {\r\n this.collections = response.filter((collection: any)=> collection.featuredCategory || true).map((collection: any)=> { return { option: collection.collectionName, id: collection.collectionId, status: false } }); \r\n const qParamCollections = this.activatedRoute.snapshot.queryParams[\"collections\"];\r\n const qParamCategory = this.activatedRoute.snapshot.queryParams[\"category\"];\r\n this.filterByCategoryCollectionParam(qParamCategory, qParamCollections);\r\n })\r\n }\r\n\r\n removeFilter(filter: any) {\r\n this.filterList = this.filterList.filter((f)=> f.id != filter.id);\r\n const filterListIds = this.filterList.map((filter)=> filter.id); \r\n this.categories.forEach((category)=> category.status = filterListIds.includes(category.id));\r\n this.collections.forEach((collection)=> collection.status = filterListIds.includes(collection.id));\r\n // sorting should add\r\n this.navigateFilter(\"\");\r\n }\r\n\r\n getProductWidth() {\r\n return this.screenWidth > 475 ? (this.screenWidth < 1025 ? '25%' : 'calc(' + ((100 / (this.styles?.elementInRow || 4))) + '%)') : (this.styles?.mobileColumn === 1 ? '100%' : '50%')\r\n }\r\n\r\n proceedToProductDesc(productId: any){\r\n this.router.navigate(['details'], { queryParams: { id: productId } });\r\n // this._eventService.redirectToPage.emit({redirectTo: '/details', data: {productId: productId}})\r\n }\r\n clearFilter() {\r\n this.categories.forEach((category)=> category.status = false);\r\n this.collections.forEach((collection)=> collection.status = false);\r\n this.pricingMin = 0;\r\n this.pricingMax = 100;\r\n this.router.navigate(['list']);\r\n }\r\n\r\n categories: BaseModel[] = [];\r\n collections: BaseModel[] = [];\r\n applyFilter(category?:any, type?: 'SORT'|'FILTER') {\r\n let sorting = \"\";\r\n\r\n if (type == \"FILTER\")\r\n category.status = !category.status;\r\n else if (type == \"SORT\")\r\n sorting = category?.target?.value;\r\n\r\n this.navigateFilter(sorting);\r\n }\r\n\r\n navigateFilter(sorting: string) {\r\n \r\n let selectedCategory = \"\";\r\n let selectedCollection = \"\";\r\n this.categories.filter((category)=> category.status).map((category)=> { \r\n return {\r\n ...category,\r\n slug: category.option.replaceAll(\" \", \"_\")\r\n }\r\n }).forEach((category)=> selectedCategory += (category.slug + \"+\"));\r\n\r\n this.collections.filter((collection)=> collection.status).map((collection)=> { \r\n return {\r\n ...collection,\r\n slug: collection.option.replaceAll(\" \", \"_\")\r\n }\r\n }).forEach((collection)=> selectedCollection += (collection.slug + \"+\"));\r\n\r\n\r\n this.router.navigate(['list'], {queryParams: {minPrice: this.pricingMin, maxPrice: this.pricingMax, category: selectedCategory, collections: selectedCollection, sorting: sorting}});\r\n }\r\n\r\n filterItemList() {\r\n const collectionIds = this.collections.filter((collection)=> collection.status).map((collection)=> collection.id);\r\n const categoryIds = this.categories.filter((category)=> category.status).map((category)=> category.id); \r\n this.restService.getFilteredProduct(collectionIds, categoryIds, this.searchTxt, this.pricingMin, this.pricingMax, this.sortBy ?? \"\", this.pageNo, this.size).subscribe((response: any)=> {\r\n this.responseData = response.data.data;\r\n this.totalCount = response.data.count;\r\n })\r\n }\r\n\r\n get getTotalPage(): number {\r\n return Math.ceil(this.totalCount / this.size);\r\n }\r\n}\r\n","<section class=\"container-fluid total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" simpoHover\r\n (hovering)=\"showEditTabs($event)\">\r\n <div class=\"d-flex justify-content-between align-items-center w-100\">\r\n <div class=\"filter-top-section d-flex justify-content-between align-items-baseline\" style=\"width: 20%;\">\r\n <div class=\"filter body-large\">\r\n Filters\r\n </div>\r\n <div class=\"clear\" (click)=\"clearFilter()\">\r\n Clear all\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center justify-content-between\" style=\"width: 80%;\">\r\n <div style=\"color: #6c757d82;\" class=\"fs-6 fw-normal\">Showing {{pageNo*size +1}}-{{size}} of {{ totalCount }} Results</div>\r\n <div class=\"d-flex align-items-center\" style=\"gap: 10px;\">\r\n <div class=\"fs-6 fw-normal mr-3\" style=\"color: #6c757d82;\">Sort by</div>\r\n <select (change)=\"applyFilter($event, 'SORT')\">\r\n <option [value]=\"filter.value\" *ngFor=\"let filter of filteringArray\">{{filter.name}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"filter-side\">\r\n\r\n <div class=\"d-flex flex-column m-auto\" style=\"width: 95%;\">\r\n <ng-container *ngFor=\"let filter of filterList\">\r\n <div class=\"d-flex justify-content-between w-100 chip\">\r\n <span>{{filter.name}}</span>\r\n <span style=\"cursor: pointer;\" (click)=\"removeFilter(filter)\">X</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"categories-section\" *ngIf=\"categories?.length\">\r\n <div class=\"categories heading-small\">\r\n Shop by categories\r\n </div>\r\n <div class=\"category-options\" *ngFor=\"let category of categories\" (click)=\"applyFilter(category, 'FILTER')\">\r\n <input type=\"checkbox\" name=\"\" id=\"\" [checked]=\"category.status\" />\r\n <div>{{category.option | uppercase}}</div>\r\n </div>\r\n </div>\r\n <div class=\"categories-section\" *ngIf=\"collections?.length\">\r\n <div class=\"categories heading-small\">\r\n Shop by collections\r\n </div>\r\n <div class=\"category-options\" *ngFor=\"let collection of collections\" (click)=\"applyFilter(collection, 'FILTER')\">\r\n <input type=\"checkbox\" name=\"\" id=\"\" [checked]=\"collection.status\" />\r\n <div>{{collection.option | uppercase}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"price-section\">\r\n <div class=\"categories heading-small\">\r\n Shop by price\r\n </div>\r\n <div>\r\n <mat-slider min=\"0\" max=\"1000\" style=\"width: 250px;\">\r\n <input matSliderStartThumb [(ngModel)]=\"pricingMin\">\r\n <input matSliderEndThumb [(ngModel)]=\"pricingMax\">\r\n </mat-slider>\r\n </div>\r\n <div class=\"price-button-section\">\r\n <div class=\"button-section\">\r\n <button (click)=\"applyFilter()\">Filter</button>\r\n </div>\r\n <div class=\"price-range\">\r\n Price: ${{ pricingMin }} - ${{ pricingMax }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\" class=\"right-side\">\r\n <div class=\"product-parent\" *ngIf=\"responseData && responseData.length > 0\">\r\n <div *ngFor=\"let product of responseData\" class=\"product\" [style.width]=\"getProductWidth()\" (click)=\"proceedToProductDesc(product.itemId)\" style=\"cursor: pointer;\">\r\n <div *ngIf=\"!(product.itemImages?.length && product.itemImages?.[0]?.imgUrl)\" class=\"default-image\">\r\n <img src=\"https://www.svgrepo.com/show/149861/t-shirt-black-silhouette.svg\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"product.itemImages?.length && product.itemImages?.[0]?.imgUrl\">\r\n <img [src]=\"product.itemImages?.[0]?.imgUrl\" alt=\"\" class=\"product-img\">\r\n </div>\r\n <div class=\"mt-2\">\r\n <div class=\"product-name heading-large text-left\">\r\n {{product.name}}</div>\r\n <div class=\"price body-large text-left\">\r\n ${{product.price.sellingPrice}}\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div *ngIf=\"content?.display?.showButton\" class=\"add-to-cart-btn\">\r\n <button simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\">{{content?.button}}</button>\r\n </div> -->\r\n <simpo-pagnination style=\"width: 100%;\" class=\"mt-15\" [totalPages]=\"getTotalPage\" [currentPage]=\"pageNo +1\" ></simpo-pagnination>\r\n </div>\r\n \r\n <section class=\"empty-cart\" *ngIf=\"responseData?.length == 0\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img style=\"height: 150px; width: 150px;\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\" alt=\"\">\r\n </div>\r\n <div class=\"cart-text\">\r\n <div class=\"heading-medium d-flex justify-content-center\">\r\n Product list is empty\r\n </div>\r\n <div class=\"description d-flex justify-content-center mt-4\">\r\n Looks like no item is present with filter. Go ahead & explore top categories.\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n\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","import { Component, OnInit, NgZone, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { Location } from '@angular-material-extensions/google-maps-autocomplete';\r\nimport { CommonModule } from '@angular/common';\r\nimport UserDetails from './../../json/user-details.json';\r\nimport { RestService } from '../../../services/rest.service';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'simpo-address',\r\n standalone: true,\r\n imports: [\r\n MatIcon,\r\n CommonModule,\r\n FormsModule\r\n ],\r\n templateUrl: './address.component.html',\r\n styleUrl: './address.component.css'\r\n})\r\nexport class AddressComponent implements OnInit, OnChanges {\r\n\r\n @Input() responseData: any;\r\n\r\n constructor(\r\n private readonly ngZone: NgZone,\r\n private readonly restService: RestService\r\n // private readonly matDialogRef: MatDialogRef<AddressComponent>\r\n ) {}\r\n\r\n public addressList: any[] = [];\r\n public address: any = {\r\n \"receiverName\": \"\",\r\n \"receiverPhone\": \"\",\r\n \"receiverEmail\": \"\",\r\n \"countryName\": \"\",\r\n \"stateName\": \"\",\r\n \"cityName\": \"\",\r\n \"localityName\": \"\",\r\n \"addressLine1\": \"\",\r\n \"landmark\": \"\",\r\n \"zipCode\": \"\",\r\n \"stateCode\": \"\",\r\n \"addressType\": \"\",\r\n \"geolocation\": {\r\n \"latitude\": 0,\r\n \"longitude\": 0\r\n }\r\n }\r\n\r\n @Input() isCart: boolean = false;\r\n\r\n private latitute: number | null = null;\r\n private longitute: number | null = null;\r\n public addNewAddress: boolean = false;\r\n\r\n public mapCenter: google.maps.LatLngLiteral = {\r\n lat: 0,\r\n lng: 0\r\n };\r\n\r\n public markerPosition: google.maps.LatLngLiteral = {\r\n lat: 0,\r\n lng: 0\r\n };\r\n\r\n public markerOptions: google.maps.MarkerOptions = { draggable: true };\r\n\r\n private geocoder = new google.maps.Geocoder();\r\n\r\n @Input() selectedAddressIdx: number = -1;\r\n public addessType: { key: string, status: boolean }[] = [\r\n { key: \"HOME\", status: false },\r\n { key: \"WORK\", status: false },\r\n { key: \"OTHER\", status: false }\r\n ];\r\n\r\n ngOnInit(): void {\r\n this.getCurrentLocation();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.addressList = this.responseData;\r\n }\r\n\r\n checkAddressType(address: { key: string, status: boolean }) {\r\n this.addessType.forEach((add)=> add.status = (add.key == address.key));\r\n this.address.addressType = address.key;\r\n }\r\n close() {\r\n\r\n }\r\n getCurrentLocation() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((values) => {\r\n this.latitute = values.coords.latitude;\r\n this.longitute = values.coords.longitude;\r\n });\r\n }\r\n }\r\n getAddress() {\r\n this.geocoder.geocode({ location: this.markerPosition }, (results: any, status: any) => {\r\n if (status === 'OK' && results[0]) {\r\n this.ngZone.run(() => {\r\n // this.address = results[0].formatted_address;\r\n results[0].address_components.forEach((component: any) => {\r\n const types = component.types;\r\n if (types.includes(\"locality\")) {\r\n // this.city = component.long_name;\r\n }\r\n if (types.includes(\"administrative_area_level_1\")) {\r\n // this.state = component.long_name;\r\n }\r\n if (types.includes(\"country\")) {\r\n // this.selectedCountry = component.long_name;\r\n }\r\n if (types.includes(\"postal_code\")) {\r\n // this.zip = component.long_name;\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n onLocationSelected(location: any) {\r\n \r\n this.latitute = location.latitude;\r\n this.longitute = location.longitude;\r\n // this.setPosition(); // Update map position\r\n // this.updateAddressFields();\r\n }\r\n onAutocompleteSelected(result: any) {\r\n console.log(result);\r\n // this.selectedCountry = null;\r\n // this.zip = \"\";\r\n // this.state = \"\";\r\n // this.city = \"\";\r\n // this.address = result?.formatted_address;\r\n result?.address_components.forEach((data: any) => {\r\n if (data?.types.includes(\"country\")){}\r\n // this.selectedCountry = data.long_name;\r\n else if (data?.types.includes(\"postal_code\")){}\r\n // this.zip = data.long_name;\r\n else if (data?.types.includes(\"administrative_area_level_1\")){}\r\n // this.state = data.long_name;\r\n else if (data?.types.includes(\"locality\")){}\r\n // this.city = data.long_name;\r\n });\r\n }\r\n updateAddress() {\r\n const userId = UserDetails.user.userId;\r\n const payload = {\r\n \"userId\": userId,\r\n \"addressDetailsList\": [...(UserDetails.user?.addressDetailsList ?? []), this.address],\r\n \"contact\": UserDetails.user?.contact ?? {},\r\n \"gender\": UserDetails.user?.gender?.length > 0 ? UserDetails.user?.gender : null\r\n }\r\n this.restService.addUserAddress(payload).subscribe((response)=> {\r\n this.addNewAddress = false;\r\n UserDetails.user.addressDetailsList.push(this.address as never);\r\n })\r\n }\r\n}\r\n","<section class=\"address-sec\">\r\n <div class=\"header\">\r\n <h3>{{isCart ? 'Shipping To' : 'New Address'}}</h3>\r\n <mat-icon (click)=\"close()\" *ngIf=\"!isCart\">close</mat-icon>\r\n <span class=\"add-address\" *ngIf=\"addressList.length && !addNewAddress\" (click)=\"addNewAddress = true\">+ add address</span>\r\n </div>\r\n <ng-container *ngIf=\"!addressList?.length || addNewAddress\">\r\n <p (click)=\"getCurrentLocation()\" class=\"d-flex align-items-center\" style=\"cursor: pointer;\">\r\n <mat-icon>my_location</mat-icon>\r\n <span>take my current location</span>\r\n </p>\r\n <div class=\"forms d-flex flex-wrap\">\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Name</div>\r\n <input type=\"text\" placeholder=\"Enter name\" [(ngModel)]=\"address.receiverName\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Mobile</div>\r\n <input type=\"text\" placeholder=\"Enter mobile\" [(ngModel)]=\"address.receiverPhone\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Email</div>\r\n <input type=\"text\" placeholder=\"Enter email\" [(ngModel)]=\"address.receiverEmail\">\r\n </div>\r\n <div class=\"form-control-full-group\">\r\n <div class=\"label\">Address</div>\r\n <input type=\"text\" placeholder=\"Enter address\" matGoogleMapsAutocomplete\r\n (onAutocompleteSelected)=\"onAutocompleteSelected($event)\"\r\n (onLocationSelected)=\"onLocationSelected($event)\" [(ngModel)]=\"address.addressLine1\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Locality</div>\r\n <input type=\"text\" placeholder=\"Enter locality\" [(ngModel)]=\"address.localityName\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Landmark</div>\r\n <input type=\"text\" placeholder=\"Enter landmark\" [(ngModel)]=\"address.landmark\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Pincode</div>\r\n <input type=\"text\" placeholder=\"Enter pincode\" [(ngModel)]=\"address.zipCode\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">City</div>\r\n <input type=\"text\" placeholder=\"Enter city\" [(ngModel)]=\"address.cityName\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">State</div>\r\n <input type=\"text\" placeholder=\"Enter state\" [(ngModel)]=\"address.stateName\">\r\n </div>\r\n <div class=\"form-control-group\">\r\n <div class=\"label\">Address Type</div>\r\n <div class=\"d-flex\">\r\n <ng-container *ngFor=\"let address of addessType\">\r\n <span class=\"address-type\" (click)=\"checkAddressType(address)\" [ngClass]=\"{'active-address': address.status}\">{{address.key}}</span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"address-list\" *ngIf=\"addressList.length && !addNewAddress\">\r\n <ng-container *ngFor=\"let address of addressList; let idx = index\">\r\n <div class=\"address\" (click)=\"selectedAddressIdx = idx\" [ngClass]=\"{'selectedAddress': selectedAddressIdx == idx}\">\r\n <div class=\"address-left\">\r\n <div class=\"top\">\r\n <span class=\"fw-bold mr-2\">{{address?.receiverName}}</span>\r\n <span class=\"address-type\">{{address?.addressType}}</span>\r\n </div>\r\n <div class=\"address-det\">{{address.addressLine1}}</div>\r\n <div class=\"phone\">\r\n <span>Phone:</span>\r\n <span class=\"address-phone\">{{address.receiverPhone}}</span>\r\n </div>\r\n </div>\r\n <div class=\"address-right\"></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"action-btn\" *ngIf=\"!addressList.length || addNewAddress\">\r\n <button (click)=\"updateAddress()\">Update</button>\r\n </div>\r\n</section>","import { Component, Input } from '@angular/core';\r\nimport { Address, CartSectionModal, CartSectionStylesModel } from './cart.modal';\r\nimport { Cart } from '../../styles/cart.modal';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport UserCart from './../../json/user-cart.json';\r\nimport UserInfo from './../../json/user-details.json';\r\nimport { Product } from '../../styles/product.modal';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { AddressComponent } from \"../address/address.component\";\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticateUserComponent } from '../authenticate-user/authenticate-user.component';\r\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { RestService } from \"../../../services/rest.service\";\r\nimport { StorageServiceService } from '../../../services/storage.service';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { User } from '../../styles/user.modal';\r\n\r\n\r\n@Component({\r\n selector: 'simpo-cart',\r\n standalone: true,\r\n imports: [\r\n FormsModule, \r\n CommonModule,\r\n MatIcon,\r\n MatDialogModule,\r\n SimpoComponentModule,\r\n //DIRECTIVE\r\n ButtonDirectiveDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective, \r\n AddressComponent,\r\n\r\n ],\r\n templateUrl: './cart.component.html',\r\n styleUrl: './cart.component.css'\r\n})\r\nexport class CartComponent extends BaseSection{\r\n @Input() data?: CartSectionModal;\r\n @Input() responseData?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n selectedAddressIdx: number = -1;\r\n styles?: CartSectionStylesModel;\r\n public currentTab: 'BAG' | 'ADDRESS' | 'PAYMENT' = \"BAG\";\r\n\r\n constructor(\r\n private readonly _eventService : EventsService,\r\n private readonly cartService: CartService,\r\n private readonly router: Router,\r\n private readonly restService: RestService,\r\n private readonly matDialog: MatDialog,\r\n private readonly storageService: StorageServiceService,\r\n private readonly cookieService: CookieService\r\n ){\r\n super()\r\n }\r\n\r\n ngOnInit(){\r\n \r\n if (this.cookieService.get(\"user\")) {\r\n const userDetails = JSON.parse(this.cookieService.get(\"user\")) as User;\r\n UserCart.userDetails = {...UserCart.userDetails, ...UserInfo.user.contact, userId: userDetails.userId};\r\n this.cartService.storeDataToServer().subscribe((response)=> {\r\n this.responseData = this.storageService.calculateBillingDetails();\r\n console.log(\"a: \", UserCart, this.responseData);\r\n this.styles = this.data?.styles;\r\n })\r\n }\r\n }\r\n // userDetails: any;\r\n // getUserInfo() {\r\n // const userId = \"dc915bd4-fa6f-446e-bce2-440b6804af22\";\r\n // \r\n // return this.restService.getUserInfo(userId).subscribe((response: any)=> {\r\n // this.userDetails = response.data;\r\n // \r\n // })\r\n // }\r\n\r\n proceedToCheckout(){\r\n if(UserInfo?.user?.userId){\r\n this.currentTab = \"ADDRESS\"; \r\n } else {\r\n if (window.innerWidth <= 475)\r\n this.router.navigate(['/auth']);\r\n else {\r\n this.matDialog.open(AuthenticateUserComponent, {\r\n height: '50vh',\r\n width: '35vw',\r\n data: this.data \r\n });\r\n }\r\n }\r\n }\r\n\r\n proceedToListPage(){\r\n // this._eventService.redirectToPage.emit({ redirectTo: '/list'});\r\n this.router.navigate(['/']);\r\n }\r\n removeItem(item: any) {\r\n item.quantity = 0;\r\n this.cartService.addItemToCart(item as Product);\r\n this.responseData = this.storageService.calculateBillingDetails();\r\n }\r\n addToCart(item: any, type: 'ADD' | 'SUBSTRACT') {\r\n if (type == 'ADD') {\r\n item.quantity += 1;\r\n }\r\n else {\r\n item.quantity -= 1;\r\n }\r\n this.cartService.addItemToCart(item as Product);\r\n this.responseData = this.storageService.calculateBillingDetails();\r\n }\r\n proceedToPayment() {\r\n const address = UserInfo.user.addressDetailsList[this.selectedAddressIdx] as Address;\r\n const payload = {\r\n \"userId\": UserInfo.user.userId,\r\n \"cartId\": UserCart.cartId,\r\n \"orderAmount\": UserCart.totalAmount,\r\n \"contactDetails\": {\r\n \"name\": address.receiverName,\r\n \"mobile\": address.receiverPhone,\r\n \"countryCode\": \"91\",\r\n \"email\": address.receiverEmail\r\n }\r\n }\r\n this.restService.createPaymentToken(payload).subscribe((response)=> {\r\n\r\n })\r\n }\r\n\r\n get getAddressList() {\r\n return UserInfo.user ? [...UserInfo.user?.addressDetailsList] : [];\r\n }\r\n}\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" >\r\n <div class=\"d-flex align-items-center justify-content-center mb-2\">\r\n <span class=\"timeline\" [ngClass]=\"{'isActive': currentTab == 'BAG'}\" (click)=\"currentTab = 'BAG'\">Bag</span>\r\n <div class=\"bar\"></div>\r\n <span class=\"timeline\" [ngClass]=\"{'isActive': currentTab == 'ADDRESS'}\" (click)=\"currentTab = 'ADDRESS'\">Address</span>\r\n <div class=\"bar\"></div>\r\n <span class=\"timeline\" [ngClass]=\"{'isActive': currentTab == 'PAYMENT'}\" (click)=\"currentTab = 'PAYMENT'\">Payment</span>\r\n </div>\r\n <div class=\"cart-parent container\" *ngIf=\"(responseData?.orderedItems?.length || 0) > 0\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <ng-container [ngSwitch]=\"currentTab\">\r\n <div class=\"left-panel\" *ngSwitchCase=\"'BAG'\">\r\n <div class=\"my-bag\">\r\n My Bag <span>({{responseData?.orderedItems?.length}} Items)</span>\r\n </div>\r\n <div class=\"cart-items\">\r\n <ng-container *ngFor=\"let item of responseData?.orderedItems; let idx = index\">\r\n <div class=\"row item-parent\">\r\n <div class=\"h-100\" style=\"padding: 0px; width: fit-content;\">\r\n <img class=\"product-img\" [src]=\"item.imgUrl\" alt=\"\">\r\n </div>\r\n <div class=\"col-md-6 h-100\">\r\n <div class=\"lh-23\">\r\n <div class=\"item-name heading-large\">{{item.itemName}}</div>\r\n <div class=\"price-with-tax\">\r\n ₹ {{item.price + (item.itemTax ?? 0)}}\r\n </div>\r\n <div class=\"item-quantity\">\r\n <span class=\"cursor\" (click)=\"addToCart(item, 'SUBSTRACT')\">-</span>\r\n <span>{{item.quantity}}</span>\r\n <span class=\"cursor\" (click)=\"addToCart(item, 'ADD')\">+</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 position-relative\" style=\"margin-left: auto;\">\r\n <div class=\"item-price\">₹ {{(item.price + (item.itemTax ?? 0)) * item.quantity}}</div>\r\n <div>\r\n <mat-icon class=\"delete-item\" (click)=\"removeItem(item)\">delete</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <hr *ngIf=\"responseData?.orderedItems?.length != (idx +1)\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"left-panel\" *ngSwitchCase=\"'ADDRESS'\">\r\n <simpo-address [isCart]=\"true\" [responseData]=\"getAddressList\" [selectedAddressIdx]=\"selectedAddressIdx\"></simpo-address>\r\n </div>\r\n <div class=\"left-panel\" *ngSwitchCase=\"'PAYMENT'\"></div>\r\n </ng-container>\r\n <div class=\"right-panel\">\r\n <div class=\"my-bag\">\r\n Price Details\r\n </div>\r\n <div class=\"price-details\">\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.billdetails?.totalNetValue\">\r\n <div class=\"price-type\">Total Price</div>\r\n <div class=\"price-value\">₹ {{responseData.billdetails.totalNetValue}}</div>\r\n </div>\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.billdetails?.totalTax\">\r\n <div class=\"price-type\">Total Tax</div>\r\n <div class=\"price-value\">₹ {{responseData?.billdetails?.totalTax}}</div>\r\n </div>\r\n <div class=\"price-parent-block\"\r\n *ngIf=\"responseData?.billdetails?.deliveryCharges && responseData.billdetails.deliveryCharges > 0\">\r\n <div class=\"price-type\">Delivery Charge</div>\r\n <div class=\"price-value\">₹ {{responseData.billdetails.deliveryCharges}}</div>\r\n </div>\r\n <hr>\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.totalAmount\">\r\n <div class=\"price-type\" style=\"color: black;font-weight: 600;\">Total Amount</div>\r\n <div class=\"price-value\" style=\"font-weight: 600;\">₹ {{responseData.totalAmount}}</div>\r\n </div>\r\n\r\n <div class=\"button-parent\">\r\n <ng-container *ngIf=\"currentTab == 'BAG'\">\r\n <div class=\"btn\" (click)=\"proceedToCheckout()\">Checkout Cart</div>\r\n <div class=\"btn\" (click)=\"proceedToListPage()\">Continue Shopping</div>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"currentTab == 'ADDRESS'\">\r\n <div class=\"btn\" (click)=\"proceedToPayment()\">Place Order</div>\r\n </ng-container>\r\n <!-- <div *ngFor=\"let button of data?.action?.buttons;let i = index\">\r\n <button class=\"btn\" (click)=\"i == 0 ? proceedToCheckout() : proceedToListPage()\" simpoButtonDirective [id]=\"data?.id+button.id\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\">{{button?.content?.label}}</button>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <section class=\"empty-cart\" *ngIf=\"(responseData?.orderedItems?.length || 0) == 0\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\" alt=\"\">\r\n </div>\r\n <div class=\"cart-text\">\r\n <div class=\"heading-medium d-flex justify-content-center\">\r\n Your cart is empty\r\n </div>\r\n <div class=\"description d-flex mt-4\">\r\n Looks like you have not added anything to your cart. Go ahead & explore top categories.\r\n </div>\r\n </div>\r\n </div>\r\n </section>\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\r\n</section>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CheckoutContentModal, CheckoutModal, CheckoutStylesModal } from './checkout.modal';\r\nimport { Cart } from '../../styles/cart.modal';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { ButtonModel } from '../../../styles/style.model';\r\nimport { EventsService } from '.././../../services/events.service';\r\n\r\n@Component({\r\n selector: 'simpo-checkout',\r\n standalone: true,\r\n imports: [FormsModule, CommonModule,\r\n SimpoComponentModule,\r\n //DIRECTIVE\r\n ButtonDirectiveDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective\r\n ],\r\n templateUrl: './checkout.component.html',\r\n styleUrl: './checkout.component.css'\r\n})\r\nexport class CheckoutComponent extends BaseSection{\r\n @Input() data?: CheckoutModal;\r\n @Input() responseData?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n constructor(private _eventService : EventsService){\r\n super()\r\n }\r\n\r\n editDeliveryAddress = true;\r\n content?: CheckoutContentModal;\r\n styles?: CheckoutStylesModal;\r\n button?: ButtonModel;\r\n\r\n ngOnInit(){\r\n this.editDeliveryAddress = this.responseData?.userDetails ? true : false;\r\n this.content = this.data?.content;\r\n this.styles = this.data?.styles;\r\n this.button = this.data?.action?.buttons[0];\r\n }\r\n\r\n placeOrder(){\r\n this._eventService.placeOrder.emit({cartData: this.responseData});\r\n }\r\n}\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div class=\"container\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div class=\"row\">\r\n <div class=\"col-md-7 col-12\" *ngIf=\"editDeliveryAddress\">\r\n <div class=\"shipping-label heading-large\">Shipping To</div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Name</label>\r\n <input [(ngModel)]=\"responseData.userDetails.userName\" type=\"text\" placeholder=\"Enter Name\"\r\n class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Mobile Number</label>\r\n <input [(ngModel)]=\"responseData.userDetails.mobile\" type=\"number\" placeholder=\"Enter number\"\r\n class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Email</label>\r\n <input [(ngModel)]=\"responseData.userDetails.email\" type=\"email\" placeholder=\"Enter email\"\r\n class=\"input-field\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"shipping-label\" style=\"margin-top: 15px;\">Shipping Address</div>\r\n <div class=\"row\">\r\n <div class=\"col-12 input-parent\">\r\n <label for=\"\">Address</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.addressLine1\" type=\"text\"\r\n placeholder=\"Flat/House No, Building, Colony\" class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Locality/Area</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.localityName\" type=\"text\"\r\n placeholder=\"Eg: Jaybheri Enclave, Gachibowli\" class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Landmark</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.landmark\" type=\"text\"\r\n placeholder=\"Eg: Near SBI Bank\" class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">Pincode</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.zipCode\" type=\"number\" placeholder=\"Eg: 500032\"\r\n class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">City</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.cityName\" type=\"text\"\r\n placeholder=\"Eg: Hyderabad\" class=\"input-field\">\r\n </div>\r\n <div class=\"col-md-6 col-12 input-parent\">\r\n <label for=\"\">State</label>\r\n <input [(ngModel)]=\"responseData.userDetails.deliveryAddress.stateName\" type=\"text\"\r\n placeholder=\"Eg: Telanghana\" class=\"input-field\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-7 col-12\" *ngIf=\"!editDeliveryAddress\">\r\n <div class=\"shipping-label\">Delivery Address</div>\r\n <div class=\"delivery-address\">\r\n <div style=\"position: absolute;right: 15px;\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/library-media/813827c1709186499689edit%201.png\"\r\n alt=\"\" style=\"cursor: pointer;\" (click)=\"editDeliveryAddress = true\">\r\n </div>\r\n <div class=\"userName\">{{responseData?.userDetails.userName}}</div>\r\n <div class=\"user-details\" style=\"margin-top: 5px;\">\r\n {{responseData?.userDetails.deliveryAddress?.addressLine1}},\r\n {{responseData?.userDetails.deliveryAddress?.localityName}}</div>\r\n <div class=\"user-details\">{{responseData?.userDetails.deliveryAddress?.cityName}},\r\n {{responseData?.userDetails.deliveryAddress?.stateName}}</div>\r\n <div class=\"user-details\">{{responseData?.userDetails.deliveryAddress?.countryName}} -\r\n {{responseData?.userDetails.deliveryAddress?.zipCode}}</div>\r\n <div class=\"user-details\" style=\"margin-top: 5px;\">Phone : <span\r\n style=\"font-weight: 500;\">{{responseData?.userDetails.mobile}}</span></div>\r\n </div>\r\n </div>\r\n <div class=\"offset-md-1 col-md-4 col-12 right-section\">\r\n <div class=\"shipping-label heading-large lh-normal\">\r\n Price Details\r\n </div>\r\n <div class=\"price-details\">\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.billdetails?.totalNetValue\">\r\n <div class=\"price-type\">Total MRP</div>\r\n <div class=\"price-value\">₹ {{responseData.billdetails.totalNetValue}}</div>\r\n </div>\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.billdetails?.totalTax\">\r\n <div class=\"price-type\">Total Tax</div>\r\n <div class=\"price-value\">₹ {{responseData?.billdetails?.totalTax}}</div>\r\n </div>\r\n <div class=\"price-parent-block\"\r\n *ngIf=\"responseData?.billdetails?.deliveryCharges && responseData.billdetails.deliveryCharges > 0\">\r\n <div class=\"price-type\">Delivery Charge</div>\r\n <div class=\"price-value\">₹ {{responseData.billdetails.deliveryCharges}}</div>\r\n </div>\r\n <hr>\r\n <div class=\"price-parent-block\" *ngIf=\"responseData?.totalAmount\">\r\n <div class=\"price-type\" style=\"color: black;font-weight: 600;\">Total Amount</div>\r\n <div class=\"price-value\" style=\"font-weight: 600;\">₹ {{responseData.totalAmount}}</div>\r\n </div>\r\n\r\n <div class=\"button-parent\">\r\n <button simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\"\r\n [color]=\"styles?.background?.accentColor\" (click)=\"placeOrder()\">{{content?.button}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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\r\n</section>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport UserFavourite from './../../json/user-favourite.json';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'simpo-whislist',\r\n standalone: true,\r\n imports: [\r\n MatIcon,\r\n SimpoComponentModule,\r\n CommonModule,\r\n //DIRECTIVE\r\n ButtonDirectiveDirective,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective\r\n ],\r\n templateUrl: './whislist.component.html',\r\n styleUrl: './whislist.component.css'\r\n})\r\nexport class WhislistComponent implements OnInit {\r\n \r\n @Input() responseData?: any;\r\n @Input() data?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n styles: any;\r\n \r\n constructor(\r\n private readonly cartService: CartService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.responseData = UserFavourite;\r\n this.styles = this.data?.styles;\r\n }\r\n\r\n moveToCart(item: any) {\r\n // this.cartService.convertFavToCart(item);\r\n }\r\n deleteFromWhislist(item: any) {\r\n // this.cartService.removeItemToFavourite(item);\r\n } \r\n addToFav(item: any, type: 'ADD' | 'SUBSTRACT') {\r\n if (type == 'ADD')\r\n item.quantity += 1;\r\n else\r\n item.quantity -= 1;\r\n this.cartService.addItemToFavourite(item);\r\n }\r\n}\r\n","<section class=\"total-container\" [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"cart-parent container\" *ngIf=\"(responseData?.orderedItems?.length || 0) > 0\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\">\r\n <div class=\"left-panel\">\r\n <div class=\"my-bag\">\r\n My Whislist <span>({{responseData?.orderedItems?.length}} Items)</span>\r\n </div>\r\n \r\n <div class=\"d-flex flex-wrap justify-content-between\" style=\"gap: 10px;\">\r\n <ng-container *ngFor=\"let item of responseData?.orderedItems; let idx = index\">\r\n <div class=\"cart-items\">\r\n <div class=\"row item-parent\">\r\n <div class=\"h-100\" style=\"padding: 0px; width: fit-content;\">\r\n <img class=\"product-img\" [src]=\"item.imgUrl\" alt=\"\">\r\n </div>\r\n <div class=\"col-md-6 h-100 item-desc\">\r\n <div class=\"lh-23\">\r\n <div class=\"item-name heading-large\">{{item.itemName}}</div>\r\n <div class=\"price-with-tax\">\r\n ₹ {{item.price + (item.itemTax ?? 0)}}\r\n </div>\r\n <div class=\"item-quantity\">\r\n <span class=\"cursor\" (click)=\"addToFav(item, 'SUBSTRACT')\">-</span>\r\n <span>{{item.quantity}}</span>\r\n <span class=\"cursor\" (click)=\"addToFav(item, 'ADD')\">+</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"position-relative itemPrice\" style=\"margin-left: auto; width: 30%;\">\r\n <div class=\"item-price\">₹ {{(item.price + (item.itemTax ?? 0)) * item.quantity}}</div>\r\n <div>\r\n <mat-icon class=\"cart-item\" (click)=\"moveToCart(item)\">add_shopping_cart</mat-icon>\r\n <mat-icon class=\"delete-item\" (click)=\"deleteFromWhislist(item)\">delete</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <section class=\"empty-cart\" *ngIf=\"(responseData?.orderedItems?.length || 0) == 0\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\" alt=\"\">\r\n </div>\r\n <div class=\"cart-text\">\r\n <div class=\"heading-medium d-flex justify-content-center\">\r\n Your Whislist is empty\r\n </div>\r\n <div class=\"description d-flex mt-4\">\r\n Looks like you have not added anything to your Whislist. Go ahead & explore top categories.\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n \r\n </section>","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TimelineModule } from 'primeng/timeline';\r\n\r\n@Component({\r\n selector: 'simpo-order-details',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n TimelineModule,\r\n MatIcon\r\n ],\r\n templateUrl: './order-details.component.html',\r\n styleUrl: './order-details.component.css'\r\n})\r\nexport class OrderDetailsComponent implements OnInit {\r\n @Input() responseData?: any;\r\n @Input() data?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n public orderTimiline: any = [\r\n { icon: \"widgets\", name: \"Order Placed\", desc: \"Your order is successful placed track your order\" },\r\n { icon: \"local_shipping\", name: \"To be Shipped\", desc: \"Your order is successful placed track your order\" },\r\n { icon: \"inbox\", name: \"To be Delivered\", desc: \"Your order is successful placed track your order\" },\r\n ];\r\n\r\n ngOnInit(): void {\r\n console.log(this.responseData);\r\n }\r\n}\r\n","<section class=\"d-flex justify-content-between\" style=\"width: 80%; margin: auto;\">\r\n <div class=\"left\" style=\"width: 60%;\">\r\n <h1 class=\"fs-3 fw-normal mb-5 d-flex align-items-center onlyDesktop\" style=\"margin-left: -30px;\">\r\n <mat-icon style=\"cursor: pointer;\">keyboard_arrow_left</mat-icon>\r\n <span>Order Details</span>\r\n </h1>\r\n <div class=\"d-flex justify-content-between align-items-end\">\r\n <div class=\"d-flex flex-column\">\r\n <span class=\"text-dark fs-5\">Order {{ responseData.orderId }}</span>\r\n <span class=\"text-muted fs-6\">{{ responseData.orderDate | date }}, {{ responseData.items }} items | ₹ {{responseData.amount}}</span>\r\n </div>\r\n <span class=\"text-dark fw-bold fs-5\">{{responseData.store}}</span>\r\n </div>\r\n <hr />\r\n <div class=\"timeline\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex\">\r\n <mat-icon style=\"margin-right: 10px;\">{{ event.icon }}</mat-icon> \r\n <div class=\"d-flex flex-column ml-2\">\r\n <span class=\"fw-normal fs-6\">{{ event.name }}</span> \r\n <div class=\"fs-6 text-muted\">{{event.desc}}</div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n <hr />\r\n <div>\r\n <div *ngFor=\"let item of responseData.itemList\" class=\"d-flex\" style=\"gap: 10px; width: 100%;\">\r\n <img [src]=\"item.itemImages[0].imgUrl\" alt=\"\" style=\"height: 85px;width: 85px;\">\r\n <div class=\"d-flex flex-column justify-content-center\" style=\"gap: 6px; width: 89%;\">\r\n <span class=\"text-dark fw-bold fs-6\">{{item.name}}</span>\r\n <span class=\"fs-6\">Size: XS</span>\r\n <div class=\"d-flex justify-content-between fs-6\">\r\n <span>1 X ₹ <span class=\"text-dark fw-bold\">{{item.price.sellingPrice}}</span></span>\r\n <span> ₹ <span class=\"text-dark fw-bold\">{{item.price.sellingPrice}}</span></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"fs-6\">\r\n <div class=\"d-flex justify-content-between my-2\">\r\n <span class=\"fw-normal\">Item Total</span>\r\n <span class=\"fw-bold\">₹ {{responseData.amount}}</span>\r\n </div>\r\n \r\n <div class=\"d-flex justify-content-between my-2\">\r\n <span>Delivery</span>\r\n <span>FREE</span>\r\n </div>\r\n \r\n <div class=\"d-flex justify-content-between my-2\">\r\n <span class=\"fw-normal\">Grand Total</span>\r\n <span class=\"fw-bold\">₹ {{responseData.amount}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\" style=\"width: 25%; mt-2\">\r\n <h1 class=\"mb-3 fs-5\">Your Details</h1>\r\n <div class=\"my-2 fs-6\">\r\n <span style=\"margin-right: 10px\">Name:</span>\r\n <span class=\"fw-bold pl-2\">Shruti</span>\r\n </div>\r\n <div class=\"my-2 fs-6\">\r\n <span style=\"margin-right: 10px\">Phone:</span>\r\n <span class=\"fw-bold pl-2\">940495483938</span>\r\n </div>\r\n <div class=\"my-2 fs-6\">\r\n <span style=\"margin-right: 10px\">Address:</span>\r\n <span class=\"fw-bold pl-2\">The 27 building, Jayabheri Enclave</span>\r\n </div>\r\n <div class=\"my-2 fs-6\">\r\n <span style=\"margin-right: 10px\">Payment:</span>\r\n <span class=\"fw-bold pl-2\">Manual Payment</span>\r\n </div>\r\n </div>\r\n</section>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Cart, UserDetails } from '../../styles/cart.modal';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonDirectiveDirective } from '../../../directive/button-directive.directive';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AnimationDirective } from '../../../directive/animation-directive';\r\nimport { HoverDirective } from '../../../directive/hover-element-directive';\r\nimport { ContentFitDirective } from '../../../directive/content-fit-directive';\r\nimport { SimpoComponentModule } from '../../../components/index';\r\nimport BaseSection from '../../../sections/BaseSection';\r\nimport { EventsService } from '.././../../services/events.service';\r\nimport UserInfo from './../../json/user-details.json';\r\nimport { Product } from '../../styles/product.modal';\r\nimport { CartService } from '../../../services/cart.service';\r\nimport { ResponseData, Tabs, UserProfile } from './user-profile.modal';\r\nimport { OrderItem } from '../../styles/order.modal';\r\nimport { Router } from '@angular/router';\r\nimport { OrderDetailsComponent } from \"../order-details/order-details.component\";\r\nimport { RestService } from \"../../../services/rest.service\";\r\n\r\n@Component({\r\n selector: 'simpo-user-profile',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatIcon,\r\n ButtonDirectiveDirective,\r\n SimpoComponentModule,\r\n AnimationDirective,\r\n ContentFitDirective,\r\n HoverDirective,\r\n OrderDetailsComponent\r\n],\r\n templateUrl: './user-profile.component.html',\r\n styleUrl: './user-profile.component.css'\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n\r\n constructor(\r\n private readonly router: Router,\r\n private readonly restService: RestService\r\n ) {}\r\n\r\n @Input() responseData?: ResponseData;\r\n @Input() data?: any;\r\n @Input() index? : number;\r\n @Input() edit? : boolean;\r\n @Input() delete? : boolean;\r\n\r\n public button: any;\r\n\r\n public selectedSidePanelTab: string | null = \"Orders\";\r\n public userDetails: UserProfile | null = null;\r\n public addressList: any = [];\r\n\r\n public sidePanelList: Tabs[] = [\r\n { value: \"Orders\", icon: \"accessibility\", status: true, label: \"Heading\", url: 'order' },\r\n { value: \"Address\", icon: \"location_on\", status: false, label: \"Heading\", url: 'address' },\r\n { value: \"Account Details\", icon: \"supervised_user_circle\", status: false, label: \"Heading\", url: 'account' },\r\n { value: \"Logout\", icon: \"transit_enterexit\", status: false, label: \"Heading\", url: '' }\r\n ];\r\n public tabs: Tabs[] = [];\r\n public orderList: OrderItem[] = [];\r\n\r\n ngOnInit(): void {\r\n // if (this.responseData?.userDetails) {\r\n this.userDetails = UserInfo.user as never as UserProfile;\r\n // this.tabs = this.responseData.tabs;\r\n // this.orderList = this.responseData.orders;\r\n // }\r\n this.button = this.data?.action?.buttons?.[0];\r\n // this.getUserInfo();\r\n }\r\n goToPanel(panel: any) {\r\n this.selectedSidePanelTab = panel.value;\r\n }\r\n goBack() {\r\n if (this.selectedSidePanelTab == '') {\r\n this.router.navigate(['/']);\r\n } else {\r\n this.selectedSidePanelTab = '';\r\n }\r\n }\r\n goToDetails(order: any) {\r\n\r\n }\r\n goToHome() {\r\n this.router.navigate(['/']);\r\n }\r\n public selectTab(tab: Tabs) {\r\n this.tabs.forEach((t)=> t.status = (tab.value == t.value));\r\n }\r\n public toggleSidepanelTab(tab: Tabs) {\r\n this.selectedSidePanelTab = tab.value;\r\n this.sidePanelList.forEach((t)=> t.status = (tab.value == t.value));\r\n }\r\n get getUserDetails() {\r\n return this.userDetails;\r\n }\r\n get isMobile() {\r\n return window.innerWidth <= 475;\r\n }\r\n\r\n // getUserInfo() {\r\n // const userId = \"dc915bd4-fa6f-446e-bce2-440b6804af22\";\r\n // return this.restService.getUserInfo(userId).subscribe((response: any)=> {\r\n // this.userDetails = response.data;\r\n // })\r\n // }\r\n}\r\n","<section class=\"d-flex\" style=\"width: 85%; margin: auto; margin-top: 1rem\" [style.width.%]=\"isMobile ? '90' : ''\">\r\n <ng-container *ngIf=\"!isMobile\">\r\n <div class=\"p-3\" style=\"background-color: #F8F8F8; width: 25%; border-radius: 10px; height: fit-content;\">\r\n <div class=\"d-flex align-items-center\" style=\"gap: 5px; height: 70px;\">\r\n <img [src]=\"getUserDetails ?? ''\" alt=\"\" class=\"rounded-circle h-100\" style=\"width: 70px;\">\r\n <div>\r\n <h4 class=\"text-dark font-weight-bold\">{{getUserDetails?.contact?.name}}</h4>\r\n <h6 class=\"text-muted d-flex align-items-center font-weight-normal\"><mat-icon>stay_primary_portrait</mat-icon> <span>{{getUserDetails?.contact?.mobile}}</span></h6>\r\n <h6 class=\"text-muted d-flex align-items-center font-weight-normal\"><mat-icon>mail_outline</mat-icon> <span>{{getUserDetails?.contact?.email}}</span></h6>\r\n </div>\r\n </div>\r\n <div class=\"tabs\">\r\n <ng-container *ngFor=\"let tab of sidePanelList; let idx = index\">\r\n <div class=\"d-flex align-items-center py-3\" style=\"gap: 5px; cursor: pointer;\" [style.borderBottom]=\"idx != (sidePanelList.length -1) ? '2px solid #cccccc4d' : ''\" [ngClass]=\"{'tab-selected': tab.status}\" (click)=\"toggleSidepanelTab(tab)\">\r\n <mat-icon>{{tab.icon}}</mat-icon>\r\n <div class=\"tab text-muted font-weight-normal\">{{tab.value}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"orders-sec\">\r\n <ng-container [ngSwitch]=\"selectedSidePanelTab\">\r\n <ng-container *ngSwitchCase=\"'Orders'\">\r\n <ng-container *ngTemplateOutlet=\"OrderSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Address'\">\r\n <ng-container *ngTemplateOutlet=\"AddressSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Account Details'\">\r\n <ng-container *ngTemplateOutlet=\"AccountsSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Logout'\">\r\n <ng-container *ngTemplateOutlet=\"LogoutSection\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isMobile\">\r\n <div class=\"w-100 position-relative\" style=\"height: 80vh;\">\r\n <div class=\"d-flex align-items-center mobileAccountHeader\" style=\"gap: 10px; height: 50px;\">\r\n <mat-icon style=\"cursor: pointer; display: flex; align-items: center;\" (click)=\"goBack()\">keyboard_backspace</mat-icon>\r\n <h4>My {{!selectedSidePanelTab?.length ? 'Account' : selectedSidePanelTab?.replaceAll('_', ' ')}}</h4>\r\n </div>\r\n <ng-container [ngSwitch]=\"selectedSidePanelTab\">\r\n <ng-container *ngSwitchCase=\"''\">\r\n <section class=\"top-sec\">\r\n <img [src]=\"getUserDetails\" alt=\"\" class=\"rounded-circle\" style=\"width: 50px; height: 50px;\">\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <h4 class=\"text-dark font-weight-bold\">{{getUserDetails?.contact?.name}}</h4>\r\n <h6 class=\"text-muted d-flex align-items-center font-weight-normal\"><mat-icon>stay_primary_portrait</mat-icon> <span>{{getUserDetails?.contact?.mobile}}</span></h6>\r\n <h6 class=\"text-muted d-flex align-items-center font-weight-normal\"><mat-icon>mail_outline</mat-icon> <span>{{getUserDetails?.contact?.email}}</span></h6>\r\n </div>\r\n </section>\r\n <section class=\"list-sec\">\r\n <ng-container *ngFor=\"let tab of sidePanelList; let idx = index\">\r\n <div class=\"d-flex align-items-center py-3\" style=\"gap: 5px; cursor: pointer;\" [style.borderBottom]=\"idx != (sidePanelList.length -1) ? '2px solid #cccccc4d' : ''\" [ngClass]=\"{'tab-selected': tab.status}\" (click)=\"goToPanel(tab)\">\r\n <mat-icon>{{tab.icon}}</mat-icon>\r\n <div class=\"tab text-muted font-weight-normal\">{{tab.value}}</div>\r\n </div>\r\n </ng-container>\r\n </section>\r\n </ng-container>\r\n \r\n <ng-container *ngSwitchCase=\"'Orders'\">\r\n <ng-container *ngTemplateOutlet=\"OrderSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Address'\">\r\n <ng-container *ngTemplateOutlet=\"AddressSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Account Details'\">\r\n <ng-container *ngTemplateOutlet=\"AccountsSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Logout'\">\r\n <ng-container *ngTemplateOutlet=\"LogoutSection\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Orders_Details'\">\r\n <ng-container *ngTemplateOutlet=\"OrderDetails\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</section>\r\n\r\n<ng-template #OrderSection>\r\n <h1 class=\"onlyDesktop\">My Orders</h1>\r\n <div class=\"d-flex my-3 orderlist\">\r\n <ng-container *ngFor=\"let tab of tabs\">\r\n <div class=\"filter-tab\" [ngClass]=\"{'filter-tab-selected': tab.status}\" (click)=\"selectTab(tab)\">{{tab.value}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"order-list\">\r\n <div class=\"order\" *ngFor=\"let order of orderList\">\r\n <ng-container *ngTemplateOutlet=\"OrderCard; context: {data: order}\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #OrderDetails>\r\n <simpo-order-details></simpo-order-details>\r\n</ng-template>\r\n<ng-template #AddressSection>\r\n <div class=\"d-flex justify-content-between mb-2 onlyDesktop\">\r\n <h1>My Address</h1>\r\n <button class=\"address-btn\">{{button?.content?.label}}</button>\r\n </div>\r\n <div class=\"address-list\">\r\n <ng-container *ngFor=\"let address of addressList\">\r\n <div class=\"address\">\r\n <div class=\"address-left\">\r\n <div class=\"top\">\r\n <span class=\"fw-bold mr-2\">{{address.name}}</span>\r\n <span class=\"address-type\">{{address.type}}</span>\r\n </div>\r\n <div class=\"address-det\">{{address.address}}</div>\r\n <div class=\"phone\">\r\n <span>Phone:</span>\r\n <span class=\"address-phone\">{{address.phone}}</span>\r\n </div>\r\n </div>\r\n <div class=\"address-right\"></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template #AccountsSection>\r\n <h1 class=\"onlyDesktop\">My Accounts</h1>\r\n</ng-template>\r\n<ng-template #LogoutSection>\r\n <h1 class=\"onlyDesktop\">Logout</h1>\r\n</ng-template>\r\n<ng-template #OrderCard let-order=\"data\">\r\n <div (click)=\"selectedSidePanelTab = 'Orders_Details'\">\r\n <div class=\"top\">\r\n <span class=\"text-muted font-weight-normal\">{{order.displayId}}</span>\r\n <mat-icon>arrow_forward_ios</mat-icon>\r\n </div>\r\n <div class=\"middle my-2\">\r\n <span>{{order.date | date}}</span>\r\n <span class=\"text-dark font-weight-bold\">{{order.store | titlecase}}</span>\r\n </div>\r\n <hr />\r\n <div class=\"bottom\">\r\n <span class=\"text-muted font-weight-normal\">Amount: <span class=\"text-dark\">{{ order.amount }}</span></span>\r\n <span class=\"text-muted font-weight-normal\">{{ order.status }}</span>\r\n </div>\r\n </div>\r\n</ng-template>","import { OrderedItems } from \"./OrderedItems.modal\"\r\nimport { ItemVariant } from \"./product.modal\"\r\n\r\nexport class Cart {\r\n cartId?: string\r\n pgOrderId: string\r\n orderedItems: OrderedItems[]\r\n billdetails: Billdetails\r\n platform: string\r\n locationDetails: LocationDetails\r\n userDetails: UserDetails\r\n totalAmount: number;\r\n\r\n constructor(json: {[key: string]: any}, type: 'MAPPER' | null = null) {\r\n this.cartId = json?.[\"cartId\"];\r\n this.pgOrderId = json?.[\"pgOrderId\"];\r\n this.orderedItems = json?.[\"orderedItems\"];\r\n this.billdetails = json?.[\"billdetails\"];\r\n this.platform = json?.[\"platform\"];\r\n this.locationDetails = json?.[\"locationDetails\"];\r\n this.userDetails = json?.[\"userDetails\"];\r\n this.totalAmount = 0;\r\n }\r\n}\r\n\r\n// export interface OrderedItem {\r\n// itemId: string\r\n// businessId: string\r\n// itemName: string\r\n// brandName: string\r\n// imgUrl: string\r\n// price: number\r\n// itemTax: number\r\n// quantity: number\r\n// cancelledQuantity: number\r\n// discountedPrice: number\r\n// taxAfterDiscount: number\r\n// itemVariant: ItemVariant\r\n// orderedItemStatus: string\r\n// itemDistributorType: string\r\n// }\r\n\r\n// export interface ItemVariant {\r\n// variantId: string\r\n// itemId: string\r\n// properties: any\r\n// itemVariantPrice: ItemVariantPrice\r\n// }\r\n\r\n// export interface ItemVariantPrice {\r\n// currency: string\r\n// value: number\r\n// estimatedValue: number\r\n// computedValue: number\r\n// listedValue: number\r\n// offeredValue: number\r\n// minimumValue: number\r\n// maximumValue: number\r\n// purchasePrice: number\r\n// wholeSalePrice: number\r\n// maxWholeSaleLimit: number\r\n// margin: number\r\n// profit: number\r\n// discountedPrice: number\r\n// taxRef: TaxRef\r\n// taxAmount: number\r\n// sellingPrice: number\r\n// }\r\n\r\n// export interface TaxRef {\r\n// taxId: string\r\n// taxPercent: number\r\n// }\r\n\r\nexport interface Billdetails {\r\n totalNetValue: number\r\n totalGrossValue: number\r\n totalTax: number\r\n totalOfferedValue: number\r\n cgstValue: number\r\n sgstValue: number\r\n igstValue: number\r\n deliveryCharges: number\r\n couponId: string\r\n}\r\n\r\nexport interface LocationDetails {\r\n countryId: string\r\n cityId: string\r\n stateId: string\r\n localityId: string\r\n countryName: string\r\n cityName: string\r\n localityName: string\r\n stateName: string\r\n}\r\n\r\nexport interface UserDetails {\r\n id: string\r\n userName: string\r\n mobile: string\r\n email: string\r\n profilePic: string\r\n address: DeliveryAddress\r\n gender: string\r\n}\r\n\r\nexport interface DeliveryAddress {\r\n countryName: string\r\n stateName: string\r\n cityName: string\r\n localityName: string\r\n addressLine1: string\r\n addressLine2: string\r\n landmark: string\r\n zipCode: string\r\n geolocation: Geolocation\r\n stateCode: string\r\n}\r\n\r\nexport interface Geolocation {\r\n latitude: number\r\n longitude: number\r\n}\r\n","import { CreatedDetails } from \"./product.modal\"\r\n\r\nexport class BaseCollection {\r\n storeId: string[];\r\n businessId: string;\r\n description: string;\r\n imgUrl: string[];\r\n showInWebsite: boolean;\r\n otherDetails: any;\r\n createdDetails: CreatedDetails;\r\n active: boolean;\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n this.storeId = json?.[\"storeId\"];\r\n this.businessId = json?.[\"businessId\"];\r\n this.description = json?.[\"description\"];\r\n this.imgUrl = json?.[\"imgUrl\"];\r\n this.showInWebsite = json?.[\"showInWebsite\"];\r\n this.createdDetails = json?.[\"createdDetails\"];\r\n this.active = json?.[\"active\"];\r\n }\r\n}\r\n\r\n// export interface CreatedDetails {\r\n// createdById: string\r\n// createdByName: string\r\n// createdTimeStamp: string\r\n// updatedTimeStamp: string\r\n// }\r\n","import { BaseCollection } from \"./BaseCollection.modal\"\r\n\r\nexport class Category extends BaseCollection {\r\n categoryId: string;\r\n categoryName: string;\r\n featuredCategory: boolean;\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n super(json);\r\n this.categoryId = json?.[\"categoryId\"];\r\n this.categoryName = json?.[\"categoryName\"];\r\n this.featuredCategory = json?.[\"featuredCategory\"];\r\n }\r\n}\r\n\r\n// export interface CreatedDetails {\r\n// createdById: string\r\n// createdByName: string\r\n// createdTimeStamp: string\r\n// updatedTimeStamp: string\r\n// }\r\n","import { BaseCollection } from \"./BaseCollection.modal\";\r\n\r\nexport class Collection extends BaseCollection {\r\n collectionId: string;\r\n collectionName: string;\r\n featuredCollection: boolean;\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n super(json);\r\n this.collectionId = json?.[\"collectionId\"];\r\n this.collectionName = json?.[\"collectionName\"];\r\n this.featuredCollection = json?.[\"featuredCategory\"]; // should be featuredCollection but need to change in BE\r\n }\r\n}","export class Product {\r\n itemId: string\r\n storeId: string[]\r\n name: string\r\n itemCategorisation: ItemCategorisation\r\n itemInventory: ItemInventory\r\n itemStatus: string\r\n itemType: string\r\n itemVariant: ItemVariant[]\r\n itemImages: ItemImage[]\r\n itemPacks: ItemPack2[]\r\n addOnToItem: AddOnToItem[]\r\n properties: any;\r\n unit: Unit;\r\n quantity: number;\r\n price: Price;\r\n prviewIdx: number;\r\n // createdDetails: CreatedDetails2\r\n // availableOnline: boolean\r\n categoryId: string\r\n // fulfillmentId: string\r\n // locationId: string\r\n descriptor: Descriptor\r\n rating: number\r\n // returnWindow: number\r\n // timeToShip: number\r\n // rateable: boolean\r\n // matched: boolean\r\n // related: boolean\r\n recommended: boolean\r\n returnable: boolean\r\n // active: boolean\r\n // cancellable: boolean\r\n // sellerReturnPickUp: boolean\r\n availableOnCod: boolean\r\n brief: string\r\n // createdTimeStamp: string\r\n // updatedTimeStamp: string\r\n\r\n constructor(json?:{[key: string]: any}) {\r\n this.itemId = json?.[\"itemId\"];\r\n this.storeId = json?.[\"storeId\"];\r\n this.name = json?.[\"name\"];\r\n this.itemCategorisation = json?.[\"itemCategorisation\"] as ItemCategorisation;\r\n this.itemInventory = json?.[\"itemInventory\"] as ItemInventory;\r\n this.itemStatus = json?.[\"itemStatus\"];\r\n this.itemType = json?.[\"itemType\"];\r\n this.itemVariant = json?.[\"itemVariant\"];\r\n this.itemImages = json?.[\"itemImages\"];\r\n this.itemPacks = json?.[\"itemPacks\"];\r\n this.addOnToItem = json?.[\"addOnToItem\"];\r\n this.unit = json?.[\"unit\"];\r\n this.price = json?.[\"price\"];\r\n this.categoryId = json?.[\"categoryId\"];\r\n this.descriptor = json?.[\"descriptor\"];\r\n this.rating = json?.[\"rating\"];\r\n this.brief = json?.[\"brief\"];\r\n this.recommended = json?.[\"recommended\"];\r\n this.returnable = json?.[\"returnable\"];\r\n this.availableOnCod = json?.[\"availableOnCod\"];\r\n this.prviewIdx = 0;\r\n this.quantity = json?.[\"quantity\"] ?? 0;\r\n }\r\n}\r\n\r\nexport interface ItemCategorisation {\r\n itemCategories: ItemCategory[]\r\n productTags: ProductTag[]\r\n itemCollection: ItemCollection[]\r\n}\r\n\r\nexport interface ItemCategory {\r\n refId: string\r\n refName: string\r\n imgUrl: string\r\n maxQuantity: number\r\n price: number\r\n}\r\n\r\nexport interface ProductTag {\r\n tagId: string\r\n businessId: string\r\n storeId: string[]\r\n collectionId: string\r\n subCategoryId: string\r\n categoryId: string\r\n itemId: string\r\n tagName: string\r\n active: boolean\r\n otherDetails: any;\r\n createdDetails: CreatedDetails\r\n}\r\n\r\nexport interface CreatedDetails {\r\n createdById: string\r\n createdByName: string\r\n createdTimeStamp: string\r\n updatedTimeStamp: string\r\n}\r\n\r\nexport interface ItemCollection {\r\n refId: string\r\n refName: string\r\n imgUrl: string\r\n maxQuantity: number\r\n price: number\r\n}\r\n\r\nexport interface ItemInventory {\r\n openingStock: number\r\n sku: string\r\n barcode: string\r\n presentStockDate: string\r\n lowStockAlert: boolean\r\n lowStockQuantity: number\r\n}\r\n\r\nexport interface ItemVariant {\r\n variantId: string\r\n itemId: string\r\n variantName: string\r\n variantImages: VariantImage[]\r\n itemPacks: ItemPack[]\r\n properties: any;\r\n itemVariantPrice: ItemVariantPrice\r\n itemInventory: ItemInventory2\r\n itemStatus: string\r\n}\r\n\r\nexport interface VariantImage {\r\n imgUrl: string\r\n imgDesc: string\r\n}\r\n\r\nexport interface ItemPack {\r\n itemPackId: string\r\n packName: string\r\n active: boolean\r\n actualPrice: number\r\n offeredPrice: number\r\n packQuantity: number\r\n maxOrderQuantity: number\r\n}\r\n\r\nexport interface ItemVariantPrice {\r\n currency: string\r\n value: number\r\n estimatedValue: number\r\n computedValue: number\r\n listedValue: number\r\n offeredValue: number\r\n minimumValue: number\r\n maximumValue: number\r\n purchasePrice: number\r\n wholeSalePrice: number\r\n maxWholeSaleLimit: number\r\n margin: number\r\n profit: number\r\n discountedPrice: number\r\n taxRef: TaxRef\r\n taxAmount: number\r\n sellingPrice: number\r\n}\r\n\r\nexport interface TaxRef {\r\n taxId: string\r\n taxPercent: number\r\n}\r\n\r\nexport interface ItemInventory2 {\r\n openingStock: number\r\n sku: string\r\n barcode: string\r\n presentStockDate: string\r\n lowStockAlert: boolean\r\n lowStockQuantity: number\r\n}\r\n\r\nexport interface ItemImage {\r\n imgUrl: string\r\n imgDesc: string\r\n}\r\n\r\nexport interface ItemPack2 {\r\n itemPackId: string\r\n packName: string\r\n active: boolean\r\n actualPrice: number\r\n offeredPrice: number\r\n packQuantity: number\r\n maxOrderQuantity: number\r\n}\r\n\r\nexport interface AddOnToItem {\r\n refId: string\r\n refName: string\r\n imgUrl: string\r\n maxQuantity: number\r\n price: number\r\n}\r\n\r\n\r\nexport interface Unit {\r\n id: string\r\n key: string\r\n value: string\r\n}\r\n\r\nexport interface Price {\r\n currency: string\r\n value: number\r\n estimatedValue: number\r\n computedValue: number\r\n listedValue: number\r\n offeredValue: number\r\n minimumValue: number\r\n maximumValue: number\r\n purchasePrice: number\r\n wholeSalePrice: number\r\n maxWholeSaleLimit: number\r\n margin: number\r\n profit: number\r\n discountedPrice: number\r\n taxRef: TaxRef2\r\n taxAmount: number\r\n sellingPrice: number\r\n}\r\n\r\nexport interface TaxRef2 {\r\n taxId: string\r\n taxPercent: number\r\n}\r\n\r\nexport interface CreatedDetails2 {\r\n createdById: string\r\n createdByName: string\r\n createdTimeStamp: string\r\n updatedTimeStamp: string\r\n}\r\n\r\nexport interface Descriptor {\r\n name: string\r\n code: string\r\n symbol: string\r\n shortDesc: string\r\n longDesc: string\r\n itemImages: ItemImage2[]\r\n}\r\n\r\nexport interface ItemImage2 {\r\n imgUrl: string\r\n imgDesc: string\r\n}\r\n","/*\r\n * Public API Surface of simpo-ui\r\n */\r\n\r\n// export * from './lib/simpo-ui.service';\r\n// export * from './lib/simpo-ui.component';\r\n\r\nexport * from './lib/sections/text-section/text-section.component';\r\nexport * from './lib/sections/banner-section/banner-section.component';\r\nexport * from './lib/sections/faq-section/faq-section.component';\r\nexport * from './lib/sections/footer-section/footer-section.component';\r\nexport * from './lib/sections/image-carousel-section/image-carousel-section.component';\r\nexport * from './lib/sections/image-grid-section/image-grid-section.component';\r\nexport * from './lib/sections/image-section/image-section.component';\r\nexport * from './lib/sections/service-section/service-section.component';\r\nexport * from './lib/sections/team-member-section/team-member-section.component';\r\nexport * from './lib/sections/testimonial-section/testimonial-section.component';\r\nexport * from './lib/sections/text-image-section/text-image-section.component';\r\nexport * from './lib/sections/video-section/video-section.component';\r\nexport * from './lib/sections/navbar-section/navbar-section.component';\r\nexport * from './lib/sections/add-new-section/add-new-section.component';\r\nexport * from './lib/sections/contact-us/contact-us.component'\r\nexport * from './lib/sections/skeleton-loader-section/skeleton-loader-section.component';\r\nexport * from './lib/sections/banner-grid-section/banner-grid-section.component';\r\nexport * from './lib/sections/choose-us-section/choose-us-section.component';\r\nexport * from './lib/sections/pricing-section/pricing-section.component';\r\nexport * from './lib/sections/location-section/location-section.component';\r\nexport * from './lib/sections/header-text/header-text.component'\r\nexport * from './lib/sections/recent-blog-post-section/recent-blog-post-section.component'\r\nexport * from './lib/sections/blog-list/blog-list.component'\r\nexport * from './lib/sections/view-blog/view-blog.component'\r\nexport * from './lib/sections/process-section/process-section.component'\r\nexport * from './lib/sections/process-modern/process-modern.component'\r\nexport * from './lib/sections/features-section/features-section.component'\r\nexport * from './lib/sections/testimonial-fullwidth/testimonial-fullwidth.component'\r\nexport * from './lib/sections/logo-showcase/logo-showcase.component'\r\nexport * from './lib/sections/banner-carousel/banner-carousel.component'\r\n\r\n\r\n// Ecommerce sections\r\nexport * from './lib/ecommerce/sections/featured-products/featured-products.component';\r\nexport * from './lib/ecommerce/sections/featured-category/featured-category.component';\r\nexport * from './lib/ecommerce/sections/product-desc/product-desc.component';\r\nexport * from './lib/ecommerce/sections/product-list/product-list.component';\r\nexport * from './lib/ecommerce/sections/cart/cart.component';\r\nexport * from './lib/ecommerce/sections/checkout/checkout.component';\r\nexport * from './lib/ecommerce/sections/whislist/whislist.component'\r\nexport * from './lib/ecommerce/sections/user-profile/user-profile.component';\r\nexport * from './lib/ecommerce/sections/authenticate-user/authenticate-user.component'\r\n\r\n// service\r\nexport * from './lib/services/events.service';\r\n\r\n//directives\r\n\r\nexport * from './lib/directive/animation-directive';\r\nexport * from './lib/directive/background-directive';\r\nexport * from './lib/directive/banner-content-fit-directive';\r\nexport * from './lib/directive/border-directive';\r\nexport * from './lib/directive/button-directive.directive';\r\nexport * from './lib/directive/column-directive.directive';\r\nexport * from './lib/directive/container-fir.directive';\r\nexport * from './lib/directive/content-alignment-directive';\r\nexport * from './lib/directive/content-fit-directive';\r\nexport * from './lib/directive/corner-directive';\r\nexport * from './lib/directive/text-background-directive.directive';\r\nexport * from './lib/directive/position-layout-directive.directive';\r\nexport * from './lib/directive/overlay-directive';\r\nexport * from './lib/directive/image-directive.directive';\r\nexport * from './lib/directive/hover-element-directive';\r\nexport * from './lib/directive/footer-layout-directive';\r\nexport * from './lib/directive/color.directive'\r\nexport * from './lib/directive/image-position.directive';\r\nexport * from './lib/directive/container-alignment.directive'\r\nexport * from './lib/directive/sticky-directive'\r\n\r\n// styles\r\n\r\nexport * from './lib/styles/index';\r\nexport * from './lib/styles/style.model';\r\nexport * from './lib/styles/types';\r\nexport * from './lib/ecommerce/styles/cart.modal';\r\nexport * from './lib/ecommerce/styles/category.modal';\r\nexport * from './lib/ecommerce/styles/Collection.modal';\r\nexport * from './lib/ecommerce/styles/product.modal';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i1.EventsService","SPACING","i3","i2.EventsService","i4.TextElementComponent","i5.SimpoButtonComponent","i6.HoverElementsComponent","i7.DeleteHoverElementComponent","i4.HoverElementsComponent","i5.DeleteHoverElementComponent","i2.HeadingElementComponent","i2.SimpoButtonComponent","i3.SociaIconsComponent","i4","i5.HoverElementsComponent","i6.DeleteHoverElementComponent","i3.HoverElementsComponent","i4.DeleteHoverElementComponent","i5","i1.RestService","i3.RestService","UserDetails","i4.StorageServiceService","i6","UserDetals","i6.InputFieldsComponent","i2.HoverElementsComponent","i3.DeleteHoverElementComponent","uuidv1","UserFavourites","i1.StorageServiceService","i2.RestService","i4.CartService","i2.CartService","i4.RestService","i6.StorageServiceService","i7","i8","i9.HoverElementsComponent","i10.DeleteHoverElementComponent","i1.CartService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAYa,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,ECZnC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,mIACA,EDOY,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,kIAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI5B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,cACpB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,mIAAA,EAAA,CAAA;8BAK/B,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEHK,oBAAoB,CAAA;AAPjC,IAAA,WAAA,GAAA;QAQW,IAAQ,CAAA,QAAA,GAAY,EAAE,CAAC;QACvB,IAAS,CAAA,SAAA,GAAY,EAAE,CAAA;AACjC,KAAA;8GAHY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVjC,yJACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAClB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,yJAAA,EAAA,CAAA;8BAKd,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEPK,aAAa,CAAA;AACxB,IAAA,WAAA,GAAA;AAEA,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAW,CAAC;AAC1C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAW,CAAC;AACxC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAW,CAAC;AACrC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;AAC7C,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAW,CAAC;AACjD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAW,CAAC;AAC5C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;AAC7C,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAW,CAAC;AACpD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAW,CAAC;AAChD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAW,CAAC;;AAG9C,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,YAAY,EAAW,CAAC;AACzD,QAAA,IAAA,CAAA,wBAAwB,GAAG,IAAI,YAAY,EAAW,CAAC;AACvD,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAW,CAAC;AACpD,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAW,CAAC;AACpD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAW,CAAC;AAClD,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAW,CAAC;AACjD,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAW,CAAC;AACnD,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,YAAY,EAAW,CAAC;AACrD,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAW,CAAC;AACjD,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,YAAY,EAAW,CAAC;AACzD,QAAA,IAAA,CAAA,uBAAuB,GAAG,IAAI,YAAY,EAAW,CAAC;AACtD,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,YAAY,EAAW,CAAC;AACxD,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,YAAY,EAAW,CAAC;AAC1D,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,YAAY,EAAW,CAAC;AACxD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAW,CAAC;AAClD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAW,CAAC;AAClD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAW,CAAC;AAClD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAW,CAAC;AAC5C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAW,CAAC;AAChD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAW,CAAC;AAChD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAS,CAAC;;AAG7C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;AAC7C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAW,CAAC;AACxC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAW,CAAC;AACzC,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAW,CAAC;AACpD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAU,CAAC;AAE7C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAW,CAAC;KA3ChC;8GADL,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCKY,eAAe,CAAA;IAG1B,WAAoB,CAAA,EAAc,EACxB,YAA2B,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAA;KACvB;IACJ,QAAQ,GAAA;KAEP;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,YAAA,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAA;SACzC;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;AAC/B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAC,OAAO,CAAC,CAAC;SAClE;AACD,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;AAChC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAC,MAAM,CAAC,CAAC;SACjE;AACD,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;AAC/B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAC,MAAM,CAAC,CAAC;SACjE;AACD,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAC;AAC7B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAC,KAAK,CAAC,CAAC;SAChE;KACF;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;YACvF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAClC,SAAC,CAAC,CAAA;KACH;IAED,QAAQ,CAAC,GAAY,EAAE,EAAU,EAAA;QAC/B,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;AAClC,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;AAC/B,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAC,OAAO,CAAC,CAAC;aAClE;AACD,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;AAChC,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAC,MAAM,CAAC,CAAC;aACjE;AACD,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;AAC/B,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAC,MAAM,CAAC,CAAC;aACjE;AACD,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAC;AAC7B,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAC,KAAK,CAAC,CAAC;aAChE;SACF;KACF;8GArDU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,CAAA,aAAA,EAAA,YAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEuB,UAAU,EAAA,CAAA;sBAA/B,KAAK;uBAAC,aAAa,CAAA;;;ACVtB;AAKA;IACY,MAGX;AAHD,CAAA,UAAY,KAAK,EAAA;AACf,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAHW,KAAK,KAAL,KAAK,GAGhB,EAAA,CAAA,CAAA,CAAA;IAEWC,UAKX;AALD,CAAA,UAAY,OAAO,EAAA;AACjB,IAAA,OAAA,CAAA,MAAA,CAAA,GAAA,QAAe,CAAA;AACf,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,MAAc,CAAA;AACd,IAAA,OAAA,CAAA,QAAA,CAAA,GAAA,MAAe,CAAA;AACf,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,MAAc,CAAA;AAChB,CAAC,EALWA,SAAO,KAAPA,SAAO,GAKlB,EAAA,CAAA,CAAA,CAAA;IAeW,gBAKX;AALD,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,aAAoB,CAAA;AACpB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,qBAA6B,CAAA;AAC7B,IAAA,eAAA,CAAA,KAAA,CAAA,GAAA,gBAAsB,CAAA;AACtB,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,wBAAiC,CAAA;AACnC,CAAC,EALW,eAAe,KAAf,eAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;IACW,aAIX;AAJD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,kCAAyC,CAAA;AACzC,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,oCAA6C,CAAA;AAC7C,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,8BAAsC,CAAA;AACxC,CAAC,EAJW,YAAY,KAAZ,YAAY,GAIvB,EAAA,CAAA,CAAA,CAAA;IACW,OAIX;AAJD,CAAA,UAAY,MAAM,EAAA;AAChB,IAAA,MAAA,CAAA,MAAA,CAAA,GAAA,kBAAyB,CAAA;AACzB,IAAA,MAAA,CAAA,QAAA,CAAA,GAAA,oBAA6B,CAAA;AAC7B,IAAA,MAAA,CAAA,OAAA,CAAA,GAAA,mBAA2B,CAAA;AAC7B,CAAC,EAJW,MAAM,KAAN,MAAM,GAIjB,EAAA,CAAA,CAAA,CAAA;IACW,OAIX;AAJD,CAAA,UAAY,MAAM,EAAA;AAChB,IAAA,MAAA,CAAA,MAAA,CAAA,GAAA,iBAAwB,CAAA;AACxB,IAAA,MAAA,CAAA,QAAA,CAAA,GAAA,oBAA6B,CAAA;AAC7B,IAAA,MAAA,CAAA,OAAA,CAAA,GAAA,oBAA4B,CAAA;AAC9B,CAAC,EAJW,MAAM,KAAN,MAAM,GAIjB,EAAA,CAAA,CAAA,CAAA;IAEW,QAGX;AAHD,CAAA,UAAY,OAAO,EAAA;AACjB,IAAA,OAAA,CAAA,KAAA,CAAA,GAAA,aAAmB,CAAA;AACnB,IAAA,OAAA,CAAA,QAAA,CAAA,GAAA,gBAAyB,CAAA;AAC3B,CAAC,EAHW,OAAO,KAAP,OAAO,GAGlB,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,SAAS,GAAG;AACvB,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,gBAAgB;AACrB,QAAA,MAAM,EAAE,mBAAmB;AAC3B,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,MAAM,EAAE,oBAAoB;AAC5B,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,IAAI,EAAE,MAAM;AACb,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;EACD;IAEU,UAKX;AALD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,aAA0B,CAAA;AAC5B,CAAC,EALW,SAAS,KAAT,SAAS,GAKpB,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,QAAQ,GAAG;AACtB,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAG,kBAAkB;AAC1B,QAAA,MAAM,EAAG,mBAAmB;AAC5B,QAAA,KAAK,EAAG,kBAAkB;AAC1B,QAAA,WAAW,EAAG,mBAAmB;AAClC,KAAA;AACD,IAAA,IAAI,EAAG;AACL,QAAA,KAAK,EAAG,eAAe;AACvB,QAAA,MAAM,EAAG,gBAAgB;AACzB,QAAA,KAAK,EAAG,eAAe;AACvB,QAAA,WAAW,EAAG,gBAAgB;AAC/B,KAAA;EACF;AAEY,MAAA,QAAQ,GAAG;AACtB,IAAA,OAAO,EAAG,aAAa;AACvB,IAAA,QAAQ,EAAE,cAAc;AACxB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,SAAS,EAAE,cAAc;AACzB,IAAA,gBAAgB,EAAE,uBAAuB;AACzC,IAAA,cAAc,EAAE,mBAAmB;AACnC,IAAA,gBAAgB,EAAG,qBAAqB;EACzC;AAEY,MAAA,gBAAgB,GAAE;AAC7B,IAAA,GAAG,EAAC,uBAAuB;AAC3B,IAAA,MAAM,EAAC,wBAAwB;AAC/B,IAAA,MAAM,EAAC,qBAAqB;EAC7B;AACD;AAEA;AACa,MAAA,UAAU,GAAG,CAAC,OAAY,KAAI;AACzC,IAAA,MAAM,KAAK,GAAW;AACpB,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,iBAAiB,EAAE,QAAQ;AAC3B,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,MAAM,EAAE,MAAM;KACf,CAAC;AACF,IAAA,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7B,EAAE;AAEW,MAAA,SAAS,GAAG,CAAC,OAAY,KAAI;AACxC,IAAA,MAAM,KAAK,GAAW;AACpB,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,iBAAiB,EAAE,QAAQ;AAC3B,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,YAAY,EAAE,kBAAkB;KACjC,CAAC;AACF,IAAA,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7B,EAAE;MACW,UAAU,GAAG,CAAC,OAAY,EAAE,QAAa,KAAI;AACxD,IAAA,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,KAAI;QAC3D,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACnD,KAAC,CAAC,CAAC;AACL,EAAE;MAEW,YAAY,GAAG,CAAC,OAAY,EAAE,KAAoB,KAAI;AACjE,IAAA,IAAI,KAAK,EAAE,GAAG,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,WAAW,CACvB,OAAO,CAAC,GAAG,EACXA,SAAO,CAAC,KAAK,CAAC,GAA2B,CAAC,IAAIA,SAAO,CAAC,IAAI,CAC3D,CAAC;KACH;AACD,IAAA,IAAI,KAAK,EAAE,MAAM,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,WAAW,CACvB,OAAO,CAAC,MAAM,EACdA,SAAO,CAAC,KAAK,CAAC,MAA8B,CAAC,IAAIA,SAAO,CAAC,IAAI,CAC9D,CAAC;KACH;AACH,EAAE;IAEU,oBAMX;AAND,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,GAM9B,EAAA,CAAA,CAAA,CAAA;IAEW,QAKX;AALD,CAAA,UAAY,OAAO,EAAA;AACjB,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,OAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,OAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EALW,OAAO,KAAP,OAAO,GAKlB,EAAA,CAAA,CAAA,CAAA;AAED;IAEY,SAGX;AAHD,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,KAAR,QAAQ,GAGnB,EAAA,CAAA,CAAA,CAAA;IACW,aAGX;AAHD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,GAGvB,EAAA,CAAA,CAAA,CAAA;IACW,UAKX;AALD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,IAAW,CAAA;AACX,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,IAAc,CAAA;AACd,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,IAAY,CAAA;AACZ,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,IAAe,CAAA;AACjB,CAAC,EALW,SAAS,KAAT,SAAS,GAKpB,EAAA,CAAA,CAAA,CAAA;IAEW,cAGX;AAHD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHW,aAAa,KAAb,aAAa,GAGxB,EAAA,CAAA,CAAA,CAAA;IAGW,aAIX;AAJD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,YAAA,CAAA,cAAA,CAAA,GAAA,iBAAgC,CAAA;AAChC,IAAA,YAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACnC,CAAC,EAJW,YAAY,KAAZ,YAAY,GAIvB,EAAA,CAAA,CAAA,CAAA;IAEW,SAGX;AAHD,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAHW,QAAQ,KAAR,QAAQ,GAGnB,EAAA,CAAA,CAAA,CAAA;IAEW,WAKX;AALD,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,KAAc,CAAA;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,KAAgB,CAAA;AAChB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,KAAiB,CAAA;AACjB,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,MAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,GAKrB,EAAA,CAAA,CAAA,CAAA;IACW,aAIX;AAJD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,KAAiB,CAAA;AACjB,IAAA,YAAA,CAAA,cAAA,CAAA,GAAA,QAAuB,CAAA;AACvB,IAAA,YAAA,CAAA,cAAA,CAAA,GAAA,QAAuB,CAAA;AACzB,CAAC,EAJW,YAAY,KAAZ,YAAY,GAIvB,EAAA,CAAA,CAAA,CAAA;IAGW,YAQX;AARD,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,WAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EARW,WAAW,KAAX,WAAW,GAQtB,EAAA,CAAA,CAAA,CAAA;IAEW,aAMX;AAND,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,KAAY,CAAA;AACZ,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,KAAa,CAAA;AACb,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,KAAgB,CAAA;AAChB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,KAAc,CAAA;AACd,IAAA,YAAA,CAAA,aAAA,CAAA,GAAA,MAAoB,CAAA;AACtB,CAAC,EANW,YAAY,KAAZ,YAAY,GAMvB,EAAA,CAAA,CAAA,CAAA;IAIW,YAQX;AARD,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,IAAA,WAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,IAAA,WAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAC/C,IAAA,WAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,IAAA,WAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,IAAA,WAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,IAAA,WAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AACjD,CAAC,EARW,WAAW,KAAX,WAAW,GAQtB,EAAA,CAAA,CAAA,CAAA;IAEW,kBAMX;AAND,CAAA,UAAY,iBAAiB,EAAA;AAC3B,IAAA,iBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,iBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,IAAA,iBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,iBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,iBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC7B,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,GAM5B,EAAA,CAAA,CAAA,CAAA;IAEW,QAGX;AAHD,CAAA,UAAY,OAAO,EAAA;AACjB,IAAA,OAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,OAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACnC,CAAC,EAHW,OAAO,KAAP,OAAO,GAGlB,EAAA,CAAA,CAAA;;MCzPY,uBAAuB,CAAA;IAGlC,WAAoB,CAAA,EAAc,EACxB,YAA2B,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QACnC,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAGD,QAAQ,GAAA;KAEP;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;AACjC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;SACrF;QACD,IAAI,UAAU,GAAQ,EAAE,CAAC;QAEzB,IAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,KAAK,QAAQ,CAAC,OAAO,EAAC;YACpD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC3D,OAAO;SACR;AACD,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK,UAAU,CAAC,MAAM;AACpD,gBAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK,UAAU,CAAC,SAAS;AACvD,gBAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK,UAAU,CAAC,QAAQ;gBACtD,IAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK,UAAU,CAAC,UAAU,EAAE;gBAE5D,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;SAC7F;KAEF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC/B,YAAA,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAA;SAC1C;KACF;IAGD,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;YAC5F,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3C,SAAC,CAAC,CAAA;KACH;IAED,gBAAgB,CAAC,EAAU,EAAE,KAAiB,EAAA;QAC5C,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;AACnC,YAAA,IAAI,KAAK,EAAE,GAAG,EAAE;AACd,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;aAClE;YAED,IAAG,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC,OAAO,EAAC;gBACjC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC3D,OAAO;aACR;YACD,IAAI,UAAU,GAAQ,EAAE,CAAC;YACzB,IAAI,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,MAAM,EAAE;gBACtC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3C;YACD,IAAI,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,SAAS,EAAE;gBACzC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC9C;YACD,IAAI,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,QAAQ,EAAE;gBACxC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC7C;YACD,IAAI,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,UAAU,EAAE;gBAC1C,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC/C;YACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;SAC7F;KACF;8GA1EU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEU,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;;;MCDK,wBAAwB,CAAA;IAKnC,WAAoB,CAAA,EAAc,EACxB,YAA2B,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QAH5B,IAAW,CAAA,WAAA,GAAY,CAAC,CAAC;QAI9B,IAAI,CAAC,sBAAsB,EAAE,CAAA;KAC9B;IAGH,WAAW,GAAA;QACT,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,uBAAuB,EAAE,WAAW,EAAE,CAAA;KAC5C;IAED,uBAAuB,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE;YAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;SAC7E;AACD,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACzC;KACF;IAED,eAAe,CAAC,KAAuB,EAAE,KAAa,EAAA;AACpD,QAAA,IAAI,KAAK,EAAE,IAAI,KAAM,OAAuB,EAAE;AAC5C,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAC7D,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3E,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA,UAAA,EAAa,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC;SAC1E;aAAM;AACL,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA,UAAA,EAAa,KAAK,CAAA,CAAE,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACrE,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxD,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACrE,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAa,UAAA,EAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC;aAC7F;SACF;KACF;AAED,IAAA,gBAAgB,CAAC,KAAuB,EAAA;AACtC,QAAA,IAAI,KAAK,EAAE,KAAK,KAAM,OAAwB,EAAE;AAC9C,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;SACjE;aAAM;AACL,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;SACjE;KACF;AAED,IAAA,YAAY,CAAC,OAAe,EAAA;QAC1B,IAAI,OAAO,EAAE;AACX,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC;YAExD,OAAO,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;SACvD;AACD,QAAA,OAAO,UAAU,CAAA;KAClB;IAGD,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC9F,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7D,SAAC,CAAC,CAAA;KACH;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAE,KAAuB,EAAE,OAAe,EAAA;QACjE,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;AACnC,YAAA,IAAI,KAAK,EAAE,IAAI,EAAE;AACf,gBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;aAC5D;AACD,YAAA,IAAI,KAAK,EAAE,KAAK,EAAE;AAChB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAC9B;SACF;KACF;8GAlFU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEU,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MCDK,oBAAoB,CAAA;AAQ/B,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QALvC,IAAQ,CAAA,QAAA,GAAY,EAAE,CAAC;QAEvB,IAAS,CAAA,SAAA,GAAa,EAAE,CAAA;KAGkB;IAEnD,QAAQ,GAAA;KAEP;IAED,UAAU,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAC,CAAC,CAAC;KACrE;8GAhBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZjC,0LACA,EAAA,MAAA,EAAA,CAAA,iKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDOY,wBAAwB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIvB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAClB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,wBAAwB,CAAC,EAAA,QAAA,EAAA,0LAAA,EAAA,MAAA,EAAA,CAAA,iKAAA,CAAA,EAAA,CAAA;+EAK1B,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MERK,uBAAuB,CAAA;IAGlC,WAAoB,CAAA,EAAc,EACxB,YAA2B,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QACjC,IAAI,CAAC,wBAAwB,EAAE,CAAA;KAChC;IAEH,WAAW,GAAA;QACT,IAAI,CAAC,mBAAmB,EAAE,CAAA;KAC3B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE;AACnC,YAAA,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAA;SAC9C;KACF;IAED,mBAAmB,GAAA;AACjB,QAAA,IAAI,aAAa,GAAG,CAAG,EAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA,EAAA,EAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;AAChE,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;KAC1E;IAGD,wBAAwB,GAAA;AACtB,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACnG,YAAA,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACpD,gBAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;gBAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAA;aAC3B;AACH,SAAC,CAAC,CAAA;KACH;8GA/BU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAE+B,QAAQ,EAAA,CAAA;sBAArC,KAAK;uBAAC,qBAAqB,CAAA;;;MCAjB,uBAAuB,CAAA;IAGlC,WAAoB,CAAA,EAAc,EACxB,YAA2B,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QACnC,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAGD,QAAQ,GAAA;KAEP;IAED,WAAW,GAAA;QAET,IAAI,UAAU,GAAQ,EAAE,CAAC;AACzB,QAAA,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACrC,IAAI,IAAI,CAAC,4BAA4B,CAAC,KAAK,KAAK,UAAU,CAAC,MAAM;AAC7D,gBAAA,IAAI,CAAC,4BAA4B,CAAC,KAAK,KAAK,UAAU,CAAC,SAAS;AAChE,gBAAA,IAAI,CAAC,4BAA4B,CAAC,KAAK,KAAK,UAAU,CAAC,QAAQ;gBAC/D,IAAI,CAAC,4BAA4B,CAAC,KAAK,KAAK,UAAU,CAAC,UAAU,EAAE;gBAErE,UAAU,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACjE;YACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;SAC7F;KAEF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC/B,YAAA,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAA;SAC1C;KACF;IAGD,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;YAC5F,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3C,SAAC,CAAC,CAAA;KACH;IAED,gBAAgB,CAAC,EAAU,EAAE,KAAiB,EAAA;QAC5C,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;YAEnC,IAAI,UAAU,GAAQ,EAAE,CAAC;YACzB,IAAI,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,MAAM,EAAE;gBACtC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3C;YACD,IAAI,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,SAAS,EAAE;gBACzC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC9C;YACD,IAAI,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,QAAQ,EAAE;gBACxC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC7C;YACD,IAAI,KAAK,EAAE,KAAK,KAAK,UAAU,CAAC,UAAU,EAAE;gBAC1C,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC/C;YACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;SAC7F;KACF;8GA5DU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEU,4BAA4B,EAAA,CAAA;sBAApC,KAAK;;;MCaK,uBAAuB,CAAA;AAQlC,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAG;IACnD,QAAQ,GAAA;KACP;IACD,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;KACrE;AACD,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,EAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC;KAC/B;8GAhBU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBpC,grCAeA,EAAA,MAAA,EAAA,CAAA,yGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDDI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,oBAAoB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMd,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAdnC,SAAS;+BACE,wBAAwB,EAAA,UAAA,EACtB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,eAAe;wBACf,oBAAoB;wBACpB,uBAAuB;wBACvB,uBAAuB;AACxB,qBAAA,EAAA,QAAA,EAAA,grCAAA,EAAA,MAAA,EAAA,CAAA,yGAAA,CAAA,EAAA,CAAA;+EAMQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MErBK,gCAAgC,CAAA;IAG3C,WAAoB,CAAA,EAAc,EACxB,YAA2B,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QACnC,IAAI,CAAC,yBAAyB,EAAE,CAAA;KACjC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,GAAG,CAAC;AACzD,YAAA,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,eAAe,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;AAC3E,YAAA,IAAI,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,EAAE;gBAClD,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAA;AAChF,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC5D,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAA;aACtF;SACF;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE;AACnC,YAAA,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAA;SAC9C;KACF;AAEM,IAAA,eAAe,CAAC,OAAY,EAAA;QACjC,MAAM,aAAa,GAAW,qCAAqC,CAAC;AACpE,QAAA,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC/B,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SACpB;AACD,QAAA,OAAO,OAAO,CAAC;KAChB;AAED,IAAA,wBAAwB,CAAC,KAAa,EAAA;QACpC,MAAM,aAAa,GAAW,0DAA0D,CAAC;AACzF,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;IAGD,yBAAyB,GAAA;AACvB,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;YACpG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;AACxD,SAAC,CAAC,CAAA;KACH;IAED,oBAAoB,CAAC,EAAO,EAAE,cAA8B,EAAA;AAC1D,QAAA,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,cAAc,EAAE;AACrD,YAAA,IAAI,OAAO,GAAG,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC;YAC1C,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,eAAe,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;AAC3E,YAAA,IAAI,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,EAAE;gBAClD,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAA;AAChF,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC5D,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAA;aACtF;SACF;KACF;AAED,IAAA,wBAAwB,CAAC,UAAkB,EAAA;;QAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,UAAU,EAAE;;AAEd,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;SAC1C;;AAGD,QAAA,OAAO,IAAI,CAAC;KACb;;AAGD,IAAA,WAAW,CAAC,UAAkB,EAAA;;QAE5B,MAAM,SAAS,GAAG,uDAAuD,CAAC;;QAG1E,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,KAAK,EAAE;;AAET,YAAA,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;;AAG7C,YAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;;YAG/C,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;SACzB;;AAGD,QAAA,OAAO,IAAI,CAAC;KACb;;AAGD,IAAA,gBAAgB,CAAC,IAAc,EAAA;;QAE7B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;;AAG1B,QAAA,MAAM,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC;;QAG5D,MAAM,SAAS,GAAG,GAAG,CAAC;;QAGtB,OAAO,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;KAClD;8GAhHU,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,uBAAA,EAAA,CAAA,8BAAA,EAAA,yBAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAJ5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEwC,uBAAuB,EAAA,CAAA;sBAA7D,KAAK;uBAAC,8BAA8B,CAAA;;;MCM1B,uBAAuB,CAAA;AAOlC,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAG;IACnD,QAAQ,GAAA;KAEP;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;KACrE;8GAdU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBpC,+lEA8BA,EAAA,MAAA,EAAA,CAAA,uWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDlBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAC,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAC,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAC,gCAAgC,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAC,oBAAoB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIzG,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EACvB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAC,uBAAuB,EAAC,eAAe,EAAC,gCAAgC,EAAC,oBAAoB,CAAC,EAAA,QAAA,EAAA,+lEAAA,EAAA,MAAA,EAAA,CAAA,uWAAA,CAAA,EAAA,CAAA;+EAK5G,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MELK,0BAA0B,CAAA;AAOrC,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAG;IACnD,QAAQ,GAAA;KACP;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;KACrE;8GAbU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EChBvC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,4vCAYA,EDAY,MAAA,EAAA,CAAA,8SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,EAAC,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAAC,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gCAAgC,EAAC,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,2IAAE,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIlI,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EACzB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAC,uBAAuB,EAAC,eAAe,EAAC,gCAAgC,EAAC,oBAAoB,EAAE,uBAAuB,CAAC,EAAA,QAAA,EAAA,4vCAAA,EAAA,MAAA,EAAA,CAAA,8SAAA,CAAA,EAAA,CAAA;+EAKrI,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEZK,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;QAQW,IAAI,CAAA,IAAA,GAAY,EAAE,CAAA;AAC5B,KAAA;8GAFY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,2GCTpC,4DACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDQa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;+BACE,uBAAuB,EAAA,UAAA,EACrB,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,4DAAA,EAAA,CAAA;8BAKF,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEFK,cAAc,CAAA;IAGzB,WAAoB,CAAA,EAAc,EACxB,YAA2B,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;KAClC;IAEH,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAID,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,CAAA;KACtC;IAED,UAAU,GAAA;AACR,QAAA,IAAG,IAAI,CAAC,OAAO,EAAC;AACd,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;SACvE;KACF;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AAC3F,YAAA,IAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAC;gBACrC,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,CAAA;gBAC/B,IAAI,CAAC,UAAU,EAAE,CAAA;aAClB;AACH,SAAC,CAAC,CAAA;KACH;IAED,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;;YAGhB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,IAAI,UAAU,GAAW,GAAG,CAAC;AAC7B,gBAAA,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,oBAAA,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC/C;AACD,gBAAA,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;aAC3B;AACD,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjD,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjD,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjD,YAAA,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC;YAExD,OAAO,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;SACvD;AACD,QAAA,OAAO,UAAU,CAAA;KAClB;8GArDU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,SAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEsB,OAAO,EAAA,CAAA;sBAA3B,KAAK;uBAAC,YAAY,CAAA;;;MCOR,mBAAmB,CAAA;AAO9B,IAAA,WAAA,GAAA;QAFA,IAAW,CAAA,WAAA,GAAG,WAAW,CAAA;AAUzB,QAAA,IAAA,CAAA,gBAAgB,GAA6B;AAC3C,YAAA,QAAQ,EAAE,wDAAwD;AAClE,YAAA,SAAS,EAAE,8DAA8D;AACzE,YAAA,QAAQ,EAAE,4CAA4C;SACvD,CAAA;QAED,IAAW,CAAA,WAAA,GAAW,GAAG,CAAC;QAbxB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,QAAQ,GAAA;KAEP;AAUD,IAAA,aAAa,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;SACtC;KACF;AAED,IAAA,QAAQ,CAAC,IAAY,EAAA;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAEzC,QAAA,IAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACjD;aACG;AACF,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC7B;KACF;8GAtCU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EChBhC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,imUAsEA,ED5DI,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,mIACZ,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKL,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;+BACE,mBAAmB,EAAA,UAAA,EACjB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,imUAAA,EAAA,CAAA;wDAMQ,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAmBN,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MExB9B,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAHpB,OAAA,EAAA,CAAA,sBAAsB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,uBAAuB,EAAC,oBAAoB,EAAC,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAC5L,sBAAsB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,uBAAuB,EAAC,oBAAoB,EAAC,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE3L,mBAAmB,EAAA,OAAA,EAAA,CAHpB,sBAAsB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,0BAA0B,EAA+C,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG3L,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,uBAAuB,EAAC,oBAAoB,EAAC,mBAAmB,CAAC;AACvM,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,uBAAuB,EAAC,oBAAoB,EAAC,mBAAmB,CAAC;AACxM,iBAAA,CAAA;;;MCAY,sBAAsB,CAAA;AAEjC,IAAA,WAAA,CACU,aAA6B,EAAA;QAA7B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;AAG7B,QAAA,IAAA,CAAA,IAAI,GAA0B,IAAI,YAAY,EAAW,CAAC;QAI3D,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;KANhC;IAQH,QAAQ,GAAA;KACP;IAED,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;AAED,IAAA,cAAc,CAAC,KAAU,EAAA;QACvB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;QAC5D,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;AAED,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAC,CAAC,CAAC;QAChI,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;AAED,IAAA,MAAM,CAAC,KAAU,EAAA;AACf,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAG,IAAI,EAAC,CAAC,CAAC;QAC7E,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;AACD,IAAA,QAAQ,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAG,MAAM,EAAC,CAAC,CAAC;QAC/E,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;AACD,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;QACpD,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;IAED,UAAU,CAAC,QAA2B,EAAC,KAAU,EAAA;AAC/C,QAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QAC1H,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,KAAU,EAAA;QACzB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACxE,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;8GAtDU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uMCbnC,8rPA6FA,EAAA,MAAA,EAAA,CAAA,ghEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDpFY,aAAa,EAAC,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,0JAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI1C,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACE,sBAAsB,EAAA,UAAA,EACpB,IAAI,EACP,OAAA,EAAA,CAAC,aAAa,EAAC,eAAe,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,8rPAAA,EAAA,MAAA,EAAA,CAAA,ghEAAA,CAAA,EAAA,CAAA;+EAU5C,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACE,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MEVK,2BAA2B,CAAA;AACtC,IAAA,WAAA,CACU,aAA6B,EAAA;QAA7B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;AAK7B,QAAA,IAAA,CAAA,IAAI,GAA0B,IAAI,YAAY,EAAW,CAAC;KAJjE;IAMH,WAAW,GAAA;QAER,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAA;KAC3E;IACD,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;KACpD;8GAfU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,2JCbxC,2vEAoCA,EAAA,MAAA,EAAA,CAAA,g9BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED3BY,aAAa,EAAC,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,0JAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI1C,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;+BACE,4BAA4B,EAAA,UAAA,EAC1B,IAAI,EACP,OAAA,EAAA,CAAC,aAAa,EAAC,eAAe,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,2vEAAA,EAAA,MAAA,EAAA,CAAA,g9BAAA,CAAA,EAAA,CAAA;+EAS7C,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACI,IAAI,EAAA,CAAA;sBAAb,MAAM;;;MEJI,oBAAoB,CAAA;AAW/B,IAAA,WAAA,GAAA;QATS,IAAO,CAAA,OAAA,GAAuB,CAAC,CAAC;QAIlC,IAAgB,CAAA,gBAAA,GAAkB,IAAI,CAAC;QAEvC,IAAgB,CAAA,gBAAA,GAAkB,IAAI,CAAC;QACvC,IAAY,CAAA,YAAA,GAAkB,IAAI,CAAC;AAIxC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;KACrE;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;KACrE;AAED,IAAA,gBAAgB,CAAC,KAAU,EAAA;QACzB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACxF,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;SACR;AAED,QAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;KAChH;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;KACnD;AAED,IAAA,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAA;QAC7D,IAAI,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,MAAM,CAAC;QAChC,IAAI,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,MAAM,CAAC;QAEhC,MAAM,GAAG,GAAG,CAAC,CAAM,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEpE,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChD,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChD,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAElD,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChD,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChD,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEhD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AACrD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AACrD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AAErD,QAAA,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;KACvC;IAED,OAAO,CAAC,GAAW,EAAE,MAAc,EAAA;QACjC,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;KACpE;AAED,IAAA,0BAA0B,CAAC,MAAc,EAAA;AACvC,QAAA,MAAM,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;QAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KAC5D;AAED,IAAA,cAAc,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC3B;8GAjEU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBjC,+qMAgEA,EDrDI,MAAA,EAAA,CAAA,62BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,yhBAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKzC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAThC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;AACP,wBAAA,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO;AACnD,qBAAA,EAAA,QAAA,EAAA,+qMAAA,EAAA,MAAA,EAAA,CAAA,62BAAA,CAAA,EAAA,CAAA;wDAKQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEZK,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAApB,oBAAoB,EAAA,OAAA,EAAA,CAHrB,sBAAsB,EAAE,2BAA2B,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzE,sBAAsB,EAAE,2BAA2B,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAExE,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAHrB,OAAA,EAAA,CAAA,sBAAsB,EAAE,2BAA2B,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGxE,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,oBAAoB,CAAC;AACpF,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,oBAAoB,CAAC;AACrF,iBAAA,CAAA;;;MCUY,kBAAkB,CAAA;AAM7B,IAAA,WAAA,CACU,EAAc,EACd,QAAmB,EACnB,YAA4B,EAAA;QAF5B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAgB;QAJtC,IAAc,CAAA,cAAA,GAAG,SAAS,CAAA;AA+I1B,QAAA,IAAA,CAAA,cAAc,GAAQ;AACpB,YAAA,IAAI,EAAG,aAAa;AACpB,YAAA,KAAK,EAAG,cAAc;AACtB,YAAA,MAAM,EAAE,eAAe;AACvB,YAAA,GAAG,EAAG,YAAY;AAClB,YAAA,IAAI,EAAG,aAAa;AACpB,YAAA,MAAM,EAAG,MAAM;SAChB,CAAA;AAhJC,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,SAAS,CAC/E,CAAC,GAAO,KAAI;AACV,YAAA,IAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAC;AACrC,gBAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAA;gBAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;AACH,SAAC,CACF,CAAA;KACF;IACD,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;SAC5B;AACD,QAAA,IAAG,IAAI,CAAC,wBAAwB,EAAC;AAC/B,YAAA,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;SAC7C;KACF;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;;KAEvB;IAED,WAAW,GAAA;;KAEV;IAEO,cAAc,GAAA;AAEpB,QAAA,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,GAAG;SACf,CAAC;QACF,IAAG,OAAO,MAAM,KAAK,WAAW,IAAI,sBAAsB,IAAI,MAAM,EAAE;YACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,KAAI;AACnD,gBAAA,OAAO,CAAC,OAAO,CAAC,KAAK,IAAG;oBACtB,IACE,KAAK,CAAC,cAAc;AACpB,wBAAA,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EACpD;wBACA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/C,wBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAChE,wBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEnF,wBAAA,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE;AAC7B,4BAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;4BACzD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;yBACjH;wBAED,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;qBACjD;AACH,iBAAC,CAAC,CAAC;aACJ,EAAE,OAAO,CAAC,CAAC;YAEZ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;SAC9C;KAEF;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE;YAE5B,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,MAAM,EAAE;AACtC,gBAAA,OAAO,aAAa,CAAA;aACrB;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,OAAO,EAAE;AACvC,gBAAA,OAAO,cAAc,CAAA;aACtB;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,KAAK,EAAE;AACrC,gBAAA,OAAO,YAAY,CAAA;aACpB;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,QAAQ,EAAE;AACxC,gBAAA,OAAO,eAAe,CAAA;aACvB;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,QAAQ,EAAE;AACxC,gBAAA,OAAO,MAAM,CAAA;aACd;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,MAAM,EAAE;AACtC,gBAAA,OAAO,aAAa,CAAA;aACrB;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,KAAK,MAAM,EAAE;AACvC,gBAAA,OAAO,MAAM,CAAA;aACd;SAEF;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAIO,cAAc,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE;AAC5B,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;;;YAGtD,IAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,MAAM,EAAC;AACnC,gBAAA,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;aAC1B;YACD,IAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,OAAO,EAAC;AACpC,gBAAA,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;aAC3B;YACD,IAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,EAAC;AAClC,gBAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;aACzB;YACD,IAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,QAAQ,EAAC;AACrC,gBAAA,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;aAC5B;YACD,IAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,QAAQ,EAAC;AACrC,gBAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;aACnB;YACD,IAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,MAAM,EAAC;AACnC,gBAAA,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;aAC1B;YACD,IAAG,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE;AACrC,gBAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;aACnB;AACD,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAChE,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACtE;AAED,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE;AAC7B,YAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACzD,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAChE,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;SACjH;KACF;AAED,IAAA,iBAAiB,CAAC,KAAqB,EAAA;QACrC,IAAI,UAAU,GAAG,EAAE,CAAA;AACnB,QAAA,KAAI,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAC;AACzC,YAAA,IAAG,GAAG,KAAK,KAAK,EAAC;AAChB,gBAAA,UAAU,GAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnC;SACH;AACD,QAAA,OAAO,UAAU,CAAC;KACnB;8GAlJU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,CAAA,gBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;gIAE0B,aAAa,EAAA,CAAA;sBAArC,KAAK;uBAAC,gBAAgB,CAAA;;;MCVZ,mBAAmB,CAAA;IAK9B,WACU,CAAA,EAAc,EACd,YAA2B,EAAA;QAD3B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QALf,IAAW,CAAA,WAAA,GAAY,CAAC,CAAC;AAM3C,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAA;SACjC;AACD,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,SAAS,CACzE,CAAC,GAAO,KAAI;AACV,YAAA,IAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,iBAAiB,EAAC;AAC9D,gBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,WAAW,IAAI,CAAC,EAAE;AACjD,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,kBAAkB,EAClB,CAAA,IAAA,EAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA,CAAA,CAAG,CACzB,CAAC;AACF,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,qBAAqB,EACrB,CAAA,EAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA,EAAA,EAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA,CAAA,CAAG,CACpD,CAAC;AACF,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAA,SAAA,CAAW,CAAC,CAAC;AAC1E,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAA,KAAA,CAAO,CAAC,CAAC;oBACpE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;iBACpF;qBAAM;AACL,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,kBAAkB,EAClB,GAAG,CAAC,IAAI,EAAE,KAAK,CAChB,CAAC;AACF,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,kBAAkB,EAClB,CAAA,CAAE,CACH,CAAC;oBACF,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;iBACpF;aACF;AACH,SAAC,CACF,CAAA;KACF;IACD,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACrB,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAA;SACjC;KACJ;AAEF,IAAA,WAAW,CAAC,MAAoB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;AAC5D,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,kBAAkB,EAClB,CAAA,IAAA,EAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAA,CAAA,CAAG,CACrC,CAAC;AACF,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,qBAAqB,EACrB,CAAA,EAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAA,EAAA,EAAK,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAA,CAAA,CAAG,CAC5E,CAAC;AACF,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAA,SAAA,CAAW,CAAC,CAAC;AAC1E,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAA,KAAA,CAAO,CAAC,CAAC;AACpE,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,CAAA;SAC1I;aAAM;AACL,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,kBAAkB,EAClB,IAAI,CAAC,eAAe,EAAE,KAAK,CAC5B,CAAC;AACF,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,CAAA;SAC1I;KACF;AAED,IAAA,YAAY,CAAC,OAAe,EAAA;QAC1B,IAAI,OAAO,EAAE;AACX,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC;YAExD,OAAO,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;SACvD;AACD,QAAA,OAAO,UAAU,CAAA;KAClB;8GAhFU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAE2B,eAAe,EAAA,CAAA;sBAAxC,KAAK;uBAAC,iBAAiB,CAAA;gBACF,WAAW,EAAA,CAAA;sBAAhC,KAAK;uBAAC,aAAa,CAAA;;;MCDT,mBAAmB,CAAA;IAG9B,WAAoB,CAAA,EAAc,EACxB,YAA4B,EAAA;QADlB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAgB;QAClC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,SAAS,CAC/C,CAAC,GAAO,KAAI;AACX,YAAA,IAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAC;AACtC,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACvE;AACF,SAAC,CACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAC7C,CAAC,GAAO,KAAI;AACV,YAAA,IAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAC;AACrC,gBAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;gBACvB,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE;oBAClC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;AACxD,oBAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;iBACnC;qBAAM;oBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;AACpD,oBAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;iBAClC;AACD,gBAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACrD;AACH,SAAC,CACF,CAAA;KACF;IAEH,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE;AAClC,YAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;SACnC;aAAM,IAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,EAAE;AACvC,YAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;SAClC;AAED,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1D,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAC3E;8GA/CU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,QAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEuB,MAAM,EAAA,CAAA;sBAA3B,KAAK;uBAAC,aAAa,CAAA;;;MCDT,yBAAyB,CAAA;AAGpC,IAAA,WAAA,CAAoB,EAAc,EACxB,YAA4B,EAC5B,QAAmB,EAAA;QAFT,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAgB;QAC5B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACzB,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,SAAS,CAC/C,CAAC,GAAO,KAAI;AACV,YAAA,IAAG,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAC;AACjC,gBAAA,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAC,UAAU,CAAC,KAAI;oBACjE,IAAG,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,EAAC;AAC/B,wBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAC1D,wBAAA,IAAG,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAC;AACzD,4BAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAC,QAAQ,CAAC,CAAA;yBAC/D;qBACF;AACH,iBAAC,CAAC,CAAC;aACJ;iBACG;AACF,gBAAA,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAC,UAAU,CAAC,KAAI;oBAC9D,IAAG,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,KAAK,SAAS,EAAC;AAChD,wBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAC,CAAA,WAAA,CAAa,CAAC,CAAC;wBAC5D,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAG;AACtC,4BAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACzD,yBAAC,CAAC,CAAC;qBACJ;AACH,iBAAC,CAAC,CAAA;aACH;AACD,YAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5D,SAAC,CACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAC7C,CAAC,GAAO,KAAI;AACX,YAAA,IAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,EAAC;gBACxC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE;AAClC,oBAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;iBACnC;qBAAM;AACL,oBAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;iBAClC;AACD,gBAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACpD;AACF,SAAC,CACF,CAAA;KACF;IAEH,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE;AAClC,YAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;SACnC;aAAM;AACL,YAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;SAClC;AAED,QAAA,IAAG,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAC;AACjC,YAAA,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAC,UAAU,CAAC,KAAI;gBACjE,IAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,KAAK,SAAS,EAAC;AAClD,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;oBAC1D,IAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,IAAI,QAAQ,EAAC;AAC7F,wBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAC,QAAQ,CAAC,CAAA;qBAC/D;iBACF;AACH,aAAC,CAAC,CAAC;SACJ;aACG;AACF,YAAA,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAC,UAAU,CAAC,KAAI;gBAC9D,IAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,KAAK,SAAS,EAAC;AAClD,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAC,CAAA,WAAA,CAAa,CAAC,CAAC;oBAC5D,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAG;AACtC,wBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACzD,qBAAC,CAAC,CAAC;iBACJ;AACH,aAAC,CAAC,CAAA;SACH;AACD,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3D;8GAlFU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;gIAE6B,MAAM,EAAA,CAAA;sBAAjC,KAAK;uBAAC,mBAAmB,CAAA;;;MCFf,eAAe,CAAA;IAG1B,WACU,CAAA,EAAc,EACd,YAA4B,EAAA;QAD5B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAgB;QAElC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAC5C,CAAC,GAAO,KAAI;AACV,YAAA,IAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAC;AACrC,gBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE;AACrB,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,eAAe,EACf,GAAG,CAAC,IAAI,CAAC,SAAS,GAAC,IAAI;wBACrB,GAAG;wBACH,GAAG,CAAC,IAAI,CAAC,IAAI;wBACb,GAAG;AACH,wBAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CACjB,CAAC;iBACH;qBACG;AACF,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,eAAe,EACf,MAAM,CACP,CAAC;iBACH;aACF;AACH,SAAC,CACF,CAAA;KACF;IAEH,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,eAAe,EACf,IAAI,CAAC,UAAU,CAAC,SAAS,GAAC,IAAI;gBAC5B,GAAG;gBACH,IAAI,CAAC,UAAU,CAAC,IAAI;gBACpB,GAAG;AACH,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CACxB,CAAC;SACH;KACF;8GA1CU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,CAAA,aAAA,EAAA,YAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEuB,UAAU,EAAA,CAAA;sBAA/B,KAAK;uBAAC,aAAa,CAAA;;;MCAT,wBAAwB,CAAA;IAInC,WAAoB,CAAA,EAAc,EACxB,YAA2B,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QAEnC,IAAI,CAAC,gBAAgB,EAAE,CAAA;KACxB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE;YACpC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACjD;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;YACrC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACjD;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE;YACpC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACjD;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAChC,YAAA,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAA;SAC3C;KACF;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;YAC3F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAClC,SAAC,CAAC,CAAA;KACH;IAED,QAAQ,CAAC,GAAc,EAAE,EAAU,EAAA;QACjC,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;YAClC,IAAI,CAAC,gBAAgB,EAAE,CAAA;AACvB,YAAA,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACjD;AACD,YAAA,IAAI,GAAG,KAAK,QAAQ,EAAE;gBACpB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACjD;AACD,YAAA,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACjD;SACF;KACF;IAED,gBAAgB,GAAA;QACd,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KACpD;8GArDU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,CAAA,sBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEgC,eAAe,EAAA,CAAA;sBAA7C,KAAK;uBAAC,sBAAsB,CAAA;;;MCDlB,qBAAqB,CAAA;IAGhC,WACmB,CAAA,EAAc,EACd,YAA4B,EAAA;QAD5B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAgB;KAE5C;IAED,QAAQ,GAAA;QACJ,IAAI,CAAC,MAAM,EAAE,CAAC;KACjB;IAED,WAAW,GAAA;QACP,IAAI,CAAC,MAAM,EAAE,CAAC;KACjB;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,QAAQ,EAAE;AAChC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC1D,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SACpE;aACI,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE;AACnC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAChE,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;SACxE;aACI;AACD,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAC/D,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;SACtE;KACJ;8GAhCQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEgC,MAAM,EAAA,CAAA;sBAApC,KAAK;uBAAC,sBAAsB,CAAA;;;MCAlB,8BAA8B,CAAA;IAGzC,WACU,CAAA,EAAc,EACd,YAA2B,EAAA;QAD3B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;KAC/B;IAEN,WAAW,GAAA;QACT,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAED,WAAW,GAAA;AACT,QAAA,IAAG,IAAI,CAAC,4BAA4B,EAAC;AACnC,YAAA,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC;SACjD;KACF;IAGD,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,GAAO,KAAI;AACtG,YAAA,IAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAC;AACrC,gBAAA,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrC,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;AACH,SAAC,CAAC,CAAA;KACH;IAED,qBAAqB,GAAA;QACnB,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAC/B,QAAA,IAAG,IAAI,CAAC,oBAAoB,EAAC;AAC3B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;SAClF;KACF;IAED,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;AACnF,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;AACnF,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;KACjF;8GAvCU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,oBAAA,EAAA,CAAA,uBAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEiC,oBAAoB,EAAA,CAAA;sBAAnD,KAAK;uBAAC,uBAAuB,CAAA;;;MCFnB,0BAA0B,CAAA;IAGrC,WAAoB,CAAA,EAAc,EACxB,YAA4B,EAAA;QADlB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAgB;QAClC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAC7C,CAAC,GAAO,KAAI;YACV,IAAI,CAAC,MAAM,EAAE,CAAC;AAChB,SAAC,CACF,CAAA;KACF;IAEH,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,MAAM,GAAA;AACJ,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3D;8GAtBU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAE6B,MAAM,EAAA,CAAA;sBAAjC,KAAK;uBAAC,mBAAmB,CAAA;;;MCFf,cAAc,CAAA;AAIzB,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AAFtB,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;KAEpC;IAEtC,WAAW,GAAA;KAEV;IAE2B,YAAY,GAAA;AACtC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;IAE2B,YAAY,GAAA;AACtC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;8GAhBU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;+EAIa,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAQmB,YAAY,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY,CAAA;gBAIE,YAAY,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY,CAAA;;;MCdf,gBAAgB,CAAA;IAG3B,WACU,CAAA,EAAc,EACd,YAA2B,EAAA;QAD3B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QAEjC,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,SAAS,CAClD,CAAC,GAAO,KAAI;AACV,YAAA,IAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAC;AACrC,gBAAA,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE;AACvB,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,kBAAkB,EAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/C,CAAC;iBACH;aACF;AACH,SAAC,CACF,CAAA;KACF;IAEH,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE;AAClC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CACrC,kBAAkB,EAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CACrE,CAAC;SACH;KACF;IAED,OAAO,CAAC,OAAe,EAAE,OAAe,EAAA;AACtC,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE5C,OAAO,CAAA,KAAA,EAAQ,CAAC,CAAA,EAAA,EAAK,CAAC,CAAA,EAAA,EAAK,CAAC,CAAA,EAAA,EAAK,OAAO,GAAG,GAAG,CAAA,CAAA,CAAG,CAAC;KACnD;8GApCU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,CAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEwB,cAAc,EAAA,CAAA;sBAApC,KAAK;uBAAC,cAAc,CAAA;;;MCCV,gCAAgC,CAAA;IAG3C,WAAoB,CAAA,EAAc,EACxB,YAA2B,EAAA;QADjB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QACjC,IAAI,CAAC,yBAAyB,EAAE,CAAC;KAClC;IAEH,WAAW,GAAA;QACT,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACT,QAAA,IAAG,IAAI,CAAC,0BAA0B,EAAC;AACjC,YAAA,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC;SAC/C;KACF;IAED,oBAAoB,GAAA;QAClB,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,KAAqC,CAAC,CAAC,CAAC;KAClH;IACD,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;KAChE;IAGD,yBAAyB,GAAA;AACvB,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAO,KAAI;AAClG,YAAA,IAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAC;AACrC,gBAAA,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;AACH,SAAC,CAAC,CAAA;KACH;8GArCU,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAJ5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEwC,cAAc,EAAA,CAAA;sBAApD,KAAK;uBAAC,8BAA8B,CAAA;;;ACVzB,MAAgB,WAAW,CAAA;AAAzC,IAAA,WAAA,GAAA;QACE,IAAc,CAAA,cAAA,GAAI,KAAK,CAAC;QACxB,IAAW,CAAA,WAAA,GAAa,KAAK,CAAC;QAE9B,IAAU,CAAA,UAAA,GAAa,KAAK,CAAC;KAS9B;AARC,IAAA,YAAY,CAAC,MAAc,EAAA;AAEzB,QAAA,IAAG,IAAI,CAAC,cAAc,EAAC;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;SAC1B;aAAI;AACH,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;SAC3B;KACF;AACF;;AC+CK,MAAO,oBAAqB,SAAQ,WAAW,CAAA;IAQnD,WACU,CAAA,OAAmB,EACnB,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAHA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QACnB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QALX,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;KAQpE;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;KACnC;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAzBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7DjC,y9DA6BA,EAAA,MAAA,EAAA,CAAA,8ZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDII,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,oBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAIf,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAEnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,mFAKf,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAGnB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEd,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAOP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAhChC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,mBAAmB;wBACnB,oBAAoB;wBACpB,eAAe;wBACf,oBAAoB;;wBAGpB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;AACjC,qBAAA,EAAA,QAAA,EAAA,y9DAAA,EAAA,MAAA,EAAA,CAAA,8ZAAA,CAAA,EAAA,CAAA;uGAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACsB,cAAc,EAAA,CAAA;sBAAzC,SAAS;uBAAC,eAAe,CAAA;;;ME1Df,sBAAsB,CAAA;IAIjC,WACU,CAAA,EAAc,EACd,YAA2B,EAAA;QAD3B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;KAAK;IAE1C,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IACD,WAAW,GAAA;KAEV;AAED,IAAA,WAAW,CAAC,MAAqB,EAAA;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE;AAChC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAChE,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;SACjE;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,OAAO,EAAE;AACxC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACjE,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SAChE;aAAM;AAEL,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC3D;KACF;8GA9BU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEmC,MAAM,EAAA,CAAA;sBAAvC,KAAK;uBAAC,yBAAyB,CAAA;;;MCCrB,iBAAiB,CAAA;IAG5B,WAAoB,CAAA,YAA2B,EACrC,EAAc,EAAA;QADJ,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QACrC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;KACnB;IAEL,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE,CAAA;KACrB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,CAAA;KACzC;IAED,aAAa,GAAA;AAEX,QAAA,IAAG,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACvG;AACD,QAAA,IAAG,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjG;KAGF;IAGD,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAI;AACvF,YAAA,IAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE;AACtC,gBAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;AACH,SAAC,CAAC,CAAA;KACH;IAED,kBAAkB,GAAA;AAChB,QAAA,KAAI,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACjD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAChD;KACF;IAED,eAAe,GAAA;AACb,QAAA,KAAI,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC9C,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAChD;KACF;8GAlDU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEU,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MCHK,wBAAwB,CAAA;AAGnC,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;KAAI;IAEtC,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,MAAM,EAAE;AACvC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACzD;aAAM,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,OAAO,EAAE;AAC/C,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACzD;KACF;IAED,WAAW,GAAA;KACV;8GAdU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;+EAE2B,eAAe,EAAA,CAAA;sBAAxC,KAAK;uBAAC,iBAAiB,CAAA;;;MCJb,yBAAyB,CAAA;IAIN,YAAY,GAAA;AAEpC,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;KACnE;IAC2B,YAAY,GAAA;AAEpC,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;KAC/E;AAED,IAAA,WAAA,CACqB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;KAGlC;8GAlBQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;+EAGY,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;gBAEsB,YAAY,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY,CAAA;gBAKE,YAAY,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY,CAAA;;;ACwDxB,MAAO,sBAAuB,SAAQ,WAAW,CAAA;AAUrD,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;KAGtC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAChC,IAAG,CAAC,IAAI,CAAC,MAAM,IAAK,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;;KAE3C;AACD,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAgB,CAAC;KAChD;AACD,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,OAAO,qCAAqC,CAAC;KAC9C;AACD,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;KAC3B;AACD,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;KACtI;AACD,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,EAAwB,CAAC;KAChE;IAED,WAAW,GAAA;QAET,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;AACD,IAAA,eAAe,CAAC,KAAU,EAAA;QAExB,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;8GAjDU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvEnC,mlJAsEA,EDhCI,MAAA,EAAA,CAAA,0yCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,6LACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAKjB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,sBAAsB,EACtB,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,yFAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAIf,8BAA8B,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC9B,mBAAmB,EACnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAEf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EACd,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,mGACvB,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,gCAAgC,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEhC,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAOd,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBArClC,SAAS;+BACE,sBAAsB,EAAA,UAAA,EACpB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,yBAAyB;;wBAGzB,wBAAwB;wBACxB,sBAAsB;wBACtB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;wBACvB,cAAc;wBACd,iBAAiB;AAClB,qBAAA,EAAA,QAAA,EAAA,mlJAAA,EAAA,MAAA,EAAA,CAAA,0yCAAA,CAAA,EAAA,CAAA;+EAMQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEzER,IAAY,OAKX,CAAA;AALD,CAAA,UAAY,OAAO,EAAA;AACjB,IAAA,OAAA,CAAA,MAAA,CAAA,GAAA,QAAe,CAAA;AACf,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,MAAc,CAAA;AACd,IAAA,OAAA,CAAA,QAAA,CAAA,GAAA,MAAe,CAAA;AACf,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,MAAc,CAAA;AAChB,CAAC,EALW,OAAO,KAAP,OAAO,GAKlB,EAAA,CAAA,CAAA,CAAA;MAKY,qBAAqB,CAAA;IAGhC,WACU,CAAA,EAAc,EACd,YAA4B,EAAA;QAD5B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAgB;KAEnC;IAEH,WAAW,GAAA;QAET,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IACD,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAC9E;AAED,IAAA,IAAI,UAAU,GAAA;AAEZ,QAAA,QAAO,IAAI,CAAC,OAAO;AACf,YAAA,KAAK,OAAkB;gBACnB,OAAO,OAAO,CAAC,KAAK,CAAC;AACzB,YAAA,KAAK,OAAkB;gBACnB,OAAO,OAAO,CAAC,KAAK,CAAC;AACzB,YAAA,KAAK,QAAmB;gBACpB,OAAO,OAAO,CAAC,MAAM,CAAC;AAC1B,YAAA;gBACI,OAAO,OAAO,CAAC,IAAI,CAAC;SAC3B;KACF;8GA7BU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wGAEkC,OAAO,EAAA,CAAA;sBAAvC,KAAK;uBAAC,wBAAwB,CAAA;;;ACgD3B,MAAO,mBAAoB,SAAQ,WAAW,CAAA;AAUlD,IAAA,WAAA,CAAoB,aAA6B,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAC;QADU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAFjD,IAAe,CAAA,eAAA,GAAa,EAAE,CAAC;KAI9B;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAElC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;KAClC;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,cAAyB,CAAC;KACrD;AACD,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAgB,CAAC;KAC/C;AACD,IAAA,aAAa,CAAC,GAAW,EAAA;AAEvB,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;AACpC,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAa,KAAI,GAAG,IAAI,KAAK,CAAC,CAAC;;AAEnF,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClC;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GArCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/DhC,woIA2DA,EAAA,MAAA,EAAA,CAAA,yWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1BI,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,uBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAGP,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAEnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,mFAIf,8BAA8B,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAE9B,eAAe,EAEf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,gFACd,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,gBAAgB,EAChB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gCAAgC,qHAEhC,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,sBAAsB,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKb,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAlC/B,SAAS;+BACE,mBAAmB,EAAA,UAAA,EACjB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,mBAAmB;wBACnB,oBAAoB;wBACpB,OAAO;;wBAGP,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,qBAAqB;wBACrB,uBAAuB;wBACvB,sBAAsB;AACvB,qBAAA,EAAA,QAAA,EAAA,woIAAA,EAAA,MAAA,EAAA,CAAA,yWAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEHF,MAAO,sBAAuB,SAAQ,WAAW,CAAA;AAWrD,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAR9B,IAAI,CAAA,IAAA,GAAc,IAAI,CAAC;QACvB,IAAM,CAAA,MAAA,GAAK,KAAK,CAAC;QAG1B,IAAK,CAAA,KAAA,GAAS,SAAS,CAAC;QACxB,IAAW,CAAA,WAAA,GAAG,WAAW,CAAA;KAMxB;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;KACnC;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GA3BU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAT,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,iLChEnC,+1tCA+gBA,EAAA,MAAA,EAAA,CAAA,41BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED7eI,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,oBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,YAAY,EAEZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,oBAAoB,EAOpB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,0GASnB,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC1B,cAAc,EAEd,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,qFAGhB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKL,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAlClC,SAAS;+BACE,sBAAsB,EAAA,UAAA,EACpB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,mBAAmB;wBACnB,oBAAoB;wBACpB,oBAAoB;wBACpB,mBAAmB;;wBAInB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,+1tCAAA,EAAA,MAAA,EAAA,CAAA,41BAAA,CAAA,EAAA,CAAA;+EAMQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEJF,MAAO,6BAA8B,SAAQ,WAAW,CAAA;;AAS5D,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAcvC,IAAW,CAAA,WAAA,GAAW,GAAG,CAAC;QAXxB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAID,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;KAClC;AAID,IAAA,aAAa,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;SACtC;KACF;AAED,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,MAAM,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACvH,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;KACrD;AAED,IAAA,YAAY,CAAC,KAAa,EAAA;QACxB,MAAM,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAC1E,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;KACrD;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,cAAyB,CAAC;KACrD;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAjDU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAf,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,4PCjE1C,+oIAqDA,EAAA,MAAA,EAAA,CAAA,ycAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjBI,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,6VAEZ,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAIpB,gBAAA,kBAAkB,yFAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAKf,mBAAmB,EACnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAEf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,gFACd,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,gBAAgB,EAGhB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,mGACvB,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKZ,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAjCzC,SAAS;+BACE,8BAA8B,EAAA,UAAA,EAC5B,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,wBAAwB;wBACxB,oBAAoB;;wBAIpB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;wBACvB,qBAAqB;AACtB,qBAAA,EAAA,QAAA,EAAA,+oIAAA,EAAA,MAAA,EAAA,CAAA,ycAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAoBN,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AE5BrC,MAAO,yBAA0B,SAAQ,WAAW,CAAA;AASxD,IAAA,WAAA,CAAoB,aAA6B,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAC;QADU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAJrB,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;KAMpE;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;KAClC;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,cAAyB,CAAC;KACtD;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GA1BU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EC9DtC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,k2DA8BA,EDCI,MAAA,EAAA,CAAA,+UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,EACvB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,kFACnB,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAIpB,gBAAA,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EAEnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAMf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAEf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EAEd,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAGhB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,mGACvB,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKZ,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAnCrC,SAAS;+BACE,0BAA0B,EAAA,UAAA,EACxB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,wBAAwB;wBACxB,uBAAuB;wBACvB,mBAAmB;wBACnB,oBAAoB;;wBAIpB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;wBACvB,qBAAqB;AACtB,qBAAA,EAAA,QAAA,EAAA,k2DAAA,EAAA,MAAA,EAAA,CAAA,+UAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACsB,cAAc,EAAA,CAAA;sBAAzC,SAAS;uBAAC,eAAe,CAAA;;;AEJtB,MAAO,qBAAsB,SAAQ,WAAW,CAAA;AASpD,IAAA,WAAA,CAAoB,aAA6B,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAC;QADU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAJrB,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;KAMpE;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,GAAE,IAAI,CAAC,MAAM,CAAC;KAClC;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAtBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/DlC,mrDA4BA,EDMI,MAAA,EAAA,CAAA,+eAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,8BACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEZ,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAIpB,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAMf,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEf,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEd,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAGhB,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKd,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAjCjC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EACnB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,wBAAwB;wBACxB,mBAAmB;wBACnB,oBAAoB;;wBAIpB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;AACxB,qBAAA,EAAA,QAAA,EAAA,mrDAAA,EAAA,MAAA,EAAA,CAAA,+eAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACsB,cAAc,EAAA,CAAA;sBAAzC,SAAS;uBAAC,eAAe,CAAA;;;AERtB,MAAO,uBAAwB,SAAQ,WAAW,CAAA;AAWtD,IAAA,WAAA,CAAoB,aAA6B,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAC;QADU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QANrB,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;QACrE,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC;KAO3B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC1C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;KAClC;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,cAAyB,CAAC;KACrD;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GA9BU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5DpC,2pEAkCA,EDDI,MAAA,EAAA,CAAA,wPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,mfACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAkB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAZ,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAGpB,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEf,wBAAwB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAMxB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEd,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAOP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBA/BnC,SAAS;+BACE,uBAAuB,EAAA,UAAA,EACrB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,mBAAmB;wBACnB,oBAAoB;;wBAGpB,qBAAqB;wBACrB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;AACjC,qBAAA,EAAA,QAAA,EAAA,2pEAAA,EAAA,MAAA,EAAA,CAAA,wPAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACsB,cAAc,EAAA,CAAA;sBAAzC,SAAS;uBAAC,eAAe,CAAA;;;AENtB,MAAO,0BAA2B,SAAQ,WAAW,CAAA;AAUzD,IAAA,WAAA,CAAoB,aAA6B,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAC;QADU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QALjD,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC;KAO3B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC1C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;KAClC;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,cAAyB,CAAC;KACrD;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GA5BU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3DvC,4xEAoCA,EDJI,MAAA,EAAA,CAAA,8TAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,mfACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAkB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAZ,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAGpB,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEf,wBAAwB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAMxB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEd,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAGhB,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKZ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBA/BtC,SAAS;+BACE,2BAA2B,EAAA,UAAA,EACzB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,mBAAmB;wBACnB,oBAAoB;;wBAGpB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,qBAAqB;AACtB,qBAAA,EAAA,QAAA,EAAA,4xEAAA,EAAA,MAAA,EAAA,CAAA,8TAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEAF,MAAO,2BAA4B,SAAQ,WAAW,CAAA;AAS1D,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QALX,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;KAQpE;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;KAClC;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,cAAyB,CAAC;KACrD;AACD,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAgB,CAAC;KAC/C;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GA9BU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/DxC,olGAkDA,EDfI,MAAA,EAAA,CAAA,yrBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,8BACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEZ,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAEpB,gBAAA,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EAEnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAGf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,EAKrB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EAEd,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAGhB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,iFACd,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKZ,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAhCvC,SAAS;+BACE,2BAA2B,EAAA,UAAA,EACzB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,wBAAwB;wBACxB,mBAAmB;wBACnB,oBAAoB;;wBAEpB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,cAAc;wBACd,qBAAqB;AACtB,qBAAA,EAAA,QAAA,EAAA,olGAAA,EAAA,MAAA,EAAA,CAAA,yrBAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACsB,cAAc,EAAA,CAAA;sBAAzC,SAAS;uBAAC,eAAe,CAAA;;;AEvC5B,CAAC;AAiCK,MAAO,yBAA0B,SAAQ,WAAW,CAAA;AASxD,IAAA,WAAA,CAAoB,aAA6B,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAC;QADU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;KAEhD;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAChC,IAAG,CAAC,IAAI,CAAC,MAAM,IAAK,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;KAE3C;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAzBU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9DtC,q5EAgCA,EDEI,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,6LACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAIjB,gBAAA,kBAAkB,yFAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAIf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,8BAA8B,uGAC9B,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,eAAe,EAEf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,gFACd,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,gBAAgB,EAChB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gCAAgC,qHAEhC,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKd,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAhCrC,SAAS;+BACE,0BAA0B,EAAA,UAAA,EACxB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;;wBAGpB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;AACxB,qBAAA,EAAA,QAAA,EAAA,q5EAAA,EAAA,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA,CAAA;+EAMQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEPF,MAAO,qBAAsB,SAAQ,WAAW,CAAA;IAEpD,WACS,CAAA,GAAkB,EACjB,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAHD,IAAG,CAAA,GAAA,GAAH,GAAG,CAAe;QACjB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAQX,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;QACrE,IAAS,CAAA,SAAA,GAAU,EAAE,CAAA;KANpB;IAUD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAC/B,IAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,EAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAA;SAC9C;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,SAAS,GAAG,gCAAgC,GAAG,OAAO,CAAC;AAC5D,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;KACnC;AACD,IAAA,iBAAiB,CAAC,GAAW,EAAA;QAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,sGAAsG,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/H;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/E,OAAO,gCAAgC,GAAG,OAAO,CAAA;KAClD;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,cAAyB,CAAC;KACrD;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GA3CU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAN,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5DlC,+lDA6BA,EDGI,MAAA,EAAA,CAAA,gWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,8BACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEZ,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAGpB,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,0GAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAQf,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEd,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAOP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhCjC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EACnB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,wBAAwB;wBACxB,mBAAmB;wBACnB,oBAAoB;;wBAGpB,qBAAqB;wBACrB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;AACjC,qBAAA,EAAA,QAAA,EAAA,+lDAAA,EAAA,MAAA,EAAA,CAAA,gWAAA,CAAA,EAAA,CAAA;0GAYQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACsB,cAAc,EAAA,CAAA;sBAAzC,SAAS;uBAAC,eAAe,CAAA;;;MEzDf,4BAA4B,CAAA;AASvC,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QADhD,IAAiB,CAAA,iBAAA,GAAG,iBAAiB,CAAA;KACc;IAEnD,QAAQ,GAAA;;KAEP;AAED,IAAA,UAAU,CAAC,QAAc,EAAA;QACvB,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAC,CAAC,CAAA;KAC7F;8GAjBU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAT,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,qOCfzC,kpPAyGA,EAAA,MAAA,EAAA,CAAA,4fAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9FY,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,8NAAE,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI5C,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;+BACE,6BAA6B,EAAA,UAAA,EAC3B,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC,EAAA,QAAA,EAAA,kpPAAA,EAAA,MAAA,EAAA,CAAA,4fAAA,CAAA,EAAA,CAAA;+EAK/C,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEdK,oBAAoB,CAAA;AAG/B,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;KAAI;IAEtC,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;;AAE7D,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;SAC7D;aAAM;AACH,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;;SAEnE;KACF;IAED,WAAW,GAAA;KACV;8GAjBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;+EAEuB,WAAW,EAAA,CAAA;sBAAhC,KAAK;uBAAC,aAAa,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MCCT,WAAW,CAAA;IAKpB,WACqB,CAAA,IAAgB,EAChB,YAA2B,EAAA;QAD3B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QALxC,IAAQ,CAAA,QAAA,GAAW,2BAA2B,CAAC;QAC/C,IAAyB,CAAA,yBAAA,GAAwB,IAAI,CAAC;AAM3D,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;YACpF,IAAI,QAAQ,IAAI,KAAK;AACjB,gBAAA,IAAI,CAAC,QAAQ,GAAG,2BAA2B,CAAC;iBAC3C,IAAI,QAAQ,IAAI,OAAO;AACxB,gBAAA,IAAI,CAAC,QAAQ,GAAG,6BAA6B,CAAC;;AAE9C,gBAAA,IAAI,CAAC,QAAQ,GAAG,uBAAuB,CAAC;AAChD,SAAC,CAAC,CAAA;KACL;IACD,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,yBAAyB;AAC9B,YAAA,IAAI,CAAC,yBAAyB,EAAE,WAAW,EAAE,CAAC;KACrD;AAED,IAAA,kBAAkB,CAAC,YAAuC,EAAA;QACtD,IAAI,aAAa,GAAkB,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,aAAa;YACd,aAAa,GAAG,sCAAsC,CAAC;QAE3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAA,6CAAA,EAAgD,YAAY,IAAI,EAAE,kBAAkB,aAAa,IAAI,EAAE,CAAE,CAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAa,KAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAY,KAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1O;IACD,iBAAiB,CAAC,YAA2B,IAAI,EAAA;AAC7C,QAAA,MAAM,OAAO,GAAQ;AACjB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,MAAM,EAAE,SAAS;SACpB,CAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,+BAA+B,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAa,KAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAY,KAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7K;IAED,gBAAgB,GAAA;AAEZ,QAAA,MAAM,OAAO,GAAQ;AACjB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;SAC1C,CAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,kCAAkC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAa,KAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,QAAa,KAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KACpL;IACD,iBAAiB,GAAA;AACb,QAAA,MAAM,OAAO,GAAQ;AACjB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;SAC1C,CAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,oCAAoC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAa,KAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAe,KAAI,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5L;AAED,IAAA,kBAAkB,CAAC,aAAuB,EAAE,WAAqB,EAAE,UAAkB,EAAE,QAAgB,EAAE,QAAgB,EAAE,MAAc,EAAE,MAAc,EAAE,IAAY,EAAA;AACnK,QAAA,MAAM,OAAO,GAAQ;AACjB,YAAA,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;AACzC,YAAA,cAAc,EAAE,aAAa;AAC7B,YAAA,YAAY,EAAE,WAAW;AACzB,YAAA,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,QAAQ,IAAI,CAAC;YACzB,UAAU,EAAE,QAAQ,IAAI,CAAC;AACzB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,IAAI;SACnB,CAAA;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAA,6BAAA,CAA+B,EAAE,OAAO,CAAC,CAAC;KAClF;AACD,IAAA,sBAAsB,CAAC,UAAkB,EAAA;AACrC,QAAA,MAAM,OAAO,GAAQ;AACjB,YAAA,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;YACzC,YAAY,EAAE,CAAC,UAAU,CAAC;AAC1B,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,UAAU,EAAE,EAAE;SACjB,CAAA;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAA,6BAAA,CAA+B,EAAE,OAAO,CAAC,CAAC;KAClF;IAED,WAAW,CAAC,MAAc,EAAE,WAAmB,EAAA;QAC3C,MAAM,UAAU,GAAW,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,qCAAqC,MAAM,CAAA,aAAA,EAAgB,WAAW,CAAe,YAAA,EAAA,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;KAClJ;IACD,SAAS,CAAC,MAAc,EAAE,GAAW,EAAA;QACjC,MAAM,UAAU,GAAW,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,sCAAsC,MAAM,CAAA,KAAA,EAAQ,GAAG,CAAe,YAAA,EAAA,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;KAClI;IACD,SAAS,CAAC,MAAc,EAAE,WAAmB,EAAA;QACzC,MAAM,UAAU,GAAW,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,gCAAgC,MAAM,CAAA,aAAA,EAAgB,WAAW,CAAe,YAAA,EAAA,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;KAC7I;AAED,IAAA,WAAW,CAAC,QAAa,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAA,oBAAA,CAAsB,EAAE,QAAQ,CAAC,CAAC;KAC3E;IACD,YAAY,CAAC,MAAc,EAAE,QAA6B,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,+BAA+B,MAAM,CAAA,UAAA,EAAa,QAAQ,CAAA,CAAE,CAAC,CAAC;KACtG;AACD,IAAA,UAAU,CAAC,MAAc,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,gCAAgC,MAAM,CAAA,CAAE,EAAE,IAAI,CAAC,CAAC;KACzF;AACD,IAAA,WAAW,CAAC,MAAc,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,kCAAkC,MAAM,CAAA,CAAE,EAAE,IAAI,CAAC,CAAC;KAC1F;AACD,IAAA,cAAc,CAAC,IAAS,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAA,0BAAA,CAA4B,EAAE,IAAI,CAAC,CAAC;KAC5E;AACD,IAAA,aAAa,CAAC,OAAY,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAA,0BAAA,CAA4B,EAAE,OAAO,CAAC,CAAC;KAC/E;IACD,mBAAmB,GAAA;KAElB;;AAGD,IAAA,kBAAkB,CAAC,OAAY,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAA,uBAAA,CAAyB,EAAE,OAAO,CAAC,CAAC;KAC7E;IACD,aAAa,CAAC,OAAe,EAAE,OAAY,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,yCAAyC,OAAO,CAAA,CAAE,EAAE,OAAO,CAAC,CAAC;KACtG;AACD,IAAA,kBAAkB,CAAC,OAAY,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAA,wBAAA,CAA0B,EAAE,OAAO,CAAC,CAAC;KAC9E;8GA7HQ,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFR,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCYY,sBAAsB,CAAA;AASjC,IAAA,WAAA,CACmB,WAAwB,EACxB,MAAc,EACd,SAA+C,EAAA;QAF/C,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsC;QAV3D,IAAM,CAAA,MAAA,GAA6B,IAAI,CAAC;QACxC,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;QACvB,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;QACxB,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;QACtB,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QACnB,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;KAM3B;IACJ,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,MAA6B,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;KAC/C;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KACxB;IACD,WAAW,GAAA;AACT,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;AAC3B,YAAA,OAAO,EAAE;AACP,gBAAA,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,gBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ;AACxG,aAAA;SACF,CAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;YAC5D,IAAI,IAAI,CAAC,SAAS;AAChB,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;;gBAEvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChC,SAAC,CAAC,CAAA;KACH;8GA3CU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAgB,WAAA,EAAA,EAAA,EAAA,KAAA,EAAArB,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,iFCnBnC,2yDAgCU,EAAA,MAAA,EAAA,CAAA,m2BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDpBN,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAe,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,8BACf,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKF,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAXlC,SAAS;+BACE,uBAAuB,EAAA,UAAA,EACrB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,eAAe;wBACf,WAAW;AACZ,qBAAA,EAAA,QAAA,EAAA,2yDAAA,EAAA,MAAA,EAAA,CAAA,m2BAAA,CAAA,EAAA,CAAA;;;MEHU,qBAAqB,CAAA;AAEhC,IAAA,WAAA,CACmB,YAA2B,EAC3B,aAA4B,EAC5B,WAAwB,EAAA;QAFxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;QAC3B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAK3C,IAAY,CAAA,YAAA,GAAW,MAAM,CAAC;QAC9B,IAAe,CAAA,eAAA,GAAW,CAAC,CAAC;QAC5B,IAAkB,CAAA,kBAAA,GAAW,WAAW,CAAC;QACzC,IAAuB,CAAA,uBAAA,GAAW,gBAAgB,CAAC;QACnD,IAAkB,CAAA,kBAAA,GAAW,MAAM,CAAC;QAGpC,IAAiB,CAAA,iBAAA,GAA0B,IAAI,CAAC;QAChD,IAAsB,CAAA,sBAAA,GAA0B,IAAI,CAAC;QACrD,IAAiB,CAAA,iBAAA,GAA0B,IAAI,CAAC;QAZ9C,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;AAaD,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,MAAM,OAAO,GAAqB,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAEpF,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,QAAA,OAAO,CAAC,OAAO,GAAG,MAAK,GAAI,CAAC;AAC5B,QAAA,OAAO,CAAC,SAAS,GAAG,OAAO,KAAK,KAAI;YAClC,IAAI,CAAC,QAAQ,GAAG,MAAO,KAAK,CAAC,MAA2B,CAAC,MAAM,CAAC;AAChE,YAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AACzC,YAAA,OAAO,CAAC,SAAS,GAAG,OAAO,QAAa,KAAI;gBAE1C,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChD,QAAQ,CAAC,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;AACvD,aAAC,CAAA;AACH,SAAC,CAAC;AACF,QAAA,OAAO,CAAC,eAAe,GAAG,CAAC,KAAK,KAAI;YAElC,IAAI,CAAC,QAAQ,GAAI,KAAK,CAAC,MAA2B,CAAC,MAAM,CAAC;AAC1D,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzG,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnH,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3G,SAAC,CAAA;KACF;AAED,IAAA,MAAM,eAAe,GAAA;QACnB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AACvC,QAAA,OAAO,CAAC,SAAS,GAAG,OAAO,QAAa,KAAI;YAC1C,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,QAAQ,CAAC,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;AACvD,SAAC,CAAA;KACJ;IAEM,uBAAuB,GAAA;AAE5B,QAAA,QAAQ,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC;AACzC,QAAA,QAAQ,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC;AACvC,QAAA,QAAQ,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC;AACzC,QAAA,QAAQ,CAAC,WAAW,CAAC,cAAc,GAAG,CAAC,CAAC;AACxC,QAAA,QAAQ,CAAC,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC;AAC3C,QAAA,QAAQ,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC;QAElC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAkB,KAAG;AAClD,YAAA,QAAQ,CAAC,WAAW,CAAC,eAAe,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrE,YAAA,QAAQ,CAAC,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClE,SAAC,CAAC,CAAA;AACF,QAAA,QAAQ,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,eAAe,IAAI,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC;AACzL,QAAA,OAAO,QAAQ,CAAC;KACjB;IAED,aAAa,GAAA;AACX,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,WAAW,EAAE;AACf,YAAA,QAAQ,CAAC;gBACP,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;gBACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC;aAC9D,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAG;;;;gBAI7B,IAAI,CAAC,eAAe,EAAE,CAAC;AACzB,aAAC,CAAC,CAAA;SACH;KACF;;AAID,IAAA,MAAM,WAAW,GAAA;AAEf,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AACpF,QAAA,OAAO,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC;KACxE;AAED,IAAA,gBAAgB,CAAC,OAAqB,EAAA;AACpC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AACpF,QAAA,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KACtE;AACD,IAAA,qBAAqB,CAAC,SAAiB,EAAA;AACrC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AACpF,QAAA,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC3E;IACD,MAAM,kBAAkB,CAAC,SAAiB,EAAA;AACxC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AACpF,QAAA,OAAO,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAC9E;;AAGD,IAAA,MAAM,gBAAgB,GAAA;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;AACvD,QAAA,OAAO,OAAO,CAAC;KAChB;AAED,IAAA,oBAAoB,CAAC,OAAqB,EAAA;AACxC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;AACzF,QAAA,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC3E;AACD,IAAA,yBAAyB,CAAC,SAAiB,EAAA;AACzC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;AACzF,QAAA,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAChF;IACD,MAAM,sBAAsB,CAAC,SAAiB,EAAA;AAC5C,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;AACzF,QAAA,OAAO,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACnF;;AAGD,IAAA,OAAO,CAAC,IAAU,EAAA;AAChB,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7D,QAAA,OAAO,IAAI,CAAC;KACb;IACD,OAAO,GAAA;AACL,QAAA,IAAI;AACF,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;SACnD;AAAC,QAAA,OAAM,SAAS,EAAE,GAAE;KACtB;8GAtIU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAb,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAsB,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCaY,yBAAyB,CAAA;IAYpC,WAC8C,CAAA,OAAY,EACvC,WAAwB,EACxB,MAAc,EACd,SAAoB,EACpB,cAAqC,EACzB,SAAkD,EAAA;QALnC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAK;QACvC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACpB,IAAc,CAAA,cAAA,GAAd,cAAc,CAAuB;QACzB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyC;;;;QAX1E,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;QACvB,IAAM,CAAA,MAAA,GAAoB,OAAO,CAAC;QAClC,IAAM,CAAA,MAAA,GAAkB,IAAI,CAAC;QAC7B,IAAW,CAAA,WAAA,GAAkB,IAAI,CAAC;KASrC;IAIJ,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,OAAO;AACd,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;KACjC;IACD,IAAI,CAAC,KAAU,EAAE,GAAW,EAAA;QAC1B,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO;AACT,QAAA,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC;AAC5B,QAAA,QAAQ,CAAC,cAAc,CAAC,MAAM,IAAE,GAAG,GAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KACnD;IACD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KACxB;IACD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;KACvB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;AAC5F,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACtB,SAAC,CAAC,CAAA;KACH;IACD,SAAS,GAAA;QACP,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,KAAG;;AAEvF,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,YAAAC,QAAW,CAAC,IAAI,GAAG,WAAoB,CAAC;AACxC,YAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE;gBACzC,IAAI,IAAI,CAAC,SAAS;AAChB,oBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;;oBAEvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/B;iBAAM;gBACL,IAAI,IAAI,CAAC,SAAS;AAChB,oBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACzB,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAC1C,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,IAAI,EAAE,EAAE;AACT,iBAAA,CAAC,CAAC;aACJ;AACH,SAAC,CAAC,CAAA;KACH;IACD,SAAS,GAAA;QACP,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;AAC1F,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACtB,SAAC,CAAC,CAAA;KACH;AACD,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC;KACjC;AA5EU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAad,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,EAAA,EAAA,KAAA,EAAArB,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAwB,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAb1B,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBtC,w/FAgDM,EDhCF,MAAA,EAAA,CAAA,u5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,ixBACX,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACP,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,wBAAwB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAZrC,SAAS;+BACE,yBAAyB,EAAA,UAAA,EACvB,IAAI,EACP,OAAA,EAAA;wBACP,WAAW;wBACX,OAAO;wBACP,YAAY;wBACZ,wBAAwB;AACzB,qBAAA,EAAA,QAAA,EAAA,w/FAAA,EAAA,MAAA,EAAA,CAAA,u5BAAA,CAAA,EAAA,CAAA;;0BAiBE,QAAQ;;0BAAI,MAAM;2BAAC,eAAe,CAAA;;0BAKlC,QAAQ;yCAjBF,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;;;ME6CK,sBAAsB,CAAA;;AAiBjC,IAAA,WAAA,CACmB,aAA6B,EAC7B,MAAc,EACd,cAA8B,EAC9B,SAAoB,EAAA;QAHpB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAC7B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAC9B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAhB9B,IAAI,CAAA,IAAA,GAAc,KAAK,CAAC;QAE1B,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;QAI/B,IAAK,CAAA,KAAA,GAAG,SAAS,CAAC;QAClB,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;QA4DxB,IAAW,CAAA,WAAA,GAAW,GAAG,CAAC;QA2B1B,IAAW,CAAA,WAAA,GAAa,KAAK,CAAC;QA5E5B,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IACD,cAAc,GAAA;QACZ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAC,WAAW,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAC,EAAC,CAAC,CAAC;KAC9E;IACD,OAAO,GAAA;QACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;IACD,WAAW,GAAA;QAET,IAAIC,QAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;SACpC;aAAM;AAEL,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG;gBACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC7B;AACH,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,EAAE;AAC7C,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,iBAAA,CAAC,CAAC;aACJ;SACF;KACF;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KACjC;IACD,WAAW,CAAC,KAAU,EAAE,IAAY,EAAA;AAClC,QAAA,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAC,WAAW,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,EAAC,CAAC,CAAC;KACnE;AAED,IAAA,QAAQ,CAAC,KAAU,EAAA;QACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,GAAG,GAAG,CAAC;KAC1D;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,KAAG;AAClD,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACxC,SAAC,CAAC,CAAA;;;;;KAKH;AAID,IAAA,aAAa,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;SACtC;KACF;AACD,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,IAAI,CAAC,CAAC;KAC9D;AACD,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS;YACzB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC9C,QAAA,OAAO,EAAE,CAAC;KACX;AACD,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,YAAY,CAAC;KACxC;IAED,KAAK,GAAA;QACH,IAAI,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;AACtD,QAAA,IAAG,CAAC,CAAC;YAAE,OAAO;;AAEd,QAAA,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3B,QAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;KAC5B;AAID,IAAA,YAAY,CAAC,MAAc,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;KAC3B;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC5B;AACD,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC;AACD,IAAA,IAAI,cAAc,GAAA;QAChB,IAAI,UAAU,GAAyB,EAAE,CAAC;AAC1C,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,UAAU,GAAG;AACX,gBAAA,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU;AACxB,gBAAA,SAAS,EAAE,KAAK;AAChB,gBAAA,KAAK,EAAE,aAAa;aACrB,CAAC;SACH;AACD,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,EAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAC,GAAG,EAAC,GAAG,UAAU,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAC,CAAC;KAC1M;AACD,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC;KACjL;AACD,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC;KACpM;AACD,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;KACnE;AACD,IAAA,UAAU,CAAC,OAAY,EAAA;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;KAC5D;AACD,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;KAC1C;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;AAED,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,OAAO,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC;KACvC;AACD,IAAA,OAAO,CAAC,MAAW,EAAA;AACjB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5B;AACD,IAAA,SAAS,CAAC,MAAW,EAAA;QACnB,MAAM,IAAI,GAAc,EAAE,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAQ,KAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3B;8GAzJU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAxB,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,ECvEnC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6wWAwKA,ED/HI,MAAA,EAAA,CAAA,qtDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAe,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,EAEpB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,EACP,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,4BAA4B,EAC3B,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,EAEtB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EAGnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EAMxB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,0BAA0B,EAC1B,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EAEd,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,mFAGpB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKL,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAlClC,SAAS;+BACE,sBAAsB,EAAA,UAAA,EACpB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,oBAAoB;wBAEpB,mBAAmB;wBACnB,OAAO;wBACP,4BAA4B;wBAC3B,WAAW;wBACZ,sBAAsB;wBACtB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,oBAAoB;wBACpB,gCAAgC;wBAChC,gCAAgC;wBAChC,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,6wWAAA,EAAA,MAAA,EAAA,CAAA,qtDAAA,CAAA,EAAA,CAAA;6JAMQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACuB,cAAc,EAAA,CAAA;sBAA1C,SAAS;uBAAC,gBAAgB,CAAA;gBAkD3B,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAmBzC,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MErI9B,sBAAsB,CAAA;AACjC,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAG;IAGnD,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;KACpF;8GANU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAb,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXnC,2RASA,EAAA,MAAA,EAAA,CAAA,+WAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDFY,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EACrB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,OAAO,CAAC,EAAA,QAAA,EAAA,2RAAA,EAAA,MAAA,EAAA,CAAA,+WAAA,CAAA,EAAA,CAAA;+EAMT,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AEmDF,MAAO,kBAAmB,SAAQ,WAAW,CAAA;AAUjD,IAAA,WAAA,CACU,aAA6B,EACR,UAAkB,EACvC,QAAqB,EAAA;AAE7B,QAAA,KAAK,EAAE,CAAC;QAJA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QACR,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QACvC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;QAL/B,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;KASrB;IACD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5C,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACvF,IAAG,CAAC,IAAI,CAAC,MAAM,IAAK,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAC1C,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;gBACrC,IAAI,CAAC,UAAU,EAAE,CAAC;AACpB,aAAC,CAAC,CAAC;SACJ;KAEF;IAGD,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;KACtC;AAGD,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,KAAK,GAAE,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,GAAE,KAAK,CAAC;AAChD,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAA;AACxD,QAAA,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE;AAC3B,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,KAAK,CAAC;SAC3H;AACD,QAAA,OAAO,KAAK,CAAC,IAAI,IAAI,MAAM,GAAG,YAAY,GAAG,KAAK,CAAC;KACpD;IAED,WAAW,GAAA;AACT,QAAA,IAAG,IAAI,CAAC,OAAO,EAAE;YACf,KAAI,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAC;gBAClD,IAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAC;AACrC,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;oBAC9E,OAAO;iBACR;aACF;AACD,YAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,EAAC,cAAc,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,cAAc,EAAC,CAAC,CAAC;SAClJ;aAAM;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;SAC/E;KACF;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;AACD,IAAA,mBAAmB,CAAC,KAAU,EAAA;AAC5B,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;KAC7D;AAvEU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,4CAYnB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAZV,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChE/B,+3JA+DA,ED5BI,MAAA,EAAA,CAAA,krBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,8BACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,oBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAIjB,gBAAA,kBAAkB,yFAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,wBAAwB,EAIxB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,mFAEf,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEd,gBAAgB,EAChB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gCAAgC,qHAEhC,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMd,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAjC9B,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAChB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;;wBAGpB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;wBACvB,wBAAwB;AACzB,qBAAA,EAAA,QAAA,EAAA,+3JAAA,EAAA,MAAA,EAAA,CAAA,krBAAA,CAAA,EAAA,CAAA;;0BAgBE,MAAM;2BAAC,WAAW,CAAA;qEAXZ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBA+BN,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,eAAe,EAAC,CAAC,QAAQ,CAAC,CAAA;;;MExF7B,8BAA8B,CAAA;8GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,ECX3C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,skQAiPA,ED1OY,MAAA,EAAA,CAAA,kYAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,kIAAC,uBAAuB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA3B,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAInC,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,cAC7B,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAC,uBAAuB,CAAC,EAAA,QAAA,EAAA,skQAAA,EAAA,MAAA,EAAA,CAAA,kYAAA,CAAA,EAAA,CAAA;8BAKtC,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;AEgCF,MAAO,0BAA2B,SAAQ,WAAW,CAAA;AASzD,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;KAGtC;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAChC,IAAG,CAAC,IAAI,CAAC,MAAM,IAAK,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAC1C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;KAClC;AACD,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;KAC3B;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GA9BU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EC5CvC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qsLAyEA,ED/Cc,MAAA,EAAA,CAAA,uxCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACpB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EACd,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,EACvB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,qFAChB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,sBAAsB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,2BAA2B,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC3B,oBAAoB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,eAAe,EACf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gCAAgC,EAEhC,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,EACvB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,8BAA8B,uGAC9B,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGZ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAvBtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EACzB,UAAA,EAAA,IAAI,EAGP,OAAA,EAAA,CAAC,YAAY;wBACpB,cAAc;wBACd,mBAAmB;wBACnB,uBAAuB;wBACvB,gBAAgB;wBAChB,eAAe;wBACf,sBAAsB;wBACtB,2BAA2B;wBAC3B,oBAAoB;wBACpB,eAAe;wBACf,kBAAkB;wBAClB,gCAAgC;wBAChC,0BAA0B;wBAC1B,uBAAuB;wBACvB,8BAA8B;wBAC9B,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,qsLAAA,EAAA,MAAA,EAAA,CAAA,uxCAAA,CAAA,EAAA,CAAA;+EAGM,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AEZF,MAAO,wBAAyB,SAAQ,WAAW,CAAA;AASvD,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;KAGtC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;KACjC;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAzBU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtCrC,otEAqCA,EAAA,MAAA,EAAA,CAAA,qtBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EACnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EACd,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,0IACtB,2BAA2B,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC3B,gCAAgC,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChC,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEf,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,8BAA8B,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGzB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBApBpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EACvB,UAAA,EAAA,IAAI,EAGP,OAAA,EAAA,CAAC,YAAY;wBAClB,mBAAmB;wBACnB,cAAc;wBACd,gBAAgB;wBAChB,sBAAsB;wBACtB,2BAA2B;wBAC3B,gCAAgC;wBAChC,mBAAmB;wBACnB,kBAAkB;wBAClB,eAAe;wBACf,uBAAuB;wBACvB,eAAe;wBACf,8BAA8B;AAC/B,qBAAA,EAAA,QAAA,EAAA,otEAAA,EAAA,MAAA,EAAA,CAAA,qtBAAA,CAAA,EAAA,CAAA;+EAGI,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEOF,MAAO,uBAAwB,SAAQ,WAAW,CAAA;AAStD,IAAA,WAAA,CAAoB,aAA6B,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAC;QADU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;KAEhD;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;AACjC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC5C;IAED,YAAY,GAAA;QACV,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,SAAS,CAAA;QACtD,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7C,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1C,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC;QAExD,OAAO,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;KACzD;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,cAAyB,CAAC;KACrD;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAtCU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EClDpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qsGA8CA,EDfc,MAAA,EAAA,CAAA,4tDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,mbAClB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,kBAAkB,EAElB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,EACtB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,mGACvB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEvB,wBAAwB,EACxB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,EAAE,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,iFACvB,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGhB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAxBnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EACrB,UAAA,EAAA,IAAI,EAGP,OAAA,EAAA,CAAC,YAAY;wBAClB,cAAc;wBACd,mBAAmB;wBACnB,gBAAgB;wBAChB,eAAe;wBACf,kBAAkB;wBAClB,gCAAgC;wBAChC,mBAAmB;wBACnB,sBAAsB;wBACtB,2BAA2B;wBAC3B,uBAAuB;wBACvB,eAAe;wBACf,uBAAuB;wBACvB,oBAAoB;wBACpB,wBAAwB;AACxB,wBAAA,OAAO,EAAE,cAAc;wBACvB,qBAAqB;AACpB,qBAAA,EAAA,QAAA,EAAA,qsGAAA,EAAA,MAAA,EAAA,CAAA,4tDAAA,CAAA,EAAA,CAAA;+EAGE,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AECF,MAAO,wBAAyB,SAAQ,WAAW,CAAA;IASvD,WAAoB,CAAA,IAAY,EACtB,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAA;QAHW,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACtB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAMvC,IAAK,CAAA,KAAA,GAAG,yBAAyB,CAAC;QAClC,IAAQ,CAAA,QAAA,GAAW,OAAO,CAAC;QAC3B,IAAS,CAAA,SAAA,GAAW,CAAC,OAAO,CAAC;QA0B7B,IAAW,CAAA,WAAA,GAAG,8FAA8F,CAAA;KA/B3G;IAOD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,IAAG,IAAI,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;aAC9C;YACD,IAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE;gBAC7E,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,YAAY,EAAE,CAAA;aACpB;AAGH,SAAC,CAAC,CAAC;KACJ;AAKD,IAAA,MAAM,kBAAkB,GAAA;QAEtB,IAAG,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,WAAW,EAAE;YAC5D,MAAM,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,QAAQ,KAAI;AAC1D,gBAAA,IAAG,IAAI,CAAC,OAAO,EAAE;AACf,oBAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;AAC3D,oBAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAA;iBACzD;AAED,gBAAA,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC;AAC1B,oBAAA,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,iBAAA,CAAC,CAAC;gBAEH,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACtD,oBAAA,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;wBACd,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE;AACxF,qBAAA,CAAC,CAAC;AACH,oBAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;yBAC5D,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;AAC1F,yBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAClB,EAAE,CAAC,CAAC,CAAC;aACP,EAAE,MAAK;AACN,gBAAA,IAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;oBACtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;iBACnC;AAED,gBAAA,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC;AAC1B,oBAAA,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,iBAAA,CAAC,CAAC;gBACH,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;wBACb,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE;AACxF,qBAAA,CAAC,CAAC;AACH,oBAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;yBAC5D,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;AAC1F,yBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAClB,EAAE,CAAC,CAAC,CAAC;AAER,aAAC,CAAC,CAAA;SACH;KACF;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC;AAC1B,YAAA,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;YACd,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE;AAC1F,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;aAC5D,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;AAC5F,aAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClB;IAGD,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,0BAA0B,EAAE,WAAW,EAAE,CAAC;AAC/C,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAiB,KAAI;AACvG,YAAA,IAAG,IAAI,CAAC,OAAO,EAAE;AACf,gBAAA,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;gBAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACH,SAAC,CAAC,CAAA;KACH;IAGD,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,GAAc,KAAI;AAClE,YAAA,IAAG,IAAI,CAAC,GAAG,EAAE;gBACX,IAAI,CAAC,KAAK,GAAG,CAAA,uBAAA,CAAyB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACvD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aAE9B;AACH,SAAC,CAAC,CAAA;KACH;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAhJU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvDrC,+vDA2BA,EDSI,MAAA,EAAA,CAAA,siBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,8BACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAIjB,gBAAA,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EACd,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,qFAChB,gCAAgC,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKvB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAvBpC,SAAS;+BACE,wBAAwB,EAAA,UAAA,EACtB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,oBAAoB;wBACpB,iBAAiB;;wBAIjB,kBAAkB;wBAClB,mBAAmB;wBACnB,eAAe;wBACf,mBAAmB;wBACnB,eAAe;wBACf,cAAc;wBACd,gBAAgB;wBAChB,gCAAgC;AACjC,qBAAA,EAAA,QAAA,EAAA,+vDAAA,EAAA,MAAA,EAAA,CAAA,siBAAA,CAAA,EAAA,CAAA;oGAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEEF,MAAO,mBAAqB,SAAQ,WAAW,CAAA;AASnD,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;KAGtC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AACzB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACjC,IAAG,CAAC,IAAI,CAAC,MAAM,IAAK,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;;KAE3C;8GAvBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7DhC,8nFAwCM,EDPF,MAAA,EAAA,CAAA,kZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,6LACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEjB,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EAEnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,mFAOf,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEd,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,gCAAgC,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FASvB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAhC/B,SAAS;+BACE,mBAAmB,EAAA,UAAA,EACjB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;AAExB,qBAAA,EAAA,QAAA,EAAA,8nFAAA,EAAA,MAAA,EAAA,CAAA,kZAAA,CAAA,EAAA,CAAA;+EAMQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEfF,MAAO,8BAA+B,SAAQ,WAAW,CAAA;AAU7D,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAL9B,IAAY,CAAA,YAAA,GAAU,EAAE,CAAC;KAQjC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE/C,QAAA,KAAI,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAA;SAChF;KACF;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,cAAyB,CAAC;KACrD;IAED,kBAAkB,GAAA;AAChB,QAAA,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;KAC5C;AAED,IAAA,WAAW,CAAC,MAAW,EAAA;QACrB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC/C;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;KAC7C;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GA9CU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAT,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,EClD3C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,q/IAyFA,ED7DI,MAAA,EAAA,CAAA,s3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,0GACnB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,sBAAsB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,2BAA2B,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC3B,gBAAgB,EAChB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,mGAEvB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEf,qBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,wBAAwB,EACxB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,uBAAuB,iNACvB,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKE,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBA1B1C,SAAS;+BACE,gCAAgC,EAAA,UAAA,EAC9B,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,cAAc;wBACd,YAAY;wBACZ,sBAAsB;wBACtB,2BAA2B;wBAC3B,gBAAgB;wBAChB,kBAAkB;wBAClB,eAAe;wBACf,mBAAmB;wBACnB,uBAAuB;wBACvB,uBAAuB;wBACvB,eAAe;wBACf,oBAAoB;wBACpB,qBAAqB;wBACrB,wBAAwB;wBACxB,wBAAwB;wBACxB,uBAAuB;wBACvB,OAAO;AACR,qBAAA,EAAA,QAAA,EAAA,q/IAAA,EAAA,MAAA,EAAA,CAAA,s3BAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;;;AElBF,MAAO,iBAAkB,SAAQ,WAAW,CAAA;AAOhD,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAA;QAFC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAP9B,IAAY,CAAA,YAAA,GAAU,EAAE,CAAC;KAUjC;IAKD,QAAQ,GAAA;AACN,QAAA,KAAI,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAA;SAChF;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAA;KACtC;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,cAAyB,CAAC;KACrD;AAED,IAAA,WAAW,CAAC,MAAW,EAAA;QACrB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC/C;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GApCU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtC9B,05FAiDA,EAAA,MAAA,EAAA,CAAA,wtBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED5BY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EACf,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,0GACnB,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,wBAAwB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEhB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,sBAAsB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKE,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBApB7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACf,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY;wBACpB,kBAAkB;wBAClB,eAAe;wBACf,mBAAmB;wBACnB,mBAAmB;wBACnB,uBAAuB;wBACvB,eAAe;wBACf,wBAAwB;wBACxB,gBAAgB;wBAChB,qBAAqB;wBACrB,cAAc;wBACd,sBAAsB;wBACtB,OAAO;AACR,qBAAA,EAAA,QAAA,EAAA,05FAAA,EAAA,MAAA,EAAA,CAAA,wtBAAA,CAAA,EAAA,CAAA;+EAKQ,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEhCK,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CACmB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAC3C;IACJ,QAAQ,GAAA;KACP;IACD,WAAW,GAAA;;KAEV;8GAVU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX9B,yhEAiDA,EAAA,MAAA,EAAA,CAAA,i9BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1CY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACf,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,yhEAAA,EAAA,MAAA,EAAA,CAAA,i9BAAA,CAAA,EAAA,CAAA;+EAKd,YAAY,EAAA,CAAA;sBAApB,KAAK;;;AEkDF,MAAO,uBAAwB,SAAQ,WAAW,CAAA;AAUtD,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAHvC,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;QAWxB,IAAW,CAAA,WAAA,GAAQ,CAAC,CAAC;QAJnB,IAAI,CAAC,aAAa,EAAE,CAAA;KAErB;AAID,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAG,OAAO,MAAM,KAAK,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;SACtC;KACF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAChC,IAAG,CAAC,IAAI,CAAC,MAAM,IAAK,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;;KAG3C;AAID,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAgB,CAAC;KAChD;AACD,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,OAAO,qCAAqC,CAAC;KAC9C;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAjDU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EC9DpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wzGAuDA,EDrBY,MAAA,EAAA,CAAA,6+CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,8BAC3B,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,iBAAiB,EAEjB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,2GACtB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAIf,8BAA8B,EAC9B,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,mFAEf,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,gBAAgB,EAChB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gCAAgC,EAEhC,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,mGACvB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKL,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBA/BnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EACrB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,mBAAmB;wBAC3B,YAAY;wBACZ,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,kBAAkB;wBAClB,sBAAsB;wBACtB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;wBACvB,cAAc;AACd,wBAAA,iBAAiB,CAAC,EAAA,QAAA,EAAA,wzGAAA,EAAA,MAAA,EAAA,CAAA,6+CAAA,CAAA,EAAA,CAAA;+EAKX,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAgBN,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AEdrC,MAAO,sBAAuB,SAAQ,WAAW,CAAA;AASrD,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;KAGtC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAChC,IAAG,CAAC,IAAI,CAAC,MAAM,IAAK,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;;KAE3C;AACD,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAgB,CAAC;KAChD;AACD,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,OAAO,qCAAqC,CAAC;KAC9C;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAjCU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpEnC,k/EA6CA,EAAA,MAAA,EAAA,CAAA,0kDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDTI,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,oBAAoB,EACpB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EAMjB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,yFAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAKf,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEf,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAUP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBApClC,SAAS;+BACE,sBAAsB,EAAA,UAAA,EACpB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;;wBAIpB,sBAAsB;wBACtB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;wBACvB,cAAc;wBACd,iBAAiB;AAClB,qBAAA,EAAA,QAAA,EAAA,k/EAAA,EAAA,MAAA,EAAA,CAAA,0kDAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AElCF,MAAO,wBAAyB,SAAQ,WAAW,CAAA;AAUvD,IAAA,WAAA,CACmB,aAA6B,EAAA;AAE9C,QAAA,KAAK,EAAE,CAAC;QAFS,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAchD,IAAW,CAAA,WAAA,GAAQ,CAAC,CAAC;QASrB,IAAgB,CAAA,gBAAA,GAAG,CAAC,CAAC;QApBnB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACnB;AAID,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAG,OAAO,MAAM,KAAK,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;SACtC;KACF;AAKD,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC5E;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GA7CU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvCrC,21FAqDA,EAAA,MAAA,EAAA,CAAA,i3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED/BI,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,cAAc,EACd,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,EACtB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8VACZ,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBArBpC,SAAS;+BACE,wBAAwB,EAAA,UAAA,EACtB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,cAAc;wBACd,sBAAsB;wBACtB,2BAA2B;wBAC3B,YAAY;wBACZ,gBAAgB;wBAChB,eAAe;wBACf,kBAAkB;wBAClB,mBAAmB;wBACnB,8BAA8B;wBAC9B,uBAAuB;wBACvB,uBAAuB;wBACvB,eAAe;AAChB,qBAAA,EAAA,QAAA,EAAA,21FAAA,EAAA,MAAA,EAAA,CAAA,i3BAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAqBN,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AELrC,MAAO,6BAA8B,SAAQ,WAAW,CAAA;AAQ5D,IAAA,WAAA,CAAoB,aAA6B,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAC;QADU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAHjD,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC;KAK3B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;KAClC;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAtBU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5D1C,o4JA6EA,ED5CI,MAAA,EAAA,CAAA,i2DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,8BACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAGpB,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAMf,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEf,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAQP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBA/BzC,SAAS;+BACE,6BAA6B,EAAA,UAAA,EAC3B,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,mBAAmB;wBACnB,oBAAoB;;wBAGpB,kBAAkB;wBAClB,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,mBAAmB;wBACnB,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,qBAAqB;AACtB,qBAAA,EAAA,QAAA,EAAA,o4JAAA,EAAA,MAAA,EAAA,CAAA,i2DAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEvBF,MAAO,qBAAsB,SAAQ,WAAW,CAAA;AAepD,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAPvC,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;QAC5B,IAAkB,CAAA,kBAAA,GAAW,EAAE,CAAC;QAChC,IAAW,CAAA,WAAA,GAAa,IAAI,CAAC;QA2D7B,IAAW,CAAA,WAAA,GAAW,GAAG,CAAC;QAnDxB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAGD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;AAClC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC;AACjE,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,aAAa,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC;QAClD,IAAI,IAAI,CAAC,MAAM,EAAE,YAAY,KAAK,UAAU,EAAE;AAC5C,YAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;SACtC;;;AAGD,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;;;;KAIpC;AAGD,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,QAAO,IAAI,CAAC,cAAc;AACxB,YAAA,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC,IAAI,CAAA;AACvB,YAAA,KAAK,QAAQ;gBACX,OAAO,SAAS,CAAC,MAAM,CAAA;AACzB,YAAA,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC,IAAI,CAAA;AACvB,YAAA,KAAK,UAAU;gBACb,OAAO,SAAS,CAAC,QAAQ,CAAA;SAC5B;QACD,OAAO,SAAS,CAAC,MAAM,CAAA;KACxB;AACD,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,QAAO,IAAI,CAAC,kBAAkB;AAC5B,YAAA,KAAK,OAAO;gBACV,OAAO,aAAa,CAAC,KAAK,CAAA;AAC5B,YAAA,KAAK,MAAM;gBACT,OAAO,aAAa,CAAC,IAAI,CAAA;SAE5B;QACD,OAAO,aAAa,CAAC,IAAI,CAAA;KAC1B;AAQD,IAAA,aAAa,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;SACtC;KACF;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAlFU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,ECzClC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,u2TAuJA,EDlHY,MAAA,EAAA,CAAA,i1DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,EAAC,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,EAAC,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,oBAAoB,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA0B,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAd,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAAC,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EAAC,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EAAC,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAAmG,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAAC,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,8BAA8B,EAA4B,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EAAyB,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,qFAAC,gCAAgC,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI3a,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EACnB,IAAI,EACP,OAAA,EAAA,CAAC,oBAAoB,EAAC,mBAAmB,EAAC,oBAAoB,EAAC,YAAY,EAAC,iBAAiB,EAAC,kBAAkB,EAAC,mBAAmB,EAAC,mBAAmB,EAAC,eAAe,EAAC,yBAAyB,EAAC,wBAAwB,EAAC,wBAAwB,EAAC,qBAAqB,EAAC,eAAe,EAAC,8BAA8B,EAAC,0BAA0B,EAAC,cAAc,EAAC,uBAAuB,EAAC,gBAAgB,EAAC,gCAAgC,EAAC,gCAAgC,EAAC,uBAAuB,CAAC,EAAA,QAAA,EAAA,u2TAAA,EAAA,MAAA,EAAA,CAAA,i1DAAA,CAAA,EAAA,CAAA;+EAKve,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAoEN,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEzG9B,yBAAyB,CAAA;AAGlC,IAAA,WAAA,CACY,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;KACtB;AAEJ,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,IAAI,CAAC,gBAAgB;AACrB,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAE,IAAI,CAAC,eAAe,GAAE,GAAG,CAAC,CAAC;KAC7F;IACD,WAAW,GAAA;KAEV;IACD,QAAQ,GAAA;KAEP;AAED,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,QAAO,IAAI,CAAC,gBAAgB;YACxB,KAAK,YAAY,CAAC,KAAK;gBACnB,OAAO,YAAY,CAAC,KAAK,CAAC;YAC9B,KAAK,YAAY,CAAC,QAAQ;gBACtB,OAAO,YAAY,CAAC,QAAQ,CAAC;YACjC,KAAK,YAAY,CAAC,IAAI;gBAClB,OAAO,YAAY,CAAC,IAAI,CAAC;YAC7B,KAAK,YAAY,CAAC,MAAM;gBACpB,OAAO,YAAY,CAAC,MAAM,CAAC;YAC/B,KAAK,YAAY,CAAC,WAAW;gBACzB,OAAO,YAAY,CAAC,WAAW,CAAC;AACpC,YAAA;gBACI,OAAO,YAAY,CAAC,KAAK,CAAC;SACjC;KACJ;8GAjCQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;+EAG8B,gBAAgB,EAAA,CAAA;sBAA1C,KAAK;uBAAC,kBAAkB,CAAA;;;AC0DvB,MAAO,uBAAwB,SAAQ,WAAW,CAAA;AAYtD,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC3B;AAED,IAAA,WAAA,CACU,aAA6B,EAAA;AAErC,QAAA,KAAK,EAAE,CAAC;QAFA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QARX,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;QAErE,IAAY,CAAA,YAAA,GAAW,CAAC,CAAC;KASxB;IACD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AACzB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACjC,IAAG,CAAC,IAAI,CAAC,MAAM,IAAK,CAAC,IAAI,CAAC,OAAO,EAAE;YACjC,OAAO;SACR;KACF;AACD,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAgB,CAAC;KAChD;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;KACzC;AACD,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,EAAoB,CAAA;KACvD;AACD,IAAA,IAAI,oBAAoB,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO;AAClC,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC5D,QAAA,OAAO,GAAG,CAAC;KACZ;AAED,IAAA,YAAY,CAAC,KAAmB,EAAA;QAE9B,QAAO,KAAK;AACV,YAAA,KAAK,OAAuB;AAC1B,gBAAA,OAAO,KAAK,CAAC;AACf,YAAA,KAAK,UAA0B;AAC7B,gBAAA,OAAO,KAAK,CAAC;AACf,YAAA,KAAK,QAAwB;AAC3B,gBAAA,OAAO,KAAK,CAAC;AACf,YAAA,KAAK,aAA6B;AAChC,gBAAA,OAAO,KAAK,CAAA;AACd,YAAA;AACE,gBAAA,OAAO,GAAG,CAAC;SACd;KACF;IACD,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;SACvD,EAAE,GAAG,CAAC,CAAC;KACT;8GAlEU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAb,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnEpC,+9HAgEA,EAAA,MAAA,EAAA,CAAA,08CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED3BI,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,oBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,oBAAoB,EACpB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EAEjB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,yFAClB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAOf,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEd,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAKhB,sBAAsB,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKhB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAlCnC,SAAS;+BACE,uBAAuB,EAAA,UAAA,EACrB,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,kBAAkB;wBAClB,mBAAmB;wBACnB,8BAA8B;wBAC9B,mBAAmB;wBACnB,yBAAyB;wBACzB,eAAe;wBACf,wBAAwB;wBACxB,wBAAwB;wBACxB,qBAAqB;wBACrB,8BAA8B;wBAC9B,eAAe;wBACf,0BAA0B;wBAC1B,cAAc;wBACd,uBAAuB;wBACvB,gBAAgB;wBAChB,gCAAgC;wBAChC,gCAAgC;wBAChC,uBAAuB;wBACvB,cAAc;wBACd,sBAAsB;wBACtB,yBAAyB;AACxB,qBAAA,EAAA,QAAA,EAAA,+9HAAA,EAAA,MAAA,EAAA,CAAA,08CAAA,CAAA,EAAA,CAAA;+EAKM,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKsB,cAAc,EAAA,CAAA;sBAAzC,SAAS;uBAAC,eAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ME3Ef,YAAY,CAAA;AAYrB,IAAA,WAAA,CAAY,IAA0B,EAAA;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAImB,EAAM,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,kBAAkB,CAAC,CAAC;KACtD;AACJ;;MCVY,WAAW,CAAA;IACtB,WACmB,CAAA,cAAqC,EACrC,WAAwB,EAAA;QADxB,IAAc,CAAA,cAAA,GAAd,cAAc,CAAuB;QACrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KACvC;AAEG,IAAA,aAAa,CAAC,OAAgB,EAAA;AAEnC,QAAA,IAAI,OAAO,CAAC,QAAQ,EAAE;YAEpB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/C,YAAA,IAAI,UAAU,GAAW,CAAC,CAAC,CAAC;AAC5B,YAAA,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAkB,EAAE,GAAG,KAAI,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACnH,YAAA,IAAI,UAAU,IAAI,CAAC,EAAE;gBAClB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAkB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;aACjF;iBAAM;AACL,gBAAA,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,WAAoB,CAAC,CAAC;aAClD;AACD,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEtB,YAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;SACnD;aAAM;;AAEL,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAClC;KACF;AACM,IAAA,kBAAkB,CAAC,OAAgB,EAAA;AAExC,QAAA,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAE/C,YAAA,IAAI,UAAU,GAAW,CAAC,CAAC,CAAC;AAC5B,YAAAC,aAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAkB,EAAE,GAAG,KAAI,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACzH,YAAA,IAAI,UAAU,IAAI,CAAC,EAAE;gBAClBA,aAAc,CAAC,YAAY,CAAC,UAAU,CAAkB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;aACvF;iBAAM;AACL,gBAAAA,aAAc,CAAC,YAAY,CAAC,IAAI,CAAC,WAAoB,CAAC,CAAC;aACxD;AAED,YAAA,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;SACvD;aAAM;AACL,YAAA,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;SACvC;KACF;AACM,IAAA,uBAAuB,CAAC,OAAgB,EAAA;AAC7C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC/D,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,MAAM,IAAI,GAAGA,aAAc,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;YAE7D,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC/D;KACF;AACM,IAAA,kBAAkB,CAAC,OAAgB,EAAA;AACxC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;YAEvD,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC3D;KACF;;;;;;;;;;;;;;;IAgBM,aAAa,CAAC,OAAgB,EAAE,IAAyB,EAAA;AAC9D,QAAA,IAAI,IAAI,IAAI,MAAM,EAAE;AAClB,YAAA,MAAM,YAAY,GAAiB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAuB,CAAC,CAAC;YAEnI,IAAI,YAAY,EAAE;AAChB,gBAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;AACnD,gBAAA,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,YAAqB,CAAC,CAAC;aACnD;SACF;aAAM;AACL,YAAA,MAAM,YAAY,GAAiB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAuB,CAAC,CAAC;YAEvI,IAAI,YAAY,EAAE;AAChB,gBAAA,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;AACvD,gBAAAA,aAAc,CAAC,YAAY,CAAC,IAAI,CAAC,YAAqB,CAAC,CAAC;aACzD;SACF;KACF;IAEM,cAAc,CAAC,MAAc,EAAE,IAA0B,EAAA;AAC9D,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,WAAW,GAAGA,aAAc,GAAG,QAAQ,CAAC;AAC7D,QAAA,IAAI,YAAY,GAAW,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,GAAW,KAAG;AAC7C,YAAA,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM;gBAClB,YAAY,GAAG,GAAG,CAAC;AAC3B,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,YAAY,CAAC;KACrB;IACM,YAAY,CAAC,MAAc,EAAE,IAA0B,EAAA;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACrD,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC9B,QAAA,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,WAAW,IAAIA,aAAc,GAAG,QAAQ,CAAC;QAC/D,IAAI,UAAU,IAAI,CAAC;AACjB,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAA;KACZ;AAEO,IAAA,YAAY,CAAC,OAAgB,EAAA;AACnC,QAAA,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;KAClC;IAEM,iBAAiB,GAAA;QACtB,MAAM,QAAQ,GAAG,QAAyB,CAAC;QAC3C,MAAM,YAAY,GAAGA,aAA+B,CAAC;AACrD,QAAA,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;YAC9B,OAAO,QAAQ,CAAC,MAAM,CAAC;AACzB,QAAA,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;YAClC,OAAO,YAAY,CAAC,MAAM,CAAC;AAE7B,QAAA,OAAO,QAAQ,CAAC;AACd,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;AACtC,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAACA,aAAc,CAAC;AAC7C,SAAA,CAAC,CAAC;KACJ;IACM,aAAa,GAAA;;;;;;;;;;;;;;;;;KAkBnB;8GAlJU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;AC0CK,MAAO,yBAA0B,SAAQ,WAAW,CAAA;IAaxD,WAC+B,CAAA,UAAkB,EAC9B,aAA6B,EAC7B,WAAwB,EACxB,MAAc,EACd,WAAwB,EAAA;AAEzC,QAAA,KAAK,EAAE,CAAA;QANsB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAC9B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAC7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAdlC,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;QAC3C,IAAI,CAAA,IAAA,GAAc,IAAI,CAAC;QAMf,IAAgB,CAAA,gBAAA,GAAwB,IAAI,CAAC;QAcrD,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;AAJtB,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;IAGD,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;KACtC;IAED,QAAQ,GAAA;QAEN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;QAEzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;;AAE3B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;YACrF,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAA;KACH;IACD,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,gBAAgB;AACvB,YAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;KAC1C;IAED,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAA;KACrL;IAED,kBAAkB,GAAA;AAChB,QAAA,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,IAAI,CAAC,EAAE,CAAC;KAChD;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,KAAG;AACzF,YAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,OAAY,KAAG;gBACzC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAkB,KAAG;AAClD,oBAAA,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;AAC/B,wBAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACrC,iBAAC,CAAC,CAAA;AACJ,aAAC,CAAC,CAAA;AACJ,SAAC,CAAC,CAAA;KACH;IACD,aAAa,CAAC,OAAgB,EAAE,IAAyB,EAAA;AACvD,QAAA,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KACzC;IACD,eAAe,CAAC,OAAgB,EAAE,IAAsB,EAAA;QACtD,IAAI,IAAI,IAAI,KAAK;AACf,YAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;;AAE7C,YAAA,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;KACrD;AAED,IAAA,oBAAoB,CAAC,SAAc,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAC,WAAW,EAAE,EAAC,EAAE,EAAE,SAAS,EAAC,EAAC,CAAC,CAAC;;KAEnE;AAED,IAAA,SAAS,CAAC,OAAgB,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1E;IAED,kBAAkB,CAAC,OAAgB,EAAE,GAAW,EAAA;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAC,GAAG,CAAC,CAAC;AACxD,QAAA,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAE7C,UAAU,CAAC,MAAI;YACb,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,YAAA,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;SACjD,EAAE,EAAE,CAAC,CAAC;KACR;AA/FU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAc1B,WAAW,EAAA,EAAA,EAAA,KAAA,EAAA/B,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA+B,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA7B,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA8B,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAdV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,8SCxDtC,++GAkDA,EAAA,MAAA,EAAA,CAAA,klCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDlBI,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAd,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,8BACX,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAZ,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;;;;gBAOpB,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEnB,eAAe,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAGf,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEhB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,wBAAwB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA5BrC,SAAS;+BACE,yBAAyB,EAAA,UAAA,EACvB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;wBACX,oBAAoB;;;;;wBAOpB,OAAO;wBACP,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,eAAe;wBACf,eAAe;wBACf,cAAc;wBACd,gBAAgB;wBAChB,gCAAgC;wBAChC,cAAc;wBACd,wBAAwB;AACzB,qBAAA,EAAA,QAAA,EAAA,++GAAA,EAAA,MAAA,EAAA,CAAA,klCAAA,CAAA,EAAA,CAAA;;0BAkBE,MAAM;2BAAC,WAAW,CAAA;uIAbZ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAqBN,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AE1CtC,MAAO,yBAA0B,SAAQ,WAAW,CAAA;AAUxD,IAAA,WAAA,CAC+B,UAAkB,EAC9B,MAAe,EACf,WAAwB,EAAA;AAEzC,QAAA,KAAK,EAAE,CAAA;QAJsB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAC9B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAS;QACf,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAG1C;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,kBAAkB,GAAA;AAChB,QAAA,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,IAAI,CAAC,EAAE,CAAC;KAChD;AAED,IAAA,kBAAkB,CAAC,QAAgB,EAAA;QACjC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;;KAE1E;IACD,gBAAgB,GAAA;QACd,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;AACxD,YAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAa,KAAI,QAAQ,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;AAC7F,SAAC,CAAC,CAAC;KACJ;AApCU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAW1B,WAAW,EAAA,EAAA,EAAA,KAAA,EAAAR,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAgC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAXV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,kNCxCtC,i/CAyBA,EAAA,MAAA,EAAA,CAAA,6yBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFY,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA7B,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,8BACjC,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAGpB,gBAAA,kBAAkB,yFAClB,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,mBAAmB,EACnB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,mFAGf,gBAAgB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAOP,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBApBrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,cACvB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,WAAW;wBACjC,oBAAoB;;wBAGpB,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,eAAe;wBACf,eAAe;wBACf,cAAc;wBACd,gBAAgB;wBAChB,gCAAgC;wBAChC,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,i/CAAA,EAAA,MAAA,EAAA,CAAA,6yBAAA,CAAA,EAAA,CAAA;;0BAeE,MAAM;2BAAC,WAAW,CAAA;uFAVZ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AExBR;AACA;AACA;AAqBM,MAAO,oBAAqB,SAAQ,WAAW,CAAA;IASnD,WAC+B,CAAA,UAAkB,EAC9B,aAA6B,EAC7B,MAAc,EACd,cAA8B,EAC9B,WAAwB,EACxB,WAAwB,EAAA;AAEzC,QAAA,KAAK,EAAE,CAAA;QAPsB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAC9B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAC7B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAC9B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QARpC,IAAkB,CAAA,kBAAA,GAAc,EAAE,CAAC;AAWxC,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;IAKD,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;AAC1D,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,KAAG;AAClD,YAAA,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,SAAS,EAAE;AACb,gBAAA,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;AAClE,oBAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEhC,oBAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,wBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAClF,wBAAA,MAAM,OAAO,GAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAEvF,wBAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC/B,wBAAA,IAAI,QAAQ;4BACV,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;AACjD,wBAAA,IAAI,OAAO;4BACT,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAEhD,wBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC1D,IAAI,CAAC,oBAAoB,EAAE,CAAC;qBAC7B;AACH,iBAAC,CAAC,CAAA;aACH;AACH,SAAC,CAAC,CAAA;KACH;IAED,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B;IAID,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;KACtC;AAGD,IAAA,SAAS,CAAC,GAAO,EAAA;AACf,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;KACvB;IAED,SAAS,CAAC,OAA4B,KAAK,EAAA;AAEzC,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC;AACjC,QAAA,IAAI,IAAI,IAAI,KAAK,EAAE;AACjB,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,CAAC;SACjC;aACI;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,YAAuB,CAAC,CAAC;KAC9D;AAED,IAAA,UAAU,CAAC,QAAgB,EAAA;QACzB,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACxC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAC,EAAE,CAAC,CAAC;KACvE;IAED,cAAc,GAAA;QACZ,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAuB,CAAC,CAAC;KACnE;IACD,iBAAiB,GAAA;QACf,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAuB,CAAC,CAAC;KACxE;AAED,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;KACrF;AACD,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,IAAI,CAAC,IAA4B,CAAC;KAC1C;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,IAAI,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,KAAG;YAC1I,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/C,SAAC,CAAC,CAAA;KACH;AA5GU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAUrB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAAT,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAsB,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAY,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAVV,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5CjC,krKAiFA,EDpDI,MAAA,EAAA,CAAA,ikEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,0ZACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA1B,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAEP,gBAAA,wBAAwB,oHACxB,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAEnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,wYAClB,yBAAyB,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKhB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAnBhC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;wBACX,oBAAoB;wBACpB,OAAO;;wBAEP,wBAAwB;wBACxB,kBAAkB;wBAClB,mBAAmB;wBACnB,cAAc;wBACd,kBAAkB;wBAClB,yBAAyB;AAC5B,qBAAA,EAAA,QAAA,EAAA,krKAAA,EAAA,MAAA,EAAA,CAAA,ikEAAA,CAAA,EAAA,CAAA;;0BAcI,MAAM;2BAAC,WAAW,CAAA;sKATZ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBA0DN,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ME7F/B,oBAAoB,CAAA;AAE/B,IAAA,WAAA,CACmB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAGxB,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;QACvB,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;QAC1B,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;KAJb;IAMJ,QAAQ,GAAA;KACP;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,GAAE,CAAC,EAAC,EAAE,CAAC,CAAC;KAC5E;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,GAAE,CAAC,EAAC,EAAE,CAAC,CAAC;KAC5E;AACD,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,GAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAC,EAAE,CAAC,CAAC;KACzE;8GAtBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAR,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbjC,kyBAUU,EAAA,MAAA,EAAA,CAAA,8MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFN,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKH,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAThC,SAAS;+BACE,mBAAmB,EAAA,UAAA,EACjB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;AACb,qBAAA,EAAA,QAAA,EAAA,kyBAAA,EAAA,MAAA,EAAA,CAAA,8MAAA,CAAA,EAAA,CAAA;6EAUQ,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;AE0BF,MAAO,oBAAqB,SAAQ,WAAW,CAAA;IASnD,WAC+B,CAAA,UAAkB,EAC9B,aAA6B,EAC7B,WAAwB,EACxB,MAAc,EACd,cAA8B,EAAA;AAE/C,QAAA,KAAK,EAAE,CAAC;QANqB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAC9B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAC7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAQ1C,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;QACvB,IAAU,CAAA,UAAA,GAAW,GAAG,CAAC;QACzB,IAAM,CAAA,MAAA,GAAkB,IAAI,CAAC;;AAG7B,QAAA,IAAA,CAAA,cAAc,GAAG;AACtB,YAAA,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;AAC9C,YAAA,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;SACjD,CAAC;QAEF,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;QAMxB,IAAU,CAAA,UAAA,GAAU,EAAE,CAAC;QAEvB,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;QACvB,IAAM,CAAA,MAAA,GAAW,CAAC,CAAC;QACnB,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;QACjB,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;QA4EvB,IAAU,CAAA,UAAA,GAAgB,EAAE,CAAC;QAC7B,IAAW,CAAA,WAAA,GAAgB,EAAE,CAAC;AAvG5B,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;IAcD,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;KACtC;IASD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAW,KAAG;AACvD,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACrC,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACxF,YAAA,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAClF,SAAC,CAAC,CAAA;KACH;IAED,+BAA+B,CAAC,WAAgB,EAAE,YAAiB,EAAA;AACjE,QAAA,MAAM,UAAU,GAAG,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,QAAgB,KAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAgB,KAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnK,QAAA,MAAM,WAAW,GAAG,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,UAAkB,KAAI,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAkB,KAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAE7K,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAI,QAAQ,CAAC,MAAM,GAAG,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;AACxH,QAAA,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,UAAU,KAAI,UAAU,CAAC,MAAM,GAAG,WAAW,EAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;QAChI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG;AAChB,YAAA,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,QAAa,KAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,OAAM,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA,EAAE,CAAC;AACrI,YAAA,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,UAAe,KAAI,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,OAAO,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,CAAA,EAAE,CAAC;SAClJ,CAAC;AACF,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,gBAAgB,GAAA;QACd,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;YACxD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAa,KAAI,QAAQ,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAa,KAAM,EAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA,EAAE,CAAC,CAAC;AACrM,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAClF,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC5E,YAAA,IAAI,CAAC,+BAA+B,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAC1E,SAAC,CAAC,CAAC;KACJ;IACD,iBAAiB,GAAA;QACf,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;YACzD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAe,KAAI,UAAU,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,UAAe,KAAM,EAAA,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA,EAAE,CAAC,CAAC;AAClN,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAClF,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC5E,YAAA,IAAI,CAAC,+BAA+B,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAC1E,SAAC,CAAC,CAAA;KACH;AAED,IAAA,YAAY,CAAC,MAAW,EAAA;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;AAClE,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI,MAAM,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;;AAEnG,QAAA,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KACzB;IAED,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAA;KACrL;AAED,IAAA,oBAAoB,CAAC,SAAc,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;;KAEvE;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAChC;IAID,WAAW,CAAC,QAAa,EAAE,IAAsB,EAAA;QAC/C,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,IAAI,IAAI,QAAQ;AAClB,YAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;aAChC,IAAI,IAAI,IAAI,MAAM;AACrB,YAAA,OAAO,GAAG,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;AAEpC,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;KAC9B;AAED,IAAA,cAAc,CAAC,OAAe,EAAA;QAE5B,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAG;YACnE,OAAO;AACL,gBAAA,GAAG,QAAQ;gBACX,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;aAC3C,CAAA;AACH,SAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI,gBAAgB,KAAK,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,KAAI,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAG;YAC1E,OAAO;AACL,gBAAA,GAAG,UAAU;gBACb,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;aAC7C,CAAA;AACH,SAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI,kBAAkB,KAAK,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;AAGzE,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAC,WAAW,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAC,EAAC,CAAC,CAAC;KACtL;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,KAAI,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAI,UAAU,CAAC,EAAE,CAAC,CAAC;AAClH,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;AACvG,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,KAAG;YACtL,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,SAAC,CAAC,CAAA;KACH;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/C;AArKU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAUrB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA+B,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA7B,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAVV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EC9CjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,iiMA0HA,ED5FI,MAAA,EAAA,CAAA,44DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EACX,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,oBAAoB,EACpB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,2YACf,oBAAoB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAEpB,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAOL,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBApBhC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,eAAe;wBACf,WAAW;wBACX,oBAAoB;wBACpB,eAAe;wBACf,oBAAoB;;wBAEpB,kBAAkB;wBAClB,mBAAmB;wBACnB,cAAc;wBACd,wBAAwB;wBACxB,OAAO;AACR,qBAAA,EAAA,QAAA,EAAA,iiMAAA,EAAA,MAAA,EAAA,CAAA,44DAAA,CAAA,EAAA,CAAA;;0BAcE,MAAM;2BAAC,WAAW,CAAA;+IATZ,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBA6BN,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ME1D/B,gBAAgB,CAAA;IAI3B,WACmB,CAAA,MAAc,EACd,WAAwB;;;QADxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAIpC,IAAW,CAAA,WAAA,GAAU,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,OAAO,GAAQ;AACpB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,eAAe,EAAE,EAAE;AACnB,YAAA,eAAe,EAAE,EAAE;AACnB,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,aAAa,EAAE;AACb,gBAAA,UAAU,EAAE,CAAC;AACb,gBAAA,WAAW,EAAE,CAAC;AACf,aAAA;SACF,CAAA;QAEQ,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;QAEzB,IAAQ,CAAA,QAAA,GAAkB,IAAI,CAAC;QAC/B,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAC;QACjC,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AAE/B,QAAA,IAAA,CAAA,SAAS,GAA8B;AAC5C,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,GAAG,EAAE,CAAC;SACP,CAAC;AAEK,QAAA,IAAA,CAAA,cAAc,GAA8B;AACjD,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,GAAG,EAAE,CAAC;SACP,CAAC;AAEK,QAAA,IAAA,CAAA,aAAa,GAA8B,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAE9D,IAAQ,CAAA,QAAA,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAErC,IAAkB,CAAA,kBAAA,GAAW,CAAC,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,UAAU,GAAuC;AACtD,YAAA,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;AAC9B,YAAA,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;AAC9B,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;SAChC,CAAC;KA/CE;IAiDJ,QAAQ,GAAA;QACJ,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;KACxC;AAED,IAAA,gBAAgB,CAAC,OAAyC,EAAA;QACxD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;KACxC;IACD,KAAK,GAAA;KAEJ;IACD,kBAAkB,GAAA;AAChB,QAAA,IAAI,SAAS,CAAC,WAAW,EAAE;YACzB,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,MAAM,KAAI;gBAClD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AAC3C,aAAC,CAAC,CAAC;SACJ;KACF;IACD,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,OAAY,EAAE,MAAW,KAAI;YACrF,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;AACjC,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;;oBAEnB,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAc,KAAI;AACvD,wBAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AAC9B,wBAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;;yBAE/B;AACD,wBAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;;yBAElD;AACD,wBAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;;yBAE9B;AACD,wBAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;;yBAElC;AACH,qBAAC,CAAC,CAAC;AACL,iBAAC,CAAC,CAAC;aACJ;AACH,SAAC,CAAC,CAAC;KACJ;AACD,IAAA,kBAAkB,CAAC,QAAa,EAAA;AAE9B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;;;KAGrC;AACD,IAAA,sBAAsB,CAAC,MAAW,EAAA;AAChC,QAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;;;;;QAMpB,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAS,KAAI;YAC/C,IAAI,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAC,GAAE;;iBAEjC,IAAI,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAC,GAAE;;iBAE1C,IAAI,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAC,GAAE;;iBAE1D,IAAI,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAC,GAAE;;AAE9C,SAAC,CAAC,CAAC;KACJ;IACD,aAAa,GAAA;AACX,QAAA,MAAM,MAAM,GAAGc,QAAW,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,oBAAoB,EAAE,CAAC,IAAIA,QAAW,CAAC,IAAI,EAAE,kBAAkB,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AACrF,YAAA,SAAS,EAAEA,QAAW,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;YAC1C,QAAQ,EAAEA,QAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,GAAGA,QAAW,CAAC,IAAI,EAAE,MAAM,GAAK,IAAI;SACnF,CAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;AAC7D,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3BA,QAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAgB,CAAC,CAAC;AAClE,SAAC,CAAC,CAAA;KACH;8GA5IU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,oMCrB7B,ulJAiFU,EAAA,MAAA,EAAA,CAAA,i6CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDnEN,OAAO,EACP,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,6VACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAjB,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKF,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EACP,OAAA,EAAA;wBACP,OAAO;wBACP,YAAY;wBACZ,WAAW;AACZ,qBAAA,EAAA,QAAA,EAAA,ulJAAA,EAAA,MAAA,EAAA,CAAA,i6CAAA,CAAA,EAAA,CAAA;kGAMQ,YAAY,EAAA,CAAA;sBAApB,KAAK;gBA4BG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAoBG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;;;AExBF,MAAO,aAAc,SAAQ,WAAW,CAAA;AAW5C,IAAA,WAAA,CACmB,aAA6B,EAC7B,WAAwB,EACxB,MAAc,EACd,WAAwB,EACxB,SAAoB,EACpB,cAAqC,EACrC,aAA4B,EAAA;AAE7C,QAAA,KAAK,EAAE,CAAA;QARU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAC7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACpB,IAAc,CAAA,cAAA,GAAd,cAAc,CAAuB;QACrC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAX/C,IAAkB,CAAA,kBAAA,GAAW,CAAC,CAAC,CAAC;QAEzB,IAAU,CAAA,UAAA,GAAkC,KAAK,CAAC;KAYxD;IAED,QAAQ,GAAA;QAEN,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AAClC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAS,CAAC;YACrE,QAAQ,CAAC,WAAW,GAAG,EAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAC,CAAC;YACvG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;gBACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAClC,aAAC,CAAC,CAAA;SACH;KACF;;;;;;;;;;IAWH,iBAAiB,GAAA;AACf,QAAA,IAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAC;AACxB,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;SAC7B;aAAM;AACH,YAAA,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG;gBAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC7B;AACH,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,EAAE;AAC7C,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,iBAAA,CAAC,CAAC;aACJ;SACJ;KACF;IAED,iBAAiB,GAAA;;QAEf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B;AACD,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;AAClB,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAe,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC;KACnE;IACD,SAAS,CAAC,IAAS,EAAE,IAAyB,EAAA;AAC5C,QAAA,IAAI,IAAI,IAAI,KAAK,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;SACpB;aACI;AACH,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;SACpB;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAe,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC;KACnE;IACD,gBAAgB,GAAA;AACd,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAY,CAAC;AACrF,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;YAC9B,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,aAAa,EAAE,QAAQ,CAAC,WAAW;AACnC,YAAA,gBAAgB,EAAE;gBAChB,MAAM,EAAE,OAAO,CAAC,YAAY;gBAC5B,QAAQ,EAAE,OAAO,CAAC,aAAa;AAC/B,gBAAA,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,CAAC,aAAa;AAC/B,aAAA;SACF,CAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAG;AAEnE,SAAC,CAAC,CAAA;KACH;AAED,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC;KACpE;8GApGU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAiC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA/B,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAgC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAhB,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAiB,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,qMC/C1B,4oMAkHA,EAAA,MAAA,EAAA,CAAA,yqGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnFI,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,EACP,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,8BACf,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAGpB,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,mFAEnB,gBAAgB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMP,aAAa,EAAA,UAAA,EAAA,CAAA;kBApBzB,SAAS;+BACE,YAAY,EAAA,UAAA,EACV,IAAI,EACP,OAAA,EAAA;wBACP,WAAW;wBACX,YAAY;wBACZ,OAAO;wBACP,eAAe;wBACf,oBAAoB;;wBAEpB,wBAAwB;wBACxB,kBAAkB;wBAClB,mBAAmB;wBACnB,cAAc;wBACd,gBAAgB;AAEjB,qBAAA,EAAA,QAAA,EAAA,4oMAAA,EAAA,MAAA,EAAA,CAAA,yqGAAA,CAAA,EAAA,CAAA;2OAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AExBF,MAAO,iBAAkB,SAAQ,WAAW,CAAA;AAOhD,IAAA,WAAA,CAAoB,aAA6B,EAAA;AAC/C,QAAA,KAAK,EAAE,CAAA;QADW,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAIjD,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;KAF1B;IAOD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC;QACzE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;KAC7C;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAC,CAAC,CAAC;KACnE;8GAzBU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAvC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,yMC5B9B,0pNAoHA,EAAA,MAAA,EAAA,CAAA,23DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnGY,WAAW,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,gOACjC,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAEpB,gBAAA,wBAAwB,EACxB,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,mFACnB,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKL,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAd7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cACd,IAAI,EAAA,OAAA,EACP,CAAC,WAAW,EAAE,YAAY;wBACjC,oBAAoB;;wBAEpB,wBAAwB;wBACxB,kBAAkB;wBAClB,mBAAmB;wBACnB,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,0pNAAA,EAAA,MAAA,EAAA,CAAA,23DAAA,CAAA,EAAA,CAAA;+EAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MENK,iBAAiB,CAAA;AAU5B,IAAA,WAAA,CACmB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KACvC;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;KACjC;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;;KAEnB;AACD,IAAA,kBAAkB,CAAC,IAAS,EAAA;;KAE3B;IACD,QAAQ,CAAC,IAAS,EAAE,IAAyB,EAAA;QAC3C,IAAI,IAAI,IAAI,KAAK;AACf,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;;AAEnB,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;KAC3C;8GA/BU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA+B,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3B9B,ogGAyDY,EAAA,MAAA,EAAA,CAAA,2uGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED1CR,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACP,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAGZ,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMV,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAhB7B,SAAS;+BACE,gBAAgB,EAAA,UAAA,EACd,IAAI,EACP,OAAA,EAAA;wBACP,OAAO;wBACP,oBAAoB;wBACpB,YAAY;;wBAEZ,wBAAwB;wBACxB,kBAAkB;wBAClB,mBAAmB;wBACnB,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,ogGAAA,EAAA,MAAA,EAAA,CAAA,2uGAAA,CAAA,EAAA,CAAA;6EAMQ,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEjBK,qBAAqB,CAAA;AAXlC,IAAA,WAAA,GAAA;AAkBS,QAAA,IAAA,CAAA,aAAa,GAAQ;YAC1B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,kDAAkD,EAAE;YACnG,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kDAAkD,EAAE;YAC3G,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,kDAAkD,EAAE;SACrG,CAAC;AAKH,KAAA;IAHC,QAAQ,GAAA;AACJ,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAClC;8GAfU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,uLChBlC,8jIA8EU,EAAA,MAAA,EAAA,CAAA,8PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrEN,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAzC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,yQACd,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKE,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EACnB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,cAAc;wBACd,OAAO;AACR,qBAAA,EAAA,QAAA,EAAA,8jIAAA,EAAA,MAAA,EAAA,CAAA,8PAAA,CAAA,EAAA,CAAA;8BAKQ,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEgBK,oBAAoB,CAAA;IAE/B,WACmB,CAAA,MAAc,EACd,WAAwB,EAAA;QADxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAWpC,IAAoB,CAAA,oBAAA,GAAkB,QAAQ,CAAC;QAC/C,IAAW,CAAA,WAAA,GAAuB,IAAI,CAAC;QACvC,IAAW,CAAA,WAAA,GAAQ,EAAE,CAAC;AAEtB,QAAA,IAAA,CAAA,aAAa,GAAW;AAC7B,YAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE;AACxF,YAAA,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;AAC1F,YAAA,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;AAC7G,YAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;SACzF,CAAC;QACK,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAClB,IAAS,CAAA,SAAA,GAAgB,EAAE,CAAC;KArB/B;IAuBJ,QAAQ,GAAA;;AAEF,QAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAA4B,CAAC;;;;AAI3D,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;;KAEjD;AACD,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC;KACzC;IACD,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B;aAAM;AACL,YAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;SAChC;KACF;AACD,IAAA,WAAW,CAAC,KAAU,EAAA;KAErB;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B;AACM,IAAA,SAAS,CAAC,GAAS,EAAA;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;KAC5D;AACM,IAAA,kBAAkB,CAAC,GAAS,EAAA;AACjC,QAAA,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;KACrE;AACD,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;AACD,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC;KACjC;8GAjEU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAgC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrCjC,2/QAiJc,EDxHV,MAAA,EAAA,CAAA,s3DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,izBACZ,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAEP,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAIpB,qBAAqB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKZ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAhBhC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,OAAO;wBACP,wBAAwB;wBACxB,oBAAoB;wBACpB,kBAAkB;wBAClB,mBAAmB;wBACnB,cAAc;wBACd,qBAAqB;AACxB,qBAAA,EAAA,QAAA,EAAA,2/QAAA,EAAA,MAAA,EAAA,CAAA,s3DAAA,CAAA,EAAA,CAAA;oGAWU,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;ME7CK,IAAI,CAAA;IAUf,WAAY,CAAA,IAA0B,EAAE,IAAA,GAAwB,IAAI,EAAA;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,iBAAiB,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;KACxB;AACF;;MCrBY,cAAc,CAAA;AAUzB,IAAA,WAAA,CAAY,IAA0B,EAAA;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,gBAAgB,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;KAChC;AACF,CAAA;AAED;AACA;AACA;AACA;AACA;AACA;;AC1BM,MAAO,QAAS,SAAQ,cAAc,CAAA;AAK1C,IAAA,WAAA,CAAY,IAA0B,EAAA;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,kBAAkB,CAAC,CAAC;KACpD;AACF,CAAA;AAED;AACA;AACA;AACA;AACA;AACA;;AClBM,MAAO,UAAW,SAAQ,cAAc,CAAA;AAK1C,IAAA,WAAA,CAAY,IAA0B,EAAA;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,gBAAgB,CAAC,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,kBAAkB,CAAC,CAAC;KACxD;AACJ;;MCbY,OAAO,CAAA;;;AAuClB,IAAA,WAAA,CAAY,IAA0B,EAAA;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,oBAAoB,CAAuB,CAAC;QAC7E,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,eAAe,CAAkB,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,gBAAgB,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;KACzC;AACF;;AC/DD;;AAEG;AAEH;AACA;;ACLA;;AAEG;;;;"}
|