{"version":3,"sources":["webpack://berenedacom/../node_modules/rc-table/es/Cell/useCellRender.js","webpack://berenedacom/../node_modules/rc-table/es/Cell/useHoverState.js","webpack://berenedacom/../node_modules/rc-table/es/Cell/index.js","webpack://berenedacom/../node_modules/rc-table/es/Footer/Cell.js","webpack://berenedacom/../node_modules/rc-table/es/Footer/Row.js","webpack://berenedacom/../node_modules/rc-table/es/Footer/Summary.js","webpack://berenedacom/../node_modules/rc-table/es/Footer/SummaryContext.js","webpack://berenedacom/../node_modules/rc-table/es/Footer/index.js","webpack://berenedacom/../node_modules/rc-table/es/hooks/useFlattenRecords.js","webpack://berenedacom/../node_modules/rc-table/es/Body/ExpandedRow.js","webpack://berenedacom/../node_modules/rc-table/es/Body/BodyRow.js","webpack://berenedacom/../node_modules/rc-table/es/Body/MeasureCell.js","webpack://berenedacom/../node_modules/rc-table/es/Body/MeasureRow.js","webpack://berenedacom/../node_modules/rc-table/es/Body/index.js","webpack://berenedacom/../node_modules/rc-table/es/ColGroup.js","webpack://berenedacom/../node_modules/rc-table/es/FixedHolder/index.js","webpack://berenedacom/../node_modules/rc-table/es/Header/HeaderRow.js","webpack://berenedacom/../node_modules/rc-table/es/Header/Header.js","webpack://berenedacom/../node_modules/rc-table/es/utils/expandUtil.js","webpack://berenedacom/../node_modules/rc-table/es/hooks/useExpand.js","webpack://berenedacom/../node_modules/rc-table/es/hooks/useFixedInfo.js","webpack://berenedacom/../node_modules/rc-table/es/hooks/useFrame.js","webpack://berenedacom/../node_modules/rc-table/es/hooks/useHover.js","webpack://berenedacom/../node_modules/rc-table/es/hooks/useSticky.js","webpack://berenedacom/../node_modules/rc-table/es/hooks/useStickyOffsets.js","webpack://berenedacom/../node_modules/rc-table/es/Panel/index.js","webpack://berenedacom/../node_modules/rc-table/es/stickyScrollBar.js","webpack://berenedacom/../node_modules/rc-table/es/sugar/Column.js","webpack://berenedacom/../node_modules/rc-table/es/sugar/ColumnGroup.js","webpack://berenedacom/../node_modules/rc-table/es/Table.js","webpack://berenedacom/../node_modules/rc-table/es/constant.js","webpack://berenedacom/../node_modules/rc-table/es/context/PerfContext.js","webpack://berenedacom/../node_modules/rc-table/es/context/TableContext.js","webpack://berenedacom/../node_modules/rc-table/es/hooks/useColumns.js","webpack://berenedacom/../node_modules/rc-table/es/hooks/useRenderTimes.js","webpack://berenedacom/../node_modules/rc-table/es/index.js","webpack://berenedacom/../node_modules/rc-table/es/utils/fixUtil.js","webpack://berenedacom/../node_modules/rc-table/es/utils/legacyUtil.js","webpack://berenedacom/../node_modules/rc-table/es/utils/valueUtil.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://berenedacom/../node_modules/rc-table/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://berenedacom/../node_modules/rc-table/node_modules/classnames/index.js"],"names":[],"mappings":"2VAWA,WAAsB,EAAM,CAC1B,MAAO,IAAQ,QAAQ,KAAU,UAAY,CAAC,MAAM,QAAQ,IAAS,CAAe,iBAAqB,GAG5F,WAAuB,EAAQ,EAAW,EAAa,GAAU,EAAQ,GAAkB,CAExG,GAAI,IAAa,aAAiB,KAC9B,GAAO,WAEP,GAAU,QAAQ,UAAY,CAChC,GAAI,SAAc,IAChB,MAAO,CAAC,IAGV,GAAI,IAAO,GAAc,MAAmC,IAAc,GAAK,GAAK,MAAM,QAAQ,GAAa,EAAY,CAAC,GACxH,GAAQ,QAAS,EAAQ,IAEzB,GAAkB,GAClB,GAAkB,OAEtB,GAAI,EAAQ,CACV,GAAI,IAAa,EAAO,GAAO,EAAQ,GAEnC,EAAa,IAKf,IAAkB,GAAW,SAC7B,GAAkB,GAAW,MAC7B,GAAW,gBAAkB,IAE7B,GAAkB,GAItB,MAAO,CAAC,GAAiB,KACxB,CACH,GACA,EAAQ,GAAU,EAAW,EAAQ,GAAc,SAAU,GAAM,GAAM,CACvE,GAAI,GAAkB,CACpB,GAAI,IAAQ,QAAe,GAAM,GAC7B,GAAa,GAAM,GAEnB,GAAQ,QAAe,GAAM,GAC7B,GAAa,GAAM,GAEvB,MAAO,IAAiB,GAAY,IAItC,MAAI,IAAW,gBACN,GAGF,CAAC,SAAQ,GAAM,GAAM,MAE9B,MAAO,IChET,WAAsB,EAAc,EAAa,EAAU,GAAQ,CACjE,GAAI,GAAa,EAAe,EAAc,EAC9C,MAAO,IAAgB,IAAU,GAAc,EAGlC,WAAuB,EAAU,EAAS,CACvD,MAAO,SAAW,IAAc,SAAU,EAAK,CAC7C,GAAI,IAAW,EAAa,EAAU,GAAW,EAAG,EAAI,cAAe,EAAI,aAC3E,MAAO,CAAC,GAAU,EAAI,WCC1B,GAAI,GAAiC,SAAwC,EAAM,CACjF,GAAI,GAAW,EAAK,SAChB,GAAU,EAAK,QACf,EAAW,EAAK,SAChB,GACA,GAAiB,IAAa,GAAO,CACvC,UAAW,IACT,EAEJ,MAAI,KAAmB,IAAe,WAAa,KAAY,WAC7D,CAAI,MAAO,IAAa,UAAY,MAAO,IAAa,SACtD,GAAQ,EAAS,WACM,iBAAqB,IAAa,MAAO,GAAS,MAAM,UAAa,UAC5F,IAAQ,EAAS,MAAM,WAIpB,IAGT,WAAc,EAAO,CACnB,GAAI,GAAO,EAAO,GAAuB,EAAO,GAAO,GAAuB,GAAuB,GAMjG,GAAY,EAAM,UAClB,GAAW,EAAM,SACjB,GAAW,EAAM,SACjB,GAAQ,EAAM,MACd,GAAY,EAAM,UAClB,GAAY,EAAM,UAClB,GAAQ,EAAM,MACd,GAAS,EAAM,OACf,GAAS,EAAM,OACf,GAAY,EAAM,UAClB,GAAc,EAAM,YACpB,GAAmB,EAAM,iBACzB,GAAQ,EAAM,MACd,GAAU,EAAM,QAChB,GAAU,EAAM,QAChB,GAAU,EAAM,QAChB,GAAU,EAAM,QAChB,GAAW,EAAM,SACjB,GAAe,EAAM,aACrB,GAAc,EAAM,YACpB,GAAgB,EAAM,cACtB,GAAe,EAAM,aACrB,GAAa,EAAM,WACnB,GAAwB,EAAM,gBAC9B,GAAkB,KAA0B,OAAS,GAAK,GAC1D,GAAW,EAAM,SACjB,GAAgB,GAAG,OAAO,GAAW,SAErC,GAAc,SAAW,IAAc,CAAC,gBAAiB,wBACzD,GAAgB,GAAY,cAC5B,GAAsB,GAAY,oBAGlC,GAAiB,EAAc,GAAQ,GAAW,GAAa,GAAU,GAAQ,IACjF,GAAkB,QAAe,GAAgB,GACjD,GAAY,GAAgB,GAC5B,GAAkB,GAAgB,GAGlC,GAAa,GACb,GAAY,MAAO,KAAY,UAAY,GAC3C,GAAa,MAAO,KAAa,UAAY,GAE7C,IACF,IAAW,SAAW,SACtB,GAAW,KAAO,IAGhB,IACF,IAAW,SAAW,SACtB,GAAW,MAAQ,IAIrB,GAAI,IAAiB,GAAS,GAAS,IAAwB,IAAoB,KAAqC,OAAS,GAAgB,WAAa,MAAQ,KAA0B,OAAS,GAAwB,MAAa,MAAQ,IAAU,OAAS,EAAQ,GAAgB,WAAa,MAAQ,IAAU,OAAS,EAAQ,EAC7U,GAAiB,GAAS,IAAS,IAAwB,IAAoB,KAAqC,OAAS,GAAgB,WAAa,MAAQ,KAA0B,OAAS,GAAwB,MAAa,MAAQ,KAAU,OAAS,GAAQ,GAAgB,WAAa,MAAQ,IAAU,OAAS,EAAQ,EAE7U,GAAiB,EAAc,GAAO,IACtC,GAAkB,QAAe,GAAgB,GACjD,GAAW,GAAgB,GAC3B,GAAU,GAAgB,GAE1B,GAAe,SAAsB,GAAO,CAC9C,GAAI,GAEA,IACF,GAAQ,GAAO,GAAQ,GAAgB,GAGzC,IAAoB,MAA+C,GAAwB,GAAgB,gBAAkB,MAAQ,IAA0B,QAAkB,EAAsB,KAAK,GAAiB,KAG3N,GAAe,SAAsB,GAAO,CAC9C,GAAI,GAEA,IACF,GAAQ,GAAI,IAGd,IAAoB,MAA+C,GAAyB,GAAgB,gBAAkB,MAAQ,IAA2B,QAAkB,EAAuB,KAAK,GAAiB,KAIlO,GAAI,KAAkB,GAAK,KAAkB,EAC3C,MAAO,MAIT,GAAI,IAAS,IAAwB,GAAgB,SAAW,MAAQ,KAA0B,OAAS,GAAwB,EAA+B,CAChK,WACA,YACA,SAAU,KAGR,GAAkB,IAAW,GAAe,GAAY,IAAc,GAAI,QAAgB,GAAa,GAAG,OAAO,GAAe,aAAc,IAAa,IAAgB,QAAgB,GAAa,GAAG,OAAO,GAAe,mBAAoB,IAAgB,IAAgB,QAAgB,GAAa,GAAG,OAAO,GAAe,kBAAmB,IAAe,IAAgB,QAAgB,GAAa,GAAG,OAAO,GAAe,iBAAkB,IAAe,IAAuB,IAAgB,QAAgB,GAAa,GAAG,OAAO,GAAe,cAAe,IAAc,IAAgB,QAAgB,GAAa,GAAG,OAAO,GAAe,oBAAqB,IAAiB,IAAgB,QAAgB,GAAa,GAAG,OAAO,GAAe,mBAAoB,IAAgB,IAAgB,QAAgB,GAAa,GAAG,OAAO,GAAe,aAAc,IAAW,QAAgB,GAAa,GAAG,OAAO,GAAe,gBAAiB,IAAa,QAAgB,GAAa,GAAG,OAAO,GAAe,eAAiB,KAAa,KAAe,IAAY,IAAgB,QAAgB,GAAa,GAAG,OAAO,GAAe,cAAe,CAAC,IAAmB,IAAW,IAAc,GAAgB,UAAW,IAAoB,KAAqC,OAAS,GAAgB,WAErzC,GAAa,GAEb,IACF,IAAW,UAAY,IAGzB,GAAI,IAAc,QAAc,QAAc,QAAc,QAAc,GAAI,GAAgB,OAAQ,IAAa,IAAa,IAAoB,KAAqC,OAAS,GAAgB,OAG9M,GAAkB,GAEtB,MAAI,QAAQ,MAAqB,UAAY,CAAC,MAAM,QAAQ,KAAoB,CAAe,iBAAqB,KAClH,IAAkB,MAGhB,IAAa,KAAe,KAC9B,IAA+B,gBAAoB,OAAQ,CACzD,UAAW,GAAG,OAAO,GAAe,aACnC,KAGe,gBAAoB,GAAW,QAAS,GAAI,GAAiB,GAAiB,CAChG,UAAW,GACX,MAAO,GAEP,SACA,SAEA,gBACA,gBAEA,QAAS,KAAkB,EAAI,GAAgB,KAC/C,QAAS,KAAkB,EAAI,GAAgB,OAC7C,GAAY,IAGlB,OAA4B,OAAW,I,qJCrKxB,WAAqB,EAAM,CACxC,GAAI,IAAY,EAAK,UACjB,EAAQ,EAAK,MACb,GAAW,EAAK,SAChB,EAAe,EAAK,QACpB,EAAU,IAAiB,OAAS,EAAI,EACxC,EAAU,EAAK,QACf,EAAQ,EAAK,MAEb,EAAc,SAAW,IAAc,CAAC,YAAa,cACrD,EAAY,EAAY,UACxB,GAAY,EAAY,UAExB,EAAoB,aAAiB,KACrC,EAAoB,EAAkB,kBACtC,EAAgB,EAAkB,cAClC,GAAiB,EAAkB,eACnC,EAAU,EAAkB,QAE5B,GAAY,EAAQ,EAAU,EAC9B,GAAgB,GAAY,IAAM,EAAoB,EAAU,EAAI,EACpE,GAAY,QAAiB,EAAO,EAAQ,GAAgB,EAAG,GAAgB,EAAe,GAAW,GAAY,KAA6B,OAAS,EAAQ,IACvK,MAAoB,iBAAoB,IAAM,QAAS,CACrD,aACA,QACA,UAAW,KACX,YACA,OAAQ,KACR,UAAW,KACX,QACA,QAAS,GACT,UACA,OAAQ,UAAkB,CACxB,MAAO,MAER,K,eCzCD,EAAY,CAAC,YAEF,WAAmB,EAAM,CACtC,GAAI,IAAW,EAAK,SAChB,EAAQ,QAAyB,EAAM,GAE3C,MAAoB,iBAAoB,KAAM,EAAO,ICDvD,WAAiB,EAAM,CACrB,GAAI,IAAW,EAAK,SACpB,MAAO,IAGT,EAAQ,IAAM,EACd,EAAQ,KAAO,EACf,OAAe,G,kDCZX,EAA8B,gBAAoB,IACtD,IAAe,G,yICKf,WAAgB,EAAO,CAKrB,GAAI,GAAW,EAAM,SACjB,EAAgB,EAAM,cACtB,EAAiB,EAAM,eACvB,GAAU,EAAM,QAChB,EAAY,SAAW,IAAc,aACrC,GAAkB,EAAe,OAAS,EAC1C,EAAe,EAAe,IAC9B,GAAiB,UAAc,UAAY,CAC7C,MAAO,CACL,gBACA,iBACA,kBAAmB,GAAiB,MAAmC,EAAa,UAAY,GAAkB,KAClH,aAED,CAAC,EAAc,EAAgB,GAAiB,EAAe,KAClE,MAAoB,iBAAoB,IAAe,SAAU,CAC/D,MAAO,IACO,gBAAoB,QAAS,CAC3C,UAAW,GAAG,OAAO,EAAW,aAC/B,IAGL,IAAe,SAAkB,GAC1B,GAAI,GAAmB,K,mTC/B9B,WAAoB,EAAQ,EAAQ,EAAoB,EAAc,EAAW,EAAO,CACtF,GAAI,GAAM,GACV,EAAI,KAAK,CACP,SACA,SACA,UAEF,GAAI,GAAM,EAAU,GAChB,EAAW,GAAiB,KAAkC,OAAS,EAAa,IAAI,GAE5F,GAAI,GAAU,MAAM,QAAQ,EAAO,KAAwB,EAEzD,OAAS,GAAI,EAAG,EAAI,EAAO,GAAoB,OAAQ,GAAK,EAAG,CAC7D,GAAI,GAAU,EAAW,EAAO,GAAoB,GAAI,EAAS,EAAG,EAAoB,EAAc,EAAW,GACjH,EAAI,KAAK,MAAM,EAAK,QAAmB,IAI3C,MAAO,GAeM,WAA2B,EAAM,EAAoB,EAAc,EAAW,CAC3F,GAAI,GAAM,UAAc,UAAY,CAClC,GAAI,GAAiB,MAAmC,EAAa,KAAM,CAGzE,OAFI,GAAO,GAEF,EAAI,EAAG,EAAK,IAAS,KAA0B,OAAS,EAAK,QAAS,GAAK,EAAG,CACrF,GAAI,GAAS,EAAK,GAClB,EAAK,KAAK,MAAM,EAAM,QAAmB,EAAW,EAAQ,EAAG,EAAoB,EAAc,EAAW,KAG9G,MAAO,GAGT,MAAO,IAAS,KAA0B,OAAS,EAAK,IAAI,SAAU,EAAM,EAAO,CACjF,MAAO,CACL,OAAQ,EACR,OAAQ,EACR,YAGH,CAAC,EAAM,EAAoB,EAAc,IAC5C,MAAO,G,sCCpDT,WAAqB,EAAO,CAK1B,GAAI,GAAY,EAAM,UAClB,EAAW,EAAM,SACjB,EAAY,EAAM,UAClB,EAAgB,EAAM,cACtB,EAAY,EAAM,UAClB,EAAW,EAAM,SACjB,EAAU,EAAM,QAChB,EAAU,EAAM,QAEhB,EAAc,SAAW,IAAc,CAAC,gBAAiB,YAAa,YAAa,iBAAkB,kBACrG,EAAgB,EAAY,cAC5B,EAAY,EAAY,UACxB,EAAY,EAAY,UACxB,EAAiB,EAAY,eAC7B,EAAgB,EAAY,cAG5B,EAAc,EAElB,MAAI,GAAU,EAAgB,IAC5B,GAA2B,gBAAoB,MAAO,CACpD,MAAO,CACL,MAAO,EAAkB,GAAY,EAAgB,GACrD,SAAU,SACV,KAAM,EACN,SAAU,UAEZ,UAAW,GAAG,OAAO,EAAW,wBAC/B,IAAmB,GAAK,IAGT,gBAAoB,EAAW,CACjD,YACA,MAAO,CACL,QAAS,EAAW,KAAO,SAEf,gBAAoB,KAAM,CACxC,UAAW,EACX,YACA,WACC,IAGL,MAAe,EC1Cf,WAAiB,EAAO,CAKtB,GAAI,GAAY,EAAM,UAClB,EAAQ,EAAM,MACd,EAAS,EAAM,OACf,EAAQ,EAAM,MACd,EAAc,EAAM,YACpB,EAAS,EAAM,OACf,EAAgB,EAAM,cACtB,EAAe,EAAM,aACrB,EAAQ,EAAM,MACd,EAAgB,EAAM,OACtB,EAAS,IAAkB,OAAS,EAAI,EACxC,EAAe,EAAM,aACrB,EAAgB,EAAM,cACtB,EAAqB,EAAM,mBAC3B,EAAqB,EAAM,mBAE3B,EAAc,SAAW,IAAc,CAAC,YAAa,gBAAiB,iBAAkB,iBAAkB,mBAAoB,kBAAmB,eAAgB,uBAAwB,aAAc,aAAc,oBAAqB,0BAC1O,EAAY,EAAY,UACxB,EAAgB,EAAY,cAC5B,GAAiB,EAAY,eAC7B,GAAiB,EAAY,eAC7B,EAAmB,EAAY,iBAC/B,EAAkB,EAAY,gBAC9B,GAAe,EAAY,aAC3B,GAAuB,EAAY,qBACnC,GAAa,EAAY,WACzB,GAAa,EAAY,WACzB,GAAoB,EAAY,kBAChC,GAAwB,EAAY,sBAEpC,EAAkB,WAAe,IACjC,GAAmB,QAAe,EAAiB,GACnD,GAAe,GAAiB,GAChC,EAAkB,GAAiB,GAMnC,EAAW,GAAgB,EAAa,IAAI,GAChD,YAAgB,UAAY,CACtB,GACF,EAAgB,KAEjB,CAAC,IACJ,GAAI,IAAmB,KAAmB,OAAU,EAAC,GAAiB,EAAc,IAEhF,GAAiB,KAAmB,OACpC,GAAkB,GAAsB,GAAU,EAAO,GACzD,GAAmB,IAAoB,GAEvC,GAAc,SAAa,GAC/B,GAAY,QAAU,EAEtB,GAAI,IAA0B,UAAmC,CAC/D,GAAY,QAAQ,MAAM,GAAa,YAIrC,GAAkB,GAAU,KAA2B,OAAS,EAAM,EAAQ,GAE9E,GAAU,SAAiB,GAAO,CACpC,GAAI,GAEA,GAAoB,IACtB,GAAwB,EAAQ,IAGlC,OAAS,IAAO,UAAU,OAAQ,GAAO,GAAI,OAAM,GAAO,EAAI,GAAO,EAAI,GAAI,GAAO,EAAG,GAAO,GAAM,KAClG,GAAK,GAAO,GAAK,UAAU,IAG7B,IAAoB,MAA+C,GAAwB,GAAgB,WAAa,MAAQ,IAA0B,QAAkB,EAAsB,KAAK,MAAM,EAAuB,CAAC,GAAiB,IAAO,OAAO,MAIlQ,GAEA,MAAO,KAAiB,SAC1B,GAAsB,GACb,MAAO,KAAiB,YACjC,IAAsB,GAAa,EAAQ,EAAO,IAGpD,GAAI,IAAa,QAAc,IAC3B,GAA2B,gBAAoB,EAAc,QAAS,GAAI,GAAiB,CAC7F,eAAgB,EAChB,UAAW,IAAW,EAAW,GAAG,OAAO,EAAW,QAAS,GAAG,OAAO,EAAW,eAAe,OAAO,GAAS,GAAqB,IAAmB,GAAgB,WAC3K,MAAO,QAAc,QAAc,GAAI,GAAQ,GAAkB,GAAgB,MAAQ,MACzF,aACE,GAAe,IAAI,SAAU,GAAQ,GAAU,CACjD,GAAI,GAAS,GAAO,OAChB,GAAY,GAAO,UACnB,GAAkB,GAAO,UACzB,GAAM,GAAW,IACjB,GAAY,EAAc,IAE1B,GAEA,KAAc,KAAyB,IAAM,IAC/C,IAA8B,gBAAoB,WAAgB,KAAmB,gBAAoB,OAAQ,CAC/G,MAAO,CACL,YAAa,GAAG,OAAO,GAAa,EAAQ,OAE9C,UAAW,GAAG,OAAO,EAAW,6BAA6B,OAAO,KAClE,GAAW,CACb,YACA,WACA,WAAY,GACZ,SACA,SAAU,OAId,GAAI,IAEJ,MAAI,IAAO,QACT,IAAsB,GAAO,OAAO,EAAQ,IAG1B,gBAAoB,KAAM,QAAS,CACrD,UAAW,GACX,SAAU,GAAO,SACjB,MAAO,GAAO,MACd,MAAO,GAAO,SACd,UAAW,GAAO,SAAW,EAAqB,EAClD,YACA,OACA,SACA,QACA,cACA,aACA,SACA,iBAAkB,GAAO,iBACzB,SAAU,IAAkB,GAC3B,GAAW,CACZ,WAAY,GACZ,gBAAiB,SAIjB,GAEJ,GAAI,IAAqB,KAAgB,GAAW,CAClD,GAAI,IAAgB,GAAkB,EAAQ,EAAO,EAAS,EAAG,GAC7D,GAA+B,IAAwB,GAAqB,EAAQ,EAAO,GAC/F,GAA6B,gBAAoB,EAAa,CAC5D,WACA,UAAW,IAAW,GAAG,OAAO,EAAW,iBAAkB,GAAG,OAAO,EAAW,wBAAwB,OAAO,EAAS,GAAI,IAC9H,YACA,UAAW,EACX,gBACA,QAAS,GAAe,OACxB,QAAS,IACR,IAGL,MAAoB,iBAAoB,WAAgB,KAAM,GAAa,IAG7E,EAAQ,YAAc,UACtB,OAAe,SAAkB,GChLlB,WAAqB,EAAM,CACxC,GAAI,GAAY,EAAK,UACjB,EAAiB,EAAK,eACtB,EAAU,WACd,mBAAgB,UAAY,CACtB,EAAQ,SACV,EAAe,EAAW,EAAQ,QAAQ,cAE3C,IACiB,gBAAoB,IAAgB,CACtD,KAAM,GACQ,gBAAoB,KAAM,CACxC,IAAK,EACL,MAAO,CACL,QAAS,EACT,OAAQ,EACR,OAAQ,IAEI,gBAAoB,MAAO,CACzC,MAAO,CACL,OAAQ,EACR,SAAU,WAEX,UCtBU,YAAoB,EAAM,CACvC,GAAI,GAAY,EAAK,UACjB,EAAa,EAAK,WAClB,EAAiB,EAAK,eAC1B,MAAoB,iBAAoB,KAAM,CAC5C,cAAe,OACf,UAAW,GAAG,OAAO,EAAW,gBAChC,MAAO,CACL,OAAQ,EACR,SAAU,IAEE,gBAAoB,IAAe,WAAY,CAC7D,cAAe,SAAuB,EAAU,CAC9C,EAAS,QAAQ,SAAU,EAAO,CAChC,GAAI,GAAY,EAAM,KAClB,EAAO,EAAM,KACjB,EAAe,EAAW,EAAK,iBAGlC,EAAW,IAAI,SAAU,EAAW,CACrC,MAAoB,iBAAoB,EAAa,CACnD,IAAK,EACL,YACA,uBCfN,YAAc,EAAO,CAKnB,GAAI,GAAO,EAAM,KACb,EAAY,EAAM,UAClB,EAAqB,EAAM,mBAC3B,EAAe,EAAM,aACrB,EAAQ,EAAM,MACd,EAAgB,EAAM,cACtB,EAAY,EAAM,UAClB,EAAqB,EAAM,mBAE3B,EAAc,SAAW,IAAc,CAAC,YAAa,eAAgB,iBAAkB,mBACvF,EAAY,EAAY,UACxB,EAAe,EAAY,aAC3B,EAAiB,EAAY,eAC7B,EAAiB,EAAY,eAE7B,EAAc,EAAkB,EAAM,EAAoB,EAAc,GAExE,EAAU,SAAa,CACzB,gBAAiB,KAGf,EAAmB,EAAa,CAAC,OAAQ,WAAY,SACrD,EAAc,EAAa,CAAC,OAAQ,OAAQ,MAC5C,EAAc,EAAa,CAAC,OAAQ,QAAS,MAC7C,GAAc,EAAa,CAAC,OAAQ,QAAS,MAC7C,GAEA,EAAK,OACP,GAAO,EAAY,IAAI,SAAU,EAAM,GAAK,CAC1C,GAAI,IAAS,EAAK,OACd,GAAS,EAAK,OACd,GAAc,EAAK,MACnB,GAAM,EAAU,GAAQ,IAC5B,MAAoB,iBAAoB,GAAS,CAC/C,OACA,OAAQ,GACR,UACA,MAAO,GACP,eACA,aAAc,EACd,cAAe,EACf,mBAAoB,GACpB,eACA,QACA,YACA,gBACA,qBACA,cAIJ,GAAoB,gBAAoB,EAAa,CACnD,SAAU,GACV,UAAW,GAAG,OAAO,EAAW,gBAChC,YACA,UAAW,EACX,cAAe,EACf,QAAS,EAAe,OACxB,QAAS,IACR,GAGL,GAAI,GAAa,QAAc,GAC/B,MAAoB,iBAAoB,KAAY,SAAU,CAC5D,MAAO,EAAQ,SACD,gBAAoB,EAAkB,CACpD,UAAW,GAAG,OAAO,EAAW,WAC/B,GAAmC,gBAAoB,GAAY,CACpE,YACA,aACA,mBACE,KAGN,GAAK,YAAc,OACnB,OAAe,SAAkB,I,wBCzF7B,GAAY,CAAC,cAIjB,YAAkB,EAAM,CAUtB,OATI,GAAY,EAAK,UACjB,EAAU,EAAK,QACf,EAAa,EAAK,WAClB,EAAO,GACP,EAAM,GAAc,EAAQ,OAG5B,EAAa,GAER,EAAI,EAAM,EAAG,GAAK,EAAG,GAAK,EAAG,CACpC,GAAI,GAAQ,EAAU,GAClB,EAAS,GAAW,EAAQ,GAC5B,EAAkB,GAAU,EAAO,MAEvC,GAAI,GAAS,GAAmB,EAAY,CAC1C,GAAI,GAAQ,GAAmB,GAC3B,EAAa,EAAM,WACnB,EAAsB,SAAyB,EAAO,IAE1D,EAAK,QAAsB,gBAAoB,MAAO,QAAS,CAC7D,IAAK,EACL,MAAO,CACL,UAED,KACH,EAAa,IAIjB,MAAoB,iBAAoB,WAAY,KAAM,GAG5D,OAAe,G,wBCnCX,GAAY,CAAC,YAAa,SAAU,UAAW,iBAAkB,YAAa,aAAc,gBAAiB,YAAa,YAAa,kBAAmB,qBAAsB,kBAAmB,WAAY,mBAAoB,YAUvO,YAAwB,EAAW,EAAY,CAC7C,MAAO,cAAQ,UAAY,CAGzB,OAFI,GAAe,GAEV,EAAI,EAAG,EAAI,EAAY,GAAK,EAAG,CACtC,GAAI,GAAM,EAAU,GAEpB,GAAI,IAAQ,OACV,EAAa,GAAK,MAElB,OAAO,MAIX,MAAO,IACN,CAAC,EAAU,KAAK,KAAM,IAG3B,GAAI,IAA2B,aAAiB,SAAU,EAAO,EAAK,CAKpE,GAAI,GAAY,EAAM,UAClB,EAAS,EAAM,OACf,EAAU,EAAM,QAChB,EAAiB,EAAM,eACvB,EAAY,EAAM,UAClB,EAAa,EAAM,WACnB,EAAgB,EAAM,cACtB,EAAY,EAAM,UAClB,EAAY,EAAM,UAClB,EAAkB,EAAM,gBACxB,EAAqB,EAAM,mBAC3B,EAAkB,EAAM,gBACxB,EAAW,EAAM,SACjB,EAAmB,EAAM,iBACzB,EAAW,EAAM,SACjB,EAAY,SAAyB,EAAO,IAE5C,EAAc,SAAW,IAAc,CAAC,YAAa,gBAAiB,aACtE,GAAY,EAAY,UACxB,GAAgB,EAAY,cAC5B,EAAW,EAAY,SAEvB,EAA2B,GAAY,CAAC,EAAY,EAAI,GAExD,GAAY,SAAa,MACzB,GAAe,cAAkB,SAAU,EAAS,CACtD,UAAQ,EAAK,GACb,UAAQ,GAAW,IAClB,IACH,YAAgB,UAAY,CAC1B,GAAI,GAEJ,WAAiB,GAAG,CAClB,GAAI,IAAO,GACP,GAAgB,GAAK,cACrB,GAAS,GAAK,OAEd,IACF,GAAS,CACP,iBACA,WAAY,GAAc,WAAa,KAEzC,GAAE,kBAIL,SAAqB,GAAU,WAAa,MAAQ,IAAuB,QAAkB,EAAmB,iBAAiB,QAAS,GACpI,UAAY,CACjB,GAAI,IAEH,IAAsB,GAAU,WAAa,MAAQ,KAAwB,QAAkB,GAAoB,oBAAoB,QAAS,KAElJ,IAEH,GAAI,IAA6B,UAAc,UAAY,CACzD,MAAO,GAAe,MAAM,SAAU,EAAQ,CAC5C,MAAO,GAAO,OAAS,KAExB,CAAC,IAEA,GAAa,EAAe,EAAe,OAAS,GACpD,GAAkB,CACpB,MAAO,GAAa,GAAW,MAAQ,KACvC,UAAW,GACX,aAAc,UAAwB,CACpC,MAAO,CACL,UAAW,GAAG,OAAO,GAAW,sBAIlC,GAAuB,cAAQ,UAAY,CAC7C,MAAO,GAA2B,GAAG,OAAO,QAAmB,GAAU,CAAC,KAAoB,GAC7F,CAAC,EAA0B,IAC1B,EAA8B,cAAQ,UAAY,CACpD,MAAO,GAA2B,GAAG,OAAO,QAAmB,GAAiB,CAAC,KAAoB,GACpG,CAAC,EAA0B,IAE1B,GAAsB,cAAQ,UAAY,CAC5C,GAAI,GAAQ,EAAc,MACtB,EAAO,EAAc,KACzB,MAAO,QAAc,QAAc,GAAI,GAAgB,GAAI,CACzD,KAAM,IAAc,MAAQ,GAAG,OAAO,QAAmB,EAAK,IAAI,SAAU,GAAO,CACjF,MAAO,IAAQ,KACZ,CAAC,IAAM,EACZ,MAAO,IAAc,MAAQ,EAAQ,GAAG,OAAO,QAAmB,EAAM,IAAI,SAAU,GAAO,CAC3F,MAAO,IAAQ,KACZ,CAAC,IACN,cAED,CAAC,EAA0B,EAAe,IACzC,GAAoB,GAAe,EAAW,GAClD,MAAoB,iBAAoB,MAAO,CAC7C,MAAO,QAAc,CACnB,SAAU,UACT,EAAW,CACZ,IAAK,EACL,OAAQ,GACN,IACJ,IAAK,GACL,UAAW,IAAW,EAAW,QAAgB,GAAI,EAAiB,CAAC,CAAC,KAC1D,gBAAoB,QAAS,CAC3C,MAAO,CACL,YAAa,QACb,WAAY,GAAU,GAAoB,KAAO,WAEjD,EAAC,GAAU,CAAC,GAAoB,KAA4C,gBAAoB,GAAU,CAC5G,UAAW,GAAoB,GAAG,OAAO,QAAmB,IAAoB,CAAC,IAA6B,GAC9G,WAAY,EAAa,EACzB,QAAS,IACP,EAAS,QAAc,QAAc,GAAI,GAAY,GAAI,CAC3D,cAAe,GACf,QAAS,GACT,eAAgB,SAGpB,GAAY,YAAc,cAI1B,OAA4B,OAAW,I,oCCpJvC,YAAmB,EAAM,CACvB,GAAI,GAAQ,EAAK,MACb,EAAgB,EAAK,cACrB,EAAiB,EAAK,eACtB,EAAe,EAAK,aACpB,EAAgB,EAAK,cACrB,EAAkB,EAAK,gBACvB,EAAc,EAAK,YACnB,EAAQ,EAAK,MAEb,EAAc,SAAW,IAAc,CAAC,YAAa,cACrD,EAAY,EAAY,UACxB,EAAY,EAAY,UAExB,EAEA,GACF,GAAW,EAAY,EAAM,IAAI,SAAU,EAAM,CAC/C,MAAO,GAAK,SACV,IAGN,GAAI,GAAa,QAAc,EAAM,IAAI,SAAU,EAAM,CACvD,MAAO,GAAK,UAEd,MAAoB,iBAAoB,EAAc,EAAU,EAAM,IAAI,SAAU,EAAM,EAAW,CACnG,GAAI,GAAS,EAAK,OACd,EAAY,SAAiB,EAAK,SAAU,EAAK,OAAQ,EAAgB,EAAe,EAAW,GACnG,EAEJ,MAAI,IAAU,EAAO,cACnB,GAAkB,EAAK,OAAO,aAAa,IAGzB,gBAAoB,KAAM,QAAS,GAAI,EAAM,CAC/D,MAAO,EAAO,MAAQ,EAAK,QAAU,EAAI,WAAa,MAAQ,KAC9D,SAAU,EAAO,SACjB,MAAO,EAAO,MACd,UAAW,EAAO,MAAQ,EAAgB,EAC1C,YACA,IAAK,EAAW,IACf,EAAW,CACZ,kBACA,QAAS,eAKf,GAAU,YAAc,YACxB,OAAe,GCnDf,YAAyB,EAAa,CACpC,GAAI,GAAO,GAEX,WAAsB,EAAS,EAAU,CACvC,GAAI,GAAW,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,EAEnF,EAAK,GAAY,EAAK,IAAa,GACnC,GAAI,GAAkB,EAClB,EAAW,EAAQ,OAAO,SAAS,IAAI,SAAU,EAAQ,CAC3D,GAAI,GAAO,CACT,IAAK,EAAO,IACZ,UAAW,EAAO,WAAa,GAC/B,SAAU,EAAO,MACjB,SACA,SAAU,GAER,EAAU,EACV,EAAa,EAAO,SAExB,MAAI,IAAc,EAAW,OAAS,GACpC,GAAU,EAAa,EAAY,EAAiB,EAAW,GAAG,OAAO,SAAU,EAAO,EAAO,CAC/F,MAAO,GAAQ,GACd,GACH,EAAK,cAAgB,IAGnB,WAAa,IACf,GAAU,EAAO,SAGf,WAAa,IACf,GAAK,QAAU,EAAO,SAGxB,EAAK,QAAU,EACf,EAAK,OAAS,EAAK,SAAW,EAAU,EACxC,EAAK,GAAU,KAAK,GACpB,GAAmB,EACZ,IAET,MAAO,GAIT,EAAa,EAAa,GAa1B,OAXI,GAAW,EAAK,OAEhB,EAAQ,SAAe,EAAU,CACnC,EAAK,GAAU,QAAQ,SAAU,EAAM,CACjC,CAAE,YAAa,KAAS,CAAC,EAAK,eAEhC,GAAK,QAAU,EAAW,MAKvB,EAAW,EAAG,EAAW,EAAU,GAAY,EACtD,EAAM,GAGR,MAAO,GAGT,YAAgB,EAAO,CAKrB,GAAI,GAAgB,EAAM,cACtB,EAAU,EAAM,QAChB,EAAiB,EAAM,eACvB,EAAc,EAAM,YAEpB,EAAc,SAAW,IAAc,CAAC,YAAa,iBACrD,EAAY,EAAY,UACxB,EAAe,EAAY,aAE3B,EAAO,UAAc,UAAY,CACnC,MAAO,IAAgB,IACtB,CAAC,IACA,EAAmB,EAAa,CAAC,SAAU,WAAY,SACvD,EAAc,EAAa,CAAC,SAAU,OAAQ,MAC9C,EAAc,EAAa,CAAC,SAAU,QAAS,MAC/C,EAAc,EAAa,CAAC,SAAU,QAAS,MACnD,MAAoB,iBAAoB,EAAkB,CACxD,UAAW,GAAG,OAAO,EAAW,WAC/B,EAAK,IAAI,SAAU,EAAK,EAAU,CACnC,GAAI,GAAuB,gBAAoB,GAAW,CACxD,IAAK,EACL,iBACA,MAAO,EACP,gBACA,aAAc,EACd,cAAe,EACf,gBAAiB,EACjB,cACA,MAAO,IAET,MAAO,MAIX,OAAe,SAAkB,I,wBC1G1B,YAA0B,EAAM,CACrC,GAAI,GAEA,EAAY,EAAK,UACjB,EAAS,EAAK,OACd,EAAW,EAAK,SAChB,EAAW,EAAK,SAChB,EAAa,EAAK,WAClB,EAAkB,GAAG,OAAO,EAAW,oBAE3C,GAAI,CAAC,EACH,MAAoB,iBAAoB,OAAQ,CAC9C,UAAW,IAAW,EAAiB,GAAG,OAAO,EAAW,kBAIhE,GAAI,GAAU,SAAiB,EAAO,CACpC,EAAS,EAAQ,GACjB,EAAM,mBAGR,MAAoB,iBAAoB,OAAQ,CAC9C,UAAW,IAAW,EAAkB,GAAc,GAAI,QAAgB,EAAa,GAAG,OAAO,EAAW,iBAAkB,GAAW,QAAgB,EAAa,GAAG,OAAO,EAAW,kBAAmB,CAAC,GAAW,IAC1N,YAGG,YAA6B,EAAM,EAAW,EAAoB,CACvE,GAAI,GAAO,GAEX,WAAa,EAAM,CAChB,IAAQ,IAAI,QAAQ,SAAU,EAAM,EAAO,CAC1C,EAAK,KAAK,EAAU,EAAM,IAC1B,EAAI,EAAK,MAIb,SAAI,GACG,EChCM,YAAmB,EAAO,EAAY,EAAW,CAC9D,GAAI,GAAmB,SAAmB,GACtC,EAAa,EAAiB,WAC9B,EAAkB,EAAiB,gBACnC,EAAyB,EAAiB,uBAC1C,EAAuB,EAAiB,qBACxC,EAAoB,EAAiB,kBACrC,EAAW,EAAiB,SAC5B,EAAuB,EAAiB,qBACxC,EAAqB,EAAiB,mBACtC,EAAmB,GAAc,GACjC,EAA2B,GAAsB,WACjD,EAAiB,UAAc,UAAY,CAC7C,MAAI,GACK,MAcL,EAAM,YAAc,EAAM,gBAAkB,IAAkB,EAAM,WAAW,wBAA0B,EAAW,KAAK,SAAU,EAAQ,CAC7I,MAAO,IAAU,SAAQ,KAAY,UAAY,EAAO,KAEjD,OAKF,IACN,CAAC,CAAC,CAAC,EAAmB,IAErB,EAAkB,WAAe,UAAY,CAC/C,MAAI,IAIA,GACK,GAAoB,EAAY,EAAW,GAG7C,MAEL,EAAmB,QAAe,EAAiB,GACnD,EAAoB,EAAiB,GACrC,EAAuB,EAAiB,GAExC,GAAqB,UAAc,UAAY,CACjD,MAAO,IAAI,KAAI,GAAmB,GAAqB,KACtD,CAAC,EAAiB,IACjB,GAAkB,cAAkB,SAAU,EAAQ,CACxD,GAAI,GAAM,EAAU,EAAQ,EAAW,QAAQ,IAC3C,GACA,GAAS,GAAmB,IAAI,GAEhC,GACF,IAAmB,OAAO,GAC1B,GAAkB,QAAmB,KAErC,GAAkB,GAAG,OAAO,QAAmB,IAAqB,CAAC,IAGvE,EAAqB,IAEjB,GACF,EAAS,CAAC,GAAQ,GAGhB,GACF,EAAqB,KAEtB,CAAC,EAAW,GAAoB,EAAY,EAAU,IAQzD,MAAO,CAAC,EAAkB,EAAgB,GAAoB,EAAkB,EAA0B,I,4BC3F7F,YAAsB,EAAgB,EAAe,EAAW,EAAS,CACtF,GAAI,GAAgB,EAAe,IAAI,SAAU,EAAG,EAAU,CAC5D,MAAO,SAAiB,EAAU,EAAU,EAAgB,EAAe,EAAW,GAAY,KAA6B,OAAS,EAAQ,MAElJ,MAAO,SAAQ,UAAY,CACzB,MAAO,IACN,CAAC,GAAgB,SAAU,EAAM,EAAM,CACxC,MAAO,CAAC,SAAQ,EAAM,KCJnB,YAAwB,EAAc,CAC3C,GAAI,GAAW,aAAO,GAElB,EAAY,eAAS,IACrB,EAAa,QAAe,EAAW,GACvC,EAAc,EAAW,GAEzB,EAAiB,aAAO,MACxB,EAAiB,aAAO,IAE5B,WAAuB,EAAS,CAC9B,EAAe,QAAQ,KAAK,GAC5B,GAAI,GAAU,QAAQ,UACtB,EAAe,QAAU,EACzB,EAAQ,KAAK,UAAY,CACvB,GAAI,EAAe,UAAY,EAAS,CACtC,GAAI,GAAY,EAAe,QAC3B,EAAY,EAAS,QACzB,EAAe,QAAU,GACzB,EAAU,QAAQ,SAAU,EAAc,CACxC,EAAS,QAAU,EAAa,EAAS,WAE3C,EAAe,QAAU,KAErB,IAAc,EAAS,SACzB,EAAY,OAMpB,sBAAU,UAAY,CACpB,MAAO,WAAY,CACjB,EAAe,QAAU,OAE1B,IACI,CAAC,EAAS,QAAS,GAIrB,YAAwB,EAAc,CAC3C,GAAI,GAAW,aAAO,GAAgB,MAClC,EAAa,eAEjB,YAAmB,CACjB,OAAO,aAAa,EAAW,SAGjC,WAAkB,EAAU,CAC1B,EAAS,QAAU,EACnB,IACA,EAAW,QAAU,OAAO,WAAW,UAAY,CACjD,EAAS,QAAU,KACnB,EAAW,QAAU,QACpB,KAGL,YAAoB,CAClB,MAAO,GAAS,QAGlB,sBAAU,UAAY,CACpB,MAAO,IACN,IACI,CAAC,EAAU,GCpEL,aAAoB,CACjC,GAAI,GAAkB,WAAe,IACjC,EAAmB,QAAe,EAAiB,GACnD,EAAW,EAAiB,GAC5B,EAAc,EAAiB,GAE/B,EAAmB,WAAe,IAClC,EAAmB,QAAe,EAAkB,GACpD,EAAS,EAAiB,GAC1B,EAAY,EAAiB,GAE7B,EAAU,cAAkB,SAAU,EAAO,EAAK,CACpD,EAAY,GACZ,EAAU,IACT,IACH,MAAO,CAAC,EAAU,EAAQ,G,gBCbxB,GAAmB,WAAc,OAAS,KAG/B,YAAmB,EAAQ,EAAW,CACnD,GAAI,GAAO,SAAQ,KAAY,SAAW,EAAS,GAC/C,EAAoB,EAAK,aACzB,EAAe,IAAsB,OAAS,EAAI,EAClD,EAAqB,EAAK,cAC1B,EAAgB,IAAuB,OAAS,EAAI,EACpD,EAAoB,EAAK,aACzB,EAAe,IAAsB,OAAS,EAAI,EAClD,EAAoB,EAAK,aACzB,EAAe,IAAsB,OAAS,UAAY,CAC5D,MAAO,KACL,EAEA,EAAY,KAAkB,GAClC,MAAO,WAAc,UAAY,CAC/B,GAAI,GAAW,CAAC,CAAC,EACjB,MAAO,CACL,WACA,gBAAiB,EAAW,GAAG,OAAO,EAAW,kBAAoB,GACrE,eACA,gBACA,eACA,cAED,CAAC,EAAc,EAAc,EAAe,EAAW,IC1B5D,YAA0B,EAAW,EAAa,EAAW,CAC3D,GAAI,GAAgB,cAAQ,UAAY,CAMtC,OALI,GAAc,GACd,EAAe,GACf,EAAO,EACP,EAAQ,EAEH,EAAQ,EAAG,EAAQ,EAAa,GAAS,EAChD,GAAI,IAAc,MAAO,CAEvB,EAAa,GAAS,EACtB,GAAS,EAAU,IAAU,EAE7B,GAAI,GAAM,EAAc,EAAQ,EAChC,EAAY,GAAO,EACnB,GAAQ,EAAU,IAAQ,MACrB,CAEL,EAAY,GAAS,EACrB,GAAQ,EAAU,IAAU,EAE5B,GAAI,GAAO,EAAc,EAAQ,EAEjC,EAAa,GAAQ,EACrB,GAAS,EAAU,IAAS,EAIhC,MAAO,CACL,KAAM,EACN,MAAO,IAER,CAAC,EAAW,EAAa,IAC5B,MAAO,GAGT,OAAe,GCvCf,YAAe,EAAM,CACnB,GAAI,GAAY,EAAK,UACjB,EAAW,EAAK,SACpB,MAAoB,iBAAoB,MAAO,CAC7C,aACC,GAGL,OAAe,G,wBCEX,GAAkB,SAAyB,EAAM,EAAK,CACxD,GAAI,GAAuB,EAEvB,EAAgB,EAAK,cACrB,EAAW,EAAK,SAChB,EAAe,EAAK,aACpB,EAAY,EAAK,UACjB,EAAY,SAAW,IAAc,aACrC,EAAoB,IAAwB,EAAc,WAAa,MAAQ,IAA0B,OAAS,OAAS,EAAsB,cAAgB,EACjK,EAAc,IAAyB,EAAc,WAAa,MAAQ,IAA2B,OAAS,OAAS,EAAuB,cAAgB,EAC9J,EAAiB,GAAmB,EAAa,GAAY,GAC7D,EAAe,WAEf,EAAkB,GAAe,CACnC,WAAY,EACZ,kBAAmB,KAEjB,EAAmB,QAAe,EAAiB,GACnD,EAAc,EAAiB,GAC/B,EAAiB,EAAiB,GAElC,EAAW,SAAa,CAC1B,MAAO,EACP,EAAG,IAGD,GAAkB,WAAe,IACjC,GAAmB,QAAe,GAAiB,GACnD,EAAW,GAAiB,GAC5B,EAAY,GAAiB,GAE7B,GAAY,UAAqB,CACnC,EAAU,KAGR,GAAc,SAAqB,EAAO,CAC5C,EAAM,UACN,EAAS,QAAQ,MAAQ,EAAM,MAAQ,EAAY,WACnD,EAAS,QAAQ,EAAI,EACrB,EAAU,IACV,EAAM,kBAGJ,GAAc,SAAqB,EAAO,CAC5C,GAAI,IAGA,GAAQ,GAAW,KAAU,UAAY,MAAQ,KAAY,OAAS,OAAS,GAAQ,OACvF,EAAU,GAAM,QAEpB,GAAI,CAAC,GAAY,IAAY,EAAG,CAE1B,GACF,EAAU,IAGZ,OAGF,GAAI,GAAO,EAAS,QAAQ,EAAI,EAAM,MAAQ,EAAS,QAAQ,EAAI,EAAS,QAAQ,MAEhF,GAAQ,GACV,GAAO,GAGL,EAAO,GAAkB,GAC3B,GAAO,EAAY,GAGrB,EAAS,CACP,WAAY,EAAO,EAAa,GAAkB,KAEpD,EAAS,QAAQ,EAAI,EAAM,OAGzB,GAAoB,UAA6B,CACnD,GAAI,EAAC,EAAc,QAInB,IAAI,GAAiB,UAAU,EAAc,SAAS,IAClD,GAAoB,EAAiB,EAAc,QAAQ,aAC3D,GAAsB,IAAc,OAAS,SAAS,gBAAgB,UAAY,OAAO,YAAc,UAAU,GAAW,IAAM,EAAU,aAE5I,GAAoB,WAAsB,IAAuB,GAAkB,GAAsB,EAC3G,EAAe,SAAU,EAAO,CAC9B,MAAO,QAAc,QAAc,GAAI,GAAQ,GAAI,CACjD,kBAAmB,OAIvB,EAAe,SAAU,EAAO,CAC9B,MAAO,QAAc,QAAc,GAAI,GAAQ,GAAI,CACjD,kBAAmB,SAMvB,GAAgB,SAAuB,EAAM,CAC/C,EAAe,SAAU,GAAO,CAC9B,MAAO,QAAc,QAAc,GAAI,IAAQ,GAAI,CACjD,WAAY,EAAO,EAAkB,GAAa,OA2CxD,MAtCA,uBAA0B,EAAK,UAAY,CACzC,MAAO,CACL,oBAGJ,YAAgB,UAAY,CAC1B,GAAI,IAAoB,SAAiB,SAAS,KAAM,UAAW,GAAW,IAC1E,EAAsB,SAAiB,SAAS,KAAM,YAAa,GAAa,IACpF,YACO,UAAY,CACjB,GAAkB,SAClB,EAAoB,WAErB,CAAC,EAAgB,IACpB,YAAgB,UAAY,CAC1B,GAAI,IAAmB,SAAiB,EAAW,SAAU,GAAmB,IAC5E,EAAmB,SAAiB,OAAQ,SAAU,GAAmB,IAC7E,MAAO,WAAY,CACjB,GAAiB,SACjB,EAAiB,WAElB,CAAC,IACJ,YAAgB,UAAY,CACrB,EAAY,mBACf,EAAe,SAAU,GAAO,CAC9B,GAAI,GAAW,EAAc,QAE7B,MAAK,GAIE,QAAc,QAAc,GAAI,IAAQ,GAAI,CACjD,WAAY,EAAS,WAAa,EAAS,YAAc,EAAS,cAJ3D,MAQZ,CAAC,EAAY,oBAEZ,GAAmB,GAAa,CAAC,GAAkB,EAAY,kBAC1D,KAGW,gBAAoB,MAAO,CAC7C,MAAO,CACL,OAAQ,UACR,MAAO,EACP,OAAQ,GAEV,UAAW,GAAG,OAAO,EAAW,mBAClB,gBAAoB,MAAO,CACzC,eACA,IAAK,EACL,UAAW,IAAW,GAAG,OAAO,EAAW,sBAAuB,QAAgB,GAAI,GAAG,OAAO,EAAW,6BAA8B,IACzI,MAAO,CACL,MAAO,GAAG,OAAO,EAAgB,MACjC,UAAW,eAAe,OAAO,EAAY,WAAY,kBAK/D,GAA4B,aAAiB,IC5K7C,YAAgB,EAAG,CACjB,MAAO,MAGT,OAAe,GCJf,YAAqB,EAAG,CACtB,MAAO,MAGT,OAAe,GCmDX,GAAa,GAEb,GAAsB,GACf,GAAiB,yBAE5B,aAAwB,CACtB,MAAO,UAGT,YAAe,EAAY,CACzB,GAAI,GAEA,EAAQ,QAAc,CACxB,OAAQ,MACR,UAAW,WACX,UAAW,IACV,GAEC,EAAY,EAAM,UAClB,EAAY,EAAM,UAClB,EAAe,EAAM,aACrB,EAAQ,EAAM,MACd,EAAO,EAAM,KACb,EAAS,EAAM,OACf,EAAS,EAAM,OACf,EAAc,EAAM,YACpB,EAAY,EAAM,UAClB,EAAQ,EAAM,MACd,EAAS,EAAM,OACf,EAAU,EAAM,QAChB,EAAU,EAAM,QAChB,EAAK,EAAM,GACX,EAAa,EAAM,WACnB,EAAa,EAAM,WACnB,GAAY,EAAM,UAClB,GAAQ,EAAM,MACd,EAAc,EAAM,YACpB,EAAgB,EAAM,cACtB,GAAmB,EAAM,iBACzB,GAAe,EAAM,aACrB,GAAS,EAAM,OACf,GAAa,GAAQ,GACrB,GAAU,CAAC,CAAC,GAAW,OAUvB,GAAe,cAAkB,SAAU,EAAM,EAAkB,CACrE,MAAO,QAAS,EAAY,IAAS,GACpC,CAAC,IACA,EAAY,UAAc,UAAY,CACxC,MAAI,OAAO,IAAW,WACb,EAGF,SAAU,EAAQ,CACvB,GAAI,GAAM,GAAU,EAAO,GAM3B,MAAO,KAER,CAAC,IAEA,GAAY,KACZ,GAAa,QAAe,GAAW,GACvC,EAAW,GAAW,GACtB,EAAS,GAAW,GACpB,GAAU,GAAW,GAGrB,GAAa,GAAU,EAAO,GAAY,GAC1C,GAAc,QAAe,GAAY,GACzC,GAAmB,GAAY,GAC/B,GAAiB,GAAY,GAC7B,GAAqB,GAAY,GACjC,GAAmB,GAAY,GAC/B,GAA2B,GAAY,GACvC,GAAkB,GAAY,GAG9B,GAAkB,WAAe,GACjC,GAAmB,QAAe,GAAiB,GACnD,GAAiB,GAAiB,GAClC,GAAoB,GAAiB,GAErC,GAAc,SAAW,QAAc,QAAc,QAAc,GAAI,GAAQ,IAAmB,GAAI,CACxG,WAAY,CAAC,CAAC,GAAiB,kBAC/B,YAAa,GAAiB,YAC9B,aAAc,GACd,YAEA,mBACA,WAAY,GACZ,sBAAuB,GAAiB,sBACxC,cACE,IAAkB,GAAiB,GAAmB,MACtD,GAAe,QAAe,GAAa,GAC3C,GAAU,GAAa,GACvB,EAAiB,GAAa,GAE9B,GAAgB,UAAc,UAAY,CAC5C,MAAO,CACL,WACA,mBAED,CAAC,GAAS,IAET,GAAe,WACf,GAAkB,WAClB,GAAgB,WAChB,GAAyB,WACzB,GAAmB,WAEnB,GAAmB,WAAe,IAClC,GAAmB,QAAe,GAAkB,GACpD,GAAa,GAAiB,GAC9B,GAAgB,GAAiB,GAEjC,GAAmB,WAAe,IAClC,GAAmB,QAAe,GAAkB,GACpD,GAAc,GAAiB,GAC/B,GAAiB,GAAiB,GAElC,GAAkB,GAAe,GAAI,MACrC,GAAmB,QAAe,GAAiB,GACnD,GAAa,GAAiB,GAC9B,GAAmB,GAAiB,GAGpC,GAAW,QAAc,GACzB,GAAgB,GAAS,IAAI,SAAU,EAAW,CACpD,MAAO,IAAW,IAAI,KAEpB,GAAY,UAAc,UAAY,CACxC,MAAO,KACN,CAAC,GAAc,KAAK,OACnB,GAAgB,GAAiB,GAAW,EAAe,OAAQ,GACnE,GAAY,GAAU,QAAc,EAAO,GAC3C,GAAgB,GAAU,QAAc,EAAO,IAAM,QAAQ,GAAiB,OAC9E,GAAY,IAAiB,EAAe,KAAK,SAAU,EAAM,CACnE,GAAI,GAAQ,EAAK,MACjB,MAAO,KAGL,GAAY,WAEZ,GAAa,GAAU,GAAQ,GAC/B,GAAW,GAAW,SACtB,GAAe,GAAW,aAC1B,GAAgB,GAAW,cAC3B,GAAe,GAAW,aAC1B,GAAkB,GAAW,gBAC7B,GAAY,GAAW,UAGvB,GAAc,UAAc,UAAY,CAC1C,MAAO,IAAY,KAA6B,OAAS,EAAQ,KAChE,CAAC,EAAS,KACT,GAAa,KAAa,KAA0B,iBAAqB,KAAgB,GAAY,OAAS,MAAW,GAAY,MAAM,MAE3I,GACA,GACA,GAEA,IACF,IAAe,CACb,UAAW,SACX,UAAW,EAAO,IAIlB,IACF,IAAe,CACb,UAAW,QAKR,IACH,IAAe,CACb,UAAW,WAIf,GAAmB,CACjB,MAAQ,IAAW,KAA4B,OAAS,EAAO,KAAO,GAAO,OAAS,GAAW,KAA4B,OAAS,EAAO,EAC7I,SAAU,SAId,GAAI,IAAiB,cAAkB,SAAU,EAAW,EAAO,CAC7D,QAAU,GAAa,UACzB,GAAiB,SAAU,GAAQ,CACjC,GAAI,GAAO,IAAI,KAAe,EAAO,CACnC,GAAI,IAAY,GAAI,KAAI,IACxB,UAAU,IAAI,EAAW,GAClB,GAGT,MAAO,OAGV,IAEC,GAAkB,GAAe,MACjC,GAAmB,QAAe,GAAiB,GACnD,GAAkB,GAAiB,GACnC,GAAkB,GAAiB,GAEvC,YAAqB,EAAY,EAAQ,CACnC,CAAC,GAIL,CAAI,MAAO,IAAW,WACpB,EAAO,GACE,EAAO,aAAe,GAC/B,GAAO,WAAa,EAGhB,EAAO,aAAe,GACxB,WAAW,UAAY,CACrB,EAAO,WAAa,GACnB,KAKT,GAAI,IAAW,QAAS,SAAU,EAAO,CACvC,GAAI,GAAgB,EAAM,cACtB,GAAa,EAAM,WACnB,GAAQ,IAAc,MACtB,GAAmB,MAAO,KAAe,SAAW,GAAa,EAAc,WAC/E,GAAgB,GAAiB,GAErC,GAAI,CAAC,MAAqB,OAAsB,GAAe,CAC7D,GAAI,IAEJ,GAAgB,IAChB,GAAY,GAAkB,GAAgB,SAC9C,GAAY,GAAkB,GAAc,SAC5C,GAAY,GAAkB,GAAiB,SAC/C,GAAY,GAAmB,IAAqB,GAAU,WAAa,MAAQ,KAAuB,OAAS,OAAS,GAAmB,eAGjJ,GAAI,EAAe,CACjB,GAAI,IAAc,EAAc,YAC5B,GAAc,EAAc,YAEhC,GAAI,KAAgB,GAAa,CAC/B,GAAc,IACd,GAAe,IACf,OAGE,GACF,IAAc,CAAC,GAAmB,GAAc,IAChD,GAAe,CAAC,GAAmB,IAEnC,IAAc,GAAmB,GACjC,GAAe,GAAmB,GAAc,QAKlD,GAAkB,UAA2B,CAC3C,IAAiB,GAAc,QACjC,GAAS,CACP,cAAe,GAAc,UAG/B,IAAc,IACd,GAAe,MAIf,GAAoB,SAA2B,EAAO,CACxD,GAAI,IAAQ,EAAM,MAEd,KAAU,IACZ,MACA,GAAkB,GAAa,QAAU,GAAa,QAAQ,YAAc,MAK5E,GAAU,SAAa,IAC3B,YAAgB,UAAY,CAGtB,GAAQ,SACV,MAED,CAAC,GAAe,EAAM,GAAQ,SACjC,YAAgB,UAAY,CAC1B,GAAQ,QAAU,IACjB,IAEH,GAAI,IAAmB,WAAe,GAClC,GAAmB,QAAe,GAAkB,GACpD,GAAgB,GAAiB,GACjC,GAAmB,GAAiB,GAEpC,GAAmB,WAAe,IAClC,GAAoB,QAAe,GAAkB,GACrD,GAAgB,GAAkB,GAClC,GAAmB,GAAkB,GAGzC,YAAgB,UAAY,CACtB,GAAc,kBAAmB,SACnC,GAAiB,QAAuB,GAAc,SAAS,OAE/D,GAAiB,QAAuB,GAAuB,SAAS,OAG1E,GAAiB,QAAe,WAAY,YAC3C,IAEH,YAAgB,UAAY,CACtB,IAAkB,IAAkB,IACtC,IAAa,KAAK,QAAU,GAAc,WAO9C,GAAI,IAAyB,cAAkB,SAAU,EAAsB,CAC7E,MAAoB,iBAAoB,WAAgB,KAAmB,gBAAoB,GAAQ,GAAuB,KAAc,OAAsB,gBAAoB,KAAQ,EAAsB,MACnN,CAAC,GAAW,KACX,GAAyB,cAAkB,SAAU,EAAsB,CAC7E,MAAoB,iBAAoB,KAAQ,EAAsB,KACrE,CAAC,KAEA,GAAiB,GAAa,CAAC,SAAU,SAEzC,GAAoB,UAAc,UAAY,CAChD,MAAI,IAOA,IACM,IAAW,KAA4B,OAAS,EAAO,KAAO,cAAgB,OAAS,QAG7F,IAAa,IAAY,EAAe,KAAK,SAAU,EAAO,CAChE,GAAI,GAAW,EAAM,SACrB,MAAO,KAEA,QAGF,SACN,CAAC,GAAW,GAAW,EAAgB,EAAa,KACnD,GAEA,GAAc,CAChB,aACA,WAAY,EAAe,OAC3B,iBACA,cACA,aACA,UAGE,GAAY,UAAc,UAAY,CACxC,MAAI,IACK,KAGL,MAAO,KAAc,WAChB,KAGF,IACN,CAAC,GAAS,KAET,GAAyB,gBAAoB,GAAM,CACrD,KAAM,GACN,mBAAoB,IAAa,IAAiB,GAClD,aAAc,GACd,cAAe,GAAiB,cAChC,YACA,SACA,aACA,mBAAoB,KAElB,GAA4B,gBAAoB,GAAU,CAC5D,UAAW,EAAe,IAAI,SAAU,EAAO,CAC7C,GAAI,GAAQ,EAAM,MAClB,MAAO,KAET,QAAS,IAEP,GAAiB,GAAY,KAA6C,gBAAoB,UAAW,CAC3G,UAAW,GAAG,OAAO,EAAW,aAC/B,GAAW,OACV,GAAsB,GAAa,CAAC,SAMpC,GAAY,SAAU,EAAO,CAC/B,KAAM,KAEJ,GAAY,SAAU,EAAO,CAC/B,KAAM,KAGR,GAAI,IAAa,GAAU,CAEzB,GAAI,IAEA,MAAO,KAAwB,WACjC,IAAc,GAAoB,GAAY,CAC5C,iBACA,IAAK,GACL,cAEF,GAAY,UAAY,EAAe,IAAI,SAAU,EAAO,EAAO,CACjE,GAAI,IAAQ,EAAM,MACd,GAAW,IAAU,GAAQ,OAAS,EAAI,GAAQ,GAAgB,GAEtE,MAAI,OAAO,KAAa,UAAY,CAAC,OAAO,MAAM,IACzC,GAGT,C,GAAA,OAAQ,GAAO,gGACR,MAGT,GAA2B,gBAAoB,MAAO,CACpD,MAAO,QAAc,QAAc,GAAI,IAAe,IACtD,YACA,IAAK,GACL,UAAW,IAAW,GAAG,OAAO,EAAW,WAC7B,gBAAoB,GAAgB,QAAS,CAC3D,MAAO,QAAc,QAAc,GAAI,IAAmB,GAAI,CAC5D,YAAa,MAEd,IAAY,GAAgB,GAAc,GAAW,CAAC,IAAa,IAA4B,gBAAoB,KAAQ,CAC5H,iBACA,iBACA,YACC,MAIL,GAAI,IAAmB,QAAc,QAAc,QAAc,CAC/D,OAAQ,CAAC,GAAW,OACpB,iBAAkB,IAAiB,EAAO,IAAM,eAC/C,IAAc,IAAgB,GAAI,CACnC,YACA,mBACA,cAGF,GAA8B,gBAAoB,WAAgB,KAAM,IAAe,IAAsB,gBAAoB,GAAa,QAAS,GAAI,GAAkB,CAC3K,gBAAiB,GACjB,UAAW,GAAG,OAAO,EAAW,WAChC,IAAK,KACH,IAAyB,GAAa,IAAa,KAAc,OAAsB,gBAAoB,GAAa,QAAS,GAAI,GAAkB,CACzJ,mBAAoB,GACpB,UAAW,GAAG,OAAO,EAAW,YAChC,IAAK,KACH,IAAyB,IAAyB,gBAAoB,GAAiB,CACzF,IAAK,GACL,gBACA,iBACA,YACA,oBAIF,IAA8B,gBAAoB,MAAO,CACvD,MAAO,QAAc,QAAc,GAAI,IAAe,IACtD,UAAW,IAAW,GAAG,OAAO,EAAW,aAC3C,YACA,IAAK,IACS,gBAAoB,GAAgB,QAAS,CAC3D,MAAO,QAAc,QAAc,GAAI,IAAmB,GAAI,CAC5D,YAAa,MAEd,IAAY,GAAgB,GAAc,IAAe,IAAsB,gBAAoB,GAAQ,QAAS,GAAI,GAAa,KAAiB,GAAW,IAA4B,gBAAoB,KAAQ,CAC1N,iBACA,iBACA,YACC,MAGL,GAAI,IAAyB,gBAAoB,MAAO,QAAS,CAC/D,UAAW,IAAW,EAAW,EAAY,GAAc,GAAI,QAAgB,EAAa,GAAG,OAAO,EAAW,QAAS,IAAc,OAAQ,QAAgB,EAAa,GAAG,OAAO,EAAW,cAAe,IAAa,QAAgB,EAAa,GAAG,OAAO,EAAW,eAAgB,IAAc,QAAgB,EAAa,GAAG,OAAO,EAAW,iBAAkB,IAAgB,SAAU,QAAgB,EAAa,GAAG,OAAO,EAAW,iBAAkB,IAAY,QAAgB,EAAa,GAAG,OAAO,EAAW,iBAAkB,IAAY,QAAgB,EAAa,GAAG,OAAO,EAAW,sBAAuB,IAAgB,QAAgB,EAAa,GAAG,OAAO,EAAW,iBAAkB,EAAe,IAAM,EAAe,GAAG,OAAQ,QAAgB,EAAa,GAAG,OAAO,EAAW,kBAAmB,EAAe,EAAe,OAAS,IAAM,EAAe,EAAe,OAAS,GAAG,QAAU,SAAU,IACx6B,QACA,KACA,IAAK,IACJ,IAAY,GAAsB,gBAAoB,GAAO,CAC9D,UAAW,GAAG,OAAO,EAAW,WAC/B,EAAM,KAA2B,gBAAoB,MAAO,CAC7D,IAAK,GACL,UAAW,GAAG,OAAO,EAAW,eAC/B,IAAiB,GAAuB,gBAAoB,GAAO,CACpE,UAAW,GAAG,OAAO,EAAW,YAC/B,EAAO,MAEN,IACF,IAAyB,gBAAoB,IAAgB,CAC3D,SAAU,IACT,KAGL,GAAI,IAAgB,GAAa,EAAgB,GAAe,EAAW,IACvE,GAAoB,UAAc,UAAY,CAChD,MAAO,CAEL,YACA,gBACA,iBACA,YACA,iBACA,YACA,iBACA,kBACA,aACA,aACA,iBAEA,YAAa,GACb,eACA,qBAAsB,GAAiB,qBACvC,WAAY,GACZ,kBACA,iBAAkB,GAAiB,iBACnC,kBAAmB,GAAiB,kBACpC,mBACA,sBAAuB,GAAiB,sBACxC,WAAY,GAAiB,WAC7B,oBAAqB,EAAe,MAAM,SAAU,EAAK,CACvD,MAAO,GAAI,QAAU,SAGvB,WACA,iBACA,kBAEA,cAAe,EACf,YAAa,EACb,aAED,CACH,EAAW,GAAc,GAAe,EAAW,GAAe,GAAU,GAAe,GAAgB,GAAW,GAAW,GACjI,GAAmB,EAAc,GAAiB,qBAAsB,GAAkB,GAAgB,GAAiB,iBAAkB,GAAiB,kBAAmB,GAAiB,GAAiB,sBAAuB,GAAiB,WAC3P,GAAS,EAAgB,GACzB,EAAU,EAAQ,KAClB,MAAoB,iBAAoB,IAAa,SAAU,CAC7D,MAAO,IACN,IAGE,YAAkB,EAAqB,CAC5C,MAAO,SAAc,GAAO,GAE9B,GAAI,IAAiB,KACrB,GAAe,cAAgB,KAC/B,GAAe,OAAS,GACxB,GAAe,YAAc,GAC7B,GAAe,QAAU,KACzB,OAAe,M,mECjoBR,GAAI,GAAgB,I,kDCEvB,EAA2B,gBAAoB,CACjD,gBAAiB,KAEnB,IAAe,G,kDCJX,EAAe,WACnB,IAAe,G,sLCGX,EAAY,CAAC,YACb,EAAa,CAAC,SAMX,YAAkC,EAAU,CACjD,MAAO,QAAQ,GAAU,OAAO,SAAU,EAAM,CAC9C,MAAoB,kBAAqB,KACxC,IAAI,SAAU,EAAM,CACrB,GAAI,GAAM,EAAK,IACX,EAAQ,EAAK,MAEb,EAAe,EAAM,SACrB,EAAY,QAAyB,EAAO,GAE5C,GAAS,QAAc,CACzB,OACC,GAEH,MAAI,IACF,IAAO,SAAW,GAAyB,IAGtC,KAIX,WAAqB,EAAS,CAC5B,MAAO,GAAQ,OAAO,SAAU,EAAQ,CACtC,MAAO,IAAU,QAAQ,KAAY,WACpC,OAAO,SAAU,EAAM,EAAQ,CAChC,GAAI,GAAQ,EAAO,MAEf,EAAc,IAAU,GAAO,OAAS,EACxC,EAAa,EAAO,SAExB,MAAI,IAAc,EAAW,OAAS,EAC7B,GAAG,OAAO,QAAmB,GAAO,QAAmB,EAAY,GAAY,IAAI,SAAU,GAAU,CAC5G,MAAO,QAAc,CACnB,MAAO,GACN,QAIA,GAAG,OAAO,QAAmB,GAAO,CAAC,QAAc,QAAc,GAAI,GAAS,GAAI,CACvF,MAAO,OAER,IAGL,YAAsB,EAAgB,CAGpC,OAFI,GAAa,GAER,EAAI,EAAG,EAAI,EAAe,OAAQ,GAAK,EAAG,CACjD,GAAI,GAAM,EAAe,GAEzB,GAAI,GAAc,EAAI,QAAU,OAC9B,EAAa,WACJ,CAAC,GAAc,EAAI,QAAU,OAAQ,CAC9C,QAAQ,GAAO,SAAS,OAAO,EAAI,EAAG,+CACtC,OAMJ,OAFI,GAAc,GAET,EAAK,EAAe,OAAS,EAAG,GAAM,EAAG,GAAM,EAAG,CACzD,GAAI,IAAO,EAAe,GAE1B,GAAI,GAAe,GAAK,QAAU,QAChC,EAAc,WACL,CAAC,GAAe,GAAK,QAAU,QAAS,CACjD,QAAQ,GAAO,SAAS,OAAO,EAAK,EAAG,gDACvC,QAKN,WAAsB,EAAS,CAC7B,MAAO,GAAQ,IAAI,SAAU,EAAQ,CACnC,GAAI,GAAQ,EAAO,MACf,EAAY,QAAyB,EAAQ,GAG7C,EAAc,EAElB,MAAI,KAAU,OACZ,EAAc,QACL,IAAU,SACnB,GAAc,QAGT,QAAc,CACnB,MAAO,GACN,KAQP,YAAoB,EAAO,EAAkB,CAC3C,GAAI,GAAY,EAAM,UAClB,EAAU,EAAM,QAChB,EAAW,EAAM,SACjB,EAAa,EAAM,WACnB,GAAe,EAAM,aACrB,EAAc,EAAM,YACpB,EAAY,EAAM,UAClB,EAAkB,EAAM,gBACxB,GAAa,EAAM,WACnB,EAAgB,EAAM,cACtB,GAAwB,EAAM,sBAC9B,GAAY,EAAM,UAClB,GAAmB,EAAM,iBACzB,GAAc,EAAM,YACpB,GAAQ,EAAM,MACd,GAAc,UAAc,UAAY,CAC1C,MAAO,IAAW,GAAyB,IAC1C,CAAC,EAAS,IAET,GAAoB,UAAc,UAAY,CAChD,GAAI,EAAY,CACd,GAAI,IAEA,GAAe,GAAY,QAO/B,GAAI,CAAC,GAAa,SAAS,KAAgB,CACzC,GAAI,IAAiB,IAAyB,EAE1C,IAAkB,GACpB,GAAa,OAAO,GAAgB,EAAG,KAW3C,GAAI,IAAoB,GAAa,QAAQ,KAC7C,GAAe,GAAa,OAAO,SAAU,GAAQ,GAAO,CAC1D,MAAO,MAAW,KAAiB,KAAU,KAG/C,GAAI,IAAa,GAAY,IACzB,GAEC,MAAU,QAAU,KAAU,CAAC,GAClC,GAAc,OACJ,MAAU,SAAW,KAAU,KAA0B,GAAY,OAC/E,GAAc,QAEd,GAAc,GAAa,GAAW,MAAQ,KAIhD,GAAI,IAAgB,IAAgB,GAAI,QAAgB,GAAe,IAAqB,CAC1F,UAAW,GAAG,OAAO,EAAW,oBAChC,WAAY,kBACV,QAAgB,GAAe,QAAS,GAAc,QAAgB,GAAe,QAAS,IAAc,QAAgB,GAAe,YAAa,GAAG,OAAO,EAAW,0BAA2B,QAAgB,GAAe,QAAS,IAAc,QAAgB,GAAe,SAAU,SAAgB,GAAG,GAAQ,GAAO,CAC3U,GAAI,IAAS,EAAU,GAAQ,IAC3B,GAAW,GAAa,IAAI,IAC5B,GAAmB,EAAgB,EAAc,IAAU,GAC3D,GAAO,GAAW,CACpB,YACA,YACA,WAAY,GACZ,UACA,SAAU,IAGZ,MAAI,IACkB,gBAAoB,OAAQ,CAC9C,QAAS,SAAiB,GAAG,CAC3B,MAAO,IAAE,oBAEV,IAGE,KACL,IACJ,MAAO,IAAa,IAAI,SAAU,GAAK,CACrC,MAAO,MAAQ,IAAgB,GAAe,KAQlD,MAAO,IAAY,OAAO,SAAU,GAAK,CACvC,MAAO,MAAQ,OAEhB,CAAC,EAAY,GAAa,EAAW,GAAc,GAAY,KAE9D,GAAgB,UAAc,UAAY,CAC5C,GAAI,IAAe,GAEnB,MAAI,IACF,IAAe,EAAiB,KAI7B,GAAa,QAChB,IAAe,CAAC,CACd,OAAQ,UAAkB,CACxB,MAAO,UAKN,IACN,CAAC,EAAkB,GAAmB,KAErC,GAAiB,UAAc,UAAY,CAC7C,MAAI,MAAc,MACT,EAAa,EAAY,KAG3B,EAAY,KAClB,CAAC,GAAe,KAMnB,MAAO,CAAC,GAAe,IAGzB,IAAe,I,kDClPf,WAAwB,EAAO,EAAO,CAEpC,GAAI,GAAW,SAAa,GAC5B,EAAS,SAAW,EAEpB,GAAI,GAAW,SAAa,GACxB,EAAO,GACX,OAAO,KAAK,GAAS,IAAI,IAAI,SAAU,EAAK,CAC1C,GAAI,GAEC,IAAU,KAA2B,OAAS,EAAM,MAAY,IAAoB,EAAS,WAAa,MAAQ,IAAsB,OAAS,OAAS,EAAkB,KAC/K,EAAK,KAAK,KAGd,EAAS,QAAU,EAEnB,GAAI,GAAU,SAAa,IAE3B,MAAI,GAAK,QACP,GAAQ,QAAU,GAGpB,gBAAoB,EAAS,SAC7B,gBAAoB,EAAQ,QAAQ,KAAK,OAErC,GACF,QAAQ,IAAI,GAAG,OAAO,EAAO,KAAM,EAAS,QAAS,EAAQ,SAGxD,EAAS,QAGlB,MAAe,KACJ,EAA2B,OAAW,UAAY,CAC3D,GAAI,GAAQ,IACZ,MAAoB,iBAAoB,KAAM,KAAM,iBAAkB,KAExE,EAAY,YAAc,e,oMCjC1B,EAAe,M,mECPR,WAA0B,EAAU,EAAQ,EAAS,EAAe,EAAW,EAAY,CAChG,GAAI,GAAc,EAAQ,IAAa,GACnC,EAAY,EAAQ,IAAW,GAC/B,EACA,EAEA,EAAY,QAAU,OACxB,EAAU,EAAc,KAAK,GACpB,EAAU,QAAU,SAC7B,GAAW,EAAc,MAAM,IAGjC,GAAI,GAAc,GACd,GAAgB,GAChB,EAAe,GACf,GAAe,GACf,EAAa,EAAQ,EAAS,GAC9B,GAAa,EAAQ,EAAW,GAEhC,EAAa,CAAE,IAAe,MAAiC,EAAW,UAE9E,GAAI,IAAc,OAChB,GAAI,IAAY,OAAW,CACzB,GAAI,GAAc,IAAc,GAAW,QAAU,OACrD,GAAe,CAAC,GAAe,UACtB,IAAa,OAAW,CACjC,GAAI,GAAe,GAAc,EAAW,QAAU,QACtD,EAAe,CAAC,GAAgB,WAEzB,IAAY,OAAW,CAChC,GAAI,GAAc,GAAc,EAAW,QAAU,OACrD,EAAc,CAAC,GAAe,UACrB,IAAa,OAAW,CACjC,GAAI,GAAe,IAAc,GAAW,QAAU,QACtD,GAAgB,CAAC,GAAgB,EAGnC,MAAO,CACL,UACA,WACA,cACA,iBACA,eACA,gBACA,SAAU,EAAc,Y,+HC1CxB,EAAY,CAAC,cAEN,EAAsB,+BAC1B,WAA4B,EAAO,CACxC,GAAI,GAAa,EAAM,WACnB,EAAyB,QAAyB,EAAO,GAEzD,EAEJ,MAAI,cAAgB,GAClB,EAAS,QAAc,QAAc,GAAI,GAAyB,GAQlE,EAAS,EAGP,EAAO,mBAAqB,IAC9B,GAAO,sBAAwB,IAG1B,I,0FC3BT,GAAI,GAAsB,eAE1B,WAAiB,EAAK,CACpB,MAAyB,IAAQ,KACxB,GAGF,MAAM,QAAQ,GAAO,EAAM,CAAC,GAG9B,WAAuB,EAAS,CACrC,GAAI,GAAa,GACb,EAAO,GACX,SAAQ,QAAQ,SAAU,EAAQ,CAOhC,OANI,GAAO,GAAU,GACjB,EAAM,EAAK,IACX,EAAY,EAAK,UAEjB,EAAY,GAAO,EAAQ,GAAW,KAAK,MAAQ,EAEhD,EAAK,IACV,EAAY,GAAG,OAAO,EAAW,SAGnC,EAAK,GAAa,GAClB,EAAW,KAAK,KAEX,EAEF,WAAuB,EAAK,CACjC,MAAO,IAAQ,O,mEC9BjB,WAA2B,EAAG,EAAG,CACtB,IAAR,MAAa,EAAI,EAAE,SAAY,GAAI,EAAE,QACtC,OAAS,GAAI,EAAG,EAAI,MAAM,GAAI,EAAI,EAAG,IAAK,EAAE,GAAK,EAAE,GACnD,MAAO,K,kFCFT,WAAqB,EAAG,EAAG,CACzB,GAAI,QAAoB,IAApB,UAA0B,CAAC,EAAG,MAAO,GACzC,GAAI,GAAI,EAAE,OAAO,aACjB,GAAI,WAAc,CAChB,GAAI,GAAI,EAAE,KAAK,EAAG,GAAK,WACvB,GAAI,QAAoB,IAApB,SAAwB,MAAO,GACnC,KAAM,IAAI,WAAU,gDAEtB,MAAqB,KAAb,SAAiB,OAAS,QAAQ,GCP5C,WAAuB,EAAG,CACxB,GAAI,GAAI,EAAY,EAAG,UACvB,MAAO,QAAoB,IAApB,SAAyB,EAAI,EAAI,GCH1C,WAAyB,EAAG,EAAG,EAAG,CAChC,MAAQ,GAAI,EAAc,KAAO,GAAI,OAAO,eAAe,EAAG,EAAG,CAC/D,MAAO,EACP,WAAY,GACZ,aAAc,GACd,SAAU,KACP,EAAE,GAAK,EAAG,I,mECPjB,YAAoB,CAClB,MAAO,GAAW,OAAO,OAAS,OAAO,OAAO,OAAS,SAAU,EAAG,CACpE,OAAS,GAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CACzC,GAAI,GAAI,UAAU,GAClB,OAAS,KAAK,GAAI,KAAI,eAAe,KAAK,EAAG,IAAO,GAAE,GAAK,EAAE,IAE/D,MAAO,IACN,EAAS,MAAM,KAAM,a,kFCN1B,WAAiB,EAAG,EAAG,CACrB,GAAI,GAAI,OAAO,KAAK,GACpB,GAAI,OAAO,sBAAuB,CAChC,GAAI,GAAI,OAAO,sBAAsB,GACrC,GAAM,GAAI,EAAE,OAAO,SAAU,EAAG,CAC9B,MAAO,QAAO,yBAAyB,EAAG,GAAG,cAC1C,EAAE,KAAK,MAAM,EAAG,GAEvB,MAAO,GAET,WAAwB,EAAG,CACzB,OAAS,GAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CACzC,GAAI,GAAI,UAAkB,IAAlB,KAAuB,UAAU,GAAK,GAC9C,EAAI,EAAI,EAAQ,OAAO,GAAI,IAAI,QAAQ,SAAU,EAAG,CAClD,QAAe,EAAG,EAAG,EAAE,MACpB,OAAO,0BAA4B,OAAO,iBAAiB,EAAG,OAAO,0BAA0B,IAAM,EAAQ,OAAO,IAAI,QAAQ,SAAU,EAAG,CAChJ,OAAO,eAAe,EAAG,EAAG,OAAO,yBAAyB,EAAG,MAGnE,MAAO,K,mECpBT,WAAuC,EAAG,EAAG,CAC3C,GAAI,QAAW,MAAO,GACtB,GAAI,GAAI,GACR,OAAS,KAAK,GAAG,GAAI,GAAG,eAAe,KAAK,EAAG,GAAI,CACjD,GAAI,EAAE,QAAQ,IAAM,EAAG,SACvB,EAAE,GAAK,EAAE,GAEX,MAAO,GCNT,WAAkC,EAAG,EAAG,CACtC,GAAI,QAAW,MAAO,GACtB,GAAI,GACF,EACA,EAAI,EAA6B,EAAG,GACtC,GAAI,OAAO,sBAAuB,CAChC,GAAI,GAAI,OAAO,sBAAsB,GACrC,IAAK,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,EAAI,EAAE,GAAI,EAAE,QAAQ,IAAM,GAAK,GAAG,qBAAqB,KAAK,EAAG,IAAO,GAAE,GAAK,EAAE,IAEhH,MAAO,K,mECVT,WAAyB,EAAG,CAC1B,GAAI,MAAM,QAAQ,GAAI,MAAO,GCD/B,WAA+B,EAAG,EAAG,CACnC,GAAI,GAAI,QAAY,KAAO,MAAsB,SAAtB,aAAgC,EAAE,OAAO,WAAa,EAAE,cACnF,GAAI,QAAW,CACb,GAAI,GACF,EACA,EACA,EACA,GAAI,GACJ,EAAI,GACJ,GAAI,GACN,GAAI,CACF,GAAI,EAAK,GAAI,EAAE,KAAK,IAAI,KAAM,MAAS,CACrC,GAAI,OAAO,KAAO,EAAG,OACrB,EAAI,OACC,MAAO,CAAE,GAAK,GAAI,EAAE,KAAK,IAAI,OAAU,IAAE,KAAK,EAAE,OAAQ,GAAE,SAAW,GAAI,EAAI,GAAG,QAChF,EADgF,CAEvF,GAAI,GAAI,EAAI,UAEZ,GAAI,CACF,GAAI,CAAC,GAAK,EAAU,QAAV,MAAwB,GAAI,EAAE,SAAa,OAAO,KAAO,GAAI,eAEvE,GAAI,GAAG,KAAM,IAGjB,MAAO,K,eCxBX,YAA4B,CAC1B,KAAM,IAAI,WAAU;AAAA,qFCGtB,WAAwB,EAAG,EAAG,CAC5B,MAAO,GAAe,IAAM,EAAqB,EAAG,IAAM,QAA2B,EAAG,IAAM,M,kFCJhG,WAA4B,EAAG,CAC7B,GAAI,MAAM,QAAQ,GAAI,MAAO,QAAiB,GCFhD,WAA0B,EAAG,CAC3B,GAAI,MAAsB,SAAtB,aAAgC,EAAU,OAAO,WAAjB,MAA8B,EAAU,eAAV,KAAyB,MAAO,OAAM,KAAK,G,eCD/G,YAA8B,CAC5B,KAAM,IAAI,WAAU;AAAA,qFCGtB,WAA4B,EAAG,CAC7B,MAAO,GAAkB,IAAM,EAAgB,IAAM,QAA2B,IAAM,M,mECLxF,WAAiB,EAAG,CAGlB,MAAO,GAAU,MAAqB,SAArB,YAA+B,MAAmB,QAAO,UAA1B,SAAqC,SAAU,EAAG,CAChG,MAAO,OAAO,IACZ,SAAU,EAAG,CACf,MAAO,IAAK,MAAqB,SAArB,YAA+B,EAAE,cAAgB,QAAU,IAAM,OAAO,UAAY,SAAW,MAAO,IACjH,EAAQ,K,kFCNb,WAAqC,EAAG,EAAG,CACzC,GAAI,EAAG,CACL,GAAI,MAAmB,IAAnB,SAAsB,MAAO,QAAiB,EAAG,GACrD,GAAI,GAAI,GAAG,SAAS,KAAK,GAAG,MAAM,EAAG,IACrC,MAAO,eAAkB,EAAE,aAAgB,GAAI,EAAE,YAAY,MAAO,WAAe,UAAc,MAAM,KAAK,GAAK,iBAAqB,2CAA2C,KAAK,GAAK,QAAiB,EAAG,GAAK,U,oBCLxN,QAOC,WAAY,CACZ,aAEA,GAAI,GAAS,GAAG,eAEhB,YAAuB,CAGtB,OAFI,GAAU,GAEL,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CAC1C,GAAI,GAAM,UAAU,GAChB,GACH,GAAU,EAAY,EAAS,EAAW,KAI5C,MAAO,GAGR,WAAqB,EAAK,CACzB,GAAI,MAAO,IAAQ,UAAY,MAAO,IAAQ,SAC7C,MAAO,GAGR,GAAI,MAAO,IAAQ,SAClB,MAAO,GAGR,GAAI,MAAM,QAAQ,GACjB,MAAO,GAAW,MAAM,KAAM,GAG/B,GAAI,EAAI,WAAa,OAAO,UAAU,UAAY,CAAC,EAAI,SAAS,WAAW,SAAS,iBACnF,MAAO,GAAI,WAGZ,GAAI,GAAU,GAEd,OAAS,KAAO,GACX,EAAO,KAAK,EAAK,IAAQ,EAAI,IAChC,GAAU,EAAY,EAAS,IAIjC,MAAO,GAGR,WAAsB,EAAO,EAAU,CACtC,MAAK,GAID,EACI,EAAQ,IAAM,EAGf,EAAQ,EAPP,EAU4B,EAAO,QAC3C,GAAW,QAAU,EACrB,EAAO,QAAU,GAGjB,GAAqB,GAAI,YAAY,CACpC,MAAO","file":"nm.rc-table.6f2d9bac476cc019c517.js","sourcesContent":["import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { useImmutableMark } from '@rc-component/context';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport { validateValue } from \"../utils/valueUtil\";\n\nfunction isRenderCell(data) {\n return data && _typeof(data) === 'object' && !Array.isArray(data) && ! /*#__PURE__*/React.isValidElement(data);\n}\n\nexport default function useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate) {\n // TODO: Remove this after next major version\n var perfRecord = React.useContext(PerfContext);\n var mark = useImmutableMark(); // ======================== Render ========================\n\n var retData = useMemo(function () {\n if (validateValue(children)) {\n return [children];\n }\n\n var path = dataIndex === null || dataIndex === undefined || dataIndex === '' ? [] : Array.isArray(dataIndex) ? dataIndex : [dataIndex];\n var value = getValue(record, path); // Customize render node\n\n var returnChildNode = value;\n var returnCellProps = undefined;\n\n if (render) {\n var renderData = render(value, record, renderIndex);\n\n if (isRenderCell(renderData)) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`columns.render` return cell props is deprecated with perf issue, please use `onCell` instead.');\n }\n\n returnChildNode = renderData.children;\n returnCellProps = renderData.props;\n perfRecord.renderWithProps = true;\n } else {\n returnChildNode = renderData;\n }\n }\n\n return [returnChildNode, returnCellProps];\n }, [// Force update deps\n mark, // Normal deps\n record, children, dataIndex, render, renderIndex], function (prev, next) {\n if (shouldCellUpdate) {\n var _prev = _slicedToArray(prev, 2),\n prevRecord = _prev[1];\n\n var _next = _slicedToArray(next, 2),\n nextRecord = _next[1];\n\n return shouldCellUpdate(nextRecord, prevRecord);\n } // Legacy mode should always update\n\n\n if (perfRecord.renderWithProps) {\n return true;\n }\n\n return !isEqual(prev, next, true);\n });\n return retData;\n}","import { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\n\n/** Check if cell is in hover range */\nfunction inHoverRange(cellStartRow, cellRowSpan, startRow, endRow) {\n var cellEndRow = cellStartRow + cellRowSpan - 1;\n return cellStartRow <= endRow && cellEndRow >= startRow;\n}\n\nexport default function useHoverState(rowIndex, rowSpan) {\n return useContext(TableContext, function (ctx) {\n var hovering = inHoverRange(rowIndex, rowSpan || 1, ctx.hoverStartRow, ctx.hoverEndRow);\n return [hovering, ctx.onHover];\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useCellRender from \"./useCellRender\";\nimport useHoverState from \"./useHoverState\";\n\nvar getTitleFromCellRenderChildren = function getTitleFromCellRenderChildren(_ref) {\n var ellipsis = _ref.ellipsis,\n rowType = _ref.rowType,\n children = _ref.children;\n var title;\n var ellipsisConfig = ellipsis === true ? {\n showTitle: true\n } : ellipsis;\n\n if (ellipsisConfig && (ellipsisConfig.showTitle || rowType === 'header')) {\n if (typeof children === 'string' || typeof children === 'number') {\n title = children.toString();\n } else if ( /*#__PURE__*/React.isValidElement(children) && typeof children.props.children === 'string') {\n title = children.props.children;\n }\n }\n\n return title;\n};\n\nfunction Cell(props) {\n var _ref2, _ref3, _legacyCellProps$colS, _ref4, _ref5, _legacyCellProps$rowS, _additionalProps$titl, _classNames;\n\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n var Component = props.component,\n children = props.children,\n ellipsis = props.ellipsis,\n scope = props.scope,\n prefixCls = props.prefixCls,\n className = props.className,\n align = props.align,\n record = props.record,\n render = props.render,\n dataIndex = props.dataIndex,\n renderIndex = props.renderIndex,\n shouldCellUpdate = props.shouldCellUpdate,\n index = props.index,\n rowType = props.rowType,\n colSpan = props.colSpan,\n rowSpan = props.rowSpan,\n fixLeft = props.fixLeft,\n fixRight = props.fixRight,\n firstFixLeft = props.firstFixLeft,\n lastFixLeft = props.lastFixLeft,\n firstFixRight = props.firstFixRight,\n lastFixRight = props.lastFixRight,\n appendNode = props.appendNode,\n _props$additionalProp = props.additionalProps,\n additionalProps = _props$additionalProp === void 0 ? {} : _props$additionalProp,\n isSticky = props.isSticky;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n\n var _useContext = useContext(TableContext, ['supportSticky', 'allColumnsFixedLeft']),\n supportSticky = _useContext.supportSticky,\n allColumnsFixedLeft = _useContext.allColumnsFixedLeft; // ====================== Value =======================\n\n\n var _useCellRender = useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate),\n _useCellRender2 = _slicedToArray(_useCellRender, 2),\n childNode = _useCellRender2[0],\n legacyCellProps = _useCellRender2[1]; // ====================== Fixed =======================\n\n\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number' && supportSticky;\n var isFixRight = typeof fixRight === 'number' && supportSticky;\n\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = fixLeft;\n }\n\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = fixRight;\n } // ================ RowSpan & ColSpan =================\n\n\n var mergedColSpan = (_ref2 = (_ref3 = (_legacyCellProps$colS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.colSpan) !== null && _legacyCellProps$colS !== void 0 ? _legacyCellProps$colS : colSpan) !== null && _ref3 !== void 0 ? _ref3 : additionalProps.colSpan) !== null && _ref2 !== void 0 ? _ref2 : 1;\n var mergedRowSpan = (_ref4 = (_ref5 = (_legacyCellProps$rowS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.rowSpan) !== null && _legacyCellProps$rowS !== void 0 ? _legacyCellProps$rowS : rowSpan) !== null && _ref5 !== void 0 ? _ref5 : additionalProps.rowSpan) !== null && _ref4 !== void 0 ? _ref4 : 1; // ====================== Hover =======================\n\n var _useHoverState = useHoverState(index, mergedRowSpan),\n _useHoverState2 = _slicedToArray(_useHoverState, 2),\n hovering = _useHoverState2[0],\n onHover = _useHoverState2[1];\n\n var onMouseEnter = function onMouseEnter(event) {\n var _additionalProps$onMo;\n\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 ? void 0 : _additionalProps$onMo.call(additionalProps, event);\n };\n\n var onMouseLeave = function onMouseLeave(event) {\n var _additionalProps$onMo2;\n\n if (record) {\n onHover(-1, -1);\n }\n\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === void 0 ? void 0 : _additionalProps$onMo2.call(additionalProps, event);\n }; // ====================== Render ======================\n\n\n if (mergedColSpan === 0 || mergedRowSpan === 0) {\n return null;\n } // >>>>> Title\n\n\n var title = (_additionalProps$titl = additionalProps.title) !== null && _additionalProps$titl !== void 0 ? _additionalProps$titl : getTitleFromCellRenderChildren({\n rowType: rowType,\n ellipsis: ellipsis,\n children: childNode\n }); // >>>>> ClassName\n\n var mergedClassName = classNames(cellPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left\"), isFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-first\"), firstFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-last\"), lastFixLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left-all\"), lastFixLeft && allColumnsFixedLeft && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right\"), isFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right-first\"), firstFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-right-last\"), lastFixRight && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-ellipsis\"), ellipsis), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-with-append\"), appendNode), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-sticky\"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-row-hover\"), !legacyCellProps && hovering), _classNames), additionalProps.className, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.className); // >>>>> Style\n\n var alignStyle = {};\n\n if (align) {\n alignStyle.textAlign = align;\n }\n\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, additionalProps.style), alignStyle), fixedStyle), legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.style); // >>>>> Children Node\n\n\n var mergedChildNode = childNode; // Not crash if final `childNode` is not validate ReactNode\n\n if (_typeof(mergedChildNode) === 'object' && !Array.isArray(mergedChildNode) && ! /*#__PURE__*/React.isValidElement(mergedChildNode)) {\n mergedChildNode = null;\n }\n\n if (ellipsis && (lastFixLeft || firstFixRight)) {\n mergedChildNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(cellPrefixCls, \"-content\")\n }, mergedChildNode);\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, legacyCellProps, additionalProps, {\n className: mergedClassName,\n style: mergedStyle // A11y\n ,\n title: title,\n scope: scope // Hover\n ,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave //Span\n ,\n colSpan: mergedColSpan !== 1 ? mergedColSpan : null,\n rowSpan: mergedRowSpan !== 1 ? mergedRowSpan : null\n }), appendNode, mergedChildNode);\n}\n\nexport default /*#__PURE__*/React.memo(Cell);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport SummaryContext from \"./SummaryContext\";\nexport default function SummaryCell(_ref) {\n var className = _ref.className,\n index = _ref.index,\n children = _ref.children,\n _ref$colSpan = _ref.colSpan,\n colSpan = _ref$colSpan === void 0 ? 1 : _ref$colSpan,\n rowSpan = _ref.rowSpan,\n align = _ref.align;\n\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n\n var _React$useContext = React.useContext(SummaryContext),\n scrollColumnIndex = _React$useContext.scrollColumnIndex,\n stickyOffsets = _React$useContext.stickyOffsets,\n flattenColumns = _React$useContext.flattenColumns,\n columns = _React$useContext.columns;\n\n var lastIndex = index + colSpan - 1;\n var mergedColSpan = lastIndex + 1 === scrollColumnIndex ? colSpan + 1 : colSpan;\n var fixedInfo = getCellFixedInfo(index, index + mergedColSpan - 1, flattenColumns, stickyOffsets, direction, columns === null || columns === void 0 ? void 0 : columns[index]);\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: className,\n index: index,\n component: \"td\",\n prefixCls: prefixCls,\n record: null,\n dataIndex: null,\n align: align,\n colSpan: mergedColSpan,\n rowSpan: rowSpan,\n render: function render() {\n return children;\n }\n }, fixedInfo));\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport default function FooterRow(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"tr\", props, children);\n}","import Cell from \"./Cell\";\nimport Row from \"./Row\";\n\n/**\n * Syntactic sugar. Do not support HOC.\n */\nfunction Summary(_ref) {\n var children = _ref.children;\n return children;\n}\n\nSummary.Row = Row;\nSummary.Cell = Cell;\nexport default Summary;","import * as React from 'react';\nvar SummaryContext = /*#__PURE__*/React.createContext({});\nexport default SummaryContext;","import { responseImmutable, useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport Summary from \"./Summary\";\nimport SummaryContext from \"./SummaryContext\";\n\nfunction Footer(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n var children = props.children,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns,\n columns = props.columns;\n var prefixCls = useContext(TableContext, 'prefixCls');\n var lastColumnIndex = flattenColumns.length - 1;\n var scrollColumn = flattenColumns[lastColumnIndex];\n var summaryContext = React.useMemo(function () {\n return {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n scrollColumnIndex: scrollColumn !== null && scrollColumn !== void 0 && scrollColumn.scrollbar ? lastColumnIndex : null,\n columns: columns\n };\n }, [scrollColumn, flattenColumns, lastColumnIndex, stickyOffsets, columns]);\n return /*#__PURE__*/React.createElement(SummaryContext.Provider, {\n value: summaryContext\n }, /*#__PURE__*/React.createElement(\"tfoot\", {\n className: \"\".concat(prefixCls, \"-summary\")\n }, children));\n}\n\nexport default responseImmutable(Footer);\nexport var FooterComponents = Summary;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\n\n// recursion (flat tree structure)\nfunction flatRecord(record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n var arr = [];\n arr.push({\n record: record,\n indent: indent,\n index: index\n });\n var key = getRowKey(record);\n var expanded = expandedKeys === null || expandedKeys === void 0 ? void 0 : expandedKeys.has(key);\n\n if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n var tempArr = flatRecord(record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n arr.push.apply(arr, _toConsumableArray(tempArr));\n }\n }\n\n return arr;\n}\n/**\n * flat tree data on expanded state\n *\n * @export\n * @template T\n * @param {*} data : table data\n * @param {string} childrenColumnName : 指定树形结构的列名\n * @param {Set} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey} getRowKey : 获取当前rowKey的方法\n * @returns flattened data\n */\n\n\nexport default function useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey) {\n var arr = React.useMemo(function () {\n if (expandedKeys !== null && expandedKeys !== void 0 && expandedKeys.size) {\n var temp = []; // collect flattened record\n\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n temp.push.apply(temp, _toConsumableArray(flatRecord(record, 0, childrenColumnName, expandedKeys, getRowKey, i)));\n }\n\n return temp;\n }\n\n return data === null || data === void 0 ? void 0 : data.map(function (item, index) {\n return {\n record: item,\n indent: 0,\n index: index\n };\n });\n }, [data, childrenColumnName, expandedKeys, getRowKey]);\n return arr;\n}","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\n\nfunction ExpandedRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n var prefixCls = props.prefixCls,\n children = props.children,\n Component = props.component,\n cellComponent = props.cellComponent,\n className = props.className,\n expanded = props.expanded,\n colSpan = props.colSpan,\n isEmpty = props.isEmpty;\n\n var _useContext = useContext(TableContext, ['scrollbarSize', 'fixHeader', 'fixColumn', 'componentWidth', 'horizonScroll']),\n scrollbarSize = _useContext.scrollbarSize,\n fixHeader = _useContext.fixHeader,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth,\n horizonScroll = _useContext.horizonScroll; // Cache render node\n\n\n var contentNode = children;\n\n if (isEmpty ? horizonScroll : fixColumn) {\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: componentWidth - (fixHeader ? scrollbarSize : 0),\n position: 'sticky',\n left: 0,\n overflow: 'hidden'\n },\n className: \"\".concat(prefixCls, \"-expanded-row-fixed\")\n }, componentWidth !== 0 && contentNode);\n }\n\n return /*#__PURE__*/React.createElement(Component, {\n className: className,\n style: {\n display: expanded ? null : 'none'\n }\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n colSpan: colSpan\n }, contentNode));\n}\n\nexport default ExpandedRow;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { responseImmutable, useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport ExpandedRow from \"./ExpandedRow\";\n\nfunction BodyRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n var className = props.className,\n style = props.style,\n record = props.record,\n index = props.index,\n renderIndex = props.renderIndex,\n rowKey = props.rowKey,\n rowExpandable = props.rowExpandable,\n expandedKeys = props.expandedKeys,\n onRow = props.onRow,\n _props$indent = props.indent,\n indent = _props$indent === void 0 ? 0 : _props$indent,\n RowComponent = props.rowComponent,\n cellComponent = props.cellComponent,\n scopeCellComponent = props.scopeCellComponent,\n childrenColumnName = props.childrenColumnName;\n\n var _useContext = useContext(TableContext, ['prefixCls', 'fixedInfoList', 'flattenColumns', 'expandableType', 'expandRowByClick', 'onTriggerExpand', 'rowClassName', 'expandedRowClassName', 'indentSize', 'expandIcon', 'expandedRowRender', 'expandIconColumnIndex']),\n prefixCls = _useContext.prefixCls,\n fixedInfoList = _useContext.fixedInfoList,\n flattenColumns = _useContext.flattenColumns,\n expandableType = _useContext.expandableType,\n expandRowByClick = _useContext.expandRowByClick,\n onTriggerExpand = _useContext.onTriggerExpand,\n rowClassName = _useContext.rowClassName,\n expandedRowClassName = _useContext.expandedRowClassName,\n indentSize = _useContext.indentSize,\n expandIcon = _useContext.expandIcon,\n expandedRowRender = _useContext.expandedRowRender,\n expandIconColumnIndex = _useContext.expandIconColumnIndex;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n expandRended = _React$useState2[0],\n setExpandRended = _React$useState2[1];\n\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n var expanded = expandedKeys && expandedKeys.has(rowKey);\n React.useEffect(function () {\n if (expanded) {\n setExpandRended(true);\n }\n }, [expanded]);\n var rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record)); // Only when row is not expandable and `children` exist in record\n\n var nestExpandable = expandableType === 'nest';\n var hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n var mergedExpandable = rowSupportExpand || nestExpandable; // ======================== Expandable =========================\n\n var onExpandRef = React.useRef(onTriggerExpand);\n onExpandRef.current = onTriggerExpand;\n\n var onInternalTriggerExpand = function onInternalTriggerExpand() {\n onExpandRef.current.apply(onExpandRef, arguments);\n }; // =========================== onRow ===========================\n\n\n var additionalProps = onRow === null || onRow === void 0 ? void 0 : onRow(record, index);\n\n var onClick = function onClick(event) {\n var _additionalProps$onCl;\n\n if (expandRowByClick && mergedExpandable) {\n onInternalTriggerExpand(record, event);\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n additionalProps === null || additionalProps === void 0 ? void 0 : (_additionalProps$onCl = additionalProps.onClick) === null || _additionalProps$onCl === void 0 ? void 0 : _additionalProps$onCl.call.apply(_additionalProps$onCl, [additionalProps, event].concat(args));\n }; // ======================== Base tr row ========================\n\n\n var computeRowClassName;\n\n if (typeof rowClassName === 'string') {\n computeRowClassName = rowClassName;\n } else if (typeof rowClassName === 'function') {\n computeRowClassName = rowClassName(record, index, indent);\n }\n\n var columnsKey = getColumnsKey(flattenColumns);\n var baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, additionalProps, {\n \"data-row-key\": rowKey,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), \"\".concat(prefixCls, \"-row-level-\").concat(indent), computeRowClassName, additionalProps && additionalProps.className),\n style: _objectSpread(_objectSpread({}, style), additionalProps ? additionalProps.style : null),\n onClick: onClick\n }), flattenColumns.map(function (column, colIndex) {\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className;\n var key = columnsKey[colIndex];\n var fixedInfo = fixedInfoList[colIndex]; // ============= Used for nest expandable =============\n\n var appendCellNode;\n\n if (colIndex === (expandIconColumnIndex || 0) && nestExpandable) {\n appendCellNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n paddingLeft: \"\".concat(indentSize * indent, \"px\")\n },\n className: \"\".concat(prefixCls, \"-row-indent indent-level-\").concat(indent)\n }), expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: hasNestChildren,\n record: record,\n onExpand: onInternalTriggerExpand\n }));\n }\n\n var additionalCellProps;\n\n if (column.onCell) {\n additionalCellProps = column.onCell(record, index);\n }\n\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: columnClassName,\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: column.rowScope ? scopeCellComponent : cellComponent,\n prefixCls: prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: render,\n shouldCellUpdate: column.shouldCellUpdate,\n expanded: appendCellNode && expanded\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: additionalCellProps\n }));\n })); // ======================== Expand Row =========================\n\n var expandRowNode;\n\n if (rowSupportExpand && (expandRended || expanded)) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n var computedExpandedRowClassName = expandedRowClassName && expandedRowClassName(record, index, indent);\n expandRowNode = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: expanded,\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), computedExpandedRowClassName),\n prefixCls: prefixCls,\n component: RowComponent,\n cellComponent: cellComponent,\n colSpan: flattenColumns.length,\n isEmpty: false\n }, expandContent);\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, baseRowNode, expandRowNode);\n}\n\nBodyRow.displayName = 'BodyRow';\nexport default responseImmutable(BodyRow);","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nexport default function MeasureCell(_ref) {\n var columnKey = _ref.columnKey,\n onColumnResize = _ref.onColumnResize;\n var cellRef = React.useRef();\n React.useEffect(function () {\n if (cellRef.current) {\n onColumnResize(columnKey, cellRef.current.offsetWidth);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n data: columnKey\n }, /*#__PURE__*/React.createElement(\"td\", {\n ref: cellRef,\n style: {\n padding: 0,\n border: 0,\n height: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: 0,\n overflow: 'hidden'\n }\n }, \"\\xA0\")));\n}","import * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport MeasureCell from \"./MeasureCell\";\nexport default function MeasureRow(_ref) {\n var prefixCls = _ref.prefixCls,\n columnsKey = _ref.columnsKey,\n onColumnResize = _ref.onColumnResize;\n return /*#__PURE__*/React.createElement(\"tr\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-measure-row\"),\n style: {\n height: 0,\n fontSize: 0\n }\n }, /*#__PURE__*/React.createElement(ResizeObserver.Collection, {\n onBatchResize: function onBatchResize(infoList) {\n infoList.forEach(function (_ref2) {\n var columnKey = _ref2.data,\n size = _ref2.size;\n onColumnResize(columnKey, size.offsetWidth);\n });\n }\n }, columnsKey.map(function (columnKey) {\n return /*#__PURE__*/React.createElement(MeasureCell, {\n key: columnKey,\n columnKey: columnKey,\n onColumnResize: onColumnResize\n });\n })));\n}","import { responseImmutable, useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport TableContext from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport BodyRow from \"./BodyRow\";\nimport ExpandedRow from \"./ExpandedRow\";\nimport MeasureRow from \"./MeasureRow\";\n\nfunction Body(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n var data = props.data,\n getRowKey = props.getRowKey,\n measureColumnWidth = props.measureColumnWidth,\n expandedKeys = props.expandedKeys,\n onRow = props.onRow,\n rowExpandable = props.rowExpandable,\n emptyNode = props.emptyNode,\n childrenColumnName = props.childrenColumnName;\n\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent', 'onColumnResize', 'flattenColumns']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent,\n onColumnResize = _useContext.onColumnResize,\n flattenColumns = _useContext.flattenColumns;\n\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey); // =================== Performance ====================\n\n var perfRef = React.useRef({\n renderWithProps: false\n }); // ====================== Render ======================\n\n var WrapperComponent = getComponent(['body', 'wrapper'], 'tbody');\n var trComponent = getComponent(['body', 'row'], 'tr');\n var tdComponent = getComponent(['body', 'cell'], 'td');\n var thComponent = getComponent(['body', 'cell'], 'th');\n var rows;\n\n if (data.length) {\n rows = flattenData.map(function (item, idx) {\n var record = item.record,\n indent = item.indent,\n renderIndex = item.index;\n var key = getRowKey(record, idx);\n return /*#__PURE__*/React.createElement(BodyRow, {\n key: key,\n rowKey: key,\n record: record,\n index: idx,\n renderIndex: renderIndex,\n rowComponent: trComponent,\n cellComponent: tdComponent,\n scopeCellComponent: thComponent,\n expandedKeys: expandedKeys,\n onRow: onRow,\n getRowKey: getRowKey,\n rowExpandable: rowExpandable,\n childrenColumnName: childrenColumnName,\n indent: indent\n });\n });\n } else {\n rows = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: true,\n className: \"\".concat(prefixCls, \"-placeholder\"),\n prefixCls: prefixCls,\n component: trComponent,\n cellComponent: tdComponent,\n colSpan: flattenColumns.length,\n isEmpty: true\n }, emptyNode);\n }\n\n var columnsKey = getColumnsKey(flattenColumns);\n return /*#__PURE__*/React.createElement(PerfContext.Provider, {\n value: perfRef.current\n }, /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-tbody\")\n }, measureColumnWidth && /*#__PURE__*/React.createElement(MeasureRow, {\n prefixCls: prefixCls,\n columnsKey: columnsKey,\n onColumnResize: onColumnResize\n }), rows));\n}\n\nBody.displayName = 'Body';\nexport default responseImmutable(Body);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"columnType\"];\nimport * as React from 'react';\nimport { INTERNAL_COL_DEFINE } from \"./utils/legacyUtil\";\n\nfunction ColGroup(_ref) {\n var colWidths = _ref.colWidths,\n columns = _ref.columns,\n columCount = _ref.columCount;\n var cols = [];\n var len = columCount || columns.length; // Only insert col with width & additional props\n // Skip if rest col do not have any useful info\n\n var mustInsert = false;\n\n for (var i = len - 1; i >= 0; i -= 1) {\n var width = colWidths[i];\n var column = columns && columns[i];\n var additionalProps = column && column[INTERNAL_COL_DEFINE];\n\n if (width || additionalProps || mustInsert) {\n var _ref2 = additionalProps || {},\n columnType = _ref2.columnType,\n restAdditionalProps = _objectWithoutProperties(_ref2, _excluded);\n\n cols.unshift( /*#__PURE__*/React.createElement(\"col\", _extends({\n key: i,\n style: {\n width: width\n }\n }, restAdditionalProps)));\n mustInsert = true;\n }\n }\n\n return /*#__PURE__*/React.createElement(\"colgroup\", null, cols);\n}\n\nexport default ColGroup;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"noData\", \"columns\", \"flattenColumns\", \"colWidths\", \"columCount\", \"stickyOffsets\", \"direction\", \"fixHeader\", \"stickyTopOffset\", \"stickyBottomOffset\", \"stickyClassName\", \"onScroll\", \"maxContentScroll\", \"children\"];\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport { fillRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport ColGroup from \"../ColGroup\";\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\n\nfunction useColumnWidth(colWidths, columCount) {\n return useMemo(function () {\n var cloneColumns = [];\n\n for (var i = 0; i < columCount; i += 1) {\n var val = colWidths[i];\n\n if (val !== undefined) {\n cloneColumns[i] = val;\n } else {\n return null;\n }\n }\n\n return cloneColumns;\n }, [colWidths.join('_'), columCount]);\n}\n\nvar FixedHolder = /*#__PURE__*/React.forwardRef(function (props, ref) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n var className = props.className,\n noData = props.noData,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n colWidths = props.colWidths,\n columCount = props.columCount,\n stickyOffsets = props.stickyOffsets,\n direction = props.direction,\n fixHeader = props.fixHeader,\n stickyTopOffset = props.stickyTopOffset,\n stickyBottomOffset = props.stickyBottomOffset,\n stickyClassName = props.stickyClassName,\n onScroll = props.onScroll,\n maxContentScroll = props.maxContentScroll,\n children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var _useContext = useContext(TableContext, ['prefixCls', 'scrollbarSize', 'isSticky']),\n prefixCls = _useContext.prefixCls,\n scrollbarSize = _useContext.scrollbarSize,\n isSticky = _useContext.isSticky;\n\n var combinationScrollBarSize = isSticky && !fixHeader ? 0 : scrollbarSize; // Pass wheel to scroll event\n\n var scrollRef = React.useRef(null);\n var setScrollRef = React.useCallback(function (element) {\n fillRef(ref, element);\n fillRef(scrollRef, element);\n }, []);\n React.useEffect(function () {\n var _scrollRef$current;\n\n function onWheel(e) {\n var _ref = e,\n currentTarget = _ref.currentTarget,\n deltaX = _ref.deltaX;\n\n if (deltaX) {\n onScroll({\n currentTarget: currentTarget,\n scrollLeft: currentTarget.scrollLeft + deltaX\n });\n e.preventDefault();\n }\n }\n\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.addEventListener('wheel', onWheel);\n return function () {\n var _scrollRef$current2;\n\n (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.removeEventListener('wheel', onWheel);\n };\n }, []); // Check if all flattenColumns has width\n\n var allFlattenColumnsWithWidth = React.useMemo(function () {\n return flattenColumns.every(function (column) {\n return column.width >= 0;\n });\n }, [flattenColumns]); // Add scrollbar column\n\n var lastColumn = flattenColumns[flattenColumns.length - 1];\n var ScrollBarColumn = {\n fixed: lastColumn ? lastColumn.fixed : null,\n scrollbar: true,\n onHeaderCell: function onHeaderCell() {\n return {\n className: \"\".concat(prefixCls, \"-cell-scrollbar\")\n };\n }\n };\n var columnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(columns), [ScrollBarColumn]) : columns;\n }, [combinationScrollBarSize, columns]);\n var flattenColumnsWithScrollbar = useMemo(function () {\n return combinationScrollBarSize ? [].concat(_toConsumableArray(flattenColumns), [ScrollBarColumn]) : flattenColumns;\n }, [combinationScrollBarSize, flattenColumns]); // Calculate the sticky offsets\n\n var headerStickyOffsets = useMemo(function () {\n var right = stickyOffsets.right,\n left = stickyOffsets.left;\n return _objectSpread(_objectSpread({}, stickyOffsets), {}, {\n left: direction === 'rtl' ? [].concat(_toConsumableArray(left.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]) : left,\n right: direction === 'rtl' ? right : [].concat(_toConsumableArray(right.map(function (width) {\n return width + combinationScrollBarSize;\n })), [0]),\n isSticky: isSticky\n });\n }, [combinationScrollBarSize, stickyOffsets, isSticky]);\n var mergedColumnWidth = useColumnWidth(colWidths, columCount);\n return /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread({\n overflow: 'hidden'\n }, isSticky ? {\n top: stickyTopOffset,\n bottom: stickyBottomOffset\n } : {}),\n ref: setScrollRef,\n className: classNames(className, _defineProperty({}, stickyClassName, !!stickyClassName))\n }, /*#__PURE__*/React.createElement(\"table\", {\n style: {\n tableLayout: 'fixed',\n visibility: noData || mergedColumnWidth ? null : 'hidden'\n }\n }, (!noData || !maxContentScroll || allFlattenColumnsWithWidth) && /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: mergedColumnWidth ? [].concat(_toConsumableArray(mergedColumnWidth), [combinationScrollBarSize]) : [],\n columCount: columCount + 1,\n columns: flattenColumnsWithScrollbar\n }), children(_objectSpread(_objectSpread({}, restProps), {}, {\n stickyOffsets: headerStickyOffsets,\n columns: columnsWithScrollbar,\n flattenColumns: flattenColumnsWithScrollbar\n }))));\n});\nFixedHolder.displayName = 'FixedHolder';\n/** Return a table in div as fixed element which contains sticky info */\n// export default responseImmutable(FixedHolder);\n\nexport default /*#__PURE__*/React.memo(FixedHolder);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext from \"../context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\n\nfunction HeaderRow(_ref) {\n var cells = _ref.cells,\n stickyOffsets = _ref.stickyOffsets,\n flattenColumns = _ref.flattenColumns,\n RowComponent = _ref.rowComponent,\n CellComponent = _ref.cellComponent,\n tdCellComponent = _ref.tdCellComponent,\n onHeaderRow = _ref.onHeaderRow,\n index = _ref.index;\n\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n\n var rowProps;\n\n if (onHeaderRow) {\n rowProps = onHeaderRow(cells.map(function (cell) {\n return cell.column;\n }), index);\n }\n\n var columnsKey = getColumnsKey(cells.map(function (cell) {\n return cell.column;\n }));\n return /*#__PURE__*/React.createElement(RowComponent, rowProps, cells.map(function (cell, cellIndex) {\n var column = cell.column;\n var fixedInfo = getCellFixedInfo(cell.colStart, cell.colEnd, flattenColumns, stickyOffsets, direction, column);\n var additionalProps;\n\n if (column && column.onHeaderCell) {\n additionalProps = cell.column.onHeaderCell(column);\n }\n\n return /*#__PURE__*/React.createElement(Cell, _extends({}, cell, {\n scope: column.title ? cell.colSpan > 1 ? 'colgroup' : 'col' : null,\n ellipsis: column.ellipsis,\n align: column.align,\n component: column.title ? CellComponent : tdCellComponent,\n prefixCls: prefixCls,\n key: columnsKey[cellIndex]\n }, fixedInfo, {\n additionalProps: additionalProps,\n rowType: \"header\"\n }));\n }));\n}\n\nHeaderRow.displayName = 'HeaderRow';\nexport default HeaderRow;","import { responseImmutable, useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport HeaderRow from \"./HeaderRow\";\n\nfunction parseHeaderRows(rootColumns) {\n var rows = [];\n\n function fillRowCells(columns, colIndex) {\n var rowIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n // Init rows\n rows[rowIndex] = rows[rowIndex] || [];\n var currentColIndex = colIndex;\n var colSpans = columns.filter(Boolean).map(function (column) {\n var cell = {\n key: column.key,\n className: column.className || '',\n children: column.title,\n column: column,\n colStart: currentColIndex\n };\n var colSpan = 1;\n var subColumns = column.children;\n\n if (subColumns && subColumns.length > 0) {\n colSpan = fillRowCells(subColumns, currentColIndex, rowIndex + 1).reduce(function (total, count) {\n return total + count;\n }, 0);\n cell.hasSubColumns = true;\n }\n\n if ('colSpan' in column) {\n colSpan = column.colSpan;\n }\n\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n\n cell.colSpan = colSpan;\n cell.colEnd = cell.colStart + colSpan - 1;\n rows[rowIndex].push(cell);\n currentColIndex += colSpan;\n return colSpan;\n });\n return colSpans;\n } // Generate `rows` cell data\n\n\n fillRowCells(rootColumns, 0); // Handle `rowSpan`\n\n var rowCount = rows.length;\n\n var _loop = function _loop(rowIndex) {\n rows[rowIndex].forEach(function (cell) {\n if (!('rowSpan' in cell) && !cell.hasSubColumns) {\n // eslint-disable-next-line no-param-reassign\n cell.rowSpan = rowCount - rowIndex;\n }\n });\n };\n\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n _loop(rowIndex);\n }\n\n return rows;\n}\n\nfunction Header(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n var stickyOffsets = props.stickyOffsets,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n onHeaderRow = props.onHeaderRow;\n\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent;\n\n var rows = React.useMemo(function () {\n return parseHeaderRows(columns);\n }, [columns]);\n var WrapperComponent = getComponent(['header', 'wrapper'], 'thead');\n var trComponent = getComponent(['header', 'row'], 'tr');\n var thComponent = getComponent(['header', 'cell'], 'th');\n var tdComponent = getComponent(['header', 'cell'], 'td');\n return /*#__PURE__*/React.createElement(WrapperComponent, {\n className: \"\".concat(prefixCls, \"-thead\")\n }, rows.map(function (row, rowIndex) {\n var rowNode = /*#__PURE__*/React.createElement(HeaderRow, {\n key: rowIndex,\n flattenColumns: flattenColumns,\n cells: row,\n stickyOffsets: stickyOffsets,\n rowComponent: trComponent,\n cellComponent: thComponent,\n tdCellComponent: tdComponent,\n onHeaderRow: onHeaderRow,\n index: rowIndex\n });\n return rowNode;\n }));\n}\n\nexport default responseImmutable(Header);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport function renderExpandIcon(_ref) {\n var _classNames;\n\n var prefixCls = _ref.prefixCls,\n record = _ref.record,\n onExpand = _ref.onExpand,\n expanded = _ref.expanded,\n expandable = _ref.expandable;\n var expandClassName = \"\".concat(prefixCls, \"-row-expand-icon\");\n\n if (!expandable) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, \"\".concat(prefixCls, \"-row-spaced\"))\n });\n }\n\n var onClick = function onClick(event) {\n onExpand(record, event);\n event.stopPropagation();\n };\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-expanded\"), expanded), _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-collapsed\"), !expanded), _classNames)),\n onClick: onClick\n });\n}\nexport function findAllChildrenKeys(data, getRowKey, childrenColumnName) {\n var keys = [];\n\n function dig(list) {\n (list || []).forEach(function (item, index) {\n keys.push(getRowKey(item, index));\n dig(item[childrenColumnName]);\n });\n }\n\n dig(data);\n return keys;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../Table\";\nimport { findAllChildrenKeys, renderExpandIcon } from \"../utils/expandUtil\";\nimport { getExpandableProps } from \"../utils/legacyUtil\";\nexport default function useExpand(props, mergedData, getRowKey) {\n var expandableConfig = getExpandableProps(props);\n var expandIcon = expandableConfig.expandIcon,\n expandedRowKeys = expandableConfig.expandedRowKeys,\n defaultExpandedRowKeys = expandableConfig.defaultExpandedRowKeys,\n defaultExpandAllRows = expandableConfig.defaultExpandAllRows,\n expandedRowRender = expandableConfig.expandedRowRender,\n onExpand = expandableConfig.onExpand,\n onExpandedRowsChange = expandableConfig.onExpandedRowsChange,\n childrenColumnName = expandableConfig.childrenColumnName;\n var mergedExpandIcon = expandIcon || renderExpandIcon;\n var mergedChildrenColumnName = childrenColumnName || 'children';\n var expandableType = React.useMemo(function () {\n if (expandedRowRender) {\n return 'row';\n }\n /* eslint-disable no-underscore-dangle */\n\n /**\n * Fix https://github.com/ant-design/ant-design/issues/21154\n * This is a workaround to not to break current behavior.\n * We can remove follow code after final release.\n *\n * To other developer:\n * Do not use `__PARENT_RENDER_ICON__` in prod since we will remove this when refactor\n */\n\n\n if (props.expandable && props.internalHooks === INTERNAL_HOOKS && props.expandable.__PARENT_RENDER_ICON__ || mergedData.some(function (record) {\n return record && _typeof(record) === 'object' && record[mergedChildrenColumnName];\n })) {\n return 'nest';\n }\n /* eslint-enable */\n\n\n return false;\n }, [!!expandedRowRender, mergedData]);\n\n var _React$useState = React.useState(function () {\n if (defaultExpandedRowKeys) {\n return defaultExpandedRowKeys;\n }\n\n if (defaultExpandAllRows) {\n return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName);\n }\n\n return [];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerExpandedKeys = _React$useState2[0],\n setInnerExpandedKeys = _React$useState2[1];\n\n var mergedExpandedKeys = React.useMemo(function () {\n return new Set(expandedRowKeys || innerExpandedKeys || []);\n }, [expandedRowKeys, innerExpandedKeys]);\n var onTriggerExpand = React.useCallback(function (record) {\n var key = getRowKey(record, mergedData.indexOf(record));\n var newExpandedKeys;\n var hasKey = mergedExpandedKeys.has(key);\n\n if (hasKey) {\n mergedExpandedKeys.delete(key);\n newExpandedKeys = _toConsumableArray(mergedExpandedKeys);\n } else {\n newExpandedKeys = [].concat(_toConsumableArray(mergedExpandedKeys), [key]);\n }\n\n setInnerExpandedKeys(newExpandedKeys);\n\n if (onExpand) {\n onExpand(!hasKey, record);\n }\n\n if (onExpandedRowsChange) {\n onExpandedRowsChange(newExpandedKeys);\n }\n }, [getRowKey, mergedExpandedKeys, mergedData, onExpand, onExpandedRowsChange]); // Warning if use `expandedRowRender` and nest children in the same time\n\n if (process.env.NODE_ENV !== 'production' && expandedRowRender && mergedData.some(function (record) {\n return Array.isArray(record === null || record === void 0 ? void 0 : record[mergedChildrenColumnName]);\n })) {\n warning(false, '`expandedRowRender` should not use with nested Table');\n }\n\n return [expandableConfig, expandableType, mergedExpandedKeys, mergedExpandIcon, mergedChildrenColumnName, onTriggerExpand];\n}","import useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport { getCellFixedInfo } from \"../utils/fixUtil\";\nexport default function useFixedInfo(flattenColumns, stickyOffsets, direction, columns) {\n var fixedInfoList = flattenColumns.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets, direction, columns === null || columns === void 0 ? void 0 : columns[colIndex]);\n });\n return useMemo(function () {\n return fixedInfoList;\n }, [fixedInfoList], function (prev, next) {\n return !isEqual(prev, next);\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\n\n/**\n * Execute code before next frame but async\n */\nexport function useLayoutState(defaultState) {\n var stateRef = useRef(defaultState);\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n\n var lastPromiseRef = useRef(null);\n var updateBatchRef = useRef([]);\n\n function setFrameState(updater) {\n updateBatchRef.current.push(updater);\n var promise = Promise.resolve();\n lastPromiseRef.current = promise;\n promise.then(function () {\n if (lastPromiseRef.current === promise) {\n var prevBatch = updateBatchRef.current;\n var prevState = stateRef.current;\n updateBatchRef.current = [];\n prevBatch.forEach(function (batchUpdater) {\n stateRef.current = batchUpdater(stateRef.current);\n });\n lastPromiseRef.current = null;\n\n if (prevState !== stateRef.current) {\n forceUpdate({});\n }\n }\n });\n }\n\n useEffect(function () {\n return function () {\n lastPromiseRef.current = null;\n };\n }, []);\n return [stateRef.current, setFrameState];\n}\n/** Lock frame, when frame pass reset the lock. */\n\nexport function useTimeoutLock(defaultState) {\n var frameRef = useRef(defaultState || null);\n var timeoutRef = useRef();\n\n function cleanUp() {\n window.clearTimeout(timeoutRef.current);\n }\n\n function setState(newState) {\n frameRef.current = newState;\n cleanUp();\n timeoutRef.current = window.setTimeout(function () {\n frameRef.current = null;\n timeoutRef.current = undefined;\n }, 100);\n }\n\n function getState() {\n return frameRef.current;\n }\n\n useEffect(function () {\n return cleanUp;\n }, []);\n return [setState, getState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useHover() {\n var _React$useState = React.useState(-1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n startRow = _React$useState2[0],\n setStartRow = _React$useState2[1];\n\n var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n endRow = _React$useState4[0],\n setEndRow = _React$useState4[1];\n\n var onHover = React.useCallback(function (start, end) {\n setStartRow(start);\n setEndRow(end);\n }, []);\n return [startRow, endRow, onHover];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\n// fix ssr render\nvar defaultContainer = canUseDom() ? window : null;\n/** Sticky header hooks */\n\nexport default function useSticky(sticky, prefixCls) {\n var _ref = _typeof(sticky) === 'object' ? sticky : {},\n _ref$offsetHeader = _ref.offsetHeader,\n offsetHeader = _ref$offsetHeader === void 0 ? 0 : _ref$offsetHeader,\n _ref$offsetSummary = _ref.offsetSummary,\n offsetSummary = _ref$offsetSummary === void 0 ? 0 : _ref$offsetSummary,\n _ref$offsetScroll = _ref.offsetScroll,\n offsetScroll = _ref$offsetScroll === void 0 ? 0 : _ref$offsetScroll,\n _ref$getContainer = _ref.getContainer,\n getContainer = _ref$getContainer === void 0 ? function () {\n return defaultContainer;\n } : _ref$getContainer;\n\n var container = getContainer() || defaultContainer;\n return React.useMemo(function () {\n var isSticky = !!sticky;\n return {\n isSticky: isSticky,\n stickyClassName: isSticky ? \"\".concat(prefixCls, \"-sticky-holder\") : '',\n offsetHeader: offsetHeader,\n offsetSummary: offsetSummary,\n offsetScroll: offsetScroll,\n container: container\n };\n }, [offsetScroll, offsetHeader, offsetSummary, prefixCls, container]);\n}","import { useMemo } from 'react';\n\n/**\n * Get sticky column offset width\n */\nfunction useStickyOffsets(colWidths, columnCount, direction) {\n var stickyOffsets = useMemo(function () {\n var leftOffsets = [];\n var rightOffsets = [];\n var left = 0;\n var right = 0;\n\n for (var start = 0; start < columnCount; start += 1) {\n if (direction === 'rtl') {\n // Left offset\n rightOffsets[start] = right;\n right += colWidths[start] || 0; // Right offset\n\n var end = columnCount - start - 1;\n leftOffsets[end] = left;\n left += colWidths[end] || 0;\n } else {\n // Left offset\n leftOffsets[start] = left;\n left += colWidths[start] || 0; // Right offset\n\n var _end = columnCount - start - 1;\n\n rightOffsets[_end] = right;\n right += colWidths[_end] || 0;\n }\n }\n\n return {\n left: leftOffsets,\n right: rightOffsets\n };\n }, [colWidths, columnCount, direction]);\n return stickyOffsets;\n}\n\nexport default useStickyOffsets;","import * as React from 'react';\n\nfunction Panel(_ref) {\n var className = _ref.className,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n}\n\nexport default Panel;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport { getOffset } from \"rc-util/es/Dom/css\";\nimport getScrollBarSize from \"rc-util/es/getScrollBarSize\";\nimport * as React from 'react';\nimport TableContext from \"./context/TableContext\";\nimport { useContext } from '@rc-component/context';\nimport { useLayoutState } from \"./hooks/useFrame\";\n\nvar StickyScrollBar = function StickyScrollBar(_ref, ref) {\n var _scrollBodyRef$curren, _scrollBodyRef$curren2;\n\n var scrollBodyRef = _ref.scrollBodyRef,\n onScroll = _ref.onScroll,\n offsetScroll = _ref.offsetScroll,\n container = _ref.container;\n var prefixCls = useContext(TableContext, 'prefixCls');\n var bodyScrollWidth = ((_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 ? void 0 : _scrollBodyRef$curren.scrollWidth) || 0;\n var bodyWidth = ((_scrollBodyRef$curren2 = scrollBodyRef.current) === null || _scrollBodyRef$curren2 === void 0 ? void 0 : _scrollBodyRef$curren2.clientWidth) || 0;\n var scrollBarWidth = bodyScrollWidth && bodyWidth * (bodyWidth / bodyScrollWidth);\n var scrollBarRef = React.useRef();\n\n var _useLayoutState = useLayoutState({\n scrollLeft: 0,\n isHiddenScrollBar: false\n }),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n scrollState = _useLayoutState2[0],\n setScrollState = _useLayoutState2[1];\n\n var refState = React.useRef({\n delta: 0,\n x: 0\n });\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n isActive = _React$useState2[0],\n setActive = _React$useState2[1];\n\n var onMouseUp = function onMouseUp() {\n setActive(false);\n };\n\n var onMouseDown = function onMouseDown(event) {\n event.persist();\n refState.current.delta = event.pageX - scrollState.scrollLeft;\n refState.current.x = 0;\n setActive(true);\n event.preventDefault();\n };\n\n var onMouseMove = function onMouseMove(event) {\n var _window;\n\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n var _ref2 = event || ((_window = window) === null || _window === void 0 ? void 0 : _window.event),\n buttons = _ref2.buttons;\n\n if (!isActive || buttons === 0) {\n // If out body mouse up, we can set isActive false when mouse move\n if (isActive) {\n setActive(false);\n }\n\n return;\n }\n\n var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;\n\n if (left <= 0) {\n left = 0;\n }\n\n if (left + scrollBarWidth >= bodyWidth) {\n left = bodyWidth - scrollBarWidth;\n }\n\n onScroll({\n scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)\n });\n refState.current.x = event.pageX;\n };\n\n var onContainerScroll = function onContainerScroll() {\n if (!scrollBodyRef.current) {\n return;\n }\n\n var tableOffsetTop = getOffset(scrollBodyRef.current).top;\n var tableBottomOffset = tableOffsetTop + scrollBodyRef.current.offsetHeight;\n var currentClientOffset = container === window ? document.documentElement.scrollTop + window.innerHeight : getOffset(container).top + container.clientHeight;\n\n if (tableBottomOffset - getScrollBarSize() <= currentClientOffset || tableOffsetTop >= currentClientOffset - offsetScroll) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n isHiddenScrollBar: true\n });\n });\n } else {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n isHiddenScrollBar: false\n });\n });\n }\n };\n\n var setScrollLeft = function setScrollLeft(left) {\n setScrollState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: left / bodyScrollWidth * bodyWidth || 0\n });\n });\n };\n\n React.useImperativeHandle(ref, function () {\n return {\n setScrollLeft: setScrollLeft\n };\n });\n React.useEffect(function () {\n var onMouseUpListener = addEventListener(document.body, 'mouseup', onMouseUp, false);\n var onMouseMoveListener = addEventListener(document.body, 'mousemove', onMouseMove, false);\n onContainerScroll();\n return function () {\n onMouseUpListener.remove();\n onMouseMoveListener.remove();\n };\n }, [scrollBarWidth, isActive]);\n React.useEffect(function () {\n var onScrollListener = addEventListener(container, 'scroll', onContainerScroll, false);\n var onResizeListener = addEventListener(window, 'resize', onContainerScroll, false);\n return function () {\n onScrollListener.remove();\n onResizeListener.remove();\n };\n }, [container]);\n React.useEffect(function () {\n if (!scrollState.isHiddenScrollBar) {\n setScrollState(function (state) {\n var bodyNode = scrollBodyRef.current;\n\n if (!bodyNode) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth\n });\n });\n }\n }, [scrollState.isHiddenScrollBar]);\n\n if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: getScrollBarSize(),\n width: bodyWidth,\n bottom: offsetScroll\n },\n className: \"\".concat(prefixCls, \"-sticky-scroll\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n onMouseDown: onMouseDown,\n ref: scrollBarRef,\n className: classNames(\"\".concat(prefixCls, \"-sticky-scroll-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-sticky-scroll-bar-active\"), isActive)),\n style: {\n width: \"\".concat(scrollBarWidth, \"px\"),\n transform: \"translate3d(\".concat(scrollState.scrollLeft, \"px, 0, 0)\")\n }\n }));\n};\n\nexport default /*#__PURE__*/React.forwardRef(StickyScrollBar);","/* istanbul ignore next */\n\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction Column(_) {\n return null;\n}\n\nexport default Column;","/* istanbul ignore next */\n\n/**\n * This is a syntactic sugar for `columns` prop.\n * So HOC will not work on this.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction ColumnGroup(_) {\n return null;\n}\n\nexport default ColumnGroup;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\n/**\n * Feature:\n * - fixed not need to set width\n * - support `rowExpandable` to config row expand logic\n * - add `summary` to support `() => ReactNode`\n *\n * Update:\n * - `dataIndex` is `array[]` now\n * - `expandable` wrap all the expand related props\n *\n * Removed:\n * - expandIconAsCell\n * - useFixedHeader\n * - rowRef\n * - columns[number].onCellClick\n * - onRowClick\n * - onRowDoubleClick\n * - onRowMouseEnter\n * - onRowMouseLeave\n * - getBodyWrapper\n * - bodyStyle\n *\n * Deprecated:\n * - All expanded props, move into expandable\n */\nimport { makeImmutable } from '@rc-component/context';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport getValue from \"rc-util/es/utils/get\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport Body from \"./Body\";\nimport ColGroup from \"./ColGroup\";\nimport { EXPAND_COLUMN } from \"./constant\";\nimport TableContext from \"./context/TableContext\";\nimport FixedHolder from \"./FixedHolder\";\nimport Footer, { FooterComponents } from \"./Footer\";\nimport Summary from \"./Footer/Summary\";\nimport Header from \"./Header/Header\";\nimport useColumns from \"./hooks/useColumns\";\nimport useExpand from \"./hooks/useExpand\";\nimport useFixedInfo from \"./hooks/useFixedInfo\";\nimport { useLayoutState, useTimeoutLock } from \"./hooks/useFrame\";\nimport useHover from \"./hooks/useHover\";\nimport useSticky from \"./hooks/useSticky\";\nimport useStickyOffsets from \"./hooks/useStickyOffsets\";\nimport Panel from \"./Panel\";\nimport StickyScrollBar from \"./stickyScrollBar\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport { getColumnsKey, validateValue } from \"./utils/valueUtil\"; // Used for conditions cache\n\nvar EMPTY_DATA = []; // Used for customize scroll\n\nvar EMPTY_SCROLL_TARGET = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';\n\nfunction defaultEmpty() {\n return 'No Data';\n}\n\nfunction Table(tableProps) {\n var _classNames;\n\n var props = _objectSpread({\n rowKey: 'key',\n prefixCls: 'rc-table',\n emptyText: defaultEmpty\n }, tableProps);\n\n var prefixCls = props.prefixCls,\n className = props.className,\n rowClassName = props.rowClassName,\n style = props.style,\n data = props.data,\n rowKey = props.rowKey,\n scroll = props.scroll,\n tableLayout = props.tableLayout,\n direction = props.direction,\n title = props.title,\n footer = props.footer,\n summary = props.summary,\n caption = props.caption,\n id = props.id,\n showHeader = props.showHeader,\n components = props.components,\n emptyText = props.emptyText,\n onRow = props.onRow,\n onHeaderRow = props.onHeaderRow,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n sticky = props.sticky;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length; // ===================== Warning ======================\n\n if (process.env.NODE_ENV !== 'production') {\n ['onRowClick', 'onRowDoubleClick', 'onRowContextMenu', 'onRowMouseEnter', 'onRowMouseLeave'].forEach(function (name) {\n warning(props[name] === undefined, \"`\".concat(name, \"` is removed, please use `onRow` instead.\"));\n });\n warning(!('getBodyWrapper' in props), '`getBodyWrapper` is deprecated, please use custom `components` instead.');\n } // ==================== Customize =====================\n\n\n var getComponent = React.useCallback(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n }, [components]);\n var getRowKey = React.useMemo(function () {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n\n return function (record) {\n var key = record && record[rowKey];\n\n if (process.env.NODE_ENV !== 'production') {\n warning(key !== undefined, 'Each record in table should have a unique `key` prop, or set `rowKey` to an unique primary key.');\n }\n\n return key;\n };\n }, [rowKey]); // ====================== Hover =======================\n\n var _useHover = useHover(),\n _useHover2 = _slicedToArray(_useHover, 3),\n startRow = _useHover2[0],\n endRow = _useHover2[1],\n onHover = _useHover2[2]; // ====================== Expand ======================\n\n\n var _useExpand = useExpand(props, mergedData, getRowKey),\n _useExpand2 = _slicedToArray(_useExpand, 6),\n expandableConfig = _useExpand2[0],\n expandableType = _useExpand2[1],\n mergedExpandedKeys = _useExpand2[2],\n mergedExpandIcon = _useExpand2[3],\n mergedChildrenColumnName = _useExpand2[4],\n onTriggerExpand = _useExpand2[5]; // ====================== Column ======================\n\n\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n componentWidth = _React$useState2[0],\n setComponentWidth = _React$useState2[1];\n\n var _useColumns = useColumns(_objectSpread(_objectSpread(_objectSpread({}, props), expandableConfig), {}, {\n expandable: !!expandableConfig.expandedRowRender,\n columnTitle: expandableConfig.columnTitle,\n expandedKeys: mergedExpandedKeys,\n getRowKey: getRowKey,\n // https://github.com/ant-design/ant-design/issues/23894\n onTriggerExpand: onTriggerExpand,\n expandIcon: mergedExpandIcon,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n direction: direction\n }), internalHooks === INTERNAL_HOOKS ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 2),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1];\n\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]); // ====================== Scroll ======================\n\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n var scrollSummaryRef = React.useRef();\n\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pingedLeft = _React$useState4[0],\n setPingedLeft = _React$useState4[1];\n\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedRight = _React$useState6[0],\n setPingedRight = _React$useState6[1];\n\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1]; // Convert map to number width\n\n\n var colsKeys = getColumnsKey(flattenColumns);\n var pureColWidths = colsKeys.map(function (columnKey) {\n return colsWidths.get(columnKey);\n });\n var colWidths = React.useMemo(function () {\n return pureColWidths;\n }, [pureColWidths.join('_')]);\n var stickyOffsets = useStickyOffsets(colWidths, flattenColumns.length, direction);\n var fixHeader = scroll && validateValue(scroll.y);\n var horizonScroll = scroll && validateValue(scroll.x) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n var fixed = _ref.fixed;\n return fixed;\n }); // Sticky\n\n var stickyRef = React.useRef();\n\n var _useSticky = useSticky(sticky, prefixCls),\n isSticky = _useSticky.isSticky,\n offsetHeader = _useSticky.offsetHeader,\n offsetSummary = _useSticky.offsetSummary,\n offsetScroll = _useSticky.offsetScroll,\n stickyClassName = _useSticky.stickyClassName,\n container = _useSticky.container; // Footer (Fix footer must fixed header)\n\n\n var summaryNode = React.useMemo(function () {\n return summary === null || summary === void 0 ? void 0 : summary(mergedData);\n }, [summary, mergedData]);\n var fixFooter = (fixHeader || isSticky) && /*#__PURE__*/React.isValidElement(summaryNode) && summaryNode.type === Summary && summaryNode.props.fixed; // Scroll\n\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n\n if (fixHeader) {\n scrollYStyle = {\n overflowY: 'scroll',\n maxHeight: scroll.y\n };\n }\n\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\n }; // When no vertical scrollbar, should hide it\n // https://github.com/ant-design/ant-design/pull/20705\n // https://github.com/ant-design/ant-design/issues/21879\n\n if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n\n scrollTableStyle = {\n width: (scroll === null || scroll === void 0 ? void 0 : scroll.x) === true ? 'auto' : scroll === null || scroll === void 0 ? void 0 : scroll.x,\n minWidth: '100%'\n };\n }\n\n var onColumnResize = React.useCallback(function (columnKey, width) {\n if (isVisible(fullTableRef.current)) {\n updateColsWidths(function (widths) {\n if (widths.get(columnKey) !== width) {\n var newWidths = new Map(widths);\n newWidths.set(columnKey, width);\n return newWidths;\n }\n\n return widths;\n });\n }\n }, []);\n\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n target.scrollLeft = scrollLeft; // Delay to force scroll position if not sync\n // ref: https://github.com/ant-design/ant-design/issues/37179\n\n if (target.scrollLeft !== scrollLeft) {\n setTimeout(function () {\n target.scrollLeft = scrollLeft;\n }, 0);\n }\n }\n }\n\n var onScroll = useEvent(function (_ref2) {\n var currentTarget = _ref2.currentTarget,\n scrollLeft = _ref2.scrollLeft;\n var isRTL = direction === 'rtl';\n var mergedScrollLeft = typeof scrollLeft === 'number' ? scrollLeft : currentTarget.scrollLeft;\n var compareTarget = currentTarget || EMPTY_SCROLL_TARGET;\n\n if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\n\n setScrollTarget(compareTarget);\n forceScroll(mergedScrollLeft, scrollHeaderRef.current);\n forceScroll(mergedScrollLeft, scrollBodyRef.current);\n forceScroll(mergedScrollLeft, scrollSummaryRef.current);\n forceScroll(mergedScrollLeft, (_stickyRef$current = stickyRef.current) === null || _stickyRef$current === void 0 ? void 0 : _stickyRef$current.setScrollLeft);\n }\n\n if (currentTarget) {\n var scrollWidth = currentTarget.scrollWidth,\n clientWidth = currentTarget.clientWidth; // There is no space to scroll\n\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\n }\n\n if (isRTL) {\n setPingedLeft(-mergedScrollLeft < scrollWidth - clientWidth);\n setPingedRight(-mergedScrollLeft > 0);\n } else {\n setPingedLeft(mergedScrollLeft > 0);\n setPingedRight(mergedScrollLeft < scrollWidth - clientWidth);\n }\n }\n });\n\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n onScroll({\n currentTarget: scrollBodyRef.current\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n\n var onFullTableResize = function onFullTableResize(_ref3) {\n var width = _ref3.width;\n\n if (width !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(fullTableRef.current ? fullTableRef.current.offsetWidth : width);\n }\n }; // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\n\n\n var mounted = React.useRef(false);\n React.useEffect(function () {\n // onFullTableResize will be trigger once when ResizeObserver is mounted\n // This will reduce one duplicated triggerOnScroll time\n if (mounted.current) {\n triggerOnScroll();\n }\n }, [horizonScroll, data, columns.length]);\n React.useEffect(function () {\n mounted.current = true;\n }, []); // ===================== Effects ======================\n\n var _React$useState7 = React.useState(0),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n scrollbarSize = _React$useState8[0],\n setScrollbarSize = _React$useState8[1];\n\n var _React$useState9 = React.useState(true),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n supportSticky = _React$useState10[0],\n setSupportSticky = _React$useState10[1]; // Only IE not support, we mark as support first\n\n\n React.useEffect(function () {\n if (scrollBodyRef.current instanceof Element) {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyRef.current).width);\n } else {\n setScrollbarSize(getTargetScrollBarSize(scrollBodyContainerRef.current).width);\n }\n\n setSupportSticky(isStyleSupport('position', 'sticky'));\n }, []); // ================== INTERNAL HOOKS ==================\n\n React.useEffect(function () {\n if (internalHooks === INTERNAL_HOOKS && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n }); // ========================================================================\n // == Render ==\n // ========================================================================\n // =================== Render: Func ===================\n\n var renderFixedHeaderTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, fixedHolderPassProps), fixFooter === 'top' && /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode));\n }, [fixFooter, summaryNode]);\n var renderFixedFooterTable = React.useCallback(function (fixedHolderPassProps) {\n return /*#__PURE__*/React.createElement(Footer, fixedHolderPassProps, summaryNode);\n }, [summaryNode]); // =================== Render: Node ===================\n\n var TableComponent = getComponent(['table'], 'table'); // Table layout\n\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\n } // https://github.com/ant-design/ant-design/issues/25227\n // When scroll.x is max-content, no need to fix table layout\n // it's width should stretch out to fit content\n\n\n if (fixColumn) {\n return (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' ? 'auto' : 'fixed';\n }\n\n if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n var ellipsis = _ref4.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode; // Header props\n\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n }; // Empty\n\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n\n return emptyText;\n }, [hasData, emptyText]); // Body\n\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky,\n expandedKeys: mergedExpandedKeys,\n rowExpandable: expandableConfig.rowExpandable,\n getRowKey: getRowKey,\n onRow: onRow,\n emptyNode: emptyNode,\n childrenColumnName: mergedChildrenColumnName\n });\n var bodyColGroup = /*#__PURE__*/React.createElement(ColGroup, {\n colWidths: flattenColumns.map(function (_ref5) {\n var width = _ref5.width;\n return width;\n }),\n columns: flattenColumns\n });\n var captionElement = caption !== null && caption !== undefined ? /*#__PURE__*/React.createElement(\"caption\", {\n className: \"\".concat(prefixCls, \"-caption\")\n }, caption) : undefined;\n var customizeScrollBody = getComponent(['body']);\n\n if (process.env.NODE_ENV !== 'production' && typeof customizeScrollBody === 'function' && hasData && !fixHeader) {\n warning(false, '`components.body` with render props is only work on `scroll.y`.');\n }\n\n var dataProps = pickAttrs(props, {\n data: true\n });\n var ariaProps = pickAttrs(props, {\n aria: true\n });\n\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\n\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize: scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onScroll\n });\n headerProps.colWidths = flattenColumns.map(function (_ref6, index) {\n var width = _ref6.width;\n var colWidth = index === columns.length - 1 ? width - scrollbarSize : width;\n\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n\n warning(false, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n return 0;\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n onScroll: onScroll,\n ref: scrollBodyRef,\n className: classNames(\"\".concat(prefixCls, \"-body\"))\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, bodyTable, !fixFooter && summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n columns: columns\n }, summaryNode)));\n } // Fixed holder share the props\n\n\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && scroll.x === 'max-content'\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: stickyClassName,\n onScroll: onScroll\n });\n\n groupTableNode = /*#__PURE__*/React.createElement(React.Fragment, null, showHeader !== false && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyTopOffset: offsetHeader,\n className: \"\".concat(prefixCls, \"-header\"),\n ref: scrollHeaderRef\n }), renderFixedHeaderTable), bodyContent, fixFooter && fixFooter !== 'top' && /*#__PURE__*/React.createElement(FixedHolder, _extends({}, fixedHolderProps, {\n stickyBottomOffset: offsetSummary,\n className: \"\".concat(prefixCls, \"-summary\"),\n ref: scrollSummaryRef\n }), renderFixedFooterTable), isSticky && /*#__PURE__*/React.createElement(StickyScrollBar, {\n ref: stickyRef,\n offsetScroll: offsetScroll,\n scrollBodyRef: scrollBodyRef,\n onScroll: onScroll,\n container: container\n }));\n } else {\n // >>>>>> Unique table\n groupTableNode = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n className: classNames(\"\".concat(prefixCls, \"-content\")),\n onScroll: onScroll,\n ref: scrollBodyRef\n }, /*#__PURE__*/React.createElement(TableComponent, _extends({\n style: _objectSpread(_objectSpread({}, scrollTableStyle), {}, {\n tableLayout: mergedTableLayout\n })\n }, ariaProps), captionElement, bodyColGroup, showHeader !== false && /*#__PURE__*/React.createElement(Header, _extends({}, headerProps, columnContext)), bodyTable, summaryNode && /*#__PURE__*/React.createElement(Footer, {\n stickyOffsets: stickyOffsets,\n flattenColumns: flattenColumns,\n columns: columns\n }, summaryNode)));\n }\n\n var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-right\"), pingedRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right'), _classNames)),\n style: style,\n id: id,\n ref: fullTableRef\n }, dataProps), title && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-title\")\n }, title(mergedData)), /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollBodyContainerRef,\n className: \"\".concat(prefixCls, \"-container\")\n }, groupTableNode), footer && /*#__PURE__*/React.createElement(Panel, {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer(mergedData)));\n\n if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n\n var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction, columns);\n var TableContextValue = React.useMemo(function () {\n return {\n // Table\n prefixCls: prefixCls,\n getComponent: getComponent,\n scrollbarSize: scrollbarSize,\n direction: direction,\n fixedInfoList: fixedInfoList,\n isSticky: isSticky,\n supportSticky: supportSticky,\n componentWidth: componentWidth,\n fixHeader: fixHeader,\n fixColumn: fixColumn,\n horizonScroll: horizonScroll,\n // Body\n tableLayout: mergedTableLayout,\n rowClassName: rowClassName,\n expandedRowClassName: expandableConfig.expandedRowClassName,\n expandIcon: mergedExpandIcon,\n expandableType: expandableType,\n expandRowByClick: expandableConfig.expandRowByClick,\n expandedRowRender: expandableConfig.expandedRowRender,\n onTriggerExpand: onTriggerExpand,\n expandIconColumnIndex: expandableConfig.expandIconColumnIndex,\n indentSize: expandableConfig.indentSize,\n allColumnsFixedLeft: flattenColumns.every(function (col) {\n return col.fixed === 'left';\n }),\n // Column\n columns: columns,\n flattenColumns: flattenColumns,\n onColumnResize: onColumnResize,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover: onHover\n };\n }, [// Table\n prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll, // Body\n mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize, // Column\n columns, flattenColumns, onColumnResize, // Row\n startRow, endRow, onHover]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, fullTable);\n}\n\nexport function genTable(shouldTriggerRender) {\n return makeImmutable(Table, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;","export var EXPAND_COLUMN = {};","import * as React from 'react';\n// TODO: Remove when use `responsiveImmutable`\nvar PerfContext = /*#__PURE__*/React.createContext({\n renderWithProps: false\n});\nexport default PerfContext;","import { createContext } from '@rc-component/context';\nvar TableContext = createContext();\nexport default TableContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"fixed\"];\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { EXPAND_COLUMN } from \"../constant\";\nimport { INTERNAL_COL_DEFINE } from \"../utils/legacyUtil\";\nexport function convertChildrenToColumns(children) {\n return toArray(children).filter(function (node) {\n return /*#__PURE__*/React.isValidElement(node);\n }).map(function (_ref) {\n var key = _ref.key,\n props = _ref.props;\n\n var nodeChildren = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var column = _objectSpread({\n key: key\n }, restProps);\n\n if (nodeChildren) {\n column.children = convertChildrenToColumns(nodeChildren);\n }\n\n return column;\n });\n}\n\nfunction flatColumns(columns) {\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object';\n }).reduce(function (list, column) {\n var fixed = column.fixed; // Convert `fixed='true'` to `fixed='left'` instead\n\n var parsedFixed = fixed === true ? 'left' : fixed;\n var subColumns = column.children;\n\n if (subColumns && subColumns.length > 0) {\n return [].concat(_toConsumableArray(list), _toConsumableArray(flatColumns(subColumns).map(function (subColum) {\n return _objectSpread({\n fixed: parsedFixed\n }, subColum);\n })));\n }\n\n return [].concat(_toConsumableArray(list), [_objectSpread(_objectSpread({}, column), {}, {\n fixed: parsedFixed\n })]);\n }, []);\n}\n\nfunction warningFixed(flattenColumns) {\n var allFixLeft = true;\n\n for (var i = 0; i < flattenColumns.length; i += 1) {\n var col = flattenColumns[i];\n\n if (allFixLeft && col.fixed !== 'left') {\n allFixLeft = false;\n } else if (!allFixLeft && col.fixed === 'left') {\n warning(false, \"Index \".concat(i - 1, \" of `columns` missing `fixed='left'` prop.\"));\n break;\n }\n }\n\n var allFixRight = true;\n\n for (var _i = flattenColumns.length - 1; _i >= 0; _i -= 1) {\n var _col = flattenColumns[_i];\n\n if (allFixRight && _col.fixed !== 'right') {\n allFixRight = false;\n } else if (!allFixRight && _col.fixed === 'right') {\n warning(false, \"Index \".concat(_i + 1, \" of `columns` missing `fixed='right'` prop.\"));\n break;\n }\n }\n}\n\nfunction revertForRtl(columns) {\n return columns.map(function (column) {\n var fixed = column.fixed,\n restProps = _objectWithoutProperties(column, _excluded2); // Convert `fixed='left'` to `fixed='right'` instead\n\n\n var parsedFixed = fixed;\n\n if (fixed === 'left') {\n parsedFixed = 'right';\n } else if (fixed === 'right') {\n parsedFixed = 'left';\n }\n\n return _objectSpread({\n fixed: parsedFixed\n }, restProps);\n });\n}\n/**\n * Parse `columns` & `children` into `columns`.\n */\n\n\nfunction useColumns(_ref2, transformColumns) {\n var prefixCls = _ref2.prefixCls,\n columns = _ref2.columns,\n children = _ref2.children,\n expandable = _ref2.expandable,\n expandedKeys = _ref2.expandedKeys,\n columnTitle = _ref2.columnTitle,\n getRowKey = _ref2.getRowKey,\n onTriggerExpand = _ref2.onTriggerExpand,\n expandIcon = _ref2.expandIcon,\n rowExpandable = _ref2.rowExpandable,\n expandIconColumnIndex = _ref2.expandIconColumnIndex,\n direction = _ref2.direction,\n expandRowByClick = _ref2.expandRowByClick,\n columnWidth = _ref2.columnWidth,\n fixed = _ref2.fixed;\n var baseColumns = React.useMemo(function () {\n return columns || convertChildrenToColumns(children);\n }, [columns, children]); // ========================== Expand ==========================\n\n var withExpandColumns = React.useMemo(function () {\n if (expandable) {\n var _expandColumn;\n\n var cloneColumns = baseColumns.slice(); // >>> Warning if use `expandIconColumnIndex`\n\n if (process.env.NODE_ENV !== 'production' && expandIconColumnIndex >= 0) {\n warning(false, '`expandIconColumnIndex` is deprecated. Please use `Table.EXPAND_COLUMN` in `columns` instead.');\n } // >>> Insert expand column if not exist\n\n\n if (!cloneColumns.includes(EXPAND_COLUMN)) {\n var expandColIndex = expandIconColumnIndex || 0;\n\n if (expandColIndex >= 0) {\n cloneColumns.splice(expandColIndex, 0, EXPAND_COLUMN);\n }\n } // >>> Deduplicate additional expand column\n\n\n if (process.env.NODE_ENV !== 'production' && cloneColumns.filter(function (c) {\n return c === EXPAND_COLUMN;\n }).length > 1) {\n warning(false, 'There exist more than one `EXPAND_COLUMN` in `columns`.');\n }\n\n var expandColumnIndex = cloneColumns.indexOf(EXPAND_COLUMN);\n cloneColumns = cloneColumns.filter(function (column, index) {\n return column !== EXPAND_COLUMN || index === expandColumnIndex;\n }); // >>> Check if expand column need to fixed\n\n var prevColumn = baseColumns[expandColumnIndex];\n var fixedColumn;\n\n if ((fixed === 'left' || fixed) && !expandIconColumnIndex) {\n fixedColumn = 'left';\n } else if ((fixed === 'right' || fixed) && expandIconColumnIndex === baseColumns.length) {\n fixedColumn = 'right';\n } else {\n fixedColumn = prevColumn ? prevColumn.fixed : null;\n } // >>> Create expandable column\n\n\n var expandColumn = (_expandColumn = {}, _defineProperty(_expandColumn, INTERNAL_COL_DEFINE, {\n className: \"\".concat(prefixCls, \"-expand-icon-col\"),\n columnType: 'EXPAND_COLUMN'\n }), _defineProperty(_expandColumn, \"title\", columnTitle), _defineProperty(_expandColumn, \"fixed\", fixedColumn), _defineProperty(_expandColumn, \"className\", \"\".concat(prefixCls, \"-row-expand-icon-cell\")), _defineProperty(_expandColumn, \"width\", columnWidth), _defineProperty(_expandColumn, \"render\", function render(_, record, index) {\n var rowKey = getRowKey(record, index);\n var expanded = expandedKeys.has(rowKey);\n var recordExpandable = rowExpandable ? rowExpandable(record) : true;\n var icon = expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n expandable: recordExpandable,\n record: record,\n onExpand: onTriggerExpand\n });\n\n if (expandRowByClick) {\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, icon);\n }\n\n return icon;\n }), _expandColumn);\n return cloneColumns.map(function (col) {\n return col === EXPAND_COLUMN ? expandColumn : col;\n });\n }\n\n if (process.env.NODE_ENV !== 'production' && baseColumns.includes(EXPAND_COLUMN)) {\n warning(false, '`expandable` is not config but there exist `EXPAND_COLUMN` in `columns`.');\n }\n\n return baseColumns.filter(function (col) {\n return col !== EXPAND_COLUMN;\n });\n }, [expandable, baseColumns, getRowKey, expandedKeys, expandIcon, direction]); // ========================= Transform ========================\n\n var mergedColumns = React.useMemo(function () {\n var finalColumns = withExpandColumns;\n\n if (transformColumns) {\n finalColumns = transformColumns(finalColumns);\n } // Always provides at least one column for table display\n\n\n if (!finalColumns.length) {\n finalColumns = [{\n render: function render() {\n return null;\n }\n }];\n }\n\n return finalColumns;\n }, [transformColumns, withExpandColumns, direction]); // ========================== Flatten =========================\n\n var flattenColumns = React.useMemo(function () {\n if (direction === 'rtl') {\n return revertForRtl(flatColumns(mergedColumns));\n }\n\n return flatColumns(mergedColumns);\n }, [mergedColumns, direction]); // Only check out of production since it's waste for each render\n\n if (process.env.NODE_ENV !== 'production') {\n warningFixed(direction === 'rtl' ? flattenColumns.slice().reverse() : flattenColumns);\n }\n\n return [mergedColumns, flattenColumns];\n}\n\nexport default useColumns;","/* istanbul ignore file */\nimport * as React from 'react';\n\nfunction useRenderTimes(props, debug) {\n // Render times\n var timesRef = React.useRef(0);\n timesRef.current += 1; // Props changed\n\n var propsRef = React.useRef(props);\n var keys = [];\n Object.keys(props || {}).map(function (key) {\n var _propsRef$current;\n\n if ((props === null || props === void 0 ? void 0 : props[key]) !== ((_propsRef$current = propsRef.current) === null || _propsRef$current === void 0 ? void 0 : _propsRef$current[key])) {\n keys.push(key);\n }\n });\n propsRef.current = props; // Cache keys since React rerender may cause it lost\n\n var keysRef = React.useRef([]);\n\n if (keys.length) {\n keysRef.current = keys;\n }\n\n React.useDebugValue(timesRef.current);\n React.useDebugValue(keysRef.current.join(', '));\n\n if (debug) {\n console.log(\"\".concat(debug, \":\"), timesRef.current, keysRef.current);\n }\n\n return timesRef.current;\n}\n\nexport default process.env.NODE_ENV !== 'production' ? useRenderTimes : function () {};\nexport var RenderBlock = /*#__PURE__*/React.memo(function () {\n var times = useRenderTimes();\n return /*#__PURE__*/React.createElement(\"h1\", null, \"Render Times: \", times);\n});\nRenderBlock.displayName = 'RenderBlock';","import { EXPAND_COLUMN } from \"./constant\";\nimport { FooterComponents as Summary } from \"./Footer\";\nimport Column from \"./sugar/Column\";\nimport ColumnGroup from \"./sugar/ColumnGroup\";\nimport Table, { genTable } from \"./Table\";\nimport { INTERNAL_COL_DEFINE } from \"./utils/legacyUtil\";\nexport { genTable, Summary, Column, ColumnGroup, INTERNAL_COL_DEFINE, EXPAND_COLUMN };\nexport default Table;","export function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets, direction, curColumns) {\n var startColumn = columns[colStart] || {};\n var endColumn = columns[colEnd] || {};\n var fixLeft;\n var fixRight;\n\n if (startColumn.fixed === 'left') {\n fixLeft = stickyOffsets.left[colStart];\n } else if (endColumn.fixed === 'right') {\n fixRight = stickyOffsets.right[colEnd];\n }\n\n var lastFixLeft = false;\n var firstFixRight = false;\n var lastFixRight = false;\n var firstFixLeft = false;\n var nextColumn = columns[colEnd + 1];\n var prevColumn = columns[colStart - 1]; // no children only\n\n var canLastFix = !(curColumns !== null && curColumns !== void 0 && curColumns.children);\n\n if (direction === 'rtl') {\n if (fixLeft !== undefined) {\n var prevFixLeft = prevColumn && prevColumn.fixed === 'left';\n firstFixLeft = !prevFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var nextFixRight = nextColumn && nextColumn.fixed === 'right';\n lastFixRight = !nextFixRight && canLastFix;\n }\n } else if (fixLeft !== undefined) {\n var nextFixLeft = nextColumn && nextColumn.fixed === 'left';\n lastFixLeft = !nextFixLeft && canLastFix;\n } else if (fixRight !== undefined) {\n var prevFixRight = prevColumn && prevColumn.fixed === 'right';\n firstFixRight = !prevFixRight && canLastFix;\n }\n\n return {\n fixLeft: fixLeft,\n fixRight: fixRight,\n lastFixLeft: lastFixLeft,\n firstFixRight: firstFixRight,\n lastFixRight: lastFixRight,\n firstFixLeft: firstFixLeft,\n isSticky: stickyOffsets.isSticky\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"expandable\"];\nimport warning from \"rc-util/es/warning\";\nexport var INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\nexport function getExpandableProps(props) {\n var expandable = props.expandable,\n legacyExpandableConfig = _objectWithoutProperties(props, _excluded);\n\n var config;\n\n if ('expandable' in props) {\n config = _objectSpread(_objectSpread({}, legacyExpandableConfig), expandable);\n } else {\n if (process.env.NODE_ENV !== 'production' && ['indentSize', 'expandedRowKeys', 'defaultExpandedRowKeys', 'defaultExpandAllRows', 'expandedRowRender', 'expandRowByClick', 'expandIcon', 'onExpand', 'onExpandedRowsChange', 'expandedRowClassName', 'expandIconColumnIndex', 'showExpandColumn', 'title'].some(function (prop) {\n return prop in props;\n })) {\n warning(false, 'expanded related props have been moved into `expandable`.');\n }\n\n config = legacyExpandableConfig;\n }\n\n if (config.showExpandColumn === false) {\n config.expandIconColumnIndex = -1;\n }\n\n return config;\n}","var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';\n\nfunction toArray(arr) {\n if (arr === undefined || arr === null) {\n return [];\n }\n\n return Array.isArray(arr) ? arr : [arr];\n}\n\nexport function getColumnsKey(columns) {\n var columnKeys = [];\n var keys = {};\n columns.forEach(function (column) {\n var _ref = column || {},\n key = _ref.key,\n dataIndex = _ref.dataIndex;\n\n var mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;\n\n while (keys[mergedKey]) {\n mergedKey = \"\".concat(mergedKey, \"_next\");\n }\n\n keys[mergedKey] = true;\n columnKeys.push(mergedKey);\n });\n return columnKeys;\n}\nexport function validateValue(val) {\n return val !== null && val !== undefined;\n}","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.indexOf(n) >= 0) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"sourceRoot":""}