UNPKG

ng-zorro-antd

Version:

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

1 lines 36.7 kB
{"version":3,"file":"ng-zorro-antd-transfer.mjs","sources":["../../components/transfer/transfer-search.component.ts","../../components/transfer/transfer-list.component.ts","../../components/transfer/transfer.component.ts","../../components/transfer/transfer.module.ts","../../components/transfer/public-api.ts","../../components/transfer/ng-zorro-antd-transfer.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\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n@Component({\n selector: '[nz-transfer-search]',\n exportAs: 'nzTransferSearch',\n preserveWhitespaces: false,\n template: `\n <span class=\"ant-input-prefix\">\n <i nz-icon nzType=\"search\"></i>\n </span>\n <input\n [(ngModel)]=\"value\"\n (ngModelChange)=\"_handle()\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n class=\"ant-input\"\n [ngClass]=\"{ 'ant-input-disabled': disabled }\"\n />\n <span *ngIf=\"value && value.length > 0\" class=\"ant-input-suffix\" (click)=\"_clear()\">\n <i nz-icon nzType=\"close-circle\" class=\"ant-input-clear-icon\"></i>\n </span>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NzTransferSearchComponent implements OnChanges {\n // region: fields\n\n @Input() placeholder?: string;\n @Input() value?: string;\n @Input() disabled: boolean = false;\n\n @Output() readonly valueChanged = new EventEmitter<string>();\n @Output() readonly valueClear = new EventEmitter<void>();\n\n // endregion\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n _handle(): void {\n this.valueChanged.emit(this.value);\n }\n\n _clear(): void {\n if (this.disabled) {\n return;\n }\n this.value = '';\n this.valueClear.emit();\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges();\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 {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n Output,\n QueryList,\n TemplateRef,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { fromEvent, merge, Observable } from 'rxjs';\nimport { startWith, switchMap } from 'rxjs/operators';\n\nimport { TransferDirection, TransferItem } from './interface';\n\n@Component({\n selector: 'nz-transfer-list',\n exportAs: 'nzTransferList',\n preserveWhitespaces: false,\n template: `\n <ng-template #defaultRenderList>\n <ul *ngIf=\"stat.shownCount > 0\" class=\"ant-transfer-list-content\">\n <li\n *ngFor=\"let item of validData\"\n (click)=\"onItemSelect(item)\"\n class=\"ant-transfer-list-content-item\"\n [ngClass]=\"{ 'ant-transfer-list-content-item-disabled': disabled || item.disabled }\"\n >\n <label\n #checkboxes\n nz-checkbox\n [nzChecked]=\"item.checked\"\n (nzCheckedChange)=\"onItemSelect(item)\"\n [nzDisabled]=\"disabled || item.disabled\"\n >\n <ng-container *ngIf=\"!render; else renderContainer\">{{ item.title }}</ng-container>\n <ng-template\n #renderContainer\n [ngTemplateOutlet]=\"render\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </label>\n </li>\n </ul>\n <div *ngIf=\"stat.shownCount === 0\" class=\"ant-transfer-list-body-not-found\">\n <nz-embed-empty [nzComponentName]=\"'transfer'\" [specificContent]=\"notFoundContent\"></nz-embed-empty>\n </div>\n </ng-template>\n <div class=\"ant-transfer-list-header\">\n <label\n *ngIf=\"showSelectAll\"\n class=\"ant-transfer-list-checkbox\"\n nz-checkbox\n [nzChecked]=\"stat.checkAll\"\n (nzCheckedChange)=\"onItemSelectAll($event)\"\n [nzIndeterminate]=\"stat.checkHalf\"\n [nzDisabled]=\"stat.shownCount === 0 || disabled\"\n ></label>\n <span class=\"ant-transfer-list-header-selected\">\n <span>\n {{ (stat.checkCount > 0 ? stat.checkCount + '/' : '') + stat.shownCount }}\n {{ validData.length > 1 ? itemsUnit : itemUnit }}\n </span>\n </span>\n <span *ngIf=\"titleText\" class=\"ant-transfer-list-header-title\">{{ titleText }}</span>\n </div>\n <div\n class=\"{{ showSearch ? 'ant-transfer-list-body ant-transfer-list-body-with-search' : 'ant-transfer-list-body' }}\"\n [ngClass]=\"{ 'ant-transfer__nodata': stat.shownCount === 0 }\"\n >\n <div *ngIf=\"showSearch\" class=\"ant-transfer-list-body-search-wrapper\">\n <span\n nz-transfer-search\n class=\"ant-input-affix-wrapper ant-transfer-list-search\"\n (valueChanged)=\"handleFilter($event)\"\n (valueClear)=\"handleClear()\"\n [placeholder]=\"searchPlaceholder\"\n [disabled]=\"disabled\"\n [value]=\"filter\"\n ></span>\n </div>\n <ng-container *ngIf=\"renderList; else defaultRenderList\">\n <div class=\"ant-transfer-list-body-customize-wrapper\">\n <ng-container\n *ngTemplateOutlet=\"\n renderList;\n context: {\n $implicit: validData,\n direction: direction,\n disabled: disabled,\n onItemSelectAll: onItemSelectAll,\n onItemSelect: onItemSelect,\n stat: stat\n }\n \"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"footer\" class=\"ant-transfer-list-footer\">\n <ng-template [ngTemplateOutlet]=\"footer\" [ngTemplateOutletContext]=\"{ $implicit: direction }\"></ng-template>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ant-transfer-list',\n '[class.ant-transfer-list-with-footer]': '!!footer'\n }\n})\nexport class NzTransferListComponent implements AfterViewInit {\n // #region fields\n\n @Input() direction: TransferDirection = 'left';\n @Input() titleText = '';\n @Input() showSelectAll = true;\n\n @Input() dataSource: TransferItem[] = [];\n\n @Input() itemUnit: string | undefined = '';\n @Input() itemsUnit: string | undefined = '';\n @Input() filter = '';\n @Input() disabled: boolean = false;\n @Input() showSearch?: boolean;\n @Input() searchPlaceholder?: string;\n @Input() notFoundContent?: string;\n @Input() filterOption?: (inputValue: string, item: TransferItem) => boolean;\n\n @Input() renderList: TemplateRef<void> | null = null;\n @Input() render: TemplateRef<void> | null = null;\n @Input() footer: TemplateRef<void> | null = null;\n\n // events\n @Output() readonly handleSelectAll: EventEmitter<boolean> = new EventEmitter<boolean>();\n @Output() readonly handleSelect: EventEmitter<TransferItem> = new EventEmitter();\n @Output() readonly filterChange: EventEmitter<{ direction: TransferDirection; value: string }> = new EventEmitter();\n\n @ViewChildren('checkboxes', { read: ElementRef }) checkboxes!: QueryList<ElementRef<HTMLLabelElement>>;\n\n stat = {\n checkAll: false,\n checkHalf: false,\n checkCount: 0,\n shownCount: 0\n };\n\n get validData(): TransferItem[] {\n return this.dataSource.filter(w => !w.hide);\n }\n\n onItemSelect = (item: TransferItem): void => {\n if (this.disabled || item.disabled) {\n return;\n }\n item.checked = !item.checked;\n this.updateCheckStatus();\n this.handleSelect.emit(item);\n };\n\n onItemSelectAll = (status: boolean): void => {\n this.dataSource.forEach(item => {\n if (!item.disabled && !item.hide) {\n item.checked = status;\n }\n });\n\n this.updateCheckStatus();\n this.handleSelectAll.emit(status);\n };\n\n private updateCheckStatus(): void {\n const validCount = this.dataSource.filter(w => !w.disabled).length;\n this.stat.checkCount = this.dataSource.filter(w => w.checked && !w.disabled).length;\n this.stat.shownCount = this.validData.length;\n this.stat.checkAll = validCount > 0 && validCount === this.stat.checkCount;\n this.stat.checkHalf = this.stat.checkCount > 0 && !this.stat.checkAll;\n }\n\n // #endregion\n\n // #region search\n\n handleFilter(value: string): void {\n this.filter = value;\n this.dataSource.forEach(item => {\n item.hide = value.length > 0 && !this.matchFilter(value, item);\n });\n this.stat.shownCount = this.validData.length;\n this.filterChange.emit({ direction: this.direction, value });\n }\n\n handleClear(): void {\n this.handleFilter('');\n }\n\n private matchFilter(text: string, item: TransferItem): boolean {\n if (this.filterOption) {\n return this.filterOption(text, item);\n }\n return item.title.includes(text);\n }\n\n // #endregion\n\n constructor(private ngZone: NgZone, private cdr: ChangeDetectorRef) {}\n\n markForCheck(): void {\n this.updateCheckStatus();\n this.cdr.markForCheck();\n }\n\n ngAfterViewInit(): void {\n this.checkboxes.changes\n .pipe(\n startWith(this.checkboxes),\n switchMap(() => {\n const checkboxes = this.checkboxes.toArray();\n // Caretaker note: we explicitly should call `subscribe()` within the root zone.\n // `runOutsideAngular(() => fromEvent(...))` will just create an observable within the root zone,\n // but `addEventListener` is called when the `fromEvent` is subscribed.\n return new Observable<MouseEvent>(subscriber =>\n this.ngZone.runOutsideAngular(() =>\n merge(...checkboxes.map(checkbox => fromEvent<MouseEvent>(checkbox.nativeElement, 'click'))).subscribe(\n subscriber\n )\n )\n );\n })\n )\n .subscribe(event => {\n event.stopPropagation();\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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { Observable, of, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { BooleanInput, NgStyleInterface, NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { InputBoolean, toArray } from 'ng-zorro-antd/core/util';\nimport { NzI18nService, NzTransferI18nInterface } from 'ng-zorro-antd/i18n';\n\nimport {\n TransferCanMove,\n TransferChange,\n TransferDirection,\n TransferItem,\n TransferSearchChange,\n TransferSelectChange\n} from './interface';\nimport { NzTransferListComponent } from './transfer-list.component';\n\n@Component({\n selector: 'nz-transfer',\n exportAs: 'nzTransfer',\n preserveWhitespaces: false,\n template: `\n <nz-transfer-list\n class=\"ant-transfer-list\"\n [ngStyle]=\"nzListStyle\"\n data-direction=\"left\"\n direction=\"left\"\n [titleText]=\"nzTitles[0]\"\n [showSelectAll]=\"nzShowSelectAll\"\n [dataSource]=\"leftDataSource\"\n [filter]=\"leftFilter\"\n [filterOption]=\"nzFilterOption\"\n (filterChange)=\"handleFilterChange($event)\"\n [renderList]=\"nzRenderList && nzRenderList[0]\"\n [render]=\"nzRender\"\n [disabled]=\"nzDisabled\"\n [showSearch]=\"nzShowSearch\"\n [searchPlaceholder]=\"nzSearchPlaceholder || locale?.searchPlaceholder\"\n [notFoundContent]=\"nzNotFoundContent\"\n [itemUnit]=\"nzItemUnit || locale?.itemUnit\"\n [itemsUnit]=\"nzItemsUnit || locale?.itemsUnit\"\n [footer]=\"nzFooter\"\n (handleSelect)=\"handleLeftSelect($event)\"\n (handleSelectAll)=\"handleLeftSelectAll($event)\"\n ></nz-transfer-list>\n <div *ngIf=\"dir !== 'rtl'\" class=\"ant-transfer-operation\">\n <button\n nz-button\n (click)=\"moveToLeft()\"\n [disabled]=\"nzDisabled || !leftActive\"\n [nzType]=\"'primary'\"\n [nzSize]=\"'small'\"\n >\n <i nz-icon nzType=\"left\"></i>\n <span *ngIf=\"nzOperations[1]\">{{ nzOperations[1] }}</span>\n </button>\n <button\n nz-button\n (click)=\"moveToRight()\"\n [disabled]=\"nzDisabled || !rightActive\"\n [nzType]=\"'primary'\"\n [nzSize]=\"'small'\"\n >\n <i nz-icon nzType=\"right\"></i>\n <span *ngIf=\"nzOperations[0]\">{{ nzOperations[0] }}</span>\n </button>\n </div>\n <div *ngIf=\"dir === 'rtl'\" class=\"ant-transfer-operation\">\n <button\n nz-button\n (click)=\"moveToRight()\"\n [disabled]=\"nzDisabled || !rightActive\"\n [nzType]=\"'primary'\"\n [nzSize]=\"'small'\"\n >\n <i nz-icon nzType=\"left\"></i>\n <span *ngIf=\"nzOperations[0]\">{{ nzOperations[0] }}</span>\n </button>\n <button\n nz-button\n (click)=\"moveToLeft()\"\n [disabled]=\"nzDisabled || !leftActive\"\n [nzType]=\"'primary'\"\n [nzSize]=\"'small'\"\n >\n <i nz-icon nzType=\"right\"></i>\n <span *ngIf=\"nzOperations[1]\">{{ nzOperations[1] }}</span>\n </button>\n </div>\n <nz-transfer-list\n class=\"ant-transfer-list\"\n [ngStyle]=\"nzListStyle\"\n data-direction=\"right\"\n direction=\"right\"\n [titleText]=\"nzTitles[1]\"\n [showSelectAll]=\"nzShowSelectAll\"\n [dataSource]=\"rightDataSource\"\n [filter]=\"rightFilter\"\n [filterOption]=\"nzFilterOption\"\n (filterChange)=\"handleFilterChange($event)\"\n [renderList]=\"nzRenderList && nzRenderList[1]\"\n [render]=\"nzRender\"\n [disabled]=\"nzDisabled\"\n [showSearch]=\"nzShowSearch\"\n [searchPlaceholder]=\"nzSearchPlaceholder || locale?.searchPlaceholder\"\n [notFoundContent]=\"nzNotFoundContent\"\n [itemUnit]=\"nzItemUnit || locale?.itemUnit\"\n [itemsUnit]=\"nzItemsUnit || locale?.itemsUnit\"\n [footer]=\"nzFooter\"\n (handleSelect)=\"handleRightSelect($event)\"\n (handleSelectAll)=\"handleRightSelectAll($event)\"\n ></nz-transfer-list>\n `,\n host: {\n class: 'ant-transfer',\n '[class.ant-transfer-rtl]': `dir === 'rtl'`,\n '[class.ant-transfer-disabled]': `nzDisabled`,\n '[class.ant-transfer-customize-list]': `nzRenderList`\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NzTransferComponent implements OnInit, OnChanges, OnDestroy {\n static ngAcceptInputType_nzDisabled: BooleanInput;\n static ngAcceptInputType_nzShowSelectAll: BooleanInput;\n static ngAcceptInputType_nzShowSearch: BooleanInput;\n\n private unsubscribe$ = new Subject<void>();\n\n @ViewChildren(NzTransferListComponent) lists!: QueryList<NzTransferListComponent>;\n locale!: NzTransferI18nInterface;\n\n leftFilter = '';\n rightFilter = '';\n dir: Direction = 'ltr';\n\n // #region fields\n\n @Input() @InputBoolean() nzDisabled = false;\n @Input() nzDataSource: TransferItem[] = [];\n @Input() nzTitles: string[] = ['', ''];\n @Input() nzOperations: string[] = [];\n @Input() nzListStyle: NgStyleInterface = {};\n @Input() @InputBoolean() nzShowSelectAll = true;\n @Input() nzItemUnit?: string;\n @Input() nzItemsUnit?: string;\n @Input() nzCanMove: (arg: TransferCanMove) => Observable<TransferItem[]> = (arg: TransferCanMove) => of(arg.list);\n @Input() nzRenderList: Array<TemplateRef<NzSafeAny> | null> | null = null;\n @Input() nzRender: TemplateRef<NzSafeAny> | null = null;\n @Input() nzFooter: TemplateRef<NzSafeAny> | null = null;\n @Input() @InputBoolean() nzShowSearch = false;\n @Input() nzFilterOption?: (inputValue: string, item: TransferItem) => boolean;\n @Input() nzSearchPlaceholder?: string;\n @Input() nzNotFoundContent?: string;\n @Input() nzTargetKeys: string[] = [];\n @Input() nzSelectedKeys: string[] = [];\n\n // events\n @Output() readonly nzChange = new EventEmitter<TransferChange>();\n @Output() readonly nzSearchChange = new EventEmitter<TransferSearchChange>();\n @Output() readonly nzSelectChange = new EventEmitter<TransferSelectChange>();\n\n // #endregion\n\n // #region process data\n\n // left\n leftDataSource: TransferItem[] = [];\n\n // right\n rightDataSource: TransferItem[] = [];\n\n private splitDataSource(): void {\n this.leftDataSource = [];\n this.rightDataSource = [];\n this.nzDataSource.forEach(record => {\n if (record.direction === 'right') {\n record.direction = 'right';\n this.rightDataSource.push(record);\n } else {\n record.direction = 'left';\n this.leftDataSource.push(record);\n }\n });\n }\n\n private getCheckedData(direction: TransferDirection): TransferItem[] {\n return this[direction === 'left' ? 'leftDataSource' : 'rightDataSource'].filter(w => w.checked);\n }\n\n handleLeftSelectAll = (checked: boolean): void => this.handleSelect('left', checked);\n handleRightSelectAll = (checked: boolean): void => this.handleSelect('right', checked);\n\n handleLeftSelect = (item: TransferItem): void => this.handleSelect('left', !!item.checked, item);\n handleRightSelect = (item: TransferItem): void => this.handleSelect('right', !!item.checked, item);\n\n handleSelect(direction: TransferDirection, checked: boolean, item?: TransferItem): void {\n const list = this.getCheckedData(direction);\n this.updateOperationStatus(direction, list.length);\n this.nzSelectChange.emit({ direction, checked, list, item });\n }\n\n handleFilterChange(ret: { direction: TransferDirection; value: string }): void {\n this.nzSearchChange.emit(ret);\n }\n\n // #endregion\n\n // #region operation\n\n leftActive = false;\n rightActive = false;\n\n private updateOperationStatus(direction: TransferDirection, count?: number): void {\n this[direction === 'right' ? 'leftActive' : 'rightActive'] =\n (typeof count === 'undefined' ? this.getCheckedData(direction).filter(w => !w.disabled).length : count) > 0;\n }\n\n moveToLeft = (): void => this.moveTo('left');\n moveToRight = (): void => this.moveTo('right');\n\n moveTo(direction: TransferDirection): void {\n const oppositeDirection = direction === 'left' ? 'right' : 'left';\n this.updateOperationStatus(oppositeDirection, 0);\n const datasource = direction === 'left' ? this.rightDataSource : this.leftDataSource;\n const moveList = datasource.filter(item => item.checked === true && !item.disabled);\n this.nzCanMove({ direction, list: moveList }).subscribe(\n newMoveList =>\n this.truthMoveTo(\n direction,\n newMoveList.filter(i => !!i)\n ),\n () => moveList.forEach(i => (i.checked = false))\n );\n }\n\n private truthMoveTo(direction: TransferDirection, list: TransferItem[]): void {\n const oppositeDirection = direction === 'left' ? 'right' : 'left';\n const datasource = direction === 'left' ? this.rightDataSource : this.leftDataSource;\n const targetDatasource = direction === 'left' ? this.leftDataSource : this.rightDataSource;\n for (const item of list) {\n item.checked = false;\n item.hide = false;\n item.direction = direction;\n datasource.splice(datasource.indexOf(item), 1);\n }\n targetDatasource.splice(0, 0, ...list);\n this.updateOperationStatus(oppositeDirection);\n this.nzChange.emit({\n from: oppositeDirection,\n to: direction,\n list\n });\n this.markForCheckAllList();\n }\n\n // #endregion\n\n constructor(\n private cdr: ChangeDetectorRef,\n private i18n: NzI18nService,\n @Optional() private directionality: Directionality\n ) {}\n\n private markForCheckAllList(): void {\n if (!this.lists) {\n return;\n }\n this.lists.forEach(i => i.markForCheck());\n }\n\n private handleNzTargetKeys(): void {\n const keys = toArray(this.nzTargetKeys);\n const hasOwnKey = (e: TransferItem): boolean => e.hasOwnProperty('key');\n this.leftDataSource.forEach(e => {\n if (hasOwnKey(e) && keys.indexOf(e.key) !== -1 && !e.disabled) {\n e.checked = true;\n }\n });\n this.moveToRight();\n }\n\n private handleNzSelectedKeys(): void {\n const keys = toArray(this.nzSelectedKeys);\n this.nzDataSource.forEach(e => {\n if (keys.indexOf(e.key) !== -1) {\n e.checked = true;\n }\n });\n const term = (ld: TransferItem): boolean => ld.disabled === false && ld.checked === true;\n this.rightActive = this.leftDataSource.some(term);\n this.leftActive = this.rightDataSource.some(term);\n }\n\n ngOnInit(): void {\n this.i18n.localeChange.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {\n this.locale = this.i18n.getLocaleData('Transfer');\n this.markForCheckAllList();\n });\n\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.unsubscribe$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.nzDataSource) {\n this.splitDataSource();\n this.updateOperationStatus('left');\n this.updateOperationStatus('right');\n this.cdr.detectChanges();\n this.markForCheckAllList();\n }\n if (changes.nzTargetKeys) {\n this.handleNzTargetKeys();\n }\n if (changes.nzSelectedKeys) {\n this.handleNzSelectedKeys();\n }\n }\n\n ngOnDestroy(): void {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\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 { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { NzTransferListComponent } from './transfer-list.component';\nimport { NzTransferSearchComponent } from './transfer-search.component';\nimport { NzTransferComponent } from './transfer.component';\n\n@NgModule({\n imports: [\n BidiModule,\n CommonModule,\n FormsModule,\n NzCheckboxModule,\n NzButtonModule,\n NzInputModule,\n NzI18nModule,\n NzIconModule,\n NzEmptyModule\n ],\n declarations: [NzTransferComponent, NzTransferListComponent, NzTransferSearchComponent],\n exports: [NzTransferComponent]\n})\nexport class NzTransferModule {}\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 './interface';\nexport { NzTransferListComponent } from './transfer-list.component';\nexport { NzTransferSearchComponent } from './transfer-search.component';\nexport { NzTransferComponent } from './transfer.component';\nexport { NzTransferModule } from './transfer.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;MAuCa,yBAAyB;;IAYpC,YAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;QAPjC,aAAQ,GAAY,KAAK,CAAC;QAEhB,iBAAY,GAAG,IAAI,YAAY,EAAU,CAAC;QAC1C,eAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;KAIX;IAE9C,OAAO;QACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,WAAW;QACT,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;sHA5BU,yBAAyB;0GAAzB,yBAAyB,oQAnB1B;;;;;;;;;;;;;;;GAeT;2FAIU,yBAAyB;kBAvBrC,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,kBAAkB;oBAC5B,mBAAmB,EAAE,KAAK;oBAC1B,QAAQ,EAAE;;;;;;;;;;;;;;;GAeT;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;wGAIU,WAAW;sBAAnB,KAAK;gBACG,KAAK;sBAAb,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBAEa,YAAY;sBAA9B,MAAM;gBACY,UAAU;sBAA5B,MAAM;;;AC/CT;;;;MAwHa,uBAAuB;;IA8FlC,YAAoB,MAAc,EAAU,GAAsB;QAA9C,WAAM,GAAN,MAAM,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAmB;;QA3FzD,cAAS,GAAsB,MAAM,CAAC;QACtC,cAAS,GAAG,EAAE,CAAC;QACf,kBAAa,GAAG,IAAI,CAAC;QAErB,eAAU,GAAmB,EAAE,CAAC;QAEhC,aAAQ,GAAuB,EAAE,CAAC;QAClC,cAAS,GAAuB,EAAE,CAAC;QACnC,WAAM,GAAG,EAAE,CAAC;QACZ,aAAQ,GAAY,KAAK,CAAC;QAM1B,eAAU,GAA6B,IAAI,CAAC;QAC5C,WAAM,GAA6B,IAAI,CAAC;QACxC,WAAM,GAA6B,IAAI,CAAC;;QAG9B,oBAAe,GAA0B,IAAI,YAAY,EAAW,CAAC;QACrE,iBAAY,GAA+B,IAAI,YAAY,EAAE,CAAC;QAC9D,iBAAY,GAAkE,IAAI,YAAY,EAAE,CAAC;QAIpH,SAAI,GAAG;YACL,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;SACd,CAAC;QAMF,iBAAY,GAAG,CAAC,IAAkB;YAChC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,OAAO;aACR;YACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B,CAAC;QAEF,oBAAe,GAAG,CAAC,MAAe;YAChC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;gBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;iBACvB;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnC,CAAC;KAoCoE;IA1DtE,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;KAC7C;IAsBO,iBAAiB;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,CAAC,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;KACvE;;;IAMD,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;YAC1B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAChE,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;KAC9D;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KACvB;IAEO,WAAW,CAAC,IAAY,EAAE,IAAkB;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAClC;IAMD,YAAY;QACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAED,eAAe;QACb,IAAI,CAAC,UAAU,CAAC,OAAO;aACpB,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1B,SAAS,CAAC;YACR,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;;;;YAI7C,OAAO,IAAI,UAAU,CAAa,UAAU,IAC1C,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAC5B,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAa,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CACpG,UAAU,CACX,CACF,CACF,CAAC;SACH,CAAC,CACH;aACA,SAAS,CAAC,KAAK;YACd,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB,CAAC,CAAC;KACN;;oHA1HU,uBAAuB;wGAAvB,uBAAuB,6uBA2BE,UAAU,2DAtHpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFT;2FAQU,uBAAuB;kBA/FnC,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,gBAAgB;oBAC1B,mBAAmB,EAAE,KAAK;oBAC1B,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFT;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE;wBACJ,KAAK,EAAE,mBAAmB;wBAC1B,uCAAuC,EAAE,UAAU;qBACpD;iBACF;6HAIU,SAAS;sBAAjB,KAAK;gBACG,SAAS;sBAAjB,KAAK;gBACG,aAAa;sBAArB,KAAK;gBAEG,UAAU;sBAAlB,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBACG,SAAS;sBAAjB,KAAK;gBACG,MAAM;sBAAd,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACG,UAAU;sBAAlB,KAAK;gBACG,iBAAiB;sBAAzB,KAAK;gBACG,eAAe;sBAAvB,KAAK;gBACG,YAAY;sBAApB,KAAK;gBAEG,UAAU;sBAAlB,KAAK;gBACG,MAAM;sBAAd,KAAK;gBACG,MAAM;sBAAd,KAAK;gBAGa,eAAe;sBAAjC,MAAM;gBACY,YAAY;sBAA9B,MAAM;gBACY,YAAY;sBAA9B,MAAM;gBAE2C,UAAU;sBAA3D,YAAY;uBAAC,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;;MCFrC,mBAAmB;;IAwI9B,YACU,GAAsB,EACtB,IAAmB,EACP,cAA8B;QAF1C,QAAG,GAAH,GAAG,CAAmB;QACtB,SAAI,GAAJ,IAAI,CAAe;QACP,mBAAc,GAAd,cAAc,CAAgB;QAtI5C,iBAAY,GAAG,IAAI,OAAO,EAAQ,CAAC;QAK3C,eAAU,GAAG,EAAE,CAAC;QAChB,gBAAW,GAAG,EAAE,CAAC;QACjB,QAAG,GAAc,KAAK,CAAC;;QAIE,eAAU,GAAG,KAAK,CAAC;QACnC,iBAAY,GAAmB,EAAE,CAAC;QAClC,aAAQ,GAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9B,iBAAY,GAAa,EAAE,CAAC;QAC5B,gBAAW,GAAqB,EAAE,CAAC;QACnB,oBAAe,GAAG,IAAI,CAAC;QAGvC,cAAS,GAAyD,CAAC,GAAoB,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzG,iBAAY,GAAgD,IAAI,CAAC;QACjE,aAAQ,GAAkC,IAAI,CAAC;QAC/C,aAAQ,GAAkC,IAAI,CAAC;QAC/B,iBAAY,GAAG,KAAK,CAAC;QAIrC,iBAAY,GAAa,EAAE,CAAC;QAC5B,mBAAc,GAAa,EAAE,CAAC;;QAGpB,aAAQ,GAAG,IAAI,YAAY,EAAkB,CAAC;QAC9C,mBAAc,GAAG,IAAI,YAAY,EAAwB,CAAC;QAC1D,mBAAc,GAAG,IAAI,YAAY,EAAwB,CAAC;;;;QAO7E,mBAAc,GAAmB,EAAE,CAAC;;QAGpC,oBAAe,GAAmB,EAAE,CAAC;QAoBrC,wBAAmB,GAAG,CAAC,OAAgB,KAAW,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrF,yBAAoB,GAAG,CAAC,OAAgB,KAAW,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEvF,qBAAgB,GAAG,CAAC,IAAkB,KAAW,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjG,sBAAiB,GAAG,CAAC,IAAkB,KAAW,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;;;QAgBnG,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;QAOpB,eAAU,GAAG,MAAY,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,gBAAW,GAAG,MAAY,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KA2C3C;IA1FI,eAAe;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM;YAC9B,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE;gBAChC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;gBAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnC;iBAAM;gBACL,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAClC;SACF,CAAC,CAAC;KACJ;IAEO,cAAc,CAAC,SAA4B;QACjD,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;KACjG;IAQD,YAAY,CAAC,SAA4B,EAAE,OAAgB,EAAE,IAAmB;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;KAC9D;IAED,kBAAkB,CAAC,GAAoD;QACrE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/B;IASO,qBAAqB,CAAC,SAA4B,EAAE,KAAc;QACxE,IAAI,CAAC,SAAS,KAAK,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;YACxD,CAAC,OAAO,KAAK,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC;KAC/G;IAKD,MAAM,CAAC,SAA4B;QACjC,MAAM,iBAAiB,GAAG,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QAClE,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QACrF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CACrD,WAAW,IACT,IAAI,CAAC,WAAW,CACd,SAAS,EACT,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC7B,EACH,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CACjD,CAAC;KACH;IAEO,WAAW,CAAC,SAA4B,EAAE,IAAoB;QACpE,MAAM,iBAAiB,GAAG,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QAClE,MAAM,UAAU,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QACrF,MAAM,gBAAgB,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3F,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;SAChD;QACD,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,iBAAiB;YACvB,EAAE,EAAE,SAAS;YACb,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAUO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;KAC3C;IAEO,kBAAkB;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,CAAC,CAAe,KAAc,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7D,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;aAClB;SACF,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEO,oBAAoB;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC9B,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;aAClB;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,EAAgB,KAAc,EAAE,CAAC,QAAQ,KAAK,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;QACzF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnD;IAED,QAAQ;;QACN,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACrC,MAAA,IAAI,CAAC,cAAc,CAAC,MAAM,0CAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,SAAoB;YAC5F,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B,CAAC,CAAC;KACJ;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;QACD,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QACD,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;KACF;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;KAC9B;;gHA5MU,mBAAmB;oGAAnB,mBAAmB,+5BAOhB,uBAAuB,+FA5G3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FT;AA0BwB;IAAf,YAAY,EAAE;uDAAoB;AAKnB;IAAf,YAAY,EAAE;4DAAwB;AAOvB;IAAf,YAAY,EAAE;yDAAsB;2FA5BnC,mBAAmB;kBAzG/B,SAAS;mBAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,YAAY;oBACtB,mBAAmB,EAAE,KAAK;oBAC1B,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FT;oBACD,IAAI,EAAE;wBACJ,KAAK,EAAE,cAAc;wBACrB,0BAA0B,EAAE,eAAe;wBAC3C,+BAA+B,EAAE,YAAY;wBAC7C,qCAAqC,EAAE,cAAc;qBACtD;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;;8BA4II,QAAQ;;yBApI4B,KAAK;sBAA3C,YAAY;uBAAC,uBAAuB;gBASZ,UAAU;sBAAlC,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBACmB,eAAe;sBAAvC,KAAK;gBACG,UAAU;sBAAlB,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBACG,SAAS;sBAAjB,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACmB,YAAY;sBAApC,KAAK;gBACG,cAAc;sBAAtB,KAAK;gBACG,mBAAmB;sBAA3B,KAAK;gBACG,iBAAiB;sBAAzB,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACG,cAAc;sBAAtB,KAAK;gBAGa,QAAQ;sBAA1B,MAAM;gBACY,cAAc;sBAAhC,MAAM;gBACY,cAAc;sBAAhC,MAAM;;;ACvLT;;;;MAoCa,gBAAgB;;6GAAhB,gBAAgB;8GAAhB,gBAAgB,iBAHZ,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,aAVpF,UAAU;QACV,YAAY;QACZ,WAAW;QACX,gBAAgB;QAChB,cAAc;QACd,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,aAAa,aAGL,mBAAmB;8GAElB,gBAAgB,YAdlB;YACP,UAAU;YACV,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,cAAc;YACd,aAAa;YACb,YAAY;YACZ,YAAY;YACZ,aAAa;SACd;2FAIU,gBAAgB;kBAf5B,QAAQ;mBAAC;oBACR,OAAO,EAAE;wBACP,UAAU;wBACV,YAAY;wBACZ,WAAW;wBACX,gBAAgB;wBAChB,cAAc;wBACd,aAAa;wBACb,YAAY;wBACZ,YAAY;wBACZ,aAAa;qBACd;oBACD,YAAY,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,CAAC;oBACvF,OAAO,EAAE,CAAC,mBAAmB,CAAC;iBAC/B;;;ACnCD;;;;;ACAA;;;;;;"}