@uiw/doc 5.0.0-bate-1 → 5.0.0-bate-2
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/package.json +1 -1
- package/web/asset-manifest.json +264 -264
- package/web/index.html +1 -1
- package/web/static/js/1048.0d040676.chunk.js +2 -0
- package/web/static/js/{1048.e1f07ee4.chunk.js.map → 1048.0d040676.chunk.js.map} +1 -1
- package/web/static/js/{1548.8c412fe6.chunk.js → 1067.41839b42.chunk.js} +2 -2
- package/web/static/js/{1067.c19e8202.chunk.js.map → 1067.41839b42.chunk.js.map} +1 -1
- package/web/static/js/{1079.9eb656fd.chunk.js → 1079.cbe3c337.chunk.js} +2 -2
- package/web/static/js/{1079.9eb656fd.chunk.js.map → 1079.cbe3c337.chunk.js.map} +1 -1
- package/web/static/js/{1175.f47ae2f8.chunk.js → 1175.75718ca2.chunk.js} +2 -2
- package/web/static/js/{1175.f47ae2f8.chunk.js.map → 1175.75718ca2.chunk.js.map} +1 -1
- package/web/static/js/{1451.04b08f8d.chunk.js → 1451.67001d37.chunk.js} +2 -2
- package/web/static/js/{1451.04b08f8d.chunk.js.map → 1451.67001d37.chunk.js.map} +1 -1
- package/web/static/js/{1515.f35892bb.chunk.js → 1515.72604c10.chunk.js} +2 -2
- package/web/static/js/{1515.f35892bb.chunk.js.map → 1515.72604c10.chunk.js.map} +1 -1
- package/web/static/js/1548.018a20c4.chunk.js +2 -0
- package/web/static/js/{1548.8c412fe6.chunk.js.map → 1548.018a20c4.chunk.js.map} +1 -1
- package/web/static/js/{2810.5d785d11.chunk.js → 1574.d3a9d662.chunk.js} +2 -2
- package/web/static/js/{1574.2b98b114.chunk.js.map → 1574.d3a9d662.chunk.js.map} +1 -1
- package/web/static/js/{1643.ccbaaea6.chunk.js → 1643.cc6714c1.chunk.js} +2 -2
- package/web/static/js/{1643.ccbaaea6.chunk.js.map → 1643.cc6714c1.chunk.js.map} +1 -1
- package/web/static/js/1661.cd44eece.chunk.js +2 -0
- package/web/static/js/{1661.f881ca84.chunk.js.map → 1661.cd44eece.chunk.js.map} +1 -1
- package/web/static/js/{1750.9969beaa.chunk.js → 1750.0eee1f45.chunk.js} +2 -2
- package/web/static/js/{1750.9969beaa.chunk.js.map → 1750.0eee1f45.chunk.js.map} +1 -1
- package/web/static/js/1876.410e32df.chunk.js +2 -0
- package/web/static/js/{1876.6cad539d.chunk.js.map → 1876.410e32df.chunk.js.map} +1 -1
- package/web/static/js/1892.01e73135.chunk.js +2 -0
- package/web/static/js/{1892.dce494f3.chunk.js.map → 1892.01e73135.chunk.js.map} +1 -1
- package/web/static/js/190.1c9e3d39.chunk.js +2 -0
- package/web/static/js/{190.c864d902.chunk.js.map → 190.1c9e3d39.chunk.js.map} +1 -1
- package/web/static/js/1949.9086db0d.chunk.js +2 -0
- package/web/static/js/{1949.6ebed61b.chunk.js.map → 1949.9086db0d.chunk.js.map} +1 -1
- package/web/static/js/{2076.0ffaa5d4.chunk.js → 2076.6af39328.chunk.js} +2 -2
- package/web/static/js/{2076.0ffaa5d4.chunk.js.map → 2076.6af39328.chunk.js.map} +1 -1
- package/web/static/js/{2081.8362d59b.chunk.js → 2081.b3dc6876.chunk.js} +2 -2
- package/web/static/js/{2081.8362d59b.chunk.js.map → 2081.b3dc6876.chunk.js.map} +1 -1
- package/web/static/js/2134.b69f2059.chunk.js +2 -0
- package/web/static/js/{2134.e0ba4996.chunk.js.map → 2134.b69f2059.chunk.js.map} +1 -1
- package/web/static/js/2144.9a68ca25.chunk.js +2 -0
- package/web/static/js/{2144.42edbee6.chunk.js.map → 2144.9a68ca25.chunk.js.map} +1 -1
- package/web/static/js/{2191.c95ae2cd.chunk.js → 2191.331e9601.chunk.js} +2 -2
- package/web/static/js/{2191.c95ae2cd.chunk.js.map → 2191.331e9601.chunk.js.map} +1 -1
- package/web/static/js/2204.abb6769f.chunk.js +2 -0
- package/web/static/js/{2204.ff7bfaf1.chunk.js.map → 2204.abb6769f.chunk.js.map} +1 -1
- package/web/static/js/2206.d8dc74ee.chunk.js +2 -0
- package/web/static/js/{2206.c3122497.chunk.js.map → 2206.d8dc74ee.chunk.js.map} +1 -1
- package/web/static/js/2287.476f733f.chunk.js +2 -0
- package/web/static/js/{2287.d38944f1.chunk.js.map → 2287.476f733f.chunk.js.map} +1 -1
- package/web/static/js/{2302.507bc5f4.chunk.js → 2302.2c2b1710.chunk.js} +2 -2
- package/web/static/js/{2302.507bc5f4.chunk.js.map → 2302.2c2b1710.chunk.js.map} +1 -1
- package/web/static/js/{2326.05a269ae.chunk.js → 2326.2933f881.chunk.js} +2 -2
- package/web/static/js/{2326.05a269ae.chunk.js.map → 2326.2933f881.chunk.js.map} +1 -1
- package/web/static/js/{2633.54fe1930.chunk.js → 2633.353a08b1.chunk.js} +2 -2
- package/web/static/js/{2633.54fe1930.chunk.js.map → 2633.353a08b1.chunk.js.map} +1 -1
- package/web/static/js/2637.f7b026ce.chunk.js +2 -0
- package/web/static/js/{2637.d996c040.chunk.js.map → 2637.f7b026ce.chunk.js.map} +1 -1
- package/web/static/js/2730.16c5b784.chunk.js +2 -0
- package/web/static/js/{2730.64fb1f45.chunk.js.map → 2730.16c5b784.chunk.js.map} +1 -1
- package/web/static/js/2810.b88f0470.chunk.js +2 -0
- package/web/static/js/{2810.5d785d11.chunk.js.map → 2810.b88f0470.chunk.js.map} +1 -1
- package/web/static/js/{2860.283e99a3.chunk.js → 2860.1c24371b.chunk.js} +2 -2
- package/web/static/js/{2860.283e99a3.chunk.js.map → 2860.1c24371b.chunk.js.map} +1 -1
- package/web/static/js/{2869.71b339c3.chunk.js → 2869.fff04f77.chunk.js} +2 -2
- package/web/static/js/{2869.71b339c3.chunk.js.map → 2869.fff04f77.chunk.js.map} +1 -1
- package/web/static/js/3055.d866e965.chunk.js +2 -0
- package/web/static/js/{3055.cf175e33.chunk.js.map → 3055.d866e965.chunk.js.map} +1 -1
- package/web/static/js/{3177.ab91b49c.chunk.js → 3061.aca28e38.chunk.js} +2 -2
- package/web/static/js/{3061.6d1dbcc7.chunk.js.map → 3061.aca28e38.chunk.js.map} +1 -1
- package/web/static/js/{3109.be1ae97a.chunk.js → 3109.bf6ccfd9.chunk.js} +2 -2
- package/web/static/js/{3109.be1ae97a.chunk.js.map → 3109.bf6ccfd9.chunk.js.map} +1 -1
- package/web/static/js/{3161.88906b29.chunk.js → 3161.5712b0fc.chunk.js} +2 -2
- package/web/static/js/{3161.88906b29.chunk.js.map → 3161.5712b0fc.chunk.js.map} +1 -1
- package/web/static/js/{3061.6d1dbcc7.chunk.js → 3177.ee3049dc.chunk.js} +2 -2
- package/web/static/js/{3177.ab91b49c.chunk.js.map → 3177.ee3049dc.chunk.js.map} +1 -1
- package/web/static/js/3231.67e3bfa0.chunk.js +2 -0
- package/web/static/js/{3231.86e5a9af.chunk.js.map → 3231.67e3bfa0.chunk.js.map} +1 -1
- package/web/static/js/333.15a56f5e.chunk.js +2 -0
- package/web/static/js/{333.99eda08a.chunk.js.map → 333.15a56f5e.chunk.js.map} +1 -1
- package/web/static/js/335.90a3533c.chunk.js +2 -0
- package/web/static/js/{335.5fa7b0f6.chunk.js.map → 335.90a3533c.chunk.js.map} +1 -1
- package/web/static/js/3479.3e7bc277.chunk.js +2 -0
- package/web/static/js/{3479.07885d28.chunk.js.map → 3479.3e7bc277.chunk.js.map} +1 -1
- package/web/static/js/{3508.69e01ca9.chunk.js → 3508.33638225.chunk.js} +2 -2
- package/web/static/js/{3508.69e01ca9.chunk.js.map → 3508.33638225.chunk.js.map} +1 -1
- package/web/static/js/3535.6de0f923.chunk.js +2 -0
- package/web/static/js/{3535.99969a8e.chunk.js.map → 3535.6de0f923.chunk.js.map} +1 -1
- package/web/static/js/3552.9725e114.chunk.js +2 -0
- package/web/static/js/{3552.37e9b391.chunk.js.map → 3552.9725e114.chunk.js.map} +1 -1
- package/web/static/js/{3612.90208928.chunk.js → 3612.15b206eb.chunk.js} +2 -2
- package/web/static/js/{3612.90208928.chunk.js.map → 3612.15b206eb.chunk.js.map} +1 -1
- package/web/static/js/3717.3f1268b5.chunk.js +2 -0
- package/web/static/js/{3717.e32ec8d1.chunk.js.map → 3717.3f1268b5.chunk.js.map} +1 -1
- package/web/static/js/{3720.4257d6dc.chunk.js → 3720.3a2d5659.chunk.js} +2 -2
- package/web/static/js/{3720.4257d6dc.chunk.js.map → 3720.3a2d5659.chunk.js.map} +1 -1
- package/web/static/js/{9375.70bc0340.chunk.js → 3896.292878fe.chunk.js} +2 -2
- package/web/static/js/{3896.833cd43a.chunk.js.map → 3896.292878fe.chunk.js.map} +1 -1
- package/web/static/js/{3906.0b01eed3.chunk.js → 3906.fb61888e.chunk.js} +2 -2
- package/web/static/js/{3906.0b01eed3.chunk.js.map → 3906.fb61888e.chunk.js.map} +1 -1
- package/web/static/js/3914.64850d3a.chunk.js +2 -0
- package/web/static/js/{3914.e9637bc5.chunk.js.map → 3914.64850d3a.chunk.js.map} +1 -1
- package/web/static/js/{3984.50c9938a.chunk.js → 3984.a9819d09.chunk.js} +2 -2
- package/web/static/js/{3984.50c9938a.chunk.js.map → 3984.a9819d09.chunk.js.map} +1 -1
- package/web/static/js/4061.d1ed6129.chunk.js +2 -0
- package/web/static/js/{4061.d5d721a1.chunk.js.map → 4061.d1ed6129.chunk.js.map} +1 -1
- package/web/static/js/4070.d29dda6e.chunk.js +2 -0
- package/web/static/js/{4070.0ace6541.chunk.js.map → 4070.d29dda6e.chunk.js.map} +1 -1
- package/web/static/js/{4093.5b1ede70.chunk.js → 4093.4b67d1c7.chunk.js} +2 -2
- package/web/static/js/{4093.5b1ede70.chunk.js.map → 4093.4b67d1c7.chunk.js.map} +1 -1
- package/web/static/js/4107.eca5443b.chunk.js +2 -0
- package/web/static/js/{4107.d91e770f.chunk.js.map → 4107.eca5443b.chunk.js.map} +1 -1
- package/web/static/js/4137.b85e2de5.chunk.js +2 -0
- package/web/static/js/{4137.afdec2d8.chunk.js.map → 4137.b85e2de5.chunk.js.map} +1 -1
- package/web/static/js/4156.08e61372.chunk.js +2 -0
- package/web/static/js/{4156.65292e46.chunk.js.map → 4156.08e61372.chunk.js.map} +1 -1
- package/web/static/js/4307.c5789ff5.chunk.js +2 -0
- package/web/static/js/{4307.194c608d.chunk.js.map → 4307.c5789ff5.chunk.js.map} +1 -1
- package/web/static/js/{432.443115b8.chunk.js → 432.ad2801e4.chunk.js} +2 -2
- package/web/static/js/{432.443115b8.chunk.js.map → 432.ad2801e4.chunk.js.map} +1 -1
- package/web/static/js/4364.ef059cd5.chunk.js +2 -0
- package/web/static/js/{4364.5ede0267.chunk.js.map → 4364.ef059cd5.chunk.js.map} +1 -1
- package/web/static/js/4455.64c3d8df.chunk.js +2 -0
- package/web/static/js/{4455.c387fff7.chunk.js.map → 4455.64c3d8df.chunk.js.map} +1 -1
- package/web/static/js/{4477.e49d1233.chunk.js → 4477.58f937ba.chunk.js} +2 -2
- package/web/static/js/{4477.e49d1233.chunk.js.map → 4477.58f937ba.chunk.js.map} +1 -1
- package/web/static/js/{4529.f765f5f9.chunk.js → 4529.6f6a7980.chunk.js} +2 -2
- package/web/static/js/{4529.f765f5f9.chunk.js.map → 4529.6f6a7980.chunk.js.map} +1 -1
- package/web/static/js/{4575.e00c7e35.chunk.js → 4575.b84b63cd.chunk.js} +2 -2
- package/web/static/js/{4575.e00c7e35.chunk.js.map → 4575.b84b63cd.chunk.js.map} +1 -1
- package/web/static/js/{462.6aa933ce.chunk.js → 462.f248f6ea.chunk.js} +2 -2
- package/web/static/js/{462.6aa933ce.chunk.js.map → 462.f248f6ea.chunk.js.map} +1 -1
- package/web/static/js/{4725.cc165786.chunk.js → 4725.131542ea.chunk.js} +2 -2
- package/web/static/js/{4725.cc165786.chunk.js.map → 4725.131542ea.chunk.js.map} +1 -1
- package/web/static/js/{4861.760a5728.chunk.js → 4861.69669734.chunk.js} +2 -2
- package/web/static/js/{4861.760a5728.chunk.js.map → 4861.69669734.chunk.js.map} +1 -1
- package/web/static/js/498.536d1042.chunk.js +2 -0
- package/web/static/js/{498.e098e309.chunk.js.map → 498.536d1042.chunk.js.map} +1 -1
- package/web/static/js/530.ad2f61a1.chunk.js +2 -0
- package/web/static/js/{530.aed153af.chunk.js.map → 530.ad2f61a1.chunk.js.map} +1 -1
- package/web/static/js/{5388.265b6c41.chunk.js → 5388.f38bef53.chunk.js} +2 -2
- package/web/static/js/{5388.265b6c41.chunk.js.map → 5388.f38bef53.chunk.js.map} +1 -1
- package/web/static/js/5775.0c84a32f.chunk.js +2 -0
- package/web/static/js/{5775.ba04cebb.chunk.js.map → 5775.0c84a32f.chunk.js.map} +1 -1
- package/web/static/js/{5804.09a6221a.chunk.js → 5804.fd0480b2.chunk.js} +2 -2
- package/web/static/js/{5804.09a6221a.chunk.js.map → 5804.fd0480b2.chunk.js.map} +1 -1
- package/web/static/js/5852.a0dc3edb.chunk.js +2 -0
- package/web/static/js/{5852.81680c1d.chunk.js.map → 5852.a0dc3edb.chunk.js.map} +1 -1
- package/web/static/js/{5860.f20a549b.chunk.js → 5860.86c5cbe3.chunk.js} +2 -2
- package/web/static/js/{5860.f20a549b.chunk.js.map → 5860.86c5cbe3.chunk.js.map} +1 -1
- package/web/static/js/5900.7149b283.chunk.js +2 -0
- package/web/static/js/{5900.7e8b1c1c.chunk.js.map → 5900.7149b283.chunk.js.map} +1 -1
- package/web/static/js/597.d44c92d1.chunk.js +2 -0
- package/web/static/js/{597.33a99fc0.chunk.js.map → 597.d44c92d1.chunk.js.map} +1 -1
- package/web/static/js/6146.c78166ee.chunk.js +2 -0
- package/web/static/js/{6146.02595d77.chunk.js.map → 6146.c78166ee.chunk.js.map} +1 -1
- package/web/static/js/6255.77feee3a.chunk.js +2 -0
- package/web/static/js/{6255.ec81e9f0.chunk.js.map → 6255.77feee3a.chunk.js.map} +1 -1
- package/web/static/js/{6307.8621ad1f.chunk.js → 6307.ac2d0513.chunk.js} +2 -2
- package/web/static/js/{6307.8621ad1f.chunk.js.map → 6307.ac2d0513.chunk.js.map} +1 -1
- package/web/static/js/{636.2b02d702.chunk.js → 636.70fb3b12.chunk.js} +2 -2
- package/web/static/js/{636.2b02d702.chunk.js.map → 636.70fb3b12.chunk.js.map} +1 -1
- package/web/static/js/{649.8499b3f7.chunk.js → 649.7c92ca6c.chunk.js} +2 -2
- package/web/static/js/{649.8499b3f7.chunk.js.map → 649.7c92ca6c.chunk.js.map} +1 -1
- package/web/static/js/6503.9ec80e31.chunk.js +2 -0
- package/web/static/js/{6503.5f2349b1.chunk.js.map → 6503.9ec80e31.chunk.js.map} +1 -1
- package/web/static/js/{6512.40eb765d.chunk.js → 6512.700dbbe7.chunk.js} +2 -2
- package/web/static/js/{6512.40eb765d.chunk.js.map → 6512.700dbbe7.chunk.js.map} +1 -1
- package/web/static/js/6716.d9c56744.chunk.js +2 -0
- package/web/static/js/{6716.02298cc2.chunk.js.map → 6716.d9c56744.chunk.js.map} +1 -1
- package/web/static/js/6795.b4c430d9.chunk.js +2 -0
- package/web/static/js/{6795.bebf54d1.chunk.js.map → 6795.b4c430d9.chunk.js.map} +1 -1
- package/web/static/js/{6835.48c52b5a.chunk.js → 6835.85e5a6fe.chunk.js} +2 -2
- package/web/static/js/{6835.48c52b5a.chunk.js.map → 6835.85e5a6fe.chunk.js.map} +1 -1
- package/web/static/js/6889.0a68a9b1.chunk.js +2 -0
- package/web/static/js/{6889.9760ee32.chunk.js.map → 6889.0a68a9b1.chunk.js.map} +1 -1
- package/web/static/js/7019.9a6eaf3c.chunk.js +2 -0
- package/web/static/js/{7019.d2a9e0a0.chunk.js.map → 7019.9a6eaf3c.chunk.js.map} +1 -1
- package/web/static/js/7064.7cedd669.chunk.js +2 -0
- package/web/static/js/{7064.1feda4f5.chunk.js.map → 7064.7cedd669.chunk.js.map} +1 -1
- package/web/static/js/7096.276fd20d.chunk.js +2 -0
- package/web/static/js/{7096.7233b97b.chunk.js.map → 7096.276fd20d.chunk.js.map} +1 -1
- package/web/static/js/{7103.858f5648.chunk.js → 7103.daa1335b.chunk.js} +2 -2
- package/web/static/js/{7103.858f5648.chunk.js.map → 7103.daa1335b.chunk.js.map} +1 -1
- package/web/static/js/{713.bf164481.chunk.js → 713.b0c38175.chunk.js} +2 -2
- package/web/static/js/{713.bf164481.chunk.js.map → 713.b0c38175.chunk.js.map} +1 -1
- package/web/static/js/{7191.c0765c12.chunk.js → 7191.6bddc692.chunk.js} +2 -2
- package/web/static/js/{7191.c0765c12.chunk.js.map → 7191.6bddc692.chunk.js.map} +1 -1
- package/web/static/js/{7237.9107001a.chunk.js → 7237.a04bfb50.chunk.js} +2 -2
- package/web/static/js/{7237.9107001a.chunk.js.map → 7237.a04bfb50.chunk.js.map} +1 -1
- package/web/static/js/7342.24b0215c.chunk.js +2 -0
- package/web/static/js/{7342.f678a040.chunk.js.map → 7342.24b0215c.chunk.js.map} +1 -1
- package/web/static/js/{7499.917d3c0e.chunk.js → 7499.4eea90c9.chunk.js} +2 -2
- package/web/static/js/{7499.917d3c0e.chunk.js.map → 7499.4eea90c9.chunk.js.map} +1 -1
- package/web/static/js/7655.3bdc5151.chunk.js +2 -0
- package/web/static/js/{7655.67268587.chunk.js.map → 7655.3bdc5151.chunk.js.map} +1 -1
- package/web/static/js/7702.73da6d5e.chunk.js +2 -0
- package/web/static/js/{7702.d5a207ac.chunk.js.map → 7702.73da6d5e.chunk.js.map} +1 -1
- package/web/static/js/{7741.49dfa742.chunk.js → 7741.8e6a3a1d.chunk.js} +2 -2
- package/web/static/js/{7741.49dfa742.chunk.js.map → 7741.8e6a3a1d.chunk.js.map} +1 -1
- package/web/static/js/8047.afb8bd70.chunk.js +2 -0
- package/web/static/js/{8047.ec73e9a8.chunk.js.map → 8047.afb8bd70.chunk.js.map} +1 -1
- package/web/static/js/8110.c108ec6f.chunk.js +2 -0
- package/web/static/js/{8110.c0ad97fe.chunk.js.map → 8110.c108ec6f.chunk.js.map} +1 -1
- package/web/static/js/{8133.84406c17.chunk.js → 8133.63b5922a.chunk.js} +2 -2
- package/web/static/js/{8133.84406c17.chunk.js.map → 8133.63b5922a.chunk.js.map} +1 -1
- package/web/static/js/{8240.fdd46dad.chunk.js → 8240.e064ea8d.chunk.js} +2 -2
- package/web/static/js/{8240.fdd46dad.chunk.js.map → 8240.e064ea8d.chunk.js.map} +1 -1
- package/web/static/js/{8310.f3a2179c.chunk.js → 8310.c63a3fd1.chunk.js} +2 -2
- package/web/static/js/{8310.f3a2179c.chunk.js.map → 8310.c63a3fd1.chunk.js.map} +1 -1
- package/web/static/js/{8322.a529c34f.chunk.js → 8322.42dd0467.chunk.js} +2 -2
- package/web/static/js/{8322.a529c34f.chunk.js.map → 8322.42dd0467.chunk.js.map} +1 -1
- package/web/static/js/{8400.9f7d8e28.chunk.js → 8400.28c8c761.chunk.js} +2 -2
- package/web/static/js/{8400.9f7d8e28.chunk.js.map → 8400.28c8c761.chunk.js.map} +1 -1
- package/web/static/js/8415.19d6a621.chunk.js +2 -0
- package/web/static/js/{8415.1da9a8c6.chunk.js.map → 8415.19d6a621.chunk.js.map} +1 -1
- package/web/static/js/{4061.d5d721a1.chunk.js → 8467.b2ee1169.chunk.js} +2 -2
- package/web/static/js/{8467.6980e0c4.chunk.js.map → 8467.b2ee1169.chunk.js.map} +1 -1
- package/web/static/js/{8543.2648a0f6.chunk.js → 8543.58f35298.chunk.js} +2 -2
- package/web/static/js/{8543.2648a0f6.chunk.js.map → 8543.58f35298.chunk.js.map} +1 -1
- package/web/static/js/8630.c51b80ca.chunk.js +2 -0
- package/web/static/js/{8630.c63c3957.chunk.js.map → 8630.c51b80ca.chunk.js.map} +1 -1
- package/web/static/js/8660.9bad582e.chunk.js +2 -0
- package/web/static/js/{8660.2ba0842f.chunk.js.map → 8660.9bad582e.chunk.js.map} +1 -1
- package/web/static/js/8763.4f414d87.chunk.js +2 -0
- package/web/static/js/{8763.a8c2f646.chunk.js.map → 8763.4f414d87.chunk.js.map} +1 -1
- package/web/static/js/8822.fe5dc0e1.chunk.js +2 -0
- package/web/static/js/8822.fe5dc0e1.chunk.js.map +1 -0
- package/web/static/js/9036.bc65ca88.chunk.js +2 -0
- package/web/static/js/{9036.3a2a53e8.chunk.js.map → 9036.bc65ca88.chunk.js.map} +1 -1
- package/web/static/js/{9041.5ab09c0e.chunk.js → 9041.29725e33.chunk.js} +2 -2
- package/web/static/js/{9041.5ab09c0e.chunk.js.map → 9041.29725e33.chunk.js.map} +1 -1
- package/web/static/js/9351.f0f13e4c.chunk.js +2 -0
- package/web/static/js/{9351.27b41270.chunk.js.map → 9351.f0f13e4c.chunk.js.map} +1 -1
- package/web/static/js/9375.a35e41ad.chunk.js +2 -0
- package/web/static/js/{9375.70bc0340.chunk.js.map → 9375.a35e41ad.chunk.js.map} +1 -1
- package/web/static/js/9609.1f692a2e.chunk.js +2 -0
- package/web/static/js/{9609.e574c787.chunk.js.map → 9609.1f692a2e.chunk.js.map} +1 -1
- package/web/static/js/9624.cc68281c.chunk.js +2 -0
- package/web/static/js/{9624.556c2a56.chunk.js.map → 9624.cc68281c.chunk.js.map} +1 -1
- package/web/static/js/9650.c068e1d5.chunk.js +2 -0
- package/web/static/js/{9650.7ec42e29.chunk.js.map → 9650.c068e1d5.chunk.js.map} +1 -1
- package/web/static/js/{9666.bad06541.chunk.js → 9666.da3228f7.chunk.js} +2 -2
- package/web/static/js/{9666.bad06541.chunk.js.map → 9666.da3228f7.chunk.js.map} +1 -1
- package/web/static/js/9699.5cf9381a.chunk.js +2 -0
- package/web/static/js/{9699.da72e58b.chunk.js.map → 9699.5cf9381a.chunk.js.map} +1 -1
- package/web/static/js/{9773.8446f515.chunk.js → 9773.6de37226.chunk.js} +2 -2
- package/web/static/js/{9773.8446f515.chunk.js.map → 9773.6de37226.chunk.js.map} +1 -1
- package/web/static/js/{9808.269aa10a.chunk.js → 9808.c4333db4.chunk.js} +2 -2
- package/web/static/js/{9808.269aa10a.chunk.js.map → 9808.c4333db4.chunk.js.map} +1 -1
- package/web/static/js/981.ac2be71f.chunk.js +2 -0
- package/web/static/js/{981.03f01463.chunk.js.map → 981.ac2be71f.chunk.js.map} +1 -1
- package/web/static/js/9875.72dfb142.chunk.js +2 -0
- package/web/static/js/{9875.f42566b4.chunk.js.map → 9875.72dfb142.chunk.js.map} +1 -1
- package/web/static/js/{9915.6ef9e74a.chunk.js → 9915.8e596a28.chunk.js} +2 -2
- package/web/static/js/{9915.6ef9e74a.chunk.js.map → 9915.8e596a28.chunk.js.map} +1 -1
- package/web/static/js/9947.52bdb436.chunk.js +2 -0
- package/web/static/js/{9947.8aff2fc4.chunk.js.map → 9947.52bdb436.chunk.js.map} +1 -1
- package/web/static/js/{9985.2e4b2c4c.chunk.js → 9985.863e7b6b.chunk.js} +2 -2
- package/web/static/js/{9985.2e4b2c4c.chunk.js.map → 9985.863e7b6b.chunk.js.map} +1 -1
- package/web/static/js/{9986.be88d01d.chunk.js → 9986.62f00e08.chunk.js} +2 -2
- package/web/static/js/{9986.be88d01d.chunk.js.map → 9986.62f00e08.chunk.js.map} +1 -1
- package/web/static/js/main.892d700d.js +2 -0
- package/web/static/js/main.892d700d.js.map +1 -0
- package/web/static/js/vendors-uiwjs.36a34bfd.js +3 -0
- package/web/static/js/{vendors-uiwjs.3091e433.js.LICENSE.txt → vendors-uiwjs.36a34bfd.js.LICENSE.txt} +0 -0
- package/web/static/js/{vendors-uiwjs.3091e433.js.map → vendors-uiwjs.36a34bfd.js.map} +1 -1
- package/web/static/js/1048.e1f07ee4.chunk.js +0 -2
- package/web/static/js/1067.c19e8202.chunk.js +0 -2
- package/web/static/js/1574.2b98b114.chunk.js +0 -2
- package/web/static/js/1661.f881ca84.chunk.js +0 -2
- package/web/static/js/1876.6cad539d.chunk.js +0 -2
- package/web/static/js/1892.dce494f3.chunk.js +0 -2
- package/web/static/js/190.c864d902.chunk.js +0 -2
- package/web/static/js/1949.6ebed61b.chunk.js +0 -2
- package/web/static/js/2134.e0ba4996.chunk.js +0 -2
- package/web/static/js/2144.42edbee6.chunk.js +0 -2
- package/web/static/js/2204.ff7bfaf1.chunk.js +0 -2
- package/web/static/js/2206.c3122497.chunk.js +0 -2
- package/web/static/js/2287.d38944f1.chunk.js +0 -2
- package/web/static/js/2637.d996c040.chunk.js +0 -2
- package/web/static/js/2730.64fb1f45.chunk.js +0 -2
- package/web/static/js/3055.cf175e33.chunk.js +0 -2
- package/web/static/js/3231.86e5a9af.chunk.js +0 -2
- package/web/static/js/333.99eda08a.chunk.js +0 -2
- package/web/static/js/335.5fa7b0f6.chunk.js +0 -2
- package/web/static/js/3479.07885d28.chunk.js +0 -2
- package/web/static/js/3535.99969a8e.chunk.js +0 -2
- package/web/static/js/3552.37e9b391.chunk.js +0 -2
- package/web/static/js/3717.e32ec8d1.chunk.js +0 -2
- package/web/static/js/3896.833cd43a.chunk.js +0 -2
- package/web/static/js/3914.e9637bc5.chunk.js +0 -2
- package/web/static/js/4070.0ace6541.chunk.js +0 -2
- package/web/static/js/4107.d91e770f.chunk.js +0 -2
- package/web/static/js/4137.afdec2d8.chunk.js +0 -2
- package/web/static/js/4156.65292e46.chunk.js +0 -2
- package/web/static/js/4307.194c608d.chunk.js +0 -2
- package/web/static/js/4364.5ede0267.chunk.js +0 -2
- package/web/static/js/4455.c387fff7.chunk.js +0 -2
- package/web/static/js/498.e098e309.chunk.js +0 -2
- package/web/static/js/530.aed153af.chunk.js +0 -2
- package/web/static/js/5775.ba04cebb.chunk.js +0 -2
- package/web/static/js/5852.81680c1d.chunk.js +0 -2
- package/web/static/js/5900.7e8b1c1c.chunk.js +0 -2
- package/web/static/js/597.33a99fc0.chunk.js +0 -2
- package/web/static/js/6146.02595d77.chunk.js +0 -2
- package/web/static/js/6255.ec81e9f0.chunk.js +0 -2
- package/web/static/js/6503.5f2349b1.chunk.js +0 -2
- package/web/static/js/6716.02298cc2.chunk.js +0 -2
- package/web/static/js/6795.bebf54d1.chunk.js +0 -2
- package/web/static/js/6889.9760ee32.chunk.js +0 -2
- package/web/static/js/7019.d2a9e0a0.chunk.js +0 -2
- package/web/static/js/7064.1feda4f5.chunk.js +0 -2
- package/web/static/js/7096.7233b97b.chunk.js +0 -2
- package/web/static/js/7342.f678a040.chunk.js +0 -2
- package/web/static/js/7655.67268587.chunk.js +0 -2
- package/web/static/js/7702.d5a207ac.chunk.js +0 -2
- package/web/static/js/8047.ec73e9a8.chunk.js +0 -2
- package/web/static/js/8110.c0ad97fe.chunk.js +0 -2
- package/web/static/js/8415.1da9a8c6.chunk.js +0 -2
- package/web/static/js/8467.6980e0c4.chunk.js +0 -2
- package/web/static/js/8630.c63c3957.chunk.js +0 -2
- package/web/static/js/8660.2ba0842f.chunk.js +0 -2
- package/web/static/js/8763.a8c2f646.chunk.js +0 -2
- package/web/static/js/8822.ae88e086.chunk.js +0 -2
- package/web/static/js/8822.ae88e086.chunk.js.map +0 -1
- package/web/static/js/9036.3a2a53e8.chunk.js +0 -2
- package/web/static/js/9351.27b41270.chunk.js +0 -2
- package/web/static/js/9609.e574c787.chunk.js +0 -2
- package/web/static/js/9624.556c2a56.chunk.js +0 -2
- package/web/static/js/9650.7ec42e29.chunk.js +0 -2
- package/web/static/js/9699.da72e58b.chunk.js +0 -2
- package/web/static/js/981.03f01463.chunk.js +0 -2
- package/web/static/js/9875.f42566b4.chunk.js +0 -2
- package/web/static/js/9947.8aff2fc4.chunk.js +0 -2
- package/web/static/js/main.34cd18a1.js +0 -2
- package/web/static/js/main.34cd18a1.js.map +0 -1
- package/web/static/js/vendors-uiwjs.3091e433.js +0 -3
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/main.34cd18a1.js","mappings":"2EAaMA,GAVJ,gBAAKC,QAAQ,YAAYC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,MAAxD,UACE,cAAGC,OAAO,OAAOC,YAAY,IAAIC,KAAK,OAAOC,SAAS,UAAtD,UACE,iBACEC,EAAE,kXACFF,KAAK,gBAQPG,GACJ,gBAAKT,QAAQ,YAAYG,QAAQ,MAAjC,UACE,cAAGC,OAAO,OAAOC,YAAY,IAAIC,KAAK,OAAOC,SAAS,UAAtD,UACE,iBACEC,EAAE,kXACFF,KAAK,gBAMb,KACEP,KAAAA,EACAU,MAAAA,E,yGC1Ba,SAASC,IACtB,OACE,4BACE,0DACA,wBACE,SAAC,KAAD,CAAMC,GAAG,IAAT,qCAIP,C,cCTc,SAASC,IACtB,OACE,SAAC,EAAAC,OAAD,CAAQC,IAAI,aAAaC,WAAW,SAAC,EAAAC,KAAD,CAAMC,KAAK,UAAUC,MAAM,EAAMC,MAAO,CAAEC,cAAe,eAEhG,C,cCLD,GAAiB,ECQjB,SAASC,IAAqC,IAA7BC,EAA4B,uDAApB,CAAC,EACxB,OAAOC,EAAAA,EAAAA,UAAQ,kBAAM,SAAC,EAAAC,OAAA,OAAD,CAAeC,MAAOH,EAAMnB,QAA5B,SAAsCmB,EAAMnB,SAAlD,GAA4E,CAACmB,EAAMnB,SACnG,CAMD,IAgCA,EAhCsB,WAAuC,IAAtCmB,EAAqC,uDAA7B,CAAC,EAC9B,SAASI,EAASC,GAChB,IAAMxB,EAAUwB,EAAEC,OAAOH,MACnBI,EAAiC,MAA1B1B,EAAQ2B,MAAM,KAAK,GAE9BC,OAAOC,SAASC,KADdJ,EACF,gCAAgD1B,EAAhD,oBAEA,qCAAqDA,EAArD,kBAEH,CAGD,IAAM+B,EAAiBC,EAAAA,GACjBC,EAAcd,EAAMe,KACpBC,EAAeF,EAAY,GAIjC,OAHIE,IAAiBJ,GACnBE,EAAYG,QAAQL,IAEfX,EAAAA,EAAAA,UACL,kBACE,gBAAKiB,UAAWC,EAAAA,IAAhB,UACE,SAAC,EAAAjB,OAAD,CAAQkB,aAAcN,EAAY,GAAIV,SAAUA,EAAhD,SACGU,EAAYO,KAAI,SAACxC,EAASyC,GACzB,OAAO,SAACvB,EAAD,CAAmBlB,QAASA,GAAdyC,EACtB,OALP,GASA,CAACR,GAEJ,EC9CD,GAAgB,MAAQ,qBAAqB,YAAc,2BAA2B,QAAU,uBAAuB,WAAa,0BAA0B,YAAc,4B,sDCA5K,GAAgB,MAAQ,qBAAqB,KAAO,oBAAoB,QAAU,wBCClF,GACES,MACE,gBAAK5C,MAAM,KAAKC,OAAO,KAAKF,QAAQ,YAApC,UACE,iBACEM,KAAK,OACLE,EAAE,43DAIRsC,WACE,iBAAK9C,QAAQ,gBAAgBC,MAAM,KAAKC,OAAO,KAA/C,WACE,iBACEM,EAAE,o1BACFF,KAAK,aAEP,iBACEE,EAAE,6qBACFF,KAAK,eAIXyC,QACE,iBAAK/C,QAAQ,gBAAgBC,MAAM,KAAKC,OAAO,KAA/C,WACE,iBACEM,EAAE,w4CACFF,KAAK,aAEP,iBACEE,EAAE,4nDACFF,KAAK,eAIX0C,OACE,iBAAKR,UAAU,QAAQxC,QAAQ,gBAAgBC,MAAM,KAAKC,OAAO,KAAjE,WACE,iBACEM,EAAE,iUACFF,KAAK,aAEP,iBACEE,EAAE,2zBACFF,KAAK,eAIX2C,OACE,gBAAKT,UAAU,QAAQxC,QAAQ,gBAAgBC,MAAM,MAAMC,OAAO,MAAlE,UACE,iBACEM,EAAE,8nBACFF,KAAK,cAIX4C,QACE,iBAAKlD,QAAQ,gBAAgBC,MAAM,KAAKC,OAAO,KAA/C,WACE,iBAAMM,EAAE,qXACR,iBAAMA,EAAE,qJACR,iBAAMA,EAAE,qJACR,iBAAMA,EAAE,wJ,oBCrDC,SAAS2C,IACtB,IAAMnB,GAAWoB,EAAAA,EAAAA,MACNC,GAAUC,EAAAA,EAAAA,KAAbC,EAEFlB,EAAOmB,EAAKC,MAAK,SAACC,GAAD,OAAU,IAAIC,OAAJ,WAAeD,EAAKE,MAAQ,KAAMC,KAAK7B,EAAS8B,SAA1D,IAEvB,GAAI,OAACzB,QAAD,IAACA,IAAAA,EAAM0B,SACT,OAAO,KAGT,IAAMC,EAAG,eAAW3B,EAAKuB,KAAhB,aAGHK,EAAQZ,EAAM,QAAD,OAAShB,EAAKuB,OAEjC,OACE,iBAAKpB,UAAWC,EAAAA,OAAhB,WACE,gBAAID,UAAWC,EAAAA,MAAf,UACIyB,EAAY7B,EAAK8B,OACnB,0BAAOF,QAET,gBAAKzB,UAAWC,EAAAA,KAAhB,SACGJ,EAAK0B,UACJ1B,EAAK0B,SAASpB,KAAI,SAACe,EAAMd,GACvB,IAAIwB,EAAUV,EAAKW,KACfC,EAASZ,EAAKa,QAdZ,gBAcmCP,EAIzC,OAHIN,EAAKE,MAAQF,EAAKc,eACpBJ,EAAUV,EAAKc,YAAcnB,EAAM,GAAD,OAAIiB,GAAJ,OAAaZ,EAAKc,cAAiBnB,EAAM,GAAD,OAAIiB,GAAJ,OAAaZ,EAAKE,QAE1FF,EAAKa,SAEL,gBAAe/B,UAAWC,EAAAA,QAA1B,SACG2B,GADOxB,GAKV,mBAAmBiB,KAAKH,EAAKE,MAAQ,KAErC,eAAa3B,KAAMyB,EAAKE,KAAMhC,OAAO,UAArC,UACGwC,GACD,iBAAKpE,QAAQ,gBAAgBC,MAAO,GAApC,WACE,iBAAMO,EAAE,iUACR,iBAAMA,EAAE,mWAJJoC,IAUV,SAAC,KAAD,CAAmBjC,GAAI+C,EAAKE,MAAQ,GAAIa,SAAO,EAA/C,SACGL,GADWxB,EAIjB,QAIV,CC9DD,OAAgB,KAAO,oBAAoB,IAAM,mBAAmB,IAAM,mBAAmB,OAAS,sBAAsB,IAAM,mBAAmB,OAAS,uBCQjJ8B,EAA6B,CACxCC,OAAQ,MACRC,K,QAAAA,GAGWC,EAAU,SAACC,EAAqBC,GAC3C,OAAO,kBACFD,GACAC,EAEN,EAOYC,EAAeC,EAAAA,cAA6B,CACvDH,MAAOJ,EACPQ,SAAU,kBAAM,IAAN,I,UC1BZ,GACE1B,MACE,gBAAKvD,MAAM,KAAKC,OAAO,KAAKF,QAAQ,YAApC,UACE,eAAGM,KAAK,OAAOC,SAAS,UAAxB,WACE,iBAAMN,MAAM,KAAKC,OAAO,KAAKI,KAAK,UAAU6E,GAAG,OAC/C,iBAAMlF,MAAM,IAAIC,OAAO,KAAKkF,EAAE,IAAIC,EAAE,IAAI/E,KAAK,UAAU6E,GAAG,SAC1D,iBAAMlF,MAAM,KAAKC,OAAO,KAAKkF,EAAE,KAAKC,EAAE,IAAI/E,KAAK,OAAOgF,YAAY,OAAOH,GAAG,WAIlFI,SACE,gBAAKtF,MAAM,KAAKC,OAAO,KAAKF,QAAQ,YAApC,UACE,eAAGM,KAAK,OAAOC,SAAS,UAAxB,WACE,iBAAMN,MAAM,KAAKC,OAAO,KAAKI,KAAK,UAAU6E,GAAG,OAC/C,iBAAMlF,MAAM,KAAKC,OAAO,IAAIkF,EAAE,IAAIC,EAAE,IAAI/E,KAAK,UAAU6E,GAAG,SAC1D,iBAAMlF,MAAM,KAAKC,OAAO,KAAKkF,EAAE,IAAIC,EAAE,KAAK/E,KAAK,OAAOgF,YAAY,MAAMH,GAAG,WAIjFK,OACE,iBAAKhD,UAAU,OAAOvC,MAAM,KAAKC,OAAO,KAAKF,QAAQ,cAArD,WACE,2BACE,iBAAMyF,GAAG,IAAInF,KAAK,UAAUE,EAAE,kCAEhC,iBAAMF,KAAK,UAAUE,EAAE,qBACvB,gBAAKP,MAAM,KAAKC,OAAO,KAAKwF,UAAU,gCAAgCC,UAAU,QAChF,gBAAK1F,MAAM,KAAKC,OAAO,KAAKwF,UAAU,wCAAwCC,UAAU,QACxF,gBAAK1F,MAAM,KAAKC,OAAO,KAAKwF,UAAU,oCAAoCC,UAAU,QACpF,gBAAK1F,MAAM,KAAKC,OAAO,KAAKwF,UAAU,wCAAwCC,UAAU,QACxF,gBAAK1F,MAAM,KAAKC,OAAO,KAAKwF,UAAU,yCAAyCC,UAAU,WCnBhF,SAASC,IACtB,IAAQd,GAAUe,EAAAA,EAAAA,YAAWb,GAArBF,MACR,GAA2BxB,EAAAA,EAAAA,KAAhBD,EAAX,EAAQE,EAAUqB,EAAlB,EAAkBA,KAClB,GAAoCkB,EAAAA,EAAAA,UAAS,IAA7C,eAAOC,EAAP,KAAmBC,EAAnB,KAIMC,GAAmB1E,EAAAA,EAAAA,UAAQ,WAK/B,IALsC,IAAD,EAG/B2E,GAAa,UAAA7D,EAAAA,MAAU,SAAC8D,GAAD,MAAkB,gBAAXA,EAAEvC,IAAT,WAAV,eAA4CG,WAAY,GACrEqC,EAAS,GACNC,EAAI,EAAGA,EAAIH,EAAWI,OAAQD,IAAK,CAC1C,IAAME,EAAML,EAAWG,GACjBG,EAAQD,EAAIlC,KAClB,GAAIkC,EAAI3C,MAAQ4C,EAAMC,oBAAoBC,SAASX,EAAWU,qBAAsB,CAClF,IAAIrC,EAAUmC,EAAIlC,KACdC,EAASiC,EAAIhC,QARL,gBADP,6BAUDgC,EAAI3C,MAAQ2C,EAAI/B,eAClBJ,EAAUmC,EAAI/B,YAAcnB,EAAM,GAAD,OAAIiB,GAAJ,OAAaiC,EAAI/B,cAAiBnB,EAAM,GAAD,OAAIiB,GAAJ,OAAaiC,EAAI3C,QAE3F+C,QAAQC,IAAIxC,GACZ,IAAMV,EAAO,CAAE8C,MAAOpC,EAAS3C,MAAO8E,EAAI3C,MAAQ,IAClDwC,EAAOS,KAAKnD,EACb,CACF,CACD,OAAO0C,CACR,GAAE,CAACL,EAAY1C,IAUhB,OACE,UAAC,EAAAyD,SAAD,YACE,gBAAKtE,UAAW,CAACC,EAAAA,KAA8B,SAAjBqC,EAAMH,OAAoB,KAAOlC,EAAAA,KAAYsE,OAAOC,SAASC,KAAK,KAAKC,OAArG,UACE,UAAC,KAAD,CAAMvG,GAAG,IAAT,UACGwG,EAAAA,EAAAA,KACiB,QAAjBrC,EAAMH,SACL,mCACK,yBAAMxC,EAAAA,cAKjB,iBAAKK,UAAW,CAACC,EAAAA,IAA6B,SAAjBqC,EAAMH,OAAoB,KAAOlC,EAAAA,QAAesE,OAAOC,SAASC,KAAK,KAAKC,OAAvG,WACE,gBAAK/F,MAAO,CAAEiG,QAAS,QAAvB,SACG/E,EAAAA,KAAS,WAAoCO,GAAiB,IAAlDgB,EAAiD,EAAjDA,KAAYO,GAAqC,EAA3CE,KAA2C,EAArCF,MAAMK,EAA+B,EAA/BA,YACzB6C,OAAOC,KAAKpD,GAAKwC,SAASvC,KAC5BA,EAAQD,EAAYC,IAEtB,IAAIC,EAAwBf,EAAM,QAAD,OAAnBmB,GAA2DZ,IAKzE,GAJI,MAAMC,KAAKD,KACbQ,EAAUf,EAAM,QAAD,OAASO,KAGtB,oBAAoBC,KAAKD,GAC3B,MAAqB,QAAjBkB,EAAMH,QAEN,eAAa/C,OAAO,UAAUK,KAAM2B,EAAMpB,UAAWC,EAAAA,SAArD,UACG0B,EADH,KACS,0BAAOC,MADRxB,IAMV,SAAC,EAAA2E,QAAD,CACEC,WAAW,EAEXC,UAA4B,SAAjB3C,EAAMH,OAAoB,QAAU,SAC/C+C,SAAS,iBAAMvG,MAAO,CAAEwG,WAAY,UAA3B,SAAwCvD,IAJnD,UAME,cAAGxC,OAAO,UAAUK,KAAM2B,EAAMpB,UAAWC,EAAAA,SAA3C,SACG0B,KALEvB,GAUX,IAAIgF,EAAmC,CACrCC,MAAO,QAET,MAAqB,QAAjB/C,EAAMH,QAEN,UAAC,KAAD,CACEhE,GAAIiD,EAGJzC,MAAO,qBAAG2G,SAA2BF,OAAcG,CAA5C,EAJT,UAMG5D,EANH,KAMS,0BAAOC,MAJTxB,IAUT,SAAC,EAAA2E,QAAD,CACEC,WAAW,EAEXC,UAA4B,SAAjB3C,EAAMH,OAAoB,QAAU,SAC/C+C,SAAS,iBAAMvG,MAAO,CAAEwG,WAAY,UAA3B,SAAwCvD,IAJnD,UAME,SAAC,KAAD,CACEzD,GAAIiD,EAEJzC,MAAO,qBAAG2G,SAA2BF,OAAcG,CAA5C,EAHT,SAKG5D,KATEvB,EAaV,OAEH,SAAC,EAAAoF,aAAD,CACEC,KAAK,QACL9G,MAAO,CAAElB,MAAO,IAAKiI,IAAK,GAAId,QAAS,OAAQe,WAAY,SAAUC,WAAY,GACjFC,YAAY,2BACZC,YAAY,EACZC,SAvFa,SAACxC,GACpBC,EAAcD,EACf,EAsFOtE,MAAOsE,EACPK,OAAQH,EACRuC,SAAU,SAAC/G,GACM,IAAIkC,OAAJ,SAAoBE,KAAKpC,GAC5BM,OAAO0G,KAAKhH,GACnBM,OAAOC,SAASC,KAAhB,wBAAwCR,EAC9C,QAGL,iBAAKe,UAAW,CAACC,EAAAA,IAA6B,SAAjBqC,EAAMH,OAAoB,KAAOlC,EAAAA,QAAesE,OAAOC,SAASC,KAAK,KAAKC,OAAvG,WACE,oBAAQzF,MAAOmD,EAAK8D,SAAUhH,SAAU,SAACC,GAAD,OAtGvB,SAACA,GACtBiD,EAAK+D,eAAehH,EAAEC,OAAOH,MAC9B,CAoGoDkH,CAAehH,EAAtB,EAAxC,WACE,mBAAQF,MAAM,QAAd,uCACA,mBAAQA,MAAM,QAAd,yBAGF,SAAC,EAAA8F,QAAD,CAASE,UAA4B,SAAjB3C,EAAMH,OAAoB,QAAU,SAAU+C,QAAQ,uCAA1E,UACE,cAAGzF,KAAK,sBAAsB2G,IAAI,sBAAsBhH,OAAO,SAA/D,SACG4B,EAAAA,eASZ,CCrJD,IAAQqF,EAA2BC,EAAAA,OAAAA,OAAnBC,EAAmBD,EAAAA,OAAAA,MAAZE,EAAYF,EAAAA,OAAAA,QAKpB,SAASG,EAAW3H,GACjC,MAA6BA,EAArB4H,UAAAA,OAAR,SACQpE,GAAUe,EAAAA,EAAAA,YAAWb,GAArBF,MACR,OACE,SAAC,EAAAgE,OAAD,CAAQtG,UAAWC,EAAAA,OAAnB,SACoB,QAAjBqC,EAAMH,QACL,UAAC,EAAAmC,SAAD,YACE,SAAC,EAAAqC,MAAD,CAAOC,UAAW,EAAGjI,MAAO,CAAEkI,OAAQ,KAAtC,UACE,SAACR,EAAD,CAAQ1H,MAAO,CAAEiG,QAAS,OAAQe,WAAY,UAA9C,UACE,SAACvC,EAAD,SAGJ,UAAC,EAAAkD,OAAD,CAAQtG,UAAWC,EAAAA,WAAnB,WACE,SAACsG,EAAD,CAAO9I,MAAOiJ,EAAY,IAAM,EAAG1G,UAAWC,EAAAA,YAA9C,UACE,gBAAKtB,MAAO,CAAElB,MAAOiJ,EAAY,IAAM,EAAGhJ,OAAQ,sBAAlD,UACE,SAACiD,EAAD,SAGJ,SAAC6F,EAAD,CAAS7H,MAAO,CAAEmI,QAAS,IAAM9G,UAAWC,EAAAA,cAA5C,UACE,SAAC,KAAD,aAKN,UAAC,EAAAqE,SAAD,YACE,SAACiC,EAAD,CAAO9I,MAAOiJ,EAAY,IAAM,GAAhC,UACE,UAAC,EAAAJ,OAAD,CAAQtG,UAAWC,EAAAA,MAAnB,WACE,SAACsG,EAAD,CAAOvG,UAAWC,EAAAA,YAAoBxC,MAAO,GAA7C,UACE,SAAC2F,EAAD,OAEF,SAAC,EAAAkD,OAAD,CACE3H,MAAO,CACLoI,SAAU,QACVtJ,MAAOiJ,EAAY,IAAM,GACzBG,OAAQ,EACRG,KAAM,EACNtB,IAAK,EACLuB,OAAQ,EACRC,SAAU,QARd,UAWE,SAACV,EAAD,CAASxG,UAAWC,EAAAA,QAAgBtB,MAAO,CAAEwI,YAAa,IAA1D,UACE,SAACxG,EAAD,cAKR,UAAC,EAAA2F,OAAD,CAAQ3H,MAAO,CAAEoI,SAAU,YAA3B,WACE,SAACV,EAAD,CACE1H,MAAO,CACLjB,OAAQ,UACR0J,WAAY,OACZL,SAAU,WACVD,QAAS,WACTrJ,MAAO,OACPmH,QAAS,OACTyC,cAAe,MACfC,eAAgB,WAChBC,gBAAiB,cACjBV,OAAQ,IAXZ,UAcE,SAAC,EAAD,CAAehH,KAAMlC,OAEvB,SAAC6I,EAAD,CAAS7H,MAAO,CAAEmI,QAAS,IAAM9G,UAAWC,EAAAA,cAA5C,UACE,SAAC,KAAD,aAOb,CCjFD,IAAMuH,EAAW,SAACC,GAAD,OAAoB,SAAC3I,GAAD,OAEjC,SAAC,EAAA4I,SAAD,CAAUC,UAAU,SAAC,EAAD,IAApB,UACE,SAACF,GAAD,UAAe3I,KAHgB,CAApB,EAOX8I,EAAOJ,GAASK,EAAAA,EAAAA,OAAK,kBAAM,8BAAN,KACrBC,EAAaN,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAE3BE,EAAkBP,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KAChCG,EAAcR,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC5BI,EAAsBT,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACpCK,EAAWV,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KACzBM,EAAYX,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KAC1BO,EAAcZ,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KAC5BQ,EAAsBb,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAEpCS,EAAWd,GAASK,EAAAA,EAAAA,OAAK,kBAAM,6BAAN,KACzBU,EAASf,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACvBW,EAAQhB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACtBY,EAAWjB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACzBa,EAAWlB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,kFAAN,KACzBc,EAASnB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACvBlB,EAAQa,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACtBe,EAAWpB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACzBgB,EAAWrB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACzBiB,GAAWtB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KACzBkB,GAAkBvB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAChCmB,GAAWxB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACzBoB,GAAOzB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACrBqB,GAAW1B,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACzBsB,GAAe3B,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC7BxJ,GAASmJ,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACvBrJ,GAAOgJ,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACrBuB,GAAU5B,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACxBwB,GAAS7B,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KACvByB,GAAa9B,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC3B0B,GAAY/B,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC1B2B,GAAWhC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACzB4B,GAAQjC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACtB6B,GAAWlC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACzB8B,GAAanC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KAC3B+B,GAAUpC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACxBgC,GAAQrC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACtBiC,GAAStC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KACvBkC,GAAQvC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACtB7I,GAASwI,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACvBrC,GAAegC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC7BmC,GAAQxC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KACtBoC,GAASzC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACvBqC,GAAS1C,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACvBsC,GAAO3C,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACrBuC,GAAO5C,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACrBwC,GAAY7C,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC1ByC,GAAa9C,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC3B0C,GAAO/C,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACrBvB,GAASkB,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACvB2C,GAAShD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KACvB4C,GAAOjD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACrB6C,GAAclD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC5B8C,GAAanD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC3B+C,GAAWpD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACzBgD,GAAMrD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACpBiD,GAAOtD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACrB9C,GAAUyC,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACxBkD,GAAQvD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACtBmD,GAAaxD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC3BoD,GAAOzD,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACrBqD,GAAU1D,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACxBsD,GAAU3D,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACxBuD,GAAS5D,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACvBwD,GAAiB7D,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC/ByD,GAAU9D,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACxB0D,GAAU/D,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACxB2D,GAAchE,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC5B4D,GAAWjE,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACzB6D,GAAQlE,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACtB8D,GAAYnE,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KAC1B+D,GAAQpE,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACtBgE,GAAOrE,GAASK,EAAAA,EAAAA,OAAK,kBAAM,oFAAN,KACrBiE,GAAQtE,GAASK,EAAAA,EAAAA,OAAK,kBAAM,mFAAN,KAEfkE,GAAwB,CACnC,CACE3K,KAAM,cACN4K,SAAS,SAAC,EAAD,CAAYtF,WAAW,IAChCnF,SAAU,CACR,CAAE0K,OAAO,EAAMD,SAAS,SAAClE,EAAD,KACxB,CAAE1G,KAAM,IAAK4K,SAAS,SAAC9N,EAAD,OAG1B,CACEkD,KAAM,SACN4K,SAAS,SAAC,EAAD,IACTzK,SAAU,CACR,CAAE0K,OAAO,EAAMD,SAAS,SAACjE,EAAD,KACxB,CAAE3G,KAAM,qBAAsB4K,SAAS,SAACjE,EAAD,KACvC,CAAE3G,KAAM,gBAAiB4K,SAAS,SAAChE,EAAD,KAClC,CAAE5G,KAAM,0BAA2B4K,SAAS,SAAC/D,EAAD,KAC5C,CAAE7G,KAAM,aAAc4K,SAAS,SAAC9D,EAAD,KAC/B,CAAE9G,KAAM,gBAAiB4K,SAAS,SAAC5D,EAAD,KAClC,CAAEhH,KAAM,cAAe4K,SAAS,SAAC7D,EAAD,KAChC,CAAE/G,KAAM,wBAAyB4K,SAAS,SAAC3D,EAAD,KAC1C,CAAEjH,KAAM,IAAK4K,SAAS,SAAC9N,EAAD,OAG1B,CACEkD,KAAM,cACN4K,SAAS,SAAC,EAAD,IACTzK,SAAU,CACR,CAAE0K,OAAO,EAAMD,SAAS,SAAC1D,EAAD,KACxB,CAAElH,KAAM,uBAAwB4K,SAAS,SAAC1D,EAAD,KACzC,CAAElH,KAAM,qBAAsB4K,SAAS,SAACzD,EAAD,KACvC,CAAEnH,KAAM,wBAAyB4K,SAAS,SAACtD,EAAD,KAC1C,CAAEtH,KAAM,oBAAqB4K,SAAS,SAACxD,EAAD,KACtC,CAAEpH,KAAM,wBAAyB4K,SAAS,SAACvD,EAAD,KAC1C,CAAErH,KAAM,qBAAsB4K,SAAS,SAACrD,EAAD,KACvC,CAAEvH,KAAM,oBAAqB4K,SAAS,SAACrF,EAAD,KACtC,CAAEvF,KAAM,uBAAwB4K,SAAS,SAACpD,EAAD,KACzC,CAAExH,KAAM,uBAAwB4K,SAAS,SAAClD,GAAD,KACzC,CAAE1H,KAAM,gCAAiC4K,SAAS,SAACjD,GAAD,KAClD,CAAE3H,KAAM,uBAAwB4K,SAAS,SAAChD,GAAD,KACzC,CAAE5H,KAAM,mBAAoB4K,SAAS,SAAC/C,GAAD,KACrC,CAAE7H,KAAM,uBAAwB4K,SAAS,SAAC9C,GAAD,KACzC,CAAE9H,KAAM,uBAAwB4K,SAAS,SAACnD,EAAD,KACzC,CAAEzH,KAAM,2BAA4B4K,SAAS,SAAC7C,GAAD,KAC7C,CAAE/H,KAAM,qBAAsB4K,SAAS,SAAC3N,GAAD,KACvC,CAAE+C,KAAM,mBAAoB4K,SAAS,SAACxN,GAAD,KACrC,CAAE4C,KAAM,sBAAuB4K,SAAS,SAAC5C,GAAD,KACxC,CAAEhI,KAAM,qBAAsB4K,SAAS,SAAC3C,GAAD,KACvC,CAAEjI,KAAM,0BAA2B4K,SAAS,SAAC1C,GAAD,KAC5C,CAAElI,KAAM,yBAA0B4K,SAAS,SAACzC,GAAD,KAC3C,CAAEnI,KAAM,uBAAwB4K,SAAS,SAACxC,GAAD,KACzC,CAAEpI,KAAM,oBAAqB4K,SAAS,SAACvC,GAAD,KACtC,CAAErI,KAAM,uBAAwB4K,SAAS,SAACtC,GAAD,KACzC,CAAEtI,KAAM,yBAA0B4K,SAAS,SAACrC,GAAD,KAC3C,CAAEvI,KAAM,uBAAwB4K,SAAS,SAACpC,GAAD,KACzC,CAAExI,KAAM,oBAAqB4K,SAAS,SAACnC,GAAD,KACtC,CAAEzI,KAAM,qBAAsB4K,SAAS,SAAClC,GAAD,KACvC,CAAE1I,KAAM,oBAAqB4K,SAAS,SAACjC,GAAD,KACtC,CAAE3I,KAAM,qBAAsB4K,SAAS,SAAChN,GAAD,KACvC,CAAEoC,KAAM,4BAA6B4K,SAAS,SAACxG,GAAD,KAC9C,CAAEpE,KAAM,oBAAqB4K,SAAS,SAAChC,GAAD,KACtC,CAAE5I,KAAM,qBAAsB4K,SAAS,SAAC/B,GAAD,KACvC,CAAE7I,KAAM,qBAAsB4K,SAAS,SAAC9B,GAAD,KACvC,CAAE9I,KAAM,mBAAoB4K,SAAS,SAAC7B,GAAD,KACrC,CAAE/I,KAAM,mBAAoB4K,SAAS,SAAC5B,GAAD,KACrC,CAAEhJ,KAAM,yBAA0B4K,SAAS,SAAC3B,GAAD,KAC3C,CAAEjJ,KAAM,yBAA0B4K,SAAS,SAAC1B,GAAD,KAC3C,CAAElJ,KAAM,mBAAoB4K,SAAS,SAACzB,GAAD,KACrC,CAAEnJ,KAAM,qBAAsB4K,SAAS,SAAC1F,GAAD,KACvC,CAAElF,KAAM,qBAAsB4K,SAAS,SAACxB,GAAD,KACvC,CAAEpJ,KAAM,mBAAoB4K,SAAS,SAACvB,GAAD,KACrC,CAAErJ,KAAM,2BAA4B4K,SAAS,SAACtB,GAAD,KAC7C,CAAEtJ,KAAM,0BAA2B4K,SAAS,SAACrB,GAAD,KAC5C,CAAEvJ,KAAM,uBAAwB4K,SAAS,SAACpB,GAAD,KACzC,CAAExJ,KAAM,kBAAmB4K,SAAS,SAACnB,GAAD,KACpC,CAAEzJ,KAAM,mBAAoB4K,SAAS,SAAClB,GAAD,KACrC,CAAE1J,KAAM,sBAAuB4K,SAAS,SAACjH,GAAD,KACxC,CAAE3D,KAAM,oBAAqB4K,SAAS,SAACjB,GAAD,KACtC,CAAE3J,KAAM,0BAA2B4K,SAAS,SAAChB,GAAD,KAC5C,CAAE5J,KAAM,mBAAoB4K,SAAS,SAACf,GAAD,KACrC,CAAE7J,KAAM,sBAAuB4K,SAAS,SAACd,GAAD,KACxC,CAAE9J,KAAM,uBAAwB4K,SAAS,SAACb,GAAD,KACzC,CAAE/J,KAAM,qBAAsB4K,SAAS,SAACZ,GAAD,KACvC,CAAEhK,KAAM,8BAA+B4K,SAAS,SAACX,GAAD,KAChD,CAAEjK,KAAM,sBAAuB4K,SAAS,SAACV,GAAD,KACxC,CAAElK,KAAM,sBAAuB4K,SAAS,SAACT,GAAD,KACxC,CAAEnK,KAAM,2BAA4B4K,SAAS,SAACR,GAAD,KAC7C,CAAEpK,KAAM,uBAAwB4K,SAAS,SAACP,GAAD,KACzC,CAAErK,KAAM,oBAAqB4K,SAAS,SAACN,GAAD,KACtC,CAAEtK,KAAM,wBAAyB4K,SAAS,SAACL,GAAD,KAC1C,CAAEvK,KAAM,oBAAqB4K,SAAS,SAACJ,GAAD,KACtC,CAAExK,KAAM,mBAAoB4K,SAAS,SAACH,GAAD,KACrC,CAAEzK,KAAM,oBAAqB4K,SAAS,SAACF,GAAD,KACtC,CAAE1K,KAAM,IAAK4K,SAAS,SAAC9N,EAAD,OAY1B,CACEkD,KAAM,IACN4K,SAAS,SAACpE,EAAD,MC5LPsE,GAAM,kBAAMC,EAAAA,EAAAA,IAAUJ,GAAhB,EAECK,GAAW,SAAC,GAAiD,IAA/C7K,EAA8C,EAA9CA,SACzB,GAA0B8K,EAAAA,EAAAA,YAAWhK,EAASH,GAA9C,eAAOI,EAAP,KAAcI,EAAd,KACA,OAAO,SAACF,EAAa4J,SAAd,CAAuBnN,MAAO,CAAEqD,MAAAA,EAAOI,SAAAA,GAAvC,SAAoDnB,GAC5D,EAED+K,EAAAA,WAAoBC,SAASC,eAAe,SAAUC,QACpD,SAAC,KAAD,WACE,SAACL,GAAD,WACE,SAACF,GAAD,Q,mGCZN9J,EAAAA,GAAAA,IACOsK,EAAAA,GACJC,IAAIC,EAAAA,GACJD,IAAIE,EAAAA,IACJC,KAAK,CAGJC,YAAa,QACbC,KAAM,cACNC,UAAW,CACTC,OAAQ,CAAC,eAAgB,iBAAkB,WAE7CC,QAAS,CAEPC,SAAS,GAAD,OAAKC,4BAAL,mCAId,IAAMC,EAAS,QAIf,IAAelL,EAAf,E,q0bCpBO,SAASmL,EAAUnO,EAAqCsG,GAC7D,GAAsB,qBAAXnG,OACT,OAAO,EAGT,IACMiO,EAAS9H,EAAM,YAAc,aAC7B+H,EAAoBrO,IAAWG,OAEjCmO,EAAMD,EAAYrO,EAJTsG,EAAM,cAAgB,eAIctG,EAAuBoO,GAKxE,OAJIC,GAA2B,kBAARC,IACrBA,EAAMnB,SAASoB,gBAAgBH,IAG1BE,CACR,CCvBM,SAASE,IAAS,C,oBCkDZC,EAAuB,SAClCC,EACAC,GAEA,IAAQC,EAAwBF,EAAxBE,aAAcC,EAAUH,EAAVG,MACtB,GAAIF,EAAO,CACT,IAAM7N,GAAiB8N,GAAgB,CAAC,GAASD,GAC3C9O,GAAUgP,GAAS,CAAC,GAASF,GACnC,OAAI9O,GAA0B,kBAAVA,EACXA,EAEFiB,CACR,CACD,MAAO,EAbF,EAoCMgO,EACXpP,SAAAA,GAEA,IAAQyC,EAAyEzC,EAAzEyC,SAAU4M,EAA+DrP,EAA/DqP,OAAlB,EAAiFrP,EAAvDsP,iBAAAA,OAA1B,SAA8DC,EAAmBvP,EAA9BkB,UACnD,GAAIyC,EAAAA,eAAqBlB,GAAW,CAClC,MAAgD4M,GAAU,CAAC,EAA3D,IAAQnO,UAAWsO,OAAnB,MAAgC,GAAhC,EAAuCC,GAAvC,YACMC,GAAqB,MAARjN,OAAAA,EAAAA,EAAUzC,QAAS,CAAC,EACjCkB,GAAsB,MAAVwO,OAAAA,EAAAA,EAAYxO,YAAa,GAErCyO,EAAM,CADGL,EAAmBpO,EAAY,IAE3C0O,OAAO,CAACJ,IACRI,OAAO,CAACL,IACR9J,QAAQoK,SAAAA,GAAD,OAASA,GAAOA,EAAIjK,MAApB,IACPD,KAAK,KACR,OAAOhC,EAAAA,aAAmBlB,GAAnBkB,EAAAA,EAAAA,GAAAA,CAAAA,EAAmC+L,GAAc,CAAC,EAAOD,EAAzD,CAA+DvO,UAAWyO,IAClF,CACD,OAAOhM,EAAAA,cAAoBA,EAAAA,SAAgB,CAAElB,SAAAA,GAhBxC,EC9EMqN,EAAY,SAAC5C,EAAsB5M,GAC9C,IAAMyP,EAAW7C,EAAQ8C,wBACnBC,EARsB3P,SAAAA,GAC5B,OAAOA,IAAWG,OACbH,EAAuB0P,wBACvB,CAAEpJ,IAAK,EAAGsB,KAAM,EAAGC,OAAQ,EAH3B,CAQc+H,CAAc5P,GAC3B6P,EAAY1B,EAAUnO,GAAQ,GAC9B8P,EAAa3B,EAAUnO,GAEvB+P,EAAU5P,OAAOgN,SAAS6C,KAC1BC,EAAYF,EAAQE,WAAa,EACjCC,EAAaH,EAAQG,YAAc,EAEzC,MAAO,CACL5J,IAAKmJ,EAASnJ,IAAMqJ,EAAWrJ,IAAMuJ,EAAYI,EACjDrI,KAAM6H,EAAS7H,KAAO+H,EAAW/H,KAAOkI,EAAaI,EACrD7R,MAAOoR,EAASpR,MAChBC,OAAQmR,EAASnR,OAdd,EAkBM6R,EAAmB,iBAAyB,qBAAXhQ,OAAyBA,OAAS,IAAhD,E,gGCDXoH,EAAAA,SAAAA,I,6BAcnB6I,SAAAA,EAAY1Q,GAAkC,6BAC5C,cAAMA,IAVDwD,MAAoB,CACzBmN,sBAAkBlK,EAClBmK,gBAAYnK,GAOgC,EALtCoK,SAKsC,IAJtCvQ,YAIsC,IAH7BwQ,OAAS,CAAC,SAAU,SAAU,aAAc,YAAa,WAAY,WAAY,QAGpD,EAFtCC,cAAqC,CAAC,EAEA,EADtCC,aACsC,IAuF9CC,YAAeC,SAAAA,GACTA,IACF,EAAKL,IAAMK,EAzF+B,EAE5C,EAAKC,eAAiB,EAAKA,eAAeC,MAApB,WAFsB,CAG7C,C,gDACDC,WAAoB,WACZ/Q,EAASgR,KAAKtR,MAAMM,QAAUmQ,EAEpCa,KAAKN,QAAUvQ,OAAO8Q,YAAW,WAC/B,EAAKjR,OAASA,IACd,EAAKkR,yBAFQ,GAIhB,G,kCACDC,WACEH,KAAKI,sBACLC,aAAaL,KAAKN,QACnB,G,4BACDG,WACE,IAAMrJ,EAAcwJ,KAAKtR,MAAnB8H,UACE8J,EAAiBN,KAAKtR,MAAtB4R,aACR,GAAKN,KAAKT,KAAQS,KAAKT,IAAIgB,aAA3B,CAIA,IAAMC,EAAW,CACfnT,MAAO2S,KAAKT,IAAIkB,YAChBnT,OAAQ0S,KAAKT,IAAImB,cAEbC,EAAa,CAAErL,KAAK,EAAMuB,QAAQ,GACf,kBAAdL,GAAkD,kBAAjB8J,IAC1CK,EAAWrL,KAAM,EACjBkB,EAAY,GAGc,kBAAjB8J,IACTK,EAAWrL,KAAM,EACjBqL,EAAW9J,QAAS,GAGtB,IAAM+J,EAAapC,EAAUwB,KAAKT,IAAKS,KAAKhR,QACtCuQ,EAAMS,KAAKT,IAAIb,wBACf7H,EAASsF,SAASoB,gBAAgBmD,aAAenB,EAAI9M,EAAImO,EAAWtT,OAEtEqT,EAAWrL,KAAOiK,EAAI9M,EAAI,GAC5BuN,KAAKa,qBAAL,UAA8BL,IAC9BR,KAAKc,cAAc,CACjBnK,SAAU,QACVrB,IAAKkB,GAAa,EAClBI,KAAMgK,EAAWhK,KACjBvJ,MAAOuT,EAAWvT,SAEXsT,EAAW9J,QAAUA,EAAS,GACvCmJ,KAAKa,qBAAL,UAA8BL,IAC9BR,KAAKc,cAAc,CACjBnK,SAAU,QACVE,OAAQyJ,GAAgB,EACxB1J,KAAMgK,EAAWhK,KACjBvJ,MAAOuT,EAAWvT,UAGpB2S,KAAKa,sBACLb,KAAKc,gBAvCN,CAyCF,G,2BACDA,SAAcxB,GACZ,IAAQxQ,EAAakR,KAAKtR,MAAlBI,SACFiS,IAAYf,KAAK9N,MAAMoN,WAC7BU,KAAKgB,SAAS,CAAE1B,WAAAA,IAAc,WAC5BxQ,GAAYA,EAASiS,EADvB,GAGD,G,iCACDF,SAAoBxB,GAClBW,KAAKgB,SAAS,CAAE3B,iBAAAA,GArFuD,G,qCAwFzEa,WAA0B,WACxBF,KAAKI,sBACLJ,KAAKR,OAAOyB,SAASC,SAAAA,GACnB,EAAKzB,cAAcyB,GAAa,EAAKrB,eACrC,EAAK7Q,QAAU,EAAKA,OAAOmS,iBAAiBD,EAAW,EAAKrB,gBAAgB,EAF9E,GAID,G,iCACDO,WAAsB,WACpBJ,KAAKR,OAAOyB,SAASC,SAAAA,GACnB,IAAME,EAAU,EAAK3B,cAAcyB,GACnC,EAAKlS,QAAU,EAAKA,OAAOqS,oBAAoBH,EAAWE,GAAS,EAFrE,GAID,G,oBAMM/E,WACL,MAAqG2D,KAAKtR,MAAlG4S,EAAR,EAAQA,UAAW1R,EAAnB,EAAmBA,UAAWuB,EAA9B,EAA8BA,SAAwDoQ,GAAtF,YACMlD,EAAM,CAACzO,EAAW0R,GAAWnN,OAAOC,SAASC,KAAK,KAAKC,OAC7D,OACEkN,EAAAA,EAAAA,KAAAA,OAAAA,EAAAA,EAAAA,GAAAA,CAAAA,EAASD,EAAT,CAAqBE,IAAKzB,KAAKL,YAAapR,OAAK,UAAOyR,KAAK9N,MAAMmN,iBAAqBW,KAAKtR,MAAMH,OAAnG4C,UACEqQ,EAAAA,EAAAA,KAAAA,MAAAA,CAAK5R,UAAWyO,EAAK9P,MAAOyR,KAAK9N,MAAMoN,WAAvCnO,SACGA,MAIR,K,EApHkBoF,CAAclE,EAAAA,WAAdkE,EACLmL,aAA2B,CACvCJ,UAAW,UACXxS,SAAU0O,G,sDCzBDmE,IAAiC,qBAAXxS,SAA0BA,OAAOgN,WAAYhN,OAAOgN,SAASyF,eAkBjF,SAAS5G,EAAOtM,GAC7B,IAAQmT,EAAcnT,EAAdmT,UACFC,GAAcC,EAAAA,EAAAA,UACdC,GAAeD,EAAAA,EAAAA,QAAgCF,GAWrD,OATAI,EAAAA,EAAAA,YAAU,WACR,OAAO,WACDH,EAAYI,SAAWF,EAAaE,UACtCF,EAAaE,QAAQC,YAAYL,EAAYI,SAC7CJ,EAAYI,aAAU/M,EAH1B,CADO,GAON,IAEEwM,GAGAK,EAAaE,UAChBF,EAAaE,QAAU/F,SAAS6C,MAE7B8C,EAAYI,UACfJ,EAAYI,QAAU/F,SAASyF,cAAc,OAC7CI,EAAaE,QAAQE,YAAYN,EAAYI,UAExChG,EAAAA,aAAsBxN,EAAMyC,SAAU2Q,EAAYI,UAThD,IAUV,C,wCCzCYG,EAAoB,CAC/BC,+BAAgC,yBAgBrBC,EAAcC,EAAAA,GAAAA,KAAHC,IAAAA,GAAAA,EAAAA,EAAAA,GAAAA,CAAAA,4JAUXC,EAAgBF,EAAAA,GAAAA,IAAHG,IAAAA,GAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2PAiBbC,EAAeJ,EAAAA,GAAAA,IAAHK,IAAAA,GAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8HAAAA,mDAQFnU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcyE,IAAqB,iCADlD,IAMTS,EAAcN,EAAAA,GAAAA,IAAHO,IAAAA,GAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACnBrU,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,IAAD,6uCAkBEtU,EAAMuU,YACRD,EAAAA,EAAAA,IADE,sDAKCtU,EAAMkG,YACToO,EAAAA,EAAAA,IADE,sLAIEN,EAGAE,GAKFlU,EAAMwU,SACRF,EAAAA,EAAAA,IADE,qDAKkBJ,EAGOA,EAIRA,EAGOA,EAINL,EAIOA,EAKRA,EAKOA,EApE1B,I,wSCvBW,SAASzH,EAAQpM,GAC9B,IACEkB,EA0BElB,EA1BFkB,UACArB,EAyBEG,EAzBFH,MAFF,GA2BIG,EAxBFwU,OAwBExU,EAvBF4S,WAAAA,OAJF,MAIc,YAJd,IA2BI5S,EAtBFkG,UAAAA,OALF,WA2BIlG,EArBFyU,aAAAA,OANF,WA2BIzU,EApBF0U,cAAAA,OAPF,MAOkB,CAAC,EAPnB,IA2BI1U,EAnBF2U,YAAAA,OARF,MAQgB,CAAC,EARjB,IA2BI3U,EAlBF4U,YAAAA,OATF,WA2BI5U,EAjBF6U,cAAAA,OAVF,WA2BI7U,EAhBFgR,QAAAA,OAXF,MAWY,IAXZ,IA2BIhR,EAfF8U,eAAAA,OAZF,MAYmB,YAZnB,IA2BI9U,EAbF+U,UAAAA,OAdF,MAccjG,EAdd,IA2BI9O,EAZFgV,SAAAA,OAfF,MAealG,EAfb,IA2BI9O,EAXFiV,UAAAA,OAhBF,MAgBcnG,EAhBd,IA2BI9O,EAVFkV,SAAAA,OAjBF,MAiBapG,EAjBb,IA2BI9O,EATFmV,QAAAA,OAlBF,MAkBYrG,EAlBZ,IA2BI9O,EARFoV,QAAAA,OAnBF,MAmBYtG,EAnBZ,IA2BI9O,EAPFqV,UAAAA,OApBF,MAoBcvG,EApBd,IA2BI9O,EANFsV,WAAAA,OArBF,MAqBexG,EArBf,IA2BI9O,EALFuV,UAAAA,OAtBF,MAsBczG,EAtBd,IA2BI9O,EAJFwV,OAAAA,QAvBF,MAuBW1G,EAvBX,EAwBErM,GAGEzC,EAHFyC,SAxBF,GA2BIzC,EAFFyV,YAAAA,QAzBF,OAyBgB,CAAC,EAzBjB,GA0BKC,IA1BL,OA2BI1V,EA3BJ,GA6BA,IAA4BwE,EAAAA,EAAAA,YAA5B,iBAAOgQ,GAAP,MAAemB,GAAf,MAEA,IAA8BnR,EAAAA,EAAAA,WAAS,GAAvC,iBAAOoR,GAAP,MAAgBC,GAAhB,MACM1C,IAAYE,EAAAA,EAAAA,QAAuB,MACnCyC,IAAUzC,EAAAA,EAAAA,QAAO,OACvBE,EAAAA,EAAAA,YAAU,WACJiB,KAAWxU,EAAMwU,QAAUxU,EAAMwU,QACnCqB,IAAW,GAETrB,KAAWxU,EAAMwU,QAAWxU,EAAMwU,SACpCuB,KACAJ,IAAU,GANL,GAQN,CAAC3V,EAAMwU,UAEVjB,EAAAA,EAAAA,YAAU,WACJqC,KAsCAhB,GAAe1O,GACjBuH,SAAS6C,KAAK0F,UAAUC,IAAOrD,EAA/B,SArCA+C,IAAU,GAHL,GAKN,CAACC,KAEJ,IAAMM,GACgB,kBAAbzT,IACL0T,EAAAA,EAAAA,eAAarD,EAAAA,EAAAA,KAACe,EAAD,CAAauC,GAAIhH,EAAjB3M,SAA2CA,MAA5C,UACPgT,GADO,CAEV5V,OAAO,UAAK4C,GAASzC,MAAMH,MAAU4V,GAAY5V,OACjDqB,UAAW,CAACuB,GAASzC,MAAMkB,UAAc0R,EAA9B,YAAmDnN,OAAOC,SAASC,KAAK,KAAKC,OACxFyQ,SAAU,MAGZvD,EAAAA,EAAAA,KAACe,GAAD,UAAiB4B,GAAjB,CAA8BvU,UAAc0R,EAAL,WAAvCnQ,SACGA,MASP,SAAS6T,GAAwBjW,GAC3BA,EAAEC,SAAW6S,GAAUK,SAAWtN,IAGlCuO,GAAgBG,IAClBmB,KACAJ,IAAU,GACVR,GAAWA,EAAQ9U,IAErBqU,GAAiBA,EAAc6B,aAAe7B,EAAc6B,YAAYlW,GACzE,CAQD,SAAS0V,KACHnB,GAAe1O,GACjBuH,SAAS6C,KAAK0F,UAAUQ,OAAU5D,EAAlC,QAKH,CACD,QAA0BpO,EAAAA,EAAAA,eAAqBiC,GAA/C,iBAAO1E,GAAP,MAAc0U,GAAd,MAEMC,IACJ5D,EAAAA,EAAAA,KAAC6D,EAAAA,GAAD,QAEEC,WAAY9B,EACZD,cAAeA,EACf7D,QAASA,EACT6F,GAAIrC,GACJY,QAAU0B,SAAAA,GACR1B,EAAQU,GAAQtC,QAAUsD,EAP9B,EASExB,WAAawB,SAAAA,GACXL,GAAS,eACT1B,EAAUe,GAAQtC,QAAUsD,GAC5BxB,EAAWQ,GAAQtC,QAZvB,EAcE+B,UAAYuB,SAAAA,GACV9B,EAASc,GAAQtC,QAAUsD,GAC3BvB,EAAUO,GAAQtC,QAhBtB,EAkBE6B,UAAW,WACToB,GAAS,cACTxB,EAAUa,GAAQtC,SAClB6B,EAAUS,GAAQtC,QArBtB,EAuBEuD,SAAU,WAzDd,IAAsB7F,EA0DhBuF,GAAS,QA1DOvF,EA2DH4E,GAAQtC,QA1DzBqC,IAAW,GACXX,GAAYA,EAAShE,GA0DjBsE,GAAOM,GAAQtC,QA1BnB,EA4BEwD,QAASlB,IACLJ,GA7BN,CAAAjT,SA+BIwU,SAAAA,GACA,OACEC,EAAAA,EAAAA,MAAC9C,EAAD,CACEvU,MAAOA,EACPkT,IAAK+C,GACL5P,UAAWA,EACX+Q,OAAQA,EACRzC,OAAQA,GACRzS,MAAOA,GACPwS,UAAWqB,IAAWhB,GAAe1O,EACrChF,UAAW,CACT0R,EACA1R,EACCgF,EAAoC,KAArB0M,EAAhB,UACA4B,GAAY5B,EAAN,cAA+B,MAEpCnN,OAAOC,SACPC,KAAK,KACLC,OAhBLnD,SAAAA,CAkBGmS,IACCuB,EAAAA,EAAAA,eAAarD,EAAAA,EAAAA,KAACoB,EAAD,KAAD,UACPQ,EADO,CAEV3S,MAAAA,GACAwU,YAAaD,GACbpV,UAAW,CAAI0R,EAAJ,YAA0B8B,EAAcxT,WAAWuE,OAAOC,SAASC,KAAK,KAAKC,OACxFyQ,SAAU5B,EAAe,EAAI,QAEhCvO,GACC4M,EAAAA,EAAAA,KAACkB,EAAD,CAAejB,IAAKI,GAAWoD,YAAaD,GAAyBpV,UAAc0R,EAAL,aAA9EnQ,UACG0T,EAAAA,EAAAA,cAAaD,GAAgB,CAAE,cAAee,OAGjDd,EAAAA,EAAAA,cAAaD,GAAgB,CAAE,cAAee,MAIrD,KAGL,OAAIrB,IAAW1P,GACN4M,EAAAA,EAAAA,KAACxG,GAAD,qBAAiBqI,GAAjB,CAAAlS,SAAiCiU,MAEjCA,EAEV,C,kECtNKS,IAAgBC,EAAAA,EAAAA,IAAH,kHAmBNC,GAAgBvD,EAAAA,GAAAA,KAAHG,IAAAA,GAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mNAAAA,OAAAA,SAYrBjU,SAAAA,GAAD,aACyB,aAAxBA,EAAMF,eAAgE,cAAhC,SAAAE,EAAMsX,aAAN,IAAcxX,kBACrDwU,EAAAA,EAAAA,IADC,OAAD,yCAbsB,IAiBrBtU,SAAAA,GAAD,aACCA,EAAMJ,OAAN,OAAAI,EAAcA,EAAMsX,aAApB,EAAcC,EAAc3X,SAC7B0U,EAAAA,EAAAA,IADC,OAAD,wFAGiB6C,GArBK,I,6ECCX,SAASzX,GAAmCM,GACzD,IACEkB,EAQElB,EARFkB,UADF,EASIlB,EAPF4S,UAAAA,OAFF,MAEc,SAFd,IASI5S,EANFF,cAAAA,OAHF,MAGkB,SAHlB,IASIE,EALFwX,QAASC,OAJX,MAIqB,OAJrB,EAKElR,EAIEvG,EAJFuG,MACA5G,EAGEK,EAHFL,KANF,EASIK,EAFFJ,KAAAA,OAPF,SAQK8X,GARL,OASI1X,EATJ,IAWI2X,EAAM,KACV,GAAoB,kBAAThY,EACTgY,GACE7E,EAAAA,EAAAA,KAAAA,MAAAA,CAAK9T,KAAMuH,EAAO7H,QAAQ,YAA1B+D,UACImV,GAASjY,IAAS,IAAI0B,KAAI,SAACnC,EAAG6F,GAAJ,OAC1B+N,EAAAA,EAAAA,KAAAA,OAAAA,CAAc5T,EAAGA,EAAGD,SAAS,WAAlB8F,EADe,UAK3B,KAAIpB,EAAAA,eAAqBhE,GAK9B,OAAO,KAJPgY,EAAMhU,EAAAA,aAAmBhE,EAAM,CAC7BX,KAAMuH,GAIT,CACDmR,EAAO7X,OAAP6X,EAAAA,EAAAA,GAAAA,CAAiB1Y,KAAM,gBAAmB0Y,EAAO7X,OACjD,IAAMgY,GAAS,UACVH,EADO,CAEVxW,UAAW,CACT0R,EACA1R,EACA0R,GAAa9S,EAAmB8S,EAAhC,IAA6C9S,EAAkB,KAC/DF,GAAQgT,EAAeA,EAAvB,QAA0C,MAEzCnN,OAAOC,SACPC,KAAK,KACLC,SAEL,OAAOjC,EAAAA,cAAoB0T,IAApB1T,EAAAA,EAAAA,GAAAA,CAAAA,EAAwCkU,EAAxC,CAAgD/X,cAAAA,EAAeF,KAAAA,EAAMwW,GAAIqB,IAAkBE,EACnG,CCjDM,I,gDAAMG,GAAe,SAACjY,EAAekY,EAAkBC,EAAeC,GAM3E,OALY3D,EAAAA,EAAAA,IAAH,oDACLyD,GAAeA,EAAP,IAAmBlY,EAAnB,IACRmY,GAAOC,GAAeA,EAAtB,IAAkCpY,EAAlC,IACAmY,IAAQC,GAAYpY,EAJnB,EASMqY,GAAiBlJ,SAAAA,GAC5B,IAAQrP,EAAgBqP,EAAhBrP,KACR,EADwBqP,EAAVmJ,OACsC,CAAC,EAA7CC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,MAAOC,EAAtB,EAAsBA,OAAQC,EAA9B,EAA8BA,SAExBhS,EAAQwI,EAAqBC,EAAD,QAAkBrP,GAC9C8I,EAAkBsG,EAAqBC,EAAD,kBAA4BrP,GAClE6Y,EAAuBzJ,EAAqBC,EAAD,kBAA4BrP,EAA5B,SAC3C8Y,EAAsB1J,EAAqBC,EAAD,iBAA2BrP,EAA3B,SAC1C+Y,EAAwB3J,EAAqBC,EAAD,kBAA4BrP,EAA5B,UAC5CgZ,EAA0B5J,EAAqBC,EAAD,kBAA4BrP,EAA5B,YAC9CiZ,EAAsB7J,EAAqBC,EAAD,iBAA2BrP,EAA3B,SAC1CkZ,EAA4B9J,EAAqBC,EAAD,kBAA4BrP,EAA5B,cAChDmZ,EAAqB/J,EAAqBC,EAAD,QAAkBrP,EAAlB,iBACzCoZ,EAA6BhK,EAAqBC,EAAD,kBAA4BrP,EAA5B,eAEvD,OAAO2U,EAAAA,EAAAA,IAAP,8RACW/N,EACWkC,EAGE+P,EAGpBV,GAAa,qDAGYW,EAHb,cAKZ,UACAJ,GAEAP,GAAa,kBAEJvR,EAFG,8BAGQmS,EAHR,uCAMZ,YACAJ,GAIoBK,EAGpBb,GAAa,6BAEOa,EAFR,2BAKZ,eACAJ,GAEAH,IACF9D,EAAAA,EAAAA,IADO,kQAIuBsE,EACjBnQ,EAEaoQ,EAEpBf,GAAa,sBAEJrP,EAFG,kCAGQsQ,EAHR,4DAMZ,YACAT,GAEAR,GAAa,2EAGJgB,EAHG,gBAKZ,cACAP,IA7EH,EAyLMS,GAAiBhZ,SAAAA,GAC5B,OAAOsU,EAAAA,EAAAA,IAAP,8CACI,wBACA,SAAAtU,EAAMmY,YAAN,IAAac,UACQ,UAArBjZ,EAAMmY,MAAMxY,OACZ2U,EAAAA,EAAAA,IAFA,oGAI0B,kBAAMvF,EAAqB/O,EAAO,iCAAlC,GAN9B,IASI,wBACA,SAAAA,EAAMmY,YAAN,IAAac,WACb3E,EAAAA,EAAAA,IADA,wlBAQ0B,kBAAMvF,EAAqB/O,EAAO,2BAAlC,IACb,kBAAM+O,EAAqB/O,EAAO,2BAAlC,GAnBjB,GADK,EA+CDkZ,GAAU,SAAClZ,EAA6BL,GAC5C,IAAMwZ,EAAWpK,EAAqB/O,EAAD,WAAmBL,GAClDyZ,EAAYrK,EAAqB/O,EAAD,kBAA0BL,GAEhE,OAdwB,SAACwZ,EAAkBE,EAAkB/Q,EAA6B8Q,GAC1F,OAAO9E,EAAAA,EAAAA,IAAP,sIACe6E,EACE7Q,EACD8Q,EACZ/B,GACagC,EANZ,CAcEC,CAAW,GAAGH,EAAJ,GADIpK,EAAqB/O,EAAD,qBAA6BL,GAClBwZ,EAAnC,GAAgDC,EAJnE,EAuBaG,GAAqBvZ,SAAAA,GAChC,OAAOsU,EAAAA,EAAAA,IAAP,0IACI+C,IACa,kBAAMtI,EAAqB/O,EAAO,6BAAlC,IAEb,kBArBwBA,SAAAA,GAE5B,QADiBA,EAAMmY,OAAS,CAAC,GAAzBxR,MAEN,IAAK,QACH,OAAOuS,GAAQlZ,EAAO,SACxB,IAAK,QACH,OAAOsU,EAAAA,EAAAA,IAAP,8FAEevF,EAAqB/O,EAAO,wBACvCkZ,GAAQlZ,EAAO,UAErB,QACE,OAAOsU,EAAAA,EAAAA,IAAP,wBAZC,CAqBKkF,CAAcxZ,EAApB,GACAqX,GANC,ECpRMoC,GAAmB,CAC9BC,qBAAsB,OAEtBC,cAAe,OACfC,gBAAiB,OACjBC,cAAe,OAEfC,qBAAsB,OACtBC,uBAAwB,OACxBC,qBAAsB,OAEtBC,wBAAyB,OACzBC,2BAA4B,OAC5BC,wBAAyB,OAEzBC,+BAAgC,UAChCC,yBAA0B,OAI1BC,aAAc,OACdC,uBAAwB,UACxBC,4BAA6B,UAC7BC,2BAA4B,0BAC5BC,6BAA8B,UAC9BC,+BAAgC,UAChCC,2BAA4B,OAC5BC,iCAAkC,UAClCC,0BAA2B,UAC3BC,kCAAmC,UAGnCC,aAAc,OACdC,uBAAwB,UACxBC,4BAA6B,UAC7BC,2BAA4B,0BAC5BC,6BAA8B,UAC9BC,+BAAgC,UAChCC,2BAA4B,OAC5BC,iCAAkC,UAClCC,0BAA2B,UAC3BC,kCAAmC,UAGnCC,aAAc,OACdC,uBAAwB,UACxBC,4BAA6B,UAC7BC,2BAA4B,0BAC5BC,6BAA8B,UAC9BC,+BAAgC,UAChCC,2BAA4B,OAC5BC,iCAAkC,UAClCC,0BAA2B,UAC3BC,kCAAmC,UAGnCC,WAAY,OACZC,qBAAsB,UACtBC,0BAA2B,UAC3BC,yBAA0B,0BAC1BC,2BAA4B,UAC5BC,6BAA8B,UAC9BC,yBAA0B,OAC1BC,+BAAgC,UAChCC,wBAAyB,UACzBC,gCAAiC,UAGjCC,WAAY,UACZC,qBAAsB,UACtBC,0BAA2B,UAC3BC,yBAA0B,4BAC1BC,2BAA4B,UAC5BC,6BAA8B,UAC9BC,yBAA0B,OAC1BC,+BAAgC,UAChCC,wBAAyB,UACzBC,gBAAiB,UACjBC,gCAAiC,UAEjCC,2BAA4B,sBAC5BC,qBAAsB,qBAGtBC,UAAW,OACXC,oBAAqB,UACrBC,yBAA0B,UAC1BC,wBAAyB,yBACzBC,0BAA2B,UAC3BC,4BAA6B,UAC7BC,wBAAyB,OACzBC,8BAA+B,UAC/BC,uBAAwB,UACxBC,+BAAgC,UAGhCC,UAAW,UACXC,eAAgB,UAChBC,oBAAqB,cACrBC,yBAA0B,mBAC1BC,wBAAyB,mBACzBC,0BAA2B,mBAC3BC,4BAA6B,sBAC7BC,wBAAyB,OACzBC,8BAA+B,yBAC/BC,uBAAwB,sBACxBC,+BAAgC,sBAChCC,qBAAsB,UACtBC,2BAA4B,WAiBxBC,GAAkBpL,EAAAA,GAAAA,OAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,oUAAAA,mBAAAA,mBAAAA,oBAAAA,sCAAAA,0JAAAA,OAAAA,yDAcH/T,SAAAA,GAAD,OAAW+O,EAAqB/O,EAAO,kBAAvC,IACDA,SAAAA,GAAD,OAAW+O,EAAqB/O,EAAO,kBAAvC,IACCA,SAAAA,GAAD,OAAW+O,EAAqB/O,EAAO,yBAAvC,IACEA,SAAAA,GAAD,OAAW+O,EAAqB/O,EAAO,yBAAvC,IAEJA,SAAAA,GAAD,OAAW+O,EAAqB/O,EAAO,uBAAvC,IAQNA,SAAAA,GAAD,aACA,SAAAA,EAAMmY,YAAN,IAAagH,SACb7K,EAAAA,EAAAA,IADA,kJA5BiB,IAsChBtU,SAAAA,GAAD,aACA,SAAAA,EAAMmY,YAAN,IAAaI,YACbjE,EAAAA,EAAAA,IADA,yDAvCiB,IA+Cf8K,IAAyBtL,EAAAA,EAAAA,IAAOoL,GAAPpL,CAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACvBrU,SAAAA,GAAD,OAAWkY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,YAA3C,IAEE0f,IAAyBvL,EAAAA,EAAAA,IAAOoL,GAAPpL,CAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACvBtf,SAAAA,GAAD,OAAWkY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,YAA3C,IAEE4f,IAAyBzL,EAAAA,EAAAA,IAAOoL,GAAPpL,CAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACvBxf,SAAAA,GAAD,OAAWkY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,UAA3C,IAEE8f,IAAsB3L,EAAAA,EAAAA,IAAOoL,GAAPpL,CAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACpB1f,SAAAA,GAAD,OAAWkY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,SAA3C,IAEEggB,IAAuB7L,EAAAA,EAAAA,IAAOoL,GAAPpL,CAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACrB5f,SAAAA,GACD,MAA2CA,EAAMmY,OAAS,CAAC,EAAnDE,EAAR,EAAQA,MAAOD,EAAf,EAAeA,MAAOE,EAAtB,EAAsBA,OAAQC,EAA9B,EAA8BA,SAC9B,OAAOjE,EAAAA,EAAAA,IAAP,6MACgCvF,EAAqB/O,EAAO,8BACnC+O,EAAqB/O,EAAO,8BAC5B+O,EAAqB/O,EAAO,8BACjDkY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,WAChCmY,GAAa,0EAGuB/I,EAAqB/O,EAAO,8BAHpD,yCAIiB+O,EAAqB/O,EAAO,8BAJ7C,yCAKiB+O,EAAqB/O,EAAO,8BAL7C,gCAMQ+O,EAAqB/O,EAAO,wBANpC,cAQZ,UACAqY,GAEED,IACJ9D,EAAAA,EAAAA,IADS,yPAEEvF,EAAqB/O,EAAO,mBAEP+O,EAAqB/O,EAAO,8BAExDqY,IACF/D,EAAAA,EAAAA,IADO,2EAEuBvF,EAAqB/O,EAAO,+BAGpC+O,EAAqB/O,EAAO,kCAEhD8X,GAAa,0BAEA/I,EAAqB/O,EAAO,mBAF7B,sCAGY+O,EAAqB/O,EAAO,mCAHxC,wEAMZ,WACAsY,GAEAR,GAAa,uFAGE/I,EAAqB/O,EAAO,2BAH/B,sBAKZ,cACAuY,IAGAT,GAAa,sBAEJ/I,EAAqB/O,EAAO,2BAFzB,uCAKd,cACAuY,IAEA,kBAAMgB,GAAkBvZ,EAAxB,IACA,kBAAMgZ,GAAchZ,EAApB,GA3DkB,IA+DpB6f,IAAsB/L,EAAAA,EAAAA,IAAOoL,GAAPpL,CAAHgM,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACpB9f,SAAAA,GACD,IAAQuY,GAAavY,EAAMmY,OAAS,CAAC,GAA7BI,SACR,OAAOjE,EAAAA,EAAAA,IAAP,oPACI4D,IAAc,UAAKlY,EAAN,CAAaL,KAAM,UACzBoP,EAAqB/O,EAAO,aAE1B+O,EAAqB/O,EAAO,wBAGrC8X,GAAa,sBAEF/I,EAAqB/O,EAAO,8BAF3B,oFAMZ,2BACAuY,EACA,sBAKAA,IACFjE,EAAAA,EAAAA,IADU,qDAvBS,IA8BnByL,IAAyBjM,EAAAA,EAAAA,IAAOoL,GAAPpL,CAAHkM,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACvBhgB,SAAAA,GAAD,OAAWkY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,YAA3C,IAGJuf,GAAgBlM,aAAe,CAC7B9D,cAAc,UAAKuK,KAErB2F,GAAuBpM,aAAe,CACpC9D,cAAc,UAAKuK,KAErB4F,GAAuBrM,aAAe,CACpC9D,cAAc,UAAKuK,KAErB8F,GAAuBvM,aAAe,CACpC9D,cAAc,UAAKuK,KAErBgG,GAAoBzM,aAAe,CACjC9D,cAAc,UAAKuK,KAErBkG,GAAqB3M,aAAe,CAClC9D,cAAc,UAAKuK,KAErBoG,GAAoB7M,aAAe,CACjC9D,cAAc,UAAKuK,KAErBsG,GAAuB/M,aAAe,CACpC9D,cAAc,UAAKuK,KC9Sd,IAAMwG,IAAkBnM,EAAAA,EAAAA,IAAOoL,GAAPpL,CAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,OAAAA,OAAAA,SFwGA/T,SAAAA,GAC1B,MAAiDA,EAAMmY,OAAS,CAAC,EAAzDxY,EAAR,EAAQA,KAAM0Y,EAAd,EAAcA,MAAOD,EAArB,EAAqBA,MAAOE,EAA5B,EAA4BA,OAAQC,EAApC,EAAoCA,SACpC,OAAQ5Y,GACN,IAAK,UACH,OAAOuY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,aACzC,IAAK,UACH,OAAOuY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,aACzC,IAAK,SACH,OAAOuY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,WACzC,IAAK,OACH,OAAOuY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,UACzC,IAAK,QACH,OAAO2U,EAAAA,EAAAA,IAAP,iMACgCvF,EAAqB/O,EAAO,8BACnC+O,EAAqB/O,EAAO,8BAC5B+O,EAAqB/O,EAAO,8BACjDkY,IAAc,UAAKlY,EAAN,CAAaL,KAAM,WAChCmY,GAAa,0EAGqB/I,EAAqB/O,EAAO,8BAHlD,yCAIe+O,EAAqB/O,EAAO,8BAJ3C,yCAKe+O,EAAqB/O,EAAO,8BAL3C,gCAMM+O,EAAqB/O,EAAO,wBANlC,cAQZ,UACAqY,GAEAD,IACF9D,EAAAA,EAAAA,IADO,6QAEIvF,EAAqB/O,EAAO,mBAEP+O,EAAqB/O,EAAO,8BAExDqY,IACF/D,EAAAA,EAAAA,IADO,+EAEuBvF,EAAqB/O,EAAO,+BAGpC+O,EAAqB/O,EAAO,kCAEhD8X,GAAa,0BAEF/I,EAAqB/O,EAAO,mBAF3B,sCAGU+O,EAAqB/O,EAAO,mCAHtC,wEAMZ,WACAsY,GAEAR,GAAa,uFAGA/I,EAAqB/O,EAAO,2BAH7B,sBAKZ,cACAuY,IAGFT,GAAa,sBAEJ/I,EAAqB/O,EAAO,2BAFzB,uCAKZ,cACAuY,IAGN,IAAK,OACH,OAAOjE,EAAAA,EAAAA,IAAP,4QACI4D,IAAc,UAAKlY,EAAN,CAAaL,KAAM,UACzBoP,EAAqB/O,EAAO,aAE1B+O,EAAqB/O,EAAO,wBAGrC8X,GAAa,sBAEJ/I,EAAqB/O,EAAO,8BAFzB,oFAMZ,2BACAuY,EACA,sBAKAA,IACFjE,EAAAA,EAAAA,IADU,0DAKd,IAAK,UACH,OAAO4D,IAAc,UAAKlY,EAAN,CAAaL,KAAM,aACzC,QACE,OAAO2U,EAAAA,EAAAA,IAAP,wBAjGC,IEtGFtU,SAAAA,GAAD,OAAWuZ,GAAkBvZ,EAA7B,IACCA,SAAAA,GAAD,OAAWgZ,GAAchZ,EAAzB,IAEJigB,GAAgBjN,aAAe,CAC7B9D,cAAc,UAAKuK,K,qJCmBfzO,GAASrH,EAAAA,YAAiD,SAAC3D,EAAO+S,GACtE,MAcI/S,EAbF4S,UAAAA,OADF,MACc,QADd,IAcI5S,EAZFuY,SAAAA,OAFF,WAcIvY,EAXFsY,OAAAA,OAHF,WAcItY,EAVFiZ,QAAAA,OAJF,WAcIjZ,EATFmf,MAAAA,OALF,WAcInf,EARFoY,MAAAA,OANF,WAcIpY,EAPFkgB,SAAAA,OAPF,MAOa,SAPb,IAcIlgB,EANFL,KAAAA,OARF,MAQS,QART,IAcIK,EALF2G,KAAAA,OATF,MASS,UATT,EAUE9D,EAIE7C,EAJF6C,KACA3B,EAGElB,EAHFkB,UACAuB,EAEEzC,EAFFyC,SACGiV,GAbL,OAcI1X,EAdJ,IAgBM2P,EAAM,CACVzO,EACA0R,EACAjM,EAAUiM,EAAN,SAAwBjM,EAAS,KACrChH,EAAUiT,EAAN,IAAmBjT,EAAS,KAChCyY,EAAWxF,EAAN,SAA0B,KAC/BqG,EAAarG,EAAN,WAA4B,KACnC2F,GAAYU,EAAU,WAAa,KACnCX,EAAS,SAAW,KACpB6G,EAAQ,QAAU,MAEjB1Z,OAAOC,SACPC,KAAK,KACLC,OAEH,OACEsR,EAAAA,EAAAA,MAAC+I,IAAD,UACMvI,EADN,CAEEtB,GAAa,UAATzW,EAAmBggB,GAAuB,SAC9C5M,IAAKA,EACLpT,KAAMugB,EACN3H,SAAUA,GAAYU,EACtB/X,UAAWyO,EACXwI,MAAO,CACLE,QAASrY,EAAMqY,MACf1Y,KAAAA,EACAgH,KAAAA,EACAyR,MAAAA,EACAa,QAAAA,EACAV,SAAUA,GAAYU,EACtBX,OAAAA,EACA6G,MAAAA,GAfJ1c,SAAAA,CAkBGI,EACAJ,GACCkB,EAAAA,SAAAA,IAAmBlB,GAAW0d,SAAAA,GAC5B,OAAKA,EACDxc,EAAAA,eAAqBwc,GAAeA,GACjCrN,EAAAA,EAAAA,KAAAA,OAAAA,CAAArQ,SAAO0d,IAFKA,CADrB,OArDO,IA8Df,M,kCCxFO,IAAMC,GAAkB,CAC7BvG,cAAe,OACfD,gBAAiB,OACjByG,0BAA2B,OAC3BC,oCAAqC,OACrCC,mCAAoC,yBACpCC,4BAA6B,OAE7BC,mCAAoC,UACpCC,wBAAyB,QACzBC,0BAA2B,wBAC3BC,0BAA2B,yBAQhBC,GAAmB/M,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACxB/T,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,ocAGcvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAckR,KAAmB,6BAG5DrR,GAAqB,UAClC/O,EADiC,CAC1BkP,aAAckR,KAC1B,uCAIErR,GAAqB,UAAK/O,EAAN,CAAakP,aAAckR,KAAmB,sCACzDrR,GAAqB,UAAK/O,EAAN,CAAakP,aAAckR,KAAmB,iBAC3E/I,GASYtI,GAAqB,UAAK/O,EAAN,CAAakP,aAAckR,KAAmB,+BAvBlF,IAgCSU,GAAiBhN,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACtBnU,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,+DAEavF,GAAqB,UAAK/O,EAAN,CAAakP,aAAckR,KAAmB,mBAF/E,IAUSW,GAAmBjN,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mIAShB0B,GAAsBlN,EAAAA,GAAAA,IAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAEnByB,GAAkBnN,EAAAA,GAAAA,IAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACvB1f,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,4MAEcvF,GAAqB,UAC5B/O,EAD2B,CACpBkP,aAAckR,KAC1B,sCAEWrR,GAAqB,UAAK/O,EAAN,CAAakP,aAAckR,KAAmB,2BAGzErR,GAAqB,UAAK/O,EAAN,CAAakP,aAAckR,KAAmB,6BAC1DrR,GAAqB,UAAK/O,EAAN,CAAakP,aAAckR,KAAmB,6BAC5DrR,GAAqB,UAAK/O,EAAN,CAAakP,aAAckR,KAAmB,6BAXtF,IAkBSc,GAAiBpN,EAAAA,GAAAA,IAAHqN,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2BAAAA,QAAAA,oCAGvBL,GACAC,IASJ,M,+QCpEMnU,GACJjJ,EAAAA,YAA2C,SAAC3D,EAAO+S,GACjD,MAwBI/S,EAvBF4S,UAAAA,OADF,MACc,UADd,EAEE1R,EAsBElB,EAtBFkB,UACAuB,EAqBEzC,EArBFyC,SAHF,EAwBIzC,EApBFohB,UAAAA,OAJF,WAwBIphB,EAnBFkG,UAAAA,OALF,WAwBIlG,EAlBFqhB,UAAAA,OANF,SAQE1e,GAgBE3C,EAjBFwU,OAiBExU,EAhBF2C,OACA2e,EAeEthB,EAfFshB,WACAC,EAcEvhB,EAdFuhB,kBACAC,EAaExhB,EAbFwhB,mBACApb,EAYEpG,EAZFoG,QAZF,EAwBIpG,EAXFyhB,YAAAA,OAbF,MAagB,eAbhB,IAwBIzhB,EAVFL,KAAAA,OAdF,MAcS,QAdT,EAeEkD,EASE7C,EATF6C,KAfF,EAwBI7C,EARF0hB,SAAAA,OAhBF,MAgBa,IAhBb,IAwBI1hB,EAPF2hB,SAAAA,OAjBF,MAiBa,IAjBb,EAkBEhjB,EAMEqB,EANFrB,MAlBF,EAwBIqB,EALF4hB,mBAAAA,OAnBF,WAwBI5hB,EAJF6hB,SAAAA,OApBF,MAoBa/S,EApBb,IAwBI9O,EAHF8hB,UAAAA,OArBF,MAqBchT,EArBd,EAsBEiT,EAEE/hB,EAFF+hB,UACGC,GAvBL,OAwBIhiB,EAxBJ,IAyBA,GAA4BwE,EAAAA,EAAAA,UAASxE,EAAMwU,QAA3C,eAAOA,EAAP,KAAemB,EAAf,MACApC,EAAAA,EAAAA,YAAU,WACJvT,EAAMwU,SAAWA,GACnBmB,EAAU3V,EAAMwU,OAFX,GAIN,CAACxU,EAAMwU,SAEV,OAA8BhQ,EAAAA,EAAAA,WAAS,GAAvC,eAAOyU,EAAP,KAAgBgJ,EAAhB,KACMtS,EAAM,CAACiD,EAAW1R,EAAWvB,EAAO,GAAGA,EAAS,MAAM8F,OAAOC,SAASC,KAAK,KAAKC,OAlC7B,SAsC1Csc,EAtC0C,wDAAAC,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,KAAAA,MAsCzD,WAA4B9hB,GAA5B,yEACE4hB,GAAW,GADb,cAGIJ,GAHJ,qBAGY,OAHZ,SAGuBA,EAASxhB,GAHhC,+DAKEsV,GAAU,GACVsM,GAAW,GANb,0DAtCyD,2CAAAG,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,KAAAA,MA8CzD,WAA6B/hB,GAA7B,yEACE4hB,GAAW,GADb,cAGIH,GAHJ,qBAGa,OAHb,SAGwBA,EAAUzhB,GAHlC,+DAKEsV,GAAU,GACVsM,GAAW,GANb,0DA9CyD,sBAsDzD,OACEnP,EAAAA,EAAAA,KAACoO,IAAD,QAAgB9K,GAAIhK,EAASlG,UAAWA,EAAWsO,OAAQA,GAAYwN,EAAvE,CAA8E7M,QApBhF,WACEQ,GAAU,EACX,EAkBiGzU,UAAWyO,EAA3GlN,UACEqQ,EAAAA,EAAAA,KAACkO,GAAD,CAAqB9f,UAAc0R,EAAL,aAA9BnQ,UACEyU,EAAAA,EAAAA,MAAC+J,GAAD,CACE/f,UAAW,CACN0R,EADM,SAETjQ,EAAWiQ,EAAN,eAAgC,KACrC/P,EAAU+P,EAAN,cAA+B,MAElCnN,OAAOC,SACPC,KAAK,KACLC,OACH/F,MAAO,CAAE6hB,SAAAA,EAAUC,SAAAA,EAAUhjB,MAAAA,GAT/B8D,SAAAA,EAWIE,GAASE,KACTqU,EAAAA,EAAAA,MAAC2J,GAAD,CAAkB3f,UAAc0R,EAAL,UAA3BnQ,SAAAA,CACGI,GAAQA,EACRF,IAASmQ,EAAAA,EAAAA,KAAAA,KAAAA,CAAArQ,SAAKE,IACdif,IACC9O,EAAAA,EAAAA,KAAC9H,GAAD,CAAQoN,OAAK,EAACiK,QAAUhiB,SAAAA,GAAD,OAAO6hB,EAAa7hB,EAApB,EAAwBwC,MAAMiQ,EAAAA,EAAAA,KAACuE,GAAD,CAAejB,GAAIkM,GAAAA,IAAW3iB,KAAK,cAI9FmT,EAAAA,EAAAA,KAACgO,GAAD,CAAgB5f,UAAc0R,EAAL,QAAuB/S,MAAOkiB,EAAvDtf,SACGA,GAAY2D,IAEdgb,IACClK,EAAAA,EAAAA,MAAC6J,GAAD,CAAkB7f,UAAc0R,EAAL,UAA3BnQ,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC9H,IAAD,QACEqW,UAAWA,EACX1hB,KAAMA,EACNsZ,QAASA,EACTV,SAAUU,GACNuI,EALN,CAMEa,QAAUhiB,SAAAA,GAAD,OAxFkC,4CAwF3BkiB,CAAcliB,EAArB,EANXoC,SAQGgf,KAEFH,IACCxO,EAAAA,EAAAA,KAAC9H,IAAD,UAAYuW,EAAZ,CAA+Bc,QAAUhiB,SAAAA,GAAD,OAAO6hB,EAAa7hB,EAApB,EAAxCoC,SACG6e,eA9FnB,IAyGF1U,GAAM4V,KChJS,SAAkBxiB,GAC/B,MAA8CA,EAAtC2C,MAAAA,OAAR,MAAgB,qBAAhB,EAAuBF,EAAuBzC,EAAvByC,SAAauf,GAApC,OAA8ChiB,EAA9C,IACMyiB,EAAKhV,SAASyF,cAAc,OAClCuP,EAAGte,GAAK,8BACRsJ,SAAS6C,KAAKoD,YAAY+O,GAC1BjV,EAAAA,QACEsF,EAAAA,EAAAA,KAAClG,IAAD,UACMoV,EADN,CAEErf,MAAOA,EACP6R,QAAQ,EACRU,SAAU,WACRuN,EAAGjM,QALP,EAAA/T,SAQGA,KAEHggB,EAEH,ED+HD,I,mDAAA,ME/IaC,GAAkB,CAC7BC,kBAAmB,UACnBC,kBAAmB,UACnBC,kBAAmB,UACnBC,iBAAkB,UAClBC,kBAAmB,WAEfC,GAAa,CACjB9T,cAAc,UAAKwT,KAUfO,GAAc,SAACtjB,EAAkB4G,GACrC,OAAO+N,EAAAA,EAAAA,IAAP,sEACIuM,GAAsBxJ,GACb9Q,EAHf,EAsBa2c,GAAiBpP,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,uJAAAA,6EAAAA,6CAAAA,qHAAAA,OAAAA,IAAAA,gLAAAA,OAAAA,OAAAA,QACvB4M,GAMExJ,GAIWA,GAIbyJ,IA7Ba9gB,SAAAA,GACf,IAAQL,EAASK,EAATL,KACR,OACSsjB,GAAYtjB,EAAMoP,GAAqB,UAAK/O,EAAUgjB,IADlD,YAATrjB,EACyE,oBACzD,YAATA,EACkE,oBACzD,YAATA,EACkE,oBACzD,WAATA,EACkE,mBAEA,qBAX/E,GAoCIshB,GAAmBJ,IAUlB7gB,SAAAA,GAAD,OACAA,EAAM2C,QACN2R,EAAAA,EAAAA,IADA,keAEI2M,GACEJ,GAKIxJ,GAMSA,GAIbyJ,GAnBN,IAyBC9gB,SAAAA,GAAD,OACAA,EAAM6C,OACNyR,EAAAA,EAAAA,IADA,qFAEIuM,GAHJ,IAOC7gB,SAAAA,GAAD,OACAA,EAAM2C,OACN3C,EAAM6C,OACNyR,EAAAA,EAAAA,IAFA,gFAGIwM,GAJJ,I,qCCrGJ,YAAgB9gB,QAA2B,IAA3BA,IAAAA,EAAoB,CAAC,GACnC,MAAoEA,EAApE,IAAQ4S,UAAAA,OAAR,MAAoB,UAApB,EAA+B1R,EAA/B,EAA+BA,UAA/B,IAA0CvC,MAAAA,OAA1C,MAAkD,IAAlD,EAA0DqjB,GAA1D,OAAoEhiB,EAApE,IACM2P,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC7D,OACEkN,EAAAA,EAAAA,KAACoQ,IAAD,QAAgB9M,GAAIxJ,IAAWoV,EAA/B,CAAsCrjB,MAAOA,EAAOuC,UAAWyO,EAA/DlN,SACGzC,EAAMyC,WALb,E,YCPM0gB,GACJ,mOAMF,YAAgBnjB,QAA8B,IAA9BA,IAAAA,EAAuB,CAAC,GACtC,MAAgCA,EAAxBojB,KAAAA,OAAR,MAAe,GAAf,EAAsBpB,GAAtB,OAAgChiB,EAAhC,IACA,OACE8S,EAAAA,EAAAA,KAACtN,EAAAA,SAAD,CAAA/C,SACG2gB,EAAK5iB,MAAM2iB,IAAW9hB,KAAI,SAACgiB,EAAM/hB,GAChC,IAAMgiB,EAAQD,EAAKC,MAAMH,IACzB,GAAIG,GAASA,EAAM,GAAI,CACrB,IAAMC,EAAMD,EAAM,GAClB,OACEE,EAAAA,EAAAA,eAAAA,KAAAA,EAAAA,EAAAA,GAAAA,CAAAA,EAAOxB,EAAP,CAAcyB,IAAKniB,EAAKX,KAAM4iB,EAAIG,WAAW,QAAUH,EAAzBA,UAAyCA,IACpEA,EAGN,CACD,OAAOzQ,EAAAA,EAAAA,KAACtN,EAAAA,SAAD,CAAA/C,SAAqB4gB,GAAN/hB,EAVvB,KAJP,ECNaqiB,GAAmB,CAC9BC,sBAAuB,OACvBC,YAAa,OAEbC,mBAAoB,OACpBC,oBAAqB,OACrBC,sBAAuB,OACvBC,oBAAqB,OAErBC,gBAAiB,OACjBC,iBAAkB,OAClBC,mBAAoB,OACpBC,iBAAkB,OAClBC,oBAAqB,OAEjBtB,GAAa,CACjB9T,cAAc,UAAKyU,KAURY,GAAiBzQ,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAEdyQ,GAAkB1Q,EAAAA,GAAAA,KAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,oEAAAA,eAAAA,kHAAAA,eAAAA,gBAAAA,uBAAAA,4HAAAA,SAAAA,wCAAAA,0EAGXjU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAA7D,IACJhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,cAA7D,IAKKhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAA7D,IACHhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qBAA7D,IACEhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qBAA7D,IACQhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IAOdhjB,SAAAA,GAED,OADiBA,EAAT2G,MAEN,IAAK,OACH,OAAO2N,EAAAA,EAAAA,IAAP,2GACYvF,GAAqB,UAAK/O,EAAUgjB,IAAc,mBACnDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,mBAC9CjU,GAAqB,UAAK/O,EAAUgjB,IAAc,uBAEnE,IAAK,QACH,OAAO1O,EAAAA,EAAAA,IAAP,2GACYvF,GAAqB,UAAK/O,EAAUgjB,IAAc,oBACnDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,oBAC9CjU,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAEnE,IAAK,QACH,OAAO1O,EAAAA,EAAAA,IAAP,2GACYvF,GAAqB,UAAK/O,EAAUgjB,IAAc,oBACnDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,oBAC9CjU,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAEnE,QACE,OAAO1O,EAAAA,EAAAA,IAAP,wBAzCoB,IA6CvBtU,SAAAA,GAAD,MACgB,WAAhBA,EAAMykB,QACNnQ,EAAAA,EAAAA,IADA,wDADA,GAOIiQ,I,yEClER,GAAe5gB,EAAAA,YAA+C,SAAC3D,EAAO+S,GACpE,MAUI/S,EATF4S,UAAAA,OADF,MACc,WADd,IAUI5S,EARFykB,MAAAA,OAFF,MAEU,SAFV,IAUIzkB,EAPF2G,KAAAA,OAHF,MAGS,UAHT,EAIEzF,EAMElB,EANFkB,UACAwjB,EAKE1kB,EALF0kB,IACAC,EAIE3kB,EAJF2kB,IACA9hB,EAGE7C,EAHF6C,KAPF,EAUI7C,EAFF4kB,QAAAA,OARF,MAQY9V,EARZ,EASK+D,GATL,OAUI7S,EAVJ,IAWIyC,EAAWzC,EAAMyC,SACrB,GAAoC+B,EAAAA,EAAAA,WAAS,GAA7C,eAAOqgB,EAAP,KAAmBC,EAAnB,KACMnV,EAAM,CACViD,EACA1R,EACAyF,EAAUiM,EAAN,IAAmBjM,EAAS,KAChC8d,EAAW7R,EAAN,IAAmB6R,EAAU,KAClCC,EAAS9R,EAAN,SAA0B,MAE5BnN,OAAOC,SACPC,KAAK,KACLC,OAsBH,OApBA2N,EAAAA,EAAAA,YAAU,WACRuR,GAAc,EADP,GAEN,CAAC9kB,EAAM0kB,MAENG,GAAcH,EAChBjiB,GACEqQ,EAAAA,EAAAA,KAACyR,GAAD,CACEG,IAAKA,EACLC,IAAKA,EACLC,QAAUG,SAAAA,IAEU,KADAH,EAAUA,EAAQG,QAAOte,IAEzCqe,GAAc,EAEjB,IAGIjiB,IACTJ,EAAWI,IAGXqU,EAAAA,EAAAA,MAACsN,IAAD,UAAqB3R,EAArB,CAAiClM,KAAMA,EAAM8d,MAAOA,EAAOvjB,UAAWyO,EAAKoD,IAAKA,EAAhFtQ,SAAAA,CACGA,GACDqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAAA,MAhDS,ICdR,SAASkS,KACd,IAAI7U,EAAY,EAMhB,OALI1C,UAAYA,SAASoB,iBAAmBpB,SAASoB,gBAAgBsB,UACnEA,EAAY1C,SAASoB,gBAAgBsB,UAC5B1C,SAAS6C,OAClBH,EAAY1C,SAAS6C,KAAKH,WAErBA,CACR,CCRM,IAAM8U,GAAoB,CAC/BC,cAAe,OACfC,aAAc,QAEVnC,GAAa,CACjB9T,cAAc,UAAK+V,KASRG,GAAmBtR,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mCAAAA,eAAAA,qEAAAA,OAAAA,SAEhB/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,gBAA7D,IACAhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,eAA7D,IAINhjB,SAAAA,GAAD,OACCA,EAAMqlB,QACP/Q,EAAAA,EAAAA,IADA,2EADA,IAMCtU,SAAAA,GACD,OAAQA,EAAM4V,SACZ,KAAK,EACH,OAAOtB,EAAAA,EAAAA,IAAP,yDAGF,KAAK,EACH,OAAOA,EAAAA,EAAAA,IAAP,gHAKF,QACE,OAAOA,EAAAA,EAAAA,IAAP,wBA1BqB,IA+B7B8Q,GAAiBpS,aAAe,CAC9B9D,aAAc+V,I,0JCnBVK,GAAmB3hB,EAAAA,YAAoD,SAAC3D,EAAO+S,GACnF,MAWI/S,EAVF4S,UAAAA,OADF,MACc,aADd,EAEE1R,EASElB,EATFkB,UACAkF,EAQEpG,EARFoG,QACA3D,EAOEzC,EAPFyC,SAJF,EAWIzC,EANF8H,UAAAA,OALF,MAKc,EALd,IAWI9H,EALFqlB,MAAAA,OANF,WAWIrlB,EAJFulB,MAAAA,OAPF,MAOU,IAPV,IAWIvlB,EAHFwlB,UAAAA,OARF,MAQc,EARd,IAWIxlB,EAFFylB,UAAAA,OATF,SAUKzD,GAVL,OAWIhiB,EAXJ,IAYM0lB,EAAgBL,GAAYG,GAAJ,EAC9B,GAA8BhhB,EAAAA,EAAAA,UAAS,GAAvC,eAAOmhB,EAAP,KAAgBC,EAAhB,KACA,GAA8BphB,EAAAA,EAAAA,UAAS,GAAvC,eAAOgP,EAAP,KAAgBqS,EAAhB,KACMjQ,EAAU+P,GAAWD,EACrB/V,EAAM,CACViD,EACA1R,EACCmkB,EAAqB,KAAb,WACTzP,EAAahD,EAAN,QAAyB,KAC/BgD,EAAgC,KAAnBhD,EAAd,SAECnN,OAAOC,SACPC,KAAK,KACLC,OAOH,SAASkgB,IACPF,EF3BG,SAA0B9d,QAAuB,IAAvBA,IAAAA,EAAoB,GACnD,IAAI6d,EAAU,EAMd,OALI7d,EAAYkd,OACdW,EAAUI,KAAKC,OACXhB,KAAiBld,IAAc2F,SAAS6C,KAAK2V,aAAene,EAAYrH,OAAOylB,aAAgB,MAG9FP,EAAU,IAAM,IAAMA,CAC9B,CEmBcQ,CAAiBre,IAC5B+d,EAAWb,KACZ,CACD,SAASoB,IACkB,kBAAdte,GAA2C,kBAAVyd,GAAyC,kBAAZ/R,GFjDtE,SAAyBvL,EAAsBoe,EAAoB7S,QAAqB,IAA/DvL,IAAAA,EAAmB,QAA4C,IAAzCoe,IAAAA,EAAe,UAA0B,IAArB7S,IAAAA,EAAkB,GAC1F,IAAI8S,EAAQ,EACNC,EAAQC,aAAY,WACpBhT,EAAU8S,GAASre,EAEjBuL,GADJ8S,GAASD,IACcpe,EACrBxH,OAAOgmB,SAAS,EAAGjT,EAAU8S,GAE7B7lB,OAAOgmB,SAAS,EAAGxe,GAGrBye,cAAcH,EATO,GAWtB,EACJ,CEoCKI,CAAgB7e,EAAWyd,EAAO/R,EAErC,CACD,OAfAD,EAAAA,EAAAA,YAAU,WAER,OADA9S,QAAUA,OAAOgS,iBAAiB,SAAUqT,GACrC,WACLrlB,QAAUA,OAAOkS,oBAAoB,SAAUmT,EADjD,CAFO,KAgBP5O,EAAAA,EAAAA,MAACkO,IAAD,QACE/C,QAAS,kBAAMoD,GAAaW,GAAnB,EACTllB,UAAWyO,GACPqS,EAHN,CAIEqD,MAAOA,EACPzP,QAASA,EACT7C,IAAKA,EANPtQ,SAAAA,CAQG2D,EACoB,oBAAb3D,EAA0BA,EAAWA,EAAS,CAAEkjB,QAAAA,EAASnS,QAAAA,EAAS4S,YAAaA,OApDpE,IAyDzB,MCnEMpD,GAAa,CACjB9T,cAAc,UAlBe,CAC7B0X,iCAAkC,MAClCC,mCAAoC,MACpCC,sBAAuB,OACvBC,wBAAyB,MACzBC,+BAAgC,UAChCpN,gBAAiB,OACjBqN,wBAAyB,UACzBC,WAAY,OACZvN,cAAe,OACfwN,uBAAwB,iBACxBC,iBAAkB,OAClBC,cAAe,QACfC,iBAAkB,OAClBC,uBAAwB,UAWpBC,IAA4BpQ,EAAAA,EAAAA,IAAH,sHAclBqQ,GAAqB3T,EAAAA,GAAAA,KAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wEAAAA,gBAAAA,eAAAA,gBAAAA,gHAAAA,QAAAA,SAGfjU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,IACFhjB,SAAAA,GAAD,OACRsU,EAAAA,EAAAA,IADS,SAAD,mCAEJvF,GAAqB,UAAK/O,EAAUgjB,IAAc,oCAAuCjU,EACzF/O,EACA,sCAJI,IAOAA,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IACEhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAKFhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAA7D,IACJhjB,SAAAA,GACD,OAAIA,EAAM0nB,YACDpT,EAAAA,EAAAA,IAAP,icAEuBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,iCADhC,GAWGwE,GACRA,KAIZlT,EAAAA,EAAAA,IAAP,uBAtC2B,IA+ClBqT,GAA4B7T,EAAAA,GAAAA,IAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAAAA,SAAAA,SACjCxf,SAAAA,GAAD,OACCA,EAAM4nB,MACPtT,EAAAA,EAAAA,IADA,ihBAKUtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,gBAA7D,IACIhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,mBAA7D,IACQhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,IACHhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,mBAA7D,IACEhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IACJhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,aAA7D,IACOhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,mBAA7D,IAGDhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,gBAA7D,IAKEhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,GApBhB,IAuBChjB,SAAAA,GAAD,OACAA,EAAM6nB,SACL7nB,EAAM4nB,MACPtT,EAAAA,EAAAA,IAFA,wMADA,IAWGtU,SAAAA,GAAD,OACFA,EAAM4nB,MACNtT,EAAAA,EAAAA,IADA,sbASUtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,mBAA7D,IACIhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IACAhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAGMhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAEChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,GAjBd,IAsBO8E,GAAiBhU,EAAAA,GAAAA,KAAHiU,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wG,yFCtI3B,GAAepkB,EAAAA,YAA8C,SAAC3D,EAAO+S,GACnE,MAWI/S,EAVF4S,UAAAA,OADF,MACc,UADd,EAEE1R,EASElB,EATFkB,UAFF,EAWIlB,EARFH,MAAAA,OAHF,MAGU,CAAC,EAHX,EAIE0G,EAOEvG,EAPFuG,MAJF,EAWIvG,EANFgoB,IAAAA,OALF,MAKQ,GALR,IAWIhoB,EALF4nB,IAAAA,OANF,WAWI5nB,EAJF0nB,WAAAA,OAPF,SAQEO,EAGEjoB,EAHFioB,MACAxlB,EAEEzC,EAFFyC,SACGuf,GAVL,OAWIhiB,EAXJ,IAYMkoB,EAAW,CACfhnB,UAAW,CAAE0mB,EAA6B,KAApBhV,EAAV,SAAoCgV,EAAM,MAAQ,MAAMniB,OAAOC,SAASC,KAAK,KAAKC,OAC9F/F,MAAO,CAAC,GAEJ8P,EAAM,CACVzO,EACA0R,EACCnQ,EAAsB,KAAX,SACXA,EAAmC,KAArBmQ,EAAf,UACA8U,EAAgB9U,EAAN,cAA+B,MAExCnN,OAAOC,SACPC,KAAK,KACLC,OAEGuiB,EAA8B,CAAC,EAMrC,OALIF,GAAmB,IAAVA,EACXC,EAASroB,OAATqoB,EAAAA,EAAAA,GAAAA,CAAmBzf,gBAAiBlC,GAAU1G,GAE9CsoB,EAAatoB,MAAQA,GAAS,CAAC,GAG/BqX,EAAAA,EAAAA,MAAC4Q,IAAD,QAAgB5mB,UAAWyO,GAASqS,EAAWmG,EAA/C,CAA6DpV,IAAKA,EAAlEtQ,SAAAA,EACEqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAAA,GACCvM,IACCuM,EAAAA,EAAAA,KAAC2U,GAAD,CAAoBvmB,UAAc0R,EAAL,OAAsB8U,WAAYA,EAAY7nB,MAAO,CAAE4I,gBAAiBlC,KAEtG9D,EACU,IAAVwlB,IAAgB1hB,IACfuM,EAAAA,EAAAA,KAAC6U,IAAD,UAA+BO,EAA/B,CAAyCN,IAAKA,EAAKC,QAASplB,EAA5DA,UACImlB,GAAOK,GAASD,GAAOC,EAAQD,EAASA,EAAzC,IAAkDC,QA3C9C,ICTFG,GAAuB,CAClCC,sBAAuB,UACvBC,+BAAgC,MAChCC,gCAAiC,MACjC3O,gBAAiB,OACjB4O,gCAAiC,OAG7BxF,GAAa,CACjB9T,cAAc,UAAKkZ,KAKRK,GAAsB3U,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2CAAAA,UAEhB/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,IAWF0F,GAA0B5U,EAAAA,GAAAA,KAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gEAAAA,wBAAAA,iBAAAA,qEAAAA,SAAAA,OAAAA,SAGdjU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kCAA7D,IACAhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,iCAA7D,IACNhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,IAORhjB,SAAAA,GAAD,OACCA,EAAM2oB,WACN3oB,EAAM4oB,cACPtU,EAAAA,EAAAA,IAFA,iIADA,IAUCtU,SAAAA,GAAD,OACAA,EAAM4oB,cACNtU,EAAAA,EAAAA,IADA,6EAGoBtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kCAA7D,GAJnB,IAOChjB,SAAAA,GAAD,OACAA,EAAMsY,SACNhE,EAAAA,EAAAA,IADA,uEAGctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAA7D,GAJb,IASS6F,GAA2B/U,EAAAA,GAAAA,KAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,sBAAAA,sBAAAA,eAAAA,UACjBxf,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kCAA7D,IACAhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,iCAA7D,IACNhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,I,4DCxDL8F,GAAiBnlB,EAAAA,YAAkD,SAAC3D,EAAO+S,GAC/E,MAA0G/S,EAAlG4S,UAAAA,OAAR,MAAoB,eAApB,EAAoC1R,EAAsElB,EAAtEkB,UAApC,EAA0GlB,EAA3DwX,QAASC,OAAxD,MAAkE,OAAlE,EAA0Ea,EAAgCtY,EAAhCsY,OAAQyQ,EAAwB/oB,EAAxB+oB,UAAc/G,GAAhG,OAA0GhiB,EAA1G,IACMgpB,EAAQrlB,EAAAA,eAAqBolB,GAC7BpZ,EAAM,CACPiD,EADO,QAEV1R,EACAoX,EAAS,SAAW,KACnByQ,EAA6B,KAAjB,eACbC,EAAQ,YAAc,MAErBvjB,OAAOC,SACPC,KAAK,KACLC,OACG8P,GAAa,QAAExU,UAAWyO,GAAQqS,EAAxB,CAA+B5L,GAAIqB,IAInD,OAHKuR,IACHtT,EAAW,kBAAoBqT,GAE1BplB,EAAAA,cACL+kB,IADK/kB,EAAAA,EAAAA,GAAAA,CAAAA,EAGA+R,EAHA,CAIHkT,aAAcG,EACdJ,SAAUK,EACV1Q,OAAAA,EACAvF,IAAAA,KAEFmE,EAAAA,EAAAA,MAAC1R,EAAAA,SAAD,CAAA/C,SAAAA,CACGumB,IAASlW,EAAAA,EAAAA,KAAC+V,GAAD,CAA0B3nB,UAAc0R,EAAL,aAAnCnQ,SAAgEsmB,IACzE/oB,EAAMyC,YA5BU,IAiCvB,M,yCCpCM+I,GAAa7H,EAAAA,YAAkD,SAAC3D,EAAO+S,GAC3E,MAA6E/S,EAArE4S,UAAAA,OAAR,MAAoB,eAApB,EAAoC1R,EAAyClB,EAAzCkB,UAApC,EAA6ElB,EAA9B+oB,UAAAA,OAA/C,MAA2D,IAA3D,EAAmE/G,GAAnE,OAA6EhiB,EAA7E,IACM2P,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC7D,OACEkN,EAAAA,EAAAA,KAAC2V,IAAD,mBAA2BvnB,UAAWyO,GAAQqS,GAA9C,CAAuDjP,IAAKA,EAA5DtQ,SACGkB,EAAAA,SAAAA,IAAmB3D,EAAMyC,UAAWyK,SAAAA,GACnC,OAAOvJ,EAAAA,aAAmBuJ,EAASnH,OAAOkjB,OAAO,CAAEF,UAAAA,GAAa7b,EAAQlN,MAAO,CAAC,GADjF,MALY,IAelBwL,GAA0B0d,KAAOA,GAElC,I,MCxBA,GDwBA,GEzBaC,GAAwB,CACnC1L,2BAA4B,uBAExBuF,GAAa,CACjB9T,cAAc,UAAKia,KAKRC,GAAkBtV,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,uEAAAA,6BAAAA,+BAAAA,aAAAA,0DAAAA,2DAAAA,yEAAAA,qCAAAA,MAAAA,iDAAAA,QAAAA,uDAAAA,wBAAAA,QAAAA,4DAAAA,4BAAAA,aAAAA,gDAAAA,+BAAAA,+BAAAA,wBAAAA,QACxBkM,IAGOjgB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,IACgBhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,IACGhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,GAEvB/C,GAGAA,GAGAA,GAGAA,GAGAA,GAAqBA,GAGrBA,GAAuBN,IACW3f,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,GAEjC/C,GAAuBN,IAEhB3f,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,IACehjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,GAEpBrD,IAEO3f,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,IACkBhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,IACChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,IAEtBhjB,SAAAA,GAAD,OACAA,EAAMqpB,WACN/U,EAAAA,EAAAA,IADA,ulBAEI2L,GAAuBN,IACS3f,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,IACVhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,GAEpB/C,GAAuBN,IACS3f,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,IACZhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,GAElB/C,GAGMA,GAdV,IA4BJmJ,GAAgBpW,aAAe,CAC7B9D,aAAcia,I,uDCvEhB,GAAexlB,EAAAA,YAAmD,SAAC3D,EAAO+S,GACxE,MAA4F/S,EAApF4S,UAAAA,OAAR,MAAoB,cAApB,IAA4F5S,EAAzDqpB,SAAAA,OAAnC,SAAqD5mB,EAAuCzC,EAAvCyC,SAAUvB,EAA6BlB,EAA7BkB,UAAc2R,GAA7E,OAA4F7S,EAA5F,IACM2P,EAAM,CAACiD,EAAW1R,EAAWmoB,GAAezW,EAAP,aAA6BnN,OAAOC,SAASC,KAAK,KAAKC,OAClG,OACEkN,EAAAA,EAAAA,KAACsW,IAAD,QAAiBloB,UAAWyO,GAASkD,EAArC,CAAiDwW,SAAUA,EAAUtW,IAAKA,EAA1EtQ,SACGA,IALQ,I,wBCNf,SAASoG,GAASygB,EAAsBpY,GACtC,GAAIA,EACF,GACE,GAAIA,IAASoY,EAAS,OAAO,QACrBpY,EAAOA,EAAKqY,YAGxB,OAAO,CACR,CAED,SAASC,GAAMpnB,GACb,MAA8B,oBAAhBqnB,YACVrnB,aAAgBqnB,YAChBrnB,GAAwB,kBAATA,GAAuC,IAAlBA,EAAKsnB,UAA2C,kBAAlBtnB,EAAKunB,QAC5E,CAED,IAgBA,KAlCuC,qBAAXlpB,SAA0BA,OAAOgN,WAAYhN,OAAOgN,SAASyF,eAsBnF,SAAUoW,EAAsBpY,GAC9B,OAAIoY,GAAWA,EAAQM,UAAwC,oBAArBN,EAAQM,UAA2BJ,GAAMtY,GAC1EoY,EAAQM,SAAS1Y,GAEtBoY,GAAWA,EAAQO,yBAA2BL,GAAMtY,GAC/CoY,IAAYpY,KAAWoY,EAAQO,wBAAwB3Y,GAEzDrI,GAASygB,EAASpY,EARf,EAUZrI,GCjBS,SAASihB,GAAe3oB,EAAqB4oB,GAC1D,IAAMC,EAAyB,MAATD,EAAe,OAAS,MACxCE,EAA0B,SAAVD,EAAmB,QAAU,SACnD,OAAOE,WAAW/oB,EAAO,SAAS6oB,EAAV,UAA2BE,WAAW/oB,EAAO,SAAS8oB,EAAV,SACrE,CClBD,I,gDAAA,GAAiC,qBAAXxpB,QAA8C,qBAAbgN,SCUjD0c,GAASC,OAAiB3pB,OAAkB4pB,uBAAyB5c,SAAsB6c,cAC3FC,GAASH,IAAa,UAAU7nB,KAAKioB,UAAUC,WAStC,SAASC,GAAK7rB,GAC3B,OAAgB,KAAZA,EACKsrB,GAEO,KAAZtrB,EACK0rB,GAEFJ,IAAUI,EAClB,CCdD,SAASrR,GAAQ6Q,EAA0BzZ,EAAmBqa,EAAoBC,GAChF,OAAO7E,KAAKiC,IACV1X,EAAK,SAASyZ,GACdzZ,EAAK,SAASyZ,GACdY,EAAK,SAASZ,GACdY,EAAK,SAASZ,GACdY,EAAK,SAASZ,GACdW,GAAK,IACDG,SAASF,EAAK,SAASZ,GAAS,IAC9Bc,SAASD,EAAc,UAAkB,WAATb,EAAoB,MAAQ,SAAW,IACvEc,SAASD,EAAc,UAAkB,WAATb,EAAoB,SAAW,UAAY,IAC7E,EAEP,CCFc,SAAS/Z,GAAsB9C,GAC5C,IAAI4d,EAAO,CAAC,EAKZ,IACE,GAAIJ,GAAK,IAAK,CACZI,EAAO5d,EAAQ8C,wBACf,IAAMG,EAAY1B,EAAUvB,GAAS,GAC/BkD,EAAa3B,EAAUvB,GAC7B4d,EAAKlkB,KAAOuJ,EACZ2a,EAAK5iB,MAAQkI,EACb0a,EAAK3iB,QAAUgI,EACf2a,EAAKC,OAAS3a,CAPhB,MASE0a,EAAO5d,EAAQ8C,uBAGL,CAAZ,MAAO3P,GAAK,CAEd,ICvCoC2qB,EDuC9BC,EAAS,CACb/iB,KAAM4iB,EAAK5iB,KACXtB,IAAKkkB,EAAKlkB,IACVjI,MAAOmsB,EAAKC,MAAQD,EAAK5iB,KACzBtJ,OAAQksB,EAAK3iB,OAAS2iB,EAAKlkB,KAIvBskB,EAAyC,SAArBhe,EAAQyc,SDvBrB,SAAwBlc,GACrC,IAAM6C,EAAO7C,EAAS6C,KAChBqa,EAAOld,EAASoB,gBAChB+b,EAAgBO,iBAAiBR,GAEvC,MAAO,CACL/rB,OAAQsa,GAAQ,SAAU5I,EAAMqa,EAAMC,GACtCjsB,MAAOua,GAAQ,QAAS5I,EAAMqa,EAAMC,GAEvC,CCcyDQ,CAAele,EAAQme,eAAkB,CAAC,EAC5F1sB,EAAQusB,EAAMvsB,OAASuO,EAAQ6E,aAAekZ,EAAOF,MAAQE,EAAO/iB,KACpEtJ,EAASssB,EAAMtsB,QAAUsO,EAAQ8E,cAAgBiZ,EAAO9iB,OAAS8iB,EAAOrkB,IAE1E0kB,EAAiBpe,EAAQqe,YAAc5sB,EACvC6sB,EAAgBte,EAAQue,aAAe7sB,EAO3C,GALAqsB,EAAOS,WAAaxe,EAAQwe,YAAcxe,EAAQkD,YAAc,EAChE6a,EAAOnjB,UAAYoF,EAAQpF,WAAaoF,EAAQpF,WAAa,EAIzDwjB,GAAkBE,EAAe,CACnC,IAAMrqB,EE5DK,SACb+L,EACAye,GAEA,GAAyB,IAArBze,EAAQwc,SACV,MAAO,GAGT,IACMpV,EADSpH,EAAQme,cAAeO,YACcT,iBAAiBje,EAAS,MAC9E,OAAOye,EAAWrX,EAAIqX,GAAYrX,CACnC,CFiDkBuX,CAAyB3e,GACxCoe,GAAkBxB,GAAe3oB,EAAQ,KACzCqqB,GAAiB1B,GAAe3oB,EAAQ,KAExC8pB,EAAOtsB,OAAS2sB,EAChBL,EAAOrsB,QAAU4sB,CAClB,CAED,OCpEoCR,EDoEfC,GCnEd,UACFD,EADL,CAEED,MAAOC,EAAQ9iB,KAAO8iB,EAAQrsB,MAC9BwJ,OAAQ6iB,EAAQpkB,IAAMokB,EAAQpsB,QDiEjC,CGhEc,SAASktB,GAAc5e,GACpC,IAAI4d,EAAO5d,EAAQ8C,wBASnB,MAJsB,CACpBrR,MAAOuO,EAAQqe,aAAere,EAAQ6e,aAAejB,EAAKnsB,OAAS,EACnEC,OAAQsO,EAAQue,cAAgBve,EAAQ+Y,cAAgB6E,EAAKlsB,QAAU,EAG1E,CCVM,SAASotB,GAAShd,GACvB,MAAyFA,GAAW,CAAC,EAAtFid,EAAf,EAAMC,QAA4BC,EAAlC,EAA2BC,MAAiBjmB,EAA5C,EAA4CA,UAAWD,EAAvD,EAAuDA,UAAWmmB,EAAlE,EAAkEA,mBAC5DC,EAAM,CACVpkB,KAAM,EACNtB,IAAK,EACLT,UAAAA,GAGF,IAAK8lB,IAAeE,IAAa1e,SAC/B,OAAO6e,EAGT,IAAMC,EAAgBxG,KAAKiC,IAAIva,SAASoB,gBAAgBmD,aAAcvR,OAAOylB,aAAe,GACtFsG,EAAezG,KAAKiC,IAAIva,SAASoB,gBAAgBkD,YAAatR,OAAOgsB,YAAc,GAEzFH,EAAInmB,UAAYA,EAChB,IAAMgK,EAAY1B,EAAWwd,EAA2BZ,cAAexc,iBAAiB,GAClFuB,EAAa3B,EAAWwd,EAA2BZ,cAAexc,iBAClEqd,GAAU,UACXlc,GAAsBic,GACtBH,GAAcG,IAEbG,GAAQ,UACTpc,GAAsBmc,GACtBL,GAAcK,IAGbhkB,EAASokB,EAAgBL,EAAQ/jB,OACjC4iB,EAAQyB,EAAeN,EAAQhkB,KAAOgkB,EAAQvtB,MAsBpD,OApBA2tB,EAAI1lB,IAAMslB,EAAQtlB,IAAMuJ,EACxBmc,EAAIpkB,KAAOgkB,EAAQhkB,KAEdhC,IACHomB,EAAI1lB,IAAMslB,EAAQpkB,UAClBwkB,EAAIpkB,KAAOgkB,EAAQR,YAGjBvlB,GAAa,SAAS5D,KAAK4D,KAC7BmmB,EAAI1lB,KAAOwlB,EAAMxtB,QAEfuH,GAAa,WAAW5D,KAAK4D,KAC/BmmB,EAAIpkB,MAAQgkB,EAAQvtB,OAElBwH,GAAa,YAAY5D,KAAK4D,KAChCmmB,EAAI1lB,KAAOslB,EAAQttB,QAEjBuH,GAAa,UAAU5D,KAAK4D,KAC9BmmB,EAAIpkB,MAAQkkB,EAAMztB,OAEZ2tB,EAAInmB,WACV,IAAK,aACL,IAAK,UAWL,IAAK,WACL,IAAK,UAWL,QACE,MAtBF,IAAK,SAEL,IAAK,MACHmmB,EAAIpkB,KAAOokB,EAAIpkB,MAAQkkB,EAAMztB,MAAQutB,EAAQvtB,OAAS,EACtD,MACF,IAAK,cACL,IAAK,WACH2tB,EAAIpkB,KAAOokB,EAAIpkB,KAAOkI,EAAa8b,EAAQvtB,MAAQytB,EAAMztB,MACzD,MAIF,IAAK,QAEL,IAAK,OACH2tB,EAAI1lB,IAAM0lB,EAAI1lB,KAAOwlB,EAAMxtB,OAASstB,EAAQttB,QAAU,EACtD,MACF,IAAK,cACL,IAAK,aACH0tB,EAAI1lB,IAAM0lB,EAAI1lB,IAAMwlB,EAAMxtB,OAASstB,EAAQttB,OAmF/C,OA9EIytB,IACElmB,GAAa,SAAS5D,KAAK4D,IAAc+lB,EAAQtlB,IAAMwlB,EAAMxtB,QAAUuJ,EAASikB,EAAMxtB,SACxF0tB,EAAInmB,UAAYA,EAAUhD,QAAQ,OAAQ,UAC1CmpB,EAAI1lB,IAAM0lB,EAAI1lB,IAAMwlB,EAAMxtB,OAASstB,EAAQttB,QAEzCuH,GAAa,YAAY5D,KAAK4D,IAAcgC,EAASikB,EAAMxtB,QAAUstB,EAAQtlB,IAAMwlB,EAAMxtB,SAC3F0tB,EAAInmB,UAAYA,EAAUhD,QAAQ,UAAW,OAC7CmpB,EAAI1lB,IAAM0lB,EAAI1lB,IAAMwlB,EAAMxtB,OAASstB,EAAQttB,QAEzCuH,GAAa,WAAW5D,KAAK4D,IAAc4kB,EAAQqB,EAAMztB,QAC3D2tB,EAAInmB,UAAYA,EAAUhD,QAAQ,SAAU,QAC5CmpB,EAAIpkB,KAAOokB,EAAIpkB,KAAOgkB,EAAQvtB,MAAQytB,EAAMztB,OAE1CwH,GAAa,UAAU5D,KAAK4D,IAAc+lB,EAAQhkB,KAAOkkB,EAAMztB,QACjE2tB,EAAInmB,UAAYA,EAAUhD,QAAQ,QAAS,SAC3CmpB,EAAIpkB,KAAOokB,EAAIpkB,KAAOgkB,EAAQvtB,MAAQytB,EAAMztB,OAG1CwH,GAAa,gBAAgB5D,KAAK4D,IAAcD,GAG/C,SAAS3D,KAAK4D,IAAc+lB,EAAQtlB,IAAM,GAC1C,gBAAgBrE,KAAK4D,IAAc+lB,EAAQtlB,IAAMslB,EAAQttB,OAAS,EAAIwtB,EAAMxtB,OAAS,GACrF,YAAY2D,KAAK4D,IAAc+lB,EAAQtlB,IAAMslB,EAAQttB,OAASwtB,EAAMxtB,UAErE0tB,EAAI1lB,IAAMuJ,IAIRhK,GAAa,SAAS5D,KAAK4D,IAAc+lB,EAAQtlB,IAAM,IACzD0lB,EAAI1lB,KAAOslB,EAAQtlB,KAEjBT,GAAa,YAAY5D,KAAK4D,IAAc+lB,EAAQ/jB,OAASikB,EAAMxtB,SAErE0tB,EAAI1lB,IAAM0lB,EAAI1lB,KAAOwlB,EAAMxtB,OAASstB,EAAQ/jB,SAE1ChC,GAAa,gBAAgB5D,KAAK4D,IAAc+lB,EAAQ/jB,OAAS+jB,EAAQttB,OAAS,EAAIwtB,EAAMxtB,OAAS,IACvG0tB,EAAI1lB,IAAM0lB,EAAI1lB,IAAMwlB,EAAMxtB,OAAS,GAAKstB,EAAQ/jB,OAAS+jB,EAAQttB,OAAS,KAI1EuH,GAAa,gBAAgB5D,KAAK4D,KAChC,SAAS5D,KAAK4D,IAAcgC,EAAS+jB,EAAQttB,OAASwtB,EAAMxtB,SAC9D0tB,EAAI1lB,IAAM0lB,EAAI1lB,KAAOwlB,EAAMxtB,OAASuJ,EAAS+jB,EAAQttB,SAEnD,gBAAgB2D,KAAK4D,IAAcgC,EAAS+jB,EAAQttB,OAAS,EAAIwtB,EAAMxtB,OAAS,IAClF0tB,EAAI1lB,IAAM0lB,EAAI1lB,KAAOwlB,EAAMxtB,OAAS,EAAIuJ,EAAS+jB,EAAQttB,OAAS,IAEhE,YAAY2D,KAAK4D,IAAcgC,EAAS,IAC1CmkB,EAAI1lB,IAAM0lB,EAAI1lB,IAAMuB,IAIpBhC,GAAa,gBAAgB5D,KAAK4D,IAAcD,IAG/C,UAAU3D,KAAK4D,IAAc+lB,EAAQhkB,KAAO,GAC5C,gBAAgB3F,KAAK4D,IAAc+lB,EAAQhkB,KAAOgkB,EAAQvtB,MAAQ,EAAIytB,EAAMztB,MAAQ,GACpF,WAAW4D,KAAK4D,IAAc+lB,EAAQhkB,KAAOgkB,EAAQvtB,MAAQytB,EAAMztB,SAEpE2tB,EAAIpkB,KAAOkI,GAGT,gBAAgB7N,KAAK4D,IAAc4kB,EAAQmB,EAAQvtB,MAAQ,EAAIytB,EAAMztB,MAAQ,IAC/E2tB,EAAIpkB,KAAOgkB,EAAQhkB,KAAOgkB,EAAQvtB,MAAQosB,EAAQqB,EAAMztB,QAEjDwH,GAAa,gBAAgB5D,KAAK4D,IAAc4kB,EAAQmB,EAAQvtB,MAAQ,EAAIytB,EAAMztB,MAAQ,IACnG2tB,EAAIpkB,KAAOokB,EAAIpkB,MAAQ6iB,EAAQmB,EAAQvtB,MAAQ,EAAIytB,EAAMztB,MAAQ,IAE/DwH,GAAa,gBAAgB5D,KAAK4D,KAChC,UAAU5D,KAAK4D,IAAc+lB,EAAQvtB,MAAQosB,EAAQqB,EAAMztB,QAC7D2tB,EAAIpkB,KAAOokB,EAAIpkB,MAAQkkB,EAAMztB,MAAQutB,EAAQvtB,MAAQosB,IAEnD,WAAWxoB,KAAK4D,IAAc4kB,EAAQ,IACxCuB,EAAIpkB,KAAOokB,EAAIpkB,KAAO6iB,KAIrBuB,CACR,CCnKM,I,qEAAMI,IAAqB5Y,EAAAA,EAAAA,IAAO1H,EAAP0H,CAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC1B/T,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,2dASEN,EAOAH,EAGsB,aAApB7T,EAAMmG,YACRmO,EAAAA,EAAAA,IADE,qEAKoB,UAApBtU,EAAMmG,YACRmO,EAAAA,EAAAA,IADE,wEAKkB,gBAApBtU,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,wEAKoB,YAApBtU,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,wEAKoB,QAApBtU,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,0EAKoB,aAApBtU,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,yEAKoB,SAApBtU,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,yEAKoB,eAApBtU,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,yEAKoB,eAApBtU,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,qEAKoB,WAApBtU,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,uEAKoB,gBAApBtU,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,sEArEF,I,IA6EuBR,EAAAA,GAAAA,IAAH6Y,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACnB3sB,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,2BACEtU,EAAMuY,WACRjE,EAAAA,EAAAA,IADE,0DADF,I,qMCjBEsY,GAAkBC,SAAAA,GAAD,OAAoBA,GAA0B,kBAAVA,EAAqBA,EAAQ,CAAErK,KAAMqK,EAAOC,KAAMD,EAAtF,EAQvB,GAAelpB,EAAAA,YAAyD,SAAC3D,EAAO+S,GAC9E,IACE7R,EAmBElB,EAnBFkB,UADF,EAoBIlB,EAjBF4S,UAAAA,OAHF,MAGc,oBAHd,IAoBI5S,EAhBFkG,UAAAA,OAJF,YAoBIlG,EAfF+sB,UAeE/sB,EAdFgtB,gBAAAA,OANF,WAoBIhtB,EAbFuY,SAAAA,OAPF,YAoBIvY,EAZFwU,OAYExU,EAXFksB,SAAAA,OATF,MASY,QATZ,IAoBIlsB,EAVFmG,UAAAA,OAVF,MAUc,MAVd,EAYEkmB,EAQErsB,EARFqsB,mBACAvX,EAOE9U,EAPF8U,eAEArS,EAKEzC,EALFyC,SACAqT,EAIE9V,EAJF8V,QAhBF,EAoBI9V,EAHFitB,gBAAAA,OAjBF,MAiBoBne,EAjBpB,IAoBI9O,EAFFoV,QAAAA,OAlBF,MAkBYtG,EAlBZ,EAmBKkT,GAnBL,OAoBIhiB,EApBJ,IAsBM+H,GAASsL,EAAAA,EAAAA,QAAe,KACxB6Z,GAAa7Z,EAAAA,EAAAA,UACb8Z,GAAW9Z,EAAAA,EAAAA,UACX+Z,GAAa/Z,EAAAA,EAAAA,QAAiB,IAC9Bga,GAAgBha,EAAAA,EAAAA,QAA+B,MACrD,GAA4B7O,EAAAA,EAAAA,YAAWxE,EAAMwU,QAA7C,eAAOA,EAAP,KAAemB,EAAf,KACA,GAAsCnR,EAAAA,EAAAA,UAAsB,CAC1D2B,UAAAA,EACAS,IAAK,EACLuB,OAAQ,EACRD,KAAM,EACN6iB,MAAO,EACPhjB,OAAQA,EAAOyL,UANjB,eAAO8Z,EAAP,KAAoBC,EAApB,MAQAC,EAAAA,EAAAA,qBAAoBza,GAAK,iBAAO,CAC9B+Z,KAAM,kBAAMA,GAAN,EACNtK,KAAM,kBAAMA,GAAN,EACNiL,WAAYN,EAHW,IAMzB,IAAMhN,EAAaxc,EAAAA,SAAAA,KAAoBlB,GACjCirB,GAA6B,UAC9B1L,EAD2B,CAE9B7b,UAAAA,EACAqO,OAAAA,EACAiB,YAAa,CAAC,IAEVkY,EAA8B,CAAC,GASrCpa,EAAAA,EAAAA,YAAU,WAKR,OAJIyZ,GAAkBxY,IACpB/G,UAAYA,SAASgF,iBAAiB,YAAamb,GACnDntB,OAAOgS,iBAAiB,SAAUob,IAE7B,WACLpgB,UAAYuf,GAAkBvf,SAASkF,oBAAoB,YAAaib,GACxEntB,OAAOkS,oBAAoB,SAAUkb,EAFvC,CALO,GASN,CAACrZ,KAEJjB,EAAAA,EAAAA,YAAU,WACJvT,EAAMwU,SAAWA,GACnBmB,IAAY3V,EAAMwU,OAFb,GAIN,CAACxU,EAAMwU,UAEVjB,EAAAA,EAAAA,YAAU,WACR,IAAMua,EAAQ9B,GAAS,CACrB7lB,UAAWmnB,EAAYnnB,WAAaA,EACpC+lB,QAASgB,EAAW1Z,QACpB4Y,MAAOe,EAAS3Z,QAChBtN,UAAAA,EACAmmB,mBAAAA,IAEFkB,GAAe,UAAKO,EAAN,CAAa/lB,OAAQA,EAAOyL,WAC1CyZ,EAAgBzY,EATT,GAUN,CAACA,IAEJ,IAAMqZ,EAAe,WACfrZ,IACFzM,EAAOyL,SAAW,EAClBmC,GAAU,GACVsX,GAAmBA,GAAgB,GAJvC,EAQMW,EAAsBvtB,SAAAA,GAC1B,IAAM0tB,EAAUZ,EAAS3Z,QACnBwa,EAAYd,EAAW1Z,QAE3Bua,GACAC,GACA3tB,EAAEC,SACDspB,GAASmE,EAAS1tB,EAAEC,UACpBspB,GAASoE,EAAW3tB,EAAEC,UAEvByH,EAAOyL,SAAW,EAClBmC,GAAU,GACVsX,GAAmBA,GAAgB,GAZvC,EAgBA,SAASgB,IACP,GAAIb,EAAW5Z,QAAQxO,OAAS,EAAG,kBACTooB,EAAW5Z,SADF,IACjC,IAAK,EAAL,qBAA4C,KAAjC0a,EAAiC,QAC1CztB,OAAOkR,aAAauc,EACrB,CAHgC,+BAIjCd,EAAW5Z,QAAU,EACtB,CACF,CACD,SAAS2a,IAAa,MACpBF,IACAZ,EAAc7Z,QAAU,OAExB,IAAMqZ,EAAQD,GAAe5sB,EAAM6sB,OACnC,GAAKA,EAAMrK,MAAQ,SAAExiB,EAAMyC,WAAP2rB,EAAiCpuB,MAAMuY,SAA3D,CAIA,IAAM8V,EAAS5tB,OAAO8Q,YAAW,WACD,SAA1B8b,EAAc7Z,SAAoBgP,GADzB,GAEZqK,EAAMrK,MACT7Q,aAAa0c,GACbjB,EAAW5Z,QAAQjO,KAAK8oB,EALvB,MAFC7L,GAQH,CAED,SAAS8L,EAAWvB,GAElB,GADAkB,IACKlB,IAAa/sB,EAAM+sB,UAAxB,CACAM,EAAc7Z,QAAU,OAExB,IAAMqZ,EAAQD,GAAe5sB,EAAM6sB,OAEnC,GAAKA,EAAMC,KAAX,CAKA,IAAMuB,EAAS5tB,OAAO8Q,YAAW,WACD,SAA1B8b,EAAc7Z,SAAoBsZ,GADzB,GAEZD,EAAMC,MAETM,EAAW5Z,QAAQjO,KAAK8oB,EANvB,MAFCvB,GANuC,CA1I2C,CA+JtF,SAASyB,EAAmB7b,EAAmBrS,EAAqBmuB,GAClE,IAAMluB,EAASD,EAAEouB,cACXC,EAAWruB,EAAEsuB,eAAkBtuB,EAAEuuB,YAAoBJ,GACvDzB,GAAY,GAEbI,EAAS3Z,SAAWoW,GAASuD,EAAS3Z,QAASkb,IAC/CxB,EAAW1Z,SAAWoW,GAASsD,EAAW1Z,QAASkb,MAEpD3B,GAAY,GAER2B,GAAWA,IAAYpuB,GAAYspB,GAAStpB,EAAQouB,IACxDhc,EAAQqa,EAAW1sB,EAEtB,CAED,SAASysB,IACFtY,IACLzM,EAAOyL,SAAW,EAClBmC,GAAU,GACX,CAED,SAAS6M,IACHhO,IACJzM,EAAOyL,SAAW,EAClBmC,GAAU,GACX,CAwCD,MA1BgB,UAAZuW,GAAwB3T,IAC1BoV,EAAatL,QAAWhiB,SAAAA,GACtB,IAAQgiB,GAnJNlC,GAASxc,EAAAA,eAAqBwc,GACzBA,EAAMngB,MAER,CAAC,GAgJEqiB,QACR7N,EAASsY,IAAStK,IACdH,GAASA,EAAQhiB,GAAImU,EAH3B,GAMc,UAAZ0X,GAAwB3T,IAC1BoV,EAAakB,QAAU,kBAAMV,GAAN,GAGT,UAAZjC,GAAwB3T,IAC1BoV,EAAamB,YAAcnB,EAAaoB,aAAgB1uB,SAAAA,GACtDkuB,EAAmBJ,EAAY9tB,EAAG,cADpC,EAGAstB,EAAaqB,WAAarB,EAAasB,aAAgB5uB,SAAAA,GACrDkuB,EAAmBD,EAAYjuB,EAAG,YADpC,EAGIqtB,EAAajY,cACfiY,EAAajY,YAAawZ,aAAgB5uB,SAAAA,GACxCkuB,EAAmBD,EAAYjuB,EAAG,YADpC,IAKJqtB,EAAa7tB,OAAb6tB,EAAAA,EAAAA,GAAAA,CAAAA,EAA0BA,EAAa7tB,MAAUytB,IAG/CpW,EAAAA,EAAAA,MAACvT,EAAAA,SAAD,CAAAlB,SAAAA,EACG0T,EAAAA,EAAAA,cACCgK,EACApa,OAAOkjB,OAAO,CAAE1Q,SAAAA,GAAY4H,EAAMngB,OAAlC+F,EAAAA,EAAAA,GAAAA,CAAAA,EACK4nB,EADL,CAEE5a,IAAKma,EACLhsB,UAAW,CAACif,EAAMngB,MAAMkB,UAAWqX,EAAc3F,EAAN,YAA6B,MACrEnN,OAAOC,SACPC,KAAK,KACLC,YAGPkN,EAAAA,EAAAA,KAAC4Z,IAAD,UACMgB,EADN,CAGE7tB,OAAK,UAAO6tB,EAAa7tB,MAAUytB,GACnClY,QAvDN,SAAqBlE,EAAmB4F,GACtC1B,GAAWA,EAAQlE,EAAM4F,GACzB,IAAMgX,EAAQ9B,GAAS,CACrB7lB,UAAWmnB,EAAYnnB,WAAaA,EACpC+lB,QAASgB,EAAW1Z,QACpB4Y,MAAOe,EAAS3Z,QAChBtN,UAAAA,EACAmmB,mBAAAA,IAEFkB,GAAe,UAAKO,EAAN,CAAa/lB,OAAQA,EAAOyL,UAC3C,EA8CKtS,UAAW,CAAC0R,EAAW1R,EAAWosB,EAAYnnB,WAAWV,OAAOC,SAASC,KAAK,KAAKC,OACnFM,UAAWA,EACX4O,eAAgBA,EAChBN,OAAQA,EACRI,aAAa,EATfnS,UAWG0T,EAAAA,EAAAA,cACCL,EACA/P,OAAOkjB,QAAPljB,EAAAA,EAAAA,GAAAA,CAAAA,EACK+P,EAAQ9V,MADb,CAEE+S,IAAKoa,EACLjsB,UAAW,CAAC4U,EAAQ9V,OAAS8V,EAAQ9V,MAAMkB,UAAWiF,GAAWV,OAAOC,SAASC,KAAK,KAAKC,gBA7PxF,ICzEFspB,GAAoB,CAC/BC,uBAAwB,OACxBC,wBACE,gHAOSC,GAAkCvb,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+GAe/Bub,GAAgCxb,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,OAAAA,OAAAA,SAAAA,SACrCjU,SAAAA,GAAD,YACA,CAAC,MAAO,UAAW,YAAYoF,UAAS,SAAApF,EAAMsX,aAAN,IAAcnR,YAAa,MACnEmO,EAAAA,EAAAA,IADA,0DAFsC,IAMrCtU,SAAAA,GAAD,YACA,CAAC,SAAU,aAAc,eAAeoF,UAAS,SAAApF,EAAMsX,aAAN,IAAcnR,YAAa,MAC5EmO,EAAAA,EAAAA,IADA,uDAPsC,IAWrCtU,SAAAA,GAAD,YACA,CAAC,QAAS,WAAY,eAAeoF,UAAS,SAAApF,EAAMsX,aAAN,IAAcnR,YAAa,MACzEmO,EAAAA,EAAAA,IADA,wDAZsC,IAiBrCtU,SAAAA,GAAD,YACA,CAAC,OAAQ,UAAW,cAAcoF,UAAS,SAAApF,EAAMsX,aAAN,IAAcnR,YAAa,MACtEmO,EAAAA,EAAAA,IADA,yDAlBsC,IAwB7Bib,IAA6Bzb,EAAAA,EAAAA,IAAOvH,GAAPuH,CAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uEAAAA,SAAAA,SAAAA,SAAAA,SAAAA,SAAAA,SAAAA,SAAAA,SAIlC1f,SAAAA,GAAD,MACA,CAAC,QAAS,WAAY,eAAeoF,SAASpF,EAAMmG,WAAa,MACjEmO,EAAAA,EAAAA,IADA,wHAEM+a,GAHN,IAUCrvB,SAAAA,GAAD,MACA,CAAC,OAAQ,UAAW,cAAcoF,SAASpF,EAAMmG,WAAa,MAC9DmO,EAAAA,EAAAA,IADA,6JAEM+a,GAHN,IAWCrvB,SAAAA,GAAD,MACA,CAAC,UAAW,YAAYoF,SAASpF,EAAMmG,WAAa,MACpDmO,EAAAA,EAAAA,IADA,yEAEM+a,GAHN,IAQCrvB,SAAAA,GAAD,MACA,CAAC,aAAc,eAAeoF,SAASpF,EAAMmG,WAAa,MAC1DmO,EAAAA,EAAAA,IADA,6FAEM+a,GAHN,IASCrvB,SAAAA,GAAD,MACA,CAAC,MAAO,UAAW,YAAYoF,SAASpF,EAAMmG,WAAa,MAC3DmO,EAAAA,EAAAA,IADA,gKAEM+a,GAHN,IAWCrvB,SAAAA,GAAD,MACA,CAAC,SAAU,aAAc,eAAeoF,SAASpF,EAAMmG,WAAa,MACpEmO,EAAAA,EAAAA,IADA,4JAEM+a,GAHN,IAWCrvB,SAAAA,GAAD,MACA,CAAC,aAAc,WAAWoF,SAASpF,EAAMmG,WAAa,MACtDmO,EAAAA,EAAAA,IADA,0EAEM+a,GAHN,IAQCrvB,SAAAA,GAAD,MACA,CAAC,cAAe,YAAYoF,SAASpF,EAAMmG,WAAa,MACxDmO,EAAAA,EAAAA,IADA,6FAEM+a,GAHN,IAUSG,GAAoC1b,EAAAA,GAAAA,IAAH2b,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,kBAAAA,6JAAAA,UAC9BzvB,SAAAA,GAAD,OACX+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcggB,KAAqB,yBADzD,IAQElvB,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcggB,KAAqB,0BADxD,I,sDChIK1iB,GAAAA,SAAAA,I,6BAA8C,qEASjEkjB,YAAc,WACZ,IAAQ9c,EAAc,EAAK5S,MAAnB4S,UACR,OACEE,EAAAA,EAAAA,KAACuc,GAAD,CAAiCnuB,UAAc0R,EAAL,SAA1CnQ,UACEyU,EAAAA,EAAAA,MAAAA,MAAAA,CAAKxY,QAAQ,YAAb+D,SAAAA,EACEqQ,EAAAA,EAAAA,KAAAA,OAAAA,CACE9O,YAAY,MACZ9E,EAAE,4IAEJ4T,EAAAA,EAAAA,KAAAA,OAAAA,CACE9T,KAAK,OACLE,EAAE,+IApBqD,I,qCA0BjEyO,WACE,MAAkE2D,KAAKtR,MAA/D4S,EAAR,EAAQA,UAAW1R,EAAnB,EAAmBA,UAAoByuB,EAAvC,EAAuCA,aAAiB3N,GAAxD,aACMrS,EAAM,CAACiD,EAAW1R,EAAYyuB,EAA4B,KAAb,YAAmBlqB,OAAOC,SAASC,KAAK,KAAKC,OAChG,OACEkN,EAAAA,EAAAA,KAACyc,IAAD,UACMvN,EADN,CAEElM,SACEoB,EAAAA,EAAAA,MAACoY,GAAD,CAA+BhY,OAAQ,CAAEnR,UAAWmL,KAAKtR,MAAMmG,WAAajF,UAAWyO,EAAvFlN,SAAAA,CACGktB,GAAgBre,KAAKoe,eACtB5c,EAAAA,EAAAA,KAAC0c,GAAD,CAAmCtuB,UAAc0R,EAAL,SAA5CnQ,SACG6O,KAAKtR,MAAMoG,aANpB3D,SAWkC,kBAAxB6O,KAAKtR,MAAMyC,UAA4E,SAAlD6O,KAAKtR,MAAMyC,SAAyB9C,KAAKoD,KACpFuO,KAAKtR,MAAMyC,UAEXqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAMjT,MAAO,CAAEiG,QAAS,QAAS8pB,YAAa,eAA9CntB,SAAgE6O,KAAKtR,MAAMyC,aAIlF,K,EAhDkB+J,CAAgB7I,EAAAA,WAAhB6I,GACZqjB,QCDM,SAAiB7vB,GAC9B,MASIA,EARFksB,QAAAA,OADF,MACY,QADZ,IASIlsB,EAPFmG,UAAAA,OAFF,MAEc,MAFd,IASInG,EANFyhB,YAAAA,OAHF,MAGgB,MAHhB,EAIE9e,EAKE3C,EALF2C,MAJF,EASI3C,EAJFshB,WAAAA,OALF,MAKe,KALf,EAMEqO,EAGE3vB,EAHF2vB,aACAltB,EAEEzC,EAFFyC,SACAqf,EACE9hB,EADF8hB,UAEF,GAA4Btd,EAAAA,EAAAA,WAAS,GAArC,eAAOgQ,EAAP,KAAemB,EAAf,KACA,OACE7C,EAAAA,EAAAA,KAACtG,GAAD,CACEgI,OAAQA,EACRmb,aAAcA,EACdvpB,SACE8Q,EAAAA,EAAAA,MAAAA,MAAAA,CAAKrX,MAAO,CAAEmI,QAAS,YAAaC,SAAU,YAA9CxF,SAAAA,EACEqQ,EAAAA,EAAAA,KAACpT,GAAD,CACEC,KAAK,cACLE,MAAO,CAAEoI,SAAU,WAAYrB,IAAK,KAAMuS,SAAU,GAAI/U,UAAW,iBAAkBmC,MAAO,cAE9F2Q,EAAAA,EAAAA,MAAAA,MAAAA,CAAKrX,MAAO,CAAEwI,YAAa,IAA3B5F,SAAAA,EACEqQ,EAAAA,EAAAA,KAAAA,MAAAA,CAAKjT,MAAO,CAAEsZ,SAAU,IAAxB1W,SAA+BE,KAC/BuU,EAAAA,EAAAA,MAAAA,MAAAA,CAAKrX,MAAO,CAAEoI,SAAU,WAAYE,OAAQ,EAAG2nB,UAAW,GAAIhqB,QAAS,OAAQ0C,eAAgB,OAA/F/F,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC9H,GAAD,CAAQrE,KAAK,QAAQ0b,QAAS,kBAAM1M,GAAU,EAAhB,EAA9BlT,SACG6e,KAEHxO,EAAAA,EAAAA,KAAC9H,GAAD,CACErE,KAAK,QACLhH,KAAK,UACLE,MAAO,CAAEiH,WAAY,IACrBub,QAAS,WACE,MAATP,GAAAA,IACAnM,GAAU,EANd,EAAAlT,SASGgf,aAMXyK,QAASA,EACT/lB,UAAWA,EA/Bb1D,UAiCEqQ,EAAAA,EAAAA,KAAAA,MAAAA,CAAKuP,QAAS,kBAAM1M,GAAU,EAAhB,EAAdlT,SAAsCA,KAG3C,EDjDoB+J,GAELwG,aAA6B,CACzCJ,UAAW,YACXzM,UAAW,MACXD,WAAW,EACXsO,QAAQ,EACRmb,cAAc,GEnBX,I,2BAAMI,GAAkB,CAC7BC,oBAAqB,UACrBC,yBAA0B,wBAC1BC,4BAA6B,yBAC7BC,4BAA6B,wBAC7BC,8BAA+B,OAC/BC,mBAAoB,OACpBC,qBAAsB,UACtBC,0BAA2B,UAC3BC,0BAA2B,yBAC3BC,0BAA2B,UAC3BC,0BAA2B,sBAC3BC,4BAA6B,UAC7BC,mBAAoB,UAEpBC,wBAAyB,MAEzBjX,gBAAiB,OACjBC,cAAe,OACfiX,wBAAyB,OACzBC,mBAAoB,OACpBC,qBAAsB,OACtBC,qBAAsB,OACtBC,+BAAgC,QAG5BlO,GAAa,CACjB9T,cAAc,UAAK6gB,KAQRoB,GAAiBrd,EAAAA,GAAAA,MAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACtB/T,SAAAA,GACD,IAAMoxB,EAA+BriB,GAAqB,UACnD/O,EAAUgjB,IADwC,gCAInDkN,EAA8BnhB,GAAqB,UAClD/O,EAAUgjB,IADuC,+BAIlDmN,EAA8BphB,GAAqB,UAClD/O,EAAUgjB,IADuC,+BAIlDwN,EAA4BzhB,GAAqB,UAAK/O,EAAUgjB,IAAhB,6BAChDyN,EAA4B1hB,GAAqB,UAAK/O,EAAUgjB,IAAhB,6BAEtD,OAAO1O,EAAAA,EAAAA,IAAP,2mCAIwB8c,EAAyCA,EAC3ClB,EAAgDC,EAEtDphB,GAAqB,UAAK/O,EAAUgjB,IAAhB,iCACxBjU,GAAqB,UAAK/O,EAAUgjB,IAAhB,sBAIfjU,GAAqB,UAAK/O,EAAUgjB,IAAhB,sBAC1BjU,GAAqB,UAAK/O,EAAUgjB,IAAhB,uBAEhBjU,GAAqB,UAAK/O,EAAUgjB,IAAhB,wBAOPjU,GAAqB,UAAK/O,EAAUgjB,IAAhB,6BAC9BwN,EAA8CL,EAGpCM,EACV1hB,GAAqB,UAAK/O,EAAUgjB,IAAhB,6BACdmN,EAGIM,EAAwCD,EAC5CL,EAINphB,GAAqB,UAAK/O,EAAUgjB,IAAhB,+BAEzBjU,GAAqB,UAAK/O,EAAUgjB,IAAhB,sBAvDV,IA+DdqO,GAAuBvd,EAAAA,GAAAA,KAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC5BnU,SAAAA,GACD,OAAOsU,EAAAA,EAAAA,IAAP,6NAESvF,GAAqB,UAAK/O,EAAUgjB,IAAhB,2BAClBjU,GAAqB,UAAK/O,EAAUgjB,IAAhB,2BAEnBjU,GAAqB,UAAK/O,EAAUgjB,IAAhB,2BAPH,IAgBpBsO,GAAiBxd,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,yCAAAA,qBAAAA,eAAAA,YAAAA,kBAAAA,iBAAAA,oHAAAA,SAAAA,SAEXtf,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,IACGhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IACLhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qBAA7D,GAELmO,IACQnxB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qBAA7D,GAGP3L,IAODrX,SAAAA,GACD,GAAmB,UAAfA,EAAM2G,KACR,OAAO2N,EAAAA,EAAAA,IAAP,uIACevF,GAAqB,UAAK/O,EAAUgjB,IAAc,iBAC7DmO,GACepiB,GAAqB,UAAK/O,EAAUgjB,IAAc,wBACvDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAvB3C,IA6BtBhjB,SAAAA,GACD,GAAmB,UAAfA,EAAM2G,KACR,OAAO2N,EAAAA,EAAAA,IAAP,uWAEI6c,GACepiB,GAAqB,UAAK/O,EAAUgjB,IAAc,wBACvDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAM5DqO,GAEiBtiB,GAAqB,UAAK/O,EAAUgjB,IAAc,kCACnDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,kCA5CjD,IAoD3B,M,wFC7JA,GAAerf,EAAAA,YAAqD,SAAC3D,EAAO+S,GAC1E,IACE7R,EASElB,EATFkB,UACAqwB,EAQEvxB,EARFuxB,IACAvJ,EAOEhoB,EAPFgoB,IACA3B,EAMErmB,EANFqmB,KACAmL,EAKExxB,EALFwxB,eALF,GAUIxxB,EAJFyxB,SAIEzxB,EAFF4S,WAAAA,OARF,MAQc,iBARd,EASK8C,GATL,OAUI1V,EAVJ,IAYMG,GAAQF,EAAAA,EAAAA,UAAQ,wBAAMyxB,OAAOxH,WAAP,OAAAwH,EAAmB1xB,EAAMG,OAAS,QAAlC,EAAkBwxB,EAAoBC,WAA7C,GAA0D,CAAC5xB,EAAMG,QACtF,GAAsCqE,EAAAA,EAAAA,UAASqtB,EAAc1xB,IAA7D,eAAO2xB,EAAP,KAAoBC,EAApB,KAEA,SAASF,EAAc1xB,GACrB,MAAmB,kBAARoxB,GAAoBpxB,EAAQoxB,GACpB,kBAARvJ,GAAoB7nB,EAAQ6nB,CAExC,CAED,IAOMgK,GAAiB/xB,EAAAA,EAAAA,UAAQ,WAC7B,IAAKuxB,EAAgB,MAAO,CAAED,IAAAA,EAAKvJ,IAAAA,EADP,GAE3B,IAEGrY,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OACvDqsB,GAAahyB,EAAAA,EAAAA,UAAQ,kBAAO6xB,EAAc,CAAEvrB,MAAK,MAAEirB,OAAF,EAAEA,EAAgBI,iBAAenrB,CAA7D,GAAyE,CAACqrB,IAErG,OACEhf,EAAAA,EAAAA,KAAC/H,IAAD,UACM2K,EADN,CAEExU,UAAWyO,EACXhQ,KAAK,SACLsyB,WAAYA,EACZ7xB,SApBc8xB,SAAAA,GAChB,IAAMJ,EAAcD,EAAcH,OAAOxH,WAAWgI,EAAE5xB,OAAOH,QAC7D4xB,EAAeD,GAEf9xB,MAAAA,EAAMI,UAANJ,EAAMI,SAAW8xB,EAJnB,EAqBI7L,KAAMA,GACF2L,GA5CK,I,kGCGf,GAAeruB,EAAAA,YAA+C,SAAC3D,EAAO+S,GACpE,MAWI/S,EAVF4S,UAAAA,OADF,MACc,UADd,EAEE1R,EASElB,EATFkB,UACArB,EAQEG,EARFH,MAHF,EAWIG,EAPF2G,KAAAA,OAJF,MAIS,UAJT,IAWI3G,EANFL,KAAAA,OALF,MAKS,OALT,IAWIK,EALFmyB,QAAAA,OANF,MAMY,KANZ,EAOEC,EAIEpyB,EAJFoyB,WACAH,EAGEjyB,EAHFiyB,WACA1Z,EAEEvY,EAFFuY,SACG7C,GAVL,OAWI1V,EAXJ,IAYMqyB,EAAW1uB,EAAAA,OAA+B,MAC1C2uB,EAAW3uB,EAAAA,OAA8B,OAC/C6pB,EAAAA,EAAAA,qBAAsEza,GAAK,kBAAMsf,EAAS7e,OAAf,IAC3E,IAAM7D,EAAM,CACViD,EACA1R,EACAyF,EAAUiM,EAAN,IAAmBjM,EAAS,KAChCyrB,EAAgBxf,EAAN,SAA0B,KACpC2F,EAAW,WAAa,MAEvB9S,OAAOC,SACPC,KAAK,KACLC,OAcH,OAZA2N,EAAAA,EAAAA,YAAU,YAIV,WACE,GAAI+e,EAAS9e,SAAW6e,EAAS7e,QAAS,CACxC,IAAM+e,EAAQ9xB,QAAUA,OAAO0qB,iBAAiBmH,EAAS9e,QAAS,MAClE6e,EAAS7e,QAAQ3T,MAAM2yB,aACrBF,EAAS9e,QAAQzB,YAAoD,EAAtC8Y,SAAS0H,EAAMxH,MAAiB,IADjE,IAGD,CACF,CAVC0H,EADO,KAaPvb,EAAAA,EAAAA,MAACoa,GAAD,CAAgBpwB,UAAWyO,EAAK9P,MAAOA,EAAO8G,KAAMA,EAAMyrB,WAAYA,EAAY7Z,SAAUA,EAA5F9V,SAAAA,CACG0vB,GACDrf,EAAAA,EAAAA,KAACqe,IAAD,QACEpe,IAAKsf,EACL1yB,KAAMA,EACN+yB,aAAa,MACbna,SAAUA,GACN7C,EALN,CAME7V,MAAOoyB,EACP/wB,UAAc0R,EAAL,YAEVwf,IACCtf,EAAAA,EAAAA,KAACue,GAAD,CAAsBnwB,UAAc0R,EAAL,eAA8BG,IAAKuf,EAAlE7vB,SACG2vB,MArDI,I,UCNFO,GAA2B,CACtCC,oCAAqC,UAErCC,gBAAiB,UACjBC,wBAAyB,UACzBC,wBAAyB,OACzBC,gCAAiC,UACjCC,+BAAgC,UAChCC,gCAAiC,UAEjCC,8BAA+B,UAC/BC,mCAAoC,WAKzBC,GAAgBvf,EAAAA,GAAAA,MAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAKbuf,GAA2Bxf,EAAAA,GAAAA,OAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,wDAAAA,kEAAAA,kCAAAA,sEACjCof,GAGAA,IAGUrzB,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcyjB,KAA4B,gCADpE,IAGG3yB,SAAAA,GAAD,OACP+O,GAAqB,UACd/O,EADa,CACNkP,aAAcyjB,KAC1B,qCAHK,IAcFY,GAAuBzf,EAAAA,GAAAA,GAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+KAYpBqf,GAAuB1f,EAAAA,GAAAA,GAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2LAAAA,UAAAA,SAAAA,SAAAA,cAUnBrU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcyjB,KAA4B,kBAAtF,IACN3yB,SAAAA,GAAD,OACCA,EAAMuY,WACPjE,EAAAA,EAAAA,IADA,iKAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UACd/O,EADa,CACNkP,aAAcyjB,KAC1B,iCAHgB,IAOC3yB,SAAAA,GAAD,OAClB+O,GAAqB,UACd/O,EADa,CACNkP,aAAcyjB,KAC1B,kCAHgB,GAXxB,IAkBC3yB,SAAAA,GAAD,OACAA,EAAMyzB,WACNnf,EAAAA,EAAAA,IADA,+IAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UACd/O,EADa,CACNkP,aAAcyjB,KAC1B,kCAHgB,IAMV3yB,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcyjB,KAA4B,0BADpE,GAVb,IAcC3yB,SAAAA,GAAD,OACAA,EAAMuY,WACNjE,EAAAA,EAAAA,IADA,4KAGctU,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcyjB,KAA4B,0BADpE,GAJb,IAqBOe,GAAqB5f,EAAAA,GAAAA,IAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gLAAAA,sBAWpB5f,SAAAA,GAAD,OACA+O,GAAqB,UACd/O,EADa,CACNkP,aAAcyjB,KAC1B,sCAHF,IAcGgB,GAAoB7f,EAAAA,GAAAA,IAAHqN,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mJ,mIC5Hf,SAASyS,GAAgB5zB,GACtC,MAYIA,EAXF4S,UAAAA,OADF,MACc,eADd,IAYI5S,EATFioB,MAAAA,OAHF,MAGU,GAHV,EAIE4L,EAQE7zB,EARF6zB,KAJF,EAYI7zB,EAPFL,KAAAA,OALF,MAKS,QALT,EASEm0B,EAGE9zB,EAHF8zB,aACAC,EAEE/zB,EAFF+zB,WACG/R,GAXL,OAYIhiB,EAZJ,IAaMg0B,GAAY3gB,EAAAA,EAAAA,QAAiB,IAanC,SAAS4gB,EAAgBC,GACvB,IAAM3b,EAAWvY,EAAM,WAAWL,GAClC,QAAI4Y,GACKA,EAAS2b,EAAKv0B,EAAM,IAAIw0B,KAAKN,GAGvC,CASD,IAAM9yB,GAAOd,EAAAA,EAAAA,UAAQ,WACnB,OAAO,QAAIm0B,MAAMnM,IACd5mB,KAAI,SAACgzB,EAAG/yB,GAGP,OAFiB2yB,EAAgB3yB,IACnB0yB,EAAUxgB,QAAQjO,KAAKjE,GAC9B,CACL2mB,MAAO3mB,EACPiX,SAAU0b,EAAgB3yB,GANzB,IASJmE,QAAQrD,SAAAA,GAAD,OAAW0xB,IAAgB1xB,EAAKmW,QAAhC,GAVQ,GAWjB,CAACub,IAEJ,OACEhhB,EAAAA,EAAAA,KAAC4gB,IAAD,QAAoBxyB,UAAc0R,EAAL,YAA8BoP,EAA3D,CAAAvf,UACEqQ,EAAAA,EAAAA,KAACygB,GAAD,CAAA9wB,SACG1B,EAAKM,KAAI,SAACe,EAAMd,GACf,IAAMgzB,EAAU,CAAC,EACZlyB,EAAKmW,WACR+b,EAAQjS,QAAWhiB,SAAAA,GAAD,OAxC5B,SAAqB6zB,EAAa7zB,GAChC,GAAKwzB,EAAL,CACA,IAAMU,EAAc,IAAIJ,KAAKN,GAC7BU,EAAY,MAAM50B,GAAoDu0B,GACtEH,GAAcA,EAAWp0B,EAAMu0B,EAAKF,EAAUxgB,QAAS+gB,EAHtC,CAIlB,CAmCkCC,CAAYpyB,EAAK6lB,MAAxB,GAEpB,IAAMwM,EA/CRZ,GAAQl0B,EACH,IAAIw0B,KAAKN,GAAT,MAAqBl0B,KAEvB,EA6CD,OACEmT,EAAAA,EAAAA,KAAC0gB,IAAD,QAEE,aAAYiB,IAAiBryB,EAAK6lB,MAAQ3mB,OAAMmF,EAChDsM,IAAM2hB,SAAAA,GAAD,OAAwBA,GAlCzC,SAAyBA,GACvB,GAAIA,GAAOA,EAAInL,YAAcmL,EAAIC,QAAJD,MAAsB,CACjD,IAAM5sB,EAAY4pB,OAAOgD,EAAIC,QAAJD,OAAwBA,EAAI1iB,aACjD0iB,EAAInL,WAAWA,aAChBmL,EAAInL,WAAWA,WAA8BpZ,UAAYrI,EAE7D,CACF,CA2B+C8sB,CAAgBF,EAA/C,GACDJ,EAJN,CAKE/b,SAAUnW,EAAKmW,SACfkb,SAAUgB,IAAiBryB,EAAK6lB,MAChC/mB,UAAW,CACTkB,EAAKmW,SAAW,WAAa,KAC7Bkc,IAAiBryB,EAAK6lB,MAAQ,WAAa,KAC3C6L,GAAgB1xB,EAAKmW,SAAW,OAAS,MAExC9S,OAAOC,SACPC,KAAK,KACLC,OAdLnD,SAgBGL,EAAK6lB,MAAQ,GAAb7lB,IAAsBA,EAAK6lB,MAAU7lB,EAAK6lB,QAftC3mB,EARV,QA8BR,C,6CC7GM,SAASuzB,GAAe70B,GAC7B,MAAkFA,EAA1E4S,UAAAA,OAAR,MAAoB,eAApB,EAAoC1R,EAA8ClB,EAA9CkB,UAApC,EAAkFlB,EAAnC80B,UAAAA,OAA/C,MAA2D,SAA3D,EAAwE9S,GAAxE,OAAkFhiB,EAAlF,IACA,OACEkX,EAAAA,EAAAA,MAACyc,GAAD,CAAmBzyB,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAA/EnD,SAAAA,CACG,yBAAyBF,KAAKuyB,KAA2BhiB,EAAAA,EAAAA,KAACiiB,IAAD,QAAWp1B,KAAK,QAAQsoB,MAAO,IAAQjG,IAChG,oBAAoBzf,KAAKuyB,KAA2BhiB,EAAAA,EAAAA,KAACiiB,IAAD,QAAWp1B,KAAK,UAAUsoB,MAAO,IAAQjG,IAC7F,aAAazf,KAAKuyB,KAA2BhiB,EAAAA,EAAAA,KAACiiB,IAAD,QAAWp1B,KAAK,UAAUsoB,MAAO,IAAQjG,MAG5F,C,0LCcc,SAAS9V,GAAWlM,GACjC,MAgBIA,EAfF4S,UAAAA,OADF,MACc,eADd,EAEE1R,EAcElB,EAdFkB,UACAqX,EAaEvY,EAbFuY,SAHF,EAgBIvY,EAXFg1B,OAAAA,OALF,MAKW,WALX,EAMEC,EAUEj1B,EAVFi1B,aANF,EAgBIj1B,EATFk1B,WAAAA,OAPF,SAQE90B,EAQEJ,EARFI,SACA+0B,EAOEn1B,EAPFm1B,cACAC,EAMEp1B,EANFo1B,gBACAC,EAKEr1B,EALFq1B,gBACAvB,EAIE9zB,EAJF8zB,aACAgB,EAGE90B,EAHF80B,UACAjyB,EAEE7C,EAFF6C,KACGyyB,GAfL,OAgBIt1B,EAhBJ,IAiBA,GAAwBwE,EAAAA,EAAAA,UAASxE,EAAMG,OAAvC,eAAO0zB,EAAP,KAAa0B,EAAb,MACAhiB,EAAAA,EAAAA,YAAU,kBAAMgiB,EAAQv1B,EAAMG,MAApB,GAA4B,CAACH,EAAMG,QAC7C,IAAMq1B,EAAY,CAChBL,cAAAA,EACAC,gBAAAA,EACAC,gBAAAA,EACAvB,aAAAA,EACAgB,UAAAA,GAEIW,EAAa5B,GAAO6B,EAAAA,GAAAA,GAAUV,EAAQ,IAAIb,KAAKN,IAAS,GACxD8B,EAAiB9B,GAAQ,IAAIM,KAC7ByB,GAAqB,UAAKN,EAAR,CAAoBn1B,MAAOs1B,IAkBnD,OAjBIP,GAA6B,KAAfO,GAAuBA,IACvCG,EAAOxD,YACLtf,EAAAA,EAAAA,KAACwgB,GAAD,CACEld,GAAIpL,GACJ9J,UAAc0R,EAAL,aACT/P,KAAMA,EACN0V,SAAUvY,EAAMuY,SAChB8J,QAAS,WACPkT,OAAQ9uB,GACRrG,GAAYA,GAPhB,EASEuG,KAAM3G,EAAM2G,KACZyR,OAAK,EACLzY,KAAK,YAKTmT,EAAAA,EAAAA,KAACtG,IAAD,QACE0f,QAAQ,QACR/lB,UAAU,aACVkmB,oBAAkB,EAClBsD,cAAc,GACVsF,EALN,CAME7uB,SACE0M,EAAAA,EAAAA,KAAC+hB,IAAD,QACE3zB,UAAc0R,EAAL,YACL4iB,EAFN,CAGE3B,KAAM8B,EACN5B,WAAY,SAACp0B,EAAMu0B,EAAKF,EAAWO,GACjCgB,EAAQ,IAAIpB,KAAKI,IACjB,IAAMsB,EAAUtB,GAAcmB,EAAAA,GAAAA,GAAUV,EAAQT,GAAe,GAC/Dn0B,GAAYA,EAASy1B,EAAStB,EAAa50B,EAAMu0B,EAAKF,EACvD,KAfPvxB,UAmBEqQ,EAAAA,EAAAA,KAACugB,IAAD,QACEjd,GAAIrL,GACJhE,YAAY,iCACZ+uB,UAAQ,EACRvd,SAAUA,GACNqd,EALN,CAME10B,UAAW,CAAI0R,EAAJ,SAAuB1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,YAI9E,CC/GM,I,8BAAMmwB,GAAuB,CAClCC,mCAAoC,UACpCC,oDAAqD,OACrDC,gCAAiC,UACjC1b,4BAA6B,UAE7BE,6BAA8B,UAC9Byb,2CAA4C,UAC5CC,iDAAkD,UAClDC,oBAAqB,OAGrB9b,uBAAwB,UACxBD,aAAc,OACdK,+BAAgC,UAChC2b,uCAAwC,4BAExCC,4BAA6B,UAC7BC,qCAAsC,UACtCC,wBAAyB,UAEzBC,sBAAuB,UAEvB9c,gBAAiB,OAGjB+c,0BAA2B,UAC3BC,wBAAyB,UACzBC,yBAA0B,wBAC1BC,yBAA0B,sBAC1BC,yBAA0B,wBAE1Blc,iCAAkC,UAClCmc,sBAAuB,sBAEvBC,mCAAoC,WC/BhCjU,GAAa,CACjB9T,cAAc,UAAK6mB,KAKRmB,GAA0BpjB,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8BAWvBojB,GAA0BrjB,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,4OAAAA,eAatBjU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAA7D,IAGAoU,IAAyBtjB,EAAAA,EAAAA,IAAOqjB,GAAPrjB,CAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mDAMtBkjB,IAAsBvjB,EAAAA,EAAAA,IAAOqjB,GAAPrjB,CAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+DAAAA,gKAAAA,SAAAA,sDAAAA,mBAAAA,2DAAAA,iBAAAA,cAIzBrU,SAAAA,GAAD,gBACC,SAAAA,EAAM2P,UAAN,IAAW2nB,QAAX,SAAmBt3B,EAAM2P,UAAzB,EAAmB4nB,EAAWC,SAC/BljB,EAAAA,EAAAA,IADC,SAAD,sEAGctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,8BAA7D,GARa,IAiBzBhjB,SAAAA,GAAD,aACA,SAAAA,EAAM2P,UAAN,IAAW8nB,SACXnjB,EAAAA,EAAAA,IADA,gGAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qCADhC,GArBE,IAyBzBhjB,SAAAA,GAAD,aACA,SAAAA,EAAM2P,UAAN,IAAW8jB,YACXnf,EAAAA,EAAAA,IADA,wKAKgBtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,eAA7D,IACYhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,GAhCA,IAsCLhjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qCADhC,IAEVhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAGYhjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kCADhC,IAGnBhjB,SAAAA,GAAD,aACA,SAAAA,EAAM2P,UAAN,IAAW4I,YACXjE,EAAAA,EAAAA,IADA,0OAKgBtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,8BAA7D,IAEYhjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,uCADhC,IAGpB,wBACA,SAAAhjB,EAAM2P,UAAN,IAAW8nB,SACXnjB,EAAAA,EAAAA,IADA,qJAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yCADhC,IAEVhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,eAA7D,GAhBnB,IAmBM,wBACA,SAAAhjB,EAAM2P,UAAN,IAAW8jB,YACXnf,EAAAA,EAAAA,IADA,qJAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,iCADhC,IAEVhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,eAA7D,GAzBnB,GA/C0B,I,oNCvBhC,SAAS0U,GAAWC,GAClB,OAAO5xB,OAAOC,KAAK2xB,GAAO,CAAC,GACxBt2B,KAAKu2B,SAAAA,GAAD,OAAcD,EAAIC,GAAWA,EAAU,IAAvC,IACJnyB,OAAOC,SACPC,KAAK,KACLC,MACJ,CA+CM,SAASiyB,GAAQ73B,GACtB,IACQ83B,EAUJ93B,EAVF6zB,KAEAkE,EAQE/3B,EARF+3B,IACA5qB,EAOEnN,EAPFmN,MACAsqB,EAMEz3B,EANFy3B,MACAO,EAKEh4B,EALFg4B,UACAC,EAIEj4B,EAJFi4B,aACAC,EAGEl4B,EAHFk4B,UACAC,EAEEn4B,EAFFm4B,YACGnW,GAVL,OAWIhiB,EAXJ,IAYM2P,EAA4C,CAChDyoB,IAAa,IAARL,GAAqB,IAARA,EAClBT,MAAM,EACNG,OAAO,EACPhE,UAAU,EACV+D,MAAM,EACNjf,UAAU,GAERsb,EAAOmE,EACNnE,GArFP,SAAqBA,GACnB,OAAOA,aAAgBM,OAASkE,MAAMxE,EAAKyE,UAC5C,CAmFeC,CAAY1E,KAAOA,EAAO,IAAIM,MAC5C,IAAMqE,EAAO3E,EAAK4E,cACZC,EAAQ7E,EAAK8E,WACbC,GAAO34B,EAAAA,EAAAA,UAAQ,kBAAM,IAAIk0B,KAAK,IAAIA,KAAKN,GAAO0B,QAAQ,IAAIsD,QAA3C,GAAqD,CAAChF,EAAKiF,iBAC1EC,GAAU94B,EAAAA,EAAAA,UAAQ,kBAAM,IAAIk0B,KAAKqE,EAAgB,IAAVE,EAAc,GAAKA,EAAQ,EAAG,GAAGM,SAAtD,GAAiE,CAACnF,EAAKiF,iBAC3FG,EAAM9rB,EACN0mB,KACFoF,EAAMA,EAAML,EAAO,GACT,IACRjpB,EAAI2nB,MAAO,GAET2B,EAAMF,IACRppB,EAAI6nB,MAAO,IAGf,IAAI0B,EAAW,IAAI/E,KAAK,IAAIA,KAAKN,GAAO0B,QAAQ0D,IAC5CxB,GAASA,EAAMqB,iBAAmBI,EAASJ,iBAC7CnpB,EAAI8nB,OAAQ,GAEVK,GAAgBA,EAAagB,iBAAmBI,EAASJ,iBAC3DnpB,EAAI8jB,UAAW,GAEjB,IAAM0F,EAAiD,CACrD9W,QAAS,WACP,IAAM+W,EAAYF,EAASP,WAC3BR,GACEA,EAAae,EAAU,CACrBV,KAAMU,EAAST,cACfC,MAAqB,IAAdU,EAAkB,GAAKA,EAAY,EAC1CH,IAAKC,EAASF,WAEnB,GAMH,OAJIf,GAAgBA,EAAaiB,GAAD,UAAgBl5B,EAAU2P,MACxDA,EAAI4I,UAAW,SACR4gB,EAAS9W,UAGhBvP,EAAAA,EAAAA,KAACukB,IAAD,QAAqBn2B,UAAWw2B,GAAW/nB,IAAUqS,EAAWmX,EAAhE,CAA0ExpB,IAAKA,EAA/ElN,SACGy1B,EACCA,EAAUgB,EAASF,WAAV,UAA0Bh5B,EAAU2P,EAApC,CAAyCkkB,KAAMqF,MAExDpmB,EAAAA,EAAAA,KAAAA,MAAAA,CAAArQ,SAAMy2B,EAASF,cAItB,CAED,I,eAAMK,GAAY,CAAC,qBAAO,qBAAO,qBAAO,qBAAO,qBAAO,qBAAO,sBACvDC,GAAU,CAAC,SAAK,SAAK,SAAK,SAAK,SAAK,SAAK,UAExC,SAASC,GAAcv5B,GAC5B,MAYIA,EAXF4S,UAAAA,OADF,MACc,eADd,EAEE1R,EAUElB,EAVFkB,UAFF,EAYIlB,EATFw5B,QAAAA,OAHF,MAGYF,GAHZ,IAYIt5B,EARFy5B,UAAAA,OAJF,MAIcJ,GAJd,EAKExF,EAOE7zB,EAPF6zB,KACA4D,EAMEz3B,EANFy3B,MACAO,EAKEh4B,EALFg4B,UACAC,EAIEj4B,EAJFi4B,aACAC,EAGEl4B,EAHFk4B,UACAC,EAEEn4B,EAFFm4B,YACGnW,GAXL,OAYIhiB,EAZJ,IAcM05B,GAAez5B,EAAAA,EAAAA,UACnB,kBACE6S,EAAAA,EAAAA,KAACskB,GAAD,CAAwBl2B,UAAc0R,EAAL,WAAjCnQ,UACI+2B,GAAW,IAAIn4B,KAAI,SAACu3B,EAAMt3B,GAAP,OACnBwR,EAAAA,EAAAA,KAAAA,MAAAA,CAAe5R,UAAWw2B,GAAW,CAAEU,IAAa,IAAR92B,GAAqB,IAARA,IAAcqB,MAAO82B,GAAaA,EAAUn4B,GAArGmB,SACGm2B,GADOt3B,EADS,KAFzB,GASA,CAACsR,EAAW4mB,EAASC,IAGvB,OACEviB,EAAAA,EAAAA,MAACggB,IAAD,UACMlV,EADN,CAEE9gB,UAAW,CAAC0R,EAAeA,EAAN,QAAyB,KAAM1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAF3FnD,SAAAA,CAIGi3B,GACD5mB,EAAAA,EAAAA,KAAAA,MAAAA,CAAK5R,UAAW,CAAC0R,EAAeA,EAAN,YAA6B,MAAMnN,OAAOC,SAASC,KAAK,KAAKC,OAAvFnD,UACG,QAAI2xB,MAAM,IAAI/yB,KAAI,SAACgzB,EAAG/yB,GAAJ,OACjBwR,EAAAA,EAAAA,KAACqkB,GAAD,CAAmCj2B,UAAc0R,EAAL,QAA5CnQ,UACG,QAAI2xB,MAAM,IAAI/yB,KAAI,SAACgzB,EAAG0D,GAAJ,OACjBjlB,EAAAA,EAAAA,KAAC+kB,GAAD,CACEhE,KAAMA,EACN4D,MAAOA,EACPQ,aAAcA,EACdC,UAAWA,EACXF,UAAWA,EAEXD,IAAKA,EACL4B,IAAKr4B,EACL62B,YAAa,SAACyB,EAAS74B,GACrBo3B,GAAeA,EAAYyB,EAAS74B,EAVxC,EAYEoM,MAAa,EAAN7L,EAAUy2B,GANZA,EAPU,KADSz2B,EADb,SAuB1B,CCzMD,IAAM0hB,GAAa,CACjB9T,cAAc,UAAK6mB,KAOR8D,GAA+B/lB,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8FAAAA,SAMpC/T,SAAAA,GAAD,OACAA,EAAM85B,SACNxlB,EAAAA,EAAAA,IADA,gFADA,IAcSylB,GAAiCjmB,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2MAAAA,6CAAAA,iBAAAA,aAAAA,SAWtCnU,SAAAA,GAAD,OACAA,EAAMyzB,WACNnf,EAAAA,EAAAA,IADA,8GAGctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,eAA7D,IACYhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,GALxB,IASqBhjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,mCADhC,IAEVhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,IAERhjB,SAAAA,GAAD,OACAA,EAAMg6B,SACN1lB,EAAAA,EAAAA,IADA,uEAGctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAA7D,GAJb,I,mEC5CG,SAASiX,GAAgBj6B,GAC9B,MAOIA,EANF4S,UAAAA,OADF,MACc,eADd,EAEE1R,EAKElB,EALFkB,UAFF,EAOIlB,EAJFg4B,UAAAA,OAHF,MAGc,IAAI7D,KAHlB,EAIE+F,EAGEl6B,EAHFk6B,WAJF,EAOIl6B,EAFF+zB,WAAAA,OALF,MAKejlB,EALf,EAMKkT,GANL,OAOIhiB,EAPJ,IAQA,OACE8S,EAAAA,EAAAA,KAAC+mB,IAAD,QACE34B,UAAW,CAAC0R,EAAeA,EAAN,SAA0B,KAAM1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,QACtFoc,EAFN,CAGE8X,QAAQ,EAHVr3B,UAKG,QAAI2xB,MAAM,KAAK/yB,KAAI,SAACgzB,EAAG/yB,GACtB,IAAM64B,EAAgBnC,EAAWW,WACjC,OACE7lB,EAAAA,EAAAA,KAACinB,GAAD,CACEtG,SAAU0G,IAAkB74B,EAC5B04B,QAAQ,EAER94B,UAAW,CAACi5B,IAAkB74B,EAAM,WAAa,MAAMmE,OAAOC,SAASC,KAAK,KAAKC,OAJnFnD,UAMEqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAMuP,QAAS,kBAAM0R,EAAWzyB,GAAK,EAAtB,EAAfmB,SAA+Cy3B,GAAcA,EAAW54B,IAASA,KAH5EA,EANV,MAeN,C,gGC9BM,SAAS84B,GAAep6B,GAC7B,MAOIA,EANF4S,UAAAA,OADF,MACc,eADd,IAOI5S,EALFq6B,SAAAA,OAFF,MAEa,EAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAFxE,EAGEn5B,EAIElB,EAJFkB,UAHF,EAOIlB,EAFF+zB,WAAAA,OALF,MAKejlB,EALf,EAMKkT,GANL,OAOIhiB,EAPJ,IAQA,GAAoCwE,EAAAA,EAAAA,UAASxE,EAAMg4B,WAAnD,eAAOsC,EAAP,KAAmBC,EAAnB,KAWA,OACEznB,EAAAA,EAAAA,KAAC+mB,IAAD,QACE34B,UAAW,CAAC0R,EAAeA,EAAN,QAAyB,KAAM1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,QACrFoc,EAFN,CAGE8X,QAAM,EAHRr3B,SAKG43B,GACCA,EAASh5B,KAAI,SAACgzB,EAAG/yB,GACf,IAAMk5B,EAAeF,EAAY7B,cAC3BD,EAAOgC,EAAeH,EAAS/4B,GACrC,OACEwR,EAAAA,EAAAA,KAACinB,GAAD,CAEEtG,SAAU+G,IAAiBhC,EAC3BwB,OAAgB,IAAR14B,GAAaA,IAAQ+4B,EAASr1B,OAAS,EAC/C9D,UAAW,CACTs5B,IAAiBhC,EAAO,WAAa,KAC7B,IAARl3B,GAAaA,IAAQ+4B,EAASr1B,OAAS,EAAI,SAAW,MAErDS,OAAOC,SACPC,KAAK,KACLC,OAVLnD,UAYEqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAMuP,QAAS,kBAjC3B,SAAwBmW,EAAcl3B,GACpC,GAAY,IAARA,GAAaA,IAAQ+4B,EAAUr1B,OAAS,EAAG,CAC7C,IAAM6uB,EAAO,IAAIM,KAAKmG,GACtBzG,EAAK4G,YAAYjC,GACjB+B,EAAc1G,GACdE,EAAYyE,GAAM,EAJpB,MAMEzE,EAAYyE,EAEf,CAwBgCkC,CAAelC,EAAMl3B,EAA3B,EAAfmB,SAAiD+1B,KAX5Cl3B,EALX,MAsBP,CCzDD,I,GAAM0hB,GAAa,CACjB9T,cAAc,UAAK6mB,KASR4E,GAAiC7mB,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8LAAAA,+CAAAA,aAAAA,OAAAA,OAAAA,SAQlB/T,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qCADhC,IAIChjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kCADhC,IAGnBhjB,SAAAA,GAAD,OACCA,EAAMs3B,MAAQt3B,EAAMw3B,QACrBljB,EAAAA,EAAAA,IADC,SAAD,6cAa2BtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sDADhC,GAd1B,IAyBChjB,SAAAA,GAAD,OACAA,EAAMs3B,OACNhjB,EAAAA,EAAAA,IADA,qMADA,IAaCtU,SAAAA,GAAD,OACAA,EAAMw3B,OACNljB,EAAAA,EAAAA,IADA,sMADA,IAeSsmB,IAAiC9mB,EAAAA,EAAAA,IAC5C6mB,GAD4C7mB,CAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAI9Bub,IAAkC/mB,EAAAA,EAAAA,IAC7C6mB,GAD6C7mB,CAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAI/Bsb,IAA6BhnB,EAAAA,EAAAA,IAAO6mB,GAAP7mB,CAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAM1Bqb,GAA8BjnB,EAAAA,GAAAA,IAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uCAAAA,2UAAAA,8CAAAA,+CAAAA,sDAAAA,+CAAAA,sBAEvB5f,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6CADtC,IAgBShjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,mDADhC,IAIChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,8BAA7D,IAEGhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IAIDhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,+BAA7D,IAEGhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IASbgY,GAA6BlnB,EAAAA,GAAAA,IAAHqN,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,yGAAAA,UAAAA,IAAAA,uCAKhCnhB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qCAA7D,GACA4X,GAAkCC,I,iFClIxC,SAASnD,KAAkD,2BAApCuD,EAAoC,yBAApCA,EAAoC,GAAAC,UAAAA,GACzD,MAAO,UAAID,GAAKx1B,OAAOC,SAASC,KAAK,KAAKC,MAC3C,CAWM,SAASu1B,GAAkBn7B,GAChC,MAQIA,EAPF4S,UAAAA,OADF,MACc,eADd,EAEE1R,EAMElB,EANFkB,UAFF,EAQIlB,EALFg4B,UAAAA,OAHF,MAGc,IAAI7D,KAHlB,EAIE+F,EAIEl6B,EAJFk6B,WAJF,EAQIl6B,EAHF+zB,WAAAA,OALF,MAKejlB,EALf,EAMEssB,EAEEp7B,EAFFo7B,YACGpZ,GAPL,OAQIhiB,EARJ,IAUMq7B,GAAcp7B,EAAAA,EAAAA,UAAQ,WAC1B,IAAMy4B,EAAQV,EAAUW,WACxB,OAAQuB,GAAcA,EAAWxB,IAAWA,EAAQ,CAF3B,GAGxB,CAACV,EAAUc,eAAgBoB,IAC9B,OACEhjB,EAAAA,EAAAA,MAAC8jB,IAAD,QAA4B95B,UAAWw2B,GAAW9kB,EAAeA,EAAN,WAA4B,KAAM1R,IAAgB8gB,EAA7G,CAAAvf,SAAAA,EACEqQ,EAAAA,EAAAA,KAACgoB,GAAD,CACE55B,UAAWw2B,GAAW9kB,EAAeA,EAAN,gBAAiC,KAAM,QACtEyP,QAAS,kBAAM0R,EAAW,OAAjB,EACTuD,MAAI,KAENxkB,EAAAA,EAAAA,KAAC+nB,GAAD,CACE35B,UAAWw2B,GAAW9kB,EAAeA,EAAN,gBAAiC,KAAM,SACtEyP,QAAS,kBAAM0R,EAAW,QAAjB,EAFXtxB,SAIG44B,KAEHvoB,EAAAA,EAAAA,KAAC8nB,GAAD,CACE15B,UAAWw2B,GAAW9kB,EAAeA,EAAN,gBAAiC,KAAM,QACtEyP,QAAS,kBAAM0R,EAAW,OAAjB,EAFXtxB,SAIGu1B,EAAWS,gBAEb2C,IACCtoB,EAAAA,EAAAA,KAACioB,GAAD,CACE75B,UAAWw2B,GAAW9kB,EAAeA,EAAN,iBAAkC,MACjEyP,QAAS,kBAAM0R,EAAW,QAAjB,EACTpxB,MAAOy4B,KAGXtoB,EAAAA,EAAAA,KAACgoB,GAAD,CACE55B,UAAWw2B,GAAW9kB,EAAeA,EAAN,gBAAiC,KAAM,QACtEyP,QAAS,kBAAM0R,EAAW,OAAjB,EACTyD,MAAI,OAIX,CCpED,IAAMxU,GAAa,CACjB9T,cAAc,UAAK6mB,KAMRuF,GAAsBxnB,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mHAAAA,eAAAA,yCAAAA,+GAAAA,gBAAAA,oBAAAA,2DAAAA,6VAAAA,qDAAAA,sBAKf/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IACJhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAEKhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,IAKYhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,2BAA7D,IACbhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,2BAA7D,IACKhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,2BAA7D,IAEShjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,gCAA7D,IAeGhjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qCADhC,IAIChjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kCADhC,I,0KC/BpBuY,GAAc,CAClB,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,qBACA,sBA0Ba,SAAS/wB,GAAWxK,GACjC,MAgBIA,EAfF4S,UAAAA,OADF,MACc,eADd,EAEE1R,EAcElB,EAdFkB,UACAs4B,EAaEx5B,EAbFw5B,QACAC,EAYEz5B,EAZFy5B,UAJF,EAgBIz5B,EAXFk6B,WAAAA,OALF,MAKeqB,GALf,EAME1H,EAUE7zB,EAVF6zB,KANF,EAgBI7zB,EATFy3B,MAAAA,OAPF,MAOU,IAAItD,KAPd,EAQEiH,EAQEp7B,EARFo7B,YARF,EAgBIp7B,EAPFg4B,UAAAA,OATF,MASc,IAAI7D,KATlB,EAUE8D,EAMEj4B,EANFi4B,aACAC,EAKEl4B,EALFk4B,UAXF,EAgBIl4B,EAJFI,SAAAA,OAZF,MAYa0O,EAZb,IAgBI9O,EAHFw7B,cAAAA,OAbF,MAakB1sB,EAblB,EAcE2sB,EAEEz7B,EAFFy7B,SACGzZ,GAfL,OAgBIhiB,EAhBJ,IAiBA,GAAwBwE,EAAAA,EAAAA,UAAkC,OAA1D,eAAO7E,EAAP,KAAa+7B,EAAb,KACA,GAAoCl3B,EAAAA,EAAAA,UAASqvB,GAA7C,eAAO8H,EAAP,KAAmBC,EAAnB,KACA,GAA8Cp3B,EAAAA,EAAAA,UAASwzB,GAAvD,eAAO6D,EAAP,KAAwBC,EAAxB,MACAvoB,EAAAA,EAAAA,YAAU,WACJsgB,IACF+H,EAAc/H,GACdiI,EAAmBjI,GAHd,GAKN,CAACA,IAEJ,IAAMmB,GAAS/0B,EAAAA,EAAAA,UACb,kBACEw7B,GAAaA,EAAqCzG,OAC7CyG,EAAqCzG,OACtC,UAHN,GAIA,CAACyG,IAEH,SAASf,EAAeqB,GACtB,GAAIA,GAAW,sBAAsBx5B,KAAKw5B,GAC3B,SAATp8B,IACFo8B,EAAU,OAEZL,EAAQK,OACH,CACL,IAAIxH,EAAc,IAAIJ,KAAK0H,GACvBnD,EAAQnE,EAAYoE,WACR,SAAZoD,IACFrD,GAAS,GAEK,SAAZqD,IACFrD,GAAS,GAEXnE,EAAYyH,SAAStD,GACL,SAAZqD,GAAkC,SAAZA,GACxBP,GAAiBA,EAAc,IAAIrH,KAAKI,GAAcwH,GAExDD,EAA+B,UAAZC,EAAsBtE,EAAQlD,GACrC,UAAZwH,GAAuBH,EAAcnE,GAErCiE,EAAQ,MACT,CACF,CAQD,SAASO,EAAet8B,EAAkC+4B,EAAesB,IACtE6B,GAAmB,IAAI1H,MAAQx0B,GAAM+4B,GACtCoD,EAAmB,IAAI3H,KAAK0H,IAC5BH,EAAQ,OACRt7B,GAAYA,EAAS,IAAI+zB,KAAK0H,GAC/B,CACD,OACE3kB,EAAAA,EAAAA,MAACokB,IAAD,QAAqBp6B,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,QAAYoc,EAA7F,CAAAvf,SAAAA,EACEqQ,EAAAA,EAAAA,KAACqoB,GAAD,CACEC,YAAaA,EACbpD,UAAW6D,EACX3B,WAAYA,EACZnG,WAAY2G,IAEJ,QAAT/6B,IACCmT,EAAAA,EAAAA,KAACymB,GAAD,CACE3mB,UAAWA,EACXqlB,aAAcA,EACdE,YAAa,SAACL,EAAcoE,GAC1BJ,EAAmBhE,GACnB13B,EAAS03B,EAAcoE,EAL3B,EAOEhE,UAAWA,EACXrE,KAAM8H,EACNlE,MAAOA,GAAS,IAAItD,KACpB6D,UAAW6D,EACXrC,QAASA,EACTC,UAAWA,IAGL,UAAT95B,IACCmT,EAAAA,EAAAA,KAACmnB,GAAD,CACEjC,UAAW6D,EACX3B,WAAYA,EACZtnB,UAAWA,EACXmhB,WAAaG,SAAAA,GAAD,OAAS+H,EAAe,WAAY/H,EAApC,IAGN,SAATv0B,IACCmT,EAAAA,EAAAA,KAACsnB,GAAD,CACExnB,UAAWA,EACXolB,UAAW2D,GAAcE,EACzB9H,WAAaG,SAAAA,GAAD,OAAS+H,EAAe,cAAe/H,EAAvC,IAGN,SAATv0B,IACCmT,EAAAA,EAAAA,KAAC+hB,IAAD,QACEhB,KAAMgI,GACmB,mBAAbJ,EAAyB,CAAC,EAAIA,EAF5C,CAGEv6B,UAAc0R,EAAL,cACTmhB,WAxDR,SAAwBp0B,EAAoCu0B,IACzD2H,GAAmB,IAAI1H,MAAxB,MAAsCx0B,GAAsBu0B,GAC5D4H,EAAmB,IAAI3H,KAAK0H,IAC5Bz7B,GAAYA,EAAS,IAAI+zB,KAAK0H,GAC/B,KAuDIJ,GAAYzG,IACXliB,EAAAA,EAAAA,KAAAA,MAAAA,CAAK5R,UAAc0R,EAAL,YAA2ByP,QAAS,kBAAMqY,EAAe,OAArB,EAAlDj4B,UACGizB,EAAAA,GAAAA,GAAUV,EAAS2G,GAAcE,QAK3C,C,gDCtKK7Y,GAAa,CACjB9T,cAAc,UAVkB,CAChCitB,+BAAgC,OAChCtiB,cAAe,OACfuiB,6BAA8B,UAC9BC,8BAA+B,UAC/BC,wBAAyB,OACzBC,0BAA2B,QAC3BC,4BAA6B,aAiBlBC,GAA2B3oB,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,kBAAAA,yEACrB/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,iCAA7D,IAMF0Z,GAAuB5oB,EAAAA,GAAAA,KAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAEpB0oB,GAA4B7oB,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACjCnU,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,svBAKMooB,GACS3tB,GAAqB,UAAK/O,EAAUgjB,IAAc,iBAK3D3L,GAAsBqlB,GAKJ3tB,GAAqB,UAAK/O,EAAUgjB,IAAc,gCAGlDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,iCAGpE3L,GAAsBqlB,GAtB5B,IAwCSE,GAAoB9oB,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,yDAKjBud,GAAkB/oB,EAAAA,GAAAA,IAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,sDAKfsd,GAAoBhpB,EAAAA,GAAAA,IAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gDAKjBqd,GAAyBjpB,EAAAA,GAAAA,IAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC9B5f,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,8QAGevF,GAAqB,UAAK/O,EAAUgjB,IAAc,2BAQlDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,iBAXjE,IAgBSga,GAAoBlpB,EAAAA,GAAAA,IAAHiU,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACzB/nB,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,qiBACcvF,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAE9DkU,GAGAC,GAGAA,GAG0BpoB,GAAqB,UAAK/O,EAAUgjB,IAAc,+BACjDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,+BAS7EoU,GAEsBroB,GAAqB,UAAK/O,EAAUgjB,IAAc,+BAxB1E,I,oBCrGW,SAASia,GAAUj9B,GAChC,IAAQ4S,EAAsC5S,EAAtC4S,UAAWqmB,EAA2Bj5B,EAA3Bi5B,IAAKl4B,EAAsBf,EAAtBe,KAAMwzB,EAAgBv0B,EAAhBu0B,YAExB2I,GAAUj9B,EAAAA,EAAAA,UACd,kBACGc,GAAQ,IAAI0E,QAAQrD,SAAAA,GACnB,IAAI+6B,GAAkB/6B,EAAKyxB,MAAQzxB,EAAKyxB,KAAKrzB,MAAM,MAAS,IAAIa,KAAK6yB,SAAAA,GAAD,OAASxC,OAAOwC,EAAhB,IACpE,OAAmB,IAAfiJ,EAAIn4B,OACCi0B,IAAQkE,EAAI,GAEjB5I,GAA8B,IAAf4I,EAAIn4B,OACduvB,EAAYoE,WAAa,IAAMwE,EAAI,IAAMlE,IAAQkE,EAAI,MAE1D5I,GAA8B,IAAf4I,EAAIn4B,UACduvB,EAAYkE,gBAAkB0E,EAAI,IAAM5I,EAAYoE,WAAa,IAAMwE,EAAI,IAAMlE,IAAQkE,EAAI,GATxG,GADF,GAcA,CAAC5I,EAAa0E,EAAKl4B,IAGrB,OAAOd,EAAAA,EAAAA,UACL,kBACEiX,EAAAA,EAAAA,MAAC4lB,GAAD,CAAmB57B,UAAc0R,EAAL,SAA5BnQ,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC+pB,GAAD,CAAiB37B,UAAc0R,EAAL,OAA1BnQ,SAAiDw2B,KACjDnmB,EAAAA,EAAAA,KAACiqB,GAAD,CAAwB77B,UAAc0R,EAAL,SAAjCnQ,SACGy6B,GACCA,EAAQl4B,OAAS,GACjBk4B,EAAQ77B,KAAI,SAACe,EAAMd,GACX,IAAQ4D,EAAoB9C,EAApB8C,MAAU8c,GAAxBob,EAAAA,EAAAA,GAAkCh7B,EAAlC,IACA,OACE0Q,EAAAA,EAAAA,KAAAA,OAAAA,EAAAA,EAAAA,GAAAA,CAAAA,EAAmBkP,EAAnB,CAAAvf,SACGyC,IADO5D,EAHd,QANR,GAiBA,CAAC47B,EAASjE,GAEb,C,wJCqBc,SAASnvB,GAAS9J,GAC/B,MAcIA,EAbF4S,UAAAA,OADF,MACc,aADd,EAEE1R,EAYElB,EAZFkB,UACArB,EAWEG,EAXFH,MAHF,EAcIG,EAVFy3B,MAAAA,OAJF,MAIU,IAAItD,KAJd,EAKEN,EASE7zB,EATF6zB,KACA9yB,EAQEf,EARFe,KANF,GAcIf,EAPFk6B,WAOEl6B,EANFq9B,aAAAA,OARF,MAQgB,UARhB,IAcIr9B,EALFs9B,WAAAA,OATF,MASe,eATf,EAWEC,EAGEv9B,EAHFu9B,SACApF,EAEEn4B,EAFFm4B,YACGziB,GAbL,OAcI1V,EAdJ,IAeM2P,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC7D,GAAkCpB,EAAAA,EAAAA,UAAexE,EAAMg4B,WAAa,IAAI7D,MAAxE,eAAO6D,EAAP,KAAkBwF,EAAlB,KAQA,SAASC,EAAa99B,GACpB,IAAI40B,EAAc,IAAIJ,KACtB,GAAa,UAATx0B,EACF40B,EAAckD,GAAS,IAAItD,SACtB,CACL,IAAMuE,EAAQV,EAAUW,WACpBX,GAAsB,SAATr4B,GACfq4B,EAAUgE,SAAStD,EAAQ,GAEzBV,GAAsB,SAATr4B,GACfq4B,EAAUgE,SAAStD,EAAQ,GAE7BnE,EAAcyD,CACf,CACDwF,EAAa,IAAIrJ,KAAKI,IACtBgJ,GAAYA,EAAS59B,EAAM40B,EAAaoE,WAAa,EAAGpE,EACzD,EAtBDhhB,EAAAA,EAAAA,YAAU,WACJvT,EAAMg4B,YAAcA,GACtBwF,EAAaxF,EAFR,GAIN,CAACh4B,EAAMg4B,YAoBV,IAAM0F,GAAaz9B,EAAAA,EAAAA,UACjB,kBAAM6S,EAAAA,EAAAA,KAAC8pB,GAAD,CAAmB17B,UAAc0R,EAAL,SAA5BnQ,UAAqDizB,EAAAA,GAAAA,GAAU2H,EAAarF,IAAlF,GACA,CAACplB,EAAWyqB,EAAarF,IAGrB2F,GAAW19B,EAAAA,EAAAA,UACf,kBACEiX,EAAAA,EAAAA,MAACylB,GAAD,CAA2Bz7B,UAAc0R,EAAL,aAApCnQ,SAAAA,EACEqQ,EAAAA,EAAAA,KAACuE,GAAD,CAAejB,GAAIwnB,GAAAA,EAAMvb,QAAS,kBAAMob,EAAa,OAAnB,EAA4B59B,MAAO,CAAElB,MAAO,OAC9EmU,EAAAA,EAAAA,KAAC4pB,GAAD,CAAsBx7B,UAAc0R,EAAL,OAAsByP,QAAS,kBAAMob,EAAa,QAAnB,EAA9Dh7B,SACG66B,KAEHxqB,EAAAA,EAAAA,KAACuE,GAAD,CAAejB,GAAIwnB,GAAAA,EAAMvb,QAAS,kBAAMob,EAAa,OAAnB,EAA4B59B,MAAO,CAAElB,MAAO,QANlF,GASA,CAACiU,EAAW0qB,IAGd,OACEpmB,EAAAA,EAAAA,MAAC8lB,GAAD,CAAmB97B,UAAWyO,EAAK9P,MAAOA,EAA1C4C,SAAAA,EACEyU,EAAAA,EAAAA,MAACulB,GAAD,CAA0Bv7B,UAAc0R,EAAL,WAAnCnQ,SAAAA,CACGi7B,EACAC,MAEH7qB,EAAAA,EAAAA,KAACymB,IAAD,QACEpB,YAAa,SAAC5D,EAAa2H,GACzBsB,EAAajJ,GACb4D,GAAeA,EAAY5D,EAAa2H,EAH5C,EAKEhE,UAAW,SAACe,EAAK4E,GAAN,OACT/qB,EAAAA,EAAAA,KAACmqB,GAAD,CAAWrqB,UAAWA,EAAWqmB,IAAKA,EAAKl4B,KAAMA,EAAMwzB,YAAasJ,EAAUhK,MADrE,EAGXA,KAAMA,EACN4D,MAAOA,EACPO,UAAWA,GAAa,IAAI7D,MACxBze,MAIX,CCvJD,I,qBAAMsN,GAAa,CACjB9T,cAAc,UAAK4uB,KAOfC,GAAoB/9B,SAAAA,GAAD,OAA+BsU,EAAAA,EAAAA,IAA9B,SAAD,qEACC,kBAAMvF,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAAxD,IACR,kBAAMjU,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAAxD,GAFO,ECRZ8a,GAAiB,CAC5BE,kBAAmB,MACnBpkB,gBAAiB,OACjBqkB,kBAAmB,IACnBC,sBAAuB,UACvBC,gBAAiB,UACjB9H,oBAAqB,OAErB+H,oBAAqB,OACrBC,6BAA8B,EAC9BC,+BAAgC,OAChCC,2BAA4B,MAC5BC,2BAA4B,MAC5BC,2BAA4B,EAC5BC,2BAA4B,EAE5BC,UAAW,UAEXC,wBAAyB,OACzBC,sBAAuB,EAEvBC,gBAAiB,OACjBC,kBAAmB,oBAEnBC,+BAAgC,MAChCC,iCAAkC,OAClCC,yBAA0B,oBAC1BC,qBAAsB,WAElBnc,GAAa,CACjB9T,cAAc,UAAK4uB,KAQRsB,GAAgBtrB,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,eAAAA,qBAAAA,iBAAAA,uBAAAA,sBACb/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IACMhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IACHhjB,SAAAA,GAAD,eACP+O,GAAqB,UAAK/O,EAAUgjB,IAAc,gCAD3C,IAC8EjU,EACvF/O,EACA,kCAHS,UAMOA,SAAAA,GAAD,aACf+O,GAAqB,UAAK/O,EAAUgjB,IAAc,8BADnC,IACoEjU,EACnF/O,EACA,8BAHe,IAIZ+O,GAAqB,UAAK/O,EAAUgjB,IAAc,8BAJtC,IAIuEjU,EACtF/O,EACA,8BANe,UAYNq/B,GAAqBvrB,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,kBAAAA,4GAAAA,yDACfjU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,IAKHhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,YAA7D,IAKEsc,GAAqBxrB,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,qCAAAA,aAAAA,UAEnBnU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IACDhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAA7D,IAGIuc,GAAWzrB,EAAAA,GAAAA,IAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gBAAAA,QAAAA,2BAAAA,eACPrU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,GACToc,IACep/B,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,oBAA7D,IAKLwc,GAAkB1rB,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gBAAAA,eAAAA,wBAAAA,aAAAA,2BAAAA,eACdtf,SAAAA,GAAD,aACT+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kCADzC,IAC8EjU,EACvF/O,EACA,oCAHS,WAMDA,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,uBAA7D,IAEGhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,uBAA7D,GAETuc,IACev/B,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,2BAA7D,IAILyc,GAAgB3rB,EAAAA,GAAAA,IAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mBAAAA,uBAAAA,mBAAAA,qBAAAA,wDAAAA,OAAAA,OAAAA,SACTxf,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IACIhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,oBAA7D,IACHhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,IACGhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,oBAA7D,IAGZhjB,SAAAA,GAAD,OACAA,EAAM0/B,WACNprB,EAAAA,EAAAA,IADA,4DAEuBtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,GAHtB,IAKChjB,SAAAA,GAAD,ODnGuBA,SAAAA,GACzB,OAAKA,EAAM2/B,SAOJrrB,EAAAA,EAAAA,IAAP,yBANSA,EAAAA,EAAAA,IAAP,qEAEM,kBAAMypB,GAAiB/9B,EAAvB,GAJH,CCmGQ4/B,CAAW5/B,EAAtB,IACCA,SAAAA,GAAD,ODzFsBA,SAAAA,GACxB,OAAIA,EAAMsY,QACDhE,EAAAA,EAAAA,IAAP,wCACIypB,GAAiB/9B,IAGhB,EANF,CCyFQ6/B,CAAU7/B,EAArB,IAGJy/B,GAAczsB,aAAe,CAAE9D,aAAc4uB,IAE7CsB,GAAcpsB,aAAe,CAAE9D,aAAc4uB,IAE7CuB,GAAmBrsB,aAAe,CAAE9D,aAAc4uB,IAElDwB,GAAmBtsB,aAAe,CAAE9D,aAAc4uB,IAElDyB,GAASvsB,aAAe,CAAE9D,aAAc4uB,IAExC0B,GAAgBxsB,aAAe,CAAE9D,aAAc4uB,I,qIC3G/C,GAAen6B,EAAAA,YAA4C,SAAC3D,EAAO+S,GACjE,MAaI/S,EAZF4S,UAAAA,OADF,MACc,SADd,EAEE1R,EAWElB,EAXFkB,UACAyB,EAUE3C,EAVF2C,MACAm9B,EASE9/B,EATF8/B,MACAC,EAQE//B,EARF+/B,OALF,EAaI//B,EAPF0/B,SAAAA,OANF,WAaI1/B,EANF2/B,QAAAA,OAPF,WAaI3/B,EALFsY,OAAAA,OARF,SASEyJ,EAIE/hB,EAJF+hB,UACAie,EAGEhgC,EAHFggC,cACAv9B,EAEEzC,EAFFyC,SACGoQ,GAZL,OAaI7S,EAbJ,IAcM2P,GAAM1P,EAAAA,EAAAA,UACV,iBACE,CACE2S,EACA1R,EACAw+B,EAAc9sB,EAAN,YAA6B,KACrC+sB,EAAa/sB,EAAN,YAA6B,KACpC0F,EAAS,SAAW,MAEnB7S,OAAOC,SACPC,KAAK,KACLC,MAVL,GAWA,CAACgN,EAAW1R,EAAWw+B,EAAUC,IAGnC,OACEzoB,EAAAA,EAAAA,MAACuoB,IAAD,UACM5sB,EADN,CAEE6sB,SAAUA,EACVpnB,OAAQA,EACRqnB,QAASA,EACTM,OAAQrtB,EACR1R,UAAWyO,EACXoD,IAAKA,EAPPtQ,SAAAA,EASIE,GAASm9B,KACT5oB,EAAAA,EAAAA,MAACkoB,GAAD,CAAel+B,UAAc0R,EAAL,QAAxBnQ,SAAAA,CACGE,IAASmQ,EAAAA,EAAAA,KAACusB,GAAD,CAAoBn+B,UAAc0R,EAAL,cAA7BnQ,SAA2DE,IACpEm9B,IAAShtB,EAAAA,EAAAA,KAACwsB,GAAD,CAAoBp+B,UAAc0R,EAAL,SAA7BnQ,SAAsDq9B,OAGnEr9B,IACCqQ,EAAAA,EAAAA,KAACysB,GAAD,CAAUr+B,UAAW,CAAI0R,EAAJ,QAAsBotB,GAAev6B,OAAOC,SAASC,KAAK,KAAKC,OAAQ/F,MAAOkiB,EAAnGtf,SACGA,IAGJs9B,IAAUjtB,EAAAA,EAAAA,KAAC0sB,GAAD,CAAiBt+B,UAAc0R,EAAL,UAA1BnQ,SAAoDs9B,OAnDtD,IChBFG,GAAoBpsB,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8BAIjBosB,GAA2BrsB,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gECarC,SAAS7J,GAASpK,EAAsB+S,GACtC,MAcI/S,EAbFiI,SAAAA,OADF,MACa,EADb,IAcIjI,EAZFogC,UAAAA,OAFF,MAEc,aAFd,IAcIpgC,EAXFrB,MAAAA,OAHF,MAGU,IAHV,IAcIqB,EAVFpB,OAAAA,OAJF,MAIW,IAJX,IAcIoB,EATFqgC,SAAAA,OALF,MAKa,IALb,IAcIrgC,EARFsgC,WAAAA,OANF,MAMe,IANf,IAcItgC,EAPFugC,SAAAA,OAPF,SAQEC,EAMExgC,EANFwgC,YACAC,EAKEzgC,EALFygC,aATF,EAcIzgC,EAHF4S,UAAAA,OAXF,MAWc,aAXd,EAYE1R,EAEElB,EAFFkB,UACArB,EACEG,EADFH,MAGI8P,GAAM1P,EAAAA,EAAAA,UAAQ,iBAAM,CAAC2S,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,MAAvD,GAA+D,CAACgN,EAAW1R,IAE/F,GAA8CsD,EAAAA,EAAAA,UAASyD,GAAvD,eAAOy4B,EAAP,KAAwBC,EAAxB,KACA,GAA8Cn8B,EAAAA,EAAAA,UAAyB,KAAb87B,EAAJ,iBAAtD,eAAOM,EAAP,KAAwBC,EAAxB,KACMC,GAAcztB,EAAAA,EAAAA,QAAOqtB,GACrBK,EAAap9B,EAAAA,SAAAA,MAAqB3D,EAAMyC,UAAY,EACpDu+B,GAAW3tB,EAAAA,EAAAA,QAAO,CAAE4tB,KAAM,WAAR,EAAkBC,MAAOV,EAAaW,OAAQV,IAEtE98B,EAAAA,oBACEoP,GACA,iBAAO,CACLquB,UAAAA,EACAC,UAAW,kBAAMD,EAAUN,EAAYttB,QAAU,EAAtC,EACX8tB,UAAW,kBAAMF,EAAUN,EAAYttB,QAAU,EAAtC,EACXwtB,SAAU,kBAAMA,EAASxtB,QAAQytB,MAAvB,EAJZ,GAMA,CAACluB,IAGH,IAAMquB,EAAaG,SAAAA,GACjBP,EAASxtB,QAAQytB,OACjB,IAAMO,EAAUT,EAAa,EACzBU,EAAiBF,EAAaC,EAAUA,EAAUD,EACtDE,EAAiBF,EAAa,EAAI,EAAIE,EACtCX,EAAYttB,QAAUiuB,EACtBd,EAAmBc,GACnBC,GAPF,EAUMA,EAAO,SAACC,GACZ,QADsC,IAA1BA,IAAAA,EAAatB,GACrBE,EAAU,CACZ,IAAMqB,EAAOpb,aAAY,WACvBwa,MAAAA,EAASxtB,QAAQ0tB,OAAjBF,EAASxtB,QAAQ0tB,MAAQJ,EAAYttB,SACrCstB,EAAYttB,UACRstB,EAAYttB,SAAWutB,IACzBD,EAAYttB,QAAU,GAExBmtB,EAAmBG,EAAYttB,SAC/BwtB,MAAAA,EAASxtB,QAAQ2tB,QAAjBH,EAASxtB,QAAQ2tB,OAASL,EAAYttB,QAPhB,GAQrBmuB,GACHX,EAASxtB,QAAQytB,KAAO,WACtBva,cAAckb,EADhB,CAGD,CAdH,GAiBAruB,EAAAA,EAAAA,YAAU,WAER,OADAmuB,IACO,WACLV,EAASxtB,QAAQytB,MADnB,CAFO,GAKN,CAACV,KAEJhtB,EAAAA,EAAAA,YAAU,WACR,IAAIquB,EAWJ,OAVIb,IAAeL,EAAkB,IACnCkB,EAAOrwB,YAAW,WAChByvB,EAASxtB,QAAQ2tB,OAAS,WACxBN,EAAmC,KAAbP,EAAJ,iBAClBU,EAASxtB,QAAQ2tB,OAASnhC,EAAMygC,YAFlC,EAIAI,EAAmB,QACnBO,EAAU,EANK,GAOdd,IAEE,WACL3uB,aAAaiwB,EADf,CAZO,GAeN,CAAClB,IAEJ,IAAMmB,EAAYl+B,EAAAA,SAAAA,IAAmB3D,EAAMyC,UAAW0d,SAAAA,GACpD,OAAOrN,EAAAA,EAAAA,KAAAA,MAAAA,CAAKjT,OAAK,QAAIlB,MAAAA,EAAOC,OAAAA,GAAWiB,GAAhC4C,SAA0C0d,GADjC,IAIZ2hB,GAAa7hC,EAAAA,EAAAA,UAAQ,WACzB,IAAMJ,EAAQ,CAAEuE,UAAW,GAAI0B,QAAS,IACxC,OAAQs6B,GACN,IAAK,aACHvgC,EAAMuE,UAANvE,gBAAmC6gC,EAAkB/hC,EAArD,gBACAkB,EAAMiG,QAAU,OAChB,MACF,IAAK,WACHjG,EAAMuE,UAANvE,qBAAwC6gC,EAAkB9hC,EAA1D,WACAiB,EAAMiG,QAAU,QAKpB,OAAOjG,CAdiB,GAevB,CAACugC,EAAWM,EAAiB/hC,EAAOC,IAEvC,OACEkU,EAAAA,EAAAA,KAACotB,GAAD,CAAmBh/B,UAAWyO,EAAK9P,MAAO,CAAElB,MAAAA,EAAOC,OAAAA,GAAnD6D,UACEyU,EAAAA,EAAAA,MAACipB,GAAD,CACEj/B,UAAcyO,EAAL,WACT9P,OAAK,QAAIlB,MAAOA,EAAQoiC,EAAYgB,WAAYnB,GAAoBkB,GAFtEr/B,SAAAA,CAIGo/B,GACD/uB,EAAAA,EAAAA,KAAAA,MAAAA,CAAKjT,OAAK,QAAIlB,MAAAA,EAAOC,OAAAA,GAAWiB,GAAhC4C,SAAA,MAA0Co/B,OAA1C,EAA0CA,EAAY,SAI7D,CAED,I,iFAAA,GAAel+B,EAAAA,WAA6CyG,I,sECxI7C,SAASM,GAAS1K,GAC/B,MAA8GA,EAAtG4S,UAAAA,OAAR,MAAoB,aAApB,IAA8G5S,EAA5EmG,UAAAA,OAAlC,MAA8C,aAA9C,EAA4DjF,EAAkDlB,EAAlDkB,UAAWgB,EAAuClC,EAAvCkC,KAAMO,EAAiCzC,EAAjCyC,SAAU8V,EAAuBvY,EAAvBuY,SAAayJ,GAApG,OAA8GhiB,EAA9G,IAEM2P,GAAM1P,EAAAA,EAAAA,UAAQ,iBAAM,CAAC2S,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,MAAvD,GAA+D,CAACgN,EAAW1R,IAE/F,OACE4R,EAAAA,EAAAA,KAACvG,IAAD,QACEwgB,WAAS,EACTV,oBAAkB,EAClBnrB,UAAWyO,EACX4I,SAAUA,EACVpS,UAAWA,GACP6b,EANN,CAOElM,QAAS5T,EAPXO,SASGkB,EAAAA,aAAmBlB,EAAUsD,OAAOkjB,OAAO,CAAC,EAAGxmB,EAASzC,UAG9D,CCtBM,IAAMgiC,GAAiB,CAC5BC,wBAAyB,2BACzBC,0BAA2B,2BAC3BC,+BAAgC,0BAChCC,2BAA4B,4BAC5BC,iCAAkC,OAElCC,wBAAyB,UACzBC,6BAA8B,OAC9BC,+BACE,gGACFC,iCAAkC,UAClCC,4BAA6B,OAC7BC,8BAA+B,yBAC/BC,uBAAwB,4BACxBC,iCAAkC,UAClCC,kCAAmC,4BAQxBC,GAAkBjvB,EAAAA,GAAAA,GAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAYfivB,IAAoBlvB,EAAAA,EAAAA,IAAOpU,GAAPoU,CAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAUjBgvB,GAAwBnvB,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,OAAAA,SAC7BnU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAc4rB,UACd5uB,EAAAA,EAAAA,IADA,kDAF8B,IAM7BtU,SAAAA,GAAD,cACA,SAACA,EAAMsX,SAANC,EAAc4rB,aACf7uB,EAAAA,EAAAA,IADA,4IAP8B,IAgBrB8uB,GAAoBtvB,EAAAA,GAAAA,EAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uSAAAA,+GAAAA,+CAAAA,eAAAA,+FAAAA,SAazBxf,SAAAA,GAAU,MACX,OACE,SAAAA,EAAMsX,aAAN,IAAcgB,UACdhE,EAAAA,EAAAA,IADA,mLAMwBvF,GAAqB,UAClC/O,EADiC,CAC1BkP,aAAc8yB,KAC1B,2BAvBkB,IAiCLhiC,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8yB,KAAkB,0BAD/C,IAIChiC,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8yB,KAAkB,4BAD/C,IAInBhiC,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAciB,YACdjE,EAAAA,EAAAA,IADA,8OAQM0uB,GACOj0B,GAAqB,UACvB/O,EADsB,CACfkP,aAAc8yB,KAC1B,kCArDoB,IA+DzBhiC,SAAAA,GAAD,gBACwB,UAAxB,SAAAA,EAAMsX,aAAN,IAAcnI,SACdmF,EAAAA,EAAAA,IADA,oDAEI,SAAAtU,EAAMsX,aAAN,IAAcgB,UAChBhE,EAAAA,EAAAA,IADE,+DAESvF,GAAqB,UACvB/O,EADsB,CACfkP,aAAc8yB,KAC1B,sCAGF,SAAAhiC,EAAMsX,aAAN,IAAciB,YAChBjE,EAAAA,EAAAA,IADE,yGAGI0uB,GACOj0B,GAAqB,UACvB/O,EADsB,CACfkP,aAAc8yB,KAC1B,+BA/EkB,IAsF9BoB,GAAkBpwB,aAAe,CAC/B9D,aAAc8yB,IAWT,IAAMqB,IAAsBvvB,EAAAA,EAAAA,IAAOpU,GAAPoU,CAAHgM,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,OAAAA,SAC3B9f,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAc1E,aACd0B,EAAAA,EAAAA,IADA,4DAF4B,IAM3BtU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAc1E,aACb5S,EAAMsX,OAAOgsB,WACdhvB,EAAAA,EAAAA,IAFA,wCAGItU,EAAMsX,OAAO9C,QACXF,EAAAA,EAAAA,IADF,mIAKEA,EAAAA,EAAAA,IALF,iIAVwB,IA4BnBivB,IAAiCzvB,EAAAA,EAAAA,IAAOvH,GAAPuH,CAAH0vB,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,6HACtCxjC,SAAAA,GAAD,cACC,SAACA,EAAMsX,SAANmsB,EAAcH,YACdhvB,EAAAA,EAAAA,IADD,idAiBDA,EAAAA,EAAAA,IAjBC,KAAD,iDAFuC,IA6C9BovB,GAAgB5vB,EAAAA,GAAAA,GAAH6vB,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,0RAAAA,oNAAAA,gBAAAA,SAAAA,QAAAA,0FAAAA,+KAAAA,SAUrB3jC,SAAAA,GACD,IAAQsX,EAAWtX,EAAXsX,OACR,aAAIA,GAAAA,EAAQnI,OACHmF,EAAAA,EAAAA,IAAP,mGAIqB,SAAjBgD,EAAOnI,QACTmF,EAAAA,EAAAA,IADE,oHAGWvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8yB,KAAkB,2BAC5DjzB,GAAqB,UAC5B/O,EAD2B,CACpBkP,aAAc8yB,KAC1B,kCAMH,EA7Be,IA0CrBhiC,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcooB,YACdprB,EAAAA,EAAAA,IADA,qDAEgBvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8yB,KAAkB,kCA7C3D,IAiDrBhiC,SAAAA,GAAD,YACwB,WAAxB,SAAAA,EAAMsX,aAAN,IAAcnI,SACdmF,EAAAA,EAAAA,IADA,uFAEa8uB,GACAr0B,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8yB,KAAkB,oCArDxD,IAyDrBhiC,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcssB,mBACdtvB,EAAAA,EAAAA,IADA,sjBAKa8uB,GAOIr0B,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8yB,KAAkB,+BAMrEoB,GAAqBH,GAIrBG,GAAqBC,GAhFZ,GAqFrBN,IAII/iC,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8yB,KAAkB,gCAA5E,IAWHhiC,SAAAA,GAAD,YACwB,UAAxB,SAAAA,EAAMsX,aAAN,IAAcnI,SACdmF,EAAAA,EAAAA,IADA,gLAGkBvF,GAAqB,UAC5B/O,EAD2B,CACpBkP,aAAc8yB,KAC1B,oCAEOjzB,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8yB,KAAkB,0BAE1EhiC,EAAMsX,OAAOooB,WACfprB,EAAAA,EAAAA,IADE,8DAIAyuB,GAEIh0B,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8yB,KAAkB,qCApHnD,I,qICzOpB6B,GAAgB,CACpBljC,UAAM8F,EACN4b,aAAS5b,EACT8P,iBAAa9P,EACbsoB,kBAActoB,EACdwoB,kBAAcxoB,EACd4P,UAAW,GAkBb,SAASytB,GAAoC9jC,EAA2B+S,GACtE,MAcI/S,EAbF4S,UAAAA,OADF,MACc,cADd,EAEE1R,EAYElB,EAZFkB,UAFF,EAcIlB,EAXFwX,QAASC,OAHX,MAGqB,IAHrB,IAcIzX,EATFuY,SAAAA,OALF,WAcIvY,EARFmjC,UAAAA,OANF,SAOEtgC,EAOE7C,EAPF6C,KACAugB,EAMEpjB,EANFojB,KARF,EAcIpjB,EALFsY,OAAAA,OATF,SAUE8Z,EAIEpyB,EAJFoyB,WACA2R,EAGE/jC,EAHF+jC,cACA50B,EAEEnP,EAFFmP,MACG60B,GAbL,OAcIhkC,EAdJ,IAeMikC,EAAY,CAACrxB,EAAW0F,EAAS,SAAW,KAAMC,EAAW,aAAe,KAAMrX,GACrFuE,OAAOC,SACPC,KAAK,KACLC,OAEGs+B,EAAUvgC,EAAAA,cACdy/B,IADcz/B,EAAAA,EAAAA,GAAAA,CAAAA,EAGTqgC,EACCzrB,EAAWsrB,GAAgB,CAAC,EAJpB,CAKZ3iC,UAAW+iC,EACXlxB,IAAAA,EACAqD,GAAIqB,EACJH,OAAQ,CACNnI,MAAAA,EACAmJ,OAAAA,EACAC,SAAAA,MAGJrB,EAAAA,EAAAA,MAAC1R,EAAAA,SAAD,CAAA/C,SAAAA,EACEqQ,EAAAA,EAAAA,KAACkwB,GAAD,CAAmB9hC,UAAc0R,EAAL,QAAuBjT,KAAMkD,KACzDiQ,EAAAA,EAAAA,KAAAA,MAAAA,CAAAA,IACAA,EAAAA,EAAAA,KAACmwB,GAAD,CACE3rB,OAAQ,CAAE6rB,UAAAA,EAAWD,SAAUtwB,GAC/B1R,UAAW,CAAC0R,GAAgBA,EAAP,SAA0BuwB,GAAgBvwB,EAAjB,cAC3CnN,OAAOC,SACPC,KAAK,KACLC,OALLnD,SAOG2gB,IAEFgP,MAGL,OAAI2R,EACKG,GAEFhtB,EAAAA,EAAAA,MAAAA,KAAAA,CAAAzU,SAAAA,CAAAA,IAAMyhC,EAAN,MACR,CAEM,IAAMC,GAAWxgC,EAAAA,WAAiBmgC,IAEzCK,GAASC,YAAc,e,yCChFVC,GAAc1gC,EAAAA,YAAkD,SAAC3D,EAAO+S,GACnF,MAAyE/S,EAAjE4S,UAAAA,OAAR,MAAoB,iBAApB,EAAsC1R,EAAmClB,EAAnCkB,UAAWyB,EAAwB3C,EAAxB2C,MAAUqhC,GAA3D,OAAyEhkC,EAAzE,IACM2P,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC7D,OAAKjD,GAIHmQ,EAAAA,EAAAA,KAACiwB,IAAD,UAAqBiB,EAArB,CAAgCjxB,IAAKA,EAAK7R,UAAWyO,EAAK,YAAU,UAApElN,UACEqQ,EAAAA,EAAAA,KAAAA,SAAAA,CAAArQ,SAASE,QAJJmQ,EAAAA,EAAAA,KAACiwB,IAAD,UAAqBiB,EAArB,CAAgCjxB,IAAKA,EAAK7R,UAAWyO,IAJrC,IAa3B00B,GAAYD,YAAc,kBCjBnB,IAAME,IAAcC,EAAAA,EAAAA,eAIxB,CACDC,SAAU,GACVC,aAAc,WAFb,EAGDC,aAAc,WAAQ,IAGXC,GAAiB,WAC5B,IAAQH,GAAajgC,EAAAA,EAAAA,YAAW+/B,IAAxBE,SAaR,MAAO,CAAEC,aAXavzB,SAAAA,GACpBszB,EAASj/B,KAAK2L,EADhB,EAWuBwzB,aARF,WACnBF,EAASjyB,SAASrB,SAAAA,GAAS,MACzB,YAAIA,EAAKuc,WAAWja,UAAhBoxB,EAAyBC,cAAe,CAC1C,IAAMjmC,EAASsS,EAAKuc,WAAWja,QAASxD,wBAAwBpR,OAAS,KACzEsS,EAAKuc,WAAWja,QAAQqxB,cAAchlC,MAAMjB,OAASA,CACtD,CAJH,GADF,EAQqC4lC,SAAAA,EAdhC,E,sHCoBP,SAASM,GAAT,GAAgH,IAA5FlyB,EAA4F,EAA5FA,UAAW0wB,EAAiF,EAAjFA,SAAU9uB,EAAuE,EAAvEA,OACvC,OAAOvU,EAAAA,EAAAA,UACL,kBACE6S,EAAAA,EAAAA,KAACuwB,GAAD,CACE1jC,KAAK,cACL2X,OAAQ,CACN1E,UAAAA,EACA0wB,SAAAA,EACA9uB,OAAAA,GAEFtT,UAAW,CACT0R,EAAeA,EAAN,iBAAkC,MAC1C0wB,GAAY9uB,EAAS,SAAW,KAChC8uB,GAAa9uB,EAAqB,KAAZ,WAEtB/O,OAAOC,SACPC,KAAK,KACLC,QAfP,GAkBA,CAACgN,EAAW0wB,EAAU9uB,GAEzB,CACM,IAAMuwB,GAAUphC,EAAAA,YAAiB,SACtC3D,EACA+S,GAEA,MAWI/S,EAVF4S,UAAAA,OADF,MACc,iBADd,EAEE1R,EASElB,EATFkB,UACAqX,EAQEvY,EARFuY,SAHF,EAWIvY,EAPF0tB,aAAAA,OAJF,MAIiB,CAAC,EAJlB,EAKEjrB,EAMEzC,EANFyC,SALF,EAWIzC,EALFsjC,SAAAA,OANF,SAOE0B,EAIEhlC,EAJFglC,aAEA71B,EAEEnP,EAFFmP,MACG6S,GAVL,OAWIhiB,EAXJ,IAYMilC,EAAsB,CAAC,EACvBC,EAAuB,CAC3BxF,UAAU,EACVj9B,SAAAA,EACAuiC,aAAAA,EACA71B,MAAAA,EACAjO,UAAW,CAAC0R,EAAeA,EAAN,WAA4B,MAAMnN,OAAOC,SAASC,KAAK,KAAKC,QAE7Eu/B,EAAQR,KACRxX,EAAWxpB,EAAAA,OAAgC,MACjD,GAA4Ba,EAAAA,EAAAA,YAAWkpB,EAAalZ,QAApD,eAAOA,EAAP,KAAemB,EAAf,KAoEA,OAnEA1V,EAAAA,EAAAA,UAAQ,WACFqjC,GAAU3tB,GAAU,EADnB,GAEJ,CAAC2tB,IAEJ3/B,EAAAA,WAAgB,WACVwhC,GAASA,EAAMV,cAAgBtX,EAAS3Z,SAC1C2xB,EAAMV,aAAatX,EAAS3Z,QAFhC,GAIG,IAsCE8vB,GAgBH2B,EAAoB/jC,UAAe0R,EAAnC,SACAqyB,EAAoB/Y,QAAU,QAC9B+Y,EAAoB/+B,WAAY,EAChCg/B,EAAU7iB,QAvDZ,SAAiBhiB,GACf,IAAMC,EAASD,EAAEouB,cACXC,EAAWruB,EAAEsuB,eAAiBtuB,EAAEuuB,YAAYtuB,OAC9CA,EAAOmC,SAASuC,OAAS,GA/EjC,SAAyBkM,GACvB,IAAIk0B,GAAU,EACd,GAAIl0B,EAEF,GACOA,EAAKyjB,QAAQzyB,OAChBkjC,GAAU,GAERl0B,EAAKyjB,QAAQzyB,MAAQ,sBAAsBK,KAAK2O,EAAKyjB,QAAQzyB,QAC/DkjC,GAAU,UAEJl0B,EAAKyjB,QAAQzyB,OAASgP,EAAOA,EAAKqY,aAE9C,OAAO6b,CACR,CAkEOC,CAAgB3W,IACdvB,EAAS3Z,SACX2Z,EAAS3Z,QAASsZ,MAGvB,WA4BQoY,EAAU7iB,QACjB6iB,EAAUxF,UAAW,EACrBuF,EAAoB/jC,UAAe0R,EAAnC,YACAqyB,EAAoBK,QAAS,EAC7BL,EAAoBlY,WAAY,EAChCkY,EAAoBjY,gBAAiB,EACrCiY,EAAoBpwB,eAAgB,EACpCowB,EAAoB/Y,QAAU,QAC9B+Y,EAAoBnwB,eAApBmwB,GAAwCryB,EACxCqyB,EAAoBzvB,OApCtB,SAAgBtE,GACdA,EAAKrR,MAAMjB,OAAYsS,EAAK+U,aAA5B,KACAkf,EAAMT,eACN/uB,GAAU,EACX,EAiCCsvB,EAAoB5vB,UAhCtB,SAAmBnE,GACjBA,EAAKrR,MAAMjB,OAAS,KAErB,EA8BCqmC,EAAoB7vB,QA7BtB,SAAiBlE,GACfA,EAAKrR,MAAMjB,OAAS,MACpBumC,EAAMT,eACN/uB,GAAU,EACX,EA0BCsvB,EAAoB1vB,UArBtB,SAAmBrE,GACjBi0B,EAAMT,cAKP,EAgBCO,EAAoB3vB,WA1BtB,SAAoBpE,GAClBA,EAAKrR,MAAMjB,OAAYsS,EAAK+U,aAA5B,KACAkf,EAAMT,cACP,IA+BC5xB,EAAAA,EAAAA,KAAAA,KAAAA,CAAI,YAAU,UAAUC,IAAKA,EAA7BtQ,UACEqQ,EAAAA,EAAAA,KAACywB,IAAD,QACEp9B,UAAU,WACVkmB,oBAAkB,EAClB9T,SAAUA,EACV/D,OAAQA,EACRtO,WAAW,EACX6mB,WAAS,GACLkY,EACAvX,EARN,CASE3a,IAAKoa,EACL7V,OAAQ,CACNgsB,SAAAA,GAEFxtB,SAAShD,EAAAA,EAAAA,KAAC/F,IAAD,UAAUm4B,EAAV,CAAqBrlC,MAAQyjC,EAA2C,CAAC,EAAjC,CAAEj7B,YAAa28B,MAblEviC,UAeEqQ,EAAAA,EAAAA,KAACqxB,IAAD,UACMniB,EADN,CAEE7S,MAAOA,EACP4D,IAAK,KACLwF,SAAUA,EACVwrB,eAAa,EACb3R,YAAYtf,EAAAA,EAAAA,KAACgyB,GAAD,CAAUxB,SAAUA,EAAU1wB,UAAWA,EAAW4B,OAAQA,IACxEtT,UAAW,CACT0R,EAAeA,EAAN,SAA0B,KAClC0wB,EAA2C,KAA7B1wB,EAAf,kBACA1R,GAECuE,OAAOC,SACPC,KAAK,KACLC,cA7HU,IAoIvBm/B,GAAQX,YAAc,c,gGCtKhBr3B,GAAOpJ,EAAAA,YAA8C,SAAC3D,EAAO+S,GACjE,MASI/S,EARF4S,UAAAA,OADF,MACc,SADd,EAEE1R,EAOElB,EAPFkB,UACAuB,EAMEzC,EANFyC,SACAi9B,EAKE1/B,EALF0/B,SAJF,EASI1/B,EAJFmP,MAAAA,OALF,MAKU,QALV,IASInP,EAHFglC,aAAAA,OANF,MAMiB,GANjB,EAOEpB,EAEE5jC,EAFF4jC,gBACGI,GARL,OASIhkC,EATJ,IAUMmlC,EAAQR,KACRh1B,GAAM1P,EAAAA,EAAAA,UACV,iBACE,CACE2S,EACA8sB,EAAW,aAAe,KAC1BkE,EAAqBhxB,EAAN,oBAAqC,KACpDzD,EAAWyD,EAAN,IAAmBzD,EAAU,KAClCjO,GAECuE,OAAOC,SACPC,KAAK,KACLC,MAVL,GAWA,CAACgN,EAAW8sB,EAAUkE,EAAiBz0B,EAAOjO,IAGhD,OACE4R,EAAAA,EAAAA,KAACwxB,GAAYh3B,SAAb,CAAsBnN,MAAOglC,EAA7B1iC,UACEqQ,EAAAA,EAAAA,KAAC4wB,IAAD,UACMM,EADN,CAEE1sB,OAAQ,CACNooB,SAAAA,EACAkE,gBAAAA,EACAz0B,MAAAA,GAEF4D,IAAKA,EACL7R,UAAWyO,EACX,YAAU,OATZlN,SAWGkB,EAAAA,SAAAA,IAAmBlB,GAAU,SAAC0d,EAAwBsD,GACrD,IAAK9f,EAAAA,eAAqBwc,GAAQ,OAAOA,EACzC,IAAMngB,EAA8D,CAAC,EAKrE,OAHImgB,EAAMngB,MAAMyC,UAAY0d,EAAMxgB,OAAUolC,KAC1C/kC,EAAMglC,aAAeA,GAEhBrhC,EAAAA,aAAmBwc,EAAOpa,OAAOkjB,QAAPljB,EAAAA,EAAAA,GAAAA,CAAAA,EAAmB/F,EAAnB,CAA0BmP,MAAAA,IAASgR,EAAMngB,MAAO,CAAEyjB,IAAK,GAAGA,IAP5F,QAxCI,IAsDb1W,GAAKq3B,YAAc,WAQlBr3B,GAAcmc,KAAOib,GACrBp3B,GAAcg4B,QAAUA,GACxBh4B,GAAczC,QAAU+5B,GAEzB,I,SAAA,MCjFA,MCHakB,GAAqB,CAChCC,mBAAoB,WAEhBxiB,GAAa,CACjB9T,cAAc,UAAKq2B,KAQRE,GAAoB3xB,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wCAKjB2xB,IAAwB5xB,EAAAA,EAAAA,IAAOuD,GAAPvD,CAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC7BjU,SAAAA,GAAD,OACAA,EAAM2lC,WACNrxB,EAAAA,EAAAA,IADA,6HAKctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,qBAA7D,GANb,IAWJ0iB,GAAsB1yB,aAAe,CACnC9D,aAAcq2B,IC8OhB,I,2BAAA,GArPA,SAAkBvlC,GAChB,IACEG,EAcEH,EAdFG,MACAC,EAaEJ,EAbFI,SACA6G,EAYEjH,EAZFiH,SAHF,EAeIjH,EAXF4lC,cAAAA,OAJF,MAIkB,QAJlB,EAKEj/B,EAUE3G,EAVF2G,KACA4R,EASEvY,EATFuY,SACA2c,EAQEl1B,EARFk1B,WACAnuB,EAOE/G,EAPF+G,YARF,EAeI/G,EANF4S,UAAAA,OATF,MASc,aATd,EAUE1R,EAKElB,EALFkB,UAVF,EAeIlB,EAJFH,MAAAA,OAXF,MAWU,CAAElB,MAAO,KAXnB,IAeIqB,EAHF8E,OAAAA,OAZF,MAYW,GAZX,EAaE4S,EAEE1X,EAFF0X,OACA4d,EACEt1B,EADFs1B,WAGI3lB,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC7D,GAAsCpB,EAAAA,EAAAA,WAAS,GAA/C,eAAOqhC,EAAP,KAAoBC,EAApB,KACA,GAA0CthC,EAAAA,EAAAA,UAA4B,IAAtE,eAAOuhC,EAAP,KAAsBC,EAAtB,KACA,GAA4CxhC,EAAAA,EAAAA,UAAS,IAArD,eAAOyhC,EAAP,KAAuBC,EAAvB,KACA,GAAoC1hC,EAAAA,EAAAA,UAAiB,IAArD,eAAOC,EAAP,KAAmBC,EAAnB,KACA,GAAgCF,EAAAA,EAAAA,WAAS,GAAzC,eAAO2hC,EAAP,KAAiBC,EAAjB,KACA,GAAoC5hC,EAAAA,EAAAA,UAAS,IAA7C,eAAOixB,EAAP,KAAmB4Q,EAAnB,KACA,GAAwC7hC,EAAAA,EAAAA,YAAxC,eAAO8hC,EAAP,KAAqBC,EAArB,MAEAhzB,EAAAA,EAAAA,YAAU,WACR,GAAItM,EAAU,CACZ,IAAMu/B,EAAuC,GAC7CC,EAAe3hC,GAAS4hC,SAAAA,GACtB,IAAMxhC,EAAQwhC,EAAIrlC,KAAKwD,SAAAA,GAAD,OAAOA,EAAEK,KAAT,IAAgBS,KAAK,OAC3C6gC,EAAYjhC,KAAK,CAAEL,MAAAA,EAAO8J,QAAS03B,GAFvB,IAIdH,EAAgBC,EACjB,CARM,GASN,CAACv/B,IAEJ,IAAMw/B,EAAiB,SAAjBA,EACJz3B,EACA23B,EACAC,QACG,IADHA,IAAAA,EAA0B,IAE1B53B,EAAQ3N,KAAKqlC,SAAAA,GACX,IAAMG,EAAW,GAAH,gBAAOD,GAAP,CAAaF,IACvBA,EAAIjkC,SACNgkC,EAAeC,EAAIjkC,SAAUkkC,EAAIE,GAE/B,MAAFF,GAAAA,EAAKE,EALT,GALF,EAgCA,SAASC,EAAiBnnC,GACxB,IAAIsmC,EAEFA,EADW,UAATtmC,GAAoBu1B,GAAc6Q,EAAc/gC,OAAS,EAC1C,QAEA,GAEnBkhC,EAAkBD,EACnB,EAzBD1yB,EAAAA,EAAAA,YAAU,WACR,GAAIpT,EAAO,CACT,IAAM4mC,EAA+B,GACjCC,EAAcliC,EACb,MAAL3E,GAAAA,EAAOkB,KAAKe,SAAAA,GACV,IAAM6kC,EAAUD,EAAY7kC,MAAMukC,SAAAA,GAAD,OAASA,EAAIvmC,QAAUiC,CAAvB,IACjC4kC,GAAqB,MAAPC,OAAAA,EAAAA,EAASxkC,WAAY,GACnCskC,EAAUxhC,MAAVwhC,EAAAA,EAAAA,GAAAA,CAAiB7hC,MAAO9C,EAAMjC,MAAOiC,GAAS6kC,GAHhD,IAKAjB,EAAiBe,EAClB,CAVM,GAWN,CAAC5mC,IAgBJ,IAaM+mC,GAAe,SAACC,EAAoBpB,GACxCC,GAAiB,QAAID,IACrB,IAAM5lC,EAAQ4lC,EAAc1kC,KAAKe,SAAAA,GAAD,OAAUA,EAAKjC,KAAf,IACxB,MAARC,GAAAA,EAAW+mC,EAAWhnC,EAAO4lC,EAH/B,EAuBMqB,GAAoC,IAA3B,MAACvnC,OAAD,EAACA,EAAOlB,aAA0B8H,EAE3CylB,IAAUjsB,EAAAA,EAAAA,UAAQ,WACtB,OAAO,SAAC0mC,EAAcU,GACpB,IAAMC,EAA0D,CAAEjlB,QAAS,WAAX,EAAqByM,YAAa,WAAQ,GACpGyY,EAAW,WACfZ,GADF,EAQA,MALsB,UAAlBf,GAA6ByB,EAC/BC,EAASjlB,QAAUklB,EACQ,UAAlB3B,IACT0B,EAASxY,YAAcyY,GAElBD,CAVT,CADqB,GAapB,IAEGE,GAAa,SAAC1iC,EAA2B2iC,GAC7C,QADmE,IAAtBA,IAAAA,EAAgB,GACxD3iC,EAEL,OACEgO,EAAAA,EAAAA,KAAC/F,GAAD,CAEE2yB,UAAQ,EACR7/B,MAAO,CACLuZ,UAAW,GACXuI,SAAUylB,GACVM,UAAW,SACX/oC,MAAOyoC,IAPX3kC,SAUIqC,GAA4B,IAAlBA,EAAOE,OAGjBF,EAAOzD,KAAI,SAACqlC,EAAKv5B,GAAU,QACnBmL,GAAS,SAAAytB,EAAc0B,SAAd,IAAsBtnC,SAAUumC,EAAIvmC,MACnD,OACE2S,EAAAA,EAAAA,KAAC/F,GAAAA,MAAD,QACEuL,OAAQA,EAER8K,KAAMsjB,EAAIxhC,MACVktB,WAAYsU,EAAIjkC,UAAWqQ,EAAAA,EAAAA,KAACpT,GAAD,CAAMC,KAAK,eAAa8G,GAC/CylB,IAAQ,YAxEF,SAACyb,EAAyBF,GAChD1B,EAAc6B,OAAOH,EAAO1B,EAAc/gC,OAASyiC,EAAOE,GACrDA,EAAYllC,UAAUqjC,GAAe,GAE1CoB,IAAa,EAAMnB,EAJrB,CAyEgB8B,CAAgBnB,EAAKe,EADZ,KAER,SAACf,EAAIjkC,WAAJqlC,EAAc9iC,UALbmI,EALX,KAFA2F,EAAAA,EAAAA,KAAAA,MAAAA,CAAKjT,MAAO,CAAE0G,MAAO,UAAW4S,SAAU,IAA1C1W,SAAiD,8BAV9CglC,EALX,EAyCA,OALAl0B,EAAAA,EAAAA,YAAU,WACR,IAAMkiB,EAAasQ,EAAc1kC,KAAKqlC,SAAAA,GAAD,OAASA,EAAIxhC,KAAb,IAAoBS,KAAK,OAC9D0gC,EAAc5Q,EAFP,GAGN,CAACsQ,KAGFjzB,EAAAA,EAAAA,KAACpI,IAAD,QACExJ,UAAWyO,EACXuc,QAAQ,QACRrsB,MAAO,CAAEiwB,UAAW,GACpBxC,YAAa,CAAE3uB,MAAO,KACtB4Z,SAAUA,GACNb,EANN,CAOEuV,gBApHJ,SAAyBzY,GACvBsxB,EAAetxB,EAChB,EAmHGA,OAAQqxB,EACR3jC,KACGuC,GAWCqO,EAAAA,EAAAA,KAAC/F,GAAD,CACE2yB,UAAQ,EACR7/B,MAAO,CACLuZ,UAAW,GACXuI,SAAQ,MAAE9hB,OAAF,EAAEA,EAAOlB,MACjB+oC,UAAW,SACX/oC,MAAK,MAAEkB,OAAF,EAAEA,EAAOlB,OANlB8D,SASI6jC,GAAwC,IAAxBA,EAAathC,OAG7BshC,EACG7gC,QAAQihC,SAAAA,GAAD,OAASA,EAAIxhC,MAAME,SAASX,EAAWmB,OAAvC,IACPvE,KAAI,SAACqlC,EAAKv5B,GACT,OAAO2F,EAAAA,EAAAA,KAAC/F,GAAAA,KAAD,CAAuBqW,KAAMsjB,EAAIxhC,MAAOmd,QAAS,kBAnI/CrT,EAmIqE03B,EAAI13B,QAlIhGtK,EAAc,IACdohC,GAAe,QACfoB,IAAa,EAAOl4B,GAHGA,IAAAA,CAmI+C,GAAjC7B,EAH3B,KAFA2F,EAAAA,EAAAA,KAAAA,MAAAA,CAAKjT,MAAO,CAAE0G,MAAO,UAAW4S,SAAU,IAA1C1W,SAAiD,gCApBrDqQ,EAAAA,EAAAA,KAAAA,MAAAA,CAAKjT,MAAO,CAAEiG,QAAS,QAAvBrD,SACG,IAAI2xB,MAAM2R,EAAc/gC,OAAS,GAC/BhG,KAAK,GACLqC,KAAI,SAACgzB,EAAGlnB,GAAU,MACX6B,EAAU7B,EAAK,SAAG44B,EAAc54B,EAAQ,SAAzB,EAAG46B,EAA0BtlC,SAAYqC,EAC9D,OAAO0iC,GAAWx4B,EAAS7B,EAJ9B,IAME1H,QAAQZ,SAAAA,GAAD,QAASA,CAAT,MAlBlBpC,UA2CEqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAMmc,aAAc,kBAAM6X,EAAiB,QAAvB,EAAiChY,YAAa,kBAAMgY,EAAiB,QAAvB,EAAlErkC,UACEqQ,EAAAA,EAAAA,KAAC/H,IAAD,UACMuqB,EADN,CAEEn1B,MAAOgmC,EAAW1hC,EAAagxB,EAC/Br1B,SAlHaC,SAAAA,GACdwlC,GACHC,GAAgBD,GAElB,IAAM1lC,EAAQE,EAAEC,OAAOH,MACvB8G,GAToBxC,SAAAA,GACpBC,EAAcD,EADhB,CAScujC,CAAa7nC,EAL3B,EAmHQwG,KAAMA,EACN4R,SAAUA,EACVxR,YAAao/B,EAAW1Q,EAAa1uB,EACrClH,MAAOA,EACPgvB,QAAS,kBAAM5nB,GAAYm/B,GAAY,EAA9B,EACT6B,OAAQ,kBAAMhhC,GAAYm/B,GAAY,EAA9B,EACRtQ,UAAW7uB,EACXmrB,YACEtf,EAAAA,EAAAA,KAAAA,OAAAA,CAAMjT,MAAO,CAAElB,MAAO,QAAtB8D,UACI8V,GAA+B,UAAnB0tB,IACZnzB,EAAAA,EAAAA,KAAC4yB,GAAD,CAAuBC,UAAQ,EAACzkC,UAAc0R,EAAL,SAAwByP,QAtI9DhiB,SAAAA,GACfA,EAAE6nC,kBACFhB,IAAa,EAAO,GAFtB,EAsIczkC,UACEqQ,EAAAA,EAAAA,KAAC2yB,GAAD,CAAmBrvB,GAAIkM,GAAAA,eASxC,EC3QY6lB,GAAkB,CAC7B9R,oBAAqB,OACrB+R,cAAe,OACfC,kBAAmB,UACnBC,kCAAmC,UACnCC,kBAAmB,OACnBC,mBAAoB,OACpBC,mBAAoB,sBACpBC,0BAA2B,qBAUhBC,GAAsB70B,EAAAA,GAAAA,MAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAE1B60B,GAAY90B,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,6HAQT40B,GAAY/0B,EAAAA,GAAAA,MAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACVnU,SAAAA,GACD,IAAMuY,EAAQ,MAAGvY,OAAH,EAAGA,EAAOuY,SACxB,OAAOjE,EAAAA,EAAAA,IAAP,+4BACWiE,GAAYxJ,GAAqB,UAAK/O,EAAN,CAAakP,aAAci5B,KAAmB,qBAC7E5vB,GAAY,cAGTxJ,GAAqB,UAAK/O,EAAN,CAAakP,aAAci5B,KAAmB,iBAIpEp5B,GAAqB,UAAK/O,EAAN,CAAakP,aAAci5B,KAAmB,qBACjEp5B,GAAqB,UAAK/O,EAAN,CAAakP,aAAci5B,KAAmB,sBAKxDp5B,GAAqB,UAAK/O,EAAN,CAAakP,aAAci5B,KAAmB,uBAC5Ep5B,GAAqB,UAAK/O,EAAN,CAAakP,aAAci5B,KAAmB,sBAElE5vB,GAAY,cAEAA,GACpBxJ,GAAqB,UAAK/O,EAAN,CAAakP,aAAci5B,KAAmB,qCAOxD5vB,GACVxJ,GAAqB,UAAK/O,EAAN,CAAakP,aAAci5B,KAAmB,6BAhC7D,IAyCTW,GAAiBh1B,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,0B,sGCzDPypB,GAAgBplC,EAAAA,YAAuD,SAAC3D,EAAO+S,GAC1F,MAYI/S,EAXF4S,UAAAA,OADF,MACc,UADd,IAYI5S,EAVFL,KAAAA,OAFF,MAES,QAFT,IAYIK,EATFuY,SAAAA,OAHF,WAYIvY,EARFG,MAAAA,OAJF,MAIU,GAJV,EAKEe,EAOElB,EAPFkB,UACArB,EAMEG,EANFH,MACA4C,EAKEzC,EALFyC,SACAkE,EAIE3G,EAJF2G,KARF,EAYI3G,EAHFgpC,QAASC,OATX,SAUE7oC,EAEEJ,EAFFI,SACG4hB,GAXL,OAYIhiB,EAZJ,IAcA,GAA8BwE,EAAAA,EAAAA,UAASykC,GAAvC,eAAOD,EAAP,KAAgBE,EAAhB,KACA,GAAsC1kC,EAAAA,EAAAA,YAAtC,eAAO2kC,EAAP,KAAoBC,EAApB,KACIH,IAAcE,GAChBC,EAAeH,IAEjBhpC,EAAAA,EAAAA,UAAQ,WACFgpC,IAAcE,GAChBD,EAAWD,EAFR,GAIJ,CAACE,IAEJ,IAAMx5B,EAAM,CAACiD,EAAW1R,EAAWqX,EAAW,WAAa,KAAM5R,EAAUiM,EAAN,IAAmBjM,EAAS,MAC9FlB,OAAOC,SACPC,KAAK,KACLC,QACH3F,EAAAA,EAAAA,UAAQ,WACF+oC,IAAYhpC,EAAMgpC,SACpBE,IAAalpC,EAAMgpC,QAFhB,GAIJ,CAAChpC,EAAMgpC,UAQV,IAAM9jC,EAAQzC,GAAYtC,EAE1B,OACE+W,EAAAA,EAAAA,MAAC2xB,GAAD,CAAiB3nC,UAAWyO,EAAK9P,MAAAA,EAAO0Y,SAAAA,EAAU5R,KAAAA,EAAMqiC,QAAAA,EAAS9jC,MAAAA,EAAjEzC,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC61B,IAAD,qBAA8B3mB,EAA9B,CAAqCriB,KAAAA,EAAM4Y,SAAAA,EAAUpY,MAAAA,EAAO6oC,QAAAA,IAA5D,CAAuE5oC,SAV3E,SAAsBC,GACpBA,EAAEgpC,UACFH,EAAW7oC,EAAEC,OAAO0oC,SACpB5oC,GAAYA,EAASC,EACtB,EAMkG0S,IAAKA,KACnG7N,IAAS4N,EAAAA,EAAAA,KAAC81B,GAAD,CAAAnmC,SAAYyC,MA/CC,ICP7B,GAHqBvB,EAAAA,YAA+C,SAAC3D,EAAO+S,GAC1E,OAAOD,EAAAA,EAAAA,KAACi2B,IAAD,QAAeh2B,IAAKA,GAAS/S,GADjB,I,kEC4BrB,GArB0B2D,EAAAA,YAAkD,SAAC3D,EAAO+S,GAClF,MAA8F/S,EAAtF4S,UAAAA,OAAR,MAAoB,gBAApB,EAAqC1R,EAAyDlB,EAAzDkB,UAAW6B,EAA8C/C,EAA9C+C,KAAM5C,EAAwCH,EAAxCG,MAAOC,EAAiCJ,EAAjCI,SAAUqC,EAAuBzC,EAAvByC,SAAauf,GAApF,OAA8FhiB,EAA9F,IACA,OACE8S,EAAAA,EAAAA,KAACg2B,IAAD,UAAoB9mB,EAApB,CAA2BjP,IAAKA,EAAK7R,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAAjGnD,UACEqQ,EAAAA,EAAAA,KAACw2B,GAAD,CAAA7mC,SACGkB,EAAAA,SAAAA,QAAuBlB,GAAUpB,KAAK8e,SAAAA,GACrC,GAAKA,EACL,OAAKxc,EAAAA,eAAqBwc,GACnBxc,EAAAA,aAAmBwc,GAAnBxc,EAAAA,EAAAA,GAAAA,CAAAA,EACDwc,EAAMngB,OAAS,CAAC,EACjB,CACDgpC,QAAS7oB,EAAMngB,MAAMG,QAAUA,EAC/B4C,KAAAA,EACA3C,SAAAA,KANqC+f,CAF1C,QALiB,I,sGCGbopB,GAAc5lC,EAAAA,YAAwC,SAAC3D,EAAO+S,GACzE,MAYI/S,EAXF4S,UAAAA,OADF,MACc,UADd,KAYI5S,EAVFL,KAUEK,EATFuY,UAAAA,OAHF,WAYIvY,EARFG,MAAAA,OAJF,MAIU,GAJV,EAKEe,EAOElB,EAPFkB,UACArB,EAMEG,EANFH,MACA4C,EAKEzC,EALFyC,SAPF,EAYIzC,EAJF2G,KAAAA,OARF,MAQS,QART,IAYI3G,EAHFgpC,QAASC,OATX,SAUE7oC,EAEEJ,EAFFI,SACG4hB,GAXL,OAYIhiB,EAZJ,IAcA,GAA8BwE,EAAAA,EAAAA,UAASykC,GAAvC,eAAOD,EAAP,KAAgBE,EAAhB,KACA,GAAsC1kC,EAAAA,EAAAA,YAAtC,eAAO2kC,EAAP,KAAoBC,EAApB,KACIH,IAAcE,GAChBC,EAAeH,IAEjBhpC,EAAAA,EAAAA,UAAQ,WACFgpC,IAAcE,GAChBD,EAAWD,EAFR,GAIJ,CAACE,IAEJ,IAAMx5B,EAAM,CAACiD,EAAW1R,EAAWqX,EAAW,WAAa,KAAM5R,EAAUiM,EAAN,IAAmBjM,EAAS,MAC9FlB,OAAOC,SACPC,KAAK,KACLC,QACH3F,EAAAA,EAAAA,UAAQ,WACF+oC,IAAYhpC,EAAMgpC,SACpBE,IAAalpC,EAAMgpC,QAFhB,GAIJ,CAAChpC,EAAMgpC,UAUV,IAAM9jC,EAAQzC,GAAYtC,EAE1B,OACE2S,EAAAA,EAAAA,KAAC9H,IAAD,qBACWgX,EADX,CACkB9gB,UAAWyO,EAAK9P,MAAAA,EAAO0Y,SAAAA,EAAUpY,MAAAA,IADnD,CAEER,KAAMqpC,EAAU,UAAY,QAC5Bj2B,IAAKA,EACLsP,QAfJ,SAAsBhiB,GACpBA,EAAEgpC,UACGL,IACHE,GAAYF,GACZ5oC,GAAYA,EAASD,GAExB,EAKCsC,SAMGyC,IArDoB,IA0D3B,M,qCCrEaskC,GAAqB,CAChCC,yBAA0B,mCAC1BC,+BAAgC,UAChCC,4BAA6B,UAC7BC,sBAAuB,UACvBC,2BAA4B,OAC5BC,uBAAwB,0CAEpB9mB,GAAa,CACjB9T,cAAc,UAAKs6B,KAiDfO,GAAsBj2B,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,iGAOnB61B,GAAoBl2B,EAAAA,GAAAA,IAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,kUAAAA,+OAAAA,6BAAAA,OAAAA,+DAAAA,yHAAAA,gMAAAA,kHAaErU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,8BAA7D,IASDhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,IArEF,SAAC,OAAEzK,EAAgDoZ,EAAhDpZ,SAAa9I,GAAmC2tB,EAAAA,EAAAA,GAAAA,EAAAA,IACrE,OACE7kB,IACAjE,EAAAA,EAAAA,IADQ,sKAMJs0B,IACS,kBAAM75B,GAAqB,UAAKU,GAAQ,wBAAxC,GATjB,IAeyB,SAAC,OAAEw6B,EAAqDC,EAArDD,cAAkBx6B,GAAmC2tB,EAAAA,EAAAA,GAAAA,EAAAA,IAC/E,OACE6M,IACA31B,EAAAA,EAAAA,IADa,2eAIK,kBAAMvF,GAAqB,UAAKU,GAAQ,2BAAxC,IAGQ,kBAAMV,GAAqB,UAAKU,GAAQ,iCAAxC,GAT9B,IA6DyBzP,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,iCAA7D,IAIDhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,GAUlB4lB,I,uDCrGSuB,GAAgBxmC,EAAAA,YAAqD,SAAC3D,EAAO+S,GACxF,MAAuF/S,EAA/E4S,UAAAA,OAAR,MAAoB,mBAApB,EAAwC1R,EAA+ClB,EAA/CkB,UAAW6B,EAAoC/C,EAApC+C,KAAM5C,EAA8BH,EAA9BG,MAAOC,EAAuBJ,EAAvBI,SAAa4hB,GAA7E,OAAuFhiB,EAAvF,IACMoqC,GAAW/2B,EAAAA,EAAAA,QAAgB,IAC3B1D,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OACvDykC,EAAS1mC,EAAAA,SAAAA,QAAuB3D,EAAMyC,UAE5C,OADAxC,EAAAA,EAAAA,UAAQ,kBAAOmqC,EAAS52B,QAAUrT,GAAS,EAAnC,GAAwC,CAACA,KAE/C2S,EAAAA,EAAAA,KAACi3B,IAAD,UAAyB/nB,EAAzB,CAAgC9gB,UAAWyO,EAAKoD,IAAKA,EAArDtQ,SACGkB,EAAAA,SAAAA,IAAmB0mC,GAASn9B,SAAAA,GAC3B,GAAKvJ,EAAAA,eAAqBuJ,GAY1B,OAVEknB,MAAMkW,QAAQnqC,IACd+M,GACAA,EAAQlN,OACRkN,EAAQlN,MAAMG,OACdA,EAAMiF,SAAS8H,EAAQlN,MAAMG,SAExBiqC,EAAS52B,QAAQpO,SAAS8H,EAAQlN,MAAMG,QAC3CiqC,EAAS52B,QAAQjO,KAAK2H,EAAQlN,MAAMG,QAGjCwD,EAAAA,aACLuJ,EACAnH,OAAOkjB,OAAO,CAAC,EAAG/b,EAAQlN,MAAO,CAC/B+C,KAAAA,EACAimC,QAASoB,EAAS52B,QAAQpO,SAAS8H,EAAQlN,MAAMG,OACjDC,SAAWC,SAAAA,GACT,IAAIA,EAAEC,OAAOX,MAA0B,aAAlBU,EAAEC,OAAOX,KAA9B,CACA,IAAMqpC,EAAU3oC,EAAEC,OAAO0oC,QACnBuB,EAAUH,EAAS52B,QAAQpO,SAAS8H,EAAQlN,MAAMG,QACnDoqC,GAAWvB,EACdoB,EAAS52B,QAAQjO,KAAK2H,EAAQlN,MAAMG,OAC3BoqC,IAAYvB,IACrBoB,EAAS52B,QAAU42B,EAAS52B,QAAQ/N,QAAQ+kC,SAAAA,GAAD,OAASA,IAAQt9B,EAAQlN,MAAMG,KAA/B,KAE7CC,GAAYA,EAASC,EAAG+pC,EAAS52B,QARwB,CAS1D,IA5BN,MARsB,I,uECF7B,SAASi3B,GAAiBzqC,EAAsB+S,GAC9C,IACE7R,EAOElB,EAPFkB,UADF,EAQIlB,EANF4S,UAAAA,OAFF,MAEc,aAFd,IAQI5S,EALFL,KAAAA,OAHF,MAGS,WAHT,IAQIK,EAJFiqC,cAAAA,OAJF,WAQIjqC,EAHFuY,SAAAA,OALF,WAQIvY,EAFFG,MAAAA,OANF,MAMU,GANV,EAOK6hB,GAPL,OAQIhiB,EARJ,IAUM2P,EAAM,CAACzO,EAAW+oC,GAAiB,iBAAiBxkC,OAAOC,SAASC,KAAK,KAAKC,OACpF,OACEkN,EAAAA,EAAAA,KAACk3B,IAAD,QACE5zB,GAAI2yB,GACJh2B,IAAKA,GACDiP,EAHN,CAIEriB,KAAMA,EACNiT,UAAWA,EACX2F,SAAUA,EACVpY,MAAOA,EACPe,UAAWyO,IAGhB,CAED,IAAM3F,GAAWrG,EAAAA,WAAkD8mC,IAKlEzgC,GAAsB0gC,MAAQP,GAE/B,I,iCCpCA,GDoCA,GEtCaQ,GAAqB,CAChC/wB,gBAAiB,OACjByc,oBAAqB,OACrBuU,wBAAyB,UACzBC,uBAAwB,sBAExBC,6BAA8B,sBAC9BC,uCAAwC,UACxCC,iCAAkC,sBAClCC,2CAA4C,WAExCjoB,GAAa,CACjB9T,cAAc,UAAKy7B,KA2BRO,GAAoBp3B,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+DAAAA,0BAAAA,0BAAAA,+BAAAA,SAGd/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,IACQhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IACChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAGjBhjB,SAAAA,GAAD,OACAA,EAAM0/B,WACNprB,EAAAA,EAAAA,IADA,oJADA,IAYS62B,GAAoBr3B,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mFAAAA,UAAAA,cAGAnU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IACtBhjB,SAAAA,GAAD,OACCA,EAAMwG,WACP8N,EAAAA,EAAAA,IADA,kEAEyBtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,GAHxB,IAQOooB,GAAsBt3B,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mEAAAA,0BAAAA,iHAAAA,2QAAAA,SAAAA,SAGpBtf,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,+BAA7D,IACYhjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yCADhC,GAOd3L,IAcHrX,SAAAA,GAAD,OACAA,EAAMwG,WACN8N,EAAAA,EAAAA,IADA,8GAEQ+C,GAHR,IAQCrX,SAAAA,GAAD,OACAA,EAAMuY,WACNjE,EAAAA,EAAAA,IADA,2GAGYtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,mCAA7D,IACYhjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6CADhC,GALtB,IAUSqoB,GAAyBv3B,EAAAA,GAAAA,IAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mCAAAA,kMAAAA,sHAAAA,8DAAAA,+EAAAA,gDAEvB5f,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,IAWkBhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAMChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAKIhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAM1BhjB,SAAAA,GAAD,OACAA,EAAM0/B,WACNprB,EAAAA,EAAAA,IADA,8GADA,IAcSg3B,GAA2Bx3B,EAAAA,GAAAA,KAAHiU,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,qBAIxBwjB,GAA2Bz3B,EAAAA,GAAAA,IAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAErC,M,iOCvJA,SAASC,GAAQC,GACf,IAAIC,EAAmBD,EAIvB,OAHKtX,MAAMkW,QAAQqB,KACjBA,EAAmBA,EAAmB,CAACA,GAAoB,IAEtDA,CACR,CAED,SAASC,GAAiB5rC,EAAsB+S,GAC9C,MAUI/S,EATF4S,UAAAA,OADF,MACc,aADd,EAEE1R,EAQElB,EARFkB,UACAuB,EAOEzC,EAPFyC,SAHF,EAUIzC,EANF6rC,UAAAA,OAJF,SAKEnM,EAKE1/B,EALF0/B,SALF,EAUI1/B,EAJF8rC,UAAAA,OANF,SAOaC,EAGT/rC,EAHF0rC,UACAtrC,EAEEJ,EAFFI,SACGyS,GATL,OAUI7S,EAVJ,IAWA,GAAkCwE,EAAAA,EAAAA,UAASinC,GAAQM,IAAnD,eAAOL,EAAP,KAAkBM,EAAlB,KACMr8B,EAAM,CAACiD,EAAW1R,EAAWw+B,EAAW,aAAe,MAAMj6B,OAAOC,SAASC,KAAK,KAAKC,OA2B7F,OAVA3F,EAAAA,EAAAA,UAAQ,WACF8rC,IAAmBL,GACrBM,EAAaP,GAAQM,GAFlB,GAIJ,CAACA,KACJ9rC,EAAAA,EAAAA,UAAQ,WACF8rC,IAAmBL,GACrBtrC,GAAYA,EAASsrC,EAFlB,GAIJ,CAACA,EAAWK,KAEbj5B,EAAAA,EAAAA,KAACo4B,IAAD,QAAmBhqC,UAAWyO,GAASkD,EAAvC,CAAmDE,IAAKA,EAAK2sB,SAAUA,EAAvEj9B,SACGkB,EAAAA,SAAAA,IAAmBlB,GAAU,SAAC0d,EAAYhT,GAEzC,IAAMsW,EAAMtD,EAAMsD,KAAOwoB,OAAO9+B,GACxBoL,EAAa4H,EAAMngB,MAAnBuY,SACJ/R,GAAW,EAGbA,EAFEqlC,EAESH,EAAU,KAAOjoB,EAEjBioB,EAAUQ,QAAQzoB,IAAQ,EAEvC,IAAM/T,GAAa,QACjBkD,UAAAA,EACApM,SAAAA,EACA+R,SAAAA,EACAmnB,SAAAA,EACAoM,UAAAA,EACAK,YAAa5zB,EAAW,WAAH,EAAc,kBA7C3C,SAAqBkL,GACnB,IAAIzd,EAAO0lC,EACX,GAAIG,EACF7lC,EAAOA,EAAK,KAAOyd,EAAM,GAAK,CAACA,OAC1B,CAEL,IAAMtW,GADNnH,GAAO,QAAIA,IACQkmC,QAAQzoB,GACVtW,GAAS,EAExBnH,EAAK4hC,OAAOz6B,EAAO,GAEnBnH,EAAKT,KAAKke,EAEb,CACDuoB,EAAahmC,EACd,CA8BgDmmC,CAAY1oB,EAAlB,GAChCtD,EAAMngB,OAEX,OAAO2D,EAAAA,aAAmBwc,EAAOzQ,EApBlC,MAwBN,CAED,IAAMxF,GAAWvG,EAAAA,WAAgDioC,IAKhE1hC,GAAsBkiC,MC1ER,SAAepsC,GAC5B,MAaIA,EAZF4S,UAAAA,OADF,MACc,aADd,EAEE1R,EAWElB,EAXFkB,UAFF,EAaIlB,EAVF6C,KAAAA,OAHF,MAGS,OAHT,EAIEJ,EASEzC,EATFyC,SACA+D,EAQExG,EARFwG,SACA2lC,EAOEnsC,EAPFmsC,YANF,EAaInsC,EANFuY,SAAAA,OAPF,SAQEuzB,EAKE9rC,EALF8rC,UACAO,EAIErsC,EAJFqsC,OACA3M,EAGE1/B,EAHF0/B,SACAI,EAEE9/B,EAFF8/B,MACGjtB,GAZL,OAaI7S,EAbJ,IAcM2P,EAAM,CACViD,EAAeA,EAAN,QAAyB,KAClC1R,EACAsF,EAAcoM,EAAN,UAA2B,KACnC2F,EAAc3F,EAAN,YAA6B,MAEpCnN,OAAOC,SACPC,KAAK,KACLC,OACG0mC,EAA6B,kBAATzpC,GAAoBiQ,EAAAA,EAAAA,KAACpT,GAAD,CAAMC,KAAMkD,IAAWA,EAmBrE,OACEqU,EAAAA,EAAAA,MAACi0B,IAAD,UAAuBt4B,EAAvB,CAAmC3R,UAAWyO,EAA9ClN,SAAAA,EACEyU,EAAAA,EAAAA,MAACk0B,GAAD,CACElqC,UAAc0R,EAAL,UACTpM,SAAUA,EACV+R,SAAUA,EACV8J,QAAS8pB,EAJX1pC,SAAAA,CAMGqpC,GAAaQ,GACdx5B,EAAAA,EAAAA,KAACw4B,GAAD,CAA0BpqC,UAAc0R,EAAL,SAAnCnQ,SAA4D4pC,IAC3DvM,IAAShtB,EAAAA,EAAAA,KAACy4B,GAAD,CAA0BrqC,UAAc0R,EAAL,SAAnCnQ,SAA4Dq9B,QAExEhtB,EAAAA,EAAAA,KAACu4B,GAAD,CACEj1B,GAAIO,EAAAA,EACJ+oB,SAAUA,EACV7oB,GAAIrQ,EACJqO,eAAe,EACf7D,QAAS,IACT4F,WAAehE,EAAL,SANZnQ,SAQIwU,SAAAA,GAAD,OACCtT,EAAAA,cACEmP,EAAAA,EAAAA,KAACu4B,GAAD,CAAwBx0B,GAAIrQ,EAAUk5B,SAAUA,EAAhDj9B,SACGA,IAEH,CACEvB,UAAc0R,EAAL,SACT/S,OA5CQsgB,EA4CU1d,EA3CrBsD,OAAOkjB,OAAO,CAAC,EAAG9I,GAASA,EAAMngB,MAAQmgB,EAAMngB,MAAMH,MAAQ,CAAC,EAAG,CACtE0sC,mBAAoB,WA2CZx5B,IAAM1S,SAAAA,GAAD,OAxCjB,SAAqB4W,EAA0Bu1B,GACxCA,IAGU,WAAXv1B,GAAkC,YAAXA,IACzBu1B,EAAS3sC,MAAMjB,OAAS,OAEX,YAAXqY,GAAmC,aAAXA,IAC1Bu1B,EAAS3sC,MAAMjB,OAAY4tC,EAASvmB,aAApC,MAEH,CA8B4BhV,CAAYgG,EAAQ5W,EAAhC,IA7CG8f,IAAAA,CAqCb,OAeR,EDFD,I,2BE/FA,GF+FA,G,+EG/FassB,GAAuB34B,EAAAA,GAAAA,KAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,iDAKpB24B,GAAqB54B,EAAAA,GAAAA,KAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,6BAShB,SAAShK,GAAmBjK,GACzC,MAOIA,EANF4S,UAAAA,OADF,MACc,sBADd,EAEE1R,EAKElB,EALFkB,UAFF,EAOIlB,EAJFojB,KAAAA,OAHF,MAGS,GAHT,EAIE3gB,EAGEzC,EAHFyC,SAJF,EAOIzC,EAFFqiB,QAAAA,OALF,MAKY,kBAAM,IAAN,EALZ,EAMKxP,GANL,OAOI7S,EAPJ,IAgBA,IAAM0V,GAAa,UACd7C,EADW,CAEd3R,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC5Dyc,QAXF,SAAqBhiB,GACnB,IAAK+iB,EACH,OAAOf,EAAQ,IAAI,EAAOhiB,GAE5BssC,KAAKvpB,GAAOwpB,SAAAA,GACVvqB,EAAQe,EAAMwpB,EAAQvsC,EADpB,GAGL,IAMD,OACE6W,EAAAA,EAAAA,MAACw1B,IAAD,UAAwBh3B,EAAxB,CAAAjT,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC25B,GAAD,CAAsBvrC,UAAc0R,EAAL,UAA/BnQ,SAAyD2gB,IACxD3gB,KAGN,CCzCM,IAAMoqC,GAAsB,CACjCC,uBAAwB,UACxBC,wBAAyB,UAEzBzoB,oBAAqB,MACrB0oB,wBAAyB,UACzB3W,oBAAqB,OACrB4W,iCAAkC,UAClCC,uBAAwB,UACxBC,uBACE,6IACFC,wBAAyB,6FACzBC,wBAAyB,0FACzBC,6BACE,gGAGEtqB,GAAa,CACjB9T,cAAc,UAAK29B,KAIRU,GAAkCz5B,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,iCAK/By5B,GAAqB15B,EAAAA,GAAAA,MAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,iCAAAA,SAE1BjU,SAAAA,GAAD,OACAA,EAAMuY,WACNjE,EAAAA,EAAAA,IADA,mQADA,IAuBSm5B,IAAyB35B,EAAAA,EAAAA,IAAOuD,GAAPvD,CAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC9BrU,SAAAA,GAAD,OACAA,EAAM2lC,WACNrxB,EAAAA,EAAAA,IADA,oMAKatU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,IAGGhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,GATd,IAkBS0qB,GAAgB55B,EAAAA,GAAAA,IAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wCAObmuB,GAA0B75B,EAAAA,GAAAA,IAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,6IAAAA,gNAAAA,oBAAAA,+CAAAA,6IAAAA,sKAAAA,0CAAAA,iDAAAA,oEAAAA,qCAAAA,2DAUhCyR,IAagBnxB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IACFhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,IAEChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IAMJhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAOQhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAIChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAIChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,+BAA7D,IAKChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,mCAA7D,IAEJhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,I,8HCjHN,SAAS4qB,GAAwC5tC,GACtD,MAWIA,EAVF4S,UAAAA,OADF,MACc,mBADd,IAWI5S,EATF+hB,UAAAA,OAFF,WAEctb,EAFd,EAGEvF,EAQElB,EARFkB,UACA+zB,EAOEj1B,EAPFi1B,aACA4Y,EAME7tC,EANF6tC,gBALF,EAWI7tC,EALFk1B,WAAAA,OANF,WAWIl1B,EAJFg1B,OAAAA,OAPF,MAOW,aAPX,EAQE50B,EAGEJ,EAHFI,SACAD,EAEEH,EAFFG,MACGm1B,GAVL,OAWIt1B,EAXJ,IAaA,GAAkCwE,EAAAA,EAAAA,UAAkC,IAApE,eAAOspC,EAAP,KAAkBC,EAAlB,KAYA,SAASC,EAAaC,EAAyB3sC,GAC7C,IAAM4sC,GAAc,QAAIJ,GACxBI,EAAY5sC,GAAQ2sC,EACpBF,EAAaG,GACb9tC,GAAYA,EAAS6tC,EAAOC,EAC7B,CAED,OAlBA36B,EAAAA,EAAAA,YAAU,WACR,IAAIwzB,EAAyB,GACvBoH,EAAahuC,EACfi0B,MAAMkW,QAAQ6D,IAAgB,MAACA,GAAAA,EAAYnpC,QAC7CmpC,EAAW57B,SAAQ,SAACshB,EAAM1mB,GACxB45B,EAAU55B,GAAsC,kBAAtBghC,EAAWhhC,GAAsB,IAAIgnB,KAAKN,GAASA,CAD/E,IAIFka,EAAahH,EARN,GASN,CAACqH,KAAKC,UAAUluC,MAUjB+W,EAAAA,EAAAA,MAACy2B,GAAD,CACEzsC,UAAW,CAAI0R,EAAJ,YAA6BA,EAA7B,UAAgDnN,OAAOC,SAASC,KAAK,KAAKC,OACrF/F,OAAK,QAAIlB,MAAO,KAAQojB,GAF1Btf,SAAAA,EAIEqQ,EAAAA,EAAAA,KAACtG,IAAD,QACE0f,QAAQ,QACR/lB,UAAU,aACVkmB,oBAAkB,GACd4I,EAJN,CAKE7uB,SACE0M,EAAAA,EAAAA,KAACy6B,IAAD,QACEn3B,GAAI5L,GACJqpB,KAAMia,EAAU,GAChB5sC,UAAc0R,EAAL,YACLi7B,EAJN,CAKEztC,SAAW03B,SAAAA,GAAD,OAAoCkW,EAAalW,EAAc,EAA/D,KAXhBr1B,UAeEqQ,EAAAA,EAAAA,KAAC/H,IAAD,QACEhE,YAAY,iCACZ+uB,UAAQ,GACHR,EAHP,CAKEn1B,MAAO2tC,EAAU,IAAKpY,EAAAA,GAAAA,GAAUV,EAAQ8Y,EAAU,IAAM,GACxD5sC,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,cAGhEkN,EAAAA,EAAAA,KAAC26B,GAAD,CAAwBa,UAAQ,EAACzuC,MAAO,CAAEsZ,SAAU,GAAIvS,KAAM,EAAG2nC,OAAQ,mBAAzE9rC,UACEqQ,EAAAA,EAAAA,KAAC46B,GAAD,CAAet3B,GAAIo4B,GAAAA,OAErB17B,EAAAA,EAAAA,KAACtG,IAAD,QACE0f,QAAQ,QACR/lB,UAAU,aACVkmB,oBAAkB,GACd4I,EAJN,CAKE7uB,SACE0M,EAAAA,EAAAA,KAACy6B,IAAD,QACEn3B,GAAI5L,GACJqpB,KAAMia,EAAU,GAChB5sC,UAAc0R,EAAL,YACLi7B,EAJN,CAKEztC,SAAW03B,SAAAA,GAAD,OAAoCkW,EAAalW,EAAc,EAA/D,KAXhBr1B,UAeEqQ,EAAAA,EAAAA,KAAC/H,IAAD,QACEhE,YAAY,iCACZ+uB,UAAQ,GACHR,EAHP,CAIEn1B,MAAO2tC,EAAU,IAAKpY,EAAAA,GAAAA,GAAUV,EAAQ8Y,EAAU,IAAM,GAExD5sC,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,aAI/DsvB,GAAc4Y,EAAU9oC,OAAS,IAChC8N,EAAAA,EAAAA,KAAC26B,GAAD,CAAwB9H,UAAQ,EAACtjB,QAAS,kBAAM0rB,EAAa,GAAnB,EAAwB7sC,UAAc0R,EAAL,aAA3EnQ,UACEqQ,EAAAA,EAAAA,KAAC46B,GAAD,CAAet3B,GAAIkM,GAAAA,QAK5B,C,+GChGc,SAAS7X,GAAUzK,GAChC,MAUIA,EATF4S,UAAAA,OADF,MACc,cADd,EAEE1R,EAQElB,EARFkB,UACA+zB,EAOEj1B,EAPFi1B,aACA4Y,EAME7tC,EANF6tC,gBAJF,EAUI7tC,EALFk1B,WAAAA,OALF,WAUIl1B,EAJFyuC,UAAAA,OANF,WAUIzuC,EAHFg1B,OAAAA,OAPF,MAOW,aAPX,EAQE50B,EAEEJ,EAFFI,SACGk1B,GATL,OAUIt1B,EAVJ,IAWA,GAAwBwE,EAAAA,EAAAA,UAASxE,EAAMG,OAAvC,eAAO0zB,EAAP,KAAa0B,EAAb,KAEMp1B,EAAQ0zB,GAAQ,GAStB,SAASma,EAAaC,GACpBQ,GAAa94B,GAAU,GACvB4f,EAAQ0Y,GACR7tC,GAAYA,EAAS6tC,EACtB,CAZD3Y,EAAWn1B,MAAyB,kBAAVA,EAAqBA,GAAQu1B,EAAAA,GAAAA,GAAUV,EAAQ70B,IAEzEoT,EAAAA,EAAAA,YAAU,WACJvT,EAAMG,QAAU0zB,GAClB0B,EAAQv1B,EAAMG,MAFT,GAIN,CAACH,EAAMG,QAON+0B,GAAcI,EAAWn1B,QAC3Bm1B,EAAWlD,YACTtf,EAAAA,EAAAA,KAAC26B,GAAD,CAAwB9H,UAAQ,EAACzkC,UAAc0R,EAAL,aAA4ByP,QAAS,kBAAM2rB,OAAavnC,EAAnB,EAA/EhE,UACEqQ,EAAAA,EAAAA,KAAC46B,GAAD,CAAet3B,GAAIkM,GAAAA,OAKzB,OAA4B9d,EAAAA,EAAAA,WAAS,GAArC,eAAOgQ,EAAP,KAAemB,EAAf,KAEA,OACE7C,EAAAA,EAAAA,KAACtG,IAAD,QACE0f,QAAQ,QACR/lB,UAAU,aACVkmB,oBAAkB,EAClB7X,OAAQA,EACRyY,gBAAkB9lB,SAAAA,GAAD,OAAUwO,EAAUxO,EAApB,GACb8tB,EANN,CAOE7uB,SACE0M,EAAAA,EAAAA,KAACy6B,IAAD,QACEn3B,GAAI5L,GACJqpB,KAAO1zB,GAAS,IAAIg0B,KAAKh0B,SAAWsG,EACpCvF,UAAc0R,EAAL,YACLi7B,EAJN,CAKEztC,SAAW03B,SAAAA,GAAD,OAAoCkW,EAAalW,EAAjD,KAbhBr1B,UAiBEqQ,EAAAA,EAAAA,KAAC06B,IAAD,QACEp3B,GAAIrL,GACJhE,YAAY,iCACZ+uB,UAAQ,GACHR,EAJP,CAKEp0B,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,YAInE,CClFD,I,mDAEA,GAF+D,SAAC,GAAD,SAAGnD,QAAlE,ECCaisC,GAAyB,CACpCC,wBAAyB,UACzBh1B,cAAe,OACfC,gBAAiB,OACjBC,cAAe,OACfwc,oBAAqB,OAErBuY,0BAA2B,UAC3BC,sBAAuB,sBAEvBC,wBAAyB,sBACzBC,uBAAwB,uBAEpB/rB,GAAa,CACjB9T,cAAc,UAAKw/B,KAORM,GAAwBl7B,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mBAAAA,QAAAA,SACjB/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,sBAA7D,IACXhjB,SAAAA,GAAD,OACAA,EAAM0/B,WACNprB,EAAAA,EAAAA,IADA,0IAKyBtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,GANxB,IAmBSisB,GAAwBn7B,EAAAA,GAAAA,GAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAAAA,WAAAA,SAAAA,SAC7BnU,SAAAA,GAAD,OACAA,EAAMkvC,UACN56B,EAAAA,EAAAA,IADA,wPADA,IAeCtU,SAAAA,GAAD,OACAA,EAAMmvC,UACN76B,EAAAA,EAAAA,IADA,yHAMctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAA7D,GAPb,IAUKhjB,SAAAA,GAAD,OACJA,EAAMovC,YACN96B,EAAAA,EAAAA,IADA,gGAGkBtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kBAA7D,IACHhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,GALT,IAQDhjB,SAAAA,GAAD,OACFA,EAAM0/B,WACL1/B,EAAMovC,WAAapvC,EAAMkvC,WAC1B56B,EAAAA,EAAAA,IAFA,0FADE,IAYO+6B,GAAyBv7B,EAAAA,GAAAA,MAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,iLAetB0vB,GAAgCx7B,EAAAA,GAAAA,QAAHqN,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gFAAAA,mBAAAA,6BAAAA,SAI9BnhB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAA7D,IACKhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,gBAA7D,IAEVhjB,SAAAA,GAAD,OACAA,EAAM0/B,WACNprB,EAAAA,EAAAA,IADA,wGADA,IAeSi7B,GAA4Bz7B,EAAAA,GAAAA,GAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,sEAAAA,OAAAA,SAIjCxrC,SAAAA,GAAD,OACAA,EAAM0/B,WACNprB,EAAAA,EAAAA,IADA,gFADA,IAOCtU,SAAAA,GAAD,OACCA,EAAM0/B,WACPprB,EAAAA,EAAAA,IADA,kFADA,IAgBSk7B,GAA8B17B,EAAAA,GAAAA,MAAH6Y,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,iCAAAA,OAAAA,OAAAA,SAEnC3sB,SAAAA,GAAD,OACAA,EAAM0/B,WACNprB,EAAAA,EAAAA,IADA,4bAK2BtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,4BADhC,IAOfhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,IAEChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAA7D,GAfV,IAuBChjB,SAAAA,GAAD,MACe,UAAfA,EAAM2G,MACN3G,EAAM0/B,WACNprB,EAAAA,EAAAA,IAFA,oGAGMi7B,GACAA,GALN,IASCvvC,SAAAA,GAAD,MACe,UAAfA,EAAM2G,MACN3G,EAAM0/B,WACNprB,EAAAA,EAAAA,IAFA,sFAGMi7B,GAA6BN,GAJnC,I,mHCtGJ,OA5EA,SAAcjvC,QAAuB,IAAvBA,IAAAA,EAAmB,CAAC,GAChC,MAaIA,EAZF4S,EADF,EACEA,UACA1R,EAFF,EAEEA,UAFF,IAGEsW,QAASC,OAHX,MAGqB,KAHrB,EAIEpU,EAJF,EAIEA,OACAq8B,EALF,EAKEA,SACAx6B,EANF,EAMEA,MAEAuqC,EARF,EAQEA,MACAC,EATF,EASEA,KACAjtC,EAVF,EAUEA,SAEGuf,GAZL,OAaIhiB,EAbJ,IAeM2vC,EAAoD,CACxDzuC,UAAW,CACT0R,EAAeA,EAAN,cAA+B,KACxC1R,EACAuuC,EAAW78B,EAAN,cAA+B,KACnC1N,EAAuC,KAA5B0N,EAAZ,kBAECnN,OAAOC,SACPC,KAAK,KACLC,QAEL,MAAe,eAAXvC,EACGq8B,GAiBHxoB,EAAAA,EAAAA,MAAC1R,EAAAA,SAAD,CAAA/C,SAAAA,EACEqQ,EAAAA,EAAAA,KAACm8B,IAAD,QAAuB74B,GAAG,MAASu5B,EAAnC,CAA+CjQ,SAAUA,EAAUyP,QAASM,EAAOP,UAAWhqC,EAA9FzC,SACGyC,MAEH4N,EAAAA,EAAAA,KAACm8B,IAAD,UACMjtB,EADN,CAEE5L,GAAIqB,EACJ23B,YAAax8B,EACb8sB,SAAUA,EACVkQ,QAASF,EAAc,EAAPA,EAAW,EAAIA,EAC/BxuC,UAAW0R,EAAeA,EAAN,gBAAiC,GANvDnQ,SAQGA,SA3BHyU,EAAAA,EAAAA,MAAC+3B,IAAD,QAAuB74B,GAAIqB,GAAauK,EAAxC,CAA+C4tB,QAASF,EAAxDjtC,SAAAA,EACEqQ,EAAAA,EAAAA,KAACm8B,IAAD,QAAuB74B,GAAG,QAAWu5B,EAArC,CAAiDR,QAASM,EAAOP,UAAWhqC,EAA5EzC,SACGyC,MAEH4N,EAAAA,EAAAA,KAACm8B,GAAD,CACE74B,GAAG,OACHg5B,YAAax8B,EACb1R,UAAW0R,EAAeA,EAAN,gBAAiC,GAHvDnQ,SAKGA,SAwBTqQ,EAAAA,EAAAA,KAACm8B,GAAD,CACEvP,SAAUA,EACVwP,QAAqB,OAAZz3B,EACT23B,UAAuB,OAAZ33B,EACXrB,GAAIqB,EACJm4B,QAASF,EACTxuC,UAAc0R,EAAL,UAAmC,OAAZ6E,EAAmB,UAAY,SANjEhV,SAQGA,GAGN,EC/Ec,SAASotC,GAAI7vC,QAAsB,IAAtBA,IAAAA,EAAkB,CAAC,GAC7C,MAAsEA,EAA9D4S,EAAR,EAAQA,UAAWvP,EAAnB,EAAmBA,OAAQq8B,EAA3B,EAA2BA,SAAUoQ,EAArC,EAAqCA,OAAQL,EAA7C,EAA6CA,MAA7C,IAAoDhtC,SAAAA,OAApD,MAA+D,GAA/D,EACA,SAASstC,EAAWC,GAClB,OAAOvtC,EAASpB,KAAI,SAAC8e,EAAOhT,GAAR,OAClBqW,EAAAA,EAAAA,eAACysB,IAAD,UACM9vB,EAAMngB,MADZ,CAEE4S,UAAWA,EACX6Q,IAAKtW,EACL2iC,OAAQA,EACRt4B,QAASw4B,EAAS,KAAO,KACzBE,WAAYztC,EAASuC,OAAS,IAAMmI,EACpC9J,OAAQA,EACRosC,MAAOA,EACP/P,SAAUA,IAETsQ,EAAS7vB,EAAMngB,MAAMkF,MAAQib,EAAMngB,MAAMyC,SAZ1B,GAerB,CACD,IAAMkN,EAAMiD,EAAeA,EAAN,OAAwB,GAC7C,OACEsE,EAAAA,EAAAA,MAAC1R,EAAAA,SAAD,CAAA/C,SAAAA,CACc,aAAXY,IAAyByP,EAAAA,EAAAA,KAAAA,KAAAA,CAAI5R,UAAWyO,EAAflN,SAAqBstC,GAAW,MAC1Dj9B,EAAAA,EAAAA,KAACy8B,GAAD,CAA2B7P,SAAUA,EAAUx+B,UAAWyO,EAA1DlN,SACGstC,QAIR,C,gGCkBD,SAASI,GAAqBnwC,EAA0B+S,GACtD,MAWI/S,EAVF4S,UAAAA,OADF,MACc,iBADd,EAEE1R,EASElB,EATFkB,UACAyB,EAQE3C,EARF2C,MACA+8B,EAOE1/B,EAPF0/B,SAJF,EAWI1/B,EANF8vC,OAAAA,OALF,MAKW,EALX,EAMEnpC,EAKE3G,EALF2G,KANF,EAWI3G,EAJFyvC,MAAAA,OAPF,SAQEhtC,EAGEzC,EAHFyC,SARF,EAWIzC,EAFFqD,OAAAA,OATF,MASW,aATX,EAUK2e,GAVL,OAWIhiB,EAXJ,IAYM2P,EAAM,CACViD,EACA1R,EACA0R,GAAavP,EAAYuP,EAAzB,IAAsCvP,EAAW,KACjDq8B,EAAc9sB,EAAN,YAA6B,KACrCjM,EAAUiM,EAAN,IAAmBjM,EAAS,MAE/BlB,OAAOC,SACPC,KAAK,KACLC,OAGGykC,EA9DqB,SAC3B5nC,EACAqtC,GAEA,IAEIM,EAFEC,EAAsD,GACxDC,EAA8D,KA6BlE,OA1BA7tC,EAAS8P,SAAQ,SAACrB,EAAiD/D,GACjE,IAAIojC,EAAWr/B,EAEVo/B,IACHF,EAAYN,EACZQ,EAAU,GACVD,EAAK9qC,KAAK+qC,IAIKnjC,IAAU1K,EAASuC,OAAS,IAE3CurC,EAAW5sC,EAAAA,aAAmB4sC,EAAU,CACtCb,KAAMU,KAIV,MAAqBG,EAASvwC,MAAtB0vC,KAAAA,OAAR,MAAe,EAAf,EACAY,EAAQ/qC,KAAKgrC,IACbH,GAAaV,IAEI,IACfY,EAAU,KAtBd,IA0BOD,CAlCT,CA8DqEG,CAD7C7sC,EAAAA,SAAAA,QAAuBlB,GAC0DqtC,GAEvG,OACEh9B,EAAAA,EAAAA,KAACk8B,GAAD,CAAuBtP,SAAUA,EAAUx+B,UAAWyO,EAAKoD,IAAKA,EAAhEtQ,UACEyU,EAAAA,EAAAA,MAACm4B,IAAD,UAA4BrtB,EAA5B,CAAAvf,SAAAA,CACGE,IACCmQ,EAAAA,EAAAA,KAACw8B,GAAD,CAA+B5P,SAAUA,EAAUx+B,UAAc0R,EAAL,SAA5DnQ,SACGE,KAGLmQ,EAAAA,EAAAA,KAAC08B,GAAD,CAA6B7oC,KAAMA,EAAM+4B,SAAUA,EAAUx+B,UAAc0R,EAAL,SAAtEnQ,SACG4nC,EAAOhpC,KAAI,SAAC8e,EAAOhT,GAAR,OACV2F,EAAAA,EAAAA,KAAC+8B,GAAD,CAAiBj9B,UAAWA,EAAW8sB,SAAUA,EAAU+P,MAAOA,EAAOK,OAAQA,EAAQzsC,OAAQA,EAAjGZ,SACG0d,GADOhT,EADA,WASrB,CAED,IAAM9C,GAAe1G,EAAAA,WAAoDwsC,IAKxE9lC,GAA8B6e,KAAO+lB,GAEtC,I,yMAAA,MC7GawB,GAAoB,CAC/B52B,cAAe,OACf62B,2BAA4B,UAC5BC,8BAA+B,WAE3B3tB,GAAa,CACjB9T,cAAc,UAAKuhC,KAMRG,GAAmB98B,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,kBAAAA,yGAAAA,UAAAA,SAAAA,SAAAA,SACb/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,gBAA7D,IAKEhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6BAA7D,IAEXhjB,SAAAA,GACD,GAAIA,EAAM4S,UAAW,CACnB,GAAmB,aAAf5S,EAAML,KACR,OAAO2U,EAAAA,EAAAA,IAAP,0OASK,GAAmB,eAAftU,EAAML,KACf,OAAO2U,EAAAA,EAAAA,IAAP,2HAIItU,EAAMyC,WACR6R,EAAAA,EAAAA,IADE,0lBAkBOtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,gCAA7D,IAMb,CAjDwB,IAoDxBhjB,SAAAA,GACD,GAAIA,EAAM4S,WAAa5S,EAAMyC,SAAU,CACrC,GAAoB,SAAhBzC,EAAM6wC,MACR,OAAOv8B,EAAAA,EAAAA,IAAP,wJAQK,GAAoB,UAAhBtU,EAAM6wC,MACf,OAAOv8B,EAAAA,EAAAA,IAAP,uJASH,CAzEwB,IA4ExBtU,SAAAA,GACD,GAAIA,EAAM8wC,OACR,OAAI9wC,EAAMyC,UACD6R,EAAAA,EAAAA,IAAP,mIAOOA,EAAAA,EAAAA,IAAP,mHAGOtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,gCAA7D,GAzFe,IAgGhB+tB,GAAwBj9B,EAAAA,GAAAA,IAAHqN,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uDAKlC,M,gEC1GA,GAAexd,EAAAA,YAA+C,SAAC3D,EAAO+S,GACpE,MAQI/S,EAPF4S,UAAAA,OADF,MACc,YADd,EAEE1R,EAMElB,EANFkB,UACAuB,EAKEzC,EALFyC,SAHF,EAQIzC,EAJF8wC,OAAAA,OAJF,WAQI9wC,EAHFL,KAAAA,OALF,MAKS,aALT,IAQIK,EAFF6wC,MAAAA,OANF,MAMU,SANV,EAOKG,GAPL,OAQIhxC,EARJ,IASM2P,EAAM,CACVzO,EACA0R,EACAA,GAAajT,EAAUiT,EAAvB,IAAoCjT,EAAS,KAC7CiT,GAAai+B,EAAWj+B,EAAxB,IAAqCi+B,EAAU,KAC/CpuC,EAAcmQ,EAAN,aAA8B,KACpCk+B,EAAYl+B,EAAd,UAAmC,MAElCnN,OAAOC,SACPC,KAAK,KACLC,OACH,OACEkN,EAAAA,EAAAA,KAACm+B,IAAD,QACE/vC,UAAWyO,GACPqhC,EAFN,CAGEj+B,IAAKA,EACLH,UAAWA,EACXjT,KAAMA,EACNkxC,MAAOA,EACPC,OAAQA,EAPVruC,SASGA,IAAYqQ,EAAAA,EAAAA,KAACi+B,GAAD,CAAuB7vC,UAAc0R,EAAL,cAAhCnQ,SAA8DA,MA/BlE,I,WCLFyuC,GAAmB,CAC9BC,8BAA+B,wBAC/BC,8BAA+B,wBAC/BC,6BAA8B,OAC9BC,4BAA6B,OAC7BC,6BAA8B,yBAC9BC,oBAAqB,UACrBC,6BAA8B,0BAE1BzuB,GAAa,CACjB9T,cAAc,UAAKgiC,KAORQ,GAAyB59B,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC9B/T,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,yMACwBvF,GAAqB,UAAK/O,EAAUgjB,IAAc,iCACzDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,iCAC/CjU,GAAqB,UAAK/O,EAAUgjB,IAAc,gCAHtE,IAWS2uB,GAAwB79B,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC7BnU,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,yYAMoBvF,GAAqB,UAAK/O,EAAUgjB,IAAc,+BAEhDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,gCAEpE3L,GAEOtI,GAAqB,UAAK/O,EAAUgjB,IAAc,uBAZ7D,IAsBS4uB,GAAsB99B,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC3Btf,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,wFAOSu9B,GAAwB/9B,EAAAA,GAAAA,IAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC7B1f,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,wKACuBvF,GAAqB,UAAK/O,EAAUgjB,IAAc,gCADzE,IAUS8uB,GAAyBh+B,EAAAA,GAAAA,IAAHqN,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC9BnhB,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,0CAKSy9B,IAAkBj+B,EAAAA,EAAAA,IAAO1H,EAAP0H,CAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACvBxrC,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,ibACuB,QAApBtU,EAAMmG,WAA2C,WAApBnG,EAAMmG,aACtCmO,EAAAA,EAAAA,IADG,SAAD,+EAEEo9B,IAMkB,QAApB1xC,EAAMmG,YACRmO,EAAAA,EAAAA,IADE,oEAEEo9B,IAKgB,WAApB1xC,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,uEAEIo9B,KAKiB,UAApB1xC,EAAMmG,WAA6C,SAApBnG,EAAMmG,aACtCmO,EAAAA,EAAAA,IADC,SAAD,+EAEIo9B,IAMgB,UAApB1xC,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,sEAEIo9B,IAKgB,SAApB1xC,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,qEAEIo9B,IAMc79B,EAGSA,EAGRA,EAGOA,EAIJ,UAApB7T,EAAMmG,YACRmO,EAAAA,EAAAA,IADE,2VAEoBT,EAGOA,EAGRA,EAGOA,GAKN,SAApB7T,EAAMmG,YACRmO,EAAAA,EAAAA,IADE,6VAEoBT,EAGOA,EAGRA,EAGOA,GAKR,QAApB7T,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,6VAEsBT,EAGOA,EAGRA,EAGOA,GAKR,WAApB7T,EAAMmG,YACNmO,EAAAA,EAAAA,IADA,2VAEsBT,EAGOA,EAGRA,EAGOA,GAtH5B,I,mJCzDJ,YAAgB7T,QAA4B,IAA5BA,IAAAA,EAAqB,CAAC,GACpC,MAeIA,EAfJ,IACE4S,UAAAA,OADF,MACc,WADd,EAEE1R,EAFF,EAEEA,UACArB,EAHF,EAGEA,MAHF,IAIEsG,UAAAA,OAJF,MAIc,QAJd,MAKEQ,KAAAA,OALF,MAKS,IALT,EAMEhE,EANF,EAMEA,MACAo9B,EAPF,EAOEA,OACAl9B,EARF,EAQEA,KARF,IASE+e,mBAAAA,OATF,SAUEowB,EAVF,EAUEA,UAVF,IAWEhhC,QAAAA,OAXF,MAWY,IAXZ,MAYEwD,OAAAA,OAZF,aAaEC,aAAAA,OAbF,SAcKiZ,GAdL,OAeI1tB,EAfJ,IAgBM2P,EAAM,CAACzO,EAAW0R,EAAWzM,GAAWV,OAAOC,SAASC,KAAK,KAAKC,OAClEqsC,EAAU,CAACD,EAAYA,EAAU9wC,UAAY,KAAM0R,EAAeA,EAAN,cAA+B,MAC9FnN,OAAOC,SACPC,KAAK,KACLC,OACGssC,GAAO,UACRryC,GADK,WAEP,iBAAiB0C,KAAK4D,GAAc,SAAW,QAAUQ,IAEtDwrC,GAAalyC,EAAAA,EAAAA,UACjB,kBAAO8/B,GAASjtB,EAAAA,EAAAA,KAAC++B,GAAD,CAAuB3wC,UAAc0R,EAAL,UAAhCnQ,SAA0Ds9B,IAAkC,IAA5G,GACA,CAACA,IAEGqS,EAAWvvC,EACXwvC,GAAYpyC,EAAAA,EAAAA,UAAQ,kBAAO0C,GAAQmQ,EAAAA,EAAAA,KAAAA,KAAAA,CAAArQ,SAAKE,IAAc,IAAlC,GAAyC,CAACA,IAEpE,OACEmQ,EAAAA,EAAAA,KAACi/B,IAAD,QACE5rC,UAAWA,EACXjF,UAAWyO,EACXqB,QAASA,EACTwD,OAAQA,EACRC,aAAcA,GACViZ,EANN,CAAAjrB,UAQEyU,EAAAA,EAAAA,MAACw6B,GAAD,CAAwBxwC,UAAc0R,EAAL,WAA0B/S,MAAOqyC,EAAlEzvC,SAAAA,EACIE,GAASE,KACTqU,EAAAA,EAAAA,MAACy6B,GAAD,CAAuBzwC,UAAc0R,EAAL,UAAhCnQ,SAAAA,CACG2vC,EACAC,EACA1vC,GAASif,IACR9O,EAAAA,EAAAA,KAAC9H,GAAD,CAAQoN,OAAK,EAACiK,QAASriB,EAAMmV,QAAStS,MAAMiQ,EAAAA,EAAAA,KAACuE,GAAD,CAAejB,GAAIkM,GAAAA,IAAW3iB,KAAK,cAIrFmT,EAAAA,EAAAA,KAAC8+B,GAAD,CAAqB1wC,UAAc0R,EAAL,QAA9BnQ,UACEqQ,EAAAA,EAAAA,KAACg/B,IAAD,UAA4BE,EAA5B,CAAuC9wC,UAAW+wC,EAAlDxvC,SACGzC,EAAMyC,cAGV0vC,OAzDT,ECxBaG,GAAkB,CAC7BC,eAAgB,WAEZvvB,GAAa,CACjB9T,cAAc,UAAKojC,KAMRE,GAAiB1+B,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,cAAAA,iCACf/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,iBAA7D,IAIEyvB,GAAiB3+B,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAEdy+B,GAAwB5+B,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8BAIrBw+B,GAAmB7+B,EAAAA,GAAAA,IAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8BAI7B,M,gFC6BA,GA7CerU,SAAAA,GACb,MASIA,EARF4S,UAAAA,OADF,MACc,UADd,EAEE1R,EAOElB,EAPFkB,UACA2B,EAME7C,EANF6C,KACA+vC,EAKE5yC,EALF4yC,UAJF,EASI5yC,EAJF2G,KAAAA,OALF,MAKS,GALT,IASI3G,EAHF6yC,YAAAA,OANF,MAMgB,2BANhB,EAOEpwC,EAEEzC,EAFFyC,SACGuf,GARL,OASIhiB,EATJ,IAWM2P,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC7D,OACEsR,EAAAA,EAAAA,MAAC47B,IAAD,QAAW5xC,UAAWyO,GAASqS,EAA/B,CAAAvf,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC2/B,GAAD,CAAgBvxC,UAAc0R,EAAL,QAAzBnQ,SACGI,IAGCqU,EAAAA,EAAAA,MAAAA,OAAAA,EAAAA,EAAAA,GAAAA,CAAKxY,QAAQ,gBAAgBC,MAAOgI,EAAM/H,OAAQ+H,GAAUisC,EAA5D,CAAAnwC,SAAAA,EACEqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAM5T,EAAE,yEAAyEF,KAAK,aACtF8T,EAAAA,EAAAA,KAAAA,OAAAA,CAAM5T,EAAE,wDAAwDF,KAAK,aACrE8T,EAAAA,EAAAA,KAAAA,OAAAA,CACE5T,EAAE,oKACFF,KAAK,aAEP8T,EAAAA,EAAAA,KAAAA,OAAAA,CACE5T,EAAE,uUACFF,KAAK,aAEP8T,EAAAA,EAAAA,KAAAA,OAAAA,CACE5T,EAAE,4YACFF,KAAK,kBAKZ6zC,IACC//B,EAAAA,EAAAA,KAAC4/B,GAAD,CAAuBxxC,UAAc0R,EAAL,eAAhCnQ,SAA+DowC,IAEhEpwC,IAAYqQ,EAAAA,EAAAA,KAAC6/B,GAAD,CAAkBzxC,UAAc0R,EAAL,UAA3BnQ,SAAqDA,OAxCxE,ECPaswC,GAAiB,CAC5BC,qCAAsC,sCACtCC,2CAA4C,yEAC5CC,2CAA4C,UAC5CC,iCAAkC,UAElCC,gDAAiD,UACjDC,0CAA2C,0EAE3CC,kCAAmC,UAEnCC,4CAA6C,qBAE7CC,6CAA8C,UAC9CC,yCAA0C,UAC1CC,4CAA6C,sBAE7CC,gDAAiD,UACjDC,gDAAiD,WAG7C5wB,GAAa,CACjB9T,aAAc6jC,IAQHc,IAAqB//B,EAAAA,EAAAA,IAAO/I,GAAP+I,CAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,qQAAAA,wBAAAA,8CAAAA,8BAAAA,8BAAAA,mBAAAA,0YAAAA,kFAWJ/T,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,kDADhC,IAELhjB,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAUgjB,IAAc,4CADtC,IAIChjB,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAUgjB,IAAc,uCADtC,IAEOhjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6CADhC,IAEChjB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,6CADhC,IAEVhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,mCAA7D,IAiBChjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,oCAA7D,IAYF8wB,GAAgChgC,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACrCjU,SAAAA,GAAD,OACAA,EAAM+zC,WACNz/B,EAAAA,EAAAA,IADA,sTAYiBtU,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAUgjB,IAAc,8CADtC,GAbhB,IAsBSgxB,GAA4BlgC,EAAAA,GAAAA,IAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,qHAAAA,gCAAAA,0JAAAA,cAAAA,iCAKfrU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAUgjB,IAAc,+CADhC,IAGfhjB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,2CAA7D,IAODhjB,SAAAA,GAAD,OACAA,EAAMi0C,MACN3/B,EAAAA,EAAAA,IADA,yFADA,GAMOw/B,IAIXE,GAA0BhhC,aAAe,CAAE9D,aAAc6jC,IAElD,IAAMmB,GAAgCpgC,EAAAA,GAAAA,IAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wHAS7B20B,GAAsCrgC,EAAAA,GAAAA,KAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,oIAQnC00B,GAAyBtgC,EAAAA,GAAAA,IAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8BAAAA,OAAAA,SAK9B5f,SAAAA,GACD,MAAmB,UAAfA,EAAM2G,MACD2N,EAAAA,EAAAA,IAAP,4GACI0/B,IAMa,WAAfh0C,EAAM2G,MACD2N,EAAAA,EAAAA,IAAP,0GACI0/B,IAMa,UAAfh0C,EAAM2G,MACD2N,EAAAA,EAAAA,IAAP,0GACI0/B,KAMC1/B,EAAAA,EAAAA,IAAP,uBA9B+B,IAgC9BtU,SAAAA,GACD,MAAoB,WAAhBA,EAAMykB,OACDnQ,EAAAA,EAAAA,IAAP,wFACI0/B,IAKc,UAAhBh0C,EAAMykB,OACDnQ,EAAAA,EAAAA,IAAP,wFACI0/B,KAKC1/B,EAAAA,EAAAA,IAAP,uBA/C+B,IAqDtB+/B,GAAgCvgC,EAAAA,GAAAA,IAAH2b,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gNAAAA,iCAWzBzvB,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAUgjB,IAAc,8CADtC,IAKHsxB,GAAsCxgC,EAAAA,GAAAA,KAAH0vB,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,oIAQnC+Q,GAAuCzgC,EAAAA,GAAAA,IAAH0gC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,cAAAA,gCACtCH,IAIEI,GAAuC3gC,EAAAA,GAAAA,IAAH4gC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OACpCC,GAAuC7gC,EAAAA,GAAAA,IAAH6vB,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAMpCiR,GAAmC9gC,EAAAA,GAAAA,IAAH+gC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,OAAAA,SACxC70C,SAAAA,GACD,GAAyB,YAArBA,EAAM80C,WACR,OAAOxgC,EAAAA,EAAAA,IAAP,ohBAEM,kBAAMvF,GAAqB,UAAK/O,EAAUgjB,IAAc,kDAAxD,GAKFuxB,GAUAE,GAGAE,GAvBmC,IA8BxC30C,SAAAA,GACD,MAAyB,SAArBA,EAAM80C,YACDxgC,EAAAA,EAAAA,IAAP,2aAOkB,kBACZvF,GAAqB,UAAK/O,EAAUgjB,IAAc,kDADtC,GAMdyxB,GAGAE,KAMCrgC,EAAAA,EAAAA,IAAP,uBAtDyC,IA+DhCygC,GAAyBjhC,EAAAA,GAAAA,IAAHkhC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+CAAAA,OAAAA,SAG9Bh1C,SAAAA,GACD,MAAyB,YAArBA,EAAM80C,YACDxgC,EAAAA,EAAAA,IAAP,wBAEiB,UAAftU,EAAM2G,MACD2N,EAAAA,EAAAA,IAAP,gJACIsgC,GACEL,IAOW,WAAfv0C,EAAM2G,MACD2N,EAAAA,EAAAA,IAAP,gJACIsgC,GACEL,IAOW,UAAfv0C,EAAM2G,MACD2N,EAAAA,EAAAA,IAAP,gJACIsgC,GACEL,KAODjgC,EAAAA,EAAAA,IAAP,uBArC+B,IAuC9BtU,SAAAA,GACD,MAAoB,UAAhBA,EAAMykB,OAA0C,YAArBzkB,EAAM80C,YAC5BxgC,EAAAA,EAAAA,IAAP,wHACIsgC,GACEL,IAMY,WAAhBv0C,EAAMykB,OACDnQ,EAAAA,EAAAA,IAAP,6BADF,CAjD+B,I,yCC3SnC,GAAe3Q,EAAAA,YAAqD,SAAC3D,EAAO+S,GAC1E,IAAQ7R,EAAyElB,EAAzEkB,UAAR,EAAiFlB,EAA9Di1C,UAAAA,OAAnB,MAA+B,SAA/B,IAAiFj1C,EAAxC4S,UAAAA,OAAzC,MAAqD,cAArD,EAAuEoP,GAAvE,OAAiFhiB,EAAjF,IACM2P,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC7D,OAAOkN,EAAAA,EAAAA,KAAC+gC,IAAD,QAAoB9gC,IAAKA,EAAK,aAAYkiC,EAAW/zC,UAAWyO,GAASqS,EAAzE,CAAgFriB,KAAK,SAH/E,I,WC4Ef,GArEiBK,SAAAA,GACf,IACEkB,EAeElB,EAfFkB,UADF,EAgBIlB,EAdF4S,UAAAA,OAFF,MAEc,mBAFd,IAgBI5S,EAbFk1C,SAAAA,OAHF,MAGa,GAHb,EAIEJ,EAYE90C,EAZF80C,WAJF,EAgBI90C,EAXF2G,KAAAA,OALF,MAKS,SALT,IAgBI3G,EAVFykB,MAAAA,OANF,MAMU,QANV,EAOE0wB,EASEn1C,EATFm1C,SACA1yC,EAQEzC,EARFyC,SARF,EAgBIzC,EAPFo1C,aAAAA,OATF,MASiB,CACbC,iBAAiB,EACjBC,gBAAgB,GAXpB,EAaEC,EAGEv1C,EAHFu1C,UACAC,EAEEx1C,EAFFw1C,MACAC,EACEz1C,EADFy1C,SAGI9lC,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAE7D,OACEsR,EAAAA,EAAAA,MAAC69B,GAAD,CAAwBD,WAAYA,EAAYnuC,KAAMA,EAAM8d,MAAOA,EAAOvjB,UAAWyO,EAArFlN,SAAAA,CACGA,IACE0yC,GACDxxC,EAAAA,eAAqBlB,IACrBkB,EAAAA,aAAmBlB,EAAU,CAC3B4f,QAASmzB,KAEb1iC,EAAAA,EAAAA,KAAAA,MAAAA,CAAArQ,SACGyyC,EAAS7zC,KAAI,SAACe,EAAM+K,GAAP,OACZ+J,EAAAA,EAAAA,MAAC09B,GAAD,CACE1zC,UAAc0R,EAAL,IAAkBkiC,EAC3BA,WAAYA,EAFdryC,SAAAA,CAKkB,YAAfqyC,IACC59B,EAAAA,EAAAA,MAACq9B,GAAD,CAAsCrzC,UAAc0R,EAAL,SAAuBA,EAAvB,IAAoCkiC,EAApC,QAA/CryC,SAAAA,EACEqQ,EAAAA,EAAAA,KAAAA,MAAAA,CAAK4R,IAAKtiB,EAAI,QAAauiB,IAAI,MAClB,MAAZywB,OAAAA,EAAAA,EAAcC,mBACbviC,EAAAA,EAAAA,KAACuhC,GAAD,CAA+BnzC,UAAc0R,EAAL,WAAxCnQ,UACEqQ,EAAAA,EAAAA,KAACwhC,GAAD,CACEpzC,UAAc0R,EAAL,kBACTyP,QAAS,wBAAMkzB,OAAN,EAAMA,EAAYnzC,EAAlB,EAFXK,UAIEqQ,EAAAA,EAAAA,KAACuE,GAAD,CAAejB,GAAIs/B,GAAAA,OAAQ71C,MAAO,CAAE0G,MAAO,OAAQ4S,SAAU,cAMvErG,EAAAA,EAAAA,KAAC2hC,GAAD,CAAsCvzC,UAAc0R,EAAL,IAAkBkiC,EAAlB,QAA/CryC,SACGL,EAAKW,QAEK,MAAZqyC,OAAAA,EAAAA,EAAcE,kBACbxiC,EAAAA,EAAAA,KAAC6hC,GAAD,CACEzzC,UAAc0R,EAAL,IAAkBkiC,EAAlB,QACTzyB,QAAS,wBAAMozB,OAAN,EAAMA,EAAWtoC,EAAjB,EAFX1K,UAIEqQ,EAAAA,EAAAA,KAACuE,GAAD,CAAejB,GAAIu/B,GAAAA,OAAQ91C,MAAO,CAAE0G,MAAO,cAzB1C4G,EAJK,QA9BtB,ECuDA,GAzDcnN,SAAAA,GACZ,IACEkB,EAeElB,EAfFkB,UADF,EAgBIlB,EAdF4S,UAAAA,OAFF,MAEc,mBAFd,IAgBI5S,EAbFk1C,SAAAA,OAHF,MAGa,GAHb,IAgBIl1C,EAZF41C,UAAAA,OAJF,MAIc,EAJd,IAgBI51C,EAXFykB,MAAAA,OALF,MAKU,QALV,IAgBIzkB,EAVF2G,KAAAA,OANF,MAMS,SANT,EAOEwuC,EASEn1C,EATFm1C,SACA1yC,EAQEzC,EARFyC,SARF,EAgBIzC,EAPFo1C,aAAAA,OATF,MASiB,CACbC,iBAAiB,EACjBC,gBAAgB,GAXpB,EAaEE,EAGEx1C,EAHFw1C,MACAD,EAEEv1C,EAFFu1C,UACAE,EACEz1C,EADFy1C,SAEI1B,KAAWqB,EAAaC,kBAAmBD,EAAaE,gBAE9D,OACEp+B,EAAAA,EAAAA,MAACk9B,GAAD,CAAwB3vB,MAAOA,EAAO9d,KAAMA,EAAMzF,UAAc0R,EAAL,IAAkB1R,EAA7EuB,SAAAA,CACGyyC,EAAS7zC,KAAI,SAACe,EAAM+K,GAAP,OACZ+J,EAAAA,EAAAA,MAAC88B,GAAD,CAA2B9yC,UAAc0R,EAAL,OAApCnQ,SAAAA,EACEqQ,EAAAA,EAAAA,KAACohC,GAAD,CAA+BhzC,UAAc0R,EAAL,YAAxCnQ,UACEqQ,EAAAA,EAAAA,KAAAA,MAAAA,CAAK4R,IAAKtiB,EAAI,QAAauiB,IAAI,QAGjCzN,EAAAA,EAAAA,MAAC48B,GAAD,CAA+B5yC,UAAW6yC,EAAcnhC,EAAN,WAA4B,GAAImhC,SAAUA,EAA5FtxC,SAAAA,EACe,MAAZ2yC,OAAAA,EAAAA,EAAcC,mBACbviC,EAAAA,EAAAA,KAACqhC,GAAD,CACEjzC,UAAc0R,EAAL,kBACTyP,QAAS,wBAAMkzB,OAAN,EAAMA,EAAYnzC,EAAlB,EAFXK,UAIEqQ,EAAAA,EAAAA,KAACuE,GAAD,CAAejB,GAAIs/B,GAAAA,OAAQ71C,MAAO,CAAEb,KAAM,OAAQma,SAAU,SAGnD,MAAZi8B,OAAAA,EAAAA,EAAcE,kBACbxiC,EAAAA,EAAAA,KAACqhC,GAAD,CACEjzC,UAAc0R,EAAL,kBACTyP,QAAS,wBAAMozB,OAAN,EAAMA,EAAWtoC,EAAjB,EAFX1K,UAIEqQ,EAAAA,EAAAA,KAACuE,GAAD,CAAejB,GAAIu/B,GAAAA,OAAQ91C,MAAO,CAAEb,KAAM,OAAQma,SAAU,aAnBLhM,EADnD,IA0BbyoC,EAAYV,EAASlwC,SAAWmwC,IAC/BriC,EAAAA,EAAAA,KAACkhC,GAAD,CAA2B9yC,UAAc0R,EAAL,QAAsBA,EAAtB,OAAuCqhC,KAAG,EAAC5xB,QAASmzB,EAAxF/yC,SACGA,MAlDX,ECFaozC,GAAaC,SAAAA,GACxB,IAAMC,EAAS,IAAIC,WACnB,OAAO,IAAIC,SAASC,SAAAA,GAClBH,EAAOtjC,iBAAiB,QAAQ,kBAAMyjC,EAAQjK,OAAO8J,EAAO9qB,QAA5B,IAChC8qB,EAAOI,cAAcL,EAFhB,GAFF,EAQMM,GAAe,SAACC,EAAiBC,GAE5C,IADA,IAAMC,EAAuC,GACpCxxC,EAAI,EAAGA,EAAIsxC,EAAMrxC,OAAQD,GAAK,EACrCwxC,EAAahxC,KAAKswC,GAAUQ,EAAMtxC,KAEpC,OAAOkxC,QAAQO,IAAID,GAAcE,MAAMC,SAAAA,GAMrC,OALmCA,EAAer1C,KAAI,SAACs1C,EAAQxpC,GAAT,6BACnDmpC,EAAaK,IADsC,iBAE9CN,EAAMlpC,KAFwC,iBAG9CkpC,EAAMlpC,GAAOpK,MAHiC,IADjD,GALF,EC4CP,GAvDyB/C,SAAAA,GACvB,IAAQ80C,EAAsE90C,EAAtE80C,WAAR,EAA8E90C,EAA1DG,MAAAA,OAApB,MAA4B,GAA5B,IAA8EH,EAA9C42C,SAAAA,OAAhC,WAA8E52C,EAA5B41C,UAAAA,OAAlD,MAA8D,EAA9D,EAAiEx1C,EAAaJ,EAAbI,SAC3DiyB,GAAWhf,EAAAA,EAAAA,QAAyB,MACpCwjC,EAA4B12C,GAAS,GAC3C,GAAgCqE,EAAAA,EAAAA,UAA2B,IAA3D,eAAOsyC,EAAP,KAAiBC,EAAjB,MAEAxjC,EAAAA,EAAAA,YAAU,WACRwjC,EAAYF,EADL,GAEN,IAEH,IA0BIG,EA1BEC,GAAmBC,EAAAA,EAAAA,cAAY,kBDfR7kB,SAAAA,GACzBA,EAAS7e,SAAS6e,EAAS7e,QAAQ6zB,OADlC,CCesC8P,CAAe9kB,EAArB,GAAgC,CAACA,IAEhE+kB,GAAeF,EAAAA,EAAAA,cAAY,WAC3B7kB,EAAS7e,UAAS6e,EAAS7e,QAAQrT,MAAQ,IAC/C82C,GAF8B,GAG7B,CAACA,IAEEI,EAAa,yCAAG,WAAOh3C,GAAP,mFACdg2C,EAAQh2C,EAAEC,OAAO+1C,MADH,iDAGC,OAHD,SAGUD,GAAaC,EAAO,WAH9B,OAGdiB,EAHc,OAIhBC,EAJgB,mBAIET,IAJF,QAIeQ,IAC/B1B,EAAY2B,EAAYvyC,SAC1BuyC,EAAcA,EAAYC,MAAM,EAAG5B,IAErCmB,EAAYQ,GACJ,MAARn3C,GAAAA,EAAWm3C,GATS,4CAAH,sDA4BnB,MAPmB,SAAfzC,IACFkC,EAAO7sC,IAEU,YAAf2qC,GAA2C,SAAfA,IAC9BkC,EAAOvrC,KAIPyL,EAAAA,EAAAA,MAACvT,EAAAA,SAAD,CAAAlB,SAAAA,EACEqQ,EAAAA,EAAAA,KAAAA,QAAAA,CAAOnT,KAAK,OAAOoT,IAAKsf,EAAUukB,SAAUA,EAAU/2C,MAAO,CAAEiG,QAAS,QAAU1F,SAAUi3C,IAC3FL,IACClkC,EAAAA,EAAAA,KAACkkC,GAAD,UAAUh3C,EAAV,CAAiB41C,UAAWA,GAAa,EAAGV,SAAU4B,EAAUtB,MAAO4B,EAAc3B,SApBzEtoC,SAAAA,GAChB,IAAMoqC,GAAc,QAAIT,GACxBS,EAAY3P,OAAOz6B,EAAO,GAC1B4pC,EAAYQ,GACJ,MAARn3C,GAAAA,EAAWm3C,EAJb,OA7BK,ECoCP,I,eAAA,GAbA,SAAgBv3C,GACd,MAAiCA,EAAzB80C,WAAAA,OAAR,MAAqB,QAArB,EAEA,MAAmB,UAAfA,GACKhiC,EAAAA,EAAAA,KAAC/H,IAAD,UAAW/K,IFAb,CAAC,UAAW,OAAQ,QAAQoF,SEGlB0vC,IACRhiC,EAAAA,EAAAA,KAAC2kC,IAAD,UAAcz3C,IAEhB,IACR,ECnCK03C,GAAY,CAAE9wC,IAAK,aAAc+wC,OAAQ,SAAUxvC,OAAQ,WAAYmmC,SAAU,YAE1EsJ,GAAe9jC,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+HAAAA,SAAAA,SAAAA,SAAAA,SAQpB/T,SAAAA,GACD,GAAIA,EAAMqlB,MACR,OAAO/Q,EAAAA,EAAAA,IAAP,wDAVmB,IAgBpBtU,SAAAA,GACD,GAAIA,EAAM6wC,MACR,OAAOv8B,EAAAA,EAAAA,IAAP,yDACgBojC,GAAU13C,EAAM6wC,OAnBb,IAwBpB7wC,SAAAA,GAAD,OACAA,EAAMqlB,OACNrlB,EAAM63C,OACNvjC,EAAAA,EAAAA,IAFA,qDAGeod,OAAO7G,SAAS7qB,EAAM63C,KAAKjmB,YAJ1C,IAOC5xB,SAAAA,GAAD,OACAA,EAAM0vC,OACNp7B,EAAAA,EAAAA,IADA,8EAEiB,IAAM,GAAMod,OAAO7G,SAAS7qB,EAAM0vC,KAAK9d,YACxC,IAAM,GAAMF,OAAO7G,SAAS7qB,EAAM0vC,KAAK9d,YAJvD,IAQJgmB,GAAa5kC,aAAe,CAC1B9D,aAAc,CAAC,GAGjB,I,SAAA,M,2DCxCO,SAAS4oC,GAAI93C,QAAsB,IAAtBA,IAAAA,EAAkB,CAAC,GACrC,MAA+EA,EAA/E,IAAQ4S,UAAAA,OAAR,MAAoB,QAApB,EAA6B1R,EAA7B,EAA6BA,UAAWmkB,EAAxC,EAAwCA,MAAOqqB,EAA/C,EAA+CA,KAAMmI,EAArD,EAAqDA,KAAMhH,EAA3D,EAA2DA,MAAU7uB,GAArE,OAA+EhiB,EAA/E,IACM2P,EAAM,CACViD,EACA1R,EACAwuC,EAAU98B,EAAN,IAAmB88B,EAAS,KAChCrqB,EAAWzS,EAAN,SAA0B,KAC/Bi+B,EAAWj+B,EAAN,UAAyBi+B,EAAU,KACxCxrB,EAAWzS,EAAN,SAAwBilC,EAAS,MAErCpyC,OAAOC,SACPC,KAAK,KACLC,OAEH,OACEkN,EAAAA,EAAAA,KAAC8kC,IAAD,QAAc12C,UAAWyO,GAASqS,EAAlC,CAAyCqD,MAAOA,EAAOqqB,KAAMA,EAAMmI,KAAMA,EAAMhH,MAAOA,EAAtFpuC,SACGzC,EAAMyC,WAGZ,CCtBD,IAAMi1C,GAAY,CAAE9wC,IAAK,aAAc+wC,OAAQ,SAAUxvC,OAAQ,WAAYmmC,SAAU,YAEjFyJ,GAAejkC,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,qHAAAA,SAAAA,SAOb/T,SAAAA,GAAD,OACAA,EAAM6wC,QACNv8B,EAAAA,EAAAA,IADA,sDAEiBojC,GAAU13C,EAAM6wC,OAHjC,IAMC7wC,SAAAA,GAAD,OACAA,EAAMg4C,UACN1jC,EAAAA,EAAAA,IADA,0DAEqBtU,EAAMg4C,QAH3B,IAMJD,GAAa/kC,aAAe,CAC1B9D,aAAc,CAAC,GAGjB,U,wDCtBO,SAAS2gC,GAAI7vC,QAAsB,IAAtBA,IAAAA,EAAkB,CAAC,GACrC,MAAiFA,EAAjF,IAAQ4S,UAAAA,OAAR,MAAoB,QAApB,EAA6B1R,EAA7B,EAA6BA,UAA7B,IAAwC+2C,OAAAA,OAAxC,MAAiD,EAAjD,EAAoDD,EAApD,EAAoDA,QAASnH,EAA7D,EAA6DA,MAAU7uB,GAAvE,OAAiFhiB,EAAjF,IACM2P,EAAM,CACViD,EACA1R,EACA2vC,EAAWj+B,EAAN,UAAyBi+B,EAAU,KACxCmH,EAAaplC,EAAN,YAA2BolC,EAAY,MAE7CvyC,OAAOC,SACPC,KAAK,KACLC,OACGsyC,EAAcD,EAAc,CAAE5vC,YAAa4vC,EAAS,EAAGzlB,aAAcylB,EAAS,GAAvD,CAAC,EAC9B,OACEnlC,EAAAA,EAAAA,KAACilC,IAAD,UAAkB/1B,EAAlB,CAAyB9gB,UAAWyO,EAAKkhC,MAAOA,EAAOmH,QAASA,EAAhEv1C,SACGkB,EAAAA,SAAAA,QAAuB3D,EAAMyC,UAAUpB,KAAK8e,SAAAA,GAC3C,OAAKxc,EAAAA,eAAqBwc,GACnBxc,EAAAA,aACLwc,EACApa,OAAOkjB,OAAO,CAAC,EAAG9I,EAAMngB,MAAO,CAC7BH,OAAO,UAAKsgB,EAAMngB,MAAMH,MAAUq4C,MAJG/3B,CAD1C,MAWN,CClCD,I,SAAA,GAAexc,EAAAA,YAAkF,SAAC3D,EAAO+S,GAAR,OAC/FD,EAAAA,EAAAA,KAAAA,UAAAA,EAAAA,EAAAA,GAAAA,CAAAA,EAAY9S,EAAZ,CAAmB+S,IAAKA,IADuE,ICAjG,GAAepP,EAAAA,YAAsF,SAAC3D,EAAO+S,GAAR,OACnGD,EAAAA,EAAAA,KAAAA,YAAAA,EAAAA,EAAAA,GAAAA,CAAAA,EAAc9S,EAAd,CAAqB+S,IAAKA,IADyE,ICKxFolC,GAAmB,CAE9BC,mBAAoB,mBACpBC,qBAAsB,oBACtBC,mBAAoB,oBAEpBC,oBAAqB,OACrBC,sBAAuB,OACvBC,oBAAqB,OAErBC,gBAAiB,UACjBC,oBAAqB,UAErBC,0BAA2B,UAC3BC,2BAA4B,UAC5BC,8BAA+B,UAE/BC,oBAAqB,+EACrBC,wBAAyB,OAEzBC,oBAAqB,UACrBC,qBAAsB,cAGtB50B,oBAAqB,MAErB60B,yBAA0B,usBASfC,GAAkBtlC,EAAAA,GAAAA,OAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,6DAAAA,eAAAA,iBAAAA,mBAAAA,mKAAAA,uBAAAA,0BAAAA,0BAAAA,kSAAAA,+DAAAA,2CAAAA,4BAAAA,qEAAAA,qCAAAA,kBAAAA,gCAAAA,OAAAA,SAGf/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,sBAA9E,IACAn4C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,kBAA9E,IACGn4C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,uBAA9E,IACGn4C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,wBAA9E,IAQEn4C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,sBAA9E,IACIn4C,SAAAA,GAAD,OACf+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,sBADpD,IAEIn4C,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,4BADjD,IAECn4C,SAAAA,GAAD,OAChB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,2BADnD,IAUHn4C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,sBAA9E,IAEOn4C,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,6BADjD,IAILn4C,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,0BADvD,IAEOn4C,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,2BADjD,IAGCn4C,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,gCADjD,IAGVn4C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,sBAA9E,IACEn4C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,uBAA9E,IAGTn4C,SAAAA,GAAD,MACsB,UAAtBA,EAAMsX,OAAO3Q,OACb2N,EAAAA,EAAAA,IADA,0EAEctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,qBAA9E,IACGn4C,SAAAA,GAAD,OACX+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,sBADxD,GAJf,IAOCn4C,SAAAA,GAAD,MACsB,UAAtBA,EAAMsX,OAAO3Q,OACb2N,EAAAA,EAAAA,IADA,0EAEctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,qBAA9E,IACGn4C,SAAAA,GAAD,OACX+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcipC,KAAoB,sBADxD,GAJf,I,oCCrFEj4C,GAASyD,EAAAA,YAAiD,SAAC3D,EAAO+S,GACtE,MAA0E/S,EAAlE4S,UAAAA,OAAR,MAAoB,WAApB,EAAgC1R,EAA0ClB,EAA1CkB,UAAhC,EAA0ElB,EAA/B2G,KAAAA,OAA3C,MAAkD,UAAlD,EAAgEqb,GAAhE,OAA0EhiB,EAA1E,IACM2P,EAAM,CAACiD,EAAW1R,EAAWyF,EAAUiM,EAAN,IAAmBjM,EAAS,MAAMlB,OAAOC,SAASC,KAAK,KAAKC,OAEnG,OAAOkN,EAAAA,EAAAA,KAACsmC,IAAD,UAAqBp3B,EAArB,CAA4BjP,IAAKA,EAAK7R,UAAWyO,EAAK2H,OAAQ,CAAE3Q,KAAAA,KAJ1D,IAYdzG,GAAkBm5C,OAASA,GAC3Bn5C,GAAkBwqC,MAAQA,GAE3B,I,wBAAA,MCtBa4O,GAAqB,CAEhCh1B,oBAAqB,MAErB3K,cAAe,OACfC,gBAAiB,OACjBC,cAAe,OAEf0/B,qBAAsB,UACtBC,kBAAmB,OAEnBC,qCAAsC,UAEtCC,kBACE,8IACFC,uBAAwB,6FACxBC,uBAAwB,0FACxBC,4BACE,6FAEFC,sBAAuB,UACvBC,2BAA4B,WAKjBC,GAAoBlmC,EAAAA,GAAAA,SAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,yCAAAA,0DAAAA,oBAAAA,sGAAAA,oBAAAA,qTAAAA,wCAAAA,+CAAAA,kEAAAA,qCAAAA,4DAEd/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAAsB,kBAAhF,IAGKt5C,SAAAA,GAAD,OACf+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAAsB,sBADtD,IAEFt5C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAAsB,oBAAhF,IAKJt5C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAAsB,uBAAhF,IACMt5C,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAAsB,uCADzD,IAYGt5C,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAA3B,yBADR,IAICt5C,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAA3B,yBADR,IAICt5C,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAA3B,8BADR,IAKCt5C,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAA3B,6BADR,IAGJt5C,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcoqC,KAA3B,wBAA/B,I,6BCjEb,GAAe31C,EAAAA,YAAqD,SAAC3D,EAAO+S,GAC1E,MAA8D/S,EAAtD4S,UAAAA,OAAR,MAAoB,aAApB,EAAkC1R,EAA4BlB,EAA5BkB,UAAc8vC,GAAhD,OAA8DhxC,EAA9D,IACA,OACE8S,EAAAA,EAAAA,KAACknC,IAAD,QAAmB94C,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,QAAYorC,EAA3F,CAAsGj+B,IAAKA,EAA3GtQ,SACGzC,EAAMyC,WAJE,ICAFw3C,GAAiB,CAC5BC,4BAA6B,UAC7BC,4BAA6B,UAC7BC,gCACE,+FAGEp3B,GAAa,CACjB9T,cAAc,UAAK+qC,KAORI,GAAavmC,EAAAA,GAAAA,MAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gKAaVumC,GAAqBxmC,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,cAAAA,mDACnBjU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAUgjB,IAAc,8BAA7D,IAIEu3B,GAAoBzmC,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mDAKjBqmC,GAAgB1mC,EAAAA,GAAAA,IAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+BAAAA,SAErBrU,SAAAA,GAAD,OACAA,EAAMy6C,WACNnmC,EAAAA,EAAAA,IADA,2QAEI6c,GAAkBioB,GAAmBY,IACvB,kBAAMjrC,GAAqB,UAAK/O,EAAUgjB,IAAc,kCAAxD,IAEE,kBAAMjU,GAAqB,UAAK/O,EAAUgjB,IAAc,kCAAxD,IAIA,kBAAMjU,GAAqB,UAAK/O,EAAUgjB,IAAc,kCAAxD,GAGhBq3B,GAAeC,IACN,kBAAMvrC,GAAqB,UAAK/O,EAAUgjB,IAAc,8BAAxD,GAdb,I,uJC3BiB03B,GAAAA,SAAAA,I,6HAInB/sC,WACE,MAeI2D,KAAKtR,MAdP4S,EADF,EACEA,UACA1R,EAFF,EAEEA,UACAy5C,EAHF,EAGEA,SACA96C,EAJF,EAIEA,MACAqF,EALF,EAKEA,MACA01C,EANF,EAMEA,SACAC,EAPF,EAOEA,eACAC,EARF,EAQEA,WACAC,EATF,EASEA,KACAC,EAVF,EAUEA,OAGAP,EAbF,EAaEA,SACG/kC,GAdL,aAiBM/F,EAAM,CAACiD,EAAW1R,EAAWu5C,EAAc7nC,EAAN,SAA0B,MAAMnN,OAAOC,SAASC,KAAK,KAAKC,OAC/Fq1C,EAAW,CAAC,eAAgBJ,GAAgBp1C,OAAOC,SAASC,KAAK,KAAKC,OAC5E,OAAIo1C,GAEA9jC,EAAAA,EAAAA,MAACsjC,IAAD,QAAeC,SAAUA,EAAUv5C,UAAWyO,EAAK9P,MAAOA,GAAW6V,EAArE,CAAAjT,SAAAA,EACEyU,EAAAA,EAAAA,MAACqjC,GAAD,CAAmBnkC,GAAIy5B,GAAvBptC,SAAAA,EACEyU,EAAAA,EAAAA,MAACmjC,GAAD,CAAYjkC,GAAI0hC,GAAKzyB,OAAK,EAACnkB,UAAW+5C,EAAtCx4C,SAAAA,CACGk4C,IAAY7nC,EAAAA,EAAAA,KAAAA,QAAAA,CAAOjT,MAAO,CAAE0G,MAAO,OAAvB9D,SAAAA,OACbqQ,EAAAA,EAAAA,KAACunC,GAAD,CAAYx6C,MAAOi7C,EAAYI,QAASN,EAAxCn4C,SACGyC,QAGL4N,EAAAA,EAAAA,KAACglC,GAAD,CAAK52C,UAAU,aAAfuB,SAA6B6O,KAAKtR,MAAMyC,cAEzCs4C,IACCjoC,EAAAA,EAAAA,KAACynC,GAAD,CAAmBnkC,GAAIy5B,GAAvBptC,UACEqQ,EAAAA,EAAAA,KAACwnC,GAAD,CAAoBlkC,GAAI0hC,GAAK52C,UAAU,cAAvCuB,SACGs4C,WAQX7jC,EAAAA,EAAAA,MAACsjC,IAAD,QAAeC,SAAUA,EAAUv5C,UAAWyO,EAAK9P,MAAOA,GAAW6V,EAArE,CAAAjT,SAAAA,CACGyC,IACCgS,EAAAA,EAAAA,MAACvT,EAAAA,SAAD,CAAAlB,SAAAA,CACGk4C,IAAY7nC,EAAAA,EAAAA,KAAAA,QAAAA,CAAOjT,MAAO,CAAE0G,MAAO,OAAvB9D,SAAAA,OACbqQ,EAAAA,EAAAA,KAACunC,GAAD,CAAYn5C,UAAW+5C,EAAUp7C,MAAOi7C,EAAYI,QAASN,EAA7Dn4C,SACGyC,QAIP4N,EAAAA,EAAAA,KAACglC,GAAD,CAAK52C,UAAU,aAAfuB,SAA6B6O,KAAKtR,MAAMyC,WACvCs4C,IAAQjoC,EAAAA,EAAAA,KAACwnC,GAAD,CAAoBp5C,UAAU,cAA9BuB,SAA6Cs4C,OAG3D,K,EA5DkBL,CAAoB/2C,EAAAA,eAApB+2C,GACL1nC,aAAe,CAC3BJ,UAAW,eChBR,IAAMuoC,GAAgBrnC,EAAAA,GAAAA,KAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAEbqnC,GAAoBtnC,EAAAA,GAAAA,SAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,0D,wOC0F9B,SAAS3I,GAAT,EAaEyH,GACA,QAZEH,UAAAA,OAYF,MAZc,SAYd,EAXE1R,EAWF,EAXEA,UACAm6C,EAUF,EAVEA,OACA54C,EASF,EATEA,SACA64C,EAQF,EAREA,cACAC,EAOF,EAPEA,cACAn7C,EAMF,EANEA,SACAo7C,EAKF,EALEA,SACAC,EAIF,EAJEA,YACG/jC,GAGL,aACMgkC,GAAWz7C,EAAAA,EAAAA,UACf,kBA7CJ,SACEo7C,EACA1U,GAKA,IAAMnjC,EAAmB,CACvBm4C,QAAS,CAAC,EACVnoC,QAAS,CAAC,EACVooC,YAAY,EACZC,OAAQ,CAAC,GAEX,IAAK,IAAM94C,KAAQs4C,EAAQ,CACzB,IAAMr7C,EAAQq7C,EAAOt4C,GACrB,GAAK/C,EAAL,CACA,MAAuC2mC,GAAG,UAAK3mC,EAAN,CAAa+C,KAAAA,KAA9C+4C,EAAR,EAAQA,aAAcC,EAAtB,EAAsBA,aACtBv4C,EAAMm4C,QAAQ54C,GAAQqxB,MAAMkW,QAAQwR,IAAd1nB,EAAAA,GAAAA,GAAkC0nB,GAAgBA,EACxEt4C,EAAMgQ,QAAQzQ,GAAQg5C,CAHF,CAIrB,CACD,OAAOv4C,CACR,CAyBKw4C,CAAaX,GAAQ,YAAsB,IAvBrBl7C,EAuBE27C,EAAmB,EAAnBA,aAEtB,MAAO,CAAEA,aADTA,EAvBW,QADS37C,EAwBW27C,SAvBFr1C,IAAVtG,EAAsB,GAAKA,EAwBvB47C,aAAcD,EAF3B,GADd,GAKA,IAEF,GAAwBt3C,EAAAA,EAAAA,UAAoBk3C,GAA5C,eAAO36C,EAAP,KAAak7C,EAAb,MAEAzuB,EAAAA,EAAAA,qBACEza,GACA,iBAAO,CACLyoC,SAAUU,EACVC,UAAWC,EACXC,eAAgB,kBAAMt7C,EAAKyS,OAAX,EAChB8oC,SAAU,kBAAMv7C,EAAK86C,MAAX,EACVU,UAAWA,EACXC,cAAeA,EANjB,GAQA,CAACz7C,IAGH,IAAM07C,EAAyC,CAAC,EAChD,IAAK,IAAM15C,KAAQs4C,EAAQ,CACzB,IAAMr7C,EAAQq7C,EAAOt4C,GACrB,GAAK/C,EAAL,CACA,IAAM08C,EAAQ37C,EAAK86C,OAAO94C,GACQ,mBAAvB/C,EAAM87C,eACf97C,EAAMgpC,QAAUhpC,EAAM87C,cAExB,IAAMa,EAAiCC,GAAa,UAC/C58C,EAD8C,CAEjD+C,KAAAA,KAEIg4C,EAAO2B,GAAS18C,EAAM+6C,KACtBH,EAAW56C,EAAM46C,SACvB6B,EAAU15C,IACR+P,EAAAA,EAAAA,KAAC4nC,IAAD,qBAEO16C,EAFP,CAGIyjB,IAAK1gB,EACLN,SAAUk6C,EACV5B,KAAAA,EACAH,SAAAA,EACAp3C,MAAOzC,EACPgC,KAAAA,EACA03C,WAAYiC,KArBE,CAyBrB,CAED,SAASH,EAAUlB,GACjB,IAAMwB,GAAW,UAAK97C,EAAR,CAAcyS,QAAS6nC,IACrCY,EAAQY,EACT,CAED,SAASL,EAAiBM,EAAmB38C,GAC3C,IAAM08C,GAAW,UAAK97C,EAAR,CAAcyS,SAAS,UAAKzS,EAAKyS,SAAZ,WAAsBspC,EAAY38C,MACrE87C,EAAQY,EACT,CAED,SAAS7O,EACPjrC,EACAg6C,EACA7vC,EACAy5B,GAEA,OAAO,SAACqW,EAAiDC,GACvD,IAAI98C,EAAQ68C,GAAOA,EAAI18C,QAAU,UAAW08C,EAAI18C,OAAS08C,EAAI18C,OAAOH,MAAQ68C,EAE5E78C,EAAQ88C,GAAQ98C,GAEX88C,GAAQ/vC,GAAW8vC,GAAOA,EAAI18C,QAAU,UAAUiC,KAAKy6C,EAAI18C,OAAOX,QAErEQ,EAAQ68C,EAAI18C,OAAOH,MAAQ68C,EAAI18C,OAAOH,MAAQ68C,EAAI18C,OAAO0oC,UAEtDiU,GAAQ/vC,GAAW8vC,GAAOA,EAAI18C,QAAU,aAAaiC,KAAKy6C,EAAI18C,OAAOX,QAExEQ,EAAQ68C,EAAI18C,OAAO0oC,SAErB,IAAMkU,EAAY,CAChB1pC,SAAS,UAAKzS,EAAKyS,SAAZ,WAAsBzQ,EAAO5C,KAExB48C,GAAaA,EAAU58C,KAEnC+8C,EAAUrB,QAAVqB,EAAAA,EAAAA,GAAAA,CAAAA,EAAwBn8C,EAAK86C,eACtBqB,EAAUrB,OAAO94C,IAEtBi6C,GAAOA,EAAI3T,SAAkC,oBAAhB2T,EAAI3T,SAAwB2T,EAAI3T,UACjE4S,GAAQ,UAAKl7C,EAASm8C,IAClBvW,GACFA,EAAGqW,GAEL58C,GAAYA,GAAS,UAAKW,EAASm8C,GA1BrC,CA4BD,CAED,SAAShB,EAAa77C,GACpBA,GAAKA,EAAE88C,iBACP,IAAQxB,EAAqB56C,EAArB46C,QAASnoC,EAAYzS,EAAZyS,QACjByoC,GAAQ,UAAKl7C,EAAN,CAAY66C,YAAY,KAC/B,IAxHewB,EAwHTF,EAAY,CAAEtB,YAAY,GAC1Bh3B,EAAWG,SAAAA,GAAD,OACdk3B,GAAQ,UACHl7C,EACAm8C,EAFE,CAGLrB,OAASN,GAAiBA,EAAcx2B,IAAS,CAAC,IAJtC,EAMVs4B,EAAaC,SAAAA,GACbhC,IACF4B,EAAU1pC,QAAUmoC,GAEtBM,GAAQ,UAAKl7C,EAASm8C,EAAf,CAA0BrB,OAAQ,CAAC,KAC1CJ,GAAeA,EAAY,CAAEj4C,MAAOzC,EAAMu8C,SAAAA,EAAUC,MAAOnB,GAL7D,EAOA,IACE,IAAMoB,EAAqBhC,EAAWA,EAAS,CAAEG,QAAAA,EAASnoC,QAAAA,GAAWnT,QAAKoG,EAC1E,OAAI+2C,KAxISJ,EAwIuBI,IAxIsC,oBAAjBJ,EAAQ3G,MAyIxD+G,EAAmB/G,KAAK4G,GAAWI,MAAM74B,GAEzCy4B,EAAUG,EAIpB,CAFC,MAAOz4B,GACPH,EAAQG,EACT,CACF,CAED,SAAS24B,IACP,IAAQ9B,EAA6B76C,EAA7B66C,WAAR,EAAqC76C,EAAjByS,QAAAA,OAApB,MAA8B,CAAC,EAA/B,EACImqC,GAAmB,EACvB,IAAK,IAAM56C,KAAQs4C,EACjB,GAAIt1C,OAAO63C,UAAUC,eAAeC,KAAKzC,EAAQt4C,GAAO,CACtD,IAAM/C,EAA4Bq7C,EAAOt4C,GACzC,IAAK/C,EAAO,SACZ,GAAIA,EAAM+8C,WAAa/8C,EAAM+8C,UAAUvpC,EAAQzQ,IAAQ,CACrD46C,GAAmB,EACnB,KACD,CACF,CAEH,OAAQ/B,GAAc+B,CACvB,CAED,SAASvB,IACP,IAAMT,EAAY56C,EAAZ46C,QACAoC,GAAW,UAAKpC,GACtB51C,OAAOi4C,QAAQD,GAAU18C,KAAI,YAAkB,mBAAhBoiB,EAAgB,KAAXtjB,EAAW,KACzCi0B,MAAMkW,QAAQnqC,KAChB49C,EAASt6B,IAATs6B,EAAAA,GAAAA,GAAoB59C,GAFxB,IAKA87C,GAAQ,UAAKl7C,EAAN,CAAY46C,QAAAA,EAASnoC,QAASuqC,EAAUlC,OAAQ,CAAC,IACzD,CAED,SAASe,EAAT,GAYuB,IAXrBn6C,EAWqB,EAXrBA,SACAs6C,EAUqB,EAVrBA,UACAh6C,EASqB,EATrBA,KAQGif,GACkB,aACf9U,EACgB,oBAAbzK,EACHA,EACAA,EAAS,CACPrC,SAAU4tC,EAAajrC,EAAOg6C,GAC9BvB,SAAUU,EACVwB,UAAWA,IAEnB,IAAKxwC,GAA6C,IAAlCvJ,EAAAA,SAAAA,MAAqBuJ,KAAmBnK,EAAM,OAAOmK,EACrE,IAAMlN,GAAQ,QACZ+C,KAAMmK,EAAQlN,MAAM+C,MAAQA,GACzBif,GAECi8B,EAAkBl4C,OAAO63C,UAAUC,eAAeC,KAAK/8C,EAAKyS,QAASzQ,GAC3E/C,EAAMmE,GAAK+I,EAAQlN,MAAMmE,GACzBnE,EAAMG,MAAQ89C,EAAkBl9C,EAAKyS,SAAWzS,EAAKyS,QAAQzQ,GAAQ/C,EAAMG,MAG3E,IAAMR,EAAOuN,EAAQlN,MAAML,KAO3B,MALa,aAATA,GAAgC,WAATA,GAA4C,mBAAhBK,EAAMG,QAC3DH,EAAMgpC,UAAYhpC,EAAMG,aACjBH,EAAMG,OAEfH,EAAMI,SAAW4tC,EAAajrC,EAAMg6C,EAAW7vC,EAASA,EAAQlN,MAAMI,UAC/DuD,EAAAA,aAAmBuJ,EAASlN,EACpC,CAED,OACE8S,EAAAA,EAAAA,KAACqoC,IAAD,qBAEOzjC,EAFP,CAGIxW,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC5D41C,SAAUU,IAJd,CAAAz5C,UAOEqQ,EAAAA,EAAAA,KAACsoC,GAAD,CAAyB7iC,SAAUxX,EAAK66C,WAAxCn5C,SACuB,oBAAbA,EACJA,EAAS,CACP44C,OAAQoB,EACRj5C,MAAOzC,EACPo7C,UAAWC,EACXsB,UAAWA,IAEbj7C,MAIX,CAED,I,4DCtUA,GDsUekB,EAAAA,WAAyD2H,IEvU3D4yC,GAAiB,CAC5BvkC,cAAe,OACfC,gBAAiB,OACjBC,cAAe,OACfokB,kBAAmB,IAEnBkgB,cAAe,UACfC,wBAAyB,OACzBC,oBAAqB,qBACrBC,sBAAuB,qBACvBC,gBAAiB,UACjBC,2BAA4B,UAC5BC,4BAA6B,UAE7BC,sBAAuB,UACvBC,yBAA0B,UAC1BC,oBAAqB,UACrBC,mCAAoC,WAEhC77B,GAAa,CACjB9T,cAAc,UAAKgvC,KAURY,GAAoBhrC,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wCAIjBgrC,GAAqBjrC,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+BAIlB+qC,GAAoBlrC,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACzBnU,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,mIAIEtU,EAAMuY,WACRjE,EAAAA,EAAAA,IADE,uIAKSvF,GAAqB,UAAK/O,EAAUgjB,IAAc,0BAG3DhjB,EAAMsY,SACRhE,EAAAA,EAAAA,IADE,wEAEcvF,GAAqB,UAAK/O,EAAUgjB,IAAc,4BACvDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,wBAG3DhjB,EAAMuY,WACRjE,EAAAA,EAAAA,IADE,uFAGSvF,GAAqB,UAAK/O,EAAUgjB,IAAc,2BAIxDhjB,EAAMuY,WACTjE,EAAAA,EAAAA,IADE,yDAEcvF,GAAqB,UAAK/O,EAAUgjB,IAAc,uCA3BpE,IAiCE1K,IAAShE,EAAAA,EAAAA,IAAH,iCACPtU,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,0EACwBvF,GAAqB,UAAK/O,EAAUgjB,IAAc,uBAC1DjU,GAAqB,UAAK/O,EAAUgjB,IAAc,yBAFlE,IAMSi8B,GAAkBnrC,EAAAA,GAAAA,IAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OACf0T,GAAkBprC,EAAAA,GAAAA,IAAHgM,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAEfq/B,GAAgBrrC,EAAAA,GAAAA,IAAHsrC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACrBp/C,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,wgBACavF,GAAqB,UAAK/O,EAAUgjB,IAAc,mBAChDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,qBACxDjU,GAAqB,UAAK/O,EAAUgjB,IAAc,iBAMvCjU,GAAqB,UAAK/O,EAAUgjB,IAAc,4BAGjEhjB,EAAM2/B,SAAWrnB,GAEpBtY,EAAMsY,QAAUA,GAEhBtY,EAAM0/B,WACRprB,EAAAA,EAAAA,IADE,sFAEoBvF,GAAqB,UAAK/O,EAAUgjB,IAAc,oBAIxEg8B,GAEMh/C,EAAM0/B,WACRprB,EAAAA,EAAAA,IADE,uGAQAtU,EAAMq/C,UACR/qC,EAAAA,EAAAA,IADE,6DAEcvF,GAAqB,UAAK/O,EAAUgjB,IAAc,+BAKpEg8B,GAAqBC,GACnBj/C,EAAM0/B,WACRprB,EAAAA,EAAAA,IADE,sEAE2BvF,GAAqB,UAAK/O,EAAUgjB,IAAc,gCAI/Eg8B,GAAqBC,GAAmBC,GAEvB,UAAfl/C,EAAM2G,OACR2N,EAAAA,EAAAA,IADE,6DAIe,UAAftU,EAAM2G,OACR2N,EAAAA,EAAAA,IADE,6DApDJ,IA2DJ,M,mECpIagrC,GAAW37C,EAAAA,YACtB,SAA8B3D,EAA2B+S,GACvD,MAQI/S,EAPF4S,UAAAA,OADF,MACc,cADd,EAEE1R,EAMElB,EANFkB,UACAuB,EAKEzC,EALFyC,SACAq9B,EAIE9/B,EAJF8/B,MAJF,EAQI9/B,EAHFwX,QAAAA,OALF,MAKY,MALZ,IAQIxX,EAFFsY,OAAAA,OANF,SAOKzF,GAPL,OAQI7S,EARJ,IAUM2P,EAAM,CAACiD,EAAW1R,EAAWlB,EAAMuY,SAAW,aAAe,KAAMD,EAAS,WAAa,MAC5F7S,OAAOC,SACPC,KAAK,KACLC,OACG6R,EAAUzX,EAAMW,MAA2B,kBAAZ6W,EAAuB,IAAMA,EAClE,OAAO7T,EAAAA,cACLq7C,IADKr7C,EAAAA,EAAAA,GAAAA,CAAAA,EAGAkP,EAHA,CAIH3R,UAAWyO,EACXyG,GAAIqB,EACJ1E,IAAAA,EACAwF,SAAUvY,EAAMuY,SAChBD,OAAAA,KAEDwnB,GAASjtB,EAAWlS,KACnB8B,GAEAyU,EAAAA,EAAAA,MAAC1R,EAAAA,SAAD,CAAA/C,SAAAA,EACEqQ,EAAAA,EAAAA,KAACgsC,GAAD,CAAmB59C,UAAc0R,EAAL,QAA5BnQ,SAAoDA,KACpDqQ,EAAAA,EAAAA,KAACisC,GAAD,CAAoB79C,UAAc0R,EAAL,SAA7BnQ,SAAsDq9B,OAhCxC,IAuCxBwf,GAASlb,YAAc,Y,uIClCvB,SAASmb,GAAgBv/C,EAAqB+S,GAC5C,IAeIysC,EAfJ,EAcIx/C,EAbF4S,UAAAA,OADF,MACc,SADd,IAcI5S,EAZF0/B,SAAAA,OAFF,WAcI1/B,EAXFq/C,QAAAA,OAHF,WAcIr/C,EAVF2/B,QAAAA,OAJF,WAcI3/B,EATFsY,OAAAA,OALF,WAcItY,EARF2G,KAAAA,OANF,MAMS,UANT,IAcI3G,EAPFy/C,WAAAA,OAPF,MAOe3wC,EAPf,EAQE5N,EAMElB,EANFkB,UACAuB,EAKEzC,EALFyC,SACA4pC,EAIErsC,EAJFqsC,OACAtM,EAGE//B,EAHF+/B,OAXF,EAcI//B,EAFF0/C,WAAAA,OAZF,MAYe,GAZf,EAaK7sC,GAbL,OAcI7S,EAdJ,IAiBEw/C,EADEE,GAAcA,EAAW16C,OAAS,EAC5B06C,EAAWr+C,KAAI,SAACe,EAAW+K,GAAZ,OAA8BsyC,EAAYr9C,EAAM+K,EAAhD,IAEf1K,EAEV,IAAIk9C,EAAeh8C,EAAAA,SAAAA,IACjB67C,GACA,SAACr/B,EAAwBhT,GAAzB,OACE,iBAAqBgT,IACrBxc,EAAAA,aAAmBwc,EAAO,CACxBsD,IAAKtW,GAHT,IAMIyyC,EAAc,CAClBhtC,EACA1R,EACAm+C,EAAazsC,EAAN,WAA4B,KACnC+sB,EAAa/sB,EAAN,YAA6B,KACpC0F,EAAY1F,EAAN,UAA2B,KACjC8sB,EAAc9sB,EAAN,YAA6B,KACrCjM,GAAiB,YAATA,EAAwBiM,EAAhC,SAAkDjM,EAAS,MAE1DlB,OAAOC,SACPC,KAAK,KACLC,OACH,OACEsR,EAAAA,EAAAA,MAAC2oC,IAAD,QACE3+C,UAAW0+C,GACP/sC,EAFN,CAGEE,IAAKA,EACLssC,QAASA,EACT1f,QAASA,EACTrnB,OAAQA,EACRonB,SAAUA,EACV/4B,KAAMA,EARRlE,SAAAA,CAUG4pC,IAAUv5B,EAAAA,EAAAA,KAACmsC,GAAD,CAAiB/9C,UAAc0R,EAAL,UAA1BnQ,SAAoD4pC,IAC9DsT,EACA5f,IAAUjtB,EAAAA,EAAAA,KAACosC,GAAD,CAAiBh+C,UAAc0R,EAAL,UAA1BnQ,SAAoDs9B,OAGpE,CAED,IAAMt0B,GAAO9H,EAAAA,WAAiD47C,IAK7D9zC,GAAcyd,KAAOo2B,GAEtB,I,+GAAA,M,WClFMQ,IAAe1oC,EAAAA,EAAAA,IAAH,oEAMZ2oC,IAAa3oC,EAAAA,EAAAA,IAAH,2PAiBV4oC,IAAc5oC,EAAAA,EAAAA,IAAH,0HAcJ6oC,GAAiBnsC,EAAAA,GAAAA,IAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mDAAAA,oMAAAA,+BAAAA,iEAAAA,OAAAA,OAAAA,QAGZyrC,GAOEC,GAAyCC,IAGrDhgD,SAAAA,GAAD,MACe,UAAfA,EAAM2G,OACN2N,EAAAA,EAAAA,IADA,yJADA,IAWCtU,SAAAA,GAAD,MACe,YAAfA,EAAM2G,OACN2N,EAAAA,EAAAA,IADA,8FADA,IAQCtU,SAAAA,GAAD,MACe,UAAfA,EAAM2G,OACN2N,EAAAA,EAAAA,IADA,8FADA,IAgBS4rC,GAAkBpsC,EAAAA,GAAAA,IAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wUAAAA,SAkBvB5f,SAAAA,GAAD,OACAA,EAAMmgD,aACN7rC,EAAAA,EAAAA,IADA,sLADA,IAkBS8rC,GAAwBtsC,EAAAA,GAAAA,IAAHiU,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8DAWrBs4B,GAA4BvsC,EAAAA,GAAAA,IAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,iFAAAA,SAIjCxrC,SAAAA,GAAD,OACAA,EAAMqpB,WACN/U,EAAAA,EAAAA,IADA,6HADA,IAcSgsC,GAAkBxsC,EAAAA,GAAAA,IAAHsrC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,0DAWfmB,GAAmBzsC,EAAAA,GAAAA,IAAH6Y,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,qEAAAA,SAExB3sB,SAAAA,GAAD,OACAA,EAAMkO,OACNoG,EAAAA,EAAAA,IADA,iIADA,I,qHC/IJ,YAAgBtU,QAA4B,IAA5BA,IAAAA,EAAqB,CAAC,GACpC,MAaIA,EAbJ,IACE4S,UAAAA,OADF,MACc,WADd,EAEE1R,EAFF,EAEEA,UAFF,IAGEyF,KAAAA,OAHF,MAGS,UAHT,MAIEsS,QAAAA,OAJF,SAKEzZ,EALF,EAKEA,IACA6pB,EANF,EAMEA,SACA9iB,EAPF,EAOEA,MACAi6C,EARF,EAQEA,QACA/9C,EATF,EASEA,SACAhD,EAVF,EAUEA,UAVF,IAWE0gD,WAAAA,OAXF,SAYKzqC,GAZL,OAaI1V,EAbJ,IAcM2P,EAAM,CAACiD,EAAW1R,EAAWyF,EAAUiM,EAAN,IAAmBjM,EAAS,MAAMlB,OAAOC,SAASC,KAAK,KAAKC,OAE7F66C,GAAgBxgD,EAAAA,EAAAA,UACpB,kBACE6S,EAAAA,EAAAA,KAACmtC,GAAD,CAAgBt5C,KAAMA,EAAMjI,QAAQ,cAApC+D,UACEqQ,EAAAA,EAAAA,KAAAA,SAAAA,CAAQ4tC,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAK5hD,KAAK,OAAOD,YAAY,IAAI8hD,iBAAiB,QAFhF,GAKA,IAGIC,GAAW7gD,EAAAA,EAAAA,UACf,kBACE6S,EAAAA,EAAAA,KAACotC,GAAD,CACEC,WAAYA,EACZj/C,UAAW,CAAI0R,EAAJ,QAAsButC,EAAgBvtC,EAAN,cAA+B,MACvEnN,OAAOC,SACPC,KAAK,KACLC,OACH/F,MAAO,CAAE0G,MAAAA,EAAOkC,gBAAiB+3C,GANnC/9C,UAQEyU,EAAAA,EAAAA,MAACkpC,GAAD,CAAuBl/C,UAAc0R,EAAL,eAAhCnQ,SAAAA,CACGhD,GAAaghD,EACbjhD,IACCsT,EAAAA,EAAAA,KAACutC,GAAD,CACEh3B,SAAUA,EACVnoB,UAAW,CAAI0R,EAAJ,QAAsByW,EAAczW,EAAN,YAA6B,MACnEnN,OAAOC,SACPC,KAAK,KACLC,OALLnD,SAOGjD,QAnBX,GAyBA,CAAC2gD,EAAYK,EAAS5tC,EAAWyW,EAAU7pB,IAE7C,OACE0X,EAAAA,EAAAA,MAACopC,IAAD,QAAiBp/C,UAAWyO,GAAS+F,EAArC,CAAAjT,SAAAA,EACIwW,GAAWknC,IAAeW,EAC3Br+C,GACCkB,EAAAA,cACEmP,EAAAA,EAAAA,KAACytC,GAAD,CAAkBryC,KAAM+K,EAAxBxW,SAAkCA,IAClCsD,OAAOkjB,OAAO,CAAC,EAAGxmB,EAASzC,MAAO,CAChCkB,UAAW,CAAI0R,EAAJ,QAAsBqG,EAAarG,EAAN,QAAyB,MAAMnN,OAAOC,SAASC,KAAK,KAAKC,aA7D7G,E,4CCnBam7C,GAAoB,CAC/BC,qBAAsB,sBACtBC,kBAAmB,sBACnBC,yBAA0B,UAC1BC,oBAAqB,UACrBC,yBAA0B,UAC1BC,oBAAqB,UACrBC,sBAAuB,UACvBC,iBAAkB,UAClBC,uBAAwB,UACxBC,kBAAmB,UAEnBC,gCAAiC,sBACjCC,0BAA2B,sBAC3BC,sCAAuC,uCACvCC,2BAA4B,sBAC5BC,uCAAwC,iCAepCC,GAAmBjuC,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2EAMTiuC,IAAsBluC,EAAAA,EAAAA,IAAOiuC,GAAPjuC,CAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,4BAAAA,OAAAA,SAAAA,SAAAA,WAAAA,ugBAE3BjU,SAAAA,GAAU,MACX,YAAIA,EAAMsX,SAAN2qC,EAAcC,SAAU,aAC1B,GAAI,SAAAliD,EAAMsX,SAAN,EAAc7U,UAAd,SAA0BzC,EAAMsX,SAAN6qC,EAAcx/C,MAC1C,OAAO2R,EAAAA,EAAAA,IAAP,+FACM+C,IAKR,YAAIrX,EAAMsX,SAAN8qC,EAAc3/C,SAChB,OAAO6R,EAAAA,EAAAA,IAAP,mFAEWvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,yBAGjF,YAAI/gD,EAAMsX,SAAN+qC,EAAc1/C,MAChB,OAAO2R,EAAAA,EAAAA,IAAP,mFAEWvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,qBAGlF,CAvB2B,IAyB3B/gD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcgrC,WACdhuC,EAAAA,EAAAA,IADA,wDA1B4B,IA+B3BtU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAc4qC,YACd5tC,EAAAA,EAAAA,IADA,wDAhC4B,IAqC3BtU,SAAAA,GAED,OAAQA,EAAMsX,OAAO3X,MACnB,IAAK,UACH,OAAO2U,EAAAA,EAAAA,IAAP,oFACgBvF,GAAqB,UAC5B/O,EAD2B,CACpBkP,aAAc6xC,KAC1B,4BAEOhyC,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,wBAEjF,IAAK,UACH,OAAOzsC,EAAAA,EAAAA,IAAP,oFACgBvF,GAAqB,UAC5B/O,EAD2B,CACpBkP,aAAc6xC,KAC1B,4BAEOhyC,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,wBAEjF,IAAK,OACH,OAAOzsC,EAAAA,EAAAA,IAAP,oFACgBvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,yBACzEhyC,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,qBAEjF,IAAK,QACH,OAAOzsC,EAAAA,EAAAA,IAAP,oFACgBvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,0BACzEhyC,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,sBAEjF,QACE,OAAOzsC,EAAAA,EAAAA,IAAP,wBAnEwB,GAsExB+C,IAkCFkrC,GAAuBzuC,EAAAA,GAAAA,KAAHsrC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,4BAIboD,IAA8B1uC,EAAAA,EAAAA,IAAOyuC,GAAPzuC,CAAH6Y,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,cAAAA,QAAAA,SAC5B3sB,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,kCAD7D,IAEN/gD,SAAAA,GAAD,OACAA,EAAMsX,OAAO4qC,UACbliD,EAAMsX,OAAO3U,OACb3C,EAAMsX,OAAO7U,WACb6R,EAAAA,EAAAA,IAHA,wDADA,IASSmuC,IAAwB3uC,EAAAA,EAAAA,IAAO0uC,GAAP1uC,CAAH2b,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,cAAAA,QAAAA,SACtBzvB,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,4BAA/E,IACN/gD,SAAAA,GAAD,OACAA,EAAMsX,OAAO4qC,UACbliD,EAAMsX,OAAO3U,OACb3C,EAAMsX,OAAO7U,WACb6R,EAAAA,EAAAA,IAHA,qDADA,IAWSouC,IAAyB5uC,EAAAA,EAAAA,IAAO9I,GAAP8I,CAAH0gC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,6HAAAA,yCAAAA,+CAAAA,eAOvBx0C,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,6BAD7D,IAGc/gD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,wCADlD,IAIC/gD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6xC,KAAqB,yCADlD,I,2GC9JHt0C,GAAAA,SAAAA,I,6BAMnBiE,SAAAA,EAAY1Q,GAAqB,6BAC/B,cAAMA,IAKR2iD,aAAgBtiD,SAAAA,GACd,IAAQ8U,EAAY,EAAKnV,MAAjBmV,QACR,EAAK7C,SAAS,CAAEkC,QAAQ,IACxBW,GAAWA,EAAQ9U,EATY,IAWjCuiD,WAAa,WACX,MAA2B,EAAK5iD,MAAxBL,EAAR,EAAQA,KAAMuiD,EAAd,EAAcA,SACVW,EAAY,EAAK7iD,MAAM6C,KAC3B,IAAKggD,GAAQX,EAAU,CACrB,IAAIljD,EACJ,OAAQW,GACN,IAAK,UACHX,EAAO,UACP6jD,EAAOC,GAAAA,EACP,MACF,IAAK,UACH9jD,EAAO,UACP6jD,EAAOE,GAAAA,EACP,MACF,IAAK,OACH/jD,EAAO,UACP6jD,EAAOG,GAAAA,YACP,MACF,IAAK,QACHhkD,EAAO,UACP6jD,EAAOI,GAAAA,EAKX,OAAOnwC,EAAAA,EAAAA,KAACuE,GAAD,CAAerY,KAAMA,EAAMoX,GAAIysC,GACvC,CArC8B,EAE/B,EAAKr/C,MAAQ,CACXgR,QAAQ,GAHqB,CAKhC,C,qCAkCD7G,WACE,MAWI2D,KAAKtR,MAVP4S,EADF,EACEA,UACA1R,EAFF,EAEEA,UACAvB,EAHF,EAGEA,KACAgD,EAJF,EAIEA,MACAkwC,EALF,EAKEA,YACAqP,EANF,EAMEA,SACAr/C,EAPF,EAOEA,KACAy/C,EARF,EAQEA,QACA1gC,EATF,EASEA,mBACGshC,GAVL,aAYMzgD,EAAWowC,GAAevhC,KAAKtR,MAAMyC,SACrCkN,EAAM,CACViD,EACA1R,EACG0R,EAHO,IAGMjT,EAChB2iD,EAAa1vC,EAAN,WAA4B,KACnCsvC,EAActvC,EAAN,QAAyB,KACjCsvC,EAActvC,GAAYjQ,EAAQ,SAAW,KAAKF,EAAW,eAAiB,IAAO,MAEpFgD,OAAOC,SACPC,KAAK,KACLC,OAEGu9C,GACJjsC,EAAAA,EAAAA,MAAC8qC,IAAD,QAAqB1qC,OAAQ,CAAEgrC,QAAAA,EAAS3iD,KAAAA,EAAMgD,MAAAA,EAAOF,SAAAA,EAAUy/C,SAAAA,GAAYhhD,UAAWyO,GAASuzC,EAA/F,CAAAzgD,SAAAA,CACGmf,IACC9O,EAAAA,EAAAA,KAAC4vC,GAAD,CACEtqC,OAAK,EACLiK,QAAS/Q,KAAKqxC,aACd9/C,MAAMiQ,EAAAA,EAAAA,KAACuE,GAAD,CAAerY,KAAK,sBAAsBoX,GAAIkM,GAAAA,IACpD3iB,KAAK,UAGRuiD,IAAar/C,GAAcyO,KAAKsxC,eACjC9vC,EAAAA,EAAAA,KAAC2vC,GAAD,CAAuBnrC,OAAQ,CAAE4qC,SAAAA,EAAUv/C,MAAAA,EAAOF,SAAAA,GAAYvB,UAAc0R,EAAL,SAAvEnQ,SACGE,KAEHmQ,EAAAA,EAAAA,KAAC0vC,GAAD,CAA6BlrC,OAAQ,CAAE4qC,SAAAA,EAAUv/C,MAAAA,EAAOF,SAAAA,GAAYvB,UAAc0R,EAAL,eAA7EnQ,SACGA,QAIP,OAAKmf,GAIH9O,EAAAA,EAAAA,KAAC6D,EAAAA,EAAD,CAAeE,GAAIvF,KAAK9N,MAAMgR,OAAQK,eAAa,EAAC7D,QAAS,IAAK4F,WAAYhE,EAA9EnQ,SACG0gD,IAJIA,CAOV,K,EAlGkB12C,CAAgB9I,EAAAA,WAAhB8I,GACLuG,aAA6B,CACzCJ,UAAW,YACX0vC,SAAS,EACT1gC,oBAAoB,GC9BjB,I,wBAAMwhC,GAAmB,CAC9BC,oCAAqC,UACrCC,qCAAsC,WAK3BC,IAA8BzvC,EAAAA,EAAAA,IAAO9I,GAAP8I,CAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAM3ByvC,GAA8B1vC,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8GAY3BwvC,IAAiC3vC,EAAAA,EAAAA,IAAO/I,GAAP+I,CAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mCAAAA,2CAAAA,uDAAAA,0GAAAA,QAErCovC,IAEOvjD,SAAAA,GAAD,OACN+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAck0C,KAAoB,sCAD7D,IAIGpjD,SAAAA,GAAD,OACN+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAck0C,KAAoB,uCAD7D,IAQTpjD,SAAAA,GAAD,OACAA,EAAMuY,WACNjE,EAAAA,EAAAA,IADA,wFAEMivC,GAHN,I,+GC1BEhoB,GAAc,CAClB,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,qBACA,sBAGa,SAAS7uB,GAAY1M,GAClC,MAUIA,EATF4S,UAAAA,OADF,MACc,gBADd,IAUI5S,EARFg1B,OAAAA,OAFF,MAEW,UAFX,IAUIh1B,EAPFI,SAAAA,OAHF,MAGa,WAHP,EAAN,EAIEc,EAMElB,EANFkB,UACA+zB,EAKEj1B,EALFi1B,aALF,EAUIj1B,EAJF0jD,mBAAAA,OANF,MAMuB,CAAC,EANxB,IAUI1jD,EAHFk1B,WAAAA,OAPF,WAUIl1B,EAFFk6B,WAAAA,OARF,MAQeqB,GARf,EASKjG,GATL,OAUIt1B,EAVJ,IAYA,GAA4BwE,EAAAA,EAAAA,WAAS,GAArC,eAAOgQ,EAAP,KAAemB,EAAf,KACA,GAAkCnR,EAAAA,EAAAA,UAAS,IAAI2vB,MAA/C,eAAO6D,EAAP,KAAkBwF,EAAlB,KACA,GAAwBh5B,EAAAA,EAAAA,UAAS,SAAjC,eAAO7E,EAAP,KAAa+7B,EAAb,KACA,GAAwBl3B,EAAAA,EAAAA,UAASxE,EAAMG,OAAvC,eAAO0zB,EAAP,KAAa0B,EAAb,KAyBA,SAASouB,EAAmBhkD,EAAkCu0B,EAAa8F,GACzE,IAAM4pB,EAAe,IAAIzvB,KAAK,IAAIA,KAAK6D,GAAWr4B,GAAMu0B,IACnD8F,GACH0B,EAAQ,SAEV,IAAM9B,GAAUlE,EAAAA,GAAAA,GAAUV,EAAQ,IAAIb,KAAKyvB,IAC3CruB,EAAQqE,GACR4D,EAAaomB,GACbxjD,GAAYA,EAASwjD,EAAchqB,GACtB,aAATj6B,GACFgW,GAAU,EAEb,CAED,OArCApC,EAAAA,EAAAA,YAAU,kBAAMgiB,EAAQv1B,EAAMG,MAApB,GAA4B,CAACH,EAAMG,QAE7Cm1B,EAAWn1B,OAAQF,EAAAA,EAAAA,UACjB,iBAAuB,kBAAT4zB,EAAoBA,EAAOA,GAAO6B,EAAAA,GAAAA,GAAUV,EAAQnB,GAAQ,EAA1E,GACA,CAACmB,EAAQnB,IAGPqB,GAAcI,EAAWn1B,QAC3Bm1B,EAAWlD,YACTtf,EAAAA,EAAAA,KAACywC,GAAD,CACEriD,UAAc0R,EAAL,aACT/P,MAAMiQ,EAAAA,EAAAA,KAACuE,GAAD,CAAejB,GAAIkM,GAAAA,IACzBD,QAAS,WACPkT,EAAQ,IACRn1B,GAAYA,GALhB,EAOEuG,KAAM2uB,EAAW3uB,KACjByR,OAAK,EACLzY,KAAK,YAoBTmT,EAAAA,EAAAA,KAACtG,IAAD,QACE0f,QAAQ,QACR/lB,UAAU,aACVkmB,oBAAkB,EAClB7X,OAAQA,GACJygB,EALN,CAMEhI,gBAAkB9lB,SAAAA,GAAD,OAAUwO,EAAUxO,EAApB,EACjBf,SACE8Q,EAAAA,EAAAA,MAACssC,GAAD,CAA6BtiD,UAAc0R,EAAL,WAAtCnQ,SAAAA,EACEqQ,EAAAA,EAAAA,KAACqoB,IAAD,QACEnD,UAAWA,EACXkC,WAAYA,GACRwpB,EAHN,CAIE3vB,WAAa8vB,SAAAA,GACX,GAAI,iBAAiBthD,KAAKshD,GACxBnoB,EAAQmoB,OACH,CACL,IAAMrrB,EAAO,IAAIrE,KAAK6D,GAAWS,cAC3BmrB,EAAe,IAAIzvB,KAAK,IAAIA,KAAK6D,GAAWyC,YAAqB,SAAT96B,EAAkB64B,EAAO,EAAIA,EAAO,IAClGgF,EAAaomB,EACd,CACF,KAEO,UAATjkD,IACCmT,EAAAA,EAAAA,KAACmnB,GAAD,CACEjC,UAAWA,EACXkC,WAAYA,EACZnG,WAAY,SAAC2E,EAAOsB,GAAR,OAAmB2pB,EAAmB,WAAYjrB,EAAOsB,EAAzD,IAGN,SAATr6B,IACCmT,EAAAA,EAAAA,KAACsnB,GAAD,CACEpC,UAAWA,EACXjE,WAAY,SAACyE,EAAMwB,GAAP,OAAkB2pB,EAAmB,cAAenrB,EAAMwB,EAA1D,OAjCtBv3B,UAuCEqQ,EAAAA,EAAAA,KAAC2wC,IAAD,QACE18C,YAAY,iCACZ+uB,UAAQ,GACHR,EAHP,CAIEp0B,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,YAInE,CCpI8BkO,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAArB,IACM+vC,IAAoBC,EAAAA,EAAAA,IAAH,gWA0BjBC,IAAuBlwC,EAAAA,EAAAA,IAAOpK,GAAPoK,CAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2DAAAA,WAAAA,eAAAA,6DAAAA,2GAAAA,SAAAA,eAAAA,SAAAA,YAAAA,iCAG7B8M,GACEJ,GACIxJ,GAGA6H,IAMHlf,SAAAA,GAAD,OACAA,EAAM6C,OACL7C,EAAM2C,QACP2R,EAAAA,EAAAA,IAFA,yOAGIuM,GAOAC,GAXJ,IAeC9gB,SAAAA,GAAD,OACAA,EAAM2C,QACN2R,EAAAA,EAAAA,IADA,yYAEIuM,GAQAA,GAIAC,IAIC9gB,EAAM6C,OACTyR,EAAAA,EAAAA,IADE,mKAEEuM,GAGAC,IAxBN,IA8BC9gB,SAAAA,GAAD,OACCA,EAAM2C,QACN3C,EAAM6C,OACPyR,EAAAA,EAAAA,IAFA,iHAIMwM,GALN,IAUC9gB,SAAAA,GAAD,OACCA,EAAM2C,QACP2R,EAAAA,EAAAA,IADA,+RAEM2M,GAEAJ,GAEIxJ,GAKNyJ,GAZJ,GAiBFjN,G,4BCnGEowC,GAA4B,CAAC,EAC7B19B,GAAgC,CAAC,EAElB29B,GAAAA,SAAAA,I,6BAAkE,qEAK9E1gD,MAAwB,CAC7BygD,QAAS,CAAC,GANyE,E,qCAQ9EE,SAAOnkD,GAAgC,WACpCmG,EAAmBnG,EAAnBmG,UAAWsd,EAAQzjB,EAARyjB,IACdwgC,GAAQ99C,KACX89C,GAAQ99C,GAA0B,CAAC,GAErCnG,EAAMwU,QAAS,EACfyvC,GAAQ99C,GAAwBsd,GAAiBzjB,EAC7CA,EAAMokD,WACR79B,GAAM9C,GAAiBlS,YAAW,WAChC,EAAK8yC,OAAO5gC,EAAetd,EADI,GAE9BnG,EAAMokD,WAEX9yC,KAAKgB,SACH,CACE2xC,QAAAA,GACA99C,UAAAA,IAEF,WACE89C,GAAQ99C,GAAwBsd,GAAejP,QAAS,EACxD,EAAKlC,SAAS,CAAE2xC,QAAAA,IAPpB,GAUD,G,oBACMI,SAAO5gC,EAAatd,GACzB,GAAKsd,GAAQtd,GAAc89C,GAAQ99C,GAAWsd,GAA9C,CAGAwgC,GAAQ99C,GAAWsd,GAAKjP,QAAS,EACjC,IAAMxU,EAAiCikD,GAAQ99C,GAAWsd,GAC1DnS,KAAKgB,SAAS,CAAE2xC,QAAAA,KAAW,WACzBtyC,aAAa4U,GAAM9C,WACZ8C,GAAM9C,UACNwgC,GAAQ99C,GAAWsd,GACtBzjB,GAASA,EAAMskD,aACjBtkD,EAAMskD,YAAYtkD,EAAOikD,GAL7B,GAHC,CAWF,G,oBACDt2C,WAAS,WACCiF,EAActB,KAAKtR,MAAnB4S,UACAzM,EAAcmL,KAAK9N,MAAnB2C,UACR,OACE+Q,EAAAA,EAAAA,MAACvT,EAAAA,SAAD,CAAAlB,SAAAA,EACEqQ,EAAAA,EAAAA,KAACgxC,GAAD,IACC39C,GACCJ,OAAOC,KAAKsL,KAAK9N,MAAMygD,QAAQ99C,IAAY9E,KAAKoiB,SAAAA,GAC9C,MAA+C,EAAKjgB,MAAMygD,QAAQ99C,GAAWsd,GAArEovB,EAAR,EAAQA,YAAar+B,EAArB,EAAqBA,OAAW+vC,GAAhC,aAIA,MAHwB,SAApBA,EAAW5kD,aACN4kD,EAAW5kD,MAGlBmT,EAAAA,EAAAA,KAACkxC,IAAD,QACE9iD,UAAW0R,EAEXwO,WAAW,EACXziB,MAAO,KACF4lD,EALP,CAMEr+C,WAAW,EACX0O,aAAa,EACbJ,OAAQA,EACRpO,QAASysC,IAPJpvB,EARX,MAqBP,K,EA1EkBygC,CAAkBvgD,EAAAA,WAAlBugD,GACLlxC,aAA+B,CAC3CJ,UAAW,WACXzM,UAAW,YCRf,IAAM89C,GAAmB,CAAC,EACpBO,GAAyB,CAAC,EAOhC,SAASC,GAAmBzkD,EAAgCL,GAK1D,QAL0G,IAAhDA,IAAAA,EAAwC,QAC7FK,EAAMmG,YACTnG,EAAMmG,UAAY,YAEpBnG,EAAML,KAAOA,GACRK,EAAM6C,MAAuB,OAAf7C,EAAM6C,KACvB,OAAQ7C,EAAML,MACZ,IAAK,UACHK,EAAM6C,KAAO,eACb,MACF,IAAK,UACH7C,EAAM6C,KAAO,UACb,MACF,IAAK,OACH7C,EAAM6C,KAAO,cACb,MACF,IAAK,QACH7C,EAAM6C,KAAO,eAMnB,OAAQ7C,EAAML,MACZ,IAAK,OACHK,EAAML,KAAO,UACb,MACF,IAAK,QACHK,EAAML,KAAO,SAMjB,GAAIK,EAAMmG,YAAc89C,GAAQjkD,EAAMmG,WAAY,CAChD,IAAMu+C,EAAMj3C,SAASyF,cAAc,OACnCzF,SAAS6C,KAAKoD,YAAYgxC,GAC1BA,EAAIxjD,UAAY,CAAC,mBAAoBlB,EAAMmG,WAAWV,OAAOC,SAASC,KAAK,KAAKC,OAChF4+C,GAAWxkD,EAAMmG,WAAau+C,EAC9BT,GAAQjkD,EAAMmG,WAAaqH,EAAAA,QAAgBsF,EAAAA,EAAAA,KAACoxC,GAAD,IAAeQ,EAC3D,CAEsB,OAAnB1kD,EAAMokD,WACRpkD,EAAMokD,SAAqC,KAAzBpkD,EAAMokD,UAAY,MAGlCH,GAAQjkD,EAAMmG,YAChB89C,GAAQjkD,EAAMmG,WAAWg+C,QAAzBF,EAAAA,EAAAA,GAAAA,CAAAA,EACKjkD,EADL,CAEEokD,SAAUpkD,EAAMokD,SAChB3gC,ICxEGoH,SAASohB,OAAuB,KAAhBlmB,KAAK4+B,UAAkB,IAAI/yB,SAAS,IDyEvD0yB,YAJF,SAIcM,EAAaC,GAClBD,IACLA,EAAOzvC,SAAWyvC,EAAOzvC,UAEL,IADPpP,OAAOC,KAAK6+C,EAAa7kD,EAAMmG,YACnCnB,QAAgBi/C,GAAQjkD,EAAMmG,oBAC9B89C,GAAQjkD,EAAMmG,WACjBq+C,GAAWxkD,EAAMmG,YACnBsH,SAAS6C,KAAKmD,YAAY+wC,GAAWxkD,EAAMmG,aAGhD,IAGN,CAED,CAAC,OAAQ,UAAW,UAAW,OAAQ,SAASoM,SAAS5S,SAAAA,GACtD8kD,GAAyC9kD,GAAQ,SAACqP,GACjD,YAD2F,IAA1CA,IAAAA,EAAmC,CAAC,GAC9Ey1C,GAAmBz1C,EAASrP,EADrC,CADF,IAcA,I,qEAAA,MEtGamlD,GAAuB,CAClCC,0BAA2B,UAC3BC,gCAAiC,UACjCC,+BAAgC,UAChCC,kCAAmC,UACnCC,iCAAkC,UAClCC,8BAA+B,UAC/BC,oCAAqC,4CACrCC,kCAAmC,gCAexBC,GAAyBzxC,EAAAA,GAAAA,EAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,0HAAAA,SAAAA,SAAAA,WAAAA,SAM9B/T,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAckuC,WACdlxC,EAAAA,EAAAA,IADA,8UAUyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc41C,KAAwB,oCADrD,GAjBO,IA0B9B9kD,SAAAA,GACD,IAAQsX,EAAWtX,EAAXsX,OACR,MAAqB,UAAX,MAANA,OAAAA,EAAAA,EAAQ3X,OAAmB2X,EAAOkuC,SAC7BlxC,EAAAA,EAAAA,IAAP,0KASmB,UAAX,MAANgD,OAAAA,EAAAA,EAAQ3X,OAAmB2X,EAAOkuC,SAC7BlxC,EAAAA,EAAAA,IAAP,2KASKA,EAAAA,EAAAA,IAAP,uBAhD+B,IAmD9BtU,SAAAA,GAAD,YACuB,WAAvB,SAAAA,EAAMsX,aAAN,IAAc3Q,QACd2N,EAAAA,EAAAA,IADA,qGApD+B,IA6D9BtU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAciB,YACdjE,EAAAA,EAAAA,IADA,qGAImBtU,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc41C,KAAwB,mCAD3D,GAlEa,IAsFtBW,GAAwB3xC,EAAAA,GAAAA,GAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gUAAAA,SAAAA,OAAAA,SAAAA,SAY7B5f,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAciB,YACdjE,EAAAA,EAAAA,IADA,+EAb8B,IAoB7BtU,SAAAA,GAAD,YACuB,WAAvB,SAAAA,EAAMsX,aAAN,IAAc3Q,QACd2N,EAAAA,EAAAA,IADA,uMAKMixC,GAIFvlD,EAAMsX,OAAOgB,SACfhE,EAAAA,EAAAA,IADE,gEAEqBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc41C,KAAwB,kCADrD,KAGnB9kD,EAAMsX,OAAOgB,SAChBhE,EAAAA,EAAAA,IADE,wFAEUixC,IACEvlD,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc41C,KAAwB,gCADhE,IAtCe,IA2C7B9kD,SAAAA,GAAD,YACuB,aAAvB,SAAAA,EAAMsX,aAAN,IAAc3Q,QACd2N,EAAAA,EAAAA,IADA,sTAGOtU,SAAAA,GAAD,OACA+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc41C,KAAwB,4BADvE,IAGD9kD,EAAMsX,OAAOiB,WACfvY,EAAMsX,OAAOgB,SACdhE,EAAAA,EAAAA,IAFE,gGAIuBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc41C,KAAwB,iCADrD,KAIrB9kD,EAAMsX,OAAOiB,WAChBjE,EAAAA,EAAAA,IADE,2FAGgB,kBACZvF,GAAqB,UACd/O,EADa,CACNkP,aAAc41C,KAC1B,sCAHU,KASZ,kBAAM/1C,GAAqB,UAAK/O,EAAN,CAAakP,aAAc41C,KAAwB,4BAA7E,GAMJ9kD,EAAMsX,OAAOgB,SACfhE,EAAAA,EAAAA,IADE,2HAEoB,kBAClBvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAc41C,KAAwB,kCADrD,IAGJ,kBACZ/1C,GAAqB,UACd/O,EADa,CACNkP,aAAc41C,KAC1B,oCAHU,IAjFU,IA0F7B9kD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcouC,aACdpxC,EAAAA,EAAAA,IADA,uMAEI8kC,GA7F0B,IAmHrBuM,GAAwB7xC,EAAAA,GAAAA,GAAH0gC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2HAAAA,SAM7Bx0C,SAAAA,GAAD,YACuB,aAAvB,SAAAA,EAAMsX,aAAN,IAAc3Q,OACd3G,EAAMsX,OAAOsuC,YACbtxC,EAAAA,EAAAA,IAFA,6LAGImxC,GAA2BA,IAGtBzlD,SAAAA,GAAD,OACA+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc41C,KAAwB,4BADvE,GAGJW,GAhB0B,I,+ICrMnB,SAAS56C,GAAW7K,GACjC,IACEkB,EAaElB,EAbFkB,UACArB,EAYEG,EAZFH,MAFF,EAcIG,EAXF4S,UAAAA,OAHF,MAGc,eAHd,IAcI5S,EAVF6lD,UAAAA,OAJF,MAIc,OAJd,IAcI7lD,EATF2G,KAAAA,OALF,MAKS,UALT,IAcI3G,EARF8lD,MAAAA,OANF,MAMU,EANV,IAcI9lD,EAPF+lD,SAAAA,OAPF,MAOa,GAPb,IAcI/lD,EANFgmD,gBAAAA,OARF,MAQoB,GARpB,IAcIhmD,EALFwT,QAASyyC,OATX,MAS2B,EAT3B,IAcIjmD,EAJFI,SAAAA,OAVF,MAUa,kBAAM,IAAN,EAVb,EAWE8lD,EAGElmD,EAHFkmD,iBACAjjD,EAEEjD,EAFFiD,QACG+e,GAbL,OAcIhiB,EAdJ,IAgBA,GAA8BwE,EAAAA,EAAAA,UAASyhD,GAAvC,eAAOzyC,EAAP,KAAgBqS,EAAhB,MACAtS,EAAAA,EAAAA,YAAU,kBAAMsS,EAAWogC,EAAjB,GAAiC,CAACA,IAE5C,IAAMt2C,EAAM,CAACiD,EAAW1R,EAAW+B,EAAU,UAAY,KAAM0D,GAAMlB,OAAOC,SAASC,KAAK,KAAKC,OAEzFugD,GAAgBlmD,EAAAA,EAAAA,UAAQ,WAC5B,IAAMc,EAAmC,CAAC,CAAEpB,KAAM,OAAQ4Y,SAAsB,IAAZ/E,IAC9DyU,EAAQlC,KAAKqgC,KAAKN,EAAQC,GAC1BM,EAAYp+B,GAAS,EAAIA,EAAQ,EACnCiM,EAAM,EACN9b,EAAQ,EAOZ,IANI5E,EAAU,GAAKyU,EAAQ,GACzBlnB,EAAKwE,KAAK,CAAEL,MAAO,IAEjBsO,EAAU,GAAKyU,EAAQ,GACzBlnB,EAAKwE,KAAK,CAAE5F,KAAM,WAAYuF,MAAO,qBAAOohD,KAAM,IAE7CpyB,EAAMmyB,GAAW,CAElB7yC,EAAU,GAAKyU,EAAQ,IACzB7P,EAAQ5E,EAAU,GAEpB,IAAItO,GAJJgvB,GAAO,GAIW9b,EACd6P,EAAQzU,IAAY,GAAKyU,EAAQ,IACnC/iB,GAAS,GAEP+iB,EAAQzU,IAAY,GAAKyU,EAAQ,IACnC/iB,GAAS,GAEPA,GAAS+iB,GACXlnB,EAAKwE,KAAK,CAAEL,MAAAA,EAAOoT,OAAQ9E,IAAYtO,GAE1C,CAQD,OAPIsO,EAAU,EAAIyU,GAASA,EAAQ,GACjClnB,EAAKwE,KAAK,CAAE5F,KAAM,WAAYuF,MAAO,qBAAOohD,KAAM,IAEhD9yC,EAAU,EAAIyU,GAASA,EAAQ,GACjClnB,EAAKwE,KAAK,CAAEL,MAAO+iB,IAErBlnB,EAAKwE,KAAK,CAAE5F,KAAM,OAAQ4Y,SAAU/E,IAAYyU,IACzClnB,CAnCoB,GA8C1B,CAACyS,EAASsyC,EAAOC,IAsCpB,OACE7uC,EAAAA,EAAAA,MAACyuC,IAAD,QACEzkD,UAAWyO,EACX9P,OAAK,UAAOA,EAAP,CAAc0mD,UAAWV,KAC1B7jC,EAHN,CAIE1K,OAAQ,CACNsuC,UAAW3iD,EACX0D,KAAAA,GANJlE,SAAAA,CASG0jD,EAAc9kD,KAAI,SAACe,EAAgCd,GAElD,IAAI4D,GAAQ4N,EAAAA,EAAAA,KAACyyC,GAAD,CAAwBjuC,OAAQ,CAAE3Q,KAAAA,GAAlClE,SAA2CL,EAAK8C,QAU5D,MATI,gBAAgB3C,KAAKH,EAAKzC,QAE5BuF,GACE4N,EAAAA,EAAAA,KAACyyC,GAAD,CACEjuC,OAAQ,CAAE3X,KAAMyC,EAAKzC,KAAM6lD,SAAS,EAAM7+C,KAAAA,EAAM4R,SAAUnW,EAAKmW,UAC/DrX,UAAS,SAAWkB,EAAKzC,SAK7BmT,EAAAA,EAAAA,KAAC2yC,GAAD,CACEnuC,OAAQ,CACNiB,SAAUnW,EAAKmW,SACfD,OAAQlW,EAAKkW,OACb3R,KAAAA,EACAi/C,UAAW3iD,GAEb/B,UAAW,CAACkB,EAAKkW,OAAS,SAAW,KAAMlW,EAAKmW,SAAW,WAAa,MACrE9S,OAAOC,SACPC,KAAK,KACLC,OACHyc,QAAS,kBAtEnB,SAAqBjgB,GACnB,IAAIA,EAAKkW,SAAUlW,EAAKmW,SAAxB,CAGA,IAAM0P,EAAQlC,KAAKqgC,KAAKN,EAAQC,GAC1BviD,EAAQ,CAAC,EACXpB,EAAK8C,QACP1B,EAAMgQ,QAAUpR,EAAK8C,OAEL,SAAd9C,EAAKzC,OACP6D,EAAMgQ,QAAUA,EAAU,EAAI,EAAIA,EAAU,EAAI,GAEhC,SAAdpR,EAAKzC,OACP6D,EAAMgQ,QAAUA,EAAU,GAAKyU,EAAQzU,EAAU,EAAIyU,GAEnD,uBAAuB1lB,KAAKH,EAAKzC,OAAmByC,EAAKkkD,OAC3D9iD,EAAMgQ,QAAwB,aAAdpR,EAAKzC,KAAsB6T,EAAUpR,EAAKkkD,KAAO9yC,EAAUpR,EAAKkkD,KAC5E9iD,EAAMgQ,QAAUyU,IAClBzkB,EAAMgQ,QAAUyU,GAEdzkB,EAAMgQ,QAAU,IAClBhQ,EAAMgQ,QAAU,IAIpBqS,EAAWriB,EAAMgQ,SACjBpT,GAAYA,EAASoD,EAAMgQ,QAASsyC,EAAiBC,EAvBpD,CAwBF,CA2CwBvxB,CAAYpyB,EAAlB,EAXXK,SAcGyC,GAFI5D,EAzBV,IA+BA0kD,EAAgBhhD,OAAS,IACxB8N,EAAAA,EAAAA,KAAC2yC,GAAD,CAAuBnuC,OAAQ,CAAEouC,WAAW,EAAM/+C,KAAAA,GAAQzF,UAAc0R,EAAL,WAAnEnQ,UACEqQ,EAAAA,EAAAA,KAAC5S,GAAD,CAAQyG,KAAMA,EAAMvF,aAAc2kD,EAAU3lD,SAlDeC,SAAAA,GACjE,IAAMmmD,EAAoB90B,OAAOrxB,EAAEC,OAAOH,OACpC8nB,EAAQlC,KAAKqgC,KAAKN,EAAQU,GAEhCN,GAAoBA,EADO1yC,EAAUyU,EAAQA,EAAQzU,EACJgzC,EAJnD,EAkDQ/jD,SACGujD,EAAgB3kD,KAAI,SAACe,EAAc+K,GAAf,OACnB+J,EAAAA,EAAAA,MAAChX,GAAAA,OAAD,CAAeC,MAAOiC,EAAtBK,SAAAA,CACGL,EADH,kBAAiC+K,EADd,WAUhC,CC3LM,IAAMs5C,GAAsB3yC,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2BAInB2yC,IAAwB5yC,EAAAA,EAAAA,IAAO/I,GAAP+I,CAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gEAAAA,mHAAAA,SAAAA,QAK5Bkd,IAODnxB,SAAAA,GAAD,MACgB,WAAX,MAALA,OAAAA,EAAAA,EAAO2G,QACP2N,EAAAA,EAAAA,IADA,iGAGI6c,GAJJ,IASCnxB,SAAAA,GAAD,MACgB,WAAX,MAALA,OAAAA,EAAAA,EAAO2G,QACP2N,EAAAA,EAAAA,IADA,iGAGI6c,GAJJ,I,uHCbJ,SAASw1B,GAAgB3mD,EAA0B+S,QAAyC,IAAnE/S,IAAAA,EAAsB,CAAC,GAC9C,MAaIA,EAbJ,IACE4S,UAAAA,OADF,MACc,aADd,MAEE7L,YAAAA,OAFF,MAEgB,SAFhB,MAGE5G,MAAAA,OAHF,MAGU,GAHV,EAIEkhB,EAJF,EAIEA,UACAngB,EALF,EAKEA,UALF,IAMEyF,KAAAA,OANF,MAMS,UANT,EAOE9G,EAPF,EAOEA,MACA0Y,EARF,EAQEA,SARF,IASEnY,SAAAA,OATF,MASa0O,EATb,MAUEm5B,OAAAA,OAVF,MAUWn5B,EAVX,MAWE+f,QAAAA,OAXF,MAWY/f,EAXZ,EAYK4G,GAZL,OAaI1V,EAbJ,IAcA,GAAgBwE,EAAAA,EAAAA,UAEb,CAAC,GAFG+tB,GAAP,eAGA,GAAkC/tB,EAAAA,EAAAA,UAASuC,GAA3C,eAAO6/C,EAAP,KAAkBC,EAAlB,KACA,GAA4BriD,EAAAA,EAAAA,UAASrE,GAArC,eAAO2mD,EAAP,KAAeC,EAAf,KACMp3C,EAAM,CAACiD,EAAW1R,EAAWyF,EAAUiM,EAAN,IAAmBjM,EAAS,KAAM4R,EAAW,WAAa,MAC9F9S,OAAOC,SACPC,KAAK,KACLC,OA+BH,SAASohD,EAAWC,GAClBJ,EAAa9/C,GACbkhC,EAAOgf,EACR,CACD,SAASC,EAAYD,GACnBJ,EAAa,IACbh4B,EAAQo4B,EACT,CAED,OAfA1zC,EAAAA,EAAAA,YAAU,WACJuzC,IAAW3mD,GACbC,EAAS0mD,EAFJ,GAIN,CAACA,KAYFh0C,EAAAA,EAAAA,KAAC2zC,IAAD,QAAqBvlD,UAAWyO,EAAK9P,MAAOA,GAAW6V,EAAvD,CAAmE3C,IAAKA,EAAxEtQ,UACG,QAAIqkD,GAAQzlD,KAAI,SAACmpC,EAAK/mB,GACrB,IAAM0jC,EAAuB,CAC3B51B,IAAK,EACL5xB,KAAM,OACNynD,UAAW,UACX10B,aAAc,MACdvyB,MAAOqqC,EACPpqC,SAAWC,SAAAA,GAAD,OA/ClB,SAAsBA,EAAwCiB,GAC5D,IAAIkpC,EAAMnqC,EAAEC,OAAOH,MACnBqqC,EAAMA,EAAI6c,OAAO7c,EAAIxlC,OAAS,GAC9B,IAAMm4B,GAAM,QAAI2pB,GACZp1B,OAAO8Y,IAAQ,GAAKA,GACtBnqC,EAAEouB,cAActuB,MAAQqqC,EACxBrN,EAAI77B,GAAOkpC,EACPjY,EAAMjxB,EAAM,IACdixB,EAAMjxB,EAAM,GAAG+W,QAEjB0uC,EAAU5pB,IACAqN,IACVrN,EAAI77B,GAAO,GACXylD,EAAU5pB,GAEb,CAgCwB6Q,CAAa3tC,EAAGojB,EAAvB,EACV6jC,UAAYjnD,SAAAA,GAAD,OAhCnB,SAAuBA,EAA0CiB,GAC/D,IAAIkpC,EAAMnqC,EAAEouB,cAActuB,MACpBsjB,EAAMpjB,EAAEojB,IAAIte,qBACbqlC,GAAOjY,EAAMjxB,EAAM,IAAM,qBAAqBiB,KAAKkhB,IACtD8O,EAAMjxB,EAAM,GAAG+W,OAElB,CA0ByBkvC,CAAclnD,EAAGojB,EAAxB,EACXwkB,OAAS5nC,SAAAA,GAAD,OAAO2mD,EAAW3mD,EAAlB,EACRwuB,QAAUxuB,SAAAA,GAAD,OAAO6mD,EAAY7mD,EAAnB,EACTa,UAAc0R,EAAL,SACT7L,YAAa6/C,EACbruC,SAAAA,EACA5R,KAAAA,GAgBF,OAdI0a,GAAqB,IAARoC,IACf0jC,EAAS9lC,WAAY,IAGrBmC,EAAAA,EAAAA,eAACkjC,IAAD,QACE3zC,IAAMy5B,SAAAA,GACAA,IACFja,EAAM9O,GAAO+oB,EAEhB,GACG2a,EANN,CAOE1jC,IAAKA,IA3BV,MAkCN,CAED,I,kEAAA,GAAe9f,EAAAA,WAA+CgjD,IClHvD,SAASa,GAAgBxnD,GAC9B,OAAO8S,EAAAA,EAAAA,KAACpT,GAAD,CAAMC,KAAMK,EAAML,MAC1B,CCAM,IAAM8nD,GAAqB,CAChC9tC,cAAe,OACfC,gBAAiB,OACjBC,cAAe,OAEf6tC,+BAAgC,UAChCC,iCAAkC,UAClCC,wBAAyB,UACzBC,6BAA8B,UAE9BC,wBAAyB,UACzBC,0BAA2B,UAC3BC,iBAAkB,UAElBC,sCAAuC,UACvCC,wCAAyC,UACzCC,+BAAgC,UAEhCC,kCAAmC,UAEnCC,sCAAuC,OACvCC,qCACE,iLAIEC,IAA0BnxC,EAAAA,EAAAA,IAAH,uHASvBoxC,IAAiBpxC,EAAAA,EAAAA,IAAH,2KAmBPqxC,GAAoB30C,EAAAA,GAAAA,IAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2EAAAA,SAIzBnU,SAAAA,GAAD,OACAA,EAAM0oD,SACNp0C,EAAAA,EAAAA,IADA,iGAIkBtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,gBAAhF,GALjB,IAgBSkB,GAAoB70C,EAAAA,GAAAA,KAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,cAAAA,iIAAAA,OAAAA,OAAAA,SAClBtf,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,mBAAhF,IAMNznD,SAAAA,GAAD,MACiB,cAAjBA,EAAMiX,SACN3C,EAAAA,EAAAA,IADA,iDAEYtU,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,4BAD9D,GAHX,IAMCznD,SAAAA,GAAD,MACiB,YAAjBA,EAAMiX,SACN3C,EAAAA,EAAAA,IADA,iDAEYtU,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,0BAD9D,GAHX,IAMCznD,SAAAA,GAAD,OACAA,EAAM4oD,WACNt0C,EAAAA,EAAAA,IADA,4PAUkBtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,gBAAhF,GAXjB,IAuBSoB,GAAmB/0C,EAAAA,GAAAA,IAAHqN,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uGAAAA,SAKxBnhB,SAAAA,GAAD,OACAA,EAAM8oD,WACNx0C,EAAAA,EAAAA,IADA,6GADA,IAWSy0C,GAAqBj1C,EAAAA,GAAAA,IAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mFAAAA,+BAIRxrC,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,oCADnD,IAUTuB,GAAkBl1C,EAAAA,GAAAA,IAAHgM,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mEAAAA,6FAAAA,OAAAA,SAAAA,SAGL9f,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,iCADnD,IAIjBznD,SAAAA,GAAD,MACiB,WAAjBA,EAAMiX,SACN3C,EAAAA,EAAAA,IADA,ueAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,uCADnD,GAGPc,IASIvoD,SAAAA,GAAD,OACZ+O,GAAqB,UACd/O,EADa,CACNkP,aAAcu4C,KAC1B,wCAHU,GAMDe,GAtBnB,IA0BCxoD,SAAAA,GAAD,MACiB,cAAjBA,EAAMiX,SACN3C,EAAAA,EAAAA,IADA,kFAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UACd/O,EADa,CACNkP,aAAcu4C,KAC1B,0CAHgB,GAJxB,IAWGznD,SAAAA,GAAD,MACe,YAAjBA,EAAMiX,SACN3C,EAAAA,EAAAA,IADA,4DAEuBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,wCADnD,GAHpB,IAUOwB,GAAmBn1C,EAAAA,GAAAA,IAAH2b,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAOhBy5B,GAAoBp1C,EAAAA,GAAAA,KAAH0vB,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,OAAAA,SACzBxjC,SAAAA,GAAD,OACAA,EAAMmpD,UACN70C,EAAAA,EAAAA,IADA,wEAGetU,SAAAA,GAAD,OACR+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,+BAD7D,GAJd,IAQCznD,SAAAA,GACD,GAAIA,EAAMopD,SACR,OAAQppD,EAAMiX,QACZ,IAAK,UACH,OAAO3C,EAAAA,EAAAA,IAAP,gGAEetU,SAAAA,GAAD,OACR+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,iCAD7D,IAIhB,IAAK,YACH,OAAOnzC,EAAAA,EAAAA,IAAP,gGAEetU,SAAAA,GAAD,OACR+O,GAAqB,UACd/O,EADa,CACNkP,aAAcu4C,KAC1B,mCAHM,IAOhB,QACE,OAAOnzC,EAAAA,EAAAA,IAAP,gGAEetU,SAAAA,GAAD,OACR+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcu4C,KAAsB,0BAD7D,IAMpB,OAAOnzC,EAAAA,EAAAA,IAAP,uBAtC0B,I,yGClMT+0C,GAAAA,SAAAA,I,0IAQnBC,SAAoB3pD,EAAkC4pD,GACpD,MAAiCj4C,KAAKtR,MAA9BjB,EAAR,EAAQA,YAAa4mB,EAArB,EAAqBA,QACrB,GAAI4jC,GAAOA,EAAIhgC,WAAY,CACzB,IACMigC,GAA0BzqD,EADbwqD,EAAIhgC,WAA2BvZ,wBAA1CrR,MAC0D,KAAK8qD,QAAQ,GACzEC,EAAS7+B,UAAU,GAAKX,WAAWs/B,GAAgB,GAAG53B,WAAY,IAQxE,GAPA23B,EAAII,aAAa,eAAgBH,GACjCD,EAAII,aACF,IADFJ,gBAEkBG,EAFlB,MAE8BA,EAF9B,IAEwCA,EAFxC,YAEmE,EAATA,EAF1D,MAE0EA,EAF1E,IAEoFA,EAFpF,aAGa,EAATA,GAGS,UAAT/pD,EAAkB,CAEpB,IAAMiqD,EAAY,EAAI7jC,KAAK8jC,GAAKH,EAChCH,EAAII,aACF,QADFJ,oBAEsBK,EAFtB,MAEqCA,EAFrC,yBAGK,EAAKjkC,EAAqB,KAAOikC,EAHtC,mEAMD,CACF,CACF,G,oBACDj8C,WACE,IAaIm8C,EAbJ,EACEx4C,KAAKtR,MADC4S,EAAR,EAAQA,UAAW/S,EAAnB,EAAmBA,MAAaqB,EAAhC,EAAgCA,UAAW4nD,EAA3C,EAA2CA,SAAUnjC,EAArD,EAAqDA,QAASqP,EAA9D,EAA8DA,OAAqBr2B,EAAnF,EAAmFA,MAAOsY,EAA1F,EAA0FA,OAAWpE,GAArG,aAEMlD,EAAM,CACViD,EACA1R,EACG0R,EAHO,UAIVk2C,EAAcl2C,EAAN,aAA8B,KACtCqE,EAAYrE,EAAN,WAA0BqE,EAAW,KAC3C4T,SAAUlF,EAAmBiM,WAAY,KAAO,IAAShf,EAAzD,kBAAsF,MAErFnN,OAAOC,SACPC,KAAK,KACLC,OAEGmkD,EACJl/B,SAAUlF,EAAmBiM,WAAY,KAAO,OAAS,WAAYtgB,KAAKtR,OAAS,UAAYiX,EACjG,GAAI6xC,EAAU,CACZ,IAAIkB,EAAkCrkC,EAAN,IACT,cAAnBokC,EACFC,GAAcl3C,EAAAA,EAAAA,KAAC00C,GAAD,CAAc7nD,KAAK,UACL,YAAnBoqD,IACTC,GAAcl3C,EAAAA,EAAAA,KAAC00C,GAAD,CAAc7nD,KAAK,WAEnCmqD,GACEh3C,EAAAA,EAAAA,KAAC61C,GAAD,CACEC,UAAU,EACV3xC,OAAQA,EACR/V,UAAc0R,EAAL,QACT/S,MAAO,CAAEsZ,SAA8B,IAAnBxa,EAA0B,GAJhD8D,SAMGuyB,EAASA,EAAOrP,GAAqBqkC,GAG3C,CACD,OACE9yC,EAAAA,EAAAA,MAACuxC,IAAD,QAAmBvnD,UAAWyO,EAAK9P,MAAOA,GAAWgT,EAArD,CAAApQ,SAAAA,EACEyU,EAAAA,EAAAA,MAAAA,MAAAA,CAAKxY,QAAQ,cAAcC,MAAK,GAAKA,EAArC8D,SAAAA,EACEqQ,EAAAA,EAAAA,KAACo2C,GAAD,CACEjyC,OAAQA,EACRkyC,SAAO,EACPp2C,IAAKzB,KAAKg4C,oBAAoBl4C,KAAKE,KAAM,MACzCpQ,UAAc0R,EAAL,SACT5T,KAAK,UAEP8T,EAAAA,EAAAA,KAACo2C,GAAD,CACEn2C,IAAKzB,KAAKg4C,oBAAoBl4C,KAAKE,KAAM,SACzC24C,cAAc,QACd/oD,UAAc0R,EAAL,UACTw2C,UAAQ,EACRnyC,OAAQA,EACRjY,KAAK,YAGR8qD,KAGN,K,EA1FkBT,CAAkB1lD,EAAAA,WAAlB0lD,GACLr2C,aAAwC,CACpDJ,UAAW,aACXk2C,UAAU,EACVnjC,QAAS,EACThnB,MAAO,IACPI,YAAa,G,sGClBImrD,GAAAA,SAAAA,I,6HAQnBv8C,WACE,IAaIm8C,EAbJ,EACEx4C,KAAKtR,MADC4S,EAAR,EAAQA,UAAW/S,EAAnB,EAAmBA,MAAOqB,EAA1B,EAA0BA,UAAW4nD,EAArC,EAAqCA,SAAUnjC,EAA/C,EAA+CA,QAASqP,EAAxD,EAAwDA,OAAQj2B,EAAhE,EAAgEA,YAAoBkY,EAApF,EAAoFA,OAAWpE,GAA/F,aAEMlD,EAAM,CACViD,EACA1R,EACG0R,EAHO,QAIVk2C,EAAcl2C,EAAN,aAA8B,KACtCqE,EAAYrE,EAAN,WAA0BqE,EAAW,KAC3C4T,SAAUlF,EAAmBiM,WAAY,KAAO,IAAShf,EAAzD,kBAAsF,MAErFnN,OAAOC,SACPC,KAAK,KACLC,OAEH,GAAIkjD,EAAU,CACZ,IAAMiB,EACJl/B,SAAUlF,EAAmBiM,WAAY,KAAO,OAAS,WAAYtgB,KAAKtR,OAAS,UAAYiX,EAC7F+yC,EAAkCrkC,EAAN,IACT,cAAnBokC,EACFC,GAAcl3C,EAAAA,EAAAA,KAAC00C,GAAD,CAAc7nD,KAAK,iBACL,YAAnBoqD,IACTC,GAAcl3C,EAAAA,EAAAA,KAAC00C,GAAD,CAAc7nD,KAAK,kBAEnCmqD,GACEh3C,EAAAA,EAAAA,KAAC61C,GAAD,CAAmB1xC,OAAQA,EAAQ/V,UAAc0R,EAAL,QAA5CnQ,SACGuyB,EAASA,EAAOrP,GAAqBqkC,GAG3C,CACD,IAAMG,EAAe,CACnBxrD,MAAUgnB,EAAL,IACL/mB,OAAQG,GAEV,OACEmY,EAAAA,EAAAA,MAACuxC,IAAD,QAAmBvnD,UAAWyO,EAAK9P,MAAOA,GAAWgT,EAArD,CAAiE61C,QAAQ,EAAzEjmD,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC+1C,GAAD,CAAkBC,SAAUA,EAAU5nD,UAAc0R,EAAL,OAA/CnQ,UACEqQ,EAAAA,EAAAA,KAACi2C,GAAD,CAAoB7nD,UAAc0R,EAAL,SAA7BnQ,UACEqQ,EAAAA,EAAAA,KAACk2C,GAAD,CAAiB/xC,OAAQA,EAAQ/V,UAAc0R,EAAL,MAAqB/S,MAAOsqD,QAGzEL,KAGN,K,EApDkBI,CAAgBvmD,EAAAA,WAAhBumD,GACLl3C,aAAqC,CACjDJ,UAAW,aACXk2C,UAAU,EACVnjC,QAAS,EACThnB,MAAO,IACPI,YAAa,GCLjB,I,8BAAA,IACEmrD,KAAAA,GACAb,OAAAA,ICLWe,GAAmB,CAC9BC,gBAAiB,UACjBC,oBAAqB,UACrBC,4BAA6B,OAC7BC,kBAAmB,UACnBC,sBAAuB,OACvBC,oBAAqB,QAaVC,GAAS72C,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,cAAAA,UACP/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAck7C,KAAoB,kBAA9E,IAEEQ,GAAa92C,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mCAAAA,6EAAAA,4BAAAA,OAAAA,OAAAA,SAELjU,SAAAA,GAAD,OACb+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAck7C,KAAoB,8BADtD,IAILpqD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAck7C,KAAoB,sBAA9E,IAGNpqD,SAAAA,GAAD,OACAA,EAAM6qD,UACNv2C,EAAAA,EAAAA,IADA,qDADA,IAKCtU,SAAAA,GAAD,OACCA,EAAM8qD,QAAU9qD,EAAM6qD,SAAW7qD,EAAM+qD,UACxCz2C,EAAAA,EAAAA,IADC,SAAD,sEAGYtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAck7C,KAAoB,oBAA9E,GAJX,IAMCpqD,SAAAA,GAAD,OACAA,EAAM+qD,SACL/qD,EAAM6qD,UACPv2C,EAAAA,EAAAA,IAFA,yEADA,IASS02C,GAAWl3C,EAAAA,GAAAA,IAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2CAAAA,mBAAAA,+IAAAA,2FAEHxf,SAAAA,GAAD,OACb+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAck7C,KAAoB,wBADtD,IAEDpqD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAck7C,KAAoB,sBAA9E,GASXO,IAmBJ,M,8HCvEe,SAASx+C,GAAKnM,QAAuB,IAAvBA,IAAAA,EAAmB,CAAC,GAC/C,MAaIA,EAbJ,IACE4S,UAAAA,OADF,MACc,SADd,MAEEqV,MAAAA,OAFF,MAEU,EAFV,MAGE9nB,MAAO8qD,OAHT,MAGoB,EAHpB,EAIE/pD,EAJF,EAIEA,UACAgqD,EALF,EAKEA,UALF,IAMEC,UAAAA,OANF,MAMc,SANd,MAOEr1B,SAAAA,OAPF,SAQEvd,EARF,EAQEA,SARF,IASEnY,SAAAA,OATF,MASa0O,EATb,MAUEs8C,cAAAA,OAVF,MAUkBt8C,EAVlB,EAWEvI,EAXF,EAWEA,MACGyb,GAZL,OAaIhiB,EAbJ,IAcA,GAA0BwE,EAAAA,EAAAA,UAASymD,GAAnC,eAAO9qD,EAAP,KAAckrD,EAAd,KACA,GAAoC7mD,EAAAA,EAAAA,WAAU,GAA9C,eAAO8mD,EAAP,KAAmBC,EAAnB,KACM57C,EAAM,CAACiD,EAAW1R,EAAWqX,EAAW,WAAa,MAAM9S,OAAOC,SAASC,KAAK,KAAKC,OAC3F,GAAkCpB,EAAAA,EAAAA,YAAlC,eAAOgnD,EAAP,KAAkBC,EAAlB,KAeA,SAASC,EAASrrD,EAAkCojB,GAClDpjB,EAAEgpC,UACF,IAAI0S,EAAet4B,EACbkoC,EACJtrD,EAAEurD,QAAUvrD,EAAEouB,cAAcze,wBAAwB9H,MAAQ7H,EAAEouB,cAAcze,wBAAwBrR,MAAQ,EAO9G,OANIusD,GACF7qD,EAAEgpC,UACF0S,EAAe4P,EAASloC,EAAM,GAAMA,EAAM,GAE1Cs4B,EAAet4B,EAAM,EAEhBs4B,CACR,CAeD,OAzCIkP,IAAaO,GACfC,EAAaR,IAGfhrD,EAAAA,EAAAA,UAAQ,WACFE,IAAUqrD,GACZH,EAASJ,EAFN,GAIJ,CAACO,KAkCF14C,EAAAA,EAAAA,KAACk4C,IAAD,UAAchpC,EAAd,CAAqB9gB,UAAWyO,EAAKsf,aAAc,WA/BnDs8B,GAAe,EA+BoC,EAAnD9oD,UACG,QAAI2xB,MAAMnM,IAAQ5mB,KAAI,SAACgzB,EAAG/yB,GACzB,IAAMypD,EACH5qD,GAASmB,EAAM,IAAOykB,KAAKqgC,KAAKjmD,GAAS,IAAMmB,IAAuB,IAAhBgqD,GAAsBA,IAAehqD,EAAM,GAC9FwpD,EAASxpD,EAAM,GAAKnB,IAAyB,IAAhBmrD,EAC7BT,EAAUvpD,EAAM,GAAKgqD,EACrBO,EAAY,CACbj5C,EADa,SAEhBk4C,EAAS,UAAY,KACrBD,EAAU,WAAa,KACvBE,EAAS,UAAY,MAEpBtlD,OAAOC,SACPC,KAAK,KACLC,OACG5F,EAAuB,CAAC,EAK9B,OAJK81B,IACH91B,EAAMqiB,QAAWhiB,SAAAA,GAAD,OAxBxB,SAAiBA,EAAkCojB,GACjD,IAAIqS,EAAJ,CACA,IAAMimB,EAAe2P,EAASrrD,EAAGojB,GACjC4nC,EAAStP,GACT37C,EAAS27C,EAHW,CAIrB,CAmB8B15B,CAAQhiB,EAAGiB,EAAlB,EAChBtB,EAAM8rD,YAAezrD,SAAAA,GAAD,OAhC5B,SAAqBA,EAAkCojB,GACrD,IAAMs4B,EAAe2P,EAASrrD,EAAGojB,GAC7B6nC,IAAevP,IACjBwP,EAAcxP,GACdqP,EAAcrP,GAEjB,CA0BkC+P,CAAYzrD,EAAGiB,EAAtB,IAGpB4V,EAAAA,EAAAA,MAAAA,QAAAA,EAAAA,EAAAA,GAAAA,CAAAA,EAAoBlX,EAApB,CAAAyC,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC83C,GAAD,CAAY/qD,MAAO,CAAE0G,MAAAA,GAASrF,UAAW2qD,EAAWf,OAAQA,EAAQD,QAASA,EAASE,OAAQA,EAA9FtoD,SACG0oD,KAEHr4C,EAAAA,EAAAA,KAAC63C,GAAD,CAAQzpD,UAAc0R,EAAL,MAAjBnQ,SAAuC0oD,OAJ9B7pD,EApBd,MA8BN,CCzGM,I,oCAAMyqD,GAAkB,CAC7BpyC,cAAe,OACfqyC,gCAAiC,sBACjCC,iCAAkC,sBAClCC,sCAAuC,sBACvCC,0BAA2B,QAOhBC,GAAct4C,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8NAAAA,+CAAAA,aAAAA,SAUC/T,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc68C,KAAmB,kCADhD,IAIC/rD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc68C,KAAmB,mCADhD,IAGnB/rD,SAAAA,GAAD,OACAA,EAAMqsD,UACN/3C,EAAAA,EAAAA,IADA,mPAMiBtU,SAAAA,GAAD,OACN+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc68C,KAAmB,4BAD5D,IAKW/rD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc68C,KAAmB,wCADhD,GAZ1B,IAsBSO,GAAex4C,EAAAA,GAAAA,KAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,yFAAAA,8IAAAA,SAITnU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc68C,KAAmB,gBAA7E,IAQV/rD,SAAAA,GAAD,OACAA,EAAMuY,WACNjE,EAAAA,EAAAA,IADA,uGADA,I,6HCnDJ,YAAgBtU,QAAyB,IAAzBA,IAAAA,EAAkB,CAAC,GACjC,MAcIA,EAdJ,IACE4S,UAAAA,OADF,MACc,QADd,EAEE1R,EAFF,EAEEA,UACArB,EAHF,EAGEA,MAHF,IAIE8C,MAAAA,OAJF,MAIU,GAJV,EAKEF,EALF,EAKEA,SALF,IAMEmT,QAAAA,OANF,aAOErP,MAAAA,OAPF,MAOU,UAPV,MAQEgS,SAAAA,OARF,aASEmnB,SAAAA,OATF,SAUE6sB,EAVF,EAUEA,SAVF,IAWEptD,MAAAA,OAXF,SAYEgW,EAZF,EAYEA,QACG6M,GAbL,OAcIhiB,EAdJ,IAeM2P,EAAM,CAACiD,EAAW1R,EAAW/B,EAAWyT,EAAN,SAA0B,KAAM2F,EAAW,WAAa,MAC7F9S,OAAOC,SACPC,KAAK,KACLC,OACGssC,GAA4B,UAAKryC,GAWvC,OAVKV,GAIH+yC,EAAK3rC,MAAQA,EACb2rC,EAAKsa,YAAcjmD,EACfm5B,GAAYvgC,IACd+yC,EAAKua,UAALva,mBAAoC3rC,KANtC2rC,EAAK3rC,MAAQ,OACb2rC,EAAKzpC,gBAAkBlC,GAQpBqP,GAKHsB,EAAAA,EAAAA,MAACo1C,IAAD,QAAc/zC,SAAUA,EAAUrX,UAAWyO,EAAK9P,MAAOqyC,GAAUlwB,EAAnE,CAAAvf,SAAAA,CACGE,GAASF,GACR8V,GAAYg0C,GACZz5C,EAAAA,EAAAA,KAACs5C,GAAD,CACEC,QAASltD,EACTkjB,QAASlN,EACTjU,UAAc0R,EAAL,SACTjU,MAAM,KACNC,OAAO,KACPF,QAAQ,YANV+D,UAQEqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAM5T,EAAE,wPAER,SAjBC,IAhCX,ECVawtD,GAAyB,CACpCC,+BAAgC,UAChCC,2BAA4B,OAC5BC,0BAA2B,UAC3BC,sBAAuB,UACvBC,0BACE,8IACFC,2BACE,6FACFC,2BACE,2FACFC,gCACE,+FAOSC,IAAgCr5C,EAAAA,EAAAA,IAAO/I,GAAP+I,CAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,uNAAAA,YAAAA,OAAAA,QACtCod,IAYGnxB,SAAAA,GAAD,OACAA,EAAMuY,WACNjE,EAAAA,EAAAA,IADA,uLAGiBtU,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcw9C,KAA0B,iCAD7D,IAGJ1sD,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcw9C,KAA0B,4BADlE,GAPX,IAaD1sD,SAAAA,GAAD,MACe,UAAfA,EAAM2G,OACN2N,EAAAA,EAAAA,IADA,2HAEI6c,GAHJ,IASCnxB,SAAAA,GAAD,MACe,UAAfA,EAAM2G,OACN2N,EAAAA,EAAAA,IADA,0EAEI6c,GAHJ,IAcSi8B,GAA8Bt5C,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uFAa3B+tC,IAA6Bv5C,EAAAA,EAAAA,IAAO/I,GAAP+I,CAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAClCxf,SAAAA,GAAD,aAC6B,KAA7B,SAAAA,EAAMsX,aAAN,IAActQ,cACdsN,EAAAA,EAAAA,IADA,qDAFmC,IAe1Bg5C,IAA4Bx5C,EAAAA,EAAAA,IAAOuD,GAAPvD,CAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAAAA,SACjC5f,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcs/B,YACdtiC,EAAAA,EAAAA,IADA,uEAFkC,IAQjCtU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAci2C,SACdj5C,EAAAA,EAAAA,IADA,qDATkC,IAsBzBk5C,GAAoB15C,EAAAA,GAAAA,IAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,0JAAAA,+CAAAA,uIAAAA,sKAAAA,0CAAAA,iDAAAA,aAAAA,SAObxrC,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcw9C,KAA0B,4BAD7D,IAGC1sD,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcw9C,KAA0B,6BAD7D,IAOJ1sD,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcw9C,KAA0B,wBADlE,IAQQ1sD,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcw9C,KAA0B,6BAD7D,IAKC1sD,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcw9C,KAA0B,6BAD7D,IAKC1sD,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcw9C,KAA0B,kCAD7D,IAGb1sD,SAAAA,GAAD,aAC6B,KAA7B,SAAAA,EAAMsX,aAAN,IAActQ,cACdsN,EAAAA,EAAAA,IADA,qDAvC0B,I,2PCxGxBm5C,GAAW,CACfC,MAAOprC,GAAAA,EACPrJ,QAAS00C,GAAAA,GAKLC,GAAU,CAAEC,MAAO,GAAIC,QAAS,GAAIC,MAAO,IA0BlC,SAASrnD,GAAa1G,GAA0B,MAC7D,EAuBIA,EAtBFk1B,WAAAA,OADF,WAuBIl1B,EArBFuY,SAAAA,OAFF,SAGEy1C,EAoBEhuD,EApBFguD,YAHF,EAuBIhuD,EAnBF2G,KAAAA,OAJF,MAIS,UAJT,IAuBI3G,EAlBF8E,OAAAA,OALF,MAKW,GALX,EAMEmpD,EAiBEjuD,EAjBFiuD,YANF,EAuBIjuD,EAhBFiZ,QAAAA,OAPF,WAuBIjZ,EAfFkuD,aAAAA,OARF,WAuBIluD,EAdF4S,UAAAA,OATF,MASc,kBATd,EAUE1R,EAaElB,EAbFkB,UAVF,EAuBIlB,EAZFmuD,KAAAA,OAXF,MAWS,SAXT,EAYEtuD,EAWEG,EAXFH,MAEAM,EASEH,EATFG,MACAiB,EAQEpB,EARFoB,aAfF,EAuBIpB,EAPFgH,WAAAA,OAhBF,WAuBIhH,EANFouD,SAAAA,OAjBF,MAiBa,CAAC,EAjBd,EAkBErnD,EAKE/G,EALF+G,YACAE,EAIEjH,EAJFiH,SACA7G,EAGEJ,EAHFI,SACA8G,EAEElH,EAFFkH,SACGwQ,GAtBL,OAuBI1X,EAvBJ,IAyBM2P,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OACvDyoD,GAAapuD,EAAAA,EAAAA,UAAQ,iBAAe,aAATkuD,CAAN,GAA2B,CAACA,IACvD,GAAsC3pD,EAAAA,EAAAA,WAAS,GAA/C,eAAOqhC,EAAP,KAAoBC,EAApB,KACA,GAA0CthC,EAAAA,EAAAA,UAAwC,IAAlF,eAAOuhC,EAAP,KAAsBC,EAAtB,KACA,GAA0CxhC,EAAAA,EAAAA,UAAiB,IAA3D,eAAO8pD,EAAP,KAAsBC,EAAtB,KACA,GAA4C/pD,EAAAA,EAAAA,UAAS,IAArD,eAAOyhC,GAAP,KAAuBC,GAAvB,KACM7T,IAAWhf,EAAAA,EAAAA,QAAyB,MACpCm7C,IAAevuD,EAAAA,EAAAA,UACnB,kBAAOguD,GAAeloB,EAAc/gC,OAASipD,EAAcloB,EAAc/gC,OAASipD,EAAc,CAAhG,GACA,CAACloB,EAAc/gC,SAEXypD,IAASp7C,EAAAA,EAAAA,QAAuB,MAEhCq7C,GAAevuD,SAAAA,GACnB,YAAiBsG,IAAVtG,GAAiC,KAAVA,CADhC,EAIMiqC,IAAW/2B,EAAAA,EAAAA,UACjB+2B,GAAS52B,SAAUvT,EAAAA,EAAAA,UAAQ,kBAAM8lC,CAAN,GAAqB,CAACA,KAEjDxyB,EAAAA,EAAAA,YAAU,YACHm7C,GAAYvuD,IAAUuuD,GAAYttD,IACrCutD,GAAoBvtD,EAFf,GAIN,KAEHmS,EAAAA,EAAAA,YAAU,WACJgF,GACFutB,GAAe,EAFV,GAIN,CAACvtB,KAEJhF,EAAAA,EAAAA,YAAU,WACJm7C,GAAYvuD,GACdwuD,GAAoBxuD,IAEpB6lC,EAAiB,IACjBuoB,EAAiB,IALZ,GAON,CAACngB,KAAKC,UAAUluC,KAEnB,IAAMyuD,GAAkB,SAAC9pD,EAAuC3E,GAE9D,OADmB2E,EAAO3C,MAAMC,SAAAA,GAAD,OAAUA,EAAKjC,QAAUA,CAAzB,GADjC,EAKA,SAASwuD,GACPzgB,GAEA,IAAItH,EAAsC,GAC1C,GAAIsnB,EACE95B,MAAMkW,QAAQ4D,GAChBtH,EAAOsH,EAEPtH,EAAKrhC,KAAK2oC,QAGZ,GAAI9Z,MAAMkW,QAAQ4D,GAChBtH,EAAOsH,EAAY7sC,KAAK6wB,SAAAA,GAAD,OAAO08B,GAAgB9pD,EAAQotB,EAA/B,IAAiDzsB,QAAQZ,SAAAA,GAAD,QAASA,CAAT,QAC1E,CACL,IAAMgqD,EAAaD,GAAgB9pD,EAAQopC,GACvC2gB,IACFN,EAAiBM,EAAW3pD,OAC5B0hC,EAAKrhC,KAAKspD,GAEb,EAGER,GAAcznB,EAAK5hC,OAAS,GAAGupD,EAAiB3nB,EAAK,GAAG1hC,OAAS,IACtE8gC,EAAiBY,EAAK4Q,MAAM,EAAGwW,GAChC,CASD,IAAMc,GAAuB3uD,SAAAA,GAC3BouD,EAAiBpuD,GACjB6G,IAAU,MAAIC,GAAAA,EAAW9G,GAF3B,EAaA,SAAS4uD,GAAiB5hD,EAAe/K,GACvC,IAAI0kD,GACS,IAAX35C,EAtBJ,SAA0BA,GACxB,IAAM44B,EAAgBqE,GAAS52B,QAG/B,OAFAuyB,EAAc6B,OAAOz6B,EAAO,IACb,QAAI44B,EAEpB,CAkBOipB,CAAiB7hD,GADrBA,GAAAA,QAAAA,EAAAA,GAAAA,GAEQ44B,EAAcyR,MAAM,EAAGwW,EAAcA,EAAc,OAAIvnD,IAF/D0G,CAE2E/K,IACvE6sD,EAAcnI,EAAOzlD,KAAKe,SAAAA,GAAD,OAAUA,EAAKjC,KAAf,IAC/B6tC,GAAaihB,EAAanI,EAC3B,CAED,SAAS9Y,GAAaihB,EAA2CnI,GAC/DyH,EAAiB,IACjBrnD,GAAYA,EAAS+nD,GACrBC,GAAmBD,EAAanI,QAEtBrgD,IAAVtG,GAAuB6lC,EAAiB8gB,EApImB,CAwI7D,SAAShgB,GAAiBnnC,GACxB,IAAIsmC,EAEFA,EADW,UAATtmC,GAAoBu1B,IAAe6Q,EAAc/gC,OAAS,GAAKspD,GAChD,QAEA,GAEnBpoB,GAAkBD,EA/IyC,CAkJ7D,SAASkpB,GAAkBhvD,GACzB2lC,GAAe,GACfI,GAAkBl/B,GAAc7G,EAAQ,UAAY,IAGpD2uD,GAAoB3uD,EAvJuC,CA0J7D,SAASivD,GAAmB/uD,GAAsC,MAChEA,EAAE6nC,kBACF,SAAA7V,GAAS7e,UAAT,EAAkB6E,QAClB2tB,EAAiB,IACjBmpB,GAAkB,IAClBrpB,GAAe,GACfopB,GAAmB,GAAI,GACxB,CACD,SAASA,GAAmB/uD,EAAqC6O,GAC1D5O,GAELA,EAAS8tD,EAAel/C,EAAU7O,EACnC,CAiBD,OACE2S,EAAAA,EAAAA,KAACpI,IAAD,QACExJ,UAAWyO,EACXuc,QAAQ,QACRrsB,MAAO,CAAEiwB,UAAW,GACpBxC,YAAa,CAAE3uB,MAAO,KACtB4Z,SAAUA,GACNb,EANN,CAOEuV,gBAjBJ,SAAyBzY,GACvB,IAAMuxB,EAAgBqE,GAAS52B,QAC/BsyB,EAAetxB,GACVA,GAAQs6C,GAAoB,KAC5BT,GAActoB,EAAc/gC,OAAS,GACxCupD,EAAiBxoB,EAAc,GAAG7gC,MAErC,EAWGsP,OAAQqxB,EACR3jC,MACE4Q,EAAAA,EAAAA,KAAC/F,GAAD,CACE2yB,UAAQ,EACR7/B,MAAO,CACLuZ,UAAW,GACXi2C,UAAW,IACX1tC,SAAQ,eAAE9hB,OAAF,EAAEA,EAAOlB,OAAT,EAAkB,IAC1B+oC,UAAW,SACX/oC,MAAK,MAAEkB,OAAF,EAAEA,EAAOlB,OAPlB8D,SAUIqC,GAA4B,IAAlBA,EAAOE,OAGjBF,EAAOzD,KAAKe,SAAAA,GACV,IAAM+K,EAAQ44B,EAAcupB,WAAWC,SAAAA,GAAD,OAAWA,EAAMpvD,QAAUiC,EAAKjC,KAAhC,IACtC,OACE2S,EAAAA,EAAAA,KAAC/F,GAAAA,KAAD,CACEuL,QAAmB,IAAXnL,EAERiW,KAAMhhB,EAAK8C,MACXmd,QAAS,kBAAOgsC,EAAaU,GAAiB5hD,EAAO/K,GAxGrE,SAAyBA,GACvB0jC,GAAe,GACf,IAAMghB,EAAS,CAAC1kD,GAChBmsD,EAAiBnsD,EAAK8C,OAEtB8oC,GADoB5rC,EAAKjC,MACC2mD,EAC3B,CAkG4Ejf,CAAgBzlC,EAApE,GAFJ+K,EALX,KAFA2F,EAAAA,EAAAA,KAAAA,MAAAA,CAAKjT,MAAO,CAAE0G,MAAO,UAAW4S,SAAU,IAA1C1W,SAAiDwW,EAAU,0CAAc,+BArBjFxW,UAsCEqQ,EAAAA,EAAAA,KAAAA,MAAAA,CACEC,IAAK07C,GACL3/B,YAAa,kBAAMgY,GAAiB,QAAvB,EACb7X,aAAc,kBAAM6X,GAAiB,QAAvB,EACdzkB,QAAS,iCAAMgQ,GAAS7e,cAAf,EAAMg8C,EAAkBn3C,OAJnC,EAKExY,OAAK,QAAIlB,MAAO,OAAQ+iB,SAAU,QAAW7hB,GAL/C4C,SAOG4rD,GACCn3C,EAAAA,EAAAA,MAACs2C,GAAD,CACEl2C,OAAQ,CAAEtQ,WAAAA,GACV9F,UAAW,CAAI0R,EAAJ,SAA0BA,EAA1B,WAA8C5L,EAAiB4L,EAA/D,IAA4EjM,GACpFlB,OAAOC,SACPC,KAAK,KACLC,OALLnD,SAAAA,EAOEyU,EAAAA,EAAAA,MAACk2C,GAAD,CAA6BlsD,UAAc0R,EAAL,eAA8B/S,MAAO,CAAC,EAA5E4C,SAAAA,CACG4rD,GACCtoB,EAAcyR,MAAM,EAAGyW,GAAa5sD,KAAI,SAACe,EAAM+K,GAC7C,OACE2F,EAAAA,EAAAA,KAAC/G,IAAD,QACElM,OAAK,QACHjB,OAAQgvD,GAAQjnD,GAChB4nC,OAAQ,EACRzoC,QAAS,OACTe,WAAY,UACTunD,EAASvuD,OAGd0G,MAAM,WACF6nD,EAVN,CAWE7B,UAAQ,EACRh0C,SAAUA,EACVpD,QAAU9U,SAAAA,GACRA,EAAE6nC,kBACF6mB,GAAiB5hD,EAAO/K,EAf5B,EAAAK,SAkBGL,EAAK8C,QAVDiI,EAVX,MAwBCqhD,KACDt3C,EAAAA,EAAAA,MAACnL,GAAD,CAAKlM,MAAO,CAAEjB,OAAQ,GAAI2vC,OAAQ,EAAGzoC,QAAS,OAAQe,WAAY,UAAY0R,UAAU,EAAxF9V,SAAAA,CAAAA,IACI+rD,GADJ,UACoB,QAGtB17C,EAAAA,EAAAA,KAACq6C,GAAD,CACEttD,MAAO,CAAE4vD,KAAM,EAAG9wD,MAAOqI,EAAa,EAAI,IAC1C9F,UAAc0R,EAAL,kBACTkjB,UAAW9uB,EACXL,KAAMA,EACNoM,IAAKsf,GACL9Z,SAAUA,EACV+uC,UA3Gd,SAAsBjnD,GAChBguD,GAActoB,EAAc/gC,OAAS,IAAMspD,GAA+B,IAAdjuD,EAAEqvD,SAChEX,GAAiBhpB,EAAc/gC,OAAS,EAE3C,EAwGa5E,SAAWC,SAAAA,GAAD,OAAO8uD,GAAkB9uD,EAAEC,OAAOH,MAAlC,EACVA,MAAOmuD,EACPvnD,YAAag/B,EAAc/gC,OAAS,GAAK+B,QAG3CwR,IAAgC,UAAnB0tB,IAAkD,YAAnBA,IAAgChtB,KAC5EnG,EAAAA,EAAAA,KAACw6C,GAAD,CACEpsD,UAAc0R,EAAL,kBACTwD,GAAIq3C,GAASxnB,IACb3uB,OAAQ,CAAEs/B,UAAU,EAAMh3C,KAAMqZ,GAA8B,YAAnBgtB,IAE3C5jB,QAAS+sC,SAKft8C,EAAAA,EAAAA,KAACu6C,GAAD,CACEnsD,UAAc0R,EAAL,WAAyB5L,EAClC8uB,UAAW9uB,EACXsQ,OAAQ,CAAEtQ,WAAAA,GACVL,KAAMA,EACNoM,IAAKsf,GACL9Z,SAAUA,EACVnY,SAAWC,SAAAA,GAAD,OAAO8uD,GAAkB9uD,EAAEC,OAAOH,MAAlC,EACVA,MAAOmuD,EACPvnD,YAAaA,EACbqrB,YACG7Z,IACmB,UAAnB0tB,IAAkD,YAAnBA,IAAgChtB,KAC9DnG,EAAAA,EAAAA,KAACw6C,GAAD,CACEl3C,GAAIq3C,GAASxnB,IACb3uB,OAAQ,CAAEi2C,OAAO,EAAM3tD,KAAMqZ,GAA8B,YAAnBgtB,IACxC/kC,UAAc0R,EAAL,eACT/S,MAAO,CAAEb,KAAM,WAEfqjB,QAAS+sC,WAS1B,C,4LCjXYO,GAAkB,CAE7B1xB,kBAAmB,IACnB2xB,gBAAiB,WACjBC,0BAA2B,WAC3BC,sBAAuB,WACvBC,4BAA6B,WAC7BC,wBAAyB,WACzBC,6BAA8B,UAC9B55B,oBAAqB,OACrBzc,gBAAiB,OACjBD,cAAe,OAEfu2C,6BAA8B,sBAC9BC,mCAAoC,sBACpCC,uCAAwC,sBAExCC,iCAAkC,UAElCC,6BAA8B,OAC9BC,+BAAgC,wBAerBC,GAAiB18C,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,qDAAAA,UAGT/T,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,oBAA7E,IAWJc,GAAiB38C,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wDAAAA,OAAAA,OAAAA,SAItBjU,SAAAA,GAAD,YAC6B,cAA5B,SAAAA,EAAMsX,aAAN,IAAc8oB,aACb9rB,EAAAA,EAAAA,IADD,qFAMDA,EAAAA,EAAAA,IANC,SAAD,kDALuB,IActBtU,SAAAA,GAAD,YACA,CAAC,UAAW,UAAUoF,UAAS,SAAApF,EAAMsX,aAAN,IAAcL,SAAU,MACvD3C,EAAAA,EAAAA,IADA,gNAfuB,IA0BtBtU,SAAAA,GAAD,YACyB,WAAzB,SAAAA,EAAMsX,aAAN,IAAcL,UACd3C,EAAAA,EAAAA,IADA,2FAGctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,mBAA7E,GA9BU,IA4Cde,GAAqB58C,EAAAA,GAAAA,IAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,6KAAAA,OAAAA,OAAAA,QAC3B+wC,IAUCzwD,SAAAA,GAAD,YAC4B,cAA5B,SAAAA,EAAMsX,aAAN,IAAc8oB,aACbpgC,EAAMsX,OAAOsQ,MACdtT,EAAAA,EAAAA,IAFA,yJAGIk8C,GAAoBC,GAfG,IAsB1BzwD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcsQ,MACa,aAA3B5nB,EAAMsX,OAAO8oB,YACb9rB,EAAAA,EAAAA,IAFA,oTASI,CAAC,QAAS,WAAWlP,SAASpF,EAAMsX,OAAOL,QAAU,MACvD3C,EAAAA,EAAAA,IADE,mHAIiBtU,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,+BADtD,IAIhBc,GAGAA,GA3CuB,IAgD1BzwD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcsQ,MACa,aAA3B5nB,EAAMsX,OAAO8oB,YACb9rB,EAAAA,EAAAA,IAFA,gPAGIm8C,GAUwB,UAAxBzwD,EAAMsX,OAAOL,SACf3C,EAAAA,EAAAA,IADE,kGA9DuB,IAiFlBq8C,GAAsB78C,EAAAA,GAAAA,EAAHsrC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,oGAAAA,gJAAAA,OAAAA,OAAAA,SAKTp/C,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,+BADhD,IAUjB3vD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcs5C,aACdt8C,EAAAA,EAAAA,IADA,6IAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,4BADhD,GAnBI,IAyB3B3vD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcs5C,YACd5wD,EAAMsX,OAAOsQ,KACc,aAA3B5nB,EAAMsX,OAAO8oB,YACb9rB,EAAAA,EAAAA,IAHA,wFAKyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,4BADhD,GA/BI,IAmC3B3vD,SAAAA,GACD,IAAQsX,EAAWtX,EAAXsX,OACR,aAAQA,OAAR,EAAQA,EAAQL,QACd,IAAK,QACH,OAAO3C,EAAAA,EAAAA,IAAP,gDACIgD,EAAOsQ,MACTtT,EAAAA,EAAAA,IADE,6JAGuBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,4BADhD,GAIC,aAArBr4C,EAAO8oB,YACT9rB,EAAAA,EAAAA,IADE,kIAQR,IAAK,SACH,OAAOA,EAAAA,EAAAA,IAAP,gEACKgD,EAAOs5C,YACVt8C,EAAAA,EAAAA,IADE,4IAGuBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,8BADhD,IAKtBr4C,EAAOs5C,WACY,aAArBt5C,EAAO8oB,WACP9oB,EAAOsQ,MACPtT,EAAAA,EAAAA,IAHE,gHAKuBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,8BADhD,KAK5B,IAAK,UACH,OAAOr7C,EAAAA,EAAAA,IAAP,gDACIgD,EAAOsQ,MACTtT,EAAAA,EAAAA,IADE,4IAGuBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,8BADhD,KAM5B,IAAK,UACH,OAAOr7C,EAAAA,EAAAA,IAAP,wBACF,IAAK,OACH,OAAOA,EAAAA,EAAAA,IAAP,wBACF,QACE,OAAOA,EAAAA,EAAAA,IAAP,wBA3FwB,IAuGnBu8C,GAAqB/8C,EAAAA,GAAAA,IAAHg9C,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mHAAAA,+DAAAA,SAKd9wD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,sBAA7E,IAIX3vD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcsQ,OACdtT,EAAAA,EAAAA,IADA,6PAV2B,IAmClBy8C,GAA0Bj9C,EAAAA,GAAAA,IAAHk9C,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,oGAAAA,eAAAA,0BAAAA,yHAAAA,iGAAAA,OAAAA,WAAAA,OAAAA,SAK7BhxD,SAAAA,GAAD,OACA+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,qCADlE,IAEM3vD,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,+BAD3D,IAEY3vD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,sBADhD,IAON3vD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,kBAA7E,IAGV3vD,SAAAA,GAAD,YACA,CAAC,UAAW,UAAUoF,UAAS,SAAApF,EAAMsX,aAAN,IAAcL,SAAU,MACvD3C,EAAAA,EAAAA,IADA,mIAGqBtU,SAAAA,GAAD,OACd+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,0BADpD,IAEK3vD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,8BADhD,IAEV3vD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,sBAA7E,GA3BmB,IA8B/B3vD,SAAAA,GAAD,YACyB,WAAzB,SAAAA,EAAMsX,aAAN,IAAcL,UACd3C,EAAAA,EAAAA,IADA,mIAGctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,kBAA7E,IACQ3vD,SAAAA,GAAD,OACd+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,wBADpD,IAEK3vD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,sBADhD,GArCQ,IA0C7B3vD,SAAAA,GAAD,aACF,SAAAA,EAAMsX,aAAN,IAAczU,QACdyR,EAAAA,EAAAA,IADA,wKA3CgC,IAqD/BtU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcsQ,OACdtT,EAAAA,EAAAA,IADA,qMAS4B,UAAxBtU,EAAMsX,OAAOL,SACf3C,EAAAA,EAAAA,IADE,oFAGiBtU,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,4BADtD,IAIQ,SAAxB3vD,EAAMsX,OAAOL,SACf3C,EAAAA,EAAAA,IADE,wHAGmBtU,SAAAA,GAAD,OACd+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,qCADpD,IAEK3vD,SAAAA,GAAD,OAClB+O,GAAqB,UACd/O,EADa,CACNkP,aAAcygD,KAC1B,yCAHgB,IAOK,aAA3B3vD,EAAMsX,OAAO8oB,YACf9rB,EAAAA,EAAAA,IADE,8EAlF4B,IAkGvB28C,GAA6Bn9C,EAAAA,GAAAA,KAAHo9C,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAClClxD,SAAAA,GAAD,YACyB,UAAzB,SAAAA,EAAMsX,aAAN,IAAcL,UACd3C,EAAAA,EAAAA,IADA,4EAGmBtU,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,qCADtD,GALiB,IAmB1BwB,GAA8Br9C,EAAAA,GAAAA,KAAHs9C,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,OAAAA,SACnCpxD,SAAAA,GAAD,cACA,CAAC,UAAW,UAAUoF,UAAS,SAAApF,EAAMsX,aAAN,IAAcL,SAAU,MAAvD,SACAjX,EAAMsX,aADN,EACA+5C,EAAcxuD,QACdyR,EAAAA,EAAAA,IAFA,uEAIctU,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,mCAD3D,GANuB,IAUnC3vD,SAAAA,GAAD,YACyB,WAAzB,SAAAA,EAAMsX,aAAN,IAAcL,UACd3C,EAAAA,EAAAA,IADA,uEAGctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,kBAA7E,GAduB,IAoB3B2B,GAA6Bx9C,EAAAA,GAAAA,IAAHy9C,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,yLAkB1BC,GAAqB19C,EAAAA,GAAAA,IAAH29C,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gFAAAA,OAAAA,SAI1BzxD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcsQ,OACdtT,EAAAA,EAAAA,IADA,kHAM+B,aAA3BtU,EAAMsX,OAAO8oB,YACf9rB,EAAAA,EAAAA,IADE,mLAXuB,IAqB1BtU,SAAAA,GAAD,YAC4B,cAA5B,SAAAA,EAAMsX,aAAN,IAAc8oB,aACd9rB,EAAAA,EAAAA,IADA,mFAtB2B,IAqClBo9C,GAA0B59C,EAAAA,GAAAA,IAAH69C,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gEAAAA,yCAAAA,eAAAA,kCAAAA,OAAAA,OAAAA,SAGpB3xD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,kBAA7E,IAEE3vD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,sBAA7E,IACJ3vD,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,+BAD3D,IAGN3vD,SAAAA,GAAD,YACyB,aAAzB,SAAAA,EAAMsX,aAAN,IAAcL,UACd3C,EAAAA,EAAAA,IADA,uEAGctU,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,iCAD3D,GAbmB,IAiB/B3vD,SAAAA,GAAD,YACyB,WAAzB,SAAAA,EAAMsX,aAAN,IAAcL,UACd3C,EAAAA,EAAAA,IADA,uEAGctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,kBAA7E,GArBmB,IAwB/B3vD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcsQ,OACdtT,EAAAA,EAAAA,IADA,4EAzBgC,IA0CvBs9C,GAAgC99C,EAAAA,GAAAA,IAAH+9C,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,kBAAAA,eAAAA,6BAAAA,OAAAA,OAAAA,SAC1B7xD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,gBAA7E,IACH3vD,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,+BAD3D,IAGN3vD,SAAAA,GAAD,YACyB,aAAzB,SAAAA,EAAMsX,aAAN,IAAcL,UACd3C,EAAAA,EAAAA,IADA,uEAGctU,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,iCAD3D,GATyB,IAarC3vD,SAAAA,GAAD,YACyB,WAAzB,SAAAA,EAAMsX,aAAN,IAAcL,UACd3C,EAAAA,EAAAA,IADA,uEAGctU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAcygD,KAAmB,kBAA7E,GAjByB,IAoBrC3vD,SAAAA,GAAD,eAC6B,cAA5B,SAAAA,EAAMsX,aAAN,IAAc8oB,aAAd,SAA0CpgC,EAAMsX,aAAhD,EAA0Cw6C,EAAclqC,QACzDtT,EAAAA,EAAAA,IADC,KAAD,yEArBsC,I,mPCvhB1C,SAASy9C,GAAiB/xD,GACxB,MAUIA,EATF4S,UAAAA,OADF,MACc,UADd,IAUI5S,EARFH,MAAAA,OAFF,MAEU,CAAC,EAFX,EAIE4C,EAMEzC,EANFyC,SACA+Q,EAKExT,EALFwT,QALF,EAUIxT,EAJFiX,OAAAA,OANF,MAMW,UANX,IAUIjX,EAHFgyD,YAAAA,OAPF,WAUIhyD,EAFFogC,UAAAA,OARF,MAQc,aARd,EASKvtB,GATL,OAUI7S,EAVJ,IAYMiyD,GAAU5+C,EAAAA,EAAAA,QAAuB,MACvC,GAAsD7O,EAAAA,EAAAA,UAAS,GAA/D,eAAO0tD,EAAP,KAA4BC,EAA5B,KACMC,EAAmBzuD,EAAAA,SAAAA,QAAuBlB,GAAUgD,QAAQ4sD,SAAAA,GAAD,QAASA,CAAT,IAC3DC,EAAYF,EAAiBptD,OAAS,EACtC46C,EAAc,CAAChtC,EAAcA,EAAf,IAA4BwtB,EAAe4xB,EAAiBp/C,EAAnB,OAAqC,MAC/FnN,OAAOC,SACPC,KAAK,KACLC,OAgBH,OAdA2N,EAAAA,EAAAA,YAAU,kBAGV,WACE,IAAMg/C,EAAUN,EAAQz+C,QACxB,GAAI++C,GAAWA,EAAQC,UAAW,CAChC,IAAM7zD,GAAU4zD,EAAQC,UAA0BjnC,aAAe,GAAK,EACtE,GAAI5sB,IAAUuzD,GAAuBnsC,KAAK0sC,IAAI9zD,EAAQuzD,IAAwB,EAC5E,OAEFC,EAAuBxzD,EACxB,CACF,CAZe+zD,EAAN,KAeR5/C,EAAAA,EAAAA,KAAC09C,IAAD,QAAgBtvD,UAAW0+C,EAAa//C,MAAOA,GAAWgT,EAA1D,CAAsEE,IAAKk/C,EAA3ExvD,SACGkB,EAAAA,SAAAA,IAAmBlB,GAAU,SAAC0d,EAAYhT,GACzC,IAAMuC,GAAa,QACjBijD,WAAY,IAAGxlD,EAAQ,GACvByF,UAAAA,EACAo/C,YAAAA,EACA5xB,UAAAA,GACGjgB,EAAMngB,OAyBX,OAvBImN,IAAUmlD,GAA2B,aAAdlyB,IACzB1wB,EAAWkjD,UAAe,IAAMN,EAAhC,IACA5iD,EAAWmjD,mBAAqB9sC,KAAKC,MAAMksC,EAAsBI,EAAY,IAG3EN,GAA6B,aAAd5xB,IACjB1wB,EAAWkjD,UAAe,IAAMR,EAAiBptD,OAAjD,IACA0K,EAAWmjD,kBAAoB,GAGlB,UAAX57C,GAAsB9J,IAAWqG,EAAqB,IACxD9D,EAAWxO,UAAe0R,EAA1B,cACAlD,EAAWkhD,WAAY,GAEpBzwC,EAAMngB,MAAMiX,SAEbvH,EAAWuH,OADT9J,IAAUqG,EACQyD,EACX9J,EAASqG,EACE,SAEA,QAGjB7P,EAAAA,aAAmBwc,EAAOzQ,EA/BlC,MAmCN,CAMAqiD,GAAwBe,KC9DV,SAAc9yD,GAC3B,MAcIA,EAbF4S,UAAAA,OADF,MACc,UADd,EAEE1R,EAYElB,EAZFkB,UACArB,EAWEG,EAXFH,MACAoX,EAUEjX,EAVFiX,OACA27C,EASE5yD,EATF4yD,UACA/vD,EAQE7C,EARF6C,KACAgwD,EAOE7yD,EAPF6yD,kBACAF,EAME3yD,EANF2yD,WACAhwD,EAKE3C,EALF2C,MACAkwC,EAIE7yC,EAJF6yC,YACAmf,EAGEhyD,EAHFgyD,YACA5xB,EAEEpgC,EAFFogC,UACG4Q,GAbL,OAcIhxC,EAdJ,IAeM4/C,EAAc,CACfhtC,EADe,QAEfA,EAFe,SAEGqE,EACrB/V,EACA2B,EAAU+P,EAAN,UAA2B,MAE9BnN,OAAOC,SACPC,KAAK,KACLC,OACGmtD,GAA+B,UAAKlzD,GACpCmzD,EAAkC,CAAC,EACrCJ,IACFG,EAAcp0D,MAAQi0D,GAEpBC,IACFE,EAAcE,YAAcJ,EACxBb,IACFgB,EAAiBxgC,aAAezM,KAAK0sC,IAAII,KAG7C,IAAIK,EAAW,KAkBf,OAhBEA,EADElB,GACSl/C,EAAAA,EAAAA,KAACm+C,GAAD,CAA4B35C,OAAQ,CAAEL,OAAAA,GAAU/V,UAAc0R,EAAL,SAC3D/P,GAAwB,kBAATA,GAEtBiQ,EAAAA,EAAAA,KAACq+C,GAAD,CAA6B75C,OAAQ,CAAEL,OAAAA,EAAQpU,OAAQA,GAAQ3B,UAAc0R,EAAL,QAAxEnQ,SACGI,IAGe,WAAXoU,GAAkC,UAAXA,GACrBnE,EAAAA,EAAAA,KAACw+C,GAAD,CAA4Bl7C,GAAe,WAAXa,EAAsBk8C,GAAAA,EAAQ7wC,GAAAA,KAGvExP,EAAAA,EAAAA,KAACq+C,GAAD,CAA6B75C,OAAQ,CAAEL,OAAAA,EAAQpU,OAAQA,GAAQ3B,UAAc0R,EAAL,QAAxEnQ,SACGkwD,KAKLz7C,EAAAA,EAAAA,MAACu5C,IAAD,UACMzf,EADN,CAEE15B,OAAQ,CACNL,OAAAA,EACAmpB,UAAAA,GAEFl/B,UAAW0+C,EACX//C,MAAOkzD,EAPTtwD,SAAAA,EASEqQ,EAAAA,EAAAA,KAAC49C,GAAD,CACExvD,UAAc0R,EAAL,aACT0E,OAAQ,CAAE8oB,UAAAA,EAAWxY,MAAOoqC,EAAa/6C,OAAQA,GACjDpX,MAAOmzD,EAHTvwD,UAKEqQ,EAAAA,EAAAA,KAAC69C,GAAD,CACEr5C,OAAQ,CACN8oB,UAAAA,EACAxY,MAAOoqC,EACP/6C,OAAQA,EACR25C,UAAW5wD,EAAM4wD,WAEnB/wD,MAAO,CAAE2yB,aAAc,aAG3B1f,EAAAA,EAAAA,KAAC+9C,GAAD,CAAoBv5C,OAAQ,CAAEsQ,MAAOoqC,GAAe9wD,UAAc0R,EAAL,aAA7DnQ,UACEqQ,EAAAA,EAAAA,KAACi+C,GAAD,CACEz5C,OAAQ,CACN8oB,UAAAA,EACAxY,MAAOoqC,EACP/6C,OAAQA,EACRpU,OAAQA,GAEV3B,UAAW,CAAI0R,EAAJ,gBAA8B/P,GAAQ,WAAW4C,OAAOC,SAASC,KAAK,KAAKC,OAPxFnD,SASGywD,OAGLh8C,EAAAA,EAAAA,MAACs6C,GAAD,CACEl6C,OAAQ,CACN8oB,UAAAA,EACAxY,MAAOoqC,GAET9wD,UAAc0R,EAAL,aALXnQ,SAAAA,EAOEqQ,EAAAA,EAAAA,KAAC4+C,GAAD,CACEp6C,OAAQ,CACNsQ,MAAOoqC,EACP/6C,OAAQA,GAEV/V,UAAc0R,EAAL,cALXnQ,SAOGE,IAEFkwC,IACC//B,EAAAA,EAAAA,KAAC8+C,GAAD,CACEt6C,OAAQ,CACN8oB,UAAAA,EACAxY,MAAOoqC,EACP/6C,OAAQA,GAEV/V,UAAc0R,EAAL,oBANXnQ,SAQGowC,UAMZ,ED3DD,I,4DEzFA,GFyFA,GG3FaugB,GAAmB,CAC9Bz5C,cAAe,OACf05C,sBAAuB,UACvBC,8BAA+B,UAC/BC,yCAA0C,UAC1CC,mCAAoC,mEACpCC,yCACE,uGACFC,+CAAgD,UAChDC,2BAA4B,mEAC5BC,iCAAkC,UAClCC,iCAAkC,wEAClCC,kCAAmC,sBACnCC,wBAAyB,OACzBC,qBAAsB,sBACtBC,wBAAyB,qCACzBC,8BAA+B,QAgBpBC,GAAkBrgD,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,iFAAAA,iEAAAA,6EAAAA,OAAAA,SAAAA,SAIL/T,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,wBADjD,IAINpzD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,gBAA9E,IAIVpzD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAciB,YACdjE,EAAAA,EAAAA,IADA,wGAbwB,IAqBvBtU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAc88C,SACd9/C,EAAAA,EAAAA,IADA,+EAtBwB,IA4BrBtU,SAAAA,GAAD,aACF,SAAAA,EAAMsX,aAAN,IAAc+R,YACd/U,EAAAA,EAAAA,IADA,sHA7BwB,IA+Cf+/C,GAAiBvgD,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gEAAAA,+BAAAA,SAAAA,SAGJtf,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,gCADjD,IAGjBpzD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAciB,YACdjE,EAAAA,EAAAA,IADA,qFAPuB,IActBtU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAc+R,YACd/U,EAAAA,EAAAA,IADA,gGAfuB,IAgCdggD,GAAoBxgD,EAAAA,GAAAA,IAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,4JAAAA,0BAAAA,0BAAAA,uDAAAA,OAAAA,SACzB5f,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAciB,YACdjE,EAAAA,EAAAA,IADA,4GAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UACd/O,EADa,CACNkP,aAAckkD,KAC1B,2CAHgB,IAKLpzD,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,qCADvD,GAVQ,IAqBbpzD,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,6BADvD,IAEOpzD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,mCADjD,IAECpzD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,mCADjD,IAIjBpzD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAciB,YACdjE,EAAAA,EAAAA,IADA,iJAGyBtU,SAAAA,GAAD,OAClB+O,GAAqB,UACd/O,EADa,CACNkP,aAAckkD,KAC1B,iDAHgB,IAMLpzD,SAAAA,GAAD,OACZ+O,GAAqB,UACd/O,EADa,CACNkP,aAAckkD,KAC1B,2CAHU,GAvCQ,IA8CzBpzD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAc+R,YACd/U,EAAAA,EAAAA,IADA,4EA/C0B,IA+DjBigD,GAAqBzgD,EAAAA,GAAAA,IAAHgM,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,oCAAAA,iDAAAA,eAAAA,oIAAAA,SAC1B9f,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAciB,YACdjE,EAAAA,EAAAA,IADA,oIAEIggD,GACAA,GACAA,GANuB,IAWft0D,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,gBAA9E,IAEQpzD,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,oCADjD,IAEVpzD,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,0BAA9E,IAMNpzD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcnQ,QACdmN,EAAAA,EAAAA,IADA,kFAtB2B,IAqClBkgD,GAAiB1gD,EAAAA,GAAAA,IAAHkM,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8HAAAA,sBAAAA,8DAAAA,SAMFhgB,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,gCADjD,IAELpzD,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,0BADvD,IAKbpzD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAc+R,YACd/U,EAAAA,EAAAA,IADA,2EAduB,IA+BdmgD,GAAkB3gD,EAAAA,GAAAA,IAAH0vB,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,0QAAAA,aAAAA,OAAAA,SAAAA,SAWdxjC,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAckkD,KAAoB,uBAA9E,IAERpzD,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAc+R,YACd/U,EAAAA,EAAAA,IADA,0KAdwB,IAuBvBtU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAco9C,WACdpgD,EAAAA,EAAAA,IADA,yEAxBwB,IA+BvBtU,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAciB,YACdjE,EAAAA,EAAAA,IADA,qFAhCwB,ICvOb,SAASqgD,GAAK30D,GAC3B,IAAQ4S,EAAsE5S,EAAtE4S,UAAW7R,EAA2Df,EAA3De,KAAMslB,EAAqDrmB,EAArDqmB,KAAMkL,EAA+CvxB,EAA/CuxB,IAAKlI,EAA0CrpB,EAA1CqpB,SAAU+qC,EAAgCp0D,EAAhCo0D,MAAOQ,EAAyB50D,EAAzB40D,WAAYr8C,EAAavY,EAAbuY,SACjE,OACEzF,EAAAA,EAAAA,KAAC0hD,GAAD,CAAgBl9C,OAAQ,CAAE+R,SAAAA,GAAYnoB,UAAc0R,EAAL,QAA/CnQ,SACG1B,EAAKM,KAAI,SAACmpC,EAAKlpC,GACd,IAAMuzD,EAAYvzD,EAAM+kB,EAAOkL,EAC/B,OACEra,EAAAA,EAAAA,MAACu9C,GAAD,CAEE50D,OAAK,WACFwpB,EAAW,MAAQ,OAAYmhB,EAAhC,KAEFlzB,OAAQ,CAAE+R,SAAAA,EAAUqrC,QAASN,IAAmB,IAAVA,IAAmBA,EAAMS,GAAYt8C,SAAAA,GAC3ErX,UAAW,CAAI0R,EAAJ,QAAsBwhD,IAAmB,IAAVA,IAAmBA,EAAMS,GAAa,WAAa,MAC1FpvD,OAAOC,SACPC,KAAK,KACLC,OATLnD,SAAAA,EAWa,IAAV2xD,GAAkBQ,GAAcA,EAAWC,IACjC,IAAVT,GAAkBA,GAASA,EAAMS,IAAcD,GAAcA,EAAWC,EAAWT,EAAMS,MAXrFvzD,EAJV,KAqBN,C,8JCZc,SAAS8J,GAAOpL,GAAoB,MACjD,EAgBIA,EAfF4S,UAAAA,OADF,MACc,WADd,IAgBI5S,EAdFG,MAAAA,OAFF,MAEU,EAFV,IAgBIH,EAbFuxB,IAAAA,OAHF,MAGQ,EAHR,IAgBIvxB,EAZFgoB,IAAAA,OAJF,MAIQ,IAJR,IAgBIhoB,EAXF80D,KAAAA,OALF,WAgBI90D,EAVFqmB,KAAAA,OANF,MAMS,EANT,IAgBIrmB,EATFuY,SAAAA,OAPF,WAgBIvY,EARF+0D,SAAAA,OARF,WAgBI/0D,EAPFg1D,QAAAA,OATF,SAUE9zD,EAMElB,EANFkB,UACAkzD,EAKEp0D,EALFo0D,MACAa,EAIEj1D,EAJFi1D,YACA5rC,EAGErpB,EAHFqpB,SACAjpB,EAEEJ,EAFFI,SACG4hB,GAfL,OAgBIhiB,EAhBJ,IAkBMk1D,EAAMvxD,EAAAA,OAA6B,MACnCwxD,EAASxxD,EAAAA,OAA6B,MACtCyxD,EAAWzxD,EAAAA,SACX0xD,EAAS1xD,EAAAA,SACT2xD,EAAW3xD,EAAAA,SACX4xD,EAAW5xD,EAAAA,SACX6xD,EAAgB7xD,EAAAA,SAChB8xD,EAAO9xD,EAAAA,SACb,GAAgCa,EAAAA,EAAAA,UAAS4vB,MAAMkW,QAAQnqC,GAASA,EAAQ,CAACA,IAAzE,eAAOu1D,EAAP,KAAiBC,EAAjB,KAiDA,SAAS3nB,EAAaxD,GACpBmrB,GAAY,QAAInrB,IAChBpqC,GAAYA,EAA6B,IAApBs1D,EAAS1wD,OAAewlC,EAAI,GAAKA,EACvD,CAED,SAASorB,EAAgBj3D,GACvB,IAAMk3D,GAAS7tC,EAAMuJ,GAAOlL,EACxBV,EAAU,EACVwvC,EAAO3hD,UACTmS,EAAWhnB,EAAQw2D,EAAO3hD,QAAQ6V,EAAW,eAAiB,eAAkB,KAG9E1D,GAAW,IACbA,EAAU,GAERA,GAAW,MACbA,EAAU,KAGZ,IAAMuO,EAAM2hC,GAASlwC,EAAU,KAAO,GAGtC,OAFiBI,KAAK+vC,MAAM5hC,GACJ7N,EAAOkL,CAEhC,CAuBD,SAASwkC,EAAW/Y,GAClB,GAAKyY,EAAKjiD,QAAV,CAGA,IAAMwiD,GAAO,QAAIN,GACXO,EAAeL,EAAgB5Y,EAAI3zB,EAAW,UAAY,WAAagsC,EAAO7hD,QAAW+hD,EAAS/hD,SACxG,GAAIyiD,IAAiBX,EAAS9hD,QAAS,CACrCwiD,EAAKZ,EAAS5hD,SAAYyiD,EAC1B,IAAMC,EAAUlqC,EAASgqC,GACrBd,EAAI1hD,UACN0hD,EAAI1hD,QAAQ3T,MAAMwpB,EAAW,MAAQ,QAAU6sC,EAAQhuD,KACvDgtD,EAAI1hD,QAAQ3T,MAAMwpB,EAAW,SAAW,SAAW6sC,EAAQnrC,OAE7DijB,EAAagoB,GACbV,EAAS9hD,QAAUyiD,CACpB,CAZA,CAaF,CACD,SAASE,IACPV,EAAKjiD,aAAU/M,EACfhG,OAAOkS,oBAAoB,YAAaojD,GAAY,GACpDt1D,OAAOkS,oBAAoB,UAAWwjD,GAAW,EAClD,EAlHD5iD,EAAAA,EAAAA,YAAU,kBAAMoiD,EAAYvhC,MAAMkW,QAAQnqC,GAASA,EAAQ,CAACA,GAAlD,GAA2D,CAACA,IAEtE6hB,EAAMK,QAAW0C,SAAAA,GACf,QAAqBte,IAAjBgvD,EAAKjiD,QAAT,CAGA,IAAM4iD,EAAajB,EAAO3hD,QAASxD,wBAGnCg+B,EAGF,SAAuBxD,GACrB,IAAKpW,MAAMkW,QAAQnqC,GACjB,OAAOi0B,MAAMkW,QAAQE,GAAOA,EAAM,CAACA,GAErC,IAAM6rB,GAAU,QAAIX,GACdY,EAAOD,EAAQ,GACfE,EAAOF,EAAQ,IAChBC,EAAOC,GAAQD,EAAO9rB,GAAS8rB,EAAOC,GAAQD,EAAO9rB,KACxD6rB,EAAQ,GAAK7rB,IAEV8rB,EAAOC,GAAQA,EAAO/rB,GAAS8rB,EAAOC,GAAQA,EAAO/rB,KACxD6rB,EAAQ,GAAK7rB,GAGf,GAAI8rB,EAAO9rB,GAAO+rB,EAAO/rB,EAAK,CAC5B,IAAMgsB,EAAOD,GAAQD,EAAOC,GAAQ,EAChCC,GAAQhsB,IACV6rB,EAAQ,GAAK7rB,GAEXgsB,EAAOhsB,IACT6rB,EAAQ,GAAK7rB,EAEhB,CACD,GAAI+rB,EAAO/rB,GAAO8rB,EAAO9rB,EAAK,CAC5B,IAAMgsB,EAAOF,GAAQC,EAAOD,GAAQ,EAChCE,GAAQhsB,IACV6rB,EAAQ,GAAK7rB,GAEXgsB,EAAOhsB,IACT6rB,EAAQ,GAAK7rB,EAEhB,CACD,OAAO6rB,CACR,CArCcI,CADAb,EAAgB7wC,EAAIsE,EAAW,UAAY,WAAa+sC,EAAW/sC,EAAW,IAAM,OAFhG,CAHH,EA4HA,SAASqtC,EAAkBV,GACzB,OAAuB,KAAdA,EAAOzkC,IAAevJ,EAAMuJ,EACtC,CAED,SAASvF,EAASwe,GAChBA,EAAMA,GAAOkrB,EACb,IAAMQ,EAAU,CAAEhuD,KAAM,KAAM6iB,MAAO,QACrC,GAAKqJ,MAAMkW,QAAQnqC,GAEZ,CACL,IAAMw2D,EAAYnsB,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAC3CosB,EAAapsB,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAClD0rB,EAAQhuD,KAAUwuD,EAAkBC,GAApC,IACAT,EAAQnrC,MAAW,IAAM2rC,EAAkBE,GAA3C,GACD,MANCV,EAAQnrC,MAAW,IAAM2rC,EAAkBlsB,EAAI,IAA/C,IAOF,OAAO0rB,CACR,CAED,SAASW,EAAcrsB,GACrB,OAAI4pB,IAAmB,IAAVA,GAAkBA,EAAM5pB,IAAQ4pB,EAAM5pB,GAAKtlC,MAC/CkvD,EAAM5pB,GAAKtlC,MACTkvD,IAAmB,IAAVA,GAAkBA,EAAM5pB,IAA8B,kBAAf4pB,EAAM5pB,GACxD4pB,EAAM5pB,GACJyqB,GAAsC,oBAAhBA,GAA8BA,EAAYzqB,GAClEyqB,EAAYzqB,GAEdA,CACR,CAED,IAAM0rB,EAAUlqC,IAIhB,OAHIzT,UACKyJ,EAAMK,SAGbnL,EAAAA,EAAAA,MAACi9C,IAAD,QACEphD,IAAKoiD,EACLj0D,UAAW,CACT0R,EACA1R,EACAqX,EAAW,WAAa,KACxB67C,EAAWxhD,EAAN,cAA+B,KACpCyW,EAAczW,EAAN,YAA6B,MAEpCnN,OAAOC,SACPC,KAAK,KACLC,QACCoc,EAZN,CAaE1K,OAAQ,CACNiB,SAAAA,EACA67C,QAASA,EACT/qC,SAAAA,GAhBJ5mB,SAAAA,EAmBEqQ,EAAAA,EAAAA,KAACuhD,GAAD,CACE/8C,OAAQ,CAAEiB,SAAAA,EAAU8Q,SAAAA,GACpBtW,IAAKmiD,EACLh0D,UAAc0R,EAAL,OACT/S,OAAK,wBACFwpB,EAAW,MAAQ,OAAS6sC,EAAQhuD,OADlC,UAEFmhB,EAAW,SAAW,QAAU6sC,EAAQnrC,OAFtC,IAGc,IAAbgqC,EAAoB,CAAEtsD,gBAAiBssD,GAAY,WAAc,CAAC,MAGzE,QAAIW,GAAUr0D,KAAI,SAACe,EAAMd,GACxB,IAAMw1D,EAAeJ,EAAkBt0D,GACvC,OACE0Q,EAAAA,EAAAA,KAACwhD,GAAD,CACEh9C,OAAQ,CAAEiB,SAAAA,EAAU8Q,SAAAA,GAEpBnoB,UAAc0R,EAAL,UACT2D,YAAcwO,SAAAA,GAAD,OA5HvB,SAAyBzjB,EAAa07C,GACpC,IAAIzkC,EAAJ,CAGA68C,EAAS5hD,QAAUlS,EACnBm0D,EAAKjiD,SAAU,EACf6hD,EAAO7hD,QAAUwpC,EAAI3zB,EAAW,UAAY,WACxC6rC,EAAI1hD,UACN+hD,EAAS/hD,QAAU0hD,EAAI1hD,QAAQ6V,EAAW,eAAiB,eAC3DmsC,EAAchiD,QAAU0hD,EAAI1hD,QAAQ6V,EAAW,YAAc,eAE/D,IAAM2sC,GAAO,QAAIN,GACbthC,MAAMkW,QAAQnqC,KAChBo1D,EAAS/hD,QACe,IAArB4hD,EAAS5hD,SAAiBwiD,EAAK,GAAKA,EAAK,IAA6B,IAArBZ,EAAS5hD,SAAiBwiD,EAAK,GAAKA,EAAK,GACvFT,EAAS/hD,QAAWgiD,EAAchiD,QAClCgiD,EAAchiD,SAEtB/S,OAAOgS,iBAAiB,YAAasjD,GACrCt1D,OAAOgS,iBAAiB,UAAW0jD,EAhBlC,CAiBF,CAwG+BY,CAAgBz1D,EAAKyjB,EAA9B,EACbllB,OAAK,WAAKwpB,EAAW,MAAQ,OAAYytC,EAAhC,KALXr0D,UAOIuyD,IAAuB,IAAZA,KACXliD,EAAAA,EAAAA,KAACyhD,GAAD,CACEj9C,OAAQ,CAAEiB,SAAAA,EAAUpR,KAAM6tD,GAC1B9zD,UAAW,CAAI0R,EAAJ,WAAyBoiD,EAAU,OAAS,MAAMvvD,OAAOC,SAASC,KAAK,KAAKC,OAFzFnD,SAIGo0D,EAAcz0D,MAVdd,EALV,IAqBAwzD,IACChiD,EAAAA,EAAAA,KAAC6hD,GAAD,CACEp8C,SAAUA,EACV3F,UAAWA,EACX2e,IAAKA,EACLlL,KAAMA,EACN+tC,MAAOA,EACP/qC,WAAYA,EACZtoB,KAtGU,WAIhB,IAHA,IAAM80D,GAAS7tC,EAAMuJ,GAAOlL,EACtB2wC,EAAa,IAAM3wC,GAAS2B,EAAMuJ,GAClCtG,EAAS,CAAC,GACPlmB,EAAI,EAAGA,EAAI8wD,EAAO9wD,GAAK,EAC9BkmB,EAAO1lB,KAAKR,EAAIiyD,GAGlB,OADA/rC,EAAO1lB,KAAK,KACL0lB,CART,CAsGcgsC,GACNrC,WAAY,SAACC,EAAWqC,GACtB,QADoC,IAAdA,IAAAA,EAAO,CAAC,IACzBA,EACH,OAAOhgD,EAAAA,EAAAA,MAAAA,MAAAA,CAAAzU,SAAAA,CAAAA,IAAOo0D,EAAchC,GAArB,OAET,IAAM7yC,EAAwB,kBAATk1C,EAAoBA,EAAO,CAAC,EAEjD,cADOl1C,EAAM9c,OACNgS,EAAAA,EAAAA,MAAAA,OAAAA,EAAAA,EAAAA,GAAAA,CAAAA,EAAS8K,EAAT,CAAAvf,SAAAA,CAAAA,IAAkBo0D,EAAchC,GAAhC,OACR,OAKV,CC5RM,I,oCAAMsC,GAAmB,CAC9Bx9C,cAAe,OACfE,cAAe,OACfu9C,uBAAwB,OACxBC,qBAAsB,OACtBC,8BAA+B,UAC/BC,2BAA4B,OAC5BC,6BAA8B,wBAC9BC,0BAA2B,OAC3BC,+BAAgC,OAChCC,qCAAsC,UACtCC,oCAAqC,UACrCC,0BAA2B,OAC3BC,yBAA0B,OAC1BC,gCAAiC,MACjCC,mCAAoC,OACpCC,kCAAmC,uBACnCC,kCAAmC,0BACnCC,oCAAqC,wBACrCC,4BAA6B,OAC7BC,0BAA2B,OAC3BC,+BAAgC,OAChCC,8BAA+B,OAC/BC,oCAAqC,OACrCC,4BAA6B,OAC7BC,0BAA2B,OAC3BC,+BAAgC,OAChCC,8BAA+B,OAC/BC,oCAAqC,QAU1BC,GAAkBhlD,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACvB/T,SAAAA,GAED,OAAOsU,EAAAA,EAAAA,IAAP,+9DAEevF,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,iBAOjEpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,0BACtEpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,wBAGzDpoD,GAAqB,UAClC/O,EADiC,CAC1BkP,aAAcioD,KAC1B,iCAIWpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,iBAC/DpoD,GAAqB,UAC/B/O,EAD8B,CACvBkP,aAAcioD,KAC1B,8BAIEpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,gCAU5DpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,6BAC7DpoD,GAAqB,UAC7B/O,EAD4B,CACrBkP,aAAcioD,KAC1B,kCAIkBpoD,GAAqB,UAClC/O,EADiC,CAC1BkP,aAAcioD,KAC1B,wCAYOpoD,GAAqB,UACvB/O,EADsB,CACfkP,aAAcioD,KAC1B,uCAUQpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,6BACpEpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,4BAC3DpoD,GAAqB,UAC/B/O,EAD8B,CACvBkP,aAAcioD,KAC1B,mCAGkBpoD,GAAqB,UAClC/O,EADiC,CAC1BkP,aAAcioD,KAC1B,sCAGEpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,qCAQjEpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,qCAEnEpoD,GAAqB,UAChB/O,EADe,CACRkP,aAAcioD,KAC1B,wCAKH,MAALn3D,OAAAA,EAAAA,EAAOuY,YACTjE,EAAAA,EAAAA,IADE,8DAKgB,WAAX,MAALtU,OAAAA,EAAAA,EAAO2G,QACT2N,EAAAA,EAAAA,IADE,2eAGevF,GAAqB,UAC3B/O,EAD0B,CACnBkP,aAAcioD,KAC1B,+BAEQpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,6BAGjEpoD,GAAqB,UACxB/O,EADuB,CAChBkP,aAAcioD,KAC1B,kCAEOpoD,GAAqB,UACvB/O,EADsB,CACfkP,aAAcioD,KAC1B,iCAMapoD,GAAqB,UAC7B/O,EAD4B,CACrBkP,aAAcioD,KAC1B,uCAEWpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,kBAQtE,WAAX,MAALn3D,OAAAA,EAAAA,EAAO2G,QACP2N,EAAAA,EAAAA,IADA,2cAEevF,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,iBAEjEpoD,GAAqB,UAC3B/O,EAD0B,CACnBkP,aAAcioD,KAC1B,+BAEQpoD,GAAqB,UAAK/O,EAAN,CAAakP,aAAcioD,KAAoB,6BAGjEpoD,GAAqB,UACxB/O,EADuB,CAChBkP,aAAcioD,KAC1B,kCAEOpoD,GAAqB,UACvB/O,EADsB,CACfkP,aAAcioD,KAC1B,iCAKapoD,GAAqB,UAC7B/O,EAD4B,CACrBkP,aAAcioD,KAC1B,wCAlKE,oBAFY,I,iBCnC5B,GAAexzD,EAAAA,YAAgD,SAAC3D,EAAO+S,GACrE,MAA6C/S,EAArC4S,UAAAA,OAAR,MAAoB,WAApB,EAAmCoP,GAAnC,OAA6ChiB,EAA7C,IACA,OAAO8S,EAAAA,EAAAA,KAACgmD,IAAD,QAAiB1iD,GAAI2yB,GAAen2B,UAAWA,IAA/C,UAAmEoP,EAAnE,CAA0EriB,KAAM,aAAhF,CAA8FoT,IAAKA,IAF7F,I,sBCHFgmD,GAAwB,CACnCC,iBAAkB,UAClBC,2BAA4B,WAC5BC,2BAA4B,UAC5BC,uBAAwB,cACxBC,qBAAsB,OACtBC,6BAA8B,UAC9BC,kCAAmC,UACnCC,yBAA0B,UAC1BC,0BAA2B,WAmChBC,GAAiB3lD,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uQAAAA,+CAAAA,iLAAAA,4JAAAA,+FAAAA,kJAAAA,kIAAAA,2DAAAA,SAYhB/T,SAAAA,GAAD,OACA+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,6BADxE,IAIiB/4D,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,yBADtD,IAUG/4D,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,gCADtD,IAQG/4D,SAAAA,GAAD,OAClB+O,GAAqB,UACd/O,EADa,CACNkP,aAAc6pD,KAC1B,oCAHgB,IASC/4D,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,+BADtD,IASD/4D,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,2BADtD,IAOC/4D,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,2BADtD,IAMvB/4D,SAAAA,GAAD,aACK,MAALA,GAAA,OAAAA,EAAAA,EAAOsX,aAAPtX,EAAA,EAAe0/B,YACfprB,EAAAA,EAAAA,IADA,wOAOWtU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,mBAAnF,GAzEa,IAmFdW,IAAoB5lD,EAAAA,EAAAA,IAAOuD,GAAPvD,CAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OACjBwlD,GAAsB7lD,EAAAA,GAAAA,MAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OACnBulD,GAAY9lD,EAAAA,GAAAA,GAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAGTu6C,GAAgB/lD,EAAAA,GAAAA,GAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mBAAAA,QAAAA,SACTxf,SAAAA,GAAD,mBAAWA,GAAX,OAAC,EAAUA,EAAOsX,aAAlB,EAAWC,EAAes5B,KADhB,IAErB7wC,SAAAA,GAAD,eACK,MAALA,GAAA,OAAAA,EAAAA,EAAOsX,aAAPtX,EAAA,EAAeqlB,SACW,WAApB,MAALrlB,GAAA,OAAAA,EAAAA,EAAOsX,aAAPtX,EAAA,EAAeqlB,QACZ/Q,EAAAA,EAAAA,IADH,krBAiBYtU,SAAAA,GAAD,OACA+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,4BADxE,KAMRzkD,EAAAA,EAAAA,IAvBH,4gBAJqB,IA+CbwlD,GAAuBhmD,EAAAA,GAAAA,KAAHqN,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAC5BnhB,SAAAA,GAAD,aACK,MAALA,GAAA,OAAAA,EAAAA,EAAOsX,aAAPtX,EAAA,EAAe+5D,YACfzlD,EAAAA,EAAAA,IADA,sKAF6B,IAapB0lD,GAAmBlmD,EAAAA,GAAAA,IAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mBAAAA,8BAAAA,SACZxrC,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,6BAD5D,IAGX/4D,SAAAA,GAAD,aACA,SAAAA,EAAMsX,aAAN,IAAcooB,YACdprB,EAAAA,EAAAA,IADA,qHAIStU,SAAAA,GAAD,OAAW+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc6pD,KAAyB,mBAAnF,GATiB,IC7L7B,SAASkB,GAAiBl5D,EAA8BmzB,QAAS,IAAvCnzB,IAAAA,EAA0B,SAAa,IAATmzB,IAAAA,EAAM,GAE5D,IADA,IAAImW,EAA4B,GACvBtlC,EAAI,EAAGA,EAAIhE,EAAKiE,OAAQD,GAAK,EAChChE,EAAKgE,GAAGtC,WACV4nC,EAASA,EAAOz6B,OAAO7O,EAAKgE,GAAGtC,UAAY,KAM/C,OAHI4nC,GAAUA,EAAOrlC,OAAS,IAC5BkvB,EAAM+lC,GAAc5vB,EAAQnW,EAAM,IAE7BA,CACR,CAMD,SAASgmC,GAAiBn5D,EAA8Bof,QAAY,IAA1Cpf,IAAAA,EAA0B,SAAgB,IAAZof,IAAAA,EAAQ,IAE9D,IADA,IAAIkqB,EAA4B,GACvBtlC,EAAI,EAAGA,EAAIhE,EAAKiE,OAAQD,GAAK,EAC/BhE,EAAKgE,GAAGtC,SAEF1B,EAAKgE,GAAGtC,UAAY1B,EAAKgE,GAAGtC,SAAUuC,OAAS,IACxDqlC,EAASA,EAAOz6B,OAAOsqD,GAAcn5D,EAAKgE,GAAGtC,SAAU0d,KAFvDkqB,EAAO9kC,KAAKxE,EAAKgE,IAKrB,OAAOslC,CACR,CAcM,SAAS8vB,GAAiBp5D,EAAyBkqB,GACnDA,IACHA,EAAS,CAAEohB,OAAQ,GAAI1+B,OAAQ,CAAC,IAE9Bsd,IAAWA,EAAOohB,SACpBphB,EAAOohB,OAAS,IAEdphB,IAAWA,EAAOtd,SACpBsd,EAAOtd,OAAS,CAAC,GAInB,IAFA,IAAIwS,EAA2B,GACzBi6C,EAA8B,GAC3Br1D,EAAI,EAAGA,EAAIhE,EAAKiE,OAAQD,GAAK,EAChChE,EAAKgE,GAAG4I,QAAU5M,EAAKgE,GAAG0e,MAC5BwH,EAAOtd,OAAO5M,EAAKgE,GAAG0e,KAAiB1iB,EAAKgE,GAAG4I,QAE7C5M,EAAKgE,GAAGg1D,UAAYh5D,EAAKgE,GAAG0e,MACzBwH,EAAO8uC,WAAU9uC,EAAO8uC,SAAW,CAAC,GACzC9uC,EAAO8uC,SAASh5D,EAAKgE,GAAG0e,MAAQ,GAEL,IAAzBwH,EAAOohB,OAAOrnC,SAEZjE,EAAKgE,GAAGtC,UAAY1B,EAAKgE,GAAGtC,UAAY1B,EAAKgE,GAAGtC,SAAUuC,OAAS,IACrEjE,EAAKgE,GAAG6qC,QAAUsqB,GAAcn5D,EAAKgE,GAAGtC,UAA+BuC,QAEzEo1D,EAAS70D,KAAKxE,EAAKgE,KAEjBhE,EAAKgE,IAAMhE,EAAKgE,GAAGtC,WACrB0d,EAAQA,EAAMvQ,OACZ7O,EAAKgE,GAAGtC,SAAUpB,KAAKe,SAAAA,GAKrB,OAHIA,EAAKK,UAAYL,EAAKK,SAASuC,OAAS,IAC1C5C,EAAKwtC,QAAUsqB,GAAc93D,EAAKK,UAAUuC,QAEvC5C,CALT,MAWN,GAA6B,IAAzB6oB,EAAOohB,OAAOrnC,OAAc,CAC9B,IAAMkvB,EAAM+lC,GAAcG,GAC1BnvC,EAAOohB,OAAO9mC,KACZ60D,EAAS/4D,KAAKe,SAAAA,GACZ,OAAY,IAAR8xB,KACC9xB,EAAKK,UAAaL,EAAKK,UAAqC,IAAzBL,EAAKK,SAASuC,UACpD5C,EAAKi4D,QAAUnmC,GAFK9xB,CADxB,IAQH,CACD,GAAI+d,GAASA,EAAMnb,OAAS,EAAG,CAC7B,IAAMkvB,EAAM+lC,GAAc95C,GAC1B8K,EAAOohB,OAAO9mC,KACZ4a,EAAM9e,KAAKe,SAAAA,GACT,OAAY,IAAR8xB,KACC9xB,EAAKK,UAAaL,EAAKK,UAAqC,IAAzBL,EAAKK,SAASuC,UACpD5C,EAAKi4D,QAAUnmC,GAFK9xB,CADxB,KAQF6oB,EAASkvC,GAAch6C,EAAO8K,EAC/B,CACD,OAAOA,CACR,CAMM,SAASqvC,GAAqBv5D,EAAyBiF,QAAiD,IAAjDA,IAAAA,EAA0B,IACtF,IAAK,IAAIjB,EAAI,EAAGA,EAAIhE,EAAKiE,OAAQD,GAAK,EAChChE,EAAKgE,GAAGtC,SACVuD,EAAOA,EAAK4J,OAAO0qD,GAAkBv5D,EAAKgE,GAAGtC,UAAY,KAChD1B,EAAKgE,GAAG0e,IACjBzd,EAAKT,KAAKxE,EAAKgE,IAEfiB,EAAKT,MAALS,EAAAA,EAAAA,GAAAA,CAAAA,EAAejF,EAAKgE,GAApB,CAAwB0e,IAAK1e,EAAE6sB,cAGnC,OAAO5rB,CACR,CAEM,SAASu0D,GACdl1C,EACA3kB,EACAyM,GACqB,QACrB,OAAKkY,EACS,UAAVA,EAA0B,CAAE0F,MAAK,SAAErqB,EAASyM,SAAX,EAAEqtD,EAAiBzvC,OACjD,CAAE7iB,KAAI,SAAExH,EAASyM,SAAX,EAAEstD,EAAiBvyD,MAFb,CAAC,CAGrB,C,8DC9HoBwyD,GAAAA,SAAAA,I,6BAAsD,qEACzEC,QAAUh3D,EAAAA,YAD+D,E,gDAEzE0N,WACEC,KAAKtR,MAAM46D,eACT,CAAEj8D,MAAO2S,KAAKqpD,QAAQnnD,QAASxD,wBAAwBrR,OADzD,GAEK2S,KAAKtR,MAAM66D,OAASvpD,KAAKtR,MAAM86D,OAClCxpD,KAAKtR,MAAMoC,KAAKqhB,IAChBnS,KAAKtR,MAAMoC,KAAKwtC,QAEnB,G,oBAEDjiC,WACE,MAAkF2D,KAAKtR,MAA/E86D,EAAR,EAAQA,OAAQloD,EAAhB,EAAgBA,UAAWxQ,EAA3B,EAA2BA,KAAM24D,EAAjC,EAAiCA,UAAWC,EAA5C,EAA4CA,WAAYH,EAAxD,EAAwDA,OAAQI,EAAhE,EAAgEA,cAChE,EAA8E74D,EAA9BijB,MAAAA,OAAhD,SAAkE61C,GAAlE,OAA8E94D,EAA9E,IACIuN,EAAM,GAQV,OAPI0V,IAEA1V,EADY,UAAV0V,EACIzS,EAAY,eAEZA,EAAY,gBAIpBE,EAAAA,EAAAA,KAAC+mD,IAAD,QACEzjD,GAAG,KACHrD,IAAKzB,KAAKqpD,SAENO,EAJN,CAKEr7D,OAAK,UAAOq7D,EAAQr7D,MAAU06D,GAAcl1C,EAAO41C,EAAR,GAA0BJ,EAASC,IAC9E55D,UAAc0R,EAAL,kBAAkC,MAAJxQ,OAAAA,EAAAA,EAAMyuC,QAAS,QAA7C,KAAuDzuC,EAAKlB,WAAa,IAAzE,IAA+EyO,EACxF2H,OAAQ,CACNu5B,OAAW,MAAJzuC,OAAAA,EAAAA,EAAMyuC,QAAS,OACtBxrB,MAAOA,GAEThD,QAAU0C,SAAAA,GAAD,aAASi2C,OAAT,EAASA,EAAa54D,EAAM04D,EAAQD,EAAS91C,EAA7C,EAXXtiB,SAaGs4D,IAVID,EAaV,K,EAvCkBJ,CAAuB/xD,EAAAA,W,4ICA7B,SAASwyD,GACtBn7D,QACA,IADAA,IAAAA,EAA0E,CAAC,GAE3E,MAQIA,EARJ,IACE4S,UAAAA,OADF,MACc,UADd,EAEE1R,EAFF,EAEEA,UAFF,IAGEH,KAAAA,OAHF,MAGS,GAHT,MAIEi6D,WAAAA,OAJF,MAIelsD,EAJf,EAKEmsD,EALF,EAKEA,cACAL,EANF,EAMEA,eACG54C,GAPL,OAQIhiB,EARJ,IASA,OACE8S,EAAAA,EAAAA,KAAC6mD,IAAD,QAAqBz4D,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,QAAYoc,EAA7F,CAAAvf,SACG1B,GACCA,EAAKiE,OAAS,GACdjE,EAAKM,KAAI,SAAC+5D,EAAyBP,GAA1B,OACP/nD,EAAAA,EAAAA,KAAAA,KAAAA,CAAArQ,UACI24D,GAAO,IAAI/5D,KAAI,SAACe,EAAM04D,GACtB,IAAQn4D,EAAsEP,EAAtEO,MAA8Bo3D,EAAwC33D,EAAxC23D,SAA4BmB,GAAY94D,EAA9BijB,OAAhD,OAA8EjjB,EAA9E,KACM24D,GACJjoD,EAAAA,EAAAA,KAACgnD,GAAD,CACE54D,UAAW64D,GAAcmB,EAAQh6D,WAAa,IAA3B,IAAiC0R,EAAjC,iBAAwDnM,EAC3E6Q,OAAQ,CAAEyiD,SAAAA,GAFZt3D,SAIoB,oBAAVE,EAAuBA,EAAMP,EAAM04D,EAAQD,GAAWl4D,IAGlE,OAAwB,IAApBu4D,EAAQtrB,QACH,MAGP98B,EAAAA,EAAAA,KAACuoD,GAAD,CACEP,OAAQA,EACR14D,KAAMA,EAENwQ,UAAWA,EACXooD,WAAYA,EACZH,OAAQA,EACRE,UAAWA,EACXE,cAAeA,EACfL,eAAgBA,GANXE,EAjBV,KADMD,EADF,MAiChB,CCtDc,SAASS,GAAT,GAA4F,IAA1DC,EAA0D,EAA1DA,cAAel5C,EAA2C,EAA3CA,QAASm5C,EAAkC,EAAlCA,WACvE,GAA4Bh3D,EAAAA,EAAAA,UAAkB+2D,GAA9C,eAAOE,EAAP,KAAeC,EAAf,KACA,OACE5oD,EAAAA,EAAAA,KAAAA,MAAAA,CACEjT,MAAO,CAAEiG,QAAS,OAAQ0C,eAAgB,SAAU3B,WAAY,UAChEwb,QAAS,WACPq5C,GAAWD,GACXp5C,EAAQo5C,EAJZ,EAOEh5D,SAAU+4D,EAAWC,IAG1B,CCIc,SAASE,GAA0C37D,GAChE,IACE47D,EAaE57D,EAbF47D,OACA76D,EAYEf,EAZFe,KACAiF,EAWEhG,EAXFgG,KACA2H,EAUE3N,EAVF2N,OACAosD,EASE/5D,EATF+5D,SACAnnD,EAQE5S,EARF4S,UANF,EAcI5S,EAPF67D,OAAAA,OAPF,MAOW/sD,EAPX,EAQEgtD,EAME97D,EANF87D,cACAC,EAKE/7D,EALF+7D,UACAC,EAIEh8D,EAJFg8D,WACAC,EAGEj8D,EAHFi8D,mBACAhB,EAEEj7D,EAFFi7D,cACA5uB,EACErsC,EADFqsC,OAEF,GAAkC7nC,EAAAA,EAAAA,WAAS,GAA3C,eAAO03D,EAAP,KAAkBC,EAAlB,KACA,GAA0C33D,EAAAA,EAAAA,UAAS,GAAnD,eAAO43D,EAAP,KAAsBC,EAAtB,KACA,GAAsC73D,EAAAA,EAAAA,UAAqC,IAA3E,eAAO83D,EAAP,KAAoBC,EAApB,MACAhpD,EAAAA,EAAAA,YAAU,WACR4oD,IAAc,MAACp7D,IAAAA,EAAMoB,MAAMq6D,SAAAA,GAAD,OAAQA,EAAGP,EAAX,MAC1BI,GAAyE,KAApD,MAAJr2D,OAAAA,EAAAA,EAAMspD,WAAWkN,SAAAA,GAAD,MAAmB,iBAAXA,EAAG/4C,GAAX,KAA4C,EAAI,EAF1E,GAGN,CAAC1iB,IAEJ,IAAM07D,GAAUx8D,EAAAA,EAAAA,UAAQ,WACtB,OAAO,SAACwjB,EAA0By4C,GAChC,IAAMQ,EAAOJ,EAAYl3D,SAASqe,GAClC,OACE3Q,EAAAA,EAAAA,KAAC4mD,GAAD,CACEtjD,GAAIsmD,EAAOC,GAAAA,EAAeC,GAAAA,EAC1B/8D,MAAO,CACLozD,YAAa,GACb4J,QAASX,EAAY,EAAI,EACzBp1D,WAAYi1D,EAAYC,EACxBc,MAAO,OACPhtC,UAAW,MAEbzN,QAAS,WACPk6C,EAAeG,EAAOJ,EAAY72D,QAAQ+2D,SAAAA,GAAD,OAAQA,IAAO/4C,CAAf,IAAtB,mBAAgD64C,GAAhD,CAA6D74C,IACjF,GAdP,CADqB,GAmBpB,CAAC64C,IACES,EAAYt5C,SAAAA,GAChB,IAAIu5C,EAAI,EAKR,MAAO,GAJG3wB,EAAOijB,WAAWkN,SAAAA,GAE1B,OADAQ,EAAIR,EAAGlN,WAAWltD,SAAAA,GAAD,OAAUA,EAAKqhB,MAAQA,CAAvB,MACL,CAFJ,IAIIu5C,CANhB,EAQA,OAAK5oC,MAAMkW,QAAQvpC,IAAUA,EAAKiE,QAIhC8N,EAAAA,EAAAA,KAACnP,EAAAA,SAAD,CAAAlB,SACG1B,EAAKM,KAAI,SAAC47D,EAAQpC,GACjB,IAAMp3C,EAAMm4C,EAASqB,EAAOrB,GAAUf,EACtC,OACE3jD,EAAAA,EAAAA,MAACvT,EAAAA,SAAD,CAAAlB,SAAAA,EACEqQ,EAAAA,EAAAA,KAAAA,KAAAA,CAAArQ,SACGuD,EAAM3E,KAAI,SAACu2B,EAASkjC,GACnB,IAAIoC,EAAyD,CAC3Dz6D,SAAUw6D,EAAOrlC,EAAQnU,MAE3B,GAAI9V,EAAOiqB,EAAQnU,KAAO,CACxB,IAAMtD,EAAQxS,EAAOiqB,EAAQnU,KAAMw5C,EAAOrlC,EAAQnU,KAAOmU,EAAQnU,IAAKw5C,EAAQpC,EAAQC,GACtF,GAAIn3D,EAAAA,eAAqBwc,GACvB+8C,EAAKz6D,SAAW0d,MACX,CACL,GAAIA,EAAMngB,QACRk9D,GAAO,UAAK/8C,EAAMngB,MAAd,CAAqByC,SAAUy6D,EAAKz6D,WACZ,IAAxB0d,EAAMngB,MAAMq6D,SAAyC,IAAxBl6C,EAAMngB,MAAM4vC,SAAe,OAAO,KAEjEzvB,EAAM1d,WACRy6D,EAAKz6D,SAAW0d,EAAM1d,SAEzB,CACF,CACD,IAAM06D,EAAgB/oC,MAAMkW,QAAQ2yB,EAAOhB,IAiB3C,OAhBInB,IAAWsB,IAAkBF,GAAaH,GAAaoB,KACzDD,EAAKz6D,UACHyU,EAAAA,EAAAA,MAAAA,EAAAA,SAAAA,CAAAzU,SAAAA,CACGg6D,EAAQh5C,EAAK05C,IACdrqD,EAAAA,EAAAA,KAAAA,OAAAA,CAAMjT,MAAO,CAAEwI,YAAa0zD,EAAYC,KACvCkB,EAAKz6D,aAIRm1B,EAAQvS,QACY,UAAlBuS,EAAQvS,MACV63C,EAAKh8D,UAAe0R,EAApB,eAEAsqD,EAAKh8D,UAAe0R,EAApB,gBAIF4Q,EAAAA,EAAAA,eAACq2C,IAAD,UACMqD,EADN,CAEEr9D,MACE+3B,EAAQvS,OAARuS,EAAAA,EAAAA,GAAAA,CAAAA,EACS2iC,GAAc3iC,EAAQvS,MAAQ41C,EAAjB,GAAmC8B,EAASnlC,EAAQnU,KAAO,eAC7E,CAAC,EAEPhhB,UACEqQ,EAAAA,EAAAA,KAACgnD,GAAD,CACE54D,UAAW64D,GAAYA,EAASniC,EAAQnU,KAAW7Q,EAAxC,iBAA+DnM,EAC1E6Q,OAAQ,CAAEyiD,SAAUA,GAAYA,EAASniC,EAAQnU,MAFnDhhB,SAIGy6D,EAAKz6D,WAGVghB,IAAKq3C,EACL55D,UAAW,CACT0R,EAAY,iBAAmBglB,EAAQiZ,OAAS,QAChDjZ,EAAQ12B,UACRg8D,EAAKh8D,WAEJuE,QAAQ+2D,SAAAA,GAAD,OAAQA,CAAR,IACP72D,KAAK,KACLC,OACH0R,OAAQ,CACNu5B,MAAOjZ,EAAQiZ,MACfxrB,MAAOuS,EAAQvS,OAEjBhD,QAAU0C,SAAAA,GAAD,OAAS82C,EAAOoB,EAAQ,CAAEpC,OAAAA,EAAQC,OAAAA,EAAQljC,QAASA,EAAQnU,KAAQsB,EAAnE,IAhEd,KADMtB,GAsERq4C,EAAcmB,EAAQpC,GACtByB,EAAYl3D,SAASqe,KACpB3Q,EAAAA,EAAAA,KAAC6oD,IAAD,UAAa37D,EAAb,CAAoBe,KAAMk8D,EAAOhB,GAAqBF,UAAWA,EAAY,OAzE5DlB,EAHxB,MAJI,IAuFV,C,yMChFc,SAAS5uD,GAAyCjM,QAA8B,IAA9BA,IAAAA,EAA0B,CAAC,GAC1F,MAgBIA,EAhBJ,IACE4S,UAAAA,OADF,MACc,UADd,EAEE1R,EAFF,EAEEA,UAFF,IAGEovC,QAAAA,OAHF,MAGY,GAHZ,MAIEvvC,KAAAA,OAJF,MAIS,GAJT,EAKE4B,EALF,EAKEA,MACAo9B,EANF,EAMEA,OACAL,EAPF,EAOEA,SAPF,IAQEm8B,OAAAA,OARF,MAQW/sD,EARX,MASEksD,WAAAA,OATF,MASelsD,EATf,EAUEsuD,EAVF,EAUEA,MAEAC,EAZF,EAYEA,WACAzB,EAbF,EAaEA,OACA0B,EAdF,EAcEA,OACGt7C,GAfL,OAgBIhiB,EAhBJ,IAiBA,GAAsCwE,EAAAA,EAAAA,UAAqC,IAA3E,eAAO83D,EAAP,KAAoBC,EAApB,KACA,GAA0C/3D,EAAAA,EAAAA,UAA2C,CAAC,GAAtF,eAAOy2D,EAAP,KAAsBsC,EAAtB,KACMC,GAAqBnqD,EAAAA,EAAAA,QAAyC,CAAC,GAe/DoqD,EAAqB,SAArBA,EAAsBnmD,EAAyComD,GACnE,IAAI5hB,EAAe,EACjB6hB,EAAc,EACdC,EAA8C,GAChDtmD,EAAO/E,SAAQ,SAAC8hB,EAAGlnB,GACjB,IAAMpI,EAAI,GAAG24D,EAAYC,EACzB,GAA6B,kBAAlBrmD,EAAOnK,GAGhB,OAFA2uC,EAAgBxkC,EAAOnK,GAAoB2uC,OAC3C8hB,EAAWr4D,KAAK+R,EAAOnK,IAGrBqwD,EAAmBhqD,QAAQzO,KAC7By4D,EAAmBhqD,QAAQzO,GAAGmD,KAAO4zC,EACrCA,EAAe0hB,EAAmBhqD,QAAQzO,GAAGpG,MAAQm9C,EACjD1nB,MAAMkW,QAAShzB,EAAOnK,GAA2B1K,UACnDm7D,EAAWr4D,KAAXq4D,MAAAA,GAAU,QAAUtmD,EAAOnK,GAA2B1K,WAEtDm7D,EAAWr4D,KAAKi4D,EAAmBhqD,QAAQzO,GAAGpG,QAGlDg/D,GAAe,CAhBjB,IAkBC7hB,EAAe,EAAK6hB,EAActxB,EAAOqxB,GAAW14D,OAAS,EAC9D,IAAK,IAAImI,EAAQmK,EAAOtS,OAAS,EAAGmI,GAAS,EAAGA,IAAS,CACvD,IAAMpI,EAAI,GAAG24D,EAAYC,EACI,kBAAlBrmD,EAAOnK,IAIdqwD,EAAmBhqD,QAAQzO,KAC7By4D,EAAmBhqD,QAAQzO,GAAGgmB,MAAQ+wB,EACtCA,EAAe0hB,EAAmBhqD,QAAQzO,GAAGpG,MAAQm9C,GAEvD6hB,GAAe,GAPb7hB,EAAgBxkC,EAAOnK,GAAoB2uC,CAQ9C,CACG8hB,EAAWn4D,QAAQ+2D,SAAAA,GAAD,MAAsB,kBAAPA,CAAf,IAAgCx3D,QAAQy4D,EAAmBG,EAAYF,EAAY,EAnC3G,EAsCMG,EAAW,WAEf,OADAJ,EAAmBntB,EAAS,GACrBktB,EAAmBhqD,OAF5B,GAIAD,EAAAA,EAAAA,YAAU,WACR,IAAMuqD,GAAqB,MAAVT,OAAAA,EAAAA,EAAYpB,qBAAsB,WAWnD,GAAIoB,EAAY,CACd,GAAIA,EAAWU,qBAEb,YADAxB,EAZUjlD,SAAR0mD,EAAQ1mD,GACZ,IAAM2mD,EAAmC,GACnC9gC,EAAM7lB,EAAOjW,KAAI,SAACm7D,EAAOrvD,GAI7B,OAHIinB,MAAMkW,QAAQkyB,EAAGsB,KACnBG,EAAK14D,KAAL04D,MAAAA,GAAI,QAASD,EAAKxB,EAAGsB,MAEhBlC,EAASY,EAAGZ,GAAUzuD,CAJnB,IAMZ,MAAO,GAAP,OAAW8wD,GAAX,QAAoB9gC,GARtB,CAYmB6gC,CAAKj9D,IAGtB,GAAIs8D,EAAWa,uBAEb,YADA3B,EAAec,EAAWa,uBAG7B,CArBM,GAsBN,KACH3qD,EAAAA,EAAAA,YAAU,WACJ8pD,GACEA,EAAWc,iBAAmB/vB,KAAKC,UAAUgvB,EAAWc,mBAAqB/vB,KAAKC,UAAUiuB,IAC9FC,EAAec,EAAWc,gBAHvB,GAMN,OAACd,OAAD,EAACA,EAAYc,kBAEhB,IAAMrC,GAAgB77D,EAAAA,EAAAA,UAAQ,WAC5B,OAAO,SAACm+D,EAAWjxD,GACjB,IAAKkwD,EACH,OAAO,EAET,IAAKA,EAAWgB,kBACd,OAAO,EAET,IAAI3B,GAAO,EAIX,OAHIW,EAAWiB,gBACb5B,EAAOW,EAAWiB,cAAcF,IAGhC1B,IACE5pD,EAAAA,EAAAA,KAAAA,KAAAA,CAAIjT,MAAOy8D,EAAYl3D,SAASw2D,EAASwC,EAAOxC,GAAUzuD,GAAS,CAAC,EAAI,CAAErH,QAAS,QAAnFrD,UACEqQ,EAAAA,EAAAA,KAAAA,KAAAA,CAAIjT,MAAO,CAAEwI,YAAa,IAAMunC,QAASU,EAAQtrC,OAAS,EAA1DvC,SACG46D,EAAWgB,kBAAkBD,EAAQjxD,GAAO,MAfvD,CAD2B,GAsB1B,CAACkwD,EAAYf,IAEViC,GAAOt+D,EAAAA,EAAAA,UAAQ,WACnB,IAAI+F,EAAOs0D,GAAqBhqB,GAC5BkuB,EAAiC,GA6CrC,OA5CA,MAAInB,GAAAA,EAAYgB,mBACdr4D,EAAO,CAAC,CAAEyd,IAAK,eAAgBotB,MAAO,WAAlC,gBAAiD7qC,IACrDw4D,EAAc,CACZ,CACE77D,MAAO,GACP8gB,IAAK,eACL9kB,MAAO,GACPkyC,MAAO,SACPljC,OAAQ,SAACyV,EAAMK,EAAK26C,EAAQjxD,GAAU,MACpC,OACE2F,EAAAA,EAAAA,KAACwoD,GAAD,CACEC,mBACsC90D,IAApC42D,EAAWU,uBACN,SAACV,EAAWa,0BAAXO,EAAmCr5D,SAASw2D,EAASwC,EAAOxC,GAAUzuD,MACtEkwD,EAAWU,qBAEnB17C,QAAUo5C,SAAAA,GAER,GADA4B,MAAAA,EAAWqB,UAAXrB,EAAWqB,SAAWjD,EAAQ2C,EAAQjxD,GAClCsuD,EAAQ,CACV,IAAMxwC,EAASqxC,EAAY72D,QAAQ+2D,SAAAA,GAAD,OAASZ,EAASY,IAAO4B,EAAOxC,GAAUY,IAAOrvD,CAAjD,IAClCkwD,EAAWsB,qBAAuBtB,EAAWsB,qBAAqB1zC,GAAUsxC,EAAetxC,EAF7F,KAGO,CACL,IAAMA,EAAS,GAAH,gBAAOqxC,GAAP,CAAoBV,EAASwC,EAAOxC,GAAUzuD,IAC1DkwD,EAAWsB,qBAAuBtB,EAAWsB,qBAAqB1zC,GAAUsxC,EAAetxC,EAC5F,CAdL,EAgBEuwC,WAAaC,SAAAA,GACX,OAAI4B,EAAWiB,eAAiB,MAACjB,EAAWiB,eAAXjB,EAAWiB,cAAgBF,GAGxDf,EAAW7B,WACN6B,EAAW7B,WAAWC,EAAQ2C,EAAQjxD,GAExCsuD,GAAS3oD,EAAAA,EAAAA,KAAC6pD,GAAAA,EAAD,KAAmB7pD,EAAAA,EAAAA,KAAC8pD,GAAAA,EAAD,IAL1B,IAMV,GAGN,IAnCM,gBAqCNtsB,KAGLkuB,GAAc,QAAIluB,GAEb,CACLtqC,KAAAA,EACAw4D,YAAAA,EAjDgB,GAmDjB,CAACluB,EAASgsB,IACPz8D,GAAkEI,EAAAA,EAAAA,UAAQ,WAC9E,IAAMJ,EAAkE,CACtE++D,MAAO,CAAC,EACRla,IAAK,CAAC,GAeR,OAbI4Y,SACe72D,IAAb62D,EAAOx5D,IACTjE,EAAM++D,MAAMl9C,SAAW,OACvB7hB,EAAM++D,MAAMj9C,SAAW,OACvB9hB,EAAM++D,MAAMjgE,MAAQ2+D,EAAOx5D,EAC3BjE,EAAM6kD,IAAIma,UAAY,OACtBh/D,EAAM6kD,IAAIhd,UAAY,eAEPjhC,IAAb62D,EAAOv5D,IACTlE,EAAM6kD,IAAI2K,UAAYiO,EAAOv5D,EAC7BlE,EAAM6kD,IAAIhd,UAAY,WAGnB7nC,CAlBsE,GAmB5E,CAACy9D,IACE3tD,EAAM,CAACiD,EAAW1R,EAAWw+B,EAAc9sB,EAAN,YAA6B,MAAMnN,OAAOC,SAASC,KAAK,KAAKC,OACxG,EAAqCu0D,GAAcoE,EAAKC,aAAhDnyB,EAAR,EAAQA,OAAQ1+B,EAAhB,EAAgBA,OAAQosD,EAAxB,EAAwBA,SACxB,OACE7iD,EAAAA,EAAAA,MAACvT,EAAAA,SAAD,CAAAlB,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC2mD,IAAD,QAAgBv4D,UAAWyO,GAASqS,EAApC,CAA2CniB,OAAK,UAAOmiB,EAAMniB,MAAUA,EAAM6kD,KAAOptC,OAAQ,CAAEooB,SAAAA,GAA9Fj9B,UACEyU,EAAAA,EAAAA,MAAAA,QAAAA,CAAOrX,OAAK,QAAIi/D,YAAa/E,EAAW,QAAU,QAAWl6D,EAAM++D,OAAnEn8D,SAAAA,CACGE,IAASmQ,EAAAA,EAAAA,KAAAA,UAAAA,CAAArQ,SAAUE,IACnB2tC,GAAWA,EAAQtrC,OAAS,IAC3B8N,EAAAA,EAAAA,KAACisD,GAAD,CACE/D,WAAYA,EACZj6D,KAAMsrC,EACN4uB,cAAeA,EACfL,eAnMW,SAACtjD,EAAuBnK,EAAesW,EAAamsB,QAAwB,IAAxBA,IAAAA,EAAkB,GAC3F4tB,EAAmBhqD,SAAnBgqD,EAAAA,EAAAA,GAAAA,CAAAA,EACKA,EAAmBhqD,SADxB,WAEGrG,GAAD6xD,EAAAA,EAAAA,GAAAA,CAAAA,EACKxB,EAAmBhqD,QAAQrG,GAC3BmK,EAFL,CAGEmM,IAAKA,EACLmsB,QAAAA,MAGAziC,IAAU,IAAGk/B,EAAOrnC,OAAS,IAAIqnC,EAAOA,EAAOrnC,OAAS,GAAGA,OAAS,IACtEu4D,EAAiBM,IAXrB,IAsMS98D,GAAQA,EAAKiE,OAAS,IACrB8N,EAAAA,EAAAA,KAAAA,QAAAA,CAAArQ,UACEqQ,EAAAA,EAAAA,KAAC6oD,GAAD,CACEC,OAAQA,EACRX,cAAeA,EACfl6D,KAAMA,EACNsrC,OAAQA,EACRrmC,KAAMu4D,EAAKv4D,KACX2H,OAAQA,EACRosD,SAAUA,EACVnnD,UAAWA,EACXipD,OAAQA,EACRE,UAAW,EACXD,cAAeA,EACfE,WAA8C,kBAAlC,MAAOqB,OAAP,EAAOA,EAAYrB,YAAnB,MAA6CqB,OAA7C,EAA6CA,EAAYrB,WAAa,GAClFC,oBAA8B,MAAVoB,OAAAA,EAAAA,EAAYpB,qBAAsB,eAI3Dl7D,GAAwB,IAAhBA,EAAKiE,QAAgBo4D,IAC5BtqD,EAAAA,EAAAA,KAAAA,QAAAA,CAAArQ,UACEqQ,EAAAA,EAAAA,KAAAA,KAAAA,CAAArQ,UACEqQ,EAAAA,EAAAA,KAAAA,KAAAA,CAAI88B,QAAS2uB,EAAKv4D,KAAKhB,OAAQnF,MAAO,CAAEoI,SAAU,WAAYC,KAAM,GAApEzF,SACG26D,QAKRp9D,EAAMyC,eAGVs9B,IACCjtB,EAAAA,EAAAA,KAACknD,GAAD,CAAkB94D,UAAc0R,EAAL,UAAyB0E,OAAQ,CAAEooB,SAAAA,GAA9Dj9B,SACGs9B,MAKV,CCpVM,IAAMk/B,GAAiB,CAC5BC,oBAAqB,UACrBC,8BAA+B,OAC/BC,sBAAuB,sBACvBC,gCAAiC,4BACjCC,iCAAkC,UAClCC,wBAAyB,UACzBC,sBAAuB,oBACvBC,0BAA2B,oBAC3BC,6BAA8B,WAQnBC,GAAgB7rD,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SACrB/T,SAAAA,GACD,MAAmB,SAAfA,EAAML,MACD2U,EAAAA,EAAAA,IAAP,icACIsrD,GACoB7wD,GAAqB,UAClC/O,EADiC,CAC1BkP,aAAc+vD,KAC1B,2BAWFY,GAIiB9wD,GAAqB,UAAK/O,EAAN,CAAakP,aAAc+vD,KAAkB,0BAIrE,SAAfj/D,EAAML,MACD2U,EAAAA,EAAAA,IAAP,8aACIurD,GAIiB9wD,GAAqB,UAC/B/O,EAD8B,CACvBkP,aAAc+vD,KAC1B,6BAGFa,GAEU/wD,GAAqB,UAAK/O,EAAN,CAAakP,aAAc+vD,KAAkB,6BAI7DlwD,GAAqB,UAC5B/O,EAD2B,CACpBkP,aAAc+vD,KAC1B,kCAOD3qD,EAAAA,EAAAA,IAAP,uBApDsB,IAwDbyrD,GAAcjsD,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2BAGX0gD,GAAgBlsD,EAAAA,GAAAA,IAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8BAGbygD,GAAansD,EAAAA,GAAAA,IAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mFAKVmgD,GAAa/rD,EAAAA,GAAAA,IAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uDAIVggD,GAAe9rD,EAAAA,GAAAA,IAAHqN,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAEZ++C,GAAgBpsD,EAAAA,GAAAA,IAAHiU,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uJAAAA,eAOP/nB,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc+vD,KAAkB,mCADrD,IAQLkB,GAAkBrsD,EAAAA,GAAAA,IAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,uEAAAA,8BAGXxrC,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc+vD,KAAkB,kCADrD,IAeHa,GAAWhsD,EAAAA,GAAAA,IAAHgM,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,qNAAAA,OAAAA,SAUhB9f,SAAAA,GACD,OAAIA,EAAMsY,QACDhE,EAAAA,EAAAA,IAAP,iEACWvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAc+vD,KAAkB,uBACzD,SAAfj/D,EAAML,OACR2U,EAAAA,EAAAA,IADE,oFAEcvF,GAAqB,UAC5B/O,EAD2B,CACpBkP,aAAc+vD,KAC1B,oCAMD3qD,EAAAA,EAAAA,IAAP,uBAxBiB,IA0BhBtU,SAAAA,GAAD,OACAA,EAAMuY,WACNjE,EAAAA,EAAAA,IADA,sGAIWvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAc+vD,KAAkB,yBAL5E,IASSmB,GAAetsD,EAAAA,GAAAA,IAAH0vB,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,O,6GC1JzBx3B,GAAKq0D,KCAL,SAAgBrgE,QAA8B,IAA9BA,IAAAA,EAAuB,CAAC,GACtC,MAA0EA,EAA1E,IAAQ4S,UAAAA,OAAR,MAAoB,cAApB,EAAmC1R,EAAnC,EAAmCA,UAAwB2R,GAA3D,OAA0E7S,EAA1E,IACA,OAAO8S,EAAAA,EAAAA,KAACstD,IAAD,QAAcl/D,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,QAAYiN,GAF/F,EDEA,I,4DAAIytD,GAAqB,EAgBV,SAASt0D,GAAKhM,GAAkB,MAC7C,EAQIA,EAPF4S,UAAAA,OADF,MACc,SADd,EAEE1R,EAMElB,EANFkB,UACAuB,EAKEzC,EALFyC,SAHF,EAQIzC,EAJFL,KAAAA,OAJF,MAIS,UAJT,EAME4gE,EAEEvgE,EAFFugE,WACGrd,GAPL,OAQIljD,EARJ,IAUA,GAAkCwE,EAAAA,EAAAA,UAASxE,EAAM0rC,WAAjD,eAAOA,EAAP,KAAkBM,EAAlB,KACA,GAAoCxnC,EAAAA,EAAAA,UAAS,CAAE7F,MAAO,EAAGuJ,KAAM,IAA/D,eAAOs4D,EAAP,KAAmBC,EAAnB,KACMC,GAAartD,EAAAA,EAAAA,UAEnB,GAA8B7O,EAAAA,EAAAA,UAAsB,CAClD4B,QAAS,EACTxD,IAAK,GACL+9D,UAAW,EACXC,aAAc,EACdC,WAAY,IALd,eAAOC,EAAP,KAAgBC,EAAhB,KAOA,GAAkCv8D,EAAAA,EAAAA,UAAwB,IAA1D,eAAOw8D,EAAP,KAAkBC,EAAlB,KAGA,GAA0Bz8D,EAAAA,EAAAA,YAA1B,eAAO08D,EAAP,KAAcC,EAAd,KACMC,GAAgBlqB,EAAAA,EAAAA,cAAahmC,SAAAA,GACpB,OAATA,IACFiwD,EAASD,GACThwD,EAAKuB,iBAAiB,UAAWpS,SAAAA,GAC/B,MAAoCA,EAAEC,OAA9ByR,EAAR,EAAQA,YAAa3B,EAArB,EAAqBA,WACrB0wD,EAAQF,aAAexwD,EACvB0wD,EAAQD,WAAa9uD,EAAc3B,EACnC2wD,GAAW,UAAKD,GAJlB,IAMAA,EAAQD,WAAa3vD,EAAKlB,wBAAwBrR,MAClDoiE,GAAW,UAAKD,IAVa,GAY9B,IAEGO,GAAYnqB,EAAAA,EAAAA,cAAY,SAAChmC,EAA6BuS,EAAa69C,GAC1D,OAATpwD,IACFA,EAAKuB,iBAAiB,SAAUpS,SAAAA,GAC9BqgE,EAAWltD,QAAUtC,CADvB,IAGAqwD,EAAkBrwD,EAAKlB,wBAAwBrR,MAAO8kB,GAElD69C,IAAYthE,EAAM0rC,WAAsB,SAAT/rC,GAAkC,IAAf2gE,KACpDI,EAAWltD,QAAUtC,GARE,GAW1B,IAEGqwD,EAAoB,SAAC5iE,EAAewO,GACxC,IAAIq0D,EAAW,EACfV,EAAQl+D,IAAI40C,MAAM,EAAGrqC,EAAQ,GAAGoF,SAAS3P,SAAAA,GAAD,OAAU4+D,GAAY5+D,EAAIjE,KAA1B,IACxCmiE,EAAQl+D,IAAIuK,GAAS,CAAExO,MAAAA,EAAO6iE,SAAUz7C,KAAK+vC,MAAM0L,GAAWr0D,MAAAA,GAC9D4zD,EAAWD,EAJb,GAOAvtD,EAAAA,EAAAA,YAAU,WACRkuD,GADO,GAEN,CAACX,EAAQD,YAAR,OAAAC,EAAqBA,EAAQl+D,IAAIk+D,EAAQl+D,IAAIoC,OAAS,SAAtD,EAAqB08D,EAAqCF,YAE9D,IAAMC,EAAgB,WACpB,IAAMT,EAA2B,GAC7BF,EAAQl+D,IAAIoC,OAAS,IACvB87D,EAAQl+D,IAAI2P,SAASnQ,SAAAA,GACnB,IAAMo/D,EAAWp/D,EAAKo/D,SA7CV,IA8CRA,EAAWV,EAAQF,cAAgBY,EAAWV,EAAQD,aACxDG,EAAUz7D,KAAKnD,EAAK+K,MAHxB,IAMA8zD,EAAaD,GATjB,EAgBA,SAASW,IACHjB,EAAWltD,SAAoB,SAAT7T,IACxB2gE,GAAaI,EAAWltD,QAAQzB,YAChC0uD,EAAc,CACZ9hE,MAAO+hE,EAAWltD,QAAQzB,YAC1B7J,KAAMw4D,EAAWltD,QAAQkY,aAG9B,CAED,OAbAnY,EAAAA,EAAAA,YAAU,kBAAMy4B,EAAahsC,EAAM0rC,UAAzB,GAAqC,CAAC1rC,EAAM0rC,aACtDn4B,EAAAA,EAAAA,YAAU,kBAAMouD,GAAN,GAAwB,CAACj2B,KAajCx0B,EAAAA,EAAAA,MAAC0qD,IAAD,QAAsB1gE,UAAW,CAAC0R,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,QAAYs9C,EAA9F,CAAAzgD,SAAAA,EACEyU,EAAAA,EAAAA,MAAC0qD,GAAD,CAAAn/D,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC8uD,GAAD,CAAAn/D,UACEqQ,EAAAA,EAAAA,KAAC8uD,GAAD,CAAmB1gE,UAAc0R,EAAL,OAAsBG,IAAKquD,EAAvD3+D,UACEyU,EAAAA,EAAAA,MAAC0qD,GAAD,CAAmB1gE,UAAc0R,EAAL,OAA5BnQ,SAAAA,CACGo/D,EAAUp/D,IACXqQ,EAAAA,EAAAA,KAAC8uD,GAAD,CAAqB1gE,UAAc0R,EAAL,SAAwB/S,MAAO2gE,WAIlEQ,EAAUh8D,OAAS,IAClB8N,EAAAA,EAAAA,KAACtG,GAAD,CACE0f,QAAQ,QACR/lB,UAAU,cACVwpB,cAAc,EACdvpB,SACE0M,EAAAA,EAAAA,KAAC8uD,GAAD,CAAsB1gE,UAAc0R,EAAL,cAA/BnQ,SACGo/D,EAAUb,EAAU3/D,KAAKC,SAAAA,GAAD,OAAUmB,EAAuCnB,EAAjD,OAN/BmB,UAUEqQ,EAAAA,EAAAA,KAAC8uD,GAAD,CAAwBv/C,QAASo/C,EAAevgE,UAAc0R,EAAL,gBAAzDnQ,UACEqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAArQ,SAAAA,kBAKPkB,EAAAA,SAAAA,IAAmBlB,GAAWL,SAAAA,GAC7B,OAAKA,GAAQspC,IAActpC,EAAKqhB,IAGzB9f,EAAAA,aAAmBvB,EAAM2D,OAAOkjB,OAAO,CAAC,EAAG7mB,EAAKpC,MAAO,CAAC,IAFtD,IAFV,QASL,SAAS6hE,EAAUp/D,GACjB,OAAOkB,EAAAA,SAAAA,IAAmBlB,GAAkC,SAACL,EAA0BqhB,GACrF,IAAKrhB,EACH,OAAO,KAET,IAAM+2B,EAAyB,CAC7Bj4B,UAAc0R,EAAL,QACTnQ,SAAUL,EAAKpC,MAAMkF,OASvB,OAPK9C,EAAKpC,MAAMuY,WACd4gB,EAAS9W,QAAWhiB,SAAAA,GAClB2rC,EAAa5pC,EAAKqhB,KAClB88C,GAAcA,EAAWn+D,EAAKqhB,IAAerhB,EAAM/B,GACnDshE,GAHF,IAOA7uD,EAAAA,EAAAA,KAAC8uD,IAAD,QACEjiE,KAAMA,EACN4Y,SAAUnW,EAAKpC,MAAMuY,SACrBD,OAAQlW,EAAKqhB,MAAQioB,EAErB34B,IAAMA,SAAAA,GAAD,OAASsuD,EAAUtuD,EAAK0Q,EAAKrhB,EAAKqhB,IAAlC,GACD0V,GAFC1V,EApBJ,GA0BR,CACF,CEjLM,IAAMq+C,GAAoB,CAC/BC,yCAA0C,sBAC1CC,qCAAsC,sBACtCC,mCAAoC,gCAmH/B,I,uCAAMC,GAAmBpuD,EAAAA,GAAAA,IAAH03B,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAChB22B,GAA4BruD,EAAAA,GAAAA,IAAHgM,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wDAAAA,OAAAA,SAGjC9f,SAAAA,GAAD,OACCA,EAAM2vB,eACPrb,EAAAA,EAAAA,IADA,2DADA,IAKCtU,SAAAA,GAAD,OA7GJ,SAAuBmG,GAkBrB,OAjBY,CACV4kB,MAAO,QACPq3C,SAAU,QACVC,YAAa,QAEbn6D,KAAM,OACNo6D,QAAS,OACTC,WAAY,OAEZ37D,IAAK,MACL47D,QAAS,MACTC,SAAU,MAEVt6D,OAAQ,SACRu6D,WAAY,SACZC,YAAa,UAEHx8D,IACV,IAAK,SACH,OAAOmO,EAAAA,EAAAA,IAAP,2DAGF,IAAK,MACH,OAAOA,EAAAA,EAAAA,IAAP,8DAGF,IAAK,QACH,OAAOA,EAAAA,EAAAA,IAAP,4DAGF,IAAK,OACH,OAAOA,EAAAA,EAAAA,IAAP,6DAGF,QACE,OAAOA,EAAAA,EAAAA,IAAP,wBAEL,CAuEcsuD,CAAc5iE,EAAMmG,UAA/B,IAES08D,GAAwB/uD,EAAAA,GAAAA,IAAH6Y,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+GAAAA,OAAAA,SAM7B3sB,SAAAA,GAAD,OA7EJ,SAA4BmG,GAkB1B,OAjBY,CACV4kB,MAAO,QACPq3C,SAAU,QACVC,YAAa,QAEbn6D,KAAM,OACNo6D,QAAS,OACTC,WAAY,OAEZ37D,IAAK,MACL47D,QAAS,MACTC,SAAU,MAEVt6D,OAAQ,SACRu6D,WAAY,SACZC,YAAa,UAEHx8D,IACV,IAAK,QACH,OAAOmO,EAAAA,EAAAA,IAAP,wKACyBtU,SAAAA,GAAD,OACpB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc4yD,KAAqB,uCADhD,IAO1B,IAAK,OACH,OAAOxtD,EAAAA,EAAAA,IAAP,wKACwBtU,SAAAA,GAAD,OACnB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc4yD,KAAqB,uCADjD,IAOzB,IAAK,MACH,OAAOxtD,EAAAA,EAAAA,IAAP,sKACuBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc4yD,KAAqB,uCADlD,IAOxB,IAAK,SACH,OAAOxtD,EAAAA,EAAAA,IAAP,sKAC0BtU,SAAAA,GAAD,OACrB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc4yD,KAAqB,uCAD/C,IAO3B,QACE,OAAOxtD,EAAAA,EAAAA,IAAP,wBAEL,CAmBcwuD,CAAmB9iE,EAAMmG,UAApC,IACA,YAAmB,IAAhBA,EAAgB,EAAhBA,UACH,MAAI,CAAC,UAAW,YAAYf,SAASe,IAC5BmO,EAAAA,EAAAA,IAAP,oDAIE,CAAC,aAAc,eAAelP,SAASe,IAClCmO,EAAAA,EAAAA,IAAP,2EAKE,CAAC,aAAc,WAAWlP,SAASe,IAC9BmO,EAAAA,EAAAA,IAAP,qDAIE,CAAC,cAAe,YAAYlP,SAASe,IAChCmO,EAAAA,EAAAA,IAAP,4EAKKA,EAAAA,EAAAA,IAAP,uBA9B8B,IAiCrByuD,GAAwBjvD,EAAAA,GAAAA,IAAH6vB,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2LAAAA,oDAAAA,UASjB3jC,SAAAA,GAAD,OACZ+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc4yD,KAAqB,qCADxD,IAGO9hE,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc4yD,KAAqB,2CADlD,I,iHCxKtB,YAAgB9hE,QAA6B,IAA7BA,IAAAA,EAAsB,CAAC,GACrC,MAWIA,EAXJ,IACE4S,UAAAA,OADF,MACc,YADd,EAEE1R,EAFF,EAEEA,UAFF,IAGEiF,UAAAA,OAHF,MAGc,MAHd,MAIEqO,OAAAA,OAJF,SAKE0X,EALF,EAKEA,QACAW,EANF,EAMEA,MANF,IAOE3mB,UAAAA,OAPF,aAQEypB,aAAAA,OARF,SASE1C,EATF,EASEA,gBACGjL,GAVL,OAWIhiB,EAXJ,IAYM2P,EAAM,CAACiD,EAAW1R,EAAYyuB,EAA4B,KAAb,YAAmBlqB,OAAOC,SAASC,KAAK,KAAKC,OAChG,OACEkN,EAAAA,EAAAA,KAACovD,IAAD,QACE9rD,GAAI7J,GACJrG,UAAWA,EACXsO,OAAQA,EACR0X,QAASA,EACTW,MAAOA,EACPI,gBAAiBA,EACjB9mB,UAAWA,GACP6b,EARN,CASElM,SACEoB,EAAAA,EAAAA,MAACirD,GAAD,CAA2Bh8D,UAAWA,EAAWwpB,aAAcA,EAAczuB,UAAWyO,EAAxFlN,SAAAA,CACGktB,IAAgB7c,EAAAA,EAAAA,KAAC+vD,GAAD,CAAuB18D,UAAWA,EAAWjF,UAAc0R,EAAL,YACvEE,EAAAA,EAAAA,KAACiwD,GAAD,CAAuB7hE,UAAc0R,EAAL,SAAhCnQ,SAAyDzC,EAAMoG,aAZrE3D,SAgB6B,kBAAnBzC,EAAMyC,SAAwBzC,EAAMyC,UAAWqQ,EAAAA,EAAAA,KAAAA,OAAAA,CAAArQ,SAAOzC,EAAMyC,aA/B1E,ECLaugE,GAAiB,CAC5BC,4BAA6B,YAC7BC,2BAA4B,oBAC5BC,qCAAsC,UACtCC,gCAAiC,UACjCC,oCAAqC,2BACrCC,0CAA2C,OAC3CC,wCAAyC,yCAuB9BC,GAA6B1vD,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,kBAAAA,UACvB/T,SAAAA,GAAD,OACX+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8zD,KAAkB,4CADtD,IAQFS,GAAkB3vD,EAAAA,GAAAA,GAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,mUAAAA,SAAAA,SAmBvBjU,SAAAA,GAAD,OAA2B,IAAhBA,EAAMynC,OAAeznC,EAAMwU,SAAUF,EAAAA,EAAAA,IAArC,uBAAX,IAECtU,SAAAA,GAAD,OACgB,IAAhBA,EAAMynC,QACLznC,EAAMwU,SACPF,EAAAA,EAAAA,IAFA,+CADA,IAQSovD,GAAqB5vD,EAAAA,GAAAA,IAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+EAOlBqkD,GAA2B7vD,EAAAA,GAAAA,IAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+LAAAA,aAAAA,iDAAAA,+GAUvBxf,SAAAA,GAAD,OACP+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8zD,KAAkB,kCAD1D,GAGT3rD,IAEcrX,SAAAA,GAAD,OACX+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8zD,KAAkB,sCADtD,IAYJY,GAA+B9vD,EAAAA,GAAAA,IAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,SAAAA,SACpC1f,SAAAA,GAAD,OACAA,EAAM6jE,YACL7jE,EAAM8jE,SACPxvD,EAAAA,EAAAA,IAFA,mDADA,IAOCtU,SAAAA,GAAD,OACAA,EAAM+jE,cACN/jE,EAAMgkE,kBACN1vD,EAAAA,EAAAA,IAFA,qDAGgBtU,SAAAA,GAAD,OACX+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8zD,KAAkB,0CADtD,GAJf,IAaSiB,GAA8BnwD,EAAAA,GAAAA,IAAHiU,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,4EAAAA,SAAAA,sDAKnC/nB,SAAAA,GAAD,OACAA,EAAMkkE,eACNlkE,EAAMmkE,kBACN7vD,EAAAA,EAAAA,IAFA,4DAGuBtU,SAAAA,GAAD,OAClB+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8zD,KAAkB,uCAD/C,GAJtB,IAQChjE,SAAAA,GAAD,OACAA,EAAMkkE,gBACN5vD,EAAAA,EAAAA,IADA,yDADA,IAWS8vD,GAAoBtwD,EAAAA,GAAAA,IAAHsrC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+HAAAA,sUAAAA,wFAAAA,+BAONp/C,SAAAA,GAAD,OACb+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8zD,KAAkB,6BADpD,IAiBGhjE,SAAAA,GAAD,OACf+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8zD,KAAkB,6BADlD,IAKChjE,SAAAA,GAAD,OACf+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAc8zD,KAAkB,8BADlD,I,oJCxInBqB,GAAQ,SAAC,GAAD,IAAGn/D,EAAH,EAAGA,MAAOhE,EAAV,EAAUA,UAAV,OACZjB,EAAAA,EAAAA,UAAQ,kBAAM6S,EAAAA,EAAAA,KAAAA,OAAAA,CAAM5R,UAAWA,EAAjBuB,SAA6ByC,GAAnC,GAAkD,CAACA,GAD7D,EAGe,SAASo/D,GAAYtkE,GAClC,IACE4S,EAeE5S,EAfF4S,UACA2xD,EAcEvkE,EAdFukE,YACA1hE,EAaE7C,EAbF6C,KACA2hE,EAYExkE,EAZFwkE,cACAC,EAWEzkE,EAXFykE,WACAC,EAUE1kE,EAVF0kE,SACAC,EASE3kE,EATF2kE,aAEA5jE,EAOEf,EAPFe,KACA0mC,EAMEznC,EANFynC,MACAm9B,EAKE5kE,EALF4kE,OAXF,EAgBI5kE,EAHFmsC,YAAAA,OAbF,MAagBr9B,EAbhB,IAgBI9O,EAFF6kE,eAAAA,OAdF,MAcmB/1D,EAdnB,EAeKkT,GAfL,OAgBIhiB,EAhBJ,IAiBIwU,GAAS,EACPtD,EAAOvN,EAAAA,OAA+B,MAExCihE,IAAWA,EAAOnhD,KAAsB,IAAfmhD,EAAOnhD,OAClCjP,KAAYkwD,GAAYA,EAASx4B,QAAQ04B,EAAOnhD,MAAQ,IAG1D,IAAMjO,GAAS0hC,EAAAA,EAAAA,cAAY,WACzBhmC,EAAKsC,QAAS3T,MAAMjB,OAAYsS,EAAKsC,QAASyS,aAA9C,IADwB,GAEvB,IACG5Q,GAAY6hC,EAAAA,EAAAA,cAAY,WAC5BhmC,EAAKsC,QAAS3T,MAAMjB,OAAS,KADF,GAE1B,IACGwW,GAAU8hC,EAAAA,EAAAA,cAAY,WAC1BhmC,EAAKsC,QAAS3T,MAAMjB,OAAS,KADJ,GAExB,IACG0W,GAAa4hC,EAAAA,EAAAA,cAAY,WAC7BhmC,EAAKsC,QAAS3T,MAAMjB,OAAYsS,EAAKsC,QAASyS,aAA9C,IAD4B,GAE3B,IACG1Q,GAAY2hC,EAAAA,EAAAA,cAAY,WAC5BhmC,EAAKsC,QAAS3T,MAAMjB,OAAS,SADF,GAE1B,IAEH,OACEkU,EAAAA,EAAAA,KAAC0wD,GAAD,CACEptD,GAAIO,EAAAA,EACJK,QAAS9F,EACT0F,WAAYhE,EACZiE,GAAIrC,EACJxD,QAAS,IACTwE,OAAQA,EACRH,UAAWA,EACXD,QAASA,EACTG,UAAWA,EACXD,WAAYA,EAVd7S,UAYEqQ,EAAAA,EAAAA,KAAC2wD,GAAD,CACE1wD,IAAK7B,EACLsD,OAAQA,EACRizB,MAAOA,EACPvmC,UAAW,CACC,IAAVumC,GAAejzB,EAAS,CAAI5B,EAAJ,SAAwB,KACtC,IAAV60B,GAAgBjzB,EAAkC,KAAzB,CAAI5B,EAAJ,WAExBnN,OAAOC,SACPC,KAAK,KACLC,OAVLnD,SAYG1B,EAAKM,KAAI,SAACe,EAAMd,GAAgB,MAC/Bc,EAAKwiE,OAASA,EACd,IAAMnxC,KAAckxC,GAAgBA,EAAaz4B,QAAQ9pC,EAAKqhB,MAAQ,GAChEqhD,GAAW1iE,EAAKK,SAChBsiE,EAAaL,GAAYA,EAASx4B,QAAQ9pC,EAAKqhB,MAAQ,KAAOrhB,EAAKK,SACnEuiE,EACY,oBAATniE,EACHA,EAAKT,EAAM,CACToS,SAAUuwD,EACVD,QAAAA,EACAJ,SAAAA,EACAC,aAAAA,IAEF9hE,EACAoiE,EAAYH,EAAU,GAAKI,GAAa9iE,EAAKK,UAC7C0iE,EAAcR,EAAeA,EAAal/D,QAAQge,SAAAA,GAAD,OAASwhD,EAAU/4B,QAAQzoB,IAAQ,CAAnC,IAAwC,GACzF2hD,EAAgBD,EAAYngE,OAAS,GAAKigE,EAAUjgE,SAAWmgE,EAAYngE,OAC3EqgE,EAA2B,CAC/BhjD,QAASwiD,EACTtsD,SAAU,KACV+sD,cAAe,KACfC,mBAAe9+D,EACf++D,mBAAe/+D,GASjB,OAPIrE,EAAKmW,WACP8sD,EAAYhjD,aAAU5b,EACtB4+D,EAAY9sD,SAAW,WACvB8sD,EAAYC,cAAmB1yD,EAA/B,kBACAyyD,EAAYE,cAAmB3yD,EAA/B,gBACAyyD,EAAYG,cAAgB,CAAEj/D,MAAO,eAGrC2Q,EAAAA,EAAAA,MAAAA,KAAAA,CAAcrX,MAAO,CAAEiG,QAAS1D,EAAKqjE,SAAW,OAAS,SAAzDhjE,SAAAA,EACEyU,EAAAA,EAAAA,MAACwsD,GAAD,CAAoBxiE,UAAc0R,EAAL,SAA7BnQ,SAAAA,EACEqQ,EAAAA,EAAAA,KAAC6wD,GAAD,CACE9jE,MAAO,CAAEiG,QAASg/D,EAAU,OAAS,QACrC5jE,UAAc0R,EAAL,YACTyP,QAAU0C,SAAAA,GAAD,OAAoDonB,EAAY/pC,EAAM2iB,EAAtE,EAHXtiB,UAKEqQ,EAAAA,EAAAA,KAAC8wD,GAAD,CACExtD,GAAI1W,GACJC,KAAMqlE,GAAY,cAClBlB,cAAejhE,EACfghE,UAAWiB,EACXd,gBAAiBQ,EACjBT,aAAcgB,EACd7jE,UAAW,CACO,oBAAT2B,EAAyB+P,EAAhC,iBAA4D,KAC5DkyD,EAAU,WAAa,KACtBN,EAAiC,KAAjB,eACjBO,EAAa,OAAS,MAErBt/D,OAAOC,SACPC,KAAK,KACLC,YAGPkN,EAAAA,EAAAA,KAACmxD,GAAD,CACE5hD,QAAU0C,SAAAA,GAAD,aAASsgD,EAAYhjD,aAArB,EAASgjD,EAAYhjD,QAAUjgB,EAAM2iB,EAArC,EACTm/C,cAAezwC,EACf0wC,gBAAiBM,EACjBiB,WAAYL,EAAY9sD,SACxBrX,UAAW,CACN0R,EADM,SAET6gB,GAAYgxC,EAAa,WAAa,KACtCY,EAAY9sD,SACZ8sD,EAAYC,eAEX7/D,OAAOC,SACPC,KAAK,KACLC,OAbLnD,SAeG8hE,EACCA,EAAYniE,EAAM,CAChBqxB,SAAAA,EACAqxC,QAAAA,EACAJ,SAAAA,EACAU,cAAAA,EACAT,aAAAA,EACApsD,SAAUnW,EAAKmW,SACfgtD,cAAeF,EAAYE,cAC3BC,cAAeH,EAAYG,iBAG7B1yD,EAAAA,EAAAA,KAACuxD,GAAD,CAAOn/D,MAAO9C,EAAK8C,MAAOhE,UAAWmkE,EAAYE,qBAItDnjE,EAAKK,WACJqQ,EAAAA,EAAAA,KAACwxD,IAAD,UACMtiD,GADN,GAGIpP,UAAAA,EACA/P,KAAAA,EACA2hE,cAAAA,EACAC,WAAAA,EACAC,SAAAA,EACAC,aAAAA,EACAx4B,YAAAA,EACA04B,eAAAA,EACAN,YAAAA,IAXJ,sBAaa3xD,IAbb,iBAcQxQ,EAAKK,WAdb,kBAeSglC,EAAQ,IAfjB,mBAgBUrlC,GAhBV,OAzDKd,EAhCZ,OAkHR,C,8OC/JKqkE,GAAc,SAACC,EAAUC,GAC7B,KAAMD,aAAaxxC,UAAYyxC,aAAazxC,OAAQ,OAAO,EAC3D,GAAIwxC,EAAE5gE,OAAS6gE,EAAE7gE,OAAQ,OAAO,EAEhC,IADA,IAAM8gE,EAAOF,EAAEh0C,WACN7sB,EAAI,EAAGghE,EAAMF,EAAE7gE,OAAQD,EAAIghE,EAAKhhE,GAAK,EAC5C,IAA4B,IAAxB+gE,EAAK55B,QAAQ25B,EAAE9gE,IAAY,OAAO,EAExC,OAAO,CAPT,EAUamgE,GAAe,SAAfA,EACX76B,EACApf,EACA+6C,GAYA,YAXsB,IAHtB37B,IAAAA,EAAqB,SAGC,IAFtBpf,IAAAA,EAA4B,IAG5Bof,EAAO93B,SAASnQ,SAAAA,GACTA,EAAKqjE,UACRx6C,EAAO1lB,KAAKnD,EAAKqhB,MAEE,kBAAVuiD,GAAwBA,EAAQ,IAEvC5jE,EAAKK,UAAYL,EAAKK,SAASuC,OAAS,IAC1CimB,EAASA,EAAOrb,OAAOs1D,EAAa9iE,EAAKK,cAAUgE,EAAWu/D,EAAQA,EAAQ,OAAIv/D,IAPtF,IAUOwkB,CAfF,EAkBDg7C,GAAgB,SAAhBA,EAAiB57B,EAAuBpf,GAO5C,YAP+E,IAA1Dof,IAAAA,EAAmB,CAAC,QAAsC,IAAnCpf,IAAAA,EAA4B,IACpEof,EAAO5mB,KACTwH,EAAO1lB,KAAK8kC,EAAO5mB,KAEjB4mB,EAAOu6B,SACT35C,EAASg7C,EAAc57B,EAAOu6B,OAAQ35C,IAEjCA,CAPT,EAUMi7C,GAAsB,SAAtBA,EACJ77B,EACAs6B,EACA15C,GAgBA,YAfG,IAHHof,IAAAA,EAAmB,CAAC,QAGjB,IAFHs6B,IAAAA,EAAkC,SAE/B,IADH15C,IAAAA,EAA4B,IAExBof,EAAO5mB,KAAO4mB,EAAO5nC,UAAYkjE,GAAYhB,EAAcO,GAAa76B,EAAO5nC,cAAUgE,EAAW,MACtGwkB,EAAO1lB,KAAK8kC,EAAO5mB,KACf4mB,EAAOu6B,SAAWv6B,EAAOu6B,OAAOA,SAC9Be,GAAYhB,EAAcO,GAAa76B,EAAO5nC,aAChDkiE,EAAeA,EAAa/0D,OAAOqb,IAEjC06C,GAAYhB,EAAcO,GAAa76B,EAAOu6B,OAAOniE,YACvDwoB,EAAO1lB,KAAK8kC,EAAOu6B,OAAOnhD,OAI5B4mB,EAAOu6B,SACT35C,EAASi7C,EAAoB77B,EAAOu6B,OAAQD,EAAc15C,IAErDA,CAnBT,EAsBe,SAAStf,GAAK3L,GAC3B,MAqBIA,EApBF4S,UAAAA,OADF,MACc,SADd,IAqBI5S,EAnBF6C,KAAAA,OAFF,MAES,cAFT,IAqBI7C,EAlBFe,KAAAA,OAHF,MAGS,GAHT,IAqBIf,EAjBF0kE,SAAAA,OAJF,MAIa,GAJb,IAqBI1kE,EAhBF2kE,aAAAA,OALF,MAKiB,GALjB,IAqBI3kE,EAfFmmE,iBAAAA,OANF,WAqBInmE,EAdFomE,SAAAA,OAPF,WAqBIpmE,EAbFwkE,cAAAA,OARF,WAqBIxkE,EAZFykE,WAAAA,OATF,WAqBIzkE,EAXFqmE,cAAAA,OAVF,WAqBIrmE,EAVF42C,SAAAA,OAXF,WAqBI52C,EATF0+D,SAAAA,OAZF,MAYa5vD,EAZb,IAqBI9O,EARF+zB,WAAAA,OAbF,MAaejlB,EAbf,EAeE5N,EAMElB,EANFkB,UAfF,EAqBIlB,EALFsmE,iBAAAA,OAhBF,SAiBE/B,EAIEvkE,EAJFukE,YACAnkE,EAGEJ,EAHFI,SACAD,EAEEH,EAFFG,MACG+iD,GApBL,OAqBIljD,EArBJ,IAuBA,GAAsCwE,EAAAA,EAAAA,UAASkgE,GAA/C,eAAO6B,EAAP,KAAoBC,EAApB,KACA,GAA8ChiE,EAAAA,EAAAA,UAASrE,GAASwkE,GAAhE,eAAO8B,EAAP,KAAwBC,EAAxB,MAEAnzD,EAAAA,EAAAA,YAAU,WACRmzD,EAAmB1mE,EAAMG,OAASH,EAAM2kE,cAAgB,GADjD,GAEN,CAACv2B,KAAKC,UAAUruC,EAAM2kE,cAAev2B,KAAKC,UAAUruC,EAAMG,UAE7DoT,EAAAA,EAAAA,YAAU,WACR,IAAIozD,GAAiC,QAAIJ,GACzC,GAAIJ,EACFQ,EAAczB,GAAankE,QACtB,GAAIulE,EAAkB,QAC3BK,EAAAA,GAAYphE,KAAZohE,MAAAA,GAAAA,EAAAA,GAAAA,GAAoBzB,GAAankE,GAAQ,QAAI0F,EAAW,IACzD,CACD+/D,EAAeG,EAPR,GAQN,IAEH,IAAMh3D,EAAM,CAACzO,EAAW0R,EAAWwzD,EAAcxzD,EAAN,QAAyB,MAAMnN,OAAOC,SAASC,KAAK,KAAKC,OAmDpG,OACEkN,EAAAA,EAAAA,KAACsxD,IAAD,QAAmBljE,UAAWyO,GAASuzC,EAAvC,CAAAzgD,UACEqQ,EAAAA,EAAAA,KAACwxD,GAAD,CAEIzhE,KAAAA,EACA2hE,cAAAA,EACAC,WAAAA,EACAC,SAAU6B,EACV5B,aAAc8B,EACd7zD,UAAAA,EACA2xD,YAAAA,EAEFp4B,YA7DN,SAAqB/pC,EAAgB2iB,GACnC,GAAK3iB,EAAKK,SAAV,CAKA,IAAImkE,GAAc,QAAKL,GACjB9iD,EAAMmjD,EAAYzkE,MAAM+vB,SAAAA,GAAD,OAAOA,IAAM9vB,EAAKqhB,GAAlB,IACvB9T,EAAMoV,EAAI0J,cAAcvtB,UAAUiC,QAAQ,YAAa,IACzD0jE,GAAW,GACVpjD,GAAOrhB,EAAKqhB,KACfmjD,EAAYrhE,KAAKnD,EAAKqhB,KACtBsB,EAAI0J,cAAcvtB,UAAY,CAACyO,EAAK,QAAQlK,OAAOC,SAASC,KAAK,KAAKC,OACtEihE,GAAW,IAEXD,EAAcA,EAAYnhE,QAAQysB,SAAAA,GAAD,OAAOA,IAAM9vB,EAAKqhB,GAAlB,IACjCsB,EAAI0J,cAAcvtB,UAAYyO,GAEhC62D,EAAeI,GACflI,GAAYA,EAASt8D,EAAKqhB,IAAKojD,EAAUzkE,EAAM2iB,EAnBwB,CAoBxE,EA0CK8/C,eAzCN,SAAwBziE,EAAgB2iB,GAEtC,IAAI+hD,GAAU,QAAKL,GACbM,EAAUD,EAAQ3kE,MAAM+vB,SAAAA,GAAD,OAAOA,IAAM9vB,EAAKqhB,GAAlB,IACzBgQ,GAAW,EACVszC,GAAuB,IAAZA,EAIdD,EAAUA,EAAQrhE,QAAQysB,SAAAA,GAAD,OAAOA,IAAM9vB,EAAKqhB,GAAlB,KAHzBgQ,GAAW,EACXqzC,EAAQvhE,KAAKnD,EAAKqhB,MAIhB4iD,IACGU,EAMHD,GADAA,EAAUA,EAAQrhE,QAAQ+kC,SAAAA,GAAD,OAAuD,IAA9C06B,GAAa9iE,EAAKK,UAAUypC,QAAQ1B,EAA7C,KACP/kC,QAAQ+kC,SAAAA,GAAD,OAAsD,IAA7Cy7B,GAAc7jE,EAAKwiE,QAAQ14B,QAAQ1B,EAA5C,KAJzBs8B,GADAA,EAAUA,EAAQl3D,OAAOs1D,GAAa9iE,EAAKK,UAAUgD,QAAQ+kC,SAAAA,GAAD,OAAmC,IAA1Bs8B,EAAQ56B,QAAQ1B,EAAzB,MAC1C56B,OAAOs2D,GAAoB9jE,EAAM0kE,IACnDA,EAAU1yC,MAAM4yC,KAAK,IAAIC,IAAIH,MAM5BlwB,IACHkwB,EAAWC,EAAuB,GAAb,CAAC3kE,EAAKqhB,MAE7BijD,EAAmBI,GACnB/yC,GAAcA,EAAW+yC,EAAS1kE,EAAKqhB,IAAKgQ,EAAUrxB,EAAM2iB,GACpD,MAAR3kB,GAAAA,EAAWgC,EAAKqhB,IAAKqjD,EACtB,EAeK/lE,KAAMA,EACN0mC,MAAO,MAId,CC1OM,I,wBAAMy/B,GAAwBpzD,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,+B,iBCEnB,SAASnI,GAAT,GAA+F,QAAxEgH,UAAAA,OAAwE,MAA5D,gBAA4D,EAAxC5S,GAAwC,aAK5G,OAJAA,EAAMkB,UAAY,CAAC0R,EAAW5S,EAAMkB,WAAWuE,OAAOC,SAASC,KAAK,KAAKC,OACzE5F,EAAMqmE,eAAgB,EACtBrmE,EAAMykE,YAAa,EACnBzkE,EAAM42C,UAAW,GAEf9jC,EAAAA,EAAAA,KAACnH,IAAD,QACE44D,YAAa,SAACniE,EAAgB8O,GAC5B,IAAMi2D,EAA8B,CAAC,EASrC,OARIj2D,EAAKk0D,gBACP+B,EAAal9B,eAAgB,GAE3B/4B,EAAKuiB,SACP0zC,EAAan+B,SAAU,EAEvBm+B,EAAan+B,SAAU,GAGvB9xB,EAAAA,EAAAA,MAAC1R,EAAAA,SAAD,CAAA/C,SAAAA,EACEqQ,EAAAA,EAAAA,KAACo0D,IAAD,QACE9wD,GAAIpM,GACJ9I,UAAc0R,EAAL,WACT2F,SAAUrH,EAAKqH,UACX4uD,IAEL/kE,EAAK8C,QAAS4N,EAAAA,EAAAA,KAAAA,OAAAA,CAAM5R,UAAWgQ,EAAKq0D,cAAtB9iE,SAAsCL,EAAK8C,UAG/D,GACGlF,GAGT,CClCM,IAAMonE,GAAqB,CAChCC,+BAAgC,OAChCC,qBAAsB,UACtBC,mCAAoC,UACpCC,yBAA0B,UAE1BC,qBAAsB,6IACtBC,0BAA2B,yGAC3BC,0BAA2B,sGAC3BC,+BAAgC,0GAOrBC,IAAe/zD,EAAAA,EAAAA,IAAOpJ,GAAPoJ,CAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAEZ+zD,GAAch0D,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAAAA,OAAAA,OAAAA,SACnBjU,SAAAA,GAAD,OAAWsU,EAAAA,EAAAA,IAAV,SAAD,m0BAQcvF,GAAqB,UAAK/O,EAAN,CAAakP,aAAck4D,KAAsB,wBAErEr4D,GAAqB,UAC5B/O,EAD2B,CACpBkP,aAAck4D,KAC1B,kCAOOr4D,GAAqB,UAAK/O,EAAN,CAAakP,aAAck4D,KAAsB,wBAO1Er4D,GAAqB,UAAK/O,EAAN,CAAakP,aAAck4D,KAAsB,6BAIrEr4D,GAAqB,UAAK/O,EAAN,CAAakP,aAAck4D,KAAsB,6BAIrEr4D,GAAqB,UAAK/O,EAAN,CAAakP,aAAck4D,KAAsB,kCAKzDr4D,GAAqB,UAC5B/O,EAD2B,CACpBkP,aAAck4D,KAC1B,sCAGOr4D,GAAqB,UAAK/O,EAAN,CAAakP,aAAck4D,KAAsB,4BA5ChF,IAiDCpnE,SAAAA,GACD,GAAmB,UAAfA,EAAM2G,KACR,OAAO2N,EAAAA,EAAAA,IAAP,yIACM6c,GArDY,IA6DnBnxB,SAAAA,GACD,GAAmB,UAAfA,EAAM2G,KACR,OAAO2N,EAAAA,EAAAA,IAAP,8HACM6c,GAhEY,IA6EX42C,IAAiBj0D,EAAAA,EAAAA,IAAO/H,GAAP+H,CAAH0L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,OAEdwoD,IAAmBl0D,EAAAA,EAAAA,IAAO/I,GAAP+I,CAAH4L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wRAsBhBuoD,GAAkBn0D,EAAAA,GAAAA,KAAH8L,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,qECpHtBguC,GAAU,CAAEC,MAAO,GAAIC,QAAS,GAAIC,MAAO,IAkMjD,OAxKA,SAAwD/tD,GACtD,MAmBIA,EAlBF4S,UAAAA,OADF,MACc,gBADd,IAmBI5S,EAjBF2G,KAAAA,OAFF,MAES,UAFT,IAmBI3G,EAhBFuY,SAAAA,OAHF,WAmBIvY,EAfFk1B,WAAAA,OAJF,WAmBIl1B,EAdFiZ,QAAAA,OALF,WAmBIjZ,EAbFkoE,gBAAAA,OANF,SAOEhnE,EAYElB,EAZFkB,UACArB,EAWEG,EAXFH,MACAkH,EAUE/G,EAVF+G,YATF,EAmBI/G,EARFouD,SAAAA,OAXF,MAWa,CAAC,EAXd,EAYEhoD,EAOEpG,EAPFoG,QACA4I,EAMEhP,EANFgP,QACA83C,EAKE9mD,EALF8mD,OACA1mD,EAIEJ,EAJFI,SACA6G,EAGEjH,EAHFiH,SACAkhE,EAEEnoE,EAFFmoE,YAIIx4D,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAC7D,GAAsCpB,EAAAA,EAAAA,WAAS,GAA/C,eAAOqhC,EAAP,KAAoBC,EAApB,KACA,GAA4CthC,EAAAA,EAAAA,UAAmBsiD,GAA/D,eAAOshB,EAAP,KAAuBC,EAAvB,KACMC,GAAYj1D,EAAAA,EAAAA,UAClB,GAAsC7O,EAAAA,EAAAA,UAAiB,IAAvD,eAAO+jE,EAAP,KAAoBC,EAApB,KACAF,EAAU90D,SAAUvT,EAAAA,EAAAA,UAAQ,kBAAMmoE,CAAN,GAAsB,CAACA,IACnD,OAA4C5jE,EAAAA,EAAAA,UAAS,IAArD,eAAOyhC,EAAP,KAAuBC,EAAvB,KACM7T,GAAWhf,EAAAA,EAAAA,QAAyB,MAM1C,SAASyzB,EAAiBnnC,GACxB,IAAMsmC,EAA0B,UAATtmC,GAAoBu1B,IAAiBkzC,EAAepjE,QAAUujE,GAAe,QAAU,GAC9GriC,EAAkBD,EACnB,EAPD1yB,EAAAA,EAAAA,YAAU,WACR80D,EAAkBvhB,EADX,GAEN,CAAC1Y,KAAKC,UAAUyY,KAOnB,IAAMoI,EAAqB,SAACuZ,EAAuBC,EAAaC,QAA8B,IAA9BA,IAAAA,GAAqB,GACnFN,EAAkBI,GAElBG,EAAkB,IACV,MAARxoE,GAAAA,EAAWqoE,EAAaC,EAAUC,EAJpC,EAOM3Z,EAAoB7hD,SAAAA,GACxB,IAAMi7D,EAAiBE,EAAU90D,QAC3Bq1D,EAAeT,EAAej7D,GACpCi7D,EAAexgC,OAAOz6B,EAAO,GAC7B+hD,GAAmB,QAAIkZ,GAAiBS,GAAc,EAJxD,EAOA,SAAS1Z,EAAkBhvD,GACzB2lC,GAAe,GACf8iC,EAAkBzoE,GAClB+lC,EAAkB/lC,EAAQ,UAAY,GACvC,CAED,IAAMyoE,EAAqBzoE,SAAAA,GACzBqoE,EAAeroE,GACP,MAAR8G,GAAAA,EAAW9G,EAFb,EAqBM2oE,GAAa7oE,EAAAA,EAAAA,UAAQ,WACzB,GAAIkoE,EACF,MAA8B,mBAAhBA,GAA4Br1D,EAAAA,EAAAA,KAAC9F,GAAD,CAAOnN,MAAO,CAAE8hB,SAAU,IAAKhjB,MAAK,MAAEkB,OAAF,EAAEA,EAAOlB,SAAcwpE,EAGvG,IAAMY,GAAW,UACZ3iE,EAAQpG,MADC,CAEZ+zB,WAAY,SAAC00C,EAAuBC,EAAaC,QAA8B,IAA9BA,IAAAA,GAAqB,GACpE7iC,GAAgBoiC,GAChBhZ,EAAmBuZ,EAAaC,EAASC,EAJ/B,EAMZ7hB,OAAQshB,EACRp5D,QAAAA,IAEF,OAAOrL,EAAAA,aAAmByC,EAAwB2iE,EAd1B,GAevB,CAAC36B,KAAK46B,MAAM56B,KAAKC,UAAU+5B,IAAkBp5D,EAASm5D,IAEzD,OACEr1D,EAAAA,EAAAA,KAAC+0D,GAAD,CACE3mE,UAAWyO,EACXuc,QAAQ,QACRe,gBAAkBzY,SAAAA,GAChBsxB,EAAetxB,GACVA,GAAQo0D,EAAkB,GALnC,EAOErwD,SAAUA,EACV/D,OAAQqxB,EACR3jC,MAAM4Q,EAAAA,EAAAA,KAAC3I,GAAD,CAAM4X,WAA2B,IAAhBomD,EAAuB,CAAEngE,QAAS,QAAMvB,EAAzDhE,SAAqEqmE,IAT7ErmE,UAWEqQ,EAAAA,EAAAA,KAAAA,MAAAA,CACEgc,YAAa,kBAAMgY,EAAiB,QAAvB,EACb7X,aAAc,kBAAM6X,EAAiB,QAAvB,EACdzkB,QAAS,iCAAMgQ,EAAS7e,cAAf,EAAMg8C,EAAkBn3C,OAHnC,EAIExY,OAAK,QAAI8hB,UAAe,MAAL9hB,OAAAA,EAAAA,EAAOlB,QAAS,IAAK+iB,SAAU,QAAW7hB,GAJ/D4C,UAMEyU,EAAAA,EAAAA,MAAC4wD,GAAD,CACEnhE,KAAMA,EACNzF,UAAW,CAAI0R,EAAJ,SAA0BA,EAA1B,IAAuCjM,GAAQlB,OAAOC,SAASC,KAAK,KAAKC,OAFtFnD,SAAAA,EAIEyU,EAAAA,EAAAA,MAAAA,MAAAA,CAAKrX,MAAO,CAAEiG,QAAS,OAAQmjE,SAAU,OAAQtqE,MAAO,QAAxD8D,SAAAA,CACG2lE,EAAe/mE,KAAI,SAACe,EAAM+K,GACzB,OACE2F,EAAAA,EAAAA,KAACi1D,IAAD,QACEloE,MAAO,CAAEjB,OAAQgvD,GAAQjnD,GAAO4nC,OAAQ,EAAGzoC,QAAS,OAAQe,WAAY,UACxE3F,UAAc0R,EAAL,OAET25C,UAAQ,EACRhmD,MAAM,WACF6nD,EANN,CAOE71C,SAAUA,EACVpD,QAAU9U,SAAAA,GACRA,EAAE6nC,kBACF8mB,EAAiB7hD,EAVrB,EAAA1K,SAaGL,EAAK8C,QAVDiI,EALV,KAmBD2F,EAAAA,EAAAA,KAACk1D,GAAD,CACEj1D,IAAKsf,EACLnxB,UAAc0R,EAAL,kBACTjM,KAAMA,EACN4R,SAAUA,EACV+uC,UAtEZ,SAAsBjnD,GAChB+nE,EAAepjE,OAAS,IAAMujE,GAA6B,IAAdloE,EAAEqvD,SACjDV,EAAiBoZ,EAAepjE,OAAS,EAE5C,EAmEW5E,SAAWC,SAAAA,GAAD,OAA4C8uD,EAAkB9uD,EAAEC,OAAOH,MAAvE,EACVA,MAAOooE,EACPxhE,YAAaqhE,EAAepjE,OAAS,GAAK+B,QAG5CwR,IACAzF,EAAAA,EAAAA,KAACm1D,GAAD,CAAiBpoE,MAAO,CAAEjB,OAAQ,GAAID,MAAO,IAAMuC,UAAc0R,EAAL,sBAA5DnQ,UACuB,UAAnBwjC,GAAkD,YAAnBA,GAAgChtB,KAC/DnG,EAAAA,EAAAA,KAACpT,GAAD,CACEC,KAAMsmC,EACNrmC,KAAMqZ,GAA8B,YAAnBgtB,EACjB5jB,QA3FhB,SAA4BhiB,GAAQ,MAClCA,EAAE6nC,kBACF,SAAA7V,EAAS7e,UAAT,EAAkB6E,QAClB82C,EAAkB,IAClBrpB,GAAe,GACfuiC,EAAkB,IAClBnZ,EAAmB,GACpB,YA6FF,E,kFChMD,SAASga,GACPlpE,GAEA,OAAwCwE,EAAAA,EAAAA,UAAuB,CAAC,GAAhE,eAAO2kE,EAAP,KAAqBC,EAArB,KACA,GAAwB5kE,EAAAA,EAAAA,UAAiC,IAAzD,eAAOwB,EAAP,KAAaqjE,EAAb,MAEA91D,EAAAA,EAAAA,YAAU,WAAM,MACV41D,EAA6B,CAAC,EAC5BnjE,EAAI,SAAGhG,EAAM8mD,aAAT,EAAGwiB,EAAcjoE,KAAKqlC,SAAAA,GAE9B,OADAyiC,EAAaziC,EAAIjjB,KAAOijB,EAAIxhC,MACrBwhC,EAAIjjB,GAFA,IAIb2lD,EAAgBD,GAChBE,EAAQrjE,GAAQ,GAPT,GAQN,CAAChG,EAAM8mD,SAEV,IAUMyiB,EAAsB,SAAtBA,EAAuB1nC,EAAuBsnC,EAA4BK,GAC9E,IAAMC,EAAW,SAAChmD,EAAsBve,EAAeskE,GACjDA,EACFL,EAAa1lD,GAAOve,SAEbikE,EAAa1lD,EAJxB,EAOMimD,EAAkBvpD,SAAlBupD,EAAkBvpD,GAEtB,GAAIA,EAAMykD,OAAQ,CAChB,IAAM+E,EAAcxpD,EAAMykD,OAAOniE,SAASgD,QAAQ0a,SAAAA,GAAD,OAAsBgpD,EAAahpD,EAAMsD,IAAzC,IAAgDze,OACjGykE,EAAStpD,EAAMykD,OAAOnhD,IAAKtD,EAAMykD,OAAO1/D,MAAuB,IAAhBykE,GAC/CD,EAAevpD,EAAMykD,OACtB,CANH,EAgBA,OAPA/iC,EAAUtvB,SAAS4N,SAAAA,GAAoB,QAChC,SAACA,EAAM1d,WAANmnE,EAAgB5kE,SACpBmkE,EAAeI,EAAoBppD,EAAM1d,SAAU0mE,EAAcK,IAEnEC,EAAStpD,EAAMsD,IAAP,SAAatD,EAAMjb,YAAnB,EAAa2kE,EAAaj4C,WAAa43C,GAC/CE,EAAevpD,EALjB,IAOOgpD,CAxBT,EA2BA,OACEr2D,EAAAA,EAAAA,KAAClH,IAAD,QAAau6D,kBAAkB,GAAUnmE,EAAzC,CAAgDe,KAAMf,EAAMgP,QAAS21D,aAAc3+D,EAAM+tB,WAtCxE,SAACM,EAAQjyB,EAAWumE,EAAoB5jD,GACzD,IAAM+kD,EAAgCP,EAAoB,CAACxkD,GAAMokD,EAAcR,GAC3EoB,GAAc,EACE,kBAAT3nE,IAAmB2nE,GAAc,GAC5C,IAAMjlE,EAASiB,OAAOi4C,QAAQ8rB,GAAiBzoE,KAC7C,+BAAEoiB,EAAF,KAAOve,EAAP,WAAmB,CAAEue,IAAKsmD,EAAcr4C,OAAO7G,SAASpH,GAAOA,EAAKve,MAAAA,EADvD,IAGflF,MAAAA,EAAM+zB,YAAN/zB,EAAM+zB,WAAajvB,EAAQ,CAAE2e,IAAKsB,EAAItB,IAAKve,MAAO6f,EAAI7f,OAAwByjE,EAPhF,IAwCD,CAED,SAASqB,GAA0ChqE,GACjD,OAAwBwE,EAAAA,EAAAA,UAAiC,IAAzD,eAAOwB,EAAP,KAAaqjE,EAAb,MAEA91D,EAAAA,EAAAA,YAAU,WAAM,MACRvN,EAA+B,GACrC,SAAIhG,EAAM8mD,SAANmjB,EAAcjlE,SAAQgB,EAAK,GAAKhG,EAAM8mD,OAAO,GAAGrjC,KACpD4lD,EAAQrjE,EAHD,GAIN,CAAChG,EAAM8mD,SAQV,OACEh0C,EAAAA,EAAAA,KAACnH,IAAD,QACEw6D,kBAAkB,GACdnmE,EAFN,CAGE42C,UAAU,EACV71C,KAAMf,EAAMgP,QACZ21D,aAAc3+D,EACd+tB,WAbe,SAACm2C,EAASC,EAASxB,EAAoB5jD,GACxD,IACMqlD,EAAM,CAAE3mD,IADSsB,EAAftB,IACWve,MADI6f,EAAV7f,OAEblF,MAAAA,EAAM+zB,YAAN/zB,EAAM+zB,WAAa40C,EAAY,CAACyB,GAAO,GAAIA,EAAKzB,EAHlD,IAgBD,CAmFD,I,eChKK0B,GDgKL,GAvEA,SAAoDrqE,GAClD,IACEI,EAQEJ,EARFI,SADF,GASIJ,EAPFiH,SAOEjH,EANF42C,UAAAA,OAHF,WASI52C,EALFgP,QAAAA,OAJF,MAIY,GAJZ,IASIhP,EAJFG,MAAAA,OALF,MAKU,GALV,IASIH,EAHFmoE,YAAAA,OANF,OAMiBn5D,EAAQhK,OANzB,EAOEslE,EAEEtqE,EAFFsqE,UACGtoD,GARL,OASIhiB,EATJ,IAUA,GAA4CwE,EAAAA,EAAAA,UAAmB4vB,MAAMkW,QAAQnqC,GAASA,EAAQ,CAACA,IAA/F,eAAOoqE,EAAP,KAAuBC,EAAvB,KACA,GAA6ChmE,EAAAA,EAAAA,UAA0BwK,GAAvE,eAAOy7D,EAAP,KAAwBC,EAAxB,KACA,GAA8BlmE,EAAAA,EAAAA,UAAS2jE,GAAvC,eAAOwC,EAAP,KAAgBC,EAAhB,KA4CA,OA1CAr3D,EAAAA,EAAAA,YAAU,WACRi3D,EAAkBp2C,MAAMkW,QAAQnqC,GAASA,EAAQ,GAD1C,GAEN,CAACiuC,KAAKC,UAAUluC,MAyCjB2S,EAAAA,EAAAA,KAAC+3D,IAAD,UACM7oD,EADN,CAEEmmD,YAAawC,EACbzC,iBAAkBtxB,EAClB3vC,SA1BoBshE,SAAAA,IACK,SAArBuC,EAAsBjpC,EAAuBkpC,QAAiC,IAAjCA,IAAAA,GAAwB,GACzElpC,EAAUtvB,SAAS4N,SAAAA,GAAoB,MAC/B6qD,GAAW7qD,EAAMjb,MAAiBE,SAASmjE,EAAY3iE,SAAWmlE,EACxE,GAAK,SAAC5qD,EAAM1d,WAANwoE,EAAgBjmE,OAAQ,CAC5B8lE,EAAmB3qD,EAAM1d,SAAUuoE,GACnC,IAAM7oE,EAAOge,EAAM1d,SAASN,MAAMC,SAAAA,GAAD,OAAWA,EAAKqjE,QAAhB,IACjCtlD,EAAMslD,SAAWuF,IAAW7oE,CAH9B,MAKEge,EAAMslD,SAAWuF,CAPrB,GADF,CAYAF,CAAmB97D,GACnB07D,GAAkB,QAAI17D,IAEtB,IAAIk8D,GAAS,EACbl8D,EAAQuD,SAASm0B,SAAAA,GAAD,OAAUwkC,EAASA,KAAYxkC,EAAI++B,QAAnC,IAChBmF,EAAkC,mBAAhBzC,GAA6B+C,EAASA,EAAS/C,EAlBnE,EA2BI/nE,SA5CmB,SAAC6uD,EAAuBmb,EAAQzB,GACrD6B,EAAkBvb,GACV,MAAR7uD,GAAAA,EAAWgqE,EAAKnb,EAAa0Z,EAF/B,EA6CI7hB,OAAQyjB,EACRv7D,QAASy7D,EACTrkE,QAASwwC,GAAW9jC,EAAAA,EAAAA,KAACo2D,IAAD,UAAkBoB,KAAgBx3D,EAAAA,EAAAA,KAACk3D,IAAD,UAAeM,MAG1E,E,WExKYa,GAAqB,CAChCC,sCAAuC,sBAG5BC,GAAev3D,EAAAA,GAAAA,IAAHC,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,8DAKZu3D,GAA4Bx3D,EAAAA,GAAAA,IAAHG,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,gDAOzBs3D,IAAgBz3D,EAAAA,EAAAA,IAAOuD,GAAPvD,CAAHK,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,2HAAAA,eAOjBnU,SAAAA,GAAD,OACA+O,GAAqB,UAAK/O,EAAN,CAAakP,aAAci8D,KAAsB,wCADrE,IASKK,GAAuB13D,EAAAA,GAAAA,IAAHO,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,iJASpBo3D,IAAe33D,EAAAA,EAAAA,IAAO3J,GAAP2J,CAAHwL,KAAAA,IAAAA,EAAAA,EAAAA,GAAAA,CAAAA,wBAIzB,O,SDnCK+qD,GAAAA,EAAAA,EAAAA,UAAAA,GAAAA,YAAAA,EAAAA,EAAAA,WAAAA,GAAAA,aAAAA,EAAAA,EAAAA,cAAAA,GAAAA,e,EAAAA,KAAAA,GAAAA,CAAAA,IA0SL,OAvRA,SAAkBrqE,GAChB,IACE+G,EAUE/G,EAVF+G,YACAiI,EASEhP,EATFgP,QAFF,EAWIhP,EARFG,MAAAA,OAHF,MAGU,GAHV,IAWIH,EAPFgH,WAAAA,OAJF,WAWIhH,EANFyoE,YAAAA,OALF,SAOE1mD,EAIE/hB,EAJF+hB,UACAliB,EAGEG,EAHFH,MACAqB,EAEElB,EAFFkB,UATF,EAWIlB,EADF4S,UAAAA,OAVF,MAUc,aAVd,EAYMjD,EAAM,CAACiD,EAAW1R,GAAWuE,OAAOC,SAASC,KAAK,KAAKC,OAE7D,GAA8CpB,EAAAA,EAAAA,UAAS,IAAvD,eAAOknE,EAAP,KAAwBC,EAAxB,KACA,GAAgDnnE,EAAAA,EAAAA,UAAS,IAAzD,eAAOonE,EAAP,KAAyBC,EAAzB,KACA,GAA6CrnE,EAAAA,EAAAA,UAA0BwK,GAAW,IAAlF,eAAOy7D,EAAP,KAAwBC,EAAxB,KACMoB,GAA2Bz4D,EAAAA,EAAAA,QAAe,GAChD,GAAwC7O,EAAAA,EAAAA,UAAuC,IAAIunE,KAAnF,eAAO5C,EAAP,KAAqBC,EAArB,KACA,GAAgD5kE,EAAAA,EAAAA,UAAuC,IAAIunE,KAA3F,eAAOC,EAAP,KAAyBC,EAAzB,KACA,GAA+CznE,EAAAA,EAAAA,UAA6C,IAA5F,eAAO0nE,EAAP,KAAyBC,EAAzB,KACA,GAAiD3nE,EAAAA,EAAAA,UAA6C,IAA9F,eAAO4nE,EAAP,KAA0BC,EAA1B,KACA,GAAqC7nE,EAAAA,EAAAA,UAA0B,IAA/D,eAAO8nE,EAAP,KAAoBC,EAApB,KACA,GAAgD/nE,EAAAA,EAAAA,UAAwD,CACtG0D,KAAMmiE,GAAcmC,UACpBzhD,MAAOs/C,GAAcmC,YAFvB,eAAOC,GAAP,KAAyBC,GAAzB,MAKAn5D,EAAAA,EAAAA,YAAU,WACJpT,IACFosE,EAAcpsE,GAAS,IAElB,MAALA,GAAAA,EAAOoS,SAASm2D,SAAAA,GAAD,OAAaS,EAAawD,IAAIjE,EAAQjlD,IAAKilD,EAAQxjE,MAAnD,IACf0nE,IAAYzsD,SAAAA,GAAD,QAAY,MAAChgB,IAAAA,EAAOgC,MAAMumE,SAAAA,GAAD,OAAavoD,EAAMsD,MAAQilD,EAAQjlD,GAAnC,IAAzB,IALN,GAON,CAAC2qB,KAAKC,UAAUluC,KAEnB,IAAMysE,GAAcC,SAAAA,GAClBf,EAAyBt4D,QAAU,GACPquB,SAAtBipC,EAAsBjpC,GAC1BA,EAAUtvB,SAAS4N,SAAAA,GAAoB,MAC/B6qD,EAAS6B,EAAW1sD,GAC1B,GAAK,SAACA,EAAM1d,WAANmnE,EAAgB5kE,OAAQ,CAC5B8lE,EAAmB3qD,EAAM1d,UACzB,IAAMN,EAAOge,EAAM1d,SAASN,MAAMC,SAAAA,GAAD,OAAqBA,EAAKqjE,QAA1B,IACjCtlD,EAAMslD,SAAWuF,IAAW7oE,CAH9B,MAKEge,EAAMslD,SAAWuF,EAEd7qD,EAAMslD,UACTqG,EAAyBt4D,SAV7B,GADF,CAeAs3D,CAAmBL,GACnBC,GAAkB,QAAID,GAlBxB,EAqBMlB,GAAsB,SAAtBA,EAAuB1nC,EAAuBsnC,EAA4CK,GAC9F,IAAMC,EAAW,SAAChmD,EAAsBve,EAAeskE,GACjDA,EACFL,EAAawD,IAAIlpD,EAAKve,GAEtBikE,EAAa2D,OAAOrpD,EAJxB,EAOMimD,EAAkBvpD,SAAlBupD,EAAkBvpD,GACtB,GAAIA,EAAMykD,OAAQ,CAChB,IAAM+E,EAAcxpD,EAAMykD,OAAOniE,SAASgD,QACvC0a,SAAAA,GAAD,OAAsBgpD,EAAa4D,IAAI5sD,EAAMsD,OAAUtD,EAAMslD,QAA7D,IACAzgE,OACFykE,EAAStpD,EAAMykD,OAAOnhD,IAAKtD,EAAMykD,OAAO1/D,MAAuB,IAAhBykE,GAC/CD,EAAevpD,EAAMykD,OACtB,CAPH,EAiBA,OAPA/iC,EAAUtvB,SAAS4N,SAAAA,GAAoB,QAChC,SAACA,EAAM1d,WAANwoE,EAAgBjmE,SACpBmkE,EAAeI,EAAoBppD,EAAM1d,SAAU0mE,EAAcK,IAEnEC,EAAStpD,EAAMsD,IAAP,SAAatD,EAAMjb,YAAnB,EAAa2kE,EAAaj4C,WAAa43C,GAC/CE,EAAevpD,EALjB,IAOOgpD,CAzBT,EA2CM6D,GAAiBC,SAAAA,GACA,SAAjBA,GACFjB,EAAiBz5D,SAAQ,SAACpS,EAAOsjB,GAC/B0lD,EAAawD,IAAIlpD,EAAKtjB,EADxB,IAGA8rE,EAAoB,IAAIF,KACxBI,EAAmB,MAEnBC,EAAkB75D,SAASkR,SAAAA,GACzB0lD,EAAa2D,OAAOrpD,EADtB,IAGA4oD,EAAoB,KAGtBjD,EAAgBD,GAChB,IAAMrkE,EAAoC,GAC1CqkE,EAAa52D,SAAQ,SAACrN,EAAOue,GAAR,OAAgB3e,EAAOS,KAAK,CAAEke,IAAAA,EAAKve,MAAAA,GAAnC,IACrBlF,MAAAA,EAAMI,UAANJ,EAAMI,SAAW6sE,EAAcnoE,EAjBjC,EAwFMooE,GAASltE,SAAAA,GAAD,OACZ8S,EAAAA,EAAAA,KAACy4D,GAAD,CACEn1D,GAAI+2D,GAAAA,EACJ9qD,QAAS,kBAAMriB,EAAMqnC,OAAZ,EACTnmC,UAAc0R,EAAL,SACT/S,OAAK,QAAIsZ,SAAU,GAAIra,OAAQ,WAAckB,EAAMH,QALzC,EASd,OACEqX,EAAAA,EAAAA,MAACk2D,GAAD,CAAclsE,UAAWyO,EAAK9P,OAAK,QAAIlB,MAAO,KAAQkB,GAAtD4C,SAAAA,EACEyU,EAAAA,EAAAA,MAACu0D,GAAD,CACE1pD,UAAW,CAAE/Z,QAAS,WACtBrF,OACEuU,EAAAA,EAAAA,MAAAA,MAAAA,CAAAzU,SAAAA,CACGgmE,IACC31D,EAAAA,EAAAA,KAAC9I,GAAD,CACEigC,cAAeiiC,EAAiBlnE,OAAS8mE,EAAyBt4D,WAAa04D,EAAiBlnE,OAChGgkC,QAASkjC,EAAiBlnE,QAAU8mE,EAAyBt4D,WAAa04D,EAAiBlnE,OAC3F5E,SA5DeC,SAAAA,GAC3B,IAAMsoE,EAAYtoE,EAAEC,OAAO0oC,QAG3B,GADAyjC,GAAiBvkE,KAAOygE,EAAY,EAAI,EACpCA,EAAW,CACb,IAAM3iE,EAA+B,IACHykE,SAA5B4C,EAA4B5C,GAChCA,EAAgBl4D,SAAS4N,SAAAA,GAAU,MACjC,SAAIA,EAAM1d,WAAN6qE,EAAgBtoE,QAClBqoE,EAAyBltD,EAAM1d,UAE5B0d,EAAMslD,WACTuG,EAAiBW,IAAIxsD,EAAMsD,IAAMtD,EAAMjb,OACvCc,EAAKT,KAAK4a,EAAMsD,KANpB,GADF,CAWA4pD,CAAyB5C,GAEzBwB,EAAoBD,GACpBG,EAAmBnmE,EAhBrB,MAkBEmmE,EAAmB,IACnBF,EAAoB,IAAIF,KAE1BW,GAAoBD,GAzBtB,KA+DUv1D,EAAAA,EAAAA,MAAAA,QAAAA,CAAOrX,MAAO,CAAEiH,WAAY,GAA5BrE,SAAAA,CACGypE,EAAiBlnE,OADpB,IAC6B8mE,EAAyBt4D,cAI1DtS,UAAc0R,EAAL,QAhBXnQ,SAAAA,CAkBGuE,IACC8L,EAAAA,EAAAA,KAAC/H,GAAD,CACEhE,YAAaA,EACb5G,MAAOurE,EACPtrE,SAAWC,SAAAA,GAAD,OArGWkoE,EAqGuDloE,EAAEC,OAAOH,MApG7FysE,IAAYzsD,SAAAA,GACV,IAAIotD,GAAkBptD,EAAMjb,MAAiBE,SAASmjE,EAAY3iE,QAKlE,OAJK2nE,IAEHA,IADmBjB,EAAYnqE,MAAMsxB,SAAAA,GAAD,OAAcA,EAAShQ,MAAQtD,EAAMsD,GAArC,KAG/B8pD,CANC,IASV5B,EAAmBpD,QAEnBvoE,MAAAA,EAAMiH,UAANjH,EAAMiH,SAAW,OAAQshE,IAZIA,IAAAA,CAqGX,KAGdz1D,EAAAA,EAAAA,KAACw4D,GAAD,CAA2BpqE,UAAc0R,EAAL,kBAApCnQ,UACEqQ,EAAAA,EAAAA,KAAClH,GAAD,CACEu6D,kBAAkB,EAClBp/D,YAAaA,GAAe,2BAC5BhG,KAAM0pE,EACN9F,aAAcuH,EACdn4C,WAjJiB,SACzB4wC,EACAuF,EACAvB,EACA5jD,GAEAonD,EAAmBxH,GACnB,IAAM6I,EAAmBjE,GAAoB,CAACxkD,GAAMinD,EAAkBrD,GACtEsD,EAAoBuB,EARtB,UAqJIt2D,EAAAA,EAAAA,MAACs0D,GAAD,CAAsBtqE,UAAc0R,EAAL,iBAA/BnQ,SAAAA,EACEqQ,EAAAA,EAAAA,KAACo6D,GAAD,CACE7lC,MAAO,kBAAM2lC,GAAc,OAApB,EACPntE,MAAO,CAAEuE,UAAW,iBAAkBqpE,WAAYvB,EAAiBlnE,OAAS,EAAI,UAAY,WAE9F8N,EAAAA,EAAAA,KAACo6D,GAAD,CACE7lC,MAAO,kBAAM2lC,GAAc,QAApB,EACPntE,MAAO,CAAEuE,UAAW,gBAAiBqpE,WAAYrB,EAAkBpnE,OAAS,EAAI,UAAY,cAGhGkS,EAAAA,EAAAA,MAACu0D,GAAD,CACE1pD,UAAW,CAAE/Z,QAAS,WACtB9G,UAAc0R,EAAL,QACTjQ,OACEuU,EAAAA,EAAAA,MAAAA,MAAAA,CAAAzU,SAAAA,CACGgmE,IACC31D,EAAAA,EAAAA,KAAC9I,GAAD,CACEigC,cAAemiC,EAAkBpnE,OAASsnE,EAAYtnE,UAAYonE,EAAkBpnE,OACpFgkC,QAASojC,EAAkBpnE,SAAWsnE,EAAYtnE,UAAYonE,EAAkBpnE,OAChF5E,SA9EgBC,SAAAA,GAC5B,IAAMsoE,EAAYtoE,EAAEC,OAAO0oC,QAG3B,GADAyjC,GAAiB1hD,MAAQ49C,EAAY,EAAI,EACrCA,EAAW,CACb,IAAM3iE,EAAOsmE,EAAYjrE,KAAK8e,SAAAA,GAAD,OAAWA,EAAMsD,GAAjB,IAC7B4oD,EAAoBrmE,EAFtB,MAIEqmE,EAAoB,IAEtBK,GAAoBD,GAVtB,KAiFUv1D,EAAAA,EAAAA,MAAAA,QAAAA,CAAOrX,MAAO,CAAEiH,WAAY,GAA5BrE,SAAAA,CACG2pE,EAAkBpnE,OADrB,IAC8BsnE,EAAYtnE,aAbhDvC,SAAAA,CAkBGuE,IACC8L,EAAAA,EAAAA,KAAC/H,GAAD,CACEhE,YAAaA,EACb5G,MAAOyrE,EACPxrE,SAAWC,SAAAA,GAAD,OAnIYkoE,EAmIuDloE,EAAEC,OAAOH,MAlI9F0rE,EAAoBtD,GAEpB+D,EAAY/5D,SAASzN,SAAAA,GACnB,IAAMkmE,GAAWlmE,EAAOI,MAAiBE,SAASmjE,EAAY3iE,QAC9Dd,EAAO2gE,SAAWuF,CAFpB,IAIAuB,EAAcD,QAEdtsE,MAAAA,EAAMiH,UAANjH,EAAMiH,SAAW,QAASshE,IATIA,IAAAA,CAmIZ,KAGdz1D,EAAAA,EAAAA,KAAAA,MAAAA,CAAK5R,UAAc0R,EAAL,kBAAiC/S,MAAOkiB,EAAtDtf,UACEqQ,EAAAA,EAAAA,KAAClH,GAAD,CAAa7K,KAAMurE,EAAa3H,aAAcyH,EAAmBr4C,WA9K5C4wC,SAAAA,GAC3B0H,EAAoB1H,EADtB,WAmLD,C,g0OEtTG+I,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBnnE,IAAjBonE,EACH,OAAOA,EAAaC,QAGrB,IAAIC,EAASL,EAAyBE,GAAY,CAGjDE,QAAS,CAAC,GAOX,OAHAE,EAAoBJ,GAAU9vB,KAAKiwB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAGpEI,EAAOD,OACf,CAGAH,EAAoB9oE,EAAImpE,E,WCzBxB,IAAIC,EAAW,GACfN,EAAoBO,EAAI,SAASjjD,EAAQkjD,EAAUC,EAAIC,GACtD,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASxpE,EAAI,EAAGA,EAAIkpE,EAASjpE,OAAQD,IAAK,CACrCopE,EAAWF,EAASlpE,GAAG,GACvBqpE,EAAKH,EAASlpE,GAAG,GACjBspE,EAAWJ,EAASlpE,GAAG,GAE3B,IAJA,IAGIypE,GAAY,EACPxR,EAAI,EAAGA,EAAImR,EAASnpE,OAAQg4D,MACpB,EAAXqR,GAAsBC,GAAgBD,IAAatoE,OAAOC,KAAK2nE,EAAoBO,GAAGO,OAAM,SAAShrD,GAAO,OAAOkqD,EAAoBO,EAAEzqD,GAAK0qD,EAASnR,GAAK,IAChKmR,EAASvmC,OAAOo1B,IAAK,IAErBwR,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACbP,EAASrmC,OAAO7iC,IAAK,GACrB,IAAI67C,EAAIwtB,SACE3nE,IAANm6C,IAAiB31B,EAAS21B,EAC/B,CACD,CACA,OAAO31B,CArBP,CAJCojD,EAAWA,GAAY,EACvB,IAAI,IAAItpE,EAAIkpE,EAASjpE,OAAQD,EAAI,GAAKkpE,EAASlpE,EAAI,GAAG,GAAKspE,EAAUtpE,IAAKkpE,EAASlpE,GAAKkpE,EAASlpE,EAAI,GACrGkpE,EAASlpE,GAAK,CAACopE,EAAUC,EAAIC,EAwB/B,C,IC5BAV,EAAoBe,EAAI,SAASX,GAChC,IAAIY,EAASZ,GAAUA,EAAOa,WAC7B,WAAa,OAAOb,EAAgB,OAAG,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAJ,EAAoBzuE,EAAEyvE,EAAQ,CAAE/I,EAAG+I,IAC5BA,CACR,E,WCPA,IACIE,EADAC,EAAW/oE,OAAOgpE,eAAiB,SAASp3C,GAAO,OAAO5xB,OAAOgpE,eAAep3C,EAAM,EAAI,SAASA,GAAO,OAAOA,EAAIq3C,SAAW,EAQpIrB,EAAoB1rE,EAAI,SAAS9B,EAAOguD,GAEvC,GADU,EAAPA,IAAUhuD,EAAQmR,KAAKnR,IAChB,EAAPguD,EAAU,OAAOhuD,EACpB,GAAoB,kBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPguD,GAAahuD,EAAMyuE,WAAY,OAAOzuE,EAC1C,GAAW,GAAPguD,GAAoC,oBAAfhuD,EAAMs2C,KAAqB,OAAOt2C,CAC5D,CACA,IAAI8uE,EAAKlpE,OAAOo+C,OAAO,MACvBwpB,EAAoB/sB,EAAEquB,GACtB,IAAIC,EAAM,CAAC,EACXL,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIt7D,EAAiB,EAAP26C,GAAYhuD,EAAyB,iBAAXqT,KAAyBq7D,EAAe3iC,QAAQ14B,GAAUA,EAAUs7D,EAASt7D,GACxHzN,OAAOopE,oBAAoB37D,GAASjB,SAAQ,SAASkR,GAAOyrD,EAAIzrD,GAAO,WAAa,OAAOtjB,EAAMsjB,EAAM,CAAG,IAI3G,OAFAyrD,EAAa,QAAI,WAAa,OAAO/uE,CAAO,EAC5CwtE,EAAoBzuE,EAAE+vE,EAAIC,GACnBD,CACR,C,ICxBAtB,EAAoBzuE,EAAI,SAAS4uE,EAASsB,GACzC,IAAI,IAAI3rD,KAAO2rD,EACXzB,EAAoB0B,EAAED,EAAY3rD,KAASkqD,EAAoB0B,EAAEvB,EAASrqD,IAC5E1d,OAAOupE,eAAexB,EAASrqD,EAAK,CAAE8rD,YAAY,EAAMxC,IAAKqC,EAAW3rD,IAG3E,ECPAkqD,EAAoB6B,EAAI,CAAC,EAGzB7B,EAAoBttE,EAAI,SAASovE,GAChC,OAAOx5B,QAAQO,IAAIzwC,OAAOC,KAAK2nE,EAAoB6B,GAAGE,QAAO,SAASC,EAAUlsD,GAE/E,OADAkqD,EAAoB6B,EAAE/rD,GAAKgsD,EAASE,GAC7BA,CACR,GAAG,IACJ,ECPAhC,EAAoBiC,EAAI,SAASH,GAEhC,MAAO,cAA4B,OAAZA,EAAmB,qBAAuBA,GAAW,IAAM,CAAC,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,WACzrF,ECHA9B,EAAoBkC,SAAW,SAASJ,GAEvC,MAAO,cAAgBA,EAAU,IAAM,CAAC,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,YAC7H,ECJA9B,EAAoBmC,EAAI,WACvB,GAA0B,kBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOz+D,MAAQ,IAAI0+D,SAAS,cAAb,EAGhB,CAFE,MAAO3vE,GACR,GAAsB,kBAAXI,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBktE,EAAoB0B,EAAI,SAAS13C,EAAKs4C,GAAQ,OAAOlqE,OAAO63C,UAAUC,eAAeC,KAAKnmB,EAAKs4C,EAAO,E,WCAtG,IAAIC,EAAa,CAAC,EACdC,EAAoB,WAExBxC,EAAoByC,EAAI,SAAS7sD,EAAK8sD,EAAM5sD,EAAKgsD,GAChD,GAAGS,EAAW3sD,GAAQ2sD,EAAW3sD,GAAKhe,KAAK8qE,OAA3C,CACA,IAAIC,EAAQC,EACZ,QAAW9pE,IAARgd,EAEF,IADA,IAAI+sD,EAAU/iE,SAASgjE,qBAAqB,UACpC1rE,EAAI,EAAGA,EAAIyrE,EAAQxrE,OAAQD,IAAK,CACvC,IAAI2rE,EAAIF,EAAQzrE,GAChB,GAAG2rE,EAAEC,aAAa,QAAUptD,GAAOmtD,EAAEC,aAAa,iBAAmBR,EAAoB1sD,EAAK,CAAE6sD,EAASI,EAAG,KAAO,CACpH,CAEGJ,IACHC,GAAa,GACbD,EAAS7iE,SAASyF,cAAc,WAEzB09D,QAAU,QACjBN,EAAOt/D,QAAU,IACb28D,EAAoBkD,IACvBP,EAAO3mB,aAAa,QAASgkB,EAAoBkD,IAElDP,EAAO3mB,aAAa,eAAgBwmB,EAAoB1sD,GACxD6sD,EAAO5rD,IAAMnB,GAEd2sD,EAAW3sD,GAAO,CAAC8sD,GACnB,IAAIS,EAAmB,SAASx5C,EAAM2vB,GAErCqpB,EAAOS,QAAUT,EAAOU,OAAS,KACjCr/D,aAAaX,GACb,IAAIigE,EAAUf,EAAW3sD,GAIzB,UAHO2sD,EAAW3sD,GAClB+sD,EAAO/mD,YAAc+mD,EAAO/mD,WAAW9V,YAAY68D,GACnDW,GAAWA,EAAQ1+D,SAAQ,SAAS67D,GAAM,OAAOA,EAAGnnB,EAAQ,IACzD3vB,EAAM,OAAOA,EAAK2vB,EACtB,EAEIj2C,EAAUO,WAAWu/D,EAAiB1/D,KAAK,UAAM3K,EAAW,CAAE9G,KAAM,UAAWW,OAAQgwE,IAAW,MACtGA,EAAOS,QAAUD,EAAiB1/D,KAAK,KAAMk/D,EAAOS,SACpDT,EAAOU,OAASF,EAAiB1/D,KAAK,KAAMk/D,EAAOU,QACnDT,GAAc9iE,SAASyjE,KAAKx9D,YAAY48D,EApCkB,CAqC3D,C,ICxCA3C,EAAoB/sB,EAAI,SAASktB,GACX,qBAAXqD,QAA0BA,OAAOC,aAC1CrrE,OAAOupE,eAAexB,EAASqD,OAAOC,YAAa,CAAEjxE,MAAO,WAE7D4F,OAAOupE,eAAexB,EAAS,aAAc,CAAE3tE,OAAO,GACvD,ECNAwtE,EAAoB0D,EAAI,K,WCAxB,IAyCIC,EAAiB,SAAS7B,GAC7B,OAAO,IAAIx5B,SAAQ,SAASC,EAASq7B,GACpC,IAAI5wE,EAAOgtE,EAAoBkC,SAASJ,GACpC+B,EAAW7D,EAAoB0D,EAAI1wE,EACvC,GAlBmB,SAASA,EAAM6wE,GAEnC,IADA,IAAIC,EAAmBhkE,SAASgjE,qBAAqB,QAC7C1rE,EAAI,EAAGA,EAAI0sE,EAAiBzsE,OAAQD,IAAK,CAChD,IACI2sE,GADAh9C,EAAM+8C,EAAiB1sE,IACR4rE,aAAa,cAAgBj8C,EAAIi8C,aAAa,QACjE,GAAe,eAAZj8C,EAAIptB,MAAyBoqE,IAAa/wE,GAAQ+wE,IAAaF,GAAW,OAAO98C,CACrF,CACA,IAAIi9C,EAAoBlkE,SAASgjE,qBAAqB,SACtD,IAAQ1rE,EAAI,EAAGA,EAAI4sE,EAAkB3sE,OAAQD,IAAK,CACjD,IAAI2vB,EAEJ,IADIg9C,GADAh9C,EAAMi9C,EAAkB5sE,IACT4rE,aAAa,gBAChBhwE,GAAQ+wE,IAAaF,EAAU,OAAO98C,CACvD,CACD,CAKKk9C,CAAejxE,EAAM6wE,GAAW,OAAOt7B,KA7CrB,SAASu5B,EAAS+B,EAAUt7B,EAASq7B,GAC3D,IAAIM,EAAUpkE,SAASyF,cAAc,QAErC2+D,EAAQvqE,IAAM,aACduqE,EAAQlyE,KAAO,WAiBfkyE,EAAQd,QAAUc,EAAQb,OAhBL,SAAS/pB,GAG7B,GADA4qB,EAAQd,QAAUc,EAAQb,OAAS,KAChB,SAAf/pB,EAAMtnD,KACTu2C,QACM,CACN,IAAI47B,EAAY7qB,IAAyB,SAAfA,EAAMtnD,KAAkB,UAAYsnD,EAAMtnD,MAChEoyE,EAAW9qB,GAASA,EAAM3mD,QAAU2mD,EAAM3mD,OAAOK,MAAQ6wE,EACzDQ,EAAM,IAAIC,MAAM,qBAAuBxC,EAAU,cAAgBsC,EAAW,KAChFC,EAAIE,KAAO,wBACXF,EAAIryE,KAAOmyE,EACXE,EAAIG,QAAUJ,EACdF,EAAQtoD,WAAW9V,YAAYo+D,GAC/BN,EAAOS,EACR,CACD,EAEAH,EAAQlxE,KAAO6wE,EAEf/jE,SAASyjE,KAAKx9D,YAAYm+D,EAE3B,CAoBEO,CAAiB3C,EAAS+B,EAAUt7B,EAASq7B,EAC9C,GACD,EAEIc,EAAqB,CACxB,IAAK,GAGN1E,EAAoB6B,EAAE8C,QAAU,SAAS7C,EAASE,GAE9C0C,EAAmB5C,GAAUE,EAASpqE,KAAK8sE,EAAmB5C,IACzB,IAAhC4C,EAAmB5C,IAFX,CAAC,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,GAEIA,IACtDE,EAASpqE,KAAK8sE,EAAmB5C,GAAW6B,EAAe7B,GAASh5B,MAAK,WACxE47B,EAAmB5C,GAAW,CAC/B,IAAG,SAASpvE,GAEX,aADOgyE,EAAmB5C,GACpBpvE,CACP,IAEF,C,eC5DA,IAAIkyE,EAAkB,CACrB,IAAK,GAGN5E,EAAoB6B,EAAExS,EAAI,SAASyS,EAASE,GAE1C,IAAI6C,EAAqB7E,EAAoB0B,EAAEkD,EAAiB9C,GAAW8C,EAAgB9C,QAAWhpE,EACtG,GAA0B,IAAvB+rE,EAGF,GAAGA,EACF7C,EAASpqE,KAAKitE,EAAmB,SAEjC,GAAG,MAAQ/C,EAAS,CAEnB,IAAIryB,EAAU,IAAInH,SAAQ,SAASC,EAASq7B,GAAUiB,EAAqBD,EAAgB9C,GAAW,CAACv5B,EAASq7B,EAAS,IACzH5B,EAASpqE,KAAKitE,EAAmB,GAAKp1B,GAGtC,IAAI75B,EAAMoqD,EAAoB0D,EAAI1D,EAAoBiC,EAAEH,GAEpD/yB,EAAQ,IAAIu1B,MAgBhBtE,EAAoByC,EAAE7sD,GAfH,SAAS0jC,GAC3B,GAAG0mB,EAAoB0B,EAAEkD,EAAiB9C,KAEf,KAD1B+C,EAAqBD,EAAgB9C,MACR8C,EAAgB9C,QAAWhpE,GACrD+rE,GAAoB,CACtB,IAAIV,EAAY7qB,IAAyB,SAAfA,EAAMtnD,KAAkB,UAAYsnD,EAAMtnD,MAChE8yE,EAAUxrB,GAASA,EAAM3mD,QAAU2mD,EAAM3mD,OAAOokB,IACpDg4B,EAAMg2B,QAAU,iBAAmBjD,EAAU,cAAgBqC,EAAY,KAAOW,EAAU,IAC1F/1B,EAAM35C,KAAO,iBACb25C,EAAM/8C,KAAOmyE,EACbp1B,EAAMy1B,QAAUM,EAChBD,EAAmB,GAAG91B,EACvB,CAEF,GACyC,SAAW+yB,EAASA,EAC9D,MAAO8C,EAAgB9C,GAAW,CAGtC,EAUA9B,EAAoBO,EAAElR,EAAI,SAASyS,GAAW,OAAoC,IAA7B8C,EAAgB9C,EAAgB,EAGrF,IAAIkD,EAAuB,SAASC,EAA4B7xE,GAC/D,IAKI6sE,EAAU6B,EALVtB,EAAWptE,EAAK,GAChB8xE,EAAc9xE,EAAK,GACnB+xE,EAAU/xE,EAAK,GAGIgE,EAAI,EAC3B,GAAGopE,EAAS4E,MAAK,SAAS5uE,GAAM,OAA+B,IAAxBouE,EAAgBpuE,EAAW,IAAI,CACrE,IAAIypE,KAAYiF,EACZlF,EAAoB0B,EAAEwD,EAAajF,KACrCD,EAAoB9oE,EAAE+oE,GAAYiF,EAAYjF,IAGhD,GAAGkF,EAAS,IAAI7nD,EAAS6nD,EAAQnF,EAClC,CAEA,IADGiF,GAA4BA,EAA2B7xE,GACrDgE,EAAIopE,EAASnpE,OAAQD,IACzB0qE,EAAUtB,EAASppE,GAChB4oE,EAAoB0B,EAAEkD,EAAiB9C,IAAY8C,EAAgB9C,IACrE8C,EAAgB9C,GAAS,KAE1B8C,EAAgB9C,GAAW,EAE5B,OAAO9B,EAAoBO,EAAEjjD,EAC9B,EAEI+nD,EAAqBzU,KAA0B,oBAAIA,KAA0B,qBAAK,GACtFyU,EAAmBzgE,QAAQogE,EAAqBvhE,KAAK,KAAM,IAC3D4hE,EAAmBztE,KAAOotE,EAAqBvhE,KAAK,KAAM4hE,EAAmBztE,KAAK6L,KAAK4hE,G,ICpFvF,IAAIC,EAAsBtF,EAAoBO,OAAEznE,EAAW,CAAC,KAAK,KAAK,KAAK,OAAO,WAAa,OAAOknE,EAAoB,KAAO,IACjIsF,EAAsBtF,EAAoBO,EAAE+E,E","sources":["components/icons/logo.tsx","components/NoMatch/index.tsx","components/Loading/index.tsx","components/VersionSelect/index.module.less","components/VersionSelect/index.tsx","webpack://website/./src/layouts/index.module.less?2ec2","webpack://website/./src/components/SiderMenu/index.module.less?ef2e","components/icons/nav.tsx","components/SiderMenu/index.tsx","webpack://website/./src/components/Nav/index.module.less?500e","contexts/index.ts","components/icons/menu.tsx","components/Nav/index.tsx","layouts/BaseLayout.tsx","routers.tsx","index.tsx","react-i18next-config.ts","../../packages/utils/src/getScroll.ts","../../packages/utils/src/noop.ts","../../packages/utils/src/theme.ts","../../packages/react-affix/src/utils.ts","../../packages/react-affix/src/index.tsx","../../packages/react-portal/src/index.tsx","../../packages/react-overlay/src/style/index.ts","../../packages/react-overlay/src/index.tsx","../../packages/react-icon/src/style/index.ts","../../packages/react-icon/src/index.tsx","../../packages/react-button/src/style/Variant.ts","../../packages/react-button/src/style/base.ts","../../packages/react-button/src/style/index.ts","../../packages/react-button/src/index.tsx","../../packages/react-modal/src/style/index.ts","../../packages/react-modal/src/index.tsx","../../packages/react-modal/src/CallShow.tsx","../../packages/react-alert/src/style/index.ts","../../packages/react-alert/src/index.tsx","../../packages/react-auto-link/src/index.tsx","../../packages/react-avatar/src/style/index.ts","../../packages/react-avatar/src/index.tsx","../../packages/react-back-top/src/utils.ts","../../packages/react-back-top/src/style/index.ts","../../packages/react-back-top/src/index.tsx","../../packages/react-badge/src/style/index.ts","../../packages/react-badge/src/index.tsx","../../packages/react-breadcrumb/src/style/index.ts","../../packages/react-breadcrumb/src/Item.tsx","../../packages/react-breadcrumb/src/Breadcrumb.tsx","../../packages/react-breadcrumb/src/index.ts","../../packages/react-button-group/src/style/index.ts","../../packages/react-button-group/src/index.tsx","../../packages/react-overlay-trigger/src/utils.ts","../../packages/react-overlay-trigger/src/util/getBordersSize.ts","../../packages/react-overlay-trigger/src/util/isBrowser.ts","../../packages/react-overlay-trigger/src/util/isIE.ts","../../packages/react-overlay-trigger/src/util/getWindowSizes.ts","../../packages/react-overlay-trigger/src/util/getBoundingClientRect.ts","../../packages/react-overlay-trigger/src/util/getClientRect.ts","../../packages/react-overlay-trigger/src/util/getStyleComputedProperty.ts","../../packages/react-overlay-trigger/src/util/getOuterSizes.ts","../../packages/react-overlay-trigger/src/getStyle.ts","../../packages/react-overlay-trigger/src/style/index.ts","../../packages/react-overlay-trigger/src/index.tsx","../../packages/react-popover/src/style/index.ts","../../packages/react-popover/src/index.tsx","../../packages/react-popover/src/Confirm.tsx","../../packages/react-input/src/style/input.ts","../../packages/react-input/src/InputNumber.tsx","../../packages/react-input/src/index.tsx","../../packages/react-time-picker/src/style/index.ts","../../packages/react-time-picker/src/Panel.tsx","../../packages/react-time-picker/src/Time.tsx","../../packages/react-time-picker/src/index.tsx","../../packages/react-date-picker/src/style/theme.ts","../../packages/react-date-picker/src/style/day.ts","../../packages/react-date-picker/src/DatePickerDay.tsx","../../packages/react-date-picker/src/style/year-month.ts","../../packages/react-date-picker/src/DatePickerMonth.tsx","../../packages/react-date-picker/src/DatePickerYear.tsx","../../packages/react-date-picker/src/style/caption.ts","../../packages/react-date-picker/src/DatePickerCaption.tsx","../../packages/react-date-picker/src/style/index.ts","../../packages/react-date-picker/src/index.tsx","../../packages/react-calendar/src/style/index.ts","../../packages/react-calendar/src/DayLabel.tsx","../../packages/react-calendar/src/index.tsx","../../packages/react-card/src/style/utils.ts","../../packages/react-card/src/style/index.ts","../../packages/react-card/src/index.tsx","../../packages/react-carousel/src/style/index.ts","../../packages/react-carousel/src/index.tsx","../../packages/react-dropdown/src/index.tsx","../../packages/react-menu/src/style/index.ts","../../packages/react-menu/src/MenuItem.tsx","../../packages/react-menu/src/Divider.tsx","../../packages/react-menu/src/hooks.ts","../../packages/react-menu/src/SubMenu.tsx","../../packages/react-menu/src/Menu.tsx","../../packages/react-menu/src/index.ts","../../packages/react-cascader/src/style/index.ts","../../packages/react-cascader/src/index.tsx","../../packages/react-radio/src/style/index.ts","../../packages/react-radio/src/RadioAbstract.tsx","../../packages/react-radio/src/Radio.tsx","../../packages/react-radio/src/RadioGroup.tsx","../../packages/react-radio/src/RadioButton.tsx","../../packages/react-checkbox/src/style/index.ts","../../packages/react-checkbox/src/Group.tsx","../../packages/react-checkbox/src/Checkbox.tsx","../../packages/react-checkbox/src/index.ts","../../packages/react-collapse/src/style/index.ts","../../packages/react-collapse/src/Collapse.tsx","../../packages/react-collapse/src/Panel.tsx","../../packages/react-collapse/src/index.ts","../../packages/react-copy-to-clipboard/src/index.tsx","../../packages/react-date-input/src/style/index.ts","../../packages/react-date-input/src/DateInputRange.tsx","../../packages/react-date-input/src/index.tsx","../../packages/react-descriptions/src/DescriptionsItem.tsx","../../packages/react-descriptions/src/style/index.ts","../../packages/react-descriptions/src/Cell.tsx","../../packages/react-descriptions/src/Row.tsx","../../packages/react-descriptions/src/index.tsx","../../packages/react-divider/src/style/index.ts","../../packages/react-divider/src/index.tsx","../../packages/react-drawer/src/style/index.ts","../../packages/react-drawer/src/index.tsx","../../packages/react-empty/src/style/index.ts","../../packages/react-empty/src/index.tsx","../../packages/react-file-input/src/style/index.ts","../../packages/react-file-input/src/Input.tsx","../../packages/react-file-input/src/List.tsx","../../packages/react-file-input/src/Card.tsx","../../packages/react-file-input/src/utils.ts","../../packages/react-file-input/src/FileList.tsx","../../packages/react-file-input/src/index.tsx","../../packages/react-grid/src/style/col.ts","../../packages/react-grid/src/Col.tsx","../../packages/react-grid/src/style/row.ts","../../packages/react-grid/src/Row.tsx","../../packages/react-select/src/Option.tsx","../../packages/react-select/src/Group.tsx","../../packages/react-select/src/style/index.ts","../../packages/react-select/src/index.tsx","../../packages/react-textarea/src/style/index.ts","../../packages/react-textarea/src/index.tsx","../../packages/react-form/src/style/item.ts","../../packages/react-form/src/FormItem.tsx","../../packages/react-form/src/style/index.ts","../../packages/react-form/src/Form.tsx","../../packages/react-form/src/index.ts","../../packages/react-list/src/style/index.ts","../../packages/react-list/src/Item.tsx","../../packages/react-list/src/index.tsx","../../packages/react-loader/src/style/index.ts","../../packages/react-loader/src/index.tsx","../../packages/react-message/src/style/index.ts","../../packages/react-message/src/index.tsx","../../packages/react-month-picker/src/style/index.ts","../../packages/react-month-picker/src/index.tsx","../../packages/react-notify/src/style/index.ts","../../packages/react-notify/src/Container.tsx","../../packages/react-notify/src/index.tsx","../../packages/utils/src/randomid.ts","../../packages/react-pagination/src/style/index.ts","../../packages/react-pagination/src/index.tsx","../../packages/react-pin-code/src/style/index.ts","../../packages/react-pin-code/src/index.tsx","../../packages/react-progress/src/utils.tsx","../../packages/react-progress/src/style/index.ts","../../packages/react-progress/src/Circle.tsx","../../packages/react-progress/src/Line.tsx","../../packages/react-progress/src/index.ts","../../packages/react-rate/src/style/index.ts","../../packages/react-rate/src/index.tsx","../../packages/react-tag/src/style/index.ts","../../packages/react-tag/src/index.tsx","../../packages/react-search-select/src/style/index.ts","../../packages/react-search-select/src/index.tsx","../../packages/react-steps/src/style/index.ts","../../packages/react-steps/src/Steps.tsx","../../packages/react-steps/src/Step.tsx","../../packages/react-steps/src/index.ts","../../packages/react-slider/src/style/index.ts","../../packages/react-slider/src/Dots.tsx","../../packages/react-slider/src/index.tsx","../../packages/react-switch/src/style/index.ts","../../packages/react-switch/src/index.tsx","../../packages/react-table/src/style/index.ts","../../packages/react-table/src/util.ts","../../packages/react-table/src/ThComponent.tsx","../../packages/react-table/src/Thead.tsx","../../packages/react-table/src/Expandable.tsx","../../packages/react-table/src/TableTr.tsx","../../packages/react-table/src/index.tsx","../../packages/react-tabs/src/style/index.ts","../../packages/react-tabs/src/index.tsx","../../packages/react-tabs/src/Pane.tsx","../../packages/react-tooltip/src/style/index.ts","../../packages/react-tooltip/src/index.tsx","../../packages/react-tree/src/style/index.ts","../../packages/react-tree/src/TreeNode.tsx","../../packages/react-tree/src/index.tsx","../../packages/react-tree-checked/src/style/index.ts","../../packages/react-tree-checked/src/index.tsx","../../packages/react-search-tree/src/style/index.ts","../../packages/react-search-tree/src/SearchTagInput.tsx","../../packages/react-search-tree/src/index.tsx","../../packages/react-transfer/src/index.tsx","../../packages/react-transfer/src/style/index.ts","../webpack/bootstrap","../webpack/runtime/chunk loaded","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","../webpack/startup"],"sourcesContent":["import React from 'react';\n\nconst logo = (\n <svg viewBox=\"0 0 20 20\" width=\"23\" height=\"23\" version=\"1.1\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M5.70480219,0 L10.4096044,3.41834667 L8.61252986,8.94934776 L2.79707453,8.94934776 L1,3.41834667 L5.70480219,0 Z M5.70480219,20 L1,16.5816533 L2.79707453,11.0506522 L8.61252986,11.0506522 L10.4096044,16.5816533 L5.70480219,20 Z M18.8709653,12.9678909 L13.3400514,14.7649021 L9.92167142,10.0599974 L13.3399103,5.35519519 L18.8708781,7.15237223 L18.8709653,12.9678909 Z\"\n fill=\"#FFFFFF\"\n />\n </g>\n </svg>\n);\n\nconst dark = logo;\n\nconst light = (\n <svg viewBox=\"0 0 20 20\" version=\"1.1\">\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M5.70480219,0 L10.4096044,3.41834667 L8.61252986,8.94934776 L2.79707453,8.94934776 L1,3.41834667 L5.70480219,0 Z M5.70480219,20 L1,16.5816533 L2.79707453,11.0506522 L8.61252986,11.0506522 L10.4096044,16.5816533 L5.70480219,20 Z M18.8709653,12.9678909 L13.3400514,14.7649021 L9.92167142,10.0599974 L13.3399103,5.35519519 L18.8708781,7.15237223 L18.8709653,12.9678909 Z\"\n fill=\"#FFFFFF\"\n />\n </g>\n </svg>\n);\n\nexport default {\n dark,\n light,\n};\n","import { Link } from 'react-router-dom';\n\nexport default function NoMatch() {\n return (\n <div>\n <h2>It looks like you're lost...</h2>\n <p>\n <Link to=\"/\">Go to the home page</Link>\n </p>\n </div>\n );\n}\n","import { Loader, Icon } from 'uiw';\n\nexport default function De() {\n return (\n <Loader tip=\"Loading...\" indicator={<Icon type=\"loading\" spin={true} style={{ verticalAlign: 'text-top' }} />} />\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useMemo } from 'react';\nimport { Select } from 'uiw';\nimport pkg from 'uiw/package.json';\nimport styles from './index.module.less';\n\ntype OptionsProps = {\n version?: string;\n};\n\nfunction Options(props = {} as OptionsProps) {\n return useMemo(() => <Select.Option value={props.version}>{props.version}</Select.Option>, [props.version]);\n}\n\nexport type VersionSelectProps = {\n data: string[];\n};\n\nconst VersionSelect = (props = {} as VersionSelectProps) => {\n function onChange(e: React.ChangeEvent<HTMLSelectElement>) {\n const version = e.target.value;\n const isV1 = version.split('.')[0] === '1';\n if (isV1) {\n window.location.href = `https://unpkg.com/uiw@${version}/dist/index.html`;\n } else {\n window.location.href = `https://unpkg.com/@uiw/doc@${version}/web/index.html`;\n }\n }\n // @ts-ignore\n // eslint-disable-next-line no-undef\n const currentVersion = pkg.version;\n const versionList = props.data;\n const firstVersion = versionList[0];\n if (firstVersion !== currentVersion) {\n versionList.unshift(currentVersion);\n }\n return useMemo(\n () => (\n <div className={styles.nav}>\n <Select defaultValue={versionList[0]} onChange={onChange}>\n {versionList.map((version, idx) => {\n return <Options key={idx} version={version} />;\n })}\n </Select>\n </div>\n ),\n [versionList],\n );\n};\n\nexport default VersionSelect;\n","// extracted by mini-css-extract-plugin\nexport default {\"sider\":\"index_sider__vrASx\",\"menuWarpper\":\"index_menuWarpper__asOzy\",\"subMenu\":\"index_subMenu__c4Mvo\",\"layoutWrap\":\"index_layoutWrap__6CE3D\",\"layoutSider\":\"index_layoutSider__1t-SG\"};","// extracted by mini-css-extract-plugin\nexport default {\"title\":\"index_title__O5TzH\",\"menu\":\"index_menu__9HE8I\",\"divider\":\"index_divider__1cINS\"};","import React from 'react';\n\nexport default {\n home: (\n <svg width=\"23\" height=\"24\" viewBox=\"0 0 23 24\">\n <path\n fill=\"#555\"\n d=\"M7.95808665,21.4797568 L7.95808665,14.2926972 C7.95808665,13.872855 8.29729322,13.5325056 8.71572573,13.5325056 L14.7768383,13.5325056 C15.1952708,13.5325056 15.5344774,13.872855 15.5344774,14.2926972 L15.5344774,21.4800639 L18.3333605,21.4801773 C18.4412665,21.4760176 18.5251665,21.4671569 18.58271,21.4596448 C18.588514,21.3995182 18.5915777,21.3235793 18.5907536,21.2318213 L18.5909124,14.2893672 C18.590922,13.869525 18.9301364,13.5291834 19.3485689,13.5291931 C19.7670014,13.5292027 20.1062001,13.8695599 20.1061905,14.2894021 L20.1059996,21.2248359 C20.1119888,21.8771673 19.9896563,22.3494462 19.5993559,22.6516032 C19.3010239,22.8825616 18.9057568,22.9796164 18.3624477,23 L4.48346492,22.9997015 C3.86961191,22.9824374 3.38486601,22.8118189 3.07125061,22.4182996 C2.79329968,22.0695315 2.68322544,21.5965073 2.68425496,20.9934992 L2.68424909,14.2893853 C2.68424872,13.8695431 3.02345499,13.5291934 3.4418875,13.5291931 C3.86032001,13.5291927 4.19952687,13.8695418 4.19952724,14.289384 L4.199532,20.9947994 C4.19904359,21.2811808 4.23526541,21.4410529 4.2538782,21.4676906 C4.24030246,21.4480656 4.31738234,21.474056 4.50469304,21.4796169 L7.95808665,21.4797568 Z M9.4733648,21.4798183 L14.0191993,21.4800025 L14.0191993,15.0528888 L9.4733648,15.0528888 L9.4733648,21.4798183 Z M2.28332829,11.4133771 C1.98200714,11.7046849 1.50237937,11.6957445 1.21204968,11.3934082 C0.921719999,11.0910719 0.930630346,10.6098283 1.2319515,10.3185205 L10.4507678,1.41136668 C10.7833916,1.14885042 11.1310579,1 11.4999998,1 C11.9102569,1 12.2738276,1.19453217 12.5845816,1.51087139 L21.7658664,10.3164197 C22.0683439,10.6065186 22.0791684,11.0877227 21.7900436,11.3912192 C21.5009189,11.6947157 21.0213305,11.7055767 20.718853,11.4154779 L11.5218713,2.5944308 C11.4545418,2.52599021 11.4440624,2.52038312 11.4999998,2.52038312 C11.514622,2.52038312 11.4750696,2.53731716 11.4448602,2.55629655 L2.28332829,11.4133771 Z\"\n />\n </svg>\n ),\n component: (\n <svg viewBox=\"0 0 1041 1024\" width=\"20\" height=\"20\">\n <path\n d=\"M133.498105 661.882904h31.175644v195.047619a34.373146 34.373146 0 0 0 34.373146 34.373146h109.514441a34.373146 34.373146 0 1 0 0-68.746292h-75.141295V627.509758a35.172521 35.172521 0 0 0-34.373146-35.172521h-65.54879a63.950039 63.950039 0 0 1 0-127.900079h65.54879a35.172521 35.172521 0 0 0 34.373146-35.172521V233.417642h195.846994a35.172521 35.172521 0 0 0 35.172522-34.373146v-65.54879a63.950039 63.950039 0 0 1 127.900078 0v65.54879a35.172521 35.172521 0 0 0 35.172521 34.373146h195.047619v74.341921a34.373146 34.373146 0 0 0 68.746292 0V199.044496a34.373146 34.373146 0 0 0-34.373146-34.373145H661.885302v-31.175645a133.495706 133.495706 0 0 0-266.991413 0v31.175645H199.046895a34.373146 34.373146 0 0 0-34.373146 34.373145v195.846995h-31.175644A132.696331 132.696331 0 0 0 0.002398 527.587822a133.495706 133.495706 0 0 0 133.495707 134.295082z\"\n fill=\"#6F737E\"\n />\n <path\n d=\"M1004.817386 840.943013a79.937549 79.937549 0 1 1 0-159.875097 34.373146 34.373146 0 0 0 34.373146-32.774395V533.982826a34.373146 34.373146 0 0 0-34.373146-34.373146H879.315435v-10.391881a103.119438 103.119438 0 1 0-206.238876 0v10.391881H549.972734a35.172521 35.172521 0 0 0-35.172522 34.373146v124.702576h-10.391881a103.119438 103.119438 0 1 0 0 206.238876h10.391881v124.702576a35.172521 35.172521 0 0 0 35.172522 34.373146H663.484053a34.373146 34.373146 0 0 0 34.373146-34.373146 79.937549 79.937549 0 0 1 159.875098 0 34.373146 34.373146 0 0 0 34.373146 34.373146h114.310694a34.373146 34.373146 0 0 0 34.373146-34.373146V879.313037a34.373146 34.373146 0 0 0-35.971897-38.370024z\"\n fill=\"#6F737E\"\n />\n </svg>\n ),\n github: (\n <svg viewBox=\"0 0 1049 1024\" width=\"20\" height=\"20\">\n <path\n d=\"M524.979332 0C234.676191 0 0 234.676191 0 524.979332c0 232.068678 150.366597 428.501342 358.967656 498.035028 26.075132 5.215026 35.636014-11.299224 35.636014-25.205961 0-12.168395-0.869171-53.888607-0.869171-97.347161-146.020741 31.290159-176.441729-62.580318-176.441729-62.580318-23.467619-60.841976-58.234462-76.487055-58.234463-76.487055-47.804409-32.15933 3.476684-32.15933 3.476685-32.15933 53.019436 3.476684 80.83291 53.888607 80.83291 53.888607 46.935238 79.963739 122.553122 57.365291 152.97411 43.458554 4.345855-33.897672 18.252593-57.365291 33.028501-70.402857-116.468925-12.168395-239.022047-57.365291-239.022047-259.012982 0-57.365291 20.860106-104.300529 53.888607-140.805715-5.215026-13.037566-23.467619-66.926173 5.215027-139.067372 0 0 44.327725-13.906737 144.282399 53.888607 41.720212-11.299224 86.917108-17.383422 131.244833-17.383422s89.524621 6.084198 131.244833 17.383422C756.178839 203.386032 800.506564 217.29277 800.506564 217.29277c28.682646 72.1412 10.430053 126.029806 5.215026 139.067372 33.897672 36.505185 53.888607 83.440424 53.888607 140.805715 0 201.64769-122.553122 245.975415-239.891218 259.012982 19.121764 16.514251 35.636014 47.804409 35.636015 97.347161 0 70.402857-0.869171 126.898978-0.869172 144.282399 0 13.906737 9.560882 30.420988 35.636015 25.205961 208.601059-69.533686 358.967656-265.96635 358.967655-498.035028C1049.958663 234.676191 814.413301 0 524.979332 0z\"\n fill=\"#191717\"\n />\n <path\n d=\"M199.040177 753.571326c-0.869171 2.607513-5.215026 3.476684-8.691711 1.738342s-6.084198-5.215026-4.345855-7.82254c0.869171-2.607513 5.215026-3.476684 8.691711-1.738342s5.215026 5.215026 4.345855 7.82254z m-6.953369-4.345856M219.900283 777.038945c-2.607513 2.607513-7.82254 0.869171-10.430053-2.607514-3.476684-3.476684-4.345855-8.691711-1.738342-11.299224 2.607513-2.607513 6.953369-0.869171 10.430053 2.607514 3.476684 4.345855 4.345855 9.560882 1.738342 11.299224z m-5.215026-5.215027M240.760389 807.459932c-3.476684 2.607513-8.691711 0-11.299224-4.345855-3.476684-4.345855-3.476684-10.430053 0-12.168395 3.476684-2.607513 8.691711 0 11.299224 4.345855 3.476684 4.345855 3.476684 9.560882 0 12.168395z m0 0M269.443034 837.011749c-2.607513 3.476684-8.691711 2.607513-13.906737-1.738342-4.345855-4.345855-6.084198-10.430053-2.607513-13.037566 2.607513-3.476684 8.691711-2.607513 13.906737 1.738342 4.345855 3.476684 5.215026 9.560882 2.607513 13.037566z m0 0M308.555733 853.526c-0.869171 4.345855-6.953369 6.084198-13.037566 4.345855-6.084198-1.738342-9.560882-6.953369-8.691711-10.430053 0.869171-4.345855 6.953369-6.084198 13.037566-4.345855 6.084198 1.738342 9.560882 6.084198 8.691711 10.430053z m0 0M351.145116 857.002684c0 4.345855-5.215026 7.82254-11.299224 7.82254-6.084198 0-11.299224-3.476684-11.299224-7.82254s5.215026-7.82254 11.299224-7.82254c6.084198 0 11.299224 3.476684 11.299224 7.82254z m0 0M391.126986 850.049315c0.869171 4.345855-3.476684 8.691711-9.560882 9.560882-6.084198 0.869171-11.299224-1.738342-12.168395-6.084197-0.869171-4.345855 3.476684-8.691711 9.560881-9.560882 6.084198-0.869171 11.299224 1.738342 12.168396 6.084197z m0 0\"\n fill=\"#191717\"\n />\n </svg>\n ),\n issue: (\n <svg className=\"issue\" viewBox=\"0 0 1024 1024\" width=\"23\" height=\"23\">\n <path\n d=\"M1022.976 698.368c0-58.88-24.064-113.664-64.512-155.648-44.544 175.616-223.744 307.2-438.784 310.784 51.712 55.296 131.072 90.624 219.648 90.624 21.504 0 41.984-2.048 61.952-6.144 54.784 75.776 121.856 72.192 121.856 72.192-24.064-14.848-27.136-69.632-26.112-108.032 76.288-44.032 125.952-119.296 125.952-203.776z m0 0\"\n fill=\"#558EFF\"\n ></path>\n <path\n d=\"M458.24 13.824C205.312 13.824 0 191.488 0 410.624c0 137.216 80.384 258.048 202.24 329.216 1.536 61.44-3.584 150.016-41.984 174.592 0 0 108.544 5.632 197.12-116.736 32.256 6.144 66.048 9.728 100.352 9.728H465.92c215.04-3.584 394.24-135.168 438.784-310.784 7.168-27.648 10.752-56.32 10.752-86.016 0.512-219.136-204.288-396.8-457.216-396.8zM256 462.848c-33.792 0-60.928-27.136-60.928-60.928 0-33.792 27.136-60.928 60.928-60.928 33.792 0 60.928 27.136 60.928 60.928 0 33.792-27.136 60.928-60.928 60.928z m202.24 0c-33.792 0-60.928-27.136-60.928-60.928 0-33.792 27.136-60.928 60.928-60.928 33.792 0 60.928 27.136 60.928 60.928 0 33.792-27.136 60.928-60.928 60.928z m202.24 0c-33.792 0-60.928-27.136-60.928-60.928 0-33.792 27.136-60.928 60.928-60.928 33.792 0 60.928 27.136 60.928 60.928 0 33.792-27.136 60.928-60.928 60.928z m0 0\"\n fill=\"#549EFF\"\n ></path>\n </svg>\n ),\n gitee: (\n <svg className=\"gitee\" viewBox=\"0 0 1024 1024\" width=\"200\" height=\"200\">\n <path\n d=\"M512 1024C229.222 1024 0 794.778 0 512S229.222 0 512 0s512 229.222 512 512-229.222 512-512 512z m259.149-568.883h-290.74a25.293 25.293 0 0 0-25.292 25.293l-0.026 63.206c0 13.952 11.315 25.293 25.267 25.293h177.024c13.978 0 25.293 11.315 25.293 25.267v12.646a75.853 75.853 0 0 1-75.853 75.853h-240.23a25.293 25.293 0 0 1-25.267-25.293V417.203a75.853 75.853 0 0 1 75.827-75.853h353.946a25.293 25.293 0 0 0 25.267-25.292l0.077-63.207a25.293 25.293 0 0 0-25.268-25.293H417.152a189.62 189.62 0 0 0-189.62 189.645V771.15c0 13.977 11.316 25.293 25.294 25.293h372.94a170.65 170.65 0 0 0 170.65-170.65V480.384a25.293 25.293 0 0 0-25.293-25.267z\"\n fill=\"#C71D23\"\n ></path>\n </svg>\n ),\n plugin: (\n <svg viewBox=\"0 0 1024 1024\" width=\"24\" height=\"24\">\n <path d=\"M937.6 251.3L538 69.7c-11.5-5.1-24.6-5.1-36.1 0L102.4 251.3c-22.4 9.9-32.5 32.2-22.6 54.6 4.5 10.1 12.5 15.1 22.6 19.6L502 506.1c11.5 5.1 24.6 5.1 36.1 0l399.6-180.6c22.4-9.9 32.5-33.2 22.6-55.6-4.6-10.1-12.6-14.1-22.7-18.6zM497.6 723.4l-398.7-165c-18.4-7.6-27.1-28.7-19.5-47 7.6-18.4 28.7-27.1 47-19.5l398.7 165c18.4 7.6 27.1 28.7 19.5 47-7.6 18.3-28.6 27.1-47 19.5z\" />\n <path d=\"M526.4 723.4l398.7-165c18.4-7.6 27.1-28.7 19.5-47-7.6-18.4-28.7-27.1-47-19.5l-398.7 165c-18.4 7.6-27.1 28.7-19.5 47 7.6 18.3 28.6 27.1 47 19.5z\" />\n <path d=\"M497.6 955.4l-398.7-165c-18.4-7.6-27.1-28.7-19.5-47 7.6-18.4 28.7-27.1 47-19.5l398.7 165c18.4 7.6 27.1 28.7 19.5 47-7.6 18.3-28.6 27.1-47 19.5z\" />\n <path d=\"M526.4 955.4l398.7-165c18.4-7.6 27.1-28.7 19.5-47-7.6-18.4-28.7-27.1-47-19.5l-398.7 165c-18.4 7.6-27.1 28.7-19.5 47 7.6 18.3 28.6 27.1 47 19.5z\" />\n </svg>\n ),\n};\n","import { NavLink } from 'react-router-dom';\nimport { useLocation } from 'react-router-dom';\nimport styles from './index.module.less';\nimport nav from '../icons/nav';\nimport { useTranslation } from 'react-i18next';\nimport menu from '../../menu.json';\n\nexport default function SiderMenu() {\n const location = useLocation();\n const { t: trans } = useTranslation();\n // const menu = JSON.parse(trans('menu'));\n const data = menu.find((item) => new RegExp(`^${item.path || ''}`).test(location.pathname));\n\n if (!data?.children) {\n return null;\n }\n\n const pre = `menu.${data.path}Children.`;\n const preDivider = `menu.divider.`;\n\n const title = trans(`menu.${data.path}`);\n\n return (\n <div className={styles.wapper}>\n <h2 className={styles.title}>\n {(nav as any)[data.icon]}\n <span>{title}</span>\n </h2>\n <div className={styles.menu}>\n {data.children &&\n data.children.map((item, idx) => {\n let newName = item.name;\n let newPre = item.divider ? preDivider : pre;\n if (item.path || item.translation) {\n newName = item.translation ? trans(`${newPre}${item.translation}`) : trans(`${newPre}${item.path}`);\n }\n if (item.divider) {\n return (\n <div key={idx} className={styles.divider}>\n {newName}\n </div>\n );\n }\n if (/^http(?:|s):\\/\\//.test(item.path || '')) {\n return (\n <a key={idx} href={item.path} target=\"__blank\">\n {newName}\n <svg viewBox=\"0 0 1024 1024\" width={14}>\n <path d=\"M821.1456 276.8384c-235.9296 25.1392-449.1776 226.7136-490.5472 452.352a38.4 38.4 0 1 1-75.5712-13.824c45.568-248.576 269.312-468.48 526.6944-510.6688l-117.8112-69.1712a38.4 38.4 0 0 1 38.912-66.2528l223.3344 131.1744a38.4 38.4 0 0 1 10.1376 57.6l-170.752 206.6432a38.4 38.4 0 1 1-59.1872-48.9472l114.7904-138.9056z\" />\n <path d=\"M832 620.0832a38.4 38.4 0 0 1 76.8 0v158.208c0 85.9648-61.5936 157.8496-140.8 157.8496H204.8c-79.2064 0-140.8-71.8848-140.8-157.9008V300.3904c0-86.016 61.5936-157.8496 140.8-157.8496h220.2112a38.4 38.4 0 1 1 0 76.8H204.8c-33.8944 0-64 35.072-64 81.0496V778.24c0 45.9776 30.1056 81.1008 64 81.1008h563.2c33.8944 0 64-35.1232 64-81.1008v-158.1568z\" />\n </svg>\n </a>\n );\n }\n return (\n <NavLink key={idx} to={item.path || ''} replace>\n {newName}\n </NavLink>\n );\n })}\n </div>\n </div>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"logo\":\"index_logo__kUQOi\",\"top\":\"index_top__DLxV-\",\"nav\":\"index_nav__SdXbb\",\"navTop\":\"index_navTop__08yh1\",\"btn\":\"index_btn__YYGUe\",\"btnTop\":\"index_btnTop__PlNw6\"};","import React from 'react';\nimport i18n from 'react-i18next-config';\nimport { i18n as i18nType } from 'i18next';\n\ntype InitialState = {\n layout: 'top' | 'left' | 'mix';\n i18n: i18nType;\n};\n\nexport const initialState: InitialState = {\n layout: 'top',\n i18n,\n};\n\nexport const reducer = (state: InitialState, action: InitialState) => {\n return {\n ...state,\n ...action,\n };\n};\n\nexport interface Context {\n state: InitialState;\n dispatch: React.Dispatch<InitialState>;\n}\n\nexport const ThemeContext = React.createContext<Context>({\n state: initialState,\n dispatch: () => null,\n});\n","import React from 'react';\n\nexport default {\n menu: (\n <svg width=\"19\" height=\"19\" viewBox=\"0 0 26 26\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <rect width=\"26\" height=\"26\" fill=\"#9E9E9E\" rx=\"4\" />\n <rect width=\"5\" height=\"20\" x=\"3\" y=\"3\" fill=\"#202224\" rx=\"2.5\" />\n <rect width=\"12\" height=\"20\" x=\"11\" y=\"3\" fill=\"#FFF\" fillOpacity=\".657\" rx=\"2\" />\n </g>\n </svg>\n ),\n menutop: (\n <svg width=\"19\" height=\"19\" viewBox=\"0 0 26 26\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <rect width=\"26\" height=\"26\" fill=\"#9E9E9E\" rx=\"4\" />\n <rect width=\"20\" height=\"5\" x=\"3\" y=\"3\" fill=\"#202224\" rx=\"2.5\" />\n <rect width=\"20\" height=\"12\" x=\"3\" y=\"11\" fill=\"#FFF\" fillOpacity=\".66\" rx=\"2\" />\n </g>\n </svg>\n ),\n china: (\n <svg className=\"flag\" width=\"19\" height=\"19\" viewBox=\"0 0 512 512\">\n <defs>\n <path id=\"a\" fill=\"#ffde00\" d=\"M1-.3L-.7.8 0-1 .6.8-1-.3z\" />\n </defs>\n <path fill=\"#de2910\" d=\"M0 0h512v512H0z\" />\n <use width=\"30\" height=\"20\" transform=\"matrix(76.8 0 0 76.8 128 128)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"rotate(-121 142.6 -47) scale(25.5827)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"rotate(-98.1 198 -82) scale(25.6)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"rotate(-74 272.4 -114) scale(25.6137)\" xlinkHref=\"#a\" />\n <use width=\"30\" height=\"20\" transform=\"matrix(16 -19.968 19.968 16 256 230.4)\" xlinkHref=\"#a\" />\n </svg>\n ),\n};\n","import { Fragment, useContext, ChangeEvent, useMemo, useState } from 'react';\nimport { SearchSelect, Tooltip } from 'uiw';\nimport { NavLink, Link } from 'react-router-dom';\nimport styles from './index.module.less';\nimport { ThemeContext } from '../../contexts';\nimport nav from '../icons/nav';\nimport logo from '../icons/logo';\nimport menu from '../icons/menu';\nimport pkg from 'uiw/package.json';\nimport { useTranslation } from 'react-i18next';\nimport data from '../../menu.json';\n\nexport default function Nav() {\n const { state } = useContext(ThemeContext);\n const { t: trans, i18n } = useTranslation();\n const [searchText, setSearchText] = useState('');\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n // const data = useMemo(() => JSON.parse(trans('menu')), [i18n.language]);\n const menuSearchOption = useMemo(() => {\n const pre = `menu./componentsChildren.`;\n const preDivider = `menu.divider.`;\n const components = data.find((m) => m.path === '/components')?.children || [];\n const option = [];\n for (let i = 0; i < components.length; i++) {\n const com = components[i];\n const label = com.name;\n if (com.path && label.toLocaleLowerCase().includes(searchText.toLocaleLowerCase())) {\n let newName = com.name;\n let newPre = com.divider ? preDivider : pre;\n if (com.path || com.translation) {\n newName = com.translation ? trans(`${newPre}${com.translation}`) : trans(`${newPre}${com.path}`);\n }\n console.log(newName);\n const item = { label: newName, value: com.path || '' };\n option.push(item);\n }\n }\n return option;\n }, [searchText, trans]);\n\n const changeLanguage = (e: ChangeEvent<HTMLSelectElement>) => {\n i18n.changeLanguage(e.target.value);\n };\n\n const onSearchMenu = (searchText: string) => {\n setSearchText(searchText);\n };\n\n return (\n <Fragment>\n <div className={[styles.logo, state.layout === 'left' ? null : styles.top].filter(Boolean).join(' ').trim()}>\n <Link to=\"/\">\n {logo.dark}\n {state.layout === 'top' && (\n <span>\n UIW<sup>{pkg.version}</sup>\n </span>\n )}\n </Link>\n </div>\n <div className={[styles.nav, state.layout === 'left' ? null : styles.navTop].filter(Boolean).join(' ').trim()}>\n <div style={{ display: 'flex' }}>\n {data.map(({ path, name, icon, translation }, idx: number) => {\n if (Object.keys(nav).includes(icon)) {\n icon = (nav as any)[icon];\n }\n let newName = translation ? trans(`menu.${translation}`) : trans(`menu.${path}`);\n if (/^\\//.test(path)) {\n newName = trans(`menu.${path}`);\n }\n\n if (/^https?:(?:\\/\\/)?/.test(path)) {\n if (state.layout === 'top') {\n return (\n <a key={idx} target=\"__blank\" href={path} className={styles.outerUrl}>\n {icon} <span>{newName}</span>\n </a>\n );\n }\n return (\n <Tooltip\n usePortal={false}\n key={idx}\n placement={state.layout === 'left' ? 'right' : 'bottom'}\n content={<span style={{ whiteSpace: 'nowrap' }}>{newName}</span>}\n >\n <a target=\"__blank\" href={path} className={styles.outerUrl}>\n {icon}\n </a>\n </Tooltip>\n );\n }\n let activeStyle: React.CSSProperties = {\n color: '#fff',\n };\n if (state.layout === 'top') {\n return (\n <NavLink\n to={path}\n key={idx}\n // @ts-ignore\n style={({ isActive }) => (isActive ? activeStyle : undefined)}\n >\n {icon} <span>{newName}</span>\n </NavLink>\n );\n }\n\n return (\n <Tooltip\n usePortal={false}\n key={idx}\n placement={state.layout === 'left' ? 'right' : 'bottom'}\n content={<span style={{ whiteSpace: 'nowrap' }}>{newName}</span>}\n >\n <NavLink\n to={path}\n // @ts-ignore\n style={({ isActive }) => (isActive ? activeStyle : undefined)}\n >\n {icon}\n </NavLink>\n </Tooltip>\n );\n })}\n </div>\n <SearchSelect\n size=\"large\"\n style={{ width: 400, top: 30, display: 'flex', alignItems: 'center', marginLeft: 5 }}\n placeholder=\"搜索组件\"\n showSearch={true}\n onSearch={onSearchMenu}\n value={searchText}\n option={menuSearchOption}\n onSelect={(value) => {\n const isHttp = new RegExp(`^http`).test(value as string);\n if (isHttp) window.open(value as string);\n else window.location.href = `/#/components/${value}`;\n }}\n />\n </div>\n <div className={[styles.btn, state.layout === 'left' ? null : styles.btnTop].filter(Boolean).join(' ').trim()}>\n <select value={i18n.language} onChange={(e) => changeLanguage(e)}>\n <option value=\"zh-CN\">简体中文</option>\n <option value=\"en-US\">English</option>\n </select>\n\n <Tooltip placement={state.layout === 'left' ? 'right' : 'bottom'} content=\"国内镜像站点\">\n <a href=\"http://uiw.gitee.io\" rel=\"noopener noreferrer\" target=\"_blank\">\n {menu.china}\n </a>\n </Tooltip>\n {/* <button onClick={() => dispatch({ ...state, layout: state.layout === 'left' ? 'top' : 'left' })}>\n {state.layout === 'left' ? menu.menu : menu.menutop}\n </button> */}\n </div>\n </Fragment>\n );\n}\n","import { Fragment, useContext } from 'react';\nimport { Outlet } from 'react-router-dom';\nimport { Layout, Affix } from 'uiw';\nimport VersionSelect from '../components/VersionSelect';\nimport styles from './index.module.less';\nimport version from '../version.json';\nimport SiderMenu from '../components/SiderMenu';\nimport Nav from '../components/Nav';\nimport { ThemeContext } from '../contexts';\n\nconst { Header, Sider, Content } = Layout;\nexport interface ComponentsProps {\n siderMenu?: boolean;\n}\n\nexport default function Components(props: ComponentsProps) {\n const { siderMenu = true } = props;\n const { state } = useContext(ThemeContext);\n return (\n <Layout className={styles.layout}>\n {state.layout === 'top' ? (\n <Fragment>\n <Affix offsetTop={0} style={{ zIndex: 999 }}>\n <Header style={{ display: 'flex', alignItems: 'center' }}>\n <Nav />\n </Header>\n </Affix>\n <Layout className={styles.layoutWrap}>\n <Sider width={siderMenu ? 260 : 0} className={styles.layoutSider}>\n <div style={{ width: siderMenu ? 260 : 0, height: 'calc(100vh - 53px)' }}>\n <SiderMenu />\n </div>\n </Sider>\n <Content style={{ padding: 20 }} className={styles.layoutContent}>\n <Outlet />\n </Content>\n </Layout>\n </Fragment>\n ) : (\n <Fragment>\n <Sider width={siderMenu ? 330 : 64}>\n <Layout className={styles.sider}>\n <Sider className={styles.menuWarpper} width={64}>\n <Nav />\n </Sider>\n <Layout\n style={{\n position: 'fixed',\n width: siderMenu ? 330 : 64,\n zIndex: 1,\n left: 0,\n top: 0,\n bottom: 0,\n overflow: 'auto',\n }}\n >\n <Content className={styles.subMenu} style={{ paddingLeft: 64 }}>\n <SiderMenu />\n </Content>\n </Layout>\n </Layout>\n </Sider>\n <Layout style={{ position: 'relative' }}>\n <Header\n style={{\n height: 'inherit',\n lineHeight: '32px',\n position: 'absolute',\n padding: '5px 10px',\n width: '100%',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-end',\n backgroundColor: 'transparent',\n zIndex: 99,\n }}\n >\n <VersionSelect data={version} />\n </Header>\n <Content style={{ padding: 20 }} className={styles.layoutContent}>\n <Outlet />\n </Content>\n </Layout>\n </Fragment>\n )}\n </Layout>\n );\n}\n","import { lazy, Suspense } from 'react';\nimport { RouteObject } from 'react-router-dom';\nimport NoMatch from './components/NoMatch';\nimport Loading from './components/Loading';\nimport BaseLayout from './layouts/BaseLayout';\n\nconst Loadable = (Component: any) => (props: any) =>\n (\n <Suspense fallback={<Loading />}>\n <Component {...props} />\n </Suspense>\n );\n\nconst Home = Loadable(lazy(() => import('./routes/home')));\nconst Extensions = Loadable(lazy(() => import('./routes/extensions')));\n\nconst GuideQuickStart = Loadable(lazy(() => import('./routes/guide/quick-start')));\nconst GuideImport = Loadable(lazy(() => import('./routes/guide/import')));\nconst GuideCreateReactApp = Loadable(lazy(() => import('./routes/guide/create-react-app')));\nconst GuideKKT = Loadable(lazy(() => import('./routes/guide/kkt')));\nconst GuideDocs = Loadable(lazy(() => import('./routes/guide/docs')));\nconst GuideVscode = Loadable(lazy(() => import('./routes/guide/vscode')));\nconst GuideRecommendation = Loadable(lazy(() => import('./routes/guide/recommendation')));\n\nconst Overview = Loadable(lazy(() => import('./routes/overview')));\nconst Colors = Loadable(lazy(() => import('./routes/components/colors')));\nconst Alert = Loadable(lazy(() => import('./routes/components/alert')));\nconst AutoLink = Loadable(lazy(() => import('./routes/components/auto-link')));\nconst ResetCss = Loadable(lazy(() => import('./routes/components/reset-css')));\nconst Avatar = Loadable(lazy(() => import('./routes/components/avatar')));\nconst Affix = Loadable(lazy(() => import('./routes/components/affix')));\nconst Calendar = Loadable(lazy(() => import('./routes/components/calendar')));\nconst Cascader = Loadable(lazy(() => import('./routes/components/cascader')));\nconst Checkbox = Loadable(lazy(() => import('./routes/components/checkbox')));\nconst CopyToClipboard = Loadable(lazy(() => import('./routes/components/copy-to-clipboard')));\nconst Collapse = Loadable(lazy(() => import('./routes/components/collapse')));\nconst Card = Loadable(lazy(() => import('./routes/components/card')));\nconst Carousel = Loadable(lazy(() => import('./routes/components/carousel')));\nconst Descriptions = Loadable(lazy(() => import('./routes/components/descriptions')));\nconst Loader = Loadable(lazy(() => import('./routes/components/loader')));\nconst Icon = Loadable(lazy(() => import('./routes/components/icon')));\nconst Divider = Loadable(lazy(() => import('./routes/components/divider')));\nconst Drawer = Loadable(lazy(() => import('./routes/components/drawer')));\nconst DatePicker = Loadable(lazy(() => import('./routes/components/date-picker')));\nconst DateInput = Loadable(lazy(() => import('./routes/components/date-input')));\nconst Dropdown = Loadable(lazy(() => import('./routes/components/dropdown')));\nconst Badge = Loadable(lazy(() => import('./routes/components/badge')));\nconst Progress = Loadable(lazy(() => import('./routes/components/progress')));\nconst Pagination = Loadable(lazy(() => import('./routes/components/pagination')));\nconst PinCode = Loadable(lazy(() => import('./routes/components/pin-code')));\nconst Input = Loadable(lazy(() => import('./routes/components/input')));\nconst Button = Loadable(lazy(() => import('./routes/components/button')));\nconst Radio = Loadable(lazy(() => import('./routes/components/radio')));\nconst Select = Loadable(lazy(() => import('./routes/components/select')));\nconst SearchSelect = Loadable(lazy(() => import('./routes/components/search-select')));\nconst Split = Loadable(lazy(() => import('./routes/components/split')));\nconst Switch = Loadable(lazy(() => import('./routes/components/switch')));\nconst Slider = Loadable(lazy(() => import('./routes/components/slider')));\nconst Grid = Loadable(lazy(() => import('./routes/components/grid')));\nconst Form = Loadable(lazy(() => import('./routes/components/form')));\nconst FileInput = Loadable(lazy(() => import('./routes/components/file-input')));\nconst Breadcrumb = Loadable(lazy(() => import('./routes/components/breadcrumb')));\nconst List = Loadable(lazy(() => import('./routes/components/list')));\nconst Layout = Loadable(lazy(() => import('./routes/components/layout')));\nconst Notify = Loadable(lazy(() => import('./routes/components/notify')));\nconst Tree = Loadable(lazy(() => import('./routes/components/tree')));\nconst TreeChecked = Loadable(lazy(() => import('./routes/components/tree-checked')));\nconst SearchTree = Loadable(lazy(() => import('./routes/components/search-tree')));\nconst Transfer = Loadable(lazy(() => import('./routes/components/transfer')));\nconst Tag = Loadable(lazy(() => import('./routes/components/tag')));\nconst Tabs = Loadable(lazy(() => import('./routes/components/tabs')));\nconst Tooltip = Loadable(lazy(() => import('./routes/components/tooltip')));\nconst Table = Loadable(lazy(() => import('./routes/components/table')));\nconst TimePicker = Loadable(lazy(() => import('./routes/components/time-picker')));\nconst Rate = Loadable(lazy(() => import('./routes/components/rate')));\nconst Overlay = Loadable(lazy(() => import('./routes/components/overlay')));\nconst BackTop = Loadable(lazy(() => import('./routes/components/back-top')));\nconst Portal = Loadable(lazy(() => import('./routes/components/portal')));\nconst OverlayTrigger = Loadable(lazy(() => import('./routes/components/overlay-trigger')));\nconst Popover = Loadable(lazy(() => import('./routes/components/popover')));\nconst Message = Loadable(lazy(() => import('./routes/components/message')));\nconst MonthPicker = Loadable(lazy(() => import('./routes/components/month-picker')));\nconst Textarea = Loadable(lazy(() => import('./routes/components/textarea')));\nconst Modal = Loadable(lazy(() => import('./routes/components/modal')));\nconst Formatter = Loadable(lazy(() => import('./routes/components/formatter')));\nconst Steps = Loadable(lazy(() => import('./routes/components/steps')));\nconst Menu = Loadable(lazy(() => import('./routes/components/menu')));\nconst Empty = Loadable(lazy(() => import('./routes/components/empty')));\n\nexport const routes: RouteObject[] = [\n {\n path: '/extensions',\n element: <BaseLayout siderMenu={false} />,\n children: [\n { index: true, element: <Extensions /> },\n { path: '*', element: <NoMatch /> },\n ],\n },\n {\n path: '/guide',\n element: <BaseLayout />,\n children: [\n { index: true, element: <GuideQuickStart /> },\n { path: '/guide/quick-start', element: <GuideQuickStart /> },\n { path: '/guide/import', element: <GuideImport /> },\n { path: '/guide/create-react-app', element: <GuideCreateReactApp /> },\n { path: '/guide/kkt', element: <GuideKKT /> },\n { path: '/guide/vscode', element: <GuideVscode /> },\n { path: '/guide/docs', element: <GuideDocs /> },\n { path: '/guide/recommendation', element: <GuideRecommendation /> },\n { path: '*', element: <NoMatch /> },\n ],\n },\n {\n path: '/components',\n element: <BaseLayout />,\n children: [\n { index: true, element: <Overview /> },\n { path: '/components/overview', element: <Overview /> },\n { path: '/components/colors', element: <Colors /> },\n { path: '/components/reset-css', element: <ResetCss /> },\n { path: '/components/alert', element: <Alert /> },\n { path: '/components/auto-link', element: <AutoLink /> },\n { path: '/components/avatar', element: <Avatar /> },\n { path: '/components/affix', element: <Affix /> },\n { path: '/components/calendar', element: <Calendar /> },\n { path: '/components/checkbox', element: <Checkbox /> },\n { path: '/components/copy-to-clipboard', element: <CopyToClipboard /> },\n { path: '/components/collapse', element: <Collapse /> },\n { path: '/components/card', element: <Card /> },\n { path: '/components/carousel', element: <Carousel /> },\n { path: '/components/cascader', element: <Cascader /> },\n { path: '/components/descriptions', element: <Descriptions /> },\n { path: '/components/loader', element: <Loader /> },\n { path: '/components/icon', element: <Icon /> },\n { path: '/components/divider', element: <Divider /> },\n { path: '/components/drawer', element: <Drawer /> },\n { path: '/components/date-picker', element: <DatePicker /> },\n { path: '/components/date-input', element: <DateInput /> },\n { path: '/components/dropdown', element: <Dropdown /> },\n { path: '/components/badge', element: <Badge /> },\n { path: '/components/progress', element: <Progress /> },\n { path: '/components/pagination', element: <Pagination /> },\n { path: '/components/pin-code', element: <PinCode /> },\n { path: '/components/input', element: <Input /> },\n { path: '/components/button', element: <Button /> },\n { path: '/components/radio', element: <Radio /> },\n { path: '/components/select', element: <Select /> },\n { path: '/components/search-select', element: <SearchSelect /> },\n { path: '/components/split', element: <Split /> },\n { path: '/components/switch', element: <Switch /> },\n { path: '/components/slider', element: <Slider /> },\n { path: '/components/grid', element: <Grid /> },\n { path: '/components/form', element: <Form /> },\n { path: '/components/file-input', element: <FileInput /> },\n { path: '/components/breadcrumb', element: <Breadcrumb /> },\n { path: '/components/list', element: <List /> },\n { path: '/components/layout', element: <Layout /> },\n { path: '/components/notify', element: <Notify /> },\n { path: '/components/tree', element: <Tree /> },\n { path: '/components/tree-checked', element: <TreeChecked /> },\n { path: '/components/search-tree', element: <SearchTree /> },\n { path: '/components/transfer', element: <Transfer /> },\n { path: '/components/tag', element: <Tag /> },\n { path: '/components/tabs', element: <Tabs /> },\n { path: '/components/tooltip', element: <Tooltip /> },\n { path: '/components/table', element: <Table /> },\n { path: '/components/time-picker', element: <TimePicker /> },\n { path: '/components/rate', element: <Rate /> },\n { path: '/components/overlay', element: <Overlay /> },\n { path: '/components/back-top', element: <BackTop /> },\n { path: '/components/portal', element: <Portal /> },\n { path: '/components/overlay-trigger', element: <OverlayTrigger /> },\n { path: '/components/popover', element: <Popover /> },\n { path: '/components/message', element: <Message /> },\n { path: '/components/month-picker', element: <MonthPicker /> },\n { path: '/components/textarea', element: <Textarea /> },\n { path: '/components/modal', element: <Modal /> },\n { path: '/components/formatter', element: <Formatter /> },\n { path: '/components/steps', element: <Steps /> },\n { path: '/components/menu', element: <Menu /> },\n { path: '/components/empty', element: <Empty /> },\n { path: '*', element: <NoMatch /> },\n ],\n },\n // {\n // path: '/components',\n // element: <BaseLayout />,\n // children: [\n // { index: true, element: <Overview /> },\n // { path: '/components/en-us/button', element: <Button language=\"en-US\" /> },\n // { path: '*', element: <NoMatch /> },\n // ],\n // },\n {\n path: '/',\n element: <Home />,\n },\n];\n","import React, { useReducer } from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { useRoutes, HashRouter } from 'react-router-dom';\nimport '@uiw/reset.css';\nimport { routes } from './routers';\nimport './styles/index.less';\nimport { ThemeContext, reducer, initialState } from './contexts';\n\nconst App = () => useRoutes(routes);\n\nexport const Provider = ({ children }: { children: React.ReactNode }) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n return <ThemeContext.Provider value={{ state, dispatch }}>{children}</ThemeContext.Provider>;\n};\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n <HashRouter>\n <Provider>\n <App />\n </Provider>\n </HashRouter>,\n);\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n// i18next语言检测插件,用于检测浏览器中的用户语言\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport Backend from 'i18next-http-backend';\n\ni18n\n .use(Backend)\n .use(LanguageDetector) //嗅探当前浏览器语言 zh-CN\n .use(initReactI18next) // 将 i18n 向下传递给 react-i18next\n .init({\n //初始化\n // resources, //本地多语言数据\n fallbackLng: 'zh-CN', //默认当前环境的语言\n load: 'currentOnly', // 定义要查找的语言代码策略\n detection: {\n caches: ['localStorage', 'sessionStorage', 'cookie'],\n },\n backend: {\n // @ts-ignore\n loadPath: `${LOADPATH}/locales/{{lng}}/{{ns}}.json`,\n },\n });\n\nconst DefLan = 'zh-CN';\n\nexport { DefLan };\n\nexport default i18n;\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} top `true` or `false`\n * @returns {number} amount of scrolled pixels\n */\nexport function getScroll(target: HTMLElement | Window | null, top?: boolean) {\n if (typeof window === 'undefined') {\n return 0;\n }\n\n const prop = top ? 'pageYOffset' : 'pageXOffset';\n const method = top ? 'scrollTop' : 'scrollLeft';\n const isWindow: boolean = target === window;\n\n let ret = isWindow ? (target as Window)[prop] : (target as HTMLElement)[method];\n if (isWindow && typeof ret !== 'number') {\n ret = document.documentElement[method];\n }\n\n return ret;\n}\n","export function noop() {}\n","import React from 'react';\n\nexport type CssVariableType = Record<string, string | number>;\n\n/**\n * @description: 转换驼峰命名\n * @param {string} value 变量值\n * @param {string} ident 前缀标识\n */\nexport const transformationHump = (value: string, ident: string) => {\n const Reg = new RegExp(`^${ident}`);\n return value.replace(Reg, '').replace(/\\-(\\w)/g, function (all, letter) {\n return letter.toUpperCase();\n });\n};\n\n/**\n * `css 变量`转换成`主题变量`规则 :css变量去除标识(`--w-`)之后,进行转换 驼峰命名\n * @description: css 变量转换主题变量\n * @param {CssVariableType} cssVariable css变量集合\n * @param {string} ident 前缀标识\n */\nexport const transformationVariable = (cssVariable: CssVariableType, ident: string) => {\n const Variable: Record<string, string> = {};\n Object.keys(cssVariable || {}).forEach((key) => {\n const Reg = new RegExp(`^${ident}`);\n const name = transformationHump(key, ident);\n if (Reg.test(ident)) {\n // 这种是变量的方式\n Variable[name] = `var(${key})`;\n } else {\n // 这种是直接值的方式\n Variable[name] = `${cssVariable[key]}`;\n }\n });\n return Variable;\n};\n\nexport type DefaultThemeType = Record<string, string | number>;\n\nexport type ThemeVariantValueOptions<T = DefaultThemeType, M = DefaultThemeType> = {\n defaultTheme?: Partial<T>;\n theme?: Partial<M>;\n};\n\n/**\n * @description: 获取主题变量值\n * @param {options} options\n * @param {string} field 字段\n */\nexport const getThemeVariantValue = <T extends DefaultThemeType, M extends DefaultThemeType>(\n options: ThemeVariantValueOptions<T, M>,\n field?: string,\n) => {\n const { defaultTheme, theme } = options;\n if (field) {\n const defaultValue = ((defaultTheme || {}) as T)[field];\n const value = ((theme || {}) as M)[field];\n if (value || typeof value === 'number') {\n return value;\n }\n return defaultValue;\n }\n return '';\n};\n\nexport type GetStyledCloneComponentProps<T = any, M = Record<string, any>> = {\n children?: React.ReactNode;\n /** 处理的子集传递的参数 **/\n oProps?: T & { className?: string };\n /** 是否拼接原始的className */\n isChildClassName?: boolean;\n className?: string;\n} & M;\n\n/**\n * styled-components 当遇到 clone 子集的时候,利用 as 功能进行转换\n *\n * 原来:React.cloneElement(child,child.props)\n *\n * 新的:\n * const Demo = styled.div``\n * <Demo as={GetStyledCloneComponent} >${child}</Demo>\n *\n *\n * **/\nexport const GetStyledCloneComponent = <T = any, M = Record<string, any>>(\n props: GetStyledCloneComponentProps<T, M>,\n) => {\n const { children, oProps, isChildClassName = true, className: styleClassName } = props;\n if (React.isValidElement(children)) {\n const { className: oClassName = '', ...rest } = oProps || {};\n const childProps = children?.props || {};\n const className = childProps?.className || '';\n const oldCls = isChildClassName ? className : '';\n const cls = [oldCls]\n .concat([oClassName])\n .concat([styleClassName])\n .filter((ite) => ite && ite.trim())\n .join(' ');\n return React.cloneElement(children, { ...(childProps || {}), ...rest, className: cls });\n }\n return React.createElement(React.Fragment, { children });\n};\n\n/**\n * 通过 className 获取 react-transition-group 状态\n * **/\nexport const getTransitionGroupStatusType = (pix: string, className: string) => {\n const reg = new RegExp(`^${pix}`);\n // 字符串进行分割数组\n const classArr = className\n .split(' ')\n .filter((name) => reg.test(name))\n .map((name) => name.replace(reg, ''))\n .filter(Boolean);\n return classArr;\n};\n","import { getScroll } from '@uiw/utils';\n\nexport const getTargetRect = (target: HTMLElement | Window | null) => {\n return target !== window\n ? (target as HTMLElement).getBoundingClientRect()\n : ({ top: 0, left: 0, bottom: 0 } as ClientRect);\n};\n\nexport const getOffset = (element: HTMLElement, target: HTMLElement | Window | null) => {\n const elemRect = element.getBoundingClientRect();\n const targetRect = getTargetRect(target);\n const scrollTop = getScroll(target, true);\n const scrollLeft = getScroll(target);\n\n const docElem = window.document.body;\n const clientTop = docElem.clientTop || 0;\n const clientLeft = docElem.clientLeft || 0;\n\n return {\n top: elemRect.top - targetRect.top + scrollTop - clientTop,\n left: elemRect.left - targetRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height,\n };\n};\n\nexport const getDefaultTarget = () => (typeof window !== 'undefined' ? window : null);\n","import React from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { getDefaultTarget, getOffset } from './utils';\n\nexport interface AffixProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n /**\n * 距离窗口顶部达到指定偏移量后触发\n */\n offsetTop?: number;\n /**\n * 距离窗口底部达到指定偏移量后触发\n */\n offsetBottom?: number;\n target?: () => Window | HTMLElement | null;\n /**\n * 固定状态改变时触发的回调函数\n */\n onChange?: (affixed?: boolean) => void;\n}\n\nexport interface AffixState {\n affixStyle?: React.CSSProperties;\n placeholderStyle?: React.CSSProperties;\n}\n\nexport default class Affix extends React.Component<AffixProps, AffixState> {\n public static defaultProps: AffixProps = {\n prefixCls: 'w-affix',\n onChange: noop,\n };\n public state: AffixState = {\n placeholderStyle: undefined,\n affixStyle: undefined,\n };\n private box: any;\n private target!: Window | HTMLElement | null;\n private readonly events = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\n private eventHandlers: Record<string, any> = {};\n private timeout?: number;\n constructor(props: AffixProps & HTMLDivProps) {\n super(props);\n this.updatePosition = this.updatePosition.bind(this);\n }\n componentDidMount() {\n const target = this.props.target || getDefaultTarget;\n // Wait for parent component ref has its value\n this.timeout = window.setTimeout(() => {\n this.target = target();\n this.setTargetEventListeners();\n });\n }\n componentWillUnmount() {\n this.clearEventListeners();\n clearTimeout(this.timeout);\n }\n updatePosition() {\n let { offsetTop } = this.props;\n const { offsetBottom } = this.props;\n if (!this.box || !this.box.offsetParent) {\n return;\n }\n\n const elemSize = {\n width: this.box.clientWidth,\n height: this.box.clientHeight,\n };\n const offsetMode = { top: true, bottom: false };\n if (typeof offsetTop !== 'number' && typeof offsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n }\n\n if (typeof offsetBottom === 'number') {\n offsetMode.top = false;\n offsetMode.bottom = true;\n }\n\n const elemOffset = getOffset(this.box, this.target);\n const box = this.box.getBoundingClientRect();\n const bottom = document.documentElement.clientHeight - box.y - elemOffset.height;\n\n if (offsetMode.top && box.y < 0) {\n this.setPlaceholderStyle({ ...elemSize });\n this.setAffixStyle({\n position: 'fixed',\n top: offsetTop || 0,\n left: elemOffset.left,\n width: elemOffset.width,\n });\n } else if (offsetMode.bottom && bottom < 0) {\n this.setPlaceholderStyle({ ...elemSize });\n this.setAffixStyle({\n position: 'fixed',\n bottom: offsetBottom || 0,\n left: elemOffset.left,\n width: elemOffset.width,\n });\n } else {\n this.setPlaceholderStyle();\n this.setAffixStyle();\n }\n }\n setAffixStyle(affixStyle?: React.CSSProperties) {\n const { onChange } = this.props;\n const affixed = !!this.state.affixStyle;\n this.setState({ affixStyle }, () => {\n onChange && onChange(affixed);\n });\n }\n setPlaceholderStyle(placeholderStyle?: React.CSSProperties) {\n this.setState({ placeholderStyle });\n }\n // 设置监听事件\n setTargetEventListeners() {\n this.clearEventListeners();\n this.events.forEach((eventName) => {\n this.eventHandlers[eventName] = this.updatePosition;\n this.target && this.target.addEventListener(eventName, this.updatePosition, false);\n });\n }\n clearEventListeners() {\n this.events.forEach((eventName) => {\n const handler = this.eventHandlers[eventName];\n this.target && this.target.removeEventListener(eventName, handler, false);\n });\n }\n getInstance = (node: HTMLDivElement) => {\n if (node) {\n this.box = node;\n }\n };\n public render() {\n const { prefixCls, className, children, offsetTop, offsetBottom, target, onChange, ...resetProps } = this.props;\n const cls = [className, prefixCls].filter(Boolean).join(' ').trim();\n return (\n <div {...resetProps} ref={this.getInstance} style={{ ...this.state.placeholderStyle, ...this.props.style }}>\n <div className={cls} style={this.state.affixStyle}>\n {children}\n </div>\n </div>\n );\n }\n}\n","import React, { useEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexport interface PortalProps {\n children?: React.ReactNode;\n /**\n * The HTML element that children will be mounted to.\n * @default document.body\n */\n container?: HTMLElement;\n /**\n * Callback invoked when the children of this `Portal` have been added to the DOM.\n * @deprecated v4.9.0+\n */\n onChildrenMount?: (portalElement: HTMLElement) => void;\n /** @deprecated v4.9.0+ */\n visible?: boolean;\n}\n\nexport default function Portal(props: PortalProps) {\n const { container } = props;\n const defaultNode = useRef<HTMLDivElement>();\n const containerRef = useRef<HTMLElement | undefined>(container);\n\n useEffect(() => {\n return () => {\n if (defaultNode.current && containerRef.current) {\n containerRef.current.removeChild(defaultNode.current);\n defaultNode.current = undefined;\n }\n };\n }, []);\n\n if (!canUseDOM) {\n return null;\n }\n if (!containerRef.current) {\n containerRef.current = document.body;\n }\n if (!defaultNode.current) {\n defaultNode.current = document.createElement('div');\n containerRef.current.appendChild(defaultNode.current);\n }\n return ReactDOM.createPortal(props.children, defaultNode.current);\n}\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\nimport { transProps, OverlayProps } from 'src';\nimport { TransitionStatus } from 'react-transition-group';\n\nexport const OverlayStyleTheme = {\n backgroundColorOverlayBackdrop: 'rgba(16, 22, 26, 0.7)',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof OverlayStyleTheme>;\n\nexport interface OverlayStyleWrapDivProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVar {}\nexport interface OverlayStyleWrapSpanProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement | ThemeVar>, HTMLDivElement> {}\n\nexport interface OverlayWrapProps extends ThemeVariantValueOptions, Pick<OverlayProps, 'usePortal' | 'isOpen'> {\n status?: TransitionStatus;\n trans?: transProps;\n openClass?: boolean;\n}\n\nexport const ContentWrap = styled.span<OverlayStyleWrapSpanProps>`\n position: relative;\n outline: 0;\n display: inline-block;\n vertical-align: middle;\n text-align: left;\n margin: 20px 0;\n z-index: 20;\n`;\n\nexport const ContainerWrap = styled.div<OverlayStyleWrapDivProps>`\n position: absolute;\n overflow: auto;\n z-index: 99999;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n &:before {\n content: ' ';\n display: inline-block;\n height: 100%;\n width: 1px;\n vertical-align: middle;\n }\n`;\n\nexport const BackdropWrap = styled.div<OverlayStyleWrapDivProps>`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 1;\n z-index: 20;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: OverlayStyleTheme }, 'backgroundColorOverlayBackdrop')};\n overflow: auto;\n user-select: none;\n`;\n\nexport const OverlayWrap = styled.div<OverlayWrapProps>`\n ${(props) => css`\n position: fixed;\n overflow: auto;\n top: 0;\n right: 0;\n left: 0;\n outline: 0;\n bottom: 0;\n z-index: 999;\n -webkit-overflow-scrolling: touch;\n text-align: center;\n height: 100%;\n width: 100%;\n display: none;\n &.open {\n z-index: 9999;\n }\n\n ${props.openClass &&\n css`\n overflow: hidden;\n `}\n\n ${!props.usePortal &&\n css`\n position: absolute;\n overflow: initial;\n ${ContainerWrap} {\n position: relative;\n }\n ${BackdropWrap} {\n position: absolute;\n }\n `}\n\n ${props.isOpen &&\n css`\n display: inherit;\n `}\n\n &.w-overlay-enter ${BackdropWrap} {\n opacity: 0;\n }\n &.w-overlay-enter-active ${BackdropWrap} {\n opacity: 1;\n transition: opacity 300ms ease-in;\n }\n &.w-overlay-exit ${BackdropWrap} {\n opacity: 1;\n }\n &.w-overlay-exit-active ${BackdropWrap} {\n opacity: 0;\n transition: opacity 300ms ease-in;\n }\n &.w-overlay-enter ${ContentWrap} {\n transform: scale(0.5);\n opacity: 0;\n }\n &.w-overlay-enter-active ${ContentWrap} {\n opacity: 1;\n transform: translate(0);\n transition: transform 300ms ease, opacity 300ms ease;\n }\n &.w-overlay-exit ${ContentWrap} {\n opacity: 1;\n transform: translate(0);\n transition: transform 300ms ease, opacity 300ms ease;\n }\n &.w-overlay-exit-active ${ContentWrap} {\n transform: scale(0.5);\n opacity: 0;\n }\n &.w-overlay-enter,\n &.w-overlay-enter-done,\n &.w-overlay-exit {\n display: inherit;\n }\n `}\n`;\n\n// BackdropWrap.defaultProps = {\n// defaultTheme: OverlayStyleTheme,\n// };\n","/**\n * Overlay 组件\n * ---------------\n * 动画库 react-transition-group 文档\n * 老的文档\n * https://facebook.github.io/react/docs/animation.html\n * 新的文档\n * https://reactcommunity.org/react-transition-group/\n * 动画效果\n * https://daneden.github.io/animate.css/\n */\nimport React, { cloneElement, useEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { TransitionProps, TransitionStatus } from 'react-transition-group/Transition';\nimport Portal, { PortalProps } from '@uiw/react-portal';\nimport { GetStyledCloneComponent, IProps, noop } from '@uiw/utils';\n\nimport { ContainerWrap, ContentWrap, OverlayWrap, BackdropWrap } from './style';\nexport * from './style';\n\nexport interface OverlayProps extends IProps, Omit<TransitionProps, 'timeout'> {\n timeout?: TransitionProps['timeout'];\n isOpen?: boolean;\n usePortal?: boolean;\n maskClosable?: boolean;\n dialogProps?: React.HTMLProps<HTMLElement>;\n backdropProps?: React.HTMLProps<HTMLDivElement>;\n portalProps?: PortalProps;\n hasBackdrop?: boolean;\n unmountOnExit?: boolean;\n transitionName?: string;\n onEnter?: (node: HTMLElement, isAppearing: boolean) => void;\n onOpening?: (node: HTMLElement, isAppearing: boolean) => void;\n onOpened?: (node: HTMLElement, isAppearing: boolean) => void;\n onClosing?: (node: HTMLElement) => void;\n onClosed?: (node: HTMLElement | React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n onClose?: (evn: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\nexport type transProps = 'enterActive' | 'exitActive' | 'done' | undefined;\n\nexport default function Overlay(props: OverlayProps) {\n const {\n className,\n style,\n isOpen: _ = false,\n prefixCls = 'w-overlay',\n usePortal = true,\n maskClosable = true,\n backdropProps = {},\n portalProps = {},\n hasBackdrop = true,\n unmountOnExit = true, // 设置 true 销毁根节点\n timeout = 300,\n transitionName = 'w-overlay',\n // onEnter = noop,\n onOpening = noop,\n onOpened = noop,\n onClosing = noop,\n onClosed = noop,\n onClose = noop,\n onEnter = noop,\n onExiting = noop,\n onEntering = noop,\n onEntered = noop,\n onExit = noop,\n children,\n dialogProps = {},\n ...otherProps\n } = props;\n\n const [isOpen, setIsOpen] = useState<boolean>();\n // const [isOpen, setIsOpen] = useState(props.isOpen || false);\n const [visible, setVisible] = useState(false);\n const container = useRef<HTMLDivElement>(null);\n const overlay = useRef(null);\n useEffect(() => {\n if (isOpen !== props.isOpen && props.isOpen) {\n setVisible(true);\n }\n if (isOpen !== props.isOpen && !props.isOpen) {\n overlayWillClose();\n setIsOpen(false);\n }\n }, [props.isOpen]);\n\n useEffect(() => {\n if (visible) {\n overlayWillOpen();\n setIsOpen(true);\n }\n }, [visible]);\n\n const decoratedChild =\n typeof children === 'object' ? (\n cloneElement(<ContentWrap as={GetStyledCloneComponent}>{children}</ContentWrap>, {\n ...dialogProps,\n style: { ...children.props.style, ...dialogProps.style },\n className: [children.props.className, `${prefixCls}-content`].filter(Boolean).join(' ').trim(),\n tabIndex: 0,\n })\n ) : (\n <ContentWrap {...dialogProps} className={`${prefixCls}-content`}>\n {children}\n </ContentWrap>\n );\n\n function handleClosed(node: HTMLElement | React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n setVisible(false);\n onClosed && onClosed(node);\n }\n\n function handleBackdropMouseDown(e: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (e.target !== container.current && usePortal) {\n return;\n }\n if (maskClosable && hasBackdrop) {\n overlayWillClose();\n setIsOpen(false);\n onClose && onClose(e);\n }\n backdropProps && backdropProps.onMouseDown && backdropProps.onMouseDown(e);\n }\n\n function overlayWillOpen() {\n if (hasBackdrop && usePortal) {\n document.body.classList.add(`${prefixCls}-open`);\n }\n }\n\n function overlayWillClose() {\n if (hasBackdrop && usePortal) {\n document.body.classList.remove(`${prefixCls}-open`);\n }\n // if (unmountOnExit) {\n // setVisible(false)\n // }\n }\n const [trans, transSet] = useState<transProps>(undefined);\n\n const TransitionGroupComp = (\n <CSSTransition\n // as={CSSTransition}\n classNames={transitionName}\n unmountOnExit={unmountOnExit}\n timeout={timeout!}\n in={isOpen}\n onEnter={(isAppearing: boolean) => {\n onEnter(overlay.current!, isAppearing);\n }}\n onEntering={(isAppearing: boolean) => {\n transSet('enterActive');\n onOpening(overlay.current!, isAppearing);\n onEntering(overlay.current!);\n }}\n onEntered={(isAppearing: boolean) => {\n onOpened(overlay.current!, isAppearing);\n onEntered(overlay.current!);\n }}\n onExiting={() => {\n transSet('exitActive');\n onClosing(overlay.current!);\n onExiting(overlay.current!);\n }}\n onExited={() => {\n transSet('done');\n handleClosed(overlay.current!);\n onExit(overlay.current!);\n }}\n nodeRef={overlay}\n {...otherProps}\n >\n {(status: TransitionStatus) => {\n return (\n <OverlayWrap\n style={style}\n ref={overlay}\n usePortal={usePortal}\n status={status}\n isOpen={isOpen}\n trans={trans}\n openClass={visible && hasBackdrop && usePortal}\n className={[\n prefixCls,\n className,\n !usePortal ? `${prefixCls}-inline` : null,\n isOpen ? `${prefixCls}-enter-done` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {hasBackdrop &&\n cloneElement(<BackdropWrap />, {\n ...backdropProps,\n trans,\n onMouseDown: handleBackdropMouseDown,\n className: [`${prefixCls}-backdrop`, backdropProps.className].filter(Boolean).join(' ').trim(),\n tabIndex: maskClosable ? 0 : null,\n })}\n {usePortal ? (\n <ContainerWrap ref={container} onMouseDown={handleBackdropMouseDown} className={`${prefixCls}-container`}>\n {cloneElement(decoratedChild, { 'data-status': status })}\n </ContainerWrap>\n ) : (\n cloneElement(decoratedChild, { 'data-status': status })\n )}\n </OverlayWrap>\n );\n }}\n </CSSTransition>\n );\n if (visible && usePortal) {\n return <Portal {...{ ...portalProps }}>{TransitionGroupComp}</Portal>;\n } else {\n return TransitionGroupComp;\n }\n}\n\nexport { ContainerWrap, ContentWrap, OverlayWrap, BackdropWrap };\n","import React from 'react';\nimport styled, { keyframes, css } from 'styled-components';\n\nconst loadingCircle = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nexport interface IconStyleBaseProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> {\n spin?: boolean;\n verticalAlign?: 'middle' | 'baseline';\n params?: {\n spin?: boolean;\n verticalAlign?: 'middle' | 'baseline';\n };\n}\n\nexport const IconStyleBase = styled.span<IconStyleBaseProps>`\n height: 1em;\n width: 1em;\n & svg {\n height: 1em;\n width: 1em;\n }\n display: inline-flex;\n align-self: center;\n position: relative;\n transition: color 0.3s;\n box-sizing: inherit;\n ${(props) =>\n (props.verticalAlign === 'baseline' || props.params?.verticalAlign === 'baseline') &&\n css`\n top: 0.125em;\n `}\n ${(props) =>\n (props.spin || props.params?.spin) &&\n css`\n & svg {\n animation: ${loadingCircle} 1s infinite linear;\n }\n `}\n`;\n","import React from 'react';\nimport svgPaths from '@uiw/icons/fonts/w-icon.json';\nimport { IconStyleBase } from './style';\nexport * from './style';\n\nexport type IconsName = keyof typeof svgPaths;\ntype TagType = React.ComponentType | keyof JSX.IntrinsicElements;\n\nexport interface IconProps<Tag extends TagType = 'span', E = React.ReactElement> extends React.HTMLAttributes<Tag> {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n /**\n * HTML tag to use for the rendered element.\n * @default \"span\"\n */\n tagName?: Tag;\n type?: IconsName | null | E;\n spin?: boolean;\n color?: string;\n verticalAlign?: 'middle' | 'baseline';\n}\n\nexport default function Icon<Tag extends TagType = 'span'>(props: IconProps<Tag>) {\n const {\n className,\n prefixCls = 'w-icon',\n verticalAlign = 'middle',\n tagName: TagName = 'span',\n color,\n type,\n spin = false,\n ...others\n } = props;\n\n let svg = null;\n if (typeof type === 'string') {\n svg = (\n <svg fill={color} viewBox=\"0 0 20 20\">\n {(svgPaths[type] || []).map((d, i) => (\n <path key={i} d={d} fillRule=\"evenodd\" />\n ))}\n </svg>\n );\n } else if (React.isValidElement(type)) {\n svg = React.cloneElement(type, {\n fill: color,\n });\n } else {\n return null;\n }\n others.style = { fill: 'currentColor', ...others.style };\n const propps = {\n ...others,\n className: [\n prefixCls,\n className,\n prefixCls && verticalAlign ? `${prefixCls}-${verticalAlign}` : null,\n spin && prefixCls ? `${prefixCls}-spin` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n };\n return React.createElement(IconStyleBase, { ...propps, verticalAlign, spin, as: TagName } as any, svg);\n}\n","import { getThemeVariantValue } from '@uiw/utils';\nimport { css } from 'styled-components';\nimport { ButtonStyleBaseProps } from '.';\nimport { IconStyleBase } from '@uiw/react-icon';\n\ntype Options = {\n type: string;\n} & Omit<ButtonStyleBaseProps, 'type'>;\n\n/**\n * @description: 生成公共css\n * @param {string} style 样式\n * @param {string} attrName 属性名\n * @param {boolean} fig 直接生成\n * @param {string} lastName 生成对象\n */\nexport const getCommonCss = (style: string, attrName: string, fig?: boolean, lastName?: string) => {\n const com = css`\n ${attrName && `${attrName}{${style}}`}\n ${fig && lastName && `${lastName}{${style}}`}\n ${fig && !lastName && style}\n `;\n return com;\n};\n\nexport const buttonVariant = (options: Options) => {\n const { type, param } = options;\n const { basic, focus, active, disabled } = param || {};\n\n const color = getThemeVariantValue(options, `color${type}`);\n const backgroundColor = getThemeVariantValue(options, `backgroundColor${type}`);\n const backgroundColorHover = getThemeVariantValue(options, `backgroundColor${type}Hover`);\n const boxShadowColorFocus = getThemeVariantValue(options, `boxShadowColor${type}Focus`);\n const backgroundColorActive = getThemeVariantValue(options, `backgroundColor${type}Active`);\n const backgroundColorDisabled = getThemeVariantValue(options, `backgroundColor${type}Disabled`);\n const boxShadowColorBasic = getThemeVariantValue(options, `boxShadowColor${type}Basic`);\n const backgroundColorBasicHover = getThemeVariantValue(options, `backgroundColor${type}BasicHover`);\n const colorBasicDisabled = getThemeVariantValue(options, `color${type}BasicDisabled`);\n const backgroundColorBasicActive = getThemeVariantValue(options, `backgroundColor${type}BasicActive`);\n\n return css`\n color: ${color};\n background-color: ${backgroundColor};\n z-index: 1;\n &:hover {\n background-color: ${backgroundColorHover};\n z-index: 2;\n }\n ${getCommonCss(\n `\n outline: 0;\n box-shadow: 0 0 0 2px ${boxShadowColorFocus};\n `,\n '&:focus',\n focus,\n )}\n ${getCommonCss(\n `\n color: ${color};\n background-color: ${backgroundColorActive};\n background-image: none;\n `,\n ' &:active',\n active,\n )}\n &.disabled,\n &[disabled] {\n background-color: ${backgroundColorDisabled};\n z-index: 0;\n }\n ${getCommonCss(\n `\n background-color: ${backgroundColorDisabled};\n z-index: 0;\n `,\n ' &[disabled]',\n disabled,\n )}\n ${basic &&\n css`\n & {\n background-color: transparent !important;\n box-shadow: inset 0 0 0 ${boxShadowColorBasic};\n color: ${backgroundColor};\n &:hover {\n background-color: ${backgroundColorBasicHover} !important;\n }\n ${getCommonCss(\n `\n color: ${backgroundColor};\n background-color: ${backgroundColorBasicActive} !important;\n background-image: none;\n `,\n ' &:active',\n active,\n )}\n ${getCommonCss(\n `\n background-color: transparent !important;\n color: ${colorBasicDisabled};\n `,\n '&[disabled]',\n disabled,\n )}\n }\n `}\n `;\n};\n\nexport const buttonTypes = (props: ButtonStyleBaseProps) => {\n const { type, focus, basic, active, disabled } = props.param || {};\n switch (type) {\n case 'primary':\n return buttonVariant({ ...props, type: 'Primary' });\n case 'success':\n return buttonVariant({ ...props, type: 'Success' });\n case 'danger':\n return buttonVariant({ ...props, type: 'Error' });\n case 'dark':\n return buttonVariant({ ...props, type: 'Dark' });\n case 'light':\n return css`\n box-shadow: inset 0 1px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n inset 1px -1px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n inset -1px 0px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')};\n ${buttonVariant({ ...props, type: 'Light' })}\n ${getCommonCss(\n `\n outline: 0;\n box-shadow: inset 0 1px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n inset 1px -1px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n inset -1px 0px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n 0 0 0 2px ${getThemeVariantValue(props, 'boxShadowColorLight4')};\n `,\n '&:focus',\n focus,\n )}\n ${basic &&\n css`\n color: ${getThemeVariantValue(props, 'colorLightBasic')} !important;\n &:focus {\n box-shadow: inset 0 0 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')};\n }\n ${focus &&\n css`\n box-shadow: inset 0 0 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')};\n `}\n &:hover {\n background-color: ${getThemeVariantValue(props, 'backgroundColorLightBasicHover')} !important;\n }\n ${getCommonCss(\n `\n color: ${getThemeVariantValue(props, 'colorLightBasic')};\n background-color: ${getThemeVariantValue(props, 'backgroundColorLightBasicActive')} !important;\n background-image: none;\n `,\n '&:active',\n active,\n )}\n ${getCommonCss(\n `\n background-color: transparent !important;\n color: ${getThemeVariantValue(props, 'colorLightBasicDisabled')};\n `,\n '&[disabled]',\n disabled,\n )}\n `}\n ${getCommonCss(\n `\n color: ${getThemeVariantValue(props, 'colorLightBasicDisabled')};\n z-index: 0;\n `,\n '&[disabled]',\n disabled,\n )}\n `;\n case 'link':\n return css`\n ${buttonVariant({ ...props, type: 'Link' })};\n color: ${getThemeVariantValue(props, 'colorLink')} !important;\n &:hover:not([disabled]) {\n color: ${getThemeVariantValue(props, 'colorLinkNotDisabled')};\n text-decoration: underline;\n }\n ${getCommonCss(\n `\n color: ${getThemeVariantValue(props, 'colorLinkNotDisabledActive')};\n box-shadow: none;\n text-decoration: underline;\n `,\n '&:not([disabled]):active',\n disabled,\n '&:not([disabled]) ',\n )}\n &[disabled] {\n z-index: 0;\n }\n ${disabled &&\n css`\n z-index: 0;\n `}\n `;\n case 'warning':\n return buttonVariant({ ...props, type: 'Warning' });\n default:\n return css``;\n }\n};\n\nexport const getloadingCss = (props: ButtonStyleBaseProps) => {\n return css`\n ${() =>\n props.param?.loading &&\n props.param.type === 'light' &&\n css`\n &::before {\n border: 1.2px solid ${() => getThemeVariantValue(props, 'borderColorLinghtLoadingBefore')};\n }\n `}\n ${() =>\n props.param?.loading &&\n css`\n &::before {\n content: '';\n display: inline-block;\n width: 1em;\n height: 1em;\n border-radius: 50%;\n border: 1.2px solid ${() => getThemeVariantValue(props, 'colorButtonLoadingBefore')};\n color: ${() => getThemeVariantValue(props, 'colorButtonLoadingBefore')};\n margin: 0 3px 0 0;\n clip-path: polygon(0% 0%, 100% 0, 100% 30%, 0% 30%);\n animation: rotate 0.5s linear infinite;\n @keyframes rotate {\n from {\n transform: rotateZ(0deg);\n }\n to {\n transform: rotateZ(360deg);\n }\n }\n }\n `}\n `;\n};\n\nexport const buttonSize = (fontSize: string, iconSize: string, lineHeight: string | number, minHeight: string) => {\n return css`\n font-size: ${fontSize};\n line-height: ${lineHeight};\n min-height: ${minHeight};\n ${IconStyleBase} {\n font-size: ${iconSize};\n }\n `;\n};\nconst getSize = (props: ButtonStyleBaseProps, type: string) => {\n const fontSize = getThemeVariantValue(props, `fontSize${type}`);\n const minHeight = getThemeVariantValue(props, `minHeightButton${type}`);\n const fontSizeIcon = getThemeVariantValue(props, `fontSizeButtonIcon${type}`);\n return buttonSize(`${fontSize}`, `${fontSizeIcon}`, fontSize, `${minHeight}`);\n};\n\nexport const buttonSizeCss = (props: ButtonStyleBaseProps) => {\n const { size } = props.param || {};\n switch (size) {\n case 'large':\n return getSize(props, 'Large');\n case 'small':\n return css`\n padding: 0 6px;\n min-width: ${getThemeVariantValue(props, 'minHeightButtonSmall')};\n ${getSize(props, 'Small')}\n `;\n default:\n return css``;\n }\n};\n\nexport const getIconAndSizeCss = (props: ButtonStyleBaseProps) => {\n return css`\n ${IconStyleBase} {\n font-size: ${() => getThemeVariantValue(props, 'fontSizeButtonIcontDefault')};\n }\n ${() => buttonSizeCss(props)}\n ${IconStyleBase}:not(:last-child) {\n margin-right: 5px;\n }\n `;\n};\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { buttonVariant, getCommonCss, getloadingCss, getIconAndSizeCss } from './Variant';\nimport { ButtonType, ButtonSize } from '../';\nexport const ButtonStyleTheme = {\n colorButtonStyleBase: '#fff',\n // 大小设置\n fontSizeSmall: '12px',\n fontSizeDefault: '14px',\n fontSizeLarge: '16px',\n // 最小高度\n minHeightButtonSmall: '24px',\n minHeightButtonDefault: '30px',\n minHeightButtonLarge: '36px',\n // 按钮中图标大小\n fontSizeButtonIconSmall: '14px',\n fontSizeButtonIcontDefault: '16px',\n fontSizeButtonIconLarge: '20px',\n // 边框颜色 + 组件 + 组件属性 + 伪类\n borderColorLinghtLoadingBefore: '#666f81',\n colorButtonLoadingBefore: '#fff',\n\n // 颜色设置\n // Primary\n colorPrimary: '#fff',\n backgroundColorPrimary: '#008ef0',\n backgroundColorPrimaryHover: '#0070bd',\n boxShadowColorPrimaryFocus: 'rgba(0, 142, 240, 0.26)',\n backgroundColorPrimaryActive: '#00528a',\n backgroundColorPrimaryDisabled: '#57baff',\n boxShadowColorPrimaryBasic: '#000',\n backgroundColorPrimaryBasicHover: '#c7e8ff',\n colorPrimaryBasicDisabled: '#24a6ff',\n backgroundColorPrimaryBasicActive: '#94d3ff',\n\n // Success\n colorSuccess: '#fff',\n backgroundColorSuccess: '#28a745',\n backgroundColorSuccessHover: '#1e7e34',\n boxShadowColorSuccessFocus: 'rgba(40, 167, 69, 0.26)',\n backgroundColorSuccessActive: '#145523',\n backgroundColorSuccessDisabled: '#5dd879',\n boxShadowColorSuccessBasic: '#000',\n backgroundColorSuccessBasicHover: '#b7eec4',\n colorSuccessBasicDisabled: '#34ce57',\n backgroundColorSuccessBasicActive: '#8ee4a2',\n\n // Warning\n colorWarning: '#fff',\n backgroundColorWarning: '#ffc107',\n backgroundColorWarningHover: '#d39e00',\n boxShadowColorWarningFocus: 'rgba(255, 193, 7, 0.26)',\n backgroundColorWarningActive: '#a07800',\n backgroundColorWarningDisabled: '#ffdb6d',\n boxShadowColorWarningBasic: '#000',\n backgroundColorWarningBasicHover: '#fff7dd',\n colorWarningBasicDisabled: '#ffce3a',\n backgroundColorWarningBasicActive: '#ffeaaa',\n\n // Error\n colorError: '#fff',\n backgroundColorError: '#dc3545',\n backgroundColorErrorHover: '#bd2130',\n boxShadowColorErrorFocus: 'rgba(220, 53, 69, 0.26)',\n backgroundColorErrorActive: '#921925',\n backgroundColorErrorDisabled: '#eb8c95',\n boxShadowColorErrorBasic: '#000',\n backgroundColorErrorBasicHover: '#fceced',\n colorErrorBasicDisabled: '#e4606d',\n backgroundColorErrorBasicActive: '#f4c0c5',\n\n // Light\n colorLight: '#393e48',\n backgroundColorLight: '#f8f9fa',\n backgroundColorLightHover: '#dae0e5',\n boxShadowColorLightFocus: 'rgba(248, 249, 250, 0.26)',\n backgroundColorLightActive: '#bcc6cf',\n backgroundColorLightDisabled: '#ffffff',\n boxShadowColorLightBasic: '#000',\n backgroundColorLightBasicHover: '#ecedf0',\n colorLightBasicDisabled: '#adb3be',\n colorLightBasic: '#9199a7',\n backgroundColorLightBasicActive: '#d5d8dd',\n\n boxShadowColorLightDefault: 'rgba(0, 0, 0, 0.17)',\n boxShadowColorLight4: 'rgba(0, 0, 0, 0.1)',\n\n // Dark\n colorDark: '#fff',\n backgroundColorDark: '#393e48',\n backgroundColorDarkHover: '#22252c',\n boxShadowColorDarkFocus: 'rgba(57, 62, 72, 0.26)',\n backgroundColorDarkActive: '#0c0d0f',\n backgroundColorDarkDisabled: '#666f81',\n boxShadowColorDarkBasic: '#000',\n backgroundColorDarkBasicHover: '#a2a8b5',\n colorDarkBasicDisabled: '#505764',\n backgroundColorDarkBasicActive: '#858e9f',\n\n // Link\n colorLink: '#008ef0',\n colorLinkHover: '#008ef0',\n backgroundColorLink: 'transparent',\n backgroundColorLinkHover: 'rgba(0, 0, 0, 0)',\n boxShadowColorLinkFocus: 'rgba(0, 0, 0, 0)',\n backgroundColorLinkActive: 'rgba(0, 0, 0, 0)',\n backgroundColorLinkDisabled: 'rgba(51, 51, 51, 0)',\n boxShadowColorLinkBasic: '#000',\n backgroundColorLinkBasicHover: 'rgba(107, 107, 107, 0)',\n colorLinkBasicDisabled: 'rgba(26, 26, 26, 0)',\n backgroundColorLinkBasicActive: 'rgba(82, 82, 82, 0)',\n colorLinkNotDisabled: '#006ab3',\n colorLinkNotDisabledActive: '#002d4d',\n};\n\nexport interface ButtonStyleBaseProps\n extends React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>,\n ThemeVariantValueOptions<typeof ButtonStyleTheme> {\n param?: {\n size: ButtonSize;\n type: ButtonType;\n basic: boolean;\n loading: boolean;\n disabled: boolean;\n active: boolean;\n block: boolean;\n focus: boolean;\n };\n}\nconst ButtonStyleBase = styled.button<ButtonStyleBaseProps>`\n user-select: none;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n border: none;\n border-radius: 3px;\n cursor: pointer;\n padding: 5px 7px;\n position: relative;\n vertical-align: middle;\n text-align: left;\n line-height: ${(props) => getThemeVariantValue(props, 'fontSizeDefault')};\n font-size: ${(props) => getThemeVariantValue(props, 'fontSizeDefault')};\n min-width: ${(props) => getThemeVariantValue(props, 'minHeightButtonDefault')};\n min-height: ${(props) => getThemeVariantValue(props, 'minHeightButtonDefault')};\n text-align: center;\n color: ${(props) => getThemeVariantValue(props, 'colorButtonStyleBase')};\n transition: background-color 0.5s, opacity 1s;\n & > *:not(:last-child) {\n margin-right: 5px;\n }\n & + & {\n margin-left: 5px;\n }\n ${(props) =>\n props.param?.block &&\n css`\n & {\n display: block;\n width: 100%;\n }\n & + && {\n margin-left: 0;\n }\n `}\n ${(props) =>\n props.param?.disabled &&\n css`\n cursor: not-allowed;\n `}\n &[disabled] {\n cursor: not-allowed;\n }\n`;\nconst ButtonStyleBasePrimary = styled(ButtonStyleBase)<ButtonStyleBaseProps>`\n ${(props) => buttonVariant({ ...props, type: 'Primary' })}\n`;\nconst ButtonStyleBaseSuccess = styled(ButtonStyleBase)<ButtonStyleBaseProps>`\n ${(props) => buttonVariant({ ...props, type: 'Success' })}\n`;\nconst ButtonStyleBaseDangers = styled(ButtonStyleBase)<ButtonStyleBaseProps>`\n ${(props) => buttonVariant({ ...props, type: 'Error' })}\n`;\nconst ButtonStyleBaseDark = styled(ButtonStyleBase)<ButtonStyleBaseProps>`\n ${(props) => buttonVariant({ ...props, type: 'Dark' })}\n`;\nconst ButtonStyleBaseLight = styled(ButtonStyleBase)<ButtonStyleBaseProps>`\n ${(props) => {\n const { focus, basic, active, disabled } = props.param || {};\n return css`\n box-shadow: inset 0 1px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n inset 1px -1px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n inset -1px 0px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')};\n ${buttonVariant({ ...props, type: 'Light' })}\n ${getCommonCss(\n `\n outline: 0;\n box-shadow: inset 0 1px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n inset 1px -1px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n inset -1px 0px 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')},\n 0 0 0 2px ${getThemeVariantValue(props, 'boxShadowColorLight4')};\n `,\n '&:focus',\n focus,\n )}\n ${basic &&\n css`\n color: ${getThemeVariantValue(props, 'colorLightBasic')} !important;\n &:focus {\n box-shadow: inset 0 0 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')};\n }\n ${focus &&\n css`\n box-shadow: inset 0 0 0 0 ${getThemeVariantValue(props, 'boxShadowColorLightDefault')};\n `}\n &:hover {\n background-color: ${getThemeVariantValue(props, 'backgroundColorLightBasicHover')} !important;\n }\n ${getCommonCss(\n `\n color: ${getThemeVariantValue(props, 'colorLightBasic')};\n background-color: ${getThemeVariantValue(props, 'backgroundColorLightBasicActive')} !important;\n background-image: none;\n `,\n '&:active',\n active,\n )}\n ${getCommonCss(\n `\n background-color: transparent !important;\n color: ${getThemeVariantValue(props, 'colorLightBasicDisabled')};\n `,\n '&[disabled]',\n disabled,\n )}\n `}\n ${getCommonCss(\n `\n color: ${getThemeVariantValue(props, 'colorLightBasicDisabled')};\n z-index: 0;\n `,\n '&[disabled]',\n disabled,\n )}\n ${() => getIconAndSizeCss(props)}\n ${() => getloadingCss(props)}\n `;\n }}\n`;\nconst ButtonStyleBaseLink = styled(ButtonStyleBase)<ButtonStyleBaseProps>`\n ${(props) => {\n const { disabled } = props.param || {};\n return css`\n ${buttonVariant({ ...props, type: 'Link' })};\n color: ${getThemeVariantValue(props, 'colorLink')} !important;\n &:hover:not([disabled]) {\n color: ${getThemeVariantValue(props, 'colorLinkNotDisabled')};\n text-decoration: underline;\n }\n ${getCommonCss(\n `\n color: ${getThemeVariantValue(props, 'colorLinkNotDisabledActive')};\n box-shadow: none;\n text-decoration: underline;\n `,\n '&:not([disabled]):active',\n disabled,\n '&:not([disabled]) ',\n )}\n &[disabled] {\n z-index: 0;\n }\n ${disabled &&\n css`\n z-index: 0;\n `}\n `;\n }}\n`;\nconst ButtonStyleBaseWarning = styled(ButtonStyleBase)<ButtonStyleBaseProps>`\n ${(props) => buttonVariant({ ...props, type: 'Warning' })}\n`;\n\nButtonStyleBase.defaultProps = {\n defaultTheme: { ...ButtonStyleTheme },\n};\nButtonStyleBasePrimary.defaultProps = {\n defaultTheme: { ...ButtonStyleTheme },\n};\nButtonStyleBaseSuccess.defaultProps = {\n defaultTheme: { ...ButtonStyleTheme },\n};\nButtonStyleBaseDangers.defaultProps = {\n defaultTheme: { ...ButtonStyleTheme },\n};\nButtonStyleBaseDark.defaultProps = {\n defaultTheme: { ...ButtonStyleTheme },\n};\nButtonStyleBaseLight.defaultProps = {\n defaultTheme: { ...ButtonStyleTheme },\n};\nButtonStyleBaseLink.defaultProps = {\n defaultTheme: { ...ButtonStyleTheme },\n};\nButtonStyleBaseWarning.defaultProps = {\n defaultTheme: { ...ButtonStyleTheme },\n};\n\nexport {\n ButtonStyleBase,\n ButtonStyleBasePrimary,\n ButtonStyleBaseSuccess,\n ButtonStyleBaseDangers,\n ButtonStyleBaseDark,\n ButtonStyleBaseLight,\n ButtonStyleBaseLink,\n ButtonStyleBaseWarning,\n};\n","import styled from 'styled-components';\nimport { buttonTypes, getloadingCss, getIconAndSizeCss } from './Variant';\nimport { ButtonStyleTheme, ButtonStyleBaseProps, ButtonStyleBase } from './base';\nexport * from './base';\n\nexport const ButtonStyleWarp = styled(ButtonStyleBase)<ButtonStyleBaseProps>`\n ${buttonTypes}\n ${(props) => getIconAndSizeCss(props)}\n ${(props) => getloadingCss(props)}\n`;\nButtonStyleWarp.defaultProps = {\n defaultTheme: { ...ButtonStyleTheme },\n};\n","import React from 'react';\nimport { IProps, HTMLButtonProps } from '@uiw/utils';\nimport { ButtonStyleWarp, ButtonStyleBaseLight } from './style';\nexport * from './style';\nexport type ButtonType = 'primary' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'link';\nexport type ButtonSize = 'large' | 'default' | 'small';\nexport interface ButtonProps extends IProps, Omit<HTMLButtonProps, 'size'> {\n basic?: boolean;\n disabled?: boolean;\n active?: boolean;\n loading?: boolean;\n block?: boolean;\n icon?: React.ReactNode;\n focus?: boolean;\n /**\n * 按钮类型\n * @mytag {@link link }\n * @beta\n */\n type?: ButtonType;\n /**\n * 按钮尺寸\n * @defaultValue 'large' | 'default' | 'small'\n */\n size?: ButtonSize;\n htmlType?: 'button' | 'submit' | 'reset';\n onClick?: (e: React.MouseEvent<HTMLButtonElement> & MouseEvent) => void;\n}\n\n/**@internal */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n const {\n prefixCls = 'w-btn',\n disabled = false,\n active = false,\n loading = false,\n block = false,\n basic = false,\n htmlType = 'button',\n type = 'light',\n size = 'default',\n icon,\n className,\n children,\n ...others\n } = props;\n\n const cls = [\n className,\n prefixCls,\n size ? `${prefixCls}-size-${size}` : null,\n type ? `${prefixCls}-${type}` : null,\n basic ? `${prefixCls}-basic` : null,\n loading ? `${prefixCls}-loading` : null,\n disabled || loading ? 'disabled' : null,\n active ? 'active' : null,\n block ? 'block' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n return (\n <ButtonStyleWarp\n {...others}\n as={type === 'light' ? ButtonStyleBaseLight : 'button'}\n ref={ref}\n type={htmlType}\n disabled={disabled || loading}\n className={cls}\n param={{\n focus: !!props.focus,\n type,\n size,\n basic,\n loading,\n disabled: disabled || loading,\n active,\n block,\n }}\n >\n {icon}\n {children &&\n React.Children.map(children, (child: React.ReactNode) => {\n if (!child) return child;\n if (React.isValidElement(child)) return child;\n return <span>{child}</span>;\n })}\n </ButtonStyleWarp>\n );\n});\n\nexport default Button;\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\nimport { IconStyleBase } from '@uiw/react-icon';\n\nexport const ModalStyleTheme = {\n fontSizeLarge: '16px',\n fontSizeDefault: '14px',\n minHeightModalStyleHeader: '40px',\n backgroundColorModalStyleHeaderBase: '#fff',\n boxShadowColorModalStyleHeaderBase: 'rgba(16, 22, 26, 0.15)',\n minHeightModalStyleHeaderH4: '22px',\n\n backgroundColorModalStyleInnerBase: '#f9f9f9',\n minWidthModalStyleInner: '320px',\n boxShadowModalStyleInnerH: 'rgba(16, 22, 26, 0.1)',\n boxShadowModalStyleInnerV: 'rgba(16, 22, 26, 0.2)',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof ModalStyleTheme>;\n\nexport interface ModalStyleWrapProps\n extends React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>,\n ThemeVar {}\n\nexport const ModalStyleHeader = styled.div<ModalStyleWrapProps>`\n ${(props) => css`\n display: flex;\n align-items: center;\n min-height: ${getThemeVariantValue({ ...props, defaultTheme: ModalStyleTheme }, 'minHeightModalStyleHeader')};\n padding-left: 13px;\n padding-right: 5px;\n background-color: ${getThemeVariantValue(\n { ...props, defaultTheme: ModalStyleTheme },\n 'backgroundColorModalStyleHeaderBase',\n )};\n border-radius: 5px 5px 0 0;\n box-shadow: 0 1px 0\n ${getThemeVariantValue({ ...props, defaultTheme: ModalStyleTheme }, 'boxShadowColorModalStyleHeaderBase')};\n font-size: ${getThemeVariantValue({ ...props, defaultTheme: ModalStyleTheme }, 'fontSizeLarge')};\n > ${IconStyleBase} {\n margin-right: 10px;\n color: #393e48;\n }\n h4 {\n margin: 0;\n padding: 0;\n flex: 1 1 auto;\n font-weight: bold;\n min-height: ${getThemeVariantValue({ ...props, defaultTheme: ModalStyleTheme }, 'minHeightModalStyleHeaderH4')};\n }\n `}\n`;\n\n// ModalStyleHeader.defaultProps = {\n// defaultTheme: ModalStyleTheme,\n// };\n\nexport const ModalStyleBody = styled.div<ModalStyleWrapProps>`\n ${(props) => css`\n padding-top: 20px;\n font-size: ${getThemeVariantValue({ ...props, defaultTheme: ModalStyleTheme }, 'fontSizeDefault')};\n `}\n`;\n\n// ModalStyleBody.defaultProps = {\n// defaultTheme: ModalStyleTheme,\n// };\n\nexport const ModalStyleFooter = styled.div<ModalStyleWrapProps>`\n display: flex;\n margin-top: 15px;\n flex-direction: row-reverse;\n .w-btn + .w-btn {\n margin-right: 10px;\n }\n`;\n\nexport const ModalStyleContainer = styled.div<ModalStyleWrapProps>``;\n\nexport const ModalStyleInner = styled.div<ModalStyleWrapProps>`\n ${(props) => css`\n padding-bottom: 20px;\n background: ${getThemeVariantValue(\n { ...props, defaultTheme: ModalStyleTheme },\n 'backgroundColorModalStyleInnerBase',\n )};\n min-width: ${getThemeVariantValue({ ...props, defaultTheme: ModalStyleTheme }, 'minWidthModalStyleInner')};\n border-radius: 5px;\n box-shadow: 0 0 0 1px\n ${getThemeVariantValue({ ...props, defaultTheme: ModalStyleTheme }, 'boxShadowModalStyleInnerH')},\n 0 4px 8px ${getThemeVariantValue({ ...props, defaultTheme: ModalStyleTheme }, 'boxShadowModalStyleInnerV')},\n 0 18px 46px 6px ${getThemeVariantValue({ ...props, defaultTheme: ModalStyleTheme }, 'boxShadowModalStyleInnerV')};\n `}\n`;\n// ModalStyleInner.defaultProps = {\n// defaultTheme: ModalStyleTheme,\n// };\n\nexport const ModalStyleWrap = styled.div<ModalStyleWrapProps>`\n z-index: 1001;\n\n ${ModalStyleBody},\n ${ModalStyleFooter} {\n margin: 0 20px;\n }\n`;\n\n// ModalStyleWrap.defaultProps = {\n// defaultTheme: ModalStyleTheme,\n// };\n\nexport default ModalStyleWrap;\n","import React, { useState, useEffect } from 'react';\nimport Overlay, { OverlayProps } from '@uiw/react-overlay';\nimport Button, { ButtonType, ButtonProps } from '@uiw/react-button';\nimport { Close } from '@uiw/icons/lib/Close';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { IProps, noop } from '@uiw/utils';\nimport CallShow from './CallShow';\nimport ModalStyleWrap, {\n ModalStyleBody,\n ModalStyleContainer,\n ModalStyleFooter,\n ModalStyleHeader,\n ModalStyleInner,\n} from './style';\nexport * from './style';\n\nexport interface ModalProps extends IProps, OverlayProps {\n type?: ButtonType;\n cancelText?: string;\n confirmButtonProps?: Omit<ButtonProps, 'ref'>;\n cancelButtonProps?: Omit<ButtonProps, 'ref'>;\n content?: React.ReactNode;\n confirmText?: string;\n title?: string;\n icon?: React.ReactNode;\n useButton?: boolean;\n usePortal?: boolean;\n autoFocus?: boolean;\n isCloseButtonShown?: boolean;\n isOpen?: boolean;\n bodyStyle?: React.CSSProperties;\n maxWidth?: number;\n minWidth?: number;\n width?: number;\n onCancel?: (evn: React.MouseEvent<HTMLButtonElement> & MouseEvent) => void;\n onConfirm?: (evn: React.MouseEvent<HTMLButtonElement> & MouseEvent) => void;\n}\n\ntype ShowModalProps = {\n show?: (props: Omit<ModalProps, 'onClosed' | 'isOpen'> & { children: React.ReactNode }) => void;\n};\n\nconst Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<OverlayProps>> & ShowModalProps =\n React.forwardRef<OverlayProps, ModalProps>((props, ref) => {\n const {\n prefixCls = 'w-modal',\n className,\n children,\n useButton = true,\n usePortal = true,\n autoFocus = false,\n isOpen: _ = false,\n title,\n cancelText,\n cancelButtonProps,\n confirmButtonProps,\n content,\n confirmText = '确认',\n type = 'light',\n icon,\n maxWidth = 500,\n minWidth = 320,\n width,\n isCloseButtonShown = true,\n onCancel = noop,\n onConfirm = noop,\n bodyStyle,\n ...other\n } = props;\n const [isOpen, setIsOpen] = useState(props.isOpen);\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(props.isOpen);\n }\n }, [props.isOpen]);\n\n const [loading, setLoading] = useState(false);\n const cls = [prefixCls, className, type ? `${type}` : null].filter(Boolean).join(' ').trim();\n function onClose() {\n setIsOpen(false);\n }\n async function handleCancel(e: React.MouseEvent<HTMLButtonElement, MouseEvent> & MouseEvent) {\n setLoading(true);\n try {\n onCancel && (await onCancel(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n }\n async function handleConfirm(e: React.MouseEvent<HTMLButtonElement, MouseEvent> & MouseEvent) {\n setLoading(true);\n try {\n onConfirm && (await onConfirm(e));\n } catch (e) {}\n setIsOpen(false);\n setLoading(false);\n }\n return (\n <ModalStyleWrap as={Overlay} usePortal={usePortal} isOpen={isOpen} {...other} onClose={onClose} className={cls}>\n <ModalStyleContainer className={`${prefixCls}-container`}>\n <ModalStyleInner\n className={[\n `${prefixCls}-inner`,\n title ? `${prefixCls}-shown-title` : null,\n icon ? `${prefixCls}-shown-icon` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n style={{ maxWidth, minWidth, width }}\n >\n {(title || icon) && (\n <ModalStyleHeader className={`${prefixCls}-header`}>\n {icon && icon}\n {title && <h4>{title}</h4>}\n {isCloseButtonShown && (\n <Button basic onClick={(e) => handleCancel(e)} icon={<IconStyleBase as={Close} />} type=\"light\" />\n )}\n </ModalStyleHeader>\n )}\n <ModalStyleBody className={`${prefixCls}-body`} style={bodyStyle}>\n {children || content}\n </ModalStyleBody>\n {useButton && (\n <ModalStyleFooter className={`${prefixCls}-footer`}>\n <Button\n autoFocus={autoFocus}\n type={type}\n loading={loading}\n disabled={loading}\n {...confirmButtonProps}\n onClick={(e) => handleConfirm(e)}\n >\n {confirmText}\n </Button>\n {cancelText && (\n <Button {...cancelButtonProps} onClick={(e) => handleCancel(e)}>\n {cancelText}\n </Button>\n )}\n </ModalStyleFooter>\n )}\n </ModalStyleInner>\n </ModalStyleContainer>\n </ModalStyleWrap>\n );\n });\n\nModal.show = CallShow;\nexport default Modal;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Modal, { ModalProps } from './';\n\nexport default function CallShow(props: Omit<ModalProps, 'onClosed' | 'isOpen'> & { children: React.ReactNode }) {\n const { title = '提示框', children, ...other } = props;\n const dv = document.createElement('div');\n dv.id = 'uiw-modal-call-show-element';\n document.body.appendChild(dv);\n ReactDOM.render(\n <Modal\n {...other}\n title={title}\n isOpen={true}\n onClosed={() => {\n dv.remove();\n }}\n >\n {children}\n </Modal>,\n dv,\n );\n}\n","import styled, { css } from 'styled-components';\nimport { ModalStyleHeader, ModalStyleBody, ModalStyleInner } from '@uiw/react-modal';\nimport { ButtonType } from '@uiw/react-button';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const AlertStyleTheme = {\n colorAlertPrimary: '#008ef0',\n colorAlertSuccess: '#28a745',\n colorAlertWarning: '#ffc107',\n colorAlertDanger: '#dc3545',\n colorAlertDefault: '#393e48',\n};\nconst propsTheme = {\n defaultTheme: { ...AlertStyleTheme },\n};\n\nexport interface AlertStyleWarpProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions<typeof AlertStyleTheme> {\n type?: ButtonType;\n icon?: React.ReactNode;\n}\n\nconst typeVariant = (type: ButtonType, color: string | number) => {\n return css`\n ${ModalStyleHeader} > ${IconStyleBase} {\n color: ${color};\n }\n `;\n};\n\nconst typeCss = (props: AlertStyleWarpProps) => {\n const { type } = props;\n if (type === 'primary') {\n return typeVariant(type, getThemeVariantValue({ ...props, ...propsTheme }, 'colorAlertPrimary'));\n } else if (type === 'success') {\n return typeVariant(type, getThemeVariantValue({ ...props, ...propsTheme }, 'colorAlertSuccess'));\n } else if (type === 'warning') {\n return typeVariant(type, getThemeVariantValue({ ...props, ...propsTheme }, 'colorAlertWarning'));\n } else if (type === 'danger') {\n return typeVariant(type, getThemeVariantValue({ ...props, ...propsTheme }, 'colorAlertDanger'));\n }\n return typeVariant('link', getThemeVariantValue({ ...props, ...propsTheme }, 'colorAlertDefault'));\n};\n\nexport const AlertStyleWarp = styled.div<AlertStyleWarpProps>`\n ${ModalStyleHeader} {\n display: table-cell;\n background-color: transparent;\n padding: 20px 0 0 20px;\n box-shadow: 0 0 0 0;\n padding-right: 0;\n ${IconStyleBase} {\n font-size: 40px;\n margin-right: 0;\n }\n > button > ${IconStyleBase} {\n font-size: 14px;\n }\n }\n ${ModalStyleBody} {\n display: table-cell;\n padding-right: 20px;\n padding-left: 20px;\n vertical-align: top;\n }\n ${typeCss}\n ${ModalStyleInner} ${ModalStyleHeader} {\n > button {\n min-width: 18px;\n min-height: 18px;\n padding: 5px 5px;\n position: absolute;\n right: 10px;\n top: 10px;\n }\n }\n ${(props) =>\n props.title &&\n css`\n ${ModalStyleInner} {\n ${ModalStyleHeader} {\n word-break: break-word;\n display: flex;\n padding-top: 15px;\n padding-right: 10px;\n > ${IconStyleBase} {\n font-size: 40px;\n position: absolute;\n top: 18px;\n }\n\n > button > ${IconStyleBase} {\n font-size: 14px;\n }\n }\n ${ModalStyleBody} {\n word-break: break-word;\n padding-top: 5px;\n }\n }\n `}\n ${(props) =>\n props.icon &&\n css`\n ${ModalStyleHeader} > h4 {\n padding-left: 60px;\n }\n `}\n ${(props) =>\n props.title &&\n props.icon &&\n css`\n ${ModalStyleBody} {\n padding-left: 80px;\n }\n `}\n`;\n","import React from 'react';\nimport Modal, { ModalProps } from '@uiw/react-modal';\nimport { IProps } from '@uiw/utils';\nimport { AlertStyleWarp } from './style';\nexport * from './style';\nexport interface AlertProps extends IProps, ModalProps {\n width?: number;\n}\n\nexport default (props: AlertProps = {}) => {\n const { prefixCls = 'w-alert', className, width = 400, ...other } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return (\n <AlertStyleWarp as={Modal} {...other} width={width} className={cls}>\n {props.children}\n </AlertStyleWarp>\n );\n};\n","import React, { Fragment } from 'react';\n\nconst delimiter =\n /((?:https?:\\/\\/)?(?:(?:[a-z0-9]?(?:[a-z0-9\\-]{1,61}[a-z0-9])?\\.[^\\.|\\s])+[a-z\\.]*[a-z]+|(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})(?::\\d{1,5})*[a-z0-9.,_\\/~#&=;%+?\\-\\\\(\\\\)]*)/gi;\n\nexport type AutoLinkProps = {\n text?: string;\n} & React.AnchorHTMLAttributes<HTMLAnchorElement>;\n\nexport default (props: AutoLinkProps = {}) => {\n const { text = '', ...other } = props;\n return (\n <Fragment>\n {text.split(delimiter).map((word, idx) => {\n const match = word.match(delimiter);\n if (match && match[0]) {\n const url = match[0];\n return (\n <a {...other} key={idx} href={url.startsWith('http') ? url : `http://${url}`}>\n {url}\n </a>\n );\n }\n return <Fragment key={idx}>{word}</Fragment>;\n })}\n </Fragment>\n );\n};\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const AvatarStyleTheme = {\n backgroundColorAvatar: '#ccc',\n colorAvatar: '#fff',\n\n fontSizeAvatarMini: '12px',\n fontSizeAvatarSmall: '12px',\n fontSizeAvatarDefault: '18px',\n fontSizeAvatarLarge: '24px',\n\n widthAvatarMini: '18px',\n widthAvatarSmall: '24px',\n widthAvatarDefault: '30px',\n widthAvatarLarge: '40px',\n borderRadiusDefault: '3px',\n};\nconst propsTheme = {\n defaultTheme: { ...AvatarStyleTheme },\n};\n\nexport interface AvatarStyleWarpProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,\n ThemeVariantValueOptions<typeof AvatarStyleTheme> {\n size?: 'large' | 'default' | 'small' | 'mini';\n shape?: 'square' | 'circle';\n}\n\nexport const AvatarStyleImg = styled.img``;\n\nexport const AvatarStyleWarp = styled.span<AvatarStyleWarpProps>`\n display: inline-block;\n text-align: center;\n background: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorAvatar')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorAvatar')};\n vertical-align: middle;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeAvatarDefault')};\n width: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'widthAvatarDefault')};\n height: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'widthAvatarDefault')};\n border-radius: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderRadiusDefault')};\n display: inline-flex;\n justify-content: center;\n align-items: center;\n & + & {\n margin-left: 5px;\n }\n ${(props) => {\n const { size } = props;\n switch (size) {\n case 'mini':\n return css`\n height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'widthAvatarMini')};\n width: ${getThemeVariantValue({ ...props, ...propsTheme }, 'widthAvatarMini')};\n font-size: ${getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeAvatarMini')};\n `;\n case 'small':\n return css`\n height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'widthAvatarSmall')};\n width: ${getThemeVariantValue({ ...props, ...propsTheme }, 'widthAvatarSmall')};\n font-size: ${getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeAvatarSmall')};\n `;\n case 'large':\n return css`\n height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'widthAvatarLarge')};\n width: ${getThemeVariantValue({ ...props, ...propsTheme }, 'widthAvatarLarge')};\n font-size: ${getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeAvatarLarge')};\n `;\n default:\n return css``;\n }\n }}\n\n ${(props) =>\n props.shape === 'circle' &&\n css`\n border-radius: 50%;\n `} \n &.w-avatar-circle {\n }\n & > ${AvatarStyleImg} {\n width: 100%;\n height: 100%;\n display: block;\n }\n`;\n","import React from 'react';\nimport { HTMLSpanProps, noop } from '@uiw/utils';\nimport { useState, useEffect } from 'react';\nimport { AvatarStyleWarp, AvatarStyleImg } from './style';\nexport * from './style';\nexport interface AvatarProps extends HTMLSpanProps {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n icon?: React.ReactNode;\n alt?: string;\n src?: string;\n size?: 'large' | 'default' | 'small' | 'mini';\n shape?: 'square' | 'circle';\n onError?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => boolean;\n}\n\nexport default React.forwardRef<HTMLSpanElement, AvatarProps>((props, ref) => {\n const {\n prefixCls = 'w-avatar',\n shape = 'circle',\n size = 'default',\n className,\n src,\n alt,\n icon,\n onError = noop,\n ...resetProps\n } = props;\n let children = props.children;\n const [isImgExist, setIsImgExist] = useState(true);\n const cls = [\n prefixCls,\n className,\n size ? `${prefixCls}-${size}` : null,\n shape ? `${prefixCls}-${shape}` : null,\n src ? `${prefixCls}-image` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useEffect(() => {\n setIsImgExist(true);\n }, [props.src]);\n\n if (isImgExist && src) {\n children = (\n <AvatarStyleImg\n src={src}\n alt={alt}\n onError={(evn) => {\n const errorFlag = onError ? onError(evn) : undefined;\n if (errorFlag !== false) {\n setIsImgExist(false);\n }\n }}\n />\n );\n } else if (icon) {\n children = icon;\n }\n return (\n <AvatarStyleWarp {...resetProps} size={size} shape={shape} className={cls} ref={ref}>\n {children}\n <span></span>\n </AvatarStyleWarp>\n );\n});\n","/**\n * 获取当前滚动条所在位置\n */\nexport function getScrollTop() {\n let scrollTop = 0;\n if (document && document.documentElement && document.documentElement.scrollTop) {\n scrollTop = document.documentElement.scrollTop;\n } else if (document.body) {\n scrollTop = document.body.scrollTop;\n }\n return scrollTop;\n}\n\n/**\n * TODO\n * @param {*} position 滚动到何处\n * @param {*} step 步长\n * @param {*} current 滚动条当前位置\n */\nexport function scrollToAnimate(position: number = 0, step: number = 100, current: number = 0) {\n let start = 0;\n const timer = setInterval(() => {\n if (current - start >= position) {\n start += step;\n if (current - start >= position) {\n window.scrollTo(0, current - start);\n } else {\n window.scrollTo(0, position);\n }\n } else {\n clearInterval(timer);\n }\n }, 0);\n}\n/**\n * 获取滚动条位置百分比\n */\nexport function getScrollPercent(offsetTop: number = 0) {\n let percent = 0;\n if (offsetTop < getScrollTop()) {\n percent = Math.round(\n ((getScrollTop() - offsetTop) / (document.body.scrollHeight - offsetTop - window.innerHeight)) * 100,\n );\n }\n return percent > 100 ? 100 : percent;\n}\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const BackTopStyleTheme = {\n bottomBackTop: '50px',\n rightBackTop: '50px',\n};\nconst propsTheme = {\n defaultTheme: { ...BackTopStyleTheme },\n};\nexport interface BackTopStyleWarpProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions<typeof BackTopStyleTheme> {\n visible?: boolean;\n fixed?: boolean;\n}\n\nexport const BackTopStyleWarp = styled.div<BackTopStyleWarpProps>`\n position: fixed;\n bottom: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'bottomBackTop')};\n right: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'rightBackTop')};\n cursor: pointer;\n z-index: 1006;\n transition: all 1s;\n ${(props) =>\n !props.fixed &&\n css`\n cursor: auto;\n position: static;\n `}\n ${(props) => {\n switch (props.visible) {\n case true:\n return css`\n opacity: 1;\n `;\n case false:\n return css`\n transition: all 1s;\n opacity: 0;\n height: 0px;\n `;\n default:\n return css``;\n }\n }}\n`;\n\nBackTopStyleWarp.defaultProps = {\n defaultTheme: BackTopStyleTheme,\n};\n","import React, { useState, useEffect } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { getScrollPercent, getScrollTop, scrollToAnimate } from './utils';\nimport { BackTopStyleWarp } from './style';\nexport * from './style';\n\ninterface ChildrenFunction {\n scrollToTop: () => void;\n percent: number;\n current: number;\n}\n\nexport interface BackTopStyleProps extends IProps, Omit<HTMLDivProps, 'children'> {\n offsetTop?: number;\n clickable?: boolean;\n content?: JSX.Element | string;\n fixed?: boolean;\n /**\n * 滚动距离多少时显示组件\n */\n showBelow?: number;\n speed?: number;\n children?: React.ReactNode | ((props: ChildrenFunction) => React.ReactNode);\n}\n\nexport interface IBackTopState {\n percent: number;\n current: number;\n}\n\nconst BackTopStyleBase = React.forwardRef<HTMLDivElement, BackTopStyleProps>((props, ref) => {\n const {\n prefixCls = 'w-back-top',\n className,\n content,\n children,\n offsetTop = 0,\n fixed = true,\n speed = 100,\n showBelow = 1,\n clickable = true,\n ...other\n } = props;\n const topShowBelow = !fixed ? 0 : showBelow || 0;\n const [percent, setPercent] = useState(0);\n const [current, setCurrent] = useState(0);\n const visible = percent >= topShowBelow;\n const cls = [\n prefixCls,\n className,\n !fixed ? 'no-fixed' : null,\n visible ? `${prefixCls}-show` : null,\n !visible ? `${prefixCls}-hide` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n useEffect(() => {\n window && window.addEventListener('scroll', onScroll);\n return function () {\n window && window.removeEventListener('scroll', onScroll);\n };\n });\n function onScroll() {\n setPercent(getScrollPercent(offsetTop));\n setCurrent(getScrollTop());\n }\n function scrollToTop() {\n if (typeof offsetTop === 'number' && typeof speed === 'number' && typeof current === 'number') {\n scrollToAnimate(offsetTop, speed, current);\n }\n }\n return (\n <BackTopStyleWarp\n onClick={() => clickable && scrollToTop()}\n className={cls}\n {...other}\n fixed={fixed}\n visible={visible}\n ref={ref}\n >\n {content}\n {typeof children !== 'function' ? children : children({ percent, current, scrollToTop: scrollToTop })}\n </BackTopStyleWarp>\n );\n});\n\nexport default BackTopStyleBase;\n","import styled, { keyframes, css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const BadgeStyleTheme = {\n marginVerticalBadgeStyleColorDot: '0px',\n marginHorizontalBadgeStyleColorDot: '4px',\n topBadgeStyleColorDot: '-1px',\n widthBadgeStyleColorDot: '6px',\n backgroundColorBadgepPocessing: '#007bff',\n fontSizeDefault: '14px',\n backgroundBadgeCountDot: '#f04134',\n colorBadge: '#fff',\n fontSizeSmall: '12px',\n boxShadowBadgeCountDot: '0 0 0 1px #fff',\n topBadgeCountDot: '-4px',\n topBadgeCount: '-10px',\n heightBadgeCount: '16px',\n borderRadiusBadgeCount: '10px',\n};\n\nconst propsTheme = {\n defaultTheme: { ...BadgeStyleTheme },\n};\n\nexport interface BadgeStyleWarpProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,\n ThemeVariantValueOptions<typeof BadgeStyleTheme> {}\n\nconst keyframesStatusProcessing = keyframes`\n from {\n transform: rotateZ(0deg);\n }\n to {\n transform: rotateZ(360deg);\n }\n`;\nexport interface BadgeStyleColorDotProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>,\n ThemeVariantValueOptions<typeof BadgeStyleTheme> {\n processing?: boolean;\n}\n/** 展示 color **/\nexport const BadgeStyleColorDot = styled.span<BadgeStyleColorDotProps>`\n line-height: inherit;\n vertical-align: baseline;\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeDefault')};\n margin: ${(props) =>\n css`\n ${getThemeVariantValue({ ...props, ...propsTheme }, 'marginVerticalBadgeStyleColorDot')} ${getThemeVariantValue(\n props,\n 'marginHorizontalBadgeStyleColorDot',\n )}\n `};\n width: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'widthBadgeStyleColorDot')};\n height: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'widthBadgeStyleColorDot')};\n display: inline-block;\n border-radius: 50%;\n vertical-align: middle;\n position: relative;\n top: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'topBadgeStyleColorDot')};\n ${(props) => {\n if (props.processing) {\n return css`\n position: relative;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorBadgepPocessing')};\n &:after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: inherit;\n content: '';\n -webkit-animation: ${keyframesStatusProcessing} 1.2s infinite ease-in-out;\n animation: ${keyframesStatusProcessing} 1.2s infinite ease-in-out;\n }\n `;\n }\n return css``;\n }}\n`;\n\nexport interface BadgeStyleSupCountDotBaseProps extends ThemeVariantValueOptions<typeof BadgeStyleTheme> {\n dot?: boolean;\n nowrap?: boolean;\n}\n/** 展示 count **/\nexport const BadgeStyleSupCountDotBase = styled.sup<BadgeStyleSupCountDotBaseProps>`\n ${(props) =>\n !props.dot &&\n css`\n position: absolute;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n top: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'topBadgeCount')};\n height: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'heightBadgeCount')};\n border-radius: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderRadiusBadgeCount')};\n min-width: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'heightBadgeCount')};\n background: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundBadgeCountDot')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorBadge')};\n line-height: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'heightBadgeCount')};\n text-align: center;\n padding: 0 5px;\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeSmall')};\n white-space: nowrap;\n -webkit-transform-origin: -10% center;\n transform-origin: -10% center;\n font-family: tahoma;\n box-shadow: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowBadgeCountDot')};\n `}\n\n ${(props) =>\n props.nowrap &&\n !props.dot &&\n css`\n top: auto;\n display: block;\n position: relative;\n -webkit-transform: none !important;\n transform: none !important;\n overflow: hidden;\n `}\n ${(props) =>\n props.dot &&\n css`\n position: absolute;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n -webkit-transform-origin: 0 center;\n transform-origin: 0 center;\n overflow: hidden;\n color: transparent;\n top: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'topBadgeCountDot')};\n height: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'widthBadgeStyleColorDot')};\n width: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'widthBadgeStyleColorDot')};\n padding: 0;\n border-radius: 100%;\n background: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundBadgeCountDot')};\n z-index: 10;\n box-shadow: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowBadgeCountDot')};\n `}\n`;\n\n/** 最外层包裹 **/\nexport const BadgeStyleWarp = styled.span<BadgeStyleWarpProps>`\n position: relative;\n display: inline-block;\n line-height: 1;\n vertical-align: middle;\n`;\n","import React from 'react';\nimport { IProps, HTMLSpanProps } from '@uiw/utils';\nimport { BadgeStyleWarp, BadgeStyleColorDot, BadgeStyleSupCountDotBase } from './style';\n\nexport interface BadgeProps extends IProps, HTMLSpanProps {\n color?: string;\n dot?: boolean;\n processing?: boolean;\n max?: number;\n count?: number;\n}\n\nexport default React.forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n const {\n prefixCls = 'w-badge',\n className,\n style = {},\n color,\n max = 99,\n dot = false,\n processing = false,\n count,\n children,\n ...other\n } = props;\n const supProps = {\n className: [!dot ? `${prefixCls}-count` : null, dot ? 'dot' : null].filter(Boolean).join(' ').trim(),\n style: {},\n };\n const cls = [\n className,\n prefixCls,\n !children ? 'nowrap' : null,\n !children ? `${prefixCls}-status` : null,\n processing ? `${prefixCls}-processing` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const warpperProps: HTMLSpanProps = {};\n if (count || count === 0) {\n supProps.style = { backgroundColor: color, ...style };\n } else {\n warpperProps.style = style || {};\n }\n return (\n <BadgeStyleWarp className={cls} {...other} {...warpperProps} ref={ref}>\n <span></span>\n {color && (\n <BadgeStyleColorDot className={`${prefixCls}-dot`} processing={processing} style={{ backgroundColor: color }} />\n )}\n {children}\n {count !== 0 && !color && (\n <BadgeStyleSupCountDotBase {...supProps} dot={dot} nowrap={!children}>\n {!dot && count && max && count > max ? `${max}+` : count}\n </BadgeStyleSupCountDotBase>\n )}\n </BadgeStyleWarp>\n );\n});\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions, HTMLDivProps, HTMLSpanProps } from '@uiw/utils';\n\nexport const BreadcrumbStyleTheme = {\n colorBreadcrumbActive: '#6e6e6e',\n paddingLeftBreadcrumItemBefore: '8px',\n paddingRightBreadcrumItemBefore: '8px',\n fontSizeDefault: '14px',\n marginLeftBreadcrumItemInterval: '6px',\n};\n\nconst propsTheme = {\n defaultTheme: { ...BreadcrumbStyleTheme },\n};\n\nexport interface BreadcrumbStyleWarpProps extends ThemeVariantValueOptions<typeof BreadcrumbStyleTheme>, HTMLDivProps {}\n\nexport const BreadcrumbStyleWarp = styled.div<BreadcrumbStyleWarpProps>`\n display: inline-flex;\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeDefault')};\n`;\n\nexport interface BreadcrumbStyleWarpItemProps\n extends ThemeVariantValueOptions<typeof BreadcrumbStyleTheme>,\n HTMLSpanProps {\n active?: boolean;\n noSeparator?: Boolean;\n noBefore?: boolean;\n}\n\nexport const BreadcrumbStyleWarpItem = styled.span<BreadcrumbStyleWarpItemProps>`\n display: inline-flex;\n &::before {\n padding-right: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'paddingRightBreadcrumItemBefore')};\n padding-left: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'paddingLeftBreadcrumItemBefore')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorBreadcrumb')};\n }\n\n &:first-child::before {\n display: none;\n }\n\n ${(props) =>\n !props.noBefore &&\n !props.noSeparator &&\n css`\n &::before {\n display: inline-block;\n content: attr(data-separator);\n }\n `}\n\n ${(props) =>\n props.noSeparator &&\n css`\n & {\n margin-left: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'marginLeftBreadcrumItemInterval')};\n }\n `}\n ${(props) =>\n props.active &&\n css`\n & {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorBreadcrumbActive')};\n }\n `}\n`;\n\nexport const BreadcrumbStyleSeparator = styled.span`\n padding-right: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'paddingRightBreadcrumItemBefore')};\n padding-left: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'paddingLeftBreadcrumItemBefore')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorBreadcrumb')};\n`;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport { BreadcrumbStyleWarpItem, BreadcrumbStyleSeparator } from './style';\n\ntype ElementTag<T = any> = T extends HTMLElement ? React.HTMLAttributes<T> : T;\n\nexport interface BreadcrumbItemProps<T = any> extends IProps, ElementTag {\n tagName?: T extends HTMLElement ? keyof JSX.IntrinsicElements : T;\n separator?: JSX.Element | string;\n active?: boolean;\n 'data-separator'?: JSX.Element | string;\n}\n\ntype RefElement<T = HTMLSpanElement> = T extends HTMLElement ? T : never;\n\nconst BreadcrumbItem = React.forwardRef<RefElement, BreadcrumbItemProps>((props, ref) => {\n const { prefixCls = 'w-breadcrumb', className, tagName: TagName = 'span', active, separator, ...other } = props;\n const isElm = React.isValidElement(separator);\n const cls = [\n `${prefixCls}-item`,\n className,\n active ? 'active' : null,\n !separator ? 'no-separator' : null,\n isElm ? 'no-before' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const otherProps = { className: cls, ...other, as: TagName };\n if (!isElm) {\n otherProps['data-separator'] = separator;\n }\n return React.createElement(\n BreadcrumbStyleWarpItem,\n {\n ...otherProps,\n noSeparator: !separator,\n noBefore: isElm,\n active,\n ref,\n },\n <Fragment>\n {isElm && <BreadcrumbStyleSeparator className={`${prefixCls}-separator`}>{separator}</BreadcrumbStyleSeparator>}\n {props.children}\n </Fragment>,\n );\n});\n\nexport default BreadcrumbItem;\n","import React from 'react';\nimport { HTMLDivProps } from '@uiw/utils';\nimport Item from './Item';\nimport { BreadcrumbStyleWarp } from './style';\n\nexport interface BreadcrumbProps extends HTMLDivProps {\n style?: React.CSSProperties;\n className?: string;\n prefixCls?: string;\n separator?: JSX.Element | string;\n}\n\nconst Breadcrumb = React.forwardRef<HTMLDivElement, BreadcrumbProps>((props, ref) => {\n const { prefixCls = 'w-breadcrumb', className, separator = '/', ...other } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return (\n <BreadcrumbStyleWarp {...{ className: cls, ...other }} ref={ref}>\n {React.Children.map(props.children, (element: any) => {\n return React.cloneElement(element, Object.assign({ separator }, element.props, {}));\n })}\n </BreadcrumbStyleWarp>\n );\n});\ntype Breadcrumb = typeof Breadcrumb & {\n Item: typeof Item;\n};\n\n(Breadcrumb as Breadcrumb).Item = Item;\n\nexport default Breadcrumb as Breadcrumb;\nexport { Breadcrumb };\n","import Breadcrumb from './Breadcrumb';\nexport * from './style';\nexport * from './Item';\nexport * from './Breadcrumb';\n\nexport default Breadcrumb;\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions, HTMLDivProps } from '@uiw/utils';\nimport { ButtonStyleWarp, ButtonStyleBaseLight } from '@uiw/react-button';\n\nexport const ButtonGroupStyleTheme = {\n boxShadowColorLightDefault: 'rgba(0, 0, 0, 0.17)',\n};\nconst propsTheme = {\n defaultTheme: { ...ButtonGroupStyleTheme },\n};\nexport interface ButtonGroupWarpProps extends ThemeVariantValueOptions<typeof ButtonGroupStyleTheme>, HTMLDivProps {\n vertical?: boolean;\n}\nexport const ButtonGroupWarp = styled.div<ButtonGroupWarpProps>`\n ${ButtonStyleWarp} {\n border-radius: 0;\n box-shadow: inset 1px 0 0 0\n ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')},\n inset -1px 0 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')},\n inset -1px 0px 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')};\n }\n ${ButtonStyleWarp}:last-child {\n border-radius: 0 3px 3px 0;\n }\n ${ButtonStyleWarp}:first-child {\n border-radius: 3px 0 0 3px;\n }\n ${ButtonStyleWarp}:first-child:last-child {\n border-radius: 3px !important;\n }\n ${ButtonStyleWarp}:focus {\n z-index: 2;\n }\n ${ButtonStyleWarp} + ${ButtonStyleWarp} {\n margin-left: -1px !important;\n }\n ${ButtonStyleWarp}:not(${ButtonStyleBaseLight}):first-child {\n box-shadow: inset -1px 0px 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')} !important;\n }\n ${ButtonStyleWarp}:not(${ButtonStyleBaseLight}):last-child {\n box-shadow: inset 1px 0 0 0\n ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')},\n inset 0px 0 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')};\n }\n ${ButtonStyleBaseLight} {\n box-shadow: inset 0 1px 0 0\n ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')},\n inset 1px -1px 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')},\n inset -1px 0px 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')} !important;\n }\n ${(props) =>\n props.vertical &&\n css`\n ${ButtonStyleWarp}:not(${ButtonStyleBaseLight}) {\n box-shadow: inset 0 -1px 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')},\n inset 0 1px 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')} !important;\n }\n ${ButtonStyleWarp}:not(${ButtonStyleBaseLight}):first-child {\n box-shadow: inset 0 -1px 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')},\n inset 0 0 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorLightDefault')} !important;\n }\n ${ButtonStyleWarp} {\n width: 100%;\n display: block;\n & + ${ButtonStyleWarp} {\n margin-left: 0 !important;\n margin-top: -1px !important;\n }\n &:last-child {\n border-radius: 0 0 3px 3px;\n }\n &:first-child {\n border-radius: 3px 3px 0 0;\n }\n }\n `}\n`;\n\nButtonGroupWarp.defaultProps = {\n defaultTheme: ButtonGroupStyleTheme,\n};\n","import React from 'react';\nimport { HTMLDivProps, IProps } from '@uiw/utils';\nimport { ButtonGroupWarp } from './style';\nexport * from './style';\nexport interface ButtonGroupProps extends IProps, HTMLDivProps {\n vertical?: boolean;\n}\n\nexport default React.forwardRef<HTMLDivElement, ButtonGroupProps>((props, ref) => {\n const { prefixCls = 'w-btn-group', vertical = false, children, className, ...resetProps } = props;\n const cls = [prefixCls, className, vertical && `${prefixCls}-vertical`].filter(Boolean).join(' ').trim();\n return (\n <ButtonGroupWarp className={cls} {...resetProps} vertical={vertical} ref={ref}>\n {children}\n </ButtonGroupWarp>\n );\n});\n","const canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction fallback(context: HTMLElement, node: HTMLElement) {\n if (node) {\n do {\n if (node === context) return true;\n } while ((node = node.parentNode as HTMLElement));\n }\n\n return false;\n}\n\nfunction isDOM(item: Node) {\n return typeof HTMLElement === 'function'\n ? item instanceof HTMLElement\n : item && typeof item === 'object' && item.nodeType === 1 && typeof item.nodeName === 'string';\n}\n\nconst contains = (() => {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return canUseDOM\n ? function (context: HTMLElement, node: HTMLElement) {\n if (context && context.contains && typeof context.contains === 'function' && isDOM(node)) {\n return context.contains(node);\n }\n if (context && context.compareDocumentPosition && isDOM(node)) {\n return context === node || !!(context.compareDocumentPosition(node) && 16);\n }\n return fallback(context, node);\n }\n : fallback;\n})();\n\nexport default contains;\n","export interface BordersSize extends CSSStyleDeclaration {\n [key: string]: any;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles: BordersSize, axis: 'x' | 'y'): number {\n const sideA: string = axis === 'x' ? 'Left' : 'Top';\n const sideB: string = sideA === 'Left' ? 'Right' : 'Bottom';\n return parseFloat(styles[`border${sideA}Width`]) + parseFloat(styles[`border${sideB}Width`]);\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined';\n","import isBrowser from './isBrowser';\n\ninterface Document {\n documentMode?: any;\n}\n\ninterface Window {\n MSInputMethodContext?: any;\n}\n\nconst isIE11 = isBrowser && !!((window as Window).MSInputMethodContext && (document as Document).documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version: number) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import isIE from './isIE';\n\ninterface BodyElement extends HTMLBodyElement {\n [key: string]: any;\n}\n\ninterface IHTMLElement extends HTMLElement {\n [key: string]: any;\n}\n\ninterface ComputedStyle extends CSSStyleDeclaration {\n [key: string]: any;\n}\n\nfunction getSize(axis: 'Height' | 'Width', body: BodyElement, html: IHTMLElement, computedStyle: ComputedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? parseInt(html[`offset${axis}`], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`], 10) +\n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`], 10)\n : 0,\n );\n}\n\nexport type WindowSize = { height?: number; width?: number };\n\nexport default function getWindowSizes(document: HTMLDocument): WindowSize {\n const body = document.body as HTMLBodyElement;\n const html = document.documentElement as HTMLElement;\n const computedStyle = getComputedStyle(html) as CSSStyleDeclaration;\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","import { getScroll } from '@uiw/utils';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes, { WindowSize } from './getWindowSizes';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\nexport interface IBoundingClientRect {\n left: number;\n right: number;\n top: number;\n bottom: number;\n width: number;\n height: number;\n offsetLeft?: number;\n offsetTop?: number;\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element: HTMLElement) {\n let rect = {} as IBoundingClientRect;\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, true);\n const scrollLeft = getScroll(element);\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n // eslint-disable-next-line\n } catch (e) {}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n } as IBoundingClientRect;\n\n // subtract scrollbar size from sizes\n const sizes: WindowSize = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument!) : {};\n const width = sizes.width || element.clientWidth || result.right - result.left;\n const height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n result.offsetLeft = element.offsetLeft || element.scrollLeft || 0;\n result.offsetTop = element.offsetTop || element.offsetTop || 0;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result) as IBoundingClientRect;\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets: ClientRect): ClientRect {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(\n element: HTMLElement,\n property?: keyof CSSStyleDeclaration,\n): CSSStyleDeclaration | any {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument!.defaultView;\n const css: CSSStyleDeclaration = (window as Window).getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","export type Sizes = {\n width: number;\n height: number;\n};\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element: HTMLElement): Sizes {\n let rect = element.getBoundingClientRect();\n // const window = element.ownerDocument.defaultView;\n // const styles = window.getComputedStyle(element);\n // const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n // const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result: Sizes = {\n width: element.offsetWidth || element.scrollWidth || rect.width || 0,\n height: element.offsetHeight || element.scrollHeight || rect.height || 0,\n };\n return result;\n}\n","import { getScroll } from '@uiw/utils';\nimport getBoundingClientRect, { IBoundingClientRect } from './util/getBoundingClientRect';\nimport getOuterSizes from './util/getOuterSizes';\nimport { OverlayStyl, OverlayTriggerProps, Placement } from './';\n\ntype GetStyleOptions = {\n trigger: HTMLElement | IBoundingClientRect;\n popup: HTMLElement | IBoundingClientRect;\n placement: OverlayStyl['placement'];\n usePortal: OverlayTriggerProps['usePortal'];\n autoAdjustOverflow: OverlayTriggerProps['autoAdjustOverflow'];\n};\n\nexport function getStyle(options: GetStyleOptions) {\n let { trigger: triggerDom, popup: popupDom, placement, usePortal, autoAdjustOverflow } = options || {};\n const sty = {\n left: 0,\n top: 0,\n placement,\n } as OverlayStyl;\n\n if (!triggerDom || !popupDom || !document) {\n return sty;\n }\n\n const winSizeHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n const winSizeWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n\n sty.placement = placement;\n const scrollTop = getScroll((triggerDom as HTMLElement).ownerDocument!.documentElement, true);\n const scrollLeft = getScroll((triggerDom as HTMLElement).ownerDocument!.documentElement);\n const trigger = {\n ...getBoundingClientRect(triggerDom as HTMLElement),\n ...getOuterSizes(triggerDom as HTMLElement),\n };\n const popup = {\n ...getBoundingClientRect(popupDom as HTMLElement),\n ...getOuterSizes(popupDom as HTMLElement),\n };\n\n const bottom = winSizeHeight - trigger.bottom;\n const right = winSizeWidth - trigger.left - trigger.width;\n\n sty.top = trigger.top + scrollTop;\n sty.left = trigger.left;\n\n if (!usePortal) {\n sty.top = trigger.offsetTop as number;\n sty.left = trigger.offsetLeft as number;\n }\n\n if (placement && /^(top)/.test(placement)) {\n sty.top -= popup.height;\n }\n if (placement && /^(right)/.test(placement)) {\n sty.left += trigger.width;\n }\n if (placement && /^(bottom)/.test(placement)) {\n sty.top += trigger.height;\n }\n if (placement && /^(left)/.test(placement)) {\n sty.left -= popup.width;\n }\n switch (sty.placement) {\n case 'bottomLeft':\n case 'topLeft':\n break;\n case 'bottom':\n // eslint-disable-next-line\n case 'top':\n sty.left = sty.left - (popup.width - trigger.width) / 2;\n break;\n case 'bottomRight':\n case 'topRight':\n sty.left = sty.left + scrollLeft + trigger.width - popup.width;\n break;\n case 'rightTop':\n case 'leftTop':\n break;\n case 'right':\n // eslint-disable-next-line\n case 'left':\n sty.top = sty.top - (popup.height - trigger.height) / 2;\n break;\n case 'rightBottom':\n case 'leftBottom':\n sty.top = sty.top - popup.height + trigger.height;\n break;\n default:\n break;\n }\n if (autoAdjustOverflow) {\n if (placement && /^(top)/.test(placement) && trigger.top < popup.height && bottom > popup.height) {\n sty.placement = placement.replace(/^top/, 'bottom') as Placement;\n sty.top = sty.top + popup.height + trigger.height;\n }\n if (placement && /^(bottom)/.test(placement) && bottom < popup.height && trigger.top > popup.height) {\n sty.placement = placement.replace(/^bottom/, 'top') as Placement;\n sty.top = sty.top - popup.height - trigger.height;\n }\n if (placement && /^(right)/.test(placement) && right < popup.width) {\n sty.placement = placement.replace(/^right/, 'left') as Placement;\n sty.left = sty.left - trigger.width - popup.width;\n }\n if (placement && /^(left)/.test(placement) && trigger.left < popup.width) {\n sty.placement = placement.replace(/^left/, 'right') as Placement;\n sty.left = sty.left + trigger.width + popup.width;\n }\n\n if (placement && /^(left|right)/.test(placement) && usePortal) {\n // Top\n if (\n (/(Top)$/.test(placement) && trigger.top < 0) ||\n (/(right|left)$/.test(placement) && trigger.top + trigger.height / 2 < popup.height / 2) ||\n (/(Bottom)$/.test(placement) && trigger.top + trigger.height < popup.height)\n ) {\n sty.top = scrollTop;\n }\n } else {\n // Top\n if (placement && /(Top)$/.test(placement) && trigger.top < 0) {\n sty.top -= trigger.top;\n }\n if (placement && /(Bottom)$/.test(placement) && trigger.bottom < popup.height) {\n // eslint-disable-next-line\n sty.top = sty.top + (popup.height - trigger.bottom);\n }\n if (placement && /(right|left)$/.test(placement) && trigger.bottom - trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top + popup.height / 2 - (trigger.bottom - trigger.height / 2);\n }\n }\n // Bottom Public Part\n if (placement && /^(left|right)/.test(placement)) {\n if (/(Top)$/.test(placement) && bottom + trigger.height < popup.height) {\n sty.top = sty.top - (popup.height - bottom - trigger.height); // eslint-disable-line\n }\n if (/(right|left)$/.test(placement) && bottom + trigger.height / 2 < popup.height / 2) {\n sty.top = sty.top - (popup.height / 2 - bottom - trigger.height / 2); // eslint-disable-line\n }\n if (/(Bottom)$/.test(placement) && bottom < 0) {\n sty.top = sty.top + bottom; // eslint-disable-line\n }\n }\n\n if (placement && /^(top|bottom)/.test(placement) && usePortal) {\n // left\n if (\n (/(Left)$/.test(placement) && trigger.left < 0) ||\n (/(top|bottom)$/.test(placement) && trigger.left + trigger.width / 2 < popup.width / 2) ||\n (/(Right)$/.test(placement) && trigger.left + trigger.width < popup.width)\n ) {\n sty.left = scrollLeft;\n }\n // right\n if (/(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = trigger.left + trigger.width + right - popup.width;\n }\n } else if (placement && /(top|bottom)$/.test(placement) && right + trigger.width / 2 < popup.width / 2) {\n sty.left = sty.left + (right + trigger.width / 2 - popup.width / 2); // eslint-disable-line\n }\n if (placement && /^(top|bottom)/.test(placement)) {\n if (/(Left)$/.test(placement) && trigger.width + right < popup.width) {\n sty.left = sty.left - (popup.width - trigger.width - right);\n }\n if (/(Right)$/.test(placement) && right < 0) {\n sty.left = sty.left + right; // eslint-disable-line\n }\n }\n }\n return sty;\n}\n","import styled, { css } from 'styled-components';\nimport Overlay, { ContainerWrap, ContentWrap } from '@uiw/react-overlay';\nimport { ThemeVariantValueOptions } from '@uiw/utils';\nimport { OverlayTriggerProps } from 'src';\n\ninterface OverlayTriggerWrapProps extends ThemeVariantValueOptions, OverlayTriggerProps {}\n\nexport const OverlayTriggerWrap = styled(Overlay)<OverlayTriggerWrapProps>`\n ${(props) => css`\n position: absolute !important;\n top: auto;\n left: auto;\n right: auto;\n bottom: auto;\n overflow: inherit;\n width: initial;\n height: initial;\n ${ContainerWrap} {\n position: relative;\n overflow: inherit;\n &::before {\n display: none;\n }\n }\n ${ContentWrap} {\n margin: 0;\n\n ${props.placement === 'rightTop' &&\n css`\n transform-origin: left top;\n `}\n\n ${props.placement === 'right' &&\n css`\n transform-origin: left center;\n `}\n\n ${props.placement === 'rightBottom' &&\n css`\n transform-origin: left bottom;\n `}\n\n ${props.placement === 'topLeft' &&\n css`\n transform-origin: bottom left;\n `}\n\n ${props.placement === 'top' &&\n css`\n transform-origin: bottom center;\n `}\n\n ${props.placement === 'topRight' &&\n css`\n transform-origin: bottom right;\n `}\n\n ${props.placement === 'left' &&\n css`\n transform-origin: right center;\n `}\n\n ${props.placement === 'leftBottom' &&\n css`\n transform-origin: right bottom;\n `}\n\n ${props.placement === 'bottomLeft' &&\n css`\n transform-origin: top left;\n `}\n\n ${props.placement === 'bottom' &&\n css`\n transform-origin: top center;\n `}\n\n ${props.placement === 'bottomRight' &&\n css`\n transform-origin: top right;\n `}\n }\n `}\n`;\n\nexport const TriggerWrap = styled.div<{ disabled?: boolean }>`\n ${(props) => css`\n ${props.disabled &&\n css`\n cursor: not-allowed;\n `}\n `}\n`;\n","import React, { cloneElement, useEffect, useRef, useState, useImperativeHandle } from 'react';\nimport { GetStyledCloneComponent, IProps, noop } from '@uiw/utils';\nimport Overlay, { OverlayProps } from '@uiw/react-overlay';\nimport contains from './utils';\nimport { IBoundingClientRect } from './util/getBoundingClientRect';\nimport { getStyle } from './getStyle';\nimport { OverlayTriggerWrap, TriggerWrap } from './style';\n\nexport interface OverlayTriggerProps extends IProps, OverlayProps {\n onVisibleChange?: (isVisbale: boolean) => void;\n onEnter?: (node: HTMLElement, isAppearing: boolean) => void;\n overlay?: React.ReactNode | any;\n trigger?: 'click' | 'hover' | 'focus';\n usePortal?: boolean;\n isOpen?: boolean;\n disabled?: boolean;\n isOutside?: boolean;\n isClickOutside?: boolean;\n autoAdjustOverflow?: boolean;\n placement?: Placement;\n delay?: Delay;\n}\n\nexport interface OverlayTriggerState {\n show: boolean;\n trigger: OverlayTriggerProps['trigger'];\n overlayStyl: OverlayStyl;\n transitionName: OverlayProps['transitionName'];\n}\n\nexport type Delay =\n | number\n | {\n show?: number;\n hide?: number;\n };\n\nexport type Placement =\n | 'top'\n | 'topLeft'\n | 'topRight'\n | 'left'\n | 'leftTop'\n | 'leftBottom'\n | 'right'\n | 'rightTop'\n | 'rightBottom'\n | 'bottom'\n | 'bottomLeft'\n | 'bottomRight';\n\nexport type OverlayStyl = {\n placement: Placement;\n top: number;\n bottom: number;\n left: number;\n right: number;\n zIndex: number;\n};\n\ninterface ITriggerProps {\n onClick?: (e: MouseEvent) => void;\n onFocus?: (e: MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseOut?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseEnter?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\nconst normalizeDelay = (delay?: Delay) => (delay && typeof delay === 'object' ? delay : { show: delay, hide: delay });\n\nexport type OverlayTriggerRef = {\n hide: () => void;\n show: () => void;\n overlayDom: React.MutableRefObject<HTMLElement | undefined>;\n};\n\nexport default React.forwardRef<OverlayTriggerRef, OverlayTriggerProps>((props, ref) => {\n const {\n className,\n\n prefixCls = 'w-overlay-trigger',\n usePortal = true,\n isOutside = false,\n isClickOutside = true,\n disabled = false,\n isOpen: _ = false,\n trigger = 'hover',\n placement = 'top',\n\n autoAdjustOverflow,\n transitionName,\n\n children,\n overlay,\n onVisibleChange = noop,\n onEnter = noop,\n ...other\n } = props;\n\n const zIndex = useRef<number>(999);\n const triggerRef = useRef<HTMLElement>();\n const popupRef = useRef<HTMLElement>();\n const timeoutRef = useRef<number[]>([]);\n const hoverStateRef = useRef<'show' | 'hide' | null>(null);\n const [isOpen, setIsOpen] = useState(!!props.isOpen);\n const [overlayStyl, setOverlayStyl] = useState<OverlayStyl>({\n placement,\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: zIndex.current,\n });\n useImperativeHandle(ref, () => ({\n hide: () => hide(),\n show: () => show(),\n overlayDom: popupRef,\n }));\n\n const child: any = React.Children.only(children);\n const overlayProps: OverlayProps = {\n ...other,\n placement,\n isOpen,\n dialogProps: {},\n };\n const triggerProps: ITriggerProps = {};\n\n function getChildProps() {\n if (child && React.isValidElement(child)) {\n return child.props;\n }\n return {};\n }\n\n useEffect(() => {\n if (isClickOutside && isOpen) {\n document && document.addEventListener('mousedown', handleClickOutside);\n window.addEventListener('resize', handleResize);\n }\n return () => {\n document && isClickOutside && document.removeEventListener('mousedown', handleClickOutside);\n window.removeEventListener('resize', handleResize);\n };\n }, [isOpen]);\n\n useEffect(() => {\n if (props.isOpen !== isOpen) {\n setIsOpen(!!props.isOpen);\n }\n }, [props.isOpen]);\n\n useEffect(() => {\n const styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current as HTMLElement | IBoundingClientRect,\n popup: popupRef.current as HTMLElement | IBoundingClientRect,\n usePortal,\n autoAdjustOverflow,\n });\n setOverlayStyl({ ...styls, zIndex: zIndex.current });\n onVisibleChange(isOpen);\n }, [isOpen]);\n\n const handleResize = () => {\n if (isOpen) {\n zIndex.current -= 1;\n setIsOpen(false);\n onVisibleChange && onVisibleChange(false);\n }\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const popNode = popupRef.current;\n const childNode = triggerRef.current;\n if (\n popNode &&\n childNode &&\n e.target &&\n !contains(popNode, e.target as HTMLElement) &&\n !contains(childNode, e.target as HTMLElement)\n ) {\n zIndex.current -= 1;\n setIsOpen(false);\n onVisibleChange && onVisibleChange(false);\n }\n };\n\n function clearTimeouts() {\n if (timeoutRef.current.length > 0) {\n for (const timeoutId of timeoutRef.current) {\n window.clearTimeout(timeoutId);\n }\n timeoutRef.current = [];\n }\n }\n function handleShow() {\n clearTimeouts();\n hoverStateRef.current = 'show';\n\n const delay = normalizeDelay(props.delay);\n if (!delay.show && !(props.children as JSX.Element)?.props.disabled) {\n show();\n return;\n }\n const handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'show') show();\n }, delay.show);\n clearTimeout(handle);\n timeoutRef.current.push(handle);\n }\n\n function handleHide(isOutside: boolean) {\n clearTimeouts();\n if (!isOutside && props.isOutside) return;\n hoverStateRef.current = 'hide';\n\n const delay = normalizeDelay(props.delay);\n\n if (!delay.hide) {\n hide();\n return;\n }\n\n const handle = window.setTimeout(() => {\n if (hoverStateRef.current === 'hide') hide();\n }, delay.hide);\n\n timeoutRef.current.push(handle);\n }\n\n // Simple implementation of mouseEnter and mouseLeave.\n // React's built version is broken: https://github.com/facebook/react/issues/4251\n // for cases when the trigger is disabled and mouseOut/Over can cause flicker\n // moving from one child element to another.\n function handleMouseOverOut(handler: Function, e: React.MouseEvent, relatedNative: 'fromElement' | 'toElement') {\n const target = e.currentTarget as HTMLElement;\n const related = (e.relatedTarget || (e.nativeEvent as any)[relatedNative]) as HTMLElement;\n let isOutside = true;\n if (\n (popupRef.current && contains(popupRef.current, related)) ||\n (triggerRef.current && contains(triggerRef.current, related))\n ) {\n isOutside = false;\n }\n if ((!related || related !== target) && !contains(target, related)) {\n handler(isOutside, e);\n }\n }\n\n function hide() {\n if (!isOpen) return;\n zIndex.current -= 1;\n setIsOpen(false);\n }\n\n function show() {\n if (isOpen) return;\n zIndex.current += 1;\n setIsOpen(true);\n }\n\n function handleEnter(node: HTMLElement, isAppearing: boolean) {\n onEnter && onEnter(node, isAppearing);\n const styls = getStyle({\n placement: overlayStyl.placement || placement,\n trigger: triggerRef.current as HTMLElement | IBoundingClientRect,\n popup: popupRef.current as HTMLElement | IBoundingClientRect,\n usePortal,\n autoAdjustOverflow,\n });\n setOverlayStyl({ ...styls, zIndex: zIndex.current });\n }\n\n if (trigger === 'click' && !disabled) {\n triggerProps.onClick = (e) => {\n const { onClick } = getChildProps() as any;\n isOpen ? hide() : show();\n if (onClick) onClick(e, !isOpen);\n };\n }\n if (trigger === 'focus' && !disabled) {\n triggerProps.onFocus = () => handleShow();\n }\n\n if (trigger === 'hover' && !disabled) {\n triggerProps.onMouseOver = triggerProps.onMouseEnter = (e) => {\n handleMouseOverOut(handleShow, e, 'fromElement');\n };\n triggerProps.onMouseOut = triggerProps.onMouseLeave = (e) => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n if (overlayProps.dialogProps) {\n overlayProps.dialogProps!.onMouseLeave = (e) => {\n handleMouseOverOut(handleHide, e, 'toElement');\n };\n }\n }\n overlayProps.style = { ...overlayProps.style, ...overlayStyl };\n\n return (\n <React.Fragment>\n {cloneElement(\n child,\n Object.assign({ disabled }, child.props, {\n ...triggerProps,\n ref: triggerRef,\n className: [child.props.className, disabled ? `${prefixCls}-disabled` : null]\n .filter(Boolean)\n .join(' ')\n .trim(),\n }),\n )}\n <OverlayTriggerWrap\n {...overlayProps}\n // as={Overlay}\n style={{ ...overlayProps.style, ...overlayStyl }}\n onEnter={handleEnter}\n className={[prefixCls, className, overlayStyl.placement].filter(Boolean).join(' ').trim()}\n usePortal={usePortal}\n transitionName={transitionName}\n isOpen={isOpen}\n hasBackdrop={false}\n >\n {cloneElement(\n overlay,\n Object.assign({\n ...overlay.props,\n ref: popupRef,\n className: [overlay.props && overlay.props.className, placement].filter(Boolean).join(' ').trim(),\n }),\n )}\n </OverlayTriggerWrap>\n </React.Fragment>\n );\n});\n","import styled, { css } from 'styled-components';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const PopoverStyleTheme = {\n fontSizePopoverDefault: '12px',\n boxShadowPopoverPrimary:\n 'rgba(16, 22, 26, 0.1) 0px 0px 0px 1px, rgba(16, 22, 26, 0.2) 0px 2px 4px, rgba(16, 22, 26, 0.2) 0px 8px 24px',\n};\n\nexport interface PopoverWarpProps extends OverlayTriggerProps, ThemeVariantValueOptions<typeof PopoverStyleTheme> {\n // defaultTheme?: Record<string, string | number>;\n}\n\nexport const PopoverStyleOverlayTriggerArrow = styled.div<PopoverWarpProps>`\n position: absolute;\n width: 30px;\n height: 30px;\n border-color: transparent;\n z-index: 21;\n`;\n\nexport interface PopoverStyleOverlayTriggerProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> {\n params?: {\n placement?: OverlayTriggerProps['placement'];\n };\n}\n\nexport const PopoverStyleOverlayTriggerDiv = styled.div<PopoverStyleOverlayTriggerProps>`\n ${(props) =>\n ['top', 'topLeft', 'topRight'].includes(props.params?.placement || '') &&\n css`\n padding-bottom: 13px;\n `}\n ${(props) =>\n ['bottom', 'bottomLeft', 'bottomRight'].includes(props.params?.placement || '') &&\n css`\n padding-top: 13px;\n `}\n ${(props) =>\n ['right', 'rightTop', 'rightBottom'].includes(props.params?.placement || '') &&\n css`\n padding-left: 13px;\n `}\n\n ${(props) =>\n ['left', 'leftTop', 'leftBottom'].includes(props.params?.placement || '') &&\n css`\n padding-right: 13px;\n `}\n`;\n\nexport const PopoverStyleOverlayTrigger = styled(OverlayTrigger)<PopoverWarpProps>`\n position: relative;\n display: inline-block;\n outline: 0;\n ${(props) =>\n ['right', 'rightTop', 'rightBottom'].includes(props.placement || '') &&\n css`\n & ${PopoverStyleOverlayTriggerArrow} {\n left: 2px;\n margin-top: -15px;\n top: 50%;\n }\n `}\n\n ${(props) =>\n ['left', 'leftTop', 'leftBottom'].includes(props.placement || '') &&\n css`\n & ${PopoverStyleOverlayTriggerArrow} {\n transform: rotate(180deg);\n margin-top: -15px;\n right: 2px;\n top: 50%;\n }\n `}\n\n ${(props) =>\n ['leftTop', 'rightTop'].includes(props.placement || '') &&\n css`\n & ${PopoverStyleOverlayTriggerArrow} {\n top: 15px;\n }\n `}\n\n ${(props) =>\n ['leftBottom', 'rightBottom'].includes(props.placement || '') &&\n css`\n & ${PopoverStyleOverlayTriggerArrow} {\n bottom: 0;\n top: auto;\n }\n `}\n\n ${(props) =>\n ['top', 'topLeft', 'topRight'].includes(props.placement || '') &&\n css`\n & ${PopoverStyleOverlayTriggerArrow} {\n transform: rotate(-90deg);\n bottom: 2px;\n left: 50%;\n margin-left: -15px;\n }\n `}\n\n ${(props) =>\n ['bottom', 'bottomLeft', 'bottomRight'].includes(props.placement || '') &&\n css`\n & ${PopoverStyleOverlayTriggerArrow} {\n transform: rotate(90deg);\n left: 50%;\n margin-left: -15px;\n top: 2px;\n }\n `}\n\n ${(props) =>\n ['bottomLeft', 'topLeft'].includes(props.placement || '') &&\n css`\n & ${PopoverStyleOverlayTriggerArrow} {\n left: 15px;\n }\n `}\n\n ${(props) =>\n ['bottomRight', 'topRight'].includes(props.placement || '') &&\n css`\n & ${PopoverStyleOverlayTriggerArrow} {\n right: 0;\n left: auto;\n }\n `}\n`;\n\nexport const PopoverStyleOverlayTriggerContent = styled.div<PopoverWarpProps>`\n font-size: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: PopoverStyleTheme }, 'fontSizePopoverDefault')};\n display: block;\n text-align: left;\n text-decoration: none;\n background-color: #fff;\n border-radius: 4px;\n min-height: 23px;\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: PopoverStyleTheme }, 'boxShadowPopoverPrimary')};\n`;\n\n// PopoverStyleOverlayTriggerContent.defaultProps = {\n// defaultTheme: PopoverStyleTheme,\n// };\n","import React from 'react';\nimport { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport Confirm from './Confirm';\nimport {\n PopoverStyleOverlayTrigger,\n PopoverStyleOverlayTriggerContent,\n PopoverStyleOverlayTriggerArrow,\n PopoverStyleOverlayTriggerDiv,\n} from './style/index';\nexport * from './style';\n\nexport interface PopoverProps extends OverlayTriggerProps {\n content?: React.ReactNode;\n visibleArrow?: boolean;\n}\n\nexport default class Popover extends React.Component<PopoverProps> {\n static Confirm = Confirm;\n public static defaultProps: PopoverProps = {\n prefixCls: 'w-popover',\n placement: 'top',\n usePortal: true,\n isOpen: false,\n visibleArrow: true,\n };\n renderArrow = () => {\n const { prefixCls } = this.props;\n return (\n <PopoverStyleOverlayTriggerArrow className={`${prefixCls}-arrow`}>\n <svg viewBox=\"0 0 30 30\">\n <path\n fillOpacity=\"0.2\"\n d=\"M8.11 6.302c1.015-.936 1.887-2.922 1.887-4.297v26c0-1.378-.868-3.357-1.888-4.297L.925 17.09c-1.237-1.14-1.233-3.034 0-4.17L8.11 6.302z\"\n />\n <path\n fill=\"#fff\"\n d=\"M8.787 7.036c1.22-1.125 2.21-3.376 2.21-5.03V0v30-2.005c0-1.654-.983-3.9-2.21-5.03l-7.183-6.616c-.81-.746-.802-1.96 0-2.7l7.183-6.614z\"\n />\n </svg>\n </PopoverStyleOverlayTriggerArrow>\n );\n };\n render() {\n const { prefixCls, className, content, visibleArrow, ...other } = this.props;\n const cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return (\n <PopoverStyleOverlayTrigger\n {...other}\n overlay={\n <PopoverStyleOverlayTriggerDiv params={{ placement: this.props.placement }} className={cls}>\n {visibleArrow && this.renderArrow()}\n <PopoverStyleOverlayTriggerContent className={`${prefixCls}-inner`}>\n {this.props.content}\n </PopoverStyleOverlayTriggerContent>\n </PopoverStyleOverlayTriggerDiv>\n }\n >\n {typeof this.props.children === 'object' && (this.props.children as JSX.Element).type.name !== 'Icon' ? (\n this.props.children\n ) : (\n <span style={{ display: 'block', writingMode: 'vertical-rl' }}>{this.props.children}</span>\n )}\n </PopoverStyleOverlayTrigger>\n );\n }\n}\n","import React, { useState } from 'react';\nimport Popover, { PopoverProps } from './';\nimport Button from '@uiw/react-button';\nimport Icon from '@uiw/react-icon';\n\ninterface Confirm {\n trigger?: PopoverProps['trigger'];\n placement?: PopoverProps['placement'];\n children?: React.ReactNode;\n visibleArrow?: PopoverProps['visibleArrow'];\n onConfirm?: () => void;\n confirmText?: string;\n title?: React.ReactNode;\n cancelText?: string;\n}\n\nexport default function Confirm(props: Confirm) {\n const {\n trigger = 'click',\n placement = 'top',\n confirmText = 'Yes',\n title,\n cancelText = 'No',\n visibleArrow,\n children,\n onConfirm,\n } = props;\n const [isOpen, setIsOpen] = useState(false);\n return (\n <Popover\n isOpen={isOpen}\n visibleArrow={visibleArrow}\n content={\n <div style={{ padding: '12px 16px', position: 'relative' }}>\n <Icon\n type=\"information\"\n style={{ position: 'absolute', top: 13.5, fontSize: 14, transform: 'rotate(180deg)', color: '#faad14' }}\n />\n <div style={{ paddingLeft: 20 }}>\n <div style={{ fontSize: 14 }}>{title}</div>\n <div style={{ position: 'relative', bottom: 0, marginTop: 12, display: 'flex', justifyContent: 'end' }}>\n <Button size=\"small\" onClick={() => setIsOpen(false)}>\n {cancelText}\n </Button>\n <Button\n size=\"small\"\n type=\"primary\"\n style={{ marginLeft: 10 }}\n onClick={() => {\n onConfirm?.();\n setIsOpen(false);\n }}\n >\n {confirmText}\n </Button>\n </div>\n </div>\n </div>\n }\n trigger={trigger}\n placement={placement}\n >\n <div onClick={() => setIsOpen(true)}>{children}</div>\n </Popover>\n );\n}\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue, HTMLSpanProps } from '@uiw/utils';\nimport { InputProps } from 'src';\nimport { IconStyleBase } from '@uiw/react-icon';\nexport const InputStyleTheme = {\n colorInputStyleBase: '#393e48',\n boxShadowColorInputHBase: 'rgba(19, 124, 189, 0)',\n boxShadowColorInputInsHBase: 'rgba(16, 22, 26, 0.15)',\n boxShadowColorInputInsVBase: 'rgba(16, 22, 26, 0.2)',\n backgroundColorInputStyleBase: '#fff',\n heightInputDefault: '30px',\n fontSizeInputDefault: 'inherit',\n boxShadowColorInputHFocus: '#393e48',\n boxShadowColorInputVFocus: 'rgba(57, 62, 72, 0.17)',\n boxShadowColorInputHHover: '#6e6e6e',\n boxShadowColorInputVHover: 'rgba(57, 62, 72, 0)',\n backgrounColorInputDisabled: '#dddddd',\n colorInputDisabled: '#a5a5a5',\n\n topInputStyleAddonAfter: '3px',\n\n fontSizeDefault: '14px',\n fontSizeLarge: '16px',\n lineHeightInputsDefault: '14px',\n widthInputsDefault: '100%',\n lineHeightInputLarge: '36px',\n lineHeightInputSmall: '24px',\n lineHeightInputStyleAddonAfter: '16px',\n};\n\nconst propsTheme = {\n defaultTheme: { ...InputStyleTheme },\n};\nexport interface InputStyleBaseProps\n extends ThemeVariantValueOptions<typeof InputStyleTheme>,\n Pick<InputProps, 'size' | 'addonAfter' | 'disabled'> {}\n\nexport interface InputStyleAddonAfterProps extends ThemeVariantValueOptions<typeof InputStyleTheme>, HTMLSpanProps {}\n\nexport const InputStyleBase = styled.input<InputStyleBaseProps>`\n ${(props) => {\n const boxShadowColorInputStyleBase = getThemeVariantValue(\n { ...props, ...propsTheme },\n `boxShadowColorInputStyleBase`,\n );\n const boxShadowColorInputInsHBase = getThemeVariantValue(\n { ...props, ...propsTheme },\n `boxShadowColorInputInsHBase`,\n );\n const boxShadowColorInputInsVBase = getThemeVariantValue(\n { ...props, ...propsTheme },\n `boxShadowColorInputInsVBase`,\n );\n const boxShadowColorInputVFocus = getThemeVariantValue({ ...props, ...propsTheme }, `boxShadowColorInputVFocus`);\n const boxShadowColorInputHHover = getThemeVariantValue({ ...props, ...propsTheme }, `boxShadowColorInputHHover`);\n\n return css`\n outline: none;\n border: none;\n border-radius: 3px;\n box-shadow: 0 0 0 0 ${boxShadowColorInputStyleBase}, 0 0 0 0 ${boxShadowColorInputStyleBase},\n inset 0 0 0 1px ${boxShadowColorInputInsHBase}, inset 0 1px 1px ${boxShadowColorInputInsVBase};\n box-sizing: border-box;\n background: ${getThemeVariantValue({ ...props, ...propsTheme }, `backgroundColorInputStyleBase`)};\n height: ${getThemeVariantValue({ ...props, ...propsTheme }, `heightInputDefault`)};\n margin: 0 !important;\n padding: 0 10px;\n vertical-align: middle;\n line-height: ${getThemeVariantValue({ ...props, ...propsTheme }, `heightInputDefault`)};\n color: ${getThemeVariantValue({ ...props, ...propsTheme }, `colorInputStyleBase`)};\n font-weight: 400;\n font-size: ${getThemeVariantValue({ ...props, ...propsTheme }, `fontSizeInputDefault`)};\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n appearance: none;\n &:not(:first-child) {\n padding-left: 26px;\n }\n &:focus {\n box-shadow: 0 0 0 1px ${getThemeVariantValue({ ...props, ...propsTheme }, `boxShadowColorInputHFocus`)},\n 0 0 0 3px ${boxShadowColorInputVFocus}, inset 0 1px 1px ${boxShadowColorInputInsVBase};\n }\n &:hover {\n box-shadow: 0 0 0 1px ${boxShadowColorInputHHover},\n 0 0 0 3px ${getThemeVariantValue({ ...props, ...propsTheme }, `boxShadowColorInputVHover`)},\n inset 0 1px 1px ${boxShadowColorInputInsVBase};\n }\n &:focus&:hover {\n box-shadow: 0 0 0 1px ${boxShadowColorInputHHover}, 0 0 0 3px ${boxShadowColorInputVFocus},\n inset 0 1px 1px ${boxShadowColorInputInsVBase};\n }\n &:disabled {\n box-shadow: none;\n background: ${getThemeVariantValue({ ...props, ...propsTheme }, `backgrounColorInputDisabled`)};\n opacity: 0.75;\n color: ${getThemeVariantValue({ ...props, ...propsTheme }, `colorInputDisabled`)};\n cursor: not-allowed;\n resize: none;\n }\n `;\n }}\n`;\n\nexport const InputStyleAddonAfter = styled.span<InputStyleAddonAfterProps>`\n ${(props) => {\n return css`\n position: absolute;\n top: ${getThemeVariantValue({ ...props, ...propsTheme }, `topInputStyleAddonAfter`)};\n right: ${getThemeVariantValue({ ...props, ...propsTheme }, `topInputStyleAddonAfter`)};\n display: flex;\n bottom: ${getThemeVariantValue({ ...props, ...propsTheme }, `topInputStyleAddonAfter`)};\n > * {\n display: flex !important;\n align-items: center;\n }\n `;\n }}\n`;\n\nexport const InputStyleWarp = styled.div<InputStyleBaseProps>`\n position: relative;\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeDefault')};\n line-height: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightInputsDefault')};\n width: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'widthInputsDefault')};\n\n & ${InputStyleBase} {\n width: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'widthInputsDefault')};\n }\n\n > ${IconStyleBase} {\n position: absolute;\n margin: 0 7px 0 7px;\n transform: translateY(-50%);\n top: 50%;\n }\n\n ${(props) => {\n if (props.size === 'large') {\n return css`\n font-size: ${getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeLarge')};\n ${InputStyleBase} {\n line-height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightInputLarge')};\n height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightInputLarge')};\n }\n `;\n }\n }}\n\n ${(props) => {\n if (props.size === 'small') {\n return css`\n min-width: 20px;\n ${InputStyleBase} {\n line-height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightInputSmall')};\n height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightInputSmall')};\n padding: 0 6px;\n &:not(:first-child) {\n padding-left: 26px;\n }\n }\n ${InputStyleAddonAfter} {\n > * {\n line-height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightInputStyleAddonAfter')};\n min-height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightInputStyleAddonAfter')};\n }\n }\n `;\n }\n }}\n`;\n\nexport default InputStyleWarp;\n","import React, { useState, useMemo } from 'react';\nimport Input, { InputProps } from './';\n\ninterface InputNumberProps extends InputProps {\n min?: number;\n max?: number;\n step?: number;\n overLimitColor?: string;\n formatter?: (value: number) => string;\n parser?: (value: number) => number;\n keyboard?: boolean;\n}\n\nexport default React.forwardRef<HTMLInputElement, InputNumberProps>((props, ref) => {\n const {\n className,\n min,\n max,\n step,\n overLimitColor,\n keyboard = false,\n formatter,\n prefixCls = 'w-input-number',\n ...otherProps\n } = props;\n\n const value = useMemo(() => Number.parseFloat((props.value || 0)?.toString()), [props.value]);\n const [isOverLimit, isOverLimitSet] = useState(overLimitComp(value));\n\n function overLimitComp(value: number) {\n if (typeof min === 'number' && value < min) return true;\n if (typeof max === 'number' && value > max) return true;\n return false;\n }\n\n const onChange = (v: React.ChangeEvent<HTMLInputElement>) => {\n const isOverLimit = overLimitComp(Number.parseFloat(v.target.value));\n isOverLimitSet(isOverLimit);\n\n props.onChange?.(v);\n };\n\n const overLimitProps = useMemo(() => {\n if (!overLimitColor) return { min, max };\n }, []);\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const inputStyle = useMemo(() => (isOverLimit ? { color: overLimitColor?.toString() } : undefined), [isOverLimit]);\n\n return (\n <Input\n {...otherProps}\n className={cls}\n type=\"number\"\n inputStyle={inputStyle}\n onChange={onChange}\n step={step}\n {...overLimitProps}\n />\n );\n});\n","import React, { useEffect, useImperativeHandle } from 'react';\nimport { IProps, HTMLInputProps } from '@uiw/utils';\nimport InputStyleWarp, { InputStyleBase, InputStyleAddonAfter } from './style/input';\n\nexport * from './style/input';\nexport * from './InputNumber';\nexport { default as InputNumber } from './InputNumber';\nexport * from './style/input';\n\nexport interface InputProps extends IProps, Omit<HTMLInputProps, 'size'> {\n preIcon?: React.ReactNode;\n addonAfter?: React.ReactNode;\n size?: 'large' | 'default' | 'small';\n inputStyle?: React.CSSProperties;\n}\n\nexport default React.forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n const {\n prefixCls = 'w-input',\n className,\n style,\n size = 'default',\n type = 'text',\n preIcon = null,\n addonAfter,\n inputStyle,\n disabled,\n ...otherProps\n } = props;\n const inputRef = React.useRef<HTMLInputElement>(null);\n const addonRef = React.useRef<HTMLSpanElement>(null);\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(ref, () => inputRef.current);\n const cls = [\n prefixCls,\n className,\n size ? `${prefixCls}-${size}` : null,\n addonAfter ? `${prefixCls}-addon` : null,\n disabled ? 'disabled' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useEffect(() => {\n computedInputPadding();\n });\n\n function computedInputPadding() {\n if (addonRef.current && inputRef.current) {\n const input = window && window.getComputedStyle(addonRef.current, null);\n inputRef.current.style.paddingRight = `${\n addonRef.current.clientWidth + parseInt(input.right as string, 10) * 2\n }px`;\n }\n }\n return (\n <InputStyleWarp className={cls} style={style} size={size} addonAfter={addonAfter} disabled={disabled}>\n {preIcon}\n <InputStyleBase\n ref={inputRef}\n type={type}\n autoComplete=\"off\"\n disabled={disabled}\n {...otherProps}\n style={inputStyle}\n className={`${prefixCls}-inner`}\n />\n {addonAfter && (\n <InputStyleAddonAfter className={`${prefixCls}-addon-after`} ref={addonRef}>\n {addonAfter}\n </InputStyleAddonAfter>\n )}\n </InputStyleWarp>\n );\n});\n\nexport { InputStyleBase };\n","import styled, { css } from 'styled-components';\nimport {\n ThemeVariantValueOptions,\n HTMLDivProps,\n HTMLInputProps,\n HTMLButtonProps,\n HTMLLiProps,\n getThemeVariantValue,\n} from '@uiw/utils';\n\nexport const DateTimePickerStyleTheme = {\n borderLeftColorDateTimeStylePanelUl: '#e9e9e9',\n\n colorDateTimeLi: '#393e48',\n colorDateTimeLiDisabled: '#d4d4d4',\n colorDateTimeLiSelected: '#000',\n backgroundColorDateTimeLiSelect: '#f1f1f1',\n backgroundColorDateTimeLiHover: '#f6f8fa',\n backgroundColorDateTimeLiActive: '#e1e5e8',\n\n colorDateTimeStyleCloseButton: '#a5a5a5',\n colorDateTimeStyleCloseButtonHover: '#393e48',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof DateTimePickerStyleTheme>;\n\nexport interface DateTimeInputProps extends HTMLInputProps, ThemeVar {}\nexport const DateTimeInput = styled.input``;\nexport interface DateTimeStyleCloseButtonProps extends HTMLButtonProps, ThemeVar {\n disabled?: boolean;\n}\n/** dateTime 清空按钮 **/\nexport const DateTimeStyleCloseButton = styled.button<DateTimeStyleCloseButtonProps>`\n ${DateTimeInput}.disabled & {\n display: none !important;\n }\n ${DateTimeInput} & {\n display: none;\n min-height: initial;\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: DateTimePickerStyleTheme }, 'colorDateTimeStyleCloseButton')};\n &:hover {\n color: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: DateTimePickerStyleTheme },\n 'colorDateTimeStyleCloseButtonHover',\n )};\n background-color: transparent !important;\n }\n }\n`;\n\n// DateTimeStyleCloseButton.defaultProps = {\n// defaultTheme: DateTimePickerStyleTheme,\n// };\n\nexport const DateTimeStylePanelUl = styled.ul`\n list-style: none;\n min-width: 56px;\n margin: 0 !important;\n padding-left: 0 !important;\n padding-right: 0 !important;\n padding-bottom: 162px !important;\n`;\nexport interface DateTimeStylePanelLiProps extends HTMLLiProps, ThemeVariantValueOptions {\n disabled?: boolean;\n selected?: boolean;\n}\nexport const DateTimeStylePanelLi = styled.li<DateTimeStylePanelLiProps>`\n & + & {\n margin-top: 0 !important;\n }\n & {\n cursor: pointer;\n text-align: center;\n height: 28px;\n line-height: 28px;\n transition: all 0.3s;\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: DateTimePickerStyleTheme }, 'colorDateTimeLi')};\n ${(props) =>\n !props.disabled &&\n css`\n &:hover {\n background-color: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: DateTimePickerStyleTheme },\n 'backgroundColorDateTimeLiHover',\n )};\n }\n &:active {\n background-color: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: DateTimePickerStyleTheme },\n 'backgroundColorDateTimeLiActive',\n )};\n }\n `}\n ${(props) =>\n props.selected &&\n css`\n & {\n background-color: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: DateTimePickerStyleTheme },\n 'backgroundColorDateTimeLiSelect',\n )};\n font-weight: bold;\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: DateTimePickerStyleTheme }, 'colorDateTimeLiSelected')};\n }\n `}\n ${(props) =>\n props.disabled &&\n css`\n & {\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: DateTimePickerStyleTheme }, 'colorDateTimeLiDisabled')};\n cursor: not-allowed;\n &.hide {\n display: none;\n }\n }\n `}\n }\n`;\n\n// DateTimeStylePanelLi.defaultProps = {\n// defaultTheme: DateTimePickerStyleTheme,\n// };\n\nexport interface DateTimeStylePanelProps extends HTMLDivProps, ThemeVariantValueOptions {}\n\nexport const DateTimeStylePanel = styled.div<DateTimeStylePanelProps>`\n max-height: 189px;\n flex: 1;\n overflow: auto;\n font-size: 14px;\n &:hover {\n overflow: auto;\n }\n & + & {\n ul {\n border-left: 1px solid\n ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: DateTimePickerStyleTheme },\n 'borderLeftColorDateTimeStylePanelUl',\n )};\n }\n }\n`;\n\n// DateTimeStylePanel.defaultProps = {\n// defaultTheme: DateTimePickerStyleTheme,\n// };\n\nexport interface DateTimeStyleBaseProps extends HTMLDivProps, ThemeVariantValueOptions {}\nexport const DateTimeStyleBase = styled.div`\n overflow: hidden;\n border-radius: 4px;\n display: flex;\n &::after {\n content: '';\n display: block;\n clear: both;\n }\n`;\n","import React, { useMemo, useRef } from 'react';\nimport { IProps, HTMLDivProps, HTMLLiProps } from '@uiw/utils';\nimport { DateTimeStylePanel, DateTimeStylePanelUl, DateTimeStylePanelLi } from './style';\n\nexport interface TimePickerPanelProps extends IProps, HTMLDivProps {\n onSelected?: (\n type: TimePickerPanelProps['type'],\n num: number,\n disableds: number[],\n date: TimePickerPanelProps['date'],\n ) => void;\n count?: number;\n hideDisabled?: boolean;\n disabledHours?: (\n num: number,\n type: TimePickerPanelProps['type'],\n date: TimePickerPanelProps['date'],\n ) => boolean | undefined;\n disabledMinutes?: (\n num: number,\n type: TimePickerPanelProps['type'],\n date: TimePickerPanelProps['date'],\n ) => boolean | undefined;\n disabledSeconds?: (\n num: number,\n type: TimePickerPanelProps['type'],\n date: TimePickerPanelProps['date'],\n ) => boolean | undefined;\n type?: 'Hours' | 'Minutes' | 'Seconds';\n date?: Date;\n}\n\nexport default function TimePickerPanel(props: TimePickerPanelProps) {\n const {\n prefixCls = 'w-timepicker',\n className,\n count = 24,\n date,\n type = 'Hours',\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n onSelected,\n ...other\n } = props;\n const disableds = useRef<number[]>([]);\n function getMaybeNumber() {\n if (date && type) {\n return new Date(date)[`get${type}` as 'getHours' | 'getMinutes' | 'getSeconds']();\n }\n return 0;\n }\n function handleClick(num: number, e: React.MouseEvent<HTMLLIElement>) {\n if (!date) return;\n const currentDate = new Date(date);\n currentDate[`set${type}` as 'setHours' | 'setMinutes' | 'setSeconds'](num);\n onSelected && onSelected(type, num, disableds.current, currentDate);\n }\n function getDisabledItem(num: number) {\n const disabled = props[`disabled${type}` as 'disabledHours' | 'disabledMinutes' | 'disabledSeconds'];\n if (disabled) {\n return disabled(num, type, new Date(date!));\n }\n return false;\n }\n function getItemInstance(tag: HTMLLIElement) {\n if (tag && tag.parentNode && tag.dataset['index']) {\n const offsetTop = Number(tag.dataset['index']) * tag.clientHeight;\n if (tag.parentNode.parentNode) {\n (tag.parentNode.parentNode as HTMLDivElement).scrollTop = offsetTop;\n }\n }\n }\n const data = useMemo(() => {\n return [...Array(count)]\n .map((_, idx) => {\n const disabled = getDisabledItem(idx);\n if (disabled) disableds.current.push(idx);\n return {\n count: idx,\n disabled: getDisabledItem(idx),\n };\n })\n .filter((item) => (hideDisabled && item.disabled ? false : true));\n }, [hideDisabled]);\n\n return (\n <DateTimeStylePanel className={`${prefixCls}-spinner`} {...other}>\n <DateTimeStylePanelUl>\n {data.map((item, idx) => {\n const liProps = {} as HTMLLiProps;\n if (!item.disabled) {\n liProps.onClick = (e) => handleClick(item.count, e);\n }\n const currentCount = getMaybeNumber();\n return (\n <DateTimeStylePanelLi\n key={idx}\n data-index={currentCount === item.count ? idx : undefined}\n ref={(tag: HTMLLIElement) => tag && getItemInstance(tag)}\n {...liProps}\n disabled={item.disabled}\n selected={currentCount === item.count}\n className={[\n item.disabled ? 'disabled' : null,\n currentCount === item.count ? 'selected' : null,\n hideDisabled && item.disabled ? 'hide' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {item.count < 10 ? `0${item.count}` : item.count}\n </DateTimeStylePanelLi>\n );\n })}\n </DateTimeStylePanelUl>\n </DateTimeStylePanel>\n );\n}\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\nimport TimePanel, { TimePickerPanelProps } from './Panel';\nimport { DateTimeStyleBase } from './style';\n\nexport interface TimePickerTimeProps extends IProps, TimePickerPanelProps {\n precision?: Precision;\n}\n\nexport type Precision = 'hour' | 'minute' | 'second';\n\nexport function TimePickerTime(props: TimePickerTimeProps) {\n const { prefixCls = 'w-timepicker', className, precision = 'second', ...other } = props;\n return (\n <DateTimeStyleBase className={[prefixCls, className].filter(Boolean).join(' ').trim()}>\n {/^(second|minute|hour)$/.test(precision as Precision) && <TimePanel type=\"Hours\" count={24} {...other} />}\n {/^(second|minute)$/.test(precision as Precision) && <TimePanel type=\"Minutes\" count={60} {...other} />}\n {/^(second)$/.test(precision as Precision) && <TimePanel type=\"Seconds\" count={60} {...other} />}\n </DateTimeStyleBase>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Button from '@uiw/react-button';\nimport { IProps } from '@uiw/utils';\nimport formatter from '@uiw/formatter';\nimport { TimePickerTime, TimePickerTimeProps } from './Time';\nimport { DateTimeStyleCloseButton, DateTimeInput } from './style';\n\nexport * from './Panel';\nexport * from './Time';\nexport * from './style';\n\nexport interface TimePickerProps extends IProps, Omit<InputProps, 'onChange' | 'value'> {\n value?: Date;\n format?: string;\n popoverProps?: PopoverProps;\n disabledHours?: TimePickerTimeProps['disabledHours'];\n precision?: TimePickerTimeProps['precision'];\n disabledMinutes?: TimePickerTimeProps['disabledMinutes'];\n disabledSeconds?: TimePickerTimeProps['disabledSeconds'];\n hideDisabled?: TimePickerTimeProps['hideDisabled'];\n allowClear?: boolean;\n disabled?: boolean;\n icon?: React.ReactNode;\n onChange?: (\n dataStr?: string,\n date?: Date | '',\n type?: TimePickerTimeProps['type'],\n num?: number,\n disableds?: number[],\n ) => void;\n}\n\nexport default function TimePicker(props: TimePickerProps) {\n const {\n prefixCls = 'w-timepicker',\n className,\n disabled,\n value,\n format = 'HH:mm:ss',\n popoverProps,\n allowClear = true,\n onChange,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision,\n icon,\n ...inputProps\n } = props;\n const [date, setDate] = useState(props.value);\n useEffect(() => setDate(props.value), [props.value]);\n const timeProps = {\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n hideDisabled,\n precision,\n };\n const inputValue = date ? formatter(format, new Date(date)) : '';\n const datePickerTime = date || new Date();\n const _props: InputProps = { ...inputProps, value: inputValue };\n if (allowClear && inputValue !== '' && !!inputValue) {\n _props.addonAfter = (\n <DateTimeStyleCloseButton\n as={Button as any}\n className={`${prefixCls}-close-btn`}\n icon={icon}\n disabled={props.disabled}\n onClick={() => {\n setDate(undefined);\n onChange && onChange();\n }}\n size={props.size}\n basic\n type=\"light\"\n />\n );\n }\n return (\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n visibleArrow={false}\n {...popoverProps}\n content={\n <TimePickerTime\n className={`${prefixCls}-popover`}\n {...timeProps}\n date={datePickerTime}\n onSelected={(type, num, disableds, currentDate) => {\n setDate(new Date(currentDate!));\n const dataStr = currentDate ? formatter(format, currentDate) : '';\n onChange && onChange(dataStr, currentDate, type, num, disableds);\n }}\n />\n }\n >\n <DateTimeInput\n as={Input}\n placeholder=\"请选择时间\"\n readOnly\n disabled={disabled}\n {..._props}\n className={[`${prefixCls}-input`, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n );\n}\n","export const DatePickerStyleTheme = {\n backgroundColorDatePickerBaseHover: '#eaeaea',\n backgroundColorDatePickerStyleCaptionPanePrevBefore: '#333',\n backgroundColorDatePickerActive: '#d2d2d2',\n backgroundColorPrimaryHover: '#0070bd',\n\n backgroundColorPrimaryActive: '#00528a',\n backgroundColorDatePickerStyleCaptionToday: '#dedede',\n backgroundColorDatePickerStyleCaptionTodayBefore: '#a0a0a0',\n backgroundColorBase: '#fff',\n\n // 公共\n backgroundColorPrimary: '#008ef0',\n colorPrimary: '#fff',\n backgroundColorPrimaryDisabled: '#57baff',\n backgroundColorDatePickerTodayDisabled: 'rgba(189, 189, 189, 0.47)',\n // 组件内部\n colorDatePickerDayTodayBase: '#d3d3d3',\n backgroundColorDatePickerDayDisabled: '#f5f5f5',\n colorDatePickerDayHover: '#393e48',\n\n colorDatePickerDayEnd: '#6f6f6f',\n\n fontSizeDefault: '14px',\n // 组件内部\n // 组件\n borderColorDatepickerBase: '#e9e9e9',\n colorDatepickerTimeBase: '#393e48',\n boxShadowDatepickerTime1: 'rgba(16, 22, 26, 0.1)',\n boxShadowDatepickerTime2: 'rgba(16, 22, 26, 0)',\n boxShadowDatepickerTime3: 'rgba(16, 22, 26, 0.2)',\n\n backgroundColorPrimaryBasicHover: '#c7e8ff',\n colorDatePickerPaging: 'rgba(0, 0, 0, 0.25)',\n\n borderBottomColorDatepickerCaption: '#ececec',\n};\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions, HTMLDivProps } from '@uiw/utils';\nimport { DatePickerDayRenderDay } from './../index';\nimport { DatePickerStyleTheme } from './theme';\nconst propsTheme = {\n defaultTheme: { ...DatePickerStyleTheme },\n};\nexport interface DatePickerStyleBodyWarpProps\n extends ThemeVariantValueOptions<typeof DatePickerStyleTheme>,\n HTMLDivProps {}\nexport const DatePickerStyleBodyWarp = styled.div<DatePickerStyleBodyWarpProps>`\n padding-top: 5px;\n`;\n\nexport interface DatePickerStyleWeekProps extends ThemeVariantValueOptions<typeof DatePickerStyleTheme>, HTMLDivProps {\n cls?: DatePickerDayRenderDay;\n}\nexport interface DatePickerStyleWeekBaseProps\n extends ThemeVariantValueOptions<typeof DatePickerStyleTheme>,\n HTMLDivProps {}\n\nexport const DatePickerStyleWeekBase = styled.div<DatePickerStyleWeekBaseProps>`\n display: flex;\n width: 100%;\n & > div,\n & > div {\n display: table-cell;\n flex: 1;\n min-width: 26px;\n min-height: 26px;\n vertical-align: middle;\n text-align: center;\n }\n & > div.end {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDatePickerDayEnd')};\n }\n`;\nexport const DatePickerStyleWeekDay = styled(DatePickerStyleWeekBase)`\n & > div {\n font-weight: bold;\n }\n`;\n\nexport const DatePickerStyleWeek = styled(DatePickerStyleWeekBase)<DatePickerStyleWeekProps>`\n & {\n border-radius: 3px;\n cursor: pointer;\n ${(props) =>\n (props.cls?.prev || props.cls?.next) &&\n css`\n & {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDatePickerDayTodayBase')};\n }\n `}\n & > div {\n transition: background-color 0.3s, color 0.3s;\n margin: 0 2px;\n border-radius: 3px;\n line-height: 22px;\n }\n ${(props) =>\n props.cls?.today &&\n css`\n & > div {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerBaseHover')};\n }\n `}\n ${(props) =>\n props.cls?.selected &&\n css`\n &,\n &&:hover {\n > div {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorPrimary')};\n background-color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorPrimary')};\n }\n }\n `}\n \n &:hover > div {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerBaseHover')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDatePickerDayHover')};\n }\n &:active > div {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerActive')};\n }\n ${(props) =>\n props.cls?.disabled &&\n css`\n &,\n &&:hover {\n & > div {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDatePickerDayTodayBase')};\n cursor: not-allowed;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerDayDisabled')};\n }\n ${() =>\n props.cls?.today &&\n css`\n & > div {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerTodayDisabled')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorPrimary')};\n }\n `}\n ${() =>\n props.cls?.selected &&\n css`\n & > div {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorPrimaryDisabled')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorPrimary')};\n }\n `}\n }\n `}\n }\n`;\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport {\n DatePickerStyleWeek,\n DatePickerStyleBodyWarp,\n DatePickerStyleWeekDay,\n DatePickerStyleWeekBase,\n} from './style/day';\nexport * from './style/day';\n\nfunction isValidDate(date: Date) {\n return date instanceof Date && !isNaN(date.getTime());\n}\n\nexport interface DatePickerDayDateSource {\n day?: number;\n month?: number;\n year?: number;\n}\n\nfunction classnames(obj: Record<string, boolean>) {\n return Object.keys(obj || {})\n .map((keyName) => (obj[keyName] ? keyName : null))\n .filter(Boolean)\n .join(' ')\n .trim();\n}\n\nexport interface DatePickerDayProps extends IProps, HTMLDivProps {\n weekday?: string[];\n weekTitle?: string[];\n panelDate?: Date;\n date?: Date;\n today?: Date;\n prefixCls?: string;\n onSelectDay?: (selectedDate?: Date, dateSource?: DatePickerDayDateSource) => void;\n renderDay?: (day: number, props: DatePickerDayRenderDay & DatePickerDayRenderDayProps) => React.ReactNode;\n disabledDate?: (cellDate: Date, props: DatePickerDayRenderDay & DatePickerDayRenderDayProps) => boolean;\n}\n\nexport interface PickerDayState {\n selected?: Date;\n panelDate?: Date;\n}\n\nexport type DatePickerDayRenderDay = {\n end: boolean;\n prev: boolean;\n today: boolean;\n selected: boolean;\n next: boolean;\n disabled: boolean;\n date?: Date;\n};\n\nexport type DatePickerDayRenderDayProps = {\n key?: number;\n date?: Date;\n onClick?: (cellDate: Date, event: React.MouseEvent<HTMLDivProps>) => void;\n};\n\nexport type DayRectProps = {\n col: number;\n row: number;\n index: number;\n date?: DatePickerDayProps['date'];\n today?: DatePickerDayProps['today'];\n disabledDate?: DatePickerDayProps['disabledDate'];\n renderDay?: DatePickerDayProps['renderDay'];\n panelDate?: DatePickerDayProps['panelDate'];\n onSelectDay?: DatePickerDayProps['onSelectDay'];\n};\n\nexport function DayRect(props: DayRectProps) {\n const {\n date: selectedDate,\n row,\n col,\n index,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay,\n ...other\n } = props;\n const cls: Omit<DatePickerDayRenderDay, 'date'> = {\n end: col === 0 || col === 6,\n prev: false,\n today: false,\n selected: false,\n next: false,\n disabled: false,\n };\n let date = panelDate;\n if (!date || !isValidDate(date)) date = new Date();\n const year = date.getFullYear();\n const month = date.getMonth();\n const week = useMemo(() => new Date(new Date(date!).setDate(1)).getDay(), [date.toDateString()]);\n const lastDay = useMemo(() => new Date(year, month === 0 ? 12 : month + 1, 0).getDate(), [date.toDateString()]);\n let day = index;\n if (date) {\n day = day - week + 1;\n if (day < 1) {\n cls.prev = true;\n }\n if (day > lastDay) {\n cls.next = true;\n }\n }\n let cellDate = new Date(new Date(date!).setDate(day));\n if (today && today.toDateString() === cellDate.toDateString()) {\n cls.today = true;\n }\n if (selectedDate && selectedDate.toDateString() === cellDate.toDateString()) {\n cls.selected = true;\n }\n const divProps: React.HTMLAttributes<HTMLDivElement> = {\n onClick: () => {\n const cellMonth = cellDate.getMonth();\n onSelectDay &&\n onSelectDay!(cellDate, {\n year: cellDate.getFullYear(),\n month: cellMonth === 0 ? 12 : cellMonth + 1,\n day: cellDate.getDate(),\n });\n },\n };\n if (disabledDate && disabledDate(cellDate, { ...props, ...cls })) {\n cls.disabled = true;\n delete divProps.onClick;\n }\n return (\n <DatePickerStyleWeek className={classnames(cls)} {...other} {...divProps} cls={cls}>\n {renderDay ? (\n renderDay(cellDate.getDate(), { ...props, ...cls, date: cellDate })\n ) : (\n <div>{cellDate.getDate()}</div>\n )}\n </DatePickerStyleWeek>\n );\n}\n\nconst WEEKTITLE = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];\nconst WEEKDAY = ['日', '一', '二', '三', '四', '五', '六'];\n\nexport function DatePickerDay(props: DatePickerDayProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n weekday = WEEKDAY,\n weekTitle = WEEKTITLE,\n date,\n today,\n panelDate,\n disabledDate,\n renderDay,\n onSelectDay,\n ...other\n } = props;\n\n const weekdayLabel = useMemo(\n () => (\n <DatePickerStyleWeekDay className={`${prefixCls}-weekday`}>\n {(weekday || []).map((week, idx) => (\n <div key={idx} className={classnames({ end: idx === 0 || idx === 6 })} title={weekTitle && weekTitle[idx]}>\n {week}\n </div>\n ))}\n </DatePickerStyleWeekDay>\n ),\n [prefixCls, weekday, weekTitle],\n );\n\n return (\n <DatePickerStyleBodyWarp\n {...other}\n className={[prefixCls ? `${prefixCls}-body` : null, className].filter(Boolean).join(' ').trim()}\n >\n {weekdayLabel}\n <div className={[prefixCls ? `${prefixCls}-day-body` : null].filter(Boolean).join(' ').trim()}>\n {[...Array(6)].map((_, idx) => (\n <DatePickerStyleWeekBase key={idx} className={`${prefixCls}-week`}>\n {[...Array(7)].map((_, col) => (\n <DayRect\n date={date}\n today={today}\n disabledDate={disabledDate}\n renderDay={renderDay}\n panelDate={panelDate}\n key={col}\n col={col}\n row={idx}\n onSelectDay={(curDate, data) => {\n onSelectDay && onSelectDay(curDate, data);\n }}\n index={idx * 7 + col}\n />\n ))}\n </DatePickerStyleWeekBase>\n ))}\n </div>\n </DatePickerStyleBodyWarp>\n );\n}\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions, HTMLDivProps } from '@uiw/utils';\nimport { DatePickerStyleTheme } from './theme';\nconst propsTheme = {\n defaultTheme: { ...DatePickerStyleTheme },\n};\nexport interface DatePickerStyleYearMonthWarpProps\n extends ThemeVariantValueOptions<typeof DatePickerStyleTheme>,\n HTMLDivProps {\n isYear?: boolean;\n}\nexport const DatePickerStyleYearMonthWarp = styled.div<DatePickerStyleYearMonthWarpProps>`\n & {\n text-align: center;\n max-width: 100%;\n padding: 10px 0 9px 0;\n }\n ${(props) =>\n props.isYear &&\n css`\n & > div {\n width: 33.333%;\n }\n `}\n`;\nexport interface DatePickerStyleYearMonthSelectProps\n extends ThemeVariantValueOptions<typeof DatePickerStyleTheme>,\n HTMLDivProps {\n selected?: boolean;\n paging?: boolean;\n}\nexport const DatePickerStyleYearMonthSelect = styled.div<DatePickerStyleYearMonthSelectProps>`\n display: inline-block;\n width: 50%;\n line-height: 20px;\n margin: 3px 0;\n > span {\n display: inline-block;\n padding: 1px 6px;\n border-radius: 3px;\n cursor: pointer;\n }\n ${(props) =>\n props.selected &&\n css`\n & > span {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorPrimary')};\n background-color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorPrimary')};\n }\n `}\n > span:hover {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorPrimaryBasicHover')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorPrimary')};\n }\n ${(props) =>\n props.paging &&\n css`\n & {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDatePickerPaging')};\n }\n `}\n`;\nexport default DatePickerStyleYearMonthWarp;\n","import React from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { DatePickerStyleYearMonthWarp, DatePickerStyleYearMonthSelect } from './style/year-month';\nexport * from './style/year-month';\n\nexport interface DatePickerMonthProps extends IProps, HTMLDivProps {\n panelDate?: Date;\n onSelected?: (month: number, paging?: boolean) => void;\n monthLabel?: React.ReactNode[];\n}\n\nexport function DatePickerMonth(props: DatePickerMonthProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop,\n ...other\n } = props;\n return (\n <DatePickerStyleYearMonthWarp\n className={[prefixCls ? `${prefixCls}-month` : null, className].filter(Boolean).join(' ').trim()}\n {...other}\n isYear={false}\n >\n {[...Array(12)].map((_, idx) => {\n const selectedMonth = panelDate!.getMonth();\n return (\n <DatePickerStyleYearMonthSelect\n selected={selectedMonth === idx}\n paging={false}\n key={idx}\n className={[selectedMonth === idx ? 'selected' : null].filter(Boolean).join(' ').trim()}\n >\n <span onClick={() => onSelected(idx, false)}>{(monthLabel && monthLabel[idx]) || idx}</span>\n </DatePickerStyleYearMonthSelect>\n );\n })}\n </DatePickerStyleYearMonthWarp>\n );\n}\n","import React, { useState } from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { DatePickerStyleYearMonthWarp, DatePickerStyleYearMonthSelect } from './style/year-month';\nexport * from './style/year-month';\n\nexport interface DatePickerYearProps extends IProps, HTMLDivProps {\n panelDate?: Date;\n panelNum?: number[];\n onSelected?: (year: number, paging?: boolean) => void;\n}\n\nexport function DatePickerYear(props: DatePickerYearProps) {\n const {\n prefixCls = 'w-datepicker',\n panelNum = [-7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n className,\n panelDate,\n onSelected = noop,\n ...other\n } = props;\n const [activeYear, setActiveYear] = useState(props.panelDate);\n function handleSelected(year: number, idx: number) {\n if (idx === 0 || idx === panelNum!.length - 1) {\n const date = new Date(activeYear!);\n date.setFullYear(year);\n setActiveYear(date);\n onSelected!(year, true);\n } else {\n onSelected!(year);\n }\n }\n return (\n <DatePickerStyleYearMonthWarp\n className={[prefixCls ? `${prefixCls}-year` : null, className].filter(Boolean).join(' ').trim()}\n {...other}\n isYear\n >\n {panelNum &&\n panelNum.map((_, idx) => {\n const selectedYear = activeYear!.getFullYear();\n const year = selectedYear + panelNum[idx];\n return (\n <DatePickerStyleYearMonthSelect\n key={idx}\n selected={selectedYear === year}\n paging={idx === 0 || idx === panelNum.length - 1}\n className={[\n selectedYear === year ? 'selected' : null,\n idx === 0 || idx === panelNum.length - 1 ? 'paging' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n <span onClick={() => handleSelected(year, idx)}>{year}</span>\n </DatePickerStyleYearMonthSelect>\n );\n })}\n </DatePickerStyleYearMonthWarp>\n );\n}\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { DatePickerStyleTheme } from './theme';\nconst propsTheme = {\n defaultTheme: { ...DatePickerStyleTheme },\n};\nexport interface DatePickerStyleCaptionPaneBaseProps\n extends ThemeVariantValueOptions<typeof DatePickerStyleTheme>,\n React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> {\n prev?: boolean;\n next?: boolean;\n}\n/** 基础的**/\nexport const DatePickerStyleCaptionPaneBase = styled.div<DatePickerStyleCaptionPaneBaseProps>`\n transition: background-color 0.3s;\n display: inline-block;\n border-radius: 3px;\n padding: 1px 5px;\n font-weight: bold;\n cursor: pointer;\n &:hover {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerBaseHover')};\n }\n &:active {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerActive')};\n }\n ${(props) =>\n (props.prev || props.next) &&\n css`\n & {\n z-index: 30;\n position: relative;\n padding: 1px 8px 6px 8px;\n &::after,\n &::before {\n content: '';\n display: block;\n height: 8px;\n width: 2px;\n border-radius: 2px;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerStyleCaptionPanePrevBefore')};\n }\n &::after {\n margin-top: -4px;\n }\n &::before {\n margin-top: 4px;\n }\n }\n `}\n ${(props) =>\n props.prev &&\n css`\n & {\n float: left;\n }\n &::after {\n transform: rotate(-45deg);\n }\n &::before {\n transform: rotate(45deg);\n }\n `}\n ${(props) =>\n props.next &&\n css`\n & {\n float: right;\n }\n &::before {\n transform: rotate(-45deg);\n }\n &::after {\n transform: rotate(45deg);\n }\n `}\n`;\n/** 年 **/\nexport const DatePickerStyleCaptionPaneYear = styled(\n DatePickerStyleCaptionPaneBase,\n)<DatePickerStyleCaptionPaneBaseProps>``;\n/** 月 **/\nexport const DatePickerStyleCaptionPaneMonth = styled(\n DatePickerStyleCaptionPaneBase,\n)<DatePickerStyleCaptionPaneBaseProps>``;\n/** pane **/\nexport const DatePickerStyleCaptionPane = styled(DatePickerStyleCaptionPaneBase)<DatePickerStyleCaptionPaneBaseProps>``;\n\n/** tody 按钮 **/\nexport interface DatePickerStyleCaptionTodayProps\n extends ThemeVariantValueOptions<typeof DatePickerStyleTheme>,\n React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> {}\nexport const DatePickerStyleCaptionToday = styled.div<DatePickerStyleCaptionTodayProps>`\n cursor: pointer;\n background: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerStyleCaptionToday')};\n border-radius: 3px;\n display: inline-block;\n height: 10px;\n width: 10px;\n overflow: hidden;\n margin: 0 0 0 2px;\n transition: background-color 0.3s;\n &::before {\n content: '';\n display: block;\n height: 4px;\n width: 4px;\n border-radius: 3px;\n margin: 3px 0 0 3px;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerStyleCaptionTodayBefore')};\n }\n &:hover {\n background-color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorPrimaryHover')};\n &::before {\n background-color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorBase')};\n }\n }\n &:active {\n background-color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorPrimaryActive')};\n &::before {\n background-color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorBase')};\n }\n }\n`;\n\nexport interface DatePickerStyleCaptionBaseProps\n extends ThemeVariantValueOptions<typeof DatePickerStyleTheme>,\n React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> {}\n\nexport const DatePickerStyleCaptionBase = styled.div<DatePickerStyleCaptionBaseProps>`\n user-select: none;\n text-align: center;\n padding: 0 0 3px 0;\n border-bottom: 1px solid\n ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderBottomColorDatepickerCaption')};\n & ${DatePickerStyleCaptionPaneYear}+${DatePickerStyleCaptionPaneMonth} {\n margin-left: 5px;\n }\n`;\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport {\n DatePickerStyleCaptionPane,\n DatePickerStyleCaptionToday,\n DatePickerStyleCaptionBase,\n DatePickerStyleCaptionPaneYear,\n DatePickerStyleCaptionPaneMonth,\n} from './style/caption';\nexport * from './style/caption';\nfunction classnames(...arg: (string | null | undefined)[]) {\n return [...arg].filter(Boolean).join(' ').trim();\n}\n\nexport type DatePickerCaptionType = 'prev' | 'month' | 'year' | 'today' | 'next';\n\nexport interface DatePickerCaptionProps extends IProps, HTMLDivProps {\n panelDate?: Date;\n monthLabel?: React.ReactNode[];\n todayButton?: string;\n onSelected?: (captionType: DatePickerCaptionType) => void;\n}\n\nexport function DatePickerCaption(props: DatePickerCaptionProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n panelDate = new Date(),\n monthLabel,\n onSelected = noop,\n todayButton,\n ...other\n } = props;\n\n const renderMonth = useMemo(() => {\n const month = panelDate.getMonth();\n return (monthLabel && monthLabel[month]) || month + 1;\n }, [panelDate.toDateString(), monthLabel]);\n return (\n <DatePickerStyleCaptionBase className={classnames(prefixCls ? `${prefixCls}-caption` : null, className)} {...other}>\n <DatePickerStyleCaptionPane\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'prev')}\n onClick={() => onSelected('prev')}\n prev\n />\n <DatePickerStyleCaptionPaneMonth\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'month')}\n onClick={() => onSelected('month')}\n >\n {renderMonth}\n </DatePickerStyleCaptionPaneMonth>\n <DatePickerStyleCaptionPaneYear\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'year')}\n onClick={() => onSelected('year')}\n >\n {panelDate!.getFullYear()}\n </DatePickerStyleCaptionPaneYear>\n {todayButton && (\n <DatePickerStyleCaptionToday\n className={classnames(prefixCls ? `${prefixCls}-caption-today` : null)}\n onClick={() => onSelected('today')}\n title={todayButton}\n />\n )}\n <DatePickerStyleCaptionPane\n className={classnames(prefixCls ? `${prefixCls}-caption-pane` : null, 'next')}\n onClick={() => onSelected('next')}\n next\n />\n </DatePickerStyleCaptionBase>\n );\n}\n","import styled from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { DatePickerStyleTheme } from './theme';\nconst propsTheme = {\n defaultTheme: { ...DatePickerStyleTheme },\n};\nexport interface DatePickerStyleWarpProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions<typeof DatePickerStyleTheme> {}\n\nexport const DatePickerStyleWarp = styled.div<DatePickerStyleWarpProps>`\n vertical-align: top;\n display: inline-block;\n position: relative;\n border-radius: 3px;\n background: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorBase')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDatepickerTimeBase')};\n user-select: none;\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeDefault')};\n line-height: 21px;\n padding: 5px;\n min-width: 192px;\n max-width: 192px;\n box-shadow: 0 0 0 1px ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowDatepickerTime1')},\n 0 0 0 ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowDatepickerTime2')},\n 0 1px 1px ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowDatepickerTime3')};\n &.w-datepicker-timepicker {\n border: 1px solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorDatepickerTimeBase')};\n border-top: 0;\n border-radius: 0 0 4px 4px !important;\n > div {\n max-height: 186px;\n }\n }\n &.w-datepicker-time-btn {\n cursor: pointer;\n margin-top: 2px;\n transition: background-color 0.3s;\n display: inline-block;\n border-radius: 3px;\n padding: 1px 5px;\n &:hover {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerBaseHover')};\n }\n &:active {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDatePickerActive')};\n }\n }\n`;\n","import React, { useEffect, useMemo, useState } from 'react';\nimport formatter from '@uiw/formatter';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { TimePickerTime, TimePickerPanelProps } from '@uiw/react-time-picker';\nimport { DatePickerDay, DatePickerDayProps, DatePickerDayDateSource } from './DatePickerDay';\nimport { DatePickerMonth } from './DatePickerMonth';\nimport { DatePickerYear } from './DatePickerYear';\nimport { DatePickerCaption, DatePickerCaptionType } from './DatePickerCaption';\nimport { DatePickerStyleWarp } from './style';\nexport * from './DatePickerDay';\nexport * from './DatePickerMonth';\nexport * from './DatePickerYear';\nexport * from './DatePickerCaption';\nexport * from './style/theme';\n\nconst MONTH_LABEL = [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n '六月',\n '七月',\n '八月',\n '九月',\n '十月',\n '十一月',\n '十二月',\n];\n\nexport interface DatePickerShowTimeProps extends TimePickerPanelProps {\n format?: string;\n}\nexport interface DatePickerProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n onChange?: (selectedDate?: Date, dateSource?: DatePickerDayDateSource) => void;\n renderDay?: DatePickerDayProps['renderDay'];\n disabledDate?: DatePickerDayProps['disabledDate'];\n showTime?: DatePickerShowTimeProps | boolean;\n monthLabel?: React.ReactNode[];\n weekday?: string[];\n weekTitle?: string[];\n date?: Date;\n panelDate?: Date;\n today?: Date;\n todayButton?: string;\n onPanelChange?: (date?: Date, mode?: 'next' | 'prev') => void;\n}\nexport interface DatePickerState {\n panelDate?: Date;\n date?: Date;\n type?: 'day' | 'time' | DatePickerCaptionType;\n}\n\nexport default function DatePicker(props: DatePickerProps) {\n const {\n prefixCls = 'w-datepicker',\n className,\n weekday,\n weekTitle,\n monthLabel = MONTH_LABEL,\n date,\n today = new Date(),\n todayButton,\n panelDate = new Date(),\n disabledDate,\n renderDay,\n onChange = noop,\n onPanelChange = noop,\n showTime,\n ...other\n } = props;\n const [type, setType] = useState<DatePickerState['type']>('day');\n const [selectDate, setSelectDate] = useState(date);\n const [selectPanelDate, setSelectPanelDate] = useState(panelDate);\n useEffect(() => {\n if (date) {\n setSelectDate(date);\n setSelectPanelDate(date);\n }\n }, [date]);\n\n const format = useMemo(\n () =>\n showTime && (showTime as DatePickerShowTimeProps).format\n ? (showTime as DatePickerShowTimeProps).format\n : 'HH:mm:ss',\n [showTime],\n );\n function handleSelected(curType: DatePickerState['type']) {\n if (curType && /^(year|month|time)$/.test(curType)) {\n if (type === 'time') {\n curType = 'day';\n }\n setType(curType);\n } else {\n let currentDate = new Date(selectPanelDate);\n let month = currentDate.getMonth();\n if (curType === 'prev') {\n month -= 1;\n }\n if (curType === 'next') {\n month += 1;\n }\n currentDate.setMonth(month);\n if (curType === 'prev' || curType === 'next') {\n onPanelChange && onPanelChange(new Date(currentDate), curType);\n }\n setSelectPanelDate(curType === 'today' ? today : currentDate);\n curType === 'today' && setSelectDate(today);\n\n setType('day');\n }\n }\n\n function onSelectedTime(type: TimePickerPanelProps['type'], num: number) {\n (selectPanelDate || new Date())[`set${type}` as 'setHours'](num);\n setSelectPanelDate(new Date(selectPanelDate));\n onChange && onChange(new Date(selectPanelDate));\n }\n\n function onSelectedDate(type: 'setMonth' | 'setFullYear', month: number, paging?: boolean) {\n (selectPanelDate || new Date())[type](month);\n setSelectPanelDate(new Date(selectPanelDate));\n setType('day');\n onChange && onChange(new Date(selectPanelDate));\n }\n return (\n <DatePickerStyleWarp className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...other}>\n <DatePickerCaption\n todayButton={todayButton}\n panelDate={selectPanelDate}\n monthLabel={monthLabel}\n onSelected={handleSelected}\n />\n {type === 'day' && (\n <DatePickerDay\n prefixCls={prefixCls}\n disabledDate={disabledDate}\n onSelectDay={(selectedDate, dateSource) => {\n setSelectPanelDate(selectedDate!);\n onChange(selectedDate, dateSource);\n }}\n renderDay={renderDay}\n date={selectDate}\n today={today || new Date()}\n panelDate={selectPanelDate}\n weekday={weekday}\n weekTitle={weekTitle}\n />\n )}\n {type === 'month' && (\n <DatePickerMonth\n panelDate={selectPanelDate}\n monthLabel={monthLabel}\n prefixCls={prefixCls}\n onSelected={(num) => onSelectedDate('setMonth', num)}\n />\n )}\n {type === 'year' && (\n <DatePickerYear\n prefixCls={prefixCls}\n panelDate={selectDate || selectPanelDate}\n onSelected={(num) => onSelectedDate('setFullYear', num)}\n />\n )}\n {type === 'time' && (\n <TimePickerTime\n date={selectPanelDate}\n {...(typeof showTime === 'boolean' ? {} : showTime)}\n className={`${prefixCls}-timepicker`}\n onSelected={onSelectedTime}\n />\n )}\n {showTime && format && (\n <div className={`${prefixCls}-time-btn`} onClick={() => handleSelected('time')}>\n {formatter(format!, selectDate || selectPanelDate)}\n </div>\n )}\n </DatePickerStyleWarp>\n );\n}\n","import { IconStyleBase } from '@uiw/react-icon';\nimport { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\nimport styled, { css } from 'styled-components';\nimport { DatePickerStyleBodyWarp, DatePickerStyleWeekDay, DatePickerStyleWeekBase } from '@uiw/react-date-picker';\n\nexport const CalendarStyleTheme = {\n fontSizeCalendarCaptionDefualt: '26px',\n fontSizeLarge: '16px',\n backgroundColorCalendarHover: '#ececec',\n backgroundColorCalendarActive: '#ececec',\n lineHeightCalendarPanel: '16px',\n backgroundCalendarDefault: 'white',\n borderColorCalendarChildDiv: '#ececec',\n};\nconst propsTheme = {\n defaultTheme: { ...CalendarStyleTheme },\n};\n\ntype HTMLDivElements = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n\ntype ThemeVar = ThemeVariantValueOptions<typeof CalendarStyleTheme>;\n\nexport interface CalendarCaptionStyleWrapProps extends HTMLDivElements, ThemeVar {}\nexport interface CalendarBtnGroupStyleWrapProps extends HTMLDivElements, ThemeVar {}\nexport interface CalendarPanelStyleWrapProps extends HTMLDivElements, ThemeVar {}\nexport interface CalendarStyleWrapProps extends HTMLDivElements, ThemeVar {}\nexport interface CalendarBtnStyleWrapProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> {}\n\nexport const CalendarCaptionStyleWrap = styled.div<CalendarCaptionStyleWrapProps>`\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeCalendarCaptionDefualt')};\n font-weight: 200;\n width: 100%;\n display: inline-block;\n`;\n\nexport const CalendarBtnStyleWrap = styled.span<CalendarBtnStyleWrapProps>``;\n\nexport const CalendarBtnGroupStyleWrap = styled.div<CalendarBtnGroupStyleWrapProps>`\n ${(props) => css`\n display: inline-block;\n user-select: none;\n float: right;\n\n & > ${CalendarBtnStyleWrap} {\n font-size: ${getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeLarge')};\n padding: 2px 3px;\n position: relative;\n top: -3px;\n }\n & > ${IconStyleBase}, & > ${CalendarBtnStyleWrap} {\n cursor: pointer;\n border-radius: 3px;\n transition: all 0.3s;\n &:hover {\n background-color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorCalendarHover')};\n }\n &:active {\n background-color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorCalendarActive')};\n }\n }\n & > ${IconStyleBase}, & > ${CalendarBtnStyleWrap} {\n vertical-align: middle;\n margin-top: -6px;\n > svg {\n width: 18px;\n height: 18px;\n margin: 4px 0px 0px 4px;\n }\n &:last-child {\n transform: rotate(-90deg);\n }\n &:first-child {\n transform: rotate(90deg);\n }\n }\n `}\n`;\n\nexport const CalendarTitleWrap = styled.div`\n display: inline-block;\n user-select: none;\n`;\n\nexport const CalendarDayWrap = styled.div`\n padding-right: 5px;\n text-align: right;\n`;\n\nexport const CalendarInnerWrap = styled.div`\n text-align: right;\n padding: 5px;\n`;\n\nexport const CalendarPanelStyleWrap = styled.div<CalendarPanelStyleWrapProps>`\n ${(props) => css`\n width: 100%;\n height: 90px;\n line-height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightCalendarPanel')};\n overflow-y: auto;\n text-align: left;\n > * {\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n text-overflow: ellipsis;\n font-size: ${getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeSmall')};\n }\n `}\n`;\n\nexport const CalendarStyleWrap = styled.div<CalendarStyleWrapProps>`\n ${(props) => css`\n background: ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundCalendarDefault')};\n\n ${DatePickerStyleBodyWarp} {\n padding: 0 0 0 0;\n }\n ${DatePickerStyleWeekBase}:last-child > div {\n border-bottom: 0;\n }\n ${DatePickerStyleWeekBase} > div {\n display: inline-flex;\n border-radius: 0;\n border-right: 1px solid ${getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCalendarChildDiv')};\n border-bottom: 1px solid ${getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCalendarChildDiv')};\n &:last-child {\n border-right: 0;\n }\n > div {\n margin: 0;\n border-radius: 0;\n }\n }\n ${DatePickerStyleWeekDay} {\n > div {\n background-color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCalendarChildDiv')};\n height: 32px;\n line-height: 32px;\n }\n }\n `}\n`;\n","import React, { useMemo } from 'react';\nimport { CalendarProps } from './';\nimport { CalendarDayWrap, CalendarInnerWrap, CalendarPanelStyleWrap } from './style';\n\nexport type RenderDayProps = {\n prefixCls?: string;\n day?: number;\n data?: CalendarProps['data'];\n currentDate?: Date;\n};\n\nexport default function RenderDay(props: RenderDayProps) {\n const { prefixCls, day, data, currentDate } = props;\n\n const dayData = useMemo(\n () =>\n (data || []).filter((item) => {\n let arr: number[] = ((item.date && item.date.split('/')) || []).map((num) => Number(num));\n if (arr.length === 1) {\n return day === arr[0];\n }\n if (currentDate && arr.length === 2) {\n return currentDate.getMonth() + 1 === arr[0] && day === arr[1];\n }\n if (currentDate && arr.length === 3) {\n return currentDate.getFullYear() === arr[0] && currentDate.getMonth() + 1 === arr[1] && day === arr[2];\n }\n return false;\n }),\n [currentDate, day, data],\n );\n\n return useMemo(\n () => (\n <CalendarInnerWrap className={`${prefixCls}-inner`}>\n <CalendarDayWrap className={`${prefixCls}-day`}>{day}</CalendarDayWrap>\n <CalendarPanelStyleWrap className={`${prefixCls}-panel`}>\n {dayData &&\n dayData.length > 0 &&\n dayData.map((item, idx) => {\n const { date, label, ...other } = item;\n return (\n <div key={idx} {...other}>\n {label}\n </div>\n );\n })}\n </CalendarPanelStyleWrap>\n </CalendarInnerWrap>\n ),\n [dayData, day],\n );\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { DatePickerDay, DatePickerDayProps, DatePickerDayDateSource } from '@uiw/react-date-picker';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { Down } from '@uiw/icons/lib/Down';\nimport formatter from '@uiw/formatter';\nimport { IProps } from '@uiw/utils';\nimport RenderDay from './DayLabel';\nimport {\n CalendarBtnGroupStyleWrap,\n CalendarBtnStyleWrap,\n CalendarStyleWrap,\n CalendarCaptionStyleWrap,\n CalendarTitleWrap,\n} from './style';\n\nexport interface CalendarProps extends IProps, DatePickerDayProps {\n /**\n * 设置日历面板上面的日期标题。\n */\n titleFormat?: string;\n /**\n * 点击选择日期回调\n */\n onSelectDay?: (selectDay?: Date, dateSource?: DatePickerDayDateSource) => void;\n /**\n * 日历面板默认展示哪一页\n */\n panelDate?: Date;\n /**\n * 默认高亮当天日期\n */\n today?: Date;\n /**\n * 在日历面板上面添加通知,数组中的对象可以设置 `ElementProps`,如:`style`, `onClick` 等属性。\n */\n data?: ICalendarData[];\n /**\n * 选中的日期\n */\n date?: Date;\n /**\n * `今天` 按钮的文本设置\n */\n todayLabel?: string;\n /**\n * 月份显示文本\n */\n monthLabel?: string[];\n /** 翻页触发事件 */\n onPaging?: (type: 'prev' | 'next' | 'today', month: number, panelDate?: Date) => void;\n}\n\nexport interface ICalendarData {\n label?: React.ReactNode;\n date?: string;\n [key: string]: any;\n}\n\nconst MONTH_LABEL = [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n '六月',\n '七月',\n '八月',\n '九月',\n '十月',\n '十一月',\n '十二月',\n];\n\nexport default function Calendar(props: CalendarProps) {\n const {\n prefixCls = 'w-calendar',\n className,\n style,\n today = new Date(),\n date,\n data,\n monthLabel = MONTH_LABEL,\n titleFormat = 'YYYY/MM',\n todayLabel = '今天',\n panelDate: _,\n onPaging,\n onSelectDay,\n ...otherProps\n } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const [panelDate, setPanelDate] = useState<Date>(props.panelDate || new Date());\n\n useEffect(() => {\n if (props.panelDate !== panelDate) {\n setPanelDate(panelDate);\n }\n }, [props.panelDate]);\n\n function handlePaging(type: 'prev' | 'next' | 'today') {\n let currentDate = new Date();\n if (type === 'today') {\n currentDate = today || new Date();\n } else {\n const month = panelDate.getMonth();\n if (panelDate && type === 'prev') {\n panelDate.setMonth(month - 1);\n }\n if (panelDate && type === 'next') {\n panelDate.setMonth(month + 1);\n }\n currentDate = panelDate;\n }\n setPanelDate(new Date(currentDate));\n onPaging && onPaging(type, currentDate!.getMonth() + 1, currentDate);\n }\n\n const titleLable = useMemo(\n () => <CalendarTitleWrap className={`${prefixCls}-title`}>{formatter(titleFormat, panelDate)}</CalendarTitleWrap>,\n [prefixCls, titleFormat, panelDate],\n );\n\n const btngroup = useMemo(\n () => (\n <CalendarBtnGroupStyleWrap className={`${prefixCls}-btn-group`}>\n <IconStyleBase as={Down} onClick={() => handlePaging('prev')} style={{ width: 18 }} />\n <CalendarBtnStyleWrap className={`${prefixCls}-btn`} onClick={() => handlePaging('today')}>\n {todayLabel}\n </CalendarBtnStyleWrap>\n <IconStyleBase as={Down} onClick={() => handlePaging('next')} style={{ width: 18 }} />\n </CalendarBtnGroupStyleWrap>\n ),\n [prefixCls, todayLabel],\n );\n\n return (\n <CalendarStyleWrap className={cls} style={style}>\n <CalendarCaptionStyleWrap className={`${prefixCls}-caption`}>\n {titleLable}\n {btngroup}\n </CalendarCaptionStyleWrap>\n <DatePickerDay\n onSelectDay={(currentDate, dateSource) => {\n setPanelDate(currentDate!);\n onSelectDay && onSelectDay(currentDate, dateSource);\n }}\n renderDay={(day, propsNext) => (\n <RenderDay prefixCls={prefixCls} day={day} data={data} currentDate={propsNext.date} />\n )}\n date={date}\n today={today}\n panelDate={panelDate || new Date()}\n {...otherProps}\n />\n </CalendarStyleWrap>\n );\n}\n","import { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\nimport { CardStyleTheme } from './index';\ntype ThemeVar = ThemeVariantValueOptions<typeof CardStyleTheme>;\nconst propsTheme = {\n defaultTheme: { ...CardStyleTheme },\n};\nexport interface CardStyleWarpProps extends ThemeVar {\n bordered?: boolean;\n noHover?: boolean;\n active?: boolean;\n}\nconst getHoverOrActive = (props: CardStyleWarpProps) => css`\n box-shadow: 0 1px 6px ${() => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorBaseActive')};\n border-color: ${() => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorBaseActive')};\n`;\n\nexport const getNoHover = (props: CardStyleWarpProps) => {\n if (!props.noHover) {\n return css`\n &:hover {\n ${() => getHoverOrActive(props)}\n }\n `;\n }\n return css``;\n};\n\nexport const getActive = (props: CardStyleWarpProps) => {\n if (props.active) {\n return css`\n ${getHoverOrActive(props)}\n `;\n }\n return ``;\n};\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { CardStyleWarpProps, getActive, getNoHover } from './utils';\n\nexport const CardStyleTheme = {\n borderRadiusLarge: '5px',\n fontSizeDefault: '14px',\n lineHeightDefault: 1.5,\n borderColorBaseActive: '#CCCCCC',\n borderColorBase: '#e9e9e9',\n backgroundColorBase: '#fff',\n\n heightCardStyleHead: '40px',\n paddingVerticalCardStyleHead: 0,\n paddingHorizontalCardStyleHead: '14px',\n borderRadius1CardStyleHead: '2px',\n borderRadius2CardStyleHead: '2px',\n borderRadius3CardStyleHead: 0,\n borderRadius4CardStyleHead: 0,\n\n colorBase: '#393e48',\n\n rightCardStyleHeadExtra: '16px',\n topCardStyleHeadExtra: 0,\n\n paddingCardBody: '14px',\n borderTopCardBody: '1px solid #e9e9e9',\n\n paddingVerticalCardStyleFooter: '8px',\n paddingHorizontalCardStyleFooter: '10px',\n borderTopCardStyleFooter: '1px solid #F2F2F2',\n colorCardStyleFooter: '#999999',\n};\nconst propsTheme = {\n defaultTheme: { ...CardStyleTheme },\n};\ntype HTMLDivElements = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\ntype ThemeVar = ThemeVariantValueOptions<typeof CardStyleTheme>;\n\nexport type { CardStyleWarpProps };\nexport interface CardStyleHeadProps extends HTMLDivElements, ThemeVar {}\n\nexport const CardStyleHead = styled.div<CardStyleHeadProps>`\n height: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'heightCardStyleHead')};\n line-height: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'heightCardStyleHead')};\n padding: ${(props) => `\n ${getThemeVariantValue({ ...props, ...propsTheme }, 'paddingVerticalCardStyleHead')} ${getThemeVariantValue(\n props,\n 'paddingHorizontalCardStyleHead',\n )}\n `};\n border-radius: ${(props) => `\n ${getThemeVariantValue({ ...props, ...propsTheme }, 'borderRadius1CardStyleHead')} ${getThemeVariantValue(\n props,\n 'borderRadius2CardStyleHead',\n )} ${getThemeVariantValue({ ...props, ...propsTheme }, 'borderRadius3CardStyleHead')} ${getThemeVariantValue(\n props,\n 'borderRadius4CardStyleHead',\n )}\n `};\n zoom: 1;\n`;\nexport interface CardStyleHeadTitleProps extends HTMLDivElements, ThemeVar {}\nexport const CardStyleHeadTitle = styled.div<CardStyleHeadTitleProps>`\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeDefault')};\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n white-space: nowrap;\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorBase')};\n font-weight: 500;\n display: inline-block;\n`;\nexport interface CardStyleHeadExtraProps extends HTMLDivElements, ThemeVar {}\nexport const CardStyleHeadExtra = styled.div<CardStyleHeadExtraProps>`\n position: absolute;\n right: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'rightCardStyleHeadExtra')};\n top: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'topCardStyleHeadExtra')};\n`;\nexport interface CardBodyProps extends HTMLDivElements, ThemeVar {}\nexport const CardBody = styled.div<CardBodyProps>`\n padding: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'paddingCardBody')};\n ${CardStyleHead} + & {\n border-top: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderTopCardBody')};\n }\n`;\nexport interface CardStyleFooterProps extends HTMLDivElements, ThemeVar {}\n\nexport const CardStyleFooter = styled.div<CardStyleFooterProps>`\n padding: ${(props) => `\n ${getThemeVariantValue({ ...props, ...propsTheme }, 'paddingVerticalCardStyleFooter')} ${getThemeVariantValue(\n props,\n 'paddingHorizontalCardStyleFooter',\n )} \n `};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorCardStyleFooter')};\n a {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorCardStyleFooter')};\n }\n ${CardBody} + & {\n border-top: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderTopCardStyleFooter')};\n }\n`;\n\nexport const CardStyleWarp = styled.div<CardStyleWarpProps>`\n background: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorBase')};\n border-radius: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderRadiusLarge')};\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeDefault')};\n line-height: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightDefault')};\n position: relative;\n transition: all 0.3s;\n ${(props) =>\n props.bordered &&\n css`\n border: 1px solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorBase')};\n `}\n ${(props) => getNoHover(props)}\n ${(props) => getActive(props)}\n`;\n\nCardStyleWarp.defaultProps = { defaultTheme: CardStyleTheme };\n\nCardStyleHead.defaultProps = { defaultTheme: CardStyleTheme };\n\nCardStyleHeadTitle.defaultProps = { defaultTheme: CardStyleTheme };\n\nCardStyleHeadExtra.defaultProps = { defaultTheme: CardStyleTheme };\n\nCardBody.defaultProps = { defaultTheme: CardStyleTheme };\n\nCardStyleFooter.defaultProps = { defaultTheme: CardStyleTheme };\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport {\n CardStyleWarp,\n CardStyleFooter,\n CardBody,\n CardStyleHead,\n CardStyleHeadTitle,\n CardStyleHeadExtra,\n} from './style';\nexport * from './style';\n\nexport interface CardProps extends IProps, Omit<HTMLDivProps, 'title'> {\n active?: boolean;\n bordered?: boolean;\n bodyStyle?: React.CSSProperties;\n bodyClassName?: string;\n title?: React.ReactNode;\n noHover?: boolean;\n extra?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nexport default React.forwardRef<HTMLDivElement, CardProps>((props, ref) => {\n const {\n prefixCls = 'w-card',\n className,\n title,\n extra,\n footer,\n bordered = true,\n noHover = false,\n active = false,\n bodyStyle,\n bodyClassName,\n children,\n ...resetProps\n } = props;\n const cls = useMemo(\n () =>\n [\n prefixCls,\n className,\n bordered ? `${prefixCls}-bordered` : null,\n noHover ? `${prefixCls}-no-hover` : null,\n active ? 'active' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n [prefixCls, className, bordered, noHover],\n );\n\n return (\n <CardStyleWarp\n {...resetProps}\n bordered={bordered}\n active={active}\n noHover={noHover}\n prefix={prefixCls}\n className={cls}\n ref={ref}\n >\n {(title || extra) && (\n <CardStyleHead className={`${prefixCls}-head`}>\n {title && <CardStyleHeadTitle className={`${prefixCls}-head-title`}>{title}</CardStyleHeadTitle>}\n {extra && <CardStyleHeadExtra className={`${prefixCls}-extra`}>{extra}</CardStyleHeadExtra>}\n </CardStyleHead>\n )}\n {children && (\n <CardBody className={[`${prefixCls}-body`, bodyClassName].filter(Boolean).join(' ').trim()} style={bodyStyle}>\n {children}\n </CardBody>\n )}\n {footer && <CardStyleFooter className={`${prefixCls}-footer`}>{footer}</CardStyleFooter>}\n </CardStyleWarp>\n );\n});\n","import styled from 'styled-components';\n\ntype HTMLDivElements = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n\nexport interface CarouselStyleProps extends HTMLDivElements {}\nexport interface CarouselStyleWarpContentProps extends HTMLDivElements {}\n\nexport const CarouselStyleWarp = styled.div<CarouselStyleProps>`\n overflow: hidden;\n`;\n\nexport const CarouselStyleWarpContent = styled.div<CarouselStyleWarpContentProps>`\n min-height: 200px;\n transition: 0.6s ease-in-out;\n`;\n","import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { CarouselStyleWarp, CarouselStyleWarpContent } from './style';\nexport * from './style';\n\nexport interface CarouselProps extends IProps, HTMLDivProps {\n width?: number;\n height?: number;\n position?: number;\n palyTime?: number;\n scrollTime?: number;\n autoPlay?: boolean;\n direction?: 'horizontal' | 'vertical';\n afterChange?: (current: number) => void;\n beforeChange?: (current: number) => void;\n}\n\nexport interface CarouselRef {\n gotoSlide: (slide: number, dontAnimate?: boolean) => void;\n prevSlide: () => void;\n nextSlide: () => void;\n stopPlay: () => void;\n}\n\nfunction Carousel(props: CarouselProps, ref: React.ForwardedRef<CarouselRef>) {\n const {\n position = 0,\n direction = 'horizontal',\n width = 400,\n height = 200,\n palyTime = 2000,\n scrollTime = 200,\n autoPlay = true,\n afterChange,\n beforeChange,\n\n prefixCls = 'w-carousel',\n className,\n style,\n } = props;\n\n const cls = useMemo(() => [prefixCls, className].filter(Boolean).join(' ').trim(), [prefixCls, className]);\n\n const [currentPosition, currentPositionSet] = useState(position);\n const [transitionInner, transitionInnerSet] = useState(`${scrollTime * 0.001}s ease-in-out`);\n const positionRef = useRef(currentPosition);\n const childCount = React.Children.count(props.children) + 1;\n const stopPlay = useRef({ stop: () => {}, after: afterChange, before: beforeChange });\n\n React.useImperativeHandle(\n ref,\n () => ({\n gotoSlide,\n prevSlide: () => gotoSlide(positionRef.current - 1),\n nextSlide: () => gotoSlide(positionRef.current + 1),\n stopPlay: () => stopPlay.current.stop(),\n }),\n [ref],\n );\n\n const gotoSlide = (slidNumber: number) => {\n stopPlay.current.stop();\n const maxSlid = childCount - 1;\n let slidNumberTemp = slidNumber > maxSlid ? maxSlid : slidNumber;\n slidNumberTemp = slidNumber < 0 ? 0 : slidNumberTemp;\n positionRef.current = slidNumberTemp;\n currentPositionSet(slidNumberTemp);\n play();\n };\n\n const play = (ms: number = palyTime) => {\n if (autoPlay) {\n const time = setInterval(() => {\n stopPlay.current.after?.(positionRef.current);\n positionRef.current++;\n if (positionRef.current >= childCount) {\n positionRef.current = 0;\n }\n currentPositionSet(positionRef.current);\n stopPlay.current.before?.(positionRef.current);\n }, ms);\n stopPlay.current.stop = () => {\n clearInterval(time);\n };\n }\n };\n\n useEffect(() => {\n play();\n return () => {\n stopPlay.current.stop();\n };\n }, [autoPlay]);\n\n useEffect(() => {\n let time: NodeJS.Timeout;\n if (childCount === currentPosition + 1) {\n time = setTimeout(() => {\n stopPlay.current.before = () => {\n transitionInnerSet(`${scrollTime * 0.001}s ease-in-out`);\n stopPlay.current.before = props.beforeChange;\n };\n transitionInnerSet('none');\n gotoSlide(0);\n }, scrollTime);\n }\n return () => {\n clearTimeout(time);\n };\n }, [currentPosition]);\n\n const childrens = React.Children.map(props.children, (child) => {\n return <div style={{ width, height, ...style }}>{child}</div>;\n });\n\n const innerStyle = useMemo(() => {\n const style = { transform: '', display: '' };\n switch (direction) {\n case 'horizontal':\n style.transform = `translate3d(${-(currentPosition * width)}px, 0px, 0px)`;\n style.display = 'flex';\n break;\n case 'vertical':\n style.transform = `translate3d(0px, ${-(currentPosition * height)}px, 0px)`;\n style.display = 'block';\n break;\n default:\n break;\n }\n return style;\n }, [direction, currentPosition, width, height]);\n\n return (\n <CarouselStyleWarp className={cls} style={{ width, height }}>\n <CarouselStyleWarpContent\n className={`${cls}-content`}\n style={{ width: width * childCount, transition: transitionInner, ...innerStyle }}\n >\n {childrens}\n <div style={{ width, height, ...style }}>{childrens?.[0]}</div>\n </CarouselStyleWarpContent>\n </CarouselStyleWarp>\n );\n}\n\nexport default React.forwardRef<CarouselRef, CarouselProps>(Carousel);\n","import React from 'react';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport { IProps } from '@uiw/utils';\nimport { useMemo } from 'react';\n\nexport interface DropdownProps extends IProps, OverlayTriggerProps {\n menu?: React.ReactNode;\n}\n\nexport default function Dropdown(props: DropdownProps) {\n const { prefixCls = 'w-dropdown', placement = 'bottomLeft', className, menu, children, disabled, ...other } = props;\n\n const cls = useMemo(() => [prefixCls, className].filter(Boolean).join(' ').trim(), [prefixCls, className]);\n\n return (\n <OverlayTrigger\n isOutside\n autoAdjustOverflow\n className={cls}\n disabled={disabled}\n placement={placement}\n {...other}\n overlay={menu}\n >\n {React.cloneElement(children, Object.assign({}, children.props))}\n </OverlayTrigger>\n );\n}\n","import styled, { css } from 'styled-components';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const MenuStyleTheme = {\n backgroundColorMenuBase: 'rgba(167, 182, 194, 0.3)',\n backgroundColorMenuActive: 'rgba(115, 134, 148, 0.3)',\n colorMenuStyleItemIconDisabled: 'rgba(92, 112, 128, 0.5)',\n colorMenuStyleItemIconDark: 'rgba(142, 142, 142, 0.79)',\n colorMenuStyleItemIconDarkActive: '#fff',\n\n colorMenuStyleBaseLight: '#182026',\n backgroundMenuStyleBaseLight: '#fff',\n boxShadowMenuStyleBaseBordered:\n ' 0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);',\n colorMenuStyleItemBaseLightHover: '#008ef0',\n colorMenuStyleItemBaseHover: '#fff',\n borderTopColorMenuDividerBase: 'rgba(16, 22, 26, 0.15)',\n colorMenuStyleBaseDark: 'rgba(255, 255, 255, 0.65)',\n backgroundColorMenuStyleBaseDark: '#343a40',\n borderTopColorMenuDividerBaseDark: 'rgba(255, 255, 255, 0.2)',\n};\n\ntype ThemeVar = ThemeVariantValueOptions<typeof MenuStyleTheme>;\n\nexport interface MenuDividerBaseProps\n extends React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement | ThemeVar>, HTMLLIElement> {}\n\nexport const MenuDividerBase = styled.li<MenuDividerBaseProps>``;\n\n// export interface MenuStyleItemBaseProps extends Omit<MenuItemProps<'a'>, 'theme'>, ThemeVar {\nexport interface MenuStyleItemBaseProps\n extends React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>,\n ThemeVar {\n params?: {\n theme?: 'dark' | 'light';\n active?: boolean;\n disabled?: boolean;\n };\n}\nexport const MenuStyleItemIcon = styled(Icon)<IconProps>``;\n\nexport interface MenuItemStyleTextBaseProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement | ThemeVar>, HTMLDivElement> {\n params?: {\n multiline?: boolean;\n isText?: boolean;\n };\n}\n\nexport const MenuItemStyleTextBase = styled.div<MenuItemStyleTextBaseProps>`\n ${(props) =>\n props.params?.isText &&\n css`\n flex-grow: 1;\n `}\n ${(props) =>\n !props.params?.multiline &&\n css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: normal;\n `}\n`;\n\nexport const MenuStyleItemBase = styled.a<MenuStyleItemBaseProps>`\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n border-radius: 2px;\n padding: 5px 7px;\n text-decoration: none;\n line-height: 20px;\n color: inherit;\n user-select: none;\n transition: initial;\n transition: background-color 0.3s;\n ${(props) => {\n return (\n props.params?.active &&\n css`\n && {\n color: inherit;\n cursor: pointer;\n text-decoration: none;\n background-color: ${getThemeVariantValue(\n { ...props, defaultTheme: MenuStyleTheme },\n 'backgroundColorMenuBase',\n )};\n }\n `\n );\n }}\n &:hover {\n color: inherit;\n cursor: pointer;\n text-decoration: none;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: MenuStyleTheme }, 'backgroundColorMenuBase')};\n }\n &:active {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: MenuStyleTheme }, 'backgroundColorMenuActive')};\n }\n\n ${(props) =>\n props.params?.disabled &&\n css`\n & {\n outline: none !important;\n background-color: inherit !important;\n cursor: not-allowed !important;\n }\n &,\n & ${MenuStyleItemIcon} {\n color: ${getThemeVariantValue(\n { ...props, defaultTheme: MenuStyleTheme },\n 'colorMenuStyleItemIconDisabled',\n )} !important;\n }\n `}\n & > * {\n margin-right: 7px;\n }\n & > :last-child {\n margin-right: 0;\n }\n ${(props) =>\n props.params?.theme === 'dark' &&\n css`\n ${props.params?.active &&\n css`\n color: ${getThemeVariantValue(\n { ...props, defaultTheme: MenuStyleTheme },\n 'colorMenuStyleItemIconDarkActive',\n )} !important;\n `}\n ${props.params?.disabled &&\n css`\n &,\n & ${MenuStyleItemIcon} {\n color: ${getThemeVariantValue(\n { ...props, defaultTheme: MenuStyleTheme },\n 'colorMenuStyleItemIconDark',\n )} !important;\n }\n `}\n `}\n`;\n\nMenuStyleItemBase.defaultProps = {\n defaultTheme: MenuStyleTheme,\n};\n\nexport interface SubItemCollapseIconProps extends IconProps {\n params?: {\n prefixCls?: string;\n collapse?: boolean;\n isOpen?: boolean;\n };\n}\n\nexport const SubItemCollapseIcon = styled(Icon)<SubItemCollapseIconProps>`\n ${(props) =>\n props.params?.prefixCls &&\n css`\n transform: scale(0.79);\n `}\n ${(props) =>\n props.params?.prefixCls &&\n !props.params.collapse &&\n css`\n ${props.params.isOpen\n ? css`\n transition: rotate 0.3s all;\n transform: scale(0.79) rotate(-90deg);\n `\n : css`\n transition: rotate 0.3s all;\n transform: scale(0.79) rotate(90deg);\n `}\n `}\n`;\n\nexport interface MenuStyleSubOverlayTriggerBaseProps extends OverlayTriggerProps {\n params?: {\n collapse?: boolean;\n };\n}\n\nexport const MenuStyleSubOverlayTriggerBase = styled(OverlayTrigger)<MenuStyleSubOverlayTriggerBaseProps>`\n ${(props) =>\n (!props.params?.collapse &&\n css`\n & {\n transition: height 300ms;\n position: relative !important;\n top: initial !important;\n left: initial !important;\n right: initial !important;\n bottom: initial !important;\n width: auto !important;\n overflow: hidden !important;\n ul {\n min-width: 100%;\n padding-right: 0px !important;\n }\n }\n `) ||\n css`\n min-width: 180px;\n `}\n\n &.w-menu-subitem-enter,\n &.w-menu-subitem-enter-done,\n &.w-menu-subitem-exit {\n display: inherit;\n }\n`;\n\nexport interface MenuStyleBaseProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>,\n ThemeVar {\n params?: {\n /** 主题颜色 */\n theme?: 'light' | 'dark';\n /**\n * 垂直是否收起菜单\n * Default: `false`\n */\n inlineCollapsed?: boolean;\n bordered?: boolean;\n };\n}\n\nexport const MenuStyleBase = styled.ul<MenuStyleBaseProps>`\n margin: 0 !important;\n padding: 5px;\n box-sizing: border-box;\n border-radius: 3px;\n min-width: 100%;\n width: 100%;\n text-align: left;\n font-size: 14px;\n transition: width 0.2s, min-width 0.2s, max-width 0.2s, height 0.2s, min-height 0.2s, max-height 0.2s;\n ${(props) => {\n const { params } = props;\n if (params?.theme) {\n return css`\n && {\n padding-left: 5px;\n }\n ${params.theme !== 'dark' &&\n css`\n & {\n color: ${getThemeVariantValue({ ...props, defaultTheme: MenuStyleTheme }, 'colorMenuStyleBaseLight')};\n background: ${getThemeVariantValue(\n { ...props, defaultTheme: MenuStyleTheme },\n 'backgroundMenuStyleBaseLight',\n )};\n }\n `}\n `;\n }\n return '';\n }}\n li {\n margin: 0 !important;\n list-style: none !important;\n position: relative;\n &:first-of-type {\n border-top: none;\n }\n a:not([href]) {\n color: inherit;\n }\n }\n ${(props) =>\n props.params?.bordered &&\n css`\n box-shadow: ${getThemeVariantValue({ ...props, defaultTheme: MenuStyleTheme }, 'boxShadowMenuStyleBaseBordered')};\n `} {\n }\n\n ${(props) =>\n props.params?.theme === 'light' &&\n css`\n & > li > ${MenuStyleItemBase}:hover {\n color: ${getThemeVariantValue({ ...props, defaultTheme: MenuStyleTheme }, 'colorMenuStyleItemBaseLightHover')};\n }\n `}\n\n ${(props) =>\n props.params?.inlineCollapsed &&\n css`\n & {\n width: 80px;\n min-width: 80px;\n > li > ${MenuStyleItemBase} {\n justify-content: center;\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 18px;\n &:hover {\n background-color: transparent;\n color: ${getThemeVariantValue({ ...props, defaultTheme: MenuStyleTheme }, 'colorMenuStyleItemBaseHover')};\n }\n > * {\n margin-right: 0;\n }\n }\n > li > ${MenuStyleItemBase} ${MenuItemStyleTextBase} {\n width: 0;\n flex-grow: 0;\n }\n > li > ${MenuStyleItemBase} ${SubItemCollapseIcon} {\n display: none;\n }\n }\n `}\n ${MenuDividerBase} {\n display: block;\n margin: 5px !important;\n border-top: 1px solid\n ${(props) => getThemeVariantValue({ ...props, defaultTheme: MenuStyleTheme }, 'borderTopColorMenuDividerBase')};\n > strong {\n display: block;\n line-height: 17px;\n }\n &:not(:first-of-type) {\n > strong {\n margin-top: 10px;\n }\n }\n }\n ${(props) =>\n props.params?.theme === 'dark' &&\n css`\n & {\n background: ${getThemeVariantValue(\n { ...props, defaultTheme: MenuStyleTheme },\n 'backgroundColorMenuStyleBaseDark',\n )};\n color: ${getThemeVariantValue({ ...props, defaultTheme: MenuStyleTheme }, 'colorMenuStyleBaseDark')};\n }\n ${props.params.bordered &&\n css`\n box-shadow: initial;\n `}\n ${MenuDividerBase} {\n border-top: 1px solid\n ${getThemeVariantValue({ ...props, defaultTheme: MenuStyleTheme }, 'borderTopColorMenuDividerBaseDark')};\n }\n `}\n`;\n\n// MenuStyleBase.defaultProps = {\n// defaultTheme: MenuStyleTheme,\n// };\n","import React, { Fragment } from 'react';\nimport { IconProps } from '@uiw/react-icon';\nimport { IProps } from '@uiw/utils';\nimport { MenuStyleItemBase, MenuItemStyleTextBase, MenuStyleItemIcon } from './style';\n\nconst disabledProps = {\n href: undefined,\n onClick: undefined,\n onMouseDown: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n tabIndex: -1,\n};\n\nexport type TagType = React.ComponentType | keyof JSX.IntrinsicElements;\n\nexport interface MenuItemProps<Tag extends TagType> extends IProps, React.HTMLProps<Tag> {\n text?: React.ReactNode;\n addonAfter?: React.ReactNode;\n tagName?: Tag;\n multiline?: boolean;\n isSubMenuItem?: boolean;\n disabled?: boolean;\n active?: boolean;\n icon?: IconProps['type'];\n children?: React.ReactNode;\n theme?: 'light' | 'dark';\n}\n\nfunction Internal<Tag extends TagType = 'a'>(props: MenuItemProps<Tag>, ref: React.Ref<React.HTMLProps<Tag>>) {\n const {\n prefixCls = 'w-menu-item',\n className,\n tagName: TagName = 'a',\n children,\n disabled = false,\n multiline = false,\n icon,\n text,\n active = false,\n addonAfter,\n isSubMenuItem,\n theme,\n ...htmlProps\n } = props;\n const anchorCls = [prefixCls, active ? 'active' : null, disabled ? 'w-disabled' : null, className]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const tagComp = React.createElement(\n MenuStyleItemBase,\n {\n ...htmlProps,\n ...(disabled ? disabledProps : {}),\n className: anchorCls,\n ref,\n as: TagName,\n params: {\n theme,\n active,\n disabled,\n },\n } as any,\n <Fragment>\n <MenuStyleItemIcon className={`${prefixCls}-icon`} type={icon} />\n <div></div>\n <MenuItemStyleTextBase\n params={{ multiline, isText: !!prefixCls }}\n className={[prefixCls && `${prefixCls}-text`, !multiline && `${prefixCls}-multiline`]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {text}\n </MenuItemStyleTextBase>\n {addonAfter}\n </Fragment>,\n );\n if (isSubMenuItem) {\n return tagComp;\n }\n return <li> {tagComp} </li>;\n}\n\nexport const MenuItem = React.forwardRef(Internal);\n\nMenuItem.displayName = 'uiw.MenuItem';\n","import React from 'react';\nimport { IProps, HTMLLiProps } from '@uiw/utils';\nimport { MenuDividerBase } from './style';\nexport interface MenuDividerProps extends IProps, Omit<HTMLLiProps, 'title'> {\n title?: React.ReactNode;\n}\n\nexport const MenuDivider = React.forwardRef<HTMLLIElement, MenuDividerProps>((props, ref) => {\n const { prefixCls = 'w-menu-divider', className, title, ...htmlProps } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n if (!title) {\n return <MenuDividerBase {...htmlProps} ref={ref} className={cls} />;\n }\n return (\n <MenuDividerBase {...htmlProps} ref={ref} className={cls} data-menu=\"divider\">\n <strong>{title}</strong>\n </MenuDividerBase>\n );\n});\n\nMenuDivider.displayName = 'uiw.MenuDivider';\n","import { createContext, useContext } from 'react';\nimport { OverlayTriggerRef } from '@uiw/react-overlay-trigger';\n\nexport const MenuContext = createContext<{\n nodeDoms: OverlayTriggerRef[];\n onUpdateNode: Function;\n onUpdateSize: Function;\n}>({\n nodeDoms: [],\n onUpdateNode: () => {},\n onUpdateSize: () => {},\n});\n\nexport const useMenuContext = () => {\n const { nodeDoms } = useContext(MenuContext);\n\n const onUpdateNode = (node: OverlayTriggerRef) => {\n nodeDoms.push(node);\n };\n const onUpdateSize = () => {\n nodeDoms.forEach((node) => {\n if (node.overlayDom.current?.parentElement) {\n const height = node.overlayDom.current!.getBoundingClientRect().height + 'px';\n node.overlayDom.current.parentElement.style.height = height;\n }\n });\n };\n return { onUpdateNode, onUpdateSize, nodeDoms };\n};\n","import React, { useMemo, useState } from 'react';\nimport { CSSTransitionProps } from 'react-transition-group/CSSTransition';\nimport { OverlayTriggerProps, OverlayTriggerRef } from '@uiw/react-overlay-trigger';\nimport { IProps } from '@uiw/utils';\nimport { MenuItem, MenuItemProps, TagType } from './MenuItem';\nimport Menu, { MenuProps } from './Menu';\nimport { SubItemCollapseIcon, MenuStyleSubOverlayTriggerBase } from './style';\nimport { useMenuContext } from './hooks';\nexport interface SubMenuProps<T extends TagType> extends IProps, MenuItemProps<T> {\n overlayProps?: OverlayTriggerProps;\n collapse?: boolean;\n disabled?: boolean;\n inlineCollapsed?: boolean;\n inlineIndent?: number;\n theme?: 'light' | 'dark';\n}\n\nfunction checkedMenuItem(node?: HTMLElement) {\n let isCheck = false;\n if (node) {\n // eslint-disable-next-line\n do {\n if (!node.dataset.menu) {\n isCheck = true;\n }\n if (node.dataset.menu && /^(subitem|divider)$/.test(node.dataset.menu)) {\n isCheck = false;\n }\n } while (!node.dataset.menu && (node = node.parentNode as HTMLElement));\n }\n return isCheck;\n}\n\nfunction IconView({ prefixCls, collapse, isOpen }: { prefixCls?: string; collapse?: boolean; isOpen: boolean }) {\n return useMemo(\n () => (\n <SubItemCollapseIcon\n type=\"caret-right\"\n params={{\n prefixCls,\n collapse,\n isOpen,\n }}\n className={[\n prefixCls ? `${prefixCls}-collapse-icon` : null,\n !collapse && isOpen ? 'w-open' : null,\n !collapse && !isOpen ? 'w-close' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n ),\n [prefixCls, collapse, isOpen],\n );\n}\nexport const SubMenu = React.forwardRef(function <Tag extends TagType = 'a'>(\n props: SubMenuProps<Tag>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n prefixCls = 'w-menu-subitem',\n className,\n disabled,\n overlayProps = {},\n children,\n collapse = false,\n inlineIndent,\n inlineCollapsed,\n theme,\n ...other\n } = props;\n const overlayTriggerProps = {} as OverlayTriggerProps & CSSTransitionProps;\n const menuProps: MenuProps = {\n bordered: true,\n children,\n inlineIndent,\n theme,\n className: [prefixCls ? `${prefixCls}-overlay` : null].filter(Boolean).join(' ').trim(),\n };\n const store = useMenuContext();\n const popupRef = React.useRef<OverlayTriggerRef>(null);\n const [isOpen, setIsOpen] = useState(!!overlayProps.isOpen);\n useMemo(() => {\n if (collapse) setIsOpen(false);\n }, [collapse]);\n\n React.useEffect(() => {\n if (store && store.onUpdateNode && popupRef.current) {\n store.onUpdateNode(popupRef.current);\n }\n }, []);\n\n function onClick(e: React.MouseEvent<HTMLUListElement, MouseEvent>) {\n const target = e.currentTarget;\n const related = (e.relatedTarget || e.nativeEvent.target) as HTMLElement;\n if (target.children.length < 1) return;\n if (checkedMenuItem(related)) {\n if (popupRef.current) {\n popupRef.current!.hide();\n }\n }\n }\n function onExit(node: HTMLElement) {\n node.style.height = `${node.scrollHeight}px`;\n store.onUpdateSize();\n setIsOpen(false);\n }\n function onExiting(node: HTMLElement) {\n node.style.height = '0px';\n // store.onUpdateSize();\n }\n function onEnter(node: HTMLElement) {\n node.style.height = '1px';\n store.onUpdateSize();\n setIsOpen(true);\n }\n function onEntering(node: HTMLElement) {\n node.style.height = `${node.scrollHeight}px`;\n store.onUpdateSize();\n }\n function onEntered(node: HTMLElement) {\n store.onUpdateSize();\n // node.style.height = 'initial';\n // if (popupRef.current && popupRef.current.overlayDom) {\n // node.style.height = popupRef.current.overlayDom.current!.getBoundingClientRect().height + 'px';\n // }\n }\n\n if (!collapse) {\n delete menuProps.onClick;\n menuProps.bordered = false;\n overlayTriggerProps.className = `${prefixCls}-collapse`;\n overlayTriggerProps.appear = false;\n overlayTriggerProps.isOutside = true;\n overlayTriggerProps.isClickOutside = false;\n overlayTriggerProps.unmountOnExit = false;\n overlayTriggerProps.trigger = 'click';\n overlayTriggerProps.transitionName = `${prefixCls}`;\n overlayTriggerProps.onExit = onExit;\n overlayTriggerProps.onExiting = onExiting;\n overlayTriggerProps.onEnter = onEnter;\n overlayTriggerProps.onEntered = onEntered;\n overlayTriggerProps.onEntering = onEntering;\n } else {\n overlayTriggerProps.className = `${prefixCls}-popup`;\n overlayTriggerProps.trigger = 'hover';\n overlayTriggerProps.usePortal = true;\n menuProps.onClick = onClick;\n }\n return (\n <li data-menu=\"subitem\" ref={ref}>\n <MenuStyleSubOverlayTriggerBase\n placement=\"rightTop\"\n autoAdjustOverflow\n disabled={disabled}\n isOpen={isOpen}\n usePortal={false}\n isOutside\n {...overlayTriggerProps}\n {...overlayProps}\n ref={popupRef}\n params={{\n collapse,\n }}\n overlay={<Menu {...menuProps} style={!collapse ? { paddingLeft: inlineIndent } : {}} />}\n >\n <MenuItem\n {...other}\n theme={theme}\n ref={null}\n disabled={disabled}\n isSubMenuItem\n addonAfter={<IconView collapse={collapse} prefixCls={prefixCls} isOpen={isOpen} />}\n className={[\n prefixCls ? `${prefixCls}-title` : null,\n !collapse ? `${prefixCls}-collapse-title` : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n </MenuStyleSubOverlayTriggerBase>\n </li>\n );\n});\n\nSubMenu.displayName = 'uiw.SubMenu';\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLUlProps } from '@uiw/utils';\nimport { MenuItem } from './MenuItem';\nimport { MenuDivider } from './Divider';\nimport { SubMenu } from './SubMenu';\nimport { MenuStyleBase } from './style';\nimport { useMenuContext, MenuContext } from './hooks';\nexport interface MenuProps extends IProps, HTMLUlProps {\n /** 主题颜色 */\n theme?: 'light' | 'dark';\n /**\n * 垂直是否收起菜单\n * Default: `false`\n */\n inlineCollapsed?: boolean;\n /**\n * 菜单缩进宽度 Default: `10`\n */\n inlineIndent?: number;\n bordered?: boolean;\n}\n\nconst Menu = React.forwardRef<HTMLUListElement, MenuProps>((props, ref) => {\n const {\n prefixCls = 'w-menu',\n className,\n children,\n bordered,\n theme = 'light',\n inlineIndent = 10,\n inlineCollapsed,\n ...htmlProps\n } = props;\n const store = useMenuContext();\n const cls = useMemo(\n () =>\n [\n prefixCls,\n bordered ? 'w-bordered' : null,\n inlineCollapsed ? `${prefixCls}-inline-collapsed` : null,\n theme ? `${prefixCls}-${theme}` : null,\n className,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n [prefixCls, bordered, inlineCollapsed, theme, className],\n );\n\n return (\n <MenuContext.Provider value={store}>\n <MenuStyleBase\n {...htmlProps}\n params={{\n bordered,\n inlineCollapsed,\n theme,\n }}\n ref={ref}\n className={cls}\n data-menu=\"menu\"\n >\n {React.Children.map(children, (child: React.ReactNode, key) => {\n if (!React.isValidElement(child)) return child;\n const props: { inlineIndent?: number; inlineCollapsed?: boolean } = {};\n // Sub Menu\n if (child.props.children && child.type === (SubMenu as any)) {\n props.inlineIndent = inlineIndent;\n }\n return React.cloneElement(child, Object.assign({ ...props, theme }, child.props, { key: `${key}` }));\n })}\n </MenuStyleBase>\n </MenuContext.Provider>\n );\n});\n\nMenu.displayName = 'uiw.Menu';\n\ntype Menu = typeof Menu & {\n Item: typeof MenuItem;\n SubMenu: typeof SubMenu;\n Divider: typeof MenuDivider;\n};\n\n(Menu as Menu).Item = MenuItem;\n(Menu as Menu).SubMenu = SubMenu;\n(Menu as Menu).Divider = MenuDivider;\n\nexport default Menu as Menu;\n","import Menu from './Menu';\nexport * from './style';\nexport * from './Menu';\nexport * from './MenuItem';\nexport * from './SubMenu';\nexport * from './Divider';\n\nexport default Menu;\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { IconStyleBase, IconStyleBaseProps } from '@uiw/react-icon';\n\nexport const CascaderStyleTheme = {\n colorCascaderClose: '#393e48',\n};\nconst propsTheme = {\n defaultTheme: { ...CascaderStyleTheme },\n};\nexport interface CascaderStyleIconWarpProps\n extends IconStyleBaseProps,\n ThemeVariantValueOptions<typeof CascaderStyleTheme> {\n closebtn?: boolean;\n}\n\nexport const CascaderStyleIcon = styled.div<IconStyleBaseProps>`\n height: 1em;\n width: 1em;\n`;\n\nexport const CascaderStyleIconWarp = styled(IconStyleBase)<CascaderStyleIconWarpProps>`\n ${(props) =>\n props.closebtn &&\n css`\n & {\n font-size: 15px;\n margin-right: 1px;\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorCascaderClose')};\n }\n `}\n`;\n\nCascaderStyleIconWarp.defaultProps = {\n defaultTheme: CascaderStyleTheme,\n};\n","import React, { useState, useEffect, useMemo } from 'react';\nimport Input from '@uiw/react-input';\nimport { HTMLInputProps, IProps } from '@uiw/utils';\nimport Dropdown, { DropdownProps } from '@uiw/react-dropdown';\nimport Menu from '@uiw/react-menu';\nimport Icon from '@uiw/react-icon';\nimport { CascaderStyleIconWarp, CascaderStyleIcon } from './style';\nimport { Close } from '@uiw/icons/lib/Close';\nexport * from './style';\n\ntype ValueType = Array<string | number>;\ntype OptionType = { value: string | number; label: React.ReactNode; children?: Array<OptionType> };\ntype SearchOptionType = { label: string; options: Array<OptionType> };\n\nexport interface CascaderProps extends IProps, DropdownProps {\n size?: 'large' | 'default' | 'small';\n option?: Array<OptionType>;\n value?: ValueType;\n onChange?: (isSeleted: boolean, value: ValueType, selectedOptions: Array<OptionType>) => void;\n onSearch?: boolean | ((searchText: string) => void);\n allowClear?: boolean;\n placeholder?: string;\n disabled?: boolean;\n inputProps?: HTMLInputProps;\n expandTrigger: 'click' | 'hover';\n}\n\nfunction Cascader(props: CascaderProps) {\n const {\n value,\n onChange,\n onSearch,\n expandTrigger = 'click',\n size,\n disabled,\n allowClear,\n placeholder,\n prefixCls = 'w-cascader',\n className,\n style = { width: 200 },\n option = [],\n others,\n inputProps,\n } = props;\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const [innerIsOpen, setInnerIsOpen] = useState(false);\n const [selectedValue, setSelectedValue] = useState<Array<OptionType>>([]);\n const [selectIconType, setSelectIconType] = useState('');\n const [searchText, setSearchText] = useState<string>('');\n const [searchOn, setSearchOn] = useState(false);\n const [inputValue, setInputValue] = useState('');\n const [searchOption, setSearchOption] = useState<Array<SearchOptionType>>();\n\n useEffect(() => {\n if (onSearch) {\n const tempOptions: Array<SearchOptionType> = [];\n iteratorOption(option, (opt) => {\n const label = opt.map((m) => m.label).join(' / ');\n tempOptions.push({ label, options: opt });\n });\n setSearchOption(tempOptions);\n }\n }, [onSearch]);\n\n const iteratorOption = (\n options: Array<OptionType>,\n cb: (opt: Array<OptionType>) => void,\n opts: Array<OptionType> = [],\n ) => {\n options.map((opt) => {\n const optsTemp = [...opts, opt];\n if (opt.children) {\n iteratorOption(opt.children, cb, optsTemp);\n } else {\n cb?.(optsTemp);\n }\n });\n };\n\n useEffect(() => {\n if (value) {\n const valueTemp: Array<OptionType> = [];\n let optChildren = option;\n value?.map((item) => {\n const findOpt = optChildren.find((opt) => opt.value === item);\n optChildren = findOpt?.children || [];\n valueTemp.push({ label: item, value: item, ...findOpt });\n });\n setSelectedValue(valueTemp);\n }\n }, [value]);\n\n function onVisibleChange(isOpen: boolean) {\n setInnerIsOpen(isOpen);\n }\n\n function renderSelectIcon(type: string) {\n let selectIconType;\n if (type === 'enter' && allowClear && selectedValue.length > 0) {\n selectIconType = 'close';\n } else {\n selectIconType = '';\n }\n setSelectIconType(selectIconType);\n }\n\n const searchItemClick = (options: Array<OptionType>) => {\n setSearchText('');\n setInnerIsOpen(false);\n handelChange(false, options);\n };\n\n const handleItemClick = (optionsItem: OptionType, level: number) => {\n selectedValue.splice(level, selectedValue.length - level, optionsItem);\n if (!optionsItem.children) setInnerIsOpen(false);\n\n handelChange(true, selectedValue);\n };\n\n const handelChange = (isSeleted: boolean, selectedValue: Array<OptionType>) => {\n setSelectedValue([...selectedValue]);\n const value = selectedValue.map((item) => item.value);\n onChange?.(isSeleted, value, selectedValue);\n };\n\n const onClear = (e: React.MouseEvent<any, MouseEvent>) => {\n e.stopPropagation();\n handelChange(false, []);\n };\n\n const handelSearch = (searchText: string) => {\n setSearchText(searchText);\n };\n\n const inputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!innerIsOpen) {\n setInnerIsOpen(!innerIsOpen);\n }\n const value = e.target.value;\n onSearch && handelSearch(value);\n };\n\n const widths = (style?.width as number) * 0.7 || undefined;\n\n const trigger = useMemo(() => {\n return (cb: Function, click?: boolean) => {\n const triggers: Record<'onClick' | 'onMouseOver', () => void> = { onClick: () => {}, onMouseOver: () => {} };\n const callback = () => {\n cb();\n };\n if (expandTrigger === 'click' || click) {\n triggers.onClick = callback;\n } else if (expandTrigger === 'hover') {\n triggers.onMouseOver = callback;\n }\n return triggers;\n };\n }, []);\n\n const OptionIter = (option: Array<OptionType>, level: number = 0) => {\n if (!option) return;\n\n return (\n <Menu\n key={level}\n bordered\n style={{\n minHeight: 25,\n minWidth: widths,\n overflowY: 'scroll',\n width: widths,\n }}\n >\n {!option || option.length === 0 ? (\n <div style={{ color: '#c7c7c7', fontSize: 12 }}>{'没有数据'}</div>\n ) : (\n option.map((opt, index) => {\n const active = selectedValue[level]?.value === opt.value;\n return (\n <Menu.Item\n active={active}\n key={index}\n text={opt.label}\n addonAfter={opt.children ? <Icon type=\"right\" /> : undefined}\n {...trigger(() => {\n handleItemClick(opt, level);\n }, !opt.children?.length)}\n />\n );\n })\n )}\n </Menu>\n ) as JSX.Element;\n };\n\n useEffect(() => {\n const inputValue = selectedValue.map((opt) => opt.label).join(' / ');\n setInputValue(inputValue);\n }, [selectedValue]);\n\n return (\n <Dropdown\n className={cls}\n trigger=\"click\"\n style={{ marginTop: 5 }}\n overlayStyl={{ width: 100 }}\n disabled={disabled}\n {...others}\n onVisibleChange={onVisibleChange}\n isOpen={innerIsOpen}\n menu={\n !searchText ? (\n <div style={{ display: 'flex' }}>\n {new Array(selectedValue.length + 1)\n .fill(0)\n .map((_, index) => {\n const options = index ? selectedValue[index - 1]?.children! : option;\n return OptionIter(options, index);\n })\n .filter((m) => !!m)}\n </div>\n ) : (\n <Menu\n bordered\n style={{\n minHeight: 25,\n minWidth: style?.width,\n overflowY: 'scroll',\n width: style?.width,\n }}\n >\n {!searchOption || searchOption.length === 0 ? (\n <div style={{ color: '#c7c7c7', fontSize: 12 }}>{'没有数据'}</div>\n ) : (\n searchOption\n .filter((opt) => opt.label.includes(searchText.trim()))\n .map((opt, index) => {\n return <Menu.Item key={index} text={opt.label} onClick={() => searchItemClick(opt.options)} />;\n })\n )}\n </Menu>\n )\n }\n >\n <span onMouseLeave={() => renderSelectIcon('leave')} onMouseOver={() => renderSelectIcon('enter')}>\n <Input\n {...inputProps}\n value={searchOn ? searchText : inputValue}\n onChange={inputChange}\n size={size}\n disabled={disabled}\n placeholder={searchOn ? inputValue : placeholder}\n style={style}\n onFocus={() => onSearch && setSearchOn(true)}\n onBlur={() => onSearch && setSearchOn(false)}\n readOnly={!onSearch}\n addonAfter={\n <span style={{ width: 'auto' }}>\n {!disabled && selectIconType === 'close' && (\n <CascaderStyleIconWarp closebtn className={`${prefixCls}-close`} onClick={onClear}>\n <CascaderStyleIcon as={Close} />\n </CascaderStyleIconWarp>\n )}\n </span>\n }\n />\n </span>\n </Dropdown>\n );\n}\n\nexport default Cascader;\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue, IProps, HTMLInputProps, HTMLDivProps } from '@uiw/utils';\n\nexport const RadioStyleTheme = {\n backgroundColorBase: '#fff',\n fontSizeSamll: '12px',\n colorRadioDefault: '#c7c7c7',\n colorNotCheckedNotDisabledDefault: '#efefef',\n widthRadioDefault: '16px',\n heightRadioDefault: '16px',\n borderRadioDefault: '1.2px solid #d7d7d7',\n borderRadioCheckedDefault: '5px solid #008ef0',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof RadioStyleTheme>;\n\nexport interface RadioBaseProps extends ThemeVar, IProps, Omit<HTMLInputProps, 'size'> {\n size?: 'large' | 'default' | 'small';\n checked: boolean;\n disabled: boolean;\n}\n\nexport const RadioInputStyleBase = styled.input``;\n\nconst RadioText = styled.div<HTMLDivProps>`\n vertical-align: middle;\n display: inline-block;\n margin-left: 4px;\n margin-right: 5px;\n font-size: 14px;\n`;\n\nconst RadioBase = styled.label<RadioBaseProps>`\n ${(props) => {\n const disabled = props?.disabled;\n return css`\n color: ${disabled && getThemeVariantValue({ ...props, defaultTheme: RadioStyleTheme }, 'colorRadioDefault')};\n cursor: ${disabled && 'not-allowed'};\n vertical-align: middle;\n display: inline-block;\n font-size: ${getThemeVariantValue({ ...props, defaultTheme: RadioStyleTheme }, 'fontSizeSamll')};\n input[type='radio'] {\n outline: none;\n position: relative;\n width: ${getThemeVariantValue({ ...props, defaultTheme: RadioStyleTheme }, 'widthRadioDefault')};\n height: ${getThemeVariantValue({ ...props, defaultTheme: RadioStyleTheme }, 'heightRadioDefault')};\n background-clip: border-box;\n appearance: none;\n margin: -0.15px 0.6px 0 0;\n border-radius: 50%;\n background-color: ${getThemeVariantValue({ ...props, defaultTheme: RadioStyleTheme }, 'backgroundColorBase')};\n border: ${getThemeVariantValue({ ...props, defaultTheme: RadioStyleTheme }, 'borderRadioDefault')};\n transition: border 0.25s, box-shadow 0.25s;\n cursor: ${disabled && 'not-allowed'};\n &:not(:checked):not(:disabled):not(.disabled) {\n background-color: ${disabled &&\n getThemeVariantValue({ ...props, defaultTheme: RadioStyleTheme }, 'colorNotCheckedNotDisabledDefault')};\n &:hover,\n &:focus {\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.25);\n }\n }\n &:checked {\n border: ${disabled &&\n getThemeVariantValue({ ...props, defaultTheme: RadioStyleTheme }, 'borderRadioCheckedDefault')};\n &:focus {\n box-shadow: 0 0 0 2px rgba(0, 142, 240, 0.25);\n }\n }\n }\n `;\n }}\n`;\nconst RadioGroupBase = styled.div`\n font-size: 0;\n`;\n\n// RadioBase.defaultProps = {\n// defaultTheme: RadioStyleTheme,\n// };\n\nexport { RadioText, RadioBase, RadioGroupBase };\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLInputProps } from '@uiw/utils';\nimport { RadioText, RadioBase, RadioInputStyleBase } from './style';\n\n/**\n * Constructs a type by picking all properties from `HTMLInputProps` and then removing `size`.\n * Omit: https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk\n */\nexport interface RadioAbstractProps extends IProps, Omit<HTMLInputProps, 'size'> {\n size?: 'large' | 'default' | 'small';\n checked?: boolean;\n disabled?: boolean;\n onChange?: (even: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const RadioAbstract = React.forwardRef<HTMLInputElement, RadioAbstractProps>((props, ref) => {\n const {\n prefixCls = 'w-radio',\n type = 'radio',\n disabled = false,\n value = '',\n className,\n style,\n children,\n size,\n checked: prChecked = false,\n onChange,\n ...other\n } = props;\n\n const [checked, setChecked] = useState(prChecked);\n const [prevChecked, setPrevChecked] = useState<boolean>();\n if (prChecked !== prevChecked) {\n setPrevChecked(prChecked);\n }\n useMemo(() => {\n if (prChecked !== prevChecked) {\n setChecked(prChecked);\n }\n }, [prevChecked]);\n\n const cls = [prefixCls, className, disabled ? 'disabled' : null, size ? `${prefixCls}-${size}` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n useMemo(() => {\n if (checked !== props.checked) {\n setChecked(!!props.checked);\n }\n }, [props.checked]);\n\n function handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n e.persist();\n setChecked(e.target.checked);\n onChange && onChange(e);\n }\n\n const label = children || value;\n\n return (\n <RadioBase {...{ className: cls, style, disabled, size, checked, label }}>\n <RadioInputStyleBase {...{ ...other, type, disabled, value, checked }} onChange={handleChange} ref={ref} />\n {label && <RadioText>{label}</RadioText>}\n </RadioBase>\n );\n});\n","import React from 'react';\nimport { RadioAbstract, RadioAbstractProps } from './RadioAbstract';\n\nexport interface RadioProps extends RadioAbstractProps {}\n\nexport const Radio = React.forwardRef<HTMLInputElement, RadioProps>((props, ref) => {\n return <RadioAbstract ref={ref} {...props} />;\n});\nexport default Radio;\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { RadioProps } from './Radio';\nimport ButtonGroup from '@uiw/react-button-group';\nimport { RadioGroupBase } from './style';\n\nexport interface RadioGroupProps extends IProps, HTMLDivProps {\n name?: RadioProps['name'];\n value?: RadioProps['value'];\n onChange?: RadioProps['onChange'];\n}\n\nexport const RadioGroup = React.forwardRef<HTMLDivElement, RadioGroupProps>((props, ref) => {\n const { prefixCls = 'w-radio-group', className, name, value, onChange, children, ...other } = props;\n return (\n <RadioGroupBase {...other} ref={ref} className={[prefixCls, className].filter(Boolean).join(' ').trim()}>\n <ButtonGroup>\n {React.Children.toArray(children).map((child) => {\n if (!child) return;\n if (!React.isValidElement(child)) return child;\n return React.cloneElement(child, {\n ...(child.props || {}),\n ...{\n checked: child.props.value === value,\n name,\n onChange,\n },\n });\n })}\n </ButtonGroup>\n </RadioGroupBase>\n );\n});\nexport default RadioGroup;\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLButtonProps } from '@uiw/utils';\nimport Button from '@uiw/react-button';\n\n/**\n * Constructs a type by picking all properties from `HTMLInputProps` and then removing `size`.\n * Omit: https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk\n */\nexport interface RadioButtonProps extends IProps, Omit<HTMLButtonProps, 'size'> {\n size?: 'large' | 'default' | 'small';\n checked?: boolean;\n disabled?: boolean;\n onChange?: (even: any) => void;\n}\n\nexport const RadioButton = React.forwardRef<any, RadioButtonProps>((props, ref) => {\n const {\n prefixCls = 'w-radio',\n type = 'button',\n disabled = false,\n value = '',\n className,\n style,\n children,\n size = 'small',\n checked: prChecked = false,\n onChange,\n ...other\n } = props;\n\n const [checked, setChecked] = useState(prChecked);\n const [prevChecked, setPrevChecked] = useState<boolean>();\n if (prChecked !== prevChecked) {\n setPrevChecked(prChecked);\n }\n useMemo(() => {\n if (prChecked !== prevChecked) {\n setChecked(prChecked);\n }\n }, [prevChecked]);\n\n const cls = [prefixCls, className, disabled ? 'disabled' : null, size ? `${prefixCls}-${size}` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n useMemo(() => {\n if (checked !== props.checked) {\n setChecked(!!props.checked);\n }\n }, [props.checked]);\n\n function handleChange(e: React.MouseEvent<HTMLButtonElement, MouseEvent> & MouseEvent) {\n e.persist();\n if (!checked) {\n setChecked(!checked);\n onChange && onChange(value);\n }\n }\n\n const label = children || value;\n\n return (\n <Button\n {...{ ...other, className: cls, style, disabled, value }}\n type={checked ? 'primary' : 'light'}\n ref={ref}\n onClick={handleChange}\n >\n {label}\n </Button>\n );\n});\n\nexport default RadioButton;\n","import styled, { css } from 'styled-components';\nimport { RadioAbstractProps, RadioText } from '@uiw/react-radio';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const CheckboxStyleTheme = {\n boxShadowCheckboxChecked: 'inset 0 0 0 1px rgb(0, 142, 240)',\n backgroundColorCheckboxChecked: '#008df8',\n backgroundColorCheckboxBase: '#d7d7d7',\n colorCheckboxDisabled: '#6e6e6e',\n borderColorCheckboxChecked: '#fff',\n boxShadowCheckboxHover: 'inset 0 1px 2px rgba(16, 22, 26, 0.35)',\n};\nconst propsTheme = {\n defaultTheme: { ...CheckboxStyleTheme },\n};\nexport interface CheckboxStyleBaseProps\n extends RadioAbstractProps,\n ThemeVariantValueOptions<typeof CheckboxStyleTheme> {\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nconst disabledCss = ({ disabled, ...rest }: CheckboxStyleBaseProps) => {\n return (\n disabled &&\n css`\n input[type='checkbox'] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n ${RadioText} {\n color: ${() => getThemeVariantValue({ ...rest }, 'colorCheckboxDisabled')};\n }\n `\n );\n};\n\nconst indeterminateCss = ({ indeterminate, ...rest }: CheckboxStyleBaseProps) => {\n return (\n indeterminate &&\n css`\n input[type='checkbox']:checked {\n background-color: transparent;\n box-shadow: ${() => getThemeVariantValue({ ...rest }, 'boxShadowCheckboxChecked')};\n &:after {\n display: inline-block;\n background-color: ${() => getThemeVariantValue({ ...rest }, 'backgroundColorCheckboxChecked')};\n box-sizing: inherit;\n transform: rotate(0);\n position: relative;\n top: -1px;\n right: -3px;\n border-width: 0;\n border-radius: 2px;\n height: 8px;\n width: 8px;\n }\n }\n `\n );\n};\n\nconst CheckGroupStyleBase = styled.div<CheckboxStyleBaseProps>`\n vertical-align: middle;\n font-size: 0;\n cursor: pointer;\n white-space: nowrap;\n`;\n\nconst CheckboxStyleBase = styled.div<CheckboxStyleBaseProps>`\n display: inline-block;\n input[type='checkbox'] {\n vertical-align: middle;\n outline: none;\n width: 14px;\n height: 14px;\n font-size: 14px;\n line-height: 14px;\n border-radius: 2px;\n background-clip: border-box;\n appearance: none;\n margin: 0 !important;\n background-color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorCheckboxBase')};\n transition: background-color 0.3s, box-shadow 0.3s;\n &:after {\n content: '';\n box-sizing: inherit;\n }\n &:not(:checked):not(:disabled):not(.disabled) {\n &:focus,\n &:hover {\n box-shadow: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowCheckboxHover')};\n }\n }\n }\n ${disabledCss}\n ${indeterminateCss}\n input[type='checkbox']:checked {\n background-color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorCheckboxChecked')};\n &:after {\n transition: background-color 0.2s ease-in;\n display: inline-block;\n border: solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCheckboxChecked')};\n border-width: 0 2px 2px 0;\n transform: rotate(33deg);\n position: relative;\n top: -1px;\n right: -4px;\n height: 10px;\n width: 6px;\n }\n }\n ${RadioText} {\n display: inline-block;\n padding-left: 4px;\n margin-right: 5px;\n font-size: 14px;\n }\n`;\n\nexport { CheckGroupStyleBase, CheckboxStyleBase };\n","import React, { useMemo, useRef } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { CheckGroupStyleBase } from './style';\n\nexport type Value = string | number;\nexport interface CheckboxGroupPorps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n value?: Value[];\n name?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>, values: Value[]) => void;\n}\n\nexport const CheckboxGroup = React.forwardRef<HTMLDivElement, CheckboxGroupPorps>((props, ref) => {\n const { prefixCls = 'w-checkbox-group', className, name, value, onChange, ...other } = props;\n const valueRef = useRef<Value[]>([]);\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const childs = React.Children.toArray(props.children);\n useMemo(() => (valueRef.current = value || []), [value]);\n return (\n <CheckGroupStyleBase {...other} className={cls} ref={ref}>\n {React.Children.map(childs, (element: React.ReactNode) => {\n if (!React.isValidElement(element)) return;\n if (\n Array.isArray(value) &&\n element &&\n element.props &&\n element.props.value &&\n value.includes(element.props.value)\n ) {\n if (!valueRef.current.includes(element.props.value)) {\n valueRef.current.push(element.props.value);\n }\n }\n return React.cloneElement(\n element,\n Object.assign({}, element.props, {\n name,\n checked: valueRef.current.includes(element.props.value),\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.type && e.target.type !== 'checkbox') return;\n const checked = e.target.checked;\n const include = valueRef.current.includes(element.props.value);\n if (!include && checked) {\n valueRef.current.push(element.props.value);\n } else if (include && !checked) {\n valueRef.current = valueRef.current.filter((val) => val !== element.props.value);\n }\n onChange && onChange(e, valueRef.current);\n },\n }),\n );\n })}\n </CheckGroupStyleBase>\n );\n});\n","import React from 'react';\nimport { RadioAbstract, RadioAbstractProps } from '@uiw/react-radio';\nimport { CheckboxGroup } from './Group';\nimport { CheckboxStyleBase } from './style';\n\nexport interface CheckboxProps extends RadioAbstractProps {\n indeterminate?: boolean;\n}\n\nfunction InternalCheckbox(props: CheckboxProps, ref: React.ForwardedRef<HTMLInputElement>) {\n const {\n className,\n prefixCls = 'w-checkbox',\n type = 'checkbox',\n indeterminate = false,\n disabled = false,\n value = '',\n ...other\n } = props;\n\n const cls = [className, indeterminate && 'indeterminate'].filter(Boolean).join(' ').trim();\n return (\n <CheckboxStyleBase\n as={RadioAbstract}\n ref={ref}\n {...other}\n type={type}\n prefixCls={prefixCls}\n disabled={disabled}\n value={value}\n className={cls}\n />\n );\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(InternalCheckbox);\ntype Checkbox = typeof Checkbox & {\n Group: typeof CheckboxGroup;\n};\n\n(Checkbox as Checkbox).Group = CheckboxGroup;\n\nexport default Checkbox as Checkbox;\n","import Checkbox from './Checkbox';\n\nexport * from './Checkbox';\nexport * from './Group';\nexport * from './style';\n\nexport default Checkbox;\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { IconStyleBase } from '@uiw/react-icon';\n\nexport const CollapseStyleTheme = {\n fontSizeDefault: '14px',\n backgroundColorBase: '#fff',\n borderColorCollapseBase: '#d9d9d9',\n colorCollapsePanelBase: 'rgba(0, 0, 0, 0.65)',\n\n colorCollapseStyleHeaderBase: 'rgba(0, 0, 0, 0.85)',\n backgroundColorCollapseStyleHeaderBase: '#fafafa',\n colorCollapseStyleHeaderDisabled: 'rgba(0, 0, 0, 0.25)',\n backgroundColorCollapseStyleHeaderDisabled: '#f7f7f7',\n};\nconst propsTheme = {\n defaultTheme: { ...CollapseStyleTheme },\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof CollapseStyleTheme>;\ntype HTMLDivElements = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n\ninterface CollapseStyleWarpProps extends ThemeVar, HTMLDivElements {\n bordered?: boolean;\n}\n\ninterface CollapseStyleItemWarpProps extends ThemeVar, HTMLDivElements {\n isActive?: boolean;\n}\n\ninterface CollapseStyleItemPanelProps extends ThemeVar, HTMLDivElements {\n in?: boolean;\n prefixCls?: string;\n bordered?: boolean;\n}\n\ninterface CollapseStyleHeaderProps extends ThemeVar, HTMLDivElements {\n isActive?: boolean;\n disabled?: boolean;\n}\n\ninterface CollapseStyleHeaderTitleProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> {}\n\nexport const CollapseStyleWarp = styled.div<CollapseStyleWarpProps>`\n border-radius: 4px;\n line-height: 16px;\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeDefault')};\n background-color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorBase')};\n border: 1px solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCollapseBase')};\n overflow: hidden;\n\n ${(props) =>\n props.bordered &&\n css`\n border: 0;\n background-color: transparent;\n &:after,\n &:before {\n border: 0;\n }\n `}\n`;\n\nexport const CollapseStyleItem = styled.div<CollapseStyleItemWarpProps>`\n &:last-child {\n border-radius: 0 0 5px 5px;\n border-bottom: 0 solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCollapseBase')};\n ${(props) =>\n !props.isActive &&\n css`\n border-top: 0 solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCollapseBase')};\n `}\n }\n`;\n\nexport const CollapseStyleHeader = styled.div<CollapseStyleHeaderProps>`\n border-radius: 0 0 5px 5px;\n padding: 8px 10px;\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorCollapseStyleHeaderBase')};\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorCollapseStyleHeaderBase')};\n cursor: pointer;\n position: relative;\n transition: all 0.3s;\n z-index: 1;\n display: flex;\n & > ${IconStyleBase}:first-child {\n margin-top: -2px;\n margin-right: 5px;\n transform: scale(0.85) rotate(-90deg);\n transition: transform 0.24s;\n svg {\n display: block;\n }\n }\n & > * {\n vertical-align: middle;\n display: inline-block;\n }\n\n ${(props) =>\n props.isActive &&\n css`\n & > ${IconStyleBase}:first-child {\n transform: scale(0.85) rotate(0);\n }\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: not-allowed;\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorCollapseStyleHeaderDisabled')};\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorCollapseStyleHeaderDisabled')};\n `}\n`;\n\nexport const CollapseStyleItemPanel = styled.div<CollapseStyleItemPanelProps>`\n overflow: hidden;\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorCollapsePanelBase')};\n padding: 0 10px;\n &:before,\n &:after {\n content: '';\n height: 10px;\n display: block;\n overflow: hidden;\n border: 0;\n }\n &:before {\n border-top: 1px solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCollapseBase')};\n margin: 0 -10px;\n z-index: 1;\n position: relative;\n\n &:last-child {\n border-top: 0 solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCollapseBase')};\n }\n }\n\n &:after {\n border-bottom: 1px solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorCollapseBase')};\n margin: 0 -10px;\n z-index: 1;\n position: relative;\n }\n\n ${(props) =>\n props.bordered &&\n css`\n border: 0;\n &:after,\n &:before {\n border: 0;\n }\n `}\n &:last-child {\n border: 0;\n }\n`;\n\nexport const CollapseStyleHeaderTitle = styled.span<CollapseStyleHeaderTitleProps>`\n flex: 1;\n`;\n\nexport const CollapseStyleHeaderExtra = styled.div``;\n\nexport default CollapseStyleWarp;\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Panel from './Panel';\nimport CollapseStyleWarp from './style';\n\nexport interface CollapseProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n accordion?: boolean;\n activeKey?: string | string[];\n bordered?: boolean;\n showArrow?: boolean;\n onChange?: (activeKey: string[]) => void;\n}\n\nexport interface CollapseState {\n activeKey: string[];\n}\n\nfunction toArray(activeKey: CollapseProps['activeKey']) {\n let currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey;\n}\n\nfunction InternalCollapse(props: CollapseProps, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-collapse',\n className,\n children,\n accordion = false,\n bordered,\n showArrow = true,\n activeKey: propsActiveKey,\n onChange,\n ...resetProps\n } = props;\n const [activeKey, setActiveKey] = useState(toArray(propsActiveKey));\n const cls = [prefixCls, className, bordered ? 'w-noborder' : null].filter(Boolean).join(' ').trim();\n function onItemClick(key: string) {\n let keys = activeKey;\n if (accordion) {\n keys = keys[0] === key ? [] : [key];\n } else {\n keys = [...keys];\n const index = keys.indexOf(key);\n const isActive = index > -1;\n if (isActive) {\n keys.splice(index, 1);\n } else {\n keys.push(key);\n }\n }\n setActiveKey(keys);\n }\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n setActiveKey(toArray(propsActiveKey));\n }\n }, [propsActiveKey]);\n useMemo(() => {\n if (propsActiveKey !== activeKey) {\n onChange && onChange(activeKey);\n }\n }, [activeKey, propsActiveKey]);\n return (\n <CollapseStyleWarp className={cls} {...resetProps} ref={ref} bordered={bordered}>\n {React.Children.map(children, (child: any, index) => {\n // 如果没有密钥提供,请使用面板顺序作为默认密钥\n const key = child.key || String(index);\n const { disabled } = child.props;\n let isActive = false;\n if (accordion) {\n // 手风琴模式下默认选择第一个\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n const childProps = {\n prefixCls,\n isActive,\n disabled,\n bordered,\n showArrow,\n onItemClick: disabled ? () => {} : () => onItemClick(key),\n ...child.props,\n };\n return React.cloneElement(child, childProps);\n })}\n </CollapseStyleWarp>\n );\n}\n\nconst Collapse = React.forwardRef<HTMLDivElement, CollapseProps>(InternalCollapse);\ntype Collapse = typeof Collapse & {\n Panel: typeof Panel;\n};\n\n(Collapse as Collapse).Panel = Panel;\n\nexport default Collapse as Collapse;\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { TransitionStatus } from 'react-transition-group/Transition';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport {\n CollapseStyleHeader,\n CollapseStyleHeaderExtra,\n CollapseStyleHeaderTitle,\n CollapseStyleItem,\n CollapseStyleItemPanel,\n} from './style';\n\nexport interface CollapsePanelProps extends IProps, HTMLDivProps {\n disabled?: boolean;\n bordered?: boolean;\n showArrow?: boolean;\n isActive?: boolean;\n header?: React.ReactNode;\n icon?: IconProps['type'];\n extra?: React.ReactNode;\n onItemClick?: (evn: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport default function Panel(props: CollapsePanelProps) {\n const {\n prefixCls = 'w-collapse',\n className,\n icon = 'down',\n children,\n isActive,\n onItemClick,\n disabled = false,\n showArrow,\n header,\n bordered,\n extra,\n ...resetProps\n } = props;\n const cls = [\n prefixCls ? `${prefixCls}-item` : null,\n className,\n isActive ? `${prefixCls}-active` : null,\n disabled ? `${prefixCls}-disabled` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const iconRender = typeof icon === 'string' ? <Icon type={icon} /> : icon;\n\n const childStyle = (child: React.ReactElement) => {\n return Object.assign({}, child && child.props ? child.props.style : {}, {\n transitionDuration: '300ms',\n });\n };\n function getInstance(status: TransitionStatus, instance: any) {\n if (!instance) {\n return;\n }\n if (status === 'exited' || status === 'exiting') {\n instance.style.height = '1px';\n }\n if (status === 'entered' || status === 'entering') {\n instance.style.height = `${instance.scrollHeight}px`;\n }\n }\n\n return (\n <CollapseStyleItem {...resetProps} className={cls}>\n <CollapseStyleHeader\n className={`${prefixCls}-header`}\n isActive={isActive}\n disabled={disabled}\n onClick={onItemClick}\n >\n {showArrow && iconRender}\n <CollapseStyleHeaderTitle className={`${prefixCls}-title`}>{header}</CollapseStyleHeaderTitle>\n {extra && <CollapseStyleHeaderExtra className={`${prefixCls}-extra`}>{extra}</CollapseStyleHeaderExtra>}\n </CollapseStyleHeader>\n <CollapseStyleItemPanel\n as={CSSTransition}\n bordered={bordered}\n in={isActive}\n unmountOnExit={false}\n timeout={300}\n classNames={`${prefixCls}-panel`}\n >\n {(status: TransitionStatus) =>\n React.cloneElement(\n <CollapseStyleItemPanel in={isActive} bordered={bordered}>\n {children}\n </CollapseStyleItemPanel>,\n {\n className: `${prefixCls}-panel`,\n style: childStyle(children as React.ReactElement),\n ref: (e: any) => getInstance(status, e),\n },\n )\n }\n </CollapseStyleItemPanel>\n </CollapseStyleItem>\n );\n}\n","import Collapse from './Collapse';\nexport * from './style';\nexport * from './Collapse';\nexport * from './Panel';\nexport * from './style';\nexport default Collapse;\n","import React from 'react';\nimport copy from '@uiw/copy-to-clipboard';\nimport { IProps, HTMLSpanProps } from '@uiw/utils';\nimport styled from 'styled-components';\n\nexport const CopyToClipbordSelect = styled.span`\n user-select: text;\n display: none;\n`;\n\nexport const CopyToClipbordWarp = styled.span`\n cursor: pointer;\n`;\n\nexport interface CopyToClipboardProps extends IProps, Omit<HTMLSpanProps, 'onClick'> {\n text?: string;\n onClick?: (text: string, isCopy: boolean, event: React.MouseEvent<HTMLElement>) => void;\n}\n\nexport default function CopyToClipboard<T>(props: CopyToClipboardProps & T) {\n const {\n prefixCls = 'w-copy-to-clipboard',\n className,\n text = '',\n children,\n onClick = () => null,\n ...resetProps\n } = props;\n function handleClick(e: React.MouseEvent<HTMLElement>) {\n if (!text) {\n return onClick('', false, e);\n }\n copy(text, (isCopy: boolean) => {\n onClick(text, isCopy, e);\n });\n }\n const otherProps = {\n ...resetProps,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onClick: handleClick,\n };\n return (\n <CopyToClipbordWarp {...otherProps}>\n <CopyToClipbordSelect className={`${prefixCls}-select`}>{text}</CopyToClipbordSelect>\n {children}\n </CopyToClipbordWarp>\n );\n}\n","import { getThemeVariantValue, HTMLDivProps, ThemeVariantValueOptions } from '@uiw/utils';\nimport styled, { css } from 'styled-components';\nimport { DatePickerProps } from '@uiw/react-date-picker';\nimport { InputProps, InputStyleBase } from '@uiw/react-input';\nimport { IconStyleBase, IconStyleBaseProps } from '@uiw/react-icon';\n\nexport const DateInputStyleTheme = {\n fillDateInputCloseBase: '#a5a5a5',\n fillDateInputCloseHover: '#393e48',\n\n borderRadiusDefault: '3px',\n colorDateInputStyleBase: '#393e48',\n backgroundColorBase: '#fff',\n backgroundColorDateInputDisabled: '#dddddd',\n colorDateInputDisabled: '#a5a5a5',\n boxShadowDateInputBase:\n '0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15),inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n boxShadowDateInputFocus: '0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n boxShadowDateInputHover: '0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n boxShadowDateInputFocusHover:\n ' 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2);',\n};\n\nconst propsTheme = {\n defaultTheme: { ...DateInputStyleTheme },\n};\n\nexport interface DateInputDatePickerPopoverProps extends DatePickerProps {}\nexport const DateInputStyleDatePickerPopover = styled.div<DateInputDatePickerPopoverProps>`\n box-shadow: 0 0 0 0;\n`;\n\nexport interface DateInputStyleBaseProps extends InputProps {}\nexport const DateInputStyleBase = styled.input<DateInputStyleBaseProps>`\n display: inline-block;\n ${(props) =>\n props.disabled &&\n css`\n &::before {\n cursor: not-allowed;\n content: ' ';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n }\n `}\n`;\n\nexport interface DateInputIconStyleWarpProps\n extends IconStyleBaseProps,\n ThemeVariantValueOptions<typeof DateInputStyleTheme> {\n closebtn?: boolean;\n}\n\nexport const DateInputIconStyleWarp = styled(IconStyleBase)<DateInputIconStyleWarpProps>`\n ${(props) =>\n props.closebtn &&\n css`\n & {\n display: flex;\n margin: 0 3px;\n fill: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fillDateInputCloseBase')};\n cursor: pointer;\n &:hover {\n fill: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fillDateInputCloseHover')};\n }\n }\n `}\n`;\n\nexport interface DateInputIconProps {\n spin?: boolean;\n}\nexport const DateInputIcon = styled.div<DateInputIconProps>`\n height: 1em;\n width: 1em;\n`;\n\nexport interface DateTimeInputProps extends HTMLDivProps, ThemeVariantValueOptions<typeof DateInputStyleTheme> {}\n\nexport const DateInputRangeStyleWarp = styled.div<DateTimeInputProps>`\n display: flex;\n justify-content: space-between;\n\n input {\n box-shadow: none;\n padding: 0px;\n height: 20px;\n }\n\n ${InputStyleBase} {\n &:hover {\n box-shadow: none !important;\n }\n\n &:focus {\n box-shadow: none !important;\n }\n }\n\n outline: none;\n border: none;\n align-items: center;\n border-radius: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderRadiusDefault')};\n box-shadow: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowDateInputBase')};\n box-sizing: border-box;\n background: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorBase')};\n min-height: 30px;\n margin: 0 !important;\n padding: 3px 10px 3px 10px;\n vertical-align: middle;\n line-height: 30px;\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDateInputStyleBase')};\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n appearance: none;\n\n &:focus {\n box-shadow: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowDateInputFocus')};\n }\n\n &:hover {\n box-shadow: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowDateInputHover')};\n }\n\n &:focus&:hover {\n box-shadow: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowDateInputFocusHover')};\n }\n\n &:disabled {\n box-shadow: none;\n background: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDateInputDisabled')};\n opacity: 0.75;\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDateInputDisabled')};\n cursor: not-allowed;\n resize: none;\n }\n`;\n","import React, { useEffect, useState } from 'react';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport DatePicker, { DatePickerProps } from '@uiw/react-date-picker';\nimport { IProps } from '@uiw/utils';\nimport formatter from '@uiw/formatter';\nimport {\n DateInputIcon,\n DateInputIconStyleWarp,\n DateInputRangeStyleWarp,\n DateInputStyleDatePickerPopover,\n} from './style/index';\nimport { SwapRight } from '@uiw/icons/lib/SwapRight';\nimport { Close } from '@uiw/icons/lib/Close';\n\nexport interface DateInputRangeProps<V> extends IProps, Omit<InputProps, 'onChange' | 'value'> {\n popoverProps?: PopoverProps;\n datePickerProps?: DatePickerProps;\n value?: Array<V>;\n format?: string;\n allowClear?: boolean;\n bodyStyle?: object;\n onChange?: (selectedDate?: Date, dateRange?: Array<Date | undefined>) => void;\n}\n\nexport function DateInputRange<V extends string | Date>(props: DateInputRangeProps<V>) {\n const {\n prefixCls = 'w-dateinputrange',\n bodyStyle = undefined,\n className,\n popoverProps,\n datePickerProps,\n allowClear = true,\n format = 'YYYY/MM/DD',\n onChange,\n value,\n ...inputProps\n } = props;\n\n const [dateRange, setDateRange] = useState<Array<Date | undefined>>([]);\n useEffect(() => {\n let valueTemp: Array<Date> = [];\n const propsValue = value;\n if (Array.isArray(propsValue) && !!propsValue?.length) {\n propsValue.forEach((date, index) => {\n valueTemp[index] = typeof propsValue[index] === 'string' ? new Date(date) : (date as Date);\n });\n }\n setDateRange(valueTemp);\n }, [JSON.stringify(value)]);\n\n function handleChange(cdate: Date | undefined, idx?: number) {\n const changeValue = [...dateRange];\n changeValue[idx!] = cdate;\n setDateRange(changeValue);\n onChange && onChange(cdate, changeValue);\n }\n\n return (\n <DateInputRangeStyleWarp\n className={[`${prefixCls}-contents`, `${prefixCls}-inner`].filter(Boolean).join(' ').trim()}\n style={{ width: 300, ...bodyStyle }}\n >\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n {...popoverProps}\n content={\n <DateInputStyleDatePickerPopover\n as={DatePicker}\n date={dateRange[0]}\n className={`${prefixCls}-popover`}\n {...datePickerProps}\n onChange={(selectedDate: Date | undefined) => handleChange(selectedDate, 0)}\n />\n }\n >\n <Input\n placeholder=\"请选择日期\"\n readOnly\n {...(inputProps as InputProps)}\n // onChange={(v) => console.log('v', v)}\n value={dateRange[0] ? formatter(format, dateRange[0]) : ''}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n <DateInputIconStyleWarp baseline style={{ fontSize: 21, top: -1, margin: '0px 8px 0px 5px' }}>\n <DateInputIcon as={SwapRight} />\n </DateInputIconStyleWarp>\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n {...popoverProps}\n content={\n <DateInputStyleDatePickerPopover\n as={DatePicker}\n date={dateRange[1]}\n className={`${prefixCls}-popover`}\n {...datePickerProps}\n onChange={(selectedDate: Date | undefined) => handleChange(selectedDate, 1)}\n />\n }\n >\n <Input\n placeholder=\"请选择日期\"\n readOnly\n {...(inputProps as InputProps)}\n value={dateRange[1] ? formatter(format, dateRange[1]) : ''}\n // onChange={(v) => console.log('v2', v)}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n\n {allowClear && dateRange.length > 0 && (\n <DateInputIconStyleWarp closebtn onClick={() => setDateRange([])} className={`${prefixCls}-close-btn`}>\n <DateInputIcon as={Close} />\n </DateInputIconStyleWarp>\n )}\n </DateInputRangeStyleWarp>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport DatePicker, { DatePickerProps } from '@uiw/react-date-picker';\nimport { Close } from '@uiw/icons/lib/Close';\nimport { IProps } from '@uiw/utils';\nimport formatter from '@uiw/formatter';\nimport {\n DateInputIcon,\n DateInputIconStyleWarp,\n DateInputStyleDatePickerPopover,\n DateInputStyleBase,\n} from './style/index';\nexport * from './style';\nexport * from './DateInputRange';\n\nexport interface DateInputProps extends IProps, Omit<InputProps, 'onChange' | 'value'> {\n popoverProps?: PopoverProps;\n datePickerProps?: DatePickerProps;\n value?: Date | string;\n format?: string;\n allowClear?: boolean;\n onChange?: (selectedDate?: Date) => void;\n autoClose?: boolean;\n}\n\nexport default function DateInput(props: DateInputProps) {\n const {\n prefixCls = 'w-dateinput',\n className,\n popoverProps,\n datePickerProps,\n allowClear = true,\n autoClose = false,\n format = 'YYYY/MM/DD',\n onChange,\n ...inputProps\n } = props;\n const [date, setDate] = useState(props.value);\n\n const value = date || '';\n inputProps.value = typeof value === 'string' ? value : formatter(format, value);\n\n useEffect(() => {\n if (props.value !== date) {\n setDate(props.value);\n }\n }, [props.value]);\n\n function handleChange(cdate?: Date) {\n autoClose && setIsOpen(false);\n setDate(cdate);\n onChange && onChange(cdate);\n }\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = (\n <DateInputIconStyleWarp closebtn className={`${prefixCls}-close-btn`} onClick={() => handleChange(undefined)}>\n <DateInputIcon as={Close} />\n </DateInputIconStyleWarp>\n );\n }\n\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n isOpen={isOpen}\n onVisibleChange={(open) => setIsOpen(open)}\n {...popoverProps}\n content={\n <DateInputStyleDatePickerPopover\n as={DatePicker}\n date={(value && new Date(value)) || undefined}\n className={`${prefixCls}-popover`}\n {...datePickerProps}\n onChange={(selectedDate: Date | undefined) => handleChange(selectedDate!)}\n />\n }\n >\n <DateInputStyleBase\n as={Input}\n placeholder=\"请选择日期\"\n readOnly\n {...(inputProps as InputProps)}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n );\n}\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\n\nexport interface DescriptionsItemProps extends IProps {\n label?: React.ReactNode;\n children: React.ReactNode;\n span?: number;\n}\n\nconst DescriptionsStyleItem: React.FC<DescriptionsItemProps> = ({ children }) => children as JSX.Element;\n\nexport default DescriptionsStyleItem;\n","/**\n * 最外层 bordered large small\n *\n * **/\nimport styled, { css } from 'styled-components';\nimport { getThemeVariantValue, HTMLDivProps, ThemeVariantValueOptions } from '@uiw/utils';\nimport React from 'react';\nimport { DescriptionsProps } from '..';\n\n/** Descriptions 主题变量**/\nexport const DescriptionsStyleTheme = {\n borderColorDescriptions: '#dfe2e5',\n fontSizeSmall: '12px',\n fontSizeDefault: '14px',\n fontSizeLarge: '16px',\n backgroundColorBase: '#fff',\n\n borderColorDescriptionsTh: '#fafafa',\n colorDescriptionsHead: 'rgba(0, 0, 0, 0.85)',\n\n colorDescriptionsConent: 'rgba(0, 0, 0, 0.65)',\n colorDescriptionsColon: 'rgba(0, 0, 0, 0.95)',\n};\nconst propsTheme = {\n defaultTheme: { ...DescriptionsStyleTheme },\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof DescriptionsStyleTheme>;\n\nexport interface DescriptionsStyleWarpProps extends HTMLDivProps, ThemeVar {\n bordered?: boolean;\n}\nexport const DescriptionsStyleWarp = styled.div<DescriptionsStyleWarpProps>`\n background: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorBase')};\n ${(props) =>\n props.bordered &&\n css`\n & {\n overflow: hidden;\n border-radius: 3px;\n border: 1px solid ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorDescriptions')};\n }\n `}\n`;\nexport interface DescriptionsStyleItemProps\n extends React.DetailedHTMLProps<React.ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement>,\n React.DetailedHTMLProps<React.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>,\n ThemeVar {\n bordered?: boolean;\n isLabel?: Boolean;\n isColon?: Boolean;\n isContent?: Boolean;\n}\nexport const DescriptionsStyleItem = styled.th<DescriptionsStyleItemProps>`\n ${(props) =>\n props.isLabel &&\n css`\n & {\n font-size: 14px;\n font-weight: normal;\n &::after {\n position: relative;\n top: -0.5px;\n margin: 0 8px 0 2px;\n content: ' ';\n }\n }\n `}\n\n ${(props) =>\n props.isColon &&\n css`\n &::after {\n content: ':';\n }\n & {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDescriptionsColon')};\n }\n `}\n ${(props) =>\n props.isContent &&\n css`\n & {\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeDefault')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDescriptionsConent')};\n }\n `}\n ${(props) =>\n props.bordered &&\n (props.isContent || props.isLabel) &&\n css`\n &&:last-child {\n border-right: none;\n }\n `}\n`;\nexport interface DescriptionsStyleTableProps\n extends React.DetailedHTMLProps<React.TableHTMLAttributes<HTMLTableElement>, HTMLTableElement>,\n ThemeVar {}\nexport const DescriptionsStyleTable = styled.table<DescriptionsStyleTableProps>`\n display: table !important;\n margin-bottom: 0 !important;\n margin: 0;\n border-spacing: 0;\n border-collapse: collapse;\n table-layout: fixed;\n width: 100%;\n`;\n\nexport interface DescriptionsStyleTableCaptionProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>,\n ThemeVar {\n bordered?: boolean;\n}\nexport const DescriptionsStyleTableCaption = styled.caption<DescriptionsStyleTableCaptionProps>`\n font-weight: bold;\n text-align: left;\n margin-bottom: 8px;\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorDescriptionsHead')};\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeLarge')};\n line-height: 1.5;\n ${(props) =>\n props.bordered &&\n css`\n & {\n margin-bottom: 0;\n padding: 7px 12px;\n }\n `}\n`;\n\nexport interface DescriptionsStyleTableRowProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>,\n ThemeVar {\n bordered?: boolean;\n}\nexport const DescriptionsStyleTableRow = styled.tr<DescriptionsStyleTableRowProps>`\n &&:nth-child(2n) {\n background-color: transparent;\n }\n ${(props) =>\n props.bordered &&\n css`\n & td {\n padding: 8px 12px;\n }\n `}\n ${(props) =>\n !props.bordered &&\n css`\n & td {\n padding-bottom: 8px;\n }\n `}\n`;\n\nexport interface DescriptionsStyleTableTbodyProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>,\n ThemeVar {\n bordered?: boolean;\n size?: DescriptionsProps['size'];\n}\n\nexport const DescriptionsStyleTableTbody = styled.tbody<DescriptionsStyleTableTbodyProps>`\n word-wrap: break-word;\n ${(props) =>\n props.bordered &&\n css`\n & {\n tr th {\n padding: 8px 12px;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorDescriptionsTh')};\n font-weight: normal;\n }\n tr th,\n tr td {\n border-top: 1px solid\n ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorDescriptions')};\n border-right: 1px solid\n ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorDescriptions')};\n }\n &:first-child tr:first-child th,\n &:first-child tr:first-child td {\n border-top: 0;\n }\n }\n `}\n ${(props) =>\n props.size === 'small' &&\n props.bordered &&\n css`\n & ${DescriptionsStyleTableRow} td,\n & ${DescriptionsStyleTableRow} th {\n padding: 4px 8px;\n }\n `}\n ${(props) =>\n props.size === 'large' &&\n props.bordered &&\n css`\n & ${DescriptionsStyleTableRow} ${DescriptionsStyleItem} {\n padding: 14px 16px;\n }\n `}\n`;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport { DescriptionsItemProps } from './DescriptionsItem';\nimport { RowProps } from './Row';\nimport { DescriptionsStyleItem } from './style';\nexport interface CellProps\n extends Omit<RowProps, 'children'>,\n Omit<DescriptionsItemProps, 'children'>,\n React.HTMLAttributes<HTMLTableCellElement>,\n IProps {\n children?: React.ReactElement<DescriptionsItemProps> | React.ReactNode;\n tagName?: 'td' | 'th';\n /**\n * 是否为一行的最后一个\n */\n isLastCell?: boolean;\n}\n\nfunction Cell(props: CellProps = {}) {\n const {\n prefixCls,\n className,\n tagName: TagName = 'td',\n layout,\n bordered,\n label,\n isLastCell,\n colon,\n span,\n children,\n column,\n ...other\n } = props;\n\n const labelProps: React.HTMLAttributes<HTMLSpanElement> = {\n className: [\n prefixCls ? `${prefixCls}-item-label` : null,\n className,\n colon ? `${prefixCls}-item-colon` : null,\n !label ? `${prefixCls}-item-no-label` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim(),\n };\n if (layout === 'horizontal') {\n if (!bordered) {\n return (\n <DescriptionsStyleItem as={TagName} {...other} colSpan={span}>\n <DescriptionsStyleItem as=\"span\" {...labelProps} isColon={colon} isLabel={!!label}>\n {label}\n </DescriptionsStyleItem>\n <DescriptionsStyleItem\n as=\"span\"\n isContent={!!prefixCls}\n className={prefixCls ? `${prefixCls}-item-content` : ''}\n >\n {children}\n </DescriptionsStyleItem>\n </DescriptionsStyleItem>\n );\n }\n return (\n <Fragment>\n <DescriptionsStyleItem as=\"th\" {...labelProps} bordered={bordered} isColon={colon} isLabel={!!label}>\n {label}\n </DescriptionsStyleItem>\n <DescriptionsStyleItem\n {...other}\n as={TagName}\n isContent={!!prefixCls}\n bordered={bordered}\n colSpan={span ? span * 2 - 1 : span}\n className={prefixCls ? `${prefixCls}-item-content` : ''}\n >\n {children}\n </DescriptionsStyleItem>\n </Fragment>\n );\n }\n return (\n <DescriptionsStyleItem\n bordered={bordered}\n isLabel={TagName === 'th'}\n isContent={TagName === 'td'}\n as={TagName}\n colSpan={span}\n className={`${prefixCls}-item-${TagName === 'td' ? 'content' : 'label'}`}\n >\n {children}\n </DescriptionsStyleItem>\n );\n}\n\nexport default Cell;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport { DescriptionsItemProps } from './DescriptionsItem';\nimport Cell from './Cell';\nimport { DescriptionsStyleTableRow } from './style';\nexport interface RowProps extends IProps {\n children?: React.ReactElement<DescriptionsItemProps>[];\n bordered?: boolean;\n layout?: 'horizontal' | 'vertical';\n colon?: boolean;\n column?: number;\n}\n\nexport default function Row(props: RowProps = {}) {\n const { prefixCls, layout, bordered, column, colon, children = [] } = props;\n function handleCell(isHead?: boolean) {\n return children.map((child, index) => (\n <Cell\n {...child.props}\n prefixCls={prefixCls}\n key={index}\n column={column}\n tagName={isHead ? 'th' : 'td'}\n isLastCell={children.length - 1 === index}\n layout={layout}\n colon={colon}\n bordered={bordered}\n >\n {isHead ? child.props.label : child.props.children}\n </Cell>\n ));\n }\n const cls = prefixCls ? `${prefixCls}-row` : '';\n return (\n <Fragment>\n {layout === 'vertical' && <tr className={cls}>{handleCell(true)}</tr>}\n <DescriptionsStyleTableRow bordered={bordered} className={cls}>\n {handleCell()}\n </DescriptionsStyleTableRow>\n </Fragment>\n );\n}\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\nimport DescriptionsStyleItem, { DescriptionsItemProps } from './DescriptionsItem';\nimport Row, { RowProps } from './Row';\nimport {\n DescriptionsStyleTable,\n DescriptionsStyleWarp,\n DescriptionsStyleTableCaption,\n DescriptionsStyleTableTbody,\n} from './style';\nexport * from './DescriptionsItem';\nexport * from './style';\nexport interface DescriptionsProps extends IProps {\n column?: number;\n title?: React.ReactNode;\n children?: React.ReactNode;\n bordered?: boolean;\n colon?: boolean;\n size?: 'large' | 'small' | 'default';\n layout?: RowProps['layout'];\n}\n\nconst generateChildrenRows = (\n children: React.ReactElement<DescriptionsItemProps>[],\n column: number,\n): Array<React.ReactElement<DescriptionsItemProps>[]> => {\n const rows: React.ReactElement<DescriptionsItemProps>[][] = [];\n let columns: React.ReactElement<DescriptionsItemProps>[] | null = null;\n let leftSpans: number;\n\n children.forEach((node: React.ReactElement<DescriptionsItemProps>, index: number) => {\n let itemNode = node;\n\n if (!columns) {\n leftSpans = column;\n columns = [];\n rows.push(columns);\n }\n\n // Always set last span to align the end of Descriptions\n const lastItem = index === children.length - 1;\n if (lastItem) {\n itemNode = React.cloneElement(itemNode, {\n span: leftSpans,\n });\n }\n // Calculate left fill span\n const { span = 1 } = itemNode.props;\n columns.push(itemNode);\n leftSpans -= span;\n\n if (leftSpans <= 0) {\n columns = null;\n }\n });\n\n return rows;\n};\n\nfunction InternalDescriptions(props: DescriptionsProps, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-descriptions',\n className,\n title,\n bordered,\n column = 3,\n size,\n colon = true,\n children,\n layout = 'horizontal',\n ...other\n } = props;\n const cls = [\n prefixCls,\n className,\n prefixCls && layout ? `${prefixCls}-${layout}` : null,\n bordered ? `${prefixCls}-bordered` : null,\n size ? `${prefixCls}-${size}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const cloneChildren = React.Children.toArray(children) as JSX.Element[];\n const childs: Array<React.ReactElement<DescriptionsItemProps>[]> = generateChildrenRows(cloneChildren, column!);\n\n return (\n <DescriptionsStyleWarp bordered={bordered} className={cls} ref={ref}>\n <DescriptionsStyleTable {...other}>\n {title && (\n <DescriptionsStyleTableCaption bordered={bordered} className={`${prefixCls}-title`}>\n {title}\n </DescriptionsStyleTableCaption>\n )}\n <DescriptionsStyleTableTbody size={size} bordered={bordered} className={`${prefixCls}-tbody`}>\n {childs.map((child, index) => (\n <Row key={index} prefixCls={prefixCls} bordered={bordered} colon={colon} column={column} layout={layout}>\n {child}\n </Row>\n ))}\n </DescriptionsStyleTableTbody>\n </DescriptionsStyleTable>\n </DescriptionsStyleWarp>\n );\n}\n\nconst Descriptions = React.forwardRef<HTMLDivElement, DescriptionsProps>(InternalDescriptions);\ntype Descriptions = typeof Descriptions & {\n Item: typeof DescriptionsStyleItem;\n};\n\n(Descriptions as Descriptions).Item = DescriptionsStyleItem;\n\nexport default Descriptions as Descriptions;\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { DividerProps } from 'src';\n\nexport const DividerStyleTheme = {\n fontSizeLarge: '16px',\n backgroundColorDividerBase: '#e8e8e8',\n borderTopColorDividerWithText: '#e8e8e8',\n};\nconst propsTheme = {\n defaultTheme: { ...DividerStyleTheme },\n};\ninterface DividerStyleBaseProps\n extends ThemeVariantValueOptions<typeof DividerStyleTheme>,\n Pick<DividerProps, 'dashed' | 'type' | 'align' | 'prefixCls'> {}\n\nexport const DividerStyleBase = styled.div<DividerStyleBaseProps>`\n font-size: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeLarge')};\n line-height: 16px;\n box-sizing: border-box;\n padding: 0;\n list-style: none;\n background: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDividerBase')};\n\n ${(props) => {\n if (props.prefixCls) {\n if (props.type === 'vertical') {\n return css`\n margin: 0 8px;\n display: inline-block;\n height: 0.9em;\n width: 1px;\n vertical-align: middle;\n position: relative;\n top: -0.06em;\n `;\n } else if (props.type === 'horizontal') {\n return css`\n height: 1px;\n width: 100%;\n margin: 16px 0;\n ${props.children &&\n css`\n display: flex;\n white-space: nowrap;\n text-align: center;\n background: transparent;\n font-weight: 500;\n color: #353535;\n height: inherit;\n margin: 16px 0;\n &:before,\n &:after {\n content: '';\n display: table-cell;\n position: relative;\n top: 50%;\n width: 50%;\n border-top: 1px solid\n ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderTopColorDividerWithText')};\n transform: translateY(50%);\n }\n `}\n `;\n }\n }\n }}\n\n ${(props) => {\n if (props.prefixCls && props.children) {\n if (props.align === 'left') {\n return css`\n ::before {\n width: 5%;\n }\n ::after {\n width: 95%;\n }\n `;\n } else if (props.align === 'right') {\n return css`\n ::after {\n width: 5%;\n }\n ::before {\n width: 95%;\n }\n `;\n }\n }\n }}\n\n ${(props) => {\n if (props.dashed) {\n if (props.children) {\n return css`\n &::before,\n &::after {\n border-top-style: dashed;\n }\n `;\n } else {\n return css`\n background: none;\n border-top: 1px dashed\n ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderTopColorDividerWithText')};\n `;\n }\n }\n }}\n`;\n\nexport const DividerStyleInnerText = styled.div`\n display: inline-block;\n padding: 0 10px;\n`;\n\nexport default DividerStyleBase;\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport DividerWarp, { DividerStyleInnerText } from './style';\nexport * from './style';\n\nexport interface DividerProps extends IProps, HTMLDivProps {\n dashed?: boolean;\n type?: 'horizontal' | 'vertical';\n align?: 'left' | 'right' | 'center';\n}\n\nexport default React.forwardRef<HTMLDivElement, DividerProps>((props, ref) => {\n const {\n prefixCls = 'w-divider',\n className,\n children,\n dashed = false,\n type = 'horizontal',\n align = 'center',\n ...restProps\n } = props;\n const cls = [\n className,\n prefixCls,\n prefixCls && type ? `${prefixCls}-${type}` : null,\n prefixCls && align ? `${prefixCls}-${align}` : null,\n children ? `${prefixCls}-with-text` : null,\n !!dashed ? `${prefixCls}-dashed` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n return (\n <DividerWarp\n className={cls}\n {...restProps}\n ref={ref}\n prefixCls={prefixCls}\n type={type}\n align={align}\n dashed={dashed}\n >\n {children && <DividerStyleInnerText className={`${prefixCls}-inner-text`}>{children}</DividerStyleInnerText>}\n </DividerWarp>\n );\n});\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue, HTMLDivProps } from '@uiw/utils';\nimport Overlay, { ContentWrap } from '@uiw/react-overlay';\nimport { DrawerProps } from 'src';\nimport { IconStyleBase } from '@uiw/react-icon';\n\nexport const DrawerStyleTheme = {\n boxShadowColorInDrawerWrapper: 'rgba(16, 22, 26, 0.1)',\n boxShadowColorHvDrawerWrapper: 'rgba(16, 22, 26, 0.2)',\n backgroundColorDrawerWrapper: '#fff',\n backgroundColorDrawerHeader: '#fff',\n boxShadowColorInDrawerHeader: 'rgba(16, 22, 26, 0.15)',\n colorHvDrawerHeader: '#393e48',\n boxShadowColorInDrawerFooter: 'rgba(16, 22, 26, 0.15)',\n};\nconst propsTheme = {\n defaultTheme: { ...DrawerStyleTheme },\n};\nexport interface DrawerWrapperWrapProps extends ThemeVariantValueOptions<typeof DrawerStyleTheme>, HTMLDivProps {}\nexport interface DrawerHeaderWrapProps extends ThemeVariantValueOptions<typeof DrawerStyleTheme>, HTMLDivProps {}\nexport interface DrawerHeaderWrapProps extends ThemeVariantValueOptions<typeof DrawerStyleTheme>, HTMLDivProps {}\nexport interface DrawerWrapProps extends Pick<DrawerProps, 'placement'> {}\n\nexport const DrawerStyleWrapperWrap = styled.div<DrawerWrapperWrapProps>`\n ${(props) => css`\n box-shadow: 0 0 0 1px ${getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorInDrawerWrapper')},\n 0 0 46px 6px ${getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorHvDrawerWrapper')};\n background-color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDrawerWrapper')};\n position: fixed;\n margin: 0 !important;\n display: flex;\n flex-direction: column;\n `}\n`;\n\nexport const DrawerStyleHeaderWrap = styled.div<DrawerHeaderWrapProps>`\n ${(props) => css`\n display: flex;\n align-items: center;\n min-height: 40px;\n padding-left: 13px;\n padding-right: 5px;\n background-color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorDrawerHeader')};\n border-radius: 5px 5px 0 0;\n box-shadow: 0 1px 0 ${getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorInDrawerHeader')};\n font-size: 16px;\n > ${IconStyleBase} {\n margin-right: 10px;\n color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'colorHvDrawerHeader')};\n }\n h4 {\n margin: 0;\n padding: 0;\n flex: 1 1 auto;\n }\n `}\n`;\n\nexport const DrawerStyleBodyWrap = styled.div`\n ${(props) => css`\n flex: 1 1 auto;\n overflow: auto;\n line-height: 18px;\n `}\n`;\n\nexport const DrawerStyleFooterWrap = styled.div<DrawerHeaderWrapProps>`\n ${(props) => css`\n box-shadow: 0 -1px 0 ${getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowColorInDrawerFooter')};\n min-height: 40px;\n padding-left: 13px;\n padding-right: 5px;\n display: flex;\n align-items: center;\n `}\n`;\n\nexport const DrawerStyleBodyClsWrap = styled.div`\n ${(props) => css`\n padding: 15px;\n `}\n`;\n\nexport const DrawerStyleWrap = styled(Overlay)<DrawerWrapProps>`\n ${(props) => css`\n ${(props.placement === 'top' || props.placement === 'bottom') &&\n css`\n ${DrawerStyleWrapperWrap} {\n left: 0;\n right: 0;\n }\n `}\n\n ${props.placement === 'top' &&\n css`\n ${DrawerStyleWrapperWrap} {\n top: 0;\n }\n `}\n\n ${props.placement === 'bottom' &&\n css`\n ${DrawerStyleWrapperWrap} {\n bottom: 0;\n }\n `}\n\n ${(props.placement === 'right' || props.placement === 'left') &&\n css`\n ${DrawerStyleWrapperWrap} {\n bottom: 0;\n top: 0;\n }\n `}\n\n ${props.placement === 'right' &&\n css`\n ${DrawerStyleWrapperWrap} {\n right: 0;\n }\n `}\n\n ${props.placement === 'left' &&\n css`\n ${DrawerStyleWrapperWrap} {\n left: 0;\n }\n `}\n\n\n &.w-overlay-enter ${ContentWrap} {\n opacity: 1;\n }\n &.w-overlay-enter-active ${ContentWrap} {\n transition: all 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);\n }\n &.w-overlay-exit ${ContentWrap} {\n opacity: 1;\n }\n &.w-overlay-exit-active ${ContentWrap} {\n transition: all 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);\n }\n\n ${props.placement === 'right' &&\n css`\n &.w-overlay-enter ${ContentWrap} {\n transform: translateX(100%);\n }\n &.w-overlay-enter-active ${ContentWrap} {\n transform: translateX(0);\n }\n &.w-overlay-exit ${ContentWrap} {\n transform: translateX(0);\n }\n &.w-overlay-exit-active ${ContentWrap} {\n transform: translateX(100%);\n }\n `}\n\n ${props.placement === 'left' &&\n css`\n &.w-overlay-enter ${ContentWrap} {\n transform: translateX(-100%);\n }\n &.w-overlay-enter-active ${ContentWrap} {\n transform: translateX(0);\n }\n &.w-overlay-exit ${ContentWrap} {\n transform: translateX(0);\n }\n &.w-overlay-exit-active ${ContentWrap} {\n transform: translateX(-100%);\n }\n `}\n\n ${props.placement === 'top' &&\n css`\n &.w-overlay-enter ${ContentWrap} {\n transform: translateY(-100%);\n }\n &.w-overlay-enter-active ${ContentWrap} {\n transform: translateY(0);\n }\n &.w-overlay-exit ${ContentWrap} {\n transform: translateY(0);\n }\n &.w-overlay-exit-active ${ContentWrap} {\n transform: translateY(-100%);\n }\n `}\n\n ${props.placement === 'bottom' &&\n css`\n &.w-overlay-enter ${ContentWrap} {\n transform: translateY(100%);\n }\n &.w-overlay-enter-active ${ContentWrap} {\n transform: translateY(0);\n }\n &.w-overlay-exit ${ContentWrap} {\n transform: translateY(0);\n }\n &.w-overlay-exit-active ${ContentWrap} {\n transform: translateY(100%);\n }\n `}\n `}\n`;\n","import React, { useMemo } from 'react';\nimport { OverlayProps } from '@uiw/react-overlay';\nimport { Close } from '@uiw/icons/lib/Close';\nimport Button from '@uiw/react-button';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { HTMLDivProps } from '@uiw/utils';\nimport {\n DrawerStyleWrap,\n DrawerStyleWrapperWrap,\n DrawerStyleHeaderWrap,\n DrawerStyleBodyWrap,\n DrawerStyleFooterWrap,\n DrawerStyleBodyClsWrap,\n} from './style';\nexport * from './style';\n\nexport interface DrawerProps extends OverlayProps {\n footer?: React.ReactNode;\n icon?: React.ReactNode;\n title?: React.ReactNode;\n bodyProps?: HTMLDivProps;\n placement?: 'top' | 'right' | 'bottom' | 'left';\n size?: number;\n isCloseButtonShown?: boolean;\n onClose?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\nexport default (props: DrawerProps = {}) => {\n const {\n prefixCls = 'w-drawer',\n className,\n style,\n placement = 'right',\n size = 260,\n title,\n footer,\n icon,\n isCloseButtonShown = true,\n bodyProps,\n timeout = 300,\n isOpen = false,\n maskClosable = true,\n ...overlayProps\n } = props;\n const cls = [className, prefixCls, placement].filter(Boolean).join(' ').trim();\n const bodyCls = [bodyProps ? bodyProps.className : null, prefixCls ? `${prefixCls}-body-inner` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n const styl = {\n ...style,\n [/^(top|bottom)$/.test(placement!) ? 'height' : 'width']: size,\n };\n const footerView = useMemo(\n () => (footer ? <DrawerStyleFooterWrap className={`${prefixCls}-footer`}>{footer}</DrawerStyleFooterWrap> : null),\n [footer],\n );\n const iconView = icon; // useMemo(() => (icon ? <Icon type={icon} /> : null), [icon]);\n const titleView = useMemo(() => (title ? <h4>{title}</h4> : null), [title]);\n\n return (\n <DrawerStyleWrap\n placement={placement}\n className={cls}\n timeout={timeout}\n isOpen={isOpen}\n maskClosable={maskClosable}\n {...overlayProps}\n >\n <DrawerStyleWrapperWrap className={`${prefixCls}-wrapper`} style={styl}>\n {(title || icon) && (\n <DrawerStyleHeaderWrap className={`${prefixCls}-header`}>\n {iconView}\n {titleView}\n {title && isCloseButtonShown && (\n <Button basic onClick={props.onClose} icon={<IconStyleBase as={Close} />} type=\"light\" />\n )}\n </DrawerStyleHeaderWrap>\n )}\n <DrawerStyleBodyWrap className={`${prefixCls}-body`}>\n <DrawerStyleBodyClsWrap {...bodyProps} className={bodyCls}>\n {props.children}\n </DrawerStyleBodyClsWrap>\n </DrawerStyleBodyWrap>\n {footerView}\n </DrawerStyleWrapperWrap>\n </DrawerStyleWrap>\n );\n};\n","import styled from 'styled-components';\nimport { getThemeVariantValue } from '@uiw/utils';\n\nexport const EmptyStyleTheme = {\n colorEmptyBase: '#c7c7c7',\n};\nconst propsTheme = {\n defaultTheme: { ...EmptyStyleTheme },\n};\ninterface DividerProps {\n defaultTheme?: Record<string, string | number>;\n}\n\nexport const EmptyStyleBase = styled.div<DividerProps>`\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorEmptyBase')};\n text-align: center;\n`;\n\nexport const EmptyStyleIcon = styled.div``;\n\nexport const EmptyStyleDescription = styled.div`\n margin-top: 10px;\n`;\n\nexport const EmptyStyleFooter = styled.div`\n margin-top: 16px;\n`;\n\nexport default EmptyStyleBase;\n","import React from 'react';\nimport EmptyWrap, { EmptyStyleDescription, EmptyStyleFooter, EmptyStyleIcon } from './style';\nexport * from './style';\nexport interface EmptyProps extends React.HTMLAttributes<HTMLDivElement> {\n prefixCls?: string;\n icon?: React.ReactNode;\n size?: number | string;\n iconProps?: React.SVGProps<SVGSVGElement>;\n /** 自定义描述内容 */\n description?: React.ReactNode;\n}\n\nconst Empty = (props: EmptyProps) => {\n const {\n prefixCls = 'w-empty',\n className,\n icon,\n iconProps,\n size = 64,\n description = '暂无数据',\n children,\n ...other\n } = props;\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return (\n <EmptyWrap className={cls} {...other}>\n <EmptyStyleIcon className={`${prefixCls}-icon`}>\n {icon ? (\n icon\n ) : (\n <svg viewBox=\"0 0 1024 1024\" width={size} height={size} {...iconProps}>\n <path d=\"M20.48 860.16a491.52 102.4 0 1 0 983.04 0 491.52 102.4 0 1 0-983.04 0Z\" fill=\"#F5F5F5\" />\n <path d=\"M225.28 409.6l573.44-8.06912 112.78336 183.296H102.4z\" fill=\"#C4C5C7\" />\n <path\n d=\"M266.24 61.44h491.52a40.96 40.96 0 0 1 40.96 40.96v532.48a40.96 40.96 0 0 1-40.96 40.96H266.24a40.96 40.96 0 0 1-40.96-40.96V102.4a40.96 40.96 0 0 1 40.96-40.96z\"\n fill=\"#F5F5F7\"\n />\n <path\n d=\"M348.16 143.36h327.68a40.96 40.96 0 0 1 40.96 40.96v122.88a40.96 40.96 0 0 1-40.96 40.96H348.16a40.96 40.96 0 0 1-40.96-40.96V184.32a40.96 40.96 0 0 1 40.96-40.96zM327.68 409.6h368.64a20.48 20.48 0 0 1 0 40.96H327.68a20.48 20.48 0 0 1 0-40.96zM327.68 491.52h368.64a20.48 20.48 0 0 1 0 40.96H327.68a20.48 20.48 0 0 1 0-40.96z\"\n fill=\"#EBECEC\"\n />\n <path\n d=\"M673.44384 607.58016v13.43488c0 25.14944-20.0704 45.52704-44.8512 45.52704H382.95552l-2.2528-0.06144c-23.7568-1.16736-42.63936-21.07392-42.63936-45.4656v-13.45536c0-12.55424-10.0352-22.7328-22.44608-22.7328H102.4v250.30656C102.4 860.2624 122.49088 880.64 147.29216 880.64h719.31904c24.7808 0 44.89216-20.3776 44.89216-45.50656V584.82688H695.88992c-12.3904 0-22.44608 10.17856-22.44608 22.7328z\"\n fill=\"#E0E0E0\"\n />\n </svg>\n )}\n </EmptyStyleIcon>\n {description && (\n <EmptyStyleDescription className={`${prefixCls}-description`}>{description}</EmptyStyleDescription>\n )}\n {children && <EmptyStyleFooter className={`${prefixCls}-footer`}>{children}</EmptyStyleFooter>}\n </EmptyWrap>\n );\n};\n\nexport default Empty;\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, HTMLDivProps, getThemeVariantValue } from '@uiw/utils';\nimport { FileInputListProps } from '../';\nimport Input, { InputProps } from '@uiw/react-input';\n\nexport const FileInputTheme = {\n boxShadowFileInputStyleWarpAfterBase: 'inset 0 0 0 1px rgb(16 22 26 / 8%);',\n backgroundImageFileInputStyleWarpAfterBase: ' linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0))',\n backgroundColorFileInputStyleWarpAfterBase: '#f5f8fa',\n colorFileInputStyleWarpAfterBase: '#182026',\n\n backgroundColorFileInputStyleWarpHoverAfterBase: '#ebf1f5',\n boxShadowFileInputStyleWarpHoverAfterBase: 'inset 0 0 0 1px rgb(16 22 26 / 20%), inset 0 -1px 0 rgb(16 22 26 / 10%)',\n\n colorFileInputStyleWarpBeforeBase: '#757575',\n\n backgroundFileInputStyleCardActionsWarpBase: 'rgba(0, 0, 0, 0.6)',\n\n backgroundColorFileInputStyleCardBoxWarpBase: '#fafafa',\n borderColorFileInputStyleCardBoxWarpBase: '#d9d9d9',\n backgroundFileInputStyleListActionsWarpBase: ' rgba(0, 0, 0, 0.6)',\n\n borderColorFileInputStyleListUploadTypeWarpBase: '#d9d9d9',\n backgroundFileInputStyleListUploadTypeWarpHover: '#f5f5f5',\n};\n\nconst propsTheme = {\n defaultTheme: FileInputTheme,\n};\n\ntype ThemeVar = ThemeVariantValueOptions<typeof FileInputTheme>;\n\nexport interface FileInputStyleWarpProps extends Omit<InputProps, 'defaultTheme'>, ThemeVar {}\n\n// Input\nexport const FileInputStyleWarp = styled(Input)<FileInputStyleWarpProps>`\n input {\n &::-webkit-file-upload-button {\n background: transparent;\n border: 0;\n color: #0000;\n position: absolute;\n left: -300px;\n }\n &:hover:after {\n background-clip: padding-box;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorFileInputStyleWarpHoverAfterBase')};\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowFileInputStyleWarpHoverAfterBase')};\n }\n &:after {\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowFileInputStyleWarpAfterBase')};\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorFileInputStyleWarpAfterBase')};\n background-image: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundImageFileInputStyleWarpAfterBase')};\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorFileInputStyleWarpAfterBase')};\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: normal;\n border-radius: 3px;\n content: 'Browse';\n content: attr(data-label);\n padding: 0 10px;\n margin: 3px;\n text-align: center;\n right: 0;\n display: flex;\n align-items: center;\n }\n &::before,\n &::after {\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorFileInputStyleWarpBeforeBase')};\n position: absolute;\n top: 0;\n bottom: 0;\n }\n }\n`;\n\n//Card\ninterface FileInputCardActionsProps extends ThemeVar, HTMLDivProps {\n isAction: boolean;\n}\nexport const FileInputStyleCardActionsWarp = styled.div<FileInputCardActionsProps>`\n ${(props) =>\n props.isAction &&\n css`\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.5s;\n opacity: 0;\n background: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundFileInputStyleCardActionsWarpBase')};\n border-radius: 2px;\n `}\n`;\n\nexport interface FileInputStyleCardBoxWarpProps extends ThemeVar, HTMLDivProps {\n btn?: boolean;\n}\nexport const FileInputStyleCardBoxWarp = styled.div<FileInputStyleCardBoxWarpProps>`\n margin-right: 8px;\n margin-bottom: 8px;\n text-align: center;\n vertical-align: top;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorFileInputStyleCardBoxWarpBase')};\n border: 1px dashed\n ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorFileInputStyleCardBoxWarpBase')};\n overflow: hidden;\n border-radius: 2px;\n cursor: pointer;\n transition: border-color 0.3s;\n display: inline-flex;\n position: relative;\n ${(props) =>\n props.btn &&\n css`\n align-items: center;\n justify-content: center;\n `}\n :hover ${FileInputStyleCardActionsWarp} {\n opacity: 1;\n }\n`;\nFileInputStyleCardBoxWarp.defaultProps = { defaultTheme: FileInputTheme };\n\nexport const FileInputStyleCardBoxInfoWarp = styled.div`\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n img {\n width: 100%;\n height: 100%;\n }\n`;\nexport const FileInputStyleCardActionsRemoveWarp = styled.span`\n width: 24px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n`;\nexport const FileInputStyleCardWarp = styled.div<{\n size: FileInputListProps['size'];\n shape: FileInputListProps['shape'];\n}>`\n margin-right: -8px;\n ${(props) => {\n if (props.size === 'large') {\n return css`\n ${FileInputStyleCardBoxWarp} {\n width: 110px;\n height: 110px;\n }\n `;\n }\n if (props.size === 'middle') {\n return css`\n ${FileInputStyleCardBoxWarp} {\n width: 80px;\n height: 80px;\n }\n `;\n }\n if (props.size === 'small') {\n return css`\n ${FileInputStyleCardBoxWarp} {\n width: 50px;\n height: 50px;\n }\n `;\n }\n return css``;\n }}\n ${(props) => {\n if (props.shape === 'circle') {\n return css`\n ${FileInputStyleCardBoxWarp} {\n border-radius: 50%;\n }\n `;\n }\n if (props.shape === 'round') {\n return css`\n ${FileInputStyleCardBoxWarp} {\n border-radius: 2px;\n }\n `;\n }\n return css``;\n }}\n`;\n\nexport interface FileInputStyleListActionsWarpProps extends HTMLDivProps, ThemeVar {}\n// list\nexport const FileInputStyleListActionsWarp = styled.div<FileInputStyleListActionsWarpProps>`\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.5s;\n opacity: 0;\n background: ${(props) =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundFileInputStyleListActionsWarpBase')};\n border-radius: 2px;\n`;\n\nexport const FileInputStyleListActionsSearchWarp = styled.span`\n width: 24px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n`;\nexport const FileInputStyleListUploadInfoTypeWarp = styled.div`\n :hover ${FileInputStyleListActionsWarp} {\n opacity: 1;\n }\n`;\nexport const FileInputStyleListUploadTextTypeWarp = styled.div``;\nexport const FileInputStyleListUploadIconTypeWarp = styled.div``;\n\nexport interface FileInputStyleListUploadTypeWarpProps extends ThemeVar {\n uploadType: FileInputListProps['uploadType'];\n}\n\nexport const FileInputStyleListUploadTypeWarp = styled.div<FileInputStyleListUploadTypeWarpProps>`\n ${(props) => {\n if (props.uploadType === 'picture') {\n return css`\n border: 1px solid\n ${() => getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorFileInputStyleListUploadTypeWarpBase')};\n display: flex;\n align-items: center;\n padding: 5px;\n margin-top: 8px;\n ${FileInputStyleListUploadInfoTypeWarp} {\n margin-right: 10px;\n position: relative;\n overflow: hidden;\n img {\n width: 48px;\n height: 48px;\n display: block;\n }\n }\n ${FileInputStyleListUploadTextTypeWarp} {\n flex: 1;\n }\n ${FileInputStyleListUploadIconTypeWarp} {\n padding: 5px;\n cursor: pointer;\n }\n `;\n }\n }}\n ${(props) => {\n if (props.uploadType === 'text') {\n return css`\n border: 1px solid transparent;\n display: flex;\n align-items: center;\n padding: 5px;\n transition: all 0.5s;\n :hover {\n background: ${() =>\n getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundFileInputStyleListUploadTypeWarpHover')};\n }\n :first-child {\n margin-top: 8px;\n }\n ${FileInputStyleListUploadTextTypeWarp} {\n flex: 1;\n }\n ${FileInputStyleListUploadIconTypeWarp} {\n padding: 0 5px;\n cursor: pointer;\n }\n `;\n }\n return css``;\n }}\n`;\n\nexport interface FileInputStyleListActionsWarpProps extends HTMLDivProps {\n size: FileInputListProps['size'];\n shape: FileInputListProps['shape'];\n uploadType: FileInputListProps['uploadType'];\n}\nexport const FileInputStyleListWarp = styled.div<FileInputStyleListActionsWarpProps>`\n padding-bottom: 8px;\n width: 100%;\n ${(props) => {\n if (props.uploadType !== 'picture') {\n return css``;\n }\n if (props.size === 'large') {\n return css`\n ${FileInputStyleListUploadTypeWarp} {\n ${FileInputStyleListUploadInfoTypeWarp} img {\n width: 70px;\n height: 70px;\n }\n }\n `;\n }\n if (props.size === 'middle') {\n return css`\n ${FileInputStyleListUploadTypeWarp} {\n ${FileInputStyleListUploadInfoTypeWarp} img {\n width: 50px;\n height: 50px;\n }\n }\n `;\n }\n if (props.size === 'small') {\n return css`\n ${FileInputStyleListUploadTypeWarp} {\n ${FileInputStyleListUploadInfoTypeWarp} img {\n width: 50px;\n height: 50px;\n }\n }\n `;\n }\n return css``;\n }}\n ${(props) => {\n if (props.shape === 'round' && props.uploadType === 'picture') {\n return css`\n ${FileInputStyleListUploadTypeWarp} {\n ${FileInputStyleListUploadInfoTypeWarp} {\n border-radius: 2px;\n }\n }\n `;\n }\n if (props.shape === 'circle') {\n return css``;\n }\n }}\n`;\n","import React from 'react';\nimport { InputProps } from '@uiw/react-input';\nimport { FileInputProps } from './';\nimport { FileInputStyleWarp } from './style';\n\nexport interface InputUploadProps extends FileInputProps, InputProps {}\n\nexport default React.forwardRef<HTMLInputElement, InputUploadProps>((props, ref) => {\n const { className, dataLabel = 'Browse', prefixCls = 'w-fileinput', ...other } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n return <FileInputStyleWarp ref={ref} data-label={dataLabel} className={cls} {...other} type=\"file\" />;\n});\n","import React from 'react';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { Delete, Search } from '@uiw/icons';\nimport { FileInputListProps } from './';\nimport {\n FileInputStyleListWarp,\n FileInputStyleListActionsWarp,\n FileInputStyleListActionsSearchWarp,\n FileInputStyleListUploadTypeWarp,\n FileInputStyleListUploadInfoTypeWarp,\n FileInputStyleListUploadTextTypeWarp,\n FileInputStyleListUploadIconTypeWarp,\n} from './style';\n\nconst Picture = (props: FileInputListProps) => {\n const {\n className,\n prefixCls = 'w-fileinput-list',\n dataList = [],\n uploadType, // 'input' | 'picture' | 'text' | 'card';\n size = 'middle',\n shape = 'round',\n readonly,\n children,\n showFileIcon = {\n showPreviewIcon: true,\n showRemoveIcon: true,\n },\n onPreview,\n onAdd,\n onRemove,\n } = props;\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n\n return (\n <FileInputStyleListWarp uploadType={uploadType} size={size} shape={shape} className={cls}>\n {children &&\n !readonly &&\n React.isValidElement(children) &&\n React.cloneElement(children, {\n onClick: onAdd,\n })}\n <div>\n {dataList.map((item, index) => (\n <FileInputStyleListUploadTypeWarp\n className={`${prefixCls}-${uploadType}`}\n uploadType={uploadType}\n key={index}\n >\n {uploadType === 'picture' && (\n <FileInputStyleListUploadInfoTypeWarp className={`${prefixCls}-info ${prefixCls}-${uploadType}-info`}>\n <img src={item['dataURL']} alt=\"\" />\n {showFileIcon?.showPreviewIcon && (\n <FileInputStyleListActionsWarp className={`${prefixCls}-actions`}>\n <FileInputStyleListActionsSearchWarp\n className={`${prefixCls}-actions-search`}\n onClick={() => onPreview?.(item)}\n >\n <IconStyleBase as={Search} style={{ color: '#fff', fontSize: 16 }} />\n </FileInputStyleListActionsSearchWarp>\n </FileInputStyleListActionsWarp>\n )}\n </FileInputStyleListUploadInfoTypeWarp>\n )}\n <FileInputStyleListUploadTextTypeWarp className={`${prefixCls}-${uploadType}-text`}>\n {item.name}\n </FileInputStyleListUploadTextTypeWarp>\n {showFileIcon?.showRemoveIcon && (\n <FileInputStyleListUploadIconTypeWarp\n className={`${prefixCls}-${uploadType}-icon`}\n onClick={() => onRemove?.(index)}\n >\n <IconStyleBase as={Delete} style={{ color: '#999' }} />\n </FileInputStyleListUploadIconTypeWarp>\n )}\n </FileInputStyleListUploadTypeWarp>\n ))}\n </div>\n </FileInputStyleListWarp>\n );\n};\n\nexport default Picture;\n","import React from 'react';\nimport {\n FileInputStyleCardWarp,\n FileInputStyleCardBoxWarp,\n FileInputStyleCardActionsWarp,\n FileInputStyleCardBoxInfoWarp,\n FileInputStyleCardActionsRemoveWarp,\n} from './style';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { Delete, Search } from '@uiw/icons';\nimport { FileInputListProps } from './';\n\nconst Card = (props: FileInputListProps) => {\n const {\n className,\n prefixCls = 'w-fileinput-card',\n dataList = [],\n maxNumber = 3,\n shape = 'round',\n size = 'middle',\n readonly,\n children,\n showFileIcon = {\n showPreviewIcon: true,\n showRemoveIcon: true,\n },\n onAdd,\n onPreview,\n onRemove,\n } = props;\n const isAction = showFileIcon.showPreviewIcon || showFileIcon.showRemoveIcon ? true : false;\n\n return (\n <FileInputStyleCardWarp shape={shape} size={size} className={`${prefixCls} ${className}`}>\n {dataList.map((item, index) => (\n <FileInputStyleCardBoxWarp className={`${prefixCls}-box`} key={index}>\n <FileInputStyleCardBoxInfoWarp className={`${prefixCls}-box-info`}>\n <img src={item['dataURL']} alt=\"\" />\n </FileInputStyleCardBoxInfoWarp>\n\n <FileInputStyleCardActionsWarp className={isAction ? `${prefixCls}-actions` : ''} isAction={isAction}>\n {showFileIcon?.showPreviewIcon && (\n <FileInputStyleCardActionsRemoveWarp\n className={`${prefixCls}-actions-remove`}\n onClick={() => onPreview?.(item)}\n >\n <IconStyleBase as={Search} style={{ fill: '#fff', fontSize: 16 }} />\n </FileInputStyleCardActionsRemoveWarp>\n )}\n {showFileIcon?.showRemoveIcon && (\n <FileInputStyleCardActionsRemoveWarp\n className={`${prefixCls}-actions-remove`}\n onClick={() => onRemove?.(index)}\n >\n <IconStyleBase as={Delete} style={{ fill: '#fff', fontSize: 16 }} />\n </FileInputStyleCardActionsRemoveWarp>\n )}\n </FileInputStyleCardActionsWarp>\n </FileInputStyleCardBoxWarp>\n ))}\n {maxNumber > dataList.length && !readonly && (\n <FileInputStyleCardBoxWarp className={`${prefixCls}-box ${prefixCls}-btn`} btn onClick={onAdd}>\n {children}\n </FileInputStyleCardBoxWarp>\n )}\n </FileInputStyleCardWarp>\n );\n};\n\nexport default Card;\n","import { FileInputValue } from './';\n\nexport const openFileDialog = (inputRef: any): void => {\n if (inputRef.current) inputRef.current.click();\n};\n\nexport const getAcceptTypeString = (accept?: Array<string>) => {\n return accept && accept.length > 0 ? accept.map((item) => `.${item}`).join(', ') : 'image/*';\n};\n\nexport const getBase64 = (file: File): Promise<string> => {\n const reader = new FileReader();\n return new Promise((resolve) => {\n reader.addEventListener('load', () => resolve(String(reader.result)));\n reader.readAsDataURL(file);\n });\n};\n\nexport const getListFiles = (files: FileList, dataURLKey: string): Promise<FileInputValue[]> => {\n const promiseFiles: Array<Promise<string>> = [];\n for (let i = 0; i < files.length; i += 1) {\n promiseFiles.push(getBase64(files[i]));\n }\n return Promise.all(promiseFiles).then((fileListBase64: Array<string>) => {\n const fileList: FileInputValue[] = fileListBase64.map((base64, index) => ({\n [dataURLKey]: base64,\n file: files[index],\n name: files[index].name,\n }));\n return fileList;\n });\n};\n\nexport const isUploadType = (type: string) => {\n return ['picture', 'text', 'card'].includes(type);\n};\n","import React, { useRef, useCallback, useEffect, useState } from 'react';\nimport List from './List';\nimport Card from './Card';\nimport { FileInputValue, FileInputListProps } from './';\nimport { FileInputUploadProps } from './types';\nimport { openFileDialog, getListFiles } from './utils';\n\nexport const FileList = (props: FileInputUploadProps) => {\n const { uploadType, value = [], multiple = false, maxNumber = 3, onChange } = props;\n const inputRef = useRef<HTMLInputElement>(null);\n const inValue: FileInputValue[] = value || [];\n const [fileList, setFileList] = useState<FileInputValue[]>([]);\n\n useEffect(() => {\n setFileList(inValue);\n }, []);\n\n const handleClickInput = useCallback(() => openFileDialog(inputRef), [inputRef]);\n\n const onFileUpload = useCallback((): void => {\n if (inputRef.current) inputRef.current.value = '';\n handleClickInput();\n }, [handleClickInput]);\n\n const onInputChange = async (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files;\n if (!files) return;\n const updatedFileList = await getListFiles(files, 'dataURL');\n let updatedList = [...fileList, ...updatedFileList];\n if (maxNumber < updatedList.length) {\n updatedList = updatedList.slice(0, maxNumber);\n }\n setFileList(updatedList);\n onChange?.(updatedList);\n };\n\n const onRemove = (index: number) => {\n const updatedList = [...fileList];\n updatedList.splice(index, 1);\n setFileList(updatedList);\n onChange?.(updatedList);\n };\n\n let Comp: ((props: FileInputListProps) => JSX.Element) | undefined;\n\n if (uploadType === 'card') {\n Comp = Card;\n }\n if (uploadType === 'picture' || uploadType === 'text') {\n Comp = List;\n }\n\n return (\n <React.Fragment>\n <input type=\"file\" ref={inputRef} multiple={multiple} style={{ display: 'none' }} onChange={onInputChange} />\n {Comp && (\n <Comp {...props} maxNumber={maxNumber || 3} dataList={fileList} onAdd={onFileUpload} onRemove={onRemove} />\n )}\n </React.Fragment>\n );\n};\n\nexport default FileList;\n","import React from 'react';\nimport Input from './Input';\nimport FileList from './FileList';\nimport { isUploadType } from './utils';\nimport { InputProps } from '@uiw/react-input';\nimport { UploadType, FileInputStyleBaseProps, FileInputUploadProps, FileInputShowIconProps } from './types';\nexport * from './style';\nexport interface FileInputValue {\n dataURL?: string;\n file?: File;\n name?: string;\n [key: string]: any;\n}\nexport interface FileInputProps extends FileInputStyleBaseProps, InputProps {\n dataLabel?: string;\n}\nexport interface FileInputListProps extends FileInputUploadProps {\n shape?: 'circle' | 'round';\n size?: 'large' | 'middle' | 'small';\n showFileIcon?: FileInputShowIconProps;\n dataList: FileInputValue[];\n onAdd?: () => void;\n onRemove?: (index: number) => void;\n}\n\nexport interface Props {\n uploadType?: UploadType;\n [key: string]: any;\n}\n\nfunction Upload(props: Props) {\n const { uploadType = 'input' } = props;\n\n if (uploadType === 'input') {\n return <Input {...props} />;\n }\n\n if (isUploadType(uploadType)) {\n return <FileList {...props} />;\n }\n return null;\n}\n\nexport default Upload;\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions } from '@uiw/utils';\nimport { ColProps } from 'src/Col';\n\ninterface ColStyleWrapProps extends ThemeVariantValueOptions, Pick<ColProps, 'fixed' | 'span' | 'grow' | 'align'> {}\n\nconst alignType = { top: 'flex-start', middle: 'center', bottom: 'flex-end', baseline: 'baseline' };\n\nexport const ColStyleWrap = styled.div<ColStyleWrapProps>`\n min-width: 0;\n box-sizing: border-box;\n flex: 0 0 auto;\n flex-grow: 1;\n flex-basis: 0;\n max-width: 100%;\n\n ${(props) => {\n if (props.fixed) {\n return css`\n flex: 0 1 auto;\n `;\n }\n }}\n\n ${(props) => {\n if (props.align) {\n return css`\n align-self: ${alignType[props.align]};\n `;\n }\n }}\n\n ${(props) =>\n props.fixed &&\n props.grow &&\n css`\n flex-grow: ${Number.parseInt(props.grow.toString())}%;\n `}\n\n ${(props) =>\n props.span &&\n css`\n flex-basis: ${(100 / 24) * Number.parseInt(props.span.toString())}%;\n max-width: ${(100 / 24) * Number.parseInt(props.span.toString())}%;\n `}\n`;\n\nColStyleWrap.defaultProps = {\n defaultTheme: {},\n};\n\nexport default ColStyleWrap;\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport ColStyleWrap from './style/col';\n\nexport interface ColProps extends IProps, HTMLDivProps {\n fixed?: boolean;\n span?: number | string;\n grow?: number | string;\n align?: 'top' | 'middle' | 'bottom' | 'baseline';\n}\n\nexport function Col(props: ColProps = {}) {\n const { prefixCls = 'w-col', className, fixed, span, grow, align, ...other } = props;\n const cls = [\n prefixCls,\n className,\n span ? `${prefixCls}-${span}` : null,\n fixed ? `${prefixCls}-fixed` : null,\n align ? `${prefixCls}-align-${align}` : null,\n fixed ? `${prefixCls}-grow-${grow}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n return (\n <ColStyleWrap className={cls} {...other} fixed={fixed} span={span} grow={grow} align={align}>\n {props.children}\n </ColStyleWrap>\n );\n}\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions } from '@uiw/utils';\nimport { RowProps } from 'src/Row';\n\n// @justifyContentProps: flex-start flex-end center space-between space-around space-evenly;\n\ninterface RowStyleWrapProps extends ThemeVariantValueOptions, Pick<RowProps, 'align' | 'justify'> {}\n\nconst alignType = { top: 'flex-start', middle: 'center', bottom: 'flex-end', baseline: 'baseline' };\n\nconst RowStyleWrap = styled.div<RowStyleWrapProps>`\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n\n ${(props) =>\n props.align &&\n css`\n align-items: ${alignType[props.align]};\n `}\n\n ${(props) =>\n props.justify &&\n css`\n justify-content: ${props.justify};\n `}\n`;\nRowStyleWrap.defaultProps = {\n defaultTheme: {},\n};\n\nexport default RowStyleWrap;\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport RowStyleWrap from './style/row';\n\nexport interface RowProps extends IProps, HTMLDivProps {\n fixed?: boolean;\n gutter?: number;\n justify?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';\n align?: 'top' | 'middle' | 'bottom' | 'baseline';\n}\n\nexport function Row(props: RowProps = {}) {\n const { prefixCls = 'w-row', className, gutter = 0, justify, align, ...other } = props;\n const cls = [\n prefixCls,\n className,\n align ? `${prefixCls}-align-${align}` : null,\n justify ? `${prefixCls}-justify-${justify}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const gutterStyl = !gutter ? {} : { paddingLeft: gutter / 2, paddingRight: gutter / 2 };\n return (\n <RowStyleWrap {...other} className={cls} align={align} justify={justify}>\n {React.Children.toArray(props.children).map((child) => {\n if (!React.isValidElement(child)) return child;\n return React.cloneElement(\n child,\n Object.assign({}, child.props, {\n style: { ...child.props.style, ...gutterStyl },\n }),\n );\n })}\n </RowStyleWrap>\n );\n}\n","import React from 'react';\n\nexport default React.forwardRef<HTMLOptionElement, React.InputHTMLAttributes<HTMLOptionElement>>((props, ref) => (\n <option {...props} ref={ref} />\n));\n","import React from 'react';\n\nexport default React.forwardRef<HTMLOptGroupElement, React.InputHTMLAttributes<HTMLOptGroupElement>>((props, ref) => (\n <optgroup {...props} ref={ref} />\n));\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\nimport { SelectProps } from 'src';\n\nconst selectArrow =\n 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij4gIDxwYXRoIGZpbGw9IiMzOTNFNDgiIGQ9Ik0wLjIyMiw1LjYxMyBMNS40NTEsMC4yMjMgQzUuNzU2MjEyMDksLTAuMDc0MzYzMjMzMyA2LjI0Mjc4NzkxLC0wLjA3NDM2MzIzMzMgNi41NDgsMC4yMjMgTDExLjc3OCw1LjYxMyBDMTIuMTgsNi4wMjcgMTIuMDI1LDYuNjY3IDExLjQwNyw2LjY2NyBMMC41OTIsNi42NjcgQy0wLjAyNCw2LjY2NyAtMC4xOCw2LjAyNyAwLjIyMiw1LjYxMyBaIE0wLjU5Miw5LjMzMyBMMTEuNDA3LDkuMzMzIEMxMi4wMjUsOS4zMzMgMTIuMTgsOS45NzMgMTEuNzc3LDEwLjM4NyBMNi41NDcsMTUuNzc3IEM2LjI0MTkxMjU4LDE2LjA3MzcxNDMgNS43NTYwODc0MiwxNi4wNzM3MTQzIDUuNDUxLDE1Ljc3NyBMMC4yMjIsMTAuMzg3IEMtMC4xOCw5Ljk3MyAtMC4wMjQsOS4zMzMgMC41OTIsOS4zMzMgWiIvPjwvc3ZnPg==';\n\nexport const SelectStyleTheme = {\n // 大小内边距设置\n paddingSelectSmall: '3px 25px 3px 7px',\n paddingSelectDefault: '6px 25px 6px 10px',\n paddingSelectLarge: '9px 25px 9px 12px',\n // 大小字体设置\n fontSizeSelectSmall: '12px',\n fontSizeSelectDefault: '14px',\n fontSizeSelectLarge: '16px',\n // 字体颜色\n colorSelectBase: '#182026',\n colorSelectDisabled: '#a5a5a5',\n // 背景颜色\n backgroundColorSelectBase: '#f5f8fa',\n backgroundColorSelectHover: '#ebf1f5',\n backgroundColorSelectDisabled: '#dddddd',\n // 阴影\n boxShadowSelectBase: 'inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);',\n boxShadowSelectDisabled: 'none',\n // 鼠标移入\n cursorSelectDefault: 'pointer',\n cursorSelectDisabled: 'not-allowed',\n\n //\n borderRadiusDefault: '3px',\n\n backgroundImageSelectUrl: `url(${selectArrow})`,\n};\n\nexport interface SelectWarpProps extends ThemeVariantValueOptions<typeof SelectStyleTheme>, Omit<SelectProps, 'size'> {\n params: {\n size: 'large' | 'default' | 'small';\n };\n}\n\nexport const SelectStyleWarp = styled.select<SelectWarpProps>`\n display: inline-flex;\n appearance: none;\n cursor: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'cursorSelectDefault')};\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'colorSelectBase')};\n padding: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'paddingSelectDefault')};\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'fontSizeSelectDefault')};\n width: 100%;\n max-width: 100%;\n margin: 0;\n line-height: 18px;\n vertical-align: middle;\n box-sizing: border-box;\n border: none;\n box-shadow: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'boxShadowSelectBase')};\n border-radius: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'borderRadiusDefault')};\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'backgroundColorSelectBase')};\n background-image: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'backgroundImageSelectUrl')},\n linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));\n background-repeat: no-repeat, repeat;\n background-position: right 0.7em top 50%, 0 0;\n background-size: 0.62em auto, 100%;\n &:focus {\n outline: none !important;\n }\n &:hover {\n box-shadow: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'boxShadowSelectBase')};\n background-clip: padding-box;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'backgroundColorSelectHover')};\n }\n &:disabled {\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'boxShadowSelectDisabled')};\n background-image: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'backgroundImageSelectUrl')};\n background-size: 0.52em auto, 100%;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'backgroundColorSelectDisabled')};\n opacity: 0.75;\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'colorSelectDisabled')};\n cursor: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'cursorSelectDisabled')};\n resize: none;\n }\n ${(props) =>\n props.params.size === 'large' &&\n css`\n padding: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'paddingSelectLarge')};\n font-size: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'fontSizeSelectLarge')};\n `}\n ${(props) =>\n props.params.size === 'small' &&\n css`\n padding: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'paddingSelectSmall')};\n font-size: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SelectStyleTheme }, 'fontSizeSelectSmall')};\n `}\n`;\n\n// SelectStyleWarp.defaultProps = {\n// defaultTheme: SelectStyleTheme,\n// };\n","import React from 'react';\nimport { IProps } from '@uiw/utils';\nimport Option from './Option';\nimport Group from './Group';\n\nimport { SelectStyleWarp } from './style';\nexport * from './style';\nexport interface SelectProps extends IProps, Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {\n size?: 'large' | 'default' | 'small';\n}\n\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>((props, ref) => {\n const { prefixCls = 'w-select', className, size = 'default', ...other } = props;\n const cls = [prefixCls, className, size ? `${prefixCls}-${size}` : null].filter(Boolean).join(' ').trim();\n\n return <SelectStyleWarp {...other} ref={ref} className={cls} params={{ size }} />;\n});\n\ntype Select = typeof Select & {\n Option: typeof Option;\n Group: typeof Group;\n};\n\n(Select as Select).Option = Option;\n(Select as Select).Group = Group;\n\nexport default Select as Select;\n","import { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport styled from 'styled-components';\nimport { TextareaProps } from '../index';\n\nexport const TextareaStyleTheme = {\n // 圆角\n borderRadiusDefault: '3px',\n // 大小设置\n fontSizeSmall: '12px',\n fontSizeDefault: '14px',\n fontSizeLarge: '16px',\n //字体颜色\n colorTextareaDefault: '#393e48',\n colorTextareaDark: '#fff',\n //背景色\n backgroundColorTextareaStyleWarpBase: '#f8f9fa',\n // 阴影\n boxShadowTextarea:\n '0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n boxShadowTextareaFocus: '0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n boxShadowTextareaHover: '0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n boxShadowTextareaFocusHover:\n '0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n //禁用\n colorTextareaDisabled: '#a5a5a5',\n backgroundTextareaDisabled: '#dddddd',\n};\n\ninterface TextareaStyleWarpProps extends TextareaProps, ThemeVariantValueOptions<typeof TextareaStyleTheme> {}\n\nexport const TextareaStyleWarp = styled.textarea<TextareaStyleWarpProps>`\n position: relative;\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, 'fontSizeDefault')};\n outline: none;\n border: none;\n border-radius: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, 'borderRadiusDefault')};\n box-shadow: ${(props) => getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, 'boxShadowTextarea')};\n padding: 5px 10px;\n vertical-align: middle;\n height: auto;\n min-height: 30px;\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, 'colorTextareaDefault')};\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, 'backgroundColorTextareaStyleWarpBase')};\n font-weight: 400;\n max-width: 100%;\n min-width: 100%;\n width: 100%;\n transition: box-shadow 0.1s cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 0.1s cubic-bezier(0.4, 1, 0.75, 0.9);\n appearance: none;\n &:not(:first-child) {\n padding-left: 30px;\n }\n &:focus {\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, `boxShadowTextareaFocus`)};\n }\n &:hover {\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, `boxShadowTextareaFocus`)};\n }\n &:focus&:hover {\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, `boxShadowTextareaFocusHover`)};\n }\n &:disabled {\n box-shadow: none;\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, `backgroundTextareaDisabled`)};\n opacity: 0.75;\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: TextareaStyleTheme }, `colorTextareaDisabled`)};\n cursor: not-allowed;\n resize: none;\n }\n`;\n\n// TextareaStyleWarp.defaultProps = {\n// defaultTheme: TextareaStyleTheme,\n// };\n","import React from 'react';\nimport { IProps, HTMLTextProps } from '@uiw/utils';\nimport { TextareaStyleWarp } from './style/index';\nexport * from './style';\nexport interface TextareaProps extends IProps, HTMLTextProps {}\n\nexport default React.forwardRef<HTMLTextAreaElement, TextareaProps>((props, ref) => {\n const { prefixCls = 'w-textarea', className, ...restProps } = props;\n return (\n <TextareaStyleWarp className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...restProps} ref={ref}>\n {props.children}\n </TextareaStyleWarp>\n );\n});\n","import styled, { css } from 'styled-components';\nimport { HTMLInputProps, ThemeVariantValueOptions, HTMLDivProps, getThemeVariantValue } from '@uiw/utils';\nimport { InputStyleBase } from '@uiw/react-input';\nimport { SelectStyleWarp } from '@uiw/react-select';\nimport { TextareaStyleWarp } from '@uiw/react-textarea';\n\nexport const FormStyleTheme = {\n colorFormStyleHelpStyleBase: '#c2c2c2',\n colorFormStyleItemErrorBase: '#dc3545',\n boxShadowFormStyleItemErrorBase:\n '0 0 0 1px #dc3545, 0 0 0 3px rgba(220, 53, 69, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n};\n\nconst propsTheme = {\n defaultTheme: { ...FormStyleTheme },\n};\n\ninterface FormStyleItemProps extends HTMLInputProps, ThemeVariantValueOptions<typeof FormStyleTheme> {\n hasError?: boolean;\n}\n\nexport const LabelStyle = styled.label`\n line-height: 32px;\n min-height: 32px;\n font-weight: 600;\n font-size: 14px;\n padding-right: 5px;\n label {\n display: inline-block;\n }\n`;\n\nexport interface FormStyleHelpStyleProps extends HTMLDivProps, ThemeVariantValueOptions<typeof FormStyleTheme> {}\n\nexport const FormStyleHelpStyle = styled.div`\n color: ${(props) => getThemeVariantValue({ ...props, ...propsTheme }, 'colorFormStyleHelpStyleBase')};\n font-size: 12px;\n padding-top: 3px;\n`;\nexport const FormStyleRowStyle = styled.div`\n align-items: center;\n display: flex;\n`;\n\nexport const FormStyleItem = styled.div<FormStyleItemProps>`\n margin-bottom: 10px;\n ${(props) =>\n props.hasError &&\n css`\n ${InputStyleBase},${SelectStyleWarp},${TextareaStyleWarp} {\n box-shadow: ${() => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowFormStyleItemErrorBase')};\n &:hover {\n box-shadow: ${() => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowFormStyleItemErrorBase')};\n }\n &:focus,\n &:hover {\n box-shadow: ${() => getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowFormStyleItemErrorBase')};\n }\n }\n ${LabelStyle}, ${FormStyleHelpStyle} {\n color: ${() => getThemeVariantValue({ ...props, ...propsTheme }, 'colorFormStyleItemErrorBase')};\n }\n `}\n`;\n","import React from 'react';\nimport { Col, Row } from '@uiw/react-grid';\nimport { IProps, HTMLInputProps } from '@uiw/utils';\nimport { FormFieldsProps } from './Form';\nimport { FormStyleItem, LabelStyle, FormStyleHelpStyle, FormStyleRowStyle } from './style/item';\n\nexport interface FormItemProps<T> extends IProps, HTMLInputProps {\n inline?: boolean;\n hasError?: boolean;\n label?: React.ReactNode;\n required?: boolean;\n labelFor?: string;\n labelClassName?: string;\n help?: React.ReactNode;\n labelStyle?: React.CSSProperties;\n initialValue?: string | number | T;\n validator?: FormFieldsProps<T>['validator'];\n}\n\nexport default class FormItem<T> extends React.PureComponent<FormItemProps<T>> {\n public static defaultProps = {\n prefixCls: 'w-form-item',\n };\n render() {\n const {\n prefixCls,\n className,\n required,\n style,\n label,\n labelFor,\n labelClassName,\n labelStyle,\n help,\n inline,\n initialValue,\n validator,\n hasError,\n ...otherProps\n } = this.props;\n\n const cls = [prefixCls, className, hasError ? `${prefixCls}-error` : null].filter(Boolean).join(' ').trim();\n const labelCls = ['w-form-label', labelClassName].filter(Boolean).join(' ').trim();\n if (inline) {\n return (\n <FormStyleItem hasError={hasError} className={cls} style={style} {...otherProps}>\n <FormStyleRowStyle as={Row}>\n <LabelStyle as={Col} fixed className={labelCls}>\n {required && <label style={{ color: 'red' }}>*</label>}\n <LabelStyle style={labelStyle} htmlFor={labelFor}>\n {label}\n </LabelStyle>\n </LabelStyle>\n <Col className=\"w-form-row\">{this.props.children}</Col>\n </FormStyleRowStyle>\n {help && (\n <FormStyleRowStyle as={Row}>\n <FormStyleHelpStyle as={Col} className=\"w-form-help\">\n {help}\n </FormStyleHelpStyle>\n </FormStyleRowStyle>\n )}\n </FormStyleItem>\n );\n }\n return (\n <FormStyleItem hasError={hasError} className={cls} style={style} {...otherProps}>\n {label && (\n <React.Fragment>\n {required && <label style={{ color: 'red' }}>*</label>}\n <LabelStyle className={labelCls} style={labelStyle} htmlFor={labelFor}>\n {label}\n </LabelStyle>\n </React.Fragment>\n )}\n <Col className=\"w-form-row\">{this.props.children}</Col>\n {help && <FormStyleHelpStyle className=\"w-form-help\">{help}</FormStyleHelpStyle>}\n </FormStyleItem>\n );\n }\n}\n","import styled from 'styled-components';\nimport { ThemeVariantValueOptions } from '@uiw/utils';\n\nexport interface FormStyleProps extends ThemeVariantValueOptions {}\n\nexport const FormStyleWarp = styled.form<FormStyleProps>``;\n\nexport const FormStyleFieldset = styled.fieldset`\n margin: 0;\n padding: 0;\n border-width: 0;\n`;\n","import React, { useState, useImperativeHandle, useMemo } from 'react';\nimport { IProps } from '@uiw/utils';\nimport FormItem, { FormItemProps } from './FormItem';\nimport { FormStyleWarp, FormStyleFieldset } from './style';\nexport * from './style/item';\nexport * from './style';\n\nexport interface FormProps<T> extends IProps, Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onChange' | 'onSubmit'> {\n prefixCls?: string;\n fields?: Record<string, FormFieldsProps<T>>;\n onSubmit?: (state: FormSubmitProps, event: React.FormEvent) => any;\n afterSubmit?: (result: FormAfterSubmitProps) => any;\n onChange?: (state: FormState) => void;\n onSubmitError?: (evn: any) => any;\n resetOnSubmit?: boolean;\n children?: ((handle: FormChildrenProps) => JSX.Element | undefined) | JSX.Element | undefined;\n}\n\nexport interface FormState {\n submitting: boolean;\n initial: Record<string, any>;\n current: FormState['initial'];\n errors: Record<string, any>;\n}\n\nexport interface FormFieldsProps<T> extends FormItemProps<T> {\n name?: string;\n children?: React.ReactNode;\n help?: React.ReactNode;\n labelFor?: string;\n inline?: boolean;\n checked?: boolean;\n initialValue?: string | number | T;\n required?: boolean;\n validator?: (currentValue: any) => any;\n}\n\nexport interface FormSubmitProps {\n initial: FormState['initial'];\n current: FormState['current'];\n}\n\nexport interface FormAfterSubmitProps {\n state: FormState;\n response: any;\n reset: () => void;\n}\n\nexport interface FormChildrenProps {\n fields: Record<string, React.ReactElement>;\n resetForm: () => void;\n canSubmit: () => boolean;\n state: FormState;\n}\n\nexport type FormElementProps = {\n id?: string;\n name?: string;\n value?: string | boolean;\n checked?: boolean;\n onChange?: (env: React.BaseSyntheticEvent<HTMLInputElement>, list?: string[]) => void;\n};\n\nexport type FormRefType = Record<\n 'onSubmit' | 'resetForm' | 'getFieldValues' | 'setFields' | 'getError' | 'setFieldValue',\n Function\n>;\n\nfunction newFormState<T>(\n fields: FormProps<T>['fields'],\n cb: (porps: FormFieldsProps<T>) => {\n initialValue: FormFieldsProps<T>['initialValue'];\n currentValue: FormFieldsProps<T>['initialValue'];\n },\n): FormState {\n const state: FormState = {\n initial: {},\n current: {},\n submitting: false,\n errors: {},\n };\n for (const name in fields) {\n const props = fields[name];\n if (!props) continue;\n const { initialValue, currentValue } = cb({ ...props, name });\n state.initial[name] = Array.isArray(initialValue) ? [...initialValue] : initialValue;\n state.current[name] = currentValue;\n }\n return state;\n}\n\nfunction newInitialValue<T>(value: FormFieldsProps<T>['initialValue']) {\n return value === null || value === undefined ? '' : value;\n}\n\nconst isPromise = (promise: Promise<any>) => promise && typeof promise.then === 'function';\n\nfunction Form<T>(\n {\n prefixCls = 'w-form',\n className,\n fields,\n children,\n resetOnSubmit,\n onSubmitError,\n onChange,\n onSubmit,\n afterSubmit,\n ...others\n }: FormProps<T>,\n ref: React.ForwardedRef<FormRefType | undefined>, //| React.RefObject<FormRefType>,\n) {\n const initData = useMemo(\n () =>\n newFormState(fields, ({ initialValue }) => {\n initialValue = newInitialValue(initialValue);\n return { initialValue, currentValue: initialValue };\n }),\n [],\n );\n const [data, setData] = useState<FormState>(initData);\n\n useImperativeHandle(\n ref,\n () => ({\n onSubmit: handleSubmit,\n resetForm: handleReset,\n getFieldValues: () => data.current,\n getError: () => data.errors,\n setFields: setFields,\n setFieldValue: setFieldValue,\n }),\n [data],\n );\n\n const formUnits: FormChildrenProps['fields'] = {};\n for (const name in fields) {\n const props = fields[name];\n if (!props) continue;\n const error = data.errors[name];\n if (typeof props.initialValue === 'boolean') {\n props.checked = props.initialValue;\n }\n const childField: FormFieldsProps<T> = controlField({\n ...props,\n name,\n });\n const help = error || props.help;\n const labelFor = props.labelFor;\n formUnits[name] = (\n <FormItem\n {...{\n ...props,\n key: name,\n children: childField,\n help,\n labelFor,\n state: data,\n name,\n hasError: !!error,\n }}\n />\n );\n }\n\n function setFields(fields: FormState['current']) {\n const tempData = { ...data, current: fields };\n setData(tempData);\n }\n\n function setFieldValue<V>(fieldName: string, value: V) {\n const tempData = { ...data, current: { ...data.current, [fieldName]: value } };\n setData(tempData);\n }\n\n function handleChange(\n name: string,\n validator: FormFieldsProps<T>['validator'],\n element?: React.ReactElement,\n cb?: (env: React.BaseSyntheticEvent<HTMLInputElement>) => void,\n ) {\n return (env: React.BaseSyntheticEvent<HTMLInputElement>, list?: string[]) => {\n let value = env && env.target && 'value' in env.target ? env.target.value : env;\n // 控件 Checkbox.Group 多选值的处理\n value = list || value;\n // 控件 Checkbox 值的处理\n if (!list && element && env && env.target && /(radio)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.value ? env.target.value : env.target.checked;\n }\n if (!list && element && env && env.target && /(checkbox)/.test(env.target.type)) {\n // 控件 Switch/Radio/Checkbox 值的处理\n value = env.target.checked;\n }\n const nextState = {\n current: { ...data.current, [name]: value },\n } as FormState;\n const error = validator && validator(value);\n if (!error) {\n nextState.errors = { ...data.errors };\n delete nextState.errors[name];\n }\n if (env && env.persist && typeof env.persist === 'function') env.persist();\n setData({ ...data, ...nextState });\n if (cb) {\n cb(env);\n }\n onChange && onChange({ ...data, ...nextState });\n };\n }\n\n function handleSubmit(e: React.FormEvent) {\n e && e.preventDefault();\n const { initial, current } = data;\n setData({ ...data, submitting: true });\n const nextState = { submitting: false } as FormState;\n const onError = (evn: unknown) =>\n setData({\n ...data,\n ...nextState,\n errors: (onSubmitError && onSubmitError(evn)) || {},\n });\n const onSuccess = (response: any) => {\n if (resetOnSubmit) {\n nextState.current = initial;\n }\n setData({ ...data, ...nextState, errors: {} });\n afterSubmit && afterSubmit({ state: data, response, reset: handleReset });\n };\n try {\n const afterSubmitPromise = onSubmit ? onSubmit({ initial, current }, e) : undefined;\n if (afterSubmitPromise && isPromise(afterSubmitPromise)) {\n return afterSubmitPromise.then(onSuccess).catch(onError);\n } else {\n return onSuccess(afterSubmitPromise);\n }\n } catch (evn) {\n onError(evn);\n }\n }\n\n function canSubmit() {\n const { submitting, current = {} } = data;\n let passesValidators = true;\n for (const name in fields) {\n if (Object.prototype.hasOwnProperty.call(fields, name)) {\n const props: FormFieldsProps<T> = fields[name];\n if (!props) continue;\n if (props.validator && props.validator(current[name])) {\n passesValidators = false;\n break;\n }\n }\n }\n return !submitting && passesValidators;\n }\n\n function handleReset() {\n let { initial } = data;\n const initials = { ...initial };\n Object.entries(initials).map(([key, value]) => {\n if (Array.isArray(value)) {\n initials[key] = [...value];\n }\n });\n setData({ ...data, initial, current: initials, errors: {} });\n }\n\n function controlField({\n children,\n validator,\n name,\n help,\n label,\n labelFor,\n labelClassName,\n labelStyle,\n inline,\n initialValue,\n ...other\n }: FormFieldsProps<T>) {\n const element =\n typeof children !== 'function'\n ? children\n : children({\n onChange: handleChange(name!, validator),\n onSubmit: handleSubmit,\n canSubmit: canSubmit,\n });\n if (!element || React.Children.count(element) !== 1 || !name) return element;\n const props = {\n name: element.props.name || name,\n ...other,\n } as FormElementProps;\n const hasCurrentValue = Object.prototype.hasOwnProperty.call(data.current, name);\n props.id = element.props.id;\n props.value = hasCurrentValue ? data.current && data.current[name] : props.value;\n // : element.props.value;\n\n const type = element.props.type;\n // console.log('type', element)\n if (type === 'checkbox' || type === 'switch' || typeof props.value === 'boolean') {\n props.checked = !!props.value;\n delete props.value;\n }\n props.onChange = handleChange(name, validator, element, element.props.onChange) as FormElementProps['onChange'];\n return React.cloneElement(element, props as FormElementProps);\n }\n\n return (\n <FormStyleWarp\n {...{\n ...others,\n className: [prefixCls, className].filter(Boolean).join(' ').trim(),\n onSubmit: handleSubmit,\n }}\n >\n <FormStyleFieldset {...{ disabled: data.submitting }}>\n {typeof children === 'function'\n ? children({\n fields: formUnits,\n state: data,\n resetForm: handleReset,\n canSubmit: canSubmit,\n })\n : children}\n </FormStyleFieldset>\n </FormStyleWarp>\n );\n}\n\nexport default React.forwardRef<FormRefType | undefined, FormProps<{}>>(Form);\n","import Form from './Form';\nexport * from './Form';\nexport * from './FormItem';\nexport { default as FormItem } from './FormItem';\nexport * from './style';\nexport default Form;\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\nimport { ListItemProps, ListProps } from 'src';\n\nexport const ListStyleTheme = {\n fontSizeSmall: '12px',\n fontSizeDefault: '14px',\n fontSizeLarge: '16px',\n lineHeightDefault: 1.5,\n\n colorListBase: '#52575c',\n backgroundColorListBase: '#fff',\n boxShadowListActive: 'rgba(0, 0, 0, 0.2)',\n borderColorListActive: 'rgba(0, 0, 0, 0.2)',\n colorListBorder: '#e9e9e9',\n backgroundColorListStriped: '#f8f8f9',\n backgroundColorListBordered: '#e8e8e8',\n\n colorListItemDisabled: '#a3a6a9',\n backgroundListItemActive: '#f8f8f9',\n colorListItemActive: '#007bff',\n backgroundListItemNotDisabledHover: '#f8f8f9',\n};\nconst propsTheme = {\n defaultTheme: { ...ListStyleTheme },\n};\nexport interface ListStyleWarp\n extends ThemeVariantValueOptions<typeof ListStyleTheme>,\n Pick<ListProps<any>, 'striped' | 'noHover' | 'active' | 'bordered' | 'size'> {}\n\nexport interface ListStyleItemWarpProps\n extends ThemeVariantValueOptions<typeof ListStyleTheme>,\n Pick<ListItemProps<any>, 'disabled' | 'active'> {}\n\nexport const ListStyleItemMain = styled.div`\n display: block;\n flex: 1;\n`;\nexport const ListStyleItemExtra = styled.div`\n margin-left: 40px;\n`;\n\nexport const ListStyleItemWarp = styled.div<ListStyleItemWarpProps>`\n ${(props) => css`\n display: flex;\n align-items: center;\n\n ${props.disabled &&\n css`\n cursor: not-allowed;\n text-decoration: none;\n pointer-events: none;\n color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'colorListItemDisabled')};\n `}\n\n ${props.active &&\n css`\n background: ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundListItemActive')};\n color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'colorListItemActive')};\n `}\n\n ${props.disabled &&\n css`\n display: block;\n color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'colorListItemDisabled')} !important; //#;\n `}\n\n :hover {\n ${!props.disabled &&\n css`\n background: ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundListItemNotDisabledHover')};\n `}\n }\n `}\n`;\n\nconst active = css`\n ${(props) => css`\n box-shadow: 0 1px 6px ${getThemeVariantValue({ ...props, ...propsTheme }, 'boxShadowListActive')};\n border-color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'borderColorListActive')};\n `}\n`;\n\nexport const ListStyleHeader = styled.div``;\nexport const ListStyleFooter = styled.div``;\n\nexport const ListStyleWarp = styled.div<ListStyleWarp>`\n ${(props) => css`\n font-size: ${getThemeVariantValue({ ...props, ...propsTheme }, 'fontSizeDefault')};\n line-height: ${getThemeVariantValue({ ...props, ...propsTheme }, 'lineHeightDefault')};\n color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'colorListBase')};\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n position: relative;\n background-color: ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorListBase')};\n transition: all 0.3s;\n &:hover {\n ${!props.noHover && active}\n }\n ${props.active && active}\n\n ${props.bordered &&\n css`\n border: 1px solid ${getThemeVariantValue({ ...props, ...propsTheme }, 'colorListBorder')};\n border-radius: 4px;\n `}\n\n ${ListStyleItemWarp} {\n :last-child {\n ${props.bordered &&\n css`\n border-bottom: 0;\n border-radius: 0 0 14px 4px;\n `}\n }\n\n :nth-of-type(2n) {\n ${props.striped &&\n css`\n background: ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorListStriped')};\n `}\n }\n }\n\n ${ListStyleItemWarp},${ListStyleHeader} {\n ${props.bordered &&\n css`\n border-bottom: 1px solid ${getThemeVariantValue({ ...props, ...propsTheme }, 'backgroundColorListBordered')};\n `}\n }\n\n ${ListStyleItemWarp},${ListStyleHeader},${ListStyleFooter} {\n padding: 12px 18px;\n ${props.size === 'small' &&\n css`\n padding: 18px 16px;\n `}\n ${props.size === 'large' &&\n css`\n padding: 16px 24px;\n `}\n }\n `}\n`;\nexport default ListStyleWarp;\n","import React, { Fragment } from 'react';\nimport { IProps } from '@uiw/utils';\nimport { ListStyleItemExtra, ListStyleItemMain, ListStyleItemWarp } from './style';\n\nexport type TagType = React.ComponentType | keyof JSX.IntrinsicElements;\n\nexport interface ListItemProps<Tag extends TagType> extends IProps, React.HTMLProps<Tag> {\n disabled?: boolean;\n active?: boolean;\n extra?: React.ReactNode;\n href?: string;\n tagName?: Tag;\n}\n\nexport const ListItem = React.forwardRef(\n <Tag extends TagType = 'div'>(props: ListItemProps<Tag>, ref: React.Ref<React.HTMLProps<Tag>>) => {\n const {\n prefixCls = 'w-list-item',\n className,\n children,\n extra,\n tagName = 'div',\n active = false,\n ...resetProps\n } = props;\n\n const cls = [prefixCls, className, props.disabled ? 'w-disabled' : null, active ? 'w-active' : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n const TagName = props.href && typeof tagName === 'string' ? 'a' : tagName;\n return React.createElement(\n ListStyleItemWarp,\n {\n ...resetProps,\n className: cls,\n as: TagName,\n ref,\n disabled: props.disabled,\n active,\n } as any,\n !extra || resetProps.href ? (\n children\n ) : (\n <Fragment>\n <ListStyleItemMain className={`${prefixCls}-main`}>{children}</ListStyleItemMain>\n <ListStyleItemExtra className={`${prefixCls}-extra`}>{extra}</ListStyleItemExtra>\n </Fragment>\n ),\n );\n },\n);\n\nListItem.displayName = 'List.Item';\n","import React from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { ListItem } from './Item';\nimport ListWarp, { ListStyleFooter, ListStyleHeader } from './style';\nexport * from './Item';\nexport * from './style';\n\nexport interface ListProps<T> extends IProps, HTMLDivProps {\n bordered?: boolean;\n striped?: boolean;\n noHover?: boolean;\n active?: boolean;\n header?: React.ReactNode;\n footer?: React.ReactNode;\n size?: 'small' | 'default' | 'large';\n renderItem?: (item: any, idx: number) => React.ReactNode;\n dataSource?: T[];\n}\n\nfunction InternalList<T>(props: ListProps<T>, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-list',\n bordered = true,\n striped = false,\n noHover = false,\n active = false,\n size = 'default',\n renderItem = noop,\n className,\n children,\n header,\n footer,\n dataSource = [],\n ...resetProps\n } = props;\n let items: React.ReactNode;\n if (dataSource && dataSource.length > 0) {\n items = dataSource.map((item: any, index: number) => renderItem!(item, index)) as React.ReactNode;\n } else {\n items = children;\n }\n let childrenList = React.Children.map(\n items,\n (child: React.ReactNode, index) =>\n React.isValidElement(child) &&\n React.cloneElement(child, {\n key: index,\n }),\n );\n const classString = [\n prefixCls,\n className,\n striped ? `${prefixCls}-striped` : null,\n noHover ? `${prefixCls}-no-hover` : null,\n active ? `${prefixCls}-active` : null,\n bordered ? `${prefixCls}-bordered` : null,\n size && size !== 'default' ? `${prefixCls}-size-${size}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n return (\n <ListWarp\n className={classString}\n {...resetProps}\n ref={ref}\n striped={striped}\n noHover={noHover}\n active={active}\n bordered={bordered}\n size={size}\n >\n {header && <ListStyleHeader className={`${prefixCls}-header`}>{header}</ListStyleHeader>}\n {childrenList}\n {footer && <ListStyleFooter className={`${prefixCls}-footer`}>{footer}</ListStyleFooter>}\n </ListWarp>\n );\n}\n\nconst List = React.forwardRef<HTMLDivElement, ListProps<any>>(InternalList);\ntype List = typeof List & {\n Item: typeof ListItem;\n};\n\n(List as List).Item = ListItem;\n\nexport default List as List;\n","import styled, { css, keyframes } from 'styled-components';\nimport { ThemeVariantValueOptions } from '@uiw/utils';\nimport React from 'react';\n\nconst loaderRotate = keyframes`\nto {\n transform: rotate(1turn);\n }\n`;\n\nconst loaderDash = keyframes`\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35;\n }\n\n to {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124;\n }\n`;\n\nconst loaderColor = keyframes`\n 0%,\n to {\n stroke: currentColor;\n }\n 80%,\n 90% {\n stroke: currentColor;\n }\n`;\n\nexport interface LoaderStyleSvgProps extends React.SVGProps<SVGSVGElement>, ThemeVariantValueOptions {\n size?: 'small' | 'default' | 'large';\n}\nexport const LoaderStyleSvg = styled.svg<LoaderStyleSvgProps>`\n height: 100%;\n width: 100%;\n animation: ${loaderRotate} 2s linear infinite;\n transform-origin: center center;\n fill: currentcolor;\n vertical-align: middle;\n circle {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n animation: ${loaderDash} 1.5s ease-in-out infinite, ${loaderColor} 6s ease-in-out infinite;\n stroke-linecap: round;\n }\n ${(props) =>\n props.size === 'large' &&\n css`\n & {\n width: 30px;\n height: 30px;\n circle {\n stroke-width: 3px;\n }\n }\n `}\n ${(props) =>\n props.size === 'default' &&\n css`\n & {\n width: 20px;\n height: 20px;\n }\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n & {\n width: 14px;\n height: 14px;\n }\n `}\n`;\n\nexport interface LoaderStyleTipsProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions {\n fullscreen?: boolean;\n}\n\nexport const LoaderStyleTips = styled.div<LoaderStyleTipsProps>`\n color: #2d8cf0;\n text-align: center;\n position: relative;\n height: 100%;\n width: 100%;\n z-index: 4;\n font-weight: 400;\n &:before {\n content: ' ';\n display: inline-block;\n height: 100%;\n width: 0.1px;\n vertical-align: middle;\n }\n &:not(:last-child) {\n position: absolute;\n }\n ${(props) =>\n props.fullscreen &&\n css`\n & {\n position: fixed;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n z-index: 99999;\n }\n `}\n`;\n\nexport interface LoaderStyleTipsNestedProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions {}\n\nexport const LoaderStyleTipsNested = styled.div<LoaderStyleTipsNestedProps>`\n vertical-align: middle;\n display: inline-block;\n`;\n\nexport interface LoaderStyleTipsNestedTextProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions {\n vertical?: boolean;\n}\n\nexport const LoaderStyleTipsNestedText = styled.div<LoaderStyleTipsNestedTextProps>`\n display: inline-block;\n margin-left: 5px;\n vertical-align: middle;\n ${(props) =>\n props.vertical &&\n css`\n & {\n display: block;\n margin-left: 0;\n margin-top: 5px;\n }\n `}\n`;\n\nexport interface LoaderStyleWarpProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions {}\nexport const LoaderStyleWarp = styled.div<LoaderStyleWarpProps>`\n position: relative;\n display: inline-block;\n`;\n\nexport interface LoaderStyleChildProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions {\n load?: boolean;\n}\n\nexport const LoaderStyleChild = styled.div<LoaderStyleChildProps>`\n transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n ${(props) =>\n props.load &&\n css`\n & {\n opacity: 0.5;\n filter: blur(0.5px);\n overflow: hidden;\n }\n `}\n`;\n","import React, { useMemo } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport {\n LoaderStyleSvg,\n LoaderStyleTips,\n LoaderStyleTipsNested,\n LoaderStyleTipsNestedText,\n LoaderStyleWarp,\n LoaderStyleChild,\n} from './style';\nexport * from './style';\n\nexport interface LoaderProps extends IProps, HTMLDivProps {\n size?: 'small' | 'default' | 'large';\n loading?: boolean;\n fullscreen?: boolean;\n color?: string;\n bgColor?: string;\n vertical?: boolean;\n tip?: React.ReactNode;\n indicator?: React.ReactNode;\n children?: any | React.ReactNode;\n}\n\nexport default (props: LoaderProps = {}) => {\n const {\n prefixCls = 'w-loader',\n className,\n size = 'default',\n loading = true,\n tip,\n vertical,\n color,\n bgColor,\n children,\n indicator,\n fullscreen = false,\n ...otherProps\n } = props;\n const cls = [prefixCls, className, size ? `${prefixCls}-${size}` : null].filter(Boolean).join(' ').trim();\n\n const indicatorView = useMemo(\n () => (\n <LoaderStyleSvg size={size} viewBox=\"25 25 50 50\">\n <circle cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" strokeWidth=\"5\" strokeMiterlimit=\"10\" />\n </LoaderStyleSvg>\n ),\n [],\n );\n\n const tipsView = useMemo(\n () => (\n <LoaderStyleTips\n fullscreen={fullscreen}\n className={[`${prefixCls}-tips`, fullscreen ? `${prefixCls}-fullscreen` : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n style={{ color, backgroundColor: bgColor }}\n >\n <LoaderStyleTipsNested className={`${prefixCls}-tips-nested`}>\n {indicator || indicatorView}\n {tip && (\n <LoaderStyleTipsNestedText\n vertical={vertical}\n className={[`${prefixCls}-text`, vertical ? `${prefixCls}-vertical` : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {tip}\n </LoaderStyleTipsNestedText>\n )}\n </LoaderStyleTipsNested>\n </LoaderStyleTips>\n ),\n [fullscreen, bgColor, prefixCls, vertical, tip],\n );\n return (\n <LoaderStyleWarp className={cls} {...otherProps}>\n {(loading || fullscreen) && tipsView}\n {children &&\n React.cloneElement(\n <LoaderStyleChild load={loading}>{children}</LoaderStyleChild>,\n Object.assign({}, children.props, {\n className: [`${prefixCls}-warp`, loading ? `${prefixCls}-blur` : null].filter(Boolean).join(' ').trim(),\n }),\n )}\n </LoaderStyleWarp>\n );\n};\n","import styled, { css } from 'styled-components';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport Button, { ButtonProps } from '@uiw/react-button';\n\nexport const MessageStyleTheme = {\n colorMessageChildren: 'rgba(0, 0, 0, 0.65)',\n colorMessageTitle: 'rgba(0, 0, 0, 0.85)',\n backgroundMessageSuccess: '#afecbd',\n colorMessageSuccess: '#28a745',\n backgroundMessageWarning: '#fff4d3',\n colorMessageWarning: '#ffc107',\n backgroundMessageInfo: '#bde4ff',\n colorMessageInfo: '#008ef0',\n backgroundMessageError: '#fae3e5',\n colorMessageError: '#dc3545',\n\n colorMessageDescriptionSpanBase: 'rgba(0, 0, 0, 0.65)',\n colorMessageTitleSpanBase: 'rgba(0, 0, 0, 0.85)',\n backgroundColorMessageButtonWarpHover: 'rgba(255, 255, 255, 0.21) !important',\n colorMessageButtonWarpBase: 'rgba(0, 0, 0, 0.38)',\n backgroundColorMessageButtonWarpActive: 'rgba(0, 0, 0, 0.1) !important',\n};\n\ntype ThemeVar = ThemeVariantValueOptions<typeof MessageStyleTheme>;\n\ninterface DivWrapProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ThemeVar {\n params: {\n rounded: boolean | undefined;\n type: 'success' | 'warning' | 'info' | 'error' | undefined;\n children: any;\n showIcon: boolean | undefined;\n title: React.ReactNode;\n };\n}\n\nconst MessageStyleWrap = styled.div<DivWrapProps>`\n padding: 10px 15px;\n position: relative;\n font-size: 14px;\n`;\n// 最外层div\nexport const MessageStyleDivWrap = styled(MessageStyleWrap)<DivWrapProps>`\n margin-top: 10px;\n ${(props) => {\n if (props.params?.showIcon) {\n if (props.params?.children && props.params?.title) {\n return css`\n > ${IconStyleBase} {\n font-size: 24px;\n }\n `;\n }\n if (props.params?.children) {\n return css`\n display: block;\n color: ${getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'colorMessageChildren')};\n `;\n }\n if (props.params?.title) {\n return css`\n display: block;\n color: ${getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'colorMessageTitle')};\n `;\n }\n }\n }}\n ${(props) =>\n props.params?.rounded &&\n css`\n border-radius: 5px;\n `}\n\n ${(props) =>\n props.params?.showIcon &&\n css`\n padding-left: 34px;\n `}\n\n ${(props) => {\n //\n switch (props.params.type) {\n case 'success':\n return css`\n background: ${getThemeVariantValue(\n { ...props, defaultTheme: MessageStyleTheme },\n 'backgroundMessageSuccess',\n )};\n color: ${getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'colorMessageSuccess')};\n `;\n case 'warning':\n return css`\n background: ${getThemeVariantValue(\n { ...props, defaultTheme: MessageStyleTheme },\n 'backgroundMessageWarning',\n )};\n color: ${getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'colorMessageWarning')};\n `;\n case 'info':\n return css`\n background: ${getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'backgroundMessageInfo')};\n color: ${getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'colorMessageInfo')};\n `;\n case 'error':\n return css`\n background: ${getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'backgroundMessageError')};\n color: ${getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'colorMessageError')};\n `;\n default:\n return css``;\n }\n }}\n > ${IconStyleBase} {\n top: 14px;\n left: 14px;\n position: absolute;\n }\n /* CSSTransition */\n &.w-message-enter {\n transform: scaleY(0.5);\n opacity: 0;\n }\n &.w-message-enter-active {\n opacity: 1;\n transform: scaleY(1);\n transition: transform 300ms ease, opacity 300ms ease;\n }\n &.w-message-exit {\n opacity: 1;\n transform: scaleY(1);\n transition: transform 300ms ease, opacity 300ms ease;\n }\n &.w-message-exit-active {\n transform: scaleY(0.5);\n opacity: 0;\n }\n`;\n\ninterface spanPeops extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, ThemeVar {\n params: {\n children: React.ReactNode;\n showIcon: boolean | undefined;\n title: React.ReactNode;\n };\n}\n// 原始span\nconst MessageStyleSpanWrap = styled.span<spanPeops>`\n display: block;\n`;\n// 详情description\nexport const MessageStyleDescriptionSpan = styled(MessageStyleSpanWrap)<spanPeops>`\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'colorMessageDescriptionSpanBase')};\n ${(props) =>\n props.params.showIcon &&\n props.params.title &&\n props.params.children &&\n css`\n padding-left: 16px;\n `}\n`;\n// 标题title\nexport const MessageStyleTitleSpan = styled(MessageStyleDescriptionSpan)<spanPeops>`\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'colorMessageTitleSpanBase')};\n ${(props) =>\n props.params.showIcon &&\n props.params.title &&\n props.params.children &&\n css`\n font-size: 16px;\n `}\n`;\n\ninterface messageButtonProps extends ButtonProps, ThemeVar {}\n\nexport const MessageStyleButtonWarp = styled(Button)<messageButtonProps>`\n position: absolute;\n right: 10px;\n top: 10px;\n padding: 2px;\n min-width: 16px;\n min-height: 16px;\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'colorMessageButtonWarpBase')};\n &:hover {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'backgroundColorMessageButtonWarpHover')};\n }\n &:active {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: MessageStyleTheme }, 'backgroundColorMessageButtonWarpActive')};\n }\n`;\n\n// MessageStyleDivWrap.defaultProps = {\n// defaultTheme: MessageStyleTheme,\n// };\n\n// MessageStyleButtonWarp.defaultProps = {\n// defaultTheme: MessageStyleTheme,\n// };\n\n// MessageStyleDescriptionSpan.defaultProps = {\n// defaultTheme: MessageStyleTheme,\n// };\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { CircleCheck } from '@uiw/icons/lib/CircleCheck';\nimport { Close } from '@uiw/icons/lib/Close';\nimport { Warning } from '@uiw/icons/lib/Warning';\nimport { Information } from '@uiw/icons/lib/Information';\nimport { CircleClose } from '@uiw/icons/lib/CircleClose';\nimport {\n MessageStyleDivWrap,\n MessageStyleTitleSpan,\n MessageStyleDescriptionSpan,\n MessageStyleButtonWarp,\n} from './style';\nexport * from './style';\nexport interface MessageProps extends IProps, Omit<HTMLDivProps, 'title'> {\n title?: React.ReactNode;\n icon?: React.ReactNode;\n type?: 'success' | 'warning' | 'info' | 'error';\n description?: React.ReactNode;\n showIcon?: boolean;\n isCloseButtonShown?: boolean;\n rounded?: boolean;\n onClose?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport interface IMessageState {\n isOpen: boolean;\n}\n\nexport default class Message extends React.Component<MessageProps, IMessageState> {\n public static defaultProps: MessageProps = {\n prefixCls: 'w-message',\n rounded: true,\n isCloseButtonShown: false,\n };\n constructor(props: MessageProps) {\n super(props);\n this.state = {\n isOpen: true,\n };\n }\n handleClosed = (e: React.MouseEvent<HTMLButtonElement>) => {\n const { onClose } = this.props;\n this.setState({ isOpen: false });\n onClose && onClose(e);\n };\n renderIcon = () => {\n const { type, showIcon } = this.props;\n let base: any = this.props.icon;\n if (!base && showIcon) {\n let fill;\n switch (type) {\n case 'success':\n fill = '#28a745';\n base = CircleCheck;\n break;\n case 'warning':\n fill = '#ffc107';\n base = Warning;\n break;\n case 'info':\n fill = '#008ef0';\n base = Information;\n break;\n case 'error':\n fill = '#dc3545';\n base = CircleClose;\n break;\n default:\n break;\n }\n return <IconStyleBase fill={fill} as={base} />;\n }\n };\n render() {\n const {\n prefixCls,\n className,\n type,\n title,\n description,\n showIcon,\n icon,\n rounded,\n isCloseButtonShown,\n ...elementProps\n } = this.props;\n const children = description || this.props.children;\n const cls = [\n prefixCls,\n className,\n `${prefixCls}-${type}`,\n rounded ? `${prefixCls}-rounded` : null,\n showIcon ? `${prefixCls}-icon` : null,\n showIcon ? `${prefixCls}${title ? '-title' : ''}${children ? '-description' : ''}` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n const Child = (\n <MessageStyleDivWrap params={{ rounded, type, title, children, showIcon }} className={cls} {...elementProps}>\n {isCloseButtonShown && (\n <MessageStyleButtonWarp\n basic\n onClick={this.handleClosed}\n icon={<IconStyleBase fill=\"rgba(0, 0, 0, 0.38)\" as={Close} />}\n type=\"light\"\n />\n )}\n {showIcon && (icon ? icon : this.renderIcon())}\n <MessageStyleTitleSpan params={{ showIcon, title, children }} className={`${prefixCls}-title`}>\n {title}\n </MessageStyleTitleSpan>\n <MessageStyleDescriptionSpan params={{ showIcon, title, children }} className={`${prefixCls}-description`}>\n {children}\n </MessageStyleDescriptionSpan>\n </MessageStyleDivWrap>\n );\n if (!isCloseButtonShown) {\n return Child;\n }\n return (\n <CSSTransition in={this.state.isOpen} unmountOnExit timeout={300} classNames={prefixCls}>\n {Child}\n </CSSTransition>\n );\n }\n}\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport Input, { InputProps } from '@uiw/react-input';\nimport Button, { ButtonProps } from '@uiw/react-button';\n\nexport const MonthPickerTheme = {\n fillMonthPickerStyleCloseButtonBase: '#a5a5a5',\n fillMonthPickerStyleCloseButtonHover: '#393e48',\n};\n\nexport interface MonthPickerStyleCloseButtonProps extends ButtonProps {}\n\nexport const MonthPickerStyleCloseButton = styled(Button)``;\n\nexport interface MonthPickerStylePopoverBaseProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions<Partial<typeof MonthPickerTheme>> {}\n\nexport const MonthPickerStylePopoverBase = styled.div<MonthPickerStylePopoverBaseProps>`\n padding: 5px;\n min-width: 192px;\n max-width: 192px;\n font-size: 14px;\n line-height: 21px;\n`;\n\nexport interface MonthPickerStyleInputStyleBaseProps\n extends InputProps,\n ThemeVariantValueOptions<Partial<typeof MonthPickerTheme>> {}\n\nexport const MonthPickerStyleInputStyleBase = styled(Input)<MonthPickerStyleInputStyleBaseProps>`\n display: inline-block;\n & ${MonthPickerStyleCloseButton} {\n min-height: initial;\n fill: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: MonthPickerTheme }, 'fillMonthPickerStyleCloseButtonBase')};\n cursor: pointer;\n &:hover {\n fill: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: MonthPickerTheme }, 'fillMonthPickerStyleCloseButtonHover')};\n }\n &:active,\n &:hover {\n background-color: transparent !important;\n }\n }\n ${(props) =>\n props.disabled &&\n css`\n & ${MonthPickerStyleCloseButton} {\n display: none !important;\n }\n `}\n`;\n// MonthPickerStyleInputStyleBase.defaultProps = {\n// defaultTheme: MonthPickerTheme,\n// };\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { InputProps } from '@uiw/react-input';\nimport Popover, { PopoverProps } from '@uiw/react-popover';\nimport { IProps } from '@uiw/utils';\nimport formatter from '@uiw/formatter';\nimport { DatePickerMonth, DatePickerYear, DatePickerCaption, DatePickerCaptionProps } from '@uiw/react-date-picker';\nimport { MonthPickerStylePopoverBase, MonthPickerStyleInputStyleBase, MonthPickerStyleCloseButton } from './style';\nexport * from './style';\nimport { Close } from '@uiw/icons/lib/Close';\nimport { IconStyleBase } from '@uiw/react-icon';\nexport interface MonthPickerProps extends IProps, Omit<InputProps, 'value' | 'onChange'> {\n popoverProps?: PopoverProps;\n pickerCaptionProps?: DatePickerCaptionProps;\n value?: Date | string;\n format?: string;\n monthLabel?: string[];\n allowClear?: boolean;\n onChange?: (date?: Date, formatDate?: string) => void;\n}\n\nconst MONTH_LABEL = [\n '一月',\n '二月',\n '三月',\n '四月',\n '五月',\n '六月',\n '七月',\n '八月',\n '九月',\n '十月',\n '十一月',\n '十二月',\n];\n\nexport default function MonthPicker(props: MonthPickerProps) {\n const {\n prefixCls = 'w-monthpicker',\n format = 'YYYY/MM',\n onChange = () => {},\n className,\n popoverProps,\n pickerCaptionProps = {},\n allowClear = true,\n monthLabel = MONTH_LABEL,\n ...inputProps\n } = props;\n\n const [isOpen, setIsOpen] = useState(false);\n const [panelDate, setPanelDate] = useState(new Date());\n const [type, setType] = useState('month');\n const [date, setDate] = useState(props.value);\n\n useEffect(() => setDate(props.value), [props.value]);\n\n inputProps.value = useMemo(\n () => (typeof date === 'string' ? date : date ? formatter(format, date) : ''),\n [format, date],\n );\n\n if (allowClear && inputProps.value) {\n inputProps.addonAfter = (\n <MonthPickerStyleCloseButton\n className={`${prefixCls}-close-btn`}\n icon={<IconStyleBase as={Close} />}\n onClick={() => {\n setDate('');\n onChange && onChange();\n }}\n size={inputProps.size}\n basic\n type=\"light\"\n />\n );\n }\n\n function handleSelectedDate(type: 'setMonth' | 'setFullYear', num: number, paging?: boolean) {\n const curPanelDate = new Date(new Date(panelDate)[type](num));\n if (!paging) {\n setType('month');\n }\n const curDate = formatter(format, new Date(curPanelDate));\n setDate(curDate);\n setPanelDate(curPanelDate);\n onChange && onChange(curPanelDate, curDate);\n if (type === 'setMonth') {\n setIsOpen(false);\n }\n }\n\n return (\n <Popover\n trigger=\"focus\"\n placement=\"bottomLeft\"\n autoAdjustOverflow\n isOpen={isOpen}\n {...popoverProps}\n onVisibleChange={(open) => setIsOpen(open)}\n content={\n <MonthPickerStylePopoverBase className={`${prefixCls}-popover`}>\n <DatePickerCaption\n panelDate={panelDate}\n monthLabel={monthLabel}\n {...pickerCaptionProps}\n onSelected={(captionType) => {\n if (/^(month|year)$/.test(captionType as string)) {\n setType(captionType);\n } else {\n const year = new Date(panelDate).getFullYear();\n const curPanelDate = new Date(new Date(panelDate).setFullYear(type === 'next' ? year + 1 : year - 1));\n setPanelDate(curPanelDate);\n }\n }}\n />\n {type === 'month' && (\n <DatePickerMonth\n panelDate={panelDate}\n monthLabel={monthLabel}\n onSelected={(month, paging) => handleSelectedDate('setMonth', month, paging)}\n />\n )}\n {type === 'year' && (\n <DatePickerYear\n panelDate={panelDate}\n onSelected={(year, paging) => handleSelectedDate('setFullYear', year, paging)}\n />\n )}\n </MonthPickerStylePopoverBase>\n }\n >\n <MonthPickerStyleInputStyleBase\n placeholder=\"请输入日期\"\n readOnly\n {...(inputProps as any)}\n className={[prefixCls, className].filter(Boolean).join(' ').trim()}\n />\n </Popover>\n );\n}\n","import styled, { createGlobalStyle, css } from 'styled-components';\nimport Alert, { AlertProps } from '@uiw/react-alert';\nimport { ModalStyleInner, ModalStyleHeader, ModalStyleBody } from '@uiw/react-modal';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { ButtonStyleBase } from '@uiw/react-button';\nimport { ContentWrap } from '@uiw/react-overlay';\nexport const NotifyStyleBase = styled.div``;\nexport const NotifyGlobalStyle = createGlobalStyle`\n .w-notify-warpper {\n position: fixed;\n padding: 5px;\n z-index: 999;\n &.topLeft {\n top: 0;\n left: 0;\n }\n &.topRight {\n top: 0;\n right: 0;\n }\n &.bottomLeft {\n bottom: 0;\n left: 0;\n }\n &.bottomRight {\n bottom: 0;\n right: 0;\n }\n }\n `;\n\nexport interface NotifyStyleAlertBaseProps extends AlertProps {}\n\nexport const NotifyStyleAlertBase = styled(Alert)`\n position: relative !important;\n z-index: 9999;\n ${ModalStyleInner} {\n ${ModalStyleHeader} {\n > ${IconStyleBase} {\n font-size: 28px !important;\n }\n > ${ButtonStyleBase} {\n min-width: 18px;\n min-height: 18px;\n padding: 5px 5px;\n }\n }\n ${(props) =>\n props.icon &&\n !props.title &&\n css`\n ${ModalStyleHeader} {\n > button {\n top: 12px;\n right: 10px;\n position: absolute;\n }\n }\n ${ModalStyleBody} {\n padding-right: 36px;\n }\n `}\n ${(props) =>\n props.title &&\n css`\n ${ModalStyleHeader} {\n padding-top: 20px;\n > button {\n top: 5px;\n right: 5px;\n position: absolute;\n }\n }\n ${ModalStyleHeader} > h4 {\n padding-left: 40px;\n padding-right: 20px;\n }\n ${ModalStyleBody} {\n padding-left: 60px;\n opacity: 0.75;\n }\n ${!props.icon &&\n css`\n ${ModalStyleHeader} > h4 {\n padding-left: 5px;\n }\n ${ModalStyleBody} {\n padding-left: 25px;\n }\n `}\n `}\n \n ${(props) =>\n !props.title &&\n !props.icon &&\n css`\n & {\n ${ModalStyleBody} {\n padding: 16px;\n }\n }\n `}\n ${(props) =>\n !props.title &&\n css`\n &.${ModalStyleInner} {\n padding-bottom: 0;\n ${ModalStyleHeader} {\n padding-top: 16px;\n > ${IconStyleBase} {\n font-size: 20px !important;\n }\n }\n }\n ${ModalStyleBody} {\n padding: 16px 12px;\n }\n `}\n }\n ${ContentWrap} {\n margin: 5px;\n }\n`;\n","import React from 'react';\nimport { AlertProps } from '@uiw/react-alert';\nimport { IProps } from '@uiw/utils';\nimport { NotificationCreateProps } from './index';\nimport { NotifyStyleAlertBase, NotifyGlobalStyle } from './style';\nexport type Placement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\nexport interface ContainerProps extends IProps {\n placement?: Placement;\n}\nexport interface ContainerState {\n placement?: Placement;\n notifys: ContainerNotifys;\n}\n\nexport type ContainerNotifys = {\n [placement: string]: {\n [key: string]: NotificationCreateProps;\n };\n};\n\nconst notifys: ContainerNotifys = {};\nconst timer: { [key: string]: any } = {};\n\nexport default class Container extends React.Component<ContainerProps, ContainerState> {\n public static defaultProps: ContainerProps = {\n prefixCls: 'w-notify',\n placement: 'topRight',\n };\n public state: ContainerState = {\n notifys: {},\n };\n public create(props: NotificationCreateProps) {\n const { placement, key } = props;\n if (!notifys[placement as Placement]) {\n notifys[placement as Placement] = {};\n }\n props.isOpen = false;\n notifys[placement as Placement][key as string] = props;\n if (props.duration) {\n timer[key as string] = setTimeout(() => {\n this.closed(key as string, placement);\n }, props.duration);\n }\n this.setState(\n {\n notifys,\n placement,\n },\n () => {\n notifys[placement as Placement][key as string].isOpen = true;\n this.setState({ notifys });\n },\n );\n }\n public closed(key: string, placement?: Placement) {\n if (!key || !placement || !notifys[placement][key]) {\n return;\n }\n notifys[placement][key].isOpen = false;\n const props: NotificationCreateProps = notifys[placement][key];\n this.setState({ notifys }, () => {\n clearTimeout(timer[key]);\n delete timer[key];\n delete notifys[placement][key];\n if (props && props.willUnmount) {\n props.willUnmount(props, notifys);\n }\n });\n }\n render() {\n const { prefixCls } = this.props;\n const { placement } = this.state;\n return (\n <React.Fragment>\n <NotifyGlobalStyle />\n {placement &&\n Object.keys(this.state.notifys[placement]).map((key) => {\n const { description, isOpen, ...alertProps } = this.state.notifys[placement][key];\n if (alertProps.type === 'open') {\n delete alertProps.type;\n }\n return (\n <NotifyStyleAlertBase\n className={prefixCls}\n key={key}\n useButton={false}\n width={320}\n {...(alertProps as AlertProps)}\n usePortal={false}\n hasBackdrop={false}\n isOpen={isOpen}\n content={description}\n />\n );\n })}\n </React.Fragment>\n );\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { AlertProps } from '@uiw/react-alert';\nimport { randomid } from '@uiw/utils';\nimport Container, { Placement, ContainerNotifys } from './Container';\n\nexport interface NotificationCreateProps extends Omit<AlertProps, 'type'> {\n placement?: Placement;\n description?: React.ReactNode;\n type?: 'primary' | 'danger' | 'open' | 'success' | 'warning' | 'info' | 'error';\n duration?: number;\n key?: string;\n willUnmount?: (props: NotificationCreateProps, notifys: ContainerNotifys) => void;\n}\n\nexport type Notifys = { [key: string]: any };\nexport type NotifysDom = { [key: string]: HTMLDivElement };\n\nconst notifys: Notifys = {};\nconst notifysDom: NotifysDom = {};\n\nexport interface NotificationProps {\n (props: NotificationCreateProps, type: NotificationCreateProps['type']): void;\n [key: string]: () => void;\n}\n\nfunction NotificationCreate(props: NotificationCreateProps, type: NotificationCreateProps['type'] = 'open') {\n if (!props.placement) {\n props.placement = 'topRight';\n }\n props.type = type as NotificationCreateProps['type'];\n if (!props.icon && props.icon !== null) {\n switch (props.type) {\n case 'success':\n props.icon = 'circle-check';\n break;\n case 'warning':\n props.icon = 'warning';\n break;\n case 'info':\n props.icon = 'information';\n break;\n case 'error':\n props.icon = 'circle-close';\n break;\n default:\n break;\n }\n }\n switch (props.type) {\n case 'info':\n props.type = 'primary';\n break;\n case 'error':\n props.type = 'danger';\n break;\n default:\n break;\n }\n\n if (props.placement && !notifys[props.placement]) {\n const div = document.createElement('div');\n document.body.appendChild(div);\n div.className = ['w-notify-warpper', props.placement].filter(Boolean).join(' ').trim();\n notifysDom[props.placement] = div;\n notifys[props.placement] = ReactDOM.render(<Container />, div);\n }\n\n if (props.duration !== null) {\n props.duration = (props.duration || 4.5) * 1000;\n }\n\n if (notifys[props.placement]) {\n notifys[props.placement].create({\n ...props,\n duration: props.duration,\n key: randomid(),\n willUnmount(nprops: any, notifysChild: ContainerNotifys) {\n if (!nprops) return;\n nprops.onClose && nprops.onClose();\n const keys = Object.keys(notifysChild[props.placement as Placement]);\n if (keys.length === 0 && notifys[props.placement as Placement]) {\n delete notifys[props.placement as Placement];\n if (notifysDom[props.placement as Placement]) {\n document.body.removeChild(notifysDom[props.placement as Placement]);\n }\n }\n },\n });\n }\n}\n\n['open', 'success', 'warning', 'info', 'error'].forEach((type) => {\n (NotificationCreate as NotificationProps)[type] = (options: NotificationCreateProps = {}) => {\n return NotificationCreate(options, type as NotificationCreateProps['type']);\n };\n});\n\nexport interface NotificationApi {\n open(option: NotificationCreateProps): void;\n success(option: NotificationCreateProps): void;\n warning(option: NotificationCreateProps): void;\n info(option: NotificationCreateProps): void;\n error(option: NotificationCreateProps): void;\n}\n\nexport default NotificationCreate as unknown as NotificationApi;\n","/**\n * Returns a random text\n */\nexport function randomid(): string {\n return parseInt(String(Math.random() * 1e15), 10).toString(36);\n}\n","import styled, { css } from 'styled-components';\nimport { SelectStyleWarp } from '@uiw/react-select';\nimport { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\n\nexport const PaginationStyleTheme = {\n borderColorPaginationBase: '#d4d4d4',\n backgroundColorPaginationActive: '#ececec',\n backgroundColorPaginationHover: '#f6f6f6',\n backgroundColorPaginationTextBase: '#565656',\n backgroundPaginationTextDisabled: '#d4d4d4',\n backgroundPaginationTextHover: '#2ea3f4',\n boxShadowdisabledPaginationDisabled: 'inset 0 8px 42px -12px rgba(0, 0, 0, 0.2)',\n boxShadowdisabledPaginationActive: 'inset 0 0 0 rgba(0, 0, 0, 0)',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof PaginationStyleTheme>;\n\nexport interface PaginationStyleBaseLIAProps\n extends React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>,\n ThemeVar {\n params?: {\n type?: string;\n isArrow?: boolean;\n size?: 'default' | 'small';\n disabled?: boolean;\n };\n}\n\nexport const PaginationStyleBaseLIA = styled.a<PaginationStyleBaseLIAProps>`\n text-decoration: none;\n color: rgba(0, 0, 0, 0.5);\n transition: none;\n margin: 0 10px;\n display: block;\n ${(props) =>\n props.params?.isArrow &&\n css`\n padding: 0 3px;\n &::after,\n &::before {\n content: '';\n display: block;\n height: 8px;\n width: 2px;\n border-radius: 2px;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: PaginationStyleTheme }, 'backgroundColorPaginationTextBase')};\n transition: all 0.3s;\n }\n &::after {\n margin-top: -4px;\n }\n `}\n\n ${(props) => {\n const { params } = props;\n if (params?.type === 'next' && params.isArrow) {\n return css`\n &::before {\n transform: rotate(-45deg);\n }\n &::after {\n transform: rotate(45deg);\n }\n `;\n }\n if (params?.type === 'prev' && params.isArrow) {\n return css`\n &::after {\n transform: rotate(-45deg);\n }\n &::before {\n transform: rotate(45deg);\n }\n `;\n }\n return css``;\n }}\n\n ${(props) =>\n props.params?.size === 'small' &&\n css`\n &::after,\n &::before {\n margin-left: 6px;\n }\n `}\n\n\n ${(props) =>\n props.params?.disabled &&\n css`\n &::after,\n &::before {\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: PaginationStyleTheme }, 'backgroundPaginationTextDisabled')};\n }\n `}\n`;\n// PaginationStyleBaseLIA.defaultProps = {\n// defaultTheme: PaginationStyleTheme,\n// };\nexport interface PaginationStyleBaseLIProps\n extends React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>,\n ThemeVar {\n params?: {\n disabled?: boolean;\n isOptions?: boolean;\n size?: 'default' | 'small';\n isDivider?: boolean;\n active?: boolean;\n };\n}\n\nexport const PaginationStyleBaseLI = styled.li<PaginationStyleBaseLIProps>`\n height: 28px;\n line-height: 28px;\n vertical-align: middle;\n text-align: center;\n position: relative;\n cursor: pointer;\n display: inline-flex !important;\n transition: background-color 0.2s ease-in, box-shadow 0.2s ease-in;\n margin: 0 !important;\n display: inline-flex;\n align-items: center;\n ${(props) =>\n props.params?.disabled &&\n css`\n & {\n cursor: not-allowed;\n }\n `}\n\n ${(props) =>\n props.params?.size === 'small' &&\n css`\n height: 21px;\n line-height: 21px;\n border-radius: 4px;\n > ${PaginationStyleBaseLIA} {\n margin: 0 3px;\n min-width: 15px;\n }\n ${props.params.active &&\n css`\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: PaginationStyleTheme }, 'backgroundColorPaginationActive')};\n `}\n ${!props.params.active &&\n css`\n &:hover ${PaginationStyleBaseLIA} {\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: PaginationStyleTheme }, 'backgroundPaginationTextHover')};\n }\n `}\n `}\n ${(props) =>\n props.params?.size === 'default' &&\n css`\n border: 1px solid\n ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: PaginationStyleTheme }, 'borderColorPaginationBase')};\n border-left: 0;\n ${!props.params.disabled &&\n !props.params.active &&\n css`\n &:hover {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: PaginationStyleTheme }, 'backgroundColorPaginationHover')};\n }\n `}\n ${!props.params.disabled &&\n css`\n &:active {\n box-shadow: ${() =>\n getThemeVariantValue(\n { ...props, defaultTheme: PaginationStyleTheme },\n 'boxShadowdisabledPaginationDisabled',\n )};\n }\n `}\n &:first-child {\n border-left: 1px solid\n ${() => getThemeVariantValue({ ...props, defaultTheme: PaginationStyleTheme }, 'borderColorPaginationBase')};\n border-radius: 3px 0 0 3px;\n }\n &:last-child {\n border-radius: 0 3px 3px 0;\n }\n ${props.params.active &&\n css`\n background-color: ${() =>\n getThemeVariantValue({ ...props, defaultTheme: PaginationStyleTheme }, 'backgroundColorPaginationActive')};\n &:active {\n box-shadow: ${() =>\n getThemeVariantValue(\n { ...props, defaultTheme: PaginationStyleTheme },\n 'boxshadowdisabledpaginationactive',\n )};\n }\n `}\n `}\n\n ${(props) =>\n props.params?.isOptions &&\n css`\n ${SelectStyleWarp} {\n border: none !important;\n padding-top: 0;\n padding-bottom: 0;\n box-shadow: none !important;\n height: 100%;\n }\n `}\n`;\n\n// PaginationStyleBaseLI.defaultProps = {\n// defaultTheme: PaginationStyleTheme,\n// };\nexport interface PaginationStyleBaseULProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>,\n ThemeVar {\n params?: {\n size?: 'default' | 'small';\n isDivider?: boolean;\n };\n}\n\nexport const PaginationStyleBaseUL = styled.ul<PaginationStyleBaseULProps>`\n padding: 0 !important;\n margin: 0 !important;\n position: relative;\n user-select: none;\n font-size: 12px;\n ${(props) =>\n props.params?.size === 'default' &&\n props.params.isDivider &&\n css`\n ${PaginationStyleBaseLI} + ${PaginationStyleBaseLI} {\n margin-left: 8px !important;\n border: 1px solid\n ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: PaginationStyleTheme }, 'borderColorPaginationBase')};\n }\n ${PaginationStyleBaseLI} {\n border-radius: 4px;\n }\n `}\n`;\n\n// PaginationStyleBaseUL.defaultProps = {\n// defaultTheme: PaginationStyleTheme,\n// };\n","import React, { useEffect, useMemo, useState } from 'react';\nimport Select from '@uiw/react-select';\nimport { IProps, HTMLUlProps } from '@uiw/utils';\nimport { PaginationStyleBaseUL, PaginationStyleBaseLI, PaginationStyleBaseLIA } from './style';\nexport * from './style';\n\nexport interface PaginationProps extends IProps, Omit<HTMLUlProps, 'onChange'> {\n prefixCls?: string;\n alignment?: 'left' | 'center' | 'right';\n size?: 'default' | 'small';\n pageSizeOptions?: number[];\n total?: number;\n pageSize?: number;\n divider?: boolean;\n current?: number;\n onChange?: (current: number, total: number, pageSize: number) => void;\n onShowSizeChange?: (current: number, pageSize: number) => void;\n}\n\nexport interface PaginationState {\n current: number;\n}\n\nexport interface PaginationItemSourceData {\n type?: string;\n disabled?: boolean;\n active?: boolean;\n label?: number | string;\n goto?: number;\n}\n\nexport default function Pagination(props: PaginationProps) {\n const {\n className,\n style,\n prefixCls = 'w-pagination',\n alignment = 'left',\n size = 'default',\n total = 0,\n pageSize = 10, // The number of pages displayed.\n pageSizeOptions = [],\n current: currentNumber = 1,\n onChange = () => null,\n onShowSizeChange,\n divider,\n ...other\n } = props;\n\n const [current, setCurrent] = useState(currentNumber);\n useEffect(() => setCurrent(currentNumber), [currentNumber]);\n\n const cls = [prefixCls, className, divider ? 'divider' : null, size].filter(Boolean).join(' ').trim();\n\n const initPageSoure = useMemo(() => {\n const data: PaginationItemSourceData[] = [{ type: 'prev', disabled: current === 1 }];\n const count = Math.ceil(total / pageSize);\n const itemCount = count <= 5 ? count : 5;\n let num = 0;\n let basic = 0;\n if (current > 3 && count > 5) {\n data.push({ label: 1 });\n }\n if (current > 4 && count > 6) {\n data.push({ type: 'jumpPrev', label: '•••', goto: 5 });\n }\n while (num < itemCount) {\n num += 1;\n if (current > 3 && count > 5) {\n basic = current - 3;\n }\n let label = num + basic;\n if (count - current === 0 && count > 5) {\n label -= 2;\n }\n if (count - current === 1 && count > 5) {\n label -= 1;\n }\n if (label <= count) {\n data.push({ label, active: current === label });\n }\n }\n if (current + 3 < count && count > 6) {\n data.push({ type: 'jumpNext', label: '•••', goto: 5 });\n }\n if (current + 2 < count && count > 5) {\n data.push({ label: count });\n }\n data.push({ type: 'next', disabled: current === count });\n return data;\n // return [\n // { type: 'prev', disabled: true },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { label: 1 },\n // { label: 2, active: true },\n // { label: 3 },\n // { label: 4 },\n // { type: 'jumpPrev', label: '•••', goto: 5 },\n // { type: 'next' },\n // ];\n }, [current, total, pageSize]);\n\n function handleClick(item: PaginationItemSourceData) {\n if (item.active || item.disabled) {\n return;\n }\n const count = Math.ceil(total / pageSize);\n const state = {} as PaginationState;\n if (item.label) {\n state.current = item.label as number;\n }\n if (item.type === 'prev') {\n state.current = current - 1 > 0 ? current - 1 : 1;\n }\n if (item.type === 'next') {\n state.current = current + 1 <= count ? current + 1 : count;\n }\n if (/^(jumpPrev|jumpNext)/.test(item.type as string) && item.goto) {\n state.current = item.type === 'jumpPrev' ? current - item.goto : current + item.goto;\n if (state.current > count) {\n state.current = count;\n }\n if (state.current < 1) {\n state.current = 1;\n }\n }\n\n setCurrent(state.current);\n onChange && onChange(state.current, total as number, pageSize as number);\n }\n\n const onSizeChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n const sizeCount: number = Number(e.target.value);\n const count = Math.ceil(total / sizeCount);\n const newCurrent: number = current > count ? count : current;\n onShowSizeChange && onShowSizeChange(newCurrent, sizeCount);\n };\n\n return (\n <PaginationStyleBaseUL\n className={cls}\n style={{ ...style, textAlign: alignment }}\n {...other}\n params={{\n isDivider: divider,\n size,\n }}\n >\n {initPageSoure.map((item: PaginationItemSourceData, idx) => {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n let label = <PaginationStyleBaseLIA params={{ size }}>{item.label}</PaginationStyleBaseLIA>;\n if (/^(prev|next)$/.test(item.type as string)) {\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n label = (\n <PaginationStyleBaseLIA\n params={{ type: item.type, isArrow: true, size, disabled: item.disabled }}\n className={`arrow ${item.type}`}\n />\n );\n }\n return (\n <PaginationStyleBaseLI\n params={{\n disabled: item.disabled,\n active: item.active,\n size,\n isDivider: divider,\n }}\n className={[item.active ? 'active' : null, item.disabled ? 'disabled' : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n onClick={() => handleClick(item)}\n key={idx}\n >\n {label}\n </PaginationStyleBaseLI>\n );\n })}\n {pageSizeOptions.length > 0 && (\n <PaginationStyleBaseLI params={{ isOptions: true, size }} className={`${prefixCls}-options`}>\n <Select size={size} defaultValue={pageSize} onChange={onSizeChange}>\n {pageSizeOptions.map((item: number, index: number) => (\n <Select.Option value={item} key={index}>\n {item}条/页\n </Select.Option>\n ))}\n </Select>\n </PaginationStyleBaseLI>\n )}\n </PaginationStyleBaseUL>\n );\n}\n","import styled, { css } from 'styled-components';\nimport Input, { InputProps, InputStyleBase } from '@uiw/react-input';\n\n// React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>\nexport const PinCodeStyleDivWrap = styled.div`\n display: flex;\n`;\n\nexport const PinCodeStyleInputWrap = styled(Input)<InputProps>`\n width: 30px;\n & + & {\n margin-left: 8px;\n }\n > ${InputStyleBase} {\n text-align: center;\n padding: 0 !important;\n font-size: 14px;\n font-weight: bold;\n }\n\n ${(props) =>\n props?.size === 'large' &&\n css`\n width: 36px;\n ${InputStyleBase} {\n font-size: 16px;\n }\n `}\n\n ${(props) =>\n props?.size === 'small' &&\n css`\n width: 24px;\n ${InputStyleBase} {\n font-size: 12px;\n }\n `}\n`;\n","import React, { useEffect, useState } from 'react';\nimport { IProps, noop } from '@uiw/utils';\nimport Input, { InputProps } from '@uiw/react-input';\nimport { PinCodeStyleDivWrap, PinCodeStyleInputWrap } from './style';\n\nexport interface PinCodeProps extends IProps {\n value?: string[];\n disabled?: boolean;\n onChange?: (value: string[]) => void;\n onBlur?: InputProps['onBlur'];\n onFocus?: InputProps['onFocus'];\n autoFocus?: boolean;\n size?: InputProps['size'];\n placeholder?: string;\n}\n\nfunction InternalPinCode(props: PinCodeProps = {}, ref: React.ForwardedRef<HTMLDivElement>) {\n const {\n prefixCls = 'w-pin-code',\n placeholder = '○',\n value = [],\n autoFocus,\n className,\n size = 'default',\n style,\n disabled,\n onChange = noop,\n onBlur = noop,\n onFocus = noop,\n ...otherProps\n } = props;\n const [input] = useState<{\n [key: string]: HTMLInputElement;\n }>({});\n const [placehold, setPlacehold] = useState(placeholder);\n const [values, setValues] = useState(value);\n const cls = [prefixCls, className, size ? `${prefixCls}-${size}` : null, disabled ? 'disabled' : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n function handleChange(e: React.ChangeEvent<HTMLInputElement>, idx: number) {\n let val = e.target.value;\n val = val.charAt(val.length - 1);\n const arr = [...values];\n if (Number(val) > -1 && val) {\n e.currentTarget.value = val;\n arr[idx] = val;\n if (input[idx + 1]) {\n input[idx + 1].focus();\n }\n setValues(arr);\n } else if (!val) {\n arr[idx] = '';\n setValues(arr);\n }\n }\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>, idx: number) {\n let val = e.currentTarget.value;\n const key = e.key.toLocaleLowerCase();\n if (!val && input[idx - 1] && /(backspace|delete)/.test(key)) {\n input[idx - 1].focus();\n }\n }\n useEffect(() => {\n if (values !== value) {\n onChange(values);\n }\n }, [values]);\n\n function handleBlur(event: React.FocusEvent<HTMLInputElement>) {\n setPlacehold(placeholder);\n onBlur(event);\n }\n function handleFocus(event: React.FocusEvent<HTMLInputElement>) {\n setPlacehold('');\n onFocus(event);\n }\n\n return (\n <PinCodeStyleDivWrap className={cls} style={style} {...otherProps} ref={ref}>\n {[...values].map((val, key) => {\n const inpProps: InputProps = {\n min: 0,\n type: 'text',\n inputMode: 'numeric',\n autoComplete: 'off',\n value: val,\n onChange: (e) => handleChange(e, key),\n onKeyDown: (e) => handleKeyDown(e, key),\n onBlur: (e) => handleBlur(e),\n onFocus: (e) => handleFocus(e),\n className: `${prefixCls}-inner`,\n placeholder: placehold,\n disabled,\n size,\n };\n if (autoFocus && key === 0) {\n inpProps.autoFocus = true;\n }\n const child = (\n <PinCodeStyleInputWrap\n ref={(instance) => {\n if (instance) {\n input[key] = instance;\n }\n }}\n {...inpProps}\n key={key}\n />\n );\n return child;\n })}\n </PinCodeStyleDivWrap>\n );\n}\n\nexport default React.forwardRef<HTMLDivElement, PinCodeProps>(InternalPinCode);\n","import React from 'react';\nimport Icon, { IconProps } from '@uiw/react-icon';\n\nexport function IconProgress<T>(props: { type: IconProps<T>['type'] }): JSX.Element {\n return <Icon type={props.type} />;\n}\n","import styled, { css, keyframes } from 'styled-components';\nimport { getThemeVariantValue, HTMLSpanProps, HTMLDivProps, ThemeVariantValueOptions } from '@uiw/utils';\nimport { Status } from '..';\nimport React from 'react';\n\nexport const ProgressStyleTheme = {\n fontSizeSmall: '12px',\n fontSizeDefault: '14px',\n fontSizeLarge: '16px',\n\n strokeProgressStylePathSuccess: '#28a745',\n strokeProgressStylePathException: '#dc3545',\n strokeProgressStylePath: '#20a0ff',\n strokeProgressStylePathTrail: '#e5e9f2',\n\n colorProgresTextSuccess: '#28a745',\n colorProgresTextException: '#dc3545',\n colorProgresText: '#48576a',\n\n backgroundColorProgressStyleBgSuccess: '#28a745',\n backgroundColorProgressStyleBgException: '#dc3545',\n backgroundColorProgressStyleBg: '#108ee9',\n\n backgroundColorProgressStyleInner: '#e5e9f2',\n\n backgroundProgressStyleBgActiveBefore: '#fff',\n backgroundImageProgressStyleBgActive:\n 'linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%,transparent 25%,transparent 50%,rgba(255, 255, 255, 0.15) 50%,rgba(255, 255, 255, 0.15) 75%,transparent 75%,transparent)',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof ProgressStyleTheme>;\n\nconst ProgressStyleBarStripes = keyframes`\n from {\n background-position: 0 0;\n }\n to {\n background-position: 24px 0;\n }\n`;\n\nconst progressActive = keyframes`\n 0% {\n opacity: 0.1;\n width: 0;\n }\n 20% {\n opacity: 0.5;\n width: 0;\n }\n 100% {\n opacity: 0;\n width: 100%;\n }\n`;\n\nexport interface ProgressStyleWarpProps extends HTMLDivProps, ThemeVar {\n isLine?: Boolean;\n}\n\nexport const ProgressStyleWarp = styled.div<ProgressStyleWarpProps>`\n position: relative;\n line-height: 1;\n display: inline-block;\n ${(props) =>\n props.isLine &&\n css`\n & {\n width: 100%;\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'fontSizeSmall')};\n }\n `}\n`;\n// ProgressStyleWarp.defaultProps = { defaultTheme: ProgressStyleTheme };\n\nexport interface ProgressStyleTextProps extends HTMLSpanProps, ThemeVar {\n status?: Status;\n isCircle?: boolean;\n}\n\nexport const ProgressStyleText = styled.span<ProgressStyleTextProps>`\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'colorProgresText')};\n display: inline-block;\n vertical-align: middle;\n margin-left: 10px;\n line-height: 1;\n box-sizing: border-box;\n ${(props) =>\n props.status === 'exception' &&\n css`\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'colorProgresTextException')};\n `}\n ${(props) =>\n props.status === 'success' &&\n css`\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'colorProgresTextSuccess')};\n `}\n ${(props) =>\n props.isCircle &&\n css`\n & {\n position: absolute;\n top: 50%;\n left: 0;\n width: 100%;\n text-align: center;\n margin: 0;\n transform: translate(0, -50%);\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'fontSizeLarge')};\n }\n `}\n`;\n\n// ProgressStyleText.defaultProps = { defaultTheme: ProgressStyleTheme };\n\nexport interface ProgressStyleBarProps extends HTMLDivProps, ThemeVar {\n showText?: boolean;\n style?: React.CSSProperties;\n}\n\nexport const ProgressStyleBar = styled.div<ProgressStyleBarProps>`\n box-sizing: border-box;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n ${(props) =>\n props.showText &&\n css`\n & {\n margin-right: -50px;\n padding-right: 50px;\n }\n `}\n`;\nexport interface ProgressStyleInnerProps extends HTMLDivProps, ThemeVar {}\n\nexport const ProgressStyleInner = styled.div<ProgressStyleInnerProps>`\n height: 100%;\n width: 100%;\n border-radius: 100px;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'backgroundColorProgressStyleInner')};\n overflow: hidden;\n`;\n// ProgressStyleInner.defaultProps = { defaultTheme: ProgressStyleTheme };\n\nexport interface ProgressStyleBgProps extends HTMLDivProps, ThemeVar {\n status?: Status;\n}\n\nexport const ProgressStyleBg = styled.div<ProgressStyleBgProps>`\n height: 100%;\n border-radius: 100px;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'backgroundColorProgressStyleBg')};\n transition: all 0.4s cubic-bezier(0.08, 0.82, 0.17, 1) 0s;\n position: relative;\n ${(props) =>\n props.status === 'active' &&\n css`\n & {\n background-image: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'backgroundImageProgressStyleBgActive')};\n background-size: 12px 12px;\n animation: ${ProgressStyleBarStripes} 1s linear infinite;\n &:before {\n content: ' ';\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: ProgressStyleTheme },\n 'backgroundProgressStyleBgActiveBefore',\n )};\n border-radius: 10px;\n animation: ${progressActive} 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;\n }\n }\n `}\n ${(props) =>\n props.status === 'exception' &&\n css`\n & {\n background-color: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: ProgressStyleTheme },\n 'backgroundColorProgressStyleBgException',\n )};\n }\n `}\n ${(props) =>\n props.status === 'success' &&\n css`\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'backgroundColorProgressStyleBgSuccess')};\n `}\n`;\n// ProgressStyleBg.defaultProps = { defaultTheme: ProgressStyleTheme };\n\nexport interface ProgressStyleSvgProps extends React.SVGProps<SVGSVGElement>, ThemeVar {}\nexport const ProgressStyleSvg = styled.svg<ProgressStyleSvgProps>``;\n\nexport interface ProgressStylePathProps extends React.SVGProps<SVGPathElement>, ThemeVar {\n isTrail?: boolean;\n isStroke?: boolean;\n status?: Status;\n}\nexport const ProgressStylePath = styled.path<ProgressStylePathProps>`\n ${(props) =>\n props.isTrail &&\n css`\n & {\n stroke: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'strokeProgressStylePathtrail')};\n }\n `}\n ${(props) => {\n if (props.isStroke) {\n switch (props.status) {\n case 'success':\n return css`\n & {\n stroke: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'strokeProgressStylePathSuccess')};\n }\n `;\n case 'exception':\n return css`\n & {\n stroke: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: ProgressStyleTheme },\n 'strokeProgressStylePathException',\n )};\n }\n `;\n default:\n return css`\n & {\n stroke: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: ProgressStyleTheme }, 'strokeProgressStylePath')};\n }\n `;\n }\n }\n return css``;\n }}\n`;\n// ProgressStylePath.defaultProps = { defaultTheme: ProgressStyleTheme };\n","import React from 'react';\nimport { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { IconProgress } from './utils';\nimport { ProgressStyleText, ProgressStyleWarp, ProgressStylePath } from './style';\n\nexport type Status = 'success' | 'active' | 'exception';\n\nexport interface ProgressCircleProps<T> extends IProps, HTMLDivProps {\n type?: IconProps<T>['type'];\n status?: Status;\n showText?: boolean; // 是否显示进度条文字内容\n percent?: number; // 百分比(必填)\n width?: number; // 圆圈进度条画布宽度\n strokeWidth?: number; // 进度条大小设置\n format?: (percent: number) => React.ReactNode;\n}\n\nexport default class Circle<T> extends React.Component<ProgressCircleProps<T>> {\n public static defaultProps: ProgressCircleProps<{}> = {\n prefixCls: 'w-progress',\n showText: true,\n percent: 0, // 百分比(必填)\n width: 126, // 圆圈进度条画布宽度\n strokeWidth: 6, // 进度条大小设置\n };\n relativeStrokeWidth(type: 'track' | 'bg' | undefined, elm: SVGPathElement) {\n const { strokeWidth, percent } = this.props;\n if (elm && elm.parentNode) {\n const { width } = (elm.parentNode as SVGAElement).getBoundingClientRect();\n const _strokeWidth: string = (((strokeWidth as number) / width) * 100).toFixed(1);\n const radius = parseInt((50 - parseFloat(_strokeWidth) / 2).toString(), 10);\n elm.setAttribute('stroke-width', _strokeWidth);\n elm.setAttribute(\n 'd',\n `M 50 50 m 0 -${radius} a ${radius} ${radius} 0 1 1 0 ${radius * 2} a ${radius} ${radius} 0 1 1 0 -${\n radius * 2\n }`,\n );\n if (type === 'track') {\n // 计算周长\n const perimeter = 2 * Math.PI * radius;\n elm.setAttribute(\n 'style',\n `stroke-dasharray:${perimeter}px,${perimeter}px;stroke-dashoffset:${\n (1 - (percent as number) / 100) * perimeter\n }px;transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease;`,\n );\n }\n }\n }\n render() {\n const { prefixCls, style, type, className, showText, percent, format, strokeWidth, width, status, ...resetProps } =\n this.props;\n const cls = [\n prefixCls,\n className,\n `${prefixCls}-circle`,\n showText ? `${prefixCls}-show-text` : null,\n status ? `${prefixCls}-status-${status}` : null,\n parseInt((percent as number).toString(), 10) >= 100 ? `${prefixCls}-status-success` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n let progressInfo;\n const progressStatus =\n parseInt((percent as number).toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n if (showText) {\n let percentView: React.ReactNode = `${percent}%`;\n if (progressStatus === 'exception') {\n percentView = <IconProgress type=\"close\" />;\n } else if (progressStatus === 'success') {\n percentView = <IconProgress type=\"check\" />;\n }\n progressInfo = (\n <ProgressStyleText\n isCircle={true}\n status={status}\n className={`${prefixCls}-text`}\n style={{ fontSize: (width as number) * 0.16 + 6 }}\n >\n {format ? format(percent as number) : percentView}\n </ProgressStyleText>\n );\n }\n return (\n <ProgressStyleWarp className={cls} style={style} {...resetProps}>\n <svg viewBox=\"0 0 100 100\" width={`${width}`}>\n <ProgressStylePath\n status={status}\n isTrail\n ref={this.relativeStrokeWidth.bind(this, 'bg')}\n className={`${prefixCls}-trail`}\n fill=\"none\"\n />\n <ProgressStylePath\n ref={this.relativeStrokeWidth.bind(this, 'track')}\n strokeLinecap=\"round\"\n className={`${prefixCls}-stroke`}\n isStroke\n status={status}\n fill=\"none\"\n />\n </svg>\n {progressInfo}\n </ProgressStyleWarp>\n );\n }\n}\nexport { Circle };\n","import React from 'react';\nimport { IconProgress } from './utils';\nimport { ProgressCircleProps } from './Circle';\nimport { ProgressStyleWarp, ProgressStyleText, ProgressStyleBar, ProgressStyleInner, ProgressStyleBg } from './style';\nexport interface ProgressLineProp<T> extends ProgressCircleProps<T> {}\n\nexport default class Line<T> extends React.Component<ProgressLineProp<T>> {\n public static defaultProps: ProgressLineProp<{}> = {\n prefixCls: 'w-progress',\n showText: true, // 是否显示进度条文字内容\n percent: 0, // 百分比(必填)\n width: 126, // 圆圈进度条画布宽度\n strokeWidth: 6, // 进度条大小设置\n };\n render() {\n const { prefixCls, style, className, showText, percent, format, strokeWidth, width, status, ...resetProps } =\n this.props;\n const cls = [\n prefixCls,\n className,\n `${prefixCls}-line`,\n showText ? `${prefixCls}-show-text` : null,\n status ? `${prefixCls}-status-${status}` : null,\n parseInt((percent as number).toString(), 10) >= 100 ? `${prefixCls}-status-success` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n let progressInfo;\n if (showText) {\n const progressStatus =\n parseInt((percent as number).toString(), 10) >= 100 && !('status' in this.props) ? 'success' : status;\n let percentView: React.ReactNode = `${percent}%`;\n if (progressStatus === 'exception') {\n percentView = <IconProgress type=\"circle-close\" />;\n } else if (progressStatus === 'success') {\n percentView = <IconProgress type=\"circle-check\" />;\n }\n progressInfo = (\n <ProgressStyleText status={status} className={`${prefixCls}-text`}>\n {format ? format(percent as number) : percentView}\n </ProgressStyleText>\n );\n }\n const percentStyle = {\n width: `${percent}%`,\n height: strokeWidth,\n };\n return (\n <ProgressStyleWarp className={cls} style={style} {...resetProps} isLine={true}>\n <ProgressStyleBar showText={showText} className={`${prefixCls}-bar`}>\n <ProgressStyleInner className={`${prefixCls}-inner`}>\n <ProgressStyleBg status={status} className={`${prefixCls}-bg`} style={percentStyle} />\n </ProgressStyleInner>\n </ProgressStyleBar>\n {progressInfo}\n </ProgressStyleWarp>\n );\n }\n}\nexport { Line };\n","import Circle from './Circle';\nimport Line from './Line';\n\nexport * from './Circle';\nexport * from './Line';\nexport * from './style';\n\nexport default {\n Line,\n Circle,\n};\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\nimport { RateProps } from 'src';\n\nexport const RateBgStyleTheme = {\n colorRateBgBase: '#e9e9e9',\n colorRateActiveBase: '#e9e9e9',\n lineHeightRateActiveDefault: '12px',\n colorRateActiveOn: '#f5a623',\n lineHeightRateDefault: '12px',\n fontSizeRateDefault: '20px',\n};\n\ntype ThemeVar = ThemeVariantValueOptions<typeof RateBgStyleTheme>;\n\nexport interface RateWarpProps extends ThemeVar, Pick<RateProps, 'disabled'> {}\nexport interface RateActiveProps extends ThemeVar, Pick<RateProps, 'disabled'> {\n starOn: boolean;\n hoverOn: boolean;\n halfon: boolean;\n}\nexport interface RateBgProps extends ThemeVar, Pick<RateProps, 'disabled'> {}\n\nexport const RateBg = styled.div<RateBgProps>`\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: RateBgStyleTheme }, 'colorRateBgBase')};\n`;\nexport const RateActive = styled.div<RateActiveProps>`\n z-index: 3;\n line-height: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: RateBgStyleTheme }, 'lineHeightRateActiveDefault')};\n position: absolute;\n transition: color 0.3s, width 0.3s;\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: RateBgStyleTheme }, 'colorRateActiveBase')};\n display: none;\n\n ${(props) =>\n props.hoverOn &&\n css`\n cursor: pointer;\n `}\n ${(props) =>\n (props.starOn || props.hoverOn || props.halfon) &&\n css`\n display: inline-block;\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: RateBgStyleTheme }, 'colorRateActiveOn')};\n `}\n ${(props) =>\n props.halfon &&\n !props.hoverOn &&\n css`\n overflow: hidden;\n width: 50%;\n `}\n`;\n\nexport const RateWarp = styled.div<RateWarpProps>`\n position: relative;\n line-height: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: RateBgStyleTheme }, 'lineHeightRateDefault')};\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: RateBgStyleTheme }, 'fontSizeRateDefault')};\n font-family: auto;\n display: inline-block;\n vertical-align: middle;\n > span + span {\n margin-left: 3px;\n }\n\n > span,\n ${RateBg} {\n cursor: pointer;\n position: relative;\n display: inline-block;\n }\n`;\n\n// RateBg.defaultProps = {\n// defaultTheme: RateBgStyleTheme,\n// };\n\n// RateActive.defaultProps = {\n// defaultTheme: RateBgStyleTheme,\n// };\n\n// RateWarp.defaultProps = {\n// defaultTheme: RateBgStyleTheme,\n// };\n\nexport default RateWarp;\n","import React, { useState, useMemo } from 'react';\nimport { IProps, HTMLDivProps, HTMLSpanProps, noop } from '@uiw/utils';\nimport RateWarp, { RateActive, RateBg } from './style';\nexport * from './style';\nexport interface RateProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n value?: number;\n readOnly?: boolean;\n allowHalf?: boolean;\n count?: number;\n color?: string;\n disabled?: boolean;\n character?: React.ReactNode;\n onChange?: (key: number) => void;\n onHoverChange?: (key: number) => void;\n}\n\nexport default function Rate(props: RateProps = {}) {\n const {\n prefixCls = 'w-rate',\n count = 5,\n value: defValue = 0,\n className,\n allowHalf,\n character = '★',\n readOnly = false,\n disabled,\n onChange = noop,\n onHoverChange = noop,\n color,\n ...other\n } = props;\n const [value, setValue] = useState(defValue);\n const [hoverCount, setHoverCount] = useState(-1);\n const cls = [prefixCls, className, disabled ? 'disabled' : null].filter(Boolean).join(' ').trim();\n const [prevValue, setPrevValue] = useState<number>();\n if (defValue !== prevValue) {\n setPrevValue(defValue);\n }\n\n useMemo(() => {\n if (value !== prevValue) {\n setValue(defValue);\n }\n }, [prevValue]);\n\n function onMouseLeave() {\n setHoverCount(-1);\n }\n\n function getValue(e: React.MouseEvent<HTMLElement>, key: number) {\n e.persist();\n let currentValue = key;\n const isLeft =\n e.clientX - e.currentTarget.getBoundingClientRect().left <= e.currentTarget.getBoundingClientRect().width / 2;\n if (allowHalf) {\n e.persist();\n currentValue = isLeft ? key + 0.5 : key + 1;\n } else {\n currentValue = key + 1;\n }\n return currentValue;\n }\n\n function onMouseMove(e: React.MouseEvent<HTMLElement>, key: number) {\n const currentValue = getValue(e, key);\n if (hoverCount !== currentValue) {\n setHoverCount(currentValue);\n onHoverChange(currentValue);\n }\n }\n function onClick(e: React.MouseEvent<HTMLElement>, key: number) {\n if (readOnly) return;\n const currentValue = getValue(e, key);\n setValue(currentValue);\n onChange(currentValue);\n }\n return (\n <RateWarp {...other} className={cls} onMouseLeave={() => onMouseLeave()}>\n {[...Array(count)].map((_, idx) => {\n const halfon =\n (value <= idx + 0.5 && Math.ceil(value) - 1 === idx && hoverCount === -1) || hoverCount === idx + 0.5;\n const starOn = idx + 1 <= value && hoverCount === -1;\n const hoverOn = idx + 1 <= hoverCount;\n const activeCls = [\n `${prefixCls}-hight`,\n starOn ? 'star-on' : null,\n hoverOn ? 'hover-on' : null,\n halfon ? 'half-on' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const props: HTMLSpanProps = {};\n if (!readOnly) {\n props.onClick = (e) => onClick(e, idx);\n props.onMouseMove = (e) => onMouseMove(e, idx);\n }\n return (\n <span key={idx} {...props}>\n <RateActive style={{ color }} className={activeCls} starOn={starOn} hoverOn={hoverOn} halfon={halfon}>\n {character}\n </RateActive>\n <RateBg className={`${prefixCls}-bg`}>{character}</RateBg>\n </span>\n );\n })}\n </RateWarp>\n );\n}\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, HTMLSpanProps, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const TagDefaultTheme = {\n fontSizeSmall: '12px',\n backgroundColorTagStyleSvgHover: 'rgba(0, 0, 0, 0.22)',\n backgroundColorTagStyleSvgActive: 'rgba(0, 0, 0, 0.32)',\n backgroundColorTagStyleSvgLightActive: 'rgba(0, 0, 0, 0.15)',\n fillTagStyleSvgLightHover: '#fff',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof TagDefaultTheme>;\n\nexport interface TagStyleSvgProps extends React.SVGProps<SVGSVGElement>, ThemeVar {\n isLight?: boolean;\n}\nexport const TagStyleSvg = styled.svg<TagStyleSvgProps>`\n vertical-align: bottom;\n margin: 0px -3px 0 2px;\n border-radius: 2px;\n position: relative;\n top: -1px;\n fill: currentcolor;\n transition: all 0.3s;\n cursor: pointer;\n &:hover {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TagDefaultTheme }, 'backgroundColorTagStyleSvgHover')};\n }\n &:active {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TagDefaultTheme }, 'backgroundColorTagStyleSvgActive')};\n }\n ${(props) =>\n props.isLight &&\n css`\n & {\n &:hover {\n background-color: currentcolor;\n path {\n fill: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TagDefaultTheme }, 'fillTagStyleSvgLightHover')};\n }\n }\n &:active {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TagDefaultTheme }, 'backgroundColorTagStyleSvgLightActive')};\n }\n }\n `}\n`;\n// TagStyleSvg.defaultProps = { defaultTheme: TagDefaultTheme };\nexport interface TagStyleWarpProps extends HTMLSpanProps, ThemeVar {\n disabled?: boolean;\n}\nexport const TagStyleWarp = styled.span<TagStyleWarpProps>`\n border-radius: 2px;\n display: inline-block;\n user-select: none;\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: TagDefaultTheme }, 'fontSizeSmall')};\n padding: 1px 5px;\n position: relative;\n white-space: nowrap;\n vertical-align: middle;\n & + & {\n margin-left: 5px;\n }\n ${(props) =>\n props.disabled &&\n css`\n & {\n opacity: 0.75;\n cursor: not-allowed;\n }\n `}\n`;\n// TagStyleWarp.defaultProps = { defaultTheme: TagDefaultTheme };\n","import React from 'react';\nimport { IProps, HTMLSpanProps } from '@uiw/utils';\nimport { TagStyleWarp, TagStyleSvg } from './style';\n\nexport interface TagProps extends IProps, Omit<HTMLSpanProps, 'title'> {\n color?: string;\n disabled?: boolean;\n visible?: boolean;\n bordered?: boolean;\n light?: boolean;\n closable?: boolean;\n title?: React.ReactNode;\n onClose?: (e: React.MouseEvent<SVGSVGElement, MouseEvent>) => void;\n}\n\nexport default (props: TagProps = {}) => {\n const {\n prefixCls = 'w-tag',\n className,\n style,\n title = '',\n children,\n visible = true,\n color = '#6E6E6E',\n disabled = false,\n bordered = true,\n closable,\n light = false,\n onClose,\n ...other\n } = props;\n const cls = [prefixCls, className, light ? `${prefixCls}-light` : null, disabled ? 'disabled' : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n const styl: React.CSSProperties = { ...style };\n if (!light) {\n styl.color = '#fff';\n styl.backgroundColor = color;\n } else {\n styl.color = color;\n styl.borderColor = color;\n if (bordered && light) {\n styl.boxShadow = `inset 0 0 0 1px ${color}`;\n }\n }\n if (!visible) {\n return null;\n }\n\n return (\n <TagStyleWarp disabled={disabled} className={cls} style={styl} {...other}>\n {title || children}\n {!disabled && closable ? (\n <TagStyleSvg\n isLight={light}\n onClick={onClose}\n className={`${prefixCls}-close`}\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M9.41 8l2.29-2.29c.19-.18.3-.43.3-.71a1.003 1.003 0 0 0-1.71-.71L8 6.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42L6.59 8 4.3 10.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71L8 9.41l2.29 2.29c.18.19.43.3.71.3a1.003 1.003 0 0 0 .71-1.71L9.41 8z\" />\n </TagStyleSvg>\n ) : null}\n </TagStyleWarp>\n );\n};\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport Input, { InputProps, InputStyleBase } from '@uiw/react-input';\nimport { IconStyleBase, IconStyleBaseProps } from '@uiw/react-icon';\n\nexport const SearchSelectStyleTheme = {\n backgroundSearchSelectDisabled: '#dddddd',\n backgroundSearchSelectBase: '#fff',\n colorSearchSelectDisabled: '#a5a5a5',\n colorSearchSelectBase: '#393e48',\n boxShadowSearchSelectBase:\n ' 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15),inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n boxShadowSearchSelectFocus:\n '0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n boxShadowSearchSelectHover:\n ' 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n boxShadowSearchSelectFocusHover:\n ' 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2)',\n};\n\nexport interface SearchSelectInputContentsBaseProps\n extends InputProps,\n ThemeVariantValueOptions<typeof SearchSelectStyleTheme> {}\n\nexport const SearchSelectInputContentsBase = styled(Input)<SearchSelectInputContentsBaseProps>`\n ${InputStyleBase} {\n box-shadow: none;\n padding: 0px;\n // min-width: 50px;\n height: 28px;\n &:hover {\n box-shadow: none !important;\n }\n\n &:focus {\n box-shadow: none !important;\n }\n ${(props) =>\n props.disabled &&\n css`\n box-shadow: none;\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SearchSelectStyleTheme }, 'backgroundSearchSelectDisabled')};\n opacity: 0.75;\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SearchSelectStyleTheme }, 'colorSearchSelectDisabled')};\n cursor: not-allowed;\n resize: none;\n `}\n }\n ${(props) =>\n props.size === 'small' &&\n css`\n ${InputStyleBase} {\n height: 16px;\n font-size: 10px;\n padding: 0px;\n }\n `}\n ${(props) =>\n props.size === 'large' &&\n css`\n ${InputStyleBase} {\n height: 28px;\n }\n `}\n`;\n// SearchSelectInputContentsBase.defaultProps = {\n// defaultTheme: SearchSelectStyleTheme,\n// };\n\nexport interface SearchSelectTagContentsBaseProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement | ThemeVariantValueOptions>, HTMLDivElement> {}\nexport const SearchSelectTagContentsBase = styled.div`\n display: flex;\n align-items: center;\n flex-flow: wrap;\n width: 100%;\n`;\n\nexport interface SearchSelectInputStyleBaseProps extends InputProps, ThemeVariantValueOptions {\n params?: {\n showSearch?: boolean;\n };\n}\n\nexport const SearchSelectInputStyleBase = styled(Input)<SearchSelectInputStyleBaseProps>`\n ${(props) =>\n props.params?.showSearch === false &&\n css`\n cursor: pointer;\n `}\n`;\n\nexport interface SearchSelectIconStyleBaseProps extends IconStyleBaseProps {\n params?: {\n singe?: boolean;\n multiple?: boolean;\n spin?: boolean;\n };\n}\nexport const SearchSelectIconStyleBase = styled(IconStyleBase)<SearchSelectIconStyleBaseProps>`\n ${(props) =>\n props.params?.multiple &&\n css`\n left: 7px;\n font-size: 15px;\n `}\n\n ${(props) =>\n props.params?.singe &&\n css`\n font-size: 15px;\n `}\n`;\n\nexport interface SearchSelectInnerProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVariantValueOptions<typeof SearchSelectStyleTheme> {\n params?: {\n showSearch: boolean;\n };\n}\nexport const SearchSelectInner = styled.div<SearchSelectInnerProps>`\n display: flex;\n justify-content: space-between;\n outline: none;\n border: none;\n align-items: center;\n border-radius: 3px;\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SearchSelectStyleTheme }, 'boxShadowSearchSelectBase')};\n box-sizing: border-box;\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SearchSelectStyleTheme }, 'backgroundSearchSelectBase')};\n margin: 0 !important;\n padding: 1px 10px;\n vertical-align: middle;\n line-height: 30px;\n align-items: center;\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SearchSelectStyleTheme }, 'colorSearchSelectBase')};\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n appearance: none;\n\n &:focus {\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SearchSelectStyleTheme }, 'boxShadowSearchSelectFocus')};\n }\n\n &:hover {\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SearchSelectStyleTheme }, 'boxShadowSearchSelectHover')};\n }\n\n &:focus&:hover {\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SearchSelectStyleTheme }, 'boxShadowSearchSelectFocusHover')};\n }\n ${(props) =>\n props.params?.showSearch === false &&\n css`\n cursor: pointer;\n `}\n`;\n// SearchSelectInner.defaultProps = {\n// defaultTheme: SearchSelectStyleTheme,\n// };\n","import React, { useMemo } from 'react';\nimport Dropdown, { DropdownProps } from '@uiw/react-dropdown';\nimport Menu from '@uiw/react-menu';\nimport Tag, { TagProps } from '@uiw/react-tag';\nimport { IProps } from '@uiw/utils';\nimport { useState } from 'react';\nimport { useRef } from 'react';\nimport { useEffect } from 'react';\nimport {\n SearchSelectInputContentsBase,\n SearchSelectTagContentsBase,\n SearchSelectIconStyleBase,\n SearchSelectInputStyleBase,\n SearchSelectInner,\n} from './style';\nimport { Close } from '@uiw/icons/lib/Close';\nimport { Loading } from '@uiw/icons/lib/Loading';\nexport * from './style';\n\nconst ICONTYPE = {\n close: Close,\n loading: Loading,\n};\n\ntype ValueType = string | number;\n\nconst TagSize = { large: 25, default: 20, small: 17 };\n\nexport interface SearchSelectProps extends IProps, DropdownProps {\n mode?: 'single' | 'multiple';\n size?: 'large' | 'default' | 'small';\n maxTagCount?: number;\n valueAmount?: number;\n labelInValue?: boolean;\n loading?: boolean;\n showSearch?: boolean;\n allowClear?: boolean;\n defaultValue?: ValueType | Array<ValueType>;\n tagProps?: TagProps;\n value?: ValueType | Array<ValueType>;\n option: SearchSelectOptionData[];\n onSelect?: (value: ValueType | Array<ValueType> | Array<SearchSelectOptionData>) => void;\n onSearch?: (value: string) => void;\n onChange?: (value: ValueType | Array<ValueType> | Array<SearchSelectOptionData>) => void;\n}\n\nexport interface SearchSelectOptionData {\n label: string;\n value: string | number;\n [keyName: string]: any;\n}\n\nexport default function SearchSelect(props: SearchSelectProps) {\n const {\n allowClear = false,\n disabled = false,\n valueAmount,\n size = 'default',\n option = [],\n maxTagCount,\n loading = false,\n labelInValue = false,\n prefixCls = 'w-search-select',\n className,\n mode = 'single',\n style,\n isOpen,\n value,\n defaultValue,\n showSearch = false,\n tagProps = {},\n placeholder,\n onSearch,\n onChange,\n onSelect,\n ...others\n } = props;\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const isMultiple = useMemo(() => mode === 'multiple', [mode]);\n const [innerIsOpen, setInnerIsOpen] = useState(false);\n const [selectedValue, setSelectedValue] = useState<Array<SearchSelectOptionData>>([]);\n const [selectedLabel, setSelectedLabel] = useState<string>('');\n const [selectIconType, setSelectIconType] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n const omitTagCount = useMemo(\n () => (maxTagCount && selectedValue.length > maxTagCount ? selectedValue.length - maxTagCount : 0),\n [selectedValue.length],\n );\n const divRef = useRef<HTMLDivElement>(null);\n\n const valueVerify = (value: ValueType | Array<ValueType> | undefined) => {\n return value !== undefined && value !== '';\n };\n\n const valueRef = useRef<Array<SearchSelectOptionData>>();\n valueRef.current = useMemo(() => selectedValue, [selectedValue]);\n\n useEffect(() => {\n if (!valueVerify(value) && valueVerify(defaultValue)) {\n selectedValueChange(defaultValue!);\n }\n }, []);\n\n useEffect(() => {\n if (disabled) {\n setInnerIsOpen(false);\n }\n }, [disabled]);\n\n useEffect(() => {\n if (valueVerify(value)) {\n selectedValueChange(value!);\n } else {\n setSelectedValue([]);\n setSelectedLabel('');\n }\n }, [JSON.stringify(value)]);\n\n const getSelectOption = (option: Array<SearchSelectOptionData>, value: ValueType) => {\n const findResult = option.find((item) => item.value === value);\n return findResult;\n };\n\n function selectedValueChange(\n changeValue: ValueType | Array<ValueType> | SearchSelectOptionData | Array<SearchSelectOptionData>,\n ) {\n let opts: Array<SearchSelectOptionData> = [];\n if (labelInValue) {\n if (Array.isArray(changeValue)) {\n opts = changeValue as Array<SearchSelectOptionData>;\n } else {\n opts.push(changeValue as SearchSelectOptionData);\n }\n } else {\n if (Array.isArray(changeValue)) {\n opts = changeValue.map((v) => getSelectOption(option, v as ValueType)!).filter((m) => !!m);\n } else {\n const findResult = getSelectOption(option, changeValue as ValueType);\n if (findResult) {\n setSelectedLabel(findResult.label);\n opts.push(findResult);\n }\n }\n }\n\n if (!isMultiple && opts.length > 0) setSelectedLabel(opts[0].label || '');\n setSelectedValue(opts.slice(0, valueAmount));\n }\n\n function removeSelectItem(index: number) {\n const selectedValue = valueRef.current as SearchSelectOptionData[];\n selectedValue.splice(index, 1);\n const values = [...selectedValue];\n return values;\n }\n\n const selectedLabelChange = (value: string) => {\n setSelectedLabel(value);\n showSearch && onSearch?.(value);\n };\n\n function handleItemClick(item: SearchSelectOptionData) {\n setInnerIsOpen(false);\n const values = [item];\n setSelectedLabel(item.label);\n const resultValue = item.value;\n handleChange(resultValue, values);\n }\n\n function handleItemsClick(index: number, item?: SearchSelectOptionData) {\n let values: SearchSelectOptionData[] =\n index !== -1\n ? removeSelectItem(index)\n : [...selectedValue.slice(0, valueAmount ? valueAmount - 1 : undefined), item!];\n const resultValue = values.map((item) => item.value);\n handleChange(resultValue, values);\n }\n\n function handleChange(resultValue: ValueType | Array<ValueType>, values: SearchSelectOptionData[]) {\n setSelectedLabel('');\n onSelect && onSelect(resultValue);\n handleSelectChange(resultValue, values); // 支持form组件\n\n value === undefined && setSelectedValue(values); // 如果受控于父组件则不需要内部维护状态\n }\n\n // 渲染icon\n function renderSelectIcon(type: string) {\n let selectIconType;\n if (type === 'enter' && allowClear && (selectedValue.length > 0 || selectedLabel)) {\n selectIconType = 'close';\n } else {\n selectIconType = '';\n }\n setSelectIconType(selectIconType);\n }\n // handle change\n function handleInputChange(value: string) {\n setInnerIsOpen(true);\n setSelectIconType(showSearch && value ? 'loading' : '');\n // setSelectedLabel(value);\n // showSearch && onSearch && onSearch(value);\n selectedLabelChange(value);\n }\n // 清除选中的值\n function resetSelectedValue(e: React.MouseEvent<any, MouseEvent>) {\n e.stopPropagation();\n inputRef.current?.focus();\n setSelectedValue([]);\n handleInputChange('');\n setInnerIsOpen(false);\n handleSelectChange('', []);\n }\n function handleSelectChange(value: ValueType | Array<ValueType>, options: Array<SearchSelectOptionData>) {\n if (!onChange) return;\n\n onChange(labelInValue ? options : value);\n }\n\n function inputKeyDown(e: any) {\n if (isMultiple && selectedValue.length > 0 && !selectedLabel && e.keyCode === 8) {\n handleItemsClick(selectedValue.length - 1);\n }\n }\n\n function onVisibleChange(isOpen: boolean) {\n const selectedValue = valueRef.current as SearchSelectOptionData[];\n setInnerIsOpen(isOpen);\n if (!isOpen) selectedLabelChange('');\n if (!isMultiple && selectedValue.length > 0) {\n setSelectedLabel(selectedValue[0].label);\n }\n }\n\n return (\n <Dropdown\n className={cls}\n trigger=\"click\"\n style={{ marginTop: 5 }}\n overlayStyl={{ width: 100 }}\n disabled={disabled}\n {...others}\n onVisibleChange={onVisibleChange}\n isOpen={innerIsOpen}\n menu={\n <Menu\n bordered\n style={{\n minHeight: 25,\n maxHeight: 280,\n minWidth: style?.width ?? 200,\n overflowY: 'scroll',\n width: style?.width,\n }}\n >\n {!option || option.length === 0 ? (\n <div style={{ color: '#c7c7c7', fontSize: 12 }}>{loading ? '正在加载数据...' : '没有数据'}</div>\n ) : (\n option.map((item) => {\n const index = selectedValue.findIndex((finds) => finds.value === item.value);\n return (\n <Menu.Item\n active={index !== -1}\n key={index}\n text={item.label}\n onClick={() => (isMultiple ? handleItemsClick(index, item) : handleItemClick(item))}\n />\n );\n })\n )}\n </Menu>\n }\n >\n <div\n ref={divRef}\n onMouseOver={() => renderSelectIcon('enter')}\n onMouseLeave={() => renderSelectIcon('leave')}\n onClick={() => inputRef.current?.focus()}\n style={{ width: '100%', maxWidth: 'none', ...style }}\n >\n {isMultiple ? (\n <SearchSelectInner\n params={{ showSearch }}\n className={[`${prefixCls}-inner`, `${prefixCls}-search-${showSearch}`, `${prefixCls}-${size}`]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n <SearchSelectTagContentsBase className={`${prefixCls}-tag-content`} style={{}}>\n {isMultiple &&\n selectedValue.slice(0, maxTagCount).map((item, index) => {\n return (\n <Tag\n style={{\n height: TagSize[size],\n margin: 1,\n display: 'flex',\n alignItems: 'center',\n ...tagProps.style,\n }}\n key={index}\n color=\"#393E48\"\n {...tagProps}\n closable\n disabled={disabled}\n onClose={(e) => {\n e.stopPropagation();\n handleItemsClick(index, item);\n }}\n >\n {item.label}\n </Tag>\n );\n })}\n {!!omitTagCount && (\n <Tag style={{ height: 20, margin: 1, display: 'flex', alignItems: 'center' }} disabled={true}>\n +{omitTagCount} …{' '}\n </Tag>\n )}\n <SearchSelectInputContentsBase\n style={{ flex: 1, width: showSearch ? 0 : 50 }}\n className={`${prefixCls}-input-contents`}\n readOnly={!showSearch}\n size={size}\n ref={inputRef}\n disabled={disabled}\n onKeyDown={inputKeyDown}\n onChange={(e) => handleInputChange(e.target.value)}\n value={selectedLabel}\n placeholder={selectedValue.length ? '' : placeholder}\n />\n </SearchSelectTagContentsBase>\n {!disabled && (selectIconType === 'close' || (selectIconType === 'loading' && loading)) && (\n <SearchSelectIconStyleBase\n className={`${prefixCls}-multiple-colse`}\n as={ICONTYPE[selectIconType]}\n params={{ multiple: true, spin: loading && selectIconType === 'loading' }}\n // spin={loading && selectIconType === 'loading'}\n onClick={resetSelectedValue}\n />\n )}\n </SearchSelectInner>\n ) : (\n <SearchSelectInputStyleBase\n className={`${prefixCls}-search-${showSearch}`}\n readOnly={!showSearch}\n params={{ showSearch }}\n size={size}\n ref={inputRef}\n disabled={disabled}\n onChange={(e) => handleInputChange(e.target.value)}\n value={selectedLabel}\n placeholder={placeholder}\n addonAfter={\n !disabled &&\n (selectIconType === 'close' || (selectIconType === 'loading' && loading)) && (\n <SearchSelectIconStyleBase\n as={ICONTYPE[selectIconType]}\n params={{ singe: true, spin: loading && selectIconType === 'loading' }}\n className={`${prefixCls}-singe-colse`}\n style={{ fill: '#393e48' }}\n // spin={loading && selectIconType === 'loading'}\n onClick={resetSelectedValue}\n />\n )\n }\n />\n )}\n </div>\n </Dropdown>\n );\n}\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, HTMLSpanProps, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const StepsStyleTheme = {\n // 行高默认\n lineHeightDefault: 1.5,\n colorStepsError: ' #f04134',\n backgroundColorStepsError: ' #f04134',\n borderColorStepsError: ' #f04134',\n backgroundColorStepsProcess: ' #2d8cf0',\n borderColorStepsProcess: ' #2d8cf0',\n backgroundStepsStyleItemTail: '#e9e9e9',\n backgroundColorBase: '#fff',\n fontSizeDefault: '14px',\n fontSizeSmall: '12px',\n\n colorStepsStyleItemHeadInner: 'rgba(0, 0, 0, 0.25)',\n borderColorStepsStyleItemHeadInner: 'rgba(0, 0, 0, 0.25)',\n backgroundColorStepsStyleItemHeadInner: 'rgba(0, 0, 0, 0.25)',\n\n colorStepsStyleItemHeadInnerIcon: '#108ee9',\n\n colorStepsStyleItemMainTitle: '#999',\n colorStepsStyleItemMainProcess: ' rgba(0, 0, 0, 0.65)',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof StepsStyleTheme>;\n\nexport interface StepsBaseProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVar {}\nexport interface StepsBaseSpanProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanProps>, HTMLSpanProps>,\n ThemeVar {}\nexport interface StepsBaseIProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>,\n ThemeVar {}\nexport interface StepsStyleWarpProps extends StepsBaseProps {}\n\nexport const StepsStyleWarp = styled.div<StepsStyleWarpProps>`\n font-size: 0;\n width: 100%;\n line-height: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'lineHeightDefault')};\n`;\n// StepsStyleWarp.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport interface StepsStyleItemProps extends StepsBaseProps {\n params?: {\n direction?: 'horizontal' | 'vertical';\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n };\n}\n\nexport const StepsStyleItem = styled.div<StepsStyleItemProps>`\n position: relative;\n vertical-align: top;\n\n ${(props) =>\n (props.params?.direction === 'vertical' &&\n css`\n & {\n display: block;\n }\n `) ||\n css`\n display: inline-block;\n `}\n ${(props) =>\n ['process', 'finish'].includes(props.params?.status || '') &&\n css`\n & {\n [class^='w-icon-'],\n [class*=' w-icon-'] {\n vertical-align: middle;\n position: relative;\n top: -1px;\n }\n }\n `}\n ${(props) =>\n props.params?.status === 'error' &&\n css`\n & i[class^='w-icon-'] {\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsIError')};\n }\n `}\n`;\n// StepsStyleItem.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport interface StepsStyleItemTailProps extends StepsBaseProps {\n params?: {\n dot?: boolean;\n direction?: 'horizontal' | 'vertical';\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n };\n}\n\nexport const StepsStyleItemTail = styled.div<StepsStyleItemTailProps>`\n ${StepsStyleItem}:last-child & {\n display: none;\n text-align: center;\n }\n position: absolute;\n left: 0;\n width: 100%;\n top: 13px;\n padding: 0 10px;\n height: 1px;\n ${(props) =>\n props.params?.direction === 'vertical' &&\n !props.params.dot &&\n css`\n ${StepsStyleWarp} > ${StepsStyleItem} > && {\n height: 100%;\n width: 1px;\n padding: 18px 0;\n left: 13px;\n }\n `}\n ${(props) =>\n props.params?.dot &&\n props.params.direction !== 'vertical' &&\n css`\n & {\n padding: 0;\n width: 100%;\n position: initial;\n height: 2px;\n }\n ${['error', 'process'].includes(props.params.status || '') &&\n css`\n & {\n padding-right: 50%;\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundStepsStyleItemTail')};\n }\n `}\n ${StepsStyleItem}:first-child && {\n padding-left: 50%;\n }\n ${StepsStyleItem}:last-child && {\n display: block;\n padding-right: 50%;\n }\n `}\n ${(props) =>\n props.params?.dot &&\n props.params.direction === 'vertical' &&\n css`\n ${StepsStyleItem}:last-child & {\n display: none;\n }\n & {\n position: absolute;\n height: 100%;\n width: 1px;\n left: 3px;\n padding: 0 0 21px;\n }\n ${props.params.status === 'error' &&\n css`\n & {\n background-color: transparent;\n }\n `}\n `}\n`;\n// StepsStyleItemTail.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport interface StepsStyleItemTailIProps extends StepsBaseIProps {\n params?: {\n dot?: boolean;\n direction?: 'horizontal' | 'vertical';\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n nextError?: boolean;\n };\n}\n\nexport const StepsStyleItemTailI = styled.i<StepsStyleItemTailIProps>`\n display: block;\n width: 100%;\n height: 100%;\n position: relative;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundStepsStyleItemTail')};\n &:after {\n position: absolute;\n content: ' ';\n top: 0;\n width: 0;\n height: 100%;\n transition: all 0.6s;\n }\n ${(props) =>\n props.params?.nextError &&\n css`\n &:after {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorStepsError')};\n width: 100%;\n transition: all 0.6s;\n }\n `}\n ${(props) =>\n props.params?.nextError &&\n props.params.dot &&\n props.params.direction === 'vertical' &&\n css`\n &:after {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorStepsError')};\n }\n `}\n ${(props) => {\n const { params } = props;\n switch (params?.status) {\n case 'error':\n return css`\n ${params.dot &&\n css`\n &:after {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorStepsError')};\n width: 100%;\n }\n ${params.direction === 'vertical' &&\n css`\n &:after {\n background-color: transparent;\n }\n `}\n `}\n `;\n case 'finish':\n return css`\n ${!params.nextError &&\n css`\n &:after {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorStepsProcess')};\n width: 100%;\n }\n `}\n ${params.nextError &&\n params.direction !== 'vertical' &&\n params.dot &&\n css`\n &:after {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorStepsProcess')};\n }\n `}\n `;\n case 'process':\n return css`\n ${params.dot &&\n css`\n &:after {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorStepsProcess')};\n width: 100%;\n }\n `}\n `;\n case 'success':\n return css``;\n case 'wait':\n return css``;\n default:\n return css``;\n }\n }}\n`;\n// StepsStyleItemTailI.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport interface StepsStyleItemHeadProps extends StepsBaseProps {\n params?: {\n dot?: boolean;\n };\n}\n\nexport const StepsStyleItemHead = styled.div<StepsStyleItemHeadProps>`\n position: relative;\n display: inline-block;\n vertical-align: top;\n padding-left: 10px;\n background: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorBase')};\n &:not(:first-child) {\n margin-left: -10px;\n }\n ${(props) =>\n props.params?.dot &&\n css`\n &:not(:first-child) {\n margin-left: 0;\n padding-left: 0;\n text-align: center;\n display: block;\n }\n & {\n background: transparent;\n margin-top: -4px;\n }\n `}\n`;\n// StepsStyleItemHead.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport interface StepsStyleItemHeadInnerProps extends StepsBaseProps {\n params?: {\n dot?: boolean;\n direction?: 'horizontal' | 'vertical';\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n icon?: boolean;\n };\n}\n\nexport const StepsStyleItemHeadInner = styled.div<StepsStyleItemHeadInnerProps>`\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid\n ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'borderColorStepsStyleItemHeadInner')};\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsStyleItemHeadInner')};\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorBase')};\n width: 26px;\n height: 26px;\n line-height: 26px;\n text-align: center;\n border-radius: 26px;\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'fontSizeDefault')};\n margin-right: 8px;\n transition: background-color 0.3s ease, border-color 0.3s ease;\n ${(props) =>\n ['process', 'finish'].includes(props.params?.status || '') &&\n css`\n & {\n border-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'borderColorStepsProcess')};\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorStepsProcess')};\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorBase')};\n }\n `}\n ${(props) =>\n props.params?.status === 'error' &&\n css`\n & {\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsError')};\n border-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'borderColorStepsError')};\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorBase')};\n }\n `}\n\n ${(props) =>\n props.params?.icon &&\n css`\n && {\n background: none;\n border: 0;\n width: 26px;\n height: 26px;\n font-size: 26px;\n }\n `}\n ${(props) =>\n props.params?.dot &&\n css`\n & {\n margin: 0 auto;\n width: 7px;\n height: 7px;\n line-height: 5px;\n border: 0;\n }\n ${props.params.status === 'error' &&\n css`\n & {\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorStepsError')};\n }\n `}\n ${props.params.status === 'wait' &&\n css`\n & {\n border-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'borderColorStepsStyleItemHeadInner')};\n background-color: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: StepsStyleTheme },\n 'backgroundColorStepsStyleItemHeadInner',\n )};\n }\n `}\n ${props.params.direction === 'vertical' &&\n css`\n & {\n margin: 0;\n }\n `}\n `}\n`;\n// StepsStyleItemHeadInner.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport interface StepsStyleItemHeadInnerDotProps extends StepsBaseSpanProps {\n params?: {\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n };\n}\n\nexport const StepsStyleItemHeadInnerDot = styled.span<StepsStyleItemHeadInnerDotProps>`\n ${(props) =>\n props.params?.status === 'wait' &&\n css`\n & {\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'borderColorStepsStyleItemHeadInner')};\n }\n `}\n`;\n// StepsStyleItemHeadInnerDot.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport interface StepsStyleItemHeadInnerIconProps extends StepsBaseSpanProps {\n params?: {\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n icon?: boolean;\n };\n}\n\nexport const StepsStyleItemHeadInnerIcon = styled.span<StepsStyleItemHeadInnerIconProps>`\n ${(props) =>\n ['process', 'finish'].includes(props.params?.status || '') &&\n props.params?.icon &&\n css`\n & {\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsStyleItemHeadInnerIcon')};\n }\n `}\n ${(props) =>\n props.params?.status === 'error' &&\n css`\n & {\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsError')};\n }\n `}\n`;\n// StepsStyleItemHeadInnerIcon.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport const StepsStyleItemHeadInnerSvg = styled.svg`\n fill: currentcolor;\n height: 1em;\n width: 1em;\n display: inline-flex;\n align-self: center;\n position: relative;\n transition: color 0.3s;\n box-sizing: inherit;\n`;\n\nexport interface StepsStyleItemMainProps extends StepsBaseProps {\n params?: {\n dot?: boolean;\n direction?: 'horizontal' | 'vertical';\n };\n}\n\nexport const StepsStyleItemMain = styled.div<StepsStyleItemMainProps>`\n position: relative;\n display: inline-block;\n vertical-align: top;\n ${(props) =>\n props.params?.dot &&\n css`\n & {\n display: block;\n text-align: center;\n }\n ${props.params.direction === 'vertical' &&\n css`\n & {\n text-align: left;\n padding-left: 20px;\n padding-bottom: 24px;\n margin-top: -21px;\n }\n `}\n `}\n ${(props) =>\n props.params?.direction === 'vertical' &&\n css`\n padding-bottom: 12px;\n overflow: hidden;\n `}\n`;\n// StepsStyleItemMain.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport interface StepsStyleItemMainTitleProps extends StepsBaseProps {\n params?: {\n dot?: boolean;\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n };\n}\n\nexport const StepsStyleItemMainTitle = styled.div<StepsStyleItemMainTitleProps>`\n padding-right: 10px;\n line-height: 26px;\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'fontSizeDefault')};\n font-weight: 700;\n background: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'backgroundColorBase')};\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsStyleItemMainTitle')};\n display: inline-block;\n ${(props) =>\n props.params?.status === 'process' &&\n css`\n & {\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsStyleItemMainProcess')};\n }\n `}\n ${(props) =>\n props.params?.status === 'error' &&\n css`\n & {\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsError')};\n }\n `}\n ${(props) =>\n props.params?.dot &&\n css`\n & {\n padding-top: 5px;\n }\n `}\n`;\n// StepsStyleItemMainTitle.defaultProps = { defaultTheme: StepsStyleTheme };\n\nexport interface StepsStyleItemMainDescriptionProps extends StepsBaseProps {\n params?: {\n dot?: boolean;\n direction?: 'horizontal' | 'vertical';\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n };\n}\n\nexport const StepsStyleItemMainDescription = styled.div<StepsStyleItemMainDescriptionProps>`\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'fontSizeSmall')};\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsStyleItemMainTitle')};\n max-width: 130px;\n ${(props) =>\n props.params?.status === 'process' &&\n css`\n & {\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsStyleItemMainProcess')};\n }\n `}\n ${(props) =>\n props.params?.status === 'error' &&\n css`\n & {\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: StepsStyleTheme }, 'colorStepsError')};\n }\n `}\n ${(props) =>\n (props.params?.direction === 'vertical' || props.params?.dot) &&\n css`\n & {\n max-width: inherit;\n }\n `}\n`;\n\n// StepsStyleItemMainDescription.defaultProps = { defaultTheme: StepsStyleTheme };\n","import React, { useEffect, useRef, useState } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Step, { StepProps } from './Step';\nimport { StepsStyleWarp } from './style';\nexport interface StepsProps<T> extends IProps, HTMLDivProps {\n status?: StepProps['status'];\n progressDot?: StepProps['progressDot'];\n direction?: 'horizontal' | 'vertical';\n /**\n * 指定当前步骤,从 `0` 开始记数。\n */\n current?: number;\n}\n\nfunction InternalSteps<T>(props: StepsProps<T>) {\n const {\n prefixCls = 'w-steps',\n style = {},\n className,\n children,\n current,\n status = 'process',\n progressDot = false,\n direction = 'horizontal',\n ...resetProps\n } = props;\n\n const warpRef = useRef<HTMLDivElement>(null);\n const [lastStepOffsetWidth, setLastStepOffsetWidth] = useState(0);\n const filteredChildren = React.Children.toArray(children).filter((c) => !!c);\n const lastIndex = filteredChildren.length - 1; // 最后一个节点的索引数字\n const classString = [prefixCls, `${prefixCls}-${direction}`, !!progressDot ? `${prefixCls}-dot` : null]\n .filter(Boolean)\n .join(' ')\n .trim();\n\n useEffect(() => calcStepOffsetWidth());\n\n // 计算每一步的宽度\n function calcStepOffsetWidth() {\n const domNode = warpRef.current;\n if (domNode && domNode.lastChild) {\n const width = ((domNode.lastChild as HTMLElement).offsetWidth || 0) + 1;\n if (width === lastStepOffsetWidth || Math.abs(width - lastStepOffsetWidth) <= 3) {\n return;\n }\n setLastStepOffsetWidth(width);\n }\n }\n\n return (\n <StepsStyleWarp className={classString} style={style} {...resetProps} ref={warpRef}>\n {React.Children.map(children, (child: any, index) => {\n const childProps = {\n stepNumber: `${index + 1}`,\n prefixCls,\n progressDot,\n direction,\n ...child.props,\n };\n if (index !== lastIndex && direction !== 'vertical') {\n childProps.itemWidth = `${100 / lastIndex}%`;\n childProps.adjustMarginRight = -Math.round(lastStepOffsetWidth / lastIndex + 1);\n }\n\n if (progressDot && direction !== 'vertical') {\n childProps.itemWidth = `${100 / filteredChildren.length}%`;\n childProps.adjustMarginRight = 0;\n }\n // 错误前面\n if (status === 'error' && index === (current as number) - 1) {\n childProps.className = `${prefixCls}-next-error`;\n childProps.nextError = true;\n }\n if (!child.props.status) {\n if (index === current!) {\n childProps.status = status;\n } else if (index < (current as number)) {\n childProps.status = 'finish';\n } else {\n childProps.status = 'wait';\n }\n }\n return React.cloneElement(child, childProps);\n })}\n </StepsStyleWarp>\n );\n}\n\ntype Steps = typeof InternalSteps & {\n Step: typeof Step;\n};\n\n(InternalSteps as Steps).Step = Step;\n\nexport default InternalSteps as Steps;\n","import React, { CSSProperties } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { Check } from '@uiw/icons/lib/Check';\nimport { Close } from '@uiw/icons/lib/Close';\n\nimport {\n StepsStyleItem,\n StepsStyleItemTail,\n StepsStyleItemTailI,\n StepsStyleItemHead,\n StepsStyleItemHeadInner,\n StepsStyleItemMain,\n StepsStyleItemMainTitle,\n StepsStyleItemMainDescription,\n StepsStyleItemHeadInnerDot,\n StepsStyleItemHeadInnerIcon,\n StepsStyleItemHeadInnerSvg,\n} from './style';\nexport interface StepProps extends IProps, Omit<HTMLDivProps, 'title'> {\n nextError?: boolean | undefined;\n title?: React.ReactNode;\n description?: React.ReactNode;\n status?: 'wait' | 'process' | 'finish' | 'error' | 'success';\n progressDot?: boolean;\n itemWidth?: number;\n stepNumber?: string;\n adjustMarginRight?: number;\n icon?: React.ReactNode;\n direction?: 'horizontal' | 'vertical';\n}\n\nexport default function Step(props: StepProps) {\n const {\n prefixCls = 'w-steps',\n className,\n style,\n status,\n itemWidth,\n icon,\n adjustMarginRight,\n stepNumber,\n title,\n description,\n progressDot,\n direction,\n ...restProps\n } = props;\n const classString = [\n `${prefixCls}-item`,\n `${prefixCls}-item-${status}`,\n className,\n icon ? `${prefixCls}-custom` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim();\n const stepItemStyle: CSSProperties = { ...style };\n const stepItemDotStyle: CSSProperties = {};\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n if (progressDot) {\n stepItemDotStyle.paddingRight = Math.abs(adjustMarginRight);\n }\n }\n let iconNode = null;\n if (progressDot) {\n iconNode = <StepsStyleItemHeadInnerDot params={{ status }} className={`${prefixCls}-dot`} />;\n } else if (icon && typeof icon !== 'string') {\n iconNode = (\n <StepsStyleItemHeadInnerIcon params={{ status, icon: !!icon }} className={`${prefixCls}-icon`}>\n {icon}\n </StepsStyleItemHeadInnerIcon>\n );\n } else if (status === 'finish' || status === 'error') {\n iconNode = <StepsStyleItemHeadInnerSvg as={status === 'finish' ? Check : Close} />;\n } else {\n iconNode = (\n <StepsStyleItemHeadInnerIcon params={{ status, icon: !!icon }} className={`${prefixCls}-icon`}>\n {stepNumber}\n </StepsStyleItemHeadInnerIcon>\n );\n }\n return (\n <StepsStyleItem\n {...restProps}\n params={{\n status,\n direction,\n }}\n className={classString}\n style={stepItemStyle}\n >\n <StepsStyleItemTail\n className={`${prefixCls}-item-tail`}\n params={{ direction, dot: !!progressDot, status: status }}\n style={stepItemDotStyle}\n >\n <StepsStyleItemTailI\n params={{\n direction,\n dot: !!progressDot,\n status: status,\n nextError: props.nextError,\n }}\n style={{ paddingRight: '100%' }}\n />\n </StepsStyleItemTail>\n <StepsStyleItemHead params={{ dot: !!progressDot }} className={`${prefixCls}-item-head`}>\n <StepsStyleItemHeadInner\n params={{\n direction,\n dot: !!progressDot,\n status: status,\n icon: !!icon,\n }}\n className={[`${prefixCls}-item-inner`, !!icon && 'is-icon'].filter(Boolean).join(' ').trim()}\n >\n {iconNode}\n </StepsStyleItemHeadInner>\n </StepsStyleItemHead>\n <StepsStyleItemMain\n params={{\n direction,\n dot: !!progressDot,\n }}\n className={`${prefixCls}-item-main`}\n >\n <StepsStyleItemMainTitle\n params={{\n dot: !!progressDot,\n status: status,\n }}\n className={`${prefixCls}-item-title`}\n >\n {title}\n </StepsStyleItemMainTitle>\n {description && (\n <StepsStyleItemMainDescription\n params={{\n direction,\n dot: !!progressDot,\n status: status,\n }}\n className={`${prefixCls}-item-description`}\n >\n {description}\n </StepsStyleItemMainDescription>\n )}\n </StepsStyleItemMain>\n </StepsStyleItem>\n );\n}\n","import Steps from './Steps';\nexport * from './style';\nexport * from './Steps';\nexport * from './Step';\nexport * from './style';\n\nexport default Steps;\n","import styled, { css } from 'styled-components';\nimport { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\nimport React from 'react';\n\nexport const SliderStyleTheme = {\n fontSizeSmall: '12px',\n backgroundColorSlider: '#e4e8f1',\n backgroundColorSliderStyleBar: '#008ef0',\n backgroundColorSliderStyleHandleDisabled: '#e6e6e6',\n boxShadowSliderStyleHandleDisabled: '0 0 0 1px rgba(16, 22, 26, 0.2), 0 0px 0px rgba(16, 22, 26, 0.2)',\n boxShadowSliderStyleHandleDisabledActive:\n '0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2), 0px 0px 0px 2px rgba(0, 0, 0, 0.1)',\n backgroundColorSliderStyleHandleDisabledActive: '#d8e1e8',\n boxShadowSliderStyleHandle: '0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2)',\n backgroundColorSliderStyleHandle: '#f5f8fa',\n backgroundImageSliderStyleHandle: 'linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0))',\n backgroundColorSliderStyleTooltip: 'rgba(0, 0, 0, 0.75)',\n colorSliderStyleTooltip: '#fff',\n colorSliderStyleMark: 'rgba(0, 0, 0, 0.43)',\n boxShadowSliderStyleDot: '0 0 0 1.6px rgba(16, 22, 26, 0.16)',\n backgroundColorSliderStyleDot: '#fff',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof SliderStyleTheme>;\n\nexport interface SliderBaseProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVar {}\n\nexport interface SliderStyleWarpProps extends SliderBaseProps {\n params?: {\n disabled?: boolean;\n marks?: boolean;\n vertical?: boolean;\n };\n}\n\nexport const SliderStyleWarp = styled.div<SliderStyleWarpProps>`\n width: stretch;\n height: 4px;\n margin: 13px 7px;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'backgroundColorSlider')};\n border-radius: 3px;\n position: relative;\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'fontSizeSmall')};\n cursor: pointer;\n user-select: none;\n vertical-align: middle;\n ${(props) =>\n props.params?.disabled &&\n css`\n {\n & {\n cursor: not-allowed;\n }\n }\n `}\n ${(props) =>\n props.params?.marks &&\n css`\n & {\n margin-bottom: 24px;\n }\n `}\n ${(props) =>\n props.params?.vertical &&\n css`\n height: 100%;\n height: stretch;\n width: 4px;\n margin: 7px 13px;\n `}\n`;\n\n// SliderStyleWarp.defaultProps = { defaultTheme: SliderStyleTheme };\n\nexport interface SliderStyleBarProps extends SliderBaseProps {\n params?: {\n disabled?: boolean;\n vertical?: boolean;\n };\n}\n\nexport const SliderStyleBar = styled.div<SliderStyleBarProps>`\n height: 4px;\n border-radius: 3px;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'backgroundColorSliderStyleBar')};\n position: absolute;\n ${(props) =>\n props.params?.disabled &&\n css`\n & {\n background-color: #bdc2cc;\n }\n `}\n\n ${(props) =>\n props.params?.vertical &&\n css`\n & {\n width: 4px;\n height: initial;\n }\n `}\n`;\n\n// SliderStyleBar.defaultProps = { defaultTheme: SliderStyleTheme };\n\nexport interface SliderStyleHandleProps extends SliderBaseProps {\n params?: {\n disabled?: boolean;\n vertical?: boolean;\n };\n}\nexport const SliderStyleHandle = styled.div<SliderStyleHandleProps>`\n ${(props) =>\n props.params?.disabled &&\n css`\n & {\n background-color: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: SliderStyleTheme },\n 'backgroundColorSliderStyleHandleDisabled',\n )};\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'boxShadowSliderStyleHandleDisabled')};\n }\n `}\n left: 0%;\n width: 14px;\n height: 14px;\n position: absolute;\n z-index: 1;\n margin-top: -5px;\n transform: translateX(-50%);\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'boxShadowSliderStyleHandle')};\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'backgroundColorSliderStyleHandle')};\n background-image: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'backgroundImageSliderStyleHandle')};\n border-radius: 50%;\n transition: all 0.3;\n ${(props) =>\n props.params?.disabled &&\n css`\n &:active {\n background-color: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: SliderStyleTheme },\n 'backgroundColorSliderStyleHandleDisabledActive',\n )};\n transition: all 0.3;\n box-shadow: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: SliderStyleTheme },\n 'boxShadowSliderStyleHandleDisabledActive',\n )};\n }\n `}\n ${(props) =>\n props.params?.vertical &&\n css`\n & {\n margin-left: 2px;\n }\n `}\n`;\n\n// SliderStyleHandle.defaultProps = { defaultTheme: SliderStyleTheme };\n\nexport interface SliderStyleTooltipProps extends SliderBaseProps {\n params?: {\n disabled?: boolean;\n open?: boolean;\n };\n}\nexport const SliderStyleTooltip = styled.div<SliderStyleTooltipProps>`\n ${(props) =>\n props.params?.disabled &&\n css`\n ${SliderStyleHandle}:hover &,\n ${SliderStyleHandle}:focus &,\n ${SliderStyleHandle}:active & {\n display: inline-block;\n }\n `}\n display: none;\n font-size: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'fontSizeSmall')};\n position: absolute;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'backgroundColorSliderStyleTooltip')};\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'colorSliderStyleTooltip')};\n padding: 0px 4px;\n margin-top: -3px;\n border-radius: 3px;\n transform: translate(-50%, -100%);\n margin-left: 6px;\n ${(props) =>\n props.params?.open &&\n css`\n && {\n display: inline-block;\n }\n `}\n`;\n\n// SliderStyleTooltip.defaultProps = { defaultTheme: SliderStyleTheme };\n\nexport interface SliderStyleDotProps extends SliderBaseProps {\n params?: {\n vertical?: boolean;\n };\n}\nexport const SliderStyleDot = styled.div<SliderStyleDotProps>`\n & > div {\n position: absolute;\n width: 4px;\n height: 4px;\n border-radius: 100%;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'backgroundColorSliderStyleDot')};\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'boxShadowSliderStyleDot')};\n top: 0px;\n transform: translateX(-50%);\n }\n ${(props) =>\n props.params?.vertical &&\n css`\n & > div {\n left: 2px;\n }\n `}\n`;\n\n// SliderStyleDot.defaultProps = { defaultTheme: SliderStyleTheme };\n\nexport interface SliderStyleMarkProps extends SliderBaseProps {\n params?: {\n vertical?: boolean;\n noMarks?: boolean;\n disabled?: boolean;\n };\n}\nexport const SliderStyleMark = styled.div<SliderStyleMarkProps>`\n & > div {\n margin-bottom: -50%;\n margin-left: 3px;\n padding: 0 3px;\n position: absolute;\n display: inline-block;\n vertical-align: middle;\n text-align: center;\n cursor: pointer;\n transform: translate(-50%, 50%);\n color: ${(props) => getThemeVariantValue({ ...props, defaultTheme: SliderStyleTheme }, 'colorSliderStyleMark')};\n }\n ${(props) =>\n props.params?.vertical &&\n css`\n & > div {\n transform: translate(0, -50%);\n padding: 0;\n margin-left: 12px;\n margin-top: 2px;\n }\n `}\n ${(props) =>\n props.params?.noMarks &&\n css`\n & {\n display: none;\n }\n `}\n\n ${(props) =>\n props.params?.disabled &&\n css`\n & > div {\n cursor: not-allowed;\n }\n `}\n`;\n\n// SliderStyleMark.defaultProps = { defaultTheme: SliderStyleTheme };\n","import React from 'react';\nimport { HTMLDivProps } from '@uiw/utils';\nimport { SliderProps, SliderStyleMarks } from './index';\nimport { SliderStyleMark, SliderStyleDot } from './style';\ninterface TooltipProps extends HTMLDivProps {\n prefixCls: string;\n data: number[];\n step: number;\n min: number;\n vertical: boolean;\n marks: SliderProps['marks'];\n markRender: (stepValue: number, mark?: SliderStyleMarks) => React.ReactNode;\n disabled?: boolean;\n}\n\nexport default function Dots(props: TooltipProps) {\n const { prefixCls, data, step, min, vertical, marks, markRender, disabled } = props;\n return (\n <SliderStyleDot params={{ vertical }} className={`${prefixCls}-dots`}>\n {data.map((val, idx) => {\n const stepValue = idx * step + min;\n return (\n <SliderStyleMark\n key={idx}\n style={{\n [vertical ? 'top' : 'left']: `${val}%`,\n }}\n params={{ vertical, noMarks: marks && marks !== true && !marks[stepValue], disabled }}\n className={[`${prefixCls}-mark`, marks && marks !== true && !marks[stepValue] ? 'no-marks' : null]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {marks === true && markRender && markRender(stepValue)}\n {marks !== true && marks && marks[stepValue] && markRender && markRender(stepValue, marks[stepValue])}\n </SliderStyleMark>\n );\n })}\n </SliderStyleDot>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Dots from './Dots';\nimport { SliderStyleWarp, SliderStyleBar, SliderStyleHandle, SliderStyleTooltip } from './style';\nexport * from './style';\n\nexport type SliderStyleMarks = {\n style?: React.CSSProperties;\n label?: React.ReactNode;\n};\n\nexport interface SliderProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n value?: number | number[];\n min?: number;\n max?: number;\n marks?: boolean | Record<number, SliderStyleMarks>;\n dots?: boolean;\n range?: boolean;\n vertical?: boolean;\n step?: number;\n disabled?: boolean;\n tooltip?: boolean;\n progress?: boolean | string;\n renderMarks?: (value: number) => JSX.Element;\n onChange?: (value: number | number[]) => void;\n onClick?: (e: React.MouseEvent<HTMLElement>) => void;\n}\n\nexport default function Slider(props: SliderProps) {\n const {\n prefixCls = 'w-slider',\n value = 0,\n min = 0,\n max = 100,\n dots = false,\n step = 1,\n disabled = false,\n progress = true,\n tooltip = false,\n className,\n marks,\n renderMarks,\n vertical,\n onChange,\n ...other\n } = props;\n\n const bar = React.useRef<HTMLDivElement>(null);\n const slider = React.useRef<HTMLDivElement>(null);\n const indexBar = React.useRef<number>();\n const startX = React.useRef<number>();\n const curValue = React.useRef<number | number[]>();\n const barWidth = React.useRef<number>();\n const barOffsetLeft = React.useRef<number>();\n const move = React.useRef<boolean>();\n const [arrValue, setArrValue] = useState(Array.isArray(value) ? value : [value]);\n\n useEffect(() => setArrValue(Array.isArray(value) ? value : [value]), [value]);\n\n other.onClick = (evn: React.MouseEvent<HTMLElement>) => {\n if (move.current !== undefined) {\n return;\n }\n const markOffset = slider.current!.getBoundingClientRect();\n const vals = getWidthToValue(evn[vertical ? 'clientY' : 'clientX'] - markOffset[vertical ? 'y' : 'x']);\n const curr = getRangeValue(vals);\n handleChange(curr);\n };\n\n function getRangeValue(val: number | number[]) {\n if (!Array.isArray(value)) {\n return Array.isArray(val) ? val : [val];\n }\n const newData = [...arrValue];\n const val1 = newData[0];\n const val2 = newData[1];\n if ((val1 < val2 && val1 > val) || (val1 > val2 && val1 < val)) {\n newData[0] = val as number;\n }\n if ((val1 < val2 && val2 < val) || (val1 > val2 && val2 > val)) {\n newData[1] = val as number;\n }\n\n if (val1 > val && val2 < val) {\n const half = val2 + (val1 - val2) / 2;\n if (half >= val) {\n newData[1] = val as number;\n }\n if (half < val) {\n newData[0] = val as number;\n }\n }\n if (val2 > val && val1 < val) {\n const half = val1 + (val2 - val1) / 2;\n if (half >= val) {\n newData[0] = val as number;\n }\n if (half < val) {\n newData[1] = val as number;\n }\n }\n return newData;\n }\n\n function handleChange(val: number[]) {\n setArrValue([...val]);\n onChange && onChange(arrValue.length === 1 ? val[0] : val);\n }\n\n function getWidthToValue(width: number) {\n const equal = (max - min) / step;\n let percent = 0;\n if (slider.current) {\n percent = (width / slider.current[vertical ? 'clientHeight' : 'clientWidth']) * 100;\n }\n\n if (percent <= 0) {\n percent = 0;\n }\n if (percent >= 100) {\n percent = 100;\n }\n\n const num = equal * (percent / 100) + 0.5;\n const numFloor = Math.floor(num);\n const vals = numFloor * step + min;\n return vals;\n }\n\n function onHandleBtnDown(idx: number, env: React.MouseEvent<HTMLElement>) {\n if (disabled) {\n return;\n }\n indexBar.current = idx;\n move.current = true;\n startX.current = env[vertical ? 'clientY' : 'clientX'];\n if (bar.current) {\n barWidth.current = bar.current[vertical ? 'clientHeight' : 'clientWidth'];\n barOffsetLeft.current = bar.current[vertical ? 'offsetTop' : 'offsetLeft'];\n }\n const vals = [...arrValue];\n if (Array.isArray(value)) {\n barWidth.current =\n (indexBar.current === 1 && vals[1] > vals[0]) || (indexBar.current !== 1 && vals[0] > vals[1])\n ? barWidth.current! + barOffsetLeft.current!\n : barOffsetLeft.current;\n }\n window.addEventListener('mousemove', onDragging);\n window.addEventListener('mouseup', onDragEnd);\n }\n function onDragging(env: MouseEvent | React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n if (!move.current) {\n return;\n }\n const vals = [...arrValue];\n const valueToWidth = getWidthToValue(env[vertical ? 'clientY' : 'clientX'] - startX.current! + barWidth.current!);\n if (valueToWidth !== curValue.current) {\n vals[indexBar.current!] = valueToWidth;\n const barStyl = getStyle(vals);\n if (bar.current) {\n bar.current.style[vertical ? 'top' : 'left'] = barStyl.left;\n bar.current.style[vertical ? 'bottom' : 'right'] = barStyl.right;\n }\n handleChange(vals);\n curValue.current = valueToWidth;\n }\n }\n function onDragEnd() {\n move.current = undefined;\n window.removeEventListener('mousemove', onDragging, false);\n window.removeEventListener('mouseup', onDragEnd, false);\n }\n\n const stepArray = () => {\n const equal = (max - min) / step;\n const stepWidth = (100 * step) / (max - min);\n const result = [0];\n for (let i = 1; i < equal; i += 1) {\n result.push(i * stepWidth);\n }\n result.push(100);\n return result;\n };\n function getValueToPercent(vals: number) {\n return ((vals - min) * 100) / (max - min);\n }\n\n function getStyle(val?: number[]) {\n val = val || arrValue;\n const barStyl = { left: '0%', right: '100%' };\n if (!Array.isArray(value)) {\n barStyl.right = `${100 - getValueToPercent(val[0])}%`;\n } else {\n const leftValue = val[0] > val[1] ? val[1] : val[0];\n const rightValue = val[0] > val[1] ? val[0] : val[1];\n barStyl.left = `${getValueToPercent(leftValue)}%`;\n barStyl.right = `${100 - getValueToPercent(rightValue)}%`;\n }\n return barStyl;\n }\n\n function getLabelValue(val: number) {\n if (marks && marks !== true && marks[val] && marks[val].label) {\n return marks[val].label;\n } else if (marks && marks !== true && marks[val] && typeof marks[val] === 'string') {\n return marks[val] as React.ReactNode;\n } else if (renderMarks && typeof renderMarks === 'function' && renderMarks(val)) {\n return renderMarks(val);\n }\n return val;\n }\n\n const barStyl = getStyle();\n if (disabled) {\n delete other.onClick;\n }\n return (\n <SliderStyleWarp\n ref={slider}\n className={[\n prefixCls,\n className,\n disabled ? 'disabled' : null,\n marks ? `${prefixCls}-with-marks` : null,\n vertical ? `${prefixCls}-vertical` : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n {...other}\n params={{\n disabled,\n marks: !!marks,\n vertical,\n }}\n >\n <SliderStyleBar\n params={{ disabled, vertical }}\n ref={bar}\n className={`${prefixCls}-bar`}\n style={{\n [vertical ? 'top' : 'left']: barStyl.left,\n [vertical ? 'bottom' : 'right']: barStyl.right,\n ...(progress !== true ? { backgroundColor: progress || 'initial' } : {}),\n }}\n />\n {[...arrValue].map((item, idx) => {\n const lleftPostion = getValueToPercent(item);\n return (\n <SliderStyleHandle\n params={{ disabled, vertical }}\n key={idx}\n className={`${prefixCls}-handle`}\n onMouseDown={(evn) => onHandleBtnDown(idx, evn)}\n style={{ [vertical ? 'top' : 'left']: `${lleftPostion}%` }}\n >\n {(tooltip || tooltip === false) && (\n <SliderStyleTooltip\n params={{ disabled, open: tooltip }}\n className={[`${prefixCls}-tooltip`, tooltip ? 'open' : null].filter(Boolean).join(' ').trim()}\n >\n {getLabelValue(item)}\n </SliderStyleTooltip>\n )}\n </SliderStyleHandle>\n );\n })}\n {dots && (\n <Dots\n disabled={disabled}\n prefixCls={prefixCls}\n min={min}\n step={step}\n marks={marks}\n vertical={!!vertical}\n data={stepArray()}\n markRender={(stepValue, mark = {}) => {\n if (!mark) {\n return <div> {getLabelValue(stepValue)} </div>;\n }\n const other = typeof mark === 'object' ? mark : {};\n delete other.label;\n return <div {...other}> {getLabelValue(stepValue)} </div>;\n }}\n />\n )}\n </SliderStyleWarp>\n );\n}\n","import { ThemeVariantValueOptions, getThemeVariantValue } from '@uiw/utils';\nimport { SwitchProps } from 'src';\nimport styled, { css } from 'styled-components';\n\nexport const SwitchStyleTheme = {\n fontSizeSmall: '12px',\n fontSizeLarge: '16px',\n minWidthSwitchCheckbox: '35px',\n heightSwitchCheckbox: '20px',\n backgroundColorSwitchCheckbox: '#dfdfdf',\n borderRadiusSwitchCheckbox: '16px',\n boxShadowColorSwitchCheckbox: 'rgba(16, 22, 26, 0.2)',\n colorSwitchCheckboxBefore: '#fff',\n lineHeightSwitchCheckboxBefore: '20px',\n backgroundColorSwitchCheckboxChecked: '#008ef0',\n colorSwitchCheckboxNotCheckedBefore: '#393e48',\n heightSwitchCheckboxAfter: '16px',\n widthSwitchCheckboxAfter: '16px',\n borderRadiusSwitchCheckboxAfter: '50%',\n backgroundColorSwitchCheckboxAfter: '#fff',\n boxShadowColorSwitchCheckboxAfter: 'rgba(0, 35, 11, 0.2)',\n boxShadowColorSwitchCheckboxFocus: 'rgba(0, 142, 240, 0.25)',\n boxShadowColorInSwitchCheckboxFocus: 'rgba(16, 22, 26, 0.2)',\n minWidthSwitchLargeCheckbox: '38px',\n heightSwitchLargeCheckbox: '24px',\n heightSwitchLargeCheckboxAfter: '20px',\n widthSwitchLargeCheckboxAfter: '20px',\n lineHeightSwitchLargeCheckboxBefore: '24px',\n minWidthSwitchSmallCheckbox: '15px',\n heightSwitchSmallCheckbox: '16px',\n heightSwitchSmallCheckboxAfter: '12px',\n widthSwitchSmallCheckboxAfter: '12px',\n lineHeightSwitchSmallCheckboxBefore: '16px',\n};\n\ntype ThemeVar = ThemeVariantValueOptions<typeof SwitchStyleTheme>;\n\ninterface SwitchStyleWrapProps extends ThemeVar, SwitchProps {\n size?: 'large' | 'default' | 'small';\n disabled?: boolean;\n}\n\nexport const SwitchStyleWrap = styled.div<SwitchStyleWrapProps>`\n ${(props) => {\n const psd = `props.prefix-text`;\n return css`\n vertical-align: middle;\n font-size: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'fontSizeSmall')};\n cursor: pointer;\n input[type='checkbox'] {\n vertical-align: middle;\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n min-width: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'minWidthSwitchCheckbox')};\n height: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'heightSwitchCheckbox')};\n margin: 0 !important;\n background-clip: border-box;\n background-color: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'backgroundColorSwitchCheckbox',\n )};\n appearance: none;\n outline: 0;\n font-size: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'fontSizeSmall')};\n border-radius: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'borderRadiusSwitchCheckbox',\n )};\n transition: all 0.3s;\n box-shadow: inset 0 1px 2px\n ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'boxShadowColorSwitchCheckbox')};\n &:before,\n &:after {\n display: inline-block;\n vertical-align: middle;\n }\n &:before {\n content: attr(data-checked);\n transition: all 0.3s;\n padding: 0 21px 0 6px;\n color: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'colorSwitchCheckboxBefore')};\n line-height: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'lineHeightSwitchCheckboxBefore',\n )};\n }\n &:checked {\n background-color: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'backgroundColorSwitchCheckboxChecked',\n )};\n &:after {\n right: 2px;\n margin-right: 0;\n }\n &:before {\n content: attr(data-unchecked);\n }\n }\n &:not(:checked):before {\n padding: 0 6px 0 21px;\n color: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'colorSwitchCheckboxNotCheckedBefore',\n )};\n }\n &:after {\n content: ' ';\n position: absolute;\n margin-right: -18px;\n right: 100%;\n margin-top: 2px;\n margin-left: 1px;\n height: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'heightSwitchCheckboxAfter')};\n width: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'widthSwitchCheckboxAfter')};\n border-radius: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'borderRadiusSwitchCheckboxAfter',\n )};\n transition: all 0.2s;\n background-color: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'backgroundColorSwitchCheckboxAfter',\n )};\n box-shadow: 0 1px 2px 0\n ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'boxShadowColorSwitchCheckboxAfter')};\n }\n &:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n }\n &:focus {\n box-shadow: 0 0 0 2px\n ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'boxShadowColorSwitchCheckboxFocus')},\n inset 0 1px 2px\n ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'boxShadowColorInSwitchCheckboxFocus',\n )};\n }\n }\n\n ${props?.disabled &&\n css`\n cursor: not-allowed;\n `}\n\n ${props?.size === 'large' &&\n css`\n input[type='checkbox'] {\n min-width: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'minWidthSwitchLargeCheckbox',\n )};\n height: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'heightSwitchLargeCheckbox')};\n &::after {\n margin-right: -22px;\n height: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'heightSwitchLargeCheckboxAfter',\n )};\n width: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'widthSwitchLargeCheckboxAfter',\n )};\n }\n &:before {\n padding: 0 25px 0 8px;\n margin-top: 0;\n line-height: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'lineHeightSwitchLargeCheckboxBefore',\n )};\n font-size: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'fontSizeLarge')};\n }\n &:not(:checked):before {\n padding: 0 8px 0 25px;\n }\n }\n `}\n\n ${props?.size === 'small' &&\n css`\n font-size: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'fontSizeSmall')};\n input[type='checkbox'] {\n min-width: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'minWidthSwitchSmallCheckbox',\n )};\n height: ${getThemeVariantValue({ ...props, defaultTheme: SwitchStyleTheme }, 'heightSwitchSmallCheckbox')};\n &::after {\n margin-right: -14px;\n height: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'heightSwitchSmallCheckboxAfter',\n )};\n width: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'widthSwitchSmallCheckboxAfter',\n )};\n }\n &:before {\n padding: 0 16px 0 6px;\n line-height: ${getThemeVariantValue(\n { ...props, defaultTheme: SwitchStyleTheme },\n 'lineHeightSwitchSmallCheckboxBefore',\n )};\n }\n &:not(:checked):before {\n padding: 0 6px 0 16px;\n }\n }\n `}\n\n ${psd} {\n vertical-align: middle;\n display: inline-block;\n margin-left: 5px;\n }\n `;\n }}\n`;\n\n// SwitchStyleWrap.defaultProps = {\n// defaultTheme: SwitchStyleTheme,\n// };\n","import React from 'react';\nimport { RadioAbstract, RadioAbstractProps } from '@uiw/react-radio';\nimport { SwitchStyleWrap } from './style';\nexport * from './style/index';\n\nexport interface SwitchProps extends RadioAbstractProps {}\n\nexport default React.forwardRef<HTMLInputElement, SwitchProps>((props, ref) => {\n const { prefixCls = 'w-switch', ...other } = props;\n return <SwitchStyleWrap as={RadioAbstract} prefixCls={prefixCls} {...{ ...other, type: 'checkbox' }} ref={ref} />;\n});\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { IconStyleBase, IconStyleBaseProps } from '@uiw/react-icon';\n\nexport const TableBaseDefaultTheme = {\n borderColorTable: '#dfe2e5',\n backgroundColorTableFooter: ' #fafafa',\n borderBottomColorTableRows: '#e8e8e8',\n backgroundColorTableTr: 'transparent',\n backgroundColorTable: '#fff',\n backgroundColorTableEvenRows: '#f9f9f9', // 偶数行背景颜色\n backgroundColorTableEvenRowsHover: '#efefef', // 偶数行Hover背景颜色\n backgroundColorTableHead: '#f6f9fb', // 表头背影色\n borderRightColorFixedRows: '#f0f0f0', // 固定列\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof TableBaseDefaultTheme>;\n\nexport interface TableStyleBaseProps\n extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>,\n ThemeVar {}\n\nexport interface TableStyleWrapBaseProps extends TableStyleBaseProps {\n params?: {\n bordered?: boolean;\n };\n}\n\nexport interface TableStyleDomIconProps extends IconStyleBaseProps {}\n\nexport interface TableStyleColProps extends TableStyleBaseProps {\n params?: {\n align?: 'left' | 'center' | 'right';\n fixed?: boolean | 'left' | 'right';\n };\n}\n\nexport interface TableStyleColContentProps extends TableStyleBaseProps {\n params: {\n ellipsis?: boolean;\n };\n}\n\nexport interface TableStyleFooterProps extends TableStyleBaseProps {\n params?: {\n bordered?: boolean;\n };\n}\n\nexport const TableStyleWrap = styled.div<TableStyleWrapBaseProps>`\n > table {\n display: table !important;\n margin: 0 !important;\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n tr > th,\n tr > td {\n border: 0;\n padding: 5px 8px;\n border-bottom: 1px solid\n ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'borderBottomColorTableRows')};\n }\n tr {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'backgroundColorTableTr')};\n }\n > caption {\n text-align: left;\n padding: 10px 8px;\n }\n > tbody > tr {\n transition: all 0.3s;\n > td {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'backgroundColorTableTbodyTrTd')};\n position: relative;\n z-index: 1;\n }\n &:hover,\n &:hover:nth-child(2n) {\n > td {\n background-color: ${(props) =>\n getThemeVariantValue(\n { ...props, defaultTheme: TableBaseDefaultTheme },\n 'backgroundColorTableEvenRowsHover',\n )};\n }\n }\n &:nth-child(2n) {\n > td {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'backgroundColorTableEvenRows')};\n }\n }\n }\n > thead {\n > tr > th {\n font-weight: normal;\n padding: 8px;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'backgroundColorTableHead')};\n position: relative;\n z-index: 1;\n }\n > tr,\n tr:nth-child(2n) {\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'backgroundColorTableHead')};\n border: transparent;\n }\n }\n }\n ${(props) =>\n props?.params?.bordered &&\n css`\n > table {\n tr > th,\n tr > td,\n > caption {\n border: 1px solid\n ${(props) => getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'borderColorTable')};\n }\n > caption {\n border-bottom: 0;\n }\n }\n `}\n`;\n// TableStyleWrap.defaultProps = { defaultTheme: TableBaseDefaultTheme };\n\nexport const TableStyleDomIcon = styled(IconStyleBase)<TableStyleDomIconProps>``;\nexport const TableStyleTheadWrap = styled.thead``;\nexport const TheadItem = styled.th``;\n\n// 单元格\nexport const TableStyleCol = styled.td<TableStyleColProps>`\n text-align: ${(props) => props?.params?.align};\n ${(props) =>\n props?.params?.fixed &&\n (props?.params?.fixed === 'right'\n ? css`\n position: sticky !important;\n z-index: 2 !important;\n // border: 0; 透风 1px\n &::after {\n box-shadow: inset -10px 0 8px -8px rgb(0 0 0 / 15%);\n position: absolute;\n top: 0;\n bottom: -1px;\n left: 0;\n width: 30px;\n transform: translateX(-100%);\n transition: box-shadow 0.3s;\n content: '';\n pointer-events: none;\n border-right: 1px solid\n ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'borderRightColorFixedRows')};\n /* border-right: 1px solid #f0f0f0; */\n }\n // 暂时没有看到left\n `\n : css`\n position: sticky !important;\n z-index: 2 !important;\n // border: 0; 透风 1px\n &:after {\n box-shadow: inset 10px 0 8px -8px rgb(0 0 0 / 15%);\n position: absolute;\n top: 0;\n right: 0;\n bottom: -1px;\n width: 30px;\n transform: translateX(100%);\n transition: box-shadow 0.3s;\n content: '';\n pointer-events: none;\n }\n `)}\n`;\n// TableStyleCol.defaultProps = { defaultTheme: TableBaseDefaultTheme };\n\nexport const TableStyleColContent = styled.span<TableStyleColContentProps>`\n ${(props) =>\n props?.params?.ellipsis &&\n css`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n word-break: keep-all;\n display: block;\n `}\n`;\n// TableStyleColContent.defaultProps = { defaultTheme: TableBaseDefaultTheme };\n\nexport const TableStyleFooter = styled.div<TableStyleFooterProps>`\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'backgroundColorTableFooter')};\n padding: 10px 8px;\n ${(props) =>\n props.params?.bordered &&\n css`\n & {\n border: 1px solid\n ${(props) => getThemeVariantValue({ ...props, defaultTheme: TableBaseDefaultTheme }, 'borderColorTable')};\n border-top: 0;\n }\n `}\n`;\n// TableStyleFooter.defaultProps = { defaultTheme: TableBaseDefaultTheme };\n","import { TableColumns, LocationWidth } from './';\nimport React from 'react';\n\n/**\n * Get colspan number\n * @param {Array} date\n */\nfunction getColspanNum<T>(data: TableColumns<T>[] = [], num = 1) {\n let childs: TableColumns<T>[] = [];\n for (let i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n childs = childs.concat(data[i].children || []);\n }\n }\n if (childs && childs.length > 0) {\n num = getColspanNum(childs, num + 1);\n }\n return num;\n}\n\n/**\n * Get rowspan number\n * @param {Array} date\n */\nfunction getRowspanNum<T>(data: TableColumns<T>[] = [], child = []) {\n let childs: TableColumns<T>[] = [];\n for (let i = 0; i < data.length; i += 1) {\n if (!data[i].children) {\n childs.push(data[i]);\n } else if (data[i].children && data[i].children!.length > 0) {\n childs = childs.concat(getRowspanNum(data[i].children, child));\n }\n }\n return childs;\n}\n\nexport interface ILevelItems<T> {\n header: TableColumns<T>[][];\n ellipsis?: Record<string, boolean>;\n render: {\n [key: string]: any;\n };\n}\n\n/**\n * JSON Array => Array\n * @param {Array} date\n */\nexport function getLevelItems<T>(data: TableColumns<T>[], result?: ILevelItems<T>): ILevelItems<T> {\n if (!result) {\n result = { header: [], render: {} };\n }\n if (result && !result.header) {\n result.header = [];\n }\n if (result && !result.render) {\n result.render = {};\n }\n let child: TableColumns<T>[] = [];\n const levelTop: TableColumns<T>[] = [];\n for (let i = 0; i < data.length; i += 1) {\n if (data[i].render && data[i].key) {\n result.render[data[i].key as string] = data[i].render;\n }\n if (data[i].ellipsis && data[i].key) {\n if (!result.ellipsis) result.ellipsis = {};\n result.ellipsis[data[i].key!] = true;\n }\n if (result.header.length === 0) {\n // Calculation rowspan\n if (data[i].children && data[i].children && data[i].children!.length > 0) {\n data[i].colSpan = getRowspanNum(data[i].children as TableColumns<T>[]).length;\n }\n levelTop.push(data[i]);\n }\n if (data[i] && data[i].children) {\n child = child.concat(\n data[i].children!.map((item: TableColumns<T>) => {\n // Calculation rowspan\n if (item.children && item.children.length > 0) {\n item.colSpan = getRowspanNum(item.children).length;\n }\n return item;\n }),\n );\n }\n }\n // level 1\n if (result.header.length === 0) {\n const num = getColspanNum(levelTop);\n result.header.push(\n levelTop.map((item) => {\n if (num === 1) return item;\n if (!item.children || (item.children && item.children.length === 0)) {\n item.rowSpan = num;\n }\n return item;\n }),\n );\n }\n if (child && child.length > 0) {\n const num = getColspanNum(child);\n result.header.push(\n child.map((item: TableColumns<T>) => {\n if (num === 1) return item;\n if (!item.children || (item.children && item.children.length === 0)) {\n item.rowSpan = num;\n }\n return item;\n }),\n );\n result = getLevelItems(child, result);\n }\n return result;\n}\n\n/**\n * Get all columns keys\n * @param {Array} data\n */\nexport function getAllColumnsKeys<T>(data: TableColumns<T>[], keys: TableColumns<T>[] = []): TableColumns<T>[] {\n for (let i = 0; i < data.length; i += 1) {\n if (data[i].children) {\n keys = keys.concat(getAllColumnsKeys(data[i].children || []));\n } else if (data[i].key) {\n keys.push(data[i]);\n } else {\n keys.push({ ...data[i], key: i.toString() });\n }\n }\n return keys;\n}\n\nexport function locationFixed(\n fixed: boolean | 'left' | 'right',\n location: { [key: string]: LocationWidth },\n index: string,\n): React.CSSProperties {\n if (!fixed) return {};\n if (fixed === 'right') return { right: location[index]?.right };\n return { left: location[index]?.left };\n}\n","import React, { Component } from 'react';\nimport { TableColumns, TableProps, LocationWidth } from './';\nimport { TableStyleCol } from './style';\nimport { locationFixed } from './util';\n\ninterface ThComponentProps<T> {\n colNum: number;\n item: TableColumns<T>;\n prefixCls: string;\n titleNode: JSX.Element;\n onCellHead: TableProps<T>['onCellHead'];\n rowNum: number;\n locationWidth: { [key: string]: LocationWidth };\n updateLocation: (params: LocationWidth, index: string, key: string, colSpan?: number) => void;\n}\nexport default class ThComponent<T> extends Component<ThComponentProps<T>> {\n wrapper = React.createRef<HTMLTableCellElement>();\n componentDidMount() {\n this.props.updateLocation(\n { width: this.wrapper.current!.getBoundingClientRect().width },\n `${this.props.rowNum}${this.props.colNum}`,\n this.props.item.key!,\n this.props.item.colSpan,\n );\n }\n\n render() {\n const { colNum, prefixCls, item, titleNode, onCellHead, rowNum, locationWidth } = this.props;\n const { title, key, render, children, ellipsis, fixed = false, ...thProps } = item;\n let cls = '';\n if (fixed) {\n if (fixed === 'right') {\n cls = prefixCls + '-fixed-right';\n } else {\n cls = prefixCls + '-fixed-true';\n }\n }\n return (\n <TableStyleCol\n as=\"th\"\n ref={this.wrapper}\n key={colNum}\n {...thProps}\n style={{ ...thProps.style, ...locationFixed(fixed, locationWidth, `${rowNum}${colNum}`) }}\n className={`${prefixCls}-tr-children-${item?.align || 'left'} ${item.className || ''} ${cls}`}\n params={{\n align: item?.align || 'left',\n fixed: fixed,\n }}\n onClick={(evn) => onCellHead?.(item, colNum, rowNum!, evn)}\n >\n {titleNode}\n </TableStyleCol>\n );\n }\n}\n","import React from 'react';\nimport { IProps, noop } from '@uiw/utils';\nimport { TableProps, TableColumns, LocationWidth } from './';\nimport { TableStyleTheadWrap, TableStyleColContent } from './style';\nimport ThComponentProps from './ThComponent';\n\nexport interface TheadProps<T extends { [key: string]: V }, V = any> extends IProps {\n data?: TableColumns<T>[][];\n onCellHead?: TableProps<T, V>['onCellHead'];\n align?: TableColumns['align'];\n className?: TableColumns['className'];\n locationWidth?: { [key: string]: LocationWidth };\n updateLocation?: (params: LocationWidth, index: string, key: string, colSpan?: number) => void;\n}\n\nexport default function TheadComponent<T extends { [key: string]: V }, V>(\n props: TheadProps<T, V> & React.HTMLAttributes<HTMLTableSectionElement> = {},\n) {\n const {\n prefixCls = 'w-table',\n className,\n data = [],\n onCellHead = noop,\n locationWidth,\n updateLocation,\n ...other\n } = props;\n return (\n <TableStyleTheadWrap className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...other}>\n {data &&\n data.length > 0 &&\n data.map((tds?: TableColumns<T>[], rowNum?: number) => (\n <tr key={rowNum}>\n {(tds || []).map((item, colNum) => {\n const { title, key, render, children, ellipsis, fixed = false, ...thProps } = item;\n const titleNode: TableColumns<T>['title'] = (\n <TableStyleColContent\n className={ellipsis ? `${thProps.className || ''} ${prefixCls}-ellipsis` : undefined}\n params={{ ellipsis }}\n >\n {typeof title === 'function' ? title(item, colNum, rowNum!) : title}\n </TableStyleColContent>\n );\n if (thProps.colSpan === 0) {\n return null;\n }\n return (\n <ThComponentProps\n colNum={colNum}\n item={item}\n key={colNum}\n prefixCls={prefixCls}\n onCellHead={onCellHead}\n rowNum={rowNum!}\n titleNode={titleNode}\n locationWidth={locationWidth!}\n updateLocation={updateLocation!}\n />\n );\n })}\n </tr>\n ))}\n </TableStyleTheadWrap>\n );\n}\n","import React, { useState } from 'react';\n\ninterface ExpandableProps<T> {\n onClick: (expand: boolean) => void;\n expandIcon: (expanded: boolean) => React.ReactNode;\n defaultExpand: boolean;\n}\n/**\n * 可展开配置\n */\nexport default function ExpandableComponent<T>({ defaultExpand, onClick, expandIcon }: ExpandableProps<T>) {\n const [expand, setExpand] = useState<boolean>(defaultExpand);\n return (\n <div\n style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}\n onClick={() => {\n setExpand(!expand);\n onClick(expand);\n // record: T, index: number, expanded: boolean\n }}\n children={expandIcon(expand)}\n />\n );\n}\n","import React, { useMemo, useState, useEffect } from 'react';\n// import Icon from '@uiw/react-icon';\nimport { MinusSquareO } from '@uiw/icons/lib/MinusSquareO';\nimport { PlusSquareO } from '@uiw/icons/lib/PlusSquareO';\nimport { LocationWidth, TableColumns, TableProps } from './';\nimport { TableStyleCol, TableStyleColContent, TableStyleDomIcon } from './style';\nimport { noop } from '@uiw/utils';\nimport { locationFixed } from './util';\n\ninterface TableTrProps<T> {\n rowKey?: keyof T;\n header: TableColumns<T>[][];\n data: T[];\n keys: TableProps['columns'];\n render: { [key: string]: any };\n ellipsis?: Record<string, boolean>;\n prefixCls: string;\n onCell: TableProps['onCell'];\n isExpandedDom: (record: T, index: number) => false | JSX.Element;\n // 控制树形结构每一层的缩进宽度\n indentSize: number;\n // 层级\n hierarchy: number;\n childrenColumnName: string;\n locationWidth: { [key: string]: LocationWidth };\n}\n\nexport default function TableTr<T extends { [key: string]: any }>(props: TableTrProps<T>) {\n const {\n rowKey,\n data,\n keys,\n render,\n ellipsis,\n prefixCls,\n onCell = noop,\n isExpandedDom,\n hierarchy,\n indentSize,\n childrenColumnName,\n locationWidth,\n header,\n } = props;\n const [isOpacity, setIsOpacity] = useState(false);\n const [childrenIndex, setChildrenIndex] = useState(0);\n const [expandIndex, setExpandIndex] = useState<Array<T[keyof T] | number>>([]);\n useEffect(() => {\n setIsOpacity(!!data?.find((it) => it[childrenColumnName]));\n setChildrenIndex(keys?.findIndex((it) => it.key === 'uiw-expanded') === -1 ? 0 : 1);\n }, [data]);\n\n const IconDom = useMemo(() => {\n return (key: T[keyof T] | number, isOpacity: boolean) => {\n const flag = expandIndex.includes(key);\n return (\n <TableStyleDomIcon\n as={flag ? MinusSquareO : PlusSquareO}\n style={{\n marginRight: 10,\n opacity: isOpacity ? 1 : 0,\n marginLeft: hierarchy * indentSize,\n float: 'left',\n marginTop: 3.24,\n }}\n onClick={() => {\n setExpandIndex(flag ? expandIndex.filter((it) => it !== key) : [...expandIndex, key]);\n }}\n />\n );\n };\n }, [expandIndex]);\n const getIndex = (key: string) => {\n let j = 0;\n const i = header.findIndex((it) => {\n j = it.findIndex((item) => item.key === key);\n return j > -1;\n });\n return `${i}${j}`;\n };\n if (!Array.isArray(data) || !data.length) {\n return null;\n }\n return (\n <React.Fragment>\n {data.map((trData, rowNum) => {\n const key = rowKey ? trData[rowKey] : rowNum;\n return (\n <React.Fragment key={rowNum}>\n <tr key={key}>\n {keys!.map((keyName, colNum) => {\n let objs: React.TdHTMLAttributes<HTMLTableDataCellElement> = {\n children: trData[keyName.key!],\n };\n if (render[keyName.key!]) {\n const child = render[keyName.key!](trData[keyName.key!], keyName.key, trData, rowNum, colNum);\n if (React.isValidElement(child)) {\n objs.children = child;\n } else {\n if (child.props) {\n objs = { ...child.props, children: objs.children };\n if (child.props.rowSpan === 0 || child.props.colSpan === 0) return null;\n }\n if (child.children) {\n objs.children = child.children;\n }\n }\n }\n const isHasChildren = Array.isArray(trData[childrenColumnName]);\n if (colNum === childrenIndex && (isOpacity || hierarchy || isHasChildren)) {\n objs.children = (\n <>\n {IconDom(key, isHasChildren)}\n <span style={{ paddingLeft: hierarchy * indentSize }}></span>\n {objs.children}\n </>\n );\n }\n if (keyName.fixed) {\n if (keyName.fixed === 'right') {\n objs.className = `${prefixCls}-fixed-right`;\n } else {\n objs.className = `${prefixCls}-fixed-true`;\n }\n }\n return (\n <TableStyleCol\n {...objs}\n style={\n keyName.fixed\n ? { ...locationFixed(keyName.fixed!, locationWidth, `${getIndex(keyName.key || 'undefined')}`) }\n : {}\n }\n children={\n <TableStyleColContent\n className={ellipsis && ellipsis[keyName.key!] ? `${prefixCls}-ellipsis` : undefined}\n params={{ ellipsis: ellipsis && ellipsis[keyName.key!] }}\n >\n {objs.children}\n </TableStyleColContent>\n }\n key={colNum}\n className={[\n prefixCls + '-tr-children-' + (keyName.align || 'left'),\n keyName.className,\n objs.className,\n ]\n .filter((it) => it)\n .join(' ')\n .trim()}\n params={{\n align: keyName.align,\n fixed: keyName.fixed,\n }}\n onClick={(evn) => onCell(trData, { rowNum, colNum, keyName: keyName.key! }, evn)}\n />\n );\n })}\n </tr>\n {isExpandedDom(trData, rowNum)}\n {expandIndex.includes(key) && (\n <TableTr {...props} data={trData[childrenColumnName]} hierarchy={hierarchy + 1} />\n )}\n </React.Fragment>\n );\n })}\n </React.Fragment>\n );\n}\n","import React, { useMemo, useState, useEffect, useRef } from 'react';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport { MinusSquareO } from '@uiw/icons/lib/MinusSquareO';\nimport { PlusSquareO } from '@uiw/icons/lib/PlusSquareO';\nimport Thead from './Thead';\nimport { TableStyleWrap, TableStyleFooter } from './style';\nimport { getLevelItems, getAllColumnsKeys } from './util';\nimport ExpandableComponent from './Expandable';\nimport TableTr from './TableTr';\nexport * from './style';\n\n// 展开配置\nexport interface ExpandableType<T> {\n // 展开行\n expandedRowRender?: (record: T, index: number, expanded: boolean) => React.ReactNode;\n // 自定义图标\n expandIcon?: (expanded: boolean, record: T, index: number) => React.ReactNode;\n // 是否允许展开\n rowExpandable?: (record: T) => boolean;\n // 初始时,是否展开所有行\n defaultExpandAllRows?: boolean;\n // 默认展开的行 rowKey数组\n defaultExpandedRowKeys?: Array<T[keyof T] | number>;\n // 控制展开的行 rowKey数组\n expandedRowKeys?: Array<T[keyof T] | number>;\n // 展开的行变化触发\n onExpandedRowsChange?: (expandedRows: Array<T[keyof T] | number>) => void;\n // 点击展开图标触发\n onExpand?: (expanded: boolean, record: T, index: number) => void;\n // 控制树形结构每一层的缩进宽度\n indentSize?: number;\n // 指定树形结构的列名\n childrenColumnName?: string;\n}\n\nexport type TableColumns<T = any> = {\n title?: string | ((data: TableColumns<T>, rowNum: number, colNum: number) => JSX.Element) | JSX.Element;\n key?: string;\n width?: number;\n colSpan?: number;\n children?: TableColumns<T>[];\n ellipsis?: boolean;\n render?: (text: string, keyName: string, rowData: T, rowNumber: number, columnNumber: number) => React.ReactNode;\n style?: React.CSSProperties;\n align?: 'left' | 'center' | 'right';\n className?: string;\n fixed?: boolean | 'left' | 'right';\n [key: string]: any;\n};\n\nexport interface TableProps<T extends { [key: string]: V } = any, V = any> extends IProps, Omit<HTMLDivProps, 'title'> {\n prefixCls?: string;\n columns?: TableColumns<T>[];\n data?: Array<T>;\n title?: React.ReactNode;\n footer?: React.ReactNode;\n bordered?: boolean;\n empty?: React.ReactNode;\n onCell?: (\n data: { [key: string]: any },\n options: ICellOptions,\n evn: React.MouseEvent<HTMLTableCellElement>,\n ) => void | React.ReactNode;\n onCellHead?: (\n data: TableColumns<T>,\n rowNum: number,\n colNum: number,\n evn: React.MouseEvent<HTMLTableCellElement>,\n ) => void;\n expandable?: ExpandableType<T>;\n rowKey?: keyof T;\n scroll?: { x?: React.CSSProperties['width']; y?: React.CSSProperties['height'] };\n}\n\nexport interface LocationWidth {\n left?: number;\n right?: number;\n width: number;\n key?: string;\n colSpan?: number;\n}\nexport interface ICellOptions {\n rowNum: number;\n colNum: number;\n keyName: string;\n}\n\nexport default function Table<T extends { [key: string]: V }, V>(props: TableProps<T, V> = {}) {\n const {\n prefixCls = 'w-table',\n className,\n columns = [],\n data = [],\n title,\n footer,\n bordered,\n onCell = noop,\n onCellHead = noop,\n empty,\n children,\n expandable,\n rowKey,\n scroll,\n ...other\n } = props;\n const [expandIndex, setExpandIndex] = useState<Array<T[keyof T] | number>>([]);\n const [locationWidth, setLocationWidth] = useState<{ [key: string]: LocationWidth }>({});\n const finalLocationWidth = useRef<{ [key: string]: LocationWidth }>({});\n const updateLocation = (params: LocationWidth, index: string, key: string, colSpan: number = 0) => {\n finalLocationWidth.current = {\n ...finalLocationWidth.current,\n [index]: {\n ...finalLocationWidth.current[index],\n ...params,\n key: key,\n colSpan,\n },\n };\n if (index === `${header.length - 1}${header[header.length - 1].length - 1}`) {\n setLocationWidth(computed());\n }\n };\n const deepClumnsLocation = (params: Array<TableColumns<T> | number>, fistIndex: number) => {\n let initialValue = 0,\n headerIndex = 0,\n deepParams: Array<TableColumns<T> | number> = [];\n params.forEach((_, index) => {\n const i = `${fistIndex}${headerIndex}`;\n if (typeof params[index] === 'number') {\n initialValue = (params[index] as number) + initialValue;\n deepParams.push(params[index]);\n return;\n }\n if (finalLocationWidth.current[i]) {\n finalLocationWidth.current[i].left = initialValue;\n initialValue = finalLocationWidth.current[i].width + initialValue;\n if (Array.isArray((params[index] as TableColumns<T>).children)) {\n deepParams.push(...(params[index] as TableColumns<T>).children!);\n } else {\n deepParams.push(finalLocationWidth.current[i].width);\n }\n }\n headerIndex += 1;\n });\n (initialValue = 0), (headerIndex = header[fistIndex].length - 1);\n for (let index = params.length - 1; index >= 0; index--) {\n const i = `${fistIndex}${headerIndex}`;\n if (typeof params[index] === 'number') {\n initialValue = (params[index] as number) + initialValue;\n continue;\n }\n if (finalLocationWidth.current[i]) {\n finalLocationWidth.current[i].right = initialValue;\n initialValue = finalLocationWidth.current[i].width + initialValue;\n }\n headerIndex -= 1;\n }\n if (deepParams.filter((it) => typeof it !== 'number').length) deepClumnsLocation(deepParams, fistIndex + 1);\n };\n\n const computed = () => {\n deepClumnsLocation(columns, 0);\n return finalLocationWidth.current;\n };\n useEffect(() => {\n const childKey = expandable?.childrenColumnName || 'children';\n const deep = (params: TableColumns<T>) => {\n const arr1: Array<T[keyof T] | number> = [];\n const arr = params.map((it: T, index: number) => {\n if (Array.isArray(it[childKey])) {\n arr1.push(...deep(it[childKey]));\n }\n return rowKey ? it[rowKey] : index;\n });\n return [...arr1, ...arr];\n };\n if (expandable) {\n if (expandable.defaultExpandAllRows) {\n setExpandIndex(deep(data));\n return;\n }\n if (expandable.defaultExpandedRowKeys) {\n setExpandIndex(expandable.defaultExpandedRowKeys);\n return;\n }\n }\n }, []);\n useEffect(() => {\n if (expandable) {\n if (expandable.expandedRowKeys && JSON.stringify(expandable.expandedRowKeys) !== JSON.stringify(expandIndex)) {\n setExpandIndex(expandable.expandedRowKeys);\n }\n }\n }, [expandable?.expandedRowKeys]);\n\n const isExpandedDom = useMemo(() => {\n return (record: T, index: number) => {\n if (!expandable) {\n return false;\n }\n if (!expandable.expandedRowRender) {\n return false;\n }\n let flag = true;\n if (expandable.rowExpandable) {\n flag = expandable.rowExpandable(record);\n }\n return (\n flag && (\n <tr style={expandIndex.includes(rowKey ? record[rowKey] : index) ? {} : { display: 'none' }}>\n <td style={{ paddingLeft: 16 }} colSpan={columns.length + 1}>\n {expandable.expandedRowRender(record, index, true)}\n </td>\n </tr>\n )\n );\n };\n }, [expandable, expandIndex]);\n\n const self = useMemo(() => {\n let keys = getAllColumnsKeys<T>(columns);\n let selfColumns: TableColumns<T>[] = [];\n if (expandable?.expandedRowRender) {\n keys = [{ key: 'uiw-expanded', align: 'center' }, ...keys];\n selfColumns = [\n {\n title: '',\n key: 'uiw-expanded',\n width: 50,\n align: 'center',\n render: (text, key, record, index) => {\n return (\n <ExpandableComponent\n defaultExpand={\n expandable.defaultExpandAllRows === undefined\n ? !!expandable.defaultExpandedRowKeys?.includes(rowKey ? record[rowKey] : index)\n : !!expandable.defaultExpandAllRows\n }\n onClick={(expand) => {\n expandable.onExpand?.(expand, record, index);\n if (expand) {\n const result = expandIndex.filter((it) => (rowKey ? it !== record[rowKey] : it !== index));\n expandable.onExpandedRowsChange ? expandable.onExpandedRowsChange(result) : setExpandIndex(result);\n } else {\n const result = [...expandIndex, rowKey ? record[rowKey] : index];\n expandable.onExpandedRowsChange ? expandable.onExpandedRowsChange(result) : setExpandIndex(result);\n }\n }}\n expandIcon={(expand) => {\n if (expandable.rowExpandable && !expandable.rowExpandable?.(record)) {\n return null;\n }\n if (expandable.expandIcon) {\n return expandable.expandIcon(expand, record, index);\n }\n return expand ? <MinusSquareO /> : <PlusSquareO />;\n }}\n />\n );\n },\n },\n ...columns,\n ];\n } else {\n selfColumns = [...columns];\n }\n return {\n keys,\n selfColumns,\n };\n }, [columns, expandIndex]);\n const style: { table: React.CSSProperties; div: React.CSSProperties } = useMemo(() => {\n const style: { table: React.CSSProperties; div: React.CSSProperties } = {\n table: {},\n div: {},\n };\n if (scroll) {\n if (scroll.x !== undefined) {\n style.table.maxWidth = 'none';\n style.table.minWidth = '100%';\n style.table.width = scroll.x;\n style.div.overflowX = 'auto';\n style.div.overflowY = 'hidden';\n }\n if (scroll.y !== undefined) {\n style.div.maxHeight = scroll.y;\n style.div.overflowY = 'scroll';\n }\n }\n return style;\n }, [scroll]);\n const cls = [prefixCls, className, bordered ? `${prefixCls}-bordered` : null].filter(Boolean).join(' ').trim();\n const { header, render, ellipsis } = getLevelItems(self.selfColumns);\n return (\n <React.Fragment>\n <TableStyleWrap className={cls} {...other} style={{ ...other.style, ...style.div }} params={{ bordered }}>\n <table style={{ tableLayout: ellipsis ? 'fixed' : 'auto', ...style.table }}>\n {title && <caption>{title}</caption>}\n {columns && columns.length > 0 && (\n <Thead\n onCellHead={onCellHead}\n data={header}\n locationWidth={locationWidth}\n updateLocation={updateLocation}\n />\n )}\n {data && data.length > 0 && (\n <tbody>\n <TableTr\n rowKey={rowKey}\n locationWidth={locationWidth}\n data={data}\n header={header}\n keys={self.keys}\n render={render}\n ellipsis={ellipsis}\n prefixCls={prefixCls}\n onCell={onCell}\n hierarchy={0}\n isExpandedDom={isExpandedDom}\n indentSize={typeof expandable?.indentSize === 'number' ? expandable?.indentSize : 16}\n childrenColumnName={expandable?.childrenColumnName || 'children'}\n />\n </tbody>\n )}\n {data && data.length === 0 && empty && (\n <tbody>\n <tr>\n <td colSpan={self.keys.length} style={{ position: 'relative', left: 0 }}>\n {empty}\n </td>\n </tr>\n </tbody>\n )}\n {props.children}\n </table>\n </TableStyleWrap>\n {footer && (\n <TableStyleFooter className={`${prefixCls}-footer`} params={{ bordered }}>\n {footer}\n </TableStyleFooter>\n )}\n </React.Fragment>\n );\n}\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, HTMLDivProps, ThemeVariantValueOptions } from '@uiw/utils';\nimport { TabsProps } from '../';\n\nexport const TabsStyleTheme = {\n colorTabsItemActive: '#008ef0',\n backgroundColorTabsItemActive: '#fff',\n colorTabsItemDisabled: 'rgba(0, 0, 0, 0.25)',\n boxShadowTabsFlowContentDefault: '1px 0px 0px #d9d9d9 inset',\n backgroundColorTabsNavHiddenBase: '#d9d9d9',\n backgroundColorTabsBase: '#108ee9',\n borderBottomTabsAfter: '1px solid #d9d9d9',\n borderBottomTabsCardAfter: '1px solid #d9d9d9',\n backgroundColorTabsCardAfter: '#f9f9f9',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof TabsStyleTheme>;\n\nexport interface TabsWrapDivProps extends HTMLDivProps, ThemeVar {}\n\nexport interface TabsStyleProps extends TabsProps, TabsWrapDivProps {}\n\nexport const TabsStyleWarp = styled.div<TabsStyleProps>`\n ${(props) => {\n if (props.type === 'line') {\n return css`\n ${TabsDivSlide} {\n background-color: ${getThemeVariantValue(\n { ...props, defaultTheme: TabsStyleTheme },\n 'backgroundColorTabsBase',\n )};\n box-sizing: border-box;\n bottom: 0;\n position: absolute;\n height: 1px;\n left: 0;\n width: 20px;\n z-index: 1;\n transition: all 0.3s;\n }\n ${TabsDivNav}::after {\n content: '';\n position: relative;\n display: block;\n border-bottom: ${getThemeVariantValue({ ...props, defaultTheme: TabsStyleTheme }, 'borderBottomTabsAfter')};\n }\n `;\n }\n if (props.type === 'card') {\n return css`\n ${TabsDivNav}::after {\n content: '';\n position: relative;\n display: block;\n border-bottom: ${getThemeVariantValue(\n { ...props, defaultTheme: TabsStyleTheme },\n 'borderBottomTabsCardAfter',\n )};\n }\n ${TabsItem} {\n margin: 0;\n border: ${getThemeVariantValue({ ...props, defaultTheme: TabsStyleTheme }, 'borderBottomTabsCardAfter')};\n border-bottom: 0;\n padding: 7px 16px;\n border-radius: 4px 4px 0 0;\n background: ${getThemeVariantValue(\n { ...props, defaultTheme: TabsStyleTheme },\n 'backgroundColorTabsCardAfter',\n )};\n margin-right: 5px;\n bottom: -1px;\n }\n `;\n }\n return css``;\n }}\n`;\n\nexport const TabsDivFlex = styled.div`\n display: flex;\n`;\nexport const TabsDivHidden = styled.div`\n overflow: hidden;\n`;\nexport const TabsDivBar = styled.div`\n position: relative;\n overflow-x: auto;\n height: calc(100% + 17px);\n`;\nexport const TabsDivNav = styled.div`\n position: relative;\n width: max-content;\n`;\nexport const TabsDivSlide = styled.div``;\n\nexport const TabsNavHidden = styled.div<TabsWrapDivProps>`\n display: flex;\n overflow-y: auto;\n padding: 5px 10px 5px 5px;\n max-height: 200px;\n flex-direction: column;\n :hover {\n background: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TabsStyleTheme }, 'backgroundColorTabsNavHiddenBase')};\n }\n`;\n// TabsNavHidden.defaultProps = {\n// defaultTheme: TabsStyleTheme,\n// };\n\nexport const TabsFlowContent = styled.div<TabsWrapDivProps>`\n margin-left: 5px;\n padding: 0px 10px 0px 10px;\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TabsStyleTheme }, 'boxShadowTabsFlowContentDefault')};\n cursor: pointer;\n`;\n\n// TabsFlowContent.defaultProps = {\n// defaultTheme: TabsStyleTheme,\n// };\n\ninterface TabsItemProps extends TabsWrapDivProps {\n active: boolean;\n disabled: boolean;\n type: TabsProps['type'];\n}\n\nexport const TabsItem = styled.div<TabsItemProps>`\n padding: 7px 10px;\n display: inline-block;\n height: 100%;\n font-size: 14px;\n box-sizing: border-box;\n position: relative;\n cursor: pointer;\n text-decoration: none;\n transition: all 0.3s;\n ${(props) => {\n if (props.active) {\n return css`\n color: ${getThemeVariantValue({ ...props, defaultTheme: TabsStyleTheme }, 'colorTabsItemActive')};\n ${props.type === 'card' &&\n css`\n background: ${getThemeVariantValue(\n { ...props, defaultTheme: TabsStyleTheme },\n 'backgroundColorTabsItemActive',\n )};\n z-index: 1;\n `}\n `;\n }\n return css``;\n }}\n ${(props) =>\n props.disabled &&\n css`\n cursor: not-allowed;\n user-select: none;\n color: ${getThemeVariantValue({ ...props, defaultTheme: TabsStyleTheme }, 'colorTabsItemDisabled')};\n `}\n`;\n\nexport const TabsPaneWarp = styled.div<TabsWrapDivProps>``;\n\n// TabsStyleWarp.defaultProps = {\n// defaultTheme: TabsStyleTheme,\n// };\n","import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport Pane from './Pane';\nimport Popover from '@uiw/react-popover';\nimport * as Styled from './style';\nexport * from './Pane';\nexport * from './style';\n\nTabs.Pane = Pane;\n\nlet labelWidth: number = 0;\nexport interface TabsProps extends IProps, HTMLDivProps {\n activeKey?: string;\n type?: 'default' | 'line' | 'card';\n children?: React.ReactNode;\n onTabClick?: (key: string, item: React.ReactElement, e: React.MouseEvent) => void;\n}\n\ntype FlowNavType = {\n content: number;\n nav: Array<Record<'index' | 'width' | 'curWidth', number>>;\n flowLeft: number;\n displayStart: number;\n displayEnd: number;\n};\n\nexport default function Tabs(props: TabsProps) {\n const {\n prefixCls = 'w-tabs',\n className,\n children,\n type = 'default',\n activeKey: _,\n onTabClick,\n ...elementProps\n } = props;\n\n const [activeKey, setActiveKey] = useState(props.activeKey);\n const [slideStyle, setSlideStyle] = useState({ width: 0, left: 0 });\n const activeItem = useRef<HTMLDivElement | undefined>();\n\n const [flowNav, flowNavSet] = useState<FlowNavType>({\n content: 0,\n nav: [],\n flowLeft: -1,\n displayStart: 0,\n displayEnd: 0,\n });\n const [hiddenNav, hiddenNavSet] = useState<Array<number>>([]);\n const deviation = 15;\n\n const [nodes, nodesSet] = useState<any>();\n const divContentRef = useCallback((node: HTMLDivElement | null) => {\n if (node !== null) {\n nodesSet(nodes);\n node.addEventListener('scroll', (e: any) => {\n const { clientWidth, scrollLeft } = e.target;\n flowNav.displayStart = scrollLeft;\n flowNav.displayEnd = clientWidth + scrollLeft;\n flowNavSet({ ...flowNav });\n });\n flowNav.displayEnd = node.getBoundingClientRect().width;\n flowNavSet({ ...flowNav });\n }\n }, []);\n\n const divNavRef = useCallback((node: HTMLDivElement | null, key: number, itemKey: React.Key | null) => {\n if (node !== null) {\n node.addEventListener('click', (e: any) => {\n activeItem.current = node;\n });\n divNavWidthChange(node.getBoundingClientRect().width, key);\n\n if (itemKey === props.activeKey && type === 'line' && labelWidth === 0) {\n activeItem.current = node;\n }\n }\n }, []);\n\n const divNavWidthChange = (width: number, index: number) => {\n let curWidth = 0;\n flowNav.nav.slice(0, index + 1).forEach((nav) => (curWidth += nav.width));\n flowNav.nav[index] = { width, curWidth: Math.floor(curWidth), index };\n flowNavSet(flowNav);\n };\n\n useEffect(() => {\n showHideenNav();\n }, [flowNav.displayEnd > flowNav.nav[flowNav.nav.length - 1]?.curWidth]);\n\n const showHideenNav = () => {\n const hiddenNav: Array<number> = [];\n if (flowNav.nav.length > 0) {\n flowNav.nav.forEach((item) => {\n const curWidth = item.curWidth - deviation;\n if (curWidth < flowNav.displayStart || curWidth > flowNav.displayEnd) {\n hiddenNav.push(item.index);\n }\n });\n hiddenNavSet(hiddenNav);\n }\n };\n\n useEffect(() => setActiveKey(props.activeKey), [props.activeKey]);\n useEffect(() => calcSlideStyle(), [activeKey]);\n\n function calcSlideStyle() {\n if (activeItem.current && type === 'line') {\n labelWidth = activeItem.current.clientWidth;\n setSlideStyle({\n width: activeItem.current.clientWidth,\n left: activeItem.current.offsetLeft,\n });\n }\n }\n\n return (\n <Styled.TabsStyleWarp className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...elementProps}>\n <Styled.TabsDivFlex>\n <Styled.TabsDivHidden>\n <Styled.TabsDivBar className={`${prefixCls}-bar`} ref={divContentRef}>\n <Styled.TabsDivNav className={`${prefixCls}-nav`}>\n {renderNav(children)}\n <Styled.TabsDivSlide className={`${prefixCls}-slide`} style={slideStyle} />\n </Styled.TabsDivNav>\n </Styled.TabsDivBar>\n </Styled.TabsDivHidden>\n {hiddenNav.length > 0 && (\n <Popover\n trigger=\"click\"\n placement=\"bottomRight\"\n visibleArrow={false}\n content={\n <Styled.TabsNavHidden className={`${prefixCls}-nav-hidden`}>\n {renderNav(hiddenNav.map((idx) => (children as Array<React.ReactElement>)[idx]))}\n </Styled.TabsNavHidden>\n }\n >\n <Styled.TabsFlowContent onClick={showHideenNav} className={`${prefixCls}-flow-content`}>\n <span>…</span>\n </Styled.TabsFlowContent>\n </Popover>\n )}\n </Styled.TabsDivFlex>\n {React.Children.map(children, (item: any) => {\n if (!item || activeKey !== item.key) {\n return null;\n }\n return React.cloneElement(item, Object.assign({}, item.props, {}));\n })}\n </Styled.TabsStyleWarp>\n );\n\n function renderNav(children: React.ReactNode): React.ReactNode {\n return React.Children.map(children as React.ReactElement[], (item: React.ReactElement, key: number) => {\n if (!item) {\n return null;\n }\n const divProps: HTMLDivProps = {\n className: `${prefixCls}-item`,\n children: item.props.label,\n };\n if (!item.props.disabled) {\n divProps.onClick = (e: React.MouseEvent) => {\n setActiveKey(item.key as string);\n onTabClick && onTabClick(item.key as string, item, e);\n calcSlideStyle();\n };\n }\n return (\n <Styled.TabsItem\n type={type}\n disabled={item.props.disabled}\n active={item.key === activeKey}\n key={key}\n ref={(ref) => divNavRef(ref, key, item.key)}\n {...divProps}\n />\n );\n });\n }\n}\n","import React from 'react';\nimport { IProps, HTMLDivProps } from '@uiw/utils';\nimport { TabsPaneWarp } from './style';\nexport interface TabsPaneProps extends IProps, HTMLDivProps {\n label?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport default (props: TabsPaneProps = {}) => {\n const { prefixCls = 'w-tabs-pane', className, label: _, ...resetProps } = props;\n return <TabsPaneWarp className={[prefixCls, className].filter(Boolean).join(' ').trim()} {...resetProps} />;\n};\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { TooltipProps } from '../';\n\nexport const TooltipStyleTheme = {\n backgroundColorTooltipStyleInnerWarpBase: 'rgba(0, 0, 0, 0.75)',\n borderColorTooltipStyleInnerWarpBase: 'rgba(0, 0, 0, 0.75)',\n boxShadowTooltipStyleInnerWarpBase: '0 1px 6px rgba(0, 0, 0, 0.2)',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof TooltipStyleTheme>;\n\nexport interface TooltipStyleProps extends TooltipProps, ThemeVar {}\n\ninterface TooltipContainerProps {\n visibleArrow: boolean;\n placement: TooltipStyleProps['placement'];\n}\n\ninterface TooltipArrowProps extends ThemeVar {\n placement: TooltipStyleProps['placement'];\n}\n\nfunction tooltipHandle(placement: TooltipStyleProps['placement']) {\n const obj = {\n right: 'right',\n rightTop: 'right',\n rightBottom: 'right',\n\n left: 'left',\n leftTop: 'left',\n leftBottom: 'left',\n\n top: 'top',\n topLeft: 'top',\n topRight: 'top',\n\n bottom: 'bottom',\n bottomLeft: 'bottom',\n bottomRight: 'bottom',\n };\n switch (obj[placement!]) {\n case 'bottom':\n return css`\n padding-top: 5px;\n `;\n case 'top':\n return css`\n padding-bottom: 5px;\n `;\n case 'right':\n return css`\n padding-left: 5px;\n `;\n case 'left':\n return css`\n padding-right: 5px;\n `;\n default:\n return css``;\n }\n}\n\nfunction tooltipArrowHandle(placement: TooltipStyleProps['placement']) {\n const obj = {\n right: 'right',\n rightTop: 'right',\n rightBottom: 'right',\n\n left: 'left',\n leftTop: 'left',\n leftBottom: 'left',\n\n top: 'top',\n topLeft: 'top',\n topRight: 'top',\n\n bottom: 'bottom',\n bottomLeft: 'bottom',\n bottomRight: 'bottom',\n };\n switch (obj[placement!]) {\n case 'right':\n return css`\n border-right-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TooltipStyleTheme }, 'borderColorTooltipStyleInnerWarpBase')};\n border-width: 5px 5px 5px 0;\n left: 0;\n margin-top: -5px;\n top: 50%;\n `;\n case 'left':\n return css`\n border-left-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TooltipStyleTheme }, 'borderColorTooltipStyleInnerWarpBase')};\n border-width: 5px 0 5px 5px;\n margin-top: -5px;\n right: 0;\n top: 50%;\n `;\n case 'top':\n return css`\n border-top-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TooltipStyleTheme }, 'borderColorTooltipStyleInnerWarpBase')};\n border-width: 5px 5px 0;\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n `;\n case 'bottom':\n return css`\n border-bottom-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TooltipStyleTheme }, 'borderColorTooltipStyleInnerWarpBase')};\n border-width: 0 5px 5px;\n left: 50%;\n margin-left: -5px;\n top: 0;\n `;\n default:\n return css``;\n }\n}\n\nexport const TooltipStyleWarp = styled.div<TooltipStyleProps>``;\nexport const TooltipStyleContainerWarp = styled.div<TooltipContainerProps>`\n position: relative;\n display: inline-block;\n ${(props) =>\n !props.visibleArrow &&\n css`\n padding: 0 !important;\n `}\n ${(props) => tooltipHandle(props.placement)}\n`;\nexport const TooltipStyleArrowWarp = styled.div<TooltipArrowProps>`\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n ${(props) => tooltipArrowHandle(props.placement)}\n ${({ placement }) => {\n if (['leftTop', 'rightTop'].includes(placement!)) {\n return css`\n top: 15px;\n `;\n }\n if (['leftBottom', 'rightBottom'].includes(placement!)) {\n return css`\n bottom: 10px;\n top: auto;\n `;\n }\n if (['bottomLeft', 'topLeft'].includes(placement!)) {\n return css`\n left: 15px;\n `;\n }\n if (['bottomRight', 'topRight'].includes(placement!)) {\n return css`\n right: 10px;\n left: auto;\n `;\n }\n return css``;\n }}\n`;\nexport const TooltipStyleInnerWarp = styled.div<ThemeVar>`\n font-size: 12px;\n max-width: 250px;\n padding: 5px 10px;\n display: block;\n color: #fff;\n text-align: left;\n text-decoration: none;\n border-radius: 4px;\n box-shadow: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TooltipStyleTheme }, 'boxShadowTooltipStyleInnerWarpBase')};\n word-break: break-all;\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TooltipStyleTheme }, 'backgroundColorTooltipStyleInnerWarpBase')};\n`;\n\n// TooltipStyleInnerWarp.defaultProps = {\n// defaultTheme: TooltipStyleTheme,\n// };\n// TooltipStyleArrowWarp.defaultProps = {\n// defaultTheme: TooltipStyleTheme,\n// };\n","import React from 'react';\nimport OverlayTrigger, { OverlayTriggerProps } from '@uiw/react-overlay-trigger';\nimport { IProps } from '@uiw/utils';\nimport { TooltipStyleWarp, TooltipStyleContainerWarp, TooltipStyleArrowWarp, TooltipStyleInnerWarp } from './style';\nexport interface TooltipProps extends IProps, OverlayTriggerProps {\n visibleArrow?: boolean;\n content?: React.ReactNode;\n}\nexport * from './style';\n\nexport default (props: TooltipProps = {}) => {\n const {\n prefixCls = 'w-tooltip',\n className,\n placement = 'top',\n isOpen = false,\n trigger,\n delay,\n usePortal = true,\n visibleArrow = true,\n onVisibleChange,\n ...other\n } = props;\n const cls = [prefixCls, className, !visibleArrow ? 'no-arrow' : null].filter(Boolean).join(' ').trim();\n return (\n <TooltipStyleWarp\n as={OverlayTrigger}\n usePortal={usePortal}\n isOpen={isOpen}\n trigger={trigger}\n delay={delay}\n onVisibleChange={onVisibleChange}\n placement={placement}\n {...other}\n overlay={\n <TooltipStyleContainerWarp placement={placement} visibleArrow={visibleArrow} className={cls}>\n {visibleArrow && <TooltipStyleArrowWarp placement={placement} className={`${prefixCls}-arrow`} />}\n <TooltipStyleInnerWarp className={`${prefixCls}-inner`}>{props.content}</TooltipStyleInnerWarp>\n </TooltipStyleContainerWarp>\n }\n >\n {typeof props.children === 'object' ? props.children : <span>{props.children}</span>}\n </TooltipStyleWarp>\n );\n};\n","import styled, { css } from 'styled-components';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\nimport { TreeRenderTitleNode, TreeProps } from '../index';\nimport { IconStyleBase } from '@uiw/react-icon';\n\nexport const TreeStyleTheme = {\n borderRadiusTreeNodeDefault: '0 0 0 3px',\n borderTreeNodeDefaultAfter: '1px solid #d9d9d9',\n backgroundColorTreeNodeJudgeSelected: '#d5e8fc',\n colorTreeNodeUlLidivSpanDefault: '#2ea3f4',\n transformTreeNodeUlLidivSpanDefault: 'scale(0.79) rotate(0deg)',\n fontSizeTreeNodeStyleCSSTransitionDefault: '14px',\n transformTreeNodeUlLidivSpanIconDefault: 'scale(0.79) rotate(90deg) !important;',\n};\ntype ThemeVar = ThemeVariantValueOptions<typeof TreeStyleTheme>;\n\ninterface TreeNodeStyleCSSTransitionProps extends TreeRenderTitleNode, ThemeVar {\n isOpen: boolean;\n level: number;\n}\ninterface TreeNodeUlLidivProps extends ThemeVar {}\n\ninterface TreeNodeUlLidivSpanIconProps extends ThemeVar {\n isIcon?: string;\n isNoChild?: boolean;\n isIconAnimation?: boolean;\n isItemIsOpen?: boolean;\n}\ninterface TreeNodeUlLidivSpanDivProps extends ThemeVar {\n judgeSelected?: boolean;\n judgeisSelected?: boolean;\n isDisabled?: string | null;\n}\ninterface TreeNodeStyleWrapProps extends TreeProps, ThemeVar {}\n\nexport const TreeNodeStyleCSSTransition = styled.div<TreeNodeStyleCSSTransitionProps>`\n font-size: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TreeStyleTheme }, 'fontSizeTreeNodeStyleCSSTransitionDefault')};\n`;\n\n// TreeNodeStyleCSSTransition.defaultProps = {\n// defaultTheme: TreeStyleTheme,\n// };\n\nexport const TreeNodeStyleUl = styled.ul<TreeNodeStyleCSSTransitionProps>`\n padding: 0 !important;\n transition: 0.3s all;\n overflow: hidden;\n margin: 0;\n ul {\n padding-left: 18px !important;\n margin-bottom: 0;\n }\n li {\n list-style: none !important;\n & + li {\n margin-top: 2px !important;\n }\n &:first-child {\n padding-top: 3px;\n }\n }\n\n ${(props) => props.level !== 1 && props.isOpen && css``}\n\n ${(props) =>\n props.level !== 1 &&\n !props.isOpen &&\n css`\n height: 0;\n `}\n`;\n\nexport const TreeNodeStyleUlDiv = styled.div<TreeNodeUlLidivProps>`\n line-height: initial;\n & > * {\n vertical-align: middle;\n }\n`;\n\nexport const TreeNodeStyleUlLidivSpan = styled.div<TreeNodeUlLidivProps>`\n cursor: pointer;\n position: relative;\n z-index: 1;\n width: 14px;\n height: 14px;\n line-height: 14px;\n display: inline-block;\n text-align: center;\n &:hover {\n color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TreeStyleTheme }, 'colorTreeNodeUlLidivSpanDefault')};\n }\n ${IconStyleBase} {\n transition: 0.3s all;\n transform: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TreeStyleTheme }, 'transformTreeNodeUlLidivSpanDefault')};\n &.open:not(.no-animation) {\n transform: scale(0.79) rotate(90deg) !important;\n }\n }\n`;\n\n// TreeNodeStyleUlLidivSpan.defaultProps = {\n// defaultTheme: TreeStyleTheme,\n// };\n\nexport const TreeNodeStyleUlLidivSpanIcon = styled.div<TreeNodeUlLidivSpanIconProps>`\n ${(props) =>\n props.isNoChild &&\n !props.isIcon &&\n css`\n display: none;\n `}\n\n ${(props) =>\n props.isItemIsOpen &&\n props.isIconAnimation &&\n css`\n transform: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TreeStyleTheme }, 'transformTreeNodeUlLidivSpanIconDefault')};\n `}\n`;\n\n// TreeNodeStyleUlLidivSpanIcon.defaultProps = {\n// defaultTheme: TreeStyleTheme,\n// };\n\nexport const TreeNodeStyleUlLidivSpanDiv = styled.div<TreeNodeUlLidivSpanDivProps>`\n display: inline-block;\n padding: 2px 5px;\n cursor: pointer;\n\n ${(props) =>\n props.judgeSelected &&\n props.judgeisSelected &&\n css`\n background-color: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TreeStyleTheme }, 'backgroundColorTreeNodeJudgeSelected')};\n `}\n\n ${(props) =>\n props.judgeSelected &&\n css`\n cursor: not-allowed;\n `}\n\n > * {\n vertical-align: middle;\n }\n`;\n\nexport const TreeNodeStyleWrap = styled.div<TreeNodeStyleWrapProps>`\n li {\n position: relative;\n li {\n &:before,\n &::after {\n content: ' ';\n border-left: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TreeStyleTheme }, 'borderTreeNodeDefaultAfter')};\n left: -12px;\n position: absolute;\n }\n &::after {\n height: 100%;\n top: 5px;\n }\n &:last-child::after {\n height: 16px;\n top: -18px;\n }\n &:before {\n content: ' ';\n width: 10px;\n height: 16px;\n border-bottom: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TreeStyleTheme }, 'borderTreeNodeDefaultAfter')};\n top: -2px;\n }\n &:last-child::before {\n border-radius: ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TreeStyleTheme }, 'borderRadiusTreeNodeDefault')};\n }\n }\n }\n`;\n\n// TreeNodeStyleWrap.defaultProps = {\n// defaultTheme: TreeStyleTheme,\n// };\n","import React, { useCallback, useMemo } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport Icon, { IconProps } from '@uiw/react-icon';\nimport { IProps, noop } from '@uiw/utils';\nimport { TreeData, TreeProps, getChildKeys } from './';\nimport {\n TreeNodeStyleCSSTransition,\n TreeNodeStyleUl,\n TreeNodeStyleUlDiv,\n TreeNodeStyleUlLidivSpan,\n TreeNodeStyleUlLidivSpanIcon,\n TreeNodeStyleUlLidivSpanDiv,\n} from './style/index';\n\ninterface TreeNodeIconProps {\n isOpen: boolean;\n noChild: boolean;\n openKeys: TreeNodeProps['openKeys'];\n selectedKeys: TreeNodeProps['selectedKeys'];\n}\n\ninterface DisabledObj {\n onClick?: (item: TreeData, evn: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n disabled: string | null;\n disabledMouse: string | null;\n disabledClass?: string;\n disabledStyle?: React.CSSProperties;\n}\ninterface TreeNodeProps<T = (data: TreeData, props: TreeNodeIconProps) => IconProps['type']> extends IProps {\n data: TreeData[];\n level: number;\n isOpen?: boolean;\n parent?: TreeData;\n icon?: T;\n iconAnimation?: boolean;\n isSelected?: boolean;\n renderTitle?: TreeProps['renderTitle'];\n\n openKeys?: TreeData['key'][];\n selectedKeys?: TreeData['key'][];\n\n onItemClick?: (item: TreeData, evn: React.MouseEvent<HTMLElement>) => void;\n onItemSelected?: (item: TreeData, evn: React.MouseEvent<HTMLElement>) => void;\n}\n\nconst Label = ({ label, className }: { label: React.ReactNode; className?: string }) =>\n useMemo(() => <span className={className}>{label}</span>, [label]);\n\nexport default function TreeNode<T>(props: TreeNodeProps<T>) {\n const {\n prefixCls,\n renderTitle,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n\n data,\n level,\n parent,\n\n onItemClick = noop,\n onItemSelected = noop,\n ...other\n } = props;\n let isOpen = false;\n const node = React.useRef<HTMLUListElement>(null);\n\n if (parent && (parent.key || parent.key === 0)) {\n isOpen = !!(openKeys && openKeys.indexOf(parent.key) > -1);\n }\n\n const onExit = useCallback(() => {\n node.current!.style.height = `${node.current!.scrollHeight}px`;\n }, []);\n const onExiting = useCallback(() => {\n node.current!.style.height = '1px';\n }, []);\n const onEnter = useCallback(() => {\n node.current!.style.height = '1px';\n }, []);\n const onEntering = useCallback(() => {\n node.current!.style.height = `${node.current!.scrollHeight}px`;\n }, []);\n const onEntered = useCallback(() => {\n node.current!.style.height = 'initial';\n }, []);\n\n return (\n <TreeNodeStyleCSSTransition\n as={CSSTransition}\n nodeRef={node}\n classNames={prefixCls}\n in={isOpen}\n timeout={200}\n onExit={onExit}\n onExiting={onExiting}\n onEnter={onEnter}\n onEntered={onEntered}\n onEntering={onEntering}\n >\n <TreeNodeStyleUl\n ref={node}\n isOpen={isOpen}\n level={level}\n className={[\n level !== 1 && isOpen ? [`${prefixCls}-open`] : null,\n level !== 1 && !isOpen ? [`${prefixCls}-close`] : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {data.map((item, idx: number) => {\n item.parent = parent;\n const selected = !!(selectedKeys && selectedKeys.indexOf(item.key) > -1);\n const noChild = !item.children;\n const itemIsOpen = openKeys && openKeys.indexOf(item.key) > -1 && !!item.children;\n const iconItem =\n typeof icon === 'function'\n ? icon(item, {\n isOpen: !!itemIsOpen,\n noChild,\n openKeys,\n selectedKeys,\n })\n : icon;\n const childKeys = noChild ? [] : getChildKeys(item.children);\n const checkedKeys = selectedKeys ? selectedKeys.filter((key) => childKeys.indexOf(key) > -1) : [];\n const isHalfChecked = checkedKeys.length > 0 && childKeys.length !== checkedKeys.length;\n const disabledObj: DisabledObj = {\n onClick: onItemSelected,\n disabled: null,\n disabledMouse: null,\n disabledClass: undefined,\n disabledStyle: undefined,\n };\n if (item.disabled) {\n disabledObj.onClick = undefined;\n disabledObj.disabled = 'disabled';\n disabledObj.disabledMouse = `${prefixCls}-disabled-mouse`;\n disabledObj.disabledClass = `${prefixCls}-disabled-ele`;\n disabledObj.disabledStyle = { color: '#00000040' };\n }\n return (\n <li key={idx} style={{ display: item.hideNode ? 'none' : 'block' }}>\n <TreeNodeStyleUlDiv className={`${prefixCls}-label`}>\n <TreeNodeStyleUlLidivSpan\n style={{ display: noChild ? 'none' : 'auto' }}\n className={`${prefixCls}-switcher`}\n onClick={(evn: React.MouseEvent<HTMLElement, MouseEvent>) => onItemClick(item, evn)}\n >\n <TreeNodeStyleUlLidivSpanIcon\n as={Icon}\n type={iconItem || 'caret-right'}\n isIcon={typeof icon}\n isNoChild={noChild}\n isIconAnimation={iconAnimation}\n isItemIsOpen={itemIsOpen}\n className={[\n typeof icon === 'function' ? `${prefixCls}-switcher-noop` : null,\n noChild ? 'no-child' : null,\n !iconAnimation ? 'no-animation' : null,\n itemIsOpen ? 'open' : null,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n />\n </TreeNodeStyleUlLidivSpan>\n <TreeNodeStyleUlLidivSpanDiv\n onClick={(evn) => disabledObj.onClick?.(item, evn)}\n judgeSelected={selected}\n judgeisSelected={isSelected}\n isDisabled={disabledObj.disabled}\n className={[\n `${prefixCls}-title`,\n selected && isSelected ? 'selected' : null,\n disabledObj.disabled,\n disabledObj.disabledMouse,\n ]\n .filter(Boolean)\n .join(' ')\n .trim()}\n >\n {renderTitle ? (\n renderTitle(item, {\n selected,\n noChild,\n openKeys,\n isHalfChecked,\n selectedKeys,\n disabled: item.disabled,\n disabledClass: disabledObj.disabledClass,\n disabledStyle: disabledObj.disabledStyle,\n })\n ) : (\n <Label label={item.label} className={disabledObj.disabledClass} />\n )}\n </TreeNodeStyleUlLidivSpanDiv>\n </TreeNodeStyleUlDiv>\n {item.children && (\n <TreeNode\n {...other}\n {...{\n prefixCls,\n icon,\n iconAnimation,\n isSelected,\n openKeys,\n selectedKeys,\n onItemClick,\n onItemSelected,\n renderTitle,\n }}\n prefixCls={prefixCls}\n data={item.children}\n level={level + 1}\n parent={item}\n />\n )}\n </li>\n );\n })}\n </TreeNodeStyleUl>\n </TreeNodeStyleCSSTransition>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { IconProps } from '@uiw/react-icon';\nimport { IProps, HTMLDivProps, noop } from '@uiw/utils';\nimport TreeNode from './TreeNode';\nimport { TreeNodeStyleWrap } from './style/index';\nexport * from './style';\n\nexport type TreeRenderTitleNode = {\n selected?: boolean;\n noChild?: boolean;\n isHalfChecked?: boolean;\n openKeys?: TreeProps['openKeys'];\n selectedKeys?: TreeProps['selectedKeys'];\n disabled?: boolean;\n disabledClass?: string;\n disabledStyle?: React.CSSProperties;\n};\n\nexport interface TreeProps extends IProps, Omit<HTMLDivProps, 'onChange'> {\n icon?: IconProps['type'];\n data?: TreeData[];\n openKeys?: TreeData['key'][];\n selectedKeys?: TreeData['key'][];\n defaultExpandAll?: boolean;\n /**\n * 是否自动展开父节点\n */\n autoExpandParent?: boolean;\n /**\n * 是否展示连接线\n */\n showLine?: boolean;\n iconAnimation?: boolean;\n isSelected?: boolean;\n /**\n * 子节点受父节点控制设置 `true`,需要配合 `multiple` 参数使用。\n */\n checkStrictly?: boolean;\n /**\n * 支持点选多个节点\n */\n multiple?: boolean;\n renderTitle?: (item: TreeData, node: TreeRenderTitleNode) => React.ReactElement;\n onExpand?: (key: TreeData['key'], expanded: boolean, item: TreeData, evn: React.MouseEvent<HTMLElement>) => void;\n onSelected?: (\n keys: TreeData['key'][],\n key: TreeData['key'],\n selected: boolean,\n item: TreeData,\n evn: React.MouseEvent<HTMLElement>,\n ) => void;\n onChange?: (key: string | number | undefined, eys: (string | number | undefined)[]) => void;\n value?: TreeData['key'][];\n}\n\nexport interface TreeData {\n label?: React.ReactNode;\n children?: TreeData[];\n hideNode?: boolean;\n key?: string | number;\n disabled?: boolean;\n [keyName: string]: any;\n}\n\n/**\n * a contains b\n * @param {Array} a\n * @param {Array} b\n */\nconst isContained = (a: any[], b: any[]) => {\n if (!(a instanceof Array) || !(b instanceof Array)) return false;\n if (a.length < b.length) return false;\n const aStr = a.toString();\n for (let i = 0, len = b.length; i < len; i += 1) {\n if (aStr.indexOf(b[i]) === -1) return false;\n }\n return true;\n};\n\nexport const getChildKeys = (\n childs: TreeData[] = [],\n result: TreeData['key'][] = [],\n depth?: number,\n): TreeData['key'][] => {\n childs.forEach((item) => {\n if (!item.hideNode) {\n result.push(item.key as string | number);\n }\n if (typeof depth === 'number' && !(depth - 1)) return;\n\n if (item.children && item.children.length > 0) {\n result = result.concat(getChildKeys(item.children, undefined, depth ? depth - 1 : undefined));\n }\n });\n return result;\n};\n\nconst getParentKeys = (childs: TreeData = {}, result: TreeData['key'][] = []) => {\n if (childs.key) {\n result.push(childs.key);\n }\n if (childs.parent) {\n result = getParentKeys(childs.parent, result);\n }\n return result;\n};\n\nconst getParentSelectKeys = (\n childs: TreeData = {},\n selectedKeys: TreeData['key'][] = [],\n result: TreeData['key'][] = [],\n) => {\n if (childs.key && childs.children && isContained(selectedKeys, getChildKeys(childs.children, undefined, 1))) {\n result.push(childs.key);\n if (childs.parent && !childs.parent.parent) {\n if (isContained(selectedKeys, getChildKeys(childs.children))) {\n selectedKeys = selectedKeys.concat(result);\n }\n if (isContained(selectedKeys, getChildKeys(childs.parent.children))) {\n result.push(childs.parent.key);\n }\n }\n }\n if (childs.parent) {\n result = getParentSelectKeys(childs.parent, selectedKeys, result);\n }\n return result;\n};\n\nexport default function Tree(props: TreeProps) {\n const {\n prefixCls = 'w-tree',\n icon = 'caret-right',\n data = [],\n openKeys = [],\n selectedKeys = [],\n defaultExpandAll = false,\n showLine = false,\n iconAnimation = true,\n isSelected = true,\n checkStrictly = false,\n multiple = false,\n onExpand = noop,\n onSelected = noop,\n\n className,\n autoExpandParent = true,\n renderTitle,\n onChange,\n value,\n ...elementProps\n } = props;\n\n const [curOpenKeys, setCurOpenKeys] = useState(openKeys);\n const [curSelectedKeys, setCurSelectedKeys] = useState(value || selectedKeys);\n\n useEffect(() => {\n setCurSelectedKeys(props.value || props.selectedKeys || []);\n }, [JSON.stringify(props.selectedKeys), JSON.stringify(props.value)]);\n\n useEffect(() => {\n let arrOpenKeys: TreeData['key'][] = [...curOpenKeys];\n if (defaultExpandAll) {\n arrOpenKeys = getChildKeys(data);\n } else if (autoExpandParent) {\n arrOpenKeys.push(...getChildKeys(data || [], undefined, 1));\n }\n setCurOpenKeys(arrOpenKeys);\n }, []);\n\n const cls = [className, prefixCls, showLine ? `${prefixCls}-line` : null].filter(Boolean).join(' ').trim();\n\n function onItemClick(item: TreeData, evn: React.MouseEvent<HTMLElement>) {\n if (!item.children) {\n return;\n }\n // const { onExpand } = this.props;\n // const { openKeys } = this.state;\n let currentKeys = [...(curOpenKeys as TreeData['key'][])];\n const key = currentKeys.find((v) => v === item.key);\n const cls = evn.currentTarget.className.replace(/(\\s)open/g, '');\n let expanded = false;\n if (!key && item.key) {\n currentKeys.push(item.key);\n evn.currentTarget.className = [cls, 'open'].filter(Boolean).join(' ').trim();\n expanded = true;\n } else {\n currentKeys = currentKeys.filter((v) => v !== item.key);\n evn.currentTarget.className = cls;\n }\n setCurOpenKeys(currentKeys);\n onExpand && onExpand(item.key, expanded, item, evn);\n }\n function onItemSelected(item: TreeData, evn: React.MouseEvent<HTMLElement>) {\n // const { onSelected, multiple, checkStrictly } = this.props;\n let selKeys = [...(curSelectedKeys as TreeData['key'][])];\n const findKey = selKeys.find((v) => v === item.key);\n let selected = false;\n if (!findKey && findKey !== 0) {\n selected = true;\n selKeys.push(item.key);\n } else {\n selKeys = selKeys.filter((v) => v !== item.key);\n }\n if (checkStrictly) {\n if (!findKey) {\n selKeys = selKeys.concat(getChildKeys(item.children).filter((val) => selKeys.indexOf(val) === -1));\n selKeys = selKeys.concat(getParentSelectKeys(item, selKeys));\n selKeys = Array.from(new Set(selKeys)); // Remove duplicates.\n } else {\n selKeys = selKeys.filter((val) => getChildKeys(item.children).indexOf(val) === -1);\n selKeys = selKeys.filter((val) => getParentKeys(item.parent).indexOf(val) === -1);\n }\n }\n if (!multiple) {\n selKeys = !findKey ? [item.key] : [];\n }\n setCurSelectedKeys(selKeys);\n onSelected && onSelected(selKeys, item.key, selected, item, evn);\n onChange?.(item.key, selKeys);\n }\n return (\n <TreeNodeStyleWrap className={cls} {...elementProps}>\n <TreeNode\n {...{\n icon,\n iconAnimation,\n isSelected,\n openKeys: curOpenKeys,\n selectedKeys: curSelectedKeys,\n prefixCls,\n renderTitle,\n }}\n onItemClick={onItemClick}\n onItemSelected={onItemSelected}\n data={data}\n level={1}\n />\n </TreeNodeStyleWrap>\n );\n}\n","import styled from 'styled-components';\n\ninterface TreeCheckedProps {\n defaultTheme?: Record<string, string | number>;\n}\n\nexport const TreeCheckboxStyleBase = styled.div<TreeCheckedProps>`\n margin-right: 5px;\n`;\n","import React, { Fragment } from 'react';\nimport Tree, { TreeProps, TreeRenderTitleNode, TreeData } from '@uiw/react-tree';\nimport Checkbox, { CheckboxProps } from '@uiw/react-checkbox';\nimport { TreeCheckboxStyleBase } from './style/index';\nexport * from './style';\n\nexport interface TreeCheckedProps extends TreeProps {}\n\nexport default function TreeChecked({ prefixCls = 'w-treechecked', ...props }: TreeCheckedProps): JSX.Element {\n props.className = [prefixCls, props.className].filter(Boolean).join(' ').trim();\n props.checkStrictly = true;\n props.isSelected = false;\n props.multiple = true;\n return (\n <Tree\n renderTitle={(item: TreeData, node: TreeRenderTitleNode) => {\n const checkedProps: CheckboxProps = {};\n if (node.isHalfChecked) {\n checkedProps.indeterminate = true;\n }\n if (node.selected) {\n checkedProps.checked = true;\n } else {\n checkedProps.checked = false;\n }\n return (\n <Fragment>\n <TreeCheckboxStyleBase\n as={Checkbox}\n className={`${prefixCls}-checked`}\n disabled={node.disabled}\n {...checkedProps}\n />\n {item.label && <span className={node.disabledClass}>{item.label}</span>}\n </Fragment>\n );\n }}\n {...props}\n />\n );\n}\n","import styled, { css } from 'styled-components';\nimport Dropdown from '@uiw/react-dropdown';\nimport Input, { InputStyleBase } from '@uiw/react-input';\nimport Tag from '@uiw/react-tag';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const DropdownStyleTheme = {\n backgroundColorDropdownDivBase: '#fff',\n colorDropdownDivBase: '#393e48',\n backgroundColorDropdownDivDisabled: '#dddddd',\n colorDropdownDivDisabled: '#a5a5a5',\n\n boxShadowDropdownDiv: `0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15),inset 0 1px 1px rgba(16, 22, 26, 0.2)`,\n boxShadowDropdownDivFocus: `box-shadow: 0 0 0 1px #393e48, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2)`,\n boxShadowDropdownDivhover: `box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0), inset 0 1px 1px rgba(16, 22, 26, 0.2)`,\n boxShadowDropdownDivFocushover: `box-shadow: 0 0 0 1px #6e6e6e, 0 0 0 3px rgba(57, 62, 72, 0.17), inset 0 1px 1px rgba(16, 22, 26, 0.2)`,\n};\n\nexport interface DropdownDivProps extends ThemeVariantValueOptions<typeof DropdownStyleTheme> {\n size?: string;\n}\n\nexport const DropdownWrap = styled(Dropdown)``;\n\nexport const DropdownDiv = styled.div<DropdownDivProps>`\n ${(props) => css`\n display: flex;\n // overflow: hidden;\n justify-content: space-between;\n outline: none;\n border: none;\n align-items: center;\n border-radius: 3px;\n box-shadow: ${getThemeVariantValue({ ...props, defaultTheme: DropdownStyleTheme }, 'boxShadowDropdownDiv')};\n box-sizing: border-box;\n background: ${getThemeVariantValue(\n { ...props, defaultTheme: DropdownStyleTheme },\n 'backgroundColorDropdownDivBase',\n )};\n min-height: 30px;\n margin: 0 !important;\n padding: 3px 10px 3px 10px;\n vertical-align: middle;\n line-height: 30px;\n color: ${getThemeVariantValue({ ...props, defaultTheme: DropdownStyleTheme }, 'colorDropdownDivBase')};\n font-weight: 400;\n font-size: inherit;\n transition: box-shadow 0.3s cubic-bezier(0.4, 1, 0.75, 0.9);\n appearance: none;\n\n &:focus {\n ${getThemeVariantValue({ ...props, defaultTheme: DropdownStyleTheme }, 'boxShadowDropdownDivFocus')};\n }\n\n &:hover {\n ${getThemeVariantValue({ ...props, defaultTheme: DropdownStyleTheme }, 'boxShadowDropdownDivhover')};\n }\n\n &:focus&:hover {\n ${getThemeVariantValue({ ...props, defaultTheme: DropdownStyleTheme }, 'boxShadowDropdownDivFocushover')};\n }\n\n &:disabled {\n box-shadow: none;\n background: ${getThemeVariantValue(\n { ...props, defaultTheme: DropdownStyleTheme },\n 'backgroundColorDropdownDivDisabled',\n )};\n opacity: 0.75;\n color: ${getThemeVariantValue({ ...props, defaultTheme: DropdownStyleTheme }, 'colorDropdownDivDisabled')};\n cursor: not-allowed;\n resize: none;\n }\n `}\n ${(props) => {\n if (props.size === 'small') {\n return css`\n & ${InputStyleBase} {\n height: 16px;\n font-size: 10px;\n padding: 0px;\n }\n `;\n }\n }}\n ${(props) => {\n if (props.size === 'large') {\n return css`\n & ${InputStyleBase} {\n // line-height:0px !important;\n height: 28px;\n }\n `;\n }\n }}\n`;\n\n// DropdownDiv.defaultProps = {\n// defaultTheme: DropdownStyleTheme,\n// };\n\nexport const DropdownDivTag = styled(Tag)``;\n\nexport const DropdownDivInput = styled(Input)`\n flex: 1;\n top: 1px;\n\n input {\n box-shadow: none;\n padding: 0px;\n height: 20px;\n min-width: 50px;\n }\n\n .w-input-inner {\n &:hover {\n box-shadow: none !important;\n }\n\n &:focus {\n box-shadow: none !important;\n }\n }\n`;\n\nexport const DropdownDivSpan = styled.span`\n width: 14px;\n display: flex;\n align-content: center;\n`;\n","import React, { useMemo, useState, useRef, useEffect, ReactElement } from 'react';\nimport { DropdownProps } from '@uiw/react-dropdown';\nimport Icon from '@uiw/react-icon';\nimport { TagProps } from '@uiw/react-tag';\nimport Card from '@uiw/react-card';\nimport Empty from '@uiw/react-empty';\nimport { IProps } from '@uiw/utils';\nimport { DropdownWrap, DropdownDiv, DropdownDivTag, DropdownDivSpan, DropdownDivInput } from './style/index';\n\nconst TagSize = { large: 25, default: 20, small: 17 };\n\nexport interface DropContent<V> {\n values: Array<V>;\n onSelected?: (selectedAll: Array<V>, selectd: V, isChecked: boolean) => void;\n options?: Array<any>;\n}\n\nexport interface SearchTagInputOption {\n label: string;\n key: string | number;\n}\n\nexport interface SearchTagInputProps<V> extends IProps, DropdownProps, DropContent<V> {\n allowClear?: boolean;\n content: ReactElement<DropContent<V>>;\n size?: 'large' | 'default' | 'small';\n onChange: (selectedAll: Array<V>, selectd: V, isChecked: boolean) => void;\n onSearch?: (seachValue: string) => void;\n loading?: boolean;\n placeholder?: string;\n emptyOption?: boolean | React.ReactNode;\n selectCloseDrop?: boolean;\n tagProps?: TagProps;\n}\n\nfunction SearchTagInput<V extends SearchTagInputOption>(props: SearchTagInputProps<V>) {\n const {\n prefixCls = 'w-search-tree',\n size = 'default',\n disabled = false,\n allowClear = false,\n loading = false,\n selectCloseDrop = false,\n className,\n style,\n placeholder,\n\n tagProps = {},\n content,\n options,\n values,\n onChange,\n onSearch,\n emptyOption,\n // ...others\n } = props;\n\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n const [innerIsOpen, setInnerIsOpen] = useState(false);\n const [selectedOption, setSelectedOption] = useState<Array<V>>(values);\n const optionRef = useRef<Array<V>>();\n const [searchValue, searchValueSet] = useState<string>('');\n optionRef.current = useMemo(() => selectedOption, [selectedOption]);\n const [selectIconType, setSelectIconType] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n setSelectedOption(values);\n }, [JSON.stringify(values)]);\n\n function renderSelectIcon(type: string) {\n const selectIconType = type === 'enter' && allowClear && (!!selectedOption.length || searchValue) ? 'close' : '';\n setSelectIconType(selectIconType);\n }\n\n const handleSelectChange = (selectedAll: Array<V>, selectd?: V, isChecked: boolean = true) => {\n setSelectedOption(selectedAll);\n\n searchValueChange('');\n onChange?.(selectedAll, selectd!, isChecked);\n };\n\n const removeSelectItem = (index: number) => {\n const selectedOption = optionRef.current as Array<V>;\n const curreentItem = selectedOption[index];\n selectedOption.splice(index, 1);\n handleSelectChange([...selectedOption], curreentItem, false);\n };\n\n function handleInputChange(value: string) {\n setInnerIsOpen(true);\n searchValueChange(value);\n setSelectIconType(value ? 'loading' : '');\n }\n\n const searchValueChange = (value: string) => {\n searchValueSet(value);\n onSearch?.(value);\n };\n\n // 清除选中的值\n function resetSelectedValue(e: any) {\n e.stopPropagation();\n inputRef.current?.focus();\n handleInputChange('');\n setInnerIsOpen(false);\n setSelectedOption([]);\n handleSelectChange([]);\n }\n\n function inputKeyDown(e: any) {\n if (selectedOption.length > 0 && !searchValue && e.keyCode === 8) {\n removeSelectItem(selectedOption.length - 1);\n }\n }\n\n const newContent = useMemo(() => {\n if (emptyOption) {\n return typeof emptyOption === 'boolean' ? <Empty style={{ minWidth: 200, width: style?.width }} /> : emptyOption;\n }\n\n const newProps = {\n ...content.props,\n onSelected: (selectedAll: Array<V>, selectd?: V, isChecked: boolean = true) => {\n setInnerIsOpen(!selectCloseDrop);\n handleSelectChange(selectedAll, selectd, isChecked);\n },\n values: selectedOption,\n options,\n };\n return React.cloneElement(content as JSX.Element, newProps);\n }, [JSON.parse(JSON.stringify(selectedOption)), options, emptyOption]);\n\n return (\n <DropdownWrap\n className={cls}\n trigger=\"click\"\n onVisibleChange={(isOpen: boolean) => {\n setInnerIsOpen(isOpen);\n if (!isOpen) searchValueChange('');\n }}\n disabled={disabled}\n isOpen={innerIsOpen}\n menu={<Card bodyStyle={emptyOption === true ? { padding: 0 } : undefined}>{newContent}</Card>}\n >\n <div\n onMouseOver={() => renderSelectIcon('enter')}\n onMouseLeave={() => renderSelectIcon('leave')}\n onClick={() => inputRef.current?.focus()}\n style={{ minWidth: style?.width || 200, maxWidth: 'none', ...style }}\n >\n <DropdownDiv\n size={size}\n className={[`${prefixCls}-inner`, `${prefixCls}-${size}`].filter(Boolean).join(' ').trim()}\n >\n <div style={{ display: 'flex', flexFlow: 'wrap', width: '100%' }}>\n {selectedOption.map((item, index) => {\n return (\n <DropdownDivTag\n style={{ height: TagSize[size], margin: 1, display: 'flex', alignItems: 'center' }}\n className={`${prefixCls}-tag`}\n key={index}\n closable\n color=\"#393E48\"\n {...tagProps}\n disabled={disabled}\n onClose={(e) => {\n e.stopPropagation();\n removeSelectItem(index);\n }}\n >\n {item.label}\n </DropdownDivTag>\n );\n })}\n <DropdownDivInput\n ref={inputRef}\n className={`${prefixCls}-input-contents`}\n size={size}\n disabled={disabled}\n onKeyDown={inputKeyDown}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => handleInputChange(e.target.value)}\n value={searchValue}\n placeholder={selectedOption.length ? '' : placeholder}\n />\n </div>\n {!disabled && (\n <DropdownDivSpan style={{ height: 25, width: 14 }} className={`${prefixCls}-close-tag-contents`}>\n {(selectIconType === 'close' || (selectIconType === 'loading' && loading)) && (\n <Icon\n type={selectIconType}\n spin={loading && selectIconType === 'loading'}\n onClick={resetSelectedValue}\n />\n )}\n </DropdownDivSpan>\n )}\n </DropdownDiv>\n </div>\n </DropdownWrap>\n );\n}\n\nexport default SearchTagInput;\n","import React, { useState, useEffect } from 'react';\nimport SearchTagInput, { DropContent, SearchTagInputOption } from './SearchTagInput';\nimport Tree, { TreeData, TreeProps } from '@uiw/react-tree';\nimport TreeChecked, { TreeCheckedProps } from '@uiw/react-tree-checked';\nexport * from './style';\n\ntype SelectOtpion = Record<string | number, string>;\n\n// type TreeCheckedsProps = TreeCheckedProps & Partial<DropContent<SearchTagInputOption>>\nfunction TreeCheckeds<V extends SearchTagInputOption>(\n props: Omit<TreeCheckedProps, 'onSelected'> & Partial<DropContent<V>>,\n) {\n const [selectOption, selectOptionSet] = useState<SelectOtpion>({});\n const [keys, keysSet] = useState<Array<string | number>>([]);\n\n useEffect(() => {\n let selectOption: SelectOtpion = {};\n const keys = props.values?.map((opt) => {\n selectOption[opt.key] = opt.label;\n return opt.key;\n });\n selectOptionSet(selectOption);\n keysSet(keys || []);\n }, [props.values]);\n\n const onSelected = (_: any, item: any, isChecked: boolean, evn: TreeData) => {\n const curSelectOption: SelectOtpion = getOptionsRecursion([evn], selectOption, isChecked);\n let isNumberKey = false;\n if (typeof item === 'number') isNumberKey = true;\n const option = Object.entries(curSelectOption).map(\n ([key, label]) => ({ key: isNumberKey ? Number.parseInt(key) : key, label } as V),\n );\n props.onSelected?.(option, { key: evn.key, label: evn.label as string } as V, isChecked);\n };\n\n const getOptionsRecursion = (childrens: TreeData[], selectOption: SelectOtpion, isAdd: boolean) => {\n const addOrDel = (key: string | number, label: string, isAdd: boolean) => {\n if (isAdd) {\n selectOption[key] = label;\n } else {\n delete selectOption[key!];\n }\n };\n const iteratorParent = (child: TreeData) => {\n // 向上迭代\n if (child.parent) {\n const selectCount = child.parent.children.filter((child: TreeData) => !selectOption[child.key!]).length;\n addOrDel(child.parent.key, child.parent.label, selectCount === 0);\n iteratorParent(child.parent);\n }\n };\n\n childrens.forEach((child: TreeData) => {\n if (!!child.children?.length) {\n selectOption = getOptionsRecursion(child.children, selectOption, isAdd);\n }\n addOrDel(child.key!, child.label?.toString()!, isAdd);\n iteratorParent(child);\n });\n return selectOption;\n };\n\n return (\n <TreeChecked defaultExpandAll={true} {...props} data={props.options} selectedKeys={keys} onSelected={onSelected} />\n );\n}\n\nfunction SingeTree<V extends SearchTagInputOption>(props: Omit<TreeProps, 'onSelected'> & Partial<DropContent<V>>) {\n const [keys, keysSet] = useState<Array<string | number>>([]);\n\n useEffect(() => {\n const keys: Array<string | number> = [];\n if (props.values?.length) keys[0] = props.values[0].key;\n keysSet(keys);\n }, [props.values]);\n\n const onSelected = (_1: any, _2: any, isChecked: boolean, evn: TreeData) => {\n const { key, label } = evn;\n const cur = { key, label } as V;\n props.onSelected?.(isChecked ? [cur] : [], cur, isChecked);\n };\n\n return (\n <Tree\n defaultExpandAll={true}\n {...props}\n multiple={false}\n data={props.options}\n selectedKeys={keys}\n onSelected={onSelected}\n />\n );\n}\n\nexport interface SearchTreeProps<V> {\n onChange?: (selectd: V, selectedAll: Array<V>, isChecked: boolean) => void;\n onSearch?: (seachValue: string) => void;\n value?: Array<V>;\n options?: TreeData[];\n treeProps?: Omit<TreeCheckedProps, 'onSelected'> & Partial<DropContent<V>>;\n emptyOption?: React.ReactNode;\n multiple?: boolean;\n}\n\nfunction SearchTree<V extends SearchTagInputOption>(props: SearchTreeProps<V>) {\n const {\n onChange,\n onSearch,\n multiple = true,\n options = [],\n value = [],\n emptyOption = !options.length,\n treeProps,\n ...other\n } = props;\n const [selectedValues, selectedValuesSet] = useState<Array<V>>(Array.isArray(value) ? value : [value]);\n const [selectedOptions, selectedOptionSet] = useState<Array<TreeData>>(options);\n const [isEmpty, isEmptySet] = useState(emptyOption);\n\n useEffect(() => {\n selectedValuesSet(Array.isArray(value) ? value : []);\n }, [JSON.stringify(value)]);\n\n const selectedChange = (resultValue: Array<V>, cur: V, isChecked: boolean) => {\n selectedValuesSet(resultValue);\n onChange?.(cur, resultValue, isChecked);\n };\n\n // 防抖\n const debounce = (fn: Function, ms: number) => {\n let timeoutId: NodeJS.Timeout;\n return (searchValue: string) => {\n onSearch?.(searchValue);\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n fn(searchValue);\n }, ms);\n };\n };\n\n const selectedSearch = (searchValue: string) => {\n const hiddenNodeForSeach = (childrens: TreeData[], parentIsHide: boolean = true) => {\n childrens.forEach((child: TreeData) => {\n const isHide = !(child.label as string).includes(searchValue.trim()) && parentIsHide;\n if (!!child.children?.length) {\n hiddenNodeForSeach(child.children, isHide);\n const find = child.children.find((item) => !item.hideNode);\n child.hideNode = isHide && !find;\n } else {\n child.hideNode = isHide;\n }\n });\n };\n hiddenNodeForSeach(options);\n selectedOptionSet([...options]);\n\n let isEmpt = true;\n options.forEach((opt) => (isEmpt = isEmpt && !!opt.hideNode));\n isEmptySet(typeof emptyOption === 'boolean' && isEmpt ? isEmpt : emptyOption);\n };\n\n return (\n <SearchTagInput\n {...other}\n emptyOption={isEmpty}\n selectCloseDrop={!multiple}\n onSearch={selectedSearch}\n onChange={selectedChange}\n values={selectedValues}\n options={selectedOptions}\n content={multiple ? <TreeCheckeds {...treeProps} /> : <SingeTree {...treeProps} />}\n />\n );\n}\n\nexport default SearchTree;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { IProps } from '@uiw/utils';\nimport { DownSquareO } from '@uiw/icons/lib/DownSquareO';\nimport Input from '@uiw/react-input';\nimport TreeChecked from '@uiw/react-tree-checked';\nimport { TreeData } from '@uiw/react-tree';\nimport Checkbox from '@uiw/react-checkbox';\nimport TranSferWarp, { TransferArrow, TransferArrowContent, TransferCard, TransferChekedContentWrap } from './style';\nexport * from './style';\n\nexport interface TransferOptionType {\n key: string | number;\n label: string;\n}\n\nenum CheckedStatus {\n UnChecked = 0,\n AllChecked = 1,\n Indeterminate = 2,\n}\n\ninterface TransferProps extends IProps {\n placeholder?: string;\n bodyStyle?: React.CSSProperties;\n\n onChange?: (transfer: string, selectedAll: Array<TransferOptionType>) => void;\n onSearch?: (transfer: string, seachValue: string) => void;\n showSearch?: boolean;\n selectedAll?: boolean;\n value?: Array<TransferOptionType>;\n options?: TreeData[];\n // emptyOption?: React.ReactNode;\n}\n\nfunction Transfer(props: TransferProps) {\n const {\n placeholder,\n options,\n value = [],\n showSearch = false,\n selectedAll = false,\n\n bodyStyle,\n style,\n className,\n prefixCls = 'w-transfer',\n } = props;\n const cls = [prefixCls, className].filter(Boolean).join(' ').trim();\n\n const [searchValueLeft, searchValueLeftSet] = useState('');\n const [searchValueRight, searchValueRightSet] = useState('');\n const [selectedOptions, selectedOptionSet] = useState<Array<TreeData>>(options || []);\n const selectedOptionsShowCount = useRef<number>(0);\n const [selectOption, selectOptionSet] = useState<Map<string | number, string>>(new Map());\n const [leftSelectOption, leftSelectOptionSet] = useState<Map<string | number, string>>(new Map());\n const [leftSelectedKeys, leftSelectedKeySet] = useState<Array<string | number | undefined>>([]);\n const [rightSelectedKeys, rightSelectedKeySet] = useState<Array<string | number | undefined>>([]);\n const [rightOpions, rightOpionSet] = useState<Array<TreeData>>([]);\n const [selectAllChecked, selectAllCheckedSet] = useState<{ left: CheckedStatus; right: CheckedStatus }>({\n left: CheckedStatus.UnChecked,\n right: CheckedStatus.UnChecked,\n });\n\n useEffect(() => {\n if (value) {\n rightOpionSet(value || []);\n\n value?.forEach((selectd) => selectOption.set(selectd.key, selectd.label));\n hiddenNode((child) => !!value?.find((selectd) => child.key === selectd.key));\n }\n }, [JSON.stringify(value)]);\n\n const hiddenNode = (callBackfn: (child: TreeData) => boolean) => {\n selectedOptionsShowCount.current = 0;\n const hiddenNodeForSeach = (childrens: TreeData[]) => {\n childrens.forEach((child: TreeData) => {\n const isHide = callBackfn(child); // && parentIsHide;\n if (!!child.children?.length) {\n hiddenNodeForSeach(child.children);\n const find = child.children.find((item: TreeData) => !item.hideNode);\n child.hideNode = isHide && !find;\n } else {\n child.hideNode = isHide;\n }\n if (!child.hideNode) {\n selectedOptionsShowCount.current++;\n }\n });\n };\n hiddenNodeForSeach(selectedOptions);\n selectedOptionSet([...selectedOptions]);\n };\n\n const getOptionsRecursion = (childrens: TreeData[], selectOption: Map<string | number, string>, isAdd: boolean) => {\n const addOrDel = (key: string | number, label: string, isAdd: boolean) => {\n if (isAdd) {\n selectOption.set(key, label);\n } else {\n selectOption.delete(key);\n }\n };\n const iteratorParent = (child: TreeData) => {\n if (child.parent) {\n const selectCount = child.parent.children.filter(\n (child: TreeData) => !selectOption.get(child.key!) && !child.hideNode,\n ).length;\n addOrDel(child.parent.key, child.parent.label, selectCount === 0);\n iteratorParent(child.parent);\n }\n };\n\n childrens.forEach((child: TreeData) => {\n if (!!child.children?.length) {\n selectOption = getOptionsRecursion(child.children, selectOption, isAdd);\n }\n addOrDel(child.key!, child.label?.toString()!, isAdd);\n iteratorParent(child);\n });\n return selectOption;\n };\n\n const leftTreeOnSelected = (\n selectedKeys: Array<string | number | undefined>,\n _1: any,\n isChecked: boolean,\n evn: TreeData,\n ) => {\n leftSelectedKeySet(selectedKeys);\n const selectOptionTemp = getOptionsRecursion([evn], leftSelectOption, isChecked);\n leftSelectOptionSet(selectOptionTemp);\n };\n\n const rightTreeOnSelected = (selectedKeys: Array<string | number | undefined>) => {\n rightSelectedKeySet(selectedKeys);\n };\n\n const transferClick = (transferType: 'left' | 'right') => {\n if (transferType === 'left') {\n leftSelectOption.forEach((value, key) => {\n selectOption.set(key, value);\n });\n leftSelectOptionSet(new Map());\n leftSelectedKeySet([]);\n } else {\n rightSelectedKeys.forEach((key) => {\n selectOption.delete(key!);\n });\n rightSelectedKeySet([]);\n }\n\n selectOptionSet(selectOption);\n const option: Array<TransferOptionType> = [];\n selectOption.forEach((label, key) => option.push({ key, label }));\n props.onChange?.(transferType, option);\n };\n\n const searchValueLeftChange = (searchValue: string) => {\n hiddenNode((child: TreeData) => {\n let searchIsMatch = !(child.label as string).includes(searchValue.trim());\n if (!searchIsMatch) {\n const isSekected = rightOpions.find((selected) => selected.key === child.key);\n searchIsMatch = !!isSekected;\n }\n return searchIsMatch;\n });\n\n searchValueLeftSet(searchValue);\n\n props.onSearch?.('left', searchValue);\n };\n\n const searchValueRightChange = (searchValue: string) => {\n searchValueRightSet(searchValue);\n\n rightOpions.forEach((option) => {\n const isHide = !(option.label as string).includes(searchValue.trim());\n option.hideNode = isHide;\n });\n rightOpionSet(rightOpions);\n\n props.onSearch?.('right', searchValue);\n };\n\n const selectAllLeftChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const isChecked = e.target.checked;\n\n selectAllChecked.left = isChecked ? 1 : 0;\n if (isChecked) {\n const keys: Array<string | number> = [];\n const selectedOptionsRecursion = (selectedOptions: Array<TreeData>) => {\n selectedOptions.forEach((child) => {\n if (child.children?.length) {\n selectedOptionsRecursion(child.children);\n }\n if (!child.hideNode) {\n leftSelectOption.set(child.key!, child.label as string);\n keys.push(child.key!);\n }\n });\n };\n selectedOptionsRecursion(selectedOptions);\n\n leftSelectOptionSet(leftSelectOption);\n leftSelectedKeySet(keys);\n } else {\n leftSelectedKeySet([]);\n leftSelectOptionSet(new Map());\n }\n selectAllCheckedSet(selectAllChecked);\n };\n\n const selectAllRightChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const isChecked = e.target.checked;\n\n selectAllChecked.right = isChecked ? 1 : 0;\n if (isChecked) {\n const keys = rightOpions.map((child) => child.key);\n rightSelectedKeySet(keys);\n } else {\n rightSelectedKeySet([]);\n }\n selectAllCheckedSet(selectAllChecked);\n };\n\n const Arrow = (props: { click: () => void; style: React.CSSProperties }) => (\n <TransferArrow\n as={DownSquareO}\n onClick={() => props.click()}\n className={`${prefixCls}-arrow`}\n style={{ fontSize: 20, stroke: '#e9e9e9', ...props.style }}\n />\n );\n\n return (\n <TranSferWarp className={cls} style={{ width: 400, ...style }}>\n <TransferCard\n bodyStyle={{ padding: '5px 9px' }}\n title={\n <div>\n {selectedAll && (\n <Checkbox\n indeterminate={leftSelectedKeys.length < selectedOptionsShowCount.current && !!leftSelectedKeys.length}\n checked={leftSelectedKeys.length >= selectedOptionsShowCount.current && !!leftSelectedKeys.length}\n onChange={selectAllLeftChange}\n />\n )}\n <label style={{ marginLeft: 3 }}>\n {leftSelectedKeys.length}/{selectedOptionsShowCount.current}\n </label>\n </div>\n }\n className={`${prefixCls}-card`}\n >\n {showSearch && (\n <Input\n placeholder={placeholder}\n value={searchValueLeft}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => searchValueLeftChange(e.target.value)}\n />\n )}\n <TransferChekedContentWrap className={`${prefixCls}-cheked-content`}>\n <TreeChecked\n defaultExpandAll={true}\n placeholder={placeholder || '搜索选项'}\n data={selectedOptions}\n selectedKeys={leftSelectedKeys}\n onSelected={leftTreeOnSelected}\n />\n </TransferChekedContentWrap>\n </TransferCard>\n <TransferArrowContent className={`${prefixCls}-arrow-content`}>\n <Arrow\n click={() => transferClick('left')}\n style={{ transform: 'rotate(-90deg)', background: leftSelectedKeys.length > 0 ? '#393E48' : 'none' }}\n />\n <Arrow\n click={() => transferClick('right')}\n style={{ transform: 'rotate(90deg)', background: rightSelectedKeys.length > 0 ? '#393E48' : 'none' }}\n />\n </TransferArrowContent>\n <TransferCard\n bodyStyle={{ padding: '5px 9px' }}\n className={`${prefixCls}-card`}\n title={\n <div>\n {selectedAll && (\n <Checkbox\n indeterminate={rightSelectedKeys.length < rightOpions.length && !!rightSelectedKeys.length}\n checked={rightSelectedKeys.length === rightOpions.length && !!rightSelectedKeys.length}\n onChange={selectAllRightChange}\n />\n )}\n <label style={{ marginLeft: 3 }}>\n {rightSelectedKeys.length}/{rightOpions.length}\n </label>\n </div>\n }\n >\n {showSearch && (\n <Input\n placeholder={placeholder}\n value={searchValueRight}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => searchValueRightChange(e.target.value)}\n />\n )}\n <div className={`${prefixCls}-cheked-content`} style={bodyStyle}>\n <TreeChecked data={rightOpions} selectedKeys={rightSelectedKeys} onSelected={rightTreeOnSelected} />\n </div>\n </TransferCard>\n </TranSferWarp>\n );\n}\n\nexport default Transfer;\n","import styled from 'styled-components';\nimport Card from '@uiw/react-card';\nimport { IconStyleBase } from '@uiw/react-icon';\nimport { getThemeVariantValue, ThemeVariantValueOptions } from '@uiw/utils';\n\nexport const TransferStyleTheme = {\n boxShadowColorTransferArrowPropsHover: 'rgba(0, 0, 0, 0.2)',\n};\n\nexport const TransferWrap = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nexport const TransferChekedContentWrap = styled.div`\n height: 200px;\n overflow-y: auto;\n`;\n\ninterface TransferArrowProps extends ThemeVariantValueOptions<typeof TransferStyleTheme> {}\n\nexport const TransferArrow = styled(IconStyleBase)<TransferArrowProps>`\n transition: all 0.3s;\n border-radius: 3px;\n\n &:hover {\n cursor: pointer;\n box-shadow: 0 1px 6px\n ${(props) =>\n getThemeVariantValue({ ...props, defaultTheme: TransferStyleTheme }, 'boxShadowColorTransferArrowPropsHover')};\n }\n`;\n\n// TransferArrow.defaultProps = {\n// defaultTheme: TransferStyleTheme,\n// };\n\nexport const TransferArrowContent = styled.div`\n width: 50px;\n height: 50px;\n display: flex;\n flex-direction: column;\n align-self: center;\n justify-content: space-between;\n`;\n\nexport const TransferCard = styled(Card)`\n width: 50%;\n`;\n\nexport default TransferWrap;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + (chunkId === 6982 ? \"vendors-standalone\" : chunkId) + \".\" + {\"190\":\"c864d902\",\"250\":\"5029ec67\",\"333\":\"99eda08a\",\"335\":\"5fa7b0f6\",\"370\":\"109996b7\",\"429\":\"6578eb87\",\"432\":\"443115b8\",\"462\":\"6aa933ce\",\"498\":\"e098e309\",\"530\":\"aed153af\",\"597\":\"33a99fc0\",\"636\":\"2b02d702\",\"649\":\"8499b3f7\",\"713\":\"bf164481\",\"981\":\"03f01463\",\"1048\":\"e1f07ee4\",\"1067\":\"c19e8202\",\"1079\":\"9eb656fd\",\"1175\":\"f47ae2f8\",\"1451\":\"04b08f8d\",\"1515\":\"f35892bb\",\"1548\":\"8c412fe6\",\"1574\":\"2b98b114\",\"1643\":\"ccbaaea6\",\"1661\":\"f881ca84\",\"1750\":\"9969beaa\",\"1859\":\"024a297a\",\"1876\":\"6cad539d\",\"1892\":\"dce494f3\",\"1949\":\"6ebed61b\",\"2076\":\"0ffaa5d4\",\"2081\":\"8362d59b\",\"2134\":\"e0ba4996\",\"2144\":\"42edbee6\",\"2191\":\"c95ae2cd\",\"2204\":\"ff7bfaf1\",\"2206\":\"c3122497\",\"2287\":\"d38944f1\",\"2302\":\"507bc5f4\",\"2326\":\"05a269ae\",\"2633\":\"54fe1930\",\"2637\":\"d996c040\",\"2730\":\"64fb1f45\",\"2810\":\"5d785d11\",\"2860\":\"283e99a3\",\"2869\":\"71b339c3\",\"3055\":\"cf175e33\",\"3061\":\"6d1dbcc7\",\"3083\":\"f99decbd\",\"3109\":\"be1ae97a\",\"3118\":\"55491fc1\",\"3161\":\"88906b29\",\"3177\":\"ab91b49c\",\"3231\":\"86e5a9af\",\"3479\":\"07885d28\",\"3508\":\"69e01ca9\",\"3535\":\"99969a8e\",\"3552\":\"37e9b391\",\"3612\":\"90208928\",\"3717\":\"e32ec8d1\",\"3720\":\"4257d6dc\",\"3896\":\"833cd43a\",\"3906\":\"0b01eed3\",\"3914\":\"e9637bc5\",\"3984\":\"50c9938a\",\"4061\":\"d5d721a1\",\"4070\":\"0ace6541\",\"4093\":\"5b1ede70\",\"4107\":\"d91e770f\",\"4137\":\"afdec2d8\",\"4156\":\"65292e46\",\"4307\":\"194c608d\",\"4364\":\"5ede0267\",\"4455\":\"c387fff7\",\"4477\":\"e49d1233\",\"4529\":\"f765f5f9\",\"4575\":\"e00c7e35\",\"4725\":\"cc165786\",\"4861\":\"760a5728\",\"5388\":\"265b6c41\",\"5746\":\"b90a562e\",\"5775\":\"ba04cebb\",\"5804\":\"09a6221a\",\"5852\":\"81680c1d\",\"5860\":\"f20a549b\",\"5900\":\"7e8b1c1c\",\"6146\":\"02595d77\",\"6255\":\"ec81e9f0\",\"6307\":\"8621ad1f\",\"6423\":\"3ab1201b\",\"6503\":\"5f2349b1\",\"6512\":\"40eb765d\",\"6680\":\"e7d9f942\",\"6716\":\"02298cc2\",\"6795\":\"bebf54d1\",\"6835\":\"48c52b5a\",\"6889\":\"9760ee32\",\"6929\":\"9dccfc47\",\"6982\":\"6431628d\",\"7019\":\"d2a9e0a0\",\"7064\":\"1feda4f5\",\"7096\":\"7233b97b\",\"7103\":\"858f5648\",\"7157\":\"a2b2d210\",\"7191\":\"c0765c12\",\"7237\":\"9107001a\",\"7342\":\"f678a040\",\"7499\":\"917d3c0e\",\"7541\":\"bcbec42c\",\"7615\":\"21fb16c2\",\"7655\":\"67268587\",\"7702\":\"d5a207ac\",\"7741\":\"49dfa742\",\"8047\":\"ec73e9a8\",\"8110\":\"c0ad97fe\",\"8133\":\"84406c17\",\"8240\":\"fdd46dad\",\"8310\":\"f3a2179c\",\"8322\":\"a529c34f\",\"8324\":\"a88b80f7\",\"8400\":\"9f7d8e28\",\"8415\":\"1da9a8c6\",\"8467\":\"6980e0c4\",\"8543\":\"2648a0f6\",\"8630\":\"c63c3957\",\"8660\":\"2ba0842f\",\"8763\":\"a8c2f646\",\"8822\":\"ae88e086\",\"9036\":\"3a2a53e8\",\"9041\":\"5ab09c0e\",\"9133\":\"da5708ff\",\"9244\":\"678b7be9\",\"9351\":\"27b41270\",\"9375\":\"70bc0340\",\"9394\":\"12dd3a38\",\"9609\":\"e574c787\",\"9624\":\"556c2a56\",\"9650\":\"7ec42e29\",\"9666\":\"bad06541\",\"9694\":\"9d60b85b\",\"9699\":\"da72e58b\",\"9773\":\"8446f515\",\"9808\":\"269aa10a\",\"9875\":\"f42566b4\",\"9915\":\"6ef9e74a\",\"9947\":\"8aff2fc4\",\"9985\":\"2e4b2c4c\",\"9986\":\"be88d01d\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + chunkId + \".\" + {\"1859\":\"507013dd\",\"3231\":\"03a69769\",\"5388\":\"d72a1b0e\",\"8324\":\"8e06074f\"}[chunkId] + \".chunk.css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"website:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"./\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"1859\":1,\"3231\":1,\"5388\":1,\"8324\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(8324 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwebsite\"] = self[\"webpackChunkwebsite\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [2279,1908,9896,4285], function() { return __webpack_require__(6876); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["dark","viewBox","width","height","version","stroke","strokeWidth","fill","fillRule","d","light","NoMatch","to","De","Loader","tip","indicator","Icon","type","spin","style","verticalAlign","Options","props","useMemo","Select","value","onChange","e","target","isV1","split","window","location","href","currentVersion","pkg","versionList","data","firstVersion","unshift","className","styles","defaultValue","map","idx","home","component","github","issue","gitee","plugin","SiderMenu","useLocation","trans","useTranslation","t","menu","find","item","RegExp","path","test","pathname","children","pre","title","nav","icon","newName","name","newPre","divider","translation","replace","initialState","layout","i18n","reducer","state","action","ThemeContext","React","dispatch","rx","x","y","fillOpacity","menutop","china","id","transform","xlinkHref","Nav","useContext","useState","searchText","setSearchText","menuSearchOption","components","m","option","i","length","com","label","toLocaleLowerCase","includes","console","log","push","Fragment","filter","Boolean","join","trim","logo","display","Object","keys","Tooltip","usePortal","placement","content","whiteSpace","activeStyle","color","isActive","undefined","SearchSelect","size","top","alignItems","marginLeft","placeholder","showSearch","onSearch","onSelect","open","language","changeLanguage","rel","Header","Layout","Sider","Content","Components","siderMenu","Affix","offsetTop","zIndex","padding","position","left","bottom","overflow","paddingLeft","lineHeight","flexDirection","justifyContent","backgroundColor","Loadable","Component","Suspense","fallback","Home","lazy","Extensions","GuideQuickStart","GuideImport","GuideCreateReactApp","GuideKKT","GuideDocs","GuideVscode","GuideRecommendation","Overview","Colors","Alert","AutoLink","ResetCss","Avatar","Calendar","Cascader","Checkbox","CopyToClipboard","Collapse","Card","Carousel","Descriptions","Divider","Drawer","DatePicker","DateInput","Dropdown","Badge","Progress","Pagination","PinCode","Input","Button","Radio","Split","Switch","Slider","Grid","Form","FileInput","Breadcrumb","List","Notify","Tree","TreeChecked","SearchTree","Transfer","Tag","Tabs","Table","TimePicker","Rate","Overlay","BackTop","Portal","OverlayTrigger","Popover","Message","MonthPicker","Textarea","Modal","Formatter","Steps","Menu","Empty","routes","element","index","App","useRoutes","Provider","useReducer","ReactDOM","document","getElementById","render","Backend","use","LanguageDetector","initReactI18next","init","fallbackLng","load","detection","caches","backend","loadPath","LOADPATH","DefLan","getScroll","method","isWindow","ret","documentElement","noop","getThemeVariantValue","options","field","defaultTheme","theme","GetStyledCloneComponent","oProps","isChildClassName","styleClassName","oClassName","rest","childProps","cls","concat","ite","getOffset","elemRect","getBoundingClientRect","targetRect","getTargetRect","scrollTop","scrollLeft","docElem","body","clientTop","clientLeft","getDefaultTarget","constructor","placeholderStyle","affixStyle","box","events","eventHandlers","timeout","getInstance","node","updatePosition","bind","componentDidMount","this","setTimeout","setTargetEventListeners","componentWillUnmount","clearEventListeners","clearTimeout","offsetBottom","offsetParent","elemSize","clientWidth","clientHeight","offsetMode","elemOffset","setPlaceholderStyle","setAffixStyle","affixed","setState","forEach","eventName","addEventListener","handler","removeEventListener","prefixCls","resetProps","_jsx","ref","defaultProps","canUseDOM","createElement","container","defaultNode","useRef","containerRef","useEffect","current","removeChild","appendChild","OverlayStyleTheme","backgroundColorOverlayBackdrop","ContentWrap","styled","_templateObject","ContainerWrap","_templateObject2","BackdropWrap","_templateObject3","OverlayWrap","_templateObject4","css","openClass","isOpen","maskClosable","backdropProps","portalProps","hasBackdrop","unmountOnExit","transitionName","onOpening","onOpened","onClosing","onClosed","onClose","onEnter","onExiting","onEntering","onEntered","onExit","dialogProps","otherProps","setIsOpen","visible","setVisible","overlay","overlayWillClose","classList","add","decoratedChild","cloneElement","as","tabIndex","handleBackdropMouseDown","onMouseDown","remove","transSet","TransitionGroupComp","CSSTransition","classNames","in","isAppearing","onExited","nodeRef","status","_jsxs","loadingCircle","keyframes","IconStyleBase","params","_props$params2","tagName","TagName","others","svg","svgPaths","propps","getCommonCss","attrName","fig","lastName","buttonVariant","param","basic","focus","active","disabled","backgroundColorHover","boxShadowColorFocus","backgroundColorActive","backgroundColorDisabled","boxShadowColorBasic","backgroundColorBasicHover","colorBasicDisabled","backgroundColorBasicActive","getloadingCss","loading","getSize","fontSize","minHeight","iconSize","buttonSize","getIconAndSizeCss","buttonSizeCss","ButtonStyleTheme","colorButtonStyleBase","fontSizeSmall","fontSizeDefault","fontSizeLarge","minHeightButtonSmall","minHeightButtonDefault","minHeightButtonLarge","fontSizeButtonIconSmall","fontSizeButtonIcontDefault","fontSizeButtonIconLarge","borderColorLinghtLoadingBefore","colorButtonLoadingBefore","colorPrimary","backgroundColorPrimary","backgroundColorPrimaryHover","boxShadowColorPrimaryFocus","backgroundColorPrimaryActive","backgroundColorPrimaryDisabled","boxShadowColorPrimaryBasic","backgroundColorPrimaryBasicHover","colorPrimaryBasicDisabled","backgroundColorPrimaryBasicActive","colorSuccess","backgroundColorSuccess","backgroundColorSuccessHover","boxShadowColorSuccessFocus","backgroundColorSuccessActive","backgroundColorSuccessDisabled","boxShadowColorSuccessBasic","backgroundColorSuccessBasicHover","colorSuccessBasicDisabled","backgroundColorSuccessBasicActive","colorWarning","backgroundColorWarning","backgroundColorWarningHover","boxShadowColorWarningFocus","backgroundColorWarningActive","backgroundColorWarningDisabled","boxShadowColorWarningBasic","backgroundColorWarningBasicHover","colorWarningBasicDisabled","backgroundColorWarningBasicActive","colorError","backgroundColorError","backgroundColorErrorHover","boxShadowColorErrorFocus","backgroundColorErrorActive","backgroundColorErrorDisabled","boxShadowColorErrorBasic","backgroundColorErrorBasicHover","colorErrorBasicDisabled","backgroundColorErrorBasicActive","colorLight","backgroundColorLight","backgroundColorLightHover","boxShadowColorLightFocus","backgroundColorLightActive","backgroundColorLightDisabled","boxShadowColorLightBasic","backgroundColorLightBasicHover","colorLightBasicDisabled","colorLightBasic","backgroundColorLightBasicActive","boxShadowColorLightDefault","boxShadowColorLight4","colorDark","backgroundColorDark","backgroundColorDarkHover","boxShadowColorDarkFocus","backgroundColorDarkActive","backgroundColorDarkDisabled","boxShadowColorDarkBasic","backgroundColorDarkBasicHover","colorDarkBasicDisabled","backgroundColorDarkBasicActive","colorLink","colorLinkHover","backgroundColorLink","backgroundColorLinkHover","boxShadowColorLinkFocus","backgroundColorLinkActive","backgroundColorLinkDisabled","boxShadowColorLinkBasic","backgroundColorLinkBasicHover","colorLinkBasicDisabled","backgroundColorLinkBasicActive","colorLinkNotDisabled","colorLinkNotDisabledActive","ButtonStyleBase","block","ButtonStyleBasePrimary","ButtonStyleBaseSuccess","_templateObject5","ButtonStyleBaseDangers","_templateObject6","ButtonStyleBaseDark","_templateObject7","ButtonStyleBaseLight","_templateObject8","ButtonStyleBaseLink","_templateObject12","ButtonStyleBaseWarning","_templateObject15","ButtonStyleWarp","htmlType","child","ModalStyleTheme","minHeightModalStyleHeader","backgroundColorModalStyleHeaderBase","boxShadowColorModalStyleHeaderBase","minHeightModalStyleHeaderH4","backgroundColorModalStyleInnerBase","minWidthModalStyleInner","boxShadowModalStyleInnerH","boxShadowModalStyleInnerV","ModalStyleHeader","ModalStyleBody","ModalStyleFooter","ModalStyleContainer","ModalStyleInner","ModalStyleWrap","_templateObject9","useButton","autoFocus","cancelText","cancelButtonProps","confirmButtonProps","confirmText","maxWidth","minWidth","isCloseButtonShown","onCancel","onConfirm","bodyStyle","other","setLoading","handleCancel","_handleCancel","_handleConfirm","onClick","Close","handleConfirm","show","dv","AlertStyleTheme","colorAlertPrimary","colorAlertSuccess","colorAlertWarning","colorAlertDanger","colorAlertDefault","propsTheme","typeVariant","AlertStyleWarp","delimiter","text","word","match","url","_createElement","key","startsWith","AvatarStyleTheme","backgroundColorAvatar","colorAvatar","fontSizeAvatarMini","fontSizeAvatarSmall","fontSizeAvatarDefault","fontSizeAvatarLarge","widthAvatarMini","widthAvatarSmall","widthAvatarDefault","widthAvatarLarge","borderRadiusDefault","AvatarStyleImg","AvatarStyleWarp","shape","src","alt","onError","isImgExist","setIsImgExist","evn","getScrollTop","BackTopStyleTheme","bottomBackTop","rightBackTop","BackTopStyleWarp","fixed","BackTopStyleBase","speed","showBelow","clickable","topShowBelow","percent","setPercent","setCurrent","onScroll","Math","round","scrollHeight","innerHeight","getScrollPercent","scrollToTop","step","start","timer","setInterval","scrollTo","clearInterval","scrollToAnimate","marginVerticalBadgeStyleColorDot","marginHorizontalBadgeStyleColorDot","topBadgeStyleColorDot","widthBadgeStyleColorDot","backgroundColorBadgepPocessing","backgroundBadgeCountDot","colorBadge","boxShadowBadgeCountDot","topBadgeCountDot","topBadgeCount","heightBadgeCount","borderRadiusBadgeCount","keyframesStatusProcessing","BadgeStyleColorDot","processing","BadgeStyleSupCountDotBase","dot","nowrap","BadgeStyleWarp","_templateObject10","max","count","supProps","warpperProps","BreadcrumbStyleTheme","colorBreadcrumbActive","paddingLeftBreadcrumItemBefore","paddingRightBreadcrumItemBefore","marginLeftBreadcrumItemInterval","BreadcrumbStyleWarp","BreadcrumbStyleWarpItem","noBefore","noSeparator","BreadcrumbStyleSeparator","BreadcrumbItem","separator","isElm","assign","Item","ButtonGroupStyleTheme","ButtonGroupWarp","vertical","context","parentNode","isDOM","HTMLElement","nodeType","nodeName","contains","compareDocumentPosition","getBordersSize","axis","sideA","sideB","parseFloat","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","navigator","userAgent","isIE","html","computedStyle","parseInt","rect","right","offsets","result","sizes","getComputedStyle","getWindowSizes","ownerDocument","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","offsetLeft","property","defaultView","getStyleComputedProperty","getOuterSizes","scrollWidth","getStyle","triggerDom","trigger","popupDom","popup","autoAdjustOverflow","sty","winSizeHeight","winSizeWidth","innerWidth","OverlayTriggerWrap","_templateObject14","normalizeDelay","delay","hide","isOutside","isClickOutside","onVisibleChange","triggerRef","popupRef","timeoutRef","hoverStateRef","overlayStyl","setOverlayStyl","useImperativeHandle","overlayDom","overlayProps","triggerProps","handleClickOutside","handleResize","styls","popNode","childNode","clearTimeouts","timeoutId","handleShow","_props$children","handle","handleHide","handleMouseOverOut","relatedNative","currentTarget","related","relatedTarget","nativeEvent","onFocus","onMouseOver","onMouseEnter","onMouseOut","onMouseLeave","PopoverStyleTheme","fontSizePopoverDefault","boxShadowPopoverPrimary","PopoverStyleOverlayTriggerArrow","PopoverStyleOverlayTriggerDiv","PopoverStyleOverlayTrigger","PopoverStyleOverlayTriggerContent","_templateObject16","renderArrow","visibleArrow","writingMode","Confirm","marginTop","InputStyleTheme","colorInputStyleBase","boxShadowColorInputHBase","boxShadowColorInputInsHBase","boxShadowColorInputInsVBase","backgroundColorInputStyleBase","heightInputDefault","fontSizeInputDefault","boxShadowColorInputHFocus","boxShadowColorInputVFocus","boxShadowColorInputHHover","boxShadowColorInputVHover","backgrounColorInputDisabled","colorInputDisabled","topInputStyleAddonAfter","lineHeightInputsDefault","widthInputsDefault","lineHeightInputLarge","lineHeightInputSmall","lineHeightInputStyleAddonAfter","InputStyleBase","boxShadowColorInputStyleBase","InputStyleAddonAfter","InputStyleWarp","min","overLimitColor","keyboard","Number","_ref","toString","overLimitComp","isOverLimit","isOverLimitSet","overLimitProps","inputStyle","v","preIcon","addonAfter","inputRef","addonRef","input","paddingRight","computedInputPadding","autoComplete","DateTimePickerStyleTheme","borderLeftColorDateTimeStylePanelUl","colorDateTimeLi","colorDateTimeLiDisabled","colorDateTimeLiSelected","backgroundColorDateTimeLiSelect","backgroundColorDateTimeLiHover","backgroundColorDateTimeLiActive","colorDateTimeStyleCloseButton","colorDateTimeStyleCloseButtonHover","DateTimeInput","DateTimeStyleCloseButton","DateTimeStylePanelUl","DateTimeStylePanelLi","selected","DateTimeStylePanel","DateTimeStyleBase","TimePickerPanel","date","hideDisabled","onSelected","disableds","getDisabledItem","num","Date","Array","_","liProps","currentDate","handleClick","currentCount","tag","dataset","getItemInstance","TimePickerTime","precision","TimePanel","format","popoverProps","allowClear","disabledHours","disabledMinutes","disabledSeconds","inputProps","setDate","timeProps","inputValue","formatter","datePickerTime","_props","dataStr","readOnly","DatePickerStyleTheme","backgroundColorDatePickerBaseHover","backgroundColorDatePickerStyleCaptionPanePrevBefore","backgroundColorDatePickerActive","backgroundColorDatePickerStyleCaptionToday","backgroundColorDatePickerStyleCaptionTodayBefore","backgroundColorBase","backgroundColorDatePickerTodayDisabled","colorDatePickerDayTodayBase","backgroundColorDatePickerDayDisabled","colorDatePickerDayHover","colorDatePickerDayEnd","borderColorDatepickerBase","colorDatepickerTimeBase","boxShadowDatepickerTime1","boxShadowDatepickerTime2","boxShadowDatepickerTime3","colorDatePickerPaging","borderBottomColorDatepickerCaption","DatePickerStyleBodyWarp","DatePickerStyleWeekBase","DatePickerStyleWeekDay","DatePickerStyleWeek","prev","_props$cls2","next","today","classnames","obj","keyName","DayRect","selectedDate","col","panelDate","disabledDate","renderDay","onSelectDay","end","isNaN","getTime","isValidDate","year","getFullYear","month","getMonth","week","getDay","toDateString","lastDay","getDate","day","cellDate","divProps","cellMonth","WEEKTITLE","WEEKDAY","DatePickerDay","weekday","weekTitle","weekdayLabel","row","curDate","DatePickerStyleYearMonthWarp","isYear","DatePickerStyleYearMonthSelect","paging","DatePickerMonth","monthLabel","selectedMonth","DatePickerYear","panelNum","activeYear","setActiveYear","selectedYear","setFullYear","handleSelected","DatePickerStyleCaptionPaneBase","DatePickerStyleCaptionPaneYear","DatePickerStyleCaptionPaneMonth","DatePickerStyleCaptionPane","DatePickerStyleCaptionToday","DatePickerStyleCaptionBase","arg","arguments","DatePickerCaption","todayButton","renderMonth","DatePickerStyleWarp","MONTH_LABEL","onPanelChange","showTime","setType","selectDate","setSelectDate","selectPanelDate","setSelectPanelDate","curType","setMonth","onSelectedDate","dateSource","fontSizeCalendarCaptionDefualt","backgroundColorCalendarHover","backgroundColorCalendarActive","lineHeightCalendarPanel","backgroundCalendarDefault","borderColorCalendarChildDiv","CalendarCaptionStyleWrap","CalendarBtnStyleWrap","CalendarBtnGroupStyleWrap","CalendarTitleWrap","CalendarDayWrap","CalendarInnerWrap","CalendarPanelStyleWrap","CalendarStyleWrap","RenderDay","dayData","arr","_objectWithoutPropertiesLoose","titleFormat","todayLabel","onPaging","setPanelDate","handlePaging","titleLable","btngroup","Down","propsNext","CardStyleTheme","getHoverOrActive","borderRadiusLarge","lineHeightDefault","borderColorBaseActive","borderColorBase","heightCardStyleHead","paddingVerticalCardStyleHead","paddingHorizontalCardStyleHead","borderRadius1CardStyleHead","borderRadius2CardStyleHead","borderRadius3CardStyleHead","borderRadius4CardStyleHead","colorBase","rightCardStyleHeadExtra","topCardStyleHeadExtra","paddingCardBody","borderTopCardBody","paddingVerticalCardStyleFooter","paddingHorizontalCardStyleFooter","borderTopCardStyleFooter","colorCardStyleFooter","CardStyleHead","CardStyleHeadTitle","CardStyleHeadExtra","CardBody","CardStyleFooter","CardStyleWarp","bordered","noHover","getNoHover","getActive","extra","footer","bodyClassName","prefix","CarouselStyleWarp","CarouselStyleWarpContent","direction","palyTime","scrollTime","autoPlay","afterChange","beforeChange","currentPosition","currentPositionSet","transitionInner","transitionInnerSet","positionRef","childCount","stopPlay","stop","after","before","gotoSlide","prevSlide","nextSlide","slidNumber","maxSlid","slidNumberTemp","play","ms","time","childrens","innerStyle","transition","MenuStyleTheme","backgroundColorMenuBase","backgroundColorMenuActive","colorMenuStyleItemIconDisabled","colorMenuStyleItemIconDark","colorMenuStyleItemIconDarkActive","colorMenuStyleBaseLight","backgroundMenuStyleBaseLight","boxShadowMenuStyleBaseBordered","colorMenuStyleItemBaseLightHover","colorMenuStyleItemBaseHover","borderTopColorMenuDividerBase","colorMenuStyleBaseDark","backgroundColorMenuStyleBaseDark","borderTopColorMenuDividerBaseDark","MenuDividerBase","MenuStyleItemIcon","MenuItemStyleTextBase","isText","multiline","MenuStyleItemBase","SubItemCollapseIcon","collapse","MenuStyleSubOverlayTriggerBase","_templateObject17","_props$params10","MenuStyleBase","_templateObject20","inlineCollapsed","disabledProps","Internal","isSubMenuItem","htmlProps","anchorCls","tagComp","MenuItem","displayName","MenuDivider","MenuContext","createContext","nodeDoms","onUpdateNode","onUpdateSize","useMenuContext","_node$overlayDom$curr","parentElement","IconView","SubMenu","inlineIndent","overlayTriggerProps","menuProps","store","isCheck","checkedMenuItem","appear","CascaderStyleTheme","colorCascaderClose","CascaderStyleIcon","CascaderStyleIconWarp","closebtn","expandTrigger","innerIsOpen","setInnerIsOpen","selectedValue","setSelectedValue","selectIconType","setSelectIconType","searchOn","setSearchOn","setInputValue","searchOption","setSearchOption","tempOptions","iteratorOption","opt","cb","opts","optsTemp","renderSelectIcon","valueTemp","optChildren","findOpt","handelChange","isSeleted","widths","click","triggers","callback","OptionIter","level","overflowY","optionsItem","splice","handleItemClick","_opt$children","_selectedValue","handelSearch","onBlur","stopPropagation","RadioStyleTheme","fontSizeSamll","colorRadioDefault","colorNotCheckedNotDisabledDefault","widthRadioDefault","heightRadioDefault","borderRadioDefault","borderRadioCheckedDefault","RadioInputStyleBase","RadioText","RadioBase","RadioGroupBase","RadioAbstract","checked","prChecked","setChecked","prevChecked","setPrevChecked","persist","ButtonGroup","RadioButton","CheckboxStyleTheme","boxShadowCheckboxChecked","backgroundColorCheckboxChecked","backgroundColorCheckboxBase","colorCheckboxDisabled","borderColorCheckboxChecked","boxShadowCheckboxHover","CheckGroupStyleBase","CheckboxStyleBase","indeterminate","_ref2","CheckboxGroup","valueRef","childs","isArray","include","val","InternalCheckbox","Group","CollapseStyleTheme","borderColorCollapseBase","colorCollapsePanelBase","colorCollapseStyleHeaderBase","backgroundColorCollapseStyleHeaderBase","colorCollapseStyleHeaderDisabled","backgroundColorCollapseStyleHeaderDisabled","CollapseStyleWarp","CollapseStyleItem","CollapseStyleHeader","CollapseStyleItemPanel","CollapseStyleHeaderTitle","CollapseStyleHeaderExtra","_templateObject11","toArray","activeKey","currentActiveKey","InternalCollapse","accordion","showArrow","propsActiveKey","setActiveKey","String","indexOf","onItemClick","Panel","header","iconRender","transitionDuration","instance","CopyToClipbordSelect","CopyToClipbordWarp","copy","isCopy","DateInputStyleTheme","fillDateInputCloseBase","fillDateInputCloseHover","colorDateInputStyleBase","backgroundColorDateInputDisabled","colorDateInputDisabled","boxShadowDateInputBase","boxShadowDateInputFocus","boxShadowDateInputHover","boxShadowDateInputFocusHover","DateInputStyleDatePickerPopover","DateInputStyleBase","DateInputIconStyleWarp","DateInputIcon","DateInputRangeStyleWarp","DateInputRange","datePickerProps","dateRange","setDateRange","handleChange","cdate","changeValue","propsValue","JSON","stringify","baseline","margin","SwapRight","autoClose","DescriptionsStyleTheme","borderColorDescriptions","borderColorDescriptionsTh","colorDescriptionsHead","colorDescriptionsConent","colorDescriptionsColon","DescriptionsStyleWarp","DescriptionsStyleItem","isLabel","isColon","isContent","DescriptionsStyleTable","DescriptionsStyleTableCaption","DescriptionsStyleTableRow","DescriptionsStyleTableTbody","colon","span","labelProps","colSpan","Row","column","handleCell","isHead","Cell","isLastCell","InternalDescriptions","leftSpans","rows","columns","itemNode","generateChildrenRows","DividerStyleTheme","backgroundColorDividerBase","borderTopColorDividerWithText","DividerStyleBase","align","dashed","DividerStyleInnerText","restProps","DividerWarp","DrawerStyleTheme","boxShadowColorInDrawerWrapper","boxShadowColorHvDrawerWrapper","backgroundColorDrawerWrapper","backgroundColorDrawerHeader","boxShadowColorInDrawerHeader","colorHvDrawerHeader","boxShadowColorInDrawerFooter","DrawerStyleWrapperWrap","DrawerStyleHeaderWrap","DrawerStyleBodyWrap","DrawerStyleFooterWrap","DrawerStyleBodyClsWrap","DrawerStyleWrap","bodyProps","bodyCls","styl","footerView","iconView","titleView","EmptyStyleTheme","colorEmptyBase","EmptyStyleBase","EmptyStyleIcon","EmptyStyleDescription","EmptyStyleFooter","iconProps","description","EmptyWrap","FileInputTheme","boxShadowFileInputStyleWarpAfterBase","backgroundImageFileInputStyleWarpAfterBase","backgroundColorFileInputStyleWarpAfterBase","colorFileInputStyleWarpAfterBase","backgroundColorFileInputStyleWarpHoverAfterBase","boxShadowFileInputStyleWarpHoverAfterBase","colorFileInputStyleWarpBeforeBase","backgroundFileInputStyleCardActionsWarpBase","backgroundColorFileInputStyleCardBoxWarpBase","borderColorFileInputStyleCardBoxWarpBase","backgroundFileInputStyleListActionsWarpBase","borderColorFileInputStyleListUploadTypeWarpBase","backgroundFileInputStyleListUploadTypeWarpHover","FileInputStyleWarp","FileInputStyleCardActionsWarp","isAction","FileInputStyleCardBoxWarp","btn","FileInputStyleCardBoxInfoWarp","FileInputStyleCardActionsRemoveWarp","FileInputStyleCardWarp","FileInputStyleListActionsWarp","FileInputStyleListActionsSearchWarp","FileInputStyleListUploadInfoTypeWarp","_templateObject18","FileInputStyleListUploadTextTypeWarp","_templateObject19","FileInputStyleListUploadIconTypeWarp","FileInputStyleListUploadTypeWarp","_templateObject21","uploadType","FileInputStyleListWarp","_templateObject25","dataLabel","dataList","readonly","showFileIcon","showPreviewIcon","showRemoveIcon","onPreview","onAdd","onRemove","Search","Delete","maxNumber","getBase64","file","reader","FileReader","Promise","resolve","readAsDataURL","getListFiles","files","dataURLKey","promiseFiles","all","then","fileListBase64","base64","multiple","inValue","fileList","setFileList","Comp","handleClickInput","useCallback","openFileDialog","onFileUpload","onInputChange","updatedFileList","updatedList","slice","FileList","alignType","middle","ColStyleWrap","grow","Col","RowStyleWrap","justify","gutter","gutterStyl","SelectStyleTheme","paddingSelectSmall","paddingSelectDefault","paddingSelectLarge","fontSizeSelectSmall","fontSizeSelectDefault","fontSizeSelectLarge","colorSelectBase","colorSelectDisabled","backgroundColorSelectBase","backgroundColorSelectHover","backgroundColorSelectDisabled","boxShadowSelectBase","boxShadowSelectDisabled","cursorSelectDefault","cursorSelectDisabled","backgroundImageSelectUrl","SelectStyleWarp","Option","TextareaStyleTheme","colorTextareaDefault","colorTextareaDark","backgroundColorTextareaStyleWarpBase","boxShadowTextarea","boxShadowTextareaFocus","boxShadowTextareaHover","boxShadowTextareaFocusHover","colorTextareaDisabled","backgroundTextareaDisabled","TextareaStyleWarp","FormStyleTheme","colorFormStyleHelpStyleBase","colorFormStyleItemErrorBase","boxShadowFormStyleItemErrorBase","LabelStyle","FormStyleHelpStyle","FormStyleRowStyle","FormStyleItem","hasError","FormItem","required","labelFor","labelClassName","labelStyle","help","inline","labelCls","htmlFor","FormStyleWarp","FormStyleFieldset","fields","resetOnSubmit","onSubmitError","onSubmit","afterSubmit","initData","initial","submitting","errors","initialValue","currentValue","newFormState","setData","handleSubmit","resetForm","handleReset","getFieldValues","getError","setFields","setFieldValue","formUnits","error","childField","controlField","tempData","fieldName","validator","env","list","nextState","preventDefault","promise","onSuccess","response","reset","afterSubmitPromise","catch","canSubmit","passesValidators","prototype","hasOwnProperty","call","initials","entries","hasCurrentValue","ListStyleTheme","colorListBase","backgroundColorListBase","boxShadowListActive","borderColorListActive","colorListBorder","backgroundColorListStriped","backgroundColorListBordered","colorListItemDisabled","backgroundListItemActive","colorListItemActive","backgroundListItemNotDisabledHover","ListStyleItemMain","ListStyleItemExtra","ListStyleItemWarp","ListStyleHeader","ListStyleFooter","ListStyleWarp","_templateObject13","striped","ListItem","InternalList","items","renderItem","dataSource","childrenList","classString","ListWarp","loaderRotate","loaderDash","loaderColor","LoaderStyleSvg","LoaderStyleTips","fullscreen","LoaderStyleTipsNested","LoaderStyleTipsNestedText","LoaderStyleWarp","LoaderStyleChild","bgColor","indicatorView","cx","cy","r","strokeMiterlimit","tipsView","MessageStyleTheme","colorMessageChildren","colorMessageTitle","backgroundMessageSuccess","colorMessageSuccess","backgroundMessageWarning","colorMessageWarning","backgroundMessageInfo","colorMessageInfo","backgroundMessageError","colorMessageError","colorMessageDescriptionSpanBase","colorMessageTitleSpanBase","backgroundColorMessageButtonWarpHover","colorMessageButtonWarpBase","backgroundColorMessageButtonWarpActive","MessageStyleWrap","MessageStyleDivWrap","_props$params","showIcon","_props$params3","_props$params4","_props$params5","rounded","MessageStyleSpanWrap","MessageStyleDescriptionSpan","MessageStyleTitleSpan","MessageStyleButtonWarp","handleClosed","renderIcon","base","CircleCheck","Warning","Information","CircleClose","elementProps","Child","MonthPickerTheme","fillMonthPickerStyleCloseButtonBase","fillMonthPickerStyleCloseButtonHover","MonthPickerStyleCloseButton","MonthPickerStylePopoverBase","MonthPickerStyleInputStyleBase","pickerCaptionProps","handleSelectedDate","curPanelDate","captionType","NotifyGlobalStyle","createGlobalStyle","NotifyStyleAlertBase","notifys","Container","create","duration","closed","willUnmount","alertProps","notifysDom","NotificationCreate","div","random","nprops","notifysChild","PaginationStyleTheme","borderColorPaginationBase","backgroundColorPaginationActive","backgroundColorPaginationHover","backgroundColorPaginationTextBase","backgroundPaginationTextDisabled","backgroundPaginationTextHover","boxShadowdisabledPaginationDisabled","boxShadowdisabledPaginationActive","PaginationStyleBaseLIA","isArrow","PaginationStyleBaseLI","isOptions","PaginationStyleBaseUL","isDivider","alignment","total","pageSize","pageSizeOptions","currentNumber","onShowSizeChange","initPageSoure","ceil","itemCount","goto","textAlign","sizeCount","PinCodeStyleDivWrap","PinCodeStyleInputWrap","InternalPinCode","placehold","setPlacehold","values","setValues","handleBlur","event","handleFocus","inpProps","inputMode","charAt","onKeyDown","handleKeyDown","IconProgress","ProgressStyleTheme","strokeProgressStylePathSuccess","strokeProgressStylePathException","strokeProgressStylePath","strokeProgressStylePathTrail","colorProgresTextSuccess","colorProgresTextException","colorProgresText","backgroundColorProgressStyleBgSuccess","backgroundColorProgressStyleBgException","backgroundColorProgressStyleBg","backgroundColorProgressStyleInner","backgroundProgressStyleBgActiveBefore","backgroundImageProgressStyleBgActive","ProgressStyleBarStripes","progressActive","ProgressStyleWarp","isLine","ProgressStyleText","isCircle","ProgressStyleBar","showText","ProgressStyleInner","ProgressStyleBg","ProgressStyleSvg","ProgressStylePath","isTrail","isStroke","Circle","relativeStrokeWidth","elm","_strokeWidth","toFixed","radius","setAttribute","perimeter","PI","progressInfo","progressStatus","percentView","strokeLinecap","Line","percentStyle","RateBgStyleTheme","colorRateBgBase","colorRateActiveBase","lineHeightRateActiveDefault","colorRateActiveOn","lineHeightRateDefault","fontSizeRateDefault","RateBg","RateActive","hoverOn","starOn","halfon","RateWarp","defValue","allowHalf","character","onHoverChange","setValue","hoverCount","setHoverCount","prevValue","setPrevValue","getValue","isLeft","clientX","activeCls","onMouseMove","TagDefaultTheme","backgroundColorTagStyleSvgHover","backgroundColorTagStyleSvgActive","backgroundColorTagStyleSvgLightActive","fillTagStyleSvgLightHover","TagStyleSvg","isLight","TagStyleWarp","closable","borderColor","boxShadow","SearchSelectStyleTheme","backgroundSearchSelectDisabled","backgroundSearchSelectBase","colorSearchSelectDisabled","colorSearchSelectBase","boxShadowSearchSelectBase","boxShadowSearchSelectFocus","boxShadowSearchSelectHover","boxShadowSearchSelectFocusHover","SearchSelectInputContentsBase","SearchSelectTagContentsBase","SearchSelectInputStyleBase","SearchSelectIconStyleBase","singe","SearchSelectInner","ICONTYPE","close","Loading","TagSize","large","default","small","valueAmount","maxTagCount","labelInValue","mode","tagProps","isMultiple","selectedLabel","setSelectedLabel","omitTagCount","divRef","valueVerify","selectedValueChange","getSelectOption","findResult","selectedLabelChange","handleItemsClick","removeSelectItem","resultValue","handleSelectChange","handleInputChange","resetSelectedValue","maxHeight","findIndex","finds","_inputRef$current2","flex","keyCode","StepsStyleTheme","colorStepsError","backgroundColorStepsError","borderColorStepsError","backgroundColorStepsProcess","borderColorStepsProcess","backgroundStepsStyleItemTail","colorStepsStyleItemHeadInner","borderColorStepsStyleItemHeadInner","backgroundColorStepsStyleItemHeadInner","colorStepsStyleItemHeadInnerIcon","colorStepsStyleItemMainTitle","colorStepsStyleItemMainProcess","StepsStyleWarp","StepsStyleItem","StepsStyleItemTail","StepsStyleItemTailI","nextError","StepsStyleItemHead","_templateObject27","StepsStyleItemHeadInner","_templateObject29","StepsStyleItemHeadInnerDot","_templateObject37","StepsStyleItemHeadInnerIcon","_templateObject39","_props$params16","StepsStyleItemHeadInnerSvg","_templateObject42","StepsStyleItemMain","_templateObject43","StepsStyleItemMainTitle","_templateObject47","StepsStyleItemMainDescription","_templateObject51","_props$params26","InternalSteps","progressDot","warpRef","lastStepOffsetWidth","setLastStepOffsetWidth","filteredChildren","c","lastIndex","domNode","lastChild","abs","calcStepOffsetWidth","stepNumber","itemWidth","adjustMarginRight","Step","stepItemStyle","stepItemDotStyle","marginRight","iconNode","Check","SliderStyleTheme","backgroundColorSlider","backgroundColorSliderStyleBar","backgroundColorSliderStyleHandleDisabled","boxShadowSliderStyleHandleDisabled","boxShadowSliderStyleHandleDisabledActive","backgroundColorSliderStyleHandleDisabledActive","boxShadowSliderStyleHandle","backgroundColorSliderStyleHandle","backgroundImageSliderStyleHandle","backgroundColorSliderStyleTooltip","colorSliderStyleTooltip","colorSliderStyleMark","boxShadowSliderStyleDot","backgroundColorSliderStyleDot","SliderStyleWarp","marks","SliderStyleBar","SliderStyleHandle","SliderStyleTooltip","SliderStyleDot","SliderStyleMark","noMarks","Dots","markRender","stepValue","dots","progress","tooltip","renderMarks","bar","slider","indexBar","startX","curValue","barWidth","barOffsetLeft","move","arrValue","setArrValue","getWidthToValue","equal","floor","onDragging","vals","valueToWidth","barStyl","onDragEnd","markOffset","newData","val1","val2","half","getRangeValue","getValueToPercent","leftValue","rightValue","getLabelValue","lleftPostion","onHandleBtnDown","stepWidth","stepArray","mark","SwitchStyleTheme","minWidthSwitchCheckbox","heightSwitchCheckbox","backgroundColorSwitchCheckbox","borderRadiusSwitchCheckbox","boxShadowColorSwitchCheckbox","colorSwitchCheckboxBefore","lineHeightSwitchCheckboxBefore","backgroundColorSwitchCheckboxChecked","colorSwitchCheckboxNotCheckedBefore","heightSwitchCheckboxAfter","widthSwitchCheckboxAfter","borderRadiusSwitchCheckboxAfter","backgroundColorSwitchCheckboxAfter","boxShadowColorSwitchCheckboxAfter","boxShadowColorSwitchCheckboxFocus","boxShadowColorInSwitchCheckboxFocus","minWidthSwitchLargeCheckbox","heightSwitchLargeCheckbox","heightSwitchLargeCheckboxAfter","widthSwitchLargeCheckboxAfter","lineHeightSwitchLargeCheckboxBefore","minWidthSwitchSmallCheckbox","heightSwitchSmallCheckbox","heightSwitchSmallCheckboxAfter","widthSwitchSmallCheckboxAfter","lineHeightSwitchSmallCheckboxBefore","SwitchStyleWrap","TableBaseDefaultTheme","borderColorTable","backgroundColorTableFooter","borderBottomColorTableRows","backgroundColorTableTr","backgroundColorTable","backgroundColorTableEvenRows","backgroundColorTableEvenRowsHover","backgroundColorTableHead","borderRightColorFixedRows","TableStyleWrap","TableStyleDomIcon","TableStyleTheadWrap","TheadItem","TableStyleCol","TableStyleColContent","ellipsis","TableStyleFooter","getColspanNum","getRowspanNum","getLevelItems","levelTop","rowSpan","getAllColumnsKeys","locationFixed","_location$index","_location$index2","ThComponent","wrapper","updateLocation","rowNum","colNum","titleNode","onCellHead","locationWidth","thProps","TheadComponent","tds","ThComponentProps","ExpandableComponent","defaultExpand","expandIcon","expand","setExpand","TableTr","rowKey","onCell","isExpandedDom","hierarchy","indentSize","childrenColumnName","isOpacity","setIsOpacity","childrenIndex","setChildrenIndex","expandIndex","setExpandIndex","it","IconDom","flag","MinusSquareO","PlusSquareO","opacity","float","getIndex","j","trData","objs","isHasChildren","empty","expandable","scroll","setLocationWidth","finalLocationWidth","deepClumnsLocation","fistIndex","headerIndex","deepParams","computed","childKey","defaultExpandAllRows","deep","arr1","defaultExpandedRowKeys","expandedRowKeys","record","expandedRowRender","rowExpandable","self","selfColumns","_expandable$defaultEx","onExpand","onExpandedRowsChange","table","overflowX","tableLayout","Thead","_extends","TabsStyleTheme","colorTabsItemActive","backgroundColorTabsItemActive","colorTabsItemDisabled","boxShadowTabsFlowContentDefault","backgroundColorTabsNavHiddenBase","backgroundColorTabsBase","borderBottomTabsAfter","borderBottomTabsCardAfter","backgroundColorTabsCardAfter","TabsStyleWarp","TabsDivSlide","TabsDivNav","TabsItem","TabsDivFlex","TabsDivHidden","TabsDivBar","TabsNavHidden","TabsFlowContent","TabsPaneWarp","Pane","labelWidth","onTabClick","slideStyle","setSlideStyle","activeItem","flowLeft","displayStart","displayEnd","flowNav","flowNavSet","hiddenNav","hiddenNavSet","nodes","nodesSet","divContentRef","divNavRef","itemKey","divNavWidthChange","curWidth","showHideenNav","_flowNav$nav","calcSlideStyle","Styled","renderNav","TooltipStyleTheme","backgroundColorTooltipStyleInnerWarpBase","borderColorTooltipStyleInnerWarpBase","boxShadowTooltipStyleInnerWarpBase","TooltipStyleWarp","TooltipStyleContainerWarp","rightTop","rightBottom","leftTop","leftBottom","topLeft","topRight","bottomLeft","bottomRight","tooltipHandle","TooltipStyleArrowWarp","tooltipArrowHandle","TooltipStyleInnerWarp","TreeStyleTheme","borderRadiusTreeNodeDefault","borderTreeNodeDefaultAfter","backgroundColorTreeNodeJudgeSelected","colorTreeNodeUlLidivSpanDefault","transformTreeNodeUlLidivSpanDefault","fontSizeTreeNodeStyleCSSTransitionDefault","transformTreeNodeUlLidivSpanIconDefault","TreeNodeStyleCSSTransition","TreeNodeStyleUl","TreeNodeStyleUlDiv","TreeNodeStyleUlLidivSpan","TreeNodeStyleUlLidivSpanIcon","isNoChild","isIcon","isItemIsOpen","isIconAnimation","TreeNodeStyleUlLidivSpanDiv","judgeSelected","judgeisSelected","TreeNodeStyleWrap","Label","TreeNode","renderTitle","iconAnimation","isSelected","openKeys","selectedKeys","parent","onItemSelected","noChild","itemIsOpen","iconItem","childKeys","getChildKeys","checkedKeys","isHalfChecked","disabledObj","disabledMouse","disabledClass","disabledStyle","hideNode","isDisabled","isContained","a","b","aStr","len","depth","getParentKeys","getParentSelectKeys","defaultExpandAll","showLine","checkStrictly","autoExpandParent","curOpenKeys","setCurOpenKeys","curSelectedKeys","setCurSelectedKeys","arrOpenKeys","currentKeys","expanded","selKeys","findKey","from","Set","TreeCheckboxStyleBase","checkedProps","DropdownStyleTheme","backgroundColorDropdownDivBase","colorDropdownDivBase","backgroundColorDropdownDivDisabled","colorDropdownDivDisabled","boxShadowDropdownDiv","boxShadowDropdownDivFocus","boxShadowDropdownDivhover","boxShadowDropdownDivFocushover","DropdownWrap","DropdownDiv","DropdownDivTag","DropdownDivInput","DropdownDivSpan","selectCloseDrop","emptyOption","selectedOption","setSelectedOption","optionRef","searchValue","searchValueSet","selectedAll","selectd","isChecked","searchValueChange","curreentItem","newContent","newProps","parse","flexFlow","TreeCheckeds","selectOption","selectOptionSet","keysSet","_props$values","getOptionsRecursion","isAdd","addOrDel","iteratorParent","selectCount","_child$children","_child$label","curSelectOption","isNumberKey","SingeTree","_props$values2","_1","_2","cur","CheckedStatus","treeProps","selectedValues","selectedValuesSet","selectedOptions","selectedOptionSet","isEmpty","isEmptySet","SearchTagInput","hiddenNodeForSeach","parentIsHide","isHide","_child$children2","isEmpt","TransferStyleTheme","boxShadowColorTransferArrowPropsHover","TransferWrap","TransferChekedContentWrap","TransferArrow","TransferArrowContent","TransferCard","searchValueLeft","searchValueLeftSet","searchValueRight","searchValueRightSet","selectedOptionsShowCount","Map","leftSelectOption","leftSelectOptionSet","leftSelectedKeys","leftSelectedKeySet","rightSelectedKeys","rightSelectedKeySet","rightOpions","rightOpionSet","UnChecked","selectAllChecked","selectAllCheckedSet","set","hiddenNode","callBackfn","delete","get","transferClick","transferType","Arrow","DownSquareO","TranSferWarp","selectedOptionsRecursion","_child$children3","searchIsMatch","selectOptionTemp","background","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","__proto__","ns","def","getOwnPropertyNames","definition","o","defineProperty","enumerable","f","chunkId","reduce","promises","u","miniCssF","g","globalThis","Function","prop","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","nc","onScriptComplete","onerror","onload","doneFns","head","Symbol","toStringTag","p","loadStylesheet","reject","fullhref","existingLinkTags","dataHref","existingStyleTags","findStylesheet","linkTag","errorType","realHref","err","Error","code","request","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|