UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

1 lines 22.6 kB
{"version":3,"file":"ng-zorro-antd-mobile-drawer.mjs","sources":["../../components/drawer/drawer.component.ts","../../components/drawer/drawer.component.html","../../components/drawer/drawer.module.ts","../../components/drawer/ng-zorro-antd-mobile-drawer.ts"],"sourcesContent":["import {\n Component,\n ViewEncapsulation,\n Input,\n HostBinding,\n Output,\n EventEmitter,\n ElementRef,\n OnChanges,\n AfterViewChecked\n} from '@angular/core';\n\n@Component({\n selector: 'Drawer, nzm-drawer',\n templateUrl: './drawer.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class DrawerComponent implements AfterViewChecked, OnChanges {\n prefixCls: string = 'am-drawer';\n sidebarStyleFinal: { [k: string]: any } = {};\n contentStyleFinal: { [k: string]: any } = {};\n overlayStyleFinal: { [k: string]: any } = {};\n sidebarWidth: number = 0;\n sidebarHeight: number = 0;\n sidebarTop: number = 0;\n dragHandleTop: number = 0;\n touchIdentifier: number = null;\n touchStartX: number = null;\n touchStartY: number = null;\n touchCurrentX: number = null;\n touchCurrentY: number = null;\n touchSupported: boolean = typeof window === 'object' && 'ontouchstart' in window;\n\n private _docked: boolean = false;\n private _open: boolean = false;\n private _position: string = 'left';\n\n @Input()\n sidebar: any;\n @Input()\n sidebarStyle: { [k: string]: any } = {};\n @Input()\n contentStyle: { [k: string]: any } = {};\n @Input()\n overlayStyle: { [k: string]: any } = {};\n @Input()\n dragHandleStyle: { [k: string]: any } = {};\n @Input()\n transitions: boolean = true;\n @Input()\n touch: boolean = true;\n @Input()\n enableDragHandle: boolean = false;\n @Input()\n dragToggleDistance: number = 30;\n @Input()\n get docked() {\n return this._docked;\n }\n set docked(v) {\n this._docked = v;\n this.dockedCls = v;\n }\n @Input()\n get open() {\n return this._open;\n }\n set open(v) {\n this._open = v;\n this.openCls = v;\n }\n @Input()\n set position(v) {\n this._position = v;\n this.right = false;\n this.left = false;\n this.top = false;\n this.bottom = false;\n switch (v) {\n case 'right':\n this.right = true;\n break;\n case 'left':\n this.left = true;\n break;\n case 'top':\n this.top = true;\n break;\n case 'bottom':\n this.bottom = true;\n break;\n }\n }\n @Output()\n onOpenChange: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding('class.am-drawer')\n am: boolean = true;\n @HostBinding('class.am-drawer-left')\n left: boolean = this._position === 'left';\n @HostBinding('class.am-drawer-right')\n right: boolean = this._position === 'right';\n @HostBinding('class.am-drawer-top')\n top: boolean = this._position == 'top';\n @HostBinding('class.am-drawer-bottom')\n bottom: boolean = this._position == 'bottom';\n @HostBinding('class.am-drawer-docked')\n dockedCls: boolean = this._docked;\n @HostBinding('class.am-drawer-open')\n openCls: boolean = this._open;\n\n constructor(private _el: ElementRef) {}\n\n onOverlayClicked() {\n if (this._open) {\n this.onOpenChange.emit(true);\n }\n }\n\n isTouching() {\n return this.touchIdentifier !== null;\n }\n\n onTouchStart(event) {\n const touch = event.changedTouches[0];\n this.touchIdentifier = touch.identifier;\n this.touchStartX = touch.clientX;\n this.touchStartY = touch.clientY;\n this.touchCurrentX = touch.clientX;\n this.touchCurrentY = touch.clientY;\n }\n\n onTouchMove(ev) {\n for (let ind = 0; ind < ev.changedTouches.length; ind++) {\n if (ev.changedTouches[ind].identifier === this.touchIdentifier) {\n this.touchCurrentX = ev.changedTouches[ind].clientX;\n this.touchCurrentY = ev.changedTouches[ind].clientY;\n break;\n }\n }\n this.update();\n }\n\n onTouchEnd() {\n const touchWidth = this.touchSidebarWidth();\n if (!this._open && touchWidth > this.dragToggleDistance) {\n this.onOpenChange.emit(!this._open);\n }\n\n const touchHeight = this.touchSidebarHeight();\n if (!this._open && touchHeight > this.dragToggleDistance) {\n this.onOpenChange.emit(!this._open);\n }\n this.touchIdentifier = null;\n this.touchStartX = null;\n this.touchStartY = null;\n this.touchCurrentX = null;\n this.touchCurrentY = null;\n this.update();\n }\n\n saveSidebarSize() {\n const sidebar = this._el.nativeElement.querySelector('#sidebar');\n const dragHandle = this._el.nativeElement.querySelector('#dragHandle');\n\n const width = sidebar.offsetWidth;\n const height = sidebar.offsetHeight;\n const sidebarTop = this.getOffset(sidebar).top;\n const dragHandleTop = this.getOffset(dragHandle).top;\n\n if (width !== this.sidebarWidth) {\n this.sidebarWidth = width;\n }\n if (height !== this.sidebarHeight) {\n this.sidebarHeight = height;\n }\n if (sidebarTop !== this.sidebarTop) {\n this.sidebarTop = sidebarTop;\n }\n if (dragHandleTop !== this.dragHandleTop) {\n this.dragHandleTop = dragHandleTop;\n }\n }\n\n touchSidebarWidth() {\n if (this._position === 'right') {\n return Math.min(window.innerWidth - this.touchCurrentX, this.sidebarWidth);\n }\n\n if (this._position === 'left') {\n return Math.min(this.touchCurrentX, this.sidebarWidth);\n }\n }\n\n touchSidebarHeight() {\n if (this._position === 'bottom') {\n return Math.min(\n this._el.nativeElement.offsetHeight - this.touchCurrentY + this._el.nativeElement.offsetTop,\n this.sidebarHeight\n );\n }\n\n if (this._position === 'top') {\n return Math.min(this.touchCurrentY - this.dragHandleTop, this.sidebarHeight);\n }\n }\n\n renderStyle({ sidebarStyle, isTouching, overlayStyle, contentStyle }) {\n if (this._position === 'right' || this._position === 'left') {\n sidebarStyle.transform = `translateX(0%)`;\n sidebarStyle.WebkitTransform = `translateX(0%)`;\n if (isTouching) {\n const percentage = this.touchSidebarWidth() / this.sidebarWidth;\n // slide open to what we dragged\n if (this._position === 'right') {\n sidebarStyle.transform = `translateX(${(1 - percentage) * 100}%)`;\n sidebarStyle.WebkitTransform = `translateX(${(1 - percentage) * 100}%)`;\n }\n if (this._position === 'left') {\n sidebarStyle.transform = `translateX(-${(1 - percentage) * 100}%)`;\n sidebarStyle.WebkitTransform = `translateX(-${(1 - percentage) * 100}%)`;\n }\n overlayStyle.opacity = percentage;\n overlayStyle.visibility = 'visible';\n }\n if (contentStyle) {\n contentStyle[this._position] = `${this.sidebarWidth}px`;\n }\n }\n if (this._position === 'top' || this._position === 'bottom') {\n sidebarStyle.transform = `translateY(0%)`;\n sidebarStyle.WebkitTransform = `translateY(0%)`;\n if (isTouching) {\n const percentage = this.touchSidebarHeight() / this.sidebarHeight;\n if (this._position === 'bottom') {\n sidebarStyle.transform = `translateY(${(1 - percentage) * 100}%)`;\n sidebarStyle.WebkitTransform = `translateY(${(1 - percentage) * 100}%)`;\n }\n if (this._position === 'top') {\n sidebarStyle.transform = `translateY(-${(1 - percentage) * 100}%)`;\n sidebarStyle.WebkitTransform = `translateY(-${(1 - percentage) * 100}%)`;\n }\n overlayStyle.opacity = percentage;\n overlayStyle.visibility = 'visible';\n }\n if (contentStyle) {\n contentStyle[this._position] = `${this.sidebarHeight}px`;\n }\n }\n }\n\n update() {\n const sidebarStyle = { ...this.sidebarStyle };\n const contentStyle = { ...this.contentStyle };\n const overlayStyle = { ...this.overlayStyle };\n\n if (this.isTouching()) {\n this.renderStyle({\n sidebarStyle: sidebarStyle,\n isTouching: true,\n contentStyle: undefined,\n overlayStyle: overlayStyle\n });\n } else if (this._docked) {\n this.dockedCls = true;\n this.renderStyle({\n sidebarStyle: sidebarStyle,\n isTouching: undefined,\n contentStyle: contentStyle,\n overlayStyle: undefined\n });\n } else if (this._open) {\n this.openCls = true;\n this.renderStyle({\n sidebarStyle: sidebarStyle,\n isTouching: undefined,\n contentStyle: undefined,\n overlayStyle: undefined\n });\n overlayStyle.opacity = 1;\n overlayStyle.visibility = 'visible';\n }\n\n if (this.isTouching() || !this.transitions) {\n sidebarStyle.transition = 'none';\n sidebarStyle.WebkitTransition = 'none';\n contentStyle.transition = 'none';\n overlayStyle.transition = 'none';\n }\n this.sidebarStyleFinal = sidebarStyle;\n this.contentStyleFinal = contentStyle;\n this.overlayStyleFinal = overlayStyle;\n }\n\n getOffset(ele) {\n let el = ele;\n let _x = 0;\n let _y = 0;\n while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {\n _x += el.offsetLeft - el.scrollLeft;\n _y += el.offsetTop - el.scrollTop;\n el = el.offsetParent;\n }\n return { top: _y, left: _x };\n }\n\n ngAfterViewChecked() {\n if (!this.isTouching()) {\n this.saveSidebarSize();\n }\n }\n\n ngOnChanges() {\n this.update();\n }\n}\n","<div class=\"am-drawer-sidebar\" [ngStyle]=\"sidebarStyleFinal\" id=\"sidebar\">\n <ng-template [ngTemplateOutlet]=\"sidebar\"></ng-template>\n</div>\n<div\n role=\"presentation\"\n class=\"{{ prefixCls }}-overlay\"\n ref=\"overlay\"\n [ngStyle]=\"overlayStyleFinal\"\n (click)=\"onOverlayClicked()\"\n></div>\n<div class=\"{{ prefixCls }}-content\" [ngStyle]=\"contentStyleFinal\" ref=\"content\">\n <div\n *ngIf=\"touch && touchSupported && !open && !docked && enableDragHandle\"\n id=\"dragHandle\"\n class=\"{{ prefixCls }}-draghandle\"\n [ngStyle]=\"dragHandleStyle\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd()\"\n (touchcancle)=\"onTouchEnd()\"\n ></div>\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DrawerComponent } from './drawer.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [DrawerComponent],\n exports: [DrawerComponent]\n})\nexport class DrawerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAiBa,eAAe,CAAA;AAsC1B,IAAA,IACI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IACD,IAAI,MAAM,CAAC,CAAC,EAAA;AACV,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AACjB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;KACpB;AACD,IAAA,IACI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IACD,IAAI,IAAI,CAAC,CAAC,EAAA;AACR,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;KAClB;IACD,IACI,QAAQ,CAAC,CAAC,EAAA;AACZ,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,QAAQ,CAAC;AACP,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,MAAM;AACR,YAAA,KAAK,KAAK;AACR,gBAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;gBAChB,MAAM;AACR,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,MAAM;AACT,SAAA;KACF;AAmBD,IAAA,WAAA,CAAoB,GAAe,EAAA;QAAf,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;QA7FnC,IAAS,CAAA,SAAA,GAAW,WAAW,CAAC;QAChC,IAAiB,CAAA,iBAAA,GAAyB,EAAE,CAAC;QAC7C,IAAiB,CAAA,iBAAA,GAAyB,EAAE,CAAC;QAC7C,IAAiB,CAAA,iBAAA,GAAyB,EAAE,CAAC;QAC7C,IAAY,CAAA,YAAA,GAAW,CAAC,CAAC;QACzB,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;QAC1B,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;QACvB,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;QAC1B,IAAe,CAAA,eAAA,GAAW,IAAI,CAAC;QAC/B,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;QAC3B,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;QAC3B,IAAa,CAAA,aAAA,GAAW,IAAI,CAAC;QAC7B,IAAa,CAAA,aAAA,GAAW,IAAI,CAAC;QAC7B,IAAc,CAAA,cAAA,GAAY,OAAO,MAAM,KAAK,QAAQ,IAAI,cAAc,IAAI,MAAM,CAAC;QAEzE,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;QACzB,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;QACvB,IAAS,CAAA,SAAA,GAAW,MAAM,CAAC;QAKnC,IAAY,CAAA,YAAA,GAAyB,EAAE,CAAC;QAExC,IAAY,CAAA,YAAA,GAAyB,EAAE,CAAC;QAExC,IAAY,CAAA,YAAA,GAAyB,EAAE,CAAC;QAExC,IAAe,CAAA,eAAA,GAAyB,EAAE,CAAC;QAE3C,IAAW,CAAA,WAAA,GAAY,IAAI,CAAC;QAE5B,IAAK,CAAA,KAAA,GAAY,IAAI,CAAC;QAEtB,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;QAElC,IAAkB,CAAA,kBAAA,GAAW,EAAE,CAAC;AAwChC,QAAA,IAAA,CAAA,YAAY,GAAsB,IAAI,YAAY,EAAO,CAAC;QAG1D,IAAE,CAAA,EAAA,GAAY,IAAI,CAAC;AAEnB,QAAA,IAAA,CAAA,IAAI,GAAY,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC;AAE1C,QAAA,IAAA,CAAA,KAAK,GAAY,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;AAE5C,QAAA,IAAA,CAAA,GAAG,GAAY,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;AAEvC,QAAA,IAAA,CAAA,MAAM,GAAY,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;AAE7C,QAAA,IAAA,CAAA,SAAS,GAAY,IAAI,CAAC,OAAO,CAAC;AAElC,QAAA,IAAA,CAAA,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC;KAES;IAEvC,gBAAgB,GAAA;QACd,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,SAAA;KACF;IAED,UAAU,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;KACtC;AAED,IAAA,YAAY,CAAC,KAAK,EAAA;QAChB,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC;AACxC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;AACnC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;KACpC;AAED,IAAA,WAAW,CAAC,EAAE,EAAA;AACZ,QAAA,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;AACvD,YAAA,IAAI,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,eAAe,EAAE;gBAC9D,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gBACpD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gBACpD,MAAM;AACP,aAAA;AACF,SAAA;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,UAAU,GAAA;AACR,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE;YACvD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,SAAA;AAED,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE;YACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,eAAe,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AACjE,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AAEvE,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;AAClC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC;AAErD,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE;AAC/B,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,SAAA;AACD,QAAA,IAAI,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE;AACjC,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AAC7B,SAAA;AACD,QAAA,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;AAClC,YAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC9B,SAAA;AACD,QAAA,IAAI,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE;AACxC,YAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACpC,SAAA;KACF;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;AAC9B,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5E,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;AAC7B,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACxD,SAAA;KACF;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AAC/B,YAAA,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAC3F,IAAI,CAAC,aAAa,CACnB,CAAC;AACH,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9E,SAAA;KACF;IAED,WAAW,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,EAAA;QAClE,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;AAC3D,YAAA,YAAY,CAAC,SAAS,GAAG,CAAA,cAAA,CAAgB,CAAC;AAC1C,YAAA,YAAY,CAAC,eAAe,GAAG,CAAA,cAAA,CAAgB,CAAC;AAChD,YAAA,IAAI,UAAU,EAAE;gBACd,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;;AAEhE,gBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;AAC9B,oBAAA,YAAY,CAAC,SAAS,GAAG,CAAA,WAAA,EAAc,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,CAAA,EAAA,CAAI,CAAC;AAClE,oBAAA,YAAY,CAAC,eAAe,GAAG,CAAA,WAAA,EAAc,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,CAAA,EAAA,CAAI,CAAC;AACzE,iBAAA;AACD,gBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;AAC7B,oBAAA,YAAY,CAAC,SAAS,GAAG,CAAA,YAAA,EAAe,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,CAAA,EAAA,CAAI,CAAC;AACnE,oBAAA,YAAY,CAAC,eAAe,GAAG,CAAA,YAAA,EAAe,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,CAAA,EAAA,CAAI,CAAC;AAC1E,iBAAA;AACD,gBAAA,YAAY,CAAC,OAAO,GAAG,UAAU,CAAC;AAClC,gBAAA,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC;AACrC,aAAA;AACD,YAAA,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC,YAAY,CAAA,EAAA,CAAI,CAAC;AACzD,aAAA;AACF,SAAA;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AAC3D,YAAA,YAAY,CAAC,SAAS,GAAG,CAAA,cAAA,CAAgB,CAAC;AAC1C,YAAA,YAAY,CAAC,eAAe,GAAG,CAAA,cAAA,CAAgB,CAAC;AAChD,YAAA,IAAI,UAAU,EAAE;gBACd,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAClE,gBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AAC/B,oBAAA,YAAY,CAAC,SAAS,GAAG,CAAA,WAAA,EAAc,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,CAAA,EAAA,CAAI,CAAC;AAClE,oBAAA,YAAY,CAAC,eAAe,GAAG,CAAA,WAAA,EAAc,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,CAAA,EAAA,CAAI,CAAC;AACzE,iBAAA;AACD,gBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;AAC5B,oBAAA,YAAY,CAAC,SAAS,GAAG,CAAA,YAAA,EAAe,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,CAAA,EAAA,CAAI,CAAC;AACnE,oBAAA,YAAY,CAAC,eAAe,GAAG,CAAA,YAAA,EAAe,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,CAAA,EAAA,CAAI,CAAC;AAC1E,iBAAA;AACD,gBAAA,YAAY,CAAC,OAAO,GAAG,UAAU,CAAC;AAClC,gBAAA,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC;AACrC,aAAA;AACD,YAAA,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,EAAA,CAAI,CAAC;AAC1D,aAAA;AACF,SAAA;KACF;IAED,MAAM,GAAA;QACJ,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;AAE9C,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC;AACf,gBAAA,YAAY,EAAE,YAAY;AAC1B,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,YAAY,EAAE,YAAY;AAC3B,aAAA,CAAC,CAAC;AACJ,SAAA;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC;AACf,gBAAA,YAAY,EAAE,YAAY;AAC1B,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,YAAY,EAAE,YAAY;AAC1B,gBAAA,YAAY,EAAE,SAAS;AACxB,aAAA,CAAC,CAAC;AACJ,SAAA;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE;AACrB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC;AACf,gBAAA,YAAY,EAAE,YAAY;AAC1B,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,YAAY,EAAE,SAAS;AACxB,aAAA,CAAC,CAAC;AACH,YAAA,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;AACzB,YAAA,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC;AACrC,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AAC1C,YAAA,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;AACjC,YAAA,YAAY,CAAC,gBAAgB,GAAG,MAAM,CAAC;AACvC,YAAA,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;AACjC,YAAA,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;AAClC,SAAA;AACD,QAAA,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;AACtC,QAAA,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;AACtC,QAAA,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;KACvC;AAED,IAAA,SAAS,CAAC,GAAG,EAAA;QACX,IAAI,EAAE,GAAG,GAAG,CAAC;QACb,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,CAAC,CAAC;AACX,QAAA,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;YAC1D,EAAE,IAAI,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;YACpC,EAAE,IAAI,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;AAClC,YAAA,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;AACtB,SAAA;QACD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC9B;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;8GAzSU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,8uBCjB5B,4xBAuBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDNa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,oBAAoB,EAAA,aAAA,EAEf,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4xBAAA,EAAA,CAAA;+EAuBrC,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAGN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAGN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAGN,eAAe,EAAA,CAAA;sBADd,KAAK;gBAGN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAGN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAGN,gBAAgB,EAAA,CAAA;sBADf,KAAK;gBAGN,kBAAkB,EAAA,CAAA;sBADjB,KAAK;gBAGF,MAAM,EAAA,CAAA;sBADT,KAAK;gBASF,IAAI,EAAA,CAAA;sBADP,KAAK;gBASF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAuBN,YAAY,EAAA,CAAA;sBADX,MAAM;gBAIP,EAAE,EAAA,CAAA;sBADD,WAAW;uBAAC,iBAAiB,CAAA;gBAG9B,IAAI,EAAA,CAAA;sBADH,WAAW;uBAAC,sBAAsB,CAAA;gBAGnC,KAAK,EAAA,CAAA;sBADJ,WAAW;uBAAC,uBAAuB,CAAA;gBAGpC,GAAG,EAAA,CAAA;sBADF,WAAW;uBAAC,qBAAqB,CAAA;gBAGlC,MAAM,EAAA,CAAA;sBADL,WAAW;uBAAC,wBAAwB,CAAA;gBAGrC,SAAS,EAAA,CAAA;sBADR,WAAW;uBAAC,wBAAwB,CAAA;gBAGrC,OAAO,EAAA,CAAA;sBADN,WAAW;uBAAC,sBAAsB,CAAA;;;MEnGxB,YAAY,CAAA;8GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAHR,YAAA,EAAA,CAAA,eAAe,CADpB,EAAA,OAAA,EAAA,CAAA,YAAY,aAEZ,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAEd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAJb,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,YAAY,EAAE,CAAC,eAAe,CAAC;oBAC/B,OAAO,EAAE,CAAC,eAAe,CAAC;AAC3B,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}