{"version":3,"file":"ng-zorro-antd-grid.mjs","sources":["../../components/grid/row.directive.ts","../../components/grid/col.directive.ts","../../components/grid/grid.module.ts","../../components/grid/public-api.ts","../../components/grid/ng-zorro-antd-grid.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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport { MediaMatcher } from '@angular/cdk/layout';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  SimpleChanges\n} from '@angular/core';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { gridResponsiveMap, NzBreakpointKey, NzBreakpointService } from 'ng-zorro-antd/core/services';\nimport { IndexableObject } from 'ng-zorro-antd/core/types';\n\nexport type NzJustify = 'start' | 'end' | 'center' | 'space-around' | 'space-between';\nexport type NzAlign = 'top' | 'middle' | 'bottom';\n\n@Directive({\n  selector: '[nz-row],nz-row,nz-form-item',\n  exportAs: 'nzRow',\n  host: {\n    class: 'ant-row',\n    '[class.ant-row-top]': `nzAlign === 'top'`,\n    '[class.ant-row-middle]': `nzAlign === 'middle'`,\n    '[class.ant-row-bottom]': `nzAlign === 'bottom'`,\n    '[class.ant-row-start]': `nzJustify === 'start'`,\n    '[class.ant-row-end]': `nzJustify === 'end'`,\n    '[class.ant-row-center]': `nzJustify === 'center'`,\n    '[class.ant-row-space-around]': `nzJustify === 'space-around'`,\n    '[class.ant-row-space-between]': `nzJustify === 'space-between'`,\n    '[class.ant-row-rtl]': `dir === \"rtl\"`\n  }\n})\nexport class NzRowDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n  @Input() nzAlign: NzAlign | null = null;\n  @Input() nzJustify: NzJustify | null = null;\n  @Input() nzGutter: string | number | IndexableObject | [number, number] | [IndexableObject, IndexableObject] | null =\n    null;\n\n  readonly actualGutter$ = new ReplaySubject<[number | null, number | null]>(1);\n\n  dir: Direction = 'ltr';\n  private readonly destroy$ = new Subject();\n\n  getGutter(): [number | null, number | null] {\n    const results: [number | null, number | null] = [null, null];\n    const gutter = this.nzGutter || 0;\n    const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, null];\n    normalizedGutter.forEach((g, index) => {\n      if (typeof g === 'object' && g !== null) {\n        results[index] = null;\n        Object.keys(gridResponsiveMap).map((screen: string) => {\n          const bp = screen as NzBreakpointKey;\n          if (this.mediaMatcher.matchMedia(gridResponsiveMap[bp]).matches && g[bp]) {\n            results[index] = g![bp] as number;\n          }\n        });\n      } else {\n        results[index] = Number(g) || null;\n      }\n    });\n    return results;\n  }\n\n  setGutterStyle(): void {\n    const [horizontalGutter, verticalGutter] = this.getGutter();\n    this.actualGutter$.next([horizontalGutter, verticalGutter]);\n    const renderGutter = (name: string, gutter: number | null): void => {\n      const nativeElement = this.elementRef.nativeElement;\n      if (gutter !== null) {\n        this.renderer.setStyle(nativeElement, name, `-${gutter / 2}px`);\n      }\n    };\n    renderGutter('margin-left', horizontalGutter);\n    renderGutter('margin-right', horizontalGutter);\n    renderGutter('margin-top', verticalGutter);\n    renderGutter('margin-bottom', verticalGutter);\n  }\n  constructor(\n    public elementRef: ElementRef,\n    public renderer: Renderer2,\n    public mediaMatcher: MediaMatcher,\n    public ngZone: NgZone,\n    public platform: Platform,\n    private breakpointService: NzBreakpointService,\n    @Optional() private directionality: Directionality\n  ) {}\n\n  ngOnInit(): void {\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n    });\n\n    this.setGutterStyle();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.nzGutter) {\n      this.setGutterStyle();\n    }\n  }\n\n  ngAfterViewInit(): void {\n    if (this.platform.isBrowser) {\n      this.breakpointService\n        .subscribe(gridResponsiveMap)\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(() => {\n          this.setGutterStyle();\n        });\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  Host,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  SimpleChanges\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NgClassInterface } from 'ng-zorro-antd/core/types';\nimport { isNotNil } from 'ng-zorro-antd/core/util';\n\nimport { NzRowDirective } from './row.directive';\n\nexport interface EmbeddedProperty {\n  span?: number;\n  pull?: number;\n  push?: number;\n  offset?: number;\n  order?: number;\n}\n\n@Directive({\n  selector: '[nz-col],nz-col,nz-form-control,nz-form-label',\n  exportAs: 'nzCol',\n  host: {\n    '[style.flex]': 'hostFlexStyle'\n  }\n})\nexport class NzColDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n  private classMap: { [key: string]: boolean } = {};\n  private destroy$ = new Subject();\n  hostFlexStyle: string | null = null;\n  dir: Direction = 'ltr';\n  @Input() nzFlex: string | number | null = null;\n  @Input() nzSpan: string | number | null = null;\n  @Input() nzOrder: string | number | null = null;\n  @Input() nzOffset: string | number | null = null;\n  @Input() nzPush: string | number | null = null;\n  @Input() nzPull: string | number | null = null;\n  @Input() nzXs: string | number | EmbeddedProperty | null = null;\n  @Input() nzSm: string | number | EmbeddedProperty | null = null;\n  @Input() nzMd: string | number | EmbeddedProperty | null = null;\n  @Input() nzLg: string | number | EmbeddedProperty | null = null;\n  @Input() nzXl: string | number | EmbeddedProperty | null = null;\n  @Input() nzXXl: string | number | EmbeddedProperty | null = null;\n\n  setHostClassMap(): void {\n    const hostClassMap = {\n      ['ant-col']: true,\n      [`ant-col-${this.nzSpan}`]: isNotNil(this.nzSpan),\n      [`ant-col-order-${this.nzOrder}`]: isNotNil(this.nzOrder),\n      [`ant-col-offset-${this.nzOffset}`]: isNotNil(this.nzOffset),\n      [`ant-col-pull-${this.nzPull}`]: isNotNil(this.nzPull),\n      [`ant-col-push-${this.nzPush}`]: isNotNil(this.nzPush),\n      ['ant-col-rtl']: this.dir === 'rtl',\n      ...this.generateClass()\n    };\n    for (const i in this.classMap) {\n      if (this.classMap.hasOwnProperty(i)) {\n        this.renderer.removeClass(this.elementRef.nativeElement, i);\n      }\n    }\n    this.classMap = { ...hostClassMap };\n    for (const i in this.classMap) {\n      if (this.classMap.hasOwnProperty(i) && this.classMap[i]) {\n        this.renderer.addClass(this.elementRef.nativeElement, i);\n      }\n    }\n  }\n\n  setHostFlexStyle(): void {\n    this.hostFlexStyle = this.parseFlex(this.nzFlex);\n  }\n\n  parseFlex(flex: number | string | null): string | null {\n    if (typeof flex === 'number') {\n      return `${flex} ${flex} auto`;\n    } else if (typeof flex === 'string') {\n      if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n        return `0 0 ${flex}`;\n      }\n    }\n    return flex;\n  }\n\n  generateClass(): object {\n    const listOfSizeInputName: Array<keyof NzColDirective> = ['nzXs', 'nzSm', 'nzMd', 'nzLg', 'nzXl', 'nzXXl'];\n    const listClassMap: NgClassInterface = {};\n    listOfSizeInputName.forEach(name => {\n      const sizeName = name.replace('nz', '').toLowerCase();\n      if (isNotNil(this[name])) {\n        if (typeof this[name] === 'number' || typeof this[name] === 'string') {\n          listClassMap[`ant-col-${sizeName}-${this[name]}`] = true;\n        } else {\n          const embedded = this[name] as EmbeddedProperty;\n          const prefixArray: Array<keyof EmbeddedProperty> = ['span', 'pull', 'push', 'offset', 'order'];\n          prefixArray.forEach(prefix => {\n            const prefixClass = prefix === 'span' ? '-' : `-${prefix}-`;\n            listClassMap[`ant-col-${sizeName}${prefixClass}${embedded[prefix]}`] =\n              embedded && isNotNil(embedded[prefix]);\n          });\n        }\n      }\n    });\n    return listClassMap;\n  }\n\n  constructor(\n    private elementRef: ElementRef,\n    @Optional() @Host() public nzRowDirective: NzRowDirective,\n    public renderer: Renderer2,\n    @Optional() private directionality: Directionality\n  ) {}\n\n  ngOnInit(): void {\n    this.dir = this.directionality.value;\n    this.directionality.change.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.setHostClassMap();\n    });\n\n    this.setHostClassMap();\n    this.setHostFlexStyle();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.setHostClassMap();\n    const { nzFlex } = changes;\n    if (nzFlex) {\n      this.setHostFlexStyle();\n    }\n  }\n\n  ngAfterViewInit(): void {\n    if (this.nzRowDirective) {\n      this.nzRowDirective.actualGutter$\n        .pipe(takeUntil(this.destroy$))\n        .subscribe(([horizontalGutter, verticalGutter]) => {\n          const renderGutter = (name: string, gutter: number | null): void => {\n            const nativeElement = this.elementRef.nativeElement;\n            if (gutter !== null) {\n              this.renderer.setStyle(nativeElement, name, `${gutter / 2}px`);\n            }\n          };\n          renderGutter('padding-left', horizontalGutter);\n          renderGutter('padding-right', horizontalGutter);\n          renderGutter('padding-top', verticalGutter);\n          renderGutter('padding-bottom', verticalGutter);\n        });\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.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 { LayoutModule } from '@angular/cdk/layout';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzColDirective } from './col.directive';\nimport { NzRowDirective } from './row.directive';\n\n@NgModule({\n  declarations: [NzColDirective, NzRowDirective],\n  exports: [NzColDirective, NzRowDirective],\n  imports: [BidiModule, CommonModule, LayoutModule, PlatformModule]\n})\nexport class NzGridModule {}\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 './row.directive';\nexport * from './col.directive';\nexport * from './grid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MA8Ca,cAAc;IA6CzB,YACS,UAAsB,EACtB,QAAmB,EACnB,YAA0B,EAC1B,MAAc,EACd,QAAkB,EACjB,iBAAsC,EAC1B,cAA8B;QAN3C,eAAU,GAAV,UAAU,CAAY;QACtB,aAAQ,GAAR,QAAQ,CAAW;QACnB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAU;QACjB,sBAAiB,GAAjB,iBAAiB,CAAqB;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAnD3C,YAAO,GAAmB,IAAI,CAAC;QAC/B,cAAS,GAAqB,IAAI,CAAC;QACnC,aAAQ,GACf,IAAI,CAAC;QAEE,kBAAa,GAAG,IAAI,aAAa,CAAiC,CAAC,CAAC,CAAC;QAE9E,QAAG,GAAc,KAAK,CAAC;QACN,aAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;KA4CtC;IA1CJ,SAAS;QACP,MAAM,OAAO,GAAmC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAClC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK;YAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAc;oBAChD,MAAM,EAAE,GAAG,MAAyB,CAAC;oBACrC,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE;wBACxE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,EAAE,CAAW,CAAC;qBACnC;iBACF,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;aACpC;SACF,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;KAChB;IAED,cAAc;QACZ,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAqB;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YACpD,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;aACjE;SACF,CAAC;QACF,YAAY,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC9C,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAC/C,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC3C,YAAY,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;KAC/C;IAWD,QAAQ;;QACN,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACrC,MAAA,IAAI,CAAC,cAAc,CAAC,MAAM,0CAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,SAAoB;YACxF,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;KACF;IAED,eAAe;QACb,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC3B,IAAI,CAAC,iBAAiB;iBACnB,SAAS,CAAC,iBAAiB,CAAC;iBAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CAAC;gBACT,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB,CAAC,CAAC;SACN;KACF;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;;2GApFU,cAAc;+FAAd,cAAc;2FAAd,cAAc;kBAhB1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,8BAA8B;oBACxC,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE;wBACJ,KAAK,EAAE,SAAS;wBAChB,qBAAqB,EAAE,mBAAmB;wBAC1C,wBAAwB,EAAE,sBAAsB;wBAChD,wBAAwB,EAAE,sBAAsB;wBAChD,uBAAuB,EAAE,uBAAuB;wBAChD,qBAAqB,EAAE,qBAAqB;wBAC5C,wBAAwB,EAAE,wBAAwB;wBAClD,8BAA8B,EAAE,8BAA8B;wBAC9D,+BAA+B,EAAE,+BAA+B;wBAChE,qBAAqB,EAAE,eAAe;qBACvC;iBACF;;;8BAqDI,QAAQ;;yBAnDF,OAAO;sBAAf,KAAK;gBACG,SAAS;sBAAjB,KAAK;gBACG,QAAQ;sBAAhB,KAAK;;;MCPK,cAAc;IA+EzB,YACU,UAAsB,EACH,cAA8B,EAClD,QAAmB,EACN,cAA8B;QAH1C,eAAU,GAAV,UAAU,CAAY;QACH,mBAAc,GAAd,cAAc,CAAgB;QAClD,aAAQ,GAAR,QAAQ,CAAW;QACN,mBAAc,GAAd,cAAc,CAAgB;QAlF5C,aAAQ,GAA+B,EAAE,CAAC;QAC1C,aAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;QACjC,kBAAa,GAAkB,IAAI,CAAC;QACpC,QAAG,GAAc,KAAK,CAAC;QACd,WAAM,GAA2B,IAAI,CAAC;QACtC,WAAM,GAA2B,IAAI,CAAC;QACtC,YAAO,GAA2B,IAAI,CAAC;QACvC,aAAQ,GAA2B,IAAI,CAAC;QACxC,WAAM,GAA2B,IAAI,CAAC;QACtC,WAAM,GAA2B,IAAI,CAAC;QACtC,SAAI,GAA8C,IAAI,CAAC;QACvD,SAAI,GAA8C,IAAI,CAAC;QACvD,SAAI,GAA8C,IAAI,CAAC;QACvD,SAAI,GAA8C,IAAI,CAAC;QACvD,SAAI,GAA8C,IAAI,CAAC;QACvD,UAAK,GAA8C,IAAI,CAAC;KAoE7D;IAlEJ,eAAe;QACb,MAAM,YAAY,mBAChB,CAAC,SAAS,GAAG,IAAI,EACjB,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EACjD,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EACzD,CAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC5D,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EACtD,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EACtD,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK,IAChC,IAAI,CAAC,aAAa,EAAE,CACxB,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;gBACnC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;aAC7D;SACF;QACD,IAAI,CAAC,QAAQ,qBAAQ,YAAY,CAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;aAC1D;SACF;KACF;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClD;IAED,SAAS,CAAC,IAA4B;QACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,OAAO,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC;SAC/B;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACnC,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3C,OAAO,OAAO,IAAI,EAAE,CAAC;aACtB;SACF;QACD,OAAO,IAAI,CAAC;KACb;IAED,aAAa;QACX,MAAM,mBAAmB,GAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3G,MAAM,YAAY,GAAqB,EAAE,CAAC;QAC1C,mBAAmB,CAAC,OAAO,CAAC,IAAI;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;gBACxB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;oBACpE,YAAY,CAAC,WAAW,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;iBAC1D;qBAAM;oBACL,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAqB,CAAC;oBAChD,MAAM,WAAW,GAAkC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC/F,WAAW,CAAC,OAAO,CAAC,MAAM;wBACxB,MAAM,WAAW,GAAG,MAAM,KAAK,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,GAAG,CAAC;wBAC5D,YAAY,CAAC,WAAW,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;4BAClE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;qBAC1C,CAAC,CAAC;iBACJ;aACF;SACF,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;KACrB;IASD,QAAQ;QACN,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAoB;YACvF,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;YACrB,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;KACF;IAED,eAAe;QACb,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,aAAa;iBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CAAC,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC;gBAC5C,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAqB;oBACvD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;oBACpD,IAAI,MAAM,KAAK,IAAI,EAAE;wBACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;qBAChE;iBACF,CAAC;gBACF,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBAC/C,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;gBAChD,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;gBAC5C,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;aAChD,CAAC,CAAC;SACN;KACF;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;;2GA/HU,cAAc;+FAAd,cAAc;2FAAd,cAAc;kBAP1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,+CAA+C;oBACzD,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE;wBACJ,cAAc,EAAE,eAAe;qBAChC;iBACF;;;8BAkFI,QAAQ;;8BAAI,IAAI;;8BAEhB,QAAQ;;yBA9EF,MAAM;sBAAd,KAAK;gBACG,MAAM;sBAAd,KAAK;gBACG,OAAO;sBAAf,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACG,MAAM;sBAAd,KAAK;gBACG,MAAM;sBAAd,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,KAAK;sBAAb,KAAK;;;AC1DR;;;;MAmBa,YAAY;;yGAAZ,YAAY;0GAAZ,YAAY,iBAJR,cAAc,EAAE,cAAc,aAEnC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,aADtD,cAAc,EAAE,cAAc;0GAG7B,YAAY,YAFd,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC;2FAEtD,YAAY;kBALxB,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;oBAC9C,OAAO,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;oBACzC,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC;iBAClE;;;AClBD;;;;;ACAA;;;;;;"}