{"version":3,"file":"primeng-fieldset.mjs","sources":["../../src/fieldset/style/fieldsetstyle.ts","../../src/fieldset/fieldset.ts","../../src/fieldset/primeng-fieldset.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-fieldset {\n    background: ${dt('fieldset.background')};\n    border: 1px solid ${dt('fieldset.border.color')};\n    border-radius: ${dt('fieldset.border.radius')};\n    color: ${dt('fieldset.color')};\n    padding:  ${dt('fieldset.padding')};\n    margin: 0;\n}\n\n.p-fieldset-legend {\n    background: ${dt('fieldset.legend.background')};\n    border-radius: ${dt('fieldset.legend.border.radius')};\n    border-width: ${dt('fieldset.legend.border.width')};\n    border-style: solid;\n    border-color: ${dt('fieldset.legend.border.color')};\n    padding: ${dt('fieldset.legend.padding')};\n    transition: background ${dt('fieldset.transition.duration')}, color ${dt('fieldset.transition.duration')}, outline-color ${dt('fieldset.transition.duration')}, box-shadow ${dt('fieldset.transition.duration')};\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend {\n    padding: 0;\n}\n\n.p-fieldset-toggle-button {\n    cursor: pointer;\n    user-select: none;\n    overflow: hidden;\n    position: relative;\n    text-decoration: none;\n    display: flex;\n    gap: ${dt('fieldset.legend.gap')};\n    align-items: center;\n    justify-content: center;\n    padding: ${dt('fieldset.legend.padding')};\n    background: transparent;\n    border: 0 none;\n    border-radius: ${dt('fieldset.legend.border.radius')};\n    transition: background ${dt('fieldset.transition.duration')}, color ${dt('fieldset.transition.duration')}, outline-color ${dt('fieldset.transition.duration')}, box-shadow ${dt('fieldset.transition.duration')};\n    outline-color: transparent;\n}\n\n.p-fieldset-legend-label {\n    font-weight: ${dt('fieldset.legend.font.weight')};\n}\n\n.p-fieldset-toggle-button:focus-visible {\n    box-shadow: ${dt('fieldset.legend.focus.ring.shadow')};\n    outline: ${dt('fieldset.legend.focus.ring.width')} ${dt('fieldset.legend.focus.ring.style')} ${dt('fieldset.legend.focus.ring.color')};\n    outline-offset: ${dt('fieldset.legend.focus.ring.offset')};\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend:hover {\n    color: ${dt('fieldset.legend.hover.color')};\n    background: ${dt('fieldset.legend.hover.background')};\n}\n\n.p-fieldset-toggle-icon {\n    color: ${dt('fieldset.toggle.icon.color')};\n    transition: color ${dt('fieldset.transition.duration')};\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend:hover .p-fieldset-toggle-icon {\n    color: ${dt('fieldset.toggle.icon.hover.color')};\n}\n\n.p-fieldset .p-fieldset-content {\n    padding: ${dt('fieldset.content.padding')};\n}\n\n/* For PrimeNG */\n.p-fieldset-toggleable.p-fieldset-expanded > .p-fieldset-content-container:not(.ng-animating) {\n    overflow: visible\n}\n\n.p-fieldset-toggleable .p-fieldset-content-container {\n    overflow: hidden;\n}\n`;\n\nconst classes = {\n    root: ({ props }) => [\n        'p-fieldset p-component',\n        {\n            'p-fieldset-toggleable': props.toggleable\n        }\n    ],\n    legend: 'p-fieldset-legend',\n    legendLabel: 'p-fieldset-legend-label',\n    toggleButton: 'p-fieldset-toggle-button',\n    toggleIcon: 'p-fieldset-toggle-icon',\n    contentContainer: 'p-fieldset-content-container',\n    content: 'p-fieldset-content'\n};\n\n@Injectable()\nexport class FieldsetStyle extends BaseStyle {\n    name = 'fieldset';\n\n    theme = theme;\n\n    classes = classes;\n}\n\n/**\n *\n * Fieldset is a grouping component with the optional content toggle feature.\n *\n * [Live Demo](https://www.primeng.org/fieldset/)\n *\n * @module fieldsetstyle\n *\n */\nexport enum FieldsetClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-fieldset',\n    /**\n     * Class name of the legend element\n     */\n    legend = 'p-fieldset-legend',\n    /**\n     * Class name of the legend label element\n     */\n    legendLabel = 'p-fieldset-legend-label',\n    /**\n     * Class name of the toggle icon element\n     */\n    toggleIcon = 'p-fieldset-toggle-icon',\n    /**\n     * Class name of the content container element\n     */\n    contentContainer = 'p-fieldset-content-container',\n    /**\n     * Class name of the content element\n     */\n    content = 'p-fieldset-content'\n}\n\nexport interface FieldsetStyle extends BaseStyle {}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, inject, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BlockableUI, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ButtonModule } from 'primeng/button';\nimport { MinusIcon, PlusIcon } from 'primeng/icons';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { FieldsetAfterToggleEvent, FieldsetBeforeToggleEvent } from './fieldset.interface';\nimport { FieldsetStyle } from './style/fieldsetstyle';\n\n/**\n * Fieldset is a grouping component with the optional content toggle feature.\n * @group Components\n */\n@Component({\n    selector: 'p-fieldset',\n    standalone: true,\n    imports: [CommonModule, ButtonModule, MinusIcon, PlusIcon, SharedModule],\n    template: `\n        <fieldset\n            [attr.id]=\"id\"\n            [ngClass]=\"{\n                'p-fieldset p-component': true,\n                'p-fieldset-toggleable': toggleable,\n                'p-fieldset-expanded': !collapsed && toggleable\n            }\"\n            [ngStyle]=\"style\"\n            [class]=\"styleClass\"\n            [attr.data-pc-name]=\"'fieldset'\"\n            [attr.data-pc-section]=\"'root'\"\n        >\n            <legend class=\"p-fieldset-legend\" [attr.data-pc-section]=\"'legend'\">\n                <ng-container *ngIf=\"toggleable; else legendContent\">\n                    <button\n                        [attr.id]=\"id + '_header'\"\n                        tabindex=\"0\"\n                        role=\"button\"\n                        [attr.aria-controls]=\"id + '_content'\"\n                        [attr.aria-expanded]=\"!collapsed\"\n                        [attr.aria-label]=\"buttonAriaLabel\"\n                        (click)=\"toggle($event)\"\n                        (keydown)=\"onKeyDown($event)\"\n                        class=\"p-fieldset-toggle-button\"\n                    >\n                        <ng-container *ngIf=\"collapsed\">\n                            <PlusIcon *ngIf=\"!expandIconTemplate && !_expandIconTemplate\" [styleClass]=\"'p-fieldset-toggler'\" [attr.data-pc-section]=\"'togglericon'\" />\n                            <span *ngIf=\"expandIconTemplate || _expandIconTemplate\" class=\"p-fieldset-toggler\" [attr.data-pc-section]=\"'togglericon'\">\n                                <ng-container *ngTemplateOutlet=\"expandIconTemplate || _expandIconTemplate\"></ng-container>\n                            </span>\n                        </ng-container>\n                        <ng-container *ngIf=\"!collapsed\">\n                            <MinusIcon *ngIf=\"!collapseIconTemplate && !_collapseIconTemplate\" [styleClass]=\"'p-fieldset-toggler'\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'togglericon'\" />\n                            <span *ngIf=\"collapseIconTemplate || _collapseIconTemplate\" class=\"p-fieldset-toggler\" [attr.data-pc-section]=\"'togglericon'\">\n                                <ng-container *ngTemplateOutlet=\"collapseIconTemplate || _collapseIconTemplate\"></ng-container>\n                            </span>\n                        </ng-container>\n                        <ng-container *ngTemplateOutlet=\"legendContent\"></ng-container>\n                    </button>\n                </ng-container>\n                <ng-template #legendContent>\n                    <span class=\"p-fieldset-legend-label\" [attr.data-pc-section]=\"'legendtitle'\">{{ legend }}</span>\n                    <ng-content select=\"p-header\"></ng-content>\n                    <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate\"></ng-container>\n                </ng-template>\n            </legend>\n            <div\n                [attr.id]=\"id + '_content'\"\n                role=\"region\"\n                class=\"p-fieldset-content-container\"\n                [@fieldsetContent]=\"collapsed ? { value: 'hidden', params: { transitionParams: transitionOptions, height: '0' } } : { value: 'visible', params: { transitionParams: animating ? transitionOptions : '0ms', height: '*' } }\"\n                [attr.aria-labelledby]=\"id + '_header'\"\n                [attr.aria-hidden]=\"collapsed\"\n                [attr.data-pc-section]=\"'toggleablecontent'\"\n                (@fieldsetContent.done)=\"onToggleDone()\"\n            >\n                <div class=\"p-fieldset-content\" [attr.data-pc-section]=\"'content'\">\n                    <ng-content></ng-content>\n                    <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate\"></ng-container>\n                </div>\n            </div>\n        </fieldset>\n    `,\n    animations: [\n        trigger('fieldsetContent', [\n            state(\n                'hidden',\n                style({\n                    height: '0'\n                })\n            ),\n            state(\n                'visible',\n                style({\n                    height: '*'\n                })\n            ),\n            transition('visible <=> hidden', [animate('{{transitionParams}}')]),\n            transition('void => *', animate(0))\n        ])\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [FieldsetStyle]\n})\nexport class Fieldset extends BaseComponent implements AfterContentInit, BlockableUI {\n    /**\n     * Header text of the fieldset.\n     * @group Props\n     */\n    @Input() legend: string | undefined;\n    /**\n     * When specified, content can toggled by clicking the legend.\n     * @group Props\n     * @defaultValue false\n     */\n    @Input({ transform: booleanAttribute }) toggleable: boolean | undefined;\n    /**\n     * Defines the default visibility state of the content.\n     * * @group Props\n     */\n    @Input({ transform: booleanAttribute }) collapsed: boolean | undefined = false;\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Transition options of the panel animation.\n     * @group Props\n     */\n    @Input() transitionOptions: string = '400ms cubic-bezier(0.86, 0, 0.07, 1)';\n    /**\n     * Emits when the collapsed state changes.\n     * @param {boolean} value - New value.\n     * @group Emits\n     */\n    @Output() collapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n    /**\n     * Callback to invoke before panel toggle.\n     * @param {PanelBeforeToggleEvent} event - Custom toggle event\n     * @group Emits\n     */\n    @Output() onBeforeToggle: EventEmitter<FieldsetBeforeToggleEvent> = new EventEmitter<FieldsetBeforeToggleEvent>();\n    /**\n     * Callback to invoke after panel toggle.\n     * @param {PanelAfterToggleEvent} event - Custom toggle event\n     * @group Emits\n     */\n    @Output() onAfterToggle: EventEmitter<FieldsetAfterToggleEvent> = new EventEmitter<FieldsetAfterToggleEvent>();\n\n    get id() {\n        return uuid('pn_id_');\n    }\n\n    get buttonAriaLabel() {\n        return this.legend;\n    }\n\n    public animating: Nullable<boolean>;\n\n    _componentStyle = inject(FieldsetStyle);\n\n    /**\n     * Defines the header template.\n     * @group Templates\n     */\n    @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Defines the expandicon template.\n     * @group Templates\n     */\n    @ContentChild('expandicon', { descendants: false }) expandIconTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Defines the collapseicon template.\n     * @group Templates\n     */\n    @ContentChild('collapseicon', { descendants: false }) collapseIconTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Defines the content template.\n     * @group Templates\n     */\n    @ContentChild('content', { descendants: false }) contentTemplate: TemplateRef<any> | undefined;\n\n    toggle(event: MouseEvent) {\n        if (this.animating) {\n            return false;\n        }\n\n        this.animating = true;\n        this.onBeforeToggle.emit({ originalEvent: event, collapsed: this.collapsed });\n\n        if (this.collapsed) this.expand();\n        else this.collapse();\n\n        this.onAfterToggle.emit({ originalEvent: event, collapsed: this.collapsed });\n        event.preventDefault();\n    }\n\n    onKeyDown(event) {\n        if (event.code === 'Enter' || event.code === 'Space') {\n            this.toggle(event);\n            event.preventDefault();\n        }\n    }\n\n    expand() {\n        this.collapsed = false;\n        this.collapsedChange.emit(this.collapsed);\n    }\n\n    collapse() {\n        this.collapsed = true;\n        this.collapsedChange.emit(this.collapsed);\n    }\n\n    getBlockableElement(): HTMLElement {\n        return this.el.nativeElement.children[0];\n    }\n\n    onToggleDone() {\n        this.animating = false;\n    }\n\n    _headerTemplate: TemplateRef<any> | undefined;\n\n    _expandIconTemplate: TemplateRef<any> | undefined;\n\n    _collapseIconTemplate: TemplateRef<any> | undefined;\n\n    _contentTemplate: TemplateRef<any> | undefined;\n\n    @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n    ngAfterContentInit() {\n        this.templates.forEach((item) => {\n            switch (item.getType()) {\n                case 'header':\n                    this._headerTemplate = item.template;\n                    break;\n\n                case 'expandicon':\n                    this._expandIconTemplate = item.template;\n                    break;\n\n                case 'collapseicon':\n                    this._collapseIconTemplate = item.template;\n                    break;\n\n                case 'content':\n                    this._contentTemplate = item.template;\n                    break;\n            }\n        });\n    }\n}\n\n@NgModule({\n    imports: [Fieldset, SharedModule],\n    exports: [Fieldset, SharedModule]\n})\nexport class FieldsetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;AAGA,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK;;kBAER,EAAE,CAAC,qBAAqB,CAAC,CAAA;wBACnB,EAAE,CAAC,uBAAuB,CAAC,CAAA;qBAC9B,EAAE,CAAC,wBAAwB,CAAC,CAAA;aACpC,EAAE,CAAC,gBAAgB,CAAC,CAAA;gBACjB,EAAE,CAAC,kBAAkB,CAAC,CAAA;;;;;kBAKpB,EAAE,CAAC,4BAA4B,CAAC,CAAA;qBAC7B,EAAE,CAAC,+BAA+B,CAAC,CAAA;oBACpC,EAAE,CAAC,8BAA8B,CAAC,CAAA;;oBAElC,EAAE,CAAC,8BAA8B,CAAC,CAAA;eACvC,EAAE,CAAC,yBAAyB,CAAC,CAAA;AACf,2BAAA,EAAA,EAAE,CAAC,8BAA8B,CAAC,CAAW,QAAA,EAAA,EAAE,CAAC,8BAA8B,CAAC,CAAmB,gBAAA,EAAA,EAAE,CAAC,8BAA8B,CAAC,gBAAgB,EAAE,CAAC,8BAA8B,CAAC,CAAA;;;;;;;;;;;;;;WAcxM,EAAE,CAAC,qBAAqB,CAAC,CAAA;;;eAGrB,EAAE,CAAC,yBAAyB,CAAC,CAAA;;;qBAGvB,EAAE,CAAC,+BAA+B,CAAC,CAAA;AAC3B,2BAAA,EAAA,EAAE,CAAC,8BAA8B,CAAC,CAAW,QAAA,EAAA,EAAE,CAAC,8BAA8B,CAAC,CAAmB,gBAAA,EAAA,EAAE,CAAC,8BAA8B,CAAC,gBAAgB,EAAE,CAAC,8BAA8B,CAAC,CAAA;;;;;mBAKhM,EAAE,CAAC,6BAA6B,CAAC,CAAA;;;;kBAIlC,EAAE,CAAC,mCAAmC,CAAC,CAAA;AAC1C,aAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA,CAAA,EAAI,EAAE,CAAC,kCAAkC,CAAC,CAAI,CAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA;sBACnH,EAAE,CAAC,mCAAmC,CAAC,CAAA;;;;aAIhD,EAAE,CAAC,6BAA6B,CAAC,CAAA;kBAC5B,EAAE,CAAC,kCAAkC,CAAC,CAAA;;;;aAI3C,EAAE,CAAC,4BAA4B,CAAC,CAAA;wBACrB,EAAE,CAAC,8BAA8B,CAAC,CAAA;;;;aAI7C,EAAE,CAAC,kCAAkC,CAAC,CAAA;;;;eAIpC,EAAE,CAAC,0BAA0B,CAAC,CAAA;;;;;;;;;;;CAW5C;AAED,MAAM,OAAO,GAAG;AACZ,IAAA,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK;QACjB,wBAAwB;AACxB,QAAA;YACI,uBAAuB,EAAE,KAAK,CAAC;AAClC;AACJ,KAAA;AACD,IAAA,MAAM,EAAE,mBAAmB;AAC3B,IAAA,WAAW,EAAE,yBAAyB;AACtC,IAAA,YAAY,EAAE,0BAA0B;AACxC,IAAA,UAAU,EAAE,wBAAwB;AACpC,IAAA,gBAAgB,EAAE,8BAA8B;AAChD,IAAA,OAAO,EAAE;CACZ;AAGK,MAAO,aAAc,SAAQ,SAAS,CAAA;IACxC,IAAI,GAAG,UAAU;IAEjB,KAAK,GAAG,KAAK;IAEb,OAAO,GAAG,OAAO;AALR,IAAA,OAAA,IAAA,iBAAA,CAAA,MAAA,EAAA,IAAA,0BAAA,CAAA,CAAA,OAAA,SAAA,qBAAA,CAAA,iBAAA,EAAA,EAAA,OAAA,CAAA,0BAAA,KAAA,0BAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,aAAa,yBAAb,aAAa,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA;AAAb,IAAA,OAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,aAAa,WAAb,aAAa,CAAA,IAAA,EAAA,CAAA;;iFAAb,aAAa,EAAA,CAAA;cADzB;;AASD;;;;;;;;AAQG;IACS;AAAZ,CAAA,UAAY,eAAe,EAAA;AACvB;;AAEG;AACH,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,YAAmB;AACnB;;AAEG;AACH,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,mBAA4B;AAC5B;;AAEG;AACH,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,yBAAuC;AACvC;;AAEG;AACH,IAAA,eAAA,CAAA,YAAA,CAAA,GAAA,wBAAqC;AACrC;;AAEG;AACH,IAAA,eAAA,CAAA,kBAAA,CAAA,GAAA,8BAAiD;AACjD;;AAEG;AACH,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,oBAA8B;AAClC,CAAC,EAzBW,eAAe,KAAf,eAAe,GAyB1B,EAAA,CAAA,CAAA;;;;;;;;;;;;;;IC9F2B,EAA2I,CAAA,SAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA;;IAA7E,EAAmC,CAAA,UAAA,CAAA,YAAA,EAAA,oBAAA,CAAA;;;;IAE7F,EAA2F,CAAA,kBAAA,CAAA,CAAA,CAAA;;;IAD/F,EAA0H,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IACtH,EAA4E,CAAA,UAAA,CAAA,CAAA,EAAA,qEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA;IAChF,EAAO,CAAA,YAAA,EAAA;;;;IADY,EAA2D,CAAA,SAAA,EAAA;IAA3D,EAA2D,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,kBAAA,IAAA,MAAA,CAAA,mBAAA,CAAA;;;IAHlF,EAAgC,CAAA,uBAAA,CAAA,CAAA,CAAA;AAE5B,IADA,iGAA2I,CACjB,CAAA,EAAA,sDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;;;;IAD/G,EAAiD,CAAA,SAAA,EAAA;IAAjD,EAAiD,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,kBAAA,IAAA,CAAA,MAAA,CAAA,mBAAA,CAAA;IACrD,EAA+C,CAAA,SAAA,EAAA;IAA/C,EAA+C,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,kBAAA,IAAA,MAAA,CAAA,mBAAA,CAAA;;;IAKtD,EAA0K,CAAA,SAAA,CAAA,CAAA,EAAA,WAAA,EAAA,EAAA,CAAA;;IAAvG,EAAmC,CAAA,UAAA,CAAA,YAAA,EAAA,oBAAA,CAAA;;;;IAElG,EAA+F,CAAA,kBAAA,CAAA,CAAA,CAAA;;;IADnG,EAA8H,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAC1H,EAAgF,CAAA,UAAA,CAAA,CAAA,EAAA,qEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA;IACpF,EAAO,CAAA,YAAA,EAAA;;;;IADY,EAA+D,CAAA,SAAA,EAAA;IAA/D,EAA+D,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,oBAAA,IAAA,MAAA,CAAA,qBAAA,CAAA;;;IAHtF,EAAiC,CAAA,uBAAA,CAAA,CAAA,CAAA;AAE7B,IADA,mGAA0K,CAC5C,CAAA,EAAA,sDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;;;;IADlH,EAAqD,CAAA,SAAA,EAAA;IAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,oBAAA,IAAA,CAAA,MAAA,CAAA,qBAAA,CAAA;IAC1D,EAAmD,CAAA,SAAA,EAAA;IAAnD,EAAmD,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,oBAAA,IAAA,MAAA,CAAA,qBAAA,CAAA;;;IAI9D,EAA+D,CAAA,kBAAA,CAAA,CAAA,CAAA;;;;IAxBvE,EAAqD,CAAA,uBAAA,CAAA,CAAA,CAAA;IACjD,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA;AAFG,IADA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,wDAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAc,CAAC,CAAA,EAAA,CAAA,CAAA,SAAA,EAAA,SAAA,0DAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CACb,wBAAiB,CAAC,CAAA,EAAA,CAAA;IAG7B,EAAgC,CAAA,UAAA,CAAA,CAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAMC,CAMe,CAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA;IACpD,EAAS,CAAA,YAAA,EAAA;;;;;IAvBL,EAA0B,CAAA,SAAA,EAAA;;IAUX,EAAe,CAAA,SAAA,EAAA;IAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,SAAA,CAAA;IAMf,EAAgB,CAAA,SAAA,EAAA;IAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,SAAA,CAAA;IAMhB,EAA+B,CAAA,SAAA,EAAA;IAA/B,EAA+B,CAAA,UAAA,CAAA,kBAAA,EAAA,gBAAA,CAAA;;;IAMlD,EAAmF,CAAA,kBAAA,CAAA,CAAA,CAAA;;;IAFnF,EAA6E,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAAA,EAAY,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA;IAChG,EAA2C,CAAA,YAAA,CAAA,CAAA,EAAA,CAAA,CAAA;IAC3C,EAAoE,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;;;IAFS,EAAY,CAAA,SAAA,EAAA;IAAZ,EAAY,CAAA,iBAAA,CAAA,MAAA,CAAA,MAAA,CAAA;IAE1E,EAAmD,CAAA,SAAA,CAAA,CAAA,CAAA;IAAnD,EAAmD,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,cAAA,IAAA,MAAA,CAAA,eAAA,CAAA;;;IAelE,EAAqF,CAAA,kBAAA,CAAA,CAAA,CAAA;;AAnEzG;;;AAGG;AA2FG,MAAO,QAAS,SAAQ,aAAa,CAAA;AACvC;;;AAGG;AACM,IAAA,MAAM;AACf;;;;AAIG;AACqC,IAAA,UAAU;AAClD;;;AAGG;IACqC,SAAS,GAAwB,KAAK;AAC9E;;;AAGG;AACM,IAAA,KAAK;AACd;;;AAGG;AACM,IAAA,UAAU;AACnB;;;AAGG;IACM,iBAAiB,GAAW,sCAAsC;AAC3E;;;;AAIG;AACO,IAAA,eAAe,GAA0B,IAAI,YAAY,EAAW;AAC9E;;;;AAIG;AACO,IAAA,cAAc,GAA4C,IAAI,YAAY,EAA6B;AACjH;;;;AAIG;AACO,IAAA,aAAa,GAA2C,IAAI,YAAY,EAA4B;AAE9G,IAAA,IAAI,EAAE,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC;;AAGzB,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,MAAM;;AAGf,IAAA,SAAS;AAEhB,IAAA,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC;AAEvC;;;AAGG;AAC6C,IAAA,cAAc;AAE9D;;;AAGG;AACiD,IAAA,kBAAkB;AAEtE;;;AAGG;AACmD,IAAA,oBAAoB;AAE1E;;;AAGG;AAC8C,IAAA,eAAe;AAEhE,IAAA,MAAM,CAAC,KAAiB,EAAA;AACpB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,OAAO,KAAK;;AAGhB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAE7E,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,MAAM,EAAE;;YAC5B,IAAI,CAAC,QAAQ,EAAE;AAEpB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5E,KAAK,CAAC,cAAc,EAAE;;AAG1B,IAAA,SAAS,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AAClD,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAClB,KAAK,CAAC,cAAc,EAAE;;;IAI9B,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;QACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;;IAG7C,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;;IAG7C,mBAAmB,GAAA;QACf,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;;IAG5C,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;AAG1B,IAAA,eAAe;AAEf,IAAA,mBAAmB;AAEnB,IAAA,qBAAqB;AAErB,IAAA,gBAAgB;AAEgB,IAAA,SAAS;IAEzC,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ;oBACpC;AAEJ,gBAAA,KAAK,YAAY;AACb,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ;oBACxC;AAEJ,gBAAA,KAAK,cAAc;AACf,oBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ;oBAC1C;AAEJ,gBAAA,KAAK,SAAS;AACV,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ;oBACrC;;AAEZ,SAAC,CAAC;;AA5JG,IAAA,OAAA,IAAA,iBAAA,CAAA,MAAA,EAAA,IAAA,qBAAA,CAAA,CAAA,OAAA,SAAA,gBAAA,CAAA,iBAAA,EAAA,EAAA,OAAA,CAAA,qBAAA,KAAA,qBAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,QAAQ,yBAAR,QAAQ,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA;6DAAR,QAAQ,EAAA,SAAA,EAAA,CAAA,CAAA,YAAA,CAAA,CAAA,EAAA,cAAA,EAAA,SAAA,uBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;wCAuIA,aAAa,EAAA,CAAA,CAAA;;;;;;;;AA5HV,SAAA,EAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,gBAAgB,CAKhB,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,WAAA,EAAA,gBAAgB,CAlBzB,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA,CAAC,aAAa,CAAC,CAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,kBAAA,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,eAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,8BAAA,CAAA,EAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,UAAA,EAAA,GAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,0BAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,yBAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,iBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;AAvElB,YAZJ,mCAWC,CACuE,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA;AA4BhE,YA3BA,2EAAqD,CA2BzB,CAAA,EAAA,+BAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA;YAKhC,EAAS,CAAA,YAAA,EAAA;YACT,EASC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AADG,YAAA,EAAA,CAAA,UAAA,CAAA,uBAAA,EAAA,SAAA,+DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAyB,kBAAc,CAAC,CAAA,EAAA,CAAA;YAExC,EAAmE,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;YAC/D,EAAyB,CAAA,YAAA,CAAA,CAAA,CAAA;YACzB,EAAsE,CAAA,UAAA,CAAA,CAAA,EAAA,gCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA;YAC1E,EAAM,CAAA,YAAA,EAAA,EACJ,EACC;;;YArDP,EAAoB,CAAA,UAAA,CAAA,GAAA,CAAA,UAAA,CAAA;AADpB,YALA,uGAIE,CACe,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA;;YAKiB,EAAiC,CAAA,SAAA,EAAA;;YAChD,EAAkB,CAAA,SAAA,EAAA;AAAA,YAAlB,qCAAkB,CAAkB,UAAA,EAAA,gBAAA,CAAA;YAqCnD,EAA2N,CAAA,SAAA,CAAA,CAAA,CAAA;YAA3N,EAA2N,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,SAAA,GAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAAA,iBAAA,CAAA,CAAA,GAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAAA,SAAA,GAAA,GAAA,CAAA,iBAAA,GAAA,KAAA,CAAA,CAAA,CAAA;;YAM3L,EAAkC,CAAA,SAAA,EAAA;;YAE/C,EAAqD,CAAA,SAAA,CAAA,CAAA,CAAA;YAArD,EAAqD,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,eAAA,IAAA,GAAA,CAAA,gBAAA,CAAA;4BA5D1E,YAAY,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,OAAA,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAiE3D,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA;gBACR,OAAO,CAAC,iBAAiB,EAAE;AACvB,oBAAA,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;AACF,wBAAA,MAAM,EAAE;AACX,qBAAA,CAAC,CACL;AACD,oBAAA,KAAK,CACD,SAAS,EACT,KAAK,CAAC;AACF,wBAAA,MAAM,EAAE;AACX,qBAAA,CAAC,CACL;oBACD,UAAU,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACnE,oBAAA,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;iBACrC;AACJ,aAAA,EAAA,EAAA,eAAA,EAAA,CAAA,EAAA,CAAA;;iFAKQ,QAAQ,EAAA,CAAA;cA1FpB,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACP,gBAAA,QAAQ,EAAE,YAAY;AACtB,gBAAA,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC;AACxE,gBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DT,IAAA,CAAA;AACD,gBAAA,UAAU,EAAE;oBACR,OAAO,CAAC,iBAAiB,EAAE;AACvB,wBAAA,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;AACF,4BAAA,MAAM,EAAE;AACX,yBAAA,CAAC,CACL;AACD,wBAAA,KAAK,CACD,SAAS,EACT,KAAK,CAAC;AACF,4BAAA,MAAM,EAAE;AACX,yBAAA,CAAC,CACL;wBACD,UAAU,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACnE,wBAAA,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;qBACrC;AACJ,iBAAA;gBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;gBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,SAAS,EAAE,CAAC,aAAa;AAC5B,aAAA;gBAMY,MAAM,EAAA,CAAA;kBAAd;YAMuC,UAAU,EAAA,CAAA;kBAAjD,KAAK;mBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAKE,SAAS,EAAA,CAAA;kBAAhD,KAAK;mBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAK7B,KAAK,EAAA,CAAA;kBAAb;YAKQ,UAAU,EAAA,CAAA;kBAAlB;YAKQ,iBAAiB,EAAA,CAAA;kBAAzB;YAMS,eAAe,EAAA,CAAA;kBAAxB;YAMS,cAAc,EAAA,CAAA;kBAAvB;YAMS,aAAa,EAAA,CAAA;kBAAtB;YAkB+C,cAAc,EAAA,CAAA;kBAA7D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;YAMM,kBAAkB,EAAA,CAAA;kBAArE,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;YAMI,oBAAoB,EAAA,CAAA;kBAAzE,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;YAMH,eAAe,EAAA,CAAA;kBAA/D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;YAkDf,SAAS,EAAA,CAAA;kBAAxC,eAAe;mBAAC,aAAa;;kFAvIrB,QAAQ,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,GAAA,EAAA,CAAA,CAAA,EAAA,GAAA;MAoKR,cAAc,CAAA;wGAAd,cAAc,GAAA,CAAA,EAAA;4DAAd,cAAc,EAAA,CAAA;gEAHb,QAAQ,EAAE,YAAY,EACZ,YAAY,CAAA,EAAA,CAAA;;iFAEvB,cAAc,EAAA,CAAA;cAJ1B,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACN,gBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;AACjC,gBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY;AACnC,aAAA;;AACY,CAAA,YAAA,EAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,cAAc,cApKd,QAAQ,EAiKG,YAAY,CAjKvB,EAAA,OAAA,EAAA,CAAA,QAAQ,EAkKG,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;AC5QpC;;AAEG;;;;"}