@next-bricks/advanced 0.41.1 → 0.41.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +4 -4
- package/dist/chunks/106.0bf63d17.js +3 -0
- package/dist/chunks/106.0bf63d17.js.map +1 -0
- package/dist/chunks/{1512.1ebb5474.js → 1512.b233679b.js} +2 -2
- package/dist/chunks/1512.b233679b.js.map +1 -0
- package/dist/chunks/2194.2401f5c7.js +3 -0
- package/dist/chunks/2194.2401f5c7.js.map +1 -0
- package/dist/chunks/2197.a8236ec5.js +2 -0
- package/dist/chunks/2197.a8236ec5.js.map +1 -0
- package/dist/chunks/2252.30640853.js +3 -0
- package/dist/chunks/2252.30640853.js.map +1 -0
- package/dist/chunks/2353.959b91ad.js +2 -0
- package/dist/chunks/2353.959b91ad.js.map +1 -0
- package/dist/chunks/4411.19209b9a.js +3 -0
- package/dist/chunks/4411.19209b9a.js.map +1 -0
- package/dist/chunks/{4837.888c7bb9.js → 4837.7ba6cd88.js} +2 -2
- package/dist/chunks/{7218.63f4633f.js.map → 4837.7ba6cd88.js.map} +1 -1
- package/dist/chunks/5092.77841bd7.js +2 -0
- package/dist/chunks/5092.77841bd7.js.map +1 -0
- package/dist/chunks/5479.ee021f0e.js +2 -0
- package/dist/chunks/5479.ee021f0e.js.map +1 -0
- package/dist/chunks/6070.0cb500df.js +2 -0
- package/dist/chunks/6070.0cb500df.js.map +1 -0
- package/dist/chunks/6165.e9db8e85.js +3 -0
- package/dist/chunks/6165.e9db8e85.js.map +1 -0
- package/dist/chunks/6653.63cfd8c8.js +3 -0
- package/dist/chunks/6653.63cfd8c8.js.map +1 -0
- package/dist/chunks/{7218.63f4633f.js → 7218.2797999f.js} +2 -2
- package/dist/chunks/{4837.888c7bb9.js.map → 7218.2797999f.js.map} +1 -1
- package/dist/chunks/8623.7f025f81.js +2 -0
- package/dist/chunks/8623.7f025f81.js.map +1 -0
- package/dist/chunks/9978.5a5f4c5d.js +3 -0
- package/dist/chunks/9978.5a5f4c5d.js.map +1 -0
- package/dist/chunks/{capture-snapshot.524fa157.js → capture-snapshot.7bf07b28.js} +2 -2
- package/dist/chunks/{capture-snapshot.524fa157.js.map → capture-snapshot.7bf07b28.js.map} +1 -1
- package/dist/chunks/eo-cascader.c70d4f6c.js +2 -0
- package/dist/chunks/eo-cascader.c70d4f6c.js.map +1 -0
- package/dist/chunks/eo-next-table.2c4ff2b3.js +2 -0
- package/dist/chunks/eo-next-table.2c4ff2b3.js.map +1 -0
- package/dist/chunks/eo-table.585dcd61.js +2 -0
- package/dist/chunks/eo-table.585dcd61.js.map +1 -0
- package/dist/chunks/eo-text-tooltip.c821946e.js +2 -0
- package/dist/chunks/{eo-text-tooltip.c1be073e.js.map → eo-text-tooltip.c821946e.js.map} +1 -1
- package/dist/chunks/eo-tree-select.0ce22783.js +2 -0
- package/dist/chunks/eo-tree-select.0ce22783.js.map +1 -0
- package/dist/chunks/eo-tree.6f251481.js +3 -0
- package/dist/chunks/eo-tree.6f251481.js.map +1 -0
- package/dist/chunks/eo-workbench-layout-v2.ce4c6e6f.js +2 -0
- package/dist/chunks/eo-workbench-layout-v2.ce4c6e6f.js.map +1 -0
- package/dist/chunks/eo-workbench-layout.943d79fd.js +2 -0
- package/dist/chunks/eo-workbench-layout.943d79fd.js.map +1 -0
- package/dist/chunks/{main.0cd1494b.js → main.fc227f17.js} +2 -2
- package/dist/chunks/{main.0cd1494b.js.map → main.fc227f17.js.map} +1 -1
- package/dist/index.5f296ccb.js +2 -0
- package/dist/{index.3844b20a.js.map → index.5f296ccb.js.map} +1 -1
- package/dist/manifest.json +15 -10
- package/dist/types.json +35 -28
- package/dist-types/next-table/Table.d.ts +1 -0
- package/dist-types/next-table/index.d.ts +4 -0
- package/package.json +2 -2
- package/dist/chunks/1512.1ebb5474.js.map +0 -1
- package/dist/chunks/2197.2385bc67.js +0 -2
- package/dist/chunks/2197.2385bc67.js.map +0 -1
- package/dist/chunks/2252.65e0507e.js +0 -3
- package/dist/chunks/2252.65e0507e.js.map +0 -1
- package/dist/chunks/2353.f2725e1a.js +0 -2
- package/dist/chunks/2353.f2725e1a.js.map +0 -1
- package/dist/chunks/4766.4f855e05.js +0 -3
- package/dist/chunks/4766.4f855e05.js.map +0 -1
- package/dist/chunks/5092.40336bcc.js +0 -2
- package/dist/chunks/5092.40336bcc.js.map +0 -1
- package/dist/chunks/5368.87af8ccf.js +0 -3
- package/dist/chunks/5368.87af8ccf.js.map +0 -1
- package/dist/chunks/5479.00620ca0.js +0 -2
- package/dist/chunks/5479.00620ca0.js.map +0 -1
- package/dist/chunks/5578.4acba416.js +0 -3
- package/dist/chunks/5578.4acba416.js.map +0 -1
- package/dist/chunks/6070.aefdb28c.js +0 -2
- package/dist/chunks/6070.aefdb28c.js.map +0 -1
- package/dist/chunks/613.e8771f2f.js +0 -3
- package/dist/chunks/613.e8771f2f.js.map +0 -1
- package/dist/chunks/6165.14fe2bc0.js +0 -3
- package/dist/chunks/6165.14fe2bc0.js.map +0 -1
- package/dist/chunks/9484.90783904.js +0 -2
- package/dist/chunks/9484.90783904.js.map +0 -1
- package/dist/chunks/9978.ab072b2a.js +0 -3
- package/dist/chunks/9978.ab072b2a.js.map +0 -1
- package/dist/chunks/eo-cascader.7c066651.js +0 -2
- package/dist/chunks/eo-cascader.7c066651.js.map +0 -1
- package/dist/chunks/eo-next-table.edd61270.js +0 -2
- package/dist/chunks/eo-next-table.edd61270.js.map +0 -1
- package/dist/chunks/eo-table.8c9e6a7b.js +0 -2
- package/dist/chunks/eo-table.8c9e6a7b.js.map +0 -1
- package/dist/chunks/eo-text-tooltip.c1be073e.js +0 -2
- package/dist/chunks/eo-tree-select.834b6bc0.js +0 -2
- package/dist/chunks/eo-tree-select.834b6bc0.js.map +0 -1
- package/dist/chunks/eo-tree.60911214.js +0 -3
- package/dist/chunks/eo-tree.60911214.js.map +0 -1
- package/dist/chunks/eo-workbench-layout-v2.264ac715.js +0 -2
- package/dist/chunks/eo-workbench-layout-v2.264ac715.js.map +0 -1
- package/dist/chunks/eo-workbench-layout.a7798047.js +0 -2
- package/dist/chunks/eo-workbench-layout.a7798047.js.map +0 -1
- package/dist/index.3844b20a.js +0 -2
- /package/dist/chunks/{5368.87af8ccf.js.LICENSE.txt → 106.0bf63d17.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{5578.4acba416.js.LICENSE.txt → 2194.2401f5c7.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{2252.65e0507e.js.LICENSE.txt → 2252.30640853.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{4766.4f855e05.js.LICENSE.txt → 4411.19209b9a.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{6165.14fe2bc0.js.LICENSE.txt → 6165.e9db8e85.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{613.e8771f2f.js.LICENSE.txt → 6653.63cfd8c8.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9978.ab072b2a.js.LICENSE.txt → 9978.5a5f4c5d.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-tree.60911214.js.LICENSE.txt → eo-tree.6f251481.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/6653.63cfd8c8.js","mappings":";sLAEA,QADmB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,4LAAgM,KAAQ,OAAQ,MAAS,2BCM/W,EAAe,SAAsBA,EAAOC,GAC9C,OAAoB,gBAAoBC,EAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,IAEV,EAOA,QAJ2B,aAAiB,4ECb5C,QADoB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,6LAAiM,KAAQ,QAAS,MAAS,2BCMlX,EAAgB,SAAuBJ,EAAOC,GAChD,OAAoB,gBAAoBC,EAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,IAEV,EAOA,QAJ2B,aAAiB,2ECfjCC,EAAgB,CAAC,EACjBC,EAAiB,wFCKrB,SAASC,EAAcC,GAC5B,IAAIC,EAAuB,qBAAoBC,GA2B/C,MAAO,CACLD,QAASA,EACTE,SA5Ba,SAAkBC,GAC/B,IAAIC,EAAQD,EAAKC,MACfC,EAAWF,EAAKE,SACdC,EAAW,SAAaF,GAC5BE,EAASC,QAAUH,EACnB,IAAII,EAAkB,YAAe,WACjC,MAAO,CACLC,SAAU,WACR,OAAOH,EAASC,OAClB,EACAG,UAAW,IAAIC,IAEnB,IAEAC,GADmB,OAAeJ,EAAiB,GACxB,GAQ7B,OAPA,EAAAK,EAAA,IAAgB,YACd,IAAAC,0BAAwB,WACtBF,EAAQF,UAAUK,SAAQ,SAAUC,GAClCA,EAASZ,EACX,GACF,GACF,GAAG,CAACA,IACgB,gBAAoBJ,EAAQE,SAAU,CACxDE,MAAOQ,GACNP,EACL,EAIEN,aAAcA,EAElB,CAUO,SAAS,EAAWkB,EAAQC,GACjC,IAAIC,GAAgB,OAA6B,mBAAbD,EAA0BA,EAAW,SAAUE,GACjF,QAAiBnB,IAAbiB,EACF,OAAOE,EAET,IAAKC,MAAMC,QAAQJ,GACjB,OAAOE,EAAIF,GAEb,IAAIK,EAAM,CAAC,EAIX,OAHAL,EAASH,SAAQ,SAAUS,GACzBD,EAAIC,GAAOJ,EAAII,EACjB,IACOD,CACT,GACIX,EAAU,aAAiBK,aAAuC,EAASA,EAAOjB,SAClFyB,EAAQb,GAAW,CAAC,EACtBF,EAAYe,EAAMf,UAClBD,EAAWgB,EAAMhB,SACfH,EAAW,WACfA,EAASC,QAAUY,EAAcP,EAAUH,IAAaQ,aAAuC,EAASA,EAAOlB,cAC/G,IAAI2B,EAAmB,WAAe,CAAC,GAErCC,GADmB,OAAeD,EAAkB,GACrB,GAgBjC,OAfA,EAAAb,EAAA,IAAgB,WACd,GAAKD,EAUL,OADAF,EAAUkB,IAAIC,GACP,WACLnB,EAAUoB,OAAOD,EACnB,EATA,SAASA,EAAQE,GACf,IAAIC,EAAoBb,EAAcY,IACjC,EAAAE,EAAA,GAAQ3B,EAASC,QAASyB,GAAmB,IAChDL,EAAY,CAAC,EAEjB,CAKF,GAAG,CAACf,IACGN,EAASC,OAClB,2BClFe,SAAS2B,IACtB,IAAIC,EAAgC,gBAAoB,MAOxD,SAASC,IACP,OAAO,aAAiBD,EAC1B,CAyDA,MAAO,CACLE,cAjDF,SAAuBC,EAAWC,GAChC,IAAIC,GAAU,QAAWF,GACrBG,EAAqB,SAA4BlD,EAAOC,GAC1D,IAAIkD,EAAWF,EAAU,CACvBhD,IAAKA,GACH,CAAC,EACDmD,EAAiB,SAAa,GAC9BC,EAAY,SAAarD,GAI7B,OAAa,OADF6C,IAEW,gBAAoBE,GAAW,OAAS,CAAC,EAAG/C,EAAOmD,KAIxEH,IAAuBA,EAAoBK,EAAUrC,QAAShB,KAC7DoD,EAAepC,SAAW,GAE5BqC,EAAUrC,QAAUhB,EACA,gBAAoB4C,EAAiBjC,SAAU,CACjEE,MAAOuC,EAAepC,SACR,gBAAoB+B,GAAW,OAAS,CAAC,EAAG/C,EAAOmD,KACrE,EAIA,OAAOF,EAAuB,aAAiBC,GAAsBA,CACvE,EAsBEI,kBAhBF,SAA2BP,EAAWQ,GACpC,IAAIN,GAAU,QAAWF,GACrBG,EAAqB,SAA4BlD,EAAOC,GAC1D,IAAIkD,EAAWF,EAAU,CACvBhD,IAAKA,GACH,CAAC,EAEL,OADA4C,IACoB,gBAAoBE,GAAW,OAAS,CAAC,EAAG/C,EAAOmD,GACzE,EAIA,OAAOF,EAAuB,OAAyB,aAAiBC,GAAqBK,GAA8B,OAAWL,EAAoBK,EAC5J,EAIEV,iBAAkBA,EAEtB,CC1EA,IAAIW,EAAmBb,ICHnB,GDIca,EAAiBV,cACbU,EAAiBF,kBAClBE,EAAiBX,iBCNfF,KACrB,EAAgB,EAAiBG,cACjC,EAAoB,EAAiBQ,kBACrC,EAAmB,EAAiBT,iBAGtC,QADmBtC,8FCDnB,QAH+B,gBAAoB,CACjDkD,iBAAiB,ICHnB,IAAIC,EAAsB,eAOnB,SAASC,EAAcC,GAC5B,IAAIC,EAAa,GACbC,EAAO,CAAC,EAYZ,OAXAF,EAAQpC,SAAQ,SAAUuC,GAKxB,IAJA,IAVaC,EAUTpD,EAAOmD,GAAU,CAAC,EACpB9B,EAAMrB,EAAKqB,IACXgC,EAAYrD,EAAKqD,UACfC,EAAYjC,IAbH+B,EAakBC,EAZ7BD,QACK,GAEFlC,MAAMC,QAAQiC,GAAOA,EAAM,CAACA,IASSG,KAAK,MAAQT,EAChDI,EAAKI,IACVA,EAAY,GAAGE,OAAOF,EAAW,SAEnCJ,EAAKI,IAAa,EAClBL,EAAWQ,KAAKH,EAClB,IACOL,CACT,CACO,SAASS,EAAcC,GAC5B,OAAOA,OACT,gBCKA,SAASC,EAAKxE,GACZ,IAAIkC,EAAOuC,EAAOC,EAAuBC,EAAOC,EAAOC,EAAuBC,EAAuBC,EAIjGhC,EAAY/C,EAAMgF,UACpBlE,EAAWd,EAAMc,SACjBmE,EAAWjF,EAAMiF,SACjBC,EAAQlF,EAAMkF,MACdC,EAAYnF,EAAMmF,UAClBC,EAAYpF,EAAMoF,UAClBC,EAAQrF,EAAMqF,MACdC,EAAStF,EAAMsF,OACfC,EAASvF,EAAMuF,OACftB,EAAYjE,EAAMiE,UAClBuB,EAAcxF,EAAMwF,YACpBC,EAAmBzF,EAAMyF,iBACzBC,EAAQ1F,EAAM0F,MACdC,EAAU3F,EAAM2F,QAChBC,EAAU5F,EAAM4F,QAChBC,EAAU7F,EAAM6F,QAChBC,EAAU9F,EAAM8F,QAChBC,EAAW/F,EAAM+F,SACjBC,EAAehG,EAAMgG,aACrBC,EAAcjG,EAAMiG,YACpBC,EAAgBlG,EAAMkG,cACtBC,EAAenG,EAAMmG,aACrBC,EAAapG,EAAMoG,WACnBC,EAAwBrG,EAAMsG,gBAC9BA,OAA4C,IAA1BD,EAAmC,CAAC,EAAIA,EAC1DE,EAAWvG,EAAMuG,SACfC,EAAgB,GAAGpC,OAAOe,EAAW,SACrCsB,EAAc,EAAW,EAAc,CAAC,gBAAiB,sBAAuB,iBAClFC,EAAgBD,EAAYC,cAC5BC,GAAsBF,EAAYE,oBAClCC,GAAeH,EAAYG,aAGzBC,GCvDS,SAAuBvB,EAAQrB,EAAWuB,EAAa1E,EAAUyE,EAAQE,GAEtF,IAAIqB,EAAa,aAAiB,GAC9BC,EAAO,IA8CX,OA3Cc,QAAQ,WACpB,GAAIzC,EAAcxD,GAChB,MAAO,CAACA,GAEV,IAbkBkG,EAadC,EAAOhD,SAA+D,KAAdA,EAAmB,GAAKnC,MAAMC,QAAQkC,GAAaA,EAAY,CAACA,GACxHpD,GAAQ,EAAAqG,EAAA,GAAS5B,EAAQ2B,GAGzBE,EAAkBtG,EAClBuG,OAAkB1G,EACtB,GAAI6E,EAAQ,CACV,IAAI8B,EAAa9B,EAAO1E,EAAOyE,EAAQE,KApBvBwB,EAqBCK,IApBY,YAAlB,OAAQL,IAAuBlF,MAAMC,QAAQiF,IAAwB,iBAAqBA,GA4BnGG,EAAkBE,GAJlBF,EAAkBE,EAAWvG,SAC7BsG,EAAkBC,EAAWrH,MAC7B8G,EAAWrD,iBAAkB,EAIjC,CACA,MAAO,CAAC0D,EAAiBC,EAC3B,GAAG,CAEHL,EAEAzB,EAAQxE,EAAUmD,EAAWsB,EAAQC,IAAc,SAAU8B,EAAMC,GACjE,GAAI9B,EAAkB,CACpB,IACE+B,GADU,OAAeF,EAAM,GACZ,GAEnBG,GADU,OAAeF,EAAM,GACZ,GACrB,OAAO9B,EAAiBgC,EAAYD,EACtC,CAGA,QAAIV,EAAWrD,mBAGP,EAAAf,EAAA,GAAQ4E,EAAMC,GAAM,EAC9B,GAEF,CDKuBG,CAAcpC,EAAQrB,EAAWuB,EAAa1E,EAAUyE,EAAQE,GACnFkC,IAAkB,OAAed,GAAgB,GACjDe,GAAYD,GAAgB,GAC5BE,GAAkBF,GAAgB,GAGhCG,GAAa,CAAC,EACdC,GAA+B,iBAAZjC,GAAwBY,EAC3CsB,GAAiC,iBAAbjC,GAAyBW,EAC7CqB,KACFD,GAAWG,SAAW,SACtBH,GAAWI,KAAOpC,GAEhBkC,KACFF,GAAWG,SAAW,SACtBH,GAAWK,MAAQpC,GAIrB,IAAIqC,GAA0S,QAAzRlG,EAAyO,QAAhOuC,EAAgI,QAAvHC,EAAwBmD,cAAyD,EAASA,GAAgBjC,eAA+C,IAA1BlB,EAAmCA,EAAwB4B,EAAgBV,eAA+B,IAAVnB,EAAmBA,EAAQmB,SAA+B,IAAV1D,EAAmBA,EAAQ,EAC7UmG,GAA0S,QAAzR1D,EAAyO,QAAhOC,EAAgI,QAAvHC,EAAwBgD,cAAyD,EAASA,GAAgBhC,eAA+C,IAA1BhB,EAAmCA,EAAwByB,EAAgBT,eAA+B,IAAVjB,EAAmBA,EAAQiB,SAA+B,IAAVlB,EAAmBA,EAAQ,EAG7U2D,GEpFS,SAAuBC,EAAU1C,GAC9C,OAAO,EAAW,GAAc,SAAUhE,GACxC,IANkB2G,EAAcC,EAAaC,EAAUC,EAOvD,MAAO,EAPWH,EAMUD,EANIE,EAMM5C,GAAW,EANJ6C,EAMO7G,EAAI+G,cANDD,EAMgB9G,EAAIgH,YAJtEL,GAAgBG,GADNH,EAAeC,EAAc,GACCC,GAK3B7G,EAAIiH,QACxB,GACF,CF+EuBC,CAAcrD,EAAO2C,IACxCW,IAAkB,OAAeV,GAAgB,GACjDW,GAAWD,GAAgB,GAC3BF,GAAUE,GAAgB,GACxBE,IAAe,SAAS,SAAUC,GACpC,IAAIC,EACA9D,GACFwD,GAAQpD,EAAOA,EAAQ2C,GAAgB,GAEzC/B,SAAqH,QAA1D8C,EAAwB9C,EAAgB4C,oBAAoD,IAA1BE,GAAoCA,EAAsBC,KAAK/C,EAAiB6C,EAC/M,IACIG,IAAe,SAAS,SAAUH,GACpC,IAAII,EACAjE,GACFwD,IAAS,GAAI,GAEfxC,SAAsH,QAA3DiD,EAAyBjD,EAAgBgD,oBAAqD,IAA3BC,GAAqCA,EAAuBF,KAAK/C,EAAiB6C,EAClN,IAGA,GAAsB,IAAlBf,IAAyC,IAAlBC,GACzB,OAAO,KAIT,IAAImB,GAA4D,QAAnD1E,EAAwBwB,EAAgBkD,aAA6C,IAA1B1E,EAAmCA,EAvGxE,SAAwClE,GAC3E,IAGI4I,EAHAvE,EAAWrE,EAAKqE,SAClBU,EAAU/E,EAAK+E,QACf7E,EAAWF,EAAKE,SAEd2I,GAA8B,IAAbxE,EAAoB,CACvCyE,WAAW,GACTzE,EAQJ,OAPIwE,IAAmBA,EAAeC,WAAyB,WAAZ/D,KACzB,iBAAb7E,GAA6C,iBAAbA,EACzC0I,EAAQ1I,EAAS6I,WACM,iBAAqB7I,IAAgD,iBAA5BA,EAASd,MAAMc,WAC/E0I,EAAQ1I,EAASd,MAAMc,WAGpB0I,CACT,CAuFqII,CAA+B,CAChKjE,QAASA,EACTV,SAAUA,EACVnE,SAAU8G,KAIRiC,GAAkB,IAAWrD,EAAepB,GAAYL,EAAc,CAAC,GAAG,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,OAAgBA,EAAa,GAAGX,OAAOoC,EAAe,aAAcuB,IAAarB,GAAgB,GAAGtC,OAAOoC,EAAe,mBAAoBR,GAAgBU,GAAgB,GAAGtC,OAAOoC,EAAe,kBAAmBP,GAAeS,GAAgB,GAAGtC,OAAOoC,EAAe,iBAAkBP,GAAeU,IAAuBD,GAAgB,GAAGtC,OAAOoC,EAAe,cAAewB,IAActB,GAAgB,GAAGtC,OAAOoC,EAAe,oBAAqBN,GAAiBQ,GAAgB,GAAGtC,OAAOoC,EAAe,mBAAoBL,GAAgBO,GAAgB,GAAGtC,OAAOoC,EAAe,aAAcvB,GAAW,GAAGb,OAAOoC,EAAe,gBAAiBJ,GAAa,GAAGhC,OAAOoC,EAAe,gBAAiBuB,IAAaC,KAAezB,GAAYG,IAAgB,OAAgB3B,EAAa,GAAGX,OAAOoC,EAAe,eAAgBqB,IAAmBoB,KAAY3C,EAAgBlB,UAAWyC,cAAyD,EAASA,GAAgBzC,WAGnrC0E,GAAa,CAAC,EACdzE,IACFyE,GAAWC,UAAY1E,GAEzB,IAAI2E,IAAc,QAAc,QAAc,QAAc,OAAc,CAAC,EAAGlC,IAAaxB,EAAgB2D,OAAQH,IAAajC,cAAyD,EAASA,GAAgBoC,OAG9MC,GAAkBtC,GAWtB,MARiC,YAA7B,OAAQsC,KAAkCpI,MAAMC,QAAQmI,KAAmC,iBAAqBA,MAClHA,GAAkB,MAEhBjF,IAAagB,GAAeC,KAC9BgE,GAA+B,gBAAoB,OAAQ,CACzD9E,UAAW,GAAGhB,OAAOoC,EAAe,aACnC0D,KAEe,gBAAoBnH,GAAW,OAAS,CAAC,EAAG8E,GAAiBvB,EAAiB,CAChGlB,UAAWyE,GACXI,MAAOD,GAGPR,MAAOA,GACPtE,MAAOA,EAGPgE,aAActC,GAAesC,QAAexI,EAC5C4I,aAAc1C,GAAe0C,QAAe5I,EAG5CkF,QAA2B,IAAlBwC,GAAsBA,GAAgB,KAC/CvC,QAA2B,IAAlBwC,GAAsBA,GAAgB,OAC7CjC,EAAY8D,GAClB,CACA,QAA4B,OAAW1F,GGjKhC,SAAS2F,EAAiBC,EAAUC,EAAQzG,EAAS0G,EAAeC,GACzE,IAEIzE,EACAC,EAHAyE,EAAc5G,EAAQwG,IAAa,CAAC,EACpCK,EAAY7G,EAAQyG,IAAW,CAAC,EAGV,SAAtBG,EAAYE,MACd5E,EAAUwE,EAAcpC,KAAmB,QAAdqC,EAAsBF,EAASD,GAC/B,UAApBK,EAAUC,QACnB3E,EAAWuE,EAAcnC,MAAoB,QAAdoC,EAAsBH,EAAWC,IAElE,IAAIpE,GAAc,EACdC,GAAgB,EAChBC,GAAe,EACfH,GAAe,EACf2E,EAAa/G,EAAQyG,EAAS,GAC9BO,EAAahH,EAAQwG,EAAW,GAGhCS,EAAaF,IAAeA,EAAWD,OAASE,IAAeA,EAAWF,OAAS9G,EAAQkH,OAAM,SAAUC,GAC7G,MAAqB,SAAdA,EAAIL,KACb,IAgBA,MAfkB,QAAdH,OACc7J,IAAZoF,EAEFE,IADkB4E,GAAmC,SAArBA,EAAWF,QACZG,OACTnK,IAAbqF,IAETI,IADmBwE,GAAmC,UAArBA,EAAWD,QACZG,QAEbnK,IAAZoF,EAETG,IADkB0E,GAAmC,SAArBA,EAAWD,QACbG,OACRnK,IAAbqF,IAETG,IADmB0E,GAAmC,UAArBA,EAAWF,QACXG,GAE5B,CACL/E,QAASA,EACTC,SAAUA,EACVE,YAAaA,EACbC,cAAeA,EACfC,aAAcA,EACdH,aAAcA,EACdO,SAAU+D,EAAc/D,SAE5B,CC3CA,QADkC,gBAAoB,CAAC,kBCAnDyE,EAAY,CAAC,YCIjB,SAASC,EAAQrK,GAEf,OADeA,EAAKE,QAEtB,CACAmK,EAAQC,IDNO,SAAmBtK,GAChC,IAAIE,EAAWF,EAAKE,SAClBd,GAAQ,OAAyBY,EAAMoK,GACzC,OAAoB,gBAAoB,KAAMhL,EAAOc,EACvD,ECGAmK,EAAQzG,KCHO,SAAqB5D,GAClC,IAAIwE,EAAYxE,EAAKwE,UACnBM,EAAQ9E,EAAK8E,MACb5E,EAAWF,EAAKE,SAChBqK,EAAevK,EAAKgF,QACpBA,OAA2B,IAAjBuF,EAA0B,EAAIA,EACxCtF,EAAUjF,EAAKiF,QACfR,EAAQzE,EAAKyE,MACXoB,EAAc,EAAW,EAAc,CAAC,YAAa,cACvDtB,EAAYsB,EAAYtB,UACxBoF,EAAY9D,EAAY8D,UACtBa,EAAoB,aAAiB,GACvCC,EAAoBD,EAAkBC,kBACtCf,EAAgBc,EAAkBd,cAGhClC,EADY1C,EAAQE,EAAU,EACF,IAAMyF,EAAoBzF,EAAU,EAAIA,EACpE0F,EAAYnB,EAAiBzE,EAAOA,EAAQ0C,EAAgB,EAH7CgD,EAAkBG,eAG8CjB,EAAeC,GAClG,OAAoB,gBAAoB,GAAM,OAAS,CACrDnF,UAAWA,EACXM,MAAOA,EACPV,UAAW,KACXG,UAAWA,EACXG,OAAQ,KACRrB,UAAW,KACXoB,MAAOA,EACPO,QAASwC,EACTvC,QAASA,EACTN,OAAQ,WACN,OAAOzE,CACT,GACCwK,GACL,ED5BA,UEkBA,EAAe,GAvBf,SAAgBtL,GAId,IAAIc,EAAWd,EAAMc,SACnBwJ,EAAgBtK,EAAMsK,cACtBiB,EAAiBvL,EAAMuL,eACrBpG,EAAY,EAAW,EAAc,aACrCqG,EAAkBD,EAAeE,OAAS,EAC1CC,EAAeH,EAAeC,GAC9BG,EAAiB,WAAc,WACjC,MAAO,CACLrB,cAAeA,EACfiB,eAAgBA,EAChBF,kBAAmBK,SAAoDA,EAAaE,UAAYJ,EAAkB,KAEtH,GAAG,CAACE,EAAcH,EAAgBC,EAAiBlB,IACnD,OAAoB,gBAAoB,EAAe3J,SAAU,CAC/DE,MAAO8K,GACO,gBAAoB,QAAS,CAC3CvG,UAAW,GAAGhB,OAAOe,EAAW,aAC/BrE,GACL,IAEO,IAAI+K,EAAmB,iCC7B1BC,EAAqB,SAA4BC,GACnD,IAAI,EAAAC,EAAA,MAAeC,OAAOC,SAASC,gBAAiB,CAClD,IAAIC,EAAgBtK,MAAMC,QAAQgK,GAAaA,EAAY,CAACA,GACxDI,EAAkBF,OAAOC,SAASC,gBACtC,OAAOC,EAAcC,MAAK,SAAUC,GAClC,OAAOA,KAAQH,EAAgBlC,KACjC,GACF,CACA,OAAO,CACT,uBCRA,SAASsC,EAAYC,EAAMlH,EAAQmH,EAAQC,EAAoBC,EAAcC,EAAWlH,GACtF8G,EAAKnI,KAAK,CACRiB,OAAQA,EACRmH,OAAQA,EACR/G,MAAOA,IAET,IAAIzD,EAAM2K,EAAUtH,GAChBuH,EAAWF,aAAmD,EAASA,EAAaG,IAAI7K,GAC5F,GAAIqD,GAAUxD,MAAMC,QAAQuD,EAAOoH,KAAwBG,EAEzD,IAAK,IAAIE,EAAI,EAAGA,EAAIzH,EAAOoH,GAAoBjB,OAAQsB,GAAK,EAC1DR,EAAYC,EAAMlH,EAAOoH,GAAoBK,GAAIN,EAAS,EAAGC,EAAoBC,EAAcC,EAAWG,EAGhH,CAYe,SAASC,GAAkBhG,EAAM0F,EAAoBC,EAAcC,GAsBhF,OArBU,WAAc,WACtB,GAAID,SAAoDA,EAAaM,KAAM,CAIzE,IAHA,IAAIT,EAAO,GAGFO,EAAI,EAAGA,GAAK/F,aAAmC,EAASA,EAAKyE,QAASsB,GAAK,EAIlFR,EAAYC,EAHCxF,EAAK+F,GAGQ,EAAGL,EAAoBC,EAAcC,EAAWG,GAE5E,OAAOP,CACT,CACA,OAAOxF,aAAmC,EAASA,EAAKkG,KAAI,SAAUC,EAAMzH,GAC1E,MAAO,CACLJ,OAAQ6H,EACRV,OAAQ,EACR/G,MAAOA,EAEX,GACF,GAAG,CAACsB,EAAM0F,EAAoBC,EAAcC,GAE9C,CC7Ce,SAASQ,GAAW9H,EAAQ+H,EAAQC,EAAab,GAC9D,IAkCIc,EAlCAlM,EAAU,EAAW,EAAc,CAAC,YAAa,gBAAiB,iBAAkB,iBAAkB,mBAAoB,kBAAmB,eAAgB,uBAAwB,aAAc,aAAc,oBAAqB,wBAAyB,eAAgB,qBAAsB,gBAAiB,UACtTkK,EAAiBlK,EAAQkK,eAC3BiC,EAAiBnM,EAAQmM,eACzBb,EAAetL,EAAQsL,aACvBD,EAAqBrL,EAAQqL,mBAC7Be,EAAkBpM,EAAQoM,gBAC1BC,EAAgBrM,EAAQqM,cACxBC,EAAQtM,EAAQsM,MAChBC,EAAmBvM,EAAQuM,iBAC3BC,EAAexM,EAAQwM,aAIrBC,EAAoC,SAAnBN,EACjBO,EAAsC,QAAnBP,KAA8BE,GAAiBA,EAAcpI,IAChF0I,EAAmBD,GAAoBD,EACvCjB,EAAWF,GAAgBA,EAAaG,IAAIO,GAC5CY,EAAkBvB,GAAsBpH,GAAUA,EAAOoH,GACzDwB,GAA0B,QAAST,GAGnCU,EAAWR,aAAqC,EAASA,EAAMrI,EAAQgI,GACvEc,EAAaD,aAA2C,EAASA,EAASE,QAalD,iBAAjBR,EACTN,EAAsBM,EACW,mBAAjBA,IAChBN,EAAsBM,EAAavI,EAAQgI,EAAab,IAI1D,IAAI6B,EAAa3K,EAAc4H,GAC/B,OAAO,QAAc,OAAc,CAAC,EAAGlK,GAAU,CAAC,EAAG,CACnDiN,WAAYA,EACZR,eAAgBA,EAChBjB,SAAUA,EACVoB,gBAAiBA,EACjB3I,OAAQA,EACRmI,gBAAiBS,EACjBH,iBAAkBA,EAClBQ,WAAYP,EACZG,UAAU,QAAc,OAAc,CAAC,EAAGA,GAAW,CAAC,EAAG,CACvD/I,UAAW,IAAWmI,EAAqBY,aAA2C,EAASA,EAAS/I,WACxGiJ,QA/BU,SAAiBlF,GACzByE,GAAoBI,GACtBP,EAAgBnI,EAAQ6D,GAE1B,IAAK,IAAIqF,EAAOC,UAAUhD,OAAQiD,EAAO,IAAI5M,MAAM0M,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IAClGD,EAAKC,EAAO,GAAKF,UAAUE,GAE7BP,SAAgDA,EAAWQ,WAAM,EAAQ,CAACzF,GAAO/E,OAAOsK,GAC1F,KA0BF,CChBA,SA3CA,SAAqB1O,GAInB,IAAImF,EAAYnF,EAAMmF,UACpBrE,EAAWd,EAAMc,SACjBiC,EAAY/C,EAAMgF,UAClB6J,EAAgB7O,EAAM6O,cACtBzJ,EAAYpF,EAAMoF,UAClByH,EAAW7M,EAAM6M,SACjBjH,EAAU5F,EAAM4F,QAChBkJ,EAAU9O,EAAM8O,QACdrI,EAAc,EAAW,EAAc,CAAC,gBAAiB,YAAa,YAAa,iBAAkB,kBACvGsI,EAAgBtI,EAAYsI,cAC5BC,EAAYvI,EAAYuI,UACxBC,EAAYxI,EAAYwI,UACxBC,EAAiBzI,EAAYyI,eAC7BC,EAAgB1I,EAAY0I,cAG1BC,EAActO,EAYlB,OAXIgO,EAAUK,GAAiBD,EAAiBD,KAC9CG,EAA2B,gBAAoB,MAAO,CACpDnF,MAAO,CACLoF,MAAOH,GAAkBF,IAAcF,EAAUC,EAAgB,GACjE9G,SAAU,SACVC,KAAM,EACNoH,SAAU,UAEZlK,UAAW,GAAGhB,OAAOe,EAAW,wBAC/BiK,IAEe,gBAAoBrM,EAAW,CACjDqC,UAAWA,EACX6E,MAAO,CACLsF,QAAS1C,EAAW,KAAO,SAEf,gBAAoB,EAAM,CACxC7H,UAAW6J,EACX1J,UAAWA,EACXS,QAASA,GACRwJ,GACL,EC5CO,SAASI,GAAiB5O,GAC/B,IAAIuE,EAAYvE,EAAKuE,UACnBG,EAAS1E,EAAK0E,OACdmK,EAAW7O,EAAK6O,SAChB5C,EAAWjM,EAAKiM,SAChB0B,EAAa3N,EAAK2N,WAChBmB,EAAkB,GAAGtL,OAAOe,EAAW,oBAC3C,OAAKoJ,EASe,gBAAoB,OAAQ,CAC9CnJ,UAAW,IAAWsK,GAAiB,QAAgB,OAAgB,CAAC,EAAG,GAAGtL,OAAOe,EAAW,iBAAkB0H,GAAW,GAAGzI,OAAOe,EAAW,mBAAoB0H,IACtKwB,QANY,SAAiBlF,GAC7BsG,EAASnK,EAAQ6D,GACjBA,EAAMwG,iBACR,IAPsB,gBAAoB,OAAQ,CAC9CvK,UAAW,IAAWsK,EAAiB,GAAGtL,OAAOe,EAAW,iBAWlE,CAYO,SAASyK,GAA0BC,EAAKvK,EAAQI,EAAO+G,GAC5D,MAAmB,iBAARoD,EACFA,EAEU,mBAARA,EACFA,EAAIvK,EAAQI,EAAO+G,GAErB,EACT,CC7BO,SAASqD,GAAaC,EAAShM,EAAQiM,EAAUvD,EAAQ/G,GAC9D,IAeIuK,EAeAC,EA9BA5K,EAASyK,EAAQzK,OACnBH,EAAY4K,EAAQ5K,UACpBmJ,EAAayB,EAAQzB,WACrB6B,EAAgBJ,EAAQI,cACxBC,EAAwBL,EAAQK,sBAChCtC,EAAiBiC,EAAQjC,eACzBuC,EAAaN,EAAQM,WACrBC,EAAaP,EAAQO,WACrBzD,EAAWkD,EAAQlD,SACnBoB,EAAkB8B,EAAQ9B,gBAC1BR,EAAkBsC,EAAQtC,gBACxBxL,EAAMqM,EAAW0B,GACjB1E,EAAY6E,EAAcH,GAsB9B,OAlBIA,KAAcI,GAAyB,IAAMtC,IAC/CmC,EAA8B,gBAAoB,WAAgB,KAAmB,gBAAoB,OAAQ,CAC/GhG,MAAO,CACLsG,YAAa,GAAGnM,OAAOiM,EAAa5D,EAAQ,OAE9CrH,UAAW,GAAGhB,OAAOe,EAAW,6BAA6Bf,OAAOqI,KAClE6D,EAAW,CACbnL,UAAWA,EACX0H,SAAUA,EACV0B,WAAYN,EACZ3I,OAAQA,EACRmK,SAAUhC,MAIV1J,EAAOyM,SACTN,EAAsBnM,EAAOyM,OAAOlL,EAAQI,IAEvC,CACLzD,IAAKA,EACLqJ,UAAWA,EACX2E,eAAgBA,EAChBC,oBAAqBA,GAAuB,CAAC,EAEjD,CA6FA,SAAe,GAxFf,SAAiBlQ,GAIf,IAAIoF,EAAYpF,EAAMoF,UACpB6E,EAAQjK,EAAMiK,MACd3E,EAAStF,EAAMsF,OACfI,EAAQ1F,EAAM0F,MACdF,EAAcxF,EAAMwF,YACpB6H,EAASrN,EAAMqN,OACfoD,EAAgBzQ,EAAMyM,OACtBA,OAA2B,IAAlBgE,EAA2B,EAAIA,EACxCC,EAAe1Q,EAAM2Q,aACrB9B,EAAgB7O,EAAM6O,cACtB+B,EAAqB5Q,EAAM4Q,mBACzBb,EAAU3C,GAAW9H,EAAQ+H,EAAQ3H,EAAO+G,GAC5CtH,EAAY4K,EAAQ5K,UACtBoG,EAAiBwE,EAAQxE,eACzBsF,EAAuBd,EAAQc,qBAC/BC,EAAoBf,EAAQe,kBAC5B3C,EAAW4B,EAAQ5B,SACnBtB,EAAWkD,EAAQlD,SACnBkB,EAAmBgC,EAAQhC,iBAGzBgD,EAAc,UAAa,GAC/BA,EAAY/P,UAAY+P,EAAY/P,QAAU6L,GAO9C,IAqCImE,EArCAC,EAAkBrB,GAA0BiB,EAAsBvL,EAAQI,EAAO+G,GAGjFyE,EAA2B,gBAAoBR,GAAc,OAAS,CAAC,EAAGvC,EAAU,CACtF,eAAgBd,EAChBjI,UAAW,IAAWA,EAAW,GAAGhB,OAAOe,EAAW,QAAS,GAAGf,OAAOe,EAAW,eAAef,OAAOqI,GAAS0B,aAA2C,EAASA,EAAS/I,WAAW,OAAgB,CAAC,EAAG6L,EAAiBxE,GAAU,IAC1OxC,OAAO,QAAc,OAAc,CAAC,EAAGA,GAAQkE,aAA2C,EAASA,EAASlE,SAC1GsB,EAAe2B,KAAI,SAAUnJ,EAAQiM,GACvC,IAAIzK,EAASxB,EAAOwB,OAClBtB,EAAYF,EAAOE,UACnBkN,EAAkBpN,EAAOqB,UACvBgM,EAAgBtB,GAAaC,EAAShM,EAAQiM,EAAUvD,EAAQ/G,GAClEzD,EAAMmP,EAAcnP,IACpBqJ,EAAY8F,EAAc9F,UAC1B2E,EAAiBmB,EAAcnB,eAC/BC,EAAsBkB,EAAclB,oBACtC,OAAoB,gBAAoB,GAAM,OAAS,CACrD9K,UAAW+L,EACXlM,SAAUlB,EAAOkB,SACjBI,MAAOtB,EAAOsB,MACdH,MAAOnB,EAAOsN,SACdrM,UAAWjB,EAAOsN,SAAWT,EAAqB/B,EAClD1J,UAAWA,EACXlD,IAAKA,EACLqD,OAAQA,EACRI,MAAOA,EACPF,YAAaA,EACbvB,UAAWA,EACXsB,OAAQA,EACRE,iBAAkB1B,EAAO0B,kBACxB6F,EAAW,CACZlF,WAAY6J,EACZ3J,gBAAiB4J,IAErB,KAIA,GAAInC,IAAqBgD,EAAY/P,SAAW6L,GAAW,CACzD,IAAIyE,EAAgBR,EAAkBxL,EAAQI,EAAO+G,EAAS,EAAGI,GACjEmE,EAA6B,gBAAoB,GAAa,CAC5DnE,SAAUA,EACVzH,UAAW,IAAW,GAAGhB,OAAOe,EAAW,iBAAkB,GAAGf,OAAOe,EAAW,wBAAwBf,OAAOqI,EAAS,GAAIwE,GAC9H9L,UAAWA,EACXH,UAAW0L,EACX7B,cAAeA,EACfjJ,QAAS2F,EAAeE,OACxBqD,SAAS,GACRwC,EACL,CACA,OAAoB,gBAAoB,WAAgB,KAAMJ,EAAaF,EAC7E,IC9Ie,SAASO,GAAY3Q,GAClC,IAAI4Q,EAAY5Q,EAAK4Q,UACnBC,EAAiB7Q,EAAK6Q,eACpBC,EAAU,WAMd,OALA,aAAgB,WACVA,EAAQ1Q,SACVyQ,EAAeD,EAAWE,EAAQ1Q,QAAQ2Q,YAE9C,GAAG,IACiB,gBAAoB,IAAgB,CACtD3K,KAAMwK,GACQ,gBAAoB,KAAM,CACxCvR,IAAKyR,EACLzH,MAAO,CACL2H,QAAS,EACTC,OAAQ,EACRC,OAAQ,IAEI,gBAAoB,MAAO,CACzC7H,MAAO,CACL6H,OAAQ,EACRxC,SAAU,WAEX,MACL,CCvBe,SAASyC,GAAWnR,GACjC,IAAIuE,EAAYvE,EAAKuE,UACnBmJ,EAAa1N,EAAK0N,WAClBmD,EAAiB7Q,EAAK6Q,eACxB,OAAoB,gBAAoB,KAAM,CAC5C,cAAe,OACfrM,UAAW,GAAGhB,OAAOe,EAAW,gBAChC8E,MAAO,CACL6H,OAAQ,EACRE,SAAU,IAEE,gBAAoB,IAAeC,WAAY,CAC7DC,cAAe,SAAuBC,GACpCA,EAAS3Q,SAAQ,SAAUU,GACzB,IAAIsP,EAAYtP,EAAM8E,KACpBiG,EAAO/K,EAAM+K,KACfwE,EAAeD,EAAWvE,EAAK0E,YACjC,GACF,GACCrD,EAAWpB,KAAI,SAAUsE,GAC1B,OAAoB,gBAAoBD,GAAa,CACnDtP,IAAKuP,EACLA,UAAWA,EACXC,eAAgBA,GAEpB,KACF,CCqDA,SAAe,GAxEf,SAAczR,GAIZ,IAuBIoS,EAvBApL,EAAOhH,EAAMgH,KACfqL,EAAqBrS,EAAMqS,mBACzB5L,EAAc,EAAW,EAAc,CAAC,YAAa,eAAgB,iBAAkB,iBAAkB,YAAa,eAAgB,qBAAsB,cAC9JtB,EAAYsB,EAAYtB,UACxBmN,EAAe7L,EAAY6L,aAC3Bb,EAAiBhL,EAAYgL,eAC7BlG,EAAiB9E,EAAY8E,eAC7BqB,EAAYnG,EAAYmG,UACxBD,EAAelG,EAAYkG,aAC3BD,EAAqBjG,EAAYiG,mBACjC6F,EAAY9L,EAAY8L,UACtBC,EAAcxF,GAAkBhG,EAAM0F,EAAoBC,EAAcC,GAGxE6F,EAAU,SAAa,CACzBhP,iBAAiB,IAIfiP,EAAmBJ,EAAa,CAAC,OAAQ,WAAY,SACrDK,EAAcL,EAAa,CAAC,OAAQ,OAAQ,MAC5CM,EAAcN,EAAa,CAAC,OAAQ,QAAS,MAC7CO,EAAcP,EAAa,CAAC,OAAQ,QAAS,MAG/CF,EADEpL,EAAKyE,OACA+G,EAAYtF,KAAI,SAAUC,EAAM2F,GACrC,IAAIxN,EAAS6H,EAAK7H,OAChBmH,EAASU,EAAKV,OACdjH,EAAc2H,EAAKzH,MACjBzD,EAAM2K,EAAUtH,EAAQwN,GAC5B,OAAoB,gBAAoB,GAAS,CAC/C7Q,IAAKA,EACLoL,OAAQpL,EACRqD,OAAQA,EACRI,MAAOoN,EACPtN,YAAaA,EACbmL,aAAcgC,EACd9D,cAAe+D,EACfhC,mBAAoBiC,EACpBjG,UAAWA,EACXH,OAAQA,GAEZ,IAEoB,gBAAoB,GAAa,CACnDI,UAAU,EACVzH,UAAW,GAAGhB,OAAOe,EAAW,gBAChCA,UAAWA,EACXH,UAAW2N,EACX9D,cAAe+D,EACfhN,QAAS2F,EAAeE,OACxBqD,SAAS,GACRyD,GAEL,IAAIjE,EAAa3K,EAAc4H,GAC/B,OAAoB,gBAAoB,EAAY5K,SAAU,CAC5DE,MAAO4R,EAAQzR,SACD,gBAAoB0R,EAAkB,CACpDtN,UAAW,GAAGhB,OAAOe,EAAW,WAC/BkN,GAAmC,gBAAoBN,GAAY,CACpE5M,UAAWA,EACXmJ,WAAYA,EACZmD,eAAgBA,IACdW,GACN,IC5EA,IAAI,GAAY,CAAC,cAENW,GAAsB,+BCF7B,GAAY,CAAC,cA8CjB,SAzCA,SAAkBnS,GAYhB,IAXA,IAAIoS,EAAYpS,EAAKoS,UACnBpP,EAAUhD,EAAKgD,QACfqP,EAAarS,EAAKqS,WAElBC,EADgB,EAAW,EAAc,CAAC,gBAChBA,YACxBC,EAAO,GAKPC,GAAa,EACRrG,GALCkG,GAAcrP,EAAQ6H,QAKb,EAAGsB,GAAK,EAAGA,GAAK,EAAG,CACpC,IAAIsC,EAAQ2D,EAAUjG,GAClBhJ,EAASH,GAAWA,EAAQmJ,GAC5BzG,OAAkB,EAClB+M,OAAW,EASf,GARItP,IACFuC,EAAkBvC,EAAOgP,IAGL,SAAhBG,IACFG,EAAWtP,EAAOsP,WAGlBhE,GAASgE,GAAY/M,GAAmB8M,EAAY,CACtD,IAAIlR,EAAQoE,GAAmB,CAAC,EAE9BgN,GADapR,EAAMqR,YACG,OAAyBrR,EAAO,KACxDiR,EAAKK,QAAsB,gBAAoB,OAAO,OAAS,CAC7DvR,IAAK8K,EACL9C,MAAO,CACLoF,MAAOA,EACPgE,SAAUA,IAEXC,KACHF,GAAa,CACf,CACF,CACA,OAAoB,gBAAoB,WAAY,KAAMD,EAC5D,kBC3CI,GAAY,CAAC,YAAa,SAAU,UAAW,iBAAkB,YAAa,aAAc,gBAAiB,YAAa,YAAa,kBAAmB,qBAAsB,kBAAmB,WAAY,mBAAoB,YAuBnOM,GAA2B,cAAiB,SAAUzT,EAAOC,GAI/D,IAAImF,EAAYpF,EAAMoF,UACpBsO,EAAS1T,EAAM0T,OACf9P,EAAU5D,EAAM4D,QAChB2H,EAAiBvL,EAAMuL,eACvByH,EAAYhT,EAAMgT,UAClBC,EAAajT,EAAMiT,WACnB3I,EAAgBtK,EAAMsK,cACtBC,EAAYvK,EAAMuK,UAClByE,EAAYhP,EAAMgP,UAClB2E,EAAkB3T,EAAM2T,gBACxBC,EAAqB5T,EAAM4T,mBAC3BC,EAAkB7T,EAAM6T,gBACxBC,EAAW9T,EAAM8T,SACjBC,EAAmB/T,EAAM+T,iBACzBjT,EAAWd,EAAMc,SACjBkT,GAAY,OAAyBhU,EAAO,IAC1CyG,EAAc,EAAW,EAAc,CAAC,YAAa,gBAAiB,WAAY,iBACpFtB,EAAYsB,EAAYtB,UACxB4J,EAAgBtI,EAAYsI,cAC5BxI,EAAWE,EAAYF,SAErB0N,GAAiB3B,EADJ7L,EAAY6L,cACK,CAAC,SAAU,SAAU,SACnD4B,EAA2B3N,IAAayI,EAAY,EAAID,EAGxDoF,EAAY,SAAa,MACzBC,EAAe,eAAkB,SAAUC,IAC7C,QAAQpU,EAAKoU,IACb,QAAQF,EAAWE,EACrB,GAAG,IACH,aAAgB,WACd,IAAIC,EACJ,SAASC,EAAQC,GACf,IAAI5T,EAAO4T,EACTC,EAAgB7T,EAAK6T,cACrBC,EAAS9T,EAAK8T,OACZA,IACFZ,EAAS,CACPW,cAAeA,EACfE,WAAYF,EAAcE,WAAaD,IAEzCF,EAAEI,iBAEN,CAIA,OAH6C,QAA5CN,EAAqBH,EAAUnT,eAA4C,IAAvBsT,GAAiCA,EAAmBO,iBAAiB,QAASN,EAAS,CAC1IO,SAAS,IAEJ,WACL,IAAIC,EAC0C,QAA7CA,EAAsBZ,EAAUnT,eAA6C,IAAxB+T,GAAkCA,EAAoBC,oBAAoB,QAAST,EAC3I,CACF,GAAG,IAGH,IAAIU,EAA6B,WAAc,WAC7C,OAAO1J,EAAeT,OAAM,SAAU/G,GACpC,OAAOA,EAAOsL,KAChB,GACF,GAAG,CAAC9D,IAGA2J,EAAa3J,EAAeA,EAAeE,OAAS,GACpD0J,EAAkB,CACpBzK,MAAOwK,EAAaA,EAAWxK,MAAQ,KACvCkB,WAAW,EACXwJ,aAAc,WACZ,MAAO,CACLhQ,UAAW,GAAGhB,OAAOe,EAAW,mBAEpC,GAEEkQ,GAAuB,IAAAC,UAAQ,WACjC,OAAOpB,EAA2B,GAAG9P,QAAO,QAAmBR,GAAU,CAACuR,IAAoBvR,CAChG,GAAG,CAACsQ,EAA0BtQ,IAC1B2R,GAA8B,IAAAD,UAAQ,WACxC,OAAOpB,EAA2B,GAAG9P,QAAO,QAAmBmH,GAAiB,CAAC4J,IAAoB5J,CACvG,GAAG,CAAC2I,EAA0B3I,IAG1BiK,GAAsB,IAAAF,UAAQ,WAChC,IAAInN,EAAQmC,EAAcnC,MACxBD,EAAOoC,EAAcpC,KACvB,OAAO,QAAc,OAAc,CAAC,EAAGoC,GAAgB,CAAC,EAAG,CACzDpC,KAAoB,QAAdqC,EAAsB,GAAGnG,QAAO,QAAmB8D,EAAKgF,KAAI,SAAUmC,GAC1E,OAAOA,EAAQ6E,CACjB,KAAK,CAAC,IAAMhM,EACZC,MAAqB,QAAdoC,EAAsBpC,EAAQ,GAAG/D,QAAO,QAAmB+D,EAAM+E,KAAI,SAAUmC,GACpF,OAAOA,EAAQ6E,CACjB,KAAK,CAAC,IACN3N,SAAUA,GAEd,GAAG,CAAC2N,EAA0B5J,EAAe/D,IACzCkP,EA9GN,SAAwBzC,EAAWC,GACjC,OAAO,IAAAqC,UAAQ,WAEb,IADA,IAAII,EAAe,GACV3I,EAAI,EAAGA,EAAIkG,EAAYlG,GAAK,EAAG,CACtC,IAAIxI,EAAMyO,EAAUjG,GACpB,QAAYrM,IAAR6D,EAGF,OAAO,KAFPmR,EAAa3I,GAAKxI,CAItB,CACA,OAAOmR,CACT,GAAG,CAAC1C,EAAU7O,KAAK,KAAM8O,GAC3B,CAiG0B0C,CAAe3C,EAAWC,GAClD,OAAoB,gBAAoB,MAAO,CAC7ChJ,OAAO,OAAc,CACnBqF,SAAU,UACT/I,EAAW,CACZqP,IAAKjC,EACLkC,OAAQjC,GACN,CAAC,GACL3T,IAAKmU,EACLhP,UAAW,IAAWA,GAAW,OAAgB,CAAC,EAAGyO,IAAmBA,KAC1D,gBAAoBI,EAAgB,CAClDhK,MAAO,CACLiJ,YAAa,QACb4C,WAAYpC,GAAU+B,EAAoB,KAAO,aAEhD/B,IAAWK,GAAoBkB,IAA4C,gBAAoB,GAAU,CAC5GjC,UAAWyC,EAAoB,GAAGrR,QAAO,QAAmBqR,GAAoB,CAACvB,IAA6B,GAC9GjB,WAAYA,EAAa,EACzBrP,QAAS2R,IACPzU,GAAS,QAAc,OAAc,CAAC,EAAGkT,GAAY,CAAC,EAAG,CAC3D1J,cAAekL,EACf5R,QAASyR,EACT9J,eAAgBgK,MAEpB,IAOA,SAA4B,OAAW9B,ICxGvC,GA3CgB,SAAmBzT,GACjC,IAUImO,EAVA4H,EAAQ/V,EAAM+V,MAChBzL,EAAgBtK,EAAMsK,cACtBiB,EAAiBvL,EAAMuL,eACvBmF,EAAe1Q,EAAM2Q,aACrBqF,EAAgBhW,EAAM6O,cACtBoH,EAAcjW,EAAMiW,YACpBvQ,EAAQ1F,EAAM0F,MACZe,EAAc,EAAW,EAAc,CAAC,YAAa,cACvDtB,EAAYsB,EAAYtB,UACxBoF,EAAY9D,EAAY8D,UAEtB0L,IACF9H,EAAW8H,EAAYF,EAAM7I,KAAI,SAAUgJ,GACzC,OAAOA,EAAKnS,MACd,IAAI2B,IAEN,IAAI4I,EAAa3K,EAAcoS,EAAM7I,KAAI,SAAUgJ,GACjD,OAAOA,EAAKnS,MACd,KACA,OAAoB,gBAAoB2M,EAAcvC,EAAU4H,EAAM7I,KAAI,SAAUgJ,EAAMC,GACxF,IAEI7P,EAFAvC,EAASmS,EAAKnS,OACduH,EAAYnB,EAAiB+L,EAAK9L,SAAU8L,EAAK7L,OAAQkB,EAAgBjB,EAAeC,GAK5F,OAHIxG,GAAUA,EAAOqR,eACnB9O,EAAkB4P,EAAKnS,OAAOqR,aAAarR,IAEzB,gBAAoB,GAAM,OAAS,CAAC,EAAGmS,EAAM,CAC/DhR,MAAOnB,EAAOyF,MAAQ0M,EAAKtQ,QAAU,EAAI,WAAa,MAAQ,KAC9DX,SAAUlB,EAAOkB,SACjBI,MAAOtB,EAAOsB,MACdL,UAAWgR,EACX7Q,UAAWA,EACXlD,IAAKqM,EAAW6H,IACf7K,EAAW,CACZhF,gBAAiBA,EACjBX,QAAS,WAEb,IACF,ECgDA,GAAe,GAjCF,SAAgB3F,GAI3B,IAAIsK,EAAgBtK,EAAMsK,cACxB1G,EAAU5D,EAAM4D,QAChB2H,EAAiBvL,EAAMuL,eACvB0K,EAAcjW,EAAMiW,YAClBxP,EAAc,EAAW,EAAc,CAAC,YAAa,iBACvDtB,EAAYsB,EAAYtB,UACxBmN,EAAe7L,EAAY6L,aACzBF,EAAO,WAAc,WACvB,OApEJ,SAAyBgE,GACvB,IAAIhE,EAAO,IACX,SAASiE,EAAazS,EAASoM,GAC7B,IAAIzH,EAAWkG,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,EAEnF2D,EAAK7J,GAAY6J,EAAK7J,IAAa,GACnC,IAAI+N,EAAkBtG,EA6BtB,OA5BepM,EAAQ2S,OAAOC,SAAStJ,KAAI,SAAUnJ,GACnD,IAAImS,EAAO,CACTjU,IAAK8B,EAAO9B,IACZmD,UAAWrB,EAAOqB,WAAa,GAC/BtE,SAAUiD,EAAOyF,MACjBzF,OAAQA,EACRqG,SAAUkM,GAER1Q,EAAU,EACV6Q,EAAa1S,EAAOjD,SAiBxB,OAhBI2V,GAAcA,EAAWhL,OAAS,IACpC7F,EAAUyQ,EAAaI,EAAYH,EAAiB/N,EAAW,GAAGmO,QAAO,SAAUC,EAAOC,GACxF,OAAOD,EAAQC,CACjB,GAAG,GACHV,EAAKW,eAAgB,GAEnB,YAAa9S,IACf6B,EAAU7B,EAAO6B,SAEf,YAAa7B,IACfmS,EAAKrQ,QAAU9B,EAAO8B,SAExBqQ,EAAKtQ,QAAUA,EACfsQ,EAAK7L,OAAS6L,EAAK9L,SAAWxE,EAAU,EACxCwM,EAAK7J,GAAUlE,KAAK6R,GACpBI,GAAmB1Q,EACZA,CACT,GAEF,CAGAyQ,CAAaD,EAAa,GAY1B,IATA,IAAIU,EAAW1E,EAAK3G,OAChBsL,EAAQ,SAAexO,GACzB6J,EAAK7J,GAAU/G,SAAQ,SAAU0U,GACzB,YAAaA,GAAUA,EAAKW,gBAEhCX,EAAKrQ,QAAUiR,EAAWvO,EAE9B,GACF,EACSA,EAAW,EAAGA,EAAWuO,EAAUvO,GAAY,EACtDwO,EAAMxO,GAER,OAAO6J,CACT,CAaW4E,CAAgBpT,EACzB,GAAG,CAACA,IACA8O,EAAmBJ,EAAa,CAAC,SAAU,WAAY,SACvDK,EAAcL,EAAa,CAAC,SAAU,OAAQ,MAC9CO,EAAcP,EAAa,CAAC,SAAU,QAAS,MACnD,OAAoB,gBAAoBI,EAAkB,CACxDtN,UAAW,GAAGhB,OAAOe,EAAW,WAC/BiN,EAAKlF,KAAI,SAAU+J,EAAK1O,GAWzB,OAV2B,gBAAoB,GAAW,CACxDtG,IAAKsG,EACLgD,eAAgBA,EAChBwK,MAAOkB,EACP3M,cAAeA,EACfqG,aAAcgC,EACd9D,cAAegE,EACfoD,YAAaA,EACbvQ,MAAO6C,GAGX,IACF,oBC3FA,SAAS2O,GAAcC,GACrB,IAAI9H,EAAQZ,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,GAChF,MAAqB,iBAAVY,EACFA,EAELA,EAAM+H,SAAS,KACVD,EAAaE,WAAWhI,GAAS,IAEnC,IACT,CCLA,IAAI,GAAY,CAAC,YACfiI,GAAa,CAAC,SAOT,SAASC,GAAyBzW,GACvC,OAAO,QAAQA,GAAUyV,QAAO,SAAUiB,GACxC,OAAoB,iBAAqBA,EAC3C,IAAGtK,KAAI,SAAUtM,GACf,IAAIqB,EAAMrB,EAAKqB,IACbjC,EAAQY,EAAKZ,MACXyX,EAAezX,EAAMc,SACvBkT,GAAY,OAAyBhU,EAAO,IAC1C+D,GAAS,OAAc,CACzB9B,IAAKA,GACJ+R,GAIH,OAHIyD,IACF1T,EAAOjD,SAAWyW,GAAyBE,IAEtC1T,CACT,GACF,CACA,SAAS2T,GAAoB9T,GAC3B,OAAOA,EAAQ2S,QAAO,SAAUxS,GAC9B,OAAOA,GAA8B,YAApB,OAAQA,KAAyBA,EAAO4T,MAC3D,IAAGzK,KAAI,SAAUnJ,GACf,IAAI0S,EAAa1S,EAAOjD,SACxB,OAAI2V,GAAcA,EAAWhL,OAAS,GAC7B,QAAc,OAAc,CAAC,EAAG1H,GAAS,CAAC,EAAG,CAClDjD,SAAU4W,GAAoBjB,KAG3B1S,CACT,GACF,CACA,SAAS6T,GAAYhU,GACnB,IAAIiU,EAAYpJ,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,MACpF,OAAO7K,EAAQ2S,QAAO,SAAUxS,GAC9B,OAAOA,GAA8B,YAApB,OAAQA,EAC3B,IAAG2S,QAAO,SAAUlK,EAAMzI,EAAQ2B,GAChC,IAAIgF,EAAQ3G,EAAO2G,MAEfoN,GAAwB,IAAVpN,EAAiB,OAASA,EACxCxG,EAAY,GAAGE,OAAOyT,EAAW,KAAKzT,OAAOsB,GAC7C+Q,EAAa1S,EAAOjD,SACxB,OAAI2V,GAAcA,EAAWhL,OAAS,EAC7B,GAAGrH,QAAO,QAAmBoI,IAAO,QAAmBoL,GAAYnB,EAAYvS,GAAWgJ,KAAI,SAAU6K,GAC7G,OAAO,OAAc,CACnBrN,MAAOoN,GACNC,EACL,MAEK,GAAG3T,QAAO,QAAmBoI,GAAO,EAAC,QAAc,OAAc,CACtEvK,IAAKiC,GACJH,GAAS,CAAC,EAAG,CACd2G,MAAOoN,KAEX,GAAG,GACL,CA8LA,SAxKA,SAAoB5V,EAAO8V,GACzB,IAAI7S,EAAYjD,EAAMiD,UACpBvB,EAAU1B,EAAM0B,QAChB9C,EAAWoB,EAAMpB,SACjByN,EAAarM,EAAMqM,WACnB5B,EAAezK,EAAMyK,aACrBsL,EAAc/V,EAAM+V,YACpBrL,EAAY1K,EAAM0K,UAClBa,EAAkBvL,EAAMuL,gBACxB6C,EAAapO,EAAMoO,WACnB5C,EAAgBxL,EAAMwL,cACtB0C,EAAwBlO,EAAMkO,sBAC9B7F,EAAYrI,EAAMqI,UAClBqD,EAAmB1L,EAAM0L,iBACzBsK,EAAchW,EAAMgW,YACpBxN,EAAQxI,EAAMwI,MACdyN,EAAcjW,EAAMiW,YACpBC,EAAclW,EAAMkW,YAClBC,EAAc,WAAc,WAE9B,OAAOX,IADU9T,GAAW2T,GAAyBzW,IAAa,IAC5BwX,QACxC,GAAG,CAAC1U,EAAS9C,IAGTyX,EAAoB,WAAc,WACpC,GAAIhK,EAAY,CACd,IAAImH,EAAe2C,EAAYC,QAQ/B,IAAK5C,EAAa8C,SAASnY,GAAgB,CACzC,IAAIoY,EAAiBrI,GAAyB,EAC1CqI,GAAkB,GACpB/C,EAAagD,OAAOD,EAAgB,EAAGpY,EAE3C,CAQA,IAAIsY,EAAoBjD,EAAakD,QAAQvY,GAC7CqV,EAAeA,EAAaa,QAAO,SAAUxS,EAAQ2B,GACnD,OAAO3B,IAAW1D,GAAiBqF,IAAUiT,CAC/C,IAGA,IACIE,EADAjO,EAAayN,EAAYM,GAO3BE,EALa,SAAVnO,IAAoBA,GAAW0F,EAEd,UAAV1F,IAAqBA,GAAU0F,IAA0BiI,EAAY5M,OAGjEb,EAAaA,EAAWF,MAAQ,KAFhC,QAFA,OAQhB,IAAIoO,GAAe,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,OAAgB,CAAC,EAAG/F,GAAqB,CAC1I3N,UAAW,GAAGhB,OAAOe,EAAW,oBAChCoO,WAAY,kBACV,QAAS0E,GAAc,QAASY,GAAc,YAAa,GAAGzU,OAAOe,EAAW,0BAA2B,QAAS+S,GAAc,UAAU,SAAgBa,EAAGzT,EAAQI,GACzK,IAAI2H,EAAST,EAAUtH,EAAQI,GAC3BmH,EAAWF,EAAaG,IAAIO,GAC5B2L,GAAmBtL,GAAgBA,EAAcpI,GACjDlF,EAAOkQ,EAAW,CACpBnL,UAAWA,EACX0H,SAAUA,EACV0B,WAAYyK,EACZ1T,OAAQA,EACRmK,SAAUhC,IAEZ,OAAIG,EACkB,gBAAoB,OAAQ,CAC9CS,QAAS,SAAiBmG,GACxB,OAAOA,EAAE7E,iBACX,GACCvP,GAEEA,CACT,IACA,OAAOsV,EAAaxI,KAAI,SAAUnC,GAChC,OAAOA,IAAQ1K,EAAgByY,EAAe/N,CAChD,GACF,CAIA,OAAOsN,EAAY9B,QAAO,SAAUxL,GAClC,OAAOA,IAAQ1K,CACjB,GACF,GAAG,CAACkO,EAAY8J,EAAazL,EAAWD,EAAc2D,EAAY/F,IAG9D0O,EAAgB,WAAc,WAChC,IAAIC,EAAeX,EAanB,OAZIP,IACFkB,EAAelB,EAAiBkB,IAI7BA,EAAazN,SAChByN,EAAe,CAAC,CACd3T,OAAQ,WACN,OAAO,IACT,KAGG2T,CACT,GAAG,CAAClB,EAAkBO,EAAmBhO,IAGrCgB,EAAiB,WAAc,WACjC,MAAkB,QAAdhB,EA5IR,SAAsB3G,GACpB,OAAOA,EAAQsJ,KAAI,SAAUnJ,GAC3B,IAAI2G,EAAQ3G,EAAO2G,MACjBsJ,GAAY,OAAyBjQ,EAAQuT,IAG3CQ,EAAcpN,EAMlB,MALc,SAAVA,EACFoN,EAAc,QACK,UAAVpN,IACToN,EAAc,SAET,OAAc,CACnBpN,MAAOoN,GACN9D,EACL,GACF,CA6HamF,CAAavB,GAAYqB,IAE3BrB,GAAYqB,EACrB,GAAG,CAACA,EAAe1O,EAAW4N,IAG1BiB,EAAc,WAAc,WAG9B,IADA,IAAIC,GAAiB,EACZtM,EAAIxB,EAAeE,OAAS,EAAGsB,GAAK,EAAGA,GAAK,EAAG,CACtD,IAAIuM,EAAW/N,EAAewB,GAAGrC,MACjC,GAAiB,SAAb4O,IAAoC,IAAbA,EAAmB,CAC5CD,EAAgBtM,EAChB,KACF,CACF,CACA,GAAIsM,GAAiB,EACnB,IAAK,IAAIE,EAAK,EAAGA,GAAMF,EAAeE,GAAM,EAAG,CAC7C,IAAIC,EAAYjO,EAAegO,GAAI7O,MACnC,GAAkB,SAAd8O,IAAsC,IAAdA,EAC1B,OAAO,CAEX,CAIF,IAAIC,EAAkBlO,EAAemO,WAAU,SAAUjV,GAEvD,MAAoB,UADLA,EAAMiG,KAEvB,IACA,GAAI+O,GAAmB,EACrB,IAAK,IAAIE,EAAMF,EAAiBE,EAAMpO,EAAeE,OAAQkO,GAAO,EAElE,GAAmB,UADFpO,EAAeoO,GAAKjP,MAEnC,OAAO,EAIb,OAAO,CACT,GAAG,CAACa,IAGAqO,ED3OS,SAAyBrO,EAAgB4M,EAAaC,GACnE,OAAO,WAAc,WAEnB,GAAID,GAAeA,EAAc,EAAG,CAClC,IAAIhB,EAAa,EACb0C,EAAiB,EAGrBtO,EAAe/J,SAAQ,SAAUuJ,GAC/B,IAAI+O,EAAW5C,GAAciB,EAAapN,EAAIsE,OAC1CyK,EACF3C,GAAc2C,EAEdD,GAAkB,CAEtB,IAGA,IAAIE,EAAcC,KAAKC,IAAI9B,EAAaC,GACpC8B,EAAYF,KAAKC,IAAIF,EAAc5C,EAAY0C,GAC/CM,EAAYN,EACZO,EAAWF,EAAYL,EACvBQ,EAAY,EACZC,EAAgB/O,EAAe2B,KAAI,SAAUnC,GAC/C,IAAIwP,GAAQ,OAAc,CAAC,EAAGxP,GAC1B+O,EAAW5C,GAAciB,EAAaoC,EAAMlL,OAChD,GAAIyK,EACFS,EAAMlL,MAAQyK,MACT,CACL,IAAIU,EAAcR,KAAKS,MAAML,GAC7BG,EAAMlL,MAAsB,IAAd8K,EAAkBD,EAAYM,EAC5CN,GAAaM,EACbL,GAAa,CACf,CAEA,OADAE,GAAaE,EAAMlL,MACZkL,CACT,IAIA,GAAIF,EAAYN,EAAa,CAC3B,IAAIW,EAAQX,EAAcM,EAC1BH,EAAYH,EACZO,EAAc9Y,SAAQ,SAAUuJ,EAAKrF,GACnC,IAAIoU,EAAWE,KAAKS,MAAM1P,EAAIsE,MAAQqL,GACtC3P,EAAIsE,MAAQ3J,IAAU4U,EAAc7O,OAAS,EAAIyO,EAAYJ,EAC7DI,GAAaJ,CACf,GACF,CACA,MAAO,CAACQ,EAAeN,KAAKC,IAAII,EAAWN,GAC7C,CACA,MAAO,CAACxO,EAAgB4M,EAC1B,GAAG,CAAC5M,EAAgB4M,EAAaC,GACnC,CCsLyBuC,CAAgBpP,EAAgB4M,EAAaC,GAClEwC,GAAoB,OAAehB,EAAkB,GACrDU,EAAgBM,EAAkB,GAClCC,EAAkBD,EAAkB,GACtC,MAAO,CAAC3B,EAAeqB,EAAeO,EAAiBzB,EACzD,EC3PO,SAAS0B,GAAeC,GAC7B,IAAIC,GAAW,IAAAC,QAAOF,GAClBG,GAAY,IAAAC,UAAS,CAAC,GAExB/Y,GADa,OAAe8Y,EAAW,GACd,GACvBE,GAAiB,IAAAH,QAAO,MACxBI,GAAiB,IAAAJ,QAAO,IAyB5B,OALA,IAAAK,YAAU,WACR,OAAO,WACLF,EAAepa,QAAU,IAC3B,CACF,GAAG,IACI,CAACga,EAASha,QAxBjB,SAAuBua,GACrBF,EAAera,QAAQqD,KAAKkX,GAC5B,IAAIC,EAAUC,QAAQC,UACtBN,EAAepa,QAAUwa,EACzBA,EAAQG,MAAK,WACX,GAAIP,EAAepa,UAAYwa,EAAS,CACtC,IAAII,EAAYP,EAAera,QAC3B6a,EAAYb,EAASha,QACzBqa,EAAera,QAAU,GACzB4a,EAAUpa,SAAQ,SAAUsa,GAC1Bd,EAASha,QAAU8a,EAAad,EAASha,QAC3C,IACAoa,EAAepa,QAAU,KACrB6a,IAAcb,EAASha,SACzBoB,EAAY,CAAC,EAEjB,CACF,GACF,EAOF,CCjCA,IAAI2Z,IAAmB,EAAA/P,EAAA,KAAcC,OAAS,KC0B9C,MCtBA,GAPA,SAAerL,GACb,IAAIwE,EAAYxE,EAAKwE,UACnBtE,EAAWF,EAAKE,SAClB,OAAoB,gBAAoB,MAAO,CAC7CsE,UAAWA,GACVtE,EACL,ECNe,SAASkb,GAAqBC,EAAQC,EAAWC,EAAIC,GAElE,IAAIC,EAAW,4BAAmC,SAAa7H,GAC7D,4BAAiC2H,EAAI3H,EACvC,EAAI2H,EAIJ,OAHIF,SAAwCA,EAAOpH,kBACjDoH,EAAOpH,iBAAiBqH,EAAWG,EAAUD,GAExC,CACLE,OAAQ,WACFL,SAAwCA,EAAOjH,qBACjDiH,EAAOjH,oBAAoBkH,EAAWG,EAAUD,EAEpD,EAEJ,CCsEO,SAASG,GAAU/E,GACxB,IAAIgF,EAAMhF,EAAKiF,wBACXC,EAAUxQ,SAASC,gBAGvB,MAAO,CACLjE,KAAMsU,EAAItU,MAAQ+D,OAAO0Q,aAAeD,EAAQ/H,aAAe+H,EAAQE,YAAc1Q,SAAS2Q,KAAKD,YAAc,GACjHhH,IAAK4G,EAAI5G,KAAO3J,OAAO6Q,aAAeJ,EAAQK,YAAcL,EAAQM,WAAa9Q,SAAS2Q,KAAKG,WAAa,GAEhH,iBCnFIC,GAAkB,SAAyBrc,EAAMX,GACnD,IAAIid,EAAuBC,EACvBC,EAAgBxc,EAAKwc,cACvBtJ,EAAWlT,EAAKkT,SAChBuJ,EAAezc,EAAKyc,aACpBC,EAAY1c,EAAK0c,UACfnY,EAAY,EAAW,EAAc,aACrCoY,GAAuE,QAAnDL,EAAwBE,EAAcpc,eAA+C,IAA1Bkc,OAAmC,EAASA,EAAsB/E,cAAgB,EACjKqF,GAAkE,QAApDL,EAAyBC,EAAcpc,eAAgD,IAA3Bmc,OAAoC,EAASA,EAAuB/E,cAAgB,EAC9JqF,EAAiBF,GAAmBC,GAAaA,EAAYD,GAC7DG,EAAe,WACfC,EAAkB7C,GAAe,CACjCnG,WAAY,EACZiJ,mBAAmB,IAErBC,GAAmB,OAAeF,EAAiB,GACnDG,EAAcD,EAAiB,GAC/BE,EAAiBF,EAAiB,GAChCG,EAAW,SAAa,CAC1BC,MAAO,EACPC,EAAG,IAEDjd,EAAkB,YAAe,GACnCkd,GAAmB,OAAeld,EAAiB,GACnDmd,EAAWD,EAAiB,GAC5BE,EAAYF,EAAiB,GAC3BG,EAAS,SAAa,MAC1B,aAAgB,WACd,OAAO,WACLC,GAAA,EAAIC,OAAOF,EAAOtd,QACpB,CACF,GAAG,IACH,IAAIyd,EAAY,WACdJ,GAAU,EACZ,EAQIK,EAAc,SAAqBvV,GACrC,IAAIwV,EAGFC,GADUzV,IAAiC,QAAtBwV,EAAU1S,cAAgC,IAAZ0S,OAAqB,EAASA,EAAQxV,QACzEyV,QAClB,GAAKR,GAAwB,IAAZQ,EAAjB,CAOA,IAAI1W,EAAO8V,EAAShd,QAAQkd,EAAI/U,EAAM0V,MAAQb,EAAShd,QAAQkd,EAAIF,EAAShd,QAAQid,MAChF/V,GAAQ,IACVA,EAAO,GAELA,EAAOuV,GAAkBD,IAC3BtV,EAAOsV,EAAYC,GAErB3J,EAAS,CACPa,WAAYzM,EAAOsV,GAAaD,EAAkB,KAEpDS,EAAShd,QAAQkd,EAAI/U,EAAM0V,KAX3B,MAJMT,GACFC,GAAU,EAehB,EACIS,EAAwB,WAC1BR,EAAOtd,SAAU,EAAAud,GAAA,IAAI,WACnB,GAAKnB,EAAcpc,QAAnB,CAGA,IAAI+d,EAAiBxC,GAAUa,EAAcpc,SAAS4U,IAClDoJ,EAAoBD,EAAiB3B,EAAcpc,QAAQie,aAC3DC,EAAsB5B,IAAcrR,OAASC,SAASC,gBAAgB4Q,UAAY9Q,OAAOkT,YAAc5C,GAAUe,GAAW1H,IAAM0H,EAAU8B,aAC5IJ,GAAoB,EAAAK,EAAA,MAAsBH,GAAuBH,GAAkBG,EAAsB7B,EAC3GU,GAAe,SAAUuB,GACvB,OAAO,QAAc,OAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjD1B,mBAAmB,GAEvB,IAEAG,GAAe,SAAUuB,GACvB,OAAO,QAAc,OAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjD1B,mBAAmB,GAEvB,GAfF,CAiBF,GACF,EACI2B,EAAgB,SAAuBrX,GACzC6V,GAAe,SAAUuB,GACvB,OAAO,QAAc,OAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjD3K,WAAYzM,EAAOqV,EAAkBC,GAAa,GAEtD,GACF,EAqCA,OApCA,sBAA0Bvd,GAAK,WAC7B,MAAO,CACLsf,cAAeA,EACfT,sBAAuBA,EAE3B,IACA,aAAgB,WACd,IAAIU,EAAoB,GAAiBtT,SAAS2Q,KAAM,UAAW4B,GAAW,GAC1EgB,EAAsB,GAAiBvT,SAAS2Q,KAAM,YAAa6B,GAAa,GAEpF,OADAI,IACO,WACLU,EAAkBlD,SAClBmD,EAAoBnD,QACtB,CACF,GAAG,CAACmB,EAAgBW,IACpB,aAAgB,WACd,IAAIsB,EAAmB,GAAiBpC,EAAW,SAAUwB,GAAuB,GAChFa,EAAmB,GAAiB1T,OAAQ,SAAU6S,GAAuB,GACjF,OAAO,WACLY,EAAiBpD,SACjBqD,EAAiBrD,QACnB,CACF,GAAG,CAACgB,IACJ,aAAgB,WACTQ,EAAYF,mBACfG,GAAe,SAAUuB,GACvB,IAAIM,EAAWxC,EAAcpc,QAC7B,OAAK4e,GAGE,QAAc,OAAc,CAAC,EAAGN,GAAQ,CAAC,EAAG,CACjD3K,WAAYiL,EAASjL,WAAaiL,EAASzH,YAAcyH,EAASxH,cAH3DkH,CAKX,GAEJ,GAAG,CAACxB,EAAYF,oBACZL,GAAmBC,IAAcC,GAAkBK,EAAYF,kBAC1D,KAEW,gBAAoB,MAAO,CAC7C3T,MAAO,CACL6H,QAAQ,EAAAuN,EAAA,KACRhQ,MAAOmO,EACP3H,OAAQwH,GAEVjY,UAAW,GAAGhB,OAAOe,EAAW,mBAClB,gBAAoB,MAAO,CACzC0a,YA5GgB,SAAqB1W,GACrCA,EAAM2W,UACN9B,EAAShd,QAAQid,MAAQ9U,EAAM0V,MAAQf,EAAYnJ,WACnDqJ,EAAShd,QAAQkd,EAAI,EACrBG,GAAU,GACVlV,EAAMyL,gBACR,EAuGE3U,IAAKyd,EACLtY,UAAW,IAAW,GAAGhB,OAAOe,EAAW,uBAAuB,OAAgB,CAAC,EAAG,GAAGf,OAAOe,EAAW,6BAA8BiZ,IACzInU,MAAO,CACLoF,MAAO,GAAGjL,OAAOqZ,EAAgB,MACjCsC,UAAW,eAAe3b,OAAO0Z,EAAYnJ,WAAY,gBAG/D,EACA,SAA4B,aAAiBsI,oBCvGlC+C,GAAiB,WAGxBC,GAAa,GAGbC,GAAsB,CAAC,EAC3B,SAASC,KACP,MAAO,SACT,CACA,SAAS,GAAMC,EAAYngB,GACzB,IAAID,GAAQ,OAAc,CACxBqN,OAAQ,MACRlI,UAAW6a,GACXK,UAAWF,IACVC,GACCjb,EAAYnF,EAAMmF,UACpBC,EAAYpF,EAAMoF,UAClByI,EAAe7N,EAAM6N,aACrB5D,EAAQjK,EAAMiK,MACdjD,EAAOhH,EAAMgH,KACbqG,EAASrN,EAAMqN,OACfiT,EAAStgB,EAAMsgB,OACfpN,EAAclT,EAAMkT,YACpB3I,EAAYvK,EAAMuK,UAClBf,EAAQxJ,EAAMwJ,MACd+W,EAASvgB,EAAMugB,OACfC,EAAUxgB,EAAMwgB,QAChBC,EAAUzgB,EAAMygB,QAChBC,EAAK1gB,EAAM0gB,GACXC,EAAa3gB,EAAM2gB,WACnBC,EAAa5gB,EAAM4gB,WACnBP,EAAYrgB,EAAMqgB,UAClB1S,EAAQ3N,EAAM2N,MACdsI,EAAcjW,EAAMiW,YACpBnC,EAAW9T,EAAM8T,SACjB+M,EAAgB7gB,EAAM6gB,cACtB7I,EAAmBhY,EAAMgY,iBACzB8I,EAAe9gB,EAAM8gB,aACrBC,EAAS/gB,EAAM+gB,OACfC,EAAoBhhB,EAAMghB,kBAC1BC,EAASjhB,EAAMihB,OACfC,EAAsBlhB,EAAM4G,aAC5BA,QAAuC,IAAxBsa,GAAwCA,EACrDC,GAAana,GAAQiZ,GACrBmB,KAAYD,GAAW1V,OACvB4V,GAAmBR,IAAkBvgB,EAWrCgS,GAAe,eAAkB,SAAUrL,EAAMqa,GACnD,OAAO,EAAApa,EAAA,GAAS0Z,EAAY3Z,IAASqa,CACvC,GAAG,CAACV,IACAhU,GAAY,WAAc,WAC5B,MAAsB,mBAAXS,EACFA,EAEF,SAAU/H,GAKf,OAJUA,GAAUA,EAAO+H,EAK7B,CACF,GAAG,CAACA,IACAkU,GAAsBjP,GAAa,CAAC,SAGpCkP,GCtIS,WACb,IAAIvgB,EAAkB,YAAgB,GACpCkd,GAAmB,OAAeld,EAAiB,GACnDyH,EAAWyV,EAAiB,GAC5BsD,EAActD,EAAiB,GAC7Bhc,EAAmB,YAAgB,GACrCuf,GAAmB,OAAevf,EAAkB,GACpDwG,EAAS+Y,EAAiB,GAC1BC,EAAYD,EAAiB,GAK/B,MAAO,CAAChZ,EAAUC,EAJJ,eAAkB,SAAUiZ,EAAOC,GAC/CJ,EAAYG,GACZD,EAAUE,EACZ,GAAG,IAEL,CDwHkBC,GACdC,IAAa,OAAeP,GAAW,GACvC9Y,GAAWqZ,GAAW,GACtBpZ,GAASoZ,GAAW,GACpBjZ,GAAUiZ,GAAW,GAGnBC,GEvIS,SAAmBhiB,EAAOmhB,EAAYvU,GACnD,IAAIqV,EhBJC,SAA4BjiB,GACjC,IAEIkiB,EAFA3T,EAAavO,EAAMuO,WACrB4T,GAAyB,OAAyBniB,EAAO,IAe3D,OAHgC,KAT9BkiB,EADE,eAAgBliB,GACT,QAAc,OAAc,CAAC,EAAGmiB,GAAyB5T,GAOzD4T,GAEAC,mBACTF,EAAO9R,uBAAyB,GAE3B8R,CACT,CgBdyBG,CAAmBriB,GACtCsQ,EAAa2R,EAAiB3R,WAChCgS,EAAkBL,EAAiBK,gBACnCC,EAAyBN,EAAiBM,uBAC1CC,EAAuBP,EAAiBO,qBACxC1R,EAAoBmR,EAAiBnR,kBACrCrB,EAAWwS,EAAiBxS,SAC5BgT,EAAuBR,EAAiBQ,qBAEtCC,EAAmBpS,GAAcd,GACjCmT,EAFmBV,EAAiBvV,oBAEa,WACjDc,EAAiB,WAAc,WACjC,OAAIsD,EACK,SAWL9Q,EAAMuO,YAAcvO,EAAM6gB,gBAAkBvgB,GAAkBN,EAAMuO,WAAWqU,wBAA0BzB,EAAW9U,MAAK,SAAU/G,GACrI,OAAOA,GAA8B,YAApB,OAAQA,IAAwBA,EAAOqd,EAC1D,MACS,MAIX,GAAG,GAAG7R,EAAmBqQ,IACrBlgB,EAAkB,YAAe,WACjC,OAAIshB,IAGAC,ErBrBH,SAA6Bxb,EAAM4F,EAAWF,GACnD,IAAI5I,EAAO,GAQX,OAPA,SAAS+e,EAAIrW,IACVA,GAAQ,IAAIhL,SAAQ,SAAU2L,EAAMzH,GACnC5B,EAAKO,KAAKuI,EAAUO,EAAMzH,IAC1Bmd,EAAI1V,EAAKT,GACX,GACF,CACAmW,CAAI7b,GACGlD,CACT,CqBYegf,CAAoB3B,EAAYvU,EAAW+V,GAE7C,GACT,IACAxE,GAAmB,OAAeld,EAAiB,GACnD8hB,EAAoB5E,EAAiB,GACrC6E,EAAuB7E,EAAiB,GACtC8E,EAAqB,WAAc,WACrC,OAAO,IAAI7hB,IAAIkhB,GAAmBS,GAAqB,GACzD,GAAG,CAACT,EAAiBS,IACjBtV,EAAkB,eAAkB,SAAUnI,GAChD,IACI4d,EADAjhB,EAAM2K,EAAUtH,EAAQ6b,EAAWvI,QAAQtT,IAE3C6d,EAASF,EAAmBnW,IAAI7K,GAChCkhB,GACFF,EAAmB1gB,OAAON,GAC1BihB,GAAkB,QAAmBD,IAErCC,EAAkB,GAAG9e,QAAO,QAAmB6e,GAAqB,CAAChhB,IAEvE+gB,EAAqBE,GACjBzT,GACFA,GAAU0T,EAAQ7d,GAEhBmd,GACFA,EAAqBS,EAEzB,GAAG,CAACtW,EAAWqW,EAAoB9B,EAAY1R,EAAUgT,IAQzD,MAAO,CAACR,EAAkBzU,EAAgByV,EAAoBP,EAAkBC,EAA0BlV,EAC5G,CF6DmB2V,CAAUpjB,EAAOmhB,GAAYvU,IAC5CyW,IAAc,OAAerB,GAAY,GACzCC,GAAmBoB,GAAY,GAC/B7V,GAAiB6V,GAAY,GAC7BJ,GAAqBI,GAAY,GACjCX,GAAmBW,GAAY,GAC/BV,GAA2BU,GAAY,GACvC5V,GAAkB4V,GAAY,GAG5BC,GAAUhD,aAAuC,EAASA,EAAOpC,EACjEjd,GAAkB,WAAe,GACnCkd,IAAmB,OAAeld,GAAiB,GACnDiO,GAAiBiP,GAAiB,GAClCoF,GAAoBpF,GAAiB,GACnCqF,GAAc,IAAW,QAAc,QAAc,OAAc,CAAC,EAAGxjB,GAAQiiB,IAAmB,CAAC,EAAG,CACtG1T,aAAc0T,GAAiBnR,kBAC/BmH,YAAagK,GAAiBhK,YAC9BtL,aAAcsW,GACdrW,UAAWA,GAEXa,gBAAiBA,GACjB6C,WAAYoS,GACZtS,sBAAuB6R,GAAiB7R,sBACxC7F,UAAWA,EACX4N,YAAakJ,IAAoBN,GAA6B,iBAAZuC,GAAuBA,GAAU,KACnFlL,YAAalJ,KACXmS,GAAmBrJ,EAAmB,MAC1CyL,IAAe,OAAeD,GAAa,GAC3C5f,GAAU6f,GAAa,GACvBlY,GAAiBkY,GAAa,GAC9BC,GAAiBD,GAAa,GAC9BrK,GAAcqK,GAAa,GACzBE,GAAgBD,SAAuDA,GAAiBJ,GACxFM,GAAgB,WAAc,WAChC,MAAO,CACLhgB,QAASA,GACT2H,eAAgBA,GAEpB,GAAG,CAAC3H,GAAS2H,KAGTsY,GAAe,WACfC,GAAkB,WAClB1G,GAAgB,WAChB2G,GAAyB,WAC7B,sBAA0B9jB,GAAK,WAC7B,MAAO,CACL+jB,cAAeH,GAAa7iB,QAC5BijB,SAAU,SAAkB/B,GAC1B,IAAIgC,EjCvKqBrjB,EiCwKzB,GAAIuc,GAAcpc,mBAAmBmjB,YAAa,CAEhD,IAAIze,EAAQwc,EAAOxc,MACjBkQ,EAAMsM,EAAOtM,IACb3T,EAAMigB,EAAOjgB,IACf,GjC5KgB,iBADOpB,EiC6KF+U,IjC5KQwO,OAAOC,MAAMxjB,GiCiLnC,CACL,IAAIsc,EACAjZ,EAAYjC,QAAiCA,EAAM2K,GAAUuU,GAAWzb,IACoC,QAA/GyX,EAAyBC,GAAcpc,QAAQsjB,cAAc,kBAAmBlgB,OAAOF,EAAW,cAAgD,IAA3BiZ,GAAqCA,EAAuBoH,gBACtL,KAT2B,CACzB,IAAIrH,EACgD,QAAnDA,EAAwBE,GAAcpc,eAA+C,IAA1Bkc,GAAoCA,EAAsB+G,SAAS,CAC7HrO,IAAKA,GAET,CAKF,MAAgE,QAApDsO,EAAyB9G,GAAcpc,eAAgD,IAA3BkjB,GAAqCA,EAAuBD,UAElI7G,GAAcpc,QAAQijB,SAAS/B,EAEnC,EAEJ,IAGA,IA+CIsC,GACAC,GACAC,GAjDAC,GAAmB,WACnBxiB,GAAmB,YAAe,GACpCuf,IAAmB,OAAevf,GAAkB,GACpDyiB,GAAalD,GAAiB,GAC9BmD,GAAgBnD,GAAiB,GAC/BoD,GAAmB,YAAe,GACpCC,IAAmB,OAAeD,GAAkB,GACpDE,GAAcD,GAAiB,GAC/BE,GAAiBF,GAAiB,GAChCpH,GAAkB7C,GAAe,IAAIoK,KACvCrH,IAAmB,OAAeF,GAAiB,GACnDwH,GAAatH,GAAiB,GAC9BuH,GAAmBvH,GAAiB,GAIlCwH,GADW1hB,EAAc4H,IACA2B,KAAI,SAAUsE,GACzC,OAAO2T,GAAWje,IAAIsK,EACxB,IACIwB,GAAY,WAAc,WAC5B,OAAOqS,EACT,GAAG,CAACA,GAAclhB,KAAK,OACnBmG,GL5ON,SAA0B0I,EAAWzH,EAAgBhB,GAwBnD,OAvBoB,IAAA+K,UAAQ,WAC1B,IAAIgQ,EAAc/Z,EAAeE,OAC7B8Z,EAAa,SAAoBC,EAAYC,EAAUC,GAGzD,IAFA,IAAIC,EAAU,GACVhP,EAAQ,EACH5J,EAAIyY,EAAYzY,IAAM0Y,EAAU1Y,GAAK2Y,EAC5CC,EAAQthB,KAAKsS,GACTpL,EAAewB,GAAGrC,QACpBiM,GAAS3D,EAAUjG,IAAM,GAG7B,OAAO4Y,CACT,EACIC,EAAeL,EAAW,EAAGD,EAAa,GAC1CO,EAAaN,EAAWD,EAAc,GAAI,GAAI,GAAGQ,UACrD,MAAqB,QAAdvb,EAAsB,CAC3BrC,KAAM2d,EACN1d,MAAOyd,GACL,CACF1d,KAAM0d,EACNzd,MAAO0d,EAEX,GAAG,CAAC7S,EAAWzH,EAAgBhB,GAEjC,CKmNsB,CAAiByI,GAAWzH,GAAgBhB,GAC5DyE,GAAYsR,GAAUhc,EAAcgc,EAAOyF,GAC3C5W,GAAgBmR,GAAUhc,EAAcqf,KAAkBnN,QAAQyL,GAAiBvX,OACnFuE,GAAYE,IAAiB5D,GAAec,MAAK,SAAUzL,GAE7D,OADYA,EAAK8J,KAEnB,IAGIsb,GAAY,WACZC,GNnPS,SAAmBhF,EAAQ9b,GACxC,IAAIvE,EAA2B,YAApB,OAAQqgB,GAAuBA,EAAS,CAAC,EAClDiF,EAAoBtlB,EAAKulB,aACzBA,OAAqC,IAAtBD,EAA+B,EAAIA,EAClDE,EAAqBxlB,EAAKylB,cAC1BA,OAAuC,IAAvBD,EAAgC,EAAIA,EACpDE,EAAoB1lB,EAAKyc,aACzBA,OAAqC,IAAtBiJ,EAA+B,EAAIA,EAClDC,EAAoB3lB,EAAK4lB,aAIvBlJ,QAHmC,IAAtBiJ,EAA+B,WAC5C,OAAOxK,EACT,EAAIwK,MAC4BxK,GAC9BxV,IAAa0a,EACjB,OAAO,WAAc,WACnB,MAAO,CACL1a,SAAUA,EACVsN,gBAAiBtN,EAAW,GAAGnC,OAAOe,EAAW,kBAAoB,GACrEghB,aAAcA,EACdE,cAAeA,EACfhJ,aAAcA,EACdC,UAAWA,EAEf,GAAG,CAAC/W,EAAU8W,EAAc8I,EAAcE,EAAelhB,EAAWmY,GACtE,CM2NmBmJ,CAAUxF,EAAQ9b,GACjCoB,GAAW0f,GAAW1f,SACtB4f,GAAeF,GAAWE,aAC1BE,GAAgBJ,GAAWI,cAC3BhJ,GAAe4I,GAAW5I,aAC1BxJ,GAAkBoS,GAAWpS,gBAC7ByJ,GAAY2I,GAAW3I,UAGrBoJ,GAAc,WAAc,WAC9B,OAAOlG,aAAyC,EAASA,EAAQW,GACnE,GAAG,CAACX,EAASW,KACTwF,IAAa3X,IAAazI,KAA0B,iBAAqBmgB,KAAgBA,GAAYE,OAAS,GAAWF,GAAY1mB,MAAM0K,MAM3IsE,KACFyV,GAAe,CACboC,UAAWzF,GAAU,SAAW,OAChC0F,UAAWxG,EAAOyF,IAGlB5W,KACFqV,GAAe,CACbuC,UAAW,QAKR/X,KACHyV,GAAe,CACboC,UAAW,WAGfnC,GAAmB,CACjBrV,OAAyB,IAAlBsU,GAAyB,OAASA,GACzCtQ,SAAU,SAGd,IAAI5B,GAAiB,eAAkB,SAAUD,EAAWnC,IACtD,EAAA2X,EAAA,GAAUnD,GAAa7iB,UACzBokB,IAAiB,SAAU6B,GACzB,GAAIA,EAAO/f,IAAIsK,KAAenC,EAAO,CACnC,IAAI6X,EAAY,IAAIhC,IAAI+B,GAExB,OADAC,EAAUC,IAAI3V,EAAWnC,GAClB6X,CACT,CACA,OAAOD,CACT,GAEJ,GAAG,IACCG,GPvQC,SAAwBrM,GAC7B,IAAIsM,GAAW,IAAApM,QAAuB,MAClCqM,GAAa,IAAArM,UACjB,SAASsM,IACPtb,OAAOub,aAAaF,EAAWtmB,QACjC,CAeA,OAHA,IAAAsa,YAAU,WACR,OAAOiM,CACT,GAAG,IACI,CAdP,SAAkBE,GAChBJ,EAASrmB,QAAUymB,EACnBF,IACAD,EAAWtmB,QAAUiL,OAAOyb,YAAW,WACrCL,EAASrmB,QAAU,KACnBsmB,EAAWtmB,aAAUN,CACvB,GAAG,IACL,EACA,WACE,OAAO2mB,EAASrmB,OAClB,EAKF,COkPwB2mB,GACpBC,IAAmB,OAAeR,GAAiB,GACnDS,GAAkBD,GAAiB,GACnCE,GAAkBF,GAAiB,GACrC,SAASG,GAAYpT,EAAYsH,GAC1BA,IAGiB,mBAAXA,EACTA,EAAOtH,GACEsH,EAAOtH,aAAeA,IAC/BsH,EAAOtH,WAAaA,EAIhBsH,EAAOtH,aAAeA,GACxB+S,YAAW,WACTzL,EAAOtH,WAAaA,CACtB,GAAG,IAGT,CACA,IAAIqT,IAAmB,QAAS,SAAU9lB,GACxC,IAMM+lB,EANFxT,EAAgBvS,EAAMuS,cACxBE,EAAazS,EAAMyS,WACjBuT,EAAsB,QAAd3d,EACR4d,EAAyC,iBAAfxT,EAA0BA,EAAaF,EAAcE,WAC/EyT,EAAgB3T,GAAiByL,GAChC4H,MAAqBA,OAAsBM,IAE9CP,GAAgBO,GAChBL,GAAYI,EAAkBrE,GAAgB9iB,SAC9C+mB,GAAYI,EAAkB/K,GAAcpc,SAC5C+mB,GAAYI,EAAkBxD,GAAiB3jB,SAC/C+mB,GAAYI,EAA+D,QAA5CF,EAAqBjC,GAAUhlB,eAA4C,IAAvBinB,OAAgC,EAASA,EAAmB1I,gBAEjJ,IAAI8I,EAAgB5T,GAAiBqP,GAAgB9iB,QACrD,GAAIqnB,EAAe,CACjB,IAAIlQ,EAEJkJ,IAAoBN,GAAmC,iBAAlB4C,GAA6BA,GAAgB0E,EAAclQ,YAC5FC,EAAciQ,EAAcjQ,YAEhC,GAAID,IAAgBC,EAGlB,OAFAyM,IAAc,QACdI,IAAe,GAGbiD,GACFrD,IAAesD,EAAmBhQ,EAAcC,GAChD6M,IAAgBkD,EAAmB,KAEnCtD,GAAcsD,EAAmB,GACjClD,GAAekD,EAAmBhQ,EAAcC,GAEpD,CACF,IACIkQ,IAAe,QAAS,SAAU9T,GACpCwT,GAAiBxT,GACjBV,SAA4CA,EAASU,EACvD,IACI+T,GAAkB,WAElB,IAAIC,EADFrZ,IAAiBiO,GAAcpc,QAEjCgnB,GAAiB,CACfvT,eAAe,SAAO2I,GAAcpc,SACpC2T,WAAiE,QAApD6T,EAAyBpL,GAAcpc,eAAgD,IAA3BwnB,OAAoC,EAASA,EAAuB7T,cAG/IkQ,IAAc,GACdI,IAAe,GAEnB,EAgBIwD,GAAU,UAAa,GAC3B,aAAgB,WAGVA,GAAQznB,SACVunB,IAEJ,GAAG,CAACpZ,GAAenI,EAAMpD,GAAQ6H,SACjC,aAAgB,WACdgd,GAAQznB,SAAU,CACpB,GAAG,IAGH,IAAI0nB,GAAmB,WAAe,GACpCC,IAAmB,OAAeD,GAAkB,GACpD3Z,GAAgB4Z,GAAiB,GACjCC,GAAmBD,GAAiB,GAClCE,GAAmB,YAAe,GACpCC,IAAoB,OAAeD,GAAkB,GACrDniB,GAAgBoiB,GAAkB,GAClCC,GAAmBD,GAAkB,GAEvC,aAAgB,WvBzYX,IAAwB/c,EAAWid,EuB0YjCjI,GAAWM,KACVjE,GAAcpc,mBAAmBioB,QACnCL,IAAiB,OAAuBxL,GAAcpc,SAASqO,OAE/DuZ,IAAiB,OAAuB7E,GAAuB/iB,SAASqO,QAG5E0Z,IvBjZ2Bhd,EuBiZK,WvBjZMid,EuBiZM,SvBhZzClnB,MAAMC,QAAQgK,GAGZD,EAAmBC,GAbF,SAA6BA,EAAWlL,GAChE,IAAKiL,EAAmBC,GACtB,OAAO,EAET,IAAImd,EAAMhd,SAASid,cAAc,OAC7BC,EAASF,EAAIjf,MAAM8B,GAEvB,OADAmd,EAAIjf,MAAM8B,GAAalL,EAChBqoB,EAAIjf,MAAM8B,KAAeqd,CAClC,CAGWC,CAAoBtd,EAAWid,IuBgZxC,GAAG,IAGH,aAAgB,WACV3H,IAAoBP,IACtBA,EAAajE,KAAK7b,QAAUoc,GAAcpc,QAE9C,IAMA,IA6BIsoB,GA7BAC,GAAyB,eAAkB,SAAUC,GACvD,OAAoB,gBAAoB,WAAgB,KAAmB,gBAAoB,GAAQA,GAAqC,QAAd7C,IAAoC,gBAAoB,EAAQ6C,EAAsB9C,IACtN,GAAG,CAACC,GAAWD,KACX+C,GAAyB,eAAkB,SAAUD,GACvD,OAAoB,gBAAoB,EAAQA,EAAsB9C,GACxE,GAAG,CAACA,KAGAzS,GAAiB3B,GAAa,CAAC,SAAU,SAGzCoX,GAAoB,WAAc,WACpC,OAAIxW,IAMAjE,GACuB,gBAAlB0U,GAAkC,OAAS,QAEhD3U,IAAazI,IAAYgF,GAAec,MAAK,SAAU1H,GAEzD,OADeA,EAAMM,QAEvB,IACS,QAEF,OACT,GAAG,CAAC+J,GAAWC,GAAW1D,GAAgB2H,EAAa3M,KAInDojB,GAAc,CAChB3W,UAAWA,GACXC,WAAY1H,GAAeE,OAC3BnB,cAAeA,GACf2L,YAAaA,EACbjH,UAAWA,GACXsR,OAAQA,GAIN/N,GAAY,WAAc,WAC5B,OAAI6O,GACK,KAEgB,mBAAdf,EACFA,IAEFA,CACT,GAAG,CAACe,GAASf,IAGTuJ,GAAyB,gBAAoB,GAAM,CACrD5iB,KAAMma,GACN9O,mBAAoBrD,IAAaG,IAAiB5I,KAEhDsjB,GAA4B,gBAAoB,GAAU,CAC5D7W,UAAWzH,GAAe2B,KAAI,SAAUtI,GAEtC,OADYA,EAAMyK,KAEpB,IACAzL,QAAS2H,KAEPue,GAAiBrJ,QAAyD,gBAAoB,UAAW,CAC3Grb,UAAW,GAAGhB,OAAOe,EAAW,aAC/Bsb,QAAW/f,EACVqpB,IAAY,EAAAC,EAAA,GAAUhqB,EAAO,CAC/BgH,MAAM,IAEJijB,IAAY,EAAAD,EAAA,GAAUhqB,EAAO,CAC/BkqB,MAAM,IAER,GAAIlb,IAAazI,GAAU,CAEzB,IAAI4jB,GAC+B,mBAAxB5I,IACT4I,GAAc5I,GAAoBJ,GAAY,CAC5CpS,cAAeA,GACf9O,IAAKmd,GACLtJ,SAAUkU,KAEZ2B,GAAY3W,UAAYzH,GAAe2B,KAAI,SAAUkd,EAAO1kB,GAC1D,IAAI2J,EAAQ+a,EAAM/a,MACdyK,EAAWpU,IAAU6F,GAAeE,OAAS,EAAI4D,EAAQN,GAAgBM,EAC7E,MAAwB,iBAAbyK,GAA0BsK,OAAOC,MAAMvK,GAM3C,EALEA,CAMX,KAEAqQ,GAA2B,gBAAoB,MAAO,CACpDlgB,OAAO,QAAc,OAAc,CAAC,EAAGua,IAAeC,IACtD3Q,SAAUwU,GACVroB,IAAKmd,GACLhY,UAAW,IAAW,GAAGhB,OAAOe,EAAW,WAC7B,gBAAoB8O,IAAgB,OAAS,CAC3DhK,OAAO,QAAc,OAAc,CAAC,EAAGya,IAAmB,CAAC,EAAG,CAC5DxR,YAAawW,MAEdO,IAAYH,GAAgBD,GAAcD,IAAYjD,IAAaD,IAA4B,gBAAoB,EAAQ,CAC5Hpc,cAAeA,GACfiB,eAAgBA,IACfmb,MAIL,IAAI2D,IAAmB,QAAc,QAAc,OAAc,CAC/D3W,QAASyN,GAAW1V,OACpBsI,iBAAkB5E,IAAmC,gBAAlBwU,IAClCgG,IAAc/F,IAAgB,CAAC,EAAG,CACnCrZ,UAAWA,EACXsJ,gBAAiBA,GACjBC,SAAUkU,KAEZsB,GAA8B,gBAAoB,WAAgB,MAAqB,IAAf3I,GAAqC,gBAAoB,IAAa,OAAS,CAAC,EAAG0J,GAAkB,CAC3K1W,gBAAiBwS,GACjB/gB,UAAW,GAAGhB,OAAOe,EAAW,WAChClF,IAAK6jB,KACHyF,IAAyBY,GAAaxD,IAA2B,QAAdA,IAAoC,gBAAoB,IAAa,OAAS,CAAC,EAAG0D,GAAkB,CACzJzW,mBAAoByS,GACpBjhB,UAAW,GAAGhB,OAAOe,EAAW,YAChClF,IAAK0kB,KACH8E,IAAyBljB,IAAY6W,GAAcpc,SAAWoc,GAAcpc,mBAAmBioB,SAAwB,gBAAoB,GAAiB,CAC9JhpB,IAAK+lB,GACL3I,aAAcA,GACdD,cAAeA,GACftJ,SAAUkU,GACV1K,UAAWA,KAEf,MAEEgM,GAA8B,gBAAoB,MAAO,CACvDrf,OAAO,QAAc,OAAc,CAAC,EAAGua,IAAeC,IACtDrf,UAAW,IAAW,GAAGhB,OAAOe,EAAW,aAC3C2O,SAAUkU,GACV/nB,IAAKmd,IACS,gBAAoBnJ,IAAgB,OAAS,CAC3DhK,OAAO,QAAc,OAAc,CAAC,EAAGya,IAAmB,CAAC,EAAG,CAC5DxR,YAAawW,MAEdO,IAAYH,GAAgBD,IAA6B,IAAflJ,GAAqC,gBAAoB,IAAQ,OAAS,CAAC,EAAGgJ,GAAa/F,KAAiBgG,GAAWlD,IAA4B,gBAAoB,EAAQ,CAC1Npc,cAAeA,GACfiB,eAAgBA,IACfmb,MAEL,IAAI4D,GAAyB,gBAAoB,OAAO,OAAS,CAC/DllB,UAAW,IAAWD,EAAWC,GAAW,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,OAAgB,CAAC,EAAG,GAAGhB,OAAOe,EAAW,QAAuB,QAAdoF,GAAsB,GAAGnG,OAAOe,EAAW,cAAeyf,IAAa,GAAGxgB,OAAOe,EAAW,eAAgB6f,IAAc,GAAG5gB,OAAOe,EAAW,iBAAkC,UAAhB+N,GAA0B,GAAG9O,OAAOe,EAAW,iBAAkB6J,IAAY,GAAG5K,OAAOe,EAAW,iBAAkB8J,IAAY,GAAG7K,OAAOe,EAAW,wBAAyB8J,IAAamK,IAAc,GAAGhV,OAAOe,EAAW,sBAAuBgK,IAAgB,GAAG/K,OAAOe,EAAW,iBAAkBoG,GAAe,IAAMA,GAAe,GAAGb,OAAQ,GAAGtG,OAAOe,EAAW,kBAAmBoG,GAAeA,GAAeE,OAAS,IAA0D,UAApDF,GAAeA,GAAeE,OAAS,GAAGf,QACz2BT,MAAOA,EACPyW,GAAIA,EACJzgB,IAAK4jB,IACJkG,IAAYvgB,GAAsB,gBAAoB,GAAO,CAC9DpE,UAAW,GAAGhB,OAAOe,EAAW,WAC/BqE,EAAM2X,KAA2B,gBAAoB,MAAO,CAC7DlhB,IAAK8jB,GACL3e,UAAW,GAAGhB,OAAOe,EAAW,eAC/BmkB,IAAiB/I,GAAuB,gBAAoB,GAAO,CACpEnb,UAAW,GAAGhB,OAAOe,EAAW,YAC/Bob,EAAOY,MACNhS,KACFmb,GAAyB,gBAAoB,IAAgB,CAC3DC,SA/NoB,SAA2B9lB,GACjD,IAAI+lB,EACAnb,EAAQ5K,EAAM4K,MAC4B,QAA7Cmb,EAAsBxE,GAAUhlB,eAA6C,IAAxBwpB,GAAkCA,EAAoB1L,wBAC5G,IAAI2L,EAAc5G,GAAa7iB,QAAU6iB,GAAa7iB,QAAQ2Q,YAActC,EACxEgS,IAAoBL,GAAqB6C,GAAa7iB,UACxDypB,EAAczJ,EAAkB6C,GAAa7iB,QAASypB,IAAgBA,GAEpEA,IAAgBvb,KAClBqZ,KACAhF,GAAkBkH,GAEtB,GAoNKH,KAEL,IAAIna,GGvlBS,SAAsB5E,EAAgBjB,EAAeC,GAClE,IAAI4F,EAAgB5E,EAAe2B,KAAI,SAAU6L,EAAG/I,GAClD,OAAO7F,EAAiB6F,EAAUA,EAAUzE,EAAgBjB,EAAeC,EAC7E,IACA,OAAO,QAAQ,WACb,OAAO4F,CACT,GAAG,CAACA,IAAgB,SAAU7I,EAAMC,GAClC,QAAQ,EAAA7E,EAAA,GAAQ4E,EAAMC,EACxB,GACF,CH8kBsBmjB,CAAanf,GAAgBjB,GAAeC,GAC5DogB,GAAoB,WAAc,WACpC,MAAO,CAELrH,QAASK,GAETxe,UAAWA,EACXmN,aAAcA,GACdvD,cAAeA,GACfxE,UAAWA,EACX4F,cAAeA,GACf5J,SAAUA,GACVG,cAAeA,GACfwI,eAAgBA,GAChBF,UAAWA,GACXC,UAAWA,GACXE,cAAeA,GAEf+D,YAAawW,GACb7b,aAAcA,EACdgD,qBAAsBoR,GAAiBpR,qBACvCP,WAAYoS,GACZlV,eAAgBA,GAChBI,iBAAkBqU,GAAiBrU,iBACnCkD,kBAAmBmR,GAAiBnR,kBACpCrD,gBAAiBA,GACjB2C,sBAAuB6R,GAAiB7R,sBACxCC,WAAY4R,GAAiB5R,WAC7B1J,oBAAqB4E,GAAeT,OAAM,SAAUC,GAClD,MAAqB,SAAdA,EAAIL,KACb,IACA6H,UAAWA,GAEX3O,QAASA,GACT2H,eAAgBA,GAChBkG,eAAgBA,GAEhB7I,cAAeF,GACfG,YAAaF,GACbG,QAASA,GACT4E,cAAeuU,GAAiBvU,cAChCC,MAAOA,EACPf,UAAWA,GACXD,aAAcsW,GACdvW,mBAAoBiW,GACpB/b,aAAcA,GAElB,GAAG,CAEH+c,GAEAxe,EAAWmN,GAAcvD,GAAexE,EAAW4F,GAAe5J,GAAUG,GAAewI,GAAgBF,GAAWC,GAAWE,GAEjIua,GAAmB7b,EAAcoU,GAAiBpR,qBAAsB6R,GAAkBlV,GAAgByU,GAAiBrU,iBAAkBqU,GAAiBnR,kBAAmBrD,GAAiBwU,GAAiB7R,sBAAuB6R,GAAiB5R,WAAYkC,GAEvQ3O,GAAS2H,GAAgBkG,GAEzB/I,GAAUC,GAAQG,GAASmZ,GAAiBvU,cAAeC,EAAOf,GAAWqW,GAAoBN,GAA0B/b,KAC3H,OAAoB,gBAAoB,EAAajG,SAAU,CAC7DE,MAAO8pB,IACNL,GACL,CACA,IAAIM,GAAwB,aAAiB,IAItC,SAASC,GAAS7nB,GACvB,OAAO,EAAc4nB,GAAU5nB,EACjC,CACA,IAAI8nB,GAAiBD,KACrBC,GAAezqB,cAAgBA,EAC/ByqB,GAAexqB,eAAiBA,EAChCwqB,GAAeC,OI5pBf,SAAgBhS,GACd,OAAO,IACT,EJ2pBA+R,GAAeE,YK7pBf,SAAqBjS,GACnB,OAAO,IACT,EL4pBA+R,GAAe7f,QAAUY,EACzB,2BMpqBWof,GAAgB1qB,EAAc,MAC9B2qB,GAAc3qB,EAAc,MC4GvC,SA9FA,SAAqBP,GACnB,IAAI+P,EAAU/P,EAAM+P,QAClBhM,EAAS/D,EAAM+D,OACfiM,EAAWhQ,EAAMgQ,SACjBvD,EAASzM,EAAMyM,OACf/G,EAAQ1F,EAAM0F,MACdV,EAAYhF,EAAMgF,UAClBQ,EAAcxF,EAAMwF,YACpBF,EAAStF,EAAMsF,OACf2E,EAAQjK,EAAMiK,MACd7E,EAAYpF,EAAMoF,UAClB+lB,EAAUnrB,EAAMmrB,QAChBC,EAAYprB,EAAMorB,UAChB7lB,EAASxB,EAAOwB,OAClBtB,EAAYF,EAAOE,UACnBkN,EAAkBpN,EAAOqB,UACzB0U,EAAW/V,EAAOsL,MAElBgc,EADgB,EAAWH,GAAa,CAAC,kBACbG,cAC1Bja,EAAgBtB,GAAaC,EAAShM,EAAQiM,EAAUvD,EAAQ/G,GAClEzD,EAAMmP,EAAcnP,IACpBqJ,EAAY8F,EAAc9F,UAC1B2E,EAAiBmB,EAAcnB,eAC/BC,EAAsBkB,EAAclB,oBAClCob,EAAYpb,EAAoBjG,MAClCshB,EAAwBrb,EAAoBtK,QAC5CA,OAAoC,IAA1B2lB,EAAmC,EAAIA,EACjDC,EAAyBtb,EAAoBrK,QAC7CA,OAAqC,IAA3B2lB,EAAoC,EAAIA,EAKhDC,EArCC,SAAwBzb,EAAUpK,EAASylB,GAEhD,OAAOA,EAAcrb,GADDpK,GAAW,KACmBylB,EAAcrb,IAAa,EAC/E,CAkCuB0b,CADD1b,EAAW,EACoBpK,EAASylB,GAGxDM,EAAe/lB,EAAU,EAAIkU,EAAW2R,EAAiB,EAGzDzhB,GAAc,QAAc,QAAc,OAAc,CAAC,EAAGshB,GAAYrhB,GAAQ,CAAC,EAAG,CACtF2hB,KAAM,OAAOxnB,OAAOqnB,EAAgB,MACpCpc,MAAO,GAAGjL,OAAOqnB,EAAgB,MACjCI,YAAaF,EACbG,cAAe,SAIbC,EAAW,WAAc,WAC3B,OAAIZ,EACKtlB,GAAW,EAEC,IAAZD,GAA6B,IAAZC,GAAiBA,EAAU,CAEvD,GAAG,CAACA,EAASD,EAASulB,IAGlBY,EACF/hB,EAAY8L,WAAa,SAChBqV,IACTnhB,EAAY8H,OAASsZ,aAA6C,EAASA,EAAUvlB,IAEvF,IAAImmB,EAAeD,EAAW,WAC5B,OAAO,IACT,EAAIxmB,EAGA0mB,EAAW,CAAC,EAOhB,OAJgB,IAAZpmB,GAA6B,IAAZD,IACnBqmB,EAASpmB,QAAU,EACnBomB,EAASrmB,QAAU,GAED,gBAAoB,GAAM,OAAS,CACrDR,UAAW,IAAW+L,EAAiB/L,GACvCH,SAAUlB,EAAOkB,SACjBI,MAAOtB,EAAOsB,MACdH,MAAOnB,EAAOsN,SACdrM,UAAWA,EACXG,UAAW4K,EAAQ5K,UACnBlD,IAAKA,EACLqD,OAAQA,EACRI,MAAOA,EACPF,YAAaA,EACbvB,UAAWA,EACXsB,OAAQymB,EACRvmB,iBAAkB1B,EAAO0B,kBACxB6F,EAAW,CACZlF,WAAY6J,EACZ3J,iBAAiB,QAAc,OAAc,CAAC,EAAG4J,GAAsB,CAAC,EAAG,CACzEjG,MAAOD,GACNiiB,KAEP,ECzGA,IAAI,GAAY,CAAC,OAAQ,QAAS,YAAa,SAAU,QAAS,QAAS,aAUvEC,GAAwB,cAAiB,SAAUlsB,EAAOC,GAC5D,IA6BI+Q,EA7BAhK,EAAOhH,EAAMgH,KACftB,EAAQ1F,EAAM0F,MACdN,EAAYpF,EAAMoF,UAClBiI,EAASrN,EAAMqN,OACfpD,EAAQjK,EAAMiK,MACdkiB,EAAQnsB,EAAMmsB,MACdf,EAAYprB,EAAMorB,UAClBpX,GAAY,OAAyBhU,EAAO,IAC1CsF,EAAS0B,EAAK1B,OAChBmH,EAASzF,EAAKyF,OACdjH,EAAcwB,EAAKtB,MACjBe,EAAc,EAAW,EAAc,CAAC,YAAa,iBAAkB,YAAa,iBAAkB,YACxG6c,EAAU7c,EAAY6c,QACtB/X,EAAiB9E,EAAY8E,eAC7BpG,EAAYsB,EAAYtB,UACxB8J,EAAYxI,EAAYwI,UACxBC,EAAiBzI,EAAYyI,eAE7BoD,EADiB,EAAW2Y,GAAe,CAAC,iBAChB3Y,aAC1BvC,EAAU3C,GAAW9H,EAAQ+H,EAAQ3H,EAAO+G,GAC5CiE,EAAe4B,EAAa,CAAC,OAAQ,OAAQ,OAC7CzD,EAAgByD,EAAa,CAAC,OAAQ,QAAS,OAG/CvE,EAAmBgC,EAAQhC,iBAC7BlB,EAAWkD,EAAQlD,SACnBsB,EAAW4B,EAAQ5B,SACnB2C,EAAoBf,EAAQe,kBAC5BD,EAAuBd,EAAQc,qBAEjC,GAAI9C,GAAoBlB,EAAU,CAChC,IAAIyE,EAAgBR,EAAkBxL,EAAQI,EAAO+G,EAAS,EAAGI,GAC7DoE,EAAkBrB,GAA0BiB,EAAsBvL,EAAQI,EAAO+G,GACjFnG,EAAkB,CAAC,EACnB2I,IACF3I,EAAkB,CAChB2D,OAAO,OAAgB,CAAC,EAAG,kBAAmB,GAAG7F,OAAO8K,EAAgB,SAG5E,IAAIkd,EAAa,GAAGhoB,OAAOe,EAAW,sBACtC6L,EAA6B,gBAAoBN,EAAc,CAC7DtL,UAAW,IAAW,GAAGhB,OAAOe,EAAW,iBAAkB,GAAGf,OAAOe,EAAW,wBAAwBf,OAAOqI,EAAS,GAAIwE,IAChH,gBAAoB,EAAM,CACxCjM,UAAW6J,EACX1J,UAAWA,EACXC,UAAW,IAAWgnB,GAAY,OAAgB,CAAC,EAAG,GAAGhoB,OAAOgoB,EAAY,UAAWnd,IACvF3I,gBAAiBA,GAChBgL,GACL,CAGA,IAAI+a,GAAW,QAAc,OAAc,CAAC,EAAGpiB,GAAQ,CAAC,EAAG,CACzDoF,MAAOiU,IAEL6I,IACFE,EAASpkB,SAAW,WACpBokB,EAASP,cAAgB,QAE3B,IAAIQ,EAAuB,gBAAoB5b,GAAc,OAAS,CAAC,EAAGvC,EAAU6F,EAAW,CAC7F,eAAgB3G,EAChBpN,IAAK8N,EAAmB,KAAO9N,EAC/BmF,UAAW,IAAWA,EAAW,GAAGhB,OAAOe,EAAW,QAASgJ,aAA2C,EAASA,EAAS/I,WAAW,OAAgB,CAAC,EAAG,GAAGhB,OAAOe,EAAW,cAAegnB,IAC/LliB,OAAO,QAAc,OAAc,CAAC,EAAGoiB,GAAWle,aAA2C,EAASA,EAASlE,SAC7GsB,EAAe2B,KAAI,SAAUnJ,EAAQiM,GACvC,OAAoB,gBAAoB,GAAa,CACnD/N,IAAK+N,EACLhL,UAAW6J,EACXkB,QAASA,EACThM,OAAQA,EACRiM,SAAUA,EACVvD,OAAQA,EACR/G,MAAOA,EACPF,YAAaA,EACbF,OAAQA,EACR6lB,QAASgB,EACTf,UAAWA,GAEf,KACA,OAAIrd,EACkB,gBAAoB,MAAO,CAC7C9N,IAAKA,GACJqsB,EAAStb,GAEPsb,CACT,IAKA,SAJuB,EAAkBJ,IC3FzC,IAAIK,GAAoB,cAAiB,SAAUvsB,EAAOC,GACxD,IAAI+G,EAAOhH,EAAMgH,KACf8M,EAAW9T,EAAM8T,SACfrN,EAAc,EAAW,EAAc,CAAC,iBAAkB,iBAAkB,YAAa,YAAa,eAAgB,qBAAsB,UAAW,cACzJ8E,EAAiB9E,EAAY8E,eAC7BkG,EAAiBhL,EAAYgL,eAC7B7E,EAAYnG,EAAYmG,UACxBD,EAAelG,EAAYkG,aAC3BxH,EAAYsB,EAAYtB,UACxBuH,EAAqBjG,EAAYiG,mBACjC4W,EAAU7c,EAAY6c,QACtB/Y,EAAY9D,EAAY8D,UACtBiiB,EAAe,EAAWvB,IAC5BhK,EAASuL,EAAavL,OACtBwL,EAAUD,EAAaC,QACvBC,EAAiBF,EAAaE,eAC9Bpa,EAAeka,EAAala,aAC5Bqa,EAAoBH,EAAa1Y,SAG/B8Y,EAAU,WAGVpa,EAAcxF,GAAkBhG,EAAM0F,EAAoBC,EAAcC,GAGxEigB,EAAe,WAAc,WAC/B,IAAIlW,EAAQ,EACZ,OAAOpL,EAAe2B,KAAI,SAAUtM,GAClC,IAAIyO,EAAQzO,EAAKyO,MAGjB,MAAO,CAFCzO,EAAKqB,IAEAoN,EADbsH,GAAStH,EAEX,GACF,GAAG,CAAC9D,IACA8f,EAAgB,WAAc,WAChC,OAAOwB,EAAa3f,KAAI,SAAU4M,GAChC,OAAOA,EAAS,EAClB,GACF,GAAG,CAAC+S,IACJ,aAAgB,WACdA,EAAarrB,SAAQ,SAAUU,GAC7B,IAAIuC,GAAQ,OAAevC,EAAO,GAChCD,EAAMwC,EAAM,GACZ4K,EAAQ5K,EAAM,GAChBgN,EAAexP,EAAKoN,EACtB,GACF,GAAG,CAACwd,IAGJ,sBAA0B5sB,GAAK,WAC7B,IAAI6sB,EACA9qB,EAAM,CACRiiB,SAAU,SAAkB/B,GAC1B,IAAI6K,EACqC,QAAxCA,EAAmBH,EAAQ5rB,eAA0C,IAArB+rB,GAA+BA,EAAiB9I,SAAS/B,EAC5G,EACA8B,cAAyD,QAAzC8I,EAAoBF,EAAQ5rB,eAA2C,IAAtB8rB,OAA+B,EAASA,EAAkB9I,eAc7H,OAZAgJ,OAAOC,eAAejrB,EAAK,aAAc,CACvCkF,IAAK,WACH,IAAIgmB,EACJ,OAAkD,QAAzCA,EAAoBN,EAAQ5rB,eAA2C,IAAtBksB,OAA+B,EAASA,EAAkBC,gBAAgBjP,IAAM,CAC5I,EACAiJ,IAAK,SAAatmB,GAChB,IAAIusB,EACsC,QAAzCA,EAAoBR,EAAQ5rB,eAA2C,IAAtBosB,GAAgCA,EAAkBnJ,SAAS,CAC3G/b,KAAMrH,GAEV,IAEKmB,CACT,IAGA,IAAIqrB,EAAa,SAAoBtpB,EAAQ2B,GAC3C,IAAI4nB,EACAhoB,EAAuD,QAA7CgoB,EAAqB9a,EAAY9M,UAA2C,IAAvB4nB,OAAgC,EAASA,EAAmBhoB,OAC3HkL,EAASzM,EAAOyM,OACpB,GAAIA,EAAQ,CACV,IAAI+c,EACAC,EAAYhd,EAAOlL,EAAQI,GAC/B,OAA0G,QAAlG6nB,EAAqBC,aAA6C,EAASA,EAAU3nB,eAA4C,IAAvB0nB,EAAgCA,EAAqB,CACzK,CACA,OAAO,CACT,EAkGIE,EAAc,WAAc,WAC9B,MAAO,CACLpC,cAAeA,EAEnB,GAAG,CAACA,IAGAqC,EAAe,GAAGtpB,OAAOe,EAAW,UAGpCwoB,EAAmBrb,EAAa,CAAC,OAAQ,YAGzCsb,EAA2B,CAAC,EAQhC,OAPI3M,IACF2M,EAAyB3lB,SAAW,SACpC2lB,EAAyB/X,OAAS,EACV,YAApB,OAAQoL,IAAwBA,EAAO5D,eACzCuQ,EAAyB/X,OAASoL,EAAO5D,eAGzB,gBAAoB6N,GAAYvqB,SAAU,CAC5DE,MAAO4sB,GACO,gBAAoB,KAAa,CAC/CI,YAAY,EACZ5tB,IAAK2sB,EACLznB,UAAW,GAAGf,OAAOspB,EAAc,YACnCI,OAAQ,CACNC,oBAAqBH,GAEvBxoB,UAAWsoB,EACX5b,OAAQ2a,EACRuB,WAAYtB,GAAkB,GAC9B1lB,KAAMwL,EACNyb,QAAS,SAAiB9gB,GACxB,OAAOP,EAAUO,EAAK7H,OACxB,EACAN,UAAW2oB,EACXxV,YAAamL,EACb/Y,UAAWA,EACX2jB,gBAAiB,SAAyBvpB,GACxC,IAAIwpB,EACAjQ,EAAIvZ,EAAMuZ,EACdpK,EAAS,CACPW,cAAyD,QAAzC0Z,EAAoBvB,EAAQ5rB,eAA2C,IAAtBmtB,OAA+B,EAASA,EAAkBnK,cAC3HrP,WAAYuJ,GAEhB,EACApK,SAAU6Y,EACVyB,YAlJgB,SAAqBC,GACrC,IAAIzM,EAAQyM,EAAKzM,MACfC,EAAMwM,EAAKxM,IACXyM,EAAUD,EAAKC,QACfC,EAAUF,EAAKE,QAGjB,GAAI1M,EAAM,EACR,OAAO,KAmBT,IAfA,IAAI2M,EAAsBjjB,EAAegL,QAEzC,SAAUxS,GACR,OAAqC,IAA9BspB,EAAWtpB,EAAQ6d,EAC5B,IACI4D,EAAa5D,EACb7K,EAAQ,SAAehK,GAIzB,KAHAyhB,EAAsBA,EAAoBjY,QAAO,SAAUxS,GACzD,OAAiC,IAA1BspB,EAAWtpB,EAAQgJ,EAC5B,KACyBtB,OAEvB,OADA+Z,EAAazY,EACN,CAEX,EACSA,EAAI6U,EAAO7U,GAAK,IACnBgK,EAAMhK,GADgBA,GAAK,GAoBjC,IAfA,IAAI0hB,EAAqBljB,EAAegL,QAExC,SAAUxS,GACR,OAAmC,IAA5BspB,EAAWtpB,EAAQ8d,EAC5B,IACI4D,EAAW5D,EACX6M,EAAS,SAAgBnV,GAI3B,KAHAkV,EAAqBA,EAAmBlY,QAAO,SAAUxS,GACvD,OAAkC,IAA3BspB,EAAWtpB,EAAQwV,EAC5B,KACwB9N,OAEtB,OADAga,EAAWzL,KAAKC,IAAIV,EAAK,EAAGsI,GACrB,CAEX,EACStI,EAAKsI,EAAKtI,EAAK/G,EAAY/G,SAC9BijB,EAAOnV,GAD+BA,GAAM,GAmBlD,IAdA,IAAIoV,EAAY,GACZC,EAAS,SAAgBjV,GAI3B,IAHWnH,EAAYmH,GAIrB,OAAO,EAELpO,EAAec,MAAK,SAAUtI,GAChC,OAAOspB,EAAWtpB,EAAQ4V,GAAO,CACnC,KACEgV,EAAUtqB,KAAKsV,EAEnB,EACSA,EAAM6L,EAAY7L,GAAO8L,EAAU9L,GAAO,EAC7CiV,EAAOjV,GA0Bb,OAtBYgV,EAAUzhB,KAAI,SAAUxH,GAClC,IAAIyH,EAAOqF,EAAY9M,GACnB2H,EAAST,EAAUO,EAAK7H,OAAQI,GAOhCmpB,EAAWP,EAAQjhB,GACvB,OAAoB,gBAAoB,GAAU,CAChDpL,IAAKyD,EACLsB,KAAMmG,EACNE,OAAQA,EACR3H,MAAOA,EACPuE,MAAO,CACL2L,KAAM2Y,EAAUM,EAASjZ,KAE3BuW,OAAO,EACPf,UAhBc,SAAmBvlB,GACjC,IAAIipB,EAAeppB,EAAQG,EAAU,EACjCkpB,EAAaniB,EAAU4F,EAAYsc,GAAcxpB,OAAQwpB,GACzDD,EAAWP,EAAQjhB,EAAQ0hB,GAC/B,OAAOF,EAAShZ,OAASgZ,EAASjZ,GACpC,GAaF,GAEF,IAqDG,SAAUzI,EAAMzH,EAAOspB,GACxB,IAAI3hB,EAAST,EAAUO,EAAK7H,OAAQI,GACpC,OAAoB,gBAAoB,GAAU,CAChDsB,KAAMmG,EACNE,OAAQA,EACR3H,MAAOA,EACPuE,MAAO+kB,EAAU/kB,OAErB,IACF,IAKA,SAJmB,EAAkBsiB,ICjPrC,IAAI0C,GAAa,SAAoBC,EAASlvB,GAC5C,IAAIC,EAAMD,EAAMC,IACd6T,EAAW9T,EAAM8T,SACnB,OAAoB,gBAAoB,GAAM,CAC5C7T,IAAKA,EACL+G,KAAMkoB,EACNpb,SAAUA,GAEd,EACA,SAASqb,GAAanvB,EAAOC,GAC3B,IAAI+G,EAAOhH,EAAMgH,KACfpD,EAAU5D,EAAM4D,QAChB0c,EAAStgB,EAAMsgB,OACfW,EAASjhB,EAAMihB,OACfmO,EAAmBpvB,EAAMmF,UACzBA,OAAiC,IAArBiqB,EAA8BpP,GAAiBoP,EAC3DhqB,EAAYpF,EAAMoF,UAClBsnB,EAAiB1sB,EAAM0sB,eACvB9L,EAAa5gB,EAAM4gB,WACnB9M,EAAW9T,EAAM8T,SACflT,EAAO0f,GAAU,CAAC,EACpBgD,EAAU1iB,EAAKsd,EACfuO,EAAU7rB,EAAKmlB,EAGM,iBAAZzC,IAITA,EAAU,GAIW,iBAAZmJ,IACTA,EAAU,KAKZ,IAAIna,GAAe,SAAS,SAAUrL,EAAMqa,GAC1C,OAAO,EAAApa,EAAA,GAAS0Z,EAAY3Z,IAASqa,CACvC,IAGI0G,GAAmB,QAASlU,GAG5BzS,EAAU,WAAc,WAC1B,MAAO,CACL4f,OAAQA,EACRwL,QAASA,EACTC,eAAgBA,EAChBpa,aAAcA,EACdwB,SAAUkU,EAEd,GAAG,CAAC/G,EAAQwL,EAASC,EAAgBpa,EAAc0V,IAGnD,OAAoB,gBAAoBiD,GAActqB,SAAU,CAC9DE,MAAOQ,GACO,gBAAoB,IAAO,OAAS,CAAC,EAAGrB,EAAO,CAC7DoF,UAAW,IAAWA,EAAW,GAAGhB,OAAOe,EAAW,aACtDmb,QAAQ,QAAc,OAAc,CAAC,EAAGA,GAAS,CAAC,EAAG,CACnDpC,EAAGoF,IAEL1C,YAAY,QAAc,OAAc,CAAC,EAAGA,GAAa,CAAC,EAAG,CAE3D/D,KAAM7V,SAAoCA,EAAKyE,OAASwjB,QAAavuB,IAEvEkD,QAASA,EACTid,cAAevgB,EACfygB,QAAQ,EACR9gB,IAAKA,KAET,CACA,IAAIovB,GAA+B,aAAiBF,IAI7C,SAASG,GAAgBtsB,GAC9B,OAAO,EAAcqsB,GAAiBrsB,EACxC,CACessB,iFCxFX,GAAY,CAAC,YAAa,YAAa,QAAS,UAAW,WAAY,iBAAkB,OAAQ,QAAS,YAKnGC,IAAwB,IAAAC,aAAW,SAAUxvB,EAAOC,GAC7D,IAAImvB,EAAmBpvB,EAAMmF,UAC3BA,OAAiC,IAArBiqB,EAA8B,cAAgBA,EAC1DhqB,EAAYpF,EAAMoF,UAClB6E,EAAQjK,EAAMiK,MACdwlB,EAAUzvB,EAAMyvB,QAChBC,EAAW1vB,EAAM0vB,SACjBC,EAAwB3vB,EAAM4vB,eAC9BA,OAA2C,IAA1BD,GAA2CA,EAC5DE,EAAc7vB,EAAM4mB,KACpBA,OAAuB,IAAhBiJ,EAAyB,WAAaA,EAC7CrmB,EAAQxJ,EAAMwJ,MACdsmB,EAAW9vB,EAAM8vB,SACjBC,GAAa,OAAyB/vB,EAAO,IAC3CgwB,GAAW,IAAA/U,QAAO,MAClBgV,GAAY,IAAAhV,QAAO,MACnBiV,GAAkB,QAAeN,EAAgB,CACjD/uB,MAAO4uB,IAETU,GAAmB,OAAeD,EAAiB,GACnDE,EAAWD,EAAiB,GAC5BE,EAAcF,EAAiB,IACjC,IAAAG,qBAAoBrwB,GAAK,WACvB,MAAO,CACLswB,MAAO,SAAeC,GACpB,IAAIC,EACuC,QAA1CA,EAAoBT,EAAShvB,eAA2C,IAAtByvB,GAAgCA,EAAkBF,MAAMC,EAC7G,EACAE,KAAM,WACJ,IAAIC,EACwC,QAA3CA,EAAqBX,EAAShvB,eAA4C,IAAvB2vB,GAAiCA,EAAmBD,MAC1G,EACAE,MAAOZ,EAAShvB,QAChBgjB,cAAeiM,EAAUjvB,QAE7B,IACA,IAAI6vB,EAAc,IAAW1rB,EAAWC,GAAW,QAAgB,OAAgB,CAAC,EAAG,GAAGhB,OAAOe,EAAW,YAAairB,GAAW,GAAGhsB,OAAOe,EAAW,aAAcuqB,IAsBvK,OAAoB,gBAAoB,OAAQ,CAC9CtqB,UAAWyrB,EACXrnB,MAAOA,EACPS,MAAOA,EACPhK,IAAKgwB,GACS,gBAAoB,SAAS,OAAS,CAAC,EAAGF,EAAY,CACpE3qB,UAAW,GAAGhB,OAAOe,EAAW,UAChClF,IAAK+vB,EACLF,SA7BiB,SAAsBtb,GACnCkb,IAGE,YAAa1vB,GACjBqwB,EAAY7b,EAAEyH,OAAOwT,SAEvBK,SAA4CA,EAAS,CACnD7T,QAAQ,QAAc,OAAc,CAAC,EAAGjc,GAAQ,CAAC,EAAG,CAClD4mB,KAAMA,EACN6I,QAASjb,EAAEyH,OAAOwT,UAEpB9f,gBAAiB,WACf6E,EAAE7E,iBACJ,EACAiF,eAAgB,WACdJ,EAAEI,gBACJ,EACAkc,YAAatc,EAAEsc,cAEnB,EAUEpB,SAAUA,EACVD,UAAWW,EACXxJ,KAAMA,KACU,gBAAoB,OAAQ,CAC5CxhB,UAAW,GAAGhB,OAAOe,EAAW,YAEpC,IACA,mDCnFA,MAAM4rB,GAAeC,IACnB,MAAM,aACJC,EAAY,aACZC,GACEF,EACJ,MAAO,CACL,CAACC,GAAe,CACdhpB,SAAU,WACVkpB,WAAY,cACZrF,cAAe,OACfsF,UAAW,aACXC,MAAO,qBAAqBH,KAC5BI,UAAW,uBACXC,QAAS,GAET,uBAAwB,CACtBC,WAAY,CAAC,mBAAmBR,EAAMS,oBAAqB,cAAcT,EAAMS,qBAAqBttB,KAAK,KACzG,WAAY,CACVmtB,UAAW,yBACXC,QAAS,GAEX,eAAgB,CACdC,WAAY,CAAC,cAAcR,EAAMU,sBAAsBV,EAAMW,kBAAmB,WAAWX,EAAMU,sBAAsBV,EAAMW,mBAAmBxtB,KAAK,QAI5J,EAEH,IAAe,SAAsB,QAAQ6sB,GAAS,CAACD,GAAaC,sBC5B7D,MAAMY,GAAa,GAAG,wBCSzBC,uCAJAC,IAAY,OAAc,CAAC,EAAG,GAC9BC,GAAUD,GAAUC,QACtBC,GAAcF,GAAUvsB,OACxB0sB,GAAyBH,GAAUG,uBAErC,IACoB7N,QAAQ2N,IAAW,IAAIG,MAAM,KAAK,KACjC,KACjBL,GAAaC,GAAUD,WAE3B,CAAE,MAAOrd,GAET,CACA,SAAS2d,GAAcC,GACrB,IAAIC,EAAqDP,GAAUO,mDAC/DA,GAAsH,YAAhE,OAAQA,KAChEA,EAAmDC,sBAAwBF,EAE/E,CACA,IAAIG,GAAO,oBA8BX,SAASC,GAAcC,GACrB,OAAOC,GAAe9jB,MAAM+jB,KAAMlkB,UACpC,CACA,SAASikB,KAgBP,OAfAA,IAAiB,SAAgC,UAAsB3rB,MAAK,SAAS6rB,EAAQtV,GAC3F,OAAO,UAAsBuV,MAAK,SAAkBC,GAClD,cAAkBA,EAASxrB,KAAOwrB,EAASvrB,MACzC,KAAK,EACH,OAAOurB,EAASC,OAAO,SAAUtX,QAAQC,UAAUC,MAAK,WACtD,IAAIqX,EACoC,QAAvCA,EAAkB1V,EAAUiV,WAAuC,IAApBS,GAA8BA,EAAgBC,iBACvF3V,EAAUiV,GACnB,KACF,KAAK,EACL,IAAK,MACH,OAAOO,EAASI,OAEtB,GAAGN,EACL,MACsBhkB,MAAM+jB,KAAMlkB,UACpC,CACA,SAAS0kB,GAAc7V,GACrB2U,GAAuB3U,EACzB,CAWA,SAAS8V,KAkBP,OAjBAA,IAAW,SAAgC,UAAsBrsB,MAAK,SAASssB,EAAS/V,GACtF,OAAO,UAAsBuV,MAAK,SAAmBS,GACnD,cAAkBA,EAAUhsB,KAAOgsB,EAAU/rB,MAC3C,KAAK,EACH,QAAqB7G,IAAfmxB,GAA2B,CAC/ByB,EAAU/rB,KAAO,EACjB,KACF,CACA,OAAO+rB,EAAUP,OAAO,SAAUP,GAAclV,IAClD,KAAK,EACH6V,GAAc7V,GAChB,KAAK,EACL,IAAK,MACH,OAAOgW,EAAUJ,OAEvB,GAAGG,EACL,MACgBzkB,MAAM+jB,KAAMlkB,UAC9B,CC5GO,SAAS8kB,GAAiBlC,GAC/B,OAAOA,GAAmB,SAAVA,GAA8B,YAAVA,GAAiC,uBAAVA,GAA4C,2BAAVA,IAAuC,wBAAwBmC,KAAKnC,IAEvJ,gBAAVA,CACF,CCMA,SAASoC,GAAY5yB,GACnB,OAAOujB,OAAOC,MAAMxjB,GAAS,EAAIA,CACnC,CACA,MAAM6yB,GAAa1zB,IACjB,MAAM,UACJoF,EAAS,OACT6W,EAAM,UACNjX,GACEhF,EACE2zB,EAAS,SAAa,OACrBtC,EAAOuC,GAAgB,WAAe,OACtCC,EAAcC,GAAmB,WAAe,KAChD5rB,EAAM6rB,GAAW,WAAe,IAChCne,EAAKoe,GAAU,WAAe,IAC9B3kB,EAAO4kB,GAAY,WAAe,IAClCniB,EAAQoiB,GAAa,WAAe,IACpCC,EAASC,GAAc,YAAe,GACvCC,EAAY,CAChBnsB,OACA0N,MACAvG,QACAyC,SACA+hB,aAAcA,EAAa3mB,KAAIonB,GAAU,GAAGA,QAAYnwB,KAAK,MAK/D,SAASowB,IACP,MAAMC,EAAYC,iBAAiBxY,GAEnC2X,EDnCG,SAA4Bpc,GACjC,MAAM,eACJkd,EAAc,YACdC,EAAW,gBACXC,GACEH,iBAAiBjd,GACrB,OAAI+b,GAAiBmB,GACZA,EAELnB,GAAiBoB,GACZA,EAELpB,GAAiBqB,GACZA,EAEF,IACT,CCmBiBC,CAAmB5Y,IAChC,MAAM6Y,EAAkC,WAAvBN,EAAUvsB,UAErB,gBACJ8sB,EAAe,eACfC,GACER,EACJT,EAAQe,EAAW7Y,EAAOgZ,WAAaxB,IAAapc,WAAW0d,KAC/Df,EAAOc,EAAW7Y,EAAOiZ,UAAYzB,IAAapc,WAAW2d,KAC7Df,EAAShY,EAAOtK,aAChBuiB,EAAUjY,EAAOgD,cAEjB,MAAM,oBACJkW,EAAmB,qBACnBC,EAAoB,uBACpBC,EAAsB,wBACtBC,GACEd,EACJV,EAAgB,CAACqB,EAAqBC,EAAsBE,EAAyBD,GAAwBnoB,KAAIonB,GAAUb,GAAYpc,WAAWid,MACpJ,CAqBA,GA9CIjD,IACFgD,EAAU,gBAAkBhD,GAyB9B,aAAgB,KACd,GAAIpV,EAAQ,CAGV,MAAMyE,GAAK,EAAAnC,GAAA,IAAI,KACbgW,IACAH,GAAW,EAAK,IAGlB,IAAImB,EAKJ,MAJ8B,oBAAnBC,iBACTD,EAAiB,IAAIC,eAAejB,GACpCgB,EAAeE,QAAQxZ,IAElB,KACLsC,GAAA,EAAIC,OAAOkC,GACX6U,SAAgEA,EAAeG,YAAY,CAE/F,IACC,KACEvB,EACH,OAAO,KAET,MAAMwB,GAAkC,aAAd3wB,GAA0C,UAAdA,KAA2BiX,aAAuC,EAASA,EAAO2Z,UAAUC,SAASjE,KAC3J,OAAoB,gBAAoB,MAAW,CACjDkE,SAAS,EACTC,cAAc,EACdC,WAAY,cACZC,eAAgB,IAChBC,YAAa,CAACnd,EAAG5P,KACf,IAAIgtB,EACJ,GAAIhtB,EAAMitB,UAAmC,YAAvBjtB,EAAMktB,aAA4B,CACtD,MAAM30B,EAAmC,QAAzBy0B,EAAKxC,EAAO3yB,eAA4B,IAAPm1B,OAAgB,EAASA,EAAGG,eFN9E,SAAiBC,GACtB,OAAOnD,GAASxkB,MAAM+jB,KAAMlkB,UAC9B,EEKQwkB,CAAQvxB,GAAQia,MAAK,KACnBja,SAAgDA,EAAO4a,QAAQ,GAEnE,CACA,OAAO,CAAK,IAEb,CAAC1b,EAAMX,KACR,IACEmF,UAAWoxB,GACT51B,EACJ,OAAoB,gBAAoB,MAAO,CAC7CX,KAAK,QAAW0zB,EAAQ1zB,GACxBmF,UAAW,IAAWA,EAAWoxB,EAAiB,CAChD,aAAcb,IAEhB1rB,MAAOoqB,GACP,GACF,EAqBJ,GAnBuB,CAACpY,EAAQoS,KAC9B,IAAI8H,EACJ,MAAM,UACJnxB,GACEqpB,EAEJ,GAAkB,aAAdrpB,KAAuE,QAAxCmxB,EAAKla,EAAOqI,cAAc,gBAA6B,IAAP6R,OAAgB,EAASA,EAAG1G,SAC7G,OAGF,MAAM/tB,EAASwK,SAASid,cAAc,OF5EjC,IAAgB3R,EAAM8F,EE6E3B5b,EAAOuI,MAAMhC,SAAW,WACxBvG,EAAOuI,MAAM/B,KAAO,MACpBxG,EAAOuI,MAAM2L,IAAM,MACnBqG,SAAgDA,EAAOwa,aAAa/0B,EAAQua,aAAuC,EAASA,EAAOya,YFhF9Glf,EEiFD,gBAAoBkc,GAAY1G,OAAO2J,OAAO,CAAC,EAAGtI,EAAM,CAC1EpS,OAAQA,KFlFiBqB,EEmFtB5b,EFlFDmwB,GAlBN,SAAsBra,EAAM8F,GAC1B6U,IAAc,GACd,IAAIyE,EAAOtZ,EAAUiV,KAASV,GAAWvU,GACzC6U,IAAc,GACdyE,EAAKrxB,OAAOiS,GACZ8F,EAAUiV,IAAQqE,CACpB,CAaIC,CAAarf,EAAM8F,GAZvB,SAAsB9F,EAAM8F,GAC1B0U,GAAYxa,EAAM8F,EACpB,CAaEwZ,CAAatf,EAAM8F,EE8EP,ECxEd,GAjDatd,IACX,MAAM,SACJc,EAAQ,SACR4uB,EAAQ,UACR1qB,GACEhF,GACE,aACJ+2B,IACE,IAAAC,YAAW,OACTC,GAAe,IAAAhc,QAAO,MAEtB9V,EAAY4xB,EAAa,SACxB,CAAEG,GAAU,GAAS/xB,GAEtBgyB,ECfQ,EAACC,EAAShyB,EAAWJ,KACnC,MAAM,KACJqyB,GACE,aAAiB,QACd,CAAErG,EAAOkG,IAAU,WACpBC,GAAW,QAAShuB,IACxB,MAAMqO,EAAO4f,EAAQp2B,QACrB,IAAKq2B,aAAmC,EAASA,EAAK3H,YAAclY,EAClE,OAEF,MAAM8f,EAAa9f,EAAK8M,cAAc,IAAIsN,OAAiBpa,GACrD,WACJ+f,GACEF,GAAQ,CAAC,GAEZE,GAAc,IAAgBD,EAAY,CACzClyB,YACA4rB,QACAhsB,YACAmE,QACA+tB,UACA,IAEEM,EAAQ,WAQd,OANyBruB,IACvBoV,GAAA,EAAIC,OAAOgZ,EAAMx2B,SACjBw2B,EAAMx2B,SAAU,EAAAud,GAAA,IAAI,KAClB4Y,EAAShuB,EAAM,GACf,CAEmB,EDhBN,CAAQ8tB,EAAc,IAAW9xB,EAAW+xB,GAASlyB,GAwBtE,GAtBA,eAAgB,KACd,MAAMwS,EAAOyf,EAAaj2B,QAC1B,IAAKwW,GAA0B,IAAlBA,EAAKigB,UAAkB/H,EAClC,OAGF,MAAMrhB,EAAUmG,MAET,EAAAwS,EAAA,GAAUxS,EAAEyH,UAEhBzE,EAAKkgB,cAAgBlgB,EAAKkgB,aAAa,aAAelgB,EAAKkY,UAAYlY,EAAKpS,UAAUoT,SAAS,aAAehB,EAAKpS,UAAUoT,SAAS,WAGvI2e,EAAS3iB,EAAE,EAIb,OADAgD,EAAK3C,iBAAiB,QAASxG,GAAS,GACjC,KACLmJ,EAAKxC,oBAAoB,QAAS3G,GAAS,EAAK,CACjD,GACA,CAACqhB,KAEe,mBAAqB5uB,GACtC,OAAOA,QAA2CA,EAAW,KAE/D,MAAMb,GAAM,QAAWa,IAAY,QAAWA,EAASb,IAAKg3B,GAAgBA,EAC5E,OAAO,SAAan2B,EAAU,CAC5Bb,OACA,0CEnDJ,MACA,GADkC,kBAAoB,sBCsBtD,MAAM03B,GAAmB,CAAC33B,EAAOC,KAC/B,IAAIk2B,EACJ,MACIhxB,UAAWyyB,EAAkB,UAC7BxyB,EAAS,cACTyyB,EAAa,SACb/2B,EAAQ,cACRg3B,GAAgB,EAAK,MACrB7tB,EAAK,aACLf,EAAY,aACZI,EAAY,UACZyuB,GAAY,EAAK,SACjBrI,GACE1vB,EACJgU,EAnCgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CA4BgBM,CAAOv4B,EAAO,CAAC,YAAa,YAAa,gBAAiB,WAAY,gBAAiB,QAAS,eAAgB,eAAgB,YAAa,cACrJ,aACJ+2B,EAAY,UACZxsB,EAAS,SACTiuB,GACE,aAAiB,OACfC,EAAgB,aAAiB,KACjC,gBACJC,GACE,aAAiB,OACfC,EAAkB,aAAiBC,GAAA,GACnCC,EAA+H,QAA7G1C,GAAMsC,aAAqD,EAASA,EAAc/I,WAAaA,SAA6B,IAAPyG,EAAgBA,EAAKwC,EAC5JG,EAAY,SAAa9kB,EAAUnT,OACnCk4B,EAAc,SAAa,MAC3BC,GAAY,QAAW/4B,EAAK84B,GAKlC,aAAgB,KACdN,SAA8DA,EAAcQ,cAAcjlB,EAAUnT,MAAM,GACzG,IACH,aAAgB,KACd,IAAIk3B,EAQJ,OALI/jB,EAAUnT,QAAUi4B,EAAU93B,UAChCy3B,SAA8DA,EAAcS,YAAYJ,EAAU93B,SAClGy3B,SAA8DA,EAAcQ,cAAcjlB,EAAUnT,OACpGi4B,EAAU93B,QAAUgT,EAAUnT,OAEzB,IAAM43B,aAAqD,EAASA,EAAcS,YAAYllB,EAAUnT,MAAM,GACpH,CAACmT,EAAUnT,QACd,aAAgB,KACd,IAAIs1B,GAC+B,QAA9BA,EAAK4C,EAAY/3B,eAA4B,IAAPm1B,OAAgB,EAASA,EAAGvF,SACrEmI,EAAY/3B,QAAQ4vB,MAAMkH,cAAgBA,EAC5C,GACC,CAACA,IACJ,MAAM3yB,EAAY4xB,EAAa,WAAYa,GACrCuB,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,EAAQoC,IAAa,SAASn0B,EAAWg0B,GACtDI,EAAgBvM,OAAO2J,OAAO,CAAC,EAAG3iB,GACpCykB,IAAkBV,IACpBwB,EAAczJ,SAAW,WACnB9b,EAAU8b,UACZ9b,EAAU8b,SAASlhB,MAAMoF,EAAWvF,WAElCgqB,EAAce,cAChBf,EAAce,aAAa,CACzBC,MAAO34B,EACPD,MAAOmT,EAAUnT,OAGvB,EACA04B,EAAcjtB,KAAOmsB,EAAcnsB,KACnCitB,EAAc9J,QAAUgJ,EAAc53B,MAAM2X,SAASxE,EAAUnT,QAEjE,MAAMgwB,EAAc,IAAW,GAAG1rB,YAAqB,CACrD,CAAC,GAAGA,SAAgC,QAAdoF,EACtB,CAAC,GAAGpF,qBAA8Bo0B,EAAc9J,QAChD,CAAC,GAAGtqB,sBAA+B0zB,EACnC,CAAC,GAAG1zB,0BAAmCuzB,GACtCF,aAA2C,EAASA,EAASpzB,UAAWA,EAAWyyB,EAAeyB,EAAWH,EAASjC,GACnHwC,EAAgB,IAAW,CAC/B,CAAC,GAAGv0B,mBAA4B2yB,GAC/BlG,GAAYsF,GACf,OAAOmC,EAAwB,gBAAoB,GAAM,CACvDr0B,UAAW,WACX0qB,SAAUmJ,GACI,gBAAoB,QAAS,CAC3CzzB,UAAWyrB,EACX5mB,MAAO+iB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG6B,aAA2C,EAASA,EAASvuB,OAAQA,GAC5Gf,aAAcA,EACdI,aAAcA,GACA,gBAAoB,GAAY0jB,OAAO2J,OAAO,CAAC,EAAG4C,EAAe,CAC/Ep0B,UAAWA,EACXC,UAAWs0B,EACXhK,SAAUmJ,EACV54B,IAAK+4B,UACWt4B,IAAbI,GAAuC,gBAAoB,OAAQ,KAAMA,KAAY,EAM5F,GAJ8B,aAAiB62B,oBCpG/C,MAAMgC,GAA6B,cAAiB,CAAC35B,EAAOC,KAC1D,MAAM,aACFO,EAAY,SACZM,EAAQ,QACR0vB,EAAU,GACVrrB,UAAWyyB,EAAkB,UAC7BxyB,EAAS,cACTyyB,EAAa,MACb5tB,EAAK,SACL6lB,GACE9vB,EACJgU,EA3BgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAoBgB,CAAOj4B,EAAO,CAAC,eAAgB,WAAY,UAAW,YAAa,YAAa,gBAAiB,QAAS,cAClH,aACJ+2B,EAAY,UACZxsB,GACE,aAAiB,QACd1J,EAAO+4B,GAAY,WAAe5lB,EAAUnT,OAASL,GAAgB,KACrEq5B,EAAkBC,GAAuB,WAAe,IAC/D,aAAgB,KACV,UAAW9lB,GACb4lB,EAAS5lB,EAAUnT,OAAS,GAC9B,GACC,CAACmT,EAAUnT,QACd,MAAMk5B,EAAc,WAAc,IAAMvJ,EAAQtjB,KAAIkP,GAC5B,iBAAXA,GAAyC,iBAAXA,EAChC,CACLqd,MAAOrd,EACPvb,MAAOub,GAGJA,KACL,CAACoU,IAwBCrrB,EAAY4xB,EAAa,WAAYa,GACrCoC,EAAiB,GAAG70B,UACpBg0B,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,EAAQoC,IAAa,SAASn0B,EAAWg0B,GACtDc,GAAW,QAAKjmB,EAAW,CAAC,QAAS,aACrCkmB,EAAe1J,EAAQ/kB,OAASsuB,EAAY7sB,KAAIkP,GAAwB,gBAAoB,GAAU,CAC1GjX,UAAWA,EACXlD,IAAKma,EAAOvb,MAAM8I,WAClB+lB,SAAU,aAActT,EAASA,EAAOsT,SAAW1b,EAAU0b,SAC7D7uB,MAAOub,EAAOvb,MACd4uB,QAAS5uB,EAAM2X,SAAS4D,EAAOvb,OAC/BivB,SAAU1T,EAAO0T,SACjB1qB,UAAW,GAAG40B,SACd/vB,MAAOmS,EAAOnS,MACdT,MAAO4S,EAAO5S,MACdkX,GAAItE,EAAOsE,GACXyZ,SAAU/d,EAAO+d,UAChB/d,EAAOqd,SAAW34B,EACfO,EAAU,CACdm4B,aApCmBpd,IACnB,MAAMge,EAAcv5B,EAAM+X,QAAQwD,EAAOvb,OACnCw5B,GAAW,QAAmBx5B,IACf,IAAjBu5B,EACFC,EAASh2B,KAAK+X,EAAOvb,OAErBw5B,EAAS3hB,OAAO0hB,EAAa,GAEzB,UAAWpmB,GACf4lB,EAASS,GAEXvK,SAAoDA,EAASuK,EAAS9jB,QAAOhS,GAAOs1B,EAAiBrhB,SAASjU,KAAM+1B,MAAK,CAACC,EAAGC,IAC5GT,EAAYrgB,WAAU+gB,GAAOA,EAAI55B,QAAU05B,IAC3CR,EAAYrgB,WAAU+gB,GAAOA,EAAI55B,QAAU25B,MAEzD,EAsBH35B,QACA6uB,SAAU1b,EAAU0b,SACpBpjB,KAAM0H,EAAU1H,KAEhB2sB,cA5CoB10B,IACpBu1B,GAAoBY,GAAc,GAAGt2B,QAAO,QAAmBs2B,GAAa,CAACn2B,KAAM,EA4CnF20B,YAhDkB30B,IAClBu1B,GAAoBY,GAAcA,EAAWnkB,QAAOokB,GAAKA,IAAMp2B,KAAK,GAiDhEssB,EAAc,IAAWmJ,EAAgB,CAC7C,CAAC,GAAGA,SAAqC,QAAdzvB,GAC1BnF,EAAWyyB,EAAeyB,EAAWH,EAASjC,GACjD,OAAOmC,EAAwB,gBAAoB,MAAOrM,OAAO2J,OAAO,CACtEvxB,UAAWyrB,EACX5mB,MAAOA,GACNgwB,EAAU,CACXh6B,IAAKA,IACU,gBAAoB,GAAaU,SAAU,CAC1DE,MAAOQ,GACN64B,IAAe,IAGpB,MC9GM,GAAW,GACjB,GAASU,MAAQA,GACjB,GAASC,gBAAiB,EAI1B,oDCPIC,GAAMC,GAAA,EAAQD,IAChBE,GAAMD,GAAA,EAAQC,ICkBhB,UApB2B,IAAAxL,aAAW,SAAUxvB,EAAOC,GACrD,IAAIg7B,EAAUj7B,EAAMi7B,QAClBC,EAAQl7B,EAAMk7B,MACd/1B,EAAYnF,EAAMmF,UAChBg2B,GAAc,IAAA7lB,UAAQ,WAOxB,MALuB,mBAAZ2lB,EACQA,IAEAA,CAGrB,GAAG,CAACA,IACAG,GAAc,QAAWn7B,EAAKk7B,aAAiD,EAASA,EAAYl7B,KACxG,OAAoB,kBAAoB,aAAgB,KAAMi7B,GAAsB,kBAAoB,MAAO,CAC7G91B,UAAW,GAAGhB,OAAOe,EAAW,YACjB,iBAAmBg2B,EAAa,CAC/Cl7B,KAAK,QAAWk7B,GAAeC,OAAc16B,IAEjD,ICrBA,IAAI26B,GAAqB,CACvBC,QAAS,EACTC,QAAS,GAEPC,GAAe,CAAC,EAAG,GAuCvB,SAtCiB,CACfC,QAAS,CACPC,OAAQ,CAAC,KAAM,MACfpsB,SAAU+rB,GACV3V,OAAQ,CAAC,GAAI,GACb8V,aAAcA,IAEhB5lB,IAAK,CACH8lB,OAAQ,CAAC,KAAM,MACfpsB,SAAU+rB,GACV3V,OAAQ,CAAC,GAAI,GACb8V,aAAcA,IAEhBG,SAAU,CACRD,OAAQ,CAAC,KAAM,MACfpsB,SAAU+rB,GACV3V,OAAQ,CAAC,GAAI,GACb8V,aAAcA,IAEhBI,WAAY,CACVF,OAAQ,CAAC,KAAM,MACfpsB,SAAU+rB,GACV3V,OAAQ,CAAC,EAAG,GACZ8V,aAAcA,IAEhB3lB,OAAQ,CACN6lB,OAAQ,CAAC,KAAM,MACfpsB,SAAU+rB,GACV3V,OAAQ,CAAC,EAAG,GACZ8V,aAAcA,IAEhBK,YAAa,CACXH,OAAQ,CAAC,KAAM,MACfpsB,SAAU+rB,GACV3V,OAAQ,CAAC,EAAG,GACZ8V,aAAcA,KCpClB,IAAI,GAAY,CAAC,QAAS,YAAa,iBAAkB,YAAa,QAAS,YAAa,aAAc,oBAAqB,aAAc,aAAc,mBAAoB,eAAgB,UAAW,UAAW,YAAa,UAAW,WAAY,mBAQzP,SAASM,GAAS97B,EAAOC,GACvB,IAAI87B,EACAC,EAAeh8B,EAAMk7B,MACvBA,OAAyB,IAAjBc,GAAkCA,EAC1C5M,EAAmBpvB,EAAMmF,UACzBA,OAAiC,IAArBiqB,EAA8B,cAAgBA,EAC1D6M,EAAiBj8B,EAAMi8B,eACvBC,EAAYl8B,EAAMk8B,UAClB72B,EAAQrF,EAAMqF,MACd82B,EAAmBn8B,EAAMo8B,UACzBA,OAAiC,IAArBD,EAA8B,aAAeA,EACzDE,EAAoBr8B,EAAMs8B,WAC1BA,OAAmC,IAAtBD,EAA+B,GAAaA,EACzDE,EAAoBv8B,EAAMu8B,kBAC1BC,EAAax8B,EAAMw8B,WACnBC,EAAaz8B,EAAMy8B,WACnBC,EAAmB18B,EAAM08B,iBACzBC,EAAe38B,EAAM28B,aACrB7G,EAAU91B,EAAM81B,QAChB8G,EAAiB58B,EAAMsC,QACvBA,OAA6B,IAAnBs6B,EAA4B,CAAC,SAAWA,EAClDC,EAAY78B,EAAM68B,UAClB5B,EAAUj7B,EAAMi7B,QAChBn6B,EAAWd,EAAMc,SACjBg8B,EAAkB98B,EAAM88B,gBACxBC,GAAa,OAAyB/8B,EAAO,IAC3CiB,EAAkB,eACpBkd,GAAmB,OAAeld,EAAiB,GACnD+7B,EAAiB7e,EAAiB,GAClC8e,EAAoB9e,EAAiB,GACnC+e,EAAgB,YAAal9B,EAAQ81B,EAAUkH,EAC/CG,EAAa,WAAa,MAC1BC,EAAa,WAAa,MAC1BC,EAAW,WAAa,MAC5B,wBAA0Bp9B,GAAK,WAC7B,OAAOk9B,EAAWn8B,OACpB,IACA,IAAIs8B,EAAsB,SAA6BC,GACrDN,EAAkBM,GAClBT,SAA0DA,EAAgBS,EAC5E,GH/Ca,SAA0B38B,GACvC,IAAIk1B,EAAUl1B,EAAKk1B,QACjBqH,EAAav8B,EAAKu8B,WAClBL,EAAkBl8B,EAAKk8B,gBACvBD,EAAYj8B,EAAKi8B,UACjBO,EAAax8B,EAAKw8B,WAChBI,EAAe,UAAa,GAC5BC,EAAgC,WAEhC,IAAIC,EAAqBC,EADvB7H,IAE6C,QAA9C4H,EAAsBP,EAAWn8B,eAA6C,IAAxB08B,GAA0F,QAAvDC,EAAwBD,EAAoBnN,aAA6C,IAA1BoN,GAAoCA,EAAsBt0B,KAAKq0B,GACxNZ,SAA0DA,GAAgB,GAE9E,EACIc,EAAY,WACd,IAAIC,EACJ,QAAmD,QAA9CA,EAAsBT,EAAWp8B,eAA6C,IAAxB68B,IAAkCA,EAAoBtN,QAC/G6M,EAAWp8B,QAAQuvB,QACnBiN,EAAax8B,SAAU,EAChB,GAGX,EACI88B,EAAgB,SAAuB30B,GACzC,OAAQA,EAAM40B,SACZ,KAAKjD,GACH2C,IACA,MACF,KAAKzC,GAED,IAAIgD,GAAc,EACbR,EAAax8B,UAChBg9B,EAAcJ,KAEZI,EACF70B,EAAMyL,iBAEN6oB,IAKV,EACA,aAAgB,WACd,OAAI3H,GACF7pB,OAAO4I,iBAAiB,UAAWipB,GAC/BjB,IAEF,EAAAte,GAAA,GAAIqf,EAAW,GAEV,WACL3xB,OAAO+I,oBAAoB,UAAW8oB,GACtCN,EAAax8B,SAAU,CACzB,GAEK,WACLw8B,EAAax8B,SAAU,CACzB,CACF,GAAG,CAAC80B,GACN,CGXEmI,CAAiB,CACfnI,QAASoH,EACTC,WAAYE,EACZP,gBAAiBQ,EACjBT,UAAWA,EACXO,WAAYA,IAEd,IA8BMc,EARAC,EACFC,EAhBAC,EAAiB,WACnB,OAAoB,kBAAoB,GAAS,CAC/Cp+B,IAAKm9B,EACLnC,QAASA,EACT91B,UAAWA,EACX+1B,MAAOA,GAEX,EAsBIhB,EAA4B,iBAAmBp5B,EAAU,CAC3DsE,UAAW,IAAkD,QAAtC22B,EAAkBj7B,EAASd,aAAuC,IAApB+7B,OAA6B,EAASA,EAAgB32B,UAAW83B,IAPlIgB,EAAgBl+B,EAAMk+B,mBACJx9B,IAAlBw9B,EACKA,EAEF,GAAG95B,OAAOe,EAAW,WAI5BlF,KAAK,QAAWa,IAAY,QAAWu8B,EAAUv8B,EAASb,UAAOS,IAE/D49B,EAAoB7B,EAIxB,OAHK6B,IAAyD,IAApCh8B,EAAQsW,QAAQ,iBACxC0lB,EAAoB,CAAC,UAEH,kBAAoB,MAAS,OAAS,CACxDC,kBAAmBjC,GAClBS,EAAY,CACb53B,UAAWA,EACXlF,IAAKk9B,EACLqB,eAAgB,IAAW9B,GAAkB,OAAgB,CAAC,EAAG,GAAGt4B,OAAOe,EAAW,eAAgB+1B,IACtGuD,WAAY9B,EACZ+B,OAAQp8B,EACRk6B,WAAYA,EACZC,WAAY6B,EACZK,eAAgBvC,EAChBwC,WAAYv5B,EACZw5B,oBAAqB5C,EACrB6C,eAAgB5C,EAChB6C,aAAc7B,EACd8B,SArCIb,EAA8Bn+B,EAAMm+B,4BACtCC,EAAap+B,EAAMo+B,YACjB,gCAAiCp+B,EAC5Bm+B,GAEDC,GAgCoC,WAAa,IACzDa,MA5CuB,mBAAZhE,EACFoD,EAEFA,IA0CPa,qBAAsB5B,EACtB6B,aA9DY,SAAiB3qB,GAC7B,IAAI4qB,EAAiBp/B,EAAMo/B,eAC3BnC,GAAkB,GACdmC,GACFA,EAAe5qB,EAEnB,EAyDE+nB,kBAAmBA,IACjBrC,EACN,CACA,MC7HA,GD6H4B,eAAiB4B,mEE7HlCuD,GAAyB,gBAAoB,MACjD,SAASC,GAAUC,EAAMC,GAC9B,YAAa9+B,IAAT6+B,EACK,KAEF,GAAGn7B,OAAOm7B,EAAM,KAAKn7B,OAAOo7B,EACrC,CAKO,SAASC,GAAUD,GAExB,OAAOF,GADE,aAAiBD,IACLG,EACvB,CCbA,IAAI,GAAY,CAAC,WAAY,UAIlBE,GAA2B,gBAAoB,MAW3C,SAASC,GAA2B/+B,GACjD,IAAIE,EAAWF,EAAKE,SAClB8+B,EAASh/B,EAAKg/B,OACd5rB,GAAY,OAAyBpT,EAAM,IACzCS,EAAU,aAAiBq+B,IAC3BG,GAAqB,QAAQ,WAC/B,OAhBgBzW,EAgBE/nB,EAhBM4a,EAgBGjI,EAfzBuG,GAAQ,OAAc,CAAC,EAAG6O,GAC9B4D,OAAOlpB,KAAKmY,GAAQza,SAAQ,SAAUS,GACpC,IAAIpB,EAAQob,EAAOha,QACLvB,IAAVG,IACF0Z,EAAMtY,GAAOpB,EAEjB,IACO0Z,EART,IAAoB6O,EAAQnN,EACtB1B,CAgBJ,GAAG,CAAClZ,EAAS2S,IAAY,SAAU1M,EAAMC,GACvC,QAAQq4B,GAAWt4B,EAAK,KAAOC,EAAK,KAAO,EAAA7E,EAAA,GAAQ4E,EAAK,GAAIC,EAAK,IAAI,GACvE,IACA,OAAoB,gBAAoBm4B,GAAY/+B,SAAU,CAC5DE,MAAOg/B,GACN/+B,EACL,CC5BA,IAAIg/B,GAAY,GAILC,GAAmC,gBAAoB,MAC3D,SAASC,KACd,OAAO,aAAiBD,GAC1B,CAGO,IAAIE,GAAkC,gBAAoBH,IAC1D,SAASI,GAAYV,GAC1B,IAAIW,EAAgB,aAAiBF,IACrC,OAAO,WAAc,WACnB,YAAoBv/B,IAAb8+B,EAAyB,GAAGp7B,QAAO,QAAmB+7B,GAAgB,CAACX,IAAaW,CAC7F,GAAG,CAACA,EAAeX,GACrB,CAIO,IAAIY,GAA+B,gBAAoB,MCpB9D,SADkC,gBAAoB,CAAC,GCCvD,SAASC,GAAU7oB,GACjB,IAAI8oB,EAAkB7xB,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,IAAmBA,UAAU,GACrF,IAAI,EAAAuY,EAAA,GAAUxP,GAAO,CACnB,IAAI+oB,EAAW/oB,EAAK+oB,SAASC,cACzBC,EAEJ,CAAC,QAAS,SAAU,WAAY,UAAUjoB,SAAS+nB,IAEnD/oB,EAAKkpB,mBAEQ,MAAbH,KAAsB/oB,EAAKkgB,aAAa,QAGpCiJ,EAAenpB,EAAKkgB,aAAa,YACjCkJ,EAAcxc,OAAOuc,GAGrBE,EAAW,KAWf,OAVIF,IAAiBvc,OAAOC,MAAMuc,GAChCC,EAAWD,EACFH,GAAmC,OAAbI,IAC/BA,EAAW,GAITJ,GAAsBjpB,EAAKkY,WAC7BmR,EAAW,MAEO,OAAbA,IAAsBA,GAAY,GAAKP,GAAmBO,EAAW,EAC9E,CACA,OAAO,CACT,CC1BA,IAAIC,GAAO/F,GAAA,EAAQ+F,KACjBC,GAAQhG,GAAA,EAAQgG,MAChBC,GAAKjG,GAAA,EAAQiG,GACbC,GAAOlG,GAAA,EAAQkG,KACfC,GAAQnG,GAAA,EAAQmG,MAChB,GAAMnG,GAAA,EAAQD,IACdqG,GAAOpG,GAAA,EAAQoG,KACfC,GAAMrG,GAAA,EAAQqG,IACZC,GAAY,CAACL,GAAIC,GAAMH,GAAMC,IAkF1B,SAASO,GAAqBhkB,EAAWikB,GAE9C,ODjEK,SAA0B/pB,GAC/B,IAAI8oB,EAAkB7xB,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,IAAmBA,UAAU,GACjF+yB,GAAM,QAAmBhqB,EAAKiqB,iBAAiB,MAAMlrB,QAAO,SAAUmrB,GACxE,OAAOrB,GAAUqB,EAAOpB,EAC1B,IAIA,OAHID,GAAU7oB,EAAM8oB,IAClBkB,EAAIhuB,QAAQgE,GAEPgqB,CACT,CCuDaG,CAAiBrkB,GAAW,GAC3B/G,QAAO,SAAU2S,GAC3B,OAAOqY,EAASz0B,IAAIoc,EACtB,GACF,CACA,SAAS0Y,GAAoBC,EAAsBN,EAAUO,GAC3D,IAAIpc,EAASjX,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,EAEjF,IAAKozB,EACH,OAAO,KAIT,IAAIE,EAAoCT,GAAqBO,EAAsBN,GAG/E3qB,EAAQmrB,EAAkCt2B,OAC1Cu2B,EAAaD,EAAkCroB,WAAU,SAAUwP,GACrE,OAAO4Y,IAAqB5Y,CAC9B,IAaA,OAZIxD,EAAS,GACS,IAAhBsc,EACFA,EAAaprB,EAAQ,EAErBorB,GAAc,EAEPtc,EAAS,IAClBsc,GAAc,GAKTD,EAHPC,GAAcA,EAAaprB,GAASA,EAItC,CACO,IAAIqrB,GAAkB,SAAyBn+B,EAAM4c,GAC1D,IAAI6gB,EAAW,IAAIngC,IACf8gC,EAAc,IAAIhd,IAClBid,EAAc,IAAIjd,IAStB,OARAphB,EAAKtC,SAAQ,SAAUS,GACrB,IAAIoS,EAAUnI,SAASoY,cAAc,kBAAkBlgB,OAAOk7B,GAAU5e,EAAIze,GAAM,OAC9EoS,IACFktB,EAASl/B,IAAIgS,GACb8tB,EAAYhb,IAAI9S,EAASpS,GACzBigC,EAAY/a,IAAIllB,EAAKoS,GAEzB,IACO,CACLktB,SAAUA,EACVW,YAAaA,EACbC,YAAaA,EAEjB,EC/IA,IAAIC,GAAa,yBACbC,GAAa,SAAoBC,GACnC,OAAOA,EAAQn+B,KAAKi+B,GACtB,EAIWG,GAAe,eCPX,SAASC,GAAgBC,GACtC,IAAIC,EAAS,SAAaD,GAC1BC,EAAO1hC,QAAUyhC,EACjB,IAAIpmB,EAAW,eAAkB,WAE/B,IADA,IAAIsmB,EACKn0B,EAAOC,UAAUhD,OAAQiD,EAAO,IAAI5M,MAAM0M,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/ED,EAAKC,GAAQF,UAAUE,GAEzB,OAA8C,QAAtCg0B,EAAkBD,EAAO1hC,eAAyC,IAApB2hC,OAA6B,EAASA,EAAgBt5B,KAAKuF,MAAM+zB,EAAiB,CAACD,GAAQt+B,OAAOsK,GAC1J,GAAG,IACH,OAAO+zB,EAAOpmB,OAAW3b,CAC3B,CCdA,IAAIkiC,GAAe5oB,KAAK6oB,SAASC,QAAQ,GAAGn5B,WAAW2O,MAAM,GACzDyqB,GAAa,kDCFF,SAASC,GAAUxD,EAAU9P,EAAUxmB,EAAcI,GAClE,IAAI8B,EAAoB,aAAiBs0B,IACvCuD,EAAY73B,EAAkB63B,UAC9BC,EAAW93B,EAAkB83B,SAC7BC,EAAa/3B,EAAkB+3B,WAC7BC,EAAM,CACRC,OAAQJ,IAAczD,GAoBxB,OAhBK9P,IACH0T,EAAIl6B,aAAe,SAAUo6B,GAC3Bp6B,SAAoDA,EAAa,CAC/DjH,IAAKu9B,EACL8D,SAAUA,IAEZJ,EAAS1D,EACX,EACA4D,EAAI95B,aAAe,SAAUg6B,GAC3Bh6B,SAAoDA,EAAa,CAC/DrH,IAAKu9B,EACL8D,SAAUA,IAEZH,EAAW3D,EACb,GAEK4D,CACT,CC3Be,SAASG,GAAkBC,GACxC,IAAIp4B,EAAoB,aAAiBs0B,IACvC+D,EAAOr4B,EAAkBq4B,KACzBC,EAAMt4B,EAAkBs4B,IACxBC,EAAev4B,EAAkBu4B,aACnC,MAAa,WAATF,EACK,KAGFC,EAAM,CACXE,aAFQJ,EAEYG,GAClB,CACFpzB,YAJQizB,EAIWG,EAEvB,CCde,SAASE,GAAKjjC,GAC3B,IAGIkjC,EAHA1jC,EAAOQ,EAAKR,KACdJ,EAAQY,EAAKZ,MACbc,EAAWF,EAAKE,SAElB,OAAa,OAATV,IAA0B,IAATA,EACZ,MAEW,mBAATA,EACT0jC,EAAwB,gBAAoB1jC,GAAM,OAAc,CAAC,EAAGJ,IAC3C,kBAATI,IAEhB0jC,EAAW1jC,GAEN0jC,GAAYhjC,GAAY,KACjC,CChBA,IAAI,GAAY,CAAC,QAOV,SAASijC,GAAanjC,GAC3B,IAAIuM,EAAOvM,EAAKuM,KACd62B,GAAW,OAAyBpjC,EAAM,IAO5C,OANAosB,OAAOC,eAAe+W,EAAU,OAAQ,CACtC98B,IAAK,WAEH,OADA,EAAA+8B,EAAA,KAAQ,EAAO,uHACR92B,CACT,IAEK62B,CACT,CCTA,IAAI,GAAY,CAAC,QAAS,YAAa,cACrC,GAAa,CAAC,QAAS,YAAa,WAAY,UAAW,WAAY,WAAY,WAAY,OAAQ,eAAgB,eAAgB,UAAW,YAAa,WAC/JE,GAAa,CAAC,UAmBZC,GAA8B,SAAUC,IAC1C,QAAUD,EAAgBC,GAC1B,IAAIC,GAAS,QAAaF,GAC1B,SAASA,IAEP,OADA,QAAgBxR,KAAMwR,GACfE,EAAOz1B,MAAM+jB,KAAMlkB,UAC5B,CAuBA,OAtBA,QAAa01B,EAAgB,CAAC,CAC5BliC,IAAK,SACLpB,MAAO,WACL,IAAIyjC,EAAc3R,KAAK3yB,MACrBwJ,EAAQ86B,EAAY96B,MACpB+6B,EAAYD,EAAYC,UACxBC,EAAaF,EAAYE,WACzBxwB,GAAY,OAAyBswB,EAAa,IAMhDG,GAAc,QAAKzwB,EAAW,CAAC,WAAY,iBAAkB,cAAe,iBAEhF,OADA,EAAAiwB,EAAA,KAASM,EAAW,2EACA,gBAAoB,KAASG,MAAM,OAAS,CAAC,EAAGH,EAAW,CAC7E/6B,MAAwB,iBAAVA,EAAqBA,OAAQ9I,GAC1C+jC,EAAa,CACdxkC,IAAKukC,IAET,KAEKL,CACT,CA9BkC,CA8BhC,aAIEQ,GAAgC,cAAiB,SAAU3kC,EAAOC,GACpE,IAAIgK,EAAQjK,EAAMiK,MAChB7E,EAAYpF,EAAMoF,UAClBo6B,EAAWx/B,EAAMw/B,SAEjB9P,GADU1vB,EAAM4kC,QACL5kC,EAAM0vB,UACjBmV,EAAW7kC,EAAM6kC,SACjB/jC,EAAWd,EAAMc,SACjBgkC,EAAO9kC,EAAM8kC,KACb57B,EAAelJ,EAAMkJ,aACrBI,EAAetJ,EAAMsJ,aACrB+E,EAAUrO,EAAMqO,QAChB02B,EAAY/kC,EAAM+kC,UAClBC,EAAUhlC,EAAMglC,QAChBhxB,GAAY,OAAyBhU,EAAO,IAC1CilC,EAAYxF,GAAUD,GACtBp0B,EAAoB,aAAiBs0B,IACvCv6B,EAAYiG,EAAkBjG,UAC9B+/B,EAAc95B,EAAkB85B,YAChCvM,EAAkBvtB,EAAkBskB,SACpCyV,EAAmB/5B,EAAkB+5B,iBACrCC,EAAkBh6B,EAAkBy5B,SACpCQ,EAAej6B,EAAkBi6B,aACjCnC,EAAW93B,EAAkB83B,SAE7BoC,EADuB,aAAiB,IACKA,wBAC3CC,EAAU,GAAGnhC,OAAOe,EAAW,SAC/BqgC,EAAoB,WACpBhB,EAAa,WACb3L,EAAiBF,GAAmBjJ,EACpC+V,GAAe,QAAcxlC,EAAKukC,GAClCkB,EAAgBxF,GAAYV,GAQ5BmG,EAAe,SAAsBnxB,GACvC,MAAO,CACLvS,IAAKu9B,EAEL8C,SAAS,QAAmBoD,GAAe5f,UAC3C3Y,KAAMq4B,EAAkBxkC,QACxBsiC,SAAU9uB,EAEd,EAGIoxB,EAAiBf,GAAYO,EAG7BS,EAAa7C,GAAUxD,EAAU3G,EAAgB3vB,EAAcI,GACjE+5B,EAASwC,EAAWxC,OACpByC,GAAc,OAAyBD,EAAY3B,IAGjD6B,EAAWV,EAAa7sB,SAASgnB,GAGjCwG,EAAiBzC,GAAkBmC,EAAcj6B,QAgCjDw6B,EAAkB,CAAC,EACJ,WAAfjmC,EAAM8kC,OACRmB,EAAgB,iBAAmBF,GAErC,IAAIG,EAA0B,gBAAoB/B,IAAgB,OAAS,CACzElkC,IAAKulC,EACLhB,WAAYiB,EACZX,KAAe,OAATA,EAAgB,OAASA,GAAQ,WACvCjE,SAAUnR,EAAW,MAAQ,EAC7B,eAAgByV,GAAoBF,EAAY,KAAOA,IACtD,QAAKjxB,EAAW,CAAC,UAAW8xB,EAAaG,EAAiB,CAC3DjhC,UAAW,KACX,gBAAiB0qB,EACjBzlB,OAAO,QAAc,OAAc,CAAC,EAAG+7B,GAAiB/7B,GACxD7E,UAAW,IAAWmgC,GAAS,QAAgB,QAAgB,OAAgB,CAAC,EAAG,GAAGnhC,OAAOmhC,EAAS,WAAYlC,GAAS,GAAGj/B,OAAOmhC,EAAS,aAAcQ,GAAW,GAAG3hC,OAAOmhC,EAAS,aAAc1M,GAAiBzzB,GACzNiJ,QA5CoB,SAAyBmG,GAC7C,IAAIqkB,EAAJ,CAGA,IAAIxK,EAAOsX,EAAanxB,GACxBnG,SAA0CA,EAAQ01B,GAAa1V,IAC/D6W,EAAY7W,EAHZ,CAIF,EAsCE0W,UArCsB,SAA2BvwB,GAEjD,GADAuwB,SAA8CA,EAAUvwB,GACpDA,EAAE2xB,QAAUpL,GAAA,EAAQmG,MAAO,CAC7B,IAAI7S,EAAOsX,EAAanxB,GAGxBnG,SAA0CA,EAAQ01B,GAAa1V,IAC/D6W,EAAY7W,EACd,CACF,EA6BE2W,QAvBoB,SAAyBxwB,GAC7C0uB,EAAS1D,GACTwF,SAA0CA,EAAQxwB,EACpD,IAqBI1T,EAAuB,gBAAoB+iC,GAAM,CACnD7jC,OAAO,QAAc,OAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjDomC,WAAYL,IAEd3lC,KAAMwlC,KAOR,OALIN,IACFY,EAAaZ,EAAwBY,EAAYlmC,EAAO,CACtD+lC,SAAUA,KAGPG,CACT,IACA,SAASG,GAASrmC,EAAOC,GACvB,IAAIu/B,EAAWx/B,EAAMw/B,SAGjB8G,EAAUtG,KACVuG,EAAmBrG,GAAYV,GAWnC,OARA,aAAgB,WACd,GAAI8G,EAEF,OADAA,EAAQE,aAAahH,EAAU+G,GACxB,WACLD,EAAQG,eAAejH,EAAU+G,EACnC,CAEJ,GAAG,CAACA,IACAD,EACK,KAIW,gBAAoB3B,IAAkB,OAAS,CAAC,EAAG3kC,EAAO,CAC5EC,IAAKA,IAET,CACA,SAA4B,aAAiBomC,ICnN7C,IAAI,GAAY,CAAC,YAAa,YAI1BK,GAAsB,SAA6B9lC,EAAMX,GAC3D,IAAImF,EAAYxE,EAAKwE,UACnBtE,EAAWF,EAAKE,SAChBkT,GAAY,OAAyBpT,EAAM,IACzCwK,EAAoB,aAAiBs0B,IACvCv6B,EAAYiG,EAAkBjG,UAC9Bs+B,EAAOr4B,EAAkBq4B,KACzBC,EAAMt4B,EAAkBs4B,IAC1B,OAAoB,gBAAoB,MAAM,OAAS,CACrDt+B,UAAW,IAAWD,EAAWu+B,GAAO,GAAGt/B,OAAOe,EAAW,QAAS,GAAGf,OAAOe,EAAW,QAAS,GAAGf,OAAOe,EAAW,KAAKf,OAAgB,WAATq/B,EAAoB,SAAW,YAAar+B,GACjL0/B,KAAM,QACL9wB,EAAW,CACZ,kBAAkB,EAClB/T,IAAKA,IACHa,EACN,EACI6lC,GAA2B,aAAiBD,IAChDC,GAAYC,YAAc,cAC1B,YCrBO,SAASC,GAAc/lC,EAAUwhC,GACtC,OAAO,QAAQxhC,GAAUoM,KAAI,SAAUw0B,EAAOh8B,GAC5C,GAAkB,iBAAqBg8B,GAAQ,CAC7C,IAAIoF,EAAWC,EACX9kC,EAAMy/B,EAAMz/B,IACZu9B,EAA+H,QAAnHsH,EAA6C,QAAhCC,EAAerF,EAAM1hC,aAAoC,IAAjB+mC,OAA0B,EAASA,EAAavH,gBAAoC,IAAdsH,EAAuBA,EAAY7kC,EAC/Ju9B,UAEbA,EAAW,WAAWp7B,OAAO,GAAGA,QAAO,QAAmBk+B,GAAU,CAAC58B,IAAQvB,KAAK,OAEpF,IAAI6iC,EAAa,CACf/kC,IAAKu9B,EACLA,SAAUA,GAKZ,OAAoB,eAAmBkC,EAAOsF,EAChD,CACA,OAAOtF,CACT,GACF,CCxBA,IAAI,GAAqB,CACvBpG,QAAS,EACTC,QAAS,GAEA,GAAa,CACtBE,QAAS,CACPC,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZqsB,SAAU,CACRD,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZssB,WAAY,CACVF,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZusB,YAAa,CACXH,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZ23B,QAAS,CACPvL,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZ43B,WAAY,CACVxL,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZ63B,SAAU,CACRzL,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZ83B,YAAa,CACX1L,OAAQ,CAAC,KAAM,MACfpsB,SAAU,KAGH+3B,GAAgB,CACzB5L,QAAS,CACPC,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZqsB,SAAU,CACRD,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZssB,WAAY,CACVF,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZusB,YAAa,CACXH,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZ63B,SAAU,CACRzL,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZ83B,YAAa,CACX1L,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZ23B,QAAS,CACPvL,OAAQ,CAAC,KAAM,MACfpsB,SAAU,IAEZ43B,WAAY,CACVxL,OAAQ,CAAC,KAAM,MACfpsB,SAAU,KCrEP,SAASg4B,GAAU7D,EAAM8D,EAAQC,GACtC,OAAID,IAGAC,EACKA,EAAe/D,IAAS+D,EAAeC,WADhD,EAIF,CCEA,IAAIC,GAAoB,CACtBC,WAAY,aACZC,SAAU,WACV,gBAAiB,WACjB,iBAAkB,WAEL,SAASC,GAAajnC,GACnC,IAAIuE,EAAYvE,EAAKuE,UACnB2wB,EAAUl1B,EAAKk1B,QACfh1B,EAAWF,EAAKE,SAChBm+B,EAAQr+B,EAAKq+B,MACbR,EAAa79B,EAAK69B,WAClBD,EAAiB59B,EAAK49B,eACtBsJ,EAAclnC,EAAKknC,YACnBpY,EAAW9uB,EAAK8uB,SAChB+T,EAAO7iC,EAAK6iC,KACZ3G,EAAkBl8B,EAAKk8B,gBACrB1xB,EAAoB,aAAiBs0B,IACvCnD,EAAoBnxB,EAAkBmxB,kBACtCmH,EAAMt4B,EAAkBs4B,IACxBqE,EAAmB38B,EAAkB28B,iBACrCC,EAAoB58B,EAAkB48B,kBACtCzJ,EAAoBnzB,EAAkBmzB,kBACtC0J,EAAuB78B,EAAkB68B,qBACzCC,EAAqB98B,EAAkB88B,mBACvCrQ,EAAgBzsB,EAAkBysB,cAClC0P,EAASn8B,EAAkBm8B,OAC3BC,EAAiBp8B,EAAkBo8B,eACjCvmC,EAAkB,YAAe,GACnCkd,GAAmB,OAAeld,EAAiB,GACnDknC,EAAehqB,EAAiB,GAChCiqB,EAAkBjqB,EAAiB,GACjCie,EAAYsH,GAAM,QAAc,OAAc,CAAC,EAAG2D,IAAgB9I,IAAqB,QAAc,OAAc,CAAC,EAAG,IAAaA,GACpII,EAAiB+I,GAAkBjE,GACnC4E,EAAef,GAAU7D,EAAM8D,EAAQC,GACvCc,EAAkB,SAAaD,GACtB,WAAT5E,IAKF6E,EAAgBtnC,QAAUqnC,GAE5B,IAAIE,GAAe,QAAc,OAAc,CAAC,EAAGD,EAAgBtnC,SAAU,CAAC,EAAG,CAC/EwnC,gBAAiB,GAAGpkC,OAAOe,EAAW,WACtCsjC,eAAe,EACf1S,cAAc,IAIZ2S,EAAa,WASjB,OARA,aAAgB,WAId,OAHAA,EAAW1nC,SAAU,EAAAud,GAAA,IAAI,WACvB6pB,EAAgBtS,EAClB,IACO,WACLvX,GAAA,EAAIC,OAAOkqB,EAAW1nC,QACxB,CACF,GAAG,CAAC80B,IACgB,gBAAoB,KAAS,CAC/C3wB,UAAWA,EACXq5B,eAAgB,IAAW,GAAGp6B,OAAOe,EAAW,WAAW,OAAgB,CAAC,EAAG,GAAGf,OAAOe,EAAW,QAASu+B,GAAMlF,EAAgB3G,GACnImH,QAAkB,eAATyE,EAAwB,WAAa,KAC9ClH,kBAAmBA,EACnBgC,kBAAmBnC,EACnBuC,eAAgBA,EAChBI,aAAcoJ,EACdlJ,MAAOA,EACPR,WAAYA,EACZG,WAAYkJ,GAAe,CACzBpiB,OAAQoiB,GAEVpJ,OAAQhP,EAAW,GAAK,CAACuY,GACzBU,gBAAiBZ,EACjBa,gBAAiBZ,EACjB9I,qBAAsBpC,EACtB+L,YAAaX,EACbY,YAAaP,EACbQ,OAAO,GACNjoC,EACL,CClFe,SAASkoC,GAAkBpoC,GACxC,IAAI8f,EAAK9f,EAAK8f,GACZuoB,EAAOroC,EAAKqoC,KACZ3G,EAAU1hC,EAAK0hC,QACfxhC,EAAWF,EAAKE,SACdooC,EAAY,SACZ99B,EAAoB,aAAiBs0B,IACvCv6B,EAAYiG,EAAkBjG,UAC9B+iC,EAAqB98B,EAAkB88B,mBACvCX,EAASn8B,EAAkBm8B,OAC3BC,EAAiBp8B,EAAkBo8B,eACnC/D,EAAOr4B,EAAkBq4B,KAGvB0F,EAAc,UAAa,GAC/BA,EAAYnoC,QAAUyiC,IAASyF,EAI/B,IAAIjoC,EAAkB,YAAgBkoC,EAAYnoC,SAChDmd,GAAmB,OAAeld,EAAiB,GACnDmoC,EAAUjrB,EAAiB,GAC3BkrB,EAAalrB,EAAiB,GAC5BmrB,IAAaH,EAAYnoC,SAAUioC,EAIvC,aAAgB,WACVE,EAAYnoC,SACdqoC,GAAW,EAEf,GAAG,CAAC5F,IAGJ,IAAI8E,GAAe,OAAc,CAAC,EAAGjB,GAAU4B,EAAW3B,EAAQC,IAG9DlF,EAAQ72B,OAAS,IACnB88B,EAAaxS,cAAe,GAI9B,IAAIwT,EAAyBhB,EAAaiB,iBAO1C,OANAjB,EAAaiB,iBAAmB,SAAUjM,GAIxC,OAHK4L,EAAYnoC,SAAYu8B,GAC3B8L,GAAW,GAENE,aAAuE,EAASA,EAAuBhM,EAChH,EACI6L,EACK,KAEW,gBAAoB,GAAqB,CAC3D3F,KAAMyF,EACNtJ,QAASuJ,EAAYnoC,SACP,gBAAoB,OAAW,OAAS,CACtD80B,QAASwT,GACRf,EAAc,CACfM,YAAaX,EACbO,eAAe,EACfD,gBAAiB,GAAGpkC,OAAOe,EAAW,cACpC,SAAUjD,GACZ,IAAIs0B,EAAkBt0B,EAAMkD,UAC1BqkC,EAAcvnC,EAAM+H,MACtB,OAAoB,gBAAoB,GAAa,CACnDyW,GAAIA,EACJtb,UAAWoxB,EACXvsB,MAAOw/B,GACN3oC,EACL,IACF,CCzEA,IAAI,GAAY,CAAC,QAAS,YAAa,QAAS,WAAY,UAAW,WAAY,qBAAsB,WAAY,WAAY,aAAc,iBAAkB,cAAe,aAAc,UAAW,eAAgB,eAAgB,eAAgB,oBAAqB,qBAC5Q,GAAa,CAAC,UAkBZ4oC,GAA+B,cAAiB,SAAU1pC,EAAOC,GACnE,IAAIgK,EAAQjK,EAAMiK,MAChB7E,EAAYpF,EAAMoF,UAClBoE,EAAQxJ,EAAMwJ,MACdg2B,EAAWx/B,EAAMw/B,SAEjB9P,GADU1vB,EAAM4kC,QACL5kC,EAAM0vB,UACjBia,EAAqB3pC,EAAM2pC,mBAC3B7oC,EAAWd,EAAMc,SACjB+jC,EAAW7kC,EAAM6kC,SACjBv0B,EAAatQ,EAAMsQ,WACnBkuB,EAAiBx+B,EAAMw+B,eACvBsJ,EAAc9nC,EAAM8nC,YACpBrJ,EAAaz+B,EAAMy+B,WACnBpwB,EAAUrO,EAAMqO,QAChBnF,EAAelJ,EAAMkJ,aACrBI,EAAetJ,EAAMsJ,aACrBsgC,EAAe5pC,EAAM4pC,aACrBC,EAAoB7pC,EAAM6pC,kBAC1BC,EAAoB9pC,EAAM8pC,kBAC1B91B,GAAY,OAAyBhU,EAAO,IAC1CilC,EAAYxF,GAAUD,GACtBp0B,EAAoB,aAAiBs0B,IACvCv6B,EAAYiG,EAAkBjG,UAC9Bs+B,EAAOr4B,EAAkBq4B,KACzBsG,EAAW3+B,EAAkB2+B,SAC7BpR,EAAkBvtB,EAAkBskB,SACpCyV,EAAmB/5B,EAAkB+5B,iBACrClC,EAAY73B,EAAkB63B,UAC9BoC,EAAej6B,EAAkBi6B,aACjCD,EAAkBh6B,EAAkBy5B,SACpCmF,EAAoB5+B,EAAkBkF,WACtC40B,EAAc95B,EAAkB85B,YAChC+E,EAAe7+B,EAAkB6+B,aACjC/G,EAAW93B,EAAkB83B,SAE7BgH,EADuB,aAAiB,IACQA,2BAEhDC,EADuB,aAAiB/J,IACN+J,aAChCC,EAAgBlK,KAChBmK,EAAmB,GAAGjmC,OAAOe,EAAW,YACxC0zB,EAAiBF,GAAmBjJ,EACpC8U,EAAa,WACb8F,EAAW,WAQX1E,EAAiBf,QAA2CA,EAAWO,EACvE1iB,EAAmBpS,QAA+CA,EAAa05B,EAG/EO,EAAaR,EAASvxB,SAASgnB,GAC/ByJ,GAAQ9D,GAAoBoF,EAG5BC,EAAmBL,EAAa9E,EAAc7F,GAG9CqG,GAAa7C,GAAUxD,EAAU3G,EAAgBgR,EAAmBC,GACtEzG,GAASwC,GAAWxC,OACpByC,IAAc,OAAyBD,GAAY,IAGjD5kC,GAAkB,YAAe,GACnCkd,IAAmB,OAAeld,GAAiB,GACnDwpC,GAAiBtsB,GAAiB,GAClCusB,GAAoBvsB,GAAiB,GACnCwsB,GAAwB,SAA+BC,GACpD/R,GACH6R,GAAkBE,EAEtB,EAeIC,GAAe,WAAc,WAC/B,OAAIxH,IAGS,WAATI,IACKgH,IAAkBN,EAAa,CAAClH,GAAYzD,GAGvD,GAAG,CAACiE,EAAMJ,GAAQJ,EAAWwH,GAAgBjL,EAAU2K,IAGnDnE,GAAiBzC,GAAkB6G,EAAc3+B,QAqBjDq/B,GAAoBtI,IAAgB,SAAUnU,GAChDhgB,SAA0CA,EAAQ01B,GAAa1V,IAC/D6W,EAAY7W,EACd,IAkBI0c,GAAU9F,GAAa,GAAG7gC,OAAO6gC,EAAW,UAG5C+F,GAAyB,gBAAoB,OAAO,OAAS,CAC/DlG,KAAM,WACN76B,MAAO+7B,GACP5gC,UAAW,GAAGhB,OAAOimC,EAAkB,UACvCxJ,SAAUhI,EAAiB,MAAQ,EACnC54B,IAAKukC,EACLh7B,MAAwB,iBAAVA,EAAqBA,EAAQ,KAC3C,eAAgB27B,GAAoBF,EAAY,KAAOA,EACvD,gBAAiBgE,EACjB,iBAAiB,EACjB,gBAAiB8B,GACjB,gBAAiBlS,EACjBxqB,QArDyB,SAA8BmG,GAEnDqkB,IAGJ+Q,SAAoDA,EAAa,CAC/D3nC,IAAKu9B,EACL8D,SAAU9uB,IAIC,WAATivB,GACFwG,EAAazK,GAAW+K,GAE5B,EAwCEvF,QArBoB,WACpB9B,EAAS1D,EACX,GAoBGsG,IAAct8B,EAAoB,gBAAoBq6B,GAAM,CAC7DzjC,KAAe,eAATqjC,EAAwB/gB,OAAmBhiB,EACjDV,OAAO,QAAc,OAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjDirC,OAAQhC,EAERiC,WAAW,KAEC,gBAAoB,IAAK,CACvC9lC,UAAW,GAAGhB,OAAOimC,EAAkB,cAIrCc,GAAiB,SAAa1H,GAMlC,GALa,WAATA,GAAqB2G,EAAc3+B,OAAS,EAC9C0/B,GAAenqC,QAAU,WAEzBmqC,GAAenqC,QAAUyiC,GAEtB0B,EAAkB,CACrB,IAAIiG,GAAcD,GAAenqC,QAIjCgqC,GAAyB,gBAAoBnD,GAAc,CACzDpE,KAAM2H,GACNjmC,UAAWklC,EACXvU,SAAU6T,GAAsBV,GAAiB,WAATxF,EACxCjF,eAAgBA,EAChBsJ,YAAaA,EACbrJ,WAAYA,EACZQ,MAAoB,gBAAoB,GAEtC,CACAwE,KAAsB,eAAhB2H,GAA+B,WAAaA,IACpC,gBAAoB,GAAa,CAC/C1qB,GAAIqqB,GACJ9qC,IAAKqqC,GACJxpC,IACH4uB,SAAUmJ,EACViE,gBAvEuB,SAA8BS,GAC1C,WAATkG,GACFwG,EAAazK,EAAUjC,EAE3B,GAoEKyN,GACL,CAGA,IAAIK,GAAwB,gBAAoB,KAAS3G,MAAM,OAAS,CACtEzkC,IAAKA,EACL6kC,KAAM,QACL9wB,EAAW,CACZhP,UAAW,KACXiF,MAAOA,EACP7E,UAAW,IAAWilC,EAAkB,GAAGjmC,OAAOimC,EAAkB,KAAKjmC,OAAOq/B,GAAOr+B,GAAW,QAAgB,QAAgB,QAAgB,OAAgB,CAAC,EAAG,GAAGhB,OAAOimC,EAAkB,SAAUpB,GAAO,GAAG7kC,OAAOimC,EAAkB,WAAYQ,IAAe,GAAGzmC,OAAOimC,EAAkB,aAAcG,GAAmB,GAAGpmC,OAAOimC,EAAkB,aAAcxR,IACjX3vB,aAvIyB,SAA8Bo6B,GACvDqH,IAAsB,GACtBzhC,SAAoDA,EAAa,CAC/DjH,IAAKu9B,EACL8D,SAAUA,GAEd,EAkIEh6B,aAjIyB,SAA8Bg6B,GACvDqH,IAAsB,GACtBrhC,SAAoDA,EAAa,CAC/DrH,IAAKu9B,EACL8D,SAAUA,GAEd,IA4HI0H,IAAY7F,GAAiC,gBAAoB6D,GAAmB,CACtFtoB,GAAIqqB,GACJ9B,KAAMA,EACN3G,QAAS8H,GACRtpC,IAWH,OAVIopC,IACFmB,GAAWnB,EAA2BmB,GAAUrrC,EAAO,CACrD+lC,SAAUyE,EACVnH,OAAQwH,GACR5B,KAAMA,EACNvZ,SAAUmJ,KAKM,gBAAoB,GAAqB,CAC3DqM,YAAa4F,GACbrH,KAAe,eAATA,EAAwB,WAAaA,EAC3CoB,SAAUe,EACVt1B,WAAYoS,GACX2oB,GACL,IAoCA,SAnC2B,cAAiB,SAAUrrC,EAAOC,GAC3D,IAiBIimC,EAjBA1G,EAAWx/B,EAAMw/B,SACnB1+B,EAAWd,EAAMc,SACfylC,EAAmBrG,GAAYV,GAC/B8L,EAAYzE,GAAc/lC,EAAUylC,GAGpCD,EAAUtG,KAqBd,OAlBA,aAAgB,WACd,GAAIsG,EAEF,OADAA,EAAQE,aAAahH,EAAU+G,GACxB,WACLD,EAAQG,eAAejH,EAAU+G,EACnC,CAEJ,GAAG,CAACA,IAKFL,EADEI,EACWgF,EAEa,gBAAoB5B,IAAiB,OAAS,CACtEzpC,IAAKA,GACJD,GAAQsrC,GAEO,gBAAoBrL,GAAmBt/B,SAAU,CACnEE,MAAO0lC,GACNL,EACL,IC9Re,SAASqF,GAAQ3qC,GAC9B,IAAIwE,EAAYxE,EAAKwE,UACnB6E,EAAQrJ,EAAKqJ,MAEb9E,EADsB,aAAiBu6B,IACTv6B,UAEhC,OADc66B,KAEL,KAEW,gBAAoB,KAAM,CAC5C8E,KAAM,YACN1/B,UAAW,IAAW,GAAGhB,OAAOe,EAAW,iBAAkBC,GAC7D6E,MAAOA,GAEX,CChBA,IAAI,GAAY,CAAC,YAAa,QAAS,WAAY,YAO/CuhC,GAAqC,cAAiB,SAAUxrC,EAAOC,GACzE,IAAImF,EAAYpF,EAAMoF,UACpBoE,EAAQxJ,EAAMwJ,MAEd1I,GADWd,EAAMw/B,SACNx/B,EAAMc,UACjBkT,GAAY,OAAyBhU,EAAO,IAE5CmF,EADsB,aAAiBu6B,IACTv6B,UAC5B60B,EAAiB,GAAG51B,OAAOe,EAAW,eAC1C,OAAoB,gBAAoB,MAAM,OAAS,CACrDlF,IAAKA,EACL6kC,KAAM,gBACL9wB,EAAW,CACZ3F,QAAS,SAAiBmG,GACxB,OAAOA,EAAE7E,iBACX,EACAvK,UAAW,IAAW40B,EAAgB50B,KACvB,gBAAoB,MAAO,CAC1C0/B,KAAM,eACN1/B,UAAW,GAAGhB,OAAO41B,EAAgB,UACrCxwB,MAAwB,iBAAVA,EAAqBA,OAAQ9I,GAC1C8I,GAAqB,gBAAoB,KAAM,CAChDs7B,KAAM,QACN1/B,UAAW,GAAGhB,OAAO41B,EAAgB,UACpCl5B,GACL,IAiBA,SAhBiC,cAAiB,SAAUd,EAAOC,GACjE,IAAIu/B,EAAWx/B,EAAMw/B,SAGjB8L,EAAYzE,GAFH7mC,EAAMc,SACIo/B,GAAYV,IAGnC,OADcQ,KAELsL,EAEW,gBAAoBE,IAAuB,OAAS,CACtEvrC,IAAKA,IACJ,QAAKD,EAAO,CAAC,aAAcsrC,EAChC,IC3CA,IAAI,GAAY,CAAC,QAAS,WAAY,MAAO,OAAQ,SAOrD,SAASG,GAAoBj/B,EAAMoU,EAAYzb,GAC7C,IAAIumC,EAAiB9qB,EAAWzT,KAC9Bw+B,EAAsB/qB,EAAWgrB,MACjCC,EAAgBjrB,EAAWkrB,QAC3BC,EAAgBnrB,EAAWorB,QAC7B,OAAQx/B,GAAQ,IAAIU,KAAI,SAAUutB,EAAK/0B,GACrC,GAAI+0B,GAAwB,YAAjB,OAAQA,GAAmB,CACpC,IAAI75B,EAAO65B,EACThB,EAAQ74B,EAAK64B,MACb34B,EAAWF,EAAKE,SAChBmB,EAAMrB,EAAKqB,IACX2kB,EAAOhmB,EAAKgmB,KACZuF,EAAQvrB,EAAKurB,MACbnY,GAAY,OAAyBpT,EAAM,IACzCsD,EAAYjC,QAAiCA,EAAM,OAAOmC,OAAOsB,GAGrE,OAAI5E,GAAqB,UAAT8lB,EACD,UAATA,EAEkB,gBAAoB+kB,GAAqB,OAAS,CACpE1pC,IAAKiC,GACJ8P,EAAW,CACZxK,MAAOiwB,IACLgS,GAAoB3qC,EAAU8f,EAAYzb,IAI5B,gBAAoB0mC,GAAe,OAAS,CAC9D5pC,IAAKiC,GACJ8P,EAAW,CACZxK,MAAOiwB,IACLgS,GAAoB3qC,EAAU8f,EAAYzb,IAInC,YAATyhB,EACkB,gBAAoBmlB,GAAe,OAAS,CAC9D9pC,IAAKiC,GACJ8P,IAEe,gBAAoB03B,GAAgB,OAAS,CAC/DzpC,IAAKiC,GACJ8P,EAAW,CACZmY,MAAOA,IACLsN,KAAUtN,GAAmB,IAAVA,IAA6B,gBAAoB,OAAQ,CAC9E/mB,UAAW,GAAGhB,OAAOe,EAAW,gBAC/BgnB,GACL,CACA,OAAO,IACT,IAAG5V,QAAO,SAAUkkB,GAClB,OAAOA,CACT,GACF,CACO,SAASwR,GAAWnrC,EAAUorC,EAAO5J,EAAS1hB,EAAYzb,GAC/D,IAAIgnC,EAAarrC,EACbsrC,GAAmB,OAAc,CACnCJ,QAAST,GACTp+B,KAAM,GACNy+B,MAAO,GACPE,QAAS,IACRlrB,GAIH,OAHIsrB,IACFC,EAAaV,GAAoBS,EAAOE,EAAkBjnC,IAErD0hC,GAAcsF,EAAY7J,EACnC,CCvEA,IAAI,GAAY,CAAC,YAAa,gBAAiB,QAAS,YAAa,WAAY,QAAS,WAAY,YAAa,KAAM,OAAQ,kBAAmB,WAAY,mBAAoB,mBAAoB,oBAAqB,qBAAsB,kBAAmB,WAAY,YAAa,qBAAsB,aAAc,WAAY,sBAAuB,eAAgB,WAAY,aAAc,eAAgB,SAAU,iBAAkB,uBAAwB,oBAAqB,WAAY,aAAc,sBAAuB,oCAAqC,oBAAqB,UAAW,eAAgB,YAAa,gBAAiB,qBAAsB,0BAA2B,6BAA8B,uBAoCxtB+J,GAAa,GACbC,GAAoB,cAAiB,SAAUtsC,EAAOC,GACxD,IAAIssC,EACA3rC,EAAOZ,EACTwsC,EAAiB5rC,EAAKuE,UACtBA,OAA+B,IAAnBqnC,EAA4B,UAAYA,EACpD3U,EAAgBj3B,EAAKi3B,cACrB5tB,EAAQrJ,EAAKqJ,MACb7E,EAAYxE,EAAKwE,UACjBqnC,EAAgB7rC,EAAKigC,SACrBA,OAA6B,IAAlB4L,EAA2B,EAAIA,EAC1CP,EAAQtrC,EAAKsrC,MACbprC,EAAWF,EAAKE,SAChByJ,EAAY3J,EAAK2J,UACjBmW,EAAK9f,EAAK8f,GACVgsB,EAAY9rC,EAAK6iC,KACjBA,OAAqB,IAAdiJ,EAAuB,WAAaA,EAC3CC,EAAkB/rC,EAAK+rC,gBACvBjd,EAAW9uB,EAAK8uB,SAChBkd,EAAmBhsC,EAAKgsC,iBACxBC,EAAwBjsC,EAAKmnC,iBAC7BA,OAA6C,IAA1B8E,EAAmC,GAAMA,EAC5DC,EAAwBlsC,EAAKonC,kBAC7BA,OAA8C,IAA1B8E,EAAmC,GAAMA,EAC7D5E,EAAqBtnC,EAAKsnC,mBAC1B6E,EAAkBnsC,EAAKmsC,gBACvBhD,EAAWnpC,EAAKmpC,SAChB9G,EAAYriC,EAAKqiC,UACjB+J,EAAqBpsC,EAAKosC,mBAC1BC,EAAkBrsC,EAAKssC,WACvBA,OAAiC,IAApBD,GAAoCA,EACjDE,EAAgBvsC,EAAKwsC,SACrBA,OAA6B,IAAlBD,GAAmCA,EAC9CE,EAAsBzsC,EAAKysC,oBAC3BhI,EAAezkC,EAAKykC,aACpBiI,EAAW1sC,EAAK0sC,SAChBC,EAAa3sC,EAAK2sC,WAClBC,EAAoB5sC,EAAK+iC,aACzBA,OAAqC,IAAtB6J,EAA+B,GAAKA,EACnDjG,EAAS3mC,EAAK2mC,OACdC,EAAiB5mC,EAAK4mC,eACtBiG,EAAwB7sC,EAAKqnC,qBAC7BA,OAAiD,IAA1BwF,EAAmC,QAAUA,EACpElP,EAAoB39B,EAAK29B,kBACzBsG,EAAWjkC,EAAKikC,SAChBv0B,GAAa1P,EAAK0P,WAClBo9B,GAAwB9sC,EAAK+sC,oBAC7BA,QAAgD,IAA1BD,GAAmC,MAAQA,GACjEE,GAAoChtC,EAAKgtC,kCACzCrR,GAAoB37B,EAAK27B,kBACzBluB,GAAUzN,EAAKyN,QACf47B,GAAerpC,EAAKqpC,aACpBlF,GAAYnkC,EAAKmkC,UAGjBO,IAFgB1kC,EAAKitC,cACAjtC,EAAKktC,mBACAltC,EAAK0kC,yBAC/B4E,GAA6BtpC,EAAKspC,2BAClC6D,GAAsBntC,EAAKmtC,oBAC3B/5B,IAAY,OAAyBpT,EAAM,IACzCotC,GAAiB,WAAc,WAC/B,MAAO,CAAC/B,GAAWnrC,EAAUorC,EAAOG,GAAY0B,GAAqB5oC,GAAY8mC,GAAWnrC,EAAUorC,EAAOG,GAAY,CAAC,EAAGlnC,GAC/H,GAAG,CAACrE,EAAUorC,EAAO6B,KACrBE,IAAkB,OAAeD,GAAgB,GACjD1C,GAAY2C,GAAgB,GAC5BC,GAAmBD,GAAgB,GACjChtC,GAAkB,YAAe,GACnCkd,IAAmB,OAAeld,GAAiB,GACnDwnB,GAAUtK,GAAiB,GAC3BgwB,GAAahwB,GAAiB,GAC5B8Y,GAAe,WACfsI,GhB3GS,SAAiB7e,GAC9B,IAAIwP,GAAkB,QAAexP,EAAI,CACrC7f,MAAO6f,IAETyP,GAAmB,OAAeD,EAAiB,GACnDqP,EAAOpP,EAAiB,GACxBie,EAAUje,EAAiB,GAM7B,OALA,aAAgB,WACd4S,IAAc,EACd,IAAIsL,EAAmD,GAAGjqC,OAAOw+B,GAAc,KAAKx+B,OAAO2+B,IAC3FqL,EAAQ,gBAAgBhqC,OAAOiqC,GACjC,GAAG,IACI9O,CACT,CgB8Fa+O,CAAQ5tB,GACf6tB,GAAsB,QAAdhkC,EAQR2lB,IAAkB,QAAe6c,EAAiB,CAClDlsC,MAAOkpC,EACPyE,UAAW,SAAmB1qC,GAC5B,OAAOA,GAAQuoC,EACjB,IAEFlc,IAAmB,OAAeD,GAAiB,GACnDue,GAAiBte,GAAiB,GAClCue,GAAoBve,GAAiB,GAInCwe,GAAkB,SAAyB7qC,GAE7C,SAAS8qC,IACPF,GAAkB5qC,GAClBmmC,UAAoDA,GAAanmC,EACnE,CAJiB2K,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,IAAmBA,UAAU,IAM9E,IAAAogC,WAAUD,GAEVA,GAEJ,EAGIzsC,GAAmB,WAAessC,IACpC/sB,IAAmB,OAAevf,GAAkB,GACpD2sC,GAAsBptB,GAAiB,GACvCqtB,GAAyBrtB,GAAiB,GACxCstB,GAAW,UAAa,GAGxBC,GAAkB,WAAc,WAChC,MAAc,WAATxL,GAA8B,aAATA,IAAwBkJ,EAG3C,CAAClJ,GAAM,GAFL,CAAC,WAAYkJ,EAGxB,GAAG,CAAClJ,EAAMkJ,IACVuC,IAAkB,OAAeD,GAAiB,GAClDE,GAAaD,GAAgB,GAC7BE,GAAwBF,GAAgB,GACtCG,GAA8B,WAAfF,GACfrqB,GAAmB,WAAeqqB,IACpCpqB,IAAmB,OAAeD,GAAkB,GACpDwqB,GAAevqB,GAAiB,GAChCwqB,GAAkBxqB,GAAiB,GACjC2D,GAAmB,WAAe0mB,IACpCzmB,IAAmB,OAAeD,GAAkB,GACpD8mB,GAA0B7mB,GAAiB,GAC3C8mB,GAA6B9mB,GAAiB,GAChD,aAAgB,WACd4mB,GAAgBJ,IAChBM,GAA2BL,IACtBJ,GAAShuC,UAIVquC,GACFX,GAAkBI,IAGlBH,GAAgBtC,IAEpB,GAAG,CAAC8C,GAAYC,KAGhB,IAAIvmB,GAAmB,WAAe,GACpCC,IAAoB,OAAeD,GAAkB,GACrD6mB,GAAmB5mB,GAAkB,GACrC6mB,GAAsB7mB,GAAkB,GACtC8mB,GAAaF,IAAoBpE,GAAU7/B,OAAS,GAAsB,eAAjB6jC,IAAiC1C,EAG9F,aAAgB,WACVyC,IACFN,GAAuBN,GAE3B,GAAG,CAACA,KACJ,aAAgB,WAEd,OADAO,GAAShuC,SAAU,EACZ,WACLguC,GAAShuC,SAAU,CACrB,CACF,GAAG,IAGH,IAAI6uC,GlBlMS,WACb,IAAI5uC,EAAkB,WAAe,CAAC,GAEpC6uC,GADmB,OAAe7uC,EAAiB,GACZ,GACrC8uC,GAAc,IAAA90B,QAAO,IAAIiK,KACzB8qB,GAAc,IAAA/0B,QAAO,IAAIiK,KACzB/iB,EAAmB,WAAe,IACpCuf,GAAmB,OAAevf,EAAkB,GACpD8tC,EAAevuB,EAAiB,GAChCwuB,EAAkBxuB,EAAiB,GACjCyuB,GAAY,IAAAl1B,QAAO,GACnBm1B,GAAa,IAAAn1B,SAAO,GAMpBurB,GAAe,IAAA6J,cAAY,SAAUpuC,EAAKqgC,GAO5C,IAAI8H,EAAgB/H,GAAWC,GAC/B0N,EAAYhvC,QAAQmmB,IAAIijB,EAAenoC,GACvC8tC,EAAY/uC,QAAQmmB,IAAIllB,EAAKmoC,GAC7B+F,EAAUnvC,SAAW,EACrB,ImB1CsBqb,EnB0ClBqE,EAAKyvB,EAAUnvC,QmB1CGqb,EnB2CZ,WACJqE,IAAOyvB,EAAUnvC,UAjBlBovC,EAAWpvC,SACd8uC,EAAoB,CAAC,GAmBvB,EmB7CFr0B,QAAQC,UAAUC,KAAKU,EnB8CvB,GAAG,IACCoqB,GAAiB,IAAA4J,cAAY,SAAUpuC,EAAKqgC,GAC9C,IAAI8H,EAAgB/H,GAAWC,GAC/B0N,EAAYhvC,QAAQuB,OAAO6nC,GAC3B2F,EAAY/uC,QAAQuB,OAAON,EAC7B,GAAG,IACCquC,GAAsB,IAAAD,cAAY,SAAUvsC,GAC9CosC,EAAgBpsC,EAClB,GAAG,IACCysC,GAAa,IAAAF,cAAY,SAAU7Q,EAAUgR,GAC/C,IACI1sC,GADWisC,EAAY/uC,QAAQkG,IAAIs4B,IAAa,IA/CpCtN,MAAMkQ,IAoDtB,OAHIoO,GAAmBP,EAAaz3B,SAAS1U,EAAK,KAChDA,EAAK0P,QAAQ+uB,IAERz+B,CACT,GAAG,CAACmsC,IACA9F,GAAe,IAAAkG,cAAY,SAAUI,EAAUjR,GACjD,OAAOiR,EAASl6B,QAAO,SAAUpJ,GAC/B,YAAgBzM,IAATyM,CACT,IAAGd,MAAK,SAAUqkC,GAEhB,OADkBH,EAAWG,GAAS,GACnBl4B,SAASgnB,EAC9B,GACF,GAAG,CAAC+Q,IAYAI,GAAiB,IAAAN,cAAY,SAAUpuC,GACzC,IAAImoC,EAAgB,GAAGhmC,OAAO2rC,EAAY/uC,QAAQkG,IAAIjF,IAAMmC,OAAOg+B,IAC/DqO,EAAW,IAAIrvC,IAMnB,OALA,QAAmB4uC,EAAYhvC,QAAQ8C,QAAQtC,SAAQ,SAAUkvC,GAC3DA,EAAQE,WAAWxG,IACrBqG,EAASpuC,IAAI2tC,EAAYhvC,QAAQkG,IAAIwpC,GAEzC,IACOD,CACT,GAAG,IAMH,OALA,aAAgB,WACd,OAAO,WACLL,EAAWpvC,SAAU,CACvB,CACF,GAAG,IACI,CAELwlC,aAAcA,EACdC,eAAgBA,EAChB6J,oBAAqBA,EAErBnG,aAAcA,EACdoG,WAAYA,EACZM,QAlCY,WACZ,IAAI/sC,GAAO,QAAmBisC,EAAY/uC,QAAQ8C,QAIlD,OAHImsC,EAAaxkC,QACf3H,EAAKO,KAAKk+B,IAELz+B,CACT,EA6BE6sC,eAAgBA,EAEpB,CkBkGuBG,GACnBtK,GAAeqJ,GAAerJ,aAC9BC,GAAiBoJ,GAAepJ,eAChC6J,GAAsBT,GAAeS,oBACrCnG,GAAe0F,GAAe1F,aAC9BoG,GAAaV,GAAeU,WAC5BM,GAAUhB,GAAegB,QACzBF,GAAiBd,GAAec,eAC9BI,GAAsB,WAAc,WACtC,MAAO,CACLvK,aAAcA,GACdC,eAAgBA,GAEpB,GAAG,CAACD,GAAcC,KACduK,GAAkB,WAAc,WAClC,MAAO,CACL7G,aAAcA,GAElB,GAAG,CAACA,KACJ,aAAgB,WACdmG,GAAoBV,GAAavD,GAAaf,GAAUhzB,MAAMo3B,GAAmB,GAAGxiC,KAAI,SAAUw0B,GAChG,OAAOA,EAAMz/B,GACf,IACF,GAAG,CAACytC,GAAkBE,KAGtB,IAAIqB,IAAmB,QAAehO,GAAa+J,IAAwD,QAAhCT,EAAcjB,GAAU,UAAgC,IAAhBiB,OAAyB,EAASA,EAAYtqC,KAAM,CACnKpB,MAAOoiC,IAETiO,IAAmB,OAAeD,GAAkB,GACpDE,GAAkBD,GAAiB,GACnCE,GAAqBF,GAAiB,GACpChO,GAAWV,IAAgB,SAAUvgC,GACvCmvC,GAAmBnvC,EACrB,IACIkhC,GAAaX,IAAgB,WAC/B4O,QAAmB1wC,EACrB,KACA,IAAA4vB,qBAAoBrwB,GAAK,WACvB,MAAO,CACLuM,KAAMyqB,GAAaj2B,QACnBuvB,MAAO,SAAeC,GACpB,IAAI6gB,EAYEC,EAXFxtC,EAAO+sC,KACPU,EAAmBtP,GAAgBn+B,EAAMy7B,IAC3CgC,EAAWgQ,EAAiBhQ,SAC5BW,EAAcqP,EAAiBrP,YAC/BC,EAAcoP,EAAiBpP,YAC7BqP,EAAoBlQ,GAAqBrK,GAAaj2B,QAASugC,GAC/DkQ,EAAiBN,SAAyDA,GAAkBK,EAAkB,GAAKrP,EAAYj7B,IAAIsqC,EAAkB,IAEjJ,QAFwJH,EAAkB/F,GAAUoG,MAAK,SAAUl6B,GACzM,OAAQA,EAAKxX,MAAM0vB,QACrB,WAAoC,IAApB2hB,OAA6B,EAASA,EAAgBpvC,IAClE0vC,EAAiBzP,EAAYh7B,IAAIuqC,GACjCA,GAAkBE,IAEpBA,SAA2G,QAAlDL,EAAwBK,EAAephB,aAA6C,IAA1B+gB,GAAoCA,EAAsBjoC,KAAKsoC,EAAgBnhB,GAEtM,EAEJ,IAIA,IAAIohB,IAAmB,QAAevE,GAAuB,GAAI,CAC7DxsC,MAAOwkC,EAEPmJ,UAAW,SAAmB1qC,GAC5B,OAAIhC,MAAMC,QAAQ+B,GACTA,EAELA,QACKuoC,GAEF,CAACvoC,EACV,IAEF+tC,IAAmB,OAAeD,GAAkB,GACpDE,GAAmBD,GAAiB,GACpCE,GAAsBF,GAAiB,GA2CrCG,GAAkBxP,IAAgB,SAAUnU,GAC9ChgB,UAA0CA,GAAQ01B,GAAa1V,IAzC1C,SAA0BA,GAC/C,GAAI6e,EAAY,CAEd,IAEI+E,EAFAC,EAAY7jB,EAAKpsB,IACjBkwC,EAAQL,GAAiBt5B,SAAS05B,GAIlCD,EAFA7E,EACE+E,EACcL,GAAiBv7B,QAAO,SAAUtU,GAChD,OAAOA,IAAQiwC,CACjB,IAEgB,GAAG9tC,QAAO,QAAmB0tC,IAAmB,CAACI,IAGnD,CAACA,GAEnBH,GAAoBE,GAGpB,IAAIG,GAAa,QAAc,OAAc,CAAC,EAAG/jB,GAAO,CAAC,EAAG,CAC1DgX,aAAc4M,IAEZE,EACF5E,SAAgDA,EAAW6E,GAE3D9E,SAA4CA,EAAS8E,EAEzD,EAGKhF,GAAYqB,GAAehjC,QAA2B,WAAjB6jC,IACxCX,GAAgBtC,GAEpB,CAQEgG,CAAiBhkB,EACnB,IACIikB,GAAuB9P,IAAgB,SAAUvgC,EAAKgnC,GACxD,IAAIsJ,EAAc9D,GAAel4B,QAAO,SAAUi8B,GAChD,OAAOA,IAAMvwC,CACf,IACA,GAAIgnC,EACFsJ,EAAYluC,KAAKpC,QACZ,GAAqB,WAAjBqtC,GAA2B,CAEpC,IAAImD,EAAc9B,GAAe1uC,GACjCswC,EAAcA,EAAYh8B,QAAO,SAAUi8B,GACzC,OAAQC,EAAY3lC,IAAI0lC,EAC1B,GACF,EACK,EAAA9vC,EAAA,GAAQ+rC,GAAgB8D,GAAa,IACxC5D,GAAgB4D,GAAa,EAEjC,IAOIG,GnB9MC,SAA0BjP,EAAMR,EAAWsL,EAAO7tB,EAAIuW,EAAc4Z,EAASN,EAAYoC,EAAkBC,EAA0BC,GAC1I,IAAIv0B,EAAS,WACTw0B,EAAY,WAChBA,EAAU9xC,QAAUiiC,EACpB,IAAI8P,EAAW,WACbx0B,GAAA,EAAIC,OAAOF,EAAOtd,QACpB,EAMA,OALA,aAAgB,WACd,OAAO,WACL+xC,GACF,CACF,GAAG,IACI,SAAUv+B,GACf,IAAI2xB,EAAQ3xB,EAAE2xB,MACd,GAAI,GAAG/hC,OAAOi9B,GAAW,CAACH,GAAO,GAAKC,GAAMC,KAAM5oB,SAAS2tB,GAAQ,CACjE,IAAIriC,EAAO+sC,IACPmC,EAAoB/Q,GAAgBn+B,EAAM4c,GAC1CuyB,EAAqBD,EACvBzR,EAAW0R,EAAmB1R,SAC9BW,EAAc+Q,EAAmB/Q,YACjCC,EAAc8Q,EAAmB9Q,YAI/BL,EA3FV,SAAyBoR,EAAe3R,GAEtC,IADA,IAAIvgC,EAAUkyC,GAAiBhnC,SAASgnC,cACjClyC,GAAS,CACd,GAAIugC,EAASz0B,IAAI9L,GACf,OAAOA,EAETA,EAAUA,EAAQs1B,aACpB,CACA,OAAO,IACT,CAkF6B6c,CADHjR,EAAYh7B,IAAI+7B,GACkB1B,GAClD6R,EAAejR,EAAYj7B,IAAI46B,GAC/BuR,EAhKV,SAAmB5P,EAAM6P,EAAa/E,EAAOpI,GAC3C,IAAIoN,EACAjsC,EAAO,OACPC,EAAO,OACPzG,EAAW,WACX0yC,EAAS,SAGb,GAAa,WAAT/P,GAAqB0C,IAAUjF,GACjC,MAAO,CACLuS,eAAe,GAGnB,IAAIC,GAAS,QAAgB,OAAgB,CAAC,EAAG1S,GAAI15B,GAAO25B,GAAM15B,GAC9DogC,GAAa,QAAgB,QAAgB,QAAgB,OAAgB,CAAC,EAAG7G,GAAMyN,EAAQhnC,EAAOD,GAAOy5B,GAAOwN,EAAQjnC,EAAOC,GAAO05B,GAAMngC,GAAWogC,GAAOpgC,GAClK8mC,GAAW,QAAgB,QAAgB,QAAgB,QAAgB,QAAgB,OAAgB,CAAC,EAAG5G,GAAI15B,GAAO25B,GAAM15B,GAAO25B,GAAOpgC,GAAW,GAAK0yC,GAAS1S,GAAMyN,EAAQztC,EAAW0yC,GAASzS,GAAOwN,EAAQiF,EAAS1yC,GAUrO,OADsF,QAA1EyyC,EARE,CACZG,OAAQA,EACR/L,WAAYA,EACZC,SAAUA,EACV+L,UAAWD,EACXE,cAAehM,EACfiM,YAAajM,GAEgB,GAAGxjC,OAAOq/B,GAAMr/B,OAAOkvC,EAAc,GAAK,eAAkC,IAAbC,OAAsB,EAASA,EAASpN,IAEpI,KAAK7+B,EACH,MAAO,CACLoe,QAAS,EACTouB,SAAS,GAEb,KAAKvsC,EACH,MAAO,CACLme,OAAQ,EACRouB,SAAS,GAEb,KAAKN,EACH,MAAO,CACL9tB,QAAS,EACTouB,SAAS,GAEb,KAAKhzC,EACH,MAAO,CACL4kB,OAAQ,EACRouB,SAAS,GAEb,QACE,OAAO,KAEb,CA+GsB,CAAUrQ,EAAgD,IAA1C8M,EAAW6C,GAAc,GAAM3nC,OAAc8iC,EAAOpI,GAGpF,IAAKkN,GAAalN,IAAUhF,IAAQgF,IAAU/E,GAC5C,QAIEC,GAAU7oB,SAAS2tB,IAAU,CAAChF,GAAMC,IAAK5oB,SAAS2tB,KACpD3xB,EAAEI,iBAEJ,IAAIm/B,EAAW,SAAkBC,GAC/B,GAAIA,EAAa,CACf,IAAIC,EAAqBD,EAGrBE,EAAOF,EAAY1vB,cAAc,KACjC4vB,SAAoCA,EAAKxc,aAAa,UACxDuc,EAAqBC,GAEvB,IAAIhC,EAAY/P,EAAYj7B,IAAI8sC,GAChCrB,EAAiBT,GAOjBa,IACAz0B,EAAOtd,SAAU,EAAAud,GAAA,IAAI,WACfu0B,EAAU9xC,UAAYkxC,GACxB+B,EAAmB1jB,OAEvB,GACF,CACF,EACA,GAAI,CAAC4Q,GAAMC,IAAK5oB,SAAS2tB,IAAUkN,EAAUS,UAAYhS,EAAkB,CAGzE,IAAID,EAQAsS,EACA3C,EAAoBlQ,GALtBO,EAHGC,GAA6B,WAAT2B,EAtJjC,SAAyBpvB,GAEvB,IADA,IAAIrT,EAAUqT,EACPrT,GAAS,CACd,GAAIA,EAAQ02B,aAAa,kBACvB,OAAO12B,EAETA,EAAUA,EAAQs1B,aACpB,CAIA,OAAO,IACT,CA6IiC8d,CAAgBtS,GAFhB7K,EAAaj2B,QAO6BugC,GAEjE4S,EADEhO,IAAUhF,GACIqQ,EAAkB,GACzBrL,IAAU/E,GACHoQ,EAAkBA,EAAkB/lC,OAAS,GAE7Cm2B,GAAoBC,EAAsBN,EAAUO,EAAkBuR,EAAU3tB,QAGlGquB,EAASI,EAGX,MAAO,GAAId,EAAUI,cAEnBb,EAAyBQ,QAEpB,GAAIC,EAAU3tB,OAAS,EAC5BktB,EAAyBQ,GAAc,GACvCL,IACAz0B,EAAOtd,SAAU,EAAAud,GAAA,IAAI,WAEnBy0B,EAAoB/Q,GAAgBn+B,EAAM4c,GAC1C,IAAI2zB,EAAYvS,EAAiBpK,aAAa,iBAI1Cyc,EAAgBvS,GAHI11B,SAASooC,eAAeD,GAGWrB,EAAkBzR,UAG7EwS,EAASI,EACX,GAAG,QACE,GAAId,EAAU3tB,OAAS,EAAG,CAC/B,IAAI4c,EAAUiO,EAAW6C,GAAc,GACnCv7B,EAAYyqB,EAAQA,EAAQ72B,OAAS,GACrC8oC,EAAoBrS,EAAYh7B,IAAI2Q,GAGxC+6B,EAAyB/6B,GAAW,GACpCk8B,EAASQ,EACX,CACF,CAGA1B,SAA0DA,EAAgBr+B,EAC5E,CACF,CmBuF0B,CAAiB86B,GAAc6B,GAAiB5C,GAAOhP,GAAMtI,GAAc4Z,GAASN,GAAYa,IAJzF,SAAkCnvC,EAAKgnC,GACpE,IAAIuL,EAAWvL,QAAmCA,GAAQwF,GAAej2B,SAASvW,GAClFqwC,GAAqBrwC,EAAKuyC,EAC5B,GACsKzP,IAGtK,aAAgB,WACdoJ,IAAW,EACb,GAAG,IAGH,IAAIsG,GAAiB,WAAc,WACjC,MAAO,CACLnP,wBAAyBA,GACzB4E,2BAA4BA,GAEhC,GAAG,CAAC5E,GAAyB4E,KAKzBwK,GAAoC,eAAjBpF,IAAiC1C,EAAmBtB,GAE3EA,GAAUp+B,KAAI,SAAUw0B,EAAOh8B,GAC7B,OAGE,gBAAoB,GAAqB,CACvCzD,IAAKy/B,EAAMz/B,IACXkjC,iBAAkBz/B,EAAQgqC,IACzBhO,EAEP,IAGIpkB,GAAyB,gBAAoB,MAAU,OAAS,CAClEoD,GAAIA,EACJzgB,IAAKg3B,GACL9xB,UAAW,GAAGf,OAAOe,EAAW,aAChCH,UAAW,KACX2vC,cAAe,GACfvvC,UAAW,IAAWD,EAAW,GAAGf,OAAOe,EAAW,SAAU,GAAGf,OAAOe,EAAW,KAAKf,OAAOkrC,IAAelqC,GAAW,QAAgB,OAAgB,CAAC,EAAG,GAAGhB,OAAOe,EAAW,qBAAsBqqC,IAA0B,GAAGprC,OAAOe,EAAW,QAASopC,IAAQ1W,GAC1Q+c,IAAKrqC,EACLN,MAAOA,EACP66B,KAAM,OACNjE,SAAUA,EACV75B,KAAM0tC,GACNG,cAAe,SAAuBr9B,GACpC,OAAOA,CACT,EACAs9B,cAAe,SAAuBC,GAEpC,IAAIC,EAAMD,EAAUtpC,OAChBwpC,EAAkBD,EAAM1J,GAAUhzB,OAAO08B,GAAO,KACpD,OAAoB,gBAAoB,GAAS,CAC/CxV,SAAU+C,GACV/4B,MAAOmkC,GACPje,SAAUkgB,GACVjG,mBAA4B,IAARqL,EACpBxW,eAAgBoP,IACfqH,EACL,EACAC,SAA2B,eAAjB5F,IAAiC1C,EAAmB,KAASuI,WAAa,KAASC,WAC7FC,IAAK,OACL,kBAAkB,EAClBvY,gBAAiB,SAAyBwY,GACxC3F,GAAoB2F,EACtB,EACAvQ,UAAW2N,IACV1+B,KAGH,OAAoB,gBAAoB,GAAerT,SAAU,CAC/DE,MAAO4zC,IACO,gBAAoBpV,GAAU1+B,SAAU,CACtDE,MAAO0+B,IACO,gBAAoB,GAAqB,CACvDp6B,UAAWA,EACX0yB,cAAeA,EACf4L,KAAM6L,GACNvF,SAAU0E,GACV/K,IAAK6K,GAGL7e,SAAUA,EAGV6X,OAAQ9e,GAAU8e,EAAS,KAC3BC,eAAgB/e,GAAU+e,EAAiB,KAG3CvE,UAAWkO,GACXjO,SAAUA,GACVC,WAAYA,GAGZkC,aAAcyM,GAGdnO,aAAcA,EAGdoE,iBAAkBA,EAClBC,kBAAmBA,EACnBE,mBAAoBA,EACpB3J,kBAAmBA,EACnB0J,qBAAsBA,EACtB1L,kBAAmBA,GAGnBsI,SAAUA,EACVv0B,WAAYA,GAGZ40B,YAAa8M,GACb/H,aAAcqI,IACA,gBAAoBlS,GAAgBz/B,SAAU,CAC5DE,MAAOmwC,IACN1zB,IAAyB,gBAAoB,MAAO,CACrDrT,MAAO,CACLsF,QAAS,QAEX,eAAe,GACD,gBAAoBwwB,GAAoBp/B,SAAU,CAChEE,MAAOkwC,IACN7C,OACL,IEvdIqH,GFwdJ,GEvdAA,GAAW7Q,KAAO,GAClB6Q,GAAWC,QAAU,GACrBD,GAAWE,UAAY,GACvBF,GAAWhK,QAAUA,GACrB,YCgBamK,GAA4B,gBAAoB,CAAC,GC3B9D,GADuB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,iIAAqI,KAAQ,WAAY,MAAS,4BCM5T,GAAmB,SAA0B11C,EAAOC,GACtD,OAAoB,gBAAoBC,GAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,KAEV,EAOA,SAJ2B,aAAiB,oBCZ5C,MAKA,IALiC,IAAAG,eAAc,CAC7C4E,UAAW,GACXwwC,YAAY,EACZhJ,iBAAiB,ICQnB,MAkBA,GAlBoB3sC,IAClB,MACImF,UAAWyyB,EAAkB,UAC7BxyB,EAAS,OACTwwC,GACE51C,EACJgU,EAlBgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAWgB,CAAOj4B,EAAO,CAAC,YAAa,YAAa,YACjD,aACJ+2B,GACE,aAAiB,OACf5xB,EAAY4xB,EAAa,OAAQa,GACjC/G,EAAc,IAAW,CAC7B,CAAC,GAAG1rB,2BAAoCywC,GACvCxwC,GACH,OAAoB,gBAAoBmmC,GAASve,OAAO2J,OAAO,CAC7DvxB,UAAWyrB,GACV7c,GAAW,kBCnBhB,MAuEA,GAvEiBhU,IACf,IAAIm2B,EACJ,MAAM,UACJ/wB,EAAS,SACTtE,EAAQ,KACRV,EAAI,MACJoJ,EAAK,OACLqsC,EAAM,MACN1pB,GACEnsB,GACE,UACJmF,EAAS,WACTwwC,EAAU,UACVprC,EAAS,4BACTurC,EACAnJ,gBAAiBoJ,GACf,aAAiB,KAmBf,eACJC,GACE,aAAiBN,IACrB,IAAIO,EAAezsC,OACE,IAAVA,EACTysC,EAAeN,EAAa70C,EAAW,IACpB,IAAV0I,IACTysC,EAAe,IAEjB,MAAMC,EAAe,CACnB1sC,MAAOysC,GAEJD,GAAmBD,IACtBG,EAAa1sC,MAAQ,KAGrB0sC,EAAajN,MAAO,GAEtB,MAAMkN,GAAiB,QAAQr1C,GAAU2K,OACzC,IAAI2qC,EAA0B,gBAAoB,GAAMppB,OAAO2J,OAAO,CAAC,GAAG,QAAK32B,EAAO,CAAC,QAAS,OAAQ,WAAY,CAClHoF,UAAW,IAAW,CACpB,CAAC,GAAGD,iBAA0B0wC,EAC9B,CAAC,GAAG1wC,qBAA+E,KAAhD/E,EAAO+1C,EAAiB,EAAIA,IAC9D/wC,GACHoE,MAAwB,iBAAVA,EAAqBA,OAAQ9I,KACzC,SAAaN,EAAM,CACrBgF,UAAW,IAAwB,iBAAqBhF,GAA8B,QAArB+1B,EAAK/1B,EAAKJ,aAA0B,IAAPm2B,OAAgB,EAASA,EAAG/wB,UAAY,GAAI,GAAGD,iBA5CpHwnC,KACzB,MAAMlT,EAAQ34B,aAA2C,EAASA,EAAS,GACrEu1C,EAAwB,gBAAoB,OAAQ,CACxDjxC,UAAW,IAAW,GAAGD,kBAA2B,CAClD,CAAC,GAAGA,gCAAyCgnB,GAAmB,IAAVA,KAEvDrrB,GAGH,QAAKV,GAAqB,iBAAqBU,IAA+B,SAAlBA,EAAS8lB,OAC/D9lB,GAAY6rC,GAAmBgJ,GAA+B,iBAAVlc,EAClC,gBAAoB,MAAO,CAC7Cr0B,UAAW,GAAGD,6BACbs0B,EAAM6c,OAAO,IAGbD,CAAQ,EA6BbE,CAAmBR,IAOvB,OANKD,IACHM,EAA0B,gBAAoB,KAASppB,OAAO2J,OAAO,CAAC,EAAGuf,EAAc,CACrF9Z,UAAyB,QAAd7xB,EAAsB,OAAS,QAC1CmyB,iBAAkB,GAAGv3B,+BACnBixC,IAECA,CAAU,iBCnEnB,MAAMI,GAA+B,gBAAoB,MAE5CC,GAAgC,cAAiB,CAACz2C,EAAOC,KACpE,MAAM,SACFa,GACEd,EACJgU,EAjBgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAUgB,CAAOj4B,EAAO,CAAC,aACvB02C,EAAW,aAAiBF,IAC5Bn1C,EAAU,WAAc,IAAM2rB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG+f,GAAW1iC,IAAY,CAAC0iC,EAAU1iC,EAAU7O,UAEhH6O,EAAUyvB,KAAMzvB,EAAUk5B,WAAYl5B,EAAU6jB,gBAG1C8e,GAAS,QAAe71C,GACxBk4B,GAAY,QAAc/4B,EAAK02C,EAAS71C,EAASb,IAAM,MAC7D,OAAoB,gBAAoBu2C,GAAgB71C,SAAU,CAChEE,MAAOQ,GACO,gBAAoBu1C,GAAA,EAAiB,CACnDC,OAAO,GACNF,EAAsB,eAAmB71C,EAAU,CACpDb,IAAK+4B,IACFl4B,GAAU,IAGjB,8FCpCA,MA4CA,GA5C2BkwB,IACzB,MAAM,aACJC,EAAY,mBACZS,EAAkB,qBAClBolB,EAAoB,WACpBC,EAAU,UACVC,EAAS,SACTC,EAAQ,kBACRC,GACElmB,EACJ,MAAO,CACL,CAAC,GAAGC,gBAA4B,CAC9BkmB,WAAYL,EACZjlC,OAAQ,EACRulC,aAAc,IAAG,SAAKJ,MAAcC,KAAYF,IAChDzlB,UAAW,OACX,WAAY,CACV/hB,QAAS,QACT8nC,MAAO,OACPvlC,OAAQ,EACRwlC,QAAS,UAGX,CAAC,GAAGrmB,WAAsBA,aAAyB,CACjDhpB,SAAU,WACVsH,QAAS,eACTgoC,cAAe,SACfC,cAAeN,GAEjB,CAAC,KAAKjmB,4BACAA,6BACAA,aAAwBA,yBAAqC,CACjE2D,gBAAiB,eAEnB,CAAC,GAAG3D,WAAsBA,mBAA+B,CACvDO,WAAY,CAAC,gBAAgBE,IAAsB,cAAcA,KAAsBvtB,KAAK,MAG9F,CAAC,GAAG8sB,mBAA+B,CACjC1hB,QAAS,SAGd,ECfH,GA3BoB3O,IAClB,IAAI,aACFqwB,EAAY,gBACZwmB,EAAe,KACfC,GACE92C,EACJ,MAAO,CACL,CAAC,GAAGqwB,SAAqB,CACvB1mB,UAAW,OAEb,CAAC,GAAG0mB,iBAA6B,CAC/B0mB,gBAAiB,UAGnB,CAAC,GAAG1mB,QAAmBA,oBACrBA,iBAA4BA,cAA0B,CACtD,CAAC,GAAGA,mBAA+B,CACjC,YAAa,CACXlR,UAAW,8BAA6B,SAAK23B,EAAKD,GAAiBG,KAAK,GAAGC,aAE7E,WAAY,CACV93B,UAAW,6BAA4B,SAAK03B,SAInD,ECxBGK,GAAqB9mB,GAAShE,OAAO2J,OAAO,CAAC,GAAG,SAAgB3F,IAsNtE,GArNsB,CAACA,EAAO+mB,KAC5B,MAAM,aACJ9mB,EAAY,UACZ+mB,EAAS,kBACTC,EAAiB,gBACjBC,EAAe,OACfC,EAAM,cACNC,EAAa,eACbC,EAAc,gBACdC,EAAe,eACfC,EAAc,qBACdC,EAAoB,mBACpB9mB,EAAkB,gBAClBC,EAAe,cACf8mB,EAAa,kBACbvB,EAAiB,kBACjBwB,EAAiB,eACjBC,EAAc,SACd1B,EAAQ,WACRF,EAAU,kBAEV6B,EAAiB,gBAEjBC,EAAe,qBACfC,EAAoB,wBACpBC,EAAuB,mBACvBC,EAAkB,qBAClBC,EAAoB,QAEpBC,EAAO,YACPC,EAAW,aACXC,EAAY,cACZC,EAAa,4BAEbC,EAA2B,yBAC3BC,EAAwB,2BACxBC,EAA0B,sBAC1BC,GACEzoB,EACJ,MAAO,CACL,CAAC,GAAGC,KAAgB8mB,MAAgB9mB,KAAgB8mB,OAAiB9mB,KAAiB,CACpFI,MAAO2mB,EACP7mB,WAAYgnB,EACZ,CAAC,IAAIlnB,wBAAoCjE,OAAO2J,OAAO,CAAC,EAAGmhB,GAAmB9mB,IAE9E,CAAC,GAAGC,UAAsB,CACxB,yBAA0B,CACxBI,MAAO6mB,IAGX,CAAC,GAAGjnB,sBAAkC,CACpC,CAAC,KAAKA,mBAA+B,CACnCI,MAAO4mB,IAGX,CAAC,GAAGhnB,WAAsBA,mBAA+B,CACvDI,MAAO2mB,EACP,CAAC,SAAS/mB,kCAA8CjE,OAAO2J,OAAO,CAAC,EAAGmhB,GAAmB9mB,KAG/F,CAAC,GAAGC,oBAA+BA,sBAAkC,CACnEI,MAAO,GAAGunB,gBAGZ,CAAC,GAAG3nB,cAAyBA,wBAAmCA,uBAAmC,CACjG,CAAC,cAAcA,yBAAqC,CAClDI,MAAOsnB,IAGX,CAAC,SAAS1nB,iBAA6B,CACrC,CAAC,GAAGA,cAAyBA,oBAAgC,CAC3D,UAAW,CACT2D,gBAAiBukB,GAEnB,WAAY,CACVvkB,gBAAiBwkB,IAGrB,CAAC,GAAGnoB,mBAA+B,CACjC,UAAW,CACT2D,gBAAiBukB,GAEnB,WAAY,CACVvkB,gBAAiBwkB,KAKvB,CAAC,GAAGnoB,iBAA6B,CAC/BI,MAAOwnB,EACP,CAAC,IAAI5nB,gBAA4B,CAC/B,CAAC,SAASA,wBAAmCA,uBAAmC,CAC9EI,MAAOynB,IAGX,CAAC,IAAI7nB,iBAA6B,CAChCE,WAAY6nB,IAGhB,CAAC,GAAG/nB,YAAwB,CAC1B,aAAc,CACZI,MAAO,YAGX,CAAC,GAAGJ,mBAA+B,CACjCI,MAAO4mB,EAEP,CAAC,IAAIhnB,iBAA6B,CAChCI,MAAO0nB,GAET,aAAc,CACZ1nB,MAAO,YAGX,CAAC,KAAKJ,mBAA+B,CACnC2D,gBAAiByjB,EAEjB,CAAC,IAAIpnB,iBAA6B,CAChC2D,gBAAiBqkB,IAGrB,CAAC,IAAIhoB,eAA0BA,KAAiB,CAC9C2D,gBAAiBykB,GAInB,CAAC,IAAIpoB,aAAwBA,KAAiB,CAC5C2D,gBAAiBskB,GAEnB,CAAC,IAAIjoB,qBAAgCA,KAAiB,CACpD2D,gBAAiBskB,GAInB,CAAC,IAAIjoB,gBAA4BjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAmB,SAAhBohB,EAAyB,CACxFX,aAAc,GACZ,CAAC,GAAI,CACP,CAAC,KAAKnmB,aAAwBA,aAAyB,CACrDrb,IAAK4iC,EACLkB,UAAW1oB,EAAM0mB,KAAKc,GAAsBZ,KAAK,GAAGC,QACpD8B,aAAc,EACd9lB,aAAc2lB,EACd,WAAY,CACVvxC,SAAU,WACV2xC,YAAa1C,EACbrhC,OAAQ,EACRuhC,aAAc,IAAG,SAAKkB,uBACtB9mB,WAAY,gBAAgBE,KAAsBC,IAClD2lB,QAAS,MAEX,4BAA6B,CAC3BnmB,WAAYsoB,EACZ,WAAY,CACVI,kBAAmBvB,EACnBwB,kBAAmBR,IAGvB,aAAc,CACZjoB,MAAOioB,EACP1kB,gBAAiB2kB,EACjB,UAAW,CACT3kB,gBAAiB2kB,GAEnB,WAAY,CACVM,kBAAmBvB,EACnBwB,kBAAmBR,OAO3B,CAAC,IAAIroB,UAAsB,CACzB,CAAC,IAAIA,cAAyBA,cAA0B,CACtD8oB,gBAAiB,IAAG,SAAKvB,MAAyBvB,KAAYF,MAIlE,CAAC,IAAI9lB,YAAwB,CAE3B,CAAC,GAAGA,QAAmBA,YAAwB,CAC7CE,WAAYinB,GAEd,CAAC,GAAGnnB,UAAsB,CACxBhpB,SAAU,WACV,WAAY,CACVA,SAAU,WACV+xC,WAAY,EACZC,eAAgB,EAChBF,gBAAiB,IAAG,SAAKxB,YAAyBN,IAClDl4B,UAAW,iBACXwR,QAAS,EACTC,WAAY,CAAC,aAAaknB,KAAqBD,IAAiB,WAAWC,KAAqBD,KAAiBt0C,KAAK,KACtHmzC,QAAS,MAGX,CAAC,IAAIrmB,iBAA6B,CAChC,WAAY,CACVipB,qBAAsBnB,KAI5B,CAAC,GAAG9nB,eAA0BA,mBAA+B,CAC3D,WAAY,CACVlR,UAAW,YACXwR,QAAS,EACTC,WAAY,CAAC,aAAaknB,KAAqB/mB,IAAmB,WAAW+mB,KAAqB/mB,KAAmBxtB,KAAK,SAKnI,ECpNGg2C,GAAyBnpB,IAC7B,MAAM,aACJC,EAAY,WACZjD,EAAU,iBACVosB,EAAgB,QAChBxoC,EAAO,cACPyoC,EAAa,SACbC,EAAQ,gBACRC,EAAe,UACfC,EAAS,kBACTtD,GACElmB,EACEypB,EAAmBzpB,EAAM0mB,KAAK2C,GAAeh4C,IAAIuP,GAASvP,IAAIi4C,GAAUzC,QAC9E,MAAO,CACL,CAAC,GAAG5mB,UAAsB,CACxBhpB,SAAU,WACVqH,SAAU,UAEZ,CAAC,GAAG2hB,WAAsBA,mBAA+B,CACvDnf,OAAQkc,EACRmpB,YAAY,SAAKnpB,GACjBwpB,cAAeN,EACf5nC,SAAU,SACVorC,aAAc,WACdC,aAAcP,EACdQ,YAAaL,EACblrC,MAAOmrC,GAET,CAAC,KAAKvpB,0BACMA,eAA0BA,mBAA+B,CACnEnf,OAAQkc,EACRmpB,YAAY,SAAKnpB,IAEnB,CAAC,GAAGiD,qBAAgCA,iCAC1BA,mBAA+B,CACvC4pB,iBAAkBJ,GAErB,EAkJH,GAhJyBzpB,IACvB,MAAM,aACJC,EAAY,QACZ6pB,EAAO,WACP9sB,EAAU,oBACV+sB,EAAmB,cACnBC,EAAa,gBACbC,EAAe,cACfxC,EAAa,UACbyC,EAAS,iBACTd,EAAgB,WAChBe,EAAU,mBACVC,EAAkB,mBAClB1pB,EAAkB,UAClB2pB,EAAS,mBACTC,EAAkB,eAClBC,EAAc,kBACdC,GACExqB,EACEyqB,EAAkB,CACtB3pC,OAAQkc,EACRmpB,YAAY,SAAKnpB,GACjB0tB,kBAAmB,SACnBC,cAAe,QAEjB,MAAO,CAAC,CACN,CAAC1qB,GAAe,CACd,uBAAwBjE,OAAO2J,OAAO,CACpC,CAAC,IAAI1F,UAAsB,CACzBK,UAAW,SAEZ6oB,GAAuBnpB,KAE5B,CAAC,GAAGC,mBAA+B,CACjC,CAAC,GAAGA,cAA0BjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGwjB,GAAuBnpB,IAAS,CAC5FM,UAAWgqB,MAKjB,CACE,CAAC,GAAGrqB,mBAA8BA,aAAwBA,SAAqB,CAC7E5d,SAAU2nC,EACVl0B,UAAW,iBAAgB,SAAKkK,EAAM0mB,KAAKuD,GAAiBrD,IAAI,KAAKC,YACrEjmC,QAAS,IACTtC,SAAU,SACVyqC,gBAAiB,EAGjB,4BAA6B,CAC3BhzB,UAAW,SACXF,UAAW,UAKjB,CACE,CAAC,GAAGoK,YAAwB,CAC1B5hB,MAAO,OAEP,CAAC,IAAI4hB,UAAsB,CACzB,CAAC,GAAGA,WAAsBA,mBAA+B,CACvD1hB,QAAS,OACTqsC,WAAY,SACZpqB,WAAY,CAAC,gBAAgBE,IAAsB,cAAcA,IAAsB,WAAW0pB,KAAsB3C,KAAiBt0C,KAAK,KAC9I,CAAC,KAAK8sB,mBAA+B,CACnCrF,KAAM,OACNvY,SAAU,EACV/D,SAAU,SACVorC,aAAc,YAEhB,MAAO,CACL9uB,KAAM,UAKZ,CAAC,GAAGqF,QAAmBA,YAAwB,CAC7Crf,QAAS,EACTC,OAAQ,EACRgiB,aAAc,EACdvC,UAAW,OACX,CAAC,OAAOL,eAA0BA,mBAA+BwqB,EACjE,CAAC,KAAKxqB,sBAAkC,CACtC4qB,mBAAoBX,IAIxB,CAAC,GAAGjqB,UAAsBwqB,IAI9B,CACE,CAAC,GAAGxqB,sBAAkC,CACpC5hB,MAAOksC,EACP,CAAC,IAAItqB,UAAsB,CACzB,CAAC,GAAGA,WAAsBA,aAAwBA,mBAA+B,CAC/E,CAAC,KAAKA,6BAAyC,CAC7Cjf,SAAUmpC,EACVpxC,UAAW,YAIjB,CAAC,KAAKknB,wBACEA,kBAA6BA,uBAAkCA,wBAC/DA,kBAA6BA,uBAAkCA,eAA0BA,iCACzFA,eAA0BA,mBAA+B,CAC/D6qB,iBAAkB,EAClBtE,cAAe,eAAc,SAAKxmB,EAAM0mB,KAAKyD,GAAYY,IAAI,GAAGlE,eAAc,SAAKuC,MACnFM,aAAc,OACd,CAAC,iBACKzpB,iCACAA,qCACA,CACJM,QAAS,GAEX,CAAC,GAAGN,gBAA2B6pB,KAAY,CACzCkB,OAAQ,EACRhqC,SAAUwpC,EACVrE,YAAY,SAAKnpB,GACjB,SAAU,CACRze,QAAS,eACTgiB,QAAS,KAIf,CAAC,GAAGN,gBAA2B6pB,KAAY,CACzCvrC,QAAS,gBAEX,YAAa,CACXuc,cAAe,OACf,CAAC,GAAGmF,gBAA2B6pB,KAAY,CACzCvrC,QAAS,QAEX,aAAc,CACZ8hB,MAAO0pB,IAGX,CAAC,GAAG9pB,sBAAkCjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG,OAAe,CACnF6gB,cAAe6D,MAGnB,EC9KEY,GAAmBjrB,IACvB,MAAM,aACJC,EAAY,mBACZS,EAAkB,kBAClBgnB,EAAiB,gBACjB/mB,EAAe,cACf8mB,EAAa,QACbqC,EAAO,SACPoB,EAAQ,oBACRC,GACEnrB,EACJ,MAAO,CAEL,CAAC,GAAGC,WAAsBA,mBAA+B,CACvDhpB,SAAU,WACVsH,QAAS,QACTysC,OAAQ,EACRI,WAAY,SACZC,OAAQ,UACR7qB,WAAY,CAAC,gBAAgBE,IAAsB,cAAcA,IAAsB,gBAAgBA,aAA8BC,KAAmBxtB,KAAK,KAC7J,CAAC,GAAG8sB,gBAA2B6pB,KAAY,CACzCznC,SAAU6oC,EACVlqC,SAAUkqC,EACV1qB,WAAY,CAAC,aAAaknB,KAAqBD,IAAiB,UAAU/mB,KAAsBC,IAAmB,SAASD,KAAsBvtB,KAAK,KACvJ,SAAU,CACRm4C,kBAAmBH,EACnB5qB,QAAS,EACTC,WAAY,CAAC,WAAWE,KAAsBC,IAAmB,UAAUD,IAAsB,SAASA,KAAsBvtB,KAAK,OAGzI,CAAC,GAAG8sB,eAA2BjE,OAAO2J,OAAO,CAAC,GAAG,YACjD,CAAC,IAAI1F,qBAAiC,CACpC,CAAC,KAAK6pB,QAAc7pB,eAA2B,CAC7CsrB,gBAAiB,KAKvB,CAAC,GAAGtrB,oBAA+BA,sBAAkC,CACnEE,WAAY,kBACZkrB,OAAQ,cACR,WAAY,CACV1nB,YAAa,0BAEf4F,EAAG,CACDlJ,MAAO,sBAET,CAAC,KAAKJ,mBAA+B,CACnCI,MAAO,qBACPgrB,OAAQ,gBAGb,EAEGG,GAAuBxrB,IAC3B,MAAM,aACJC,EAAY,mBACZS,EAAkB,gBAClBC,EAAe,aACfkC,EAAY,cACZwmB,EAAa,gBACb5C,GACEzmB,EACJ,MAAO,CACL,CAAC,GAAGC,aAAyB,CAC3B,yBAA0B,CACxBhpB,SAAU,WACV2N,IAAK,MACLqkC,eAAgBjpB,EAAMgrB,OACtB3sC,MAAOgrC,EACPhpB,MAAO,eACPtR,UAAW,mBACXyR,WAAY,aAAaE,KAAsBC,cAA4BD,KAE7E,UAAW,CAET,sBAAuB,CACrBzpB,SAAU,WACVoH,MAAO2hB,EAAM0mB,KAAK2C,GAAezC,IAAI,IAAKC,QAC1C/lC,OAAQkf,EAAM0mB,KAAK2C,GAAezC,IAAI,KAAMC,QAC5CjjB,gBAAiB,eACjBf,eACArC,WAAY,CAAC,cAAcE,KAAsBC,IAAmB,aAAaD,KAAsBC,IAAmB,OAAOD,KAAsBC,IAAmB,SAASD,KAAsBC,KAAmBxtB,KAAK,KACjOmzC,QAAS,MAEX,YAAa,CACXv3B,UAAW,6BAA4B,SAAKiR,EAAM0mB,KAAKD,GAAiBG,KAAK,GAAGC,aAElF,WAAY,CACV93B,UAAW,8BAA6B,SAAK03B,SAIpD,EAGGgF,GAAezrB,IACnB,MAAM,OACJ0rB,EAAM,aACNzrB,EAAY,SACZjf,EAAQ,mBACR0f,EAAkB,kBAClBgnB,EAAiB,gBACjB/mB,EAAe,UACf0pB,EAAS,QACTzpC,EAAO,WACPmlC,EAAU,UACVC,EAAS,YACT2F,EAAW,eACXC,EAAc,wBACdC,EAAuB,cACvBxC,EAAa,gBACb5C,EAAe,SACfR,EAAQ,qBACR6F,EAAoB,mBACpBC,GACE/rB,EACJ,MAAO,CAEP,CACE,GAAI,CACF,CAACC,GAAejE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,YAAa,CAE3D,WAAY,CACVpnB,QAAS,WAIf,CAAC,GAAG0hB,oBAAgC,CAClC1hB,QAAS,SAEV,CACD,CAAC0hB,GAAejE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,KAAS,YAAa,CACzJ2oB,aAAc,EACdkC,mBAAoB,EAEpB7pC,WACAmlC,WAAY,EACZ6F,UAAW,OACXC,QAAS,OAETzrB,WAAY,SAASE,kCACrB,SAAU,CACRsqB,OAAQ,EACRpqC,QAAS,EACTorC,UAAW,QAGb,aAAc,CACZztC,QAAS,OACT,CAAC,GAAG0hB,UAAsB,CACxBrF,KAAM,SAGV,CAAC,GAAGqF,WAAsBA,cAAyBA,mBAA+B,CAChF4C,aAAc7C,EAAMksB,kBAEtB,CAAC,GAAGjsB,sBAAkC,CACpCrf,QAAS,IAAG,SAAKypC,OAAc,SAAKzpC,KACpCI,SAAU+qC,EACV5F,WAAY2F,EACZtrB,WAAY,OAAOE,KAErB,CAAC,gBAAgBT,aAAyB,CACxCO,WAAY,CAAC,gBAAgBE,KAAsBC,IAAmB,cAAcD,KAAsBC,KAAmBxtB,KAAK,MAEpI,CAAC,GAAG8sB,cAAyBA,oBAAgC,CAC3DO,WAAY,CAAC,gBAAgBE,KAAsBC,IAAmB,cAAcD,KAAsBC,IAAmB,WAAW+mB,KAAqB/mB,KAAmBxtB,KAAK,MAEvL,CAAC,GAAG8sB,aAAwBA,SAAqB,CAC/CorB,OAAQ,UACR7qB,WAAY,CAAC,cAAcE,KAAsBC,IAAmB,WAAWD,KAAsBC,KAAmBxtB,KAAK,MAE/H,CAAC,GAAG8sB,mBAA+B,CACjCO,WAAY,SAASE,IACrB,eAAgB,CACdniB,QAAS,cACTqsC,WAAY,SACZvsC,MAAO,QAGT,CAAC,KAAKqtC,qCAA2C,CAC/CntC,QAAS,SACTgoC,cAAe,SAEjB,CAAC,GAAGtmB,gBAA4B,CAC9BqrB,kBAAmB,OACnBT,mBAAoB7qB,EAAMpf,QAC1BI,SAAUgf,EAAMmsB,aAGpB,CAAC,GAAGlsB,YAAwB,CAC1B,YAAa,CACXhpB,SAAU,WACVm1C,MAAO,EACPxoB,gBAAiB,cACjB0iB,QAAS,OAMb,CAAC,GAAGrmB,kBAA8B,CAChC3hB,SAAU,SACV6nC,WAAY,EACZxiB,YAAaoiB,EACbsG,YAAapG,EACbqG,YAAa,EACbtoB,eAAgBgiB,EAChB4D,YAAa5D,EACbplC,QAAS,EACT,WAAY,CACVyrC,YAAa,aAGfpB,GAAiBjrB,IAAS,CAC5B,CAAC,GAAGC,gBAA4B,CAC9B,CAAC,GAAGA,qBAAiC,CACnC+qB,OAAQ,EACRpqC,QAAS,EACT,CAAC,GAAGqf,WAAsBA,mBAA+B,CACvDumB,cAAe,IAAG,SAAKxmB,EAAM0mB,KAAK1lC,GAAU4lC,IAAI,GAAGC,aAAY,SAAKjmC,QAK1E,YAAa,CACX,UAAW,CACT3J,SAAU,WACVs1C,OAAQZ,EACR9oB,aAAc+oB,EACdtrB,UAAW,OACXqmB,gBAAiB,MACjB,CAAC,IAAI1mB,aAAyB,CAC5BE,WAAY,eAGd,YAAa,CACXlpB,SAAU,WACVm1C,MAAO,EACPG,QAAS,EACTluC,MAAO,OACPyC,OAAQ,OACRyf,QAAS,EACT+lB,QAAS,MAEX,CAAC,KAAKrmB,KAAiBjE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAC/D9C,aAAc+oB,GACbX,GAAiBjrB,IAASwrB,GAAqBxrB,IAAS,CACzD,CAAC,GAAGC,WAAsBA,eAA0BA,mBAA+B,CACjF4C,aAAcgpB,GAEhB,CAAC,GAAG5rB,0BAAsC,CACxCO,WAAY,aAAaE,KAAsBC,QAIrD,mFAGM,CACJgmB,gBAAiB,UAEnB,mFAGM,CACJA,gBAAiB,aAEnB,mFAGM,CACJA,gBAAiB,UAEnB,mFAGM,CACJA,gBAAiB,OAEnB,iFAGM,CACJkD,iBAAkB7pB,EAAMqqB,WAE1B,mFAGM,CACJQ,mBAAoB7qB,EAAMqqB,WAE5B,+EAGM,CACJmC,cAAexsB,EAAMqqB,WAEvB,qFAGM,CACJoC,WAAYzsB,EAAMqqB,cAGpBmB,GAAqBxrB,IAAS,CAChC,CAAC,sBAAsBC,sCACVA,mBAA+B,CAE1C,YAAa,CACXlR,UAAW,8BAA6B,SAAK03B,OAE/C,WAAY,CACV13B,UAAW,6BAA4B,SAAKiR,EAAM0mB,KAAKD,GAAiBG,KAAK,GAAGC,cAGpF,CAAC,GAAG5mB,iBAA4BA,sBAAiCA,qBAAgCA,mBAA+B,CAE9HlR,UAAW,eAAc,SAAKiR,EAAM0mB,KAAK2C,GAAezC,IAAI,IAAKA,KAAK,GAAGC,YACzE,WAAY,CACV93B,UAAW,8BAA6B,SAAKiR,EAAM0mB,KAAKD,GAAiBG,KAAK,GAAGC,aAEnF,YAAa,CACX93B,UAAW,6BAA4B,SAAK03B,WAMpD,CACE,CAAC,GAAGiF,mBAAyB,CAC3B,CAACzrB,GAAe,CACdkmB,WAAY,aAGhB,EAESuG,GAAwB1sB,IACnC,IAAImF,EAAIwnB,EAAIC,EACZ,MAAM,aACJ1sB,EAAY,WACZ2sB,EAAU,kBACVC,EAAiB,aACjBC,EAAY,UACZC,EAAS,qBACTC,EAAoB,iBACpBC,EAAgB,eAChBC,EAAc,iBACdC,EAAgB,UAChBpH,EAAS,cACTqH,EAAa,oBACbC,EAAmB,iBACnBC,EAAgB,gBAChBtD,EAAe,WACf9D,EAAU,gBACVqH,EAAe,UACfC,EAAS,QACT7sC,EAAO,SACPI,EAAQ,gBACR0sC,EAAe,WACfvD,EAAU,oBACVJ,EAAmB,gBACnB4D,GACE3tB,EACEunB,EAAiD,QAA/BpiB,EAAKnF,EAAMunB,sBAAmC,IAAPpiB,EAAgBA,EAAK,EAC9EqiB,EAA6D,QAArCmF,EAAK3sB,EAAMwnB,4BAAyC,IAAPmF,EAAgBA,EAAK3G,EAC1FoD,EAAqD,QAAjCwD,EAAK5sB,EAAMopB,wBAAqC,IAAPwD,EAAgBA,EAAK5sB,EAAMytB,UACxFG,EAAgB,IAAI,KAAU7D,GAAqB8D,SAAS,KAAMC,cACxE,MAAO,CACL9D,cAAe,IACf2B,YAAa3rB,EAAM+tB,gBAAkB,GACrCC,WAAYhuB,EAAM4rB,eAClBM,iBAAkBlsB,EAAM4rB,eACxBqC,kBAAmBjuB,EAAMkuB,eACzBrC,wBAAyB7rB,EAAMkuB,eAC/BC,cAAenB,EACfhG,UAAWgG,EACXoB,mBAAoBpB,EACpBrF,eAAgBqF,EAChBqB,6BAA8BnuB,EAC9BouB,yBAA0BpuB,EAC1BquB,gBAAiBtB,EACjB/F,gBAAiB+F,EACjBuB,sBAAuBtuB,EACvB+mB,kBAAmB/mB,EACnBuuB,gCAAiCvuB,EACjCooB,4BAA6BpoB,EAC7BwuB,YAAaxB,EACb/F,OAAQ+F,EACRyB,iBAAkBpB,EAClBpF,YAAaoF,EACbqB,kBAAmBxB,EACnBhF,aAAckF,EACduB,eAAgB1B,EAChB/F,cAAe+F,EACf2B,oBAAqBxB,EACrBjG,eAAgBiG,EAChByB,8BAA+B,cAC/BxG,yBAA0B,cAC1ByG,oBAAqB,EACrBzH,iBACA0H,qBAAsB5B,EACtB/F,gBAAiB+F,EACjB6B,yBAA0BlJ,EAC1BwB,uBAEA2H,sBAAuBrC,EACvBlF,kBAAmBkF,EAEnBsC,oBAAqBvC,EACrBhF,gBAAiBgF,EACjBwC,yBAA0BxC,EAC1B/E,qBAAsB+E,EACtByC,4BAA6BzC,EAC7B9E,wBAAyB8E,EACzB0C,wBAAyBxC,EACzB/E,mBAAoB+E,EACpByC,0BAA2BzC,EAC3B9E,qBAAsB8E,EACtB3D,mBACAZ,2BAA4B,EAC5BC,sBAAuB,cACvBzrB,WAAYitB,EACZ6B,qBAAsB3F,EACtBoE,eAAkC,EAAlBN,EAChB/B,QAASsF,EACTjE,gBAAiBkE,EACjBvH,kBAAmBtlC,EACnBklC,qBAA2C,KAAlBmE,EAAH,KACtBiB,SAAUlqC,EACVmqC,oBAAqBuC,EAAkB1sC,EACvCwpC,kBAAmBL,EACnB4B,mBAAoB/qC,EAEpByuC,sBAAuB,IAAI,KAAU1F,GAAqB8D,SAAS,KAAMC,cAEzE4B,cAAe9B,EACf+B,oBAAqB9C,EACrB+C,WAAY,UACZC,YAAa,UACbC,kBAAmB,UACnBC,sBAAuBhG,EACvBiG,mBAAoB9vB,EACpB+vB,yBAA0BpD,EAC1BqD,gBAAiB,cACjBC,oBAAqBvC,EACrBwC,mBAAoBrG,EACpBsG,yBAA0B1C,EAC1B2C,4BAA6BvG,EAC7BwG,uBAAwB1D,EAExBrD,UAAWjC,EAAiB,eAAeC,OAA4B,eAAkC,EAAnB4B,OACvF,EAGH,YAA0Bj1C,GACxB,IAAIg0B,EAAU1qB,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAKtJ,EAC9Eq8C,IAAc/yC,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,KAAmBA,UAAU,GAkFjF,OAjFiB,SAAc,QAAQuiB,IACrC,MAAM,gBACJwtB,EAAe,gBACfvD,EAAe,SACfjpC,EAAQ,cACR0uC,EAAa,oBACbC,EAAmB,WACnBC,EAAU,kBACVE,EAAiB,sBACjBC,EAAqB,mBACrBC,EAAkB,yBAClBC,EAAwB,gBACxBC,EAAe,oBACfC,EAAmB,mBACnBC,EAAkB,sBAClBX,EAAqB,yBACrBY,EAAwB,4BACxBC,EAA2B,uBAC3BC,EAAsB,QACtBrI,EAAO,YACP2H,GACE7vB,EACEqpB,EAAgBrpB,EAAM0mB,KAAK1lC,GAAU+pC,IAAI,GAAGnE,IAAI,GAAGC,QAEnD4J,GAAY,SAAWzwB,EAAO,CAClCqpB,gBACAqH,qBAAsB1wB,EAAM0mB,KAAKuD,GAAiBrD,IAAI,MAAMC,QAC5DJ,gBAAiBzmB,EAAM0mB,KAAK2C,GAAezC,IAAI,KAAMC,QACrDwB,cAAemF,EACf9G,KAAM1mB,EAAM0mB,KACZwB,YAEIyI,GAAgB,SAAWF,EAAW,CAC1CzJ,UAAW0I,EACX/H,eAAgByI,EAChBlJ,gBAAiBiJ,EACjBlJ,kBAAmB8I,EACnB5I,OAAQyI,EACR1H,QAAS2H,EACTzI,cAAe0I,EACf1H,aAAc,cACdf,eAAgB2I,EAChB1I,gBAAiB,EACjBE,qBAAsB,EACtBW,YAAa+H,EAEbtI,kBAAmB6H,EAEnB5H,gBAAiB8H,EACjB7H,qBAAsBuI,EACtBtI,wBAAyBuI,EACzBtI,mBAAoBuI,EACpBtI,qBAAsBgI,EACtB5H,cAAeyH,EAEfxH,4BAA6ByH,EAC7BxH,yBAA0ByH,IAE5B,MAAO,CAEPvE,GAAagF,GAEb,GAAmBA,GAGnB,GAAiBA,GAGjB,GAAcA,EAAW,SAAU,GAAcE,EAAe,QAEhE,GAAYF,IAEZ,QAAkBA,IAAY,SAAgBA,EAAW,aAAa,SAAgBA,EAAW,eAAe,SAAeA,EAAW,YAAY,GACrJ/D,GAAuB,CACxBkE,iBAAkB,CAAC,CAAC,kBAAmB,mBAAoB,CAAC,aAAc,oBAAqB,CAAC,oBAAqB,2BAA4B,CAAC,gBAAiB,aAAc,CAAC,qBAAsB,kBAAmB,CAAC,+BAAgC,4BAA6B,CAAC,wBAAyB,qBAAsB,CAAC,kCAAmC,+BAAgC,CAAC,wBAAyB,qBAAsB,CAAC,sBAAuB,mBAAoB,CAAC,2BAA4B,wBAAyB,CAAC,8BAA+B,2BAA4B,CAAC,0BAA2B,sBAAuB,CAAC,4BAA6B,wBAAyB,CAAC,cAAe,UAAW,CAAC,mBAAoB,eAAgB,CAAC,iBAAkB,iBAAkB,CAAC,oBAAqB,gBAAiB,CAAC,gCAAiC,4BAA6B,CAAC,sBAAuB,kBAAmB,CAAC,uBAAwB,mBAAoB,CAAC,2BAA4B,wBAAyB,CAAC,sBAAuB,mBAEtjCJ,cACAK,SAAU,CACR/E,sBAAsB,IAGnBgF,CAAS38C,EAAWg0B,EAC5B,EC9eD,GA/CgBn5B,IACd,IAAIm2B,EACJ,MAAM,eACJqI,EAAc,KACdp+B,EAAI,MACJoJ,EACAu4C,MAAOC,GACLhiD,EACEqB,EAAU,aAAiB,KAC3B,UACJ8D,EAAS,gBACTwnC,EACAoV,MAAOE,GACL5gD,EACE6gD,EAAahiB,KACnB,IAAI8K,EACJ,GAAK5qC,EAME,CAGL,MAAM+hD,EAA2B,iBAAqB34C,IAAyB,SAAfA,EAAMod,KACtEokB,EAAyB,gBAAoB,WAAgB,MAAM,SAAa5qC,EAAM,CACpFgF,UAAW,IAAwB,iBAAqBhF,GAA8B,QAArB+1B,EAAK/1B,EAAKJ,aAA0B,IAAPm2B,OAAgB,EAASA,EAAG/wB,UAAY,GAAI,GAAGD,iBAC3Ig9C,EAAc34C,EAAqB,gBAAoB,OAAQ,CACjEpE,UAAW,GAAGD,mBACbqE,GACL,MAdEwhC,EAAY2B,IAAoBuV,EAAWz2C,QAAUjC,GAA0B,iBAAVA,EAAmC,gBAAoB,MAAO,CACjIpE,UAAW,GAAGD,6BACbqE,EAAM8sC,OAAO,IAAqB,gBAAoB,OAAQ,CAC/DlxC,UAAW,GAAGD,mBACbqE,GAWL,MAAM44C,EAAe,WAAc,IAAMp1B,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGt1B,GAAU,CACjFs0C,YAAY,KACV,CAACt0C,KAEEk8C,IAAU,EAAA8E,GAAA,IAAU,QAC3B,OAAoB,gBAAoB,GAAY1hD,SAAU,CAC5DE,MAAOuhD,GACO,gBAAoB,GAAWp1B,OAAO2J,OAAO,CAAC,GAAG,QAAK32B,EAAO,CAAC,SAAU,CACtFwJ,MAAOwhC,EACPxM,eAAgB,IAAWr5B,EAAWq5B,EAAgB,GAAGr5B,KAAa68C,GAAeC,KACrFxjB,WAAYzR,OAAO2J,OAAO,CACxB4mB,UACCv9C,EAAMy+B,eACP,EC1BN,SAAS6jB,GAAYliD,GACnB,OAAgB,OAATA,IAA0B,IAATA,CAC1B,CACA,MAAMmiD,GAAkB,CACtBp1C,KAAM,GACN2+B,QAAS,GACTE,QAAS,IAELwW,IAA4B,IAAAhzB,aAAW,CAACxvB,EAAOC,KACnD,IAAIk2B,EACJ,MAAMugB,EAAW,aAAiB,IAC5B+L,EAAc/L,GAAY,CAAC,GAC3B,aACJ3f,EAAY,kBACZwF,EAAiB,UACjBhyB,EAAS,KACTm4C,GACE,aAAiB,OACfC,EAAgB5rB,KAElB5xB,UAAWyyB,EAAkB,UAC7BxyB,EAAS,MACT6E,EAAK,MACL83C,EAAQ,QAAO,WACfzxC,EAAU,qCACVsyC,EAAoC,gBACpCjW,EAAe,eACfqJ,EAAc,cACdne,EAAa,KACb4L,EAAI,WACJyJ,EAAU,QACV7+B,EAAO,kCACPu/B,GACE5tC,EACJgU,EA5DgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAqDgB,CAAOj4B,EAAO,CAAC,YAAa,YAAa,QAAS,QAAS,aAAc,uCAAwC,kBAAmB,iBAAkB,gBAAiB,OAAQ,aAAc,UAAW,sCAChNykC,GAAc,QAAKzwB,EAAW,CAAC,mBAQJ,QAAhCmiB,EAAKssB,EAAYI,iBAA8B,IAAP1sB,GAAyBA,EAAG9sB,KAAKo5C,EAAa,CACrFhf,SAIF,MAAMyB,GAAc,QAAS,WAC3B,IAAI/O,EACJ9nB,SAAkDA,EAAQO,WAAM,EAAQH,WACzC,QAA9B0nB,EAAKssB,EAAYp0C,eAA4B,IAAP8nB,GAAyBA,EAAG9sB,KAAKo5C,EAC1E,IAEMtT,EAAasT,EAAYhf,MAAQA,EAEjCqf,EAAmB5V,QAA+CA,EAAauV,EAAYvV,WAG3FkC,EAAwB,WAAc,SACnB1uC,IAAnBs1C,EACKA,EAEFrJ,GACN,CAACA,EAAiBqJ,IACfxO,EAAiB,CACrBG,WAAY,CACV3R,WAAY,GAAG2sB,cAEjBjP,QAAQ,QAAmBiP,GAC3Blb,MAAO,CACLzR,WAAY,GAAG2sB,eAGbx9C,EAAY4xB,EAAa,OAAQa,GAAsB6qB,EAAYt9C,WACnEg0B,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,EAAQoC,GAAa,GAASn0B,EAAWg0B,GAAUud,GAChEqM,EAAgB,IAAW,GAAG59C,KAAa48C,IAASW,aAAmC,EAASA,EAAKt9C,UAAWA,GAEhHsd,EAAmB,WAAc,KACrC,IAAIyT,EAAIwnB,EACR,GAA0B,mBAAfrtC,GAA6BgyC,GAAYhyC,GAClD,OAAOA,GAAc,KAEvB,GAAsC,mBAA3BmyC,EAAYnyC,YAA6BgyC,GAAYG,EAAYnyC,YAC1E,OAAOmyC,EAAYnyC,YAAc,KAEnC,GAA6E,mBAAjEoyC,aAAmC,EAASA,EAAKpyC,aAA8BgyC,GAAYI,aAAmC,EAASA,EAAKpyC,YACtJ,OAAQoyC,aAAmC,EAASA,EAAKpyC,aAAe,KAE1E,MAAM0yC,EAAqK,QAAvJ7sB,EAAK7lB,QAA+CA,EAAamyC,aAAiD,EAASA,EAAYnyC,kBAA+B,IAAP6lB,EAAgBA,EAAKusB,aAAmC,EAASA,EAAKpyC,WACzP,OAAO,SAAa0yC,EAAY,CAC9B59C,UAAW,IAAW,GAAGD,wBAA8C,iBAAqB69C,GAA0C,QAA3BrF,EAAKqF,EAAWhjD,aAA0B,IAAP29C,OAAgB,EAASA,EAAGv4C,eAAY1E,IACtL,GACD,CAAC4P,EAAYmyC,aAAiD,EAASA,EAAYnyC,WAAYoyC,aAAmC,EAASA,EAAKpyC,WAAYnL,IAEzJi9C,EAAe,WAAc,KAAM,CACvCj9C,YACAwnC,gBAAiByC,IAAyB,EAC1C7kC,YACAorC,YAAY,EACZoM,QACAte,KAAM0L,EACN2G,4BAA6B8M,KAC3B,CAACz9C,EAAWiqC,EAAuB7kC,EAAWq4C,EAAsCb,IAExF,OAAO1oB,EAAwB,gBAAoB,GAAgB14B,SAAU,CAC3EE,MAAO,MACO,gBAAoB,GAAYF,SAAU,CACxDE,MAAOuhD,GACO,gBAAoB,GAAQp1B,OAAO2J,OAAO,CACxD4F,kBAAmBA,EACnBoR,oBAAkC,gBAAoB,GAAkB,MACxEC,kCAAmC,IAAWzoC,EAAW,GAAGA,KAAa48C,IAASnU,GAClFnK,KAAM0L,EACNjC,WAAY4V,EACZz0C,QAAS62B,GACRT,EAAa,CACdkI,gBAAiByC,EACjBnlC,MAAO+iB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG+rB,aAAmC,EAASA,EAAKz4C,OAAQA,GAChG7E,UAAW29C,EACX59C,UAAWA,EACXoF,UAAWA,EACXi9B,eAAgBA,EAChBl3B,WAAYoS,EACZziB,IAAKA,EACL43B,cAAe,IAAWA,EAAeX,EAAQurB,EAAY5qB,cAAeyB,EAAWH,GACvF4U,oBAAqBwU,QACjB,IAER,MCpJM,IAAoB,IAAA/yB,aAAW,CAACxvB,EAAOC,KAC3C,MAAMgjD,GAAU,IAAAhoC,QAAO,MACjB5Z,EAAU,aAAiBq0C,IAQjC,OAPA,IAAAplB,qBAAoBrwB,GAAK,KAAM,CAC7ByiD,KAAMO,EAAQjiD,QACduvB,MAAOC,IACL,IAAI2F,EACuB,QAA1BA,EAAK8sB,EAAQjiD,eAA4B,IAAPm1B,GAAyBA,EAAG5F,MAAMC,EAAQ,MAG7D,gBAAoB,GAAcxD,OAAO2J,OAAO,CAClE12B,IAAKgjD,GACJjjD,EAAOqB,GAAS,IAErB,GAAKqjC,KAAO,GACZ,GAAK8Q,QAAU,GACf,GAAKjK,QAAU,GACf,GAAKkK,UAAY,GAIjB,mDC/BA,MAsBA,GAtBuBzkB,IACrB,MAAM,aACJC,EAAY,QACZiyB,EAAO,WACPrF,EAAU,oBACV9C,GACE/pB,EACEuU,EAAU,GAAG2d,SACnB,MAAO,CACL,CAAC,GAAGjyB,MAAiBA,kBAA8B,CACjD,CAAC,GAAGiyB,KAAW3d,KAAY,CACzB,CAAC,IAAIA,gBAAsBA,eAAsB,CAC/ClU,MAAOwsB,EACP,UAAW,CACTxsB,MAAO0pB,EACPnmB,gBAAiBipB,MAK1B,ECZGsF,GAAenyB,IACnB,MAAM,aACJC,EAAY,QACZiyB,EAAO,YACPvG,EAAW,sBACXyG,EAAqB,eACrBC,EAAc,OACd3G,EAAM,QACN5B,EAAO,kBACPpC,EAAiB,aACjB4K,EAAY,SACZtxC,EAAQ,yBACRuxC,EAAwB,kBACxBzF,EAAiB,aACjB0F,EAAY,yBACZC,EAAwB,gBACxBjF,GACExtB,EACJ,MAAO,CAAC,CACN,CAACC,GAAe,CACdhpB,SAAU,WACV2N,KAAM,KACN1N,KAAM,CACJw7C,cAAc,EACd7iD,OAAQ,MAEV08C,OAAQZ,EACRptC,QAAS,QAET,YAAa,CACXtH,SAAU,WACV+xC,WAAYhpB,EAAM0mB,KAAK2L,GAAgBtH,IAAI,GAAG4H,IAAIP,GAAuBvL,QAEzE0F,QAAS,KACThsB,QAAS,KACT+lB,QAAS,MAGX,kBAAmB,CACjBxwB,UAAW,QACXD,UAAW,QAEb,CAAC,YAAY61B,SAAe,CAC1B,CAAC,OAAO5B,eAAqB4B,gBAAqB5B,UAAiB,CACjE9oC,SAAUwxC,IAGd,CAAC,GAAGvyB,UAAsB,CACxBhpB,SAAU,WACV,CAAC,GAAGy0C,WAAgB5B,UAAiB,CACnC9oC,SAAUwxC,GAEZ,CAAC,GAAG1I,kBAAyB,CAC3BtpB,WAAY,aAAaknB,MAG7B,CAAC,GAAGznB,eAA2B,CAC7B,CAAC,GAAG6pB,kBAAyB,CAC3B/6B,UAAW,mBAGf,qFAII,CACFxQ,QAAS,QAOX,CAAC,IAAImtC,qBAA0BA,4BAAiCzrB,uCACzDyrB,sBAA2BA,6BAAkCzrB,uCAC7DyrB,qBAA0BA,4BAAiCzrB,mCAC3DyrB,sBAA2BA,6BAAkCzrB,mCAC7DyrB,qBAA0BA,4BAAiCzrB,wCAC3DyrB,sBAA2BA,6BAAkCzrB,2BAAuC,CACzG2yB,cAAeC,GAAA,IAEjB,CAAC,IAAInH,mBAAwBA,0BAA+BzrB,oCACrDyrB,oBAAyBA,2BAAgCzrB,oCACzDyrB,mBAAwBA,0BAA+BzrB,gCACvDyrB,oBAAyBA,2BAAgCzrB,gCACzDyrB,mBAAwBA,0BAA+BzrB,qCACvDyrB,oBAAyBA,2BAAgCzrB,wBAAoC,CAClG2yB,cAAeC,GAAA,IAEjB,CAAC,IAAInH,qBAA0BA,4BAAiCzrB,uCACzDyrB,qBAA0BA,4BAAiCzrB,mCAC3DyrB,qBAA0BA,4BAAiCzrB,2BAAuC,CACvG2yB,cAAeC,GAAA,IAEjB,CAAC,IAAInH,mBAAwBA,0BAA+BzrB,oCACrDyrB,mBAAwBA,0BAA+BzrB,gCACvDyrB,mBAAwBA,0BAA+BzrB,wBAAoC,CAChG2yB,cAAeC,GAAA,OAOrB,SAAc7yB,EAAOwtB,EAAiB,CACpCsF,eAAgB,CACdluC,KAAK,EACLC,QAAQ,KAER,CAIF,CAAC,GAAGob,KAAgBiyB,KAAY,CAC9Bj7C,SAAU,WACV+zC,OAAQ,GAEV,CAAC,GAAGkH,mBAA0B,CAC5Bj7C,SAAU,WACVs1C,OAAQZ,EACRxrB,WAAY,cACZG,UAAW,OACXqmB,gBAAiB,MACjB,SAAU,CACRqF,UAAW,OACXhB,OAAQ,IAGZ,CAAC,GAAG/qB,MAAiBA,kBAA8BjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAAS,CACzG,CAACkyB,GAAUl2B,OAAO2J,OAAO3J,OAAO2J,OAAO,CACrC/kB,QAAS2xC,EACT5H,cAAe,OACf/mB,gBAAiB4pB,EACjBuF,eAAgB,cAChBlwB,aAAc7C,EAAM4rB,eACpBK,QAAS,OACT3rB,UAAWN,EAAMsqB,qBAChB,SAActqB,IAAS,CACxB,UAAW,CACTpf,QAAS,EACT0f,UAAW,QAEb,CAAC,GAAG4xB,sBAA6B,CAC/BtxC,QAAS,IAAG,SAAK0xC,OAAiB,SAAKG,KACvCpyB,MAAOL,EAAMitB,qBACbzsB,WAAY,OAAOknB,KAGrB,CAAC,GAAGwK,UAAiB,CACnBj7C,SAAU,WACVsH,QAAS,OACTqsC,WAAY,UAEd,CAAC,GAAGsH,eAAsB,CACxB7vC,SAAUrB,EACVuqC,gBAAiBvrB,EAAMspB,SACvBtoC,SAAUgf,EAAMmsB,YAElB,CAAC,GAAG+F,mBAA0B,CAC5Bt3B,KAAM,OACN,eAAgB,CACdrc,QAAS,cACTqsC,WAAY,SACZvsC,MAAO,QAET,MAAO,CACLgiB,MAAO,UACPG,WAAY,OAAOknB,IACnB,UAAW,CACTrnB,MAAO,WAET,WAAY,CACVppB,SAAU,WACVm1C,MAAO,EACP9F,QAAS,OAGb,CAAC,GAAG4L,gBAAuB,CACzBrH,mBAAoB7qB,EAAMpf,QAC1B0qC,kBAAmB,OACnBtqC,SAAUgf,EAAMmsB,WAChB9rB,MAAOL,EAAMitB,uBAIjB,CAAC,GAAGiF,WAAiBA,mBAA0Bl2B,OAAO2J,OAAO3J,OAAO2J,OAAO,CACzEpnB,QAAS,OACTysC,OAAQ,EACRpqC,QAAS,IAAG,SAAK0xC,OAAiB,SAAKG,KACvCpyB,MAAOL,EAAMgtB,UACbgG,WAAY,SACZhyC,WACAmlC,WAAYnmB,EAAMmmB,WAClBkF,OAAQ,UACR7qB,WAAY,OAAOknB,IACnB7kB,aAAc7C,EAAMkuB,eACpB,oBAAqB,CACnBtqB,gBAAiB5D,EAAMizB,sBAExB,SAAcjzB,IAAS,CACxB,aAAc,CACZK,MAAOL,EAAME,aACb0D,gBAAiB5D,EAAMstB,oBACvB,oBAAqB,CACnB1pB,gBAAiB5D,EAAMkzB,2BAG3B,aAAc,CACZ7yB,MAAOysB,EACPzB,OAAQ,cACR,UAAW,CACThrB,MAAOysB,EACPlpB,gBAAiB4pB,EACjBnC,OAAQ,eAEV9hB,EAAG,CACDzO,cAAe,SAGnB,YAAa,CACXha,OAAQ,EAERkqC,OAAQ,IAAG,SAAKhrB,EAAMytB,eACtBnvC,SAAU,SACV6nC,WAAY,EACZviB,gBAAiB5D,EAAM+lB,YAEzB,CAAC,GAAG9lB,8BAA0C,CAC5ChpB,SAAU,WACVgyC,eAAgBjpB,EAAMqqB,UACtB,CAAC,GAAGpqB,6BAAyC,CAC3CsrB,gBAAiB,eACjBlrB,MAAOL,EAAMitB,qBACbjsC,SAAUwxC,EACVW,UAAW,aAIjB,CAAC,GAAGjB,qBAA4B,CAC9BlH,OAAQ,MAAK,SAAKhrB,EAAMspB,YACxB1oC,QAAS,EACTorC,UAAW,QAEb,CAAC,GAAGkG,mBAA0B,CAC5BrI,iBAAkB7pB,EAAM0mB,KAAK+L,GAA0BphD,IAAI2uB,EAAMmsB,YAAYtF,SAE/E,CAAC,GAAGqL,sBAA6B,CAC/Bj7C,SAAU,YAEZ,CAAC,GAAGi7C,YAAkBA,sBAA4BjyB,wBAAoC,CACpF,CAAC,MAAMA,6BAAyC,CAC9CI,MAAOysB,EACPlpB,gBAAiB4pB,EACjBnC,OAAQ,gBAIZ,CAAC,GAAG6G,sBAA4BjyB,wBAAoC,CAClEI,MAAOL,EAAME,mBAMrB,EAAC,SAAgBF,EAAO,aAAa,SAAgBA,EAAO,eAAe,SAAeA,EAAO,YAAY,SAAeA,EAAO,cAAc,SAAeA,EAAO,aAAa,EAUtL,IAAe,SAAc,YAAYA,IACvC,MAAM,UACJytB,EAAS,eACT4E,EAAc,WACde,EAAU,aACVnzB,GACED,EACEqzB,GAAgB,SAAWrzB,EAAO,CACtCkyB,QAAS,GAAGjyB,SACZmyB,sBAAuBpyB,EAAM0mB,KAAK2L,GAAgBtH,IAAI,GAAG15C,IAAIo8C,GAAW5G,QACxE0L,yBAA0Ba,IAE5B,MAAO,CAACjB,GAAakB,GAAgB,GAAeA,GAAe,IAnBhCrzB,GAAShE,OAAO2J,OAAO3J,OAAO2J,OAAO,CACxEgmB,YAAa3rB,EAAM+tB,gBAAkB,GACrCuE,cAAetyB,EAAMszB,cAAgBtzB,EAAMhf,SAAWgf,EAAMmmB,YAAc,IACzE,SAAoB,CACrBoN,cAAevzB,EAAM4rB,eACrB4H,qBAAqB,MAClB,QAAcxzB,KAcO,CACxByzB,YAAY,IClRR,GAAWzkD,IACf,IAAIm2B,EACJ,MAAM,KACJusB,EAAI,MACJxnB,EACA/1B,UAAWyyB,EAAkB,SAC7B92B,EAAQ,QACRwB,EAAO,SACPotB,EAAQ,eACRg1B,EAAc,kBACdnoB,EAAiB,iBACjBG,EAAgB,cAChB7E,EAAa,aACb8E,EAAY,KACZsM,EAAI,aACJgB,EAAY,QAEZnU,EAAO,gBACPgH,EAAe,gBACf6L,EAAkB,IAAI,gBACtBC,EAAkB,GAAG,mBACrBvN,GAAqB,EAAI,UACzBe,EAAY,GAAE,QACdnB,EAAO,eACPgB,GACEj8B,GAEFu8B,kBAAmBooB,EAAwB,aAC3C5tB,EAAY,UACZxsB,EAAS,SACTq6C,GACE,aAAiB,QAEL,SAAc,YAQ9B,MAAMC,EAAqB,WAAc,KACvC,MAAMlC,EAAgB5rB,IACtB,YAAuBr2B,IAAnBu7B,EACKA,EAELG,EAAU5jB,SAAS,OACd,GAAGmqC,eAEL,GAAGA,YAAwB,GACjC,CAAC5rB,EAAcqF,EAAWH,IACvB6oB,EAAgB,WAAc,IAC7B1oB,EAGDA,EAAU5jB,SAAS,UACd4jB,EAAU9jB,MAAM,EAAG8jB,EAAUxjB,QAAQ,WAEvCwjB,EALgB,QAAd7xB,EAAsB,cAAgB,cAM9C,CAAC6xB,EAAW7xB,IAWTpF,EAAY4xB,EAAa,WAAYa,GACrCuB,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,EAAQoC,GAAa,GAASn0B,EAAWg0B,IACrD,CAAEnI,IAAS,WACZ0Q,EAAQ,WAAeqjB,KAAKjkD,GAC5BkkD,GAAkB,SAAatjB,EAAO,CAC1Ct8B,UAAW,IAAW,GAAGD,YAAqB,CAC5C,CAAC,GAAGA,SAAgC,QAAdoF,GACrBm3B,EAAM1hC,MAAMoF,WACfsqB,SAA0C,QAA/ByG,EAAKuL,EAAM1hC,MAAM0vB,gBAA6B,IAAPyG,EAAgBA,EAAKzG,IAEnEu1B,EAAiBv1B,EAAW,GAAKptB,EACjC87B,KAAgB6mB,aAAuD,EAASA,EAAezsC,SAAS,iBAEvG8wB,EAAY4b,IAAW,SAAe,EAAO,CAClDrkD,MAAOooC,QAAmCA,EAAOnT,IAE7CqvB,GAAoB,QAAS3Q,IACjCvK,SAA4DA,EAAauK,EAAU,CACjF4Q,OAAQ,YAEVtoB,SAAkEA,EAAgB0X,GAClF0Q,EAAQ1Q,EAAS,IAGb6Q,EAA6B,IAAW3oB,EAAkB7E,EAAeX,EAAQoC,EAAWH,EAASyrB,aAA2C,EAASA,EAASx/C,UAAW,CACjL,CAAC,GAAGD,SAAgC,QAAdoF,IAElBg0B,GAAoB,QAAc,CACtC+mB,mBAAqC,iBAAVpqB,GAAsBA,EAAMqqB,cACvDlqB,qBACA3V,OAAQsL,EAAMytB,UACd+G,WAAYtqB,EAAQlK,EAAMqyB,eAAiB,EAC3CxvB,aAAc7C,EAAM6C,eAEhB4xB,EAAc,eAAkB,MAC/B/C,aAAmC,EAASA,EAAKxV,cAAgBwV,aAAmC,EAASA,EAAKtV,YAGvHnD,SAA4DA,GAAa,EAAO,CAC9Emb,OAAQ,SAEVF,GAAQ,GAAM,GACb,CAACxC,aAAmC,EAASA,EAAKxV,WAAYwV,aAAmC,EAASA,EAAKtV,YAqC3GmQ,EAAQmI,IAAiB,EAAArD,GAAA,IAAU,WAAY1lB,aAAmD,EAASA,EAAa4gB,QAE/H,IAAIrX,EAA0B,gBAAoB,GAAYlZ,OAAO2J,OAAO,CAC1EyH,WAAYA,IACX,QAAKp+B,EAAO,CAAC,kBAAmB,CACjC2oC,gBAAiBA,EACjBC,gBAAiBA,EACjB9S,QAASwT,EACT/K,kBAAmBA,EACnBrD,QAASA,EACTwB,iBAAkB2oB,EAClBlgD,UAAWA,EACXo3B,kBAAmBA,GAAqBooB,EACxC1oB,eAAgB4oB,EAChBviD,QAAS2iD,EACThqB,QAnDoB,KAGpB,IAAIE,EAYJ,OAVEA,GADEunB,aAAmC,EAASA,EAAKxW,OACxB,gBAAoB,GAAMlf,OAAO2J,OAAO,CAAC,EAAG+rB,IAC3C,mBAAZznB,EACFA,IAEAA,EAEZypB,IACFvpB,EAAcupB,EAAevpB,IAE/BA,EAAc,WAAe4pB,KAA4B,iBAAhB5pB,EAAwC,gBAAoB,OAAQ,KAAMA,GAAeA,GAC9G,gBAAoBsb,GAAkB,CACxDtxC,UAAW,GAAGA,SACd0yB,cAAe,IAAWyB,EAAWH,GACrC7oB,WAAyB,gBAAoB,OAAQ,CACnDlL,UAAW,GAAGD,wBACA,gBAAoB,KAAe,CACjDC,UAAW,GAAGD,+BAEhBs+B,KAAM,WACNyJ,YAAY,EACZ7+B,QAASo3C,EACT5C,UAAWp+C,IACT,IAAI,KACFg/B,GACEh/B,CAEmJ,GAExJ02B,EAAY,EAmBfiB,UAAW0oB,EACXhoB,gBAAiBqoB,EACjBxoB,aAAc3P,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGiuB,aAA2C,EAASA,EAAS36C,OAAQ0yB,GAAe,CAC9I4gB,aAEAyH,GAMJ,OALIzH,IACFrX,EAA0B,gBAAoB,KAAcvlC,SAAU,CACpEE,MAAO6kD,GACNxf,IAEE7M,EAAW6M,EAAW,EAazB,IAAY,QAAa,GAAU,YAAY/gC,GAAaA,IAXlE,SAAuBnF,GACrB,OAAOgtB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG32B,GAAQ,CAC7CqF,MAAO,CACLiK,SAAU,CACRgsB,SAAS,EACTC,SAAS,KAIjB,IAKA,GAASoqB,uCADa3lD,GAAuB,gBAAoB,GAAWgtB,OAAO2J,OAAO,CAAC,EAAG32B,GAAqB,gBAAoB,OAAQ,OAK/I,uCC5MO,MAAM4lD,GAAgC,qBAAoBllD,GCX3DmlD,GAAc,uBACPC,GAAcD,GAAYryB,KAAKuyB,KAAKF,IAW1C,SAASG,GAASC,GACvB,MAAsB,iBAARA,CAChB,CACO,SAASC,GAA0Bt/B,GACxC,MAAgB,SAATA,GAA4B,SAATA,CAC5B,CAoCA,MCrDMu/B,IAA2B,IAAA32B,aAAW,CAACxvB,EAAOC,KAClD,MAAM,UACJmF,EAAS,MACT6E,EAAK,SACLnJ,EAAQ,UACRqE,GACEnF,EACEomD,EAAiB,IAAW,GAAGjhD,SAAkBC,GACvD,OAAoB,kBAAoB,OAAQ,CAC9CnF,IAAKA,EACLmF,UAAWghD,EACXn8C,MAAOA,GACNnJ,EAAS,IAEd,sBCXA,MAAMulD,IAAgC,IAAA72B,aAAW,CAACxvB,EAAOC,KACvD,MAAM,UACJkF,EAAS,UACTC,EAAS,MACT6E,EAAK,cACLq8C,GACEtmD,EACEumD,EAAgB,IAAW,GAAGphD,iBAA0BC,GAC9D,OAAoB,kBAAoB,GAAa,CACnDD,UAAWA,EACXC,UAAWmhD,EACXt8C,MAAOA,EACPhK,IAAKA,GACS,kBAAoBumD,GAAA,EAAiB,CACnDphD,UAAWkhD,IACV,IAECG,GAAoB,KAAM,CAC9Bp3C,MAAO,EACPkiB,QAAS,EACTxR,UAAW,aAEP2mC,GAAelvC,IAAQ,CAC3BnI,MAAOmI,EAAKW,YACZoZ,QAAS,EACTxR,UAAW,aA4Cb,GA1CoB/f,IAClB,MAAM,UACJmF,EAAS,QACTwhD,EAAO,UACPC,EAAS,UACTxhD,EAAS,MACT6E,GACEjK,EACE81B,IAAY6wB,EAClB,OAAIC,EACkB,kBAAoBP,GAAkB,CACxDlhD,UAAWA,EACXC,UAAWA,EACX6E,MAAOA,IAGS,kBAAoB,MAAW,CACjD6rB,QAASA,EAETE,WAAY,GAAG7wB,wBACf0hD,YAAa/wB,EACb2S,eAAe,EACfqe,cAAeL,GACfM,eAAgBL,GAChBM,aAAcP,GACdQ,cAAeP,GACfQ,aAAcR,GACdS,cAAeV,KACd,CAAC7lD,EAAMX,KACR,IACEmF,UAAWgiD,EACXn9C,MAAOw/B,GACL7oC,EACJ,OAAoB,kBAAoBylD,GAAkB,CACxDlhD,UAAWA,EACXC,UAAWA,EACX6E,MAAO+iB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG1sB,GAAQw/B,GAC/CxpC,IAAKA,EACLqmD,cAAec,GACf,GACF,EC1EEC,GAAuB,CAACC,EAAe3yB,KAAgB,CAE3D,CAAC,aAAa2yB,KAAkB,CAC9B,qBAAsB,CACpB,CAAC,UAAUA,KAAkB,CAC3B,mBAAoB,CAClBpN,qBAAsBvlB,KAI5B,sBAAuB,CACrB,CAAC,UAAU2yB,KAAkB,CAC3B,mBAAoB,CAClBC,uBAAwB5yB,QAoDlC,GA9CsB3D,IACpB,MAAM,aACJC,EAAY,SACZjf,EAAQ,UACRglC,EAAS,iBACTwQ,EAAgB,gBAChB7I,GACE3tB,EACJ,MAAO,CACL,CAAC,GAAGC,WAAuB,CAAC,CAC1BhpB,SAAU,WACVsH,QAAS,cAET,CAAC,aAAa0hB,KAAiB,CAC7B,qBAAsB,CACpB,CAAC,UAAUA,KAAiB,CAC1Bw2B,qBAAsB,EACtBC,mBAAoB,IAGxB,sBAAuB,CACrBpL,kBAAmBtrB,EAAM0mB,KAAKV,GAAWY,KAAK,GAAGC,QACjD,CAAC,UAAU5mB,KAAiB,CAC1B02B,uBAAwB,EACxBC,qBAAsB,KAI5B,CAAC32B,GAAe,CACdhpB,SAAU,WACVs1C,OAAQ,EACR,6BAA8B,CAC5BA,OAAQ,GAEV,cAAe,CACbA,OAAQ,IAGZ,CAAC,GAAGtsB,eAA2B,CAC7Bjf,aAIJq1C,GAAqB,GAAGp2B,YAAwBu2B,GAAmBH,GAAqB,GAAGp2B,WAAuB0tB,IACnH,EC9DGkJ,GAAQ7tC,KAAK6tC,MAYnB,SAASC,GAAc7B,EAAK8B,GAC1B,MAAMC,EAAQ/B,EAEbgC,QAAQ,eAAgB,MAExBA,QAAQ,OAAQ,IAAID,MAAM,iBAAmB,GACxCE,EAAUF,EAAM96C,KAAIC,GAAQkK,WAAWlK,KAC7C,IAAK,IAAIJ,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1Bm7C,EAAQn7C,GAAKg7C,EAASG,EAAQn7C,IAAM,EAAGi7C,EAAMj7C,IAAM,GAAIA,GAUzD,OANIi7C,EAAM,GACRE,EAAQ,GAAKF,EAAM,GAAGxvC,SAAS,KAAO0vC,EAAQ,GAAK,IAAMA,EAAQ,GAGjEA,EAAQ,GAAK,EAERA,CACT,CACA,MAAMC,GAAgB,CAACC,EAAKrvC,EAAGrT,IAAoB,IAAVA,EAAc0iD,EAAMA,EAAM,IAGnE,SAASC,GAAWxnD,EAAOoZ,GACzB,MAAMquC,EAAYruC,GAAO,IACzB,OAAIpZ,EAAQynD,EACHA,EAELznD,EAAQ,EACH,EAEFA,CACT,CACO,MAAM0nD,GACX,WAAAC,CAAY53B,GAmCV,SAAS63B,EAAYxC,GACnB,OAAOA,EAAI,KAAMr1B,GAASq1B,EAAI,KAAMr1B,GAASq1B,EAAI,KAAMr1B,CACzD,CACA,IAlCA,OAAgB+B,KAAM,WAAW,IAIjC,OAAgBA,KAAM,IAAK,IAI3B,OAAgBA,KAAM,IAAK,IAI3B,OAAgBA,KAAM,IAAK,IAI3B,OAAgBA,KAAM,IAAK,IAE3B,OAAgBA,KAAM,UAAM,IAC5B,OAAgBA,KAAM,UAAM,IAC5B,OAAgBA,KAAM,UAAM,IAC5B,OAAgBA,KAAM,UAAM,IAE5B,OAAgBA,KAAM,YAAQ,IAC9B,OAAgBA,KAAM,YAAQ,IAC9B,OAAgBA,KAAM,mBAAe,GAShC/B,EAEE,GAAqB,iBAAVA,EAAoB,CACpC,MAAM83B,EAAU93B,EAAM+3B,OACtB,SAASC,EAAYC,GACnB,OAAOH,EAAQ9X,WAAWiY,EAC5B,CACI,oBAAoBr1B,KAAKk1B,GAC3B/1B,KAAKm2B,cAAcJ,GACVE,EAAY,OACrBj2B,KAAKo2B,cAAcL,GACVE,EAAY,OACrBj2B,KAAKq2B,cAAcN,IACVE,EAAY,QAAUA,EAAY,SAC3Cj2B,KAAKs2B,cAAcP,EAEvB,MAAO,GAAI93B,aAAiB23B,GAC1B51B,KAAKu2B,EAAIt4B,EAAMs4B,EACfv2B,KAAKw2B,EAAIv4B,EAAMu4B,EACfx2B,KAAK6H,EAAI5J,EAAM4J,EACf7H,KAAK4H,EAAI3J,EAAM2J,EACf5H,KAAKy2B,GAAKx4B,EAAMw4B,GAChBz2B,KAAK02B,GAAKz4B,EAAMy4B,GAChB12B,KAAK22B,GAAK14B,EAAM04B,GAChB32B,KAAK42B,GAAK34B,EAAM24B,QACX,GAAId,EAAY,OACrB91B,KAAKu2B,EAAIb,GAAWz3B,EAAMs4B,GAC1Bv2B,KAAKw2B,EAAId,GAAWz3B,EAAMu4B,GAC1Bx2B,KAAK6H,EAAI6tB,GAAWz3B,EAAM4J,GAC1B7H,KAAK4H,EAAuB,iBAAZ3J,EAAM2J,EAAiB8tB,GAAWz3B,EAAM2J,EAAG,GAAK,OAC3D,GAAIkuB,EAAY,OACrB91B,KAAK62B,QAAQ54B,OACR,KAAI63B,EAAY,OAGrB,MAAM,IAAIgB,MAAM,6CAA+CC,KAAKC,UAAU/4B,IAF9E+B,KAAKi3B,QAAQh5B,EAGf,CACF,CAIA,IAAAi5B,CAAKhpD,GACH,OAAO8xB,KAAKm3B,IAAI,IAAKjpD,EACvB,CACA,IAAAkpD,CAAKlpD,GACH,OAAO8xB,KAAKm3B,IAAI,IAAKjpD,EACvB,CACA,IAAAmpD,CAAKnpD,GACH,OAAO8xB,KAAKm3B,IAAI,IAAKjpD,EACvB,CACA,IAAAopD,CAAKppD,GACH,OAAO8xB,KAAKm3B,IAAI,IAAKjpD,EAAO,EAC9B,CACA,MAAAqpD,CAAOrpD,GACL,MAAMspD,EAAMx3B,KAAKy3B,QAEjB,OADAD,EAAIE,EAAIxpD,EACD8xB,KAAKirB,GAAGuM,EACjB,CAOA,YAAAG,GACE,SAASC,EAAYC,GACnB,MAAMjmD,EAAMimD,EAAM,IAClB,OAAOjmD,GAAO,OAAUA,EAAM,MAAQyV,KAAKywC,KAAKlmD,EAAM,MAAS,MAAO,IACxE,CAIA,MAAO,MAHGgmD,EAAY53B,KAAKu2B,GAGP,MAFVqB,EAAY53B,KAAKw2B,GAEM,MADvBoB,EAAY53B,KAAK6H,EAE7B,CACA,MAAAkwB,GACE,QAAuB,IAAZ/3B,KAAKy2B,GAAoB,CAClC,MAAMnrC,EAAQ0U,KAAKg4B,SAAWh4B,KAAKi4B,SAEjCj4B,KAAKy2B,GADO,IAAVnrC,EACQ,EAEA4pC,GAAM,IAAMl1B,KAAKu2B,IAAMv2B,KAAKg4B,UAAYh4B,KAAKw2B,EAAIx2B,KAAK6H,GAAKvc,GAAS0U,KAAKw2B,EAAIx2B,KAAK6H,EAAI,EAAI,GAAK7H,KAAKw2B,IAAMx2B,KAAKg4B,UAAYh4B,KAAK6H,EAAI7H,KAAKu2B,GAAKjrC,EAAQ,GAAK0U,KAAKu2B,EAAIv2B,KAAKw2B,GAAKlrC,EAAQ,GAEpM,CACA,OAAO0U,KAAKy2B,EACd,CACA,aAAAyB,GACE,QAAuB,IAAZl4B,KAAK02B,GAAoB,CAClC,MAAMprC,EAAQ0U,KAAKg4B,SAAWh4B,KAAKi4B,SAEjCj4B,KAAK02B,GADO,IAAVprC,EACQ,EAEAA,EAAQ0U,KAAKg4B,QAE3B,CACA,OAAOh4B,KAAK02B,EACd,CACA,YAAAyB,GAIE,YAHuB,IAAZn4B,KAAK22B,KACd32B,KAAK22B,IAAM32B,KAAKg4B,SAAWh4B,KAAKi4B,UAAY,KAEvCj4B,KAAK22B,EACd,CACA,QAAApoD,GAIE,YAHuB,IAAZyxB,KAAK42B,KACd52B,KAAK42B,GAAK52B,KAAKg4B,SAAW,KAErBh4B,KAAK42B,EACd,CAOA,aAAAwB,GAIE,YAHgC,IAArBp4B,KAAKq4B,cACdr4B,KAAKq4B,aAAwB,IAATr4B,KAAKu2B,EAAmB,IAATv2B,KAAKw2B,EAAmB,IAATx2B,KAAK6H,GAAW,KAE7D7H,KAAKq4B,WACd,CAIA,MAAAC,CAAOC,EAAS,IACd,MAAMb,EAAI13B,KAAK+3B,SACT1yB,EAAIrF,KAAKk4B,gBACf,IAAIM,EAAIx4B,KAAKm4B,eAAiBI,EAAS,IAIvC,OAHIC,EAAI,IACNA,EAAI,GAECx4B,KAAKirB,GAAG,CACbyM,IACAryB,IACAmzB,IACA5wB,EAAG5H,KAAK4H,GAEZ,CACA,OAAA6wB,CAAQF,EAAS,IACf,MAAMb,EAAI13B,KAAK+3B,SACT1yB,EAAIrF,KAAKk4B,gBACf,IAAIM,EAAIx4B,KAAKm4B,eAAiBI,EAAS,IAIvC,OAHIC,EAAI,IACNA,EAAI,GAECx4B,KAAKirB,GAAG,CACbyM,IACAryB,IACAmzB,IACA5wB,EAAG5H,KAAK4H,GAEZ,CAMA,GAAA8wB,CAAIz6B,EAAOs6B,EAAS,IAClB,MAAM75B,EAAQsB,KAAKirB,GAAGhtB,GAChBsH,EAAIgzB,EAAS,IACbxT,EAAOz1C,IAAQovB,EAAMpvB,GAAO0wB,KAAK1wB,IAAQi2B,EAAIvF,KAAK1wB,GAClDqpD,EAAO,CACXpC,EAAGrB,GAAMnQ,EAAK,MACdyR,EAAGtB,GAAMnQ,EAAK,MACdld,EAAGqtB,GAAMnQ,EAAK,MACdnd,EAAGstB,GAAkB,IAAZnQ,EAAK,MAAc,KAE9B,OAAO/kB,KAAKirB,GAAG0N,EACjB,CAMA,IAAAC,CAAKL,EAAS,IACZ,OAAOv4B,KAAK04B,IAAI,CACdnC,EAAG,IACHC,EAAG,IACH3uB,EAAG,IACHD,EAAG,GACF2wB,EACL,CAMA,KAAAM,CAAMN,EAAS,IACb,OAAOv4B,KAAK04B,IAAI,CACdnC,EAAG,EACHC,EAAG,EACH3uB,EAAG,EACHD,EAAG,GACF2wB,EACL,CACA,YAAAO,CAAat6B,GACX,MAAMu6B,EAAK/4B,KAAKirB,GAAGzsB,GACbw6B,EAAQh5B,KAAK4H,EAAImxB,EAAGnxB,GAAK,EAAI5H,KAAK4H,GAClCmd,EAAOz1C,GACJ4lD,IAAOl1B,KAAK1wB,GAAO0wB,KAAK4H,EAAImxB,EAAGzpD,GAAOypD,EAAGnxB,GAAK,EAAI5H,KAAK4H,IAAMoxB,GAEtE,OAAOh5B,KAAKirB,GAAG,CACbsL,EAAGxR,EAAK,KACRyR,EAAGzR,EAAK,KACRld,EAAGkd,EAAK,KACRnd,EAAGoxB,GAEP,CAGA,MAAAC,GACE,OAAOj5B,KAAKo4B,gBAAkB,GAChC,CACA,OAAAc,GACE,OAAOl5B,KAAKo4B,iBAAmB,GACjC,CAGA,MAAAe,CAAOrkB,GACL,OAAO9U,KAAKu2B,IAAMzhB,EAAMyhB,GAAKv2B,KAAKw2B,IAAM1hB,EAAM0hB,GAAKx2B,KAAK6H,IAAMiN,EAAMjN,GAAK7H,KAAK4H,IAAMkN,EAAMlN,CAC5F,CACA,KAAAhgB,GACE,OAAOoY,KAAKirB,GAAGjrB,KACjB,CAGA,WAAAo5B,GACE,IAAIC,EAAM,IACV,MAAMC,GAAQt5B,KAAKu2B,GAAK,GAAGv/C,SAAS,IACpCqiD,GAAuB,IAAhBC,EAAKxgD,OAAewgD,EAAO,IAAMA,EACxC,MAAMC,GAAQv5B,KAAKw2B,GAAK,GAAGx/C,SAAS,IACpCqiD,GAAuB,IAAhBE,EAAKzgD,OAAeygD,EAAO,IAAMA,EACxC,MAAMC,GAAQx5B,KAAK6H,GAAK,GAAG7wB,SAAS,IAEpC,GADAqiD,GAAuB,IAAhBG,EAAK1gD,OAAe0gD,EAAO,IAAMA,EAClB,iBAAXx5B,KAAK4H,GAAkB5H,KAAK4H,GAAK,GAAK5H,KAAK4H,EAAI,EAAG,CAC3D,MAAM6xB,EAAOvE,GAAe,IAATl1B,KAAK4H,GAAS5wB,SAAS,IAC1CqiD,GAAuB,IAAhBI,EAAK3gD,OAAe2gD,EAAO,IAAMA,CAC1C,CACA,OAAOJ,CACT,CAGA,KAAAK,GACE,MAAO,CACLhC,EAAG13B,KAAK+3B,SACR1yB,EAAGrF,KAAKk4B,gBACRM,EAAGx4B,KAAKm4B,eACRvwB,EAAG5H,KAAK4H,EAEZ,CAGA,WAAA+xB,GACE,MAAMjC,EAAI13B,KAAK+3B,SACT1yB,EAAI6vB,GAA6B,IAAvBl1B,KAAKk4B,iBACfM,EAAItD,GAA4B,IAAtBl1B,KAAKm4B,gBACrB,OAAkB,IAAXn4B,KAAK4H,EAAU,QAAQ8vB,KAAKryB,MAAMmzB,MAAMx4B,KAAK4H,KAAO,OAAO8vB,KAAKryB,MAAMmzB,KAC/E,CAGA,KAAAf,GACE,MAAO,CACLC,EAAG13B,KAAK+3B,SACR1yB,EAAGrF,KAAKk4B,gBACRlwB,EAAGhI,KAAKzxB,WACRq5B,EAAG5H,KAAK4H,EAEZ,CACA,KAAAgyB,GACE,MAAO,CACLrD,EAAGv2B,KAAKu2B,EACRC,EAAGx2B,KAAKw2B,EACR3uB,EAAG7H,KAAK6H,EACRD,EAAG5H,KAAK4H,EAEZ,CACA,WAAAukB,GACE,OAAkB,IAAXnsB,KAAK4H,EAAU,QAAQ5H,KAAKu2B,KAAKv2B,KAAKw2B,KAAKx2B,KAAK6H,KAAK7H,KAAK4H,KAAO,OAAO5H,KAAKu2B,KAAKv2B,KAAKw2B,KAAKx2B,KAAK6H,IAC1G,CACA,QAAA7wB,GACE,OAAOgpB,KAAKmsB,aACd,CAIA,GAAAgL,CAAI0C,EAAK3rD,EAAOoZ,GACd,MAAMM,EAAQoY,KAAKpY,QAEnB,OADAA,EAAMiyC,GAAOnE,GAAWxnD,EAAOoZ,GACxBM,CACT,CACA,EAAAqjC,CAAGhtB,GACD,OAAO,IAAI+B,KAAK61B,YAAY53B,EAC9B,CACA,MAAA+5B,GAIE,YAHyB,IAAdh4B,KAAK85B,OACd95B,KAAK85B,KAAOzyC,KAAKC,IAAI0Y,KAAKu2B,EAAGv2B,KAAKw2B,EAAGx2B,KAAK6H,IAErC7H,KAAK85B,IACd,CACA,MAAA7B,GAIE,YAHyB,IAAdj4B,KAAK+5B,OACd/5B,KAAK+5B,KAAO1yC,KAAK2yC,IAAIh6B,KAAKu2B,EAAGv2B,KAAKw2B,EAAGx2B,KAAK6H,IAErC7H,KAAK+5B,IACd,CACA,aAAA5D,CAAcJ,GACZ,MAAMkE,EAAgBlE,EAAQT,QAAQ,IAAK,IAC3C,SAAS4E,EAAWC,EAAQC,GAC1B,OAAOC,SAASJ,EAAcE,GAAUF,EAAcG,GAAUD,GAAS,GAC3E,CACIF,EAAcnhD,OAAS,GAEzBknB,KAAKu2B,EAAI2D,EAAW,GACpBl6B,KAAKw2B,EAAI0D,EAAW,GACpBl6B,KAAK6H,EAAIqyB,EAAW,GACpBl6B,KAAK4H,EAAIqyB,EAAc,GAAKC,EAAW,GAAK,IAAM,IAGlDl6B,KAAKu2B,EAAI2D,EAAW,EAAG,GACvBl6B,KAAKw2B,EAAI0D,EAAW,EAAG,GACvBl6B,KAAK6H,EAAIqyB,EAAW,EAAG,GACvBl6B,KAAK4H,EAAIqyB,EAAc,GAAKC,EAAW,EAAG,GAAK,IAAM,EAEzD,CACA,OAAArD,EAAQ,EACNa,EAAC,EACDryB,EAAC,EACDmzB,EAAC,EACD5wB,IAMA,GAJA5H,KAAKy2B,GAAKiB,EAAI,IACd13B,KAAK02B,GAAKrxB,EACVrF,KAAK22B,GAAK6B,EACVx4B,KAAK4H,EAAiB,iBAANA,EAAiBA,EAAI,EACjCvC,GAAK,EAAG,CACV,MAAMw0B,EAAM3E,GAAU,IAAJsD,GAClBx4B,KAAKu2B,EAAIsD,EACT75B,KAAKw2B,EAAIqD,EACT75B,KAAK6H,EAAIgyB,CACX,CACA,IAAItD,EAAI,EACNC,EAAI,EACJ3uB,EAAI,EACN,MAAMyyB,EAAW5C,EAAI,GACf6C,GAAU,EAAIlzC,KAAKmzC,IAAI,EAAIhC,EAAI,IAAMnzB,EACrCo1B,EAAkBF,GAAU,EAAIlzC,KAAKmzC,IAAIF,EAAW,EAAI,IAC1DA,GAAY,GAAKA,EAAW,GAC9B/D,EAAIgE,EACJ/D,EAAIiE,GACKH,GAAY,GAAKA,EAAW,GACrC/D,EAAIkE,EACJjE,EAAI+D,GACKD,GAAY,GAAKA,EAAW,GACrC9D,EAAI+D,EACJ1yB,EAAI4yB,GACKH,GAAY,GAAKA,EAAW,GACrC9D,EAAIiE,EACJ5yB,EAAI0yB,GACKD,GAAY,GAAKA,EAAW,GACrC/D,EAAIkE,EACJ5yB,EAAI0yB,GACKD,GAAY,GAAKA,EAAW,IACrC/D,EAAIgE,EACJ1yB,EAAI4yB,GAEN,MAAMC,EAAwBlC,EAAI+B,EAAS,EAC3Cv6B,KAAKu2B,EAAIrB,GAAoC,KAA7BqB,EAAImE,IACpB16B,KAAKw2B,EAAItB,GAAoC,KAA7BsB,EAAIkE,IACpB16B,KAAK6H,EAAIqtB,GAAoC,KAA7BrtB,EAAI6yB,GACtB,CACA,OAAAzD,EAAQ,EACNS,EAAC,EACDryB,EAAC,EACD2C,EAAC,EACDJ,IAEA5H,KAAKy2B,GAAKiB,EAAI,IACd13B,KAAK02B,GAAKrxB,EACVrF,KAAK42B,GAAK5uB,EACVhI,KAAK4H,EAAiB,iBAANA,EAAiBA,EAAI,EACrC,MAAM+yB,EAAKzF,GAAU,IAAJltB,GAIjB,GAHAhI,KAAKu2B,EAAIoE,EACT36B,KAAKw2B,EAAImE,EACT36B,KAAK6H,EAAI8yB,EACLt1B,GAAK,EACP,OAEF,MAAMu1B,EAAKlD,EAAI,GACTt9C,EAAIiN,KAAKS,MAAM8yC,GACfC,EAAKD,EAAKxgD,EACVmrB,EAAI2vB,GAAMltB,GAAK,EAAM3C,GAAK,KAC1By1B,EAAI5F,GAAMltB,GAAK,EAAM3C,EAAIw1B,GAAM,KAC/Bv1B,EAAI4vB,GAAMltB,GAAK,EAAM3C,GAAK,EAAMw1B,IAAO,KAC7C,OAAQzgD,GACN,KAAK,EACH4lB,KAAKw2B,EAAIlxB,EACTtF,KAAK6H,EAAItC,EACT,MACF,KAAK,EACHvF,KAAKu2B,EAAIuE,EACT96B,KAAK6H,EAAItC,EACT,MACF,KAAK,EACHvF,KAAKu2B,EAAIhxB,EACTvF,KAAK6H,EAAIvC,EACT,MACF,KAAK,EACHtF,KAAKu2B,EAAIhxB,EACTvF,KAAKw2B,EAAIsE,EACT,MACF,KAAK,EACH96B,KAAKu2B,EAAIjxB,EACTtF,KAAKw2B,EAAIjxB,EACT,MAEF,QACEvF,KAAKw2B,EAAIjxB,EACTvF,KAAK6H,EAAIizB,EAGf,CACA,aAAAxE,CAAcP,GACZ,MAAM3yC,EAAQ+xC,GAAcY,EAASP,IACrCx1B,KAAKi3B,QAAQ,CACXS,EAAGt0C,EAAM,GACTiiB,EAAGjiB,EAAM,GACT4kB,EAAG5kB,EAAM,GACTwkB,EAAGxkB,EAAM,IAEb,CACA,aAAAizC,CAAcN,GACZ,MAAM3yC,EAAQ+xC,GAAcY,EAASP,IACrCx1B,KAAK62B,QAAQ,CACXa,EAAGt0C,EAAM,GACTiiB,EAAGjiB,EAAM,GACTo1C,EAAGp1C,EAAM,GACTwkB,EAAGxkB,EAAM,IAEb,CACA,aAAAgzC,CAAcL,GACZ,MAAM3yC,EAAQ+xC,GAAcY,GAAS,CAACN,EAAKsF,IAE3CA,EAAIl1C,SAAS,KAAOqvC,GAAMO,EAAM,IAAM,KAAOA,IAC7Cz1B,KAAKu2B,EAAInzC,EAAM,GACf4c,KAAKw2B,EAAIpzC,EAAM,GACf4c,KAAK6H,EAAIzkB,EAAM,GACf4c,KAAK4H,EAAIxkB,EAAM,EACjB,EC5gBF,ICJkDsb,GDI9C,GAAY,CAAC,KACf,GAAa,CAAC,KAELs8B,GAAiB,SAAwB9sD,GAClD,OAAOmZ,KAAK6tC,MAAMzjC,OAAOvjB,GAAS,GACpC,EAkBW,GAAqB,SAAU+sD,IACxC,QAAUC,EAAOD,GACjB,IAAIvpB,GAAS,QAAawpB,GAC1B,SAASA,EAAMx8B,GAEb,OADA,QAAgBsB,KAAMk7B,GACfxpB,EAAOh7B,KAAKspB,KAtBF,SAAwBtB,GAC3C,GAAIA,aAAiBk3B,GACnB,OAAOl3B,EAET,GAAIA,GAA4B,YAAnB,OAAQA,IAAuB,MAAOA,GAAS,MAAOA,EAAO,CACxE,IAAIzwB,EAAOywB,EACTmJ,EAAI55B,EAAK45B,EACTszB,GAAS,OAAyBltD,EAAM,IAC1C,OAAO,QAAc,OAAc,CAAC,EAAGktD,GAAS,CAAC,EAAG,CAClDnzB,EAAGH,GAEP,CACA,MAAqB,iBAAVnJ,GAAsB,MAAMmC,KAAKnC,GACnCA,EAAM42B,QAAQ,MAAO,OAEvB52B,CACT,CAM6B08B,CAAe18B,GAC1C,CAyBA,OAxBA,QAAaw8B,EAAO,CAAC,CACnB5rD,IAAK,cACLpB,MAAO,WACL,IAAImtD,EAAMr7B,KAAKs7B,QACXC,EAAaP,GAAuB,IAARK,EAAIh2B,GAChCm2B,EAAYR,GAAuB,IAARK,EAAIxzB,GAC/B4zB,EAAMT,GAAeK,EAAI3D,GACzBsB,EAAQqC,EAAIzzB,EACZ8zB,EAAY,OAAOjqD,OAAOgqD,EAAK,MAAMhqD,OAAO8pD,EAAY,OAAO9pD,OAAO+pD,EAAW,MACjFG,EAAa,QAAQlqD,OAAOgqD,EAAK,MAAMhqD,OAAO8pD,EAAY,OAAO9pD,OAAO+pD,EAAW,OAAO/pD,OAAOunD,EAAM7oB,QAAkB,IAAV6oB,EAAc,EAAI,GAAI,KACzI,OAAiB,IAAVA,EAAc0C,EAAYC,CACnC,GACC,CACDrsD,IAAK,QACLpB,MAAO,WACL,IAAI0tD,EAAc57B,KAAKy3B,QACrBzvB,EAAI4zB,EAAY5zB,EAChBmzB,GAAS,OAAyBS,EAAa,IACjD,OAAO,QAAc,OAAc,CAAC,EAAGT,GAAS,CAAC,EAAG,CAClDtzB,EAAGG,EACHJ,EAAG5H,KAAK4H,GAEZ,KAEKszB,CACT,CAhCgC,CAgC9BtF,KC3DgDl3B,GAMV,qBALjB,IAGd,IAAI,GAAMA,ICFZ,IAAIm9B,GAAgC,WAoCzC,OAAO,SAnCP,SAASA,EAAiBn9B,GAExB,IAAI8E,EAGJ,IAJA,QAAgBxD,KAAM67B,GAEtB77B,KAAK87B,SAAU,EAEXp9B,aAAiBm9B,EAOnB,OANA77B,KAAK+7B,UAAYr9B,EAAMq9B,UAAUn0C,QACjCoY,KAAKg8B,OAAiC,QAAvBx4B,EAAK9E,EAAMs9B,cAA2B,IAAPx4B,OAAgB,EAASA,EAAGjpB,KAAImhB,IAAQ,CACpFgD,MAAO,IAAIm9B,EAAiBngC,EAAKgD,OACjCu9B,QAASvgC,EAAKugC,iBAEhBj8B,KAAK87B,QAAUp9B,EAAMo9B,SAGvB,MAAM1sD,EAAUD,MAAMC,QAAQsvB,GAC1BtvB,GAAWsvB,EAAM5lB,QACnBknB,KAAKg8B,OAASt9B,EAAMnkB,KAAItM,IACtB,IACEywB,MAAOw9B,EAAC,QACRD,GACEhuD,EACJ,MAAO,CACLywB,MAAO,IAAIm9B,EAAiBK,GAC5BD,UACD,IAEHj8B,KAAK+7B,UAAY,IAAI,GAAQ/7B,KAAKg8B,OAAO,GAAGt9B,MAAMq9B,YAElD/7B,KAAK+7B,UAAY,IAAI,GAAQ3sD,EAAU,GAAKsvB,KAEzCA,GAAStvB,IAAY4wB,KAAKg8B,UAC7Bh8B,KAAK+7B,UAAY/7B,KAAK+7B,UAAUzE,KAAK,GACrCt3B,KAAK87B,SAAU,EAEnB,GACsC,CAAC,CACrCxsD,IAAK,QACLpB,MAAO,WACL,OAAO8xB,KAAK+7B,UAAUT,OACxB,GACC,CACDhsD,IAAK,cACLpB,MAAO,WACL,OAAO8xB,KAAK+7B,UAAUI,aACxB,GACC,CACD7sD,IAAK,QACLpB,MAAO,WACL,OAlDiBA,EAkDH8xB,KAAKo5B,cAlDKJ,EAkDUh5B,KAAK+7B,UAAUn0B,EAAI,EAlDnB15B,EADb,EAACA,EAAO8qD,KAAW9qD,aAAqC,EAASA,EAAMonD,QAAQ,UAAW,IAAI3vC,MAAM,EAAGqzC,EAAQ,EAAI,KAAO,GACrGoD,CAAYluD,EAAO8qD,GAAS,GAAtD,IAAC9qD,EAAO8qD,CAmD1B,GACC,CACD1pD,IAAK,cACLpB,MAAO,WACL,OAAO8xB,KAAK+7B,UAAU3C,aACxB,GACC,CACD9pD,IAAK,QACLpB,MAAO,WACL,OAAO8xB,KAAK+7B,UAAUnC,OACxB,GACC,CACDtqD,IAAK,cACLpB,MAAO,WACL,OAAO8xB,KAAK+7B,UAAU5P,aACxB,GACC,CACD78C,IAAK,aACLpB,MAAO,WACL,QAAS8xB,KAAKg8B,SAAWh8B,KAAK87B,OAChC,GACC,CACDxsD,IAAK,YACLpB,MAAO,WACL,OAAO8xB,KAAKg8B,QAAU,CAAC,CACrBt9B,MAAOsB,KACPi8B,QAAS,GAEb,GACC,CACD3sD,IAAK,cACLpB,MAAO,WACL,MAAM,OACJ8tD,GACEh8B,KAEJ,OAAIg8B,EAEK,0BADWA,EAAOzhD,KAAI2hD,GAAK,GAAGA,EAAEx9B,MAAMytB,iBAAiB+P,EAAED,aAAYzqD,KAAK,SAG5EwuB,KAAK+7B,UAAU5P,aACxB,GACC,CACD78C,IAAK,SACLpB,MAAO,SAAgBwwB,GACrB,SAAKA,GAASsB,KAAKq8B,eAAiB39B,EAAM29B,gBAGrCr8B,KAAKq8B,aAGHr8B,KAAKg8B,OAAOljD,SAAW4lB,EAAMs9B,OAAOljD,QAAUknB,KAAKg8B,OAAO7jD,OAAM,CAAC+jD,EAAG9hD,KACzE,MAAMkP,EAASoV,EAAMs9B,OAAO5hD,GAC5B,OAAO8hD,EAAED,UAAY3yC,EAAO2yC,SAAWC,EAAEx9B,MAAMy6B,OAAO7vC,EAAOoV,MAAM,IAJ5DsB,KAAKo5B,gBAAkB16B,EAAM06B,cAMxC,IAEJ,CA3G2C,mBCFpC,MAAMkD,GAAej+B,IAC1B,MAAM,cACJwmB,EAAa,aACb0X,EAAY,aACZ5L,GACEtyB,EAMJ,OALoB,SAAWA,EAAO,CACpCm+B,wBAAyB3X,EACzB4X,sBAAuB9L,EACvB+L,uBAAwBH,GAER,EAEP,GAAwBl+B,IACnC,IAAImF,EAAIwnB,EAAIC,EAAI0R,EAAIC,EAAIC,EACxB,MAAMC,EAAmD,QAAhCt5B,EAAKnF,EAAMy+B,uBAAoC,IAAPt5B,EAAgBA,EAAKnF,EAAMhf,SACtF09C,EAAuD,QAAlC/R,EAAK3sB,EAAM0+B,yBAAsC,IAAP/R,EAAgBA,EAAK3sB,EAAMhf,SAC1F29C,EAAuD,QAAlC/R,EAAK5sB,EAAM2+B,yBAAsC,IAAP/R,EAAgBA,EAAK5sB,EAAMmqB,WAC1FyU,EAAuD,QAAlCN,EAAKt+B,EAAM4+B,yBAAsC,IAAPN,EAAgBA,GAAK,QAAcG,GAClGI,EAA2D,QAApCN,EAAKv+B,EAAM6+B,2BAAwC,IAAPN,EAAgBA,GAAK,QAAcG,GACtGI,EAA2D,QAApCN,EAAKx+B,EAAM8+B,2BAAwC,IAAPN,EAAgBA,GAAK,QAAcG,GACtGI,ECVgB,EAAClvD,EAAOmvD,KAC9B,MAAM,EACJ9G,EAAC,EACDC,EAAC,EACD3uB,EAAC,EACDD,GACE15B,EAAM0rD,QACJpC,EAAM,IAAI,GAAQtpD,EAAMi+C,eAAe2M,aAAauE,GAAc5F,QACxE,OAAI7vB,GAAK,GAEA4vB,EAAIxvB,EAAI,GAEN,KAAJuuB,EAAgB,KAAJC,EAAgB,KAAJ3uB,EAAY,GAAG,EDFvBy1B,CAAS,IAAIzB,GAAiBx9B,EAAMk/B,cAAe,QAAU,OAAS,OAC7F,MAAO,CACLlM,WAAY,IACZmM,cAAe,KAAKn/B,EAAMo/B,2BAA2Bp/B,EAAMq/B,oBAC3DC,cAAe,KAAKt/B,EAAMo/B,2BAA2Bp/B,EAAMu/B,iBAC3DC,aAAc,KAAKx/B,EAAMo/B,2BAA2Bp/B,EAAMy/B,oBAC1DC,aAAc1/B,EAAM+pB,oBACpB4V,YAAa3/B,EAAM+pB,oBACnB6V,oBAAqB5/B,EAAM6/B,YAC3BC,kBAAmB9/B,EAAMktB,iBACzB6S,QAAS,cACTC,wBAAyBhgC,EAAMktB,iBAC/B1G,cAAexmB,EAAMigC,yBAA2BjgC,EAAMgmB,UACtDka,gBAAiBlgC,EAAMigC,yBAA2BjgC,EAAMgmB,UACxDma,gBAAiB,EAAIngC,EAAMgmB,UAC3BkY,aAAcl+B,EAAMmqB,WACpBiW,eAAgBpgC,EAAMmqB,WAAa,EACnCkW,eAAgBrgC,EAAMmqB,WAAa,EACnCqM,iBAAkBx2B,EAAMsgC,kBACxBC,YAAa,cACbC,cAAexgC,EAAMgtB,UACrByT,mBAAoBzgC,EAAMgtB,UAC1B0T,oBAAqB1gC,EAAMgtB,UAC3B2T,YAAa3gC,EAAM4gC,kBACnBC,aAAc7gC,EAAMgtB,UACpB8T,UAAW9gC,EAAMktB,iBACjB6T,mBAAoB/gC,EAAM6/B,YAC1BmB,2BAA4BhhC,EAAM6/B,YAClCoB,eAAgBjhC,EAAMktB,iBACtBgU,kBAAmBlhC,EAAMsgC,kBACzBa,wBAAyBnhC,EAAMsgC,kBAC/Bc,gBAAiBphC,EAAMktB,iBACvBmU,mBAAoBrhC,EAAMshC,mBAC1BC,yBAA0BvhC,EAAMshC,mBAChCvC,iBACAN,kBACAC,oBACAC,oBACAC,oBACAC,sBACAC,sBACAxM,aAActpC,KAAKC,KAAK+W,EAAMszB,cAAgBmL,EAAkBG,GAAqB,EAAI5+B,EAAMgmB,UAAW,GAC1Gwb,eAAgBx4C,KAAKC,KAAK+W,EAAM0tB,gBAAkBgR,EAAoBG,GAAuB,EAAI7+B,EAAMgmB,UAAW,GAClHyb,eAAgBz4C,KAAKC,KAAK+W,EAAMiqB,gBAAkB0U,EAAoBG,GAAuB,EAAI9+B,EAAMgmB,UAAW,GACnH,EE9DG0b,GAAuB1hC,IAC3B,MAAM,aACJC,EAAY,QACZ6pB,EAAO,WACPkJ,GACEhzB,EACJ,MAAO,CACL,CAACC,GAAe,CACdgsB,QAAS,OACTh1C,SAAU,WACVsH,QAAS,cACTojD,IAAK3hC,EAAMspB,SACXsB,WAAY,SACZgX,eAAgB,SAChB5O,aACA5H,WAAY,SACZryC,UAAW,SACX8oD,gBAAiB,OACjB1hC,WAAY,cACZtf,OAAQ,IAAG,SAAKmf,EAAMgmB,cAAchmB,EAAMimB,uBAC1CoF,OAAQ,UACR7qB,WAAY,OAAOR,EAAM0nB,qBAAqB1nB,EAAMW,kBACpDmhC,WAAY,OACZC,YAAa,eACb1hC,MAAOL,EAAMgtB,UACb,iBAAkB,CAChBlyB,cAAe,QAEjB,SAAU,CACRvc,QAAS,gBAEX,CAAC,GAAG0hB,UAAsB,CACxBkmB,WAAY,GAEd,MAAO,CACL9lB,MAAO,gBAET,mBAAoBrE,OAAO2J,OAAO,CAAC,GAAG,SAAc3F,IACpD,CAAC,IAAIC,qCAAiD,CACpD+hC,cAAe,UAEjB,CAAC,IAAI/hC,+BAA0C6pB,MAAa,CAC1DyB,gBAAiB,UACjByW,cAAe,UAGjB,aAAc,CACZC,cAAe,gBAGpB,EAEGC,GAA4B,CAACC,EAAQC,EAAYC,KAAgB,CACrE,CAAC,wBAAwBF,eAAqB,CAC5C,UAAWC,EACX,WAAYC,KAIVC,GAAuBtiC,IAAS,CACpC3d,SAAU2d,EAAMszB,cAChBzI,mBAAoB,EACpBhB,iBAAkB,EAClBhnB,aAAc,QAEV0/B,GAAsBviC,IAAS,CACnC6C,aAAc7C,EAAMszB,cACpBzI,mBAAoB7qB,EAAM0mB,KAAK1mB,EAAMszB,eAAevI,IAAI,GAAGlE,QAC3DgD,iBAAkB7pB,EAAM0mB,KAAK1mB,EAAMszB,eAAevI,IAAI,GAAGlE,UAErD2b,GAAmBxiC,IAAS,CAChCqrB,OAAQ,cACR1nB,YAAa3D,EAAM4/B,oBACnBv/B,MAAOL,EAAM8sB,kBACb3sB,WAAYH,EAAMyiC,yBAClBniC,UAAW,SAEPoiC,GAAsB,CAACP,EAAQhiC,EAAYwiC,EAAWh/B,EAAai/B,EAAmBhD,EAAqBwC,EAAYC,KAAgB,CAC3I,CAAC,IAAIF,sBAA4BnmC,OAAO2J,OAAO3J,OAAO2J,OAAO,CAC3DtF,MAAOsiC,QAAajzD,EACpBywB,aACAwD,YAAaA,QAAej0B,EAC5B4wB,UAAW,QACV4hC,GAA0BC,EAAQnmC,OAAO2J,OAAO,CACjDxF,cACCiiC,GAAapmC,OAAO2J,OAAO,CAC5BxF,cACCkiC,KAAgB,CACjB,aAAc,CACZhX,OAAQ,cACRhrB,MAAOuiC,QAAqBlzD,EAC5Bi0B,YAAai8B,QAAuBlwD,OAIpCmzD,GAA8B7iC,IAAS,CAC3C,CAAC,gBAAgBA,EAAMC,yBAA0BjE,OAAO2J,OAAO,CAAC,EAAG68B,GAAiBxiC,MAEhF8iC,GAA6B9iC,IAAS,CAC1C,CAAC,gBAAgBA,EAAMC,yBAA0B,CAC/CorB,OAAQ,cACRhrB,MAAOL,EAAM8sB,qBAIXiW,GAAwB,CAAC/iC,EAAOoiC,EAAYC,EAAaW,KAC7D,MACMC,EADiBD,GAAW,CAAC,OAAQ,QAAQx7C,SAASw7C,GACZF,GAA6BD,GAC7E,OAAO7mC,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGs9B,EAAuBjjC,IAASkiC,GAA0BliC,EAAMC,aAAcmiC,EAAYC,GAAa,EAE1Ia,GAAsB,CAACljC,EAAO2iC,EAAWxiC,EAAYiiC,EAAYC,KAAgB,CACrF,CAAC,IAAIriC,EAAMC,8BAA+BjE,OAAO2J,OAAO,CACtDtF,MAAOsiC,EACPxiC,cACC4iC,GAAsB/iC,EAAOoiC,EAAYC,MAExCc,GAA+B,CAACnjC,EAAO2D,EAAaxD,EAAYiiC,EAAYC,KAAgB,CAChG,CAAC,IAAIriC,EAAMC,mCAAmCD,EAAMC,+BAAgCjE,OAAO2J,OAAO,CAChGhC,cACAxD,cACC4iC,GAAsB/iC,EAAOoiC,EAAYC,MAExCe,GAAuBpjC,IAAS,CACpC,CAAC,IAAIA,EAAMC,+BAAgC,CACzCosB,YAAa,YAGXgX,GAAuB,CAACrjC,EAAOG,EAAYiiC,EAAYC,KAAgB,CAC3E,CAAC,IAAIriC,EAAMC,+BAAgCjE,OAAO2J,OAAO,CACvDrF,UAAW,OACXH,cACC4iC,GAAsB/iC,EAAOoiC,EAAYC,MAExCiB,GAAyB,CAACtjC,EAAO2iC,EAAWK,EAASZ,EAAYC,KAAgB,CACrF,CAAC,IAAIriC,EAAMC,wBAAwB+iC,KAAYhnC,OAAO2J,OAAO,CAC3DtF,MAAOsiC,EACPriC,UAAW,QACVyiC,GAAsB/iC,EAAOoiC,EAAYC,EAAaW,MAGrDO,GAAwBvjC,GAAShE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAC3GtF,MAAOL,EAAM6gC,aACbvgC,UAAWN,EAAMm/B,eAChB+D,GAAoBljC,EAAOA,EAAM++B,eAAgB/+B,EAAMk/B,aAAc,CACtE/+B,WAAYH,EAAMwjC,mBACjB,CACDrjC,WAAYH,EAAMyjC,sBACfL,GAAqBpjC,IAASqjC,GAAqBrjC,EAAOA,EAAM4gC,kBAAmB,CACtFzgC,WAAYH,EAAM0jC,oBACjB,CACDvjC,WAAYH,EAAM2jC,aACfL,GAAuBtjC,EAAOA,EAAMwgC,cAAe,OAAQ,CAC9DngC,MAAOL,EAAM4jC,eACbzjC,WAAYH,EAAMugC,aACjB,CACDlgC,MAAOL,EAAM6jC,mBACVnB,GAAoB1iC,EAAMC,aAAcD,EAAM+/B,QAAS//B,EAAM8/B,kBAAmB9/B,EAAMggC,wBAAyBhgC,EAAM8sB,kBAAmB9sB,EAAM6/B,cAC7IiE,GAAwB9jC,GAAShE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAC3GtF,MAAOL,EAAME,aACbI,UAAWN,EAAMs/B,eAChB6D,GAA6BnjC,EAAOA,EAAME,aAAcF,EAAMktB,iBAAkB,CACjF7sB,MAAOL,EAAM+jC,sBACbpgC,YAAa3D,EAAMsgC,kBACnBngC,WAAYH,EAAMktB,kBACjB,CACD7sB,MAAOL,EAAMgkC,uBACbrgC,YAAa3D,EAAMshC,mBACnBnhC,WAAYH,EAAMktB,oBACfkW,GAAqBpjC,IAASqjC,GAAqBrjC,EAAOA,EAAMikC,eAAgB,CACnF9jC,WAAYH,EAAMkkC,qBACjB,CACD/jC,WAAYH,EAAMmkC,sBACfb,GAAuBtjC,EAAOA,EAAMokC,UAAW,OAAQ,CAC1D/jC,MAAOL,EAAM+jC,sBACb5jC,WAAYH,EAAMikC,gBACjB,CACD5jC,MAAOL,EAAMgkC,uBACb7jC,WAAYH,EAAMmkC,sBACfzB,GAAoB1iC,EAAMC,aAAcD,EAAM+/B,QAAS//B,EAAME,aAAcF,EAAME,aAAcF,EAAM8sB,kBAAmB9sB,EAAM6/B,YAAa,CAC9Ix/B,MAAOL,EAAMsgC,kBACb38B,YAAa3D,EAAMsgC,mBAClB,CACDjgC,MAAOL,EAAMshC,mBACb39B,YAAa3D,EAAMshC,sBAEf+C,GAAoBrkC,GAAShE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CACnItF,MAAOL,EAAM6sB,WACbvsB,UAAWN,EAAMw/B,cAChB0D,GAAoBljC,EAAOA,EAAM2/B,YAAa3/B,EAAM6sB,WAAY,CACjE1sB,WAAYH,EAAM2tB,iBACjB,CACDxtB,WAAYH,EAAMskC,oBACfnB,GAA6BnjC,EAAOA,EAAM6sB,WAAY7sB,EAAMktB,iBAAkB,CACjF7sB,MAAOL,EAAM2tB,gBACbhqB,YAAa3D,EAAMukC,uBAClB,CACDlkC,MAAOL,EAAMskC,iBACb3gC,YAAa3D,EAAMskC,oBAChBlB,GAAqBpjC,IAASqjC,GAAqBrjC,EAAOA,EAAM+sB,aAAc,CACjF5sB,WAAYH,EAAMwkC,yBACjB,CACDrkC,WAAYH,EAAMykC,sBACfnB,GAAuBtjC,EAAOA,EAAM6sB,WAAY,OAAQ,CAC3DxsB,MAAOL,EAAM2tB,gBACbxtB,WAAYH,EAAM+sB,cACjB,CACD1sB,MAAOL,EAAM2tB,gBACbxtB,WAAYH,EAAMykC,sBACfnB,GAAuBtjC,EAAOA,EAAM6sB,WAAY,OAAQ,CAC3DxsB,MAAOL,EAAM2tB,iBACZ,CACDttB,MAAOL,EAAMskC,oBACV5B,GAAoB1iC,EAAMC,aAAcD,EAAM+/B,QAAS//B,EAAM6sB,WAAY7sB,EAAM6sB,WAAY7sB,EAAM8sB,kBAAmB9sB,EAAM6/B,YAAa,CAC1Ix/B,MAAOL,EAAM2tB,gBACbhqB,YAAa3D,EAAM2tB,iBAClB,CACDttB,MAAOL,EAAMskC,iBACb3gC,YAAa3D,EAAMskC,oBAEfI,GAAsB1kC,IAC1B,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,mBAA+BsjC,GAAsBvjC,GACzD,CAAC,GAAGC,mBAA+B6jC,GAAsB9jC,GACzD,CAAC,GAAGC,qBAAiCokC,GAAkBrkC,GACxD,EAGG2kC,GAA2B3kC,GAAShE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGw9B,GAA6BnjC,EAAOA,EAAM+gC,mBAAoB/gC,EAAM8gC,UAAW,CACnLzgC,MAAOL,EAAMkhC,kBACbv9B,YAAa3D,EAAMmhC,wBACnBhhC,WAAYH,EAAMihC,gBACjB,CACD5gC,MAAOL,EAAMqhC,mBACb19B,YAAa3D,EAAMuhC,yBACnBphC,WAAYH,EAAMohC,mBACfkC,GAAuBtjC,EAAOA,EAAMwgC,cAAe,OAAQ,CAC9DngC,MAAOL,EAAMygC,mBACbtgC,WAAYH,EAAM2gC,aACjB,CACDtgC,MAAOL,EAAM0gC,oBACbvgC,WAAYH,EAAM4kC,qBACf1B,GAAoBljC,EAAOA,EAAM0/B,aAAc1/B,EAAME,aAAc,CACtEC,WAAYH,EAAMsgC,kBAClBjgC,MAAOL,EAAM0/B,cACZ,CACDv/B,WAAYH,EAAMshC,mBAClBjhC,MAAOL,EAAM0/B,gBACV4D,GAAuBtjC,EAAOA,EAAMokC,UAAW,OAAQ,CAC1D/jC,MAAOL,EAAM4jC,eACbzjC,WAAYH,EAAMugC,aACjB,CACDlgC,MAAOL,EAAM6jC,mBAGTgB,GAAiB,SAAU7kC,GAC/B,IAAI7rB,EAAYsJ,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,GACpF,MAAM,aACJwiB,EAAY,cACZqzB,EAAa,SACbtyC,EAAQ,WACRmlC,EAAU,aACVtjB,EAAY,wBACZs7B,EAAuB,QACvBrU,EAAO,sBACPsU,GACEp+B,EACE8kC,EAAc,GAAG7kC,cACvB,MAAO,CAAC,CACN,CAAC9rB,GAAY,CACX6M,WACAmlC,aACArlC,OAAQwyC,EACR1yC,QAAS,IAAG,SAAKw9C,OAA0B,SAAKD,KAChDt7B,eACA,CAAC,IAAIiiC,KAAgB,CACnBzmD,MAAOi1C,EACP9M,cAAe,EAEf,CAAC,IAAIvmB,kBAA8B,CACjCrF,KAAM,QAER,CAAC,IAAIqF,WAAuB,CAC1B5hB,MAAO,QAET,CAACyrC,GAAU,CACT9oC,SAAUgf,EAAMq+B,yBAIpB,CAAC,IAAIp+B,aAAyB,CAC5BM,QAASP,EAAM+kC,eACf1Z,OAAQ,WAEV,CAAC,GAAGprB,kBAA8B,CAChCO,WAAY,SAASR,EAAMU,sBAAsBV,EAAMW,4BAA4BX,EAAMU,sBAAsBV,EAAMW,qBAK3H,CACE,CAAC,GAAGV,IAAeA,WAAsB9rB,KAAcmuD,GAAqBtiC,IAC3E,CACD,CAAC,GAAGC,IAAeA,UAAqB9rB,KAAcouD,GAAoBviC,IAE9E,EACMglC,GAAyBhlC,IAC7B,MAAMilC,GAAY,SAAWjlC,EAAO,CAClChf,SAAUgf,EAAMy+B,gBAChBtY,WAAYnmB,EAAM4+B,oBAEpB,OAAOiG,GAAeI,EAAWjlC,EAAMC,aAAa,EAEhDilC,GAA0BllC,IAC9B,MAAMmlC,GAAa,SAAWnlC,EAAO,CACnCszB,cAAetzB,EAAM0tB,gBACrB1sC,SAAUgf,EAAM0+B,kBAChBvY,WAAYnmB,EAAM6+B,oBAClBj+C,QAASof,EAAMqqB,UACf8T,wBAAyBn+B,EAAMmgC,gBAC/B/B,sBAAuBp+B,EAAMwhC,eAC7B3+B,aAAc7C,EAAMkuB,eACpBmQ,uBAAwBr+B,EAAMogC,iBAEhC,OAAOyE,GAAeM,EAAY,GAAGnlC,EAAMC,kBAAkB,EAEzDmlC,GAA0BplC,IAC9B,MAAMqlC,GAAa,SAAWrlC,EAAO,CACnCszB,cAAetzB,EAAMiqB,gBACrBjpC,SAAUgf,EAAM2+B,kBAChBxY,WAAYnmB,EAAM8+B,oBAClBX,wBAAyBn+B,EAAMkgC,gBAC/B9B,sBAAuBp+B,EAAMyhC,eAC7B5+B,aAAc7C,EAAM4rB,eACpByS,uBAAwBr+B,EAAMqgC,iBAEhC,OAAOwE,GAAeQ,EAAY,GAAGrlC,EAAMC,kBAAkB,EAEzDqlC,GAAsBtlC,IAC1B,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAACC,GAAe,CACd,CAAC,IAAIA,WAAuB,CAC1B5hB,MAAO,SAGZ,EAGH,IAAe,SAAc,UAAU2hB,IACrC,MAAMulC,EAActH,GAAaj+B,GACjC,MAAO,CAEP0hC,GAAqB6D,GAErBP,GAAuBO,GAAcL,GAAwBK,GAAcH,GAAwBG,GAEnGD,GAAoBC,GAEpBb,GAAoBa,GAEpBZ,GAAyBY,GAEzB,GAAcA,GAAa,GAC1B,GAAuB,CACxB1U,SAAU,CACRmC,YAAY,EACZ4L,mBAAmB,EACnBC,qBAAqB,EACrBC,qBAAqB,oBC3XzB,SAAS0G,GAA0BxlC,EAAOylC,GACxC,MAAO,CAEL,CAAC,cAAcA,gBAAyB,CACtC9c,aAAc3oB,EAAM0mB,KAAK1mB,EAAMgmB,WAAWY,KAAK,GAAGC,SAEpD,SAAU,CACR,2BAA4B,CAC1B0F,OAAQ,GAEV,cAAe,CACbA,OAAQ,IAIhB,CAoBO,SAASmZ,GAA4B1lC,GAC1C,MAAM2lC,EAAa,GAAG3lC,EAAMC,gCAC5B,MAAO,CACL,CAAC0lC,GAAa3pC,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG6/B,GAA0BxlC,EAAO2lC,KAtB1CxxD,EAsBwF6rB,EAAMC,aAtBnFwlC,EAsBiGE,EArB5I,CACL,CAAC,cAAcF,qBAA6BA,gBAAyB,CACnE5iC,aAAc,GAEhB,CAAC,SAAS4iC,oBAA4BA,gBAAyB,CAC7D,CAAC,OAAOtxD,UAAkBA,QAAiB,CACzCuiD,mBAAoB,EACpBE,qBAAsB,IAG1B,CAAC,SAAS6O,mBAA2BA,iBAA0B,CAC7D,CAAC,OAAOtxD,UAAkBA,QAAiB,CACzCwiD,uBAAwB,EACxBF,qBAAsB,QAd9B,IAAyCtiD,EAAWsxD,CAwBpD,CClCA,MAAMG,GAAwB5lC,IAC5B,MAAM,aACJC,EAAY,KACZymB,GACE1mB,EACJ,MAAO,CACL,CAACC,GAAe,CAEd,CAAC,iBAAiBA,aAAyB,CACzC,CAAC,uBAAuBA,iBAA4BA,6BAAyC,CAC3FhpB,SAAU,WACV,WAAY,CACVA,SAAU,WACV2N,IAAK8hC,EAAK1mB,EAAMgmB,WAAWY,KAAK,GAAGC,QACnCiE,iBAAkBpE,EAAK1mB,EAAMgmB,WAAWY,KAAK,GAAGC,QAChDtoC,QAAS,eACTF,MAAO2hB,EAAMgmB,UACbllC,OAAQ,gBAAe,SAAKkf,EAAMgmB,kBAClCpiB,gBAAiB5D,EAAMsgC,kBACvBha,QAAS,QAKf,0BAA2B,CACzB,CAAC,IAAIrmB,aAAyB,CAC5B,CAAC,uBAAuBA,0BAAqCA,6BAAyC,CACpGhpB,SAAU,WACV,WAAY,CACVA,SAAU,WACV2N,IAAK8hC,EAAK1mB,EAAMgmB,WAAWY,KAAK,GAAGC,QACnCiE,iBAAkBpE,EAAK1mB,EAAMgmB,WAAWY,KAAK,GAAGC,QAChDtoC,QAAS,eACTF,MAAO,gBAAe,SAAK2hB,EAAMgmB,kBACjCllC,OAAQkf,EAAMgmB,UACdpiB,gBAAiB5D,EAAMsgC,kBACvBha,QAAS,UAMpB,EAGH,IAAe,SAAqB,CAAC,SAAU,YAAYtmB,IACzD,MAAMulC,EAActH,GAAaj+B,GACjC,MAAO,EAEP,QAAoBulC,GAAcG,GAA4BH,GAAcK,GAAsBL,GAAa,GAC9G,IChBH,MAAMM,GAAgB,CACpBC,QAAS,CAAC,UAAW,YACrBC,QAAS,CAAC,UAAW,SACrBnhB,OAAQ,CAAC,UAAW,UACpB1B,KAAM,CAAC,UAAW,QAClB8iB,KAAM,CAAC,UAAW,SAuLdC,GArLwC,gBAAiB,CAACj3D,EAAOC,KACrE,IAAIk2B,EAAIwnB,EAAIC,EAAI0R,EAChB,MAAM,QACF3I,GAAU,EACVxhD,UAAWyyB,EAAkB,MAC7BvG,EAAK,QACL2iC,EAAO,KACPptC,EAAI,OACJivB,GAAS,EAAK,MACdqhB,EAAQ,UACRjqD,KAAMkqD,EAAa,OACnBrpC,EACA4B,SAAU0nC,EAAc,UACxBhyD,EAAS,cACTyyB,EAAa,SACb/2B,EAAQ,KACRV,EAAI,aACJi3D,EAAe,QAAO,MACtBC,GAAQ,EAAK,MACbC,GAAQ,EAAK,SAEbC,EAAW,SACXC,WAAYC,EACZztD,MAAO0tD,EAAc,CAAC,EAAC,gBACvBC,GACE53D,EACJ63D,EAvEgC,SAAU7/B,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAgEW,CAAOj4B,EAAO,CAAC,UAAW,YAAa,QAAS,UAAW,OAAQ,SAAU,QAAS,OAAQ,SAAU,WAAY,YAAa,gBAAiB,WAAY,OAAQ,eAAgB,QAAS,QAAS,WAAY,aAAc,QAAS,oBAG9O83D,EAAalxC,GAAQ,WACpBmxC,EAAaC,IAAiB,IAAA1iD,UAAQ,KAC3C,GAAI+b,GAAS2iC,EACX,MAAO,CAAC3iC,EAAO2iC,GAEjB,MAAMiE,EAAmBpB,GAAciB,IAAe,GACtD,OAAIjiB,EACK,CAAC,SAAUoiB,EAAiB,IAE9BA,CAAgB,GACtB,CAACrxC,EAAMyK,EAAO2iC,EAASne,IAEpBqiB,EAD2B,WAAhBH,EACkB,YAAcA,GAC3C,aACJhhC,EAAY,UACZxsB,EAAS,OACT4tD,IACE,IAAAnhC,YAAW,OACTohC,EAAiL,QAA5JjiC,EAAKyhC,QAAyDA,EAAkBO,aAAuC,EAASA,EAAOP,uBAAoC,IAAPzhC,GAAgBA,EACzMhxB,EAAY4xB,EAAa,MAAOa,IAC/ByB,EAAYnC,EAAQoC,GAAa,GAASn0B,GAC3CuqB,GAAW,IAAAsH,YAAW4B,GAAA,GACtBC,EAAiBu+B,QAAuDA,EAAiB1nC,EACzF2oC,GAAY,IAAArhC,YAAW4uB,IACvB0S,GAAiB,IAAAhjD,UAAQ,IA1EjC,SAA0BqxC,GACxB,GAAuB,iBAAZA,GAAwBA,EAAS,CAC1C,IAAI4R,EAAQ5R,aAAyC,EAASA,EAAQ4R,MAEtE,OADAA,EAASn0C,OAAOC,MAAMk0C,IAA2B,iBAAVA,EAA6B,EAARA,EACrD,CACL5R,QAAS4R,GAAS,EAClBA,QAEJ,CACA,MAAO,CACL5R,UAAWA,EACX4R,MAAO,EAEX,CA6DuCC,CAAiB7R,IAAU,CAACA,KAC1D8R,EAAcC,IAAc,IAAAv9C,UAASm9C,EAAe3R,UACpDgS,EAAcC,IAAmB,IAAAz9C,WAAS,GAC3C09C,GAA2B,IAAAC,aAC3BC,GAAY,QAAW94D,EAAK44D,GAC5BG,GAA4C,IAA7B,EAAAC,SAASriD,MAAM9V,KAAoBV,IAAS8lD,GAA0B8R,IAC3F,IAAA18C,YAAU,KACR,IAAI49C,EAAa,KAejB,OAdIZ,EAAeC,MAAQ,EACzBW,EAAaxxC,YAAW,KACtBwxC,EAAa,KACbR,GAAW,EAAK,GACfJ,EAAeC,OAElBG,EAAWJ,EAAe3R,SAE5B,WACMuS,IACF1xC,aAAa0xC,GACbA,EAAa,KAEjB,CACmB,GAClB,CAACZ,KACJ,IAAAh9C,YAAU,KAER,IAAKy9C,IAAcA,EAAU/3D,UAAYo3D,EACvC,OAEF,MAAMe,EAAaJ,EAAU/3D,QAAQo4D,YACjCJ,IAAgBlT,GAAYqT,GACzBR,GACHC,GAAgB,GAETD,GACTC,GAAgB,EAClB,GACC,CAACG,IACJ,MAAMM,GAAc,iBAAkB7kD,IACpC,IAAI2hB,EAEAsiC,GAAgB5/B,EAClBrkB,EAAEI,iBAGqB,QAAxBuhB,EAAKn2B,EAAMqO,eAA4B,IAAP8nB,GAAyBA,EAAG9sB,KAAKrJ,EAAOwU,EAAE,GAC1E,CAACxU,EAAMqO,QAASoqD,EAAc5/B,KAM3B,YACJygC,GAAW,sBACXC,KACE,SAAsBp0D,EAAWoF,GAM/BivD,IAAe,EAAAC,GAAA,IAAQC,IAC3B,IAAIvjC,EAAIwnB,EACR,OAAqJ,QAA7IA,EAAiG,QAA3FxnB,EAAKghC,QAAqDA,EAAgBmC,UAAgC,IAAPnjC,EAAgBA,EAAKkiC,SAA8B,IAAP1a,EAAgBA,EAAK+b,CAAO,IAErLC,GAAUH,IAAyD,QAAzC7b,EATP,CACvBic,MAAO,KACPC,MAAO,KACPC,YAAQp5D,GAM4C84D,WAAkC,IAAP7b,EAAgBA,EAAU,GACrGoc,GAAWtB,EAAe,UAAYr4D,EACtC45D,IAAsB,QAAKnC,EAAM,CAAC,aAClCoC,GAAU,IAAW90D,EAAW+xB,EAAQoC,EAAW,CACvD,CAAC,GAAGn0B,KAAa+xD,KAAoB,YAAVA,GAAuBA,EAElD,CAAC,GAAG/xD,KAAa2yD,KAAeA,EAChC,CAAC,GAAG3yD,eAAwB0wC,EAC5B,CAAC,GAAG1wC,WAAmB+yD,KAAoBA,EAC3C,CAAC,GAAG/yD,aAAqB6yD,KAAkBA,EAC3C,CAAC,GAAG7yD,KAAaw0D,MAAYA,GAC7B,CAAC,GAAGx0D,gBAAyBrE,GAAyB,IAAbA,KAAoBi5D,GAC7D,CAAC,GAAG50D,sBAA+BmyD,IAAUpR,GAA0B8R,GACvE,CAAC,GAAG7yD,aAAsBszD,EAC1B,CAAC,GAAGtzD,uBAAgCwzD,GAAgBP,IAAsBK,EAC1E,CAAC,GAAGtzD,WAAoBoyD,EACxB,CAAC,GAAGpyD,SAAgC,QAAdoF,EACtB,CAAC,GAAGpF,cAAwC,QAAjBkyD,GAC1BkC,GAAuBn0D,EAAWyyB,EAAesgC,aAAuC,EAASA,EAAO/yD,WACrG80D,GAAYltC,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGwhC,aAAuC,EAASA,EAAOluD,OAAQ0tD,GAC3GwC,GAAc,IAAWzC,aAA2D,EAASA,EAAiBt3D,KAAmF,QAA5Ew9C,EAAKua,aAAuC,EAASA,EAAOV,kBAA+B,IAAP7Z,OAAgB,EAASA,EAAGx9C,MACrOg6D,GAAYptC,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAI7I,aAAuC,EAASA,EAAO1tB,OAAS,CAAC,IAA8E,QAAxEkvD,EAAK6I,aAAuC,EAASA,EAAOrqC,cAA2B,IAAPwhC,OAAgB,EAASA,EAAGlvD,OAAS,CAAC,GAC1O0jC,GAAW1jC,IAASq4D,EAA6B,kBAAoB,GAAa,CACtFtzD,UAAWA,EACXC,UAAW+0D,GACXlwD,MAAOmwD,IACNh6D,GAAuB,kBAAoB,GAAa,CACzDwmD,YAAaxmD,EACb+E,UAAWA,EACXwhD,QAAS8R,IAEL4B,GAAOv5D,GAAyB,IAAbA,Eb5JpB,SAAuBA,EAAUk4D,GACtC,IAAIsB,GAAkB,EACtB,MAAMhvB,EAAY,GAalB,OAZA,aAAe9pC,QAAQV,GAAU4gC,IAC/B,MAAM9a,SAAc8a,EACd64B,EAA8B,WAAT3zC,GAA8B,WAATA,EAChD,GAAI0zC,GAAmBC,EAAoB,CACzC,MAAMC,EAAYlvB,EAAU7/B,OAAS,EAC/BgvD,EAAYnvB,EAAUkvB,GAC5BlvB,EAAUkvB,GAAa,GAAGC,IAAY/4B,GACxC,MACE4J,EAAUjnC,KAAKq9B,GAEjB44B,EAAkBC,CAAkB,IAE/B,aAAertD,IAAIo+B,GAAW5J,GAjCvC,SAA6BA,EAAOs3B,GAClC,GAAIt3B,QACF,OAEF,MAAMg5B,EAAQ1B,EAAe,IAAM,GACnC,MAAqB,iBAAVt3B,GAAuC,iBAAVA,GAAsBskB,GAAStkB,EAAM9a,OAASk/B,GAAYpkB,EAAM1hC,MAAMc,WACrG,SAAa4gC,EAAO,CACzB5gC,SAAU4gC,EAAM1hC,MAAMc,SAASoxB,MAAM,IAAI/tB,KAAKu2D,KAG9C1U,GAAStkB,GACJokB,GAAYpkB,GAAsB,kBAAoB,OAAQ,KAAMA,EAAMxP,MAAM,IAAI/tB,KAAKu2D,IAAuB,kBAAoB,OAAQ,KAAMh5B,IAEvJ,SAAWA,GACO,kBAAoB,OAAQ,KAAMA,GAEjDA,CACT,CAgBgDi5B,CAAoBj5B,EAAOs3B,IAC3E,Ca4I4C4B,CAAc95D,EAAUk4D,IAAgBZ,GAAqB,KACvG,QAAiC13D,IAA7Bs5D,GAAoBa,KACtB,OAAOxhC,EAAwB,kBAAoB,IAAKrM,OAAO2J,OAAO,CAAC,EAAGqjC,GAAqB,CAC7F50D,UAAW,IAAW60D,GAAS,CAC7B,CAAC,GAAG90D,cAAuB0zB,IAE7BgiC,KAAMhiC,OAAiBn4B,EAAYs5D,GAAoBa,KACvD5wD,MAAOiwD,GACP7rD,QAASgrD,GACTp5D,IAAK84D,EACLl4B,SAAUhI,GAAkB,EAAI,IAC9BiL,GAAUu2B,KAEhB,IAAIS,GAA0B,kBAAoB,SAAU9tC,OAAO2J,OAAO,CAAC,EAAGkhC,EAAM,CAClFjxC,KAAM4wC,EACNpyD,UAAW60D,GACXhwD,MAAOiwD,GACP7rD,QAASgrD,GACT3pC,SAAUmJ,EACV54B,IAAK84D,IACHj1B,GAAUu2B,KAAQd,IAAsC,kBAAoB,GAAY,CAC1Ft3D,IAAK,UACLkD,UAAWA,KAQb,OANK+gD,GAA0B8R,KAC7B8C,GAA0B,kBAAoB,GAAM,CAClD91D,UAAW,SACX0qB,SAAU+oC,GACTqC,KAEEzhC,EAAWyhC,GAAW,IAG/B7D,GAAOr8B,MdrNa56B,IAClB,MAAM,aACJ+2B,EAAY,UACZxsB,GACE,aAAiB,QAEjBpF,UAAWyyB,EAAkB,KAC7B3qB,EAAI,UACJ7H,GACEpF,EACJ+6D,EAxBgC,SAAU/iC,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAiBa,CAAOj4B,EAAO,CAAC,YAAa,OAAQ,cACzCmF,EAAY4xB,EAAa,YAAaa,IACrC,CAAC,CAAEV,IAAU,WACpB,IAAIyiC,EAAU,GACd,OAAQ1sD,GACN,IAAK,QACH0sD,EAAU,KACV,MACF,IAAK,QACHA,EAAU,KASd,MAAMM,EAAU,IAAW90D,EAAW,CACpC,CAAC,GAAGA,KAAaw0D,KAAYA,EAC7B,CAAC,GAAGx0D,SAAgC,QAAdoF,GACrBnF,EAAW8xB,GACd,OAAoB,gBAAoB0uB,GAAiBjlD,SAAU,CACjEE,MAAOoM,GACO,gBAAoB,MAAO+f,OAAO2J,OAAO,CAAC,EAAGokC,EAAQ,CACnE31D,UAAW60D,KACT,EckLNhD,GAAO+D,cAAe,EAItB,MCtOA,GDsOA,GE1OO,SAASC,GAAahuD,GAC3B,MAAO,CAAC,QAAS,SAAU,SAASuL,SAASvL,EAC/C,CACO,SAASiuD,GAAiBjuD,GAC/B,QAAKA,GAIkB,iBAATA,IAAsBmX,OAAOC,MAAMpX,EACnD,CCRO,MAAMkuD,GAA4B,kBAAoB,CAC3DC,YAAa,IAEFC,GAAuBF,GAAax6D,SCqBjD,GArBaC,IACX,IAAI,UACFwE,EAAS,MACTM,EAAK,SACL5E,EAAQ,MACRoxB,EAAK,MACLjoB,GACErJ,EACJ,MAAM,YACJw6D,GACE,aAAiBD,IACrB,OAAIr6D,QACK,KAEW,gBAAoB,WAAgB,KAAmB,gBAAoB,MAAO,CACpGsE,UAAWA,EACX6E,MAAOA,GACNnJ,GAAW4E,EAAQ01D,GAAelpC,GAAsB,gBAAoB,OAAQ,CACrF9sB,UAAW,GAAGA,WACb8sB,GAAO,kBCHZ,MAAMopC,GAA6B,cAAiB,CAACt7D,EAAOC,KAC1D,IAAIk2B,EAAIwnB,EAAIC,EACZ,MAAM,aACJ7mB,EAAY,MACZ8f,EACAtsC,UAAWgxD,GACT,aAAiB,QACf,KACFtuD,GAA2E,QAAnEkpB,EAAK0gB,aAAqC,EAASA,EAAM5pC,YAAyB,IAAPkpB,EAAgBA,EAAK,SAAO,MAC/G9wB,EAAK,UACLD,EAAS,cACTyyB,EAAa,SACb/2B,EAAQ,UACRyJ,EAAY,aACZpF,UAAWyyB,EAAkB,MAC7B1F,EAAK,MACLjoB,EAAK,KACL4oB,GAAO,EACP4kC,WAAYC,EAAgB,OAC5B5pC,GACE9tB,EACJ+8B,EAvCgC,SAAU/E,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAgCiB,CAAOj4B,EAAO,CAAC,OAAQ,QAAS,YAAa,gBAAiB,WAAY,YAAa,YAAa,QAAS,QAAS,OAAQ,aAAc,YACpJw7D,EAAgBC,GAAgB35D,MAAMC,QAAQkL,GAAQA,EAAO,CAACA,EAAMA,GACrEyuD,EAAuBT,GAAaQ,GACpCE,EAAyBV,GAAaO,GACtCI,EAAsBV,GAAiBO,GACvCI,EAAwBX,GAAiBM,GACzCrvB,GAAa,QAAQrrC,EAAU,CACnCg7D,WAAW,IAEPC,OAAwBr7D,IAAV2E,GAAqC,eAAdkF,EAA6B,SAAWlF,EAC7EF,EAAY4xB,EAAa,QAASa,IACjCyB,EAAYnC,EAAQoC,IAAa,QAASn0B,GAC3C0K,EAAM,IAAW1K,EAAW0xC,aAAqC,EAASA,EAAMzxC,UAAW8xB,EAAQ,GAAG/xB,KAAaoF,IAAa,CACpI,CAAC,GAAGpF,SAAsC,QAApBo2D,EACtB,CAAC,GAAGp2D,WAAmB42D,KAAgBA,EACvC,CAAC,GAAG52D,aAAqBs2D,KAAiBC,EAC1C,CAAC,GAAGv2D,aAAqBq2D,KAAmBG,GAC3Cv2D,EAAWyyB,EAAeyB,GACvB0iC,EAAgB,IAAW,GAAG72D,SAAuH,QAApGw4C,EAAK+Z,aAA2D,EAASA,EAAiBvqD,YAAyB,IAAPwwC,EAAgBA,EAA+E,QAAzEC,EAAK/G,aAAqC,EAASA,EAAM4gB,kBAA+B,IAAP7Z,OAAgB,EAASA,EAAGzwC,MAEtS,IAAIiuD,EAAc,EAClB,MAAMa,EAAQ9vB,EAAWj/B,KAAI,CAACw0B,EAAO30B,KACnC,IAAIopB,EAAIwnB,EACJjc,UACF05B,EAAcruD,GAEhB,MAAM9K,GAAOy/B,aAAqC,EAASA,EAAMz/B,MAAQ,GAAG+5D,KAAiBjvD,IAC7F,OAAoB,gBAAoB,GAAM,CAC5C3H,UAAW42D,EACX/5D,IAAKA,EACLyD,MAAOqH,EACPmlB,MAAOA,EACPjoB,MAA8E,QAAtEksB,EAAKrI,aAAuC,EAASA,EAAO3gB,YAAyB,IAAPgpB,EAAgBA,EAA2E,QAArEwnB,EAAK9G,aAAqC,EAASA,EAAM/oB,cAA2B,IAAP6vB,OAAgB,EAASA,EAAGxwC,MACpNu0B,EAAM,IAELw6B,EAAe,WAAc,KAAM,CACvCd,iBACE,CAACA,IAEL,GAA0B,IAAtBjvB,EAAW1gC,OACb,OAAO,KAET,MAAM0wD,EAAW,CAAC,EAUlB,OATItpC,IACFspC,EAASC,SAAW,SAEjBT,GAA0BE,IAC7BM,EAASE,UAAYb,IAElBE,GAAwBE,IAC3BO,EAASG,OAASb,GAEbpiC,EAAwB,gBAAoB,MAAOrM,OAAO2J,OAAO,CACtE12B,IAAKA,EACLmF,UAAWyK,EACX5F,MAAO+iB,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGwlC,GAAWtlB,aAAqC,EAASA,EAAM5sC,OAAQA,IAC3H8yB,GAA0B,gBAAoBs+B,GAAsB,CACrEx6D,MAAOq7D,GACND,IAAQ,IAEPM,GAAQjB,GACdiB,GAAMC,QAAUA,GAAA,GAIhB,YCxFA,MAAMC,GAAiBz8D,IACrB,MACEu8B,kBAAmBooB,EAAwB,aAC3C5tB,EAAY,UACZxsB,GACE,aAAiB,QAEjBpF,UAAWyyB,EAAkB,KAC7BhR,EAAO,UAAS,OAChBivB,EAAM,SACNnmB,EAAQ,QACRi3B,EAAO,QACPt4C,EAAO,SACPmpD,EAAQ,SACR12D,EAAQ,UACRsE,EAAS,KACTs9C,EAAI,MACJxnB,EAAK,UACL2B,EAAS,QACT5B,EAAO,QACP34B,EAAO,MACP+C,EAAK,KACL4jC,EAAI,aACJgB,EAAY,UACZ7N,EAAS,kBACTG,EAAiB,KACjBs+B,EAAI,KACJz6D,EAAoB,gBAAoB,GAAkB,MAAK,MAC/DoJ,EAAK,cACLkzD,EAAgB99C,IAAWA,GAAO,gBAClC+pB,EAAe,gBACfC,EAAe,iBACflM,EAAgB,aAChBC,EAAY,mBACZggC,EAAkB,eAClBjY,GACE1kD,EACJgU,EArDgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CA8CgB,CAAOj4B,EAAO,CAAC,YAAa,OAAQ,SAAU,WAAY,UAAW,UAAW,WAAY,WAAY,YAAa,OAAQ,QAAS,YAAa,UAAW,UAAW,QAAS,OAAQ,eAAgB,YAAa,oBAAqB,OAAQ,OAAQ,QAAS,gBAAiB,kBAAmB,kBAAmB,mBAAoB,eAAgB,qBAAsB,mBAC9XmF,EAAY4xB,EAAa,WAAYa,GACrCglC,EAAkB,GAAGz3D,WACrB03D,EAAgB,CACpBna,OACAxnB,QACA2B,YACAx3B,QACAqqB,WACAptB,QAASotB,EAAW,GAAKptB,EACzB2nC,eACA1N,kBAAmBA,GAAqBooB,EACxChc,kBACAC,kBACAlM,mBACAC,eACAggC,qBACAjY,mBAEI,YACJ4U,EAAW,sBACXC,IACE,SAAsBp0D,EAAWoF,GAC/B0vD,EAAU,IAAW2C,EAAiBrD,EAAuBn0D,GAC/D,YAAapF,IACf68D,EAAc5hC,QAAUA,GAEtB,SAAUj7B,IACZ68D,EAAc5zB,KAAOA,GAGrB4zB,EAAczgC,UADZ,cAAep8B,EACSo8B,EAEc,QAAd7xB,EAAsB,aAAe,cAEjE,MAAMuyD,EAA0B,gBAAoB,GAAQ,CAC1Dl2C,KAAMA,EACNivB,OAAQA,EACRnmB,SAAUA,EACVi3B,QAASA,EACTt4C,QAASA,EACTmpD,SAAUA,EACVqD,KAAMA,EACNrxD,MAAOA,GACN1I,GACGi8D,EAA2B,gBAAoB,GAAQ,CAC3Dn2C,KAAMA,EACNivB,OAAQA,EACRz1C,KAAMA,KAED48D,EAAoBC,GAAuBP,EAAc,CAACI,EAAYC,IAC7E,OAAoB,gBAAoB,GAAMP,QAASxvC,OAAO2J,OAAO,CACnEvxB,UAAW60D,EACXhtD,KAAMqsD,EACN/B,OAAO,GACNvjD,GAAYgpD,EAAiC,gBAAoB,GAAUhwC,OAAO2J,OAAO,CAAC,EAAGkmC,GAAgBI,GAAqB,EAEvIR,GAAezB,cAAe,EAC9B,YC7GM,GAAW,GACjB,GAAS/D,OAAS,GAClB,YCLMiG,GAAiC,gBAAoB,MAC9CC,GAA4BD,GAAkBv8D,SAC3D,MACay8D,GAAsC,gBAAoB,MAC1DC,GAAiCD,GAAuBz8D,SCA/D28D,GAAqBtsC,IACzB,MAAM,aACJC,EAAY,OACZyrB,GACE1rB,EACEgJ,EAAiB,GAAG/I,UAC1B,MAAO,CACL,CAAC+I,GAAiBhN,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAAS,CACxEzhB,QAAS,eACTyC,SAAU,EAEV,CAAC,IAAIgoB,SAAuB,CAC1BzvB,UAAW,OAEb,CAAC,IAAIyvB,WAAyB,CAC5BzqB,QAAS,QAEX,CAAC,GAAGmtC,WAAgBA,iBAAuB,CACzCa,OAAQ,GAEV,CAAC,KAAKb,+BAAoCA,oBAA0B,CAClE6gB,kBAAmB,UAGxB,EAGGC,GAAqBxsC,IACzB,MAAM,aACJC,EAAY,uBACZwsC,EAAsB,aACtBvsC,EAAY,UACZwsC,EAAS,mBACThsC,EAAkB,kBAClBgnB,EAAiB,oBACjBilB,EAAmB,iBACnBzf,EAAgB,YAChB2S,EAAW,UACX7Z,EAAS,yBACTyc,EAAwB,kBACxB3V,EAAiB,UACjBzC,EAAS,iBACTuiB,EAAgB,SAChB3mB,EAAQ,WACR4mB,EAAU,aACVC,EAAY,KACZpmB,GACE1mB,EACE+sC,EAAsB,GAAG9sC,UAEzB+sC,EAAuBtmB,EAAKgmB,GAAW/Z,IAAIjM,EAD9B,GAC+CE,IAAI,IAChEqmB,EAAgBvmB,EAAK,GAAGE,IAAI8lB,GAAW7lB,MAAM,CACjDqmB,MAAM,IAER,MAAO,CACL,CAAC,GAAGjtC,aAAyBjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAAS,CACnFzhB,QAAS,cACTqsC,WAAY,WACZU,kBAAmB,EACnBC,gBAAiBkhB,EACjBphB,OAAQ,UAER,CAAC,IAAIprB,iBAA6B,CAChC1mB,UAAW,OAEb,aAAc,CACZ8xC,OAAQ,cACRhrB,MAAOL,EAAM8sB,mBAEf,WAAY,CACVvuC,QAAS,eACTF,MAAO,EACPC,SAAU,SACVgoC,QAAS,UAEX,UAAW,CACT1rB,KAAM,EACNgnC,eAAgB,UAGlB,CAAC,GAAG3hC,oBAAgC,CAClChpB,SAAU,WACVk2D,gBAAiB,EACjBriB,iBAAkB,EAClBzsC,MAAO,OACPyC,OAAQ,OACRD,OAAQ,IAAG,SAAKmlC,MAAcC,KAAY/lB,IAC1C2C,aAAc,MACd/d,WAAY,SACZyb,QAAS,EACT+lB,QAAS,MAEX,CAACrmB,GAAejE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAAS,CACtE/oB,SAAU,WACVsH,QAAS,eACT0tC,QAAS,OACTZ,OAAQ,UACR+hB,UAAW,SACXvqC,aAAc,QAEhB,CAAC,GAAG5C,uCACQ8sC,KAAwB,CAClCppC,YAAazD,GAEf,CAAC,GAAGD,2BAAsC8sC,KAAwB/wC,OAAO2J,OAAO,CAAC,GAAG,SAAgB3F,IACpG,CAAC,GAAGC,mBAA8BA,4BAAwC,CACxEnb,WAAY,WAEd,CAAC,GAAGmb,WAAuB,CACzB,WAAY,CACVG,UAAW,aACXnpB,SAAU,WACVk2D,gBAAiB,MACjBriB,iBAAkB,MAClBvsC,QAAS,QACTF,MAAO4uD,EACPnsD,OAAQmsD,EACRI,iBAAkB3mB,EAAK,GAAGE,IAAI8lB,GAAW3hB,KAAK,GAAGlE,MAAM,CACrDqmB,MAAM,IAER5hB,kBAAmB5E,EAAK,GAAGE,IAAI8lB,GAAW3hB,KAAK,GAAGlE,MAAM,CACtDqmB,MAAM,IAERtpC,gBAAiBipC,EACjBS,iBAAkB,EAClBf,kBAAmB,EACnB1pC,aAAcoqC,EACdl+C,UAAW,WACXwR,QAAS,EACTC,WAAY,OAAOE,KAAsBisC,IACzCrmB,QAAS,MAEXlmB,UAAW,aACXnpB,SAAU,WACVk2D,gBAAiB,EACjBriB,iBAAkB,EAClBvsC,QAAS,QACTF,MAAO4uD,EACPnsD,OAAQmsD,EACRrpC,gBAAiBspB,EACjBvpB,YAAak8B,EACbxT,YAAa,QACbC,YAAatG,EACbnjB,aAAc,MACdrC,WAAY,OAAOknB,KAErB,CAAC,GAAGznB,WAAuB,CACzBhpB,SAAU,WACVm1C,MAAO,EACPG,OAAQ,EACRlB,OAAQ,UACR9qB,QAAS,GAGX,CAAC,GAAGN,aAAyB,CAC3B,CAAC8sC,GAAsB,CACrBppC,YAAazD,EACb0D,gBAAiBkpC,EACjB,WAAY,CACV/9C,UAAW,SAASiR,EAAM0mB,KAAK1mB,EAAMutC,SAASxiB,IAAI2hB,GAAW7lB,WAC7DtmB,QAAS,EACTC,WAAY,OAAOE,KAAsBisC,OAI/C,CAAC,GAAG1sC,cAA0B,CAC5BorB,OAAQ,cACR,CAAC0hB,GAAsB,CACrBnpC,gBAAiB6+B,EACjB9+B,YAAak8B,EACbxU,OAAQ,cACR,WAAY,CACVznB,gBAAiBgpC,IAGrB,CAAC,GAAG3sC,WAAuB,CACzBorB,OAAQ,eAEV,CAAC,GAAGprB,qBAAiC,CACnCI,MAAOysB,EACPzB,OAAQ,eAEV,CAAC,IAAIprB,aAAyB,CAC5B,CAAC8sC,GAAsB,CACrB,WAAY,CACVh+C,UAAW,SAAS23B,EAAKsmB,GAAsBjiB,IAAI2hB,GAAW7lB,eAKtE,CAAC,OAAO5mB,SAAqB,CAC3B4qB,mBAAoBR,EACpBR,iBAAkBQ,KAGvB,EAGGmjB,GAAsBxtC,IAC1B,MAAM,YACJytC,EAAW,cACXna,EAAa,aACbrzB,EAAY,UACZ+lB,EAAS,SACTC,EAAQ,YACR4Z,EAAW,mBACXn/B,EAAkB,kBAClBgnB,EAAiB,oBACjBgmB,EAAmB,SACnB1sD,EAAQ,SACR2sD,EAAQ,WACRxjB,EAAU,gBACVF,EAAe,gBACfyD,EAAe,UACfrD,EAAS,aACTxnB,EAAY,eACZqrB,EAAc,eACdtC,EAAc,gBACdgiB,EAAe,wBACfC,EAAuB,kBACvB/gB,EAAiB,yBACjB2V,EAAwB,wBACxBqL,EAAuB,2BACvBC,EAA0B,aAC1B7tC,EAAY,kBACZogC,EAAiB,mBACjBgB,EAAkB,qBAClB0M,EAAoB,0BACpBC,EAAyB,2BACzBC,EAA0B,KAC1BxnB,GACE1mB,EACJ,MAAO,CACL,CAAC,GAAGC,oBAAgC,CAClChpB,SAAU,WACVsH,QAAS,eACTuC,OAAQwyC,EACRtI,OAAQ,EACRxE,cAAeknB,EACfpb,aAAc,EACdjyB,MAAOotC,EACPzsD,WACAmlC,YAAY,SAAKO,EAAK4M,GAAeX,IAAIjM,EAAKV,GAAWY,IAAI,IAAIC,SACjE1mB,WAAYwtC,EACZ9sD,OAAQ,IAAG,SAAKmlC,MAAcC,KAAY4Z,IAG1CsO,sBAAuBznB,EAAKV,GAAW30C,IAAI,KAAMw1C,QACjDunB,uBAAwB,EACxBC,qBAAsBroB,EACtBqF,OAAQ,UACR7qB,WAAY,CAAC,SAASknB,IAAqB,cAAcA,IAAqB,cAAcA,KAAqBv0C,KAAK,KACtHo2B,EAAG,CACDlJ,MAAOotC,GAET,CAAC,KAAKxtC,YAAwB,CAC5BhpB,SAAU,WACVk2D,gBAAiB,EACjBriB,iBAAkB,EAClByB,QAAS,EACTluC,MAAO,OACPyC,OAAQ,QAEV,sBAAuB,CACrB,YAAa,CACX7J,SAAU,WACVk2D,gBAAiBzmB,EAAKV,GAAWY,KAAK,GAAGC,QACzCiE,iBAAkBpE,EAAKV,GAAWY,KAAK,GAAGC,QAC1CtoC,QAAS,QACT6hB,UAAW,cACX/hB,MAAO,EACPyC,OAAQ,OACRwxC,aAActM,EACdQ,cAAe,EACf5iB,gBAAiBi8B,EACjBr/B,WAAY,oBAAoBE,IAChC4lB,QAAS,OAGb,gBAAiB,CACfimB,kBAAmB,IAAG,SAAKvmB,MAAcC,KAAY4Z,IACrDlJ,uBAAwB9zB,EACxB+zB,qBAAsB/zB,GAExB,eAAgB,CACd4zB,qBAAsB5zB,EACtB6zB,mBAAoB7zB,GAEtB,2BAA4B,CAC1BA,gBAEF,CAAC,GAAG5C,mBAA+B,CACjCnf,OAAQmpC,EACRjpC,SAAUmpC,EACVhE,YAAY,SAAKO,EAAKuD,GAAiB0I,IAAIjM,EAAKV,GAAWY,IAAI,IAAIC,SACnE,gBAAiB,CACf8P,uBAAwB/K,EACxBgL,qBAAsBhL,GAExB,eAAgB,CACd6K,qBAAsB7K,EACtB8K,mBAAoB9K,IAGxB,CAAC,GAAG3rB,mBAA+B,CACjCnf,OAAQ4sC,EACRlH,cAAeE,EAAK2D,GAAWsI,IAAI3M,GAAWa,QAC9CyL,aAAc,EACdnM,YAAY,SAAKO,EAAKgH,GAAiBiF,IAAIjM,EAAKV,GAAWY,IAAI,IAAIC,SACnE,gBAAiB,CACf8P,uBAAwBzI,EACxB0I,qBAAsB1I,GAExB,eAAgB,CACduI,qBAAsBvI,EACtBwI,mBAAoBxI,IAGxB,UAAW,CACTj3C,SAAU,WACVopB,MAAOH,GAET,wBAAyBlE,OAAO2J,OAAO,CAAC,GAAG,SAAgB3F,IAC3D,CAAC,GAAGC,wDAAoE,CACtE5hB,MAAO,EACPyC,OAAQ,EACRyf,QAAS,EACTzF,cAAe,QAEjB,CAAC,iBAAiBmF,8BAA0C,CAC1DssB,OAAQ,EACRlsB,MAAOH,EACPC,WAAYytC,EACZjqC,YAAazD,EACb,YAAa,CACX0D,gBAAiB1D,GAEnB,gBAAiB,CACfyD,YAAazD,GAEf,UAAW,CACTG,MAAOigC,EACP38B,YAAa28B,EACb,YAAa,CACX18B,gBAAiB08B,IAGrB,WAAY,CACVjgC,MAAOihC,EACP39B,YAAa29B,EACb,YAAa,CACX19B,gBAAiB09B,KAIvB,CAAC,GAAGrhC,+BAA0CA,8BAA0C,CACtFI,MAAOwtC,EACP1tC,WAAY6tC,EACZrqC,YAAaqqC,EACb,UAAW,CACT3tC,MAAOwtC,EACP1tC,WAAY8tC,EACZtqC,YAAasqC,GAEf,WAAY,CACV5tC,MAAOwtC,EACP1tC,WAAY+tC,EACZvqC,YAAauqC,IAGjB,aAAc,CACZ7tC,MAAOysB,EACPlpB,gBAAiB6+B,EACjB9+B,YAAak8B,EACbxU,OAAQ,cACR,yBAA0B,CACxBhrB,MAAOysB,EACPlpB,gBAAiB6+B,EACjB9+B,YAAak8B,IAGjB,CAAC,aAAa5/B,4BAAwC,CACpDI,MAAO0tC,EACPnqC,gBAAiBkqC,EACjBnqC,YAAak8B,EACbv/B,UAAW,QAEb,UAAW,CACT1F,KAAM,EACN7hB,UAAW,WAGhB,EA6CH,IAAe,SAAc,SAASinB,IACpC,MAAM,eACJu/B,EAAc,oBACdH,GACEp/B,EACEsuC,EAAmB,UAAS,SAAKlP,MAAwBG,IACzDgP,EAAyBD,EACzBE,GAAa,SAAWxuC,EAAO,CACnCsuC,mBACAC,2BAEF,MAAO,CAACjC,GAAmBkC,GAAahC,GAAmBgC,GAAahB,GAAoBgB,GAAY,IArDrExuC,IACnC,MAAM,UACJyuC,EAAS,QACT7tD,EAAO,SACP0oC,EAAQ,UACRtD,EAAS,WACTmE,EAAU,UACV6C,EAAS,iBACTE,EAAgB,kBAChBJ,EAAiB,4BACjB4hB,EAA2B,oBAC3B3kB,EAAmB,aACnB7pB,EAAY,kBACZogC,EAAiB,mBACjBgB,EAAkB,WAClBqN,GACE3uC,EAIJ,MAAO,CAEL0sC,UAJgBviB,EAKhBojB,QAJmBkB,EADHtkB,EAC2BykB,EAD3BzkB,EACmF,GAFlF,EAEqEnE,GAKtF4mB,iBAAkB9f,EAElB+gB,wBAAyB9jB,EACzBikB,qBAAsB9tC,EACtB+tC,0BAA2B3N,EAC3B4N,2BAA4B5M,EAC5BqM,SAAUzgB,EACV0gB,gBAAiB1gB,EACjBugB,YAAazgB,EACb8gB,wBAAyBY,EACzBX,2BAA4BjhB,EAC5B4gB,oBAAqB9sD,EAAUolC,EAC/BymB,uBAAwBnjB,EAExBujB,WAAY4B,EAAYvuC,EAAeyuC,EACvC7B,aAAc2B,EAAYvhB,EAAmBhtB,EAC9C,GAcuB,CACxB2wB,SAAU,CACR6b,WAAW,EACXa,SAAS,KClbb,MAAMsB,GAAgB,CAAC7/D,EAAOC,KAC5B,IAAIk2B,EAAIwnB,EACR,MAAMmiB,EAAe,aAAiB,IAChCC,EAAyB,aAAiB3C,KAC1C,aACJrmC,EAAY,UACZxsB,EAAS,MACTy1D,GACE,aAAiB,OACfC,EAAW,SAAa,MACxBjnC,GAAY,QAAW/4B,EAAKggE,IAC5B,gBACJvnC,GACE,aAAiB,QAWjBvzB,UAAWyyB,EAAkB,UAC7BxyB,EAAS,cACTyyB,EAAa,SACb/2B,EAAQ,MACRmJ,EAAK,MACLT,GACExJ,EACJgU,EApDgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CA6CgB,CAAOj4B,EAAO,CAAC,YAAa,YAAa,gBAAiB,WAAY,QAAS,UACvFkgE,EAAiBnpC,EAAa,QAASa,GACvCuoC,EAAqI,aAApHL,aAAmD,EAASA,EAAaM,aAAeL,GACzG56D,EAAYg7D,EAAe,GAAGD,WAA0BA,EAExD/mC,GAAU,EAAAC,GAAA,GAAa8mC,IACtB7mC,EAAYnC,EAAQoC,GAAa,GAAS4mC,EAAgB/mC,GAC3DknC,EAAarzC,OAAO2J,OAAO,CAAC,EAAG3iB,GAE/B0b,EAAW,aAAiBkJ,GAAA,GAC9BknC,IACFO,EAAW/zD,KAAOwzD,EAAaxzD,KAC/B+zD,EAAWvwC,SAzBItb,IACf,IAAI2hB,EAAIwnB,EACkB,QAAzBxnB,EAAKn2B,EAAM8vB,gBAA6B,IAAPqG,GAAyBA,EAAG9sB,KAAKrJ,EAAOwU,GACmB,QAA5FmpC,EAAKmiB,aAAmD,EAASA,EAAahwC,gBAA6B,IAAP6tB,GAAyBA,EAAGt0C,KAAKy2D,EAActrD,EAAE,EAuBtJ6rD,EAAW5wC,QAAUzvB,EAAMa,QAAUi/D,EAAaj/D,MAClDw/D,EAAW3wC,SAA0C,QAA9ByG,EAAKkqC,EAAW3wC,gBAA6B,IAAPyG,EAAgBA,EAAK2pC,EAAapwC,UAEjG2wC,EAAW3wC,SAA0C,QAA9BiuB,EAAK0iB,EAAW3wC,gBAA6B,IAAPiuB,EAAgBA,EAAKjuB,EAClF,MAAM4wC,EAAqB,IAAW,GAAGn7D,YAAqB,CAC5D,CAAC,GAAGA,qBAA8Bk7D,EAAW5wC,QAC7C,CAAC,GAAGtqB,sBAA+Bk7D,EAAW3wC,SAC9C,CAAC,GAAGvqB,iBAAwC,QAAdoF,EAC9B,CAAC,GAAGpF,0BAAmCuzB,EACvC,CAAC,GAAGvzB,sBAA+B26D,aAAmD,EAASA,EAAavI,QAC3GyI,aAAqC,EAASA,EAAM56D,UAAWA,EAAWyyB,EAAeX,EAAQoC,EAAWH,GAC/G,OAAOE,EAAwB,gBAAoB,GAAM,CACvDr0B,UAAW,QACX0qB,SAAU2wC,EAAW3wC,UACP,gBAAoB,QAAS,CAC3CtqB,UAAWk7D,EACXr2D,MAAO+iB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGqpC,aAAqC,EAASA,EAAM/1D,OAAQA,GACnGf,aAAclJ,EAAMkJ,aACpBI,aAActJ,EAAMsJ,aACpBE,MAAOA,GACO,gBAAoB,GAAYwjB,OAAO2J,OAAO,CAAC,EAAG0pC,EAAY,CAC5Ej7D,UAAW,IAAWi7D,EAAWj7D,UAAW,CAC1C,CAACwsB,KAAcuuC,IAEjBv5C,KAAM,QACNzhB,UAAWA,EACXlF,IAAK+4B,UACWt4B,IAAbI,EAAsC,gBAAoB,OAAQ,KAAMA,GAAY,OAAO,EAMlG,GAJ2B,aAAiB++D,ICpFtCU,GAA0B,cAAiB,CAACvgE,EAAOC,KACvD,MAAM,aACJ82B,EAAY,UACZxsB,GACE,aAAiB,QAEnBpF,UAAWyyB,EAAkB,UAC7BxyB,EAAS,cACTyyB,EAAa,QACbrH,EAAO,YACPgwC,EAAc,UAAS,SACvB9wC,EAAQ,SACR5uB,EACAmM,KAAMkqD,EAAa,MACnBltD,EAAK,GACLyW,EAAE,WACF0/C,EAAU,KACV9zD,EAAI,aACJ9L,EACAK,MAAO4/D,EAAe,MACtBlJ,GAAQ,EAAK,SACbznC,EAAQ,aACR5mB,EAAY,aACZI,EAAY,QACZ07B,EAAO,OACP07B,GACE1gE,GACGa,EAAO+4B,IAAY,QAAep5B,EAAc,CACrDK,MAAO4/D,IAEHE,EAAgB,eAAkBx3D,IACtC,MAAMy3D,EAAY//D,EACZ0D,EAAM4E,EAAM8S,OAAOpb,MACnB,UAAWb,GACf45B,EAASr1B,GAEPA,IAAQq8D,IACV9wC,SAAoDA,EAAS3mB,GAC/D,GACC,CAACtI,EAAO+4B,EAAU9J,IACf3qB,EAAY4xB,EAAa,QAASa,GAClCoC,EAAiB,GAAG70B,UAEpBg0B,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,EAAQoC,GAAa,GAASn0B,EAAWg0B,GAC5D,IAAI0nC,EAAmB//D,EAEnB0vB,GAAWA,EAAQ/kB,OAAS,IAC9Bo1D,EAAmBrwC,EAAQtjB,KAAIkP,GACP,iBAAXA,GAAyC,iBAAXA,EAEnB,gBAAoB,GAAO,CAC7Cna,IAAKma,EAAOzS,WACZxE,UAAWA,EACXuqB,SAAUA,EACV7uB,MAAOub,EACPqT,QAAS5uB,IAAUub,GAClBA,GAGe,gBAAoB,GAAO,CAC7Cna,IAAK,6BAA6Bma,EAAOvb,QACzCsE,UAAWA,EACXuqB,SAAUtT,EAAOsT,UAAYA,EAC7B7uB,MAAOub,EAAOvb,MACd4uB,QAAS5uB,IAAUub,EAAOvb,MAC1B2I,MAAO4S,EAAO5S,MACdS,MAAOmS,EAAOnS,MACdyW,GAAItE,EAAOsE,GACXyZ,SAAU/d,EAAO+d,UAChB/d,EAAOqd,UAGd,MAAMqnC,GAAa,EAAArH,GAAA,GAAQtC,GACrBtmC,EAAc,IAAWmJ,EAAgB,GAAGA,KAAkBwmC,IAAe,CACjF,CAAC,GAAGxmC,KAAkB8mC,KAAeA,EACrC,CAAC,GAAG9mC,SAAqC,QAAdzvB,EAC3B,CAAC,GAAGyvB,WAAyBu9B,GAC5BnyD,EAAWyyB,EAAeX,EAAQoC,EAAWH,GAC1C4nC,EAAgB,WAAc,KAAM,CACxCjxC,SAAU6wC,EACV9/D,QACA6uB,WACApjB,OACA8zD,aACA7I,WACE,CAACoJ,EAAe9/D,EAAO6uB,EAAUpjB,EAAM8zD,EAAY7I,IACvD,OAAOl+B,EAAwB,gBAAoB,MAAOrM,OAAO2J,OAAO,CAAC,GAAG,EAAA3M,EAAA,GAAUhqB,EAAO,CAC3FkqB,MAAM,EACNljB,MAAM,IACJ,CACF5B,UAAWyrB,EACX5mB,MAAOA,EACPf,aAAcA,EACdI,aAAcA,EACd07B,QAASA,EACT07B,OAAQA,EACRhgD,GAAIA,EACJzgB,IAAKA,IACU,gBAAoBk9D,GAA2B,CAC9Dt8D,MAAOkgE,GACNF,IAAmB,IAExB,GAA4B,OAAWN,ICrGvC,MAAMS,GAAc,CAAChhE,EAAOC,KAC1B,MAAM,aACJ82B,GACE,aAAiB,QAEjB5xB,UAAWyyB,GACT53B,EACJqgE,EAnBgC,SAAUroC,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAYiB,CAAOj4B,EAAO,CAAC,cACxBmF,EAAY4xB,EAAa,QAASa,GACxC,OAAoB,gBAAoBylC,GAAgC,CACtEx8D,MAAO,UACO,gBAAoB,GAAOmsB,OAAO2J,OAAO,CACvDxxB,UAAWA,GACVk7D,EAAY,CACbz5C,KAAM,QACN3mB,IAAKA,KACH,EAEN,GAA4B,aAAiB+gE,IC1BvC,GAAQ,GACd,GAAM/J,OAAS,GACf,GAAMr8B,MAAQ,GACd,GAAMqmC,aAAc,EACpB,YCQaC,GAAmB,CAAC,EACpBC,GAAgB,aAChBC,GAAmB,gBACnBC,GAAiB,cACxB,GAAa,GACb7uD,GAAc,CAAC9F,EAAoB1F,KACvC,IAAIwF,EAAO,GAOX,OANCxF,GAAQ,IAAIxF,SAAQ8D,IACnBkH,EAAKnI,KAAKiB,GACNA,GAA4B,iBAAXA,GAAuBoH,KAAsBpH,IAChEkH,EAAO,GAAGpI,QAAO,QAAmBoI,IAAO,QAAmBgG,GAAY9F,EAAoBpH,EAAOoH,MACvG,IAEKF,CAAI,EC/BN,SAAS80D,GAASt/D,GACvB,OAAOA,SAAqCA,IAAQA,EAAIiK,MAC1D,iBCDe,SAASs1D,KACtB,MAAO,CAAEn/D,GAAe,cAAiB8b,GAAKA,EAAI,GAAG,GACrD,OAAO9b,CACT,CCFO,MAAMo/D,GAAkB,CAAC,MAAO,KAAM,KAAM,KAAM,KAAM,MCoB/D,GAhBA,WACE,IAAIC,IAAkBhzD,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,KAAmBA,UAAU,GACrF,MAAMizD,GAAa,IAAAzmD,QAAO,CAAC,GACrB7Y,EAAcm/D,KACdI,ED6BO,WACb,MAAO,CAAE3wC,IAAS,WACZ4wC,EAtCiB5wC,KAAS,CAChC6wC,GAAI,eAAe7wC,EAAM8wC,iBACzBC,GAAI,eAAe/wC,EAAMgxC,cACzBC,GAAI,eAAejxC,EAAMkxC,cACzBC,GAAI,eAAenxC,EAAMoxC,cACzBC,GAAI,eAAerxC,EAAMsxC,cACzBC,IAAK,eAAevxC,EAAMwxC,iBAgCJC,CA1BIzxC,KAC1B,MAAM0xC,EAAiB1xC,EACjB2xC,EAAiB,GAAGv+D,OAAOo9D,IAAiB17C,UAoBlD,OAnBA68C,EAAenhE,SAAQ,CAACohE,EAAY71D,KAClC,MAAM81D,EAAkBD,EAAWE,cAC7BC,EAAY,SAASF,OACrBG,EAAS,SAASH,IACxB,KAAMH,EAAeK,IAAcL,EAAeM,IAChD,MAAM,IAAIvZ,MAAM,GAAGsZ,MAAcC,eAAoBN,EAAeK,OAAeL,EAAeM,OAEpG,GAAIj2D,EAAI41D,EAAel3D,OAAS,EAAG,CACjC,MAAMw3D,EAAY,SAASJ,OAC3B,KAAMH,EAAeM,IAAWN,EAAeO,IAC7C,MAAM,IAAIxZ,MAAM,GAAGuZ,MAAWC,eAAuBP,EAAeM,OAAYN,EAAeO,OAEjG,MACMC,EAAgB,SADSP,EAAe51D,EAAI,GAAG+1D,mBAErD,KAAMJ,EAAeO,IAAcP,EAAeQ,IAChD,MAAM,IAAIzZ,MAAM,GAAGwZ,MAAcC,eAA2BR,EAAeO,OAAeP,EAAeQ,MAE7G,KAEKlyC,CAAK,EAI2BmyC,CAAoBnyC,IAE3D,OAAO,aAAc,KACnB,MAAMoyC,EAAc,IAAIl+C,IACxB,IAAIm+C,GAAU,EACVC,EAAU,CAAC,EACf,MAAO,CACLC,cAAe,CAAC,EAChBC,SAASC,IACPH,EAAUG,EACVL,EAAY5hE,SAAQihC,GAAQA,EAAK6gC,KAC1BF,EAAYn2D,MAAQ,GAE7B,SAAAy2D,CAAUjhC,GAKR,OAJK2gC,EAAYn2D,MAAM0lB,KAAKgxC,WAC5BN,GAAU,EACVD,EAAYj8C,IAAIk8C,EAAQ5gC,GACxBA,EAAK6gC,GACED,CACT,EACA,WAAAO,CAAYC,GACVT,EAAY7gE,OAAOshE,GACdT,EAAYn2D,MAAM0lB,KAAKmxC,YAC9B,EACA,UAAAA,GACE92C,OAAOlpB,KAAK89D,GAAepgE,SAAQwhE,IACjC,MAAMe,EAAkBnC,EAAcoB,GAChCgB,EAAUrxC,KAAK4wC,cAAcQ,GACnCC,SAAkDA,EAAQC,IAAIC,eAAeF,aAAyC,EAASA,EAAQviE,SAAS,IAElJ2hE,EAAY/rB,OACd,EACA,QAAAssB,GACE32C,OAAOlpB,KAAK89D,GAAepgE,SAAQwhE,IACjC,MAAMe,EAAkBnC,EAAcoB,GAChCvhE,EAAWb,IACf,IAAI,QACFujE,GACEvjE,EACJ+xB,KAAK6wC,SAASx2C,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG2sC,GAAU,CACtD,CAACN,GAASmB,IACT,EAECF,EAAMh4D,OAAOm4D,WAAWL,GAC9BE,EAAII,YAAY5iE,GAChBkxB,KAAK4wC,cAAcQ,GAAmB,CACpCE,MACAxiE,YAEFA,EAASwiE,EAAI,GAEjB,EACArC,gBACD,GACA,CAAC5wC,GACN,CCtF6BszC,GAU3B,OATA,EAAAhjE,EAAA,IAAgB,KACd,MAAM0vB,EAAQ2wC,EAAmB+B,WAAUa,IACzC7C,EAAW1gE,QAAUujE,EACjB9C,GACFr/D,GACF,IAEF,MAAO,IAAMu/D,EAAmBiC,YAAY5yC,EAAM,GACjD,IACI0wC,EAAW1gE,OACpB,kBCnBA,SADyB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,qXAAyX,KAAQ,cAAe,MAAS,YCMzjB,IAAI,GAAqB,SAA4BhB,EAAOC,GAC1D,OAAoB,gBAAoBC,GAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,KAEV,EAOA,SAJ2B,aAAiB,ICb5C,GAD0B,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,uXAA2X,KAAQ,eAAgB,MAAS,YCM7jB,IAAI,GAAsB,SAA6BJ,EAAOC,GAC5D,OAAoB,gBAAoBC,GAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,KAEV,EAOA,SAJ2B,aAAiB,oBCA5C,SAfa,CAEXokE,eAAgB,MAChBC,QAAS,KACTC,gBAAiB,KACjBC,KAAM,IAENC,UAAW,MACXC,UAAW,MACXC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,UAAW,MCPb,IAAIC,GAAyB,CAAC,KAAM,KAAM,KAAM,OA0IhD,SAzIc,SAAiBnlE,GAC7B,IAAIolE,EAAwBplE,EAAMqlE,gBAChCA,OAA4C,IAA1BD,EAAmCD,GAAyBC,EAC9EE,EAAStlE,EAAMslE,OACfC,EAAavlE,EAAMulE,WACnBC,EAAWxlE,EAAMwlE,SACjBC,EAAWzlE,EAAMylE,SACjBC,EAAU1lE,EAAM0lE,QAChB/iB,EAAgB3iD,EAAM2iD,cACtBgjB,EAAS3lE,EAAM4lE,qBACfC,EAAkB7lE,EAAM6lE,gBACxBn2C,EAAW1vB,EAAM0vB,SACjBo2C,EAAkB9lE,EAAM8lE,gBACxBC,EAAkB/lE,EAAM+lE,gBACtB9kE,EAAkB,aAAe,IACnCkd,GAAmB,OAAeld,EAAiB,GACnD+kE,EAAc7nD,EAAiB,GAC/B8nD,EAAiB9nD,EAAiB,GAChC+nD,EAAgB,WAClB,OAAQF,GAAe5hD,OAAOC,MAAM2hD,QAAetlE,EAAY0jB,OAAO4hD,EACxE,EACIG,EAAkD,mBAApBL,EAAiCA,EAAkB,SAAUjlE,GAC7F,MAAO,GAAGuD,OAAOvD,EAAO,KAAKuD,OAAOkhE,EAAOd,eAC7C,EAqBI4B,EAAK,SAAY5xD,GACC,KAAhBwxD,IAGAxxD,EAAEupB,UAAY,KAAQmD,OAAoB,UAAX1sB,EAAEoS,OACnCq/C,EAAe,IACfP,SAA0CA,EAAQQ,MAEtD,EAcI/gE,EAAY,GAAGf,OAAOu+C,EAAe,YAIzC,IAAKojB,IAAoBL,EACvB,OAAO,KAET,IAAIW,EAAe,KACfC,EAAU,KACVC,EAAa,KACjB,GAAIR,GAAmBJ,EAAQ,CAC7B,IAAI/kE,EAAoC,YAA7B,OAAQmlE,GAAgCA,EAAkB,CAAC,EACpES,EAAyB5lE,EAAK4vB,QAC9Bi2C,EAA2B7lE,EAAKwE,UAE9BorB,EAAUg2C,OAAyB9lE,GA3BnC2kE,EAAgBh5D,MAAK,SAAU+P,GACjC,OAAOA,EAAOzS,aAAe67D,EAAS77D,UACxC,IACS07D,EAEFA,EAAgBjhE,OAAO,CAACohE,EAAS77D,aAAa2wB,MAAK,SAAUC,EAAGC,GAGrE,OAFcpW,OAAOC,MAAMD,OAAOmW,IAAM,EAAInW,OAAOmW,KACrCnW,OAAOC,MAAMD,OAAOoW,IAAM,EAAIpW,OAAOoW,GAErD,KAkBwEttB,KAAI,SAAUutB,EAAK1tB,GACzF,OAAoB,kBAAoB44D,EAAOe,OAAQ,CACrDzkE,IAAK8K,EACLlM,MAAO45B,EAAI9wB,YACVw8D,EAAqB1rC,GAC1B,IACA4rC,EAA4B,kBAAoBV,GAAQ,OAAS,CAC/Dj2C,SAAUA,EACVvqB,UAAW0gE,EACXc,YAAY,EACZC,gBAAiBJ,EAAyB,QAAU,WACpDK,uBAAuB,EACvBhmE,OAAQ2kE,GAAYH,EAAgB,IAAI17D,WACxC4yB,kBAAmB,SAA2BuqC,GAC5C,OAAOA,EAAYC,UACrB,EACA,aAAczB,EAAOJ,UACrB8B,aAAa,GACiB,YAA7B,OAAQjB,GAAgCA,EAAkB,KAAM,CACjE3gE,UAAW,IAAW,GAAGhB,OAAOe,EAAW,iBAAkBshE,GAC7Dj2C,QAASg2C,EACT12C,SA9EmB,SAA0BjvB,EAAOub,GAGpD,IAAI6qD,EAFN1B,SAAgDA,EAAWnhD,OAAOvjB,IACjC,YAA7B,OAAQklE,KAE6C,QAAtDkB,EAAwBlB,EAAgBj2C,gBAAgD,IAA1Bm3C,GAAoCA,EAAsB59D,KAAK08D,EAAiBllE,EAAOub,GAE1J,IAyEMoU,EACN,CA0BA,OAzBIk1C,IACED,IACFc,EAAiC,kBAAbd,EAAsC,kBAAoB,SAAU,CACtF7+C,KAAM,SACNvY,QAAS+3D,EACTc,QAASd,EACT12C,SAAUA,EACVtqB,UAAW,GAAGhB,OAAOe,EAAW,yBAC/BmgE,EAAOZ,iBAAgC,kBAAoB,OAAQ,CACpEr2D,QAAS+3D,EACTc,QAASd,GACRX,IAELa,EAAuB,kBAAoB,MAAO,CAChDlhE,UAAW,GAAGhB,OAAOe,EAAW,kBAC/BmgE,EAAOb,QAAsB,kBAAoB,QAAS,CAC3D/0C,SAAUA,EACV9I,KAAM,OACN/lB,MAAOmlE,EACPl2C,SA7Fe,SAAsBtb,GACvCyxD,EAAezxD,EAAEyH,OAAOpb,MAC1B,EA4FIqmE,QAASd,EACT1F,OA5Fa,SAAoBlsD,GAC/BixD,GAA4B,KAAhBO,IAGhBC,EAAe,IACXzxD,EAAE2yD,gBAAkB3yD,EAAE2yD,cAAc/hE,UAAUwT,QAAQ,GAAGxU,OAAOu+C,EAAe,gBAAkB,GAAKnuC,EAAE2yD,cAAc/hE,UAAUwT,QAAQ,GAAGxU,OAAOu+C,EAAe,WAAa,IAGlL+iB,SAA0CA,EAAQQ,KACpD,EAoFI,aAAcZ,EAAOX,OACnBW,EAAOX,KAAM4B,IAEC,kBAAoB,KAAM,CAC5CnhE,UAAWD,GACVkhE,EAAcC,EACnB,ECzGA,GA/BY,SAAetmE,GACzB,IAAI2iD,EAAgB3iD,EAAM2iD,cACxBgiB,EAAO3kE,EAAM2kE,KACbthC,EAASrjC,EAAMqjC,OACfj+B,EAAYpF,EAAMoF,UAClBsE,EAAY1J,EAAM0J,UAClB2E,EAAUrO,EAAMqO,QAChB+4D,EAAapnE,EAAMonE,WACnBC,EAAarnE,EAAMqnE,WACjBliE,EAAY,GAAGf,OAAOu+C,EAAe,SACrC9yC,EAAM,IAAW1K,EAAW,GAAGf,OAAOe,EAAW,KAAKf,OAAOugE,IAAO,QAAgB,OAAgB,CAAC,EAAG,GAAGvgE,OAAOe,EAAW,WAAYk+B,GAAS,GAAGj/B,OAAOe,EAAW,cAAew/D,GAAOv/D,GAO7LkiE,EAAQD,EAAW1C,EAAM,OAAqB,kBAAoB,IAAK,CACzE4C,IAAK,YACJ5C,IACH,OAAO2C,EAAqB,kBAAoB,KAAM,CACpD99D,MAAOE,EAAY89D,OAAO7C,GAAQ,KAClCv/D,UAAWyK,EACXxB,QAZgB,WAChBA,EAAQs2D,EACV,EAWE5/B,UAVmB,SAAwBvwB,GAC3C4yD,EAAW5yD,EAAGnG,EAASs2D,EACzB,EASE9jC,SAAU,GACTymC,GAAS,IACd,ECjBA,IAAIG,GAAoB,SAA2B9C,EAAM/9C,EAAMvS,GAC7D,OAAOA,CACT,EACA,SAASqzD,KAAQ,CACjB,SAASC,GAAUhtC,GACjB,IAAI95B,EAAQujB,OAAOuW,GACnB,MAAwB,iBAAV95B,IAAuBujB,OAAOC,MAAMxjB,IAAU+mE,SAAS/mE,IAAUmZ,KAAKS,MAAM5Z,KAAWA,CACvG,CACA,SAASgnE,GAAc3vC,EAAGstC,EAAU7uD,GAClC,IAAImxD,OAAyB,IAAN5vC,EAAoBstC,EAAWttC,EACtD,OAAOle,KAAKS,OAAO9D,EAAQ,GAAKmxD,GAAa,CAC/C,CAsaA,SAraiB,SAAoB9nE,GACnC,IAAIovB,EAAmBpvB,EAAMmF,UAC3BA,OAAiC,IAArBiqB,EAA8B,gBAAkBA,EAC5D24C,EAAwB/nE,EAAM6lE,gBAC9BA,OAA4C,IAA1BkC,EAAmC,YAAcA,EACnE3iE,EAAYpF,EAAMoF,UAClBwgE,EAAuB5lE,EAAM4lE,qBAC7BoC,EAAchoE,EAAMgB,QACpBinE,EAAwBjoE,EAAMkoE,eAC9BA,OAA2C,IAA1BD,EAAmC,EAAIA,EACxDE,EAAenoE,EAAM2W,MACrBA,OAAyB,IAAjBwxD,EAA0B,EAAIA,EACtCC,EAAepoE,EAAMwlE,SACrB6C,EAAwBroE,EAAMsoE,gBAC9BA,OAA4C,IAA1BD,EAAmC,GAAKA,EAC1DE,EAAkBvoE,EAAM8vB,SACxBA,OAA+B,IAApBy4C,EAA6Bb,GAAOa,EAC/CC,EAAmBxoE,EAAMwoE,iBACzBnjE,EAAQrF,EAAMqF,MACdojE,EAAwBzoE,EAAM0oE,oBAC9BA,OAAgD,IAA1BD,GAA0CA,EAChEE,EAAkB3oE,EAAM2oE,gBACxBC,EAAgB5oE,EAAM4oE,cACtBC,EAAmB7oE,EAAM0J,UACzBA,OAAiC,IAArBm/D,GAAqCA,EACjDC,EAAwB9oE,EAAM+oE,iBAC9BA,OAA6C,IAA1BD,EAAmCpB,GAAOoB,EAC7DE,EAAgBhpE,EAAMslE,OACtBA,OAA2B,IAAlB0D,EAA2B,GAAOA,EAC3C/+D,EAAQjK,EAAMiK,MACdg/D,EAAwBjpE,EAAMkpE,6BAC9BA,OAAyD,IAA1BD,EAAmC,GAAKA,EACvEv5C,EAAW1vB,EAAM0vB,SACjBy5C,EAASnpE,EAAMmpE,OACfC,EAAYppE,EAAMopE,UAClBC,EAAwBrpE,EAAM+lE,gBAC9BA,OAA4C,IAA1BsD,EAAmC1yD,EAAQuyD,EAA+BG,EAC5FhE,EAAkBrlE,EAAMqlE,gBACxBiE,EAAoBtpE,EAAMqnE,WAC1BA,OAAmC,IAAtBiC,EAA+B7B,GAAoB6B,EAChEC,EAAevpE,EAAMupE,aACrBC,EAAexpE,EAAMwpE,aACrBC,EAAWzpE,EAAMypE,SACjBC,EAAW1pE,EAAM0pE,SACfC,EAAgB,WAAa,MAC7Bz5C,IAAkB,QAAe,GAAI,CACrCrvB,MAAOunE,EACP5nE,aAAc8nE,IAEhBn4C,IAAmB,OAAeD,GAAiB,GACnDs1C,GAAWr1C,GAAiB,GAC5By5C,GAAcz5C,GAAiB,GAC7B8gB,IAAmB,QAAe,EAAG,CACrCpwC,MAAOmnE,EACPxnE,aAAc0nE,EACd15B,UAAW,SAAmBqgB,GAC5B,OAAO70C,KAAKC,IAAI,EAAGD,KAAK2yC,IAAIkC,EAAGgZ,QAAcnnE,EAAW8kE,GAAU7uD,IACpE,IAEFu6B,IAAmB,OAAeD,GAAkB,GACpDjwC,GAAUkwC,GAAiB,GAC3B24B,GAAa34B,GAAiB,GAC5BjwC,GAAkB,aAAeD,IACnCmd,IAAmB,OAAeld,GAAiB,GACnD6oE,GAAmB3rD,GAAiB,GACpC4rD,GAAsB5rD,GAAiB,IACzC,IAAA7C,YAAU,WACRyuD,GAAoB/oE,GACtB,GAAG,CAACA,KAMJ,IAAIgpE,GAAehwD,KAAKC,IAAI,EAAGjZ,IAAW4nE,EAAgB,EAAI,IAC1DqB,GAAejwD,KAAK2yC,IAAIkb,QAAcnnE,EAAW8kE,GAAU7uD,GAAQ3V,IAAW4nE,EAAgB,EAAI,IACtG,SAASsB,GAAY9pE,EAAMq5B,GACzB,IAAIqK,EAAW1jC,GAAqB,kBAAoB,SAAU,CAChEwmB,KAAM,SACN,aAAc6S,EACdr0B,UAAW,GAAGhB,OAAOe,EAAW,gBAKlC,MAHoB,mBAAT/E,IACT0jC,EAAwB,kBAAoB1jC,GAAM,OAAc,CAAC,EAAGJ,KAE/D8jC,CACT,CACA,SAASoiC,GAAc1xD,GACrB,IAAI21D,EAAa31D,EAAEyH,OAAOpb,MACtBupE,EAAWvC,QAAcnnE,EAAW8kE,GAAU7uD,GAWlD,MATmB,KAAfwzD,EACMA,EACC/lD,OAAOC,MAAMD,OAAO+lD,IACrBL,GACCK,GAAcC,EACfA,EAEAhmD,OAAO+lD,EAGnB,CAIA,IAAIE,GAA2B1zD,EAAQ6uD,IAAWmD,EAWlD,SAAS2B,GAAYnhE,GACnB,IAAItI,EAAQqlE,GAAc/8D,GAI1B,OAHItI,IAAUipE,IACZC,GAAoBlpE,GAEdsI,EAAM40B,SACZ,KAAKhD,GAAA,EAAQmG,MACXqpC,GAAa1pE,GACb,MACF,KAAKk6B,GAAA,EAAQiG,GACXupC,GAAa1pE,EAAQ,GACrB,MACF,KAAKk6B,GAAA,EAAQkG,KACXspC,GAAa1pE,EAAQ,GAK3B,CAaA,SAAS0pE,GAAa5F,GACpB,GA9CF,SAAiBA,GACf,OAAOgD,GAAUhD,IAASA,IAAS3jE,IAAW2mE,GAAUhxD,IAAUA,EAAQ,CAC5E,CA4CM6zD,CAAQ7F,KAAUj1C,EAAU,CAC9B,IAAI+6C,EAAc5C,QAAcnnE,EAAW8kE,GAAU7uD,GACjD+zD,EAAU/F,EAWd,OAVIA,EAAO8F,EACTC,EAAUD,EACD9F,EAAO,IAChB+F,EAAU,GAERA,IAAYZ,IACdC,GAAoBW,GAEtBb,GAAWa,GACX56C,SAA4CA,EAAS46C,EAASlF,IACvDkF,CACT,CACA,OAAO1pE,EACT,CACA,IAAI2pE,GAAU3pE,GAAU,EACpB4pE,GAAU5pE,GAAU6mE,QAAcnnE,EAAW8kE,GAAU7uD,GAC3D,SAASk0D,KACHF,IAASJ,GAAavpE,GAAU,EACtC,CACA,SAAS8pE,KACHF,IAASL,GAAavpE,GAAU,EACtC,CACA,SAAS+pE,KACPR,GAAaP,GACf,CACA,SAASgB,KACPT,GAAaN,GACf,CACA,SAASgB,GAAW9hE,EAAOkT,GACzB,GAAkB,UAAdlT,EAAMlH,KAAmBkH,EAAM+hE,WAAanwC,GAAA,EAAQmG,OAAS/3B,EAAM40B,UAAYhD,GAAA,EAAQmG,MAAO,CAChG,IAAK,IAAI1yB,EAAOC,UAAUhD,OAAQ0/D,EAAa,IAAIrpE,MAAM0M,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IACxGw8D,EAAWx8D,EAAO,GAAKF,UAAUE,GAEnC0N,EAASzN,WAAM,EAAQu8D,EACzB,CACF,CAyBA,SAASC,GAAWjiE,GACC,UAAfA,EAAMyd,MAAoBzd,EAAM40B,UAAYhD,GAAA,EAAQmG,OACtDqpC,GAAaT,GAEjB,CACA,IAAIuB,GAAW,KACXC,IAA2B,EAAAthD,EAAA,GAAUhqB,EAAO,CAC9CkqB,MAAM,EACNljB,MAAM,IAEJukE,GAAYnC,GAA0B,kBAAoB,KAAM,CAClEhkE,UAAW,GAAGhB,OAAOe,EAAW,gBAC/BikE,EAAUzyD,EAAO,CAAW,IAAVA,EAAc,GAAK3V,GAAU,GAAKwkE,GAAW,EAAGxkE,GAAUwkE,GAAW7uD,EAAQA,EAAQ3V,GAAUwkE,MAChHgG,GAAW,KACXpB,GAAWvC,QAAcnnE,EAAW8kE,GAAU7uD,GAIlD,GAAI6xD,GAAoB7xD,GAAS6uD,GAC/B,OAAO,KAET,IAAIiG,GAAY,GACZC,GAAa,CACf/oB,cAAex9C,EACfkJ,QAASk8D,GACTnD,WAAY6D,GACZvhE,UAAWA,EACX29D,WAAYA,EACZ1C,MAAO,GAELgH,GAAW3qE,GAAU,EAAI,EAAIA,GAAU,EAAI,EAC3C4qE,GAAW5qE,GAAU,EAAIopE,GAAWppE,GAAU,EAAIopE,GAClD3E,GAAWkD,GAAmBA,EAAgBlD,SAI9CoG,GAAiC,YAApB,OAAQ1C,GAAuBA,EAAO2C,UAAY3C,EAC/D5C,GAAad,GACbsG,GAAc,KACd5C,IAEE1D,KAEAc,GADsB,kBAAbd,GACiB,kBAAoB,SAAU,CACtD7+C,KAAM,SACNvY,QAAS+8D,GACTlE,QAASkE,IACR9F,EAAOZ,iBAEgB,kBAAoB,OAAQ,CACpDr2D,QAAS+8D,GACTlE,QAASkE,IACR3F,IAELc,GAA0B,kBAAoB,KAAM,CAClD/8D,MAAOE,EAAY,GAAGtF,OAAOkhE,EAAOb,SAASrgE,OAAOpD,GAAS,KAAKoD,OAAOgmE,IAAY,KACrFhlE,UAAW,GAAGhB,OAAOe,EAAW,kBAC/BohE,KAELwF,GAA2B,kBAAoB,KAAM,CACnDviE,MAAOE,EAAY,GAAGtF,OAAOpD,GAAS,KAAKoD,OAAOgmE,IAAY,KAC9DhlE,UAAW,GAAGhB,OAAOe,EAAW,kBAC/B0mE,GAAa/B,GAAgC,kBAAoB,QAAS,CAC3EljD,KAAM,OACN/lB,MAAOipE,GACPp6C,SAAUA,EACVqV,UAtKJ,SAAuB57B,GACjBA,EAAM40B,UAAYhD,GAAA,EAAQiG,IAAM73B,EAAM40B,UAAYhD,GAAA,EAAQkG,MAC5D93B,EAAMyL,gBAEV,EAmKIsyD,QAASoD,GACTx6C,SAAUw6C,GACV5J,OAjJJ,SAAoBv3D,GAClBohE,GAAarE,GAAc/8D,GAC7B,EAgJI8D,KAAM,IACS,kBAAoB,OAAQ,CAC3C7H,UAAW,GAAGhB,OAAOe,EAAW,WAC/B,KAAMilE,KAIX,IAAI4B,GAAiBpD,EAAgB,EAAI,EACzC,GAAIwB,IAAY,EAAqB,EAAjB4B,GAAoB,CACjC5B,IACHqB,GAAUpnE,KAAmB,kBAAoB,IAAO,OAAS,CAAC,EAAGqnE,GAAY,CAC/EzpE,IAAK,UACL0iE,KAAM,EACNv/D,UAAW,GAAGhB,OAAOe,EAAW,sBAGpC,IAAK,IAAI4H,GAAI,EAAGA,IAAKq9D,GAAUr9D,IAAK,EAClC0+D,GAAUpnE,KAAmB,kBAAoB,IAAO,OAAS,CAAC,EAAGqnE,GAAY,CAC/EzpE,IAAK8K,GACL43D,KAAM53D,GACNs2B,OAAQriC,KAAY+L,MAG1B,KAAO,CACL,IAAIk/D,GAAgBrD,EAAgBtD,EAAON,OAASM,EAAOR,OACvDoH,GAAgBtD,EAAgBtD,EAAOL,OAASK,EAAOP,OACvDoH,GAAkB9E,EAAW2C,GAAc,YAAaE,GAAYX,EAAc,cAClF6C,GAAkB/E,EAAW4C,GAAc,YAAaC,GAAYV,EAAc,cAClFd,IACF2C,GAAWc,GAA+B,kBAAoB,KAAM,CAClE3iE,MAAOE,EAAYuiE,GAAgB,KACnChqE,IAAK,OACLoM,QAAS08D,GACTlqC,SAAU,EACVkE,UA1HN,SAA4B57B,GAC1B8hE,GAAW9hE,EAAO4hE,GACpB,EAyHM3lE,UAAW,IAAW,GAAGhB,OAAOe,EAAW,eAAe,OAAgB,CAAC,EAAG,GAAGf,OAAOe,EAAW,4BAA6BokE,KAC/H4C,IAAmB,KACtBX,GAAWY,GAA+B,kBAAoB,KAAM,CAClE5iE,MAAOE,EAAYwiE,GAAgB,KACnCjqE,IAAK,OACLoM,QAAS28D,GACTnqC,SAAU,EACVkE,UA/HN,SAA4B57B,GAC1B8hE,GAAW9hE,EAAO6hE,GACpB,EA8HM5lE,UAAW,IAAW,GAAGhB,OAAOe,EAAW,eAAe,OAAgB,CAAC,EAAG,GAAGf,OAAOe,EAAW,4BAA6BqkE,KAC/H4C,IAAmB,MAExB,IAAIlkE,GAAO8R,KAAKC,IAAI,EAAGjZ,GAAUgrE,IAC7B7jE,GAAQ6R,KAAK2yC,IAAI3rD,GAAUgrE,GAAgB5B,IAC3CppE,GAAU,GAAKgrE,KACjB7jE,GAAQ,EAAqB,EAAjB6jE,IAEV5B,GAAWppE,IAAWgrE,KACxB9jE,GAAOkiE,GAA4B,EAAjB4B,IAEpB,IAAK,IAAIzyD,GAAKrR,GAAMqR,IAAMpR,GAAOoR,IAAM,EACrCkyD,GAAUpnE,KAAmB,kBAAoB,IAAO,OAAS,CAAC,EAAGqnE,GAAY,CAC/EzpE,IAAKsX,GACLorD,KAAMprD,GACN8pB,OAAQriC,KAAYuY,OASxB,GANIvY,GAAU,GAAsB,EAAjBgrE,IAAkC,IAAZhrE,KACvCyqE,GAAU,GAAkB,iBAAmBA,GAAU,GAAI,CAC3DrmE,UAAW,IAAW,GAAGhB,OAAOe,EAAW,yBAA0BsmE,GAAU,GAAGzrE,MAAMoF,aAE1FqmE,GAAUj4D,QAAQ63D,KAEhBjB,GAAWppE,IAA4B,EAAjBgrE,IAAsBhrE,KAAYopE,GAAW,EAAG,CACxE,IAAIiC,GAAUZ,GAAUA,GAAUhgE,OAAS,GAC3CggE,GAAUA,GAAUhgE,OAAS,GAAkB,iBAAmB4gE,GAAS,CACzEjnE,UAAW,IAAW,GAAGhB,OAAOe,EAAW,0BAA2BknE,GAAQrsE,MAAMoF,aAEtFqmE,GAAUpnE,KAAKmnE,GACjB,CACa,IAATtjE,IACFujE,GAAUj4D,QAAsB,kBAAoB,IAAO,OAAS,CAAC,EAAGk4D,GAAY,CAClFzpE,IAAK,EACL0iE,KAAM,MAGNx8D,KAAUiiE,IACZqB,GAAUpnE,KAAmB,kBAAoB,IAAO,OAAS,CAAC,EAAGqnE,GAAY,CAC/EzpE,IAAKmoE,GACLzF,KAAMyF,MAGZ,CACA,IAAI9iE,GAzKJ,SAAoBqkE,GAClB,IAAIW,EAAajF,EAAWsE,EAAU,OAAQzB,GAAYT,EAAU,cACpE,OAAoB,mBAAqB6C,GAA2B,iBAAmBA,EAAY,CACjG58C,UAAWi7C,KACR2B,CACP,CAoKWC,CAAWZ,IACtB,GAAIrkE,GAAM,CACR,IAAIklE,IAAgB7B,KAAYP,GAChC9iE,GAAoB,kBAAoB,KAAM,CAC5CkC,MAAOE,EAAY47D,EAAOV,UAAY,KACtCv2D,QAASw8D,GACThqC,SAAU2rC,GAAe,KAAO,EAChCznC,UA5LJ,SAAwB57B,GACtB8hE,GAAW9hE,EAAO0hE,GACpB,EA2LIzlE,UAAW,IAAW,GAAGhB,OAAOe,EAAW,UAAU,OAAgB,CAAC,EAAG,GAAGf,OAAOe,EAAW,aAAcqnE,KAC5G,gBAAiBA,IAChBllE,GACL,CACA,IAEMmlE,GAAcC,GAFhBnlE,GA/KJ,SAAoBqkE,GAClB,IAAIe,EAAatF,EAAWuE,EAAU,OAAQ1B,GAAYR,EAAU,cACpE,OAAoB,mBAAqBiD,GAA2B,iBAAmBA,EAAY,CACjGj9C,UAAWk7C,KACR+B,CACP,CA0KWC,CAAWhB,IAClBrkE,KAEE4hE,GACFsD,IAAgB7B,GAChB8B,GAAe/B,GAAU,EAAI,MAG7B+B,IADAD,IAAgB7B,KAAYR,IACE,KAAO,EAEvC7iE,GAAoB,kBAAoB,KAAM,CAC5CiC,MAAOE,EAAY47D,EAAOT,UAAY,KACtCx2D,QAASy8D,GACTjqC,SAAU6rC,GACV3nC,UA5MJ,SAAwB57B,GACtB8hE,GAAW9hE,EAAO2hE,GACpB,EA2MI1lE,UAAW,IAAW,GAAGhB,OAAOe,EAAW,UAAU,OAAgB,CAAC,EAAG,GAAGf,OAAOe,EAAW,aAAcsnE,KAC5G,gBAAiBA,IAChBllE,KAEL,IAAIsI,GAAM,IAAW1K,EAAWC,GAAW,QAAgB,QAAgB,QAAgB,QAAgB,OAAgB,CAAC,EAAG,GAAGhB,OAAOe,EAAW,UAAqB,UAAVE,GAAoB,GAAGjB,OAAOe,EAAW,WAAsB,WAAVE,GAAqB,GAAGjB,OAAOe,EAAW,QAAmB,QAAVE,GAAkB,GAAGjB,OAAOe,EAAW,WAAYgkE,GAAS,GAAG/kE,OAAOe,EAAW,aAAcuqB,IACtW,OAAoB,kBAAoB,MAAM,OAAS,CACrDtqB,UAAWyK,GACX5F,MAAOA,EACPhK,IAAK0pE,GACJ2B,IAA2BC,GAAWjkE,GAAM6hE,EAAS4C,GAAcN,GAAWlkE,GAAmB,kBAAoB,GAAS,CAC/H+9D,OAAQA,EACR3iB,cAAex9C,EACfuqB,SAAUA,EACVk2C,qBAAsBA,EACtBC,gBAAiBA,EACjBN,WAhRF,SAAwBt4D,GACtB,IAAI4/D,EAAahF,GAAc56D,EAAMu4D,GAAU7uD,GAC3Cm2D,EAAc9rE,GAAU6rE,GAA6B,IAAfA,EAAmBA,EAAa7rE,GAC1E4oE,GAAY38D,GACZ88D,GAAoB+C,GACpB/D,SAA4DA,EAAiB/nE,GAASiM,GACtF48D,GAAWiD,GACXh9C,SAA4CA,EAASg9C,EAAa7/D,EACpE,EAyQEu4D,SAAUA,GACVH,gBAAiBA,EACjBK,QAAS2E,GAA2BE,GAAe,KACnD9E,SAAUc,GACVR,gBAAiBA,IAErB,kHC1ZA,MAAMgH,GAAkC,kCAClCC,GAAiB,CAAChtE,EAAOC,KAC7B,IAAIk2B,EACJ,MACIhxB,UAAWyyB,EAAkB,SAC7Bq1C,EAAQ,UACR7nE,EAAS,cACTyyB,EAAa,kBACb0E,EAAiB,eACjBiC,EAAc,kBACd0uC,EAAiB,WACjBC,EAAa,IAAG,UAChB/wC,EACA1P,eAAgB0gD,EAChBngE,KAAMkqD,EACNznC,SAAU0nC,EAAc,gBACxBiW,EACAC,OAAQC,EAAY,kBACpBhvC,EAAiB,yBACjBivC,EAAwB,sBACxB3G,EACAt8D,UAAWkjE,EAAa,MACxBxjE,EAAK,WACLyjE,EACA1Z,QAAS2Z,EAAgB,cACzBC,EAAa,eACb3xC,EAAc,UACd4xC,EAAS,SACT34B,EAAQ,OACR2T,GACE7oD,EACJ63D,EA9DgC,SAAU7/B,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAuDW,CAAOj4B,EAAO,CAAC,YAAa,WAAY,YAAa,gBAAiB,oBAAqB,iBAAkB,oBAAqB,aAAc,YAAa,iBAAkB,OAAQ,WAAY,kBAAmB,SAAU,oBAAqB,2BAA4B,wBAAyB,YAAa,QAAS,aAAc,UAAW,gBAAiB,iBAAkB,YAAa,WAAY,YAE5Zu8B,kBAAmBooB,EAAwB,aAC3C5tB,EAAY,YACZ+2C,EACAvjE,UAAWwjE,EAAgB,QAC3BC,EACAnH,sBAAuBoH,EAA4B,cACnDC,EAAa,OACbC,GACE,aAAiB,QACd,CAAEn9C,IAAS,WACZtE,EAAiB0gD,QAAmEA,EAAuBp8C,aAAqC,EAASA,EAAMszB,cAC/Jn/C,EAAY4xB,EAAa,SAAUa,GACnC+qB,EAAgB5rB,IAChBxsB,EAAYkjE,QAAqDA,EAAgBM,GACjF,YACJzU,EAAW,sBACXC,IACE,SAAsBp0D,EAAWoF,IAC9BypD,EAASoa,IAAoB,EAAAC,GAAA,GAAY,SAAUV,EAAkBV,GACtE9zC,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,EAAQoC,IAAa,QAASn0B,EAAWg0B,GACtDsK,EAAO,WAAc,KACzB,MACEA,KAAM6qC,GACJtuE,EACJ,GAAU,aAANsuE,EAGJ,OAAIA,IAAMvB,GACD,WAEFuB,CAAC,GACP,CAACtuE,EAAMyjC,OACJ8qC,GAAsB,aAAT9qC,GAAgC,SAATA,EACpC+qC,IAAiB,EAAAC,GAAA,GAAazuE,EAAM0uE,WAAY1uE,EAAM2uE,WACtDC,GAA+J,QAAhIz4C,EAAK0wC,QAAqEA,EAAwB2G,SAA6C,IAAPr3C,EAAgBA,EAAK83C,GAGhMX,OAAQuB,GAAa,YACrBC,GAAW,gBACXp2C,GAAe,aACfq2C,IACE,aAAiB,OACfC,IAAe,QAAgBH,GAAetB,GAEpD,IAAI0B,GAEFA,QADsBvuE,IAApB2sE,EACeA,EACC,aAAT5pC,EACQ,MAECqqC,aAAiD,EAASA,EAAY,YAA2B,gBAAoB,KAAoB,CACzJoB,cAAe,WAInB,MAAM,WACJR,GAAU,SACV7pC,GAAQ,WACRsqC,GAAU,UACVC,KACE,EAAAC,GAAA,GAASriD,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGkhC,GAAO,CAClDzqB,SAAUmhC,GACVO,eACAC,gBACAP,kBACArpE,YACA+pE,cAAe,YAEXI,IAAkC,IAAf5B,EAAsB,CAC7C0B,cACE1B,EACE6B,IAAc,QAAK1X,EAAM,CAAC,aAAc,aACxC2X,GAAuB,IAAWhxC,GAAkB0uC,EAAmB,CAC3E,CAAC,GAAG/nE,cAAsBoF,KAA4B,QAAdA,GACvCstB,EAAeyB,EAAWH,EAASjC,GAChC4pC,IAAa,EAAArH,GAAA,IAAQ53D,IACzB,IAAIs0B,EACJ,OAAmG,QAA3FA,EAAKghC,QAAqDA,EAAgBmC,SAAgC,IAAPnjC,EAAgBA,EAAKt0B,CAAG,IAG/H6tB,GAAW,aAAiBkJ,GAAA,GAC5BC,GAAiBu+B,QAAuDA,EAAiB1nC,GACzF7lB,GAAkB,IAAW,CACjC,CAAC,GAAG1E,QAAgC,UAAf27D,GACrB,CAAC,GAAG37D,QAAgC,UAAf27D,GACrB,CAAC,GAAG37D,SAAgC,QAAdoF,EACtB,CAAC,GAAGpF,KAAa6uD,KAAYoa,EAC7B,CAAC,GAAGjpE,kBAA2BuzB,KAC9B,QAAoBvzB,EAAW6pE,GAAcF,IAAcvV,EAAuB4U,aAAuC,EAASA,EAAO/oE,UAAWA,EAAWyyB,EAAeyB,EAAWH,EAASjC,GAE/L4tB,GAAgB,WAAc,SAChBpkD,IAAd07B,EACKA,EAEY,QAAd7xB,EAAsB,cAAgB,cAC5C,CAAC6xB,EAAW7xB,KAWRgzC,KAAU,EAAA8E,GAAA,IAAU,aAAcurB,aAAqD,EAASA,EAAcrwB,QAErH,OAAOlkB,EAAwB,gBAAoB,MAAUrM,OAAO2J,OAAO,CACzE12B,IAAKA,EACL+tE,QAASA,EACTrH,WAAYwH,aAAuC,EAASA,EAAOxH,YAClE4I,GAAa,CACdtlE,MAAO+iB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGw3C,aAAuC,EAASA,EAAOlkE,OAAQA,GACtGujE,yBAA0BoB,GAC1B3yC,gBAAgB,QAAkB0mB,EAAe,WAAY1mB,GAC7DsC,mBAAmB,EAAAkxC,GAAA,GAAwBlxC,EAAmB2vC,GAC9Df,WAAYA,EACZzgD,eAAgBA,EAChB+W,KAAMA,EACNt+B,UAAWA,EACXi3B,UAAW0oB,GACXv6C,UAAWA,EACXs+C,OAAQA,EACR6lB,WAAYA,GACZgB,qBAAsB7qC,GACtBsqC,WAAYA,GACZzB,WAAY4B,GACZjC,gBAAiB4B,GACjB7pE,UAAWyE,GACX0yB,kBAAmBA,GAAqBooB,EACxCuoB,kBAAmBsC,GACnB9/C,SAAUmJ,GACV+0C,cAAe5gD,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGi3C,GAAgB,CAC7DrwB,YAEFrI,SAAUq5B,GAAar5B,OAAWx0C,EAClCmtE,UAAWU,GAAaV,OAAYntE,KAClC,EAKAilE,GAAsB,aAAiBqH,IAGvC,IAAY,QAAarH,IAC/BA,GAAOoH,gCAAkCA,GACzCpH,GAAOe,OAAS,MAChBf,GAAOgK,SAAW,MAClBhK,GAAOhgB,uCAAyC,GAIhD,YCzNMiqB,GAAa5vE,GAAsB,gBAAoB,GAAQgtB,OAAO2J,OAAO,CAAC,EAAG32B,EAAO,CAC5F2mE,YAAY,EACZ15D,KAAM,WAEF4iE,GAAe7vE,GAAsB,gBAAoB,GAAQgtB,OAAO2J,OAAO,CAAC,EAAG32B,EAAO,CAC9F2mE,YAAY,EACZ15D,KAAM,YCTD,SAAS6iE,GAAe9+C,GAC7B,OAAO,SAAWA,EAAO,CACvB++C,kBAAmB/+C,EAAMozB,YAE7B,CDOAwrB,GAAWlJ,OAAS,GAAOA,OAC3BmJ,GAAanJ,OAAS,GAAOA,OCPtB,MAAMsJ,GAAqBh/C,IAChC,MAAM,cACJszB,EAAa,SACbtyC,EAAQ,WACRmlC,EAAU,UACVH,EAAS,gBACT0H,EAAe,gBACfzD,EAAe,WACfE,EAAU,aACV80B,EAAY,UACZC,EAAS,2BACTC,EAA0B,yBAC1B1sB,EAAwB,eACxBtF,EAAc,kBACdmT,EAAiB,aACjBpgC,EAAY,oBACZk/B,EAAmB,eACnBG,EAAc,kBACdE,EAAiB,oBACjB2f,EAAmB,iBACnBlyB,GACEltB,EACJ,MAAO,CACLsyB,aAActpC,KAAKC,IAAID,KAAK6tC,OAAOvD,EAAgBtyC,EAAWmlC,GAAc,EAAI,IAAM,GAAKH,EAAW,GACtGwb,eAAgBx4C,KAAKC,IAAID,KAAK6tC,OAAOnJ,EAAkB1sC,EAAWmlC,GAAc,EAAI,IAAM,GAAKH,EAAW,GAC1Gyb,eAAgBz4C,KAAKq2D,MAAMp1B,EAAkBE,EAAa80B,GAAgB,EAAI,IAAM,GAAKj5B,EACzFQ,cAAe04B,EAAYl5B,EAC3Bma,gBAAiBgf,EAA6Bn5B,EAC9Cka,gBAAiBzN,EAA2BzM,EAC5Cs5B,QAASnyB,EACToyB,kBAAmBr/C,EACnBs/C,iBAAkBlf,EAClBmf,aAAc,SAASrgB,OAAyBG,IAChDmgB,kBAAmB,SAAStgB,OAAyBK,IACrDkgB,oBAAqB,SAASvgB,OAAyBggB,IACvDQ,QAAS1yB,EACT2yB,SAAU3yB,EACV4yB,cAAe9+D,EACf++D,gBAAiB51B,EACjB61B,gBAAiBh/D,EAClB,EC5CUi/D,GAAgBjgD,IAAS,CACpC2D,YAAa3D,EAAMw/C,iBACnB57C,gBAAiB5D,EAAM4/C,UAEZ,GAAmB5/C,IAAS,CACvCK,MAAOL,EAAM8sB,kBACblpB,gBAAiB5D,EAAMyiC,yBACvB9+B,YAAa3D,EAAM6/B,YACnBv/B,UAAW,OACX+qB,OAAQ,cACR9qB,QAAS,EACT,sCAAuC,CACrC8qB,OAAQ,eAEV,0BAA2BrvB,OAAO2J,OAAO,CAAC,EAAGs6C,IAAc,SAAWjgD,EAAO,CAC3Ew/C,iBAAkBx/C,EAAM6/B,YACxB+f,QAAS5/C,EAAMyiC,+BAINyd,GAAuB,CAAClgD,EAAOR,KAAY,CACtDW,WAAYH,EAAMktB,iBAClBZ,YAAatsB,EAAMgmB,UACnBqG,YAAarsB,EAAMimB,SACnBtiB,YAAanE,EAAQmE,YACrB,UAAW,CACTA,YAAanE,EAAQggD,iBACrB57C,gBAAiB5D,EAAM4/C,SAEzB,0BAA2B,CACzBj8C,YAAanE,EAAQ+/C,kBACrBj/C,UAAWd,EAAQigD,aACnBxzB,QAAS,EACTroB,gBAAiB5D,EAAM6/C,YAGrBM,GAAyB,CAACngD,EAAOR,KAAY,CACjD,CAAC,IAAIQ,EAAMC,uBAAuBT,EAAQ88C,cAAct8C,EAAMC,0BAA2BjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGu6C,GAAqBlgD,EAAOR,IAAW,CAC9J,CAAC,GAAGQ,EAAMC,wBAAwBD,EAAMC,uBAAwB,CAC9DI,MAAOb,EAAQ4gD,cAGnB,CAAC,IAAIpgD,EAAMC,uBAAuBT,EAAQ88C,SAASt8C,EAAMC,yBAA0B,CACjF0D,YAAanE,EAAQmE,eAGZ08C,GAAmB,CAACrgD,EAAOsgD,KAAgB,CACtD,aAActkD,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGu6C,GAAqBlgD,EAAO,CAClH2D,YAAa3D,EAAM6/B,YACnB2f,iBAAkBx/C,EAAMw/C,iBACxBD,kBAAmBv/C,EAAMu/C,kBACzBE,aAAcz/C,EAAMy/C,gBACjB,CACH,CAAC,IAAIz/C,EAAMC,sCAAuCjE,OAAO2J,OAAO,CAAC,EAAG,GAAiB3F,MACnFmgD,GAAuBngD,EAAO,CAChCs8C,OAAQ,QACR34C,YAAa3D,EAAM6sB,WACnB2yB,iBAAkBx/C,EAAMukC,sBACxBgb,kBAAmBv/C,EAAM6sB,WACzB4yB,aAAcz/C,EAAM0/C,kBACpBU,WAAYpgD,EAAM6sB,cACfszB,GAAuBngD,EAAO,CACjCs8C,OAAQ,UACR34C,YAAa3D,EAAMugD,aACnBf,iBAAkBx/C,EAAMwgD,wBACxBjB,kBAAmBv/C,EAAMugD,aACzBd,aAAcz/C,EAAM2/C,oBACpBS,WAAYpgD,EAAMugD,gBACfD,KAEDG,GAA8B,CAACzgD,EAAOR,KAAY,CACtD,CAAC,IAAIQ,EAAMC,qCAAqCT,EAAQ88C,UAAW,CACjE,CAAC,GAAGt8C,EAAMC,4BAA6B,CACrC0D,YAAanE,EAAQkhD,iBACrBrgD,MAAOb,EAAQmhD,eAIRC,GAAwB5gD,IAAS,CAC5C,aAAchE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CACtD,CAAC,GAAG3F,EAAMC,sBAAuB,CAC/B,UAAW,CACTE,WAAYH,EAAMs/C,QAClBz+D,OAAQ,IAAG,SAAKmf,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM6/B,eAE9D,sBAAuB,CACrB9W,gBAAiB,GAEnB,qBAAsB,CACpBwjB,kBAAmB,KAGtBkU,GAA4BzgD,EAAO,CACpCs8C,OAAQ,QACRoE,iBAAkB1gD,EAAM6sB,WACxB8zB,WAAY3gD,EAAM6gD,kBACfJ,GAA4BzgD,EAAO,CACtCs8C,OAAQ,UACRoE,iBAAkB1gD,EAAMugD,aACxBI,WAAY3gD,EAAM8gD,oBACf,CACH,CAAC,IAAI9gD,EAAMC,uCAAwC,CACjD,CAAC,GAAGD,EAAMC,4BAA6BjE,OAAO2J,OAAO,CAAC,EAAG,GAAiB3F,SAKnE+gD,GAAqB,CAAC/gD,EAAOsgD,KACxC,MAAM,aACJrgD,GACED,EACJ,MAAO,CACL,eAAgBhE,OAAO2J,OAAO,CAC5BxF,WAAY,cACZtf,OAAQ,OACR,0BAA2B,CACzBorC,QAAS,QAGX,CAAC,IAAIhsB,2BAAuC,CAC1CI,MAAOL,EAAM8sB,kBACbzB,OAAQ,eAGV,CAAC,IAAIprB,kBAA8B,CACjC,yBAA0B,CACxBI,MAAOL,EAAM6sB,aAGjB,CAAC,IAAI5sB,oBAAgC,CACnC,yBAA0B,CACxBI,MAAOL,EAAMugD,gBAGhBD,GACJ,EAGGU,GAAqB,CAAChhD,EAAOR,KAAY,CAC7CW,WAAYX,EAAQk7B,GACpBpO,YAAatsB,EAAMgmB,UACnBqG,YAAarsB,EAAMimB,SACnBtiB,YAAa,cACb,yCAA0C,CACxCtD,MAAOb,aAAyC,EAASA,EAAQyhD,YAEnE,UAAW,CACT9gD,WAAYX,EAAQogD,SAEtB,0BAA2B,CACzB3zB,QAAS,EACTtoB,YAAanE,EAAQ+/C,kBACrB37C,gBAAiB5D,EAAM6/C,YAGrBqB,GAAuB,CAAClhD,EAAOR,KAAY,CAC/C,CAAC,IAAIQ,EAAMC,uBAAuBT,EAAQ88C,cAAct8C,EAAMC,0BAA2BjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGq7C,GAAmBhhD,EAAOR,IAAW,CAC5J,CAAC,GAAGQ,EAAMC,wBAAwBD,EAAMC,uBAAwB,CAC9DI,MAAOb,EAAQ4gD,gBAIRe,GAAiB,CAACnhD,EAAOsgD,KAAgB,CACpD,WAAYtkD,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGq7C,GAAmBhhD,EAAO,CAC9G06B,GAAI16B,EAAM4gC,kBACVgf,QAAS5/C,EAAM0jC,mBACf6b,kBAAmBv/C,EAAMu/C,qBACtB,CACH,CAAC,IAAIv/C,EAAMC,sCAAuCjE,OAAO2J,OAAO,CAAC,EAAG,GAAiB3F,MACnFkhD,GAAqBlhD,EAAO,CAC9Bs8C,OAAQ,QACR5hB,GAAI16B,EAAM+sB,aACV6yB,QAAS5/C,EAAMohD,kBACf7B,kBAAmBv/C,EAAM6sB,WACzBo0B,WAAYjhD,EAAM6gD,eAClBT,WAAYpgD,EAAM6sB,cACfq0B,GAAqBlhD,EAAO,CAC/Bs8C,OAAQ,UACR5hB,GAAI16B,EAAMqhD,eACVzB,QAAS5/C,EAAMshD,oBACf/B,kBAAmBv/C,EAAMugD,aACzBU,WAAYjhD,EAAM8gD,iBAClBV,WAAYpgD,EAAMugD,gBACfD,KAEDiB,GAA4B,CAACvhD,EAAOR,KAAY,CACpD,CAAC,IAAIQ,EAAMC,qCAAqCT,EAAQ88C,UAAW,CACjE,CAAC,GAAGt8C,EAAMC,4BAA6B,CACrCE,WAAYX,EAAQ8/C,QACpBj/C,MAAOb,EAAQmhD,eAIRa,GAAsBxhD,IAAS,CAC1C,WAAYhE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CACpD,CAAC,GAAG3F,EAAMC,sBAAuB,CAC/B,UAAW,CACTE,WAAYH,EAAM4gC,mBAEpB,CAAC,GAAG5gC,EAAMC,sDAAuD,CAC/D,sBAAuB,CACrBssC,kBAAmB,IAAG,SAAKvsC,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM+lB,cAEzE,qBAAsB,CACpBgD,gBAAiB,IAAG,SAAK/oB,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM+lB,iBAI1Ew7B,GAA0BvhD,EAAO,CAClCs8C,OAAQ,QACRgD,QAASt/C,EAAM+sB,aACf4zB,WAAY3gD,EAAM6gD,kBACfU,GAA0BvhD,EAAO,CACpCs8C,OAAQ,UACRgD,QAASt/C,EAAMqhD,eACfV,WAAY3gD,EAAM8gD,oBACf,CACH,CAAC,IAAI9gD,EAAMC,uCAAwC,CACjD,CAAC,GAAGD,EAAMC,sBAAuB,CAC/B,UAAW,CACTE,WAAYH,EAAM4gC,kBAClBvgC,MAAOL,EAAM8sB,mBAEf,sBAAuB,CACrByf,kBAAmB,IAAG,SAAKvsC,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM6/B,cACvE4hB,UAAW,IAAG,SAAKzhD,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM6/B,cAC/DzZ,aAAc,IAAG,SAAKpmB,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM6/B,eAEpE,qBAAsB,CACpB9W,gBAAiB,IAAG,SAAK/oB,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM6/B,cACrE4hB,UAAW,IAAG,SAAKzhD,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM6/B,cAC/DzZ,aAAc,IAAG,SAAKpmB,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM6/B,qBC/MtE6hB,GAAqB1hD,IACzB,MAAM,eACJyhC,EAAc,aACdwd,EAAY,eACZrzB,EAAc,gBACdsU,GACElgC,EACJ,MAAO,CACLpf,QAAS,IAAG,SAAK6gD,OAAmB,SAAKvB,KACzCl/C,SAAUgf,EAAM+/C,gBAChB55B,WAAY84B,EACZp8C,aAAc+oB,EACf,EAEU+1B,GAAqB3hD,IAAS,CACzCpf,QAAS,IAAG,SAAKof,EAAMwhC,oBAAmB,SAAKxhC,EAAMmgC,mBACrDn/C,SAAUgf,EAAMggD,gBAChBn9C,aAAc7C,EAAMkuB,iBAET0zB,GAAqB5hD,GAAShE,OAAO2J,OAAO3J,OAAO2J,OAAO,CACrE1uB,SAAU,WACVsH,QAAS,eACTF,MAAO,OACPgE,SAAU,EACVzB,QAAS,IAAG,SAAKof,EAAMsyB,kBAAiB,SAAKtyB,EAAMwmB,iBACnDnmB,MAAOL,EAAMgtB,UACbhsC,SAAUgf,EAAM8/C,cAChB35B,WAAYnmB,EAAMmmB,WAClBtjB,aAAc7C,EAAM6C,aACpBrC,WAAY,OAAOR,EAAM0nB,qBAhDiB,CAE1C,sBAAuB,CACrBnnB,QAAS,GAEX,iBAAkB,CAChBF,MA2CmBL,EAAM6hD,qBA1CzB/f,WAAY,QAEd,sBAAuB,CACrBpY,aAAc,cAuCmC,CAEnD,YAAa,CACXo4B,SAAU,OAEVhhE,OAAQ,OACRihE,UAAW/hD,EAAMszB,cACjBnN,WAAYnmB,EAAMmmB,WAClBI,cAAe,SACf/lB,WAAY,OAAOR,EAAMU,gCACzBshD,OAAQ,YAGV,OAAQhmD,OAAO2J,OAAO,CAAC,EAAG+7C,GAAmB1hD,IAC7C,OAAQhE,OAAO2J,OAAO,CAAC,EAAGg8C,GAAmB3hD,IAE7C,wBAAyB,CACvBzmB,UAAW,SAGF0oE,GAAqBjiD,IAChC,MAAM,aACJC,EAAY,OACZyrB,GACE1rB,EACJ,MAAO,CACL/oB,SAAU,WACVsH,QAAS,QACTF,MAAO,OACP6jE,eAAgB,WAChBC,cAAe,EAEf,mBAAoB,CAClBt4B,iBAAkB7pB,EAAMqqB,UACxB,eAAgB,CACdR,iBAAkB,IAItB,CAAC,QAAQ5pB,aAAwBA,iBAA6BjE,OAAO2J,OAAO,CAAC,EAAG+7C,GAAmB1hD,IACnG,CAAC,QAAQC,aAAwBA,iBAA6BjE,OAAO2J,OAAO,CAAC,EAAGg8C,GAAmB3hD,IAEnG,CAAC,QAAQ0rB,mBAAwBA,qBAA2B,CAC1D5qC,OAAQkf,EAAMiqB,iBAEhB,CAAC,QAAQyB,mBAAwBA,qBAA2B,CAC1D5qC,OAAQkf,EAAM0tB,iBAEhB,CAAC,KAAKztB,KAAiB,CACrB1hB,QAAS,aACT,uCAAwC,CACtCskB,aAAc,IAGlB,CAAC,GAAG5C,WAAuB,CACzB,kBAAmB,CACjB1hB,QAAS,aACTF,MAAO,EACP+sC,WAAY,SACZ7E,cAAe,SACf,uCAAwC,CACtC1jB,aAAc,IAGlB,aAAc,CACZtkB,QAAS,oBAEX,UAAW,CACTtH,SAAU,WACV2J,QAAS,MAAK,SAAKof,EAAMwmB,iBACzBnmB,MAAOL,EAAMgtB,UACbgG,WAAY,SACZhyC,SAAUgf,EAAM8/C,cAChB/mE,UAAW,SACX8pB,aAAc7C,EAAM6C,aACpBrC,WAAY,OAAOR,EAAMU,qBACzBylB,WAAY,EAEZ,CAAC,GAAGuF,YAAkB,CACpBV,OAAQ,IAAG,SAAKhrB,EAAM0mB,KAAK1mB,EAAMsyB,cAAcjhD,IAAI,GAAGu1C,KAAK,GAAGC,aAAY,SAAK7mB,EAAM0mB,KAAK1mB,EAAMwmB,eAAeI,KAAK,GAAGC,WACvH,CAAC,IAAI6E,uBAA4BA,iCAAsCA,8BAAoC,CACzG,CAAC,GAAGA,qBAA2B,CAC7B9nB,gBAAiB,UACjB/iB,OAAQ,IAAG,SAAKmf,EAAMgmB,cAAchmB,EAAMimB,uBAC1C3lB,UAAW,UAKjB,CAAC,GAAGorB,qBAA2B,CAC7BV,OAAQ,SAAQ,SAAKhrB,EAAM0mB,KAAK1mB,EAAMwmB,eAAeI,KAAK,GAAGC,WAC7DjjB,gBAAiB,cACjB,CAAC,GAAG8nB,oBAA0B,CAC5B3yC,UAAW,QACX8H,OAAQ,EACRyf,UAAW,WAKnB,CAACL,GAAe,CACd5hB,MAAO,OACPsqC,aAAc,EACd5vC,UAAW,UACX,UAAW,CACTwzC,OAAQ,EAER8hB,qBAAsB,GAExB,UAAW,CACT9hB,OAAQ,EACR8hB,qBAAsB,EACtB,CAAC,GAAGpuC,0BAAsC,CACxCssB,OAAQ,KAKd,CAAC,KAAKtsB,kBAA6BA,6BAAyC,CAC1Ew2B,qBAAsB,EACtBC,mBAAoB,EAEpB,CAAC,GAAGhL,YAAiBA,qBAA2B,CAC9C+K,qBAAsB,EACtBC,mBAAoB,IAGxB,CAAC,KAAKz2B,mBAA+B,CACnC,CAAC,uBAAuBA,KAAiB,CACvC02B,uBAAwB,EACxBC,qBAAsB,GAExB,CAAC,sBAAsB32B,KAAiB,CACtCw2B,qBAAsB,EACtBC,mBAAoB,IAGxB,CAAC,KAAKz2B,iBAA4BA,4BAAwC,CACxE02B,uBAAwB,EACxBC,qBAAsB,EAEtB,CAAC,GAAGlL,YAAiBA,qBAA2B,CAC9CiL,uBAAwB,EACxBC,qBAAsB,IAG1B,CAAC,GAAG32B,mBAA+B,CACjC,qBAAsB,CACpBw2B,qBAAsB,EACtBC,mBAAoB,EACpB,CAAC,GAAGz2B,cAA0B,CAC5B02B,uBAAwB32B,EAAM6C,aAC9B+zB,qBAAsB52B,EAAM6C,eAGhC,CAAC,wBAAwB5C,gCAA4C,CACnE02B,uBAAwB,EACxBC,qBAAsB,IAG1B,CAAC,IAAI32B,mBAA+BjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAC9DpnB,QAAS,UACR,YAAa,CACd,CAAC,GAAG0hB,kBAA6BA,mBAA8BA,KAAiB,CAC9E,uCAAwC,CACtCouC,qBAAsBruC,EAAMgmB,UAC5B,mBAAoB,CAClBuG,OAAQ,KAId,QAAS,CACPhuC,QAAS,cACT6jE,MAAO,OACP77B,cAAe,MAEf1jB,aAAc,GAEhB,CAAC,iBACO5C,iCACAA,wCACAyrB,0BACJ,CACFntC,QAAS,eAEX,yBAA0B,CACxBgtC,gBAAiBvrB,EAAM0mB,KAAK1mB,EAAMgmB,WAAWY,KAAK,GAAGC,QACrDwnB,qBAAsBruC,EAAMgmB,WAG9B,CAAC/lB,GAAe,CACdmiD,MAAO,QAGT,CAAC,OAAO12B,cAAmBA,iCACrBA,0BAA+BzrB,iBAC/ByrB,qBAA0BzrB,iBAC1BA,mBAA8BA,KAAiB,CACnDouC,qBAAsBruC,EAAMgmB,UAC5BnjB,aAAc,EACd,mBAAoB,CAClB0pB,OAAQ,IAGZ,CAAC,OAAOb,oBAA0B,CAChCa,OAAQ,GAGV,CAAC,OAAOb,cAAmBA,kBAAwB,CACjDa,OAAQ,GAEV,CAAC,iCACKb,0BAA+BA,iCAC/BA,sCAA2CzrB,iBAC3CyrB,iCAAsCzrB,KAAiB,CAC3D02B,uBAAwB32B,EAAM6C,aAC9B+zB,qBAAsB52B,EAAM6C,cAE9B,CAAC,gCACK6oB,yBAA8BA,iCAC9BA,gCAAqCzrB,iBACrCyrB,wCAA6CzrB,KAAiB,CAClEouC,qBAAsBruC,EAAMgmB,UAC5ByQ,qBAAsBz2B,EAAM6C,aAC5B6zB,mBAAoB12B,EAAM6C,cAG5B,CAAC,OAAO6oB,0BAA+BzrB,KAAiB,CACtDsmB,cAAe,OAEjB,CAAC,GAAGtmB,qBAAgCA,mBAA+B,CACjEqrB,kBAAmBtrB,EAAM0mB,KAAK1mB,EAAMgmB,WAAWY,KAAK,GAAGC,QACvD,CAAC,GAAG5mB,mBAA+B,CACjC4C,aAAc,IAGlB,CAAC,GAAG5C,oCAAgD,CAClD,CAAC,IAAIA,cAAyBA,WAAuB,CACnD,CAAC,OAAOA,mBAA8BA,mBAA+B,CACnE4C,aAAc,GAEhB,CAAC,OAAO5C,KAAiB,CACvB02B,uBAAwB32B,EAAM6C,aAC9B4zB,qBAAsB,EACtBC,mBAAoB,EACpBE,qBAAsB52B,EAAM6C,kBAKrC,EAEGw/C,GAAgBriD,IACpB,MAAM,aACJC,EAAY,gBACZytB,EAAe,UACf1H,EAAS,KACTU,GACE1mB,EAEEsiD,EAAoB57B,EAAKgH,GAAiBiF,IAAIjM,EAAKV,GAAWY,IAAI,IAAI+L,IAD1C,IACyE5H,IAAI,GAAGlE,QAClH,MAAO,CACL,CAAC5mB,GAAejE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAAS4hD,GAAmB5hD,IAASqgD,GAAiBrgD,IAASmhD,GAAenhD,IAAS+gD,GAAmB/gD,IAAS,CACxO,kBAAmB,CACjBlf,OAAQkf,EAAMszB,cACd,CAAC,IAAIrzB,QAAoB,CACvBnf,OAAQkf,EAAMiqB,iBAEhB,CAAC,IAAIhqB,QAAoB,CACvBnf,OAAQ4sC,EACRjB,WAAY61B,EACZ91B,cAAe81B,IAGnB,8FAA+F,CAC7F,qBAAsB,UAG3B,EAEGC,GAAqBviD,IACzB,MAAM,aACJC,GACED,EACJ,MAAO,CAEL,CAAC,GAAGC,gBAA4B,CAC9B+qB,OAAQ,EACR3qB,MAAOL,EAAMwiD,oBACbxhE,SAAUgf,EAAMwyB,aAChBjM,eAAgB,EAGhB8E,OAAQ,UACR7qB,WAAY,SAASR,EAAMU,qBAC3B,UAAW,CACTL,MAAOL,EAAMyiD,mBAEf,WAAY,CACVpiD,MAAOL,EAAMgtB,WAEf,WAAY,CACVloC,WAAY,UAEd,eAAgB,CACdkmC,OAAQ,MAAK,SAAKhrB,EAAM++C,uBAG7B,EAEG2D,GAAgB1iD,IACpB,MAAM,aACJC,EAAY,kBACZ8+C,EAAiB,qBACjB9xB,EAAoB,mBACpBvsB,EAAkB,UAClBiiD,EAAS,eACTC,EAAc,QACd94B,GACE9pB,EAEE6iD,EAAmB,GAAG5iD,2BAC5B,MAAO,CACL,CAHe,GAAGA,mBAGNjE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGi8C,GAAmB5hD,IAAS,CAClGzhB,QAAS,cACT,CAAC,SAAS0hB,qBAAiC,CACzCssB,OAAQ,EACR,CAAC,GAAGtsB,0BAAsC,CACxCssB,OAAQ,IAGZ,qBAAsB,CACpBA,OAAQ,GAEV,CAAC,UAAUtsB,KAAiB,CAC1Brf,QAAS,GAEX,CAAC,UAAUqf,gBAA2BA,KAAiB,CACrDjf,SAAU,UACVH,OAAQ,OACRgiB,aAAc,EACdopB,QAAS,OACT9rB,WAAY,cACZE,MAAO,UACP,gBAAiB,CACf9hB,QAAS,QAEX,UAAW,CACT+hB,UAAW,oBAGf,YAAa,CACX/hB,QAAS,eACTF,MAAO,EACPyG,WAAY,SACZwhC,QAAS,UAEX,CAACrmB,GAAe,CACd,qBAAsB,CACpB1hB,QAAS,OACTqc,KAAM,OACNgwB,WAAY,SACZ,uBAAwB,CACtBW,gBAAiBvrB,EAAMqqB,YAG3B,sBAAuB,CACrBhqB,MAAO4sB,GAET,0BAA2B,CACzB1B,gBAAiBvrB,EAAMozB,YAEzB,WAAY,CACV7H,gBAAiBwzB,GAEnB,WAAY,CACVzzB,kBAAmByzB,MAGrBwD,GAAmBviD,IAAS,CAE9B,CAAC,GAAG8pB,IAAU7pB,mBAA+B,CAC3CI,MAAOsiD,EACPt3B,OAAQ,UACR7qB,WAAY,OAAOE,IACnB,UAAW,CACTL,MAAOuiD,MAIb,CAACC,GAAmB,CAElB,CAAC,GAAG/4B,IAAU7pB,mBAA+B,CAC3CI,MAAOsiD,EACPt3B,OAAQ,cACR,UAAW,CACThrB,MAAOsiD,KAId,EAEG,GAAgB3iD,IACpB,MAAM,aACJC,EAAY,eACZ2rB,EAAc,eACdsC,GACEluB,EACJ,MAAO,CACL,CAAC,GAAGC,WAAuBjE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAASiiD,GAAmBjiD,IAAS,CAC3H,QAAS,CACPzmB,UAAW,OAEb,YAAayiB,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CACrDpnB,QAAS,eACTF,MAAO,OACPtF,UAAW,QACXwtC,cAAe,MACf,QAAS,CACPhtC,UAAW,OAGb,OAAQ,CACN,CAAC,GAAG0mB,iBAA6B,CAC/B4C,aAAc+oB,EACd5qC,SAAUgf,EAAM+/C,kBAGpB,OAAQ,CACN,CAAC,GAAG9/C,iBAA6B,CAC/B4C,aAAcqrB,KAGjB0yB,GAAsB5gD,IAASwhD,GAAoBxhD,IAAS,CAQ7D,CAAC,SAASC,6BAAwCA,uBAAkCA,kBAA8B,CAChH,CAAC,GAAGA,MAAiBA,iBAA6B,CAChD4C,aAAc,IAGlB,CAAC,SAAS5C,uBAAkCA,wBAAoC,CAC9E,CAAC,GAAGA,MAAiBA,iBAA6B,CAChDw2B,qBAAsB,EACtBC,mBAAoB,IAGxB,CAAC,SAASz2B,wBAAmCA,uBAAmC,CAC9E,CAAC,GAAGA,MAAiBA,iBAA6B,CAChD02B,uBAAwB,EACxBC,qBAAsB,IAK1B,CAAC,SAAS32B,uBAAkCA,kBAA8B,CACxE,CAAC,GAAGA,mBAA+B,CACjCw2B,qBAAsB,EACtBC,mBAAoB,QAK7B,EAEGosB,GAAsB9iD,IAC1B,MAAM,aACJC,EAAY,OACZyrB,GACE1rB,EACE+iD,EAAkB,GAAG9iD,WAC3B,MAAO,CACL,CAAC8iD,GAAkB,CACjB,CAAC9iD,GAAe,CACd,mBAAoB,CAClB,CAAC,KAAKA,iBAA4B8iD,gBAA8Br3B,kBAAwB,CACtF6K,uBAAwBv2B,EAAMsgC,qBAIpC,CAAC,GAAGrgC,mBAA+B,CACjCnf,OAAQkf,EAAMszB,cACdzwB,aAAc,GAIhB,CAAC,GAAG5C,QAAoB,CACtBkmB,WAAYnmB,EAAM0mB,KAAK1mB,EAAMi/C,cAActsB,IAAI,MAAQ9L,SAEzD,CAAC,KAAK5mB,WAAuB,CAC3B,CAAC,KAAKA,4BAAwC,CAC5C6qB,kBAAmB,EACnBlqC,QAAS,EACTC,OAAQ,EACR,CAAC,GAAGkiE,YAA2B,CAE7Bx3B,iBAAkB,EAClBkB,WAAY,EACZD,cAAe,EACfmK,uBAAwB,EACxBC,qBAAsB,EACtBt2B,UAAW,QAEb,CAAC,GAAGyiD,gBAA8Br3B,kBAAwB,CACxDrrB,MAAOL,EAAMitB,qBACb,UAAW,CACT5sB,MAAOL,EAAMsgC,mBAEf,WAAY,CACVjgC,MAAOL,EAAMshC,oBAEf,CAAC,IAAI5V,yBAA+B,CAClCZ,iBAAkB,EAClB7B,eAAgB,EAChBkkB,gBAAiB,EACjB6V,cAAe,MAKvB,CAAC,GAAGD,YAA2B,CAC7BjiE,OAAQkf,EAAMszB,cACd,mBAAoB,CAClB/G,OAAQ,IAGZ,UAAW,CACT,CAAC,GAAGtsB,oBAA+B8iD,YAA2B,CAC5DjiE,OAAQkf,EAAMiqB,kBAGlB,UAAW,CACT,CAAC,GAAGhqB,oBAA+B8iD,YAA2B,CAC5DjiE,OAAQkf,EAAM0tB,kBAGlB,QAAS,CACPn0C,UAAW,OAGb,CAAC,IAAI0mB,kBAA8B,CACjC,CAAC,SAASA,wBAAoC,CAC5C,CAAC,GAAGA,iBAA6B,CAC/B,CAAC,GAAGA,mBAA+B,CACjCsrB,gBAAiBvrB,EAAM0mB,KAAK1mB,EAAMgmB,WAAWY,KAAK,GAAGC,QACrDhkB,aAAc,KAIpB,CAAC,SAAS5C,yBAAqC,CAC7C,CAAC,GAAGA,KAAgBA,mBAA+B,CACjD4C,aAAc,IAGlB,CAAC,KAAK5C,iBAA4BA,+BAC9BA,eACFA,mBAA+B,CAC/B,6BAA8B,CAC5BssB,OAAQ,IAGZ,CAAC,KAAKtsB,2BAAuC,CAC3CssB,OAAQ,KAIf,EAEG02B,GAAmBjjD,IACvB,MAAM,aACJC,EAAY,UACZijD,GACEljD,EACEmjD,EAAoB,GAAGljD,aAC7B,MAAO,CACL,CAACkjD,GAAoB,CACnBlsE,SAAU,WACV,eAAgB,CAEd,CAAC,KAAKgpB,KAAiB,CACrBnf,OAAQ,QAEV,CAAC,GAAGmf,gBAA4B,CAC9BhpB,SAAU,WACV4N,OAAQmb,EAAM0mB,KAAK1mB,EAAMhf,UAAU4lC,IAAI5mB,EAAMmmB,YAAYS,KAAK,GAAGC,QACjEoC,eAAgB,EAChB5oB,MAAOL,EAAMitB,qBACb7B,WAAY,SACZtwB,cAAe,SAGnB,CAAC,6BACmBmF,8BACDkjD,kBAAkCljD,aACjD,CACF4pB,iBAAkBq5B,GAEpB,CAAC,kBAAkBjjD,mBAA+B,CAChDrf,QAAS,EACT,CAAC,aAAaqf,KAAiB,CAC7Bjf,SAAU,UACVH,OAAQ,OACRorC,QAAS,OACT9rB,WAAY,cACZ,UAAW,CACTG,UAAW,oBAGf,CAAC,GAAGL,YAAwB,CAC1B+qB,OAAQ,EACR,uBAAwB,CACtBrB,aAAc,GAGhB,CAAC,GAAG1pB,gBAA4B,CAC9BhpB,SAAU,WACVgyC,eAAgBjpB,EAAMwmB,cACtB2mB,gBAAiBntC,EAAMqqB,WAGzB,CAAC,GAAG84B,YAA6B,CAC/BlsE,SAAU,WACV2N,IAAK,EACLqkC,eAAgBjpB,EAAMwmB,cACtB3hC,OAAQ,EACR0nC,OAAQ,EACRhuC,QAAS,cACTqsC,WAAY,SACZI,OAAQ,OACRlwB,cAAe,UAIrB,CAAC,kBAAkBmF,sBAAkC,CACnD,CAAC,GAAGA,YAAwB,CAC1B,CAAC,GAAGA,gBAA4B,CAC9BgpB,eAAgBjpB,EAAMmgC,oBAK/B,EAGGijB,GAAgBpjD,IACpB,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,kBAA8B,CAChC,CAAC,2BAA2BA,wBAAmCA,gBAA4B,CACzFI,MAAOL,EAAM6sB,aAGlB,EAGH,IAAe,SAAc,SAAS7sB,IACpC,MAAMqjD,GAAa,SAAWrjD,EAAO8+C,GAAe9+C,IACpD,MAAO,CAACqiD,GAAcgB,GAAaJ,GAAiBI,GAAaX,GAAcW,GAAa,GAAcA,GAAaP,GAAoBO,GAAaD,GAAcC,IAItK,QAAoBA,GAAY,GAC/BrE,GAAoB,CACrBsE,WAAW,ICjtBPC,GAA6BvjD,IACjC,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,cAA0B,CAC5B,aAAc,CACZorB,OAAQ,cACR,CAAC,GAAGprB,eAA2B,CAC7BI,MAAOL,EAAM8sB,kBACbzB,OAAQ,gBAGZ,kBAAmB,CACjBA,OAAQ,cACR,CAAC,GAAGprB,eAA2B,CAC7BI,MAAOL,EAAM8sB,kBACbzB,OAAQ,iBAId,CAAC,IAAIprB,cAA0B,CAC7BorB,OAAQ,cACR,CAAC,GAAGprB,UAAsB,CACxBorB,OAAQ,cACR,oBAAqB,CACnBznB,gBAAiB,eAEnB2F,EAAG,CACDlJ,MAAOL,EAAM8sB,kBACblpB,gBAAiB,cACjB/iB,OAAQ,OACRwqC,OAAQ,eAEV,WAAY,CACV1nB,YAAa3D,EAAM6/B,YACnBj8B,gBAAiB5D,EAAMwjD,qBACvB,oBAAqB,CACnB5/C,gBAAiB5D,EAAMwjD,sBAEzBj6C,EAAG,CACDlJ,MAAOL,EAAMyjD,2BAInB,CAAC,GAAGxjD,eAA2B,CAC7BI,MAAOL,EAAM8sB,kBACbzB,OAAQ,cACR,oBAAqB,CACnBznB,gBAAiB,eAEnB,CAAC,GAAG3D,aAAyB,CAC3B2D,gBAAiB,cACjB,oBAAqB,CACnBA,gBAAiB,iBAIvB,CAAC,GAAG3D,kBAA8B,CAChCI,MAAOL,EAAM8sB,mBAEf,CAAC,GAAG7sB,gBAA2BA,eAA2B,CACxD,CAAC,GAAGA,oBAAgC,CAClCM,QAAS,GAEX,CAAC,GAAGN,mBAA+B,CACjCM,QAAS,KAIf,CAAC,IAAIN,YAAwB,CAC3B,CAAC,GAAGA,WAAsBA,UAAsB,CAC9C,CAAC,IAAIA,cAAyBA,eAA2B,CACvD,oBAAqB,CACnB2D,gBAAiB,kBAK1B,EAEG8/C,GAAyB1jD,IAC7B,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,IAAIC,UAAqBA,kBAA6BA,UAAqBA,kBAA8B,CACxGnf,OAAQkf,EAAM2jD,WACdx9B,YAAY,SAAKnmB,EAAM2jD,aAEzB,CAAC,IAAI1jD,UAAqBA,UAAsB,CAC9C5d,SAAU2d,EAAM2jD,WAChB7iE,OAAQkf,EAAM2jD,WACd34B,OAAQ,EACR7E,YAAY,SAAKnmB,EAAM0mB,KAAK1mB,EAAM2jD,YAAYhxB,IAAI,GAAG9L,UAEvD,CAAC,IAAI5mB,cAAyBA,eAA0BA,cAAyBA,kBAA8B,CAC7G2D,gBAAiB,cACjBD,YAAa,cACb,UAAW,CACTC,gBAAiB5D,EAAMutB,kBAEzB,WAAY,CACV3pB,gBAAiB5D,EAAM4kC,oBAG3B,CAAC,IAAI3kC,UAAqBA,YAAuBA,UAAqBA,UAAsB,CAC1F5d,SAAU2d,EAAM2jD,WAChB7iE,OAAQkf,EAAM2jD,WACd34B,OAAQ,EACR7E,YAAY,SAAKnmB,EAAM2jD,aAEzB,CAAC,IAAI1jD,cAAyBA,eAA2B,CACvD,CAAC,GAAGA,WAAsBA,UAAsB,CAC9C,CAAC,WAAWA,eAA2B,CACrC2D,gBAAiB5D,EAAMutB,kBAEzB,CAAC,YAAYttB,eAA2B,CACtC2D,gBAAiB5D,EAAM4kC,mBAEzB,CAAC,IAAI3kC,oBAA+BA,eAA2B,CAC7D2D,gBAAiB,iBAIvB,CAAC,UACE3D,UAAqBA,UAAqBA,sBAC1CA,UAAqBA,UAAqBA,qBACzC,CACF2D,gBAAiB,cACjBD,YAAa,cACb,WAAY,CACV7iB,OAAQkf,EAAM2jD,WACdx9B,YAAY,SAAKnmB,EAAM2jD,cAG3B,CAAC,IAAI1jD,UAAqBA,iBAA4BA,UAAqBA,eAA2B,CACpGnf,OAAQkf,EAAM2jD,WACdp4B,gBAAiB,EACjBpF,YAAY,SAAKnmB,EAAM2jD,aAEzB,CAAC,IAAI1jD,UAAqBA,aAAyB,CACjDqrB,kBAAmBtrB,EAAM4jD,uCACzB,iBAAkB,CAChBh/D,IAAKob,EAAM6jD,2BAEb,iBAAkB,CAChB/iE,OAAQkf,EAAM2jD,WACdx9B,YAAY,SAAKnmB,EAAM2jD,YACvB/jD,MAAO5D,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGg8C,GAAmB3hD,IAAS,CACjE3hB,MAAO2hB,EAAM8jD,oCACbhjE,OAAQkf,EAAM0tB,oBAIrB,EAEGq2B,GAA2B/jD,IAC/B,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,UACEC,YAAuBA,iBACvBA,YAAuBA,gBACtB,CACFnf,OAAQkf,EAAM2jD,WACdx9B,YAAY,SAAKnmB,EAAM2jD,YACvBp9B,cAAe,MACf,CAAC,GAAGtmB,eAA2B,CAC7Bnf,OAAQkf,EAAM2jD,WACd//C,gBAAiB,cACjB/iB,OAAQ,EACR,UAAW,CACT+iB,gBAAiB5D,EAAMutB,kBAEzB,WAAY,CACV3pB,gBAAiB5D,EAAM4kC,mBAEzB,WAAY,CACV9jD,OAAQkf,EAAM2jD,WACdx9B,YAAY,SAAKnmB,EAAM2jD,eAI7B,CAAC,IAAI1jD,YAAuBA,kBAA8B,CACxD1hB,QAAS,eACTuC,OAAQkf,EAAM2jD,WACdp4B,gBAAiBvrB,EAAMspB,SACvB1pB,MAAO,CACLQ,UAAW,aACXtf,OAAQ,OACRF,QAAS,MAAK,SAAKof,EAAMgkD,+BACzBjrE,UAAW,SACX6qB,gBAAiB5D,EAAMikD,YACvBpjE,OAAQ,IAAG,SAAKmf,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM6/B,cAC5Dh9B,aAAc7C,EAAM6C,aACpBopB,QAAS,OACTzrB,WAAY,gBAAgBR,EAAM0nB,oBAClCrnB,MAAO,UACP,UAAW,CACTsD,YAAa3D,EAAME,cAErB,UAAW,CACTyD,YAAa3D,EAAMsgC,kBACnBhgC,UAAW,IAAG,SAAKN,EAAMkkD,0BAAyB,SAAKlkD,EAAMo/B,wBAAwBp/B,EAAMu/B,kBAE7F,cAAe,CACbl/B,MAAOL,EAAM8sB,kBACblpB,gBAAiB5D,EAAMyiC,yBACvB9+B,YAAa3D,EAAM6/B,YACnBxU,OAAQ,iBAIf,EAEG84B,GAAyBnkD,IAC7B,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,gBAA2BA,eAA2B,CACxDgsB,QAAS,EACT,CAAC,GAAGhsB,oBAAgC,CAClChpB,SAAU,WACV,CAAC,GAAGgpB,oBAAgC,CAClCI,MAAOL,EAAME,aACblf,SAAUgf,EAAMmsB,WAChB5rB,QAAS,EACTC,WAAY,OAAOR,EAAM0nB,oBACzB,QAAS,CACP9iC,IAAK,EACLqkC,eAAgB,EAChBpkC,OAAQ,EACRimC,iBAAkB,EAClBE,OAAQ,SAGZ,CAAC,GAAG/qB,mBAA+B,CACjChpB,SAAU,WACV2N,IAAK,EACLqkC,eAAgB,EAChBpkC,OAAQ,EACRimC,iBAAkB,EAClBvsC,QAAS,QACTysC,OAAQ,OACR3qB,MAAOL,EAAM8sB,kBACbkV,cAAehiC,EAAMokD,gCACrBrrE,UAAW,SACXsrE,WAAYrkD,EAAMskD,6BAClB/jD,QAAS,EACTC,WAAY,OAAOR,EAAM0nB,sBAG7B,UAAW,CACT,CAAC,GAAGznB,oBAAgC,CAClCM,QAAS,GAEX,CAAC,GAAGN,mBAA+B,CACjCM,QAAS,KAIf,CAAC,SACCN,gBACAA,qBACAA,qBACE,CACFsrB,gBAAiBvrB,EAAMspB,UAEzB,CAAC,SACCrpB,gBACAA,gBACAA,qBACAA,qBACE,CACF1hB,QAAS,eACT8D,SAAU2d,EAAMukD,SAChBzjE,OAAQkf,EAAMukD,SACdlkD,MAAOL,EAAMgtB,UACbw3B,WAAYxkD,EAAMwkD,WAClBr+B,YAAY,SAAKnmB,EAAMukD,UACvBxrE,UAAW,SACXwtC,cAAe,SACfyF,UAAW,OACXnpB,aAAc7C,EAAM6C,aACpBwoB,OAAQ,UACR7qB,WAAY,OAAOR,EAAM0nB,qBAE3B,CAAC,GAAGznB,WAAsBA,UAAsB,CAC9CgsB,QAAS,EACTkb,OAAQ,CACN9mC,MAAOL,EAAMgtB,UACb3B,OAAQ,UACRyW,WAAY,QAEd,CAAC,GAAG7hC,eAA2B,CAC7B1hB,QAAS,QACTF,MAAO,OACPyC,OAAQ,OACRF,QAAS,EACTI,SAAUgf,EAAMmsB,WAChBpzC,UAAW,SACX6qB,gBAAiB,cACjB/iB,OAAQ,IAAG,SAAKmf,EAAMgmB,cAAchmB,EAAMimB,uBAC1CpjB,aAAc7C,EAAM6C,aACpBopB,QAAS,OACTzrB,WAAY,OAAOR,EAAM0nB,qBAE3B,CAAC,WAAWznB,eAA2B,CACrC2D,gBAAiB5D,EAAMutB,kBAEzB,CAAC,YAAYttB,eAA2B,CACtC2D,gBAAiB5D,EAAM4kC,mBAEzB,CAAC,IAAI3kC,oBAAgC,CACnC,CAAC,GAAGA,eAA2B,CAC7B2D,gBAAiB,iBAIvB,CAAC,GAAG3D,WAAuB,CACzBsrB,gBAAiBvrB,EAAMykD,+BACvBn5B,kBAAmBtrB,EAAM0kD,kCAE3B,CAAC,GAAGzkD,aAAyB,CAC3B1hB,QAAS,eACT+sC,kBAAmBtrB,EAAMgrB,OACzBzE,cAAe,SACf,iBAAkB,CAChBhoC,QAAS,eACTF,MAAO,QAET,iBAAkB,CAChBE,QAAS,eACTuC,OAAQkf,EAAMszB,cACdhI,kBAAmBtrB,EAAMspB,SACzBnD,YAAY,SAAKnmB,EAAMszB,eACvB/M,cAAe,MACf3mB,MAAO5D,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGi8C,GAAmB5hD,IAASkgD,GAAqBlgD,EAAO,CAC3G2D,YAAa3D,EAAM6/B,YACnB2f,iBAAkBx/C,EAAMsgC,kBACxBif,kBAAmBv/C,EAAME,aACzBu/C,aAAcz/C,EAAMy/C,gBACjB,CACH,cAAezjD,OAAO2J,OAAO,CAAC,EAAG,GAAiB3F,IAClD3hB,MAAO2hB,EAAM0mB,KAAK1mB,EAAMiqB,iBAAiBrD,IAAI,MAAMC,QACnD/lC,OAAQkf,EAAMszB,cACdlzB,UAAW,aACX4qB,OAAQ,EACRM,kBAAmBtrB,EAAMspB,SACzBiC,gBAAiBvrB,EAAMspB,aAI9B,EAEGq7B,GAAyB3kD,IAC7B,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,UAAsB,CACxB1hB,QAAS,eACT8D,SAAU2d,EAAMukD,SAChBzjE,OAAQkf,EAAMukD,SACdh5B,gBAAiBvrB,EAAMspB,SACvBk7B,WAAYxkD,EAAMwkD,WAClBr+B,YAAY,SAAKnmB,EAAM0mB,KAAK1mB,EAAMukD,UAAU5xB,IAAI,GAAG9L,SACnD9tC,UAAW,SACXwtC,cAAe,SACfyF,UAAW,OACXpoB,gBAAiB5D,EAAMmnB,OACvBtmC,OAAQ,IAAG,SAAKmf,EAAMgmB,cAAchmB,EAAMimB,uBAC1CpjB,aAAc7C,EAAM6C,aACpBopB,QAAS,EACTZ,OAAQ,UACRyW,WAAY,OACZv4B,EAAG,CACDhrB,QAAS,QACTqC,QAAS,MAAK,SAAKof,EAAMgkD,+BACzB3jD,MAAOL,EAAMgtB,UACb,UAAW,CACT43B,eAAgB,SAGpB,CAAC,SAAS3kD,kBAA8B,CACtC,UAAW,CACTO,WAAY,OAAOR,EAAM0nB,oBACzB9jB,gBAAiB5D,EAAMutB,kBAEzB,WAAY,CACV3pB,gBAAiB5D,EAAM4kC,oBAG3B,WAAY,CACV5R,WAAYhzB,EAAM6kD,iBAClBjhD,gBAAiB5D,EAAMooB,aACvBzkB,YAAa3D,EAAME,aACnBqJ,EAAG,CACDlJ,MAAOL,EAAME,cAEf,UAAW,CACTyD,YAAa3D,EAAMsgC,mBAErB,YAAa,CACXjgC,MAAOL,EAAMsgC,qBAIpB,EAEGwkB,GAAqB9kD,IACzB,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAACC,GAAejE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAAS,CAC1JzhB,QAAS,OACT,UAAW,CACTqjD,eAAgB,SAElB,WAAY,CACVA,eAAgB,UAElB,QAAS,CACPA,eAAgB,OAElB,SAAU,CACR5W,OAAQ,EACRpqC,QAAS,EACTorC,UAAW,QAEb,WAAY,CACVztC,QAAS,QACT8nC,MAAO,OACPvlC,OAAQ,EACRxC,SAAU,SACVwG,WAAY,SACZwhC,QAAS,MAEX,CAAC,GAAGrmB,gBAA4B,CAC9B1hB,QAAS,eACTuC,OAAQkf,EAAMukD,SACdh5B,gBAAiBvrB,EAAMspB,SACvBnD,YAAY,SAAKnmB,EAAM0mB,KAAK1mB,EAAMukD,UAAU5xB,IAAI,GAAG9L,SACnDN,cAAe,YAEfo+B,GAAuB3kD,IAASmkD,GAAuBnkD,IAAS+jD,GAAyB/jD,IAAS0jD,GAAuB1jD,IAASujD,GAA2BvjD,IAAS,CAExK,CAAC,sCAAsCA,EAAMoxC,eAAgB,CAC3D,CAAC,GAAGnxC,UAAsB,CACxB,wCAAyC,CACvC1hB,QAAS,UAIf,CAAC,sCAAsCyhB,EAAMgxC,eAAgB,CAC3D,CAAC,GAAG/wC,aAAyB,CAC3B1hB,QAAS,WAKf,CAAC,IAAIyhB,EAAMC,oBAAqB,CAC9B1mB,UAAW,OAEd,EAEGwrE,GAA0B/kD,IAC9B,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,SAAoBA,eAA2B,CACjD,CAAC,GAAGA,UAAsBjE,OAAO2J,OAAO,CAAC,GAAG,SAAc3F,IAC1D,CAAC,GAAGC,gBAA2BA,eAA2B,CACxD,kBAAmBjE,OAAO2J,OAAO,CAC/B,CAAC,GAAG1F,oBAAgC,CAClCM,QAAS,GAEX,CAAC,GAAGN,mBAA+B,CACjCM,QAAS,KAEV,SAAgBP,KAErB,CAAC,GAAGC,WAAsBA,UAAsB,CAC9C,CAAC,mBAAmBA,eAA2BjE,OAAO2J,OAAO,CAAC,GAAG,SAAgB3F,MAGtF,EAEU,GAAwBA,GAAShE,OAAO2J,OAAO,CAC1DwhB,OAAQnnB,EAAMktB,iBACdq3B,SAAUvkD,EAAMszB,cAChBqwB,WAAY3jD,EAAM0tB,gBAClBtF,aAAcpoB,EAAMktB,iBACpB83B,WAAYhlD,EAAMktB,iBAClBu2B,wBAAyBzjD,EAAM8sB,kBAC/B02B,qBAAsBxjD,EAAM0uC,4BAC5BuV,YAAajkD,EAAMktB,iBACnB22B,0BAA2B,GAC1B7E,GAAmBh/C,IACT,GAAeA,IAAS,SAAWA,EAAO,CACrDkkD,mBAAoB,EACpBN,uCAAwC5jD,EAAM0mB,KAAK1mB,EAAMytB,WAAW1C,IAAI,GAAGlE,QAC3Ei9B,oCAAqC9jD,EAAM0mB,KAAK1mB,EAAMiqB,iBAAiBrD,IAAI,KAAKC,QAChFm9B,4BAA6BhkD,EAAM0mB,KAAK1mB,EAAMytB,WAAW7G,IAAI,KAAKC,QAClEu9B,gCAAiCpkD,EAAM0mB,KAAK1mB,EAAMytB,WAAW1C,IAAI,GAAGlE,QACpE69B,iCAAkC1kD,EAAMilD,SACxCR,+BAAgCzkD,EAAMilD,SACtCX,6BAA8B,UAC7BxF,GAAe9+C,IAElB,IAAe,SAAc,cAAcA,IACzC,MAAMklD,EAAkB,GAAallD,GACrC,MAAO,CAAC8kD,GAAmBI,GAAkBH,GAAwBG,GAAiB,GACrF,ICxgBGC,GAAmBnlD,IACvB,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,IAAeA,aAAwBA,kBAA6BA,WAAuB,CAC7F,aAAc,CACZ,CAAC,GAAGA,eAA2B,CAC7B0D,YAAa3D,EAAM6/B,cAGvB,kBAAmB,CACjB,CAAC,GAAG5/B,eAA2B,CAC7B0D,YAAa3D,EAAM6/B,cAGvB,CAAC,GAAG5/B,WAAsBA,eAA2B,CACnD2D,gBAAiB5D,EAAMyiC,yBACvB9+B,YAAa3D,EAAM6/B,YACnB,CAAC,eAAe5/B,kBAA8B,CAC5C2D,gBAAiB5D,EAAMyiC,yBACvB9+B,YAAa3D,EAAM6/B,YACnBt2B,EAAG,CACDlJ,MAAOL,EAAM8sB,oBAGjB,CAAC,IAAI7sB,iBAA6B,CAChC2D,gBAAiB5D,EAAMwjD,uBAG3B,CAAC,GAAGvjD,WAAsBA,UAAsB,CAC9C,iBAAkB,CAChB2D,gBAAiB5D,EAAMyiC,yBACvB9+B,YAAa3D,EAAM6/B,YACnBx/B,MAAOL,EAAM8sB,mBAEf,CAAC,GAAG7sB,eAA2B,CAC7B2D,gBAAiB5D,EAAMyiC,yBACvB9+B,YAAa3D,EAAM6/B,eAIzB,CAAC,GAAG5/B,IAAeA,kBAA6BA,WAAuB,CACrE,CAAC,GAAGA,WAAsBA,UAAsB,CAC9C,iBAAkB,CAChB0D,YAAa3D,EAAMsgC,kBACnB18B,gBAAiB5D,EAAMmnB,QAEzB,CAAC,GAAGlnB,eAA2B,CAC7B2D,gBAAiB5D,EAAMglD,WACvBrhD,YAAa3D,EAAM6/B,aAErB,CAAC,WAAW5/B,eAA2B,CACrC0D,YAAa3D,EAAME,aACnB0D,gBAAiB5D,EAAMmnB,OACvB9mB,MAAOL,EAAME,cAEf,CAAC,IAAID,cAA0B,CAC7B,CAAC,GAAGA,eAA2B,CAC7B0D,YAAa3D,EAAM6/B,YACnBx/B,MAAOL,EAAM8sB,qBAInB,CAAC,GAAG7sB,UAAsB,CACxB2D,gBAAiB5D,EAAMmnB,OACvBtmC,OAAQ,IAAG,SAAKmf,EAAMgmB,cAAchmB,EAAMimB,YAAYjmB,EAAM6/B,cAC5D,CAAC,eAAe5/B,kBAA8B,CAC5C0D,YAAa3D,EAAME,aACnB0D,gBAAiB5D,EAAMmnB,OACvB5d,EAAG,CACDlJ,MAAOL,EAAME,eAGjB,WAAY,CACVyD,YAAa3D,EAAME,gBAI1B,EAEH,IAAe,SAAqB,CAAC,aAAc,aAAaF,IAC9D,MAAMklD,EAAkB,GAAallD,GACrC,MAAO,CAACmlD,GAAiBD,GAAiB,GACzC,ICuCH,MC3HA,GDuBmBl2E,IACjB,MAAM,MACFqF,EACAF,UAAWyyB,EACXiuC,gBAAiBuQ,EAAwB,UACzChxE,EAAS,cACTyyB,EAAa,MACb5tB,EACAgD,KAAMkqD,EACNmO,OAAQ+Q,EAAY,qBACpBzQ,EAAoB,WACpB0Q,EAAU,gBACVvQ,GACE/lE,EACJgU,EAtCgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CA+BgB,CAAOj4B,EAAO,CAAC,QAAS,YAAa,kBAAmB,YAAa,gBAAiB,QAAS,OAAQ,SAAU,uBAAwB,aAAc,qBAC/J,GACJ6hE,GACE,GAAcyU,IACX,CAAEtlD,IAAS,YACZ,aACJ+F,EAAY,UACZxsB,EAAS,WACTgsE,EAAa,CAAC,GACZ,aAAiB,OACfpxE,EAAY4xB,EAAa,aAAca,IAEtCyB,EAAYnC,EAAQoC,GAAa,GAASn0B,GAC3CqxE,EAAwBzQ,QAAyDA,EAAkBwQ,EAAWxQ,gBAC9G0Q,EAAa,WAAc,KAC/B,MAAMxxE,EAAwB,gBAAoB,OAAQ,CACxDG,UAAW,GAAGD,mBACb,OAmCH,MAAO,CACLskE,SAnC4B,gBAAoB,SAAU,CAC1DrkE,UAAW,GAAGD,cACdyhB,KAAM,SACNia,UAAW,GACI,QAAdt2B,EAAmC,gBAAoB,KAAe,MAAqB,gBAAoB,KAAc,OAgC9Hm/D,SA/B4B,gBAAoB,SAAU,CAC1DtkE,UAAW,GAAGD,cACdyhB,KAAM,SACNia,UAAW,GACI,QAAdt2B,EAAmC,gBAAoB,KAAc,MAAqB,gBAAoB,KAAe,OA4B9Hg/D,aAxBF,gBAAoB,IAAK,CACvBnkE,UAAW,GAAGD,eACA,gBAAoB,MAAO,CACzCC,UAAW,GAAGD,oBACC,QAAdoF,EAAoC,gBAAoB,GAAqB,CAC9EnF,UAAW,GAAGD,qBACI,gBAAoB,GAAoB,CAC1DC,UAAW,GAAGD,qBACXF,IAiBHukE,aAbF,gBAAoB,IAAK,CACvBpkE,UAAW,GAAGD,eACA,gBAAoB,MAAO,CACzCC,UAAW,GAAGD,oBACC,QAAdoF,EAAoC,gBAAoB,GAAoB,CAC7EnF,UAAW,GAAGD,qBACI,gBAAoB,GAAqB,CAC3DC,UAAW,GAAGD,qBACXF,IAMJ,GACA,CAACsF,EAAWpF,KACRuxE,IAAiB,QAAU,aAAc,MAC1CpR,EAASt4C,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG+/C,GAAgBL,GACzDvV,GAAa,EAAArH,GAAA,GAAQtC,GACrBwf,EAAyB,UAAf7V,MAA6Be,GAAOf,IAAcwV,GAC5DzQ,EAAkB9uC,EAAa,SAAUq/C,GACzCQ,EAAoB,IAAW,CACnC,CAAC,GAAGzxE,KAAaE,OAAYA,EAC7B,CAAC,GAAGF,UAAmBwxE,EACvB,CAAC,GAAGxxE,SAAgC,QAAdoF,EACtB,CAAC,GAAGpF,cAAuB6rB,EAAMyuC,WAChC8W,aAA+C,EAASA,EAAWnxE,UAAWA,EAAWyyB,EAAeX,EAAQoC,GAC7GtvB,EAAcgjB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG4/C,aAA+C,EAASA,EAAWtsE,OAAQA,GAC/H,OAAOovB,EAAwB,gBAAoB,WAAgB,KAAMrI,EAAMyuC,WAA0B,gBAAoB,GAAe,CAC1It6D,UAAWA,IACI,gBAAoB,GAAc6nB,OAAO2J,OAAO,CAAC,EAAG8/C,EAAYziE,EAAW,CAC1F/J,MAAOD,EACP7E,UAAWA,EACX0gE,gBAAiBA,EACjBzgE,UAAWwxE,EACXhR,qBAAsBA,IAAyB+Q,EAAU/G,GAAaC,IACtEvK,OAAQA,EACRS,gBAAiByQ,MACd,EEpHP,MAGMK,GAAgBviD,GAAata,KAAK88D,GAElCC,GAAe/2E,IACnB,MAAM,aACJg3E,EAAY,MACZ/sE,EAAK,aACLgtE,GACEj3E,EACJ,OAAoB,gBAAoB,SAAU,CAChDoF,UAAW,IAAW,GAAG4xE,WAAuB,CAC9C,CAAC,GAAGA,eAA2BC,IAEjC/tB,EAbWguB,GAcXC,GAZa,GAabC,GAba,GAcbC,YAjBgBH,GAkBhBjtE,MAAOA,GACP,EA4CJ,GA1CiBrJ,IACf,IAAI,QACFguD,EAAO,UACPzpD,GACEvE,EACJ,MAAMo2E,EAAe,GAAG7xE,QAClBmyE,EAAkB,GAAGN,WACrBO,EAAgB,GAAGD,YAClB/xE,EAAQiyE,GAAa,YAAe,IAE3C,EAAAl2E,EAAA,IAAgB,KACE,IAAZstD,GACF4oB,GAAU,EACZ,GACC,CAAa,IAAZ5oB,IAEJ,MAAM6oB,EAAUz9D,KAAKC,IAAID,KAAK2yC,IAAIiC,EAAS,KAAM,GAEjD,IAAKrpD,EACH,OAAO,KAET,MAAMmyE,EAAc,CAClBC,iBAAkB,GAAGd,GAAgB,EACrCe,gBAAiB,GAAGf,GAAgBY,EAAU,OAAOZ,IAAiB,IAAMY,GAAW,OAEzF,OAAoB,gBAAoB,OAAQ,CAC9CryE,UAAW,IAAWkyE,EAAiB,GAAGN,aAAyBS,GAAW,GAAKF,IACrE,gBAAoB,MAAO,CACzCM,QAAS,cAET/yC,KAAM,cACN,gBAAiB,EACjB,gBAAiB,IACjB,gBAAiB2yC,GACH,gBAAoBV,GAAc,CAChDC,aAAcA,EACdC,cAAc,IACC,gBAAoBF,GAAc,CACjDC,aAAcA,EACd/sE,MAAOytE,KACL,EC9DS,SAASI,GAAO93E,GAC7B,MAAM,UACJmF,EAAS,QACTypD,EAAU,GACR5uD,EACEg3E,EAAe,GAAG7xE,QAClBmyE,EAAkB,GAAGN,WACrBO,EAAgB,GAAGD,WAEzB,OAAoB,gBAAoB,WAAgB,KAAmB,gBAAoB,OAAQ,CACrGlyE,UAAW,IAAWkyE,EAAiB1oB,EAAU,GAAK2oB,IACxC,gBAAoB,OAAQ,CAC1CnyE,UAAW,IAAW4xE,EAAc,GAAG7xE,eACtC,CAAC,EAAG,EAAG,EAAG,GAAG+H,KAAIH,GAAmB,gBAAoB,IAAK,CAC9D3H,UAAW,GAAGD,aACdlD,IAAK8K,QACc,gBAAoB,GAAU,CACjD5H,UAAWA,EACXypD,QAASA,IAEb,CCnBe,SAASmpB,GAAU/3E,GAChC,MAAM,UACJmF,EAAS,UACT6yE,EAAS,QACTppB,GACE5uD,EACEg3E,EAAe,GAAG7xE,QACxB,OAAI6yE,GAA0B,iBAAqBA,IAC1C,SAAaA,EAAW,CAC7B5yE,UAAW,IAAW4yE,EAAUh4E,MAAMoF,UAAW4xE,GACjDpoB,YAGgB,gBAAoBkpB,GAAQ,CAC9C3yE,UAAWA,EACXypD,QAASA,GAEb,CCpBA,MAAMqpB,GAAc,IAAI,MAAU,cAAe,CAC/CC,GAAI,CACF3mD,QAAS,KAGP4mD,GAAY,IAAI,MAAU,YAAa,CAC3CD,GAAI,CACFn4D,UAAW,oBAGTq4D,GAAepnD,IACnB,MAAM,aACJC,EAAY,KACZymB,GACE1mB,EACJ,MAAO,CACL,CAACC,GAAejE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAAS,CACtE/oB,SAAU,WACVsH,QAAS,OACT8hB,MAAOL,EAAME,aACblf,SAAU,EACVjI,UAAW,SACXwtC,cAAe,SACfhmB,QAAS,EACTC,WAAY,aAAaR,EAAMU,sBAAsBV,EAAM2sC,sBAC3D,aAAc,CACZ11D,SAAU,WACVsH,QAAS,eACTgiB,QAAS,GAEX,CAAC,GAAGN,UAAsB,CACxBjf,SAAUgf,EAAMhf,SAChByrC,WAAY/F,EAAKA,EAAK1mB,EAAMutC,SAAS5a,IAAI3yB,EAAMhf,WAAW+pC,IAAI,GAAG15C,IAAI,GAAGw1C,SAE1E,eAAgB,CACd5vC,SAAU,QACVoH,MAAO,QACPyC,OAAQ,QACR8iB,gBAAiB5D,EAAMqnD,YACvB96B,OAAQvsB,EAAM+tB,gBACd3B,MAAO,EACP7tC,QAAS,OACTqsC,WAAY,SACZqX,cAAe,SACfL,eAAgB,SAChBrhC,QAAS,EACTzb,WAAY,SACZ0b,WAAY,OAAOR,EAAM0nB,oBACzB,SAAU,CACRnnB,QAAS,EACTzb,WAAY,WAEd,CAACmb,GAAe,CACd,CAAC,GAAGA,gBAA4B,CAC9BI,MAAOL,EAAM2uC,YAEf,CAAC,GAAG1uC,UAAsB,CACxBI,MAAOL,EAAM+pB,uBAInB,mBAAoB,CAClB9yC,SAAU,WACV,CAAC,WAAWgpB,KAAiB,CAC3BhpB,SAAU,WACV2N,IAAK,EACLkmC,iBAAkB,EAClByB,OAAQ,EACRhuC,QAAS,QACTF,MAAO,OACPyC,OAAQ,OACRgV,UAAWkK,EAAMsnD,cACjB,CAAC,GAAGrnD,SAAqB,CACvBhpB,SAAU,WACV2N,IAAK,MACLkmC,iBAAkB,MAClBE,OAAQtE,EAAK1mB,EAAMutC,SAAS3mB,KAAK,GAAGmE,IAAI,GAAGlE,SAE7C,CAAC,GAAG5mB,UAAsB,CACxBhpB,SAAU,WACV2N,IAAK,MACLvG,MAAO,OACPkpE,WAAY,aAAavnD,EAAMktB,oBAEjC,CAAC,IAAIjtB,eAA0BA,SAAqB,CAClDyoB,UAAWhC,EAAK1mB,EAAMutC,SAASxiB,IAAI,GAAGnE,KAAK,GAAG+L,IAAI,IAAI9L,SAExD,OAAQ,CACN,CAAC,GAAG5mB,SAAqB,CACvB+qB,OAAQtE,EAAK1mB,EAAMwnD,WAAW5gC,KAAK,GAAGmE,IAAI,GAAGlE,SAE/C,CAAC,GAAG5mB,UAAsB,CACxBwsB,WAAY/F,EAAKA,EAAK1mB,EAAMwnD,WAAW70B,IAAI3yB,EAAMhf,WAAW+pC,IAAI,GAAG15C,IAAI,GAAGw1C,SAE5E,CAAC,IAAI5mB,eAA0BA,SAAqB,CAClDyoB,UAAWhC,EAAK1mB,EAAMwnD,WAAWz8B,IAAI,GAAGnE,KAAK,GAAG+L,IAAI,IAAI9L,UAG5D,OAAQ,CACN,CAAC,GAAG5mB,SAAqB,CACvB+qB,OAAQtE,EAAK1mB,EAAMynD,WAAW7gC,KAAK,GAAGmE,IAAI,GAAGlE,SAE/C,CAAC,GAAG5mB,UAAsB,CACxBwsB,WAAY/F,EAAKA,EAAK1mB,EAAMynD,WAAW90B,IAAI3yB,EAAMhf,WAAW+pC,IAAI,GAAG15C,IAAI,GAAGw1C,SAE5E,CAAC,IAAI5mB,eAA0BA,SAAqB,CAClDyoB,UAAWhC,EAAK1mB,EAAMynD,WAAW18B,IAAI,GAAGnE,KAAK,GAAG+L,IAAI,IAAI9L,WAI9D,CAAC,GAAG5mB,eAA2B,CAC7BhpB,SAAU,WACVupB,WAAY,WAAWR,EAAMU,qBAC7B,WAAY,CACVzpB,SAAU,WACV2N,IAAK,EACLqkC,eAAgB,EAChBpkC,OAAQ,EACRimC,iBAAkB,EAClByB,OAAQ,GACRluC,MAAO,OACPyC,OAAQ,OACRqf,WAAYH,EAAMktB,iBAClB3sB,QAAS,EACTC,WAAY,OAAOR,EAAMU,qBACzB4lB,QAAS,KACTxrB,cAAe,SAGnB,CAAC,GAAGmF,UAAsB,CACxBomB,MAAO,OACP9lB,QAAS,GACTuhC,WAAY,OACZhnC,cAAe,OACf,WAAY,CACVyF,QAAS,GACTzF,cAAe,UAMrB,QAAS,CACPuF,MAAOL,EAAM0nD,gBAIf,CAAC,GAAGznD,gBAA4B,CAC9B5hB,MAAO,MACPyC,OAAQ,MACRE,SAAUgf,EAAMutC,QAChBhvD,QAAS,eACTiiB,WAAY,aAAaR,EAAMU,oCAAoCV,EAAMU,0BACzEimB,gBAAiB,UACjBR,WAAY,EACZ9lB,MAAOL,EAAME,aACb,WAAY,CACVnR,UAAW,aACXwR,QAAS,IAKb,CAAC,GAAGN,kBAA8B,CAChChpB,SAAU,WACV2N,IAAK,MACLmK,UAAW,wBACX+7B,iBAAkB,OAIpB,CAAC,GAAG7qB,SAAqB,CACvBhpB,SAAU,WACVsH,QAAS,eACTyC,SAAUgf,EAAMutC,QAChBlvD,MAAO,MACPyC,OAAQ,MACR,SAAU,CACR7J,SAAU,WACVsH,QAAS,QACTF,MAAOqoC,EAAK1mB,EAAMutC,SAAS5a,IAAIjM,EAAK1mB,EAAMytB,WAAW1C,IAAI,IAAIA,IAAI,GAAGlE,QACpE/lC,OAAQ4lC,EAAK1mB,EAAMutC,SAAS5a,IAAIjM,EAAK1mB,EAAMytB,WAAW1C,IAAI,IAAIA,IAAI,GAAGlE,QACrE1mB,WAAY,eACZ0C,aAAc,OACd9T,UAAW,cACX43B,gBAAiB,UACjBpmB,QAAS,GACTqyB,cAAeq0B,GACfU,kBAAmB,KACnBC,wBAAyB,WACzBC,wBAAyB,SACzBC,mBAAoB,YACpB,iBAAkB,CAChBljE,IAAK,EACLkmC,iBAAkB,EAClBi9B,eAAgB,MAElB,iBAAkB,CAChBnjE,IAAK,EACLqkC,eAAgB,EAChB8+B,eAAgB,QAElB,iBAAkB,CAChB9+B,eAAgB,EAChBpkC,OAAQ,EACRkjE,eAAgB,QAElB,iBAAkB,CAChBljE,OAAQ,EACRimC,iBAAkB,EAClBi9B,eAAgB,SAGpB,SAAU,CACRh5D,UAAW,gBACX6jC,cAAeu0B,GACfQ,kBAAmB,OACnBC,wBAAyB,WACzBC,wBAAyB,UAE3B,WAAY,CACVG,cAAe,QACfxnD,WAAY,CAAC,oBAAqB,mBAAoB,SAAU,eAAgB,WAAWtkB,KAAIC,GAAQ,GAAGA,KAAQ6jB,EAAMU,4BAA2BvtB,KAAK,KACxJ80E,YAAa,EACbC,OAAQ,gBAEV,cAAe,CACbA,OAAQloD,EAAM0jC,qBAIlB,CAAC,QAAQzjC,SAAqB,CAC5B,cAAe,CACbjf,SAAUgf,EAAMwnD,YAGpB,CAAC,QAAQvnD,gBAA4B,CACnClkB,EAAG,CACDsC,MAAOqoC,EAAKA,EAAK1mB,EAAMwnD,WAAW70B,IAAIjM,EAAK1mB,EAAMytB,WAAW1C,IAAI,KAAKA,IAAI,GAAGlE,QAC5E/lC,OAAQ4lC,EAAKA,EAAK1mB,EAAMwnD,WAAW70B,IAAIjM,EAAK1mB,EAAMytB,WAAW1C,IAAI,KAAKA,IAAI,GAAGlE,UAIjF,CAAC,QAAQ5mB,SAAqB,CAC5B,cAAe,CACbjf,SAAUgf,EAAMynD,YAGpB,CAAC,QAAQxnD,gBAA4B,CACnClkB,EAAG,CACDsC,MAAOqoC,EAAKA,EAAK1mB,EAAMynD,WAAW90B,IAAI3yB,EAAMytB,YAAY1C,IAAI,GAAGlE,QAC/D/lC,OAAQ4lC,EAAKA,EAAK1mB,EAAMynD,WAAW90B,IAAI3yB,EAAMytB,YAAY1C,IAAI,GAAGlE,UAGpE,CAAC,IAAI5mB,eAA0BA,UAAsB,CACnD1hB,QAAS,WAGd,EAeH,IAAe,SAAc,QAAQyhB,IACnC,MAAMmoD,GAAY,SAAWnoD,EAAO,CAClC0nD,eAAgB1nD,EAAMitB,uBAExB,MAAO,CAACm6B,GAAae,GAAW,IAjBGnoD,IACnC,MAAM,gBACJiqB,EAAe,cACfqJ,GACEtzB,EACJ,MAAO,CACLsnD,cAAe,IACf/Z,QAAStjB,EAAkB,EAC3Bu9B,UAA6B,IAAlBv9B,EACXw9B,UAAWn0B,EACZ,IC/QG80B,GAAe,CAAC,CAAC,GAAI,KAAO,CAAC,GAAI,KAAO,CAAC,GAAI,MCkBnD,IAAIC,GAIJ,MAAMC,GAAOt5E,IACX,IAAIm2B,EACJ,MACIhxB,UAAWyyB,EACX2hD,SAAUC,GAAiB,EAAI,MAC/BjhB,EAAQ,EAAC,UACTnzD,EAAS,cACTyyB,EAAa,KACb5qB,EAAO,UAAS,IAChBwsE,EAAG,iBACHC,EAAgB,MAChBzvE,EAAK,SACLnJ,EAAQ,WACR64E,GAAa,EAAK,UAClB3B,EAAS,QACTppB,GACE5uD,EACJgU,EAvCgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAgCgB,CAAOj4B,EAAO,CAAC,YAAa,WAAY,QAAS,YAAa,gBAAiB,OAAQ,MAAO,mBAAoB,QAAS,WAAY,aAAc,YAAa,aAC1K,aACJ+2B,EAAY,UACZxsB,EAAS,KACTqvE,GACE,aAAiB,OACfz0E,EAAY4xB,EAAa,OAAQa,IAChCyB,EAAYnC,EAAQoC,GAAa,GAASn0B,IAC1Co0E,EAAUM,GAAe,YAAe,IAAML,IA5BvD,SAAqBD,EAAUhhB,GAC7B,QAASghB,KAAchhB,IAAUl0C,MAAMD,OAAOm0C,GAChD,CA0B0EuhB,CAAYN,EAAgBjhB,KAC9FwhB,ED/CO,SAAoBR,EAAU3qB,GAC3C,MAAOorB,EAAaC,GAAkB,WAAe,GAC/CC,EAAkB,WAClBC,EAAqB,SAAZvrB,EAqBf,OApBA,aAAgB,KACVurB,GAAUZ,IACZU,EAAe,GACfC,EAAgBl5E,QAAUo5E,aAAY,KACpCH,GAAe3yE,IACb,MAAM+yE,EAAU,IAAM/yE,EACtB,IAAK,IAAIyF,EAAI,EAAGA,EAAIqsE,GAAa3tE,OAAQsB,GAAK,EAAG,CAC/C,MAAOutE,EAAOC,GAAWnB,GAAarsE,GACtC,GAAIzF,GAAQgzE,EACV,OAAOhzE,EAAO+yE,EAAUE,CAE5B,CACA,OAAOjzE,CAAI,GACX,GAnBY,MAsBX,KACLkzE,cAAcN,EAAgBl5E,QAAQ,IAEvC,CAACm5E,EAAQZ,IACLY,EAASH,EAAcprB,CAChC,CCsBwB6rB,CAAWlB,EAAU3qB,GAC3C,aAAgB,KACd,GAAI4qB,EAAgB,CAClB,MAAMkB,ECkGZ,SAAmBniB,EAAOl8C,EAAUmU,GAClC,IACEmqD,GADSnqD,GAAW,CAAC,GACDoqD,QAEtB,OApIF,SAAmBriB,EAAOl8C,EAAUmU,GAClC,IAYIqqD,EAZAj6E,EAAO4vB,GAAW,CAAC,EACrBsqD,EAAkBl6E,EAAKm6E,WACvBA,OAAiC,IAApBD,GAAqCA,EAClDE,EAAiBp6E,EAAKq6E,UACtBA,OAA+B,IAAnBD,GAAoCA,EAChDE,EAAoBt6E,EAAKu6E,aACzBA,OAAqC,IAAtBD,OAA+Bx6E,EAAYw6E,EAOxDE,GAAY,EAGZC,EAAW,EAGf,SAASC,IACHT,GACFrzD,aAAaqzD,EAEjB,CAgBA,SAASU,IACP,IAAK,IAAI/sE,EAAOC,UAAUhD,OAAQ+vE,EAAa,IAAI15E,MAAM0M,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IACrF6sE,EAAW7sE,GAAQF,UAAUE,GAE/B,IAAI8sE,EAAO9oD,KACP+oD,EAAUC,KAAKC,MAAQP,EAM3B,SAASQ,IACPR,EAAWM,KAAKC,MAChBv/D,EAASzN,MAAM6sE,EAAMD,EACvB,CAMA,SAASnkC,IACPwjC,OAAYn6E,CACd,CAhBI06E,IAiBCH,IAAaE,GAAiBN,GAMjCgB,IAEFP,SACqB56E,IAAjBy6E,GAA8BO,EAAUnjB,EACtC0iB,GAMFI,EAAWM,KAAKC,MACXb,IACHF,EAAYnzD,WAAWyzD,EAAe9jC,EAAQwkC,EAAMtjB,KAOtDsjB,KAEsB,IAAfd,IAYTF,EAAYnzD,WAAWyzD,EAAe9jC,EAAQwkC,OAAuBn7E,IAAjBy6E,EAA6B5iB,EAAQmjB,EAAUnjB,IAEvG,CAIA,OAHAgjB,EAAQ/8D,OA9ER,SAAgBgS,GACd,IACEsrD,GADUtrD,GAAW,CAAC,GACKurD,aAC3BA,OAAsC,IAAvBD,GAAwCA,EACzDR,IACAF,GAAaW,CACf,EA2EOR,CACT,CAuBSS,CAASzjB,EAAOl8C,EAAU,CAC/B8+D,cAA0B,UAFC,IAAjBR,GAAkCA,IAIhD,CDzG2BsB,CAAS1jB,GAAO,KACnCshB,GAAY,EAAK,IAGnB,OADAa,IACO,KACL,IAAIvkD,EACuF,QAA1FA,EAAKukD,aAAmD,EAASA,EAAal8D,cAA2B,IAAP2X,GAAyBA,EAAG9sB,KAAKqxE,EAAa,CAErJ,CACAb,GAAY,EAAM,GACjB,CAACthB,EAAOihB,IACX,MAAM0C,EAAkB,WAAc,SAA0B,IAAbp7E,IAA6B64E,GAAY,CAAC74E,EAAU64E,IAKjGwC,EAAgB,IAAWh3E,EAAWy0E,aAAmC,EAASA,EAAKx0E,UAAW,CACtG,CAAC,GAAGD,QAA0B,UAAT8H,EACrB,CAAC,GAAG9H,QAA0B,UAAT8H,EACrB,CAAC,GAAG9H,cAAuBo0E,EAC3B,CAAC,GAAGp0E,iBAA0Bs0E,EAC9B,CAAC,GAAGt0E,SAAgC,QAAdoF,GACrBnF,GAAYu0E,GAAc9hD,EAAeX,EAAQoC,GAC9C8iD,EAAqB,IAAW,GAAGj3E,cAAuB,CAC9D,CAAC,GAAGA,UAAmBo0E,IAEnB8C,EAAiJ,QAA9HlmD,EAAK6hD,QAA6CA,EAAY4B,aAAmC,EAASA,EAAK5B,iBAA8B,IAAP7hD,EAAgBA,EAAKkjD,GAC9KrvE,EAAcgjB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGijD,aAAmC,EAASA,EAAK3vE,OAAQA,GACvGqyE,EAA2B,gBAAoB,MAAOtvD,OAAO2J,OAAO,CAAC,EAAG3iB,EAAW,CACvF/J,MAAOD,EACP5E,UAAW+2E,EACX,YAAa,SACb,YAAa5C,IACE,gBAAoBxB,GAAW,CAC9C5yE,UAAWA,EACX6yE,UAAWqE,EACXztB,QAASmrB,IACPN,IAAQyC,GAAmBvC,GAA4B,gBAAoB,MAAO,CACpFv0E,UAAW,GAAGD,UACbs0E,GAAQ,MACX,OACSpgD,EADL6iD,EAC6B,gBAAoB,MAAOlvD,OAAO2J,OAAO,CAAC,EAAG3iB,EAAW,CACrF5O,UAAW,IAAW,GAAGD,mBAA4Bu0E,EAAkBxiD,EAAQoC,KAC7EigD,GAAyB,gBAAoB,MAAO,CACtDt3E,IAAK,WACJq6E,GAA2B,gBAAoB,MAAO,CACvDl3E,UAAWg3E,EACXn6E,IAAK,aACJnB,IAED64E,EAC6B,gBAAoB,MAAO,CACxDv0E,UAAW,IAAW,GAAGD,eAAwB,CAC/C,CAAC,GAAGA,qBAA8Bo0E,GACjC1hD,EAAeX,EAAQoC,IACzBgjD,GAEaA,EAAY,EAEhChD,GAAKiD,oBAAsBvE,IACzBqB,GAAmBrB,CAAS,EAK9B,YEtHawE,GAAe,CAACz4E,EAAQ04E,IAC/B,QAAS14E,QAAyBrD,IAAfqD,EAAO9B,KAAoC,OAAf8B,EAAO9B,IACjD8B,EAAO9B,IAEZ8B,EAAOE,UACFnC,MAAMC,QAAQgC,EAAOE,WAAaF,EAAOE,UAAUE,KAAK,KAAOJ,EAAOE,UAExEw4E,EAEF,SAASC,GAAah3E,EAAOi3E,GAClC,OAAOA,EAAM,GAAGA,KAAOj3E,IAAU,GAAGA,GACtC,CACO,MAAMk3E,GAAoB,CAACpzE,EAAOxJ,IAClB,mBAAVwJ,EACFA,EAAMxJ,GAERwJ,ECdT,GADmB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,gLAAoL,KAAQ,SAAU,MAAS,UCMzW,IAAI,GAAe,SAAsBxJ,EAAOC,GAC9C,OAAoB,gBAAoBC,GAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,KAEV,EAOA,SAJ2B,aAAiB,ICA5C,GAfsB,WACpB,MAAMy8E,EAAS7vD,OAAO2J,OAAO,CAAC,EAAGloB,UAAUhD,QAAU,OAAI/K,EAAY+N,UAAU,IAC/E,IAAK,IAAI1B,EAAI,EAAGA,EAAI0B,UAAUhD,OAAQsB,IAAK,CACzC,MAAM/K,EAAM+K,EAAI,GAAK0B,UAAUhD,QAAUsB,OAAIrM,EAAY+N,UAAU1B,GAC/D/K,GACFgrB,OAAOlpB,KAAK9B,GAAKR,SAAQS,IACvB,MAAMsC,EAAMvC,EAAIC,QACJvB,IAAR6D,IACFs4E,EAAO56E,GAAOsC,EAChB,GAGN,CACA,OAAOs4E,CACT,0CCNA,SAASC,GAAW3zE,EAAO8S,EAAQpb,GAIjC,IAAI4T,EAAgBwH,EAAO8gE,WAAU,GAGjCC,EAAWhwD,OAAOiwD,OAAO9zE,EAAO,CAClC8S,OAAQ,CACNpb,MAAO4T,GAETA,cAAe,CACb5T,MAAO4T,KAgBX,OAXAA,EAAc5T,MAAQA,EAIe,iBAA1Bob,EAAOihE,gBAA8D,iBAAxBjhE,EAAOkhE,eAC7D1oE,EAAcyoE,eAAiBjhE,EAAOihE,eACtCzoE,EAAc0oE,aAAelhE,EAAOkhE,cAEtC1oE,EAAc2oE,kBAAoB,WAChCnhE,EAAOmhE,kBAAkBxuE,MAAMqN,EAAQxN,UACzC,EACOuuE,CACT,CACO,SAASK,GAAgBphE,EAAQzH,EAAGsb,EAAUwtD,GACnD,GAAKxtD,EAAL,CAGA,IAAI3mB,EAAQqL,EACG,UAAXA,EAAEoS,KAqBc,SAAhB3K,EAAO2K,WAAmClmB,IAAhB48E,EAK9BxtD,EAAS3mB,GAHP2mB,EADA3mB,EAAQ2zE,GAAWtoE,EAAGyH,EAAQqhE,IAR9BxtD,EADA3mB,EAAQ2zE,GAAWtoE,EAAGyH,EAAQ,IAfhC,CA6BF,CACO,SAASshE,GAAalpE,EAAS+H,GACpC,GAAK/H,EAAL,CACAA,EAAQkc,MAAMnU,GAGd,IACEigC,GADSjgC,GAAU,CAAC,GACNigC,OAChB,GAAIA,EAAQ,CACV,IAAIrH,EAAM3gC,EAAQxT,MAAM4K,OACxB,OAAQ4wC,GACN,IAAK,QACHhoC,EAAQ+oE,kBAAkB,EAAG,GAC7B,MACF,IAAK,MACH/oE,EAAQ+oE,kBAAkBpoC,EAAKA,GAC/B,MACF,QACE3gC,EAAQ+oE,kBAAkB,EAAGpoC,GAEnC,CAlBoB,CAmBtB,CCpFA,IAAIwoC,GAAyB,gBAAiB,SAAUx9E,EAAOC,GAC7D,IAAIw9E,EAAgBC,EAChBC,EAAU39E,EAAM49E,aAClB98E,EAAWd,EAAMc,SACjBqE,EAAYnF,EAAMmF,UAClB0jD,EAAS7oD,EAAM6oD,OACfg1B,EAAS79E,EAAM69E,OACfC,EAAc99E,EAAM89E,YACpBC,EAAa/9E,EAAM+9E,WACnB34E,EAAYpF,EAAMoF,UAClB6E,EAAQjK,EAAMiK,MACdylB,EAAW1vB,EAAM0vB,SACjBo8C,EAAW9rE,EAAM8rE,SACjBkS,EAAUh+E,EAAMg+E,QAChBT,EAAev9E,EAAMu9E,aACrB7P,EAAa1tE,EAAM0tE,WACnB7sE,EAAQb,EAAMa,MACdo9E,EAAcj+E,EAAMi+E,YACpBtmE,EAAS3X,EAAM2X,OACfsiD,EAAUj6D,EAAMi6D,QAChBxC,EAAaz3D,EAAMy3D,WACnBymB,EAAYl+E,EAAMk+E,UAClBpwD,EAAS9tB,EAAM8tB,OACflN,EAAa5gB,EAAM4gB,WACnBu9D,EAAUn+E,EAAMm+E,QACdP,EAAe98E,QAA2CA,EAAW68E,EACrES,GAAyBx9D,aAA+C,EAASA,EAAWy9D,eAAiB,OAC7GC,GAAyB19D,aAA+C,EAASA,EAAW29D,eAAiB,OAC7G7rE,GAAoBkO,aAA+C,EAASA,EAAW26D,UAAY,OACnGiD,GAAuB59D,aAA+C,EAASA,EAAW69D,aAAe,OACzGxnD,GAAe,IAAAhc,QAAO,MAOtByjE,EDzCC,SAAyB1+E,GAC9B,SAAUA,EAAM6oD,QAAU7oD,EAAM69E,QAAU79E,EAAM0tE,WAClD,CCuCiBiR,CAAgB3+E,GAC3BqU,GAAuB,IAAAuqE,cAAahB,EAAc,CACpD/8E,MAAOA,EACPuE,UAAW,IAAKw4E,EAAa59E,MAAMoF,WAAYs5E,IAAajnB,aAA+C,EAASA,EAAWzD,WAAa,OAI1I6qB,GAAW,IAAA5jE,QAAO,MAQtB,GAPA,wBAA0Bhb,GAAK,WAC7B,MAAO,CACL+jB,cAAe66D,EAAS79E,SAAWi2B,EAAaj2B,QAEpD,IAGI09E,EAAU,CAEZ,IAAItP,EAAY,KAChB,GAAI1B,EAAY,CACd,IAAIoR,GAAapvD,IAAao8C,GAAYjrE,EACtCk+E,EAAe,GAAG36E,OAAOe,EAAW,eACpC2+B,EAAmC,YAAxB,OAAQ4pC,IAAR,MAAoCA,GAAgDA,EAAW0B,UAAY1B,EAAW0B,UAAY,IACjJA,EAAyB,kBAAoB,OAAQ,CACnD/gE,QAAS,SAAiBlF,GACxB80E,SAAkDA,EAAY90E,GAC9Dg1E,SAA0CA,GAC5C,EAIAt+D,YAAa,SAAqBrL,GAChC,OAAOA,EAAEI,gBACX,EACAxP,UAAW,IAAK25E,GAAc,QAAgB,OAAgB,CAAC,EAAG,GAAG36E,OAAO26E,EAAc,YAAaD,GAAY,GAAG16E,OAAO26E,EAAc,iBAAkBlB,IAC7J/4C,KAAM,SACNjE,UAAW,GACViD,EACL,CACA,IAAIk7C,EAAwB,GAAG56E,OAAOe,EAAW,kBAC7C85E,EAAkB,IAAKD,GAAuB,QAAgB,QAAgB,QAAgB,QAAgB,OAAgB,CAAC,EAAG,GAAG56E,OAAOe,EAAW,aAAcuqB,GAAW,GAAGtrB,OAAO46E,EAAuB,aAActvD,GAAW,GAAGtrB,OAAO46E,EAAuB,YAAahB,GAAU,GAAG55E,OAAO46E,EAAuB,aAAclT,GAAW,GAAG1nE,OAAO46E,EAAuB,yBAA0BnB,GAAUnQ,GAAc7sE,GAAQo5D,aAAyC,EAASA,EAAQokB,aAAc5mB,aAA+C,EAASA,EAAW4mB,aAAc5mB,aAA+C,EAASA,EAAWzD,SACnpBkrB,GAAcrB,GAAUnQ,IAA4B,kBAAoB,OAAQ,CAClFtoE,UAAW,IAAK,GAAGhB,OAAOe,EAAW,WAAYsyD,aAA+C,EAASA,EAAWomB,QACpH5zE,MAAO6jB,aAAuC,EAASA,EAAO+vD,QAC7DzO,EAAWyO,GACdxpE,EAAuB,kBAAoB+pE,GAAuB,OAAS,CACzEh5E,UAAW65E,EACXh1E,MAAO6jB,aAAuC,EAASA,EAAOuwD,aAC9DhwE,QArDe,SAAsBmG,GACvC,IAAI2qE,EACmD,QAAlDA,EAAwBloD,EAAaj2B,eAA+C,IAA1Bm+E,GAAoCA,EAAsBtpD,SAASrhB,EAAEyH,UAClIshE,SAAoDA,IAExD,GAiDKW,aAA6C,EAASA,EAAUG,aAAc,CAC/Ep+E,IAAKg3B,IACH4xB,GAAuB,kBAAoB,OAAQ,CACrDzjD,UAAW,IAAK,GAAGhB,OAAOe,EAAW,WAAYsyD,aAA+C,EAASA,EAAW5O,QACpH5+C,MAAO6jB,aAAuC,EAASA,EAAO+6B,QAC7DA,GAASx0C,EAAS6qE,EACvB,CAGA,GDrGK,SAAkBl/E,GACvB,SAAUA,EAAM89E,cAAe99E,EAAM+9E,WACvC,CCmGMqB,CAASp/E,GAAQ,CACnB,IAAIq/E,EAAa,GAAGj7E,OAAOe,EAAW,UAClCm6E,EAAW,GAAGl7E,OAAOi7E,EAAY,UACjCE,EAAkB,GAAGn7E,OAAOi7E,EAAY,YACxCG,EAAyB,IAAK,GAAGp7E,OAAOe,EAAW,YAAak6E,EAAYplB,aAAyC,EAASA,EAAQshB,QAAS9jB,aAA+C,EAASA,EAAW8jB,SAClNkE,GAAuB,IAAKF,GAAiB,OAAgB,CAAC,EAAG,GAAGn7E,OAAOm7E,EAAiB,aAAc7vD,GAAWuqC,aAAyC,EAASA,EAAQruB,MAAO6rB,aAA+C,EAASA,EAAW8mB,cAI7PlqE,EAAuB,kBAAoBiqE,EAAuB,CAChEl5E,UAAWq6E,GACXx/E,IAAK4+E,GACS,kBAAoBnsE,EAAkB,CACpDtN,UAAWo6E,GACV1B,GAA4B,kBAAoBU,EAAqB,CACtEp5E,UAAWk6E,GACVxB,GAAczpE,EAAS0pE,GAA2B,kBAAoBS,EAAqB,CAC5Fp5E,UAAWk6E,GACVvB,IACL,CAGA,OAAoB,iBAAmB1pE,EAAS,CAC9CjP,UAAW,IAA0C,QAApCq4E,EAAiBppE,EAAQrU,aAAsC,IAAnBy9E,OAA4B,EAASA,EAAer4E,UAAWA,IAAc,KAC1I6E,OAAO,QAAc,OAAc,CAAC,EAAyC,QAArCyzE,EAAkBrpE,EAAQrU,aAAuC,IAApB09E,OAA6B,EAASA,EAAgBzzE,OAAQA,GACnJ0N,OAAQA,GAEZ,IACA,YC9HA,IAAI,GAAY,CAAC,QAYF,SAAS+nE,GAAS9oE,EAAO+oE,GACtC,OAAO,WAAc,WACnB,IAAIC,EAAe,CAAC,EAChBD,IACFC,EAAaC,KAA8B,YAAvB,OAAQF,IAA2BA,EAAUG,UAAYH,EAAUG,YAAcH,GAGvG,IAAI/+E,EADJg/E,GAAe,QAAc,OAAc,CAAC,EAAGA,GAAehpE,GAE5DipE,EAAOj/E,EAAKi/E,KACZhoB,GAAO,OAAyBj3D,EAAM,IACxC,OAAO,QAAc,OAAc,CAAC,EAAGi3D,GAAO,CAAC,EAAG,CAChDgoB,OAAQA,EACRE,cAA+B,mBAATF,EAAsBA,OAAOn/E,EACnDs/E,SAAUnoB,EAAKmoB,UAAY,SAAUn/E,GACnC,OAAOA,EAAM4K,MACf,GAEJ,GAAG,CAACmL,EAAO+oE,GACb,CC3BA,IAAI,GAAY,CAAC,eAAgB,WAAY,UAAW,SAAU,eAAgB,YAAa,UAAW,YAAa,WAAY,WAAY,YAAa,YAAa,SAAU,YAAa,QAAS,OAAQ,UAAW,aAAc,SAAU,qBAAsB,oBAQtQM,IAAqB,IAAAzwD,aAAW,SAAUxvB,EAAOC,GACnD,IAAIigF,EAAelgF,EAAMkgF,aACvBpwD,EAAW9vB,EAAM8vB,SACjBkV,EAAUhlC,EAAMglC,QAChB07B,EAAS1gE,EAAM0gE,OACfyf,EAAengF,EAAMmgF,aACrBp7C,EAAY/kC,EAAM+kC,UAClBmiC,EAAUlnE,EAAMknE,QAChB93C,EAAmBpvB,EAAMmF,UACzBA,OAAiC,IAArBiqB,EAA8B,WAAaA,EACvDM,EAAW1vB,EAAM0vB,SACjB0wD,EAAWpgF,EAAMogF,SACjBh7E,EAAYpF,EAAMoF,UAClBi7E,EAAYrgF,EAAMqgF,UAClBxC,EAAS79E,EAAM69E,OACf8B,EAAY3/E,EAAM2/E,UAClB/oE,EAAQ5W,EAAM4W,MACdiZ,EAAc7vB,EAAM4mB,KACpBA,OAAuB,IAAhBiJ,EAAyB,OAASA,EACzCoqC,EAAUj6D,EAAMi6D,QAChBxC,EAAaz3D,EAAMy3D,WACnB3pC,EAAS9tB,EAAM8tB,OACfwyD,EAAsBtgF,EAAMugF,mBAC5BC,EAAmBxgF,EAAMwgF,iBACzB3oB,GAAO,OAAyB73D,EAAO,IACrCkb,GAAY,IAAAC,WAAS,GACvBslE,GAAa,OAAevlE,EAAW,GACvC8iE,EAAUyC,EAAW,GACrBC,EAAaD,EAAW,GACtBE,GAAiB,IAAA1lE,SAAO,GACxB2lE,GAAa,IAAA3lE,SAAO,GACpB+U,GAAW,IAAA/U,QAAO,MAClBgV,GAAY,IAAAhV,QAAO,MACnBsV,EAAQ,SAAenU,GACrB4T,EAAShvB,SACXu8E,GAAavtD,EAAShvB,QAASob,EAEnC,EAGI8T,GAAkB,QAAelwB,EAAMQ,aAAc,CACrDK,MAAOb,EAAMa,QAEfsvB,GAAmB,OAAeD,EAAiB,GACnDrvB,EAAQsvB,EAAiB,GACzByJ,EAAWzJ,EAAiB,GAC1B0wD,EAAchgF,QAAwC,GAAK2mE,OAAO3mE,GAGlEigF,GAAa,IAAA3lE,UAAS,MACxB4lE,GAAa,OAAeD,EAAY,GACxCE,EAAYD,EAAW,GACvBE,EAAeF,EAAW,GAGxBG,EAAcxB,GAAS9oE,EAAO+oE,GAC9Br3B,EAAY44B,EAAYjnE,KAAOomE,EAC/Bc,GAAcD,EAAYlB,SAASa,GACnCO,KAAiB94B,GAAa64B,GAAc74B,GAGhD,IAAAh4B,qBAAoBrwB,GAAK,WACvB,IAAIohF,EACJ,MAAO,CACL9wD,MAAOA,EACPG,KAAM,WACJ,IAAID,EACuC,QAA1CA,EAAoBT,EAAShvB,eAA2C,IAAtByvB,GAAgCA,EAAkBC,MACvG,EACA0sD,kBAAmB,SAA2Bx7D,EAAOC,EAAKtX,GACxD,IAAIomB,EACwC,QAA3CA,EAAqBX,EAAShvB,eAA4C,IAAvB2vB,GAAiCA,EAAmBysD,kBAAkBx7D,EAAOC,EAAKtX,EACxI,EACA4jE,OAAQ,WACN,IAAImT,EACwC,QAA3CA,EAAqBtxD,EAAShvB,eAA4C,IAAvBsgF,GAAiCA,EAAmBnT,QAC1G,EACAv9C,MAAOZ,EAAShvB,QAChBgjB,eAA6D,QAA5Cq9D,EAAqBpxD,EAAUjvB,eAA4C,IAAvBqgF,OAAgC,EAASA,EAAmBr9D,gBAAkBgM,EAAShvB,QAEhK,KACA,IAAAsa,YAAU,WACRolE,GAAW,SAAUp5E,GACnB,QAAOA,IAAQooB,IAAmBpoB,CACpC,GACF,GAAG,CAACooB,IACJ,IAAI6xD,GAAgB,SAAuB/sE,EAAGgtE,EAAcnzD,GAC1D,IAMQozD,EAAoBC,EANxBC,EAAWH,EACf,IAAKb,EAAe3/E,SAAWkgF,EAAYU,iBAAmBV,EAAYjnE,KAAOinE,EAAYlB,SAASwB,GAAgBN,EAAYjnE,IAI5HunE,KAHJG,EAAWT,EAAYU,gBAAgBJ,EAAc,CACnDvnE,IAAKinE,EAAYjnE,QAIjBgnE,EAAa,EAA8C,QAA3CQ,EAAqBzxD,EAAShvB,eAA4C,IAAvBygF,OAAgC,EAASA,EAAmBvE,iBAAmB,GAAgD,QAA3CwE,EAAqB1xD,EAAShvB,eAA4C,IAAvB0gF,OAAgC,EAASA,EAAmBvE,eAAiB,SAEpR,GAAoB,mBAAhB9uD,EAAK+2B,OAGd,OAEFxrB,EAAS+nD,GACL3xD,EAAShvB,SACXq8E,GAAgBrtD,EAAShvB,QAASwT,EAAGsb,EAAU6xD,EAEnD,GACA,IAAArmE,YAAU,WAEN,IAAIumE,EADFb,IAE0C,QAA3Ca,EAAqB7xD,EAAShvB,eAA4C,IAAvB6gF,GAAiCA,EAAmBzE,kBAAkBxuE,MAAMizE,GAAoB,QAAmBb,IAE3K,GAAG,CAACA,IACJ,IA6CMjkD,GAHF+kD,GAAgBV,IAAgB,GAAGh9E,OAAOe,EAAW,iBA6CzD,OAAoB,kBAAoB,IAAW,OAAS,CAAC,EAAG0yD,EAAM,CACpE1yD,UAAWA,EACXC,UAAW,IAAKA,EAAW08E,IAC3B7D,YAzDgB,SAAqBzpE,GACrColB,EAAS,IACTrJ,IACIP,EAAShvB,SACXq8E,GAAgBrtD,EAAShvB,QAASwT,EAAGsb,EAEzC,EAoDEjvB,MAAOggF,EACP7C,QAASA,EACTT,aAAchtD,EACdstD,OAzBc,WAEd,IAAIkE,EAAe39D,OAAOkkC,GAAa,EACvC,GAAIu1B,GAAUqD,EAAYrB,KAAM,CAC9B,IAAImC,EAAYd,EAAYnB,cAAgBmB,EAAYnB,cAAc,CACpEl/E,MAAOggF,EACPjqE,MAAOuqE,GACPd,UAAW/3B,IACR,GAAGlkD,OAAO+8E,IAAa/8E,OAAO29E,EAAe,MAAM39E,OAAOkkD,GAAa,IAC5E,OAAoB,kBAAoB,aAAgB,KAAM44B,EAAYrB,MAAqB,kBAAoB,OAAQ,CACzHz6E,UAAW,IAAK,GAAGhB,OAAOe,EAAW,uBAAuB,OAAgB,CAAC,EAAG,GAAGf,OAAOe,EAAW,4BAA6B04E,GAASpmB,aAA+C,EAASA,EAAW7gD,OAC9M3M,OAAO,OAAc,CAAC,EAAG6jB,aAAuC,EAASA,EAAOlX,QAC/EorE,GAAYnE,EACjB,CACA,OAAO,IACT,CAUUoE,GACRvyD,SAAUA,EACVuqC,QAASA,EACTxC,WAAYA,EACZ3pC,OAAQA,KArDJiP,IAAa,QAAK/8B,EAAO,CAAC,YAAa,eAAgB,cAAe,aAAc,SAAU,SAAU,aAG5G,eAAgB,YAAa,QAAS,UAAW,WAAY,SAAU,aAAc,YACjE,kBAAoB,SAAS,OAAS,CACxDkgF,aAAcA,GACbnjD,GAAY,CACbjN,SApDmB,SAA0Btb,GAC/C+sE,GAAc/sE,EAAGA,EAAEyH,OAAOpb,MAAO,CAC/BukD,OAAQ,UAEZ,EAiDIpgB,QA5Bc,SAAqBxwB,GACrCksE,GAAW,GACX17C,SAA0CA,EAAQxwB,EACpD,EA0BIksD,OAzBa,SAAoBlsD,GACnCksE,GAAW,GACXhgB,SAAwCA,EAAOlsD,EACjD,EAuBIuwB,UA3CgB,SAAuBvwB,GACrC2rE,GAA0B,UAAV3rE,EAAEvS,MAAoB2+E,EAAW5/E,UACnD4/E,EAAW5/E,SAAU,EACrBm/E,EAAa3rE,IAEfuwB,SAA8CA,EAAUvwB,EAC1D,EAsCI0yD,QArCc,SAAqB1yD,GACvB,UAAVA,EAAEvS,MACJ2+E,EAAW5/E,SAAU,GAEvBkmE,SAA0CA,EAAQ1yD,EACpD,EAiCIpP,UAAW,IAAKD,GAAW,OAAgB,CAAC,EAAG,GAAGf,OAAOe,EAAW,aAAcuqB,GAAW+nC,aAA+C,EAASA,EAAW7mC,OAChK3mB,MAAO6jB,aAAuC,EAASA,EAAO8C,MAC9D3wB,IAAK+vB,EACL/iB,KAAMmzE,EACNx5D,KAAMA,EACN25D,mBAAoB,SAA4B/rE,GAC9CmsE,EAAe3/E,SAAU,EACzBs/E,SAAkEA,EAAoB9rE,EACxF,EACAgsE,iBA7D2B,SAAkChsE,GAC/DmsE,EAAe3/E,SAAU,EACzBugF,GAAc/sE,EAAGA,EAAEC,cAAc5T,MAAO,CACtCukD,OAAQ,mBAEVo7B,SAA4DA,EAAiBhsE,EAC/E,MAyFF,IACA,MChOA,GDgOA,mBE/NA,MAWA,GAXsBk5D,IACpB,IAAI4B,EAQJ,MAP0B,iBAAf5B,IAA4BA,aAA+C,EAASA,EAAW0B,WACxGE,EAAmB5B,EACVA,IACT4B,EAAmB,CACjBF,UAAwB,kBAAoB8S,GAAA,EAAmB,QAG5D5S,CAAgB,ECZV,SAAS6S,GAAyBnyD,EAAUoyD,GACzD,MAAMC,GAA2B,IAAApnE,QAAO,IAClCqnE,EAAwB,KAC5BD,EAAyBrhF,QAAQqD,KAAKqjB,YAAW,KAC/C,IAAIyO,EAAIwnB,EAAIC,EAAI0R,GACiB,QAA3Bn5B,EAAKnG,EAAShvB,eAA4B,IAAPm1B,OAAgB,EAASA,EAAGvF,QAA2G,cAApE,QAA3B+sB,EAAK3tB,EAAShvB,eAA4B,IAAP28C,OAAgB,EAASA,EAAG/sB,MAAM8G,aAAa,WAAwD,QAA3BkmB,EAAK5tB,EAAShvB,eAA4B,IAAP48C,OAAgB,EAASA,EAAGhtB,MAAM2xD,aAAa,YACpP,QAA3BjzB,EAAKt/B,EAAShvB,eAA4B,IAAPsuD,GAAyBA,EAAG1+B,MAAM4xD,gBAAgB,SACxF,IACC,EAYL,OAVA,IAAAlnE,YAAU,KACJ8mE,GACFE,IAEK,IAAMD,EAAyBrhF,QAAQQ,SAAQihF,IAChDA,GACFj7D,aAAai7D,EACf,MAED,IACIH,CACT,CCQA,MAAM,IAAqB,IAAA9yD,aAAW,CAACxvB,EAAOC,KAC5C,IAAIk2B,EACJ,MACIhxB,UAAWyyB,EAAkB,SAC7Bq1C,GAAW,EACXK,OAAQC,EACRtgE,KAAMy1E,EACNhzD,SAAU0nC,EAAc,OACxBsJ,EAAM,QACN17B,EAAO,OACP64C,EAAM,WACNnQ,EAAU,WACVqQ,EAAU,YACVD,EAAW,UACX14E,EAAS,MACT6E,EAAK,OACL6jB,EAAM,cACN+J,EAAa,SACb/H,EACA2nC,WAAYwC,EACZjG,QAAS2uB,GACP3iF,EACJ63D,EAlDgC,SAAU7/B,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CA2CW,CAAOj4B,EAAO,CAAC,YAAa,WAAY,SAAU,OAAQ,WAAY,SAAU,UAAW,SAAU,aAAc,aAAc,cAAe,YAAa,QAAS,SAAU,gBAAiB,WAAY,aAAc,aAO9N,aACJ+2B,EAAY,UACZxsB,EAAS,MACTqmB,GACE,eAAiB,OACfzrB,EAAY4xB,EAAa,QAASa,GAClC5H,GAAW,IAAA/U,QAAO,MAElBke,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,EAAQoC,GAAa,GAASn0B,EAAWg0B,IAEtD,YACJmgC,EAAW,sBACXC,IACE,SAAsBp0D,EAAWoF,GAE/Bu2D,GAAa,EAAArH,GAAA,IAAQ53D,IACzB,IAAIs0B,EACJ,OAA0F,QAAlFA,EAAKusD,QAA+CA,EAAappB,SAAgC,IAAPnjC,EAAgBA,EAAKt0B,CAAG,IAGtH6tB,EAAW,eAAiBkJ,GAAA,GAC5BC,EAAiBu+B,QAAuDA,EAAiB1nC,GAG7F49C,OAAQuB,EAAa,YACrBC,EAAW,aACXC,IACE,IAAA/3C,YAAW,OACTg4C,GAAe,QAAgBH,EAAetB,GAE9CqV,EC1FD,SAAyB5iF,GAC9B,SAAUA,EAAM6oD,QAAU7oD,EAAM69E,QAAU79E,EAAM0tE,YAAc1tE,EAAM2/E,UACtE,CDwF+B,CAAgB3/E,MAAY8uE,GAC7B,IAAA7zD,QAAO2nE,GAcnC,MAAMN,EAAwBH,GAAyBnyD,GAAU,GAa3DkvD,GAAcpQ,GAAe+O,IAAyB,kBAAoB,aAAgB,KAAMA,EAAQ/O,GAAeC,GACvHO,EAAmB,GAAc5B,QAA+CA,EAAa98C,aAAqC,EAASA,EAAM88C,aAChJ1Z,EAASoa,IAAoB,QAAW,QAASuU,EAAe1V,GACvE,OAAO5zC,EAAwB,kBAAoB,GAASrM,OAAO2J,OAAO,CACxE12B,KAAK,QAAWA,EAAK+vB,GACrB7qB,UAAWA,EACX+6E,aAActvD,aAAqC,EAASA,EAAMsvD,cACjEroB,EAAM,CACPnoC,SAAUmJ,EACV6nC,OArBiBlsD,IACjB8tE,IACA5hB,SAAgDA,EAAOlsD,EAAE,EAoBzDwwB,QAlBkBxwB,IAClB8tE,IACAt9C,SAAkDA,EAAQxwB,EAAE,EAiB5DvK,MAAO+iB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG/F,aAAqC,EAASA,EAAM3mB,OAAQA,GACnG6jB,OAAQd,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG/F,aAAqC,EAASA,EAAM9C,QAASA,GACrG+vD,OAAQqB,EACRxR,WAAY4B,EACZlqE,UAAW,IAAWA,EAAWyyB,EAAeyB,EAAWH,EAASogC,EAAuB3oC,aAAqC,EAASA,EAAMxrB,WAC/I0qB,SApBmBtb,IACnB8tE,IACAxyD,SAAoDA,EAAStb,EAAE,EAmB/DspE,YAAaA,GAA6B,kBAAoBlnC,GAAA,EAAiB,CAC7EisC,MAAM,EACNhsC,OAAO,GACNinC,GACHC,WAAYA,GAA4B,kBAAoBnnC,GAAA,EAAiB,CAC3EisC,MAAM,EACNhsC,OAAO,GACNknC,GACHtmB,WAAYzqC,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGsjC,GAAUrpC,aAAqC,EAASA,EAAM6mC,YAAa,CACnI7mC,MAAO,IAAW,CAChB,CAAC,GAAGzrB,QAAgC,UAAf27D,EACrB,CAAC,GAAG37D,QAAgC,UAAf27D,EACrB,CAAC,GAAG37D,SAAgC,QAAdoF,GACrB0vD,aAAyC,EAASA,EAAQrpC,MAAiF,QAAzEuF,EAAKvF,aAAqC,EAASA,EAAM6mC,kBAA+B,IAAPthC,OAAgB,EAASA,EAAGvF,MAAOsG,GACzL88B,QAAS,IAAW,CAClB,CAAC,GAAG7uD,KAAa6uD,KAAYoa,IAC5B,QAAoBjpE,EAAW6pE,IAClCqP,aAAc,IAAW,CACvB,CAAC,GAAGl5E,sBAA8C,UAAf27D,EACnC,CAAC,GAAG37D,sBAA8C,UAAf27D,EACnC,CAAC,GAAG37D,uBAA8C,QAAdoF,GACnC2sB,GACHqkD,QAAS,IAAW,CAClB,CAAC,GAAGp2E,eAAsC,QAAdoF,GAC3B2sB,GACHqnD,aAAc,IAAW,CACvB,CAAC,GAAGp5E,sBAA8C,UAAf27D,EACnC,CAAC,GAAG37D,sBAA8C,UAAf27D,EACnC,CAAC,GAAG37D,uBAA8C,QAAdoF,EACpC,CAAC,GAAGpF,mBAA2B6uD,KAAYoa,IAC1C,QAAoB,GAAGjpE,kBAA2B6pE,EAAcF,GAAc53C,QAEjF,IAKN,MEzKM4rD,GAAc9xD,IAClB,MAAM,aACJC,EAAY,UACZoqB,GACErqB,EACJ,MAAO,CACL,CAACC,GAAe,CACd1hB,QAAS,cACTqsC,WAAY,SACZwgB,SAAU,SACVC,UAAWhhB,EACX,QAAS,CACP9wC,UAAW,OAEb,CAAC,GAAG0mB,WAAuB,CACzBlnB,UAAW,SACXytC,cAAexmB,EAAMozB,YAGvB,CAAC,IAAInzB,QAAmBA,WAAuB,CAC7CumB,cAAexmB,EAAM0mB,KAAK1mB,EAAMozB,YAAYrI,IAAI,GAAGlE,SAErD,CAAC,IAAI5mB,QAAmBA,WAAuB,CAC7CumB,cAAexmB,EAAMqqB,YAG1B,EAGH,IAAe,SAAc,CAAC,QAAS,QAAQrqB,IAC7C,MAAMqjD,GAAa,SAAWrjD,EAAO8+C,GAAe9+C,IACpD,MAAO,CAAC8xD,GAAYzO,GAAY,GAC/BrE,ICtBH,MA8DA,GA9D8B,cAAiB,CAAChwE,EAAOC,KACrD,MAAM,MACFY,EAAK,SACLivB,EAAQ,eACRizD,EAAc,MACdr9E,EAAK,KACLs9E,GACEhjF,EACJgU,EAnBgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAYgB,CAAOj4B,EAAO,CAAC,QAAS,WAAY,iBAAkB,QAAS,SACvEijF,EAAgBpiF,GAAyB,iBAATmiF,EAAoBA,EAAOniF,EAK3DmvB,EAAW,SAAa,MAC9B,sBAA0B/vB,GAAK,IAAM+vB,EAAShvB,UAE9C,MAAMkiF,EAAgB,MACpB,EAAA3kE,GAAA,IAAI,KACF,IAAI4X,EACJ,MAAMgtD,EAAuC,QAA3BhtD,EAAKnG,EAAShvB,eAA4B,IAAPm1B,OAAgB,EAASA,EAAGvF,MAC7E1kB,SAASgnC,gBAAkBiwC,GAAYA,GACzCA,EAAShV,QACX,GACA,EAyBJ,OAAoB,gBAAoB,GAAOnhD,OAAO2J,OAAO,CAC3D/P,MAAe,IAATo8D,EAAgB,WAAa,QAClChvE,EAAW,CACZ/T,IAAK+vB,EACLnvB,MAAOoiF,EACPG,QA5CuB5uE,IACvBsb,EAASpqB,EAAO8O,EAAEyH,OAAOpb,MAAM,EA4C/BmkC,QAASk+C,EACTn+C,UA7BwB57B,IACxB,MAAM,IACJlH,EAAG,QACHohF,EAAO,QACPC,GACEn6E,EACQ,cAARlH,EACF8gF,EAAer9E,EAAQ,GACN,eAARzD,EACT8gF,EAAer9E,EAAQ,GACN,MAARzD,IAAgBohF,GAAWC,IACpCn6E,EAAMyL,iBAERsuE,GAAe,EAiBfhc,QAfsB1yD,IACR,cAAVA,EAAEvS,KAAwBpB,GAC5BkiF,EAAer9E,EAAQ,GAEzBw9E,GAAe,EAYfrjE,YAAaqjE,EACbzkE,UAAWykE,IACV,IClDL,SAASK,GAASt9B,GAChB,OAAQA,GAAO,IAAI/zB,MAAM,GAC3B,CACA,MAsKA,GAtKyB,cAAiB,CAAClyB,EAAOC,KAChD,MACIkF,UAAWyyB,EAAkB,OAC7BnsB,EAAS,EACTwB,KAAMy1E,EAAU,aAChBliF,EAAY,MACZK,EAAK,SACLivB,EAAQ,UACRgwD,EAAS,QACT9rB,EAAO,SACPtkC,EACA49C,OAAQC,EAAY,UACpB1wC,EAAS,KACTmmD,EAAI,KACJp8D,EAAI,QACJw8D,EAAO,UACPI,GACExjF,EACJgU,EAzCgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAkCgB,CAAOj4B,EAAO,CAAC,YAAa,SAAU,OAAQ,eAAgB,QAAS,WAAY,YAAa,UAAW,WAAY,SAAU,YAAa,OAAQ,OAAQ,UAAW,eAKjL,aACJ+2B,EAAY,UACZxsB,GACE,aAAiB,OACfpF,EAAY4xB,EAAa,MAAOa,GAChC6rD,GAAW,EAAAz5D,EAAA,GAAUhW,EAAW,CACpCkW,MAAM,EACNljB,MAAM,EACN08E,MAAM,IAIFvqD,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,EAAQoC,GAAa,GAASn0B,EAAWg0B,GAEtD2nC,GAAa,EAAArH,GAAA,IAAQ53D,GAAO6gF,QAA+CA,EAAa7gF,IAExF8hF,EAAc,aAAiB,OAC/B3U,GAAe,QAAgB2U,EAAYrW,OAAQC,GACnDqW,EAAmB,WAAc,IAAM52D,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGgtD,GAAc,CACzFrW,OAAQ0B,EACRF,aAAa,EACbC,aAAc,QACZ,CAAC4U,EAAa3U,IAEZ/3C,EAAe,SAAa,MAC5B4sD,EAAO,SAAa,CAAC,GAC3B,sBAA0B5jF,GAAK,KAAM,CACnCswB,MAAO,KACL,IAAI4F,EACuB,QAA1BA,EAAK0tD,EAAK7iF,QAAQ,UAAuB,IAAPm1B,GAAyBA,EAAG5F,OAAO,EAExEG,KAAM,KACJ,IAAIyF,EACJ,IAAK,IAAIppB,EAAI,EAAGA,EAAItB,EAAQsB,GAAK,EACJ,QAA1BopB,EAAK0tD,EAAK7iF,QAAQ+L,UAAuB,IAAPopB,GAAyBA,EAAGzF,MACjE,EAEF1M,cAAeiT,EAAaj2B,YAG9B,MAAM8iF,EAAoBp2B,GAAOoyB,EAAYA,EAAUpyB,GAAOA,GAEvDq2B,EAAYC,GAAiB,WAAeT,GAASO,EAAkBtjF,GAAgB,MAC9F,aAAgB,UACAE,IAAVG,GACFmjF,EAAcT,GAAS1iF,GACzB,GACC,CAACA,IACJ,MAAMojF,GAA0B,QAASC,IACvCF,EAAcE,GACVd,GACFA,EAAQc,GAGNp0D,GAAYo0D,EAAez4E,SAAWA,GAAUy4E,EAAep5E,OAAM+jD,GAAKA,KAAMq1B,EAAe73E,MAAK,CAACwiD,EAAGnpD,IAAUq+E,EAAWr+E,KAAWmpD,KAC1I/+B,EAASo0D,EAAe//E,KAAK,IAC/B,IAEIggF,GAAa,QAAS,CAACz+E,EAAOgoD,KAClC,IAAI02B,GAAY,QAAmBL,GAEnC,IAAK,IAAIh3E,EAAI,EAAGA,EAAIrH,EAAOqH,GAAK,EACzBq3E,EAAUr3E,KACbq3E,EAAUr3E,GAAK,IAGf2gD,EAAIjiD,QAAU,EAChB24E,EAAU1+E,GAASgoD,EAEnB02B,EAAYA,EAAU9rE,MAAM,EAAG5S,GAAOtB,OAAOm/E,GAAS71B,IAExD02B,EAAYA,EAAU9rE,MAAM,EAAG7M,GAE/B,IAAK,IAAIsB,EAAIq3E,EAAU34E,OAAS,EAAGsB,GAAK,IAClCq3E,EAAUr3E,GAD2BA,GAAK,EAI9Cq3E,EAAUC,MAGZ,MAAMC,EAAiBR,EAAkBM,EAAUl3E,KAAI2hD,GAAKA,GAAK,MAAK1qD,KAAK,KAO3E,OANAigF,EAAYb,GAASe,GAAgBp3E,KAAI,CAAC2hD,EAAG9hD,IACjC,MAAN8hD,GAAcu1B,EAAUr3E,GAGrB8hD,EAFEu1B,EAAUr3E,KAIdq3E,CAAS,IAGZG,EAAgB,CAAC7+E,EAAOgoD,KAC5B,IAAIv3B,EACJ,MAAMiuD,EAAYD,EAAWz+E,EAAOgoD,GAC9B82B,EAAYxqE,KAAK2yC,IAAIjnD,EAAQgoD,EAAIjiD,OAAQA,EAAS,GACpD+4E,IAAc9+E,IACmB,QAAlCywB,EAAK0tD,EAAK7iF,QAAQwjF,UAA+B,IAAPruD,GAAyBA,EAAG5F,SAEzE0zD,EAAwBG,EAAU,EAE9BK,EAAsBD,IAC1B,IAAIruD,EAC+B,QAAlCA,EAAK0tD,EAAK7iF,QAAQwjF,UAA+B,IAAPruD,GAAyBA,EAAG5F,OAAO,EAG1Em0D,EAAmB,CACvB1wB,UACAtkC,WACA49C,OAAQ0B,EACRgU,OACAp8D,OACA48D,aAEF,OAAOnqD,EAAwB,gBAAoB,MAAOrM,OAAO2J,OAAO,CAAC,EAAG8sD,EAAU,CACpFxjF,IAAKg3B,EACL7xB,UAAW,IAAWD,EAAW,CAC/B,CAAC,GAAGA,QAAgC,UAAf27D,EACrB,CAAC,GAAG37D,QAAgC,UAAf27D,EACrB,CAAC,GAAG37D,SAAgC,QAAdoF,GACrB+uB,EAAWpC,KACC,gBAAoB,MAAqBv2B,SAAU,CAClEE,MAAO+iF,GACN9hF,MAAM6iF,KAAK,CACZl5E,WACCyB,KAAI,CAAC6L,EAAGrT,KACT,MAAMzD,EAAM,OAAOyD,IACbk/E,EAAcb,EAAWr+E,IAAU,GACzC,OAAoB,gBAAoB,GAAUsnB,OAAO2J,OAAO,CAC9D12B,IAAKkjF,IACHU,EAAK7iF,QAAQ0E,GAASy9E,CAAQ,EAEhClhF,IAAKA,EACLyD,MAAOA,EACPuH,KAAM6zD,EACNsf,SAAU,EACVh7E,UAAW,GAAGD,UACd2qB,SAAUy0D,EACV1jF,MAAO+jF,EACP7B,eAAgB0B,EAChB5nD,UAAqB,IAAVn3B,GAAem3B,GACzB6nD,GAAkB,MAClB,IC5LP,GAD2B,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,kqBAAqqB,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,0JAA8J,KAAQ,gBAAiB,MAAS,YCMxiC,IAAI,GAAuB,SAA8B1kF,EAAOC,GAC9D,OAAoB,gBAAoBC,GAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,KAEV,EAOA,SAJ2B,aAAiB,ICb5C,GADkB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,oeAAwe,KAAQ,MAAO,MAAS,YCMzpB,IAAI,GAAc,SAAqBJ,EAAOC,GAC5C,OAAoB,gBAAoBC,GAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,KAEV,EAOA,SAJ2B,aAAiB,ICM5C,MAAMykF,GAAoB/uD,GAAWA,EAAuB,gBAAoB,GAAa,MAAqB,gBAAoB,GAAsB,MACtJgvD,GAAY,CAChBC,MAAO,UACPC,MAAO,eAEHC,GAAwB,cAAiB,CAACjlF,EAAOC,KACrD,MACEyvB,SAAU0nC,EAAc,OACxB14B,EAAS,QAAO,iBAChBwmD,GAAmB,EAAI,WACvBC,EAAaN,IACX7kF,EAEE0vB,EAAW,aAAiBkJ,GAAA,GAC5BC,EAAiBu+B,QAAuDA,EAAiB1nC,EACzF01D,EAAmD,iBAArBF,QAA8DxkF,IAA7BwkF,EAAiBpvD,SAC/EA,EAASuvD,IAAc,IAAAlqE,WAAS,MAAMiqE,GAAuBF,EAAiBpvD,UAC/E9F,GAAW,IAAA/U,QAAO,MACxB,aAAgB,KACVmqE,GACFC,EAAWH,EAAiBpvD,QAC9B,GACC,CAACsvD,EAAsBF,IAE1B,MAAM5C,EAAwBH,GAAyBnyD,GACjD8M,EAAkB,KAClBjE,IAGA/C,GACFwsD,IAEF+C,GAAWxpE,IACT,IAAIsa,EACJ,MAAM1O,GAAY5L,EAIlB,MAHgC,iBAArBqpE,IACmC,QAA3C/uD,EAAK+uD,EAAiBpoD,uBAAoC,IAAP3G,GAAyBA,EAAG9sB,KAAK67E,EAAkBz9D,IAElGA,CAAQ,IACf,GAsBE,UACFriB,EACAD,UAAWyyB,EACX0tD,eAAgBC,EAAuB,KACvCt4E,GACEjN,EACJgU,EAtFgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CA+EgB,CAAOj4B,EAAO,CAAC,YAAa,YAAa,iBAAkB,UACnE,aACJ+2B,GACE,aAAiB,OACfuuD,EAAiBvuD,EAAa,QAASwuD,GACvCpgF,EAAY4xB,EAAa,iBAAkBa,GAC3C82C,EAAawW,GAhCH//E,KACd,MAAMqgF,EAAcV,GAAUpmD,IAAW,GACnCt+B,EAAO+kF,EAAWrvD,GAClB2vD,EAAY,CAChB,CAACD,GAAc1oD,EACf13B,UAAW,GAAGD,SACdlD,IAAK,eACL4d,YAAarL,IAGXA,EAAEI,gBAAgB,EAEpB6J,UAAWjK,IAGTA,EAAEI,gBAAgB,GAGtB,OAAoB,eAAgC,iBAAqBxU,GAAQA,EAAoB,gBAAoB,OAAQ,KAAMA,GAAOqlF,EAAU,EAcnHC,CAAQvgF,GACzCwgF,EAAiB,IAAWxgF,EAAWC,EAAW,CACtD,CAAC,GAAGD,KAAa8H,OAAWA,IAExB24E,EAAe54D,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,QAAK3iB,EAAW,CAAC,SAAU,aAAc,sBAAuB,CACnH4S,KAAMkP,EAAU,OAAS,WACzB1wB,UAAWugF,EACXxgF,UAAWmgF,EACXzH,OAAQnP,IAKV,OAHIzhE,IACF24E,EAAa34E,KAAOA,GAEF,gBAAoB,GAAO+f,OAAO2J,OAAO,CAC3D12B,KAAK,QAAWA,EAAK+vB,IACpB41D,GAAc,IAKnB,MC9FA,MAAMC,GAAsB,cAAiB,CAAC7lF,EAAOC,KACnD,MACIkF,UAAWyyB,EACX0tD,eAAgBC,EAAuB,UACvCngF,EACA6H,KAAMkqD,EAAa,OACnB0mB,EAAM,YACNiI,GAAc,EAAK,WACnB/H,EAAU,QACVp3B,EAAO,SACPj3B,EACAq2D,SAAUC,EACVl2D,SAAUm2D,EAAc,mBACxB1F,EAAkB,iBAClBC,GACExgF,EACJgU,EAlCgC,SAAUgkB,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CA2BgB,CAAOj4B,EAAO,CAAC,YAAa,iBAAkB,YAAa,OAAQ,SAAU,cAAe,aAAc,UAAW,WAAY,WAAY,WAAY,qBAAsB,sBACvL,aACJ+2B,EAAY,UACZxsB,GACE,aAAiB,OACf6wB,EAAc,UAAa,GAC3Bj2B,EAAY4xB,EAAa,eAAgBa,GACzC0tD,EAAiBvuD,EAAa,QAASwuD,IACvC,YACJjsB,IACE,SAAsBn0D,EAAWoF,GAC/B0C,GAAO,EAAAwsD,GAAA,IAAQ53D,IACnB,IAAIs0B,EACJ,OAAmG,QAA3FA,EAAKghC,QAAqDA,EAAgBmC,SAAgC,IAAPnjC,EAAgBA,EAAKt0B,CAAG,IAE/HmuB,EAAW,SAAa,MASxBnQ,EAAcrL,IAClB,IAAI2hB,EACAjqB,SAASgnC,iBAA+C,QAA3B/c,EAAKnG,EAAShvB,eAA4B,IAAPm1B,OAAgB,EAASA,EAAGvF,QAC9Fpc,EAAEI,gBACJ,EAEImxE,EAAWvxE,IACf,IAAI2hB,EAAIwnB,EACJqoC,GACFA,EAAgG,QAAhFroC,EAAiC,QAA3BxnB,EAAKnG,EAAShvB,eAA4B,IAAPm1B,OAAgB,EAASA,EAAGvF,aAA0B,IAAP+sB,OAAgB,EAASA,EAAG98C,MAAO2T,EAAG,CAC5I4wC,OAAQ,SAEZ,EAQI8gC,EAAoC,kBAAhBJ,EAAyC,gBAAoBK,GAAA,EAAgB,MAAQ,KACzGC,EAAe,GAAGjhF,WACxB,IAAIgzD,EACJ,MAAMkuB,EAAuBP,GAAe,CAAC,EACvCQ,EAAeD,EAAqBz/D,OAAmD,IAA3Cy/D,EAAqBz/D,KAAKo0C,aAE1E7C,EADEmuB,GAA8C,WAA9BD,EAAqBz/D,MAC9B,SAAay/D,EAAsBr5D,OAAO2J,OAAO,CACxD9W,cACAxR,QAASmG,IACP,IAAI2hB,EAAIwnB,EACiK,QAAxKA,EAAuH,QAAjHxnB,EAAKkwD,aAAmE,EAASA,EAAqBrmF,aAA0B,IAAPm2B,OAAgB,EAASA,EAAG9nB,eAA4B,IAAPsvC,GAAyBA,EAAGt0C,KAAK8sB,EAAI3hB,GACtNuxE,EAASvxE,EAAE,EAEbvS,IAAK,eACJqkF,EAAe,CAChBlhF,UAAWghF,EACXn5E,QACE,CAAC,IAEiB,gBAAoB,GAAQ,CAChD7H,UAAWghF,EACXx/D,KAAMk/D,EAAc,eAAYplF,EAChCuM,KAAMA,EACNyiB,SAAUA,EACVztB,IAAK,cACL4d,YAAaA,EACbxR,QAAS03E,EACTp/B,QAASA,EACTvmD,KAAM8lF,GACLJ,GAED/H,IACF5lB,EAAS,CAACA,GAAQ,SAAa4lB,EAAY,CACzC97E,IAAK,iBAGT,MAAM4N,EAAM,IAAW1K,EAAW,CAChC,CAAC,GAAGA,SAAgC,QAAdoF,EACtB,CAAC,GAAGpF,KAAa8H,OAAWA,EAC5B,CAAC,GAAG9H,mBAA4B2gF,GAC/B1gF,GASH,OAAoB,gBAAoB,GAAO4nB,OAAO2J,OAAO,CAC3D12B,KAAK,QAAW+vB,EAAU/vB,GAC1BkgF,aAzDmB3rE,IACf4mB,EAAYp6B,SAAW2lD,GAG3Bo/B,EAASvxE,EAAE,GAsDVR,EAAW,CACZ/G,KAAMA,EACNszE,mBAb+B/rE,IAC/B4mB,EAAYp6B,SAAU,EACtBu/E,SAAwEA,EAAmB/rE,EAAE,EAY7FgsE,iBAV6BhsE,IAC7B4mB,EAAYp6B,SAAU,EACtBw/E,SAAoEA,EAAiBhsE,EAAE,EASvFrP,UAAWmgF,EACXvH,WAAY5lB,EACZ0lB,OAAQA,EACR/tD,SAvFetb,KACVA,aAA6B,EAASA,EAAEyH,SAAsB,UAAXzH,EAAEoS,MAAoBo/D,GAC5EA,EAAexxE,EAAEyH,OAAOpb,MAAO2T,EAAG,CAChC4wC,OAAQ,UAGZ6gC,SAAgEA,EAAezxE,EAAE,EAkFjFpP,UAAWyK,EACX6f,SAAUA,IACT,IAKL,MC7IA,IAGI62D,GAFAC,GAAe,CAAC,iBAAkB,cAAe,cAAe,iBAAkB,cAAe,cAAe,YAAa,eAAgB,iBAAkB,iBAAkB,QAAS,cAAe,eAAgB,gBAAiB,eAAgB,aAAc,aAAc,eACtRC,GAAqB,CAAC,ECF1B,IAAI,GAAY,CAAC,YAAa,eAAgB,QAAS,WAAY,WAAY,YAAa,QAAS,WAAY,WAAY,sBAWzHC,GAAiC,cAAiB,SAAU1mF,EAAOC,GACrE,IAAIW,EAAOZ,EACTmF,EAAYvE,EAAKuE,UACjB3E,EAAeI,EAAKJ,aACpBK,EAAQD,EAAKC,MACb8lF,EAAW/lF,EAAK+lF,SAChBp8D,EAAW3pB,EAAK2pB,SAChBnlB,EAAYxE,EAAKwE,UACjB6E,EAAQrJ,EAAKqJ,MACbylB,EAAW9uB,EAAK8uB,SAChBI,EAAWlvB,EAAKkvB,SAEhB9b,GADqBpT,EAAKgmF,oBACd,OAAyBhmF,EAAM,KAGzCsvB,GAAkB,QAAe1vB,EAAc,CAC/CK,MAAOA,EACP2tC,UAAW,SAAmBjqC,GAC5B,OAAOA,QAAiCA,EAAM,EAChD,IAEF4rB,GAAmB,OAAeD,EAAiB,GACnD22D,EAAc12D,EAAiB,GAC/B22D,EAAiB32D,EAAiB,GAOhC42D,EAAc,WAClB,sBAA0B9mF,GAAK,WAC7B,MAAO,CACL+mF,SAAUD,EAAY/lF,QAE1B,IAGA,IAAIgtC,EAAiB,WAAc,WAC/B,OAAI24C,GAAkC,YAAtB,OAAQA,GACf,CAACA,EAASM,QAASN,EAASO,SAE9B,EACT,GAAG,CAACP,IACJ14C,GAAkB,OAAeD,EAAgB,GACjDi5C,EAAUh5C,EAAgB,GAC1Bi5C,EAAUj5C,EAAgB,GACxBk5C,IAAiBR,EA8BjB1lF,EAAkB,WA9EJ,GA+EhBkd,GAAmB,OAAeld,EAAiB,GACnDmmF,EAAcjpE,EAAiB,GAC/BkpE,EAAiBlpE,EAAiB,GAChChc,EAAmB,aACrBuf,GAAmB,OAAevf,EAAkB,GACpDmlF,EAAgB5lE,EAAiB,GACjC6lE,EAAmB7lE,EAAiB,GAClC8lE,EAAc,WAChBH,EAzFe,EA6FjB,GAGA,EAAA/lF,EAAA,IAAgB,WACV6lF,GACFK,GAEJ,GAAG,CAAC3mF,EAAOomF,EAASC,EAASC,KAC7B,EAAA7lF,EAAA,IAAgB,WACd,GAtGe,IAsGX8lF,EACFC,EAtGiB,QAuGZ,GAvGY,IAuGRD,EAAkC,CAC3C,IAAIK,EDrFK,SAAgCC,GAC7C,IAAIC,EAAWl5E,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,IAAmBA,UAAU,GAC1Ew4E,EAAUx4E,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,KAC9Ey4E,EAAUz4E,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,KAC7E83E,MACHA,GAAiBr6E,SAASid,cAAc,aACzBy+D,aAAa,YAAa,MACzCrB,GAAeqB,aAAa,cAAe,QAI3CrB,GAAeqB,aAAa,OAAQ,kBACpC17E,SAAS2Q,KAAKgrE,YAAYtB,KAKxBmB,EAAWhwD,aAAa,QAC1B6uD,GAAeqB,aAAa,OAAQF,EAAWhwD,aAAa,SAE5D6uD,GAAe/D,gBAAgB,QAKjC,IAAIsF,EAjDC,SAA8BtwE,GACnC,IAAImwE,EAAWl5E,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,IAAmBA,UAAU,GAC1E2oB,EAAU5f,EAAKkgB,aAAa,OAASlgB,EAAKkgB,aAAa,iBAAmBlgB,EAAKkgB,aAAa,QAChG,GAAIiwD,GAAYlB,GAAmBrvD,GACjC,OAAOqvD,GAAmBrvD,GAE5B,IAAIntB,EAAQgC,OAAOwoB,iBAAiBjd,GAChC4Z,EAAYnnB,EAAM89E,iBAAiB,eAAiB99E,EAAM89E,iBAAiB,oBAAsB99E,EAAM89E,iBAAiB,sBACxHC,EAAc3wE,WAAWpN,EAAM89E,iBAAiB,mBAAqB1wE,WAAWpN,EAAM89E,iBAAiB,gBACvGE,EAAa5wE,WAAWpN,EAAM89E,iBAAiB,wBAA0B1wE,WAAWpN,EAAM89E,iBAAiB,qBAI3GG,EAAW,CACbC,YAJgB3B,GAAat5E,KAAI,SAAUZ,GAC3C,MAAO,GAAGlI,OAAOkI,EAAM,KAAKlI,OAAO6F,EAAM89E,iBAAiBz7E,GAC5D,IAAGnI,KAAK,KAGN6jF,YAAaA,EACbC,WAAYA,EACZ72D,UAAWA,GAKb,OAHIu2D,GAAYvwD,IACdqvD,GAAmBrvD,GAAW8wD,GAEzBA,CACT,CA0B8BE,CAAqBV,EAAYC,GAC3DK,EAAcF,EAAsBE,YACpCC,EAAaH,EAAsBG,WACnC72D,EAAY02D,EAAsB12D,UAClC+2D,EAAcL,EAAsBK,YAKtC5B,GAAeqB,aAAa,QAAS,GAAGxjF,OAAO+jF,EAAa,KAAK/jF,OA9DvC,wSA+D1BmiF,GAAe1lF,MAAQ6mF,EAAW7mF,OAAS6mF,EAAWW,aAAe,GACrE,IAEIxhE,EAFAksD,OAAYryE,EACZomB,OAAYpmB,EAEZoR,EAASy0E,GAAe+B,aAQ5B,GAPkB,eAAdl3D,EAEFtf,GAAUm2E,EACa,gBAAd72D,IAETtf,GAAUk2E,GAEI,OAAZf,GAAgC,OAAZC,EAAkB,CAExCX,GAAe1lF,MAAQ,IACvB,IAAI0nF,EAAkBhC,GAAe+B,aAAeN,EACpC,OAAZf,IACFlU,EAAYwV,EAAkBtB,EACZ,eAAd71D,IACF2hD,EAAYA,EAAYiV,EAAcC,GAExCn2E,EAASkI,KAAKC,IAAI84D,EAAWjhE,IAEf,OAAZo1E,IACFpgE,EAAYyhE,EAAkBrB,EACZ,eAAd91D,IACFtK,EAAYA,EAAYkhE,EAAcC,GAExCphE,EAAY/U,EAASgV,EAAY,GAAK,SACtChV,EAASkI,KAAK2yC,IAAI7lC,EAAWhV,GAEjC,CACA,IAAI7H,EAAQ,CACV6H,OAAQA,EACR+U,UAAWA,EACXmsD,OAAQ,QAQV,OANID,IACF9oE,EAAM8oE,UAAYA,GAEhBjsD,IACF7c,EAAM6c,UAAYA,GAEb7c,CACT,CCM2Bu+E,CAAuBzB,EAAY/lF,SAAS,EAAOimF,EAASC,GAcjFG,EArHc,GAsHdE,EAAiBE,EACnB,MAnEyB,WACzB,IAEE,GAAIv7E,SAASgnC,gBAAkB6zC,EAAY/lF,QAAS,CAClD,IAAIynF,EAAuB1B,EAAY/lF,QACrCk8E,EAAiBuL,EAAqBvL,eACtCC,EAAesL,EAAqBtL,aACpCpgE,EAAY0rE,EAAqB1rE,UAQnCgqE,EAAY/lF,QAAQo8E,kBAAkBF,EAAgBC,GACtD4J,EAAY/lF,QAAQ+b,UAAYA,CAClC,CACF,CAAE,MAAOvI,GAIT,CACF,CA6CIk0E,EAEJ,GAAG,CAACtB,IAGJ,IAAIuB,EAAe,WACf51C,EAAW,WACbx0B,GAAA,EAAIC,OAAOmqE,EAAa3nF,QAC1B,EAYA,aAAgB,WACd,OAAO+xC,CACT,GAAG,IAGH,IAAI61C,EAAsBzB,EAAeG,EAAgB,KACrDt9E,GAAc,QAAc,OAAc,CAAC,EAAGC,GAAQ2+E,GAK1D,OAzJiB,IAqJbxB,GApJiB,IAoJeA,IAClCp9E,EAAY6c,UAAY,SACxB7c,EAAY+c,UAAY,UAEN,gBAAoB,IAAgB,CACtDwD,SAvBqB,SAA0Btd,GAjI/B,IAkIZm6E,IACF78D,SAA4CA,EAAStd,GACjD05E,IACF5zC,IACA41C,EAAa3nF,SAAU,EAAAud,GAAA,IAAI,WACzBipE,GACF,KAGN,EAcE93D,WAAYi3D,GAAYp8D,IACV,gBAAoB,YAAY,OAAS,CAAC,EAAGvW,EAAW,CACtE/T,IAAK8mF,EACL98E,MAAOD,EACP5E,UAAW,IAAWD,EAAWC,GAAW,OAAgB,CAAC,EAAG,GAAGhB,OAAOe,EAAW,aAAcuqB,IACnGA,SAAUA,EACV7uB,MAAOgmF,EACP/2D,SAvIqB,SAA0B3mB,GAC/C29E,EAAe39E,EAAM8S,OAAOpb,OAC5BivB,SAA4CA,EAAS3mB,EACvD,KAsIF,IACA,YC7KA,IAAI,GAAY,CAAC,eAAgB,QAAS,UAAW,SAAU,WAAY,aAAc,YAAa,qBAAsB,mBAAoB,SAAU,YAAa,YAAa,QAAS,YAAa,QAAS,WAAY,SAAU,aAAc,SAAU,WAAY,UAAW,eAAgB,WAAY,WAAY,aAQ5T0/E,GAAwB,gBAAiB,SAAUjoF,EAAMX,GAC3D,IAAI6oF,EACAtoF,EAAeI,EAAKJ,aACtBuoF,EAAcnoF,EAAKC,MACnBmkC,EAAUpkC,EAAKokC,QACf07B,EAAS9/D,EAAK8/D,OACd5wC,EAAWlvB,EAAKkvB,SAChB49C,EAAa9sE,EAAK8sE,WAClB2S,EAAYz/E,EAAKy/E,UACjBE,EAAqB3/E,EAAK2/E,mBAC1BC,EAAmB5/E,EAAK4/E,iBACxB3C,EAASj9E,EAAKi9E,OACdrxC,EAAiB5rC,EAAKuE,UACtBA,OAA+B,IAAnBqnC,EAA4B,cAAgBA,EACxDmzC,EAAY/+E,EAAK++E,UACjB/oE,EAAQhW,EAAKgW,MACbxR,EAAYxE,EAAKwE,UACjB6E,EAAQrJ,EAAKqJ,MACbylB,EAAW9uB,EAAK8uB,SAChB/X,EAAS/W,EAAK+W,OACd8/C,EAAa72D,EAAK62D,WAClB3pC,EAASltB,EAAKktB,OACdvD,EAAW3pB,EAAK2pB,SAChB4zD,EAAUv9E,EAAKu9E,QACfgC,EAAev/E,EAAKu/E,aACpBrU,EAAWlrE,EAAKkrE,SAChB6a,EAAW/lF,EAAK+lF,SAChB5hD,EAAYnkC,EAAKmkC,UACjB8yB,GAAO,OAAyBj3D,EAAM,IACpCsvB,GAAkB,QAAe1vB,EAAc,CAC/CK,MAAOkoF,EACPvoF,aAAcA,IAEhB2vB,GAAmB,OAAeD,EAAiB,GACnDrvB,EAAQsvB,EAAiB,GACzByJ,EAAWzJ,EAAiB,GAC1B0wD,EAAchgF,QAAwC,GAAK2mE,OAAO3mE,GAClEI,EAAkB,cAAe,GACnCkd,GAAmB,OAAeld,EAAiB,GACnD+8E,EAAU7/D,EAAiB,GAC3BuiE,EAAaviE,EAAiB,GAC5BwiE,EAAiB,YAAa,GAC9Bx+E,EAAmB,aAAe,MACpCuf,GAAmB,OAAevf,EAAkB,GACpD6mF,EAAkBtnE,EAAiB,GACnCunE,EAAqBvnE,EAAiB,GAGpCuO,GAAY,IAAAhV,QAAO,MACnBiuE,GAAuB,IAAAjuE,QAAO,MAC9BkuE,GAAc,WAChB,IAAIC,EACJ,OAAkE,QAA1DA,EAAwBF,EAAqBloF,eAA+C,IAA1BooF,OAAmC,EAASA,EAAsBpC,QAC9I,EACIz2D,GAAQ,WACV44D,KAAc54D,OAChB,GACA,IAAAD,qBAAoBrwB,GAAK,WACvB,IAAIohF,EACJ,MAAO,CACLgI,kBAAmBH,EAAqBloF,QACxCuvB,MAAOA,GACPG,KAAM,WACJy4D,KAAcz4D,MAChB,EACA1M,eAA6D,QAA5Cq9D,EAAqBpxD,EAAUjvB,eAA4C,IAAvBqgF,OAAgC,EAASA,EAAmBr9D,gBAAkBmlE,KAEvJ,KACA,IAAA7tE,YAAU,WACRolE,GAAW,SAAUp5E,GACnB,OAAQooB,GAAYpoB,CACtB,GACF,GAAG,CAACooB,IAGJ,IAAI5K,GAAmB,aAAe,MACpCC,IAAmB,OAAeD,GAAkB,GACpDk8D,GAAYj8D,GAAiB,GAC7Bk8D,GAAel8D,GAAiB,GAClC,eAAgB,WAEZ,IAAIukE,EADFtI,KAEDsI,EAAeH,MAAe/L,kBAAkBxuE,MAAM06E,GAAc,QAAmBtI,IAE5F,GAAG,CAACA,KAGJ,IA0DIgB,GA1DAd,GAAcxB,GAAS9oE,EAAO+oE,GAC9Br3B,GAAqD,QAAxCwgC,EAAmB5H,GAAYjnE,WAAsC,IAArB6uE,EAA8BA,EAAmBzI,EAG9G0B,GAAe39D,OAAOkkC,IAAa,EACnC64B,GAAcD,GAAYlB,SAASa,GACnCO,KAAiB94B,IAAa64B,GAAc74B,GAG5Ci5B,GAAgB,SAAuB/sE,EAAGgtE,GAC5C,IAAIG,EAAWH,GACVb,EAAe3/E,SAAWkgF,GAAYU,iBAAmBV,GAAYjnE,KAAOinE,GAAYlB,SAASwB,GAAgBN,GAAYjnE,KAI5HunE,KAHJG,EAAWT,GAAYU,gBAAgBJ,EAAc,CACnDvnE,IAAKinE,GAAYjnE,QAGjBgnE,GAAa,CAACkI,KAAcjM,gBAAkB,EAAGiM,KAAchM,cAAgB,IAGnFvjD,EAAS+nD,GACTtE,GAAgB7oE,EAAEC,cAAeD,EAAGsb,EAAU6xD,EAChD,EAoCIzC,GAAarB,EAEbqD,GAAYrB,OAEZmC,GADEd,GAAYnB,cACFmB,GAAYnB,cAAc,CACpCl/E,MAAOggF,EACPjqE,MAAOuqE,GACPd,UAAW/3B,KAGD,GAAGlkD,OAAO+8E,IAAa/8E,OAAO29E,GAAe,MAAM39E,OAAOkkD,IAAa,IAErF42B,GAA0B,kBAAoB,aAAgB,KAAMA,GAAyB,kBAAoB,OAAQ,CACvH95E,UAAW,IAAK,GAAGhB,OAAOe,EAAW,eAAgBsyD,aAA+C,EAASA,EAAW7gD,OACxH3M,MAAO6jB,aAAuC,EAASA,EAAOlX,OAC7DorE,MAEL,IAOIuH,IAAkB5C,IAAahH,IAAcjS,EACjD,OAAoB,kBAAoB,GAAW,CACjDztE,IAAKgwB,EACLpvB,MAAOggF,EACPnT,WAAYA,EACZuQ,YAlCgB,SAAqBzpE,GACrColB,EAAS,IACTrJ,KACA8sD,GAAgB8L,KAAe30E,EAAGsb,EACpC,EA+BE+tD,OAAQqB,GACR/5E,UAAWA,EACXsyD,YAAY,QAAc,OAAc,CAAC,EAAGA,GAAa,CAAC,EAAG,CAC3D4mB,aAAc,IAAK5mB,aAA+C,EAASA,EAAW4mB,cAAc,QAAgB,OAAgB,CAAC,EAAG,GAAGj6E,OAAOe,EAAW,eAAgBw6E,GAAY,GAAGv7E,OAAOe,EAAW,yBAA0BuoE,MAE1Oh+C,SAAUA,EACVsuD,QAASA,EACT54E,UAAW,IAAKA,EAAWg8E,IAAgB,GAAGh9E,OAAOe,EAAW,kBAChE8E,OAAO,QAAc,OAAc,CAAC,EAAGA,GAAQ++E,IAAoBO,GAAiB,CAClFz3E,OAAQ,QACN,CAAC,GACLosE,UAAW,CACTG,aAAc,CACZ,aAAmC,iBAAd2D,GAAyBA,QAAYthF,IAG9DiX,OAAQA,EACRm0D,SAAUA,EACVqS,QAASA,GACK,kBAAoB,IAAmB,OAAS,CAAC,EAAGtmB,EAAM,CACxE8uB,SAAUA,EACVtG,UAAWA,EACXt7C,UAzEkB,SAAuBvwB,GAC3B,UAAVA,EAAEvS,KAAmBk+E,GACvBA,EAAa3rE,GAEfuwB,SAA8CA,EAAUvwB,EAC1D,EAqEEsb,SA7EqB,SAA0Btb,GAC/C+sE,GAAc/sE,EAAGA,EAAEyH,OAAOpb,MAC5B,EA4EEmkC,QArEgB,SAAqBxwB,GACrCksE,GAAW,GACX17C,SAA0CA,EAAQxwB,EACpD,EAmEEksD,OAlEe,SAAoBlsD,GACnCksE,GAAW,GACXhgB,SAAwCA,EAAOlsD,EACjD,EAgEE+rE,mBAzF+B,SAAoC/rE,GACnEmsE,EAAe3/E,SAAU,EACzBu/E,SAAgEA,EAAmB/rE,EACrF,EAuFEgsE,iBAtF6B,SAAkChsE,GAC/DmsE,EAAe3/E,SAAU,EACzBugF,GAAc/sE,EAAGA,EAAEC,cAAc5T,OACjC2/E,SAA4DA,EAAiBhsE,EAC/E,EAmFEpP,UAAW,IAAKqyD,aAA+C,EAASA,EAAW+xB,UACnFv/E,OAAO,QAAc,OAAc,CAAC,EAAG6jB,aAAuC,EAASA,EAAO07D,UAAW,CAAC,EAAG,CAC3GxW,OAAQ/oE,aAAqC,EAASA,EAAM+oE,SAE9DtjD,SAAUA,EACVvqB,UAAWA,EACXolB,SA/CiB,SAAsBtd,GACvC,IAAIw8E,EACJl/D,SAA4CA,EAAStd,GACb,QAAnCw8E,EAAgBN,YAA6C,IAAlBM,GAA4BA,EAAcx/E,MAAM6H,QAC9Fm3E,GAAmB,EAEvB,EA0CEhpF,IAAKipF,EACLpd,SAAUA,KAEd,IACA,MCjOA,GDiOA,GE1MA,MAAM,IAAwB,IAAAt8C,aAAW,CAACxvB,EAAOC,KAC/C,IAAIk2B,EAAIwnB,EACR,MACIx4C,UAAWyyB,EAAkB,SAC7Bq1C,GAAW,EACXhgE,KAAMkqD,EACNznC,SAAU0nC,EACVkW,OAAQC,EAAY,WACpBG,EACAjW,WAAYwC,EAAO,cACnBpiC,EAAa,UACbzyB,EAAS,MACT6E,EAAK,OACL6jB,EACAkmC,QAAS2uB,GACP3iF,EACJ63D,EAvCgC,SAAU7/B,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAgCW,CAAOj4B,EAAO,CAAC,YAAa,WAAY,OAAQ,WAAY,SAAU,aAAc,aAAc,gBAAiB,YAAa,QAAS,SAAU,aAOtJ,aACJ+2B,EAAY,UACZxsB,EAAS,SACTy8E,GACE,aAAiB,OAEflmB,GAAa,EAAArH,GAAA,GAAQtC,GAErBznC,EAAW,aAAiBkJ,GAAA,GAC5BC,EAAiBu+B,QAAuDA,EAAiB1nC,GAG7F49C,OAAQuB,EAAa,YACrBC,EAAW,aACXC,GACE,aAAiB,OACfC,GAAe,QAAgBH,EAAetB,GAE9CtN,EAAW,SAAa,MAC9B,sBAA0BhgE,GAAK,KAC7B,IAAIk2B,EACJ,MAAO,CACLkzD,kBAA+C,QAA3BlzD,EAAK8pC,EAASj/D,eAA4B,IAAPm1B,OAAgB,EAASA,EAAGkzD,kBACnF94D,MAAOnU,IACL,IAAI+Z,EAAIwnB,EACR4/B,GAA0G,QAA5F5/B,EAAiC,QAA3BxnB,EAAK8pC,EAASj/D,eAA4B,IAAPm1B,OAAgB,EAASA,EAAGkzD,yBAAsC,IAAP1rC,OAAgB,EAASA,EAAGqpC,SAAU5qE,EAAO,EAEjKsU,KAAM,KACJ,IAAIyF,EACJ,OAAmC,QAA3BA,EAAK8pC,EAASj/D,eAA4B,IAAPm1B,OAAgB,EAASA,EAAGzF,MAAM,EAEhF,IAEH,MAAMvrB,EAAY4xB,EAAa,QAASa,GAElCuB,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,EAAQoC,GAAa,GAASn0B,EAAWg0B,IACrD66B,EAASoa,IAAoB,QAAW,WAAYuU,EAAe1V,GACpEqC,EAAmB,GAAc5B,QAA+CA,EAAasZ,aAA2C,EAASA,EAAStZ,YAChK,OAAOr0C,EAAwB,gBAAoB,GAAYrM,OAAO2J,OAAO,CAC3EupD,aAAc8G,aAA2C,EAASA,EAAS9G,cAC1EroB,EAAM,CACP5tD,MAAO+iB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGqwD,aAA2C,EAASA,EAAS/8E,OAAQA,GAC5G6jB,OAAQd,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGqwD,aAA2C,EAASA,EAASl5D,QAASA,GAC9G4B,SAAUmJ,EACV60C,WAAY4B,EACZlqE,UAAW,IAAWk0B,EAAWH,EAAS/zB,EAAWyyB,EAAemvD,aAA2C,EAASA,EAAS5hF,WACjIqyD,WAAYzqC,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGsjC,GAAU+sB,aAA2C,EAASA,EAASvvB,YAAa,CAC5I+xB,SAAU,IAAW,CACnB,CAAC,GAAGrkF,QAAgC,UAAf27D,EACrB,CAAC,GAAG37D,QAAgC,UAAf27D,GACpB5pC,EAAQ+iC,aAAyC,EAASA,EAAQuvB,SAA6F,QAAlFrzD,EAAK6wD,aAA2C,EAASA,EAASvvB,kBAA+B,IAAPthC,OAAgB,EAASA,EAAGqzD,UACtMx1B,QAAS,IAAW,CAClB,CAAC,GAAG7uD,KAAa6uD,KAAYoa,IAC5B,QAAoBjpE,EAAW6pE,IAClCqP,aAAc,IAAW,GAAGl5E,2BAAoC,CAC9D,CAAC,GAAGA,uBAA8C,QAAdoF,EACpC,CAAC,GAAGpF,sBAA8C,UAAf27D,EACnC,CAAC,GAAG37D,sBAA8C,UAAf27D,EACnC,CAAC,GAAG37D,yBAAkCnF,EAAM2/E,YAAqC,QAAtBhiC,EAAK39C,EAAM4W,aAA0B,IAAP+mC,OAAgB,EAASA,EAAGkiC,OACpH3oD,KAEL/xB,UAAWA,EACX04E,OAAQ/O,GAA4B,gBAAoB,OAAQ,CAC9D1pE,UAAW,GAAGD,qBACb4pE,GACH9uE,IAAKggE,KACH,IAEN,MC7GM,GAAQ,GACd,GAAMrlC,MCAQ56B,IACZ,MAAM,aACJ+2B,EAAY,UACZxsB,IACE,IAAAysB,YAAW,QAEb7xB,UAAWyyB,EAAkB,UAC7BxyB,GACEpF,EACEmF,EAAY4xB,EAAa,cAAea,GACxC0tD,EAAiBvuD,EAAa,UAC7BsC,EAAYnC,GAAU,GAASouD,GAChCz1E,EAAM,IAAW1K,EAAW,CAChC,CAAC,GAAGA,QAAgC,UAAfnF,EAAMiN,KAC3B,CAAC,GAAG9H,QAAgC,UAAfnF,EAAMiN,KAC3B,CAAC,GAAG9H,aAAsBnF,EAAM0pF,QAChC,CAAC,GAAGvkF,SAAgC,QAAdoF,GACrB2sB,EAAQ9xB,GACLukF,GAAkB,IAAA3yD,YAAW,OAC7B4yD,GAAuB,IAAAt0E,UAAQ,IAAM0X,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGgzD,GAAkB,CAC3FjxD,iBAAiB,KACf,CAACixD,IAKL,OAAOtwD,EAAwB,gBAAoB,OAAQ,CACzDj0B,UAAWyK,EACX5F,MAAOjK,EAAMiK,MACbf,aAAclJ,EAAMkJ,aACpBI,aAActJ,EAAMsJ,aACpB07B,QAAShlC,EAAMglC,QACf07B,OAAQ1gE,EAAM0gE,QACA,gBAAoB,MAAqB//D,SAAU,CACjEE,MAAO+oF,GACN5pF,EAAMc,WAAW,EDlCtB,GAAM+kF,OAAS,GACf,GAAMgD,SAAW,GACjB,GAAM5D,SAAW,GACjB,GAAM4E,IAAM,GACZ,YEcA,GAvBqB7pF,IACnB,MAAM,MACJa,EAAK,aACLipF,EAAY,eACZC,EAAc,OACdzkB,EAAM,SACNx1C,GACE9vB,EACJ,OAAK8pF,EAGe,gBAAoB,MAAO,CAC7C1kF,UAAW,GAAG2kF,4BACA,gBAAoB,GAAO,CACzClhC,OAAqB,gBAAoBs9B,GAAA,EAAgB,MACzDkC,YAAa/iB,EAAO0kB,wBACpBl6D,SAAUA,EACVjvB,MAAOA,EAEPu/E,SAAU,EACVh7E,UAAW,GAAG2kF,oCAXP,IAYN,ECtBChlD,GAAY57B,IAChB,MAAM,QACJ40B,GACE50B,EACA40B,IAAYhD,GAAA,EAAQmG,OACtB/3B,EAAMwG,iBACR,EAWF,GAT+C,cAAiB,CAAC3P,EAAOC,IAAsB,gBAAoB,MAAO,CACvHmF,UAAWpF,EAAMoF,UACjBiJ,QAASmG,GAAKA,EAAE7E,kBAChBo1B,UAAWA,GACX9kC,IAAKA,GACJD,EAAMc,YCIF,SAASmpF,GAAYC,GAC1B,IAAIpmF,EAAO,GAWX,OAVComF,GAAW,IAAI1oF,SAAQZ,IACtB,IAAI,MACFC,EAAK,SACLC,GACEF,EACJkD,EAAKO,KAAKxD,GACNC,IACFgD,EAAO,GAAGM,QAAO,QAAmBN,IAAO,QAAmBmmF,GAAYnpF,KAC5E,IAEKgD,CACT,CASA,SAASqmF,GAAmBC,EAAapzB,GACvC,OAAoB,iBAATA,GAAqC,iBAATA,KAC9BA,aAAmC,EAASA,EAAKrtD,WAAW62B,cAAchoB,SAAS4xE,EAAYzhC,OAAOnoB,eAGjH,CACA,SAAS6pD,GAAkB5lF,GACzB,IAAI,QACFylF,EAAO,UACP/kF,EAAS,aACTmlF,EAAY,eACZC,EAAc,YACdH,EAAW,aACXN,GACErlF,EACJ,OAAOylF,EAAQh9E,KAAI,CAACqJ,EAAQ7Q,KAC1B,MAAMzD,EAAMulE,OAAOjxD,EAAO1V,OAC1B,GAAI0V,EAAOzV,SACT,MAAO,CACLmB,IAAKA,GAAOyD,EACZ+zB,MAAOljB,EAAOygD,KACdx4B,eAAgB,GAAGr5B,qBACnBrE,SAAUupF,GAAkB,CAC1BH,QAAS3zE,EAAOzV,SAChBqE,YACAmlF,eACAC,iBACAH,cACAN,kBAIN,MAAM/mF,EAAYwnF,EAAiB,GAAW,GACxCp9E,EAAO,CACXlL,SAAsBvB,IAAjB6V,EAAO1V,MAAsBoB,EAAMyD,EACxC+zB,MAAqB,gBAAoB,WAAgB,KAAmB,gBAAoB12B,EAAW,CACzG0sB,QAAS66D,EAAa9xE,SAASvW,KAChB,gBAAoB,OAAQ,KAAMsU,EAAOygD,QAE5D,OAAIozB,EAAYzhC,OACc,mBAAjBmhC,EACFA,EAAaM,EAAa7zE,GAAUpJ,EAAO,KAE7Cg9E,GAAmBC,EAAa7zE,EAAOygD,MAAQ7pD,EAAO,KAExDA,CAAI,GAEf,CACA,SAASq9E,GAAmB1mF,GAC1B,OAAOA,GAAQ,EACjB,CACA,MA0XA,GA1XuB9D,IACrB,IAAIm2B,EAAIwnB,EAAIC,EAAI0R,EAChB,MAAM,eACJy6B,EAAc,UACd5kF,EAAS,OACTpB,EAAM,kBACN0mF,EAAiB,UACjBj5E,EAAS,cACTk5E,EAAa,eACbH,EAAc,WACdI,EAAa,OAAM,aACnBb,GAAe,EAAK,YACpBc,EAAW,cACXC,EAAa,OACbvlB,EAAM,SACNxkE,EAAQ,kBACRy7B,EAAiB,cACjB1E,GACE73B,GACE,kCACJ8qF,EAAiC,qBACjCC,EAAoB,oBACpBC,EAAsB,CAAC,EAAC,mBAExBC,EAAkB,sBAClBC,EAAqB,8BACrBC,EAA6B,2BAC7BC,GACErnF,GACG+xB,EAASuvD,GAAc,YAAe,GACvCgG,KAAcT,KAAqD,QAAnCz0D,EAAKy0D,EAAYN,oBAAiC,IAAPn0D,OAAgB,EAASA,EAAG1qB,UAAWm/E,EAAYU,eAC9HtuD,EAAiBO,IACrB,IAAIpH,EACJkvD,EAAW9nD,GACiC,QAA3CpH,EAAK60D,EAAoB/gD,oBAAiC,IAAP9T,GAAyBA,EAAG9sB,KAAK2hF,EAAqBztD,GAE1G6tD,SAAwFA,EAA2B7tD,GACnH4tD,SAA8FA,EAA8B5tD,EAAW,EAWnIL,EAA6K,QAA5JoyB,EAAoG,QAA9F1R,EAAyC,QAAnCD,EAAKqtC,EAAoB/hD,YAAyB,IAAP0U,EAAgBA,EAAKstC,SAAuC,IAAPrtC,EAAgBA,EAAKstC,SAA0C,IAAP57B,EAAgBA,EAAKx5B,EAE1My1D,EAAmBX,aAAiD,EAASA,EAAYN,cACxFkB,EAAqBC,GC/If,SAAsBC,GACnC,MAAMzrF,EAAM,SAAayrF,GACnBtpF,EAAcm/D,KACpB,MAAO,CAAC,IAAMthE,EAAIe,QAASq5B,IACzBp6B,EAAIe,QAAUq5B,EAEdj4B,GAAa,EAEjB,CDuIqDupF,CAAanB,GAAmBe,IAC7EK,EAAehnF,IACnB,IAAI,aACFygC,GACEzgC,EACJ6mF,EAAoBpmD,EAAa,EAE7BwmD,EAAU,CAAC/nF,EAAMsmB,KACrB,IAAI,KACF5S,EAAI,QACJiY,GACErF,EAMFwhE,EALGrB,EAKU,CACXllD,aAAcvhC,GALH,CACXuhC,aAAc5V,GAAWjY,EAAKvV,IAAM,CAACuV,EAAKvV,KAAO,IAMrD,EAEF,aAAgB,KACT6zB,GAGL81D,EAAa,CACXvmD,aAAcmlD,GAAmBe,IACjC,GACD,CAACA,IAEJ,MAAOxhD,EAAU+hD,GAAe,WAAe,IACzC7hD,EAAenmC,IACnBgoF,EAAYhoF,EAAK,GAGZsmF,EAAa2B,GAAkB,WAAe,IAC/ChG,EAAWvxE,IACf,MAAM,MACJ3T,GACE2T,EAAEyH,OACN8vE,EAAelrF,EAAM,EAGvB,aAAgB,KACTi1B,GACHi2D,EAAe,GACjB,GACC,CAACj2D,IAEJ,MAAMk2D,EAAwBloF,IAC5B,MAAMmoF,GAAcnoF,aAAmC,EAASA,EAAK2H,QAAU3H,EAAO,KACtF,OAAmB,OAAfmoF,GAAyBrB,GAAgBA,EAAYN,cAGrD,EAAA5nF,EAAA,GAAQupF,EAAYrB,aAAiD,EAASA,EAAYN,cAAc,GACnG,UAETO,EAAc,CACZ9mF,SACA9B,IAAKuP,EACL84E,aAAc2B,IARP,IASP,EAEEC,EAAY,KAChBlvD,GAAe,GACfgvD,EAAsBR,IAAsB,EAExCW,EAAU,WACd,IAAI,QACFC,EAAO,cACPC,GACE59E,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,CACtE29E,SAAS,EACTC,eAAe,GAEbD,GACFJ,EAAsB,IAEpBK,GACFrvD,GAAe,GAEjB+uD,EAAe,IAEbN,EADEX,GACmBC,GAAwB,IAAI79E,KAAIjL,GAAOulE,OAAOvlE,KAE/C,GAExB,EAyBMqqF,EAAoB,IAAW,CACnC,CAAC,GAAG7B,2BAhOYP,EAgO2CnmF,EAAOmmF,SAAW,IA/NxEA,EAAQ79E,MAAKnK,IAClB,IAAI,SACFpB,GACEoB,EACJ,OAAOpB,CAAQ,OALnB,IAAoBopF,EAkOlB,MAAMqC,EAAa/3E,IACjB,GAAIA,EAAEyH,OAAOwT,QAAS,CACpB,MAAM+8D,EAAgBvC,GAAYlmF,aAAuC,EAASA,EAAOmmF,SAASh9E,KAAIjL,GAAOulE,OAAOvlE,KACpHwpF,EAAoBe,EACtB,MACEf,EAAoB,GACtB,EAEIgB,EAAcC,IAClB,IAAI,QACFxC,GACEwC,EACJ,OAAQxC,GAAW,IAAIh9E,KAAI,CAACqJ,EAAQ7Q,KAClC,MAAMzD,EAAMulE,OAAOjxD,EAAO1V,OACpBsM,EAAO,CACX3D,MAAO+M,EAAOygD,KACd/0D,SAAsBvB,IAAjB6V,EAAO1V,MAAsBoB,EAAMulE,OAAO9hE,IAOjD,OALI6Q,EAAOzV,WACTqM,EAAKrM,SAAW2rF,EAAY,CAC1BvC,QAAS3zE,EAAOzV,YAGbqM,CAAI,GACX,EAEEw/E,EAAgBn1E,IACpB,IAAI2e,EACJ,OAAOnJ,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGnf,GAAO,CAC5Cw/C,KAAMx/C,EAAKhO,MACX3I,MAAO2W,EAAKvV,IACZnB,UAAoC,QAAxBq1B,EAAK3e,EAAK1W,gBAA6B,IAAPq1B,OAAgB,EAASA,EAAGjpB,KAAIC,GAAQw/E,EAAcx/E,OAAW,IAC7G,EAEJ,IAAIy/E,GACJ,MAAM,UACJriF,GAAS,YACTujE,IACE,aAAiB,OACrB,GAAqC,mBAA1B/pE,EAAO8oF,eAChBD,GAAkB7oF,EAAO8oF,eAAe,CACtC1nF,UAAW,GAAGslF,WACdqC,gBAAiBznD,GAAgBumD,EAAa,CAC5CvmD,aAAcA,IAEhBA,aAAcmmD,IACdY,QAzEa,WACf,IAAI,cACFC,GACE59E,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,CACtE49E,eAAe,GAEbA,GACFrvD,GAAe,GAEjBgvD,EAAsBR,IACxB,EAgEIuB,aAAcZ,EACdjC,QAASnmF,EAAOmmF,QAChBp0D,QAASoH,EACT8vD,MAAO,KACLhwD,GAAe,EAAM,SAGpB,GAAIj5B,EAAO8oF,eAChBD,GAAkB7oF,EAAO8oF,mBACpB,CACL,MAAMxnD,EAAemmD,KAAyB,GACxCyB,EAAqB,KACzB,IAAI92D,EACJ,MAAM+2D,EAAyG,QAAhG/2D,EAAK23C,cAAiD,EAASA,GAAY,uBAAoC,IAAP33C,EAAgBA,EAAmB,gBAAoB,KAAO,CACnLg3D,MAAO,KAAMC,uBACbC,YAAa/nB,EAAOgoB,gBACpBC,WAAY,CACVz7E,OAAQ,IAEV7H,MAAO,CACL+xC,OAAQ,EACRpqC,QAAS,YAGb,GAAsC,KAAjC7N,EAAOmmF,SAAW,IAAIz+E,OACzB,OAAOyhF,EAET,GAAmB,SAAfvC,EACF,OAAoB,gBAAoB,WAAgB,KAAmB,gBAAoB,GAAc,CAC3Gb,aAAcA,EACdjpF,MAAOupF,EACPt6D,SAAUi2D,EACVgE,eAAgBA,EAChBzkB,OAAQA,IACO,gBAAoB,MAAO,CAC1ClgE,UAAW,GAAG2kF,0BACbQ,EAA+B,gBAAoB,GAAU,CAC9D96D,QAAS4V,EAAa55B,SAAWw+E,GAAYlmF,EAAOmmF,SAASz+E,OAC7DqsB,cAAeuN,EAAa55B,OAAS,GAAK45B,EAAa55B,OAASw+E,GAAYlmF,EAAOmmF,SAASz+E,OAC5FrG,UAAW,GAAG2kF,6BACdj6D,SAAUy8D,GACTjnB,EAAOkoB,gBAAmB,KAAmB,gBAAoB,KAAM,CACxEC,WAAW,EACXvgD,YAAY,EACZwgD,WAAW,EACXtgD,SAAUm9C,EACVoD,eAAgBpD,EAChBnlF,UAAW,GAAGqlF,SACdoB,QAASA,EACT+B,YAAavoD,EACbA,aAAcA,EACdwoD,UAAU,EACVC,SAAUrB,EAAY,CACpBvC,QAASnmF,EAAOmmF,UAElB6D,kBAAkB,EAClBC,kBAAkB,EAClBC,eAAgB7D,EAAYzhC,OAASnxC,GACP,mBAAjBsyE,EACFA,EAAaM,EAAauC,EAAcn1E,IAE1C2yE,GAAmBC,EAAa5yE,EAAKhO,YAC1C9I,MAGR,MAAMwrC,EAAQm+C,GAAkB,CAC9BH,QAASnmF,EAAOmmF,SAAW,GAC3BJ,eACA3kF,YACAmlF,aAAckB,IACdjB,iBACAH,gBAEIt7E,EAAUo9B,EAAMphC,OAAMqC,GAAiB,OAATA,IACpC,OAAoB,gBAAoB,WAAgB,KAAmB,gBAAoB,GAAc,CAC3G28E,aAAcA,EACdjpF,MAAOupF,EACPt6D,SAAUi2D,EACVgE,eAAgBA,EAChBzkB,OAAQA,IACNx2D,EAAUo+E,EAAsB,gBAAoB,GAAM,CAC5DhgD,YAAY,EACZE,SAAUm9C,EACVplF,UAAW,GAAGslF,SACdrlF,UAAWknF,EACXh/C,SAAUs+C,EACVr+C,WAAYq+C,EACZvmD,aAAcA,EACd9I,kBAAmBA,EACnBwN,SAAUA,EACVE,aAAcA,EACdiC,MAAOA,IACL,EAEAgiD,EAAmB,IACnBpD,GACK,EAAApoF,EAAA,IAASqoF,GAAwB,IAAI79E,KAAIjL,GAAOulE,OAAOvlE,KAAOojC,GAAc,GAEtD,IAAxBA,EAAa55B,OAEtBmhF,GAA+B,gBAAoB,WAAgB,KAAMK,IAAmC,gBAAoB,MAAO,CACrI7nF,UAAW,GAAGD,mBACA,gBAAoB,GAAQ,CAC1CyhB,KAAM,OACN3Z,KAAM,QACNyiB,SAAUw+D,IACV7/E,QAAS,IAAM89E,KACd7mB,EAAO6oB,aAA2B,gBAAoB,GAAQ,CAC/DvnE,KAAM,UACN3Z,KAAM,QACNoB,QAAS69E,GACR5mB,EAAO8oB,gBACZ,CAEIrqF,EAAO8oF,iBACTD,GAA+B,gBAAoBn2C,GAAkB,CACnEvJ,gBAAYxsC,GACXksF,KAELA,GAA+B,gBAAoB,GAA2B,CAC5ExnF,UAAW,GAAGD,cACbynF,IACH,MAoBMyB,GAAsB,GAAc,CACxC/rF,QAAS,CAAC,SACV85B,UAAyB,QAAd7xB,GAAsB,aAAe,cAChDzJ,SAvByB,MACzB,IAAIwtF,EAQJ,OANEA,EAD+B,mBAAtBvqF,EAAOuqF,WACHvqF,EAAOuqF,WAAWjD,GACtBtnF,EAAOuqF,WACHvqF,EAAOuqF,WAEM,gBAAoB,GAAc,MAE1C,gBAAoB,OAAQ,CAC9CxpD,KAAM,SACNjE,UAAW,EACXz7B,UAAW,IAAW,GAAGD,YAAqB,CAC5Ck+B,OAAQgoD,IAEVh9E,QAASmG,IACPA,EAAE7E,iBAAiB,GAEpB2+E,EAAW,EAKJC,GACVhyD,qBACCvP,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGq0D,GAAsB,CACvDnzD,cAAe,IAAWA,EAAemzD,EAAoBnzD,eAC7DoR,KAAM/L,EACN+M,aArNsB,CAAC1M,EAAYlP,KACf,YAAhBA,EAAK+2B,SACH7nB,QAAmC78B,IAArB6qF,GAEhBE,EAAoBjB,GAAmBe,IAEzCvuD,EAAeO,GACVA,GAAex5B,EAAO8oF,iBAAkBnC,GAC3CwB,IAEJ,EA4MAxnC,eAAgB,IACgH,mBAAlHsmC,aAAiE,EAASA,EAAoBtmC,gBACjGsmC,EAAoBtmC,eAAekoC,IAErCA,MAGX,OAAoB,gBAAoB,MAAO,CAC7CxnF,UAAW,GAAGD,YACA,gBAAoB,OAAQ,CAC1CC,UAAW,GAAG2kF,kBACbjpF,GAAwB,gBAAoB,GAAUksB,OAAO2J,OAAO,CAAC,EAAG03D,KAAsB,EE/c7FG,GAAsB,CAAC5qF,EAAS6qF,EAAM9R,KAC1C,IAAI+R,EAAe,GA+BnB,OA9BC9qF,GAAW,IAAIpC,SAAQ,CAACuC,EAAQ2B,KAC/B,IAAIywB,EACJ,MAAMw4D,EAAYjS,GAAah3E,EAAOi3E,GACtC,GAAI54E,EAAOmmF,SAAW,mBAAoBnmF,GAAU,aAAcA,EAChE,GAAI,kBAAmBA,EAAQ,CAE7B,IAAI6qF,EAAiB7qF,EAAO8qF,cACtB,mBAAoB9qF,IACxB6qF,EAAuH,QAArGz4D,EAAKy4D,aAAuD,EAASA,EAAe1hF,IAAIs6D,eAA4B,IAAPrxC,EAAgBA,EAAKy4D,GAEtJF,EAAarqF,KAAK,CAChBN,SACA9B,IAAKu6E,GAAaz4E,EAAQ4qF,GAC1BrE,aAAcsE,EACdtD,cAAevnF,EAAOsnF,UAE1B,MAEEqD,EAAarqF,KAAK,CAChBN,SACA9B,IAAKu6E,GAAaz4E,EAAQ4qF,GAC1BrE,aAAcmE,GAAQ1qF,EAAOgnF,qBAAuBhnF,EAAOgnF,0BAAuBrqF,EAClF4qF,cAAevnF,EAAOsnF,WAIxB,aAActnF,IAChB2qF,EAAe,GAAGtqF,QAAO,QAAmBsqF,IAAe,QAAmBF,GAAoBzqF,EAAOjD,SAAU2tF,EAAME,KAC3H,IAEKD,CAAY,EAErB,SAASI,GAAa3pF,EAAWslF,EAAmB7mF,EAAS8qF,EAAcppB,EAAQulB,EAAetuD,EAAmBogD,EAAK9kD,GACxH,OAAOj0B,EAAQsJ,KAAI,CAACnJ,EAAQ2B,KAC1B,MAAMipF,EAAYjS,GAAah3E,EAAOi3E,IAChC,cACJ+N,GAAgB,EAAI,eACpBH,GAAiB,EAAI,WACrBI,EAAU,aACVb,GACE/lF,EACJ,IAAIgrF,EAAYhrF,EAChB,GAAIgrF,EAAU7E,SAAW6E,EAAUlC,eAAgB,CACjD,MAAMr7E,EAAYgrE,GAAauS,EAAWJ,GACpC/D,EAAc8D,EAAah9C,MAAK9wC,IACpC,IAAI,IACFqB,GACErB,EACJ,OAAO4Q,IAAcvP,CAAG,IAE1B8sF,EAAY/hE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGo4D,GAAY,CACtDvlF,MAAOwlF,GAA6B,gBAAoB,GAAgB,CACtEjF,eAAgB5kF,EAChBA,UAAW,GAAGA,WACdslF,kBAAmBA,EACnB1mF,OAAQgrF,EACRv9E,UAAWA,EACXo5E,YAAaA,EACbF,cAAeA,EACfH,eAAgBA,EAChBI,WAAYA,EACZb,aAAcA,EACde,cAAeA,EACfvlB,OAAQA,EACR/oC,kBAAmBA,EACnB1E,cAAeA,GACd+kD,GAAkB74E,EAAOyF,MAAOwlF,KAEvC,CAMA,MALI,aAAcD,IAChBA,EAAY/hE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGo4D,GAAY,CACtDjuF,SAAUguF,GAAa3pF,EAAWslF,EAAmBsE,EAAUjuF,SAAU4tF,EAAcppB,EAAQulB,EAAetuD,EAAmBoyD,EAAW92D,MAGzIk3D,CAAS,GAEpB,CACA,MAAME,GAAqBP,IACzB,MAAMQ,EAAiB,CAAC,EAqBxB,OApBAR,EAAaltF,SAAQU,IACnB,IAAI,IACFD,EAAG,aACHqoF,EAAY,OACZvmF,GACE7B,EACJ,MAAMitF,EAAcltF,GACd,QACJioF,EAAO,eACP2C,GACE9oF,EACJ,GAAI8oF,EACFqC,EAAeC,GAAe7E,GAAgB,UACzC,GAAIxoF,MAAMC,QAAQuoF,GAAe,CACtC,MAAMxmF,EAAOmmF,GAAYC,GACzBgF,EAAeC,GAAerrF,EAAKyS,QAAO64E,GAAa9E,EAAa9xE,SAASgvD,OAAO4nB,KACtF,MACEF,EAAeC,GAAe,IAChC,IAEKD,CAAc,EAEVvC,GAAgB,CAAC3lF,EAAM0nF,EAAchiF,IAC5BgiF,EAAah4E,QAAO,CAAC24E,EAAazE,KACpD,MACE7mF,QAAQ,SACNurF,EAAQ,QACRpF,GACD,aACDI,GACEM,EACJ,OAAI0E,GAAYhF,GAAgBA,EAAa7+E,OACpC4jF,EAENniF,KAAI5H,GAAU0nB,OAAO2J,OAAO,CAAC,EAAGrxB,KAASiR,QAAOjR,GAAUglF,EAAaj+E,MAAKpK,IAC3E,MAAM6B,EAAOmmF,GAAYC,GACnBqF,EAAWzrF,EAAK4V,WAAU84B,GAAKg1B,OAAOh1B,KAAOg1B,OAAOvlE,KACpDutF,GAAwB,IAAdD,EAAkBzrF,EAAKyrF,GAAYttF,EAKnD,OAHIqD,EAAOoH,KACTpH,EAAOoH,GAAsBigF,GAAcrnF,EAAOoH,GAAqBgiF,EAAchiF,IAEhF4iF,EAASE,EAASlqF,EAAO,MAG7B+pF,CAAW,GACjBroF,GAGCyoF,GAAmBC,GAAoBA,EAAiBC,SAAQ5rF,GAChE,aAAcA,EACT,CAACA,GAAQK,QAAO,QAAmBqrF,GAAiB1rF,EAAOjD,UAAY,MAEzE,CAACiD,KAoEV,GAlEkB/D,IAChB,MAAM,UACJmF,EAAS,kBACTslF,EACAxxE,cAAey2E,EAAgB,eAC/BE,EAAc,kBACdrzD,EACA+oC,OAAQuqB,EAAW,cACnBh4D,GACE73B,EAEEiZ,IADU,SAAc,SACR,WAAc,IAAMw2E,GAAiBC,GAAoB,KAAK,CAACA,MAC9EhB,EAAcoB,GAAmB,YAAe,IAAMtB,GAAoBv1E,GAAe,KAC1F82E,EAAqB,WAAc,KACvC,MAAMC,EAAkBxB,GAAoBv1E,GAAe,GAC3D,GAA+B,IAA3B+2E,EAAgBvkF,OAClB,OAAOukF,EAET,IAAIC,GAAiC,EACjCC,GAA8B,EAYlC,GAXAF,EAAgBxuF,SAAQiD,IACtB,IAAI,aACF6lF,GACE7lF,OACiB/D,IAAjB4pF,EACF2F,GAAiC,EAEjCC,GAA8B,CAChC,IAGED,EAAgC,CAElC,MAAME,GAAWl3E,GAAiB,IAAI/L,KAAI,CAACnJ,EAAQ2B,IAAU82E,GAAaz4E,EAAQ24E,GAAah3E,MAC/F,OAAOgpF,EAAan4E,QAAO5R,IACzB,IAAI,IACF1C,GACE0C,EACJ,OAAOwrF,EAAQ33E,SAASvW,EAAI,IAC3BiL,KAAIC,IACL,MAAMpC,EAAMkO,EAAck3E,EAAQz2E,WAAUzX,GAAOA,IAAQkL,EAAKlL,OAChE,OAAO+qB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGxpB,GAAO,CAC5CpJ,OAAQipB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGxpB,EAAKpJ,QAASgH,GACtDugF,cAAevgF,EAAIsgF,UACnB,GAEN,CAEA,OAAO2E,CAAe,GACrB,CAAC/2E,EAAey1E,IACbxE,EAAU,WAAc,IAAM+E,GAAmBc,IAAqB,CAACA,IACvElF,EAAgBD,IACpB,MAAMwF,EAAkBL,EAAmBx5E,QAAO3R,IAChD,IAAI,IACF3C,GACE2C,EACJ,OAAO3C,IAAQ2oF,EAAY3oF,GAAG,IAEhCmuF,EAAgB/rF,KAAKumF,GACrBkF,EAAgBM,GAChBR,EAAeX,GAAmBmB,GAAkBA,EAAgB,EAGtE,MAAO,CADkBC,GAAgBvB,GAAa3pF,EAAWslF,EAAmB4F,EAAcN,EAAoBF,EAAahF,EAAetuD,OAAmB77B,EAAWm3B,GACtJk4D,EAAoB7F,EAAQ,ECpMjD,MAAMoG,GAAoB,GAwDjC,GAzCA,SAAuB35E,EAAOmZ,EAAUymD,GACtC,MAAMpgD,EAAKogD,GAAoC,iBAAfA,EAA0BA,EAAa,CAAC,GAEpE5/D,MAAO45E,EAAkB,GACvBp6D,EACJq6D,EA9BgC,SAAUx4D,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,CAuBoB,CAAO9B,EAAI,CAAC,WACvBs6D,EAAiBC,IAAsB,IAAAv1E,WAAS,KAAM,CAC3Dna,QAAS,mBAAoBwvF,EAAgBA,EAActoB,eAAiB,EAC5E1C,SAAU,oBAAqBgrB,EAAgBA,EAAcloB,gBAAkBgoB,OAG3EK,EAAmB,GAAcF,EAAiBD,EAAe,CACrE75E,MAAO45E,EAAkB,EAAIA,EAAkB55E,IAG3Ci6E,EAAU52E,KAAKq2D,MAAMkgB,GAAmB55E,GAASg6E,EAAiBnrB,UACpEmrB,EAAiB3vF,QAAU4vF,IAE7BD,EAAiB3vF,QAAU4vF,GAAW,GAExC,MAAMC,EAAoB,CAAC7vF,EAASwkE,KAClCkrB,EAAmB,CACjB1vF,QAASA,QAAyCA,EAAU,EAC5DwkE,SAAUA,GAAYmrB,EAAiBnrB,UACvC,EAUJ,OAAmB,IAAf+Q,EACK,CAAC,CAAC,EAAG,QAEP,CAACvpD,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGg6D,GAAmB,CACzD7gE,SAZuB,CAAC9uB,EAASwkE,KACjC,IAAIrvC,EACAogD,IAC6B,QAA9BpgD,EAAKogD,EAAWzmD,gBAA6B,IAAPqG,GAAyBA,EAAG9sB,KAAKktE,EAAYv1E,EAASwkE,IAE/FqrB,EAAkB7vF,EAASwkE,GAC3B11C,EAAS9uB,EAASwkE,IAAamrB,aAA2D,EAASA,EAAiBnrB,UAAU,IAO5HqrB,EACN,EC/DA,GADwB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,yHAA6H,KAAQ,aAAc,MAAS,YCM3T,IAAI,GAAoB,SAA2B7wF,EAAOC,GACxD,OAAoB,gBAAoBC,GAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,KAEV,EAOA,SAJ2B,aAAiB,ICb5C,GADsB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,0HAA8H,KAAQ,WAAY,MAAS,YCMxT,IAAI,GAAkB,SAAyBJ,EAAOC,GACpD,OAAoB,gBAAoBC,GAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,KAEV,EAOA,SAJ2B,aAAiB,ICLtC0wF,GAAS,SACTC,GAAU,UACVC,GAAsBjtF,GACG,iBAAlBA,EAAOktF,QAAyD,iBAA3BltF,EAAOktF,OAAO7jD,UACrDrpC,EAAOktF,OAAO7jD,SAInB8jD,GAAkBD,GACA,mBAAXA,EACFA,KAELA,GAA4B,iBAAXA,IAAuBA,EAAOE,UAC1CF,EAAOE,QAUZC,GAAoB,CAACxtF,EAAS6qF,EAAM9R,KACxC,IAAI0U,EAAa,GACjB,MAAMC,EAAY,CAACvtF,EAAQ4qF,KACzB0C,EAAWhtF,KAAK,CACdN,SACA9B,IAAKu6E,GAAaz4E,EAAQ4qF,GAC1B4C,iBAAkBP,GAAoBjtF,GACtCytF,UAAWztF,EAAOytF,WAClB,EAyBJ,OAvBC5tF,GAAW,IAAIpC,SAAQ,CAACuC,EAAQ2B,KAC/B,MAAMipF,EAAYjS,GAAah3E,EAAOi3E,GAClC54E,EAAOjD,UACL,cAAeiD,GAEjButF,EAAUvtF,EAAQ4qF,GAEpB0C,EAAa,GAAGjtF,QAAO,QAAmBitF,IAAa,QAAmBD,GAAkBrtF,EAAOjD,SAAU2tF,EAAME,MAC1G5qF,EAAOktF,SACZ,cAAeltF,EAEjButF,EAAUvtF,EAAQ4qF,GACTF,GAAQ1qF,EAAO0tF,kBAExBJ,EAAWhtF,KAAK,CACdN,SACA9B,IAAKu6E,GAAaz4E,EAAQ4qF,GAC1B4C,iBAAkBP,GAAoBjtF,GACtCytF,UAAWztF,EAAO0tF,mBAGxB,IAEKJ,CAAU,EAEbK,GAAe,CAACvsF,EAAWvB,EAAS+tF,EAAcC,EAAeC,EAAuBhC,EAAaiC,EAAwBnV,KACjI,MAAMzjE,GAAgBtV,GAAW,IAAIsJ,KAAI,CAACnJ,EAAQ2B,KAChD,MAAMipF,EAAYjS,GAAah3E,EAAOi3E,GACtC,IAAIoS,EAAYhrF,EAChB,GAAIgrF,EAAUkC,OAAQ,CACpB,MAAMc,EAAiBhD,EAAUgD,gBAAkBF,EAC7CG,OAAoDtxF,IAAhCquF,EAAUiD,kBAAkCF,EAAyB/C,EAAUiD,kBACnGxgF,EAAYgrE,GAAauS,EAAWJ,GACpCsD,EAAcN,EAAajgD,MAAK9wC,IACpC,IAAI,IACFqB,GACErB,EACJ,OAAOqB,IAAQuP,CAAS,IAEpBggF,EAAYS,EAAcA,EAAYT,UAAY,KAClDU,EAxDc,EAACH,EAAgB/wF,IACpCA,EAGE+wF,EAAeA,EAAen5E,QAAQ5X,GAAW,GAF/C+wF,EAAe,GAsDEI,CAAkBJ,EAAgBP,GACxD,IAAIP,EACJ,GAAIltF,EAAOquF,SACTnB,EAASltF,EAAOquF,SAAS,CACvBZ,kBAEG,CACL,MAAMa,EAASN,EAAev5E,SAASs4E,KAAyB,gBAAoB,GAAiB,CACnG1rF,UAAW,IAAW,GAAGD,qBAA8B,CACrDk+B,OAAQmuD,IAAcV,OAGpBwB,EAAWP,EAAev5E,SAASu4E,KAA0B,gBAAoB,GAAmB,CACxG3rF,UAAW,IAAW,GAAGD,uBAAgC,CACvDk+B,OAAQmuD,IAAcT,OAG1BE,EAAsB,gBAAoB,OAAQ,CAChD7rF,UAAW,IAAW,GAAGD,kBAA2B,CAClD,CAAC,GAAGA,2BAAoCktF,IAAUC,MAEtC,gBAAoB,OAAQ,CAC1CltF,UAAW,GAAGD,wBACd,cAAe,QACdktF,EAAQC,GACb,CACA,MAAM,WACJC,EAAU,WACVC,EAAU,YACVC,GACE5C,GAAe,CAAC,EACpB,IAAI6C,EAAUH,EACVL,IAAkBnB,GACpB2B,EAAUD,EACDP,IAAkBpB,KAC3B4B,EAAUF,GAEZ,MAAMt8C,EAA4C,iBAAtB87C,EAAiChlE,OAAO2J,OAAO,CACzEntB,MAAOkpF,GACNV,GAAqB,CACtBxoF,MAAOkpF,GAET3D,EAAY/hE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGo4D,GAAY,CACtD3pF,UAAW,IAAW2pF,EAAU3pF,UAAW,CACzC,CAAC,GAAGD,iBAA0BqsF,IAEhChoF,MAAOwlF,IACL,MAAM2D,EAAqB,GAAGxtF,mBACxBytF,EAAwC,gBAAoB,OAAQ,CACxExtF,UAAW,GAAGD,kBACby3E,GAAkB74E,EAAOyF,MAAOwlF,IAC7B6D,EAA+B,gBAAoB,MAAO,CAC9DztF,UAAWutF,GACVC,EAA0B3B,GAC7B,OAAIe,EAC+B,kBAAtBA,GAAwI,iBAApGA,aAA6D,EAASA,EAAkB/1E,QACjH,gBAAoB,MAAO,CAC7C7W,UAAW,GAAGutF,KAAsBxtF,0CACnCytF,EAAuC,gBAAoB,KAAS5lE,OAAO2J,OAAO,CAAC,EAAGuf,GAAe+6C,IAEtF,gBAAoB,KAASjkE,OAAO2J,OAAO,CAAC,EAAGuf,GAAe28C,GAE7EA,CAAe,EAExBz9E,aAAcrK,IACZ,IAAIorB,EACJ,MAAMjgB,GAAuC,QAA9BigB,EAAKpyB,EAAOqR,oBAAiC,IAAP+gB,OAAgB,EAASA,EAAG9sB,KAAKtF,EAAQgH,KAAS,CAAC,EAClG+nF,EAAgB58E,EAAK7H,QACrB0kF,EAAiB78E,EAAK6uB,UAC5B7uB,EAAK7H,QAAUlF,IACbyoF,EAAc,CACZ7tF,SACA9B,IAAKuP,EACLggF,UAAWU,EACXX,iBAAkBP,GAAoBjtF,KAExC+uF,SAA8DA,EAAc3pF,EAAM,EAEpF+M,EAAK6uB,UAAY57B,IACXA,EAAM40B,UAAYhD,GAAA,EAAQmG,QAC5B0wD,EAAc,CACZ7tF,SACA9B,IAAKuP,EACLggF,UAAWU,EACXX,iBAAkBP,GAAoBjtF,KAExCgvF,SAAgEA,EAAe5pF,GACjF,EAEF,MAAM6pF,EvCnJe,EAACxpF,EAAOxJ,KACrC,MAAMwhC,EAAMo7C,GAAkBpzE,EuCkJ4B,CAAC,GvCjJ3D,MAA4C,oBAAxCwjB,OAAOmL,UAAUxuB,SAASN,KAAKm4B,GAC1B,GAEFA,CAAG,EuC8IkByxD,CAAgBlvF,EAAOyF,OACrC0pF,EAAeF,aAAiD,EAASA,EAAYrpF,WAY3F,OAVI6nF,EACFt7E,EAAK,aAA6B,WAAds7E,EAAyB,YAAc,aAE3Dt7E,EAAK,cAAgBg9E,GAAgB,GAEvCh9E,EAAK9Q,UAAY,IAAW8Q,EAAK9Q,UAAW,GAAGD,wBAC/C+Q,EAAK2qB,SAAW,EACZ98B,EAAOkB,WACTiR,EAAK1M,OAASwpF,QAAiDA,EAAc,IAAIrpF,YAE5EuM,CAAI,GAGjB,CAMA,MALI,aAAc64E,IAChBA,EAAY/hE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGo4D,GAAY,CACtDjuF,SAAU4wF,GAAavsF,EAAW4pF,EAAUjuF,SAAU6wF,EAAcC,EAAeC,EAAuBhC,EAAaiC,EAAwBnD,MAG5II,CAAS,IAElB,OAAO71E,CAAY,EAEfi6E,GAAclB,IAClB,MAAM,OACJluF,EAAM,UACNytF,GACES,EACJ,MAAO,CACLluF,SACAqvF,MAAO5B,EACP6B,MAAOtvF,EAAOE,UACduN,UAAWzN,EAAO9B,IACnB,EAEGqxF,GAAqB3B,IACzB,MAAM4B,EAAgB5B,EAAap7E,QAAOrU,IACxC,IAAI,UACFsvF,GACEtvF,EACJ,OAAOsvF,CAAS,IACftkF,IAAIimF,IAGP,GAA6B,IAAzBI,EAAc9nF,QAAgBkmF,EAAalmF,OAAQ,CACrD,MAAM+uD,EAAYm3B,EAAalmF,OAAS,EACxC,OAAOuhB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGw8D,GAAYxB,EAAan3B,KAAc,CAC5Ez2D,YAAQrD,EACR0yF,WAAO1yF,EACP2yF,WAAO3yF,EACP8Q,eAAW9Q,GAEf,CACA,OAAI6yF,EAAc9nF,QAAU,EACnB8nF,EAAc,IAAM,CAAC,EAEvBA,CAAa,EAETC,GAAc,CAACxsF,EAAMqqF,EAAY3kF,KAC5C,MAAM+mF,EAAoBpC,EAAW/4E,QAAQgiB,MAAK,CAACC,EAAGC,IAAMA,EAAE+2D,iBAAmBh3D,EAAEg3D,mBAC7EmC,EAAY1sF,EAAKsR,QACjBq7E,EAAiBF,EAAkBl9E,QAAO9R,IAC9C,IACEV,QAAQ,OACNktF,GACD,UACDO,GACE/sF,EACJ,OAAOysF,GAAgBD,IAAWO,CAAS,IAG7C,OAAKmC,EAAeloF,OAGbioF,EAAUp5D,MAAK,CAACs5D,EAASC,KAC9B,IAAK,IAAI9mF,EAAI,EAAGA,EAAI4mF,EAAeloF,OAAQsB,GAAK,EAAG,CACjD,MAAMklF,EAAc0B,EAAe5mF,IAEjChJ,QAAQ,OACNktF,GACD,UACDO,GACES,EACE6B,EAAY5C,GAAgBD,GAClC,GAAI6C,GAAatC,EAAW,CAC1B,MAAMuC,EAAgBD,EAAUF,EAASC,EAASrC,GAClD,GAAsB,IAAlBuC,EACF,OAAOvC,IAAcV,GAASiD,GAAiBA,CAEnD,CACF,CACA,OAAO,CAAC,IACP7mF,KAAI5H,IACL,MAAM0uF,EAAa1uF,EAAOoH,GAC1B,OAAIsnF,EACKhnE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGrxB,GAAS,CAC9C,CAACoH,GAAqB8mF,GAAYQ,EAAY3C,EAAY3kF,KAGvDpH,CAAM,IA3BNouF,CA4BP,ECjREO,GAAY,CAACrwF,EAASswF,IACLtwF,EAAQsJ,KAAInJ,IAC/B,MAAMowF,EAAcnnE,OAAO2J,OAAO,CAAC,EAAG5yB,GAKtC,OAJAowF,EAAY3qF,MAAQozE,GAAkB74E,EAAOyF,MAAO0qF,GAChD,aAAcC,IAChBA,EAAYrzF,SAAWmzF,GAAUE,EAAYrzF,SAAUozF,IAElDC,CAAW,ICMtB,GATgBtpE,IAAS,CAACvjB,EAAMC,KAC9B,MACE6sF,aAAcC,GACZ/sF,GAEF8sF,aAAcE,GACZ/sF,EACJ,OAAO8sF,IAAoBC,CAAe,ICE5C,GATuBhlE,IAAgB,CAAChoB,EAAMC,KAC5C,MACE6sF,aAAcC,GACZ/sF,GAEF8sF,aAAcE,GACZ/sF,EACJ,OAAO8sF,IAAoBC,CAAe,IC6H5C,GAzIyBtjE,IACvB,MAAM,aACJC,EAAY,UACZ+lB,EAAS,SACTC,EAAQ,iBACRs9C,EAAgB,cAChBC,EAAa,qBACbC,EAAoB,uBACpBC,EAAsB,KACtBh9C,GACE1mB,EACE2jE,EAAc,IAAG,SAAK39C,MAAcC,KAAYs9C,IAChDK,EAAqB,CAAC3nF,EAAM4nF,EAAiBC,KAAsB,CACvE,CAAC,IAAI7jE,KAAgBhkB,KAAS,CAC5B,CAAC,KAAKgkB,eAA2B,CAC/B,CAAC,KAAKA,gBAA2BA,UAAsB,CACrD,8FAGI,CACF,CAAC,KAAKA,wBAAoC,CACxC+qB,OAAQ,IAAG,SAAKtE,EAAKm9C,GAAiBj9C,KAAK,GAAGC,4BAC5C,SAAKH,EAAKA,EAAKo9C,GAAmBzyF,IAAI20C,IAAYY,KAAK,GAAGC,kBAOxE,MAAO,CACL,CAAC,GAAG5mB,aAAyB,CAC3B,CAAC,GAAGA,IAAeA,cAA0BjE,OAAO2J,OAAO3J,OAAO2J,OAAO3J,OAAO2J,OAAO,CAErF,CAAC,KAAK1F,WAAuB,CAC3Bpf,OAAQ8iF,EACRv9C,aAAc,GAGhB,CAAC,KAAKnmB,eAA2B,CAC/BssC,kBAAmBo3B,EACnBliB,UAAWkiB,EACX,CAAC,mBACK1jE,6BACAA,4BACAA,0BACAA,yBACF,CACF,UAAW,CAET,0OAOI,CACF8oB,gBAAiB46C,GAGnB,UAAW,CACT,6BAA8B,CAC5Bv9C,aAAcu9C,GAEhB,oBAAqB,CACnB//D,gBAAiB,2BAIrB,+GAII,CACF,CAAC,KAAK3D,iCAA6C,CACjD8oB,gBAAiB46C,IAIrB,0FAGI,CACF,CAAC,KAAK1jE,wBAAoC,CACxC+qB,OAAQ,IAAG,SAAKtE,EAAK+8C,GAAsB78C,KAAK,GAAGC,aAAY,SAAKH,EAAKA,EAAKg9C,GAAwBryF,IAAI20C,IAAYY,KAAK,GAAGC,WAC9H,WAAY,CACV5vC,SAAU,WACV2N,IAAK,EACLqkC,eAAgBjD,EAChBnhC,OAAQ,EACRkkC,gBAAiB46C,EACjBr9C,QAAS,WAQrB,CAAC,IAAIrmB,uBAAmC,CACtC,CAAC,KAAKA,iBAA4BA,UAAsB,CACtD,kBAAmB,CACjB,CAAC,yBACOA,wCACAA,iCACJ,CACF,aAAc,CACZ8oB,gBAAiB,QAM1B66C,EAAmB,SAAU5jE,EAAM+jE,2BAA4B/jE,EAAMgkE,+BAAgCJ,EAAmB,QAAS5jE,EAAMikE,0BAA2BjkE,EAAMkkE,8BAA+B,CAExM,CAAC,KAAKjkE,YAAwB,CAC5Bpf,OAAQ8iF,EACRliB,UAAW,KAIf,CAAC,GAAGxhD,UAAsB,CACxB,CAAC,GAAGA,2BAAuC,CAEzCwhD,UAAW,GAGb,6BAA8B,CAC5BnhD,UAAW,MAAK,SAAK0lB,SAAgB,SAAKA,MAAcw9C,MAG5D,CAAC,GAAGvjE,cAAyBA,oBAAgC,CAC3D8oB,gBAAiB46C,IAGtB,EC1GH,GA7ByB3jE,IACvB,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,aAAyB,CAC3B,CAAC,GAAGA,mBAA+BjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG,OAAe,CAChFw+D,UAAW,WAEX,CAAC,gBACIlkE,qCACAA,oCACD,CACF3hB,SAAU,UACV,CAAC,GAAG2hB,kBAA8B,CAChC1hB,QAAS,QACTD,SAAU,SACVorC,aAAc,aAGlB,CAAC,GAAGzpB,kBAA8B,CAChC3hB,SAAU,SACVorC,aAAc,WACdy6C,UAAW,eAIlB,ECRH,GAnBsBnkE,IACpB,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,aAAyB,CAC3B,CAAC,GAAGA,eAA0BA,iBAA6B,CACzDlnB,UAAW,SACXsnB,MAAOL,EAAM8sB,kBACb,+DAGI,CACF3sB,WAAYH,EAAMktB,oBAIzB,ECuGH,GAvHuBltB,IACrB,MAAM,aACJC,EAAY,OACZyrB,EAAM,mBACNhrB,EAAkB,UAClBslB,EAAS,UACTqE,EAAS,SACTpE,EAAQ,iBACRs9C,EAAgB,kBAChBa,EAAiB,uBACjBC,EAAsB,aACtBxhE,EAAY,qBACZ4gE,EAAoB,uBACpBC,EAAsB,mBACtBY,EAAkB,WAClBlxC,EAAU,oBACVmxC,EAAmB,eACnBC,EAAc,oBACdC,EAAmB,gBACnBC,EAAe,KACfh+C,GACE1mB,EACE2jE,EAAc,IAAG,SAAK39C,MAAcC,KAAYs9C,IAChDoB,EAAuBj+C,EAAK0M,GAAYT,IAAI3M,GAAWa,QAC7D,MAAO,CACL,CAAC,GAAG5mB,aAAyB,CAC3B,CAAC,GAAGA,qBAAiC,CACnC5hB,MAAOgmF,GAET,CAAC,GAAGpkE,0BAAsC,CACxClnB,UAAW,SACX,CAAC,GAAGknB,qBAAiC,CACnC1hB,QAAS,cACT6jE,MAAO,OACP77B,cAAe,QAGnB,CAAC,GAAGtmB,gBAA4B,CAC9Bnf,OAAQ,EACRshE,MAAO,QAET,CAAC,GAAGniD,qBAAiCjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAc3F,IAAS,CAC1F/oB,SAAU,WACVmrE,MAAO,OACP/jE,MAAOmmF,EACP1jF,OAAQ0jF,EACRnkE,MAAO,UACP8lB,YAAY,SAAKq+C,GACjBrkE,WAAYikE,EACZvjF,OAAQ8iF,EACR9gE,eACA9T,UAAW,SAAS21E,KACpB,6BAA8B,CAC5B/gE,YAAa,gBAEf,sBAAuB,CACrB1sB,SAAU,WACVkpB,WAAY,eACZK,WAAY,aAAaE,aACzB4lB,QAAS,MAEX,YAAa,CACX1hC,IAAK6/E,EACLx7C,eAAgB07C,EAChB75C,iBAAkB65C,EAClB7jF,OAAQklC,GAEV,WAAY,CACVphC,IAAK+/E,EACL9/E,OAAQ8/E,EACR75C,iBAAkB25C,EAClBpmF,MAAO2nC,EACPj3B,UAAW,iBAGb,sBAAuB,CACrBA,UAAW,mBAEb,qBAAsB,CACpBA,UAAW,gBAEb,WAAY,CACV,sBAAuB,CACrBxQ,QAAS,OACT+nC,QAAS,QAEXnmB,WAAY,cACZtf,OAAQ,EACRiE,WAAY,YAGhB,CAAC,GAAGmb,kBAA6BA,qBAAiC,CAChEyoB,UAAW67C,EACXh5C,gBAAiBlB,GAEnB,CAAC,KAAKpqB,kBAA8B,CAClC,aAAc,CACZ,aAAc,CACZE,WAAYmkE,IAIhB,CAAC,GAAG54C,uBAA6B,CAC/BntC,QAAS,OACTqmF,MAAO,CACLhqE,KAAM,OACNvc,MAAO,UAKb,CAAC,GAAG4hB,wBAAoC,CACtChpB,SAAU,WACV+zC,OAAQ,IAAG,SAAKtE,EAAK+8C,GAAsB78C,KAAK,GAAGC,aAAY,SAAKH,EAAKg9C,GAAwB98C,KAAK,GAAGC,WACzGjmC,QAAS,IAAG,SAAK6iF,OAAyB,SAAKC,OAGpD,ECgCH,GArJuB1jE,IACrB,MAAM,aACJC,EAAY,OACZyrB,EAAM,QACN5B,EAAO,yBACP+6C,EAAwB,+BACxBC,EAA8B,WAC9B1xC,EAAU,UACV/I,EAAS,UACT2C,EAAS,UACThH,EAAS,SACTC,EAAQ,iBACRs9C,EAAgB,gBAChBwB,EAAe,WACf54C,EAAU,uBACVu3C,EAAsB,aACtB7gE,EAAY,mBACZnC,EAAkB,qBAClBusB,EAAoB,aACpB/sB,EAAY,0BACZ8kE,EAAyB,kBACzBl4C,EAAiB,sBACjBm4C,EAAqB,0BACrBC,EAAyB,mBACzBjyC,EAAkB,oBAClB3F,EAAmB,mBACnBhD,EAAkB,qBAClB66C,EAAoB,KACpBz+C,GACE1mB,EACEy5D,EAAoB,GAAG/tC,aACvB05C,EAA+B,GAAGnlE,oBAClColE,EAAgB,GAAG35C,SACnBi4C,EAAc,IAAG,SAAK39C,MAAcC,KAAYs9C,IACtD,MAAO,CAAC,CACN,CAAC,GAAGtjE,aAAyB,CAC3B,CAAC,GAAGA,mBAA+B,CACjC1hB,QAAS,OACTqjD,eAAgB,iBAElB,CAAC,GAAG3hC,oBAAgC,CAClChpB,SAAU,WACVsH,QAAS,OACTqsC,WAAY,SACZhB,YAAalD,EAAK0M,GAAYxM,KAAK,GAAGC,QACtC8C,aAAc,IAAG,SAAKyJ,OAAe,SAAK1M,EAAKg9C,GAAwB34C,IAAI,GAAGnE,KAAK,GAAGC,WACtFjmC,QAAS,MAAK,SAAKwyC,KACnB/yB,MAAO0kE,EACP/jF,SAAUmrC,EACVtpB,eACAwoB,OAAQ,UACR7qB,WAAY,OAAOE,IACnB,UAAW,CACTL,MAAO4sB,EACP9sB,WAAY6kE,GAEd,WAAY,CACV3kE,MAAOH,MAIZ,CAED,CAAC,GAAGwrB,cAAoB,CACtB,CAAC05C,GAA+BppE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAAS,CACtF3d,SAAUwiF,EACVjhE,gBAAiBqhE,EACjBpiE,eACAvC,UAAWgqB,EACXhsC,SAAU,SAEV,CAAC,GAAGm7E,UAA2B,CAG7B3jE,UAAWovE,EACXnvE,UAAW,SACXlV,OAAQ,EACRyf,UAAW,OACXuC,aAAc,QACde,gBAAiBuhE,EACjB,iBAAkB,CAChB5mF,QAAS,QACTqC,QAAS,IAAG,SAAKypC,OACjBhqB,MAAOysB,EACP9rC,SAAUmrC,EACVpzC,UAAW,SACXutC,QAAS,gBAGb,CAAC,GAAG8+C,UAAsC,CACxC9yC,aAAc,IAAG,SAAKjI,OACtB7D,cAAe6D,EACf,CAACg7C,GAAgB,CACfzkF,QAAS,GAEX,CAAC,GAAGykF,cAA0BA,gCAA6C,CACzEzhE,gBAAiBqvB,GAEnB,CAAC,GAAGoyC,+BAA2CA,0BAAuC,CACpF,aAAc,CACZzhE,gBAAiB0pB,KAIvB,CAAC,GAAG83C,YAAwC,CAC1CxkF,QAASypC,EACTjE,aAAcu9C,EACd,UAAW,CACT/jE,MAAO,CACLvd,SAAUyiF,GAEZ,CAACh7C,GAAU,CACTzpB,MAAOysB,KAIb,CAAC,GAAGs4C,cAA0C,CAC5C/mF,MAAO,OACPsqC,aAAcyK,EACd9H,kBAAmB8H,GAGrB,CAAC,GAAGgyC,UAAsC,CACxC7mF,QAAS,OACTqjD,eAAgB,gBAChBhhD,QAAS,IAAG,SAAK8lC,EAAK2D,GAAWsI,IAAI3M,GAAWa,aAAY,SAAKwD,KACjE/rC,SAAU,SACVmjE,UAAWkiB,OAMnB,CAEE,CAAC,GAAGj4C,cAAmB05C,MAAiCA,aAAyC,CAE/F,CAAC,GAAG15C,6BAAmC,CACrCb,mBAAoBR,EACpBhqB,MAAO2sB,GAET,OAAQ,CACNl3B,UAAW,sBACXC,UAAW,SACXF,UAAW,UAGf,EC7BJ,GAxHsBmK,IACpB,MAAM,aACJC,EAAY,UACZ+lB,EAAS,WACTD,EAAU,mBACVrlB,EAAkB,iBAClB4kE,EAAgB,QAChBC,EAAO,kBACPC,EAAiB,KACjB9+C,GACE1mB,EACEylE,EAAc1/C,EAEpB,MAAO,CACL,CAAC,GAAG9lB,aAAyB,CAC3B,CAAC,aACGA,6BACAA,4BACA,CACFhpB,SAAU,oBACVs1C,OAAQ+4C,EACRnlE,WAAYolE,GAEd,CAAC,aACGtlE,0CACAA,uCACA,CACFhpB,SAAU,WACV2N,IAAK,EACLzN,MAAO,CACLu7C,cAAc,EACd7iD,MAAO,GAETgV,OAAQ6hC,EAAKV,GAAWY,KAAK,GAAGC,QAChCxoC,MAAO,GACP0Q,UAAW,mBACXyR,WAAY,cAAcE,IAC1B4lB,QAAS,KACTxrB,cAAe,QAEjB,CAAC,GAAGmF,8BAA0C,CAC5C1hB,QAAS,QAEX,CAAC,aACG0hB,2CACAA,wCACA,CACFhpB,SAAU,WACV2N,IAAK,EACLC,OAAQ6hC,EAAKV,GAAWY,KAAK,GAAGC,QAChC3vC,KAAM,CACJw7C,cAAc,EACd7iD,MAAO,GAETwO,MAAO,GACP0Q,UAAW,oBACXyR,WAAY,cAAcE,IAC1B4lB,QAAS,KACTxrB,cAAe,QAEjB,CAAC,GAAGmF,eAA2B,CAC7BhpB,SAAU,WACV,sBAAuB,CACrBA,SAAU,WACV2N,IAAK,EACLC,OAAQ,EACR0nC,OAAQ7F,EAAK8+C,GAAmBn0F,IAAI,GAAGw1C,MAAM,CAC3CqmB,MAAM,IAER7uD,MAAO,GACPmiB,WAAY,cAAcE,IAC1B4lB,QAAS,KACTxrB,cAAe,QAEjB,YAAa,CACXgwB,iBAAkB,GAEpB,WAAY,CACV7B,eAAgB,IAGpB,CAAC,GAAGhpB,eAA2B,CAC7B,CAAC,SAASA,mBAA8BA,uBAAmC,CACzEK,UAAW,yBAAyBmlE,KAEtC,CAAC,eACGxlE,4CACAA,yCACA,CACFK,UAAW,yBAAyBmlE,KAEtC,CAAC,GAAGxlE,gCAA4C,CAC9C2D,gBAAiB,2BAGrB,CAAC,GAAG3D,gBAA4B,CAC9B,CAAC,SAASA,oBAA+BA,sBAAkC,CACzEK,UAAW,0BAA0BmlE,KAEvC,CAAC,eACGxlE,6CACAA,0CACA,CACFK,UAAW,0BAA0BmlE,MAIzC,CAAC,GAAGxlE,yBAAqC,CACvC,CAAC,aACCA,0CACAA,yCACAA,2CACAA,wCACA,CACAK,UAAW,UAIlB,ECrFH,GAhC2BN,IACzB,MAAM,aACJC,EAAY,OACZyrB,EAAM,OACNV,GACEhrB,EACJ,MAAO,CACL,CAAC,GAAGC,aAAyB,CAE3B,CAAC,GAAGA,eAA0ByrB,gBAAsB,CAClDV,OAAQ,IAAG,SAAKA,QAElB,CAAC,GAAG/qB,gBAA4B,CAC9B1hB,QAAS,OACT6sD,SAAU,OACVE,OAAQtrC,EAAMqqB,UACd,MAAO,CACLzvB,KAAM,QAER,SAAU,CACRgnC,eAAgB,cAElB,WAAY,CACVA,eAAgB,UAElB,UAAW,CACTA,eAAgB,cAIvB,ECcH,GA5CuB5hC,IACrB,MAAM,aACJC,EAAY,YACZylE,GACE1lE,EACJ,MAAO,CACL,CAAC,GAAGC,aAAyB,CAC3B,CAACA,GAAe,CAEd,CAAC,GAAGA,YAAuBA,YAAwB,CACjD4C,aAAc,IAAG,SAAK6iE,OAAgB,SAAKA,UAE7C,CAAC,GAAGzlE,aAAwBA,eAA2B,CACrD02B,uBAAwB,EACxBF,qBAAsB,EAEtB,CAAC,GAAGx2B,mBAA+B,CACjC4C,aAAc,GAEhB,iCAAkC,CAChC,+DAAgE,CAC9DA,aAAc,KAIpB,cAAe,CACb8zB,uBAAwB+uC,EACxBjvC,qBAAsBivC,EACtB,iCAAkC,CAChC,kBAAmB,CACjB/uC,uBAAwB+uC,GAE1B,iBAAkB,CAChBjvC,qBAAsBivC,KAI5B,WAAY,CACV7iE,aAAc,QAAO,SAAK6iE,OAAgB,SAAKA,QAItD,ECCH,GA5CiB1lE,IACf,MAAM,aACJC,GACED,EACJ,MAAO,CACL,CAAC,GAAGC,iBAA6B,CAC/B1mB,UAAW,MACXqrF,MAAO,CACLrrF,UAAW,OAEb,CAAC,GAAG0mB,qBAAiC,CACnC2hC,eAAgB,YAElB,CAAC,GAAG3hC,sBAAkC,CACpC2hC,eAAgB,cAElB,CAAC,GAAG3hC,qBAAiC,CACnCmiD,MAAO,QACP,WAAY,CACVrzD,UAAW,kBAEb,sBAAuB,CACrBA,UAAW,kBAEb,qBAAsB,CACpBA,UAAW,iBAGf,CAAC,GAAGkR,eAA2B,CAC7B,YAAa,CACX6qB,iBAAkB,QAClB7B,eAAgB,GAElB,WAAY,CACV6B,iBAAkB,EAClB7B,eAAgB,SAElB,CAAC,GAAGhpB,gBAA4B,CAC9BmiD,MAAO,WAId,ECoDH,GA7F0BpiD,IACxB,MAAM,aACJC,EAAY,OACZyrB,EAAM,QACN5B,EAAO,aACP0I,EAAY,QACZ5xC,EAAO,UACPypC,EAAS,gBACT06C,EAAe,qBACfY,EAAoB,0BACpBC,EAAyB,mBACzBC,EAAkB,wBAClBC,EAAuB,gBACvBC,EAAe,uBACfrC,EAAsB,KACtBh9C,GACE1mB,EACJ,MAAO,CACL,CAAC,GAAGC,aAAyB,CAE3B,CAAC,GAAGA,mBAA+B,CACjC5hB,MAAOunF,EACP,CAAC,IAAI3lE,iCAA6C,CAChD5hB,MAAOqoC,EAAKk/C,GAA2Bv0F,IAAImhD,GAAcnhD,IAAIq1C,EAAK9lC,GAASmqC,IAAI,IAAIlE,UAGvF,CAAC,GAAG5mB,cAAyBA,mBAA+B,CAC1D5hB,MAAOqoC,EAAKk/C,GAA2Bv0F,IAAIq1C,EAAK2D,GAAWzD,IAAI,IAAIC,QACnE,CAAC,IAAI5mB,iCAA6C,CAChD5hB,MAAOqoC,EAAKk/C,GAA2Bv0F,IAAImhD,GAAcnhD,IAAIq1C,EAAK9lC,GAASmqC,IAAI,IAAI15C,IAAIq1C,EAAK2D,GAAWzD,IAAI,IAAIC,UAGnH,CAAC,wBACc5mB,2CACAA,gCACXA,8BACA,CACF4pB,iBAAkB7pB,EAAMqqB,UACxBQ,mBAAoB7qB,EAAMqqB,UAC1BtxC,UAAW,SACX,CAAC,GAAG2yC,mBAAyB,CAC3BH,gBAAiB,IAGrB,CAAC,cAActrB,qBAAgCA,mBAA+B,CAC5EssB,OAAQ7F,EAAK1mB,EAAMslE,kBAAkBj0F,IAAI,GAAGw1C,MAAM,CAChDqmB,MAAM,KAGV,CAAC,cAAcjtC,6BAAyC,CACtD2D,gBAAiB,0BAEnB,CAAC,GAAG3D,eAA2B,CAC7BhpB,SAAU,WACVsH,QAAS,cACT0jD,cAAe,UAEjB,CAAC,GAAGhiC,qBAAiC,CACnChpB,SAAU,WACV2N,IAAK,EACL2nC,OAAQ,EACRlB,OAAQ,UACR7qB,WAAY,OAAOR,EAAMU,qBACzB4qB,kBAAmB,OACnBT,oBAAoB,SAAKnE,EAAKg9C,GAAwB34C,IAAI,GAAGlE,SAC7D,CAACiD,GAAU,CACTzpB,MAAO0kE,EACP/jF,SAAUwxC,EACVjM,cAAe,WACf,UAAW,CACTlmB,MAAOslE,KAKb,CAAC,GAAG1lE,WAAuB,CACzB,CAAC,GAAGA,SAAqB,CACvB,CAAC,IAAIA,kBAA8B,CACjC,CAAC,KAAKA,UAAsB,CAC1BE,WAAY0lE,EACZ,cAAe,CACb1lE,WAAY2lE,KAIlB,CAAC,KAAK7lE,oBAAgC,CACpCE,WAAY4lE,MAKrB,EC/CH,GA5CqB/lE,IACnB,MAAM,aACJC,EAAY,uBACZokE,EAAsB,KACtB39C,GACE1mB,EACEgmE,EAAe,CAAC/pF,EAAM4nF,EAAiBC,EAAmB9iF,KAAa,CAC3E,CAAC,GAAGif,IAAeA,KAAgBhkB,KAAS,CAC1C+E,WACA,CAAC,aACGif,qBACAA,sBACAA,oBACAA,+BACAA,+BACAA,iFAGA,CACFrf,QAAS,IAAG,SAAKijF,OAAoB,SAAKC,MAE5C,CAAC,GAAG7jE,oBAAgC,CAClCsrB,iBAAiB,SAAK7E,EAAKo9C,GAAmB/4C,IAAI,GAAGnE,KAAK,GAAGC,UAE/D,CAAC,GAAG5mB,wBAAoC,CACtC+qB,OAAQ,IAAG,SAAKtE,EAAKm9C,GAAiBj9C,KAAK,GAAGC,aAAY,SAAKH,EAAKo9C,GAAmBl9C,KAAK,GAAGC,YAEjG,CAAC,GAAG5mB,WAAuB,CAEzB,CAAC,GAAGA,wBAAmCA,KAAiB,CACtD2pB,aAAa,SAAKlD,EAAKm9C,GAAiBj9C,KAAK,GAAGC,SAChD8C,aAAc,IAAG,SAAKjD,EAAK29C,GAAwB1xC,IAAImxC,GAAmBj9C,aAAY,SAAKH,EAAKo9C,GAAmBl9C,KAAK,GAAGC,aAI/H,CAAC,GAAG5mB,qBAAiC,CACnC4qB,oBAAoB,SAAKnE,EAAKo9C,GAAmB/4C,IAAI,GAAGlE,aAI9D,MAAO,CACL,CAAC,GAAG5mB,aAAyBjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGqgE,EAAa,SAAUhmE,EAAM+jE,2BAA4B/jE,EAAMgkE,6BAA8BhkE,EAAMimE,sBAAuBD,EAAa,QAAShmE,EAAMikE,0BAA2BjkE,EAAMkkE,4BAA6BlkE,EAAMkmE,qBACxR,ECgDH,GA3FuBlmE,IACrB,MAAM,aACJC,EAAY,UACZwtB,EAAS,aACT+E,EAAY,gBACZuyC,EAAe,qBACfY,GACE3lE,EACJ,MAAO,CACL,CAAC,GAAGC,aAAyB,CAC3B,CAAC,GAAGA,aAAwBA,wBAAoC,CAC9DgsB,QAAS,OACTZ,OAAQ,UAGR7qB,WAAY,OAAOR,EAAMU,8BACzB,UAAW,CACTP,WAAYH,EAAMmmE,uBAClB,YAAa,CACXviE,gBAAiB,2BAGrB,kBAAmB,CACjBvD,MAAOL,EAAME,cAGf,CAAC,gBACID,sCACAA,oCACD,CACFE,WAAYH,EAAMomE,+BAGtB,CAAC,GAAGnmE,aAAwBA,iBAA6B,CACvDE,WAAYH,EAAMqmE,kBAClB,YAAa,CACXziE,gBAAiB,2BAGrB,CAAC,KAAK3D,iBAA6B,CACjCE,WAAYH,EAAMsmE,iBAEpB,CAAC,GAAGrmE,kBAA8B,CAChChpB,SAAU,WACVs1C,OAAQ,EACR3xB,KAAM,GAER,CAAC,GAAGqF,oBAAgC,CAClC1hB,QAAS,OACTqc,KAAM,OACNgwB,WAAY,SACZgX,eAAgB,gBAChB,WAAY,CACV3qD,SAAU,WACVm1C,MAAO,EACP/tC,MAAO,OACPyC,OAAQ,OACRwlC,QAAS,OAGb,CAAC,GAAGrmB,0CAAsD,CACxD,WAAY,CACVqmB,QAAS,SAGb,CAAC,GAAGrmB,mBAA+B,CACjCqrB,kBAAmBmC,EACnBptB,MAAO0kE,EACP/jF,SAAU,EACVwf,WAAY,SAASR,EAAMU,qBAC3B,UAAW,CACTniB,QAAS,cACT0jD,cAAe,SACfrX,WAAY,UAEd,eAAgB,CACd5pC,SAAUwxC,EACV,WAAY,CACVnyB,MAAOL,EAAME,eAGjB,CAAC,GAAGD,wBAAmCA,wBAAoC,CACzEyoB,UAAW,WAGf,CAAC,GAAGzoB,0BAAqCA,mBAA+B,CACtEI,MAAOslE,IAGZ,ECnCH,GArDuB3lE,IACrB,MAAM,aACJC,EAAY,eACZ8kC,EAAc,mBACdwhC,EAAkB,wBAClBC,EAAuB,qBACvBC,EAAoB,cACpBC,EAAa,kBACblB,EAAiB,4BACjBmB,EAA2B,UAC3B3gD,EAAS,SACTC,EAAQ,iBACRs9C,GACEvjE,EACE2jE,EAAc,IAAG,SAAK39C,MAAcC,KAAYs9C,IACtD,MAAO,CACL,CAAC,GAAGtjE,aAAyB,CAC3B,CAAC,GAAGA,YAAwB,CAC1B,WAAY,CACVhpB,SAAU,SACVs1C,OAAQi5C,EACRrlE,WAAYH,EAAMktB,kBAEpB,WAAY,CACVj2C,SAAU,SACV4N,OAAQ,EACR/D,OAAQ,IAAG,SAAK2lF,gBAChBl6C,OAAQi5C,EACRjnF,QAAS,OACTqsC,WAAY,SACZzqB,WAAYumE,EACZjlB,UAAWkiB,EACXpjE,QAASwkC,EACT,UAAW,CACTpe,gBAAiB,iBAGnB,QAAS,CACP7lC,OAAQ2lF,EACR7iE,gBAAiB2iE,EACjB1jE,aAAc8jE,EACdnmE,WAAY,OAAOR,EAAMU,qCACzBzpB,SAAU,WACV4N,OAAQ,EACR,oBAAqB,CACnB+e,gBAAiB4iE,OAM5B,ECzBH,GA1BwBxmE,IACtB,MAAM,aACJC,EAAY,UACZ+lB,EAAS,iBACTu9C,EAAgB,KAChB78C,GACE1mB,EACE2jE,EAAc,IAAG,SAAK39C,MAAchmB,EAAMimB,YAAYs9C,IAC5D,MAAO,CACL,CAAC,GAAGtjE,aAAyB,CAC3B,CAAC,GAAGA,aAAyB,CAC3BhpB,SAAU,WACVs1C,OAAQvsB,EAAMslE,iBACdnlE,WAAYH,EAAMulE,QAClB,OAAQ,CACN,aAAc,CACZn/C,aAAcu9C,KAIpB,CAAC,MAAM1jE,aAAyB,CAC9BK,UAAW,MAAK,SAAKomB,EAAKV,GAAWY,KAAK,GAAGC,cAAc08C,MAGhE,EC+CH,GAvEwBvjE,IACtB,MAAM,aACJC,EAAY,kBACZynB,EAAiB,UACjB1B,EAAS,SACTC,EAAQ,iBACRs9C,EAAgB,KAChB78C,GACE1mB,EACE2jE,EAAc,IAAG,SAAK39C,MAAcC,KAAYs9C,IAChDnoE,EAAa,GAAG6E,sBACtB,MAAO,CACL,CAAC,GAAGA,aAAyB,CAE3B,CAAC,GAAGA,mBAA+B,CACjC,CAAC,GAAGA,gCAA4C,CAC9C,CAAC,qBACOA,oCACQA,YAAuBA,qBACnC,CACF1hB,QAAS,OACT6hB,UAAW,aACX/hB,MAAO,SAGX,CAAC,GAAG4hB,UAAsB,CACxBmmB,aAAcu9C,EACdnjE,WAAY,cAAcknB,KAE5B,CAAC,GAAGznB,kBAA8B,CAChC,CAAC,GAAG7E,IAAaA,WAAqB,CACpCnkB,SAAU,SACV6zC,iBAAkB,EAClBxsC,SAAU,SACVD,MAAO,gCAA+B,SAAK2nC,MAC3C+C,gBAAiB,UAKvB,CAAC,GAAG9oB,cAA0B,CAC5B,CAAC,GAAGA,mBAA+B,CACjC,UAAW,CACTqmB,QAAS,KACTsC,YAAa,EACb/jC,OAAQ,EACRuhC,aAAcu9C,EACd1sF,SAAU,YAEZ,CAAC,GAAGgpB,UAAsB,CACxB8oB,gBAAiB46C,EACjB,CAAC,IAAI1jE,iCAA6C,CAChDqmB,QAAS,KACTrvC,SAAU,WACV+xC,WAAY,EACZ8B,iBAAkBpE,EAAKV,GAAWY,KAAK,GAAGC,QAC1C0lB,kBAAmBo3B,KAKzB,CAAC,IAAI1jE,aAAyB,CAC5B,CAAC,GAAGA,iBAA4BA,UAAsB,CACpD8oB,gBAAiB46C,EACjBv9C,aAAcu9C,MAKvB,ECnDGiD,GAAgB5mE,IACpB,MAAM,aACJC,EAAY,iBACZ4kD,EAAgB,qBAChB4e,EAAoB,uBACpBC,EAAsB,uBACtBW,EAAsB,UACtBr+C,EAAS,SACTC,EAAQ,iBACRs9C,EAAgB,cAChBsD,EAAa,QACbtB,EAAO,YACPG,EAAW,qBACXoB,EAAoB,kBACpBp/C,EAAiB,cACjB87C,EAAa,0BACbuD,EAAyB,qBACzBC,EAAoB,cACpBC,EAAa,KACbvgD,GACE1mB,EACE2jE,EAAc,IAAG,SAAK39C,MAAcC,KAAYs9C,IACtD,MAAO,CACL,CAAC,GAAGtjE,aAAyBjE,OAAO2J,OAAO3J,OAAO2J,OAAO,CACvD0gB,MAAO,OACPy7B,SAAU,SACT,YAAa,CACd,CAAC7hD,GAAejE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,SAAe3F,IAAS,CACtEhf,SAAU6lF,EACV1mE,WAAYolE,EACZ1iE,aAAc,IAAG,SAAK6iE,OAAgB,SAAKA,SAE3CwB,eAAgB,GAAGlnE,EAAMumE,sBAAsBvmE,EAAM0mE,kBAGvD9B,MAAO,CACLvmF,MAAO,OACPtF,UAAW,QACX8pB,aAAc,IAAG,SAAK6iE,OAAgB,SAAKA,SAC3CxjB,eAAgB,WAChBC,cAAe,GAGjB,CAAC,eACKliD,sBACAA,iCACAA,iCACAA,uFAGA,CACJhpB,SAAU,WACV2J,QAAS,IAAG,SAAK6iF,OAAyB,SAAKC,KAC/CyD,aAAc,cAGhB,CAAC,GAAGlnE,WAAuB,CACzBrf,QAAS,IAAG,SAAK6iF,OAAyB,SAAKC,MAGjD,CAAC,GAAGzjE,WAAuB,CACzB,wDAGI,CACFhpB,SAAU,WACVopB,MAAOymE,EACP9zC,WAAY6xB,EACZ9rE,UAAW,QACXonB,WAAYqjE,EACZp9C,aAAcu9C,EACdnjE,WAAY,cAAcknB,SAC1B,gCAAiC,CAC/B3uC,UAAW,UAEb,CAAC,0BAA0BknB,2BAAsCA,kDAA8D,CAC7HhpB,SAAU,WACV2N,IAAK,MACLqkC,eAAgB,EAChB5qC,MAAO,EACPyC,OAAQ,QACR8iB,gBAAiBmjE,EACjBh4E,UAAW,mBACXyR,WAAY,oBAAoBknB,IAChCpB,QAAS,OAGb,sCAAuC,CACrCF,aAAc,IAIlB,CAAC,GAAGnmB,WAAuB,CACzB,OAAQ,CACN,aAAc,CACZO,WAAY,cAAcknB,mBAAmCA,IAC7DtB,aAAcu9C,EAEd,CAAC,qBACK1jE,0CACAA,0BAAqCA,sCACvC,CACF,CAACA,GAAe,CACd2pB,aAAa,SAAKlD,EAAK+8C,GAAsB78C,KAAK,GAAGC,SACrD8C,aAAc,IAAG,SAAKjD,EAAK29C,GAAwB1xC,IAAI+wC,GAAwB78C,8BAC7E,SAAKH,EAAKg9C,GAAwB98C,KAAK,GAAGC,WAC5C,CAAC,GAAG5mB,gCAA4C,CAC9CmmB,aAAc,EACd,8BAA+B,CAC7BvjB,aAAc,OAMxB,OAAQ,CACN5rB,SAAU,WACVopB,MAAOymE,EACP9zC,WAAY6xB,EACZ9rE,UAAW,QACXonB,WAAYqjE,EACZp9C,aAAcu9C,EACdnjE,WAAY,cAAcknB,YAKhC,CAAC,GAAGznB,YAAwB,CAC1Brf,QAAS,IAAG,SAAK6iF,OAAyB,SAAKC,KAC/CrjE,MAAO2mE,EACP7mE,WAAY8mE,KAGjB,EA4EH,IAAe,SAAc,SAASjnE,IACpC,MAAM,iBACJonE,EAAgB,WAChBrhD,EAAU,iBACVmH,EACAm6C,uBAAwBC,EAAY,SACpCC,EAAQ,YACRC,EAAW,mBACXC,EAAkB,kBAClBC,EAAiB,WACjBC,EAAU,WACVC,EAAU,cACVC,EAAa,mBACbC,EAAkB,cAClBC,EAAa,iBACbC,EAAgB,kBAChBC,EAAiB,mBACjBC,EAAkB,oBAClBC,EAAmB,mBACnBC,EAAkB,oBAClBC,EAAmB,YACnB1kE,EAAW,SACX2kE,EAAQ,YACRC,EAAW,mBACXC,EAAkB,aAClBC,EAAY,eACZC,EAAc,eACdC,EAAc,iBACdC,EAAgB,wBAChBC,EAAuB,oBACvBC,EAAmB,iBACnBC,EAAgB,aAChBC,EAAY,qBACZC,EAAoB,kBACpBC,EAAiB,KACjBxiD,GACE1mB,EACEmpE,GAAa,SAAWnpE,EAAO,CACnC6mE,cAAe4B,EACflD,QAASr4C,EACTw4C,YAAa8C,EACb/E,qBAAsBuE,EACtBtE,uBAAwBuE,EACxBlE,2BAA4BmE,EAC5BlE,6BAA8BmE,EAC9BlE,0BAA2BmE,EAC3BlE,4BAA6BmE,EAC7B9E,iBAAkB5/D,EAClBmjE,qBAAsBU,EACtBhE,cAAe+D,EACfP,qBAAsBuB,EACtBtB,cAAeqB,EACfvB,0BAA2B6B,EAC3BvC,kBAAmBoB,EACnBtB,uBAAwBuB,EACxBpB,gBAAiBqB,EACjBvB,6BAA8ByC,EAC9B7D,0BAA2B8D,EAC3B7D,sBAAuB8D,EACvBhD,gBAAiB6B,EACjB/B,mBAAoBgC,EACpB/B,wBAAyBgC,EACzBxC,iBAhEqB,EAiErBE,kBAAmB9+C,EAjEE,GAiEqBr1C,IAAI,GAAGw1C,MAAM,CACrDqmB,MAAM,IAER+4B,oBAAqByC,EACrBxC,mBAAoByC,EACpB/C,0BAA2BqD,EAC3B7E,kBAAmB4E,EACnB3E,uBAAwB39C,EAAK4gD,GAAcj2F,IAAIq1C,EAAK1mB,EAAMpf,SAASgmC,IAAI,IAAIC,QAC3Ey9C,mBAAoByD,EAEpBlD,yBAA0B,IAC1BK,0BAA2B,IAC3BJ,+BAAgC,IAEhC2B,qBAAsB,EAEtBF,mBAAoB2C,EACpB1C,wBAAyBY,EACzBV,cAAe3gD,IAEjB,MAAO,CAAC6gD,GAAcuC,GAAa,GAAmBA,GAAa,GAAgBA,GAAa,GAAeA,GAAa,GAAeA,GAAa,GAAiBA,GAAa,GAAeA,GAAa,GAAeA,GAAa,GAAgBA,GAAa,GAAcA,GAAa,GAAkBA,GAAa,GAAcA,GAAa,GAAeA,GAAa,GAAiBA,GAAa,GAAaA,GAAa,GAAYA,GAAa,GAAgBA,GAAY,IA7JtcnpE,IACnC,MAAM,eACJmtB,EAAc,iBACdD,EAAgB,iBAChBk6C,EAAgB,mBAChB1jC,EAAkB,iBAClBtW,EAAgB,oBAChBE,EAAmB,yBACnB4F,EAAwB,QACxBtyC,EAAO,UACPs+D,EAAS,UACT70B,EAAS,qBACT++C,EAAoB,eACpBx9C,EAAc,cACd0H,EAAa,qBACbuuB,EAAoB,SACpB7gE,EAAQ,WACRmrC,EAAU,WACVhG,EAAU,UACVH,EAAS,UACT28B,EAAS,eACTC,EAAc,eACd7d,EAAc,uBACdsiC,GACErnE,EACEqpE,EAA0B,IAAI,KAAU3lC,GAAoBjJ,aAAavN,GAAkBo8C,mBAC3FC,EAAwB,IAAI,KAAUn8C,GAAkBqN,aAAavN,GAAkBo8C,mBACvFE,EAAsB,IAAI,KAAUr8C,GAAgBsN,aAAavN,GAAkBo8C,mBACnFG,EAAkB,IAAI,KAAU9mB,GAChC+mB,EAAuB,IAAI,KAAU9mB,GACrC6hB,EAAsB4C,EAAyB,EAAIrhD,EACnDw+C,EAAuC,EAAtBC,EAAsC,EAAZz+C,EACjD,MAAO,CACLuhD,SAAUiC,EACVhC,YAAaJ,EACbK,mBAAoB4B,EACpB3B,kBAAmB6B,EACnB5B,WAAY6B,EACZ5B,WAAY4B,EACZ3B,cAAev6C,EACfw6C,mBAAoB50C,EACpB60C,cAAe56C,EACf66C,iBAAkBpnF,EAClBqnF,kBAAmBrnF,EACnBsnF,mBAAoBhpB,EACpBipB,oBAAqB99C,EACrB+9C,mBAAoB/9C,EACpBg+C,oBAAqBh+C,EACrB1mB,YAAaylE,EACbZ,mBAAoB58C,EACpB08C,SAAUkB,EACVjB,YAAanB,EACbqB,aAAcznF,EACd0nF,eAAgB1nF,EAChB2nF,eAAgB3nF,EAChB4nF,iBAAkBQ,EAClBP,wBAAyBQ,EACzBP,oBAAqB17C,EACrB+3C,qBAAsBj4C,EACtB67C,iBAAkB77C,EAClB87C,aAAc97C,EACd+7C,qBAAsB31C,EACtB41C,kBAAmBrnB,EACnB8kB,4BAA6B,IAC7BpC,qBAAsBvjF,EAAWmlC,EAAyB,EAAZH,GAAiB,EAAIh9B,KAAKq2D,MAAmB,IAAblzB,EAA+B,EAAZnG,GAAiB,GAClH++C,gBAAiB0E,EAAgBlgF,QAAQskC,SAAS47C,EAAgBE,WAAa5kC,GAAgBjX,cAC/F63C,qBAAsB+D,EAAqBngF,QAAQskC,SAAS67C,EAAqBC,WAAa5kC,GAAgBjX,cAC9G22C,sBACAD,iBACAE,gBAAiB2C,EAAyB7C,EAC3C,GAwFuB,CACxB3zC,SAAU,CACR6zC,iBAAiB,KC5Rf,GAAa,GACbkF,GAAgB,CAAC56F,EAAOC,KAC5B,IAAIk2B,EAAIwnB,EACR,MACEx4C,UAAWyyB,EAAkB,UAC7BxyB,EAAS,cACTyyB,EAAa,MACb5tB,EACAgD,KAAMkqD,EAAa,SACnB8V,EACAwd,kBAAmBoQ,EAA0B,WAC7CC,EAAU,WACVvkB,EAAU,aACVwkB,EAAY,OACZ1tF,EAAS,MAAK,aACdQ,EAAY,QACZjK,EAAO,SACP9C,EACA4L,mBAAoBsuF,EAAwB,SAC5ClrE,EAAQ,kBACRyM,EAAiB,QACjBoqB,EAAO,WACPr2C,EAAU,WACV/B,EAAU,kBACVuC,EAAiB,sBACjBV,EAAqB,WACrBC,EAAU,OACViQ,EAAM,eACNyxE,EAAc,OACdzsB,EAAM,kBACN0sB,EAAoB,CAClB/1E,OAAQ,eACT,QACD+xD,GACEhuE,GACY,SAAc,SAI9B,MAAMqY,EAAc,WAAc,IAAMzU,GAAW2T,GAAyBzW,IAAW,CAAC8C,EAAS9C,IAC3Fm6F,EAAiB,WAAc,IAAM5iF,EAAYhM,MAAKtB,GAAOA,EAAIurE,cAAa,CAACj+D,IAC/EirD,EAAU,GAAc23B,GACxBhiF,EAAgB,WAAc,KAClC,MAAMiiF,EAAU,IAAI95F,IAAI4rB,OAAOlpB,KAAKw/D,GAAS/sD,QAAO+3D,GAAKhL,EAAQgL,MACjE,OAAOj2D,EAAY9B,QAAOs4C,IAAMA,EAAEynB,YAAcznB,EAAEynB,WAAWjqE,MAAK68C,GAAKgyC,EAAQpuF,IAAIo8C,MAAI,GACtF,CAAC7wC,EAAairD,IACXljD,GAAa,QAAKpgB,EAAO,CAAC,YAAa,QAAS,aAEpDslE,OAAQoR,EAAgB,KAAa,UACrCnsE,EAAS,MACTqrF,EAAK,YACL9nB,EAAW,aACX/2C,EACAwF,kBAAmBooB,GACjB,aAAiB,OACfmc,GAAa,EAAArH,GAAA,GAAQtC,GACrB04B,EAAc7iE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG+/C,EAAcykB,OAAQ71B,GACpEp2C,EAAU4rE,GAAc,GACxB31F,EAAY4xB,EAAa,QAASa,GAClC6yD,EAAoB1zD,EAAa,WAAY8jE,IAC5C,CAAE7pE,IAAS,WACZmI,GAAU,EAAAC,GAAA,GAAaj0B,IACtBk0B,EAAYnC,GAAQoC,IAAa,GAASn0B,EAAWg0B,GACtDnrB,GAAmBgf,OAAO2J,OAAO3J,OAAO2J,OAAO,CACnDjqB,mBAAoBsuF,EACpB5qF,yBACC7B,GAAa,CACd+B,WAAqG,QAAxF6lB,EAAK5nB,aAA+C,EAASA,EAAW+B,kBAA+B,IAAP6lB,EAAgBA,EAA+E,QAAzEwnB,EAAKi4C,aAAqC,EAASA,EAAMrnF,kBAA+B,IAAPovC,OAAgB,EAASA,EAAGrtC,cAE5O,mBACJ5D,GAAqB,YACnBsB,GACEotF,GAAa,WAAc,IAC3BlsE,EAAQ7iB,MAAKc,GAAQA,aAAmC,EAASA,EAAKT,MACjE,OAELoE,IAAsBvC,aAA+C,EAASA,EAAWuC,mBACpF,MAEF,MACN,CAACoe,IACEpO,GAAe,CACnBjE,KAAM,YAGFmE,GCnHO,SAA2B7b,GAYxC,MAX0B,CAAC+jB,EAAK7Z,KAC9B,MAAMiO,EAAY4L,EAAI5E,cAAc,IAAInf,eACxC,IAAIk2F,EAAchsF,EAClB,GAAIiO,EAAW,CACb,MAAMrT,EAAQwqB,iBAAiBnX,GAG/B+9E,EAAchsF,EAFK29C,SAAS/iD,EAAM8qB,gBAAiB,IAC/Bi4B,SAAS/iD,EAAMqxF,iBAAkB,GAEvD,CACA,OAAOD,CAAW,CAGtB,CDsG4BE,CAAkBp2F,GAEtCq2F,GAAU,SAAa,MACvBC,GAAS,SAAa,OExGf,SAAkCx7F,EAAKwuF,IAC7C,IAAAn+D,qBAAoBrwB,GAAK,KAC9B,MAAMy7F,EAASjN,KACT,cACJzqE,GACE03E,EACJ,MAAqB,oBAAVC,MACF,IAAIA,MAAM33E,EAAe,CAC9B9c,IAAG,CAAClF,EAAK45F,IACHF,EAAOE,GACFF,EAAOE,GAETC,QAAQ30F,IAAIlF,EAAK45F,MAvBN53B,EA4BQ03B,GA5BjBrnF,EA4BE2P,GA3BX83E,UAAYznF,EAAQynF,WAAa,CAAC,EAC1C9uE,OAAOlpB,KAAKkgE,GAASxiE,SAAQS,IAC3B,KAAMA,KAAOoS,EAAQynF,WAAY,CAC/B,MAAMC,EAAM1nF,EAAQpS,GACpBoS,EAAQynF,UAAU75F,GAAO85F,EACzB1nF,EAAQpS,GAAO+hE,EAAQ/hE,EACzB,KAEKoS,GATT,IAAmBA,EAAS2vD,CA4Be,GAE3C,CFsFEg4B,CAAyB/7F,GAAK,IAAM+sB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG8kE,GAAOz6F,SAAU,CACnFgjB,cAAew3E,GAAQx6F,YAGzB,MAAM4L,GAAY,WAAc,IACR,mBAAXS,EACFA,EAEF/H,GAAUA,aAAuC,EAASA,EAAO+H,IACvE,CAACA,KACG4uF,IGhIY,EAACj1F,EAAM0F,EAAoBE,KAC9C,MAAMsvF,EAAc,SAAa,CAAC,GAwBlC,MAAO,CAvBP,SAAwBj6F,GACtB,IAAIk0B,EACJ,IAAK+lE,EAAYl7F,SAAWk7F,EAAYl7F,QAAQgG,OAASA,GAAQk1F,EAAYl7F,QAAQ0L,qBAAuBA,GAAsBwvF,EAAYl7F,QAAQ4L,YAAcA,EAAW,CAC7K,MAAMuvF,EAAQ,IAAIj3E,IAClB,SAASrC,EAAIu5E,GACXA,EAAQ56F,SAAQ,CAAC8D,EAAQI,KACvB,MAAM2H,EAAST,EAAUtH,EAAQI,GACjCy2F,EAAMh1E,IAAI9Z,EAAQ/H,GACdA,GAA4B,iBAAXA,GAAuBoH,KAAsBpH,GAChEud,EAAIvd,EAAOoH,IAAuB,GACpC,GAEJ,CACAmW,EAAI7b,GACJk1F,EAAYl7F,QAAU,CACpBgG,OACA0F,qBACAyvF,QACAvvF,YAEJ,CACA,OAA4C,QAApCupB,EAAK+lE,EAAYl7F,QAAQm7F,aAA0B,IAAPhmE,OAAgB,EAASA,EAAGjvB,IAAIjF,EACtF,EACuB,EHuGE,CAAaitB,EAASxiB,GAAoBE,IAE7DyvF,GAAkB,CAAC,EACnBC,GAAkB,SAAUjuE,EAAMqQ,GACtC,IAAI69D,EAAQ9tF,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,IAAmBA,UAAU,GAC3E,IAAI0nB,EAAIwnB,EAAIC,EAAI0R,EAChB,MAAMktC,EAAaxvE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG0lE,IAAkBhuE,GACjEkuE,IACyC,QAA1CpmE,EAAKkmE,GAAgBI,uBAAoC,IAAPtmE,GAAyBA,EAAG9sB,KAAKgzF,KAE/C,QAAhC1+C,EAAK6+C,EAAWjmB,kBAA+B,IAAP54B,OAAgB,EAASA,EAAG38C,WACvEw7F,EAAWjmB,WAAWv1E,QAAU,GAG9Bu1E,IAC6B,QAA9B34B,EAAK24B,EAAWzmD,gBAA6B,IAAP8tB,GAAyBA,EAAGv0C,KAAKktE,EAAY,EAAoC,QAAhCjnB,EAAKktC,EAAWjmB,kBAA+B,IAAPjnB,OAAgB,EAASA,EAAGkW,YAG5JllD,IAA8C,IAApCA,EAAOo8E,0BAAsC57E,GAAajE,KAAK7b,SIhJlE,SAAkB+kB,GAC/B,IAAIyK,EAAU/hB,UAAUhD,OAAS,QAAsB/K,IAAjB+N,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,MAAM,aACJ+X,EAAe,KAAMva,QAAM,SAC3BoQ,EAAQ,SACRsgF,EAAW,KACTnsE,EACElT,EAAYkJ,IACZzJ,E3FRUd,KAChB,IAAIka,EAAIwnB,EACR,GAAsB,oBAAX1xC,OACT,OAAO,EAET,IAAI4wE,EAAS,EAmBb,OAlBIvb,GAASrlD,GACX4gE,EAAS5gE,EAAOa,YACPb,aAAkB2gF,SAC3B/f,EAAS5gE,EAAO9P,gBAAgB4Q,WACvBd,aAAkBkI,aAElBlI,KADT4gE,EAAS5gE,EAAOc,WAUdd,IAAWqlD,GAASrlD,IAA6B,iBAAX4gE,IACxCA,EAA0G,QAAhGl/B,GAAsC,QAA/BxnB,EAAKla,EAAO4gF,qBAAkC,IAAP1mE,EAAgBA,EAAKla,GAAQ9P,uBAAoC,IAAPwxC,OAAgB,EAASA,EAAG5gC,WAEzI8/D,CAAM,E2FhBK,CAAUv/D,GACtBw/E,EAAYnhB,KAAKC,MACjBmhB,EAAY,KAChB,MACMC,EADYrhB,KAAKC,MACEkhB,EACnBG,EChBH,SAAwBhlE,EAAGuC,EAAGq0B,EAAGquC,GACtC,MAAMC,EAAKtuC,EAAIr0B,EAGf,OADAvC,GAAKilE,EAAI,GACD,EACCC,EAAK,EAAIllE,EAAIA,EAAIA,EAAIuC,EAGvB2iE,EAAK,IAAMllE,GAAK,GAAKA,EAAIA,EAAI,GAAKuC,CAC3C,CDO0B4iE,CAAeJ,EAAOL,EAAWA,EAAWK,EAAMjgF,EAAWgJ,EAAG42E,GAClFr7B,GAAShkD,GACXA,EAAU2G,SAAShY,OAAO0Q,YAAasgF,GAC9B3/E,aAAqBs/E,UAA2C,iBAA/Bt/E,EAAUkrC,YAAYl8C,KAChEgR,EAAUnR,gBAAgB4Q,UAAYkgF,EAEtC3/E,EAAUP,UAAYkgF,EAEpBD,EAAOL,GACT,EAAAp+E,GAAA,GAAIw+E,GACyB,mBAAb1gF,GAChBA,GACF,GAEF,EAAAkC,GAAA,GAAIw+E,EACN,CJqHM94E,CAAS,EAAG,CACVuC,aAAc,IAAM1F,GAAajE,KAAK7b,UAG1C8uB,SAAoDA,EAAS0sE,EAAWjmB,WAAYimB,EAAWtS,QAASsS,EAAWvL,OAAQ,CACzHoM,kBAAmB1Q,GAAc6G,GAAYtkE,EAASstE,EAAW7K,aAAcjlF,IAAqB8vF,EAAW9N,aAAchiF,IAC7HgyB,UAEJ,GAcO4+D,GAAwBjM,GAAYkM,GAAkBC,IpB2GvCx9F,KACtB,MAAM,UACJmF,EAAS,cACT8T,EAAa,eACb84E,EAAc,YACdlC,EAAW,kBACXmC,EAAiB,eACjByL,GACEz9F,GACGqxF,EAAYqM,GAAiB,WAAetM,GAAkBn4E,GAAe,IAC9E0kF,EAAgB,CAAC/5F,EAAS+4E,KAC9B,MAAMihB,EAAU,GAShB,OARAh6F,EAAQpC,SAAQ,CAAC2L,EAAMzH,KACrB,MAAMipF,EAAYjS,GAAah3E,EAAOi3E,GAEtC,GADAihB,EAAQv5F,KAAKm4E,GAAarvE,EAAMwhF,IAC5B7sF,MAAMC,QAAQoL,EAAKrM,UAAW,CAChC,MAAM+8F,EAAYF,EAAcxwF,EAAKrM,SAAU6tF,GAC/CiP,EAAQv5F,KAAKuK,MAAMgvF,GAAS,QAAmBC,GACjD,KAEKD,CAAO,EAEVE,EAAqB,WAAc,KACvC,IAAIC,GAAW,EACf,MAAM/N,EAAkBoB,GAAkBn4E,GAAe,GAEzD,IAAK+2E,EAAgBvkF,OAAQ,CAC3B,MAAMuyF,EAAoBL,EAAc1kF,GACxC,OAAOo4E,EAAW96E,QAAO5R,IACvB,IAAI,IACF1C,GACE0C,EACJ,OAAOq5F,EAAkBxlF,SAASvW,EAAI,GAE1C,CACA,MAAMg8F,EAAiB,GACvB,SAASC,EAAY5+E,GACfy+E,EACFE,EAAe55F,KAAKib,GAEpB2+E,EAAe55F,KAAK2oB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGrX,GAAQ,CAC1DkyE,UAAW,OAGjB,CACA,IAAI2M,EAAe,KAkBnB,OAjBAnO,EAAgBxuF,SAAQ8d,IACD,OAAjB6+E,GACFD,EAAY5+E,GACRA,EAAMkyE,aACuB,IAA3BlyE,EAAMiyE,iBACRwM,GAAW,EAEXI,GAAe,KAGVA,IAA2C,IAA3B7+E,EAAMiyE,mBAG/BwM,GAAW,GAFXG,EAAY5+E,GAId,IAEK2+E,CAAc,GACpB,CAAChlF,EAAeo4E,IAEb+M,EAAyB,WAAc,KAC3C,IAAIjoE,EAAIwnB,EACR,MAAM0gD,EAAcP,EAAmB5wF,KAAItI,IACzC,IAAI,OACFb,EAAM,UACNytF,GACE5sF,EACJ,MAAO,CACLb,SACAqvF,MAAO5B,EACR,IAEH,MAAO,CACL6M,cAEAC,WAAsC,QAAzBnoE,EAAKkoE,EAAY,UAAuB,IAAPloE,OAAgB,EAASA,EAAGpyB,OAC1EytF,UAAqC,QAAzB7zC,EAAK0gD,EAAY,UAAuB,IAAP1gD,OAAgB,EAASA,EAAGy1C,MAC1E,GACA,CAAC0K,IACElM,EAAgB2M,IACpB,IAAIC,EAIFA,GAHiC,IAA/BD,EAAUhN,kBAA+BuM,EAAmBryF,SAAqD,IAA3CqyF,EAAmB,GAAGvM,iBAG5E,GAAGntF,QAAO,QAAmB05F,EAAmBvnF,QAAO6T,IACvE,IAAI,IACFnoB,GACEmoB,EACJ,OAAOnoB,IAAQs8F,EAAUt8F,GAAG,KACzB,CAACs8F,IAPY,CAACA,GASrBb,EAAcc,GACdf,EAAenK,GAAmBkL,GAAkBA,EAAgB,EAItE,MAAO,CAFkBnO,GAAgBqB,GAAavsF,EAAWkrF,EAAcyN,EAAoBlM,EAAeG,EAAgBlC,EAAamC,GAErH8L,EAAoBM,EAD3B,IAAM9K,GAAmBwK,GACqC,EoBjNNW,CAAU,CACnFt5F,YACA8T,gBACAwkF,eATqB,CAACxM,EAAQU,KAC9B2K,GAAgB,CACdrL,SACAU,gBACC,QAAQ,EAAM,EAMjBI,eAAgBA,GAAkB,CAAC,SAAU,WAC7ClC,cACAmC,sBAEI0M,GAAa,WAAc,IAAMlL,GAAYtkE,EAASmiE,GAAY3kF,KAAqB,CAACwiB,EAASmiE,KACvGgL,GAAgBpL,OAASuM,KACzBnB,GAAgB1K,aAAeN,GAE/B,MAMOsN,GAAwBjQ,GAAcxE,IAAW,GAAU,CAChE/kF,YACAmgE,OAAQuqB,EACRpF,oBACAxxE,gBACA22E,eAXqB,CAAC1F,EAASwE,KAC/B4N,GAAgB,CACdpS,UACAwE,gBACC,UAAU,EAAK,EAQlBnyD,kBAAmBA,GAAqBooB,EACxC9sB,cAAe,IAAWA,EAAesB,KAErChY,GAAawrE,GAAc+R,GAAYhQ,GAAchiF,IAC3D2vF,GAAgBnS,QAAUA,GAC1BmS,GAAgB3N,aAAeA,GAE/B,MAAMwF,GAAmB,WAAc,KACrC,MAAM0K,EAAgB,CAAC,EAMvB,OALA5xE,OAAOlpB,KAAKomF,IAAS1oF,SAAQq9F,IACA,OAAvB3U,GAAQ2U,KACVD,EAAcC,GAAa3U,GAAQ2U,GACrC,IAEK7xE,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG4mE,IAAmB,CACxDrT,QAAS0U,GACT,GACD,CAACrB,GAAkBrT,MACf4U,InBvMe5K,IAEf,CADe,eAAkBtwF,GAAWqwF,GAAUrwF,EAASswF,IAAmB,CAACA,KmBsM1D,CAAgBA,KAUzCvD,GAAkB8L,IAAmB,GAAct7E,GAAW1V,QAR1C,CAACzK,EAASwkE,KACnC82B,GAAgB,CACd/lB,WAAYvpD,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG0lE,GAAgB9lB,YAAa,CACvEv1E,UACAwkE,cAED,WAAW,GAEiF+Q,GACjG8lB,GAAgB9lB,YAA4B,IAAfA,EAAuB,CAAC,EzBpNhD,SAA4Boa,EAAkBpa,GACnD,MAAMwoB,EAAQ,CACZ/9F,QAAS2vF,EAAiB3vF,QAC1BwkE,SAAUmrB,EAAiBnrB,UAEvBgrB,EAAgBja,GAAoC,iBAAfA,EAA0BA,EAAa,CAAC,EAOnF,OANAvpD,OAAOlpB,KAAK0sF,GAAehvF,SAAQw9F,IACjC,MAAMn+F,EAAQ8vF,EAAiBqO,GACV,mBAAVn+F,IACTk+F,EAAMC,GAAYn+F,EACpB,IAEKk+F,CACT,CyBuM2DE,CAAmBtO,GAAkBpa,GAC9F8lB,GAAgBI,gBAAkBA,GAElC,MAAMyC,GAAW,WAAc,KAC7B,IAAmB,IAAf3oB,IAAyBoa,GAAiBnrB,SAC5C,OAAOrkD,GAET,MAAM,QACJngB,EAAU,EAAC,MACX2V,EAAK,SACL6uD,EAAW8qB,IACTK,GAGJ,OAAIxvE,GAAW1V,OAASkL,EAClBwK,GAAW1V,OAAS+5D,EAEfrkD,GAAW7I,OAAOtX,EAAU,GAAKwkE,EAAUxkE,EAAUwkE,GAEvDrkD,GAEFA,GAAW7I,OAAOtX,EAAU,GAAKwkE,EAAUxkE,EAAUwkE,EAAS,GACpE,GAAG+Q,EAAYp1D,GAAYwvE,cAA2D,EAASA,GAAiB3vF,QAAS2vF,cAA2D,EAASA,GAAiBnrB,SAAUmrB,cAA2D,EAASA,GAAiBh6E,SAEzSwoF,GAA2BC,IxFtNf,EAACl9E,EAAQ64E,KAC5B,MAAM,wBACJsE,EAAuB,gBACvBC,EAAe,uBACfC,EAAsB,iBACtBC,EACA1vE,SAAU2vE,EAAiB,SAC3BnyD,EAAQ,YACRoyD,EAAW,eACXC,EAAc,aACdC,EAAY,iBACZC,EACA3nF,YAAa4nF,EACbl5E,KAAMm5E,EAAa,WACnBC,EAAU,MACVt1F,EACAu1F,WAAYC,EAAmB,cAC/BC,EAAa,cACbxS,GAAgB,GACdoN,GAAgB,CAAC,GACf,UACJ51F,EAAS,KACT6B,EAAI,SACJk4F,EAAQ,eACRjD,EAAc,UACdrvF,EAAS,WACTwuF,EAAU,mBACV1uF,EACA44D,OAAQuqB,EAAW,kBACnBtzD,GACEra,EACE+hB,GAAU,SAAc,UAEvBm8D,EAAgBC,G8F7DV,SAA2BC,GACxC,MAAOC,EAAmBC,IAAwB,IAAArlF,UAAS,MA0B3D,MAAO,EAzBgB,IAAAk1B,cAAY,CAACowD,EAAsBz5F,EAAMq+B,KAC9D,MAAMq7D,EAA0BH,QAA6DA,EAAoBE,EAE3Gj7E,EAAaxL,KAAK2yC,IAAI+zC,GAA2B,EAAGD,GACpDh7E,EAAWzL,KAAKC,IAAIymF,GAA2B,EAAGD,GAClDE,EAAY35F,EAAKsR,MAAMkN,EAAYC,EAAW,GAAGvY,KAAIC,GAAeA,IACpEyzF,EAAiBD,EAAUt0F,MAAKw0F,IAAax7D,EAAav4B,IAAI+zF,KAC9DC,EAAc,GAapB,OAZAH,EAAUn/F,SAAQ2L,IACZyzF,GACGv7D,EAAav4B,IAAIK,IACpB2zF,EAAYz8F,KAAK8I,GAEnBk4B,EAAahjC,IAAI8K,KAEjBk4B,EAAa9iC,OAAO4K,GACpB2zF,EAAYz8F,KAAK8I,GACnB,IAEFqzF,EAAqBI,EAAiBn7E,EAAW,MAC1Cq7E,CAAW,GACjB,CAACP,IAC4Bh8F,IAC9Bi8F,EAAqBj8F,EAAI,EAG7B,C9FiCoDw8F,IAE3CC,EAAoBC,IAAyB,QAAe3B,GAAmBC,GAA0B,GAAY,CAC1H1+F,MAAOy+F,IAGH4B,EAAqB,SAAa,IAAIh8E,KACtCi8E,GAA6B,IAAA9wD,cAAYvsC,IAC7C,GAAIu7F,EAAyB,CAC3B,MAAM+B,EAAW,IAAIl8E,IAErBphB,EAAKtC,SAAQS,IACX,IAAIqD,EAAS22F,EAAeh6F,IACvBqD,GAAU47F,EAAmBlgG,QAAQ8L,IAAI7K,KAC5CqD,EAAS47F,EAAmBlgG,QAAQkG,IAAIjF,IAE1Cm/F,EAASj6E,IAAIllB,EAAKqD,EAAO,IAG3B47F,EAAmBlgG,QAAUogG,CAC/B,IACC,CAACnF,EAAgBoD,IAEpB,aAAgB,KACd8B,EAA2BH,EAAmB,GAC7C,CAACA,IAEJ,MAAMK,GAAc,IAAA/rF,UAAQ,IAAM9C,GAAY9F,EAAoBwyF,IAAW,CAACxyF,EAAoBwyF,KAC5F,YACJoC,IACE,IAAAhsF,UAAQ,KACV,GAAIq4E,EACF,MAAO,CACL2T,YAAa,MAGjB,IAAIC,EAAcv6F,EAClB,GAAIq4F,EAAyB,CAE3B,MAAMmC,EAAU,IAAIpgG,IAAIigG,EAAYn0F,KAAI,CAAC5H,EAAQI,IAAUkH,EAAUtH,EAAQI,MAEvE+7F,EAAkB3/F,MAAM6iF,KAAKuc,EAAmBlgG,SAAS0V,QAAO,CAACC,EAAO/V,KAC5E,IAAKqB,EAAKpB,GAASD,EACnB,OAAO4gG,EAAQ10F,IAAI7K,GAAO0U,EAAQA,EAAMvS,OAAOvD,EAAM,GACpD,IACH0gG,EAAc,GAAGn9F,QAAO,QAAmBm9F,IAAc,QAAmBE,GAC9E,CACA,OAAO,SAAsBF,EAAa,CACxCG,eAAgB90F,EAChB+0F,iBAAkBj1F,GAClB,GACD,CAAC1F,EAAM4F,EAAW+gF,EAAejhF,EAAoB2yF,EAAyBgC,IAE3EO,GAAmB,IAAAtsF,UAAQ,KAC/B,MAAMpI,EAAM,IAAIgY,IAOhB,OANAm8E,EAAY7/F,SAAQ,CAAC8D,EAAQI,KAC3B,MAAMzD,EAAM2K,EAAUtH,EAAQI,GACxB6zB,GAAiBimE,EAAmBA,EAAiBl6F,GAAU,OAAS,CAAC,EAC/E4H,EAAIia,IAAIllB,EAAKs3B,EACiO,IAEzOrsB,CAAG,GACT,CAACm0F,EAAaz0F,EAAW4yF,IACtBqC,GAAqB,IAAAxxD,cAAY6Y,IACrC,IAAI/yB,EACJ,SAAwD,QAA7CA,EAAKyrE,EAAiB16F,IAAI0F,EAAUs8C,WAAwB,IAAP/yB,OAAgB,EAASA,EAAGzG,SAAS,GACpG,CAACkyE,EAAkBh1F,KACfk1F,EAAqBC,IAA2B,IAAAzsF,UAAQ,KAC7D,GAAIq4E,EACF,MAAO,CAACqT,GAAsB,GAAI,IAEpC,MAAM,YACJpT,EAAW,gBACXoU,IACE,QAAahB,GAAoB,EAAMM,EAAaO,GACxD,MAAO,CAACjU,GAAe,GAAIoU,EAAgB,GAC1C,CAAChB,EAAoBrT,EAAe2T,EAAaO,IAC9CI,GAAwB,IAAA3sF,UAAQ,KACpC,MAAMxR,EAAyB,UAAlBi8F,EAA4B+B,EAAoBxpF,MAAM,EAAG,GAAKwpF,EAC3E,OAAO,IAAI1gG,IAAI0C,EAAK,GACnB,CAACg+F,EAAqB/B,IACnBmC,GAA4B,IAAA5sF,UAAQ,IAAwB,UAAlByqF,EAA4B,IAAI3+F,IAAQ,IAAIA,IAAI2gG,IAA0B,CAACA,EAAyBhC,IAEpJ,aAAgB,KACThF,GACHkG,EAAsB,GACxB,GACC,GAAGlG,IACN,MAAMjO,GAAkB,IAAAz8C,cAAY,CAACvsC,EAAMq+F,KACzC,IAAIC,EACAhG,EACJ+E,EAA2Br9F,GACvBu7F,GACF+C,EAAgBt+F,EAChBs4F,EAAUt4F,EAAKoJ,KAAIjL,GAAOi/F,EAAmBlgG,QAAQkG,IAAIjF,OAGzDmgG,EAAgB,GAChBhG,EAAU,GACVt4F,EAAKtC,SAAQS,IACX,MAAMqD,EAAS22F,EAAeh6F,QACfvB,IAAX4E,IACF88F,EAAc/9F,KAAKpC,GACnBm6F,EAAQ/3F,KAAKiB,GACf,KAGJ27F,EAAsBmB,GACtB3C,SAAsEA,EAAkB2C,EAAehG,EAAS,CAC9Gx1E,KAAMu7E,GACN,GACD,CAAClB,EAAuBhF,EAAgBwD,EAAmBJ,IAGxDgD,GAAyB,IAAAhyD,cAAY,CAACpuC,EAAK8jC,EAAUjiC,EAAMqF,KAC/D,GAAImkC,EAAU,CACZ,MAAMl7B,EAAOtO,EAAKoJ,KAAIslC,GAAKypD,EAAezpD,KAC1ClF,EAAS2uD,EAAeh6F,GAAM8jC,EAAU3zB,EAAMjJ,EAChD,CACA2jF,EAAgBhpF,EAAM,SAAS,GAC9B,CAACwpC,EAAU2uD,EAAgBnP,IACxBwV,GAAmB,IAAAhtF,UAAQ,KAC1B0qF,GAAcG,EACV,OAE4B,IAAfH,EAAsB,CAAC7+B,GAAeC,GAAkBC,IAAkB2+B,GAC3E9yF,KAAI8zE,GACnBA,IAAc7f,GACT,CACLl/D,IAAK,MACL+0D,KAAM64B,EAAY0S,aAClB,QAAAj1D,GACEw/C,EAAgB9lF,EAAKkG,KAAI,CAAC5H,EAAQI,IAAUkH,EAAUtH,EAAQI,KAAQ6Q,QAAOtU,IAC3E,MAAMugG,EAAaZ,EAAiB16F,IAAIjF,GACxC,QAASugG,aAA+C,EAASA,EAAW9yE,WAAauyE,EAAsBn1F,IAAI7K,EAAI,IACrH,MACN,GAGA++E,IAAc5f,GACT,CACLn/D,IAAK,SACL+0D,KAAM64B,EAAY4S,aAClB,QAAAn1D,GACE,MAAMo1D,EAAS,IAAIthG,IAAI6gG,GACvB/C,EAAS19F,SAAQ,CAAC8D,EAAQI,KACxB,MAAMzD,EAAM2K,EAAUtH,EAAQI,GACxB88F,EAAaZ,EAAiB16F,IAAIjF,IAClCugG,aAA+C,EAASA,EAAW9yE,YACnEgzE,EAAO51F,IAAI7K,GACbygG,EAAOngG,OAAON,GAEdygG,EAAOrgG,IAAIJ,GAEf,IAEF,MAAM6B,EAAOhC,MAAM6iF,KAAK+d,GACpB/C,IACF17D,EAAQ0+D,YAAW,EAAO,iBAAkB,YAC5ChD,EAAe77F,IAEjBgpF,EAAgBhpF,EAAM,SACxB,GAGAk9E,IAAc3f,GACT,CACLp/D,IAAK,OACL+0D,KAAM64B,EAAY+S,WAClB,QAAAt1D,GACEsyD,SAA4DA,IAC5D9S,EAAgBhrF,MAAM6iF,KAAKsd,GAAuB1rF,QAAOtU,IACvD,MAAMugG,EAAaZ,EAAiB16F,IAAIjF,GACxC,OAAOugG,aAA+C,EAASA,EAAW9yE,QAAQ,IAChF,OACN,GAGGsxD,IACN9zE,KAAI8zE,GAAah0D,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGqqD,GAAY,CAC9D1zC,SAAU,WAGR,IAFA,IAAIu1D,EACA1sE,EACK3nB,EAAOC,UAAUhD,OAAQosD,EAAO,IAAI/1D,MAAM0M,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EkpD,EAAKlpD,GAAQF,UAAUE,GAEK,QAA7BwnB,EAAK6qD,EAAU1zC,gBAA6B,IAAPnX,IAA0B0sE,EAAM1sE,GAAI9sB,KAAKuF,MAAMi0F,EAAK,CAAC7hB,GAAW58E,OAAOyzD,IAC7GwoC,EAAwB,KAC1B,OAED,CAACL,EAAYiC,EAAuB/C,EAAUtyF,EAAW+yF,EAAgB7S,IAEtE90E,GAAmB,IAAAq4B,cAAYzsC,IACnC,IAAIuyB,EAEJ,IAAK4kE,EAEH,OAAOn3F,EAAQ2S,QAAOxL,GAAOA,IAAQm2D,KAGvC,IAAIxrD,GAAe,QAAmB9R,GACtC,MAAM8+F,EAAS,IAAIthG,IAAI6gG,GAEjBa,EAAazB,EAAYn0F,IAAIN,GAAW2J,QAAOtU,IAAQ2/F,EAAiB16F,IAAIjF,GAAKytB,WACjFqzE,EAAoBD,EAAWh4F,OAAM7I,GAAOygG,EAAO51F,IAAI7K,KACvD+gG,EAAqBF,EAAWz2F,MAAKpK,GAAOygG,EAAO51F,IAAI7K,KACvDghG,EAAoB,KACxB,MAAMC,EAAa,GACfH,EACFD,EAAWthG,SAAQS,IACjBygG,EAAOngG,OAAON,GACdihG,EAAW7+F,KAAKpC,EAAI,IAGtB6gG,EAAWthG,SAAQS,IACZygG,EAAO51F,IAAI7K,KACdygG,EAAOrgG,IAAIJ,GACXihG,EAAW7+F,KAAKpC,GAClB,IAGJ,MAAM6B,EAAOhC,MAAM6iF,KAAK+d,GACxBhD,SAA0DA,GAAaqD,EAAmBj/F,EAAKoJ,KAAIslC,GAAKypD,EAAezpD,KAAK0wD,EAAWh2F,KAAIslC,GAAKypD,EAAezpD,MAC/Js6C,EAAgBhpF,EAAM,OACtBu8F,EAAwB,KAAK,EAI/B,IAAI72F,EACA25F,EAkEAlD,EAjEJ,GAAsB,UAAlBF,EAA2B,CAC7B,IAAIqD,EACJ,GAAId,EAAkB,CACpB,MAAM5/C,EAAO,CACXnmB,oBACA2P,MAAOo2D,EAAiBp1F,KAAI,CAAC8zE,EAAWt7E,KACtC,MAAM,IACJzD,EAAG,KACH+0D,EACA1pB,SAAU+1D,GACRriB,EACJ,MAAO,CACL/+E,IAAKA,QAAiCA,EAAMyD,EAC5C2I,QAAS,KACPg1F,SAAoEA,EAAiBP,EAAW,EAElGrpE,MAAOu9B,EACR,KAGLosC,EAAmC,gBAAoB,MAAO,CAC5Dh+F,UAAW,GAAGD,qBACA,gBAAoB,GAAU,CAC5Cu9C,KAAMA,EACNnmB,kBAAmBA,GACL,gBAAoB,OAAQ,KAAmB,gBAAoB+mE,GAAA,EAAc,QACnG,CACA,MAAMC,EAAkBlC,EAAYn0F,KAAI,CAAC5H,EAAQI,KAC/C,MAAMzD,EAAM2K,EAAUtH,EAAQI,GACxB6zB,EAAgBqoE,EAAiB16F,IAAIjF,IAAQ,CAAC,EACpD,OAAO+qB,OAAO2J,OAAO,CACnBlH,QAASizE,EAAO51F,IAAI7K,IACnBs3B,EAAc,IAChBhjB,QAAOrU,IACR,IAAI,SACFwtB,GACExtB,EACJ,OAAOwtB,CAAQ,IAEX8zE,IAAgBD,EAAgB93F,QAAU83F,EAAgB93F,SAAW41F,EAAY51F,OACjFg4F,EAAwBD,GAAeD,EAAgBz4F,OAAMrG,IACjE,IAAI,QACFgrB,GACEhrB,EACJ,OAAOgrB,CAAO,IAEVi0E,EAAyBF,GAAeD,EAAgBl3F,MAAK1H,IACjE,IAAI,QACF8qB,GACE9qB,EACJ,OAAO8qB,CAAO,IAEhB0zE,EAAmC,gBAAoB,GAAU,CAC/D1zE,QAAU+zE,EAA0DC,IAA1CpC,EAAY51F,QAAUs3F,EAChDjrE,cAAgB0rE,GAA0DC,GAAyBC,GAApEX,GAAqBC,EACpDlzE,SAAUmzE,EACVvzE,SAAiC,IAAvB2xE,EAAY51F,QAAgB+3F,EACtC,aAAcJ,EAAsB,mBAAqB,aACzDrrE,WAAW,IAEbvuB,GAAS22F,GAA+B,gBAAoB,MAAO,CACjE/6F,UAAW,GAAGD,eACbg+F,EAAqBC,EAC1B,CAuGA,GAnGEnD,EADoB,UAAlBF,EACW,CAAChnF,EAAGzT,EAAQI,KACvB,MAAMzD,EAAM2K,EAAUtH,EAAQI,GACxB+pB,EAAUizE,EAAO51F,IAAI7K,GAC3B,MAAO,CACLuV,KAAoB,gBAAoB,GAAOwV,OAAO2J,OAAO,CAAC,EAAGirE,EAAiB16F,IAAIjF,GAAM,CAC1FwtB,QAASA,EACTphB,QAASmG,GAAKA,EAAE7E,kBAChBmgB,SAAU3mB,IACHu5F,EAAO51F,IAAI7K,IACdogG,EAAuBpgG,GAAK,EAAM,CAACA,GAAMkH,EAAM2nB,YACjD,KAGJrB,UACD,EAGU,CAAC1W,EAAGzT,EAAQI,KACvB,IAAIywB,EACJ,MAAMl0B,EAAM2K,EAAUtH,EAAQI,GACxB+pB,EAAUizE,EAAO51F,IAAI7K,GACrB61B,EAAgBoqE,EAA0Bp1F,IAAI7K,GAC9Cs3B,EAAgBqoE,EAAiB16F,IAAIjF,GAC3C,IAAI0hG,EAQJ,OANEA,EADiB,SAAfvI,EACoBtjE,EAGqG,QAApG3B,EAAKoD,aAAqD,EAASA,EAAczB,qBAAkC,IAAP3B,EAAgBA,EAAK2B,EAGnJ,CACLtgB,KAAoB,gBAAoB,GAAUwV,OAAO2J,OAAO,CAAC,EAAG4C,EAAe,CACjFzB,cAAe6rE,EACfl0E,QAASA,EACTsI,WAAW,EACX1pB,QAASmG,GAAKA,EAAE7E,kBAChBmgB,SAAUlrB,IACR,IAAI,YACFksB,GACElsB,EACJ,MAAM,SACJg/F,GACE9yE,EACE2vE,EAAuBqC,EAAWppF,WAAUvM,GAAQA,IAASlL,IAC7DssE,EAAauzB,EAAoBz1F,MAAKc,GAAQ21F,EAAWtqF,SAASrL,KACxE,GAAIy2F,GAAYjW,GAAiBpf,EAAY,CAC3C,MAAMuyB,EAAcV,EAAeK,EAAsBqC,EAAYJ,GAC/D5+F,EAAOhC,MAAM6iF,KAAK+d,GACxB7C,SAAoEA,GAAkBpwE,EAAS3rB,EAAKoJ,KAAI22F,GAAa5H,EAAe4H,KAAa/C,EAAY5zF,KAAI22F,GAAa5H,EAAe4H,MAC7L/W,EAAgBhpF,EAAM,WACxB,KAAO,CAEL,MAAMggG,EAAoBhC,EAC1B,GAAInU,EAAe,CACjB,MAAMC,EAAcn+D,GAAU,SAAOq0E,EAAmB7hG,IAAO,SAAO6hG,EAAmB7hG,GACzFogG,EAAuBpgG,GAAMwtB,EAASm+D,EAAa98D,EACrD,KAAO,CAEL,MAAM+rD,GAAS,QAAa,GAAGz4E,QAAO,QAAmB0/F,GAAoB,CAAC7hG,KAAO,EAAMq/F,EAAaO,IAClG,YACJjU,EAAW,gBACXoU,GACEnlB,EACJ,IAAIknB,EAAkBnW,EAEtB,GAAIn+D,EAAS,CACX,MAAMu0E,EAAa,IAAI5iG,IAAIwsF,GAC3BoW,EAAWzhG,OAAON,GAClB8hG,GAAkB,QAAajiG,MAAM6iF,KAAKqf,GAAa,CACrDv0E,SAAS,EACTuyE,mBACCV,EAAaO,GAAoBjU,WACtC,CACAyU,EAAuBpgG,GAAMwtB,EAASs0E,EAAiBjzE,EACzD,CACF,CAEEuvE,EADE5wE,EACsB,KAEAgxE,EAC1B,KAGJhxE,UACD,GAcA/Z,EAAa8C,SAAS0oD,IAEzB,GAGO,IAHHxrD,EAAagE,WAAU3O,IACzB,IAAIorB,EACJ,MAAgG,mBAApD,QAAnCA,EAAKprB,EAAIgI,WAAyC,IAAPojB,OAAgB,EAASA,EAAG5iB,WAA+B,IACvG,CACR,MAAOuF,KAAiBmrF,GAAevuF,EACvCA,EAAe,CAACoD,EAAcooD,IAAkB98D,QAAO,QAAmB6/F,GAC5E,MAEEvuF,EAAe,CAACwrD,IAAkB98D,QAAO,QAAmBsR,IAIhE,MAAMwuF,EAAuBxuF,EAAakD,QAAQsoD,IAElDxrD,EAAeA,EAAaa,QAAO,CAACxS,EAAQ2B,IAAU3B,IAAWm9D,IAAoBx7D,IAAUw+F,IAE/F,MAAMC,EAAUzuF,EAAawuF,EAAuB,GAC9CE,EAAU1uF,EAAawuF,EAAuB,GACpD,IAAIG,EAAc35F,OACEhK,IAAhB2jG,SACwE3jG,KAArE0jG,aAAyC,EAASA,EAAQ15F,OAC7D25F,EAAcD,EAAQ15F,WACyDhK,KAArEyjG,aAAyC,EAASA,EAAQz5F,SACpE25F,EAAcF,EAAQz5F,QAGtB25F,GAAeF,GAAwG,mBAApD,QAAvChuE,EAAKguE,EAAQpxF,WAAyC,IAAPojB,OAAgB,EAASA,EAAG5iB,kBAAqD7S,IAAlByjG,EAAQz5F,QACpJy5F,EAAQz5F,MAAQ25F,GAElB,MAAMC,EAAY,IAAW,GAAGn/F,kBAA2B,CACzD,CAAC,GAAGA,iCAA0C66F,GAAgC,aAAlBD,IAYxDwE,EAAkB,CACtB75F,MAAO25F,EACPh1F,MAAOywF,EACP16F,UAAW,GAAGD,qBACdqE,OAbMuxF,aAAmD,EAASA,EAAa9iF,aAGvC,mBAA7B8iF,EAAa9iF,YACf8iF,EAAa9iF,YAAYkrF,GAE3BpI,EAAa9iF,YALXzO,EAaTjE,OA5D0B,CAACwT,EAAGzT,EAAQI,KACtC,MAAM,KACJ8R,EAAI,QACJiY,GACEwwE,EAAWlnF,EAAGzT,EAAQI,GAC1B,OAAIw6F,EACKA,EAAoBzwE,EAASnqB,EAAQI,EAAO8R,GAE9CA,CAAI,EAqDXhH,OAAQuqF,EAAavqF,OACrB,CAACuC,IAAsB,CACrB3N,UAAWk/F,IAGf,OAAO5uF,EAAaxI,KAAInC,GAAOA,IAAQm2D,GAAmBqjC,EAAkBx5F,GAAI,GAC/E,CAAC6B,EAAWy0F,EAAatG,EAAc+G,EAAqBG,EAAuBC,EAA2BpC,EAAmBwC,EAAkBlH,EAAYwG,EAAkB/B,EAAkBwC,EAAwBR,IAC9N,MAAO,CAAC7pF,EAAkBiqF,EAAsB,EwFhRI,CAAa,CAC/D98F,YACA6B,KAAMma,GACN+9E,YACAtyF,aACAqvF,kBACAb,cACA1uF,sBACA44D,OAAQuqB,EACRtzD,kBAAmBA,GAAqBooB,GACvCo2C,GAcH/sF,GAAiB4U,uBAAyB5U,GAAiBsC,WAE3DtC,GAAiBsC,WAAatC,GAAiBsC,YAAcA,GO7Q/D,SAA0Bg1D,GACxB,OAAOtlE,IACL,MAAM,UACJmF,EAAS,SACTsK,EAAQ,OACRnK,EAAM,SACNuH,EAAQ,WACR0B,GACEvO,EACEwkG,EAAa,GAAGr/F,oBACtB,OAAoB,gBAAoB,SAAU,CAChDyhB,KAAM,SACNvY,QAASmG,IACP/E,EAASnK,EAAQkP,GACjBA,EAAE7E,iBAAiB,EAErBvK,UAAW,IAAWo/F,EAAY,CAChC,CAAC,GAAGA,aAAuBj2F,EAC3B,CAAC,GAAGi2F,cAAwBj2F,GAAc1B,EAC1C,CAAC,GAAG23F,eAAyBj2F,IAAe1B,IAE9C,aAAcA,EAAWy4D,EAAOm/B,SAAWn/B,EAAOo/B,OAClD,gBAAiB73F,GACjB,CAEN,CPoP6E,CAAiBgjF,GAEzE,SAAfuL,SAAoE16F,IAA3CsN,GAAiBoC,sBAC5CpC,GAAiBoC,sBAAwB2qF,EAAe,EAAI,EACnD/sF,GAAiBoC,sBAAwB,GAAK2qF,IACvD/sF,GAAiBoC,uBAAyB,GAGD,iBAAhCpC,GAAiBqC,aAC1BrC,GAAiBqC,WAAmC,iBAAfA,EAA0BA,EAAa,IAG9E,MAAM2H,GAAmB,eAAkBq4E,GAAgByO,GAAsBK,GAA0BR,GAAuBrB,GAAuBjN,OAAkB,CAACiN,GAAwBqB,GAAwBQ,KAC5N,IAAIwF,GACAC,GAkCAC,GAjCJ,IAAmB,IAAftuB,IAAyBoa,cAA2D,EAASA,GAAiBh6E,OAAQ,CACxH,IAAImuF,EAEFA,EADEnU,GAAiB1jF,KACF0jF,GAAiB1jF,KAEF,UAAf6zD,GAAyC,WAAfA,EAA0B,aAAUpgE,EAEjF,MAAMqkG,EAAmB98F,GAA0B,gBAAoB,GAAY+kB,OAAO2J,OAAO,CAAC,EAAGg6D,GAAkB,CACrHvrF,UAAW,IAAW,GAAGD,gBAAwBA,gBAAwB8C,IAAY0oF,GAAiBvrF,WACtG6H,KAAM63F,KAEFE,EAAgC,QAAdz6F,EAAsB,OAAS,SACjD,SACJtC,GACE0oF,GACJ,GAAiB,OAAb1oF,GAAqBnG,MAAMC,QAAQkG,GAAW,CAChD,MAAMg9F,EAASh9F,EAASypC,MAAKxZ,GAAKA,EAAE1f,SAAS,SACvC0sF,EAAYj9F,EAASypC,MAAKxZ,GAAKA,EAAE1f,SAAS,YAC1C2sF,EAAYl9F,EAAS6C,OAAMotB,GAAgB,QAAX,GAAGA,MACpC+sE,GAAWC,GAAcC,IAC5BP,GAAuBG,EAAiBC,IAEtCC,IACFN,GAAoBI,EAAiBE,EAAOzkE,cAAcynB,QAAQ,MAAO,MAEvEi9C,IACFN,GAAuBG,EAAiBG,EAAU1kE,cAAcynB,QAAQ,SAAU,KAEtF,MACE28C,GAAuBG,EAAiBC,EAE5C,CAGuB,kBAAZr+C,EACTk+C,GAAY,CACVtrB,SAAU5yB,GAEgB,iBAAZA,IAChBk+C,GAAY73E,OAAO2J,OAAO,CACxB4iD,UAAU,GACT5yB,IAEL,MAAMy+C,GAAoB,IAAW9rE,GAAWH,EAAS,GAAGh0B,YAAqBywF,aAAqC,EAASA,EAAMxwF,UAAW,CAC9I,CAAC,GAAGD,iBAAwC,QAAdoF,GAC7BnF,EAAWyyB,EAAeX,IACvBltB,GAAcgjB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGi/D,aAAqC,EAASA,EAAM3rF,OAAQA,GAC1GoW,QAA0F,KAAtEilD,aAAuC,EAASA,EAAOjlD,WAA6BilD,EAAOjlD,WAAaytD,aAAiD,EAASA,EAAY,WAA0B,gBAAoB,KAAoB,CACxQoB,cAAe,UAGXj7D,GAAiB+5D,EAAU,GAAiB,GAE5Cq3B,GAAe,CAAC,EAChB34E,GAAiB,WAAc,KACnC,MAAM,SACJ1a,EAAQ,WACRmlC,EAAU,QACVvlC,EAAO,UACPypC,EAAS,UACT60B,GACEl/C,EACEs0E,EAAatrF,KAAKS,MAAMzI,EAAWmlC,GACzC,OAAQ2pB,GACN,IAAK,QACH,OAAiB,EAAVlvD,EAAc0zF,EACvB,IAAK,QACH,OAAmB,EAAZjqD,EAAgBiqD,EACzB,QACE,OAAmB,EAAZp1B,EAAgBo1B,EAC3B,GACC,CAACt0E,EAAO8vC,IAIX,OAHIkN,IACFq3B,GAAa34E,eAAiBA,IAEzB2M,EAAwB,gBAAoB,MAAO,CACxDp5B,IAAKu7F,GACLp2F,UAAWggG,GACXn7F,MAAOD,IACO,gBAAoB,GAAMgjB,OAAO2J,OAAO,CACtD4iD,UAAU,GACTsrB,IAAYF,GAAgC,gBAAoB1wF,GAAgB+Y,OAAO2J,OAAO,CAAC,EAAG0uE,GAAcjlF,EAAY,CAC7HngB,IAAKw7F,GACL73F,QAASqV,EACT1O,UAAWA,EACXgE,WAAYP,GACZ7I,UAAWA,EACXC,UAAW,IAAW,CACpB,CAAC,GAAGD,YAAoC,WAAf27D,EACzB,CAAC,GAAG37D,WAAmC,UAAf27D,EACxB,CAAC,GAAG37D,cAAuB8nE,EAC3B,CAAC,GAAG9nE,WAAuC,IAAnB+pB,EAAQzjB,QAC/B6tB,GAAWH,EAASjC,IACvBlwB,KAAMk4F,GACN7xF,OAAQT,GACRiB,aA7H2B,CAACvI,EAAQI,EAAO+G,KAC3C,IAAI84F,EAMJ,OAJEA,EAD0B,mBAAjB13F,EACY,IAAWA,EAAavI,EAAQI,EAAO+G,IAEvC,IAAWoB,GAE3B,IAAW,CAChB,CAAC,GAAG1I,kBAA2Bi6F,GAAetyF,IAAIF,GAAUtH,EAAQI,KACnE6/F,EAAmB,EAqHtBllF,UAAWA,GAEXQ,cAAevgB,EACfwgB,aAAcA,GACd9I,iBAAkBA,GAClBgJ,kBAAmBA,MAChB4jF,KAAuB,EAE9B,GAA4B,aAAiBhK,IQhYvC,GAAQ,CAAC56F,EAAOC,KACpB,MAAMmD,EAAiB,SAAa,GAEpC,OADAA,EAAepC,SAAW,EACN,gBAAoB,GAAegsB,OAAO2J,OAAO,CAAC,EAAG32B,EAAO,CAC9EC,IAAKA,EACLm0F,aAAchxF,EAAepC,UAC5B,EAECwkG,GAA4B,aAAiB,IACnDA,GAAatkC,iBAAmBA,GAChCskC,GAAanlG,cAAgBA,EAC7BmlG,GAAarkC,cAAgBA,GAC7BqkC,GAAapkC,iBAAmBA,GAChCokC,GAAankC,eAAiBA,GAC9BmkC,GAAaz6E,OCpBEhS,GAAK,KDqBpBysF,GAAax6E,YErBOjS,GAAK,KFsBzBysF,GAAav6F,QAAU,EAIvB,MGzBA,GHyBA,qHI1BA,QADyB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,2UAA+U,KAAQ,cAAe,MAAS,2BCM3gB,EAAqB,SAA4BjL,EAAOC,GAC1D,OAAoB,gBAAoBC,EAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,IAEV,EAOA,QAJ2B,aAAiB,GCb5C,EADqB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,2MAA+M,KAAQ,SAAU,MAAS,YCMtY,IAAI,EAAiB,SAAwBJ,EAAOC,GAClD,OAAoB,gBAAoBC,EAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,IAEV,EAOA,QAJ2B,aAAiB,2DCb5C,QADqB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,mQAAuQ,KAAQ,SAAU,MAAS,YCM9b,IAAI,EAAiB,SAAwBJ,EAAOC,GAClD,OAAoB,gBAAoBC,EAAAC,GAAU,OAAS,CAAC,EAAGH,EAAO,CACpEC,IAAKA,EACLG,KAAM,IAEV,EAOA,QAJ2B,aAAiB,wCCqB5C,QAhCA,SAA6BJ,GAC3B,MAAM,aACJylG,EAAY,gBACZC,EAAe,UACfvgG,EAAS,OACTsH,EAAM,UACNlC,EAAY,OACVvK,EACE2lG,EAA8B,QAAdp7F,EAAsB,OAAS,QAE/CN,EAAQ,CACZ,CAAC07F,IAAiBD,EAAkBj5F,EAZlB,EAalB,CAHgC,QAAdlC,EAAsB,QAAU,QAGnC,GAEjB,OAAQk7F,GACN,KAAM,EACJx7F,EAAM2L,KAAO,EACb,MACF,KAAK,EACH3L,EAAM4L,QAAU,EAChB,MACF,QAEE5L,EAAM4L,QAAU,EAChB5L,EAAM07F,GAAiBl5F,EAzBP,EA4BpB,OAAoB,kBAAoB,MAAO,CAC7CxC,MAAOA,EACP7E,UAAW,GAAGD,oBAElB,iBCvBA,MAAMygG,EAAoB,gBAAiB,CAAC5lG,EAAOC,KACjD,IAAIk2B,EACJ,MAAM,aACJY,EAAY,UACZxsB,EAAS,QACTyjE,EAAO,KACP63B,GACE,eAAiB,OAEnB1gG,UAAWyyB,EAAkB,UAC7BxyB,EAAS,SACTyoF,GAAW,EAAK,SAChBiY,EAAQ,aACRC,EAAY,oBACZC,EAAmB,UACnBtY,GAAY,EAAK,SACjB5sF,EAAQ,UACR2sF,GAAY,EAAK,WACjBvgD,GAAa,EAAI,UACjB+4D,EACA1+D,OAAQ2+D,EAAY,MACpBj8F,GACEjK,EACEmF,EAAY4xB,EAAa,OAAQa,GACjC+qB,EAAgB5rB,IAChBwQ,EAAS2+D,QAAmDA,EAAel5E,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,GAAG,OAAmBgsB,IAAiB,CACnJ5sB,cAAc,IAEVowE,EAAWn5E,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAG32B,GAAQ,CACvDytF,YACAvgD,aACA2gD,WACAtmD,SACAmmD,YACAoY,SAAUtvF,QAAQsvF,GAClBM,oBAAmB,KAEd/sE,EAAYnC,EAAQoC,IAAa,QAASn0B,IAC1C,CAAE6rB,IAAS,EAAAq1E,EAAA,MACZr4E,EAAagD,EAAMqqB,UAAY,IAA4B,QAArBllB,EAAKnF,EAAM40E,YAAyB,IAAPzvE,OAAgB,EAASA,EAAGmwE,cAAgBt1E,EAAM0tB,iBACrH6nD,EAAkB,aAAc,KACpC,IAAKN,EACH,OAAO,EAET,IAAIO,EAAkB,CAAC,EACvB,cAAeP,GACb,IAAK,WACHO,EAAgBC,cAAgBR,EAChC,MACF,IAAK,SACHO,EAAkBx5E,OAAO2J,OAAO,CAAC,EAAGsvE,GASxC,OAH6B,IAAzBO,EAAgBpmG,OAClBomG,EAAgBpmG,KAAOomG,EAAgBpmG,MAAqB,kBAAoB,EAAgB,OAE3FomG,CAAe,GACrB,CAACP,IAQJ,OAAO5sE,EAGP,kBAAoB,IAAQrM,OAAO2J,OAAO,CACxC3I,WAAYA,EACZ/tB,IAAKA,EACL+tE,QAASA,GACRm4B,EAAU,CAEXl8F,MAAO+iB,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGkvE,aAAmC,EAASA,EAAK57F,OAAQA,GAChG9E,UAAWA,EACXC,UAAW,IAAW,CACpB,CAAC,GAAGD,gBAAyB0oF,EAC7B,CAAC,GAAG1oF,gBAAyBuoF,EAC7B,CAAC,GAAGvoF,mBAA4B+nC,EAChC,CAAC,GAAG/nC,SAAgC,QAAdoF,GACrBs7F,aAAmC,EAASA,EAAKzgG,UAAWA,EAAW8xB,EAAQoC,GAClF/uB,UAAWA,EACXkjF,UAAWA,EAAyB,kBAAoB,OAAQ,CAC9DroF,UAAW,GAAGD,qBACXsoF,EACLvgD,WAAYA,EACZ64D,aA7ByBW,GAA2B,kBAAoB,IAAiB,CACzFvhG,UAAWA,EACX4gG,aAAcA,EACdC,oBAAqBA,EACrBW,cAAeD,EACfZ,SAAUA,IAyBVG,UAAWM,IACTzlG,GAAU,IAKhB,ICxGA,SAAS8lG,EAAiB9Y,EAAUzxE,EAAUwqF,GAC5C,MACE5kG,IAAK6kG,EACLhmG,SAAUimG,GACRF,EAQJ/Y,EAAStsF,SAPT,SAAqBwlG,GACnB,MAAM/kG,EAAM+kG,EAASF,GACfhmG,EAAWkmG,EAASD,IACM,IAA5B1qF,EAASpa,EAAK+kG,IAChBJ,EAAiB9lG,GAAY,GAAIub,EAAUwqF,EAE/C,GAEF,CA0CO,SAASI,EAA4BnZ,EAAUhqF,EAAM+iG,GAC1D,MAAMK,GAAW,OAAmBpjG,GAC9Bm4D,EAAQ,GASd,OARA2qC,EAAiB9Y,GAAU,CAAC7rF,EAAKuV,KAC/B,MAAM9R,EAAQwhG,EAAStuF,QAAQ3W,GAK/B,OAJe,IAAXyD,IACFu2D,EAAM53D,KAAKmT,GACX0vF,EAASxuF,OAAOhT,EAAO,MAEhBwhG,EAASz7F,MAAM,IACvB,QAAeo7F,IACX5qC,CACT,CCrEA,IAAI1jC,EAAgC,SAAUP,EAAGxjB,GAC/C,IAAIyjB,EAAI,CAAC,EACT,IAAK,IAAIC,KAAKF,EAAOhL,OAAOmL,UAAUC,eAAe/uB,KAAK2uB,EAAGE,IAAM1jB,EAAEoE,QAAQsf,GAAK,IAAGD,EAAEC,GAAKF,EAAEE,IAC9F,GAAS,MAALF,GAAqD,mBAAjChL,OAAOqL,sBAA2C,KAAItrB,EAAI,EAAb,IAAgBmrB,EAAIlL,OAAOqL,sBAAsBL,GAAIjrB,EAAImrB,EAAEzsB,OAAQsB,IAClIyH,EAAEoE,QAAQsf,EAAEnrB,IAAM,GAAKigB,OAAOmL,UAAUG,qBAAqBjvB,KAAK2uB,EAAGE,EAAEnrB,MAAKkrB,EAAEC,EAAEnrB,IAAMirB,EAAEE,EAAEnrB,IADuB,CAGvH,OAAOkrB,CACT,EAWA,SAASytD,EAAQ1lF,GACf,MAAM,OACJmnG,EAAM,SACNt6F,GACE7M,EACJ,OAAImnG,EACkB,gBAAoBC,EAAA,EAAc,MAEjDv6F,EAAwB,gBAAoB,EAAoB,MAAqB,gBAAoB,EAAgB,KAClI,CACA,SAAS4/E,EAAY7rF,GACnB,IAAI,SACFktF,EAAQ,SACRhtF,GACEF,EACJ,OAAOktF,IAAY,QAAkBhtF,EACvC,CACA,MAAMumG,EAAgB,CAAClxE,EAAIl2B,KACzB,IAAI,iBACA+tF,EAAgB,oBAChBsZ,EAAmB,oBACnBC,GACEpxE,EACJn2B,EAAQu4B,EAAOpC,EAAI,CAAC,mBAAoB,sBAAuB,wBAEjE,MAAMqxE,EAAkB,WAClBC,EAAqB,YAgBpBpiE,EAAcynD,GAAmB,WAAe9sF,EAAMqlC,cAAgBrlC,EAAMqtC,qBAAuB,KACnG1gC,EAAc+6F,GAAmB,YAAe,IAhB3B,MAC1B,MAAM,YACJpG,IACE,QAAsB7U,EAAYzsF,IACtC,IAAI2nG,EASJ,OANEA,EADE3Z,EACiBhhE,OAAOlpB,KAAKw9F,GACtBgG,GACU,QAAoBtnG,EAAM2M,cAAgB46F,GAAuB,GAAIjG,GAErEthG,EAAM2M,cAAgB46F,GAAuB,GAE3DI,CAAgB,EAGoCC,KAC7D,aAAgB,KACV,iBAAkB5nG,GACpB8sF,EAAgB9sF,EAAMqlC,aACxB,GACC,CAACrlC,EAAMqlC,eACV,aAAgB,KACV,iBAAkBrlC,GACpB0nG,EAAgB1nG,EAAM2M,aACxB,GACC,CAAC3M,EAAM2M,eACV,MA4DM,aACJoqB,EAAY,UACZxsB,GACE,aAAiB,OAEjBpF,UAAWyyB,EAAkB,UAC7BxyB,EAAS,SACTyoF,GAAW,EAAI,aACfga,EAAe,SACb7nG,EACJ+8B,EAAaxE,EAAOv4B,EAAO,CAAC,YAAa,YAAa,WAAY,iBAC9DmF,EAAY4xB,EAAa,OAAQa,GACjCkwE,EAAmB,IAAW,GAAG3iG,cAAuB,CAC5D,CAAC,GAAGA,mBAA0C,QAAdoF,GAC/BnF,GACH,OAAoB,gBAAoB,EAAM4nB,OAAO2J,OAAO,CAC1Dv2B,KAAMslF,EACNzlF,IAAKA,EACLytF,WAAW,GACV3wD,EAAY,CACb8wD,SAAUA,EACVga,aAAcA,EACd1iG,UAAWA,EACXC,UAAW0iG,EACXn7F,aAAcA,EACd04B,aAAcA,EACdiI,SA9Ee,CAACxpC,EAAMqF,KACtB,IAAIgtB,EACJ,MAAM,SACJiX,EAAQ,WACRy5D,GACE7mG,GACE,KACJwX,EAAI,YACJsZ,GACE3nB,GACE,IACJlH,EAAM,IACJuV,EACEs2E,EAAWrB,EAAYzsF,GAGvBg9E,EAAWhwD,OAAO2J,OAAO3J,OAAO2J,OAAO,CAAC,EAAGxtB,GAAQ,CACvD48B,UAAU,IAGNgiE,GAAYj3E,aAAiD,EAASA,EAAYuyD,WAAavyD,aAAiD,EAASA,EAAYwyD,SACrK0kB,EAAYl3E,aAAiD,EAASA,EAAY8yE,SAExF,IAAIqE,EACA76D,GAAY26D,GAEdE,EAAkBnkG,EAClB0jG,EAAgBxmG,QAAUiB,EAC1BwlG,EAAmBzmG,QAAUinG,EAC7BjrB,EAASkrB,cAAgBjB,EAA4BnZ,EAAUma,EAAiBpB,IACvEz5D,GAAY46D,GAErBC,EAAkBnmG,MAAM6iF,KAAK,IAAIvjF,IAAI,GAAGgD,QAAO,OAAmBqjG,EAAmBzmG,SAAW,KAAK,OD/FpG,SAAuBJ,GAC5B,IAAI,SACFktF,EAAQ,aACRnhF,EAAY,SACZw7F,EAAQ,OACRC,EAAM,WACNvB,GACEjmG,EACJ,MAAMkD,EAAO,GACb,IAAIwB,EA3Bc,EA4BlB,OAAI6iG,GAAYA,IAAaC,EACpB,CAACD,GAELA,GAAaC,GAMlBxB,EAAiB9Y,GAAU7rF,IACzB,GApCe,IAoCXqD,EACF,OAAO,EAET,GAPF,SAAkBrD,GAChB,OAAOA,IAAQkmG,GAAYlmG,IAAQmmG,CACrC,CAKMC,CAASpmG,IAGX,GADA6B,EAAKO,KAAKpC,GA3CI,IA4CVqD,EACFA,EA5Ca,OA6CR,GA7CQ,IA6CJA,EAET,OADAA,EA7CW,GA8CJ,OA/CM,IAiDNA,GAETxB,EAAKO,KAAKpC,GAEZ,OAAO0K,EAAa6L,SAASvW,EAAI,IAChC,QAAe4kG,IACX/iG,GAxBE,EAyBX,CCwD8HwkG,CAAc,CACpIxa,WACAnhF,eACAw7F,SAAUlmG,EACVmmG,OAAQZ,EAAgBxmG,QACxB6lG,mBAEF7pB,EAASkrB,cAAgBjB,EAA4BnZ,EAAUma,EAAiBpB,KAGhFoB,EAAkB,CAAChmG,GACnBulG,EAAgBxmG,QAAUiB,EAC1BwlG,EAAmBzmG,QAAUinG,EAC7BjrB,EAASkrB,cAAgBjB,EAA4BnZ,EAAUma,EAAiBpB,IAExD,QAAzB1wE,EAAKn2B,EAAMstC,gBAA6B,IAAPnX,GAAyBA,EAAG9sB,KAAKrJ,EAAOioG,EAAiBjrB,GACrF,iBAAkBh9E,GACtB8sF,EAAgBmb,EAClB,EA6BAx4F,SAvFe,CAAC3L,EAAMuqB,KACtB,IAAI8H,EAKJ,MAJM,iBAAkBn2B,GACtB0nG,EAAgB5jG,GAGe,QAAzBqyB,EAAKn2B,EAAMyP,gBAA6B,IAAP0mB,OAAgB,EAASA,EAAG9sB,KAAKrJ,EAAO8D,EAAMuqB,EAAK,IAkF3F,EAML,EAJ0C,aAAiBg5E,GChKrD,EAAO,EACb,EAAKA,cAAgB,EACrB,EAAKkB,SAAW,IAChB,uCCNA,IAAIC,EAAyB,gBAC7Bx7E,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAClB,IAAIC,EAASF,EAAuB,EAAQ,QAC7BC,EAAA,QAAkBC,EAAO5xC,sCCNxC,IAAI0xC,EAAyB,gBAC7Bx7E,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAClB,IAAIE,EAASH,EAAuB,EAAQ,QAC7BC,EAAA,QAAkBE,EAAO7xC,sCCNxC,IAAI0xC,EAAyB,gBAC7Bx7E,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAClB,IAAIC,EAASF,EAAuB,EAAQ,QACxCI,EAAUJ,EAAuB,EAAQ,QAE7C,MAAMljC,EAAS,CACbujC,KAAM77E,OAAO2J,OAAO,CAClB0xD,YAAa,cACbygB,gBAAiB,cACjBC,mBAAoB,iBACpBC,iBAAkB,eAClBC,gBAAiB,cACjBC,iBAAkB,CAAC,aAAc,YACjCC,qBAAsB,CAAC,aAAc,YACrCC,wBAAyB,CAAC,gBAAiB,eAC3CC,sBAAuB,CAAC,cAAe,aACvCC,qBAAsB,CAAC,aAAc,aACpCZ,EAAO5xC,SACVyyC,iBAAkBv8E,OAAO2J,OAAO,CAAC,EAAGiyE,EAAQ9xC,UAI/B2xC,EAAA,QAAkBnjC,gCCzBjC,IAAIkjC,EAAyB,gBAC7Bx7E,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAClB,IAAIE,EAASH,EAAuB,EAAQ,QACxCgB,EAAUhB,EAAuB,EAAQ,QAE7C,MAAMljC,EAAS,CACbujC,KAAM77E,OAAO2J,OAAO,CAClB0xD,YAAa,QACbygB,gBAAiB,QACjBC,mBAAoB,QACpBC,iBAAkB,QAClBC,gBAAiB,OACjBC,iBAAkB,CAAC,OAAQ,QAC3BC,qBAAsB,CAAC,OAAQ,QAC/BE,sBAAuB,CAAC,OAAQ,QAChCD,wBAAyB,CAAC,OAAQ,QAClCE,qBAAsB,CAAC,MAAO,QAC7BX,EAAO7xC,SACVyyC,iBAAkBv8E,OAAO2J,OAAO,CAAC,EAAG6yE,EAAQ1yC,UAG9CwO,EAAOujC,KAAKY,GAAK,KAGFhB,EAAA,QAAkBnjC,oCC3B7BkjC,EAAyB,gBAI7BC,EAAQ,OAAU,EAClB,IAAIC,EAASF,EAAuB,EAAQ,QACxCI,EAAUJ,EAAuB,EAAQ,OACzCkB,EAAUlB,EAAuB,EAAQ,QACzCmB,EAAUnB,EAAuB,EAAQ,QAC7C,MAAMoB,EAAe,kCACfC,EAAe,CACnBvkC,OAAQ,KACRwkC,WAAYpB,EAAO5xC,QACnBizC,WAAYL,EAAQ5yC,QACpBkzC,WAAYL,EAAQ7yC,QACpBmzC,SAAUrB,EAAQ9xC,QAClBozC,OAAQ,CACN7hB,YAAa,iBAEf8S,MAAO,CACLgP,YAAa,cACb/b,cAAe,KACfD,YAAa,QACbb,gBAAiB,aACjBE,eAAgB,mBAChBxD,wBAAyB,oBACzB3pE,UAAW,UACX+pF,UAAW,sBACX3H,aAAc,sBACdG,WAAY,iBACZL,aAAc,kBACd8H,UAAW,OACX3F,OAAQ,aACRD,SAAU,eACVhS,YAAa,2BACbD,WAAY,0BACZD,WAAY,2BAEd+X,KAAM,CACJC,KAAM,OACNC,SAAU,WACVC,OAAQ,UAEVC,MAAO,CACLC,OAAQ,KACRC,WAAY,SACZC,WAAY,MAEdC,WAAY,CACVH,OAAQ,KACRC,WAAY,UAEdG,SAAU,CACRC,OAAQ,CAAC,GAAI,IACbC,kBAAmB,cACnBC,SAAU,OACVC,UAAW,QACX7uF,OAAQ,SACR8uF,cAAe,sBACfC,cAAe,sBACfjB,UAAW,kBACXkB,YAAa,oBACbC,UAAW,kBACX9I,aAAc,uBAEhB+I,OAAQ,CACNC,UAAW,eACXC,WAAY,cACZC,YAAa,eACbC,YAAa,eACbC,aAAc,iBAEhBC,MAAO,CACLze,YAAa,WAEfxpD,KAAM,CACJzjC,KAAM,QAER2rG,KAAM,CACJC,KAAM,OACNC,KAAM,OACNC,OAAQ,SACRxH,OAAQ,SACRD,SAAU,YAEZ0H,KAAM,CACJC,SAAU,aACVC,wBAAyB,CACvBv1C,QAAS,sCACT38B,SAAU,wBACVmyE,KAAM,oCACNC,WAAY,uCACZC,KAAM,CACJC,OAAQ,kCACRC,MAAO,yCACPC,QAAS,+BAEXC,MAAO,CACLC,OAAQjD,EACRzH,OAAQyH,EACRkD,MAAOlD,EACPmD,OAAQnD,EACRoD,OAAQpD,EACR4C,KAAM5C,EACNqD,QAASrD,EACTsD,QAAStD,EACTx2B,MAAOw2B,EACPuD,OAAQvD,EACRwD,MAAOxD,EACPyD,IAAKzD,EACL59C,IAAK49C,GAEPiD,OAAQ,CACN73D,IAAK,qCACL2X,IAAK,8CACL1yC,IAAK,2CACLqzF,MAAO,qDAETN,OAAQ,CACNh4D,IAAK,mCACL2X,IAAK,kCACL1yC,IAAK,kCACLqzF,MAAO,0CAETR,MAAO,CACL93D,IAAK,0BACL2X,IAAK,2BACL1yC,IAAK,0BACLqzF,MAAO,wDAETC,QAAS,CACPC,SAAU,oDAIhBC,MAAO,CACLC,QAAS,WAEXC,OAAQ,CACNC,QAAS,kBACTC,QAAS,UACTC,QAAS,WAEXC,YAAa,CACXC,YAAa,QACbC,YAAa,cACbC,YAAa,SACbC,cAAe,aAGJ1F,EAAQ,EAAUoB,oCCtJ7BrB,EAAyB,gBAI7BC,EAAQ,OAAU,EAClB,IAAIE,EAASH,EAAuB,EAAQ,QACxCgB,EAAUhB,EAAuB,EAAQ,QACzC4F,EAAU5F,EAAuB,EAAQ,QACzC6F,EAAU7F,EAAuB,EAAQ,QAC7C,MAAMoB,EAAe,yBACfC,EAAe,CACnBvkC,OAAQ,QACRwkC,WAAYnB,EAAO7xC,QACnBizC,WAAYqE,EAAQt3C,QACpBkzC,WAAYqE,EAAQv3C,QACpBmzC,SAAUT,EAAQ1yC,QAElBozC,OAAQ,CACN7hB,YAAa,OAEf8S,MAAO,CACLgP,YAAa,KACb/b,cAAe,KACfD,YAAa,KACbb,gBAAiB,OACjBE,eAAgB,KAChBxD,wBAAyB,UACzB3pE,UAAW,OACX+pF,UAAW,OACX3H,aAAc,OACdG,WAAY,OACZL,aAAc,OACd8H,UAAW,KACX3F,OAAQ,MACRD,SAAU,MACVhS,YAAa,OACbD,WAAY,OACZD,WAAY,QAEdmY,MAAO,CACLC,OAAQ,KACRC,WAAY,KACZC,WAAY,OAEdP,KAAM,CACJC,KAAM,MACNC,SAAU,MACVC,OAAQ,QAEVK,WAAY,CACVF,WAAY,KACZD,OAAQ,MAEVI,SAAU,CACRC,OAAQ,CAAC,GAAI,IACbC,kBAAmB,UACnBC,SAAU,IACVC,UAAW,IACX7uF,OAAQ,KACR8uF,cAAe,OACfC,cAAe,OACfjB,UAAW,OACXkB,YAAa,OACbC,UAAW,OACX9I,aAAc,QAEhB+I,OAAQ,CACNC,UAAW,QACXC,WAAY,OACZC,YAAa,OACbC,YAAa,OACbC,aAAc,QAEhBC,MAAO,CACLze,YAAa,QAEfxpD,KAAM,CACJzjC,KAAM,MAER2rG,KAAM,CACJC,KAAM,KACNC,KAAM,KACNC,OAAQ,OACRxH,OAAQ,KACRD,SAAU,MAEZ0H,KAAM,CACJC,SAAU,OACVC,wBAAyB,CACvBv1C,QAAS,iBACT38B,SAAU,cACVmyE,KAAM,2BACNC,WAAY,iBACZC,KAAM,CACJC,OAAQ,iBACRC,MAAO,kBACPC,QAAS,mBAEXC,MAAO,CACLC,OAAQjD,EACRzH,OAAQyH,EACRkD,MAAOlD,EACPmD,OAAQnD,EACRoD,OAAQpD,EACR4C,KAAM5C,EACNqD,QAASrD,EACTsD,QAAStD,EACTx2B,MAAOw2B,EACPuD,OAAQvD,EACRwD,MAAOxD,EACPyD,IAAKzD,EACL59C,IAAK49C,GAEPiD,OAAQ,CACN73D,IAAK,sBACL2X,IAAK,sBACL1yC,IAAK,sBACLqzF,MAAO,+BAETN,OAAQ,CACNh4D,IAAK,qBACL2X,IAAK,qBACL1yC,IAAK,qBACLqzF,MAAO,6BAETR,MAAO,CACL93D,IAAK,oBACL2X,IAAK,oBACL1yC,IAAK,oBACLqzF,MAAO,+BAETC,QAAS,CACPC,SAAU,8BAIhBC,MAAO,CACLC,QAAS,MAEXC,OAAQ,CACNC,QAAS,QACTC,QAAS,OACTC,QAAS,OAEXC,YAAa,CACXC,YAAa,KACbC,YAAa,KACbC,YAAa,KACbC,cAAe,QAGJ1F,EAAQ,EAAUoB,8BCvJjC78E,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAKHA,EAAA,QAJA,CACbpgB,YAAa,cACb6gB,iBAAkB,CAAC,aAAc,yCCNnCl8E,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAKHA,EAAA,QAJA,CACbpgB,YAAa,QACb6gB,iBAAkB,CAAC,OAAQ,qCCN7Bl8E,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAgBHA,EAAA,QAfF,CAEXjkC,eAAgB,SAChBC,QAAS,QACTC,gBAAiB,UACjBC,KAAM,OAENC,UAAW,gBACXC,UAAW,YACXC,OAAQ,mBACRC,OAAQ,eACRC,OAAQ,mBACRC,OAAQ,eACRC,UAAW,yCCjBbl4C,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAgBHA,EAAA,QAfF,CAEXjkC,eAAgB,MAChBC,QAAS,KACTC,gBAAiB,KACjBC,KAAM,IAENC,UAAW,MACXC,UAAW,MACXC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,UAAW,iCCjBbl4C,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAQ6F,kBAAe,EACJ7F,EAAQ6F,aAAe,CACxCC,WAAY,OACZC,UAAW,IACXC,mBAAoB,IACpBC,iBAAiB,iCCRnB,IAAIlG,EAAyB,gBAC7Bx7E,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAClB,IAAIkG,EAAiBnG,EAAuB,EAAQ,QAChDoG,EAAU,EAAQ,MAClBtpC,GAAS,EAAIqpC,EAAe73C,UAAS,EAAI63C,EAAe73C,SAAS,CAAC,EAAG83C,EAAQN,cAAe,CAAC,EAAG,CAClGhpC,OAAQ,QACRupC,MAAO,QACPjzB,IAAK,MACLkzB,YAAa,gBACbrF,GAAI,KACJpyD,MAAO,QACP03D,MAAO,QACPC,KAAM,OACNC,WAAY,cACZC,WAAY,cACZC,WAAY,gBACZC,YAAa,iBACbC,WAAY,gBACZC,aAAc,kBACdC,WAAY,WACZC,eAAgB,oBAChBC,cAAe,0BACfC,UAAW,wBACXC,aAAc,6BACdC,SAAU,8BACVC,eAAgB,cAChBC,WAAY,cACZC,gBAAiB,eACjBC,YAAa,iBAEAvH,EAAA,QAAkBnjC,gCCjCjC,IAAIkjC,EAAyB,gBAC7Bx7E,OAAOC,eAAew7E,EAAS,aAAc,CAC3C5nG,OAAO,IAET4nG,EAAA,aAAkB,EAClB,IAAIkG,EAAiBnG,EAAuB,EAAQ,QAChDoG,EAAU,EAAQ,MAClBtpC,GAAS,EAAIqpC,EAAe73C,UAAS,EAAI63C,EAAe73C,SAAS,CAAC,EAAG83C,EAAQN,cAAe,CAAC,EAAG,CAClGhpC,OAAQ,QACRupC,MAAO,KACPjzB,IAAK,KACLkzB,YAAa,OACbrF,GAAI,KACJwF,WAAY,OACZC,WAAY,OACZC,WAAY,MACZ93D,MAAO,KACP03D,MAAO,IACPC,KAAM,IACNS,cAAe,aACfC,UAAW,aACXN,YAAa,OACbC,WAAY,OACZC,aAAc,OACdK,aAAc,sBACdC,SAAU,sBACVC,eAAgB,OAChBC,WAAY,OACZC,gBAAiB,OACjBC,YAAa,OACbzB,WAAY,QACZ0B,eAAgB,IAChBvB,iBAAiB,IAEJjG,EAAA,QAAkBnjC,mBCpCjC,IAAI4qC,EAAgB,EAAQ,OAe5BC,EAAO1H,QAdP,SAAyBzmG,EAAKC,EAAKpB,GAYjC,OAXAoB,EAAMiuG,EAAcjuG,MACTD,EACTgrB,OAAOC,eAAejrB,EAAKC,EAAK,CAC9BpB,MAAOA,EACPuvG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZtuG,EAAIC,GAAOpB,EAENmB,CACT,EACkCmuG,EAAO1H,QAAQ8H,YAAa,EAAMJ,EAAO1H,QAAiB,QAAI0H,EAAO1H,kBCVvG0H,EAAO1H,QALP,SAAgCzmG,GAC9B,OAAOA,GAAOA,EAAIuuG,WAAavuG,EAAM,CACnC,QAAWA,EAEf,EACyCmuG,EAAO1H,QAAQ8H,YAAa,EAAMJ,EAAO1H,QAAiB,QAAI0H,EAAO1H,yBCL9G,IAAIx7E,EAAiB,EAAQ,OAC7B,SAASujF,EAAQh8F,EAAG00C,GAClB,IAAIjxB,EAAIjL,OAAOlpB,KAAK0Q,GACpB,GAAIwY,OAAOqL,sBAAuB,CAChC,IAAIo4E,EAAIzjF,OAAOqL,sBAAsB7jB,GACrC00C,IAAMunD,EAAIA,EAAEl6F,QAAO,SAAU2yC,GAC3B,OAAOl8B,OAAO0jF,yBAAyBl8F,EAAG00C,GAAGknD,UAC/C,KAAKn4E,EAAE5zB,KAAKuK,MAAMqpB,EAAGw4E,EACvB,CACA,OAAOx4E,CACT,CAYAk4E,EAAO1H,QAXP,SAAwBj0F,GACtB,IAAK,IAAI00C,EAAI,EAAGA,EAAIz6C,UAAUhD,OAAQy9C,IAAK,CACzC,IAAIjxB,EAAI,MAAQxpB,UAAUy6C,GAAKz6C,UAAUy6C,GAAK,CAAC,EAC/CA,EAAI,EAAIsnD,EAAQxjF,OAAOiL,IAAI,GAAIz2B,SAAQ,SAAU0nD,GAC/Cj8B,EAAezY,EAAG00C,EAAGjxB,EAAEixB,GACzB,IAAKl8B,OAAO2jF,0BAA4B3jF,OAAO4jF,iBAAiBp8F,EAAGwY,OAAO2jF,0BAA0B14E,IAAMu4E,EAAQxjF,OAAOiL,IAAIz2B,SAAQ,SAAU0nD,GAC7Il8B,OAAOC,eAAezY,EAAG00C,EAAGl8B,OAAO0jF,yBAAyBz4E,EAAGixB,GACjE,GACF,CACA,OAAO10C,CACT,EACiC27F,EAAO1H,QAAQ8H,YAAa,EAAMJ,EAAO1H,QAAiB,QAAI0H,EAAO1H,yBCtBtG,IAAIoI,EAAU,iBAWdV,EAAO1H,QAVP,SAAqBxwE,EAAGixB,GACtB,GAAI,UAAY2nD,EAAQ54E,KAAOA,EAAG,OAAOA,EACzC,IAAIzjB,EAAIyjB,EAAE64E,OAAOC,aACjB,QAAI,IAAWv8F,EAAG,CAChB,IAAIzH,EAAIyH,EAAEnL,KAAK4uB,EAAGixB,GAAK,WACvB,GAAI,UAAY2nD,EAAQ9jG,GAAI,OAAOA,EACnC,MAAM,IAAIikG,UAAU,+CACtB,CACA,OAAQ,WAAa9nD,EAAIse,OAASpjD,QAAQ6T,EAC5C,EAC8Bk4E,EAAO1H,QAAQ8H,YAAa,EAAMJ,EAAO1H,QAAiB,QAAI0H,EAAO1H,yBCXnG,IAAIoI,EAAU,iBACVE,EAAc,EAAQ,OAK1BZ,EAAO1H,QAJP,SAAuBxwE,GACrB,IAAIlrB,EAAIgkG,EAAY94E,EAAG,UACvB,MAAO,UAAY44E,EAAQ9jG,GAAKA,EAAIA,EAAI,EAC1C,EACgCojG,EAAO1H,QAAQ8H,YAAa,EAAMJ,EAAO1H,QAAiB,QAAI0H,EAAO1H,mBCNrG,SAASoI,EAAQJ,GAGf,OAAQN,EAAO1H,QAAUoI,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOG,SAAW,SAAUR,GAC/G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBK,QAAUL,EAAEjoD,cAAgBsoD,QAAUL,IAAMK,OAAO34E,UAAY,gBAAkBs4E,CACpH,EAAGN,EAAO1H,QAAQ8H,YAAa,EAAMJ,EAAO1H,QAAiB,QAAI0H,EAAO1H,QAAUoI,EAAQJ,EAC5F,CACAN,EAAO1H,QAAUoI,EAASV,EAAO1H,QAAQ8H,YAAa,EAAMJ,EAAO1H,QAAiB,QAAI0H,EAAO1H","sources":["webpack:///../../node_modules/@ant-design/icons-svg/es/asn/LeftOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/LeftOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/RightOutlined.js","webpack:///../../node_modules/rc-table/es/constant.js","webpack:///../../node_modules/@rc-component/context/es/context.js","webpack:///../../node_modules/@rc-component/context/es/Immutable.js","webpack:///../../node_modules/@rc-component/context/es/index.js","webpack:///../../node_modules/rc-table/es/context/TableContext.js","webpack:///../../node_modules/rc-table/es/context/PerfContext.js","webpack:///../../node_modules/rc-table/es/utils/valueUtil.js","webpack:///../../node_modules/rc-table/es/Cell/index.js","webpack:///../../node_modules/rc-table/es/Cell/useCellRender.js","webpack:///../../node_modules/rc-table/es/Cell/useHoverState.js","webpack:///../../node_modules/rc-table/es/utils/fixUtil.js","webpack:///../../node_modules/rc-table/es/Footer/SummaryContext.js","webpack:///../../node_modules/rc-table/es/Footer/Row.js","webpack:///../../node_modules/rc-table/es/Footer/Summary.js","webpack:///../../node_modules/rc-table/es/Footer/Cell.js","webpack:///../../node_modules/rc-table/es/Footer/index.js","webpack:///../../node_modules/rc-util/es/Dom/styleChecker.js","webpack:///../../node_modules/rc-table/es/hooks/useFlattenRecords.js","webpack:///../../node_modules/rc-table/es/hooks/useRowInfo.js","webpack:///../../node_modules/rc-table/es/Body/ExpandedRow.js","webpack:///../../node_modules/rc-table/es/utils/expandUtil.js","webpack:///../../node_modules/rc-table/es/Body/BodyRow.js","webpack:///../../node_modules/rc-table/es/Body/MeasureCell.js","webpack:///../../node_modules/rc-table/es/Body/MeasureRow.js","webpack:///../../node_modules/rc-table/es/Body/index.js","webpack:///../../node_modules/rc-table/es/utils/legacyUtil.js","webpack:///../../node_modules/rc-table/es/ColGroup.js","webpack:///../../node_modules/rc-table/es/FixedHolder/index.js","webpack:///../../node_modules/rc-table/es/Header/HeaderRow.js","webpack:///../../node_modules/rc-table/es/Header/Header.js","webpack:///../../node_modules/rc-table/es/hooks/useColumns/useWidthColumns.js","webpack:///../../node_modules/rc-table/es/hooks/useColumns/index.js","webpack:///../../node_modules/rc-table/es/hooks/useFrame.js","webpack:///../../node_modules/rc-table/es/hooks/useSticky.js","webpack:///../../node_modules/rc-table/es/hooks/useStickyOffsets.js","webpack:///../../node_modules/rc-table/es/Panel/index.js","webpack:///../../node_modules/rc-util/es/Dom/addEventListener.js","webpack:///../../node_modules/rc-util/es/Dom/css.js","webpack:///../../node_modules/rc-table/es/stickyScrollBar.js","webpack:///../../node_modules/rc-table/es/Table.js","webpack:///../../node_modules/rc-table/es/hooks/useHover.js","webpack:///../../node_modules/rc-table/es/hooks/useExpand.js","webpack:///../../node_modules/rc-table/es/hooks/useFixedInfo.js","webpack:///../../node_modules/rc-table/es/sugar/Column.js","webpack:///../../node_modules/rc-table/es/sugar/ColumnGroup.js","webpack:///../../node_modules/rc-table/es/VirtualTable/context.js","webpack:///../../node_modules/rc-table/es/VirtualTable/VirtualCell.js","webpack:///../../node_modules/rc-table/es/VirtualTable/BodyLine.js","webpack:///../../node_modules/rc-table/es/VirtualTable/BodyGrid.js","webpack:///../../node_modules/rc-table/es/VirtualTable/index.js","webpack:///../../node_modules/rc-checkbox/es/index.js","webpack:///../../node_modules/antd/es/_util/wave/style.js","webpack:///../../node_modules/antd/es/_util/wave/interface.js","webpack:///../../node_modules/rc-util/es/React/render.js","webpack:///../../node_modules/antd/es/_util/wave/util.js","webpack:///../../node_modules/antd/es/_util/wave/WaveEffect.js","webpack:///../../node_modules/antd/es/_util/wave/index.js","webpack:///../../node_modules/antd/es/_util/wave/useWave.js","webpack:///../../node_modules/antd/es/checkbox/GroupContext.js","webpack:///../../node_modules/antd/es/checkbox/Checkbox.js","webpack:///../../node_modules/antd/es/checkbox/Group.js","webpack:///../../node_modules/antd/es/checkbox/index.js","webpack:///../../node_modules/rc-dropdown/es/hooks/useAccessibility.js","webpack:///../../node_modules/rc-dropdown/es/Overlay.js","webpack:///../../node_modules/rc-dropdown/es/placements.js","webpack:///../../node_modules/rc-dropdown/es/Dropdown.js","webpack:///../../node_modules/rc-dropdown/es/index.js","webpack:///../../node_modules/rc-menu/es/context/IdContext.js","webpack:///../../node_modules/rc-menu/es/context/MenuContext.js","webpack:///../../node_modules/rc-menu/es/context/PathContext.js","webpack:///../../node_modules/rc-menu/es/context/PrivateContext.js","webpack:///../../node_modules/rc-util/es/Dom/focus.js","webpack:///../../node_modules/rc-menu/es/hooks/useAccessibility.js","webpack:///../../node_modules/rc-menu/es/hooks/useKeyRecords.js","webpack:///../../node_modules/rc-menu/es/hooks/useMemoCallback.js","webpack:///../../node_modules/rc-menu/es/hooks/useUUID.js","webpack:///../../node_modules/rc-menu/es/hooks/useActive.js","webpack:///../../node_modules/rc-menu/es/hooks/useDirectionStyle.js","webpack:///../../node_modules/rc-menu/es/Icon.js","webpack:///../../node_modules/rc-menu/es/utils/warnUtil.js","webpack:///../../node_modules/rc-menu/es/MenuItem.js","webpack:///../../node_modules/rc-menu/es/SubMenu/SubMenuList.js","webpack:///../../node_modules/rc-menu/es/utils/commonUtil.js","webpack:///../../node_modules/rc-menu/es/placements.js","webpack:///../../node_modules/rc-menu/es/utils/motionUtil.js","webpack:///../../node_modules/rc-menu/es/SubMenu/PopupTrigger.js","webpack:///../../node_modules/rc-menu/es/SubMenu/InlineSubMenuList.js","webpack:///../../node_modules/rc-menu/es/SubMenu/index.js","webpack:///../../node_modules/rc-menu/es/Divider.js","webpack:///../../node_modules/rc-menu/es/MenuItemGroup.js","webpack:///../../node_modules/rc-menu/es/utils/nodeUtil.js","webpack:///../../node_modules/rc-menu/es/Menu.js","webpack:///../../node_modules/rc-menu/es/utils/timeUtil.js","webpack:///../../node_modules/rc-menu/es/index.js","webpack:///../../node_modules/antd/es/layout/Sider.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/EllipsisOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/EllipsisOutlined.js","webpack:///../../node_modules/antd/es/menu/MenuContext.js","webpack:///../../node_modules/antd/es/menu/MenuDivider.js","webpack:///../../node_modules/antd/es/menu/MenuItem.js","webpack:///../../node_modules/antd/es/menu/OverrideContext.js","webpack:///../../node_modules/antd/es/menu/style/horizontal.js","webpack:///../../node_modules/antd/es/menu/style/rtl.js","webpack:///../../node_modules/antd/es/menu/style/theme.js","webpack:///../../node_modules/antd/es/menu/style/vertical.js","webpack:///../../node_modules/antd/es/menu/style/index.js","webpack:///../../node_modules/antd/es/menu/SubMenu.js","webpack:///../../node_modules/antd/es/menu/menu.js","webpack:///../../node_modules/antd/es/menu/index.js","webpack:///../../node_modules/antd/es/dropdown/style/status.js","webpack:///../../node_modules/antd/es/dropdown/style/index.js","webpack:///../../node_modules/antd/es/dropdown/dropdown.js","webpack:///../../node_modules/antd/es/button/button-group.js","webpack:///../../node_modules/antd/es/button/buttonHelpers.js","webpack:///../../node_modules/antd/es/button/IconWrapper.js","webpack:///../../node_modules/antd/es/button/LoadingIcon.js","webpack:///../../node_modules/antd/es/button/style/group.js","webpack:///../../node_modules/@ant-design/fast-color/es/FastColor.js","webpack:///../../node_modules/@rc-component/color-picker/es/color.js","webpack:///../../node_modules/@rc-component/color-picker/es/util.js","webpack:///../../node_modules/antd/es/color-picker/color.js","webpack:///../../node_modules/antd/es/button/style/token.js","webpack:///../../node_modules/antd/es/color-picker/components/ColorPresets.js","webpack:///../../node_modules/antd/es/button/style/index.js","webpack:///../../node_modules/antd/es/style/compact-item-vertical.js","webpack:///../../node_modules/antd/es/button/style/compactCmp.js","webpack:///../../node_modules/antd/es/button/button.js","webpack:///../../node_modules/antd/es/button/index.js","webpack:///../../node_modules/antd/es/_util/gapSize.js","webpack:///../../node_modules/antd/es/space/context.js","webpack:///../../node_modules/antd/es/space/Item.js","webpack:///../../node_modules/antd/es/space/index.js","webpack:///../../node_modules/antd/es/dropdown/dropdown-button.js","webpack:///../../node_modules/antd/es/dropdown/index.js","webpack:///../../node_modules/antd/es/radio/context.js","webpack:///../../node_modules/antd/es/radio/style/index.js","webpack:///../../node_modules/antd/es/radio/radio.js","webpack:///../../node_modules/antd/es/radio/group.js","webpack:///../../node_modules/antd/es/radio/radioButton.js","webpack:///../../node_modules/antd/es/radio/index.js","webpack:///../../node_modules/antd/es/table/hooks/useSelection.js","webpack:///../../node_modules/antd/es/_util/getScroll.js","webpack:///../../node_modules/antd/es/_util/hooks/useForceUpdate.js","webpack:///../../node_modules/antd/es/_util/responsiveObserver.js","webpack:///../../node_modules/antd/es/grid/hooks/useBreakpoint.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/DoubleLeftOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/DoubleLeftOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/DoubleRightOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/DoubleRightOutlined.js","webpack:///../../node_modules/rc-pagination/es/locale/zh_CN.js","webpack:///../../node_modules/rc-pagination/es/Options.js","webpack:///../../node_modules/rc-pagination/es/Pager.js","webpack:///../../node_modules/rc-pagination/es/Pagination.js","webpack:///../../node_modules/antd/es/select/index.js","webpack:///../../node_modules/antd/es/pagination/Select.js","webpack:///../../node_modules/antd/es/input/style/token.js","webpack:///../../node_modules/antd/es/input/style/variants.js","webpack:///../../node_modules/antd/es/input/style/index.js","webpack:///../../node_modules/antd/es/pagination/style/index.js","webpack:///../../node_modules/antd/es/pagination/style/bordered.js","webpack:///../../node_modules/antd/es/pagination/Pagination.js","webpack:///../../node_modules/antd/es/pagination/index.js","webpack:///../../node_modules/antd/es/spin/Indicator/Progress.js","webpack:///../../node_modules/antd/es/spin/Indicator/Looper.js","webpack:///../../node_modules/antd/es/spin/Indicator/index.js","webpack:///../../node_modules/antd/es/spin/style/index.js","webpack:///../../node_modules/antd/es/spin/usePercent.js","webpack:///../../node_modules/antd/es/spin/index.js","webpack:///../../node_modules/throttle-debounce/esm/index.js","webpack:///../../node_modules/antd/es/table/util.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","webpack:///../../node_modules/@ant-design/icons/es/icons/FilterFilled.js","webpack:///../../node_modules/antd/es/_util/extendsObject.js","webpack:///../../node_modules/rc-input/es/utils/commonUtils.js","webpack:///../../node_modules/rc-input/es/BaseInput.js","webpack:///../../node_modules/rc-input/es/hooks/useCount.js","webpack:///../../node_modules/rc-input/es/Input.js","webpack:///../../node_modules/rc-input/es/index.js","webpack:///../../node_modules/antd/es/_util/getAllowClear.js","webpack:///../../node_modules/antd/es/input/hooks/useRemovePasswordTimeout.js","webpack:///../../node_modules/antd/es/input/Input.js","webpack:///../../node_modules/antd/es/input/utils.js","webpack:///../../node_modules/antd/es/input/style/otp.js","webpack:///../../node_modules/antd/es/input/OTP/OTPInput.js","webpack:///../../node_modules/antd/es/input/OTP/index.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/EyeInvisibleOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/EyeInvisibleOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/EyeOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/EyeOutlined.js","webpack:///../../node_modules/antd/es/input/Password.js","webpack:///../../node_modules/antd/es/input/Search.js","webpack:///../../node_modules/rc-textarea/es/calculateNodeHeight.js","webpack:///../../node_modules/rc-textarea/es/ResizableTextArea.js","webpack:///../../node_modules/rc-textarea/es/TextArea.js","webpack:///../../node_modules/rc-textarea/es/index.js","webpack:///../../node_modules/antd/es/input/TextArea.js","webpack:///../../node_modules/antd/es/input/index.js","webpack:///../../node_modules/antd/es/input/Group.js","webpack:///../../node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","webpack:///../../node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","webpack:///../../node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","webpack:///../../node_modules/antd/es/_util/hooks/useSyncState.js","webpack:///../../node_modules/antd/es/table/hooks/useFilter/index.js","webpack:///../../node_modules/antd/es/table/hooks/usePagination.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","webpack:///../../node_modules/antd/es/table/hooks/useSorter.js","webpack:///../../node_modules/antd/es/table/hooks/useTitleColumns.js","webpack:///../../node_modules/antd/es/table/RcTable/index.js","webpack:///../../node_modules/antd/es/table/RcTable/VirtualTable.js","webpack:///../../node_modules/antd/es/table/style/bordered.js","webpack:///../../node_modules/antd/es/table/style/ellipsis.js","webpack:///../../node_modules/antd/es/table/style/empty.js","webpack:///../../node_modules/antd/es/table/style/expand.js","webpack:///../../node_modules/antd/es/table/style/filter.js","webpack:///../../node_modules/antd/es/table/style/fixed.js","webpack:///../../node_modules/antd/es/table/style/pagination.js","webpack:///../../node_modules/antd/es/table/style/radius.js","webpack:///../../node_modules/antd/es/table/style/rtl.js","webpack:///../../node_modules/antd/es/table/style/selection.js","webpack:///../../node_modules/antd/es/table/style/size.js","webpack:///../../node_modules/antd/es/table/style/sorter.js","webpack:///../../node_modules/antd/es/table/style/sticky.js","webpack:///../../node_modules/antd/es/table/style/summary.js","webpack:///../../node_modules/antd/es/table/style/virtual.js","webpack:///../../node_modules/antd/es/table/style/index.js","webpack:///../../node_modules/antd/es/table/InternalTable.js","webpack:///../../node_modules/antd/es/table/hooks/useContainerWidth.js","webpack:///../../node_modules/antd/es/_util/hooks/useProxyImperativeHandle.js","webpack:///../../node_modules/antd/es/table/hooks/useLazyKVMap.js","webpack:///../../node_modules/antd/es/_util/scrollTo.js","webpack:///../../node_modules/antd/es/_util/easings.js","webpack:///../../node_modules/antd/es/_util/hooks/useMultipleSelect.js","webpack:///../../node_modules/antd/es/table/ExpandIcon.js","webpack:///../../node_modules/antd/es/table/Table.js","webpack:///../../node_modules/antd/es/table/Column.js","webpack:///../../node_modules/antd/es/table/ColumnGroup.js","webpack:///../../node_modules/antd/es/table/index.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/FolderOpenOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/FolderOpenOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/FolderOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/FolderOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/HolderOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/HolderOutlined.js","webpack:///../../node_modules/antd/es/tree/utils/dropIndicator.js","webpack:///../../node_modules/antd/es/tree/Tree.js","webpack:///../../node_modules/antd/es/tree/utils/dictUtil.js","webpack:///../../node_modules/antd/es/tree/DirectoryTree.js","webpack:///../../node_modules/antd/es/tree/index.js","webpack:///../../node_modules/antd/lib/calendar/locale/en_US.js","webpack:///../../node_modules/antd/lib/calendar/locale/zh_CN.js","webpack:///../../node_modules/antd/lib/date-picker/locale/en_US.js","webpack:///../../node_modules/antd/lib/date-picker/locale/zh_CN.js","webpack:///../../node_modules/antd/lib/locale/en_US.js","webpack:///../../node_modules/antd/lib/locale/zh_CN.js","webpack:///../../node_modules/antd/lib/time-picker/locale/en_US.js","webpack:///../../node_modules/antd/lib/time-picker/locale/zh_CN.js","webpack:///../../node_modules/rc-pagination/lib/locale/en_US.js","webpack:///../../node_modules/rc-pagination/lib/locale/zh_CN.js","webpack:///../../node_modules/rc-picker/lib/locale/common.js","webpack:///../../node_modules/rc-picker/lib/locale/en_US.js","webpack:///../../node_modules/rc-picker/lib/locale/zh_CN.js","webpack:///../../node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///../../node_modules/@babel/runtime/helpers/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/typeof.js"],"sourcesContent":["// This icon file is generated automatically.\nvar LeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z\" } }] }, \"name\": \"left\", \"theme\": \"outlined\" };\nexport default LeftOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport LeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/LeftOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar LeftOutlined = function LeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: LeftOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(LeftOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'LeftOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar RightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z\" } }] }, \"name\": \"right\", \"theme\": \"outlined\" };\nexport default RightOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport RightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RightOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar RightOutlined = function RightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: RightOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(RightOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'RightOutlined';\n}\nexport default RefIcon;","export var EXPAND_COLUMN = {};\nexport var INTERNAL_HOOKS = 'rc-table-internal-hook';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport { unstable_batchedUpdates } from 'react-dom';\nexport function createContext(defaultValue) {\n var Context = /*#__PURE__*/React.createContext(undefined);\n var Provider = function Provider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n var valueRef = React.useRef(value);\n valueRef.current = value;\n var _React$useState = React.useState(function () {\n return {\n getValue: function getValue() {\n return valueRef.current;\n },\n listeners: new Set()\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n context = _React$useState2[0];\n useLayoutEffect(function () {\n unstable_batchedUpdates(function () {\n context.listeners.forEach(function (listener) {\n listener(value);\n });\n });\n }, [value]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, children);\n };\n return {\n Context: Context,\n Provider: Provider,\n defaultValue: defaultValue\n };\n}\n\n/** e.g. useSelect(userContext) => user */\n\n/** e.g. useSelect(userContext, user => user.name) => user.name */\n\n/** e.g. useSelect(userContext, ['name', 'age']) => user { name, age } */\n\n/** e.g. useSelect(userContext, 'name') => user.name */\n\nexport function useContext(holder, selector) {\n var eventSelector = useEvent(typeof selector === 'function' ? selector : function (ctx) {\n if (selector === undefined) {\n return ctx;\n }\n if (!Array.isArray(selector)) {\n return ctx[selector];\n }\n var obj = {};\n selector.forEach(function (key) {\n obj[key] = ctx[key];\n });\n return obj;\n });\n var context = React.useContext(holder === null || holder === void 0 ? void 0 : holder.Context);\n var _ref2 = context || {},\n listeners = _ref2.listeners,\n getValue = _ref2.getValue;\n var valueRef = React.useRef();\n valueRef.current = eventSelector(context ? getValue() : holder === null || holder === void 0 ? void 0 : holder.defaultValue);\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n forceUpdate = _React$useState4[1];\n useLayoutEffect(function () {\n if (!context) {\n return;\n }\n function trigger(nextValue) {\n var nextSelectorValue = eventSelector(nextValue);\n if (!isEqual(valueRef.current, nextSelectorValue, true)) {\n forceUpdate({});\n }\n }\n listeners.add(trigger);\n return function () {\n listeners.delete(trigger);\n };\n }, [context]);\n return valueRef.current;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\n/**\n * Create Immutable pair for `makeImmutable` and `responseImmutable`.\n */\nexport default function createImmutable() {\n var ImmutableContext = /*#__PURE__*/React.createContext(null);\n\n /**\n * Get render update mark by `makeImmutable` root.\n * Do not deps on the return value as render times\n * but only use for `useMemo` or `useCallback` deps.\n */\n function useImmutableMark() {\n return React.useContext(ImmutableContext);\n }\n\n /**\n * Wrapped Component will be marked as Immutable.\n * When Component parent trigger render,\n * it will notice children component (use with `responseImmutable`) node that parent has updated.\n * @param Component Passed Component\n * @param triggerRender Customize trigger `responseImmutable` children re-render logic. Default will always trigger re-render when this component re-render.\n */\n function makeImmutable(Component, shouldTriggerRender) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n var renderTimesRef = React.useRef(0);\n var prevProps = React.useRef(props);\n\n // If parent has the context, we do not wrap it\n var mark = useImmutableMark();\n if (mark !== null) {\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n }\n if (\n // Always trigger re-render if not provide `notTriggerRender`\n !shouldTriggerRender || shouldTriggerRender(prevProps.current, props)) {\n renderTimesRef.current += 1;\n }\n prevProps.current = props;\n return /*#__PURE__*/React.createElement(ImmutableContext.Provider, {\n value: renderTimesRef.current\n }, /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps)));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableRoot(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.forwardRef(ImmutableComponent) : ImmutableComponent;\n }\n\n /**\n * Wrapped Component with `React.memo`.\n * But will rerender when parent with `makeImmutable` rerender.\n */\n function responseImmutable(Component, propsAreEqual) {\n var refAble = supportRef(Component);\n var ImmutableComponent = function ImmutableComponent(props, ref) {\n var refProps = refAble ? {\n ref: ref\n } : {};\n useImmutableMark();\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, refProps));\n };\n if (process.env.NODE_ENV !== 'production') {\n ImmutableComponent.displayName = \"ImmutableResponse(\".concat(Component.displayName || Component.name, \")\");\n }\n return refAble ? /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(ImmutableComponent), propsAreEqual) : /*#__PURE__*/React.memo(ImmutableComponent, propsAreEqual);\n }\n return {\n makeImmutable: makeImmutable,\n responseImmutable: responseImmutable,\n useImmutableMark: useImmutableMark\n };\n}","import { createContext, useContext } from \"./context\";\nimport createImmutable from \"./Immutable\";\n\n// For legacy usage, we export it directly\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { createContext, useContext, createImmutable, makeImmutable, responseImmutable, useImmutableMark };","import { createContext, createImmutable } from '@rc-component/context';\nvar _createImmutable = createImmutable(),\n makeImmutable = _createImmutable.makeImmutable,\n responseImmutable = _createImmutable.responseImmutable,\n useImmutableMark = _createImmutable.useImmutableMark;\nexport { makeImmutable, responseImmutable, useImmutableMark };\nvar TableContext = createContext();\nexport default TableContext;","import * as React from 'react';\n// TODO: Remove when use `responsiveImmutable`\nvar PerfContext = /*#__PURE__*/React.createContext({\n renderWithProps: false\n});\nexport default PerfContext;","var INTERNAL_KEY_PREFIX = 'RC_TABLE_KEY';\nfunction toArray(arr) {\n if (arr === undefined || arr === null) {\n return [];\n }\n return Array.isArray(arr) ? arr : [arr];\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 var mergedKey = key || toArray(dataIndex).join('-') || INTERNAL_KEY_PREFIX;\n while (keys[mergedKey]) {\n mergedKey = \"\".concat(mergedKey, \"_next\");\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}\nexport function validNumberValue(value) {\n return typeof value === 'number' && !Number.isNaN(value);\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\";\nimport { useEvent } from 'rc-util';\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 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 return title;\n};\nfunction Cell(props) {\n var _ref2, _ref3, _legacyCellProps$colS, _ref4, _ref5, _legacyCellProps$rowS, _additionalProps$titl, _classNames;\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\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 var _useContext = useContext(TableContext, ['supportSticky', 'allColumnsFixedLeft', 'rowHoverable']),\n supportSticky = _useContext.supportSticky,\n allColumnsFixedLeft = _useContext.allColumnsFixedLeft,\n rowHoverable = _useContext.rowHoverable;\n\n // ====================== Value =======================\n var _useCellRender = useCellRender(record, dataIndex, renderIndex, children, render, shouldCellUpdate),\n _useCellRender2 = _slicedToArray(_useCellRender, 2),\n childNode = _useCellRender2[0],\n legacyCellProps = _useCellRender2[1];\n\n // ====================== Fixed =======================\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number' && supportSticky;\n var isFixRight = typeof fixRight === 'number' && supportSticky;\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = fixLeft;\n }\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = fixRight;\n }\n\n // ================ RowSpan & ColSpan =================\n var mergedColSpan = (_ref2 = (_ref3 = (_legacyCellProps$colS = legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.colSpan) !== null && _legacyCellProps$colS !== void 0 ? _legacyCellProps$colS : additionalProps.colSpan) !== null && _ref3 !== void 0 ? _ref3 : 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 : additionalProps.rowSpan) !== null && _ref5 !== void 0 ? _ref5 : rowSpan) !== null && _ref4 !== void 0 ? _ref4 : 1;\n\n // ====================== Hover =======================\n var _useHoverState = useHoverState(index, mergedRowSpan),\n _useHoverState2 = _slicedToArray(_useHoverState, 2),\n hovering = _useHoverState2[0],\n onHover = _useHoverState2[1];\n var onMouseEnter = useEvent(function (event) {\n var _additionalProps$onMo;\n if (record) {\n onHover(index, index + mergedRowSpan - 1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo = additionalProps.onMouseEnter) === null || _additionalProps$onMo === void 0 || _additionalProps$onMo.call(additionalProps, event);\n });\n var onMouseLeave = useEvent(function (event) {\n var _additionalProps$onMo2;\n if (record) {\n onHover(-1, -1);\n }\n additionalProps === null || additionalProps === void 0 || (_additionalProps$onMo2 = additionalProps.onMouseLeave) === null || _additionalProps$onMo2 === void 0 || _additionalProps$onMo2.call(additionalProps, event);\n });\n\n // ====================== Render ======================\n if (mergedColSpan === 0 || mergedRowSpan === 0) {\n return null;\n }\n\n // >>>>> Title\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 });\n\n // >>>>> ClassName\n var mergedClassName = classNames(cellPrefixCls, className, (_classNames = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-fix-left\"), isFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-first\"), firstFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-last\"), lastFixLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-left-all\"), lastFixLeft && allColumnsFixedLeft && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right\"), isFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-first\"), firstFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-fix-right-last\"), lastFixRight && supportSticky), \"\".concat(cellPrefixCls, \"-ellipsis\"), ellipsis), \"\".concat(cellPrefixCls, \"-with-append\"), appendNode), \"\".concat(cellPrefixCls, \"-fix-sticky\"), (isFixLeft || isFixRight) && isSticky && supportSticky), _defineProperty(_classNames, \"\".concat(cellPrefixCls, \"-row-hover\"), !legacyCellProps && hovering)), additionalProps.className, legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.className);\n\n // >>>>> Style\n var alignStyle = {};\n if (align) {\n alignStyle.textAlign = align;\n }\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, fixedStyle), additionalProps.style), alignStyle), legacyCellProps === null || legacyCellProps === void 0 ? void 0 : legacyCellProps.style);\n\n // >>>>> Children Node\n var mergedChildNode = childNode;\n\n // Not crash if final `childNode` is not validate ReactNode\n if (_typeof(mergedChildNode) === 'object' && !Array.isArray(mergedChildNode) && ! /*#__PURE__*/React.isValidElement(mergedChildNode)) {\n mergedChildNode = null;\n }\n if (ellipsis && (lastFixLeft || firstFixRight)) {\n mergedChildNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(cellPrefixCls, \"-content\")\n }, mergedChildNode);\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, legacyCellProps, additionalProps, {\n className: mergedClassName,\n style: mergedStyle\n // A11y\n ,\n title: title,\n scope: scope\n // Hover\n ,\n onMouseEnter: rowHoverable ? onMouseEnter : undefined,\n onMouseLeave: rowHoverable ? onMouseLeave : undefined\n //Span\n ,\n colSpan: mergedColSpan !== 1 ? mergedColSpan : null,\n rowSpan: mergedRowSpan !== 1 ? mergedRowSpan : null\n }), appendNode, mergedChildNode);\n}\nexport default /*#__PURE__*/React.memo(Cell);","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\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\";\nimport { useImmutableMark } from \"../context/TableContext\";\nfunction isRenderCell(data) {\n return data && _typeof(data) === 'object' && !Array.isArray(data) && ! /*#__PURE__*/React.isValidElement(data);\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();\n\n // ======================== Render ========================\n var retData = useMemo(function () {\n if (validateValue(children)) {\n return [children];\n }\n var path = dataIndex === null || dataIndex === undefined || dataIndex === '' ? [] : Array.isArray(dataIndex) ? dataIndex : [dataIndex];\n var value = getValue(record, path);\n\n // Customize render node\n var returnChildNode = value;\n var returnCellProps = undefined;\n if (render) {\n var renderData = render(value, record, renderIndex);\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 returnChildNode = renderData.children;\n returnCellProps = renderData.props;\n perfRecord.renderWithProps = true;\n } else {\n returnChildNode = renderData;\n }\n }\n return [returnChildNode, returnCellProps];\n }, [\n // Force update deps\n mark,\n // 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 var _next = _slicedToArray(next, 2),\n nextRecord = _next[1];\n return shouldCellUpdate(nextRecord, prevRecord);\n }\n\n // Legacy mode should always update\n if (perfRecord.renderWithProps) {\n return true;\n }\n return !isEqual(prev, next, true);\n });\n return retData;\n}","import { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\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}\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}","export function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets, direction) {\n var startColumn = columns[colStart] || {};\n var endColumn = columns[colEnd] || {};\n var fixLeft;\n var fixRight;\n if (startColumn.fixed === 'left') {\n fixLeft = stickyOffsets.left[direction === 'rtl' ? colEnd : colStart];\n } else if (endColumn.fixed === 'right') {\n fixRight = stickyOffsets.right[direction === 'rtl' ? colStart : colEnd];\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];\n\n // need show shadow only when canLastFix is true\n var canLastFix = nextColumn && !nextColumn.fixed || prevColumn && !prevColumn.fixed || columns.every(function (col) {\n return col.fixed === 'left';\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 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 * as React from 'react';\nvar SummaryContext = /*#__PURE__*/React.createContext({});\nexport default SummaryContext;","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 return /*#__PURE__*/React.createElement(\"tr\", props, children);\n}","import Cell from \"./Cell\";\nimport Row from \"./Row\";\n/**\n * Syntactic sugar. Do not support HOC.\n */\nfunction Summary(_ref) {\n var children = _ref.children;\n return children;\n}\nSummary.Row = Row;\nSummary.Cell = Cell;\nexport default Summary;","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 var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var _React$useContext = React.useContext(SummaryContext),\n scrollColumnIndex = _React$useContext.scrollColumnIndex,\n stickyOffsets = _React$useContext.stickyOffsets,\n flattenColumns = _React$useContext.flattenColumns;\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);\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 { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport Summary from \"./Summary\";\nimport SummaryContext from \"./SummaryContext\";\nfunction Footer(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var children = props.children,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns;\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 };\n }, [scrollColumn, flattenColumns, lastColumnIndex, stickyOffsets]);\n return /*#__PURE__*/React.createElement(SummaryContext.Provider, {\n value: summaryContext\n }, /*#__PURE__*/React.createElement(\"tfoot\", {\n className: \"\".concat(prefixCls, \"-summary\")\n }, children));\n}\nexport default responseImmutable(Footer);\nexport var FooterComponents = Summary;","import canUseDom from \"./canUseDom\";\nvar isStyleNameSupport = function isStyleNameSupport(styleName) {\n if (canUseDom() && window.document.documentElement) {\n var styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n var documentElement = window.document.documentElement;\n return styleNameList.some(function (name) {\n return name in documentElement.style;\n });\n }\n return false;\n};\nvar isStyleValueSupport = function isStyleValueSupport(styleName, value) {\n if (!isStyleNameSupport(styleName)) {\n return false;\n }\n var ele = document.createElement('div');\n var origin = ele.style[styleName];\n ele.style[styleName] = value;\n return ele.style[styleName] !== origin;\n};\nexport function isStyleSupport(styleName, styleValue) {\n if (!Array.isArray(styleName) && styleValue !== undefined) {\n return isStyleValueSupport(styleName, styleValue);\n }\n return isStyleNameSupport(styleName);\n}","import * as React from 'react';\n// recursion (flat tree structure)\nfunction fillRecords(list, record, indent, childrenColumnName, expandedKeys, getRowKey, index) {\n list.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 if (record && Array.isArray(record[childrenColumnName]) && expanded) {\n // expanded state, flat record\n for (var i = 0; i < record[childrenColumnName].length; i += 1) {\n fillRecords(list, record[childrenColumnName][i], indent + 1, childrenColumnName, expandedKeys, getRowKey, i);\n }\n }\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<Key>} expandedKeys : 展开的行对应的keys\n * @param {GetRowKey<T>} getRowKey : 获取当前rowKey的方法\n * @returns flattened data\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 list = [];\n\n // collect flattened record\n for (var i = 0; i < (data === null || data === void 0 ? void 0 : data.length); i += 1) {\n var record = data[i];\n\n // using array.push or spread operator may cause \"Maximum call stack size exceeded\" exception if array size is big enough.\n fillRecords(list, record, 0, childrenColumnName, expandedKeys, getRowKey, i);\n }\n return list;\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 _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"../context/TableContext\";\nimport { getColumnsKey } from \"../utils/valueUtil\";\nimport { useEvent } from 'rc-util';\nimport classNames from 'classnames';\nexport default function useRowInfo(record, rowKey, recordIndex, indent) {\n var context = useContext(TableContext, ['prefixCls', 'fixedInfoList', 'flattenColumns', 'expandableType', 'expandRowByClick', 'onTriggerExpand', 'rowClassName', 'expandedRowClassName', 'indentSize', 'expandIcon', 'expandedRowRender', 'expandIconColumnIndex', 'expandedKeys', 'childrenColumnName', 'rowExpandable', 'onRow']);\n var flattenColumns = context.flattenColumns,\n expandableType = context.expandableType,\n expandedKeys = context.expandedKeys,\n childrenColumnName = context.childrenColumnName,\n onTriggerExpand = context.onTriggerExpand,\n rowExpandable = context.rowExpandable,\n onRow = context.onRow,\n expandRowByClick = context.expandRowByClick,\n rowClassName = context.rowClassName;\n\n // ======================= Expandable =======================\n // Only when row is not expandable and `children` exist in record\n var nestExpandable = expandableType === 'nest';\n var rowSupportExpand = expandableType === 'row' && (!rowExpandable || rowExpandable(record));\n var mergedExpandable = rowSupportExpand || nestExpandable;\n var expanded = expandedKeys && expandedKeys.has(rowKey);\n var hasNestChildren = childrenColumnName && record && record[childrenColumnName];\n var onInternalTriggerExpand = useEvent(onTriggerExpand);\n\n // ========================= onRow ==========================\n var rowProps = onRow === null || onRow === void 0 ? void 0 : onRow(record, recordIndex);\n var onRowClick = rowProps === null || rowProps === void 0 ? void 0 : rowProps.onClick;\n var onClick = function onClick(event) {\n if (expandRowByClick && mergedExpandable) {\n onTriggerExpand(record, event);\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 onRowClick === null || onRowClick === void 0 || onRowClick.apply(void 0, [event].concat(args));\n };\n\n // ====================== RowClassName ======================\n var computeRowClassName;\n if (typeof rowClassName === 'string') {\n computeRowClassName = rowClassName;\n } else if (typeof rowClassName === 'function') {\n computeRowClassName = rowClassName(record, recordIndex, indent);\n }\n\n // ========================= Column =========================\n var columnsKey = getColumnsKey(flattenColumns);\n return _objectSpread(_objectSpread({}, context), {}, {\n columnsKey: columnsKey,\n nestExpandable: nestExpandable,\n expanded: expanded,\n hasNestChildren: hasNestChildren,\n record: record,\n onTriggerExpand: onInternalTriggerExpand,\n rowSupportExpand: rowSupportExpand,\n expandable: mergedExpandable,\n rowProps: _objectSpread(_objectSpread({}, rowProps), {}, {\n className: classNames(computeRowClassName, rowProps === null || rowProps === void 0 ? void 0 : rowProps.className),\n onClick: onClick\n })\n });\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\";\nfunction ExpandedRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\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 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;\n\n // Cache render node\n var contentNode = children;\n if (isEmpty ? horizonScroll && componentWidth : fixColumn) {\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: componentWidth - (fixHeader && !isEmpty ? scrollbarSize : 0),\n position: 'sticky',\n left: 0,\n overflow: 'hidden'\n },\n className: \"\".concat(prefixCls, \"-expanded-row-fixed\")\n }, contentNode);\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}\nexport default ExpandedRow;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport function renderExpandIcon(_ref) {\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 if (!expandable) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, \"\".concat(prefixCls, \"-row-spaced\"))\n });\n }\n var onClick = function onClick(event) {\n onExpand(record, event);\n event.stopPropagation();\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(expandClassName, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-row-expanded\"), expanded), \"\".concat(prefixCls, \"-row-collapsed\"), !expanded)),\n onClick: onClick\n });\n}\nexport function findAllChildrenKeys(data, getRowKey, childrenColumnName) {\n var keys = [];\n function dig(list) {\n (list || []).forEach(function (item, index) {\n keys.push(getRowKey(item, index));\n dig(item[childrenColumnName]);\n });\n }\n dig(data);\n return keys;\n}\nexport function computedExpandedClassName(cls, record, index, indent) {\n if (typeof cls === 'string') {\n return cls;\n }\n if (typeof cls === 'function') {\n return cls(record, index, indent);\n }\n return '';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport ExpandedRow from \"./ExpandedRow\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nexport function getCellProps(rowInfo, column, colIndex, indent, index) {\n var record = rowInfo.record,\n prefixCls = rowInfo.prefixCls,\n columnsKey = rowInfo.columnsKey,\n fixedInfoList = rowInfo.fixedInfoList,\n expandIconColumnIndex = rowInfo.expandIconColumnIndex,\n nestExpandable = rowInfo.nestExpandable,\n indentSize = rowInfo.indentSize,\n expandIcon = rowInfo.expandIcon,\n expanded = rowInfo.expanded,\n hasNestChildren = rowInfo.hasNestChildren,\n onTriggerExpand = rowInfo.onTriggerExpand;\n var key = columnsKey[colIndex];\n var fixedInfo = fixedInfoList[colIndex];\n\n // ============= Used for nest expandable =============\n var appendCellNode;\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: onTriggerExpand\n }));\n }\n var additionalCellProps;\n if (column.onCell) {\n additionalCellProps = column.onCell(record, index);\n }\n return {\n key: key,\n fixedInfo: fixedInfo,\n appendCellNode: appendCellNode,\n additionalCellProps: additionalCellProps || {}\n };\n}\n\n// ==================================================================================\n// == getCellProps ==\n// ==================================================================================\nfunction BodyRow(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\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 _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 var rowInfo = useRowInfo(record, rowKey, index, indent);\n var prefixCls = rowInfo.prefixCls,\n flattenColumns = rowInfo.flattenColumns,\n expandedRowClassName = rowInfo.expandedRowClassName,\n expandedRowRender = rowInfo.expandedRowRender,\n rowProps = rowInfo.rowProps,\n expanded = rowInfo.expanded,\n rowSupportExpand = rowInfo.rowSupportExpand;\n\n // Force render expand row if expanded before\n var expandedRef = React.useRef(false);\n expandedRef.current || (expandedRef.current = expanded);\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n\n // 若没有 expandedRowRender 参数, 将使用 baseRowNode 渲染 Children\n // 此时如果 level > 1 则说明是 expandedRow, 一样需要附加 computedExpandedRowClassName\n var expandedClsName = computedExpandedClassName(expandedRowClassName, record, index, indent);\n\n // ======================== Base tr row ========================\n var baseRowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, {\n \"data-row-key\": rowKey,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), \"\".concat(prefixCls, \"-row-level-\").concat(indent), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className, _defineProperty({}, expandedClsName, indent >= 1)),\n style: _objectSpread(_objectSpread({}, style), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className;\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\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 }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: additionalCellProps\n }));\n }));\n\n // ======================== Expand Row =========================\n var expandRowNode;\n if (rowSupportExpand && (expandedRef.current || expanded)) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n expandRowNode = /*#__PURE__*/React.createElement(ExpandedRow, {\n expanded: expanded,\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), expandedClsName),\n prefixCls: prefixCls,\n component: RowComponent,\n cellComponent: cellComponent,\n colSpan: flattenColumns.length,\n isEmpty: false\n }, expandContent);\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, baseRowNode, expandRowNode);\n}\nif (process.env.NODE_ENV !== 'production') {\n BodyRow.displayName = 'BodyRow';\n}\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 { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport PerfContext from \"../context/PerfContext\";\nimport TableContext, { responseImmutable } 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\";\nfunction Body(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var data = props.data,\n measureColumnWidth = props.measureColumnWidth;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent', 'onColumnResize', 'flattenColumns', 'getRowKey', 'expandedKeys', 'childrenColumnName', 'emptyNode']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent,\n onColumnResize = _useContext.onColumnResize,\n flattenColumns = _useContext.flattenColumns,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n childrenColumnName = _useContext.childrenColumnName,\n emptyNode = _useContext.emptyNode;\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // =================== Performance ====================\n var perfRef = React.useRef({\n renderWithProps: false\n });\n\n // ====================== Render ======================\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 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 getRowKey: getRowKey,\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 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}\nif (process.env.NODE_ENV !== 'production') {\n Body.displayName = 'Body';\n}\nexport default responseImmutable(Body);","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 var config;\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 config = legacyExpandableConfig;\n }\n if (config.showExpandColumn === false) {\n config.expandIconColumnIndex = -1;\n }\n return config;\n}","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\";\nimport { useContext } from '@rc-component/context';\nimport TableContext from \"./context/TableContext\";\nfunction ColGroup(_ref) {\n var colWidths = _ref.colWidths,\n columns = _ref.columns,\n columCount = _ref.columCount;\n var _useContext = useContext(TableContext, ['tableLayout']),\n tableLayout = _useContext.tableLayout;\n var cols = [];\n var len = columCount || columns.length;\n\n // Only insert col with width & additional props\n // Skip if rest col do not have any useful info\n var mustInsert = false;\n for (var i = len - 1; i >= 0; i -= 1) {\n var width = colWidths[i];\n var column = columns && columns[i];\n var additionalProps = void 0;\n var minWidth = void 0;\n if (column) {\n additionalProps = column[INTERNAL_COL_DEFINE];\n\n // fixed will cause layout problems\n if (tableLayout === 'auto') {\n minWidth = column.minWidth;\n }\n }\n if (width || minWidth || additionalProps || mustInsert) {\n var _ref2 = additionalProps || {},\n columnType = _ref2.columnType,\n restAdditionalProps = _objectWithoutProperties(_ref2, _excluded);\n cols.unshift( /*#__PURE__*/React.createElement(\"col\", _extends({\n key: i,\n style: {\n width: width,\n minWidth: minWidth\n }\n }, restAdditionalProps)));\n mustInsert = true;\n }\n }\n return /*#__PURE__*/React.createElement(\"colgroup\", null, cols);\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\";\nfunction useColumnWidth(colWidths, columCount) {\n return useMemo(function () {\n var cloneColumns = [];\n for (var i = 0; i < columCount; i += 1) {\n var val = colWidths[i];\n if (val !== undefined) {\n cloneColumns[i] = val;\n } else {\n return null;\n }\n }\n return cloneColumns;\n }, [colWidths.join('_'), columCount]);\n}\nvar FixedHolder = /*#__PURE__*/React.forwardRef(function (props, ref) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\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 var _useContext = useContext(TableContext, ['prefixCls', 'scrollbarSize', 'isSticky', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n scrollbarSize = _useContext.scrollbarSize,\n isSticky = _useContext.isSticky,\n getComponent = _useContext.getComponent;\n var TableComponent = getComponent(['header', 'table'], 'table');\n var combinationScrollBarSize = isSticky && !fixHeader ? 0 : scrollbarSize;\n\n // Pass wheel to scroll event\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 function onWheel(e) {\n var _ref = e,\n currentTarget = _ref.currentTarget,\n deltaX = _ref.deltaX;\n if (deltaX) {\n onScroll({\n currentTarget: currentTarget,\n scrollLeft: currentTarget.scrollLeft + deltaX\n });\n e.preventDefault();\n }\n }\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 || _scrollRef$current.addEventListener('wheel', onWheel, {\n passive: false\n });\n return function () {\n var _scrollRef$current2;\n (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 || _scrollRef$current2.removeEventListener('wheel', onWheel);\n };\n }, []);\n\n // Check if all flattenColumns has width\n var allFlattenColumnsWithWidth = React.useMemo(function () {\n return flattenColumns.every(function (column) {\n return column.width;\n });\n }, [flattenColumns]);\n\n // Add scrollbar column\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]);\n\n // Calculate the sticky offsets\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(TableComponent, {\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});\nif (process.env.NODE_ENV !== 'production') {\n FixedHolder.displayName = 'FixedHolder';\n}\n\n/** Return a table in div as fixed element which contains sticky info */\n// export default responseImmutable(FixedHolder);\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\";\nvar HeaderRow = function HeaderRow(props) {\n var cells = props.cells,\n stickyOffsets = props.stickyOffsets,\n flattenColumns = props.flattenColumns,\n RowComponent = props.rowComponent,\n CellComponent = props.cellComponent,\n onHeaderRow = props.onHeaderRow,\n index = props.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'direction']),\n prefixCls = _useContext.prefixCls,\n direction = _useContext.direction;\n var rowProps;\n if (onHeaderRow) {\n rowProps = onHeaderRow(cells.map(function (cell) {\n return cell.column;\n }), index);\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);\n var additionalProps;\n if (column && column.onHeaderCell) {\n additionalProps = cell.column.onHeaderCell(column);\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: CellComponent,\n prefixCls: prefixCls,\n key: columnsKey[cellIndex]\n }, fixedInfo, {\n additionalProps: additionalProps,\n rowType: \"header\"\n }));\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n HeaderRow.displayName = 'HeaderRow';\n}\nexport default HeaderRow;","import { useContext } from '@rc-component/context';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport devRenderTimes from \"../hooks/useRenderTimes\";\nimport HeaderRow from \"./HeaderRow\";\nfunction parseHeaderRows(rootColumns) {\n var rows = [];\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 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 if ('colSpan' in column) {\n colSpan = column.colSpan;\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\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 }\n\n // Generate `rows` cell data\n fillRowCells(rootColumns, 0);\n\n // Handle `rowSpan`\n var rowCount = rows.length;\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 for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n _loop(rowIndex);\n }\n return rows;\n}\nvar Header = function Header(props) {\n if (process.env.NODE_ENV !== 'production') {\n devRenderTimes(props);\n }\n var stickyOffsets = props.stickyOffsets,\n columns = props.columns,\n flattenColumns = props.flattenColumns,\n onHeaderRow = props.onHeaderRow;\n var _useContext = useContext(TableContext, ['prefixCls', 'getComponent']),\n prefixCls = _useContext.prefixCls,\n getComponent = _useContext.getComponent;\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 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 onHeaderRow: onHeaderRow,\n index: rowIndex\n });\n return rowNode;\n }));\n};\nexport default responseImmutable(Header);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction parseColWidth(totalWidth) {\n var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (typeof width === 'number') {\n return width;\n }\n if (width.endsWith('%')) {\n return totalWidth * parseFloat(width) / 100;\n }\n return null;\n}\n\n/**\n * Fill all column with width\n */\nexport default function useWidthColumns(flattenColumns, scrollWidth, clientWidth) {\n return React.useMemo(function () {\n // Fill width if needed\n if (scrollWidth && scrollWidth > 0) {\n var totalWidth = 0;\n var missWidthCount = 0;\n\n // collect not given width column\n flattenColumns.forEach(function (col) {\n var colWidth = parseColWidth(scrollWidth, col.width);\n if (colWidth) {\n totalWidth += colWidth;\n } else {\n missWidthCount += 1;\n }\n });\n\n // Fill width\n var maxFitWidth = Math.max(scrollWidth, clientWidth);\n var restWidth = Math.max(maxFitWidth - totalWidth, missWidthCount);\n var restCount = missWidthCount;\n var avgWidth = restWidth / missWidthCount;\n var realTotal = 0;\n var filledColumns = flattenColumns.map(function (col) {\n var clone = _objectSpread({}, col);\n var colWidth = parseColWidth(scrollWidth, clone.width);\n if (colWidth) {\n clone.width = colWidth;\n } else {\n var colAvgWidth = Math.floor(avgWidth);\n clone.width = restCount === 1 ? restWidth : colAvgWidth;\n restWidth -= colAvgWidth;\n restCount -= 1;\n }\n realTotal += clone.width;\n return clone;\n });\n\n // If realTotal is less than clientWidth,\n // We need extend column width\n if (realTotal < maxFitWidth) {\n var scale = maxFitWidth / realTotal;\n restWidth = maxFitWidth;\n filledColumns.forEach(function (col, index) {\n var colWidth = Math.floor(col.width * scale);\n col.width = index === filledColumns.length - 1 ? restWidth : colWidth;\n restWidth -= colWidth;\n });\n }\n return [filledColumns, Math.max(realTotal, maxFitWidth)];\n }\n return [flattenColumns, scrollWidth];\n }, [flattenColumns, scrollWidth, clientWidth]);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _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\";\nimport useWidthColumns from \"./useWidthColumns\";\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 var nodeChildren = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var column = _objectSpread({\n key: key\n }, restProps);\n if (nodeChildren) {\n column.children = convertChildrenToColumns(nodeChildren);\n }\n return column;\n });\n}\nfunction filterHiddenColumns(columns) {\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object' && !column.hidden;\n }).map(function (column) {\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return _objectSpread(_objectSpread({}, column), {}, {\n children: filterHiddenColumns(subColumns)\n });\n }\n return column;\n });\n}\nfunction flatColumns(columns) {\n var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key';\n return columns.filter(function (column) {\n return column && _typeof(column) === 'object';\n }).reduce(function (list, column, index) {\n var fixed = column.fixed;\n // Convert `fixed='true'` to `fixed='left'` instead\n var parsedFixed = fixed === true ? 'left' : fixed;\n var mergedKey = \"\".concat(parentKey, \"-\").concat(index);\n var subColumns = column.children;\n if (subColumns && subColumns.length > 0) {\n return [].concat(_toConsumableArray(list), _toConsumableArray(flatColumns(subColumns, mergedKey).map(function (subColum) {\n return _objectSpread({\n fixed: parsedFixed\n }, subColum);\n })));\n }\n return [].concat(_toConsumableArray(list), [_objectSpread(_objectSpread({\n key: mergedKey\n }, column), {}, {\n fixed: parsedFixed\n })]);\n }, []);\n}\nfunction revertForRtl(columns) {\n return columns.map(function (column) {\n var fixed = column.fixed,\n restProps = _objectWithoutProperties(column, _excluded2);\n\n // Convert `fixed='left'` to `fixed='right'` instead\n var parsedFixed = fixed;\n if (fixed === 'left') {\n parsedFixed = 'right';\n } else if (fixed === 'right') {\n parsedFixed = 'left';\n }\n return _objectSpread({\n fixed: parsedFixed\n }, restProps);\n });\n}\n\n/**\n * Parse `columns` & `children` into `columns`.\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 scrollWidth = _ref2.scrollWidth,\n clientWidth = _ref2.clientWidth;\n var baseColumns = React.useMemo(function () {\n var newColumns = columns || convertChildrenToColumns(children) || [];\n return filterHiddenColumns(newColumns.slice());\n }, [columns, children]);\n\n // ========================== Expand ==========================\n var withExpandColumns = React.useMemo(function () {\n if (expandable) {\n var cloneColumns = baseColumns.slice();\n\n // >>> Warning if use `expandIconColumnIndex`\n if (process.env.NODE_ENV !== 'production' && expandIconColumnIndex >= 0) {\n warning(false, '`expandIconColumnIndex` is deprecated. Please use `Table.EXPAND_COLUMN` in `columns` instead.');\n }\n\n // >>> Insert expand column if not exist\n if (!cloneColumns.includes(EXPAND_COLUMN)) {\n var expandColIndex = expandIconColumnIndex || 0;\n if (expandColIndex >= 0) {\n cloneColumns.splice(expandColIndex, 0, EXPAND_COLUMN);\n }\n }\n\n // >>> Deduplicate additional expand column\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 var expandColumnIndex = cloneColumns.indexOf(EXPAND_COLUMN);\n cloneColumns = cloneColumns.filter(function (column, index) {\n return column !== EXPAND_COLUMN || index === expandColumnIndex;\n });\n\n // >>> Check if expand column need to fixed\n var prevColumn = baseColumns[expandColumnIndex];\n var fixedColumn;\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 }\n\n // >>> Create expandable column\n var expandColumn = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, INTERNAL_COL_DEFINE, {\n className: \"\".concat(prefixCls, \"-expand-icon-col\"),\n columnType: 'EXPAND_COLUMN'\n }), \"title\", columnTitle), \"fixed\", fixedColumn), \"className\", \"\".concat(prefixCls, \"-row-expand-icon-cell\")), \"width\", columnWidth), \"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 if (expandRowByClick) {\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, icon);\n }\n return icon;\n });\n return cloneColumns.map(function (col) {\n return col === EXPAND_COLUMN ? expandColumn : col;\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 return baseColumns.filter(function (col) {\n return col !== EXPAND_COLUMN;\n });\n }, [expandable, baseColumns, getRowKey, expandedKeys, expandIcon, direction]);\n\n // ========================= Transform ========================\n var mergedColumns = React.useMemo(function () {\n var finalColumns = withExpandColumns;\n if (transformColumns) {\n finalColumns = transformColumns(finalColumns);\n }\n\n // Always provides at least one column for table display\n if (!finalColumns.length) {\n finalColumns = [{\n render: function render() {\n return null;\n }\n }];\n }\n return finalColumns;\n }, [transformColumns, withExpandColumns, direction]);\n\n // ========================== Flatten =========================\n var flattenColumns = React.useMemo(function () {\n if (direction === 'rtl') {\n return revertForRtl(flatColumns(mergedColumns));\n }\n return flatColumns(mergedColumns);\n }, [mergedColumns, direction, scrollWidth]);\n\n // ========================= Gap Fixed ========================\n var hasGapFixed = React.useMemo(function () {\n // Fixed: left, since old browser not support `findLastIndex`, we should use reverse loop\n var lastLeftIndex = -1;\n for (var i = flattenColumns.length - 1; i >= 0; i -= 1) {\n var colFixed = flattenColumns[i].fixed;\n if (colFixed === 'left' || colFixed === true) {\n lastLeftIndex = i;\n break;\n }\n }\n if (lastLeftIndex >= 0) {\n for (var _i = 0; _i <= lastLeftIndex; _i += 1) {\n var _colFixed = flattenColumns[_i].fixed;\n if (_colFixed !== 'left' && _colFixed !== true) {\n return true;\n }\n }\n }\n\n // Fixed: right\n var firstRightIndex = flattenColumns.findIndex(function (_ref3) {\n var colFixed = _ref3.fixed;\n return colFixed === 'right';\n });\n if (firstRightIndex >= 0) {\n for (var _i2 = firstRightIndex; _i2 < flattenColumns.length; _i2 += 1) {\n var _colFixed2 = flattenColumns[_i2].fixed;\n if (_colFixed2 !== 'right') {\n return true;\n }\n }\n }\n return false;\n }, [flattenColumns]);\n\n // ========================= FillWidth ========================\n var _useWidthColumns = useWidthColumns(flattenColumns, scrollWidth, clientWidth),\n _useWidthColumns2 = _slicedToArray(_useWidthColumns, 2),\n filledColumns = _useWidthColumns2[0],\n realScrollWidth = _useWidthColumns2[1];\n return [mergedColumns, filledColumns, realScrollWidth, hasGapFixed];\n}\nexport default useColumns;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\n/**\n * Execute code before next frame but async\n */\nexport function useLayoutState(defaultState) {\n var stateRef = useRef(defaultState);\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n var lastPromiseRef = useRef(null);\n var updateBatchRef = useRef([]);\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 if (prevState !== stateRef.current) {\n forceUpdate({});\n }\n }\n });\n }\n useEffect(function () {\n return function () {\n lastPromiseRef.current = null;\n };\n }, []);\n return [stateRef.current, setFrameState];\n}\n\n/** Lock frame, when frame pass reset the lock. */\nexport function useTimeoutLock(defaultState) {\n var frameRef = useRef(defaultState || null);\n var timeoutRef = useRef();\n function cleanUp() {\n window.clearTimeout(timeoutRef.current);\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 function getState() {\n return frameRef.current;\n }\n useEffect(function () {\n return cleanUp;\n }, []);\n return [setState, getState];\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\n/** Sticky header hooks */\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 var container = getContainer() || defaultContainer;\n var isSticky = !!sticky;\n return React.useMemo(function () {\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 }, [isSticky, offsetScroll, offsetHeader, offsetSummary, prefixCls, container]);\n}","import { useMemo } from 'react';\n/**\n * Get sticky column offset width\n */\nfunction useStickyOffsets(colWidths, flattenColumns, direction) {\n var stickyOffsets = useMemo(function () {\n var columnCount = flattenColumns.length;\n var getOffsets = function getOffsets(startIndex, endIndex, offset) {\n var offsets = [];\n var total = 0;\n for (var i = startIndex; i !== endIndex; i += offset) {\n offsets.push(total);\n if (flattenColumns[i].fixed) {\n total += colWidths[i] || 0;\n }\n }\n return offsets;\n };\n var startOffsets = getOffsets(0, columnCount, 1);\n var endOffsets = getOffsets(columnCount - 1, -1, -1).reverse();\n return direction === 'rtl' ? {\n left: endOffsets,\n right: startOffsets\n } : {\n left: startOffsets,\n right: endOffsets\n };\n }, [colWidths, flattenColumns, direction]);\n return stickyOffsets;\n}\nexport default useStickyOffsets;","import * as React from 'react';\nfunction Panel(_ref) {\n var className = _ref.className,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n}\nexport default Panel;","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n if (target !== null && target !== void 0 && target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n return {\n remove: function remove() {\n if (target !== null && target !== void 0 && target.removeEventListener) {\n target.removeEventListener(eventType, callback, option);\n }\n }\n };\n}","/* eslint-disable no-nested-ternary */\nvar PIXEL_PATTERN = /margin|padding|width|height|max|min|offset/;\nvar removePixel = {\n left: true,\n top: true\n};\nvar floatMap = {\n cssFloat: 1,\n styleFloat: 1,\n float: 1\n};\nfunction getComputedStyle(node) {\n return node.nodeType === 1 ? node.ownerDocument.defaultView.getComputedStyle(node, null) : {};\n}\nfunction getStyleValue(node, type, value) {\n type = type.toLowerCase();\n if (value === 'auto') {\n if (type === 'height') {\n return node.offsetHeight;\n }\n if (type === 'width') {\n return node.offsetWidth;\n }\n }\n if (!(type in removePixel)) {\n removePixel[type] = PIXEL_PATTERN.test(type);\n }\n return removePixel[type] ? parseFloat(value) || 0 : value;\n}\nexport function get(node, name) {\n var length = arguments.length;\n var style = getComputedStyle(node);\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n return length === 1 ? style : getStyleValue(node, name, style[name] || node.style[name]);\n}\nexport function set(node, name, value) {\n var length = arguments.length;\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n if (length === 3) {\n if (typeof value === 'number' && PIXEL_PATTERN.test(name)) {\n value = \"\".concat(value, \"px\");\n }\n node.style[name] = value; // Number\n return value;\n }\n for (var x in name) {\n if (name.hasOwnProperty(x)) {\n set(node, x, name[x]);\n }\n }\n return getComputedStyle(node);\n}\nexport function getOuterWidth(el) {\n if (el === document.body) {\n return document.documentElement.clientWidth;\n }\n return el.offsetWidth;\n}\nexport function getOuterHeight(el) {\n if (el === document.body) {\n return window.innerHeight || document.documentElement.clientHeight;\n }\n return el.offsetHeight;\n}\nexport function getDocSize() {\n var width = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);\n var height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n return {\n width: width,\n height: height\n };\n}\nexport function getClientSize() {\n var width = document.documentElement.clientWidth;\n var height = window.innerHeight || document.documentElement.clientHeight;\n return {\n width: width,\n height: height\n };\n}\nexport function getScroll() {\n return {\n scrollLeft: Math.max(document.documentElement.scrollLeft, document.body.scrollLeft),\n scrollTop: Math.max(document.documentElement.scrollTop, document.body.scrollTop)\n };\n}\nexport function getOffset(node) {\n var box = node.getBoundingClientRect();\n var docElem = document.documentElement;\n\n // < ie8 不支持 win.pageXOffset, 则使用 docElem.scrollLeft\n return {\n left: box.left + (window.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || document.body.clientLeft || 0),\n top: box.top + (window.pageYOffset || docElem.scrollTop) - (docElem.clientTop || document.body.clientTop || 0)\n };\n}","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 { useContext } from '@rc-component/context';\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 { useLayoutState } from \"./hooks/useFrame\";\nimport raf from \"rc-util/es/raf\";\nvar StickyScrollBar = function StickyScrollBar(_ref, ref) {\n var _scrollBodyRef$curren, _scrollBodyRef$curren2;\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 var _useLayoutState = useLayoutState({\n scrollLeft: 0,\n isHiddenScrollBar: true\n }),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n scrollState = _useLayoutState2[0],\n setScrollState = _useLayoutState2[1];\n var refState = React.useRef({\n delta: 0,\n x: 0\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 var rafRef = React.useRef(null);\n React.useEffect(function () {\n return function () {\n raf.cancel(rafRef.current);\n };\n }, []);\n var onMouseUp = function onMouseUp() {\n setActive(false);\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 var onMouseMove = function onMouseMove(event) {\n var _window;\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 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 return;\n }\n var left = refState.current.x + event.pageX - refState.current.x - refState.current.delta;\n if (left <= 0) {\n left = 0;\n }\n if (left + scrollBarWidth >= bodyWidth) {\n left = bodyWidth - scrollBarWidth;\n }\n onScroll({\n scrollLeft: left / bodyWidth * (bodyScrollWidth + 2)\n });\n refState.current.x = event.pageX;\n };\n var checkScrollBarVisible = function checkScrollBarVisible() {\n rafRef.current = raf(function () {\n if (!scrollBodyRef.current) {\n return;\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 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 React.useImperativeHandle(ref, function () {\n return {\n setScrollLeft: setScrollLeft,\n checkScrollBarVisible: checkScrollBarVisible\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 checkScrollBarVisible();\n return function () {\n onMouseUpListener.remove();\n onMouseMoveListener.remove();\n };\n }, [scrollBarWidth, isActive]);\n React.useEffect(function () {\n var onScrollListener = addEventListener(container, 'scroll', checkScrollBarVisible, false);\n var onResizeListener = addEventListener(window, 'resize', checkScrollBarVisible, 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 if (!bodyNode) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n scrollLeft: bodyNode.scrollLeft / bodyNode.scrollWidth * bodyNode.clientWidth\n });\n });\n }\n }, [scrollState.isHiddenScrollBar]);\n if (bodyScrollWidth <= bodyWidth || !scrollBarWidth || scrollState.isHiddenScrollBar) {\n return null;\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};\nexport default /*#__PURE__*/React.forwardRef(StickyScrollBar);","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 * 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 */\n\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, INTERNAL_HOOKS } from \"./constant\";\nimport TableContext, { makeImmutable } 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, validNumberValue } from \"./utils/valueUtil\";\nimport { getDOM } from \"rc-util/es/Dom/findDOMNode\";\nexport var DEFAULT_PREFIX = 'rc-table';\n\n// Used for conditions cache\nvar EMPTY_DATA = [];\n\n// Used for customize scroll\nvar EMPTY_SCROLL_TARGET = {};\nfunction defaultEmpty() {\n return 'No Data';\n}\nfunction Table(tableProps, ref) {\n var props = _objectSpread({\n rowKey: 'key',\n prefixCls: DEFAULT_PREFIX,\n emptyText: defaultEmpty\n }, tableProps);\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 onScroll = props.onScroll,\n internalHooks = props.internalHooks,\n transformColumns = props.transformColumns,\n internalRefs = props.internalRefs,\n tailor = props.tailor,\n getContainerWidth = props.getContainerWidth,\n sticky = props.sticky,\n _props$rowHoverable = props.rowHoverable,\n rowHoverable = _props$rowHoverable === void 0 ? true : _props$rowHoverable;\n var mergedData = data || EMPTY_DATA;\n var hasData = !!mergedData.length;\n var useInternalHooks = internalHooks === INTERNAL_HOOKS;\n\n // ===================== Warning ======================\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 }\n\n // ==================== Customize =====================\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 return function (record) {\n var key = record && record[rowKey];\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 return key;\n };\n }, [rowKey]);\n var customizeScrollBody = getComponent(['body']);\n\n // ====================== Hover =======================\n var _useHover = useHover(),\n _useHover2 = _slicedToArray(_useHover, 3),\n startRow = _useHover2[0],\n endRow = _useHover2[1],\n onHover = _useHover2[2];\n\n // ====================== Expand ======================\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];\n\n // ====================== Column ======================\n var scrollX = scroll === null || scroll === void 0 ? void 0 : scroll.x;\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 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 scrollWidth: useInternalHooks && tailor && typeof scrollX === 'number' ? scrollX : null,\n clientWidth: componentWidth\n }), useInternalHooks ? transformColumns : null),\n _useColumns2 = _slicedToArray(_useColumns, 4),\n columns = _useColumns2[0],\n flattenColumns = _useColumns2[1],\n flattenScrollX = _useColumns2[2],\n hasGapFixed = _useColumns2[3];\n var mergedScrollX = flattenScrollX !== null && flattenScrollX !== void 0 ? flattenScrollX : scrollX;\n var columnContext = React.useMemo(function () {\n return {\n columns: columns,\n flattenColumns: flattenColumns\n };\n }, [columns, flattenColumns]);\n\n // ======================= Refs =======================\n var fullTableRef = React.useRef();\n var scrollHeaderRef = React.useRef();\n var scrollBodyRef = React.useRef();\n var scrollBodyContainerRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: fullTableRef.current,\n scrollTo: function scrollTo(config) {\n var _scrollBodyRef$curren3;\n if (scrollBodyRef.current instanceof HTMLElement) {\n // Native scroll\n var index = config.index,\n top = config.top,\n key = config.key;\n if (validNumberValue(top)) {\n var _scrollBodyRef$curren;\n (_scrollBodyRef$curren = scrollBodyRef.current) === null || _scrollBodyRef$curren === void 0 || _scrollBodyRef$curren.scrollTo({\n top: top\n });\n } else {\n var _scrollBodyRef$curren2;\n var mergedKey = key !== null && key !== void 0 ? key : getRowKey(mergedData[index]);\n (_scrollBodyRef$curren2 = scrollBodyRef.current.querySelector(\"[data-row-key=\\\"\".concat(mergedKey, \"\\\"]\"))) === null || _scrollBodyRef$curren2 === void 0 || _scrollBodyRef$curren2.scrollIntoView();\n }\n } else if ((_scrollBodyRef$curren3 = scrollBodyRef.current) !== null && _scrollBodyRef$curren3 !== void 0 && _scrollBodyRef$curren3.scrollTo) {\n // Pass to proxy\n scrollBodyRef.current.scrollTo(config);\n }\n }\n };\n });\n\n // ====================== Scroll ======================\n var scrollSummaryRef = React.useRef();\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 var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pingedRight = _React$useState6[0],\n setPingedRight = _React$useState6[1];\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1];\n\n // Convert map to number width\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, direction);\n var fixHeader = scroll && validateValue(scroll.y);\n var horizonScroll = scroll && validateValue(mergedScrollX) || Boolean(expandableConfig.fixed);\n var fixColumn = horizonScroll && flattenColumns.some(function (_ref) {\n var fixed = _ref.fixed;\n return fixed;\n });\n\n // Sticky\n var stickyRef = React.useRef();\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;\n\n // Footer (Fix footer must fixed header)\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;\n\n // Scroll\n var scrollXStyle;\n var scrollYStyle;\n var scrollTableStyle;\n if (fixHeader) {\n scrollYStyle = {\n overflowY: hasData ? 'scroll' : 'auto',\n maxHeight: scroll.y\n };\n }\n if (horizonScroll) {\n scrollXStyle = {\n overflowX: 'auto'\n };\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 if (!fixHeader) {\n scrollYStyle = {\n overflowY: 'hidden'\n };\n }\n scrollTableStyle = {\n width: mergedScrollX === true ? 'auto' : mergedScrollX,\n minWidth: '100%'\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 return widths;\n });\n }\n }, []);\n var _useTimeoutLock = useTimeoutLock(null),\n _useTimeoutLock2 = _slicedToArray(_useTimeoutLock, 2),\n setScrollTarget = _useTimeoutLock2[0],\n getScrollTarget = _useTimeoutLock2[1];\n function forceScroll(scrollLeft, target) {\n if (!target) {\n return;\n }\n if (typeof target === 'function') {\n target(scrollLeft);\n } else if (target.scrollLeft !== scrollLeft) {\n target.scrollLeft = scrollLeft;\n\n // Delay to force scroll position if not sync\n // ref: https://github.com/ant-design/ant-design/issues/37179\n if (target.scrollLeft !== scrollLeft) {\n setTimeout(function () {\n target.scrollLeft = scrollLeft;\n }, 0);\n }\n }\n }\n var onInternalScroll = 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 if (!getScrollTarget() || getScrollTarget() === compareTarget) {\n var _stickyRef$current;\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 var measureTarget = currentTarget || scrollHeaderRef.current;\n if (measureTarget) {\n var scrollWidth =\n // Should use mergedScrollX in virtual table(useInternalHooks && tailor === true)\n useInternalHooks && tailor && typeof mergedScrollX === 'number' ? mergedScrollX : measureTarget.scrollWidth;\n var clientWidth = measureTarget.clientWidth;\n // There is no space to scroll\n if (scrollWidth === clientWidth) {\n setPingedLeft(false);\n setPingedRight(false);\n return;\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 var onBodyScroll = useEvent(function (e) {\n onInternalScroll(e);\n onScroll === null || onScroll === void 0 || onScroll(e);\n });\n var triggerOnScroll = function triggerOnScroll() {\n if (horizonScroll && scrollBodyRef.current) {\n var _scrollBodyRef$curren4;\n onInternalScroll({\n currentTarget: getDOM(scrollBodyRef.current),\n scrollLeft: (_scrollBodyRef$curren4 = scrollBodyRef.current) === null || _scrollBodyRef$curren4 === void 0 ? void 0 : _scrollBodyRef$curren4.scrollLeft\n });\n } else {\n setPingedLeft(false);\n setPingedRight(false);\n }\n };\n var onFullTableResize = function onFullTableResize(_ref3) {\n var _stickyRef$current2;\n var width = _ref3.width;\n (_stickyRef$current2 = stickyRef.current) === null || _stickyRef$current2 === void 0 || _stickyRef$current2.checkScrollBarVisible();\n var mergedWidth = fullTableRef.current ? fullTableRef.current.offsetWidth : width;\n if (useInternalHooks && getContainerWidth && fullTableRef.current) {\n mergedWidth = getContainerWidth(fullTableRef.current, mergedWidth) || mergedWidth;\n }\n if (mergedWidth !== componentWidth) {\n triggerOnScroll();\n setComponentWidth(mergedWidth);\n }\n };\n\n // Sync scroll bar when init or `horizonScroll`, `data` and `columns.length` changed\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 }, []);\n\n // ===================== Effects ======================\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 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 React.useEffect(function () {\n if (!tailor || !useInternalHooks) {\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 }, []);\n\n // ================== INTERNAL HOOKS ==================\n React.useEffect(function () {\n if (useInternalHooks && internalRefs) {\n internalRefs.body.current = scrollBodyRef.current;\n }\n });\n\n // ========================================================================\n // == Render ==\n // ========================================================================\n // =================== Render: Func ===================\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]);\n\n // =================== Render: Node ===================\n var TableComponent = getComponent(['table'], 'table');\n\n // Table layout\n var mergedTableLayout = React.useMemo(function () {\n if (tableLayout) {\n return tableLayout;\n }\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 if (fixColumn) {\n return mergedScrollX === 'max-content' ? 'auto' : 'fixed';\n }\n if (fixHeader || isSticky || flattenColumns.some(function (_ref4) {\n var ellipsis = _ref4.ellipsis;\n return ellipsis;\n })) {\n return 'fixed';\n }\n return 'auto';\n }, [fixHeader, fixColumn, flattenColumns, tableLayout, isSticky]);\n var groupTableNode;\n\n // Header props\n var headerProps = {\n colWidths: colWidths,\n columCount: flattenColumns.length,\n stickyOffsets: stickyOffsets,\n onHeaderRow: onHeaderRow,\n fixHeader: fixHeader,\n scroll: scroll\n };\n\n // Empty\n var emptyNode = React.useMemo(function () {\n if (hasData) {\n return null;\n }\n if (typeof emptyText === 'function') {\n return emptyText();\n }\n return emptyText;\n }, [hasData, emptyText]);\n\n // Body\n var bodyTable = /*#__PURE__*/React.createElement(Body, {\n data: mergedData,\n measureColumnWidth: fixHeader || horizonScroll || isSticky\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 dataProps = pickAttrs(props, {\n data: true\n });\n var ariaProps = pickAttrs(props, {\n aria: true\n });\n if (fixHeader || isSticky) {\n // >>>>>> Fixed Header\n var bodyContent;\n if (typeof customizeScrollBody === 'function') {\n bodyContent = customizeScrollBody(mergedData, {\n scrollbarSize: scrollbarSize,\n ref: scrollBodyRef,\n onScroll: onInternalScroll\n });\n headerProps.colWidths = flattenColumns.map(function (_ref6, index) {\n var width = _ref6.width;\n var colWidth = index === flattenColumns.length - 1 ? width - scrollbarSize : width;\n if (typeof colWidth === 'number' && !Number.isNaN(colWidth)) {\n return colWidth;\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(props.columns.length === 0, 'When use `components.body` with render props. Each column should have a fixed `width` value.');\n }\n return 0;\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(\"div\", {\n style: _objectSpread(_objectSpread({}, scrollXStyle), scrollYStyle),\n onScroll: onBodyScroll,\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 }, summaryNode)));\n }\n\n // Fixed holder share the props\n var fixedHolderProps = _objectSpread(_objectSpread(_objectSpread({\n noData: !mergedData.length,\n maxContentScroll: horizonScroll && mergedScrollX === 'max-content'\n }, headerProps), columnContext), {}, {\n direction: direction,\n stickyClassName: stickyClassName,\n onScroll: onInternalScroll\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 && scrollBodyRef.current && scrollBodyRef.current instanceof Element && /*#__PURE__*/React.createElement(StickyScrollBar, {\n ref: stickyRef,\n offsetScroll: offsetScroll,\n scrollBodyRef: scrollBodyRef,\n onScroll: onInternalScroll,\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: onInternalScroll,\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 }, summaryNode)));\n }\n var fullTable = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), \"\".concat(prefixCls, \"-ping-left\"), pingedLeft), \"\".concat(prefixCls, \"-ping-right\"), pingedRight), \"\".concat(prefixCls, \"-layout-fixed\"), tableLayout === 'fixed'), \"\".concat(prefixCls, \"-fixed-header\"), fixHeader), \"\".concat(prefixCls, \"-fixed-column\"), fixColumn), \"\".concat(prefixCls, \"-fixed-column-gapped\"), fixColumn && hasGapFixed), \"\".concat(prefixCls, \"-scroll-horizontal\"), horizonScroll), \"\".concat(prefixCls, \"-has-fix-left\"), flattenColumns[0] && flattenColumns[0].fixed), \"\".concat(prefixCls, \"-has-fix-right\"), flattenColumns[flattenColumns.length - 1] && flattenColumns[flattenColumns.length - 1].fixed === 'right')),\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 if (horizonScroll) {\n fullTable = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onFullTableResize\n }, fullTable);\n }\n var fixedInfoList = useFixedInfo(flattenColumns, stickyOffsets, direction);\n var TableContextValue = React.useMemo(function () {\n return {\n // Scroll\n scrollX: mergedScrollX,\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 emptyNode: emptyNode,\n // Column\n columns: columns,\n flattenColumns: flattenColumns,\n onColumnResize: onColumnResize,\n // Row\n hoverStartRow: startRow,\n hoverEndRow: endRow,\n onHover: onHover,\n rowExpandable: expandableConfig.rowExpandable,\n onRow: onRow,\n getRowKey: getRowKey,\n expandedKeys: mergedExpandedKeys,\n childrenColumnName: mergedChildrenColumnName,\n rowHoverable: rowHoverable\n };\n }, [\n // Scroll\n mergedScrollX,\n // Table\n prefixCls, getComponent, scrollbarSize, direction, fixedInfoList, isSticky, supportSticky, componentWidth, fixHeader, fixColumn, horizonScroll,\n // Body\n mergedTableLayout, rowClassName, expandableConfig.expandedRowClassName, mergedExpandIcon, expandableType, expandableConfig.expandRowByClick, expandableConfig.expandedRowRender, onTriggerExpand, expandableConfig.expandIconColumnIndex, expandableConfig.indentSize, emptyNode,\n // Column\n columns, flattenColumns, onColumnResize,\n // Row\n startRow, endRow, onHover, expandableConfig.rowExpandable, onRow, getRowKey, mergedExpandedKeys, mergedChildrenColumnName, rowHoverable]);\n return /*#__PURE__*/React.createElement(TableContext.Provider, {\n value: TableContextValue\n }, fullTable);\n}\nvar RefTable = /*#__PURE__*/React.forwardRef(Table);\nif (process.env.NODE_ENV !== 'production') {\n RefTable.displayName = 'Table';\n}\nexport function genTable(shouldTriggerRender) {\n return makeImmutable(RefTable, shouldTriggerRender);\n}\nvar ImmutableTable = genTable();\nImmutableTable.EXPAND_COLUMN = EXPAND_COLUMN;\nImmutableTable.INTERNAL_HOOKS = INTERNAL_HOOKS;\nImmutableTable.Column = Column;\nImmutableTable.ColumnGroup = ColumnGroup;\nImmutableTable.Summary = FooterComponents;\nexport default ImmutableTable;","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 var _React$useState3 = React.useState(-1),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n endRow = _React$useState4[0],\n setEndRow = _React$useState4[1];\n var onHover = React.useCallback(function (start, end) {\n setStartRow(start);\n setEndRow(end);\n }, []);\n return [startRow, endRow, onHover];\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 \"../constant\";\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 * 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 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 return false;\n }, [!!expandedRowRender, mergedData]);\n var _React$useState = React.useState(function () {\n if (defaultExpandedRowKeys) {\n return defaultExpandedRowKeys;\n }\n if (defaultExpandAllRows) {\n return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName);\n }\n return [];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerExpandedKeys = _React$useState2[0],\n setInnerExpandedKeys = _React$useState2[1];\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 if (hasKey) {\n mergedExpandedKeys.delete(key);\n newExpandedKeys = _toConsumableArray(mergedExpandedKeys);\n } else {\n newExpandedKeys = [].concat(_toConsumableArray(mergedExpandedKeys), [key]);\n }\n setInnerExpandedKeys(newExpandedKeys);\n if (onExpand) {\n onExpand(!hasKey, record);\n }\n if (onExpandedRowsChange) {\n onExpandedRowsChange(newExpandedKeys);\n }\n }, [getRowKey, mergedExpandedKeys, mergedData, onExpand, onExpandedRowsChange]);\n\n // Warning if use `expandedRowRender` and nest children in the same time\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 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) {\n var fixedInfoList = flattenColumns.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, flattenColumns, stickyOffsets, direction);\n });\n return useMemo(function () {\n return fixedInfoList;\n }, [fixedInfoList], function (prev, next) {\n return !isEqual(prev, next);\n });\n}","/* istanbul ignore next */\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}\nexport default Column;","/* istanbul ignore next */\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}\nexport default ColumnGroup;","import { createContext } from '@rc-component/context';\nexport var StaticContext = createContext(null);\nexport var GridContext = createContext(null);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { getCellProps } from \"../Body/BodyRow\";\nimport Cell from \"../Cell\";\nimport { GridContext } from \"./context\";\n/**\n * Return the width of the column by `colSpan`.\n * When `colSpan` is `0` will be trade as `1`.\n */\nexport function getColumnWidth(colIndex, colSpan, columnsOffset) {\n var mergedColSpan = colSpan || 1;\n return columnsOffset[colIndex + mergedColSpan] - (columnsOffset[colIndex] || 0);\n}\nfunction VirtualCell(props) {\n var rowInfo = props.rowInfo,\n column = props.column,\n colIndex = props.colIndex,\n indent = props.indent,\n index = props.index,\n component = props.component,\n renderIndex = props.renderIndex,\n record = props.record,\n style = props.style,\n className = props.className,\n inverse = props.inverse,\n getHeight = props.getHeight;\n var render = column.render,\n dataIndex = column.dataIndex,\n columnClassName = column.className,\n colWidth = column.width;\n var _useContext = useContext(GridContext, ['columnsOffset']),\n columnsOffset = _useContext.columnsOffset;\n var _getCellProps = getCellProps(rowInfo, column, colIndex, indent, index),\n key = _getCellProps.key,\n fixedInfo = _getCellProps.fixedInfo,\n appendCellNode = _getCellProps.appendCellNode,\n additionalCellProps = _getCellProps.additionalCellProps;\n var cellStyle = additionalCellProps.style,\n _additionalCellProps$ = additionalCellProps.colSpan,\n colSpan = _additionalCellProps$ === void 0 ? 1 : _additionalCellProps$,\n _additionalCellProps$2 = additionalCellProps.rowSpan,\n rowSpan = _additionalCellProps$2 === void 0 ? 1 : _additionalCellProps$2;\n\n // ========================= ColWidth =========================\n // column width\n var startColIndex = colIndex - 1;\n var concatColWidth = getColumnWidth(startColIndex, colSpan, columnsOffset);\n\n // margin offset\n var marginOffset = colSpan > 1 ? colWidth - concatColWidth : 0;\n\n // ========================== Style ===========================\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread({}, cellStyle), style), {}, {\n flex: \"0 0 \".concat(concatColWidth, \"px\"),\n width: \"\".concat(concatColWidth, \"px\"),\n marginRight: marginOffset,\n pointerEvents: 'auto'\n });\n\n // When `colSpan` or `rowSpan` is `0`, should skip render.\n var needHide = React.useMemo(function () {\n if (inverse) {\n return rowSpan <= 1;\n } else {\n return colSpan === 0 || rowSpan === 0 || rowSpan > 1;\n }\n }, [rowSpan, colSpan, inverse]);\n\n // 0 rowSpan or colSpan should not render\n if (needHide) {\n mergedStyle.visibility = 'hidden';\n } else if (inverse) {\n mergedStyle.height = getHeight === null || getHeight === void 0 ? void 0 : getHeight(rowSpan);\n }\n var mergedRender = needHide ? function () {\n return null;\n } : render;\n\n // ========================== Render ==========================\n var cellSpan = {};\n\n // Virtual should reset `colSpan` & `rowSpan`\n if (rowSpan === 0 || colSpan === 0) {\n cellSpan.rowSpan = 1;\n cellSpan.colSpan = 1;\n }\n return /*#__PURE__*/React.createElement(Cell, _extends({\n className: classNames(columnClassName, className),\n ellipsis: column.ellipsis,\n align: column.align,\n scope: column.rowScope,\n component: component,\n prefixCls: rowInfo.prefixCls,\n key: key,\n record: record,\n index: index,\n renderIndex: renderIndex,\n dataIndex: dataIndex,\n render: mergedRender,\n shouldCellUpdate: column.shouldCellUpdate\n }, fixedInfo, {\n appendNode: appendCellNode,\n additionalProps: _objectSpread(_objectSpread({}, additionalCellProps), {}, {\n style: mergedStyle\n }, cellSpan)\n }));\n}\nexport default VirtualCell;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"data\", \"index\", \"className\", \"rowKey\", \"style\", \"extra\", \"getHeight\"];\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useRowInfo from \"../hooks/useRowInfo\";\nimport VirtualCell from \"./VirtualCell\";\nimport { StaticContext } from \"./context\";\nimport { computedExpandedClassName } from \"../utils/expandUtil\";\nvar BodyLine = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n index = props.index,\n className = props.className,\n rowKey = props.rowKey,\n style = props.style,\n extra = props.extra,\n getHeight = props.getHeight,\n restProps = _objectWithoutProperties(props, _excluded);\n var record = data.record,\n indent = data.indent,\n renderIndex = data.index;\n var _useContext = useContext(TableContext, ['prefixCls', 'flattenColumns', 'fixColumn', 'componentWidth', 'scrollX']),\n scrollX = _useContext.scrollX,\n flattenColumns = _useContext.flattenColumns,\n prefixCls = _useContext.prefixCls,\n fixColumn = _useContext.fixColumn,\n componentWidth = _useContext.componentWidth;\n var _useContext2 = useContext(StaticContext, ['getComponent']),\n getComponent = _useContext2.getComponent;\n var rowInfo = useRowInfo(record, rowKey, index, indent);\n var RowComponent = getComponent(['body', 'row'], 'div');\n var cellComponent = getComponent(['body', 'cell'], 'div');\n\n // ========================== Expand ==========================\n var rowSupportExpand = rowInfo.rowSupportExpand,\n expanded = rowInfo.expanded,\n rowProps = rowInfo.rowProps,\n expandedRowRender = rowInfo.expandedRowRender,\n expandedRowClassName = rowInfo.expandedRowClassName;\n var expandRowNode;\n if (rowSupportExpand && expanded) {\n var expandContent = expandedRowRender(record, index, indent + 1, expanded);\n var expandedClsName = computedExpandedClassName(expandedRowClassName, record, index, indent);\n var additionalProps = {};\n if (fixColumn) {\n additionalProps = {\n style: _defineProperty({}, '--virtual-width', \"\".concat(componentWidth, \"px\"))\n };\n }\n var rowCellCls = \"\".concat(prefixCls, \"-expanded-row-cell\");\n expandRowNode = /*#__PURE__*/React.createElement(RowComponent, {\n className: classNames(\"\".concat(prefixCls, \"-expanded-row\"), \"\".concat(prefixCls, \"-expanded-row-level-\").concat(indent + 1), expandedClsName)\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls,\n className: classNames(rowCellCls, _defineProperty({}, \"\".concat(rowCellCls, \"-fixed\"), fixColumn)),\n additionalProps: additionalProps\n }, expandContent));\n }\n\n // ========================== Render ==========================\n var rowStyle = _objectSpread(_objectSpread({}, style), {}, {\n width: scrollX\n });\n if (extra) {\n rowStyle.position = 'absolute';\n rowStyle.pointerEvents = 'none';\n }\n var rowNode = /*#__PURE__*/React.createElement(RowComponent, _extends({}, rowProps, restProps, {\n \"data-row-key\": rowKey,\n ref: rowSupportExpand ? null : ref,\n className: classNames(className, \"\".concat(prefixCls, \"-row\"), rowProps === null || rowProps === void 0 ? void 0 : rowProps.className, _defineProperty({}, \"\".concat(prefixCls, \"-row-extra\"), extra)),\n style: _objectSpread(_objectSpread({}, rowStyle), rowProps === null || rowProps === void 0 ? void 0 : rowProps.style)\n }), flattenColumns.map(function (column, colIndex) {\n return /*#__PURE__*/React.createElement(VirtualCell, {\n key: colIndex,\n component: cellComponent,\n rowInfo: rowInfo,\n column: column,\n colIndex: colIndex,\n indent: indent,\n index: index,\n renderIndex: renderIndex,\n record: record,\n inverse: extra,\n getHeight: getHeight\n });\n }));\n if (rowSupportExpand) {\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref\n }, rowNode, expandRowNode);\n }\n return rowNode;\n});\nvar ResponseBodyLine = responseImmutable(BodyLine);\nif (process.env.NODE_ENV !== 'production') {\n ResponseBodyLine.displayName = 'BodyLine';\n}\nexport default ResponseBodyLine;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport BodyLine from \"./BodyLine\";\nimport { GridContext, StaticContext } from \"./context\";\nvar Grid = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n onScroll = props.onScroll;\n var _useContext = useContext(TableContext, ['flattenColumns', 'onColumnResize', 'getRowKey', 'prefixCls', 'expandedKeys', 'childrenColumnName', 'scrollX', 'direction']),\n flattenColumns = _useContext.flattenColumns,\n onColumnResize = _useContext.onColumnResize,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n prefixCls = _useContext.prefixCls,\n childrenColumnName = _useContext.childrenColumnName,\n scrollX = _useContext.scrollX,\n direction = _useContext.direction;\n var _useContext2 = useContext(StaticContext),\n sticky = _useContext2.sticky,\n scrollY = _useContext2.scrollY,\n listItemHeight = _useContext2.listItemHeight,\n getComponent = _useContext2.getComponent,\n onTablePropScroll = _useContext2.onScroll;\n\n // =========================== Ref ============================\n var listRef = React.useRef();\n\n // =========================== Data ===========================\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // ========================== Column ==========================\n var columnsWidth = React.useMemo(function () {\n var total = 0;\n return flattenColumns.map(function (_ref) {\n var width = _ref.width,\n key = _ref.key;\n total += width;\n return [key, width, total];\n });\n }, [flattenColumns]);\n var columnsOffset = React.useMemo(function () {\n return columnsWidth.map(function (colWidth) {\n return colWidth[2];\n });\n }, [columnsWidth]);\n React.useEffect(function () {\n columnsWidth.forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n width = _ref3[1];\n onColumnResize(key, width);\n });\n }, [columnsWidth]);\n\n // =========================== Ref ============================\n React.useImperativeHandle(ref, function () {\n var _listRef$current2;\n var obj = {\n scrollTo: function scrollTo(config) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(config);\n },\n nativeElement: (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.nativeElement\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current3;\n return ((_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : _listRef$current3.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current4;\n (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 || _listRef$current4.scrollTo({\n left: value\n });\n }\n });\n return obj;\n });\n\n // ======================= Col/Row Span =======================\n var getRowSpan = function getRowSpan(column, index) {\n var _flattenData$index;\n var record = (_flattenData$index = flattenData[index]) === null || _flattenData$index === void 0 ? void 0 : _flattenData$index.record;\n var onCell = column.onCell;\n if (onCell) {\n var _cellProps$rowSpan;\n var cellProps = onCell(record, index);\n return (_cellProps$rowSpan = cellProps === null || cellProps === void 0 ? void 0 : cellProps.rowSpan) !== null && _cellProps$rowSpan !== void 0 ? _cellProps$rowSpan : 1;\n }\n return 1;\n };\n var extraRender = function extraRender(info) {\n var start = info.start,\n end = info.end,\n getSize = info.getSize,\n offsetY = info.offsetY;\n\n // Do nothing if no data\n if (end < 0) {\n return null;\n }\n\n // Find first rowSpan column\n var firstRowSpanColumns = flattenColumns.filter(\n // rowSpan is 0\n function (column) {\n return getRowSpan(column, start) === 0;\n });\n var startIndex = start;\n var _loop = function _loop(i) {\n firstRowSpanColumns = firstRowSpanColumns.filter(function (column) {\n return getRowSpan(column, i) === 0;\n });\n if (!firstRowSpanColumns.length) {\n startIndex = i;\n return 1; // break\n }\n };\n for (var i = start; i >= 0; i -= 1) {\n if (_loop(i)) break;\n }\n\n // Find last rowSpan column\n var lastRowSpanColumns = flattenColumns.filter(\n // rowSpan is not 1\n function (column) {\n return getRowSpan(column, end) !== 1;\n });\n var endIndex = end;\n var _loop2 = function _loop2(_i) {\n lastRowSpanColumns = lastRowSpanColumns.filter(function (column) {\n return getRowSpan(column, _i) !== 1;\n });\n if (!lastRowSpanColumns.length) {\n endIndex = Math.max(_i - 1, end);\n return 1; // break\n }\n };\n for (var _i = end; _i < flattenData.length; _i += 1) {\n if (_loop2(_i)) break;\n }\n\n // Collect the line who has rowSpan\n var spanLines = [];\n var _loop3 = function _loop3(_i2) {\n var item = flattenData[_i2];\n\n // This code will never reach, just incase\n if (!item) {\n return 1; // continue\n }\n if (flattenColumns.some(function (column) {\n return getRowSpan(column, _i2) > 1;\n })) {\n spanLines.push(_i2);\n }\n };\n for (var _i2 = startIndex; _i2 <= endIndex; _i2 += 1) {\n if (_loop3(_i2)) continue;\n }\n\n // Patch extra line on the page\n var nodes = spanLines.map(function (index) {\n var item = flattenData[index];\n var rowKey = getRowKey(item.record, index);\n var getHeight = function getHeight(rowSpan) {\n var endItemIndex = index + rowSpan - 1;\n var endItemKey = getRowKey(flattenData[endItemIndex].record, endItemIndex);\n var sizeInfo = getSize(rowKey, endItemKey);\n return sizeInfo.bottom - sizeInfo.top;\n };\n var sizeInfo = getSize(rowKey);\n return /*#__PURE__*/React.createElement(BodyLine, {\n key: index,\n data: item,\n rowKey: rowKey,\n index: index,\n style: {\n top: -offsetY + sizeInfo.top\n },\n extra: true,\n getHeight: getHeight\n });\n });\n return nodes;\n };\n\n // ========================= Context ==========================\n var gridContext = React.useMemo(function () {\n return {\n columnsOffset: columnsOffset\n };\n }, [columnsOffset]);\n\n // ========================== Render ==========================\n var tblPrefixCls = \"\".concat(prefixCls, \"-tbody\");\n\n // default 'div' in rc-virtual-list\n var wrapperComponent = getComponent(['body', 'wrapper']);\n\n // ========================== Sticky Scroll Bar ==========================\n var horizontalScrollBarStyle = {};\n if (sticky) {\n horizontalScrollBarStyle.position = 'sticky';\n horizontalScrollBarStyle.bottom = 0;\n if (_typeof(sticky) === 'object' && sticky.offsetScroll) {\n horizontalScrollBarStyle.bottom = sticky.offsetScroll;\n }\n }\n return /*#__PURE__*/React.createElement(GridContext.Provider, {\n value: gridContext\n }, /*#__PURE__*/React.createElement(VirtualList, {\n fullHeight: false,\n ref: listRef,\n prefixCls: \"\".concat(tblPrefixCls, \"-virtual\"),\n styles: {\n horizontalScrollBar: horizontalScrollBarStyle\n },\n className: tblPrefixCls,\n height: scrollY,\n itemHeight: listItemHeight || 24,\n data: flattenData,\n itemKey: function itemKey(item) {\n return getRowKey(item.record);\n },\n component: wrapperComponent,\n scrollWidth: scrollX,\n direction: direction,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var _listRef$current5;\n var x = _ref4.x;\n onScroll({\n currentTarget: (_listRef$current5 = listRef.current) === null || _listRef$current5 === void 0 ? void 0 : _listRef$current5.nativeElement,\n scrollLeft: x\n });\n },\n onScroll: onTablePropScroll,\n extraRender: extraRender\n }, function (item, index, itemProps) {\n var rowKey = getRowKey(item.record, index);\n return /*#__PURE__*/React.createElement(BodyLine, {\n data: item,\n rowKey: rowKey,\n index: index,\n style: itemProps.style\n });\n }));\n});\nvar ResponseGrid = responseImmutable(Grid);\nif (process.env.NODE_ENV !== 'production') {\n ResponseGrid.displayName = 'ResponseGrid';\n}\nexport default ResponseGrid;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport { useEvent, warning } from 'rc-util';\nimport * as React from 'react';\nimport { INTERNAL_HOOKS } from \"../constant\";\nimport { makeImmutable } from \"../context/TableContext\";\nimport Table, { DEFAULT_PREFIX } from \"../Table\";\nimport Grid from \"./BodyGrid\";\nimport { StaticContext } from \"./context\";\nimport getValue from \"rc-util/es/utils/get\";\nvar renderBody = function renderBody(rawData, props) {\n var ref = props.ref,\n onScroll = props.onScroll;\n return /*#__PURE__*/React.createElement(Grid, {\n ref: ref,\n data: rawData,\n onScroll: onScroll\n });\n};\nfunction VirtualTable(props, ref) {\n var data = props.data,\n columns = props.columns,\n scroll = props.scroll,\n sticky = props.sticky,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? DEFAULT_PREFIX : _props$prefixCls,\n className = props.className,\n listItemHeight = props.listItemHeight,\n components = props.components,\n onScroll = props.onScroll;\n var _ref = scroll || {},\n scrollX = _ref.x,\n scrollY = _ref.y;\n\n // Fill scrollX\n if (typeof scrollX !== 'number') {\n if (process.env.NODE_ENV !== 'production') {\n warning(!scrollX, '`scroll.x` in virtual table must be number.');\n }\n scrollX = 1;\n }\n\n // Fill scrollY\n if (typeof scrollY !== 'number') {\n scrollY = 500;\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '`scroll.y` in virtual table must be number.');\n }\n }\n var getComponent = useEvent(function (path, defaultComponent) {\n return getValue(components, path) || defaultComponent;\n });\n\n // Memo this\n var onInternalScroll = useEvent(onScroll);\n\n // ========================= Context ==========================\n var context = React.useMemo(function () {\n return {\n sticky: sticky,\n scrollY: scrollY,\n listItemHeight: listItemHeight,\n getComponent: getComponent,\n onScroll: onInternalScroll\n };\n }, [sticky, scrollY, listItemHeight, getComponent, onInternalScroll]);\n\n // ========================== Render ==========================\n return /*#__PURE__*/React.createElement(StaticContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Table, _extends({}, props, {\n className: classNames(className, \"\".concat(prefixCls, \"-virtual\")),\n scroll: _objectSpread(_objectSpread({}, scroll), {}, {\n x: scrollX\n }),\n components: _objectSpread(_objectSpread({}, components), {}, {\n // fix https://github.com/ant-design/ant-design/issues/48991\n body: data !== null && data !== void 0 && data.length ? renderBody : undefined\n }),\n columns: columns,\n internalHooks: INTERNAL_HOOKS,\n tailor: true,\n ref: ref\n })));\n}\nvar RefVirtualTable = /*#__PURE__*/React.forwardRef(VirtualTable);\nif (process.env.NODE_ENV !== 'production') {\n RefVirtualTable.displayName = 'VirtualTable';\n}\nexport function genVirtualTable(shouldTriggerRender) {\n return makeImmutable(RefVirtualTable, shouldTriggerRender);\n}\nexport default genVirtualTable();","import _extends from \"@babel/runtime/helpers/esm/extends\";\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 _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"checked\", \"disabled\", \"defaultChecked\", \"type\", \"title\", \"onChange\"];\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nexport var Checkbox = /*#__PURE__*/forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-checkbox' : _props$prefixCls,\n className = props.className,\n style = props.style,\n checked = props.checked,\n disabled = props.disabled,\n _props$defaultChecked = props.defaultChecked,\n defaultChecked = _props$defaultChecked === void 0 ? false : _props$defaultChecked,\n _props$type = props.type,\n type = _props$type === void 0 ? 'checkbox' : _props$type,\n title = props.title,\n onChange = props.onChange,\n inputProps = _objectWithoutProperties(props, _excluded);\n var inputRef = useRef(null);\n var holderRef = useRef(null);\n var _useMergedState = useMergedState(defaultChecked, {\n value: checked\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n rawValue = _useMergedState2[0],\n setRawValue = _useMergedState2[1];\n useImperativeHandle(ref, function () {\n return {\n focus: function focus(options) {\n var _inputRef$current;\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus(options);\n },\n blur: function blur() {\n var _inputRef$current2;\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.blur();\n },\n input: inputRef.current,\n nativeElement: holderRef.current\n };\n });\n var classString = classNames(prefixCls, className, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-checked\"), rawValue), \"\".concat(prefixCls, \"-disabled\"), disabled));\n var handleChange = function handleChange(e) {\n if (disabled) {\n return;\n }\n if (!('checked' in props)) {\n setRawValue(e.target.checked);\n }\n onChange === null || onChange === void 0 || onChange({\n target: _objectSpread(_objectSpread({}, props), {}, {\n type: type,\n checked: e.target.checked\n }),\n stopPropagation: function stopPropagation() {\n e.stopPropagation();\n },\n preventDefault: function preventDefault() {\n e.preventDefault();\n },\n nativeEvent: e.nativeEvent\n });\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classString,\n title: title,\n style: style,\n ref: holderRef\n }, /*#__PURE__*/React.createElement(\"input\", _extends({}, inputProps, {\n className: \"\".concat(prefixCls, \"-input\"),\n ref: inputRef,\n onChange: handleChange,\n disabled: disabled,\n checked: !!rawValue,\n type: type\n })), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-inner\")\n }));\n});\nexport default Checkbox;","import { genComponentStyleHook } from '../../theme/internal';\nconst genWaveStyle = token => {\n const {\n componentCls,\n colorPrimary\n } = token;\n return {\n [componentCls]: {\n position: 'absolute',\n background: 'transparent',\n pointerEvents: 'none',\n boxSizing: 'border-box',\n color: `var(--wave-color, ${colorPrimary})`,\n boxShadow: `0 0 0 0 currentcolor`,\n opacity: 0.2,\n // =================== Motion ===================\n '&.wave-motion-appear': {\n transition: [`box-shadow 0.4s ${token.motionEaseOutCirc}`, `opacity 2s ${token.motionEaseOutCirc}`].join(','),\n '&-active': {\n boxShadow: `0 0 0 6px currentcolor`,\n opacity: 0\n },\n '&.wave-quick': {\n transition: [`box-shadow ${token.motionDurationSlow} ${token.motionEaseInOut}`, `opacity ${token.motionDurationSlow} ${token.motionEaseInOut}`].join(',')\n }\n }\n }\n };\n};\nexport default genComponentStyleHook('Wave', token => [genWaveStyle(token)]);","import { defaultPrefixCls } from '../../config-provider';\nexport const TARGET_CLS = `${defaultPrefixCls}-wave-target`;","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as ReactDOM from 'react-dom';\n// Let compiler not to search module usage\nvar fullClone = _objectSpread({}, ReactDOM);\nvar version = fullClone.version,\n reactRender = fullClone.render,\n unmountComponentAtNode = fullClone.unmountComponentAtNode;\nvar createRoot;\ntry {\n var mainVersion = Number((version || '').split('.')[0]);\n if (mainVersion >= 18) {\n createRoot = fullClone.createRoot;\n }\n} catch (e) {\n // Do nothing;\n}\nfunction toggleWarning(skip) {\n var __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && _typeof(__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\nvar MARK = '__rc_react_root__';\n\n// ========================== Render ==========================\n\nfunction modernRender(node, container) {\n toggleWarning(true);\n var root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _r(node, container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyRender(node, container);\n }\n}\nexport function render(node, container) {\n if (createRoot) {\n modernRender(node, container);\n return;\n }\n legacyRender(node, container);\n}\n\n// ========================= Unmount ==========================\nfunction modernUnmount(_x) {\n return _modernUnmount.apply(this, arguments);\n}\nfunction _modernUnmount() {\n _modernUnmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(container) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", Promise.resolve().then(function () {\n var _container$MARK;\n (_container$MARK = container[MARK]) === null || _container$MARK === void 0 || _container$MARK.unmount();\n delete container[MARK];\n }));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _modernUnmount.apply(this, arguments);\n}\nfunction legacyUnmount(container) {\n unmountComponentAtNode(container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _u(container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyUnmount(container);\n }\n}\nexport function unmount(_x2) {\n return _unmount.apply(this, arguments);\n}\nfunction _unmount() {\n _unmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(container) {\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(createRoot !== undefined)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", modernUnmount(container));\n case 2:\n legacyUnmount(container);\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _unmount.apply(this, arguments);\n}","export function isValidWaveColor(color) {\n return color && color !== '#fff' && color !== '#ffffff' && color !== 'rgb(255, 255, 255)' && color !== 'rgba(255, 255, 255, 1)' && !/rgba\\((?:\\d*, ){3}0\\)/.test(color) &&\n // any transparent rgba color\n color !== 'transparent';\n}\nexport function getTargetWaveColor(node) {\n const {\n borderTopColor,\n borderColor,\n backgroundColor\n } = getComputedStyle(node);\n if (isValidWaveColor(borderTopColor)) {\n return borderTopColor;\n }\n if (isValidWaveColor(borderColor)) {\n return borderColor;\n }\n if (isValidWaveColor(backgroundColor)) {\n return backgroundColor;\n }\n return null;\n}","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport raf from \"rc-util/es/raf\";\nimport { render, unmount } from \"rc-util/es/React/render\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport { TARGET_CLS } from './interface';\nimport { getTargetWaveColor } from './util';\nfunction validateNum(value) {\n return Number.isNaN(value) ? 0 : value;\n}\nconst WaveEffect = props => {\n const {\n className,\n target,\n component\n } = props;\n const divRef = React.useRef(null);\n const [color, setWaveColor] = React.useState(null);\n const [borderRadius, setBorderRadius] = React.useState([]);\n const [left, setLeft] = React.useState(0);\n const [top, setTop] = React.useState(0);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const [enabled, setEnabled] = React.useState(false);\n const waveStyle = {\n left,\n top,\n width,\n height,\n borderRadius: borderRadius.map(radius => `${radius}px`).join(' ')\n };\n if (color) {\n waveStyle['--wave-color'] = color;\n }\n function syncPos() {\n const nodeStyle = getComputedStyle(target);\n // Get wave color from target\n setWaveColor(getTargetWaveColor(target));\n const isStatic = nodeStyle.position === 'static';\n // Rect\n const {\n borderLeftWidth,\n borderTopWidth\n } = nodeStyle;\n setLeft(isStatic ? target.offsetLeft : validateNum(-parseFloat(borderLeftWidth)));\n setTop(isStatic ? target.offsetTop : validateNum(-parseFloat(borderTopWidth)));\n setWidth(target.offsetWidth);\n setHeight(target.offsetHeight);\n // Get border radius\n const {\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius\n } = nodeStyle;\n setBorderRadius([borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius].map(radius => validateNum(parseFloat(radius))));\n }\n React.useEffect(() => {\n if (target) {\n // We need delay to check position here\n // since UI may change after click\n const id = raf(() => {\n syncPos();\n setEnabled(true);\n });\n // Add resize observer to follow size\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(syncPos);\n resizeObserver.observe(target);\n }\n return () => {\n raf.cancel(id);\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n }\n }, []);\n if (!enabled) {\n return null;\n }\n const isSmallComponent = (component === 'Checkbox' || component === 'Radio') && (target === null || target === void 0 ? void 0 : target.classList.contains(TARGET_CLS));\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: true,\n motionAppear: true,\n motionName: \"wave-motion\",\n motionDeadline: 5000,\n onAppearEnd: (_, event) => {\n var _a;\n if (event.deadline || event.propertyName === 'opacity') {\n const holder = (_a = divRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;\n unmount(holder).then(() => {\n holder === null || holder === void 0 ? void 0 : holder.remove();\n });\n }\n return false;\n }\n }, (_ref, ref) => {\n let {\n className: motionClassName\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: composeRef(divRef, ref),\n className: classNames(className, motionClassName, {\n 'wave-quick': isSmallComponent\n }),\n style: waveStyle\n });\n });\n};\nconst showWaveEffect = (target, info) => {\n var _a;\n const {\n component\n } = info;\n // Skip for unchecked checkbox\n if (component === 'Checkbox' && !((_a = target.querySelector('input')) === null || _a === void 0 ? void 0 : _a.checked)) {\n return;\n }\n // Create holder\n const holder = document.createElement('div');\n holder.style.position = 'absolute';\n holder.style.left = '0px';\n holder.style.top = '0px';\n target === null || target === void 0 ? void 0 : target.insertBefore(holder, target === null || target === void 0 ? void 0 : target.firstChild);\n render(/*#__PURE__*/React.createElement(WaveEffect, Object.assign({}, info, {\n target: target\n })), holder);\n};\nexport default showWaveEffect;","import React, { useContext, useRef } from 'react';\nimport classNames from 'classnames';\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport { ConfigContext } from '../../config-provider';\nimport { cloneElement } from '../reactNode';\nimport useStyle from './style';\nimport useWave from './useWave';\nconst Wave = props => {\n const {\n children,\n disabled,\n component\n } = props;\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const containerRef = useRef(null);\n // ============================== Style ===============================\n const prefixCls = getPrefixCls('wave');\n const [, hashId] = useStyle(prefixCls);\n // =============================== Wave ===============================\n const showWave = useWave(containerRef, classNames(prefixCls, hashId), component);\n // ============================== Effect ==============================\n React.useEffect(() => {\n const node = containerRef.current;\n if (!node || node.nodeType !== 1 || disabled) {\n return;\n }\n // Click handler\n const onClick = e => {\n // Fix radio button click twice\n if (!isVisible(e.target) ||\n // No need wave\n !node.getAttribute || node.getAttribute('disabled') || node.disabled || node.className.includes('disabled') || node.className.includes('-leave')) {\n return;\n }\n showWave(e);\n };\n // Bind events\n node.addEventListener('click', onClick, true);\n return () => {\n node.removeEventListener('click', onClick, true);\n };\n }, [disabled]);\n // ============================== Render ==============================\n if (! /*#__PURE__*/React.isValidElement(children)) {\n return children !== null && children !== void 0 ? children : null;\n }\n const ref = supportRef(children) ? composeRef(children.ref, containerRef) : containerRef;\n return cloneElement(children, {\n ref\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n Wave.displayName = 'Wave';\n}\nexport default Wave;","import * as React from 'react';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport raf from \"rc-util/es/raf\";\nimport { ConfigContext } from '../../config-provider';\nimport useToken from '../../theme/useToken';\nimport { TARGET_CLS } from './interface';\nimport showWaveEffect from './WaveEffect';\nconst useWave = (nodeRef, className, component) => {\n const {\n wave\n } = React.useContext(ConfigContext);\n const [, token, hashId] = useToken();\n const showWave = useEvent(event => {\n const node = nodeRef.current;\n if ((wave === null || wave === void 0 ? void 0 : wave.disabled) || !node) {\n return;\n }\n const targetNode = node.querySelector(`.${TARGET_CLS}`) || node;\n const {\n showEffect\n } = wave || {};\n // Customize wave effect\n (showEffect || showWaveEffect)(targetNode, {\n className,\n token,\n component,\n event,\n hashId\n });\n });\n const rafId = React.useRef();\n // Merge trigger event into one for each frame\n const showDebounceWave = event => {\n raf.cancel(rafId.current);\n rafId.current = raf(() => {\n showWave(event);\n });\n };\n return showDebounceWave;\n};\nexport default useWave;","import React from 'react';\nconst GroupContext = /*#__PURE__*/React.createContext(null);\nexport default GroupContext;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport { FormItemInputContext } from '../form/context';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nconst InternalCheckbox = (props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n indeterminate = false,\n style,\n onMouseEnter,\n onMouseLeave,\n skipGroup = false,\n disabled\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"indeterminate\", \"style\", \"onMouseEnter\", \"onMouseLeave\", \"skipGroup\", \"disabled\"]);\n const {\n getPrefixCls,\n direction,\n checkbox\n } = React.useContext(ConfigContext);\n const checkboxGroup = React.useContext(GroupContext);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n const contextDisabled = React.useContext(DisabledContext);\n const mergedDisabled = (_a = (checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.disabled) || disabled) !== null && _a !== void 0 ? _a : contextDisabled;\n const prevValue = React.useRef(restProps.value);\n const checkboxRef = React.useRef(null);\n const mergedRef = composeRef(ref, checkboxRef);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Checkbox');\n process.env.NODE_ENV !== \"production\" ? warning('checked' in restProps || !!checkboxGroup || !('value' in restProps), 'usage', '`value` is not a valid prop, do you mean `checked`?') : void 0;\n }\n React.useEffect(() => {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n }, []);\n React.useEffect(() => {\n if (skipGroup) {\n return;\n }\n if (restProps.value !== prevValue.current) {\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(prevValue.current);\n checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.registerValue(restProps.value);\n prevValue.current = restProps.value;\n }\n return () => checkboxGroup === null || checkboxGroup === void 0 ? void 0 : checkboxGroup.cancelValue(restProps.value);\n }, [restProps.value]);\n React.useEffect(() => {\n var _a;\n if ((_a = checkboxRef.current) === null || _a === void 0 ? void 0 : _a.input) {\n checkboxRef.current.input.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const checkboxProps = Object.assign({}, restProps);\n if (checkboxGroup && !skipGroup) {\n checkboxProps.onChange = function () {\n if (restProps.onChange) {\n restProps.onChange.apply(restProps, arguments);\n }\n if (checkboxGroup.toggleOption) {\n checkboxGroup.toggleOption({\n label: children,\n value: restProps.value\n });\n }\n };\n checkboxProps.name = checkboxGroup.name;\n checkboxProps.checked = checkboxGroup.value.includes(restProps.value);\n }\n const classString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-checked`]: checkboxProps.checked,\n [`${prefixCls}-wrapper-disabled`]: mergedDisabled,\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput\n }, checkbox === null || checkbox === void 0 ? void 0 : checkbox.className, className, rootClassName, cssVarCls, rootCls, hashId);\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate\n }, TARGET_CLS, hashId);\n return wrapCSSVar(/*#__PURE__*/React.createElement(Wave, {\n component: \"Checkbox\",\n disabled: mergedDisabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: classString,\n style: Object.assign(Object.assign({}, checkbox === null || checkbox === void 0 ? void 0 : checkbox.style), style),\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, checkboxProps, {\n prefixCls: prefixCls,\n className: checkboxClass,\n disabled: mergedDisabled,\n ref: mergedRef\n })), children !== undefined && /*#__PURE__*/React.createElement(\"span\", null, children))));\n};\nconst Checkbox = /*#__PURE__*/React.forwardRef(InternalCheckbox);\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport Checkbox from './Checkbox';\nimport GroupContext from './GroupContext';\nimport useStyle from './style';\nconst CheckboxGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n defaultValue,\n children,\n options = [],\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n onChange\n } = props,\n restProps = __rest(props, [\"defaultValue\", \"children\", \"options\", \"prefixCls\", \"className\", \"rootClassName\", \"style\", \"onChange\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [value, setValue] = React.useState(restProps.value || defaultValue || []);\n const [registeredValues, setRegisteredValues] = React.useState([]);\n React.useEffect(() => {\n if ('value' in restProps) {\n setValue(restProps.value || []);\n }\n }, [restProps.value]);\n const memoOptions = React.useMemo(() => options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n return {\n label: option,\n value: option\n };\n }\n return option;\n }), [options]);\n const cancelValue = val => {\n setRegisteredValues(prevValues => prevValues.filter(v => v !== val));\n };\n const registerValue = val => {\n setRegisteredValues(prevValues => [].concat(_toConsumableArray(prevValues), [val]));\n };\n const toggleOption = option => {\n const optionIndex = value.indexOf(option.value);\n const newValue = _toConsumableArray(value);\n if (optionIndex === -1) {\n newValue.push(option.value);\n } else {\n newValue.splice(optionIndex, 1);\n }\n if (!('value' in restProps)) {\n setValue(newValue);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(newValue.filter(val => registeredValues.includes(val)).sort((a, b) => {\n const indexA = memoOptions.findIndex(opt => opt.value === a);\n const indexB = memoOptions.findIndex(opt => opt.value === b);\n return indexA - indexB;\n }));\n };\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const domProps = omit(restProps, ['value', 'disabled']);\n const childrenNode = options.length ? memoOptions.map(option => (/*#__PURE__*/React.createElement(Checkbox, {\n prefixCls: prefixCls,\n key: option.value.toString(),\n disabled: 'disabled' in option ? option.disabled : restProps.disabled,\n value: option.value,\n checked: value.includes(option.value),\n onChange: option.onChange,\n className: `${groupPrefixCls}-item`,\n style: option.style,\n title: option.title,\n id: option.id,\n required: option.required\n }, option.label))) : children;\n const context = {\n toggleOption,\n value,\n disabled: restProps.disabled,\n name: restProps.name,\n // https://github.com/ant-design/ant-design/issues/16376\n registerValue,\n cancelValue\n };\n const classString = classNames(groupPrefixCls, {\n [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, cssVarCls, rootCls, hashId);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classString,\n style: style\n }, domProps, {\n ref: ref\n }), /*#__PURE__*/React.createElement(GroupContext.Provider, {\n value: context\n }, childrenNode)));\n});\nexport { GroupContext };\nexport default CheckboxGroup;","\"use client\";\n\nimport InternalCheckbox from './Checkbox';\nimport Group from './Group';\nconst Checkbox = InternalCheckbox;\nCheckbox.Group = Group;\nCheckbox.__ANT_CHECKBOX = true;\nif (process.env.NODE_ENV !== 'production') {\n Checkbox.displayName = 'Checkbox';\n}\nexport default Checkbox;","import KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from \"react\";\nvar ESC = KeyCode.ESC,\n TAB = KeyCode.TAB;\nexport default function useAccessibility(_ref) {\n var visible = _ref.visible,\n triggerRef = _ref.triggerRef,\n onVisibleChange = _ref.onVisibleChange,\n autoFocus = _ref.autoFocus,\n overlayRef = _ref.overlayRef;\n var focusMenuRef = React.useRef(false);\n var handleCloseMenuAndReturnFocus = function handleCloseMenuAndReturnFocus() {\n if (visible) {\n var _triggerRef$current, _triggerRef$current$f;\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 || (_triggerRef$current$f = _triggerRef$current.focus) === null || _triggerRef$current$f === void 0 || _triggerRef$current$f.call(_triggerRef$current);\n onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(false);\n }\n };\n var focusMenu = function focusMenu() {\n var _overlayRef$current;\n if ((_overlayRef$current = overlayRef.current) !== null && _overlayRef$current !== void 0 && _overlayRef$current.focus) {\n overlayRef.current.focus();\n focusMenuRef.current = true;\n return true;\n }\n return false;\n };\n var handleKeyDown = function handleKeyDown(event) {\n switch (event.keyCode) {\n case ESC:\n handleCloseMenuAndReturnFocus();\n break;\n case TAB:\n {\n var focusResult = false;\n if (!focusMenuRef.current) {\n focusResult = focusMenu();\n }\n if (focusResult) {\n event.preventDefault();\n } else {\n handleCloseMenuAndReturnFocus();\n }\n break;\n }\n }\n };\n React.useEffect(function () {\n if (visible) {\n window.addEventListener(\"keydown\", handleKeyDown);\n if (autoFocus) {\n // FIXME: hack with raf\n raf(focusMenu, 3);\n }\n return function () {\n window.removeEventListener(\"keydown\", handleKeyDown);\n focusMenuRef.current = false;\n };\n }\n return function () {\n focusMenuRef.current = false;\n };\n }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps\n}","import React, { forwardRef, useMemo } from 'react';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nvar Overlay = /*#__PURE__*/forwardRef(function (props, ref) {\n var overlay = props.overlay,\n arrow = props.arrow,\n prefixCls = props.prefixCls;\n var overlayNode = useMemo(function () {\n var overlayElement;\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n return overlayElement;\n }, [overlay]);\n var composedRef = composeRef(ref, overlayNode === null || overlayNode === void 0 ? void 0 : overlayNode.ref);\n return /*#__PURE__*/React.createElement(React.Fragment, null, arrow && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), /*#__PURE__*/React.cloneElement(overlayNode, {\n ref: supportRef(overlayNode) ? composedRef : undefined\n }));\n});\nexport default Overlay;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\", \"autoFocus\", \"overlay\", \"children\", \"onVisibleChange\"];\nimport Trigger from '@rc-component/trigger';\nimport classNames from 'classnames';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport React from 'react';\nimport useAccessibility from \"./hooks/useAccessibility\";\nimport Overlay from \"./Overlay\";\nimport Placements from \"./placements\";\nfunction Dropdown(props, ref) {\n var _children$props;\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n autoFocus = props.autoFocus,\n overlay = props.overlay,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n otherProps = _objectWithoutProperties(props, _excluded);\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n var overlayRef = React.useRef(null);\n var childRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n var handleVisibleChange = function handleVisibleChange(newVisible) {\n setTriggerVisible(newVisible);\n onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(newVisible);\n };\n useAccessibility({\n visible: mergedVisible,\n triggerRef: childRef,\n onVisibleChange: handleVisibleChange,\n autoFocus: autoFocus,\n overlayRef: overlayRef\n });\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n setTriggerVisible(false);\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n };\n var getMenuElement = function getMenuElement() {\n return /*#__PURE__*/React.createElement(Overlay, {\n ref: overlayRef,\n overlay: overlay,\n prefixCls: prefixCls,\n arrow: arrow\n });\n };\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n return getMenuElement();\n };\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n return !alignPoint;\n };\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n if (openClassName !== undefined) {\n return openClassName;\n }\n return \"\".concat(prefixCls, \"-open\");\n };\n var childrenNode = /*#__PURE__*/React.cloneElement(children, {\n className: classNames((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.className, mergedVisible && getOpenClassName()),\n ref: supportRef(children) ? composeRef(childRef, children.ref) : undefined\n });\n var triggerHideAction = hideAction;\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n builtinPlacements: placements\n }, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction,\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: handleVisibleChange,\n onPopupClick: onClick,\n getPopupContainer: getPopupContainer\n }), childrenNode);\n}\nexport default /*#__PURE__*/React.forwardRef(Dropdown);","import Dropdown from \"./Dropdown\";\nexport default Dropdown;","import * as React from 'react';\nexport var IdContext = /*#__PURE__*/React.createContext(null);\nexport function getMenuId(uuid, eventKey) {\n if (uuid === undefined) {\n return null;\n }\n return \"\".concat(uuid, \"-\").concat(eventKey);\n}\n\n/**\n * Get `data-menu-id`\n */\nexport function useMenuId(eventKey) {\n var id = React.useContext(IdContext);\n return getMenuId(id, eventKey);\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"children\", \"locked\"];\nimport * as React from 'react';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nexport var MenuContext = /*#__PURE__*/React.createContext(null);\nfunction mergeProps(origin, target) {\n var clone = _objectSpread({}, origin);\n Object.keys(target).forEach(function (key) {\n var value = target[key];\n if (value !== undefined) {\n clone[key] = value;\n }\n });\n return clone;\n}\nexport default function InheritableContextProvider(_ref) {\n var children = _ref.children,\n locked = _ref.locked,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var context = React.useContext(MenuContext);\n var inheritableContext = useMemo(function () {\n return mergeProps(context, restProps);\n }, [context, restProps], function (prev, next) {\n return !locked && (prev[0] !== next[0] || !isEqual(prev[1], next[1], true));\n });\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: inheritableContext\n }, children);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nvar EmptyList = [];\n\n// ========================= Path Register =========================\n\nexport var PathRegisterContext = /*#__PURE__*/React.createContext(null);\nexport function useMeasure() {\n return React.useContext(PathRegisterContext);\n}\n\n// ========================= Path Tracker ==========================\nexport var PathTrackerContext = /*#__PURE__*/React.createContext(EmptyList);\nexport function useFullPath(eventKey) {\n var parentKeyPath = React.useContext(PathTrackerContext);\n return React.useMemo(function () {\n return eventKey !== undefined ? [].concat(_toConsumableArray(parentKeyPath), [eventKey]) : parentKeyPath;\n }, [parentKeyPath, eventKey]);\n}\n\n// =========================== Path User ===========================\n\nexport var PathUserContext = /*#__PURE__*/React.createContext(null);","import * as React from 'react';\nvar PrivateContext = /*#__PURE__*/React.createContext({});\nexport default PrivateContext;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport isVisible from \"./isVisible\";\nfunction focusable(node) {\n var includePositive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (isVisible(node)) {\n var nodeName = node.nodeName.toLowerCase();\n var isFocusableElement =\n // Focusable element\n ['input', 'select', 'textarea', 'button'].includes(nodeName) ||\n // Editable element\n node.isContentEditable ||\n // Anchor with href element\n nodeName === 'a' && !!node.getAttribute('href');\n\n // Get tabIndex\n var tabIndexAttr = node.getAttribute('tabindex');\n var tabIndexNum = Number(tabIndexAttr);\n\n // Parse as number if validate\n var tabIndex = null;\n if (tabIndexAttr && !Number.isNaN(tabIndexNum)) {\n tabIndex = tabIndexNum;\n } else if (isFocusableElement && tabIndex === null) {\n tabIndex = 0;\n }\n\n // Block focusable if disabled\n if (isFocusableElement && node.disabled) {\n tabIndex = null;\n }\n return tabIndex !== null && (tabIndex >= 0 || includePositive && tabIndex < 0);\n }\n return false;\n}\nexport function getFocusNodeList(node) {\n var includePositive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var res = _toConsumableArray(node.querySelectorAll('*')).filter(function (child) {\n return focusable(child, includePositive);\n });\n if (focusable(node, includePositive)) {\n res.unshift(node);\n }\n return res;\n}\nvar lastFocusElement = null;\n\n/** @deprecated Do not use since this may failed when used in async */\nexport function saveLastFocusNode() {\n lastFocusElement = document.activeElement;\n}\n\n/** @deprecated Do not use since this may failed when used in async */\nexport function clearLastFocusNode() {\n lastFocusElement = null;\n}\n\n/** @deprecated Do not use since this may failed when used in async */\nexport function backLastFocusNode() {\n if (lastFocusElement) {\n try {\n // 元素可能已经被移动了\n lastFocusElement.focus();\n\n /* eslint-disable no-empty */\n } catch (e) {\n // empty\n }\n /* eslint-enable no-empty */\n }\n}\nexport function limitTabRange(node, e) {\n if (e.keyCode === 9) {\n var tabNodeList = getFocusNodeList(node);\n var lastTabNode = tabNodeList[e.shiftKey ? 0 : tabNodeList.length - 1];\n var leavingTab = lastTabNode === document.activeElement || node === document.activeElement;\n if (leavingTab) {\n var target = tabNodeList[e.shiftKey ? tabNodeList.length - 1 : 0];\n target.focus();\n e.preventDefault();\n }\n }\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { getFocusNodeList } from \"rc-util/es/Dom/focus\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { getMenuId } from \"../context/IdContext\";\n// destruct to reduce minify size\nvar LEFT = KeyCode.LEFT,\n RIGHT = KeyCode.RIGHT,\n UP = KeyCode.UP,\n DOWN = KeyCode.DOWN,\n ENTER = KeyCode.ENTER,\n ESC = KeyCode.ESC,\n HOME = KeyCode.HOME,\n END = KeyCode.END;\nvar ArrowKeys = [UP, DOWN, LEFT, RIGHT];\nfunction getOffset(mode, isRootLevel, isRtl, which) {\n var _offsets;\n var prev = 'prev';\n var next = 'next';\n var children = 'children';\n var parent = 'parent';\n\n // Inline enter is special that we use unique operation\n if (mode === 'inline' && which === ENTER) {\n return {\n inlineTrigger: true\n };\n }\n var inline = _defineProperty(_defineProperty({}, UP, prev), DOWN, next);\n var horizontal = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, LEFT, isRtl ? next : prev), RIGHT, isRtl ? prev : next), DOWN, children), ENTER, children);\n var vertical = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, UP, prev), DOWN, next), ENTER, children), ESC, parent), LEFT, isRtl ? children : parent), RIGHT, isRtl ? parent : children);\n var offsets = {\n inline: inline,\n horizontal: horizontal,\n vertical: vertical,\n inlineSub: inline,\n horizontalSub: vertical,\n verticalSub: vertical\n };\n var type = (_offsets = offsets[\"\".concat(mode).concat(isRootLevel ? '' : 'Sub')]) === null || _offsets === void 0 ? void 0 : _offsets[which];\n switch (type) {\n case prev:\n return {\n offset: -1,\n sibling: true\n };\n case next:\n return {\n offset: 1,\n sibling: true\n };\n case parent:\n return {\n offset: -1,\n sibling: false\n };\n case children:\n return {\n offset: 1,\n sibling: false\n };\n default:\n return null;\n }\n}\nfunction findContainerUL(element) {\n var current = element;\n while (current) {\n if (current.getAttribute('data-menu-list')) {\n return current;\n }\n current = current.parentElement;\n }\n\n // Normally should not reach this line\n /* istanbul ignore next */\n return null;\n}\n\n/**\n * Find focused element within element set provided\n */\nfunction getFocusElement(activeElement, elements) {\n var current = activeElement || document.activeElement;\n while (current) {\n if (elements.has(current)) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n}\n\n/**\n * Get focusable elements from the element set under provided container\n */\nexport function getFocusableElements(container, elements) {\n var list = getFocusNodeList(container, true);\n return list.filter(function (ele) {\n return elements.has(ele);\n });\n}\nfunction getNextFocusElement(parentQueryContainer, elements, focusMenuElement) {\n var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n // Key on the menu item will not get validate parent container\n if (!parentQueryContainer) {\n return null;\n }\n\n // List current level menu item elements\n var sameLevelFocusableMenuElementList = getFocusableElements(parentQueryContainer, elements);\n\n // Find next focus index\n var count = sameLevelFocusableMenuElementList.length;\n var focusIndex = sameLevelFocusableMenuElementList.findIndex(function (ele) {\n return focusMenuElement === ele;\n });\n if (offset < 0) {\n if (focusIndex === -1) {\n focusIndex = count - 1;\n } else {\n focusIndex -= 1;\n }\n } else if (offset > 0) {\n focusIndex += 1;\n }\n focusIndex = (focusIndex + count) % count;\n\n // Focus menu item\n return sameLevelFocusableMenuElementList[focusIndex];\n}\nexport var refreshElements = function refreshElements(keys, id) {\n var elements = new Set();\n var key2element = new Map();\n var element2key = new Map();\n keys.forEach(function (key) {\n var element = document.querySelector(\"[data-menu-id='\".concat(getMenuId(id, key), \"']\"));\n if (element) {\n elements.add(element);\n element2key.set(element, key);\n key2element.set(key, element);\n }\n });\n return {\n elements: elements,\n key2element: key2element,\n element2key: element2key\n };\n};\nexport function useAccessibility(mode, activeKey, isRtl, id, containerRef, getKeys, getKeyPath, triggerActiveKey, triggerAccessibilityOpen, originOnKeyDown) {\n var rafRef = React.useRef();\n var activeRef = React.useRef();\n activeRef.current = activeKey;\n var cleanRaf = function cleanRaf() {\n raf.cancel(rafRef.current);\n };\n React.useEffect(function () {\n return function () {\n cleanRaf();\n };\n }, []);\n return function (e) {\n var which = e.which;\n if ([].concat(ArrowKeys, [ENTER, ESC, HOME, END]).includes(which)) {\n var keys = getKeys();\n var refreshedElements = refreshElements(keys, id);\n var _refreshedElements = refreshedElements,\n elements = _refreshedElements.elements,\n key2element = _refreshedElements.key2element,\n element2key = _refreshedElements.element2key;\n\n // First we should find current focused MenuItem/SubMenu element\n var activeElement = key2element.get(activeKey);\n var focusMenuElement = getFocusElement(activeElement, elements);\n var focusMenuKey = element2key.get(focusMenuElement);\n var offsetObj = getOffset(mode, getKeyPath(focusMenuKey, true).length === 1, isRtl, which);\n\n // Some mode do not have fully arrow operation like inline\n if (!offsetObj && which !== HOME && which !== END) {\n return;\n }\n\n // Arrow prevent default to avoid page scroll\n if (ArrowKeys.includes(which) || [HOME, END].includes(which)) {\n e.preventDefault();\n }\n var tryFocus = function tryFocus(menuElement) {\n if (menuElement) {\n var focusTargetElement = menuElement;\n\n // Focus to link instead of menu item if possible\n var link = menuElement.querySelector('a');\n if (link !== null && link !== void 0 && link.getAttribute('href')) {\n focusTargetElement = link;\n }\n var targetKey = element2key.get(menuElement);\n triggerActiveKey(targetKey);\n\n /**\n * Do not `useEffect` here since `tryFocus` may trigger async\n * which makes React sync update the `activeKey`\n * that force render before `useRef` set the next activeKey\n */\n cleanRaf();\n rafRef.current = raf(function () {\n if (activeRef.current === targetKey) {\n focusTargetElement.focus();\n }\n });\n }\n };\n if ([HOME, END].includes(which) || offsetObj.sibling || !focusMenuElement) {\n // ========================== Sibling ==========================\n // Find walkable focus menu element container\n var parentQueryContainer;\n if (!focusMenuElement || mode === 'inline') {\n parentQueryContainer = containerRef.current;\n } else {\n parentQueryContainer = findContainerUL(focusMenuElement);\n }\n\n // Get next focus element\n var targetElement;\n var focusableElements = getFocusableElements(parentQueryContainer, elements);\n if (which === HOME) {\n targetElement = focusableElements[0];\n } else if (which === END) {\n targetElement = focusableElements[focusableElements.length - 1];\n } else {\n targetElement = getNextFocusElement(parentQueryContainer, elements, focusMenuElement, offsetObj.offset);\n }\n // Focus menu item\n tryFocus(targetElement);\n\n // ======================= InlineTrigger =======================\n } else if (offsetObj.inlineTrigger) {\n // Inline trigger no need switch to sub menu item\n triggerAccessibilityOpen(focusMenuKey);\n // =========================== Level ===========================\n } else if (offsetObj.offset > 0) {\n triggerAccessibilityOpen(focusMenuKey, true);\n cleanRaf();\n rafRef.current = raf(function () {\n // Async should resync elements\n refreshedElements = refreshElements(keys, id);\n var controlId = focusMenuElement.getAttribute('aria-controls');\n var subQueryContainer = document.getElementById(controlId);\n\n // Get sub focusable menu item\n var targetElement = getNextFocusElement(subQueryContainer, refreshedElements.elements);\n\n // Focus menu item\n tryFocus(targetElement);\n }, 5);\n } else if (offsetObj.offset < 0) {\n var keyPath = getKeyPath(focusMenuKey, true);\n var parentKey = keyPath[keyPath.length - 2];\n var parentMenuElement = key2element.get(parentKey);\n\n // Focus menu item\n triggerAccessibilityOpen(parentKey, false);\n tryFocus(parentMenuElement);\n }\n }\n\n // Pass origin key down event\n originOnKeyDown === null || originOnKeyDown === void 0 || originOnKeyDown(e);\n };\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useCallback } from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { nextSlice } from \"../utils/timeUtil\";\nvar PATH_SPLIT = '__RC_UTIL_PATH_SPLIT__';\nvar getPathStr = function getPathStr(keyPath) {\n return keyPath.join(PATH_SPLIT);\n};\nvar getPathKeys = function getPathKeys(keyPathStr) {\n return keyPathStr.split(PATH_SPLIT);\n};\nexport var OVERFLOW_KEY = 'rc-menu-more';\nexport default function useKeyRecords() {\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n internalForceUpdate = _React$useState2[1];\n var key2pathRef = useRef(new Map());\n var path2keyRef = useRef(new Map());\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n overflowKeys = _React$useState4[0],\n setOverflowKeys = _React$useState4[1];\n var updateRef = useRef(0);\n var destroyRef = useRef(false);\n var forceUpdate = function forceUpdate() {\n if (!destroyRef.current) {\n internalForceUpdate({});\n }\n };\n var registerPath = useCallback(function (key, keyPath) {\n // Warning for invalidate or duplicated `key`\n if (process.env.NODE_ENV !== 'production') {\n warning(!key2pathRef.current.has(key), \"Duplicated key '\".concat(key, \"' used in Menu by path [\").concat(keyPath.join(' > '), \"]\"));\n }\n\n // Fill map\n var connectedPath = getPathStr(keyPath);\n path2keyRef.current.set(connectedPath, key);\n key2pathRef.current.set(key, connectedPath);\n updateRef.current += 1;\n var id = updateRef.current;\n nextSlice(function () {\n if (id === updateRef.current) {\n forceUpdate();\n }\n });\n }, []);\n var unregisterPath = useCallback(function (key, keyPath) {\n var connectedPath = getPathStr(keyPath);\n path2keyRef.current.delete(connectedPath);\n key2pathRef.current.delete(key);\n }, []);\n var refreshOverflowKeys = useCallback(function (keys) {\n setOverflowKeys(keys);\n }, []);\n var getKeyPath = useCallback(function (eventKey, includeOverflow) {\n var fullPath = key2pathRef.current.get(eventKey) || '';\n var keys = getPathKeys(fullPath);\n if (includeOverflow && overflowKeys.includes(keys[0])) {\n keys.unshift(OVERFLOW_KEY);\n }\n return keys;\n }, [overflowKeys]);\n var isSubPathKey = useCallback(function (pathKeys, eventKey) {\n return pathKeys.filter(function (item) {\n return item !== undefined;\n }).some(function (pathKey) {\n var pathKeyList = getKeyPath(pathKey, true);\n return pathKeyList.includes(eventKey);\n });\n }, [getKeyPath]);\n var getKeys = function getKeys() {\n var keys = _toConsumableArray(key2pathRef.current.keys());\n if (overflowKeys.length) {\n keys.push(OVERFLOW_KEY);\n }\n return keys;\n };\n\n /**\n * Find current key related child path keys\n */\n var getSubPathKeys = useCallback(function (key) {\n var connectedPath = \"\".concat(key2pathRef.current.get(key)).concat(PATH_SPLIT);\n var pathKeys = new Set();\n _toConsumableArray(path2keyRef.current.keys()).forEach(function (pathKey) {\n if (pathKey.startsWith(connectedPath)) {\n pathKeys.add(path2keyRef.current.get(pathKey));\n }\n });\n return pathKeys;\n }, []);\n React.useEffect(function () {\n return function () {\n destroyRef.current = true;\n };\n }, []);\n return {\n // Register\n registerPath: registerPath,\n unregisterPath: unregisterPath,\n refreshOverflowKeys: refreshOverflowKeys,\n // Util\n isSubPathKey: isSubPathKey,\n getKeyPath: getKeyPath,\n getKeys: getKeys,\n getSubPathKeys: getSubPathKeys\n };\n}","import * as React from 'react';\n\n/**\n * Cache callback function that always return same ref instead.\n * This is used for context optimization.\n */\nexport default function useMemoCallback(func) {\n var funRef = React.useRef(func);\n funRef.current = func;\n var callback = React.useCallback(function () {\n var _funRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_funRef$current = funRef.current) === null || _funRef$current === void 0 ? void 0 : _funRef$current.call.apply(_funRef$current, [funRef].concat(args));\n }, []);\n return func ? callback : undefined;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nvar uniquePrefix = Math.random().toFixed(5).toString().slice(2);\nvar internalId = 0;\nexport default function useUUID(id) {\n var _useMergedState = useMergedState(id, {\n value: id\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n uuid = _useMergedState2[0],\n setUUID = _useMergedState2[1];\n React.useEffect(function () {\n internalId += 1;\n var newId = process.env.NODE_ENV === 'test' ? 'test' : \"\".concat(uniquePrefix, \"-\").concat(internalId);\n setUUID(\"rc-menu-uuid-\".concat(newId));\n }, []);\n return uuid;\n}","import * as React from 'react';\nimport { MenuContext } from \"../context/MenuContext\";\nexport default function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {\n var _React$useContext = React.useContext(MenuContext),\n activeKey = _React$useContext.activeKey,\n onActive = _React$useContext.onActive,\n onInactive = _React$useContext.onInactive;\n var ret = {\n active: activeKey === eventKey\n };\n\n // Skip when disabled\n if (!disabled) {\n ret.onMouseEnter = function (domEvent) {\n onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({\n key: eventKey,\n domEvent: domEvent\n });\n onActive(eventKey);\n };\n ret.onMouseLeave = function (domEvent) {\n onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({\n key: eventKey,\n domEvent: domEvent\n });\n onInactive(eventKey);\n };\n }\n return ret;\n}","import * as React from 'react';\nimport { MenuContext } from \"../context/MenuContext\";\nexport default function useDirectionStyle(level) {\n var _React$useContext = React.useContext(MenuContext),\n mode = _React$useContext.mode,\n rtl = _React$useContext.rtl,\n inlineIndent = _React$useContext.inlineIndent;\n if (mode !== 'inline') {\n return null;\n }\n var len = level;\n return rtl ? {\n paddingRight: len * inlineIndent\n } : {\n paddingLeft: len * inlineIndent\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nexport default function Icon(_ref) {\n var icon = _ref.icon,\n props = _ref.props,\n children = _ref.children;\n var iconNode;\n if (icon === null || icon === false) {\n return null;\n }\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, props));\n } else if (typeof icon !== \"boolean\") {\n // Compatible for origin definition\n iconNode = icon;\n }\n return iconNode || children || null;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"item\"];\nimport warning from \"rc-util/es/warning\";\n\n/**\n * `onClick` event return `info.item` which point to react node directly.\n * We should warning this since it will not work on FC.\n */\nexport function warnItemProp(_ref) {\n var item = _ref.item,\n restInfo = _objectWithoutProperties(_ref, _excluded);\n Object.defineProperty(restInfo, 'item', {\n get: function get() {\n warning(false, '`info.item` is deprecated since we will move to function component that not provides React Node instance in future.');\n return item;\n }\n });\n return restInfo;\n}","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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"title\", \"attribute\", \"elementRef\"],\n _excluded2 = [\"style\", \"className\", \"eventKey\", \"warnKey\", \"disabled\", \"itemIcon\", \"children\", \"role\", \"onMouseEnter\", \"onMouseLeave\", \"onClick\", \"onKeyDown\", \"onFocus\"],\n _excluded3 = [\"active\"];\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport omit from \"rc-util/es/omit\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { useMenuId } from \"./context/IdContext\";\nimport { MenuContext } from \"./context/MenuContext\";\nimport { useFullPath, useMeasure } from \"./context/PathContext\";\nimport PrivateContext from \"./context/PrivateContext\";\nimport useActive from \"./hooks/useActive\";\nimport useDirectionStyle from \"./hooks/useDirectionStyle\";\nimport Icon from \"./Icon\";\nimport { warnItemProp } from \"./utils/warnUtil\";\n// Since Menu event provide the `info.item` which point to the MenuItem node instance.\n// We have to use class component here.\n// This should be removed from doc & api in future.\nvar LegacyMenuItem = /*#__PURE__*/function (_React$Component) {\n _inherits(LegacyMenuItem, _React$Component);\n var _super = _createSuper(LegacyMenuItem);\n function LegacyMenuItem() {\n _classCallCheck(this, LegacyMenuItem);\n return _super.apply(this, arguments);\n }\n _createClass(LegacyMenuItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n title = _this$props.title,\n attribute = _this$props.attribute,\n elementRef = _this$props.elementRef,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n\n // Here the props are eventually passed to the DOM element.\n // React does not recognize non-standard attributes.\n // Therefore, remove the props that is not used here.\n // ref: https://github.com/ant-design/ant-design/issues/41395\n var passedProps = omit(restProps, ['eventKey', 'popupClassName', 'popupOffset', 'onTitleClick']);\n warning(!attribute, '`attribute` of Menu.Item is deprecated. Please pass attribute directly.');\n return /*#__PURE__*/React.createElement(Overflow.Item, _extends({}, attribute, {\n title: typeof title === 'string' ? title : undefined\n }, passedProps, {\n ref: elementRef\n }));\n }\n }]);\n return LegacyMenuItem;\n}(React.Component);\n/**\n * Real Menu Item component\n */\nvar InternalMenuItem = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var style = props.style,\n className = props.className,\n eventKey = props.eventKey,\n warnKey = props.warnKey,\n disabled = props.disabled,\n itemIcon = props.itemIcon,\n children = props.children,\n role = props.role,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onClick = props.onClick,\n onKeyDown = props.onKeyDown,\n onFocus = props.onFocus,\n restProps = _objectWithoutProperties(props, _excluded2);\n var domDataId = useMenuId(eventKey);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n onItemClick = _React$useContext.onItemClick,\n contextDisabled = _React$useContext.disabled,\n overflowDisabled = _React$useContext.overflowDisabled,\n contextItemIcon = _React$useContext.itemIcon,\n selectedKeys = _React$useContext.selectedKeys,\n onActive = _React$useContext.onActive;\n var _React$useContext2 = React.useContext(PrivateContext),\n _internalRenderMenuItem = _React$useContext2._internalRenderMenuItem;\n var itemCls = \"\".concat(prefixCls, \"-item\");\n var legacyMenuItemRef = React.useRef();\n var elementRef = React.useRef();\n var mergedDisabled = contextDisabled || disabled;\n var mergedEleRef = useComposeRef(ref, elementRef);\n var connectedKeys = useFullPath(eventKey);\n\n // ================================ Warn ================================\n if (process.env.NODE_ENV !== 'production' && warnKey) {\n warning(false, 'MenuItem should not leave undefined `key`.');\n }\n\n // ============================= Info =============================\n var getEventInfo = function getEventInfo(e) {\n return {\n key: eventKey,\n // Note: For legacy code is reversed which not like other antd component\n keyPath: _toConsumableArray(connectedKeys).reverse(),\n item: legacyMenuItemRef.current,\n domEvent: e\n };\n };\n\n // ============================= Icon =============================\n var mergedItemIcon = itemIcon || contextItemIcon;\n\n // ============================ Active ============================\n var _useActive = useActive(eventKey, mergedDisabled, onMouseEnter, onMouseLeave),\n active = _useActive.active,\n activeProps = _objectWithoutProperties(_useActive, _excluded3);\n\n // ============================ Select ============================\n var selected = selectedKeys.includes(eventKey);\n\n // ======================== DirectionStyle ========================\n var directionStyle = useDirectionStyle(connectedKeys.length);\n\n // ============================ Events ============================\n var onInternalClick = function onInternalClick(e) {\n if (mergedDisabled) {\n return;\n }\n var info = getEventInfo(e);\n onClick === null || onClick === void 0 || onClick(warnItemProp(info));\n onItemClick(info);\n };\n var onInternalKeyDown = function onInternalKeyDown(e) {\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(e);\n if (e.which === KeyCode.ENTER) {\n var info = getEventInfo(e);\n\n // Legacy. Key will also trigger click event\n onClick === null || onClick === void 0 || onClick(warnItemProp(info));\n onItemClick(info);\n }\n };\n\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n var onInternalFocus = function onInternalFocus(e) {\n onActive(eventKey);\n onFocus === null || onFocus === void 0 || onFocus(e);\n };\n\n // ============================ Render ============================\n var optionRoleProps = {};\n if (props.role === 'option') {\n optionRoleProps['aria-selected'] = selected;\n }\n var renderNode = /*#__PURE__*/React.createElement(LegacyMenuItem, _extends({\n ref: legacyMenuItemRef,\n elementRef: mergedEleRef,\n role: role === null ? 'none' : role || 'menuitem',\n tabIndex: disabled ? null : -1,\n \"data-menu-id\": overflowDisabled && domDataId ? null : domDataId\n }, omit(restProps, ['extra']), activeProps, optionRoleProps, {\n component: \"li\",\n \"aria-disabled\": disabled,\n style: _objectSpread(_objectSpread({}, directionStyle), style),\n className: classNames(itemCls, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(itemCls, \"-active\"), active), \"\".concat(itemCls, \"-selected\"), selected), \"\".concat(itemCls, \"-disabled\"), mergedDisabled), className),\n onClick: onInternalClick,\n onKeyDown: onInternalKeyDown,\n onFocus: onInternalFocus\n }), children, /*#__PURE__*/React.createElement(Icon, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n isSelected: selected\n }),\n icon: mergedItemIcon\n }));\n if (_internalRenderMenuItem) {\n renderNode = _internalRenderMenuItem(renderNode, props, {\n selected: selected\n });\n }\n return renderNode;\n});\nfunction MenuItem(props, ref) {\n var eventKey = props.eventKey;\n\n // ==================== Record KeyPath ====================\n var measure = useMeasure();\n var connectedKeyPath = useFullPath(eventKey);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(function () {\n if (measure) {\n measure.registerPath(eventKey, connectedKeyPath);\n return function () {\n measure.unregisterPath(eventKey, connectedKeyPath);\n };\n }\n }, [connectedKeyPath]);\n if (measure) {\n return null;\n }\n\n // ======================== Render ========================\n return /*#__PURE__*/React.createElement(InternalMenuItem, _extends({}, props, {\n ref: ref\n }));\n}\nexport default /*#__PURE__*/React.forwardRef(MenuItem);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"children\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from \"../context/MenuContext\";\nvar InternalSubMenuList = function InternalSubMenuList(_ref, ref) {\n var className = _ref.className,\n children = _ref.children,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n mode = _React$useContext.mode,\n rtl = _React$useContext.rtl;\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, rtl && \"\".concat(prefixCls, \"-rtl\"), \"\".concat(prefixCls, \"-sub\"), \"\".concat(prefixCls, \"-\").concat(mode === 'inline' ? 'inline' : 'vertical'), className),\n role: \"menu\"\n }, restProps, {\n \"data-menu-list\": true,\n ref: ref\n }), children);\n};\nvar SubMenuList = /*#__PURE__*/React.forwardRef(InternalSubMenuList);\nSubMenuList.displayName = 'SubMenuList';\nexport default SubMenuList;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nexport function parseChildren(children, keyPath) {\n return toArray(children).map(function (child, index) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n var _eventKey, _child$props;\n var key = child.key;\n var eventKey = (_eventKey = (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.eventKey) !== null && _eventKey !== void 0 ? _eventKey : key;\n var emptyKey = eventKey === null || eventKey === undefined;\n if (emptyKey) {\n eventKey = \"tmp_key-\".concat([].concat(_toConsumableArray(keyPath), [index]).join('-'));\n }\n var cloneProps = {\n key: eventKey,\n eventKey: eventKey\n };\n if (process.env.NODE_ENV !== 'production' && emptyKey) {\n cloneProps.warnKey = true;\n }\n return /*#__PURE__*/React.cloneElement(child, cloneProps);\n }\n return child;\n });\n}","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nexport var placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow\n }\n};\nexport var placementsRtl = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow\n },\n rightTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow\n },\n rightBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow\n },\n leftTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow\n },\n leftBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow\n }\n};\nexport default placements;","export function getMotion(mode, motion, defaultMotions) {\n if (motion) {\n return motion;\n }\n if (defaultMotions) {\n return defaultMotions[mode] || defaultMotions.other;\n }\n return undefined;\n}","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 * as React from 'react';\nimport Trigger from '@rc-component/trigger';\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nimport { MenuContext } from \"../context/MenuContext\";\nimport { placements, placementsRtl } from \"../placements\";\nimport { getMotion } from \"../utils/motionUtil\";\nvar popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop'\n};\nexport default function PopupTrigger(_ref) {\n var prefixCls = _ref.prefixCls,\n visible = _ref.visible,\n children = _ref.children,\n popup = _ref.popup,\n popupStyle = _ref.popupStyle,\n popupClassName = _ref.popupClassName,\n popupOffset = _ref.popupOffset,\n disabled = _ref.disabled,\n mode = _ref.mode,\n onVisibleChange = _ref.onVisibleChange;\n var _React$useContext = React.useContext(MenuContext),\n getPopupContainer = _React$useContext.getPopupContainer,\n rtl = _React$useContext.rtl,\n subMenuOpenDelay = _React$useContext.subMenuOpenDelay,\n subMenuCloseDelay = _React$useContext.subMenuCloseDelay,\n builtinPlacements = _React$useContext.builtinPlacements,\n triggerSubMenuAction = _React$useContext.triggerSubMenuAction,\n forceSubMenuRender = _React$useContext.forceSubMenuRender,\n rootClassName = _React$useContext.rootClassName,\n motion = _React$useContext.motion,\n defaultMotions = _React$useContext.defaultMotions;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerVisible = _React$useState2[0],\n setInnerVisible = _React$useState2[1];\n var placement = rtl ? _objectSpread(_objectSpread({}, placementsRtl), builtinPlacements) : _objectSpread(_objectSpread({}, placements), builtinPlacements);\n var popupPlacement = popupPlacementMap[mode];\n var targetMotion = getMotion(mode, motion, defaultMotions);\n var targetMotionRef = React.useRef(targetMotion);\n if (mode !== 'inline') {\n /**\n * PopupTrigger is only used for vertical and horizontal types.\n * When collapsed is unfolded, the inline animation will destroy the vertical animation.\n */\n targetMotionRef.current = targetMotion;\n }\n var mergedMotion = _objectSpread(_objectSpread({}, targetMotionRef.current), {}, {\n leavedClassName: \"\".concat(prefixCls, \"-hidden\"),\n removeOnLeave: false,\n motionAppear: true\n });\n\n // Delay to change visible\n var visibleRef = React.useRef();\n React.useEffect(function () {\n visibleRef.current = raf(function () {\n setInnerVisible(visible);\n });\n return function () {\n raf.cancel(visibleRef.current);\n };\n }, [visible]);\n return /*#__PURE__*/React.createElement(Trigger, {\n prefixCls: prefixCls,\n popupClassName: classNames(\"\".concat(prefixCls, \"-popup\"), _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), rtl), popupClassName, rootClassName),\n stretch: mode === 'horizontal' ? 'minWidth' : null,\n getPopupContainer: getPopupContainer,\n builtinPlacements: placement,\n popupPlacement: popupPlacement,\n popupVisible: innerVisible,\n popup: popup,\n popupStyle: popupStyle,\n popupAlign: popupOffset && {\n offset: popupOffset\n },\n action: disabled ? [] : [triggerSubMenuAction],\n mouseEnterDelay: subMenuOpenDelay,\n mouseLeaveDelay: subMenuCloseDelay,\n onPopupVisibleChange: onVisibleChange,\n forceRender: forceSubMenuRender,\n popupMotion: mergedMotion,\n fresh: true\n }, children);\n}","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 * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from \"../utils/motionUtil\";\nimport MenuContextProvider, { MenuContext } from \"../context/MenuContext\";\nimport SubMenuList from \"./SubMenuList\";\nexport default function InlineSubMenuList(_ref) {\n var id = _ref.id,\n open = _ref.open,\n keyPath = _ref.keyPath,\n children = _ref.children;\n var fixedMode = 'inline';\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n forceSubMenuRender = _React$useContext.forceSubMenuRender,\n motion = _React$useContext.motion,\n defaultMotions = _React$useContext.defaultMotions,\n mode = _React$useContext.mode;\n\n // Always use latest mode check\n var sameModeRef = React.useRef(false);\n sameModeRef.current = mode === fixedMode;\n\n // We record `destroy` mark here since when mode change from `inline` to others.\n // The inline list should remove when motion end.\n var _React$useState = React.useState(!sameModeRef.current),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n destroy = _React$useState2[0],\n setDestroy = _React$useState2[1];\n var mergedOpen = sameModeRef.current ? open : false;\n\n // ================================= Effect =================================\n // Reset destroy state when mode change back\n React.useEffect(function () {\n if (sameModeRef.current) {\n setDestroy(false);\n }\n }, [mode]);\n\n // ================================= Render =================================\n var mergedMotion = _objectSpread({}, getMotion(fixedMode, motion, defaultMotions));\n\n // No need appear since nest inlineCollapse changed\n if (keyPath.length > 1) {\n mergedMotion.motionAppear = false;\n }\n\n // Hide inline list when mode changed and motion end\n var originOnVisibleChanged = mergedMotion.onVisibleChanged;\n mergedMotion.onVisibleChanged = function (newVisible) {\n if (!sameModeRef.current && !newVisible) {\n setDestroy(true);\n }\n return originOnVisibleChanged === null || originOnVisibleChanged === void 0 ? void 0 : originOnVisibleChanged(newVisible);\n };\n if (destroy) {\n return null;\n }\n return /*#__PURE__*/React.createElement(MenuContextProvider, {\n mode: fixedMode,\n locked: !sameModeRef.current\n }, /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: mergedOpen\n }, mergedMotion, {\n forceRender: forceSubMenuRender,\n removeOnLeave: false,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }), function (_ref2) {\n var motionClassName = _ref2.className,\n motionStyle = _ref2.style;\n return /*#__PURE__*/React.createElement(SubMenuList, {\n id: id,\n className: motionClassName,\n style: motionStyle\n }, children);\n }));\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"style\", \"className\", \"title\", \"eventKey\", \"warnKey\", \"disabled\", \"internalPopupClose\", \"children\", \"itemIcon\", \"expandIcon\", \"popupClassName\", \"popupOffset\", \"popupStyle\", \"onClick\", \"onMouseEnter\", \"onMouseLeave\", \"onTitleClick\", \"onTitleMouseEnter\", \"onTitleMouseLeave\"],\n _excluded2 = [\"active\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport warning from \"rc-util/es/warning\";\nimport SubMenuList from \"./SubMenuList\";\nimport { parseChildren } from \"../utils/commonUtil\";\nimport MenuContextProvider, { MenuContext } from \"../context/MenuContext\";\nimport useMemoCallback from \"../hooks/useMemoCallback\";\nimport PopupTrigger from \"./PopupTrigger\";\nimport Icon from \"../Icon\";\nimport useActive from \"../hooks/useActive\";\nimport { warnItemProp } from \"../utils/warnUtil\";\nimport useDirectionStyle from \"../hooks/useDirectionStyle\";\nimport InlineSubMenuList from \"./InlineSubMenuList\";\nimport { PathTrackerContext, PathUserContext, useFullPath, useMeasure } from \"../context/PathContext\";\nimport { useMenuId } from \"../context/IdContext\";\nimport PrivateContext from \"../context/PrivateContext\";\nvar InternalSubMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var style = props.style,\n className = props.className,\n title = props.title,\n eventKey = props.eventKey,\n warnKey = props.warnKey,\n disabled = props.disabled,\n internalPopupClose = props.internalPopupClose,\n children = props.children,\n itemIcon = props.itemIcon,\n expandIcon = props.expandIcon,\n popupClassName = props.popupClassName,\n popupOffset = props.popupOffset,\n popupStyle = props.popupStyle,\n onClick = props.onClick,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onTitleClick = props.onTitleClick,\n onTitleMouseEnter = props.onTitleMouseEnter,\n onTitleMouseLeave = props.onTitleMouseLeave,\n restProps = _objectWithoutProperties(props, _excluded);\n var domDataId = useMenuId(eventKey);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n mode = _React$useContext.mode,\n openKeys = _React$useContext.openKeys,\n contextDisabled = _React$useContext.disabled,\n overflowDisabled = _React$useContext.overflowDisabled,\n activeKey = _React$useContext.activeKey,\n selectedKeys = _React$useContext.selectedKeys,\n contextItemIcon = _React$useContext.itemIcon,\n contextExpandIcon = _React$useContext.expandIcon,\n onItemClick = _React$useContext.onItemClick,\n onOpenChange = _React$useContext.onOpenChange,\n onActive = _React$useContext.onActive;\n var _React$useContext2 = React.useContext(PrivateContext),\n _internalRenderSubMenuItem = _React$useContext2._internalRenderSubMenuItem;\n var _React$useContext3 = React.useContext(PathUserContext),\n isSubPathKey = _React$useContext3.isSubPathKey;\n var connectedPath = useFullPath();\n var subMenuPrefixCls = \"\".concat(prefixCls, \"-submenu\");\n var mergedDisabled = contextDisabled || disabled;\n var elementRef = React.useRef();\n var popupRef = React.useRef();\n\n // ================================ Warn ================================\n if (process.env.NODE_ENV !== 'production' && warnKey) {\n warning(false, 'SubMenu should not leave undefined `key`.');\n }\n\n // ================================ Icon ================================\n var mergedItemIcon = itemIcon !== null && itemIcon !== void 0 ? itemIcon : contextItemIcon;\n var mergedExpandIcon = expandIcon !== null && expandIcon !== void 0 ? expandIcon : contextExpandIcon;\n\n // ================================ Open ================================\n var originOpen = openKeys.includes(eventKey);\n var open = !overflowDisabled && originOpen;\n\n // =============================== Select ===============================\n var childrenSelected = isSubPathKey(selectedKeys, eventKey);\n\n // =============================== Active ===============================\n var _useActive = useActive(eventKey, mergedDisabled, onTitleMouseEnter, onTitleMouseLeave),\n active = _useActive.active,\n activeProps = _objectWithoutProperties(_useActive, _excluded2);\n\n // Fallback of active check to avoid hover on menu title or disabled item\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n childrenActive = _React$useState2[0],\n setChildrenActive = _React$useState2[1];\n var triggerChildrenActive = function triggerChildrenActive(newActive) {\n if (!mergedDisabled) {\n setChildrenActive(newActive);\n }\n };\n var onInternalMouseEnter = function onInternalMouseEnter(domEvent) {\n triggerChildrenActive(true);\n onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({\n key: eventKey,\n domEvent: domEvent\n });\n };\n var onInternalMouseLeave = function onInternalMouseLeave(domEvent) {\n triggerChildrenActive(false);\n onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({\n key: eventKey,\n domEvent: domEvent\n });\n };\n var mergedActive = React.useMemo(function () {\n if (active) {\n return active;\n }\n if (mode !== 'inline') {\n return childrenActive || isSubPathKey([activeKey], eventKey);\n }\n return false;\n }, [mode, active, activeKey, childrenActive, eventKey, isSubPathKey]);\n\n // ========================== DirectionStyle ==========================\n var directionStyle = useDirectionStyle(connectedPath.length);\n\n // =============================== Events ===============================\n // >>>> Title click\n var onInternalTitleClick = function onInternalTitleClick(e) {\n // Skip if disabled\n if (mergedDisabled) {\n return;\n }\n onTitleClick === null || onTitleClick === void 0 || onTitleClick({\n key: eventKey,\n domEvent: e\n });\n\n // Trigger open by click when mode is `inline`\n if (mode === 'inline') {\n onOpenChange(eventKey, !originOpen);\n }\n };\n\n // >>>> Context for children click\n var onMergedItemClick = useMemoCallback(function (info) {\n onClick === null || onClick === void 0 || onClick(warnItemProp(info));\n onItemClick(info);\n });\n\n // >>>>> Visible change\n var onPopupVisibleChange = function onPopupVisibleChange(newVisible) {\n if (mode !== 'inline') {\n onOpenChange(eventKey, newVisible);\n }\n };\n\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n var onInternalFocus = function onInternalFocus() {\n onActive(eventKey);\n };\n\n // =============================== Render ===============================\n var popupId = domDataId && \"\".concat(domDataId, \"-popup\");\n\n // >>>>> Title\n var titleNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n role: \"menuitem\",\n style: directionStyle,\n className: \"\".concat(subMenuPrefixCls, \"-title\"),\n tabIndex: mergedDisabled ? null : -1,\n ref: elementRef,\n title: typeof title === 'string' ? title : null,\n \"data-menu-id\": overflowDisabled && domDataId ? null : domDataId,\n \"aria-expanded\": open,\n \"aria-haspopup\": true,\n \"aria-controls\": popupId,\n \"aria-disabled\": mergedDisabled,\n onClick: onInternalTitleClick,\n onFocus: onInternalFocus\n }, activeProps), title, /*#__PURE__*/React.createElement(Icon, {\n icon: mode !== 'horizontal' ? mergedExpandIcon : undefined,\n props: _objectSpread(_objectSpread({}, props), {}, {\n isOpen: open,\n // [Legacy] Not sure why need this mark\n isSubMenu: true\n })\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(subMenuPrefixCls, \"-arrow\")\n })));\n\n // Cache mode if it change to `inline` which do not have popup motion\n var triggerModeRef = React.useRef(mode);\n if (mode !== 'inline' && connectedPath.length > 1) {\n triggerModeRef.current = 'vertical';\n } else {\n triggerModeRef.current = mode;\n }\n if (!overflowDisabled) {\n var triggerMode = triggerModeRef.current;\n\n // Still wrap with Trigger here since we need avoid react re-mount dom node\n // Which makes motion failed\n titleNode = /*#__PURE__*/React.createElement(PopupTrigger, {\n mode: triggerMode,\n prefixCls: subMenuPrefixCls,\n visible: !internalPopupClose && open && mode !== 'inline',\n popupClassName: popupClassName,\n popupOffset: popupOffset,\n popupStyle: popupStyle,\n popup: /*#__PURE__*/React.createElement(MenuContextProvider\n // Special handle of horizontal mode\n , {\n mode: triggerMode === 'horizontal' ? 'vertical' : triggerMode\n }, /*#__PURE__*/React.createElement(SubMenuList, {\n id: popupId,\n ref: popupRef\n }, children)),\n disabled: mergedDisabled,\n onVisibleChange: onPopupVisibleChange\n }, titleNode);\n }\n\n // >>>>> List node\n var listNode = /*#__PURE__*/React.createElement(Overflow.Item, _extends({\n ref: ref,\n role: \"none\"\n }, restProps, {\n component: \"li\",\n style: style,\n className: classNames(subMenuPrefixCls, \"\".concat(subMenuPrefixCls, \"-\").concat(mode), className, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(subMenuPrefixCls, \"-open\"), open), \"\".concat(subMenuPrefixCls, \"-active\"), mergedActive), \"\".concat(subMenuPrefixCls, \"-selected\"), childrenSelected), \"\".concat(subMenuPrefixCls, \"-disabled\"), mergedDisabled)),\n onMouseEnter: onInternalMouseEnter,\n onMouseLeave: onInternalMouseLeave\n }), titleNode, !overflowDisabled && /*#__PURE__*/React.createElement(InlineSubMenuList, {\n id: popupId,\n open: open,\n keyPath: connectedPath\n }, children));\n if (_internalRenderSubMenuItem) {\n listNode = _internalRenderSubMenuItem(listNode, props, {\n selected: childrenSelected,\n active: mergedActive,\n open: open,\n disabled: mergedDisabled\n });\n }\n\n // >>>>> Render\n return /*#__PURE__*/React.createElement(MenuContextProvider, {\n onItemClick: onMergedItemClick,\n mode: mode === 'horizontal' ? 'vertical' : mode,\n itemIcon: mergedItemIcon,\n expandIcon: mergedExpandIcon\n }, listNode);\n});\nvar SubMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var eventKey = props.eventKey,\n children = props.children;\n var connectedKeyPath = useFullPath(eventKey);\n var childList = parseChildren(children, connectedKeyPath);\n\n // ==================== Record KeyPath ====================\n var measure = useMeasure();\n\n // eslint-disable-next-line consistent-return\n React.useEffect(function () {\n if (measure) {\n measure.registerPath(eventKey, connectedKeyPath);\n return function () {\n measure.unregisterPath(eventKey, connectedKeyPath);\n };\n }\n }, [connectedKeyPath]);\n var renderNode;\n\n // ======================== Render ========================\n if (measure) {\n renderNode = childList;\n } else {\n renderNode = /*#__PURE__*/React.createElement(InternalSubMenu, _extends({\n ref: ref\n }, props), childList);\n }\n return /*#__PURE__*/React.createElement(PathTrackerContext.Provider, {\n value: connectedKeyPath\n }, renderNode);\n});\nif (process.env.NODE_ENV !== 'production') {\n SubMenu.displayName = 'SubMenu';\n}\nexport default SubMenu;","import * as React from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from \"./context/MenuContext\";\nimport { useMeasure } from \"./context/PathContext\";\nexport default function Divider(_ref) {\n var className = _ref.className,\n style = _ref.style;\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls;\n var measure = useMeasure();\n if (measure) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n role: \"separator\",\n className: classNames(\"\".concat(prefixCls, \"-item-divider\"), className),\n style: style\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"title\", \"eventKey\", \"children\"];\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { MenuContext } from \"./context/MenuContext\";\nimport { useFullPath, useMeasure } from \"./context/PathContext\";\nimport { parseChildren } from \"./utils/commonUtil\";\nvar InternalMenuItemGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var className = props.className,\n title = props.title,\n eventKey = props.eventKey,\n children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls;\n var groupPrefixCls = \"\".concat(prefixCls, \"-item-group\");\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n ref: ref,\n role: \"presentation\"\n }, restProps, {\n onClick: function onClick(e) {\n return e.stopPropagation();\n },\n className: classNames(groupPrefixCls, className)\n }), /*#__PURE__*/React.createElement(\"div\", {\n role: \"presentation\",\n className: \"\".concat(groupPrefixCls, \"-title\"),\n title: typeof title === 'string' ? title : undefined\n }, title), /*#__PURE__*/React.createElement(\"ul\", {\n role: \"group\",\n className: \"\".concat(groupPrefixCls, \"-list\")\n }, children));\n});\nvar MenuItemGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var eventKey = props.eventKey,\n children = props.children;\n var connectedKeyPath = useFullPath(eventKey);\n var childList = parseChildren(children, connectedKeyPath);\n var measure = useMeasure();\n if (measure) {\n return childList;\n }\n return /*#__PURE__*/React.createElement(InternalMenuItemGroup, _extends({\n ref: ref\n }, omit(props, ['warnKey'])), childList);\n});\nif (process.env.NODE_ENV !== 'production') {\n MenuItemGroup.displayName = 'MenuItemGroup';\n}\nexport default MenuItemGroup;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"label\", \"children\", \"key\", \"type\", \"extra\"];\nimport * as React from 'react';\nimport Divider from \"../Divider\";\nimport MenuItem from \"../MenuItem\";\nimport MenuItemGroup from \"../MenuItemGroup\";\nimport SubMenu from \"../SubMenu\";\nimport { parseChildren } from \"./commonUtil\";\nfunction convertItemsToNodes(list, components, prefixCls) {\n var MergedMenuItem = components.item,\n MergedMenuItemGroup = components.group,\n MergedSubMenu = components.submenu,\n MergedDivider = components.divider;\n return (list || []).map(function (opt, index) {\n if (opt && _typeof(opt) === 'object') {\n var _ref = opt,\n label = _ref.label,\n children = _ref.children,\n key = _ref.key,\n type = _ref.type,\n extra = _ref.extra,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var mergedKey = key !== null && key !== void 0 ? key : \"tmp-\".concat(index);\n\n // MenuItemGroup & SubMenuItem\n if (children || type === 'group') {\n if (type === 'group') {\n // Group\n return /*#__PURE__*/React.createElement(MergedMenuItemGroup, _extends({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children, components, prefixCls));\n }\n\n // Sub Menu\n return /*#__PURE__*/React.createElement(MergedSubMenu, _extends({\n key: mergedKey\n }, restProps, {\n title: label\n }), convertItemsToNodes(children, components, prefixCls));\n }\n\n // MenuItem & Divider\n if (type === 'divider') {\n return /*#__PURE__*/React.createElement(MergedDivider, _extends({\n key: mergedKey\n }, restProps));\n }\n return /*#__PURE__*/React.createElement(MergedMenuItem, _extends({\n key: mergedKey\n }, restProps, {\n extra: extra\n }), label, (!!extra || extra === 0) && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-item-extra\")\n }, extra));\n }\n return null;\n }).filter(function (opt) {\n return opt;\n });\n}\nexport function parseItems(children, items, keyPath, components, prefixCls) {\n var childNodes = children;\n var mergedComponents = _objectSpread({\n divider: Divider,\n item: MenuItem,\n group: MenuItemGroup,\n submenu: SubMenu\n }, components);\n if (items) {\n childNodes = convertItemsToNodes(items, mergedComponents, prefixCls);\n }\n return parseChildren(childNodes, keyPath);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"rootClassName\", \"style\", \"className\", \"tabIndex\", \"items\", \"children\", \"direction\", \"id\", \"mode\", \"inlineCollapsed\", \"disabled\", \"disabledOverflow\", \"subMenuOpenDelay\", \"subMenuCloseDelay\", \"forceSubMenuRender\", \"defaultOpenKeys\", \"openKeys\", \"activeKey\", \"defaultActiveFirst\", \"selectable\", \"multiple\", \"defaultSelectedKeys\", \"selectedKeys\", \"onSelect\", \"onDeselect\", \"inlineIndent\", \"motion\", \"defaultMotions\", \"triggerSubMenuAction\", \"builtinPlacements\", \"itemIcon\", \"expandIcon\", \"overflowedIndicator\", \"overflowedIndicatorPopupClassName\", \"getPopupContainer\", \"onClick\", \"onOpenChange\", \"onKeyDown\", \"openAnimation\", \"openTransitionName\", \"_internalRenderMenuItem\", \"_internalRenderSubMenuItem\", \"_internalComponents\"];\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { useImperativeHandle } from 'react';\nimport { flushSync } from 'react-dom';\nimport { IdContext } from \"./context/IdContext\";\nimport MenuContextProvider from \"./context/MenuContext\";\nimport { PathRegisterContext, PathUserContext } from \"./context/PathContext\";\nimport PrivateContext from \"./context/PrivateContext\";\nimport { getFocusableElements, refreshElements, useAccessibility } from \"./hooks/useAccessibility\";\nimport useKeyRecords, { OVERFLOW_KEY } from \"./hooks/useKeyRecords\";\nimport useMemoCallback from \"./hooks/useMemoCallback\";\nimport useUUID from \"./hooks/useUUID\";\nimport MenuItem from \"./MenuItem\";\nimport SubMenu from \"./SubMenu\";\nimport { parseItems } from \"./utils/nodeUtil\";\nimport { warnItemProp } from \"./utils/warnUtil\";\n\n/**\n * Menu modify after refactor:\n * ## Add\n * - disabled\n *\n * ## Remove\n * - openTransitionName\n * - openAnimation\n * - onDestroy\n * - siderCollapsed: Seems antd do not use this prop (Need test in antd)\n * - collapsedWidth: Seems this logic should be handle by antd Layout.Sider\n */\n\n// optimize for render\nvar EMPTY_LIST = [];\nvar Menu = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _childList$;\n var _ref = props,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-menu' : _ref$prefixCls,\n rootClassName = _ref.rootClassName,\n style = _ref.style,\n className = _ref.className,\n _ref$tabIndex = _ref.tabIndex,\n tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,\n items = _ref.items,\n children = _ref.children,\n direction = _ref.direction,\n id = _ref.id,\n _ref$mode = _ref.mode,\n mode = _ref$mode === void 0 ? 'vertical' : _ref$mode,\n inlineCollapsed = _ref.inlineCollapsed,\n disabled = _ref.disabled,\n disabledOverflow = _ref.disabledOverflow,\n _ref$subMenuOpenDelay = _ref.subMenuOpenDelay,\n subMenuOpenDelay = _ref$subMenuOpenDelay === void 0 ? 0.1 : _ref$subMenuOpenDelay,\n _ref$subMenuCloseDela = _ref.subMenuCloseDelay,\n subMenuCloseDelay = _ref$subMenuCloseDela === void 0 ? 0.1 : _ref$subMenuCloseDela,\n forceSubMenuRender = _ref.forceSubMenuRender,\n defaultOpenKeys = _ref.defaultOpenKeys,\n openKeys = _ref.openKeys,\n activeKey = _ref.activeKey,\n defaultActiveFirst = _ref.defaultActiveFirst,\n _ref$selectable = _ref.selectable,\n selectable = _ref$selectable === void 0 ? true : _ref$selectable,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n defaultSelectedKeys = _ref.defaultSelectedKeys,\n selectedKeys = _ref.selectedKeys,\n onSelect = _ref.onSelect,\n onDeselect = _ref.onDeselect,\n _ref$inlineIndent = _ref.inlineIndent,\n inlineIndent = _ref$inlineIndent === void 0 ? 24 : _ref$inlineIndent,\n motion = _ref.motion,\n defaultMotions = _ref.defaultMotions,\n _ref$triggerSubMenuAc = _ref.triggerSubMenuAction,\n triggerSubMenuAction = _ref$triggerSubMenuAc === void 0 ? 'hover' : _ref$triggerSubMenuAc,\n builtinPlacements = _ref.builtinPlacements,\n itemIcon = _ref.itemIcon,\n expandIcon = _ref.expandIcon,\n _ref$overflowedIndica = _ref.overflowedIndicator,\n overflowedIndicator = _ref$overflowedIndica === void 0 ? '...' : _ref$overflowedIndica,\n overflowedIndicatorPopupClassName = _ref.overflowedIndicatorPopupClassName,\n getPopupContainer = _ref.getPopupContainer,\n onClick = _ref.onClick,\n onOpenChange = _ref.onOpenChange,\n onKeyDown = _ref.onKeyDown,\n openAnimation = _ref.openAnimation,\n openTransitionName = _ref.openTransitionName,\n _internalRenderMenuItem = _ref._internalRenderMenuItem,\n _internalRenderSubMenuItem = _ref._internalRenderSubMenuItem,\n _internalComponents = _ref._internalComponents,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var _React$useMemo = React.useMemo(function () {\n return [parseItems(children, items, EMPTY_LIST, _internalComponents, prefixCls), parseItems(children, items, EMPTY_LIST, {}, prefixCls)];\n }, [children, items, _internalComponents]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n childList = _React$useMemo2[0],\n measureChildList = _React$useMemo2[1];\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mounted = _React$useState2[0],\n setMounted = _React$useState2[1];\n var containerRef = React.useRef();\n var uuid = useUUID(id);\n var isRtl = direction === 'rtl';\n\n // ========================= Warn =========================\n if (process.env.NODE_ENV !== 'production') {\n warning(!openAnimation && !openTransitionName, '`openAnimation` and `openTransitionName` is removed. Please use `motion` or `defaultMotion` instead.');\n }\n\n // ========================= Open =========================\n var _useMergedState = useMergedState(defaultOpenKeys, {\n value: openKeys,\n postState: function postState(keys) {\n return keys || EMPTY_LIST;\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedOpenKeys = _useMergedState2[0],\n setMergedOpenKeys = _useMergedState2[1];\n\n // React 18 will merge mouse event which means we open key will not sync\n // ref: https://github.com/ant-design/ant-design/issues/38818\n var triggerOpenKeys = function triggerOpenKeys(keys) {\n var forceFlush = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n function doUpdate() {\n setMergedOpenKeys(keys);\n onOpenChange === null || onOpenChange === void 0 || onOpenChange(keys);\n }\n if (forceFlush) {\n flushSync(doUpdate);\n } else {\n doUpdate();\n }\n };\n\n // >>>>> Cache & Reset open keys when inlineCollapsed changed\n var _React$useState3 = React.useState(mergedOpenKeys),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n inlineCacheOpenKeys = _React$useState4[0],\n setInlineCacheOpenKeys = _React$useState4[1];\n var mountRef = React.useRef(false);\n\n // ========================= Mode =========================\n var _React$useMemo3 = React.useMemo(function () {\n if ((mode === 'inline' || mode === 'vertical') && inlineCollapsed) {\n return ['vertical', inlineCollapsed];\n }\n return [mode, false];\n }, [mode, inlineCollapsed]),\n _React$useMemo4 = _slicedToArray(_React$useMemo3, 2),\n mergedMode = _React$useMemo4[0],\n mergedInlineCollapsed = _React$useMemo4[1];\n var isInlineMode = mergedMode === 'inline';\n var _React$useState5 = React.useState(mergedMode),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n internalMode = _React$useState6[0],\n setInternalMode = _React$useState6[1];\n var _React$useState7 = React.useState(mergedInlineCollapsed),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n internalInlineCollapsed = _React$useState8[0],\n setInternalInlineCollapsed = _React$useState8[1];\n React.useEffect(function () {\n setInternalMode(mergedMode);\n setInternalInlineCollapsed(mergedInlineCollapsed);\n if (!mountRef.current) {\n return;\n }\n // Synchronously update MergedOpenKeys\n if (isInlineMode) {\n setMergedOpenKeys(inlineCacheOpenKeys);\n } else {\n // Trigger open event in case its in control\n triggerOpenKeys(EMPTY_LIST);\n }\n }, [mergedMode, mergedInlineCollapsed]);\n\n // ====================== Responsive ======================\n var _React$useState9 = React.useState(0),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n lastVisibleIndex = _React$useState10[0],\n setLastVisibleIndex = _React$useState10[1];\n var allVisible = lastVisibleIndex >= childList.length - 1 || internalMode !== 'horizontal' || disabledOverflow;\n\n // Cache\n React.useEffect(function () {\n if (isInlineMode) {\n setInlineCacheOpenKeys(mergedOpenKeys);\n }\n }, [mergedOpenKeys]);\n React.useEffect(function () {\n mountRef.current = true;\n return function () {\n mountRef.current = false;\n };\n }, []);\n\n // ========================= Path =========================\n var _useKeyRecords = useKeyRecords(),\n registerPath = _useKeyRecords.registerPath,\n unregisterPath = _useKeyRecords.unregisterPath,\n refreshOverflowKeys = _useKeyRecords.refreshOverflowKeys,\n isSubPathKey = _useKeyRecords.isSubPathKey,\n getKeyPath = _useKeyRecords.getKeyPath,\n getKeys = _useKeyRecords.getKeys,\n getSubPathKeys = _useKeyRecords.getSubPathKeys;\n var registerPathContext = React.useMemo(function () {\n return {\n registerPath: registerPath,\n unregisterPath: unregisterPath\n };\n }, [registerPath, unregisterPath]);\n var pathUserContext = React.useMemo(function () {\n return {\n isSubPathKey: isSubPathKey\n };\n }, [isSubPathKey]);\n React.useEffect(function () {\n refreshOverflowKeys(allVisible ? EMPTY_LIST : childList.slice(lastVisibleIndex + 1).map(function (child) {\n return child.key;\n }));\n }, [lastVisibleIndex, allVisible]);\n\n // ======================== Active ========================\n var _useMergedState3 = useMergedState(activeKey || defaultActiveFirst && ((_childList$ = childList[0]) === null || _childList$ === void 0 ? void 0 : _childList$.key), {\n value: activeKey\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedActiveKey = _useMergedState4[0],\n setMergedActiveKey = _useMergedState4[1];\n var onActive = useMemoCallback(function (key) {\n setMergedActiveKey(key);\n });\n var onInactive = useMemoCallback(function () {\n setMergedActiveKey(undefined);\n });\n useImperativeHandle(ref, function () {\n return {\n list: containerRef.current,\n focus: function focus(options) {\n var _childList$find;\n var keys = getKeys();\n var _refreshElements = refreshElements(keys, uuid),\n elements = _refreshElements.elements,\n key2element = _refreshElements.key2element,\n element2key = _refreshElements.element2key;\n var focusableElements = getFocusableElements(containerRef.current, elements);\n var shouldFocusKey = mergedActiveKey !== null && mergedActiveKey !== void 0 ? mergedActiveKey : focusableElements[0] ? element2key.get(focusableElements[0]) : (_childList$find = childList.find(function (node) {\n return !node.props.disabled;\n })) === null || _childList$find === void 0 ? void 0 : _childList$find.key;\n var elementToFocus = key2element.get(shouldFocusKey);\n if (shouldFocusKey && elementToFocus) {\n var _elementToFocus$focus;\n elementToFocus === null || elementToFocus === void 0 || (_elementToFocus$focus = elementToFocus.focus) === null || _elementToFocus$focus === void 0 || _elementToFocus$focus.call(elementToFocus, options);\n }\n }\n };\n });\n\n // ======================== Select ========================\n // >>>>> Select keys\n var _useMergedState5 = useMergedState(defaultSelectedKeys || [], {\n value: selectedKeys,\n // Legacy convert key to array\n postState: function postState(keys) {\n if (Array.isArray(keys)) {\n return keys;\n }\n if (keys === null || keys === undefined) {\n return EMPTY_LIST;\n }\n return [keys];\n }\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n mergedSelectKeys = _useMergedState6[0],\n setMergedSelectKeys = _useMergedState6[1];\n\n // >>>>> Trigger select\n var triggerSelection = function triggerSelection(info) {\n if (selectable) {\n // Insert or Remove\n var targetKey = info.key;\n var exist = mergedSelectKeys.includes(targetKey);\n var newSelectKeys;\n if (multiple) {\n if (exist) {\n newSelectKeys = mergedSelectKeys.filter(function (key) {\n return key !== targetKey;\n });\n } else {\n newSelectKeys = [].concat(_toConsumableArray(mergedSelectKeys), [targetKey]);\n }\n } else {\n newSelectKeys = [targetKey];\n }\n setMergedSelectKeys(newSelectKeys);\n\n // Trigger event\n var selectInfo = _objectSpread(_objectSpread({}, info), {}, {\n selectedKeys: newSelectKeys\n });\n if (exist) {\n onDeselect === null || onDeselect === void 0 || onDeselect(selectInfo);\n } else {\n onSelect === null || onSelect === void 0 || onSelect(selectInfo);\n }\n }\n\n // Whatever selectable, always close it\n if (!multiple && mergedOpenKeys.length && internalMode !== 'inline') {\n triggerOpenKeys(EMPTY_LIST);\n }\n };\n\n // ========================= Open =========================\n /**\n * Click for item. SubMenu do not have selection status\n */\n var onInternalClick = useMemoCallback(function (info) {\n onClick === null || onClick === void 0 || onClick(warnItemProp(info));\n triggerSelection(info);\n });\n var onInternalOpenChange = useMemoCallback(function (key, open) {\n var newOpenKeys = mergedOpenKeys.filter(function (k) {\n return k !== key;\n });\n if (open) {\n newOpenKeys.push(key);\n } else if (internalMode !== 'inline') {\n // We need find all related popup to close\n var subPathKeys = getSubPathKeys(key);\n newOpenKeys = newOpenKeys.filter(function (k) {\n return !subPathKeys.has(k);\n });\n }\n if (!isEqual(mergedOpenKeys, newOpenKeys, true)) {\n triggerOpenKeys(newOpenKeys, true);\n }\n });\n\n // ==================== Accessibility =====================\n var triggerAccessibilityOpen = function triggerAccessibilityOpen(key, open) {\n var nextOpen = open !== null && open !== void 0 ? open : !mergedOpenKeys.includes(key);\n onInternalOpenChange(key, nextOpen);\n };\n var onInternalKeyDown = useAccessibility(internalMode, mergedActiveKey, isRtl, uuid, containerRef, getKeys, getKeyPath, setMergedActiveKey, triggerAccessibilityOpen, onKeyDown);\n\n // ======================== Effect ========================\n React.useEffect(function () {\n setMounted(true);\n }, []);\n\n // ======================= Context ========================\n var privateContext = React.useMemo(function () {\n return {\n _internalRenderMenuItem: _internalRenderMenuItem,\n _internalRenderSubMenuItem: _internalRenderSubMenuItem\n };\n }, [_internalRenderMenuItem, _internalRenderSubMenuItem]);\n\n // ======================== Render ========================\n\n // >>>>> Children\n var wrappedChildList = internalMode !== 'horizontal' || disabledOverflow ? childList :\n // Need wrap for overflow dropdown that do not response for open\n childList.map(function (child, index) {\n return (\n /*#__PURE__*/\n // Always wrap provider to avoid sub node re-mount\n React.createElement(MenuContextProvider, {\n key: child.key,\n overflowDisabled: index > lastVisibleIndex\n }, child)\n );\n });\n\n // >>>>> Container\n var container = /*#__PURE__*/React.createElement(Overflow, _extends({\n id: id,\n ref: containerRef,\n prefixCls: \"\".concat(prefixCls, \"-overflow\"),\n component: \"ul\",\n itemComponent: MenuItem,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-root\"), \"\".concat(prefixCls, \"-\").concat(internalMode), className, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-inline-collapsed\"), internalInlineCollapsed), \"\".concat(prefixCls, \"-rtl\"), isRtl), rootClassName),\n dir: direction,\n style: style,\n role: \"menu\",\n tabIndex: tabIndex,\n data: wrappedChildList,\n renderRawItem: function renderRawItem(node) {\n return node;\n },\n renderRawRest: function renderRawRest(omitItems) {\n // We use origin list since wrapped list use context to prevent open\n var len = omitItems.length;\n var originOmitItems = len ? childList.slice(-len) : null;\n return /*#__PURE__*/React.createElement(SubMenu, {\n eventKey: OVERFLOW_KEY,\n title: overflowedIndicator,\n disabled: allVisible,\n internalPopupClose: len === 0,\n popupClassName: overflowedIndicatorPopupClassName\n }, originOmitItems);\n },\n maxCount: internalMode !== 'horizontal' || disabledOverflow ? Overflow.INVALIDATE : Overflow.RESPONSIVE,\n ssr: \"full\",\n \"data-menu-list\": true,\n onVisibleChange: function onVisibleChange(newLastIndex) {\n setLastVisibleIndex(newLastIndex);\n },\n onKeyDown: onInternalKeyDown\n }, restProps));\n\n // >>>>> Render\n return /*#__PURE__*/React.createElement(PrivateContext.Provider, {\n value: privateContext\n }, /*#__PURE__*/React.createElement(IdContext.Provider, {\n value: uuid\n }, /*#__PURE__*/React.createElement(MenuContextProvider, {\n prefixCls: prefixCls,\n rootClassName: rootClassName,\n mode: internalMode,\n openKeys: mergedOpenKeys,\n rtl: isRtl\n // Disabled\n ,\n disabled: disabled\n // Motion\n ,\n motion: mounted ? motion : null,\n defaultMotions: mounted ? defaultMotions : null\n // Active\n ,\n activeKey: mergedActiveKey,\n onActive: onActive,\n onInactive: onInactive\n // Selection\n ,\n selectedKeys: mergedSelectKeys\n // Level\n ,\n inlineIndent: inlineIndent\n // Popup\n ,\n subMenuOpenDelay: subMenuOpenDelay,\n subMenuCloseDelay: subMenuCloseDelay,\n forceSubMenuRender: forceSubMenuRender,\n builtinPlacements: builtinPlacements,\n triggerSubMenuAction: triggerSubMenuAction,\n getPopupContainer: getPopupContainer\n // Icon\n ,\n itemIcon: itemIcon,\n expandIcon: expandIcon\n // Events\n ,\n onItemClick: onInternalClick,\n onOpenChange: onInternalOpenChange\n }, /*#__PURE__*/React.createElement(PathUserContext.Provider, {\n value: pathUserContext\n }, container), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'none'\n },\n \"aria-hidden\": true\n }, /*#__PURE__*/React.createElement(PathRegisterContext.Provider, {\n value: registerPathContext\n }, measureChildList)))));\n});\nexport default Menu;","export function nextSlice(callback) {\n /* istanbul ignore next */\n Promise.resolve().then(callback);\n}","import Menu from \"./Menu\";\nimport MenuItem from \"./MenuItem\";\nimport SubMenu from \"./SubMenu\";\nimport MenuItemGroup from \"./MenuItemGroup\";\nimport { useFullPath } from \"./context/PathContext\";\nimport Divider from \"./Divider\";\nexport { SubMenu, MenuItem as Item, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider, /** @private Only used for antd internal. Do not use in your production. */\nuseFullPath };\nvar ExportMenu = Menu;\nExportMenu.Item = MenuItem;\nExportMenu.SubMenu = SubMenu;\nExportMenu.ItemGroup = MenuItemGroup;\nExportMenu.Divider = Divider;\nexport default ExportMenu;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport BarsOutlined from \"@ant-design/icons/es/icons/BarsOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport isNumeric from '../_util/isNumeric';\nimport { ConfigContext } from '../config-provider';\nimport { LayoutContext } from './context';\nimport useStyle from './style/sider';\nconst dimensionMaxMap = {\n xs: '479.98px',\n sm: '575.98px',\n md: '767.98px',\n lg: '991.98px',\n xl: '1199.98px',\n xxl: '1599.98px'\n};\nexport const SiderContext = /*#__PURE__*/React.createContext({});\nconst generateId = (() => {\n let i = 0;\n return function () {\n let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n i += 1;\n return `${prefix}${i}`;\n };\n})();\nconst Sider = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n trigger,\n children,\n defaultCollapsed = false,\n theme = 'dark',\n style = {},\n collapsible = false,\n reverseArrow = false,\n width = 200,\n collapsedWidth = 80,\n zeroWidthTriggerStyle,\n breakpoint,\n onCollapse,\n onBreakpoint\n } = props,\n otherProps = __rest(props, [\"prefixCls\", \"className\", \"trigger\", \"children\", \"defaultCollapsed\", \"theme\", \"style\", \"collapsible\", \"reverseArrow\", \"width\", \"collapsedWidth\", \"zeroWidthTriggerStyle\", \"breakpoint\", \"onCollapse\", \"onBreakpoint\"]);\n const {\n siderHook\n } = useContext(LayoutContext);\n const [collapsed, setCollapsed] = useState('collapsed' in props ? props.collapsed : defaultCollapsed);\n const [below, setBelow] = useState(false);\n useEffect(() => {\n if ('collapsed' in props) {\n setCollapsed(props.collapsed);\n }\n }, [props.collapsed]);\n const handleSetCollapsed = (value, type) => {\n if (!('collapsed' in props)) {\n setCollapsed(value);\n }\n onCollapse === null || onCollapse === void 0 ? void 0 : onCollapse(value, type);\n };\n // =========================== Prefix ===========================\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n // ========================= Responsive =========================\n const responsiveHandlerRef = useRef();\n responsiveHandlerRef.current = mql => {\n setBelow(mql.matches);\n onBreakpoint === null || onBreakpoint === void 0 ? void 0 : onBreakpoint(mql.matches);\n if (collapsed !== mql.matches) {\n handleSetCollapsed(mql.matches, 'responsive');\n }\n };\n useEffect(() => {\n function responsiveHandler(mql) {\n return responsiveHandlerRef.current(mql);\n }\n let mql;\n if (typeof window !== 'undefined') {\n const {\n matchMedia\n } = window;\n if (matchMedia && breakpoint && breakpoint in dimensionMaxMap) {\n mql = matchMedia(`screen and (max-width: ${dimensionMaxMap[breakpoint]})`);\n try {\n mql.addEventListener('change', responsiveHandler);\n } catch (_a) {\n mql.addListener(responsiveHandler);\n }\n responsiveHandler(mql);\n }\n }\n return () => {\n try {\n mql === null || mql === void 0 ? void 0 : mql.removeEventListener('change', responsiveHandler);\n } catch (_a) {\n mql === null || mql === void 0 ? void 0 : mql.removeListener(responsiveHandler);\n }\n };\n }, [breakpoint]); // in order to accept dynamic 'breakpoint' property, we need to add 'breakpoint' into dependency array.\n useEffect(() => {\n const uniqueId = generateId('ant-sider-');\n siderHook.addSider(uniqueId);\n return () => siderHook.removeSider(uniqueId);\n }, []);\n const toggle = () => {\n handleSetCollapsed(!collapsed, 'clickTrigger');\n };\n const renderSider = () => {\n const divProps = omit(otherProps, ['collapsed']);\n const rawWidth = collapsed ? collapsedWidth : width;\n // use \"px\" as fallback unit for width\n const siderWidth = isNumeric(rawWidth) ? `${rawWidth}px` : String(rawWidth);\n // special trigger when collapsedWidth == 0\n const zeroWidthTrigger = parseFloat(String(collapsedWidth || 0)) === 0 ? (/*#__PURE__*/React.createElement(\"span\", {\n onClick: toggle,\n className: classNames(`${prefixCls}-zero-width-trigger`, `${prefixCls}-zero-width-trigger-${reverseArrow ? 'right' : 'left'}`),\n style: zeroWidthTriggerStyle\n }, trigger || /*#__PURE__*/React.createElement(BarsOutlined, null))) : null;\n const iconObj = {\n expanded: reverseArrow ? /*#__PURE__*/React.createElement(RightOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null),\n collapsed: reverseArrow ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null)\n };\n const status = collapsed ? 'collapsed' : 'expanded';\n const defaultTrigger = iconObj[status];\n const triggerDom = trigger !== null ? zeroWidthTrigger || (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-trigger`,\n onClick: toggle,\n style: {\n width: siderWidth\n }\n }, trigger || defaultTrigger)) : null;\n const divStyle = Object.assign(Object.assign({}, style), {\n flex: `0 0 ${siderWidth}`,\n maxWidth: siderWidth,\n minWidth: siderWidth,\n width: siderWidth\n });\n const siderCls = classNames(prefixCls, `${prefixCls}-${theme}`, {\n [`${prefixCls}-collapsed`]: !!collapsed,\n [`${prefixCls}-has-trigger`]: collapsible && trigger !== null && !zeroWidthTrigger,\n [`${prefixCls}-below`]: !!below,\n [`${prefixCls}-zero-width`]: parseFloat(siderWidth) === 0\n }, className, hashId, cssVarCls);\n return /*#__PURE__*/React.createElement(\"aside\", Object.assign({\n className: siderCls\n }, divProps, {\n style: divStyle,\n ref: ref\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-children`\n }, children), collapsible || below && zeroWidthTrigger ? triggerDom : null);\n };\n const contextValue = React.useMemo(() => ({\n siderCollapsed: collapsed\n }), [collapsed]);\n return wrapCSSVar(/*#__PURE__*/React.createElement(SiderContext.Provider, {\n value: contextValue\n }, renderSider()));\n});\nif (process.env.NODE_ENV !== 'production') {\n Sider.displayName = 'Sider';\n}\nexport default Sider;","// This icon file is generated automatically.\nvar EllipsisOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"ellipsis\", \"theme\": \"outlined\" };\nexport default EllipsisOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport EllipsisOutlinedSvg from \"@ant-design/icons-svg/es/asn/EllipsisOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar EllipsisOutlined = function EllipsisOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: EllipsisOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(EllipsisOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'EllipsisOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport { createContext } from 'react';\nconst MenuContext = /*#__PURE__*/createContext({\n prefixCls: '',\n firstLevel: true,\n inlineCollapsed: false\n});\nexport default MenuContext;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Divider } from 'rc-menu';\nimport { ConfigContext } from '../config-provider';\nconst MenuDivider = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n dashed\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"dashed\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('menu', customizePrefixCls);\n const classString = classNames({\n [`${prefixCls}-item-divider-dashed`]: !!dashed\n }, className);\n return /*#__PURE__*/React.createElement(Divider, Object.assign({\n className: classString\n }, restProps));\n};\nexport default MenuDivider;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Item } from 'rc-menu';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport omit from \"rc-util/es/omit\";\nimport { cloneElement } from '../_util/reactNode';\nimport { SiderContext } from '../layout/Sider';\nimport Tooltip from '../tooltip';\nimport MenuContext from './MenuContext';\nconst MenuItem = props => {\n var _a;\n const {\n className,\n children,\n icon,\n title,\n danger,\n extra\n } = props;\n const {\n prefixCls,\n firstLevel,\n direction,\n disableMenuItemTitleTooltip,\n inlineCollapsed: isInlineCollapsed\n } = React.useContext(MenuContext);\n const renderItemChildren = inlineCollapsed => {\n const label = children === null || children === void 0 ? void 0 : children[0];\n const wrapNode = /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(`${prefixCls}-title-content`, {\n [`${prefixCls}-title-content-with-extra`]: !!extra || extra === 0\n })\n }, children);\n // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n if (!icon || /*#__PURE__*/React.isValidElement(children) && children.type === 'span') {\n if (children && inlineCollapsed && firstLevel && typeof label === 'string') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inline-collapsed-noicon`\n }, label.charAt(0));\n }\n }\n return wrapNode;\n };\n const {\n siderCollapsed\n } = React.useContext(SiderContext);\n let tooltipTitle = title;\n if (typeof title === 'undefined') {\n tooltipTitle = firstLevel ? children : '';\n } else if (title === false) {\n tooltipTitle = '';\n }\n const tooltipProps = {\n title: tooltipTitle\n };\n if (!siderCollapsed && !isInlineCollapsed) {\n tooltipProps.title = null;\n // Reset `open` to fix control mode tooltip display not correct\n // ref: https://github.com/ant-design/ant-design/issues/16742\n tooltipProps.open = false;\n }\n const childrenLength = toArray(children).length;\n let returnNode = /*#__PURE__*/React.createElement(Item, Object.assign({}, omit(props, ['title', 'icon', 'danger']), {\n className: classNames({\n [`${prefixCls}-item-danger`]: danger,\n [`${prefixCls}-item-only-child`]: (icon ? childrenLength + 1 : childrenLength) === 1\n }, className),\n title: typeof title === 'string' ? title : undefined\n }), cloneElement(icon, {\n className: classNames(/*#__PURE__*/React.isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', `${prefixCls}-item-icon`)\n }), renderItemChildren(isInlineCollapsed));\n if (!disableMenuItemTitleTooltip) {\n returnNode = /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps, {\n placement: direction === 'rtl' ? 'left' : 'right',\n overlayClassName: `${prefixCls}-inline-collapsed-tooltip`\n }), returnNode);\n }\n return returnNode;\n};\nexport default MenuItem;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { supportNodeRef, useComposeRef } from \"rc-util/es/ref\";\nimport ContextIsolator from '../_util/ContextIsolator';\nconst OverrideContext = /*#__PURE__*/React.createContext(null);\n/** @internal Only used for Dropdown component. Do not use this in your production. */\nexport const OverrideProvider = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n children\n } = props,\n restProps = __rest(props, [\"children\"]);\n const override = React.useContext(OverrideContext);\n const context = React.useMemo(() => Object.assign(Object.assign({}, override), restProps), [override, restProps.prefixCls,\n // restProps.expandIcon, Not mark as deps since this is a ReactNode\n restProps.mode, restProps.selectable, restProps.rootClassName\n // restProps.validator, Not mark as deps since this is a function\n ]);\n const canRef = supportNodeRef(children);\n const mergedRef = useComposeRef(ref, canRef ? children.ref : null);\n return /*#__PURE__*/React.createElement(OverrideContext.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(ContextIsolator, {\n space: true\n }, canRef ? /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n }) : children));\n});\n/** @internal Only used for Dropdown component. Do not use this in your production. */\nexport default OverrideContext;","import { unit } from '@ant-design/cssinjs';\nconst getHorizontalStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n horizontalLineHeight,\n colorSplit,\n lineWidth,\n lineType,\n itemPaddingInline\n } = token;\n return {\n [`${componentCls}-horizontal`]: {\n lineHeight: horizontalLineHeight,\n border: 0,\n borderBottom: `${unit(lineWidth)} ${lineType} ${colorSplit}`,\n boxShadow: 'none',\n '&::after': {\n display: 'block',\n clear: 'both',\n height: 0,\n content: '\"\\\\20\"'\n },\n // ======================= Item =======================\n [`${componentCls}-item, ${componentCls}-submenu`]: {\n position: 'relative',\n display: 'inline-block',\n verticalAlign: 'bottom',\n paddingInline: itemPaddingInline\n },\n [`> ${componentCls}-item:hover,\n > ${componentCls}-item-active,\n > ${componentCls}-submenu ${componentCls}-submenu-title:hover`]: {\n backgroundColor: 'transparent'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`].join(',')\n },\n // ===================== Sub Menu =====================\n [`${componentCls}-submenu-arrow`]: {\n display: 'none'\n }\n }\n };\n};\nexport default getHorizontalStyle;","import { unit } from '@ant-design/cssinjs';\nconst getRTLStyle = _ref => {\n let {\n componentCls,\n menuArrowOffset,\n calc\n } = _ref;\n return {\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-submenu-rtl`]: {\n transformOrigin: '100% 0'\n },\n // Vertical Arrow\n [`${componentCls}-rtl${componentCls}-vertical,\n ${componentCls}-submenu-rtl ${componentCls}-vertical`]: {\n [`${componentCls}-submenu-arrow`]: {\n '&::before': {\n transform: `rotate(-45deg) translateY(${unit(calc(menuArrowOffset).mul(-1).equal())})`\n },\n '&::after': {\n transform: `rotate(45deg) translateY(${unit(menuArrowOffset)})`\n }\n }\n }\n };\n};\nexport default getRTLStyle;","import { unit } from '@ant-design/cssinjs';\nimport { genFocusOutline } from '../../style';\nconst accessibilityFocus = token => Object.assign({}, genFocusOutline(token));\nconst getThemeStyle = (token, themeSuffix) => {\n const {\n componentCls,\n itemColor,\n itemSelectedColor,\n groupTitleColor,\n itemBg,\n subMenuItemBg,\n itemSelectedBg,\n activeBarHeight,\n activeBarWidth,\n activeBarBorderWidth,\n motionDurationSlow,\n motionEaseInOut,\n motionEaseOut,\n itemPaddingInline,\n motionDurationMid,\n itemHoverColor,\n lineType,\n colorSplit,\n // Disabled\n itemDisabledColor,\n // Danger\n dangerItemColor,\n dangerItemHoverColor,\n dangerItemSelectedColor,\n dangerItemActiveBg,\n dangerItemSelectedBg,\n // Bg\n popupBg,\n itemHoverBg,\n itemActiveBg,\n menuSubMenuBg,\n // Horizontal\n horizontalItemSelectedColor,\n horizontalItemSelectedBg,\n horizontalItemBorderRadius,\n horizontalItemHoverBg\n } = token;\n return {\n [`${componentCls}-${themeSuffix}, ${componentCls}-${themeSuffix} > ${componentCls}`]: {\n color: itemColor,\n background: itemBg,\n [`&${componentCls}-root:focus-visible`]: Object.assign({}, accessibilityFocus(token)),\n // ======================== Item ========================\n [`${componentCls}-item`]: {\n '&-group-title, &-extra': {\n color: groupTitleColor\n }\n },\n [`${componentCls}-submenu-selected`]: {\n [`> ${componentCls}-submenu-title`]: {\n color: itemSelectedColor\n }\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n color: itemColor,\n [`&:not(${componentCls}-item-disabled):focus-visible`]: Object.assign({}, accessibilityFocus(token))\n },\n // Disabled\n [`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {\n color: `${itemDisabledColor} !important`\n },\n // Hover\n [`${componentCls}-item:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n [`&:hover, > ${componentCls}-submenu-title:hover`]: {\n color: itemHoverColor\n }\n },\n [`&:not(${componentCls}-horizontal)`]: {\n [`${componentCls}-item:not(${componentCls}-item-selected)`]: {\n '&:hover': {\n backgroundColor: itemHoverBg\n },\n '&:active': {\n backgroundColor: itemActiveBg\n }\n },\n [`${componentCls}-submenu-title`]: {\n '&:hover': {\n backgroundColor: itemHoverBg\n },\n '&:active': {\n backgroundColor: itemActiveBg\n }\n }\n },\n // Danger - only Item has\n [`${componentCls}-item-danger`]: {\n color: dangerItemColor,\n [`&${componentCls}-item:hover`]: {\n [`&:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n color: dangerItemHoverColor\n }\n },\n [`&${componentCls}-item:active`]: {\n background: dangerItemActiveBg\n }\n },\n [`${componentCls}-item a`]: {\n '&, &:hover': {\n color: 'inherit'\n }\n },\n [`${componentCls}-item-selected`]: {\n color: itemSelectedColor,\n // Danger\n [`&${componentCls}-item-danger`]: {\n color: dangerItemSelectedColor\n },\n 'a, a:hover': {\n color: 'inherit'\n }\n },\n [`& ${componentCls}-item-selected`]: {\n backgroundColor: itemSelectedBg,\n // Danger\n [`&${componentCls}-item-danger`]: {\n backgroundColor: dangerItemSelectedBg\n }\n },\n [`&${componentCls}-submenu > ${componentCls}`]: {\n backgroundColor: menuSubMenuBg\n },\n // ===== 设置浮层的颜色 =======\n // !dark 模式会被popupBg 会被rest 为 darkPopupBg\n [`&${componentCls}-popup > ${componentCls}`]: {\n backgroundColor: popupBg\n },\n [`&${componentCls}-submenu-popup > ${componentCls}`]: {\n backgroundColor: popupBg\n },\n // ===== 设置浮层的颜色 end =======\n // ====================== Horizontal ======================\n [`&${componentCls}-horizontal`]: Object.assign(Object.assign({}, themeSuffix === 'dark' ? {\n borderBottom: 0\n } : {}), {\n [`> ${componentCls}-item, > ${componentCls}-submenu`]: {\n top: activeBarBorderWidth,\n marginTop: token.calc(activeBarBorderWidth).mul(-1).equal(),\n marginBottom: 0,\n borderRadius: horizontalItemBorderRadius,\n '&::after': {\n position: 'absolute',\n insetInline: itemPaddingInline,\n bottom: 0,\n borderBottom: `${unit(activeBarHeight)} solid transparent`,\n transition: `border-color ${motionDurationSlow} ${motionEaseInOut}`,\n content: '\"\"'\n },\n '&:hover, &-active, &-open': {\n background: horizontalItemHoverBg,\n '&::after': {\n borderBottomWidth: activeBarHeight,\n borderBottomColor: horizontalItemSelectedColor\n }\n },\n '&-selected': {\n color: horizontalItemSelectedColor,\n backgroundColor: horizontalItemSelectedBg,\n '&:hover': {\n backgroundColor: horizontalItemSelectedBg\n },\n '&::after': {\n borderBottomWidth: activeBarHeight,\n borderBottomColor: horizontalItemSelectedColor\n }\n }\n }\n }),\n // ================== Inline & Vertical ===================\n //\n [`&${componentCls}-root`]: {\n [`&${componentCls}-inline, &${componentCls}-vertical`]: {\n borderInlineEnd: `${unit(activeBarBorderWidth)} ${lineType} ${colorSplit}`\n }\n },\n // ======================== Inline ========================\n [`&${componentCls}-inline`]: {\n // Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n background: subMenuItemBg\n },\n [`${componentCls}-item`]: {\n position: 'relative',\n '&::after': {\n position: 'absolute',\n insetBlock: 0,\n insetInlineEnd: 0,\n borderInlineEnd: `${unit(activeBarWidth)} solid ${itemSelectedColor}`,\n transform: 'scaleY(0.0001)',\n opacity: 0,\n transition: [`transform ${motionDurationMid} ${motionEaseOut}`, `opacity ${motionDurationMid} ${motionEaseOut}`].join(','),\n content: '\"\"'\n },\n // Danger\n [`&${componentCls}-item-danger`]: {\n '&::after': {\n borderInlineEndColor: dangerItemSelectedColor\n }\n }\n },\n [`${componentCls}-selected, ${componentCls}-item-selected`]: {\n '&::after': {\n transform: 'scaleY(1)',\n opacity: 1,\n transition: [`transform ${motionDurationMid} ${motionEaseInOut}`, `opacity ${motionDurationMid} ${motionEaseInOut}`].join(',')\n }\n }\n }\n }\n };\n};\nexport default getThemeStyle;","import { unit } from '@ant-design/cssinjs';\nimport { textEllipsis } from '../../style';\nconst getVerticalInlineStyle = token => {\n const {\n componentCls,\n itemHeight,\n itemMarginInline,\n padding,\n menuArrowSize,\n marginXS,\n itemMarginBlock,\n itemWidth,\n itemPaddingInline\n } = token;\n const paddingWithArrow = token.calc(menuArrowSize).add(padding).add(marginXS).equal();\n return {\n [`${componentCls}-item`]: {\n position: 'relative',\n overflow: 'hidden'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n height: itemHeight,\n lineHeight: unit(itemHeight),\n paddingInline: itemPaddingInline,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginInline: itemMarginInline,\n marginBlock: itemMarginBlock,\n width: itemWidth\n },\n [`> ${componentCls}-item,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n height: itemHeight,\n lineHeight: unit(itemHeight)\n },\n [`${componentCls}-item-group-list ${componentCls}-submenu-title,\n ${componentCls}-submenu-title`]: {\n paddingInlineEnd: paddingWithArrow\n }\n };\n};\nconst getVerticalStyle = token => {\n const {\n componentCls,\n iconCls,\n itemHeight,\n colorTextLightSolid,\n dropdownWidth,\n controlHeightLG,\n motionEaseOut,\n paddingXL,\n itemMarginInline,\n fontSizeLG,\n motionDurationFast,\n motionDurationSlow,\n paddingXS,\n boxShadowSecondary,\n collapsedWidth,\n collapsedIconSize\n } = token;\n const inlineItemStyle = {\n height: itemHeight,\n lineHeight: unit(itemHeight),\n listStylePosition: 'inside',\n listStyleType: 'disc'\n };\n return [{\n [componentCls]: {\n '&-inline, &-vertical': Object.assign({\n [`&${componentCls}-root`]: {\n boxShadow: 'none'\n }\n }, getVerticalInlineStyle(token))\n },\n [`${componentCls}-submenu-popup`]: {\n [`${componentCls}-vertical`]: Object.assign(Object.assign({}, getVerticalInlineStyle(token)), {\n boxShadow: boxShadowSecondary\n })\n }\n },\n // Vertical only\n {\n [`${componentCls}-submenu-popup ${componentCls}-vertical${componentCls}-sub`]: {\n minWidth: dropdownWidth,\n maxHeight: `calc(100vh - ${unit(token.calc(controlHeightLG).mul(2.5).equal())})`,\n padding: '0',\n overflow: 'hidden',\n borderInlineEnd: 0,\n // https://github.com/ant-design/ant-design/issues/22244\n // https://github.com/ant-design/ant-design/issues/26812\n \"&:not([class*='-active'])\": {\n overflowX: 'hidden',\n overflowY: 'auto'\n }\n }\n },\n // Inline Only\n {\n [`${componentCls}-inline`]: {\n width: '100%',\n // Motion enhance for first level\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n display: 'flex',\n alignItems: 'center',\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`, `padding ${motionDurationFast} ${motionEaseOut}`].join(','),\n [`> ${componentCls}-title-content`]: {\n flex: 'auto',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n '> *': {\n flex: 'none'\n }\n }\n },\n // >>>>> Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n padding: 0,\n border: 0,\n borderRadius: 0,\n boxShadow: 'none',\n [`& > ${componentCls}-submenu > ${componentCls}-submenu-title`]: inlineItemStyle,\n [`& ${componentCls}-item-group-title`]: {\n paddingInlineStart: paddingXL\n }\n },\n // >>>>> Item\n [`${componentCls}-item`]: inlineItemStyle\n }\n },\n // Inline Collapse Only\n {\n [`${componentCls}-inline-collapsed`]: {\n width: collapsedWidth,\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu ${componentCls}-submenu-title`]: {\n [`> ${componentCls}-inline-collapsed-noicon`]: {\n fontSize: fontSizeLG,\n textAlign: 'center'\n }\n }\n },\n [`> ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-submenu > ${componentCls}-submenu-title,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n insetInlineStart: 0,\n paddingInline: `calc(50% - ${unit(token.calc(fontSizeLG).div(2).equal())} - ${unit(itemMarginInline)})`,\n textOverflow: 'clip',\n [`\n ${componentCls}-submenu-arrow,\n ${componentCls}-submenu-expand-icon\n `]: {\n opacity: 0\n },\n [`${componentCls}-item-icon, ${iconCls}`]: {\n margin: 0,\n fontSize: collapsedIconSize,\n lineHeight: unit(itemHeight),\n '+ span': {\n display: 'inline-block',\n opacity: 0\n }\n }\n },\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'inline-block'\n },\n '&-tooltip': {\n pointerEvents: 'none',\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'none'\n },\n 'a, a:hover': {\n color: colorTextLightSolid\n }\n },\n [`${componentCls}-item-group-title`]: Object.assign(Object.assign({}, textEllipsis), {\n paddingInline: paddingXS\n })\n }\n }];\n};\nexport default getVerticalStyle;","import { unit } from '@ant-design/cssinjs';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { clearFix, resetComponent, resetIcon } from '../../style';\nimport { genCollapseMotion, initSlideMotion, initZoomMotion } from '../../style/motion';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport getHorizontalStyle from './horizontal';\nimport getRTLStyle from './rtl';\nimport getThemeStyle from './theme';\nimport getVerticalStyle from './vertical';\nconst genMenuItemStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n motionEaseOut,\n iconCls,\n iconSize,\n iconMarginInlineEnd\n } = token;\n return {\n // >>>>> Item\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n position: 'relative',\n display: 'block',\n margin: 0,\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`, `padding calc(${motionDurationSlow} + 0.1s) ${motionEaseInOut}`].join(','),\n [`${componentCls}-item-icon, ${iconCls}`]: {\n minWidth: iconSize,\n fontSize: iconSize,\n transition: [`font-size ${motionDurationMid} ${motionEaseOut}`, `margin ${motionDurationSlow} ${motionEaseInOut}`, `color ${motionDurationSlow}`].join(','),\n '+ span': {\n marginInlineStart: iconMarginInlineEnd,\n opacity: 1,\n transition: [`opacity ${motionDurationSlow} ${motionEaseInOut}`, `margin ${motionDurationSlow}`, `color ${motionDurationSlow}`].join(',')\n }\n },\n [`${componentCls}-item-icon`]: Object.assign({}, resetIcon()),\n [`&${componentCls}-item-only-child`]: {\n [`> ${iconCls}, > ${componentCls}-item-icon`]: {\n marginInlineEnd: 0\n }\n }\n },\n // Disabled state sets text to gray and nukes hover/tab effects\n [`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {\n background: 'none !important',\n cursor: 'not-allowed',\n '&::after': {\n borderColor: 'transparent !important'\n },\n a: {\n color: 'inherit !important'\n },\n [`> ${componentCls}-submenu-title`]: {\n color: 'inherit !important',\n cursor: 'not-allowed'\n }\n }\n };\n};\nconst genSubMenuArrowStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n motionEaseInOut,\n borderRadius,\n menuArrowSize,\n menuArrowOffset\n } = token;\n return {\n [`${componentCls}-submenu`]: {\n '&-expand-icon, &-arrow': {\n position: 'absolute',\n top: '50%',\n insetInlineEnd: token.margin,\n width: menuArrowSize,\n color: 'currentcolor',\n transform: 'translateY(-50%)',\n transition: `transform ${motionDurationSlow} ${motionEaseInOut}, opacity ${motionDurationSlow}`\n },\n '&-arrow': {\n // →\n '&::before, &::after': {\n position: 'absolute',\n width: token.calc(menuArrowSize).mul(0.6).equal(),\n height: token.calc(menuArrowSize).mul(0.15).equal(),\n backgroundColor: 'currentcolor',\n borderRadius,\n transition: [`background ${motionDurationSlow} ${motionEaseInOut}`, `transform ${motionDurationSlow} ${motionEaseInOut}`, `top ${motionDurationSlow} ${motionEaseInOut}`, `color ${motionDurationSlow} ${motionEaseInOut}`].join(','),\n content: '\"\"'\n },\n '&::before': {\n transform: `rotate(45deg) translateY(${unit(token.calc(menuArrowOffset).mul(-1).equal())})`\n },\n '&::after': {\n transform: `rotate(-45deg) translateY(${unit(menuArrowOffset)})`\n }\n }\n }\n };\n};\n// =============================== Base ===============================\nconst getBaseStyle = token => {\n const {\n antCls,\n componentCls,\n fontSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n paddingXS,\n padding,\n colorSplit,\n lineWidth,\n zIndexPopup,\n borderRadiusLG,\n subMenuItemBorderRadius,\n menuArrowSize,\n menuArrowOffset,\n lineType,\n groupTitleLineHeight,\n groupTitleFontSize\n } = token;\n return [\n // Misc\n {\n '': {\n [componentCls]: Object.assign(Object.assign({}, clearFix()), {\n // Hidden\n '&-hidden': {\n display: 'none'\n }\n })\n },\n [`${componentCls}-submenu-hidden`]: {\n display: 'none'\n }\n }, {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), clearFix()), {\n marginBottom: 0,\n paddingInlineStart: 0,\n // Override default ul/ol\n fontSize,\n lineHeight: 0,\n listStyle: 'none',\n outline: 'none',\n // Magic cubic here but smooth transition\n transition: `width ${motionDurationSlow} cubic-bezier(0.2, 0, 0, 1) 0s`,\n 'ul, ol': {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n // Overflow ellipsis\n '&-overflow': {\n display: 'flex',\n [`${componentCls}-item`]: {\n flex: 'none'\n }\n },\n [`${componentCls}-item, ${componentCls}-submenu, ${componentCls}-submenu-title`]: {\n borderRadius: token.itemBorderRadius\n },\n [`${componentCls}-item-group-title`]: {\n padding: `${unit(paddingXS)} ${unit(padding)}`,\n fontSize: groupTitleFontSize,\n lineHeight: groupTitleLineHeight,\n transition: `all ${motionDurationSlow}`\n },\n [`&-horizontal ${componentCls}-submenu`]: {\n transition: [`border-color ${motionDurationSlow} ${motionEaseInOut}`, `background ${motionDurationSlow} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-submenu, ${componentCls}-submenu-inline`]: {\n transition: [`border-color ${motionDurationSlow} ${motionEaseInOut}`, `background ${motionDurationSlow} ${motionEaseInOut}`, `padding ${motionDurationMid} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-submenu ${componentCls}-sub`]: {\n cursor: 'initial',\n transition: [`background ${motionDurationSlow} ${motionEaseInOut}`, `padding ${motionDurationSlow} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-title-content`]: {\n transition: `color ${motionDurationSlow}`,\n '&-with-extra': {\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%'\n },\n // https://github.com/ant-design/ant-design/issues/41143\n [`> ${antCls}-typography-ellipsis-single-line`]: {\n display: 'inline',\n verticalAlign: 'unset'\n },\n [`${componentCls}-item-extra`]: {\n marginInlineStart: 'auto',\n paddingInlineStart: token.padding,\n fontSize: token.fontSizeSM\n }\n },\n [`${componentCls}-item a`]: {\n '&::before': {\n position: 'absolute',\n inset: 0,\n backgroundColor: 'transparent',\n content: '\"\"'\n }\n },\n // Removed a Badge related style seems it's safe\n // https://github.com/ant-design/ant-design/issues/19809\n // >>>>> Divider\n [`${componentCls}-item-divider`]: {\n overflow: 'hidden',\n lineHeight: 0,\n borderColor: colorSplit,\n borderStyle: lineType,\n borderWidth: 0,\n borderTopWidth: lineWidth,\n marginBlock: lineWidth,\n padding: 0,\n '&-dashed': {\n borderStyle: 'dashed'\n }\n }\n }), genMenuItemStyle(token)), {\n [`${componentCls}-item-group`]: {\n [`${componentCls}-item-group-list`]: {\n margin: 0,\n padding: 0,\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n paddingInline: `${unit(token.calc(fontSize).mul(2).equal())} ${unit(padding)}`\n }\n }\n },\n // ======================= Sub Menu =======================\n '&-submenu': {\n '&-popup': {\n position: 'absolute',\n zIndex: zIndexPopup,\n borderRadius: borderRadiusLG,\n boxShadow: 'none',\n transformOrigin: '0 0',\n [`&${componentCls}-submenu`]: {\n background: 'transparent'\n },\n // https://github.com/ant-design/ant-design/issues/13955\n '&::before': {\n position: 'absolute',\n inset: 0,\n zIndex: -1,\n width: '100%',\n height: '100%',\n opacity: 0,\n content: '\"\"'\n },\n [`> ${componentCls}`]: Object.assign(Object.assign(Object.assign({\n borderRadius: borderRadiusLG\n }, genMenuItemStyle(token)), genSubMenuArrowStyle(token)), {\n [`${componentCls}-item, ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n borderRadius: subMenuItemBorderRadius\n },\n [`${componentCls}-submenu-title::after`]: {\n transition: `transform ${motionDurationSlow} ${motionEaseInOut}`\n }\n })\n },\n [`\n &-placement-leftTop,\n &-placement-bottomRight,\n `]: {\n transformOrigin: '100% 0'\n },\n [`\n &-placement-leftBottom,\n &-placement-topRight,\n `]: {\n transformOrigin: '100% 100%'\n },\n [`\n &-placement-rightBottom,\n &-placement-topLeft,\n `]: {\n transformOrigin: '0 100%'\n },\n [`\n &-placement-bottomLeft,\n &-placement-rightTop,\n `]: {\n transformOrigin: '0 0'\n },\n [`\n &-placement-leftTop,\n &-placement-leftBottom\n `]: {\n paddingInlineEnd: token.paddingXS\n },\n [`\n &-placement-rightTop,\n &-placement-rightBottom\n `]: {\n paddingInlineStart: token.paddingXS\n },\n [`\n &-placement-topRight,\n &-placement-topLeft\n `]: {\n paddingBottom: token.paddingXS\n },\n [`\n &-placement-bottomRight,\n &-placement-bottomLeft\n `]: {\n paddingTop: token.paddingXS\n }\n }\n }), genSubMenuArrowStyle(token)), {\n [`&-inline-collapsed ${componentCls}-submenu-arrow,\n &-inline ${componentCls}-submenu-arrow`]: {\n // ↓\n '&::before': {\n transform: `rotate(-45deg) translateX(${unit(menuArrowOffset)})`\n },\n '&::after': {\n transform: `rotate(45deg) translateX(${unit(token.calc(menuArrowOffset).mul(-1).equal())})`\n }\n },\n [`${componentCls}-submenu-open${componentCls}-submenu-inline > ${componentCls}-submenu-title > ${componentCls}-submenu-arrow`]: {\n // ↑\n transform: `translateY(${unit(token.calc(menuArrowSize).mul(0.2).mul(-1).equal())})`,\n '&::after': {\n transform: `rotate(-45deg) translateX(${unit(token.calc(menuArrowOffset).mul(-1).equal())})`\n },\n '&::before': {\n transform: `rotate(45deg) translateX(${unit(menuArrowOffset)})`\n }\n }\n })\n },\n // Integration with header element so menu items have the same height\n {\n [`${antCls}-layout-header`]: {\n [componentCls]: {\n lineHeight: 'inherit'\n }\n }\n }];\n};\nexport const prepareComponentToken = token => {\n var _a, _b, _c;\n const {\n colorPrimary,\n colorError,\n colorTextDisabled,\n colorErrorBg,\n colorText,\n colorTextDescription,\n colorBgContainer,\n colorFillAlter,\n colorFillContent,\n lineWidth,\n lineWidthBold,\n controlItemBgActive,\n colorBgTextHover,\n controlHeightLG,\n lineHeight,\n colorBgElevated,\n marginXXS,\n padding,\n fontSize,\n controlHeightSM,\n fontSizeLG,\n colorTextLightSolid,\n colorErrorHover\n } = token;\n const activeBarWidth = (_a = token.activeBarWidth) !== null && _a !== void 0 ? _a : 0;\n const activeBarBorderWidth = (_b = token.activeBarBorderWidth) !== null && _b !== void 0 ? _b : lineWidth;\n const itemMarginInline = (_c = token.itemMarginInline) !== null && _c !== void 0 ? _c : token.marginXXS;\n const colorTextDark = new TinyColor(colorTextLightSolid).setAlpha(0.65).toRgbString();\n return {\n dropdownWidth: 160,\n zIndexPopup: token.zIndexPopupBase + 50,\n radiusItem: token.borderRadiusLG,\n itemBorderRadius: token.borderRadiusLG,\n radiusSubMenuItem: token.borderRadiusSM,\n subMenuItemBorderRadius: token.borderRadiusSM,\n colorItemText: colorText,\n itemColor: colorText,\n colorItemTextHover: colorText,\n itemHoverColor: colorText,\n colorItemTextHoverHorizontal: colorPrimary,\n horizontalItemHoverColor: colorPrimary,\n colorGroupTitle: colorTextDescription,\n groupTitleColor: colorTextDescription,\n colorItemTextSelected: colorPrimary,\n itemSelectedColor: colorPrimary,\n colorItemTextSelectedHorizontal: colorPrimary,\n horizontalItemSelectedColor: colorPrimary,\n colorItemBg: colorBgContainer,\n itemBg: colorBgContainer,\n colorItemBgHover: colorBgTextHover,\n itemHoverBg: colorBgTextHover,\n colorItemBgActive: colorFillContent,\n itemActiveBg: controlItemBgActive,\n colorSubItemBg: colorFillAlter,\n subMenuItemBg: colorFillAlter,\n colorItemBgSelected: controlItemBgActive,\n itemSelectedBg: controlItemBgActive,\n colorItemBgSelectedHorizontal: 'transparent',\n horizontalItemSelectedBg: 'transparent',\n colorActiveBarWidth: 0,\n activeBarWidth,\n colorActiveBarHeight: lineWidthBold,\n activeBarHeight: lineWidthBold,\n colorActiveBarBorderSize: lineWidth,\n activeBarBorderWidth,\n // Disabled\n colorItemTextDisabled: colorTextDisabled,\n itemDisabledColor: colorTextDisabled,\n // Danger\n colorDangerItemText: colorError,\n dangerItemColor: colorError,\n colorDangerItemTextHover: colorError,\n dangerItemHoverColor: colorError,\n colorDangerItemTextSelected: colorError,\n dangerItemSelectedColor: colorError,\n colorDangerItemBgActive: colorErrorBg,\n dangerItemActiveBg: colorErrorBg,\n colorDangerItemBgSelected: colorErrorBg,\n dangerItemSelectedBg: colorErrorBg,\n itemMarginInline,\n horizontalItemBorderRadius: 0,\n horizontalItemHoverBg: 'transparent',\n itemHeight: controlHeightLG,\n groupTitleLineHeight: lineHeight,\n collapsedWidth: controlHeightLG * 2,\n popupBg: colorBgElevated,\n itemMarginBlock: marginXXS,\n itemPaddingInline: padding,\n horizontalLineHeight: `${controlHeightLG * 1.15}px`,\n iconSize: fontSize,\n iconMarginInlineEnd: controlHeightSM - fontSize,\n collapsedIconSize: fontSizeLG,\n groupTitleFontSize: fontSize,\n // Disabled\n darkItemDisabledColor: new TinyColor(colorTextLightSolid).setAlpha(0.25).toRgbString(),\n // Dark\n darkItemColor: colorTextDark,\n darkDangerItemColor: colorError,\n darkItemBg: '#001529',\n darkPopupBg: '#001529',\n darkSubMenuItemBg: '#000c17',\n darkItemSelectedColor: colorTextLightSolid,\n darkItemSelectedBg: colorPrimary,\n darkDangerItemSelectedBg: colorError,\n darkItemHoverBg: 'transparent',\n darkGroupTitleColor: colorTextDark,\n darkItemHoverColor: colorTextLightSolid,\n darkDangerItemHoverColor: colorErrorHover,\n darkDangerItemSelectedColor: colorTextLightSolid,\n darkDangerItemActiveBg: colorError,\n // internal\n itemWidth: activeBarWidth ? `calc(100% + ${activeBarBorderWidth}px)` : `calc(100% - ${itemMarginInline * 2}px)`\n };\n};\n// ============================== Export ==============================\nexport default (function (prefixCls) {\n let rootCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prefixCls;\n let injectStyle = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n const useStyle = genStyleHooks('Menu', token => {\n const {\n colorBgElevated,\n controlHeightLG,\n fontSize,\n darkItemColor,\n darkDangerItemColor,\n darkItemBg,\n darkSubMenuItemBg,\n darkItemSelectedColor,\n darkItemSelectedBg,\n darkDangerItemSelectedBg,\n darkItemHoverBg,\n darkGroupTitleColor,\n darkItemHoverColor,\n darkItemDisabledColor,\n darkDangerItemHoverColor,\n darkDangerItemSelectedColor,\n darkDangerItemActiveBg,\n popupBg,\n darkPopupBg\n } = token;\n const menuArrowSize = token.calc(fontSize).div(7).mul(5).equal();\n // Menu Token\n const menuToken = mergeToken(token, {\n menuArrowSize,\n menuHorizontalHeight: token.calc(controlHeightLG).mul(1.15).equal(),\n menuArrowOffset: token.calc(menuArrowSize).mul(0.25).equal(),\n menuSubMenuBg: colorBgElevated,\n calc: token.calc,\n popupBg\n });\n const menuDarkToken = mergeToken(menuToken, {\n itemColor: darkItemColor,\n itemHoverColor: darkItemHoverColor,\n groupTitleColor: darkGroupTitleColor,\n itemSelectedColor: darkItemSelectedColor,\n itemBg: darkItemBg,\n popupBg: darkPopupBg,\n subMenuItemBg: darkSubMenuItemBg,\n itemActiveBg: 'transparent',\n itemSelectedBg: darkItemSelectedBg,\n activeBarHeight: 0,\n activeBarBorderWidth: 0,\n itemHoverBg: darkItemHoverBg,\n // Disabled\n itemDisabledColor: darkItemDisabledColor,\n // Danger\n dangerItemColor: darkDangerItemColor,\n dangerItemHoverColor: darkDangerItemHoverColor,\n dangerItemSelectedColor: darkDangerItemSelectedColor,\n dangerItemActiveBg: darkDangerItemActiveBg,\n dangerItemSelectedBg: darkDangerItemSelectedBg,\n menuSubMenuBg: darkSubMenuItemBg,\n // Horizontal\n horizontalItemSelectedColor: darkItemSelectedColor,\n horizontalItemSelectedBg: darkItemSelectedBg\n });\n return [\n // Basic\n getBaseStyle(menuToken),\n // Horizontal\n getHorizontalStyle(menuToken),\n // Hard code for some light style\n // Vertical\n getVerticalStyle(menuToken),\n // Hard code for some light style\n // Theme\n getThemeStyle(menuToken, 'light'), getThemeStyle(menuDarkToken, 'dark'),\n // RTL\n getRTLStyle(menuToken),\n // Motion\n genCollapseMotion(menuToken), initSlideMotion(menuToken, 'slide-up'), initSlideMotion(menuToken, 'slide-down'), initZoomMotion(menuToken, 'zoom-big')];\n }, prepareComponentToken, {\n deprecatedTokens: [['colorGroupTitle', 'groupTitleColor'], ['radiusItem', 'itemBorderRadius'], ['radiusSubMenuItem', 'subMenuItemBorderRadius'], ['colorItemText', 'itemColor'], ['colorItemTextHover', 'itemHoverColor'], ['colorItemTextHoverHorizontal', 'horizontalItemHoverColor'], ['colorItemTextSelected', 'itemSelectedColor'], ['colorItemTextSelectedHorizontal', 'horizontalItemSelectedColor'], ['colorItemTextDisabled', 'itemDisabledColor'], ['colorDangerItemText', 'dangerItemColor'], ['colorDangerItemTextHover', 'dangerItemHoverColor'], ['colorDangerItemTextSelected', 'dangerItemSelectedColor'], ['colorDangerItemBgActive', 'dangerItemActiveBg'], ['colorDangerItemBgSelected', 'dangerItemSelectedBg'], ['colorItemBg', 'itemBg'], ['colorItemBgHover', 'itemHoverBg'], ['colorSubItemBg', 'subMenuItemBg'], ['colorItemBgActive', 'itemActiveBg'], ['colorItemBgSelectedHorizontal', 'horizontalItemSelectedBg'], ['colorActiveBarWidth', 'activeBarWidth'], ['colorActiveBarHeight', 'activeBarHeight'], ['colorActiveBarBorderSize', 'activeBarBorderWidth'], ['colorItemBgSelected', 'itemSelectedBg']],\n // Dropdown will handle menu style self. We do not need to handle this.\n injectStyle,\n unitless: {\n groupTitleLineHeight: true\n }\n });\n return useStyle(prefixCls, rootCls);\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { SubMenu as RcSubMenu, useFullPath } from 'rc-menu';\nimport omit from \"rc-util/es/omit\";\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport { cloneElement } from '../_util/reactNode';\nimport MenuContext from './MenuContext';\nconst SubMenu = props => {\n var _a;\n const {\n popupClassName,\n icon,\n title,\n theme: customTheme\n } = props;\n const context = React.useContext(MenuContext);\n const {\n prefixCls,\n inlineCollapsed,\n theme: contextTheme\n } = context;\n const parentPath = useFullPath();\n let titleNode;\n if (!icon) {\n titleNode = inlineCollapsed && !parentPath.length && title && typeof title === 'string' ? (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-inline-collapsed-noicon`\n }, title.charAt(0))) : (/*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-title-content`\n }, title));\n } else {\n // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n const titleIsSpan = /*#__PURE__*/React.isValidElement(title) && title.type === 'span';\n titleNode = /*#__PURE__*/React.createElement(React.Fragment, null, cloneElement(icon, {\n className: classNames(/*#__PURE__*/React.isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', `${prefixCls}-item-icon`)\n }), titleIsSpan ? title : /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-title-content`\n }, title));\n }\n const contextValue = React.useMemo(() => Object.assign(Object.assign({}, context), {\n firstLevel: false\n }), [context]);\n // ============================ zIndex ============================\n const [zIndex] = useZIndex('Menu');\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(RcSubMenu, Object.assign({}, omit(props, ['icon']), {\n title: titleNode,\n popupClassName: classNames(prefixCls, popupClassName, `${prefixCls}-${customTheme || contextTheme}`),\n popupStyle: Object.assign({\n zIndex\n }, props.popupStyle)\n })));\n};\nexport default SubMenu;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport classNames from 'classnames';\nimport RcMenu from 'rc-menu';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport omit from \"rc-util/es/omit\";\nimport initCollapseMotion from '../_util/motion';\nimport { cloneElement } from '../_util/reactNode';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport MenuContext from './MenuContext';\nimport Divider from './MenuDivider';\nimport MenuItem from './MenuItem';\nimport OverrideContext from './OverrideContext';\nimport useStyle from './style';\nimport SubMenu from './SubMenu';\nfunction isEmptyIcon(icon) {\n return icon === null || icon === false;\n}\nconst MENU_COMPONENTS = {\n item: MenuItem,\n submenu: SubMenu,\n divider: Divider\n};\nconst InternalMenu = /*#__PURE__*/forwardRef((props, ref) => {\n var _a;\n const override = React.useContext(OverrideContext);\n const overrideObj = override || {};\n const {\n getPrefixCls,\n getPopupContainer,\n direction,\n menu\n } = React.useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n theme = 'light',\n expandIcon,\n _internalDisableMenuItemTitleTooltip,\n inlineCollapsed,\n siderCollapsed,\n rootClassName,\n mode,\n selectable,\n onClick,\n overflowedIndicatorPopupClassName\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"style\", \"theme\", \"expandIcon\", \"_internalDisableMenuItemTitleTooltip\", \"inlineCollapsed\", \"siderCollapsed\", \"rootClassName\", \"mode\", \"selectable\", \"onClick\", \"overflowedIndicatorPopupClassName\"]);\n const passedProps = omit(restProps, ['collapsedWidth']);\n // ======================== Warning ==========================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Menu');\n process.env.NODE_ENV !== \"production\" ? warning(!('inlineCollapsed' in props && mode !== 'inline'), 'usage', '`inlineCollapsed` should only be used when `mode` is inline.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(props.siderCollapsed !== undefined && 'inlineCollapsed' in props), 'usage', '`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.') : void 0;\n warning.deprecated('items' in props && !props.children, 'children', 'items');\n }\n (_a = overrideObj.validator) === null || _a === void 0 ? void 0 : _a.call(overrideObj, {\n mode\n });\n // ========================== Click ==========================\n // Tell dropdown that item clicked\n const onItemClick = useEvent(function () {\n var _a;\n onClick === null || onClick === void 0 ? void 0 : onClick.apply(void 0, arguments);\n (_a = overrideObj.onClick) === null || _a === void 0 ? void 0 : _a.call(overrideObj);\n });\n // ========================== Mode ===========================\n const mergedMode = overrideObj.mode || mode;\n // ======================= Selectable ========================\n const mergedSelectable = selectable !== null && selectable !== void 0 ? selectable : overrideObj.selectable;\n // ======================== Collapsed ========================\n // Inline Collapsed\n const mergedInlineCollapsed = React.useMemo(() => {\n if (siderCollapsed !== undefined) {\n return siderCollapsed;\n }\n return inlineCollapsed;\n }, [inlineCollapsed, siderCollapsed]);\n const defaultMotions = {\n horizontal: {\n motionName: `${rootPrefixCls}-slide-up`\n },\n inline: initCollapseMotion(rootPrefixCls),\n other: {\n motionName: `${rootPrefixCls}-zoom-big`\n }\n };\n const prefixCls = getPrefixCls('menu', customizePrefixCls || overrideObj.prefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls, !override);\n const menuClassName = classNames(`${prefixCls}-${theme}`, menu === null || menu === void 0 ? void 0 : menu.className, className);\n // ====================== ExpandIcon ========================\n const mergedExpandIcon = React.useMemo(() => {\n var _a, _b;\n if (typeof expandIcon === 'function' || isEmptyIcon(expandIcon)) {\n return expandIcon || null;\n }\n if (typeof overrideObj.expandIcon === 'function' || isEmptyIcon(overrideObj.expandIcon)) {\n return overrideObj.expandIcon || null;\n }\n if (typeof (menu === null || menu === void 0 ? void 0 : menu.expandIcon) === 'function' || isEmptyIcon(menu === null || menu === void 0 ? void 0 : menu.expandIcon)) {\n return (menu === null || menu === void 0 ? void 0 : menu.expandIcon) || null;\n }\n const mergedIcon = (_a = expandIcon !== null && expandIcon !== void 0 ? expandIcon : overrideObj === null || overrideObj === void 0 ? void 0 : overrideObj.expandIcon) !== null && _a !== void 0 ? _a : menu === null || menu === void 0 ? void 0 : menu.expandIcon;\n return cloneElement(mergedIcon, {\n className: classNames(`${prefixCls}-submenu-expand-icon`, /*#__PURE__*/React.isValidElement(mergedIcon) ? (_b = mergedIcon.props) === null || _b === void 0 ? void 0 : _b.className : undefined)\n });\n }, [expandIcon, overrideObj === null || overrideObj === void 0 ? void 0 : overrideObj.expandIcon, menu === null || menu === void 0 ? void 0 : menu.expandIcon, prefixCls]);\n // ======================== Context ==========================\n const contextValue = React.useMemo(() => ({\n prefixCls,\n inlineCollapsed: mergedInlineCollapsed || false,\n direction,\n firstLevel: true,\n theme,\n mode: mergedMode,\n disableMenuItemTitleTooltip: _internalDisableMenuItemTitleTooltip\n }), [prefixCls, mergedInlineCollapsed, direction, _internalDisableMenuItemTitleTooltip, theme]);\n // ========================= Render ==========================\n return wrapCSSVar(/*#__PURE__*/React.createElement(OverrideContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(RcMenu, Object.assign({\n getPopupContainer: getPopupContainer,\n overflowedIndicator: /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n overflowedIndicatorPopupClassName: classNames(prefixCls, `${prefixCls}-${theme}`, overflowedIndicatorPopupClassName),\n mode: mergedMode,\n selectable: mergedSelectable,\n onClick: onItemClick\n }, passedProps, {\n inlineCollapsed: mergedInlineCollapsed,\n style: Object.assign(Object.assign({}, menu === null || menu === void 0 ? void 0 : menu.style), style),\n className: menuClassName,\n prefixCls: prefixCls,\n direction: direction,\n defaultMotions: defaultMotions,\n expandIcon: mergedExpandIcon,\n ref: ref,\n rootClassName: classNames(rootClassName, hashId, overrideObj.rootClassName, cssVarCls, rootCls),\n _internalComponents: MENU_COMPONENTS\n })))));\n});\nexport default InternalMenu;","\"use client\";\n\nimport * as React from 'react';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { ItemGroup } from 'rc-menu';\nimport { SiderContext } from '../layout/Sider';\nimport InternalMenu from './menu';\nimport MenuDivider from './MenuDivider';\nimport Item from './MenuItem';\nimport SubMenu from './SubMenu';\nconst Menu = /*#__PURE__*/forwardRef((props, ref) => {\n const menuRef = useRef(null);\n const context = React.useContext(SiderContext);\n useImperativeHandle(ref, () => ({\n menu: menuRef.current,\n focus: options => {\n var _a;\n (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.focus(options);\n }\n }));\n return /*#__PURE__*/React.createElement(InternalMenu, Object.assign({\n ref: menuRef\n }, props, context));\n});\nMenu.Item = Item;\nMenu.SubMenu = SubMenu;\nMenu.Divider = MenuDivider;\nMenu.ItemGroup = ItemGroup;\nif (process.env.NODE_ENV !== 'production') {\n Menu.displayName = 'Menu';\n}\nexport default Menu;","const genStatusStyle = token => {\n const {\n componentCls,\n menuCls,\n colorError,\n colorTextLightSolid\n } = token;\n const itemCls = `${menuCls}-item`;\n return {\n [`${componentCls}, ${componentCls}-menu-submenu`]: {\n [`${menuCls} ${itemCls}`]: {\n [`&${itemCls}-danger:not(${itemCls}-disabled)`]: {\n color: colorError,\n '&:hover': {\n color: colorTextLightSolid,\n backgroundColor: colorError\n }\n }\n }\n }\n };\n};\nexport default genStatusStyle;","import { unit } from '@ant-design/cssinjs';\nimport { genFocusStyle, resetComponent } from '../../style';\nimport { initMoveMotion, initSlideMotion, initZoomMotion, slideDownIn, slideDownOut, slideUpIn, slideUpOut } from '../../style/motion';\nimport getArrowStyle, { getArrowOffsetToken } from '../../style/placementArrow';\nimport { getArrowToken } from '../../style/roundedArrow';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport genStatusStyle from './status';\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n menuCls,\n zIndexPopup,\n dropdownArrowDistance,\n sizePopupArrow,\n antCls,\n iconCls,\n motionDurationMid,\n paddingBlock,\n fontSize,\n dropdownEdgeChildPadding,\n colorTextDisabled,\n fontSizeIcon,\n controlPaddingHorizontal,\n colorBgElevated\n } = token;\n return [{\n [componentCls]: {\n position: 'absolute',\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: zIndexPopup,\n display: 'block',\n // A placeholder out of dropdown visible range to avoid close when user moving\n '&::before': {\n position: 'absolute',\n insetBlock: token.calc(sizePopupArrow).div(2).sub(dropdownArrowDistance).equal(),\n // insetInlineStart: -7, // FIXME: Seems not work for hidden element\n zIndex: -9999,\n opacity: 0.0001,\n content: '\"\"'\n },\n // Makes vertical dropdowns have a scrollbar once they become taller than the viewport.\n '&-menu-vertical': {\n maxHeight: '100vh',\n overflowY: 'auto'\n },\n [`&-trigger${antCls}-btn`]: {\n [`& > ${iconCls}-down, & > ${antCls}-btn-icon > ${iconCls}-down`]: {\n fontSize: fontSizeIcon\n }\n },\n [`${componentCls}-wrap`]: {\n position: 'relative',\n [`${antCls}-btn > ${iconCls}-down`]: {\n fontSize: fontSizeIcon\n },\n [`${iconCls}-down::before`]: {\n transition: `transform ${motionDurationMid}`\n }\n },\n [`${componentCls}-wrap-open`]: {\n [`${iconCls}-down::before`]: {\n transform: `rotate(180deg)`\n }\n },\n [`\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n `]: {\n display: 'none'\n },\n // =============================================================\n // == Motion ==\n // =============================================================\n // When position is not enough for dropdown, the placement will revert.\n // We will handle this with revert motion name.\n [`&${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomRight,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpIn\n },\n [`&${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-top,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-top,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topRight,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topRight`]: {\n animationName: slideDownIn\n },\n [`&${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpOut\n },\n [`&${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-top,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topRight`]: {\n animationName: slideDownOut\n }\n }\n },\n // =============================================================\n // == Arrow style ==\n // =============================================================\n getArrowStyle(token, colorBgElevated, {\n arrowPlacement: {\n top: true,\n bottom: true\n }\n }), {\n // =============================================================\n // == Menu ==\n // =============================================================\n [`${componentCls} ${menuCls}`]: {\n position: 'relative',\n margin: 0\n },\n [`${menuCls}-submenu-popup`]: {\n position: 'absolute',\n zIndex: zIndexPopup,\n background: 'transparent',\n boxShadow: 'none',\n transformOrigin: '0 0',\n 'ul, li': {\n listStyle: 'none',\n margin: 0\n }\n },\n [`${componentCls}, ${componentCls}-menu-submenu`]: Object.assign(Object.assign({}, resetComponent(token)), {\n [menuCls]: Object.assign(Object.assign({\n padding: dropdownEdgeChildPadding,\n listStyleType: 'none',\n backgroundColor: colorBgElevated,\n backgroundClip: 'padding-box',\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary\n }, genFocusStyle(token)), {\n '&:empty': {\n padding: 0,\n boxShadow: 'none'\n },\n [`${menuCls}-item-group-title`]: {\n padding: `${unit(paddingBlock)} ${unit(controlPaddingHorizontal)}`,\n color: token.colorTextDescription,\n transition: `all ${motionDurationMid}`\n },\n // ======================= Item Content =======================\n [`${menuCls}-item`]: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n },\n [`${menuCls}-item-icon`]: {\n minWidth: fontSize,\n marginInlineEnd: token.marginXS,\n fontSize: token.fontSizeSM\n },\n [`${menuCls}-title-content`]: {\n flex: 'auto',\n '&-with-extra': {\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%'\n },\n '> a': {\n color: 'inherit',\n transition: `all ${motionDurationMid}`,\n '&:hover': {\n color: 'inherit'\n },\n '&::after': {\n position: 'absolute',\n inset: 0,\n content: '\"\"'\n }\n },\n [`${menuCls}-item-extra`]: {\n paddingInlineStart: token.padding,\n marginInlineStart: 'auto',\n fontSize: token.fontSizeSM,\n color: token.colorTextDescription\n }\n },\n // =========================== Item ===========================\n [`${menuCls}-item, ${menuCls}-submenu-title`]: Object.assign(Object.assign({\n display: 'flex',\n margin: 0,\n padding: `${unit(paddingBlock)} ${unit(controlPaddingHorizontal)}`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n transition: `all ${motionDurationMid}`,\n borderRadius: token.borderRadiusSM,\n '&:hover, &-active': {\n backgroundColor: token.controlItemBgHover\n }\n }, genFocusStyle(token)), {\n '&-selected': {\n color: token.colorPrimary,\n backgroundColor: token.controlItemBgActive,\n '&:hover, &-active': {\n backgroundColor: token.controlItemBgActiveHover\n }\n },\n '&-disabled': {\n color: colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n },\n a: {\n pointerEvents: 'none'\n }\n },\n '&-divider': {\n height: 1,\n // By design\n margin: `${unit(token.marginXXS)} 0`,\n overflow: 'hidden',\n lineHeight: 0,\n backgroundColor: token.colorSplit\n },\n [`${componentCls}-menu-submenu-expand-icon`]: {\n position: 'absolute',\n insetInlineEnd: token.paddingXS,\n [`${componentCls}-menu-submenu-arrow-icon`]: {\n marginInlineEnd: '0 !important',\n color: token.colorTextDescription,\n fontSize: fontSizeIcon,\n fontStyle: 'normal'\n }\n }\n }),\n [`${menuCls}-item-group-list`]: {\n margin: `0 ${unit(token.marginXS)}`,\n padding: 0,\n listStyle: 'none'\n },\n [`${menuCls}-submenu-title`]: {\n paddingInlineEnd: token.calc(controlPaddingHorizontal).add(token.fontSizeSM).equal()\n },\n [`${menuCls}-submenu-vertical`]: {\n position: 'relative'\n },\n [`${menuCls}-submenu${menuCls}-submenu-disabled ${componentCls}-menu-submenu-title`]: {\n [`&, ${componentCls}-menu-submenu-arrow-icon`]: {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n }\n },\n // https://github.com/ant-design/ant-design/issues/19264\n [`${menuCls}-submenu-selected ${componentCls}-menu-submenu-title`]: {\n color: token.colorPrimary\n }\n })\n })\n },\n // Follow code may reuse in other components\n [initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down'), initMoveMotion(token, 'move-up'), initMoveMotion(token, 'move-down'), initZoomMotion(token, 'zoom-big')]];\n};\n// ============================== Export ==============================\nexport const prepareComponentToken = token => Object.assign(Object.assign({\n zIndexPopup: token.zIndexPopupBase + 50,\n paddingBlock: (token.controlHeight - token.fontSize * token.lineHeight) / 2\n}, getArrowOffsetToken({\n contentRadius: token.borderRadiusLG,\n limitVerticalRadius: true\n})), getArrowToken(token));\nexport default genStyleHooks('Dropdown', token => {\n const {\n marginXXS,\n sizePopupArrow,\n paddingXXS,\n componentCls\n } = token;\n const dropdownToken = mergeToken(token, {\n menuCls: `${componentCls}-menu`,\n dropdownArrowDistance: token.calc(sizePopupArrow).div(2).add(marginXXS).equal(),\n dropdownEdgeChildPadding: paddingXXS\n });\n return [genBaseStyle(dropdownToken), genStatusStyle(dropdownToken)];\n}, prepareComponentToken, {\n resetStyle: false\n});","\"use client\";\n\nimport * as React from 'react';\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcDropdown from 'rc-dropdown';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport getPlacements from '../_util/placements';\nimport genPurePanel from '../_util/PurePanel';\nimport { cloneElement } from '../_util/reactNode';\nimport { devUseWarning } from '../_util/warning';\nimport zIndexContext from '../_util/zindexContext';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport Menu from '../menu';\nimport { OverrideProvider } from '../menu/OverrideContext';\nimport { useToken } from '../theme/internal';\nimport useStyle from './style';\nconst _Placements = ['topLeft', 'topCenter', 'topRight', 'bottomLeft', 'bottomCenter', 'bottomRight', 'top', 'bottom'];\nconst Dropdown = props => {\n var _a;\n const {\n menu,\n arrow,\n prefixCls: customizePrefixCls,\n children,\n trigger,\n disabled,\n dropdownRender,\n getPopupContainer,\n overlayClassName,\n rootClassName,\n overlayStyle,\n open,\n onOpenChange,\n // Deprecated\n visible,\n onVisibleChange,\n mouseEnterDelay = 0.15,\n mouseLeaveDelay = 0.1,\n autoAdjustOverflow = true,\n placement = '',\n overlay,\n transitionName\n } = props;\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction,\n dropdown\n } = React.useContext(ConfigContext);\n // Warning for deprecated usage\n const warning = devUseWarning('Dropdown');\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n warning.deprecated(!(deprecatedName in props), deprecatedName, newName);\n });\n warning.deprecated(!('overlay' in props), 'overlay', 'menu');\n }\n const memoTransitionName = React.useMemo(() => {\n const rootPrefixCls = getPrefixCls();\n if (transitionName !== undefined) {\n return transitionName;\n }\n if (placement.includes('top')) {\n return `${rootPrefixCls}-slide-down`;\n }\n return `${rootPrefixCls}-slide-up`;\n }, [getPrefixCls, placement, transitionName]);\n const memoPlacement = React.useMemo(() => {\n if (!placement) {\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n }\n if (placement.includes('Center')) {\n return placement.slice(0, placement.indexOf('Center'));\n }\n return placement;\n }, [placement, direction]);\n if (process.env.NODE_ENV !== 'production') {\n if (placement.includes('Center')) {\n const newPlacement = placement.slice(0, placement.indexOf('Center'));\n process.env.NODE_ENV !== \"production\" ? warning(!placement.includes('Center'), 'deprecated', `You are using '${placement}' placement in Dropdown, which is deprecated. Try to use '${newPlacement}' instead.`) : void 0;\n }\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange']].forEach(_ref2 => {\n let [deprecatedName, newName] = _ref2;\n warning.deprecated(!(deprecatedName in props), deprecatedName, newName);\n });\n }\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const [, token] = useToken();\n const child = React.Children.only(children);\n const dropdownTrigger = cloneElement(child, {\n className: classNames(`${prefixCls}-trigger`, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, child.props.className),\n disabled: (_a = child.props.disabled) !== null && _a !== void 0 ? _a : disabled\n });\n const triggerActions = disabled ? [] : trigger;\n const alignPoint = !!(triggerActions === null || triggerActions === void 0 ? void 0 : triggerActions.includes('contextMenu'));\n // =========================== Open ============================\n const [mergedOpen, setOpen] = useMergedState(false, {\n value: open !== null && open !== void 0 ? open : visible\n });\n const onInnerOpenChange = useEvent(nextOpen => {\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen, {\n source: 'trigger'\n });\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(nextOpen);\n setOpen(nextOpen);\n });\n // =========================== Overlay ============================\n const overlayClassNameCustomized = classNames(overlayClassName, rootClassName, hashId, cssVarCls, rootCls, dropdown === null || dropdown === void 0 ? void 0 : dropdown.className, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n });\n const builtinPlacements = getPlacements({\n arrowPointAtCenter: typeof arrow === 'object' && arrow.pointAtCenter,\n autoAdjustOverflow,\n offset: token.marginXXS,\n arrowWidth: arrow ? token.sizePopupArrow : 0,\n borderRadius: token.borderRadius\n });\n const onMenuClick = React.useCallback(() => {\n if ((menu === null || menu === void 0 ? void 0 : menu.selectable) && (menu === null || menu === void 0 ? void 0 : menu.multiple)) {\n return;\n }\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false, {\n source: 'menu'\n });\n setOpen(false);\n }, [menu === null || menu === void 0 ? void 0 : menu.selectable, menu === null || menu === void 0 ? void 0 : menu.multiple]);\n const renderOverlay = () => {\n // rc-dropdown already can process the function of overlay, but we have check logic here.\n // So we need render the element to check and pass back to rc-dropdown.\n let overlayNode;\n if (menu === null || menu === void 0 ? void 0 : menu.items) {\n overlayNode = /*#__PURE__*/React.createElement(Menu, Object.assign({}, menu));\n } else if (typeof overlay === 'function') {\n overlayNode = overlay();\n } else {\n overlayNode = overlay;\n }\n if (dropdownRender) {\n overlayNode = dropdownRender(overlayNode);\n }\n overlayNode = React.Children.only(typeof overlayNode === 'string' ? /*#__PURE__*/React.createElement(\"span\", null, overlayNode) : overlayNode);\n return /*#__PURE__*/React.createElement(OverrideProvider, {\n prefixCls: `${prefixCls}-menu`,\n rootClassName: classNames(cssVarCls, rootCls),\n expandIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-menu-submenu-arrow`\n }, /*#__PURE__*/React.createElement(RightOutlined, {\n className: `${prefixCls}-menu-submenu-arrow-icon`\n })),\n mode: \"vertical\",\n selectable: false,\n onClick: onMenuClick,\n validator: _ref3 => {\n let {\n mode\n } = _ref3;\n // Warning if use other mode\n process.env.NODE_ENV !== \"production\" ? warning(!mode || mode === 'vertical', 'usage', `mode=\"${mode}\" is not supported for Dropdown's Menu.`) : void 0;\n }\n }, overlayNode);\n };\n // =========================== zIndex ============================\n const [zIndex, contextZIndex] = useZIndex('Dropdown', overlayStyle === null || overlayStyle === void 0 ? void 0 : overlayStyle.zIndex);\n // ============================ Render ============================\n let renderNode = /*#__PURE__*/React.createElement(RcDropdown, Object.assign({\n alignPoint: alignPoint\n }, omit(props, ['rootClassName']), {\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n visible: mergedOpen,\n builtinPlacements: builtinPlacements,\n arrow: !!arrow,\n overlayClassName: overlayClassNameCustomized,\n prefixCls: prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: memoTransitionName,\n trigger: triggerActions,\n overlay: renderOverlay,\n placement: memoPlacement,\n onVisibleChange: onInnerOpenChange,\n overlayStyle: Object.assign(Object.assign(Object.assign({}, dropdown === null || dropdown === void 0 ? void 0 : dropdown.style), overlayStyle), {\n zIndex\n })\n }), dropdownTrigger);\n if (zIndex) {\n renderNode = /*#__PURE__*/React.createElement(zIndexContext.Provider, {\n value: contextZIndex\n }, renderNode);\n }\n return wrapCSSVar(renderNode);\n};\nfunction postPureProps(props) {\n return Object.assign(Object.assign({}, props), {\n align: {\n overflow: {\n adjustX: false,\n adjustY: false\n }\n }\n });\n}\n// We don't care debug panel\nconst PurePanel = genPurePanel(Dropdown, 'dropdown', prefixCls => prefixCls, postPureProps);\n/* istanbul ignore next */\nconst WrapPurePanel = props => (/*#__PURE__*/React.createElement(PurePanel, Object.assign({}, props), /*#__PURE__*/React.createElement(\"span\", null)));\nDropdown._InternalPanelDoNotUseOrYouWillBeFired = WrapPurePanel;\nif (process.env.NODE_ENV !== 'production') {\n Dropdown.displayName = 'Dropdown';\n}\nexport default Dropdown;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { useToken } from '../theme/internal';\nexport const GroupSizeContext = /*#__PURE__*/React.createContext(undefined);\nconst ButtonGroup = props => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n size,\n className\n } = props,\n others = __rest(props, [\"prefixCls\", \"size\", \"className\"]);\n const prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n const [,, hashId] = useToken();\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n // Do nothing\n }\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Button.Group');\n process.env.NODE_ENV !== \"production\" ? warning(!size || ['large', 'small', 'middle'].includes(size), 'usage', 'Invalid prop `size`.') : void 0;\n }\n const classes = classNames(prefixCls, {\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId);\n return /*#__PURE__*/React.createElement(GroupSizeContext.Provider, {\n value: size\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classes\n })));\n};\nexport default ButtonGroup;","\"use client\";\n\nimport React from 'react';\nimport { cloneElement, isFragment } from '../_util/reactNode';\nconst rxTwoCNChar = /^[\\u4E00-\\u9FA5]{2}$/;\nexport const isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nexport function convertLegacyProps(type) {\n if (type === 'danger') {\n return {\n danger: true\n };\n }\n return {\n type\n };\n}\nexport function isString(str) {\n return typeof str === 'string';\n}\nexport function isUnBorderedButtonVariant(type) {\n return type === 'text' || type === 'link';\n}\nfunction splitCNCharsBySpace(child, needInserted) {\n if (child === null || child === undefined) {\n return;\n }\n const SPACE = needInserted ? ' ' : '';\n if (typeof child !== 'string' && typeof child !== 'number' && isString(child.type) && isTwoCNChar(child.props.children)) {\n return cloneElement(child, {\n children: child.props.children.split('').join(SPACE)\n });\n }\n if (isString(child)) {\n return isTwoCNChar(child) ? /*#__PURE__*/React.createElement(\"span\", null, child.split('').join(SPACE)) : /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n if (isFragment(child)) {\n return /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n return child;\n}\nexport function spaceChildren(children, needInserted) {\n let isPrevChildPure = false;\n const childList = [];\n React.Children.forEach(children, child => {\n const type = typeof child;\n const isCurrentChildPure = type === 'string' || type === 'number';\n if (isPrevChildPure && isCurrentChildPure) {\n const lastIndex = childList.length - 1;\n const lastChild = childList[lastIndex];\n childList[lastIndex] = `${lastChild}${child}`;\n } else {\n childList.push(child);\n }\n isPrevChildPure = isCurrentChildPure;\n });\n return React.Children.map(childList, child => splitCNCharsBySpace(child, needInserted));\n}\nconst _ButtonTypes = ['default', 'primary', 'dashed', 'link', 'text'];\nconst _ButtonShapes = ['default', 'circle', 'round'];\nconst _ButtonHTMLTypes = ['submit', 'button', 'reset'];\nexport const _ButtonVariantTypes = ['outlined', 'dashed', 'solid', 'filled', 'text', 'link'];\nexport const _ButtonColorTypes = ['default', 'primary', 'danger'];","\"use client\";\n\nimport React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nconst IconWrapper = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n className,\n style,\n children,\n prefixCls\n } = props;\n const iconWrapperCls = classNames(`${prefixCls}-icon`, className);\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: ref,\n className: iconWrapperCls,\n style: style\n }, children);\n});\nexport default IconWrapper;","\"use client\";\n\nimport React, { forwardRef } from 'react';\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport IconWrapper from './IconWrapper';\nconst InnerLoadingIcon = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n prefixCls,\n className,\n style,\n iconClassName\n } = props;\n const mergedIconCls = classNames(`${prefixCls}-loading-icon`, className);\n return /*#__PURE__*/React.createElement(IconWrapper, {\n prefixCls: prefixCls,\n className: mergedIconCls,\n style: style,\n ref: ref\n }, /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: iconClassName\n }));\n});\nconst getCollapsedWidth = () => ({\n width: 0,\n opacity: 0,\n transform: 'scale(0)'\n});\nconst getRealWidth = node => ({\n width: node.scrollWidth,\n opacity: 1,\n transform: 'scale(1)'\n});\nconst LoadingIcon = props => {\n const {\n prefixCls,\n loading,\n existIcon,\n className,\n style\n } = props;\n const visible = !!loading;\n if (existIcon) {\n return /*#__PURE__*/React.createElement(InnerLoadingIcon, {\n prefixCls: prefixCls,\n className: className,\n style: style\n });\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n // We do not really use this motionName\n motionName: `${prefixCls}-loading-icon-motion`,\n motionLeave: visible,\n removeOnLeave: true,\n onAppearStart: getCollapsedWidth,\n onAppearActive: getRealWidth,\n onEnterStart: getCollapsedWidth,\n onEnterActive: getRealWidth,\n onLeaveStart: getRealWidth,\n onLeaveActive: getCollapsedWidth\n }, (_ref, ref) => {\n let {\n className: motionCls,\n style: motionStyle\n } = _ref;\n return /*#__PURE__*/React.createElement(InnerLoadingIcon, {\n prefixCls: prefixCls,\n className: className,\n style: Object.assign(Object.assign({}, style), motionStyle),\n ref: ref,\n iconClassName: motionCls\n });\n });\n};\nexport default LoadingIcon;","const genButtonBorderStyle = (buttonTypeCls, borderColor) => ({\n // Border\n [`> span, > ${buttonTypeCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineEndColor: borderColor\n }\n }\n },\n '&:not(:first-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineStartColor: borderColor\n }\n }\n }\n }\n});\nconst genGroupStyle = token => {\n const {\n componentCls,\n fontSize,\n lineWidth,\n groupBorderColor,\n colorErrorHover\n } = token;\n return {\n [`${componentCls}-group`]: [{\n position: 'relative',\n display: 'inline-flex',\n // Border\n [`> span, > ${componentCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${componentCls}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n '&:not(:first-child)': {\n marginInlineStart: token.calc(lineWidth).mul(-1).equal(),\n [`&, & > ${componentCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n },\n [componentCls]: {\n position: 'relative',\n zIndex: 1,\n '&:hover, &:focus, &:active': {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n },\n [`${componentCls}-icon-only`]: {\n fontSize\n }\n },\n // Border Color\n genButtonBorderStyle(`${componentCls}-primary`, groupBorderColor), genButtonBorderStyle(`${componentCls}-danger`, colorErrorHover)]\n };\n};\nexport default genGroupStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nconst round = Math.round;\n\n/**\n * Support format, alpha unit will check the % mark:\n * - rgba(102, 204, 255, .5) -> [102, 204, 255, 0.5]\n * - rgb(102 204 255 / .5) -> [102, 204, 255, 0.5]\n * - rgb(100%, 50%, 0% / 50%) -> [255, 128, 0, 0.5]\n * - hsl(270, 60, 40, .5) -> [270, 60, 40, 0.5]\n * - hsl(270deg 60% 40% / 50%) -> [270, 60, 40, 0.5]\n *\n * When `base` is provided, the percentage value will be divided by `base`.\n */\nfunction splitColorStr(str, parseNum) {\n const match = str\n // Remove str before `(`\n .replace(/^[^(]*\\((.*)/, '$1')\n // Remove str after `)`\n .replace(/\\).*/, '').match(/\\d*\\.?\\d+%?/g) || [];\n const numList = match.map(item => parseFloat(item));\n for (let i = 0; i < 3; i += 1) {\n numList[i] = parseNum(numList[i] || 0, match[i] || '', i);\n }\n\n // For alpha. 50% should be 0.5\n if (match[3]) {\n numList[3] = match[3].includes('%') ? numList[3] / 100 : numList[3];\n } else {\n // By default, alpha is 1\n numList[3] = 1;\n }\n return numList;\n}\nconst parseHSVorHSL = (num, _, index) => index === 0 ? num : num / 100;\n\n/** round and limit number to integer between 0-255 */\nfunction limitRange(value, max) {\n const mergedMax = max || 255;\n if (value > mergedMax) {\n return mergedMax;\n }\n if (value < 0) {\n return 0;\n }\n return value;\n}\nexport class FastColor {\n constructor(input) {\n /**\n * All FastColor objects are valid. So isValid is always true. This property is kept to be compatible with TinyColor.\n */\n _defineProperty(this, \"isValid\", true);\n /**\n * Red, R in RGB\n */\n _defineProperty(this, \"r\", 0);\n /**\n * Green, G in RGB\n */\n _defineProperty(this, \"g\", 0);\n /**\n * Blue, B in RGB\n */\n _defineProperty(this, \"b\", 0);\n /**\n * Alpha/Opacity, A in RGBA/HSLA\n */\n _defineProperty(this, \"a\", 1);\n // HSV privates\n _defineProperty(this, \"_h\", void 0);\n _defineProperty(this, \"_s\", void 0);\n _defineProperty(this, \"_l\", void 0);\n _defineProperty(this, \"_v\", void 0);\n // intermediate variables to calculate HSL/HSV\n _defineProperty(this, \"_max\", void 0);\n _defineProperty(this, \"_min\", void 0);\n _defineProperty(this, \"_brightness\", void 0);\n /**\n * Always check 3 char in the object to determine the format.\n * We not use function in check to save bundle size.\n * e.g. 'rgb' -> { r: 0, g: 0, b: 0 }.\n */\n function matchFormat(str) {\n return str[0] in input && str[1] in input && str[2] in input;\n }\n if (!input) {\n // Do nothing since already initialized\n } else if (typeof input === 'string') {\n const trimStr = input.trim();\n function matchPrefix(prefix) {\n return trimStr.startsWith(prefix);\n }\n if (/^#?[A-F\\d]{3,8}$/i.test(trimStr)) {\n this.fromHexString(trimStr);\n } else if (matchPrefix('rgb')) {\n this.fromRgbString(trimStr);\n } else if (matchPrefix('hsl')) {\n this.fromHslString(trimStr);\n } else if (matchPrefix('hsv') || matchPrefix('hsb')) {\n this.fromHsvString(trimStr);\n }\n } else if (input instanceof FastColor) {\n this.r = input.r;\n this.g = input.g;\n this.b = input.b;\n this.a = input.a;\n this._h = input._h;\n this._s = input._s;\n this._l = input._l;\n this._v = input._v;\n } else if (matchFormat('rgb')) {\n this.r = limitRange(input.r);\n this.g = limitRange(input.g);\n this.b = limitRange(input.b);\n this.a = typeof input.a === 'number' ? limitRange(input.a, 1) : 1;\n } else if (matchFormat('hsl')) {\n this.fromHsl(input);\n } else if (matchFormat('hsv')) {\n this.fromHsv(input);\n } else {\n throw new Error('@ant-design/fast-color: unsupported input ' + JSON.stringify(input));\n }\n }\n\n // ======================= Setter =======================\n\n setR(value) {\n return this._sc('r', value);\n }\n setG(value) {\n return this._sc('g', value);\n }\n setB(value) {\n return this._sc('b', value);\n }\n setA(value) {\n return this._sc('a', value, 1);\n }\n setHue(value) {\n const hsv = this.toHsv();\n hsv.h = value;\n return this._c(hsv);\n }\n\n // ======================= Getter =======================\n /**\n * Returns the perceived luminance of a color, from 0-1.\n * @see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n */\n getLuminance() {\n function adjustGamma(raw) {\n const val = raw / 255;\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }\n const R = adjustGamma(this.r);\n const G = adjustGamma(this.g);\n const B = adjustGamma(this.b);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n }\n getHue() {\n if (typeof this._h === 'undefined') {\n const delta = this.getMax() - this.getMin();\n if (delta === 0) {\n this._h = 0;\n } else {\n this._h = round(60 * (this.r === this.getMax() ? (this.g - this.b) / delta + (this.g < this.b ? 6 : 0) : this.g === this.getMax() ? (this.b - this.r) / delta + 2 : (this.r - this.g) / delta + 4));\n }\n }\n return this._h;\n }\n getSaturation() {\n if (typeof this._s === 'undefined') {\n const delta = this.getMax() - this.getMin();\n if (delta === 0) {\n this._s = 0;\n } else {\n this._s = delta / this.getMax();\n }\n }\n return this._s;\n }\n getLightness() {\n if (typeof this._l === 'undefined') {\n this._l = (this.getMax() + this.getMin()) / 510;\n }\n return this._l;\n }\n getValue() {\n if (typeof this._v === 'undefined') {\n this._v = this.getMax() / 255;\n }\n return this._v;\n }\n\n /**\n * Returns the perceived brightness of the color, from 0-255.\n * Note: this is not the b of HSB\n * @see http://www.w3.org/TR/AERT#color-contrast\n */\n getBrightness() {\n if (typeof this._brightness === 'undefined') {\n this._brightness = (this.r * 299 + this.g * 587 + this.b * 114) / 1000;\n }\n return this._brightness;\n }\n\n // ======================== Func ========================\n\n darken(amount = 10) {\n const h = this.getHue();\n const s = this.getSaturation();\n let l = this.getLightness() - amount / 100;\n if (l < 0) {\n l = 0;\n }\n return this._c({\n h,\n s,\n l,\n a: this.a\n });\n }\n lighten(amount = 10) {\n const h = this.getHue();\n const s = this.getSaturation();\n let l = this.getLightness() + amount / 100;\n if (l > 1) {\n l = 1;\n }\n return this._c({\n h,\n s,\n l,\n a: this.a\n });\n }\n\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n mix(input, amount = 50) {\n const color = this._c(input);\n const p = amount / 100;\n const calc = key => (color[key] - this[key]) * p + this[key];\n const rgba = {\n r: round(calc('r')),\n g: round(calc('g')),\n b: round(calc('b')),\n a: round(calc('a') * 100) / 100\n };\n return this._c(rgba);\n }\n\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n */\n tint(amount = 10) {\n return this.mix({\n r: 255,\n g: 255,\n b: 255,\n a: 1\n }, amount);\n }\n\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n */\n shade(amount = 10) {\n return this.mix({\n r: 0,\n g: 0,\n b: 0,\n a: 1\n }, amount);\n }\n onBackground(background) {\n const bg = this._c(background);\n const alpha = this.a + bg.a * (1 - this.a);\n const calc = key => {\n return round((this[key] * this.a + bg[key] * bg.a * (1 - this.a)) / alpha);\n };\n return this._c({\n r: calc('r'),\n g: calc('g'),\n b: calc('b'),\n a: alpha\n });\n }\n\n // ======================= Status =======================\n isDark() {\n return this.getBrightness() < 128;\n }\n isLight() {\n return this.getBrightness() >= 128;\n }\n\n // ======================== MISC ========================\n equals(other) {\n return this.r === other.r && this.g === other.g && this.b === other.b && this.a === other.a;\n }\n clone() {\n return this._c(this);\n }\n\n // ======================= Format =======================\n toHexString() {\n let hex = '#';\n const rHex = (this.r || 0).toString(16);\n hex += rHex.length === 2 ? rHex : '0' + rHex;\n const gHex = (this.g || 0).toString(16);\n hex += gHex.length === 2 ? gHex : '0' + gHex;\n const bHex = (this.b || 0).toString(16);\n hex += bHex.length === 2 ? bHex : '0' + bHex;\n if (typeof this.a === 'number' && this.a >= 0 && this.a < 1) {\n const aHex = round(this.a * 255).toString(16);\n hex += aHex.length === 2 ? aHex : '0' + aHex;\n }\n return hex;\n }\n\n /** CSS support color pattern */\n toHsl() {\n return {\n h: this.getHue(),\n s: this.getSaturation(),\n l: this.getLightness(),\n a: this.a\n };\n }\n\n /** CSS support color pattern */\n toHslString() {\n const h = this.getHue();\n const s = round(this.getSaturation() * 100);\n const l = round(this.getLightness() * 100);\n return this.a !== 1 ? `hsla(${h},${s}%,${l}%,${this.a})` : `hsl(${h},${s}%,${l}%)`;\n }\n\n /** Same as toHsb */\n toHsv() {\n return {\n h: this.getHue(),\n s: this.getSaturation(),\n v: this.getValue(),\n a: this.a\n };\n }\n toRgb() {\n return {\n r: this.r,\n g: this.g,\n b: this.b,\n a: this.a\n };\n }\n toRgbString() {\n return this.a !== 1 ? `rgba(${this.r},${this.g},${this.b},${this.a})` : `rgb(${this.r},${this.g},${this.b})`;\n }\n toString() {\n return this.toRgbString();\n }\n\n // ====================== Privates ======================\n /** Return a new FastColor object with one channel changed */\n _sc(rgb, value, max) {\n const clone = this.clone();\n clone[rgb] = limitRange(value, max);\n return clone;\n }\n _c(input) {\n return new this.constructor(input);\n }\n getMax() {\n if (typeof this._max === 'undefined') {\n this._max = Math.max(this.r, this.g, this.b);\n }\n return this._max;\n }\n getMin() {\n if (typeof this._min === 'undefined') {\n this._min = Math.min(this.r, this.g, this.b);\n }\n return this._min;\n }\n fromHexString(trimStr) {\n const withoutPrefix = trimStr.replace('#', '');\n function connectNum(index1, index2) {\n return parseInt(withoutPrefix[index1] + withoutPrefix[index2 || index1], 16);\n }\n if (withoutPrefix.length < 6) {\n // #rgb or #rgba\n this.r = connectNum(0);\n this.g = connectNum(1);\n this.b = connectNum(2);\n this.a = withoutPrefix[3] ? connectNum(3) / 255 : 1;\n } else {\n // #rrggbb or #rrggbbaa\n this.r = connectNum(0, 1);\n this.g = connectNum(2, 3);\n this.b = connectNum(4, 5);\n this.a = withoutPrefix[6] ? connectNum(6, 7) / 255 : 1;\n }\n }\n fromHsl({\n h,\n s,\n l,\n a\n }) {\n this._h = h % 360;\n this._s = s;\n this._l = l;\n this.a = typeof a === 'number' ? a : 1;\n if (s <= 0) {\n const rgb = round(l * 255);\n this.r = rgb;\n this.g = rgb;\n this.b = rgb;\n }\n let r = 0,\n g = 0,\n b = 0;\n const huePrime = h / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * s;\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n if (huePrime >= 0 && huePrime < 1) {\n r = chroma;\n g = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n r = secondComponent;\n g = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n g = chroma;\n b = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n g = secondComponent;\n b = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n r = secondComponent;\n b = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n r = chroma;\n b = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n this.r = round((r + lightnessModification) * 255);\n this.g = round((g + lightnessModification) * 255);\n this.b = round((b + lightnessModification) * 255);\n }\n fromHsv({\n h,\n s,\n v,\n a\n }) {\n this._h = h % 360;\n this._s = s;\n this._v = v;\n this.a = typeof a === 'number' ? a : 1;\n const vv = round(v * 255);\n this.r = vv;\n this.g = vv;\n this.b = vv;\n if (s <= 0) {\n return;\n }\n const hh = h / 60;\n const i = Math.floor(hh);\n const ff = hh - i;\n const p = round(v * (1.0 - s) * 255);\n const q = round(v * (1.0 - s * ff) * 255);\n const t = round(v * (1.0 - s * (1.0 - ff)) * 255);\n switch (i) {\n case 0:\n this.g = t;\n this.b = p;\n break;\n case 1:\n this.r = q;\n this.b = p;\n break;\n case 2:\n this.r = p;\n this.b = t;\n break;\n case 3:\n this.r = p;\n this.g = q;\n break;\n case 4:\n this.r = t;\n this.g = p;\n break;\n case 5:\n default:\n this.g = p;\n this.b = q;\n break;\n }\n }\n fromHsvString(trimStr) {\n const cells = splitColorStr(trimStr, parseHSVorHSL);\n this.fromHsv({\n h: cells[0],\n s: cells[1],\n v: cells[2],\n a: cells[3]\n });\n }\n fromHslString(trimStr) {\n const cells = splitColorStr(trimStr, parseHSVorHSL);\n this.fromHsl({\n h: cells[0],\n s: cells[1],\n l: cells[2],\n a: cells[3]\n });\n }\n fromRgbString(trimStr) {\n const cells = splitColorStr(trimStr, (num, txt) =>\n // Convert percentage to number. e.g. 50% -> 128\n txt.includes('%') ? round(num / 100 * 255) : num);\n this.r = cells[0];\n this.g = cells[1];\n this.b = cells[2];\n this.a = cells[3];\n }\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"b\"],\n _excluded2 = [\"v\"];\nimport { FastColor } from '@ant-design/fast-color';\nexport var getRoundNumber = function getRoundNumber(value) {\n return Math.round(Number(value || 0));\n};\nvar convertHsb2Hsv = function convertHsb2Hsv(color) {\n if (color instanceof FastColor) {\n return color;\n }\n if (color && _typeof(color) === 'object' && 'h' in color && 'b' in color) {\n var _ref = color,\n b = _ref.b,\n resets = _objectWithoutProperties(_ref, _excluded);\n return _objectSpread(_objectSpread({}, resets), {}, {\n v: b\n });\n }\n if (typeof color === 'string' && /hsb/.test(color)) {\n return color.replace(/hsb/, 'hsv');\n }\n return color;\n};\nexport var Color = /*#__PURE__*/function (_FastColor) {\n _inherits(Color, _FastColor);\n var _super = _createSuper(Color);\n function Color(color) {\n _classCallCheck(this, Color);\n return _super.call(this, convertHsb2Hsv(color));\n }\n _createClass(Color, [{\n key: \"toHsbString\",\n value: function toHsbString() {\n var hsb = this.toHsb();\n var saturation = getRoundNumber(hsb.s * 100);\n var lightness = getRoundNumber(hsb.b * 100);\n var hue = getRoundNumber(hsb.h);\n var alpha = hsb.a;\n var hsbString = \"hsb(\".concat(hue, \", \").concat(saturation, \"%, \").concat(lightness, \"%)\");\n var hsbaString = \"hsba(\".concat(hue, \", \").concat(saturation, \"%, \").concat(lightness, \"%, \").concat(alpha.toFixed(alpha === 0 ? 0 : 2), \")\");\n return alpha === 1 ? hsbString : hsbaString;\n }\n }, {\n key: \"toHsb\",\n value: function toHsb() {\n var _this$toHsv = this.toHsv(),\n v = _this$toHsv.v,\n resets = _objectWithoutProperties(_this$toHsv, _excluded2);\n return _objectSpread(_objectSpread({}, resets), {}, {\n b: v,\n a: this.a\n });\n }\n }]);\n return Color;\n}(FastColor);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { Color } from \"./color\";\nexport var ColorPickerPrefixCls = 'rc-color-picker';\nexport var generateColor = function generateColor(color) {\n if (color instanceof Color) {\n return color;\n }\n return new Color(color);\n};\nexport var defaultColor = generateColor('#1677ff');\nexport var calculateColor = function calculateColor(props) {\n var offset = props.offset,\n targetRef = props.targetRef,\n containerRef = props.containerRef,\n color = props.color,\n type = props.type;\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n width = _containerRef$current.width,\n height = _containerRef$current.height;\n var _targetRef$current$ge = targetRef.current.getBoundingClientRect(),\n targetWidth = _targetRef$current$ge.width,\n targetHeight = _targetRef$current$ge.height;\n var centerOffsetX = targetWidth / 2;\n var centerOffsetY = targetHeight / 2;\n var saturation = (offset.x + centerOffsetX) / width;\n var bright = 1 - (offset.y + centerOffsetY) / height;\n var hsb = color.toHsb();\n var alphaOffset = saturation;\n var hueOffset = (offset.x + centerOffsetX) / width * 360;\n if (type) {\n switch (type) {\n case 'hue':\n return generateColor(_objectSpread(_objectSpread({}, hsb), {}, {\n h: hueOffset <= 0 ? 0 : hueOffset\n }));\n case 'alpha':\n return generateColor(_objectSpread(_objectSpread({}, hsb), {}, {\n a: alphaOffset <= 0 ? 0 : alphaOffset\n }));\n }\n }\n return generateColor({\n h: hsb.h,\n s: saturation <= 0 ? 0 : saturation,\n b: bright >= 1 ? 1 : bright,\n a: hsb.a\n });\n};\nexport var calcOffset = function calcOffset(color, type) {\n var hsb = color.toHsb();\n switch (type) {\n case 'hue':\n return {\n x: hsb.h / 360 * 100,\n y: 50\n };\n case 'alpha':\n return {\n x: color.a * 100,\n y: 50\n };\n\n // Picker panel\n default:\n return {\n x: hsb.s * 100,\n y: (1 - hsb.b) * 100\n };\n }\n};","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport { Color as RcColor } from '@rc-component/color-picker';\nexport const toHexFormat = (value, alpha) => (value === null || value === void 0 ? void 0 : value.replace(/[^\\w/]/g, '').slice(0, alpha ? 8 : 6)) || '';\nexport const getHex = (value, alpha) => value ? toHexFormat(value, alpha) : '';\nexport let AggregationColor = /*#__PURE__*/function () {\n function AggregationColor(color) {\n _classCallCheck(this, AggregationColor);\n var _a;\n this.cleared = false;\n // Clone from another AggregationColor\n if (color instanceof AggregationColor) {\n this.metaColor = color.metaColor.clone();\n this.colors = (_a = color.colors) === null || _a === void 0 ? void 0 : _a.map(info => ({\n color: new AggregationColor(info.color),\n percent: info.percent\n }));\n this.cleared = color.cleared;\n return;\n }\n const isArray = Array.isArray(color);\n if (isArray && color.length) {\n this.colors = color.map(_ref => {\n let {\n color: c,\n percent\n } = _ref;\n return {\n color: new AggregationColor(c),\n percent\n };\n });\n this.metaColor = new RcColor(this.colors[0].color.metaColor);\n } else {\n this.metaColor = new RcColor(isArray ? '' : color);\n }\n if (!color || isArray && !this.colors) {\n this.metaColor = this.metaColor.setA(0);\n this.cleared = true;\n }\n }\n return _createClass(AggregationColor, [{\n key: \"toHsb\",\n value: function toHsb() {\n return this.metaColor.toHsb();\n }\n }, {\n key: \"toHsbString\",\n value: function toHsbString() {\n return this.metaColor.toHsbString();\n }\n }, {\n key: \"toHex\",\n value: function toHex() {\n return getHex(this.toHexString(), this.metaColor.a < 1);\n }\n }, {\n key: \"toHexString\",\n value: function toHexString() {\n return this.metaColor.toHexString();\n }\n }, {\n key: \"toRgb\",\n value: function toRgb() {\n return this.metaColor.toRgb();\n }\n }, {\n key: \"toRgbString\",\n value: function toRgbString() {\n return this.metaColor.toRgbString();\n }\n }, {\n key: \"isGradient\",\n value: function isGradient() {\n return !!this.colors && !this.cleared;\n }\n }, {\n key: \"getColors\",\n value: function getColors() {\n return this.colors || [{\n color: this,\n percent: 0\n }];\n }\n }, {\n key: \"toCssString\",\n value: function toCssString() {\n const {\n colors\n } = this;\n // CSS line-gradient\n if (colors) {\n const colorsStr = colors.map(c => `${c.color.toRgbString()} ${c.percent}%`).join(', ');\n return `linear-gradient(90deg, ${colorsStr})`;\n }\n return this.metaColor.toRgbString();\n }\n }, {\n key: \"equals\",\n value: function equals(color) {\n if (!color || this.isGradient() !== color.isGradient()) {\n return false;\n }\n if (!this.isGradient()) {\n return this.toHexString() === color.toHexString();\n }\n return this.colors.length === color.colors.length && this.colors.every((c, i) => {\n const target = color.colors[i];\n return c.percent === target.percent && c.color.equals(target.color);\n });\n }\n }]);\n}();","import { AggregationColor } from '../../color-picker/color';\nimport { isBright } from '../../color-picker/components/ColorPresets';\nimport { getLineHeight, mergeToken } from '../../theme/internal';\nexport const prepareToken = token => {\n const {\n paddingInline,\n onlyIconSize,\n paddingBlock\n } = token;\n const buttonToken = mergeToken(token, {\n buttonPaddingHorizontal: paddingInline,\n buttonPaddingVertical: paddingBlock,\n buttonIconOnlyFontSize: onlyIconSize\n });\n return buttonToken;\n};\nexport const prepareComponentToken = token => {\n var _a, _b, _c, _d, _e, _f;\n const contentFontSize = (_a = token.contentFontSize) !== null && _a !== void 0 ? _a : token.fontSize;\n const contentFontSizeSM = (_b = token.contentFontSizeSM) !== null && _b !== void 0 ? _b : token.fontSize;\n const contentFontSizeLG = (_c = token.contentFontSizeLG) !== null && _c !== void 0 ? _c : token.fontSizeLG;\n const contentLineHeight = (_d = token.contentLineHeight) !== null && _d !== void 0 ? _d : getLineHeight(contentFontSize);\n const contentLineHeightSM = (_e = token.contentLineHeightSM) !== null && _e !== void 0 ? _e : getLineHeight(contentFontSizeSM);\n const contentLineHeightLG = (_f = token.contentLineHeightLG) !== null && _f !== void 0 ? _f : getLineHeight(contentFontSizeLG);\n const solidTextColor = isBright(new AggregationColor(token.colorBgSolid), '#fff') ? '#000' : '#fff';\n return {\n fontWeight: 400,\n defaultShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlTmpOutline}`,\n primaryShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlOutline}`,\n dangerShadow: `0 ${token.controlOutlineWidth}px 0 ${token.colorErrorOutline}`,\n primaryColor: token.colorTextLightSolid,\n dangerColor: token.colorTextLightSolid,\n borderColorDisabled: token.colorBorder,\n defaultGhostColor: token.colorBgContainer,\n ghostBg: 'transparent',\n defaultGhostBorderColor: token.colorBgContainer,\n paddingInline: token.paddingContentHorizontal - token.lineWidth,\n paddingInlineLG: token.paddingContentHorizontal - token.lineWidth,\n paddingInlineSM: 8 - token.lineWidth,\n onlyIconSize: token.fontSizeLG,\n onlyIconSizeSM: token.fontSizeLG - 2,\n onlyIconSizeLG: token.fontSizeLG + 2,\n groupBorderColor: token.colorPrimaryHover,\n linkHoverBg: 'transparent',\n textTextColor: token.colorText,\n textTextHoverColor: token.colorText,\n textTextActiveColor: token.colorText,\n textHoverBg: token.colorFillTertiary,\n defaultColor: token.colorText,\n defaultBg: token.colorBgContainer,\n defaultBorderColor: token.colorBorder,\n defaultBorderColorDisabled: token.colorBorder,\n defaultHoverBg: token.colorBgContainer,\n defaultHoverColor: token.colorPrimaryHover,\n defaultHoverBorderColor: token.colorPrimaryHover,\n defaultActiveBg: token.colorBgContainer,\n defaultActiveColor: token.colorPrimaryActive,\n defaultActiveBorderColor: token.colorPrimaryActive,\n solidTextColor,\n contentFontSize,\n contentFontSizeSM,\n contentFontSizeLG,\n contentLineHeight,\n contentLineHeightSM,\n contentLineHeightLG,\n paddingBlock: Math.max((token.controlHeight - contentFontSize * contentLineHeight) / 2 - token.lineWidth, 0),\n paddingBlockSM: Math.max((token.controlHeightSM - contentFontSizeSM * contentLineHeightSM) / 2 - token.lineWidth, 0),\n paddingBlockLG: Math.max((token.controlHeightLG - contentFontSizeLG * contentLineHeightLG) / 2 - token.lineWidth, 0)\n };\n};","\"use client\";\n\nimport React, { useMemo } from 'react';\nimport { ColorBlock, Color as RcColor } from '@rc-component/color-picker';\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport Collapse from '../../collapse';\nimport { useLocale } from '../../locale';\nimport { useToken } from '../../theme/internal';\nimport { generateColor } from '../util';\nconst genPresetColor = list => list.map(value => {\n value.colors = value.colors.map(generateColor);\n return value;\n});\nexport const isBright = (value, bgColorToken) => {\n const {\n r,\n g,\n b,\n a\n } = value.toRgb();\n const hsv = new RcColor(value.toRgbString()).onBackground(bgColorToken).toHsv();\n if (a <= 0.5) {\n // Adapted to dark mode\n return hsv.v > 0.5;\n }\n return r * 0.299 + g * 0.587 + b * 0.114 > 192;\n};\nconst genCollapsePanelKey = _ref => {\n let {\n label\n } = _ref;\n return `panel-${label}`;\n};\nconst ColorPresets = _ref2 => {\n let {\n prefixCls,\n presets,\n value: color,\n onChange\n } = _ref2;\n const [locale] = useLocale('ColorPicker');\n const [, token] = useToken();\n const [presetsValue] = useMergedState(genPresetColor(presets), {\n value: genPresetColor(presets),\n postState: genPresetColor\n });\n const colorPresetsPrefixCls = `${prefixCls}-presets`;\n const activeKeys = useMemo(() => presetsValue.reduce((acc, preset) => {\n const {\n defaultOpen = true\n } = preset;\n if (defaultOpen) acc.push(genCollapsePanelKey(preset));\n return acc;\n }, []), [presetsValue]);\n const handleClick = colorValue => {\n onChange === null || onChange === void 0 ? void 0 : onChange(colorValue);\n };\n const items = presetsValue.map(preset => {\n var _a;\n return {\n key: genCollapsePanelKey(preset),\n label: /*#__PURE__*/React.createElement(\"div\", {\n className: `${colorPresetsPrefixCls}-label`\n }, preset === null || preset === void 0 ? void 0 : preset.label),\n children: (/*#__PURE__*/React.createElement(\"div\", {\n className: `${colorPresetsPrefixCls}-items`\n }, Array.isArray(preset === null || preset === void 0 ? void 0 : preset.colors) && ((_a = preset.colors) === null || _a === void 0 ? void 0 : _a.length) > 0 ? preset.colors.map((presetColor, index) => (/*#__PURE__*/React.createElement(ColorBlock\n // eslint-disable-next-line react/no-array-index-key\n , {\n // eslint-disable-next-line react/no-array-index-key\n key: `preset-${index}-${presetColor.toHexString()}`,\n color: generateColor(presetColor).toRgbString(),\n prefixCls: prefixCls,\n className: classNames(`${colorPresetsPrefixCls}-color`, {\n [`${colorPresetsPrefixCls}-color-checked`]: presetColor.toHexString() === (color === null || color === void 0 ? void 0 : color.toHexString()),\n [`${colorPresetsPrefixCls}-color-bright`]: isBright(presetColor, token.colorBgElevated)\n }),\n onClick: () => handleClick(presetColor)\n }))) : (/*#__PURE__*/React.createElement(\"span\", {\n className: `${colorPresetsPrefixCls}-empty`\n }, locale.presetEmpty))))\n };\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: colorPresetsPrefixCls\n }, /*#__PURE__*/React.createElement(Collapse, {\n defaultActiveKey: activeKeys,\n ghost: true,\n items: items\n }));\n};\nexport default ColorPresets;","import { unit } from '@ant-design/cssinjs';\nimport { genFocusStyle } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport genGroupStyle from './group';\nimport { prepareComponentToken, prepareToken } from './token';\n// ============================== Shared ==============================\nconst genSharedButtonStyle = token => {\n const {\n componentCls,\n iconCls,\n fontWeight\n } = token;\n return {\n [componentCls]: {\n outline: 'none',\n position: 'relative',\n display: 'inline-flex',\n gap: token.marginXS,\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight,\n whiteSpace: 'nowrap',\n textAlign: 'center',\n backgroundImage: 'none',\n background: 'transparent',\n border: `${unit(token.lineWidth)} ${token.lineType} transparent`,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid} ${token.motionEaseInOut}`,\n userSelect: 'none',\n touchAction: 'manipulation',\n color: token.colorText,\n '&:disabled > *': {\n pointerEvents: 'none'\n },\n '> span': {\n display: 'inline-block'\n },\n [`${componentCls}-icon`]: {\n lineHeight: 1\n },\n '> a': {\n color: 'currentColor'\n },\n '&:not(:disabled)': Object.assign({}, genFocusStyle(token)),\n [`&${componentCls}-two-chinese-chars::first-letter`]: {\n letterSpacing: '0.34em'\n },\n [`&${componentCls}-two-chinese-chars > *:not(${iconCls})`]: {\n marginInlineEnd: '-0.34em',\n letterSpacing: '0.34em'\n },\n // iconPosition=\"end\"\n '&-icon-end': {\n flexDirection: 'row-reverse'\n }\n }\n };\n};\nconst genHoverActiveButtonStyle = (btnCls, hoverStyle, activeStyle) => ({\n [`&:not(:disabled):not(${btnCls}-disabled)`]: {\n '&:hover': hoverStyle,\n '&:active': activeStyle\n }\n});\n// ============================== Shape ===============================\nconst genCircleButtonStyle = token => ({\n minWidth: token.controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n borderRadius: '50%'\n});\nconst genRoundButtonStyle = token => ({\n borderRadius: token.controlHeight,\n paddingInlineStart: token.calc(token.controlHeight).div(2).equal(),\n paddingInlineEnd: token.calc(token.controlHeight).div(2).equal()\n});\nconst genDisabledStyle = token => ({\n cursor: 'not-allowed',\n borderColor: token.borderColorDisabled,\n color: token.colorTextDisabled,\n background: token.colorBgContainerDisabled,\n boxShadow: 'none'\n});\nconst genGhostButtonStyle = (btnCls, background, textColor, borderColor, textColorDisabled, borderColorDisabled, hoverStyle, activeStyle) => ({\n [`&${btnCls}-background-ghost`]: Object.assign(Object.assign({\n color: textColor || undefined,\n background,\n borderColor: borderColor || undefined,\n boxShadow: 'none'\n }, genHoverActiveButtonStyle(btnCls, Object.assign({\n background\n }, hoverStyle), Object.assign({\n background\n }, activeStyle))), {\n '&:disabled': {\n cursor: 'not-allowed',\n color: textColorDisabled || undefined,\n borderColor: borderColorDisabled || undefined\n }\n })\n});\nconst genSolidDisabledButtonStyle = token => ({\n [`&:disabled, &${token.componentCls}-disabled`]: Object.assign({}, genDisabledStyle(token))\n});\nconst genPureDisabledButtonStyle = token => ({\n [`&:disabled, &${token.componentCls}-disabled`]: {\n cursor: 'not-allowed',\n color: token.colorTextDisabled\n }\n});\n// ============================== Variant =============================\nconst genVariantButtonStyle = (token, hoverStyle, activeStyle, variant) => {\n const isPureDisabled = variant && ['link', 'text'].includes(variant);\n const genDisabledButtonStyle = isPureDisabled ? genPureDisabledButtonStyle : genSolidDisabledButtonStyle;\n return Object.assign(Object.assign({}, genDisabledButtonStyle(token)), genHoverActiveButtonStyle(token.componentCls, hoverStyle, activeStyle));\n};\nconst genSolidButtonStyle = (token, textColor, background, hoverStyle, activeStyle) => ({\n [`&${token.componentCls}-variant-solid`]: Object.assign({\n color: textColor,\n background\n }, genVariantButtonStyle(token, hoverStyle, activeStyle))\n});\nconst genOutlinedDashedButtonStyle = (token, borderColor, background, hoverStyle, activeStyle) => ({\n [`&${token.componentCls}-variant-outlined, &${token.componentCls}-variant-dashed`]: Object.assign({\n borderColor,\n background\n }, genVariantButtonStyle(token, hoverStyle, activeStyle))\n});\nconst genDashedButtonStyle = token => ({\n [`&${token.componentCls}-variant-dashed`]: {\n borderStyle: 'dashed'\n }\n});\nconst genFilledButtonStyle = (token, background, hoverStyle, activeStyle) => ({\n [`&${token.componentCls}-variant-filled`]: Object.assign({\n boxShadow: 'none',\n background\n }, genVariantButtonStyle(token, hoverStyle, activeStyle))\n});\nconst genTextLinkButtonStyle = (token, textColor, variant, hoverStyle, activeStyle) => ({\n [`&${token.componentCls}-variant-${variant}`]: Object.assign({\n color: textColor,\n boxShadow: 'none'\n }, genVariantButtonStyle(token, hoverStyle, activeStyle, variant))\n});\n// =============================== Color ==============================\nconst genDefaultButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({\n color: token.defaultColor,\n boxShadow: token.defaultShadow\n}, genSolidButtonStyle(token, token.solidTextColor, token.colorBgSolid, {\n background: token.colorBgSolidHover\n}, {\n background: token.colorBgSolidActive\n})), genDashedButtonStyle(token)), genFilledButtonStyle(token, token.colorFillTertiary, {\n background: token.colorFillSecondary\n}, {\n background: token.colorFill\n})), genTextLinkButtonStyle(token, token.textTextColor, 'link', {\n color: token.colorLinkHover,\n background: token.linkHoverBg\n}, {\n color: token.colorLinkActive\n})), genGhostButtonStyle(token.componentCls, token.ghostBg, token.defaultGhostColor, token.defaultGhostBorderColor, token.colorTextDisabled, token.colorBorder));\nconst genPrimaryButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({\n color: token.colorPrimary,\n boxShadow: token.primaryShadow\n}, genOutlinedDashedButtonStyle(token, token.colorPrimary, token.colorBgContainer, {\n color: token.colorPrimaryTextHover,\n borderColor: token.colorPrimaryHover,\n background: token.colorBgContainer\n}, {\n color: token.colorPrimaryTextActive,\n borderColor: token.colorPrimaryActive,\n background: token.colorBgContainer\n})), genDashedButtonStyle(token)), genFilledButtonStyle(token, token.colorPrimaryBg, {\n background: token.colorPrimaryBgHover\n}, {\n background: token.colorPrimaryBorder\n})), genTextLinkButtonStyle(token, token.colorLink, 'text', {\n color: token.colorPrimaryTextHover,\n background: token.colorPrimaryBg\n}, {\n color: token.colorPrimaryTextActive,\n background: token.colorPrimaryBorder\n})), genGhostButtonStyle(token.componentCls, token.ghostBg, token.colorPrimary, token.colorPrimary, token.colorTextDisabled, token.colorBorder, {\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n}));\nconst genDangerousStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({\n color: token.colorError,\n boxShadow: token.dangerShadow\n}, genSolidButtonStyle(token, token.dangerColor, token.colorError, {\n background: token.colorErrorHover\n}, {\n background: token.colorErrorActive\n})), genOutlinedDashedButtonStyle(token, token.colorError, token.colorBgContainer, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorBorderHover\n}, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n})), genDashedButtonStyle(token)), genFilledButtonStyle(token, token.colorErrorBg, {\n background: token.colorErrorBgFilledHover\n}, {\n background: token.colorErrorBgActive\n})), genTextLinkButtonStyle(token, token.colorError, 'text', {\n color: token.colorErrorHover,\n background: token.colorErrorBg\n}, {\n color: token.colorErrorHover,\n background: token.colorErrorBgActive\n})), genTextLinkButtonStyle(token, token.colorError, 'link', {\n color: token.colorErrorHover\n}, {\n color: token.colorErrorActive\n})), genGhostButtonStyle(token.componentCls, token.ghostBg, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorHover\n}, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n}));\nconst genColorButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-color-default`]: genDefaultButtonStyle(token),\n [`${componentCls}-color-primary`]: genPrimaryButtonStyle(token),\n [`${componentCls}-color-dangerous`]: genDangerousStyle(token)\n };\n};\n// =========== Compatible with versions earlier than 5.21.0 ===========\nconst genCompatibleButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign({}, genOutlinedDashedButtonStyle(token, token.defaultBorderColor, token.defaultBg, {\n color: token.defaultHoverColor,\n borderColor: token.defaultHoverBorderColor,\n background: token.defaultHoverBg\n}, {\n color: token.defaultActiveColor,\n borderColor: token.defaultActiveBorderColor,\n background: token.defaultActiveBg\n})), genTextLinkButtonStyle(token, token.textTextColor, 'text', {\n color: token.textTextHoverColor,\n background: token.textHoverBg\n}, {\n color: token.textTextActiveColor,\n background: token.colorBgTextActive\n})), genSolidButtonStyle(token, token.primaryColor, token.colorPrimary, {\n background: token.colorPrimaryHover,\n color: token.primaryColor\n}, {\n background: token.colorPrimaryActive,\n color: token.primaryColor\n})), genTextLinkButtonStyle(token, token.colorLink, 'link', {\n color: token.colorLinkHover,\n background: token.linkHoverBg\n}, {\n color: token.colorLinkActive\n}));\n// =============================== Size ===============================\nconst genButtonStyle = function (token) {\n let prefixCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const {\n componentCls,\n controlHeight,\n fontSize,\n lineHeight,\n borderRadius,\n buttonPaddingHorizontal,\n iconCls,\n buttonPaddingVertical\n } = token;\n const iconOnlyCls = `${componentCls}-icon-only`;\n return [{\n [prefixCls]: {\n fontSize,\n lineHeight,\n height: controlHeight,\n padding: `${unit(buttonPaddingVertical)} ${unit(buttonPaddingHorizontal)}`,\n borderRadius,\n [`&${iconOnlyCls}`]: {\n width: controlHeight,\n paddingInline: 0,\n // make `btn-icon-only` not too narrow\n [`&${componentCls}-compact-item`]: {\n flex: 'none'\n },\n [`&${componentCls}-round`]: {\n width: 'auto'\n },\n [iconCls]: {\n fontSize: token.buttonIconOnlyFontSize\n }\n },\n // Loading\n [`&${componentCls}-loading`]: {\n opacity: token.opacityLoading,\n cursor: 'default'\n },\n [`${componentCls}-loading-icon`]: {\n transition: `width ${token.motionDurationSlow} ${token.motionEaseInOut}, opacity ${token.motionDurationSlow} ${token.motionEaseInOut}`\n }\n }\n },\n // Shape - patch prefixCls again to override solid border radius style\n {\n [`${componentCls}${componentCls}-circle${prefixCls}`]: genCircleButtonStyle(token)\n }, {\n [`${componentCls}${componentCls}-round${prefixCls}`]: genRoundButtonStyle(token)\n }];\n};\nconst genSizeBaseButtonStyle = token => {\n const baseToken = mergeToken(token, {\n fontSize: token.contentFontSize,\n lineHeight: token.contentLineHeight\n });\n return genButtonStyle(baseToken, token.componentCls);\n};\nconst genSizeSmallButtonStyle = token => {\n const smallToken = mergeToken(token, {\n controlHeight: token.controlHeightSM,\n fontSize: token.contentFontSizeSM,\n lineHeight: token.contentLineHeightSM,\n padding: token.paddingXS,\n buttonPaddingHorizontal: token.paddingInlineSM,\n buttonPaddingVertical: token.paddingBlockSM,\n borderRadius: token.borderRadiusSM,\n buttonIconOnlyFontSize: token.onlyIconSizeSM\n });\n return genButtonStyle(smallToken, `${token.componentCls}-sm`);\n};\nconst genSizeLargeButtonStyle = token => {\n const largeToken = mergeToken(token, {\n controlHeight: token.controlHeightLG,\n fontSize: token.contentFontSizeLG,\n lineHeight: token.contentLineHeightLG,\n buttonPaddingHorizontal: token.paddingInlineLG,\n buttonPaddingVertical: token.paddingBlockLG,\n borderRadius: token.borderRadiusLG,\n buttonIconOnlyFontSize: token.onlyIconSizeLG\n });\n return genButtonStyle(largeToken, `${token.componentCls}-lg`);\n};\nconst genBlockButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n [`&${componentCls}-block`]: {\n width: '100%'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genStyleHooks('Button', token => {\n const buttonToken = prepareToken(token);\n return [\n // Shared\n genSharedButtonStyle(buttonToken),\n // Size\n genSizeBaseButtonStyle(buttonToken), genSizeSmallButtonStyle(buttonToken), genSizeLargeButtonStyle(buttonToken),\n // Block\n genBlockButtonStyle(buttonToken),\n // Color\n genColorButtonStyle(buttonToken),\n // https://github.com/ant-design/ant-design/issues/50969\n genCompatibleButtonStyle(buttonToken),\n // Button Group\n genGroupStyle(buttonToken)];\n}, prepareComponentToken, {\n unitless: {\n fontWeight: true,\n contentLineHeight: true,\n contentLineHeightSM: true,\n contentLineHeightLG: true\n }\n});","function compactItemVerticalBorder(token, parentCls) {\n return {\n // border collapse\n [`&-item:not(${parentCls}-last-item)`]: {\n marginBottom: token.calc(token.lineWidth).mul(-1).equal()\n },\n '&-item': {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n }\n };\n}\nfunction compactItemBorderVerticalRadius(prefixCls, parentCls) {\n return {\n [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item)`]: {\n borderRadius: 0\n },\n [`&-item${parentCls}-first-item:not(${parentCls}-last-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderEndEndRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`&-item${parentCls}-last-item:not(${parentCls}-first-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0\n }\n }\n };\n}\nexport function genCompactItemVerticalStyle(token) {\n const compactCls = `${token.componentCls}-compact-vertical`;\n return {\n [compactCls]: Object.assign(Object.assign({}, compactItemVerticalBorder(token, compactCls)), compactItemBorderVerticalRadius(token.componentCls, compactCls))\n };\n}","// Style as inline component\nimport { unit } from '@ant-design/cssinjs';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genCompactItemVerticalStyle } from '../../style/compact-item-vertical';\nimport { genSubStyleComponent } from '../../theme/internal';\nimport { prepareComponentToken, prepareToken } from './token';\nconst genButtonCompactStyle = token => {\n const {\n componentCls,\n calc\n } = token;\n return {\n [componentCls]: {\n // Special styles for Primary Button\n [`&-compact-item${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: calc(token.lineWidth).mul(-1).equal(),\n insetInlineStart: calc(token.lineWidth).mul(-1).equal(),\n display: 'inline-block',\n width: token.lineWidth,\n height: `calc(100% + ${unit(token.lineWidth)} * 2)`,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n },\n // Special styles for Primary Button\n '&-compact-vertical-item': {\n [`&${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-vertical-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: calc(token.lineWidth).mul(-1).equal(),\n insetInlineStart: calc(token.lineWidth).mul(-1).equal(),\n display: 'inline-block',\n width: `calc(100% + ${unit(token.lineWidth)} * 2)`,\n height: token.lineWidth,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genSubStyleComponent(['Button', 'compact'], token => {\n const buttonToken = prepareToken(token);\n return [\n // Space Compact\n genCompactItemStyle(buttonToken), genCompactItemVerticalStyle(buttonToken), genButtonCompactStyle(buttonToken)];\n}, prepareComponentToken);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { Children, createRef, useContext, useEffect, useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { useCompactItemContext } from '../space/Compact';\nimport Group, { GroupSizeContext } from './button-group';\nimport { isTwoCNChar, isUnBorderedButtonVariant, spaceChildren } from './buttonHelpers';\nimport IconWrapper from './IconWrapper';\nimport LoadingIcon from './LoadingIcon';\nimport useStyle from './style';\nimport CompactCmp from './style/compactCmp';\nfunction getLoadingConfig(loading) {\n if (typeof loading === 'object' && loading) {\n let delay = loading === null || loading === void 0 ? void 0 : loading.delay;\n delay = !Number.isNaN(delay) && typeof delay === 'number' ? delay : 0;\n return {\n loading: delay <= 0,\n delay\n };\n }\n return {\n loading: !!loading,\n delay: 0\n };\n}\nconst ButtonTypeMap = {\n default: ['default', 'outlined'],\n primary: ['primary', 'solid'],\n dashed: ['default', 'dashed'],\n link: ['primary', 'link'],\n text: ['default', 'text']\n};\nconst InternalCompoundedButton = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b, _c, _d;\n const {\n loading = false,\n prefixCls: customizePrefixCls,\n color,\n variant,\n type,\n danger = false,\n shape = 'default',\n size: customizeSize,\n styles,\n disabled: customDisabled,\n className,\n rootClassName,\n children,\n icon,\n iconPosition = 'start',\n ghost = false,\n block = false,\n // React does not recognize the `htmlType` prop on a DOM element. Here we pick it out of `rest`.\n htmlType = 'button',\n classNames: customClassNames,\n style: customStyle = {},\n autoInsertSpace\n } = props,\n rest = __rest(props, [\"loading\", \"prefixCls\", \"color\", \"variant\", \"type\", \"danger\", \"shape\", \"size\", \"styles\", \"disabled\", \"className\", \"rootClassName\", \"children\", \"icon\", \"iconPosition\", \"ghost\", \"block\", \"htmlType\", \"classNames\", \"style\", \"autoInsertSpace\"]);\n // https://github.com/ant-design/ant-design/issues/47605\n // Compatible with original `type` behavior\n const mergedType = type || 'default';\n const [mergedColor, mergedVariant] = useMemo(() => {\n if (color && variant) {\n return [color, variant];\n }\n const colorVariantPair = ButtonTypeMap[mergedType] || [];\n if (danger) {\n return ['danger', colorVariantPair[1]];\n }\n return colorVariantPair;\n }, [type, color, variant, danger]);\n const isDanger = mergedColor === 'danger';\n const mergedColorText = isDanger ? 'dangerous' : mergedColor;\n const {\n getPrefixCls,\n direction,\n button\n } = useContext(ConfigContext);\n const mergedInsertSpace = (_a = autoInsertSpace !== null && autoInsertSpace !== void 0 ? autoInsertSpace : button === null || button === void 0 ? void 0 : button.autoInsertSpace) !== null && _a !== void 0 ? _a : true;\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const disabled = useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const groupSize = useContext(GroupSizeContext);\n const loadingOrDelay = useMemo(() => getLoadingConfig(loading), [loading]);\n const [innerLoading, setLoading] = useState(loadingOrDelay.loading);\n const [hasTwoCNChar, setHasTwoCNChar] = useState(false);\n const internalRef = /*#__PURE__*/createRef();\n const buttonRef = composeRef(ref, internalRef);\n const needInserted = Children.count(children) === 1 && !icon && !isUnBorderedButtonVariant(mergedVariant);\n useEffect(() => {\n let delayTimer = null;\n if (loadingOrDelay.delay > 0) {\n delayTimer = setTimeout(() => {\n delayTimer = null;\n setLoading(true);\n }, loadingOrDelay.delay);\n } else {\n setLoading(loadingOrDelay.loading);\n }\n function cleanupTimer() {\n if (delayTimer) {\n clearTimeout(delayTimer);\n delayTimer = null;\n }\n }\n return cleanupTimer;\n }, [loadingOrDelay]);\n useEffect(() => {\n // FIXME: for HOC usage like <FormatMessage />\n if (!buttonRef || !buttonRef.current || !mergedInsertSpace) {\n return;\n }\n const buttonText = buttonRef.current.textContent;\n if (needInserted && isTwoCNChar(buttonText)) {\n if (!hasTwoCNChar) {\n setHasTwoCNChar(true);\n }\n } else if (hasTwoCNChar) {\n setHasTwoCNChar(false);\n }\n }, [buttonRef]);\n const handleClick = React.useCallback(e => {\n var _a;\n // FIXME: https://github.com/ant-design/ant-design/issues/30207\n if (innerLoading || mergedDisabled) {\n e.preventDefault();\n return;\n }\n (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }, [props.onClick, innerLoading, mergedDisabled]);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Button');\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'breaking', `\\`icon\\` is using ReactNode instead of string naming in v4. Please check \\`${icon}\\` at https://ant.design/components/icon`) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(ghost && isUnBorderedButtonVariant(mergedVariant)), 'usage', \"`link` or `text` button can't be a `ghost` button.\") : void 0;\n }\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const sizeClassNameMap = {\n large: 'lg',\n small: 'sm',\n middle: undefined\n };\n const sizeFullName = useSize(ctxSize => {\n var _a, _b;\n return (_b = (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : groupSize) !== null && _b !== void 0 ? _b : ctxSize;\n });\n const sizeCls = sizeFullName ? (_b = sizeClassNameMap[sizeFullName]) !== null && _b !== void 0 ? _b : '' : '';\n const iconType = innerLoading ? 'loading' : icon;\n const linkButtonRestProps = omit(rest, ['navigate']);\n const classes = classNames(prefixCls, hashId, cssVarCls, {\n [`${prefixCls}-${shape}`]: shape !== 'default' && shape,\n // line(253 - 254): Compatible with versions earlier than 5.21.0\n [`${prefixCls}-${mergedType}`]: mergedType,\n [`${prefixCls}-dangerous`]: danger,\n [`${prefixCls}-color-${mergedColorText}`]: mergedColorText,\n [`${prefixCls}-variant-${mergedVariant}`]: mergedVariant,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-icon-only`]: !children && children !== 0 && !!iconType,\n [`${prefixCls}-background-ghost`]: ghost && !isUnBorderedButtonVariant(mergedVariant),\n [`${prefixCls}-loading`]: innerLoading,\n [`${prefixCls}-two-chinese-chars`]: hasTwoCNChar && mergedInsertSpace && !innerLoading,\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-icon-end`]: iconPosition === 'end'\n }, compactItemClassnames, className, rootClassName, button === null || button === void 0 ? void 0 : button.className);\n const fullStyle = Object.assign(Object.assign({}, button === null || button === void 0 ? void 0 : button.style), customStyle);\n const iconClasses = classNames(customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.icon, (_c = button === null || button === void 0 ? void 0 : button.classNames) === null || _c === void 0 ? void 0 : _c.icon);\n const iconStyle = Object.assign(Object.assign({}, (styles === null || styles === void 0 ? void 0 : styles.icon) || {}), ((_d = button === null || button === void 0 ? void 0 : button.styles) === null || _d === void 0 ? void 0 : _d.icon) || {});\n const iconNode = icon && !innerLoading ? (/*#__PURE__*/React.createElement(IconWrapper, {\n prefixCls: prefixCls,\n className: iconClasses,\n style: iconStyle\n }, icon)) : (/*#__PURE__*/React.createElement(LoadingIcon, {\n existIcon: !!icon,\n prefixCls: prefixCls,\n loading: innerLoading\n }));\n const kids = children || children === 0 ? spaceChildren(children, needInserted && mergedInsertSpace) : null;\n if (linkButtonRestProps.href !== undefined) {\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"a\", Object.assign({}, linkButtonRestProps, {\n className: classNames(classes, {\n [`${prefixCls}-disabled`]: mergedDisabled\n }),\n href: mergedDisabled ? undefined : linkButtonRestProps.href,\n style: fullStyle,\n onClick: handleClick,\n ref: buttonRef,\n tabIndex: mergedDisabled ? -1 : 0\n }), iconNode, kids));\n }\n let buttonNode = /*#__PURE__*/React.createElement(\"button\", Object.assign({}, rest, {\n type: htmlType,\n className: classes,\n style: fullStyle,\n onClick: handleClick,\n disabled: mergedDisabled,\n ref: buttonRef\n }), iconNode, kids, !!compactItemClassnames && /*#__PURE__*/React.createElement(CompactCmp, {\n key: \"compact\",\n prefixCls: prefixCls\n }));\n if (!isUnBorderedButtonVariant(mergedVariant)) {\n buttonNode = /*#__PURE__*/React.createElement(Wave, {\n component: \"Button\",\n disabled: innerLoading\n }, buttonNode);\n }\n return wrapCSSVar(buttonNode);\n});\nconst Button = InternalCompoundedButton;\nButton.Group = Group;\nButton.__ANT_BUTTON = true;\nif (process.env.NODE_ENV !== 'production') {\n Button.displayName = 'Button';\n}\nexport default Button;","\"use client\";\n\nimport Button from './button';\nexport * from './buttonHelpers';\nexport default Button;","export function isPresetSize(size) {\n return ['small', 'middle', 'large'].includes(size);\n}\nexport function isValidGapNumber(size) {\n if (!size) {\n // The case of size = 0 is deliberately excluded here, because the default value of the gap attribute in CSS is 0, so if the user passes 0 in, we can directly ignore it.\n return false;\n }\n return typeof size === 'number' && !Number.isNaN(size);\n}","import React from 'react';\nexport const SpaceContext = /*#__PURE__*/React.createContext({\n latestIndex: 0\n});\nexport const SpaceContextProvider = SpaceContext.Provider;","\"use client\";\n\nimport * as React from 'react';\nimport { SpaceContext } from './context';\nconst Item = _ref => {\n let {\n className,\n index,\n children,\n split,\n style\n } = _ref;\n const {\n latestIndex\n } = React.useContext(SpaceContext);\n if (children === null || children === undefined) {\n return null;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, children), index < latestIndex && split && /*#__PURE__*/React.createElement(\"span\", {\n className: `${className}-split`\n }, split));\n};\nexport default Item;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { isPresetSize, isValidGapNumber } from '../_util/gapSize';\nimport { ConfigContext } from '../config-provider';\nimport Compact from './Compact';\nimport { SpaceContextProvider } from './context';\nimport Item from './Item';\nimport useStyle from './style';\nexport { SpaceContext } from './context';\nconst InternalSpace = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b, _c;\n const {\n getPrefixCls,\n space,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size = (_a = space === null || space === void 0 ? void 0 : space.size) !== null && _a !== void 0 ? _a : 'small',\n align,\n className,\n rootClassName,\n children,\n direction = 'horizontal',\n prefixCls: customizePrefixCls,\n split,\n style,\n wrap = false,\n classNames: customClassNames,\n styles\n } = props,\n otherProps = __rest(props, [\"size\", \"align\", \"className\", \"rootClassName\", \"children\", \"direction\", \"prefixCls\", \"split\", \"style\", \"wrap\", \"classNames\", \"styles\"]);\n const [horizontalSize, verticalSize] = Array.isArray(size) ? size : [size, size];\n const isPresetVerticalSize = isPresetSize(verticalSize);\n const isPresetHorizontalSize = isPresetSize(horizontalSize);\n const isValidVerticalSize = isValidGapNumber(verticalSize);\n const isValidHorizontalSize = isValidGapNumber(horizontalSize);\n const childNodes = toArray(children, {\n keepEmpty: true\n });\n const mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align;\n const prefixCls = getPrefixCls('space', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const cls = classNames(prefixCls, space === null || space === void 0 ? void 0 : space.className, hashId, `${prefixCls}-${direction}`, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-align-${mergedAlign}`]: mergedAlign,\n [`${prefixCls}-gap-row-${verticalSize}`]: isPresetVerticalSize,\n [`${prefixCls}-gap-col-${horizontalSize}`]: isPresetHorizontalSize\n }, className, rootClassName, cssVarCls);\n const itemClassName = classNames(`${prefixCls}-item`, (_b = customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.item) !== null && _b !== void 0 ? _b : (_c = space === null || space === void 0 ? void 0 : space.classNames) === null || _c === void 0 ? void 0 : _c.item);\n // Calculate latest one\n let latestIndex = 0;\n const nodes = childNodes.map((child, i) => {\n var _a, _b;\n if (child !== null && child !== undefined) {\n latestIndex = i;\n }\n const key = (child === null || child === void 0 ? void 0 : child.key) || `${itemClassName}-${i}`;\n return /*#__PURE__*/React.createElement(Item, {\n className: itemClassName,\n key: key,\n index: i,\n split: split,\n style: (_a = styles === null || styles === void 0 ? void 0 : styles.item) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.styles) === null || _b === void 0 ? void 0 : _b.item\n }, child);\n });\n const spaceContext = React.useMemo(() => ({\n latestIndex\n }), [latestIndex]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n const gapStyle = {};\n if (wrap) {\n gapStyle.flexWrap = 'wrap';\n }\n if (!isPresetHorizontalSize && isValidHorizontalSize) {\n gapStyle.columnGap = horizontalSize;\n }\n if (!isPresetVerticalSize && isValidVerticalSize) {\n gapStyle.rowGap = verticalSize;\n }\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: ref,\n className: cls,\n style: Object.assign(Object.assign(Object.assign({}, gapStyle), space === null || space === void 0 ? void 0 : space.style), style)\n }, otherProps), /*#__PURE__*/React.createElement(SpaceContextProvider, {\n value: spaceContext\n }, nodes)));\n});\nconst Space = InternalSpace;\nSpace.Compact = Compact;\nif (process.env.NODE_ENV !== 'production') {\n Space.displayName = 'Space';\n}\nexport default Space;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport classNames from 'classnames';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport Space from '../space';\nimport { useCompactItemContext } from '../space/Compact';\nimport Dropdown from './dropdown';\nconst DropdownButton = props => {\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n type = 'default',\n danger,\n disabled,\n loading,\n onClick,\n htmlType,\n children,\n className,\n menu,\n arrow,\n autoFocus,\n overlay,\n trigger,\n align,\n open,\n onOpenChange,\n placement,\n getPopupContainer,\n href,\n icon = /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n title,\n buttonsRender = buttons => buttons,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayClassName,\n overlayStyle,\n destroyPopupOnHide,\n dropdownRender\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"type\", \"danger\", \"disabled\", \"loading\", \"onClick\", \"htmlType\", \"children\", \"className\", \"menu\", \"arrow\", \"autoFocus\", \"overlay\", \"trigger\", \"align\", \"open\", \"onOpenChange\", \"placement\", \"getPopupContainer\", \"href\", \"icon\", \"title\", \"buttonsRender\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayClassName\", \"overlayStyle\", \"destroyPopupOnHide\", \"dropdownRender\"]);\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n const buttonPrefixCls = `${prefixCls}-button`;\n const dropdownProps = {\n menu,\n arrow,\n autoFocus,\n align,\n disabled,\n trigger: disabled ? [] : trigger,\n onOpenChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayClassName,\n overlayStyle,\n destroyPopupOnHide,\n dropdownRender\n };\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const classes = classNames(buttonPrefixCls, compactItemClassnames, className);\n if ('overlay' in props) {\n dropdownProps.overlay = overlay;\n }\n if ('open' in props) {\n dropdownProps.open = open;\n }\n if ('placement' in props) {\n dropdownProps.placement = placement;\n } else {\n dropdownProps.placement = direction === 'rtl' ? 'bottomLeft' : 'bottomRight';\n }\n const leftButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n danger: danger,\n disabled: disabled,\n loading: loading,\n onClick: onClick,\n htmlType: htmlType,\n href: href,\n title: title\n }, children);\n const rightButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n danger: danger,\n icon: icon\n });\n const [leftButtonToRender, rightButtonToRender] = buttonsRender([leftButton, rightButton]);\n return /*#__PURE__*/React.createElement(Space.Compact, Object.assign({\n className: classes,\n size: compactSize,\n block: true\n }, restProps), leftButtonToRender, /*#__PURE__*/React.createElement(Dropdown, Object.assign({}, dropdownProps), rightButtonToRender));\n};\nDropdownButton.__ANT_BUTTON = true;\nexport default DropdownButton;","\"use client\";\n\nimport InternalDropdown from './dropdown';\nimport DropdownButton from './dropdown-button';\nconst Dropdown = InternalDropdown;\nDropdown.Button = DropdownButton;\nexport default Dropdown;","import * as React from 'react';\nconst RadioGroupContext = /*#__PURE__*/React.createContext(null);\nexport const RadioGroupContextProvider = RadioGroupContext.Provider;\nexport default RadioGroupContext;\nexport const RadioOptionTypeContext = /*#__PURE__*/React.createContext(null);\nexport const RadioOptionTypeContextProvider = RadioOptionTypeContext.Provider;","import { unit } from '@ant-design/cssinjs';\nimport { genFocusOutline, resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\n// ============================== Styles ==============================\n// styles from RadioGroup only\nconst getGroupRadioStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const groupPrefixCls = `${componentCls}-group`;\n return {\n [groupPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-block',\n fontSize: 0,\n // RTL\n [`&${groupPrefixCls}-rtl`]: {\n direction: 'rtl'\n },\n [`&${groupPrefixCls}-block`]: {\n display: 'flex'\n },\n [`${antCls}-badge ${antCls}-badge-count`]: {\n zIndex: 1\n },\n [`> ${antCls}-badge:not(:first-child) > ${antCls}-button-wrapper`]: {\n borderInlineStart: 'none'\n }\n })\n };\n};\n// Styles from radio-wrapper\nconst getRadioBasicStyle = token => {\n const {\n componentCls,\n wrapperMarginInlineEnd,\n colorPrimary,\n radioSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOutCirc,\n colorBgContainer,\n colorBorder,\n lineWidth,\n colorBgContainerDisabled,\n colorTextDisabled,\n paddingXS,\n dotColorDisabled,\n lineType,\n radioColor,\n radioBgColor,\n calc\n } = token;\n const radioInnerPrefixCls = `${componentCls}-inner`;\n const dotPadding = 4;\n const radioDotDisabledSize = calc(radioSize).sub(calc(dotPadding).mul(2));\n const radioSizeCalc = calc(1).mul(radioSize).equal({\n unit: true\n });\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-flex',\n alignItems: 'baseline',\n marginInlineStart: 0,\n marginInlineEnd: wrapperMarginInlineEnd,\n cursor: 'pointer',\n // RTL\n [`&${componentCls}-wrapper-rtl`]: {\n direction: 'rtl'\n },\n '&-disabled': {\n cursor: 'not-allowed',\n color: token.colorTextDisabled\n },\n '&::after': {\n display: 'inline-block',\n width: 0,\n overflow: 'hidden',\n content: '\"\\\\a0\"'\n },\n '&-block': {\n flex: 1,\n justifyContent: 'center'\n },\n // hashId 在 wrapper 上,只能铺平\n [`${componentCls}-checked::after`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n width: '100%',\n height: '100%',\n border: `${unit(lineWidth)} ${lineType} ${colorPrimary}`,\n borderRadius: '50%',\n visibility: 'hidden',\n opacity: 0,\n content: '\"\"'\n },\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n display: 'inline-block',\n outline: 'none',\n cursor: 'pointer',\n alignSelf: 'center',\n borderRadius: '50%'\n }),\n [`${componentCls}-wrapper:hover &,\n &:hover ${radioInnerPrefixCls}`]: {\n borderColor: colorPrimary\n },\n [`${componentCls}-input:focus-visible + ${radioInnerPrefixCls}`]: Object.assign({}, genFocusOutline(token)),\n [`${componentCls}:hover::after, ${componentCls}-wrapper:hover &::after`]: {\n visibility: 'visible'\n },\n [`${componentCls}-inner`]: {\n '&::after': {\n boxSizing: 'border-box',\n position: 'absolute',\n insetBlockStart: '50%',\n insetInlineStart: '50%',\n display: 'block',\n width: radioSizeCalc,\n height: radioSizeCalc,\n marginBlockStart: calc(1).mul(radioSize).div(-2).equal({\n unit: true\n }),\n marginInlineStart: calc(1).mul(radioSize).div(-2).equal({\n unit: true\n }),\n backgroundColor: radioColor,\n borderBlockStart: 0,\n borderInlineStart: 0,\n borderRadius: radioSizeCalc,\n transform: 'scale(0)',\n opacity: 0,\n transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`,\n content: '\"\"'\n },\n boxSizing: 'border-box',\n position: 'relative',\n insetBlockStart: 0,\n insetInlineStart: 0,\n display: 'block',\n width: radioSizeCalc,\n height: radioSizeCalc,\n backgroundColor: colorBgContainer,\n borderColor: colorBorder,\n borderStyle: 'solid',\n borderWidth: lineWidth,\n borderRadius: '50%',\n transition: `all ${motionDurationMid}`\n },\n [`${componentCls}-input`]: {\n position: 'absolute',\n inset: 0,\n zIndex: 1,\n cursor: 'pointer',\n opacity: 0\n },\n // 选中状态\n [`${componentCls}-checked`]: {\n [radioInnerPrefixCls]: {\n borderColor: colorPrimary,\n backgroundColor: radioBgColor,\n '&::after': {\n transform: `scale(${token.calc(token.dotSize).div(radioSize).equal()})`,\n opacity: 1,\n transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`\n }\n }\n },\n [`${componentCls}-disabled`]: {\n cursor: 'not-allowed',\n [radioInnerPrefixCls]: {\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder,\n cursor: 'not-allowed',\n '&::after': {\n backgroundColor: dotColorDisabled\n }\n },\n [`${componentCls}-input`]: {\n cursor: 'not-allowed'\n },\n [`${componentCls}-disabled + span`]: {\n color: colorTextDisabled,\n cursor: 'not-allowed'\n },\n [`&${componentCls}-checked`]: {\n [radioInnerPrefixCls]: {\n '&::after': {\n transform: `scale(${calc(radioDotDisabledSize).div(radioSize).equal()})`\n }\n }\n }\n },\n [`span${componentCls} + *`]: {\n paddingInlineStart: paddingXS,\n paddingInlineEnd: paddingXS\n }\n })\n };\n};\n// Styles from radio-button\nconst getRadioButtonStyle = token => {\n const {\n buttonColor,\n controlHeight,\n componentCls,\n lineWidth,\n lineType,\n colorBorder,\n motionDurationSlow,\n motionDurationMid,\n buttonPaddingInline,\n fontSize,\n buttonBg,\n fontSizeLG,\n controlHeightLG,\n controlHeightSM,\n paddingXS,\n borderRadius,\n borderRadiusSM,\n borderRadiusLG,\n buttonCheckedBg,\n buttonSolidCheckedColor,\n colorTextDisabled,\n colorBgContainerDisabled,\n buttonCheckedBgDisabled,\n buttonCheckedColorDisabled,\n colorPrimary,\n colorPrimaryHover,\n colorPrimaryActive,\n buttonSolidCheckedBg,\n buttonSolidCheckedHoverBg,\n buttonSolidCheckedActiveBg,\n calc\n } = token;\n return {\n [`${componentCls}-button-wrapper`]: {\n position: 'relative',\n display: 'inline-block',\n height: controlHeight,\n margin: 0,\n paddingInline: buttonPaddingInline,\n paddingBlock: 0,\n color: buttonColor,\n fontSize,\n lineHeight: unit(calc(controlHeight).sub(calc(lineWidth).mul(2)).equal()),\n background: buttonBg,\n border: `${unit(lineWidth)} ${lineType} ${colorBorder}`,\n // strange align fix for chrome but works\n // https://gw.alipayobjects.com/zos/rmsportal/VFTfKXJuogBAXcvfAUWJ.gif\n borderBlockStartWidth: calc(lineWidth).add(0.02).equal(),\n borderInlineStartWidth: 0,\n borderInlineEndWidth: lineWidth,\n cursor: 'pointer',\n transition: [`color ${motionDurationMid}`, `background ${motionDurationMid}`, `box-shadow ${motionDurationMid}`].join(','),\n a: {\n color: buttonColor\n },\n [`> ${componentCls}-button`]: {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineStart: 0,\n zIndex: -1,\n width: '100%',\n height: '100%'\n },\n '&:not(:first-child)': {\n '&::before': {\n position: 'absolute',\n insetBlockStart: calc(lineWidth).mul(-1).equal(),\n insetInlineStart: calc(lineWidth).mul(-1).equal(),\n display: 'block',\n boxSizing: 'content-box',\n width: 1,\n height: '100%',\n paddingBlock: lineWidth,\n paddingInline: 0,\n backgroundColor: colorBorder,\n transition: `background-color ${motionDurationSlow}`,\n content: '\"\"'\n }\n },\n '&:first-child': {\n borderInlineStart: `${unit(lineWidth)} ${lineType} ${colorBorder}`,\n borderStartStartRadius: borderRadius,\n borderEndStartRadius: borderRadius\n },\n '&:last-child': {\n borderStartEndRadius: borderRadius,\n borderEndEndRadius: borderRadius\n },\n '&:first-child:last-child': {\n borderRadius\n },\n [`${componentCls}-group-large &`]: {\n height: controlHeightLG,\n fontSize: fontSizeLG,\n lineHeight: unit(calc(controlHeightLG).sub(calc(lineWidth).mul(2)).equal()),\n '&:first-child': {\n borderStartStartRadius: borderRadiusLG,\n borderEndStartRadius: borderRadiusLG\n },\n '&:last-child': {\n borderStartEndRadius: borderRadiusLG,\n borderEndEndRadius: borderRadiusLG\n }\n },\n [`${componentCls}-group-small &`]: {\n height: controlHeightSM,\n paddingInline: calc(paddingXS).sub(lineWidth).equal(),\n paddingBlock: 0,\n lineHeight: unit(calc(controlHeightSM).sub(calc(lineWidth).mul(2)).equal()),\n '&:first-child': {\n borderStartStartRadius: borderRadiusSM,\n borderEndStartRadius: borderRadiusSM\n },\n '&:last-child': {\n borderStartEndRadius: borderRadiusSM,\n borderEndEndRadius: borderRadiusSM\n }\n },\n '&:hover': {\n position: 'relative',\n color: colorPrimary\n },\n '&:has(:focus-visible)': Object.assign({}, genFocusOutline(token)),\n [`${componentCls}-inner, input[type='checkbox'], input[type='radio']`]: {\n width: 0,\n height: 0,\n opacity: 0,\n pointerEvents: 'none'\n },\n [`&-checked:not(${componentCls}-button-wrapper-disabled)`]: {\n zIndex: 1,\n color: colorPrimary,\n background: buttonCheckedBg,\n borderColor: colorPrimary,\n '&::before': {\n backgroundColor: colorPrimary\n },\n '&:first-child': {\n borderColor: colorPrimary\n },\n '&:hover': {\n color: colorPrimaryHover,\n borderColor: colorPrimaryHover,\n '&::before': {\n backgroundColor: colorPrimaryHover\n }\n },\n '&:active': {\n color: colorPrimaryActive,\n borderColor: colorPrimaryActive,\n '&::before': {\n backgroundColor: colorPrimaryActive\n }\n }\n },\n [`${componentCls}-group-solid &-checked:not(${componentCls}-button-wrapper-disabled)`]: {\n color: buttonSolidCheckedColor,\n background: buttonSolidCheckedBg,\n borderColor: buttonSolidCheckedBg,\n '&:hover': {\n color: buttonSolidCheckedColor,\n background: buttonSolidCheckedHoverBg,\n borderColor: buttonSolidCheckedHoverBg\n },\n '&:active': {\n color: buttonSolidCheckedColor,\n background: buttonSolidCheckedActiveBg,\n borderColor: buttonSolidCheckedActiveBg\n }\n },\n '&-disabled': {\n color: colorTextDisabled,\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder,\n cursor: 'not-allowed',\n '&:first-child, &:hover': {\n color: colorTextDisabled,\n backgroundColor: colorBgContainerDisabled,\n borderColor: colorBorder\n }\n },\n [`&-disabled${componentCls}-button-wrapper-checked`]: {\n color: buttonCheckedColorDisabled,\n backgroundColor: buttonCheckedBgDisabled,\n borderColor: colorBorder,\n boxShadow: 'none'\n },\n '&-block': {\n flex: 1,\n textAlign: 'center'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport const prepareComponentToken = token => {\n const {\n wireframe,\n padding,\n marginXS,\n lineWidth,\n fontSizeLG,\n colorText,\n colorBgContainer,\n colorTextDisabled,\n controlItemBgActiveDisabled,\n colorTextLightSolid,\n colorPrimary,\n colorPrimaryHover,\n colorPrimaryActive,\n colorWhite\n } = token;\n const dotPadding = 4; // Fixed value\n const radioSize = fontSizeLG;\n const radioDotSize = wireframe ? radioSize - dotPadding * 2 : radioSize - (dotPadding + lineWidth) * 2;\n return {\n // Radio\n radioSize,\n dotSize: radioDotSize,\n dotColorDisabled: colorTextDisabled,\n // Radio buttons\n buttonSolidCheckedColor: colorTextLightSolid,\n buttonSolidCheckedBg: colorPrimary,\n buttonSolidCheckedHoverBg: colorPrimaryHover,\n buttonSolidCheckedActiveBg: colorPrimaryActive,\n buttonBg: colorBgContainer,\n buttonCheckedBg: colorBgContainer,\n buttonColor: colorText,\n buttonCheckedBgDisabled: controlItemBgActiveDisabled,\n buttonCheckedColorDisabled: colorTextDisabled,\n buttonPaddingInline: padding - lineWidth,\n wrapperMarginInlineEnd: marginXS,\n // internal\n radioColor: wireframe ? colorPrimary : colorWhite,\n radioBgColor: wireframe ? colorBgContainer : colorPrimary\n };\n};\nexport default genStyleHooks('Radio', token => {\n const {\n controlOutline,\n controlOutlineWidth\n } = token;\n const radioFocusShadow = `0 0 0 ${unit(controlOutlineWidth)} ${controlOutline}`;\n const radioButtonFocusShadow = radioFocusShadow;\n const radioToken = mergeToken(token, {\n radioFocusShadow,\n radioButtonFocusShadow\n });\n return [getGroupRadioStyle(radioToken), getRadioBasicStyle(radioToken), getRadioButtonStyle(radioToken)];\n}, prepareComponentToken, {\n unitless: {\n radioSize: true,\n dotSize: true\n }\n});","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcCheckbox from 'rc-checkbox';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { TARGET_CLS } from '../_util/wave/interface';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport { FormItemInputContext } from '../form/context';\nimport RadioGroupContext, { RadioOptionTypeContext } from './context';\nimport useStyle from './style';\nconst InternalRadio = (props, ref) => {\n var _a, _b;\n const groupContext = React.useContext(RadioGroupContext);\n const radioOptionTypeContext = React.useContext(RadioOptionTypeContext);\n const {\n getPrefixCls,\n direction,\n radio\n } = React.useContext(ConfigContext);\n const innerRef = React.useRef(null);\n const mergedRef = composeRef(ref, innerRef);\n const {\n isFormItemInput\n } = React.useContext(FormItemInputContext);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Radio');\n process.env.NODE_ENV !== \"production\" ? warning(!('optionType' in props), 'usage', '`optionType` is only support in Radio.Group.') : void 0;\n }\n const onChange = e => {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, e);\n (_b = groupContext === null || groupContext === void 0 ? void 0 : groupContext.onChange) === null || _b === void 0 ? void 0 : _b.call(groupContext, e);\n };\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children,\n style,\n title\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"children\", \"style\", \"title\"]);\n const radioPrefixCls = getPrefixCls('radio', customizePrefixCls);\n const isButtonType = ((groupContext === null || groupContext === void 0 ? void 0 : groupContext.optionType) || radioOptionTypeContext) === 'button';\n const prefixCls = isButtonType ? `${radioPrefixCls}-button` : radioPrefixCls;\n // Style\n const rootCls = useCSSVarCls(radioPrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(radioPrefixCls, rootCls);\n const radioProps = Object.assign({}, restProps);\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n if (groupContext) {\n radioProps.name = groupContext.name;\n radioProps.onChange = onChange;\n radioProps.checked = props.value === groupContext.value;\n radioProps.disabled = (_a = radioProps.disabled) !== null && _a !== void 0 ? _a : groupContext.disabled;\n }\n radioProps.disabled = (_b = radioProps.disabled) !== null && _b !== void 0 ? _b : disabled;\n const wrapperClassString = classNames(`${prefixCls}-wrapper`, {\n [`${prefixCls}-wrapper-checked`]: radioProps.checked,\n [`${prefixCls}-wrapper-disabled`]: radioProps.disabled,\n [`${prefixCls}-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-wrapper-in-form-item`]: isFormItemInput,\n [`${prefixCls}-wrapper-block`]: !!(groupContext === null || groupContext === void 0 ? void 0 : groupContext.block)\n }, radio === null || radio === void 0 ? void 0 : radio.className, className, rootClassName, hashId, cssVarCls, rootCls);\n return wrapCSSVar(/*#__PURE__*/React.createElement(Wave, {\n component: \"Radio\",\n disabled: radioProps.disabled\n }, /*#__PURE__*/React.createElement(\"label\", {\n className: wrapperClassString,\n style: Object.assign(Object.assign({}, radio === null || radio === void 0 ? void 0 : radio.style), style),\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n title: title\n }, /*#__PURE__*/React.createElement(RcCheckbox, Object.assign({}, radioProps, {\n className: classNames(radioProps.className, {\n [TARGET_CLS]: !isButtonType\n }),\n type: \"radio\",\n prefixCls: prefixCls,\n ref: mergedRef\n })), children !== undefined ? /*#__PURE__*/React.createElement(\"span\", null, children) : null)));\n};\nconst Radio = /*#__PURE__*/React.forwardRef(InternalRadio);\nif (process.env.NODE_ENV !== 'production') {\n Radio.displayName = 'Radio';\n}\nexport default Radio;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useSize from '../config-provider/hooks/useSize';\nimport { RadioGroupContextProvider } from './context';\nimport Radio from './radio';\nimport useStyle from './style';\nconst RadioGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n options,\n buttonStyle = 'outline',\n disabled,\n children,\n size: customizeSize,\n style,\n id,\n optionType,\n name,\n defaultValue,\n value: customizedValue,\n block = false,\n onChange,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur\n } = props;\n const [value, setValue] = useMergedState(defaultValue, {\n value: customizedValue\n });\n const onRadioChange = React.useCallback(event => {\n const lastValue = value;\n const val = event.target.value;\n if (!('value' in props)) {\n setValue(val);\n }\n if (val !== lastValue) {\n onChange === null || onChange === void 0 ? void 0 : onChange(event);\n }\n }, [value, setValue, onChange]);\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n const groupPrefixCls = `${prefixCls}-group`;\n // Style\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n let childrenToRender = children;\n // 如果存在 options, 优先使用\n if (options && options.length > 0) {\n childrenToRender = options.map(option => {\n if (typeof option === 'string' || typeof option === 'number') {\n // 此处类型自动推导为 string\n return /*#__PURE__*/React.createElement(Radio, {\n key: option.toString(),\n prefixCls: prefixCls,\n disabled: disabled,\n value: option,\n checked: value === option\n }, option);\n }\n // 此处类型自动推导为 { label: string value: string }\n return /*#__PURE__*/React.createElement(Radio, {\n key: `radio-group-value-options-${option.value}`,\n prefixCls: prefixCls,\n disabled: option.disabled || disabled,\n value: option.value,\n checked: value === option.value,\n title: option.title,\n style: option.style,\n id: option.id,\n required: option.required\n }, option.label);\n });\n }\n const mergedSize = useSize(customizeSize);\n const classString = classNames(groupPrefixCls, `${groupPrefixCls}-${buttonStyle}`, {\n [`${groupPrefixCls}-${mergedSize}`]: mergedSize,\n [`${groupPrefixCls}-rtl`]: direction === 'rtl',\n [`${groupPrefixCls}-block`]: block\n }, className, rootClassName, hashId, cssVarCls, rootCls);\n const memoizedValue = React.useMemo(() => ({\n onChange: onRadioChange,\n value,\n disabled,\n name,\n optionType,\n block\n }), [onRadioChange, value, disabled, name, optionType, block]);\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({}, pickAttrs(props, {\n aria: true,\n data: true\n }), {\n className: classString,\n style: style,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onFocus: onFocus,\n onBlur: onBlur,\n id: id,\n ref: ref\n }), /*#__PURE__*/React.createElement(RadioGroupContextProvider, {\n value: memoizedValue\n }, childrenToRender)));\n});\nexport default /*#__PURE__*/React.memo(RadioGroup);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { RadioOptionTypeContextProvider } from './context';\nimport Radio from './radio';\nconst RadioButton = (props, ref) => {\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls\n } = props,\n radioProps = __rest(props, [\"prefixCls\"]);\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n return /*#__PURE__*/React.createElement(RadioOptionTypeContextProvider, {\n value: \"button\"\n }, /*#__PURE__*/React.createElement(Radio, Object.assign({\n prefixCls: prefixCls\n }, radioProps, {\n type: \"radio\",\n ref: ref\n })));\n};\nexport default /*#__PURE__*/React.forwardRef(RadioButton);","\"use client\";\n\nimport Group from './group';\nimport InternalRadio from './radio';\nimport Button from './radioButton';\nexport { Button, Group };\nconst Radio = InternalRadio;\nRadio.Button = Button;\nRadio.Group = Group;\nRadio.__ANT_RADIO = true;\nexport default Radio;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { useCallback, useMemo } from 'react';\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport classNames from 'classnames';\nimport { INTERNAL_COL_DEFINE } from 'rc-table';\nimport { arrAdd, arrDel } from \"rc-tree/es/util\";\nimport { conductCheck } from \"rc-tree/es/utils/conductUtil\";\nimport { convertDataToEntities } from \"rc-tree/es/utils/treeUtil\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport useMultipleSelect from '../../_util/hooks/useMultipleSelect';\nimport { devUseWarning } from '../../_util/warning';\nimport Checkbox from '../../checkbox';\nimport Dropdown from '../../dropdown';\nimport Radio from '../../radio';\n// TODO: warning if use ajax!!!\nexport const SELECTION_COLUMN = {};\nexport const SELECTION_ALL = 'SELECT_ALL';\nexport const SELECTION_INVERT = 'SELECT_INVERT';\nexport const SELECTION_NONE = 'SELECT_NONE';\nconst EMPTY_LIST = [];\nconst flattenData = (childrenColumnName, data) => {\n let list = [];\n (data || []).forEach(record => {\n list.push(record);\n if (record && typeof record === 'object' && childrenColumnName in record) {\n list = [].concat(_toConsumableArray(list), _toConsumableArray(flattenData(childrenColumnName, record[childrenColumnName])));\n }\n });\n return list;\n};\nconst useSelection = (config, rowSelection) => {\n const {\n preserveSelectedRowKeys,\n selectedRowKeys,\n defaultSelectedRowKeys,\n getCheckboxProps,\n onChange: onSelectionChange,\n onSelect,\n onSelectAll,\n onSelectInvert,\n onSelectNone,\n onSelectMultiple,\n columnWidth: selectionColWidth,\n type: selectionType,\n selections,\n fixed,\n renderCell: customizeRenderCell,\n hideSelectAll,\n checkStrictly = true\n } = rowSelection || {};\n const {\n prefixCls,\n data,\n pageData,\n getRecordByKey,\n getRowKey,\n expandType,\n childrenColumnName,\n locale: tableLocale,\n getPopupContainer\n } = config;\n const warning = devUseWarning('Table');\n // ========================= MultipleSelect =========================\n const [multipleSelect, updatePrevSelectedIndex] = useMultipleSelect(item => item);\n // ========================= Keys =========================\n const [mergedSelectedKeys, setMergedSelectedKeys] = useMergedState(selectedRowKeys || defaultSelectedRowKeys || EMPTY_LIST, {\n value: selectedRowKeys\n });\n // ======================== Caches ========================\n const preserveRecordsRef = React.useRef(new Map());\n const updatePreserveRecordsCache = useCallback(keys => {\n if (preserveSelectedRowKeys) {\n const newCache = new Map();\n // Keep key if mark as preserveSelectedRowKeys\n keys.forEach(key => {\n let record = getRecordByKey(key);\n if (!record && preserveRecordsRef.current.has(key)) {\n record = preserveRecordsRef.current.get(key);\n }\n newCache.set(key, record);\n });\n // Refresh to new cache\n preserveRecordsRef.current = newCache;\n }\n }, [getRecordByKey, preserveSelectedRowKeys]);\n // Update cache with selectedKeys\n React.useEffect(() => {\n updatePreserveRecordsCache(mergedSelectedKeys);\n }, [mergedSelectedKeys]);\n // Get flatten data\n const flattedData = useMemo(() => flattenData(childrenColumnName, pageData), [childrenColumnName, pageData]);\n const {\n keyEntities\n } = useMemo(() => {\n if (checkStrictly) {\n return {\n keyEntities: null\n };\n }\n let convertData = data;\n if (preserveSelectedRowKeys) {\n // use flattedData keys\n const keysSet = new Set(flattedData.map((record, index) => getRowKey(record, index)));\n // remove preserveRecords that duplicate data\n const preserveRecords = Array.from(preserveRecordsRef.current).reduce((total, _ref) => {\n let [key, value] = _ref;\n return keysSet.has(key) ? total : total.concat(value);\n }, []);\n convertData = [].concat(_toConsumableArray(convertData), _toConsumableArray(preserveRecords));\n }\n return convertDataToEntities(convertData, {\n externalGetKey: getRowKey,\n childrenPropName: childrenColumnName\n });\n }, [data, getRowKey, checkStrictly, childrenColumnName, preserveSelectedRowKeys, flattedData]);\n // Get all checkbox props\n const checkboxPropsMap = useMemo(() => {\n const map = new Map();\n flattedData.forEach((record, index) => {\n const key = getRowKey(record, index);\n const checkboxProps = (getCheckboxProps ? getCheckboxProps(record) : null) || {};\n map.set(key, checkboxProps);\n process.env.NODE_ENV !== \"production\" ? warning(!('checked' in checkboxProps || 'defaultChecked' in checkboxProps), 'usage', 'Do not set `checked` or `defaultChecked` in `getCheckboxProps`. Please use `selectedRowKeys` instead.') : void 0;\n });\n return map;\n }, [flattedData, getRowKey, getCheckboxProps]);\n const isCheckboxDisabled = useCallback(r => {\n var _a;\n return !!((_a = checkboxPropsMap.get(getRowKey(r))) === null || _a === void 0 ? void 0 : _a.disabled);\n }, [checkboxPropsMap, getRowKey]);\n const [derivedSelectedKeys, derivedHalfSelectedKeys] = useMemo(() => {\n if (checkStrictly) {\n return [mergedSelectedKeys || [], []];\n }\n const {\n checkedKeys,\n halfCheckedKeys\n } = conductCheck(mergedSelectedKeys, true, keyEntities, isCheckboxDisabled);\n return [checkedKeys || [], halfCheckedKeys];\n }, [mergedSelectedKeys, checkStrictly, keyEntities, isCheckboxDisabled]);\n const derivedSelectedKeySet = useMemo(() => {\n const keys = selectionType === 'radio' ? derivedSelectedKeys.slice(0, 1) : derivedSelectedKeys;\n return new Set(keys);\n }, [derivedSelectedKeys, selectionType]);\n const derivedHalfSelectedKeySet = useMemo(() => selectionType === 'radio' ? new Set() : new Set(derivedHalfSelectedKeys), [derivedHalfSelectedKeys, selectionType]);\n // Reset if rowSelection reset\n React.useEffect(() => {\n if (!rowSelection) {\n setMergedSelectedKeys(EMPTY_LIST);\n }\n }, [!!rowSelection]);\n const setSelectedKeys = useCallback((keys, method) => {\n let availableKeys;\n let records;\n updatePreserveRecordsCache(keys);\n if (preserveSelectedRowKeys) {\n availableKeys = keys;\n records = keys.map(key => preserveRecordsRef.current.get(key));\n } else {\n // Filter key which not exist in the `dataSource`\n availableKeys = [];\n records = [];\n keys.forEach(key => {\n const record = getRecordByKey(key);\n if (record !== undefined) {\n availableKeys.push(key);\n records.push(record);\n }\n });\n }\n setMergedSelectedKeys(availableKeys);\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(availableKeys, records, {\n type: method\n });\n }, [setMergedSelectedKeys, getRecordByKey, onSelectionChange, preserveSelectedRowKeys]);\n // ====================== Selections ======================\n // Trigger single `onSelect` event\n const triggerSingleSelection = useCallback((key, selected, keys, event) => {\n if (onSelect) {\n const rows = keys.map(k => getRecordByKey(k));\n onSelect(getRecordByKey(key), selected, rows, event);\n }\n setSelectedKeys(keys, 'single');\n }, [onSelect, getRecordByKey, setSelectedKeys]);\n const mergedSelections = useMemo(() => {\n if (!selections || hideSelectAll) {\n return null;\n }\n const selectionList = selections === true ? [SELECTION_ALL, SELECTION_INVERT, SELECTION_NONE] : selections;\n return selectionList.map(selection => {\n if (selection === SELECTION_ALL) {\n return {\n key: 'all',\n text: tableLocale.selectionAll,\n onSelect() {\n setSelectedKeys(data.map((record, index) => getRowKey(record, index)).filter(key => {\n const checkProps = checkboxPropsMap.get(key);\n return !(checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled) || derivedSelectedKeySet.has(key);\n }), 'all');\n }\n };\n }\n if (selection === SELECTION_INVERT) {\n return {\n key: 'invert',\n text: tableLocale.selectInvert,\n onSelect() {\n const keySet = new Set(derivedSelectedKeySet);\n pageData.forEach((record, index) => {\n const key = getRowKey(record, index);\n const checkProps = checkboxPropsMap.get(key);\n if (!(checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled)) {\n if (keySet.has(key)) {\n keySet.delete(key);\n } else {\n keySet.add(key);\n }\n }\n });\n const keys = Array.from(keySet);\n if (onSelectInvert) {\n warning.deprecated(false, 'onSelectInvert', 'onChange');\n onSelectInvert(keys);\n }\n setSelectedKeys(keys, 'invert');\n }\n };\n }\n if (selection === SELECTION_NONE) {\n return {\n key: 'none',\n text: tableLocale.selectNone,\n onSelect() {\n onSelectNone === null || onSelectNone === void 0 ? void 0 : onSelectNone();\n setSelectedKeys(Array.from(derivedSelectedKeySet).filter(key => {\n const checkProps = checkboxPropsMap.get(key);\n return checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled;\n }), 'none');\n }\n };\n }\n return selection;\n }).map(selection => Object.assign(Object.assign({}, selection), {\n onSelect: function () {\n var _a2;\n var _a;\n for (var _len = arguments.length, rest = new Array(_len), _key = 0; _key < _len; _key++) {\n rest[_key] = arguments[_key];\n }\n (_a = selection.onSelect) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [selection].concat(rest));\n updatePrevSelectedIndex(null);\n }\n }));\n }, [selections, derivedSelectedKeySet, pageData, getRowKey, onSelectInvert, setSelectedKeys]);\n // ======================= Columns ========================\n const transformColumns = useCallback(columns => {\n var _a;\n // >>>>>>>>>>> Skip if not exists `rowSelection`\n if (!rowSelection) {\n process.env.NODE_ENV !== \"production\" ? warning(!columns.includes(SELECTION_COLUMN), 'usage', '`rowSelection` is not config but `SELECTION_COLUMN` exists in the `columns`.') : void 0;\n return columns.filter(col => col !== SELECTION_COLUMN);\n }\n // >>>>>>>>>>> Support selection\n let cloneColumns = _toConsumableArray(columns);\n const keySet = new Set(derivedSelectedKeySet);\n // Record key only need check with enabled\n const recordKeys = flattedData.map(getRowKey).filter(key => !checkboxPropsMap.get(key).disabled);\n const checkedCurrentAll = recordKeys.every(key => keySet.has(key));\n const checkedCurrentSome = recordKeys.some(key => keySet.has(key));\n const onSelectAllChange = () => {\n const changeKeys = [];\n if (checkedCurrentAll) {\n recordKeys.forEach(key => {\n keySet.delete(key);\n changeKeys.push(key);\n });\n } else {\n recordKeys.forEach(key => {\n if (!keySet.has(key)) {\n keySet.add(key);\n changeKeys.push(key);\n }\n });\n }\n const keys = Array.from(keySet);\n onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(!checkedCurrentAll, keys.map(k => getRecordByKey(k)), changeKeys.map(k => getRecordByKey(k)));\n setSelectedKeys(keys, 'all');\n updatePrevSelectedIndex(null);\n };\n // ===================== Render =====================\n // Title Cell\n let title;\n let columnTitleCheckbox;\n if (selectionType !== 'radio') {\n let customizeSelections;\n if (mergedSelections) {\n const menu = {\n getPopupContainer,\n items: mergedSelections.map((selection, index) => {\n const {\n key,\n text,\n onSelect: onSelectionClick\n } = selection;\n return {\n key: key !== null && key !== void 0 ? key : index,\n onClick: () => {\n onSelectionClick === null || onSelectionClick === void 0 ? void 0 : onSelectionClick(recordKeys);\n },\n label: text\n };\n })\n };\n customizeSelections = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-selection-extra`\n }, /*#__PURE__*/React.createElement(Dropdown, {\n menu: menu,\n getPopupContainer: getPopupContainer\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(DownOutlined, null))));\n }\n const allDisabledData = flattedData.map((record, index) => {\n const key = getRowKey(record, index);\n const checkboxProps = checkboxPropsMap.get(key) || {};\n return Object.assign({\n checked: keySet.has(key)\n }, checkboxProps);\n }).filter(_ref2 => {\n let {\n disabled\n } = _ref2;\n return disabled;\n });\n const allDisabled = !!allDisabledData.length && allDisabledData.length === flattedData.length;\n const allDisabledAndChecked = allDisabled && allDisabledData.every(_ref3 => {\n let {\n checked\n } = _ref3;\n return checked;\n });\n const allDisabledSomeChecked = allDisabled && allDisabledData.some(_ref4 => {\n let {\n checked\n } = _ref4;\n return checked;\n });\n columnTitleCheckbox = /*#__PURE__*/React.createElement(Checkbox, {\n checked: !allDisabled ? !!flattedData.length && checkedCurrentAll : allDisabledAndChecked,\n indeterminate: !allDisabled ? !checkedCurrentAll && checkedCurrentSome : !allDisabledAndChecked && allDisabledSomeChecked,\n onChange: onSelectAllChange,\n disabled: flattedData.length === 0 || allDisabled,\n \"aria-label\": customizeSelections ? 'Custom selection' : 'Select all',\n skipGroup: true\n });\n title = !hideSelectAll && (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-selection`\n }, columnTitleCheckbox, customizeSelections));\n }\n // Body Cell\n let renderCell;\n if (selectionType === 'radio') {\n renderCell = (_, record, index) => {\n const key = getRowKey(record, index);\n const checked = keySet.has(key);\n return {\n node: (/*#__PURE__*/React.createElement(Radio, Object.assign({}, checkboxPropsMap.get(key), {\n checked: checked,\n onClick: e => e.stopPropagation(),\n onChange: event => {\n if (!keySet.has(key)) {\n triggerSingleSelection(key, true, [key], event.nativeEvent);\n }\n }\n }))),\n checked\n };\n };\n } else {\n renderCell = (_, record, index) => {\n var _a;\n const key = getRowKey(record, index);\n const checked = keySet.has(key);\n const indeterminate = derivedHalfSelectedKeySet.has(key);\n const checkboxProps = checkboxPropsMap.get(key);\n let mergedIndeterminate;\n if (expandType === 'nest') {\n mergedIndeterminate = indeterminate;\n process.env.NODE_ENV !== \"production\" ? warning(typeof (checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== 'boolean', 'usage', 'set `indeterminate` using `rowSelection.getCheckboxProps` is not allowed with tree structured dataSource.') : void 0;\n } else {\n mergedIndeterminate = (_a = checkboxProps === null || checkboxProps === void 0 ? void 0 : checkboxProps.indeterminate) !== null && _a !== void 0 ? _a : indeterminate;\n }\n // Record checked\n return {\n node: (/*#__PURE__*/React.createElement(Checkbox, Object.assign({}, checkboxProps, {\n indeterminate: mergedIndeterminate,\n checked: checked,\n skipGroup: true,\n onClick: e => e.stopPropagation(),\n onChange: _ref5 => {\n let {\n nativeEvent\n } = _ref5;\n const {\n shiftKey\n } = nativeEvent;\n const currentSelectedIndex = recordKeys.findIndex(item => item === key);\n const isMultiple = derivedSelectedKeys.some(item => recordKeys.includes(item));\n if (shiftKey && checkStrictly && isMultiple) {\n const changedKeys = multipleSelect(currentSelectedIndex, recordKeys, keySet);\n const keys = Array.from(keySet);\n onSelectMultiple === null || onSelectMultiple === void 0 ? void 0 : onSelectMultiple(!checked, keys.map(recordKey => getRecordByKey(recordKey)), changedKeys.map(recordKey => getRecordByKey(recordKey)));\n setSelectedKeys(keys, 'multiple');\n } else {\n // Single record selected\n const originCheckedKeys = derivedSelectedKeys;\n if (checkStrictly) {\n const checkedKeys = checked ? arrDel(originCheckedKeys, key) : arrAdd(originCheckedKeys, key);\n triggerSingleSelection(key, !checked, checkedKeys, nativeEvent);\n } else {\n // Always fill first\n const result = conductCheck([].concat(_toConsumableArray(originCheckedKeys), [key]), true, keyEntities, isCheckboxDisabled);\n const {\n checkedKeys,\n halfCheckedKeys\n } = result;\n let nextCheckedKeys = checkedKeys;\n // If remove, we do it again to correction\n if (checked) {\n const tempKeySet = new Set(checkedKeys);\n tempKeySet.delete(key);\n nextCheckedKeys = conductCheck(Array.from(tempKeySet), {\n checked: false,\n halfCheckedKeys\n }, keyEntities, isCheckboxDisabled).checkedKeys;\n }\n triggerSingleSelection(key, !checked, nextCheckedKeys, nativeEvent);\n }\n }\n if (checked) {\n updatePrevSelectedIndex(null);\n } else {\n updatePrevSelectedIndex(currentSelectedIndex);\n }\n }\n }))),\n checked\n };\n };\n }\n const renderSelectionCell = (_, record, index) => {\n const {\n node,\n checked\n } = renderCell(_, record, index);\n if (customizeRenderCell) {\n return customizeRenderCell(checked, record, index, node);\n }\n return node;\n };\n // Insert selection column if not exist\n if (!cloneColumns.includes(SELECTION_COLUMN)) {\n // Always after expand icon\n if (cloneColumns.findIndex(col => {\n var _a;\n return ((_a = col[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN';\n }) === 0) {\n const [expandColumn, ...restColumns] = cloneColumns;\n cloneColumns = [expandColumn, SELECTION_COLUMN].concat(_toConsumableArray(restColumns));\n } else {\n // Normal insert at first column\n cloneColumns = [SELECTION_COLUMN].concat(_toConsumableArray(cloneColumns));\n }\n }\n // Deduplicate selection column\n const selectionColumnIndex = cloneColumns.indexOf(SELECTION_COLUMN);\n process.env.NODE_ENV !== \"production\" ? warning(cloneColumns.filter(col => col === SELECTION_COLUMN).length <= 1, 'usage', 'Multiple `SELECTION_COLUMN` exist in `columns`.') : void 0;\n cloneColumns = cloneColumns.filter((column, index) => column !== SELECTION_COLUMN || index === selectionColumnIndex);\n // Fixed column logic\n const prevCol = cloneColumns[selectionColumnIndex - 1];\n const nextCol = cloneColumns[selectionColumnIndex + 1];\n let mergedFixed = fixed;\n if (mergedFixed === undefined) {\n if ((nextCol === null || nextCol === void 0 ? void 0 : nextCol.fixed) !== undefined) {\n mergedFixed = nextCol.fixed;\n } else if ((prevCol === null || prevCol === void 0 ? void 0 : prevCol.fixed) !== undefined) {\n mergedFixed = prevCol.fixed;\n }\n }\n if (mergedFixed && prevCol && ((_a = prevCol[INTERNAL_COL_DEFINE]) === null || _a === void 0 ? void 0 : _a.columnType) === 'EXPAND_COLUMN' && prevCol.fixed === undefined) {\n prevCol.fixed = mergedFixed;\n }\n const columnCls = classNames(`${prefixCls}-selection-col`, {\n [`${prefixCls}-selection-col-with-dropdown`]: selections && selectionType === 'checkbox'\n });\n const renderColumnTitle = () => {\n if (!(rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.columnTitle)) {\n return title;\n }\n if (typeof rowSelection.columnTitle === 'function') {\n return rowSelection.columnTitle(columnTitleCheckbox);\n }\n return rowSelection.columnTitle;\n };\n // Replace with real selection column\n const selectionColumn = {\n fixed: mergedFixed,\n width: selectionColWidth,\n className: `${prefixCls}-selection-column`,\n title: renderColumnTitle(),\n render: renderSelectionCell,\n onCell: rowSelection.onCell,\n [INTERNAL_COL_DEFINE]: {\n className: columnCls\n }\n };\n return cloneColumns.map(col => col === SELECTION_COLUMN ? selectionColumn : col);\n }, [getRowKey, flattedData, rowSelection, derivedSelectedKeys, derivedSelectedKeySet, derivedHalfSelectedKeySet, selectionColWidth, mergedSelections, expandType, checkboxPropsMap, onSelectMultiple, triggerSingleSelection, isCheckboxDisabled]);\n return [transformColumns, derivedSelectedKeySet];\n};\nexport default useSelection;","export function isWindow(obj) {\n return obj !== null && obj !== undefined && obj === obj.window;\n}\nconst getScroll = target => {\n var _a, _b;\n if (typeof window === 'undefined') {\n return 0;\n }\n let result = 0;\n if (isWindow(target)) {\n result = target.pageYOffset;\n } else if (target instanceof Document) {\n result = target.documentElement.scrollTop;\n } else if (target instanceof HTMLElement) {\n result = target.scrollTop;\n } else if (target) {\n // According to the type inference, the `target` is `never` type.\n // Since we configured the loose mode type checking, and supports mocking the target with such shape below::\n // `{ documentElement: { scrollLeft: 200, scrollTop: 400 } }`,\n // the program may falls into this branch.\n // Check the corresponding tests for details. Don't sure what is the real scenario this happens.\n /* biome-ignore lint/complexity/useLiteralKeys: target is a never type */ /* eslint-disable-next-line dot-notation */\n result = target['scrollTop'];\n }\n if (target && !isWindow(target) && typeof result !== 'number') {\n result = (_b = ((_a = target.ownerDocument) !== null && _a !== void 0 ? _a : target).documentElement) === null || _b === void 0 ? void 0 : _b.scrollTop;\n }\n return result;\n};\nexport default getScroll;","import * as React from 'react';\nexport default function useForceUpdate() {\n const [, forceUpdate] = React.useReducer(x => x + 1, 0);\n return forceUpdate;\n}","import React from 'react';\nimport { useToken } from '../theme/internal';\nexport const responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nconst getResponsiveMap = token => ({\n xs: `(max-width: ${token.screenXSMax}px)`,\n sm: `(min-width: ${token.screenSM}px)`,\n md: `(min-width: ${token.screenMD}px)`,\n lg: `(min-width: ${token.screenLG}px)`,\n xl: `(min-width: ${token.screenXL}px)`,\n xxl: `(min-width: ${token.screenXXL}px)`\n});\n/**\n * Ensures that the breakpoints token are valid, in good order\n * For each breakpoint : screenMin <= screen <= screenMax and screenMax <= nextScreenMin\n */\nconst validateBreakpoints = token => {\n const indexableToken = token;\n const revBreakpoints = [].concat(responsiveArray).reverse();\n revBreakpoints.forEach((breakpoint, i) => {\n const breakpointUpper = breakpoint.toUpperCase();\n const screenMin = `screen${breakpointUpper}Min`;\n const screen = `screen${breakpointUpper}`;\n if (!(indexableToken[screenMin] <= indexableToken[screen])) {\n throw new Error(`${screenMin}<=${screen} fails : !(${indexableToken[screenMin]}<=${indexableToken[screen]})`);\n }\n if (i < revBreakpoints.length - 1) {\n const screenMax = `screen${breakpointUpper}Max`;\n if (!(indexableToken[screen] <= indexableToken[screenMax])) {\n throw new Error(`${screen}<=${screenMax} fails : !(${indexableToken[screen]}<=${indexableToken[screenMax]})`);\n }\n const nextBreakpointUpperMin = revBreakpoints[i + 1].toUpperCase();\n const nextScreenMin = `screen${nextBreakpointUpperMin}Min`;\n if (!(indexableToken[screenMax] <= indexableToken[nextScreenMin])) {\n throw new Error(`${screenMax}<=${nextScreenMin} fails : !(${indexableToken[screenMax]}<=${indexableToken[nextScreenMin]})`);\n }\n }\n });\n return token;\n};\nexport default function useResponsiveObserver() {\n const [, token] = useToken();\n const responsiveMap = getResponsiveMap(validateBreakpoints(token));\n // To avoid repeat create instance, we add `useMemo` here.\n return React.useMemo(() => {\n const subscribers = new Map();\n let subUid = -1;\n let screens = {};\n return {\n matchHandlers: {},\n dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(func => func(screens));\n return subscribers.size >= 1;\n },\n subscribe(func) {\n if (!subscribers.size) this.register();\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe(paramToken) {\n subscribers.delete(paramToken);\n if (!subscribers.size) this.unregister();\n },\n unregister() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const handler = this.matchHandlers[matchMediaQuery];\n handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n },\n register() {\n Object.keys(responsiveMap).forEach(screen => {\n const matchMediaQuery = responsiveMap[screen];\n const listener = _ref => {\n let {\n matches\n } = _ref;\n this.dispatch(Object.assign(Object.assign({}, screens), {\n [screen]: matches\n }));\n };\n const mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n this.matchHandlers[matchMediaQuery] = {\n mql,\n listener\n };\n listener(mql);\n });\n },\n responsiveMap\n };\n }, [token]);\n}\nexport const matchScreen = (screens, screenSizes) => {\n if (screenSizes && typeof screenSizes === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (screens[breakpoint] && screenSizes[breakpoint] !== undefined) {\n return screenSizes[breakpoint];\n }\n }\n }\n};","\"use client\";\n\nimport { useRef } from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\nimport useResponsiveObserver from '../../_util/responsiveObserver';\nfunction useBreakpoint() {\n let refreshOnChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n const screensRef = useRef({});\n const forceUpdate = useForceUpdate();\n const responsiveObserver = useResponsiveObserver();\n useLayoutEffect(() => {\n const token = responsiveObserver.subscribe(supportScreens => {\n screensRef.current = supportScreens;\n if (refreshOnChange) {\n forceUpdate();\n }\n });\n return () => responsiveObserver.unsubscribe(token);\n }, []);\n return screensRef.current;\n}\nexport default useBreakpoint;","// This icon file is generated automatically.\nvar DoubleLeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z\" } }] }, \"name\": \"double-left\", \"theme\": \"outlined\" };\nexport default DoubleLeftOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DoubleLeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/DoubleLeftOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar DoubleLeftOutlined = function DoubleLeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DoubleLeftOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(DoubleLeftOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'DoubleLeftOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar DoubleRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z\" } }] }, \"name\": \"double-right\", \"theme\": \"outlined\" };\nexport default DoubleRightOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DoubleRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/DoubleRightOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar DoubleRightOutlined = function DoubleRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DoubleRightOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(DoubleRightOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'DoubleRightOutlined';\n}\nexport default RefIcon;","var locale = {\n // Options\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n // Pagination\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页',\n page_size: '页码'\n};\nexport default locale;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport KEYCODE from \"rc-util/es/KeyCode\";\nimport classNames from 'classnames';\nimport React from 'react';\nvar defaultPageSizeOptions = ['10', '20', '50', '100'];\nvar Options = function Options(props) {\n var _props$pageSizeOption = props.pageSizeOptions,\n pageSizeOptions = _props$pageSizeOption === void 0 ? defaultPageSizeOptions : _props$pageSizeOption,\n locale = props.locale,\n changeSize = props.changeSize,\n pageSize = props.pageSize,\n goButton = props.goButton,\n quickGo = props.quickGo,\n rootPrefixCls = props.rootPrefixCls,\n Select = props.selectComponentClass,\n selectPrefixCls = props.selectPrefixCls,\n disabled = props.disabled,\n buildOptionText = props.buildOptionText,\n showSizeChanger = props.showSizeChanger;\n var _React$useState = React.useState(''),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n goInputText = _React$useState2[0],\n setGoInputText = _React$useState2[1];\n var getValidValue = function getValidValue() {\n return !goInputText || Number.isNaN(goInputText) ? undefined : Number(goInputText);\n };\n var mergeBuildOptionText = typeof buildOptionText === 'function' ? buildOptionText : function (value) {\n return \"\".concat(value, \" \").concat(locale.items_per_page);\n };\n var changeSizeHandle = function changeSizeHandle(value, option) {\n changeSize === null || changeSize === void 0 || changeSize(Number(value));\n if (_typeof(showSizeChanger) === 'object') {\n var _showSizeChanger$onCh;\n (_showSizeChanger$onCh = showSizeChanger.onChange) === null || _showSizeChanger$onCh === void 0 || _showSizeChanger$onCh.call(showSizeChanger, value, option);\n }\n };\n var handleChange = function handleChange(e) {\n setGoInputText(e.target.value);\n };\n var handleBlur = function handleBlur(e) {\n if (goButton || goInputText === '') {\n return;\n }\n setGoInputText('');\n if (e.relatedTarget && (e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item-link\")) >= 0 || e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-item\")) >= 0)) {\n return;\n }\n quickGo === null || quickGo === void 0 || quickGo(getValidValue());\n };\n var go = function go(e) {\n if (goInputText === '') {\n return;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n setGoInputText('');\n quickGo === null || quickGo === void 0 || quickGo(getValidValue());\n }\n };\n var getPageSizeOptions = function getPageSizeOptions() {\n if (pageSizeOptions.some(function (option) {\n return option.toString() === pageSize.toString();\n })) {\n return pageSizeOptions;\n }\n return pageSizeOptions.concat([pageSize.toString()]).sort(function (a, b) {\n var numberA = Number.isNaN(Number(a)) ? 0 : Number(a);\n var numberB = Number.isNaN(Number(b)) ? 0 : Number(b);\n return numberA - numberB;\n });\n };\n // ============== cls ==============\n var prefixCls = \"\".concat(rootPrefixCls, \"-options\");\n\n // ============== render ==============\n\n if (!showSizeChanger && !quickGo) {\n return null;\n }\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n if (showSizeChanger && Select) {\n var _ref = _typeof(showSizeChanger) === 'object' ? showSizeChanger : {},\n showSizeChangerOptions = _ref.options,\n showSizeChangerClassName = _ref.className;\n // use showSizeChanger.options if existed, otherwise use pageSizeOptions\n var options = showSizeChangerOptions ? undefined : getPageSizeOptions().map(function (opt, i) {\n return /*#__PURE__*/React.createElement(Select.Option, {\n key: i,\n value: opt.toString()\n }, mergeBuildOptionText(opt));\n });\n changeSelect = /*#__PURE__*/React.createElement(Select, _extends({\n disabled: disabled,\n prefixCls: selectPrefixCls,\n showSearch: false,\n optionLabelProp: showSizeChangerOptions ? 'label' : 'children',\n popupMatchSelectWidth: false,\n value: (pageSize || pageSizeOptions[0]).toString(),\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n },\n \"aria-label\": locale.page_size,\n defaultOpen: false\n }, _typeof(showSizeChanger) === 'object' ? showSizeChanger : null, {\n className: classNames(\"\".concat(prefixCls, \"-size-changer\"), showSizeChangerClassName),\n options: showSizeChangerOptions,\n onChange: changeSizeHandle\n }), options);\n }\n if (quickGo) {\n if (goButton) {\n gotoButton = typeof goButton === 'boolean' ? /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: go,\n onKeyUp: go,\n disabled: disabled,\n className: \"\".concat(prefixCls, \"-quick-jumper-button\")\n }, locale.jump_to_confirm) : /*#__PURE__*/React.createElement(\"span\", {\n onClick: go,\n onKeyUp: go\n }, goButton);\n }\n goInput = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-quick-jumper\")\n }, locale.jump_to, /*#__PURE__*/React.createElement(\"input\", {\n disabled: disabled,\n type: \"text\",\n value: goInputText,\n onChange: handleChange,\n onKeyUp: go,\n onBlur: handleBlur,\n \"aria-label\": locale.page\n }), locale.page, gotoButton);\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n className: prefixCls\n }, changeSelect, goInput);\n};\nif (process.env.NODE_ENV !== 'production') {\n Options.displayName = 'Options';\n}\nexport default Options;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint react/prop-types: 0 */\nimport classNames from 'classnames';\nimport React from 'react';\nvar Pager = function Pager(props) {\n var rootPrefixCls = props.rootPrefixCls,\n page = props.page,\n active = props.active,\n className = props.className,\n showTitle = props.showTitle,\n onClick = props.onClick,\n onKeyPress = props.onKeyPress,\n itemRender = props.itemRender;\n var prefixCls = \"\".concat(rootPrefixCls, \"-item\");\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(page), _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-active\"), active), \"\".concat(prefixCls, \"-disabled\"), !page), className);\n var handleClick = function handleClick() {\n onClick(page);\n };\n var handleKeyPress = function handleKeyPress(e) {\n onKeyPress(e, onClick, page);\n };\n var pager = itemRender(page, 'page', /*#__PURE__*/React.createElement(\"a\", {\n rel: \"nofollow\"\n }, page));\n return pager ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? String(page) : null,\n className: cls,\n onClick: handleClick,\n onKeyDown: handleKeyPress,\n tabIndex: 0\n }, pager) : null;\n};\nif (process.env.NODE_ENV !== 'production') {\n Pager.displayName = 'Pager';\n}\nexport default Pager;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport warning from \"rc-util/es/warning\";\nimport React, { useEffect } from 'react';\nimport zhCN from \"./locale/zh_CN\";\nimport Options from \"./Options\";\nimport Pager from \"./Pager\";\nvar defaultItemRender = function defaultItemRender(page, type, element) {\n return element;\n};\nfunction noop() {}\nfunction isInteger(v) {\n var value = Number(v);\n return typeof value === 'number' && !Number.isNaN(value) && isFinite(value) && Math.floor(value) === value;\n}\nfunction calculatePage(p, pageSize, total) {\n var _pageSize = typeof p === 'undefined' ? pageSize : p;\n return Math.floor((total - 1) / _pageSize) + 1;\n}\nvar Pagination = function Pagination(props) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-pagination' : _props$prefixCls,\n _props$selectPrefixCl = props.selectPrefixCls,\n selectPrefixCls = _props$selectPrefixCl === void 0 ? 'rc-select' : _props$selectPrefixCl,\n className = props.className,\n selectComponentClass = props.selectComponentClass,\n currentProp = props.current,\n _props$defaultCurrent = props.defaultCurrent,\n defaultCurrent = _props$defaultCurrent === void 0 ? 1 : _props$defaultCurrent,\n _props$total = props.total,\n total = _props$total === void 0 ? 0 : _props$total,\n pageSizeProp = props.pageSize,\n _props$defaultPageSiz = props.defaultPageSize,\n defaultPageSize = _props$defaultPageSiz === void 0 ? 10 : _props$defaultPageSiz,\n _props$onChange = props.onChange,\n onChange = _props$onChange === void 0 ? noop : _props$onChange,\n hideOnSinglePage = props.hideOnSinglePage,\n align = props.align,\n _props$showPrevNextJu = props.showPrevNextJumpers,\n showPrevNextJumpers = _props$showPrevNextJu === void 0 ? true : _props$showPrevNextJu,\n showQuickJumper = props.showQuickJumper,\n showLessItems = props.showLessItems,\n _props$showTitle = props.showTitle,\n showTitle = _props$showTitle === void 0 ? true : _props$showTitle,\n _props$onShowSizeChan = props.onShowSizeChange,\n onShowSizeChange = _props$onShowSizeChan === void 0 ? noop : _props$onShowSizeChan,\n _props$locale = props.locale,\n locale = _props$locale === void 0 ? zhCN : _props$locale,\n style = props.style,\n _props$totalBoundaryS = props.totalBoundaryShowSizeChanger,\n totalBoundaryShowSizeChanger = _props$totalBoundaryS === void 0 ? 50 : _props$totalBoundaryS,\n disabled = props.disabled,\n simple = props.simple,\n showTotal = props.showTotal,\n _props$showSizeChange = props.showSizeChanger,\n showSizeChanger = _props$showSizeChange === void 0 ? total > totalBoundaryShowSizeChanger : _props$showSizeChange,\n pageSizeOptions = props.pageSizeOptions,\n _props$itemRender = props.itemRender,\n itemRender = _props$itemRender === void 0 ? defaultItemRender : _props$itemRender,\n jumpPrevIcon = props.jumpPrevIcon,\n jumpNextIcon = props.jumpNextIcon,\n prevIcon = props.prevIcon,\n nextIcon = props.nextIcon;\n var paginationRef = React.useRef(null);\n var _useMergedState = useMergedState(10, {\n value: pageSizeProp,\n defaultValue: defaultPageSize\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n pageSize = _useMergedState2[0],\n setPageSize = _useMergedState2[1];\n var _useMergedState3 = useMergedState(1, {\n value: currentProp,\n defaultValue: defaultCurrent,\n postState: function postState(c) {\n return Math.max(1, Math.min(c, calculatePage(undefined, pageSize, total)));\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n current = _useMergedState4[0],\n setCurrent = _useMergedState4[1];\n var _React$useState = React.useState(current),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n internalInputVal = _React$useState2[0],\n setInternalInputVal = _React$useState2[1];\n useEffect(function () {\n setInternalInputVal(current);\n }, [current]);\n var hasOnChange = onChange !== noop;\n var hasCurrent = ('current' in props);\n if (process.env.NODE_ENV !== 'production') {\n warning(hasCurrent ? hasOnChange : true, 'You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.');\n }\n var jumpPrevPage = Math.max(1, current - (showLessItems ? 3 : 5));\n var jumpNextPage = Math.min(calculatePage(undefined, pageSize, total), current + (showLessItems ? 3 : 5));\n function getItemIcon(icon, label) {\n var iconNode = icon || /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: \"\".concat(prefixCls, \"-item-link\")\n });\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, props));\n }\n return iconNode;\n }\n function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, pageSize, total);\n var value;\n if (inputValue === '') {\n value = inputValue;\n } else if (Number.isNaN(Number(inputValue))) {\n value = internalInputVal;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n return value;\n }\n function isValid(page) {\n return isInteger(page) && page !== current && isInteger(total) && total > 0;\n }\n var shouldDisplayQuickJumper = total > pageSize ? showQuickJumper : false;\n\n /**\n * prevent \"up arrow\" key reseting cursor position within textbox\n * @see https://stackoverflow.com/a/1081114\n */\n function handleKeyDown(event) {\n if (event.keyCode === KeyCode.UP || event.keyCode === KeyCode.DOWN) {\n event.preventDefault();\n }\n }\n function handleKeyUp(event) {\n var value = getValidValue(event);\n if (value !== internalInputVal) {\n setInternalInputVal(value);\n }\n switch (event.keyCode) {\n case KeyCode.ENTER:\n handleChange(value);\n break;\n case KeyCode.UP:\n handleChange(value - 1);\n break;\n case KeyCode.DOWN:\n handleChange(value + 1);\n break;\n default:\n break;\n }\n }\n function handleBlur(event) {\n handleChange(getValidValue(event));\n }\n function changePageSize(size) {\n var newCurrent = calculatePage(size, pageSize, total);\n var nextCurrent = current > newCurrent && newCurrent !== 0 ? newCurrent : current;\n setPageSize(size);\n setInternalInputVal(nextCurrent);\n onShowSizeChange === null || onShowSizeChange === void 0 || onShowSizeChange(current, size);\n setCurrent(nextCurrent);\n onChange === null || onChange === void 0 || onChange(nextCurrent, size);\n }\n function handleChange(page) {\n if (isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, pageSize, total);\n var newPage = page;\n if (page > currentPage) {\n newPage = currentPage;\n } else if (page < 1) {\n newPage = 1;\n }\n if (newPage !== internalInputVal) {\n setInternalInputVal(newPage);\n }\n setCurrent(newPage);\n onChange === null || onChange === void 0 || onChange(newPage, pageSize);\n return newPage;\n }\n return current;\n }\n var hasPrev = current > 1;\n var hasNext = current < calculatePage(undefined, pageSize, total);\n function prevHandle() {\n if (hasPrev) handleChange(current - 1);\n }\n function nextHandle() {\n if (hasNext) handleChange(current + 1);\n }\n function jumpPrevHandle() {\n handleChange(jumpPrevPage);\n }\n function jumpNextHandle() {\n handleChange(jumpNextPage);\n }\n function runIfEnter(event, callback) {\n if (event.key === 'Enter' || event.charCode === KeyCode.ENTER || event.keyCode === KeyCode.ENTER) {\n for (var _len = arguments.length, restParams = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n callback.apply(void 0, restParams);\n }\n }\n function runIfEnterPrev(event) {\n runIfEnter(event, prevHandle);\n }\n function runIfEnterNext(event) {\n runIfEnter(event, nextHandle);\n }\n function runIfEnterJumpPrev(event) {\n runIfEnter(event, jumpPrevHandle);\n }\n function runIfEnterJumpNext(event) {\n runIfEnter(event, jumpNextHandle);\n }\n function renderPrev(prevPage) {\n var prevButton = itemRender(prevPage, 'prev', getItemIcon(prevIcon, 'prev page'));\n return /*#__PURE__*/React.isValidElement(prevButton) ? /*#__PURE__*/React.cloneElement(prevButton, {\n disabled: !hasPrev\n }) : prevButton;\n }\n function renderNext(nextPage) {\n var nextButton = itemRender(nextPage, 'next', getItemIcon(nextIcon, 'next page'));\n return /*#__PURE__*/React.isValidElement(nextButton) ? /*#__PURE__*/React.cloneElement(nextButton, {\n disabled: !hasNext\n }) : nextButton;\n }\n function handleGoTO(event) {\n if (event.type === 'click' || event.keyCode === KeyCode.ENTER) {\n handleChange(internalInputVal);\n }\n }\n var jumpPrev = null;\n var dataOrAriaAttributeProps = pickAttrs(props, {\n aria: true,\n data: true\n });\n var totalText = showTotal && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-total-text\")\n }, showTotal(total, [total === 0 ? 0 : (current - 1) * pageSize + 1, current * pageSize > total ? total : current * pageSize]));\n var jumpNext = null;\n var allPages = calculatePage(undefined, pageSize, total);\n\n // ================== Render ==================\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (hideOnSinglePage && total <= pageSize) {\n return null;\n }\n var pagerList = [];\n var pagerProps = {\n rootPrefixCls: prefixCls,\n onClick: handleChange,\n onKeyPress: runIfEnter,\n showTitle: showTitle,\n itemRender: itemRender,\n page: -1\n };\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n var goButton = showQuickJumper && showQuickJumper.goButton;\n\n // ================== Simple ==================\n // FIXME: ts type\n var isReadOnly = _typeof(simple) === 'object' ? simple.readOnly : !simple;\n var gotoButton = goButton;\n var simplePager = null;\n if (simple) {\n // ====== Simple quick jump ======\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: handleGoTO,\n onKeyUp: handleGoTO\n }, locale.jump_to_confirm);\n } else {\n gotoButton = /*#__PURE__*/React.createElement(\"span\", {\n onClick: handleGoTO,\n onKeyUp: handleGoTO\n }, goButton);\n }\n gotoButton = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(locale.jump_to).concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, gotoButton);\n }\n simplePager = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, isReadOnly ? internalInputVal : /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n value: internalInputVal,\n disabled: disabled,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onChange: handleKeyUp,\n onBlur: handleBlur,\n size: 3\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-slash\")\n }, \"/\"), allPages);\n }\n\n // ====================== Normal ======================\n var pageBufferSize = showLessItems ? 1 : 2;\n if (allPages <= 3 + pageBufferSize * 2) {\n if (!allPages) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: \"noPager\",\n page: 1,\n className: \"\".concat(prefixCls, \"-item-disabled\")\n })));\n }\n for (var i = 1; i <= allPages; i += 1) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: i,\n page: i,\n active: current === i\n })));\n }\n } else {\n var prevItemTitle = showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = showLessItems ? locale.next_3 : locale.next_5;\n var jumpPrevContent = itemRender(jumpPrevPage, 'jump-prev', getItemIcon(jumpPrevIcon, 'prev page'));\n var jumpNextContent = itemRender(jumpNextPage, 'jump-next', getItemIcon(jumpNextIcon, 'next page'));\n if (showPrevNextJumpers) {\n jumpPrev = jumpPrevContent ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? prevItemTitle : null,\n key: \"prev\",\n onClick: jumpPrevHandle,\n tabIndex: 0,\n onKeyDown: runIfEnterJumpPrev,\n className: classNames(\"\".concat(prefixCls, \"-jump-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-prev-custom-icon\"), !!jumpPrevIcon))\n }, jumpPrevContent) : null;\n jumpNext = jumpNextContent ? /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? nextItemTitle : null,\n key: \"next\",\n onClick: jumpNextHandle,\n tabIndex: 0,\n onKeyDown: runIfEnterJumpNext,\n className: classNames(\"\".concat(prefixCls, \"-jump-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-next-custom-icon\"), !!jumpNextIcon))\n }, jumpNextContent) : null;\n }\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n for (var _i = left; _i <= right; _i += 1) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: _i,\n page: _i,\n active: current === _i\n })));\n }\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = /*#__PURE__*/React.cloneElement(pagerList[0], {\n className: classNames(\"\".concat(prefixCls, \"-item-after-jump-prev\"), pagerList[0].props.className)\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n var lastOne = pagerList[pagerList.length - 1];\n pagerList[pagerList.length - 1] = /*#__PURE__*/React.cloneElement(lastOne, {\n className: classNames(\"\".concat(prefixCls, \"-item-before-jump-next\"), lastOne.props.className)\n });\n pagerList.push(jumpNext);\n }\n if (left !== 1) {\n pagerList.unshift( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: 1,\n page: 1\n })));\n }\n if (right !== allPages) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: allPages,\n page: allPages\n })));\n }\n }\n var prev = renderPrev(prevPage);\n if (prev) {\n var prevDisabled = !hasPrev || !allPages;\n prev = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: prevHandle,\n tabIndex: prevDisabled ? null : 0,\n onKeyDown: runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), prevDisabled)),\n \"aria-disabled\": prevDisabled\n }, prev);\n }\n var next = renderNext(nextPage);\n if (next) {\n var nextDisabled, nextTabIndex;\n if (simple) {\n nextDisabled = !hasNext;\n nextTabIndex = hasPrev ? 0 : null;\n } else {\n nextDisabled = !hasNext || !allPages;\n nextTabIndex = nextDisabled ? null : 0;\n }\n next = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: nextHandle,\n tabIndex: nextTabIndex,\n onKeyDown: runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), nextDisabled)),\n \"aria-disabled\": nextDisabled\n }, next);\n }\n var cls = classNames(prefixCls, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-start\"), align === 'start'), \"\".concat(prefixCls, \"-center\"), align === 'center'), \"\".concat(prefixCls, \"-end\"), align === 'end'), \"\".concat(prefixCls, \"-simple\"), simple), \"\".concat(prefixCls, \"-disabled\"), disabled));\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: cls,\n style: style,\n ref: paginationRef\n }, dataOrAriaAttributeProps), totalText, prev, simple ? simplePager : pagerList, next, /*#__PURE__*/React.createElement(Options, {\n locale: locale,\n rootPrefixCls: prefixCls,\n disabled: disabled,\n selectComponentClass: selectComponentClass,\n selectPrefixCls: selectPrefixCls,\n changeSize: changePageSize,\n pageSize: pageSize,\n pageSizeOptions: pageSizeOptions,\n quickGo: shouldDisplayQuickJumper ? handleChange : null,\n goButton: gotoButton,\n showSizeChanger: showSizeChanger\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n Pagination.displayName = 'Pagination';\n}\nexport default Pagination;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcSelect, { OptGroup, Option } from 'rc-select';\nimport omit from \"rc-util/es/omit\";\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport { getTransitionName } from '../_util/motion';\nimport genPurePanel from '../_util/PurePanel';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext } from '../form/context';\nimport useVariants from '../form/hooks/useVariants';\nimport { useCompactItemContext } from '../space/Compact';\nimport { useToken } from '../theme/internal';\nimport mergedBuiltinPlacements from './mergedBuiltinPlacements';\nimport useStyle from './style';\nimport useIcons from './useIcons';\nimport useShowArrow from './useShowArrow';\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nconst InternalSelect = (props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n bordered,\n className,\n rootClassName,\n getPopupContainer,\n popupClassName,\n dropdownClassName,\n listHeight = 256,\n placement,\n listItemHeight: customListItemHeight,\n size: customizeSize,\n disabled: customDisabled,\n notFoundContent,\n status: customStatus,\n builtinPlacements,\n dropdownMatchSelectWidth,\n popupMatchSelectWidth,\n direction: propDirection,\n style,\n allowClear,\n variant: customizeVariant,\n dropdownStyle,\n transitionName,\n tagRender,\n maxCount,\n prefix\n } = props,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"className\", \"rootClassName\", \"getPopupContainer\", \"popupClassName\", \"dropdownClassName\", \"listHeight\", \"placement\", \"listItemHeight\", \"size\", \"disabled\", \"notFoundContent\", \"status\", \"builtinPlacements\", \"dropdownMatchSelectWidth\", \"popupMatchSelectWidth\", \"direction\", \"style\", \"allowClear\", \"variant\", \"dropdownStyle\", \"transitionName\", \"tagRender\", \"maxCount\", \"prefix\"]);\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction: contextDirection,\n virtual,\n popupMatchSelectWidth: contextPopupMatchSelectWidth,\n popupOverflow,\n select\n } = React.useContext(ConfigContext);\n const [, token] = useToken();\n const listItemHeight = customListItemHeight !== null && customListItemHeight !== void 0 ? customListItemHeight : token === null || token === void 0 ? void 0 : token.controlHeight;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const direction = propDirection !== null && propDirection !== void 0 ? propDirection : contextDirection;\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const [variant, enableVariantCls] = useVariants('select', customizeVariant, bordered);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const mode = React.useMemo(() => {\n const {\n mode: m\n } = props;\n if (m === 'combobox') {\n return undefined;\n }\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox';\n }\n return m;\n }, [props.mode]);\n const isMultiple = mode === 'multiple' || mode === 'tags';\n const showSuffixIcon = useShowArrow(props.suffixIcon, props.showArrow);\n const mergedPopupMatchSelectWidth = (_a = popupMatchSelectWidth !== null && popupMatchSelectWidth !== void 0 ? popupMatchSelectWidth : dropdownMatchSelectWidth) !== null && _a !== void 0 ? _a : contextPopupMatchSelectWidth;\n // ===================== Form Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon\n } = React.useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Empty =====================\n let mergedNotFound;\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent;\n } else if (mode === 'combobox') {\n mergedNotFound = null;\n } else {\n mergedNotFound = (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Select')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"Select\"\n });\n }\n // ===================== Icons =====================\n const {\n suffixIcon,\n itemIcon,\n removeIcon,\n clearIcon\n } = useIcons(Object.assign(Object.assign({}, rest), {\n multiple: isMultiple,\n hasFeedback,\n feedbackIcon,\n showSuffixIcon,\n prefixCls,\n componentName: 'Select'\n }));\n const mergedAllowClear = allowClear === true ? {\n clearIcon\n } : allowClear;\n const selectProps = omit(rest, ['suffixIcon', 'itemIcon']);\n const mergedPopupClassName = classNames(popupClassName || dropdownClassName, {\n [`${prefixCls}-dropdown-${direction}`]: direction === 'rtl'\n }, rootClassName, cssVarCls, rootCls, hashId);\n const mergedSize = useSize(ctx => {\n var _a;\n return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const mergedClassName = classNames({\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-${variant}`]: enableVariantCls,\n [`${prefixCls}-in-form-item`]: isFormItemInput\n }, getStatusClassNames(prefixCls, mergedStatus, hasFeedback), compactItemClassnames, select === null || select === void 0 ? void 0 : select.className, className, rootClassName, cssVarCls, rootCls, hashId);\n // ===================== Placement =====================\n const memoPlacement = React.useMemo(() => {\n if (placement !== undefined) {\n return placement;\n }\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n }, [placement, direction]);\n // ====================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Select');\n warning.deprecated(!dropdownClassName, 'dropdownClassName', 'popupClassName');\n warning.deprecated(dropdownMatchSelectWidth === undefined, 'dropdownMatchSelectWidth', 'popupMatchSelectWidth');\n process.env.NODE_ENV !== \"production\" ? warning(!('showArrow' in props), 'deprecated', '`showArrow` is deprecated which will be removed in next major version. It will be a default behavior, you can hide it by setting `suffixIcon` to null.') : void 0;\n warning.deprecated(!('bordered' in props), 'bordered', 'variant');\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof maxCount !== 'undefined' && !isMultiple), 'usage', '`maxCount` only works with mode `multiple` or `tags`') : void 0;\n }\n // ====================== zIndex =========================\n const [zIndex] = useZIndex('SelectLike', dropdownStyle === null || dropdownStyle === void 0 ? void 0 : dropdownStyle.zIndex);\n // ====================== Render =======================\n return wrapCSSVar(/*#__PURE__*/React.createElement(RcSelect, Object.assign({\n ref: ref,\n virtual: virtual,\n showSearch: select === null || select === void 0 ? void 0 : select.showSearch\n }, selectProps, {\n style: Object.assign(Object.assign({}, select === null || select === void 0 ? void 0 : select.style), style),\n dropdownMatchSelectWidth: mergedPopupMatchSelectWidth,\n transitionName: getTransitionName(rootPrefixCls, 'slide-up', transitionName),\n builtinPlacements: mergedBuiltinPlacements(builtinPlacements, popupOverflow),\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n mode: mode,\n prefixCls: prefixCls,\n placement: memoPlacement,\n direction: direction,\n prefix: prefix,\n suffixIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n allowClear: mergedAllowClear,\n notFoundContent: mergedNotFound,\n className: mergedClassName,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: mergedPopupClassName,\n disabled: mergedDisabled,\n dropdownStyle: Object.assign(Object.assign({}, dropdownStyle), {\n zIndex\n }),\n maxCount: isMultiple ? maxCount : undefined,\n tagRender: isMultiple ? tagRender : undefined\n })));\n};\nif (process.env.NODE_ENV !== 'production') {\n InternalSelect.displayName = 'Select';\n}\nconst Select = /*#__PURE__*/React.forwardRef(InternalSelect);\n// We don't care debug panel\n/* istanbul ignore next */\nconst PurePanel = genPurePanel(Select);\nSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nSelect._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\nexport default Select;","\"use client\";\n\nimport * as React from 'react';\nimport Select from '../select';\nconst MiniSelect = props => /*#__PURE__*/React.createElement(Select, Object.assign({}, props, {\n showSearch: true,\n size: \"small\"\n}));\nconst MiddleSelect = props => /*#__PURE__*/React.createElement(Select, Object.assign({}, props, {\n showSearch: true,\n size: \"middle\"\n}));\nMiniSelect.Option = Select.Option;\nMiddleSelect.Option = Select.Option;\nexport { MiniSelect, MiddleSelect };","import { mergeToken } from '../../theme/internal';\nexport function initInputToken(token) {\n return mergeToken(token, {\n inputAffixPadding: token.paddingXXS\n });\n}\nexport const initComponentToken = token => {\n const {\n controlHeight,\n fontSize,\n lineHeight,\n lineWidth,\n controlHeightSM,\n controlHeightLG,\n fontSizeLG,\n lineHeightLG,\n paddingSM,\n controlPaddingHorizontalSM,\n controlPaddingHorizontal,\n colorFillAlter,\n colorPrimaryHover,\n colorPrimary,\n controlOutlineWidth,\n controlOutline,\n colorErrorOutline,\n colorWarningOutline,\n colorBgContainer\n } = token;\n return {\n paddingBlock: Math.max(Math.round((controlHeight - fontSize * lineHeight) / 2 * 10) / 10 - lineWidth, 0),\n paddingBlockSM: Math.max(Math.round((controlHeightSM - fontSize * lineHeight) / 2 * 10) / 10 - lineWidth, 0),\n paddingBlockLG: Math.ceil((controlHeightLG - fontSizeLG * lineHeightLG) / 2 * 10) / 10 - lineWidth,\n paddingInline: paddingSM - lineWidth,\n paddingInlineSM: controlPaddingHorizontalSM - lineWidth,\n paddingInlineLG: controlPaddingHorizontal - lineWidth,\n addonBg: colorFillAlter,\n activeBorderColor: colorPrimary,\n hoverBorderColor: colorPrimaryHover,\n activeShadow: `0 0 0 ${controlOutlineWidth}px ${controlOutline}`,\n errorActiveShadow: `0 0 0 ${controlOutlineWidth}px ${colorErrorOutline}`,\n warningActiveShadow: `0 0 0 ${controlOutlineWidth}px ${colorWarningOutline}`,\n hoverBg: colorBgContainer,\n activeBg: colorBgContainer,\n inputFontSize: fontSize,\n inputFontSizeLG: fontSizeLG,\n inputFontSizeSM: fontSize\n };\n};","import { unit } from '@ant-design/cssinjs';\nimport { mergeToken } from '../../theme/internal';\nexport const genHoverStyle = token => ({\n borderColor: token.hoverBorderColor,\n backgroundColor: token.hoverBg\n});\nexport const genDisabledStyle = token => ({\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n boxShadow: 'none',\n cursor: 'not-allowed',\n opacity: 1,\n 'input[disabled], textarea[disabled]': {\n cursor: 'not-allowed'\n },\n '&:hover:not([disabled])': Object.assign({}, genHoverStyle(mergeToken(token, {\n hoverBorderColor: token.colorBorder,\n hoverBg: token.colorBgContainerDisabled\n })))\n});\n/* ============== Outlined ============== */\nexport const genBaseOutlinedStyle = (token, options) => ({\n background: token.colorBgContainer,\n borderWidth: token.lineWidth,\n borderStyle: token.lineType,\n borderColor: options.borderColor,\n '&:hover': {\n borderColor: options.hoverBorderColor,\n backgroundColor: token.hoverBg\n },\n '&:focus, &:focus-within': {\n borderColor: options.activeBorderColor,\n boxShadow: options.activeShadow,\n outline: 0,\n backgroundColor: token.activeBg\n }\n});\nconst genOutlinedStatusStyle = (token, options) => ({\n [`&${token.componentCls}-status-${options.status}:not(${token.componentCls}-disabled)`]: Object.assign(Object.assign({}, genBaseOutlinedStyle(token, options)), {\n [`${token.componentCls}-prefix, ${token.componentCls}-suffix`]: {\n color: options.affixColor\n }\n }),\n [`&${token.componentCls}-status-${options.status}${token.componentCls}-disabled`]: {\n borderColor: options.borderColor\n }\n});\nexport const genOutlinedStyle = (token, extraStyles) => ({\n '&-outlined': Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genBaseOutlinedStyle(token, {\n borderColor: token.colorBorder,\n hoverBorderColor: token.hoverBorderColor,\n activeBorderColor: token.activeBorderColor,\n activeShadow: token.activeShadow\n })), {\n [`&${token.componentCls}-disabled, &[disabled]`]: Object.assign({}, genDisabledStyle(token))\n }), genOutlinedStatusStyle(token, {\n status: 'error',\n borderColor: token.colorError,\n hoverBorderColor: token.colorErrorBorderHover,\n activeBorderColor: token.colorError,\n activeShadow: token.errorActiveShadow,\n affixColor: token.colorError\n })), genOutlinedStatusStyle(token, {\n status: 'warning',\n borderColor: token.colorWarning,\n hoverBorderColor: token.colorWarningBorderHover,\n activeBorderColor: token.colorWarning,\n activeShadow: token.warningActiveShadow,\n affixColor: token.colorWarning\n })), extraStyles)\n});\nconst genOutlinedGroupStatusStyle = (token, options) => ({\n [`&${token.componentCls}-group-wrapper-status-${options.status}`]: {\n [`${token.componentCls}-group-addon`]: {\n borderColor: options.addonBorderColor,\n color: options.addonColor\n }\n }\n});\nexport const genOutlinedGroupStyle = token => ({\n '&-outlined': Object.assign(Object.assign(Object.assign({\n [`${token.componentCls}-group`]: {\n '&-addon': {\n background: token.addonBg,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`\n },\n '&-addon:first-child': {\n borderInlineEnd: 0\n },\n '&-addon:last-child': {\n borderInlineStart: 0\n }\n }\n }, genOutlinedGroupStatusStyle(token, {\n status: 'error',\n addonBorderColor: token.colorError,\n addonColor: token.colorErrorText\n })), genOutlinedGroupStatusStyle(token, {\n status: 'warning',\n addonBorderColor: token.colorWarning,\n addonColor: token.colorWarningText\n })), {\n [`&${token.componentCls}-group-wrapper-disabled`]: {\n [`${token.componentCls}-group-addon`]: Object.assign({}, genDisabledStyle(token))\n }\n })\n});\n/* ============ Borderless ============ */\nexport const genBorderlessStyle = (token, extraStyles) => {\n const {\n componentCls\n } = token;\n return {\n '&-borderless': Object.assign({\n background: 'transparent',\n border: 'none',\n '&:focus, &:focus-within': {\n outline: 'none'\n },\n // >>>>> Disabled\n [`&${componentCls}-disabled, &[disabled]`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n },\n // >>>>> Status\n [`&${componentCls}-status-error`]: {\n '&, & input, & textarea': {\n color: token.colorError\n }\n },\n [`&${componentCls}-status-warning`]: {\n '&, & input, & textarea': {\n color: token.colorWarning\n }\n }\n }, extraStyles)\n };\n};\n/* ============== Filled ============== */\nconst genBaseFilledStyle = (token, options) => ({\n background: options.bg,\n borderWidth: token.lineWidth,\n borderStyle: token.lineType,\n borderColor: 'transparent',\n 'input&, & input, textarea&, & textarea': {\n color: options === null || options === void 0 ? void 0 : options.inputColor\n },\n '&:hover': {\n background: options.hoverBg\n },\n '&:focus, &:focus-within': {\n outline: 0,\n borderColor: options.activeBorderColor,\n backgroundColor: token.activeBg\n }\n});\nconst genFilledStatusStyle = (token, options) => ({\n [`&${token.componentCls}-status-${options.status}:not(${token.componentCls}-disabled)`]: Object.assign(Object.assign({}, genBaseFilledStyle(token, options)), {\n [`${token.componentCls}-prefix, ${token.componentCls}-suffix`]: {\n color: options.affixColor\n }\n })\n});\nexport const genFilledStyle = (token, extraStyles) => ({\n '&-filled': Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genBaseFilledStyle(token, {\n bg: token.colorFillTertiary,\n hoverBg: token.colorFillSecondary,\n activeBorderColor: token.activeBorderColor\n })), {\n [`&${token.componentCls}-disabled, &[disabled]`]: Object.assign({}, genDisabledStyle(token))\n }), genFilledStatusStyle(token, {\n status: 'error',\n bg: token.colorErrorBg,\n hoverBg: token.colorErrorBgHover,\n activeBorderColor: token.colorError,\n inputColor: token.colorErrorText,\n affixColor: token.colorError\n })), genFilledStatusStyle(token, {\n status: 'warning',\n bg: token.colorWarningBg,\n hoverBg: token.colorWarningBgHover,\n activeBorderColor: token.colorWarning,\n inputColor: token.colorWarningText,\n affixColor: token.colorWarning\n })), extraStyles)\n});\nconst genFilledGroupStatusStyle = (token, options) => ({\n [`&${token.componentCls}-group-wrapper-status-${options.status}`]: {\n [`${token.componentCls}-group-addon`]: {\n background: options.addonBg,\n color: options.addonColor\n }\n }\n});\nexport const genFilledGroupStyle = token => ({\n '&-filled': Object.assign(Object.assign(Object.assign({\n [`${token.componentCls}-group`]: {\n '&-addon': {\n background: token.colorFillTertiary\n },\n [`${token.componentCls}-filled:not(:focus):not(:focus-within)`]: {\n '&:not(:first-child)': {\n borderInlineStart: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n },\n '&:not(:last-child)': {\n borderInlineEnd: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n }\n }\n }\n }, genFilledGroupStatusStyle(token, {\n status: 'error',\n addonBg: token.colorErrorBg,\n addonColor: token.colorErrorText\n })), genFilledGroupStatusStyle(token, {\n status: 'warning',\n addonBg: token.colorWarningBg,\n addonColor: token.colorWarningText\n })), {\n [`&${token.componentCls}-group-wrapper-disabled`]: {\n [`${token.componentCls}-group`]: {\n '&-addon': {\n background: token.colorFillTertiary,\n color: token.colorTextDisabled\n },\n '&-addon:first-child': {\n borderInlineStart: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderTop: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`\n },\n '&-addon:last-child': {\n borderInlineEnd: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderTop: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`\n }\n }\n }\n })\n});","import { unit } from '@ant-design/cssinjs';\nimport { clearFix, resetComponent } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport { initComponentToken, initInputToken } from './token';\nimport { genBorderlessStyle, genFilledGroupStyle, genFilledStyle, genOutlinedGroupStyle, genOutlinedStyle } from './variants';\nexport { initComponentToken, initInputToken };\nexport const genPlaceholderStyle = color => ({\n // Firefox\n '&::-moz-placeholder': {\n opacity: 1\n },\n '&::placeholder': {\n color,\n userSelect: 'none' // https://github.com/ant-design/ant-design/pull/32639\n },\n '&:placeholder-shown': {\n textOverflow: 'ellipsis'\n }\n});\nexport const genActiveStyle = token => ({\n borderColor: token.activeBorderColor,\n boxShadow: token.activeShadow,\n outline: 0,\n backgroundColor: token.activeBg\n});\nconst genInputLargeStyle = token => {\n const {\n paddingBlockLG,\n lineHeightLG,\n borderRadiusLG,\n paddingInlineLG\n } = token;\n return {\n padding: `${unit(paddingBlockLG)} ${unit(paddingInlineLG)}`,\n fontSize: token.inputFontSizeLG,\n lineHeight: lineHeightLG,\n borderRadius: borderRadiusLG\n };\n};\nexport const genInputSmallStyle = token => ({\n padding: `${unit(token.paddingBlockSM)} ${unit(token.paddingInlineSM)}`,\n fontSize: token.inputFontSizeSM,\n borderRadius: token.borderRadiusSM\n});\nexport const genBasicInputStyle = token => Object.assign(Object.assign({\n position: 'relative',\n display: 'inline-block',\n width: '100%',\n minWidth: 0,\n padding: `${unit(token.paddingBlock)} ${unit(token.paddingInline)}`,\n color: token.colorText,\n fontSize: token.inputFontSize,\n lineHeight: token.lineHeight,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationMid}`\n}, genPlaceholderStyle(token.colorTextPlaceholder)), {\n // Reset height for `textarea`s\n 'textarea&': {\n maxWidth: '100%',\n // prevent textarea resize from coming out of its container\n height: 'auto',\n minHeight: token.controlHeight,\n lineHeight: token.lineHeight,\n verticalAlign: 'bottom',\n transition: `all ${token.motionDurationSlow}, height 0s`,\n resize: 'vertical'\n },\n // Size\n '&-lg': Object.assign({}, genInputLargeStyle(token)),\n '&-sm': Object.assign({}, genInputSmallStyle(token)),\n // RTL\n '&-rtl, &-textarea-rtl': {\n direction: 'rtl'\n }\n});\nexport const genInputGroupStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n return {\n position: 'relative',\n display: 'table',\n width: '100%',\n borderCollapse: 'separate',\n borderSpacing: 0,\n // Undo padding and float of grid classes\n \"&[class*='col-']\": {\n paddingInlineEnd: token.paddingXS,\n '&:last-child': {\n paddingInlineEnd: 0\n }\n },\n // Sizing options\n [`&-lg ${componentCls}, &-lg > ${componentCls}-group-addon`]: Object.assign({}, genInputLargeStyle(token)),\n [`&-sm ${componentCls}, &-sm > ${componentCls}-group-addon`]: Object.assign({}, genInputSmallStyle(token)),\n // Fix https://github.com/ant-design/ant-design/issues/5754\n [`&-lg ${antCls}-select-single ${antCls}-select-selector`]: {\n height: token.controlHeightLG\n },\n [`&-sm ${antCls}-select-single ${antCls}-select-selector`]: {\n height: token.controlHeightSM\n },\n [`> ${componentCls}`]: {\n display: 'table-cell',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n },\n [`${componentCls}-group`]: {\n '&-addon, &-wrap': {\n display: 'table-cell',\n width: 1,\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n },\n '&-wrap > *': {\n display: 'block !important'\n },\n '&-addon': {\n position: 'relative',\n padding: `0 ${unit(token.paddingInline)}`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.inputFontSize,\n textAlign: 'center',\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationSlow}`,\n lineHeight: 1,\n // Reset Select's style in addon\n [`${antCls}-select`]: {\n margin: `${unit(token.calc(token.paddingBlock).add(1).mul(-1).equal())} ${unit(token.calc(token.paddingInline).mul(-1).equal())}`,\n [`&${antCls}-select-single:not(${antCls}-select-customize-input):not(${antCls}-pagination-size-changer)`]: {\n [`${antCls}-select-selector`]: {\n backgroundColor: 'inherit',\n border: `${unit(token.lineWidth)} ${token.lineType} transparent`,\n boxShadow: 'none'\n }\n }\n },\n // https://github.com/ant-design/ant-design/issues/31333\n [`${antCls}-cascader-picker`]: {\n margin: `-9px ${unit(token.calc(token.paddingInline).mul(-1).equal())}`,\n backgroundColor: 'transparent',\n [`${antCls}-cascader-input`]: {\n textAlign: 'start',\n border: 0,\n boxShadow: 'none'\n }\n }\n }\n },\n [componentCls]: {\n width: '100%',\n marginBottom: 0,\n textAlign: 'inherit',\n '&:focus': {\n zIndex: 1,\n // Fix https://gw.alipayobjects.com/zos/rmsportal/DHNpoqfMXSfrSnlZvhsJ.png\n borderInlineEndWidth: 1\n },\n '&:hover': {\n zIndex: 1,\n borderInlineEndWidth: 1,\n [`${componentCls}-search-with-button &`]: {\n zIndex: 0\n }\n }\n },\n // Reset rounded corners\n [`> ${componentCls}:first-child, ${componentCls}-group-addon:first-child`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n // Reset Select's style in addon\n [`${antCls}-select ${antCls}-select-selector`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`> ${componentCls}-affix-wrapper`]: {\n [`&:not(:first-child) ${componentCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n },\n [`&:not(:last-child) ${componentCls}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`> ${componentCls}:last-child, ${componentCls}-group-addon:last-child`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0,\n // Reset Select's style in addon\n [`${antCls}-select ${antCls}-select-selector`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`${componentCls}-affix-wrapper`]: {\n '&:not(:last-child)': {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n [`${componentCls}-search &`]: {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n }\n },\n [`&:not(:first-child), ${componentCls}-search &:not(:first-child)`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`&${componentCls}-group-compact`]: Object.assign(Object.assign({\n display: 'block'\n }, clearFix()), {\n [`${componentCls}-group-addon, ${componentCls}-group-wrap, > ${componentCls}`]: {\n '&:not(:first-child):not(:last-child)': {\n borderInlineEndWidth: token.lineWidth,\n '&:hover, &:focus': {\n zIndex: 1\n }\n }\n },\n '& > *': {\n display: 'inline-flex',\n float: 'none',\n verticalAlign: 'top',\n // https://github.com/ant-design/ant-design-pro/issues/139\n borderRadius: 0\n },\n [`\n & > ${componentCls}-affix-wrapper,\n & > ${componentCls}-number-affix-wrapper,\n & > ${antCls}-picker-range\n `]: {\n display: 'inline-flex'\n },\n '& > *:not(:last-child)': {\n marginInlineEnd: token.calc(token.lineWidth).mul(-1).equal(),\n borderInlineEndWidth: token.lineWidth\n },\n // Undo float for .ant-input-group .ant-input\n [componentCls]: {\n float: 'none'\n },\n // reset border for Select, DatePicker, AutoComplete, Cascader, Mention, TimePicker, Input\n [`& > ${antCls}-select > ${antCls}-select-selector,\n & > ${antCls}-select-auto-complete ${componentCls},\n & > ${antCls}-cascader-picker ${componentCls},\n & > ${componentCls}-group-wrapper ${componentCls}`]: {\n borderInlineEndWidth: token.lineWidth,\n borderRadius: 0,\n '&:hover, &:focus': {\n zIndex: 1\n }\n },\n [`& > ${antCls}-select-focused`]: {\n zIndex: 1\n },\n // update z-index for arrow icon\n [`& > ${antCls}-select > ${antCls}-select-arrow`]: {\n zIndex: 1 // https://github.com/ant-design/ant-design/issues/20371\n },\n [`& > *:first-child,\n & > ${antCls}-select:first-child > ${antCls}-select-selector,\n & > ${antCls}-select-auto-complete:first-child ${componentCls},\n & > ${antCls}-cascader-picker:first-child ${componentCls}`]: {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n },\n [`& > *:last-child,\n & > ${antCls}-select:last-child > ${antCls}-select-selector,\n & > ${antCls}-cascader-picker:last-child ${componentCls},\n & > ${antCls}-cascader-picker-focused:last-child ${componentCls}`]: {\n borderInlineEndWidth: token.lineWidth,\n borderStartEndRadius: token.borderRadius,\n borderEndEndRadius: token.borderRadius\n },\n // https://github.com/ant-design/ant-design/issues/12493\n [`& > ${antCls}-select-auto-complete ${componentCls}`]: {\n verticalAlign: 'top'\n },\n [`${componentCls}-group-wrapper + ${componentCls}-group-wrapper`]: {\n marginInlineStart: token.calc(token.lineWidth).mul(-1).equal(),\n [`${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n }\n },\n [`${componentCls}-group-wrapper:not(:last-child)`]: {\n [`&${componentCls}-search > ${componentCls}-group`]: {\n [`& > ${componentCls}-group-addon > ${componentCls}-search-button`]: {\n borderRadius: 0\n },\n [`& > ${componentCls}`]: {\n borderStartStartRadius: token.borderRadius,\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n borderEndStartRadius: token.borderRadius\n }\n }\n }\n })\n };\n};\nconst genInputStyle = token => {\n const {\n componentCls,\n controlHeightSM,\n lineWidth,\n calc\n } = token;\n const FIXED_CHROME_COLOR_HEIGHT = 16;\n const colorSmallPadding = calc(controlHeightSM).sub(calc(lineWidth).mul(2)).sub(FIXED_CHROME_COLOR_HEIGHT).div(2).equal();\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genBasicInputStyle(token)), genOutlinedStyle(token)), genFilledStyle(token)), genBorderlessStyle(token)), {\n '&[type=\"color\"]': {\n height: token.controlHeight,\n [`&${componentCls}-lg`]: {\n height: token.controlHeightLG\n },\n [`&${componentCls}-sm`]: {\n height: controlHeightSM,\n paddingTop: colorSmallPadding,\n paddingBottom: colorSmallPadding\n }\n },\n '&[type=\"search\"]::-webkit-search-cancel-button, &[type=\"search\"]::-webkit-search-decoration': {\n '-webkit-appearance': 'none'\n }\n })\n };\n};\nconst genAllowClearStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // ========================= Input =========================\n [`${componentCls}-clear-icon`]: {\n margin: 0,\n color: token.colorTextQuaternary,\n fontSize: token.fontSizeIcon,\n verticalAlign: -1,\n // https://github.com/ant-design/ant-design/pull/18151\n // https://codesandbox.io/s/wizardly-sun-u10br\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '&:hover': {\n color: token.colorTextTertiary\n },\n '&:active': {\n color: token.colorText\n },\n '&-hidden': {\n visibility: 'hidden'\n },\n '&-has-suffix': {\n margin: `0 ${unit(token.inputAffixPadding)}`\n }\n }\n };\n};\nconst genAffixStyle = token => {\n const {\n componentCls,\n inputAffixPadding,\n colorTextDescription,\n motionDurationSlow,\n colorIcon,\n colorIconHover,\n iconCls\n } = token;\n const affixCls = `${componentCls}-affix-wrapper`;\n const affixClsDisabled = `${componentCls}-affix-wrapper-disabled`;\n return {\n [affixCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, genBasicInputStyle(token)), {\n display: 'inline-flex',\n [`&:not(${componentCls}-disabled):hover`]: {\n zIndex: 1,\n [`${componentCls}-search-with-button &`]: {\n zIndex: 0\n }\n },\n '&-focused, &:focus': {\n zIndex: 1\n },\n [`> input${componentCls}`]: {\n padding: 0\n },\n [`> input${componentCls}, > textarea${componentCls}`]: {\n fontSize: 'inherit',\n border: 'none',\n borderRadius: 0,\n outline: 'none',\n background: 'transparent',\n color: 'inherit',\n '&::-ms-reveal': {\n display: 'none'\n },\n '&:focus': {\n boxShadow: 'none !important'\n }\n },\n '&::before': {\n display: 'inline-block',\n width: 0,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n },\n [componentCls]: {\n '&-prefix, &-suffix': {\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n '> *:not(:last-child)': {\n marginInlineEnd: token.paddingXS\n }\n },\n '&-show-count-suffix': {\n color: colorTextDescription\n },\n '&-show-count-has-suffix': {\n marginInlineEnd: token.paddingXXS\n },\n '&-prefix': {\n marginInlineEnd: inputAffixPadding\n },\n '&-suffix': {\n marginInlineStart: inputAffixPadding\n }\n }\n }), genAllowClearStyle(token)), {\n // password\n [`${iconCls}${componentCls}-password-icon`]: {\n color: colorIcon,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n color: colorIconHover\n }\n }\n }),\n [affixClsDisabled]: {\n // password disabled\n [`${iconCls}${componentCls}-password-icon`]: {\n color: colorIcon,\n cursor: 'not-allowed',\n '&:hover': {\n color: colorIcon\n }\n }\n }\n };\n};\nconst genGroupStyle = token => {\n const {\n componentCls,\n borderRadiusLG,\n borderRadiusSM\n } = token;\n return {\n [`${componentCls}-group`]: Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genInputGroupStyle(token)), {\n '&-rtl': {\n direction: 'rtl'\n },\n '&-wrapper': Object.assign(Object.assign(Object.assign({\n display: 'inline-block',\n width: '100%',\n textAlign: 'start',\n verticalAlign: 'top',\n '&-rtl': {\n direction: 'rtl'\n },\n // Size\n '&-lg': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusLG,\n fontSize: token.inputFontSizeLG\n }\n },\n '&-sm': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusSM\n }\n }\n }, genOutlinedGroupStyle(token)), genFilledGroupStyle(token)), {\n // '&-disabled': {\n // [`${componentCls}-group-addon`]: {\n // ...genDisabledStyle(token),\n // },\n // },\n // Fix the issue of using icons in Space Compact mode\n // https://github.com/ant-design/ant-design/issues/42122\n [`&:not(${componentCls}-compact-first-item):not(${componentCls}-compact-last-item)${componentCls}-compact-item`]: {\n [`${componentCls}, ${componentCls}-group-addon`]: {\n borderRadius: 0\n }\n },\n [`&:not(${componentCls}-compact-last-item)${componentCls}-compact-first-item`]: {\n [`${componentCls}, ${componentCls}-group-addon`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`&:not(${componentCls}-compact-first-item)${componentCls}-compact-last-item`]: {\n [`${componentCls}, ${componentCls}-group-addon`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n },\n // Fix the issue of input use show-count param in space compact mode\n // https://github.com/ant-design/ant-design/issues/46872\n [`&:not(${componentCls}-compact-last-item)${componentCls}-compact-item`]: {\n [`${componentCls}-affix-wrapper`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n }\n })\n })\n };\n};\nconst genSearchInputStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const searchPrefixCls = `${componentCls}-search`;\n return {\n [searchPrefixCls]: {\n [componentCls]: {\n '&:hover, &:focus': {\n [`+ ${componentCls}-group-addon ${searchPrefixCls}-button:not(${antCls}-btn-primary)`]: {\n borderInlineStartColor: token.colorPrimaryHover\n }\n }\n },\n [`${componentCls}-affix-wrapper`]: {\n height: token.controlHeight,\n borderRadius: 0\n },\n // fix slight height diff in Firefox:\n // https://ant.design/components/auto-complete-cn/#auto-complete-demo-certain-category\n [`${componentCls}-lg`]: {\n lineHeight: token.calc(token.lineHeightLG).sub(0.0002).equal()\n },\n [`> ${componentCls}-group`]: {\n [`> ${componentCls}-group-addon:last-child`]: {\n insetInlineStart: -1,\n padding: 0,\n border: 0,\n [`${searchPrefixCls}-button`]: {\n // Fix https://github.com/ant-design/ant-design/issues/47150\n marginInlineEnd: -1,\n paddingTop: 0,\n paddingBottom: 0,\n borderStartStartRadius: 0,\n borderEndStartRadius: 0,\n boxShadow: 'none'\n },\n [`${searchPrefixCls}-button:not(${antCls}-btn-primary)`]: {\n color: token.colorTextDescription,\n '&:hover': {\n color: token.colorPrimaryHover\n },\n '&:active': {\n color: token.colorPrimaryActive\n },\n [`&${antCls}-btn-loading::before`]: {\n insetInlineStart: 0,\n insetInlineEnd: 0,\n insetBlockStart: 0,\n insetBlockEnd: 0\n }\n }\n }\n },\n [`${searchPrefixCls}-button`]: {\n height: token.controlHeight,\n '&:hover, &:focus': {\n zIndex: 1\n }\n },\n '&-large': {\n [`${componentCls}-affix-wrapper, ${searchPrefixCls}-button`]: {\n height: token.controlHeightLG\n }\n },\n '&-small': {\n [`${componentCls}-affix-wrapper, ${searchPrefixCls}-button`]: {\n height: token.controlHeightSM\n }\n },\n '&-rtl': {\n direction: 'rtl'\n },\n // ===================== Compact Item Customized Styles =====================\n [`&${componentCls}-compact-item`]: {\n [`&:not(${componentCls}-compact-last-item)`]: {\n [`${componentCls}-group-addon`]: {\n [`${componentCls}-search-button`]: {\n marginInlineEnd: token.calc(token.lineWidth).mul(-1).equal(),\n borderRadius: 0\n }\n }\n },\n [`&:not(${componentCls}-compact-first-item)`]: {\n [`${componentCls},${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n }\n },\n [`> ${componentCls}-group-addon ${componentCls}-search-button,\n > ${componentCls},\n ${componentCls}-affix-wrapper`]: {\n '&:hover, &:focus, &:active': {\n zIndex: 2\n }\n },\n [`> ${componentCls}-affix-wrapper-focused`]: {\n zIndex: 2\n }\n }\n }\n };\n};\nconst genTextAreaStyle = token => {\n const {\n componentCls,\n paddingLG\n } = token;\n const textareaPrefixCls = `${componentCls}-textarea`;\n return {\n [textareaPrefixCls]: {\n position: 'relative',\n '&-show-count': {\n // https://github.com/ant-design/ant-design/issues/33049\n [`> ${componentCls}`]: {\n height: '100%'\n },\n [`${componentCls}-data-count`]: {\n position: 'absolute',\n bottom: token.calc(token.fontSize).mul(token.lineHeight).mul(-1).equal(),\n insetInlineEnd: 0,\n color: token.colorTextDescription,\n whiteSpace: 'nowrap',\n pointerEvents: 'none'\n }\n },\n [`\n &-allow-clear > ${componentCls},\n &-affix-wrapper${textareaPrefixCls}-has-feedback ${componentCls}\n `]: {\n paddingInlineEnd: paddingLG\n },\n [`&-affix-wrapper${componentCls}-affix-wrapper`]: {\n padding: 0,\n [`> textarea${componentCls}`]: {\n fontSize: 'inherit',\n border: 'none',\n outline: 'none',\n background: 'transparent',\n '&:focus': {\n boxShadow: 'none !important'\n }\n },\n [`${componentCls}-suffix`]: {\n margin: 0,\n '> *:not(:last-child)': {\n marginInline: 0\n },\n // Clear Icon\n [`${componentCls}-clear-icon`]: {\n position: 'absolute',\n insetInlineEnd: token.paddingInline,\n insetBlockStart: token.paddingXS\n },\n // Feedback Icon\n [`${textareaPrefixCls}-suffix`]: {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.paddingInline,\n bottom: 0,\n zIndex: 1,\n display: 'inline-flex',\n alignItems: 'center',\n margin: 'auto',\n pointerEvents: 'none'\n }\n }\n },\n [`&-affix-wrapper${componentCls}-affix-wrapper-sm`]: {\n [`${componentCls}-suffix`]: {\n [`${componentCls}-clear-icon`]: {\n insetInlineEnd: token.paddingInlineSM\n }\n }\n }\n }\n };\n};\n// ============================== Range ===============================\nconst genRangeStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-out-of-range`]: {\n [`&, & input, & textarea, ${componentCls}-show-count-suffix, ${componentCls}-data-count`]: {\n color: token.colorError\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genStyleHooks('Input', token => {\n const inputToken = mergeToken(token, initInputToken(token));\n return [genInputStyle(inputToken), genTextAreaStyle(inputToken), genAffixStyle(inputToken), genGroupStyle(inputToken), genSearchInputStyle(inputToken), genRangeStyle(inputToken),\n // =====================================================\n // == Space Compact ==\n // =====================================================\n genCompactItemStyle(inputToken)];\n}, initComponentToken, {\n resetFont: false\n});","import { unit } from '@ant-design/cssinjs';\nimport { genBasicInputStyle, genInputSmallStyle, initComponentToken, initInputToken } from '../../input/style';\nimport { genBaseOutlinedStyle, genDisabledStyle } from '../../input/style/variants';\nimport { genFocusOutline, genFocusStyle, resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nconst genPaginationDisabledStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-disabled`]: {\n '&, &:hover': {\n cursor: 'not-allowed',\n [`${componentCls}-item-link`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n },\n '&:focus-visible': {\n cursor: 'not-allowed',\n [`${componentCls}-item-link`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n }\n },\n [`&${componentCls}-disabled`]: {\n cursor: 'not-allowed',\n [`${componentCls}-item`]: {\n cursor: 'not-allowed',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n },\n a: {\n color: token.colorTextDisabled,\n backgroundColor: 'transparent',\n border: 'none',\n cursor: 'not-allowed'\n },\n '&-active': {\n borderColor: token.colorBorder,\n backgroundColor: token.itemActiveBgDisabled,\n '&:hover, &:active': {\n backgroundColor: token.itemActiveBgDisabled\n },\n a: {\n color: token.itemActiveColorDisabled\n }\n }\n },\n [`${componentCls}-item-link`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n },\n [`${componentCls}-simple&`]: {\n backgroundColor: 'transparent',\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n }\n }\n },\n [`${componentCls}-simple-pager`]: {\n color: token.colorTextDisabled\n },\n [`${componentCls}-jump-prev, ${componentCls}-jump-next`]: {\n [`${componentCls}-item-link-icon`]: {\n opacity: 0\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 1\n }\n }\n },\n [`&${componentCls}-simple`]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n [`&${componentCls}-disabled ${componentCls}-item-link`]: {\n '&:hover, &:active': {\n backgroundColor: 'transparent'\n }\n }\n }\n }\n };\n};\nconst genPaginationMiniStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`&${componentCls}-mini ${componentCls}-total-text, &${componentCls}-mini ${componentCls}-simple-pager`]: {\n height: token.itemSizeSM,\n lineHeight: unit(token.itemSizeSM)\n },\n [`&${componentCls}-mini ${componentCls}-item`]: {\n minWidth: token.itemSizeSM,\n height: token.itemSizeSM,\n margin: 0,\n lineHeight: unit(token.calc(token.itemSizeSM).sub(2).equal())\n },\n [`&${componentCls}-mini:not(${componentCls}-disabled) ${componentCls}-item:not(${componentCls}-item-active)`]: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n '&:hover': {\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n }\n },\n [`&${componentCls}-mini ${componentCls}-prev, &${componentCls}-mini ${componentCls}-next`]: {\n minWidth: token.itemSizeSM,\n height: token.itemSizeSM,\n margin: 0,\n lineHeight: unit(token.itemSizeSM)\n },\n [`&${componentCls}-mini:not(${componentCls}-disabled)`]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n [`&:hover ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextHover\n },\n [`&:active ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextActive\n },\n [`&${componentCls}-disabled:hover ${componentCls}-item-link`]: {\n backgroundColor: 'transparent'\n }\n }\n },\n [`\n &${componentCls}-mini ${componentCls}-prev ${componentCls}-item-link,\n &${componentCls}-mini ${componentCls}-next ${componentCls}-item-link\n `]: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n '&::after': {\n height: token.itemSizeSM,\n lineHeight: unit(token.itemSizeSM)\n }\n },\n [`&${componentCls}-mini ${componentCls}-jump-prev, &${componentCls}-mini ${componentCls}-jump-next`]: {\n height: token.itemSizeSM,\n marginInlineEnd: 0,\n lineHeight: unit(token.itemSizeSM)\n },\n [`&${componentCls}-mini ${componentCls}-options`]: {\n marginInlineStart: token.paginationMiniOptionsMarginInlineStart,\n '&-size-changer': {\n top: token.miniOptionsSizeChangerTop\n },\n '&-quick-jumper': {\n height: token.itemSizeSM,\n lineHeight: unit(token.itemSizeSM),\n input: Object.assign(Object.assign({}, genInputSmallStyle(token)), {\n width: token.paginationMiniQuickJumperInputWidth,\n height: token.controlHeightSM\n })\n }\n }\n };\n};\nconst genPaginationSimpleStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`\n &${componentCls}-simple ${componentCls}-prev,\n &${componentCls}-simple ${componentCls}-next\n `]: {\n height: token.itemSizeSM,\n lineHeight: unit(token.itemSizeSM),\n verticalAlign: 'top',\n [`${componentCls}-item-link`]: {\n height: token.itemSizeSM,\n backgroundColor: 'transparent',\n border: 0,\n '&:hover': {\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n },\n '&::after': {\n height: token.itemSizeSM,\n lineHeight: unit(token.itemSizeSM)\n }\n }\n },\n [`&${componentCls}-simple ${componentCls}-simple-pager`]: {\n display: 'inline-block',\n height: token.itemSizeSM,\n marginInlineEnd: token.marginXS,\n input: {\n boxSizing: 'border-box',\n height: '100%',\n padding: `0 ${unit(token.paginationItemPaddingInline)}`,\n textAlign: 'center',\n backgroundColor: token.itemInputBg,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadius,\n outline: 'none',\n transition: `border-color ${token.motionDurationMid}`,\n color: 'inherit',\n '&:hover': {\n borderColor: token.colorPrimary\n },\n '&:focus': {\n borderColor: token.colorPrimaryHover,\n boxShadow: `${unit(token.inputOutlineOffset)} 0 ${unit(token.controlOutlineWidth)} ${token.controlOutline}`\n },\n '&[disabled]': {\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n cursor: 'not-allowed'\n }\n }\n }\n };\n};\nconst genPaginationJumpStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-jump-prev, ${componentCls}-jump-next`]: {\n outline: 0,\n [`${componentCls}-item-container`]: {\n position: 'relative',\n [`${componentCls}-item-link-icon`]: {\n color: token.colorPrimary,\n fontSize: token.fontSizeSM,\n opacity: 0,\n transition: `all ${token.motionDurationMid}`,\n '&-svg': {\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n margin: 'auto'\n }\n },\n [`${componentCls}-item-ellipsis`]: {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n display: 'block',\n margin: 'auto',\n color: token.colorTextDisabled,\n letterSpacing: token.paginationEllipsisLetterSpacing,\n textAlign: 'center',\n textIndent: token.paginationEllipsisTextIndent,\n opacity: 1,\n transition: `all ${token.motionDurationMid}`\n }\n },\n '&:hover': {\n [`${componentCls}-item-link-icon`]: {\n opacity: 1\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 0\n }\n }\n },\n [`\n ${componentCls}-prev,\n ${componentCls}-jump-prev,\n ${componentCls}-jump-next\n `]: {\n marginInlineEnd: token.marginXS\n },\n [`\n ${componentCls}-prev,\n ${componentCls}-next,\n ${componentCls}-jump-prev,\n ${componentCls}-jump-next\n `]: {\n display: 'inline-block',\n minWidth: token.itemSize,\n height: token.itemSize,\n color: token.colorText,\n fontFamily: token.fontFamily,\n lineHeight: unit(token.itemSize),\n textAlign: 'center',\n verticalAlign: 'middle',\n listStyle: 'none',\n borderRadius: token.borderRadius,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}`\n },\n [`${componentCls}-prev, ${componentCls}-next`]: {\n outline: 0,\n button: {\n color: token.colorText,\n cursor: 'pointer',\n userSelect: 'none'\n },\n [`${componentCls}-item-link`]: {\n display: 'block',\n width: '100%',\n height: '100%',\n padding: 0,\n fontSize: token.fontSizeSM,\n textAlign: 'center',\n backgroundColor: 'transparent',\n border: `${unit(token.lineWidth)} ${token.lineType} transparent`,\n borderRadius: token.borderRadius,\n outline: 'none',\n transition: `all ${token.motionDurationMid}`\n },\n [`&:hover ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextHover\n },\n [`&:active ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgTextActive\n },\n [`&${componentCls}-disabled:hover`]: {\n [`${componentCls}-item-link`]: {\n backgroundColor: 'transparent'\n }\n }\n },\n [`${componentCls}-slash`]: {\n marginInlineEnd: token.paginationSlashMarginInlineEnd,\n marginInlineStart: token.paginationSlashMarginInlineStart\n },\n [`${componentCls}-options`]: {\n display: 'inline-block',\n marginInlineStart: token.margin,\n verticalAlign: 'middle',\n '&-size-changer': {\n display: 'inline-block',\n width: 'auto'\n },\n '&-quick-jumper': {\n display: 'inline-block',\n height: token.controlHeight,\n marginInlineStart: token.marginXS,\n lineHeight: unit(token.controlHeight),\n verticalAlign: 'top',\n input: Object.assign(Object.assign(Object.assign({}, genBasicInputStyle(token)), genBaseOutlinedStyle(token, {\n borderColor: token.colorBorder,\n hoverBorderColor: token.colorPrimaryHover,\n activeBorderColor: token.colorPrimary,\n activeShadow: token.activeShadow\n })), {\n '&[disabled]': Object.assign({}, genDisabledStyle(token)),\n width: token.calc(token.controlHeightLG).mul(1.25).equal(),\n height: token.controlHeight,\n boxSizing: 'border-box',\n margin: 0,\n marginInlineStart: token.marginXS,\n marginInlineEnd: token.marginXS\n })\n }\n }\n };\n};\nconst genPaginationItemStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-item`]: {\n display: 'inline-block',\n minWidth: token.itemSize,\n height: token.itemSize,\n marginInlineEnd: token.marginXS,\n fontFamily: token.fontFamily,\n lineHeight: unit(token.calc(token.itemSize).sub(2).equal()),\n textAlign: 'center',\n verticalAlign: 'middle',\n listStyle: 'none',\n backgroundColor: token.itemBg,\n border: `${unit(token.lineWidth)} ${token.lineType} transparent`,\n borderRadius: token.borderRadius,\n outline: 0,\n cursor: 'pointer',\n userSelect: 'none',\n a: {\n display: 'block',\n padding: `0 ${unit(token.paginationItemPaddingInline)}`,\n color: token.colorText,\n '&:hover': {\n textDecoration: 'none'\n }\n },\n [`&:not(${componentCls}-item-active)`]: {\n '&:hover': {\n transition: `all ${token.motionDurationMid}`,\n backgroundColor: token.colorBgTextHover\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n }\n },\n '&-active': {\n fontWeight: token.fontWeightStrong,\n backgroundColor: token.itemActiveBg,\n borderColor: token.colorPrimary,\n a: {\n color: token.colorPrimary\n },\n '&:hover': {\n borderColor: token.colorPrimaryHover\n },\n '&:hover a': {\n color: token.colorPrimaryHover\n }\n }\n }\n };\n};\nconst genPaginationStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'flex',\n '&-start': {\n justifyContent: 'start'\n },\n '&-center': {\n justifyContent: 'center'\n },\n '&-end': {\n justifyContent: 'end'\n },\n 'ul, ol': {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n '&::after': {\n display: 'block',\n clear: 'both',\n height: 0,\n overflow: 'hidden',\n visibility: 'hidden',\n content: '\"\"'\n },\n [`${componentCls}-total-text`]: {\n display: 'inline-block',\n height: token.itemSize,\n marginInlineEnd: token.marginXS,\n lineHeight: unit(token.calc(token.itemSize).sub(2).equal()),\n verticalAlign: 'middle'\n }\n }), genPaginationItemStyle(token)), genPaginationJumpStyle(token)), genPaginationSimpleStyle(token)), genPaginationMiniStyle(token)), genPaginationDisabledStyle(token)), {\n // media query style\n [`@media only screen and (max-width: ${token.screenLG}px)`]: {\n [`${componentCls}-item`]: {\n '&-after-jump-prev, &-before-jump-next': {\n display: 'none'\n }\n }\n },\n [`@media only screen and (max-width: ${token.screenSM}px)`]: {\n [`${componentCls}-options`]: {\n display: 'none'\n }\n }\n }),\n // rtl style\n [`&${token.componentCls}-rtl`]: {\n direction: 'rtl'\n }\n };\n};\nconst genPaginationFocusStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}:not(${componentCls}-disabled)`]: {\n [`${componentCls}-item`]: Object.assign({}, genFocusStyle(token)),\n [`${componentCls}-jump-prev, ${componentCls}-jump-next`]: {\n '&:focus-visible': Object.assign({\n [`${componentCls}-item-link-icon`]: {\n opacity: 1\n },\n [`${componentCls}-item-ellipsis`]: {\n opacity: 0\n }\n }, genFocusOutline(token))\n },\n [`${componentCls}-prev, ${componentCls}-next`]: {\n [`&:focus-visible ${componentCls}-item-link`]: Object.assign({}, genFocusOutline(token))\n }\n }\n };\n};\nexport const prepareComponentToken = token => Object.assign({\n itemBg: token.colorBgContainer,\n itemSize: token.controlHeight,\n itemSizeSM: token.controlHeightSM,\n itemActiveBg: token.colorBgContainer,\n itemLinkBg: token.colorBgContainer,\n itemActiveColorDisabled: token.colorTextDisabled,\n itemActiveBgDisabled: token.controlItemBgActiveDisabled,\n itemInputBg: token.colorBgContainer,\n miniOptionsSizeChangerTop: 0\n}, initComponentToken(token));\nexport const prepareToken = token => mergeToken(token, {\n inputOutlineOffset: 0,\n paginationMiniOptionsMarginInlineStart: token.calc(token.marginXXS).div(2).equal(),\n paginationMiniQuickJumperInputWidth: token.calc(token.controlHeightLG).mul(1.1).equal(),\n paginationItemPaddingInline: token.calc(token.marginXXS).mul(1.5).equal(),\n paginationEllipsisLetterSpacing: token.calc(token.marginXXS).div(2).equal(),\n paginationSlashMarginInlineStart: token.marginSM,\n paginationSlashMarginInlineEnd: token.marginSM,\n paginationEllipsisTextIndent: '0.13em' // magic for ui experience\n}, initInputToken(token));\n// ============================== Export ==============================\nexport default genStyleHooks('Pagination', token => {\n const paginationToken = prepareToken(token);\n return [genPaginationStyle(paginationToken), genPaginationFocusStyle(paginationToken)];\n}, prepareComponentToken);","import { unit } from '@ant-design/cssinjs';\nimport { prepareComponentToken, prepareToken } from '.';\nimport { genSubStyleComponent } from '../../theme/internal';\nconst genBorderedStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}${componentCls}-bordered${componentCls}-disabled:not(${componentCls}-mini)`]: {\n '&, &:hover': {\n [`${componentCls}-item-link`]: {\n borderColor: token.colorBorder\n }\n },\n '&:focus-visible': {\n [`${componentCls}-item-link`]: {\n borderColor: token.colorBorder\n }\n },\n [`${componentCls}-item, ${componentCls}-item-link`]: {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n [`&:hover:not(${componentCls}-item-active)`]: {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n a: {\n color: token.colorTextDisabled\n }\n },\n [`&${componentCls}-item-active`]: {\n backgroundColor: token.itemActiveBgDisabled\n }\n },\n [`${componentCls}-prev, ${componentCls}-next`]: {\n '&:hover button': {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n color: token.colorTextDisabled\n },\n [`${componentCls}-item-link`]: {\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder\n }\n }\n },\n [`${componentCls}${componentCls}-bordered:not(${componentCls}-mini)`]: {\n [`${componentCls}-prev, ${componentCls}-next`]: {\n '&:hover button': {\n borderColor: token.colorPrimaryHover,\n backgroundColor: token.itemBg\n },\n [`${componentCls}-item-link`]: {\n backgroundColor: token.itemLinkBg,\n borderColor: token.colorBorder\n },\n [`&:hover ${componentCls}-item-link`]: {\n borderColor: token.colorPrimary,\n backgroundColor: token.itemBg,\n color: token.colorPrimary\n },\n [`&${componentCls}-disabled`]: {\n [`${componentCls}-item-link`]: {\n borderColor: token.colorBorder,\n color: token.colorTextDisabled\n }\n }\n },\n [`${componentCls}-item`]: {\n backgroundColor: token.itemBg,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n [`&:hover:not(${componentCls}-item-active)`]: {\n borderColor: token.colorPrimary,\n backgroundColor: token.itemBg,\n a: {\n color: token.colorPrimary\n }\n },\n '&-active': {\n borderColor: token.colorPrimary\n }\n }\n }\n };\n};\nexport default genSubStyleComponent(['Pagination', 'bordered'], token => {\n const paginationToken = prepareToken(token);\n return [genBorderedStyle(paginationToken)];\n}, prepareComponentToken);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport DoubleLeftOutlined from \"@ant-design/icons/es/icons/DoubleLeftOutlined\";\nimport DoubleRightOutlined from \"@ant-design/icons/es/icons/DoubleRightOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcPagination from 'rc-pagination';\nimport enUS from \"rc-pagination/es/locale/en_US\";\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport { useLocale } from '../locale';\nimport { useToken } from '../theme/internal';\nimport { MiddleSelect, MiniSelect } from './Select';\nimport useStyle from './style';\nimport BorderedStyle from './style/bordered';\nconst Pagination = props => {\n const {\n align,\n prefixCls: customizePrefixCls,\n selectPrefixCls: customizeSelectPrefixCls,\n className,\n rootClassName,\n style,\n size: customizeSize,\n locale: customLocale,\n selectComponentClass,\n responsive,\n showSizeChanger\n } = props,\n restProps = __rest(props, [\"align\", \"prefixCls\", \"selectPrefixCls\", \"className\", \"rootClassName\", \"style\", \"size\", \"locale\", \"selectComponentClass\", \"responsive\", \"showSizeChanger\"]);\n const {\n xs\n } = useBreakpoint(responsive);\n const [, token] = useToken();\n const {\n getPrefixCls,\n direction,\n pagination = {}\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('pagination', customizePrefixCls);\n // Style\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const mergedShowSizeChanger = showSizeChanger !== null && showSizeChanger !== void 0 ? showSizeChanger : pagination.showSizeChanger;\n const iconsProps = React.useMemo(() => {\n const ellipsis = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-item-ellipsis`\n }, \"\\u2022\\u2022\\u2022\");\n const prevIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: `${prefixCls}-item-link`,\n type: \"button\",\n tabIndex: -1\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(RightOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null));\n const nextIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: `${prefixCls}-item-link`,\n type: \"button\",\n tabIndex: -1\n }, direction === 'rtl' ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null));\n const jumpPrevIcon =\n /*#__PURE__*/\n // biome-ignore lint/a11y/useValidAnchor: it is hard to refactor\n React.createElement(\"a\", {\n className: `${prefixCls}-item-link`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-container`\n }, direction === 'rtl' ? (/*#__PURE__*/React.createElement(DoubleRightOutlined, {\n className: `${prefixCls}-item-link-icon`\n })) : (/*#__PURE__*/React.createElement(DoubleLeftOutlined, {\n className: `${prefixCls}-item-link-icon`\n })), ellipsis));\n const jumpNextIcon =\n /*#__PURE__*/\n // biome-ignore lint/a11y/useValidAnchor: it is hard to refactor\n React.createElement(\"a\", {\n className: `${prefixCls}-item-link`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-container`\n }, direction === 'rtl' ? (/*#__PURE__*/React.createElement(DoubleLeftOutlined, {\n className: `${prefixCls}-item-link-icon`\n })) : (/*#__PURE__*/React.createElement(DoubleRightOutlined, {\n className: `${prefixCls}-item-link-icon`\n })), ellipsis));\n return {\n prevIcon,\n nextIcon,\n jumpPrevIcon,\n jumpNextIcon\n };\n }, [direction, prefixCls]);\n const [contextLocale] = useLocale('Pagination', enUS);\n const locale = Object.assign(Object.assign({}, contextLocale), customLocale);\n const mergedSize = useSize(customizeSize);\n const isSmall = mergedSize === 'small' || !!(xs && !mergedSize && responsive);\n const selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n const extendedClassName = classNames({\n [`${prefixCls}-${align}`]: !!align,\n [`${prefixCls}-mini`]: isSmall,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-bordered`]: token.wireframe\n }, pagination === null || pagination === void 0 ? void 0 : pagination.className, className, rootClassName, hashId, cssVarCls);\n const mergedStyle = Object.assign(Object.assign({}, pagination === null || pagination === void 0 ? void 0 : pagination.style), style);\n return wrapCSSVar(/*#__PURE__*/React.createElement(React.Fragment, null, token.wireframe && /*#__PURE__*/React.createElement(BorderedStyle, {\n prefixCls: prefixCls\n }), /*#__PURE__*/React.createElement(RcPagination, Object.assign({}, iconsProps, restProps, {\n style: mergedStyle,\n prefixCls: prefixCls,\n selectPrefixCls: selectPrefixCls,\n className: extendedClassName,\n selectComponentClass: selectComponentClass || (isSmall ? MiniSelect : MiddleSelect),\n locale: locale,\n showSizeChanger: mergedShowSizeChanger\n }))));\n};\nif (process.env.NODE_ENV !== 'production') {\n Pagination.displayName = 'Pagination';\n}\nexport default Pagination;","\"use client\";\n\nimport Pagination from './Pagination';\nexport default Pagination;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nconst viewSize = 100;\nconst borderWidth = viewSize / 5;\nconst radius = viewSize / 2 - borderWidth / 2;\nconst circumference = radius * 2 * Math.PI;\nconst position = 50;\nconst CustomCircle = props => {\n const {\n dotClassName,\n style,\n hasCircleCls\n } = props;\n return /*#__PURE__*/React.createElement(\"circle\", {\n className: classNames(`${dotClassName}-circle`, {\n [`${dotClassName}-circle-bg`]: hasCircleCls\n }),\n r: radius,\n cx: position,\n cy: position,\n strokeWidth: borderWidth,\n style: style\n });\n};\nconst Progress = _ref => {\n let {\n percent,\n prefixCls\n } = _ref;\n const dotClassName = `${prefixCls}-dot`;\n const holderClassName = `${dotClassName}-holder`;\n const hideClassName = `${holderClassName}-hidden`;\n const [render, setRender] = React.useState(false);\n // ==================== Visible =====================\n useLayoutEffect(() => {\n if (percent !== 0) {\n setRender(true);\n }\n }, [percent !== 0]);\n // ==================== Progress ====================\n const safePtg = Math.max(Math.min(percent, 100), 0);\n // ===================== Render =====================\n if (!render) {\n return null;\n }\n const circleStyle = {\n strokeDashoffset: `${circumference / 4}`,\n strokeDasharray: `${circumference * safePtg / 100} ${circumference * (100 - safePtg) / 100}`\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(holderClassName, `${dotClassName}-progress`, safePtg <= 0 && hideClassName)\n }, /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: `0 0 ${viewSize} ${viewSize}`,\n // biome-ignore lint/a11y/noNoninteractiveElementToInteractiveRole: progressbar could be readonly\n role: \"progressbar\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": safePtg\n }, /*#__PURE__*/React.createElement(CustomCircle, {\n dotClassName: dotClassName,\n hasCircleCls: true\n }), /*#__PURE__*/React.createElement(CustomCircle, {\n dotClassName: dotClassName,\n style: circleStyle\n })));\n};\nexport default Progress;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Progress from './Progress';\nexport default function Looper(props) {\n const {\n prefixCls,\n percent = 0\n } = props;\n const dotClassName = `${prefixCls}-dot`;\n const holderClassName = `${dotClassName}-holder`;\n const hideClassName = `${holderClassName}-hidden`;\n // ===================== Render =====================\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(holderClassName, percent > 0 && hideClassName)\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(dotClassName, `${prefixCls}-dot-spin`)\n }, [1, 2, 3, 4].map(i => (/*#__PURE__*/React.createElement(\"i\", {\n className: `${prefixCls}-dot-item`,\n key: i\n }))))), /*#__PURE__*/React.createElement(Progress, {\n prefixCls: prefixCls,\n percent: percent\n }));\n}","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { cloneElement } from '../../_util/reactNode';\nimport Looper from './Looper';\nexport default function Indicator(props) {\n const {\n prefixCls,\n indicator,\n percent\n } = props;\n const dotClassName = `${prefixCls}-dot`;\n if (indicator && /*#__PURE__*/React.isValidElement(indicator)) {\n return cloneElement(indicator, {\n className: classNames(indicator.props.className, dotClassName),\n percent\n });\n }\n return /*#__PURE__*/React.createElement(Looper, {\n prefixCls: prefixCls,\n percent: percent\n });\n}","import { Keyframes } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nconst antSpinMove = new Keyframes('antSpinMove', {\n to: {\n opacity: 1\n }\n});\nconst antRotate = new Keyframes('antRotate', {\n to: {\n transform: 'rotate(405deg)'\n }\n});\nconst genSpinStyle = token => {\n const {\n componentCls,\n calc\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n display: 'none',\n color: token.colorPrimary,\n fontSize: 0,\n textAlign: 'center',\n verticalAlign: 'middle',\n opacity: 0,\n transition: `transform ${token.motionDurationSlow} ${token.motionEaseInOutCirc}`,\n '&-spinning': {\n position: 'relative',\n display: 'inline-block',\n opacity: 1\n },\n [`${componentCls}-text`]: {\n fontSize: token.fontSize,\n paddingTop: calc(calc(token.dotSize).sub(token.fontSize)).div(2).add(2).equal()\n },\n '&-fullscreen': {\n position: 'fixed',\n width: '100vw',\n height: '100vh',\n backgroundColor: token.colorBgMask,\n zIndex: token.zIndexPopupBase,\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center',\n opacity: 0,\n visibility: 'hidden',\n transition: `all ${token.motionDurationMid}`,\n '&-show': {\n opacity: 1,\n visibility: 'visible'\n },\n [componentCls]: {\n [`${componentCls}-dot-holder`]: {\n color: token.colorWhite\n },\n [`${componentCls}-text`]: {\n color: token.colorTextLightSolid\n }\n }\n },\n '&-nested-loading': {\n position: 'relative',\n [`> div > ${componentCls}`]: {\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n zIndex: 4,\n display: 'block',\n width: '100%',\n height: '100%',\n maxHeight: token.contentHeight,\n [`${componentCls}-dot`]: {\n position: 'absolute',\n top: '50%',\n insetInlineStart: '50%',\n margin: calc(token.dotSize).mul(-1).div(2).equal()\n },\n [`${componentCls}-text`]: {\n position: 'absolute',\n top: '50%',\n width: '100%',\n textShadow: `0 1px 2px ${token.colorBgContainer}` // FIXME: shadow\n },\n [`&${componentCls}-show-text ${componentCls}-dot`]: {\n marginTop: calc(token.dotSize).div(2).mul(-1).sub(10).equal()\n },\n '&-sm': {\n [`${componentCls}-dot`]: {\n margin: calc(token.dotSizeSM).mul(-1).div(2).equal()\n },\n [`${componentCls}-text`]: {\n paddingTop: calc(calc(token.dotSizeSM).sub(token.fontSize)).div(2).add(2).equal()\n },\n [`&${componentCls}-show-text ${componentCls}-dot`]: {\n marginTop: calc(token.dotSizeSM).div(2).mul(-1).sub(10).equal()\n }\n },\n '&-lg': {\n [`${componentCls}-dot`]: {\n margin: calc(token.dotSizeLG).mul(-1).div(2).equal()\n },\n [`${componentCls}-text`]: {\n paddingTop: calc(calc(token.dotSizeLG).sub(token.fontSize)).div(2).add(2).equal()\n },\n [`&${componentCls}-show-text ${componentCls}-dot`]: {\n marginTop: calc(token.dotSizeLG).div(2).mul(-1).sub(10).equal()\n }\n }\n },\n [`${componentCls}-container`]: {\n position: 'relative',\n transition: `opacity ${token.motionDurationSlow}`,\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n zIndex: 10,\n width: '100%',\n height: '100%',\n background: token.colorBgContainer,\n opacity: 0,\n transition: `all ${token.motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n }\n },\n [`${componentCls}-blur`]: {\n clear: 'both',\n opacity: 0.5,\n userSelect: 'none',\n pointerEvents: 'none',\n '&::after': {\n opacity: 0.4,\n pointerEvents: 'auto'\n }\n }\n },\n // tip\n // ------------------------------\n '&-tip': {\n color: token.spinDotDefault\n },\n // holder\n // ------------------------------\n [`${componentCls}-dot-holder`]: {\n width: '1em',\n height: '1em',\n fontSize: token.dotSize,\n display: 'inline-block',\n transition: `transform ${token.motionDurationSlow} ease, opacity ${token.motionDurationSlow} ease`,\n transformOrigin: '50% 50%',\n lineHeight: 1,\n color: token.colorPrimary,\n '&-hidden': {\n transform: 'scale(0.3)',\n opacity: 0\n }\n },\n // progress\n // ------------------------------\n [`${componentCls}-dot-progress`]: {\n position: 'absolute',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n insetInlineStart: '50%'\n },\n // dots\n // ------------------------------\n [`${componentCls}-dot`]: {\n position: 'relative',\n display: 'inline-block',\n fontSize: token.dotSize,\n width: '1em',\n height: '1em',\n '&-item': {\n position: 'absolute',\n display: 'block',\n width: calc(token.dotSize).sub(calc(token.marginXXS).div(2)).div(2).equal(),\n height: calc(token.dotSize).sub(calc(token.marginXXS).div(2)).div(2).equal(),\n background: 'currentColor',\n borderRadius: '100%',\n transform: 'scale(0.75)',\n transformOrigin: '50% 50%',\n opacity: 0.3,\n animationName: antSpinMove,\n animationDuration: '1s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n '&:nth-child(1)': {\n top: 0,\n insetInlineStart: 0,\n animationDelay: '0s'\n },\n '&:nth-child(2)': {\n top: 0,\n insetInlineEnd: 0,\n animationDelay: '0.4s'\n },\n '&:nth-child(3)': {\n insetInlineEnd: 0,\n bottom: 0,\n animationDelay: '0.8s'\n },\n '&:nth-child(4)': {\n bottom: 0,\n insetInlineStart: 0,\n animationDelay: '1.2s'\n }\n },\n '&-spin': {\n transform: 'rotate(45deg)',\n animationName: antRotate,\n animationDuration: '1.2s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear'\n },\n '&-circle': {\n strokeLinecap: 'round',\n transition: ['stroke-dashoffset', 'stroke-dasharray', 'stroke', 'stroke-width', 'opacity'].map(item => `${item} ${token.motionDurationSlow} ease`).join(','),\n fillOpacity: 0,\n stroke: 'currentcolor'\n },\n '&-circle-bg': {\n stroke: token.colorFillSecondary\n }\n },\n // small\n [`&-sm ${componentCls}-dot`]: {\n '&, &-holder': {\n fontSize: token.dotSizeSM\n }\n },\n [`&-sm ${componentCls}-dot-holder`]: {\n i: {\n width: calc(calc(token.dotSizeSM).sub(calc(token.marginXXS).div(2))).div(2).equal(),\n height: calc(calc(token.dotSizeSM).sub(calc(token.marginXXS).div(2))).div(2).equal()\n }\n },\n // large\n [`&-lg ${componentCls}-dot`]: {\n '&, &-holder': {\n fontSize: token.dotSizeLG\n }\n },\n [`&-lg ${componentCls}-dot-holder`]: {\n i: {\n width: calc(calc(token.dotSizeLG).sub(token.marginXXS)).div(2).equal(),\n height: calc(calc(token.dotSizeLG).sub(token.marginXXS)).div(2).equal()\n }\n },\n [`&${componentCls}-show-text ${componentCls}-text`]: {\n display: 'block'\n }\n })\n };\n};\nexport const prepareComponentToken = token => {\n const {\n controlHeightLG,\n controlHeight\n } = token;\n return {\n contentHeight: 400,\n dotSize: controlHeightLG / 2,\n dotSizeSM: controlHeightLG * 0.35,\n dotSizeLG: controlHeight\n };\n};\n// ============================== Export ==============================\nexport default genStyleHooks('Spin', token => {\n const spinToken = mergeToken(token, {\n spinDotDefault: token.colorTextDescription\n });\n return [genSpinStyle(spinToken)];\n}, prepareComponentToken);","import * as React from 'react';\nconst AUTO_INTERVAL = 200;\nconst STEP_BUCKETS = [[30, 0.05], [70, 0.03], [96, 0.01]];\nexport default function usePercent(spinning, percent) {\n const [mockPercent, setMockPercent] = React.useState(0);\n const mockIntervalRef = React.useRef();\n const isAuto = percent === 'auto';\n React.useEffect(() => {\n if (isAuto && spinning) {\n setMockPercent(0);\n mockIntervalRef.current = setInterval(() => {\n setMockPercent(prev => {\n const restPTG = 100 - prev;\n for (let i = 0; i < STEP_BUCKETS.length; i += 1) {\n const [limit, stepPtg] = STEP_BUCKETS[i];\n if (prev <= limit) {\n return prev + restPTG * stepPtg;\n }\n }\n return prev;\n });\n }, AUTO_INTERVAL);\n }\n return () => {\n clearInterval(mockIntervalRef.current);\n };\n }, [isAuto, spinning]);\n return isAuto ? mockPercent : percent;\n}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { debounce } from 'throttle-debounce';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport Indicator from './Indicator';\nimport useStyle from './style/index';\nimport usePercent from './usePercent';\nconst _SpinSizes = ['small', 'default', 'large'];\n// Render indicator\nlet defaultIndicator;\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\nconst Spin = props => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n spinning: customSpinning = true,\n delay = 0,\n className,\n rootClassName,\n size = 'default',\n tip,\n wrapperClassName,\n style,\n children,\n fullscreen = false,\n indicator,\n percent\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"spinning\", \"delay\", \"className\", \"rootClassName\", \"size\", \"tip\", \"wrapperClassName\", \"style\", \"children\", \"fullscreen\", \"indicator\", \"percent\"]);\n const {\n getPrefixCls,\n direction,\n spin\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('spin', customizePrefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const [spinning, setSpinning] = React.useState(() => customSpinning && !shouldDelay(customSpinning, delay));\n const mergedPercent = usePercent(spinning, percent);\n React.useEffect(() => {\n if (customSpinning) {\n const showSpinning = debounce(delay, () => {\n setSpinning(true);\n });\n showSpinning();\n return () => {\n var _a;\n (_a = showSpinning === null || showSpinning === void 0 ? void 0 : showSpinning.cancel) === null || _a === void 0 ? void 0 : _a.call(showSpinning);\n };\n }\n setSpinning(false);\n }, [delay, customSpinning]);\n const isNestedPattern = React.useMemo(() => typeof children !== 'undefined' && !fullscreen, [children, fullscreen]);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Spin');\n process.env.NODE_ENV !== \"production\" ? warning(!tip || isNestedPattern || fullscreen, 'usage', '`tip` only work in nest or fullscreen pattern.') : void 0;\n }\n const spinClassName = classNames(prefixCls, spin === null || spin === void 0 ? void 0 : spin.className, {\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-spinning`]: spinning,\n [`${prefixCls}-show-text`]: !!tip,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, !fullscreen && rootClassName, hashId, cssVarCls);\n const containerClassName = classNames(`${prefixCls}-container`, {\n [`${prefixCls}-blur`]: spinning\n });\n const mergedIndicator = (_a = indicator !== null && indicator !== void 0 ? indicator : spin === null || spin === void 0 ? void 0 : spin.indicator) !== null && _a !== void 0 ? _a : defaultIndicator;\n const mergedStyle = Object.assign(Object.assign({}, spin === null || spin === void 0 ? void 0 : spin.style), style);\n const spinElement = /*#__PURE__*/React.createElement(\"div\", Object.assign({}, restProps, {\n style: mergedStyle,\n className: spinClassName,\n \"aria-live\": \"polite\",\n \"aria-busy\": spinning\n }), /*#__PURE__*/React.createElement(Indicator, {\n prefixCls: prefixCls,\n indicator: mergedIndicator,\n percent: mergedPercent\n }), tip && (isNestedPattern || fullscreen) ? (/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-text`\n }, tip)) : null);\n if (isNestedPattern) {\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({}, restProps, {\n className: classNames(`${prefixCls}-nested-loading`, wrapperClassName, hashId, cssVarCls)\n }), spinning && /*#__PURE__*/React.createElement(\"div\", {\n key: \"loading\"\n }, spinElement), /*#__PURE__*/React.createElement(\"div\", {\n className: containerClassName,\n key: \"container\"\n }, children)));\n }\n if (fullscreen) {\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-fullscreen`, {\n [`${prefixCls}-fullscreen-show`]: spinning\n }, rootClassName, hashId, cssVarCls)\n }, spinElement));\n }\n return wrapCSSVar(spinElement);\n};\nSpin.setDefaultIndicator = indicator => {\n defaultIndicator = indicator;\n};\nif (process.env.NODE_ENV !== 'production') {\n Spin.displayName = 'Spin';\n}\nexport default Spin;","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, callback, options) {\n var _ref = options || {},\n _ref$noTrailing = _ref.noTrailing,\n noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,\n _ref$noLeading = _ref.noLeading,\n noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,\n _ref$debounceMode = _ref.debounceMode,\n debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n var timeoutID;\n var cancelled = false;\n\n // Keep track of the last time `callback` was executed.\n var lastExec = 0;\n\n // Function to clear existing timeout\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n }\n\n // Function to cancel next exec\n function cancel(options) {\n var _ref2 = options || {},\n _ref2$upcomingOnly = _ref2.upcomingOnly,\n upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;\n clearExistingTimeout();\n cancelled = !upcomingOnly;\n }\n\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n var self = this;\n var elapsed = Date.now() - lastExec;\n if (cancelled) {\n return;\n }\n\n // Execute `callback` and update the `lastExec` timestamp.\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n function clear() {\n timeoutID = undefined;\n }\n if (!noLeading && debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`\n * and noLeading != true.\n */\n exec();\n }\n clearExistingTimeout();\n if (debounceMode === undefined && elapsed > delay) {\n if (noLeading) {\n /*\n * In throttle mode with noLeading, if `delay` time has\n * been exceeded, update `lastExec` and schedule `callback`\n * to execute after `delay` ms.\n */\n lastExec = Date.now();\n if (!noTrailing) {\n timeoutID = setTimeout(debounceMode ? clear : exec, delay);\n }\n } else {\n /*\n * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n }\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n wrapper.cancel = cancel;\n\n // Return the wrapper function.\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\nfunction debounce (delay, callback, options) {\n var _ref = options || {},\n _ref$atBegin = _ref.atBegin,\n atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;\n return throttle(delay, callback, {\n debounceMode: atBegin !== false\n });\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","export const getColumnKey = (column, defaultKey) => {\n if ('key' in column && column.key !== undefined && column.key !== null) {\n return column.key;\n }\n if (column.dataIndex) {\n return Array.isArray(column.dataIndex) ? column.dataIndex.join('.') : column.dataIndex;\n }\n return defaultKey;\n};\nexport function getColumnPos(index, pos) {\n return pos ? `${pos}-${index}` : `${index}`;\n}\nexport const renderColumnTitle = (title, props) => {\n if (typeof title === 'function') {\n return title(props);\n }\n return title;\n};\n/**\n * Safe get column title\n *\n * Should filter [object Object]\n *\n * @param title\n */\nexport const safeColumnTitle = (title, props) => {\n const res = renderColumnTitle(title, props);\n if (Object.prototype.toString.call(res) === '[object Object]') {\n return '';\n }\n return res;\n};","// This icon file is generated automatically.\nvar FilterFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z\" } }] }, \"name\": \"filter\", \"theme\": \"filled\" };\nexport default FilterFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FilterFilledSvg from \"@ant-design/icons-svg/es/asn/FilterFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FilterFilled = function FilterFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FilterFilledSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FilterFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FilterFilled';\n}\nexport default RefIcon;","const extendsObject = function () {\n const result = Object.assign({}, arguments.length <= 0 ? undefined : arguments[0]);\n for (let i = 1; i < arguments.length; i++) {\n const obj = i < 0 || arguments.length <= i ? undefined : arguments[i];\n if (obj) {\n Object.keys(obj).forEach(key => {\n const val = obj[key];\n if (val !== undefined) {\n result[key] = val;\n }\n });\n }\n }\n return result;\n};\nexport default extendsObject;","export function hasAddon(props) {\n return !!(props.addonBefore || props.addonAfter);\n}\nexport function hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}\n\n// TODO: It's better to use `Proxy` replace the `element.value`. But we still need support IE11.\nfunction cloneEvent(event, target, value) {\n // A bug report filed on WebKit's Bugzilla tracker, dating back to 2009, specifically addresses the issue of cloneNode() not copying files of <input type=\"file\"> elements.\n // As of the last update, this bug was still marked as \"NEW,\" indicating that it might not have been resolved yet.\n // https://bugs.webkit.org/show_bug.cgi?id=28123\n var currentTarget = target.cloneNode(true);\n\n // click clear icon\n var newEvent = Object.create(event, {\n target: {\n value: currentTarget\n },\n currentTarget: {\n value: currentTarget\n }\n });\n\n // Fill data\n currentTarget.value = value;\n\n // Fill selection. Some type like `email` not support selection\n // https://github.com/ant-design/ant-design/issues/47833\n if (typeof target.selectionStart === 'number' && typeof target.selectionEnd === 'number') {\n currentTarget.selectionStart = target.selectionStart;\n currentTarget.selectionEnd = target.selectionEnd;\n }\n currentTarget.setSelectionRange = function () {\n target.setSelectionRange.apply(target, arguments);\n };\n return newEvent;\n}\nexport function resolveOnChange(target, e, onChange, targetValue) {\n if (!onChange) {\n return;\n }\n var event = e;\n if (e.type === 'click') {\n // Clone a new target for event.\n // Avoid the following usage, the setQuery method gets the original value.\n //\n // const [query, setQuery] = React.useState('');\n // <Input\n // allowClear\n // value={query}\n // onChange={(e)=> {\n // setQuery((prevStatus) => e.target.value);\n // }}\n // />\n\n event = cloneEvent(e, target, '');\n onChange(event);\n return;\n }\n\n // Trigger by composition event, this means we need force change the input value\n // https://github.com/ant-design/ant-design/issues/45737\n // https://github.com/ant-design/ant-design/issues/46598\n if (target.type !== 'file' && targetValue !== undefined) {\n event = cloneEvent(e, target, targetValue);\n onChange(event);\n return;\n }\n onChange(event);\n}\nexport function triggerFocus(element, option) {\n if (!element) return;\n element.focus(option);\n\n // Selection content\n var _ref = option || {},\n cursor = _ref.cursor;\n if (cursor) {\n var len = element.value.length;\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n case 'end':\n element.setSelectionRange(len, len);\n break;\n default:\n element.setSelectionRange(0, len);\n }\n }\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport clsx from 'classnames';\nimport React, { cloneElement, useRef } from 'react';\nimport { hasAddon, hasPrefixSuffix } from \"./utils/commonUtils\";\nvar BaseInput = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _element$props, _element$props2;\n var inputEl = props.inputElement,\n children = props.children,\n prefixCls = props.prefixCls,\n prefix = props.prefix,\n suffix = props.suffix,\n addonBefore = props.addonBefore,\n addonAfter = props.addonAfter,\n className = props.className,\n style = props.style,\n disabled = props.disabled,\n readOnly = props.readOnly,\n focused = props.focused,\n triggerFocus = props.triggerFocus,\n allowClear = props.allowClear,\n value = props.value,\n handleReset = props.handleReset,\n hidden = props.hidden,\n classes = props.classes,\n classNames = props.classNames,\n dataAttrs = props.dataAttrs,\n styles = props.styles,\n components = props.components,\n onClear = props.onClear;\n var inputElement = children !== null && children !== void 0 ? children : inputEl;\n var AffixWrapperComponent = (components === null || components === void 0 ? void 0 : components.affixWrapper) || 'span';\n var GroupWrapperComponent = (components === null || components === void 0 ? void 0 : components.groupWrapper) || 'span';\n var WrapperComponent = (components === null || components === void 0 ? void 0 : components.wrapper) || 'span';\n var GroupAddonComponent = (components === null || components === void 0 ? void 0 : components.groupAddon) || 'span';\n var containerRef = useRef(null);\n var onInputClick = function onInputClick(e) {\n var _containerRef$current;\n if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(e.target)) {\n triggerFocus === null || triggerFocus === void 0 || triggerFocus();\n }\n };\n var hasAffix = hasPrefixSuffix(props);\n var element = /*#__PURE__*/cloneElement(inputElement, {\n value: value,\n className: clsx(inputElement.props.className, !hasAffix && (classNames === null || classNames === void 0 ? void 0 : classNames.variant)) || null\n });\n\n // ======================== Ref ======================== //\n var groupRef = useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: groupRef.current || containerRef.current\n };\n });\n\n // ================== Prefix & Suffix ================== //\n if (hasAffix) {\n // ================== Clear Icon ================== //\n var clearIcon = null;\n if (allowClear) {\n var needClear = !disabled && !readOnly && value;\n var clearIconCls = \"\".concat(prefixCls, \"-clear-icon\");\n var iconNode = _typeof(allowClear) === 'object' && allowClear !== null && allowClear !== void 0 && allowClear.clearIcon ? allowClear.clearIcon : '✖';\n clearIcon = /*#__PURE__*/React.createElement(\"span\", {\n onClick: function onClick(event) {\n handleReset === null || handleReset === void 0 || handleReset(event);\n onClear === null || onClear === void 0 || onClear();\n }\n // Do not trigger onBlur when clear input\n // https://github.com/ant-design/ant-design/issues/31200\n ,\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n },\n className: clsx(clearIconCls, _defineProperty(_defineProperty({}, \"\".concat(clearIconCls, \"-hidden\"), !needClear), \"\".concat(clearIconCls, \"-has-suffix\"), !!suffix)),\n role: \"button\",\n tabIndex: -1\n }, iconNode);\n }\n var affixWrapperPrefixCls = \"\".concat(prefixCls, \"-affix-wrapper\");\n var affixWrapperCls = clsx(affixWrapperPrefixCls, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), \"\".concat(affixWrapperPrefixCls, \"-disabled\"), disabled), \"\".concat(affixWrapperPrefixCls, \"-focused\"), focused), \"\".concat(affixWrapperPrefixCls, \"-readonly\"), readOnly), \"\".concat(affixWrapperPrefixCls, \"-input-with-clear-btn\"), suffix && allowClear && value), classes === null || classes === void 0 ? void 0 : classes.affixWrapper, classNames === null || classNames === void 0 ? void 0 : classNames.affixWrapper, classNames === null || classNames === void 0 ? void 0 : classNames.variant);\n var suffixNode = (suffix || allowClear) && /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-suffix\"), classNames === null || classNames === void 0 ? void 0 : classNames.suffix),\n style: styles === null || styles === void 0 ? void 0 : styles.suffix\n }, clearIcon, suffix);\n element = /*#__PURE__*/React.createElement(AffixWrapperComponent, _extends({\n className: affixWrapperCls,\n style: styles === null || styles === void 0 ? void 0 : styles.affixWrapper,\n onClick: onInputClick\n }, dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.affixWrapper, {\n ref: containerRef\n }), prefix && /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-prefix\"), classNames === null || classNames === void 0 ? void 0 : classNames.prefix),\n style: styles === null || styles === void 0 ? void 0 : styles.prefix\n }, prefix), element, suffixNode);\n }\n\n // ================== Addon ================== //\n if (hasAddon(props)) {\n var wrapperCls = \"\".concat(prefixCls, \"-group\");\n var addonCls = \"\".concat(wrapperCls, \"-addon\");\n var groupWrapperCls = \"\".concat(wrapperCls, \"-wrapper\");\n var mergedWrapperClassName = clsx(\"\".concat(prefixCls, \"-wrapper\"), wrapperCls, classes === null || classes === void 0 ? void 0 : classes.wrapper, classNames === null || classNames === void 0 ? void 0 : classNames.wrapper);\n var mergedGroupClassName = clsx(groupWrapperCls, _defineProperty({}, \"\".concat(groupWrapperCls, \"-disabled\"), disabled), classes === null || classes === void 0 ? void 0 : classes.group, classNames === null || classNames === void 0 ? void 0 : classNames.groupWrapper);\n\n // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n element = /*#__PURE__*/React.createElement(GroupWrapperComponent, {\n className: mergedGroupClassName,\n ref: groupRef\n }, /*#__PURE__*/React.createElement(WrapperComponent, {\n className: mergedWrapperClassName\n }, addonBefore && /*#__PURE__*/React.createElement(GroupAddonComponent, {\n className: addonCls\n }, addonBefore), element, addonAfter && /*#__PURE__*/React.createElement(GroupAddonComponent, {\n className: addonCls\n }, addonAfter)));\n }\n\n // `className` and `style` are always on the root element\n return /*#__PURE__*/React.cloneElement(element, {\n className: clsx((_element$props = element.props) === null || _element$props === void 0 ? void 0 : _element$props.className, className) || null,\n style: _objectSpread(_objectSpread({}, (_element$props2 = element.props) === null || _element$props2 === void 0 ? void 0 : _element$props2.style), style),\n hidden: hidden\n });\n});\nexport default BaseInput;","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"show\"];\nimport * as React from 'react';\n/**\n * Cut `value` by the `count.max` prop.\n */\nexport function inCountRange(value, countConfig) {\n if (!countConfig.max) {\n return true;\n }\n var count = countConfig.strategy(value);\n return count <= countConfig.max;\n}\nexport default function useCount(count, showCount) {\n return React.useMemo(function () {\n var mergedConfig = {};\n if (showCount) {\n mergedConfig.show = _typeof(showCount) === 'object' && showCount.formatter ? showCount.formatter : !!showCount;\n }\n mergedConfig = _objectSpread(_objectSpread({}, mergedConfig), count);\n var _ref = mergedConfig,\n show = _ref.show,\n rest = _objectWithoutProperties(_ref, _excluded);\n return _objectSpread(_objectSpread({}, rest), {}, {\n show: !!show,\n showFormatter: typeof show === 'function' ? show : undefined,\n strategy: rest.strategy || function (value) {\n return value.length;\n }\n });\n }, [count, showCount]);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"autoComplete\", \"onChange\", \"onFocus\", \"onBlur\", \"onPressEnter\", \"onKeyDown\", \"onKeyUp\", \"prefixCls\", \"disabled\", \"htmlSize\", \"className\", \"maxLength\", \"suffix\", \"showCount\", \"count\", \"type\", \"classes\", \"classNames\", \"styles\", \"onCompositionStart\", \"onCompositionEnd\"];\nimport clsx from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport React, { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport BaseInput from \"./BaseInput\";\nimport useCount from \"./hooks/useCount\";\nimport { resolveOnChange, triggerFocus } from \"./utils/commonUtils\";\nvar Input = /*#__PURE__*/forwardRef(function (props, ref) {\n var autoComplete = props.autoComplete,\n onChange = props.onChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onPressEnter = props.onPressEnter,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-input' : _props$prefixCls,\n disabled = props.disabled,\n htmlSize = props.htmlSize,\n className = props.className,\n maxLength = props.maxLength,\n suffix = props.suffix,\n showCount = props.showCount,\n count = props.count,\n _props$type = props.type,\n type = _props$type === void 0 ? 'text' : _props$type,\n classes = props.classes,\n classNames = props.classNames,\n styles = props.styles,\n _onCompositionStart = props.onCompositionStart,\n onCompositionEnd = props.onCompositionEnd,\n rest = _objectWithoutProperties(props, _excluded);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n focused = _useState2[0],\n setFocused = _useState2[1];\n var compositionRef = useRef(false);\n var keyLockRef = useRef(false);\n var inputRef = useRef(null);\n var holderRef = useRef(null);\n var focus = function focus(option) {\n if (inputRef.current) {\n triggerFocus(inputRef.current, option);\n }\n };\n\n // ====================== Value =======================\n var _useMergedState = useMergedState(props.defaultValue, {\n value: props.value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n var formatValue = value === undefined || value === null ? '' : String(value);\n\n // =================== Select Range ===================\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selection = _useState4[0],\n setSelection = _useState4[1];\n\n // ====================== Count =======================\n var countConfig = useCount(count, showCount);\n var mergedMax = countConfig.max || maxLength;\n var valueLength = countConfig.strategy(formatValue);\n var isOutOfRange = !!mergedMax && valueLength > mergedMax;\n\n // ======================= Ref ========================\n useImperativeHandle(ref, function () {\n var _holderRef$current;\n return {\n focus: focus,\n blur: function blur() {\n var _inputRef$current;\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.blur();\n },\n setSelectionRange: function setSelectionRange(start, end, direction) {\n var _inputRef$current2;\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.setSelectionRange(start, end, direction);\n },\n select: function select() {\n var _inputRef$current3;\n (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 || _inputRef$current3.select();\n },\n input: inputRef.current,\n nativeElement: ((_holderRef$current = holderRef.current) === null || _holderRef$current === void 0 ? void 0 : _holderRef$current.nativeElement) || inputRef.current\n };\n });\n useEffect(function () {\n setFocused(function (prev) {\n return prev && disabled ? false : prev;\n });\n }, [disabled]);\n var triggerChange = function triggerChange(e, currentValue, info) {\n var cutValue = currentValue;\n if (!compositionRef.current && countConfig.exceedFormatter && countConfig.max && countConfig.strategy(currentValue) > countConfig.max) {\n cutValue = countConfig.exceedFormatter(currentValue, {\n max: countConfig.max\n });\n if (currentValue !== cutValue) {\n var _inputRef$current4, _inputRef$current5;\n setSelection([((_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.selectionStart) || 0, ((_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.selectionEnd) || 0]);\n }\n } else if (info.source === 'compositionEnd') {\n // Avoid triggering twice\n // https://github.com/ant-design/ant-design/issues/46587\n return;\n }\n setValue(cutValue);\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange, cutValue);\n }\n };\n useEffect(function () {\n if (selection) {\n var _inputRef$current6;\n (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 || _inputRef$current6.setSelectionRange.apply(_inputRef$current6, _toConsumableArray(selection));\n }\n }, [selection]);\n var onInternalChange = function onInternalChange(e) {\n triggerChange(e, e.target.value, {\n source: 'change'\n });\n };\n var onInternalCompositionEnd = function onInternalCompositionEnd(e) {\n compositionRef.current = false;\n triggerChange(e, e.currentTarget.value, {\n source: 'compositionEnd'\n });\n onCompositionEnd === null || onCompositionEnd === void 0 || onCompositionEnd(e);\n };\n var handleKeyDown = function handleKeyDown(e) {\n if (onPressEnter && e.key === 'Enter' && !keyLockRef.current) {\n keyLockRef.current = true;\n onPressEnter(e);\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(e);\n };\n var handleKeyUp = function handleKeyUp(e) {\n if (e.key === 'Enter') {\n keyLockRef.current = false;\n }\n onKeyUp === null || onKeyUp === void 0 || onKeyUp(e);\n };\n var handleFocus = function handleFocus(e) {\n setFocused(true);\n onFocus === null || onFocus === void 0 || onFocus(e);\n };\n var handleBlur = function handleBlur(e) {\n setFocused(false);\n onBlur === null || onBlur === void 0 || onBlur(e);\n };\n var handleReset = function handleReset(e) {\n setValue('');\n focus();\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange);\n }\n };\n\n // ====================== Input =======================\n var outOfRangeCls = isOutOfRange && \"\".concat(prefixCls, \"-out-of-range\");\n var getInputElement = function getInputElement() {\n // Fix https://fb.me/react-unknown-prop\n var otherProps = omit(props, ['prefixCls', 'onPressEnter', 'addonBefore', 'addonAfter', 'prefix', 'suffix', 'allowClear',\n // Input elements must be either controlled or uncontrolled,\n // specify either the value prop, or the defaultValue prop, but not both.\n 'defaultValue', 'showCount', 'count', 'classes', 'htmlSize', 'styles', 'classNames', 'onClear']);\n return /*#__PURE__*/React.createElement(\"input\", _extends({\n autoComplete: autoComplete\n }, otherProps, {\n onChange: onInternalChange,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n className: clsx(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), classNames === null || classNames === void 0 ? void 0 : classNames.input),\n style: styles === null || styles === void 0 ? void 0 : styles.input,\n ref: inputRef,\n size: htmlSize,\n type: type,\n onCompositionStart: function onCompositionStart(e) {\n compositionRef.current = true;\n _onCompositionStart === null || _onCompositionStart === void 0 || _onCompositionStart(e);\n },\n onCompositionEnd: onInternalCompositionEnd\n }));\n };\n var getSuffix = function getSuffix() {\n // Max length value\n var hasMaxLength = Number(mergedMax) > 0;\n if (suffix || countConfig.show) {\n var dataCount = countConfig.showFormatter ? countConfig.showFormatter({\n value: formatValue,\n count: valueLength,\n maxLength: mergedMax\n }) : \"\".concat(valueLength).concat(hasMaxLength ? \" / \".concat(mergedMax) : '');\n return /*#__PURE__*/React.createElement(React.Fragment, null, countConfig.show && /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-show-count-suffix\"), _defineProperty({}, \"\".concat(prefixCls, \"-show-count-has-suffix\"), !!suffix), classNames === null || classNames === void 0 ? void 0 : classNames.count),\n style: _objectSpread({}, styles === null || styles === void 0 ? void 0 : styles.count)\n }, dataCount), suffix);\n }\n return null;\n };\n\n // ====================== Render ======================\n return /*#__PURE__*/React.createElement(BaseInput, _extends({}, rest, {\n prefixCls: prefixCls,\n className: clsx(className, outOfRangeCls),\n handleReset: handleReset,\n value: formatValue,\n focused: focused,\n triggerFocus: focus,\n suffix: getSuffix(),\n disabled: disabled,\n classes: classes,\n classNames: classNames,\n styles: styles\n }), getInputElement());\n});\nexport default Input;","import BaseInput from \"./BaseInput\";\nimport Input from \"./Input\";\nexport { BaseInput };\nexport default Input;","\"use client\";\n\nimport React from 'react';\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nconst getAllowClear = allowClear => {\n let mergedAllowClear;\n if (typeof allowClear === 'object' && (allowClear === null || allowClear === void 0 ? void 0 : allowClear.clearIcon)) {\n mergedAllowClear = allowClear;\n } else if (allowClear) {\n mergedAllowClear = {\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null)\n };\n }\n return mergedAllowClear;\n};\nexport default getAllowClear;","import { useEffect, useRef } from 'react';\nexport default function useRemovePasswordTimeout(inputRef, triggerOnMount) {\n const removePasswordTimeoutRef = useRef([]);\n const removePasswordTimeout = () => {\n removePasswordTimeoutRef.current.push(setTimeout(() => {\n var _a, _b, _c, _d;\n if (((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) && ((_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.input.getAttribute('type')) === 'password' && ((_c = inputRef.current) === null || _c === void 0 ? void 0 : _c.input.hasAttribute('value'))) {\n (_d = inputRef.current) === null || _d === void 0 ? void 0 : _d.input.removeAttribute('value');\n }\n }));\n };\n useEffect(() => {\n if (triggerOnMount) {\n removePasswordTimeout();\n }\n return () => removePasswordTimeoutRef.current.forEach(timer => {\n if (timer) {\n clearTimeout(timer);\n }\n });\n }, []);\n return removePasswordTimeout;\n}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef, useContext, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport RcInput from 'rc-input';\nimport { triggerFocus } from \"rc-input/es/utils/commonUtils\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport ContextIsolator from '../_util/ContextIsolator';\nimport getAllowClear from '../_util/getAllowClear';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext } from '../form/context';\nimport useVariant from '../form/hooks/useVariants';\nimport { useCompactItemContext } from '../space/Compact';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport useStyle from './style';\nimport { hasPrefixSuffix } from './utils';\nexport { triggerFocus };\nconst Input = /*#__PURE__*/forwardRef((props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n bordered = true,\n status: customStatus,\n size: customSize,\n disabled: customDisabled,\n onBlur,\n onFocus,\n suffix,\n allowClear,\n addonAfter,\n addonBefore,\n className,\n style,\n styles,\n rootClassName,\n onChange,\n classNames: classes,\n variant: customVariant\n } = props,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"status\", \"size\", \"disabled\", \"onBlur\", \"onFocus\", \"suffix\", \"allowClear\", \"addonAfter\", \"addonBefore\", \"className\", \"style\", \"styles\", \"rootClassName\", \"onChange\", \"classNames\", \"variant\"]);\n if (process.env.NODE_ENV !== 'production') {\n const {\n deprecated\n } = devUseWarning('Input');\n deprecated(!('bordered' in props), 'bordered', 'variant');\n }\n const {\n getPrefixCls,\n direction,\n input\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n const inputRef = useRef(null);\n // Style\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n // ===================== Compact Item =====================\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n // ===================== Size =====================\n const mergedSize = useSize(ctx => {\n var _a;\n return (_a = customSize !== null && customSize !== void 0 ? customSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n // ===================== Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n feedbackIcon\n } = useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Focus warning =====================\n const inputHasPrefixSuffix = hasPrefixSuffix(props) || !!hasFeedback;\n const prevHasPrefixSuffix = useRef(inputHasPrefixSuffix);\n /* eslint-disable react-hooks/rules-of-hooks */\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Input');\n useEffect(() => {\n var _a;\n if (inputHasPrefixSuffix && !prevHasPrefixSuffix.current) {\n process.env.NODE_ENV !== \"production\" ? warning(document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input), 'usage', `When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ`) : void 0;\n }\n prevHasPrefixSuffix.current = inputHasPrefixSuffix;\n }, [inputHasPrefixSuffix]);\n }\n /* eslint-enable */\n // ===================== Remove Password value =====================\n const removePasswordTimeout = useRemovePasswordTimeout(inputRef, true);\n const handleBlur = e => {\n removePasswordTimeout();\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n const handleFocus = e => {\n removePasswordTimeout();\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n const handleChange = e => {\n removePasswordTimeout();\n onChange === null || onChange === void 0 ? void 0 : onChange(e);\n };\n const suffixNode = (hasFeedback || suffix) && (/*#__PURE__*/React.createElement(React.Fragment, null, suffix, hasFeedback && feedbackIcon));\n const mergedAllowClear = getAllowClear(allowClear !== null && allowClear !== void 0 ? allowClear : input === null || input === void 0 ? void 0 : input.allowClear);\n const [variant, enableVariantCls] = useVariant('input', customVariant, bordered);\n return wrapCSSVar(/*#__PURE__*/React.createElement(RcInput, Object.assign({\n ref: composeRef(ref, inputRef),\n prefixCls: prefixCls,\n autoComplete: input === null || input === void 0 ? void 0 : input.autoComplete\n }, rest, {\n disabled: mergedDisabled,\n onBlur: handleBlur,\n onFocus: handleFocus,\n style: Object.assign(Object.assign({}, input === null || input === void 0 ? void 0 : input.style), style),\n styles: Object.assign(Object.assign({}, input === null || input === void 0 ? void 0 : input.styles), styles),\n suffix: suffixNode,\n allowClear: mergedAllowClear,\n className: classNames(className, rootClassName, cssVarCls, rootCls, compactItemClassnames, input === null || input === void 0 ? void 0 : input.className),\n onChange: handleChange,\n addonBefore: addonBefore && (/*#__PURE__*/React.createElement(ContextIsolator, {\n form: true,\n space: true\n }, addonBefore)),\n addonAfter: addonAfter && (/*#__PURE__*/React.createElement(ContextIsolator, {\n form: true,\n space: true\n }, addonAfter)),\n classNames: Object.assign(Object.assign(Object.assign({}, classes), input === null || input === void 0 ? void 0 : input.classNames), {\n input: classNames({\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, classes === null || classes === void 0 ? void 0 : classes.input, (_a = input === null || input === void 0 ? void 0 : input.classNames) === null || _a === void 0 ? void 0 : _a.input, hashId),\n variant: classNames({\n [`${prefixCls}-${variant}`]: enableVariantCls\n }, getStatusClassNames(prefixCls, mergedStatus)),\n affixWrapper: classNames({\n [`${prefixCls}-affix-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-affix-wrapper-rtl`]: direction === 'rtl'\n }, hashId),\n wrapper: classNames({\n [`${prefixCls}-group-rtl`]: direction === 'rtl'\n }, hashId),\n groupWrapper: classNames({\n [`${prefixCls}-group-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-group-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-group-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-group-wrapper-${variant}`]: enableVariantCls\n }, getStatusClassNames(`${prefixCls}-group-wrapper`, mergedStatus, hasFeedback), hashId)\n })\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Input.displayName = 'Input';\n}\nexport default Input;","export function hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear || props.showCount);\n}","import { genStyleHooks, mergeToken } from '../../theme/internal';\nimport { initComponentToken, initInputToken } from './token';\n// =============================== OTP ================================\nconst genOTPStyle = token => {\n const {\n componentCls,\n paddingXS\n } = token;\n return {\n [componentCls]: {\n display: 'inline-flex',\n alignItems: 'center',\n flexWrap: 'nowrap',\n columnGap: paddingXS,\n '&-rtl': {\n direction: 'rtl'\n },\n [`${componentCls}-input`]: {\n textAlign: 'center',\n paddingInline: token.paddingXXS\n },\n // ================= Size =================\n [`&${componentCls}-sm ${componentCls}-input`]: {\n paddingInline: token.calc(token.paddingXXS).div(2).equal()\n },\n [`&${componentCls}-lg ${componentCls}-input`]: {\n paddingInline: token.paddingXS\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genStyleHooks(['Input', 'OTP'], token => {\n const inputToken = mergeToken(token, initInputToken(token));\n return [genOTPStyle(inputToken)];\n}, initComponentToken);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nimport Input from '../Input';\nconst OTPInput = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n value,\n onChange,\n onActiveChange,\n index,\n mask\n } = props,\n restProps = __rest(props, [\"value\", \"onChange\", \"onActiveChange\", \"index\", \"mask\"]);\n const internalValue = value && typeof mask === 'string' ? mask : value;\n const onInternalChange = e => {\n onChange(index, e.target.value);\n };\n // ========================== Ref ===========================\n const inputRef = React.useRef(null);\n React.useImperativeHandle(ref, () => inputRef.current);\n // ========================= Focus ==========================\n const syncSelection = () => {\n raf(() => {\n var _a;\n const inputEle = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input;\n if (document.activeElement === inputEle && inputEle) {\n inputEle.select();\n }\n });\n };\n // ======================== Keyboard ========================\n const onInternalKeyDown = event => {\n const {\n key,\n ctrlKey,\n metaKey\n } = event;\n if (key === 'ArrowLeft') {\n onActiveChange(index - 1);\n } else if (key === 'ArrowRight') {\n onActiveChange(index + 1);\n } else if (key === 'z' && (ctrlKey || metaKey)) {\n event.preventDefault();\n }\n syncSelection();\n };\n const onInternalKeyUp = e => {\n if (e.key === 'Backspace' && !value) {\n onActiveChange(index - 1);\n }\n syncSelection();\n };\n // ========================= Render =========================\n return /*#__PURE__*/React.createElement(Input, Object.assign({\n type: mask === true ? 'password' : 'text'\n }, restProps, {\n ref: inputRef,\n value: internalValue,\n onInput: onInternalChange,\n onFocus: syncSelection,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onMouseDown: syncSelection,\n onMouseUp: syncSelection\n }));\n});\nexport default OTPInput;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport useEvent from \"rc-util/es/hooks/useEvent\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport { getMergedStatus } from '../../_util/statusUtils';\nimport { devUseWarning } from '../../_util/warning';\nimport { ConfigContext } from '../../config-provider';\nimport useCSSVarCls from '../../config-provider/hooks/useCSSVarCls';\nimport useSize from '../../config-provider/hooks/useSize';\nimport { FormItemInputContext } from '../../form/context';\nimport useStyle from '../style/otp';\nimport OTPInput from './OTPInput';\nfunction strToArr(str) {\n return (str || '').split('');\n}\nconst OTP = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n length = 6,\n size: customSize,\n defaultValue,\n value,\n onChange,\n formatter,\n variant,\n disabled,\n status: customStatus,\n autoFocus,\n mask,\n type,\n onInput,\n inputMode\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"length\", \"size\", \"defaultValue\", \"value\", \"onChange\", \"formatter\", \"variant\", \"disabled\", \"status\", \"autoFocus\", \"mask\", \"type\", \"onInput\", \"inputMode\"]);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Input.OTP');\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof mask === 'string' && mask.length > 1), 'usage', '`mask` prop should be a single character.') : void 0;\n }\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('otp', customizePrefixCls);\n const domAttrs = pickAttrs(restProps, {\n aria: true,\n data: true,\n attr: true\n });\n // ========================= Root =========================\n // Style\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n // ========================= Size =========================\n const mergedSize = useSize(ctx => customSize !== null && customSize !== void 0 ? customSize : ctx);\n // ======================== Status ========================\n const formContext = React.useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(formContext.status, customStatus);\n const proxyFormContext = React.useMemo(() => Object.assign(Object.assign({}, formContext), {\n status: mergedStatus,\n hasFeedback: false,\n feedbackIcon: null\n }), [formContext, mergedStatus]);\n // ========================= Refs =========================\n const containerRef = React.useRef(null);\n const refs = React.useRef({});\n React.useImperativeHandle(ref, () => ({\n focus: () => {\n var _a;\n (_a = refs.current[0]) === null || _a === void 0 ? void 0 : _a.focus();\n },\n blur: () => {\n var _a;\n for (let i = 0; i < length; i += 1) {\n (_a = refs.current[i]) === null || _a === void 0 ? void 0 : _a.blur();\n }\n },\n nativeElement: containerRef.current\n }));\n // ======================= Formatter ======================\n const internalFormatter = txt => formatter ? formatter(txt) : txt;\n // ======================== Values ========================\n const [valueCells, setValueCells] = React.useState(strToArr(internalFormatter(defaultValue || '')));\n React.useEffect(() => {\n if (value !== undefined) {\n setValueCells(strToArr(value));\n }\n }, [value]);\n const triggerValueCellsChange = useEvent(nextValueCells => {\n setValueCells(nextValueCells);\n if (onInput) {\n onInput(nextValueCells);\n }\n // Trigger if all cells are filled\n if (onChange && nextValueCells.length === length && nextValueCells.every(c => c) && nextValueCells.some((c, index) => valueCells[index] !== c)) {\n onChange(nextValueCells.join(''));\n }\n });\n const patchValue = useEvent((index, txt) => {\n let nextCells = _toConsumableArray(valueCells);\n // Fill cells till index\n for (let i = 0; i < index; i += 1) {\n if (!nextCells[i]) {\n nextCells[i] = '';\n }\n }\n if (txt.length <= 1) {\n nextCells[index] = txt;\n } else {\n nextCells = nextCells.slice(0, index).concat(strToArr(txt));\n }\n nextCells = nextCells.slice(0, length);\n // Clean the last empty cell\n for (let i = nextCells.length - 1; i >= 0; i -= 1) {\n if (nextCells[i]) {\n break;\n }\n nextCells.pop();\n }\n // Format if needed\n const formattedValue = internalFormatter(nextCells.map(c => c || ' ').join(''));\n nextCells = strToArr(formattedValue).map((c, i) => {\n if (c === ' ' && !nextCells[i]) {\n return nextCells[i];\n }\n return c;\n });\n return nextCells;\n });\n // ======================== Change ========================\n const onInputChange = (index, txt) => {\n var _a;\n const nextCells = patchValue(index, txt);\n const nextIndex = Math.min(index + txt.length, length - 1);\n if (nextIndex !== index) {\n (_a = refs.current[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();\n }\n triggerValueCellsChange(nextCells);\n };\n const onInputActiveChange = nextIndex => {\n var _a;\n (_a = refs.current[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();\n };\n // ======================== Render ========================\n const inputSharedProps = {\n variant,\n disabled,\n status: mergedStatus,\n mask,\n type,\n inputMode\n };\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", Object.assign({}, domAttrs, {\n ref: containerRef,\n className: classNames(prefixCls, {\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, cssVarCls, hashId)\n }), /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: proxyFormContext\n }, Array.from({\n length\n }).map((_, index) => {\n const key = `otp-${index}`;\n const singleValue = valueCells[index] || '';\n return /*#__PURE__*/React.createElement(OTPInput, Object.assign({\n ref: inputEle => {\n refs.current[index] = inputEle;\n },\n key: key,\n index: index,\n size: mergedSize,\n htmlSize: 1,\n className: `${prefixCls}-input`,\n onChange: onInputChange,\n value: singleValue,\n onActiveChange: onInputActiveChange,\n autoFocus: index === 0 && autoFocus\n }, inputSharedProps));\n }))));\n});\nexport default OTP;","// This icon file is generated automatically.\nvar EyeInvisibleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z\" } }] }, \"name\": \"eye-invisible\", \"theme\": \"outlined\" };\nexport default EyeInvisibleOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport EyeInvisibleOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeInvisibleOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar EyeInvisibleOutlined = function EyeInvisibleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: EyeInvisibleOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(EyeInvisibleOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'EyeInvisibleOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar EyeOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z\" } }] }, \"name\": \"eye\", \"theme\": \"outlined\" };\nexport default EyeOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport EyeOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar EyeOutlined = function EyeOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: EyeOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(EyeOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'EyeOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport EyeInvisibleOutlined from \"@ant-design/icons/es/icons/EyeInvisibleOutlined\";\nimport EyeOutlined from \"@ant-design/icons/es/icons/EyeOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport { ConfigContext } from '../config-provider';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport Input from './Input';\nimport DisabledContext from '../config-provider/DisabledContext';\nconst defaultIconRender = visible => visible ? /*#__PURE__*/React.createElement(EyeOutlined, null) : /*#__PURE__*/React.createElement(EyeInvisibleOutlined, null);\nconst actionMap = {\n click: 'onClick',\n hover: 'onMouseOver'\n};\nconst Password = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n disabled: customDisabled,\n action = 'click',\n visibilityToggle = true,\n iconRender = defaultIconRender\n } = props;\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const visibilityControlled = typeof visibilityToggle === 'object' && visibilityToggle.visible !== undefined;\n const [visible, setVisible] = useState(() => visibilityControlled ? visibilityToggle.visible : false);\n const inputRef = useRef(null);\n React.useEffect(() => {\n if (visibilityControlled) {\n setVisible(visibilityToggle.visible);\n }\n }, [visibilityControlled, visibilityToggle]);\n // Remove Password value\n const removePasswordTimeout = useRemovePasswordTimeout(inputRef);\n const onVisibleChange = () => {\n if (mergedDisabled) {\n return;\n }\n if (visible) {\n removePasswordTimeout();\n }\n setVisible(prevState => {\n var _a;\n const newState = !prevState;\n if (typeof visibilityToggle === 'object') {\n (_a = visibilityToggle.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(visibilityToggle, newState);\n }\n return newState;\n });\n };\n const getIcon = prefixCls => {\n const iconTrigger = actionMap[action] || '';\n const icon = iconRender(visible);\n const iconProps = {\n [iconTrigger]: onVisibleChange,\n className: `${prefixCls}-icon`,\n key: 'passwordIcon',\n onMouseDown: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n },\n onMouseUp: e => {\n // Prevent caret position change\n // https://github.com/ant-design/ant-design/issues/23524\n e.preventDefault();\n }\n };\n return /*#__PURE__*/React.cloneElement(/*#__PURE__*/React.isValidElement(icon) ? icon : /*#__PURE__*/React.createElement(\"span\", null, icon), iconProps);\n };\n const {\n className,\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n size\n } = props,\n restProps = __rest(props, [\"className\", \"prefixCls\", \"inputPrefixCls\", \"size\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n const prefixCls = getPrefixCls('input-password', customizePrefixCls);\n const suffixIcon = visibilityToggle && getIcon(prefixCls);\n const inputClassName = classNames(prefixCls, className, {\n [`${prefixCls}-${size}`]: !!size\n });\n const omittedProps = Object.assign(Object.assign({}, omit(restProps, ['suffix', 'iconRender', 'visibilityToggle'])), {\n type: visible ? 'text' : 'password',\n className: inputClassName,\n prefixCls: inputPrefixCls,\n suffix: suffixIcon\n });\n if (size) {\n omittedProps.size = size;\n }\n return /*#__PURE__*/React.createElement(Input, Object.assign({\n ref: composeRef(ref, inputRef)\n }, omittedProps));\n});\nif (process.env.NODE_ENV !== 'production') {\n Password.displayName = 'Input.Password';\n}\nexport default Password;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { cloneElement } from '../_util/reactNode';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport { useCompactItemContext } from '../space/Compact';\nimport Input from './Input';\nconst Search = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n className,\n size: customizeSize,\n suffix,\n enterButton = false,\n addonAfter,\n loading,\n disabled,\n onSearch: customOnSearch,\n onChange: customOnChange,\n onCompositionStart,\n onCompositionEnd\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"inputPrefixCls\", \"className\", \"size\", \"suffix\", \"enterButton\", \"addonAfter\", \"loading\", \"disabled\", \"onSearch\", \"onChange\", \"onCompositionStart\", \"onCompositionEnd\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const composedRef = React.useRef(false);\n const prefixCls = getPrefixCls('input-search', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n const {\n compactSize\n } = useCompactItemContext(prefixCls, direction);\n const size = useSize(ctx => {\n var _a;\n return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\n const inputRef = React.useRef(null);\n const onChange = e => {\n if ((e === null || e === void 0 ? void 0 : e.target) && e.type === 'click' && customOnSearch) {\n customOnSearch(e.target.value, e, {\n source: 'clear'\n });\n }\n customOnChange === null || customOnChange === void 0 ? void 0 : customOnChange(e);\n };\n const onMouseDown = e => {\n var _a;\n if (document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input)) {\n e.preventDefault();\n }\n };\n const onSearch = e => {\n var _a, _b;\n if (customOnSearch) {\n customOnSearch((_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.value, e, {\n source: 'input'\n });\n }\n };\n const onPressEnter = e => {\n if (composedRef.current || loading) {\n return;\n }\n onSearch(e);\n };\n const searchIcon = typeof enterButton === 'boolean' ? /*#__PURE__*/React.createElement(SearchOutlined, null) : null;\n const btnClassName = `${prefixCls}-button`;\n let button;\n const enterButtonAsElement = enterButton || {};\n const isAntdButton = enterButtonAsElement.type && enterButtonAsElement.type.__ANT_BUTTON === true;\n if (isAntdButton || enterButtonAsElement.type === 'button') {\n button = cloneElement(enterButtonAsElement, Object.assign({\n onMouseDown,\n onClick: e => {\n var _a, _b;\n (_b = (_a = enterButtonAsElement === null || enterButtonAsElement === void 0 ? void 0 : enterButtonAsElement.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n onSearch(e);\n },\n key: 'enterButton'\n }, isAntdButton ? {\n className: btnClassName,\n size\n } : {}));\n } else {\n button = /*#__PURE__*/React.createElement(Button, {\n className: btnClassName,\n type: enterButton ? 'primary' : undefined,\n size: size,\n disabled: disabled,\n key: \"enterButton\",\n onMouseDown: onMouseDown,\n onClick: onSearch,\n loading: loading,\n icon: searchIcon\n }, enterButton);\n }\n if (addonAfter) {\n button = [button, cloneElement(addonAfter, {\n key: 'addonAfter'\n })];\n }\n const cls = classNames(prefixCls, {\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-${size}`]: !!size,\n [`${prefixCls}-with-button`]: !!enterButton\n }, className);\n const handleOnCompositionStart = e => {\n composedRef.current = true;\n onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);\n };\n const handleOnCompositionEnd = e => {\n composedRef.current = false;\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n return /*#__PURE__*/React.createElement(Input, Object.assign({\n ref: composeRef(inputRef, ref),\n onPressEnter: onPressEnter\n }, restProps, {\n size: size,\n onCompositionStart: handleOnCompositionStart,\n onCompositionEnd: handleOnCompositionEnd,\n prefixCls: inputPrefixCls,\n addonAfter: button,\n suffix: suffix,\n onChange: onChange,\n className: cls,\n disabled: disabled\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Search.displayName = 'Search';\n}\nexport default Search;","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\n\nvar HIDDEN_TEXTAREA_STYLE = \"\\n min-height:0 !important;\\n max-height:none !important;\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important;\\n pointer-events: none !important;\\n\";\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'font-variant', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing', 'word-break', 'white-space'];\nvar computedStyleCache = {};\nvar hiddenTextarea;\nexport function calculateNodeStyling(node) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n var style = window.getComputedStyle(node);\n var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n var sizingStyle = SIZING_STYLE.map(function (name) {\n return \"\".concat(name, \":\").concat(style.getPropertyValue(name));\n }).join(';');\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n return nodeInfo;\n}\nexport default function calculateAutoSizeStyle(uiTextNode) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var minRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var maxRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tab-index', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n // fix: A form field element should have an id or name attribute\n // A form field element has neither an id nor a name attribute. This might prevent the browser from correctly autofilling the form.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea\n hiddenTextarea.setAttribute('name', 'hiddenTextarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n sizingStyle = _calculateNodeStyling.sizingStyle;\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n hiddenTextarea.setAttribute('style', \"\".concat(sizingStyle, \";\").concat(HIDDEN_TEXTAREA_STYLE));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n var minHeight = undefined;\n var maxHeight = undefined;\n var overflowY;\n var height = hiddenTextarea.scrollHeight;\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height += borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height -= paddingSize;\n }\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = ' ';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n var style = {\n height: height,\n overflowY: overflowY,\n resize: 'none'\n };\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n return style;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"defaultValue\", \"value\", \"autoSize\", \"onResize\", \"className\", \"style\", \"disabled\", \"onChange\", \"onInternalAutoSize\"];\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport calculateAutoSizeStyle from \"./calculateNodeHeight\";\nvar RESIZE_START = 0;\nvar RESIZE_MEASURING = 1;\nvar RESIZE_STABLE = 2;\nvar ResizableTextArea = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _ref = props,\n prefixCls = _ref.prefixCls,\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n autoSize = _ref.autoSize,\n onResize = _ref.onResize,\n className = _ref.className,\n style = _ref.style,\n disabled = _ref.disabled,\n onChange = _ref.onChange,\n onInternalAutoSize = _ref.onInternalAutoSize,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n // =============================== Value ================================\n var _useMergedState = useMergedState(defaultValue, {\n value: value,\n postState: function postState(val) {\n return val !== null && val !== void 0 ? val : '';\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n var onInternalChange = function onInternalChange(event) {\n setMergedValue(event.target.value);\n onChange === null || onChange === void 0 || onChange(event);\n };\n\n // ================================ Ref =================================\n var textareaRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n textArea: textareaRef.current\n };\n });\n\n // ============================== AutoSize ==============================\n var _React$useMemo = React.useMemo(function () {\n if (autoSize && _typeof(autoSize) === 'object') {\n return [autoSize.minRows, autoSize.maxRows];\n }\n return [];\n }, [autoSize]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n minRows = _React$useMemo2[0],\n maxRows = _React$useMemo2[1];\n var needAutoSize = !!autoSize;\n\n // =============================== Scroll ===============================\n // https://github.com/ant-design/ant-design/issues/21870\n var fixFirefoxAutoScroll = function fixFirefoxAutoScroll() {\n try {\n // FF has bug with jump of scroll to top. We force back here.\n if (document.activeElement === textareaRef.current) {\n var _textareaRef$current = textareaRef.current,\n selectionStart = _textareaRef$current.selectionStart,\n selectionEnd = _textareaRef$current.selectionEnd,\n scrollTop = _textareaRef$current.scrollTop;\n\n // Fix Safari bug which not rollback when break line\n // This makes Chinese IME can't input. Do not fix this\n // const { value: tmpValue } = textareaRef.current;\n // textareaRef.current.value = '';\n // textareaRef.current.value = tmpValue;\n\n textareaRef.current.setSelectionRange(selectionStart, selectionEnd);\n textareaRef.current.scrollTop = scrollTop;\n }\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n };\n\n // =============================== Resize ===============================\n var _React$useState = React.useState(RESIZE_STABLE),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n resizeState = _React$useState2[0],\n setResizeState = _React$useState2[1];\n var _React$useState3 = React.useState(),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n autoSizeStyle = _React$useState4[0],\n setAutoSizeStyle = _React$useState4[1];\n var startResize = function startResize() {\n setResizeState(RESIZE_START);\n if (process.env.NODE_ENV === 'test') {\n onInternalAutoSize === null || onInternalAutoSize === void 0 || onInternalAutoSize();\n }\n };\n\n // Change to trigger resize measure\n useLayoutEffect(function () {\n if (needAutoSize) {\n startResize();\n }\n }, [value, minRows, maxRows, needAutoSize]);\n useLayoutEffect(function () {\n if (resizeState === RESIZE_START) {\n setResizeState(RESIZE_MEASURING);\n } else if (resizeState === RESIZE_MEASURING) {\n var textareaStyles = calculateAutoSizeStyle(textareaRef.current, false, minRows, maxRows);\n\n // Safari has bug that text will keep break line on text cut when it's prev is break line.\n // ZombieJ: This not often happen. So we just skip it.\n // const { selectionStart, selectionEnd, scrollTop } = textareaRef.current;\n // const { value: tmpValue } = textareaRef.current;\n // textareaRef.current.value = '';\n // textareaRef.current.value = tmpValue;\n\n // if (document.activeElement === textareaRef.current) {\n // textareaRef.current.scrollTop = scrollTop;\n // textareaRef.current.setSelectionRange(selectionStart, selectionEnd);\n // }\n\n setResizeState(RESIZE_STABLE);\n setAutoSizeStyle(textareaStyles);\n } else {\n fixFirefoxAutoScroll();\n }\n }, [resizeState]);\n\n // We lock resize trigger by raf to avoid Safari warning\n var resizeRafRef = React.useRef();\n var cleanRaf = function cleanRaf() {\n raf.cancel(resizeRafRef.current);\n };\n var onInternalResize = function onInternalResize(size) {\n if (resizeState === RESIZE_STABLE) {\n onResize === null || onResize === void 0 || onResize(size);\n if (autoSize) {\n cleanRaf();\n resizeRafRef.current = raf(function () {\n startResize();\n });\n }\n }\n };\n React.useEffect(function () {\n return cleanRaf;\n }, []);\n\n // =============================== Render ===============================\n var mergedAutoSizeStyle = needAutoSize ? autoSizeStyle : null;\n var mergedStyle = _objectSpread(_objectSpread({}, style), mergedAutoSizeStyle);\n if (resizeState === RESIZE_START || resizeState === RESIZE_MEASURING) {\n mergedStyle.overflowY = 'hidden';\n mergedStyle.overflowX = 'hidden';\n }\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onInternalResize,\n disabled: !(autoSize || onResize)\n }, /*#__PURE__*/React.createElement(\"textarea\", _extends({}, restProps, {\n ref: textareaRef,\n style: mergedStyle,\n className: classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)),\n disabled: disabled,\n value: mergedValue,\n onChange: onInternalChange\n })));\n});\nexport default ResizableTextArea;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"defaultValue\", \"value\", \"onFocus\", \"onBlur\", \"onChange\", \"allowClear\", \"maxLength\", \"onCompositionStart\", \"onCompositionEnd\", \"suffix\", \"prefixCls\", \"showCount\", \"count\", \"className\", \"style\", \"disabled\", \"hidden\", \"classNames\", \"styles\", \"onResize\", \"onClear\", \"onPressEnter\", \"readOnly\", \"autoSize\", \"onKeyDown\"];\nimport clsx from 'classnames';\nimport { BaseInput } from 'rc-input';\nimport useCount from \"rc-input/es/hooks/useCount\";\nimport { resolveOnChange } from \"rc-input/es/utils/commonUtils\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport ResizableTextArea from \"./ResizableTextArea\";\nvar TextArea = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _countConfig$max;\n var defaultValue = _ref.defaultValue,\n customValue = _ref.value,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onChange = _ref.onChange,\n allowClear = _ref.allowClear,\n maxLength = _ref.maxLength,\n onCompositionStart = _ref.onCompositionStart,\n onCompositionEnd = _ref.onCompositionEnd,\n suffix = _ref.suffix,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-textarea' : _ref$prefixCls,\n showCount = _ref.showCount,\n count = _ref.count,\n className = _ref.className,\n style = _ref.style,\n disabled = _ref.disabled,\n hidden = _ref.hidden,\n classNames = _ref.classNames,\n styles = _ref.styles,\n onResize = _ref.onResize,\n onClear = _ref.onClear,\n onPressEnter = _ref.onPressEnter,\n readOnly = _ref.readOnly,\n autoSize = _ref.autoSize,\n onKeyDown = _ref.onKeyDown,\n rest = _objectWithoutProperties(_ref, _excluded);\n var _useMergedState = useMergedState(defaultValue, {\n value: customValue,\n defaultValue: defaultValue\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n var formatValue = value === undefined || value === null ? '' : String(value);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focused = _React$useState2[0],\n setFocused = _React$useState2[1];\n var compositionRef = React.useRef(false);\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n textareaResized = _React$useState4[0],\n setTextareaResized = _React$useState4[1];\n\n // =============================== Ref ================================\n var holderRef = useRef(null);\n var resizableTextAreaRef = useRef(null);\n var getTextArea = function getTextArea() {\n var _resizableTextAreaRef;\n return (_resizableTextAreaRef = resizableTextAreaRef.current) === null || _resizableTextAreaRef === void 0 ? void 0 : _resizableTextAreaRef.textArea;\n };\n var focus = function focus() {\n getTextArea().focus();\n };\n useImperativeHandle(ref, function () {\n var _holderRef$current;\n return {\n resizableTextArea: resizableTextAreaRef.current,\n focus: focus,\n blur: function blur() {\n getTextArea().blur();\n },\n nativeElement: ((_holderRef$current = holderRef.current) === null || _holderRef$current === void 0 ? void 0 : _holderRef$current.nativeElement) || getTextArea()\n };\n });\n useEffect(function () {\n setFocused(function (prev) {\n return !disabled && prev;\n });\n }, [disabled]);\n\n // =========================== Select Range ===========================\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n selection = _React$useState6[0],\n setSelection = _React$useState6[1];\n React.useEffect(function () {\n if (selection) {\n var _getTextArea;\n (_getTextArea = getTextArea()).setSelectionRange.apply(_getTextArea, _toConsumableArray(selection));\n }\n }, [selection]);\n\n // ============================== Count ===============================\n var countConfig = useCount(count, showCount);\n var mergedMax = (_countConfig$max = countConfig.max) !== null && _countConfig$max !== void 0 ? _countConfig$max : maxLength;\n\n // Max length value\n var hasMaxLength = Number(mergedMax) > 0;\n var valueLength = countConfig.strategy(formatValue);\n var isOutOfRange = !!mergedMax && valueLength > mergedMax;\n\n // ============================== Change ==============================\n var triggerChange = function triggerChange(e, currentValue) {\n var cutValue = currentValue;\n if (!compositionRef.current && countConfig.exceedFormatter && countConfig.max && countConfig.strategy(currentValue) > countConfig.max) {\n cutValue = countConfig.exceedFormatter(currentValue, {\n max: countConfig.max\n });\n if (currentValue !== cutValue) {\n setSelection([getTextArea().selectionStart || 0, getTextArea().selectionEnd || 0]);\n }\n }\n setValue(cutValue);\n resolveOnChange(e.currentTarget, e, onChange, cutValue);\n };\n\n // =========================== Value Update ===========================\n var onInternalCompositionStart = function onInternalCompositionStart(e) {\n compositionRef.current = true;\n onCompositionStart === null || onCompositionStart === void 0 || onCompositionStart(e);\n };\n var onInternalCompositionEnd = function onInternalCompositionEnd(e) {\n compositionRef.current = false;\n triggerChange(e, e.currentTarget.value);\n onCompositionEnd === null || onCompositionEnd === void 0 || onCompositionEnd(e);\n };\n var onInternalChange = function onInternalChange(e) {\n triggerChange(e, e.target.value);\n };\n var handleKeyDown = function handleKeyDown(e) {\n if (e.key === 'Enter' && onPressEnter) {\n onPressEnter(e);\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(e);\n };\n var handleFocus = function handleFocus(e) {\n setFocused(true);\n onFocus === null || onFocus === void 0 || onFocus(e);\n };\n var handleBlur = function handleBlur(e) {\n setFocused(false);\n onBlur === null || onBlur === void 0 || onBlur(e);\n };\n\n // ============================== Reset ===============================\n var handleReset = function handleReset(e) {\n setValue('');\n focus();\n resolveOnChange(getTextArea(), e, onChange);\n };\n var suffixNode = suffix;\n var dataCount;\n if (countConfig.show) {\n if (countConfig.showFormatter) {\n dataCount = countConfig.showFormatter({\n value: formatValue,\n count: valueLength,\n maxLength: mergedMax\n });\n } else {\n dataCount = \"\".concat(valueLength).concat(hasMaxLength ? \" / \".concat(mergedMax) : '');\n }\n suffixNode = /*#__PURE__*/React.createElement(React.Fragment, null, suffixNode, /*#__PURE__*/React.createElement(\"span\", {\n className: clsx(\"\".concat(prefixCls, \"-data-count\"), classNames === null || classNames === void 0 ? void 0 : classNames.count),\n style: styles === null || styles === void 0 ? void 0 : styles.count\n }, dataCount));\n }\n var handleResize = function handleResize(size) {\n var _getTextArea2;\n onResize === null || onResize === void 0 || onResize(size);\n if ((_getTextArea2 = getTextArea()) !== null && _getTextArea2 !== void 0 && _getTextArea2.style.height) {\n setTextareaResized(true);\n }\n };\n var isPureTextArea = !autoSize && !showCount && !allowClear;\n return /*#__PURE__*/React.createElement(BaseInput, {\n ref: holderRef,\n value: formatValue,\n allowClear: allowClear,\n handleReset: handleReset,\n suffix: suffixNode,\n prefixCls: prefixCls,\n classNames: _objectSpread(_objectSpread({}, classNames), {}, {\n affixWrapper: clsx(classNames === null || classNames === void 0 ? void 0 : classNames.affixWrapper, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-show-count\"), showCount), \"\".concat(prefixCls, \"-textarea-allow-clear\"), allowClear))\n }),\n disabled: disabled,\n focused: focused,\n className: clsx(className, isOutOfRange && \"\".concat(prefixCls, \"-out-of-range\")),\n style: _objectSpread(_objectSpread({}, style), textareaResized && !isPureTextArea ? {\n height: 'auto'\n } : {}),\n dataAttrs: {\n affixWrapper: {\n 'data-count': typeof dataCount === 'string' ? dataCount : undefined\n }\n },\n hidden: hidden,\n readOnly: readOnly,\n onClear: onClear\n }, /*#__PURE__*/React.createElement(ResizableTextArea, _extends({}, rest, {\n autoSize: autoSize,\n maxLength: maxLength,\n onKeyDown: handleKeyDown,\n onChange: onInternalChange,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onCompositionStart: onInternalCompositionStart,\n onCompositionEnd: onInternalCompositionEnd,\n className: clsx(classNames === null || classNames === void 0 ? void 0 : classNames.textarea),\n style: _objectSpread(_objectSpread({}, styles === null || styles === void 0 ? void 0 : styles.textarea), {}, {\n resize: style === null || style === void 0 ? void 0 : style.resize\n }),\n disabled: disabled,\n prefixCls: prefixCls,\n onResize: handleResize,\n ref: resizableTextAreaRef,\n readOnly: readOnly\n })));\n});\nexport default TextArea;","import TextArea from \"./TextArea\";\nexport { default as ResizableTextArea } from \"./ResizableTextArea\";\nexport default TextArea;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport RcTextArea from 'rc-textarea';\nimport getAllowClear from '../_util/getAllowClear';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext } from '../form/context';\nimport useVariant from '../form/hooks/useVariants';\nimport { triggerFocus } from './Input';\nimport useStyle from './style';\nconst TextArea = /*#__PURE__*/forwardRef((props, ref) => {\n var _a, _b;\n const {\n prefixCls: customizePrefixCls,\n bordered = true,\n size: customizeSize,\n disabled: customDisabled,\n status: customStatus,\n allowClear,\n classNames: classes,\n rootClassName,\n className,\n style,\n styles,\n variant: customVariant\n } = props,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"size\", \"disabled\", \"status\", \"allowClear\", \"classNames\", \"rootClassName\", \"className\", \"style\", \"styles\", \"variant\"]);\n if (process.env.NODE_ENV !== 'production') {\n const {\n deprecated\n } = devUseWarning('TextArea');\n deprecated(!('bordered' in props), 'bordered', 'variant');\n }\n const {\n getPrefixCls,\n direction,\n textArea\n } = React.useContext(ConfigContext);\n // ===================== Size =====================\n const mergedSize = useSize(customizeSize);\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n // ===================== Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n feedbackIcon\n } = React.useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Ref =====================\n const innerRef = React.useRef(null);\n React.useImperativeHandle(ref, () => {\n var _a;\n return {\n resizableTextArea: (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea,\n focus: option => {\n var _a, _b;\n triggerFocus((_b = (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea) === null || _b === void 0 ? void 0 : _b.textArea, option);\n },\n blur: () => {\n var _a;\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n }\n };\n });\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n // ===================== Style =====================\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const [variant, enableVariantCls] = useVariant('textArea', customVariant, bordered);\n const mergedAllowClear = getAllowClear(allowClear !== null && allowClear !== void 0 ? allowClear : textArea === null || textArea === void 0 ? void 0 : textArea.allowClear);\n return wrapCSSVar(/*#__PURE__*/React.createElement(RcTextArea, Object.assign({\n autoComplete: textArea === null || textArea === void 0 ? void 0 : textArea.autoComplete\n }, rest, {\n style: Object.assign(Object.assign({}, textArea === null || textArea === void 0 ? void 0 : textArea.style), style),\n styles: Object.assign(Object.assign({}, textArea === null || textArea === void 0 ? void 0 : textArea.styles), styles),\n disabled: mergedDisabled,\n allowClear: mergedAllowClear,\n className: classNames(cssVarCls, rootCls, className, rootClassName, textArea === null || textArea === void 0 ? void 0 : textArea.className),\n classNames: Object.assign(Object.assign(Object.assign({}, classes), textArea === null || textArea === void 0 ? void 0 : textArea.classNames), {\n textarea: classNames({\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-lg`]: mergedSize === 'large'\n }, hashId, classes === null || classes === void 0 ? void 0 : classes.textarea, (_a = textArea === null || textArea === void 0 ? void 0 : textArea.classNames) === null || _a === void 0 ? void 0 : _a.textarea),\n variant: classNames({\n [`${prefixCls}-${variant}`]: enableVariantCls\n }, getStatusClassNames(prefixCls, mergedStatus)),\n affixWrapper: classNames(`${prefixCls}-textarea-affix-wrapper`, {\n [`${prefixCls}-affix-wrapper-rtl`]: direction === 'rtl',\n [`${prefixCls}-affix-wrapper-sm`]: mergedSize === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: mergedSize === 'large',\n [`${prefixCls}-textarea-show-count`]: props.showCount || ((_b = props.count) === null || _b === void 0 ? void 0 : _b.show)\n }, hashId)\n }),\n prefixCls: prefixCls,\n suffix: hasFeedback && /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-textarea-suffix`\n }, feedbackIcon),\n ref: innerRef\n })));\n});\nexport default TextArea;","\"use client\";\n\nimport Group from './Group';\nimport InternalInput from './Input';\nimport OTP from './OTP';\nimport Password from './Password';\nimport Search from './Search';\nimport TextArea from './TextArea';\nconst Input = InternalInput;\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\nInput.Password = Password;\nInput.OTP = OTP;\nexport default Input;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { FormItemInputContext } from '../form/context';\nimport useStyle from './style';\nconst Group = props => {\n const {\n getPrefixCls,\n direction\n } = useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className\n } = props;\n const prefixCls = getPrefixCls('input-group', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input');\n const [wrapCSSVar, hashId] = useStyle(inputPrefixCls);\n const cls = classNames(prefixCls, {\n [`${prefixCls}-lg`]: props.size === 'large',\n [`${prefixCls}-sm`]: props.size === 'small',\n [`${prefixCls}-compact`]: props.compact,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, hashId, className);\n const formItemContext = useContext(FormItemInputContext);\n const groupFormItemContext = useMemo(() => Object.assign(Object.assign({}, formItemContext), {\n isFormItemInput: false\n }), [formItemContext]);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Input.Group');\n warning.deprecated(false, 'Input.Group', 'Space.Compact');\n }\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"span\", {\n className: cls,\n style: props.style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onFocus: props.onFocus,\n onBlur: props.onBlur\n }, /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: groupFormItemContext\n }, props.children)));\n};\nexport default Group;","\"use client\";\n\nimport * as React from 'react';\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport Input from '../../../input';\nconst FilterSearch = props => {\n const {\n value,\n filterSearch,\n tablePrefixCls,\n locale,\n onChange\n } = props;\n if (!filterSearch) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${tablePrefixCls}-filter-dropdown-search`\n }, /*#__PURE__*/React.createElement(Input, {\n prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),\n placeholder: locale.filterSearchPlaceholder,\n onChange: onChange,\n value: value,\n // for skip min-width of input\n htmlSize: 1,\n className: `${tablePrefixCls}-filter-dropdown-search-input`\n }));\n};\nexport default FilterSearch;","\"use client\";\n\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nconst onKeyDown = event => {\n const {\n keyCode\n } = event;\n if (keyCode === KeyCode.ENTER) {\n event.stopPropagation();\n }\n};\nconst FilterDropdownMenuWrapper = /*#__PURE__*/React.forwardRef((props, ref) => (/*#__PURE__*/React.createElement(\"div\", {\n className: props.className,\n onClick: e => e.stopPropagation(),\n onKeyDown: onKeyDown,\n ref: ref\n}, props.children)));\nif (process.env.NODE_ENV !== 'production') {\n FilterDropdownMenuWrapper.displayName = 'FilterDropdownMenuWrapper';\n}\nexport default FilterDropdownMenuWrapper;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport FilterFilled from \"@ant-design/icons/es/icons/FilterFilled\";\nimport classNames from 'classnames';\nimport isEqual from \"rc-util/es/isEqual\";\nimport extendsObject from '../../../_util/extendsObject';\nimport useSyncState from '../../../_util/hooks/useSyncState';\nimport { devUseWarning } from '../../../_util/warning';\nimport Button from '../../../button';\nimport Checkbox from '../../../checkbox';\nimport { ConfigContext } from '../../../config-provider/context';\nimport Dropdown from '../../../dropdown';\nimport Empty from '../../../empty';\nimport Menu from '../../../menu';\nimport { OverrideProvider } from '../../../menu/OverrideContext';\nimport Radio from '../../../radio';\nimport Tree from '../../../tree';\nimport FilterSearch from './FilterSearch';\nimport FilterDropdownMenuWrapper from './FilterWrapper';\nexport function flattenKeys(filters) {\n let keys = [];\n (filters || []).forEach(_ref => {\n let {\n value,\n children\n } = _ref;\n keys.push(value);\n if (children) {\n keys = [].concat(_toConsumableArray(keys), _toConsumableArray(flattenKeys(children)));\n }\n });\n return keys;\n}\nfunction hasSubMenu(filters) {\n return filters.some(_ref2 => {\n let {\n children\n } = _ref2;\n return children;\n });\n}\nfunction searchValueMatched(searchValue, text) {\n if (typeof text === 'string' || typeof text === 'number') {\n return text === null || text === void 0 ? void 0 : text.toString().toLowerCase().includes(searchValue.trim().toLowerCase());\n }\n return false;\n}\nfunction renderFilterItems(_ref3) {\n let {\n filters,\n prefixCls,\n filteredKeys,\n filterMultiple,\n searchValue,\n filterSearch\n } = _ref3;\n return filters.map((filter, index) => {\n const key = String(filter.value);\n if (filter.children) {\n return {\n key: key || index,\n label: filter.text,\n popupClassName: `${prefixCls}-dropdown-submenu`,\n children: renderFilterItems({\n filters: filter.children,\n prefixCls,\n filteredKeys,\n filterMultiple,\n searchValue,\n filterSearch\n })\n };\n }\n const Component = filterMultiple ? Checkbox : Radio;\n const item = {\n key: filter.value !== undefined ? key : index,\n label: (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Component, {\n checked: filteredKeys.includes(key)\n }), /*#__PURE__*/React.createElement(\"span\", null, filter.text)))\n };\n if (searchValue.trim()) {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, filter) ? item : null;\n }\n return searchValueMatched(searchValue, filter.text) ? item : null;\n }\n return item;\n });\n}\nfunction wrapStringListType(keys) {\n return keys || [];\n}\nconst FilterDropdown = props => {\n var _a, _b, _c, _d;\n const {\n tablePrefixCls,\n prefixCls,\n column,\n dropdownPrefixCls,\n columnKey,\n filterOnClose,\n filterMultiple,\n filterMode = 'menu',\n filterSearch = false,\n filterState,\n triggerFilter,\n locale,\n children,\n getPopupContainer,\n rootClassName\n } = props;\n const {\n filterResetToDefaultFilteredValue,\n defaultFilteredValue,\n filterDropdownProps = {},\n // Deprecated\n filterDropdownOpen,\n filterDropdownVisible,\n onFilterDropdownVisibleChange,\n onFilterDropdownOpenChange\n } = column;\n const [visible, setVisible] = React.useState(false);\n const filtered = !!(filterState && (((_a = filterState.filteredKeys) === null || _a === void 0 ? void 0 : _a.length) || filterState.forceFiltered));\n const triggerVisible = newVisible => {\n var _a;\n setVisible(newVisible);\n (_a = filterDropdownProps.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(filterDropdownProps, newVisible);\n // deprecated\n onFilterDropdownOpenChange === null || onFilterDropdownOpenChange === void 0 ? void 0 : onFilterDropdownOpenChange(newVisible);\n onFilterDropdownVisibleChange === null || onFilterDropdownVisibleChange === void 0 ? void 0 : onFilterDropdownVisibleChange(newVisible);\n };\n // =================Warning===================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Table');\n const deprecatedList = [['filterDropdownOpen', 'filterDropdownProps.open'], ['filterDropdownVisible', 'filterDropdownProps.open'], ['onFilterDropdownOpenChange', 'filterDropdownProps.onOpenChange'], ['onFilterDropdownVisibleChange', 'filterDropdownProps.onOpenChange']];\n deprecatedList.forEach(_ref4 => {\n let [deprecatedName, newName] = _ref4;\n warning.deprecated(!(deprecatedName in column), deprecatedName, newName);\n });\n }\n const mergedVisible = (_d = (_c = (_b = filterDropdownProps.open) !== null && _b !== void 0 ? _b : filterDropdownOpen) !== null && _c !== void 0 ? _c : filterDropdownVisible) !== null && _d !== void 0 ? _d : visible; // inner state\n // ===================== Select Keys =====================\n const propFilteredKeys = filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys;\n const [getFilteredKeysSync, setFilteredKeysSync] = useSyncState(wrapStringListType(propFilteredKeys));\n const onSelectKeys = _ref5 => {\n let {\n selectedKeys\n } = _ref5;\n setFilteredKeysSync(selectedKeys);\n };\n const onCheck = (keys, _ref6) => {\n let {\n node,\n checked\n } = _ref6;\n if (!filterMultiple) {\n onSelectKeys({\n selectedKeys: checked && node.key ? [node.key] : []\n });\n } else {\n onSelectKeys({\n selectedKeys: keys\n });\n }\n };\n React.useEffect(() => {\n if (!visible) {\n return;\n }\n onSelectKeys({\n selectedKeys: wrapStringListType(propFilteredKeys)\n });\n }, [propFilteredKeys]);\n // ====================== Open Keys ======================\n const [openKeys, setOpenKeys] = React.useState([]);\n const onOpenChange = keys => {\n setOpenKeys(keys);\n };\n // search in tree mode column filter\n const [searchValue, setSearchValue] = React.useState('');\n const onSearch = e => {\n const {\n value\n } = e.target;\n setSearchValue(value);\n };\n // clear search value after close filter dropdown\n React.useEffect(() => {\n if (!visible) {\n setSearchValue('');\n }\n }, [visible]);\n // ======================= Submit ========================\n const internalTriggerFilter = keys => {\n const mergedKeys = (keys === null || keys === void 0 ? void 0 : keys.length) ? keys : null;\n if (mergedKeys === null && (!filterState || !filterState.filteredKeys)) {\n return null;\n }\n if (isEqual(mergedKeys, filterState === null || filterState === void 0 ? void 0 : filterState.filteredKeys, true)) {\n return null;\n }\n triggerFilter({\n column,\n key: columnKey,\n filteredKeys: mergedKeys\n });\n };\n const onConfirm = () => {\n triggerVisible(false);\n internalTriggerFilter(getFilteredKeysSync());\n };\n const onReset = function () {\n let {\n confirm,\n closeDropdown\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n confirm: false,\n closeDropdown: false\n };\n if (confirm) {\n internalTriggerFilter([]);\n }\n if (closeDropdown) {\n triggerVisible(false);\n }\n setSearchValue('');\n if (filterResetToDefaultFilteredValue) {\n setFilteredKeysSync((defaultFilteredValue || []).map(key => String(key)));\n } else {\n setFilteredKeysSync([]);\n }\n };\n const doFilter = function () {\n let {\n closeDropdown\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n closeDropdown: true\n };\n if (closeDropdown) {\n triggerVisible(false);\n }\n internalTriggerFilter(getFilteredKeysSync());\n };\n const onVisibleChange = (newVisible, info) => {\n if (info.source === 'trigger') {\n if (newVisible && propFilteredKeys !== undefined) {\n // Sync filteredKeys on appear in controlled mode (propFilteredKeys !== undefined)\n setFilteredKeysSync(wrapStringListType(propFilteredKeys));\n }\n triggerVisible(newVisible);\n if (!newVisible && !column.filterDropdown && filterOnClose) {\n onConfirm();\n }\n }\n };\n // ======================== Style ========================\n const dropdownMenuClass = classNames({\n [`${dropdownPrefixCls}-menu-without-submenu`]: !hasSubMenu(column.filters || [])\n });\n const onCheckAll = e => {\n if (e.target.checked) {\n const allFilterKeys = flattenKeys(column === null || column === void 0 ? void 0 : column.filters).map(key => String(key));\n setFilteredKeysSync(allFilterKeys);\n } else {\n setFilteredKeysSync([]);\n }\n };\n const getTreeData = _ref7 => {\n let {\n filters\n } = _ref7;\n return (filters || []).map((filter, index) => {\n const key = String(filter.value);\n const item = {\n title: filter.text,\n key: filter.value !== undefined ? key : String(index)\n };\n if (filter.children) {\n item.children = getTreeData({\n filters: filter.children\n });\n }\n return item;\n });\n };\n const getFilterData = node => {\n var _a;\n return Object.assign(Object.assign({}, node), {\n text: node.title,\n value: node.key,\n children: ((_a = node.children) === null || _a === void 0 ? void 0 : _a.map(item => getFilterData(item))) || []\n });\n };\n let dropdownContent;\n const {\n direction,\n renderEmpty\n } = React.useContext(ConfigContext);\n if (typeof column.filterDropdown === 'function') {\n dropdownContent = column.filterDropdown({\n prefixCls: `${dropdownPrefixCls}-custom`,\n setSelectedKeys: selectedKeys => onSelectKeys({\n selectedKeys: selectedKeys\n }),\n selectedKeys: getFilteredKeysSync(),\n confirm: doFilter,\n clearFilters: onReset,\n filters: column.filters,\n visible: mergedVisible,\n close: () => {\n triggerVisible(false);\n }\n });\n } else if (column.filterDropdown) {\n dropdownContent = column.filterDropdown;\n } else {\n const selectedKeys = getFilteredKeysSync() || [];\n const getFilterComponent = () => {\n var _a;\n const empty = (_a = renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table.filter')) !== null && _a !== void 0 ? _a : (/*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE,\n description: locale.filterEmptyText,\n imageStyle: {\n height: 24\n },\n style: {\n margin: 0,\n padding: '16px 0'\n }\n }));\n if ((column.filters || []).length === 0) {\n return empty;\n }\n if (filterMode === 'tree') {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: `${tablePrefixCls}-filter-dropdown-tree`\n }, filterMultiple ? (/*#__PURE__*/React.createElement(Checkbox, {\n checked: selectedKeys.length === flattenKeys(column.filters).length,\n indeterminate: selectedKeys.length > 0 && selectedKeys.length < flattenKeys(column.filters).length,\n className: `${tablePrefixCls}-filter-dropdown-checkall`,\n onChange: onCheckAll\n }, locale.filterCheckall)) : null, /*#__PURE__*/React.createElement(Tree, {\n checkable: true,\n selectable: false,\n blockNode: true,\n multiple: filterMultiple,\n checkStrictly: !filterMultiple,\n className: `${dropdownPrefixCls}-menu`,\n onCheck: onCheck,\n checkedKeys: selectedKeys,\n selectedKeys: selectedKeys,\n showIcon: false,\n treeData: getTreeData({\n filters: column.filters\n }),\n autoExpandParent: true,\n defaultExpandAll: true,\n filterTreeNode: searchValue.trim() ? node => {\n if (typeof filterSearch === 'function') {\n return filterSearch(searchValue, getFilterData(node));\n }\n return searchValueMatched(searchValue, node.title);\n } : undefined\n })));\n }\n const items = renderFilterItems({\n filters: column.filters || [],\n filterSearch,\n prefixCls,\n filteredKeys: getFilteredKeysSync(),\n filterMultiple,\n searchValue\n });\n const isEmpty = items.every(item => item === null);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterSearch, {\n filterSearch: filterSearch,\n value: searchValue,\n onChange: onSearch,\n tablePrefixCls: tablePrefixCls,\n locale: locale\n }), isEmpty ? empty : (/*#__PURE__*/React.createElement(Menu, {\n selectable: true,\n multiple: filterMultiple,\n prefixCls: `${dropdownPrefixCls}-menu`,\n className: dropdownMenuClass,\n onSelect: onSelectKeys,\n onDeselect: onSelectKeys,\n selectedKeys: selectedKeys,\n getPopupContainer: getPopupContainer,\n openKeys: openKeys,\n onOpenChange: onOpenChange,\n items: items\n })));\n };\n const getResetDisabled = () => {\n if (filterResetToDefaultFilteredValue) {\n return isEqual((defaultFilteredValue || []).map(key => String(key)), selectedKeys, true);\n }\n return selectedKeys.length === 0;\n };\n dropdownContent = /*#__PURE__*/React.createElement(React.Fragment, null, getFilterComponent(), /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-dropdown-btns`\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"link\",\n size: \"small\",\n disabled: getResetDisabled(),\n onClick: () => onReset()\n }, locale.filterReset), /*#__PURE__*/React.createElement(Button, {\n type: \"primary\",\n size: \"small\",\n onClick: onConfirm\n }, locale.filterConfirm)));\n }\n // We should not block customize Menu with additional props\n if (column.filterDropdown) {\n dropdownContent = /*#__PURE__*/React.createElement(OverrideProvider, {\n selectable: undefined\n }, dropdownContent);\n }\n dropdownContent = /*#__PURE__*/React.createElement(FilterDropdownMenuWrapper, {\n className: `${prefixCls}-dropdown`\n }, dropdownContent);\n const getDropdownTrigger = () => {\n let filterIcon;\n if (typeof column.filterIcon === 'function') {\n filterIcon = column.filterIcon(filtered);\n } else if (column.filterIcon) {\n filterIcon = column.filterIcon;\n } else {\n filterIcon = /*#__PURE__*/React.createElement(FilterFilled, null);\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n tabIndex: -1,\n className: classNames(`${prefixCls}-trigger`, {\n active: filtered\n }),\n onClick: e => {\n e.stopPropagation();\n }\n }, filterIcon);\n };\n const mergedDropdownProps = extendsObject({\n trigger: ['click'],\n placement: direction === 'rtl' ? 'bottomLeft' : 'bottomRight',\n children: getDropdownTrigger(),\n getPopupContainer\n }, Object.assign(Object.assign({}, filterDropdownProps), {\n rootClassName: classNames(rootClassName, filterDropdownProps.rootClassName),\n open: mergedVisible,\n onOpenChange: onVisibleChange,\n dropdownRender: () => {\n if (typeof (filterDropdownProps === null || filterDropdownProps === void 0 ? void 0 : filterDropdownProps.dropdownRender) === 'function') {\n return filterDropdownProps.dropdownRender(dropdownContent);\n }\n return dropdownContent;\n }\n }));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-column`\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: `${tablePrefixCls}-column-title`\n }, children), /*#__PURE__*/React.createElement(Dropdown, Object.assign({}, mergedDropdownProps)));\n};\nexport default FilterDropdown;","import * as React from 'react';\nimport useForceUpdate from './useForceUpdate';\nexport default function useSyncState(initialValue) {\n const ref = React.useRef(initialValue);\n const forceUpdate = useForceUpdate();\n return [() => ref.current, newValue => {\n ref.current = newValue;\n // re-render\n forceUpdate();\n }];\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { devUseWarning } from '../../../_util/warning';\nimport { getColumnKey, getColumnPos, renderColumnTitle } from '../../util';\nimport FilterDropdown, { flattenKeys } from './FilterDropdown';\nconst collectFilterStates = (columns, init, pos) => {\n let filterStates = [];\n (columns || []).forEach((column, index) => {\n var _a;\n const columnPos = getColumnPos(index, pos);\n if (column.filters || 'filterDropdown' in column || 'onFilter' in column) {\n if ('filteredValue' in column) {\n // Controlled\n let filteredValues = column.filteredValue;\n if (!('filterDropdown' in column)) {\n filteredValues = (_a = filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.map(String)) !== null && _a !== void 0 ? _a : filteredValues;\n }\n filterStates.push({\n column,\n key: getColumnKey(column, columnPos),\n filteredKeys: filteredValues,\n forceFiltered: column.filtered\n });\n } else {\n // Uncontrolled\n filterStates.push({\n column,\n key: getColumnKey(column, columnPos),\n filteredKeys: init && column.defaultFilteredValue ? column.defaultFilteredValue : undefined,\n forceFiltered: column.filtered\n });\n }\n }\n if ('children' in column) {\n filterStates = [].concat(_toConsumableArray(filterStates), _toConsumableArray(collectFilterStates(column.children, init, columnPos)));\n }\n });\n return filterStates;\n};\nfunction injectFilter(prefixCls, dropdownPrefixCls, columns, filterStates, locale, triggerFilter, getPopupContainer, pos, rootClassName) {\n return columns.map((column, index) => {\n const columnPos = getColumnPos(index, pos);\n const {\n filterOnClose = true,\n filterMultiple = true,\n filterMode,\n filterSearch\n } = column;\n let newColumn = column;\n if (newColumn.filters || newColumn.filterDropdown) {\n const columnKey = getColumnKey(newColumn, columnPos);\n const filterState = filterStates.find(_ref => {\n let {\n key\n } = _ref;\n return columnKey === key;\n });\n newColumn = Object.assign(Object.assign({}, newColumn), {\n title: renderProps => (/*#__PURE__*/React.createElement(FilterDropdown, {\n tablePrefixCls: prefixCls,\n prefixCls: `${prefixCls}-filter`,\n dropdownPrefixCls: dropdownPrefixCls,\n column: newColumn,\n columnKey: columnKey,\n filterState: filterState,\n filterOnClose: filterOnClose,\n filterMultiple: filterMultiple,\n filterMode: filterMode,\n filterSearch: filterSearch,\n triggerFilter: triggerFilter,\n locale: locale,\n getPopupContainer: getPopupContainer,\n rootClassName: rootClassName\n }, renderColumnTitle(column.title, renderProps)))\n });\n }\n if ('children' in newColumn) {\n newColumn = Object.assign(Object.assign({}, newColumn), {\n children: injectFilter(prefixCls, dropdownPrefixCls, newColumn.children, filterStates, locale, triggerFilter, getPopupContainer, columnPos, rootClassName)\n });\n }\n return newColumn;\n });\n}\nconst generateFilterInfo = filterStates => {\n const currentFilters = {};\n filterStates.forEach(_ref2 => {\n let {\n key,\n filteredKeys,\n column\n } = _ref2;\n const keyAsString = key;\n const {\n filters,\n filterDropdown\n } = column;\n if (filterDropdown) {\n currentFilters[keyAsString] = filteredKeys || null;\n } else if (Array.isArray(filteredKeys)) {\n const keys = flattenKeys(filters);\n currentFilters[keyAsString] = keys.filter(originKey => filteredKeys.includes(String(originKey)));\n } else {\n currentFilters[keyAsString] = null;\n }\n });\n return currentFilters;\n};\nexport const getFilterData = (data, filterStates, childrenColumnName) => {\n const filterDatas = filterStates.reduce((currentData, filterState) => {\n const {\n column: {\n onFilter,\n filters\n },\n filteredKeys\n } = filterState;\n if (onFilter && filteredKeys && filteredKeys.length) {\n return currentData\n // shallow copy\n .map(record => Object.assign({}, record)).filter(record => filteredKeys.some(key => {\n const keys = flattenKeys(filters);\n const keyIndex = keys.findIndex(k => String(k) === String(key));\n const realKey = keyIndex !== -1 ? keys[keyIndex] : key;\n // filter children\n if (record[childrenColumnName]) {\n record[childrenColumnName] = getFilterData(record[childrenColumnName], filterStates, childrenColumnName);\n }\n return onFilter(realKey, record);\n }));\n }\n return currentData;\n }, data);\n return filterDatas;\n};\nconst getMergedColumns = rawMergedColumns => rawMergedColumns.flatMap(column => {\n if ('children' in column) {\n return [column].concat(_toConsumableArray(getMergedColumns(column.children || [])));\n }\n return [column];\n});\nconst useFilter = props => {\n const {\n prefixCls,\n dropdownPrefixCls,\n mergedColumns: rawMergedColumns,\n onFilterChange,\n getPopupContainer,\n locale: tableLocale,\n rootClassName\n } = props;\n const warning = devUseWarning('Table');\n const mergedColumns = React.useMemo(() => getMergedColumns(rawMergedColumns || []), [rawMergedColumns]);\n const [filterStates, setFilterStates] = React.useState(() => collectFilterStates(mergedColumns, true));\n const mergedFilterStates = React.useMemo(() => {\n const collectedStates = collectFilterStates(mergedColumns, false);\n if (collectedStates.length === 0) {\n return collectedStates;\n }\n let filteredKeysIsAllNotControlled = true;\n let filteredKeysIsAllControlled = true;\n collectedStates.forEach(_ref3 => {\n let {\n filteredKeys\n } = _ref3;\n if (filteredKeys !== undefined) {\n filteredKeysIsAllNotControlled = false;\n } else {\n filteredKeysIsAllControlled = false;\n }\n });\n // Return if not controlled\n if (filteredKeysIsAllNotControlled) {\n // Filter column may have been removed\n const keyList = (mergedColumns || []).map((column, index) => getColumnKey(column, getColumnPos(index)));\n return filterStates.filter(_ref4 => {\n let {\n key\n } = _ref4;\n return keyList.includes(key);\n }).map(item => {\n const col = mergedColumns[keyList.findIndex(key => key === item.key)];\n return Object.assign(Object.assign({}, item), {\n column: Object.assign(Object.assign({}, item.column), col),\n forceFiltered: col.filtered\n });\n });\n }\n process.env.NODE_ENV !== \"production\" ? warning(filteredKeysIsAllControlled, 'usage', 'Columns should all contain `filteredValue` or not contain `filteredValue`.') : void 0;\n return collectedStates;\n }, [mergedColumns, filterStates]);\n const filters = React.useMemo(() => generateFilterInfo(mergedFilterStates), [mergedFilterStates]);\n const triggerFilter = filterState => {\n const newFilterStates = mergedFilterStates.filter(_ref5 => {\n let {\n key\n } = _ref5;\n return key !== filterState.key;\n });\n newFilterStates.push(filterState);\n setFilterStates(newFilterStates);\n onFilterChange(generateFilterInfo(newFilterStates), newFilterStates);\n };\n const transformColumns = innerColumns => injectFilter(prefixCls, dropdownPrefixCls, innerColumns, mergedFilterStates, tableLocale, triggerFilter, getPopupContainer, undefined, rootClassName);\n return [transformColumns, mergedFilterStates, filters];\n};\nexport { flattenKeys };\nexport default useFilter;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { useState } from 'react';\nimport extendsObject from '../../_util/extendsObject';\nexport const DEFAULT_PAGE_SIZE = 10;\nexport function getPaginationParam(mergedPagination, pagination) {\n const param = {\n current: mergedPagination.current,\n pageSize: mergedPagination.pageSize\n };\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {};\n Object.keys(paginationObj).forEach(pageProp => {\n const value = mergedPagination[pageProp];\n if (typeof value !== 'function') {\n param[pageProp] = value;\n }\n });\n return param;\n}\nfunction usePagination(total, onChange, pagination) {\n const _a = pagination && typeof pagination === 'object' ? pagination : {},\n {\n total: paginationTotal = 0\n } = _a,\n paginationObj = __rest(_a, [\"total\"]);\n const [innerPagination, setInnerPagination] = useState(() => ({\n current: 'defaultCurrent' in paginationObj ? paginationObj.defaultCurrent : 1,\n pageSize: 'defaultPageSize' in paginationObj ? paginationObj.defaultPageSize : DEFAULT_PAGE_SIZE\n }));\n // ============ Basic Pagination Config ============\n const mergedPagination = extendsObject(innerPagination, paginationObj, {\n total: paginationTotal > 0 ? paginationTotal : total\n });\n // Reset `current` if data length or pageSize changed\n const maxPage = Math.ceil((paginationTotal || total) / mergedPagination.pageSize);\n if (mergedPagination.current > maxPage) {\n // Prevent a maximum page count of 0\n mergedPagination.current = maxPage || 1;\n }\n const refreshPagination = (current, pageSize) => {\n setInnerPagination({\n current: current !== null && current !== void 0 ? current : 1,\n pageSize: pageSize || mergedPagination.pageSize\n });\n };\n const onInternalChange = (current, pageSize) => {\n var _a;\n if (pagination) {\n (_a = pagination.onChange) === null || _a === void 0 ? void 0 : _a.call(pagination, current, pageSize);\n }\n refreshPagination(current, pageSize);\n onChange(current, pageSize || (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.pageSize));\n };\n if (pagination === false) {\n return [{}, () => {}];\n }\n return [Object.assign(Object.assign({}, mergedPagination), {\n onChange: onInternalChange\n }), refreshPagination];\n}\nexport default usePagination;","// This icon file is generated automatically.\nvar CaretDownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"outlined\" };\nexport default CaretDownOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretDownOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretDownOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretDownOutlined = function CaretDownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretDownOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretDownOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretDownOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar CaretUpOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z\" } }] }, \"name\": \"caret-up\", \"theme\": \"outlined\" };\nexport default CaretUpOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretUpOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretUpOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretUpOutlined = function CaretUpOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretUpOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretUpOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretUpOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport CaretDownOutlined from \"@ant-design/icons/es/icons/CaretDownOutlined\";\nimport CaretUpOutlined from \"@ant-design/icons/es/icons/CaretUpOutlined\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport Tooltip from '../../tooltip';\nimport { getColumnKey, getColumnPos, renderColumnTitle, safeColumnTitle } from '../util';\nconst ASCEND = 'ascend';\nconst DESCEND = 'descend';\nconst getMultiplePriority = column => {\n if (typeof column.sorter === 'object' && typeof column.sorter.multiple === 'number') {\n return column.sorter.multiple;\n }\n return false;\n};\nconst getSortFunction = sorter => {\n if (typeof sorter === 'function') {\n return sorter;\n }\n if (sorter && typeof sorter === 'object' && sorter.compare) {\n return sorter.compare;\n }\n return false;\n};\nconst nextSortDirection = (sortDirections, current) => {\n if (!current) {\n return sortDirections[0];\n }\n return sortDirections[sortDirections.indexOf(current) + 1];\n};\nconst collectSortStates = (columns, init, pos) => {\n let sortStates = [];\n const pushState = (column, columnPos) => {\n sortStates.push({\n column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.sortOrder\n });\n };\n (columns || []).forEach((column, index) => {\n const columnPos = getColumnPos(index, pos);\n if (column.children) {\n if ('sortOrder' in column) {\n // Controlled\n pushState(column, columnPos);\n }\n sortStates = [].concat(_toConsumableArray(sortStates), _toConsumableArray(collectSortStates(column.children, init, columnPos)));\n } else if (column.sorter) {\n if ('sortOrder' in column) {\n // Controlled\n pushState(column, columnPos);\n } else if (init && column.defaultSortOrder) {\n // Default sorter\n sortStates.push({\n column,\n key: getColumnKey(column, columnPos),\n multiplePriority: getMultiplePriority(column),\n sortOrder: column.defaultSortOrder\n });\n }\n }\n });\n return sortStates;\n};\nconst injectSorter = (prefixCls, columns, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, pos) => {\n const finalColumns = (columns || []).map((column, index) => {\n const columnPos = getColumnPos(index, pos);\n let newColumn = column;\n if (newColumn.sorter) {\n const sortDirections = newColumn.sortDirections || defaultSortDirections;\n const showSorterTooltip = newColumn.showSorterTooltip === undefined ? tableShowSorterTooltip : newColumn.showSorterTooltip;\n const columnKey = getColumnKey(newColumn, columnPos);\n const sorterState = sorterStates.find(_ref => {\n let {\n key\n } = _ref;\n return key === columnKey;\n });\n const sortOrder = sorterState ? sorterState.sortOrder : null;\n const nextSortOrder = nextSortDirection(sortDirections, sortOrder);\n let sorter;\n if (column.sortIcon) {\n sorter = column.sortIcon({\n sortOrder\n });\n } else {\n const upNode = sortDirections.includes(ASCEND) && (/*#__PURE__*/React.createElement(CaretUpOutlined, {\n className: classNames(`${prefixCls}-column-sorter-up`, {\n active: sortOrder === ASCEND\n })\n }));\n const downNode = sortDirections.includes(DESCEND) && (/*#__PURE__*/React.createElement(CaretDownOutlined, {\n className: classNames(`${prefixCls}-column-sorter-down`, {\n active: sortOrder === DESCEND\n })\n }));\n sorter = /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(`${prefixCls}-column-sorter`, {\n [`${prefixCls}-column-sorter-full`]: !!(upNode && downNode)\n })\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-column-sorter-inner`,\n \"aria-hidden\": \"true\"\n }, upNode, downNode));\n }\n const {\n cancelSort,\n triggerAsc,\n triggerDesc\n } = tableLocale || {};\n let sortTip = cancelSort;\n if (nextSortOrder === DESCEND) {\n sortTip = triggerDesc;\n } else if (nextSortOrder === ASCEND) {\n sortTip = triggerAsc;\n }\n const tooltipProps = typeof showSorterTooltip === 'object' ? Object.assign({\n title: sortTip\n }, showSorterTooltip) : {\n title: sortTip\n };\n newColumn = Object.assign(Object.assign({}, newColumn), {\n className: classNames(newColumn.className, {\n [`${prefixCls}-column-sort`]: sortOrder\n }),\n title: renderProps => {\n const columnSortersClass = `${prefixCls}-column-sorters`;\n const renderColumnTitleWrapper = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-column-title`\n }, renderColumnTitle(column.title, renderProps));\n const renderSortTitle = /*#__PURE__*/React.createElement(\"div\", {\n className: columnSortersClass\n }, renderColumnTitleWrapper, sorter);\n if (showSorterTooltip) {\n if (typeof showSorterTooltip !== 'boolean' && (showSorterTooltip === null || showSorterTooltip === void 0 ? void 0 : showSorterTooltip.target) === 'sorter-icon') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${columnSortersClass} ${prefixCls}-column-sorters-tooltip-target-sorter`\n }, renderColumnTitleWrapper, /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps), sorter));\n }\n return /*#__PURE__*/React.createElement(Tooltip, Object.assign({}, tooltipProps), renderSortTitle);\n }\n return renderSortTitle;\n },\n onHeaderCell: col => {\n var _a;\n const cell = ((_a = column.onHeaderCell) === null || _a === void 0 ? void 0 : _a.call(column, col)) || {};\n const originOnClick = cell.onClick;\n const originOKeyDown = cell.onKeyDown;\n cell.onClick = event => {\n triggerSorter({\n column,\n key: columnKey,\n sortOrder: nextSortOrder,\n multiplePriority: getMultiplePriority(column)\n });\n originOnClick === null || originOnClick === void 0 ? void 0 : originOnClick(event);\n };\n cell.onKeyDown = event => {\n if (event.keyCode === KeyCode.ENTER) {\n triggerSorter({\n column,\n key: columnKey,\n sortOrder: nextSortOrder,\n multiplePriority: getMultiplePriority(column)\n });\n originOKeyDown === null || originOKeyDown === void 0 ? void 0 : originOKeyDown(event);\n }\n };\n const renderTitle = safeColumnTitle(column.title, {});\n const displayTitle = renderTitle === null || renderTitle === void 0 ? void 0 : renderTitle.toString();\n // Inform the screen-reader so it can tell the visually impaired user which column is sorted\n if (sortOrder) {\n cell['aria-sort'] = sortOrder === 'ascend' ? 'ascending' : 'descending';\n } else {\n cell['aria-label'] = displayTitle || '';\n }\n cell.className = classNames(cell.className, `${prefixCls}-column-has-sorters`);\n cell.tabIndex = 0;\n if (column.ellipsis) {\n cell.title = (renderTitle !== null && renderTitle !== void 0 ? renderTitle : '').toString();\n }\n return cell;\n }\n });\n }\n if ('children' in newColumn) {\n newColumn = Object.assign(Object.assign({}, newColumn), {\n children: injectSorter(prefixCls, newColumn.children, sorterStates, triggerSorter, defaultSortDirections, tableLocale, tableShowSorterTooltip, columnPos)\n });\n }\n return newColumn;\n });\n return finalColumns;\n};\nconst stateToInfo = sorterState => {\n const {\n column,\n sortOrder\n } = sorterState;\n return {\n column,\n order: sortOrder,\n field: column.dataIndex,\n columnKey: column.key\n };\n};\nconst generateSorterInfo = sorterStates => {\n const activeSorters = sorterStates.filter(_ref2 => {\n let {\n sortOrder\n } = _ref2;\n return sortOrder;\n }).map(stateToInfo);\n // =========== Legacy compatible support ===========\n // https://github.com/ant-design/ant-design/pull/19226\n if (activeSorters.length === 0 && sorterStates.length) {\n const lastIndex = sorterStates.length - 1;\n return Object.assign(Object.assign({}, stateToInfo(sorterStates[lastIndex])), {\n column: undefined,\n order: undefined,\n field: undefined,\n columnKey: undefined\n });\n }\n if (activeSorters.length <= 1) {\n return activeSorters[0] || {};\n }\n return activeSorters;\n};\nexport const getSortData = (data, sortStates, childrenColumnName) => {\n const innerSorterStates = sortStates.slice().sort((a, b) => b.multiplePriority - a.multiplePriority);\n const cloneData = data.slice();\n const runningSorters = innerSorterStates.filter(_ref3 => {\n let {\n column: {\n sorter\n },\n sortOrder\n } = _ref3;\n return getSortFunction(sorter) && sortOrder;\n });\n // Skip if no sorter needed\n if (!runningSorters.length) {\n return cloneData;\n }\n return cloneData.sort((record1, record2) => {\n for (let i = 0; i < runningSorters.length; i += 1) {\n const sorterState = runningSorters[i];\n const {\n column: {\n sorter\n },\n sortOrder\n } = sorterState;\n const compareFn = getSortFunction(sorter);\n if (compareFn && sortOrder) {\n const compareResult = compareFn(record1, record2, sortOrder);\n if (compareResult !== 0) {\n return sortOrder === ASCEND ? compareResult : -compareResult;\n }\n }\n }\n return 0;\n }).map(record => {\n const subRecords = record[childrenColumnName];\n if (subRecords) {\n return Object.assign(Object.assign({}, record), {\n [childrenColumnName]: getSortData(subRecords, sortStates, childrenColumnName)\n });\n }\n return record;\n });\n};\nconst useFilterSorter = props => {\n const {\n prefixCls,\n mergedColumns,\n sortDirections,\n tableLocale,\n showSorterTooltip,\n onSorterChange\n } = props;\n const [sortStates, setSortStates] = React.useState(collectSortStates(mergedColumns, true));\n const getColumnKeys = (columns, pos) => {\n const newKeys = [];\n columns.forEach((item, index) => {\n const columnPos = getColumnPos(index, pos);\n newKeys.push(getColumnKey(item, columnPos));\n if (Array.isArray(item.children)) {\n const childKeys = getColumnKeys(item.children, columnPos);\n newKeys.push.apply(newKeys, _toConsumableArray(childKeys));\n }\n });\n return newKeys;\n };\n const mergedSorterStates = React.useMemo(() => {\n let validate = true;\n const collectedStates = collectSortStates(mergedColumns, false);\n // Return if not controlled\n if (!collectedStates.length) {\n const mergedColumnsKeys = getColumnKeys(mergedColumns);\n return sortStates.filter(_ref4 => {\n let {\n key\n } = _ref4;\n return mergedColumnsKeys.includes(key);\n });\n }\n const validateStates = [];\n function patchStates(state) {\n if (validate) {\n validateStates.push(state);\n } else {\n validateStates.push(Object.assign(Object.assign({}, state), {\n sortOrder: null\n }));\n }\n }\n let multipleMode = null;\n collectedStates.forEach(state => {\n if (multipleMode === null) {\n patchStates(state);\n if (state.sortOrder) {\n if (state.multiplePriority === false) {\n validate = false;\n } else {\n multipleMode = true;\n }\n }\n } else if (multipleMode && state.multiplePriority !== false) {\n patchStates(state);\n } else {\n validate = false;\n patchStates(state);\n }\n });\n return validateStates;\n }, [mergedColumns, sortStates]);\n // Get render columns title required props\n const columnTitleSorterProps = React.useMemo(() => {\n var _a, _b;\n const sortColumns = mergedSorterStates.map(_ref5 => {\n let {\n column,\n sortOrder\n } = _ref5;\n return {\n column,\n order: sortOrder\n };\n });\n return {\n sortColumns,\n // Legacy\n sortColumn: (_a = sortColumns[0]) === null || _a === void 0 ? void 0 : _a.column,\n sortOrder: (_b = sortColumns[0]) === null || _b === void 0 ? void 0 : _b.order\n };\n }, [mergedSorterStates]);\n const triggerSorter = sortState => {\n let newSorterStates;\n if (sortState.multiplePriority === false || !mergedSorterStates.length || mergedSorterStates[0].multiplePriority === false) {\n newSorterStates = [sortState];\n } else {\n newSorterStates = [].concat(_toConsumableArray(mergedSorterStates.filter(_ref6 => {\n let {\n key\n } = _ref6;\n return key !== sortState.key;\n })), [sortState]);\n }\n setSortStates(newSorterStates);\n onSorterChange(generateSorterInfo(newSorterStates), newSorterStates);\n };\n const transformColumns = innerColumns => injectSorter(prefixCls, innerColumns, mergedSorterStates, triggerSorter, sortDirections, tableLocale, showSorterTooltip);\n const getSorters = () => generateSorterInfo(mergedSorterStates);\n return [transformColumns, mergedSorterStates, columnTitleSorterProps, getSorters];\n};\nexport default useFilterSorter;","import * as React from 'react';\nimport { renderColumnTitle } from '../util';\nconst fillTitle = (columns, columnTitleProps) => {\n const finalColumns = columns.map(column => {\n const cloneColumn = Object.assign({}, column);\n cloneColumn.title = renderColumnTitle(column.title, columnTitleProps);\n if ('children' in cloneColumn) {\n cloneColumn.children = fillTitle(cloneColumn.children, columnTitleProps);\n }\n return cloneColumn;\n });\n return finalColumns;\n};\nconst useTitleColumns = columnTitleProps => {\n const filledColumns = React.useCallback(columns => fillTitle(columns, columnTitleProps), [columnTitleProps]);\n return [filledColumns];\n};\nexport default useTitleColumns;","\"use client\";\n\nimport { genTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nconst RcTable = genTable((prev, next) => {\n const {\n _renderTimes: prevRenderTimes\n } = prev;\n const {\n _renderTimes: nextRenderTimes\n } = next;\n return prevRenderTimes !== nextRenderTimes;\n});\nexport default RcTable;","\"use client\";\n\nimport { genVirtualTable } from 'rc-table';\n/**\n * Same as `rc-table` but we modify trigger children update logic instead.\n */\nconst RcVirtualTable = genVirtualTable((prev, next) => {\n const {\n _renderTimes: prevRenderTimes\n } = prev;\n const {\n _renderTimes: nextRenderTimes\n } = next;\n return prevRenderTimes !== nextRenderTimes;\n});\nexport default RcVirtualTable;","import { unit } from '@ant-design/cssinjs';\nconst genBorderedStyle = token => {\n const {\n componentCls,\n lineWidth,\n lineType,\n tableBorderColor,\n tableHeaderBg,\n tablePaddingVertical,\n tablePaddingHorizontal,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const getSizeBorderStyle = (size, paddingVertical, paddingHorizontal) => ({\n [`&${componentCls}-${size}`]: {\n [`> ${componentCls}-container`]: {\n [`> ${componentCls}-content, > ${componentCls}-body`]: {\n [`\n > table > tbody > tr > th,\n > table > tbody > tr > td\n `]: {\n [`> ${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(paddingVertical).mul(-1).equal())}\n ${unit(calc(calc(paddingHorizontal).add(lineWidth)).mul(-1).equal())}`\n }\n }\n }\n }\n }\n });\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}${componentCls}-bordered`]: Object.assign(Object.assign(Object.assign({\n // ============================ Title =============================\n [`> ${componentCls}-title`]: {\n border: tableBorder,\n borderBottom: 0\n },\n // ============================ Content ============================\n [`> ${componentCls}-container`]: {\n borderInlineStart: tableBorder,\n borderTop: tableBorder,\n [`\n > ${componentCls}-content,\n > ${componentCls}-header,\n > ${componentCls}-body,\n > ${componentCls}-summary\n `]: {\n '> table': {\n // ============================= Cell =============================\n [`\n > thead > tr > th,\n > thead > tr > td,\n > tbody > tr > th,\n > tbody > tr > td,\n > tfoot > tr > th,\n > tfoot > tr > td\n `]: {\n borderInlineEnd: tableBorder\n },\n // ============================ Header ============================\n '> thead': {\n '> tr:not(:last-child) > th': {\n borderBottom: tableBorder\n },\n '> tr > th::before': {\n backgroundColor: 'transparent !important'\n }\n },\n // Fixed right should provides additional border\n [`\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n `]: {\n [`> ${componentCls}-cell-fix-right-first::after`]: {\n borderInlineEnd: tableBorder\n }\n },\n // ========================== Expandable ==========================\n [`\n > tbody > tr > th,\n > tbody > tr > td\n `]: {\n [`> ${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(tablePaddingVertical).mul(-1).equal())} ${unit(calc(calc(tablePaddingHorizontal).add(lineWidth)).mul(-1).equal())}`,\n '&::after': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: lineWidth,\n bottom: 0,\n borderInlineEnd: tableBorder,\n content: '\"\"'\n }\n }\n }\n }\n }\n },\n // ============================ Scroll ============================\n [`&${componentCls}-scroll-horizontal`]: {\n [`> ${componentCls}-container > ${componentCls}-body`]: {\n '> table > tbody': {\n [`\n > tr${componentCls}-expanded-row,\n > tr${componentCls}-placeholder\n `]: {\n '> th, > td': {\n borderInlineEnd: 0\n }\n }\n }\n }\n }\n }, getSizeBorderStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle)), getSizeBorderStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall)), {\n // ============================ Footer ============================\n [`> ${componentCls}-footer`]: {\n border: tableBorder,\n borderTop: 0\n }\n }),\n // ============================ Nested ============================\n [`${componentCls}-cell`]: {\n [`${componentCls}-container:first-child`]: {\n // :first-child to avoid the case when bordered and title is set\n borderTop: 0\n },\n // https://github.com/ant-design/ant-design/issues/35577\n '&-scrollbar:not([rowspan])': {\n boxShadow: `0 ${unit(lineWidth)} 0 ${unit(lineWidth)} ${tableHeaderBg}`\n }\n },\n [`${componentCls}-bordered ${componentCls}-cell-scrollbar`]: {\n borderInlineEnd: tableBorder\n }\n }\n };\n};\nexport default genBorderedStyle;","import { textEllipsis } from '../../style';\nconst genEllipsisStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-cell-ellipsis`]: Object.assign(Object.assign({}, textEllipsis), {\n wordBreak: 'keep-all',\n // Fixed first or last should special process\n [`\n &${componentCls}-cell-fix-left-last,\n &${componentCls}-cell-fix-right-first\n `]: {\n overflow: 'visible',\n [`${componentCls}-cell-content`]: {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n },\n [`${componentCls}-column-title`]: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n wordBreak: 'keep-all'\n }\n })\n }\n };\n};\nexport default genEllipsisStyle;","// ========================= Placeholder ==========================\nconst genEmptyStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-tbody > tr${componentCls}-placeholder`]: {\n textAlign: 'center',\n color: token.colorTextDisabled,\n [`\n &:hover > th,\n &:hover > td,\n `]: {\n background: token.colorBgContainer\n }\n }\n }\n };\n};\nexport default genEmptyStyle;","import { unit } from '@ant-design/cssinjs';\nimport { operationUnit } from '../../style';\nconst genExpandStyle = token => {\n const {\n componentCls,\n antCls,\n motionDurationSlow,\n lineWidth,\n paddingXS,\n lineType,\n tableBorderColor,\n tableExpandIconBg,\n tableExpandColumnWidth,\n borderRadius,\n tablePaddingVertical,\n tablePaddingHorizontal,\n tableExpandedRowBg,\n paddingXXS,\n expandIconMarginTop,\n expandIconSize,\n expandIconHalfInner,\n expandIconScale,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const expandIconLineOffset = calc(paddingXXS).sub(lineWidth).equal();\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-expand-icon-col`]: {\n width: tableExpandColumnWidth\n },\n [`${componentCls}-row-expand-icon-cell`]: {\n textAlign: 'center',\n [`${componentCls}-row-expand-icon`]: {\n display: 'inline-flex',\n float: 'none',\n verticalAlign: 'sub'\n }\n },\n [`${componentCls}-row-indent`]: {\n height: 1,\n float: 'left'\n },\n [`${componentCls}-row-expand-icon`]: Object.assign(Object.assign({}, operationUnit(token)), {\n position: 'relative',\n float: 'left',\n width: expandIconSize,\n height: expandIconSize,\n color: 'inherit',\n lineHeight: unit(expandIconSize),\n background: tableExpandIconBg,\n border: tableBorder,\n borderRadius,\n transform: `scale(${expandIconScale})`,\n '&:focus, &:hover, &:active': {\n borderColor: 'currentcolor'\n },\n '&::before, &::after': {\n position: 'absolute',\n background: 'currentcolor',\n transition: `transform ${motionDurationSlow} ease-out`,\n content: '\"\"'\n },\n '&::before': {\n top: expandIconHalfInner,\n insetInlineEnd: expandIconLineOffset,\n insetInlineStart: expandIconLineOffset,\n height: lineWidth\n },\n '&::after': {\n top: expandIconLineOffset,\n bottom: expandIconLineOffset,\n insetInlineStart: expandIconHalfInner,\n width: lineWidth,\n transform: 'rotate(90deg)'\n },\n // Motion effect\n '&-collapsed::before': {\n transform: 'rotate(-180deg)'\n },\n '&-collapsed::after': {\n transform: 'rotate(0deg)'\n },\n '&-spaced': {\n '&::before, &::after': {\n display: 'none',\n content: 'none'\n },\n background: 'transparent',\n border: 0,\n visibility: 'hidden'\n }\n }),\n [`${componentCls}-row-indent + ${componentCls}-row-expand-icon`]: {\n marginTop: expandIconMarginTop,\n marginInlineEnd: paddingXS\n },\n [`tr${componentCls}-expanded-row`]: {\n '&, &:hover': {\n '> th, > td': {\n background: tableExpandedRowBg\n }\n },\n // https://github.com/ant-design/ant-design/issues/25573\n [`${antCls}-descriptions-view`]: {\n display: 'flex',\n table: {\n flex: 'auto',\n width: '100%'\n }\n }\n },\n // With fixed\n [`${componentCls}-expanded-row-fixed`]: {\n position: 'relative',\n margin: `${unit(calc(tablePaddingVertical).mul(-1).equal())} ${unit(calc(tablePaddingHorizontal).mul(-1).equal())}`,\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`\n }\n }\n };\n};\nexport default genExpandStyle;","import { unit } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nconst genFilterStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n tableFilterDropdownWidth,\n tableFilterDropdownSearchWidth,\n paddingXXS,\n paddingXS,\n colorText,\n lineWidth,\n lineType,\n tableBorderColor,\n headerIconColor,\n fontSizeSM,\n tablePaddingHorizontal,\n borderRadius,\n motionDurationSlow,\n colorTextDescription,\n colorPrimary,\n tableHeaderFilterActiveBg,\n colorTextDisabled,\n tableFilterDropdownBg,\n tableFilterDropdownHeight,\n controlItemBgHover,\n controlItemBgActive,\n boxShadowSecondary,\n filterDropdownMenuBg,\n calc\n } = token;\n const dropdownPrefixCls = `${antCls}-dropdown`;\n const tableFilterDropdownPrefixCls = `${componentCls}-filter-dropdown`;\n const treePrefixCls = `${antCls}-tree`;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n return [{\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-filter-column`]: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n [`${componentCls}-filter-trigger`]: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n marginBlock: calc(paddingXXS).mul(-1).equal(),\n marginInline: `${unit(paddingXXS)} ${unit(calc(tablePaddingHorizontal).div(2).mul(-1).equal())}`,\n padding: `0 ${unit(paddingXXS)}`,\n color: headerIconColor,\n fontSize: fontSizeSM,\n borderRadius,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n color: colorTextDescription,\n background: tableHeaderFilterActiveBg\n },\n '&.active': {\n color: colorPrimary\n }\n }\n }\n }, {\n // Dropdown\n [`${antCls}-dropdown`]: {\n [tableFilterDropdownPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n minWidth: tableFilterDropdownWidth,\n backgroundColor: tableFilterDropdownBg,\n borderRadius,\n boxShadow: boxShadowSecondary,\n overflow: 'hidden',\n // Reset menu\n [`${dropdownPrefixCls}-menu`]: {\n // https://github.com/ant-design/ant-design/issues/4916\n // https://github.com/ant-design/ant-design/issues/19542\n maxHeight: tableFilterDropdownHeight,\n overflowX: 'hidden',\n border: 0,\n boxShadow: 'none',\n borderRadius: 'unset',\n backgroundColor: filterDropdownMenuBg,\n '&:empty::after': {\n display: 'block',\n padding: `${unit(paddingXS)} 0`,\n color: colorTextDisabled,\n fontSize: fontSizeSM,\n textAlign: 'center',\n content: '\"Not Found\"'\n }\n },\n [`${tableFilterDropdownPrefixCls}-tree`]: {\n paddingBlock: `${unit(paddingXS)} 0`,\n paddingInline: paddingXS,\n [treePrefixCls]: {\n padding: 0\n },\n [`${treePrefixCls}-treenode ${treePrefixCls}-node-content-wrapper:hover`]: {\n backgroundColor: controlItemBgHover\n },\n [`${treePrefixCls}-treenode-checkbox-checked ${treePrefixCls}-node-content-wrapper`]: {\n '&, &:hover': {\n backgroundColor: controlItemBgActive\n }\n }\n },\n [`${tableFilterDropdownPrefixCls}-search`]: {\n padding: paddingXS,\n borderBottom: tableBorder,\n '&-input': {\n input: {\n minWidth: tableFilterDropdownSearchWidth\n },\n [iconCls]: {\n color: colorTextDisabled\n }\n }\n },\n [`${tableFilterDropdownPrefixCls}-checkall`]: {\n width: '100%',\n marginBottom: paddingXXS,\n marginInlineStart: paddingXXS\n },\n // Operation\n [`${tableFilterDropdownPrefixCls}-btns`]: {\n display: 'flex',\n justifyContent: 'space-between',\n padding: `${unit(calc(paddingXS).sub(lineWidth).equal())} ${unit(paddingXS)}`,\n overflow: 'hidden',\n borderTop: tableBorder\n }\n })\n }\n },\n // Dropdown Menu & SubMenu\n {\n // submenu of table filter dropdown\n [`${antCls}-dropdown ${tableFilterDropdownPrefixCls}, ${tableFilterDropdownPrefixCls}-submenu`]: {\n // Checkbox\n [`${antCls}-checkbox-wrapper + span`]: {\n paddingInlineStart: paddingXS,\n color: colorText\n },\n '> ul': {\n maxHeight: 'calc(100vh - 130px)',\n overflowX: 'hidden',\n overflowY: 'auto'\n }\n }\n }];\n};\nexport default genFilterStyle;","const genFixedStyle = token => {\n const {\n componentCls,\n lineWidth,\n colorSplit,\n motionDurationSlow,\n zIndexTableFixed,\n tableBg,\n zIndexTableSticky,\n calc\n } = token;\n const shadowColor = colorSplit;\n // Follow style is magic of shadow which should not follow token:\n return {\n [`${componentCls}-wrapper`]: {\n [`\n ${componentCls}-cell-fix-left,\n ${componentCls}-cell-fix-right\n `]: {\n position: 'sticky !important',\n zIndex: zIndexTableFixed,\n background: tableBg\n },\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after\n `]: {\n position: 'absolute',\n top: 0,\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: calc(lineWidth).mul(-1).equal(),\n width: 30,\n transform: 'translateX(100%)',\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n [`${componentCls}-cell-fix-left-all::after`]: {\n display: 'none'\n },\n [`\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n position: 'absolute',\n top: 0,\n bottom: calc(lineWidth).mul(-1).equal(),\n left: {\n _skip_check_: true,\n value: 0\n },\n width: 30,\n transform: 'translateX(-100%)',\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n [`${componentCls}-container`]: {\n position: 'relative',\n '&::before, &::after': {\n position: 'absolute',\n top: 0,\n bottom: 0,\n zIndex: calc(zIndexTableSticky).add(1).equal({\n unit: false\n }),\n width: 30,\n transition: `box-shadow ${motionDurationSlow}`,\n content: '\"\"',\n pointerEvents: 'none'\n },\n '&::before': {\n insetInlineStart: 0\n },\n '&::after': {\n insetInlineEnd: 0\n }\n },\n [`${componentCls}-ping-left`]: {\n [`&:not(${componentCls}-has-fix-left) ${componentCls}-container::before`]: {\n boxShadow: `inset 10px 0 8px -8px ${shadowColor}`\n },\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after\n `]: {\n boxShadow: `inset 10px 0 8px -8px ${shadowColor}`\n },\n [`${componentCls}-cell-fix-left-last::before`]: {\n backgroundColor: 'transparent !important'\n }\n },\n [`${componentCls}-ping-right`]: {\n [`&:not(${componentCls}-has-fix-right) ${componentCls}-container::after`]: {\n boxShadow: `inset -10px 0 8px -8px ${shadowColor}`\n },\n [`\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n boxShadow: `inset -10px 0 8px -8px ${shadowColor}`\n }\n },\n // Gapped fixed Columns do not show the shadow\n [`${componentCls}-fixed-column-gapped`]: {\n [`\n ${componentCls}-cell-fix-left-first::after,\n ${componentCls}-cell-fix-left-last::after,\n ${componentCls}-cell-fix-right-first::after,\n ${componentCls}-cell-fix-right-last::after\n `]: {\n boxShadow: 'none'\n }\n }\n }\n };\n};\nexport default genFixedStyle;","import { unit } from '@ant-design/cssinjs';\nconst genPaginationStyle = token => {\n const {\n componentCls,\n antCls,\n margin\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Pagination ==========================\n [`${componentCls}-pagination${antCls}-pagination`]: {\n margin: `${unit(margin)} 0`\n },\n [`${componentCls}-pagination`]: {\n display: 'flex',\n flexWrap: 'wrap',\n rowGap: token.paddingXS,\n '> *': {\n flex: 'none'\n },\n '&-left': {\n justifyContent: 'flex-start'\n },\n '&-center': {\n justifyContent: 'center'\n },\n '&-right': {\n justifyContent: 'flex-end'\n }\n }\n }\n };\n};\nexport default genPaginationStyle;","import { unit } from '@ant-design/cssinjs';\nconst genRadiusStyle = token => {\n const {\n componentCls,\n tableRadius\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [componentCls]: {\n // https://github.com/ant-design/ant-design/issues/39115#issuecomment-1362314574\n [`${componentCls}-title, ${componentCls}-header`]: {\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`\n },\n [`${componentCls}-title + ${componentCls}-container`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0,\n // https://github.com/ant-design/ant-design/issues/41975\n [`${componentCls}-header, table`]: {\n borderRadius: 0\n },\n 'table > thead > tr:first-child': {\n 'th:first-child, th:last-child, td:first-child, td:last-child': {\n borderRadius: 0\n }\n }\n },\n '&-container': {\n borderStartStartRadius: tableRadius,\n borderStartEndRadius: tableRadius,\n 'table > thead > tr:first-child': {\n '> *:first-child': {\n borderStartStartRadius: tableRadius\n },\n '> *:last-child': {\n borderStartEndRadius: tableRadius\n }\n }\n },\n '&-footer': {\n borderRadius: `0 0 ${unit(tableRadius)} ${unit(tableRadius)}`\n }\n }\n }\n };\n};\nexport default genRadiusStyle;","const genStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-wrapper-rtl`]: {\n direction: 'rtl',\n table: {\n direction: 'rtl'\n },\n [`${componentCls}-pagination-left`]: {\n justifyContent: 'flex-end'\n },\n [`${componentCls}-pagination-right`]: {\n justifyContent: 'flex-start'\n },\n [`${componentCls}-row-expand-icon`]: {\n float: 'right',\n '&::after': {\n transform: 'rotate(-90deg)'\n },\n '&-collapsed::before': {\n transform: 'rotate(180deg)'\n },\n '&-collapsed::after': {\n transform: 'rotate(0deg)'\n }\n },\n [`${componentCls}-container`]: {\n '&::before': {\n insetInlineStart: 'unset',\n insetInlineEnd: 0\n },\n '&::after': {\n insetInlineStart: 0,\n insetInlineEnd: 'unset'\n },\n [`${componentCls}-row-indent`]: {\n float: 'right'\n }\n }\n }\n };\n};\nexport default genStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSelectionStyle = token => {\n const {\n componentCls,\n antCls,\n iconCls,\n fontSizeIcon,\n padding,\n paddingXS,\n headerIconColor,\n headerIconHoverColor,\n tableSelectionColumnWidth,\n tableSelectedRowBg,\n tableSelectedRowHoverBg,\n tableRowHoverBg,\n tablePaddingHorizontal,\n calc\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Selections ==========================\n [`${componentCls}-selection-col`]: {\n width: tableSelectionColumnWidth,\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: calc(tableSelectionColumnWidth).add(fontSizeIcon).add(calc(padding).div(4)).equal()\n }\n },\n [`${componentCls}-bordered ${componentCls}-selection-col`]: {\n width: calc(tableSelectionColumnWidth).add(calc(paddingXS).mul(2)).equal(),\n [`&${componentCls}-selection-col-with-dropdown`]: {\n width: calc(tableSelectionColumnWidth).add(fontSizeIcon).add(calc(padding).div(4)).add(calc(paddingXS).mul(2)).equal()\n }\n },\n [`\n table tr th${componentCls}-selection-column,\n table tr td${componentCls}-selection-column,\n ${componentCls}-selection-column\n `]: {\n paddingInlineEnd: token.paddingXS,\n paddingInlineStart: token.paddingXS,\n textAlign: 'center',\n [`${antCls}-radio-wrapper`]: {\n marginInlineEnd: 0\n }\n },\n [`table tr th${componentCls}-selection-column${componentCls}-cell-fix-left`]: {\n zIndex: calc(token.zIndexTableFixed).add(1).equal({\n unit: false\n })\n },\n [`table tr th${componentCls}-selection-column::after`]: {\n backgroundColor: 'transparent !important'\n },\n [`${componentCls}-selection`]: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column'\n },\n [`${componentCls}-selection-extra`]: {\n position: 'absolute',\n top: 0,\n zIndex: 1,\n cursor: 'pointer',\n transition: `all ${token.motionDurationSlow}`,\n marginInlineStart: '100%',\n paddingInlineStart: unit(calc(tablePaddingHorizontal).div(4).equal()),\n [iconCls]: {\n color: headerIconColor,\n fontSize: fontSizeIcon,\n verticalAlign: 'baseline',\n '&:hover': {\n color: headerIconHoverColor\n }\n }\n },\n // ============================= Rows =============================\n [`${componentCls}-tbody`]: {\n [`${componentCls}-row`]: {\n [`&${componentCls}-row-selected`]: {\n [`> ${componentCls}-cell`]: {\n background: tableSelectedRowBg,\n '&-row-hover': {\n background: tableSelectedRowHoverBg\n }\n }\n },\n [`> ${componentCls}-cell-row-hover`]: {\n background: tableRowHoverBg\n }\n }\n }\n }\n };\n};\nexport default genSelectionStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSizeStyle = token => {\n const {\n componentCls,\n tableExpandColumnWidth,\n calc\n } = token;\n const getSizeStyle = (size, paddingVertical, paddingHorizontal, fontSize) => ({\n [`${componentCls}${componentCls}-${size}`]: {\n fontSize,\n [`\n ${componentCls}-title,\n ${componentCls}-footer,\n ${componentCls}-cell,\n ${componentCls}-thead > tr > th,\n ${componentCls}-tbody > tr > th,\n ${componentCls}-tbody > tr > td,\n tfoot > tr > th,\n tfoot > tr > td\n `]: {\n padding: `${unit(paddingVertical)} ${unit(paddingHorizontal)}`\n },\n [`${componentCls}-filter-trigger`]: {\n marginInlineEnd: unit(calc(paddingHorizontal).div(2).mul(-1).equal())\n },\n [`${componentCls}-expanded-row-fixed`]: {\n margin: `${unit(calc(paddingVertical).mul(-1).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`\n },\n [`${componentCls}-tbody`]: {\n // ========================= Nest Table ===========================\n [`${componentCls}-wrapper:only-child ${componentCls}`]: {\n marginBlock: unit(calc(paddingVertical).mul(-1).equal()),\n marginInline: `${unit(calc(tableExpandColumnWidth).sub(paddingHorizontal).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`\n }\n },\n // https://github.com/ant-design/ant-design/issues/35167\n [`${componentCls}-selection-extra`]: {\n paddingInlineStart: unit(calc(paddingHorizontal).div(4).equal())\n }\n }\n });\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, getSizeStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle, token.tableFontSizeMiddle)), getSizeStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall, token.tableFontSizeSmall))\n };\n};\nexport default genSizeStyle;","const genSorterStyle = token => {\n const {\n componentCls,\n marginXXS,\n fontSizeIcon,\n headerIconColor,\n headerIconHoverColor\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-thead th${componentCls}-column-has-sorters`]: {\n outline: 'none',\n cursor: 'pointer',\n // why left 0s? Avoid column header move with transition when left is changed\n // https://github.com/ant-design/ant-design/issues/50588\n transition: `all ${token.motionDurationSlow}, left 0s`,\n '&:hover': {\n background: token.tableHeaderSortHoverBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n },\n '&:focus-visible': {\n color: token.colorPrimary\n },\n // https://github.com/ant-design/ant-design/issues/30969\n [`\n &${componentCls}-cell-fix-left:hover,\n &${componentCls}-cell-fix-right:hover\n `]: {\n background: token.tableFixedHeaderSortActiveBg\n }\n },\n [`${componentCls}-thead th${componentCls}-column-sort`]: {\n background: token.tableHeaderSortBg,\n '&::before': {\n backgroundColor: 'transparent !important'\n }\n },\n [`td${componentCls}-column-sort`]: {\n background: token.tableBodySortBg\n },\n [`${componentCls}-column-title`]: {\n position: 'relative',\n zIndex: 1,\n flex: 1\n },\n [`${componentCls}-column-sorters`]: {\n display: 'flex',\n flex: 'auto',\n alignItems: 'center',\n justifyContent: 'space-between',\n '&::after': {\n position: 'absolute',\n inset: 0,\n width: '100%',\n height: '100%',\n content: '\"\"'\n }\n },\n [`${componentCls}-column-sorters-tooltip-target-sorter`]: {\n '&::after': {\n content: 'none'\n }\n },\n [`${componentCls}-column-sorter`]: {\n marginInlineStart: marginXXS,\n color: headerIconColor,\n fontSize: 0,\n transition: `color ${token.motionDurationSlow}`,\n '&-inner': {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n '&-up, &-down': {\n fontSize: fontSizeIcon,\n '&.active': {\n color: token.colorPrimary\n }\n },\n [`${componentCls}-column-sorter-up + ${componentCls}-column-sorter-down`]: {\n marginTop: '-0.3em'\n }\n },\n [`${componentCls}-column-sorters:hover ${componentCls}-column-sorter`]: {\n color: headerIconHoverColor\n }\n }\n };\n};\nexport default genSorterStyle;","import { unit } from '@ant-design/cssinjs';\nconst genStickyStyle = token => {\n const {\n componentCls,\n opacityLoading,\n tableScrollThumbBg,\n tableScrollThumbBgHover,\n tableScrollThumbSize,\n tableScrollBg,\n zIndexTableSticky,\n stickyScrollBarBorderRadius,\n lineWidth,\n lineType,\n tableBorderColor\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-sticky`]: {\n '&-holder': {\n position: 'sticky',\n zIndex: zIndexTableSticky,\n background: token.colorBgContainer\n },\n '&-scroll': {\n position: 'sticky',\n bottom: 0,\n height: `${unit(tableScrollThumbSize)} !important`,\n zIndex: zIndexTableSticky,\n display: 'flex',\n alignItems: 'center',\n background: tableScrollBg,\n borderTop: tableBorder,\n opacity: opacityLoading,\n '&:hover': {\n transformOrigin: 'center bottom'\n },\n // fake scrollbar style of sticky\n '&-bar': {\n height: tableScrollThumbSize,\n backgroundColor: tableScrollThumbBg,\n borderRadius: stickyScrollBarBorderRadius,\n transition: `all ${token.motionDurationSlow}, transform none`,\n position: 'absolute',\n bottom: 0,\n '&:hover, &-active': {\n backgroundColor: tableScrollThumbBgHover\n }\n }\n }\n }\n }\n };\n};\nexport default genStickyStyle;","import { unit } from '@ant-design/cssinjs';\nconst genSummaryStyle = token => {\n const {\n componentCls,\n lineWidth,\n tableBorderColor,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${token.lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: {\n [`${componentCls}-summary`]: {\n position: 'relative',\n zIndex: token.zIndexTableFixed,\n background: token.tableBg,\n '> tr': {\n '> th, > td': {\n borderBottom: tableBorder\n }\n }\n },\n [`div${componentCls}-summary`]: {\n boxShadow: `0 ${unit(calc(lineWidth).mul(-1).equal())} 0 ${tableBorderColor}`\n }\n }\n };\n};\nexport default genSummaryStyle;","import { unit } from '@ant-design/cssinjs';\nconst genVirtualStyle = token => {\n const {\n componentCls,\n motionDurationMid,\n lineWidth,\n lineType,\n tableBorderColor,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n const rowCellCls = `${componentCls}-expanded-row-cell`;\n return {\n [`${componentCls}-wrapper`]: {\n // ========================== Row ==========================\n [`${componentCls}-tbody-virtual`]: {\n [`${componentCls}-tbody-virtual-holder-inner`]: {\n [`\n & > ${componentCls}-row, \n & > div:not(${componentCls}-row) > ${componentCls}-row\n `]: {\n display: 'flex',\n boxSizing: 'border-box',\n width: '100%'\n }\n },\n [`${componentCls}-cell`]: {\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid}`\n },\n [`${componentCls}-expanded-row`]: {\n [`${rowCellCls}${rowCellCls}-fixed`]: {\n position: 'sticky',\n insetInlineStart: 0,\n overflow: 'hidden',\n width: `calc(var(--virtual-width) - ${unit(lineWidth)})`,\n borderInlineEnd: 'none'\n }\n }\n },\n // ======================== Border =========================\n [`${componentCls}-bordered`]: {\n [`${componentCls}-tbody-virtual`]: {\n '&:after': {\n content: '\"\"',\n insetInline: 0,\n bottom: 0,\n borderBottom: tableBorder,\n position: 'absolute'\n },\n [`${componentCls}-cell`]: {\n borderInlineEnd: tableBorder,\n [`&${componentCls}-cell-fix-right-first:before`]: {\n content: '\"\"',\n position: 'absolute',\n insetBlock: 0,\n insetInlineStart: calc(lineWidth).mul(-1).equal(),\n borderInlineStart: tableBorder\n }\n }\n },\n // Empty placeholder\n [`&${componentCls}-virtual`]: {\n [`${componentCls}-placeholder ${componentCls}-cell`]: {\n borderInlineEnd: tableBorder,\n borderBottom: tableBorder\n }\n }\n }\n }\n };\n};\nexport default genVirtualStyle;","import { unit } from '@ant-design/cssinjs';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { clearFix, resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport genBorderedStyle from './bordered';\nimport genEllipsisStyle from './ellipsis';\nimport genEmptyStyle from './empty';\nimport genExpandStyle from './expand';\nimport genFilterStyle from './filter';\nimport genFixedStyle from './fixed';\nimport genPaginationStyle from './pagination';\nimport genRadiusStyle from './radius';\nimport genRtlStyle from './rtl';\nimport genSelectionStyle from './selection';\nimport genSizeStyle from './size';\nimport genSorterStyle from './sorter';\nimport genStickyStyle from './sticky';\nimport genSummaryStyle from './summary';\nimport genVirtualStyle from './virtual';\nconst genTableStyle = token => {\n const {\n componentCls,\n fontWeightStrong,\n tablePaddingVertical,\n tablePaddingHorizontal,\n tableExpandColumnWidth,\n lineWidth,\n lineType,\n tableBorderColor,\n tableFontSize,\n tableBg,\n tableRadius,\n tableHeaderTextColor,\n motionDurationMid,\n tableHeaderBg,\n tableHeaderCellSplitColor,\n tableFooterTextColor,\n tableFooterBg,\n calc\n } = token;\n const tableBorder = `${unit(lineWidth)} ${lineType} ${tableBorderColor}`;\n return {\n [`${componentCls}-wrapper`]: Object.assign(Object.assign({\n clear: 'both',\n maxWidth: '100%'\n }, clearFix()), {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n fontSize: tableFontSize,\n background: tableBg,\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`,\n // https://github.com/ant-design/ant-design/issues/47486\n scrollbarColor: `${token.tableScrollThumbBg} ${token.tableScrollBg}`\n }),\n // https://github.com/ant-design/ant-design/issues/17611\n table: {\n width: '100%',\n textAlign: 'start',\n borderRadius: `${unit(tableRadius)} ${unit(tableRadius)} 0 0`,\n borderCollapse: 'separate',\n borderSpacing: 0\n },\n // ============================= Cell ==============================\n [`\n ${componentCls}-cell,\n ${componentCls}-thead > tr > th,\n ${componentCls}-tbody > tr > th,\n ${componentCls}-tbody > tr > td,\n tfoot > tr > th,\n tfoot > tr > td\n `]: {\n position: 'relative',\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`,\n overflowWrap: 'break-word'\n },\n // ============================ Title =============================\n [`${componentCls}-title`]: {\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`\n },\n // ============================ Header ============================\n [`${componentCls}-thead`]: {\n [`\n > tr > th,\n > tr > td\n `]: {\n position: 'relative',\n color: tableHeaderTextColor,\n fontWeight: fontWeightStrong,\n textAlign: 'start',\n background: tableHeaderBg,\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid} ease`,\n \"&[colspan]:not([colspan='1'])\": {\n textAlign: 'center'\n },\n [`&:not(:last-child):not(${componentCls}-selection-column):not(${componentCls}-row-expand-icon-cell):not([colspan])::before`]: {\n position: 'absolute',\n top: '50%',\n insetInlineEnd: 0,\n width: 1,\n height: '1.6em',\n backgroundColor: tableHeaderCellSplitColor,\n transform: 'translateY(-50%)',\n transition: `background-color ${motionDurationMid}`,\n content: '\"\"'\n }\n },\n '> tr:not(:last-child) > th[colspan]': {\n borderBottom: 0\n }\n },\n // ============================ Body ============================\n [`${componentCls}-tbody`]: {\n '> tr': {\n '> th, > td': {\n transition: `background ${motionDurationMid}, border-color ${motionDurationMid}`,\n borderBottom: tableBorder,\n // ========================= Nest Table ===========================\n [`\n > ${componentCls}-wrapper:only-child,\n > ${componentCls}-expanded-row-fixed > ${componentCls}-wrapper:only-child\n `]: {\n [componentCls]: {\n marginBlock: unit(calc(tablePaddingVertical).mul(-1).equal()),\n marginInline: `${unit(calc(tableExpandColumnWidth).sub(tablePaddingHorizontal).equal())}\n ${unit(calc(tablePaddingHorizontal).mul(-1).equal())}`,\n [`${componentCls}-tbody > tr:last-child > td`]: {\n borderBottom: 0,\n '&:first-child, &:last-child': {\n borderRadius: 0\n }\n }\n }\n }\n },\n '> th': {\n position: 'relative',\n color: tableHeaderTextColor,\n fontWeight: fontWeightStrong,\n textAlign: 'start',\n background: tableHeaderBg,\n borderBottom: tableBorder,\n transition: `background ${motionDurationMid} ease`\n }\n }\n },\n // ============================ Footer ============================\n [`${componentCls}-footer`]: {\n padding: `${unit(tablePaddingVertical)} ${unit(tablePaddingHorizontal)}`,\n color: tableFooterTextColor,\n background: tableFooterBg\n }\n })\n };\n};\nexport const prepareComponentToken = token => {\n const {\n colorFillAlter,\n colorBgContainer,\n colorTextHeading,\n colorFillSecondary,\n colorFillContent,\n controlItemBgActive,\n controlItemBgActiveHover,\n padding,\n paddingSM,\n paddingXS,\n colorBorderSecondary,\n borderRadiusLG,\n controlHeight,\n colorTextPlaceholder,\n fontSize,\n fontSizeSM,\n lineHeight,\n lineWidth,\n colorIcon,\n colorIconHover,\n opacityLoading,\n controlInteractiveSize\n } = token;\n const colorFillSecondarySolid = new TinyColor(colorFillSecondary).onBackground(colorBgContainer).toHexShortString();\n const colorFillContentSolid = new TinyColor(colorFillContent).onBackground(colorBgContainer).toHexShortString();\n const colorFillAlterSolid = new TinyColor(colorFillAlter).onBackground(colorBgContainer).toHexShortString();\n const baseColorAction = new TinyColor(colorIcon);\n const baseColorActionHover = new TinyColor(colorIconHover);\n const expandIconHalfInner = controlInteractiveSize / 2 - lineWidth;\n const expandIconSize = expandIconHalfInner * 2 + lineWidth * 3;\n return {\n headerBg: colorFillAlterSolid,\n headerColor: colorTextHeading,\n headerSortActiveBg: colorFillSecondarySolid,\n headerSortHoverBg: colorFillContentSolid,\n bodySortBg: colorFillAlterSolid,\n rowHoverBg: colorFillAlterSolid,\n rowSelectedBg: controlItemBgActive,\n rowSelectedHoverBg: controlItemBgActiveHover,\n rowExpandedBg: colorFillAlter,\n cellPaddingBlock: padding,\n cellPaddingInline: padding,\n cellPaddingBlockMD: paddingSM,\n cellPaddingInlineMD: paddingXS,\n cellPaddingBlockSM: paddingXS,\n cellPaddingInlineSM: paddingXS,\n borderColor: colorBorderSecondary,\n headerBorderRadius: borderRadiusLG,\n footerBg: colorFillAlterSolid,\n footerColor: colorTextHeading,\n cellFontSize: fontSize,\n cellFontSizeMD: fontSize,\n cellFontSizeSM: fontSize,\n headerSplitColor: colorBorderSecondary,\n fixedHeaderSortActiveBg: colorFillSecondarySolid,\n headerFilterHoverBg: colorFillContent,\n filterDropdownMenuBg: colorBgContainer,\n filterDropdownBg: colorBgContainer,\n expandIconBg: colorBgContainer,\n selectionColumnWidth: controlHeight,\n stickyScrollBarBg: colorTextPlaceholder,\n stickyScrollBarBorderRadius: 100,\n expandIconMarginTop: (fontSize * lineHeight - lineWidth * 3) / 2 - Math.ceil((fontSizeSM * 1.4 - lineWidth * 3) / 2),\n headerIconColor: baseColorAction.clone().setAlpha(baseColorAction.getAlpha() * opacityLoading).toRgbString(),\n headerIconHoverColor: baseColorActionHover.clone().setAlpha(baseColorActionHover.getAlpha() * opacityLoading).toRgbString(),\n expandIconHalfInner,\n expandIconSize,\n expandIconScale: controlInteractiveSize / expandIconSize\n };\n};\nconst zIndexTableFixed = 2;\n// ============================== Export ==============================\nexport default genStyleHooks('Table', token => {\n const {\n colorTextHeading,\n colorSplit,\n colorBgContainer,\n controlInteractiveSize: checkboxSize,\n headerBg,\n headerColor,\n headerSortActiveBg,\n headerSortHoverBg,\n bodySortBg,\n rowHoverBg,\n rowSelectedBg,\n rowSelectedHoverBg,\n rowExpandedBg,\n cellPaddingBlock,\n cellPaddingInline,\n cellPaddingBlockMD,\n cellPaddingInlineMD,\n cellPaddingBlockSM,\n cellPaddingInlineSM,\n borderColor,\n footerBg,\n footerColor,\n headerBorderRadius,\n cellFontSize,\n cellFontSizeMD,\n cellFontSizeSM,\n headerSplitColor,\n fixedHeaderSortActiveBg,\n headerFilterHoverBg,\n filterDropdownBg,\n expandIconBg,\n selectionColumnWidth,\n stickyScrollBarBg,\n calc\n } = token;\n const tableToken = mergeToken(token, {\n tableFontSize: cellFontSize,\n tableBg: colorBgContainer,\n tableRadius: headerBorderRadius,\n tablePaddingVertical: cellPaddingBlock,\n tablePaddingHorizontal: cellPaddingInline,\n tablePaddingVerticalMiddle: cellPaddingBlockMD,\n tablePaddingHorizontalMiddle: cellPaddingInlineMD,\n tablePaddingVerticalSmall: cellPaddingBlockSM,\n tablePaddingHorizontalSmall: cellPaddingInlineSM,\n tableBorderColor: borderColor,\n tableHeaderTextColor: headerColor,\n tableHeaderBg: headerBg,\n tableFooterTextColor: footerColor,\n tableFooterBg: footerBg,\n tableHeaderCellSplitColor: headerSplitColor,\n tableHeaderSortBg: headerSortActiveBg,\n tableHeaderSortHoverBg: headerSortHoverBg,\n tableBodySortBg: bodySortBg,\n tableFixedHeaderSortActiveBg: fixedHeaderSortActiveBg,\n tableHeaderFilterActiveBg: headerFilterHoverBg,\n tableFilterDropdownBg: filterDropdownBg,\n tableRowHoverBg: rowHoverBg,\n tableSelectedRowBg: rowSelectedBg,\n tableSelectedRowHoverBg: rowSelectedHoverBg,\n zIndexTableFixed,\n zIndexTableSticky: calc(zIndexTableFixed).add(1).equal({\n unit: false\n }),\n tableFontSizeMiddle: cellFontSizeMD,\n tableFontSizeSmall: cellFontSizeSM,\n tableSelectionColumnWidth: selectionColumnWidth,\n tableExpandIconBg: expandIconBg,\n tableExpandColumnWidth: calc(checkboxSize).add(calc(token.padding).mul(2)).equal(),\n tableExpandedRowBg: rowExpandedBg,\n // Dropdown\n tableFilterDropdownWidth: 120,\n tableFilterDropdownHeight: 264,\n tableFilterDropdownSearchWidth: 140,\n // Virtual Scroll Bar\n tableScrollThumbSize: 8,\n // Mac scroll bar size\n tableScrollThumbBg: stickyScrollBarBg,\n tableScrollThumbBgHover: colorTextHeading,\n tableScrollBg: colorSplit\n });\n return [genTableStyle(tableToken), genPaginationStyle(tableToken), genSummaryStyle(tableToken), genSorterStyle(tableToken), genFilterStyle(tableToken), genBorderedStyle(tableToken), genRadiusStyle(tableToken), genExpandStyle(tableToken), genSummaryStyle(tableToken), genEmptyStyle(tableToken), genSelectionStyle(tableToken), genFixedStyle(tableToken), genStickyStyle(tableToken), genEllipsisStyle(tableToken), genSizeStyle(tableToken), genRtlStyle(tableToken), genVirtualStyle(tableToken)];\n}, prepareComponentToken, {\n unitless: {\n expandIconScale: true\n }\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { INTERNAL_HOOKS } from 'rc-table';\nimport { convertChildrenToColumns } from \"rc-table/es/hooks/useColumns\";\nimport omit from \"rc-util/es/omit\";\nimport useProxyImperativeHandle from '../_util/hooks/useProxyImperativeHandle';\nimport scrollTo from '../_util/scrollTo';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider/context';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useSize from '../config-provider/hooks/useSize';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport defaultLocale from '../locale/en_US';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport { useToken } from '../theme/internal';\nimport renderExpandIcon from './ExpandIcon';\nimport useContainerWidth from './hooks/useContainerWidth';\nimport useFilter, { getFilterData } from './hooks/useFilter';\nimport useLazyKVMap from './hooks/useLazyKVMap';\nimport usePagination, { DEFAULT_PAGE_SIZE, getPaginationParam } from './hooks/usePagination';\nimport useSelection from './hooks/useSelection';\nimport useSorter, { getSortData } from './hooks/useSorter';\nimport useTitleColumns from './hooks/useTitleColumns';\nimport RcTable from './RcTable';\nimport RcVirtualTable from './RcTable/VirtualTable';\nimport useStyle from './style';\nconst EMPTY_LIST = [];\nconst InternalTable = (props, ref) => {\n var _a, _b;\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n style,\n size: customizeSize,\n bordered,\n dropdownPrefixCls: customizeDropdownPrefixCls,\n dataSource,\n pagination,\n rowSelection,\n rowKey = 'key',\n rowClassName,\n columns,\n children,\n childrenColumnName: legacyChildrenColumnName,\n onChange,\n getPopupContainer,\n loading,\n expandIcon,\n expandable,\n expandedRowRender,\n expandIconColumnIndex,\n indentSize,\n scroll,\n sortDirections,\n locale,\n showSorterTooltip = {\n target: 'full-header'\n },\n virtual\n } = props;\n const warning = devUseWarning('Table');\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof rowKey === 'function' && rowKey.length > 1), 'usage', '`index` parameter of `rowKey` function is deprecated. There is no guarantee that it will work as expected.') : void 0;\n }\n const baseColumns = React.useMemo(() => columns || convertChildrenToColumns(children), [columns, children]);\n const needResponsive = React.useMemo(() => baseColumns.some(col => col.responsive), [baseColumns]);\n const screens = useBreakpoint(needResponsive);\n const mergedColumns = React.useMemo(() => {\n const matched = new Set(Object.keys(screens).filter(m => screens[m]));\n return baseColumns.filter(c => !c.responsive || c.responsive.some(r => matched.has(r)));\n }, [baseColumns, screens]);\n const tableProps = omit(props, ['className', 'style', 'columns']);\n const {\n locale: contextLocale = defaultLocale,\n direction,\n table,\n renderEmpty,\n getPrefixCls,\n getPopupContainer: getContextPopupContainer\n } = React.useContext(ConfigContext);\n const mergedSize = useSize(customizeSize);\n const tableLocale = Object.assign(Object.assign({}, contextLocale.Table), locale);\n const rawData = dataSource || EMPTY_LIST;\n const prefixCls = getPrefixCls('table', customizePrefixCls);\n const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n const [, token] = useToken();\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const mergedExpandable = Object.assign(Object.assign({\n childrenColumnName: legacyChildrenColumnName,\n expandIconColumnIndex\n }, expandable), {\n expandIcon: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.expandIcon) !== null && _a !== void 0 ? _a : (_b = table === null || table === void 0 ? void 0 : table.expandable) === null || _b === void 0 ? void 0 : _b.expandIcon\n });\n const {\n childrenColumnName = 'children'\n } = mergedExpandable;\n const expandType = React.useMemo(() => {\n if (rawData.some(item => item === null || item === void 0 ? void 0 : item[childrenColumnName])) {\n return 'nest';\n }\n if (expandedRowRender || (expandable === null || expandable === void 0 ? void 0 : expandable.expandedRowRender)) {\n return 'row';\n }\n return null;\n }, [rawData]);\n const internalRefs = {\n body: React.useRef()\n };\n // ============================ Width =============================\n const getContainerWidth = useContainerWidth(prefixCls);\n // ============================= Refs =============================\n const rootRef = React.useRef(null);\n const tblRef = React.useRef(null);\n useProxyImperativeHandle(ref, () => Object.assign(Object.assign({}, tblRef.current), {\n nativeElement: rootRef.current\n }));\n // ============================ RowKey ============================\n const getRowKey = React.useMemo(() => {\n if (typeof rowKey === 'function') {\n return rowKey;\n }\n return record => record === null || record === void 0 ? void 0 : record[rowKey];\n }, [rowKey]);\n const [getRecordByKey] = useLazyKVMap(rawData, childrenColumnName, getRowKey);\n // ============================ Events =============================\n const changeEventInfo = {};\n const triggerOnChange = function (info, action) {\n let reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var _a, _b, _c, _d;\n const changeInfo = Object.assign(Object.assign({}, changeEventInfo), info);\n if (reset) {\n (_a = changeEventInfo.resetPagination) === null || _a === void 0 ? void 0 : _a.call(changeEventInfo);\n // Reset event param\n if ((_b = changeInfo.pagination) === null || _b === void 0 ? void 0 : _b.current) {\n changeInfo.pagination.current = 1;\n }\n // Trigger pagination events\n if (pagination) {\n (_c = pagination.onChange) === null || _c === void 0 ? void 0 : _c.call(pagination, 1, (_d = changeInfo.pagination) === null || _d === void 0 ? void 0 : _d.pageSize);\n }\n }\n if (scroll && scroll.scrollToFirstRowOnChange !== false && internalRefs.body.current) {\n scrollTo(0, {\n getContainer: () => internalRefs.body.current\n });\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(changeInfo.pagination, changeInfo.filters, changeInfo.sorter, {\n currentDataSource: getFilterData(getSortData(rawData, changeInfo.sorterStates, childrenColumnName), changeInfo.filterStates, childrenColumnName),\n action\n });\n };\n /**\n * Controlled state in `columns` is not a good idea that makes too many code (1000+ line?) to read\n * state out and then put it back to title render. Move these code into `hooks` but still too\n * complex. We should provides Table props like `sorter` & `filter` to handle control in next big\n * version.\n */\n // ============================ Sorter =============================\n const onSorterChange = (sorter, sorterStates) => {\n triggerOnChange({\n sorter,\n sorterStates\n }, 'sort', false);\n };\n const [transformSorterColumns, sortStates, sorterTitleProps, getSorters] = useSorter({\n prefixCls,\n mergedColumns,\n onSorterChange,\n sortDirections: sortDirections || ['ascend', 'descend'],\n tableLocale,\n showSorterTooltip\n });\n const sortedData = React.useMemo(() => getSortData(rawData, sortStates, childrenColumnName), [rawData, sortStates]);\n changeEventInfo.sorter = getSorters();\n changeEventInfo.sorterStates = sortStates;\n // ============================ Filter ============================\n const onFilterChange = (filters, filterStates) => {\n triggerOnChange({\n filters,\n filterStates\n }, 'filter', true);\n };\n const [transformFilterColumns, filterStates, filters] = useFilter({\n prefixCls,\n locale: tableLocale,\n dropdownPrefixCls,\n mergedColumns,\n onFilterChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n rootClassName: classNames(rootClassName, rootCls)\n });\n const mergedData = getFilterData(sortedData, filterStates, childrenColumnName);\n changeEventInfo.filters = filters;\n changeEventInfo.filterStates = filterStates;\n // ============================ Column ============================\n const columnTitleProps = React.useMemo(() => {\n const mergedFilters = {};\n Object.keys(filters).forEach(filterKey => {\n if (filters[filterKey] !== null) {\n mergedFilters[filterKey] = filters[filterKey];\n }\n });\n return Object.assign(Object.assign({}, sorterTitleProps), {\n filters: mergedFilters\n });\n }, [sorterTitleProps, filters]);\n const [transformTitleColumns] = useTitleColumns(columnTitleProps);\n // ========================== Pagination ==========================\n const onPaginationChange = (current, pageSize) => {\n triggerOnChange({\n pagination: Object.assign(Object.assign({}, changeEventInfo.pagination), {\n current,\n pageSize\n })\n }, 'paginate');\n };\n const [mergedPagination, resetPagination] = usePagination(mergedData.length, onPaginationChange, pagination);\n changeEventInfo.pagination = pagination === false ? {} : getPaginationParam(mergedPagination, pagination);\n changeEventInfo.resetPagination = resetPagination;\n // ============================= Data =============================\n const pageData = React.useMemo(() => {\n if (pagination === false || !mergedPagination.pageSize) {\n return mergedData;\n }\n const {\n current = 1,\n total,\n pageSize = DEFAULT_PAGE_SIZE\n } = mergedPagination;\n process.env.NODE_ENV !== \"production\" ? warning(current > 0, 'usage', '`current` should be positive number.') : void 0;\n // Dynamic table data\n if (mergedData.length < total) {\n if (mergedData.length > pageSize) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'usage', '`dataSource` length is less than `pagination.total` but large than `pagination.pageSize`. Please make sure your config correct data with async mode.') : void 0;\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }\n return mergedData;\n }\n return mergedData.slice((current - 1) * pageSize, current * pageSize);\n }, [!!pagination, mergedData, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.current, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.pageSize, mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total]);\n // ========================== Selections ==========================\n const [transformSelectionColumns, selectedKeySet] = useSelection({\n prefixCls,\n data: mergedData,\n pageData,\n getRowKey,\n getRecordByKey,\n expandType,\n childrenColumnName,\n locale: tableLocale,\n getPopupContainer: getPopupContainer || getContextPopupContainer\n }, rowSelection);\n const internalRowClassName = (record, index, indent) => {\n let mergedRowClassName;\n if (typeof rowClassName === 'function') {\n mergedRowClassName = classNames(rowClassName(record, index, indent));\n } else {\n mergedRowClassName = classNames(rowClassName);\n }\n return classNames({\n [`${prefixCls}-row-selected`]: selectedKeySet.has(getRowKey(record, index))\n }, mergedRowClassName);\n };\n // ========================== Expandable ==========================\n // Pass origin render status into `rc-table`, this can be removed when refactor with `rc-table`\n mergedExpandable.__PARENT_RENDER_ICON__ = mergedExpandable.expandIcon;\n // Customize expandable icon\n mergedExpandable.expandIcon = mergedExpandable.expandIcon || expandIcon || renderExpandIcon(tableLocale);\n // Adjust expand icon index, no overwrite expandIconColumnIndex if set.\n if (expandType === 'nest' && mergedExpandable.expandIconColumnIndex === undefined) {\n mergedExpandable.expandIconColumnIndex = rowSelection ? 1 : 0;\n } else if (mergedExpandable.expandIconColumnIndex > 0 && rowSelection) {\n mergedExpandable.expandIconColumnIndex -= 1;\n }\n // Indent size\n if (typeof mergedExpandable.indentSize !== 'number') {\n mergedExpandable.indentSize = typeof indentSize === 'number' ? indentSize : 15;\n }\n // ============================ Render ============================\n const transformColumns = React.useCallback(innerColumns => transformTitleColumns(transformSelectionColumns(transformFilterColumns(transformSorterColumns(innerColumns)))), [transformSorterColumns, transformFilterColumns, transformSelectionColumns]);\n let topPaginationNode;\n let bottomPaginationNode;\n if (pagination !== false && (mergedPagination === null || mergedPagination === void 0 ? void 0 : mergedPagination.total)) {\n let paginationSize;\n if (mergedPagination.size) {\n paginationSize = mergedPagination.size;\n } else {\n paginationSize = mergedSize === 'small' || mergedSize === 'middle' ? 'small' : undefined;\n }\n const renderPagination = position => (/*#__PURE__*/React.createElement(Pagination, Object.assign({}, mergedPagination, {\n className: classNames(`${prefixCls}-pagination ${prefixCls}-pagination-${position}`, mergedPagination.className),\n size: paginationSize\n })));\n const defaultPosition = direction === 'rtl' ? 'left' : 'right';\n const {\n position\n } = mergedPagination;\n if (position !== null && Array.isArray(position)) {\n const topPos = position.find(p => p.includes('top'));\n const bottomPos = position.find(p => p.includes('bottom'));\n const isDisable = position.every(p => `${p}` === 'none');\n if (!topPos && !bottomPos && !isDisable) {\n bottomPaginationNode = renderPagination(defaultPosition);\n }\n if (topPos) {\n topPaginationNode = renderPagination(topPos.toLowerCase().replace('top', ''));\n }\n if (bottomPos) {\n bottomPaginationNode = renderPagination(bottomPos.toLowerCase().replace('bottom', ''));\n }\n } else {\n bottomPaginationNode = renderPagination(defaultPosition);\n }\n }\n // >>>>>>>>> Spinning\n let spinProps;\n if (typeof loading === 'boolean') {\n spinProps = {\n spinning: loading\n };\n } else if (typeof loading === 'object') {\n spinProps = Object.assign({\n spinning: true\n }, loading);\n }\n const wrapperClassNames = classNames(cssVarCls, rootCls, `${prefixCls}-wrapper`, table === null || table === void 0 ? void 0 : table.className, {\n [`${prefixCls}-wrapper-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId);\n const mergedStyle = Object.assign(Object.assign({}, table === null || table === void 0 ? void 0 : table.style), style);\n const emptyText = typeof (locale === null || locale === void 0 ? void 0 : locale.emptyText) !== 'undefined' ? locale.emptyText : (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Table')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"Table\"\n });\n // ========================== Render ==========================\n const TableComponent = virtual ? RcVirtualTable : RcTable;\n // >>> Virtual Table props. We set height here since it will affect height collection\n const virtualProps = {};\n const listItemHeight = React.useMemo(() => {\n const {\n fontSize,\n lineHeight,\n padding,\n paddingXS,\n paddingSM\n } = token;\n const fontHeight = Math.floor(fontSize * lineHeight);\n switch (mergedSize) {\n case 'large':\n return padding * 2 + fontHeight;\n case 'small':\n return paddingXS * 2 + fontHeight;\n default:\n return paddingSM * 2 + fontHeight;\n }\n }, [token, mergedSize]);\n if (virtual) {\n virtualProps.listItemHeight = listItemHeight;\n }\n return wrapCSSVar(/*#__PURE__*/React.createElement(\"div\", {\n ref: rootRef,\n className: wrapperClassNames,\n style: mergedStyle\n }, /*#__PURE__*/React.createElement(Spin, Object.assign({\n spinning: false\n }, spinProps), topPaginationNode, /*#__PURE__*/React.createElement(TableComponent, Object.assign({}, virtualProps, tableProps, {\n ref: tblRef,\n columns: mergedColumns,\n direction: direction,\n expandable: mergedExpandable,\n prefixCls: prefixCls,\n className: classNames({\n [`${prefixCls}-middle`]: mergedSize === 'middle',\n [`${prefixCls}-small`]: mergedSize === 'small',\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-empty`]: rawData.length === 0\n }, cssVarCls, rootCls, hashId),\n data: pageData,\n rowKey: getRowKey,\n rowClassName: internalRowClassName,\n emptyText: emptyText,\n // Internal\n internalHooks: INTERNAL_HOOKS,\n internalRefs: internalRefs,\n transformColumns: transformColumns,\n getContainerWidth: getContainerWidth\n })), bottomPaginationNode)));\n};\nexport default /*#__PURE__*/React.forwardRef(InternalTable);","export default function useContainerWidth(prefixCls) {\n const getContainerWidth = (ele, width) => {\n const container = ele.querySelector(`.${prefixCls}-container`);\n let returnWidth = width;\n if (container) {\n const style = getComputedStyle(container);\n const borderLeft = parseInt(style.borderLeftWidth, 10);\n const borderRight = parseInt(style.borderRightWidth, 10);\n returnWidth = width - borderLeft - borderRight;\n }\n return returnWidth;\n };\n return getContainerWidth;\n}","// Proxy the dom ref with `{ nativeElement, otherFn }` type\n// ref: https://github.com/ant-design/ant-design/discussions/45242\nimport { useImperativeHandle } from 'react';\nfunction fillProxy(element, handler) {\n element._antProxy = element._antProxy || {};\n Object.keys(handler).forEach(key => {\n if (!(key in element._antProxy)) {\n const ori = element[key];\n element._antProxy[key] = ori;\n element[key] = handler[key];\n }\n });\n return element;\n}\nexport default function useProxyImperativeHandle(ref, init) {\n return useImperativeHandle(ref, () => {\n const refObj = init();\n const {\n nativeElement\n } = refObj;\n if (typeof Proxy !== 'undefined') {\n return new Proxy(nativeElement, {\n get(obj, prop) {\n if (refObj[prop]) {\n return refObj[prop];\n }\n return Reflect.get(obj, prop);\n }\n });\n }\n // Fallback of IE\n return fillProxy(nativeElement, refObj);\n });\n}","import * as React from 'react';\nconst useLazyKVMap = (data, childrenColumnName, getRowKey) => {\n const mapCacheRef = React.useRef({});\n function getRecordByKey(key) {\n var _a;\n if (!mapCacheRef.current || mapCacheRef.current.data !== data || mapCacheRef.current.childrenColumnName !== childrenColumnName || mapCacheRef.current.getRowKey !== getRowKey) {\n const kvMap = new Map();\n function dig(records) {\n records.forEach((record, index) => {\n const rowKey = getRowKey(record, index);\n kvMap.set(rowKey, record);\n if (record && typeof record === 'object' && childrenColumnName in record) {\n dig(record[childrenColumnName] || []);\n }\n });\n }\n dig(data);\n mapCacheRef.current = {\n data,\n childrenColumnName,\n kvMap,\n getRowKey\n };\n }\n return (_a = mapCacheRef.current.kvMap) === null || _a === void 0 ? void 0 : _a.get(key);\n }\n return [getRecordByKey];\n};\nexport default useLazyKVMap;","import raf from \"rc-util/es/raf\";\nimport { easeInOutCubic } from './easings';\nimport getScroll, { isWindow } from './getScroll';\nexport default function scrollTo(y) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n getContainer = () => window,\n callback,\n duration = 450\n } = options;\n const container = getContainer();\n const scrollTop = getScroll(container);\n const startTime = Date.now();\n const frameFunc = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n const nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);\n if (isWindow(container)) {\n container.scrollTo(window.pageXOffset, nextScrollTop);\n } else if (container instanceof Document || container.constructor.name === 'HTMLDocument') {\n container.documentElement.scrollTop = nextScrollTop;\n } else {\n container.scrollTop = nextScrollTop;\n }\n if (time < duration) {\n raf(frameFunc);\n } else if (typeof callback === 'function') {\n callback();\n }\n };\n raf(frameFunc);\n}","export function easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n // biome-ignore lint: it is a common easing function\n t /= d / 2;\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n }\n // biome-ignore lint: it is a common easing function\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}","import { useCallback, useState } from 'react';\n/**\n * @title multipleSelect hooks\n * @description multipleSelect by hold down shift key\n */\nexport default function useMultipleSelect(getKey) {\n const [prevSelectedIndex, setPrevSelectedIndex] = useState(null);\n const multipleSelect = useCallback((currentSelectedIndex, data, selectedKeys) => {\n const configPrevSelectedIndex = prevSelectedIndex !== null && prevSelectedIndex !== void 0 ? prevSelectedIndex : currentSelectedIndex;\n // add/delete the selected range\n const startIndex = Math.min(configPrevSelectedIndex || 0, currentSelectedIndex);\n const endIndex = Math.max(configPrevSelectedIndex || 0, currentSelectedIndex);\n const rangeKeys = data.slice(startIndex, endIndex + 1).map(item => getKey(item));\n const shouldSelected = rangeKeys.some(rangeKey => !selectedKeys.has(rangeKey));\n const changedKeys = [];\n rangeKeys.forEach(item => {\n if (shouldSelected) {\n if (!selectedKeys.has(item)) {\n changedKeys.push(item);\n }\n selectedKeys.add(item);\n } else {\n selectedKeys.delete(item);\n changedKeys.push(item);\n }\n });\n setPrevSelectedIndex(shouldSelected ? endIndex : null);\n return changedKeys;\n }, [prevSelectedIndex]);\n const updatePrevSelectedIndex = val => {\n setPrevSelectedIndex(val);\n };\n return [multipleSelect, updatePrevSelectedIndex];\n}","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nfunction renderExpandIcon(locale) {\n return props => {\n const {\n prefixCls,\n onExpand,\n record,\n expanded,\n expandable\n } = props;\n const iconPrefix = `${prefixCls}-row-expand-icon`;\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: e => {\n onExpand(record, e);\n e.stopPropagation();\n },\n className: classNames(iconPrefix, {\n [`${iconPrefix}-spaced`]: !expandable,\n [`${iconPrefix}-expanded`]: expandable && expanded,\n [`${iconPrefix}-collapsed`]: expandable && !expanded\n }),\n \"aria-label\": expanded ? locale.collapse : locale.expand,\n \"aria-expanded\": expanded\n });\n };\n}\nexport default renderExpandIcon;","\"use client\";\n\nimport * as React from 'react';\nimport { EXPAND_COLUMN, Summary } from 'rc-table';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport { SELECTION_ALL, SELECTION_COLUMN, SELECTION_INVERT, SELECTION_NONE } from './hooks/useSelection';\nimport InternalTable from './InternalTable';\nconst Table = (props, ref) => {\n const renderTimesRef = React.useRef(0);\n renderTimesRef.current += 1;\n return /*#__PURE__*/React.createElement(InternalTable, Object.assign({}, props, {\n ref: ref,\n _renderTimes: renderTimesRef.current\n }));\n};\nconst ForwardTable = /*#__PURE__*/React.forwardRef(Table);\nForwardTable.SELECTION_COLUMN = SELECTION_COLUMN;\nForwardTable.EXPAND_COLUMN = EXPAND_COLUMN;\nForwardTable.SELECTION_ALL = SELECTION_ALL;\nForwardTable.SELECTION_INVERT = SELECTION_INVERT;\nForwardTable.SELECTION_NONE = SELECTION_NONE;\nForwardTable.Column = Column;\nForwardTable.ColumnGroup = ColumnGroup;\nForwardTable.Summary = Summary;\nif (process.env.NODE_ENV !== 'production') {\n ForwardTable.displayName = 'Table';\n}\nexport default ForwardTable;","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\nconst Column = _ => null;\nexport default Column;","/* istanbul ignore next */\n/** This is a syntactic sugar for `columns` prop. So HOC will not work on this. */\nconst ColumnGroup = _ => null;\nexport default ColumnGroup;","\"use client\";\n\nimport Table from './Table';\nexport default Table;","// This icon file is generated automatically.\nvar FolderOpenOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z\" } }] }, \"name\": \"folder-open\", \"theme\": \"outlined\" };\nexport default FolderOpenOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FolderOpenOutlinedSvg from \"@ant-design/icons-svg/es/asn/FolderOpenOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FolderOpenOutlined = function FolderOpenOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FolderOpenOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FolderOpenOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FolderOpenOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar FolderOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z\" } }] }, \"name\": \"folder\", \"theme\": \"outlined\" };\nexport default FolderOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FolderOutlinedSvg from \"@ant-design/icons-svg/es/asn/FolderOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FolderOutlined = function FolderOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FolderOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FolderOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FolderOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar HolderOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z\" } }] }, \"name\": \"holder\", \"theme\": \"outlined\" };\nexport default HolderOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport HolderOutlinedSvg from \"@ant-design/icons-svg/es/asn/HolderOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar HolderOutlined = function HolderOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: HolderOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(HolderOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'HolderOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport React from 'react';\nexport const offset = 4;\nfunction dropIndicatorRender(props) {\n const {\n dropPosition,\n dropLevelOffset,\n prefixCls,\n indent,\n direction = 'ltr'\n } = props;\n const startPosition = direction === 'ltr' ? 'left' : 'right';\n const endPosition = direction === 'ltr' ? 'right' : 'left';\n const style = {\n [startPosition]: -dropLevelOffset * indent + offset,\n [endPosition]: 0\n };\n switch (dropPosition) {\n case -1:\n style.top = -3;\n break;\n case 1:\n style.bottom = -3;\n break;\n default:\n // dropPosition === 0\n style.bottom = -3;\n style[startPosition] = indent + offset;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style,\n className: `${prefixCls}-drop-indicator`\n });\n}\nexport default dropIndicatorRender;","\"use client\";\n\nimport React from 'react';\nimport HolderOutlined from \"@ant-design/icons/es/icons/HolderOutlined\";\nimport classNames from 'classnames';\nimport RcTree from 'rc-tree';\nimport initCollapseMotion from '../_util/motion';\nimport { ConfigContext } from '../config-provider';\nimport { useToken } from '../theme/internal';\nimport useStyle from './style';\nimport dropIndicatorRender from './utils/dropIndicator';\nimport SwitcherIconCom from './utils/iconUtil';\nconst Tree = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a;\n const {\n getPrefixCls,\n direction,\n virtual,\n tree\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n showIcon = false,\n showLine,\n switcherIcon,\n switcherLoadingIcon,\n blockNode = false,\n children,\n checkable = false,\n selectable = true,\n draggable,\n motion: customMotion,\n style\n } = props;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const motion = customMotion !== null && customMotion !== void 0 ? customMotion : Object.assign(Object.assign({}, initCollapseMotion(rootPrefixCls)), {\n motionAppear: false\n });\n const newProps = Object.assign(Object.assign({}, props), {\n checkable,\n selectable,\n showIcon,\n motion,\n blockNode,\n showLine: Boolean(showLine),\n dropIndicatorRender\n });\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const [, token] = useToken();\n const itemHeight = token.paddingXS / 2 + (((_a = token.Tree) === null || _a === void 0 ? void 0 : _a.titleHeight) || token.controlHeightSM);\n const draggableConfig = React.useMemo(() => {\n if (!draggable) {\n return false;\n }\n let mergedDraggable = {};\n switch (typeof draggable) {\n case 'function':\n mergedDraggable.nodeDraggable = draggable;\n break;\n case 'object':\n mergedDraggable = Object.assign({}, draggable);\n break;\n default:\n break;\n // Do nothing\n }\n if (mergedDraggable.icon !== false) {\n mergedDraggable.icon = mergedDraggable.icon || /*#__PURE__*/React.createElement(HolderOutlined, null);\n }\n return mergedDraggable;\n }, [draggable]);\n const renderSwitcherIcon = nodeProps => (/*#__PURE__*/React.createElement(SwitcherIconCom, {\n prefixCls: prefixCls,\n switcherIcon: switcherIcon,\n switcherLoadingIcon: switcherLoadingIcon,\n treeNodeProps: nodeProps,\n showLine: showLine\n }));\n return wrapCSSVar(\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(RcTree, Object.assign({\n itemHeight: itemHeight,\n ref: ref,\n virtual: virtual\n }, newProps, {\n // newProps may contain style so declare style below it\n style: Object.assign(Object.assign({}, tree === null || tree === void 0 ? void 0 : tree.style), style),\n prefixCls: prefixCls,\n className: classNames({\n [`${prefixCls}-icon-hide`]: !showIcon,\n [`${prefixCls}-block-node`]: blockNode,\n [`${prefixCls}-unselectable`]: !selectable,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, tree === null || tree === void 0 ? void 0 : tree.className, className, hashId, cssVarCls),\n direction: direction,\n checkable: checkable ? /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-checkbox-inner`\n }) : checkable,\n selectable: selectable,\n switcherIcon: renderSwitcherIcon,\n draggable: draggableConfig\n }), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tree.displayName = 'Tree';\n}\nexport default Tree;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { fillFieldNames } from \"rc-tree/es/utils/treeUtil\";\nconst RECORD_NONE = 0;\nconst RECORD_START = 1;\nconst RECORD_END = 2;\nfunction traverseNodesKey(treeData, callback, fieldNames) {\n const {\n key: fieldKey,\n children: fieldChildren\n } = fieldNames;\n function processNode(dataNode) {\n const key = dataNode[fieldKey];\n const children = dataNode[fieldChildren];\n if (callback(key, dataNode) !== false) {\n traverseNodesKey(children || [], callback, fieldNames);\n }\n }\n treeData.forEach(processNode);\n}\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(_ref) {\n let {\n treeData,\n expandedKeys,\n startKey,\n endKey,\n fieldNames\n } = _ref;\n const keys = [];\n let record = RECORD_NONE;\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n if (!startKey || !endKey) {\n return [];\n }\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n traverseNodesKey(treeData, key => {\n if (record === RECORD_END) {\n return false;\n }\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n if (record === RECORD_NONE) {\n record = RECORD_START;\n } else if (record === RECORD_START) {\n record = RECORD_END;\n return false;\n }\n } else if (record === RECORD_START) {\n // Append selection\n keys.push(key);\n }\n return expandedKeys.includes(key);\n }, fillFieldNames(fieldNames));\n return keys;\n}\nexport function convertDirectoryKeysToNodes(treeData, keys, fieldNames) {\n const restKeys = _toConsumableArray(keys);\n const nodes = [];\n traverseNodesKey(treeData, (key, node) => {\n const index = restKeys.indexOf(key);\n if (index !== -1) {\n nodes.push(node);\n restKeys.splice(index, 1);\n }\n return !!restKeys.length;\n }, fillFieldNames(fieldNames));\n return nodes;\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport FolderOpenOutlined from \"@ant-design/icons/es/icons/FolderOpenOutlined\";\nimport FolderOutlined from \"@ant-design/icons/es/icons/FolderOutlined\";\nimport classNames from 'classnames';\nimport { conductExpandParent } from \"rc-tree/es/util\";\nimport { convertDataToEntities, convertTreeToData } from \"rc-tree/es/utils/treeUtil\";\nimport { ConfigContext } from '../config-provider';\nimport Tree from './Tree';\nimport { calcRangeKeys, convertDirectoryKeysToNodes } from './utils/dictUtil';\nfunction getIcon(props) {\n const {\n isLeaf,\n expanded\n } = props;\n if (isLeaf) {\n return /*#__PURE__*/React.createElement(FileOutlined, null);\n }\n return expanded ? /*#__PURE__*/React.createElement(FolderOpenOutlined, null) : /*#__PURE__*/React.createElement(FolderOutlined, null);\n}\nfunction getTreeData(_ref) {\n let {\n treeData,\n children\n } = _ref;\n return treeData || convertTreeToData(children);\n}\nconst DirectoryTree = (_a, ref) => {\n var {\n defaultExpandAll,\n defaultExpandParent,\n defaultExpandedKeys\n } = _a,\n props = __rest(_a, [\"defaultExpandAll\", \"defaultExpandParent\", \"defaultExpandedKeys\"]);\n // Shift click usage\n const lastSelectedKey = React.useRef();\n const cachedSelectedKeys = React.useRef();\n const getInitExpandedKeys = () => {\n const {\n keyEntities\n } = convertDataToEntities(getTreeData(props));\n let initExpandedKeys;\n // Expanded keys\n if (defaultExpandAll) {\n initExpandedKeys = Object.keys(keyEntities);\n } else if (defaultExpandParent) {\n initExpandedKeys = conductExpandParent(props.expandedKeys || defaultExpandedKeys || [], keyEntities);\n } else {\n initExpandedKeys = props.expandedKeys || defaultExpandedKeys || [];\n }\n return initExpandedKeys;\n };\n const [selectedKeys, setSelectedKeys] = React.useState(props.selectedKeys || props.defaultSelectedKeys || []);\n const [expandedKeys, setExpandedKeys] = React.useState(() => getInitExpandedKeys());\n React.useEffect(() => {\n if ('selectedKeys' in props) {\n setSelectedKeys(props.selectedKeys);\n }\n }, [props.selectedKeys]);\n React.useEffect(() => {\n if ('expandedKeys' in props) {\n setExpandedKeys(props.expandedKeys);\n }\n }, [props.expandedKeys]);\n const onExpand = (keys, info) => {\n var _a;\n if (!('expandedKeys' in props)) {\n setExpandedKeys(keys);\n }\n // Call origin function\n return (_a = props.onExpand) === null || _a === void 0 ? void 0 : _a.call(props, keys, info);\n };\n const onSelect = (keys, event) => {\n var _a;\n const {\n multiple,\n fieldNames\n } = props;\n const {\n node,\n nativeEvent\n } = event;\n const {\n key = ''\n } = node;\n const treeData = getTreeData(props);\n // const newState: DirectoryTreeState = {};\n // We need wrap this event since some value is not same\n const newEvent = Object.assign(Object.assign({}, event), {\n selected: true\n });\n // Windows / Mac single pick\n const ctrlPick = (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.ctrlKey) || (nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.metaKey);\n const shiftPick = nativeEvent === null || nativeEvent === void 0 ? void 0 : nativeEvent.shiftKey;\n // Generate new selected keys\n let newSelectedKeys;\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(new Set([].concat(_toConsumableArray(cachedSelectedKeys.current || []), _toConsumableArray(calcRangeKeys({\n treeData,\n expandedKeys,\n startKey: key,\n endKey: lastSelectedKey.current,\n fieldNames\n })))));\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n } else {\n // Single click\n newSelectedKeys = [key];\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys, fieldNames);\n }\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, newSelectedKeys, newEvent);\n if (!('selectedKeys' in props)) {\n setSelectedKeys(newSelectedKeys);\n }\n };\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n className,\n showIcon = true,\n expandAction = 'click'\n } = props,\n otherProps = __rest(props, [\"prefixCls\", \"className\", \"showIcon\", \"expandAction\"]);\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const connectClassName = classNames(`${prefixCls}-directory`, {\n [`${prefixCls}-directory-rtl`]: direction === 'rtl'\n }, className);\n return /*#__PURE__*/React.createElement(Tree, Object.assign({\n icon: getIcon,\n ref: ref,\n blockNode: true\n }, otherProps, {\n showIcon: showIcon,\n expandAction: expandAction,\n prefixCls: prefixCls,\n className: connectClassName,\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n onSelect: onSelect,\n onExpand: onExpand\n }));\n};\nconst ForwardDirectoryTree = /*#__PURE__*/React.forwardRef(DirectoryTree);\nif (process.env.NODE_ENV !== 'production') {\n ForwardDirectoryTree.displayName = 'DirectoryTree';\n}\nexport default ForwardDirectoryTree;","\"use client\";\n\nimport { TreeNode } from 'rc-tree';\nimport DirectoryTree from './DirectoryTree';\nimport TreePure from './Tree';\nconst Tree = TreePure;\nTree.DirectoryTree = DirectoryTree;\nTree.TreeNode = TreeNode;\nexport default Tree;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _en_US = _interopRequireDefault(require(\"../../date-picker/locale/en_US\"));\nvar _default = exports.default = _en_US.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _zh_CN = _interopRequireDefault(require(\"../../date-picker/locale/zh_CN\"));\nvar _default = exports.default = _zh_CN.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _en_US = _interopRequireDefault(require(\"rc-picker/lib/locale/en_US\"));\nvar _en_US2 = _interopRequireDefault(require(\"../../time-picker/locale/en_US\"));\n// Merge into a locale object\nconst locale = {\n lang: Object.assign({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeQuarterPlaceholder: ['Start quarter', 'End quarter'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, _en_US.default),\n timePickerLocale: Object.assign({}, _en_US2.default)\n};\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\nvar _default = exports.default = locale;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _zh_CN = _interopRequireDefault(require(\"rc-picker/lib/locale/zh_CN\"));\nvar _zh_CN2 = _interopRequireDefault(require(\"../../time-picker/locale/zh_CN\"));\n// 统一合并为完整的 Locale\nconst locale = {\n lang: Object.assign({\n placeholder: '请选择日期',\n yearPlaceholder: '请选择年份',\n quarterPlaceholder: '请选择季度',\n monthPlaceholder: '请选择月份',\n weekPlaceholder: '请选择周',\n rangePlaceholder: ['开始日期', '结束日期'],\n rangeYearPlaceholder: ['开始年份', '结束年份'],\n rangeMonthPlaceholder: ['开始月份', '结束月份'],\n rangeQuarterPlaceholder: ['开始季度', '结束季度'],\n rangeWeekPlaceholder: ['开始周', '结束周']\n }, _zh_CN.default),\n timePickerLocale: Object.assign({}, _zh_CN2.default)\n};\n// should add whitespace between char in Button\nlocale.lang.ok = '确定';\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\nvar _default = exports.default = locale;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _en_US = _interopRequireDefault(require(\"rc-pagination/lib/locale/en_US\"));\nvar _en_US2 = _interopRequireDefault(require(\"../calendar/locale/en_US\"));\nvar _en_US3 = _interopRequireDefault(require(\"../date-picker/locale/en_US\"));\nvar _en_US4 = _interopRequireDefault(require(\"../time-picker/locale/en_US\"));\nconst typeTemplate = '${label} is not a valid ${type}';\nconst localeValues = {\n locale: 'en',\n Pagination: _en_US.default,\n DatePicker: _en_US3.default,\n TimePicker: _en_US4.default,\n Calendar: _en_US2.default,\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n filterCheckall: 'Select all items',\n filterSearchPlaceholder: 'Search in filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Tour: {\n Next: 'Next',\n Previous: 'Previous',\n Finish: 'Finish'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n deselectAll: 'Deselect all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand',\n collapse: 'Collapse'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n default: 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n enum: '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n },\n QRCode: {\n expired: 'QR code expired',\n refresh: 'Refresh',\n scanned: 'Scanned'\n },\n ColorPicker: {\n presetEmpty: 'Empty',\n transparent: 'Transparent',\n singleColor: 'Single',\n gradientColor: 'Gradient'\n }\n};\nvar _default = exports.default = localeValues;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _zh_CN = _interopRequireDefault(require(\"rc-pagination/lib/locale/zh_CN\"));\nvar _zh_CN2 = _interopRequireDefault(require(\"../calendar/locale/zh_CN\"));\nvar _zh_CN3 = _interopRequireDefault(require(\"../date-picker/locale/zh_CN\"));\nvar _zh_CN4 = _interopRequireDefault(require(\"../time-picker/locale/zh_CN\"));\nconst typeTemplate = '${label}不是一个有效的${type}';\nconst localeValues = {\n locale: 'zh-cn',\n Pagination: _zh_CN.default,\n DatePicker: _zh_CN3.default,\n TimePicker: _zh_CN4.default,\n Calendar: _zh_CN2.default,\n // locales for all components\n global: {\n placeholder: '请选择'\n },\n Table: {\n filterTitle: '筛选',\n filterConfirm: '确定',\n filterReset: '重置',\n filterEmptyText: '无筛选项',\n filterCheckall: '全选',\n filterSearchPlaceholder: '在筛选项中搜索',\n emptyText: '暂无数据',\n selectAll: '全选当页',\n selectInvert: '反选当页',\n selectNone: '清空所有',\n selectionAll: '全选所有',\n sortTitle: '排序',\n expand: '展开行',\n collapse: '关闭行',\n triggerDesc: '点击降序',\n triggerAsc: '点击升序',\n cancelSort: '取消排序'\n },\n Modal: {\n okText: '确定',\n cancelText: '取消',\n justOkText: '知道了'\n },\n Tour: {\n Next: '下一步',\n Previous: '上一步',\n Finish: '结束导览'\n },\n Popconfirm: {\n cancelText: '取消',\n okText: '确定'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: '请输入搜索内容',\n itemUnit: '项',\n itemsUnit: '项',\n remove: '删除',\n selectCurrent: '全选当页',\n removeCurrent: '删除当页',\n selectAll: '全选所有',\n deselectAll: '取消全选',\n removeAll: '删除全部',\n selectInvert: '反选当页'\n },\n Upload: {\n uploading: '文件上传中',\n removeFile: '删除文件',\n uploadError: '上传错误',\n previewFile: '预览文件',\n downloadFile: '下载文件'\n },\n Empty: {\n description: '暂无数据'\n },\n Icon: {\n icon: '图标'\n },\n Text: {\n edit: '编辑',\n copy: '复制',\n copied: '复制成功',\n expand: '展开',\n collapse: '收起'\n },\n Form: {\n optional: '(可选)',\n defaultValidateMessages: {\n default: '字段验证错误${label}',\n required: '请输入${label}',\n enum: '${label}必须是其中一个[${enum}]',\n whitespace: '${label}不能为空字符',\n date: {\n format: '${label}日期格式无效',\n parse: '${label}不能转换为日期',\n invalid: '${label}是一个无效日期'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label}须为${len}个字符',\n min: '${label}最少${min}个字符',\n max: '${label}最多${max}个字符',\n range: '${label}须在${min}-${max}字符之间'\n },\n number: {\n len: '${label}必须等于${len}',\n min: '${label}最小值为${min}',\n max: '${label}最大值为${max}',\n range: '${label}须在${min}-${max}之间'\n },\n array: {\n len: '须为${len}个${label}',\n min: '最少${min}个${label}',\n max: '最多${max}个${label}',\n range: '${label}数量须在${min}-${max}之间'\n },\n pattern: {\n mismatch: '${label}与模式不匹配${pattern}'\n }\n }\n },\n Image: {\n preview: '预览'\n },\n QRCode: {\n expired: '二维码过期',\n refresh: '点击刷新',\n scanned: '已扫描'\n },\n ColorPicker: {\n presetEmpty: '暂无',\n transparent: '无色',\n singleColor: '单色',\n gradientColor: '渐变色'\n }\n};\nvar _default = exports.default = localeValues;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nvar _default = exports.default = locale;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst locale = {\n placeholder: '请选择时间',\n rangePlaceholder: ['开始时间', '结束时间']\n};\nvar _default = exports.default = locale;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar locale = {\n // Options\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n // Pagination\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n};\nvar _default = exports.default = locale;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar locale = {\n // Options\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n // Pagination\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页',\n page_size: '页码'\n};\nvar _default = exports.default = locale;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.commonLocale = void 0;\nvar commonLocale = exports.commonLocale = {\n yearFormat: 'YYYY',\n dayFormat: 'D',\n cellMeridiemFormat: 'A',\n monthBeforeYear: true\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _common = require(\"./common\");\nvar locale = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _common.commonLocale), {}, {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'OK',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n dateFormat: 'M/D/YYYY',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n});\nvar _default = exports.default = locale;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _common = require(\"./common\");\nvar locale = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _common.commonLocale), {}, {\n locale: 'zh_CN',\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '确定',\n timeSelect: '选择时间',\n dateSelect: '选择日期',\n weekSelect: '选择周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上个月 (翻页上键)',\n nextMonth: '下个月 (翻页下键)',\n monthSelect: '选择月份',\n yearSelect: '选择年份',\n decadeSelect: '选择年代',\n previousYear: '上一年 (Control键加左方向键)',\n nextYear: '下一年 (Control键加右方向键)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世纪',\n nextCentury: '下一世纪',\n yearFormat: 'YYYY年',\n cellDateFormat: 'D',\n monthBeforeYear: false\n});\nvar _default = exports.default = locale;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var defineProperty = require(\"./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}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\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}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["props","ref","AntdIcon","A","icon","EXPAND_COLUMN","INTERNAL_HOOKS","createContext","defaultValue","Context","undefined","Provider","_ref","value","children","valueRef","current","_React$useState","getValue","listeners","Set","context","useLayoutEffect","unstable_batchedUpdates","forEach","listener","holder","selector","eventSelector","ctx","Array","isArray","obj","key","_ref2","_React$useState3","forceUpdate","add","trigger","delete","nextValue","nextSelectorValue","isEqual","createImmutable","ImmutableContext","useImmutableMark","makeImmutable","Component","shouldTriggerRender","refAble","ImmutableComponent","refProps","renderTimesRef","prevProps","responseImmutable","propsAreEqual","_createImmutable","renderWithProps","INTERNAL_KEY_PREFIX","getColumnsKey","columns","columnKeys","keys","column","arr","dataIndex","mergedKey","join","concat","push","validateValue","val","Cell","_ref3","_legacyCellProps$colS","_ref4","_ref5","_legacyCellProps$rowS","_additionalProps$titl","_classNames","component","ellipsis","scope","prefixCls","className","align","record","render","renderIndex","shouldCellUpdate","index","rowType","colSpan","rowSpan","fixLeft","fixRight","firstFixLeft","lastFixLeft","firstFixRight","lastFixRight","appendNode","_props$additionalProp","additionalProps","isSticky","cellPrefixCls","_useContext","supportSticky","allColumnsFixedLeft","rowHoverable","_useCellRender","perfRecord","mark","data","path","get","returnChildNode","returnCellProps","renderData","prev","next","prevRecord","nextRecord","useCellRender","_useCellRender2","childNode","legacyCellProps","fixedStyle","isFixLeft","isFixRight","position","left","right","mergedColSpan","mergedRowSpan","_useHoverState","rowIndex","cellStartRow","cellRowSpan","startRow","endRow","hoverStartRow","hoverEndRow","onHover","useHoverState","_useHoverState2","hovering","onMouseEnter","event","_additionalProps$onMo","call","onMouseLeave","_additionalProps$onMo2","title","ellipsisConfig","showTitle","toString","getTitleFromCellRenderChildren","mergedClassName","alignStyle","textAlign","mergedStyle","style","mergedChildNode","getCellFixedInfo","colStart","colEnd","stickyOffsets","direction","startColumn","endColumn","fixed","nextColumn","prevColumn","canLastFix","every","col","_excluded","Summary","Row","_ref$colSpan","_React$useContext","scrollColumnIndex","fixedInfo","flattenColumns","lastColumnIndex","length","scrollColumn","summaryContext","scrollbar","FooterComponents","isStyleNameSupport","styleName","canUseDom","window","document","documentElement","styleNameList","some","name","fillRecords","list","indent","childrenColumnName","expandedKeys","getRowKey","expanded","has","i","useFlattenRecords","size","map","item","useRowInfo","rowKey","recordIndex","computeRowClassName","expandableType","onTriggerExpand","rowExpandable","onRow","expandRowByClick","rowClassName","nestExpandable","rowSupportExpand","mergedExpandable","hasNestChildren","onInternalTriggerExpand","rowProps","onRowClick","onClick","columnsKey","expandable","_len","arguments","args","_key","apply","cellComponent","isEmpty","scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll","contentNode","width","overflow","display","renderExpandIcon","onExpand","expandClassName","stopPropagation","computedExpandedClassName","cls","getCellProps","rowInfo","colIndex","appendCellNode","additionalCellProps","fixedInfoList","expandIconColumnIndex","indentSize","expandIcon","paddingLeft","onCell","_props$indent","RowComponent","rowComponent","scopeCellComponent","expandedRowClassName","expandedRowRender","expandedRef","expandRowNode","expandedClsName","baseRowNode","columnClassName","_getCellProps","rowScope","expandContent","MeasureCell","columnKey","onColumnResize","cellRef","offsetWidth","padding","border","height","MeasureRow","fontSize","Collection","onBatchResize","infoList","rows","measureColumnWidth","getComponent","emptyNode","flattenData","perfRef","WrapperComponent","trComponent","tdComponent","thComponent","idx","INTERNAL_COL_DEFINE","colWidths","columCount","tableLayout","cols","mustInsert","minWidth","restAdditionalProps","columnType","unshift","FixedHolder","noData","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","restProps","TableComponent","combinationScrollBarSize","scrollRef","setScrollRef","element","_scrollRef$current","onWheel","e","currentTarget","deltaX","scrollLeft","preventDefault","addEventListener","passive","_scrollRef$current2","removeEventListener","allFlattenColumnsWithWidth","lastColumn","ScrollBarColumn","onHeaderCell","columnsWithScrollbar","useMemo","flattenColumnsWithScrollbar","headerStickyOffsets","mergedColumnWidth","cloneColumns","useColumnWidth","top","bottom","visibility","cells","CellComponent","onHeaderRow","cell","cellIndex","rootColumns","fillRowCells","currentColIndex","filter","Boolean","subColumns","reduce","total","count","hasSubColumns","rowCount","_loop","parseHeaderRows","row","parseColWidth","totalWidth","endsWith","parseFloat","_excluded2","convertChildrenToColumns","node","nodeChildren","filterHiddenColumns","hidden","flatColumns","parentKey","parsedFixed","subColum","transformColumns","columnTitle","columnWidth","scrollWidth","clientWidth","baseColumns","slice","withExpandColumns","includes","expandColIndex","splice","expandColumnIndex","indexOf","fixedColumn","expandColumn","_","recordExpandable","mergedColumns","finalColumns","revertForRtl","hasGapFixed","lastLeftIndex","colFixed","_i","_colFixed","firstRightIndex","findIndex","_i2","_useWidthColumns","missWidthCount","colWidth","maxFitWidth","Math","max","restWidth","restCount","avgWidth","realTotal","filledColumns","clone","colAvgWidth","floor","scale","useWidthColumns","_useWidthColumns2","realScrollWidth","useLayoutState","defaultState","stateRef","useRef","_useState","useState","lastPromiseRef","updateBatchRef","useEffect","updater","promise","Promise","resolve","then","prevBatch","prevState","batchUpdater","defaultContainer","addEventListenerWrap","target","eventType","cb","option","callback","remove","getOffset","box","getBoundingClientRect","docElem","pageXOffset","clientLeft","body","pageYOffset","scrollTop","clientTop","StickyScrollBar","_scrollBodyRef$curren","_scrollBodyRef$curren2","scrollBodyRef","offsetScroll","container","bodyScrollWidth","bodyWidth","scrollBarWidth","scrollBarRef","_useLayoutState","isHiddenScrollBar","_useLayoutState2","scrollState","setScrollState","refState","delta","x","_React$useState2","isActive","setActive","rafRef","raf","cancel","onMouseUp","onMouseMove","_window","buttons","pageX","checkScrollBarVisible","tableOffsetTop","tableBottomOffset","offsetHeight","currentClientOffset","innerHeight","clientHeight","getScrollBarSize","state","setScrollLeft","onMouseUpListener","onMouseMoveListener","onScrollListener","onResizeListener","bodyNode","onMouseDown","persist","transform","DEFAULT_PREFIX","EMPTY_DATA","EMPTY_SCROLL_TARGET","defaultEmpty","tableProps","emptyText","scroll","footer","summary","caption","id","showHeader","components","internalHooks","internalRefs","tailor","getContainerWidth","sticky","_props$rowHoverable","mergedData","hasData","useInternalHooks","defaultComponent","customizeScrollBody","_useHover","setStartRow","_React$useState4","setEndRow","start","end","useHover","_useHover2","_useExpand","expandableConfig","config","legacyExpandableConfig","showExpandColumn","getExpandableProps","expandedRowKeys","defaultExpandedRowKeys","defaultExpandAllRows","onExpandedRowsChange","mergedExpandIcon","mergedChildrenColumnName","__PARENT_RENDER_ICON__","dig","findAllChildrenKeys","innerExpandedKeys","setInnerExpandedKeys","mergedExpandedKeys","newExpandedKeys","hasKey","useExpand","_useExpand2","scrollX","setComponentWidth","_useColumns","_useColumns2","flattenScrollX","mergedScrollX","columnContext","fullTableRef","scrollHeaderRef","scrollBodyContainerRef","nativeElement","scrollTo","_scrollBodyRef$curren3","HTMLElement","Number","isNaN","querySelector","scrollIntoView","scrollXStyle","scrollYStyle","scrollTableStyle","scrollSummaryRef","pingedLeft","setPingedLeft","_React$useState5","_React$useState6","pingedRight","setPingedRight","Map","colsWidths","updateColsWidths","pureColWidths","columnCount","getOffsets","startIndex","endIndex","offset","offsets","startOffsets","endOffsets","reverse","y","stickyRef","_useSticky","_ref$offsetHeader","offsetHeader","_ref$offsetSummary","offsetSummary","_ref$offsetScroll","_ref$getContainer","getContainer","useSticky","summaryNode","fixFooter","type","overflowY","maxHeight","overflowX","isVisible","widths","newWidths","set","_useTimeoutLock","frameRef","timeoutRef","cleanUp","clearTimeout","newState","setTimeout","useTimeoutLock","_useTimeoutLock2","setScrollTarget","getScrollTarget","forceScroll","onInternalScroll","_stickyRef$current","isRTL","mergedScrollLeft","compareTarget","measureTarget","onBodyScroll","triggerOnScroll","_scrollBodyRef$curren4","mounted","_React$useState7","_React$useState8","setScrollbarSize","_React$useState9","_React$useState10","setSupportSticky","styleValue","Element","ele","createElement","origin","isStyleValueSupport","groupTableNode","renderFixedHeaderTable","fixedHolderPassProps","renderFixedFooterTable","mergedTableLayout","headerProps","bodyTable","bodyColGroup","captionElement","dataProps","pickAttrs","ariaProps","aria","bodyContent","_ref6","fixedHolderProps","fullTable","onResize","_stickyRef$current2","mergedWidth","useFixedInfo","TableContextValue","RefTable","genTable","ImmutableTable","Column","ColumnGroup","StaticContext","GridContext","inverse","getHeight","columnsOffset","cellStyle","_additionalCellProps$","_additionalCellProps$2","concatColWidth","getColumnWidth","marginOffset","flex","marginRight","pointerEvents","needHide","mergedRender","cellSpan","BodyLine","extra","rowCellCls","rowStyle","rowNode","Grid","_useContext2","scrollY","listItemHeight","onTablePropScroll","listRef","columnsWidth","_listRef$current2","_listRef$current","Object","defineProperty","_listRef$current3","getScrollInfo","_listRef$current4","getRowSpan","_flattenData$index","_cellProps$rowSpan","cellProps","gridContext","tblPrefixCls","wrapperComponent","horizontalScrollBarStyle","fullHeight","styles","horizontalScrollBar","itemHeight","itemKey","onVirtualScroll","_listRef$current5","extraRender","info","getSize","offsetY","firstRowSpanColumns","lastRowSpanColumns","_loop2","spanLines","_loop3","sizeInfo","endItemIndex","endItemKey","itemProps","renderBody","rawData","VirtualTable","_props$prefixCls","RefVirtualTable","genVirtualTable","Checkbox","forwardRef","checked","disabled","_props$defaultChecked","defaultChecked","_props$type","onChange","inputProps","inputRef","holderRef","_useMergedState","_useMergedState2","rawValue","setRawValue","useImperativeHandle","focus","options","_inputRef$current","blur","_inputRef$current2","input","classString","nativeEvent","genWaveStyle","token","componentCls","colorPrimary","background","boxSizing","color","boxShadow","opacity","transition","motionEaseOutCirc","motionDurationSlow","motionEaseInOut","TARGET_CLS","createRoot","fullClone","version","reactRender","unmountComponentAtNode","split","toggleWarning","skip","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","usingClientEntryPoint","MARK","modernUnmount","_x","_modernUnmount","this","_callee","wrap","_context","abrupt","_container$MARK","unmount","stop","legacyUnmount","_unmount","_callee2","_context2","isValidWaveColor","test","validateNum","WaveEffect","divRef","setWaveColor","borderRadius","setBorderRadius","setLeft","setTop","setWidth","setHeight","enabled","setEnabled","waveStyle","radius","syncPos","nodeStyle","getComputedStyle","borderTopColor","borderColor","backgroundColor","getTargetWaveColor","isStatic","borderLeftWidth","borderTopWidth","offsetLeft","offsetTop","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","resizeObserver","ResizeObserver","observe","disconnect","isSmallComponent","classList","contains","visible","motionAppear","motionName","motionDeadline","onAppearEnd","_a","deadline","propertyName","parentElement","_x2","motionClassName","insertBefore","firstChild","assign","root","modernRender","legacyRender","getPrefixCls","useContext","containerRef","hashId","showWave","nodeRef","wave","targetNode","showEffect","rafId","nodeType","getAttribute","InternalCheckbox","customizePrefixCls","rootClassName","indeterminate","skipGroup","s","t","p","prototype","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","__rest","checkbox","checkboxGroup","isFormItemInput","contextDisabled","DisabledContext","mergedDisabled","prevValue","checkboxRef","mergedRef","registerValue","cancelValue","rootCls","useCSSVarCls","wrapCSSVar","cssVarCls","checkboxProps","toggleOption","label","checkboxClass","CheckboxGroup","setValue","registeredValues","setRegisteredValues","memoOptions","groupPrefixCls","domProps","childrenNode","required","optionIndex","newValue","sort","a","b","opt","prevValues","v","Group","__ANT_CHECKBOX","ESC","KeyCode","TAB","overlay","arrow","overlayNode","composedRef","autoAdjustOverflow","adjustX","adjustY","targetOffset","topLeft","points","topRight","bottomLeft","bottomRight","Dropdown","_children$props","_props$arrow","transitionName","animation","_props$placement","placement","_props$placements","placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","_props$trigger","autoFocus","onVisibleChange","otherProps","triggerVisible","setTriggerVisible","mergedVisible","triggerRef","overlayRef","childRef","handleVisibleChange","newVisible","focusMenuRef","handleCloseMenuAndReturnFocus","_triggerRef$current","_triggerRef$current$f","focusMenu","_overlayRef$current","handleKeyDown","keyCode","focusResult","useAccessibility","openClassName","minOverlayWidthMatchTrigger","alignPoint","getMenuElement","triggerHideAction","builtinPlacements","popupClassName","popupStyle","action","popupPlacement","popupAlign","popupTransitionName","popupAnimation","popupVisible","stretch","popup","onPopupVisibleChange","onPopupClick","onOverlayClick","IdContext","getMenuId","uuid","eventKey","useMenuId","MenuContext","InheritableContextProvider","locked","inheritableContext","EmptyList","PathRegisterContext","useMeasure","PathTrackerContext","useFullPath","parentKeyPath","PathUserContext","focusable","includePositive","nodeName","toLowerCase","isFocusableElement","isContentEditable","tabIndexAttr","tabIndexNum","tabIndex","LEFT","RIGHT","UP","DOWN","ENTER","HOME","END","ArrowKeys","getFocusableElements","elements","res","querySelectorAll","child","getFocusNodeList","getNextFocusElement","parentQueryContainer","focusMenuElement","sameLevelFocusableMenuElementList","focusIndex","refreshElements","key2element","element2key","PATH_SPLIT","getPathStr","keyPath","OVERFLOW_KEY","useMemoCallback","func","funRef","_funRef$current","uniquePrefix","random","toFixed","internalId","useActive","activeKey","onActive","onInactive","ret","active","domEvent","useDirectionStyle","level","mode","rtl","inlineIndent","paddingRight","Icon","iconNode","warnItemProp","restInfo","warning","_excluded3","LegacyMenuItem","_React$Component","_super","_this$props","attribute","elementRef","passedProps","Item","InternalMenuItem","warnKey","itemIcon","role","onKeyDown","onFocus","domDataId","onItemClick","overflowDisabled","contextItemIcon","selectedKeys","_internalRenderMenuItem","itemCls","legacyMenuItemRef","mergedEleRef","connectedKeys","getEventInfo","mergedItemIcon","_useActive","activeProps","selected","directionStyle","optionRoleProps","renderNode","which","isSelected","MenuItem","measure","connectedKeyPath","registerPath","unregisterPath","InternalSubMenuList","SubMenuList","displayName","parseChildren","_eventKey","_child$props","cloneProps","leftTop","leftBottom","rightTop","rightBottom","placementsRtl","getMotion","motion","defaultMotions","other","popupPlacementMap","horizontal","vertical","PopupTrigger","popupOffset","subMenuOpenDelay","subMenuCloseDelay","triggerSubMenuAction","forceSubMenuRender","innerVisible","setInnerVisible","targetMotion","targetMotionRef","mergedMotion","leavedClassName","removeOnLeave","visibleRef","mouseEnterDelay","mouseLeaveDelay","forceRender","popupMotion","fresh","InlineSubMenuList","open","fixedMode","sameModeRef","destroy","setDestroy","mergedOpen","originOnVisibleChanged","onVisibleChanged","motionStyle","InternalSubMenu","internalPopupClose","onTitleClick","onTitleMouseEnter","onTitleMouseLeave","openKeys","contextExpandIcon","onOpenChange","_internalRenderSubMenuItem","isSubPathKey","connectedPath","subMenuPrefixCls","popupRef","originOpen","childrenSelected","childrenActive","setChildrenActive","triggerChildrenActive","newActive","mergedActive","onMergedItemClick","popupId","titleNode","isOpen","isSubMenu","triggerModeRef","triggerMode","listNode","childList","Divider","InternalMenuItemGroup","convertItemsToNodes","MergedMenuItem","MergedMenuItemGroup","group","MergedSubMenu","submenu","MergedDivider","divider","parseItems","items","childNodes","mergedComponents","EMPTY_LIST","Menu","_childList$","_ref$prefixCls","_ref$tabIndex","_ref$mode","inlineCollapsed","disabledOverflow","_ref$subMenuOpenDelay","_ref$subMenuCloseDela","defaultOpenKeys","defaultActiveFirst","_ref$selectable","selectable","_ref$multiple","multiple","defaultSelectedKeys","onSelect","onDeselect","_ref$inlineIndent","_ref$triggerSubMenuAc","_ref$overflowedIndica","overflowedIndicator","overflowedIndicatorPopupClassName","openAnimation","openTransitionName","_internalComponents","_React$useMemo","_React$useMemo2","measureChildList","setMounted","setUUID","newId","useUUID","isRtl","postState","mergedOpenKeys","setMergedOpenKeys","triggerOpenKeys","doUpdate","flushSync","inlineCacheOpenKeys","setInlineCacheOpenKeys","mountRef","_React$useMemo3","_React$useMemo4","mergedMode","mergedInlineCollapsed","isInlineMode","internalMode","setInternalMode","internalInlineCollapsed","setInternalInlineCollapsed","lastVisibleIndex","setLastVisibleIndex","allVisible","_useKeyRecords","internalForceUpdate","key2pathRef","path2keyRef","overflowKeys","setOverflowKeys","updateRef","destroyRef","useCallback","refreshOverflowKeys","getKeyPath","includeOverflow","pathKeys","pathKey","getSubPathKeys","startsWith","getKeys","useKeyRecords","registerPathContext","pathUserContext","_useMergedState3","_useMergedState4","mergedActiveKey","setMergedActiveKey","_childList$find","_elementToFocus$focus","_refreshElements","focusableElements","shouldFocusKey","find","elementToFocus","_useMergedState5","_useMergedState6","mergedSelectKeys","setMergedSelectKeys","onInternalClick","newSelectKeys","targetKey","exist","selectInfo","triggerSelection","onInternalOpenChange","newOpenKeys","k","subPathKeys","onInternalKeyDown","triggerActiveKey","triggerAccessibilityOpen","originOnKeyDown","activeRef","cleanRaf","refreshedElements","_refreshedElements","activeElement","getFocusElement","focusMenuKey","offsetObj","isRootLevel","_offsets","parent","inlineTrigger","inline","inlineSub","horizontalSub","verticalSub","sibling","tryFocus","menuElement","focusTargetElement","link","targetElement","findContainerUL","controlId","getElementById","parentMenuElement","nextOpen","privateContext","wrappedChildList","itemComponent","dir","renderRawItem","renderRawRest","omitItems","len","originOmitItems","maxCount","INVALIDATE","RESPONSIVE","ssr","newLastIndex","ExportMenu","SubMenu","ItemGroup","SiderContext","firstLevel","dashed","danger","disableMenuItemTitleTooltip","isInlineCollapsed","siderCollapsed","tooltipTitle","tooltipProps","childrenLength","returnNode","wrapNode","charAt","renderItemChildren","OverrideContext","OverrideProvider","override","canRef","ContextIsolator","space","horizontalLineHeight","colorSplit","lineWidth","lineType","itemPaddingInline","lineHeight","borderBottom","clear","content","verticalAlign","paddingInline","menuArrowOffset","calc","transformOrigin","mul","equal","accessibilityFocus","themeSuffix","itemColor","itemSelectedColor","groupTitleColor","itemBg","subMenuItemBg","itemSelectedBg","activeBarHeight","activeBarWidth","activeBarBorderWidth","motionEaseOut","motionDurationMid","itemHoverColor","itemDisabledColor","dangerItemColor","dangerItemHoverColor","dangerItemSelectedColor","dangerItemActiveBg","dangerItemSelectedBg","popupBg","itemHoverBg","itemActiveBg","menuSubMenuBg","horizontalItemSelectedColor","horizontalItemSelectedBg","horizontalItemBorderRadius","horizontalItemHoverBg","marginTop","marginBottom","insetInline","borderBottomWidth","borderBottomColor","borderInlineEnd","insetBlock","insetInlineEnd","borderInlineEndColor","getVerticalInlineStyle","itemMarginInline","menuArrowSize","marginXS","itemMarginBlock","itemWidth","paddingWithArrow","textOverflow","marginInline","marginBlock","paddingInlineEnd","iconCls","colorTextLightSolid","dropdownWidth","controlHeightLG","paddingXL","fontSizeLG","motionDurationFast","paddingXS","boxShadowSecondary","collapsedWidth","collapsedIconSize","inlineItemStyle","listStylePosition","listStyleType","alignItems","paddingInlineStart","insetInlineStart","div","margin","genMenuItemStyle","iconSize","iconMarginInlineEnd","whiteSpace","cursor","marginInlineStart","marginInlineEnd","genSubMenuArrowStyle","getBaseStyle","antCls","zIndexPopup","borderRadiusLG","subMenuItemBorderRadius","groupTitleLineHeight","groupTitleFontSize","listStyle","outline","itemBorderRadius","fontSizeSM","inset","borderStyle","borderWidth","zIndex","paddingBottom","paddingTop","prepareComponentToken","_b","_c","colorError","colorTextDisabled","colorErrorBg","colorText","colorTextDescription","colorBgContainer","colorFillAlter","colorFillContent","lineWidthBold","controlItemBgActive","colorBgTextHover","colorBgElevated","marginXXS","controlHeightSM","colorErrorHover","colorTextDark","setAlpha","toRgbString","zIndexPopupBase","radiusItem","radiusSubMenuItem","borderRadiusSM","colorItemText","colorItemTextHover","colorItemTextHoverHorizontal","horizontalItemHoverColor","colorGroupTitle","colorItemTextSelected","colorItemTextSelectedHorizontal","colorItemBg","colorItemBgHover","colorItemBgActive","colorSubItemBg","colorItemBgSelected","colorItemBgSelectedHorizontal","colorActiveBarWidth","colorActiveBarHeight","colorActiveBarBorderSize","colorItemTextDisabled","colorDangerItemText","colorDangerItemTextHover","colorDangerItemTextSelected","colorDangerItemBgActive","colorDangerItemBgSelected","darkItemDisabledColor","darkItemColor","darkDangerItemColor","darkItemBg","darkPopupBg","darkSubMenuItemBg","darkItemSelectedColor","darkItemSelectedBg","darkDangerItemSelectedBg","darkItemHoverBg","darkGroupTitleColor","darkItemHoverColor","darkDangerItemHoverColor","darkDangerItemSelectedColor","darkDangerItemActiveBg","injectStyle","menuToken","menuHorizontalHeight","menuDarkToken","deprecatedTokens","unitless","useStyle","theme","customTheme","contextTheme","parentPath","titleIsSpan","contextValue","useZIndex","isEmptyIcon","MENU_COMPONENTS","InternalMenu","overrideObj","menu","rootPrefixCls","_internalDisableMenuItemTitleTooltip","validator","mergedSelectable","menuClassName","mergedIcon","menuRef","menuCls","genBaseStyle","dropdownArrowDistance","sizePopupArrow","paddingBlock","dropdownEdgeChildPadding","fontSizeIcon","controlPaddingHorizontal","_skip_check_","sub","animationName","slide","arrowPlacement","backgroundClip","fontWeight","controlItemBgHover","controlItemBgActiveHover","fontStyle","paddingXXS","dropdownToken","controlHeight","contentRadius","limitVerticalRadius","resetStyle","dropdownRender","getContextPopupContainer","dropdown","memoTransitionName","memoPlacement","only","dropdownTrigger","triggerActions","setOpen","onInnerOpenChange","source","overlayClassNameCustomized","arrowPointAtCenter","pointAtCenter","arrowWidth","onMenuClick","contextZIndex","_InternalPanelDoNotUseOrYouWillBeFired","GroupSizeContext","rxTwoCNChar","isTwoCNChar","bind","isString","str","isUnBorderedButtonVariant","IconWrapper","iconWrapperCls","InnerLoadingIcon","iconClassName","mergedIconCls","LoadingOutlined","getCollapsedWidth","getRealWidth","loading","existIcon","motionLeave","onAppearStart","onAppearActive","onEnterStart","onEnterActive","onLeaveStart","onLeaveActive","motionCls","genButtonBorderStyle","buttonTypeCls","borderInlineStartColor","groupBorderColor","borderStartEndRadius","borderEndEndRadius","borderStartStartRadius","borderEndStartRadius","round","splitColorStr","parseNum","match","replace","numList","parseHSVorHSL","num","limitRange","mergedMax","FastColor","constructor","matchFormat","trimStr","trim","matchPrefix","prefix","fromHexString","fromRgbString","fromHslString","fromHsvString","r","g","_h","_s","_l","_v","fromHsl","Error","JSON","stringify","fromHsv","setR","_sc","setG","setB","setA","setHue","hsv","toHsv","h","getLuminance","adjustGamma","raw","pow","getHue","getMax","getMin","getSaturation","getLightness","getBrightness","_brightness","darken","amount","l","lighten","mix","rgba","tint","shade","onBackground","bg","alpha","isDark","isLight","equals","toHexString","hex","rHex","gHex","bHex","aHex","toHsl","toHslString","toRgb","rgb","_max","_min","min","withoutPrefix","connectNum","index1","index2","parseInt","huePrime","chroma","abs","secondComponent","lightnessModification","vv","hh","ff","q","txt","getRoundNumber","_FastColor","Color","resets","convertHsb2Hsv","hsb","toHsb","saturation","lightness","hue","hsbString","hsbaString","_this$toHsv","AggregationColor","cleared","metaColor","colors","percent","c","toHsbString","toHexFormat","isGradient","prepareToken","onlyIconSize","buttonPaddingHorizontal","buttonPaddingVertical","buttonIconOnlyFontSize","_d","_e","_f","contentFontSize","contentFontSizeSM","contentFontSizeLG","contentLineHeight","contentLineHeightSM","contentLineHeightLG","solidTextColor","bgColorToken","isBright","colorBgSolid","defaultShadow","controlOutlineWidth","controlTmpOutline","primaryShadow","controlOutline","dangerShadow","colorErrorOutline","primaryColor","dangerColor","borderColorDisabled","colorBorder","defaultGhostColor","ghostBg","defaultGhostBorderColor","paddingContentHorizontal","paddingInlineLG","paddingInlineSM","onlyIconSizeSM","onlyIconSizeLG","colorPrimaryHover","linkHoverBg","textTextColor","textTextHoverColor","textTextActiveColor","textHoverBg","colorFillTertiary","defaultColor","defaultBg","defaultBorderColor","defaultBorderColorDisabled","defaultHoverBg","defaultHoverColor","defaultHoverBorderColor","defaultActiveBg","defaultActiveColor","colorPrimaryActive","defaultActiveBorderColor","paddingBlockSM","paddingBlockLG","genSharedButtonStyle","gap","justifyContent","backgroundImage","userSelect","touchAction","letterSpacing","flexDirection","genHoverActiveButtonStyle","btnCls","hoverStyle","activeStyle","genCircleButtonStyle","genRoundButtonStyle","genDisabledStyle","colorBgContainerDisabled","genGhostButtonStyle","textColor","textColorDisabled","genSolidDisabledButtonStyle","genPureDisabledButtonStyle","genVariantButtonStyle","variant","genDisabledButtonStyle","genSolidButtonStyle","genOutlinedDashedButtonStyle","genDashedButtonStyle","genFilledButtonStyle","genTextLinkButtonStyle","genDefaultButtonStyle","colorBgSolidHover","colorBgSolidActive","colorFillSecondary","colorFill","colorLinkHover","colorLinkActive","genPrimaryButtonStyle","colorPrimaryTextHover","colorPrimaryTextActive","colorPrimaryBg","colorPrimaryBgHover","colorPrimaryBorder","colorLink","genDangerousStyle","colorErrorActive","colorErrorBorderHover","colorErrorBgFilledHover","colorErrorBgActive","genColorButtonStyle","genCompatibleButtonStyle","colorBgTextActive","genButtonStyle","iconOnlyCls","opacityLoading","genSizeBaseButtonStyle","baseToken","genSizeSmallButtonStyle","smallToken","genSizeLargeButtonStyle","largeToken","genBlockButtonStyle","buttonToken","compactItemVerticalBorder","parentCls","genCompactItemVerticalStyle","compactCls","genButtonCompactStyle","ButtonTypeMap","default","primary","text","Button","shape","customizeSize","customDisabled","iconPosition","ghost","block","htmlType","classNames","customClassNames","customStyle","autoInsertSpace","rest","mergedType","mergedColor","mergedVariant","colorVariantPair","mergedColorText","button","mergedInsertSpace","groupSize","loadingOrDelay","delay","getLoadingConfig","innerLoading","setLoading","hasTwoCNChar","setHasTwoCNChar","internalRef","createRef","buttonRef","needInserted","Children","delayTimer","buttonText","textContent","handleClick","compactSize","compactItemClassnames","sizeFullName","useSize","ctxSize","sizeCls","large","small","middle","iconType","linkButtonRestProps","classes","fullStyle","iconClasses","iconStyle","kids","isPrevChildPure","isCurrentChildPure","lastIndex","lastChild","SPACE","splitCNCharsBySpace","spaceChildren","href","buttonNode","others","__ANT_BUTTON","isPresetSize","isValidGapNumber","SpaceContext","latestIndex","SpaceContextProvider","InternalSpace","directionConfig","horizontalSize","verticalSize","isPresetVerticalSize","isPresetHorizontalSize","isValidVerticalSize","isValidHorizontalSize","keepEmpty","mergedAlign","itemClassName","nodes","spaceContext","gapStyle","flexWrap","columnGap","rowGap","Space","Compact","DropdownButton","buttonsRender","destroyPopupOnHide","buttonPrefixCls","dropdownProps","leftButton","rightButton","leftButtonToRender","rightButtonToRender","RadioGroupContext","RadioGroupContextProvider","RadioOptionTypeContext","RadioOptionTypeContextProvider","getGroupRadioStyle","borderInlineStart","getRadioBasicStyle","wrapperMarginInlineEnd","radioSize","motionEaseInOutCirc","dotColorDisabled","radioColor","radioBgColor","radioInnerPrefixCls","radioDotDisabledSize","radioSizeCalc","unit","insetBlockStart","alignSelf","marginBlockStart","borderBlockStart","dotSize","getRadioButtonStyle","buttonColor","buttonPaddingInline","buttonBg","buttonCheckedBg","buttonSolidCheckedColor","buttonCheckedBgDisabled","buttonCheckedColorDisabled","buttonSolidCheckedBg","buttonSolidCheckedHoverBg","buttonSolidCheckedActiveBg","borderBlockStartWidth","borderInlineStartWidth","borderInlineEndWidth","radioFocusShadow","radioButtonFocusShadow","radioToken","wireframe","controlItemBgActiveDisabled","colorWhite","dotPadding","InternalRadio","groupContext","radioOptionTypeContext","radio","innerRef","radioPrefixCls","isButtonType","optionType","radioProps","wrapperClassString","RadioGroup","buttonStyle","customizedValue","onBlur","onRadioChange","lastValue","childrenToRender","mergedSize","memoizedValue","RadioButton","__ANT_RADIO","SELECTION_COLUMN","SELECTION_ALL","SELECTION_INVERT","SELECTION_NONE","isWindow","useForceUpdate","responsiveArray","refreshOnChange","screensRef","responsiveObserver","responsiveMap","xs","screenXSMax","sm","screenSM","md","screenMD","lg","screenLG","xl","screenXL","xxl","screenXXL","getResponsiveMap","indexableToken","revBreakpoints","breakpoint","breakpointUpper","toUpperCase","screenMin","screen","screenMax","nextScreenMin","validateBreakpoints","subscribers","subUid","screens","matchHandlers","dispatch","pointMap","subscribe","register","unsubscribe","paramToken","unregister","matchMediaQuery","handler","mql","removeListener","matches","matchMedia","addListener","useResponsiveObserver","supportScreens","items_per_page","jump_to","jump_to_confirm","page","prev_page","next_page","prev_5","next_5","prev_3","next_3","page_size","defaultPageSizeOptions","_props$pageSizeOption","pageSizeOptions","locale","changeSize","pageSize","goButton","quickGo","Select","selectComponentClass","selectPrefixCls","buildOptionText","showSizeChanger","goInputText","setGoInputText","getValidValue","mergeBuildOptionText","go","changeSelect","goInput","gotoButton","showSizeChangerOptions","showSizeChangerClassName","Option","showSearch","optionLabelProp","popupMatchSelectWidth","triggerNode","parentNode","defaultOpen","_showSizeChanger$onCh","onKeyUp","relatedTarget","onKeyPress","itemRender","pager","rel","String","defaultItemRender","noop","isInteger","isFinite","calculatePage","_pageSize","_props$selectPrefixCl","currentProp","_props$defaultCurrent","defaultCurrent","_props$total","pageSizeProp","_props$defaultPageSiz","defaultPageSize","_props$onChange","hideOnSinglePage","_props$showPrevNextJu","showPrevNextJumpers","showQuickJumper","showLessItems","_props$showTitle","_props$onShowSizeChan","onShowSizeChange","_props$locale","_props$totalBoundaryS","totalBoundaryShowSizeChanger","simple","showTotal","_props$showSizeChange","_props$itemRender","jumpPrevIcon","jumpNextIcon","prevIcon","nextIcon","paginationRef","setPageSize","setCurrent","internalInputVal","setInternalInputVal","jumpPrevPage","jumpNextPage","getItemIcon","inputValue","allPages","shouldDisplayQuickJumper","handleKeyUp","handleChange","isValid","currentPage","newPage","hasPrev","hasNext","prevHandle","nextHandle","jumpPrevHandle","jumpNextHandle","runIfEnter","charCode","restParams","handleGoTO","jumpPrev","dataOrAriaAttributeProps","totalText","jumpNext","pagerList","pagerProps","prevPage","nextPage","isReadOnly","readOnly","simplePager","pageBufferSize","prevItemTitle","nextItemTitle","jumpPrevContent","jumpNextContent","lastOne","prevButton","renderPrev","prevDisabled","nextDisabled","nextTabIndex","nextButton","renderNext","newCurrent","nextCurrent","SECRET_COMBOBOX_MODE_DO_NOT_USE","InternalSelect","bordered","dropdownClassName","listHeight","customListItemHeight","notFoundContent","status","customStatus","dropdownMatchSelectWidth","propDirection","allowClear","customizeVariant","dropdownStyle","tagRender","renderEmpty","contextDirection","virtual","contextPopupMatchSelectWidth","popupOverflow","select","enableVariantCls","useVariants","m","isMultiple","showSuffixIcon","useShowArrow","suffixIcon","showArrow","mergedPopupMatchSelectWidth","contextStatus","hasFeedback","feedbackIcon","mergedStatus","mergedNotFound","componentName","removeIcon","clearIcon","useIcons","mergedAllowClear","selectProps","mergedPopupClassName","mergedBuiltinPlacements","menuItemSelectedIcon","OptGroup","MiniSelect","MiddleSelect","initInputToken","inputAffixPadding","initComponentToken","lineHeightLG","paddingSM","controlPaddingHorizontalSM","colorWarningOutline","ceil","addonBg","activeBorderColor","hoverBorderColor","activeShadow","errorActiveShadow","warningActiveShadow","hoverBg","activeBg","inputFontSize","inputFontSizeLG","inputFontSizeSM","genHoverStyle","genBaseOutlinedStyle","genOutlinedStatusStyle","affixColor","genOutlinedStyle","extraStyles","colorWarning","colorWarningBorderHover","genOutlinedGroupStatusStyle","addonBorderColor","addonColor","genOutlinedGroupStyle","colorErrorText","colorWarningText","genBorderlessStyle","genBaseFilledStyle","inputColor","genFilledStatusStyle","genFilledStyle","colorErrorBgHover","colorWarningBg","colorWarningBgHover","genFilledGroupStatusStyle","genFilledGroupStyle","borderTop","genInputLargeStyle","genInputSmallStyle","genBasicInputStyle","colorTextPlaceholder","maxWidth","minHeight","resize","genInputGroupStyle","borderCollapse","borderSpacing","float","genInputStyle","colorSmallPadding","genAllowClearStyle","colorTextQuaternary","colorTextTertiary","genAffixStyle","colorIcon","colorIconHover","affixClsDisabled","genSearchInputStyle","searchPrefixCls","insetBlockEnd","genTextAreaStyle","paddingLG","textareaPrefixCls","genRangeStyle","inputToken","resetFont","genPaginationDisabledStyle","itemActiveBgDisabled","itemActiveColorDisabled","genPaginationMiniStyle","itemSizeSM","paginationMiniOptionsMarginInlineStart","miniOptionsSizeChangerTop","paginationMiniQuickJumperInputWidth","genPaginationSimpleStyle","paginationItemPaddingInline","itemInputBg","inputOutlineOffset","genPaginationJumpStyle","paginationEllipsisLetterSpacing","textIndent","paginationEllipsisTextIndent","itemSize","fontFamily","paginationSlashMarginInlineEnd","paginationSlashMarginInlineStart","genPaginationItemStyle","textDecoration","fontWeightStrong","genPaginationStyle","genPaginationFocusStyle","itemLinkBg","marginSM","paginationToken","genBorderedStyle","customizeSelectPrefixCls","customLocale","responsive","pagination","mergedShowSizeChanger","iconsProps","contextLocale","isSmall","extendedClassName","circumference","PI","CustomCircle","dotClassName","hasCircleCls","viewSize","cx","cy","strokeWidth","holderClassName","hideClassName","setRender","safePtg","circleStyle","strokeDashoffset","strokeDasharray","viewBox","Looper","Indicator","indicator","antSpinMove","to","antRotate","genSpinStyle","colorBgMask","contentHeight","textShadow","dotSizeSM","dotSizeLG","spinDotDefault","animationDuration","animationIterationCount","animationTimingFunction","animationDirection","animationDelay","strokeLinecap","fillOpacity","stroke","spinToken","STEP_BUCKETS","defaultIndicator","Spin","spinning","customSpinning","tip","wrapperClassName","fullscreen","spin","setSpinning","shouldDelay","mergedPercent","mockPercent","setMockPercent","mockIntervalRef","isAuto","setInterval","restPTG","limit","stepPtg","clearInterval","usePercent","showSpinning","_ref$atBegin","atBegin","timeoutID","_ref$noTrailing","noTrailing","_ref$noLeading","noLeading","_ref$debounceMode","debounceMode","cancelled","lastExec","clearExistingTimeout","wrapper","arguments_","self","elapsed","Date","now","exec","_ref2$upcomingOnly","upcomingOnly","throttle","debounce","isNestedPattern","spinClassName","containerClassName","mergedIndicator","spinElement","setDefaultIndicator","getColumnKey","defaultKey","getColumnPos","pos","renderColumnTitle","result","cloneEvent","cloneNode","newEvent","create","selectionStart","selectionEnd","setSelectionRange","resolveOnChange","targetValue","triggerFocus","BaseInput","_element$props","_element$props2","inputEl","inputElement","suffix","addonBefore","addonAfter","focused","handleReset","dataAttrs","onClear","AffixWrapperComponent","affixWrapper","GroupWrapperComponent","groupWrapper","GroupAddonComponent","groupAddon","hasAffix","hasPrefixSuffix","cloneElement","groupRef","needClear","clearIconCls","affixWrapperPrefixCls","affixWrapperCls","suffixNode","_containerRef$current","hasAddon","wrapperCls","addonCls","groupWrapperCls","mergedWrapperClassName","mergedGroupClassName","useCount","showCount","mergedConfig","show","formatter","showFormatter","strategy","Input","autoComplete","onPressEnter","htmlSize","maxLength","_onCompositionStart","onCompositionStart","onCompositionEnd","_useState2","setFocused","compositionRef","keyLockRef","formatValue","_useState3","_useState4","selection","setSelection","countConfig","valueLength","isOutOfRange","_holderRef$current","_inputRef$current3","triggerChange","currentValue","_inputRef$current4","_inputRef$current5","cutValue","exceedFormatter","_inputRef$current6","outOfRangeCls","hasMaxLength","dataCount","getSuffix","CloseCircleFilled","useRemovePasswordTimeout","triggerOnMount","removePasswordTimeoutRef","removePasswordTimeout","hasAttribute","removeAttribute","timer","customSize","customVariant","inputHasPrefixSuffix","form","genOTPStyle","onActiveChange","mask","internalValue","syncSelection","inputEle","onInput","ctrlKey","metaKey","strToArr","inputMode","domAttrs","attr","formContext","proxyFormContext","refs","internalFormatter","valueCells","setValueCells","triggerValueCellsChange","nextValueCells","patchValue","nextCells","pop","formattedValue","onInputChange","nextIndex","onInputActiveChange","inputSharedProps","from","singleValue","defaultIconRender","actionMap","click","hover","Password","visibilityToggle","iconRender","visibilityControlled","setVisible","inputPrefixCls","customizeInputPrefixCls","iconTrigger","iconProps","getIcon","inputClassName","omittedProps","Search","enterButton","onSearch","customOnSearch","customOnChange","searchIcon","SearchOutlined","btnClassName","enterButtonAsElement","isAntdButton","hiddenTextarea","SIZING_STYLE","computedStyleCache","ResizableTextArea","autoSize","onInternalAutoSize","mergedValue","setMergedValue","textareaRef","textArea","minRows","maxRows","needAutoSize","resizeState","setResizeState","autoSizeStyle","setAutoSizeStyle","startResize","textareaStyles","uiTextNode","useCache","setAttribute","appendChild","_calculateNodeStyling","getPropertyValue","paddingSize","borderSize","nodeInfo","sizingStyle","calculateNodeStyling","placeholder","scrollHeight","singleRowHeight","calculateAutoSizeStyle","_textareaRef$current","fixFirefoxAutoScroll","resizeRafRef","mergedAutoSizeStyle","TextArea","_countConfig$max","customValue","textareaResized","setTextareaResized","resizableTextAreaRef","getTextArea","_resizableTextAreaRef","resizableTextArea","_getTextArea","isPureTextArea","textarea","_getTextArea2","compact","formItemContext","groupFormItemContext","OTP","filterSearch","tablePrefixCls","filterSearchPlaceholder","flattenKeys","filters","searchValueMatched","searchValue","renderFilterItems","filteredKeys","filterMultiple","wrapStringListType","dropdownPrefixCls","filterOnClose","filterMode","filterState","triggerFilter","filterResetToDefaultFilteredValue","defaultFilteredValue","filterDropdownProps","filterDropdownOpen","filterDropdownVisible","onFilterDropdownVisibleChange","onFilterDropdownOpenChange","filtered","forceFiltered","propFilteredKeys","getFilteredKeysSync","setFilteredKeysSync","initialValue","useSyncState","onSelectKeys","onCheck","setOpenKeys","setSearchValue","internalTriggerFilter","mergedKeys","onConfirm","onReset","confirm","closeDropdown","dropdownMenuClass","onCheckAll","allFilterKeys","getTreeData","_ref7","getFilterData","dropdownContent","filterDropdown","setSelectedKeys","clearFilters","close","getFilterComponent","empty","image","PRESENTED_IMAGE_SIMPLE","description","filterEmptyText","imageStyle","filterCheckall","checkable","blockNode","checkStrictly","checkedKeys","showIcon","treeData","autoExpandParent","defaultExpandAll","filterTreeNode","getResetDisabled","filterReset","filterConfirm","mergedDropdownProps","filterIcon","getDropdownTrigger","collectFilterStates","init","filterStates","columnPos","filteredValues","filteredValue","injectFilter","newColumn","renderProps","generateFilterInfo","currentFilters","keyAsString","originKey","currentData","onFilter","keyIndex","realKey","getMergedColumns","rawMergedColumns","flatMap","onFilterChange","tableLocale","setFilterStates","mergedFilterStates","collectedStates","filteredKeysIsAllNotControlled","filteredKeysIsAllControlled","keyList","newFilterStates","innerColumns","DEFAULT_PAGE_SIZE","paginationTotal","paginationObj","innerPagination","setInnerPagination","mergedPagination","maxPage","refreshPagination","ASCEND","DESCEND","getMultiplePriority","sorter","getSortFunction","compare","collectSortStates","sortStates","pushState","multiplePriority","sortOrder","defaultSortOrder","injectSorter","sorterStates","triggerSorter","defaultSortDirections","tableShowSorterTooltip","sortDirections","showSorterTooltip","sorterState","nextSortOrder","nextSortDirection","sortIcon","upNode","downNode","cancelSort","triggerAsc","triggerDesc","sortTip","columnSortersClass","renderColumnTitleWrapper","renderSortTitle","originOnClick","originOKeyDown","renderTitle","safeColumnTitle","displayTitle","stateToInfo","order","field","generateSorterInfo","activeSorters","getSortData","innerSorterStates","cloneData","runningSorters","record1","record2","compareFn","compareResult","subRecords","fillTitle","columnTitleProps","cloneColumn","_renderTimes","prevRenderTimes","nextRenderTimes","tableBorderColor","tableHeaderBg","tablePaddingVertical","tablePaddingHorizontal","tableBorder","getSizeBorderStyle","paddingVertical","paddingHorizontal","tablePaddingVerticalMiddle","tablePaddingHorizontalMiddle","tablePaddingVerticalSmall","tablePaddingHorizontalSmall","wordBreak","tableExpandIconBg","tableExpandColumnWidth","tableExpandedRowBg","expandIconMarginTop","expandIconSize","expandIconHalfInner","expandIconScale","expandIconLineOffset","table","tableFilterDropdownWidth","tableFilterDropdownSearchWidth","headerIconColor","tableHeaderFilterActiveBg","tableFilterDropdownBg","tableFilterDropdownHeight","filterDropdownMenuBg","tableFilterDropdownPrefixCls","treePrefixCls","zIndexTableFixed","tableBg","zIndexTableSticky","shadowColor","tableRadius","headerIconHoverColor","tableSelectionColumnWidth","tableSelectedRowBg","tableSelectedRowHoverBg","tableRowHoverBg","getSizeStyle","tableFontSizeMiddle","tableFontSizeSmall","tableHeaderSortHoverBg","tableFixedHeaderSortActiveBg","tableHeaderSortBg","tableBodySortBg","tableScrollThumbBg","tableScrollThumbBgHover","tableScrollThumbSize","tableScrollBg","stickyScrollBarBorderRadius","genTableStyle","tableFontSize","tableHeaderTextColor","tableHeaderCellSplitColor","tableFooterTextColor","tableFooterBg","scrollbarColor","overflowWrap","colorTextHeading","controlInteractiveSize","checkboxSize","headerBg","headerColor","headerSortActiveBg","headerSortHoverBg","bodySortBg","rowHoverBg","rowSelectedBg","rowSelectedHoverBg","rowExpandedBg","cellPaddingBlock","cellPaddingInline","cellPaddingBlockMD","cellPaddingInlineMD","cellPaddingBlockSM","cellPaddingInlineSM","footerBg","footerColor","headerBorderRadius","cellFontSize","cellFontSizeMD","cellFontSizeSM","headerSplitColor","fixedHeaderSortActiveBg","headerFilterHoverBg","filterDropdownBg","expandIconBg","selectionColumnWidth","stickyScrollBarBg","tableToken","colorBorderSecondary","colorFillSecondarySolid","toHexShortString","colorFillContentSolid","colorFillAlterSolid","baseColorAction","baseColorActionHover","getAlpha","InternalTable","customizeDropdownPrefixCls","dataSource","rowSelection","legacyChildrenColumnName","needResponsive","matched","Table","expandType","returnWidth","borderRightWidth","useContainerWidth","rootRef","tblRef","refObj","Proxy","prop","Reflect","_antProxy","ori","useProxyImperativeHandle","getRecordByKey","mapCacheRef","kvMap","records","changeEventInfo","triggerOnChange","reset","changeInfo","resetPagination","scrollToFirstRowOnChange","duration","Document","ownerDocument","startTime","frameFunc","time","nextScrollTop","d","cc","easeInOutCubic","currentDataSource","transformSorterColumns","sorterTitleProps","getSorters","onSorterChange","setSortStates","getColumnKeys","newKeys","childKeys","mergedSorterStates","validate","mergedColumnsKeys","validateStates","patchStates","multipleMode","columnTitleSorterProps","sortColumns","sortColumn","sortState","newSorterStates","useSorter","sortedData","transformFilterColumns","mergedFilters","filterKey","transformTitleColumns","param","pageProp","getPaginationParam","pageData","transformSelectionColumns","selectedKeySet","preserveSelectedRowKeys","selectedRowKeys","defaultSelectedRowKeys","getCheckboxProps","onSelectionChange","onSelectAll","onSelectInvert","onSelectNone","onSelectMultiple","selectionColWidth","selectionType","selections","renderCell","customizeRenderCell","hideSelectAll","multipleSelect","updatePrevSelectedIndex","getKey","prevSelectedIndex","setPrevSelectedIndex","currentSelectedIndex","configPrevSelectedIndex","rangeKeys","shouldSelected","rangeKey","changedKeys","useMultipleSelect","mergedSelectedKeys","setMergedSelectedKeys","preserveRecordsRef","updatePreserveRecordsCache","newCache","flattedData","keyEntities","convertData","keysSet","preserveRecords","externalGetKey","childrenPropName","checkboxPropsMap","isCheckboxDisabled","derivedSelectedKeys","derivedHalfSelectedKeys","halfCheckedKeys","derivedSelectedKeySet","derivedHalfSelectedKeySet","method","availableKeys","triggerSingleSelection","mergedSelections","selectionAll","checkProps","selectInvert","keySet","deprecated","selectNone","_a2","recordKeys","checkedCurrentAll","checkedCurrentSome","onSelectAllChange","changeKeys","columnTitleCheckbox","customizeSelections","onSelectionClick","DownOutlined","allDisabledData","allDisabled","allDisabledAndChecked","allDisabledSomeChecked","mergedIndeterminate","shiftKey","recordKey","originCheckedKeys","nextCheckedKeys","tempKeySet","restColumns","selectionColumnIndex","prevCol","nextCol","mergedFixed","columnCls","selectionColumn","iconPrefix","collapse","expand","topPaginationNode","bottomPaginationNode","spinProps","paginationSize","renderPagination","defaultPosition","topPos","bottomPos","isDisable","wrapperClassNames","virtualProps","fontHeight","mergedRowClassName","ForwardTable","dropPosition","dropLevelOffset","startPosition","Tree","tree","showLine","switcherIcon","switcherLoadingIcon","draggable","customMotion","newProps","dropIndicatorRender","useToken","titleHeight","draggableConfig","mergedDraggable","nodeDraggable","nodeProps","treeNodeProps","traverseNodesKey","fieldNames","fieldKey","fieldChildren","dataNode","convertDirectoryKeysToNodes","restKeys","isLeaf","FileOutlined","DirectoryTree","defaultExpandParent","defaultExpandedKeys","lastSelectedKey","cachedSelectedKeys","setExpandedKeys","initExpandedKeys","getInitExpandedKeys","expandAction","connectClassName","ctrlPick","shiftPick","newSelectedKeys","selectedNodes","startKey","endKey","matchKey","calcRangeKeys","TreeNode","_interopRequireDefault","exports","_en_US","_zh_CN","_en_US2","lang","yearPlaceholder","quarterPlaceholder","monthPlaceholder","weekPlaceholder","rangePlaceholder","rangeYearPlaceholder","rangeQuarterPlaceholder","rangeMonthPlaceholder","rangeWeekPlaceholder","timePickerLocale","_zh_CN2","ok","_en_US3","_en_US4","typeTemplate","localeValues","Pagination","DatePicker","TimePicker","Calendar","global","filterTitle","selectAll","sortTitle","Tour","Next","Previous","Finish","Modal","okText","cancelText","justOkText","Popconfirm","Transfer","titles","searchPlaceholder","itemUnit","itemsUnit","selectCurrent","removeCurrent","deselectAll","removeAll","Upload","uploading","removeFile","uploadError","previewFile","downloadFile","Empty","Text","edit","copy","copied","Form","optional","defaultValidateMessages","enum","whitespace","date","format","parse","invalid","types","string","array","object","number","boolean","integer","regexp","email","url","range","pattern","mismatch","Image","preview","QRCode","expired","refresh","scanned","ColorPicker","presetEmpty","transparent","singleColor","gradientColor","_zh_CN3","_zh_CN4","commonLocale","yearFormat","dayFormat","cellMeridiemFormat","monthBeforeYear","_objectSpread2","_common","today","backToToday","month","year","timeSelect","dateSelect","weekSelect","monthSelect","yearSelect","decadeSelect","dateFormat","dateTimeFormat","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","cellDateFormat","toPropertyKey","module","enumerable","configurable","writable","__esModule","ownKeys","o","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","_typeof","Symbol","toPrimitive","TypeError","iterator"],"sourceRoot":""}
|