ng-zorro-antd-anchor.mjs.map 27 KB

1
  1. {"version":3,"file":"ng-zorro-antd-anchor.mjs","sources":["../../components/anchor/util.ts","../../components/anchor/anchor.component.ts","../../components/anchor/anchor-link.component.ts","../../components/anchor/anchor.module.ts","../../components/anchor/public-api.ts","../../components/anchor/ng-zorro-antd-anchor.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport function getOffsetTop(element: HTMLElement, container: HTMLElement | Window): number {\n if (!element || !element.getClientRects().length) {\n return 0;\n }\n const rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n const documentElement = element.ownerDocument!.documentElement!;\n return rect.top - documentElement.clientTop;\n }\n return rect.top - (container as HTMLElement).getBoundingClientRect().top;\n }\n\n return rect.top;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n numberAttribute,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, throttleTime } from 'rxjs/operators';\n\nimport { NzAffixModule } from 'ng-zorro-antd/affix';\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzScrollService } from 'ng-zorro-antd/core/services';\nimport { NgStyleInterface, NzDirectionVHType } from 'ng-zorro-antd/core/types';\nimport { fromEventOutsideAngular, numberAttributeWithZeroFallback } from 'ng-zorro-antd/core/util';\n\nimport { NzAnchorLinkComponent } from './anchor-link.component';\nimport { getOffsetTop } from './util';\n\ninterface Section {\n comp: NzAnchorLinkComponent;\n top: number;\n}\n\nconst VISIBLE_CLASSNAME = 'ant-anchor-ink-ball-visible';\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'anchor';\nconst sharpMatcherRegx = /#([^#]+)$/;\n\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });\n\n@Component({\n selector: 'nz-anchor',\n exportAs: 'nzAnchor',\n preserveWhitespaces: false,\n imports: [NgTemplateOutlet, NzAffixModule],\n template: `\n @if (nzAffix) {\n <nz-affix [nzOffsetTop]=\"nzOffsetTop\" [nzTarget]=\"container\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </nz-affix>\n } @else {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n }\n\n <ng-template #content>\n <div\n class=\"ant-anchor-wrapper\"\n [class]=\"{ 'ant-anchor-wrapper-horizontal': nzDirection === 'horizontal' }\"\n [style]=\"wrapperStyle\"\n >\n <div class=\"ant-anchor\" [class]=\"{ 'ant-anchor-fixed': !nzAffix && !nzShowInkInFixed }\">\n <div class=\"ant-anchor-ink\">\n <div class=\"ant-anchor-ink-ball\" #ink></div>\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NzAnchorComponent implements OnDestroy, AfterViewInit, OnChanges {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n @ViewChild('ink', { static: false }) private ink!: ElementRef;\n\n @Input({ transform: booleanAttribute }) nzAffix = true;\n\n @Input({ transform: booleanAttribute })\n @WithConfig()\n nzShowInkInFixed: boolean = false;\n\n @Input({ transform: numberAttribute })\n @WithConfig()\n nzBounds: number = 5;\n\n @Input({ transform: numberAttributeWithZeroFallback })\n @WithConfig()\n nzOffsetTop?: number = undefined;\n\n @Input({ transform: numberAttributeWithZeroFallback })\n @WithConfig()\n nzTargetOffset?: number = undefined;\n\n @Input() nzContainer?: string | HTMLElement;\n @Input() nzCurrentAnchor?: string;\n @Input() nzDirection: NzDirectionVHType = 'vertical';\n\n @Output() readonly nzClick = new EventEmitter<string>();\n @Output() readonly nzChange = new EventEmitter<string>();\n @Output() readonly nzScroll = new EventEmitter<NzAnchorLinkComponent>();\n\n visible = false;\n wrapperStyle: NgStyleInterface = { 'max-height': '100vh' };\n\n container?: HTMLElement | Window;\n activeLink?: string;\n\n private links: NzAnchorLinkComponent[] = [];\n private animating = false;\n private destroy$ = new Subject<boolean>();\n private handleScrollTimeoutID?: ReturnType<typeof setTimeout>;\n private doc: Document = inject(DOCUMENT);\n\n constructor(\n public nzConfigService: NzConfigService,\n private scrollSrv: NzScrollService,\n private cdr: ChangeDetectorRef,\n private platform: Platform,\n private renderer: Renderer2\n ) {}\n\n registerLink(link: NzAnchorLinkComponent): void {\n this.links.push(link);\n }\n\n unregisterLink(link: NzAnchorLinkComponent): void {\n this.links.splice(this.links.indexOf(link), 1);\n }\n\n private getContainer(): HTMLElement | Window {\n return this.container || window;\n }\n\n ngAfterViewInit(): void {\n this.registerScrollEvent();\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.handleScrollTimeoutID);\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n private registerScrollEvent(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.destroy$.next(true);\n\n fromEventOutsideAngular(this.getContainer(), 'scroll', passiveEventListenerOptions)\n .pipe(throttleTime(50), takeUntil(this.destroy$))\n .subscribe(() => this.handleScroll());\n // Browser would maintain the scrolling position when refreshing.\n // So we have to delay calculation in avoid of getting a incorrect result.\n this.handleScrollTimeoutID = setTimeout(() => this.handleScroll());\n }\n\n handleScroll(): void {\n if (typeof document === 'undefined' || this.animating) {\n return;\n }\n\n const sections: Section[] = [];\n const offsetTop = this.nzTargetOffset ? this.nzTargetOffset : this.nzOffsetTop || 0;\n const scope = offsetTop + this.nzBounds;\n this.links.forEach(comp => {\n const sharpLinkMatch = sharpMatcherRegx.exec(comp.nzHref.toString());\n if (!sharpLinkMatch) {\n return;\n }\n const target = this.doc.getElementById(sharpLinkMatch[1]);\n if (target) {\n const top = getOffsetTop(target, this.getContainer());\n if (top < scope) {\n sections.push({\n top,\n comp\n });\n }\n }\n });\n\n this.visible = !!sections.length;\n if (!this.visible) {\n this.clearActive();\n this.cdr.detectChanges();\n } else {\n const maxSection = sections.reduce((prev, curr) => (curr.top > prev.top ? curr : prev));\n this.handleActive(maxSection.comp);\n }\n this.setVisible();\n }\n\n private clearActive(): void {\n this.links.forEach(i => {\n i.unsetActive();\n });\n }\n\n private setActive(comp?: NzAnchorLinkComponent): void {\n const originalActiveLink = this.activeLink;\n const targetComp = (this.nzCurrentAnchor && this.links.find(n => n.nzHref === this.nzCurrentAnchor)) || comp;\n if (!targetComp) return;\n\n targetComp.setActive();\n const linkNode = targetComp.getLinkTitleElement();\n if (this.nzDirection === 'vertical') {\n this.ink.nativeElement.style.top = `${linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5}px`;\n } else {\n this.ink.nativeElement.style.left = `${linkNode.offsetLeft + linkNode.clientWidth / 2}px`;\n }\n this.activeLink = (comp || targetComp).nzHref;\n if (originalActiveLink !== this.activeLink) {\n this.nzChange.emit(this.activeLink);\n }\n }\n\n private handleActive(comp: NzAnchorLinkComponent): void {\n this.clearActive();\n this.setActive(comp);\n this.visible = true;\n this.setVisible();\n this.nzScroll.emit(comp);\n }\n\n private setVisible(): void {\n if (this.ink) {\n const visible = this.visible;\n if (visible) {\n this.renderer.addClass(this.ink.nativeElement, VISIBLE_CLASSNAME);\n } else {\n this.renderer.removeClass(this.ink.nativeElement, VISIBLE_CLASSNAME);\n }\n }\n }\n\n handleScrollTo(linkComp: NzAnchorLinkComponent): void {\n const el = this.doc.querySelector<HTMLElement>(linkComp.nzHref);\n if (!el) {\n return;\n }\n\n this.animating = true;\n const containerScrollTop = this.scrollSrv.getScroll(this.getContainer());\n const elOffsetTop = getOffsetTop(el, this.getContainer());\n let targetScrollTop = containerScrollTop + elOffsetTop;\n targetScrollTop -= this.nzTargetOffset !== undefined ? this.nzTargetOffset : this.nzOffsetTop || 0;\n this.scrollSrv.scrollTo(this.getContainer(), targetScrollTop, {\n callback: () => {\n this.animating = false;\n this.handleActive(linkComp);\n }\n });\n this.nzClick.emit(linkComp.nzHref);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzOffsetTop, nzContainer, nzCurrentAnchor } = changes;\n if (nzOffsetTop) {\n this.wrapperStyle = {\n 'max-height': `calc(100vh - ${this.nzOffsetTop}px)`\n };\n }\n if (nzContainer) {\n const container = this.nzContainer;\n this.container = typeof container === 'string' ? this.doc.querySelector<HTMLElement>(container)! : container;\n this.registerScrollEvent();\n }\n if (nzCurrentAnchor) {\n this.setActive();\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Platform } from '@angular/cdk/platform';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { NzDirectionVHType, NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzAnchorComponent } from './anchor.component';\n\n@Component({\n selector: 'nz-link',\n exportAs: 'nzLink',\n preserveWhitespaces: false,\n imports: [NgTemplateOutlet],\n template: `\n <a\n #linkTitle\n class=\"ant-anchor-link-title\"\n [href]=\"nzHref\"\n [attr.title]=\"titleStr\"\n [target]=\"nzTarget\"\n (click)=\"goToClick($event)\"\n >\n @if (titleStr) {\n <span>{{ titleStr }}</span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"titleTpl || nzTemplate\" />\n }\n </a>\n @if (nzDirection === 'vertical') {\n <ng-content></ng-content>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ant-anchor-link'\n }\n})\nexport class NzAnchorLinkComponent implements OnInit, OnDestroy {\n @Input() nzHref = '#';\n @Input() nzTarget?: string;\n\n titleStr: string | null = '';\n titleTpl?: TemplateRef<NzSafeAny>;\n nzDirection: NzDirectionVHType = 'vertical';\n\n @Input()\n set nzTitle(value: string | TemplateRef<void>) {\n if (value instanceof TemplateRef) {\n this.titleStr = null;\n this.titleTpl = value;\n } else {\n this.titleStr = value;\n }\n }\n\n @ContentChild('nzTemplate', { static: false }) nzTemplate!: TemplateRef<void>;\n @ViewChild('linkTitle') linkTitle!: ElementRef<HTMLAnchorElement>;\n\n constructor(\n public elementRef: ElementRef,\n private anchorComp: NzAnchorComponent,\n private platform: Platform,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.anchorComp.registerLink(this);\n this.nzDirection = this.anchorComp.nzDirection;\n }\n\n getLinkTitleElement(): HTMLAnchorElement {\n return this.linkTitle.nativeElement;\n }\n\n setActive(): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'ant-anchor-link-active');\n }\n\n unsetActive(): void {\n this.renderer.removeClass(this.elementRef.nativeElement, 'ant-anchor-link-active');\n }\n\n goToClick(e: Event): void {\n e.preventDefault();\n e.stopPropagation();\n if (this.platform.isBrowser) {\n this.anchorComp.handleScrollTo(this);\n }\n }\n\n ngOnDestroy(): void {\n this.anchorComp.unregisterLink(this);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NzAnchorLinkComponent } from './anchor-link.component';\nimport { NzAnchorComponent } from './anchor.component';\n\n@NgModule({\n exports: [NzAnchorComponent, NzAnchorLinkComponent],\n imports: [NzAnchorComponent, NzAnchorLinkComponent]\n})\nexport class NzAnchorModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './anchor-link.component';\nexport * from './anchor.component';\nexport * from './anchor.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NzAnchorComponent","i2"],"mappings":";;;;;;;;;;;;;;;AAAA;;;AAGG;AAEa,SAAA,YAAY,CAAC,OAAoB,EAAE,SAA+B,EAAA;IAChF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE;AAChD,QAAA,OAAO,CAAC;;AAEV,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE;IAE5C,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AAC7B,QAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,YAAA,MAAM,eAAe,GAAG,OAAO,CAAC,aAAc,CAAC,eAAgB;AAC/D,YAAA,OAAO,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,SAAS;;QAE7C,OAAO,IAAI,CAAC,GAAG,GAAI,SAAyB,CAAC,qBAAqB,EAAE,CAAC,GAAG;;IAG1E,OAAO,IAAI,CAAC,GAAG;AACjB;;ACuBA,MAAM,iBAAiB,GAAG,6BAA6B;AACvD,MAAM,qBAAqB,GAAgB,QAAQ;AACnD,MAAM,gBAAgB,GAAG,WAAW;AAEpC,MAAM,2BAA2B,GAAG,+BAA+B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAkCzE,iBAAiB,GAAA,CAAA,MAAA;;;;;;;;;;;;;iBAAjB,iBAAiB,CAAA;;;AAQ3B,YAAA,4BAAA,GAAA,CAAA,UAAU,EAAE,CAAA;AAIZ,YAAA,oBAAA,GAAA,CAAA,UAAU,EAAE,CAAA;AAIZ,YAAA,uBAAA,GAAA,CAAA,UAAU,EAAE,CAAA;AAIZ,YAAA,0BAAA,GAAA,CAAA,UAAU,EAAE,CAAA;YAXb,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,4BAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,kBAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,gBAAgB,EAAhB,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAA,gBAAgB,GAAkB,KAAA,CAAA,EAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,8BAAA,EAAA,mCAAA,CAAA;YAIlC,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,UAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,QAAQ,EAAR,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAA,QAAQ,GAAa,KAAA,CAAA,EAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,sBAAA,EAAA,2BAAA,CAAA;YAIrB,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,uBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,aAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,WAAW,EAAX,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAA,WAAW,GAAsB,KAAA,CAAA,EAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,8BAAA,CAAA;YAIjC,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,0BAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,gBAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,cAAc,EAAd,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAA,cAAc,GAAsB,KAAA,CAAA,EAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,4BAAA,EAAA,iCAAA,CAAA;;;QAuB3B,eAAe;QACd,SAAS;QACT,GAAG;QACH,QAAQ;QACR,QAAQ;QA/CT,aAAa,GAAgB,qBAAqB;AAEd,QAAA,GAAG;QAER,OAAO,GAAG,IAAI;QAItD,gBAAgB,GAAA,iBAAA,CAAA,IAAA,EAAA,8BAAA,EAAY,KAAK,CAAC;QAIlC,QAAQ,IAAA,iBAAA,CAAA,IAAA,EAAA,mCAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,sBAAA,EAAW,CAAC,CAAC;QAIrB,WAAW,IAAA,iBAAA,CAAA,IAAA,EAAA,2BAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,yBAAA,EAAY,SAAS,CAAC;QAIjC,cAAc,IAAA,iBAAA,CAAA,IAAA,EAAA,8BAAA,CAAA,EAAA,iBAAA,CAAA,IAAA,EAAA,4BAAA,EAAY,SAAS,CAAC;AAE3B,QAAA,WAAW,GAAwB,iBAAA,CAAA,IAAA,EAAA,iCAAA,CAAA;AACnC,QAAA,eAAe;QACf,WAAW,GAAsB,UAAU;AAEjC,QAAA,OAAO,GAAG,IAAI,YAAY,EAAU;AACpC,QAAA,QAAQ,GAAG,IAAI,YAAY,EAAU;AACrC,QAAA,QAAQ,GAAG,IAAI,YAAY,EAAyB;QAEvE,OAAO,GAAG,KAAK;AACf,QAAA,YAAY,GAAqB,EAAE,YAAY,EAAE,OAAO,EAAE;AAE1D,QAAA,SAAS;AACT,QAAA,UAAU;QAEF,KAAK,GAA4B,EAAE;QACnC,SAAS,GAAG,KAAK;AACjB,QAAA,QAAQ,GAAG,IAAI,OAAO,EAAW;AACjC,QAAA,qBAAqB;AACrB,QAAA,GAAG,GAAa,MAAM,CAAC,QAAQ,CAAC;QAExC,WACS,CAAA,eAAgC,EAC/B,SAA0B,EAC1B,GAAsB,EACtB,QAAkB,EAClB,QAAmB,EAAA;YAJpB,IAAe,CAAA,eAAA,GAAf,eAAe;YACd,IAAS,CAAA,SAAA,GAAT,SAAS;YACT,IAAG,CAAA,GAAA,GAAH,GAAG;YACH,IAAQ,CAAA,QAAA,GAAR,QAAQ;YACR,IAAQ,CAAA,QAAA,GAAR,QAAQ;;AAGlB,QAAA,YAAY,CAAC,IAA2B,EAAA;AACtC,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;AAGvB,QAAA,cAAc,CAAC,IAA2B,EAAA;AACxC,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;QAGxC,YAAY,GAAA;AAClB,YAAA,OAAO,IAAI,CAAC,SAAS,IAAI,MAAM;;QAGjC,eAAe,GAAA;YACb,IAAI,CAAC,mBAAmB,EAAE;;QAG5B,WAAW,GAAA;AACT,YAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACxC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;;QAGlB,mBAAmB,GAAA;AACzB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC5B;;AAEF,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAExB,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,2BAA2B;AAC/E,iBAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC/C,SAAS,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;;;AAGvC,YAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;;QAGpE,YAAY,GAAA;YACV,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;gBACrD;;YAGF,MAAM,QAAQ,GAAc,EAAE;AAC9B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC;AACnF,YAAA,MAAM,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ;AACvC,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACxB,gBAAA,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpE,IAAI,CAAC,cAAc,EAAE;oBACnB;;AAEF,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACzD,IAAI,MAAM,EAAE;oBACV,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;AACrD,oBAAA,IAAI,GAAG,GAAG,KAAK,EAAE;wBACf,QAAQ,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH;AACD,yBAAA,CAAC;;;AAGR,aAAC,CAAC;YAEF,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM;AAChC,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;iBACnB;AACL,gBAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACvF,gBAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;;YAEpC,IAAI,CAAC,UAAU,EAAE;;QAGX,WAAW,GAAA;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAG;gBACrB,CAAC,CAAC,WAAW,EAAE;AACjB,aAAC,CAAC;;AAGI,QAAA,SAAS,CAAC,IAA4B,EAAA;AAC5C,YAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU;AAC1C,YAAA,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI;AAC5G,YAAA,IAAI,CAAC,UAAU;gBAAE;YAEjB,UAAU,CAAC,SAAS,EAAE;AACtB,YAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,mBAAmB,EAAE;AACjD,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,CAAG,EAAA,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,GAAG,CAAC,GAAG,GAAG,CAAA,EAAA,CAAI;;iBACzF;gBACL,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA,EAAG,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,IAAI;;YAE3F,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,UAAU,EAAE,MAAM;AAC7C,YAAA,IAAI,kBAAkB,KAAK,IAAI,CAAC,UAAU,EAAE;gBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;;;AAI/B,QAAA,YAAY,CAAC,IAA2B,EAAA;YAC9C,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;YACnB,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;QAGlB,UAAU,GAAA;AAChB,YAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;gBAC5B,IAAI,OAAO,EAAE;AACX,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC;;qBAC5D;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC;;;;AAK1E,QAAA,cAAc,CAAC,QAA+B,EAAA;AAC5C,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAc,QAAQ,CAAC,MAAM,CAAC;YAC/D,IAAI,CAAC,EAAE,EAAE;gBACP;;AAGF,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,YAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxE,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;AACzD,YAAA,IAAI,eAAe,GAAG,kBAAkB,GAAG,WAAW;YACtD,eAAe,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC;YAClG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE;gBAC5D,QAAQ,EAAE,MAAK;AACb,oBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,oBAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;;AAE9B,aAAA,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;;AAGpC,QAAA,WAAW,CAAC,OAAsB,EAAA;YAChC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO;YAC7D,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,YAAY,GAAG;AAClB,oBAAA,YAAY,EAAE,CAAA,aAAA,EAAgB,IAAI,CAAC,WAAW,CAAK,GAAA;iBACpD;;YAEH,IAAI,WAAW,EAAE;AACf,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW;gBAClC,IAAI,CAAC,SAAS,GAAG,OAAO,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAc,SAAS,CAAE,GAAG,SAAS;gBAC5G,IAAI,CAAC,mBAAmB,EAAE;;YAE5B,IAAI,eAAe,EAAE;gBACnB,IAAI,CAAC,SAAS,EAAE;;;2GAvMT,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;+FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAKR,gBAAgB,CAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAEhB,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAIhB,eAAe,CAIf,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,+BAA+B,CAI/B,EAAA,cAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,+BAA+B,CA9CzC,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,KAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBT,EAxBS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,mJAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;;2FA4B9B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAhC7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC;AAC1C,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;AAuBT,EAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC;AAC1C,iBAAA;iMAI8C,GAAG,EAAA,CAAA;sBAA/C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gBAEK,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAItC,gBAAgB,EAAA,CAAA;sBAFf,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAMtC,QAAQ,EAAA,CAAA;sBAFP,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAMrC,WAAW,EAAA,CAAA;sBAFV,KAAK;uBAAC,EAAE,SAAS,EAAE,+BAA+B,EAAE;gBAMrD,cAAc,EAAA,CAAA;sBAFb,KAAK;uBAAC,EAAE,SAAS,EAAE,+BAA+B,EAAE;gBAI5C,WAAW,EAAA,CAAA;sBAAnB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAEkB,OAAO,EAAA,CAAA;sBAAzB;gBACkB,QAAQ,EAAA,CAAA;sBAA1B;gBACkB,QAAQ,EAAA,CAAA;sBAA1B;;;MCvDU,qBAAqB,CAAA;AAsBvB,IAAA,UAAA;AACC,IAAA,UAAA;AACA,IAAA,QAAA;AACA,IAAA,QAAA;IAxBD,MAAM,GAAG,GAAG;AACZ,IAAA,QAAQ;IAEjB,QAAQ,GAAkB,EAAE;AAC5B,IAAA,QAAQ;IACR,WAAW,GAAsB,UAAU;IAE3C,IACI,OAAO,CAAC,KAAiC,EAAA;AAC3C,QAAA,IAAI,KAAK,YAAY,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;aAChB;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;;AAIsB,IAAA,UAAU;AACjC,IAAA,SAAS;AAEjC,IAAA,WAAA,CACS,UAAsB,EACrB,UAA6B,EAC7B,QAAkB,EAClB,QAAmB,EAAA;QAHpB,IAAU,CAAA,UAAA,GAAV,UAAU;QACT,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAQ,CAAA,QAAA,GAAR,QAAQ;;IAGlB,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;;IAGhD,mBAAmB,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa;;IAGrC,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,wBAAwB,CAAC;;IAGjF,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,wBAAwB,CAAC;;AAGpF,IAAA,SAAS,CAAC,CAAQ,EAAA;QAChB,CAAC,CAAC,cAAc,EAAE;QAClB,CAAC,CAAC,eAAe,EAAE;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC;;;IAIxC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC;;uGAtD3B,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAzBtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAnBS,gBAAgB,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,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FA0Bf,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBA9BjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,mBAAmB,EAAE,KAAK;oBAC1B,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC3B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;2JAEU,MAAM,EAAA,CAAA;sBAAd;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAOG,OAAO,EAAA,CAAA;sBADV;gBAU8C,UAAU,EAAA,CAAA;sBAAxD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gBACrB,SAAS,EAAA,CAAA;sBAAhC,SAAS;uBAAC,WAAW;;;AC1ExB;;;AAGG;MAWU,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAFf,iBAAiB,EAAE,qBAAqB,CADxC,EAAA,OAAA,EAAA,CAAA,iBAAiB,EAAE,qBAAqB,CAAA,EAAA,CAAA;AAGvC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAFf,iBAAiB,CAAA,EAAA,CAAA;;2FAEhB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;AACnD,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,qBAAqB;AACnD,iBAAA;;;ACbD;;;AAGG;;ACHH;;AAEG;;;;"}