{"version":3,"file":"event-details-sitemap.module-m4z8ptve.js","sources":["packages/sports/web/app/src/event-details-sitemap/event-details-sitemap-tracking.service.ts","packages/sports/web/app/src/event-details-sitemap/event-details-sitemap-tooltip-service.ts","packages/sports/web/app/src/event-details-sitemap/event-details-sitemap.component.html","packages/sports/web/app/src/event-details-sitemap/event-details-sitemap.component.ts","packages/sports/web/app/src/event-details-sitemap/event-details-sitemap.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { NOT_APPLICABLE, TrackData, TrackingService, trackingConstants } from '@frontend/sports/tracking/feature';\n\nimport { EventMarketsTabBarItem } from '../event-details-common/header/tab-group/event-header-tab-bar.models';\nimport { MarketUrlParam, UrlHelperService } from '../navigation-core/url-helper.service';\n\nexport const trackingValueConstants = {\n NAVIGATION: 'navigation',\n SPORTS_EDP_NAVIGATION: 'sports core navigation edp',\n};\n\nexport interface SitemapEDPTrackingModel {\n sportId: number;\n leagueId: number;\n eventId: string;\n isLive: boolean;\n eventName: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EventDetailsSitemapTrackingService {\n constructor(\n private trackingService: TrackingService,\n private urlHelper: UrlHelperService,\n ) {}\n\n trackSitemapPillClick(model: SitemapEDPTrackingModel, item: EventMarketsTabBarItem, items: EventMarketsTabBarItem[]): void {\n const parent = this.getParent(item, items);\n const marketQuery = item.active ? parent?.queryString : (item.queryString ?? item.id.toString());\n const level = this.getLevel(item, parent);\n\n const trackingData = {\n ...this.getBaseTrackingData(model),\n [trackingConstants.COMPONENT_ACTION_EVENT]: item.active ? 'deselect' : 'select',\n [trackingConstants.COMPONENT_POSITION_EVENT]: level,\n [trackingConstants.COMPONENT_LOCATION_EVENT]: parent ? parent.title : NOT_APPLICABLE,\n [trackingConstants.COMPONENT_EVENT_DETAILS]: item.title,\n [trackingConstants.COMPONENT_URL_CLICKED]: this.getEventUrl(model.eventId, model.eventName, marketQuery),\n };\n\n this.trackingService.track(trackingConstants.EVENT_CORE_NAVIGATION, trackingData);\n }\n\n trackSitemapGoHomeClick(model: SitemapEDPTrackingModel, item: EventMarketsTabBarItem, items: EventMarketsTabBarItem[]): void {\n const parent = this.getParent(item, items);\n\n const trackingData = {\n ...this.getBaseTrackingData(model),\n [trackingConstants.COMPONENT_ACTION_EVENT]: 'close',\n [trackingConstants.COMPONENT_POSITION_EVENT]: '1st level',\n [trackingConstants.COMPONENT_LOCATION_EVENT]: parent ? parent.title : NOT_APPLICABLE,\n [trackingConstants.COMPONENT_EVENT_DETAILS]: item.title,\n [trackingConstants.COMPONENT_URL_CLICKED]: this.getEventUrl(model.eventId, model.eventName),\n };\n\n this.trackingService.track(trackingConstants.EVENT_CORE_NAVIGATION, trackingData);\n }\n\n private getBaseTrackingData(model: SitemapEDPTrackingModel): TrackData {\n return {\n [trackingConstants.COMPONENT_CATEGORY_EVENT]: trackingValueConstants.NAVIGATION,\n [trackingConstants.COMPONENT_LABEL_EVENT]: trackingValueConstants.SPORTS_EDP_NAVIGATION,\n [trackingConstants.SPORT_ID]: model.sportId,\n [trackingConstants.SPORT_LEAGUE_ID]: model.leagueId,\n [trackingConstants.SPORT_EVENT_ID]: model.eventId,\n [trackingConstants.COMPONENT_MODULE_AFFILIATION_CONFIG]: model.isLive ? 'live' : 'prematch',\n };\n }\n\n private getLevel(item: EventMarketsTabBarItem, parent?: EventMarketsTabBarItem): string {\n const query = item.active && parent ? parent.queryString : item.queryString;\n let level = query?.split(':').length || 1;\n\n if (level === 1 && item.showSeparator && !item.active) {\n level++;\n }\n\n if (item.active && item.showSeparator && !parent) {\n return NOT_APPLICABLE;\n }\n\n const levels: { [key: number]: string } = {\n 1: '1st',\n 2: '2nd',\n 3: '3rd',\n };\n\n return (levels[level] ?? `${level}th`) + ' level';\n }\n\n private getEventUrl(eventId: string, eventName: string, market?: string): string {\n return this.urlHelper.getEventUrl({ id: eventId, name: eventName }, market as MarketUrlParam);\n }\n\n private getParent(item: EventMarketsTabBarItem, items: EventMarketsTabBarItem[]): EventMarketsTabBarItem | undefined {\n let parent = items.find((i) => i.showSeparator);\n if (parent?.id === item.id) {\n const indexOfLastParent = items.findIndex((i) => i.showSeparator);\n parent = items[indexOfLastParent - 1];\n }\n\n return parent;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { BetBuilderProvider } from '@cds/betting-offer/add-ons';\nimport { EventDetailsConfig } from '@frontend/sports/common/client-config-data-access';\nimport { LocalStoreService } from '@frontend/vanilla/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EventDetailsSitemapTooltipService {\n constructor(\n private eventDetailsConfig: EventDetailsConfig,\n private localStoreService: LocalStoreService,\n ) {}\n\n private localKey = 'event-details-sitemap-tooltip-count';\n private openTillClosed = false;\n\n private get tooltipShownCount(): number {\n return this.localStoreService.get(this.localKey) ?? 0;\n }\n\n shouldShowTooltip(provider: BetBuilderProvider | null): boolean {\n switch (provider) {\n case BetBuilderProvider.Angstrom:\n this.localKey = 'event-details-sitemap-tooltip-angstrom';\n break;\n case BetBuilderProvider.BybFootball:\n this.localKey = 'event-details-sitemap-tooltip-count-byb';\n this.openTillClosed = true;\n break;\n default:\n this.localKey = 'event-details-sitemap-tooltip-count';\n }\n\n return this.eventDetailsConfig.siteMapTooltipViewsThreshold\n ? this.tooltipShownCount <= this.eventDetailsConfig.siteMapTooltipViewsThreshold\n : false;\n }\n\n increaseCount(): void {\n if (!this.openTillClosed) {\n this.localStoreService.set(this.localKey, this.tooltipShownCount + 1);\n }\n }\n\n closeTooltip(): void {\n this.localStoreService.set(this.localKey, this.eventDetailsConfig.siteMapTooltipViewsThreshold + 1);\n }\n}\n","@if (showGoHome) {\n \n \n \n \n \n}\n\n@if (items.length && !eventFinished) {\n \n \n \n}\n\n\n \n\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nimport { BetBuilderProvider } from '@cds/betting-offer/add-ons';\nimport { SetTab } from '@frontend/sports/betting-offer/feature/model';\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { SportsTheme, ThemeInverse, ThemeOptions, injectCurrentTheme } from '@frontend/sports/common/ui/shared';\nimport { DsButtonIconKind } from '@frontend/ui/button-icon';\nimport { MediaQueryService } from '@frontend/vanilla/core';\nimport { isEqual } from 'lodash-es';\nimport { NgxPopperjsContentComponent } from 'ngx-popperjs';\nimport { Observable, distinctUntilChanged, map } from 'rxjs';\n\nimport { EventMarketsTabBarItem } from '../event-details-common/header/tab-group/event-header-tab-bar.models';\nimport { EventDetailsSitemapTooltipService } from './event-details-sitemap-tooltip-service';\nimport { EventDetailsSitemapTrackingService, SitemapEDPTrackingModel } from './event-details-sitemap-tracking.service';\n\n@Component({\n selector: 'ms-event-details-sitemap',\n templateUrl: 'event-details-sitemap.component.html',\n styleUrls: ['./event-details-sitemap.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EventDetailsSitemapComponent implements OnInit, OnChanges, AfterViewInit {\n @Input() items: EventMarketsTabBarItem[];\n @Input() showGoHome: boolean;\n @Input() trackingData: SitemapEDPTrackingModel;\n @Input() eventFinished: boolean;\n @Input() betBuilderProvider: BetBuilderProvider | null;\n @ViewChild('tooltipPopper') tooltipPopper: NgxPopperjsContentComponent;\n scrollItems: EventMarketsTabBarItem[];\n shouldShowTooltip: boolean;\n inverseThemes: SportsTheme[] = ['mgm-4'];\n mediaQuery$: Observable;\n iconButtonInverse: boolean;\n currentTheme = injectCurrentTheme();\n themeInverseIndicator: ThemeInverse;\n\n @HostBinding('class') className = 'event-details-sitemap';\n\n @HostBinding(`class.hidden`) get hidden(): boolean {\n return !this.items.length || this.eventFinished;\n }\n\n @Output() toggleSitemapItem = new EventEmitter();\n\n readonly iconButtonThemeKind: ThemeOptions = { 'betboo-br': 'tertiary', 'sportingbet-br': 'tertiary' };\n\n get active(): EventMarketsTabBarItem | undefined {\n return this.items?.find((itm) => !!itm.active);\n }\n\n constructor(\n public sitecore: Sitecore,\n private trackingService: EventDetailsSitemapTrackingService,\n private tooltipService: EventDetailsSitemapTooltipService,\n private cdr: ChangeDetectorRef,\n private mediaQueryService: MediaQueryService,\n ) {\n this.mediaQuery$ = this.mediaQueryService.observe().pipe(\n map(() => this.mediaQueryService.isActive('lt-md')),\n distinctUntilChanged(),\n );\n const mediaQuery = toSignal(this.mediaQuery$, { requireSync: true });\n this.themeInverseIndicator = mediaQuery()\n ? {\n 'mgm-4': { isInverse: true },\n }\n : {};\n this.iconButtonInverse = mediaQuery() ? this.inverseThemes.includes(this.currentTheme) : false;\n }\n\n ngOnInit(): void {\n this.scrollItems = this.items;\n }\n\n isSgpTab(item: EventMarketsTabBarItem): boolean {\n return item.id === SetTab.BetBuilder || item.parentTabId === SetTab.BetBuilder || this.betBuilderProvider === BetBuilderProvider.BybFootball;\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n const shouldSetNewScrollItems =\n !isEqual(changes.items?.previousValue, changes.items?.currentValue) ||\n changes.showGoHome?.previousValue !== changes.showGoHome?.currentValue;\n\n if (shouldSetNewScrollItems) {\n this.scrollItems = this.items;\n }\n\n this.shouldShowTooltip = this.tooltipService.shouldShowTooltip(this.betBuilderProvider);\n }\n\n ngAfterViewInit(): void {\n this.cdr.detectChanges();\n }\n\n goHome(fromToggle?: boolean): void {\n const active = this.active!;\n active.active = false;\n\n if (!fromToggle) {\n this.trackingService.trackSitemapGoHomeClick(this.trackingData, active, this.items);\n }\n\n this.toggleSitemapItem.emit(active);\n }\n\n toggle(event: Event, item: EventMarketsTabBarItem): void {\n event.preventDefault();\n\n const active = item.active ? this.getParent() : item;\n this.trackingService.trackSitemapPillClick(this.trackingData, item, this.items);\n\n if (this.isSgpTab(item) && this.shouldShowTooltip) {\n this.increaseTooltipCount();\n }\n\n if (active) {\n this.setActive(active);\n this.toggleSitemapItem.emit(active);\n } else {\n this.goHome(true);\n }\n }\n\n private setActive(item?: EventMarketsTabBarItem): void {\n this.items.forEach((i) => (i.active = i.id === item?.id));\n }\n\n private getParent() {\n const pillWithSeparatorIndex = this.items.findIndex((i) => i.showSeparator);\n\n if (pillWithSeparatorIndex === -1) {\n return;\n }\n\n return this.items[pillWithSeparatorIndex].active ? this.items[pillWithSeparatorIndex - 1] : this.items[pillWithSeparatorIndex];\n }\n\n trackItem(index: number, item: EventMarketsTabBarItem): string {\n return `${item.id}${item.active ?? false}`;\n }\n\n private increaseTooltipCount(): void {\n this.shouldShowTooltip = this.tooltipService.shouldShowTooltip(this.betBuilderProvider);\n this.tooltipService.increaseCount();\n this.cdr.markForCheck();\n }\n\n onCloseTooltip(): void {\n this.shouldShowTooltip = false;\n this.tooltipService.closeTooltip();\n this.cdr.markForCheck();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ScrollAdapterComponent } from '@frontend/sports/common/core/feature/scroll-adapter';\nimport { SportsThemedIconButtonDirective } from '@frontend/sports/common/ui/sports-themed-button';\nimport { SportsThemedPillsDirective } from '@frontend/sports/common/ui/sports-themed-pills';\nimport { TooltipModule } from '@frontend/sports/tooltip-feature';\nimport { DsButtonIcon } from '@frontend/ui/button-icon';\nimport { DsPill } from '@frontend/ui/pill';\nimport { SpeculativeLinkDirective } from '@frontend/vanilla/features/speculative-link';\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\nimport { NgxPopperjsModule } from 'ngx-popperjs';\n\nimport { DirectivesModule } from '../directives/directives.module';\nimport { NavigationCoreModule } from '../navigation-core/navigation-core.module';\nimport { SharedPriceboostModule } from '../shared-priceboost/shared-priceboost.module';\nimport { EventDetailsSitemapTrackingService } from './event-details-sitemap-tracking.service';\nimport { EventDetailsSitemapComponent } from './event-details-sitemap.component';\n\n@NgModule({\n imports: [\n CommonModule,\n NavigationCoreModule,\n DirectivesModule,\n ScrollAdapterComponent,\n TooltipModule,\n NgxPopperjsModule,\n DsPill,\n IconCustomComponent,\n SharedPriceboostModule,\n DsButtonIcon,\n SpeculativeLinkDirective,\n SportsThemedIconButtonDirective,\n SportsThemedPillsDirective,\n ],\n declarations: [EventDetailsSitemapComponent],\n exports: [],\n providers: [EventDetailsSitemapTrackingService],\n})\nexport class EventDetailsSitemapModule {\n readonly eventDetailsSitemapComponent = EventDetailsSitemapComponent;\n}\n"],"names":["trackingValueConstants","NAVIGATION","SPORTS_EDP_NAVIGATION","EventDetailsSitemapTrackingService","constructor","trackingService","urlHelper","trackSitemapPillClick","model","item","items","parent","getParent","marketQuery","active","queryString","id","toString","level","getLevel","trackingData","__spreadProps","__spreadValues","getBaseTrackingData","trackingConstants","COMPONENT_ACTION_EVENT","COMPONENT_POSITION_EVENT","COMPONENT_LOCATION_EVENT","title","NOT_APPLICABLE","COMPONENT_EVENT_DETAILS","COMPONENT_URL_CLICKED","getEventUrl","eventId","eventName","track","EVENT_CORE_NAVIGATION","trackSitemapGoHomeClick","COMPONENT_CATEGORY_EVENT","COMPONENT_LABEL_EVENT","SPORT_ID","sportId","SPORT_LEAGUE_ID","leagueId","SPORT_EVENT_ID","COMPONENT_MODULE_AFFILIATION_CONFIG","isLive","query","split","length","showSeparator","market","name","find","i","indexOfLastParent","findIndex","ɵɵinject","TrackingService","UrlHelperService","T","factory","ɵfac","providedIn","_EventDetailsSitemapTrackingService","EventDetailsSitemapTooltipService","eventDetailsConfig","localStoreService","localKey","openTillClosed","tooltipShownCount","get","shouldShowTooltip","provider","siteMapTooltipViewsThreshold","increaseCount","set","closeTooltip","EventDetailsConfig","LocalStoreService","_EventDetailsSitemapTooltipService","E","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","goHome","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","iconButtonThemeKind","iconButtonInverse","c","item_r4","count","tooltipPopper","isSgpTab","$event","_r3","$implicit","toggle","ɵɵtext","ɵɵtemplate","EventDetailsSitemapComponent_Conditional_1_li_2_Conditional_3_Template","EventDetailsSitemapComponent_Conditional_1_li_2_Conditional_5_Template","themeInverseIndicator","url","j","ɵɵtextInterpolate1","ɵɵconditional","showSignPost","ɵɵclassProp","EventDetailsSitemapComponent_Conditional_1_li_2_Template","scrollItems","trackItem","_r5","onCloseTooltip","sitecore","globalMessages","BetBuilderComboTooltip","EventDetailsSitemapComponent","hidden","eventFinished","_a","itm","tooltipService","cdr","mediaQueryService","inverseThemes","currentTheme","injectCurrentTheme","className","toggleSitemapItem","EventEmitter","mediaQuery$","observe","pipe","map","isActive","distinctUntilChanged","mediaQuery","toSignal","requireSync","isInverse","includes","ngOnInit","SetTab","BetBuilder","parentTabId","betBuilderProvider","ngOnChanges","changes","_b","_c","_d","isEqual","previousValue","currentValue","showGoHome","ngAfterViewInit","detectChanges","fromToggle","emit","event","preventDefault","increaseTooltipCount","setActive","forEach","pillWithSeparatorIndex","index","markForCheck","ɵɵdirectiveInject","Sitecore","ChangeDetectorRef","MediaQueryService","B","selectors","viewQuery","rf","ctx","ɵɵclassMap","EventDetailsSitemapComponent_Conditional_0_Template","EventDetailsSitemapComponent_Conditional_1_Template","EventDetailsSitemapComponent_popper_content_2_Template","z","W","he","_e","ae","re","se","te","N","fe","me","Te","ge","Ce","_EventDetailsSitemapComponent","EventDetailsSitemapModule","eventDetailsSitemapComponent","L","M","imports","CommonModule","NavigationCoreModule","DirectivesModule","TooltipModule","NgxPopperjsModule","IconCustomComponent","SharedPriceboostModule","_EventDetailsSitemapModule"],"mappings":"6tBAOO,IAAMA,EAAyB,CAAA,CAClCC,UAAY,CAAA,YAAA,CACZC,sBAAuB,4BAcdC,CAAAA,CAAAA,CAAAA,CAAAA,CAAkC,IAAA,CAAzC,IAAOA,CAAP,CAAA,MAAOA,CAAkC,CAC3CC,YACYC,CACAC,CAAAA,CAAAA,CAA2B,CAD3B,IAAA,CAAAD,gBAAAA,CACA,CAAA,IAAA,CAAAC,SAAAA,CAAAA,EACT,CAEHC,qBAAsBC,CAAAA,CAAAA,CAAgCC,CAA8BC,CAAAA,CAAAA,CAA+B,CAC/G,IAAMC,CAAAA,CAAS,IAAKC,CAAAA,SAAAA,CAAUH,EAAMC,CAAK,CAAA,CACnCG,GAAcJ,CAAAA,CAAAA,CAAKK,MAASH,CAAAA,CAAAA,EAAAA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAQI,YAAeN,CAAKM,CAAAA,WAAAA,EAAeN,CAAKO,CAAAA,EAAAA,CAAGC,UAC/EC,CAAAA,CAAAA,CAAQ,IAAKC,CAAAA,QAAAA,CAASV,EAAME,CAAM,CAAA,CAElCS,EAAeC,CAAAA,GAAAA,CAAAC,EAAA,EACd,CAAA,IAAA,CAAKC,mBAAoBf,CAAAA,CAAK,GADhB,CAEjB,CAACgB,CAAkBC,CAAAA,sBAAsB,EAAGhB,CAAKK,CAAAA,MAAAA,CAAS,UAAa,CAAA,QAAA,CACvE,CAACU,CAAkBE,CAAAA,wBAAwB,EAAGR,CAAAA,CAC9C,CAACM,CAAAA,CAAkBG,wBAAwB,EAAGhB,EAASA,CAAOiB,CAAAA,KAAAA,CAAQC,CACtE,CAAA,CAACL,EAAkBM,uBAAuB,EAAGrB,CAAKmB,CAAAA,KAAAA,CAClD,CAACJ,CAAkBO,CAAAA,qBAAqB,EAAG,IAAA,CAAKC,YAAYxB,CAAMyB,CAAAA,OAAAA,CAASzB,CAAM0B,CAAAA,SAAAA,CAAWrB,GAAW,CAG3G,CAAA,CAAA,CAAA,IAAA,CAAKR,eAAgB8B,CAAAA,KAAAA,CAAMX,EAAkBY,qBAAuBhB,CAAAA,EAAY,EACpF,CAEAiB,wBAAwB7B,CAAgCC,CAAAA,CAAAA,CAA8BC,CAA+B,CAAA,CACjH,IAAMC,CAAAA,CAAS,IAAKC,CAAAA,SAAAA,CAAUH,EAAMC,CAAK,CAAA,CAEnCU,GAAeC,CAAAA,GAAAA,CAAAC,EAAA,EACd,CAAA,IAAA,CAAKC,mBAAoBf,CAAAA,CAAK,GADhB,CAEjB,CAACgB,CAAkBC,CAAAA,sBAAsB,EAAG,OAC5C,CAAA,CAACD,CAAkBE,CAAAA,wBAAwB,EAAG,WAC9C,CAAA,CAACF,CAAkBG,CAAAA,wBAAwB,EAAGhB,CAASA,CAAAA,CAAAA,CAAOiB,KAAQC,CAAAA,CAAAA,CACtE,CAACL,CAAkBM,CAAAA,uBAAuB,EAAGrB,CAAAA,CAAKmB,KAClD,CAAA,CAACJ,CAAkBO,CAAAA,qBAAqB,EAAG,IAAKC,CAAAA,WAAAA,CAAYxB,CAAMyB,CAAAA,OAAAA,CAASzB,EAAM0B,SAAS,CAAA,CAAA,CAAA,CAG9F,IAAK7B,CAAAA,eAAAA,CAAgB8B,MAAMX,CAAkBY,CAAAA,qBAAAA,CAAuBhB,GAAY,EACpF,CAEQG,mBAAoBf,CAAAA,CAAAA,CAA8B,CACtD,OAAO,CACH,CAACgB,CAAAA,CAAkBc,wBAAwB,EAAGtC,GAAuBC,UACrE,CAAA,CAACuB,CAAkBe,CAAAA,qBAAqB,EAAGvC,EAAuBE,CAAAA,qBAAAA,CAClE,CAACsB,CAAAA,CAAkBgB,QAAQ,EAAGhC,CAAMiC,CAAAA,OAAAA,CACpC,CAACjB,CAAkBkB,CAAAA,eAAe,EAAGlC,CAAAA,CAAMmC,SAC3C,CAACnB,CAAAA,CAAkBoB,cAAc,EAAGpC,EAAMyB,OAC1C,CAAA,CAACT,CAAkBqB,CAAAA,mCAAmC,EAAGrC,CAAMsC,CAAAA,MAAAA,CAAS,MAAS,CAAA,UAAA,CAEzF,CAEQ3B,QAASV,CAAAA,CAAAA,CAA8BE,CAA+B,CAAA,CAC1E,IAAMoC,CAAQtC,CAAAA,CAAAA,CAAKK,MAAUH,EAAAA,CAAAA,CAASA,EAAOI,WAAcN,CAAAA,CAAAA,CAAKM,WAC5DG,CAAAA,CAAAA,CAAAA,CAAQ6B,CAAAA,EAAAA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAOC,CAAAA,KAAAA,CAAM,KAAKC,MAAU,GAAA,CAAA,CAMxC,OAJI/B,CAAAA,GAAU,GAAKT,CAAKyC,CAAAA,aAAAA,EAAiB,CAACzC,CAAAA,CAAKK,QAC3CI,CAGAT,EAAAA,CAAAA,CAAAA,CAAKK,MAAUL,EAAAA,CAAAA,CAAKyC,eAAiB,CAACvC,CAAAA,CAC/BkB,CAG+B,CAAA,CAAA,CACtC,EAAG,KACH,CAAA,CAAA,CAAG,KACH,CAAA,CAAA,CAAG,OAGQX,CAAK,CAAA,EAAK,CAAGA,EAAAA,CAAK,MAAQ,QAC7C,CAEQc,WAAYC,CAAAA,CAAAA,CAAiBC,EAAmBiB,CAAe,CAAA,CACnE,OAAO,IAAA,CAAK7C,UAAU0B,WAAY,CAAA,CAAEhB,EAAIiB,CAAAA,CAAAA,CAASmB,KAAMlB,CAAS,CAAA,CAAIiB,CAAwB,CAChG,CAEQvC,SAAUH,CAAAA,CAAAA,CAA8BC,CAA+B,CAAA,CAC3E,IAAIC,CAASD,CAAAA,CAAAA,CAAM2C,IAAMC,CAAAA,CAAAA,EAAMA,EAAEJ,aAAa,CAAA,CAC9C,GAAIvC,CAAAA,CAAAA,EAAAA,YAAAA,CAAQK,CAAAA,EAAAA,IAAOP,CAAKO,CAAAA,EAAAA,CAAI,CACxB,IAAMuC,CAAAA,CAAoB7C,CAAM8C,CAAAA,SAAAA,CAAWF,CAAMA,EAAAA,CAAAA,CAAEJ,aAAa,CAAA,CAChEvC,EAASD,CAAM6C,CAAAA,CAAAA,CAAoB,CAAC,EACxC,CAEA,OAAO5C,CACX,CAlFSR,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAAkCsD,GAAAC,CAAA,CAAA,CAAAD,EAAAE,CAAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAAC,CAAA,CAAA,CAAA,KAAA,CAAlCzD,CAAkC0D,CAAAA,OAAAA,CAAlC1D,EAAkC2D,SAAAC,CAAAA,UAAAA,CAF/B,MAAM,CAAA,EAEhB,IAAO5D,CAAAA,CAAP6D,CAAO7D,CAAAA,OAAAA,CAAkC,ICd/C,CAAA,IAAa8D,EAAiC,CAAA,CAAA,IAAA,CAAxC,IAAOA,CAAP,CAAA,MAAOA,CAAiC,CAC1C7D,WAAAA,CACY8D,CACAC,CAAAA,CAAAA,CAAoC,CADpC,IAAAD,CAAAA,kBAAAA,CAAAA,CACA,CAAA,IAAA,CAAAC,kBAAAA,CAGJ,CAAA,IAAA,CAAAC,QAAW,CAAA,qCAAA,CACX,KAAAC,cAAiB,CAAA,CAAA,EAHtB,CAKH,IAAYC,mBAAiB,CACzB,OAAO,IAAKH,CAAAA,iBAAAA,CAAkBI,IAAY,IAAKH,CAAAA,QAAQ,CAAK,EAAA,CAChE,CAEAI,iBAAkBC,CAAAA,CAAAA,CAAmC,CACjD,OAAQA,CAAQ,EACZ,IAAA,UAAA,CACI,KAAKL,QAAW,CAAA,wCAAA,CAChB,MACJ,IAAA,cACI,IAAKA,CAAAA,QAAAA,CAAW,yCAChB,CAAA,IAAA,CAAKC,eAAiB,CACtB,CAAA,CAAA,MACJ,QACI,IAAA,CAAKD,SAAW,sCACxB,CAEA,OAAO,IAAA,CAAKF,mBAAmBQ,4BACzB,CAAA,IAAA,CAAKJ,iBAAqB,EAAA,IAAA,CAAKJ,mBAAmBQ,4BAClD,CAAA,CAAA,CACV,CAEAC,aAAAA,EAAa,CACJ,IAAKN,CAAAA,cAAAA,EACN,IAAKF,CAAAA,iBAAAA,CAAkBS,IAAI,IAAKR,CAAAA,QAAAA,CAAU,IAAKE,CAAAA,iBAAAA,CAAoB,CAAC,EAE5E,CAEAO,YAAY,EAAA,CACR,KAAKV,iBAAkBS,CAAAA,GAAAA,CAAI,IAAKR,CAAAA,QAAAA,CAAU,KAAKF,kBAAmBQ,CAAAA,4BAAAA,CAA+B,CAAC,EACtG,yCAvCST,CAAiCR,EAAAA,EAAAA,CAAAqB,EAAA,CAAA,CAAArB,GAAAsB,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAAnB,CAAA,CAAA,CAAA,KAAA,CAAjCK,EAAiCJ,OAAjCI,CAAAA,CAAAA,CAAiCH,SAAAC,CAAAA,UAAAA,CAF9B,MAAM,CAAA,CAAA,CAEhB,IAAOE,CAAAA,CAAPe,CAAOf,CAAAA,OAAAA,CAAiC,CAAA,GAAA,CAAA,IAAA,EAAA,CAAA,CAAA,eAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAgB,EAAA,EAAA,CCR1CC,GAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAyB,EAAA,QAAA,CAAA,CAAA,CASjBC,CAAAA,EAAAA,CAAA,QAAA,UAAA,CAAAC,EAAAC,CAAAA,CAAA,EAAA,IAAAC,CAAAA,CAAAC,EAAA,EAAA,CAAA,OAAAC,EAASF,CAAAA,CAAAA,CAAAG,MAAA,EAAQ,CAAA,CAAA,CAAA,CACjBC,EAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CACJC,EAAA,EAAA,GAJIC,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAC,CAAAA,EAAAA,CAAA,YAAAP,CAAAQ,CAAAA,mBAAA,CAAiC,CAAA,SAAA,CAAAR,EAAAS,iBAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAuBrBb,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,CACIQ,EAAA,CAAA,CAAA,CAAA,+BAAA,EAAA,CAAA,CACJC,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAK,EAAA,EAAA,CAAA,SAAA,CADkCJ,IAAAC,CAAAA,EAAAA,CAAA,OAAAI,CAAAA,CAAAA,CAAAC,KAAA,EAMtCR,CAAAA,CAAAA,SAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CACIG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAA,QAAAP,CAAAA,CAAAA,CAAAa,aAAA,CAAA,CAAwB,mBAAAb,CAAAA,CAAAA,CAAAc,SAAAH,CAAA,CAAA,CACY,CAAA,gBAAA,CAAA,WAAA,CACN,CAAA,iBAAA,CAAA,QAAA,CAAA,CACF,mBAAA,eAAA,CAAA,CACQ,kBAAA,CAAA,+BAAA,EACgB,uBAAA,CAAA,cAAA,CACZ,CAAA,0BAAA,CAAA,EAAA,CACP,CAAA,oBAAA,CAAA,CAAA,CAAA,CAAA,CACN,wBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAhB,EAAA,EAAA,CA5BvCC,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAsE,CAAA,CAAA,QAAA,CAAA,CAAA,CAS9DC,CAAAA,EAAAA,CAAA,OAAA,CAAA,SAAAkB,EAAA,CAAA,IAAAJ,CAAAb,CAAAA,EAAAA,CAAAkB,CAAA,CAAAC,CAAAA,SAAAA,CAAAjB,CAAAC,CAAAA,EAAAA,CAAA,CAAA,CAAA,CAAA,OAAAC,EAASF,CAAAA,CAAAA,CAAAkB,OAAAH,CAAAJ,CAAAA,CAAA,CAAoB,CAAA,CAAA,CAC7BQ,CAAAA,EAAAA,CAAA,CAAA,CAAA,CACAC,GAAA,CAAAC,CAAAA,EAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,CAKJhB,EAAA,EAAA,CACAD,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CACAgB,GAAA,CAAAE,CAAAA,EAAAA,CAAA,CAAA,CAAA,EAAA,CAAA,MAAA,EAAA,CAAA,CAaJjB,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAAK,EAAA,CAAA,CAAA,CAAA,CA1BQJ,IAAAC,CAAAA,EAAAA,CAAA,eAAAP,CAAAA,CAAAA,CAAAuB,qBAAA,CAAuC,CAAA,mBAAA,CAAAZ,CAAAa,CAAAA,GAAA,EACT,UAAAb,CAAAA,CAAAA,CAAAnF,MAAA,CAAA,CAAAiG,EAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAI9BnB,IAAAoB,CAAAA,EAAAA,CAAA,GAAAf,CAAAA,CAAAA,CAAArE,MAAA,GAAA,CAAA,CACAgE,EAAA,EAAA,CAAAqB,EAAAhB,CAAAA,CAAAA,CAAAiB,YAAA,CAAA,CAAA,CAAA,EAAA,CAMCtB,CAAAA,EAAAA,EAAAuB,CAAAA,EAAAA,CAAA,iBAAAlB,CAAA/C,CAAAA,aAAA,CACL0C,CAAAA,EAAAA,GAAAqB,EAAAhB,CAAAA,CAAAA,CAAAnF,MAAAwE,EAAAA,CAAAA,CAAAc,SAAAH,CAAA,CAAA,EAAAX,CAAAd,CAAAA,iBAAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GApBZU,EAAA,CAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,CAAyH,CAAA,CAAA,IAAA,CAAA,CAAA,CAEjHwB,CAAAA,EAAAA,CAAA,CAAAU,CAAAA,EAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,EAgCJzB,EAAA,EAAA,EAlC0CE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAAAA,CAAA,yBAAAP,CAAAxE,CAAAA,MAAAA,EAAAwE,CAAAxE,CAAAA,MAAAA,CAAAE,EAAA,CAA8C,CAAA,aAAA,CAAAsE,CAAA+B,CAAAA,WAAA,EAE5CzB,EAAA,CAAA,CAAA,CAAAC,CAAAA,EAAAA,CAAA,UAAAP,CAAA5E,CAAAA,KAAA,CAAU,CAAA,cAAA,CAAA4E,EAAAgC,SAAA,EAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAArC,EAAA,EAAA,CAoC9DC,EAAA,CAAA,CAAA,CAAA,iBAAA,IAAA,CAAA,CAAA,CAAyD,CAAA,CAAA,CAAA,wBAAA,EAAA,CAAA,CAIjDC,EAAA,CAAA,cAAA,CAAA,UAAA,CAAAC,EAAAA,CAAAmC,CAAA,CAAA,CAAA,IAAAjC,CAAAC,CAAAA,EAAAA,EAAA,CAAA,OAAAC,GAAgBF,CAAAkC,CAAAA,cAAAA,EAAgB,CAAA,CAAA,CAAE7B,CAAAA,EAAAA,EAAwB,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAK,EAAA,EAAA,CAF1DJ,GAAA,CAAA,CAAA,CAAAC,EAAA,CAAA,UAAA,CAAAP,EAAAd,iBAAA,CAAA,CAA8B,SAAAc,CAAAA,CAAAA,CAAAmC,SAAAC,cAAAC,CAAAA,sBAAA,ECrBtC,CAAA,CAAA,IAAaC,EAA4B,CAAA,CAAA,IAAA,CAAnC,IAAOA,EAAP,MAAOA,CAA4B,CAiBrC,IAAiCC,QAAM,CACnC,OAAO,CAAC,IAAA,CAAKnH,MAAMuC,MAAU,EAAA,IAAA,CAAK6E,aACtC,CAMA,IAAIhH,MAAM,EAAA,CA7Dd,IAAAiH,CAAAA,CA8DQ,QAAOA,CAAA,CAAA,IAAA,CAAKrH,KAAL,GAAA,IAAA,CAAA,KAAA,CAAA,CAAAqH,EAAY1E,IAAM2E,CAAAA,CAAAA,EAAQ,CAAC,CAACA,EAAIlH,MAC3C,CAAA,CAEAV,WACWqH,CAAAA,CAAAA,CACCpH,CACA4H,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CAAoC,CAJrC,IAAAV,CAAAA,QAAAA,CAAAA,CACC,CAAA,IAAA,CAAApH,gBAAAA,CACA,CAAA,IAAA,CAAA4H,cAAAA,CAAAA,CAAAA,CACA,KAAAC,GAAAA,CAAAA,CAAAA,CACA,IAAAC,CAAAA,iBAAAA,CAAAA,EAzBZ,IAAAC,CAAAA,aAAAA,CAA+B,CAAC,OAAO,EAGvC,IAAAC,CAAAA,YAAAA,CAAeC,CAAkB,EAAA,CAGX,KAAAC,SAAY,CAAA,uBAAA,CAMxB,IAAAC,CAAAA,iBAAAA,CAAoB,IAAIC,EAEzB,CAAA,IAAA,CAAA3C,mBAAsD,CAAA,CAAE,WAAa,CAAA,UAAA,CAAY,gBAAkB,CAAA,UAAU,EAalH,IAAK4C,CAAAA,WAAAA,CAAc,IAAKP,CAAAA,iBAAAA,CAAkBQ,SAAUC,CAAAA,IAAAA,CAChDC,EAAI,CAAA,IAAM,KAAKV,iBAAkBW,CAAAA,QAAAA,CAAS,OAAO,CAAC,EAClDC,EAAoB,EAAE,CAE1B,CAAA,IAAMC,EAAaC,EAAS,CAAA,IAAA,CAAKP,WAAa,CAAA,CAAEQ,YAAa,CAAI,CAAA,CAAE,CACnE,CAAA,IAAA,CAAKrC,sBAAwBmC,CAAU,EAAA,CACjC,CACI,OAAA,CAAS,CAAEG,SAAW,CAAA,CAAA,CAAI,CAE9B,CAAA,CAAA,GACN,IAAKpD,CAAAA,iBAAAA,CAAoBiD,CAAU,EAAA,CAAK,KAAKZ,aAAcgB,CAAAA,QAAAA,CAAS,IAAKf,CAAAA,YAAY,EAAI,CAC7F,EAAA,CAEAgB,QAAQ,EAAA,CACJ,KAAKhC,WAAc,CAAA,IAAA,CAAK3G,MAC5B,CAEA0F,SAAS3F,CAA4B,CAAA,CACjC,OAAOA,CAAAA,CAAKO,KAAOsI,CAAOC,CAAAA,UAAAA,EAAc9I,CAAK+I,CAAAA,WAAAA,GAAgBF,EAAOC,UAAc,EAAA,IAAA,CAAKE,kBAAkB,GAAA,aAC7G,CAEAC,WAAAA,CAAYC,CAAqD,CAAA,CA7FrE,IAAA5B,CAAA6B,CAAAA,CAAAA,CAAAC,CAAAC,CAAAA,CAAAA,CAAAA,CA+FY,CAACC,EAAQJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAQjJ,CAAAA,KAAAA,GAARiJ,YAAAA,CAAeK,CAAAA,aAAAA,CAAAA,CAAeL,CAAAA,CAAAA,CAAAA,CAAQjJ,QAARiJ,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAeM,YAAY,CAAA,EAAA,CAAA,CAClEN,EAAAA,CAAQO,CAAAA,UAAAA,GAARP,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAoBK,mBAAkBL,CAAAA,CAAAA,CAAAA,CAAQO,UAARP,GAAAA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,EAAoBM,YAG1D,CAAA,IAAA,IAAA,CAAK5C,WAAc,CAAA,IAAA,CAAK3G,KAG5B,CAAA,CAAA,IAAA,CAAK8D,iBAAoB,CAAA,IAAA,CAAKyD,eAAezD,iBAAkB,CAAA,IAAA,CAAKiF,kBAAkB,EAC1F,CAEAU,eAAe,EAAA,CACX,IAAKjC,CAAAA,GAAAA,CAAIkC,gBACb,CAEA3E,MAAO4E,CAAAA,CAAAA,CAAoB,CACvB,IAAMvJ,CAAAA,CAAS,IAAKA,CAAAA,MAAAA,CACpBA,EAAOA,MAAS,CAAA,CAAA,CAAA,CAEXuJ,CACD,EAAA,IAAA,CAAKhK,gBAAgBgC,uBAAwB,CAAA,IAAA,CAAKjB,YAAcN,CAAAA,CAAAA,CAAQ,KAAKJ,KAAK,CAAA,CAGtF,IAAK8H,CAAAA,iBAAAA,CAAkB8B,IAAKxJ,CAAAA,CAAM,EACtC,CAEA0F,OAAO+D,CAAc9J,CAAAA,CAAAA,CAA4B,CAC7C8J,CAAAA,CAAMC,gBAEN,CAAA,IAAM1J,CAASL,CAAAA,CAAAA,CAAKK,OAAS,IAAKF,CAAAA,SAAAA,EAAcH,CAAAA,CAAAA,CAChD,KAAKJ,eAAgBE,CAAAA,qBAAAA,CAAsB,IAAKa,CAAAA,YAAAA,CAAcX,EAAM,IAAKC,CAAAA,KAAK,CAE1E,CAAA,IAAA,CAAK0F,SAAS3F,CAAI,CAAA,EAAK,IAAK+D,CAAAA,iBAAAA,EAC5B,KAAKiG,oBAAoB,EAAA,CAGzB3J,CACA,EAAA,IAAA,CAAK4J,UAAU5J,CAAM,CAAA,CACrB,IAAK0H,CAAAA,iBAAAA,CAAkB8B,KAAKxJ,CAAM,CAAA,EAElC,IAAK2E,CAAAA,MAAAA,CAAO,EAAI,EAExB,CAEQiF,SAAUjK,CAAAA,CAAAA,CAA6B,CAC3C,IAAKC,CAAAA,KAAAA,CAAMiK,OAASrH,CAAAA,CAAAA,EAAOA,EAAExC,MAASwC,CAAAA,CAAAA,CAAEtC,EAAOP,IAAAA,CAAAA,EAAAA,YAAAA,CAAMO,CAAAA,EAAAA,CAAG,EAC5D,CAEQJ,WAAS,CACb,IAAMgK,CAAyB,CAAA,IAAA,CAAKlK,MAAM8C,SAAWF,CAAAA,CAAAA,EAAMA,CAAEJ,CAAAA,aAAa,CAE1E,CAAA,GAAI0H,CAA2B,GAAA,CAAA,CAAA,CAI/B,OAAO,IAAKlK,CAAAA,KAAAA,CAAMkK,CAAsB,CAAA,CAAE9J,OAAS,IAAKJ,CAAAA,KAAAA,CAAMkK,CAAyB,CAAA,CAAC,EAAI,IAAKlK,CAAAA,KAAAA,CAAMkK,CAAsB,CACjI,CAEAtD,SAAUuD,CAAAA,CAAAA,CAAepK,CAA4B,CAAA,CACjD,OAAO,CAAGA,EAAAA,CAAAA,CAAKO,EAAE,CAAA,EAAGP,EAAKK,MAAU,EAAA,CAAA,CAAK,CAC5C,CAAA,CAEQ2J,sBAAoB,CACxB,IAAA,CAAKjG,iBAAoB,CAAA,IAAA,CAAKyD,cAAezD,CAAAA,iBAAAA,CAAkB,IAAKiF,CAAAA,kBAAkB,EACtF,IAAKxB,CAAAA,cAAAA,CAAetD,aAAa,EAAA,CACjC,KAAKuD,GAAI4C,CAAAA,YAAAA,GACb,CAEAtD,gBAAc,CACV,IAAA,CAAKhD,iBAAoB,CAAA,CAAA,CAAA,CACzB,KAAKyD,cAAepD,CAAAA,YAAAA,EACpB,CAAA,IAAA,CAAKqD,IAAI4C,YAAY,GACzB,CAlISlD,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,IAAAA,CAAAA,EAAAA,CAAAA,EAA4BmD,GAAAC,EAAA,CAAA,CAAAD,EAAA5K,CAAAA,CAAA,EAAA4K,EAAA9G,CAAAA,EAAA,CAAA8G,CAAAA,EAAAA,CAAAE,EAAA,CAAA,CAAAF,EAAAG,CAAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAAC,EAAA,CAAA,CAAA,IAAA,CAA5BvD,CAA4BwD,CAAAA,SAAAA,CAAA,CAAA,CAAA,0BAAA,CAAA,CAAA,CAAAC,UAAA,SAAAC,CAAAA,CAAAC,CAAA,CAAA,CAAA,GAAAD,EAAA,CAA5BE,EAAAA,EAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,GAAAA,CAAAA,CAAAA,aAAAA,CAAAA,CAAAA,CAAAA,KAAAA,EAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,EAAAA,CAAAD,CAAAhD,CAAAA,SAAA,EAAApB,EAAA,CAAA,QAAA,CAAAoE,CAAA1D,CAAAA,MAAA,8iCDpCbnB,EAAA,CAAA,CAAA,CAAA+E,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAAC,GAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,EAgBoB,CAAAC,CAAAA,EAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAhBtC1E,EAAAsE,CAAAA,CAAAA,CAAArB,WAAA,CAAA,CAAA,CAAA,CAAA,CAgBAtE,CAAAA,EAAAA,GAAAqB,EAAAsE,CAAAA,CAAAA,CAAA7K,KAAAuC,CAAAA,MAAAA,EAAA,CAAAsI,CAAAzD,CAAAA,aAAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAuCgClC,EAAA,EAAA,CAAAC,EAAA,CAAA,MAAA,CAAA0F,EAAA/G,iBAAA,CAAA,EAAA,CAAA,CAAA,YAAA,CAAA,CAAAoH,EAAA,CAAAC,EAAA,CAAAC,CAAA,CAAAC,EAAA,CAAAC,IAAA,CAAAC,EAAA,CAAAC,EAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,GAAA,CAAAC,EAAA,CAAAC,GAAA,CAAAC,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA;ACnB1B,4FAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAO7E,EAAP8E,CAAO9E,CAAAA,OAAAA,CAA4B,ICGzC,CAAA,IAAa+E,IAAyB,IAAA,CAAhC,IAAOA,CAAP,CAAA,MAAOA,CAAyB,CApBtCvM,WAAAA,EAAA,CAqBa,IAAAwM,CAAAA,4BAAAA,CAA+BhF,4CAD/B+E,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAAE,EAAA,CAAA,CAAA,IAAA,CAAzBF,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAAG,EAAA,CAAA,CAAA,SAAA,CAFvB,CAAC3M,CAAkC,CAAA,CAAC4M,QAAA,CAhB3CC,EAAAA,CACAC,EACAC,EAEAC,CAAAA,IAAAA,CACAC,KAEAC,CACAC,CAAAA,EAAsB,CAAA,CAAA,CAAA,CAUxB,IAAOX,CAAPY,CAAAA,CAAAA,CAAAA,OAAOZ,CAAyB,CAAA"}