af-connect-components 18.0.48 → 18.0.50

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.
@@ -1 +1 @@
1
- {"version":3,"file":"af-connect-components.mjs","sources":["../../../projects/af-connect-components/src/lib/af-connect-components.service.ts","../../../projects/af-connect-components/src/lib/af-connect-components.component.ts","../../../projects/af-connect-components/src/lib/af-connect-footer/af-connect-footer.data.ts","../../../projects/af-connect-components/src/lib/services/breakpoint.service.ts","../../../projects/af-connect-components/src/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.ts","../../../projects/af-connect-components/src/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.html","../../../projects/af-connect-components/src/lib/expandable/expandable-container/expandable-container.component.ts","../../../projects/af-connect-components/src/lib/expandable/expandable-container/expandable-container.component.html","../../../projects/af-connect-components/src/lib/expandable/expandable-arrow/expandable-arrow.component.ts","../../../projects/af-connect-components/src/lib/expandable/expandable-arrow/expandable-arrow.component.html","../../../projects/af-connect-components/src/lib/af-connect-footer/af-connect-footer.component.ts","../../../projects/af-connect-components/src/lib/af-connect-footer/af-connect-footer.component.html","../../../projects/af-connect-components/src/lib/af-connect-radio-group/af-connect-radio-group.component.ts","../../../projects/af-connect-components/src/lib/af-connect-radio-group/af-connect-radio-group.component.html","../../../projects/af-connect-components/src/lib/af-connect-radio-button/af-connect-radio-button.component.ts","../../../projects/af-connect-components/src/lib/af-connect-radio-button/af-connect-radio-button.component.html","../../../projects/af-connect-components/src/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.ts","../../../projects/af-connect-components/src/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.html","../../../projects/af-connect-components/src/lib/af-connect-header/af-connect-header.component.ts","../../../projects/af-connect-components/src/lib/af-connect-header/af-connect-header.component.html","../../../projects/af-connect-components/src/shared/pipes/get-initials.ts","../../../projects/af-connect-components/src/lib/faq/faq-item/faq-item.component.ts","../../../projects/af-connect-components/src/lib/faq/faq-item/faq-item.component.html","../../../projects/af-connect-components/src/lib/faq/faq/faq.component.ts","../../../projects/af-connect-components/src/lib/faq/faq/faq.component.html","../../../projects/af-connect-components/src/lib/faq/image-fallback/image-fallback.component.ts","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/defaultConfig.ts","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/image-card/image-card.component.ts","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/image-card/image-card.component.html","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/af-connect-products-carousel.component.ts","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/af-connect-products-carousel.component.html","../../../projects/af-connect-components/src/lib/af-connect-button/af-connect-button.component.ts","../../../projects/af-connect-components/src/lib/af-connect-button/af-connect-button.component.html","../../../projects/af-connect-components/src/lib/af-connect-content/af-connect-content.component.ts","../../../projects/af-connect-components/src/lib/af-connect-content/af-connect-content.component.html","../../../projects/af-connect-components/src/lib/af-connect-datepicker/af-connect-datepicker.component.ts","../../../projects/af-connect-components/src/lib/af-connect-datepicker/af-connect-datepicker.component.html","../../../projects/af-connect-components/src/lib/utilities/number.util.ts","../../../projects/af-connect-components/src/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.ts","../../../projects/af-connect-components/src/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.html","../../../projects/af-connect-components/src/lib/af-connect-input/af-connect-input.component.ts","../../../projects/af-connect-components/src/lib/af-connect-input/af-connect-input.component.html","../../../projects/af-connect-components/src/lib/af-connect-form-group/af-connect-form-group.component.ts","../../../projects/af-connect-components/src/lib/af-connect-form-group/af-connect-form-group.component.html","../../../projects/af-connect-components/src/lib/af-connect-card/af-connect-card.component.ts","../../../projects/af-connect-components/src/lib/af-connect-card/af-connect-card.component.html","../../../projects/af-connect-components/src/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.ts","../../../projects/af-connect-components/src/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.html","../../../projects/af-connect-components/src/lib/af-connect-chip/af-connect-chip.component.ts","../../../projects/af-connect-components/src/lib/af-connect-chip/af-connect-chip.component.html","../../../projects/af-connect-components/src/lib/af-connect-chart/af-connect-chart.component.ts","../../../projects/af-connect-components/src/lib/af-connect-chart/af-connect-chart.component.html","../../../projects/af-connect-components/src/lib/af-connect-error/af-connect-error.component.ts","../../../projects/af-connect-components/src/lib/af-connect-error/af-connect-error.component.html","../../../projects/af-connect-components/src/lib/af-connect-inline-error/af-connect-inline-error.component.ts","../../../projects/af-connect-components/src/lib/af-connect-inline-error/af-connect-inline-error.component.html","../../../projects/af-connect-components/src/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.ts","../../../projects/af-connect-components/src/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.html","../../../projects/af-connect-components/src/lib/af-connect-svg-button/af-connect-svg-button.component.ts","../../../projects/af-connect-components/src/lib/af-connect-svg-button/af-connect-svg-button.component.html","../../../projects/af-connect-components/src/lib/af-connect-modal/af-connect-modal.component.ts","../../../projects/af-connect-components/src/lib/af-connect-modal/af-connect-modal.component.html","../../../projects/af-connect-components/src/lib/af-connect-no-content/af-connect-no-content.component.ts","../../../projects/af-connect-components/src/lib/af-connect-no-content/af-connect-no-content.component.html","../../../projects/af-connect-components/src/lib/af-connect-notification/af-connect-notification.component.ts","../../../projects/af-connect-components/src/lib/af-connect-notification/af-connect-notification.component.html","../../../projects/af-connect-components/src/lib/af-connect-progress-bar/af-connect-progress-bar.component.ts","../../../projects/af-connect-components/src/lib/af-connect-progress-bar/af-connect-progress-bar.component.html","../../../projects/af-connect-components/src/lib/af-connect-section/af-connect-section.component.ts","../../../projects/af-connect-components/src/lib/af-connect-section/af-connect-section.component.html","../../../projects/af-connect-components/src/lib/af-connect-section-header/af-connect-section-header.component.ts","../../../projects/af-connect-components/src/lib/af-connect-section-header/af-connect-section-header.component.html","../../../projects/af-connect-components/src/lib/af-connect-select/af-connect-select.component.ts","../../../projects/af-connect-components/src/lib/af-connect-select/af-connect-select.component.html","../../../projects/af-connect-components/src/lib/af-connect-tab/af-connect-tab.component.ts","../../../projects/af-connect-components/src/lib/af-connect-tab/af-connect-tab.component.html","../../../projects/af-connect-components/src/lib/af-connect-tabs/af-connect-tabs.component.ts","../../../projects/af-connect-components/src/lib/af-connect-tabs/af-connect-tabs.component.html","../../../projects/af-connect-components/src/lib/af-connect-table/af-connect-table.component.ts","../../../projects/af-connect-components/src/lib/af-connect-table/af-connect-table.component.html","../../../projects/af-connect-components/src/lib/af-connect-toaster-message/af-connect-toaster-message.component.ts","../../../projects/af-connect-components/src/lib/af-connect-toaster-message/af-connect-toaster-message.component.html","../../../projects/af-connect-components/src/lib/constants/animation.constants.ts","../../../projects/af-connect-components/src/lib/af-connect-toggle-button/af-connect-toggle-button.component.ts","../../../projects/af-connect-components/src/lib/af-connect-toggle-button/af-connect-toggle-button.component.html","../../../projects/af-connect-components/src/lib/af-connect-tooltip/af-connect-tooltip.component.ts","../../../projects/af-connect-components/src/lib/af-connect-tooltip/af-connect-tooltip.component.html","../../../projects/af-connect-components/src/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.ts","../../../projects/af-connect-components/src/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.html","../../../projects/af-connect-components/src/lib/af-connect-solutions-product/af-connect-solutions-product.data.ts","../../../projects/af-connect-components/src/lib/af-connect-solutions-product/af-connect-solutions-product.component.ts","../../../projects/af-connect-components/src/lib/af-connect-solutions-product/af-connect-solutions-product.component.html","../../../projects/af-connect-components/src/lib/af-connect-savings-banner/af-connect-savings-banner.component.ts","../../../projects/af-connect-components/src/lib/af-connect-savings-banner/af-connect-savings-banner.component.html","../../../projects/af-connect-components/src/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.data.ts","../../../projects/af-connect-components/src/lib/pipes/safe-html.pipe.ts","../../../projects/af-connect-components/src/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component.ts","../../../projects/af-connect-components/src/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component.html","../../../projects/af-connect-components/src/lib/af-connect-components.module.ts","../../../projects/af-connect-components/src/public-api.ts","../../../projects/af-connect-components/src/af-connect-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AfConnectComponentsService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-components',\r\n template: `\r\n <p>\r\n af-connect-components works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class AfConnectComponentsComponent {\r\n\r\n}\r\n","export interface SocialLink {\r\n link: string,\r\n isHidden?: boolean;\r\n}\r\n\r\nexport interface SectionItem {\r\n title: string,\r\n link?: string,\r\n isHidden?: boolean,\r\n bold?: boolean;\r\n}\r\n\r\nexport interface Section {\r\n title?: string,\r\n sectionItems: SectionItem[];\r\n}\r\n\r\n\r\nexport interface FooterConfig {\r\n bannerTitle?: string | undefined,\r\n instagram?: SocialLink,\r\n linkedIn?: SocialLink,\r\n facebook?: SocialLink,\r\n twitter?: SocialLink,\r\n whatsapp?: SocialLink,\r\n sections?: Section[],\r\n address?: Section[],\r\n LegalTerms?: string | undefined,\r\n PrivacyPolicy: string | undefined,\r\n PaiaManual: string | undefined\r\n}\r\n\r\nexport type CountryCode = 'ZA' | 'NA'| 'BW';\r\n\r\nexport const configs: Record<CountryCode, Partial<FooterConfig>> = {\r\n 'ZA': {\r\n sections: [\r\n {\r\n title: 'Company',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/za/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/za/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & compliance',\r\n link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Resources',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'\r\n },\r\n {\r\n title: 'Call me back',\r\n link: 'https://kfta.app.alexanderforbes.co.za/TotalAgility/Forms/Digital/Contact_Us.form',\r\n isHidden: true\r\n },\r\n {\r\n title: 'Compliments',\r\n link: 'https://www.alexforbes.com/za/en/contact/compliments.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Unclaimed benefits',\r\n link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Head Office',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n bold: true\r\n },\r\n {\r\n title: 'Email : info@alexforbes.com',\r\n },\r\n {\r\n title: 'Telephone : +27 11 269 0000',\r\n },\r\n {\r\n title: 'Fax : +27 11 263 0149',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n bold: true\r\n },\r\n {\r\n title: 'Alexforbes',\r\n },\r\n {\r\n title: '115 West Street',\r\n },\r\n {\r\n title: 'Sandton, 2196',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2026 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://www.linkedin.com/company/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesofficial/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n },\r\n whatsapp: {\r\n link:'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',\r\n isHidden: false,\r\n },\r\n LegalTerms: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Alexforbes-AF-Connect-Terms-of-Use-Document.pdf',\r\n PrivacyPolicy: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Privacy_Policy.pdf',\r\n PaiaManual: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=PAIA_Manual.pdf',\r\n },\r\n 'NA': {\r\n sections: [\r\n {\r\n title: 'Company',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/na/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/na/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & compliance',\r\n link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Resources',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/na/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/na/en/contact/Complaints.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Namibia',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n bold: true\r\n },\r\n {\r\n title: 'Email: AFFSNamibia@alexforbes.com',\r\n },\r\n {\r\n title: 'Telephone: +264 (61) 293 7000',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n bold: true\r\n },\r\n {\r\n title: 'Alexforbes House, 1st Floor ',\r\n },\r\n {\r\n title: 'c/o Independence Avenue & Fidel Castro Street',\r\n },\r\n {\r\n title: 'Windhoek, Namibia',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2026 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://na.linkedin.com/showcase/alexforbesnamibia',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesnamibia/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n },\r\n whatsapp: {\r\n link:'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',\r\n isHidden: true,\r\n },\r\n LegalTerms: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Alexforbes-AF-Connect-Terms-of-Use-Document.pdf',\r\n PrivacyPolicy: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=AF-Namibia-Connect-Privacy-Notice.pdf',\r\n PaiaManual: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=PAIA_Manual.pdf',\r\n },\r\n 'BW': {\r\n sections: [\r\n {\r\n title: 'Company',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/bw/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/bw/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & compliance',\r\n link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Resources',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://invest.alexforbes.com/za/en/resources/business-directory/#tabs--3--Botswana'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/bw/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/bw/en/contact/Complaints.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Botswana',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n bold: true\r\n },\r\n {\r\n title: 'Email:enquiries.botswana@alexforbes.com',\r\n },\r\n {\r\n title: '+267 365 1900 / 1901 / 1948',\r\n },\r\n {\r\n title: 'Fax: +267 395 7552',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n bold: true\r\n },\r\n {\r\n title: 'Alexforbes',\r\n },\r\n {\r\n title: 'Plot 54359, Motswere Building, Prime Plaza II, CBD',\r\n },\r\n {\r\n title: 'Gaborone, Botswana',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2026 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial/',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://www.linkedin.com/showcase/alexforbesbotswana/',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesbotswana/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n },\r\n whatsapp: {\r\n link:'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',\r\n isHidden: true,\r\n },\r\n LegalTerms: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Alexforbes-AF-Connect-Terms-of-Use-Document-UR.pdf',\r\n PrivacyPolicy: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Privacy-Policy-UR.pdf',\r\n PaiaManual: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=PAIA_Manual.pdf',\r\n }\r\n};\r\n\r\n\r\n /**\r\n Footer component for AF Angular Websites. A config object can be passed to change data partially or fully.\r\n\r\n public exampleTestConfig: FooterConfig = {\r\n bannerTitle: 'test'\r\n }\r\n\r\n Passing the exampleTestConfig will replace only the banner. Everything else will be loaded from the default config.\r\n\r\n\r\n defaultConfig: FooterConfig = {\r\n sections: [\r\n {\r\n title: 'COMPANY',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/za/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/za/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & Compliance',\r\n link: 'https://www.alexanderforbesinvestments.co.za/about-us/risk-and-compliance'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'RESOURCES',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'\r\n },\r\n {\r\n title: 'Compliments',\r\n link: 'https://www.alexforbes.com/za/en/contact/compliments.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Unclaimed benefits',\r\n link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Head Office',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n },\r\n {\r\n title: 'Email : info@alexforbes.com',\r\n },\r\n {\r\n title: 'Telephone : +27 11 269 0000',\r\n },\r\n {\r\n title: 'Fax : +27 11 263 0149',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n },\r\n {\r\n title: 'Alexforbes',\r\n },\r\n {\r\n title: '115 West Street',\r\n },\r\n {\r\n title: 'Sandton, 2196',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2022 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://www.linkedin.com/company/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesofficial/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n }\r\n }\r\n */\r\n\r\n /*\r\n public defaultConfig: FooterConfig = {\r\n sections: [\r\n {\r\n title: 'Company',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/za/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/za/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & compliance',\r\n link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Resources',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'\r\n },\r\n {\r\n title: 'Call me back',\r\n link: 'https://kfta.app.alexanderforbes.co.za/TotalAgility/Forms/Digital/Contact_Us.form',\r\n isHidden: true\r\n },\r\n {\r\n title: 'Compliments',\r\n link: 'https://www.alexforbes.com/za/en/contact/compliments.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Unclaimed benefits',\r\n link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Head Office',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n bold: false\r\n },\r\n {\r\n title: 'Email : info@alexforbes.com',\r\n },\r\n {\r\n title: 'Telephone : +27 11 269 0000',\r\n },\r\n {\r\n title: 'Fax : +27 11 263 0149',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n bold: false\r\n },\r\n {\r\n title: 'Alexforbes',\r\n },\r\n {\r\n title: '115 West Street',\r\n },\r\n {\r\n title: 'Sandton, 2196',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2024 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://www.linkedin.com/company/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesofficial/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n },\r\n whatsapp: {\r\n link:'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',\r\n isHidden: false,\r\n }\r\n }*/","import { BreakpointObserver } from '@angular/cdk/layout';\r\nimport { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BreakpointLibService {\r\n constructor(private responsive: BreakpointObserver) { }\r\n\r\n public isMobile$ = this.responsive.observe(['(max-width: 768px)']).pipe(map((result) => result.matches));\r\n\r\n public isTablet$ = this.responsive.observe(['(max-width: 1024px)']).pipe(map((result) => !result.matches));\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BehaviorSubject, take } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'afc-expandable-wrapper',\r\n templateUrl: './afc-expandable-wrapper.component.html',\r\n styleUrls: ['./afc-expandable-wrapper.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ExpandableWrapperComponent {\r\n public isExpanded$ = new BehaviorSubject<boolean | null>(null);\r\n\r\n toggleIsExpanded() {\r\n this.isExpanded$\r\n .pipe(take(1))\r\n .subscribe((current) => {\r\n this.isExpanded$.next(!current);\r\n })\r\n .unsubscribe();\r\n }\r\n}\r\n","<div class=\"expandable-wrapper\" (click)=\"toggleIsExpanded()\">\r\n <ng-content select=\"[triggerable]\"></ng-content>\r\n</div>\r\n<ng-content></ng-content>\r\n","import { ChangeDetectionStrategy, Component, Host, Optional } from '@angular/core';\r\nimport { animate, style, transition, trigger, state } from '@angular/animations';\r\nimport { ExpandableWrapperComponent } from '../afc-expandable-wrapper/afc-expandable-wrapper.component';\r\n\r\n@Component({\r\n selector: 'afc-expandable-container',\r\n templateUrl: './expandable-container.component.html',\r\n styleUrls: ['./expandable-container.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [trigger('expandContainer', [\r\n state(\r\n 'collapsed',\r\n style({ height: '0px', minHeight: '0', visibility: 'hidden', border: 'none', overflow: 'hidden' })\r\n ),\r\n state('expanded', style({ height: '*' })),\r\n transition('expanded <=> collapsed', animate('300ms ease-out'))\r\n ])]\r\n})\r\nexport class ExpandableContainerComponent {\r\n constructor(@Host() @Optional() public wrapper: ExpandableWrapperComponent) { }\r\n}\r\n","<div class=\"expand-container\" [@expandContainer]=\"(wrapper.isExpanded$ | async) ? 'expanded' : 'collapsed'\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { animate, style, transition, trigger, state } from '@angular/animations';\r\nimport { ChangeDetectionStrategy, Component, ElementRef, Host, HostListener, Input, OnInit, Optional, ViewChild } from '@angular/core';\r\nimport { ExpandableWrapperComponent } from '../afc-expandable-wrapper/afc-expandable-wrapper.component';\r\n\r\nexport enum AnimationPosition {\r\n right = 0,\r\n bottom = 90,\r\n left = 180,\r\n top = 270,\r\n};\r\n\r\n@Component({\r\n selector: 'afc-expandable-arrow',\r\n templateUrl: './expandable-arrow.component.html',\r\n styleUrls: ['./expandable-arrow.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [trigger('expandableArrow', [\r\n state('collapsed', style({ transform: 'rotate({{collapsedRotation}}deg)' }), { params: {collapsedRotation: '0'} }),\r\n state('expanded', style({ transform: 'rotate({{expandedRotation}}deg)' }), { params: {expandedRotation: '90'} }),\r\n transition('expanded <=> collapsed', animate('300ms ease-out')),\r\n transition('collapsed <=> expanded', animate('300ms ease-out'))\r\n ])]\r\n})\r\nexport class ExpandableArrowComponent implements OnInit {\r\n @Input() color: string = '#454f63';\r\n @Input() startPosition: 'right' | 'bottom' | 'left' | 'top' = 'right';\r\n @Input() endPosition: 'right' | 'bottom' | 'left' | 'top' = 'bottom';\r\n\r\n public collapsedRotation = AnimationPosition['right'];\r\n public expandedRotation = AnimationPosition['bottom'];\r\n\r\n constructor(@Host() @Optional() public wrapper: ExpandableWrapperComponent) { }\r\n\r\n ngOnInit(): void {\r\n this.collapsedRotation = AnimationPosition[this.startPosition];\r\n this.expandedRotation = AnimationPosition[this.endPosition];\r\n }\r\n}\r\n","<span class=\"expandable-arrow\" #arrow>\r\n <svg\r\n [@expandableArrow]=\"{\r\n value: (wrapper && wrapper.isExpanded$ | async) ? 'expanded' : 'collapsed',\r\n params: {\r\n collapsedRotation,\r\n expandedRotation\r\n }\r\n }\"\r\n id=\"icons_next\" data-name=\"icons/next\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\r\n <rect id=\"bg\" width=\"24\" height=\"24\" fill=\"none\"/>\r\n <path id=\"union\" d=\"M1597.541-4.4l-5.929-5.93a.742.742,0,0,1-.081-.07.747.747,0,0,1-.219-.536.747.747,0,0,1,.219-.535.751.751,0,0,1,.078-.068l5.932-5.932a.751.751,0,0,1,1.061,0,.751.751,0,0,1,0,1.061l-5.476,5.475,5.476,5.475a.751.751,0,0,1,0,1.061.749.749,0,0,1-.531.219A.749.749,0,0,1,1597.541-4.4Z\" transform=\"translate(1607.832 1.052) rotate(180)\" [attr.fill]=\"color\"/>\r\n </svg>\r\n</span>\r\n","import { Component, computed, input, Input, InputSignal } from '@angular/core';\r\nimport { BreakpointLibService } from '../services/breakpoint.service';\r\nimport { CountryCode, configs,FooterConfig, SectionItem } from './af-connect-footer.data';\r\n\r\nconst DEFAULT_COLOR = '#15808D'\r\n\r\n@Component({\r\n selector: 'lib-af-connect-footer',\r\n templateUrl: './af-connect-footer.component.html',\r\n styleUrls: ['./af-connect-footer.component.scss']\r\n})\r\nexport class AfConnectFooterComponent {\r\n constructor(public breakpointService: BreakpointLibService) { }\r\n\r\n @Input()\r\n config: FooterConfig | undefined = undefined;\r\n @Input() isBottomBannerHidden = false;\r\n @Input() isFooterContentHidden = false;\r\n @Input() backgroundColor = DEFAULT_COLOR;\r\n @Input() centered = false;\r\n\r\n @Input() set showCallMeBack(value: boolean) {\r\n //need to rewrie this\r\n const choosenConfig = this.choosenConfig();\r\n if (\r\n this.countryCode() == 'ZA' &&\r\n choosenConfig &&\r\n choosenConfig.sections &&\r\n choosenConfig.sections[1] &&\r\n choosenConfig.sections[1].sectionItems &&\r\n choosenConfig.sections[1].sectionItems[1]\r\n ) {\r\n choosenConfig.sections[1].sectionItems[1].isHidden = !value;\r\n\r\n if (choosenConfig.address && choosenConfig.address[0] && choosenConfig.address[0].sectionItems) {\r\n choosenConfig.address[0].sectionItems[0].bold = value;\r\n }\r\n\r\n if (choosenConfig.address && choosenConfig.address[1] && choosenConfig.address[1].sectionItems) {\r\n choosenConfig.address[1].sectionItems[0].bold = value;\r\n }\r\n\r\n if (value) {\r\n choosenConfig.sections[1].title = \"Customer Resources\";\r\n \r\n let temp = choosenConfig.sections[1].sectionItems[2];\r\n choosenConfig.sections[1].sectionItems[2] = choosenConfig.sections[1].sectionItems[3];\r\n choosenConfig.sections[1].sectionItems[3] = temp;\r\n }\r\n }\r\n }\r\n\r\n countryCode: InputSignal<CountryCode> = input<CountryCode>('ZA');\r\n\r\n choosenConfig = computed(() => {\r\n return this.config ? this.config : configs[this.countryCode()];\r\n })\r\n\r\n mobileAddress = computed(() => {\r\n const addressData: SectionItem[] | undefined = this.choosenConfig()?.address?.find(address => !address.title)?.sectionItems\r\n const titleString = addressData?.reduce((prev: string, curr: SectionItem, i) => {\r\n return `${prev}${i === 0 ? '' : ''}${i === 1 ? ' : ' : ''}${i > 1 ? ',' : ''} ${curr.title}`;\r\n }, '');\r\n return titleString || '';\r\n });\r\n\r\n openLegalTerms() {\r\n const legalTerms = this.choosenConfig()?.LegalTerms;\r\n if (legalTerms) {\r\n window.open(legalTerms, '_blank');\r\n }\r\n }\r\n \r\n openPrivacyPolicy() {\r\n const privacyPolicy = this.choosenConfig()?.PrivacyPolicy;\r\n if (privacyPolicy) {\r\n window.open(privacyPolicy, '_blank');\r\n }\r\n }\r\n\r\n openPaiaManual() {\r\n const paiaManual = this.choosenConfig()?.PaiaManual;\r\n if (paiaManual) {\r\n window.open(paiaManual, '_blank');\r\n }\r\n }\r\n\r\n getFooterStyling() {\r\n if (this.centered) {\r\n return {\r\n 'background-color': this.backgroundColor,\r\n 'grid-template-columns': 'repeat(4, minmax(190px, auto))',\r\n 'justify-content': 'center'\r\n }\r\n }\r\n\r\n return {\r\n 'background-color': this.backgroundColor,\r\n 'grid-template-columns': 'repeat(auto-fill, minmax(190px, auto))'\r\n }\r\n }\r\n}\r\n","\r\n<ng-container *ngIf=\"!isFooterContentHidden\"> \r\n <div *ngIf=\"!(breakpointService.isMobile$ | async)\" class=\"footer-container\" [ngStyle]=\"getFooterStyling()\">\r\n <div *ngFor=\"let section of choosenConfig().sections\" class=\"sections-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a *ngIf=\"!link.isHidden\" class=\"section-link\" [href]=\"link.link\" target=\"_blank\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n <div *ngFor=\"let address of choosenConfig().address\" class=\"sections-container address-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link address-link\" [ngStyle]=\"{'font-weight': link.bold ? '600' : '500','opacity': link.bold ? '90%' : '70%' }\">{{link.title}}</span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"breakpointService.isMobile$ | async\" class=\"footer-container\" [ngStyle]=\"{backgroundColor}\">\r\n <div *ngFor=\"let section of choosenConfig().sections\" class=\"sections-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"rgba(255,255,255, 0.7)\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a *ngIf=\"!link.isHidden\" class=\"section-link address-link\" [href]=\"link.link\" target=\"_blank\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n <div *ngFor=\"let address of choosenConfig().address\" [ngClass]=\"[address.title ? 'sections-container address-container' : '']\">\r\n <afc-expandable-wrapper *ngIf=\"address.title\">\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"rgba(255,255,255, 0.7)\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link\">{{link.title}}</span>\r\n </ng-container>\r\n <span class=\"section-link address-link\">{{ mobileAddress() }}</span>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n </div>\r\n</ng-container> \r\n\r\n<div class=\"bottom-banner-container\" [ngClass]=\"{'centered': centered}\">\r\n <div *ngIf=\"!isBottomBannerHidden\" class=\"bottom-banner\">\r\n <div class=\"banner-title\">\r\n {{choosenConfig().bannerTitle}}\r\n <span class=\"title-links\" (click)=\"openLegalTerms()\">Legal terms</span>\r\n <span class=\"title-spacer\">|</span>\r\n <span class=\"title-links\" (click)=\"openPrivacyPolicy()\">Privacy policy</span>\r\n <span class=\"title-spacer\">|</span>\r\n <span class=\"title-links\" (click)=\"openPaiaManual()\">PAIA manual</span>\r\n </div>\r\n \r\n <div class=\"social-container\">\r\n <a *ngIf=\"!choosenConfig().instagram?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().instagram?.link\" target=\"_blank\">\r\n <svg id=\"Group_888\" data-name=\"Group 888\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"15.676\" viewBox=\"0 0 15.618 15.676\">\r\n <path id=\"Path_8\" data-name=\"Path 8\" d=\"M21.327,13.4c1.039.037,2.115.037,3.154.074a5.31,5.31,0,0,1,2.6.668,3.937,3.937,0,0,1,1.892,2.746,21.051,21.051,0,0,1,.186,2.152c.037,1.558,0,3.117,0,4.675a7.553,7.553,0,0,1-.3,2.412,3.931,3.931,0,0,1-3.154,2.746,14.046,14.046,0,0,1-2.152.186c-1.559.037-3.08,0-4.638,0a7.553,7.553,0,0,1-2.412-.3,3.931,3.931,0,0,1-2.746-3.154,14.046,14.046,0,0,1-.186-2.152c-.037-1.558,0-3.117,0-4.675a7.553,7.553,0,0,1,.3-2.412,3.931,3.931,0,0,1,3.154-2.746,14.047,14.047,0,0,1,2.152-.186c.705-.037,1.41-.037,2.152-.037Zm6.42,7.681h0c-.037-.631-.037-1.225-.037-1.855a14.347,14.347,0,0,0-.111-1.781,2.653,2.653,0,0,0-2.226-2.486,9.8,9.8,0,0,0-2.078-.148c-1.336-.037-2.635-.037-3.97,0a11.414,11.414,0,0,0-1.967.148,2.616,2.616,0,0,0-2.226,1.93A5.813,5.813,0,0,0,14.945,18c-.037,1.41-.037,2.82-.037,4.23,0,.891.037,1.818.111,2.709a2.587,2.587,0,0,0,2.264,2.486,12.746,12.746,0,0,0,2.078.148c1.3.037,2.6,0,3.933,0a14.348,14.348,0,0,0,1.781-.111A2.594,2.594,0,0,0,26.6,26.87a2.848,2.848,0,0,0,1.039-2.264C27.71,23.493,27.71,22.306,27.747,21.081Z\" transform=\"translate(-13.556 -13.4)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_9\" data-name=\"Path 9\" d=\"M31.715,27.708a4.008,4.008,0,1,1-3.97-4.008A3.991,3.991,0,0,1,31.715,27.708Zm-4.008,2.6a2.6,2.6,0,1,0-2.6-2.6A2.581,2.581,0,0,0,27.708,30.3Z\" transform=\"translate(-19.936 -19.878)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_10\" data-name=\"Path 10\" d=\"M45.052,21.628a.951.951,0,0,1-.928.965.946.946,0,1,1,.928-.965Z\" transform=\"translate(-32.196 -17.991)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!choosenConfig().linkedIn?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().linkedIn?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"14.902\" viewBox=\"0 0 15.618 14.902\">\r\n <path id=\"Path_7\" data-name=\"Path 7\" d=\"M32.818,24.635V30.4H29.45V25.014c0-1.347-.463-2.273-1.684-2.273a1.868,1.868,0,0,0-1.726,1.221,2.278,2.278,0,0,0-.126.8V30.4H22.546s.042-9.135,0-10.061h3.368v1.431a.041.041,0,0,1-.042.042h.042v-.042a3.363,3.363,0,0,1,3.031-1.684c2.189,0,3.873,1.473,3.873,4.546ZM19.094,15.5A1.753,1.753,0,0,0,17.2,17.226a1.716,1.716,0,0,0,1.852,1.726h.042a1.729,1.729,0,0,0,1.894-1.726A1.777,1.777,0,0,0,19.094,15.5ZM17.368,30.4h3.326V20.341H17.368Zm0,0\" transform=\"translate(-17.2 -15.5)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!choosenConfig().facebook?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().facebook?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 7.235 15.618\">\r\n <path id=\"Path_13\" data-name=\"Path 13\" d=\"M31.967,21.909H29.785v7.809H26.531V21.909H25V19.153h1.531v-1.8A3.032,3.032,0,0,1,29.785,14.1H32.2v2.68H30.474a.679.679,0,0,0-.689.766v1.608h2.45Zm0,0\" transform=\"translate(-25 -14.1)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!choosenConfig().twitter?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().twitter?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.966\" height=\"15.618\" viewBox=\"0 0 15.966 15.618\">\r\n <path id=\"icons8-twitterx\" d=\"M19.846,19.618l-6.244-9.1.011.009L19.243,4H17.361L12.775,9.31,9.133,4H4.2l5.829,8.5h0L3.88,19.618H5.761l5.1-5.908,4.052,5.908ZM8.388,5.42,17.148,18.2H15.658L6.89,5.42Z\" transform=\"translate(-3.88 -4)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!choosenConfig().whatsapp?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().whatsapp?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.666\" height=\"15.676\" viewBox=\"0 0 15.666 15.676\">\r\n <path id=\"whatsapp-svgrepo-com\" d=\"M17.324,6.273A7.691,7.691,0,0,0,11.838,4,7.779,7.779,0,0,0,5.1,15.649L4,19.676,8.115,18.6a7.762,7.762,0,0,0,9.21-12.325ZM11.838,18.236a6.446,6.446,0,0,1-3.292-.9l-.235-.147-2.44.647.647-2.381-.157-.245a6.492,6.492,0,1,1,5.477,3.027Zm3.537-4.84c-.2-.1-1.146-.568-1.323-.627s-.314-.1-.441.1a8.822,8.822,0,0,1-.617.754c-.108.137-.225.147-.421,0a5.222,5.222,0,0,1-2.635-2.3c-.206-.343.2-.323.568-1.058a.372.372,0,0,0,0-.343c0-.1-.441-1.058-.6-1.44s-.314-.323-.441-.333H9.085a.7.7,0,0,0-.519.245,2.146,2.146,0,0,0-.647,1.656,3.742,3.742,0,0,0,.794,2.008,8.71,8.71,0,0,0,3.321,2.939,3.773,3.773,0,0,0,2.332.49,1.96,1.96,0,0,0,1.3-.921,1.587,1.587,0,0,0,.118-.921A1.368,1.368,0,0,0,15.375,13.4Z\" transform=\"translate(-4 -4)\" fill=\"#fff\"/>\r\n </svg>\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n QueryList\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { AfConnectRadioButtonComponent } from '../af-connect-radio-button/af-connect-radio-button.component';\r\nimport { RadioButtonLabelPosition, RadioButtonSize, RadioButtonVariant } from '../models/radio.model';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-radio-group',\r\n templateUrl: './af-connect-radio-group.component.html',\r\n styleUrls: ['./af-connect-radio-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AfConnectRadioGroupComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AfConnectRadioGroupComponent implements ControlValueAccessor {\r\n private _value: string | null;\r\n private _selected: AfConnectRadioButtonComponent | null = null;\r\n private _disabled: boolean = false;\r\n @Input() label: string;\r\n @Input() direction: 'row' | 'column' = 'row';\r\n @Input() withAsterisk: boolean = false;\r\n @Input() variant: RadioButtonVariant = 'default';\r\n @Input() labelPosition: RadioButtonLabelPosition = 'after';\r\n @Input() size: RadioButtonSize = 'inline';\r\n\r\n @Input()\r\n get value(): string | null {\r\n return this._value;\r\n }\r\n set value(newValue: string | null) {\r\n if (this._value !== newValue) {\r\n this._value = newValue;\r\n this.updateRadioButtonsState();\r\n this.propagateChange(this._value);\r\n this.valueChange.emit(this._value);\r\n }\r\n }\r\n\r\n @Input()\r\n get selected() {\r\n return this._selected;\r\n }\r\n set selected(newSelected: AfConnectRadioButtonComponent | null) {\r\n this._selected = newSelected;\r\n this.value = newSelected ? newSelected.value : null;\r\n }\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(newValue: boolean) {\r\n this._disabled = newValue;\r\n this.markRadiosForCheck();\r\n }\r\n\r\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter();\r\n @ContentChildren(forwardRef(() => AfConnectRadioButtonComponent), { descendants: true })\r\n radios: QueryList<AfConnectRadioButtonComponent>;\r\n\r\n propagateChange: Function = (_: string) => {};\r\n propagateTouch: Function = (_: string) => {};\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.propagateTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n emitChangeEvent(): void {\r\n this.valueChange.emit(this._value);\r\n }\r\n\r\n markRadiosForCheck() {\r\n if (this.radios) {\r\n this.radios.forEach((radio) => radio.markForCheck());\r\n }\r\n }\r\n\r\n private updateRadioButtonsState(): void {\r\n this.radios?.forEach((radio) => {\r\n radio.checked = this._value === radio.value;\r\n if (radio.checked) {\r\n this._selected = radio;\r\n }\r\n });\r\n }\r\n}\r\n","<span *ngIf=\"label\" class=\"label\">\r\n {{ label }}<span *ngIf=\"withAsterisk\" class=\"asterisk\">*</span>\r\n</span>\r\n<div class=\"radio-buttons-container\" [class.column]=\"direction === 'column'\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { AfConnectRadioGroupComponent } from '../af-connect-radio-group/af-connect-radio-group.component';\r\nimport { RadioButtonLabelPosition, RadioButtonSize, RadioButtonVariant } from '../models/radio.model';\r\n\r\n// Increasing integer for generating unique ids for all afc-radio-button instances.\r\nlet nextUniqueId = 0;\r\n\r\n@Component({\r\n selector: 'lib-af-connect-radio-button',\r\n templateUrl: './af-connect-radio-button.component.html',\r\n styleUrls: ['./af-connect-radio-button.component.scss']\r\n})\r\nexport class AfConnectRadioButtonComponent {\r\n private _uniqueId: string = `afc-radio-${++nextUniqueId}`;\r\n private _checked: boolean = false;\r\n private _disabled: boolean = false;\r\n private _variant: RadioButtonVariant = 'default';\r\n private _labelPosition: RadioButtonLabelPosition = 'after';\r\n private _size: RadioButtonSize = 'inline';\r\n\r\n @Input() id: string = this._uniqueId;\r\n @Input() value: string;\r\n @Input() itemOrder: 'left-to-right' | 'right-to-left' = 'left-to-right';\r\n\r\n @Input()\r\n get checked(): boolean {\r\n return this._checked;\r\n }\r\n set checked(newCheckedState: boolean) {\r\n if (this._checked !== newCheckedState) {\r\n this._checked = newCheckedState;\r\n if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {\r\n this.radioGroup.selected = this;\r\n }\r\n this.markForCheck();\r\n }\r\n }\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled || (this.radioGroup !== null && this.radioGroup.disabled);\r\n }\r\n set disabled(newValue: boolean) {\r\n this._disabled = newValue;\r\n }\r\n\r\n @ViewChild('input') inputElement: ElementRef<HTMLInputElement>;\r\n\r\n constructor(private radioGroup: AfConnectRadioGroupComponent, private changeDetector: ChangeDetectorRef) {}\r\n\r\n get inputId(): string {\r\n return `${this.id}-input`;\r\n }\r\n\r\n get variant(): RadioButtonVariant {\r\n return this._variant;\r\n }\r\n\r\n get labelPosition(): RadioButtonLabelPosition {\r\n return this._labelPosition;\r\n }\r\n\r\n get size(): RadioButtonSize {\r\n return this._size;\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.radioGroup) {\r\n this._variant = 'checkbox';\r\n }\r\n if (this.radioGroup) {\r\n this.checked = this.radioGroup.value === this.value;\r\n this._variant = this.radioGroup.variant;\r\n this._labelPosition = this.radioGroup.labelPosition;\r\n this._size = this.radioGroup.size;\r\n }\r\n }\r\n\r\n markForCheck() {\r\n this.changeDetector.markForCheck();\r\n }\r\n\r\n onTouchTargetClick(event: Event) {\r\n this.onChange(event);\r\n\r\n // Since the click comes from the touch target, we need\r\n // to focus the native input element manually.\r\n this.inputElement.nativeElement.focus();\r\n }\r\n\r\n onBlur(): void {\r\n this.radioGroup.propagateTouch();\r\n }\r\n\r\n onChange(event: Event) {\r\n event.stopPropagation();\r\n if (!this.checked && !this.disabled) {\r\n this.checked = true;\r\n }\r\n }\r\n}\r\n","<div\r\n class=\"field-container\"\r\n [ngClass]=\"{ 'label-before': labelPosition === 'before', 'size-box': size === 'box', checked: checked, disabled: disabled }\"\r\n [ngStyle]=\"{ 'flex-direction': itemOrder === 'left-to-right' ? 'row' : 'row-reverse' }\"\r\n>\r\n <div [ngClass]=\"['radio-container', variant]\">\r\n <input\r\n #input\r\n type=\"radio\"\r\n class=\"input\"\r\n [id]=\"inputId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [attr.value]=\"value\"\r\n (change)=\"onChange($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div class=\"touch-target\" (click)=\"onTouchTargetClick($event)\"></div>\r\n <div class=\"radio-visualization\">\r\n <span [class]=\"['outer-circle', variant]\"></span>\r\n <span *ngIf=\"variant === 'default'\" class=\"inner-circle\"></span>\r\n <span *ngIf=\"variant === 'checkbox' || variant === 'cube'\" class=\"check-mark\"></span>\r\n </div>\r\n </div>\r\n <label class=\"label\" [for]=\"inputId\">\r\n <ng-content></ng-content>\r\n </label>\r\n</div>\r\n","import { Component, HostListener, HostBinding, Output, EventEmitter, ElementRef, Input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { BreakpointLibService } from '../services/breakpoint.service';\r\nimport { UrlConfig } from '../models/url-config';\r\n\r\nexport enum UserType {\r\n Retail = 'Retail',\r\n Institutional = 'Institutional',\r\n Hybrid = 'Hybrid'\r\n}\r\n\r\nexport enum DashboardType {\r\n Investor = 'investor',\r\n Pensioner = 'pensioner'\r\n}\r\n\r\n@Component({\r\n selector: 'lib-af-connect-profile-dropdown',\r\n templateUrl: './af-connect-profile-dropdown.component.html',\r\n styleUrls: ['./af-connect-profile-dropdown.component.scss']\r\n})\r\nexport class AfConnectProfileDropdown {\r\n @Input() username = '';\r\n @Input() userType: UserType.Institutional | UserType.Retail;\r\n @Input() navUrls: UrlConfig[];\r\n @Input() disableNavUrls: boolean | null = false;\r\n @Input() hasSwitchIndicator: boolean;\r\n @Input() isHybrid: boolean;\r\n @Input() canEditProfile: boolean;\r\n @Input() hasDashboardSwitch: boolean;\r\n @Input() dashboardType: DashboardType;\r\n @HostBinding('class.has-dashboard-switch') get hasDashboardSwitchClass() { return this.hasDashboardSwitch; }\r\n @Output() editProfile = new EventEmitter<void>();\r\n @Output() callMeBack = new EventEmitter<void>();\r\n @Output() contactAdviser = new EventEmitter<void>();\r\n @Output() resetPassword = new EventEmitter<void>();\r\n @Output() logout = new EventEmitter<void>();\r\n @Output() switchUserType = new EventEmitter<UserType>();\r\n @Output() switchDashboardType = new EventEmitter<DashboardType>();\r\n\r\n showMenu = false;\r\n USER_TYPE = UserType;\r\n DASHBOARD_TYPE = DashboardType;\r\n\r\n constructor(private elementRef: ElementRef, private sanitizer: DomSanitizer, private router: Router, public breakpointService: BreakpointLibService) {}\r\n\r\n @HostListener('click', ['$event']) show(e: any) {\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n @HostListener('document:click', ['$event']) click(event: any) {\r\n const iconClick = this.elementRef.nativeElement.contains(event.target);\r\n const clickedOnUserTypeSwitch = event.target.closest('.user-type-switch') !== null;\r\n const clickedOnUserTypeSwitchOption = event.target.closest('.user-type-switch__option') !== null;\r\n const clickedOnDashboardSwitch = event.target.closest('.dashboard-switch') !== null;\r\n const clickedOnDashboardSwitchOption = event.target.closest('.dashboard-switch__option') !== null;\r\n\r\n this.showMenu = iconClick ? this.showMenu : (\r\n (clickedOnUserTypeSwitch && !clickedOnUserTypeSwitchOption) ||\r\n (clickedOnDashboardSwitch && !clickedOnDashboardSwitchOption)\r\n );\r\n }\r\n\r\n select(value: UserType.Institutional | UserType.Retail): void {\r\n if (this.userType !== value) {\r\n this.userType = value;\r\n this.showMenu = false;\r\n this.switchUserType.emit(value);\r\n }\r\n }\r\n\r\n selectDashboard(value: DashboardType): void {\r\n if (this.dashboardType !== value) {\r\n this.dashboardType = value;\r\n this.showMenu = false;\r\n this.switchDashboardType.emit(value);\r\n }\r\n }\r\n\r\n sanitizeSvg(svg: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(svg)\r\n }\r\n\r\n public navigateTo(url:string): void {\r\n if (this.disableNavUrls) {\r\n return;\r\n }\r\n \r\n this.showMenu = false;\r\n this.router.navigate([url]);\r\n }\r\n}\r\n","<ng-container *ngIf=\"hasDashboardSwitch; else roundIcon\">\r\n <div class=\"logo-content logo-content--switch\">\r\n <span class=\"logo-content--switch__label\">{{ dashboardType === DASHBOARD_TYPE.Pensioner ? 'Annuitant' : 'Investor' }}</span>\r\n <ng-container *ngTemplateOutlet=\"dashboardType === DASHBOARD_TYPE.Pensioner ? pensionerProfileIcon : investorProfileIcon\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #roundIcon>\r\n <span class=\"logo-content orange\">\r\n <ng-container *ngTemplateOutlet=\"!(breakpointService.isTablet$ | async) ? mobileIcon : desktopIcon\"></ng-container>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"showMenu\">\r\n <div class=\"dropdown-content\" [class.has-dashboard-switch]=\"hasDashboardSwitch\">\r\n <div *ngIf=\"hasDashboardSwitch\" class=\"dashboard-switch\">\r\n <lib-af-connect-radio-group variant=\"checkbox\" direction=\"column\" (valueChange)=\"selectDashboard($event)\">\r\n <div\r\n class=\"dashboard-switch__option\"\r\n (click)=\"selectDashboard(DASHBOARD_TYPE.Investor)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"investorIcon\"></ng-container>\r\n\r\n <lib-af-connect-radio-button ngClass=\"larger\" [value]=\"DASHBOARD_TYPE.Investor\" [checked]=\"dashboardType === DASHBOARD_TYPE.Investor\" itemOrder=\"right-to-left\">\r\n <span>Investor dashboard</span>\r\n </lib-af-connect-radio-button>\r\n </div>\r\n <div\r\n class=\"dashboard-switch__option\"\r\n (click)=\"selectDashboard(DASHBOARD_TYPE.Pensioner)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"pensionerIcon\"></ng-container>\r\n\r\n <lib-af-connect-radio-button ngClass=\"larger\" [value]=\"DASHBOARD_TYPE.Pensioner\" [checked]=\"dashboardType === DASHBOARD_TYPE.Pensioner\" itemOrder=\"right-to-left\">\r\n <span>Annuitant dashboard</span>\r\n </lib-af-connect-radio-button>\r\n </div>\r\n </lib-af-connect-radio-group>\r\n </div>\r\n <div (click)=\"callMeBack.emit()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\r\n <g id=\"call\" transform=\"translate(0 0)\">\r\n <path id=\"phone-1\" d=\"M19.976,17.549l-2.588-2.156a.694.694,0,0,0-.7-.037l-1.438.958a.91.91,0,0,1-.509.153,5.983,5.983,0,0,1-1.28-.18,7.724,7.724,0,0,1-5.754-5.752,5.977,5.977,0,0,1-.18-1.28.909.909,0,0,1,.153-.509l.959-1.437a.681.681,0,0,0-.037-.7L6.444,4.022a.427.427,0,0,0-.73,0L4.285,5.77a2.549,2.549,0,0,0-.4,2.035.909.909,0,0,1,.027.105,4.671,4.671,0,0,0,.142.5,11.685,11.685,0,0,0,.654,1.563,20.775,20.775,0,0,0,3.973,5.332A20.76,20.76,0,0,0,14.02,19.28a11.693,11.693,0,0,0,1.563.654,4.823,4.823,0,0,0,.5.142.909.909,0,0,1,.126.033,2.492,2.492,0,0,0,2.014-.4l1.747-1.429A.426.426,0,0,0,19.976,17.549Zm-4.3-3.706A2.5,2.5,0,0,1,18.552,14l2.589,2.156a2.235,2.235,0,0,1-.015,3.534l-1.747,1.428a4.29,4.29,0,0,1-3.695.735q-.338-.077-.667-.188a13.5,13.5,0,0,1-1.809-.755A22.583,22.583,0,0,1,7.4,16.594a22.579,22.579,0,0,1-4.314-5.806,13.488,13.488,0,0,1-.755-1.809A6.833,6.833,0,0,1,2.14,8.3a4.343,4.343,0,0,1,.738-3.683L4.307,2.873a2.238,2.238,0,0,1,3.535-.015L10,5.445a2.485,2.485,0,0,1,.153,2.871L9.366,9.494a5.374,5.374,0,0,0,.11.62,5.948,5.948,0,0,0,.922,2.052,5.868,5.868,0,0,0,1.43,1.43,5.952,5.952,0,0,0,2.053.921,5.277,5.277,0,0,0,.62.11l1.179-.785Z\" transform=\"translate(-2 -2)\" fill=\"#ef4f1f\"/>\r\n </g>\r\n </svg>\r\n <span>Call me back</span>\r\n </div>\r\n <div (click)=\"contactAdviser.emit()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21.5\" height=\"17.864\" viewBox=\"0 0 21.5 17.864\">\r\n <g id=\"Icons_UI_Contacts_Colour_\" data-name=\"Icons / UI / Contacts / Colour \" transform=\"translate(0.75 0.75)\">\r\n <rect id=\"Rectangle\" width=\"20\" height=\"16.364\" rx=\"3\" fill=\"none\" stroke=\"#ef4f1f\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-miterlimit=\"10\" stroke-width=\"1.5\"/>\r\n <path id=\"Line_3\" data-name=\"Line 3\" d=\"M.55.563l8.591,7.67\" transform=\"translate(0.859 0.858)\" fill=\"none\" stroke=\"#ef4f1f\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-miterlimit=\"10\" stroke-width=\"1.5\"/>\r\n <path id=\"Line_3-2\" data-name=\"Line 3\" d=\"M-1.409.563-10,8.233\" transform=\"translate(20 0.858)\" fill=\"none\" stroke=\"#ef4f1f\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-miterlimit=\"10\" stroke-width=\"1.5\"/>\r\n </g>\r\n </svg>\r\n <span>Contact adviser</span>\r\n </div>\r\n <div *ngIf=\"hasSwitchIndicator\" class=\"user-type-switch user-type-switch\">\r\n <div class=\"user-type-switch__btn-container\">\r\n <lib-af-connect-radio-group label=\"View as\" variant=\"checkbox\" direction=\"column\" (valueChange)=\"select($event)\">\r\n <div\r\n class=\"user-type-switch__option boxShadow\"\r\n (click)=\"select(USER_TYPE.Retail)\"\r\n >\r\n <div class=\"logo blue\">\r\n <ng-container *ngTemplateOutlet=\"desktopIcon\"></ng-container>\r\n </div>\r\n <lib-af-connect-radio-button ngClass=\"larger\" [value]=\"USER_TYPE.Retail\" [checked]=\"userType === USER_TYPE.Retail\" itemOrder=\"right-to-left\">\r\n <span>Individual/Retail</span>\r\n </lib-af-connect-radio-button>\r\n </div>\r\n <div\r\n class=\"user-type-switch__option boxShadow\"\r\n (click)=\"select(USER_TYPE.Institutional)\"\r\n >\r\n <div class=\"logo orange\">\r\n <ng-container *ngTemplateOutlet=\"institutional\"></ng-container>\r\n </div>\r\n <lib-af-connect-radio-button ngClass=\"larger\" [value]=\"USER_TYPE.Institutional\" [checked]=\"userType === USER_TYPE.Institutional\" itemOrder=\"right-to-left\">\r\n <span>Employee benefits</span>\r\n </lib-af-connect-radio-button>\r\n </div>\r\n </lib-af-connect-radio-group>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!(breakpointService.isTablet$ | async)\">\r\n <ng-container *ngFor=\"let url of navUrls\">\r\n <div class=\"navigation-item\" [class.disabled]=\"disableNavUrls\" (mousedown)=\"navigateTo(url.href!)\">\r\n <div *ngIf=\"!url.svg\" class=\"container\"></div>\r\n <ng-container *ngIf=\"url.svg\"><div class=\"container\" [innerHTML]=\"sanitizeSvg(url.svg)\"></div></ng-container>\r\n <span class=\"page-name bold\">{{url.name}}</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <div *ngIf=\"canEditProfile\" class=\"navigation-item\" [class.disabled]=\"disableNavUrls\" (click)=\"!disableNavUrls && editProfile.emit()\">\r\n <svg id=\"Icons_UI_Edit_Colour\" data-name=\"Icons / UI / Edit / Colour\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.494\" height=\"15.5\" viewBox=\"0 0 15.494 15.5\">\r\n <g id=\"Group_3\" data-name=\"Group 3\" transform=\"translate(0)\"><path id=\"Fill_1\" data-name=\"Fill 1\" d=\"M.837,15.5H.644a.648.648,0,0,1-.57-.346A.642.642,0,0,1,.03,14.66l1.55-4.554a.663.663,0,0,1,.161-.259L10.785.8a2.779,2.779,0,0,1,3.909,0V.836a2.787,2.787,0,0,1,0,3.908L5.65,13.788l-.258.162L.837,15.5Zm11.7-14.056a1.477,1.477,0,0,0-.844.264L2.776,10.688l-1.1,3.165,3.165-1.1L13.79,3.808l-.032-.032a1.486,1.486,0,0,0-1.223-2.331Z\" fill=\"#ef4f1f\"/></g>\r\n <path id=\"Path_22\" data-name=\"Path 22\" d=\"M.857.878,3.294,3.315\" transform=\"translate(2.393 8.871)\" fill=\"none\" stroke=\"#ef4f1f\" stroke-linejoin=\"round\" stroke-miterlimit=\"10\" stroke-width=\"2\"/>\r\n </svg> \r\n <span>My Login Details</span>\r\n </div>\r\n <div class=\"navigation-item\" (click)=\"resetPassword.emit()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"20.004\" viewBox=\"0 0 22 20.004\">\r\n <path id=\"Shape\" d=\"M12.522,20A9.882,9.882,0,0,1,2.484,10H.544a.552.552,0,0,1-.379-.944l3.024-3.1a.528.528,0,0,1,.77,0l3.024,3.1a.557.557,0,0,1-.39.944H4.652a7.679,7.679,0,0,0,7.7,7.778,7.782,7.782,0,0,0,7.48-7.667A7.692,7.692,0,0,0,12.24,2.222,7.481,7.481,0,0,0,8.511,3.233a1.035,1.035,0,0,1-1.279-.2,1.125,1.125,0,0,1,.217-1.744A9.617,9.617,0,0,1,12.24,0,9.9,9.9,0,0,1,22,10.289,10,10,0,0,1,12.522,20Z\" transform=\"translate(22 20.004) rotate(180)\" fill=\"#f15a22\"/>\r\n </svg>\r\n <span>Reset password</span>\r\n </div>\r\n <div class=\"navigation-item\" (click)=\"logout.emit()\">\r\n <svg id=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\r\n <rect id=\"bg\" width=\"20\" height=\"20\" fill=\"none\"/>\r\n <path id=\"path\" d=\"M9.21,9.273l2.758-2.758A.727.727,0,1,0,10.94,5.486l-4,4a.727.727,0,0,0,0,1.029l4,4a.727.727,0,1,0,1.029-1.029L9.21,10.727h8.066a.727.727,0,0,0,0-1.455Zm1.517-5.818a.727.727,0,1,0,0-1.455H3.821A1.82,1.82,0,0,0,2,3.821V16.179A1.821,1.821,0,0,0,3.821,18h6.906a.727.727,0,1,0,0-1.455H3.821a.366.366,0,0,1-.367-.366V3.821a.366.366,0,0,1,.367-.366Z\" transform=\"translate(-0.099)\" fill=\"#7f8991\"/>\r\n </svg>\r\n <span>Log Out</span> \r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #desktopIcon>\r\n <svg id=\"Group\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12.837\" height=\"13.693\" viewBox=\"0 0 12.837 13.693\">\r\n <path id=\"Oval\" d=\"M2.785-1A3.785,3.785,0,1,1-1,2.785,3.79,3.79,0,0,1,2.785-1Zm0,6.583a2.8,2.8,0,1,0-2.8-2.8A2.8,2.8,0,0,0,2.785,5.583Z\" transform=\"translate(3.633 1)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle\" d=\"M7.393,4.135A.494.494,0,0,1,6.9,3.641,3.712,3.712,0,0,0,3.14-.013H-.506A.494.494,0,0,1-1-.506.494.494,0,0,1-.506-1H3.14A4.7,4.7,0,0,1,7.887,3.641.494.494,0,0,1,7.393,4.135Z\" transform=\"translate(4.95 9.558)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle-2\" data-name=\"Rectangle\" d=\"M-12.506,4.135A.494.494,0,0,1-13,3.641,4.7,4.7,0,0,1-8.253-1h3.646a.494.494,0,0,1,.494.494.494.494,0,0,1-.494.494H-8.253a3.712,3.712,0,0,0-3.76,3.654A.494.494,0,0,1-12.506,4.135Z\" transform=\"translate(13 9.558)\" fill=\"#fff\"/>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #mobileIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.327\" height=\"10.095\" viewBox=\"0 0 15.327 10.095\">\r\n <path id=\"menu_24dp_1F1F1F_FILL0_wght200_GRAD0_opsz24\" d=\"M160-680.675v-.958h15.327v.958Zm0-4.569v-.958h15.327v.958Zm0-4.569v-.958h15.327v.958Z\" transform=\"translate(-160 690.77)\" fill=\"#fff\"/>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #institutional>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"15.384\" height=\"12.488\" viewBox=\"0 0 15.384 12.488\">\r\n <defs>\r\n <clipPath id=\"clip-path\">\r\n <rect id=\"Rectangle_1424\" data-name=\"Rectangle 1424\" width=\"15.383\" height=\"12.489\" transform=\"translate(0 0)\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1\"/>\r\n </clipPath>\r\n </defs>\r\n <g id=\"Group_10298\" data-name=\"Group 10298\" transform=\"translate(-0.952 -0.773)\">\r\n <g id=\"Group_10297\" data-name=\"Group 10297\" transform=\"translate(0.953 0.773)\" clip-path=\"url(#clip-path)\">\r\n <path id=\"Path_6080\" data-name=\"Path 6080\" d=\"M29.386,3.03a.346.346,0,0,1-.346-.346V1.32a.629.629,0,0,0-.628-.629H23.274a.629.629,0,0,0-.628.629V2.684a.346.346,0,1,1-.693,0V1.32A1.323,1.323,0,0,1,23.274,0h5.137A1.323,1.323,0,0,1,29.732,1.32V2.684A.346.346,0,0,1,29.386,3.03Z\" transform=\"translate(-18.151 0.001)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle_1423\" data-name=\"Rectangle 1423\" d=\"M-.933-2h13.25A1.068,1.068,0,0,1,13.384-.933V7.084a1.068,1.068,0,0,1-1.067,1.067H-.933A1.068,1.068,0,0,1-2,7.084V-.933A1.068,1.068,0,0,1-.933-2Zm13.25,9.458a.374.374,0,0,0,.374-.374V-.933a.374.374,0,0,0-.374-.374H-.933a.374.374,0,0,0-.374.374V7.084a.374.374,0,0,0,.374.374Z\" transform=\"translate(2 4.338)\" fill=\"#fff\"/>\r\n <path id=\"Line_324\" data-name=\"Line 324\" d=\"M12.712-1.307H-1.654A.346.346,0,0,1-2-1.654.346.346,0,0,1-1.654-2H12.712a.346.346,0,0,1,.346.346A.346.346,0,0,1,12.712-1.307Z\" transform=\"translate(2.037 8.087)\" fill=\"#fff\"/>\r\n <path id=\"Line_325\" data-name=\"Line 325\" d=\"M-1.654.223A.346.346,0,0,1-2-.124v-1.53A.346.346,0,0,1-1.654-2a.346.346,0,0,1,.346.346v1.53A.346.346,0,0,1-1.654.223Z\" transform=\"translate(12.888 7.318)\" fill=\"#fff\"/>\r\n <path id=\"Line_326\" data-name=\"Line 326\" d=\"M-1.654.223A.346.346,0,0,1-2-.124v-1.53A.346.346,0,0,1-1.654-2a.346.346,0,0,1,.346.346v1.53A.346.346,0,0,1-1.654.223Z\" transform=\"translate(5.802 7.318)\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #investorProfileIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"profile-switch-icon\" viewBox=\"15 14 32 32\">\r\n <g id=\"Group_15418_p\" transform=\"translate(15 14)\">\r\n <g transform=\"matrix(1, 0, 0, 1, -15, -14)\">\r\n <g id=\"Path_21459_p\" transform=\"translate(15 14)\" fill=\"#f69521\">\r\n <path d=\"M 16 31 C 11.9933500289917 31 8.226519584655762 29.43972969055176 5.393400192260742 26.60659980773926 C 2.560270071029663 23.77347946166992 1 20.00665092468262 1 16 C 1 11.9933500289917 2.560270071029663 8.226519584655762 5.393400192260742 5.393400192260742 C 8.226519584655762 2.560270071029663 11.9933500289917 1 16 1 C 20.00665092468262 1 23.77347946166992 2.560270071029663 26.60659980773926 5.393400192260742 C 29.43972969055176 8.226519584655762 31 11.9933500289917 31 16 C 31 20.00665092468262 29.43972969055176 23.77347946166992 26.60659980773926 26.60659980773926 C 23.77347946166992 29.43972969055176 20.00665092468262 31 16 31 Z\" stroke=\"none\"/>\r\n <path d=\"M 16 2 C 12.26045989990234 2 8.744749069213867 3.456249237060547 6.100500106811523 6.100500106811523 C 3.456249237060547 8.744749069213867 2 12.26045989990234 2 16 C 2 19.73954010009766 3.456249237060547 23.2552490234375 6.100500106811523 25.89949989318848 C 8.744749069213867 28.54375076293945 12.26045989990234 30 16 30 C 19.73954010009766 30 23.2552490234375 28.54375076293945 25.89949989318848 25.89949989318848 C 28.54375076293945 23.2552490234375 30 19.73954010009766 30 16 C 30 12.26045989990234 28.54375076293945 8.744749069213867 25.89949989318848 6.100500106811523 C 23.2552490234375 3.456249237060547 19.73954010009766 2 16 2 M 16 0 C 24.8365592956543 0 32 7.163440704345703 32 16 C 32 24.8365592956543 24.8365592956543 32 16 32 C 7.163440704345703 32 0 24.8365592956543 0 16 C 0 7.163440704345703 7.163440704345703 0 16 0 Z\" stroke=\"none\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n <g transform=\"translate(-41.01 244.242)\">\r\n <g transform=\"translate(50 -236)\">\r\n <path d=\"M15.706,50.57h0a.572.572,0,0,1-.57.57H13.07a.572.572,0,0,1-.57-.57h0a.572.572,0,0,1,.57-.57h2.065A.572.572,0,0,1,15.706,50.57Z\" transform=\"translate(-10.076 -35.739)\" fill=\"#fff\"/>\r\n <path d=\"M40.086,50.57h0a.572.572,0,0,1-.57.57H37.45a.572.572,0,0,1-.57-.57h0a.572.572,0,0,1,.57-.57h2.065A.572.572,0,0,1,40.086,50.57Z\" transform=\"translate(-27.502 -35.739)\" fill=\"#fff\"/>\r\n <path d=\"M5.426.285A1.141,1.141,0,0,0,4.285,1.426V13.405a1.141,1.141,0,0,0,1.141,1.141H17.405a1.141,1.141,0,0,0,1.141-1.141V1.426A1.141,1.141,0,0,0,17.405.285H5.426m0-.285H17.405a1.427,1.427,0,0,1,1.426,1.426V13.405a1.427,1.427,0,0,1-1.426,1.426H5.426A1.427,1.427,0,0,1,4,13.405V1.426A1.427,1.427,0,0,1,5.426,0Z\" transform=\"translate(-4)\" fill=\"#fff\"/>\r\n <path d=\"M8.426,3.285A1.141,1.141,0,0,0,7.285,4.426V14.694a1.141,1.141,0,0,0,1.141,1.141H18.694a1.141,1.141,0,0,0,1.141-1.141V4.426a1.141,1.141,0,0,0-1.141-1.141H8.426m0-.285H18.694A1.427,1.427,0,0,1,20.12,4.426V14.694a1.427,1.427,0,0,1-1.426,1.426H8.426A1.427,1.427,0,0,1,7,14.694V4.426A1.427,1.427,0,0,1,8.426,3Z\" transform=\"translate(-6.144 -2.144)\" fill=\"#fff\"/>\r\n <path d=\"M42.283,22A1.283,1.283,0,1,1,41,23.283,1.282,1.282,0,0,1,42.283,22Z\" transform=\"translate(-31.303 -15.868)\" fill=\"none\" stroke=\"#fff\" stroke-width=\"0.7\"/>\r\n <path d=\"M6.57,9h0a.572.572,0,0,1,.57.57v2.567a.572.572,0,0,1-.57.57h0a.572.572,0,0,1-.57-.57V9.57A.572.572,0,0,1,6.57,9Z\" transform=\"translate(-5.43 -6.433)\" fill=\"#fff\"/>\r\n <path d=\"M6.57,30h0a.572.572,0,0,1,.57.57v2.567a.572.572,0,0,1-.57.57h0a.572.572,0,0,1-.57-.57V30.57A.572.572,0,0,1,6.57,30Z\" transform=\"translate(-5.43 -21.444)\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #pensionerProfileIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"profile-switch-icon\" viewBox=\"15 14 32 32\">\r\n <g id=\"Group_15420_p\" transform=\"translate(15 14)\">\r\n <g transform=\"matrix(1, 0, 0, 1, -15, -14)\">\r\n <g id=\"Path_21472_p\" transform=\"translate(15 14)\" fill=\"#15808d\">\r\n <path d=\"M 16 31 C 11.9933500289917 31 8.226519584655762 29.43972969055176 5.393400192260742 26.60659980773926 C 2.560270071029663 23.77347946166992 1 20.00665092468262 1 16 C 1 11.9933500289917 2.560270071029663 8.226519584655762 5.393400192260742 5.393400192260742 C 8.226519584655762 2.560270071029663 11.9933500289917 1 16 1 C 20.00665092468262 1 23.77347946166992 2.560270071029663 26.60659980773926 5.393400192260742 C 29.43972969055176 8.226519584655762 31 11.9933500289917 31 16 C 31 20.00665092468262 29.43972969055176 23.77347946166992 26.60659980773926 26.60659980773926 C 23.77347946166992 29.43972969055176 20.00665092468262 31 16 31 Z\" stroke=\"none\"/>\r\n <path d=\"M 16 2 C 12.26045989990234 2 8.744749069213867 3.456249237060547 6.100500106811523 6.100500106811523 C 3.456249237060547 8.744749069213867 2 12.26045989990234 2 16 C 2 19.73954010009766 3.456249237060547 23.2552490234375 6.100500106811523 25.89949989318848 C 8.744749069213867 28.54375076293945 12.26045989990234 30 16 30 C 19.73954010009766 30 23.2552490234375 28.54375076293945 25.89949989318848 25.89949989318848 C 28.54375076293945 23.2552490234375 30 19.73954010009766 30 16 C 30 12.26045989990234 28.54375076293945 8.744749069213867 25.89949989318848 6.100500106811523 C 23.2552490234375 3.456249237060547 19.73954010009766 2 16 2 M 16 0 C 24.8365592956543 0 32 7.163440704345703 32 16 C 32 24.8365592956543 24.8365592956543 32 16 32 C 7.163440704345703 32 0 24.8365592956543 0 16 C 0 7.163440704345703 7.163440704345703 0 16 0 Z\" stroke=\"none\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n <g id=\"Portfolio_Icon_p\" transform=\"translate(-0.014 7.951)\">\r\n <path d=\"M49.257,42.8H36.163a1.716,1.716,0,0,1-1.8-1.615V31.01a.242.242,0,0,1,.48,0,1.12,1.12,0,0,0,1.173,1.054H49.257a1.085,1.085,0,0,1,1.138,1.022v2.667a.229.229,0,0,1-.24.215H45.485a1.6,1.6,0,0,0-1.082.406,1.288,1.288,0,0,0-.438.977A1.473,1.473,0,0,0,45.511,38.7h4.641a.229.229,0,0,1,.24.216v2.859A1.086,1.086,0,0,1,49.257,42.8ZM34.845,32.055V41.18a1.256,1.256,0,0,0,1.317,1.183H49.257a.627.627,0,0,0,.658-.591V39.131h-4.4a1.933,1.933,0,0,1-2.026-1.773,1.695,1.695,0,0,1,.576-1.286,2.105,2.105,0,0,1,1.424-.534h4.429V33.086a.627.627,0,0,0-.658-.591H36.019A1.747,1.747,0,0,1,34.845,32.055Z\" transform=\"translate(-26.426 -27.829)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M69.395,49.118H64.718a1.933,1.933,0,0,1-2.026-1.773,1.694,1.694,0,0,1,.576-1.286,2.1,2.1,0,0,1,1.424-.535h4.7a1.086,1.086,0,0,1,1.138,1.022V48.1a1.086,1.086,0,0,1-1.138,1.021Zm-4.7-3.162a1.6,1.6,0,0,0-1.082.406,1.288,1.288,0,0,0-.438.977,1.473,1.473,0,0,0,1.546,1.347h4.678a.628.628,0,0,0,.658-.591v-1.55a.628.628,0,0,0-.658-.591h-4.7Z\" transform=\"translate(-45.631 -37.816)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M37.763,29.805H36.016a1.494,1.494,0,1,1,0-2.97h6.345a.237.237,0,0,1,.231.157.206.206,0,0,1-.105.242l-4.6,2.539A.258.258,0,0,1,37.763,29.805Zm-1.747-2.539a1.06,1.06,0,1,0,0,2.108h1.678l3.818-2.108Z\" transform=\"translate(-26.424 -25.139)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M56.553,29.82H45.8a.233.233,0,0,1-.238-.186.217.217,0,0,1,.172-.237l8.617-2.2,1.33-.34a.245.245,0,0,1,.3.149l.805,2.54a.2.2,0,0,1-.039.189.25.25,0,0,1-.193.086Zm-9.027-.431h8.71l-.651-2.057Z\" transform=\"translate(-34.018 -25.154)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M44.862,26.254h-.445a.238.238,0,0,1-.231-.157.206.206,0,0,1,.105-.242l4.6-2.539,3.071-1.7a.258.258,0,0,1,.33.071l1.393,2.035a.2.2,0,0,1,.019.191.232.232,0,0,1-.158.129l-8.617,2.2A.279.279,0,0,1,44.862,26.254ZM52.008,22.1l-6.364,3.513,7.465-1.906Z\" transform=\"translate(-33.079 -21.588)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M67.51,50.355a.67.67,0,1,1,.741-.666.708.708,0,0,1-.741.666Zm0-.9a.237.237,0,1,0,.262.235.25.25,0,0,0-.262-.236Z\" transform=\"translate(-48.491 -40.185)\" fill=\"#fff\"/>\r\n <path d=\"M40.583,59.719V56.632c0-.142.011-.285,0-.427V56.2c0-.118-.383-.118-.383,0v3.088c0,.142-.011.284,0,.427v.006C40.2,59.836,40.583,59.837,40.583,59.719Z\" transform=\"translate(-30.379 -44.995)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #investorIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"32\" height=\"32\" viewBox=\"15 14 32 32\">\r\n <defs>\r\n <filter id=\"Path_21459\" x=\"0\" y=\"0\" width=\"62\" height=\"62\" filterUnits=\"userSpaceOnUse\">\r\n <feOffset dy=\"1\" input=\"SourceAlpha\"/>\r\n <feGaussianBlur stdDeviation=\"5\" result=\"blur\"/>\r\n <feFlood flood-opacity=\"0.161\"/>\r\n <feComposite operator=\"in\" in2=\"blur\"/>\r\n <feComposite in=\"SourceGraphic\"/>\r\n </filter>\r\n </defs>\r\n <g id=\"Group_15418\" data-name=\"Group 15418\" transform=\"translate(15 14)\">\r\n <g transform=\"matrix(1, 0, 0, 1, -15, -14)\" filter=\"url(#Path_21459)\">\r\n <g id=\"Path_21459-2\" data-name=\"Path 21459\" transform=\"translate(15 14)\" fill=\"#f69521\">\r\n <path d=\"M 16 31 C 11.9933500289917 31 8.226519584655762 29.43972969055176 5.393400192260742 26.60659980773926 C 2.560270071029663 23.77347946166992 1 20.00665092468262 1 16 C 1 11.9933500289917 2.560270071029663 8.226519584655762 5.393400192260742 5.393400192260742 C 8.226519584655762 2.560270071029663 11.9933500289917 1 16 1 C 20.00665092468262 1 23.77347946166992 2.560270071029663 26.60659980773926 5.393400192260742 C 29.43972969055176 8.226519584655762 31 11.9933500289917 31 16 C 31 20.00665092468262 29.43972969055176 23.77347946166992 26.60659980773926 26.60659980773926 C 23.77347946166992 29.43972969055176 20.00665092468262 31 16 31 Z\" stroke=\"none\"/>\r\n <path d=\"M 16 2 C 12.26045989990234 2 8.744749069213867 3.456249237060547 6.100500106811523 6.100500106811523 C 3.456249237060547 8.744749069213867 2 12.26045989990234 2 16 C 2 19.73954010009766 3.456249237060547 23.2552490234375 6.100500106811523 25.89949989318848 C 8.744749069213867 28.54375076293945 12.26045989990234 30 16 30 C 19.73954010009766 30 23.2552490234375 28.54375076293945 25.89949989318848 25.89949989318848 C 28.54375076293945 23.2552490234375 30 19.73954010009766 30 16 C 30 12.26045989990234 28.54375076293945 8.744749069213867 25.89949989318848 6.100500106811523 C 23.2552490234375 3.456249237060547 19.73954010009766 2 16 2 M 16 0 C 24.8365592956543 0 32 7.163440704345703 32 16 C 32 24.8365592956543 24.8365592956543 32 16 32 C 7.163440704345703 32 0 24.8365592956543 0 16 C 0 7.163440704345703 7.163440704345703 0 16 0 Z\" stroke=\"none\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n <g id=\"Layer_1\" data-name=\"Layer 1\" transform=\"translate(-41.01 244.242)\">\r\n <g id=\"Group_10898\" data-name=\"Group 10898\" transform=\"translate(50 -236)\">\r\n <g id=\"Group_10893\" data-name=\"Group 10893\" transform=\"translate(0)\">\r\n <path id=\"Rectangle_1510\" data-name=\"Rectangle 1510\" d=\"M15.706,50.57h0a.572.572,0,0,1-.57.57H13.07a.572.572,0,0,1-.57-.57h0a.572.572,0,0,1,.57-.57h2.065A.572.572,0,0,1,15.706,50.57Z\" transform=\"translate(-10.076 -35.739)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle_1511\" data-name=\"Rectangle 1511\" d=\"M40.086,50.57h0a.572.572,0,0,1-.57.57H37.45a.572.572,0,0,1-.57-.57h0a.572.572,0,0,1,.57-.57h2.065A.572.572,0,0,1,40.086,50.57Z\" transform=\"translate(-27.502 -35.739)\" fill=\"#fff\"/>\r\n <g id=\"Path_6177\" data-name=\"Path 6177\">\r\n <path id=\"Path_6179\" data-name=\"Path 6179\" d=\"M5.426.285A1.141,1.141,0,0,0,4.285,1.426V13.405a1.141,1.141,0,0,0,1.141,1.141H17.405a1.141,1.141,0,0,0,1.141-1.141V1.426A1.141,1.141,0,0,0,17.405.285H5.426m0-.285H17.405a1.427,1.427,0,0,1,1.426,1.426V13.405a1.427,1.427,0,0,1-1.426,1.426H5.426A1.427,1.427,0,0,1,4,13.405V1.426A1.427,1.427,0,0,1,5.426,0Z\" transform=\"translate(-4)\" fill=\"#fff\"/>\r\n </g>\r\n <path id=\"Rectangle_1507_-_Outline\" data-name=\"Rectangle 1507 - Outline\" d=\"M5.426.285A1.141,1.141,0,0,0,4.285,1.426V13.405a1.141,1.141,0,0,0,1.141,1.141H17.405a1.141,1.141,0,0,0,1.141-1.141V1.426A1.141,1.141,0,0,0,17.405.285H5.426m0-.285H17.405a1.427,1.427,0,0,1,1.426,1.426V13.405a1.427,1.427,0,0,1-1.426,1.426H5.426A1.427,1.427,0,0,1,4,13.405V1.426A1.427,1.427,0,0,1,5.426,0Z\" transform=\"translate(-4)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle_1506\" data-name=\"Rectangle 1506\" d=\"M8.426,3.285A1.141,1.141,0,0,0,7.285,4.426V14.694a1.141,1.141,0,0,0,1.141,1.141H18.694a1.141,1.141,0,0,0,1.141-1.141V4.426a1.141,1.141,0,0,0-1.141-1.141H8.426m0-.285H18.694A1.427,1.427,0,0,1,20.12,4.426V14.694a1.427,1.427,0,0,1-1.426,1.426H8.426A1.427,1.427,0,0,1,7,14.694V4.426A1.427,1.427,0,0,1,8.426,3Z\" transform=\"translate(-6.144 -2.144)\" fill=\"#fff\"/>\r\n <path id=\"Path_6176\" data-name=\"Path 6176\" d=\"M42.283,22A1.283,1.283,0,1,1,41,23.283,1.282,1.282,0,0,1,42.283,22Z\" transform=\"translate(-31.303 -15.868)\" fill=\"none\" stroke=\"#fff\" stroke-width=\"0.7\"/>\r\n <path id=\"Rectangle_1508\" data-name=\"Rectangle 1508\" d=\"M6.57,9h0a.572.572,0,0,1,.57.57v2.567a.572.572,0,0,1-.57.57h0a.572.572,0,0,1-.57-.57V9.57A.572.572,0,0,1,6.57,9Z\" transform=\"translate(-5.43 -6.433)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle_1509\" data-name=\"Rectangle 1509\" d=\"M6.57,30h0a.572.572,0,0,1,.57.57v2.567a.572.572,0,0,1-.57.57h0a.572.572,0,0,1-.57-.57V30.57A.572.572,0,0,1,6.57,30Z\" transform=\"translate(-5.43 -21.444)\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #pensionerIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"32\" height=\"32\" viewBox=\"15 14 32 32\">\r\n <defs>\r\n <filter id=\"Path_21472\" x=\"0\" y=\"0\" width=\"62\" height=\"62\" filterUnits=\"userSpaceOnUse\">\r\n <feOffset dy=\"1\" input=\"SourceAlpha\"/>\r\n <feGaussianBlur stdDeviation=\"5\" result=\"blur\"/>\r\n <feFlood flood-opacity=\"0.161\"/>\r\n <feComposite operator=\"in\" in2=\"blur\"/>\r\n <feComposite in=\"SourceGraphic\"/>\r\n </filter>\r\n </defs>\r\n <g id=\"Group_15420\" data-name=\"Group 15420\" transform=\"translate(15 14)\">\r\n <g transform=\"matrix(1, 0, 0, 1, -15, -14)\" filter=\"url(#Path_21472)\">\r\n <g id=\"Path_21472-2\" data-name=\"Path 21472\" transform=\"translate(15 14)\" fill=\"#15808d\">\r\n <path d=\"M 16 31 C 11.9933500289917 31 8.226519584655762 29.43972969055176 5.393400192260742 26.60659980773926 C 2.560270071029663 23.77347946166992 1 20.00665092468262 1 16 C 1 11.9933500289917 2.560270071029663 8.226519584655762 5.393400192260742 5.393400192260742 C 8.226519584655762 2.560270071029663 11.9933500289917 1 16 1 C 20.00665092468262 1 23.77347946166992 2.560270071029663 26.60659980773926 5.393400192260742 C 29.43972969055176 8.226519584655762 31 11.9933500289917 31 16 C 31 20.00665092468262 29.43972969055176 23.77347946166992 26.60659980773926 26.60659980773926 C 23.77347946166992 29.43972969055176 20.00665092468262 31 16 31 Z\" stroke=\"none\"/>\r\n <path d=\"M 16 2 C 12.26045989990234 2 8.744749069213867 3.456249237060547 6.100500106811523 6.100500106811523 C 3.456249237060547 8.744749069213867 2 12.26045989990234 2 16 C 2 19.73954010009766 3.456249237060547 23.2552490234375 6.100500106811523 25.89949989318848 C 8.744749069213867 28.54375076293945 12.26045989990234 30 16 30 C 19.73954010009766 30 23.2552490234375 28.54375076293945 25.89949989318848 25.89949989318848 C 28.54375076293945 23.2552490234375 30 19.73954010009766 30 16 C 30 12.26045989990234 28.54375076293945 8.744749069213867 25.89949989318848 6.100500106811523 C 23.2552490234375 3.456249237060547 19.73954010009766 2 16 2 M 16 0 C 24.8365592956543 0 32 7.163440704345703 32 16 C 32 24.8365592956543 24.8365592956543 32 16 32 C 7.163440704345703 32 0 24.8365592956543 0 16 C 0 7.163440704345703 7.163440704345703 0 16 0 Z\" stroke=\"none\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n <g id=\"Portfolio_Icon\" data-name=\"Portfolio Icon\" transform=\"translate(-0.014 7.951)\">\r\n <path id=\"Path_6468\" data-name=\"Path 6468\" d=\"M49.257,42.8H36.163a1.716,1.716,0,0,1-1.8-1.615V31.01a.242.242,0,0,1,.48,0,1.12,1.12,0,0,0,1.173,1.054H49.257a1.085,1.085,0,0,1,1.138,1.022v2.667a.229.229,0,0,1-.24.215H45.485a1.6,1.6,0,0,0-1.082.406,1.288,1.288,0,0,0-.438.977A1.473,1.473,0,0,0,45.511,38.7h4.641a.229.229,0,0,1,.24.216v2.859A1.086,1.086,0,0,1,49.257,42.8ZM34.845,32.055V41.18a1.256,1.256,0,0,0,1.317,1.183H49.257a.627.627,0,0,0,.658-.591V39.131h-4.4a1.933,1.933,0,0,1-2.026-1.773,1.695,1.695,0,0,1,.576-1.286,2.105,2.105,0,0,1,1.424-.534h4.429V33.086a.627.627,0,0,0-.658-.591H36.019A1.747,1.747,0,0,1,34.845,32.055Z\" transform=\"translate(-26.426 -27.829)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6469\" data-name=\"Path 6469\" d=\"M69.395,49.118H64.718a1.933,1.933,0,0,1-2.026-1.773,1.694,1.694,0,0,1,.576-1.286,2.1,2.1,0,0,1,1.424-.535h4.7a1.086,1.086,0,0,1,1.138,1.022V48.1a1.086,1.086,0,0,1-1.138,1.021Zm-4.7-3.162a1.6,1.6,0,0,0-1.082.406,1.288,1.288,0,0,0-.438.977,1.473,1.473,0,0,0,1.546,1.347h4.678a.628.628,0,0,0,.658-.591v-1.55a.628.628,0,0,0-.658-.591h-4.7Z\" transform=\"translate(-45.631 -37.816)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6470\" data-name=\"Path 6470\" d=\"M37.763,29.805H36.016a1.494,1.494,0,1,1,0-2.97h6.345a.237.237,0,0,1,.231.157.206.206,0,0,1-.105.242l-4.6,2.539A.258.258,0,0,1,37.763,29.805Zm-1.747-2.539a1.06,1.06,0,1,0,0,2.108h1.678l3.818-2.108Z\" transform=\"translate(-26.424 -25.139)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6471\" data-name=\"Path 6471\" d=\"M56.553,29.82H45.8a.233.233,0,0,1-.238-.186.217.217,0,0,1,.172-.237l8.617-2.2,1.33-.34a.245.245,0,0,1,.3.149l.805,2.54a.2.2,0,0,1-.039.189.25.25,0,0,1-.193.086Zm-9.027-.431h8.71l-.651-2.057Z\" transform=\"translate(-34.018 -25.154)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6472\" data-name=\"Path 6472\" d=\"M44.862,26.254h-.445a.238.238,0,0,1-.231-.157.206.206,0,0,1,.105-.242l4.6-2.539,3.071-1.7a.258.258,0,0,1,.33.071l1.393,2.035a.2.2,0,0,1,.019.191.232.232,0,0,1-.158.129l-8.617,2.2A.279.279,0,0,1,44.862,26.254ZM52.008,22.1l-6.364,3.513,7.465-1.906Z\" transform=\"translate(-33.079 -21.588)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6473\" data-name=\"Path 6473\" d=\"M67.51,50.355a.67.67,0,1,1,.741-.666.708.708,0,0,1-.741.666Zm0-.9a.237.237,0,1,0,.262.235.25.25,0,0,0-.262-.236Z\" transform=\"translate(-48.491 -40.185)\" fill=\"#fff\"/>\r\n <path id=\"Path_6474\" data-name=\"Path 6474\" d=\"M40.583,59.719V56.632c0-.142.011-.285,0-.427V56.2c0-.118-.383-.118-.383,0v3.088c0,.142-.011.284,0,.427v.006C40.2,59.836,40.583,59.837,40.583,59.719Z\" transform=\"translate(-30.379 -44.995)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\r\nimport { DashboardType, UserType } from '../af-connect-profile-dropdown/af-connect-profile-dropdown.component';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { filter } from 'rxjs';\r\nimport { UrlConfig } from '../models/url-config';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-header',\r\n templateUrl: './af-connect-header.component.html',\r\n styleUrls: ['./af-connect-header.component.scss'],\r\n})\r\nexport class AfConnectHeaderComponent {\r\n @Input() username = '';\r\n @Input() activeRoute = '';\r\n @Input() navUrls: UrlConfig[] = [];\r\n @Input() disableNavUrls: boolean | null = false;\r\n @Input() isLogoHidden = false;\r\n @Input() userType: UserType.Institutional | UserType.Retail;\r\n @Input() hasSwitchIndicator: boolean;\r\n @Input() isHybrid: boolean;\r\n @Input() canEditProfile: boolean;\r\n @Input() hasDashboardSwitch: boolean;\r\n @Input() dashboardType: DashboardType;\r\n @Output() editProfile = new EventEmitter<void>();\r\n @Output() callMeBack = new EventEmitter<void>();\r\n @Output() contactAdviser = new EventEmitter<void>();\r\n @Output() resetPassword = new EventEmitter<void>();\r\n @Output() logout = new EventEmitter<void>();\r\n @Output() switchUserType = new EventEmitter<UserType>();\r\n @Output() navigate = new EventEmitter<string>();\r\n @Output() switchDashboardType = new EventEmitter<DashboardType>();\r\n\r\n USER_TYPE = UserType;\r\n constructor(private router: Router) {\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd)\r\n ).subscribe(() => {\r\n const urlSegments = this.router.url.split('/');\r\n this.activeRoute = urlSegments[urlSegments.length - 1];\r\n });\r\n }\r\n\r\n public refresh(): void {\r\n window.location.reload();\r\n }\r\n\r\n public switch(type: UserType): void {\r\n this.switchUserType.emit(type);\r\n }\r\n\r\n public switchDashboard(type: DashboardType): void {\r\n this.switchDashboardType.emit(type);\r\n }\r\n\r\n public navigateTo(url: string): void {\r\n if (this.disableNavUrls) {\r\n return;\r\n }\r\n\r\n const urlConfig = this.navUrls.find(u => u.href === url);\r\n if (urlConfig?.isExternal) {\r\n window.open(url, '_self');\r\n return;\r\n }\r\n\r\n this.activeRoute = url;\r\n this.navigate.emit(url);\r\n }\r\n\r\n isActive(route: string): boolean {\r\n return this.activeRoute.includes(route)\r\n }\r\n}\r\n","<svg class=\"logo\" (click)=\"navigateTo('dashboard')\"xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 592.39 132.62\">\r\n <defs>\r\n <style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:#f15b25;}.cls-3{fill:#1a808d;}</style>\r\n <linearGradient id=\"linear-gradient\" x1=\"254.64\" y1=\"41.32\" x2=\"604.45\" y2=\"41.32\" gradientUnits=\"userSpaceOnUse\">\r\n <stop offset=\"0\" stop-color=\"#1a808d\"/>\r\n <stop offset=\"1\"/>\r\n </linearGradient>\r\n </defs>\r\n <g id=\"Layer_2\" data-name=\"Layer 2\">\r\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\r\n <path class=\"cls-1\" d=\"M32.59,53.64c0-17.53,12.08-29.31,24.45-29.31a20.54,20.54,0,0,1,17.53,9.31l1.78-7.82H92V81.16H76.35l-1.78-7.82A20.53,20.53,0,0,1,57,82.64C44.67,82.64,32.59,70.86,32.59,53.64Zm41.28-.1c0-7.43-4.75-12.77-11.18-12.77C56,40.77,51.2,46.41,51.2,53.54S56,66.21,62.69,66.21C69.12,66.21,73.87,60.86,73.87,53.54ZM103.85,0h18.41V81.16H103.85ZM187.1,58.49H150.77c2.47,6.63,9,9.9,16.53,9.9,6,0,11.59-2.08,16.64-4.85V78.09a39.5,39.5,0,0,1-19.11,4.55c-20.3,0-31.68-12.27-31.68-29,0-17.43,12.27-29.31,28.21-29.31,14.46,0,26.24,9.8,26.24,28.22A35.8,35.8,0,0,1,187.1,58.49Zm-16.93-10.6c-.19-5.54-3.66-9.3-8.91-9.3-5,0-9.4,3.56-10.89,9.3Zm61.77,5,19,28.32h-20.8l-9.3-15.94h-.2l-9.31,15.94h-19.8l18.72-27.62L191.74,25.82h20.1l9.21,15.93h.19l9.21-15.93h19.8ZM264.26,41h-7.43V25.82h7.53V21.26C264.36,11,271.88.57,287.13.57a38,38,0,0,1,11.09,1.58V17.5a23.35,23.35,0,0,0-7.63-1.19c-5.34,0-8.21,1.88-8.21,6.24v3.27h14.15V41H282.67v40.2H264.26Zm38,12.48c0-17.43,13.17-29.11,29.7-29.11s29.5,11.68,29.5,29.11S348.6,82.64,332,82.64,302.27,70.76,302.27,53.44Zm40.69,0c0-8.12-5.45-12.67-11-12.67s-11.09,4.55-11.09,12.67S326.33,66.21,332,66.21,343,61.56,343,53.44Zm29-27.62h14.65l1.78,8.11h.2a16.67,16.67,0,0,1,14.85-8.71,13.89,13.89,0,0,1,4.26.5V42.84a20.69,20.69,0,0,0-4.85-.59c-6.44,0-12.48,3.37-12.48,13.46V81.16H371.93Zm62.45,7.52c3.27-5.25,10.1-9,17.13-9,12.77,0,23.86,11.39,23.86,29.21s-11.88,29.1-24.75,29.1a20.84,20.84,0,0,1-17.33-9.3l-1.68,7.82H416V.14h18.41Zm-.2,20.2c0,7.42,4.65,12.67,11.19,12.67s11.38-5.45,11.38-12.57S452,40.77,445.27,40.77C438.83,40.77,434.18,46.11,434.18,53.54Zm103.3,5H501.14c2.48,6.63,9,9.9,16.54,9.9,6,0,11.58-2.08,16.63-4.85V78.09a39.48,39.48,0,0,1-19.11,4.55c-20.29,0-31.68-12.27-31.68-29,0-17.43,12.28-29.31,28.22-29.31,14.45,0,26.23,9.8,26.23,28.22A37,37,0,0,1,537.48,58.49Zm-16.93-10.6c-.2-5.54-3.67-9.3-8.91-9.3-5.05,0-9.41,3.56-10.89,9.3Zm67.66-19.4V43.64a35.12,35.12,0,0,0-17-4.56c-4.26,0-6.63,1.19-6.63,3.27s2.67,3.27,8.51,4.65C582.27,49.18,592,52.45,592,64.23c0,11.29-8.91,18.41-24.65,18.41-8.22,0-15.15-2-19.9-4.85V61.46a31.35,31.35,0,0,0,19.11,6.43c4.85,0,7.62-1.29,7.62-3.56,0-2.58-3.46-3.37-10.4-5.35-8.61-2.37-16.83-6.24-16.83-16.43,0-10.5,8.52-18.22,23.47-18.22C576.92,24.33,583.75,25.91,588.21,28.49Z\"/>\r\n <circle class=\"cls-2\" cx=\"10.86\" cy=\"34.87\" r=\"10.86\" transform=\"translate(-15.07 9.15) rotate(-27.94)\"/>\r\n <circle class=\"cls-2\" cx=\"10.86\" cy=\"71.4\" r=\"10.86\" transform=\"translate(-32.19 13.41) rotate(-27.94)\"/>\r\n <circle class=\"cls-3\" cx=\"368.84\" cy=\"117.24\" r=\"2.98\"/>\r\n <path class=\"cls-2\" d=\"M264,105.54a2,2,0,1,1,2,1.93A1.92,1.92,0,0,1,264,105.54Zm.29,5h3.39v15.69h-3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M285.22,115.78v10.43h-3.39v-9.34c0-2.42-1.1-3.56-3.19-3.56a3.34,3.34,0,0,0-3.45,3.42v9.48h-3.4V110.52h2.62l.37,2.33h.09a5.58,5.58,0,0,1,4.77-2.71C283.06,110.14,285.22,112.33,285.22,115.78Z\"/>\r\n <path class=\"cls-2\" d=\"M299.46,111.47v3.1a7.88,7.88,0,0,0-4.71-1.52c-1.79,0-2.76.69-2.76,1.78s1.17,1.61,3.16,2.18c2.47.66,5.23,1.5,5.23,4.72,0,3-2.33,4.86-6.21,4.86a9.11,9.11,0,0,1-5.49-1.67v-3.34a7.88,7.88,0,0,0,5.38,2.13c1.92,0,3-.8,3-1.95,0-1.3-1.35-1.73-3.5-2.39-2.56-.75-4.89-1.67-4.89-4.46s2.24-4.77,5.95-4.77A8.9,8.9,0,0,1,299.46,111.47Z\"/>\r\n <path class=\"cls-2\" d=\"M303.29,105.54a2,2,0,1,1,2,1.93A1.92,1.92,0,0,1,303.29,105.54Zm.29,5H307v15.69h-3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M322.53,113.1l.37-2.58h2.82v14.14c0,5.17-3.65,8-8.13,8a10.29,10.29,0,0,1-5.9-1.9V127.3a8.84,8.84,0,0,0,5.67,2.27c2.78,0,5-1.78,5-4.45v-2a6.05,6.05,0,0,1-5.17,2.81c-3.68,0-7.05-3.16-7.05-7.87s3.42-7.88,7.1-7.88A6.24,6.24,0,0,1,322.53,113.1Zm-9,5a4.48,4.48,0,1,0,8.92-.09,4.5,4.5,0,0,0-4.46-4.74A4.58,4.58,0,0,0,313.5,118.08Z\"/>\r\n <path class=\"cls-2\" d=\"M333.23,112.27h.06a5.37,5.37,0,0,1,4.36-2.13c3.43,0,5.61,2,5.61,5.67v10.4h-3.39v-9.37c0-2.41-1-3.59-3.16-3.59a3.22,3.22,0,0,0-3.48,3.39v9.57h-3.39v-23h3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M351.15,110.52h4.34v2.87h-4.34v7c0,2.24,1.38,3.16,3.28,3.16a9.45,9.45,0,0,0,1.41-.14v2.9a10.36,10.36,0,0,1-2.1.2c-3.71,0-5.92-2.21-5.92-6v-7.13h-2.3v-2.87h2.35v-3.65h3.28Z\"/>\r\n <path class=\"cls-2\" d=\"M380.9,118.39c0-5,3.45-8.25,7-8.25a6.17,6.17,0,0,1,5.43,3.08l.38-2.7h2.81v15.69h-2.81l-.38-2.7a6.17,6.17,0,0,1-5.43,3.08C384.35,126.59,380.9,123.34,380.9,118.39Zm12.36,0c0-3-2-5.11-4.46-5.11s-4.51,2.12-4.51,5.11,2,5.12,4.51,5.12S393.26,121.38,393.26,118.36Z\"/>\r\n <path class=\"cls-2\" d=\"M399.81,118.36c0-5,3.39-8.22,7.07-8.22a5.94,5.94,0,0,1,5.23,2.94v-9.89h3.39v23h-2.81l-.41-2.7a6.11,6.11,0,0,1-5.37,3.08C403.23,126.59,399.81,123.39,399.81,118.36Zm12.36,0c0-3-2-5.11-4.46-5.11s-4.48,2.12-4.48,5.11,1.92,5.12,4.48,5.12S412.17,121.38,412.17,118.36Z\"/>\r\n <path class=\"cls-2\" d=\"M417.88,110.52h3.62l3.94,12h.09l3.94-12H433l-5.72,15.69H423.6Z\"/>\r\n <path class=\"cls-2\" d=\"M435.05,105.54a2,2,0,1,1,2,1.93A1.92,1.92,0,0,1,435.05,105.54Zm.29,5h3.39v15.69h-3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M450.28,123.48a6.72,6.72,0,0,0,4.08-1.24v3.25a9,9,0,0,1-4.45,1.1,8.23,8.23,0,0,1,0-16.45,8.38,8.38,0,0,1,4.45,1.12v3.28a6.75,6.75,0,0,0-4.11-1.29,5.12,5.12,0,0,0,0,10.23Z\"/>\r\n <path class=\"cls-2\" d=\"M471.18,119.4H459.91a5.07,5.07,0,0,0,5.32,4.37,8.23,8.23,0,0,0,5.11-1.87v3a9.54,9.54,0,0,1-5.46,1.64c-5.14,0-8.25-3.34-8.25-8.17,0-5,3.51-8.28,7.71-8.28,3.79,0,6.92,2.73,6.92,7.94A8.91,8.91,0,0,1,471.18,119.4ZM468,117.13c-.08-2.79-1.78-4.17-3.73-4.17a4.56,4.56,0,0,0-4.43,4.17Z\"/>\r\n <path class=\"cls-2\" d=\"M497.53,105.54a2,2,0,1,1,2,1.93A1.93,1.93,0,0,1,497.53,105.54Zm.29,5h3.39v15.69h-3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M526.55,115.78v10.43h-3.39v-9.83c0-2-.78-3.07-2.65-3.07a2.86,2.86,0,0,0-2.9,3v9.89h-3.39v-9.83c0-2-.78-3.07-2.65-3.07a2.91,2.91,0,0,0-2.87,3.19v9.71h-3.39V110.52h2.61l.38,2.27h.08a4.77,4.77,0,0,1,4.26-2.65,4.46,4.46,0,0,1,4.4,2.73,5,5,0,0,1,4.51-2.73C525,110.14,526.55,112.44,526.55,115.78Z\"/>\r\n <path class=\"cls-2\" d=\"M530.59,110.52h2.82l.37,2.7a6.14,6.14,0,0,1,5.37-3.08c3.71,0,7.13,3.22,7.13,8.22s-3.36,8.23-7,8.23a6.13,6.13,0,0,1-5.26-2.94v8.6h-3.39Zm12.27,7.82c0-3-2-5.09-4.48-5.09s-4.46,2.1-4.46,5.11,1.93,5.12,4.43,5.12S542.86,121.38,542.86,118.34Z\"/>\r\n <path class=\"cls-2\" d=\"M548.66,118.39c0-5,3.45-8.25,7-8.25a6.17,6.17,0,0,1,5.43,3.08l.38-2.7h2.81v15.69h-2.81l-.38-2.7a6.17,6.17,0,0,1-5.43,3.08C552.11,126.59,548.66,123.34,548.66,118.39Zm12.36,0c0-3-2-5.11-4.46-5.11s-4.51,2.12-4.51,5.11,2,5.12,4.51,5.12S561,121.38,561,118.36Z\"/>\r\n <path class=\"cls-2\" d=\"M575.92,123.48a6.74,6.74,0,0,0,4.08-1.24v3.25a9,9,0,0,1-4.45,1.1,8.23,8.23,0,0,1,0-16.45,8.38,8.38,0,0,1,4.45,1.12v3.28a6.77,6.77,0,0,0-4.11-1.29,5.12,5.12,0,0,0,0,10.23Z\"/>\r\n <path class=\"cls-2\" d=\"M587.7,110.52H592v2.87H587.7v7c0,2.24,1.38,3.16,3.28,3.16a9.45,9.45,0,0,0,1.41-.14v2.9a10.36,10.36,0,0,1-2.1.2c-3.71,0-5.92-2.21-5.92-6v-7.13h-2.3v-2.87h2.36v-3.65h3.27Z\"/>\r\n <circle class=\"cls-3\" cx=\"483.77\" cy=\"117.24\" r=\"2.98\"/>\r\n </g>\r\n </g>\r\n</svg>\r\n\r\n<div class=\"header-menu\">\r\n <ng-container *ngFor=\"let url of navUrls\">\r\n <div [ngClass]=\"{ active: isActive(url.href), disabled: disableNavUrls }\" (mousedown)=\"navigateTo(url.href) \">{{ url.name }}</div>\r\n </ng-container>\r\n</div>\r\n\r\n<div id=\"header-profile\">\r\n <lib-af-connect-profile-dropdown\r\n *ngIf=\"!isLogoHidden\"\r\n [navUrls]=\"navUrls\"\r\n [disableNavUrls]=\"disableNavUrls\"\r\n [username]=\"username\"\r\n [userType]=\"userType\"\r\n [hasSwitchIndicator]=\"hasSwitchIndicator\"\r\n [isHybrid]=\"isHybrid\"\r\n [canEditProfile]=\"canEditProfile\"\r\n [hasDashboardSwitch]=\"hasDashboardSwitch\"\r\n [dashboardType]=\"dashboardType\"\r\n (editProfile)=\"editProfile.emit()\"\r\n (callMeBack)=\"callMeBack.emit()\"\r\n (contactAdviser)=\"contactAdviser.emit()\"\r\n (resetPassword)=\"resetPassword.emit()\"\r\n (logout)=\"logout.emit()\"\r\n (switchUserType)=\"switch($event)\"\r\n (switchDashboardType)=\"switchDashboard($event)\"\r\n >\r\n </lib-af-connect-profile-dropdown>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n/**\r\n * Gets the initials of a Name (First Second -> FS)\r\n */\r\n@Pipe({ name: 'getInitials' })\r\nexport class GetinItialsPipe implements PipeTransform {\r\n transform(value: string | undefined): string {\r\n if (!value) {\r\n return '';\r\n }\r\n return value.split(' ').map(word => word.charAt(0)).join('').slice(0, 2);\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { FaqItem } from '../faqItem';\r\n\r\n@Component({\r\n selector: 'lib-faq-item',\r\n templateUrl: './faq-item.component.html',\r\n styleUrls: ['./faq-item.component.scss']\r\n})\r\nexport class FaqItemComponent {\r\n @Input()\r\n faqItem: FaqItem;\r\n}\r\n","<div class=\"item-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{faqItem.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"#124E57\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"expanded-info\">\r\n {{faqItem.description}}\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { FaqItem } from '../faqItem';\r\n\r\n@Component({\r\n selector: 'lib-faq',\r\n templateUrl: './faq.component.html',\r\n styleUrls: ['./faq.component.scss']\r\n})\r\nexport class FaqComponent {\r\n @Input()\r\n faqItems: FaqItem[] = [];\r\n @Input()\r\n fallBackImageSrc: string;\r\n imageSrc: string = '/assets/images/FAQ_image.png';\r\n}\r\n","<div class=\"faq-container\">\r\n <div class=\"item-container\">\r\n <ng-container *ngFor=\"let item of faqItems\">\r\n <lib-faq-item [faqItem]=\"item\"></lib-faq-item>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { Directive, Component, Input, ContentChild, ElementRef } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\n\r\n@Directive({ selector: '[imgWithFallback]' })\r\nexport class ImageWithFallbackDirective {\r\n constructor(public el: ElementRef) { }\r\n}\r\n\r\nenum ImageState {\r\n loading = 'loading',\r\n error = 'error',\r\n loaded = 'loaded'\r\n}\r\n\r\n@Component({\r\n selector: 'img-with-fallback',\r\n template: `\r\n <ng-container *ngIf=\"loaded\">\r\n <ng-content select=\"[imgWithFallback]\" [style.visibility]=\"loaded\"></ng-content>\r\n </ng-container>\r\n <div *ngIf=\"loading\">\r\n <ng-content select=\".loading\"></ng-content>\r\n </div>\r\n <div *ngIf=\"error\">\r\n <ng-content select=\".error\"></ng-content>\r\n </div>\r\n `,\r\n styles: []\r\n})\r\nexport class ImageWithFallbackComponent {\r\n @ContentChild(ImageWithFallbackDirective) image: ImageWithFallbackDirective;\r\n\r\n private state: ImageState = ImageState.loading;\r\n\r\n get loaded() {\r\n return this.state === ImageState.loaded;\r\n }\r\n\r\n get loading() {\r\n return this.state === ImageState.loading;\r\n }\r\n\r\n get error() {\r\n return this.state === ImageState.error;\r\n }\r\n ngAfterContentInit() {\r\n fromEvent(this.image.el.nativeElement, 'load')\r\n .pipe(first())\r\n .subscribe(() => this.state = ImageState.loaded)\r\n\r\n fromEvent(this.image.el.nativeElement, 'error')\r\n .pipe(first())\r\n .subscribe(() => this.state = ImageState.error)\r\n }\r\n\r\n}\r\n","export const defaultConfig = [\r\n {\r\n imageSrc: '/assets/images/mmm-carousel.jpg',\r\n title: 'My Money Matters',\r\n content: 'Get the most out of your money. Explore ways to make your money and savings work for you with our tools.',\r\n readMore: 'https://mymoneymatters.alexforbes.com/'\r\n },\r\n {\r\n imageSrc: '/assets/images/AF-Rewards-carousel.jpg',\r\n title: 'My Rewards',\r\n content: 'Exclusive savings from big brands.',\r\n readMore: 'https://plus.alexforbes.com/Identity/Account/Login?ReturnUrl=%2fProducts%2fReferral%2fRedirect?typeId=11&utm_medium=web&utm_source=afconnect&utm_campaign=AF%20Connect'\r\n },\r\n {\r\n imageSrc: '/assets/images/Unit-trusts-carousel.jpg',\r\n title: 'Unit Trusts',\r\n content: 'Invest from as little as R500.00 a month to up to R30 000.00 up front toward a personal goal.',\r\n readMore: 'https://www.alexforbes.com/za/en/individual/investing-for-a-goal.html'\r\n },\r\n {\r\n imageSrc: '/assets/images/AF-Plus-carousel.jpg',\r\n title: 'AF+',\r\n content: 'Guided by expert advisers and fulfilled by trusted partners, making it easy to solve life’s financial challenges with confidence.',\r\n readMore: 'https://plus.alexforbes.com/'\r\n },\r\n];\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'af-connect-image-card',\r\n templateUrl: './image-card.component.html',\r\n styleUrls: ['./image-card.component.scss']\r\n})\r\nexport class ImageCardComponent implements OnInit {\r\n @Input() src: string;\r\n @Input() title: string | undefined = '';\r\n @Input() content: string | undefined = '';\r\n @Input() readMoreLink: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n openReadMore() {\r\n window.open(this.readMoreLink, '_blank');\r\n }\r\n}\r\n","<img [src]=\"src\" />\r\n<div class=\"info-container\">\r\n <span class=\"info-container__title\">{{ title }}</span>\r\n <span class=\"info-container__content\">{{ content }}</span>\r\n <button class=\"button-read-more\" (click)=\"openReadMore()\">Read more</button>\r\n</div>\r\n","import { Component, ElementRef, Input } from '@angular/core';\r\nimport { defaultConfig } from './defaultConfig';\r\n\r\ninterface CarouselConfig {\r\n imageSrc: string;\r\n title?: string;\r\n content?: string;\r\n readMore: string;\r\n}\r\n\r\n@Component({\r\n selector: 'lib-af-connect-products-carousel',\r\n templateUrl: './af-connect-products-carousel.component.html',\r\n styleUrls: ['./af-connect-products-carousel.component.scss']\r\n})\r\nexport class AfConnectProductsCarouselComponent {\r\n @Input() config: CarouselConfig[];\r\n defaultConfig = defaultConfig;\r\n\r\n private slider: HTMLElement;\r\n private isDown = false;\r\n private startX: number;\r\n private scrollLeft: number;\r\n\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngAfterViewInit() {\r\n this.slider = this.elementRef.nativeElement.querySelector('.holder');\r\n }\r\n\r\n mousedown(e: MouseEvent): void {\r\n this.isDown = true;\r\n this.slider.classList.add('active');\r\n this.startX = e.pageX - this.slider.offsetLeft;\r\n this.scrollLeft = this.slider.scrollLeft;\r\n }\r\n\r\n mouseleave(): void {\r\n this.isDown = false;\r\n this.slider.classList.remove('active');\r\n }\r\n\r\n mouseup(): void {\r\n this.isDown = false;\r\n this.slider.classList.remove('active');\r\n }\r\n\r\n mousemove(e: MouseEvent): void {\r\n if(!this.isDown) return;\r\n e.preventDefault();\r\n\r\n const offset = e.pageX - this.slider.offsetLeft;\r\n const walk = (offset - this.startX) * 2;\r\n this.slider.scrollLeft = this.scrollLeft - walk;\r\n }\r\n}\r\n","<div\r\n class=\"holder\"\r\n (mousedown)=\"mousedown($event)\"\r\n (mouseleave)=\"mouseleave()\"\r\n (mouseup)=\"mouseup()\"\r\n (mousemove)=\"mousemove($event)\"\r\n>\r\n <ng-container *ngFor=\"let card of config || defaultConfig\">\r\n <af-connect-image-card\r\n [src]=\"card.imageSrc\"\r\n [title]=\"card.title\"\r\n [content]=\"card.content\"\r\n [readMoreLink]=\"card.readMore\"\r\n ></af-connect-image-card>\r\n </ng-container>\r\n</div>\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { EmitValue } from '../constants/base.constants';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-button',\r\n templateUrl: './af-connect-button.component.html',\r\n styleUrls: ['./af-connect-button.component.scss']\r\n})\r\nexport class AfConnectButtonComponent {\r\n @Input() isActive: boolean;\r\n @Input() emitValue: EmitValue;\r\n @Input() title = '';\r\n @Input() disabled: boolean;\r\n @Input() hybrid: boolean;\r\n @Input() fullWidth: boolean;\r\n @Input() size: 'small' | 'medium' | 'large' | 'x-large' | 'block' | 'dynamic' = 'small';\r\n @Input() variant: 'outlined' | 'filled' | 'transparent' | 'link' | 'cancel' | 'greyish' = 'outlined';\r\n @Input() iconSrc: string;\r\n @Input() iconSize = 14;\r\n @Input() iconPosition: 'start' | 'end' = 'start';\r\n @Input() activeItem: string;\r\n @Output() clickBtn = new EventEmitter<string>();\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<button\r\n [class.hybrid]=\"hybrid\"\r\n [ngClass]=\"[\r\n fullWidth ? 'fullWidth' : '', 'button',\r\n size,\r\n variant,\r\n activeItem === title || isActive ? 'active' : '',\r\n iconPosition\r\n ]\"\r\n title=\"\"\r\n [disabled]=\"disabled\"\r\n (click)=\"this.clickBtn.emit(emitValue || title)\"\r\n>\r\n <!-- TODO: Templates -->\r\n <div\r\n *ngIf=\"iconSrc\"\r\n [ngStyle]=\"{\r\n '-webkit-mask-image': 'url(' + iconSrc + ')',\r\n 'width': iconSize + 'px'\r\n }\"\r\n class=\"icon\"\r\n >\r\n </div>\r\n <span [class]=\"['title', size, variant]\">{{ title }}</span>\r\n</button>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-content',\r\n templateUrl: './af-connect-content.component.html',\r\n styleUrls: ['./af-connect-content.component.scss']\r\n})\r\nexport class AfConnectContentComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-datepicker',\r\n templateUrl: './af-connect-datepicker.component.html',\r\n styleUrls: ['./af-connect-datepicker.component.scss']\r\n})\r\nexport class AfConnectDatepickerComponent {\r\n\r\n}\r\n","<p>af-connect-datepicker works!</p>\r\n","export function numberWithCommas(number: number) {\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n}","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { numberWithCommas } from '../utilities/number.util';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-form-validation-errors',\r\n templateUrl: './af-connect-form-validation-errors.component.html',\r\n styleUrls: ['./af-connect-form-validation-errors.component.scss']\r\n})\r\nexport class AfConnectFormValidationErrorsComponent {\r\n @Input() fieldText: string = 'Field';\r\n @Input() control: FormControl;\r\n public convertToNumberWithCommas = numberWithCommas;\r\n}\r\n","<div class=\"container\" *ngIf=\"control && control.errors && control.dirty && control.touched\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['required']\">{{ fieldText }} is required</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['emptyValue']\">Please enter a {{ fieldText }}</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['minlength']\">\r\n {{ fieldText }} must have be least {{ control.errors['minlength'].requiredLength }} symbols long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['maxlength']\">\r\n {{ fieldText }} must be no more than {{ control.errors['maxlength'].requiredLength }} symbols\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['existingProductName']\">\r\n Please enter a unique Product Name. Example: Alexforbes Life Cover\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['email']\">Invalid Email address</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['NAN']\">Please enter a valid number</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['positiveNumber']\">\r\n Please enter a positive number. Example: R100 000\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['integerNumber']\">\r\n Please enter a number without any digits after the decimal point\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['max']\">\r\n Please enter a number less than or equal to {{ convertToNumberWithCommas(control.errors['max'].max) }}\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['length']\">\r\n {{ fieldText }} must be {{ control.errors['length'] }} digits long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['alphabetic']\">\r\n {{ fieldText }} cannot contain numbers or special characters\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['selectOptions']\">\r\n Please select a valid {{ fieldText }} from the dropdown list\r\n </div>\r\n </div>\r\n \r\n <div class=\"container\" *ngIf=\"control && control.errors && control.dirty\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['startDateBeforeEndDate']\">\r\n You have selected an incorrect date\r\n </div>\r\n </div>\r\n ","import { ChangeDetectorRef, Component, forwardRef, Injector, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-input',\r\n templateUrl: './af-connect-input.component.html',\r\n styleUrls: ['./af-connect-input.component.scss']\r\n})\r\nexport class AfConnectInputComponent implements ControlValueAccessor, OnInit {\r\n private _value: string;\r\n @Input() label: string;\r\n @Input() errorReferenceText: string;\r\n @Input() placeholder: string = '';\r\n @Input() isDisabled: boolean = true;\r\n @Input() withAsterisk: boolean = false;\r\n @Input() variant: 'editable' | 'non-editable' | 'read-only' = 'editable';\r\n @Input() type: 'text' | 'number' | 'date' | 'password' = 'text';\r\n @Input() maxLength: number = 50;\r\n @Input() id: string;\r\n @Input() step: number;\r\n @Input() noFormEnabledBorder: boolean = false;\r\n @Output() onChange = new EventEmitter();\r\n\r\n public handleInputChange($event: Event) {\r\n this.onChange.emit($event);\r\n }\r\n\r\n public control: FormControl;\r\n\r\n public get value(): string {\r\n return this._value;\r\n }\r\n\r\n @Input() public set value(value: string) {\r\n this._value = value;\r\n this.propagateChange(value);\r\n }\r\n\r\n constructor(private injector: Injector, private cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n if (this.variant === 'editable') {\r\n this.isDisabled = false;\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get<NgControl>(NgControl);\r\n if (ngControl) {\r\n this.control = ngControl.control as FormControl;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n private propagateChange: Function = (_: string) => {};\r\n private propagateTouch: Function = (_: string) => {};\r\n\r\n public writeValue(obj: any): void {\r\n this.value = obj;\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.propagateTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n public onBlur(): void {\r\n this.propagateTouch();\r\n }\r\n}\r\n","<div class=\"field-container\">\r\n <div class=\"label-container\">\r\n <label class=\"label\" [for]=\"id\"> {{ label }}<span *ngIf=\"withAsterisk\" class=\"asterisk\">*</span></label>\r\n <lib-af-connect-form-validation-errors [control]=\"control\" [fieldText]=\"errorReferenceText || label\"></lib-af-connect-form-validation-errors>\r\n </div>\r\n <input\r\n [type]=\"type\"\r\n [step]=\"step\"\r\n size=\"10\"\r\n class=\"field-container-input\"\r\n [ngClass]=\"[\r\n variant,\r\n isDisabled ? 'disabled' : 'not-disabled',\r\n noFormEnabledBorder ? 'no-form-border' : '',\r\n control && control.errors && control.dirty && control.touched ? 'hasError' : '',\r\n control && variant === 'read-only' && control.disabled ? 'non-editable' : ''\r\n ]\"\r\n [maxLength]=\"maxLength\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled || variant === 'read-only'\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"handleInputChange($event)\"\r\n />\r\n <div *ngIf=\"control && control.errors && control.dirty && control.touched\" class=\"error-container\">\r\n <img src=\"../../../assets/icons/warning.svg\" />\r\n </div>\r\n </div>\r\n ","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-form-group',\r\n templateUrl: './af-connect-form-group.component.html',\r\n styleUrls: ['./af-connect-form-group.component.scss']\r\n})\r\nexport class AfConnectFormGroupComponent {\r\n\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-card',\r\n templateUrl: './af-connect-card.component.html',\r\n styleUrls: ['./af-connect-card.component.scss']\r\n})\r\nexport class AfConnectCardComponent {\r\n @Input() variant: 'large' | 'normal' | 'small' = 'normal';\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div [class]=\"['card', variant]\">\r\n <ng-content></ng-content>\r\n </div>\r\n ","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-card-header',\r\n templateUrl: './af-connect-card-header.component.html',\r\n styleUrls: ['./af-connect-card-header.component.scss']\r\n})\r\nexport class AfConnectCardHeaderComponent {\r\n @Input() title: string;\r\n @Input() subTitle: string;\r\n @Input() variant: 'normal' | 'small' = 'normal';\r\n @Input() hideBorderLine: boolean;\r\n @Input() subtitleColor: 'grey' | 'orange' = 'grey';\r\n @Output() onClick = new EventEmitter();\r\n\r\n ngOnInit(): void {}\r\n\r\n toggleMobileContent() {\r\n this.onClick.emit();\r\n }\r\n}\r\n","<div [class]=\"['card-header', variant]\" (click)=\"toggleMobileContent()\">\r\n <div class=\"title-container\">\r\n <div class=\"inner-title-container\">\r\n <div class=\"heading-container\">\r\n <span>{{ title }}</span>\r\n <ng-content select=\"[headingChip]\"></ng-content>\r\n </div>\r\n <div class=\"chip-container\">\r\n <ng-content select=\"[chip]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"subtitle\" [class]=\"[subtitleColor]\">{{ subTitle }}</div>\r\n </div>\r\n <div class=\"buttons-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"!hideBorderLine\" [class]=\"['border-line', variant]\"></div>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-chip',\r\n templateUrl: './af-connect-chip.component.html',\r\n styleUrls: ['./af-connect-chip.component.scss']\r\n})\r\nexport class AfConnectChipComponent {\r\n @Input() title: string;\r\n @Input() borderRadius: number;\r\n @Input() additionalStyle: { background?: string; color?: string };\r\n @Input() variant:\r\n | 'greenish-text'\r\n | 'greenish-count'\r\n | 'percentage'\r\n | 'status'\r\n | 'claims'\r\n | 'dot'\r\n | 'dot-orange'\r\n | 'dot-teal'\r\n | 'case-number' = 'greenish-text';\r\n}\r\n","<div\r\n [ngClass]=\"['chip', variant]\"\r\n [ngStyle]=\"{\r\n borderRadius: borderRadius + 'px',\r\n background: additionalStyle && additionalStyle.background ? additionalStyle.background : ''\r\n }\"\r\n>\r\n <div\r\n [ngStyle]=\"{\r\n color: additionalStyle && additionalStyle.color ? additionalStyle.color : ''\r\n }\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-chart',\r\n templateUrl: './af-connect-chart.component.html',\r\n styleUrls: ['./af-connect-chart.component.scss']\r\n})\r\nexport class AfConnectChartComponent {\r\n\r\n}\r\n","<p>af-connect-chart works!</p>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-error',\r\n templateUrl: './af-connect-error.component.html',\r\n styleUrls: ['./af-connect-error.component.scss']\r\n})\r\nexport class AfConnectErrorComponent {\r\n @Input() src: string;\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() height: 'small' | 'medium' | 'large' = 'small';\r\n @Input() alignContent: 'center' | 'left' = 'left';\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","<div [class]=\"[alignContent, 'error-container', height]\">\r\n <img class=\"svg\" [src]=\"src\" />\r\n <span class=\"error-title\">{{ title }}</span>\r\n <span class=\"error-message\">{{ message }}</span>\r\n </div>\r\n ","import { Component, Input } from '@angular/core';\r\n\r\nexport enum Severity {\r\n Error = \"Error!\",\r\n Warning = \"Warning!\",\r\n};\r\n\r\n@Component({\r\n selector: 'lib-af-connect-inline-error',\r\n templateUrl: './af-connect-inline-error.component.html',\r\n styleUrls: ['./af-connect-inline-error.component.scss']\r\n})\r\nexport class AfConnectInlineErrorComponent {\r\n @Input() public severity: Severity = Severity.Error;\r\n @Input() public message: string;\r\n @Input() src: string;\r\n @Input() size: 'large' | 'medium' | 'small' | 'none' = 'none';\r\n}\r\n","<div class=\"inline-error-container\">\r\n <img [class]=\"['svg', size]\" [src]=\"src\" />\r\n <span class=\"inline-error-title\">{{ severity }}</span>\r\n <span class=\"inline-error-message\">{{ message }}</span>\r\n </div>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-loading-spinner',\r\n templateUrl: './af-connect-loading-spinner.component.html',\r\n styleUrls: ['./af-connect-loading-spinner.component.scss']\r\n})\r\nexport class AfConnectLoadingSpinnerComponent {\r\n @Input() size: 'standard' | 'small' = 'standard';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"spinner\">\r\n <div [class]=\"size\"></div>\r\n <div [class]=\"size\"></div>\r\n <div [class]=\"size\"></div>\r\n <div [class]=\"size\"></div>\r\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { EmitValue } from '../constants/base.constants';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-svg-button',\r\n templateUrl: './af-connect-svg-button.component.html',\r\n styleUrls: ['./af-connect-svg-button.component.scss']\r\n})\r\nexport class AfConnectSvgButtonComponent implements OnInit {\r\n @Input() src: string;\r\n @Input() emitValue: EmitValue;\r\n @Input() customSize: number;\r\n @Input() size: 'large' | 'medium' | 'small' | 'none' = 'none';\r\n\r\n @Output() clickBtn = new EventEmitter<string | null>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<img\r\n [class]=\"['svg', size]\"\r\n [ngStyle]=\"{ width: customSize, height: customSize }\"\r\n (click)=\"this.clickBtn.emit(emitValue)\"\r\n [src]=\"src\"\r\n/>\r\n","import {\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n QueryList\r\n} from '@angular/core';\r\nimport { EmitValue } from '../constants/base.constants';\r\nimport { AfConnectButtonComponent } from '../af-connect-button/af-connect-button.component';\r\nimport { AfConnectSvgButtonComponent } from '../af-connect-svg-button/af-connect-svg-button.component';\r\n\r\n/**\r\n Example usage\r\n <afc-modal>\r\n <afc-button isOpenButton title=\"Open Modal\"></afc-button>\r\n <div class=\"content\">\r\n <afc-button emitValue=\"isCloseModal\" title=\"Close Modal\"></afc-button>\r\n <h1> This is test modal </h1>\r\n </div>\r\n </afc-modal>\r\n \r\n isOpenButton tag specifies which element triggers the modal (usually a button), and it is always shown.\r\n Pass [isCloseButton]=\"true\" to a button to specify which buttons in the modal should be used\r\n for closing the modal.Everything that does not have isOpenButton tag is the content of the modal.\r\n\r\n No additional event handling required for open/close of the modal.\r\n \r\n \r\n*/\r\n\r\n@Component({\r\n selector: 'lib-af-connect-modal',\r\n templateUrl: './af-connect-modal.component.html',\r\n styleUrls: ['./af-connect-modal.component.scss']\r\n})\r\nexport class AfConnectModalComponent implements OnDestroy{\r\n @Input() isOpen: boolean = false;\r\n @Input() disableOutsideClickClose: boolean = false;\r\n @Input() withCloseButton: boolean = true;\r\n @Input() variant: 'standard' | 'error' | 'info' = 'standard';\r\n @Input() header: string;\r\n @Input() content: string;\r\n @Input() width: number;\r\n @Input() noScrollbarContentContainer: boolean;\r\n @Input() reversedPadding: boolean; // sets inner-container to 0 padding, sets 24px to header-container\r\n @Input() borderHighlight: boolean;\r\n @Output() onClose = new EventEmitter<boolean>();\r\n @ContentChildren(AfConnectButtonComponent, { descendants: true }) buttons: QueryList<AfConnectButtonComponent>;\r\n @ContentChildren(AfConnectSvgButtonComponent, { descendants: true }) svgButton: QueryList<AfConnectSvgButtonComponent>;\r\n\r\n constructor(elementRef: ElementRef) {\r\n this.nativeElement = elementRef.nativeElement;\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.svgButton.forEach((svgButton: AfConnectSvgButtonComponent) =>\r\n svgButton.clickBtn.subscribe((emitValue: EmitValue) => {\r\n if (!this.disableOutsideClickClose) {\r\n this.closeFromModal(emitValue);\r\n }\r\n })\r\n );\r\n this.buttons.forEach((buttons: AfConnectButtonComponent) =>\r\n buttons.clickBtn.subscribe((emitValue: EmitValue) => {\r\n // if (!this.disableOutsideClickClose) {\r\n this.closeFromModal(emitValue);\r\n // }\r\n })\r\n );\r\n }\r\n public nativeElement: HTMLElement;\r\n\r\n public toggleModal() {\r\n this.isOpen = !this.isOpen;\r\n this.onClose.emit(this.isOpen);\r\n }\r\n\r\n public externalClickClose(e: Event) {\r\n if (!this.disableOutsideClickClose) {\r\n const target = e.target as HTMLElement;\r\n if (target.classList.contains('content-container') || target.classList.contains('background-container')) {\r\n this.isOpen = false;\r\n this.onClose.emit(this.isOpen);\r\n }\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {}\r\n\r\n private closeFromModal(emitValue: EmitValue) {\r\n if (emitValue === 'isCloseModal') {\r\n this.isOpen = false;\r\n this.onClose.emit(this.isOpen);\r\n }\r\n }\r\n}\r\n","<div class=\"modal-wrapper\" (click)=\"toggleModal()\">\r\n <ng-content select=\"[isOpenButton]\"></ng-content>\r\n </div>\r\n \r\n <div *ngIf=\"isOpen\" class=\"background-container\" (click)=\"externalClickClose($event)\">\r\n <div\r\n [ngStyle]=\"{ width: width + 'px' }\"\r\n [ngClass]=\"[\r\n 'content-container',\r\n variant,\r\n noScrollbarContentContainer ? 'noScrollbar' : '',\r\n borderHighlight ? 'with-border' : ''\r\n ]\"\r\n >\r\n <div *ngIf=\"variant !== 'standard'\" class=\"color-bar\"></div>\r\n <div [ngStyle]=\"{ padding: reversedPadding ? '0px' : null }\" class=\"inner-container\">\r\n <div\r\n *ngIf=\"header\"\r\n class=\"header-container\"\r\n [ngStyle]=\"{ padding: reversedPadding ? '24px 24px 20px 24px' : null }\"\r\n >\r\n <div class=\"header-content\">\r\n <img *ngIf=\"variant === 'error'\" src=\"../../../../assets/icons/warning.svg\" class=\"warning-icon\" />\r\n {{ header }}\r\n </div>\r\n <lib-af-connect-svg-button\r\n *ngIf=\"withCloseButton\"\r\n size=\"small\"\r\n src=\"../../../assets/icons/delete.svg\"\r\n emitValue=\"isCloseModal\"\r\n (clickBtn)=\"toggleModal()\"\r\n ></lib-af-connect-svg-button>\r\n </div>\r\n <div class=\"body-container\">\r\n <ng-container *ngIf=\"content\">\r\n {{ content }}\r\n </ng-container>\r\n <ng-content></ng-content>\r\n </div>\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: 'lib-af-connect-no-content',\r\n templateUrl: './af-connect-no-content.component.html',\r\n styleUrls: ['./af-connect-no-content.component.scss']\r\n})\r\nexport class AfConnectNoContentComponent {\r\n @Input() src: string;\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() alignContent: 'center' | 'left' = 'left';\r\n @Input() height: 'small' | 'medium' | 'large' | 'xLarge' | 'fill' = 'small';\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","<div [class]=\"[alignContent, 'no-content-container', height]\">\r\n <img class=\"svg\" [src]=\"src\" />\r\n <div class=\"info-container\">\r\n <p class=\"no-content-title\">{{ title }}</p>\r\n <p class=\"no-content-message\">{{ message }}</p>\r\n </div>\r\n </div>\r\n ","import { Component, Input } from '@angular/core';\r\nimport { NotificationResponseList } from '../models/notification-response.model';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-notification',\r\n templateUrl: './af-connect-notification.component.html',\r\n styleUrls: ['./af-connect-notification.component.scss']\r\n})\r\nexport class AfConnectNotificationComponent {\r\n @Input() data: NotificationResponseList;\r\n @Input() variant: 'small' | 'wide';\r\n}\r\n","<div [class]=\"['wrapper', variant]\">\r\n <div [class]=\"['svg-container', variant]\">\r\n <img [class]=\"['svg-overlay', variant]\" src=\"/assets/icons/tool.svg\" alt=\"\">\r\n <img [class]=\"['svg-background', variant]\" src=\"/assets/icons/splash_background.svg\" alt=\"\">\r\n </div>\r\n \r\n <div class=\"text-container\">\r\n <span>{{ data.categoryTitleToDisplay }}</span>\r\n <div [innerHTML]=\"data.htmlContent\"></div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\r\nimport { Subscription, interval, take } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-progress-bar',\r\n templateUrl: './af-connect-progress-bar.component.html',\r\n styleUrls: ['./af-connect-progress-bar.component.scss']\r\n})\r\nexport class AfConnectProgressBarComponent {\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n public progressBarTreshold = 30;\r\n public progressCounter = 0;\r\n public minimumProgressAnimation = 30;\r\n @Input() withProgressAnimation = false;\r\n public subscription = new Subscription();\r\n\r\n @Input() progress: number;\r\n @Input() primaryColor: 'primary-green' | 'primary-orange' = 'primary-green';\r\n @Input() secondaryColor: 'orange' | 'transparent' | 'grey' = 'grey';\r\n\r\n public ngAfterViewInit(): void {\r\n this.minimumProgressAnimation = this.progress < this.progressBarTreshold ? this.progressBarTreshold : this.progress;\r\n interval(11)\r\n .pipe(take(this.minimumProgressAnimation || 100))\r\n .subscribe(() => {\r\n if (!this.withProgressAnimation) {\r\n this.progressCounter = this.progress;\r\n } else {\r\n this.progressCounter++;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","<div [ngClass]=\"[secondaryColor]\" class=\"progress-bar-container\">\r\n <div [ngClass]=\"['progress-bar', primaryColor]\" [style]=\"{ width: progressCounter + '%' }\">\r\n <div class=\"text-container\">\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n <span *ngIf=\"false\"> {{ progress.toFixed(0) }}% </span>\r\n </div>\r\n </div>\r\n </div>\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-section',\r\n templateUrl: './af-connect-section.component.html',\r\n styleUrls: ['./af-connect-section.component.scss']\r\n})\r\nexport class AfConnectSectionComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, Host, Input, OnInit, Optional, Output, EventEmitter } from '@angular/core';\r\nimport { ExpandableWrapperComponent } from '../expandable/afc-expandable-wrapper/afc-expandable-wrapper.component';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-section-header',\r\n templateUrl: './af-connect-section-header.component.html',\r\n styleUrls: ['./af-connect-section-header.component.scss']\r\n})\r\nexport class AfConnectSectionHeaderComponent {\r\n @Input() title: string;\r\n @Input() isStatic: boolean = true;\r\n @Input() variant: 'default' | 'portfolio' = 'default'\r\n @Output() onClick = new EventEmitter();\r\n\r\n constructor(@Host() @Optional() public wrapper: ExpandableWrapperComponent) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n toggleMobileContent() {\r\n this.onClick.emit();\r\n }\r\n}\r\n","<div class=\"header-container\" [ngClass]=\"[\r\n variant,\r\n isStatic ? 'isStatic' : 'isExpandable',\r\n (wrapper && wrapper.isExpanded$ | async) === true ? 'expanded' : '',\r\n (wrapper && wrapper.isExpanded$ | async) === false ? 'collapsed' : ''\r\n ]\" (click)=\"toggleMobileContent()\">\r\n <div class=\"section-wrapper\">\r\n <div class=\"{{variant}}\">\r\n {{ title }}\r\n </div>\r\n <ng-content select=\"[icon]\"></ng-content>\r\n <div class=\"buttons-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isStatic\" class=\"border-line\"></div>\r\n</div>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-select',\r\n templateUrl: './af-connect-select.component.html',\r\n styleUrls: ['./af-connect-select.component.scss']\r\n})\r\nexport class AfConnectSelectComponent {\r\n\r\n}\r\n","<!-- <div class=\"dropdown-collection\" [ngClass]=\"[size, (control && control.disabled) || isDisabled ? 'disabled' : 'not-disabled',]\" (click)=\"toggleDropdown($event)\">\r\n\r\n <div class=\"field-container\">\r\n <div class=\"label-container\">\r\n <label *ngIf=\"label\" [ngClass]=\"[variant]\" class=\"label\">\r\n {{ label }}<span *ngIf=\"withAsterisk\" class=\"asterisk\">*</span>\r\n </label>\r\n <afc-form-validation-errors\r\n [control]=\"control\"\r\n [fieldText]=\"errorReferenceText || label\"\r\n ></afc-form-validation-errors>\r\n </div>\r\n <div class=\"input-container\">\r\n <input\r\n type=\"text\"\r\n class=\"field-container-input\"\r\n [placeholder]=\"(isReadOnly && readOnlyPlaceholder) || placeholder\"\r\n [maxLength]=\"maxLength\"\r\n [ngClass]=\"[\r\n (control && control.disabled) || isDisabled ? 'disabled' : 'not-disabled',\r\n size,\r\n dropdownOpen ? 'dropdown-open' : '',\r\n control && control.errors && control.dirty && control.touched ? 'hasError' : '',\r\n filter ? 'filterable' : 'non-filterable'\r\n ]\"\r\n [disabled]=\"(control && control.disabled) || isDisabled || variant === 'read-only' || isReadOnly\"\r\n [(ngModel)]=\"currentValue\"\r\n (blur)=\"onBlur()\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n <div class=\"arrow-container\" *ngIf=\"variant !== 'read-only'\">\r\n <afc-expandable-arrow\r\n endPosition=\"top\"\r\n startPosition=\"bottom\"\r\n animationSpeed=\"fast\"\r\n ngClass=\"arrow\"\r\n [isExpanded]=\"dropdownOpen\"\r\n >\r\n </afc-expandable-arrow>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <ng-container *ngTemplateOutlet=\"dropdownListItems; context: { type }\"></ng-container>\r\n </div>\r\n \r\n <ng-template #dropdownListItems let-type=\"type\">\r\n <ul\r\n class=\"dropdown-list\"\r\n role=\"listbox\"\r\n aria-expanded=\"false\"\r\n [@selectAnimation]=\"dropdownOpen ? 'expanded' : 'collapsed'\"\r\n [ngClass]=\"{ 'dropdown-open': dropdownOpen }\"\r\n >\r\n <ng-container\r\n *ngIf=\"filteredOptions.length !== 0; else noDropdownData\"\r\n [ngTemplateOutlet]=\"virtualScroll\"\r\n ></ng-container>\r\n </ul>\r\n </ng-template>\r\n \r\n <ng-template #virtualScroll>\r\n <cdk-virtual-scroll-viewport\r\n class=\"select-menu-inner\"\r\n [appendOnly]=\"true\"\r\n [itemSize]=\"SizeEnum[size]\"\r\n [style.height.px]=\"itemsShown * SizeEnum[size]\"\r\n [minBufferPx]=\"itemsShown * SizeEnum[size]\"\r\n [maxBufferPx]=\"itemsShown * SizeEnum[size]\"\r\n >\r\n <div\r\n class=\"list-item-container\"\r\n *cdkVirtualFor=\"let option of filteredOptions\"\r\n [ngClass]=\"[currentValue === option ? 'selected' : '', size]\"\r\n (click)=\"select(option)\"\r\n >\r\n <img\r\n height=\"14\"\r\n width=\"26\"\r\n *ngIf=\"(type === 'country' || type === 'country-code') && option['countryCode']\"\r\n [src]=\"'../../../../assets/country-flags/' + option?.['countryCode'] + '.svg' | lowercase\"\r\n />\r\n <li tabindex=\"0\" role=\"option\" [innerHTML]=\"valueField && textField ? option[textField] : option\"></li>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </ng-template>\r\n \r\n <ng-template #noDropdownData>\r\n <div class=\"dropdown-no-data\">No Data</div>\r\n </ng-template>\r\n -->","import { Component, Input, TemplateRef } from '@angular/core';\r\n@Component({\r\n selector: 'lib-af-connect-tab',\r\n templateUrl: './af-connect-tab.component.html',\r\n styleUrls: ['./af-connect-tab.component.scss']\r\n})\r\nexport class AfConnectTabComponent {\r\n @Input() label: string;\r\n @Input() isActive: boolean = false;\r\n @Input() tabButtons: TemplateRef<any>;\r\n}\r\n","<div [hidden]=\"!isActive\">\r\n <ng-content></ng-content>\r\n </div>\r\n ","import {\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n QueryList,\r\n ViewChild,\r\n ViewChildren,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef\r\n} from '@angular/core';\r\nimport { debounceTime, fromEvent, Subscription } from 'rxjs';\r\nimport { AfConnectTabComponent } from '../af-connect-tab/af-connect-tab.component';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-tabs',\r\n templateUrl: './af-connect-tabs.component.html',\r\n styleUrls: ['./af-connect-tabs.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AfConnectTabsComponent implements OnDestroy {\r\n @ContentChildren(AfConnectTabComponent) tabs: QueryList<AfConnectTabComponent>;\r\n @ViewChild('slider', { read: ElementRef }) slider: ElementRef<HTMLSpanElement>;\r\n @ViewChildren('tab', { read: ElementRef }) tabsRefs: QueryList<ElementRef<HTMLLIElement>>;\r\n public activeTabIndex: number;\r\n public subs = new Subscription();\r\n\r\n constructor(public cdr: ChangeDetectorRef) {}\r\n\r\n @Input() selectedTabIndex: number;\r\n\r\n @Output() activeTabSelected = new EventEmitter<number>();\r\n\r\n ngOnDestroy(): void {\r\n this.subs.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n this.subs.add(\r\n fromEvent(window, 'resize')\r\n .pipe(debounceTime(50))\r\n .subscribe(() => {\r\n this.triggerSlider(this.activeTabIndex);\r\n })\r\n );\r\n }\r\n\r\n ngAfterContentChecked() {\r\n if (!this.selectedTabIndex) {\r\n const activeTab = this.tabs.find((tab) => tab.isActive);\r\n if (!activeTab) {\r\n const firstTab = this.tabs.first;\r\n firstTab.isActive = true;\r\n this.activeTabIndex = 0;\r\n this.activeTabSelected.emit(0);\r\n }\r\n } else {\r\n this.setActiveLabel();\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (!this.activeTabIndex) {\r\n this.triggerSlider(0);\r\n }\r\n }\r\n\r\n get activeTab() {\r\n return this.tabs.find((tab) => tab.isActive) || this.tabs.first;\r\n }\r\n\r\n activateTab(selectedTab: AfConnectTabComponent, index: number) {\r\n this.tabs.forEach((tab) => {\r\n tab.isActive = tab === selectedTab;\r\n });\r\n this.activeTabIndex = index;\r\n this.triggerSlider(index);\r\n this.activeTabSelected.emit(index);\r\n }\r\n\r\n private triggerSlider(i: number) {\r\n const activeTabRef = this.tabsRefs.get(i);\r\n this.slider.nativeElement.style.left = `${activeTabRef?.nativeElement.offsetLeft}px`;\r\n this.slider.nativeElement.style.width = `${activeTabRef?.nativeElement.offsetWidth}px`;\r\n }\r\n\r\n private setActiveLabel() {\r\n this.tabs.find((tab, i) => {\r\n const foundTab = i === this.selectedTabIndex;\r\n if (foundTab) {\r\n this.activeTabIndex = i;\r\n tab.isActive = true;\r\n }\r\n return foundTab;\r\n });\r\n }\r\n}\r\n","<nav class=\"tabs-nav\">\r\n <ul class=\"nav-list\">\r\n <li #tab *ngFor=\"let tab of tabs; let i = index\" class=\"nav-item\" [class.active]=\"tab.isActive\">\r\n <button class=\"nav-button\" (click)=\"activateTab(tab, i)\">\r\n {{ tab.label }}\r\n </button>\r\n </li>\r\n <span #slider class=\"slider\"></span>\r\n </ul>\r\n <div class=\"nav-action-buttons\">\r\n <ng-container [ngTemplateOutlet]=\"activeTab.tabButtons\"></ng-container>\r\n </div>\r\n </nav>\r\n <ng-content></ng-content>\r\n ","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-table',\r\n templateUrl: './af-connect-table.component.html',\r\n styleUrls: ['./af-connect-table.component.scss']\r\n})\r\nexport class AfConnectTableComponent {\r\n\r\n}\r\n","<p>af-connect-table works!</p>\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-toaster-message',\r\n templateUrl: './af-connect-toaster-message.component.html',\r\n styleUrls: ['./af-connect-toaster-message.component.scss']\r\n})\r\nexport class AfConnectToasterMessageComponent {\r\n @Input() public message: string;\r\n @Input() src: string;\r\n @Input() size: 'small' | 'medium' | 'large' = 'small';\r\n @Input() timer = 5000;\r\n @Output() onClose = new EventEmitter<boolean>();\r\n\r\n ngOnInit() {\r\n setTimeout(() => this.onClose.emit(), this.timer)\r\n }\r\n\r\n public closeToast() {\r\n this.onClose.emit();\r\n }\r\n}\r\n","<div class=\"toaster-container\">\r\n <img [class]=\"['svg', size]\" [src]=\"src\" />\r\n <span class=\"toaster-message\">{{ message }}</span>\r\n <afc-svg-button\r\n ngClass=\"close-btn\"\r\n size=\"medium\"\r\n src=\"/assets/icons/delete.svg\"\r\n emitValue=\"isCloseModal\"\r\n (clickBtn)=\"closeToast()\"\r\n >\r\n </afc-svg-button>\r\n </div>\r\n ","import {\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n query,\r\n stagger,\r\n animateChild,\r\n group,\r\n sequence\r\n} from '@angular/animations';\r\n\r\nconst TAB_SLIDER_TIMING_FN = '1000ms cubic-bezier(0.4, 0, 0.2, 1)';\r\n\r\nexport const flyInOutLeftColumn = [\r\n trigger('flyInOutLeftColumn', [\r\n state('in', style({ opacity: 0, transform: 'translateY(0)', background: 'blue' })),\r\n transition('void => *', [style({ opacity: 0, transform: 'translateY(-100%)' }), animate('310ms')]),\r\n transition('* => void', [animate('310ms', style({ opacity: 0, transform: 'translateY(-100%)' }))])\r\n ])\r\n];\r\n\r\nexport const flyInOutRightColumn = [\r\n trigger('flyInOutRightColumn', [\r\n state('in', style({ opacity: 1, transform: 'translateY(0)' })),\r\n transition('void => *', [style({ opacity: 0, transform: 'translateY(-100%)' }), animate('310ms 310ms')]),\r\n transition('* => void', [animate('310ms 310ms', style({ opacity: 0, transform: 'translateY(-100%)' }))])\r\n ])\r\n];\r\n\r\nexport const fadeAnimationGuide = trigger('fadeAnimation', [\r\n transition(':enter', [style({ opacity: 0 }), animate('300ms', style({ opacity: 1 }))]),\r\n transition(':leave', [style({ opacity: 1 }), animate('300ms', style({ opacity: 0 }))])\r\n]);\r\n\r\nexport const fadeAnimation = trigger('fadeAnimation', [\r\n transition(':enter', [style({ opacity: 0 }), animate('300ms ease-out', style({ opacity: 1 }))]),\r\n transition(':leave', [style({ opacity: 1 }), animate('300ms ease-out', style({ opacity: 0 }))])\r\n]);\r\n\r\nexport const staggerFadeIn = [\r\n trigger('stagger', [\r\n transition('* => *', [\r\n query(':enter', [style({ opacity: 0 }), stagger(100, [animate('0.5s', style({ opacity: 1 }))])], {\r\n optional: true\r\n })\r\n ])\r\n ])\r\n];\r\n\r\nexport const expandableContainer = [\r\n trigger('expandContainer', [\r\n transition(':enter', [\r\n style({ height: '0px', visibility: 'hidden' }),\r\n animate('300ms ease-out', style({ height: '*', visibility: 'visible' }))\r\n ]),\r\n transition(':leave', [animate('300ms ease-out', style({ height: '0px', visibility: 'hidden' }))])\r\n ])\r\n];\r\n\r\nexport const expandableArrow = [\r\n trigger('expandableArrow', [\r\n state('collapsed', style({ transform: 'rotate({{direction}}{{collapsedRotation}}deg)' }), {\r\n params: { collapsedRotation: '0', direction: '' }\r\n }),\r\n state('expanded', style({ transform: 'rotate({{direction}}{{expandedRotation}}deg)' }), {\r\n params: { expandedRotation: '90', direction: '' }\r\n }),\r\n transition('expanded <=> collapsed', animate('{{getNumberSpeed}}ms ease-out'), {\r\n params: { getNumberSpeed: 300 }\r\n }),\r\n transition('collapsed <=> expanded', animate('{{getNumberSpeed}}ms ease-out'), {\r\n params: { getNumberSpeed: 300 }\r\n })\r\n ])\r\n];\r\n\r\nexport const selectAnimation = [\r\n trigger('selectAnimation', [\r\n state('collapsed', style({ height: '0px', minHeight: '0', visibility: 'hidden', border: 'none' })),\r\n state('expanded', style({ height: '*' })),\r\n transition('expanded <=> collapsed', animate('180ms cubic-bezier(0.8, 0.5, 0.7, 1.0)'))\r\n ])\r\n];\r\n\r\nexport const tabSlider = [\r\n trigger('tabSlider', [\r\n state('in-from-left', style({ opacity: 1 })),\r\n state('in-from-right', style({ opacity: 1 })),\r\n state('out-to-left', style({ opacity: 0, transform: 'translateX(0)' })),\r\n state('out-to-right', style({ opacity: 0, transform: 'translateX(0)' })),\r\n transition('* => out-to-right', animate(TAB_SLIDER_TIMING_FN, style({ transform: 'translateX(100%)' }))),\r\n transition('* => out-to-left', [animate(TAB_SLIDER_TIMING_FN, style({ transform: 'translateX(-100%)' }))]),\r\n transition('* => in-from-left', [\r\n sequence([\r\n style({ transform: 'translateX(-100%)', opacity: 1 }),\r\n animate(TAB_SLIDER_TIMING_FN, style({ transform: 'translateX(0)' }))\r\n ])\r\n ]),\r\n transition('* => in-from-right', [\r\n sequence([\r\n style({ transform: 'translateX(100%)', opacity: 1 }),\r\n animate(TAB_SLIDER_TIMING_FN, style({ transform: 'translateX(0)' }))\r\n ])\r\n ])\r\n ])\r\n];\r\n\r\nexport const toggleButtonAnimation = [\r\n trigger('toggleButton', [\r\n state('on', style({ transform: 'translateX(100%)' })),\r\n state('off', style({ transform: 'translateX(0)' })),\r\n transition('on <=> off', animate('300ms ease-out'))\r\n ])\r\n];\r\n\r\nexport const toggleBackgroundAnimation = [\r\n trigger('toggleBackground', [\r\n state('on', style({ background: 'var(--primary-connected-orange-color)' })),\r\n state('off', style({ background: 'var(--toggle-button-grey-color)' })),\r\n transition('on <=> off', [group([query('@toggleButton', [animateChild()]), animate('300ms ease-out')])])\r\n ])\r\n];\r\n\r\nexport const flyInOut = [\r\n trigger('flyInOut', [\r\n state('in', style({ opacity: 1, transform: 'translateY(0)' })),\r\n transition('void => *', [style({ opacity: 0, transform: 'translateY(-100%)' }), animate(200)]),\r\n transition('* => void', [animate(200, style({ opacity: 0, transform: 'translateY(-100%)' }))])\r\n ])\r\n];\r\n\r\nexport const fadeInFromBottom = [\r\n trigger('fadeInFromBottom', [\r\n state('void', style({ opacity: 0.3, transform: 'translateY(90%)' })), // Initial state for :enter\r\n state('enter', style({ opacity: 1, transform: 'translateY(0)' })), // Final state for :enter\r\n transition(\r\n 'void => enter',\r\n [\r\n style({ opacity: 0.3, transform: 'translateY(90%)' }),\r\n animate('1000ms {{delay}}ms ease-in-out', style({ opacity: 1, transform: 'translateY(0)' }))\r\n ],\r\n {\r\n params: { delay: '0' }\r\n }\r\n )\r\n ])\r\n];\r\n","import { ChangeDetectorRef, Component, Input, forwardRef, Injector, Output, EventEmitter } from '@angular/core';\r\nimport { FormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { toggleButtonAnimation, toggleBackgroundAnimation } from '../constants/animation.constants';\r\nimport { EmitValue } from '../constants/base.constants';\r\n\r\nconst NEUTRAL_BUTTON_COLOR = '#F3F3F3';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-toggle-button',\r\n templateUrl: './af-connect-toggle-button.component.html',\r\n styleUrls: ['./af-connect-toggle-button.component.scss'],\r\n animations: [toggleButtonAnimation, toggleBackgroundAnimation],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AfConnectToggleButtonComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AfConnectToggleButtonComponent {\r\n @Input() emitValue: EmitValue;\r\n @Input() label: string;\r\n @Input() disabled = true;\r\n @Input() withForm = false;\r\n @Input() onStateBackground: string = 'var(--primary-connected-orange-color)';\r\n @Input() offStateBackground: string;\r\n @Input() onStateText: string;\r\n @Input() offStateText: string;\r\n @Input() background: string;\r\n @Input() position: 'on' | 'off' = 'off';\r\n @Input() variant: 'ball' | 'full' = 'ball';\r\n @Output() clickBtn = new EventEmitter<string | null>();\r\n public control: FormControl;\r\n\r\n constructor(private injector: Injector, private cdr: ChangeDetectorRef) {}\r\n\r\n public togglePosition() {\r\n if (this.position === 'on') this.position = 'off';\r\n else this.position = 'on';\r\n\r\n this.propagateChange(this.position === 'on');\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n if (this.withForm) {\r\n const ngControl: NgControl = this.injector.get<NgControl>(NgControl);\r\n if (ngControl) {\r\n this.control = ngControl.control as FormControl;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n }\r\n\r\n private propagateChange: Function = (_: string) => {};\r\n private propagateTouch: Function = (_: string) => {};\r\n\r\n public writeValue(): void {}\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.propagateTouch = fn;\r\n }\r\n\r\n public onBlur(): void {\r\n this.propagateTouch();\r\n }\r\n\r\n setDisabledState?(disabled: boolean): void {\r\n this.disabled = disabled;\r\n }\r\n\r\n public getButtonStyles(): Object {\r\n if (this.variant === 'full')\r\n return {\r\n background: this.background || NEUTRAL_BUTTON_COLOR,\r\n width: '152px',\r\n height: '32px',\r\n borderRadius: '16px'\r\n };\r\n else\r\n return {\r\n background: this.position === 'on' ? this.onStateBackground : this.offStateBackground\r\n };\r\n }\r\n\r\n public getToggleBallStyles(): Object | void {\r\n if (this.variant === 'full')\r\n return {\r\n background: '#15808D',\r\n width: '76px',\r\n height: '32px',\r\n borderRadius: '16px',\r\n margin: 0\r\n };\r\n }\r\n\r\n public getOnStateTextStyles(): Object | void {\r\n if (this.variant === 'full')\r\n return {\r\n zIndex: '2',\r\n fontSize: '14px',\r\n marginLeft: '19px',\r\n color: this.position === 'on' ? '#707070' : '#fff'\r\n };\r\n }\r\n\r\n public getOffStateTextStyles(): Object | void {\r\n if (this.variant === 'full')\r\n return {\r\n zIndex: '2',\r\n fontSize: '14px',\r\n marginLeft: '16px',\r\n color: this.position === 'off' ? '#707070' : '#fff'\r\n };\r\n }\r\n}\r\n","<label>{{ label }}</label>\r\n<button\r\n type=\"button\"\r\n class=\"toggle-button\"\r\n (click)=\"this.clickBtn.emit(emitValue); togglePosition();\"\r\n [disabled]=\"disabled\"\r\n [ngStyle]=\"getButtonStyles()\">\r\n <span\r\n *ngIf=\"onStateText\"\r\n [ngStyle]=\"getOnStateTextStyles() || null\"\r\n class=\"onStateText\">\r\n {{onStateText}}\r\n </span>\r\n <div\r\n class=\"toggle-ball\"\r\n [@toggleButton]=\"position\"\r\n [ngStyle]=\"getToggleBallStyles() || null\">\r\n </div>\r\n <span\r\n *ngIf=\"offStateText\"\r\n [ngStyle]=\"getOffStateTextStyles() || null\"\r\n class=\"offStateText\"> \r\n {{offStateText}}\r\n </span>\r\n</button>\r\n<span *ngIf=\"label\" class=\"state-info-text\">{{ position === 'on' ? 'Yes' : 'No' }}</span>","import { Component, HostBinding, HostListener, Input } from '@angular/core';\r\nimport { Position } from './types';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-tooltip',\r\n templateUrl: './af-connect-tooltip.component.html',\r\n styleUrls: ['./af-connect-tooltip.component.scss']\r\n})\r\nexport class AfConnectTooltipComponent {\r\n @Input() text: string;\r\n @Input() position: Position = 'bottomRight';\r\n @Input() additionalShowCondition: boolean = true;\r\n @Input() top: string;\r\n @Input() autoSize: boolean;\r\n @Input() zIndex: number = 10;\r\n\r\n public showContent = false;\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.showContent = !this.showContent;\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.showContent = false;\r\n }\r\n\r\n @HostListener('click') click() {\r\n this.showContent = !this.showContent;\r\n }\r\n\r\n // @HostBinding('style.z-index')\r\n // get zIndexStyle(): number {\r\n // return this.zIndex;\r\n // }\r\n\r\n}\r\n","<div\r\n *ngIf=\"showContent && additionalShowCondition\"\r\n [ngStyle]=\"{\r\n top: top,\r\n zIndex: zIndex\r\n }\"\r\n [ngClass]=\"['tooltip__text__box', position, autoSize ? 'autoSize' : '']\"\r\n>\r\n <div class=\"tooltip__text\">{{ text }}</div>\r\n</div>\r\n<ng-content></ng-content>\r\n","import { Component, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-breadcrumb',\r\n templateUrl: './af-connect-breadcrumb.component.html',\r\n styleUrls: ['./af-connect-breadcrumb.component.scss']\r\n})\r\nexport class AfConnectBreadcrumbComponent {\r\n @Input() currentPage: string;\r\n\r\n public goToDashboard() {\r\n // this.router.navigate(['/dashboard']);\r\n }\r\n\r\n constructor(private router: Router) {}\r\n}\r\n","<div class=\"breadcrumb-wrapper\">\r\n <div class=\"breadcrumb-container\">\r\n <div class=\"home-icon-container\" (click)=\"goToDashboard()\">\r\n <lib-af-connect-svg-button [customSize]=\"24\" src=\"../../../assets/icons/home.svg\" emitValue=\"isCloseModal\"></lib-af-connect-svg-button>\r\n </div>\r\n <div class=\"titles-container\">\r\n <div class=\"home-title\" (click)=\"goToDashboard()\">Home</div>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n <div class=\"current-title\">{{ currentPage }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n ","export type SolutionsProduct = 'invest' | 'myMoneyMatters' | 'afplus';\r\nexport interface SoluctionsProductData {\r\n imgWeb: string;\r\n hideArrowIcon?: boolean | null;\r\n imgMobile: string;\r\n heading: string;\r\n subheading: string;\r\n description: string;\r\n ctaTitle: string;\r\n ctaLink: string;\r\n labels: {\r\n img?: string;\r\n text: string;\r\n }[],\r\n bottomCtaTitle?: string;\r\n bottomCtaLink?: string;\r\n}\r\n\r\nexport const data: Record<SolutionsProduct, SoluctionsProductData> = {\r\n 'invest': {\r\n imgWeb: 'solutions-invest.jpg',\r\n imgMobile: 'solutions-invest-mobile.jpg',\r\n heading: 'Start investing today',\r\n subheading: 'A smarter, simpler way to invest and grow your wealth over time.',\r\n description: 'Consolidate your existing ones with our award-winning digital platform—designed to make investing easy and seamless for you',\r\n ctaTitle: 'Explore',\r\n ctaLink: 'https://invest.alexforbes.com/za/en/invest/',\r\n labels: [\r\n {\r\n img: 'document-clock-blue.svg',\r\n text: 'Apply without paperwork'\r\n },\r\n {\r\n img: 'phone-text-bubbles-blue.svg',\r\n text: 'Get online Digital-advice'\r\n },\r\n {\r\n img: 'devices-blue.svg',\r\n text: 'Access your statements'\r\n },\r\n ]\r\n },\r\n 'myMoneyMatters': {\r\n imgWeb: 'solutions-mmm.jpg',\r\n imgMobile: 'solutions-mmm-mobile.jpg',\r\n heading: 'My money matters',\r\n subheading: 'Get the most out of your money',\r\n description: 'Are you starting a new job, leaving a job, retiring soon, or just trying to achieve your financial goals? My Money Matters Toolkit provided guided decision journeys for important financial moments during people’ working lives and beyond.',\r\n ctaTitle: 'Explore',\r\n ctaLink: 'https://mymoneymatters.alexforbes.com/',\r\n labels: [\r\n {\r\n img: 'devices-blue.svg',\r\n text: 'My Money Matters toolkit'\r\n },\r\n {\r\n img: 'shield-blue.svg',\r\n text: 'Investing for a goal'\r\n },\r\n {\r\n img: 'hourglass-blue.svg',\r\n text: 'Save for retirement'\r\n },\r\n ]\r\n },\r\n 'afplus': {\r\n imgWeb: 'solutions-afplus.jpg',\r\n imgMobile: 'solutions-afplus-mobile.jpg',\r\n heading: 'A F +',\r\n subheading: 'Financial decisions with confidence',\r\n description: 'AF+ is a new digital platform that connects you to expertly chosen financial solutions to help you make decisions with ease and confidence. Reduce your financial stress and focus on what matters Consolidate debt and negotiate affordable payment terms to you.',\r\n ctaTitle: 'Explore',\r\n ctaLink: 'https://plus.alexforbes.com/?utm_source=afwebsite&utm_campaign=AFWebsite&utm_medium=Web&utm_term=Explore&utm_content=Explore%20AF%2B%20solutions',\r\n labels: [\r\n {\r\n img: 'price-tag-blue.svg',\r\n text: 'Retailer discounts'\r\n },\r\n {\r\n img: 'travel-blue.svg',\r\n text: 'Travel and lifestyle'\r\n },\r\n {\r\n img: 'basket-blue.svg',\r\n text: 'Benefits'\r\n },\r\n ]\r\n },\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { BreakpointLibService } from '../services/breakpoint.service';\r\nimport { data, SoluctionsProductData, SolutionsProduct } from './af-connect-solutions-product.data';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-solutions-product',\r\n templateUrl: './af-connect-solutions-product.component.html',\r\n styleUrls: ['./af-connect-solutions-product.component.scss']\r\n})\r\nexport class AfConnectSolutionsProductComponent {\r\n private _variant: SolutionsProduct = 'invest';\r\n\r\n @Input() direction: 'default' | 'reverse' = 'default';\r\n @Input()\r\n get variant() {\r\n return this._variant;\r\n }\r\n set variant(value: SolutionsProduct) {\r\n this._variant = value;\r\n this.content = data[value];\r\n }\r\n\r\n content: SoluctionsProductData;\r\n\r\n constructor(public breakpointService: BreakpointLibService) {}\r\n\r\n navigateExternal() {\r\n window.open(this.content.ctaLink, '_blank');\r\n }\r\n}\r\n","<section [ngClass]=\"['wrapper', direction, variant]\">\r\n @if (!(breakpointService.isMobile$ | async)) {\r\n <div class=\"image-container\">\r\n <img [src]=\"'/assets/images/' + content.imgWeb\">\r\n </div>\r\n }\r\n <div class=\"content\">\r\n <header>\r\n <span class=\"line\"></span>\r\n <h3>{{ content.heading }}</h3>\r\n <h4>{{ content.subheading }}</h4>\r\n </header>\r\n @if (!(breakpointService.isMobile$ | async)) {\r\n <p>{{ content.description }}</p>\r\n }\r\n @else {\r\n <div class=\"image-container\">\r\n <img [src]=\"'/assets/images/' + content.imgMobile\">\r\n <p>{{ content.description }}</p>\r\n </div>\r\n }\r\n <lib-af-connect-button \r\n class=\"regular\"\r\n [title]=\"content.ctaTitle\"\r\n variant=\"filled\"\r\n (clickBtn)=\"navigateExternal()\"\r\n ></lib-af-connect-button>\r\n <div class=\"labels\">\r\n @for (label of content.labels; track $index) {\r\n <div class=\"label\">\r\n <img [src]=\"'/assets/icons/' + label.img\">\r\n <span>{{ label.text }}</span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-savings-banner',\r\n templateUrl: './af-connect-savings-banner.component.html',\r\n styleUrls: ['./af-connect-savings-banner.component.scss']\r\n})\r\nexport class AfConnectSavingsBannerComponent {\r\n @Input() url: string;\r\n\r\n navigateExternal() {\r\n window.open( this.url, '_blank');\r\n }\r\n}\r\n","<section class=\"wrapper\">\r\n <div class=\"main-content\">\r\n <span class=\"chip\">AF Rewards</span>\r\n <h2>MAX YOUR SAVINGS!</h2>\r\n <p>A dynamic shopping experience—get vouchers, shop online or in-store, and save with no limits or costs!</p>\r\n </div>\r\n <div class=\"pill\">\r\n <span>Start saving today!</span>\r\n <lib-af-connect-button\r\n variant=\"filled\"\r\n title=\"Discover more\"\r\n class=\"regular regular-pill\"\r\n (clickBtn)=\"navigateExternal()\"\r\n ></lib-af-connect-button>\r\n </div>\r\n</section>\r\n","import { SoluctionsProductData } from '../af-connect-solutions-product/af-connect-solutions-product.data';\r\n\r\nexport type SolutionsProductV2 = 'myMoneyMatters' | 'afplus' | 'advice' | 'namEducation' | 'namDebt' | 'namJobs' | 'taxTim' | 'wellTec' | 'will' | 'education' | 'rewards' | 'invest'| 'botEducation' | 'botDebt' | 'botJobs';\r\n\r\nexport const data: Record<SolutionsProductV2, Partial<SoluctionsProductData>> = {\r\n 'afplus': {\r\n hideArrowIcon : false,\r\n heading: 'A F +',\r\n imgWeb: 'solutions-afplus-v2.jpg',\r\n subheading: 'Financial decisions with confidence',\r\n ctaLink: 'https://plus.alexforbes.com/?utm_source=afwebsite&utm_campaign=AFWebsite&utm_medium=Web&utm_term=Explore&utm_content=Explore%20AF%2B%20solutions',\r\n labels: [\r\n {\r\n img: 'price-tag-blue.svg',\r\n text: 'Retailer discounts'\r\n },\r\n {\r\n img: 'travel-blue.svg',\r\n text: 'Travel and lifestyle'\r\n },\r\n {\r\n img: 'basket-blue.svg',\r\n text: 'Benefits'\r\n },\r\n ]\r\n },\r\n 'myMoneyMatters': {\r\n hideArrowIcon : false,\r\n heading: 'My money matters',\r\n imgWeb: 'solutions-mmm-v2.jpg',\r\n subheading: 'Get the most out of your money',\r\n description: 'Explore My Money Matters Toolkit',\r\n ctaLink: 'https://mymoneymatters.alexforbes.com/',\r\n labels: [\r\n {\r\n text: 'Saving for emergencies'\r\n },\r\n {\r\n text: 'Choose the right medical aid for your budget'\r\n },\r\n {\r\n text: 'Avoid stress and manage your debt'\r\n }\r\n ]\r\n },\r\n 'advice': {\r\n hideArrowIcon : false,\r\n heading: 'Expert advice',\r\n imgWeb: 'solutions-advice.jpg',\r\n subheading: 'Plan your future with expert advice',\r\n ctaLink: 'https://advice.alexforbes.com/index.html',\r\n labels: [\r\n {\r\n text: 'Build a holistic financial plan'\r\n },\r\n {\r\n text: 'Save for meaningful life goals'\r\n },\r\n {\r\n text: 'Partner with your own financial adviser'\r\n }\r\n ]\r\n },\r\n 'namEducation': {\r\n hideArrowIcon : false,\r\n heading: 'Member Education Matters',\r\n imgWeb: 'nam_s4u_pier.png',\r\n description: 'Key financial topics to help you make informed decisions.',\r\n labels: [\r\n {\r\n text: 'Understand retirement savings and benefit options'\r\n },\r\n {\r\n text: 'Learn how to manage debt and improve financial wellness'\r\n },\r\n {\r\n text: 'Get guidance on insurance and financial protection'\r\n }\r\n ]\r\n },\r\n 'namDebt': {\r\n hideArrowIcon : false,\r\n heading: 'Managing Debt Wisely',\r\n imgWeb: 'nam_s4u_sunset_tree.png',\r\n description: 'Simple ways to reduce debt and improve your finances.',\r\n labels: [\r\n {\r\n text: 'Understand your credit score and overall debt risk'\r\n },\r\n {\r\n text: 'Pay more toward high-interest debt to reduce it faster'\r\n },\r\n {\r\n text: 'Create a repayment plan and review it regularly'\r\n }\r\n ]\r\n },\r\n 'namJobs': {\r\n hideArrowIcon : false,\r\n heading: 'Changing Jobs?',\r\n imgWeb: 'nam_s4u_broadwalk.png',\r\n subheading: 'Keep your retirement savings invested',\r\n description: 'Maintain emergency savings and adequate insurance.',\r\n labels: [\r\n {\r\n text: 'Contribute as much as possible'\r\n },\r\n {\r\n text: 'Manage debt wisely'\r\n },\r\n {\r\n text: 'Consult a financial adviser for guidance'\r\n }\r\n ]\r\n },\r\n 'taxTim': {\r\n hideArrowIcon : false,\r\n imgWeb: 'solutions-taxtim.jpg',\r\n heading: 'Tax made easy',\r\n description: 'Simplified tax filing, exclusive value for Alexforbes members.',\r\n ctaLink: 'https://www.taxtim.com/za/get-started?210',\r\n labels: [\r\n {\r\n text: 'Guided digital help with your tax return'\r\n },\r\n {\r\n text: 'Smart prompts ensure accuracy and completeness of your return'\r\n },\r\n {\r\n text: 'Seamless integration with SARS eFilling for direct submission'\r\n },\r\n // {\r\n // text: 'Use code <strong style=\"color:#15808D;\">ALEXFORBES25</strong> and save 25% today'\r\n // }\r\n ]\r\n },\r\n 'wellTec': {\r\n hideArrowIcon : false,\r\n heading: 'Take control of your debt',\r\n imgWeb: 'solutions-welltec.jpg',\r\n description: 'In partnership with Welltec, we make debt management simple.',\r\n ctaLink: 'https://welltec.co.za',\r\n labels: [\r\n {\r\n text: 'Get a free credit report and improve your credit profile'\r\n },\r\n {\r\n text: 'Reduce what you owe through negotiated settlement discounts'\r\n },\r\n {\r\n text: 'Consolidate multiple debts into one simple, manageable repayment'\r\n },\r\n {\r\n text: 'Start your journey to financial health today'\r\n }\r\n ]\r\n },\r\n 'will': {\r\n hideArrowIcon : false,\r\n heading: 'Will and Testament',\r\n imgWeb: 'solutions-will.jpg',\r\n subheading: 'Don’t leave your family in a really awkward position',\r\n description: 'Have a will written - Alexforbes can help you with.',\r\n labels: [\r\n {\r\n text: 'Drafting of local and international wills'\r\n },\r\n {\r\n text: 'Executorships and administration of deceased estates'\r\n },\r\n {\r\n text: 'Formation and administration of charitable trusts, inter vivo trusts and testamentary trusts'\r\n }\r\n ]\r\n },\r\n 'education': {\r\n hideArrowIcon : false,\r\n heading: 'Member education matters',\r\n imgWeb: 'solutions-will.jpg',\r\n description: 'Key financial topics to help you make informed decisions.',\r\n ctaLink: 'https://mymoneymatters.alexforbes.com/',\r\n labels: [\r\n {\r\n text: 'Understand retirement savings and benefit options'\r\n },\r\n {\r\n text: 'Learn how to manage debt and improve financial wellness'\r\n },\r\n {\r\n text: 'Get guidance on insurance and financial protection'\r\n }\r\n ]\r\n },\r\n 'rewards' :{\r\n hideArrowIcon : false,\r\n heading: 'AF Rewards – save on loved brands',\r\n imgWeb: 'solutions-rewards.png',\r\n description: 'Exclusive discounts and lifestyle benefits from leading brands, all in one place.',\r\n ctaLink: 'https://rewards.alexforbes.com/landingpage',\r\n labels:[\r\n {\r\n text: 'Airtime & data deals – stay connected on discounted airtime/data deals'\r\n },\r\n {\r\n text: 'Supermarket savings on groceries and household essentials'\r\n },\r\n {\r\n text: 'Travel deals – discounted rates on holiday deals'\r\n },\r\n {\r\n text: 'Wellness benefits – wellbeing vouchers at discounted rates'\r\n }\r\n ]\r\n },\r\n 'invest' :{\r\n hideArrowIcon : false,\r\n heading: 'Start investing today',\r\n description: 'A smarter, simpler way to invest and grow your wealth over time.',\r\n imgWeb: 'solutions-invest.jpg',\r\n ctaLink: 'https://online.invest.alexforbes.com/Advice/ProductSelection',\r\n labels:[\r\n {\r\n text: 'Consolidate your existing investment with our award winning digital platform'\r\n },\r\n {\r\n text: 'Apply without paperwork'\r\n },\r\n {\r\n text: 'Get online Digital-advice'\r\n }\r\n ],\r\n bottomCtaTitle: 'Get a free quote now',\r\n bottomCtaLink: 'https://online.invest.alexforbes.com/Advice/ProductSelection'\r\n },\r\n 'botEducation': {\r\n hideArrowIcon: true,\r\n heading: 'Member Education Matters',\r\n imgWeb: 'nam_s4u_pier.png',\r\n description: 'Key financial topics to help you make informed decisions.',\r\n labels: [\r\n {\r\n text: 'Understand retirement savings and benefit options'\r\n },\r\n {\r\n text: 'Learn how to manage debt and improve financial wellness'\r\n },\r\n {\r\n text: 'Get guidance on insurance and financial protection'\r\n }\r\n ]\r\n },\r\n 'botDebt': {\r\n hideArrowIcon: true,\r\n heading: 'Managing Debt Wisely',\r\n imgWeb: 'nam_s4u_sunset_tree.png',\r\n description: 'Simple ways to reduce debt and improve your finances.',\r\n labels: [\r\n {\r\n text: 'Understand your credit score and overall debt risk'\r\n },\r\n {\r\n text: 'Pay more toward high-interest debt to reduce it faster'\r\n },\r\n {\r\n text: 'Create a repayment plan and review it regularly'\r\n }\r\n ]\r\n },\r\n 'botJobs': {\r\n hideArrowIcon: true,\r\n heading: 'Changing Jobs?',\r\n imgWeb: 'nam_s4u_broadwalk.png',\r\n subheading: 'Keep your retirement savings invested',\r\n description: 'Maintain emergency savings and adequate insurance.',\r\n labels: [\r\n {\r\n text: 'Contribute as much as possible'\r\n },\r\n {\r\n text: 'Manage debt wisely'\r\n },\r\n {\r\n text: 'Consult a financial adviser for guidance'\r\n }\r\n ]\r\n }\r\n};","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer){}\r\n\r\n transform(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}","import { Component, computed, EventEmitter, input, Input, Output } from '@angular/core';\r\nimport { data, SolutionsProductV2 } from './af-connect-solutions-product-v2.data';\r\nimport { SoluctionsProductData as SolutionsProductDetails } from '../af-connect-solutions-product/af-connect-solutions-product.data';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-solutions-product-v2',\r\n templateUrl: './af-connect-solutions-product-v2.component.html',\r\n styleUrl: './af-connect-solutions-product-v2.component.scss'\r\n})\r\nexport class AfConnectSolutionsProductV2Component {\r\n private _variant: SolutionsProductV2 = 'afplus';\r\n \r\n @Input()\r\n get variant() {\r\n return this._variant;\r\n }\r\n set variant(value: SolutionsProductV2) {\r\n this._variant = value;\r\n this.content = data[value];\r\n }\r\n \r\n taxTimPromoCodeEffectiveFrom = input(new Date('2027-06-30T22:00:00Z')); // accounting for timezone offset\r\n taxTimPromoCodeListItem = computed(() => {\r\n const currentDate = new Date();\r\n\r\n return currentDate < this.taxTimPromoCodeEffectiveFrom()\r\n ? 'Save 30% with your exclusive early bird code - <strong style=\"color:#15808D;\">ALEXFORBES30</strong>'\r\n : 'Use code <strong style=\"color:#15808D;\">ALEXFORBES25</strong> and save 25% today';\r\n });\r\n\r\n @Output()\r\n navigateToProduct = new EventEmitter<void>();\r\n @Output()\r\n linkClick = new EventEmitter<string>();\r\n\r\n content: Partial<SolutionsProductDetails>;\r\n\r\n onClick() {\r\n this.navigateToProduct.emit();\r\n }\r\n onLinkClick() {\r\n this.linkClick.emit(this._variant);\r\n }\r\n}\r\n","<section [ngClass]=\"['product', variant]\">\r\n <div class=\"product__img-wrapper\">\r\n <img class=\"product__img\" [src]=\"'/assets/images/' + content.imgWeb\">\r\n </div>\r\n <div class=\"product__content\">\r\n <div class=\"product__floating-header\" [class.hide-arrow]=\"content.hideArrowIcon\">\r\n <h3 class=\"product__heading\">{{ content.heading }}</h3>\r\n <div class=\"product__floating-header-inner\" [class.no-text]=\"!content.subheading\">\r\n @if (variant !== 'taxTim') {\r\n <span class=\"product__description\">{{ content.subheading }}</span>\r\n }\r\n @else {\r\n <img src=\"assets/icons/taxtim_logo.svg\" alt=\"TaxTim\" width=\"104px\">\r\n }\r\n @if(!content.hideArrowIcon){\r\n <a *ngIf=\"content.ctaLink; else anchorTemplate \" class=\"product__link\" (click)=\"onLinkClick()\" [href]=\"content.ctaLink\"\r\n target=\"_blank\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n <ul class=\"product__list\">\r\n @if (content.description) {\r\n <p class=\"product__free-text\">\r\n {{ content.description }}\r\n </p>\r\n }\r\n @for (label of content.labels; track $index) {\r\n <li class=\"product__list-item\">\r\n @if (label.img) {\r\n <img [src]=\"'/assets/icons/' + label.img\" width=\"40px\">\r\n }\r\n @else {\r\n <img [src]=\"'/assets/icons/checkmark-teal.svg'\" alt=\"checkmark\" width=\"32\" height=\"32\">\r\n }\r\n <span [innerHTML]=\"label.text | safeHtml\"></span>\r\n </li>\r\n }\r\n @if (variant === 'taxTim') {\r\n <li class=\"product__list-item\">\r\n <img [src]=\"'/assets/icons/checkmark-teal.svg'\" alt=\"checkmark\" width=\"32\" height=\"32\">\r\n <span [innerHTML]=\"taxTimPromoCodeListItem() | safeHtml\"></span>\r\n </li>\r\n }\r\n </ul>\r\n @if (content.bottomCtaTitle && content.bottomCtaLink) {\r\n <div class=\"product__bottom-cta\">\r\n <span >\r\n {{ content.bottomCtaTitle }}\r\n </span>\r\n <a class=\"product__link\" (click)=\"onLinkClick()\" [href]=\"content.bottomCtaLink\" target=\"_blank\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n<ng-template #anchorTemplate>\r\n <a class=\"product__link\" href=\"javascript:void(0)\" (click)=\"onClick()\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { AfConnectComponentsComponent } from './af-connect-components.component';\r\nimport { AfConnectFooterComponent } from './af-connect-footer/af-connect-footer.component';\r\nimport { AfConnectHeaderComponent } from './af-connect-header/af-connect-header.component';\r\nimport { ExpandableWrapperComponent } from './expandable/afc-expandable-wrapper/afc-expandable-wrapper.component';\r\nimport { ExpandableArrowComponent } from './expandable/expandable-arrow/expandable-arrow.component';\r\nimport { ExpandableContainerComponent } from './expandable/expandable-container/expandable-container.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreakpointLibService } from './services/breakpoint.service';\r\nimport { AfConnectProfileDropdown } from './af-connect-profile-dropdown/af-connect-profile-dropdown.component';\r\nimport { GetinItialsPipe } from '../shared/pipes/get-initials';\r\nimport { FaqComponent } from './faq/faq/faq.component';\r\nimport { FaqItemComponent } from './faq/faq-item/faq-item.component';\r\nimport { ImageWithFallbackComponent, ImageWithFallbackDirective } from './faq/image-fallback/image-fallback.component';\r\nimport { AfConnectProductsCarouselComponent } from './af-connect-products-carousel/af-connect-products-carousel.component';\r\nimport { ImageCardComponent } from './af-connect-products-carousel/image-card/image-card.component';\r\nimport { AfConnectButtonComponent } from './af-connect-button/af-connect-button.component';\r\nimport { AfConnectContentComponent } from './af-connect-content/af-connect-content.component';\r\nimport { AfConnectDatepickerComponent } from './af-connect-datepicker/af-connect-datepicker.component';\r\nimport { AfConnectInputComponent } from './af-connect-input/af-connect-input.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AfConnectFormValidationErrorsComponent } from './af-connect-form-validation-errors/af-connect-form-validation-errors.component';\r\nimport { AfConnectFormGroupComponent } from './af-connect-form-group/af-connect-form-group.component';\r\nimport { AfConnectCardComponent } from './af-connect-card/af-connect-card.component';\r\nimport { AfConnectCardHeaderComponent } from './af-connect-card/af-connect-card-header/af-connect-card-header.component';\r\nimport { AfConnectChipComponent } from './af-connect-chip/af-connect-chip.component';\r\nimport { AfConnectChartComponent } from './af-connect-chart/af-connect-chart.component';\r\nimport { AfConnectErrorComponent } from './af-connect-error/af-connect-error.component';\r\nimport { AfConnectInlineErrorComponent } from './af-connect-inline-error/af-connect-inline-error.component';\r\nimport { AfConnectLoadingSpinnerComponent } from './af-connect-loading-spinner/af-connect-loading-spinner.component';\r\nimport { AfConnectModalComponent } from './af-connect-modal/af-connect-modal.component';\r\nimport { AfConnectNoContentComponent } from './af-connect-no-content/af-connect-no-content.component';\r\nimport { AfConnectNotificationComponent } from './af-connect-notification/af-connect-notification.component';\r\nimport { AfConnectProgressBarComponent } from './af-connect-progress-bar/af-connect-progress-bar.component';\r\nimport { AfConnectRadioButtonComponent } from './af-connect-radio-button/af-connect-radio-button.component';\r\nimport { AfConnectRadioGroupComponent } from './af-connect-radio-group/af-connect-radio-group.component';\r\nimport { AfConnectSectionComponent } from './af-connect-section/af-connect-section.component';\r\nimport { AfConnectSectionHeaderComponent } from './af-connect-section-header/af-connect-section-header.component';\r\nimport { AfConnectSelectComponent } from './af-connect-select/af-connect-select.component';\r\nimport { AfConnectSvgButtonComponent } from './af-connect-svg-button/af-connect-svg-button.component';\r\nimport { AfConnectTabComponent } from './af-connect-tab/af-connect-tab.component';\r\nimport { AfConnectTabsComponent } from './af-connect-tabs/af-connect-tabs.component';\r\nimport { AfConnectTableComponent } from './af-connect-table/af-connect-table.component';\r\nimport { AfConnectToasterMessageComponent } from './af-connect-toaster-message/af-connect-toaster-message.component';\r\nimport { AfConnectToggleButtonComponent } from './af-connect-toggle-button/af-connect-toggle-button.component';\r\nimport { AfConnectTooltipComponent } from './af-connect-tooltip/af-connect-tooltip.component';\r\nimport { AfConnectBreadcrumbComponent } from './af-connect-breadcrumb/af-connect-breadcrumb.component';\r\nimport { AfConnectSolutionsProductComponent } from './af-connect-solutions-product/af-connect-solutions-product.component';\r\nimport { AfConnectSavingsBannerComponent } from './af-connect-savings-banner/af-connect-savings-banner.component';\r\nimport { AfConnectSolutionsProductV2Component } from './af-connect-solutions-product-v2/af-connect-solutions-product-v2.component';\r\nimport { SafeHtmlPipe } from './pipes/safe-html.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n AfConnectComponentsComponent,\r\n AfConnectHeaderComponent,\r\n AfConnectFooterComponent,\r\n AfConnectProfileDropdown,\r\n GetinItialsPipe,\r\n ExpandableContainerComponent,\r\n ExpandableArrowComponent,\r\n ExpandableWrapperComponent,\r\n FaqComponent,\r\n FaqItemComponent,\r\n ImageWithFallbackDirective,\r\n ImageWithFallbackComponent,\r\n AfConnectProductsCarouselComponent,\r\n ImageCardComponent,\r\n AfConnectButtonComponent,\r\n AfConnectContentComponent,\r\n AfConnectDatepickerComponent,\r\n AfConnectInputComponent,\r\n AfConnectFormValidationErrorsComponent,\r\n AfConnectFormGroupComponent,\r\n AfConnectCardComponent,\r\n AfConnectCardHeaderComponent,\r\n AfConnectChipComponent,\r\n AfConnectChartComponent,\r\n AfConnectErrorComponent,\r\n AfConnectInlineErrorComponent,\r\n AfConnectLoadingSpinnerComponent,\r\n AfConnectModalComponent,\r\n AfConnectNoContentComponent,\r\n AfConnectNotificationComponent,\r\n AfConnectProgressBarComponent,\r\n AfConnectRadioButtonComponent,\r\n AfConnectRadioGroupComponent,\r\n AfConnectSectionComponent,\r\n AfConnectSectionHeaderComponent,\r\n AfConnectSelectComponent,\r\n AfConnectSvgButtonComponent,\r\n AfConnectTabComponent,\r\n AfConnectTabsComponent,\r\n AfConnectTableComponent,\r\n AfConnectToasterMessageComponent,\r\n AfConnectToggleButtonComponent,\r\n AfConnectTooltipComponent,\r\n AfConnectBreadcrumbComponent,\r\n AfConnectSolutionsProductComponent,\r\n AfConnectSavingsBannerComponent,\r\n AfConnectSolutionsProductV2Component,\r\n SafeHtmlPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n providers: [BreakpointLibService],\r\n exports: [\r\n AfConnectComponentsComponent,\r\n AfConnectHeaderComponent,\r\n AfConnectFooterComponent,\r\n FaqComponent,\r\n FaqItemComponent,\r\n ImageWithFallbackDirective,\r\n ImageWithFallbackComponent,\r\n AfConnectProductsCarouselComponent,\r\n AfConnectButtonComponent,\r\n AfConnectContentComponent,\r\n AfConnectDatepickerComponent,\r\n AfConnectInputComponent,\r\n AfConnectFormValidationErrorsComponent,\r\n AfConnectFormGroupComponent,\r\n AfConnectCardComponent,\r\n AfConnectCardHeaderComponent,\r\n AfConnectChipComponent,\r\n AfConnectChartComponent,\r\n AfConnectErrorComponent,\r\n AfConnectInlineErrorComponent,\r\n AfConnectLoadingSpinnerComponent,\r\n AfConnectModalComponent,\r\n AfConnectNoContentComponent,\r\n AfConnectNotificationComponent,\r\n AfConnectProgressBarComponent,\r\n AfConnectRadioButtonComponent,\r\n AfConnectRadioGroupComponent,\r\n AfConnectSectionComponent,\r\n AfConnectSectionHeaderComponent,\r\n AfConnectSelectComponent,\r\n AfConnectSvgButtonComponent,\r\n AfConnectTabComponent,\r\n AfConnectTabsComponent,\r\n AfConnectTableComponent,\r\n AfConnectToasterMessageComponent,\r\n AfConnectToggleButtonComponent,\r\n AfConnectTooltipComponent,\r\n AfConnectBreadcrumbComponent,\r\n AfConnectSolutionsProductComponent,\r\n AfConnectSavingsBannerComponent,\r\n AfConnectSolutionsProductV2Component,\r\n SafeHtmlPipe\r\n ]\r\n})\r\nexport class AfConnectComponentsModule { }\r\n","/*\r\n * Public API Surface of af-connect-components\r\n */\r\n\r\nexport * from './lib/af-connect-components.service';\r\nexport * from './lib/af-connect-components.component';\r\nexport * from './lib/af-connect-components.module';\r\nexport * from './lib/af-connect-footer/af-connect-footer.component';\r\nexport * from './lib/faq/faq/faq.component';\r\nexport * from './lib/faq/faq-item/faq-item.component';\r\nexport * from './lib/faq/image-fallback/image-fallback.component';\r\nexport * from './lib/af-connect-header/af-connect-header.component';\r\nexport * from './lib/af-connect-products-carousel/af-connect-products-carousel.component';\r\nexport * from './lib/af-connect-button/af-connect-button.component';\r\nexport * from './lib/af-connect-card/af-connect-card.component';\r\nexport * from './lib/af-connect-card/af-connect-card-header/af-connect-card-header.component';\r\nexport * from './lib/af-connect-chart/af-connect-chart.component';\r\nexport * from './lib/af-connect-chip/af-connect-chip.component';\r\nexport * from './lib/af-connect-content/af-connect-content.component';\r\nexport * from './lib/af-connect-datepicker/af-connect-datepicker.component';\r\nexport * from './lib/af-connect-error/af-connect-error.component';\r\nexport * from './lib/af-connect-form-group/af-connect-form-group.component';\r\nexport * from './lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component';\r\nexport * from './lib/af-connect-inline-error/af-connect-inline-error.component';\r\nexport * from './lib/af-connect-input/af-connect-input.component';\r\nexport * from './lib/af-connect-loading-spinner/af-connect-loading-spinner.component';\r\nexport * from './lib/af-connect-modal/af-connect-modal.component';\r\nexport * from './lib/af-connect-no-content/af-connect-no-content.component';\r\nexport * from './lib/af-connect-notification/af-connect-notification.component';\r\nexport * from './lib/af-connect-progress-bar/af-connect-progress-bar.component';\r\nexport * from './lib/af-connect-radio-button/af-connect-radio-button.component';\r\nexport * from './lib/af-connect-radio-group/af-connect-radio-group.component';\r\nexport * from './lib/af-connect-section/af-connect-section.component';\r\nexport * from './lib/af-connect-section-header/af-connect-section-header.component';\r\nexport * from './lib/af-connect-select/af-connect-select.component';\r\nexport * from './lib/af-connect-svg-button/af-connect-svg-button.component';\r\nexport * from './lib/af-connect-tab/af-connect-tab.component';\r\nexport * from './lib/af-connect-table/af-connect-table.component';\r\nexport * from './lib/af-connect-tabs/af-connect-tabs.component';\r\nexport * from './lib/af-connect-toaster-message/af-connect-toaster-message.component';\r\nexport * from './lib/af-connect-toggle-button/af-connect-toggle-button.component';\r\nexport * from './lib/af-connect-tooltip/af-connect-tooltip.component';\r\nexport * from './lib/af-connect-breadcrumb/af-connect-breadcrumb.component';\r\nexport * from './lib/af-connect-solutions-product/af-connect-solutions-product.component';\r\nexport * from './lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component';\r\nexport * from './lib/af-connect-savings-banner/af-connect-savings-banner.component';\r\nexport * from './lib/pipes/safe-html.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ExpandableWrapperComponent","i2","i1.BreakpointLibService","i3.ExpandableContainerComponent","i4.ExpandableArrowComponent","i5.ExpandableWrapperComponent","i1","i1.AfConnectRadioGroupComponent","i3.BreakpointLibService","i4","i5.AfConnectRadioButtonComponent","i6.AfConnectRadioGroupComponent","i3.AfConnectProfileDropdown","i1.ExpandableContainerComponent","i2.ExpandableArrowComponent","i3.ExpandableWrapperComponent","i2.FaqItemComponent","i2.ImageCardComponent","i3.AfConnectFormValidationErrorsComponent","i2.AfConnectSvgButtonComponent","i3.AfConnectSvgButtonComponent","data","i3.AfConnectButtonComponent","i1.AfConnectButtonComponent","i2.SafeHtmlPipe"],"mappings":"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"}
1
+ {"version":3,"file":"af-connect-components.mjs","sources":["../../../projects/af-connect-components/src/lib/af-connect-components.service.ts","../../../projects/af-connect-components/src/lib/af-connect-components.component.ts","../../../projects/af-connect-components/src/lib/af-connect-footer/af-connect-footer.data.ts","../../../projects/af-connect-components/src/lib/services/breakpoint.service.ts","../../../projects/af-connect-components/src/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.ts","../../../projects/af-connect-components/src/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.html","../../../projects/af-connect-components/src/lib/expandable/expandable-container/expandable-container.component.ts","../../../projects/af-connect-components/src/lib/expandable/expandable-container/expandable-container.component.html","../../../projects/af-connect-components/src/lib/expandable/expandable-arrow/expandable-arrow.component.ts","../../../projects/af-connect-components/src/lib/expandable/expandable-arrow/expandable-arrow.component.html","../../../projects/af-connect-components/src/lib/af-connect-footer/af-connect-footer.component.ts","../../../projects/af-connect-components/src/lib/af-connect-footer/af-connect-footer.component.html","../../../projects/af-connect-components/src/lib/af-connect-radio-group/af-connect-radio-group.component.ts","../../../projects/af-connect-components/src/lib/af-connect-radio-group/af-connect-radio-group.component.html","../../../projects/af-connect-components/src/lib/af-connect-radio-button/af-connect-radio-button.component.ts","../../../projects/af-connect-components/src/lib/af-connect-radio-button/af-connect-radio-button.component.html","../../../projects/af-connect-components/src/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.ts","../../../projects/af-connect-components/src/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.html","../../../projects/af-connect-components/src/lib/af-connect-header/af-connect-header.component.ts","../../../projects/af-connect-components/src/lib/af-connect-header/af-connect-header.component.html","../../../projects/af-connect-components/src/shared/pipes/get-initials.ts","../../../projects/af-connect-components/src/lib/faq/faq-item/faq-item.component.ts","../../../projects/af-connect-components/src/lib/faq/faq-item/faq-item.component.html","../../../projects/af-connect-components/src/lib/faq/faq/faq.component.ts","../../../projects/af-connect-components/src/lib/faq/faq/faq.component.html","../../../projects/af-connect-components/src/lib/faq/image-fallback/image-fallback.component.ts","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/defaultConfig.ts","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/image-card/image-card.component.ts","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/image-card/image-card.component.html","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/af-connect-products-carousel.component.ts","../../../projects/af-connect-components/src/lib/af-connect-products-carousel/af-connect-products-carousel.component.html","../../../projects/af-connect-components/src/lib/af-connect-button/af-connect-button.component.ts","../../../projects/af-connect-components/src/lib/af-connect-button/af-connect-button.component.html","../../../projects/af-connect-components/src/lib/af-connect-content/af-connect-content.component.ts","../../../projects/af-connect-components/src/lib/af-connect-content/af-connect-content.component.html","../../../projects/af-connect-components/src/lib/af-connect-datepicker/af-connect-datepicker.component.ts","../../../projects/af-connect-components/src/lib/af-connect-datepicker/af-connect-datepicker.component.html","../../../projects/af-connect-components/src/lib/utilities/number.util.ts","../../../projects/af-connect-components/src/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.ts","../../../projects/af-connect-components/src/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.html","../../../projects/af-connect-components/src/lib/af-connect-input/af-connect-input.component.ts","../../../projects/af-connect-components/src/lib/af-connect-input/af-connect-input.component.html","../../../projects/af-connect-components/src/lib/af-connect-form-group/af-connect-form-group.component.ts","../../../projects/af-connect-components/src/lib/af-connect-form-group/af-connect-form-group.component.html","../../../projects/af-connect-components/src/lib/af-connect-card/af-connect-card.component.ts","../../../projects/af-connect-components/src/lib/af-connect-card/af-connect-card.component.html","../../../projects/af-connect-components/src/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.ts","../../../projects/af-connect-components/src/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.html","../../../projects/af-connect-components/src/lib/af-connect-chip/af-connect-chip.component.ts","../../../projects/af-connect-components/src/lib/af-connect-chip/af-connect-chip.component.html","../../../projects/af-connect-components/src/lib/af-connect-chart/af-connect-chart.component.ts","../../../projects/af-connect-components/src/lib/af-connect-chart/af-connect-chart.component.html","../../../projects/af-connect-components/src/lib/af-connect-error/af-connect-error.component.ts","../../../projects/af-connect-components/src/lib/af-connect-error/af-connect-error.component.html","../../../projects/af-connect-components/src/lib/af-connect-inline-error/af-connect-inline-error.component.ts","../../../projects/af-connect-components/src/lib/af-connect-inline-error/af-connect-inline-error.component.html","../../../projects/af-connect-components/src/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.ts","../../../projects/af-connect-components/src/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.html","../../../projects/af-connect-components/src/lib/af-connect-svg-button/af-connect-svg-button.component.ts","../../../projects/af-connect-components/src/lib/af-connect-svg-button/af-connect-svg-button.component.html","../../../projects/af-connect-components/src/lib/af-connect-modal/af-connect-modal.component.ts","../../../projects/af-connect-components/src/lib/af-connect-modal/af-connect-modal.component.html","../../../projects/af-connect-components/src/lib/af-connect-no-content/af-connect-no-content.component.ts","../../../projects/af-connect-components/src/lib/af-connect-no-content/af-connect-no-content.component.html","../../../projects/af-connect-components/src/lib/af-connect-notification/af-connect-notification.component.ts","../../../projects/af-connect-components/src/lib/af-connect-notification/af-connect-notification.component.html","../../../projects/af-connect-components/src/lib/af-connect-progress-bar/af-connect-progress-bar.component.ts","../../../projects/af-connect-components/src/lib/af-connect-progress-bar/af-connect-progress-bar.component.html","../../../projects/af-connect-components/src/lib/af-connect-section/af-connect-section.component.ts","../../../projects/af-connect-components/src/lib/af-connect-section/af-connect-section.component.html","../../../projects/af-connect-components/src/lib/af-connect-section-header/af-connect-section-header.component.ts","../../../projects/af-connect-components/src/lib/af-connect-section-header/af-connect-section-header.component.html","../../../projects/af-connect-components/src/lib/af-connect-select/af-connect-select.component.ts","../../../projects/af-connect-components/src/lib/af-connect-select/af-connect-select.component.html","../../../projects/af-connect-components/src/lib/af-connect-tab/af-connect-tab.component.ts","../../../projects/af-connect-components/src/lib/af-connect-tab/af-connect-tab.component.html","../../../projects/af-connect-components/src/lib/af-connect-tabs/af-connect-tabs.component.ts","../../../projects/af-connect-components/src/lib/af-connect-tabs/af-connect-tabs.component.html","../../../projects/af-connect-components/src/lib/af-connect-table/af-connect-table.component.ts","../../../projects/af-connect-components/src/lib/af-connect-table/af-connect-table.component.html","../../../projects/af-connect-components/src/lib/af-connect-toaster-message/af-connect-toaster-message.component.ts","../../../projects/af-connect-components/src/lib/af-connect-toaster-message/af-connect-toaster-message.component.html","../../../projects/af-connect-components/src/lib/constants/animation.constants.ts","../../../projects/af-connect-components/src/lib/af-connect-toggle-button/af-connect-toggle-button.component.ts","../../../projects/af-connect-components/src/lib/af-connect-toggle-button/af-connect-toggle-button.component.html","../../../projects/af-connect-components/src/lib/af-connect-tooltip/af-connect-tooltip.component.ts","../../../projects/af-connect-components/src/lib/af-connect-tooltip/af-connect-tooltip.component.html","../../../projects/af-connect-components/src/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.ts","../../../projects/af-connect-components/src/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.html","../../../projects/af-connect-components/src/lib/af-connect-solutions-product/af-connect-solutions-product.data.ts","../../../projects/af-connect-components/src/lib/af-connect-solutions-product/af-connect-solutions-product.component.ts","../../../projects/af-connect-components/src/lib/af-connect-solutions-product/af-connect-solutions-product.component.html","../../../projects/af-connect-components/src/lib/af-connect-savings-banner/af-connect-savings-banner.component.ts","../../../projects/af-connect-components/src/lib/af-connect-savings-banner/af-connect-savings-banner.component.html","../../../projects/af-connect-components/src/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.data.ts","../../../projects/af-connect-components/src/lib/pipes/safe-html.pipe.ts","../../../projects/af-connect-components/src/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component.ts","../../../projects/af-connect-components/src/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component.html","../../../projects/af-connect-components/src/lib/af-connect-components.module.ts","../../../projects/af-connect-components/src/public-api.ts","../../../projects/af-connect-components/src/af-connect-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AfConnectComponentsService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-components',\r\n template: `\r\n <p>\r\n af-connect-components works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class AfConnectComponentsComponent {\r\n\r\n}\r\n","export interface SocialLink {\r\n link: string,\r\n isHidden?: boolean;\r\n}\r\n\r\nexport interface SectionItem {\r\n title: string,\r\n link?: string,\r\n isHidden?: boolean,\r\n bold?: boolean;\r\n}\r\n\r\nexport interface Section {\r\n title?: string,\r\n sectionItems: SectionItem[];\r\n}\r\n\r\n\r\nexport interface FooterConfig {\r\n bannerTitle?: string | undefined,\r\n instagram?: SocialLink,\r\n linkedIn?: SocialLink,\r\n facebook?: SocialLink,\r\n twitter?: SocialLink,\r\n whatsapp?: SocialLink,\r\n sections?: Section[],\r\n address?: Section[],\r\n LegalTerms?: string | undefined,\r\n PrivacyPolicy: string | undefined,\r\n PaiaManual: string | undefined\r\n}\r\n\r\nexport type CountryCode = 'ZA' | 'NA'| 'BW';\r\n\r\nexport const configs: Record<CountryCode, Partial<FooterConfig>> = {\r\n 'ZA': {\r\n sections: [\r\n {\r\n title: 'Company',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/za/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/za/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & compliance',\r\n link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Resources',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'\r\n },\r\n {\r\n title: 'Call me back',\r\n link: 'https://kfta.app.alexanderforbes.co.za/TotalAgility/Forms/Digital/Contact_Us.form',\r\n isHidden: true\r\n },\r\n {\r\n title: 'Compliments',\r\n link: 'https://www.alexforbes.com/za/en/contact/compliments.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Unclaimed benefits',\r\n link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Head Office',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n bold: true\r\n },\r\n {\r\n title: 'Email : info@alexforbes.com',\r\n },\r\n {\r\n title: 'Telephone : +27 11 269 0000',\r\n },\r\n {\r\n title: 'Fax : +27 11 263 0149',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n bold: true\r\n },\r\n {\r\n title: 'Alexforbes',\r\n },\r\n {\r\n title: '115 West Street',\r\n },\r\n {\r\n title: 'Sandton, 2196',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2026 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://www.linkedin.com/company/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesofficial/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n },\r\n whatsapp: {\r\n link:'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',\r\n isHidden: false,\r\n },\r\n LegalTerms: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Alexforbes-AF-Connect-Terms-of-Use-Document.pdf',\r\n PrivacyPolicy: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Privacy_Policy.pdf',\r\n PaiaManual: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=PAIA_Manual.pdf',\r\n },\r\n 'NA': {\r\n sections: [\r\n {\r\n title: 'Company',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/na/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/na/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & compliance',\r\n link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Resources',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/na/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/na/en/contact/Complaints.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Namibia',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n bold: true\r\n },\r\n {\r\n title: 'Email: AFFSNamibia@alexforbes.com',\r\n },\r\n {\r\n title: 'Telephone: +264 (61) 293 7000',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n bold: true\r\n },\r\n {\r\n title: 'Alexforbes House, 1st Floor ',\r\n },\r\n {\r\n title: 'c/o Independence Avenue & Fidel Castro Street',\r\n },\r\n {\r\n title: 'Windhoek, Namibia',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2026 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://na.linkedin.com/showcase/alexforbesnamibia',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesnamibia/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n },\r\n whatsapp: {\r\n link:'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',\r\n isHidden: true,\r\n },\r\n LegalTerms: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Alexforbes-AF-Connect-Terms-of-Use-Document.pdf',\r\n PrivacyPolicy: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=AF-Namibia-Connect-Privacy-Notice.pdf',\r\n },\r\n 'BW': {\r\n sections: [\r\n {\r\n title: 'Company',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/bw/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/bw/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & compliance',\r\n link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Resources',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://invest.alexforbes.com/za/en/resources/business-directory/#tabs--3--Botswana'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/bw/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/bw/en/contact/Complaints.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Botswana',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n bold: true\r\n },\r\n {\r\n title: 'Email:enquiries.botswana@alexforbes.com',\r\n },\r\n {\r\n title: '+267 365 1900 / 1901 / 1948',\r\n },\r\n {\r\n title: 'Fax: +267 395 7552',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n bold: true\r\n },\r\n {\r\n title: 'Alexforbes',\r\n },\r\n {\r\n title: 'Plot 54359, Motswere Building, Prime Plaza II, CBD',\r\n },\r\n {\r\n title: 'Gaborone, Botswana',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2026 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial/',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://www.linkedin.com/showcase/alexforbesbotswana/',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesbotswana/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n },\r\n whatsapp: {\r\n link:'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',\r\n isHidden: true,\r\n },\r\n LegalTerms: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Alexforbes-AF-Connect-Terms-of-Use-Document-UR.pdf',\r\n PrivacyPolicy: 'https://gw.api.alexforbes.com/content/download/investmentsmedia/web?path=Privacy-Policy-UR.pdf',\r\n }\r\n};\r\n\r\n\r\n /**\r\n Footer component for AF Angular Websites. A config object can be passed to change data partially or fully.\r\n\r\n public exampleTestConfig: FooterConfig = {\r\n bannerTitle: 'test'\r\n }\r\n\r\n Passing the exampleTestConfig will replace only the banner. Everything else will be loaded from the default config.\r\n\r\n\r\n defaultConfig: FooterConfig = {\r\n sections: [\r\n {\r\n title: 'COMPANY',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/za/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/za/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & Compliance',\r\n link: 'https://www.alexanderforbesinvestments.co.za/about-us/risk-and-compliance'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'RESOURCES',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'\r\n },\r\n {\r\n title: 'Compliments',\r\n link: 'https://www.alexforbes.com/za/en/contact/compliments.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Unclaimed benefits',\r\n link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Head Office',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n },\r\n {\r\n title: 'Email : info@alexforbes.com',\r\n },\r\n {\r\n title: 'Telephone : +27 11 269 0000',\r\n },\r\n {\r\n title: 'Fax : +27 11 263 0149',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n },\r\n {\r\n title: 'Alexforbes',\r\n },\r\n {\r\n title: '115 West Street',\r\n },\r\n {\r\n title: 'Sandton, 2196',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2022 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://www.linkedin.com/company/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesofficial/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n }\r\n }\r\n */\r\n\r\n /*\r\n public defaultConfig: FooterConfig = {\r\n sections: [\r\n {\r\n title: 'Company',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: 'https://investors.alexforbes.com/'\r\n },\r\n {\r\n title: 'Careers',\r\n link: 'https://www.alexforbes.com/za/en/about/careers.html'\r\n },\r\n {\r\n title: 'Procurement',\r\n link: 'https://www.alexforbes.com/za/en/about/procurement.html'\r\n },\r\n {\r\n title: 'Risk & compliance',\r\n link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Resources',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'\r\n },\r\n {\r\n title: 'Call me back',\r\n link: 'https://kfta.app.alexanderforbes.co.za/TotalAgility/Forms/Digital/Contact_Us.form',\r\n isHidden: true\r\n },\r\n {\r\n title: 'Compliments',\r\n link: 'https://www.alexforbes.com/za/en/contact/compliments.html'\r\n },\r\n {\r\n title: 'Complaints',\r\n link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'\r\n },\r\n {\r\n title: 'Unclaimed benefits',\r\n link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Head Office',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n bold: false\r\n },\r\n {\r\n title: 'Email : info@alexforbes.com',\r\n },\r\n {\r\n title: 'Telephone : +27 11 269 0000',\r\n },\r\n {\r\n title: 'Fax : +27 11 263 0149',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n bold: false\r\n },\r\n {\r\n title: 'Alexforbes',\r\n },\r\n {\r\n title: '115 West Street',\r\n },\r\n {\r\n title: 'Sandton, 2196',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2024 Alexander Forbes Group Holdings Limited.',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://www.linkedin.com/company/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesofficial/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n },\r\n whatsapp: {\r\n link:'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',\r\n isHidden: false,\r\n }\r\n }*/","import { BreakpointObserver } from '@angular/cdk/layout';\r\nimport { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BreakpointLibService {\r\n constructor(private responsive: BreakpointObserver) { }\r\n\r\n public isMobile$ = this.responsive.observe(['(max-width: 768px)']).pipe(map((result) => result.matches));\r\n\r\n public isTablet$ = this.responsive.observe(['(max-width: 1024px)']).pipe(map((result) => !result.matches));\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BehaviorSubject, take } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'afc-expandable-wrapper',\r\n templateUrl: './afc-expandable-wrapper.component.html',\r\n styleUrls: ['./afc-expandable-wrapper.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ExpandableWrapperComponent {\r\n public isExpanded$ = new BehaviorSubject<boolean | null>(null);\r\n\r\n toggleIsExpanded() {\r\n this.isExpanded$\r\n .pipe(take(1))\r\n .subscribe((current) => {\r\n this.isExpanded$.next(!current);\r\n })\r\n .unsubscribe();\r\n }\r\n}\r\n","<div class=\"expandable-wrapper\" (click)=\"toggleIsExpanded()\">\r\n <ng-content select=\"[triggerable]\"></ng-content>\r\n</div>\r\n<ng-content></ng-content>\r\n","import { ChangeDetectionStrategy, Component, Host, Optional } from '@angular/core';\r\nimport { animate, style, transition, trigger, state } from '@angular/animations';\r\nimport { ExpandableWrapperComponent } from '../afc-expandable-wrapper/afc-expandable-wrapper.component';\r\n\r\n@Component({\r\n selector: 'afc-expandable-container',\r\n templateUrl: './expandable-container.component.html',\r\n styleUrls: ['./expandable-container.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [trigger('expandContainer', [\r\n state(\r\n 'collapsed',\r\n style({ height: '0px', minHeight: '0', visibility: 'hidden', border: 'none', overflow: 'hidden' })\r\n ),\r\n state('expanded', style({ height: '*' })),\r\n transition('expanded <=> collapsed', animate('300ms ease-out'))\r\n ])]\r\n})\r\nexport class ExpandableContainerComponent {\r\n constructor(@Host() @Optional() public wrapper: ExpandableWrapperComponent) { }\r\n}\r\n","<div class=\"expand-container\" [@expandContainer]=\"(wrapper.isExpanded$ | async) ? 'expanded' : 'collapsed'\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { animate, style, transition, trigger, state } from '@angular/animations';\r\nimport { ChangeDetectionStrategy, Component, ElementRef, Host, HostListener, Input, OnInit, Optional, ViewChild } from '@angular/core';\r\nimport { ExpandableWrapperComponent } from '../afc-expandable-wrapper/afc-expandable-wrapper.component';\r\n\r\nexport enum AnimationPosition {\r\n right = 0,\r\n bottom = 90,\r\n left = 180,\r\n top = 270,\r\n};\r\n\r\n@Component({\r\n selector: 'afc-expandable-arrow',\r\n templateUrl: './expandable-arrow.component.html',\r\n styleUrls: ['./expandable-arrow.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [trigger('expandableArrow', [\r\n state('collapsed', style({ transform: 'rotate({{collapsedRotation}}deg)' }), { params: {collapsedRotation: '0'} }),\r\n state('expanded', style({ transform: 'rotate({{expandedRotation}}deg)' }), { params: {expandedRotation: '90'} }),\r\n transition('expanded <=> collapsed', animate('300ms ease-out')),\r\n transition('collapsed <=> expanded', animate('300ms ease-out'))\r\n ])]\r\n})\r\nexport class ExpandableArrowComponent implements OnInit {\r\n @Input() color: string = '#454f63';\r\n @Input() startPosition: 'right' | 'bottom' | 'left' | 'top' = 'right';\r\n @Input() endPosition: 'right' | 'bottom' | 'left' | 'top' = 'bottom';\r\n\r\n public collapsedRotation = AnimationPosition['right'];\r\n public expandedRotation = AnimationPosition['bottom'];\r\n\r\n constructor(@Host() @Optional() public wrapper: ExpandableWrapperComponent) { }\r\n\r\n ngOnInit(): void {\r\n this.collapsedRotation = AnimationPosition[this.startPosition];\r\n this.expandedRotation = AnimationPosition[this.endPosition];\r\n }\r\n}\r\n","<span class=\"expandable-arrow\" #arrow>\r\n <svg\r\n [@expandableArrow]=\"{\r\n value: (wrapper && wrapper.isExpanded$ | async) ? 'expanded' : 'collapsed',\r\n params: {\r\n collapsedRotation,\r\n expandedRotation\r\n }\r\n }\"\r\n id=\"icons_next\" data-name=\"icons/next\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\r\n <rect id=\"bg\" width=\"24\" height=\"24\" fill=\"none\"/>\r\n <path id=\"union\" d=\"M1597.541-4.4l-5.929-5.93a.742.742,0,0,1-.081-.07.747.747,0,0,1-.219-.536.747.747,0,0,1,.219-.535.751.751,0,0,1,.078-.068l5.932-5.932a.751.751,0,0,1,1.061,0,.751.751,0,0,1,0,1.061l-5.476,5.475,5.476,5.475a.751.751,0,0,1,0,1.061.749.749,0,0,1-.531.219A.749.749,0,0,1,1597.541-4.4Z\" transform=\"translate(1607.832 1.052) rotate(180)\" [attr.fill]=\"color\"/>\r\n </svg>\r\n</span>\r\n","import { Component, computed, input, Input, InputSignal } from '@angular/core';\r\nimport { BreakpointLibService } from '../services/breakpoint.service';\r\nimport { CountryCode, configs,FooterConfig, SectionItem } from './af-connect-footer.data';\r\n\r\nconst DEFAULT_COLOR = '#15808D'\r\n\r\n@Component({\r\n selector: 'lib-af-connect-footer',\r\n templateUrl: './af-connect-footer.component.html',\r\n styleUrls: ['./af-connect-footer.component.scss']\r\n})\r\nexport class AfConnectFooterComponent {\r\n constructor(public breakpointService: BreakpointLibService) { }\r\n\r\n @Input()\r\n config: FooterConfig | undefined = undefined;\r\n @Input() isBottomBannerHidden = false;\r\n @Input() isFooterContentHidden = false;\r\n @Input() backgroundColor = DEFAULT_COLOR;\r\n @Input() centered = false;\r\n\r\n @Input() set showCallMeBack(value: boolean) {\r\n //need to rewrie this\r\n const choosenConfig = this.choosenConfig();\r\n if (\r\n this.countryCode() == 'ZA' &&\r\n choosenConfig &&\r\n choosenConfig.sections &&\r\n choosenConfig.sections[1] &&\r\n choosenConfig.sections[1].sectionItems &&\r\n choosenConfig.sections[1].sectionItems[1]\r\n ) {\r\n choosenConfig.sections[1].sectionItems[1].isHidden = !value;\r\n\r\n if (choosenConfig.address && choosenConfig.address[0] && choosenConfig.address[0].sectionItems) {\r\n choosenConfig.address[0].sectionItems[0].bold = value;\r\n }\r\n\r\n if (choosenConfig.address && choosenConfig.address[1] && choosenConfig.address[1].sectionItems) {\r\n choosenConfig.address[1].sectionItems[0].bold = value;\r\n }\r\n\r\n if (value) {\r\n choosenConfig.sections[1].title = \"Customer Resources\";\r\n \r\n let temp = choosenConfig.sections[1].sectionItems[2];\r\n choosenConfig.sections[1].sectionItems[2] = choosenConfig.sections[1].sectionItems[3];\r\n choosenConfig.sections[1].sectionItems[3] = temp;\r\n }\r\n }\r\n }\r\n\r\n countryCode: InputSignal<CountryCode> = input<CountryCode>('ZA');\r\n\r\n choosenConfig = computed(() => {\r\n return this.config ? this.config : configs[this.countryCode()];\r\n })\r\n\r\n mobileAddress = computed(() => {\r\n const addressData: SectionItem[] | undefined = this.choosenConfig()?.address?.find(address => !address.title)?.sectionItems\r\n const titleString = addressData?.reduce((prev: string, curr: SectionItem, i) => {\r\n return `${prev}${i === 0 ? '' : ''}${i === 1 ? ' : ' : ''}${i > 1 ? ',' : ''} ${curr.title}`;\r\n }, '');\r\n return titleString || '';\r\n });\r\n\r\n openLegalTerms() {\r\n const legalTerms = this.choosenConfig()?.LegalTerms;\r\n if (legalTerms) {\r\n window.open(legalTerms, '_blank');\r\n }\r\n }\r\n \r\n openPrivacyPolicy() {\r\n const privacyPolicy = this.choosenConfig()?.PrivacyPolicy;\r\n if (privacyPolicy) {\r\n window.open(privacyPolicy, '_blank');\r\n }\r\n }\r\n\r\n openPaiaManual() {\r\n const paiaManual = this.choosenConfig()?.PaiaManual;\r\n if (paiaManual) {\r\n window.open(paiaManual, '_blank');\r\n }\r\n }\r\n\r\n getFooterStyling() {\r\n if (this.centered) {\r\n return {\r\n 'background-color': this.backgroundColor,\r\n 'grid-template-columns': 'repeat(4, minmax(190px, auto))',\r\n 'justify-content': 'center'\r\n }\r\n }\r\n\r\n return {\r\n 'background-color': this.backgroundColor,\r\n 'grid-template-columns': 'repeat(auto-fill, minmax(190px, auto))'\r\n }\r\n }\r\n}\r\n","\r\n<ng-container *ngIf=\"!isFooterContentHidden\"> \r\n <div *ngIf=\"!(breakpointService.isMobile$ | async)\" class=\"footer-container\" [ngStyle]=\"getFooterStyling()\">\r\n <div *ngFor=\"let section of choosenConfig().sections\" class=\"sections-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a *ngIf=\"!link.isHidden\" class=\"section-link\" [href]=\"link.link\" target=\"_blank\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n <div *ngFor=\"let address of choosenConfig().address\" class=\"sections-container address-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link address-link\" [ngStyle]=\"{'font-weight': link.bold ? '600' : '500','opacity': link.bold ? '90%' : '70%' }\">{{link.title}}</span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"breakpointService.isMobile$ | async\" class=\"footer-container\" [ngStyle]=\"{backgroundColor}\">\r\n <div *ngFor=\"let section of choosenConfig().sections\" class=\"sections-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"rgba(255,255,255, 0.7)\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a *ngIf=\"!link.isHidden\" class=\"section-link address-link\" [href]=\"link.link\" target=\"_blank\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n <div *ngFor=\"let address of choosenConfig().address\" [ngClass]=\"[address.title ? 'sections-container address-container' : '']\">\r\n <afc-expandable-wrapper *ngIf=\"address.title\">\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"rgba(255,255,255, 0.7)\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link\">{{link.title}}</span>\r\n </ng-container>\r\n <span class=\"section-link address-link\">{{ mobileAddress() }}</span>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n </div>\r\n</ng-container> \r\n\r\n<div class=\"bottom-banner-container\" [ngClass]=\"{'centered': centered}\">\r\n <div *ngIf=\"!isBottomBannerHidden\" class=\"bottom-banner\">\r\n <div class=\"banner-title\">\r\n {{choosenConfig().bannerTitle}}\r\n <span class=\"title-links\" (click)=\"openLegalTerms()\">Legal terms</span>\r\n <span class=\"title-spacer\">|</span>\r\n <span class=\"title-links\" (click)=\"openPrivacyPolicy()\">Privacy policy</span>\r\n <ng-container *ngIf=\"choosenConfig().PaiaManual\">\r\n <span class=\"title-spacer\">|</span>\r\n <span class=\"title-links\" (click)=\"openPaiaManual()\">PAIA manual</span>\r\n </ng-container>\r\n </div>\r\n \r\n <div class=\"social-container\">\r\n <a *ngIf=\"!choosenConfig().instagram?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().instagram?.link\" target=\"_blank\">\r\n <svg id=\"Group_888\" data-name=\"Group 888\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"15.676\" viewBox=\"0 0 15.618 15.676\">\r\n <path id=\"Path_8\" data-name=\"Path 8\" d=\"M21.327,13.4c1.039.037,2.115.037,3.154.074a5.31,5.31,0,0,1,2.6.668,3.937,3.937,0,0,1,1.892,2.746,21.051,21.051,0,0,1,.186,2.152c.037,1.558,0,3.117,0,4.675a7.553,7.553,0,0,1-.3,2.412,3.931,3.931,0,0,1-3.154,2.746,14.046,14.046,0,0,1-2.152.186c-1.559.037-3.08,0-4.638,0a7.553,7.553,0,0,1-2.412-.3,3.931,3.931,0,0,1-2.746-3.154,14.046,14.046,0,0,1-.186-2.152c-.037-1.558,0-3.117,0-4.675a7.553,7.553,0,0,1,.3-2.412,3.931,3.931,0,0,1,3.154-2.746,14.047,14.047,0,0,1,2.152-.186c.705-.037,1.41-.037,2.152-.037Zm6.42,7.681h0c-.037-.631-.037-1.225-.037-1.855a14.347,14.347,0,0,0-.111-1.781,2.653,2.653,0,0,0-2.226-2.486,9.8,9.8,0,0,0-2.078-.148c-1.336-.037-2.635-.037-3.97,0a11.414,11.414,0,0,0-1.967.148,2.616,2.616,0,0,0-2.226,1.93A5.813,5.813,0,0,0,14.945,18c-.037,1.41-.037,2.82-.037,4.23,0,.891.037,1.818.111,2.709a2.587,2.587,0,0,0,2.264,2.486,12.746,12.746,0,0,0,2.078.148c1.3.037,2.6,0,3.933,0a14.348,14.348,0,0,0,1.781-.111A2.594,2.594,0,0,0,26.6,26.87a2.848,2.848,0,0,0,1.039-2.264C27.71,23.493,27.71,22.306,27.747,21.081Z\" transform=\"translate(-13.556 -13.4)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_9\" data-name=\"Path 9\" d=\"M31.715,27.708a4.008,4.008,0,1,1-3.97-4.008A3.991,3.991,0,0,1,31.715,27.708Zm-4.008,2.6a2.6,2.6,0,1,0-2.6-2.6A2.581,2.581,0,0,0,27.708,30.3Z\" transform=\"translate(-19.936 -19.878)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_10\" data-name=\"Path 10\" d=\"M45.052,21.628a.951.951,0,0,1-.928.965.946.946,0,1,1,.928-.965Z\" transform=\"translate(-32.196 -17.991)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!choosenConfig().linkedIn?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().linkedIn?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"14.902\" viewBox=\"0 0 15.618 14.902\">\r\n <path id=\"Path_7\" data-name=\"Path 7\" d=\"M32.818,24.635V30.4H29.45V25.014c0-1.347-.463-2.273-1.684-2.273a1.868,1.868,0,0,0-1.726,1.221,2.278,2.278,0,0,0-.126.8V30.4H22.546s.042-9.135,0-10.061h3.368v1.431a.041.041,0,0,1-.042.042h.042v-.042a3.363,3.363,0,0,1,3.031-1.684c2.189,0,3.873,1.473,3.873,4.546ZM19.094,15.5A1.753,1.753,0,0,0,17.2,17.226a1.716,1.716,0,0,0,1.852,1.726h.042a1.729,1.729,0,0,0,1.894-1.726A1.777,1.777,0,0,0,19.094,15.5ZM17.368,30.4h3.326V20.341H17.368Zm0,0\" transform=\"translate(-17.2 -15.5)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!choosenConfig().facebook?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().facebook?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 7.235 15.618\">\r\n <path id=\"Path_13\" data-name=\"Path 13\" d=\"M31.967,21.909H29.785v7.809H26.531V21.909H25V19.153h1.531v-1.8A3.032,3.032,0,0,1,29.785,14.1H32.2v2.68H30.474a.679.679,0,0,0-.689.766v1.608h2.45Zm0,0\" transform=\"translate(-25 -14.1)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!choosenConfig().twitter?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().twitter?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.966\" height=\"15.618\" viewBox=\"0 0 15.966 15.618\">\r\n <path id=\"icons8-twitterx\" d=\"M19.846,19.618l-6.244-9.1.011.009L19.243,4H17.361L12.775,9.31,9.133,4H4.2l5.829,8.5h0L3.88,19.618H5.761l5.1-5.908,4.052,5.908ZM8.388,5.42,17.148,18.2H15.658L6.89,5.42Z\" transform=\"translate(-3.88 -4)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!choosenConfig().whatsapp?.isHidden\" class=\"image-container\" [href]=\"choosenConfig().whatsapp?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.666\" height=\"15.676\" viewBox=\"0 0 15.666 15.676\">\r\n <path id=\"whatsapp-svgrepo-com\" d=\"M17.324,6.273A7.691,7.691,0,0,0,11.838,4,7.779,7.779,0,0,0,5.1,15.649L4,19.676,8.115,18.6a7.762,7.762,0,0,0,9.21-12.325ZM11.838,18.236a6.446,6.446,0,0,1-3.292-.9l-.235-.147-2.44.647.647-2.381-.157-.245a6.492,6.492,0,1,1,5.477,3.027Zm3.537-4.84c-.2-.1-1.146-.568-1.323-.627s-.314-.1-.441.1a8.822,8.822,0,0,1-.617.754c-.108.137-.225.147-.421,0a5.222,5.222,0,0,1-2.635-2.3c-.206-.343.2-.323.568-1.058a.372.372,0,0,0,0-.343c0-.1-.441-1.058-.6-1.44s-.314-.323-.441-.333H9.085a.7.7,0,0,0-.519.245,2.146,2.146,0,0,0-.647,1.656,3.742,3.742,0,0,0,.794,2.008,8.71,8.71,0,0,0,3.321,2.939,3.773,3.773,0,0,0,2.332.49,1.96,1.96,0,0,0,1.3-.921,1.587,1.587,0,0,0,.118-.921A1.368,1.368,0,0,0,15.375,13.4Z\" transform=\"translate(-4 -4)\" fill=\"#fff\"/>\r\n </svg>\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n QueryList\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { AfConnectRadioButtonComponent } from '../af-connect-radio-button/af-connect-radio-button.component';\r\nimport { RadioButtonLabelPosition, RadioButtonSize, RadioButtonVariant } from '../models/radio.model';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-radio-group',\r\n templateUrl: './af-connect-radio-group.component.html',\r\n styleUrls: ['./af-connect-radio-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AfConnectRadioGroupComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AfConnectRadioGroupComponent implements ControlValueAccessor {\r\n private _value: string | null;\r\n private _selected: AfConnectRadioButtonComponent | null = null;\r\n private _disabled: boolean = false;\r\n @Input() label: string;\r\n @Input() direction: 'row' | 'column' = 'row';\r\n @Input() withAsterisk: boolean = false;\r\n @Input() variant: RadioButtonVariant = 'default';\r\n @Input() labelPosition: RadioButtonLabelPosition = 'after';\r\n @Input() size: RadioButtonSize = 'inline';\r\n\r\n @Input()\r\n get value(): string | null {\r\n return this._value;\r\n }\r\n set value(newValue: string | null) {\r\n if (this._value !== newValue) {\r\n this._value = newValue;\r\n this.updateRadioButtonsState();\r\n this.propagateChange(this._value);\r\n this.valueChange.emit(this._value);\r\n }\r\n }\r\n\r\n @Input()\r\n get selected() {\r\n return this._selected;\r\n }\r\n set selected(newSelected: AfConnectRadioButtonComponent | null) {\r\n this._selected = newSelected;\r\n this.value = newSelected ? newSelected.value : null;\r\n }\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(newValue: boolean) {\r\n this._disabled = newValue;\r\n this.markRadiosForCheck();\r\n }\r\n\r\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter();\r\n @ContentChildren(forwardRef(() => AfConnectRadioButtonComponent), { descendants: true })\r\n radios: QueryList<AfConnectRadioButtonComponent>;\r\n\r\n propagateChange: Function = (_: string) => {};\r\n propagateTouch: Function = (_: string) => {};\r\n\r\n writeValue(value: any) {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.propagateTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n emitChangeEvent(): void {\r\n this.valueChange.emit(this._value);\r\n }\r\n\r\n markRadiosForCheck() {\r\n if (this.radios) {\r\n this.radios.forEach((radio) => radio.markForCheck());\r\n }\r\n }\r\n\r\n private updateRadioButtonsState(): void {\r\n this.radios?.forEach((radio) => {\r\n radio.checked = this._value === radio.value;\r\n if (radio.checked) {\r\n this._selected = radio;\r\n }\r\n });\r\n }\r\n}\r\n","<span *ngIf=\"label\" class=\"label\">\r\n {{ label }}<span *ngIf=\"withAsterisk\" class=\"asterisk\">*</span>\r\n</span>\r\n<div class=\"radio-buttons-container\" [class.column]=\"direction === 'column'\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { AfConnectRadioGroupComponent } from '../af-connect-radio-group/af-connect-radio-group.component';\r\nimport { RadioButtonLabelPosition, RadioButtonSize, RadioButtonVariant } from '../models/radio.model';\r\n\r\n// Increasing integer for generating unique ids for all afc-radio-button instances.\r\nlet nextUniqueId = 0;\r\n\r\n@Component({\r\n selector: 'lib-af-connect-radio-button',\r\n templateUrl: './af-connect-radio-button.component.html',\r\n styleUrls: ['./af-connect-radio-button.component.scss']\r\n})\r\nexport class AfConnectRadioButtonComponent {\r\n private _uniqueId: string = `afc-radio-${++nextUniqueId}`;\r\n private _checked: boolean = false;\r\n private _disabled: boolean = false;\r\n private _variant: RadioButtonVariant = 'default';\r\n private _labelPosition: RadioButtonLabelPosition = 'after';\r\n private _size: RadioButtonSize = 'inline';\r\n\r\n @Input() id: string = this._uniqueId;\r\n @Input() value: string;\r\n @Input() itemOrder: 'left-to-right' | 'right-to-left' = 'left-to-right';\r\n\r\n @Input()\r\n get checked(): boolean {\r\n return this._checked;\r\n }\r\n set checked(newCheckedState: boolean) {\r\n if (this._checked !== newCheckedState) {\r\n this._checked = newCheckedState;\r\n if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {\r\n this.radioGroup.selected = this;\r\n }\r\n this.markForCheck();\r\n }\r\n }\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled || (this.radioGroup !== null && this.radioGroup.disabled);\r\n }\r\n set disabled(newValue: boolean) {\r\n this._disabled = newValue;\r\n }\r\n\r\n @ViewChild('input') inputElement: ElementRef<HTMLInputElement>;\r\n\r\n constructor(private radioGroup: AfConnectRadioGroupComponent, private changeDetector: ChangeDetectorRef) {}\r\n\r\n get inputId(): string {\r\n return `${this.id}-input`;\r\n }\r\n\r\n get variant(): RadioButtonVariant {\r\n return this._variant;\r\n }\r\n\r\n get labelPosition(): RadioButtonLabelPosition {\r\n return this._labelPosition;\r\n }\r\n\r\n get size(): RadioButtonSize {\r\n return this._size;\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.radioGroup) {\r\n this._variant = 'checkbox';\r\n }\r\n if (this.radioGroup) {\r\n this.checked = this.radioGroup.value === this.value;\r\n this._variant = this.radioGroup.variant;\r\n this._labelPosition = this.radioGroup.labelPosition;\r\n this._size = this.radioGroup.size;\r\n }\r\n }\r\n\r\n markForCheck() {\r\n this.changeDetector.markForCheck();\r\n }\r\n\r\n onTouchTargetClick(event: Event) {\r\n this.onChange(event);\r\n\r\n // Since the click comes from the touch target, we need\r\n // to focus the native input element manually.\r\n this.inputElement.nativeElement.focus();\r\n }\r\n\r\n onBlur(): void {\r\n this.radioGroup.propagateTouch();\r\n }\r\n\r\n onChange(event: Event) {\r\n event.stopPropagation();\r\n if (!this.checked && !this.disabled) {\r\n this.checked = true;\r\n }\r\n }\r\n}\r\n","<div\r\n class=\"field-container\"\r\n [ngClass]=\"{ 'label-before': labelPosition === 'before', 'size-box': size === 'box', checked: checked, disabled: disabled }\"\r\n [ngStyle]=\"{ 'flex-direction': itemOrder === 'left-to-right' ? 'row' : 'row-reverse' }\"\r\n>\r\n <div [ngClass]=\"['radio-container', variant]\">\r\n <input\r\n #input\r\n type=\"radio\"\r\n class=\"input\"\r\n [id]=\"inputId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [attr.value]=\"value\"\r\n (change)=\"onChange($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div class=\"touch-target\" (click)=\"onTouchTargetClick($event)\"></div>\r\n <div class=\"radio-visualization\">\r\n <span [class]=\"['outer-circle', variant]\"></span>\r\n <span *ngIf=\"variant === 'default'\" class=\"inner-circle\"></span>\r\n <span *ngIf=\"variant === 'checkbox' || variant === 'cube'\" class=\"check-mark\"></span>\r\n </div>\r\n </div>\r\n <label class=\"label\" [for]=\"inputId\">\r\n <ng-content></ng-content>\r\n </label>\r\n</div>\r\n","import { Component, HostListener, HostBinding, Output, EventEmitter, ElementRef, Input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { BreakpointLibService } from '../services/breakpoint.service';\r\nimport { UrlConfig } from '../models/url-config';\r\n\r\nexport enum UserType {\r\n Retail = 'Retail',\r\n Institutional = 'Institutional',\r\n Hybrid = 'Hybrid'\r\n}\r\n\r\nexport enum DashboardType {\r\n Investor = 'investor',\r\n Pensioner = 'pensioner'\r\n}\r\n\r\n@Component({\r\n selector: 'lib-af-connect-profile-dropdown',\r\n templateUrl: './af-connect-profile-dropdown.component.html',\r\n styleUrls: ['./af-connect-profile-dropdown.component.scss']\r\n})\r\nexport class AfConnectProfileDropdown {\r\n @Input() username = '';\r\n @Input() userType: UserType.Institutional | UserType.Retail;\r\n @Input() navUrls: UrlConfig[];\r\n @Input() disableNavUrls: boolean | null = false;\r\n @Input() hasSwitchIndicator: boolean;\r\n @Input() isHybrid: boolean;\r\n @Input() canEditProfile: boolean;\r\n @Input() hasDashboardSwitch: boolean;\r\n @Input() dashboardType: DashboardType;\r\n @HostBinding('class.has-dashboard-switch') get hasDashboardSwitchClass() { return this.hasDashboardSwitch; }\r\n @Output() editProfile = new EventEmitter<void>();\r\n @Output() callMeBack = new EventEmitter<void>();\r\n @Output() contactAdviser = new EventEmitter<void>();\r\n @Output() resetPassword = new EventEmitter<void>();\r\n @Output() logout = new EventEmitter<void>();\r\n @Output() switchUserType = new EventEmitter<UserType>();\r\n @Output() switchDashboardType = new EventEmitter<DashboardType>();\r\n\r\n showMenu = false;\r\n USER_TYPE = UserType;\r\n DASHBOARD_TYPE = DashboardType;\r\n\r\n constructor(private elementRef: ElementRef, private sanitizer: DomSanitizer, private router: Router, public breakpointService: BreakpointLibService) {}\r\n\r\n @HostListener('click', ['$event']) show(e: any) {\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n @HostListener('document:click', ['$event']) click(event: any) {\r\n const iconClick = this.elementRef.nativeElement.contains(event.target);\r\n const clickedOnUserTypeSwitch = event.target.closest('.user-type-switch') !== null;\r\n const clickedOnUserTypeSwitchOption = event.target.closest('.user-type-switch__option') !== null;\r\n const clickedOnDashboardSwitch = event.target.closest('.dashboard-switch') !== null;\r\n const clickedOnDashboardSwitchOption = event.target.closest('.dashboard-switch__option') !== null;\r\n\r\n this.showMenu = iconClick ? this.showMenu : (\r\n (clickedOnUserTypeSwitch && !clickedOnUserTypeSwitchOption) ||\r\n (clickedOnDashboardSwitch && !clickedOnDashboardSwitchOption)\r\n );\r\n }\r\n\r\n select(value: UserType.Institutional | UserType.Retail): void {\r\n if (this.userType !== value) {\r\n this.userType = value;\r\n this.showMenu = false;\r\n this.switchUserType.emit(value);\r\n }\r\n }\r\n\r\n selectDashboard(value: DashboardType): void {\r\n if (this.dashboardType !== value) {\r\n this.dashboardType = value;\r\n this.showMenu = false;\r\n this.switchDashboardType.emit(value);\r\n }\r\n }\r\n\r\n sanitizeSvg(svg: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(svg)\r\n }\r\n\r\n public navigateTo(url:string): void {\r\n if (this.disableNavUrls) {\r\n return;\r\n }\r\n\r\n const urlConfig = this.navUrls.find(u => u.href === url);\r\n if (urlConfig?.isExternal) {\r\n window.open(url, '_self');\r\n return;\r\n }\r\n \r\n this.showMenu = false;\r\n this.router.navigate([url]);\r\n }\r\n}\r\n","<ng-container *ngIf=\"hasDashboardSwitch; else roundIcon\">\r\n <div class=\"logo-content logo-content--switch\">\r\n <span class=\"logo-content--switch__label\">{{ dashboardType === DASHBOARD_TYPE.Pensioner ? 'Annuitant' : 'Investor' }}</span>\r\n <ng-container *ngTemplateOutlet=\"dashboardType === DASHBOARD_TYPE.Pensioner ? pensionerProfileIcon : investorProfileIcon\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #roundIcon>\r\n <span class=\"logo-content orange\">\r\n <ng-container *ngTemplateOutlet=\"!(breakpointService.isTablet$ | async) ? mobileIcon : desktopIcon\"></ng-container>\r\n </span>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"showMenu\">\r\n <div class=\"dropdown-content\" [class.has-dashboard-switch]=\"hasDashboardSwitch\">\r\n <div *ngIf=\"hasDashboardSwitch\" class=\"dashboard-switch\">\r\n <lib-af-connect-radio-group variant=\"checkbox\" direction=\"column\" (valueChange)=\"selectDashboard($event)\">\r\n <div\r\n class=\"dashboard-switch__option\"\r\n (click)=\"selectDashboard(DASHBOARD_TYPE.Investor)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"investorIcon\"></ng-container>\r\n\r\n <lib-af-connect-radio-button ngClass=\"larger\" [value]=\"DASHBOARD_TYPE.Investor\" [checked]=\"dashboardType === DASHBOARD_TYPE.Investor\" itemOrder=\"right-to-left\">\r\n <span>Investor dashboard</span>\r\n </lib-af-connect-radio-button>\r\n </div>\r\n <div\r\n class=\"dashboard-switch__option\"\r\n (click)=\"selectDashboard(DASHBOARD_TYPE.Pensioner)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"pensionerIcon\"></ng-container>\r\n\r\n <lib-af-connect-radio-button ngClass=\"larger\" [value]=\"DASHBOARD_TYPE.Pensioner\" [checked]=\"dashboardType === DASHBOARD_TYPE.Pensioner\" itemOrder=\"right-to-left\">\r\n <span>Annuitant dashboard</span>\r\n </lib-af-connect-radio-button>\r\n </div>\r\n </lib-af-connect-radio-group>\r\n </div>\r\n <div (click)=\"callMeBack.emit()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\r\n <g id=\"call\" transform=\"translate(0 0)\">\r\n <path id=\"phone-1\" d=\"M19.976,17.549l-2.588-2.156a.694.694,0,0,0-.7-.037l-1.438.958a.91.91,0,0,1-.509.153,5.983,5.983,0,0,1-1.28-.18,7.724,7.724,0,0,1-5.754-5.752,5.977,5.977,0,0,1-.18-1.28.909.909,0,0,1,.153-.509l.959-1.437a.681.681,0,0,0-.037-.7L6.444,4.022a.427.427,0,0,0-.73,0L4.285,5.77a2.549,2.549,0,0,0-.4,2.035.909.909,0,0,1,.027.105,4.671,4.671,0,0,0,.142.5,11.685,11.685,0,0,0,.654,1.563,20.775,20.775,0,0,0,3.973,5.332A20.76,20.76,0,0,0,14.02,19.28a11.693,11.693,0,0,0,1.563.654,4.823,4.823,0,0,0,.5.142.909.909,0,0,1,.126.033,2.492,2.492,0,0,0,2.014-.4l1.747-1.429A.426.426,0,0,0,19.976,17.549Zm-4.3-3.706A2.5,2.5,0,0,1,18.552,14l2.589,2.156a2.235,2.235,0,0,1-.015,3.534l-1.747,1.428a4.29,4.29,0,0,1-3.695.735q-.338-.077-.667-.188a13.5,13.5,0,0,1-1.809-.755A22.583,22.583,0,0,1,7.4,16.594a22.579,22.579,0,0,1-4.314-5.806,13.488,13.488,0,0,1-.755-1.809A6.833,6.833,0,0,1,2.14,8.3a4.343,4.343,0,0,1,.738-3.683L4.307,2.873a2.238,2.238,0,0,1,3.535-.015L10,5.445a2.485,2.485,0,0,1,.153,2.871L9.366,9.494a5.374,5.374,0,0,0,.11.62,5.948,5.948,0,0,0,.922,2.052,5.868,5.868,0,0,0,1.43,1.43,5.952,5.952,0,0,0,2.053.921,5.277,5.277,0,0,0,.62.11l1.179-.785Z\" transform=\"translate(-2 -2)\" fill=\"#ef4f1f\"/>\r\n </g>\r\n </svg>\r\n <span>Call me back</span>\r\n </div>\r\n <div (click)=\"contactAdviser.emit()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21.5\" height=\"17.864\" viewBox=\"0 0 21.5 17.864\">\r\n <g id=\"Icons_UI_Contacts_Colour_\" data-name=\"Icons / UI / Contacts / Colour \" transform=\"translate(0.75 0.75)\">\r\n <rect id=\"Rectangle\" width=\"20\" height=\"16.364\" rx=\"3\" fill=\"none\" stroke=\"#ef4f1f\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-miterlimit=\"10\" stroke-width=\"1.5\"/>\r\n <path id=\"Line_3\" data-name=\"Line 3\" d=\"M.55.563l8.591,7.67\" transform=\"translate(0.859 0.858)\" fill=\"none\" stroke=\"#ef4f1f\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-miterlimit=\"10\" stroke-width=\"1.5\"/>\r\n <path id=\"Line_3-2\" data-name=\"Line 3\" d=\"M-1.409.563-10,8.233\" transform=\"translate(20 0.858)\" fill=\"none\" stroke=\"#ef4f1f\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-miterlimit=\"10\" stroke-width=\"1.5\"/>\r\n </g>\r\n </svg>\r\n <span>Contact adviser</span>\r\n </div>\r\n <div *ngIf=\"hasSwitchIndicator\" class=\"user-type-switch user-type-switch\">\r\n <div class=\"user-type-switch__btn-container\">\r\n <lib-af-connect-radio-group label=\"View as\" variant=\"checkbox\" direction=\"column\" (valueChange)=\"select($event)\">\r\n <div\r\n class=\"user-type-switch__option boxShadow\"\r\n (click)=\"select(USER_TYPE.Retail)\"\r\n >\r\n <div class=\"logo blue\">\r\n <ng-container *ngTemplateOutlet=\"desktopIcon\"></ng-container>\r\n </div>\r\n <lib-af-connect-radio-button ngClass=\"larger\" [value]=\"USER_TYPE.Retail\" [checked]=\"userType === USER_TYPE.Retail\" itemOrder=\"right-to-left\">\r\n <span>Individual/Retail</span>\r\n </lib-af-connect-radio-button>\r\n </div>\r\n <div\r\n class=\"user-type-switch__option boxShadow\"\r\n (click)=\"select(USER_TYPE.Institutional)\"\r\n >\r\n <div class=\"logo orange\">\r\n <ng-container *ngTemplateOutlet=\"institutional\"></ng-container>\r\n </div>\r\n <lib-af-connect-radio-button ngClass=\"larger\" [value]=\"USER_TYPE.Institutional\" [checked]=\"userType === USER_TYPE.Institutional\" itemOrder=\"right-to-left\">\r\n <span>Employee benefits</span>\r\n </lib-af-connect-radio-button>\r\n </div>\r\n </lib-af-connect-radio-group>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!(breakpointService.isTablet$ | async)\">\r\n <ng-container *ngFor=\"let url of navUrls\">\r\n <div class=\"navigation-item\" [class.disabled]=\"disableNavUrls\" (mousedown)=\"navigateTo(url.href!)\">\r\n <div *ngIf=\"!url.svg\" class=\"container\"></div>\r\n <ng-container *ngIf=\"url.svg\"><div class=\"container\" [innerHTML]=\"sanitizeSvg(url.svg)\"></div></ng-container>\r\n <span class=\"page-name bold\">{{url.name}}</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <div *ngIf=\"canEditProfile\" class=\"navigation-item\" [class.disabled]=\"disableNavUrls\" (click)=\"!disableNavUrls && editProfile.emit()\">\r\n <svg id=\"Icons_UI_Edit_Colour\" data-name=\"Icons / UI / Edit / Colour\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.494\" height=\"15.5\" viewBox=\"0 0 15.494 15.5\">\r\n <g id=\"Group_3\" data-name=\"Group 3\" transform=\"translate(0)\"><path id=\"Fill_1\" data-name=\"Fill 1\" d=\"M.837,15.5H.644a.648.648,0,0,1-.57-.346A.642.642,0,0,1,.03,14.66l1.55-4.554a.663.663,0,0,1,.161-.259L10.785.8a2.779,2.779,0,0,1,3.909,0V.836a2.787,2.787,0,0,1,0,3.908L5.65,13.788l-.258.162L.837,15.5Zm11.7-14.056a1.477,1.477,0,0,0-.844.264L2.776,10.688l-1.1,3.165,3.165-1.1L13.79,3.808l-.032-.032a1.486,1.486,0,0,0-1.223-2.331Z\" fill=\"#ef4f1f\"/></g>\r\n <path id=\"Path_22\" data-name=\"Path 22\" d=\"M.857.878,3.294,3.315\" transform=\"translate(2.393 8.871)\" fill=\"none\" stroke=\"#ef4f1f\" stroke-linejoin=\"round\" stroke-miterlimit=\"10\" stroke-width=\"2\"/>\r\n </svg> \r\n <span>My Login Details</span>\r\n </div>\r\n <div class=\"navigation-item\" (click)=\"resetPassword.emit()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"20.004\" viewBox=\"0 0 22 20.004\">\r\n <path id=\"Shape\" d=\"M12.522,20A9.882,9.882,0,0,1,2.484,10H.544a.552.552,0,0,1-.379-.944l3.024-3.1a.528.528,0,0,1,.77,0l3.024,3.1a.557.557,0,0,1-.39.944H4.652a7.679,7.679,0,0,0,7.7,7.778,7.782,7.782,0,0,0,7.48-7.667A7.692,7.692,0,0,0,12.24,2.222,7.481,7.481,0,0,0,8.511,3.233a1.035,1.035,0,0,1-1.279-.2,1.125,1.125,0,0,1,.217-1.744A9.617,9.617,0,0,1,12.24,0,9.9,9.9,0,0,1,22,10.289,10,10,0,0,1,12.522,20Z\" transform=\"translate(22 20.004) rotate(180)\" fill=\"#f15a22\"/>\r\n </svg>\r\n <span>Reset password</span>\r\n </div>\r\n <div class=\"navigation-item\" (click)=\"logout.emit()\">\r\n <svg id=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\">\r\n <rect id=\"bg\" width=\"20\" height=\"20\" fill=\"none\"/>\r\n <path id=\"path\" d=\"M9.21,9.273l2.758-2.758A.727.727,0,1,0,10.94,5.486l-4,4a.727.727,0,0,0,0,1.029l4,4a.727.727,0,1,0,1.029-1.029L9.21,10.727h8.066a.727.727,0,0,0,0-1.455Zm1.517-5.818a.727.727,0,1,0,0-1.455H3.821A1.82,1.82,0,0,0,2,3.821V16.179A1.821,1.821,0,0,0,3.821,18h6.906a.727.727,0,1,0,0-1.455H3.821a.366.366,0,0,1-.367-.366V3.821a.366.366,0,0,1,.367-.366Z\" transform=\"translate(-0.099)\" fill=\"#7f8991\"/>\r\n </svg>\r\n <span>Log Out</span> \r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #desktopIcon>\r\n <svg id=\"Group\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12.837\" height=\"13.693\" viewBox=\"0 0 12.837 13.693\">\r\n <path id=\"Oval\" d=\"M2.785-1A3.785,3.785,0,1,1-1,2.785,3.79,3.79,0,0,1,2.785-1Zm0,6.583a2.8,2.8,0,1,0-2.8-2.8A2.8,2.8,0,0,0,2.785,5.583Z\" transform=\"translate(3.633 1)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle\" d=\"M7.393,4.135A.494.494,0,0,1,6.9,3.641,3.712,3.712,0,0,0,3.14-.013H-.506A.494.494,0,0,1-1-.506.494.494,0,0,1-.506-1H3.14A4.7,4.7,0,0,1,7.887,3.641.494.494,0,0,1,7.393,4.135Z\" transform=\"translate(4.95 9.558)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle-2\" data-name=\"Rectangle\" d=\"M-12.506,4.135A.494.494,0,0,1-13,3.641,4.7,4.7,0,0,1-8.253-1h3.646a.494.494,0,0,1,.494.494.494.494,0,0,1-.494.494H-8.253a3.712,3.712,0,0,0-3.76,3.654A.494.494,0,0,1-12.506,4.135Z\" transform=\"translate(13 9.558)\" fill=\"#fff\"/>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #mobileIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.327\" height=\"10.095\" viewBox=\"0 0 15.327 10.095\">\r\n <path id=\"menu_24dp_1F1F1F_FILL0_wght200_GRAD0_opsz24\" d=\"M160-680.675v-.958h15.327v.958Zm0-4.569v-.958h15.327v.958Zm0-4.569v-.958h15.327v.958Z\" transform=\"translate(-160 690.77)\" fill=\"#fff\"/>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #institutional>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"15.384\" height=\"12.488\" viewBox=\"0 0 15.384 12.488\">\r\n <defs>\r\n <clipPath id=\"clip-path\">\r\n <rect id=\"Rectangle_1424\" data-name=\"Rectangle 1424\" width=\"15.383\" height=\"12.489\" transform=\"translate(0 0)\" fill=\"none\" stroke=\"#707070\" stroke-width=\"1\"/>\r\n </clipPath>\r\n </defs>\r\n <g id=\"Group_10298\" data-name=\"Group 10298\" transform=\"translate(-0.952 -0.773)\">\r\n <g id=\"Group_10297\" data-name=\"Group 10297\" transform=\"translate(0.953 0.773)\" clip-path=\"url(#clip-path)\">\r\n <path id=\"Path_6080\" data-name=\"Path 6080\" d=\"M29.386,3.03a.346.346,0,0,1-.346-.346V1.32a.629.629,0,0,0-.628-.629H23.274a.629.629,0,0,0-.628.629V2.684a.346.346,0,1,1-.693,0V1.32A1.323,1.323,0,0,1,23.274,0h5.137A1.323,1.323,0,0,1,29.732,1.32V2.684A.346.346,0,0,1,29.386,3.03Z\" transform=\"translate(-18.151 0.001)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle_1423\" data-name=\"Rectangle 1423\" d=\"M-.933-2h13.25A1.068,1.068,0,0,1,13.384-.933V7.084a1.068,1.068,0,0,1-1.067,1.067H-.933A1.068,1.068,0,0,1-2,7.084V-.933A1.068,1.068,0,0,1-.933-2Zm13.25,9.458a.374.374,0,0,0,.374-.374V-.933a.374.374,0,0,0-.374-.374H-.933a.374.374,0,0,0-.374.374V7.084a.374.374,0,0,0,.374.374Z\" transform=\"translate(2 4.338)\" fill=\"#fff\"/>\r\n <path id=\"Line_324\" data-name=\"Line 324\" d=\"M12.712-1.307H-1.654A.346.346,0,0,1-2-1.654.346.346,0,0,1-1.654-2H12.712a.346.346,0,0,1,.346.346A.346.346,0,0,1,12.712-1.307Z\" transform=\"translate(2.037 8.087)\" fill=\"#fff\"/>\r\n <path id=\"Line_325\" data-name=\"Line 325\" d=\"M-1.654.223A.346.346,0,0,1-2-.124v-1.53A.346.346,0,0,1-1.654-2a.346.346,0,0,1,.346.346v1.53A.346.346,0,0,1-1.654.223Z\" transform=\"translate(12.888 7.318)\" fill=\"#fff\"/>\r\n <path id=\"Line_326\" data-name=\"Line 326\" d=\"M-1.654.223A.346.346,0,0,1-2-.124v-1.53A.346.346,0,0,1-1.654-2a.346.346,0,0,1,.346.346v1.53A.346.346,0,0,1-1.654.223Z\" transform=\"translate(5.802 7.318)\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #investorProfileIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"profile-switch-icon\" viewBox=\"15 14 32 32\">\r\n <g id=\"Group_15418_p\" transform=\"translate(15 14)\">\r\n <g transform=\"matrix(1, 0, 0, 1, -15, -14)\">\r\n <g id=\"Path_21459_p\" transform=\"translate(15 14)\" fill=\"#f69521\">\r\n <path d=\"M 16 31 C 11.9933500289917 31 8.226519584655762 29.43972969055176 5.393400192260742 26.60659980773926 C 2.560270071029663 23.77347946166992 1 20.00665092468262 1 16 C 1 11.9933500289917 2.560270071029663 8.226519584655762 5.393400192260742 5.393400192260742 C 8.226519584655762 2.560270071029663 11.9933500289917 1 16 1 C 20.00665092468262 1 23.77347946166992 2.560270071029663 26.60659980773926 5.393400192260742 C 29.43972969055176 8.226519584655762 31 11.9933500289917 31 16 C 31 20.00665092468262 29.43972969055176 23.77347946166992 26.60659980773926 26.60659980773926 C 23.77347946166992 29.43972969055176 20.00665092468262 31 16 31 Z\" stroke=\"none\"/>\r\n <path d=\"M 16 2 C 12.26045989990234 2 8.744749069213867 3.456249237060547 6.100500106811523 6.100500106811523 C 3.456249237060547 8.744749069213867 2 12.26045989990234 2 16 C 2 19.73954010009766 3.456249237060547 23.2552490234375 6.100500106811523 25.89949989318848 C 8.744749069213867 28.54375076293945 12.26045989990234 30 16 30 C 19.73954010009766 30 23.2552490234375 28.54375076293945 25.89949989318848 25.89949989318848 C 28.54375076293945 23.2552490234375 30 19.73954010009766 30 16 C 30 12.26045989990234 28.54375076293945 8.744749069213867 25.89949989318848 6.100500106811523 C 23.2552490234375 3.456249237060547 19.73954010009766 2 16 2 M 16 0 C 24.8365592956543 0 32 7.163440704345703 32 16 C 32 24.8365592956543 24.8365592956543 32 16 32 C 7.163440704345703 32 0 24.8365592956543 0 16 C 0 7.163440704345703 7.163440704345703 0 16 0 Z\" stroke=\"none\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n <g transform=\"translate(-41.01 244.242)\">\r\n <g transform=\"translate(50 -236)\">\r\n <path d=\"M15.706,50.57h0a.572.572,0,0,1-.57.57H13.07a.572.572,0,0,1-.57-.57h0a.572.572,0,0,1,.57-.57h2.065A.572.572,0,0,1,15.706,50.57Z\" transform=\"translate(-10.076 -35.739)\" fill=\"#fff\"/>\r\n <path d=\"M40.086,50.57h0a.572.572,0,0,1-.57.57H37.45a.572.572,0,0,1-.57-.57h0a.572.572,0,0,1,.57-.57h2.065A.572.572,0,0,1,40.086,50.57Z\" transform=\"translate(-27.502 -35.739)\" fill=\"#fff\"/>\r\n <path d=\"M5.426.285A1.141,1.141,0,0,0,4.285,1.426V13.405a1.141,1.141,0,0,0,1.141,1.141H17.405a1.141,1.141,0,0,0,1.141-1.141V1.426A1.141,1.141,0,0,0,17.405.285H5.426m0-.285H17.405a1.427,1.427,0,0,1,1.426,1.426V13.405a1.427,1.427,0,0,1-1.426,1.426H5.426A1.427,1.427,0,0,1,4,13.405V1.426A1.427,1.427,0,0,1,5.426,0Z\" transform=\"translate(-4)\" fill=\"#fff\"/>\r\n <path d=\"M8.426,3.285A1.141,1.141,0,0,0,7.285,4.426V14.694a1.141,1.141,0,0,0,1.141,1.141H18.694a1.141,1.141,0,0,0,1.141-1.141V4.426a1.141,1.141,0,0,0-1.141-1.141H8.426m0-.285H18.694A1.427,1.427,0,0,1,20.12,4.426V14.694a1.427,1.427,0,0,1-1.426,1.426H8.426A1.427,1.427,0,0,1,7,14.694V4.426A1.427,1.427,0,0,1,8.426,3Z\" transform=\"translate(-6.144 -2.144)\" fill=\"#fff\"/>\r\n <path d=\"M42.283,22A1.283,1.283,0,1,1,41,23.283,1.282,1.282,0,0,1,42.283,22Z\" transform=\"translate(-31.303 -15.868)\" fill=\"none\" stroke=\"#fff\" stroke-width=\"0.7\"/>\r\n <path d=\"M6.57,9h0a.572.572,0,0,1,.57.57v2.567a.572.572,0,0,1-.57.57h0a.572.572,0,0,1-.57-.57V9.57A.572.572,0,0,1,6.57,9Z\" transform=\"translate(-5.43 -6.433)\" fill=\"#fff\"/>\r\n <path d=\"M6.57,30h0a.572.572,0,0,1,.57.57v2.567a.572.572,0,0,1-.57.57h0a.572.572,0,0,1-.57-.57V30.57A.572.572,0,0,1,6.57,30Z\" transform=\"translate(-5.43 -21.444)\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #pensionerProfileIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"profile-switch-icon\" viewBox=\"15 14 32 32\">\r\n <g id=\"Group_15420_p\" transform=\"translate(15 14)\">\r\n <g transform=\"matrix(1, 0, 0, 1, -15, -14)\">\r\n <g id=\"Path_21472_p\" transform=\"translate(15 14)\" fill=\"#15808d\">\r\n <path d=\"M 16 31 C 11.9933500289917 31 8.226519584655762 29.43972969055176 5.393400192260742 26.60659980773926 C 2.560270071029663 23.77347946166992 1 20.00665092468262 1 16 C 1 11.9933500289917 2.560270071029663 8.226519584655762 5.393400192260742 5.393400192260742 C 8.226519584655762 2.560270071029663 11.9933500289917 1 16 1 C 20.00665092468262 1 23.77347946166992 2.560270071029663 26.60659980773926 5.393400192260742 C 29.43972969055176 8.226519584655762 31 11.9933500289917 31 16 C 31 20.00665092468262 29.43972969055176 23.77347946166992 26.60659980773926 26.60659980773926 C 23.77347946166992 29.43972969055176 20.00665092468262 31 16 31 Z\" stroke=\"none\"/>\r\n <path d=\"M 16 2 C 12.26045989990234 2 8.744749069213867 3.456249237060547 6.100500106811523 6.100500106811523 C 3.456249237060547 8.744749069213867 2 12.26045989990234 2 16 C 2 19.73954010009766 3.456249237060547 23.2552490234375 6.100500106811523 25.89949989318848 C 8.744749069213867 28.54375076293945 12.26045989990234 30 16 30 C 19.73954010009766 30 23.2552490234375 28.54375076293945 25.89949989318848 25.89949989318848 C 28.54375076293945 23.2552490234375 30 19.73954010009766 30 16 C 30 12.26045989990234 28.54375076293945 8.744749069213867 25.89949989318848 6.100500106811523 C 23.2552490234375 3.456249237060547 19.73954010009766 2 16 2 M 16 0 C 24.8365592956543 0 32 7.163440704345703 32 16 C 32 24.8365592956543 24.8365592956543 32 16 32 C 7.163440704345703 32 0 24.8365592956543 0 16 C 0 7.163440704345703 7.163440704345703 0 16 0 Z\" stroke=\"none\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n <g id=\"Portfolio_Icon_p\" transform=\"translate(-0.014 7.951)\">\r\n <path d=\"M49.257,42.8H36.163a1.716,1.716,0,0,1-1.8-1.615V31.01a.242.242,0,0,1,.48,0,1.12,1.12,0,0,0,1.173,1.054H49.257a1.085,1.085,0,0,1,1.138,1.022v2.667a.229.229,0,0,1-.24.215H45.485a1.6,1.6,0,0,0-1.082.406,1.288,1.288,0,0,0-.438.977A1.473,1.473,0,0,0,45.511,38.7h4.641a.229.229,0,0,1,.24.216v2.859A1.086,1.086,0,0,1,49.257,42.8ZM34.845,32.055V41.18a1.256,1.256,0,0,0,1.317,1.183H49.257a.627.627,0,0,0,.658-.591V39.131h-4.4a1.933,1.933,0,0,1-2.026-1.773,1.695,1.695,0,0,1,.576-1.286,2.105,2.105,0,0,1,1.424-.534h4.429V33.086a.627.627,0,0,0-.658-.591H36.019A1.747,1.747,0,0,1,34.845,32.055Z\" transform=\"translate(-26.426 -27.829)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M69.395,49.118H64.718a1.933,1.933,0,0,1-2.026-1.773,1.694,1.694,0,0,1,.576-1.286,2.1,2.1,0,0,1,1.424-.535h4.7a1.086,1.086,0,0,1,1.138,1.022V48.1a1.086,1.086,0,0,1-1.138,1.021Zm-4.7-3.162a1.6,1.6,0,0,0-1.082.406,1.288,1.288,0,0,0-.438.977,1.473,1.473,0,0,0,1.546,1.347h4.678a.628.628,0,0,0,.658-.591v-1.55a.628.628,0,0,0-.658-.591h-4.7Z\" transform=\"translate(-45.631 -37.816)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M37.763,29.805H36.016a1.494,1.494,0,1,1,0-2.97h6.345a.237.237,0,0,1,.231.157.206.206,0,0,1-.105.242l-4.6,2.539A.258.258,0,0,1,37.763,29.805Zm-1.747-2.539a1.06,1.06,0,1,0,0,2.108h1.678l3.818-2.108Z\" transform=\"translate(-26.424 -25.139)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M56.553,29.82H45.8a.233.233,0,0,1-.238-.186.217.217,0,0,1,.172-.237l8.617-2.2,1.33-.34a.245.245,0,0,1,.3.149l.805,2.54a.2.2,0,0,1-.039.189.25.25,0,0,1-.193.086Zm-9.027-.431h8.71l-.651-2.057Z\" transform=\"translate(-34.018 -25.154)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M44.862,26.254h-.445a.238.238,0,0,1-.231-.157.206.206,0,0,1,.105-.242l4.6-2.539,3.071-1.7a.258.258,0,0,1,.33.071l1.393,2.035a.2.2,0,0,1,.019.191.232.232,0,0,1-.158.129l-8.617,2.2A.279.279,0,0,1,44.862,26.254ZM52.008,22.1l-6.364,3.513,7.465-1.906Z\" transform=\"translate(-33.079 -21.588)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path d=\"M67.51,50.355a.67.67,0,1,1,.741-.666.708.708,0,0,1-.741.666Zm0-.9a.237.237,0,1,0,.262.235.25.25,0,0,0-.262-.236Z\" transform=\"translate(-48.491 -40.185)\" fill=\"#fff\"/>\r\n <path d=\"M40.583,59.719V56.632c0-.142.011-.285,0-.427V56.2c0-.118-.383-.118-.383,0v3.088c0,.142-.011.284,0,.427v.006C40.2,59.836,40.583,59.837,40.583,59.719Z\" transform=\"translate(-30.379 -44.995)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #investorIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"32\" height=\"32\" viewBox=\"15 14 32 32\">\r\n <defs>\r\n <filter id=\"Path_21459\" x=\"0\" y=\"0\" width=\"62\" height=\"62\" filterUnits=\"userSpaceOnUse\">\r\n <feOffset dy=\"1\" input=\"SourceAlpha\"/>\r\n <feGaussianBlur stdDeviation=\"5\" result=\"blur\"/>\r\n <feFlood flood-opacity=\"0.161\"/>\r\n <feComposite operator=\"in\" in2=\"blur\"/>\r\n <feComposite in=\"SourceGraphic\"/>\r\n </filter>\r\n </defs>\r\n <g id=\"Group_15418\" data-name=\"Group 15418\" transform=\"translate(15 14)\">\r\n <g transform=\"matrix(1, 0, 0, 1, -15, -14)\" filter=\"url(#Path_21459)\">\r\n <g id=\"Path_21459-2\" data-name=\"Path 21459\" transform=\"translate(15 14)\" fill=\"#f69521\">\r\n <path d=\"M 16 31 C 11.9933500289917 31 8.226519584655762 29.43972969055176 5.393400192260742 26.60659980773926 C 2.560270071029663 23.77347946166992 1 20.00665092468262 1 16 C 1 11.9933500289917 2.560270071029663 8.226519584655762 5.393400192260742 5.393400192260742 C 8.226519584655762 2.560270071029663 11.9933500289917 1 16 1 C 20.00665092468262 1 23.77347946166992 2.560270071029663 26.60659980773926 5.393400192260742 C 29.43972969055176 8.226519584655762 31 11.9933500289917 31 16 C 31 20.00665092468262 29.43972969055176 23.77347946166992 26.60659980773926 26.60659980773926 C 23.77347946166992 29.43972969055176 20.00665092468262 31 16 31 Z\" stroke=\"none\"/>\r\n <path d=\"M 16 2 C 12.26045989990234 2 8.744749069213867 3.456249237060547 6.100500106811523 6.100500106811523 C 3.456249237060547 8.744749069213867 2 12.26045989990234 2 16 C 2 19.73954010009766 3.456249237060547 23.2552490234375 6.100500106811523 25.89949989318848 C 8.744749069213867 28.54375076293945 12.26045989990234 30 16 30 C 19.73954010009766 30 23.2552490234375 28.54375076293945 25.89949989318848 25.89949989318848 C 28.54375076293945 23.2552490234375 30 19.73954010009766 30 16 C 30 12.26045989990234 28.54375076293945 8.744749069213867 25.89949989318848 6.100500106811523 C 23.2552490234375 3.456249237060547 19.73954010009766 2 16 2 M 16 0 C 24.8365592956543 0 32 7.163440704345703 32 16 C 32 24.8365592956543 24.8365592956543 32 16 32 C 7.163440704345703 32 0 24.8365592956543 0 16 C 0 7.163440704345703 7.163440704345703 0 16 0 Z\" stroke=\"none\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n <g id=\"Layer_1\" data-name=\"Layer 1\" transform=\"translate(-41.01 244.242)\">\r\n <g id=\"Group_10898\" data-name=\"Group 10898\" transform=\"translate(50 -236)\">\r\n <g id=\"Group_10893\" data-name=\"Group 10893\" transform=\"translate(0)\">\r\n <path id=\"Rectangle_1510\" data-name=\"Rectangle 1510\" d=\"M15.706,50.57h0a.572.572,0,0,1-.57.57H13.07a.572.572,0,0,1-.57-.57h0a.572.572,0,0,1,.57-.57h2.065A.572.572,0,0,1,15.706,50.57Z\" transform=\"translate(-10.076 -35.739)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle_1511\" data-name=\"Rectangle 1511\" d=\"M40.086,50.57h0a.572.572,0,0,1-.57.57H37.45a.572.572,0,0,1-.57-.57h0a.572.572,0,0,1,.57-.57h2.065A.572.572,0,0,1,40.086,50.57Z\" transform=\"translate(-27.502 -35.739)\" fill=\"#fff\"/>\r\n <g id=\"Path_6177\" data-name=\"Path 6177\">\r\n <path id=\"Path_6179\" data-name=\"Path 6179\" d=\"M5.426.285A1.141,1.141,0,0,0,4.285,1.426V13.405a1.141,1.141,0,0,0,1.141,1.141H17.405a1.141,1.141,0,0,0,1.141-1.141V1.426A1.141,1.141,0,0,0,17.405.285H5.426m0-.285H17.405a1.427,1.427,0,0,1,1.426,1.426V13.405a1.427,1.427,0,0,1-1.426,1.426H5.426A1.427,1.427,0,0,1,4,13.405V1.426A1.427,1.427,0,0,1,5.426,0Z\" transform=\"translate(-4)\" fill=\"#fff\"/>\r\n </g>\r\n <path id=\"Rectangle_1507_-_Outline\" data-name=\"Rectangle 1507 - Outline\" d=\"M5.426.285A1.141,1.141,0,0,0,4.285,1.426V13.405a1.141,1.141,0,0,0,1.141,1.141H17.405a1.141,1.141,0,0,0,1.141-1.141V1.426A1.141,1.141,0,0,0,17.405.285H5.426m0-.285H17.405a1.427,1.427,0,0,1,1.426,1.426V13.405a1.427,1.427,0,0,1-1.426,1.426H5.426A1.427,1.427,0,0,1,4,13.405V1.426A1.427,1.427,0,0,1,5.426,0Z\" transform=\"translate(-4)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle_1506\" data-name=\"Rectangle 1506\" d=\"M8.426,3.285A1.141,1.141,0,0,0,7.285,4.426V14.694a1.141,1.141,0,0,0,1.141,1.141H18.694a1.141,1.141,0,0,0,1.141-1.141V4.426a1.141,1.141,0,0,0-1.141-1.141H8.426m0-.285H18.694A1.427,1.427,0,0,1,20.12,4.426V14.694a1.427,1.427,0,0,1-1.426,1.426H8.426A1.427,1.427,0,0,1,7,14.694V4.426A1.427,1.427,0,0,1,8.426,3Z\" transform=\"translate(-6.144 -2.144)\" fill=\"#fff\"/>\r\n <path id=\"Path_6176\" data-name=\"Path 6176\" d=\"M42.283,22A1.283,1.283,0,1,1,41,23.283,1.282,1.282,0,0,1,42.283,22Z\" transform=\"translate(-31.303 -15.868)\" fill=\"none\" stroke=\"#fff\" stroke-width=\"0.7\"/>\r\n <path id=\"Rectangle_1508\" data-name=\"Rectangle 1508\" d=\"M6.57,9h0a.572.572,0,0,1,.57.57v2.567a.572.572,0,0,1-.57.57h0a.572.572,0,0,1-.57-.57V9.57A.572.572,0,0,1,6.57,9Z\" transform=\"translate(-5.43 -6.433)\" fill=\"#fff\"/>\r\n <path id=\"Rectangle_1509\" data-name=\"Rectangle 1509\" d=\"M6.57,30h0a.572.572,0,0,1,.57.57v2.567a.572.572,0,0,1-.57.57h0a.572.572,0,0,1-.57-.57V30.57A.572.572,0,0,1,6.57,30Z\" transform=\"translate(-5.43 -21.444)\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #pensionerIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"32\" height=\"32\" viewBox=\"15 14 32 32\">\r\n <defs>\r\n <filter id=\"Path_21472\" x=\"0\" y=\"0\" width=\"62\" height=\"62\" filterUnits=\"userSpaceOnUse\">\r\n <feOffset dy=\"1\" input=\"SourceAlpha\"/>\r\n <feGaussianBlur stdDeviation=\"5\" result=\"blur\"/>\r\n <feFlood flood-opacity=\"0.161\"/>\r\n <feComposite operator=\"in\" in2=\"blur\"/>\r\n <feComposite in=\"SourceGraphic\"/>\r\n </filter>\r\n </defs>\r\n <g id=\"Group_15420\" data-name=\"Group 15420\" transform=\"translate(15 14)\">\r\n <g transform=\"matrix(1, 0, 0, 1, -15, -14)\" filter=\"url(#Path_21472)\">\r\n <g id=\"Path_21472-2\" data-name=\"Path 21472\" transform=\"translate(15 14)\" fill=\"#15808d\">\r\n <path d=\"M 16 31 C 11.9933500289917 31 8.226519584655762 29.43972969055176 5.393400192260742 26.60659980773926 C 2.560270071029663 23.77347946166992 1 20.00665092468262 1 16 C 1 11.9933500289917 2.560270071029663 8.226519584655762 5.393400192260742 5.393400192260742 C 8.226519584655762 2.560270071029663 11.9933500289917 1 16 1 C 20.00665092468262 1 23.77347946166992 2.560270071029663 26.60659980773926 5.393400192260742 C 29.43972969055176 8.226519584655762 31 11.9933500289917 31 16 C 31 20.00665092468262 29.43972969055176 23.77347946166992 26.60659980773926 26.60659980773926 C 23.77347946166992 29.43972969055176 20.00665092468262 31 16 31 Z\" stroke=\"none\"/>\r\n <path d=\"M 16 2 C 12.26045989990234 2 8.744749069213867 3.456249237060547 6.100500106811523 6.100500106811523 C 3.456249237060547 8.744749069213867 2 12.26045989990234 2 16 C 2 19.73954010009766 3.456249237060547 23.2552490234375 6.100500106811523 25.89949989318848 C 8.744749069213867 28.54375076293945 12.26045989990234 30 16 30 C 19.73954010009766 30 23.2552490234375 28.54375076293945 25.89949989318848 25.89949989318848 C 28.54375076293945 23.2552490234375 30 19.73954010009766 30 16 C 30 12.26045989990234 28.54375076293945 8.744749069213867 25.89949989318848 6.100500106811523 C 23.2552490234375 3.456249237060547 19.73954010009766 2 16 2 M 16 0 C 24.8365592956543 0 32 7.163440704345703 32 16 C 32 24.8365592956543 24.8365592956543 32 16 32 C 7.163440704345703 32 0 24.8365592956543 0 16 C 0 7.163440704345703 7.163440704345703 0 16 0 Z\" stroke=\"none\" fill=\"#fff\"/>\r\n </g>\r\n </g>\r\n <g id=\"Portfolio_Icon\" data-name=\"Portfolio Icon\" transform=\"translate(-0.014 7.951)\">\r\n <path id=\"Path_6468\" data-name=\"Path 6468\" d=\"M49.257,42.8H36.163a1.716,1.716,0,0,1-1.8-1.615V31.01a.242.242,0,0,1,.48,0,1.12,1.12,0,0,0,1.173,1.054H49.257a1.085,1.085,0,0,1,1.138,1.022v2.667a.229.229,0,0,1-.24.215H45.485a1.6,1.6,0,0,0-1.082.406,1.288,1.288,0,0,0-.438.977A1.473,1.473,0,0,0,45.511,38.7h4.641a.229.229,0,0,1,.24.216v2.859A1.086,1.086,0,0,1,49.257,42.8ZM34.845,32.055V41.18a1.256,1.256,0,0,0,1.317,1.183H49.257a.627.627,0,0,0,.658-.591V39.131h-4.4a1.933,1.933,0,0,1-2.026-1.773,1.695,1.695,0,0,1,.576-1.286,2.105,2.105,0,0,1,1.424-.534h4.429V33.086a.627.627,0,0,0-.658-.591H36.019A1.747,1.747,0,0,1,34.845,32.055Z\" transform=\"translate(-26.426 -27.829)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6469\" data-name=\"Path 6469\" d=\"M69.395,49.118H64.718a1.933,1.933,0,0,1-2.026-1.773,1.694,1.694,0,0,1,.576-1.286,2.1,2.1,0,0,1,1.424-.535h4.7a1.086,1.086,0,0,1,1.138,1.022V48.1a1.086,1.086,0,0,1-1.138,1.021Zm-4.7-3.162a1.6,1.6,0,0,0-1.082.406,1.288,1.288,0,0,0-.438.977,1.473,1.473,0,0,0,1.546,1.347h4.678a.628.628,0,0,0,.658-.591v-1.55a.628.628,0,0,0-.658-.591h-4.7Z\" transform=\"translate(-45.631 -37.816)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6470\" data-name=\"Path 6470\" d=\"M37.763,29.805H36.016a1.494,1.494,0,1,1,0-2.97h6.345a.237.237,0,0,1,.231.157.206.206,0,0,1-.105.242l-4.6,2.539A.258.258,0,0,1,37.763,29.805Zm-1.747-2.539a1.06,1.06,0,1,0,0,2.108h1.678l3.818-2.108Z\" transform=\"translate(-26.424 -25.139)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6471\" data-name=\"Path 6471\" d=\"M56.553,29.82H45.8a.233.233,0,0,1-.238-.186.217.217,0,0,1,.172-.237l8.617-2.2,1.33-.34a.245.245,0,0,1,.3.149l.805,2.54a.2.2,0,0,1-.039.189.25.25,0,0,1-.193.086Zm-9.027-.431h8.71l-.651-2.057Z\" transform=\"translate(-34.018 -25.154)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6472\" data-name=\"Path 6472\" d=\"M44.862,26.254h-.445a.238.238,0,0,1-.231-.157.206.206,0,0,1,.105-.242l4.6-2.539,3.071-1.7a.258.258,0,0,1,.33.071l1.393,2.035a.2.2,0,0,1,.019.191.232.232,0,0,1-.158.129l-8.617,2.2A.279.279,0,0,1,44.862,26.254ZM52.008,22.1l-6.364,3.513,7.465-1.906Z\" transform=\"translate(-33.079 -21.588)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n <path id=\"Path_6473\" data-name=\"Path 6473\" d=\"M67.51,50.355a.67.67,0,1,1,.741-.666.708.708,0,0,1-.741.666Zm0-.9a.237.237,0,1,0,.262.235.25.25,0,0,0-.262-.236Z\" transform=\"translate(-48.491 -40.185)\" fill=\"#fff\"/>\r\n <path id=\"Path_6474\" data-name=\"Path 6474\" d=\"M40.583,59.719V56.632c0-.142.011-.285,0-.427V56.2c0-.118-.383-.118-.383,0v3.088c0,.142-.011.284,0,.427v.006C40.2,59.836,40.583,59.837,40.583,59.719Z\" transform=\"translate(-30.379 -44.995)\" fill=\"#fff\" stroke=\"#fff\" stroke-width=\"0.2\"/>\r\n </g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\r\nimport { DashboardType, UserType } from '../af-connect-profile-dropdown/af-connect-profile-dropdown.component';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { filter } from 'rxjs';\r\nimport { UrlConfig } from '../models/url-config';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-header',\r\n templateUrl: './af-connect-header.component.html',\r\n styleUrls: ['./af-connect-header.component.scss'],\r\n})\r\nexport class AfConnectHeaderComponent {\r\n @Input() username = '';\r\n @Input() activeRoute = '';\r\n @Input() navUrls: UrlConfig[] = [];\r\n @Input() disableNavUrls: boolean | null = false;\r\n @Input() isLogoHidden = false;\r\n @Input() userType: UserType.Institutional | UserType.Retail;\r\n @Input() hasSwitchIndicator: boolean;\r\n @Input() isHybrid: boolean;\r\n @Input() canEditProfile: boolean;\r\n @Input() hasDashboardSwitch: boolean;\r\n @Input() dashboardType: DashboardType;\r\n @Output() editProfile = new EventEmitter<void>();\r\n @Output() callMeBack = new EventEmitter<void>();\r\n @Output() contactAdviser = new EventEmitter<void>();\r\n @Output() resetPassword = new EventEmitter<void>();\r\n @Output() logout = new EventEmitter<void>();\r\n @Output() switchUserType = new EventEmitter<UserType>();\r\n @Output() navigate = new EventEmitter<string>();\r\n @Output() switchDashboardType = new EventEmitter<DashboardType>();\r\n\r\n USER_TYPE = UserType;\r\n constructor(private router: Router) {\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd)\r\n ).subscribe(() => {\r\n const urlSegments = this.router.url.split('/');\r\n this.activeRoute = urlSegments[urlSegments.length - 1];\r\n });\r\n }\r\n\r\n public refresh(): void {\r\n window.location.reload();\r\n }\r\n\r\n public switch(type: UserType): void {\r\n this.switchUserType.emit(type);\r\n }\r\n\r\n public switchDashboard(type: DashboardType): void {\r\n this.switchDashboardType.emit(type);\r\n }\r\n\r\n public navigateTo(url: string): void {\r\n if (this.disableNavUrls) {\r\n return;\r\n }\r\n\r\n const urlConfig = this.navUrls.find(u => u.href === url);\r\n if (urlConfig?.isExternal) {\r\n window.open(url, '_self');\r\n return;\r\n }\r\n\r\n this.activeRoute = url;\r\n this.navigate.emit(url);\r\n }\r\n\r\n isActive(route: string): boolean {\r\n return this.activeRoute.includes(route)\r\n }\r\n}\r\n","<svg class=\"logo\" (click)=\"navigateTo('dashboard')\"xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 592.39 132.62\">\r\n <defs>\r\n <style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:#f15b25;}.cls-3{fill:#1a808d;}</style>\r\n <linearGradient id=\"linear-gradient\" x1=\"254.64\" y1=\"41.32\" x2=\"604.45\" y2=\"41.32\" gradientUnits=\"userSpaceOnUse\">\r\n <stop offset=\"0\" stop-color=\"#1a808d\"/>\r\n <stop offset=\"1\"/>\r\n </linearGradient>\r\n </defs>\r\n <g id=\"Layer_2\" data-name=\"Layer 2\">\r\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\r\n <path class=\"cls-1\" d=\"M32.59,53.64c0-17.53,12.08-29.31,24.45-29.31a20.54,20.54,0,0,1,17.53,9.31l1.78-7.82H92V81.16H76.35l-1.78-7.82A20.53,20.53,0,0,1,57,82.64C44.67,82.64,32.59,70.86,32.59,53.64Zm41.28-.1c0-7.43-4.75-12.77-11.18-12.77C56,40.77,51.2,46.41,51.2,53.54S56,66.21,62.69,66.21C69.12,66.21,73.87,60.86,73.87,53.54ZM103.85,0h18.41V81.16H103.85ZM187.1,58.49H150.77c2.47,6.63,9,9.9,16.53,9.9,6,0,11.59-2.08,16.64-4.85V78.09a39.5,39.5,0,0,1-19.11,4.55c-20.3,0-31.68-12.27-31.68-29,0-17.43,12.27-29.31,28.21-29.31,14.46,0,26.24,9.8,26.24,28.22A35.8,35.8,0,0,1,187.1,58.49Zm-16.93-10.6c-.19-5.54-3.66-9.3-8.91-9.3-5,0-9.4,3.56-10.89,9.3Zm61.77,5,19,28.32h-20.8l-9.3-15.94h-.2l-9.31,15.94h-19.8l18.72-27.62L191.74,25.82h20.1l9.21,15.93h.19l9.21-15.93h19.8ZM264.26,41h-7.43V25.82h7.53V21.26C264.36,11,271.88.57,287.13.57a38,38,0,0,1,11.09,1.58V17.5a23.35,23.35,0,0,0-7.63-1.19c-5.34,0-8.21,1.88-8.21,6.24v3.27h14.15V41H282.67v40.2H264.26Zm38,12.48c0-17.43,13.17-29.11,29.7-29.11s29.5,11.68,29.5,29.11S348.6,82.64,332,82.64,302.27,70.76,302.27,53.44Zm40.69,0c0-8.12-5.45-12.67-11-12.67s-11.09,4.55-11.09,12.67S326.33,66.21,332,66.21,343,61.56,343,53.44Zm29-27.62h14.65l1.78,8.11h.2a16.67,16.67,0,0,1,14.85-8.71,13.89,13.89,0,0,1,4.26.5V42.84a20.69,20.69,0,0,0-4.85-.59c-6.44,0-12.48,3.37-12.48,13.46V81.16H371.93Zm62.45,7.52c3.27-5.25,10.1-9,17.13-9,12.77,0,23.86,11.39,23.86,29.21s-11.88,29.1-24.75,29.1a20.84,20.84,0,0,1-17.33-9.3l-1.68,7.82H416V.14h18.41Zm-.2,20.2c0,7.42,4.65,12.67,11.19,12.67s11.38-5.45,11.38-12.57S452,40.77,445.27,40.77C438.83,40.77,434.18,46.11,434.18,53.54Zm103.3,5H501.14c2.48,6.63,9,9.9,16.54,9.9,6,0,11.58-2.08,16.63-4.85V78.09a39.48,39.48,0,0,1-19.11,4.55c-20.29,0-31.68-12.27-31.68-29,0-17.43,12.28-29.31,28.22-29.31,14.45,0,26.23,9.8,26.23,28.22A37,37,0,0,1,537.48,58.49Zm-16.93-10.6c-.2-5.54-3.67-9.3-8.91-9.3-5.05,0-9.41,3.56-10.89,9.3Zm67.66-19.4V43.64a35.12,35.12,0,0,0-17-4.56c-4.26,0-6.63,1.19-6.63,3.27s2.67,3.27,8.51,4.65C582.27,49.18,592,52.45,592,64.23c0,11.29-8.91,18.41-24.65,18.41-8.22,0-15.15-2-19.9-4.85V61.46a31.35,31.35,0,0,0,19.11,6.43c4.85,0,7.62-1.29,7.62-3.56,0-2.58-3.46-3.37-10.4-5.35-8.61-2.37-16.83-6.24-16.83-16.43,0-10.5,8.52-18.22,23.47-18.22C576.92,24.33,583.75,25.91,588.21,28.49Z\"/>\r\n <circle class=\"cls-2\" cx=\"10.86\" cy=\"34.87\" r=\"10.86\" transform=\"translate(-15.07 9.15) rotate(-27.94)\"/>\r\n <circle class=\"cls-2\" cx=\"10.86\" cy=\"71.4\" r=\"10.86\" transform=\"translate(-32.19 13.41) rotate(-27.94)\"/>\r\n <circle class=\"cls-3\" cx=\"368.84\" cy=\"117.24\" r=\"2.98\"/>\r\n <path class=\"cls-2\" d=\"M264,105.54a2,2,0,1,1,2,1.93A1.92,1.92,0,0,1,264,105.54Zm.29,5h3.39v15.69h-3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M285.22,115.78v10.43h-3.39v-9.34c0-2.42-1.1-3.56-3.19-3.56a3.34,3.34,0,0,0-3.45,3.42v9.48h-3.4V110.52h2.62l.37,2.33h.09a5.58,5.58,0,0,1,4.77-2.71C283.06,110.14,285.22,112.33,285.22,115.78Z\"/>\r\n <path class=\"cls-2\" d=\"M299.46,111.47v3.1a7.88,7.88,0,0,0-4.71-1.52c-1.79,0-2.76.69-2.76,1.78s1.17,1.61,3.16,2.18c2.47.66,5.23,1.5,5.23,4.72,0,3-2.33,4.86-6.21,4.86a9.11,9.11,0,0,1-5.49-1.67v-3.34a7.88,7.88,0,0,0,5.38,2.13c1.92,0,3-.8,3-1.95,0-1.3-1.35-1.73-3.5-2.39-2.56-.75-4.89-1.67-4.89-4.46s2.24-4.77,5.95-4.77A8.9,8.9,0,0,1,299.46,111.47Z\"/>\r\n <path class=\"cls-2\" d=\"M303.29,105.54a2,2,0,1,1,2,1.93A1.92,1.92,0,0,1,303.29,105.54Zm.29,5H307v15.69h-3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M322.53,113.1l.37-2.58h2.82v14.14c0,5.17-3.65,8-8.13,8a10.29,10.29,0,0,1-5.9-1.9V127.3a8.84,8.84,0,0,0,5.67,2.27c2.78,0,5-1.78,5-4.45v-2a6.05,6.05,0,0,1-5.17,2.81c-3.68,0-7.05-3.16-7.05-7.87s3.42-7.88,7.1-7.88A6.24,6.24,0,0,1,322.53,113.1Zm-9,5a4.48,4.48,0,1,0,8.92-.09,4.5,4.5,0,0,0-4.46-4.74A4.58,4.58,0,0,0,313.5,118.08Z\"/>\r\n <path class=\"cls-2\" d=\"M333.23,112.27h.06a5.37,5.37,0,0,1,4.36-2.13c3.43,0,5.61,2,5.61,5.67v10.4h-3.39v-9.37c0-2.41-1-3.59-3.16-3.59a3.22,3.22,0,0,0-3.48,3.39v9.57h-3.39v-23h3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M351.15,110.52h4.34v2.87h-4.34v7c0,2.24,1.38,3.16,3.28,3.16a9.45,9.45,0,0,0,1.41-.14v2.9a10.36,10.36,0,0,1-2.1.2c-3.71,0-5.92-2.21-5.92-6v-7.13h-2.3v-2.87h2.35v-3.65h3.28Z\"/>\r\n <path class=\"cls-2\" d=\"M380.9,118.39c0-5,3.45-8.25,7-8.25a6.17,6.17,0,0,1,5.43,3.08l.38-2.7h2.81v15.69h-2.81l-.38-2.7a6.17,6.17,0,0,1-5.43,3.08C384.35,126.59,380.9,123.34,380.9,118.39Zm12.36,0c0-3-2-5.11-4.46-5.11s-4.51,2.12-4.51,5.11,2,5.12,4.51,5.12S393.26,121.38,393.26,118.36Z\"/>\r\n <path class=\"cls-2\" d=\"M399.81,118.36c0-5,3.39-8.22,7.07-8.22a5.94,5.94,0,0,1,5.23,2.94v-9.89h3.39v23h-2.81l-.41-2.7a6.11,6.11,0,0,1-5.37,3.08C403.23,126.59,399.81,123.39,399.81,118.36Zm12.36,0c0-3-2-5.11-4.46-5.11s-4.48,2.12-4.48,5.11,1.92,5.12,4.48,5.12S412.17,121.38,412.17,118.36Z\"/>\r\n <path class=\"cls-2\" d=\"M417.88,110.52h3.62l3.94,12h.09l3.94-12H433l-5.72,15.69H423.6Z\"/>\r\n <path class=\"cls-2\" d=\"M435.05,105.54a2,2,0,1,1,2,1.93A1.92,1.92,0,0,1,435.05,105.54Zm.29,5h3.39v15.69h-3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M450.28,123.48a6.72,6.72,0,0,0,4.08-1.24v3.25a9,9,0,0,1-4.45,1.1,8.23,8.23,0,0,1,0-16.45,8.38,8.38,0,0,1,4.45,1.12v3.28a6.75,6.75,0,0,0-4.11-1.29,5.12,5.12,0,0,0,0,10.23Z\"/>\r\n <path class=\"cls-2\" d=\"M471.18,119.4H459.91a5.07,5.07,0,0,0,5.32,4.37,8.23,8.23,0,0,0,5.11-1.87v3a9.54,9.54,0,0,1-5.46,1.64c-5.14,0-8.25-3.34-8.25-8.17,0-5,3.51-8.28,7.71-8.28,3.79,0,6.92,2.73,6.92,7.94A8.91,8.91,0,0,1,471.18,119.4ZM468,117.13c-.08-2.79-1.78-4.17-3.73-4.17a4.56,4.56,0,0,0-4.43,4.17Z\"/>\r\n <path class=\"cls-2\" d=\"M497.53,105.54a2,2,0,1,1,2,1.93A1.93,1.93,0,0,1,497.53,105.54Zm.29,5h3.39v15.69h-3.39Z\"/>\r\n <path class=\"cls-2\" d=\"M526.55,115.78v10.43h-3.39v-9.83c0-2-.78-3.07-2.65-3.07a2.86,2.86,0,0,0-2.9,3v9.89h-3.39v-9.83c0-2-.78-3.07-2.65-3.07a2.91,2.91,0,0,0-2.87,3.19v9.71h-3.39V110.52h2.61l.38,2.27h.08a4.77,4.77,0,0,1,4.26-2.65,4.46,4.46,0,0,1,4.4,2.73,5,5,0,0,1,4.51-2.73C525,110.14,526.55,112.44,526.55,115.78Z\"/>\r\n <path class=\"cls-2\" d=\"M530.59,110.52h2.82l.37,2.7a6.14,6.14,0,0,1,5.37-3.08c3.71,0,7.13,3.22,7.13,8.22s-3.36,8.23-7,8.23a6.13,6.13,0,0,1-5.26-2.94v8.6h-3.39Zm12.27,7.82c0-3-2-5.09-4.48-5.09s-4.46,2.1-4.46,5.11,1.93,5.12,4.43,5.12S542.86,121.38,542.86,118.34Z\"/>\r\n <path class=\"cls-2\" d=\"M548.66,118.39c0-5,3.45-8.25,7-8.25a6.17,6.17,0,0,1,5.43,3.08l.38-2.7h2.81v15.69h-2.81l-.38-2.7a6.17,6.17,0,0,1-5.43,3.08C552.11,126.59,548.66,123.34,548.66,118.39Zm12.36,0c0-3-2-5.11-4.46-5.11s-4.51,2.12-4.51,5.11,2,5.12,4.51,5.12S561,121.38,561,118.36Z\"/>\r\n <path class=\"cls-2\" d=\"M575.92,123.48a6.74,6.74,0,0,0,4.08-1.24v3.25a9,9,0,0,1-4.45,1.1,8.23,8.23,0,0,1,0-16.45,8.38,8.38,0,0,1,4.45,1.12v3.28a6.77,6.77,0,0,0-4.11-1.29,5.12,5.12,0,0,0,0,10.23Z\"/>\r\n <path class=\"cls-2\" d=\"M587.7,110.52H592v2.87H587.7v7c0,2.24,1.38,3.16,3.28,3.16a9.45,9.45,0,0,0,1.41-.14v2.9a10.36,10.36,0,0,1-2.1.2c-3.71,0-5.92-2.21-5.92-6v-7.13h-2.3v-2.87h2.36v-3.65h3.27Z\"/>\r\n <circle class=\"cls-3\" cx=\"483.77\" cy=\"117.24\" r=\"2.98\"/>\r\n </g>\r\n </g>\r\n</svg>\r\n\r\n<div class=\"header-menu\">\r\n <ng-container *ngFor=\"let url of navUrls\">\r\n <div [ngClass]=\"{ active: isActive(url.href), disabled: disableNavUrls }\" (mousedown)=\"navigateTo(url.href) \">{{ url.name }}</div>\r\n </ng-container>\r\n</div>\r\n\r\n<div id=\"header-profile\">\r\n <lib-af-connect-profile-dropdown\r\n *ngIf=\"!isLogoHidden\"\r\n [navUrls]=\"navUrls\"\r\n [disableNavUrls]=\"disableNavUrls\"\r\n [username]=\"username\"\r\n [userType]=\"userType\"\r\n [hasSwitchIndicator]=\"hasSwitchIndicator\"\r\n [isHybrid]=\"isHybrid\"\r\n [canEditProfile]=\"canEditProfile\"\r\n [hasDashboardSwitch]=\"hasDashboardSwitch\"\r\n [dashboardType]=\"dashboardType\"\r\n (editProfile)=\"editProfile.emit()\"\r\n (callMeBack)=\"callMeBack.emit()\"\r\n (contactAdviser)=\"contactAdviser.emit()\"\r\n (resetPassword)=\"resetPassword.emit()\"\r\n (logout)=\"logout.emit()\"\r\n (switchUserType)=\"switch($event)\"\r\n (switchDashboardType)=\"switchDashboard($event)\"\r\n >\r\n </lib-af-connect-profile-dropdown>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n/**\r\n * Gets the initials of a Name (First Second -> FS)\r\n */\r\n@Pipe({ name: 'getInitials' })\r\nexport class GetinItialsPipe implements PipeTransform {\r\n transform(value: string | undefined): string {\r\n if (!value) {\r\n return '';\r\n }\r\n return value.split(' ').map(word => word.charAt(0)).join('').slice(0, 2);\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { FaqItem } from '../faqItem';\r\n\r\n@Component({\r\n selector: 'lib-faq-item',\r\n templateUrl: './faq-item.component.html',\r\n styleUrls: ['./faq-item.component.scss']\r\n})\r\nexport class FaqItemComponent {\r\n @Input()\r\n faqItem: FaqItem;\r\n}\r\n","<div class=\"item-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{faqItem.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"#124E57\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"expanded-info\">\r\n {{faqItem.description}}\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { FaqItem } from '../faqItem';\r\n\r\n@Component({\r\n selector: 'lib-faq',\r\n templateUrl: './faq.component.html',\r\n styleUrls: ['./faq.component.scss']\r\n})\r\nexport class FaqComponent {\r\n @Input()\r\n faqItems: FaqItem[] = [];\r\n @Input()\r\n fallBackImageSrc: string;\r\n imageSrc: string = '/assets/images/FAQ_image.png';\r\n}\r\n","<div class=\"faq-container\">\r\n <div class=\"item-container\">\r\n <ng-container *ngFor=\"let item of faqItems\">\r\n <lib-faq-item [faqItem]=\"item\"></lib-faq-item>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { Directive, Component, Input, ContentChild, ElementRef } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\n\r\n@Directive({ selector: '[imgWithFallback]' })\r\nexport class ImageWithFallbackDirective {\r\n constructor(public el: ElementRef) { }\r\n}\r\n\r\nenum ImageState {\r\n loading = 'loading',\r\n error = 'error',\r\n loaded = 'loaded'\r\n}\r\n\r\n@Component({\r\n selector: 'img-with-fallback',\r\n template: `\r\n <ng-container *ngIf=\"loaded\">\r\n <ng-content select=\"[imgWithFallback]\" [style.visibility]=\"loaded\"></ng-content>\r\n </ng-container>\r\n <div *ngIf=\"loading\">\r\n <ng-content select=\".loading\"></ng-content>\r\n </div>\r\n <div *ngIf=\"error\">\r\n <ng-content select=\".error\"></ng-content>\r\n </div>\r\n `,\r\n styles: []\r\n})\r\nexport class ImageWithFallbackComponent {\r\n @ContentChild(ImageWithFallbackDirective) image: ImageWithFallbackDirective;\r\n\r\n private state: ImageState = ImageState.loading;\r\n\r\n get loaded() {\r\n return this.state === ImageState.loaded;\r\n }\r\n\r\n get loading() {\r\n return this.state === ImageState.loading;\r\n }\r\n\r\n get error() {\r\n return this.state === ImageState.error;\r\n }\r\n ngAfterContentInit() {\r\n fromEvent(this.image.el.nativeElement, 'load')\r\n .pipe(first())\r\n .subscribe(() => this.state = ImageState.loaded)\r\n\r\n fromEvent(this.image.el.nativeElement, 'error')\r\n .pipe(first())\r\n .subscribe(() => this.state = ImageState.error)\r\n }\r\n\r\n}\r\n","export const defaultConfig = [\r\n {\r\n imageSrc: '/assets/images/mmm-carousel.jpg',\r\n title: 'My Money Matters',\r\n content: 'Get the most out of your money. Explore ways to make your money and savings work for you with our tools.',\r\n readMore: 'https://mymoneymatters.alexforbes.com/'\r\n },\r\n {\r\n imageSrc: '/assets/images/AF-Rewards-carousel.jpg',\r\n title: 'My Rewards',\r\n content: 'Exclusive savings from big brands.',\r\n readMore: 'https://plus.alexforbes.com/Identity/Account/Login?ReturnUrl=%2fProducts%2fReferral%2fRedirect?typeId=11&utm_medium=web&utm_source=afconnect&utm_campaign=AF%20Connect'\r\n },\r\n {\r\n imageSrc: '/assets/images/Unit-trusts-carousel.jpg',\r\n title: 'Unit Trusts',\r\n content: 'Invest from as little as R500.00 a month to up to R30 000.00 up front toward a personal goal.',\r\n readMore: 'https://www.alexforbes.com/za/en/individual/investing-for-a-goal.html'\r\n },\r\n {\r\n imageSrc: '/assets/images/AF-Plus-carousel.jpg',\r\n title: 'AF+',\r\n content: 'Guided by expert advisers and fulfilled by trusted partners, making it easy to solve life’s financial challenges with confidence.',\r\n readMore: 'https://plus.alexforbes.com/'\r\n },\r\n];\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'af-connect-image-card',\r\n templateUrl: './image-card.component.html',\r\n styleUrls: ['./image-card.component.scss']\r\n})\r\nexport class ImageCardComponent implements OnInit {\r\n @Input() src: string;\r\n @Input() title: string | undefined = '';\r\n @Input() content: string | undefined = '';\r\n @Input() readMoreLink: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n openReadMore() {\r\n window.open(this.readMoreLink, '_blank');\r\n }\r\n}\r\n","<img [src]=\"src\" />\r\n<div class=\"info-container\">\r\n <span class=\"info-container__title\">{{ title }}</span>\r\n <span class=\"info-container__content\">{{ content }}</span>\r\n <button class=\"button-read-more\" (click)=\"openReadMore()\">Read more</button>\r\n</div>\r\n","import { Component, ElementRef, Input } from '@angular/core';\r\nimport { defaultConfig } from './defaultConfig';\r\n\r\ninterface CarouselConfig {\r\n imageSrc: string;\r\n title?: string;\r\n content?: string;\r\n readMore: string;\r\n}\r\n\r\n@Component({\r\n selector: 'lib-af-connect-products-carousel',\r\n templateUrl: './af-connect-products-carousel.component.html',\r\n styleUrls: ['./af-connect-products-carousel.component.scss']\r\n})\r\nexport class AfConnectProductsCarouselComponent {\r\n @Input() config: CarouselConfig[];\r\n defaultConfig = defaultConfig;\r\n\r\n private slider: HTMLElement;\r\n private isDown = false;\r\n private startX: number;\r\n private scrollLeft: number;\r\n\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngAfterViewInit() {\r\n this.slider = this.elementRef.nativeElement.querySelector('.holder');\r\n }\r\n\r\n mousedown(e: MouseEvent): void {\r\n this.isDown = true;\r\n this.slider.classList.add('active');\r\n this.startX = e.pageX - this.slider.offsetLeft;\r\n this.scrollLeft = this.slider.scrollLeft;\r\n }\r\n\r\n mouseleave(): void {\r\n this.isDown = false;\r\n this.slider.classList.remove('active');\r\n }\r\n\r\n mouseup(): void {\r\n this.isDown = false;\r\n this.slider.classList.remove('active');\r\n }\r\n\r\n mousemove(e: MouseEvent): void {\r\n if(!this.isDown) return;\r\n e.preventDefault();\r\n\r\n const offset = e.pageX - this.slider.offsetLeft;\r\n const walk = (offset - this.startX) * 2;\r\n this.slider.scrollLeft = this.scrollLeft - walk;\r\n }\r\n}\r\n","<div\r\n class=\"holder\"\r\n (mousedown)=\"mousedown($event)\"\r\n (mouseleave)=\"mouseleave()\"\r\n (mouseup)=\"mouseup()\"\r\n (mousemove)=\"mousemove($event)\"\r\n>\r\n <ng-container *ngFor=\"let card of config || defaultConfig\">\r\n <af-connect-image-card\r\n [src]=\"card.imageSrc\"\r\n [title]=\"card.title\"\r\n [content]=\"card.content\"\r\n [readMoreLink]=\"card.readMore\"\r\n ></af-connect-image-card>\r\n </ng-container>\r\n</div>\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { EmitValue } from '../constants/base.constants';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-button',\r\n templateUrl: './af-connect-button.component.html',\r\n styleUrls: ['./af-connect-button.component.scss']\r\n})\r\nexport class AfConnectButtonComponent {\r\n @Input() isActive: boolean;\r\n @Input() emitValue: EmitValue;\r\n @Input() title = '';\r\n @Input() disabled: boolean;\r\n @Input() hybrid: boolean;\r\n @Input() fullWidth: boolean;\r\n @Input() size: 'small' | 'medium' | 'large' | 'x-large' | 'block' | 'dynamic' = 'small';\r\n @Input() variant: 'outlined' | 'filled' | 'transparent' | 'link' | 'cancel' | 'greyish' = 'outlined';\r\n @Input() iconSrc: string;\r\n @Input() iconSize = 14;\r\n @Input() iconPosition: 'start' | 'end' = 'start';\r\n @Input() activeItem: string;\r\n @Output() clickBtn = new EventEmitter<string>();\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<button\r\n [class.hybrid]=\"hybrid\"\r\n [ngClass]=\"[\r\n fullWidth ? 'fullWidth' : '', 'button',\r\n size,\r\n variant,\r\n activeItem === title || isActive ? 'active' : '',\r\n iconPosition\r\n ]\"\r\n title=\"\"\r\n [disabled]=\"disabled\"\r\n (click)=\"this.clickBtn.emit(emitValue || title)\"\r\n>\r\n <!-- TODO: Templates -->\r\n <div\r\n *ngIf=\"iconSrc\"\r\n [ngStyle]=\"{\r\n '-webkit-mask-image': 'url(' + iconSrc + ')',\r\n 'width': iconSize + 'px'\r\n }\"\r\n class=\"icon\"\r\n >\r\n </div>\r\n <span [class]=\"['title', size, variant]\">{{ title }}</span>\r\n</button>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-content',\r\n templateUrl: './af-connect-content.component.html',\r\n styleUrls: ['./af-connect-content.component.scss']\r\n})\r\nexport class AfConnectContentComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-datepicker',\r\n templateUrl: './af-connect-datepicker.component.html',\r\n styleUrls: ['./af-connect-datepicker.component.scss']\r\n})\r\nexport class AfConnectDatepickerComponent {\r\n\r\n}\r\n","<p>af-connect-datepicker works!</p>\r\n","export function numberWithCommas(number: number) {\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n}","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { numberWithCommas } from '../utilities/number.util';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-form-validation-errors',\r\n templateUrl: './af-connect-form-validation-errors.component.html',\r\n styleUrls: ['./af-connect-form-validation-errors.component.scss']\r\n})\r\nexport class AfConnectFormValidationErrorsComponent {\r\n @Input() fieldText: string = 'Field';\r\n @Input() control: FormControl;\r\n public convertToNumberWithCommas = numberWithCommas;\r\n}\r\n","<div class=\"container\" *ngIf=\"control && control.errors && control.dirty && control.touched\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['required']\">{{ fieldText }} is required</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['emptyValue']\">Please enter a {{ fieldText }}</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['minlength']\">\r\n {{ fieldText }} must have be least {{ control.errors['minlength'].requiredLength }} symbols long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['maxlength']\">\r\n {{ fieldText }} must be no more than {{ control.errors['maxlength'].requiredLength }} symbols\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['existingProductName']\">\r\n Please enter a unique Product Name. Example: Alexforbes Life Cover\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['email']\">Invalid Email address</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['NAN']\">Please enter a valid number</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['positiveNumber']\">\r\n Please enter a positive number. Example: R100 000\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['integerNumber']\">\r\n Please enter a number without any digits after the decimal point\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['max']\">\r\n Please enter a number less than or equal to {{ convertToNumberWithCommas(control.errors['max'].max) }}\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['length']\">\r\n {{ fieldText }} must be {{ control.errors['length'] }} digits long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['alphabetic']\">\r\n {{ fieldText }} cannot contain numbers or special characters\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['selectOptions']\">\r\n Please select a valid {{ fieldText }} from the dropdown list\r\n </div>\r\n </div>\r\n \r\n <div class=\"container\" *ngIf=\"control && control.errors && control.dirty\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['startDateBeforeEndDate']\">\r\n You have selected an incorrect date\r\n </div>\r\n </div>\r\n ","import { ChangeDetectorRef, Component, forwardRef, Injector, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-input',\r\n templateUrl: './af-connect-input.component.html',\r\n styleUrls: ['./af-connect-input.component.scss']\r\n})\r\nexport class AfConnectInputComponent implements ControlValueAccessor, OnInit {\r\n private _value: string;\r\n @Input() label: string;\r\n @Input() errorReferenceText: string;\r\n @Input() placeholder: string = '';\r\n @Input() isDisabled: boolean = true;\r\n @Input() withAsterisk: boolean = false;\r\n @Input() variant: 'editable' | 'non-editable' | 'read-only' = 'editable';\r\n @Input() type: 'text' | 'number' | 'date' | 'password' = 'text';\r\n @Input() maxLength: number = 50;\r\n @Input() id: string;\r\n @Input() step: number;\r\n @Input() noFormEnabledBorder: boolean = false;\r\n @Output() onChange = new EventEmitter();\r\n\r\n public handleInputChange($event: Event) {\r\n this.onChange.emit($event);\r\n }\r\n\r\n public control: FormControl;\r\n\r\n public get value(): string {\r\n return this._value;\r\n }\r\n\r\n @Input() public set value(value: string) {\r\n this._value = value;\r\n this.propagateChange(value);\r\n }\r\n\r\n constructor(private injector: Injector, private cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n if (this.variant === 'editable') {\r\n this.isDisabled = false;\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const ngControl: NgControl = this.injector.get<NgControl>(NgControl);\r\n if (ngControl) {\r\n this.control = ngControl.control as FormControl;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n private propagateChange: Function = (_: string) => {};\r\n private propagateTouch: Function = (_: string) => {};\r\n\r\n public writeValue(obj: any): void {\r\n this.value = obj;\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.propagateTouch = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n public onBlur(): void {\r\n this.propagateTouch();\r\n }\r\n}\r\n","<div class=\"field-container\">\r\n <div class=\"label-container\">\r\n <label class=\"label\" [for]=\"id\"> {{ label }}<span *ngIf=\"withAsterisk\" class=\"asterisk\">*</span></label>\r\n <lib-af-connect-form-validation-errors [control]=\"control\" [fieldText]=\"errorReferenceText || label\"></lib-af-connect-form-validation-errors>\r\n </div>\r\n <input\r\n [type]=\"type\"\r\n [step]=\"step\"\r\n size=\"10\"\r\n class=\"field-container-input\"\r\n [ngClass]=\"[\r\n variant,\r\n isDisabled ? 'disabled' : 'not-disabled',\r\n noFormEnabledBorder ? 'no-form-border' : '',\r\n control && control.errors && control.dirty && control.touched ? 'hasError' : '',\r\n control && variant === 'read-only' && control.disabled ? 'non-editable' : ''\r\n ]\"\r\n [maxLength]=\"maxLength\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled || variant === 'read-only'\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"handleInputChange($event)\"\r\n />\r\n <div *ngIf=\"control && control.errors && control.dirty && control.touched\" class=\"error-container\">\r\n <img src=\"../../../assets/icons/warning.svg\" />\r\n </div>\r\n </div>\r\n ","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-form-group',\r\n templateUrl: './af-connect-form-group.component.html',\r\n styleUrls: ['./af-connect-form-group.component.scss']\r\n})\r\nexport class AfConnectFormGroupComponent {\r\n\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-card',\r\n templateUrl: './af-connect-card.component.html',\r\n styleUrls: ['./af-connect-card.component.scss']\r\n})\r\nexport class AfConnectCardComponent {\r\n @Input() variant: 'large' | 'normal' | 'small' = 'normal';\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div [class]=\"['card', variant]\">\r\n <ng-content></ng-content>\r\n </div>\r\n ","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-card-header',\r\n templateUrl: './af-connect-card-header.component.html',\r\n styleUrls: ['./af-connect-card-header.component.scss']\r\n})\r\nexport class AfConnectCardHeaderComponent {\r\n @Input() title: string;\r\n @Input() subTitle: string;\r\n @Input() variant: 'normal' | 'small' = 'normal';\r\n @Input() hideBorderLine: boolean;\r\n @Input() subtitleColor: 'grey' | 'orange' = 'grey';\r\n @Output() onClick = new EventEmitter();\r\n\r\n ngOnInit(): void {}\r\n\r\n toggleMobileContent() {\r\n this.onClick.emit();\r\n }\r\n}\r\n","<div [class]=\"['card-header', variant]\" (click)=\"toggleMobileContent()\">\r\n <div class=\"title-container\">\r\n <div class=\"inner-title-container\">\r\n <div class=\"heading-container\">\r\n <span>{{ title }}</span>\r\n <ng-content select=\"[headingChip]\"></ng-content>\r\n </div>\r\n <div class=\"chip-container\">\r\n <ng-content select=\"[chip]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"subtitle\" [class]=\"[subtitleColor]\">{{ subTitle }}</div>\r\n </div>\r\n <div class=\"buttons-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"!hideBorderLine\" [class]=\"['border-line', variant]\"></div>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-chip',\r\n templateUrl: './af-connect-chip.component.html',\r\n styleUrls: ['./af-connect-chip.component.scss']\r\n})\r\nexport class AfConnectChipComponent {\r\n @Input() title: string;\r\n @Input() borderRadius: number;\r\n @Input() additionalStyle: { background?: string; color?: string };\r\n @Input() variant:\r\n | 'greenish-text'\r\n | 'greenish-count'\r\n | 'percentage'\r\n | 'status'\r\n | 'claims'\r\n | 'dot'\r\n | 'dot-orange'\r\n | 'dot-teal'\r\n | 'case-number' = 'greenish-text';\r\n}\r\n","<div\r\n [ngClass]=\"['chip', variant]\"\r\n [ngStyle]=\"{\r\n borderRadius: borderRadius + 'px',\r\n background: additionalStyle && additionalStyle.background ? additionalStyle.background : ''\r\n }\"\r\n>\r\n <div\r\n [ngStyle]=\"{\r\n color: additionalStyle && additionalStyle.color ? additionalStyle.color : ''\r\n }\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-chart',\r\n templateUrl: './af-connect-chart.component.html',\r\n styleUrls: ['./af-connect-chart.component.scss']\r\n})\r\nexport class AfConnectChartComponent {\r\n\r\n}\r\n","<p>af-connect-chart works!</p>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-error',\r\n templateUrl: './af-connect-error.component.html',\r\n styleUrls: ['./af-connect-error.component.scss']\r\n})\r\nexport class AfConnectErrorComponent {\r\n @Input() src: string;\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() height: 'small' | 'medium' | 'large' = 'small';\r\n @Input() alignContent: 'center' | 'left' = 'left';\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","<div [class]=\"[alignContent, 'error-container', height]\">\r\n <img class=\"svg\" [src]=\"src\" />\r\n <span class=\"error-title\">{{ title }}</span>\r\n <span class=\"error-message\">{{ message }}</span>\r\n </div>\r\n ","import { Component, Input } from '@angular/core';\r\n\r\nexport enum Severity {\r\n Error = \"Error!\",\r\n Warning = \"Warning!\",\r\n};\r\n\r\n@Component({\r\n selector: 'lib-af-connect-inline-error',\r\n templateUrl: './af-connect-inline-error.component.html',\r\n styleUrls: ['./af-connect-inline-error.component.scss']\r\n})\r\nexport class AfConnectInlineErrorComponent {\r\n @Input() public severity: Severity = Severity.Error;\r\n @Input() public message: string;\r\n @Input() src: string;\r\n @Input() size: 'large' | 'medium' | 'small' | 'none' = 'none';\r\n}\r\n","<div class=\"inline-error-container\">\r\n <img [class]=\"['svg', size]\" [src]=\"src\" />\r\n <span class=\"inline-error-title\">{{ severity }}</span>\r\n <span class=\"inline-error-message\">{{ message }}</span>\r\n </div>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-loading-spinner',\r\n templateUrl: './af-connect-loading-spinner.component.html',\r\n styleUrls: ['./af-connect-loading-spinner.component.scss']\r\n})\r\nexport class AfConnectLoadingSpinnerComponent {\r\n @Input() size: 'standard' | 'small' = 'standard';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"spinner\">\r\n <div [class]=\"size\"></div>\r\n <div [class]=\"size\"></div>\r\n <div [class]=\"size\"></div>\r\n <div [class]=\"size\"></div>\r\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { EmitValue } from '../constants/base.constants';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-svg-button',\r\n templateUrl: './af-connect-svg-button.component.html',\r\n styleUrls: ['./af-connect-svg-button.component.scss']\r\n})\r\nexport class AfConnectSvgButtonComponent implements OnInit {\r\n @Input() src: string;\r\n @Input() emitValue: EmitValue;\r\n @Input() customSize: number;\r\n @Input() size: 'large' | 'medium' | 'small' | 'none' = 'none';\r\n\r\n @Output() clickBtn = new EventEmitter<string | null>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<img\r\n [class]=\"['svg', size]\"\r\n [ngStyle]=\"{ width: customSize, height: customSize }\"\r\n (click)=\"this.clickBtn.emit(emitValue)\"\r\n [src]=\"src\"\r\n/>\r\n","import {\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n QueryList\r\n} from '@angular/core';\r\nimport { EmitValue } from '../constants/base.constants';\r\nimport { AfConnectButtonComponent } from '../af-connect-button/af-connect-button.component';\r\nimport { AfConnectSvgButtonComponent } from '../af-connect-svg-button/af-connect-svg-button.component';\r\n\r\n/**\r\n Example usage\r\n <afc-modal>\r\n <afc-button isOpenButton title=\"Open Modal\"></afc-button>\r\n <div class=\"content\">\r\n <afc-button emitValue=\"isCloseModal\" title=\"Close Modal\"></afc-button>\r\n <h1> This is test modal </h1>\r\n </div>\r\n </afc-modal>\r\n \r\n isOpenButton tag specifies which element triggers the modal (usually a button), and it is always shown.\r\n Pass [isCloseButton]=\"true\" to a button to specify which buttons in the modal should be used\r\n for closing the modal.Everything that does not have isOpenButton tag is the content of the modal.\r\n\r\n No additional event handling required for open/close of the modal.\r\n \r\n \r\n*/\r\n\r\n@Component({\r\n selector: 'lib-af-connect-modal',\r\n templateUrl: './af-connect-modal.component.html',\r\n styleUrls: ['./af-connect-modal.component.scss']\r\n})\r\nexport class AfConnectModalComponent implements OnDestroy{\r\n @Input() isOpen: boolean = false;\r\n @Input() disableOutsideClickClose: boolean = false;\r\n @Input() withCloseButton: boolean = true;\r\n @Input() variant: 'standard' | 'error' | 'info' = 'standard';\r\n @Input() header: string;\r\n @Input() content: string;\r\n @Input() width: number;\r\n @Input() noScrollbarContentContainer: boolean;\r\n @Input() reversedPadding: boolean; // sets inner-container to 0 padding, sets 24px to header-container\r\n @Input() borderHighlight: boolean;\r\n @Output() onClose = new EventEmitter<boolean>();\r\n @ContentChildren(AfConnectButtonComponent, { descendants: true }) buttons: QueryList<AfConnectButtonComponent>;\r\n @ContentChildren(AfConnectSvgButtonComponent, { descendants: true }) svgButton: QueryList<AfConnectSvgButtonComponent>;\r\n\r\n constructor(elementRef: ElementRef) {\r\n this.nativeElement = elementRef.nativeElement;\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.svgButton.forEach((svgButton: AfConnectSvgButtonComponent) =>\r\n svgButton.clickBtn.subscribe((emitValue: EmitValue) => {\r\n if (!this.disableOutsideClickClose) {\r\n this.closeFromModal(emitValue);\r\n }\r\n })\r\n );\r\n this.buttons.forEach((buttons: AfConnectButtonComponent) =>\r\n buttons.clickBtn.subscribe((emitValue: EmitValue) => {\r\n // if (!this.disableOutsideClickClose) {\r\n this.closeFromModal(emitValue);\r\n // }\r\n })\r\n );\r\n }\r\n public nativeElement: HTMLElement;\r\n\r\n public toggleModal() {\r\n this.isOpen = !this.isOpen;\r\n this.onClose.emit(this.isOpen);\r\n }\r\n\r\n public externalClickClose(e: Event) {\r\n if (!this.disableOutsideClickClose) {\r\n const target = e.target as HTMLElement;\r\n if (target.classList.contains('content-container') || target.classList.contains('background-container')) {\r\n this.isOpen = false;\r\n this.onClose.emit(this.isOpen);\r\n }\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {}\r\n\r\n private closeFromModal(emitValue: EmitValue) {\r\n if (emitValue === 'isCloseModal') {\r\n this.isOpen = false;\r\n this.onClose.emit(this.isOpen);\r\n }\r\n }\r\n}\r\n","<div class=\"modal-wrapper\" (click)=\"toggleModal()\">\r\n <ng-content select=\"[isOpenButton]\"></ng-content>\r\n </div>\r\n \r\n <div *ngIf=\"isOpen\" class=\"background-container\" (click)=\"externalClickClose($event)\">\r\n <div\r\n [ngStyle]=\"{ width: width + 'px' }\"\r\n [ngClass]=\"[\r\n 'content-container',\r\n variant,\r\n noScrollbarContentContainer ? 'noScrollbar' : '',\r\n borderHighlight ? 'with-border' : ''\r\n ]\"\r\n >\r\n <div *ngIf=\"variant !== 'standard'\" class=\"color-bar\"></div>\r\n <div [ngStyle]=\"{ padding: reversedPadding ? '0px' : null }\" class=\"inner-container\">\r\n <div\r\n *ngIf=\"header\"\r\n class=\"header-container\"\r\n [ngStyle]=\"{ padding: reversedPadding ? '24px 24px 20px 24px' : null }\"\r\n >\r\n <div class=\"header-content\">\r\n <img *ngIf=\"variant === 'error'\" src=\"../../../../assets/icons/warning.svg\" class=\"warning-icon\" />\r\n {{ header }}\r\n </div>\r\n <lib-af-connect-svg-button\r\n *ngIf=\"withCloseButton\"\r\n size=\"small\"\r\n src=\"../../../assets/icons/delete.svg\"\r\n emitValue=\"isCloseModal\"\r\n (clickBtn)=\"toggleModal()\"\r\n ></lib-af-connect-svg-button>\r\n </div>\r\n <div class=\"body-container\">\r\n <ng-container *ngIf=\"content\">\r\n {{ content }}\r\n </ng-container>\r\n <ng-content></ng-content>\r\n </div>\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: 'lib-af-connect-no-content',\r\n templateUrl: './af-connect-no-content.component.html',\r\n styleUrls: ['./af-connect-no-content.component.scss']\r\n})\r\nexport class AfConnectNoContentComponent {\r\n @Input() src: string;\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() alignContent: 'center' | 'left' = 'left';\r\n @Input() height: 'small' | 'medium' | 'large' | 'xLarge' | 'fill' = 'small';\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","<div [class]=\"[alignContent, 'no-content-container', height]\">\r\n <img class=\"svg\" [src]=\"src\" />\r\n <div class=\"info-container\">\r\n <p class=\"no-content-title\">{{ title }}</p>\r\n <p class=\"no-content-message\">{{ message }}</p>\r\n </div>\r\n </div>\r\n ","import { Component, Input } from '@angular/core';\r\nimport { NotificationResponseList } from '../models/notification-response.model';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-notification',\r\n templateUrl: './af-connect-notification.component.html',\r\n styleUrls: ['./af-connect-notification.component.scss']\r\n})\r\nexport class AfConnectNotificationComponent {\r\n @Input() data: NotificationResponseList;\r\n @Input() variant: 'small' | 'wide';\r\n}\r\n","<div [class]=\"['wrapper', variant]\">\r\n <div [class]=\"['svg-container', variant]\">\r\n <img [class]=\"['svg-overlay', variant]\" src=\"/assets/icons/tool.svg\" alt=\"\">\r\n <img [class]=\"['svg-background', variant]\" src=\"/assets/icons/splash_background.svg\" alt=\"\">\r\n </div>\r\n \r\n <div class=\"text-container\">\r\n <span>{{ data.categoryTitleToDisplay }}</span>\r\n <div [innerHTML]=\"data.htmlContent\"></div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\r\nimport { Subscription, interval, take } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-progress-bar',\r\n templateUrl: './af-connect-progress-bar.component.html',\r\n styleUrls: ['./af-connect-progress-bar.component.scss']\r\n})\r\nexport class AfConnectProgressBarComponent {\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n public progressBarTreshold = 30;\r\n public progressCounter = 0;\r\n public minimumProgressAnimation = 30;\r\n @Input() withProgressAnimation = false;\r\n public subscription = new Subscription();\r\n\r\n @Input() progress: number;\r\n @Input() primaryColor: 'primary-green' | 'primary-orange' = 'primary-green';\r\n @Input() secondaryColor: 'orange' | 'transparent' | 'grey' = 'grey';\r\n\r\n public ngAfterViewInit(): void {\r\n this.minimumProgressAnimation = this.progress < this.progressBarTreshold ? this.progressBarTreshold : this.progress;\r\n interval(11)\r\n .pipe(take(this.minimumProgressAnimation || 100))\r\n .subscribe(() => {\r\n if (!this.withProgressAnimation) {\r\n this.progressCounter = this.progress;\r\n } else {\r\n this.progressCounter++;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","<div [ngClass]=\"[secondaryColor]\" class=\"progress-bar-container\">\r\n <div [ngClass]=\"['progress-bar', primaryColor]\" [style]=\"{ width: progressCounter + '%' }\">\r\n <div class=\"text-container\">\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n <span *ngIf=\"false\"> {{ progress.toFixed(0) }}% </span>\r\n </div>\r\n </div>\r\n </div>\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-section',\r\n templateUrl: './af-connect-section.component.html',\r\n styleUrls: ['./af-connect-section.component.scss']\r\n})\r\nexport class AfConnectSectionComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component, Host, Input, OnInit, Optional, Output, EventEmitter } from '@angular/core';\r\nimport { ExpandableWrapperComponent } from '../expandable/afc-expandable-wrapper/afc-expandable-wrapper.component';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-section-header',\r\n templateUrl: './af-connect-section-header.component.html',\r\n styleUrls: ['./af-connect-section-header.component.scss']\r\n})\r\nexport class AfConnectSectionHeaderComponent {\r\n @Input() title: string;\r\n @Input() isStatic: boolean = true;\r\n @Input() variant: 'default' | 'portfolio' = 'default'\r\n @Output() onClick = new EventEmitter();\r\n\r\n constructor(@Host() @Optional() public wrapper: ExpandableWrapperComponent) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n toggleMobileContent() {\r\n this.onClick.emit();\r\n }\r\n}\r\n","<div class=\"header-container\" [ngClass]=\"[\r\n variant,\r\n isStatic ? 'isStatic' : 'isExpandable',\r\n (wrapper && wrapper.isExpanded$ | async) === true ? 'expanded' : '',\r\n (wrapper && wrapper.isExpanded$ | async) === false ? 'collapsed' : ''\r\n ]\" (click)=\"toggleMobileContent()\">\r\n <div class=\"section-wrapper\">\r\n <div class=\"{{variant}}\">\r\n {{ title }}\r\n </div>\r\n <ng-content select=\"[icon]\"></ng-content>\r\n <div class=\"buttons-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isStatic\" class=\"border-line\"></div>\r\n</div>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-select',\r\n templateUrl: './af-connect-select.component.html',\r\n styleUrls: ['./af-connect-select.component.scss']\r\n})\r\nexport class AfConnectSelectComponent {\r\n\r\n}\r\n","<!-- <div class=\"dropdown-collection\" [ngClass]=\"[size, (control && control.disabled) || isDisabled ? 'disabled' : 'not-disabled',]\" (click)=\"toggleDropdown($event)\">\r\n\r\n <div class=\"field-container\">\r\n <div class=\"label-container\">\r\n <label *ngIf=\"label\" [ngClass]=\"[variant]\" class=\"label\">\r\n {{ label }}<span *ngIf=\"withAsterisk\" class=\"asterisk\">*</span>\r\n </label>\r\n <afc-form-validation-errors\r\n [control]=\"control\"\r\n [fieldText]=\"errorReferenceText || label\"\r\n ></afc-form-validation-errors>\r\n </div>\r\n <div class=\"input-container\">\r\n <input\r\n type=\"text\"\r\n class=\"field-container-input\"\r\n [placeholder]=\"(isReadOnly && readOnlyPlaceholder) || placeholder\"\r\n [maxLength]=\"maxLength\"\r\n [ngClass]=\"[\r\n (control && control.disabled) || isDisabled ? 'disabled' : 'not-disabled',\r\n size,\r\n dropdownOpen ? 'dropdown-open' : '',\r\n control && control.errors && control.dirty && control.touched ? 'hasError' : '',\r\n filter ? 'filterable' : 'non-filterable'\r\n ]\"\r\n [disabled]=\"(control && control.disabled) || isDisabled || variant === 'read-only' || isReadOnly\"\r\n [(ngModel)]=\"currentValue\"\r\n (blur)=\"onBlur()\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n <div class=\"arrow-container\" *ngIf=\"variant !== 'read-only'\">\r\n <afc-expandable-arrow\r\n endPosition=\"top\"\r\n startPosition=\"bottom\"\r\n animationSpeed=\"fast\"\r\n ngClass=\"arrow\"\r\n [isExpanded]=\"dropdownOpen\"\r\n >\r\n </afc-expandable-arrow>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <ng-container *ngTemplateOutlet=\"dropdownListItems; context: { type }\"></ng-container>\r\n </div>\r\n \r\n <ng-template #dropdownListItems let-type=\"type\">\r\n <ul\r\n class=\"dropdown-list\"\r\n role=\"listbox\"\r\n aria-expanded=\"false\"\r\n [@selectAnimation]=\"dropdownOpen ? 'expanded' : 'collapsed'\"\r\n [ngClass]=\"{ 'dropdown-open': dropdownOpen }\"\r\n >\r\n <ng-container\r\n *ngIf=\"filteredOptions.length !== 0; else noDropdownData\"\r\n [ngTemplateOutlet]=\"virtualScroll\"\r\n ></ng-container>\r\n </ul>\r\n </ng-template>\r\n \r\n <ng-template #virtualScroll>\r\n <cdk-virtual-scroll-viewport\r\n class=\"select-menu-inner\"\r\n [appendOnly]=\"true\"\r\n [itemSize]=\"SizeEnum[size]\"\r\n [style.height.px]=\"itemsShown * SizeEnum[size]\"\r\n [minBufferPx]=\"itemsShown * SizeEnum[size]\"\r\n [maxBufferPx]=\"itemsShown * SizeEnum[size]\"\r\n >\r\n <div\r\n class=\"list-item-container\"\r\n *cdkVirtualFor=\"let option of filteredOptions\"\r\n [ngClass]=\"[currentValue === option ? 'selected' : '', size]\"\r\n (click)=\"select(option)\"\r\n >\r\n <img\r\n height=\"14\"\r\n width=\"26\"\r\n *ngIf=\"(type === 'country' || type === 'country-code') && option['countryCode']\"\r\n [src]=\"'../../../../assets/country-flags/' + option?.['countryCode'] + '.svg' | lowercase\"\r\n />\r\n <li tabindex=\"0\" role=\"option\" [innerHTML]=\"valueField && textField ? option[textField] : option\"></li>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </ng-template>\r\n \r\n <ng-template #noDropdownData>\r\n <div class=\"dropdown-no-data\">No Data</div>\r\n </ng-template>\r\n -->","import { Component, Input, TemplateRef } from '@angular/core';\r\n@Component({\r\n selector: 'lib-af-connect-tab',\r\n templateUrl: './af-connect-tab.component.html',\r\n styleUrls: ['./af-connect-tab.component.scss']\r\n})\r\nexport class AfConnectTabComponent {\r\n @Input() label: string;\r\n @Input() isActive: boolean = false;\r\n @Input() tabButtons: TemplateRef<any>;\r\n}\r\n","<div [hidden]=\"!isActive\">\r\n <ng-content></ng-content>\r\n </div>\r\n ","import {\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n QueryList,\r\n ViewChild,\r\n ViewChildren,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef\r\n} from '@angular/core';\r\nimport { debounceTime, fromEvent, Subscription } from 'rxjs';\r\nimport { AfConnectTabComponent } from '../af-connect-tab/af-connect-tab.component';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-tabs',\r\n templateUrl: './af-connect-tabs.component.html',\r\n styleUrls: ['./af-connect-tabs.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AfConnectTabsComponent implements OnDestroy {\r\n @ContentChildren(AfConnectTabComponent) tabs: QueryList<AfConnectTabComponent>;\r\n @ViewChild('slider', { read: ElementRef }) slider: ElementRef<HTMLSpanElement>;\r\n @ViewChildren('tab', { read: ElementRef }) tabsRefs: QueryList<ElementRef<HTMLLIElement>>;\r\n public activeTabIndex: number;\r\n public subs = new Subscription();\r\n\r\n constructor(public cdr: ChangeDetectorRef) {}\r\n\r\n @Input() selectedTabIndex: number;\r\n\r\n @Output() activeTabSelected = new EventEmitter<number>();\r\n\r\n ngOnDestroy(): void {\r\n this.subs.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n this.subs.add(\r\n fromEvent(window, 'resize')\r\n .pipe(debounceTime(50))\r\n .subscribe(() => {\r\n this.triggerSlider(this.activeTabIndex);\r\n })\r\n );\r\n }\r\n\r\n ngAfterContentChecked() {\r\n if (!this.selectedTabIndex) {\r\n const activeTab = this.tabs.find((tab) => tab.isActive);\r\n if (!activeTab) {\r\n const firstTab = this.tabs.first;\r\n firstTab.isActive = true;\r\n this.activeTabIndex = 0;\r\n this.activeTabSelected.emit(0);\r\n }\r\n } else {\r\n this.setActiveLabel();\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (!this.activeTabIndex) {\r\n this.triggerSlider(0);\r\n }\r\n }\r\n\r\n get activeTab() {\r\n return this.tabs.find((tab) => tab.isActive) || this.tabs.first;\r\n }\r\n\r\n activateTab(selectedTab: AfConnectTabComponent, index: number) {\r\n this.tabs.forEach((tab) => {\r\n tab.isActive = tab === selectedTab;\r\n });\r\n this.activeTabIndex = index;\r\n this.triggerSlider(index);\r\n this.activeTabSelected.emit(index);\r\n }\r\n\r\n private triggerSlider(i: number) {\r\n const activeTabRef = this.tabsRefs.get(i);\r\n this.slider.nativeElement.style.left = `${activeTabRef?.nativeElement.offsetLeft}px`;\r\n this.slider.nativeElement.style.width = `${activeTabRef?.nativeElement.offsetWidth}px`;\r\n }\r\n\r\n private setActiveLabel() {\r\n this.tabs.find((tab, i) => {\r\n const foundTab = i === this.selectedTabIndex;\r\n if (foundTab) {\r\n this.activeTabIndex = i;\r\n tab.isActive = true;\r\n }\r\n return foundTab;\r\n });\r\n }\r\n}\r\n","<nav class=\"tabs-nav\">\r\n <ul class=\"nav-list\">\r\n <li #tab *ngFor=\"let tab of tabs; let i = index\" class=\"nav-item\" [class.active]=\"tab.isActive\">\r\n <button class=\"nav-button\" (click)=\"activateTab(tab, i)\">\r\n {{ tab.label }}\r\n </button>\r\n </li>\r\n <span #slider class=\"slider\"></span>\r\n </ul>\r\n <div class=\"nav-action-buttons\">\r\n <ng-container [ngTemplateOutlet]=\"activeTab.tabButtons\"></ng-container>\r\n </div>\r\n </nav>\r\n <ng-content></ng-content>\r\n ","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-table',\r\n templateUrl: './af-connect-table.component.html',\r\n styleUrls: ['./af-connect-table.component.scss']\r\n})\r\nexport class AfConnectTableComponent {\r\n\r\n}\r\n","<p>af-connect-table works!</p>\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-toaster-message',\r\n templateUrl: './af-connect-toaster-message.component.html',\r\n styleUrls: ['./af-connect-toaster-message.component.scss']\r\n})\r\nexport class AfConnectToasterMessageComponent {\r\n @Input() public message: string;\r\n @Input() src: string;\r\n @Input() size: 'small' | 'medium' | 'large' = 'small';\r\n @Input() timer = 5000;\r\n @Output() onClose = new EventEmitter<boolean>();\r\n\r\n ngOnInit() {\r\n setTimeout(() => this.onClose.emit(), this.timer)\r\n }\r\n\r\n public closeToast() {\r\n this.onClose.emit();\r\n }\r\n}\r\n","<div class=\"toaster-container\">\r\n <img [class]=\"['svg', size]\" [src]=\"src\" />\r\n <span class=\"toaster-message\">{{ message }}</span>\r\n <afc-svg-button\r\n ngClass=\"close-btn\"\r\n size=\"medium\"\r\n src=\"/assets/icons/delete.svg\"\r\n emitValue=\"isCloseModal\"\r\n (clickBtn)=\"closeToast()\"\r\n >\r\n </afc-svg-button>\r\n </div>\r\n ","import {\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n query,\r\n stagger,\r\n animateChild,\r\n group,\r\n sequence\r\n} from '@angular/animations';\r\n\r\nconst TAB_SLIDER_TIMING_FN = '1000ms cubic-bezier(0.4, 0, 0.2, 1)';\r\n\r\nexport const flyInOutLeftColumn = [\r\n trigger('flyInOutLeftColumn', [\r\n state('in', style({ opacity: 0, transform: 'translateY(0)', background: 'blue' })),\r\n transition('void => *', [style({ opacity: 0, transform: 'translateY(-100%)' }), animate('310ms')]),\r\n transition('* => void', [animate('310ms', style({ opacity: 0, transform: 'translateY(-100%)' }))])\r\n ])\r\n];\r\n\r\nexport const flyInOutRightColumn = [\r\n trigger('flyInOutRightColumn', [\r\n state('in', style({ opacity: 1, transform: 'translateY(0)' })),\r\n transition('void => *', [style({ opacity: 0, transform: 'translateY(-100%)' }), animate('310ms 310ms')]),\r\n transition('* => void', [animate('310ms 310ms', style({ opacity: 0, transform: 'translateY(-100%)' }))])\r\n ])\r\n];\r\n\r\nexport const fadeAnimationGuide = trigger('fadeAnimation', [\r\n transition(':enter', [style({ opacity: 0 }), animate('300ms', style({ opacity: 1 }))]),\r\n transition(':leave', [style({ opacity: 1 }), animate('300ms', style({ opacity: 0 }))])\r\n]);\r\n\r\nexport const fadeAnimation = trigger('fadeAnimation', [\r\n transition(':enter', [style({ opacity: 0 }), animate('300ms ease-out', style({ opacity: 1 }))]),\r\n transition(':leave', [style({ opacity: 1 }), animate('300ms ease-out', style({ opacity: 0 }))])\r\n]);\r\n\r\nexport const staggerFadeIn = [\r\n trigger('stagger', [\r\n transition('* => *', [\r\n query(':enter', [style({ opacity: 0 }), stagger(100, [animate('0.5s', style({ opacity: 1 }))])], {\r\n optional: true\r\n })\r\n ])\r\n ])\r\n];\r\n\r\nexport const expandableContainer = [\r\n trigger('expandContainer', [\r\n transition(':enter', [\r\n style({ height: '0px', visibility: 'hidden' }),\r\n animate('300ms ease-out', style({ height: '*', visibility: 'visible' }))\r\n ]),\r\n transition(':leave', [animate('300ms ease-out', style({ height: '0px', visibility: 'hidden' }))])\r\n ])\r\n];\r\n\r\nexport const expandableArrow = [\r\n trigger('expandableArrow', [\r\n state('collapsed', style({ transform: 'rotate({{direction}}{{collapsedRotation}}deg)' }), {\r\n params: { collapsedRotation: '0', direction: '' }\r\n }),\r\n state('expanded', style({ transform: 'rotate({{direction}}{{expandedRotation}}deg)' }), {\r\n params: { expandedRotation: '90', direction: '' }\r\n }),\r\n transition('expanded <=> collapsed', animate('{{getNumberSpeed}}ms ease-out'), {\r\n params: { getNumberSpeed: 300 }\r\n }),\r\n transition('collapsed <=> expanded', animate('{{getNumberSpeed}}ms ease-out'), {\r\n params: { getNumberSpeed: 300 }\r\n })\r\n ])\r\n];\r\n\r\nexport const selectAnimation = [\r\n trigger('selectAnimation', [\r\n state('collapsed', style({ height: '0px', minHeight: '0', visibility: 'hidden', border: 'none' })),\r\n state('expanded', style({ height: '*' })),\r\n transition('expanded <=> collapsed', animate('180ms cubic-bezier(0.8, 0.5, 0.7, 1.0)'))\r\n ])\r\n];\r\n\r\nexport const tabSlider = [\r\n trigger('tabSlider', [\r\n state('in-from-left', style({ opacity: 1 })),\r\n state('in-from-right', style({ opacity: 1 })),\r\n state('out-to-left', style({ opacity: 0, transform: 'translateX(0)' })),\r\n state('out-to-right', style({ opacity: 0, transform: 'translateX(0)' })),\r\n transition('* => out-to-right', animate(TAB_SLIDER_TIMING_FN, style({ transform: 'translateX(100%)' }))),\r\n transition('* => out-to-left', [animate(TAB_SLIDER_TIMING_FN, style({ transform: 'translateX(-100%)' }))]),\r\n transition('* => in-from-left', [\r\n sequence([\r\n style({ transform: 'translateX(-100%)', opacity: 1 }),\r\n animate(TAB_SLIDER_TIMING_FN, style({ transform: 'translateX(0)' }))\r\n ])\r\n ]),\r\n transition('* => in-from-right', [\r\n sequence([\r\n style({ transform: 'translateX(100%)', opacity: 1 }),\r\n animate(TAB_SLIDER_TIMING_FN, style({ transform: 'translateX(0)' }))\r\n ])\r\n ])\r\n ])\r\n];\r\n\r\nexport const toggleButtonAnimation = [\r\n trigger('toggleButton', [\r\n state('on', style({ transform: 'translateX(100%)' })),\r\n state('off', style({ transform: 'translateX(0)' })),\r\n transition('on <=> off', animate('300ms ease-out'))\r\n ])\r\n];\r\n\r\nexport const toggleBackgroundAnimation = [\r\n trigger('toggleBackground', [\r\n state('on', style({ background: 'var(--primary-connected-orange-color)' })),\r\n state('off', style({ background: 'var(--toggle-button-grey-color)' })),\r\n transition('on <=> off', [group([query('@toggleButton', [animateChild()]), animate('300ms ease-out')])])\r\n ])\r\n];\r\n\r\nexport const flyInOut = [\r\n trigger('flyInOut', [\r\n state('in', style({ opacity: 1, transform: 'translateY(0)' })),\r\n transition('void => *', [style({ opacity: 0, transform: 'translateY(-100%)' }), animate(200)]),\r\n transition('* => void', [animate(200, style({ opacity: 0, transform: 'translateY(-100%)' }))])\r\n ])\r\n];\r\n\r\nexport const fadeInFromBottom = [\r\n trigger('fadeInFromBottom', [\r\n state('void', style({ opacity: 0.3, transform: 'translateY(90%)' })), // Initial state for :enter\r\n state('enter', style({ opacity: 1, transform: 'translateY(0)' })), // Final state for :enter\r\n transition(\r\n 'void => enter',\r\n [\r\n style({ opacity: 0.3, transform: 'translateY(90%)' }),\r\n animate('1000ms {{delay}}ms ease-in-out', style({ opacity: 1, transform: 'translateY(0)' }))\r\n ],\r\n {\r\n params: { delay: '0' }\r\n }\r\n )\r\n ])\r\n];\r\n","import { ChangeDetectorRef, Component, Input, forwardRef, Injector, Output, EventEmitter } from '@angular/core';\r\nimport { FormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { toggleButtonAnimation, toggleBackgroundAnimation } from '../constants/animation.constants';\r\nimport { EmitValue } from '../constants/base.constants';\r\n\r\nconst NEUTRAL_BUTTON_COLOR = '#F3F3F3';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-toggle-button',\r\n templateUrl: './af-connect-toggle-button.component.html',\r\n styleUrls: ['./af-connect-toggle-button.component.scss'],\r\n animations: [toggleButtonAnimation, toggleBackgroundAnimation],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AfConnectToggleButtonComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AfConnectToggleButtonComponent {\r\n @Input() emitValue: EmitValue;\r\n @Input() label: string;\r\n @Input() disabled = true;\r\n @Input() withForm = false;\r\n @Input() onStateBackground: string = 'var(--primary-connected-orange-color)';\r\n @Input() offStateBackground: string;\r\n @Input() onStateText: string;\r\n @Input() offStateText: string;\r\n @Input() background: string;\r\n @Input() position: 'on' | 'off' = 'off';\r\n @Input() variant: 'ball' | 'full' = 'ball';\r\n @Output() clickBtn = new EventEmitter<string | null>();\r\n public control: FormControl;\r\n\r\n constructor(private injector: Injector, private cdr: ChangeDetectorRef) {}\r\n\r\n public togglePosition() {\r\n if (this.position === 'on') this.position = 'off';\r\n else this.position = 'on';\r\n\r\n this.propagateChange(this.position === 'on');\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n if (this.withForm) {\r\n const ngControl: NgControl = this.injector.get<NgControl>(NgControl);\r\n if (ngControl) {\r\n this.control = ngControl.control as FormControl;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n }\r\n\r\n private propagateChange: Function = (_: string) => {};\r\n private propagateTouch: Function = (_: string) => {};\r\n\r\n public writeValue(): void {}\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.propagateTouch = fn;\r\n }\r\n\r\n public onBlur(): void {\r\n this.propagateTouch();\r\n }\r\n\r\n setDisabledState?(disabled: boolean): void {\r\n this.disabled = disabled;\r\n }\r\n\r\n public getButtonStyles(): Object {\r\n if (this.variant === 'full')\r\n return {\r\n background: this.background || NEUTRAL_BUTTON_COLOR,\r\n width: '152px',\r\n height: '32px',\r\n borderRadius: '16px'\r\n };\r\n else\r\n return {\r\n background: this.position === 'on' ? this.onStateBackground : this.offStateBackground\r\n };\r\n }\r\n\r\n public getToggleBallStyles(): Object | void {\r\n if (this.variant === 'full')\r\n return {\r\n background: '#15808D',\r\n width: '76px',\r\n height: '32px',\r\n borderRadius: '16px',\r\n margin: 0\r\n };\r\n }\r\n\r\n public getOnStateTextStyles(): Object | void {\r\n if (this.variant === 'full')\r\n return {\r\n zIndex: '2',\r\n fontSize: '14px',\r\n marginLeft: '19px',\r\n color: this.position === 'on' ? '#707070' : '#fff'\r\n };\r\n }\r\n\r\n public getOffStateTextStyles(): Object | void {\r\n if (this.variant === 'full')\r\n return {\r\n zIndex: '2',\r\n fontSize: '14px',\r\n marginLeft: '16px',\r\n color: this.position === 'off' ? '#707070' : '#fff'\r\n };\r\n }\r\n}\r\n","<label>{{ label }}</label>\r\n<button\r\n type=\"button\"\r\n class=\"toggle-button\"\r\n (click)=\"this.clickBtn.emit(emitValue); togglePosition();\"\r\n [disabled]=\"disabled\"\r\n [ngStyle]=\"getButtonStyles()\">\r\n <span\r\n *ngIf=\"onStateText\"\r\n [ngStyle]=\"getOnStateTextStyles() || null\"\r\n class=\"onStateText\">\r\n {{onStateText}}\r\n </span>\r\n <div\r\n class=\"toggle-ball\"\r\n [@toggleButton]=\"position\"\r\n [ngStyle]=\"getToggleBallStyles() || null\">\r\n </div>\r\n <span\r\n *ngIf=\"offStateText\"\r\n [ngStyle]=\"getOffStateTextStyles() || null\"\r\n class=\"offStateText\"> \r\n {{offStateText}}\r\n </span>\r\n</button>\r\n<span *ngIf=\"label\" class=\"state-info-text\">{{ position === 'on' ? 'Yes' : 'No' }}</span>","import { Component, HostBinding, HostListener, Input } from '@angular/core';\r\nimport { Position } from './types';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-tooltip',\r\n templateUrl: './af-connect-tooltip.component.html',\r\n styleUrls: ['./af-connect-tooltip.component.scss']\r\n})\r\nexport class AfConnectTooltipComponent {\r\n @Input() text: string;\r\n @Input() position: Position = 'bottomRight';\r\n @Input() additionalShowCondition: boolean = true;\r\n @Input() top: string;\r\n @Input() autoSize: boolean;\r\n @Input() zIndex: number = 10;\r\n\r\n public showContent = false;\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.showContent = !this.showContent;\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.showContent = false;\r\n }\r\n\r\n @HostListener('click') click() {\r\n this.showContent = !this.showContent;\r\n }\r\n\r\n // @HostBinding('style.z-index')\r\n // get zIndexStyle(): number {\r\n // return this.zIndex;\r\n // }\r\n\r\n}\r\n","<div\r\n *ngIf=\"showContent && additionalShowCondition\"\r\n [ngStyle]=\"{\r\n top: top,\r\n zIndex: zIndex\r\n }\"\r\n [ngClass]=\"['tooltip__text__box', position, autoSize ? 'autoSize' : '']\"\r\n>\r\n <div class=\"tooltip__text\">{{ text }}</div>\r\n</div>\r\n<ng-content></ng-content>\r\n","import { Component, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-breadcrumb',\r\n templateUrl: './af-connect-breadcrumb.component.html',\r\n styleUrls: ['./af-connect-breadcrumb.component.scss']\r\n})\r\nexport class AfConnectBreadcrumbComponent {\r\n @Input() currentPage: string;\r\n\r\n public goToDashboard() {\r\n // this.router.navigate(['/dashboard']);\r\n }\r\n\r\n constructor(private router: Router) {}\r\n}\r\n","<div class=\"breadcrumb-wrapper\">\r\n <div class=\"breadcrumb-container\">\r\n <div class=\"home-icon-container\" (click)=\"goToDashboard()\">\r\n <lib-af-connect-svg-button [customSize]=\"24\" src=\"../../../assets/icons/home.svg\" emitValue=\"isCloseModal\"></lib-af-connect-svg-button>\r\n </div>\r\n <div class=\"titles-container\">\r\n <div class=\"home-title\" (click)=\"goToDashboard()\">Home</div>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n <div class=\"current-title\">{{ currentPage }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n ","export type SolutionsProduct = 'invest' | 'myMoneyMatters' | 'afplus';\r\nexport interface SoluctionsProductData {\r\n imgWeb: string;\r\n hideArrowIcon?: boolean | null;\r\n imgMobile: string;\r\n heading: string;\r\n subheading: string;\r\n description: string;\r\n ctaTitle: string;\r\n ctaLink: string;\r\n labels: {\r\n img?: string;\r\n text: string;\r\n }[],\r\n bottomCtaTitle?: string;\r\n bottomCtaLink?: string;\r\n}\r\n\r\nexport const data: Record<SolutionsProduct, SoluctionsProductData> = {\r\n 'invest': {\r\n imgWeb: 'solutions-invest.jpg',\r\n imgMobile: 'solutions-invest-mobile.jpg',\r\n heading: 'Start investing today',\r\n subheading: 'A smarter, simpler way to invest and grow your wealth over time.',\r\n description: 'Consolidate your existing ones with our award-winning digital platform—designed to make investing easy and seamless for you',\r\n ctaTitle: 'Explore',\r\n ctaLink: 'https://invest.alexforbes.com/za/en/invest/',\r\n labels: [\r\n {\r\n img: 'document-clock-blue.svg',\r\n text: 'Apply without paperwork'\r\n },\r\n {\r\n img: 'phone-text-bubbles-blue.svg',\r\n text: 'Get online Digital-advice'\r\n },\r\n {\r\n img: 'devices-blue.svg',\r\n text: 'Access your statements'\r\n },\r\n ]\r\n },\r\n 'myMoneyMatters': {\r\n imgWeb: 'solutions-mmm.jpg',\r\n imgMobile: 'solutions-mmm-mobile.jpg',\r\n heading: 'My money matters',\r\n subheading: 'Get the most out of your money',\r\n description: 'Are you starting a new job, leaving a job, retiring soon, or just trying to achieve your financial goals? My Money Matters Toolkit provided guided decision journeys for important financial moments during people’ working lives and beyond.',\r\n ctaTitle: 'Explore',\r\n ctaLink: 'https://mymoneymatters.alexforbes.com/',\r\n labels: [\r\n {\r\n img: 'devices-blue.svg',\r\n text: 'My Money Matters toolkit'\r\n },\r\n {\r\n img: 'shield-blue.svg',\r\n text: 'Investing for a goal'\r\n },\r\n {\r\n img: 'hourglass-blue.svg',\r\n text: 'Save for retirement'\r\n },\r\n ]\r\n },\r\n 'afplus': {\r\n imgWeb: 'solutions-afplus.jpg',\r\n imgMobile: 'solutions-afplus-mobile.jpg',\r\n heading: 'A F +',\r\n subheading: 'Financial decisions with confidence',\r\n description: 'AF+ is a new digital platform that connects you to expertly chosen financial solutions to help you make decisions with ease and confidence. Reduce your financial stress and focus on what matters Consolidate debt and negotiate affordable payment terms to you.',\r\n ctaTitle: 'Explore',\r\n ctaLink: 'https://plus.alexforbes.com/?utm_source=afwebsite&utm_campaign=AFWebsite&utm_medium=Web&utm_term=Explore&utm_content=Explore%20AF%2B%20solutions',\r\n labels: [\r\n {\r\n img: 'price-tag-blue.svg',\r\n text: 'Retailer discounts'\r\n },\r\n {\r\n img: 'travel-blue.svg',\r\n text: 'Travel and lifestyle'\r\n },\r\n {\r\n img: 'basket-blue.svg',\r\n text: 'Benefits'\r\n },\r\n ]\r\n },\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { BreakpointLibService } from '../services/breakpoint.service';\r\nimport { data, SoluctionsProductData, SolutionsProduct } from './af-connect-solutions-product.data';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-solutions-product',\r\n templateUrl: './af-connect-solutions-product.component.html',\r\n styleUrls: ['./af-connect-solutions-product.component.scss']\r\n})\r\nexport class AfConnectSolutionsProductComponent {\r\n private _variant: SolutionsProduct = 'invest';\r\n\r\n @Input() direction: 'default' | 'reverse' = 'default';\r\n @Input()\r\n get variant() {\r\n return this._variant;\r\n }\r\n set variant(value: SolutionsProduct) {\r\n this._variant = value;\r\n this.content = data[value];\r\n }\r\n\r\n content: SoluctionsProductData;\r\n\r\n constructor(public breakpointService: BreakpointLibService) {}\r\n\r\n navigateExternal() {\r\n window.open(this.content.ctaLink, '_blank');\r\n }\r\n}\r\n","<section [ngClass]=\"['wrapper', direction, variant]\">\r\n @if (!(breakpointService.isMobile$ | async)) {\r\n <div class=\"image-container\">\r\n <img [src]=\"'/assets/images/' + content.imgWeb\">\r\n </div>\r\n }\r\n <div class=\"content\">\r\n <header>\r\n <span class=\"line\"></span>\r\n <h3>{{ content.heading }}</h3>\r\n <h4>{{ content.subheading }}</h4>\r\n </header>\r\n @if (!(breakpointService.isMobile$ | async)) {\r\n <p>{{ content.description }}</p>\r\n }\r\n @else {\r\n <div class=\"image-container\">\r\n <img [src]=\"'/assets/images/' + content.imgMobile\">\r\n <p>{{ content.description }}</p>\r\n </div>\r\n }\r\n <lib-af-connect-button \r\n class=\"regular\"\r\n [title]=\"content.ctaTitle\"\r\n variant=\"filled\"\r\n (clickBtn)=\"navigateExternal()\"\r\n ></lib-af-connect-button>\r\n <div class=\"labels\">\r\n @for (label of content.labels; track $index) {\r\n <div class=\"label\">\r\n <img [src]=\"'/assets/icons/' + label.img\">\r\n <span>{{ label.text }}</span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-savings-banner',\r\n templateUrl: './af-connect-savings-banner.component.html',\r\n styleUrls: ['./af-connect-savings-banner.component.scss']\r\n})\r\nexport class AfConnectSavingsBannerComponent {\r\n @Input() url: string;\r\n\r\n navigateExternal() {\r\n window.open( this.url, '_blank');\r\n }\r\n}\r\n","<section class=\"wrapper\">\r\n <div class=\"main-content\">\r\n <span class=\"chip\">AF Rewards</span>\r\n <h2>MAX YOUR SAVINGS!</h2>\r\n <p>A dynamic shopping experience—get vouchers, shop online or in-store, and save with no limits or costs!</p>\r\n </div>\r\n <div class=\"pill\">\r\n <span>Start saving today!</span>\r\n <lib-af-connect-button\r\n variant=\"filled\"\r\n title=\"Discover more\"\r\n class=\"regular regular-pill\"\r\n (clickBtn)=\"navigateExternal()\"\r\n ></lib-af-connect-button>\r\n </div>\r\n</section>\r\n","import { SoluctionsProductData } from '../af-connect-solutions-product/af-connect-solutions-product.data';\r\n\r\nexport type SolutionsProductV2 = 'myMoneyMatters' | 'afplus' | 'advice' | 'namEducation' | 'namDebt' | 'namJobs' | 'taxTim' | 'wellTec' | 'will' | 'education' | 'rewards' | 'invest'| 'botEducation' | 'botDebt' | 'botJobs';\r\n\r\nexport const data: Record<SolutionsProductV2, Partial<SoluctionsProductData>> = {\r\n 'afplus': {\r\n hideArrowIcon : false,\r\n heading: 'A F +',\r\n imgWeb: 'solutions-afplus-v2.jpg',\r\n subheading: 'Financial decisions with confidence',\r\n ctaLink: 'https://plus.alexforbes.com/?utm_source=afwebsite&utm_campaign=AFWebsite&utm_medium=Web&utm_term=Explore&utm_content=Explore%20AF%2B%20solutions',\r\n labels: [\r\n {\r\n img: 'price-tag-blue.svg',\r\n text: 'Retailer discounts'\r\n },\r\n {\r\n img: 'travel-blue.svg',\r\n text: 'Travel and lifestyle'\r\n },\r\n {\r\n img: 'basket-blue.svg',\r\n text: 'Benefits'\r\n },\r\n ]\r\n },\r\n 'myMoneyMatters': {\r\n hideArrowIcon : false,\r\n heading: 'My money matters',\r\n imgWeb: 'solutions-mmm-v2.jpg',\r\n subheading: 'Get the most out of your money',\r\n description: 'Explore My Money Matters Toolkit',\r\n ctaLink: 'https://mymoneymatters.alexforbes.com/',\r\n labels: [\r\n {\r\n text: 'Saving for emergencies'\r\n },\r\n {\r\n text: 'Choose the right medical aid for your budget'\r\n },\r\n {\r\n text: 'Avoid stress and manage your debt'\r\n }\r\n ]\r\n },\r\n 'advice': {\r\n hideArrowIcon : false,\r\n heading: 'Expert advice',\r\n imgWeb: 'solutions-advice.jpg',\r\n subheading: 'Plan your future with expert advice',\r\n ctaLink: 'https://advice.alexforbes.com/index.html',\r\n labels: [\r\n {\r\n text: 'Build a holistic financial plan'\r\n },\r\n {\r\n text: 'Save for meaningful life goals'\r\n },\r\n {\r\n text: 'Partner with your own financial adviser'\r\n }\r\n ]\r\n },\r\n 'namEducation': {\r\n hideArrowIcon : false,\r\n heading: 'Member Education Matters',\r\n imgWeb: 'nam_s4u_pier.png',\r\n description: 'Key financial topics to help you make informed decisions.',\r\n labels: [\r\n {\r\n text: 'Understand retirement savings and benefit options'\r\n },\r\n {\r\n text: 'Learn how to manage debt and improve financial wellness'\r\n },\r\n {\r\n text: 'Get guidance on insurance and financial protection'\r\n }\r\n ]\r\n },\r\n 'namDebt': {\r\n hideArrowIcon : false,\r\n heading: 'Managing Debt Wisely',\r\n imgWeb: 'nam_s4u_sunset_tree.png',\r\n description: 'Simple ways to reduce debt and improve your finances.',\r\n labels: [\r\n {\r\n text: 'Understand your credit score and overall debt risk'\r\n },\r\n {\r\n text: 'Pay more toward high-interest debt to reduce it faster'\r\n },\r\n {\r\n text: 'Create a repayment plan and review it regularly'\r\n }\r\n ]\r\n },\r\n 'namJobs': {\r\n hideArrowIcon : false,\r\n heading: 'Changing Jobs?',\r\n imgWeb: 'nam_s4u_broadwalk.png',\r\n subheading: 'Keep your retirement savings invested',\r\n description: 'Maintain emergency savings and adequate insurance.',\r\n labels: [\r\n {\r\n text: 'Contribute as much as possible'\r\n },\r\n {\r\n text: 'Manage debt wisely'\r\n },\r\n {\r\n text: 'Consult a financial adviser for guidance'\r\n }\r\n ]\r\n },\r\n 'taxTim': {\r\n hideArrowIcon : false,\r\n imgWeb: 'solutions-taxtim.jpg',\r\n heading: 'Tax made easy',\r\n description: 'Simplified tax filing, exclusive value for Alexforbes members.',\r\n ctaLink: 'https://www.taxtim.com/za/get-started?210',\r\n labels: [\r\n {\r\n text: 'Guided digital help with your tax return'\r\n },\r\n {\r\n text: 'Smart prompts ensure accuracy and completeness of your return'\r\n },\r\n {\r\n text: 'Seamless integration with SARS eFilling for direct submission'\r\n },\r\n // {\r\n // text: 'Use code <strong style=\"color:#15808D;\">ALEXFORBES25</strong> and save 25% today'\r\n // }\r\n ]\r\n },\r\n 'wellTec': {\r\n hideArrowIcon : false,\r\n heading: 'Take control of your debt',\r\n imgWeb: 'solutions-welltec.jpg',\r\n description: 'In partnership with Welltec, we make debt management simple.',\r\n ctaLink: 'https://welltec.co.za',\r\n labels: [\r\n {\r\n text: 'Get a free credit report and improve your credit profile'\r\n },\r\n {\r\n text: 'Reduce what you owe through negotiated settlement discounts'\r\n },\r\n {\r\n text: 'Consolidate multiple debts into one simple, manageable repayment'\r\n },\r\n {\r\n text: 'Start your journey to financial health today'\r\n }\r\n ]\r\n },\r\n 'will': {\r\n hideArrowIcon : false,\r\n heading: 'Will and Testament',\r\n imgWeb: 'solutions-will.jpg',\r\n subheading: 'Don’t leave your family in a really awkward position',\r\n description: 'Have a will written - Alexforbes can help you with.',\r\n labels: [\r\n {\r\n text: 'Drafting of local and international wills'\r\n },\r\n {\r\n text: 'Executorships and administration of deceased estates'\r\n },\r\n {\r\n text: 'Formation and administration of charitable trusts, inter vivo trusts and testamentary trusts'\r\n }\r\n ]\r\n },\r\n 'education': {\r\n hideArrowIcon : false,\r\n heading: 'Member education matters',\r\n imgWeb: 'solutions-will.jpg',\r\n description: 'Key financial topics to help you make informed decisions.',\r\n ctaLink: 'https://mymoneymatters.alexforbes.com/',\r\n labels: [\r\n {\r\n text: 'Understand retirement savings and benefit options'\r\n },\r\n {\r\n text: 'Learn how to manage debt and improve financial wellness'\r\n },\r\n {\r\n text: 'Get guidance on insurance and financial protection'\r\n }\r\n ]\r\n },\r\n 'rewards' :{\r\n hideArrowIcon : false,\r\n heading: 'AF Rewards – save on loved brands',\r\n imgWeb: 'solutions-rewards.png',\r\n description: 'Exclusive discounts and lifestyle benefits from leading brands, all in one place.',\r\n ctaLink: 'https://rewards.alexforbes.com/landingpage',\r\n labels:[\r\n {\r\n text: 'Airtime & data deals – stay connected on discounted airtime/data deals'\r\n },\r\n {\r\n text: 'Supermarket savings on groceries and household essentials'\r\n },\r\n {\r\n text: 'Travel deals – discounted rates on holiday deals'\r\n },\r\n {\r\n text: 'Wellness benefits – wellbeing vouchers at discounted rates'\r\n }\r\n ]\r\n },\r\n 'invest' :{\r\n hideArrowIcon : false,\r\n heading: 'Start investing today',\r\n description: 'A smarter, simpler way to invest and grow your wealth over time.',\r\n imgWeb: 'solutions-invest.jpg',\r\n ctaLink: 'https://online.invest.alexforbes.com/Advice/ProductSelection',\r\n labels:[\r\n {\r\n text: 'Consolidate your existing investment with our award winning digital platform'\r\n },\r\n {\r\n text: 'Apply without paperwork'\r\n },\r\n {\r\n text: 'Get online Digital-advice'\r\n }\r\n ],\r\n bottomCtaTitle: 'Get a free quote now',\r\n bottomCtaLink: 'https://online.invest.alexforbes.com/Advice/ProductSelection'\r\n },\r\n 'botEducation': {\r\n hideArrowIcon: true,\r\n heading: 'Member Education Matters',\r\n imgWeb: 'nam_s4u_pier.png',\r\n description: 'Key financial topics to help you make informed decisions.',\r\n labels: [\r\n {\r\n text: 'Understand retirement savings and benefit options'\r\n },\r\n {\r\n text: 'Learn how to manage debt and improve financial wellness'\r\n },\r\n {\r\n text: 'Get guidance on insurance and financial protection'\r\n }\r\n ]\r\n },\r\n 'botDebt': {\r\n hideArrowIcon: true,\r\n heading: 'Managing Debt Wisely',\r\n imgWeb: 'nam_s4u_sunset_tree.png',\r\n description: 'Simple ways to reduce debt and improve your finances.',\r\n labels: [\r\n {\r\n text: 'Understand your credit score and overall debt risk'\r\n },\r\n {\r\n text: 'Pay more toward high-interest debt to reduce it faster'\r\n },\r\n {\r\n text: 'Create a repayment plan and review it regularly'\r\n }\r\n ]\r\n },\r\n 'botJobs': {\r\n hideArrowIcon: true,\r\n heading: 'Changing Jobs?',\r\n imgWeb: 'nam_s4u_broadwalk.png',\r\n subheading: 'Keep your retirement savings invested',\r\n description: 'Maintain emergency savings and adequate insurance.',\r\n labels: [\r\n {\r\n text: 'Contribute as much as possible'\r\n },\r\n {\r\n text: 'Manage debt wisely'\r\n },\r\n {\r\n text: 'Consult a financial adviser for guidance'\r\n }\r\n ]\r\n }\r\n};","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer){}\r\n\r\n transform(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}","import { Component, computed, EventEmitter, input, Input, Output } from '@angular/core';\r\nimport { data, SolutionsProductV2 } from './af-connect-solutions-product-v2.data';\r\nimport { SoluctionsProductData as SolutionsProductDetails } from '../af-connect-solutions-product/af-connect-solutions-product.data';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-solutions-product-v2',\r\n templateUrl: './af-connect-solutions-product-v2.component.html',\r\n styleUrl: './af-connect-solutions-product-v2.component.scss'\r\n})\r\nexport class AfConnectSolutionsProductV2Component {\r\n private _variant: SolutionsProductV2 = 'afplus';\r\n \r\n @Input()\r\n get variant() {\r\n return this._variant;\r\n }\r\n set variant(value: SolutionsProductV2) {\r\n this._variant = value;\r\n this.content = data[value];\r\n }\r\n \r\n taxTimPromoCodeEffectiveFrom = input(new Date('2027-06-30T22:00:00Z')); // accounting for timezone offset\r\n taxTimPromoCodeListItem = computed(() => {\r\n const currentDate = new Date();\r\n\r\n return currentDate < this.taxTimPromoCodeEffectiveFrom()\r\n ? 'Save 30% with your exclusive early bird code - <strong style=\"color:#15808D;\">ALEXFORBES30</strong>'\r\n : 'Use code <strong style=\"color:#15808D;\">ALEXFORBES25</strong> and save 25% today';\r\n });\r\n\r\n @Output()\r\n navigateToProduct = new EventEmitter<void>();\r\n @Output()\r\n linkClick = new EventEmitter<string>();\r\n\r\n content: Partial<SolutionsProductDetails>;\r\n\r\n onClick() {\r\n this.navigateToProduct.emit();\r\n }\r\n onLinkClick() {\r\n this.linkClick.emit(this._variant);\r\n }\r\n}\r\n","<section [ngClass]=\"['product', variant]\">\r\n <div class=\"product__img-wrapper\">\r\n <img class=\"product__img\" [src]=\"'/assets/images/' + content.imgWeb\">\r\n </div>\r\n <div class=\"product__content\">\r\n <div class=\"product__floating-header\" [class.hide-arrow]=\"content.hideArrowIcon\">\r\n <h3 class=\"product__heading\">{{ content.heading }}</h3>\r\n <div class=\"product__floating-header-inner\" [class.no-text]=\"!content.subheading\">\r\n @if (variant !== 'taxTim') {\r\n <span class=\"product__description\">{{ content.subheading }}</span>\r\n }\r\n @else {\r\n <img src=\"assets/icons/taxtim_logo.svg\" alt=\"TaxTim\" width=\"104px\">\r\n }\r\n @if(!content.hideArrowIcon){\r\n <a *ngIf=\"content.ctaLink; else anchorTemplate \" class=\"product__link\" (click)=\"onLinkClick()\" [href]=\"content.ctaLink\"\r\n target=\"_blank\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n <ul class=\"product__list\">\r\n @if (content.description) {\r\n <p class=\"product__free-text\">\r\n {{ content.description }}\r\n </p>\r\n }\r\n @for (label of content.labels; track $index) {\r\n <li class=\"product__list-item\">\r\n @if (label.img) {\r\n <img [src]=\"'/assets/icons/' + label.img\" width=\"40px\">\r\n }\r\n @else {\r\n <img [src]=\"'/assets/icons/checkmark-teal.svg'\" alt=\"checkmark\" width=\"32\" height=\"32\">\r\n }\r\n <span [innerHTML]=\"label.text | safeHtml\"></span>\r\n </li>\r\n }\r\n @if (variant === 'taxTim') {\r\n <li class=\"product__list-item\">\r\n <img [src]=\"'/assets/icons/checkmark-teal.svg'\" alt=\"checkmark\" width=\"32\" height=\"32\">\r\n <span [innerHTML]=\"taxTimPromoCodeListItem() | safeHtml\"></span>\r\n </li>\r\n }\r\n </ul>\r\n @if (content.bottomCtaTitle && content.bottomCtaLink) {\r\n <div class=\"product__bottom-cta\">\r\n <span >\r\n {{ content.bottomCtaTitle }}\r\n </span>\r\n <a class=\"product__link\" (click)=\"onLinkClick()\" [href]=\"content.bottomCtaLink\" target=\"_blank\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n<ng-template #anchorTemplate>\r\n <a class=\"product__link\" href=\"javascript:void(0)\" (click)=\"onClick()\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { AfConnectComponentsComponent } from './af-connect-components.component';\r\nimport { AfConnectFooterComponent } from './af-connect-footer/af-connect-footer.component';\r\nimport { AfConnectHeaderComponent } from './af-connect-header/af-connect-header.component';\r\nimport { ExpandableWrapperComponent } from './expandable/afc-expandable-wrapper/afc-expandable-wrapper.component';\r\nimport { ExpandableArrowComponent } from './expandable/expandable-arrow/expandable-arrow.component';\r\nimport { ExpandableContainerComponent } from './expandable/expandable-container/expandable-container.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreakpointLibService } from './services/breakpoint.service';\r\nimport { AfConnectProfileDropdown } from './af-connect-profile-dropdown/af-connect-profile-dropdown.component';\r\nimport { GetinItialsPipe } from '../shared/pipes/get-initials';\r\nimport { FaqComponent } from './faq/faq/faq.component';\r\nimport { FaqItemComponent } from './faq/faq-item/faq-item.component';\r\nimport { ImageWithFallbackComponent, ImageWithFallbackDirective } from './faq/image-fallback/image-fallback.component';\r\nimport { AfConnectProductsCarouselComponent } from './af-connect-products-carousel/af-connect-products-carousel.component';\r\nimport { ImageCardComponent } from './af-connect-products-carousel/image-card/image-card.component';\r\nimport { AfConnectButtonComponent } from './af-connect-button/af-connect-button.component';\r\nimport { AfConnectContentComponent } from './af-connect-content/af-connect-content.component';\r\nimport { AfConnectDatepickerComponent } from './af-connect-datepicker/af-connect-datepicker.component';\r\nimport { AfConnectInputComponent } from './af-connect-input/af-connect-input.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AfConnectFormValidationErrorsComponent } from './af-connect-form-validation-errors/af-connect-form-validation-errors.component';\r\nimport { AfConnectFormGroupComponent } from './af-connect-form-group/af-connect-form-group.component';\r\nimport { AfConnectCardComponent } from './af-connect-card/af-connect-card.component';\r\nimport { AfConnectCardHeaderComponent } from './af-connect-card/af-connect-card-header/af-connect-card-header.component';\r\nimport { AfConnectChipComponent } from './af-connect-chip/af-connect-chip.component';\r\nimport { AfConnectChartComponent } from './af-connect-chart/af-connect-chart.component';\r\nimport { AfConnectErrorComponent } from './af-connect-error/af-connect-error.component';\r\nimport { AfConnectInlineErrorComponent } from './af-connect-inline-error/af-connect-inline-error.component';\r\nimport { AfConnectLoadingSpinnerComponent } from './af-connect-loading-spinner/af-connect-loading-spinner.component';\r\nimport { AfConnectModalComponent } from './af-connect-modal/af-connect-modal.component';\r\nimport { AfConnectNoContentComponent } from './af-connect-no-content/af-connect-no-content.component';\r\nimport { AfConnectNotificationComponent } from './af-connect-notification/af-connect-notification.component';\r\nimport { AfConnectProgressBarComponent } from './af-connect-progress-bar/af-connect-progress-bar.component';\r\nimport { AfConnectRadioButtonComponent } from './af-connect-radio-button/af-connect-radio-button.component';\r\nimport { AfConnectRadioGroupComponent } from './af-connect-radio-group/af-connect-radio-group.component';\r\nimport { AfConnectSectionComponent } from './af-connect-section/af-connect-section.component';\r\nimport { AfConnectSectionHeaderComponent } from './af-connect-section-header/af-connect-section-header.component';\r\nimport { AfConnectSelectComponent } from './af-connect-select/af-connect-select.component';\r\nimport { AfConnectSvgButtonComponent } from './af-connect-svg-button/af-connect-svg-button.component';\r\nimport { AfConnectTabComponent } from './af-connect-tab/af-connect-tab.component';\r\nimport { AfConnectTabsComponent } from './af-connect-tabs/af-connect-tabs.component';\r\nimport { AfConnectTableComponent } from './af-connect-table/af-connect-table.component';\r\nimport { AfConnectToasterMessageComponent } from './af-connect-toaster-message/af-connect-toaster-message.component';\r\nimport { AfConnectToggleButtonComponent } from './af-connect-toggle-button/af-connect-toggle-button.component';\r\nimport { AfConnectTooltipComponent } from './af-connect-tooltip/af-connect-tooltip.component';\r\nimport { AfConnectBreadcrumbComponent } from './af-connect-breadcrumb/af-connect-breadcrumb.component';\r\nimport { AfConnectSolutionsProductComponent } from './af-connect-solutions-product/af-connect-solutions-product.component';\r\nimport { AfConnectSavingsBannerComponent } from './af-connect-savings-banner/af-connect-savings-banner.component';\r\nimport { AfConnectSolutionsProductV2Component } from './af-connect-solutions-product-v2/af-connect-solutions-product-v2.component';\r\nimport { SafeHtmlPipe } from './pipes/safe-html.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n AfConnectComponentsComponent,\r\n AfConnectHeaderComponent,\r\n AfConnectFooterComponent,\r\n AfConnectProfileDropdown,\r\n GetinItialsPipe,\r\n ExpandableContainerComponent,\r\n ExpandableArrowComponent,\r\n ExpandableWrapperComponent,\r\n FaqComponent,\r\n FaqItemComponent,\r\n ImageWithFallbackDirective,\r\n ImageWithFallbackComponent,\r\n AfConnectProductsCarouselComponent,\r\n ImageCardComponent,\r\n AfConnectButtonComponent,\r\n AfConnectContentComponent,\r\n AfConnectDatepickerComponent,\r\n AfConnectInputComponent,\r\n AfConnectFormValidationErrorsComponent,\r\n AfConnectFormGroupComponent,\r\n AfConnectCardComponent,\r\n AfConnectCardHeaderComponent,\r\n AfConnectChipComponent,\r\n AfConnectChartComponent,\r\n AfConnectErrorComponent,\r\n AfConnectInlineErrorComponent,\r\n AfConnectLoadingSpinnerComponent,\r\n AfConnectModalComponent,\r\n AfConnectNoContentComponent,\r\n AfConnectNotificationComponent,\r\n AfConnectProgressBarComponent,\r\n AfConnectRadioButtonComponent,\r\n AfConnectRadioGroupComponent,\r\n AfConnectSectionComponent,\r\n AfConnectSectionHeaderComponent,\r\n AfConnectSelectComponent,\r\n AfConnectSvgButtonComponent,\r\n AfConnectTabComponent,\r\n AfConnectTabsComponent,\r\n AfConnectTableComponent,\r\n AfConnectToasterMessageComponent,\r\n AfConnectToggleButtonComponent,\r\n AfConnectTooltipComponent,\r\n AfConnectBreadcrumbComponent,\r\n AfConnectSolutionsProductComponent,\r\n AfConnectSavingsBannerComponent,\r\n AfConnectSolutionsProductV2Component,\r\n SafeHtmlPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n providers: [BreakpointLibService],\r\n exports: [\r\n AfConnectComponentsComponent,\r\n AfConnectHeaderComponent,\r\n AfConnectFooterComponent,\r\n FaqComponent,\r\n FaqItemComponent,\r\n ImageWithFallbackDirective,\r\n ImageWithFallbackComponent,\r\n AfConnectProductsCarouselComponent,\r\n AfConnectButtonComponent,\r\n AfConnectContentComponent,\r\n AfConnectDatepickerComponent,\r\n AfConnectInputComponent,\r\n AfConnectFormValidationErrorsComponent,\r\n AfConnectFormGroupComponent,\r\n AfConnectCardComponent,\r\n AfConnectCardHeaderComponent,\r\n AfConnectChipComponent,\r\n AfConnectChartComponent,\r\n AfConnectErrorComponent,\r\n AfConnectInlineErrorComponent,\r\n AfConnectLoadingSpinnerComponent,\r\n AfConnectModalComponent,\r\n AfConnectNoContentComponent,\r\n AfConnectNotificationComponent,\r\n AfConnectProgressBarComponent,\r\n AfConnectRadioButtonComponent,\r\n AfConnectRadioGroupComponent,\r\n AfConnectSectionComponent,\r\n AfConnectSectionHeaderComponent,\r\n AfConnectSelectComponent,\r\n AfConnectSvgButtonComponent,\r\n AfConnectTabComponent,\r\n AfConnectTabsComponent,\r\n AfConnectTableComponent,\r\n AfConnectToasterMessageComponent,\r\n AfConnectToggleButtonComponent,\r\n AfConnectTooltipComponent,\r\n AfConnectBreadcrumbComponent,\r\n AfConnectSolutionsProductComponent,\r\n AfConnectSavingsBannerComponent,\r\n AfConnectSolutionsProductV2Component,\r\n SafeHtmlPipe\r\n ]\r\n})\r\nexport class AfConnectComponentsModule { }\r\n","/*\r\n * Public API Surface of af-connect-components\r\n */\r\n\r\nexport * from './lib/af-connect-components.service';\r\nexport * from './lib/af-connect-components.component';\r\nexport * from './lib/af-connect-components.module';\r\nexport * from './lib/af-connect-footer/af-connect-footer.component';\r\nexport * from './lib/faq/faq/faq.component';\r\nexport * from './lib/faq/faq-item/faq-item.component';\r\nexport * from './lib/faq/image-fallback/image-fallback.component';\r\nexport * from './lib/af-connect-header/af-connect-header.component';\r\nexport * from './lib/af-connect-products-carousel/af-connect-products-carousel.component';\r\nexport * from './lib/af-connect-button/af-connect-button.component';\r\nexport * from './lib/af-connect-card/af-connect-card.component';\r\nexport * from './lib/af-connect-card/af-connect-card-header/af-connect-card-header.component';\r\nexport * from './lib/af-connect-chart/af-connect-chart.component';\r\nexport * from './lib/af-connect-chip/af-connect-chip.component';\r\nexport * from './lib/af-connect-content/af-connect-content.component';\r\nexport * from './lib/af-connect-datepicker/af-connect-datepicker.component';\r\nexport * from './lib/af-connect-error/af-connect-error.component';\r\nexport * from './lib/af-connect-form-group/af-connect-form-group.component';\r\nexport * from './lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component';\r\nexport * from './lib/af-connect-inline-error/af-connect-inline-error.component';\r\nexport * from './lib/af-connect-input/af-connect-input.component';\r\nexport * from './lib/af-connect-loading-spinner/af-connect-loading-spinner.component';\r\nexport * from './lib/af-connect-modal/af-connect-modal.component';\r\nexport * from './lib/af-connect-no-content/af-connect-no-content.component';\r\nexport * from './lib/af-connect-notification/af-connect-notification.component';\r\nexport * from './lib/af-connect-progress-bar/af-connect-progress-bar.component';\r\nexport * from './lib/af-connect-radio-button/af-connect-radio-button.component';\r\nexport * from './lib/af-connect-radio-group/af-connect-radio-group.component';\r\nexport * from './lib/af-connect-section/af-connect-section.component';\r\nexport * from './lib/af-connect-section-header/af-connect-section-header.component';\r\nexport * from './lib/af-connect-select/af-connect-select.component';\r\nexport * from './lib/af-connect-svg-button/af-connect-svg-button.component';\r\nexport * from './lib/af-connect-tab/af-connect-tab.component';\r\nexport * from './lib/af-connect-table/af-connect-table.component';\r\nexport * from './lib/af-connect-tabs/af-connect-tabs.component';\r\nexport * from './lib/af-connect-toaster-message/af-connect-toaster-message.component';\r\nexport * from './lib/af-connect-toggle-button/af-connect-toggle-button.component';\r\nexport * from './lib/af-connect-tooltip/af-connect-tooltip.component';\r\nexport * from './lib/af-connect-breadcrumb/af-connect-breadcrumb.component';\r\nexport * from './lib/af-connect-solutions-product/af-connect-solutions-product.component';\r\nexport * from './lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component';\r\nexport * from './lib/af-connect-savings-banner/af-connect-savings-banner.component';\r\nexport * from './lib/pipes/safe-html.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ExpandableWrapperComponent","i2","i1.BreakpointLibService","i3.ExpandableContainerComponent","i4.ExpandableArrowComponent","i5.ExpandableWrapperComponent","i1","i1.AfConnectRadioGroupComponent","i3.BreakpointLibService","i4","i5.AfConnectRadioButtonComponent","i6.AfConnectRadioGroupComponent","i3.AfConnectProfileDropdown","i1.ExpandableContainerComponent","i2.ExpandableArrowComponent","i3.ExpandableWrapperComponent","i2.FaqItemComponent","i2.ImageCardComponent","i3.AfConnectFormValidationErrorsComponent","i2.AfConnectSvgButtonComponent","i3.AfConnectSvgButtonComponent","data","i3.AfConnectButtonComponent","i1.AfConnectButtonComponent","i2.SafeHtmlPipe"],"mappings":";;;;;;;;;;;;;;MAKa,0BAA0B,CAAA;AAErC,IAAA,WAAA,GAAA;+GAFW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCQY,4BAA4B,CAAA;+GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAR7B,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAIU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA;;;AC0BI,MAAM,OAAO,GAA+C;AACjE,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,mBAAmB;AAC1B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACF;AACF,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,IAAI,EAAE,mFAAmF;AACzF,wBAAA,QAAQ,EAAE;AACX,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,YAAY;AACnB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACF;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA;AACE,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,qBAAqB;AAC5B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,6BAA6B;AACrC,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,6BAA6B;AACrC,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,uBAAuB;AAC/B,qBAAA;AACF;AACF,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,YAAY;AACpB,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,iBAAiB;AACzB,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,eAAe;AACvB,qBAAA;AACF;AACF,aAAA;AACF,SAAA;AACD,QAAA,WAAW,EAAE,yDAAyD;AACtE,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,8CAA8C;AACpD,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,qDAAqD;AAC3D,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,8CAA8C;AACpD,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,gCAAgC;AACtC,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAC,2FAA2F;AAChG,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,UAAU,EAAE,0HAA0H;AACtI,QAAA,aAAa,EAAE,6FAA6F;AAC5G,QAAA,UAAU,EAAE,0FAA0F;AACvG,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,mBAAmB;AAC1B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACF;AACF,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,YAAY;AACnB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACF;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA;AACE,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,qBAAqB;AAC5B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,mCAAmC;AAC3C,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,+BAA+B;AACvC,qBAAA;AACF;AACF,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,8BAA8B;AACtC,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,+CAA+C;AACvD,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,mBAAmB;AAC3B,qBAAA;AACF;AACF,aAAA;AACF,SAAA;AACD,QAAA,WAAW,EAAE,yDAAyD;AACtE,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,8CAA8C;AACpD,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,oDAAoD;AAC1D,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,6CAA6C;AACnD,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,gCAAgC;AACtC,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAC,2FAA2F;AAChG,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,UAAU,EAAE,0HAA0H;AACtI,QAAA,aAAa,EAAE,gHAAgH;AAChI,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,mBAAmB;AAC1B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACF;AACF,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,YAAY;AACnB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACF;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA;AACE,gBAAA,KAAK,EAAE,UAAU;AACjB,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,qBAAqB;AAC5B,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,yCAAyC;AACjD,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,6BAA6B;AACrC,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,oBAAoB;AAC5B,qBAAA;AACF;AACF,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE;AACP,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,YAAY;AACpB,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,oDAAoD;AAC5D,qBAAA;AACD,oBAAA;AACE,wBAAA,KAAK,EAAE,oBAAoB;AAC5B,qBAAA;AACF;AACF,aAAA;AACF,SAAA;AACD,QAAA,WAAW,EAAE,yDAAyD;AACtE,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,+CAA+C;AACrD,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,uDAAuD;AAC7D,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,8CAA8C;AACpD,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,gCAAgC;AACtC,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAC,2FAA2F;AAChG,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;AACD,QAAA,UAAU,EAAE,6HAA6H;AACzI,QAAA,aAAa,EAAE,gGAAgG;AAChH;CACF;AAGC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiHK;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkHG;;MCtkBQ,oBAAoB,CAAA;AAC/B,IAAA,WAAA,CAAoB,UAA8B,EAAA;QAA9B,IAAU,CAAA,UAAA,GAAV,UAAU;QAEvB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;QAEjG,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;+GAL/F,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAApB,oBAAoB,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC;;;MCKY,0BAA0B,CAAA;AANvC,IAAA,WAAA,GAAA;AAOS,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAiB,IAAI,CAAC;AAU/D;IARC,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC;AACF,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,aAAA,SAAS,CAAC,CAAC,OAAO,KAAI;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AACjC,SAAC;AACA,aAAA,WAAW,EAAE;;+GATP,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,8DCTvC,sKAIA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDKa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;+BACE,wBAAwB,EAAA,eAAA,EAGjB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sKAAA,EAAA;;;MEWpC,4BAA4B,CAAA;AACvC,IAAA,WAAA,CAAuC,OAAmC,EAAA;QAAnC,IAAO,CAAA,OAAA,GAAP,OAAO;;+GADnC,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,0BAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,gEClBzC,+JAGA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,UAAA,EDMc,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACtC,KAAK,CACH,WAAW,EACX,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CACnG;gBACD,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACzC,gBAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,gBAAgB,CAAC;AAC/D,aAAA,CAAC,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAEQ,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAdxC,SAAS;+BACE,0BAA0B,EAAA,eAAA,EAGnB,uBAAuB,CAAC,MAAM,cACnC,CAAC,OAAO,CAAC,iBAAiB,EAAE;4BACtC,KAAK,CACH,WAAW,EACX,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CACnG;4BACD,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACzC,4BAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,gBAAgB,CAAC;AAC/D,yBAAA,CAAC,CAAC,EAAA,QAAA,EAAA,+JAAA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA;;0BAGU;;0BAAQ;;;AEfvB,IAAY,iBAKX;AALD,CAAA,UAAY,iBAAiB,EAAA;AAC3B,IAAA,iBAAA,CAAA,iBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,iBAAA,CAAA,iBAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AACX,IAAA,iBAAA,CAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,iBAAA,CAAA,iBAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AACX,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,GAK5B,EAAA,CAAA,CAAA;AAAA;MAcY,wBAAwB,CAAA;AAQnC,IAAA,WAAA,CAAuC,OAAmC,EAAA;QAAnC,IAAO,CAAA,OAAA,GAAP,OAAO;QAPrC,IAAK,CAAA,KAAA,GAAW,SAAS;QACzB,IAAa,CAAA,aAAA,GAAwC,OAAO;QAC5D,IAAW,CAAA,WAAA,GAAwC,QAAQ;AAE7D,QAAA,IAAA,CAAA,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC;AAC9C,QAAA,IAAA,CAAA,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;;IAIrD,QAAQ,GAAA;QACN,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9D,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;;+GAZlD,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,0BAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,oJCvBrC,o3BAcA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,UAAA,EDEc,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACtC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kCAAkC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAC,iBAAiB,EAAE,GAAG,EAAC,EAAE,CAAC;gBAClH,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAC,gBAAgB,EAAE,IAAI,EAAC,EAAE,CAAC;AAChH,gBAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/D,gBAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,gBAAgB,CAAC;AAC/D,aAAA,CAAC,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAEQ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAZpC,SAAS;+BACE,sBAAsB,EAAA,eAAA,EAGf,uBAAuB,CAAC,MAAM,cACnC,CAAC,OAAO,CAAC,iBAAiB,EAAE;4BACtC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kCAAkC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAC,iBAAiB,EAAE,GAAG,EAAC,EAAE,CAAC;4BAClH,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAC,gBAAgB,EAAE,IAAI,EAAC,EAAE,CAAC;AAChH,4BAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/D,4BAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,gBAAgB,CAAC;AAC/D,yBAAA,CAAC,CAAC,EAAA,QAAA,EAAA,o3BAAA,EAAA;;0BAUU;;0BAAQ;yCAPZ,KAAK,EAAA,CAAA;sBAAb;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;;;AEtBH,MAAM,aAAa,GAAG,SAAS;MAOlB,wBAAwB,CAAA;AACnC,IAAA,WAAA,CAAmB,iBAAuC,EAAA;QAAvC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QAGpC,IAAM,CAAA,MAAA,GAA6B,SAAS;QACnC,IAAoB,CAAA,oBAAA,GAAG,KAAK;QAC5B,IAAqB,CAAA,qBAAA,GAAG,KAAK;QAC7B,IAAe,CAAA,eAAA,GAAG,aAAa;QAC/B,IAAQ,CAAA,QAAA,GAAG,KAAK;AAiCzB,QAAA,IAAA,CAAA,WAAW,GAA6B,KAAK,CAAc,IAAI,CAAC;AAEhE,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AAC5B,YAAA,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAChE,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;YAC5B,MAAM,WAAW,GAA8B,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY;AAC3H,YAAA,MAAM,WAAW,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,IAAY,EAAE,IAAiB,EAAE,CAAC,KAAI;AAC7E,gBAAA,OAAO,GAAG,IAAI,CAAA,EAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA,EAAG,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAA,EAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,EAAE;aAC7F,EAAE,EAAE,CAAC;YACN,OAAO,WAAW,IAAI,EAAE;AAC1B,SAAC,CAAC;;IA3CF,IAAa,cAAc,CAAC,KAAc,EAAA;;AAExC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE;AAC1C,QAAA,IACE,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI;YAC1B,aAAa;AACb,YAAA,aAAa,CAAC,QAAQ;AACtB,YAAA,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzB,YAAA,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY;YACtC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EACzC;AACE,YAAA,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,KAAK;YAE3D,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;AAC5F,gBAAA,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK;;YAGzD,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;AAC5F,gBAAA,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK;;YAGzD,IAAI,KAAK,EAAE;gBACP,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,oBAAoB;AAEtD,gBAAA,IAAI,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACpD,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACrF,gBAAA,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;;;;IAmB1D,cAAc,GAAA;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU;QACnD,IAAI,UAAU,EAAE;AACd,YAAA,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;;;IAIrC,iBAAiB,GAAA;QACf,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa;QACzD,IAAI,aAAa,EAAE;AACjB,YAAA,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;;;IAIxC,cAAc,GAAA;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU;QACnD,IAAI,UAAU,EAAE;AACd,YAAA,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;;;IAIrC,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;gBACL,kBAAkB,EAAE,IAAI,CAAC,eAAe;AACxC,gBAAA,uBAAuB,EAAE,gCAAgC;AACzD,gBAAA,iBAAiB,EAAE;aACpB;;QAGH,OAAO;YACH,kBAAkB,EAAE,IAAI,CAAC,eAAe;AACxC,YAAA,uBAAuB,EAAE;SAC1B;;+GAxFM,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,2kCCXrC,0wSAgHA,EAAA,MAAA,EAAA,CAAA,gtFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,IAAA,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,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,4BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDrGa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,0wSAAA,EAAA,MAAA,EAAA,CAAA,gtFAAA,CAAA,EAAA;sFAQjC,MAAM,EAAA,CAAA;sBADL;gBAEQ,oBAAoB,EAAA,CAAA;sBAA5B;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAEY,cAAc,EAAA,CAAA;sBAA1B;;;MEMU,4BAA4B,CAAA;AAbzC,IAAA,WAAA,GAAA;QAeU,IAAS,CAAA,SAAA,GAAyC,IAAI;QACtD,IAAS,CAAA,SAAA,GAAY,KAAK;QAEzB,IAAS,CAAA,SAAA,GAAqB,KAAK;QACnC,IAAY,CAAA,YAAA,GAAY,KAAK;QAC7B,IAAO,CAAA,OAAA,GAAuB,SAAS;QACvC,IAAa,CAAA,aAAA,GAA6B,OAAO;QACjD,IAAI,CAAA,IAAA,GAAoB,QAAQ;AAiCtB,QAAA,IAAA,CAAA,WAAW,GAAsB,IAAI,YAAY,EAAE;AAItE,QAAA,IAAA,CAAA,eAAe,GAAa,CAAC,CAAS,KAAI,GAAG;AAC7C,QAAA,IAAA,CAAA,cAAc,GAAa,CAAC,CAAS,KAAI,GAAG;AAoC7C;AAxEC,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;;IAEpB,IAAI,KAAK,CAAC,QAAuB,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;AAC5B,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;YACtB,IAAI,CAAC,uBAAuB,EAAE;AAC9B,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;AAItC,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;;IAEvB,IAAI,QAAQ,CAAC,WAAiD,EAAA;AAC5D,QAAA,IAAI,CAAC,SAAS,GAAG,WAAW;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC,KAAK,GAAG,IAAI;;AAGrD,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;;IAEvB,IAAI,QAAQ,CAAC,QAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;QACzB,IAAI,CAAC,kBAAkB,EAAE;;AAU3B,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;AAGpB,IAAA,gBAAgB,CAAC,EAAwB,EAAA;AACvC,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;;AAG3B,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;;AAG1B,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;;IAG5B,eAAe,GAAA;QACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;IAGpC,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;;;IAIhD,uBAAuB,GAAA;QAC7B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,KAAI;YAC7B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK;AAC3C,YAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACjB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;AAE1B,SAAC,CAAC;;+GAjFO,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAR5B,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,gBAAA,KAAK,EAAE;AACR;SACF,EA6CiC,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,6BAA6B,iDCtEjE,8PAMA,EAAA,MAAA,EAAA,CAAA,+WAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDqBa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAbxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAGrB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,kCAAkC,CAAC;AAC3D,4BAAA,KAAK,EAAE;AACR;AACF,qBAAA,EAAA,QAAA,EAAA,8PAAA,EAAA,MAAA,EAAA,CAAA,+WAAA,CAAA,EAAA;8BAMQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBAGG,KAAK,EAAA,CAAA;sBADR;gBAcG,QAAQ,EAAA,CAAA;sBADX;gBAUG,QAAQ,EAAA,CAAA;sBADX;gBASkB,WAAW,EAAA,CAAA;sBAA7B;gBAED,MAAM,EAAA,CAAA;sBADL,eAAe;uBAAC,UAAU,CAAC,MAAM,6BAA6B,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;AElEzF;AACA,IAAI,YAAY,GAAG,CAAC;MAOP,6BAA6B,CAAA;AAYxC,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;;IAEtB,IAAI,OAAO,CAAC,eAAwB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,EAAE;AACrC,YAAA,IAAI,CAAC,QAAQ,GAAG,eAAe;AAC/B,YAAA,IAAI,eAAe,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;AAC9E,gBAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI;;YAEjC,IAAI,CAAC,YAAY,EAAE;;;AAIvB,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;;IAEjF,IAAI,QAAQ,CAAC,QAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;;IAK3B,WAAoB,CAAA,UAAwC,EAAU,cAAiC,EAAA;QAAnF,IAAU,CAAA,UAAA,GAAV,UAAU;QAAwC,IAAc,CAAA,cAAA,GAAd,cAAc;AAnC5E,QAAA,IAAA,CAAA,SAAS,GAAW,CAAA,UAAA,EAAa,EAAE,YAAY,EAAE;QACjD,IAAQ,CAAA,QAAA,GAAY,KAAK;QACzB,IAAS,CAAA,SAAA,GAAY,KAAK;QAC1B,IAAQ,CAAA,QAAA,GAAuB,SAAS;QACxC,IAAc,CAAA,cAAA,GAA6B,OAAO;QAClD,IAAK,CAAA,KAAA,GAAoB,QAAQ;AAEhC,QAAA,IAAA,CAAA,EAAE,GAAW,IAAI,CAAC,SAAS;QAE3B,IAAS,CAAA,SAAA,GAAsC,eAAe;;AA4BvE,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,CAAG,EAAA,IAAI,CAAC,EAAE,QAAQ;;AAG3B,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;;AAGtB,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,cAAc;;AAG5B,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;;IAGnB,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;;AAE5B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO;YACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;YACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI;;;IAIrC,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;;AAGpC,IAAA,kBAAkB,CAAC,KAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;;AAIpB,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE;;IAGzC,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;;AAGlC,IAAA,QAAQ,CAAC,KAAY,EAAA;QACnB,KAAK,CAAC,eAAe,EAAE;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACnC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;;+GArFZ,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,4BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,kRCZ1C,0kCA4BA,EAAA,MAAA,EAAA,CAAA,ghIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDhBa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,6BAA6B,EAAA,QAAA,EAAA,0kCAAA,EAAA,MAAA,EAAA,CAAA,ghIAAA,CAAA,EAAA;8HAY9B,EAAE,EAAA,CAAA;sBAAV;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAGG,OAAO,EAAA,CAAA;sBADV;gBAeG,QAAQ,EAAA,CAAA;sBADX;gBAQmB,YAAY,EAAA,CAAA;sBAA/B,SAAS;uBAAC,OAAO;;;AExCpB,IAAY,QAIX;AAJD,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,QAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAJW,QAAQ,KAAR,QAAQ,GAInB,EAAA,CAAA,CAAA;AAED,IAAY,aAGX;AAHD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACzB,CAAC,EAHW,aAAa,KAAb,aAAa,GAGxB,EAAA,CAAA,CAAA;MAOY,wBAAwB,CAAA;IAUnC,IAA+C,uBAAuB,KAAK,OAAO,IAAI,CAAC,kBAAkB,CAAC;AAa1G,IAAA,WAAA,CAAoB,UAAsB,EAAU,SAAuB,EAAU,MAAc,EAAS,iBAAuC,EAAA;QAA/H,IAAU,CAAA,UAAA,GAAV,UAAU;QAAsB,IAAS,CAAA,SAAA,GAAT,SAAS;QAAwB,IAAM,CAAA,MAAA,GAAN,MAAM;QAAiB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QAtBpH,IAAQ,CAAA,QAAA,GAAG,EAAE;QAGb,IAAc,CAAA,cAAA,GAAmB,KAAK;AAOrC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ;AACtC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ;AACrC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;AACzC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAQ;AACxC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ;AACjC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAY;AAC7C,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAiB;QAEjE,IAAQ,CAAA,QAAA,GAAG,KAAK;QAChB,IAAS,CAAA,SAAA,GAAG,QAAQ;QACpB,IAAc,CAAA,cAAA,GAAG,aAAa;;AAIK,IAAA,IAAI,CAAC,CAAM,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;;AAGY,IAAA,KAAK,CAAC,KAAU,EAAA;AAC1D,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AACtE,QAAA,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI;AAClF,QAAA,MAAM,6BAA6B,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,IAAI;AAChG,QAAA,MAAM,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI;AACnF,QAAA,MAAM,8BAA8B,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,IAAI;AAEjG,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,IACvC,CAAC,uBAAuB,IAAI,CAAC,6BAA6B;AAC1D,aAAC,wBAAwB,IAAI,CAAC,8BAA8B,CAAC,CAC9D;;AAGH,IAAA,MAAM,CAAC,KAA+C,EAAA;AACpD,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;;;AAInC,IAAA,eAAe,CAAC,KAAoB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;AAChC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;;;AAIxC,IAAA,WAAW,CAAC,GAAW,EAAA;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC;;AAG7C,IAAA,UAAU,CAAC,GAAU,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB;;AAGF,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;AACxD,QAAA,IAAI,SAAS,EAAE,UAAU,EAAE;AACzB,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;YACzB;;AAGF,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;;+GA1ElB,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yuBCtBrC,4tiCAwQA,EAAA,MAAA,EAAA,CAAA,qkKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,IAAA,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,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,6BAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,cAAA,EAAA,SAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlPa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,iCAAiC,EAAA,QAAA,EAAA,4tiCAAA,EAAA,MAAA,EAAA,CAAA,qkKAAA,CAAA,EAAA;mKAKlC,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBAC8C,uBAAuB,EAAA,CAAA;sBAArE,WAAW;uBAAC,4BAA4B;gBAC/B,WAAW,EAAA,CAAA;sBAApB;gBACS,UAAU,EAAA,CAAA;sBAAnB;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,aAAa,EAAA,CAAA;sBAAtB;gBACS,MAAM,EAAA,CAAA;sBAAf;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,mBAAmB,EAAA,CAAA;sBAA5B;gBAQkC,IAAI,EAAA,CAAA;sBAAtC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;gBAIW,KAAK,EAAA,CAAA;sBAAhD,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;MExC/B,wBAAwB,CAAA;AAsBnC,IAAA,WAAA,CAAoB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM;QArBjB,IAAQ,CAAA,QAAA,GAAG,EAAE;QACb,IAAW,CAAA,WAAA,GAAG,EAAE;QAChB,IAAO,CAAA,OAAA,GAAgB,EAAE;QACzB,IAAc,CAAA,cAAA,GAAmB,KAAK;QACtC,IAAY,CAAA,YAAA,GAAG,KAAK;AAOnB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ;AACtC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ;AACrC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;AACzC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAQ;AACxC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ;AACjC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAY;AAC7C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAU;AACrC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAiB;QAEjE,IAAS,CAAA,SAAA,GAAG,QAAQ;QAElB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACrB,MAAM,CAAC,KAAK,IAAI,KAAK,YAAY,aAAa,CAAC,CAChD,CAAC,SAAS,CAAC,MAAK;AACf,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AACxD,SAAC,CAAC;;IAGG,OAAO,GAAA;AACZ,QAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;;AAGnB,IAAA,MAAM,CAAC,IAAc,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;;AAGzB,IAAA,eAAe,CAAC,IAAmB,EAAA;AACxC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;;AAG9B,IAAA,UAAU,CAAC,GAAW,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB;;AAGF,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;AACxD,QAAA,IAAI,SAAS,EAAE,UAAU,EAAE;AACzB,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;YACzB;;AAGF,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGzB,IAAA,QAAQ,CAAC,KAAa,EAAA;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;;+GA3D9B,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4oBCXrC,wxRAkEA,EAAA,MAAA,EAAA,CAAA,4+BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,wBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvDa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,wxRAAA,EAAA,MAAA,EAAA,CAAA,4+BAAA,CAAA,EAAA;6EAKxB,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACS,WAAW,EAAA,CAAA;sBAApB;gBACS,UAAU,EAAA,CAAA;sBAAnB;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,aAAa,EAAA,CAAA;sBAAtB;gBACS,MAAM,EAAA,CAAA;sBAAf;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;gBACS,mBAAmB,EAAA,CAAA;sBAA5B;;;AE7BH;;AAEG;MAEU,eAAe,CAAA;AAC1B,IAAA,SAAS,CAAC,KAAyB,EAAA;QACjC,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,EAAE;;AAEX,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;+GAL/D,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,IAAI;mBAAC,EAAE,IAAI,EAAE,aAAa,EAAE;;;MCIhB,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,oFCR7B,oiBAcM,EAAA,MAAA,EAAA,CAAA,m0BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDNO,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,oiBAAA,EAAA,MAAA,EAAA,CAAA,m0BAAA,CAAA,EAAA;8BAMxB,OAAO,EAAA,CAAA;sBADN;;;MEDU,YAAY,CAAA;AALzB,IAAA,WAAA,GAAA;QAOE,IAAQ,CAAA,QAAA,GAAc,EAAE;QAGxB,IAAQ,CAAA,QAAA,GAAW,8BAA8B;AAClD;+GANY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,uHCRzB,sPAOA,EAAA,MAAA,EAAA,CAAA,uMAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDCa,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,sPAAA,EAAA,MAAA,EAAA,CAAA,uMAAA,CAAA,EAAA;8BAMnB,QAAQ,EAAA,CAAA;sBADP;gBAGD,gBAAgB,EAAA,CAAA;sBADf;;;MENU,0BAA0B,CAAA;AACrC,IAAA,WAAA,CAAmB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE;;+GADV,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA1B,0BAA0B,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,SAAS;mBAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE;;AAK5C,IAAK,UAIJ;AAJD,CAAA,UAAK,UAAU,EAAA;AACb,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAJI,UAAU,KAAV,UAAU,GAId,EAAA,CAAA,CAAA;MAiBY,0BAA0B,CAAA;AAfvC,IAAA,WAAA,GAAA;AAkBU,QAAA,IAAA,CAAA,KAAK,GAAe,UAAU,CAAC,OAAO;AAuB/C;AArBC,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,MAAM;;AAGzC,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,OAAO;;AAG1C,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK;;IAExC,kBAAkB,GAAA;QAChB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM;aAC1C,IAAI,CAAC,KAAK,EAAE;AACZ,aAAA,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;QAElD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO;aAC3C,IAAI,CAAC,KAAK,EAAE;AACZ,aAAA,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;;+GAvBxC,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA1B,0BAA0B,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACvB,0BAA0B,EAd9B,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAftC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA;8BAIyC,KAAK,EAAA,CAAA;sBAA9C,YAAY;uBAAC,0BAA0B;;;AC/BnC,MAAM,aAAa,GAAG;AACzB,IAAA;AACI,QAAA,QAAQ,EAAE,iCAAiC;AAC3C,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,OAAO,EAAE,0GAA0G;AACnH,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA;AACI,QAAA,QAAQ,EAAE,wCAAwC;AAClD,QAAA,KAAK,EAAE,YAAY;AACnB,QAAA,OAAO,EAAE,oCAAoC;AAC7C,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA;AACI,QAAA,QAAQ,EAAE,yCAAyC;AACnD,QAAA,KAAK,EAAE,aAAa;AACpB,QAAA,OAAO,EAAE,+FAA+F;AACxG,QAAA,QAAQ,EAAE;AACb,KAAA;AACD,IAAA;AACI,QAAA,QAAQ,EAAE,qCAAqC;AAC/C,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,OAAO,EAAE,mIAAmI;AAC5I,QAAA,QAAQ,EAAE;AACb,KAAA;CACJ;;MClBY,kBAAkB,CAAA;AAM7B,IAAA,WAAA,GAAA;QAJS,IAAK,CAAA,KAAA,GAAuB,EAAE;QAC9B,IAAO,CAAA,OAAA,GAAuB,EAAE;;AAKzC,IAAA,QAAQ;IAER,YAAY,GAAA;QACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;;+GAX/B,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,uJCP/B,6RAMA,EAAA,MAAA,EAAA,CAAA,4xCAAA,CAAA,EAAA,CAAA,CAAA;;4FDCa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,6RAAA,EAAA,MAAA,EAAA,CAAA,4xCAAA,CAAA,EAAA;wDAKxB,GAAG,EAAA,CAAA;sBAAX;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,YAAY,EAAA,CAAA;sBAApB;;;MEIU,kCAAkC,CAAA;AAS7C,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU;QAP9B,IAAa,CAAA,aAAA,GAAG,aAAa;QAGrB,IAAM,CAAA,MAAA,GAAG,KAAK;;AAMtB,IAAA,QAAQ;IAER,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC;;AAGtE,IAAA,SAAS,CAAC,CAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;QAClB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AACnC,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;;IAG1C,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;;IAGxC,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;;AAGxC,IAAA,SAAS,CAAC,CAAa,EAAA;QACrB,IAAG,CAAC,IAAI,CAAC,MAAM;YAAE;QACjB,CAAC,CAAC,cAAc,EAAE;QAElB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;QAC/C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;;+GAxCtC,kCAAkC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kCAAkC,sGCf/C,ihBAgBA,EAAA,MAAA,EAAA,CAAA,oVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,kBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDDa,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAL9C,SAAS;+BACE,kCAAkC,EAAA,QAAA,EAAA,ihBAAA,EAAA,MAAA,EAAA,CAAA,oVAAA,CAAA,EAAA;+EAKnC,MAAM,EAAA,CAAA;sBAAd;;;MERU,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;QAQW,IAAK,CAAA,KAAA,GAAG,EAAE;QAIV,IAAI,CAAA,IAAA,GAAmE,OAAO;QAC9E,IAAO,CAAA,OAAA,GAA0E,UAAU;QAE3F,IAAQ,CAAA,QAAA,GAAG,EAAE;QACb,IAAY,CAAA,YAAA,GAAoB,OAAO;AAEtC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAU;AAGhD;AADC,IAAA,QAAQ;+GAfG,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,8WCRrC,8nBAyBA,EAAA,MAAA,EAAA,CAAA,6xKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDjBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,8nBAAA,EAAA,MAAA,EAAA,CAAA,6xKAAA,CAAA,EAAA;8BAKxB,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;;;MEdU,yBAAyB,CAAA;AACpC,IAAA,WAAA,GAAA;IAEA,QAAQ,GAAA;;+GAHG,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8DCPtC,+BACA,EAAA,MAAA,EAAA,CAAA,0yGAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,0yGAAA,CAAA,EAAA;;;MEIvB,4BAA4B,CAAA;+GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,iECPzC,yCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,yCAAA,EAAA;;;AEHjC,SAAU,gBAAgB,CAAC,MAAc,EAAA;IAC7C,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC;AAChE;;MCOa,sCAAsC,CAAA;AALnD,IAAA,WAAA,GAAA;QAMW,IAAS,CAAA,SAAA,GAAW,OAAO;QAE7B,IAAyB,CAAA,yBAAA,GAAG,gBAAgB;AACpD;+GAJY,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,qICTnD,q1EAuCE,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD9BW,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,uCAAuC,EAAA,QAAA,EAAA,q1EAAA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA;8BAKxC,SAAS,EAAA,CAAA;sBAAjB;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;MEHU,uBAAuB,CAAA;AAe3B,IAAA,iBAAiB,CAAC,MAAa,EAAA;AACpC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;AAK5B,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM;;IAGpB,IAAoB,KAAK,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;;IAG7B,WAAoB,CAAA,QAAkB,EAAU,GAAsB,EAAA;QAAlD,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAAoB,IAAG,CAAA,GAAA,GAAH,GAAG;QA1B1C,IAAW,CAAA,WAAA,GAAW,EAAE;QACxB,IAAU,CAAA,UAAA,GAAY,IAAI;QAC1B,IAAY,CAAA,YAAA,GAAY,KAAK;QAC7B,IAAO,CAAA,OAAA,GAA8C,UAAU;QAC/D,IAAI,CAAA,IAAA,GAA4C,MAAM;QACtD,IAAS,CAAA,SAAA,GAAW,EAAE;QAGtB,IAAmB,CAAA,mBAAA,GAAY,KAAK;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE;AAiC/B,QAAA,IAAA,CAAA,eAAe,GAAa,CAAC,CAAS,KAAI,GAAG;AAC7C,QAAA,IAAA,CAAA,cAAc,GAAa,CAAC,CAAS,KAAI,GAAG;;IAfpD,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;;;IAI3B,eAAe,GAAA;QACb,MAAM,SAAS,GAAc,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAY,SAAS,CAAC;QACpE,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAsB;AAC/C,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;;AAOrB,IAAA,UAAU,CAAC,GAAQ,EAAA;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG;;AAGX,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;;AAGpB,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;;AAG1B,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;;IAGvB,MAAM,GAAA;QACX,IAAI,CAAC,cAAc,EAAE;;+GAlEZ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,uYCRpC,ywCA4BE,EAAA,MAAA,EAAA,CAAA,sjEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,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,EAAAY,sCAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDpBW,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,ywCAAA,EAAA,MAAA,EAAA,CAAA,sjEAAA,CAAA,EAAA;6GAMvB,KAAK,EAAA,CAAA;sBAAb;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,EAAE,EAAA,CAAA;sBAAV;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACS,QAAQ,EAAA,CAAA;sBAAjB;gBAYmB,KAAK,EAAA,CAAA;sBAAxB;;;ME1BU,2BAA2B,CAAA;+GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,iECPxC,+BACA,EAAA,MAAA,EAAA,CAAA,8PAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,8PAAA,CAAA,EAAA;;;MEI1B,sBAAsB,CAAA;AAGjC,IAAA,WAAA,GAAA;QAFS,IAAO,CAAA,OAAA,GAAiC,QAAQ;;AAIzD,IAAA,QAAQ;+GALG,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,2FCPnC,wFAGE,EAAA,MAAA,EAAA,CAAA,yrCAAA,CAAA,EAAA,CAAA,CAAA;;4FDIW,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,wFAAA,EAAA,MAAA,EAAA,CAAA,yrCAAA,CAAA,EAAA;wDAKtB,OAAO,EAAA,CAAA;sBAAf;;;MEDU,4BAA4B,CAAA;AALzC,IAAA,WAAA,GAAA;QAQW,IAAO,CAAA,OAAA,GAAuB,QAAQ;QAEtC,IAAa,CAAA,aAAA,GAAsB,MAAM;AACxC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE;AAOvC;AALC,IAAA,QAAQ;IAER,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;+GAXV,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,2OCPzC,gvBAmBE,EAAA,MAAA,EAAA,CAAA,8pGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAZ,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDZW,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,gvBAAA,EAAA,MAAA,EAAA,CAAA,8pGAAA,CAAA,EAAA;8BAK7B,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACS,OAAO,EAAA,CAAA;sBAAhB;;;MENU,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;QASW,IAAO,CAAA,OAAA,GASI,eAAe;AACpC;+GAdY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,6KCPnC,2ZAeA,EAAA,MAAA,EAAA,CAAA,20DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDRa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,2ZAAA,EAAA,MAAA,EAAA,CAAA,20DAAA,CAAA,EAAA;8BAKtB,KAAK,EAAA,CAAA;sBAAb;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;MEJU,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,4DCPpC,oCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,oCAAA,EAAA;;;MEIrB,uBAAuB,CAAA;AAOlC,IAAA,WAAA,GAAA;QAHS,IAAM,CAAA,MAAA,GAAiC,OAAO;QAC9C,IAAY,CAAA,YAAA,GAAsB,MAAM;;AAIjD,IAAA,QAAQ;+GATG,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,wKCPpC,0OAKE,EAAA,MAAA,EAAA,CAAA,soBAAA,CAAA,EAAA,CAAA,CAAA;;4FDEW,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,0OAAA,EAAA,MAAA,EAAA,CAAA,soBAAA,CAAA,EAAA;wDAKvB,GAAG,EAAA,CAAA;sBAAX;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,YAAY,EAAA,CAAA;sBAApB;;;IEVS;AAAZ,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,QAAgB;AAChB,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,UAAoB;AACtB,CAAC,EAHW,QAAQ,KAAR,QAAQ,GAGnB,EAAA,CAAA,CAAA;AAAA;MAOY,6BAA6B,CAAA;AAL1C,IAAA,WAAA,GAAA;AAMkB,QAAA,IAAA,CAAA,QAAQ,GAAa,QAAQ,CAAC,KAAK;QAG1C,IAAI,CAAA,IAAA,GAA0C,MAAM;AAC9D;+GALY,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,mJCZ1C,kPAKE,EAAA,MAAA,EAAA,CAAA,y0BAAA,CAAA,EAAA,CAAA,CAAA;;4FDOW,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,6BAA6B,EAAA,QAAA,EAAA,kPAAA,EAAA,MAAA,EAAA,CAAA,y0BAAA,CAAA,EAAA;8BAKvB,QAAQ,EAAA,CAAA;sBAAvB;gBACe,OAAO,EAAA,CAAA;sBAAtB;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;METU,gCAAgC,CAAA;AAG3C,IAAA,WAAA,GAAA;QAFS,IAAI,CAAA,IAAA,GAAyB,UAAU;;IAIhD,QAAQ,GAAA;;+GALG,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,gGCP7C,mLAKM,EAAA,MAAA,EAAA,CAAA,y9BAAA,CAAA,EAAA,CAAA,CAAA;;4FDEO,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAL5C,SAAS;+BACE,gCAAgC,EAAA,QAAA,EAAA,mLAAA,EAAA,MAAA,EAAA,CAAA,y9BAAA,CAAA,EAAA;wDAKjC,IAAI,EAAA,CAAA;sBAAZ;;;MEAU,2BAA2B,CAAA;AAOtC,IAAA,WAAA,GAAA;QAHS,IAAI,CAAA,IAAA,GAA0C,MAAM;AAEnD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAiB;;AAGtD,IAAA,QAAQ;+GATG,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,4LCRxC,8KAMA,EAAA,MAAA,EAAA,CAAA,ogBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDEa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,8KAAA,EAAA,MAAA,EAAA,CAAA,ogBAAA,CAAA,EAAA;wDAK5B,GAAG,EAAA,CAAA;sBAAX;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBAES,QAAQ,EAAA,CAAA;sBAAjB;;;AEAH;;;;;;;;;;;;;;;;;AAiBE;MAOW,uBAAuB,CAAA;AAelC,IAAA,WAAA,CAAY,UAAsB,EAAA;QAdzB,IAAM,CAAA,MAAA,GAAY,KAAK;QACvB,IAAwB,CAAA,wBAAA,GAAY,KAAK;QACzC,IAAe,CAAA,eAAA,GAAY,IAAI;QAC/B,IAAO,CAAA,OAAA,GAAkC,UAAU;AAOlD,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW;AAK7C,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa;;IAGxC,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAsC,KAC5D,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAoB,KAAI;AACpD,YAAA,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;AAClC,gBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;;SAEjC,CAAC,CACH;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAiC,KACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAoB,KAAI;;AAEhD,YAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;;SAEjC,CAAC,CACH;;IAII,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGzB,IAAA,kBAAkB,CAAC,CAAQ,EAAA;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;AAClC,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB;AACtC,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;AACvG,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK;gBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;;AAK7B,IAAA,WAAW;AAEV,IAAA,cAAc,CAAC,SAAoB,EAAA;AACzC,QAAA,IAAI,SAAS,KAAK,cAAc,EAAE;AAChC,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;YACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;+GAzDvB,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAYjB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,wBAAwB,EACxB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,2BAA2B,gDCnD9C,kmDA0CE,EAAA,MAAA,EAAA,CAAA,sqEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAa,2BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,WAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDJW,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,kmDAAA,EAAA,MAAA,EAAA,CAAA,sqEAAA,CAAA,EAAA;+EAKvB,MAAM,EAAA,CAAA;sBAAd;gBACQ,wBAAwB,EAAA,CAAA;sBAAhC;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,2BAA2B,EAAA,CAAA;sBAAnC;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACS,OAAO,EAAA,CAAA;sBAAhB;gBACiE,OAAO,EAAA,CAAA;sBAAxE,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,wBAAwB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBACK,SAAS,EAAA,CAAA;sBAA7E,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;ME5CxD,2BAA2B,CAAA;AAOtC,IAAA,WAAA,GAAA;QAHS,IAAY,CAAA,YAAA,GAAsB,MAAM;QACxC,IAAM,CAAA,MAAA,GAAqD,OAAO;;AAI3E,IAAA,QAAQ;+GATG,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,6KCPxC,qSAOE,EAAA,MAAA,EAAA,CAAA,i4CAAA,CAAA,EAAA,CAAA,CAAA;;4FDAW,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,qSAAA,EAAA,MAAA,EAAA,CAAA,i4CAAA,CAAA,EAAA;wDAK5B,GAAG,EAAA,CAAA;sBAAX;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,MAAM,EAAA,CAAA;sBAAd;;;MEJU,8BAA8B,CAAA;+GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,iHCR3C,kfAWA,EAAA,MAAA,EAAA,CAAA,ksBAAA,CAAA,EAAA,CAAA,CAAA;;4FDHa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;+BACE,6BAA6B,EAAA,QAAA,EAAA,kfAAA,EAAA,MAAA,EAAA,CAAA,ksBAAA,CAAA,EAAA;8BAK9B,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;MEFU,6BAA6B,CAAA;AACxC,IAAA,WAAA,CAAoB,GAAsB,EAAA;QAAtB,IAAG,CAAA,GAAA,GAAH,GAAG;QAChB,IAAmB,CAAA,mBAAA,GAAG,EAAE;QACxB,IAAe,CAAA,eAAA,GAAG,CAAC;QACnB,IAAwB,CAAA,wBAAA,GAAG,EAAE;QAC3B,IAAqB,CAAA,qBAAA,GAAG,KAAK;AAC/B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE;QAG/B,IAAY,CAAA,YAAA,GAAuC,eAAe;QAClE,IAAc,CAAA,cAAA,GAAsC,MAAM;;IAE5D,eAAe,GAAA;QACpB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ;QACnH,QAAQ,CAAC,EAAE;aACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,GAAG,CAAC;aAC/C,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAC/B,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ;;iBAC/B;gBACL,IAAI,CAAC,eAAe,EAAE;;AAExB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC1B,SAAC,CAAC;;+GAvBK,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,qNCR1C,qZAUE,EAAA,MAAA,EAAA,CAAA,2sBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAb,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDFW,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,6BAA6B,EAAA,QAAA,EAAA,qZAAA,EAAA,MAAA,EAAA,CAAA,2sBAAA,CAAA,EAAA;sFAS9B,qBAAqB,EAAA,CAAA;sBAA7B;gBAGQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,cAAc,EAAA,CAAA;sBAAtB;;;MEXU,yBAAyB,CAAA;AACpC,IAAA,WAAA,GAAA;IAEA,QAAQ,GAAA;;+GAHG,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8DCPtC,+BACA,EAAA,MAAA,EAAA,CAAA,mJAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,mJAAA,CAAA,EAAA;;;MEKvB,+BAA+B,CAAA;AAM1C,IAAA,WAAA,CAAuC,OAAmC,EAAA;QAAnC,IAAO,CAAA,OAAA,GAAP,OAAO;QAJrC,IAAQ,CAAA,QAAA,GAAY,IAAI;QACxB,IAAO,CAAA,OAAA,GAA4B,SAAS;AAC3C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE;;AAItC,IAAA,QAAQ;IAER,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;+GAXV,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAN,0BAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,4KCR5C,wnBAgBM,EAAA,MAAA,EAAA,CAAA,gnEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDRO,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACE,+BAA+B,EAAA,QAAA,EAAA,wnBAAA,EAAA,MAAA,EAAA,CAAA,gnEAAA,CAAA,EAAA;;0BAU5B;;0BAAQ;yCALZ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACS,OAAO,EAAA,CAAA;sBAAhB;;;MELU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,6DCPrC,+nHA0FM,EAAA,MAAA,EAAA,CAAA,8nHAAA,CAAA,EAAA,CAAA,CAAA;;4FDnFO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,+nHAAA,EAAA,MAAA,EAAA,CAAA,8nHAAA,CAAA,EAAA;;;MEGtB,qBAAqB,CAAA;AALlC,IAAA,WAAA,GAAA;QAOW,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEnC;+GAJY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,sICNlC,iFAGE,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDGW,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,iFAAA,EAAA;8BAKrB,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;;;MEcU,sBAAsB,CAAA;AAOjC,IAAA,WAAA,CAAmB,GAAsB,EAAA;QAAtB,IAAG,CAAA,GAAA,GAAH,GAAG;AAFf,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAE;AAMtB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAU;;IAExD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;;IAGzB,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,SAAS,CAAC,MAAM,EAAE,QAAQ;AACvB,aAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;aACrB,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;SACxC,CAAC,CACL;;IAGH,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC1B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC;YACvD,IAAI,CAAC,SAAS,EAAE;AACd,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK;AAChC,gBAAA,QAAQ,CAAC,QAAQ,GAAG,IAAI;AACxB,gBAAA,IAAI,CAAC,cAAc,GAAG,CAAC;AACvB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;;;aAE3B;YACL,IAAI,CAAC,cAAc,EAAE;;;IAIzB,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,YAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;;;AAIzB,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;;IAGjE,WAAW,CAAC,WAAkC,EAAE,KAAa,EAAA;QAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACxB,YAAA,GAAG,CAAC,QAAQ,GAAG,GAAG,KAAK,WAAW;AACpC,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG5B,IAAA,aAAa,CAAC,CAAS,EAAA;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA,EAAG,YAAY,EAAE,aAAa,CAAC,UAAU,IAAI;AACpF,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAA,EAAG,YAAY,EAAE,aAAa,CAAC,WAAW,IAAI;;IAGhF,cAAc,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AACxB,YAAA,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAI,CAAC,gBAAgB;YAC5C,IAAI,QAAQ,EAAE;AACZ,gBAAA,IAAI,CAAC,cAAc,GAAG,CAAC;AACvB,gBAAA,GAAG,CAAC,QAAQ,GAAG,IAAI;;AAErB,YAAA,OAAO,QAAQ;AACjB,SAAC,CAAC;;+GA1EO,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,uLAChB,qBAAqB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACT,UAAU,EACV,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAAA,CAAA,KAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,6BC1BzC,4iBAcE,EAAA,MAAA,EAAA,CAAA,o2DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,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,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDSW,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,qBAAqB,EAAA,eAAA,EAGd,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4iBAAA,EAAA,MAAA,EAAA,CAAA,o2DAAA,CAAA,EAAA;sFAGP,IAAI,EAAA,CAAA;sBAA3C,eAAe;uBAAC,qBAAqB;gBACK,MAAM,EAAA,CAAA;sBAAhD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACE,QAAQ,EAAA,CAAA;sBAAlD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAMhC,gBAAgB,EAAA,CAAA;sBAAxB;gBAES,iBAAiB,EAAA,CAAA;sBAA1B;;;ME3BU,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,4DCPpC,oCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,oCAAA,EAAA;;;MEIrB,gCAAgC,CAAA;AAL7C,IAAA,WAAA,GAAA;QAQW,IAAI,CAAA,IAAA,GAAiC,OAAO;QAC5C,IAAK,CAAA,KAAA,GAAG,IAAI;AACX,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW;AAShD;IAPC,QAAQ,GAAA;AACN,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;;IAG5C,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;+GAZV,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,iLCP7C,4YAYE,EAAA,MAAA,EAAA,CAAA,itBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDLW,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAL5C,SAAS;+BACE,gCAAgC,EAAA,QAAA,EAAA,4YAAA,EAAA,MAAA,EAAA,CAAA,itBAAA,CAAA,EAAA;8BAK1B,OAAO,EAAA,CAAA;sBAAtB;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACS,OAAO,EAAA,CAAA;sBAAhB;;;AECH,MAAM,oBAAoB,GAAG,qCAAqC;AAE3D,MAAM,kBAAkB,GAAG;IAChC,OAAO,CAAC,oBAAoB,EAAE;AAC5B,QAAA,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAClF,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAClG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;KAClG;CACF;AAEM,MAAM,mBAAmB,GAAG;IACjC,OAAO,CAAC,qBAAqB,EAAE;AAC7B,QAAA,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAC9D,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACxG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;KACxG;CACF;AAEM,MAAM,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE;IACzD,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtF,CAAA,CAAC;AAEK,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE;IACpD,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/F,CAAA,CAAC;AAEK,MAAM,aAAa,GAAG;IAC3B,OAAO,CAAC,SAAS,EAAE;QACjB,UAAU,CAAC,QAAQ,EAAE;AACnB,YAAA,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/F,gBAAA,QAAQ,EAAE;aACX;SACF;KACF;CACF;AAEM,MAAM,mBAAmB,GAAG;IACjC,OAAO,CAAC,iBAAiB,EAAE;QACzB,UAAU,CAAC,QAAQ,EAAE;YACnB,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAC9C,YAAA,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;SACxE,CAAC;QACF,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;KACjG;CACF;AAEM,MAAM,eAAe,GAAG;IAC7B,OAAO,CAAC,iBAAiB,EAAE;QACzB,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,+CAA+C,EAAE,CAAC,EAAE;YACxF,MAAM,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;SAChD,CAAC;QACF,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,8CAA8C,EAAE,CAAC,EAAE;YACtF,MAAM,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;SAChD,CAAC;AACF,QAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,+BAA+B,CAAC,EAAE;AAC7E,YAAA,MAAM,EAAE,EAAE,cAAc,EAAE,GAAG;SAC9B,CAAC;AACF,QAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,+BAA+B,CAAC,EAAE;AAC7E,YAAA,MAAM,EAAE,EAAE,cAAc,EAAE,GAAG;SAC9B;KACF;CACF;AAEM,MAAM,eAAe,GAAG;IAC7B,OAAO,CAAC,iBAAiB,EAAE;QACzB,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAClG,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACzC,QAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,wCAAwC,CAAC;KACvF;CACF;AAEM,MAAM,SAAS,GAAG;IACvB,OAAO,CAAC,WAAW,EAAE;QACnB,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7C,QAAA,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AACvE,QAAA,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AACxE,QAAA,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;AACxG,QAAA,UAAU,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1G,UAAU,CAAC,mBAAmB,EAAE;AAC9B,YAAA,QAAQ,CAAC;gBACP,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;aACpE;SACF,CAAC;QACF,UAAU,CAAC,oBAAoB,EAAE;AAC/B,YAAA,QAAQ,CAAC;gBACP,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;aACpE;SACF;KACF;CACF;AAEM,MAAM,qBAAqB,GAAG;IACnC,OAAO,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AACnD,QAAA,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC;KACnD;CACF;AAEM,MAAM,yBAAyB,GAAG;IACvC,OAAO,CAAC,kBAAkB,EAAE;QAC1B,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,uCAAuC,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACtE,UAAU,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;KACxG;CACF;AAEM,MAAM,QAAQ,GAAG;IACtB,OAAO,CAAC,UAAU,EAAE;AAClB,QAAA,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAC9D,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9F,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;KAC9F;CACF;AAEM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,CAAC,kBAAkB,EAAE;AAC1B,QAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACpE,QAAA,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QACjE,UAAU,CACR,eAAe,EACf;YACE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AACrD,YAAA,OAAO,CAAC,gCAAgC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;SAC5F,EACD;AACE,YAAA,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG;SACrB;KAEJ;CACF;;AC/ID,MAAM,oBAAoB,GAAG,SAAS;MAezB,8BAA8B,CAAA;IAezC,WAAoB,CAAA,QAAkB,EAAU,GAAsB,EAAA;QAAlD,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAAoB,IAAG,CAAA,GAAA,GAAH,GAAG;QAZ1C,IAAQ,CAAA,QAAA,GAAG,IAAI;QACf,IAAQ,CAAA,QAAA,GAAG,KAAK;QAChB,IAAiB,CAAA,iBAAA,GAAW,uCAAuC;QAKnE,IAAQ,CAAA,QAAA,GAAiB,KAAK;QAC9B,IAAO,CAAA,OAAA,GAAoB,MAAM;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAiB;AAsB9C,QAAA,IAAA,CAAA,eAAe,GAAa,CAAC,CAAS,KAAI,GAAG;AAC7C,QAAA,IAAA,CAAA,cAAc,GAAa,CAAC,CAAS,KAAI,GAAG;;IAlB7C,cAAc,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;AAAE,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;AAC5C,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QAEzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;;IAGvC,eAAe,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,SAAS,GAAc,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAY,SAAS,CAAC;YACpE,IAAI,SAAS,EAAE;AACb,gBAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAsB;AAC/C,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;;;AAQvB,IAAA,UAAU;AAEV,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;;AAGpB,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;;IAGnB,MAAM,GAAA;QACX,IAAI,CAAC,cAAc,EAAE;;AAGvB,IAAA,gBAAgB,CAAE,QAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;IAGnB,eAAe,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YACzB,OAAO;AACL,gBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,oBAAoB;AACnD,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,YAAY,EAAE;aACf;;YAED,OAAO;AACL,gBAAA,UAAU,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aACpE;;IAGE,mBAAmB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YACzB,OAAO;AACL,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,YAAY,EAAE,MAAM;AACpB,gBAAA,MAAM,EAAE;aACT;;IAGE,oBAAoB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YACzB,OAAO;AACL,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,KAAK,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,GAAG,SAAS,GAAG;aAC7C;;IAGE,qBAAqB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YACzB,OAAO;AACL,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,KAAK,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,SAAS,GAAG;aAC9C;;+GAjGM,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,EAR9B,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,8BAA8B,CAAC;AAC7D,gBAAA,KAAK,EAAE;AACR;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBH,o1BAyByF,EDd3E,MAAA,EAAA,CAAA,mnBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,EAAA,CAAA,CAAA;;4FASnD,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAb1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,cAG5B,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,EACnD,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,oCAAoC,CAAC;AAC7D,4BAAA,KAAK,EAAE;AACR;AACF,qBAAA,EAAA,QAAA,EAAA,o1BAAA,EAAA,MAAA,EAAA,CAAA,mnBAAA,CAAA,EAAA;6GAGQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACS,QAAQ,EAAA,CAAA;sBAAjB;;;MExBU,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;QAOW,IAAQ,CAAA,QAAA,GAAa,aAAa;QAClC,IAAuB,CAAA,uBAAA,GAAY,IAAI;QAGvC,IAAM,CAAA,MAAA,GAAW,EAAE;QAErB,IAAW,CAAA,WAAA,GAAG,KAAK;AAmB3B;IAjB6B,YAAY,GAAA;AACtC,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW;;IAGV,YAAY,GAAA;AACtC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;IAGH,KAAK,GAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW;;+GAnB3B,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,mUCRtC,kTAWA,EAAA,MAAA,EAAA,CAAA,22EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDHa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,22EAAA,CAAA,EAAA;8BAKzB,IAAI,EAAA,CAAA;sBAAZ;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,uBAAuB,EAAA,CAAA;sBAA/B;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBAI2B,YAAY,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY;gBAIE,YAAY,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY;gBAIH,KAAK,EAAA,CAAA;sBAA3B,YAAY;uBAAC,OAAO;;;MElBV,4BAA4B,CAAA;IAGhC,aAAa,GAAA;;;AAIpB,IAAA,WAAA,CAAoB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM;;+GAPf,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,yGCRzC,imBAYE,EAAA,MAAA,EAAA,CAAA,4qBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,wBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,2BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,WAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDJW,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,imBAAA,EAAA,MAAA,EAAA,CAAA,4qBAAA,CAAA,EAAA;6EAK5B,WAAW,EAAA,CAAA;sBAAnB;;;AESI,MAAMC,MAAI,GAAoD;AACnE,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,SAAS,EAAE,6BAA6B;AACxC,QAAA,OAAO,EAAE,uBAAuB;AAChC,QAAA,UAAU,EAAE,kEAAkE;AAC9E,QAAA,WAAW,EAAE,6HAA6H;AAC1I,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,OAAO,EAAE,6CAA6C;AACtD,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,GAAG,EAAE,yBAAyB;AAC9B,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,6BAA6B;AAClC,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,kBAAkB;AACvB,gBAAA,IAAI,EAAE;AACP,aAAA;AACF;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,MAAM,EAAE,mBAAmB;AAC3B,QAAA,SAAS,EAAE,0BAA0B;AACrC,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,UAAU,EAAE,gCAAgC;AAC5C,QAAA,WAAW,EAAE,+OAA+O;AAC5P,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,OAAO,EAAE,wCAAwC;AACjD,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,GAAG,EAAE,kBAAkB;AACvB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,iBAAiB;AACtB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,oBAAoB;AACzB,gBAAA,IAAI,EAAE;AACP,aAAA;AACF;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,SAAS,EAAE,6BAA6B;AACxC,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,UAAU,EAAE,qCAAqC;AACjD,QAAA,WAAW,EAAE,oQAAoQ;AACjR,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,OAAO,EAAE,kJAAkJ;AAC3J,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,GAAG,EAAE,oBAAoB;AACzB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,iBAAiB;AACtB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,iBAAiB;AACtB,gBAAA,IAAI,EAAE;AACP,aAAA;AACF;AACF,KAAA;CACF;;MC/EY,kCAAkC,CAAA;AAI7C,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;;IAEtB,IAAI,OAAO,CAAC,KAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,QAAA,IAAI,CAAC,OAAO,GAAGA,MAAI,CAAC,KAAK,CAAC;;AAK5B,IAAA,WAAA,CAAmB,iBAAuC,EAAA;QAAvC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QAd5B,IAAQ,CAAA,QAAA,GAAqB,QAAQ;QAEpC,IAAS,CAAA,SAAA,GAA0B,SAAS;;IAcrD,gBAAgB,GAAA;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;;+GAlBlC,kCAAkC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAnB,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kCAAkC,gICT/C,grCAqCA,EAAA,MAAA,EAAA,CAAA,s6GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAqB,wBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAArB,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD5Ba,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAL9C,SAAS;+BACE,kCAAkC,EAAA,QAAA,EAAA,grCAAA,EAAA,MAAA,EAAA,CAAA,s6GAAA,CAAA,EAAA;sFAOnC,SAAS,EAAA,CAAA;sBAAjB;gBAEG,OAAO,EAAA,CAAA;sBADV;;;MENU,+BAA+B,CAAA;IAG1C,gBAAgB,GAAA;QACd,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;;+GAJvB,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,6FCP5C,okBAgBA,EAAA,MAAA,EAAA,CAAA,u9CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAsB,wBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDTa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACE,+BAA+B,EAAA,QAAA,EAAA,okBAAA,EAAA,MAAA,EAAA,CAAA,u9CAAA,CAAA,EAAA;8BAKhC,GAAG,EAAA,CAAA;sBAAX;;;AEJI,MAAM,IAAI,GAA+D;AAC9E,IAAA,QAAQ,EAAE;AACR,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,MAAM,EAAE,yBAAyB;AACjC,QAAA,UAAU,EAAE,qCAAqC;AACjD,QAAA,OAAO,EAAE,kJAAkJ;AAC3J,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,GAAG,EAAE,oBAAoB;AACzB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,iBAAiB;AACtB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,GAAG,EAAE,iBAAiB;AACtB,gBAAA,IAAI,EAAE;AACP,aAAA;AACF;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,UAAU,EAAE,gCAAgC;AAC5C,QAAA,WAAW,EAAE,kCAAkC;AAC/C,QAAA,OAAO,EAAE,wCAAwC;AACjD,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,UAAU,EAAE,qCAAqC;AACjD,QAAA,OAAO,EAAE,0CAA0C;AACnD,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,cAAc,EAAE;AACd,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,0BAA0B;AACnC,QAAA,MAAM,EAAE,kBAAkB;AAC1B,QAAA,WAAW,EAAE,2DAA2D;AACxE,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,sBAAsB;AAC/B,QAAA,MAAM,EAAE,yBAAyB;AACjC,QAAA,WAAW,EAAE,uDAAuD;AACpE,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,UAAU,EAAE,uCAAuC;AACnD,QAAA,WAAW,EAAE,oDAAoD;AACjE,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,WAAW,EAAE,gEAAgE;AAC7E,QAAA,OAAO,EAAE,2CAA2C;AACpD,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;;;;AAIF;AACF,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,2BAA2B;AACpC,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,WAAW,EAAE,8DAA8D;AAC3E,QAAA,OAAO,EAAE,uBAAuB;AAChC,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,MAAM,EAAE,oBAAoB;AAC5B,QAAA,UAAU,EAAE,sDAAsD;AAClE,QAAA,WAAW,EAAE,qDAAqD;AAClE,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,0BAA0B;AACnC,QAAA,MAAM,EAAE,oBAAoB;AAC5B,QAAA,WAAW,EAAE,2DAA2D;AACxE,QAAA,OAAO,EAAE,wCAAwC;AACjD,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,mCAAmC;AAC5C,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,WAAW,EAAE,mFAAmF;AAChG,QAAA,OAAO,EAAE,4CAA4C;AACrD,QAAA,MAAM,EAAC;AACL,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,aAAa,EAAG,KAAK;AACrB,QAAA,OAAO,EAAE,uBAAuB;AAChC,QAAA,WAAW,EAAE,kEAAkE;AAC/E,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,OAAO,EAAE,8DAA8D;AACvE,QAAA,MAAM,EAAC;AACL,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF,SAAA;AACD,QAAA,cAAc,EAAE,sBAAsB;AACtC,QAAA,aAAa,EAAE;AAChB,KAAA;AACD,IAAA,cAAc,EAAE;AACd,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,OAAO,EAAE,0BAA0B;AACnC,QAAA,MAAM,EAAE,kBAAkB;AAC1B,QAAA,WAAW,EAAE,2DAA2D;AACxE,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,OAAO,EAAE,sBAAsB;AAC/B,QAAA,MAAM,EAAE,yBAAyB;AACjC,QAAA,WAAW,EAAE,uDAAuD;AACpE,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,UAAU,EAAE,uCAAuC;AACnD,QAAA,WAAW,EAAE,oDAAoD;AACjE,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE;AACP;AACF;AACF;CACF;;MCxRY,YAAY,CAAA;AACvB,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS;;AAE7B,IAAA,SAAS,CAAC,IAAY,EAAA;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;;+GAJ1C,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAZ,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;;;MCIY,oCAAoC,CAAA;AALjD,IAAA,WAAA,GAAA;QAMU,IAAQ,CAAA,QAAA,GAAuB,QAAQ;QAW/C,IAA4B,CAAA,4BAAA,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACvE,QAAA,IAAA,CAAA,uBAAuB,GAAG,QAAQ,CAAC,MAAK;AACtC,YAAA,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE;AAE9B,YAAA,OAAO,WAAW,GAAG,IAAI,CAAC,4BAA4B;AACpD,kBAAE;kBACA,kFAAkF;AACxF,SAAC,CAAC;AAGF,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAQ;AAE5C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU;AAUvC;AA/BC,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;;IAEtB,IAAI,OAAO,CAAC,KAAyB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;;IAmB5B,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;;IAE/B,WAAW,GAAA;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;;+GAhCzB,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,geCTjD,ooFA+Dc,EAAA,MAAA,EAAA,CAAA,u/MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAkB,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDtDD,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBALhD,SAAS;+BACE,qCAAqC,EAAA,QAAA,EAAA,ooFAAA,EAAA,MAAA,EAAA,CAAA,u/MAAA,CAAA,EAAA;8BAQ3C,OAAO,EAAA,CAAA;sBADV;gBAmBD,iBAAiB,EAAA,CAAA;sBADhB;gBAGD,SAAS,EAAA,CAAA;sBADR;;;ME0HU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,iBApGlC,4BAA4B;YAC5B,wBAAwB;YACxB,wBAAwB;YACxB,wBAAwB;YACxB,eAAe;YACf,4BAA4B;YAC5B,wBAAwB;YACxB,0BAA0B;YAC1B,YAAY;YACZ,gBAAgB;YAChB,0BAA0B;YAC1B,0BAA0B;YAC1B,kCAAkC;YAClC,kBAAkB;YAClB,wBAAwB;YACxB,yBAAyB;YACzB,4BAA4B;YAC5B,uBAAuB;YACvB,sCAAsC;YACtC,2BAA2B;YAC3B,sBAAsB;YACtB,4BAA4B;YAC5B,sBAAsB;YACtB,uBAAuB;YACvB,uBAAuB;YACvB,6BAA6B;YAC7B,gCAAgC;YAChC,uBAAuB;YACvB,2BAA2B;YAC3B,8BAA8B;YAC9B,6BAA6B;YAC7B,6BAA6B;YAC7B,4BAA4B;YAC5B,yBAAyB;YACzB,+BAA+B;YAC/B,wBAAwB;YACxB,2BAA2B;YAC3B,qBAAqB;YACrB,sBAAsB;YACtB,uBAAuB;YACvB,gCAAgC;YAChC,8BAA8B;YAC9B,yBAAyB;YACzB,4BAA4B;YAC5B,kCAAkC;YAClC,+BAA+B;YAC/B,oCAAoC;AACpC,YAAA,YAAY,aAGZ,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aAInB,4BAA4B;YAC5B,wBAAwB;YACxB,wBAAwB;YACxB,YAAY;YACZ,gBAAgB;YAChB,0BAA0B;YAC1B,0BAA0B;YAC1B,kCAAkC;YAClC,wBAAwB;YACxB,yBAAyB;YACzB,4BAA4B;YAC5B,uBAAuB;YACvB,sCAAsC;YACtC,2BAA2B;YAC3B,sBAAsB;YACtB,4BAA4B;YAC5B,sBAAsB;YACtB,uBAAuB;YACvB,uBAAuB;YACvB,6BAA6B;YAC7B,gCAAgC;YAChC,uBAAuB;YACvB,2BAA2B;YAC3B,8BAA8B;YAC9B,6BAA6B;YAC7B,6BAA6B;YAC7B,4BAA4B;YAC5B,yBAAyB;YACzB,+BAA+B;YAC/B,wBAAwB;YACxB,2BAA2B;YAC3B,qBAAqB;YACrB,sBAAsB;YACtB,uBAAuB;YACvB,gCAAgC;YAChC,8BAA8B;YAC9B,yBAAyB;YACzB,4BAA4B;YAC5B,kCAAkC;YAClC,+BAA+B;YAC/B,oCAAoC;YACpC,YAAY,CAAA,EAAA,CAAA,CAAA;AAGH,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EA9CzB,SAAA,EAAA,CAAC,oBAAoB,CAAC,YAJ/B,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAgDV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAtGrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,4BAA4B;wBAC5B,wBAAwB;wBACxB,wBAAwB;wBACxB,wBAAwB;wBACxB,eAAe;wBACf,4BAA4B;wBAC5B,wBAAwB;wBACxB,0BAA0B;wBAC1B,YAAY;wBACZ,gBAAgB;wBAChB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,kCAAkC;wBAClC,kBAAkB;wBAClB,wBAAwB;wBACxB,yBAAyB;wBACzB,4BAA4B;wBAC5B,uBAAuB;wBACvB,sCAAsC;wBACtC,2BAA2B;wBAC3B,sBAAsB;wBACtB,4BAA4B;wBAC5B,sBAAsB;wBACtB,uBAAuB;wBACvB,uBAAuB;wBACvB,6BAA6B;wBAC7B,gCAAgC;wBAChC,uBAAuB;wBACvB,2BAA2B;wBAC3B,8BAA8B;wBAC9B,6BAA6B;wBAC7B,6BAA6B;wBAC7B,4BAA4B;wBAC5B,yBAAyB;wBACzB,+BAA+B;wBAC/B,wBAAwB;wBACxB,2BAA2B;wBAC3B,qBAAqB;wBACrB,sBAAsB;wBACtB,uBAAuB;wBACvB,gCAAgC;wBAChC,8BAA8B;wBAC9B,yBAAyB;wBACzB,4BAA4B;wBAC5B,kCAAkC;wBAClC,+BAA+B;wBAC/B,oCAAoC;wBACpC;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX;AACD,qBAAA;oBACD,SAAS,EAAE,CAAC,oBAAoB,CAAC;AACjC,oBAAA,OAAO,EAAE;wBACP,4BAA4B;wBAC5B,wBAAwB;wBACxB,wBAAwB;wBACxB,YAAY;wBACZ,gBAAgB;wBAChB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,kCAAkC;wBAClC,wBAAwB;wBACxB,yBAAyB;wBACzB,4BAA4B;wBAC5B,uBAAuB;wBACvB,sCAAsC;wBACtC,2BAA2B;wBAC3B,sBAAsB;wBACtB,4BAA4B;wBAC5B,sBAAsB;wBACtB,uBAAuB;wBACvB,uBAAuB;wBACvB,6BAA6B;wBAC7B,gCAAgC;wBAChC,uBAAuB;wBACvB,2BAA2B;wBAC3B,8BAA8B;wBAC9B,6BAA6B;wBAC7B,6BAA6B;wBAC7B,4BAA4B;wBAC5B,yBAAyB;wBACzB,+BAA+B;wBAC/B,wBAAwB;wBACxB,2BAA2B;wBAC3B,qBAAqB;wBACrB,sBAAsB;wBACtB,uBAAuB;wBACvB,gCAAgC;wBAChC,8BAA8B;wBAC9B,yBAAyB;wBACzB,4BAA4B;wBAC5B,kCAAkC;wBAClC,+BAA+B;wBAC/B,oCAAoC;wBACpC;AACD;AACF,iBAAA;;;ACzJD;;AAEG;;ACFH;;AAEG;;;;"}