@layerzerolabs/vm-tooling 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/22DCFDRO.js +6 -0
- package/dist/{6QZPR4XG.js.map → 22DCFDRO.js.map} +1 -1
- package/dist/24NWZBNF.cjs +8 -0
- package/dist/{Z253B63X.cjs.map → 24NWZBNF.cjs.map} +1 -1
- package/dist/{U7VZULNU.cjs → 24WEKBY3.cjs} +5 -12
- package/dist/24WEKBY3.cjs.map +1 -0
- package/dist/{6MCEHW2U.cjs → 2HHN5KHW.cjs} +304 -286
- package/dist/2HHN5KHW.cjs.map +1 -0
- package/dist/{Y27GTZ2Q.js → 2MUIAEPQ.js} +4 -4
- package/dist/{Y27GTZ2Q.js.map → 2MUIAEPQ.js.map} +1 -1
- package/dist/{7WVEMAKW.cjs → 3NXVR3DC.cjs} +5 -5
- package/dist/{7WVEMAKW.cjs.map → 3NXVR3DC.cjs.map} +1 -1
- package/dist/{HMP4FGDB.cjs → 3TIEGVTO.cjs} +81 -83
- package/dist/3TIEGVTO.cjs.map +1 -0
- package/dist/{VLSIEZLM.js → 3V7HWCTZ.js} +68 -19
- package/dist/3V7HWCTZ.js.map +1 -0
- package/dist/{YIS2J6NC.js → 3YN24Z7J.js} +54 -11
- package/dist/3YN24Z7J.js.map +1 -0
- package/dist/427QOV7V.js +348 -0
- package/dist/427QOV7V.js.map +1 -0
- package/dist/4DNHANRV.cjs +39 -0
- package/dist/4DNHANRV.cjs.map +1 -0
- package/dist/{S37YVMJL.js → 4ZP6FU3S.js} +22 -10
- package/dist/4ZP6FU3S.js.map +1 -0
- package/dist/{55HL3CFD.js → 5CA2MJIS.js} +7 -7
- package/dist/5CA2MJIS.js.map +1 -0
- package/dist/{LH4V3GFX.cjs → 5JOTEX2K.cjs} +19 -20
- package/dist/5JOTEX2K.cjs.map +1 -0
- package/dist/{4RNWLMHM.js → 6AHA7PAZ.js} +8 -13
- package/dist/6AHA7PAZ.js.map +1 -0
- package/dist/6TADYYIQ.js +175 -0
- package/dist/6TADYYIQ.js.map +1 -0
- package/dist/7AUJV34E.cjs +144 -0
- package/dist/7AUJV34E.cjs.map +1 -0
- package/dist/7JWBGU62.js +141 -0
- package/dist/7JWBGU62.js.map +1 -0
- package/dist/{IWNVWC3I.js → 7XVJ6B7B.js} +3 -3
- package/dist/{IWNVWC3I.js.map → 7XVJ6B7B.js.map} +1 -1
- package/dist/{LNCARCBD.cjs → ALYR25XX.cjs} +4 -4
- package/dist/{LNCARCBD.cjs.map → ALYR25XX.cjs.map} +1 -1
- package/dist/{3YHRHIKS.js → AUN5HLEO.js} +6 -6
- package/dist/{3YHRHIKS.js.map → AUN5HLEO.js.map} +1 -1
- package/dist/{EDWLY6YP.js → AZ72HVYT.js} +6 -7
- package/dist/AZ72HVYT.js.map +1 -0
- package/dist/{FL2DFW3Y.js → BAPGOHFS.js} +10 -9
- package/dist/BAPGOHFS.js.map +1 -0
- package/dist/{LF6BYBZY.js → BBFGL4TE.js} +6 -6
- package/dist/{LF6BYBZY.js.map → BBFGL4TE.js.map} +1 -1
- package/dist/{ORWR6LWW.js → BLS3LKLJ.js} +3 -3
- package/dist/{ORWR6LWW.js.map → BLS3LKLJ.js.map} +1 -1
- package/dist/{BRSAP7LG.cjs → BMCP2GAK.cjs} +23 -23
- package/dist/{BRSAP7LG.cjs.map → BMCP2GAK.cjs.map} +1 -1
- package/dist/{SHJCZ6NL.cjs → BWHCSCR3.cjs} +153 -147
- package/dist/BWHCSCR3.cjs.map +1 -0
- package/dist/{KSZMBVFB.cjs → BWZQ2EK3.cjs} +25 -5
- package/dist/BWZQ2EK3.cjs.map +1 -0
- package/dist/{BTXB2LKA.js → C3MB52UB.js} +5 -5
- package/dist/{BTXB2LKA.js.map → C3MB52UB.js.map} +1 -1
- package/dist/{ZD3LAY33.cjs → C7XQ4J6P.cjs} +18 -18
- package/dist/{ZD3LAY33.cjs.map → C7XQ4J6P.cjs.map} +1 -1
- package/dist/{D3JHHTB6.js → CFH3LMNQ.js} +24 -4
- package/dist/CFH3LMNQ.js.map +1 -0
- package/dist/{DB5GRF5K.cjs → D4JJRRKM.cjs} +7 -7
- package/dist/{DB5GRF5K.cjs.map → D4JJRRKM.cjs.map} +1 -1
- package/dist/DDKMZ6EE.js +6 -0
- package/dist/DDKMZ6EE.js.map +1 -0
- package/dist/{HCY4ASBG.js → DJEOCSEX.js} +10 -10
- package/dist/{HCY4ASBG.js.map → DJEOCSEX.js.map} +1 -1
- package/dist/{36UU6CJU.cjs → DMYPP6MX.cjs} +13 -13
- package/dist/{36UU6CJU.cjs.map → DMYPP6MX.cjs.map} +1 -1
- package/dist/E2R2CEJX.js +6 -0
- package/dist/{6YTOLRHQ.js.map → E2R2CEJX.js.map} +1 -1
- package/dist/{VPSZX4TV.cjs → EPZMMJJM.cjs} +8 -8
- package/dist/{VPSZX4TV.cjs.map → EPZMMJJM.cjs.map} +1 -1
- package/dist/{NDUVZQ7S.js → ERGNNQ6N.js} +3 -3
- package/dist/{NDUVZQ7S.js.map → ERGNNQ6N.js.map} +1 -1
- package/dist/{AMF2EES3.cjs → EUBM3LSR.cjs} +42 -27
- package/dist/EUBM3LSR.cjs.map +1 -0
- package/dist/{VZOUGVXS.cjs → FBKCEQT5.cjs} +58 -15
- package/dist/FBKCEQT5.cjs.map +1 -0
- package/dist/FDH37YWR.cjs +52 -0
- package/dist/FDH37YWR.cjs.map +1 -0
- package/dist/{HN3U775J.cjs → FQPOYRQJ.cjs} +10 -10
- package/dist/{HN3U775J.cjs.map → FQPOYRQJ.cjs.map} +1 -1
- package/dist/GFH6WSFW.cjs +8 -0
- package/dist/{IDMMHZJ3.cjs.map → GFH6WSFW.cjs.map} +1 -1
- package/dist/{XM743A75.js → GGKJNPTT.js} +22 -7
- package/dist/GGKJNPTT.js.map +1 -0
- package/dist/{ELFNCT57.js → GHQS37WK.js} +57 -41
- package/dist/GHQS37WK.js.map +1 -0
- package/dist/GVS7FGYI.cjs +49 -0
- package/dist/GVS7FGYI.cjs.map +1 -0
- package/dist/{QU36PNBP.cjs → HOYNWNJF.cjs} +7 -7
- package/dist/{QU36PNBP.cjs.map → HOYNWNJF.cjs.map} +1 -1
- package/dist/{6OU7NCZK.js → HSLJBWIL.js} +18 -18
- package/dist/{6OU7NCZK.js.map → HSLJBWIL.js.map} +1 -1
- package/dist/I24EDDRD.cjs +30 -0
- package/dist/I24EDDRD.cjs.map +1 -0
- package/dist/IYIFH7LC.js +29 -0
- package/dist/IYIFH7LC.js.map +1 -0
- package/dist/{AOG2M3LV.cjs → J2A64VZU.js} +25 -4
- package/dist/J2A64VZU.js.map +1 -0
- package/dist/{4CTWHZA4.cjs → JBC3ZG3F.cjs} +13 -13
- package/dist/{4CTWHZA4.cjs.map → JBC3ZG3F.cjs.map} +1 -1
- package/dist/JFZ5X2XX.cjs +8 -0
- package/dist/{S3PHE6F2.cjs.map → JFZ5X2XX.cjs.map} +1 -1
- package/dist/{XCMLC6HI.js → JGQER3LN.js} +1308 -1213
- package/dist/JGQER3LN.js.map +1 -0
- package/dist/{35BIBLTE.js → JS23ECRN.js} +34 -16
- package/dist/JS23ECRN.js.map +1 -0
- package/dist/{SV3LGPR3.js → LHW2PX7Q.js} +6 -6
- package/dist/{SV3LGPR3.js.map → LHW2PX7Q.js.map} +1 -1
- package/dist/{LUG7USNZ.js → MDE37STN.cjs} +29 -3
- package/dist/MDE37STN.cjs.map +1 -0
- package/dist/{OANFSFAO.js → N374V2RK.js} +15 -15
- package/dist/{OANFSFAO.js.map → N374V2RK.js.map} +1 -1
- package/dist/N75TYAV7.cjs +17 -0
- package/dist/{GJ24YLYE.cjs.map → N75TYAV7.cjs.map} +1 -1
- package/dist/{362ZLRXL.js → NE2GC3QQ.js} +5 -5
- package/dist/{362ZLRXL.js.map → NE2GC3QQ.js.map} +1 -1
- package/dist/{H7LPHZJT.js → NJHTTAZO.js} +8 -9
- package/dist/NJHTTAZO.js.map +1 -0
- package/dist/{FQUILSS5.js → NMDQTUBH.js} +6 -6
- package/dist/{FQUILSS5.js.map → NMDQTUBH.js.map} +1 -1
- package/dist/OBHJ2FSI.cjs +103 -0
- package/dist/OBHJ2FSI.cjs.map +1 -0
- package/dist/{ACDTMA6Q.cjs → OIQNGJJN.cjs} +15 -15
- package/dist/OIQNGJJN.cjs.map +1 -0
- package/dist/{FOFSZBOK.cjs → PGNYV6JB.cjs} +27 -27
- package/dist/{FOFSZBOK.cjs.map → PGNYV6JB.cjs.map} +1 -1
- package/dist/{5CI7X2D4.js → PQ4H7UWU.js} +5 -5
- package/dist/{5CI7X2D4.js.map → PQ4H7UWU.js.map} +1 -1
- package/dist/{F35TPZS3.js → PRZAVZZK.js} +9 -4
- package/dist/PRZAVZZK.js.map +1 -0
- package/dist/Q5L3QIKZ.cjs +825 -0
- package/dist/Q5L3QIKZ.cjs.map +1 -0
- package/dist/{GLJJOBCM.js → QBBWWA5T.js} +22 -16
- package/dist/QBBWWA5T.js.map +1 -0
- package/dist/QBO6KNUH.cjs +182 -0
- package/dist/QBO6KNUH.cjs.map +1 -0
- package/dist/{P5BPMTGP.cjs → QEUMSA6O.cjs} +90 -74
- package/dist/QEUMSA6O.cjs.map +1 -0
- package/dist/QHFDWPE3.js +28 -0
- package/dist/QHFDWPE3.js.map +1 -0
- package/dist/{M6KBN6B2.cjs → RX6UCCGP.cjs} +8 -8
- package/dist/{M6KBN6B2.cjs.map → RX6UCCGP.cjs.map} +1 -1
- package/dist/{L2LY6RIT.cjs → S5MXARAC.cjs} +10 -10
- package/dist/{L2LY6RIT.cjs.map → S5MXARAC.cjs.map} +1 -1
- package/dist/{X72XTEFE.js → SVR4SNIY.js} +5 -5
- package/dist/{X72XTEFE.js.map → SVR4SNIY.js.map} +1 -1
- package/dist/T3GK7LED.cjs +11 -0
- package/dist/{YNMZEV5X.cjs.map → T3GK7LED.cjs.map} +1 -1
- package/dist/{BVXMXRYL.cjs → TJ323KPL.cjs} +56 -56
- package/dist/{BVXMXRYL.cjs.map → TJ323KPL.cjs.map} +1 -1
- package/dist/{LMCIXUBF.js → TQHAG73D.js} +9 -43
- package/dist/TQHAG73D.js.map +1 -0
- package/dist/UFZOOGMQ.js +46 -0
- package/dist/UFZOOGMQ.js.map +1 -0
- package/dist/UOMNLT53.cjs +33 -0
- package/dist/UOMNLT53.cjs.map +1 -0
- package/dist/UUMDUUBJ.cjs +194 -0
- package/dist/UUMDUUBJ.cjs.map +1 -0
- package/dist/V3H2GSUQ.js +6 -0
- package/dist/V3H2GSUQ.js.map +1 -0
- package/dist/{TNPXNMQM.js → VM366GYK.js} +33 -13
- package/dist/VM366GYK.js.map +1 -0
- package/dist/{RH2W4KPM.js → WSES6SE2.js} +28 -30
- package/dist/WSES6SE2.js.map +1 -0
- package/dist/{UKPHRO5A.js → WXRRMF3Z.js} +4 -4
- package/dist/{UKPHRO5A.js.map → WXRRMF3Z.js.map} +1 -1
- package/dist/{VPKYL66J.cjs → WY7ZZTBQ.cjs} +2235 -2140
- package/dist/WY7ZZTBQ.cjs.map +1 -0
- package/dist/{6NIOUVPA.cjs → XFDJEDQJ.cjs} +10 -9
- package/dist/XFDJEDQJ.cjs.map +1 -0
- package/dist/{PUL6NSHI.cjs → XQXZQWDP.cjs} +10 -5
- package/dist/XQXZQWDP.cjs.map +1 -0
- package/dist/XROMTYOP.js +6 -0
- package/dist/{7BFNUKIW.js.map → XROMTYOP.js.map} +1 -1
- package/dist/XVWZAEKK.js +807 -0
- package/dist/XVWZAEKK.js.map +1 -0
- package/dist/Y76LNXBO.cjs +8 -0
- package/dist/{CYUSPBTH.cjs.map → Y76LNXBO.cjs.map} +1 -1
- package/dist/{ASYXJJD4.cjs → YEYJXWXC.cjs} +213 -213
- package/dist/{ASYXJJD4.cjs.map → YEYJXWXC.cjs.map} +1 -1
- package/dist/{7ZH64OYR.cjs → YOVSGKIQ.cjs} +1781 -749
- package/dist/YOVSGKIQ.cjs.map +1 -0
- package/dist/{MQTCD42Y.cjs → YXZATGN6.cjs} +74 -62
- package/dist/YXZATGN6.cjs.map +1 -0
- package/dist/ZGCH6KFP.cjs +354 -0
- package/dist/ZGCH6KFP.cjs.map +1 -0
- package/dist/{TXDLSUBD.js → ZQVRXHCJ.js} +1409 -393
- package/dist/ZQVRXHCJ.js.map +1 -0
- package/dist/commands/aptos.cjs +12 -12
- package/dist/commands/aptos.js +11 -11
- package/dist/commands/iota.cjs +13 -13
- package/dist/commands/iota.js +12 -12
- package/dist/commands/starknet.cjs +3 -3
- package/dist/commands/starknet.js +2 -2
- package/dist/commands/sui.cjs +13 -13
- package/dist/commands/sui.js +12 -12
- package/dist/commands/utility/sui-like.cjs +12 -12
- package/dist/commands/utility/sui-like.js +11 -11
- package/dist/config/docker-images.cjs +3 -3
- package/dist/config/docker-images.d.ts +21 -0
- package/dist/config/docker-images.d.ts.map +1 -1
- package/dist/config/docker-images.js +2 -2
- package/dist/config/docker-images.test.cjs +11 -11
- package/dist/config/docker-images.test.cjs.map +1 -1
- package/dist/config/docker-images.test.js +6 -6
- package/dist/config/index.cjs +13 -13
- package/dist/config/index.js +4 -4
- package/dist/config/tools.cjs +7 -7
- package/dist/config/tools.js +4 -4
- package/dist/config/version-matrices.cjs +3 -3
- package/dist/config/version-matrices.d.ts.map +1 -1
- package/dist/config/version-matrices.js +2 -2
- package/dist/core/index.cjs +12 -12
- package/dist/core/index.js +10 -10
- package/dist/core/lock.cjs +5 -5
- package/dist/core/lock.d.ts.map +1 -1
- package/dist/core/lock.js +2 -2
- package/dist/core/lock.test.cjs +13 -13
- package/dist/core/lock.test.cjs.map +1 -1
- package/dist/core/lock.test.js +5 -5
- package/dist/core/tool-executor.cjs +10 -10
- package/dist/core/tool-executor.js +9 -9
- package/dist/core/version-resolver.cjs +6 -6
- package/dist/core/version-resolver.js +5 -5
- package/dist/display/formatters.cjs +6 -6
- package/dist/display/formatters.js +5 -5
- package/dist/display/index.cjs +10 -10
- package/dist/display/index.js +7 -7
- package/dist/display/version-display.cjs +8 -8
- package/dist/display/version-display.js +6 -6
- package/dist/index.cjs +40 -40
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +24 -24
- package/dist/scripts/generate-github-matrix.cjs +304 -299
- package/dist/scripts/generate-github-matrix.cjs.map +1 -1
- package/dist/scripts/generate-github-matrix.js +31 -26
- package/dist/scripts/generate-github-matrix.js.map +1 -1
- package/dist/types/docker.cjs +3 -3
- package/dist/types/docker.js +2 -2
- package/dist/types/index.cjs +5 -5
- package/dist/types/index.js +4 -4
- package/dist/types/tool.cjs +2 -2
- package/dist/types/tool.js +2 -2
- package/dist/utils/docker.cjs +9 -9
- package/dist/utils/docker.js +5 -5
- package/dist/utils/error.cjs +3 -3
- package/dist/utils/error.js +2 -2
- package/dist/utils/finder.cjs +12 -12
- package/dist/utils/finder.js +4 -4
- package/dist/utils/version.cjs +8 -8
- package/dist/utils/version.js +4 -4
- package/dist/utils.cjs +6 -6
- package/dist/utils.js +4 -4
- package/package.json +5 -5
- package/dist/2AQAGKCU.cjs +0 -39
- package/dist/2AQAGKCU.cjs.map +0 -1
- package/dist/35BIBLTE.js.map +0 -1
- package/dist/4Q36MQI5.js +0 -2665
- package/dist/4Q36MQI5.js.map +0 -1
- package/dist/4RNWLMHM.js.map +0 -1
- package/dist/4SZ6P77Q.cjs +0 -183
- package/dist/4SZ6P77Q.cjs.map +0 -1
- package/dist/55HL3CFD.js.map +0 -1
- package/dist/6MCEHW2U.cjs.map +0 -1
- package/dist/6NIOUVPA.cjs.map +0 -1
- package/dist/6QZPR4XG.js +0 -6
- package/dist/6YTOLRHQ.js +0 -6
- package/dist/7BFNUKIW.js +0 -6
- package/dist/7R7EZF6Z.js +0 -177
- package/dist/7R7EZF6Z.js.map +0 -1
- package/dist/7ZH64OYR.cjs.map +0 -1
- package/dist/ACDTMA6Q.cjs.map +0 -1
- package/dist/AHQNBZE4.cjs +0 -18
- package/dist/AHQNBZE4.cjs.map +0 -1
- package/dist/AMF2EES3.cjs.map +0 -1
- package/dist/AOG2M3LV.cjs.map +0 -1
- package/dist/CYUSPBTH.cjs +0 -8
- package/dist/D3JHHTB6.js.map +0 -1
- package/dist/EDWLY6YP.js.map +0 -1
- package/dist/ELFNCT57.js.map +0 -1
- package/dist/F35TPZS3.js.map +0 -1
- package/dist/F7OAIAEX.cjs +0 -144
- package/dist/F7OAIAEX.cjs.map +0 -1
- package/dist/FL2DFW3Y.js.map +0 -1
- package/dist/GIS4KMDM.js +0 -6
- package/dist/GIS4KMDM.js.map +0 -1
- package/dist/GJ24YLYE.cjs +0 -17
- package/dist/GLJJOBCM.js.map +0 -1
- package/dist/GZ7KTF4Q.js +0 -16
- package/dist/GZ7KTF4Q.js.map +0 -1
- package/dist/H7LPHZJT.js.map +0 -1
- package/dist/HMP4FGDB.cjs.map +0 -1
- package/dist/IDMMHZJ3.cjs +0 -8
- package/dist/JGLHYXTW.cjs +0 -141
- package/dist/JGLHYXTW.cjs.map +0 -1
- package/dist/KSZMBVFB.cjs.map +0 -1
- package/dist/L3JULKNZ.js +0 -6
- package/dist/L3JULKNZ.js.map +0 -1
- package/dist/LH4V3GFX.cjs.map +0 -1
- package/dist/LMCIXUBF.js.map +0 -1
- package/dist/LUG7USNZ.js.map +0 -1
- package/dist/MQTCD42Y.cjs.map +0 -1
- package/dist/OH4A2VLX.js +0 -232
- package/dist/OH4A2VLX.js.map +0 -1
- package/dist/OT5L7ME6.cjs +0 -2710
- package/dist/OT5L7ME6.cjs.map +0 -1
- package/dist/OWTMHDOF.cjs +0 -88
- package/dist/OWTMHDOF.cjs.map +0 -1
- package/dist/P5BPMTGP.cjs.map +0 -1
- package/dist/PUL6NSHI.cjs.map +0 -1
- package/dist/RH2W4KPM.js.map +0 -1
- package/dist/S37YVMJL.js.map +0 -1
- package/dist/S3PHE6F2.cjs +0 -8
- package/dist/SHJCZ6NL.cjs.map +0 -1
- package/dist/TNPXNMQM.js.map +0 -1
- package/dist/TTKDG2NN.js +0 -134
- package/dist/TTKDG2NN.js.map +0 -1
- package/dist/TXDLSUBD.js.map +0 -1
- package/dist/U7VZULNU.cjs.map +0 -1
- package/dist/VLSIEZLM.js.map +0 -1
- package/dist/VPKYL66J.cjs.map +0 -1
- package/dist/VZOUGVXS.cjs.map +0 -1
- package/dist/WDAYI6EQ.js +0 -61
- package/dist/WDAYI6EQ.js.map +0 -1
- package/dist/WDSPHVPJ.cjs +0 -234
- package/dist/WDSPHVPJ.cjs.map +0 -1
- package/dist/WH45T4LS.cjs +0 -83
- package/dist/WH45T4LS.cjs.map +0 -1
- package/dist/XCMLC6HI.js.map +0 -1
- package/dist/XM743A75.js.map +0 -1
- package/dist/YIS2J6NC.js.map +0 -1
- package/dist/YNMZEV5X.cjs +0 -11
- package/dist/Z253B63X.cjs +0 -8
- package/dist/ZQFCLTYU.cjs +0 -65
- package/dist/ZQFCLTYU.cjs.map +0 -1
package/dist/6MCEHW2U.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/index.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/fxp.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/validator.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/util.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","../../../node_modules/.pnpm/strnum@2.1.1/node_modules/strnum/strnum.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/ignoreAttributes.js","../../../node_modules/.pnpm/fast-xml-parser@5.2.5/node_modules/fast-xml-parser/src/xmlparser/node2json.js","../../../node_modules/.pnpm/@aws-sdk+core@3.879.0/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/EndpointParameters.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/ruleset.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthExtensionConfiguration.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STS.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleCommand.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/models_0.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/STSServiceException.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/protocols/Aws_query.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/index.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/index.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultRoleAssumers.js","../../../node_modules/.pnpm/@aws-sdk+nested-clients@3.879.0/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js"],"names":["init_cjs_shims","nameStartChar","nameChar","nameRegexp","regexName","RegExp","getAllMatches","string","regex","matches","match","exec","allmatches","startIndex","lastIndex","length","len","index","push","isName","isExist","v","defaultOptions","allowBooleanAttributes","unpairedTags","validate","xmlData","options","Object","assign","tags","tagFound","reachedRoot","substr","i","readPI","err","tagStartPos","readCommentAndCDATA","closingTag","tagName","trim","substring","validateTagName","msg","getErrorObject","getLineNumberForPosition","result","readAttributeStr","attrStr","value","attrStrStart","isValid","validateAttributeString","code","line","tagClosed","otg","pop","openPos","col","indexOf","afterAmp","validateAmpersand","isWhiteSpace","JSON","stringify","map","t","replace","char","start","tagname","angleBracketsCount","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","undefined","attrName","validateAttrName","hasOwnProperty","validateNumberAmpersand","re","count","message","lineNumber","lines","split","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","__name","val","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","jPath","attrs","captureMetaData","buildOptions","METADATA_SYMBOL","Symbol","XmlNode","child","add","key","addChild","node","keys","getMetaDataSymbol","entities","hasBody","comment","exp","hasSeq","entityName","readEntityExp","regx","readElementExp","readNotationExp","Error","readDocType","skipWhitespace","data","test","validateEntityName","toUpperCase","entityValue","readIdentifierVal","notationName","identifierType","publicIdentifier","systemIdentifier","type","identifierVal","elementName","contentModel","seq","j","name","hexRegex","numRegex","consider","decimalPoint","str","trimmedStr","skipLike","parse_int","search","resolveEnotation","sign","numTrimmedByZeros","trimZeros","decimalAdjacentToLeadingZeros","num","Number","parsedStr","String","n","toNumber","eNotationRegx","notation","eChar","eAdjacentToLeadingZeros","startsWith","numStr","base","parseInt","window","Array","pattern","getIgnoreAttributesFn","OrderedObjParser","currentNode","tagsNodeStack","docTypeEntities","lastEntities","ampEntity","_","fromCodePoint","addExternalEntities","parseXml","parseTextData","resolveNameSpace","buildAttributesMap","isItStopNode","replaceEntitiesValue","readStopNodeData","saveTextToParentTag","ignoreAttributesFn","externalEntities","entKeys","ent","dontTrim","hasAttributes","isLeafNode","escapeEntities","newval","parseValue","trimmedVal","prefix","charAt","attrsRegx","oldVal","aName","newVal","attrCollection","xmlObj","xmlNode","textData","ch","closeIndex","findClosingIndex","colonIndex","lastTagName","lastIndexOf","propIndex","tagData","readTagExp","childNode","tagExp","attrExpPresent","endIndex","rawTagName","lastTag","tagContent","entity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","tagExpWithClosingIndex","closingChar","attrBoundary","errMsg","closingIndex","separatorIndex","trimStart","openTagCount","closeTagName","openTagName","shouldParse","compress","prettify","arr","text","compressedObj","tagObj","property","propName","newJpath","isLeaf","isLeafTag","assignAttributes","obj","attrMap","jpath","atrrName","propCount","XMLParser","parse","validationOption","toString","orderedObjParser","orderedResult","addEntity","parseXmlBody","streamBody","context","collectBodyString","then","encoded","parser","includes","parsedObj","e","defineProperty","parsedObjToReturn","getValueFromTextNode","parseXmlErrorBody","errorBody","Message","defaultSTSHttpAuthSchemeParametersProvider","config","input","operation","getSmithyContext","region","normalizeProvider","createAwsAuthSigv4HttpAuthOption","authParameters","schemeId","signingProperties","propertiesExtractor","createSmithyApiNoAuthHttpAuthOption","defaultSTSHttpAuthSchemeProvider","resolveStsAuthConfig","stsClientCtor","STSClient","resolveHttpAuthSchemeConfig","config_0","config_1","resolveAwsSdkSigV4Config","authSchemePreference","resolveClientEndpointParameters","useDualstackEndpoint","useFipsEndpoint","useGlobalEndpoint","defaultSigningName","commonParams","UseGlobalEndpoint","UseFIPS","Endpoint","Region","UseDualStack","F","G","H","I","J","a","b","c","d","f","g","h","k","l","m","o","p","q","r","s","u","w","x","y","z","A","B","C","D","E","_data","version","parameters","rules","conditions","endpoint","url","properties","authSchemes","signingName","signingRegion","headers","error","ruleSet","cache","EndpointCache","size","params","defaultEndpointResolver","endpointParams","get","resolveEndpoint","logger","customEndpointFunctions","aws","awsEndpointFunctions","getRuntimeConfig","apiVersion","base64Decoder","fromBase64","base64Encoder","toBase64","disableHostPrefix","endpointProvider","extensions","httpAuthSchemeProvider","httpAuthSchemes","identityProvider","ipc","getIdentityProvider","signer","AwsSdkSigV4Signer","NoAuthSigner","NoOpLogger","serviceId","urlParser","parseUrl","utf8Decoder","fromUtf8","utf8Encoder","toUtf8","emitWarningIfUnsupportedVersion","process","defaultsMode","resolveDefaultsModeConfig","defaultConfigProvider","loadConfigsForDefaultMode","clientSharedValues","getSharedRuntimeConfig","awsCheckVersion","loaderConfig","profile","runtime","loadNodeConfig","NODE_AUTH_SCHEME_PREFERENCE_OPTIONS","bodyLengthChecker","calculateBodyLength","defaultUserAgentProvider","createDefaultUserAgentProvider","clientVersion","packageInfo","idProps","credentialDefaultProvider","__config","maxAttempts","NODE_MAX_ATTEMPT_CONFIG_OPTIONS","NODE_REGION_CONFIG_OPTIONS","NODE_REGION_CONFIG_FILE_OPTIONS","requestHandler","RequestHandler","create","retryMode","NODE_RETRY_MODE_CONFIG_OPTIONS","default","DEFAULT_RETRY_MODE","sha256","Hash","bind","streamCollector","NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS","NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS","userAgentAppId","NODE_APP_ID_CONFIG_OPTIONS","getHttpAuthExtensionConfiguration","runtimeConfig","_httpAuthSchemes","_httpAuthSchemeProvider","_credentials","credentials","setHttpAuthScheme","httpAuthScheme","findIndex","scheme","splice","setHttpAuthSchemeProvider","setCredentials","resolveHttpAuthRuntimeConfig","resolveRuntimeExtensions","extensionConfiguration","getAwsRegionExtensionConfiguration","getDefaultExtensionConfiguration","getHttpHandlerExtensionConfiguration","forEach","extension","configure","resolveAwsRegionExtensionConfiguration","resolveDefaultRuntimeConfig","resolveHttpHandlerRuntimeConfig","__Client","configuration","_config_0","__getRuntimeConfig","initConfig","_config_1","_config_2","resolveUserAgentConfig","_config_3","resolveRetryConfig","_config_4","resolveRegionConfig","_config_5","resolveHostHeaderConfig","_config_6","resolveEndpointConfig","_config_7","_config_8","middlewareStack","use","getUserAgentPlugin","getRetryPlugin","getContentLengthPlugin","getHostHeaderPlugin","getLoggerPlugin","getRecursionDetectionPlugin","getHttpAuthSchemeEndpointRuleSetPlugin","httpAuthSchemeParametersProvider","identityProviderConfigProvider","DefaultIdentityProviderConfig","getHttpSigningPlugin","destroy","STSServiceException","__ServiceException","setPrototypeOf","prototype","CredentialsFilterSensitiveLog","SecretAccessKey","SENSITIVE_STRING","AssumeRoleResponseFilterSensitiveLog","Credentials","ExpiredTokenException","__BaseException","$fault","opts","MalformedPolicyDocumentException","PackedPolicyTooLargeException","RegionDisabledException","IDPRejectedClaimException","InvalidIdentityTokenException","AssumeRoleWithWebIdentityRequestFilterSensitiveLog","WebIdentityToken","AssumeRoleWithWebIdentityResponseFilterSensitiveLog","IDPCommunicationErrorException","se_AssumeRoleCommand","SHARED_HEADERS","body","buildFormUrlencodedString","se_AssumeRoleRequest","_A","_AR","_V","buildHttpRpcRequest","se_AssumeRoleWithWebIdentityCommand","se_AssumeRoleWithWebIdentityRequest","_ARWWI","de_AssumeRoleCommand","output","statusCode","de_CommandError","parseBody","contents","de_AssumeRoleResponse","AssumeRoleResult","response","$metadata","deserializeMetadata","de_AssumeRoleWithWebIdentityCommand","de_AssumeRoleWithWebIdentityResponse","AssumeRoleWithWebIdentityResult","parsedOutput","parseErrorBody","errorCode","loadQueryErrorCode","de_ExpiredTokenExceptionRes","de_MalformedPolicyDocumentExceptionRes","de_PackedPolicyTooLargeExceptionRes","de_RegionDisabledExceptionRes","de_IDPCommunicationErrorExceptionRes","de_IDPRejectedClaimExceptionRes","de_InvalidIdentityTokenExceptionRes","parsedBody","throwDefaultError","deserialized","de_ExpiredTokenException","exception","__decorateServiceException","de_IDPCommunicationErrorException","de_IDPRejectedClaimException","de_InvalidIdentityTokenException","de_MalformedPolicyDocumentException","de_PackedPolicyTooLargeException","de_RegionDisabledException","entries","_RA","_RSN","_PA","memberEntries","se_policyDescriptorListType","PolicyArns","loc","_P","_DS","_T","se_tagListType","Tags","_TTK","se_tagKeyListType","TransitiveTagKeys","_EI","_SN","_TC","_SI","_PC","se_ProvidedContextsListType","ProvidedContexts","_WIT","_PI","counter","entry","se_PolicyDescriptorType","_a","se_ProvidedContext","_PAr","_CA","se_Tag","_K","_Va","de_AssumedRoleUser","_ARI","__expectString","_Ar","_C","de_Credentials","_ARU","_PPS","__strictParseInt32","_SFWIT","_Pr","_Au","_AKI","_SAK","_ST","_E","__expectNonNull","__parseRfc3339DateTimeWithOffset","_m","httpStatusCode","requestId","extendedRequestId","cfId","withBaseException","path","resolvedHostname","hostname","protocol","port","basePath","method","endsWith","slice","__HttpRequest","formEntries","__extendedEncodeURIComponent","join","Code","AssumeRoleCommand","$Command","classBuilder","ep","Command","cs","getSerdePlugin","serialize","deserialize","getEndpointPlugin","getEndpointParameterInstructions","ser","de","build","AssumeRoleWithWebIdentityCommand","commands","STS","createAggregatedClient","ASSUME_ROLE_DEFAULT_REGION","getAccountIdFromAssumedRoleUser","assumedRoleUser","Arn","arnComponents","resolveRegion","_region","_parentRegion","credentialProviderLogger","parentRegion","debug","getDefaultRoleAssumer","stsOptions","stsClient","closureSourceCreds","sourceCreds","parentClientConfig","resolvedRegion","isCompatibleRequestHandler","isH2","AssumedRoleUser","send","AccessKeyId","RoleArn","accountId","accessKeyId","secretAccessKey","sessionToken","SessionToken","expiration","Expiration","CredentialScope","credentialScope","setCredentialFeature","getDefaultRoleAssumerWithWebIdentity","metadata","handlerProtocol","getCustomizableStsClientCtor","baseCtor","customizations","CustomizableSTSClient","customization","stsPlugins","StsGetDefaultRoleAssumer","StsGetDefaultRoleAssumerWithWebIdentity","decorateDefaultCredentialProvider","provider","roleAssumer","roleAssumerWithWebIdentity"],"mappings":";;;;;;;;;;;;;;;AAAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;AAEA,IAAMC,aAAAA,GAAgB,+KAAA;AACtB,IAAMC,WAAWD,aAAAA,GAAgB,8CAAA;AAC1B,IAAME,UAAAA,GAAa,GAAA,GAAMF,aAAAA,GAAgB,IAAA,GAAOC,QAAAA,GAAW,IAAA;AAClE,IAAME,SAAAA,GAAY,IAAIC,MAAAA,CAAO,GAAA,GAAMF,aAAa,GAAA,CAAA;AAEzC,SAASG,aAAAA,CAAcC,QAAQC,KAAAA,EAAK;AACzC,EAAA,MAAMC,UAAU,EAAA;AAChB,EAAA,IAAIC,KAAAA,GAAQF,KAAAA,CAAMG,IAAAA,CAAKJ,MAAAA,CAAAA;AACvB,EAAA,OAAOG,KAAAA,EAAO;AACZ,IAAA,MAAME,aAAa,EAAA;AACnBA,IAAAA,UAAAA,CAAWC,UAAAA,GAAaL,KAAAA,CAAMM,SAAAA,GAAYJ,KAAAA,CAAM,CAAA,CAAA,CAAGK,MAAAA;AACnD,IAAA,MAAMC,MAAMN,KAAAA,CAAMK,MAAAA;AAClB,IAAA,KAAA,IAASE,KAAAA,GAAQ,CAAA,EAAGA,KAAAA,GAAQD,GAAAA,EAAKC,KAAAA,EAAAA,EAAS;AACxCL,MAAAA,UAAAA,CAAWM,IAAAA,CAAKR,KAAAA,CAAMO,KAAAA,CAAM,CAAA;AAC9B,IAAA;AACAR,IAAAA,OAAAA,CAAQS,KAAKN,UAAAA,CAAAA;AACbF,IAAAA,KAAAA,GAAQF,KAAAA,CAAMG,KAAKJ,MAAAA,CAAAA;AACrB,EAAA;AACA,EAAA,OAAOE,OAAAA;AACT;AAdgBH,mBAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAgBT,IAAMa,MAAAA,gDAAkBZ,MAAAA,EAAM;AACnC,EAAA,MAAMG,KAAAA,GAAQN,SAAAA,CAAUO,IAAAA,CAAKJ,MAAAA,CAAAA;AAC7B,EAAA,OAAO,EAAEG,KAAAA,KAAU,IAAA,IAAQ,OAAOA,KAAAA,KAAU,WAAA,CAAA;AAC9C,CAAA,EAHsB,QAAA,CAAA;AAKf,SAASU,QAAQC,EAAAA,EAAC;AACvB,EAAA,OAAO,OAAOA,EAAAA,KAAM,WAAA;AACtB;AAFgBD,mBAAAA,CAAAA,OAAAA,EAAAA,SAAAA,CAAAA;;;ADxBhB,IAAME,cAAAA,GAAiB;EACrBC,sBAAAA,EAAwB,KAAA;AACxBC,EAAAA,YAAAA,EAAc;AAChB,CAAA;AAGO,SAASC,QAAAA,CAASC,SAASC,OAAAA,EAAO;AACvCA,EAAAA,OAAAA,GAAUC,MAAAA,CAAOC,MAAAA,CAAO,EAAC,EAAGP,gBAAgBK,OAAAA,CAAAA;AAK5C,EAAA,MAAMG,OAAO,EAAA;AACb,EAAA,IAAIC,QAAAA,GAAW,KAAA;AAGf,EAAA,IAAIC,WAAAA,GAAc,KAAA;AAElB,EAAA,IAAIN,OAAAA,CAAQ,CAAA,CAAA,KAAO,QAAA,EAAU;AAE3BA,IAAAA,OAAAA,GAAUA,OAAAA,CAAQO,OAAO,CAAA,CAAA;AAC3B,EAAA;AAEA,EAAA,KAAA,IAASC,EAAAA,GAAI,CAAA,EAAGA,EAAAA,GAAIR,OAAAA,CAAQX,QAAQmB,EAAAA,EAAAA,EAAK;AAEvC,IAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,IAAOR,QAAQQ,EAAAA,GAAE,CAAA,MAAO,GAAA,EAAK;AAC9CA,MAAAA,EAAAA,IAAG,CAAA;AACHA,MAAAA,EAAAA,GAAIC,MAAAA,CAAOT,OAAAA,EAAQQ,EAAAA,CAAAA;AACnB,MAAA,IAAIA,EAAAA,CAAEE,KAAK,OAAOF,EAAAA;IACpB,CAAA,MAAA,IAAUR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AAG5B,MAAA,IAAIG,WAAAA,GAAcH,EAAAA;AAClBA,MAAAA,EAAAA,EAAAA;AAEA,MAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AACtBA,QAAAA,EAAAA,GAAII,mBAAAA,CAAoBZ,OAAAA,EAASQ,EAAAA,CAAAA;AACjC,QAAA;MACF,CAAA,MAAO;AACL,QAAA,IAAIK,UAAAA,GAAa,KAAA;AACjB,QAAA,IAAIb,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AAEtBK,UAAAA,UAAAA,GAAa,IAAA;AACbL,UAAAA,EAAAA,EAAAA;AACF,QAAA;AAEA,QAAA,IAAIM,OAAAA,GAAU,EAAA;AACd,QAAA,OAAON,EAAAA,GAAIR,QAAQX,MAAAA,IACjBW,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,IACfR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,IACfR,QAAQQ,EAAAA,CAAAA,KAAO,GAAA,IACfR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,QACfR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,IAAA,EAAMA,EAAAA,EAAAA,EACrB;AACAM,UAAAA,OAAAA,IAAWd,QAAQQ,EAAAA,CAAAA;AACrB,QAAA;AACAM,QAAAA,OAAAA,GAAUA,QAAQC,IAAAA,EAAI;AAGtB,QAAA,IAAID,OAAAA,CAAQA,OAAAA,CAAQzB,MAAAA,GAAS,CAAA,MAAO,GAAA,EAAK;AAEvCyB,UAAAA,OAAAA,GAAUA,OAAAA,CAAQE,SAAAA,CAAU,CAAA,EAAGF,OAAAA,CAAQzB,SAAS,CAAA,CAAA;AAEhDmB,UAAAA,EAAAA,EAAAA;AACF,QAAA;AACA,QAAA,IAAI,CAACS,eAAAA,CAAgBH,OAAAA,CAAAA,EAAU;AAC7B,UAAA,IAAII,GAAAA;AACJ,UAAA,IAAIJ,OAAAA,CAAQC,IAAAA,EAAI,CAAG1B,MAAAA,KAAW,CAAA,EAAG;AAC/B6B,YAAAA,GAAAA,GAAM,0BAAA;UACR,CAAA,MAAO;AACLA,YAAAA,GAAAA,GAAM,UAAQJ,OAAAA,GAAQ,uBAAA;AACxB,UAAA;AACA,UAAA,OAAOK,eAAe,YAAA,EAAcD,GAAAA,EAAKE,wBAAAA,CAAyBpB,OAAAA,EAASQ,EAAAA,CAAAA,CAAAA;AAC7E,QAAA;AAEA,QAAA,MAAMa,MAAAA,GAASC,gBAAAA,CAAiBtB,OAAAA,EAASQ,EAAAA,CAAAA;AACzC,QAAA,IAAIa,WAAW,KAAA,EAAO;AACpB,UAAA,OAAOF,cAAAA,CAAe,eAAe,kBAAA,GAAmBL,OAAAA,GAAQ,sBAAsBM,wBAAAA,CAAyBpB,OAAAA,EAASQ,EAAAA,CAAAA,CAAAA;AAC1H,QAAA;AACA,QAAA,IAAIe,UAAUF,MAAAA,CAAOG,KAAAA;AACrBhB,QAAAA,KAAIa,MAAAA,CAAO9B,KAAAA;AAEX,QAAA,IAAIgC,OAAAA,CAAQA,OAAAA,CAAQlC,MAAAA,GAAS,CAAA,MAAO,GAAA,EAAK;AAEvC,UAAA,MAAMoC,YAAAA,GAAejB,KAAIe,OAAAA,CAAQlC,MAAAA;AACjCkC,UAAAA,OAAAA,GAAUA,OAAAA,CAAQP,SAAAA,CAAU,CAAA,EAAGO,OAAAA,CAAQlC,SAAS,CAAA,CAAA;AAChD,UAAA,MAAMqC,OAAAA,GAAUC,uBAAAA,CAAwBJ,OAAAA,EAAStB,OAAAA,CAAAA;AACjD,UAAA,IAAIyB,YAAY,IAAA,EAAM;AACpBrB,YAAAA,QAAAA,GAAW,IAAA;UAEb,CAAA,MAAO;AAIL,YAAA,OAAOc,cAAAA,CAAeO,OAAAA,CAAQhB,GAAAA,CAAIkB,IAAAA,EAAMF,OAAAA,CAAQhB,GAAAA,CAAIQ,GAAAA,EAAKE,wBAAAA,CAAyBpB,OAAAA,EAASyB,YAAAA,GAAeC,OAAAA,CAAQhB,GAAAA,CAAImB,IAAI,CAAA,CAAA;AAC5H,UAAA;AACF,QAAA,CAAA,MAAA,IAAWhB,UAAAA,EAAY;AACrB,UAAA,IAAI,CAACQ,OAAOS,SAAAA,EAAW;AACrB,YAAA,OAAOX,cAAAA,CAAe,cAAc,eAAA,GAAgBL,OAAAA,GAAQ,kCAAkCM,wBAAAA,CAAyBpB,OAAAA,EAASQ,EAAAA,CAAAA,CAAAA;AAClI,UAAA,CAAA,MAAA,IAAWe,OAAAA,CAAQR,IAAAA,EAAI,CAAG1B,MAAAA,GAAS,CAAA,EAAG;AACpC,YAAA,OAAO8B,cAAAA,CAAe,cAAc,eAAA,GAAgBL,OAAAA,GAAQ,gDAAgDM,wBAAAA,CAAyBpB,OAAAA,EAASW,WAAAA,CAAAA,CAAAA;UAChJ,CAAA,MAAA,IAAWP,IAAAA,CAAKf,WAAW,CAAA,EAAG;AAC5B,YAAA,OAAO8B,cAAAA,CAAe,cAAc,eAAA,GAAgBL,OAAAA,GAAQ,0BAA0BM,wBAAAA,CAAyBpB,OAAAA,EAASW,WAAAA,CAAAA,CAAAA;UAC1H,CAAA,MAAO;AACL,YAAA,MAAMoB,GAAAA,GAAM3B,KAAK4B,GAAAA,EAAG;AACpB,YAAA,IAAIlB,OAAAA,KAAYiB,IAAIjB,OAAAA,EAAS;AAC3B,cAAA,IAAImB,OAAAA,GAAUb,wBAAAA,CAAyBpB,OAAAA,EAAS+B,GAAAA,CAAIpB,WAAW,CAAA;AAC/D,cAAA,OAAOQ,eAAe,YAAA,EACpB,wBAAA,GAAyBY,GAAAA,CAAIjB,OAAAA,GAAQ,uBAAqBmB,OAAAA,CAAQJ,IAAAA,GAAK,QAAA,GAASI,OAAAA,CAAQC,MAAI,4BAAA,GAA6BpB,OAAAA,GAAQ,MACjIM,wBAAAA,CAAyBpB,OAAAA,EAASW,WAAAA,CAAAA,CAAAA;AACtC,YAAA;AAGA,YAAA,IAAIP,IAAAA,CAAKf,UAAU,CAAA,EAAG;AACpBiB,cAAAA,WAAAA,GAAc,IAAA;AAChB,YAAA;AACF,UAAA;QACF,CAAA,MAAO;AACL,UAAA,MAAMoB,OAAAA,GAAUC,uBAAAA,CAAwBJ,OAAAA,EAAStB,OAAAA,CAAAA;AACjD,UAAA,IAAIyB,YAAY,IAAA,EAAM;AAIpB,YAAA,OAAOP,cAAAA,CAAeO,OAAAA,CAAQhB,GAAAA,CAAIkB,IAAAA,EAAMF,QAAQhB,GAAAA,CAAIQ,GAAAA,EAAKE,wBAAAA,CAAyBpB,OAAAA,EAASQ,KAAIe,OAAAA,CAAQlC,MAAAA,GAASqC,OAAAA,CAAQhB,GAAAA,CAAImB,IAAI,CAAA,CAAA;AAClI,UAAA;AAGA,UAAA,IAAIvB,gBAAgB,IAAA,EAAM;AACxB,YAAA,OAAOa,eAAe,YAAA,EAAc,qCAAA,EAAuCC,wBAAAA,CAAyBpB,OAAAA,EAASQ,EAAAA,CAAAA,CAAAA;AAC/G,UAAA,CAAA,MAAA,IAAUP,OAAAA,CAAQH,YAAAA,CAAaqC,OAAAA,CAAQrB,OAAAA,MAAa,EAAA,EAAG,CAEvD,MAAO;AACLV,YAAAA,IAAAA,CAAKZ,IAAAA,CAAK;AAACsB,cAAAA,OAAAA;AAASH,cAAAA;aAAW,CAAA;AACjC,UAAA;AACAN,UAAAA,QAAAA,GAAW,IAAA;AACb,QAAA;AAIA,QAAA,KAAKG,EAAAA,EAAAA,EAAKA,EAAAA,GAAIR,OAAAA,CAAQX,MAAAA,EAAQmB,EAAAA,EAAAA,EAAK;AACjC,UAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AACtB,YAAA,IAAIR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,EAAK;AAE1BA,cAAAA,EAAAA,EAAAA;AACAA,cAAAA,EAAAA,GAAII,mBAAAA,CAAoBZ,OAAAA,EAASQ,EAAAA,CAAAA;AACjC,cAAA;AACF,YAAA,CAAA,MAAA,IAAWR,OAAAA,CAAQQ,EAAAA,GAAE,CAAA,CAAA,KAAO,GAAA,EAAK;AAC/BA,cAAAA,EAAAA,GAAIC,MAAAA,CAAOT,OAAAA,EAAS,EAAEQ,EAAAA,CAAAA;AACtB,cAAA,IAAIA,EAAAA,CAAEE,KAAK,OAAOF,EAAAA;YACpB,CAAA,MAAM;AACJ,cAAA;AACF,YAAA;UACF,CAAA,MAAA,IAAWR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AAC7B,YAAA,MAAM4B,QAAAA,GAAWC,iBAAAA,CAAkBrC,OAAAA,EAASQ,EAAAA,CAAAA;AAC5C,YAAA,IAAI4B,QAAAA,IAAY,IACd,OAAOjB,cAAAA,CAAe,eAAe,2BAAA,EAA6BC,wBAAAA,CAAyBpB,OAAAA,EAASQ,EAAAA,CAAAA,CAAAA;AACtGA,YAAAA,EAAAA,GAAI4B,QAAAA;UACN,CAAA,MAAK;AACH,YAAA,IAAI9B,gBAAgB,IAAA,IAAQ,CAACgC,aAAatC,OAAAA,CAAQQ,EAAAA,CAAE,CAAA,EAAG;AACrD,cAAA,OAAOW,eAAe,YAAA,EAAc,uBAAA,EAAyBC,wBAAAA,CAAyBpB,OAAAA,EAASQ,EAAAA,CAAAA,CAAAA;AACjG,YAAA;AACF,UAAA;AACF,QAAA;AACA,QAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AACtBA,UAAAA,EAAAA,EAAAA;AACF,QAAA;AACF,MAAA;IACF,CAAA,MAAO;AACL,MAAA,IAAK8B,YAAAA,CAAatC,OAAAA,CAAQQ,EAAAA,CAAE,CAAA,EAAG;AAC7B,QAAA;AACF,MAAA;AACA,MAAA,OAAOW,cAAAA,CAAe,aAAA,EAAe,QAAA,GAASnB,OAAAA,CAAQQ,EAAAA,IAAG,oBAAA,EAAsBY,wBAAAA,CAAyBpB,OAAAA,EAASQ,EAAAA,CAAAA,CAAAA;AACnH,IAAA;AACF,EAAA;AAEA,EAAA,IAAI,CAACH,QAAAA,EAAU;AACb,IAAA,OAAOc,cAAAA,CAAe,YAAA,EAAc,qBAAA,EAAuB,CAAA,CAAA;EAC7D,CAAA,MAAA,IAAUf,IAAAA,CAAKf,UAAU,CAAA,EAAG;AACxB,IAAA,OAAO8B,cAAAA,CAAe,YAAA,EAAc,gBAAA,GAAiBf,IAAAA,CAAK,CAAA,CAAA,CAAGU,OAAAA,GAAQ,IAAA,EAAMM,wBAAAA,CAAyBpB,OAAAA,EAASI,IAAAA,CAAK,CAAA,CAAA,CAAGO,WAAW,CAAA,CAAA;EACpI,CAAA,MAAA,IAAUP,IAAAA,CAAKf,SAAS,CAAA,EAAG;AACvB,IAAA,OAAO8B,eAAe,YAAA,EAAc,WAAA,GAChCoB,KAAKC,SAAAA,CAAUpC,IAAAA,CAAKqC,IAAIC,CAAAA,EAAAA,KAAKA,GAAE5B,OAAO,CAAA,EAAG,MAAM,CAAA,CAAA,CAAG6B,QAAQ,QAAA,EAAU,EAAA,IACpE,UAAA,EAAY;MAACd,IAAAA,EAAM,CAAA;MAAGK,GAAAA,EAAK;KAAC,CAAA;AACpC,EAAA;AAEA,EAAA,OAAO,IAAA;AACT;AApLgBnC,mBAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAsLhB,SAASuC,aAAaM,IAAAA,EAAI;AACxB,EAAA,OAAOA,SAAS,GAAA,IAAOA,IAAAA,KAAS,GAAA,IAAQA,IAAAA,KAAS,QAASA,IAAAA,KAAS,IAAA;AACrE;AAFSN,mBAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAQT,SAAS7B,MAAAA,CAAOT,SAASQ,EAAAA,EAAC;AACxB,EAAA,MAAMqC,KAAAA,GAAQrC,EAAAA;AACd,EAAA,OAAOA,EAAAA,GAAIR,OAAAA,CAAQX,MAAAA,EAAQmB,EAAAA,EAAAA,EAAK;AAC9B,IAAA,IAAIR,QAAQQ,EAAAA,CAAAA,IAAM,OAAOR,OAAAA,CAAQQ,EAAAA,KAAM,GAAA,EAAK;AAE1C,MAAA,MAAMsC,OAAAA,GAAU9C,OAAAA,CAAQO,MAAAA,CAAOsC,KAAAA,EAAOrC,KAAIqC,KAAAA,CAAAA;AAC1C,MAAA,IAAIrC,EAAAA,GAAI,CAAA,IAAKsC,OAAAA,KAAY,KAAA,EAAO;AAC9B,QAAA,OAAO3B,eAAe,YAAA,EAAc,4DAAA,EAA8DC,wBAAAA,CAAyBpB,OAAAA,EAASQ,EAAAA,CAAAA,CAAAA;MACtI,CAAA,MAAA,IAAWR,OAAAA,CAAQQ,EAAAA,CAAAA,IAAM,GAAA,IAAOR,QAAQQ,EAAAA,GAAI,CAAA,KAAM,GAAA,EAAK;AAErDA,QAAAA,EAAAA,EAAAA;AACA,QAAA;MACF,CAAA,MAAO;AACL,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AACA,EAAA,OAAOA,EAAAA;AACT;AAlBSC,mBAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA;AAoBT,SAASG,mBAAAA,CAAoBZ,SAASQ,EAAAA,EAAC;AACrC,EAAA,IAAIR,OAAAA,CAAQX,MAAAA,GAASmB,EAAAA,GAAI,CAAA,IAAKR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IAAOR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,MAAO,GAAA,EAAK;AAE9E,IAAA,KAAKA,EAAAA,IAAK,CAAA,EAAGA,EAAAA,GAAIR,OAAAA,CAAQX,QAAQmB,EAAAA,EAAAA,EAAK;AACpC,MAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,IAAOR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IAAOR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,MAAO,GAAA,EAAK;AAC1EA,QAAAA,EAAAA,IAAK,CAAA;AACL,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA,CAAA,MAAA,IACER,QAAQX,MAAAA,GAASmB,EAAAA,GAAI,CAAA,IACrBR,OAAAA,CAAQQ,KAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,KAAI,CAAA,CAAA,KAAO,OACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,QAAQQ,EAAAA,GAAI,CAAA,MAAO,GAAA,EACnB;AACA,IAAA,IAAIuC,kBAAAA,GAAqB,CAAA;AACzB,IAAA,KAAKvC,EAAAA,IAAK,CAAA,EAAGA,EAAAA,GAAIR,OAAAA,CAAQX,QAAQmB,EAAAA,EAAAA,EAAK;AACpC,MAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AACtBuC,QAAAA,kBAAAA,EAAAA;MACF,CAAA,MAAA,IAAW/C,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AAC7BuC,QAAAA,kBAAAA,EAAAA;AACA,QAAA,IAAIA,uBAAuB,CAAA,EAAG;AAC5B,UAAA;AACF,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA,CAAA,MAAA,IACE/C,QAAQX,MAAAA,GAASmB,EAAAA,GAAI,CAAA,IACrBR,OAAAA,CAAQQ,KAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,KAAI,CAAA,CAAA,KAAO,OACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,QAAQQ,EAAAA,GAAI,CAAA,MAAO,GAAA,EACnB;AACA,IAAA,KAAKA,EAAAA,IAAK,CAAA,EAAGA,EAAAA,GAAIR,OAAAA,CAAQX,QAAQmB,EAAAA,EAAAA,EAAK;AACpC,MAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,IAAOR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IAAOR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,MAAO,GAAA,EAAK;AAC1EA,QAAAA,EAAAA,IAAK,CAAA;AACL,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AAEA,EAAA,OAAOA,EAAAA;AACT;AAjDSI,mBAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAmDT,IAAMoC,WAAAA,GAAc,GAAA;AACpB,IAAMC,WAAAA,GAAc,GAAA;AAOpB,SAAS3B,gBAAAA,CAAiBtB,SAASQ,EAAAA,EAAC;AAClC,EAAA,IAAIe,OAAAA,GAAU,EAAA;AACd,EAAA,IAAI2B,SAAAA,GAAY,EAAA;AAChB,EAAA,IAAIpB,SAAAA,GAAY,KAAA;AAChB,EAAA,OAAOtB,EAAAA,GAAIR,OAAAA,CAAQX,MAAAA,EAAQmB,EAAAA,EAAAA,EAAK;AAC9B,IAAA,IAAIR,QAAQQ,EAAAA,CAAAA,KAAOwC,eAAehD,OAAAA,CAAQQ,EAAAA,MAAOyC,WAAAA,EAAa;AAC5D,MAAA,IAAIC,cAAc,EAAA,EAAI;AACpBA,QAAAA,SAAAA,GAAYlD,QAAQQ,EAAAA,CAAAA;MACtB,CAAA,MAAA,IAAW0C,SAAAA,KAAclD,OAAAA,CAAQQ,EAAAA,CAAAA,EAAI,CAErC,MAAO;AACL0C,QAAAA,SAAAA,GAAY,EAAA;AACd,MAAA;IACF,CAAA,MAAA,IAAWlD,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AAC7B,MAAA,IAAI0C,cAAc,EAAA,EAAI;AACpBpB,QAAAA,SAAAA,GAAY,IAAA;AACZ,QAAA;AACF,MAAA;AACF,IAAA;AACAP,IAAAA,OAAAA,IAAWvB,QAAQQ,EAAAA,CAAAA;AACrB,EAAA;AACA,EAAA,IAAI0C,cAAc,EAAA,EAAI;AACpB,IAAA,OAAO,KAAA;AACT,EAAA;AAEA,EAAA,OAAO;IACL1B,KAAAA,EAAOD,OAAAA;IACPhC,KAAAA,EAAOiB,EAAAA;AACPsB,IAAAA;AACF,GAAA;AACF;AA9BSR,mBAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAmCT,IAAM6B,iBAAAA,GAAoB,IAAIxE,MAAAA,CAAO,CAAA,sDAAA,CAAA,EAA2D,GAAA,CAAA;AAIhG,SAASgD,uBAAAA,CAAwBJ,SAAStB,OAAAA,EAAO;AAK/C,EAAA,MAAMlB,OAAAA,GAAUH,aAAAA,CAAc2C,OAAAA,EAAS4B,iBAAAA,CAAAA;AACvC,EAAA,MAAMC,YAAY,EAAC;AAEnB,EAAA,KAAA,IAAS5C,EAAAA,GAAI,CAAA,EAAGA,EAAAA,GAAIzB,OAAAA,CAAQM,QAAQmB,EAAAA,EAAAA,EAAK;AACvC,IAAA,IAAIzB,QAAQyB,EAAAA,CAAAA,CAAG,CAAA,CAAA,CAAGnB,WAAW,CAAA,EAAG;AAE9B,MAAA,OAAO8B,cAAAA,CAAe,aAAA,EAAe,aAAA,GAAcpC,OAAAA,CAAQyB,EAAAA,CAAAA,CAAG,CAAA,CAAA,GAAG,6BAAA,EAA+B6C,oBAAAA,CAAqBtE,OAAAA,CAAQyB,EAAAA,CAAE,CAAA,CAAA;IACjI,CAAA,MAAA,IAAWzB,OAAAA,CAAQyB,EAAAA,CAAAA,CAAG,CAAA,CAAA,KAAO8C,MAAAA,IAAavE,OAAAA,CAAQyB,EAAAA,CAAAA,CAAG,CAAA,CAAA,KAAO8C,MAAAA,EAAW;AACrE,MAAA,OAAOnC,cAAAA,CAAe,aAAA,EAAe,aAAA,GAAcpC,OAAAA,CAAQyB,EAAAA,CAAAA,CAAG,CAAA,CAAA,GAAG,qBAAA,EAAuB6C,oBAAAA,CAAqBtE,OAAAA,CAAQyB,EAAAA,CAAE,CAAA,CAAA;IACzH,CAAA,MAAA,IAAWzB,OAAAA,CAAQyB,EAAAA,CAAAA,CAAG,CAAA,MAAO8C,MAAAA,IAAa,CAACrD,QAAQJ,sBAAAA,EAAwB;AAEzE,MAAA,OAAOsB,cAAAA,CAAe,aAAA,EAAe,qBAAA,GAAsBpC,OAAAA,CAAQyB,EAAAA,CAAAA,CAAG,CAAA,CAAA,GAAG,mBAAA,EAAqB6C,oBAAAA,CAAqBtE,OAAAA,CAAQyB,EAAAA,CAAE,CAAA,CAAA;AAC/H,IAAA;AAIA,IAAA,MAAM+C,QAAAA,GAAWxE,OAAAA,CAAQyB,EAAAA,CAAAA,CAAG,CAAA,CAAA;AAC5B,IAAA,IAAI,CAACgD,gBAAAA,CAAiBD,QAAAA,CAAAA,EAAW;AAC/B,MAAA,OAAOpC,cAAAA,CAAe,eAAe,aAAA,GAAcoC,QAAAA,GAAS,yBAAyBF,oBAAAA,CAAqBtE,OAAAA,CAAQyB,EAAAA,CAAE,CAAA,CAAA;AACtH,IAAA;AACA,IAAA,IAAI,CAAC4C,SAAAA,CAAUK,cAAAA,CAAeF,QAAAA,CAAAA,EAAW;AAEvCH,MAAAA,SAAAA,CAAUG,QAAAA,CAAAA,GAAY,CAAA;IACxB,CAAA,MAAO;AACL,MAAA,OAAOpC,cAAAA,CAAe,eAAe,aAAA,GAAcoC,QAAAA,GAAS,kBAAkBF,oBAAAA,CAAqBtE,OAAAA,CAAQyB,EAAAA,CAAE,CAAA,CAAA;AAC/G,IAAA;AACF,EAAA;AAEA,EAAA,OAAO,IAAA;AACT;AAlCSmB,mBAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AAoCT,SAAS+B,uBAAAA,CAAwB1D,SAASQ,EAAAA,EAAC;AACzC,EAAA,IAAImD,EAAAA,GAAK,IAAA;AACT,EAAA,IAAI3D,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AACtBA,IAAAA,EAAAA,EAAAA;AACAmD,IAAAA,EAAAA,GAAK,YAAA;AACP,EAAA;AACA,EAAA,OAAOnD,EAAAA,GAAIR,OAAAA,CAAQX,MAAAA,EAAQmB,EAAAA,EAAAA,EAAK;AAC9B,IAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EACjB,OAAOA,EAAAA;AACT,IAAA,IAAI,CAACR,OAAAA,CAAQQ,EAAAA,CAAAA,CAAGxB,KAAAA,CAAM2E,EAAAA,CAAAA,EACpB;AACJ,EAAA;AACA,EAAA,OAAO,EAAA;AACT;AAbSD,mBAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA;AAeT,SAASrB,iBAAAA,CAAkBrC,SAASQ,EAAAA,EAAC;AAEnCA,EAAAA,EAAAA,EAAAA;AACA,EAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EACjB,OAAO,EAAA;AACT,EAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AACtBA,IAAAA,EAAAA,EAAAA;AACA,IAAA,OAAOkD,uBAAAA,CAAwB1D,SAASQ,EAAAA,CAAAA;AAC1C,EAAA;AACA,EAAA,IAAIoD,KAAAA,GAAQ,CAAA;AACZ,EAAA,OAAOpD,EAAAA,GAAIR,OAAAA,CAAQX,MAAAA,EAAQmB,EAAAA,EAAAA,EAAKoD,KAAAA,EAAAA,EAAS;AACvC,IAAA,IAAI5D,QAAQQ,EAAAA,CAAAA,CAAGxB,MAAM,IAAA,CAAA,IAAS4E,QAAQ,EAAA,EACpC;AACF,IAAA,IAAI5D,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EACjB;AACF,IAAA,OAAO,EAAA;AACT,EAAA;AACA,EAAA,OAAOA,EAAAA;AACT;AAlBS6B,mBAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAoBT,SAASlB,cAAAA,CAAeS,IAAAA,EAAMiC,OAAAA,EAASC,UAAAA,EAAU;AAC/C,EAAA,OAAO;IACLpD,GAAAA,EAAK;AACHkB,MAAAA,IAAAA;MACAV,GAAAA,EAAK2C,OAAAA;AACLhC,MAAAA,IAAAA,EAAMiC,WAAWjC,IAAAA,IAAQiC,UAAAA;AACzB5B,MAAAA,GAAAA,EAAK4B,UAAAA,CAAW5B;AAClB;AACF,GAAA;AACF;AATSf,mBAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAWT,SAASqC,iBAAiBD,QAAAA,EAAQ;AAChC,EAAA,OAAO9D,OAAO8D,QAAAA,CAAAA;AAChB;AAFSC,mBAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAMT,SAASvC,gBAAgB6B,OAAAA,EAAO;AAC9B,EAAA,OAAOrD,OAAOqD,OAAAA,CAAAA;AAChB;AAFS7B,mBAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAKT,SAASG,wBAAAA,CAAyBpB,SAAST,KAAAA,EAAK;AAC9C,EAAA,MAAMwE,QAAQ/D,OAAAA,CAAQgB,SAAAA,CAAU,GAAGzB,KAAAA,CAAAA,CAAOyE,MAAM,OAAA,CAAA;AAChD,EAAA,OAAO;AACLnC,IAAAA,IAAAA,EAAMkC,KAAAA,CAAM1E,MAAAA;;AAGZ6C,IAAAA,GAAAA,EAAK6B,KAAAA,CAAMA,KAAAA,CAAM1E,MAAAA,GAAS,CAAA,EAAGA,MAAAA,GAAS;AACxC,GAAA;AACF;AARS+B,mBAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAWT,SAASiC,qBAAqBrE,KAAAA,EAAK;AACjC,EAAA,OAAOA,KAAAA,CAAMG,UAAAA,GAAaH,KAAAA,CAAM,CAAA,CAAA,CAAGK,MAAAA;AACrC;AAFSgE,mBAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;;;AEtaT/E,2BAAA,EAAA;;;ACCAA,2BAAA,EAAA;AAAO,IAAMsB,eAAAA,GAAiB;EAC1BqE,aAAAA,EAAe,KAAA;EACfC,mBAAAA,EAAqB,IAAA;EACrBC,mBAAAA,EAAqB,KAAA;EACrBC,YAAAA,EAAc,OAAA;EACdC,gBAAAA,EAAkB,IAAA;EAClBC,cAAAA,EAAgB,KAAA;EAChBzE,sBAAAA,EAAwB,KAAA;;EAExB0E,aAAAA,EAAe,IAAA;EACfC,mBAAAA,EAAqB,KAAA;EACrBC,UAAAA,EAAY,IAAA;EACZC,aAAAA,EAAe,KAAA;EACfC,kBAAAA,EAAoB;IAClBC,GAAAA,EAAK,IAAA;IACLC,YAAAA,EAAc,IAAA;IACdC,SAAAA,EAAW;AACb,GAAA;EACAC,iBAAAA,kBAAmBC,mBAAA,CAAA,SAASlE,SAASmE,GAAAA,EAAG;AACtC,IAAA,OAAOA,GAAAA;EACT,CAAA,EAFmB,mBAAA,CAAA;EAGnBC,uBAAAA,kBAAyBF,mBAAA,CAAA,SAASzB,UAAU0B,GAAAA,EAAG;AAC7C,IAAA,OAAOA,GAAAA;EACT,CAAA,EAFyB,yBAAA,CAAA;AAGzBE,EAAAA,SAAAA,EAAW,EAAA;EACXC,oBAAAA,EAAsB,KAAA;AACtBC,EAAAA,OAAAA,4CAAe,KAAA,EAAN,SAAA,CAAA;EACTC,eAAAA,EAAiB,KAAA;AACjBxF,EAAAA,YAAAA,EAAc,EAAA;EACdyF,eAAAA,EAAiB,IAAA;EACjBC,YAAAA,EAAc,KAAA;EACdC,iBAAAA,EAAmB,KAAA;EACnBC,YAAAA,EAAc,KAAA;EACdC,gBAAAA,EAAkB,KAAA;EAClBC,sBAAAA,EAAwB,KAAA;EACxBC,SAAAA,kBAAWb,mBAAA,CAAA,SAASlE,OAAAA,EAASgF,KAAAA,EAAOC,KAAAA,EAAK;AACvC,IAAA,OAAOjF,OAAAA;EACT,CAAA,EAFW,WAAA,CAAA;;EAIXkF,eAAAA,EAAiB;AACrB,CAAA;AAEO,IAAMC,YAAAA,gDAAwBhG,OAAAA,EAAO;AACxC,EAAA,OAAOC,MAAAA,CAAOC,MAAAA,CAAO,EAAC,EAAGP,iBAAgBK,OAAAA,CAAAA;AAC7C,CAAA,EAF4B,cAAA,CAAA;;;AC3C5B3B,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;AAEA,IAAI4H,eAAAA;AAEJ,IAAI,OAAOC,WAAW,UAAA,EAAY;AAChCD,EAAAA,eAAAA,GAAkB,eAAA;AACpB,CAAA,MAAO;AACLA,EAAAA,eAAAA,GAAkBC,OAAO,mBAAA,CAAA;AAC3B;AAEA,IAAqBC,UAArB,MAAqBA;EAVrB;;;AAWE,EAAA,WAAA,CAAYtD,OAAAA,EAAS;AACnB,IAAA,IAAA,CAAKA,OAAAA,GAAUA,OAAAA;AACf,IAAA,IAAA,CAAKuD,QAAQ,EAAA;AACb,IAAA,IAAA,CAAK,IAAA,IAAQ,EAAC;AAChB,EAAA;AACAC,EAAAA,GAAAA,CAAIC,KAAItB,GAAAA,EAAI;AAEV,IAAA,IAAGsB,GAAAA,KAAQ,aAAaA,GAAAA,GAAM,YAAA;AAC9B,IAAA,IAAA,CAAKF,MAAM7G,IAAAA,CAAM;AAAC,MAAA,CAAC+G,GAAAA,GAAMtB;KAAI,CAAA;AAC/B,EAAA;AACAuB,EAAAA,QAAAA,CAASC,MAAMtH,UAAAA,EAAY;AACzB,IAAA,IAAGsH,IAAAA,CAAK3D,OAAAA,KAAY,WAAA,EAAa2D,IAAAA,CAAK3D,OAAAA,GAAU,YAAA;AAChD,IAAA,IAAG2D,IAAAA,CAAK,IAAA,CAAA,IAASvG,MAAAA,CAAOwG,IAAAA,CAAKD,KAAK,IAAA,CAAK,CAAA,CAAEpH,MAAAA,GAAS,CAAA,EAAE;AAClD,MAAA,IAAA,CAAKgH,MAAM7G,IAAAA,CAAM;QAAE,CAACiH,IAAAA,CAAK3D,OAAO,GAAG2D,IAAAA,CAAKJ,KAAAA;QAAO,CAAC,IAAA,GAAOI,IAAAA,CAAK,IAAA;OAAM,CAAA;IACpE,CAAA,MAAK;AACH,MAAA,IAAA,CAAKJ,MAAM7G,IAAAA,CAAM;QAAE,CAACiH,IAAAA,CAAK3D,OAAO,GAAG2D,IAAAA,CAAKJ;OAAM,CAAA;AAChD,IAAA;AAEA,IAAA,IAAIlH,eAAemE,MAAAA,EAAW;AAG5B,MAAA,IAAA,CAAK+C,MAAM,IAAA,CAAKA,KAAAA,CAAMhH,SAAS,CAAA,CAAA,CAAG6G,eAAAA,CAAAA,GAAmB;AAAE/G,QAAAA;AAAW,OAAA;AACpE,IAAA;AACF,EAAA;;AAEA,EAAA,OAAOwH,iBAAAA,GAAoB;AACzB,IAAA,OAAOT,eAAAA;AACT,EAAA;AACF,CAAA;;;ACvCA5H,2BAAA,EAAA;AAGe,SAAf,WAAA,CAAoC0B,SAASQ,EAAAA,EAAC;AAE1C,EAAA,MAAMoG,WAAW,EAAC;AAClB,EAAA,IAAI5G,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IAClBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,IACnBR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,MAAO,GAAA,EACxB;AACIA,IAAAA,KAAIA,EAAAA,GAAE,CAAA;AACN,IAAA,IAAIuC,kBAAAA,GAAqB,CAAA;AACzB,IAAA,IAAI8D,OAAAA,GAAU,OAAOC,OAAAA,GAAU,KAAA;AAC/B,IAAA,IAAIC,GAAAA,GAAM,EAAA;AACV,IAAA,OAAKvG,EAAAA,GAAER,OAAAA,CAAQX,MAAAA,EAAOmB,EAAAA,EAAAA,EAAI;AACtB,MAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,IAAO,CAACsG,OAAAA,EAAS;AAChC,QAAA,IAAID,OAAAA,IAAWG,MAAAA,CAAOhH,OAAAA,EAAS,SAAA,EAAUQ,EAAAA,CAAAA,EAAG;AACxCA,UAAAA,EAAAA,IAAK,CAAA;AACL,UAAA,IAAIyG,UAAAA,EAAYhC,GAAAA;AAChB,UAAA,CAACgC,YAAYhC,GAAAA,EAAIzE,EAAAA,IAAK0G,aAAAA,CAAclH,OAAAA,EAAQQ,KAAE,CAAA,CAAA;AAC9C,UAAA,IAAGyE,IAAI9C,OAAAA,CAAQ,GAAA,MAAS,EAAA,EACpByE,QAAAA,CAAUK,UAAAA,CAAAA,GAAe;AACrBE,YAAAA,IAAAA,EAAOxI,MAAAA,CAAQ,CAAA,CAAA,EAAIsI,UAAAA,CAAAA,CAAAA,CAAAA,EAAc,GAAA,CAAA;AACjChC,YAAAA;AACJ,WAAA;AACR,QAAA,CAAA,MAAA,IACS4B,OAAAA,IAAWG,MAAAA,CAAOhH,OAAAA,EAAS,UAAA,EAAWQ,EAAAA,CAAAA,EAAK;AAChDA,UAAAA,EAAAA,IAAK,CAAA;AACL,UAAA,MAAM,EAACjB,KAAAA,EAAK,GAAI6H,cAAAA,CAAepH,OAAAA,EAAQQ,KAAE,CAAA,CAAA;AACzCA,UAAAA,EAAAA,GAAIjB,KAAAA;AACR,QAAA,CAAA,MAAA,IAAUsH,OAAAA,IAAWG,MAAAA,CAAOhH,OAAAA,EAAS,UAAA,EAAWQ,EAAAA,CAAAA,EAAG;AAC/CA,UAAAA,EAAAA,IAAK,CAAA;AAGT,QAAA,CAAA,MAAA,IAAUqG,OAAAA,IAAWG,MAAAA,CAAOhH,OAAAA,EAAS,WAAA,EAAYQ,EAAAA,CAAAA,EAAI;AACjDA,UAAAA,EAAAA,IAAK,CAAA;AACL,UAAA,MAAM,EAACjB,KAAAA,EAAK,GAAI8H,eAAAA,CAAgBrH,OAAAA,EAAQQ,KAAE,CAAA,CAAA;AAC1CA,UAAAA,EAAAA,GAAIjB,KAAAA;AACR,QAAA,CAAA,MAAA,IAAUyH,MAAAA,CAAOhH,OAAAA,EAAS,KAAA,EAAMQ,EAAAA,GAAKsG,OAAAA,GAAU,IAAA;aAC1C,MAAM,IAAIQ,MAAM,CAAA,eAAA,CAAiB,CAAA;AAEtCvE,QAAAA,kBAAAA,EAAAA;AACAgE,QAAAA,GAAAA,GAAM,EAAA;MACV,CAAA,MAAA,IAAW/G,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AAC3B,QAAA,IAAGsG,OAAAA,EAAQ;AACP,UAAA,IAAI9G,OAAAA,CAAQQ,KAAI,CAAA,CAAA,KAAO,OAAOR,OAAAA,CAAQQ,EAAAA,GAAI,CAAA,CAAA,KAAO,GAAA,EAAI;AACjDsG,YAAAA,OAAAA,GAAU,KAAA;AACV/D,YAAAA,kBAAAA,EAAAA;AACJ,UAAA;QACJ,CAAA,MAAK;AACDA,UAAAA,kBAAAA,EAAAA;AACJ,QAAA;AACA,QAAA,IAAIA,uBAAuB,CAAA,EAAG;AAC5B,UAAA;AACF,QAAA;MACJ,CAAA,MAAA,IAAU/C,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAI;AACzBqG,QAAAA,OAAAA,GAAU,IAAA;MACd,CAAA,MAAK;AACDE,QAAAA,GAAAA,IAAO/G,QAAQQ,EAAAA,CAAAA;AACnB,MAAA;AACJ,IAAA;AACA,IAAA,IAAGuC,uBAAuB,CAAA,EAAE;AACxB,MAAA,MAAM,IAAIuE,MAAM,CAAA,gBAAA,CAAkB,CAAA;AACtC,IAAA;EACJ,CAAA,MAAK;AACD,IAAA,MAAM,IAAIA,MAAM,CAAA,8BAAA,CAAgC,CAAA;AACpD,EAAA;AACA,EAAA,OAAO;AAACV,IAAAA,QAAAA;IAAUpG,CAAAA,EAAAA;AAAC,GAAA;AACvB;AApEwB+G,mBAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAsExB,IAAMC,cAAAA,mBAAiBxC,mBAAA,CAAA,CAACyC,IAAAA,EAAMlI,KAAAA,KAAAA;AAC1B,EAAA,OAAOA,KAAAA,GAAQkI,KAAKpI,MAAAA,IAAU,IAAA,CAAKqI,KAAKD,IAAAA,CAAKlI,KAAAA,CAAM,CAAA,EAAG;AAClDA,IAAAA,KAAAA,EAAAA;AACJ,EAAA;AACA,EAAA,OAAOA,KAAAA;AACX,CAAA,EALuB,gBAAA,CAAA;AAOvB,SAAS2H,aAAAA,CAAclH,SAASQ,EAAAA,EAAC;AAW7BA,EAAAA,EAAAA,GAAIgH,cAAAA,CAAexH,OAAAA,EAASQ,EAAAA,CAAAA;AAG5B,EAAA,IAAIyG,UAAAA,GAAa,EAAA;AACjB,EAAA,OAAOzG,KAAIR,OAAAA,CAAQX,MAAAA,IAAU,CAAC,IAAA,CAAKqI,KAAK1H,OAAAA,CAAQQ,EAAAA,CAAE,CAAA,IAAKR,QAAQQ,EAAAA,CAAAA,KAAO,OAAOR,OAAAA,CAAQQ,EAAAA,MAAO,GAAA,EAAK;AAC7FyG,IAAAA,UAAAA,IAAcjH,QAAQQ,EAAAA,CAAAA;AACtBA,IAAAA,EAAAA,EAAAA;AACJ,EAAA;AACAmH,EAAAA,kBAAAA,CAAmBV,UAAAA,CAAAA;AAGnBzG,EAAAA,EAAAA,GAAIgH,cAAAA,CAAexH,OAAAA,EAASQ,EAAAA,CAAAA;AAG5B,EAAA,IAAIR,OAAAA,CAAQgB,UAAUR,EAAAA,EAAGA,EAAAA,GAAI,CAAA,CAAA,CAAGoH,WAAAA,OAAkB,QAAA,EAAU;AACxD,IAAA,MAAM,IAAIN,MAAM,qCAAA,CAAA;EACpB,CAAA,MAAA,IAAUtH,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AAC1B,IAAA,MAAM,IAAI8G,MAAM,sCAAA,CAAA;AACpB,EAAA;AAGA,EAAA,IAAIO,WAAAA,GAAc,EAAA;AAClB,EAAA,CAACrH,IAAGqH,WAAAA,CAAAA,GAAeC,iBAAAA,CAAkB9H,OAAAA,EAASQ,IAAG,QAAA,CAAA;AACjDA,EAAAA,EAAAA,EAAAA;AACA,EAAA,OAAO;AAACyG,IAAAA,UAAAA;AAAYY,IAAAA,WAAAA;AAAarH,IAAAA;;AACrC;AApCS0G,mBAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAsCT,SAASG,eAAAA,CAAgBrH,SAASQ,EAAAA,EAAC;AAE/BA,EAAAA,EAAAA,GAAIgH,cAAAA,CAAexH,OAAAA,EAASQ,EAAAA,CAAAA;AAG5B,EAAA,IAAIuH,YAAAA,GAAe,EAAA;AACnB,EAAA,OAAOvH,EAAAA,GAAIR,QAAQX,MAAAA,IAAU,CAAC,KAAKqI,IAAAA,CAAK1H,OAAAA,CAAQQ,EAAAA,CAAE,CAAA,EAAG;AACjDuH,IAAAA,YAAAA,IAAgB/H,QAAQQ,EAAAA,CAAAA;AACxBA,IAAAA,EAAAA,EAAAA;AACJ,EAAA;AACAmH,EAAAA,kBAAAA,CAAmBI,YAAAA,CAAAA;AAGnBvH,EAAAA,EAAAA,GAAIgH,cAAAA,CAAexH,OAAAA,EAASQ,EAAAA,CAAAA;AAG5B,EAAA,MAAMwH,iBAAiBhI,OAAAA,CAAQgB,SAAAA,CAAUR,IAAGA,EAAAA,GAAI,CAAA,EAAGoH,WAAAA,EAAW;AAC9D,EAAA,IAAII,cAAAA,KAAmB,QAAA,IAAYA,cAAAA,KAAmB,QAAA,EAAU;AAC5D,IAAA,MAAM,IAAIV,KAAAA,CAAM,CAAA,kCAAA,EAAqCU,cAAAA,CAAAA,CAAAA,CAAiB,CAAA;AAC1E,EAAA;AACAxH,EAAAA,MAAKwH,cAAAA,CAAe3I,MAAAA;AAGpBmB,EAAAA,EAAAA,GAAIgH,cAAAA,CAAexH,OAAAA,EAASQ,EAAAA,CAAAA;AAG5B,EAAA,IAAIyH,gBAAAA,GAAmB,IAAA;AACvB,EAAA,IAAIC,gBAAAA,GAAmB,IAAA;AAEvB,EAAA,IAAIF,mBAAmB,QAAA,EAAU;AAC7B,IAAA,CAACxH,IAAGyH,gBAAAA,CAAAA,GAAqBH,iBAAAA,CAAkB9H,OAAAA,EAASQ,IAAG,kBAAA,CAAA;AAGvDA,IAAAA,EAAAA,GAAIgH,cAAAA,CAAexH,OAAAA,EAASQ,EAAAA,CAAAA;AAG5B,IAAA,IAAIR,QAAQQ,EAAAA,CAAAA,KAAO,OAAOR,OAAAA,CAAQQ,EAAAA,MAAO,GAAA,EAAK;AAC1C,MAAA,CAACA,IAAG0H,gBAAAA,CAAAA,GAAqBJ,iBAAAA,CAAkB9H,OAAAA,EAASQ,IAAE,kBAAA,CAAA;AAC1D,IAAA;AACJ,EAAA,CAAA,MAAA,IAAWwH,mBAAmB,QAAA,EAAU;AAEpC,IAAA,CAACxH,IAAG0H,gBAAAA,CAAAA,GAAqBJ,iBAAAA,CAAkB9H,OAAAA,EAASQ,IAAG,kBAAA,CAAA;AAEvD,IAAA,IAAI,CAAC0H,gBAAAA,EAAkB;AACnB,MAAA,MAAM,IAAIZ,MAAM,yDAAA,CAAA;AACpB,IAAA;AACJ,EAAA;AAEA,EAAA,OAAO;AAACS,IAAAA,YAAAA;AAAcE,IAAAA,gBAAAA;AAAkBC,IAAAA,gBAAAA;AAAkB3I,IAAAA,KAAAA,EAAO,EAAEiB;AAAC,GAAA;AACxE;AAjDS6G,mBAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAmDT,SAASS,iBAAAA,CAAkB9H,OAAAA,EAASQ,EAAAA,EAAG2H,IAAAA,EAAI;AACvC,EAAA,IAAIC,aAAAA,GAAgB,EAAA;AACpB,EAAA,MAAMlF,SAAAA,GAAYlD,QAAQQ,EAAAA,CAAAA;AAC1B,EAAA,IAAI0C,SAAAA,KAAc,GAAA,IAAOA,SAAAA,KAAc,GAAA,EAAK;AACxC,IAAA,MAAM,IAAIoE,KAAAA,CAAM,CAAA,+BAAA,EAAkCpE,SAAAA,CAAAA,CAAAA,CAAY,CAAA;AAClE,EAAA;AACA1C,EAAAA,EAAAA,EAAAA;AAEA,EAAA,OAAOA,KAAIR,OAAAA,CAAQX,MAAAA,IAAUW,OAAAA,CAAQQ,EAAAA,MAAO0C,SAAAA,EAAW;AACnDkF,IAAAA,aAAAA,IAAiBpI,QAAQQ,EAAAA,CAAAA;AACzBA,IAAAA,EAAAA,EAAAA;AACJ,EAAA;AAEA,EAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO0C,SAAAA,EAAW;AAC1B,IAAA,MAAM,IAAIoE,KAAAA,CAAM,CAAA,aAAA,EAAgBa,IAAAA,CAAAA,MAAAA,CAAY,CAAA;AAChD,EAAA;AACA3H,EAAAA,EAAAA,EAAAA;AACA,EAAA,OAAO;AAACA,IAAAA,EAAAA;AAAG4H,IAAAA;;AACf;AAlBSN,mBAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAoBT,SAASV,cAAAA,CAAepH,SAASQ,EAAAA,EAAC;AAQ9BA,EAAAA,EAAAA,GAAIgH,cAAAA,CAAexH,OAAAA,EAASQ,EAAAA,CAAAA;AAG5B,EAAA,IAAI6H,WAAAA,GAAc,EAAA;AAClB,EAAA,OAAO7H,EAAAA,GAAIR,QAAQX,MAAAA,IAAU,CAAC,KAAKqI,IAAAA,CAAK1H,OAAAA,CAAQQ,EAAAA,CAAE,CAAA,EAAG;AACjD6H,IAAAA,WAAAA,IAAerI,QAAQQ,EAAAA,CAAAA;AACvBA,IAAAA,EAAAA,EAAAA;AACJ,EAAA;AAGA,EAAA,IAAI,CAACmH,kBAAAA,CAAmBU,WAAAA,CAAAA,EAAc;AAClC,IAAA,MAAM,IAAIf,KAAAA,CAAM,CAAA,uBAAA,EAA0Be,WAAAA,CAAAA,CAAAA,CAAc,CAAA;AAC5D,EAAA;AAGA7H,EAAAA,EAAAA,GAAIgH,cAAAA,CAAexH,OAAAA,EAASQ,EAAAA,CAAAA;AAC5B,EAAA,IAAI8H,YAAAA,GAAe,EAAA;AAEnB,EAAA,IAAGtI,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,IAAOwG,MAAAA,CAAOhH,SAAS,MAAA,EAAOQ,EAAAA,CAAAA,EAAIA,EAAAA,IAAG,CAAA;WAC/CR,OAAAA,CAAQQ,EAAAA,MAAO,GAAA,IAAOwG,MAAAA,CAAOhH,SAAS,IAAA,EAAKQ,EAAAA,CAAAA,EAAIA,EAAAA,IAAG,CAAA;WACjDR,OAAAA,CAAQQ,EAAAA,MAAO,GAAA,EAAK;AACzBA,IAAAA,EAAAA,EAAAA;AAGA,IAAA,OAAOA,KAAIR,OAAAA,CAAQX,MAAAA,IAAUW,OAAAA,CAAQQ,EAAAA,MAAO,GAAA,EAAK;AAC7C8H,MAAAA,YAAAA,IAAgBtI,QAAQQ,EAAAA,CAAAA;AACxBA,MAAAA,EAAAA,EAAAA;AACJ,IAAA;AACA,IAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAK;AACpB,MAAA,MAAM,IAAI8G,MAAM,4BAAA,CAAA;AACpB,IAAA;EAEJ,CAAA,MAAK;AACD,IAAA,MAAM,IAAIA,KAAAA,CAAM,CAAA,mCAAA,EAAsCtH,OAAAA,CAAQQ,EAAAA,CAAE,CAAA,CAAA,CAAG,CAAA;AACvE,EAAA;AAEA,EAAA,OAAO;AACH6H,IAAAA,WAAAA;AACAC,IAAAA,YAAAA,EAAcA,aAAavH,IAAAA,EAAI;IAC/BxB,KAAAA,EAAOiB;AACX,GAAA;AACJ;AAjDS4G,mBAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAuKT,SAASJ,MAAAA,CAAOS,IAAAA,EAAMc,GAAAA,EAAI/H,EAAAA,EAAC;AACvB,EAAA,KAAA,IAAQgI,EAAAA,GAAE,CAAA,EAAEA,EAAAA,GAAED,GAAAA,CAAIlJ,QAAOmJ,EAAAA,EAAAA,EAAI;AACzB,IAAA,IAAGD,GAAAA,CAAIC,EAAAA,CAAAA,KAAKf,IAAAA,CAAKjH,KAAEgI,EAAAA,GAAE,CAAA,GAAI,OAAO,KAAA;AACpC,EAAA;AACA,EAAA,OAAO,IAAA;AACX;AALSxB,mBAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA;AAOT,SAASW,mBAAmBc,IAAAA,EAAI;AAC5B,EAAA,IAAIhJ,MAAAA,CAAOgJ,IAAAA,CAAAA,EACd,OAAOA,IAAAA;AAEA,OAAA,MAAM,IAAInB,KAAAA,CAAM,CAAA,oBAAA,EAAuBmB,IAAAA,CAAAA,CAAM,CAAA;AACrD;AALSd,mBAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;;;AC3WTrJ,2BAAA,EAAA;AAAA,IAAMoK,QAAAA,GAAW,uBAAA;AACjB,IAAMC,QAAAA,GAAW,oCAAA;AAKjB,IAAMC,QAAAA,GAAW;EACbhE,GAAAA,EAAO,IAAA;;EAEPC,YAAAA,EAAc,IAAA;EACdgE,YAAAA,EAAc,GAAA;EACd/D,SAAAA,EAAW;AAEf,CAAA;AAEe,SAAf,QAAA,CAAiCgE,GAAAA,EAAK7I,OAAAA,GAAU,EAAC,EAAC;AAC9CA,EAAAA,OAAAA,GAAUC,MAAAA,CAAOC,MAAAA,CAAO,EAAC,EAAGyI,UAAU3I,OAAAA,CAAAA;AACtC,EAAA,IAAG,CAAC6I,GAAAA,IAAO,OAAOA,GAAAA,KAAQ,UAAW,OAAOA,GAAAA;AAE5C,EAAA,IAAIC,UAAAA,GAAcD,IAAI/H,IAAAA,EAAI;AAE1B,EAAA,IAAGd,OAAAA,CAAQ+I,aAAa1F,MAAAA,IAAarD,OAAAA,CAAQ+I,SAAStB,IAAAA,CAAKqB,UAAAA,GAAa,OAAOD,GAAAA;AACvEA,OAAAA,IAAAA,GAAAA,KAAM,KAAK,OAAO,CAAA;AACjB7I,OAAAA,IAAAA,OAAAA,CAAQ2E,GAAAA,IAAO8D,QAAAA,CAAShB,IAAAA,CAAKqB,UAAAA,CAAAA,EAAa;AAC/C,IAAA,OAAOE,SAAAA,CAAUF,YAAY,EAAA,CAAA;AAGjC,EAAA,CAAA,MAAA,IAAUA,UAAAA,CAAWG,MAAAA,CAAO,UAAA,CAAA,KAAe,EAAA,EAAI;AAC3C,IAAA,OAAOC,gBAAAA,CAAiBL,GAAAA,EAAIC,UAAAA,EAAW9I,OAAAA,CAAAA;EAG3C,CAAA,MAAK;AAED,IAAA,MAAMjB,KAAAA,GAAQ2J,QAAAA,CAAS1J,IAAAA,CAAK8J,UAAAA,CAAAA;AAE5B,IAAA,IAAG/J,KAAAA,EAAM;AACL,MAAA,MAAMoK,IAAAA,GAAOpK,KAAAA,CAAM,CAAA,CAAA,IAAM,EAAA;AACzB,MAAA,MAAM6F,YAAAA,GAAe7F,MAAM,CAAA,CAAA;AAC3B,MAAA,IAAIqK,iBAAAA,GAAoBC,SAAAA,CAAUtK,KAAAA,CAAM,CAAA,CAAE,CAAA;AAC1C,MAAA,MAAMuK,6BAAAA,GAAgCH,IAAAA,GAClCN,GAAAA,CAAIjE,YAAAA,CAAaxF,MAAAA,GAAO,CAAA,CAAA,KAAO,GAAA,GAC7ByJ,GAAAA,CAAIjE,YAAAA,CAAaxF,MAAM,CAAA,KAAM,GAAA;AAGnC,MAAA,IAAG,CAACY,OAAAA,CAAQ4E,YAAAA,KACJA,YAAAA,CAAaxF,MAAAA,GAAS,KAClBwF,YAAAA,CAAaxF,MAAAA,KAAW,CAAA,IAAK,CAACkK,6BAAAA,CAAAA,EAAgC;AAEtE,QAAA,OAAOT,GAAAA;MACX,CAAA,MACI;AACA,QAAA,MAAMU,GAAAA,GAAMC,OAAOV,UAAAA,CAAAA;AACnB,QAAA,MAAMW,SAAAA,GAAYC,OAAOH,GAAAA,CAAAA;AAEzB,QAAA,IAAIA,GAAAA,KAAQ,GAAG,OAAOA,GAAAA;AACtB,QAAA,IAAGE,SAAAA,CAAUR,MAAAA,CAAO,MAAA,CAAA,KAAY,EAAA,EAAG;AAC/B,UAAA,IAAGjJ,OAAAA,CAAQ6E,WAAW,OAAO0E,GAAAA;eACxB,OAAOV,GAAAA;AAChB,QAAA,CAAA,MAAA,IAASC,UAAAA,CAAW5G,OAAAA,CAAQ,GAAA,CAAA,KAAS,EAAA,EAAG;AACpC,UAAA,IAAGuH,SAAAA,KAAc,KAAK,OAAOF,GAAAA;AACrBE,eAAAA,IAAAA,SAAAA,KAAcL,mBAAmB,OAAOG,GAAAA;AACvCE,eAAAA,IAAAA,SAAAA,KAAc,CAAA,EAAGN,IAAAA,CAAAA,EAAOC,iBAAAA,IAAqB,OAAOG,GAAAA;eACxD,OAAOV,GAAAA;AAChB,QAAA;AAEA,QAAA,IAAIc,EAAAA,GAAI/E,eAAcwE,iBAAAA,GAAoBN,UAAAA;AAC1C,QAAA,IAAGlE,YAAAA,EAAa;AAEZ,UAAA,OAAQ+E,EAAAA,KAAMF,SAAAA,IAAeN,IAAAA,GAAKQ,EAAAA,KAAMF,YAAaF,GAAAA,GAAMV,GAAAA;QAC/D,CAAA,MAAO;AAEH,UAAA,OAAQc,EAAAA,KAAMF,SAAAA,IAAeE,EAAAA,KAAMR,IAAAA,GAAKM,YAAaF,GAAAA,GAAMV,GAAAA;AAC/D,QAAA;AACJ,MAAA;IACJ,CAAA,MAAK;AACD,MAAA,OAAOA,GAAAA;AACX,IAAA;AACJ,EAAA;AACJ;AA/DwBe,mBAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAiExB,IAAMC,aAAAA,GAAgB,yCAAA;AACtB,SAASX,gBAAAA,CAAiBL,GAAAA,EAAIC,UAAAA,EAAW9I,OAAAA,EAAO;AAC5C,EAAA,IAAG,CAACA,OAAAA,CAAQ6E,SAAAA,EAAW,OAAOgE,GAAAA;AAC9B,EAAA,MAAMiB,QAAAA,GAAWhB,UAAAA,CAAW/J,KAAAA,CAAM8K,aAAAA,CAAAA;AAClC,EAAA,IAAGC,QAAAA,EAAS;AACR,IAAA,IAAIX,IAAAA,GAAOW,QAAAA,CAAS,CAAA,CAAA,IAAM,EAAA;AAC1B,IAAA,MAAMC,KAAAA,GAAQD,SAAS,CAAA,CAAA,CAAG5H,QAAQ,GAAA,CAAA,KAAS,KAAK,GAAA,GAAM,GAAA;AACtD,IAAA,MAAM0C,YAAAA,GAAekF,SAAS,CAAA,CAAA;AAC9B,IAAA,MAAME,uBAAAA,GAA0Bb,IAAAA,GAC5BN,GAAAA,CAAIjE,YAAAA,CAAaxF,MAAAA,GAAO,CAAA,CAAA,KAAO2K,KAAAA,GAC7BlB,GAAAA,CAAIjE,YAAAA,CAAaxF,MAAM,CAAA,KAAM2K,KAAAA;AAEnC,IAAA,IAAGnF,YAAAA,CAAaxF,MAAAA,GAAS,CAAA,IAAK4K,uBAAAA,EAAyB,OAAOnB,GAAAA;AACtDjE,SAAAA,IAAAA,YAAAA,CAAaxF,MAAAA,KAAW,CAAA,KACxB0K,QAAAA,CAAS,CAAA,EAAGG,UAAAA,CAAW,CAAA,CAAA,EAAIF,KAAAA,CAAAA,CAAO,KAAKD,QAAAA,CAAS,CAAA,CAAA,CAAG,CAAA,MAAOC,KAAAA,CAAAA,EAAO;AACjE,MAAA,OAAOP,OAAOV,UAAAA,CAAAA;IACtB,CAAA,MAAA,IAAS9I,OAAAA,CAAQ4E,YAAAA,IAAgB,CAACoF,uBAAAA,EAAwB;AAEtDlB,MAAAA,UAAAA,GAAAA,CAAcgB,QAAAA,CAAS,CAAA,CAAA,IAAM,EAAA,IAAMA,SAAS,CAAA,CAAA;AAC5C,MAAA,OAAON,OAAOV,UAAAA,CAAAA;AAClB,IAAA,CAAA,MAAM,OAAOD,GAAAA;EACjB,CAAA,MAAK;AACD,IAAA,OAAOA,GAAAA;AACX,EAAA;AACJ;AAvBSK,mBAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AA8BT,SAASG,UAAUa,MAAAA,EAAM;AACrB,EAAA,IAAGA,MAAAA,IAAUA,MAAAA,CAAOhI,OAAAA,CAAQ,GAAA,MAAS,EAAA,EAAG;AACpCgI,IAAAA,MAAAA,GAASA,MAAAA,CAAOxH,OAAAA,CAAQ,KAAA,EAAO,EAAA,CAAA;AAC/B,IAAA,IAAGwH,MAAAA,KAAW,KAAMA,MAAAA,GAAS,GAAA;AACrBA,SAAAA,IAAAA,MAAAA,CAAO,CAAA,CAAA,KAAO,GAAA,EAAMA,MAAAA,GAAS,GAAA,GAAIA,MAAAA;aACjCA,MAAAA,CAAOA,MAAAA,CAAO9K,MAAAA,GAAO,CAAA,CAAA,KAAO,GAAA,EAAM8K,MAAAA,GAASA,MAAAA,CAAOnJ,SAAAA,CAAU,CAAA,EAAEmJ,MAAAA,CAAO9K,MAAAA,GAAO,CAAA,CAAA;AACpF,IAAA,OAAO8K,MAAAA;AACX,EAAA;AACA,EAAA,OAAOA,MAAAA;AACX;AATSb,mBAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAWT,SAASL,SAAAA,CAAUkB,QAAQC,IAAAA,EAAI;AAE3B,EAAA,IAAGC,QAAAA,EAAU,OAAOA,QAAAA,CAASF,MAAAA,EAAQC,IAAAA,CAAAA;AAC7BX,OAAAA,IAAAA,MAAAA,CAAOY,QAAAA,EAAU,OAAOZ,MAAAA,CAAOY,QAAAA,CAASF,QAAQC,IAAAA,CAAAA;AAChDE,OAAAA,IAAAA,MAAAA,IAAUA,OAAOD,QAAAA,EAAU,OAAOC,MAAAA,CAAOD,QAAAA,CAASF,QAAQC,IAAAA,CAAAA;OAC7D,MAAM,IAAI9C,MAAM,8DAAA,CAAA;AACzB;AANS2B,mBAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;;;AC1HT3K,2BAAA,EAAA;AAAe,SAAf,sBAA8C+F,gBAAAA,EAAgB;AAC1D,EAAA,IAAI,OAAOA,qBAAqB,UAAA,EAAY;AACxC,IAAA,OAAOA,gBAAAA;AACX,EAAA;AACA,EAAA,IAAIkG,KAAAA,CAAMlF,OAAAA,CAAQhB,gBAAAA,CAAAA,EAAmB;AACjC,IAAA,OAAO,CAACd,QAAAA,KAAAA;AACJ,MAAA,KAAA,MAAWiH,WAAWnG,gBAAAA,EAAkB;AACpC,QAAA,IAAI,OAAOmG,OAAAA,KAAY,QAAA,IAAYjH,QAAAA,KAAaiH,OAAAA,EAAS;AACrD,UAAA,OAAO,IAAA;AACX,QAAA;AACA,QAAA,IAAIA,OAAAA,YAAmB7L,MAAAA,IAAU6L,OAAAA,CAAQ9C,IAAAA,CAAKnE,QAAAA,CAAAA,EAAW;AACrD,UAAA,OAAO,IAAA;AACX,QAAA;AACJ,MAAA;AACJ,IAAA,CAAA;AACJ,EAAA;AACA,EAAA,OAAO,MAAM,KAAA;AACjB;AAjBwBkH,mBAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;;;AJgBxB,IAAqBC,mBAArB,MAAqBA;EAhBrB;;;AAiBE,EAAA,WAAA,CAAYzK,OAAAA,EAAQ;AAClB,IAAA,IAAA,CAAKA,OAAAA,GAAUA,OAAAA;AACf,IAAA,IAAA,CAAK0K,WAAAA,GAAc,IAAA;AACnB,IAAA,IAAA,CAAKC,gBAAgB,EAAA;AACrB,IAAA,IAAA,CAAKC,kBAAkB,EAAC;AACxB,IAAA,IAAA,CAAKC,YAAAA,GAAe;MAClB,MAAA,EAAS;QAAEhM,KAAAA,EAAO,oBAAA;QAAsBmG,GAAAA,EAAM;AAAG,OAAA;MACjD,IAAA,EAAO;QAAEnG,KAAAA,EAAO,kBAAA;QAAoBmG,GAAAA,EAAM;AAAG,OAAA;MAC7C,IAAA,EAAO;QAAEnG,KAAAA,EAAO,kBAAA;QAAoBmG,GAAAA,EAAM;AAAG,OAAA;MAC7C,MAAA,EAAS;QAAEnG,KAAAA,EAAO,oBAAA;QAAsBmG,GAAAA,EAAM;AAAI;AACpD,KAAA;AACA,IAAA,IAAA,CAAK8F,SAAAA,GAAY;MAAEjM,KAAAA,EAAO,mBAAA;MAAqBmG,GAAAA,EAAM;AAAG,KAAA;AACxD,IAAA,IAAA,CAAKO,YAAAA,GAAe;MAClB,OAAA,EAAS;QAAE1G,KAAAA,EAAO,gBAAA;QAAkBmG,GAAAA,EAAK;AAAI,OAAA;;;;;;MAM7C,MAAA,EAAS;QAAEnG,KAAAA,EAAO,gBAAA;QAAkBmG,GAAAA,EAAK;AAAI,OAAA;MAC7C,OAAA,EAAU;QAAEnG,KAAAA,EAAO,iBAAA;QAAmBmG,GAAAA,EAAK;AAAI,OAAA;MAC/C,KAAA,EAAQ;QAAEnG,KAAAA,EAAO,eAAA;QAAiBmG,GAAAA,EAAK;AAAI,OAAA;MAC3C,MAAA,EAAS;QAAEnG,KAAAA,EAAO,iBAAA;QAAmBmG,GAAAA,EAAK;AAAI,OAAA;MAC9C,WAAA,EAAc;QAAEnG,KAAAA,EAAO,gBAAA;QAAkBmG,GAAAA,EAAK;AAAI,OAAA;MAClD,KAAA,EAAQ;QAAEnG,KAAAA,EAAO,eAAA;QAAiBmG,GAAAA,EAAK;AAAI,OAAA;MAC3C,KAAA,EAAQ;QAAEnG,KAAAA,EAAO,gBAAA;QAAkBmG,GAAAA,EAAK;AAAI,OAAA;MAC5C,SAAA,EAAW;QAAEnG,KAAAA,EAAO,kBAAA;QAAoBmG,GAAAA,kBAAMD,mBAAA,CAAA,CAACgG,EAAAA,EAAGlC,GAAAA,KAAQa,MAAAA,CAAOsB,aAAAA,CAAcxB,OAAOY,QAAAA,CAASvB,GAAAA,EAAK,EAAA,CAAA,CAAA,EAAtD,KAAA;AAA2D,OAAA;MACzG,SAAA,EAAW;QAAEhK,KAAAA,EAAO,yBAAA;QAA2BmG,GAAAA,kBAAMD,mBAAA,CAAA,CAACgG,EAAAA,EAAGlC,GAAAA,KAAQa,MAAAA,CAAOsB,aAAAA,CAAcxB,OAAOY,QAAAA,CAASvB,GAAAA,EAAK,EAAA,CAAA,CAAA,EAAtD,KAAA;AAA2D;AAClH,KAAA;AACA,IAAA,IAAA,CAAKoC,mBAAAA,GAAsBA,mBAAAA;AAC3B,IAAA,IAAA,CAAKC,QAAAA,GAAWA,QAAAA;AAChB,IAAA,IAAA,CAAKC,aAAAA,GAAgBA,aAAAA;AACrB,IAAA,IAAA,CAAKC,gBAAAA,GAAmBA,gBAAAA;AACxB,IAAA,IAAA,CAAKC,kBAAAA,GAAqBA,kBAAAA;AAC1B,IAAA,IAAA,CAAKC,YAAAA,GAAeA,YAAAA;AACpB,IAAA,IAAA,CAAKC,oBAAAA,GAAuBA,oBAAAA;AAC5B,IAAA,IAAA,CAAKC,gBAAAA,GAAmBA,gBAAAA;AACxB,IAAA,IAAA,CAAKC,mBAAAA,GAAsBA,mBAAAA;AAC3B,IAAA,IAAA,CAAKlF,QAAAA,GAAWA,QAAAA;AAChB,IAAA,IAAA,CAAKmF,kBAAAA,GAAqBlB,qBAAAA,CAAsB,IAAA,CAAKxK,OAAAA,CAAQoE,gBAAgB,CAAA;AAC/E,EAAA;AAEF,CAAA;AAEA,SAAS6G,oBAAoBU,gBAAAA,EAAgB;AAC3C,EAAA,MAAMC,OAAAA,GAAU3L,MAAAA,CAAOwG,IAAAA,CAAKkF,gBAAAA,CAAAA;AAC5B,EAAA,KAAA,IAASpL,EAAAA,GAAI,CAAA,EAAGA,EAAAA,GAAIqL,OAAAA,CAAQxM,QAAQmB,EAAAA,EAAAA,EAAK;AACvC,IAAA,MAAMsL,GAAAA,GAAMD,QAAQrL,EAAAA,CAAAA;AACpB,IAAA,IAAA,CAAKsK,YAAAA,CAAagB,GAAAA,CAAAA,GAAO;AACtBhN,MAAAA,KAAAA,EAAO,IAAIH,MAAAA,CAAO,GAAA,GAAImN,GAAAA,GAAI,KAAI,GAAA,CAAA;AAC9B7G,MAAAA,GAAAA,EAAM2G,iBAAiBE,GAAAA;AAC1B,KAAA;AACF,EAAA;AACF;AATSZ,mBAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAoBT,SAASE,cAAcnG,GAAAA,EAAKnE,OAAAA,EAASgF,OAAOiG,QAAAA,EAAUC,aAAAA,EAAeC,YAAYC,cAAAA,EAAc;AAC7F,EAAA,IAAIjH,QAAQ3B,MAAAA,EAAW;AACrB,IAAA,IAAI,IAAA,CAAKrD,OAAAA,CAAQwE,UAAAA,IAAc,CAACsH,QAAAA,EAAU;AACxC9G,MAAAA,GAAAA,GAAMA,IAAIlE,IAAAA,EAAI;AAChB,IAAA;AACA,IAAA,IAAGkE,GAAAA,CAAI5F,SAAS,CAAA,EAAE;AAChB,MAAA,IAAG,CAAC6M,cAAAA,EAAgBjH,GAAAA,GAAM,IAAA,CAAKuG,qBAAqBvG,GAAAA,CAAAA;AAEpD,MAAA,MAAMkH,MAAAA,GAAS,KAAKlM,OAAAA,CAAQ8E,iBAAAA,CAAkBjE,SAASmE,GAAAA,EAAKa,KAAAA,EAAOkG,eAAeC,UAAAA,CAAAA;AAClF,MAAA,IAAGE,MAAAA,KAAW,IAAA,IAAQA,MAAAA,KAAW7I,MAAAA,EAAU;AAEzC,QAAA,OAAO2B,GAAAA;AACT,MAAA,CAAA,MAAA,IAAS,OAAOkH,MAAAA,KAAW,OAAOlH,GAAAA,IAAOkH,WAAWlH,GAAAA,EAAI;AAEtD,QAAA,OAAOkH,MAAAA;MACT,CAAA,MAAA,IAAS,IAAA,CAAKlM,QAAQwE,UAAAA,EAAW;AAC/B,QAAA,OAAO2H,WAAWnH,GAAAA,EAAK,IAAA,CAAKhF,QAAQsE,aAAAA,EAAe,IAAA,CAAKtE,QAAQ0E,kBAAkB,CAAA;MACpF,CAAA,MAAK;AACH,QAAA,MAAM0H,UAAAA,GAAapH,IAAIlE,IAAAA,EAAI;AAC3B,QAAA,IAAGsL,eAAepH,GAAAA,EAAI;AACpB,UAAA,OAAOmH,WAAWnH,GAAAA,EAAK,IAAA,CAAKhF,QAAQsE,aAAAA,EAAe,IAAA,CAAKtE,QAAQ0E,kBAAkB,CAAA;QACpF,CAAA,MAAK;AACH,UAAA,OAAOM,GAAAA;AACT,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AACF;AA3BSmG,mBAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AA6BT,SAASC,iBAAiBvI,OAAAA,EAAO;AAC/B,EAAA,IAAI,IAAA,CAAK7C,QAAQqE,cAAAA,EAAgB;AAC/B,IAAA,MAAMlE,IAAAA,GAAO0C,OAAAA,CAAQkB,KAAAA,CAAM,GAAA,CAAA;AAC3B,IAAA,MAAMsI,SAASxJ,OAAAA,CAAQyJ,MAAAA,CAAO,CAAA,CAAA,KAAO,MAAM,GAAA,GAAM,EAAA;AACjD,IAAA,IAAInM,IAAAA,CAAK,CAAA,CAAA,KAAO,OAAA,EAAS;AACvB,MAAA,OAAO,EAAA;AACT,IAAA;AACA,IAAA,IAAIA,IAAAA,CAAKf,WAAW,CAAA,EAAG;AACrByD,MAAAA,OAAAA,GAAUwJ,MAAAA,GAASlM,KAAK,CAAA,CAAA;AAC1B,IAAA;AACF,EAAA;AACA,EAAA,OAAO0C,OAAAA;AACT;AAZSuI,mBAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAgBT,IAAMmB,SAAAA,GAAY,IAAI7N,MAAAA,CAAO,CAAA,2CAAA,CAAA,EAAgD,IAAA,CAAA;AAE7E,SAAS2M,kBAAAA,CAAmB/J,OAAAA,EAASuE,KAAAA,EAAOhF,OAAAA,EAAO;AACjD,EAAA,IAAI,KAAKb,OAAAA,CAAQoE,gBAAAA,KAAqB,IAAA,IAAQ,OAAO9C,YAAY,QAAA,EAAU;AAIzE,IAAA,MAAMxC,OAAAA,GAAUH,aAAAA,CAAc2C,OAAAA,EAASiL,SAAAA,CAAAA;AACvC,IAAA,MAAMlN,MAAMP,OAAAA,CAAQM,MAAAA;AACpB,IAAA,MAAM0G,QAAQ,EAAC;AACf,IAAA,KAAA,IAASvF,EAAAA,GAAI,CAAA,EAAGA,EAAAA,GAAIlB,GAAAA,EAAKkB,EAAAA,EAAAA,EAAK;AAC5B,MAAA,MAAM+C,WAAW,IAAA,CAAK8H,gBAAAA,CAAiBtM,QAAQyB,EAAAA,CAAAA,CAAG,CAAA,CAAE,CAAA;AACpD,MAAA,IAAI,IAAA,CAAKmL,kBAAAA,CAAmBpI,QAAAA,EAAUuC,KAAAA,CAAAA,EAAQ;AAC5C,QAAA;AACF,MAAA;AACA,MAAA,IAAI2G,MAAAA,GAAS1N,OAAAA,CAAQyB,EAAAA,CAAAA,CAAG,CAAA,CAAA;AACxB,MAAA,IAAIkM,KAAAA,GAAQ,IAAA,CAAKzM,OAAAA,CAAQiE,mBAAAA,GAAsBX,QAAAA;AAC/C,MAAA,IAAIA,SAASlE,MAAAA,EAAQ;AACnB,QAAA,IAAI,IAAA,CAAKY,QAAQ2F,sBAAAA,EAAwB;AACvC8G,UAAAA,KAAAA,GAAQ,IAAA,CAAKzM,OAAAA,CAAQ2F,sBAAAA,CAAuB8G,KAAAA,CAAAA;AAC9C,QAAA;AACA,QAAA,IAAGA,KAAAA,KAAU,aAAaA,KAAAA,GAAS,YAAA;AACnC,QAAA,IAAID,WAAWnJ,MAAAA,EAAW;AACxB,UAAA,IAAI,IAAA,CAAKrD,QAAQwE,UAAAA,EAAY;AAC3BgI,YAAAA,MAAAA,GAASA,OAAO1L,IAAAA,EAAI;AACtB,UAAA;AACA0L,UAAAA,MAAAA,GAAS,IAAA,CAAKjB,qBAAqBiB,MAAAA,CAAAA;AACnC,UAAA,MAAME,SAAS,IAAA,CAAK1M,OAAAA,CAAQiF,uBAAAA,CAAwB3B,QAAAA,EAAUkJ,QAAQ3G,KAAAA,CAAAA;AACtE,UAAA,IAAG6G,MAAAA,KAAW,IAAA,IAAQA,MAAAA,KAAWrJ,MAAAA,EAAU;AAEzCyC,YAAAA,KAAAA,CAAM2G,KAAAA,CAAAA,GAASD,MAAAA;AACjB,UAAA,CAAA,MAAA,IAAS,OAAOE,MAAAA,KAAW,OAAOF,MAAAA,IAAUE,WAAWF,MAAAA,EAAO;AAE5D1G,YAAAA,KAAAA,CAAM2G,KAAAA,CAAAA,GAASC,MAAAA;UACjB,CAAA,MAAK;AAEH5G,YAAAA,KAAAA,CAAM2G,KAAAA,IAASN,UAAAA,CACbK,MAAAA,EACA,KAAKxM,OAAAA,CAAQuE,mBAAAA,EACb,IAAA,CAAKvE,OAAAA,CAAQ0E,kBAAkB,CAAA;AAEnC,UAAA;QACF,CAAA,MAAA,IAAW,IAAA,CAAK1E,QAAQJ,sBAAAA,EAAwB;AAC9CkG,UAAAA,KAAAA,CAAM2G,KAAAA,CAAAA,GAAS,IAAA;AACjB,QAAA;AACF,MAAA;AACF,IAAA;AACA,IAAA,IAAI,CAACxM,MAAAA,CAAOwG,IAAAA,CAAKX,KAAAA,EAAO1G,MAAAA,EAAQ;AAC9B,MAAA;AACF,IAAA;AACA,IAAA,IAAI,IAAA,CAAKY,QAAQkE,mBAAAA,EAAqB;AACpC,MAAA,MAAMyI,iBAAiB,EAAC;AACxBA,MAAAA,cAAAA,CAAe,IAAA,CAAK3M,OAAAA,CAAQkE,mBAAmB,CAAA,GAAI4B,KAAAA;AACnD,MAAA,OAAO6G,cAAAA;AACT,IAAA;AACA,IAAA,OAAO7G,KAAAA;AACT,EAAA;AACF;AAvDSuF,mBAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAyDT,IAAMH,QAAAA,gDAAoBnL,OAAAA,EAAO;AAC/BA,EAAAA,OAAAA,GAAUA,OAAAA,CAAQ2C,OAAAA,CAAQ,QAAA,EAAU,IAAA,CAAA;AACpC,EAAA,MAAMkK,MAAAA,GAAS,IAAIC,OAAAA,CAAQ,MAAA,CAAA;AAC3B,EAAA,IAAInC,WAAAA,GAAckC,MAAAA;AAClB,EAAA,IAAIE,QAAAA,GAAW,EAAA;AACf,EAAA,IAAIjH,KAAAA,GAAQ,EAAA;AACZ,EAAA,KAAA,IAAQtF,EAAAA,GAAE,CAAA,EAAGA,EAAAA,GAAGR,OAAAA,CAAQX,QAAQmB,EAAAA,EAAAA,EAAI;AAClC,IAAA,MAAMwM,EAAAA,GAAKhN,QAAQQ,EAAAA,CAAAA;AACnB,IAAA,IAAGwM,OAAO,GAAA,EAAI;AAGZ,MAAA,IAAIhN,OAAAA,CAAQQ,EAAAA,GAAE,CAAA,CAAA,KAAO,GAAA,EAAK;AACxB,QAAA,MAAMyM,UAAAA,GAAaC,gBAAAA,CAAiBlN,OAAAA,EAAS,GAAA,EAAKQ,IAAG,4BAAA,CAAA;AACrD,QAAA,IAAIM,UAAUd,OAAAA,CAAQgB,SAAAA,CAAUR,KAAE,CAAA,EAAEyM,UAAAA,EAAYlM,IAAAA,EAAI;AAEpD,QAAA,IAAG,IAAA,CAAKd,QAAQqE,cAAAA,EAAe;AAC7B,UAAA,MAAM6I,UAAAA,GAAarM,OAAAA,CAAQqB,OAAAA,CAAQ,GAAA,CAAA;AACnC,UAAA,IAAGgL,eAAe,EAAA,EAAG;AACnBrM,YAAAA,OAAAA,GAAUA,OAAAA,CAAQP,MAAAA,CAAO4M,UAAAA,GAAW,CAAA,CAAA;AACtC,UAAA;AACF,QAAA;AAEA,QAAA,IAAG,IAAA,CAAKlN,QAAQ0F,gBAAAA,EAAkB;AAChC7E,UAAAA,OAAAA,GAAU,IAAA,CAAKb,OAAAA,CAAQ0F,gBAAAA,CAAiB7E,OAAAA,CAAAA;AAC1C,QAAA;AAEA,QAAA,IAAG6J,WAAAA,EAAY;AACboC,UAAAA,QAAAA,GAAW,IAAA,CAAKrB,mBAAAA,CAAoBqB,QAAAA,EAAUpC,WAAAA,EAAa7E,KAAAA,CAAAA;AAC7D,QAAA;AAGA,QAAA,MAAMsH,cAActH,KAAAA,CAAM9E,SAAAA,CAAU8E,MAAMuH,WAAAA,CAAY,GAAA,IAAK,CAAA,CAAA;AAC3D,QAAA,IAAGvM,WAAW,IAAA,CAAKb,OAAAA,CAAQH,aAAaqC,OAAAA,CAAQrB,OAAAA,MAAa,EAAA,EAAI;AAC/D,UAAA,MAAM,IAAIwG,KAAAA,CAAM,CAAA,+CAAA,EAAkDxG,OAAAA,CAAAA,CAAAA,CAAU,CAAA;AAC9E,QAAA;AACA,QAAA,IAAIwM,SAAAA,GAAY,CAAA;AAChB,QAAA,IAAGF,eAAe,IAAA,CAAKnN,OAAAA,CAAQH,aAAaqC,OAAAA,CAAQiL,WAAAA,MAAiB,EAAA,EAAI;AACvEE,UAAAA,SAAAA,GAAYxH,MAAMuH,WAAAA,CAAY,GAAA,EAAKvH,MAAMuH,WAAAA,CAAY,GAAA,IAAK,CAAA,CAAA;AAC1D,UAAA,IAAA,CAAKzC,cAAc5I,GAAAA,EAAG;QACxB,CAAA,MAAK;AACHsL,UAAAA,SAAAA,GAAYxH,KAAAA,CAAMuH,YAAY,GAAA,CAAA;AAChC,QAAA;AACAvH,QAAAA,KAAAA,GAAQA,KAAAA,CAAM9E,SAAAA,CAAU,CAAA,EAAGsM,SAAAA,CAAAA;AAE3B3C,QAAAA,WAAAA,GAAc,IAAA,CAAKC,cAAc5I,GAAAA,EAAG;AACpC+K,QAAAA,QAAAA,GAAW,EAAA;AACXvM,QAAAA,EAAAA,GAAIyM,UAAAA;AACN,MAAA,CAAA,MAAA,IAAWjN,OAAAA,CAAQQ,EAAAA,GAAE,CAAA,CAAA,KAAO,GAAA,EAAK;AAE/B,QAAA,IAAI+M,OAAAA,GAAUC,UAAAA,CAAWxN,OAAAA,EAAQQ,EAAAA,EAAG,OAAO,IAAA,CAAA;AAC3C,QAAA,IAAG,CAAC+M,OAAAA,EAAS,MAAM,IAAIjG,MAAM,uBAAA,CAAA;AAE7ByF,QAAAA,QAAAA,GAAW,IAAA,CAAKrB,mBAAAA,CAAoBqB,QAAAA,EAAUpC,WAAAA,EAAa7E,KAAAA,CAAAA;AAC3D,QAAA,IAAK,IAAA,CAAK7F,QAAQwF,iBAAAA,IAAqB8H,OAAAA,CAAQzM,YAAY,MAAA,IAAW,IAAA,CAAKb,QAAQyF,YAAAA,EAAa,CAEhG,MAAK;AAEH,UAAA,MAAM+H,SAAAA,GAAY,IAAIX,OAAAA,CAAQS,OAAAA,CAAQzM,OAAO,CAAA;AAC7C2M,UAAAA,SAAAA,CAAUnH,GAAAA,CAAI,IAAA,CAAKrG,OAAAA,CAAQmE,YAAAA,EAAc,EAAA,CAAA;AAEzC,UAAA,IAAGmJ,OAAAA,CAAQzM,OAAAA,KAAYyM,OAAAA,CAAQG,MAAAA,IAAUH,QAAQI,cAAAA,EAAe;AAC9DF,YAAAA,SAAAA,CAAU,IAAA,IAAQ,IAAA,CAAKnC,kBAAAA,CAAmBiC,QAAQG,MAAAA,EAAQ5H,KAAAA,EAAOyH,QAAQzM,OAAO,CAAA;AAClF,UAAA;AACA,UAAA,IAAA,CAAK0F,QAAAA,CAASmE,WAAAA,EAAa8C,SAAAA,EAAW3H,KAAAA,EAAOtF,EAAAA,CAAAA;AAC/C,QAAA;AAGAA,QAAAA,EAAAA,GAAI+M,QAAQN,UAAAA,GAAa,CAAA;AAC3B,MAAA,CAAA,MAAA,IAAUjN,QAAQO,MAAAA,CAAOC,EAAAA,GAAI,CAAA,EAAG,CAAA,MAAO,KAAA,EAAO;AAC5C,QAAA,MAAMoN,WAAWV,gBAAAA,CAAiBlN,OAAAA,EAAS,KAAA,EAAOQ,EAAAA,GAAE,GAAG,wBAAA,CAAA;AACvD,QAAA,IAAG,IAAA,CAAKP,QAAQqF,eAAAA,EAAgB;AAC9B,UAAA,MAAMwB,UAAU9G,OAAAA,CAAQgB,SAAAA,CAAUR,EAAAA,GAAI,CAAA,EAAGoN,WAAW,CAAA,CAAA;AAEpDb,UAAAA,QAAAA,GAAW,IAAA,CAAKrB,mBAAAA,CAAoBqB,QAAAA,EAAUpC,WAAAA,EAAa7E,KAAAA,CAAAA;AAE3D6E,UAAAA,WAAAA,CAAYrE,GAAAA,CAAI,IAAA,CAAKrG,OAAAA,CAAQqF,eAAAA,EAAiB;AAAE,YAAA;cAAE,CAAC,IAAA,CAAKrF,OAAAA,CAAQmE,YAAY,GAAI0C;AAAQ;AAAG,WAAA,CAAA;AAC7F,QAAA;AACAtG,QAAAA,EAAAA,GAAIoN,QAAAA;AACN,MAAA,CAAA,MAAA,IAAW5N,QAAQO,MAAAA,CAAOC,EAAAA,GAAI,CAAA,EAAG,CAAA,MAAO,IAAA,EAAM;AAC5C,QAAA,MAAMa,MAAAA,GAASkG,WAAAA,CAAYvH,OAAAA,EAASQ,EAAAA,CAAAA;AACpC,QAAA,IAAA,CAAKqK,kBAAkBxJ,MAAAA,CAAOuF,QAAAA;AAC9BpG,QAAAA,KAAIa,MAAAA,CAAOb,CAAAA;AACb,MAAA,CAAA,MAAA,IAASR,QAAQO,MAAAA,CAAOC,EAAAA,GAAI,CAAA,EAAG,CAAA,MAAO,IAAA,EAAM;AAC1C,QAAA,MAAMyM,aAAaC,gBAAAA,CAAiBlN,OAAAA,EAAS,KAAA,EAAOQ,EAAAA,EAAG,sBAAA,CAAA,GAA0B,CAAA;AACjF,QAAA,MAAMkN,MAAAA,GAAS1N,OAAAA,CAAQgB,SAAAA,CAAUR,EAAAA,GAAI,GAAEyM,UAAAA,CAAAA;AAEvCF,QAAAA,QAAAA,GAAW,IAAA,CAAKrB,mBAAAA,CAAoBqB,QAAAA,EAAUpC,WAAAA,EAAa7E,KAAAA,CAAAA;AAE3D,QAAA,IAAIb,GAAAA,GAAM,IAAA,CAAKmG,aAAAA,CAAcsC,MAAAA,EAAQ/C,WAAAA,CAAY7H,SAASgD,KAAAA,EAAO,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,IAAA,CAAA;AACpF,QAAA,IAAGb,GAAAA,IAAO3B,QAAW2B,GAAAA,GAAM,EAAA;AAG3B,QAAA,IAAG,IAAA,CAAKhF,QAAQyE,aAAAA,EAAc;AAC5BiG,UAAAA,WAAAA,CAAYrE,GAAAA,CAAI,IAAA,CAAKrG,OAAAA,CAAQyE,aAAAA,EAAe;AAAE,YAAA;cAAE,CAAC,IAAA,CAAKzE,OAAAA,CAAQmE,YAAY,GAAIsJ;AAAO;AAAG,WAAA,CAAA;QAC1F,CAAA,MAAK;AACH/C,UAAAA,WAAAA,CAAYrE,GAAAA,CAAI,IAAA,CAAKrG,OAAAA,CAAQmE,YAAAA,EAAca,GAAAA,CAAAA;AAC7C,QAAA;AAEAzE,QAAAA,KAAIyM,UAAAA,GAAa,CAAA;MACnB,CAAA,MAAM;AACJ,QAAA,IAAI5L,SAASmM,UAAAA,CAAWxN,OAAAA,EAAQQ,EAAAA,EAAG,IAAA,CAAKP,QAAQqE,cAAc,CAAA;AAC9D,QAAA,IAAIxD,UAASO,MAAAA,CAAOP,OAAAA;AACpB,QAAA,MAAM+M,aAAaxM,MAAAA,CAAOwM,UAAAA;AAC1B,QAAA,IAAIH,SAASrM,MAAAA,CAAOqM,MAAAA;AACpB,QAAA,IAAIC,iBAAiBtM,MAAAA,CAAOsM,cAAAA;AAC5B,QAAA,IAAIV,aAAa5L,MAAAA,CAAO4L,UAAAA;AAExB,QAAA,IAAI,IAAA,CAAKhN,QAAQ0F,gBAAAA,EAAkB;AACjC7E,UAAAA,OAAAA,GAAU,IAAA,CAAKb,OAAAA,CAAQ0F,gBAAAA,CAAiB7E,OAAAA,CAAAA;AAC1C,QAAA;AAGA,QAAA,IAAI6J,eAAeoC,QAAAA,EAAU;AAC3B,UAAA,IAAGpC,WAAAA,CAAY7H,YAAY,MAAA,EAAO;AAEhCiK,YAAAA,QAAAA,GAAW,IAAA,CAAKrB,mBAAAA,CAAoBqB,QAAAA,EAAUpC,WAAAA,EAAa7E,OAAO,KAAA,CAAA;AACpE,UAAA;AACF,QAAA;AAGA,QAAA,MAAMgI,OAAAA,GAAUnD,WAAAA;AAChB,QAAA,IAAGmD,OAAAA,IAAW,KAAK7N,OAAAA,CAAQH,YAAAA,CAAaqC,QAAQ2L,OAAAA,CAAQhL,OAAO,MAAM,EAAA,EAAI;AACvE6H,UAAAA,WAAAA,GAAc,IAAA,CAAKC,cAAc5I,GAAAA,EAAG;AACpC8D,UAAAA,KAAAA,GAAQA,MAAM9E,SAAAA,CAAU,CAAA,EAAG8E,KAAAA,CAAMuH,WAAAA,CAAY,GAAA,CAAA,CAAA;AAC/C,QAAA;AACA,QAAA,IAAGvM,OAAAA,KAAY+L,OAAO/J,OAAAA,EAAQ;AAC5BgD,UAAAA,KAAAA,IAASA,KAAAA,GAAQ,MAAMhF,OAAAA,GAAUA,OAAAA;AACnC,QAAA;AACA,QAAA,MAAM3B,UAAAA,GAAaqB,EAAAA;AACnB,QAAA,IAAI,KAAK+K,YAAAA,CAAa,IAAA,CAAKtL,QAAQkF,SAAAA,EAAWW,KAAAA,EAAOhF,OAAAA,CAAAA,EAAU;AAC7D,UAAA,IAAIiN,UAAAA,GAAa,EAAA;AAEjB,UAAA,IAAGL,MAAAA,CAAOrO,SAAS,CAAA,IAAKqO,MAAAA,CAAOL,YAAY,GAAA,CAAA,KAASK,MAAAA,CAAOrO,MAAAA,GAAS,CAAA,EAAE;AACpE,YAAA,IAAGyB,OAAAA,CAAQA,OAAAA,CAAQzB,MAAAA,GAAS,CAAA,MAAO,GAAA,EAAI;AACrCyB,cAAAA,OAAAA,GAAUA,OAAAA,CAAQP,MAAAA,CAAO,CAAA,EAAGO,OAAAA,CAAQzB,SAAS,CAAA,CAAA;AAC7CyG,cAAAA,KAAAA,GAAQA,KAAAA,CAAMvF,MAAAA,CAAO,CAAA,EAAGuF,KAAAA,CAAMzG,SAAS,CAAA,CAAA;AACvCqO,cAAAA,MAAAA,GAAS5M,OAAAA;YACX,CAAA,MAAK;AACH4M,cAAAA,MAAAA,GAASA,MAAAA,CAAOnN,MAAAA,CAAO,CAAA,EAAGmN,MAAAA,CAAOrO,SAAS,CAAA,CAAA;AAC5C,YAAA;AACAmB,YAAAA,KAAIa,MAAAA,CAAO4L,UAAAA;AACb,UAAA,CAAA,MAAA,IAEQ,KAAKhN,OAAAA,CAAQH,YAAAA,CAAaqC,OAAAA,CAAQrB,OAAAA,MAAa,EAAA,EAAG;AAExDN,YAAAA,KAAIa,MAAAA,CAAO4L,UAAAA;UACb,CAAA,MAEI;AAEF,YAAA,MAAM5L,UAAS,IAAA,CAAKoK,gBAAAA,CAAiBzL,OAAAA,EAAS6N,UAAAA,EAAYZ,aAAa,CAAA,CAAA;AACvE,YAAA,IAAG,CAAC5L,OAAAA,EAAQ,MAAM,IAAIiG,KAAAA,CAAM,CAAA,kBAAA,EAAqBuG,UAAAA,CAAAA,CAAY,CAAA;AAC7DrN,YAAAA,KAAIa,OAAAA,CAAOb,CAAAA;AACXuN,YAAAA,UAAAA,GAAa1M,OAAAA,CAAO0M,UAAAA;AACtB,UAAA;AAEA,UAAA,MAAMN,SAAAA,GAAY,IAAIX,OAAAA,CAAQhM,OAAAA,CAAAA;AAE9B,UAAA,IAAGA,OAAAA,KAAY4M,UAAUC,cAAAA,EAAe;AACtCF,YAAAA,SAAAA,CAAU,IAAA,CAAA,GAAQ,IAAA,CAAKnC,kBAAAA,CAAmBoC,MAAAA,EAAQ5H,OAAOhF,OAAAA,CAAAA;AAC3D,UAAA;AACA,UAAA,IAAGiN,UAAAA,EAAY;AACbA,YAAAA,UAAAA,GAAa,IAAA,CAAK3C,cAAc2C,UAAAA,EAAYjN,OAAAA,EAASgF,OAAO,IAAA,EAAM6H,cAAAA,EAAgB,MAAM,IAAA,CAAA;AAC1F,UAAA;AAEA7H,UAAAA,KAAAA,GAAQA,MAAMvF,MAAAA,CAAO,CAAA,EAAGuF,KAAAA,CAAMuH,WAAAA,CAAY,GAAA,CAAA,CAAA;AAC1CI,UAAAA,SAAAA,CAAUnH,GAAAA,CAAI,IAAA,CAAKrG,OAAAA,CAAQmE,YAAAA,EAAc2J,UAAAA,CAAAA;AAEzC,UAAA,IAAA,CAAKvH,QAAAA,CAASmE,WAAAA,EAAa8C,SAAAA,EAAW3H,KAAAA,EAAO3G,UAAAA,CAAAA;QAC/C,CAAA,MAAK;AAEH,UAAA,IAAGuO,MAAAA,CAAOrO,SAAS,CAAA,IAAKqO,MAAAA,CAAOL,YAAY,GAAA,CAAA,KAASK,MAAAA,CAAOrO,MAAAA,GAAS,CAAA,EAAE;AACpE,YAAA,IAAGyB,OAAAA,CAAQA,OAAAA,CAAQzB,MAAAA,GAAS,CAAA,MAAO,GAAA,EAAI;AACrCyB,cAAAA,OAAAA,GAAUA,OAAAA,CAAQP,MAAAA,CAAO,CAAA,EAAGO,OAAAA,CAAQzB,SAAS,CAAA,CAAA;AAC7CyG,cAAAA,KAAAA,GAAQA,KAAAA,CAAMvF,MAAAA,CAAO,CAAA,EAAGuF,KAAAA,CAAMzG,SAAS,CAAA,CAAA;AACvCqO,cAAAA,MAAAA,GAAS5M,OAAAA;YACX,CAAA,MAAK;AACH4M,cAAAA,MAAAA,GAASA,MAAAA,CAAOnN,MAAAA,CAAO,CAAA,EAAGmN,MAAAA,CAAOrO,SAAS,CAAA,CAAA;AAC5C,YAAA;AAEA,YAAA,IAAG,IAAA,CAAKY,QAAQ0F,gBAAAA,EAAkB;AAChC7E,cAAAA,OAAAA,GAAU,IAAA,CAAKb,OAAAA,CAAQ0F,gBAAAA,CAAiB7E,OAAAA,CAAAA;AAC1C,YAAA;AAEA,YAAA,MAAM2M,SAAAA,GAAY,IAAIX,OAAAA,CAAQhM,OAAAA,CAAAA;AAC9B,YAAA,IAAGA,OAAAA,KAAY4M,UAAUC,cAAAA,EAAe;AACtCF,cAAAA,SAAAA,CAAU,IAAA,CAAA,GAAQ,IAAA,CAAKnC,kBAAAA,CAAmBoC,MAAAA,EAAQ5H,OAAOhF,OAAAA,CAAAA;AAC3D,YAAA;AACA,YAAA,IAAA,CAAK0F,QAAAA,CAASmE,WAAAA,EAAa8C,SAAAA,EAAW3H,KAAAA,EAAO3G,UAAAA,CAAAA;AAC7C2G,YAAAA,KAAAA,GAAQA,MAAMvF,MAAAA,CAAO,CAAA,EAAGuF,KAAAA,CAAMuH,WAAAA,CAAY,GAAA,CAAA,CAAA;UAC5C,CAAA,MAEI;AACF,YAAA,MAAMI,SAAAA,GAAY,IAAIX,OAAAA,CAAShM,OAAAA,CAAAA;AAC/B,YAAA,IAAA,CAAK8J,aAAAA,CAAcpL,KAAKmL,WAAAA,CAAAA;AAExB,YAAA,IAAG7J,OAAAA,KAAY4M,UAAUC,cAAAA,EAAe;AACtCF,cAAAA,SAAAA,CAAU,IAAA,CAAA,GAAQ,IAAA,CAAKnC,kBAAAA,CAAmBoC,MAAAA,EAAQ5H,OAAOhF,OAAAA,CAAAA;AAC3D,YAAA;AACA,YAAA,IAAA,CAAK0F,QAAAA,CAASmE,WAAAA,EAAa8C,SAAAA,EAAW3H,KAAAA,EAAO3G,UAAAA,CAAAA;AAC7CwL,YAAAA,WAAAA,GAAc8C,SAAAA;AAChB,UAAA;AACAV,UAAAA,QAAAA,GAAW,EAAA;AACXvM,UAAAA,EAAAA,GAAIyM,UAAAA;AACN,QAAA;AACF,MAAA;IACF,CAAA,MAAK;AACHF,MAAAA,QAAAA,IAAY/M,QAAQQ,EAAAA,CAAAA;AACtB,IAAA;AACF,EAAA;AACA,EAAA,OAAOqM,MAAAA,CAAOxG,KAAAA;AAChB,CAAA,EAnNiB,UAAA,CAAA;AAqNjB,SAASG,QAAAA,CAASmE,WAAAA,EAAa8C,SAAAA,EAAW3H,KAAAA,EAAO3G,UAAAA,EAAU;AAEzD,EAAA,IAAI,CAAC,IAAA,CAAKc,OAAAA,CAAQ+F,eAAAA,EAAiB7G,UAAAA,GAAamE,MAAAA;AAChD,EAAA,MAAMjC,MAAAA,GAAS,KAAKpB,OAAAA,CAAQ4F,SAAAA,CAAU4H,UAAU3K,OAAAA,EAASgD,KAAAA,EAAO2H,SAAAA,CAAU,IAAA,CAAK,CAAA;AAC/E,EAAA,IAAGpM,WAAW,KAAA,EAAM,CACpB,MAAA,IAAU,OAAOA,WAAW,QAAA,EAAS;AACnCoM,IAAAA,SAAAA,CAAU3K,OAAAA,GAAUzB,MAAAA;AACpBsJ,IAAAA,WAAAA,CAAYnE,QAAAA,CAASiH,WAAWtO,UAAAA,CAAAA;EAClC,CAAA,MAAK;AACHwL,IAAAA,WAAAA,CAAYnE,QAAAA,CAASiH,WAAWtO,UAAAA,CAAAA;AAClC,EAAA;AACF;AAXSqH,mBAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAaT,IAAMgF,oBAAAA,gDAAgCvG,GAAAA,EAAG;AAEvC,EAAA,IAAG,IAAA,CAAKhF,QAAQsF,eAAAA,EAAgB;AAC9B,IAAA,KAAA,IAAQ0B,UAAAA,IAAc,KAAK4D,eAAAA,EAAgB;AACzC,MAAA,MAAMmD,MAAAA,GAAS,IAAA,CAAKnD,eAAAA,CAAgB5D,UAAAA,CAAAA;AACpChC,MAAAA,GAAAA,GAAMA,GAAAA,CAAItC,OAAAA,CAASqL,MAAAA,CAAO7G,IAAAA,EAAM6G,OAAO/I,GAAG,CAAA;AAC5C,IAAA;AACA,IAAA,KAAA,IAAQgC,UAAAA,IAAc,KAAK6D,YAAAA,EAAa;AACtC,MAAA,MAAMkD,MAAAA,GAAS,IAAA,CAAKlD,YAAAA,CAAa7D,UAAAA,CAAAA;AACjChC,MAAAA,GAAAA,GAAMA,GAAAA,CAAItC,OAAAA,CAASqL,MAAAA,CAAOlP,KAAAA,EAAOkP,OAAO/I,GAAG,CAAA;AAC7C,IAAA;AACA,IAAA,IAAG,IAAA,CAAKhF,QAAQuF,YAAAA,EAAa;AAC3B,MAAA,KAAA,IAAQyB,UAAAA,IAAc,KAAKzB,YAAAA,EAAa;AACtC,QAAA,MAAMwI,MAAAA,GAAS,IAAA,CAAKxI,YAAAA,CAAayB,UAAAA,CAAAA;AACjChC,QAAAA,GAAAA,GAAMA,GAAAA,CAAItC,OAAAA,CAASqL,MAAAA,CAAOlP,KAAAA,EAAOkP,OAAO/I,GAAG,CAAA;AAC7C,MAAA;AACF,IAAA;AACAA,IAAAA,GAAAA,GAAMA,IAAItC,OAAAA,CAAS,IAAA,CAAKoI,UAAUjM,KAAAA,EAAO,IAAA,CAAKiM,UAAU9F,GAAG,CAAA;AAC7D,EAAA;AACA,EAAA,OAAOA,GAAAA;AACT,CAAA,EApB6B,sBAAA,CAAA;AAqB7B,SAASyG,mBAAAA,CAAoBqB,QAAAA,EAAUpC,WAAAA,EAAa7E,KAAAA,EAAOmG,UAAAA,EAAU;AACnE,EAAA,IAAIc,QAAAA,EAAU;AACZ,IAAA,IAAGd,UAAAA,KAAe3I,MAAAA,EAAW2I,UAAAA,GAAatB,WAAAA,CAAYtE,MAAMhH,MAAAA,KAAW,CAAA;AAEvE0N,IAAAA,QAAAA,GAAW,KAAK3B,aAAAA,CAAc2B,QAAAA,EAC5BpC,YAAY7H,OAAAA,EACZgD,KAAAA,EACA,OACA6E,WAAAA,CAAY,IAAA,IAAQzK,MAAAA,CAAOwG,IAAAA,CAAKiE,YAAY,IAAA,CAAK,EAAEtL,MAAAA,KAAW,CAAA,GAAI,OAClE4M,UAAAA,CAAAA;AAEF,IAAA,IAAIc,QAAAA,KAAazJ,UAAayJ,QAAAA,KAAa,EAAA,cAC7BzG,GAAAA,CAAI,IAAA,CAAKrG,OAAAA,CAAQmE,YAAAA,EAAc2I,QAAAA,CAAAA;AAC7CA,IAAAA,QAAAA,GAAW,EAAA;AACb,EAAA;AACA,EAAA,OAAOA,QAAAA;AACT;AAhBSrB,mBAAAA,CAAAA,mBAAAA,EAAAA,qBAAAA,CAAAA;AAyBT,SAASH,YAAAA,CAAapG,SAAAA,EAAWW,KAAAA,EAAOmI,cAAAA,EAAc;AACpD,EAAA,MAAMC,cAAc,IAAA,GAAOD,cAAAA;AAC3B,EAAA,KAAA,MAAWE,gBAAgBhJ,SAAAA,EAAW;AACpC,IAAA,MAAMiJ,WAAAA,GAAcjJ,UAAUgJ,YAAAA,CAAAA;AAC9B,IAAA,IAAID,WAAAA,KAAgBE,WAAAA,IAAetI,KAAAA,KAAUsI,WAAAA,EAAe,OAAO,IAAA;AACrE,EAAA;AACA,EAAA,OAAO,KAAA;AACT;AAPS7C,mBAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAeT,SAAS8C,sBAAAA,CAAuBrO,OAAAA,EAASQ,EAAAA,EAAG8N,WAAAA,GAAc,GAAA,EAAG;AAC3D,EAAA,IAAIC,YAAAA;AACJ,EAAA,IAAIb,MAAAA,GAAS,EAAA;AACb,EAAA,KAAA,IAASnO,KAAAA,GAAQiB,EAAAA,EAAGjB,KAAAA,GAAQS,OAAAA,CAAQX,QAAQE,KAAAA,EAAAA,EAAS;AACnD,IAAA,IAAIyN,EAAAA,GAAKhN,QAAQT,KAAAA,CAAAA;AACjB,IAAA,IAAIgP,YAAAA,EAAc;AACd,MAAA,IAAIvB,EAAAA,KAAOuB,cAAcA,YAAAA,GAAe,EAAA;IAC5C,CAAA,MAAA,IAAWvB,EAAAA,KAAO,GAAA,IAAOA,EAAAA,KAAO,GAAA,EAAK;AACjCuB,MAAAA,YAAAA,GAAevB,EAAAA;IACnB,CAAA,MAAA,IAAWA,EAAAA,KAAOsB,WAAAA,CAAY,CAAA,CAAA,EAAI;AAChC,MAAA,IAAGA,WAAAA,CAAY,CAAA,CAAA,EAAG;AAChB,QAAA,IAAGtO,QAAQT,KAAAA,GAAQ,CAAA,CAAA,KAAO+O,WAAAA,CAAY,CAAA,CAAA,EAAG;AACvC,UAAA,OAAO;YACL7G,IAAAA,EAAMiG,MAAAA;AACNnO,YAAAA;AACF,WAAA;AACF,QAAA;MACF,CAAA,MAAK;AACH,QAAA,OAAO;UACLkI,IAAAA,EAAMiG,MAAAA;AACNnO,UAAAA;AACF,SAAA;AACF,MAAA;AACF,IAAA,CAAA,MAAA,IAAWyN,OAAO,GAAA,EAAM;AACtBA,MAAAA,EAAAA,GAAK,GAAA;AACP,IAAA;AACAU,IAAAA,MAAAA,IAAUV,EAAAA;AACZ,EAAA;AACF;AA5BSqB,mBAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AA8BT,SAASnB,gBAAAA,CAAiBlN,OAAAA,EAAS8I,GAAAA,EAAKtI,EAAAA,EAAGgO,MAAAA,EAAM;AAC/C,EAAA,MAAMC,YAAAA,GAAezO,OAAAA,CAAQmC,OAAAA,CAAQ2G,GAAAA,EAAKtI,EAAAA,CAAAA;AAC1C,EAAA,IAAGiO,iBAAiB,EAAA,EAAG;AACrB,IAAA,MAAM,IAAInH,MAAMkH,MAAAA,CAAAA;EAClB,CAAA,MAAK;AACH,IAAA,OAAOC,YAAAA,GAAe3F,IAAIzJ,MAAAA,GAAS,CAAA;AACrC,EAAA;AACF;AAPS6N,mBAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAST,SAASM,UAAAA,CAAWxN,OAAAA,EAAQQ,EAAAA,EAAG8D,cAAAA,EAAgBgK,cAAc,GAAA,EAAG;AAC9D,EAAA,MAAMjN,MAAAA,GAASgN,sBAAAA,CAAuBrO,OAAAA,EAASQ,EAAAA,GAAE,GAAG8N,WAAAA,CAAAA;AACpD,EAAA,IAAG,CAACjN,MAAAA,EAAQ;AACZ,EAAA,IAAIqM,SAASrM,MAAAA,CAAOoG,IAAAA;AACpB,EAAA,MAAMwF,aAAa5L,MAAAA,CAAO9B,KAAAA;AAC1B,EAAA,MAAMmP,cAAAA,GAAiBhB,MAAAA,CAAOxE,MAAAA,CAAO,IAAA,CAAA;AACrC,EAAA,IAAIpI,OAAAA,GAAU4M,MAAAA;AACd,EAAA,IAAIC,cAAAA,GAAiB,IAAA;AACrB,EAAA,IAAGe,mBAAmB,EAAA,EAAG;AACvB5N,IAAAA,OAAAA,GAAU4M,MAAAA,CAAO1M,SAAAA,CAAU,CAAA,EAAG0N,cAAAA,CAAAA;AAC9BhB,IAAAA,MAAAA,GAASA,MAAAA,CAAO1M,SAAAA,CAAU0N,cAAAA,GAAiB,CAAA,EAAGC,SAAAA,EAAS;AACzD,EAAA;AAEA,EAAA,MAAMd,UAAAA,GAAa/M,OAAAA;AACnB,EAAA,IAAGwD,cAAAA,EAAe;AAChB,IAAA,MAAM6I,UAAAA,GAAarM,OAAAA,CAAQqB,OAAAA,CAAQ,GAAA,CAAA;AACnC,IAAA,IAAGgL,eAAe,EAAA,EAAG;AACnBrM,MAAAA,OAAAA,GAAUA,OAAAA,CAAQP,MAAAA,CAAO4M,UAAAA,GAAW,CAAA,CAAA;AACpCQ,MAAAA,cAAAA,GAAiB7M,OAAAA,KAAYO,MAAAA,CAAOoG,IAAAA,CAAKlH,MAAAA,CAAO4M,aAAa,CAAA,CAAA;AAC/D,IAAA;AACF,EAAA;AAEA,EAAA,OAAO;AACLrM,IAAAA,OAAAA;AACA4M,IAAAA,MAAAA;AACAT,IAAAA,UAAAA;AACAU,IAAAA,cAAAA;AACAE,IAAAA;AACF,GAAA;AACF;AA7BSL,mBAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;AAoCT,SAAS/B,gBAAAA,CAAiBzL,OAAAA,EAASc,OAAAA,EAASN,EAAAA,EAAC;AAC3C,EAAA,MAAMrB,UAAAA,GAAaqB,EAAAA;AAEnB,EAAA,IAAIoO,YAAAA,GAAe,CAAA;AAEnB,EAAA,OAAOpO,EAAAA,GAAIR,OAAAA,CAAQX,MAAAA,EAAQmB,EAAAA,EAAAA,EAAK;AAC9B,IAAA,IAAIR,OAAAA,CAAQQ,EAAAA,CAAAA,KAAO,GAAA,EAAI;AACrB,MAAA,IAAIR,OAAAA,CAAQQ,EAAAA,GAAE,CAAA,CAAA,KAAO,GAAA,EAAK;AACtB,QAAA,MAAMyM,aAAaC,gBAAAA,CAAiBlN,OAAAA,EAAS,KAAKQ,EAAAA,EAAG,CAAA,EAAGM,OAAAA,CAAAA,cAAAA,CAAuB,CAAA;AAC/E,QAAA,IAAI+N,eAAe7O,OAAAA,CAAQgB,SAAAA,CAAUR,KAAE,CAAA,EAAEyM,UAAAA,EAAYlM,IAAAA,EAAI;AACzD,QAAA,IAAG8N,iBAAiB/N,OAAAA,EAAQ;AAC1B8N,UAAAA,YAAAA,EAAAA;AACA,UAAA,IAAIA,iBAAiB,CAAA,EAAG;AACtB,YAAA,OAAO;cACLb,UAAAA,EAAY/N,OAAAA,CAAQgB,SAAAA,CAAU7B,UAAAA,EAAYqB,EAAAA,CAAAA;cAC1CA,CAAAA,EAAIyM;AACN,aAAA;AACF,UAAA;AACF,QAAA;AACAzM,QAAAA,EAAAA,GAAEyM,UAAAA;AACJ,MAAA,CAAA,MAAA,IAAUjN,OAAAA,CAAQQ,EAAAA,GAAE,CAAA,CAAA,KAAO,GAAA,EAAK;AAC9B,QAAA,MAAMyM,aAAaC,gBAAAA,CAAiBlN,OAAAA,EAAS,IAAA,EAAMQ,EAAAA,GAAE,GAAG,yBAAA,CAAA;AACxDA,QAAAA,EAAAA,GAAEyM,UAAAA;AACJ,MAAA,CAAA,MAAA,IAAUjN,QAAQO,MAAAA,CAAOC,EAAAA,GAAI,CAAA,EAAG,CAAA,MAAO,KAAA,EAAO;AAC5C,QAAA,MAAMyM,aAAaC,gBAAAA,CAAiBlN,OAAAA,EAAS,KAAA,EAAOQ,EAAAA,GAAE,GAAG,yBAAA,CAAA;AACzDA,QAAAA,EAAAA,GAAEyM,UAAAA;AACJ,MAAA,CAAA,MAAA,IAAUjN,QAAQO,MAAAA,CAAOC,EAAAA,GAAI,CAAA,EAAG,CAAA,MAAO,IAAA,EAAM;AAC3C,QAAA,MAAMyM,aAAaC,gBAAAA,CAAiBlN,OAAAA,EAAS,KAAA,EAAOQ,EAAAA,EAAG,yBAAA,CAAA,GAA6B,CAAA;AACpFA,QAAAA,EAAAA,GAAEyM,UAAAA;MACJ,CAAA,MAAO;AACL,QAAA,MAAMM,OAAAA,GAAUC,UAAAA,CAAWxN,OAAAA,EAASQ,EAAAA,EAAG,GAAA,CAAA;AAEvC,QAAA,IAAI+M,OAAAA,EAAS;AACX,UAAA,MAAMuB,WAAAA,GAAcvB,WAAWA,OAAAA,CAAQzM,OAAAA;AACvC,UAAA,IAAIgO,WAAAA,KAAgBhO,WAAWyM,OAAAA,CAAQG,MAAAA,CAAOH,QAAQG,MAAAA,CAAOrO,MAAAA,GAAO,CAAA,CAAA,KAAO,GAAA,EAAK;AAC9EuP,YAAAA,YAAAA,EAAAA;AACF,UAAA;AACApO,UAAAA,KAAE+M,OAAAA,CAAQN,UAAAA;AACZ,QAAA;AACF,MAAA;AACF,IAAA;AACJ,EAAA;AACF;AA1CSxB,mBAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AA4CT,SAASW,UAAAA,CAAWnH,GAAAA,EAAK8J,WAAAA,EAAa9O,OAAAA,EAAO;AAC3C,EAAA,IAAI8O,WAAAA,IAAe,OAAO9J,GAAAA,KAAQ,QAAA,EAAU;AAE1C,IAAA,MAAMkH,MAAAA,GAASlH,IAAIlE,IAAAA,EAAI;AACvB,IAAA,IAAGoL,MAAAA,KAAW,QAAS,OAAO,IAAA;AACtBA,SAAAA,IAAAA,MAAAA,KAAW,SAAU,OAAO,KAAA;SAC/B,OAAOtC,QAAAA,CAAS5E,KAAKhF,OAAAA,CAAAA;EAC5B,CAAA,MAAO;AACL,IAAA,IAAIP,OAAAA,CAAQuF,GAAAA,CAAAA,EAAM;AAChB,MAAA,OAAOA,GAAAA;IACT,CAAA,MAAO;AACL,MAAA,OAAO,EAAA;AACT,IAAA;AACF,EAAA;AACF;AAdSmH,mBAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;;;AK/kBT9N,2BAAA,EAAA;AAIA,IAAM4H,gBAAAA,GAAkBE,QAAQO,iBAAAA,EAAiB;AAQlC,SAAf,QAAA,CAAiCF,MAAMxG,OAAAA,EAAO;AAC5C,EAAA,OAAO+O,QAAAA,CAAUvI,MAAMxG,OAAAA,CAAAA;AACzB;AAFwBgP,mBAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAWxB,SAASD,QAAAA,CAASE,GAAAA,EAAKjP,OAAAA,EAAS6F,KAAAA,EAAK;AACnC,EAAA,IAAIqJ,IAAAA;AACJ,EAAA,MAAMC,gBAAgB,EAAC;AACvB,EAAA,KAAA,IAAS5O,EAAAA,GAAI,CAAA,EAAGA,EAAAA,GAAI0O,GAAAA,CAAI7P,QAAQmB,EAAAA,EAAAA,EAAK;AACnC,IAAA,MAAM6O,MAAAA,GAASH,IAAI1O,EAAAA,CAAAA;AACnB,IAAA,MAAM8O,QAAAA,GAAWC,SAASF,MAAAA,CAAAA;AAC1B,IAAA,IAAIG,QAAAA,GAAW,EAAA;AACf,IAAA,IAAG1J,KAAAA,KAAUxC,QAAWkM,QAAAA,GAAWF,QAAAA;AAC9BE,SAAAA,QAAAA,GAAW1J,QAAQ,GAAA,GAAMwJ,QAAAA;AAE9B,IAAA,IAAGA,QAAAA,KAAarP,QAAQmE,YAAAA,EAAa;AACnC,MAAA,IAAG+K,IAAAA,KAAS7L,MAAAA,EAAW6L,IAAAA,GAAOE,MAAAA,CAAOC,QAAAA,CAAAA;WAChCH,IAAAA,IAAQ,EAAA,GAAKE,OAAOC,QAAAA,CAAAA;AAC3B,IAAA,CAAA,MAAA,IAASA,aAAahM,MAAAA,EAAU;AAC9B,MAAA;IACF,CAAA,MAAA,IAAS+L,MAAAA,CAAOC,QAAAA,CAAAA,EAAU;AAExB,MAAA,IAAIrK,MAAM+J,QAAAA,CAASK,MAAAA,CAAOC,QAAAA,CAAAA,EAAWrP,SAASuP,QAAAA,CAAAA;AAC9C,MAAA,MAAMC,MAAAA,GAASC,SAAAA,CAAUzK,GAAAA,EAAKhF,OAAAA,CAAAA;AAC9B,MAAA,IAAIoP,MAAAA,CAAOnJ,gBAAAA,CAAAA,KAAqB5C,MAAAA,EAAW;AACzC2B,QAAAA,GAAAA,CAAIiB,gBAAAA,CAAAA,GAAmBmJ,MAAAA,CAAOnJ,gBAAAA,CAAAA;AAChC,MAAA;AAEA,MAAA,IAAGmJ,MAAAA,CAAO,IAAA,CAAA,EAAM;AACdM,QAAAA,gBAAAA,CAAkB1K,GAAAA,EAAKoK,MAAAA,CAAO,IAAA,CAAA,EAAOG,UAAUvP,OAAAA,CAAAA;AACjD,MAAA,CAAA,MAAA,IAASC,MAAAA,CAAOwG,IAAAA,CAAKzB,GAAAA,CAAAA,CAAK5F,MAAAA,KAAW,CAAA,IAAK4F,GAAAA,CAAIhF,OAAAA,CAAQmE,YAAY,CAAA,KAAMd,MAAAA,IAAa,CAACrD,QAAQmF,oBAAAA,EAAqB;AACjHH,QAAAA,GAAAA,GAAMA,GAAAA,CAAIhF,QAAQmE,YAAY,CAAA;AAChC,MAAA,CAAA,MAAA,IAASlE,MAAAA,CAAOwG,IAAAA,CAAKzB,GAAAA,CAAAA,CAAK5F,WAAW,CAAA,EAAE;AACrC,QAAA,IAAGY,OAAAA,CAAQmF,oBAAAA,EAAsBH,GAAAA,CAAIhF,OAAAA,CAAQmE,YAAY,CAAA,GAAI,EAAA;aACxDa,GAAAA,GAAM,EAAA;AACb,MAAA;AAEA,MAAA,IAAGmK,cAAcE,QAAAA,CAAAA,KAAchM,UAAa8L,aAAAA,CAAc3L,cAAAA,CAAe6L,QAAAA,CAAAA,EAAW;AAClF,QAAA,IAAG,CAAC/E,KAAAA,CAAMlF,OAAAA,CAAQ+J,aAAAA,CAAcE,QAAAA,CAAS,CAAA,EAAG;AACxCF,UAAAA,aAAAA,CAAcE,QAAAA,CAAAA,GAAY;AAAEF,YAAAA,aAAAA,CAAcE,QAAAA;;AAC9C,QAAA;AACAF,QAAAA,aAAAA,CAAcE,QAAAA,CAAAA,CAAU9P,IAAAA,CAAKyF,GAAAA,CAAAA;MAC/B,CAAA,MAAK;AAGH,QAAA,IAAIhF,OAAAA,CAAQoF,OAAAA,CAAQiK,QAAAA,EAAUE,QAAAA,EAAUC,MAAAA,CAAAA,EAAU;AAChDL,UAAAA,aAAAA,CAAcE,QAAAA,CAAAA,GAAY;AAACrK,YAAAA;;QAC7B,CAAA,MAAK;AACHmK,UAAAA,aAAAA,CAAcE,QAAAA,CAAAA,GAAYrK,GAAAA;AAC5B,QAAA;AACF,MAAA;AACF,IAAA;AAEF,EAAA;AAEA,EAAA,IAAG,OAAOkK,SAAS,QAAA,EAAS;AAC1B,IAAA,IAAGA,KAAK9P,MAAAA,GAAS,CAAA,EAAG+P,aAAAA,CAAcnP,OAAAA,CAAQmE,YAAY,CAAA,GAAI+K,IAAAA;AAC5D,EAAA,CAAA,MAAA,IAASA,IAAAA,KAAS7L,MAAAA,EAAW8L,aAAAA,CAAcnP,OAAAA,CAAQmE,YAAY,CAAA,GAAI+K,IAAAA;AACnE,EAAA,OAAOC,aAAAA;AACT;AAtDSJ,mBAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAwDT,SAASO,SAASK,GAAAA,EAAG;AACnB,EAAA,MAAMlJ,IAAAA,GAAOxG,MAAAA,CAAOwG,IAAAA,CAAKkJ,GAAAA,CAAAA;AACzB,EAAA,KAAA,IAASpP,EAAAA,GAAI,CAAA,EAAGA,EAAAA,GAAIkG,IAAAA,CAAKrH,QAAQmB,EAAAA,EAAAA,EAAK;AACpC,IAAA,MAAM+F,GAAAA,GAAMG,KAAKlG,EAAAA,CAAAA;AACjB,IAAA,IAAG+F,GAAAA,KAAQ,MAAM,OAAOA,GAAAA;AAC1B,EAAA;AACF;AANSgJ,mBAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAQT,SAASI,gBAAAA,CAAiBC,GAAAA,EAAKC,OAAAA,EAASC,KAAAA,EAAO7P,OAAAA,EAAO;AACpD,EAAA,IAAI4P,OAAAA,EAAS;AACX,IAAA,MAAMnJ,IAAAA,GAAOxG,MAAAA,CAAOwG,IAAAA,CAAKmJ,OAAAA,CAAAA;AACzB,IAAA,MAAMvQ,MAAMoH,IAAAA,CAAKrH,MAAAA;AACjB,IAAA,KAAA,IAASmB,EAAAA,GAAI,CAAA,EAAGA,EAAAA,GAAIlB,GAAAA,EAAKkB,EAAAA,EAAAA,EAAK;AAC5B,MAAA,MAAMuP,QAAAA,GAAWrJ,KAAKlG,EAAAA,CAAAA;AACtB,MAAA,IAAIP,OAAAA,CAAQoF,QAAQ0K,QAAAA,EAAUD,KAAAA,GAAQ,MAAMC,QAAAA,EAAU,IAAA,EAAM,IAAA,CAAA,EAAO;AACjEH,QAAAA,GAAAA,CAAIG,QAAAA,CAAAA,GAAY;AAAEF,UAAAA,OAAAA,CAAQE,QAAAA;;MAC5B,CAAA,MAAO;AACLH,QAAAA,GAAAA,CAAIG,QAAAA,CAAAA,GAAYF,OAAAA,CAAQE,QAAAA,CAAAA;AAC1B,MAAA;AACF,IAAA;AACF,EAAA;AACF;AAbSJ,mBAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAeT,SAASD,SAAAA,CAAUE,KAAK3P,OAAAA,EAAO;AAC7B,EAAA,MAAM,EAAEmE,cAAY,GAAKnE,OAAAA;AACzB,EAAA,MAAM+P,SAAAA,GAAY9P,MAAAA,CAAOwG,IAAAA,CAAKkJ,GAAAA,CAAAA,CAAKvQ,MAAAA;AAEnC,EAAA,IAAI2Q,cAAc,CAAA,EAAG;AACnB,IAAA,OAAO,IAAA;AACT,EAAA;AAEA,EAAA,IACEA,SAAAA,KAAc,CAAA,KACbJ,GAAAA,CAAIxL,YAAAA,CAAAA,IAAiB,OAAOwL,GAAAA,CAAIxL,YAAAA,CAAAA,KAAkB,SAAA,IAAawL,GAAAA,CAAIxL,YAAAA,MAAkB,CAAA,CAAA,EACtF;AACA,IAAA,OAAO,IAAA;AACT,EAAA;AAEA,EAAA,OAAO,KAAA;AACT;AAhBSsL,mBAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;;;APhGT,IAAqBO,YAArB,MAAqBA;EANrB;;;AAQI,EAAA,WAAA,CAAYhQ,OAAAA,EAAQ;AAChB,IAAA,IAAA,CAAK2L,mBAAmB,EAAC;AACzB,IAAA,IAAA,CAAK3L,OAAAA,GAAUgG,aAAahG,OAAAA,CAAAA;AAEhC,EAAA;;;;;;AAMAiQ,EAAAA,KAAAA,CAAMlQ,SAAQmQ,gBAAAA,EAAiB;AAC3B,IAAA,IAAG,OAAOnQ,YAAY,QAAA,EAAS,CAC/B,MAAA,IAAUA,QAAQoQ,QAAAA,EAAS;AACvBpQ,MAAAA,OAAAA,GAAUA,QAAQoQ,QAAAA,EAAQ;IAC9B,CAAA,MAAK;AACD,MAAA,MAAM,IAAI9I,MAAM,iDAAA,CAAA;AACpB,IAAA;AACA,IAAA,IAAI6I,gBAAAA,EAAiB;AACjB,MAAA,IAAGA,gBAAAA,KAAqB,IAAA,EAAMA,gBAAAA,GAAmB,EAAC;AAElD,MAAA,MAAM9O,MAAAA,GAAStB,QAAAA,CAASC,OAAAA,EAASmQ,gBAAAA,CAAAA;AACjC,MAAA,IAAI9O,WAAW,IAAA,EAAM;AACnB,QAAA,MAAMiG,KAAAA,CAAO,CAAA,EAAGjG,MAAAA,CAAOX,GAAAA,CAAIQ,GAAG,CAAA,CAAA,EAAIG,MAAAA,CAAOX,GAAAA,CAAImB,IAAI,CAAA,CAAA,EAAIR,MAAAA,CAAOX,GAAAA,CAAIwB,GAAG,CAAA,CAAE,CAAA;AACvE,MAAA;AACF,IAAA;AACF,IAAA,MAAMmO,gBAAAA,GAAmB,IAAI3F,gBAAAA,CAAiB,IAAA,CAAKzK,OAAO,CAAA;AAC1DoQ,IAAAA,gBAAAA,CAAiBnF,mBAAAA,CAAoB,KAAKU,gBAAgB,CAAA;AAC1D,IAAA,MAAM0E,aAAAA,GAAgBD,gBAAAA,CAAiBlF,QAAAA,CAASnL,OAAAA,CAAAA;AAChD,IAAA,IAAG,IAAA,CAAKC,OAAAA,CAAQgE,aAAAA,IAAiBqM,aAAAA,KAAkBhN,QAAW,OAAOgN,aAAAA;SAChE,OAAOrB,QAAAA,CAASqB,aAAAA,EAAe,IAAA,CAAKrQ,OAAO,CAAA;AACpD,EAAA;;;;;;AAOAsQ,EAAAA,SAAAA,CAAUhK,KAAK/E,KAAAA,EAAM;AACjB,IAAA,IAAGA,KAAAA,CAAMW,OAAAA,CAAQ,GAAA,CAAA,KAAS,EAAA,EAAG;AACzB,MAAA,MAAM,IAAImF,MAAM,6BAAA,CAAA;IACpB,CAAA,MAAA,IAASf,GAAAA,CAAIpE,QAAQ,GAAA,CAAA,KAAS,MAAMoE,GAAAA,CAAIpE,OAAAA,CAAQ,GAAA,CAAA,KAAS,EAAA,EAAG;AACxD,MAAA,MAAM,IAAImF,MAAM,sEAAA,CAAA;AACpB,IAAA,CAAA,MAAA,IAAS9F,UAAU,GAAA,EAAI;AACnB,MAAA,MAAM,IAAI8F,MAAM,2CAAA,CAAA;IACpB,CAAA,MAAK;AACD,MAAA,IAAA,CAAKsE,gBAAAA,CAAiBrF,GAAAA,CAAAA,GAAO/E,KAAAA;AACjC,IAAA;AACJ,EAAA;;;;;;;;;;;AAYA,EAAA,OAAOmF,iBAAAA,GAAoB;AACvB,IAAA,OAAOP,QAAQO,iBAAAA,EAAiB;AACpC,EAAA;AACJ,CAAA;;;AQtEArI,2BAAA,EAAA;AAGO,IAAMkS,YAAAA,mBAAexL,mBAAA,CAAA,CAACyL,UAAAA,EAAYC,OAAAA,KAAYC,+BAAAA,CAAkBF,YAAYC,OAAAA,CAAAA,CAASE,IAAAA,CAAK,CAACC,OAAAA,KAAAA;AAC9F,EAAA,IAAIA,QAAQxR,MAAAA,EAAQ;AAChB,IAAA,MAAMyR,MAAAA,GAAS,IAAIb,SAAAA,CAAU;MACzB/L,mBAAAA,EAAqB,EAAA;MACrBsB,YAAAA,EAAc,IAAA;MACdnB,gBAAAA,EAAkB,KAAA;MAClBoB,iBAAAA,EAAmB,IAAA;MACnBlB,aAAAA,EAAe,KAAA;MACfE,UAAAA,EAAY,KAAA;AACZM,MAAAA,iBAAAA,kBAAmBC,mBAAA,CAAA,CAACgG,EAAAA,EAAG/F,GAAAA,KAASA,GAAAA,CAAIlE,IAAAA,EAAI,KAAO,EAAA,IAAMkE,GAAAA,CAAI8L,QAAAA,CAAS,IAAA,CAAA,GAAQ,EAAA,GAAKzN,MAAAA,EAA5D,mBAAA;KACvB,CAAA;AACAwN,IAAAA,MAAAA,CAAOP,SAAAA,CAAU,OAAO,IAAA,CAAA;AACxBO,IAAAA,MAAAA,CAAOP,SAAAA,CAAU,OAAO,IAAA,CAAA;AACxB,IAAA,IAAIS,SAAAA;AACJ,IAAA,IAAI;AACAA,MAAAA,SAAAA,GAAYF,MAAAA,CAAOZ,KAAAA,CAAMW,OAAAA,EAAS,IAAA,CAAA;AACtC,IAAA,CAAA,CAAA,OACOI,EAAAA,EAAG;AACN,MAAA,IAAIA,EAAAA,IAAK,OAAOA,EAAAA,KAAM,QAAA,EAAU;AAC5B/Q,QAAAA,MAAAA,CAAOgR,cAAAA,CAAeD,IAAG,mBAAA,EAAqB;UAC1CzP,KAAAA,EAAOqP;SACX,CAAA;AACJ,MAAA;AACA,MAAA,MAAMI,EAAAA;AACV,IAAA;AACA,IAAA,MAAM7M,YAAAA,GAAe,OAAA;AACrB,IAAA,MAAMmC,GAAAA,GAAMrG,MAAAA,CAAOwG,IAAAA,CAAKsK,SAAAA,EAAW,CAAA,CAAA;AACnC,IAAA,MAAMG,iBAAAA,GAAoBH,UAAUzK,GAAAA,CAAAA;AACpC,IAAA,IAAI4K,iBAAAA,CAAkB/M,YAAAA,CAAAA,EAAe;AACjC+M,MAAAA,iBAAAA,CAAkB5K,GAAAA,CAAAA,GAAO4K,iBAAAA,CAAkB/M,YAAAA,CAAAA;AAC3C,MAAA,OAAO+M,kBAAkB/M,YAAAA,CAAAA;AAC7B,IAAA;AACA,IAAA,OAAOgN,kCAAqBD,iBAAAA,CAAAA;AAChC,EAAA;AACA,EAAA,OAAO,EAAC;AACZ,CAAA,CAAA,EAnC4B,cAAA,CAAA;AAoCrB,IAAME,iBAAAA,mBAAoBrM,mBAAA,CAAA,OAAOsM,SAAAA,EAAWZ,OAAAA,KAAAA;AAC/C,EAAA,MAAMlP,KAAAA,GAAQ,MAAMgP,YAAAA,CAAac,SAAAA,EAAWZ,OAAAA,CAAAA;AAC5C,EAAA,IAAIlP,MAAM8F,KAAAA,EAAO;AACb9F,IAAAA,KAAAA,CAAM8F,MAAMzD,OAAAA,GAAUrC,KAAAA,CAAM8F,KAAAA,CAAMzD,OAAAA,IAAWrC,MAAM8F,KAAAA,CAAMiK,OAAAA;AAC7D,EAAA;AACA,EAAA,OAAO/P,KAAAA;AACX,CAAA,EANiC,mBAAA,CAAA;;;ACvCjClD,2BAAA,EAAA;AAGO,IAAMkT,0CAAAA,mBAA6CxM,mBAAA,CAAA,OAAOyM,MAAAA,EAAQf,OAAAA,EAASgB,KAAAA,KAAAA;AAC9E,EAAA,OAAO;IACHC,SAAAA,EAAWC,8BAAAA,CAAiBlB,OAAAA,CAAAA,CAASiB,SAAAA;AACrCE,IAAAA,MAAAA,EAAS,MAAMC,+BAAAA,CAAkBL,MAAAA,CAAOI,MAAM,CAAA,OACzC,MAAA;AACG,MAAA,MAAM,IAAIvK,MAAM,yDAAA,CAAA;IACpB,CAAA;AACR,GAAA;AACJ,CAAA,EAR0D,4CAAA,CAAA;AAS1D,SAASyK,iCAAiCC,cAAAA,EAAc;AACpD,EAAA,OAAO;IACHC,QAAAA,EAAU,gBAAA;IACVC,iBAAAA,EAAmB;MACfzJ,IAAAA,EAAM,KAAA;AACNoJ,MAAAA,MAAAA,EAAQG,cAAAA,CAAeH;AAC3B,KAAA;IACAM,mBAAAA,kBAAqBnN,mBAAA,CAAA,CAACyM,QAAQf,OAAAA,MAAa;MACvCwB,iBAAAA,EAAmB;AACfT,QAAAA,MAAAA;AACAf,QAAAA;AACJ;KACJ,CAAA,EALqB,qBAAA;AAMzB,GAAA;AACJ;AAdSqB,mBAAAA,CAAAA,gCAAAA,EAAAA,kCAAAA,CAAAA;AAeT,SAASK,oCAAoCJ,cAAAA,EAAc;AACvD,EAAA,OAAO;IACHC,QAAAA,EAAU;AACd,GAAA;AACJ;AAJSG,mBAAAA,CAAAA,mCAAAA,EAAAA,qCAAAA,CAAAA;AAKF,IAAMC,gCAAAA,wCAAoCL,cAAAA,KAAAA;AAC7C,EAAA,MAAM/R,UAAU,EAAA;AAChB,EAAA,QAAQ+R,eAAeL,SAAAA;AACnB,IAAA,KAAK,2BAAA,EAA6B;AAC9B1R,MAAAA,OAAAA,CAAQT,IAAAA,CAAK4S,mCAAAA,CAAoCJ,CAAAA,CAAAA;AACjD,MAAA;AACJ,IAAA;IACA,SAAS;AACL/R,MAAAA,OAAAA,CAAQT,IAAAA,CAAKuS,gCAAAA,CAAiCC,cAAAA,CAAAA,CAAAA;AAClD,IAAA;AACJ;AACA,EAAA,OAAO/R,OAAAA;AACX,CAAA,EAZgD,kCAAA,CAAA;AAazC,IAAMqS,oBAAAA,mBAAuBtN,mBAAA,CAAA,CAAC0M,KAAAA,KAAUxR,MAAAA,CAAOC,OAAOuR,KAAAA,EAAO;EAChEa,aAAAA,EAAeC;AACnB,CAAA,CAAA,EAFoC,sBAAA,CAAA;AAG7B,IAAMC,2BAAAA,wCAA+BhB,MAAAA,KAAAA;AACxC,EAAA,MAAMiB,QAAAA,GAAWJ,qBAAqBb,MAAAA,CAAAA;AACtC,EAAA,MAAMkB,QAAAA,GAAWC,uCAAyBF,QAAAA,CAAAA;AAC1C,EAAA,OAAOxS,MAAAA,CAAOC,OAAOwS,QAAAA,EAAU;AAC3BE,IAAAA,oBAAAA,EAAsBf,+BAAAA,CAAkBL,MAAAA,CAAOoB,oBAAAA,IAAwB,EAAE;GAC7E,CAAA;AACJ,CAAA,EAN2C,6BAAA,CAAA;;;AChD3CvU,2BAAA,EAAA;AAAO,IAAMwU,+BAAAA,wCAAmC7S,OAAAA,KAAAA;AAC5C,EAAA,OAAOC,MAAAA,CAAOC,OAAOF,OAAAA,EAAS;AAC1B8S,IAAAA,oBAAAA,EAAsB9S,QAAQ8S,oBAAAA,IAAwB,KAAA;AACtDC,IAAAA,eAAAA,EAAiB/S,QAAQ+S,eAAAA,IAAmB,KAAA;AAC5CC,IAAAA,iBAAAA,EAAmBhT,QAAQgT,iBAAAA,IAAqB,KAAA;IAChDC,kBAAAA,EAAoB;GACxB,CAAA;AACJ,CAAA,EAP+C,iCAAA,CAAA;AAQxC,IAAMC,YAAAA,GAAe;EACxBC,iBAAAA,EAAmB;IAAEjL,IAAAA,EAAM,eAAA;IAAiBM,IAAAA,EAAM;AAAoB,GAAA;EACtE4K,OAAAA,EAAS;IAAElL,IAAAA,EAAM,eAAA;IAAiBM,IAAAA,EAAM;AAAkB,GAAA;EAC1D6K,QAAAA,EAAU;IAAEnL,IAAAA,EAAM,eAAA;IAAiBM,IAAAA,EAAM;AAAW,GAAA;EACpD8K,MAAAA,EAAQ;IAAEpL,IAAAA,EAAM,eAAA;IAAiBM,IAAAA,EAAM;AAAS,GAAA;EAChD+K,YAAAA,EAAc;IAAErL,IAAAA,EAAM,eAAA;IAAiBM,IAAAA,EAAM;AAAuB;AACxE,CAAA;;;ACdAnK,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;IAAMmV,CAAAA,GAAI,UAAA;AAAV,IAAsBC,CAAAA,GAAI,MAAA;AAA1B,IAAkCC,CAAAA,GAAI,IAAA;AAAtC,IAA4CC,CAAAA,GAAI,MAAA;AAAhD,IAAwDC,CAAAA,GAAI,KAAA;AAC5D,IAAMC,CAAAA,GAAI,KAAA;AAAV,IAAiBC,CAAAA,GAAI,IAAA;AAArB,IAA2BC,CAAAA,GAAI,eAAA;AAA/B,IAAgDC,CAAAA,GAAI,cAAA;AAApD,IAAoEhD,CAAAA,GAAI,OAAA;AAAxE,IAAiFiD,CAAAA,GAAI,KAAA;AAArF,IAA4FC,CAAAA,GAAI,WAAA;AAAhG,IAA6GC,CAAAA,GAAI,UAAA;AAAjH,IAA6H5T,CAAAA,GAAI,kDAAA;AAAjI,IAAqLgI,CAAAA,GAAI,MAAA;AAAzL,IAAiM6L,CAAAA,GAAI,OAAA;AAArM,IAA8MC,CAAAA,GAAI,SAAA;AAAlN,IAA6NC,CAAAA,GAAI;AAAE,EAAA,CAACd,CAAAA,GAAI,KAAA;AAAO,EAAA,CAACC,CAAAA,GAAI;AAAS,CAAA;AAA7P,IAAgQ9J,CAAAA,GAAI;AAAE,EAAA,CAAC6J,CAAAA,GAAI,IAAA;EAAM,SAAA,EAAW,KAAA;AAAO,EAAA,CAACC,CAAAA,GAAI;AAAU,CAAA;AAAlT,IAAqTc,CAAAA,GAAI;AAAE,EAAA,CAACX,CAAAA,GAAI;AAAW,CAAA;AAA3U,IAA8UY,CAAAA,GAAI;AAAE,EAAA,CAACd,CAAAA,GAAI,OAAA;AAAS,EAAA,CAACC,CAAAA,GAAI;AAAC,IAAA;AAAE,MAAA,CAACC,CAAAA,GAAI;AAAS;;AAAG,CAAA;AAA3X,IAA8Xa,CAAAA,GAAI;AAAE,EAAA,CAACb,CAAAA,GAAI;AAAS,CAAA;AAAlZ,IAAqZc,CAAAA,GAAI;AAAE,EAAA,CAAChB,CAAAA,GAAI,eAAA;AAAiB,EAAA,CAACC,CAAAA,GAAI;AAACc,IAAAA;;EAAI,QAAA,EAAU;AAAkB,CAAA;AAAvd,IAA0dE,CAAAA,GAAI;AAAE,EAAA,CAACf,CAAAA,GAAI;AAAU,CAAA;AAA/e,IAAkfnR,CAAAA,GAAI;AAAE,EAAA,CAACmR,CAAAA,GAAI;AAAe,CAAA;AAA5gB,IAA+gBgB,CAAAA,GAAI;EAAE,KAAA,EAAO,2BAAA;EAA6B,YAAA,EAAc;IAAE,aAAA,EAAe;AAAC,MAAA;QAAE,MAAA,EAAQ5D,CAAAA;QAAG,aAAA,EAAeiD,CAAAA;QAAG,eAAA,EAAiBC;AAAE;;AAAG,GAAA;AAAG,EAAA,SAAA,EAAW;AAAG,CAAA;AAA/pB,IAAkqBxU,IAAI,EAAC;AAAvqB,IAA0qBmV,CAAAA,GAAI;EAAE,YAAA,EAAc;AAAC,IAAA;AAAE,MAAA,CAACnB,CAAAA,GAAIM,CAAAA;AAAG,MAAA,CAACL,CAAAA,GAAI;AAACc,QAAAA,CAAAA;AAAG,QAAA;;AAAc;;AAAI,EAAA,CAACN,CAAAA,GAAIS,CAAAA;AAAG,EAAA,CAACnB,CAAAA,GAAIU;AAAE,CAAA;AAAnvB,IAAsvBW,CAAAA,GAAI;AAAE,EAAA,CAACpB,CAAAA,GAAIK,CAAAA;AAAG,EAAA,CAACJ,CAAAA,GAAI;AAACgB,IAAAA,CAAAA;AAAG,IAAA;;AAAM,CAAA;AAAnxB,IAAsxBI,CAAAA,GAAI;AAAE,EAAA,CAACrB,CAAAA,GAAIK,CAAAA;AAAG,EAAA,CAACJ,CAAAA,GAAI;AAAClR,IAAAA,CAAAA;AAAG,IAAA;;AAAM,CAAA;AAAnzB,IAAszBuS,CAAAA,GAAI;AAAE,EAAA,CAACtB,CAAAA,GAAIW,CAAAA;AAAG,EAAA,CAACV,CAAAA,GAAI;AAAC,IAAA;AAAE,MAAA,CAACC,CAAAA,GAAI;AAAkB,KAAA;AAAG,IAAA;;AAAgB,CAAA;AAAt3B,IAAy3BqB,CAAAA,GAAI;AAAE,EAAA,CAACrB,CAAAA,GAAI;AAAkB,CAAA;AAAt5B,IAAy5BsB,CAAAA,GAAI;AAAE,EAAA,CAACxB,CAAAA,GAAIK,CAAAA;AAAG,EAAA,CAACJ,CAAAA,GAAI;AAAC,IAAA,IAAA;AAAM,IAAA;AAAE,MAAA,CAACD,CAAAA,GAAIW,CAAAA;AAAG,MAAA,CAACV,CAAAA,GAAI;AAACsB,QAAAA,CAAAA;AAAG,QAAA;;AAAqB;;AAAG,CAAA;AAA99B,IAAi+BE,CAAAA,GAAI;AAAC,EAAA;AAAE,IAAA,CAACzB,CAAAA,GAAI,OAAA;AAAS,IAAA,CAACC,CAAAA,GAAI;AAACY,MAAAA;;AAAG;;AAA//B,IAAmgCa,CAAAA,GAAI;AAACN,EAAAA;;AAAxgC,IAA4gCO,CAAAA,GAAI;AAACN,EAAAA;;AACjhC,IAAMO,KAAAA,GAAQ;EAAEC,OAAAA,EAAS,KAAA;EAAOC,UAAAA,EAAY;IAAElC,MAAAA,EAAQgB,CAAAA;IAAGf,YAAAA,EAAc5J,CAAAA;IAAGyJ,OAAAA,EAASzJ,CAAAA;IAAG0J,QAAAA,EAAUiB,CAAAA;IAAGnB,iBAAAA,EAAmBxJ;AAAE,GAAA;EAAG8L,KAAAA,EAAO;AAAC,IAAA;MAAEC,UAAAA,EAAY;AAAC,QAAA;AAAE,UAAA,CAAChC,CAAAA,GAAIK,CAAAA;AAAG,UAAA,CAACJ,CAAAA,GAAI;AAAC,YAAA;AAAE,cAAA,CAACC,CAAAA,GAAI;AAAoB,aAAA;AAAGE,YAAAA;;AAAG,SAAA;AAAG,QAAA;AAAE,UAAA,CAACJ,CAAAA,GAAI,KAAA;AAAO,UAAA,CAACC,CAAAA,GAAIwB;AAAE,SAAA;AAAGX,QAAAA,CAAAA;AAAGE,QAAAA,CAAAA;AAAG,QAAA;AAAE,UAAA,CAAChB,CAAAA,GAAIK,CAAAA;AAAG,UAAA,CAACJ,CAAAA,GAAI;AAACgB,YAAAA,CAAAA;AAAGd,YAAAA;;AAAG,SAAA;AAAG,QAAA;AAAE,UAAA,CAACH,CAAAA,GAAIK,CAAAA;AAAG,UAAA,CAACJ,CAAAA,GAAI;AAAClR,YAAAA,CAAAA;AAAGoR,YAAAA;;AAAG;;MAAI4B,KAAAA,EAAO;AAAC,QAAA;UAAEC,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAkB;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAc;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAkB;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAkB;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAGU,QAAAA,CAAAA;AAAG,QAAA;UAAEa,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAgB;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAgB;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAc;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAa;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAa;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAa;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAa;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAGP,gBAAAA;;AAAG;;UAAIyB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAa;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAa;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEuB,UAAAA,EAAY;AAAC,YAAA;AAAE,cAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,cAAA,CAACL,CAAAA,GAAI;AAACc,gBAAAA,CAAAA;AAAG,gBAAA;;AAAa;;UAAIkB,QAAAA,EAAUf,CAAAA;AAAG,UAAA,CAACnB,CAAAA,GAAIU;AAAE,SAAA;AAAG,QAAA;UAAEwB,QAAAA,EAAU;YAAEC,GAAAA,EAAKrV,CAAAA;YAAGsV,UAAAA,EAAY;cAAEC,WAAAA,EAAa;AAAC,gBAAA;kBAAEtN,IAAAA,EAAMwI,CAAAA;kBAAG+E,WAAAA,EAAa9B,CAAAA;kBAAG+B,aAAAA,EAAe;AAAW;;AAAG,aAAA;YAAGC,OAAAA,EAASvW;AAAE,WAAA;AAAG,UAAA,CAAC+T,CAAAA,GAAIU;AAAE;;AAAI,MAAA,CAACV,CAAAA,GAAIlL;AAAE,KAAA;AAAG,IAAA;MAAEmN,UAAAA,EAAYP,CAAAA;MAAGM,KAAAA,EAAO;AAAC,QAAA;UAAEC,UAAAA,EAAYN,CAAAA;UAAGc,KAAAA,EAAO,mEAAA;AAAqE,UAAA,CAACzC,CAAAA,GAAIW;AAAE,SAAA;AAAG,QAAA;UAAEsB,UAAAA,EAAYL,CAAAA;UAAGa,KAAAA,EAAO,wEAAA;AAA0E,UAAA,CAACzC,CAAAA,GAAIW;AAAE,SAAA;AAAG,QAAA;UAAEuB,QAAAA,EAAU;YAAEC,GAAAA,EAAKrB,CAAAA;YAAGsB,UAAAA,EAAYnW,CAAAA;YAAGuW,OAAAA,EAASvW;AAAE,WAAA;AAAG,UAAA,CAAC+T,CAAAA,GAAIU;AAAE;;AAAI,MAAA,CAACV,CAAAA,GAAIlL;AAAE,KAAA;AAAG,IAAA;MAAEmN,UAAAA,EAAY;AAAClB,QAAAA;;MAAIiB,KAAAA,EAAO;AAAC,QAAA;UAAEC,UAAAA,EAAY;AAAChB,YAAAA;;UAAIe,KAAAA,EAAO;AAAC,YAAA;cAAEC,UAAAA,EAAY;AAACZ,gBAAAA,CAAAA;AAAGC,gBAAAA;;cAAIU,KAAAA,EAAO;AAAC,gBAAA;kBAAEC,UAAAA,EAAY;AAAC,oBAAA;AAAE,sBAAA,CAAChC,CAAAA,GAAIK,CAAAA;AAAG,sBAAA,CAACJ,CAAAA,GAAI;AAACG,wBAAAA,CAAAA;AAAGkB,wBAAAA;;AAAG,qBAAA;AAAGE,oBAAAA;;kBAAIO,KAAAA,EAAO;AAAC,oBAAA;sBAAEE,QAAAA,EAAU;wBAAEC,GAAAA,EAAK,gEAAA;wBAAkEC,UAAAA,EAAYnW,CAAAA;wBAAGuW,OAAAA,EAASvW;AAAE,uBAAA;AAAG,sBAAA,CAAC+T,CAAAA,GAAIU;AAAE;;AAAI,kBAAA,CAACV,CAAAA,GAAIlL;AAAE,iBAAA;AAAG,gBAAA;kBAAE2N,KAAAA,EAAO,iFAAA;AAAmF,kBAAA,CAACzC,CAAAA,GAAIW;AAAE;;AAAI,cAAA,CAACX,CAAAA,GAAIlL;AAAE,aAAA;AAAG,YAAA;cAAEmN,UAAAA,EAAYN,CAAAA;cAAGK,KAAAA,EAAO;AAAC,gBAAA;kBAAEC,UAAAA,EAAY;AAAC,oBAAA;AAAE,sBAAA,CAAChC,CAAAA,GAAIK,CAAAA;AAAG,sBAAA,CAACJ,CAAAA,GAAI;AAACqB,wBAAAA,CAAAA;AAAGlB,wBAAAA;;AAAG;;kBAAI2B,KAAAA,EAAO;AAAC,oBAAA;sBAAEC,UAAAA,EAAY;AAAC,wBAAA;AAAE,0BAAA,CAAChC,CAAAA,GAAIM,CAAAA;AAAG,0BAAA,CAACL,CAAAA,GAAI;AAAC,4BAAA;AAAE,8BAAA,CAACD,CAAAA,GAAIW,CAAAA;AAAG,8BAAA,CAACV,CAAAA,GAAI;AAACsB,gCAAAA,CAAAA;AAAG,gCAAA;;AAAQ,6BAAA;AAAG,4BAAA;;AAAc;;sBAAIU,QAAAA,EAAU;wBAAEC,GAAAA,EAAK,oCAAA;wBAAsCC,UAAAA,EAAYnW,CAAAA;wBAAGuW,OAAAA,EAASvW;AAAE,uBAAA;AAAG,sBAAA,CAAC+T,CAAAA,GAAIU;AAAE,qBAAA;AAAG,oBAAA;sBAAEwB,QAAAA,EAAU;wBAAEC,GAAAA,EAAK,uDAAA;wBAAyDC,UAAAA,EAAYnW,CAAAA;wBAAGuW,OAAAA,EAASvW;AAAE,uBAAA;AAAG,sBAAA,CAAC+T,CAAAA,GAAIU;AAAE;;AAAI,kBAAA,CAACV,CAAAA,GAAIlL;AAAE,iBAAA;AAAG,gBAAA;kBAAE2N,KAAAA,EAAO,0DAAA;AAA4D,kBAAA,CAACzC,CAAAA,GAAIW;AAAE;;AAAI,cAAA,CAACX,CAAAA,GAAIlL;AAAE,aAAA;AAAG,YAAA;cAAEmN,UAAAA,EAAYL,CAAAA;cAAGI,KAAAA,EAAO;AAAC,gBAAA;kBAAEC,UAAAA,EAAY;AAACR,oBAAAA;;kBAAIO,KAAAA,EAAO;AAAC,oBAAA;sBAAEE,QAAAA,EAAU;wBAAEC,GAAAA,EAAK,2DAAA;wBAA6DC,UAAAA,EAAYnW,CAAAA;wBAAGuW,OAAAA,EAASvW;AAAE,uBAAA;AAAG,sBAAA,CAAC+T,CAAAA,GAAIU;AAAE;;AAAI,kBAAA,CAACV,CAAAA,GAAIlL;AAAE,iBAAA;AAAG,gBAAA;kBAAE2N,KAAAA,EAAO,oEAAA;AAAsE,kBAAA,CAACzC,CAAAA,GAAIW;AAAE;;AAAI,cAAA,CAACX,CAAAA,GAAIlL;AAAE,aAAA;AAAGsM,YAAAA,CAAAA;AAAG,YAAA;cAAEc,QAAAA,EAAU;gBAAEC,GAAAA,EAAKrV,CAAAA;gBAAGsV,UAAAA,EAAYnW,CAAAA;gBAAGuW,OAAAA,EAASvW;AAAE,eAAA;AAAG,cAAA,CAAC+T,CAAAA,GAAIU;AAAE;;AAAI,UAAA,CAACV,CAAAA,GAAIlL;AAAE;;AAAI,MAAA,CAACkL,CAAAA,GAAIlL;AAAE,KAAA;AAAG,IAAA;MAAE2N,KAAAA,EAAO,uCAAA;AAAyC,MAAA,CAACzC,CAAAA,GAAIW;AAAE;;AAAG,CAAA;AAC7jG,IAAM+B,OAAAA,GAAUb,KAAAA;;;ADAvB,IAAMc,KAAAA,GAAQ,IAAIC,2BAAAA,CAAc;EAC5BC,IAAAA,EAAM,EAAA;EACNC,MAAAA,EAAQ;AAAC,IAAA,UAAA;AAAY,IAAA,QAAA;AAAU,IAAA,cAAA;AAAgB,IAAA,SAAA;AAAW,IAAA;;AAC9D,CAAA,CAAA;AACO,IAAMC,uBAAAA,mBAA0BzR,mBAAA,CAAA,CAAC0R,cAAAA,EAAgBhG,OAAAA,GAAU,EAAC,KAAC;AAChE,EAAA,OAAO2F,KAAAA,CAAMM,GAAAA,CAAID,cAAAA,EAAgB,MAAME,8BAAgBR,OAAAA,EAAS;AAC5DM,IAAAA,cAAAA;AACAG,IAAAA,MAAAA,EAAQnG,OAAAA,CAAQmG;AACpB,GAAA,CAAA,CAAA;AACJ,CAAA,EALuC,yBAAA,CAAA;AAMvCC,qCAAAA,CAAwBC,GAAAA,GAAMC,kCAAAA;;;ADLvB,IAAMC,gBAAAA,wCAAoBxF,MAAAA,KAAAA;AAC7B,EAAA,OAAO;IACHyF,UAAAA,EAAY,YAAA;AACZC,IAAAA,aAAAA,EAAe1F,QAAQ0F,aAAAA,IAAiBC,uBAAAA;AACxCC,IAAAA,aAAAA,EAAe5F,QAAQ4F,aAAAA,IAAiBC,qBAAAA;AACxCC,IAAAA,iBAAAA,EAAmB9F,QAAQ8F,iBAAAA,IAAqB,KAAA;AAChDC,IAAAA,gBAAAA,EAAkB/F,QAAQ+F,gBAAAA,IAAoBf,uBAAAA;IAC9CgB,UAAAA,EAAYhG,MAAAA,EAAQgG,cAAc,EAAA;AAClCC,IAAAA,sBAAAA,EAAwBjG,QAAQiG,sBAAAA,IAA0BrF,gCAAAA;AAC1DsF,IAAAA,eAAAA,EAAiBlG,QAAQkG,eAAAA,IAAmB;AACxC,MAAA;QACI1F,QAAAA,EAAU,gBAAA;AACV2F,QAAAA,gBAAAA,kBAAkB5S,mBAAA,CAAA,CAAC6S,GAAAA,KAAQA,GAAAA,CAAIC,mBAAAA,CAAoB,gBAAA,CAAA,EAAjC,kBAAA,CAAA;AAClBC,QAAAA,MAAAA,EAAQ,IAAIC,+BAAAA;AAChB,OAAA;AACA,MAAA;QACI/F,QAAAA,EAAU,mBAAA;QACV2F,gBAAAA,kBAAkB5S,mBAAA,CAAA,CAAC6S,QAAQA,GAAAA,CAAIC,mBAAAA,CAAoB,mBAAA,CAAA,KAAyB,aAAa,EAAC,CAAA,CAAA,EAAxE,kBAAA,CAAA;AAClBC,QAAAA,MAAAA,EAAQ,IAAIE,yBAAAA;AAChB;;IAEJpB,MAAAA,EAAQpF,MAAAA,EAAQoF,MAAAA,IAAU,IAAIqB,uBAAAA,EAAAA;AAC9BC,IAAAA,SAAAA,EAAW1G,QAAQ0G,SAAAA,IAAa,KAAA;AAChCC,IAAAA,SAAAA,EAAW3G,QAAQ2G,SAAAA,IAAaC,qBAAAA;AAChCC,IAAAA,WAAAA,EAAa7G,QAAQ6G,WAAAA,IAAeC,qBAAAA;AACpCC,IAAAA,WAAAA,EAAa/G,QAAQ+G,WAAAA,IAAeC;AACxC,GAAA;AACJ,CAAA,EA3BgC,kBAAA,CAAA;;;ADOzB,IAAMxB,iBAAAA,wCAAoBxF,MAAAA,KAAAA;AAC7BiH,EAAAA,4CAAAA,CAAgCC,QAAQnD,OAAO,CAAA;AAC/C,EAAA,MAAMoD,YAAAA,GAAeC,wCAA0BpH,MAAAA,CAAAA;AAC/C,EAAA,MAAMqH,wCAAwB9T,mBAAA,CAAA,MAAM4T,YAAAA,EAAAA,CAAehI,IAAAA,CAAKmI,sCAAAA,CAAAA,EAA1B,uBAAA,CAAA;AAC9B,EAAA,MAAMC,kBAAAA,GAAqBC,iBAAuBxH,MAAAA,CAAAA;AAClDyH,EAAAA,6CAAAA,CAAgBP,QAAQnD,OAAO,CAAA;AAC/B,EAAA,MAAM2D,YAAAA,GAAe;AACjBC,IAAAA,OAAAA,EAAS3H,MAAAA,EAAQ2H,OAAAA;AACjBvC,IAAAA,MAAAA,EAAQmC,kBAAAA,CAAmBnC;AAC/B,GAAA;AACA,EAAA,OAAO;IACH,GAAGmC,kBAAAA;IACH,GAAGvH,MAAAA;IACH4H,OAAAA,EAAS,MAAA;AACTT,IAAAA,YAAAA;AACA/F,IAAAA,oBAAAA,EAAsBpB,MAAAA,EAAQoB,oBAAAA,IAAwByG,uBAAAA,CAAeC,iDAAAA,EAAqCJ,YAAAA,CAAAA;AAC1GK,IAAAA,iBAAAA,EAAmB/H,QAAQ+H,iBAAAA,IAAqBC,iCAAAA;IAChDC,wBAAAA,EAA0BjI,MAAAA,EAAQiI,4BAC9BC,4CAAAA,CAA+B;AAAExB,MAAAA,SAAAA,EAAWa,kBAAAA,CAAmBb,SAAAA;AAAWyB,MAAAA,aAAAA,EAAeC,4BAAAA,CAAYrE;KAAQ,CAAA;AACjHmC,IAAAA,eAAAA,EAAiBlG,QAAQkG,eAAAA,IAAmB;AACxC,MAAA;QACI1F,QAAAA,EAAU,gBAAA;AACV2F,QAAAA,gBAAAA,uCAAmBC,GAAAA,KAAQA,GAAAA,CAAIC,mBAAAA,CAAoB,gBAAA,MAC9C,OAAOgC,OAAAA,KAAY,MAAMrI,MAAAA,CAAOsI,0BAA0BD,OAAAA,EAASE,QAAAA,IAAY,EAAC,GAAA,CAAA,EADnE,kBAAA,CAAA;AAElBjC,QAAAA,MAAAA,EAAQ,IAAIC,+BAAAA;AAChB,OAAA;AACA,MAAA;QACI/F,QAAAA,EAAU,mBAAA;QACV2F,gBAAAA,kBAAkB5S,mBAAA,CAAA,CAAC6S,QAAQA,GAAAA,CAAIC,mBAAAA,CAAoB,mBAAA,CAAA,KAAyB,aAAa,EAAC,CAAA,CAAA,EAAxE,kBAAA,CAAA;AAClBC,QAAAA,MAAAA,EAAQ,IAAIE,yBAAAA;AAChB;;AAEJgC,IAAAA,WAAAA,EAAaxI,MAAAA,EAAQwI,WAAAA,IAAeX,uBAAAA,CAAeY,6CAAAA,EAAiCzI,MAAAA,CAAAA;IACpFI,MAAAA,EAAQJ,MAAAA,EAAQI,MAAAA,IACZyH,uBAAAA,CAAea,wCAAAA,EAA4B;MAAE,GAAGC,6CAAAA;MAAiC,GAAGjB;KAAa,CAAA;AACrGkB,IAAAA,cAAAA,EAAgBC,4BAAAA,CAAeC,MAAAA,CAAO9I,MAAAA,EAAQ4I,cAAAA,IAAkBvB,qBAAAA,CAAAA;IAChE0B,SAAAA,EAAW/I,MAAAA,EAAQ+I,aACflB,uBAAAA,CAAe;MACX,GAAGmB,4CAAAA;AACHC,MAAAA,OAAAA,kBAAS1V,mBAAA,CAAA,YAAA,CAAa,MAAM8T,qBAAAA,EAAAA,EAAyB0B,aAAaG,gCAAAA,EAAzD,SAAA;AACb,KAAA,EAAGlJ,MAAAA,CAAAA;AACPmJ,IAAAA,MAAAA,EAAQnJ,MAAAA,EAAQmJ,MAAAA,IAAUC,kBAAAA,CAAKC,IAAAA,CAAK,MAAM,QAAA,CAAA;AAC1CC,IAAAA,eAAAA,EAAiBtJ,QAAQsJ,eAAAA,IAAmBA,4BAAAA;AAC5ChI,IAAAA,oBAAAA,EAAsBtB,MAAAA,EAAQsB,oBAAAA,IAAwBuG,uBAAAA,CAAe0B,wDAAAA,EAA4C7B,YAAAA,CAAAA;AACjHnG,IAAAA,eAAAA,EAAiBvB,MAAAA,EAAQuB,eAAAA,IAAmBsG,uBAAAA,CAAe2B,mDAAAA,EAAuC9B,YAAAA,CAAAA;AAClG+B,IAAAA,cAAAA,EAAgBzJ,MAAAA,EAAQyJ,cAAAA,IAAkB5B,uBAAAA,CAAe6B,wCAAAA,EAA4BhC,YAAAA;AACzF,GAAA;AACJ,CAAA,EA/CgC,kBAAA,CAAA;;;AIfhC7a,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;AAAO,IAAM8c,iCAAAA,wCAAqCC,aAAAA,KAAAA;AAC9C,EAAA,MAAMC,mBAAmBD,aAAAA,CAAc1D,eAAAA;AACvC,EAAA,IAAI4D,0BAA0BF,aAAAA,CAAc3D,sBAAAA;AAC5C,EAAA,IAAI8D,eAAeH,aAAAA,CAAcI,WAAAA;AACjC,EAAA,OAAO;AACHC,IAAAA,iBAAAA,CAAkBC,cAAAA,EAAc;AAC5B,MAAA,MAAMpc,KAAAA,GAAQ+b,iBAAiBM,SAAAA,CAAU,CAACC,WAAWA,MAAAA,CAAO5J,QAAAA,KAAa0J,eAAe1J,QAAQ,CAAA;AAChG,MAAA,IAAI1S,UAAU,EAAA,EAAI;AACd+b,QAAAA,gBAAAA,CAAiB9b,KAAKmc,cAAAA,CAAAA;MAC1B,CAAA,MACK;AACDL,QAAAA,gBAAAA,CAAiBQ,MAAAA,CAAOvc,KAAAA,EAAO,CAAA,EAAGoc,cAAAA,CAAAA;AACtC,MAAA;AACJ,IAAA,CAAA;IACAhE,eAAAA,GAAAA;AACI,MAAA,OAAO2D,gBAAAA;AACX,IAAA,CAAA;AACAS,IAAAA,yBAAAA,CAA0BrE,sBAAAA,EAAsB;AAC5C6D,MAAAA,uBAAAA,GAA0B7D,sBAAAA;AAC9B,IAAA,CAAA;IACAA,sBAAAA,GAAAA;AACI,MAAA,OAAO6D,uBAAAA;AACX,IAAA,CAAA;AACAS,IAAAA,cAAAA,CAAeP,WAAAA,EAAW;AACtBD,MAAAA,YAAAA,GAAeC,WAAAA;AACnB,IAAA,CAAA;IACAA,WAAAA,GAAAA;AACI,MAAA,OAAOD,YAAAA;AACX,IAAA;AACJ,GAAA;AACJ,CAAA,EA9BiD,mCAAA,CAAA;AA+B1C,IAAMS,4BAAAA,wCAAgCxK,MAAAA,KAAAA;AACzC,EAAA,OAAO;AACHkG,IAAAA,eAAAA,EAAiBlG,OAAOkG,eAAAA,EAAe;AACvCD,IAAAA,sBAAAA,EAAwBjG,OAAOiG,sBAAAA,EAAsB;AACrD+D,IAAAA,WAAAA,EAAahK,OAAOgK,WAAAA;AACxB,GAAA;AACJ,CAAA,EAN4C,8BAAA,CAAA;;;AD3BrC,IAAMS,wBAAAA,mBAA2BlX,mBAAA,CAAA,CAACqW,aAAAA,EAAe5D,UAAAA,KAAAA;AACpD,EAAA,MAAM0E,sBAAAA,GAAyBjc,MAAAA,CAAOC,MAAAA,CAAOic,gDAAAA,CAAmCf,aAAAA,CAAAA,EAAgBgB,6CAAAA,CAAiChB,aAAAA,CAAAA,EAAgBiB,iDAAAA,CAAqCjB,aAAAA,CAAAA,EAAgBD,iCAAAA,CAAkCC,aAAAA,CAAAA,CAAAA;AACxO5D,EAAAA,UAAAA,CAAW8E,QAAQ,CAACC,SAAAA,KAAcA,SAAAA,CAAUC,SAAAA,CAAUN,sBAAAA,CAAAA,CAAAA;AACtD,EAAA,OAAOjc,MAAAA,CAAOC,MAAAA,CAAOkb,aAAAA,EAAeqB,oDAAAA,CAAuCP,sBAAAA,CAAAA,EAAyBQ,wCAAAA,CAA4BR,sBAAAA,CAAAA,EAAyBS,4CAAAA,CAAgCT,sBAAAA,CAAAA,EAAyBF,4BAAAA,CAA6BE,sBAAAA,CAAAA,CAAAA;AACnP,CAAA,EAJwC,0BAAA,CAAA;;;AnBWjC,IAAM3J,SAAAA,GAAN,cAAwBqK,mBAAAA,CAAAA;EAf/B;;;AAgBIpL,EAAAA,MAAAA;EACA,WAAA,CAAA,GAAe,CAACqL,aAAAA,CAAAA,EAAgB;AAC5B,IAAA,MAAMC,SAAAA,GAAYC,iBAAAA,CAAmBF,aAAAA,IAAiB,EAAC,CAAA;AACvD,IAAA,KAAA,CAAMC,SAAAA,CAAAA;AACN,IAAA,IAAA,CAAKE,UAAAA,GAAaF,SAAAA;AAClB,IAAA,MAAMG,SAAAA,GAAYpK,gCAAgCiK,SAAAA,CAAAA;AAClD,IAAA,MAAMI,SAAAA,GAAYC,qCAAuBF,SAAAA,CAAAA;AACzC,IAAA,MAAMG,SAAAA,GAAYC,iCAAmBH,SAAAA,CAAAA;AACrC,IAAA,MAAMI,SAAAA,GAAYC,kCAAoBH,SAAAA,CAAAA;AACtC,IAAA,MAAMI,SAAAA,GAAYC,sCAAwBH,SAAAA,CAAAA;AAC1C,IAAA,MAAMI,SAAAA,GAAYC,oCAAsBH,SAAAA,CAAAA;AACxC,IAAA,MAAMI,SAAAA,GAAYpL,4BAA4BkL,SAAAA,CAAAA;AAC9C,IAAA,MAAMG,YAAY5B,wBAAAA,CAAyB2B,SAAAA,EAAWf,aAAAA,EAAerF,UAAAA,IAAc,EAAE,CAAA;AACrF,IAAA,IAAA,CAAKhG,MAAAA,GAASqM,SAAAA;AACd,IAAA,IAAA,CAAKC,eAAAA,CAAgBC,GAAAA,CAAIC,gCAAAA,CAAmB,IAAA,CAAKxM,MAAM,CAAA,CAAA;AACvD,IAAA,IAAA,CAAKsM,eAAAA,CAAgBC,GAAAA,CAAIE,4BAAAA,CAAe,IAAA,CAAKzM,MAAM,CAAA,CAAA;AACnD,IAAA,IAAA,CAAKsM,eAAAA,CAAgBC,GAAAA,CAAIG,oCAAAA,CAAuB,IAAA,CAAK1M,MAAM,CAAA,CAAA;AAC3D,IAAA,IAAA,CAAKsM,eAAAA,CAAgBC,GAAAA,CAAII,iCAAAA,CAAoB,IAAA,CAAK3M,MAAM,CAAA,CAAA;AACxD,IAAA,IAAA,CAAKsM,eAAAA,CAAgBC,GAAAA,CAAIK,6BAAAA,CAAgB,IAAA,CAAK5M,MAAM,CAAA,CAAA;AACpD,IAAA,IAAA,CAAKsM,eAAAA,CAAgBC,GAAAA,CAAIM,yCAAAA,CAA4B,IAAA,CAAK7M,MAAM,CAAA,CAAA;AAChE,IAAA,IAAA,CAAKsM,eAAAA,CAAgBC,GAAAA,CAAIO,oDAAAA,CAAuC,IAAA,CAAK9M,MAAAA,EAAQ;MACzE+M,gCAAAA,EAAkChN,0CAAAA;MAClCiN,8BAAAA,kBAAgCzZ,mBAAA,CAAA,OAAOyM,MAAAA,KAAW,IAAIiN,2CAAAA,CAA8B;AAChF,QAAA,gBAAA,EAAkBjN,MAAAA,CAAOgK;AAC7B,OAAA,CAAA,EAFgC,gCAAA;AAGpC,KAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAKsC,eAAAA,CAAgBC,GAAAA,CAAIW,kCAAAA,CAAqB,IAAA,CAAKlN,MAAM,CAAA,CAAA;AAC7D,EAAA;EACAmN,OAAAA,GAAU;AACN,IAAA,KAAA,CAAMA,OAAAA,EAAAA;AACV,EAAA;AACJ;;;AqB/CAtgB,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;AAEO,IAAMugB,mBAAAA,GAAN,MAAMA,oBAAAA,SAA4BC,6BAAAA,CAAAA;EAFzC;;;AAGI,EAAA,WAAA,CAAY7e,OAAAA,EAAS;AACjB,IAAA,KAAA,CAAMA,OAAAA,CAAAA;AACNC,IAAAA,MAAAA,CAAO6e,cAAAA,CAAe,IAAA,EAAMF,oBAAAA,CAAoBG,SAAS,CAAA;AAC7D,EAAA;AACJ;;;ADLO,IAAMC,6BAAAA,wCAAiCrP,GAAAA,MAAS;EACnD,GAAGA,GAAAA;AACH,EAAA,GAAIA,IAAIsP,eAAAA,IAAmB;IAAEA,eAAAA,EAAiBC;AAAiB;AACnE,CAAA,CAAA,EAH6C,+BAAA;AAItC,IAAMC,oCAAAA,wCAAwCxP,GAAAA,MAAS;EAC1D,GAAGA,GAAAA;AACH,EAAA,GAAIA,IAAIyP,WAAAA,IAAe;IAAEA,WAAAA,EAAaJ,6BAAAA,CAA8BrP,IAAIyP,WAAW;AAAE;AACzF,CAAA,CAAA,EAHoD,sCAAA;AAI7C,IAAMC,qBAAAA,GAAN,MAAMA,sBAAAA,SAA8BC,mBAAAA,CAAAA;EAV3C;;;EAWI9W,IAAAA,GAAO,uBAAA;EACP+W,MAAAA,GAAS,QAAA;AACT,EAAA,WAAA,CAAYC,IAAAA,EAAM;AACd,IAAA,KAAA,CAAM;MACFhX,IAAAA,EAAM,uBAAA;MACN+W,MAAAA,EAAQ,QAAA;MACR,GAAGC;KACP,CAAA;AACAvf,IAAAA,MAAAA,CAAO6e,cAAAA,CAAe,IAAA,EAAMO,sBAAAA,CAAsBN,SAAS,CAAA;AAC/D,EAAA;AACJ;AACO,IAAMU,gCAAAA,GAAN,MAAMA,iCAAAA,SAAyCH,mBAAAA,CAAAA;EAtBtD;;;EAuBI9W,IAAAA,GAAO,kCAAA;EACP+W,MAAAA,GAAS,QAAA;AACT,EAAA,WAAA,CAAYC,IAAAA,EAAM;AACd,IAAA,KAAA,CAAM;MACFhX,IAAAA,EAAM,kCAAA;MACN+W,MAAAA,EAAQ,QAAA;MACR,GAAGC;KACP,CAAA;AACAvf,IAAAA,MAAAA,CAAO6e,cAAAA,CAAe,IAAA,EAAMW,iCAAAA,CAAiCV,SAAS,CAAA;AAC1E,EAAA;AACJ;AACO,IAAMW,6BAAAA,GAAN,MAAMA,8BAAAA,SAAsCJ,mBAAAA,CAAAA;EAlCnD;;;EAmCI9W,IAAAA,GAAO,+BAAA;EACP+W,MAAAA,GAAS,QAAA;AACT,EAAA,WAAA,CAAYC,IAAAA,EAAM;AACd,IAAA,KAAA,CAAM;MACFhX,IAAAA,EAAM,+BAAA;MACN+W,MAAAA,EAAQ,QAAA;MACR,GAAGC;KACP,CAAA;AACAvf,IAAAA,MAAAA,CAAO6e,cAAAA,CAAe,IAAA,EAAMY,8BAAAA,CAA8BX,SAAS,CAAA;AACvE,EAAA;AACJ;AACO,IAAMY,uBAAAA,GAAN,MAAMA,wBAAAA,SAAgCL,mBAAAA,CAAAA;EA9C7C;;;EA+CI9W,IAAAA,GAAO,yBAAA;EACP+W,MAAAA,GAAS,QAAA;AACT,EAAA,WAAA,CAAYC,IAAAA,EAAM;AACd,IAAA,KAAA,CAAM;MACFhX,IAAAA,EAAM,yBAAA;MACN+W,MAAAA,EAAQ,QAAA;MACR,GAAGC;KACP,CAAA;AACAvf,IAAAA,MAAAA,CAAO6e,cAAAA,CAAe,IAAA,EAAMa,wBAAAA,CAAwBZ,SAAS,CAAA;AACjE,EAAA;AACJ;AACO,IAAMa,yBAAAA,GAAN,MAAMA,0BAAAA,SAAkCN,mBAAAA,CAAAA;EA1D/C;;;EA2DI9W,IAAAA,GAAO,2BAAA;EACP+W,MAAAA,GAAS,QAAA;AACT,EAAA,WAAA,CAAYC,IAAAA,EAAM;AACd,IAAA,KAAA,CAAM;MACFhX,IAAAA,EAAM,2BAAA;MACN+W,MAAAA,EAAQ,QAAA;MACR,GAAGC;KACP,CAAA;AACAvf,IAAAA,MAAAA,CAAO6e,cAAAA,CAAe,IAAA,EAAMc,0BAAAA,CAA0Bb,SAAS,CAAA;AACnE,EAAA;AACJ;AACO,IAAMc,6BAAAA,GAAN,MAAMA,8BAAAA,SAAsCP,mBAAAA,CAAAA;EAtEnD;;;EAuEI9W,IAAAA,GAAO,+BAAA;EACP+W,MAAAA,GAAS,QAAA;AACT,EAAA,WAAA,CAAYC,IAAAA,EAAM;AACd,IAAA,KAAA,CAAM;MACFhX,IAAAA,EAAM,+BAAA;MACN+W,MAAAA,EAAQ,QAAA;MACR,GAAGC;KACP,CAAA;AACAvf,IAAAA,MAAAA,CAAO6e,cAAAA,CAAe,IAAA,EAAMe,8BAAAA,CAA8Bd,SAAS,CAAA;AACvE,EAAA;AACJ;AACO,IAAMe,kDAAAA,wCAAsDnQ,GAAAA,MAAS;EACxE,GAAGA,GAAAA;AACH,EAAA,GAAIA,IAAIoQ,gBAAAA,IAAoB;IAAEA,gBAAAA,EAAkBb;AAAiB;AACrE,CAAA,CAAA,EAHkE,oDAAA;AAI3D,IAAMc,mDAAAA,wCAAuDrQ,GAAAA,MAAS;EACzE,GAAGA,GAAAA;AACH,EAAA,GAAIA,IAAIyP,WAAAA,IAAe;IAAEA,WAAAA,EAAaJ,6BAAAA,CAA8BrP,IAAIyP,WAAW;AAAE;AACzF,CAAA,CAAA,EAHmE,qDAAA;AAI5D,IAAMa,8BAAAA,GAAN,MAAMA,+BAAAA,SAAuCX,mBAAAA,CAAAA;EA1FpD;;;EA2FI9W,IAAAA,GAAO,gCAAA;EACP+W,MAAAA,GAAS,QAAA;AACT,EAAA,WAAA,CAAYC,IAAAA,EAAM;AACd,IAAA,KAAA,CAAM;MACFhX,IAAAA,EAAM,gCAAA;MACN+W,MAAAA,EAAQ,QAAA;MACR,GAAGC;KACP,CAAA;AACAvf,IAAAA,MAAAA,CAAO6e,cAAAA,CAAe,IAAA,EAAMmB,+BAAAA,CAA+BlB,SAAS,CAAA;AACxE,EAAA;AACJ;;;AErGA1gB,2BAAA,EAAA;AAKO,IAAM6hB,oBAAAA,mBAAuBnb,mBAAA,CAAA,OAAO0M,KAAAA,EAAOhB,OAAAA,KAAAA;AAC9C,EAAA,MAAMwF,OAAAA,GAAUkK,cAAAA;AAChB,EAAA,IAAIC,IAAAA;AACJA,EAAAA,IAAAA,GAAOC,yBAAAA,CAA0B;IAC7B,GAAGC,oBAAAA,CAAqB7O,OAAOhB,OAAAA,CAAAA;AAC/B,IAAA,CAAC8P,EAAAA,GAAKC,GAAAA;AACN,IAAA,CAACC,EAAAA,GAAK1V;GACV,CAAA;AACA,EAAA,OAAO2V,mBAAAA,CAAoBjQ,OAAAA,EAASwF,OAAAA,EAAS,GAAA,EAAK5S,QAAW+c,IAAAA,CAAAA;AACjE,CAAA,EAToC,sBAAA,CAAA;AAU7B,IAAMO,mCAAAA,mBAAsC5b,mBAAA,CAAA,OAAO0M,KAAAA,EAAOhB,OAAAA,KAAAA;AAC7D,EAAA,MAAMwF,OAAAA,GAAUkK,cAAAA;AAChB,EAAA,IAAIC,IAAAA;AACJA,EAAAA,IAAAA,GAAOC,yBAAAA,CAA0B;IAC7B,GAAGO,mCAAAA,CAAoCnP,OAAOhB,OAAAA,CAAAA;AAC9C,IAAA,CAAC8P,EAAAA,GAAKM,MAAAA;AACN,IAAA,CAACJ,EAAAA,GAAK1V;GACV,CAAA;AACA,EAAA,OAAO2V,mBAAAA,CAAoBjQ,OAAAA,EAASwF,OAAAA,EAAS,GAAA,EAAK5S,QAAW+c,IAAAA,CAAAA;AACjE,CAAA,EATmD,qCAAA,CAAA;AAU5C,IAAMU,oBAAAA,mBAAuB/b,mBAAA,CAAA,OAAOgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AAC/C,EAAA,IAAIsQ,MAAAA,CAAOC,cAAc,GAAA,EAAK;AAC1B,IAAA,OAAOC,eAAAA,CAAgBF,QAAQtQ,OAAAA,CAAAA;AACnC,EAAA;AACA,EAAA,MAAMjJ,IAAAA,GAAO,MAAM0Z,YAAAA,CAAUH,MAAAA,CAAOX,MAAM3P,OAAAA,CAAAA;AAC1C,EAAA,IAAI0Q,WAAW,EAAC;AAChBA,EAAAA,QAAAA,GAAWC,qBAAAA,CAAsB5Z,IAAAA,CAAK6Z,gBAAAA,EAAkB5Q,OAAAA,CAAAA;AACxD,EAAA,MAAM6Q,QAAAA,GAAW;AACbC,IAAAA,SAAAA,EAAWC,oBAAoBT,MAAAA,CAAAA;IAC/B,GAAGI;AACP,GAAA;AACA,EAAA,OAAOG,QAAAA;AACX,CAAA,EAZoC,sBAAA,CAAA;AAa7B,IAAMG,mCAAAA,mBAAsC1c,mBAAA,CAAA,OAAOgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AAC9D,EAAA,IAAIsQ,MAAAA,CAAOC,cAAc,GAAA,EAAK;AAC1B,IAAA,OAAOC,eAAAA,CAAgBF,QAAQtQ,OAAAA,CAAAA;AACnC,EAAA;AACA,EAAA,MAAMjJ,IAAAA,GAAO,MAAM0Z,YAAAA,CAAUH,MAAAA,CAAOX,MAAM3P,OAAAA,CAAAA;AAC1C,EAAA,IAAI0Q,WAAW,EAAC;AAChBA,EAAAA,QAAAA,GAAWO,oCAAAA,CAAqCla,IAAAA,CAAKma,+BAAAA,EAAiClR,OAAAA,CAAAA;AACtF,EAAA,MAAM6Q,QAAAA,GAAW;AACbC,IAAAA,SAAAA,EAAWC,oBAAoBT,MAAAA,CAAAA;IAC/B,GAAGI;AACP,GAAA;AACA,EAAA,OAAOG,QAAAA;AACX,CAAA,EAZmD,qCAAA,CAAA;AAanD,IAAML,eAAAA,mBAAkBlc,mBAAA,CAAA,OAAOgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AACnC,EAAA,MAAMmR,YAAAA,GAAe;IACjB,GAAGb,MAAAA;AACHX,IAAAA,IAAAA,EAAM,MAAMyB,iBAAAA,CAAed,MAAAA,CAAOX,IAAAA,EAAM3P,OAAAA;AAC5C,GAAA;AACA,EAAA,MAAMqR,SAAAA,GAAYC,kBAAAA,CAAmBhB,MAAAA,EAAQa,YAAAA,CAAaxB,IAAI,CAAA;AAC9D,EAAA,QAAQ0B,SAAAA;IACJ,KAAK,uBAAA;IACL,KAAK,yCAAA;AACD,MAAA,MAAM,MAAME,2BAAAA,CAA4BJ,YAAAA,EAAcnR,OAAAA,CAAAA;IAC1D,KAAK,yBAAA;IACL,KAAK,oDAAA;AACD,MAAA,MAAM,MAAMwR,sCAAAA,CAAuCL,YAAAA,EAAcnR,OAAAA,CAAAA;IACrE,KAAK,sBAAA;IACL,KAAK,iDAAA;AACD,MAAA,MAAM,MAAMyR,mCAAAA,CAAoCN,YAAAA,EAAcnR,OAAAA,CAAAA;IAClE,KAAK,yBAAA;IACL,KAAK,2CAAA;AACD,MAAA,MAAM,MAAM0R,6BAAAA,CAA8BP,YAAAA,EAAcnR,OAAAA,CAAAA;IAC5D,KAAK,uBAAA;IACL,KAAK,kDAAA;AACD,MAAA,MAAM,MAAM2R,oCAAAA,CAAqCR,YAAAA,EAAcnR,OAAAA,CAAAA;IACnE,KAAK,kBAAA;IACL,KAAK,6CAAA;AACD,MAAA,MAAM,MAAM4R,+BAAAA,CAAgCT,YAAAA,EAAcnR,OAAAA,CAAAA;IAC9D,KAAK,sBAAA;IACL,KAAK,iDAAA;AACD,MAAA,MAAM,MAAM6R,mCAAAA,CAAoCV,YAAAA,EAAcnR,OAAAA,CAAAA;AAClE,IAAA;AACI,MAAA,MAAM8R,aAAaX,YAAAA,CAAaxB,IAAAA;AAChC,MAAA,OAAOoC,iBAAAA,CAAkB;AACrBzB,QAAAA,MAAAA;AACAwB,QAAAA,UAAAA,EAAYA,UAAAA,CAAWlb,KAAAA;AACvBya,QAAAA;OACJ,CAAA;AACR;AACJ,CAAA,EApCwB,iBAAA,CAAA;AAqCxB,IAAME,2BAAAA,mBAA8Bjd,mBAAA,CAAA,OAAO6c,YAAAA,EAAcnR,OAAAA,KAAAA;AACrD,EAAA,MAAM2P,OAAOwB,YAAAA,CAAaxB,IAAAA;AAC1B,EAAA,MAAMqC,YAAAA,GAAeC,wBAAAA,CAAyBtC,IAAAA,CAAK/Y,KAAAA,EAAOoJ,OAAAA,CAAAA;AAC1D,EAAA,MAAMkS,SAAAA,GAAY,IAAItD,qBAAAA,CAAsB;AACxCkC,IAAAA,SAAAA,EAAWC,oBAAoBI,YAAAA,CAAAA;IAC/B,GAAGa;GACP,CAAA;AACA,EAAA,OAAOG,qCAAAA,CAA2BD,WAAWvC,IAAAA,CAAAA;AACjD,CAAA,EARoC,6BAAA,CAAA;AASpC,IAAMgC,oCAAAA,mBAAuCrd,mBAAA,CAAA,OAAO6c,YAAAA,EAAcnR,OAAAA,KAAAA;AAC9D,EAAA,MAAM2P,OAAOwB,YAAAA,CAAaxB,IAAAA;AAC1B,EAAA,MAAMqC,YAAAA,GAAeI,iCAAAA,CAAkCzC,IAAAA,CAAK/Y,KAAAA,EAAOoJ,OAAAA,CAAAA;AACnE,EAAA,MAAMkS,SAAAA,GAAY,IAAI1C,8BAAAA,CAA+B;AACjDsB,IAAAA,SAAAA,EAAWC,oBAAoBI,YAAAA,CAAAA;IAC/B,GAAGa;GACP,CAAA;AACA,EAAA,OAAOG,qCAAAA,CAA2BD,WAAWvC,IAAAA,CAAAA;AACjD,CAAA,EAR6C,sCAAA,CAAA;AAS7C,IAAMiC,+BAAAA,mBAAkCtd,mBAAA,CAAA,OAAO6c,YAAAA,EAAcnR,OAAAA,KAAAA;AACzD,EAAA,MAAM2P,OAAOwB,YAAAA,CAAaxB,IAAAA;AAC1B,EAAA,MAAMqC,YAAAA,GAAeK,4BAAAA,CAA6B1C,IAAAA,CAAK/Y,KAAAA,EAAOoJ,OAAAA,CAAAA;AAC9D,EAAA,MAAMkS,SAAAA,GAAY,IAAI/C,yBAAAA,CAA0B;AAC5C2B,IAAAA,SAAAA,EAAWC,oBAAoBI,YAAAA,CAAAA;IAC/B,GAAGa;GACP,CAAA;AACA,EAAA,OAAOG,qCAAAA,CAA2BD,WAAWvC,IAAAA,CAAAA;AACjD,CAAA,EARwC,iCAAA,CAAA;AASxC,IAAMkC,mCAAAA,mBAAsCvd,mBAAA,CAAA,OAAO6c,YAAAA,EAAcnR,OAAAA,KAAAA;AAC7D,EAAA,MAAM2P,OAAOwB,YAAAA,CAAaxB,IAAAA;AAC1B,EAAA,MAAMqC,YAAAA,GAAeM,gCAAAA,CAAiC3C,IAAAA,CAAK/Y,KAAAA,EAAOoJ,OAAAA,CAAAA;AAClE,EAAA,MAAMkS,SAAAA,GAAY,IAAI9C,6BAAAA,CAA8B;AAChD0B,IAAAA,SAAAA,EAAWC,oBAAoBI,YAAAA,CAAAA;IAC/B,GAAGa;GACP,CAAA;AACA,EAAA,OAAOG,qCAAAA,CAA2BD,WAAWvC,IAAAA,CAAAA;AACjD,CAAA,EAR4C,qCAAA,CAAA;AAS5C,IAAM6B,sCAAAA,mBAAyCld,mBAAA,CAAA,OAAO6c,YAAAA,EAAcnR,OAAAA,KAAAA;AAChE,EAAA,MAAM2P,OAAOwB,YAAAA,CAAaxB,IAAAA;AAC1B,EAAA,MAAMqC,YAAAA,GAAeO,mCAAAA,CAAoC5C,IAAAA,CAAK/Y,KAAAA,EAAOoJ,OAAAA,CAAAA;AACrE,EAAA,MAAMkS,SAAAA,GAAY,IAAIlD,gCAAAA,CAAiC;AACnD8B,IAAAA,SAAAA,EAAWC,oBAAoBI,YAAAA,CAAAA;IAC/B,GAAGa;GACP,CAAA;AACA,EAAA,OAAOG,qCAAAA,CAA2BD,WAAWvC,IAAAA,CAAAA;AACjD,CAAA,EAR+C,wCAAA,CAAA;AAS/C,IAAM8B,mCAAAA,mBAAsCnd,mBAAA,CAAA,OAAO6c,YAAAA,EAAcnR,OAAAA,KAAAA;AAC7D,EAAA,MAAM2P,OAAOwB,YAAAA,CAAaxB,IAAAA;AAC1B,EAAA,MAAMqC,YAAAA,GAAeQ,gCAAAA,CAAiC7C,IAAAA,CAAK/Y,KAAAA,EAAOoJ,OAAAA,CAAAA;AAClE,EAAA,MAAMkS,SAAAA,GAAY,IAAIjD,6BAAAA,CAA8B;AAChD6B,IAAAA,SAAAA,EAAWC,oBAAoBI,YAAAA,CAAAA;IAC/B,GAAGa;GACP,CAAA;AACA,EAAA,OAAOG,qCAAAA,CAA2BD,WAAWvC,IAAAA,CAAAA;AACjD,CAAA,EAR4C,qCAAA,CAAA;AAS5C,IAAM+B,6BAAAA,mBAAgCpd,mBAAA,CAAA,OAAO6c,YAAAA,EAAcnR,OAAAA,KAAAA;AACvD,EAAA,MAAM2P,OAAOwB,YAAAA,CAAaxB,IAAAA;AAC1B,EAAA,MAAMqC,YAAAA,GAAeS,0BAAAA,CAA2B9C,IAAAA,CAAK/Y,KAAAA,EAAOoJ,OAAAA,CAAAA;AAC5D,EAAA,MAAMkS,SAAAA,GAAY,IAAIhD,uBAAAA,CAAwB;AAC1C4B,IAAAA,SAAAA,EAAWC,oBAAoBI,YAAAA,CAAAA;IAC/B,GAAGa;GACP,CAAA;AACA,EAAA,OAAOG,qCAAAA,CAA2BD,WAAWvC,IAAAA,CAAAA;AACjD,CAAA,EARsC,+BAAA,CAAA;AAStC,IAAME,oBAAAA,mBAAuBvb,mBAAA,CAAA,CAAC0M,KAAAA,EAAOhB,OAAAA,KAAAA;AACjC,EAAA,MAAM0S,UAAU,EAAC;AACjB,EAAA,IAAI1R,KAAAA,CAAM2R,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBD,IAAAA,OAAAA,CAAQC,GAAAA,CAAAA,GAAO3R,KAAAA,CAAM2R,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,IAAI3R,KAAAA,CAAM4R,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACrBF,IAAAA,OAAAA,CAAQE,IAAAA,CAAAA,GAAQ5R,KAAAA,CAAM4R,IAAAA,CAAAA;AAC1B,EAAA;AACA,EAAA,IAAI5R,KAAAA,CAAM6R,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpB,IAAA,MAAMC,aAAAA,GAAgBC,2BAAAA,CAA4B/R,KAAAA,CAAM6R,GAAAA,GAAM7S,OAAAA,CAAAA;AAC9D,IAAA,IAAIgB,KAAAA,CAAM6R,GAAAA,CAAAA,EAAMlkB,MAAAA,KAAW,CAAA,EAAG;AAC1B+jB,MAAAA,OAAAA,CAAQM,aAAa,EAAA;AACzB,IAAA;AACAxjB,IAAAA,MAAAA,CAAOkjB,OAAAA,CAAQI,aAAAA,CAAAA,CAAejH,OAAAA,CAAQ,CAAC,CAAChW,GAAAA,EAAK/E,KAAAA,CAAAA,KAAM;AAC/C,MAAA,MAAMmiB,GAAAA,GAAM,cAAcpd,GAAAA,CAAAA,CAAAA;AAC1B6c,MAAAA,OAAAA,CAAQO,GAAAA,CAAAA,GAAOniB,KAAAA;IACnB,CAAA,CAAA;AACJ,EAAA;AACA,EAAA,IAAIkQ,KAAAA,CAAMkS,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACnBR,IAAAA,OAAAA,CAAQQ,EAAAA,CAAAA,GAAMlS,KAAAA,CAAMkS,EAAAA,CAAAA;AACxB,EAAA;AACA,EAAA,IAAIlS,KAAAA,CAAMmS,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBT,IAAAA,OAAAA,CAAQS,GAAAA,CAAAA,GAAOnS,KAAAA,CAAMmS,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,IAAInS,KAAAA,CAAMoS,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACnB,IAAA,MAAMN,aAAAA,GAAgBO,cAAAA,CAAerS,KAAAA,CAAMoS,EAAAA,GAAKpT,OAAAA,CAAAA;AAChD,IAAA,IAAIgB,KAAAA,CAAMoS,EAAAA,CAAAA,EAAKzkB,MAAAA,KAAW,CAAA,EAAG;AACzB+jB,MAAAA,OAAAA,CAAQY,OAAO,EAAA;AACnB,IAAA;AACA9jB,IAAAA,MAAAA,CAAOkjB,OAAAA,CAAQI,aAAAA,CAAAA,CAAejH,OAAAA,CAAQ,CAAC,CAAChW,GAAAA,EAAK/E,KAAAA,CAAAA,KAAM;AAC/C,MAAA,MAAMmiB,GAAAA,GAAM,QAAQpd,GAAAA,CAAAA,CAAAA;AACpB6c,MAAAA,OAAAA,CAAQO,GAAAA,CAAAA,GAAOniB,KAAAA;IACnB,CAAA,CAAA;AACJ,EAAA;AACA,EAAA,IAAIkQ,KAAAA,CAAMuS,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACrB,IAAA,MAAMT,aAAAA,GAAgBU,iBAAAA,CAAkBxS,KAAAA,CAAMuS,IAAAA,GAAOvT,OAAAA,CAAAA;AACrD,IAAA,IAAIgB,KAAAA,CAAMuS,IAAAA,CAAAA,EAAO5kB,MAAAA,KAAW,CAAA,EAAG;AAC3B+jB,MAAAA,OAAAA,CAAQe,oBAAoB,EAAA;AAChC,IAAA;AACAjkB,IAAAA,MAAAA,CAAOkjB,OAAAA,CAAQI,aAAAA,CAAAA,CAAejH,OAAAA,CAAQ,CAAC,CAAChW,GAAAA,EAAK/E,KAAAA,CAAAA,KAAM;AAC/C,MAAA,MAAMmiB,GAAAA,GAAM,qBAAqBpd,GAAAA,CAAAA,CAAAA;AACjC6c,MAAAA,OAAAA,CAAQO,GAAAA,CAAAA,GAAOniB,KAAAA;IACnB,CAAA,CAAA;AACJ,EAAA;AACA,EAAA,IAAIkQ,KAAAA,CAAM0S,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBhB,IAAAA,OAAAA,CAAQgB,GAAAA,CAAAA,GAAO1S,KAAAA,CAAM0S,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,IAAI1S,KAAAA,CAAM2S,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBjB,IAAAA,OAAAA,CAAQiB,GAAAA,CAAAA,GAAO3S,KAAAA,CAAM2S,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,IAAI3S,KAAAA,CAAM4S,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBlB,IAAAA,OAAAA,CAAQkB,GAAAA,CAAAA,GAAO5S,KAAAA,CAAM4S,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,IAAI5S,KAAAA,CAAM6S,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBnB,IAAAA,OAAAA,CAAQmB,GAAAA,CAAAA,GAAO7S,KAAAA,CAAM6S,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,IAAI7S,KAAAA,CAAM8S,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpB,IAAA,MAAMhB,aAAAA,GAAgBiB,2BAAAA,CAA4B/S,KAAAA,CAAM8S,GAAAA,GAAM9T,OAAAA,CAAAA;AAC9D,IAAA,IAAIgB,KAAAA,CAAM8S,GAAAA,CAAAA,EAAMnlB,MAAAA,KAAW,CAAA,EAAG;AAC1B+jB,MAAAA,OAAAA,CAAQsB,mBAAmB,EAAA;AAC/B,IAAA;AACAxkB,IAAAA,MAAAA,CAAOkjB,OAAAA,CAAQI,aAAAA,CAAAA,CAAejH,OAAAA,CAAQ,CAAC,CAAChW,GAAAA,EAAK/E,KAAAA,CAAAA,KAAM;AAC/C,MAAA,MAAMmiB,GAAAA,GAAM,oBAAoBpd,GAAAA,CAAAA,CAAAA;AAChC6c,MAAAA,OAAAA,CAAQO,GAAAA,CAAAA,GAAOniB,KAAAA;IACnB,CAAA,CAAA;AACJ,EAAA;AACA,EAAA,OAAO4hB,OAAAA;AACX,CAAA,EAnE6B,sBAAA,CAAA;AAoE7B,IAAMvC,mCAAAA,mBAAsC7b,mBAAA,CAAA,CAAC0M,KAAAA,EAAOhB,OAAAA,KAAAA;AAChD,EAAA,MAAM0S,UAAU,EAAC;AACjB,EAAA,IAAI1R,KAAAA,CAAM2R,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBD,IAAAA,OAAAA,CAAQC,GAAAA,CAAAA,GAAO3R,KAAAA,CAAM2R,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,IAAI3R,KAAAA,CAAM4R,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACrBF,IAAAA,OAAAA,CAAQE,IAAAA,CAAAA,GAAQ5R,KAAAA,CAAM4R,IAAAA,CAAAA;AAC1B,EAAA;AACA,EAAA,IAAI5R,KAAAA,CAAMiT,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACrBvB,IAAAA,OAAAA,CAAQuB,IAAAA,CAAAA,GAAQjT,KAAAA,CAAMiT,IAAAA,CAAAA;AAC1B,EAAA;AACA,EAAA,IAAIjT,KAAAA,CAAMkT,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBxB,IAAAA,OAAAA,CAAQwB,GAAAA,CAAAA,GAAOlT,KAAAA,CAAMkT,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,IAAIlT,KAAAA,CAAM6R,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpB,IAAA,MAAMC,aAAAA,GAAgBC,2BAAAA,CAA4B/R,KAAAA,CAAM6R,GAAAA,GAAM7S,OAAAA,CAAAA;AAC9D,IAAA,IAAIgB,KAAAA,CAAM6R,GAAAA,CAAAA,EAAMlkB,MAAAA,KAAW,CAAA,EAAG;AAC1B+jB,MAAAA,OAAAA,CAAQM,aAAa,EAAA;AACzB,IAAA;AACAxjB,IAAAA,MAAAA,CAAOkjB,OAAAA,CAAQI,aAAAA,CAAAA,CAAejH,OAAAA,CAAQ,CAAC,CAAChW,GAAAA,EAAK/E,KAAAA,CAAAA,KAAM;AAC/C,MAAA,MAAMmiB,GAAAA,GAAM,cAAcpd,GAAAA,CAAAA,CAAAA;AAC1B6c,MAAAA,OAAAA,CAAQO,GAAAA,CAAAA,GAAOniB,KAAAA;IACnB,CAAA,CAAA;AACJ,EAAA;AACA,EAAA,IAAIkQ,KAAAA,CAAMkS,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACnBR,IAAAA,OAAAA,CAAQQ,EAAAA,CAAAA,GAAMlS,KAAAA,CAAMkS,EAAAA,CAAAA;AACxB,EAAA;AACA,EAAA,IAAIlS,KAAAA,CAAMmS,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBT,IAAAA,OAAAA,CAAQS,GAAAA,CAAAA,GAAOnS,KAAAA,CAAMmS,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,OAAOT,OAAAA;AACX,CAAA,EA/B4C,qCAAA,CAAA;AAgC5C,IAAMK,2BAAAA,mBAA8Bze,mBAAA,CAAA,CAAC0M,KAAAA,EAAOhB,OAAAA,KAAAA;AACxC,EAAA,MAAM0S,UAAU,EAAC;AACjB,EAAA,IAAIyB,OAAAA,GAAU,CAAA;AACd,EAAA,KAAA,MAAWC,SAASpT,KAAAA,EAAO;AACvB,IAAA,IAAIoT,UAAU,IAAA,EAAM;AAChB,MAAA;AACJ,IAAA;AACA,IAAA,MAAMtB,aAAAA,GAAgBuB,uBAAAA,CAAwBD,KAAAA,EAAOpU,OAAAA,CAAAA;AACrDxQ,IAAAA,MAAAA,CAAOkjB,OAAAA,CAAQI,aAAAA,CAAAA,CAAejH,OAAAA,CAAQ,CAAC,CAAChW,GAAAA,EAAK/E,KAAAA,CAAAA,KAAM;AAC/C4hB,MAAAA,OAAAA,CAAQ,CAAA,OAAA,EAAUyB,OAAAA,CAAAA,CAAAA,EAAWte,GAAAA,EAAK,CAAA,GAAI/E,KAAAA;IAC1C,CAAA,CAAA;AACAqjB,IAAAA,OAAAA,EAAAA;AACJ,EAAA;AACA,EAAA,OAAOzB,OAAAA;AACX,CAAA,EAdoC,6BAAA,CAAA;AAepC,IAAM2B,uBAAAA,mBAA0B/f,mBAAA,CAAA,CAAC0M,KAAAA,EAAOhB,OAAAA,KAAAA;AACpC,EAAA,MAAM0S,UAAU,EAAC;AACjB,EAAA,IAAI1R,KAAAA,CAAMsT,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACnB5B,IAAAA,OAAAA,CAAQ4B,EAAAA,CAAAA,GAAMtT,KAAAA,CAAMsT,EAAAA,CAAAA;AACxB,EAAA;AACA,EAAA,OAAO5B,OAAAA;AACX,CAAA,EANgC,yBAAA,CAAA;AAOhC,IAAM6B,kBAAAA,mBAAqBjgB,mBAAA,CAAA,CAAC0M,KAAAA,EAAOhB,OAAAA,KAAAA;AAC/B,EAAA,MAAM0S,UAAU,EAAC;AACjB,EAAA,IAAI1R,KAAAA,CAAMwT,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACrB9B,IAAAA,OAAAA,CAAQ8B,IAAAA,CAAAA,GAAQxT,KAAAA,CAAMwT,IAAAA,CAAAA;AAC1B,EAAA;AACA,EAAA,IAAIxT,KAAAA,CAAMyT,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpB/B,IAAAA,OAAAA,CAAQ+B,GAAAA,CAAAA,GAAOzT,KAAAA,CAAMyT,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,OAAO/B,OAAAA;AACX,CAAA,EAT2B,oBAAA,CAAA;AAU3B,IAAMqB,2BAAAA,mBAA8Bzf,mBAAA,CAAA,CAAC0M,KAAAA,EAAOhB,OAAAA,KAAAA;AACxC,EAAA,MAAM0S,UAAU,EAAC;AACjB,EAAA,IAAIyB,OAAAA,GAAU,CAAA;AACd,EAAA,KAAA,MAAWC,SAASpT,KAAAA,EAAO;AACvB,IAAA,IAAIoT,UAAU,IAAA,EAAM;AAChB,MAAA;AACJ,IAAA;AACA,IAAA,MAAMtB,aAAAA,GAAgByB,kBAAAA,CAAmBH,KAAAA,EAAOpU,OAAAA,CAAAA;AAChDxQ,IAAAA,MAAAA,CAAOkjB,OAAAA,CAAQI,aAAAA,CAAAA,CAAejH,OAAAA,CAAQ,CAAC,CAAChW,GAAAA,EAAK/E,KAAAA,CAAAA,KAAM;AAC/C4hB,MAAAA,OAAAA,CAAQ,CAAA,OAAA,EAAUyB,OAAAA,CAAAA,CAAAA,EAAWte,GAAAA,EAAK,CAAA,GAAI/E,KAAAA;IAC1C,CAAA,CAAA;AACAqjB,IAAAA,OAAAA,EAAAA;AACJ,EAAA;AACA,EAAA,OAAOzB,OAAAA;AACX,CAAA,EAdoC,6BAAA,CAAA;AAepC,IAAMgC,MAAAA,mBAASpgB,mBAAA,CAAA,CAAC0M,KAAAA,EAAOhB,OAAAA,KAAAA;AACnB,EAAA,MAAM0S,UAAU,EAAC;AACjB,EAAA,IAAI1R,KAAAA,CAAM2T,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACnBjC,IAAAA,OAAAA,CAAQiC,EAAAA,CAAAA,GAAM3T,KAAAA,CAAM2T,EAAAA,CAAAA;AACxB,EAAA;AACA,EAAA,IAAI3T,KAAAA,CAAM4T,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACpBlC,IAAAA,OAAAA,CAAQkC,GAAAA,CAAAA,GAAO5T,KAAAA,CAAM4T,GAAAA,CAAAA;AACzB,EAAA;AACA,EAAA,OAAOlC,OAAAA;AACX,CAAA,EATe,QAAA,CAAA;AAUf,IAAMc,iBAAAA,mBAAoBlf,mBAAA,CAAA,CAAC0M,KAAAA,EAAOhB,OAAAA,KAAAA;AAC9B,EAAA,MAAM0S,UAAU,EAAC;AACjB,EAAA,IAAIyB,OAAAA,GAAU,CAAA;AACd,EAAA,KAAA,MAAWC,SAASpT,KAAAA,EAAO;AACvB,IAAA,IAAIoT,UAAU,IAAA,EAAM;AAChB,MAAA;AACJ,IAAA;AACA1B,IAAAA,OAAAA,CAAQ,CAAA,OAAA,EAAUyB,OAAAA,CAAAA,CAAS,CAAA,GAAIC,KAAAA;AAC/BD,IAAAA,OAAAA,EAAAA;AACJ,EAAA;AACA,EAAA,OAAOzB,OAAAA;AACX,CAAA,EAX0B,mBAAA,CAAA;AAY1B,IAAMW,cAAAA,mBAAiB/e,mBAAA,CAAA,CAAC0M,KAAAA,EAAOhB,OAAAA,KAAAA;AAC3B,EAAA,MAAM0S,UAAU,EAAC;AACjB,EAAA,IAAIyB,OAAAA,GAAU,CAAA;AACd,EAAA,KAAA,MAAWC,SAASpT,KAAAA,EAAO;AACvB,IAAA,IAAIoT,UAAU,IAAA,EAAM;AAChB,MAAA;AACJ,IAAA;AACA,IAAA,MAAMtB,aAAAA,GAAgB4B,MAAAA,CAAON,KAAAA,EAAOpU,OAAAA,CAAAA;AACpCxQ,IAAAA,MAAAA,CAAOkjB,OAAAA,CAAQI,aAAAA,CAAAA,CAAejH,OAAAA,CAAQ,CAAC,CAAChW,GAAAA,EAAK/E,KAAAA,CAAAA,KAAM;AAC/C4hB,MAAAA,OAAAA,CAAQ,CAAA,OAAA,EAAUyB,OAAAA,CAAAA,CAAAA,EAAWte,GAAAA,EAAK,CAAA,GAAI/E,KAAAA;IAC1C,CAAA,CAAA;AACAqjB,IAAAA,OAAAA,EAAAA;AACJ,EAAA;AACA,EAAA,OAAOzB,OAAAA;AACX,CAAA,EAduB,gBAAA,CAAA;AAevB,IAAMmC,kBAAAA,mBAAqBvgB,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AAChC,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAOwE,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACtBpE,IAAAA,QAAAA,CAASoE,IAAAA,CAAAA,GAAQC,yBAAAA,CAAezE,MAAAA,CAAOwE,IAAAA,CAAK,CAAA;AAChD,EAAA;AACA,EAAA,IAAIxE,MAAAA,CAAO0E,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACrBtE,IAAAA,QAAAA,CAASsE,GAAAA,CAAAA,GAAOD,yBAAAA,CAAezE,MAAAA,CAAO0E,GAAAA,CAAI,CAAA;AAC9C,EAAA;AACA,EAAA,OAAOtE,QAAAA;AACX,CAAA,EAT2B,oBAAA,CAAA;AAU3B,IAAMC,qBAAAA,mBAAwBrc,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AACnC,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAO2E,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBvE,IAAAA,QAAAA,CAASuE,EAAAA,CAAAA,GAAMC,cAAAA,CAAe5E,MAAAA,CAAO2E,EAAAA,GAAKjV,OAAAA,CAAAA;AAC9C,EAAA;AACA,EAAA,IAAIsQ,MAAAA,CAAO6E,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACtBzE,IAAAA,QAAAA,CAASyE,IAAAA,CAAAA,GAAQN,kBAAAA,CAAmBvE,MAAAA,CAAO6E,IAAAA,GAAOnV,OAAAA,CAAAA;AACtD,EAAA;AACA,EAAA,IAAIsQ,MAAAA,CAAO8E,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACtB1E,IAAAA,QAAAA,CAAS0E,IAAAA,CAAAA,GAAQC,6BAAAA,CAAmB/E,MAAAA,CAAO8E,IAAAA,CAAK,CAAA;AACpD,EAAA;AACA,EAAA,IAAI9E,MAAAA,CAAOuD,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACrBnD,IAAAA,QAAAA,CAASmD,GAAAA,CAAAA,GAAOkB,yBAAAA,CAAezE,MAAAA,CAAOuD,GAAAA,CAAI,CAAA;AAC9C,EAAA;AACA,EAAA,OAAOnD,QAAAA;AACX,CAAA,EAf8B,uBAAA,CAAA;AAgB9B,IAAMO,oCAAAA,mBAAuC3c,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AAClD,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAO2E,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBvE,IAAAA,QAAAA,CAASuE,EAAAA,CAAAA,GAAMC,cAAAA,CAAe5E,MAAAA,CAAO2E,EAAAA,GAAKjV,OAAAA,CAAAA;AAC9C,EAAA;AACA,EAAA,IAAIsQ,MAAAA,CAAOgF,MAAAA,CAAAA,IAAW,IAAA,EAAM;AACxB5E,IAAAA,QAAAA,CAAS4E,MAAAA,CAAAA,GAAUP,yBAAAA,CAAezE,MAAAA,CAAOgF,MAAAA,CAAO,CAAA;AACpD,EAAA;AACA,EAAA,IAAIhF,MAAAA,CAAO6E,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACtBzE,IAAAA,QAAAA,CAASyE,IAAAA,CAAAA,GAAQN,kBAAAA,CAAmBvE,MAAAA,CAAO6E,IAAAA,GAAOnV,OAAAA,CAAAA;AACtD,EAAA;AACA,EAAA,IAAIsQ,MAAAA,CAAO8E,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACtB1E,IAAAA,QAAAA,CAAS0E,IAAAA,CAAAA,GAAQC,6BAAAA,CAAmB/E,MAAAA,CAAO8E,IAAAA,CAAK,CAAA;AACpD,EAAA;AACA,EAAA,IAAI9E,MAAAA,CAAOiF,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACrB7E,IAAAA,QAAAA,CAAS6E,GAAAA,CAAAA,GAAOR,yBAAAA,CAAezE,MAAAA,CAAOiF,GAAAA,CAAI,CAAA;AAC9C,EAAA;AACA,EAAA,IAAIjF,MAAAA,CAAOkF,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACrB9E,IAAAA,QAAAA,CAAS8E,GAAAA,CAAAA,GAAOT,yBAAAA,CAAezE,MAAAA,CAAOkF,GAAAA,CAAI,CAAA;AAC9C,EAAA;AACA,EAAA,IAAIlF,MAAAA,CAAOuD,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACrBnD,IAAAA,QAAAA,CAASmD,GAAAA,CAAAA,GAAOkB,yBAAAA,CAAezE,MAAAA,CAAOuD,GAAAA,CAAI,CAAA;AAC9C,EAAA;AACA,EAAA,OAAOnD,QAAAA;AACX,CAAA,EAxB6C,sCAAA,CAAA;AAyB7C,IAAMwE,cAAAA,mBAAiB5gB,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AAC5B,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAOmF,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACtB/E,IAAAA,QAAAA,CAAS+E,IAAAA,CAAAA,GAAQV,yBAAAA,CAAezE,MAAAA,CAAOmF,IAAAA,CAAK,CAAA;AAChD,EAAA;AACA,EAAA,IAAInF,MAAAA,CAAOoF,IAAAA,CAAAA,IAAS,IAAA,EAAM;AACtBhF,IAAAA,QAAAA,CAASgF,IAAAA,CAAAA,GAAQX,yBAAAA,CAAezE,MAAAA,CAAOoF,IAAAA,CAAK,CAAA;AAChD,EAAA;AACA,EAAA,IAAIpF,MAAAA,CAAOqF,GAAAA,CAAAA,IAAQ,IAAA,EAAM;AACrBjF,IAAAA,QAAAA,CAASiF,GAAAA,CAAAA,GAAOZ,yBAAAA,CAAezE,MAAAA,CAAOqF,GAAAA,CAAI,CAAA;AAC9C,EAAA;AACA,EAAA,IAAIrF,MAAAA,CAAOsF,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBlF,IAAAA,QAAAA,CAASkF,EAAAA,CAAAA,GAAMC,0BAAAA,CAAgBC,4CAAiCxF,MAAAA,CAAOsF,EAAAA,CAAG,CAAA,CAAA;AAC9E,EAAA;AACA,EAAA,OAAOlF,QAAAA;AACX,CAAA,EAfuB,gBAAA,CAAA;AAgBvB,IAAMuB,wBAAAA,mBAA2B3d,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AACtC,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAOyF,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBrF,IAAAA,QAAAA,CAASqF,EAAAA,CAAAA,GAAMhB,yBAAAA,CAAezE,MAAAA,CAAOyF,EAAAA,CAAG,CAAA;AAC5C,EAAA;AACA,EAAA,OAAOrF,QAAAA;AACX,CAAA,EANiC,0BAAA,CAAA;AAOjC,IAAM0B,iCAAAA,mBAAoC9d,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AAC/C,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAOyF,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBrF,IAAAA,QAAAA,CAASqF,EAAAA,CAAAA,GAAMhB,yBAAAA,CAAezE,MAAAA,CAAOyF,EAAAA,CAAG,CAAA;AAC5C,EAAA;AACA,EAAA,OAAOrF,QAAAA;AACX,CAAA,EAN0C,mCAAA,CAAA;AAO1C,IAAM2B,4BAAAA,mBAA+B/d,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AAC1C,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAOyF,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBrF,IAAAA,QAAAA,CAASqF,EAAAA,CAAAA,GAAMhB,yBAAAA,CAAezE,MAAAA,CAAOyF,EAAAA,CAAG,CAAA;AAC5C,EAAA;AACA,EAAA,OAAOrF,QAAAA;AACX,CAAA,EANqC,8BAAA,CAAA;AAOrC,IAAM4B,gCAAAA,mBAAmChe,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AAC9C,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAOyF,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBrF,IAAAA,QAAAA,CAASqF,EAAAA,CAAAA,GAAMhB,yBAAAA,CAAezE,MAAAA,CAAOyF,EAAAA,CAAG,CAAA;AAC5C,EAAA;AACA,EAAA,OAAOrF,QAAAA;AACX,CAAA,EANyC,kCAAA,CAAA;AAOzC,IAAM6B,mCAAAA,mBAAsCje,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AACjD,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAOyF,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBrF,IAAAA,QAAAA,CAASqF,EAAAA,CAAAA,GAAMhB,yBAAAA,CAAezE,MAAAA,CAAOyF,EAAAA,CAAG,CAAA;AAC5C,EAAA;AACA,EAAA,OAAOrF,QAAAA;AACX,CAAA,EAN4C,qCAAA,CAAA;AAO5C,IAAM8B,gCAAAA,mBAAmCle,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AAC9C,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAOyF,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBrF,IAAAA,QAAAA,CAASqF,EAAAA,CAAAA,GAAMhB,yBAAAA,CAAezE,MAAAA,CAAOyF,EAAAA,CAAG,CAAA;AAC5C,EAAA;AACA,EAAA,OAAOrF,QAAAA;AACX,CAAA,EANyC,kCAAA,CAAA;AAOzC,IAAM+B,0BAAAA,mBAA6Bne,mBAAA,CAAA,CAACgc,MAAAA,EAAQtQ,OAAAA,KAAAA;AACxC,EAAA,MAAM0Q,WAAW,EAAC;AAClB,EAAA,IAAIJ,MAAAA,CAAOyF,EAAAA,CAAAA,IAAO,IAAA,EAAM;AACpBrF,IAAAA,QAAAA,CAASqF,EAAAA,CAAAA,GAAMhB,yBAAAA,CAAezE,MAAAA,CAAOyF,EAAAA,CAAG,CAAA;AAC5C,EAAA;AACA,EAAA,OAAOrF,QAAAA;AACX,CAAA,EANmC,4BAAA,CAAA;AAOnC,IAAMK,mBAAAA,wCAAuBT,MAAAA,MAAY;AACrC0F,EAAAA,cAAAA,EAAgB1F,MAAAA,CAAOC,UAAAA;EACvB0F,SAAAA,EAAW3F,MAAAA,CAAO9K,OAAAA,CAAQ,kBAAA,CAAA,IAAuB8K,MAAAA,CAAO9K,QAAQ,mBAAA,CAAA,IAAwB8K,MAAAA,CAAO9K,OAAAA,CAAQ,kBAAA,CAAA;EACvG0Q,iBAAAA,EAAmB5F,MAAAA,CAAO9K,QAAQ,YAAA,CAAA;EAClC2Q,IAAAA,EAAM7F,MAAAA,CAAO9K,QAAQ,aAAA;AACzB,CAAA,CAAA,EAL4B,qBAAA,CAAA;AAO5B,IAAMuM,iBAAAA,GAAoBqE,+BAAkBvH,mBAAAA,CAAAA;AAC5C,IAAMoB,sCAAsB3b,mBAAA,CAAA,OAAO0L,OAAAA,EAASwF,OAAAA,EAAS6Q,IAAAA,EAAMC,kBAAkB3G,IAAAA,KAAAA;AACzE,EAAA,MAAM,EAAE4G,QAAAA,EAAUC,QAAAA,GAAW,OAAA,EAASC,IAAAA,EAAMJ,MAAMK,QAAAA,EAAQ,GAAK,MAAM1W,OAAAA,CAAQkF,QAAAA,EAAQ;AACrF,EAAA,MAAMwL,QAAAA,GAAW;AACb8F,IAAAA,QAAAA;AACAD,IAAAA,QAAAA;AACAE,IAAAA,IAAAA;IACAE,MAAAA,EAAQ,MAAA;IACRN,IAAAA,EAAMK,QAAAA,CAASE,QAAAA,CAAS,GAAA,CAAA,GAAOF,QAAAA,CAASG,MAAM,CAAA,EAAG,EAAC,CAAA,GAAKR,IAAAA,GAAOK,QAAAA,GAAWL,IAAAA;AACzE7Q,IAAAA;AACJ,GAAA;AACA,EAAA,IAAI8Q,qBAAqB1jB,MAAAA,EAAW;AAChC8d,IAAAA,QAAAA,CAAS6F,QAAAA,GAAWD,gBAAAA;AACxB,EAAA;AACA,EAAA,IAAI3G,SAAS/c,MAAAA,EAAW;AACpB8d,IAAAA,QAAAA,CAASf,IAAAA,GAAOA,IAAAA;AACpB,EAAA;AACA,EAAA,OAAO,IAAImH,yBAAcpG,QAAAA,CAAAA;AAC7B,CAAA,EAjB4B,qBAAA,CAAA;AAkB5B,IAAMhB,cAAAA,GAAiB;EACnB,cAAA,EAAgB;AACpB,CAAA;AACA,IAAMpV,CAAAA,GAAI,YAAA;AACV,IAAMwV,EAAAA,GAAK,QAAA;AACX,IAAM2F,IAAAA,GAAO,aAAA;AACb,IAAM1F,GAAAA,GAAM,YAAA;AACZ,IAAM+E,IAAAA,GAAO,eAAA;AACb,IAAMK,IAAAA,GAAO,iBAAA;AACb,IAAM/E,MAAAA,GAAS,2BAAA;AACf,IAAM4E,GAAAA,GAAM,KAAA;AACZ,IAAMQ,GAAAA,GAAM,UAAA;AACZ,IAAMP,EAAAA,GAAK,aAAA;AACX,IAAMR,GAAAA,GAAM,kBAAA;AACZ,IAAMtB,GAAAA,GAAM,iBAAA;AACZ,IAAMyC,EAAAA,GAAK,YAAA;AACX,IAAMlC,GAAAA,GAAM,YAAA;AACZ,IAAMiB,EAAAA,GAAK,KAAA;AACX,IAAMzB,EAAAA,GAAK,QAAA;AACX,IAAML,GAAAA,GAAM,YAAA;AACZ,IAAM2B,IAAAA,GAAO,aAAA;AACb,IAAMV,GAAAA,GAAM,kBAAA;AACZ,IAAMI,GAAAA,GAAM,YAAA;AACZ,IAAMkB,IAAAA,GAAO,kBAAA;AACb,IAAMG,GAAAA,GAAM,UAAA;AACZ,IAAM5C,GAAAA,GAAM,SAAA;AACZ,IAAMC,IAAAA,GAAO,iBAAA;AACb,IAAM8C,IAAAA,GAAO,iBAAA;AACb,IAAMJ,MAAAA,GAAS,6BAAA;AACf,IAAMzB,GAAAA,GAAM,gBAAA;AACZ,IAAMF,GAAAA,GAAM,cAAA;AACZ,IAAMgC,GAAAA,GAAM,cAAA;AACZ,IAAMvC,EAAAA,GAAK,MAAA;AACX,IAAMQ,GAAAA,GAAM,WAAA;AACZ,IAAML,IAAAA,GAAO,mBAAA;AACb,IAAMvD,EAAAA,GAAK,SAAA;AACX,IAAM4E,GAAAA,GAAM,OAAA;AACZ,IAAMX,IAAAA,GAAO,kBAAA;AACb,IAAMK,EAAAA,GAAK,KAAA;AACX,IAAMyB,EAAAA,GAAK,SAAA;AACX,IAAMnG,yBAAAA,wCAA6BmH,WAAAA,KAAgBvnB,MAAAA,CAAOkjB,QAAQqE,WAAAA,CAAAA,CAC7DhlB,GAAAA,CAAI,CAAC,CAAC8D,GAAAA,EAAK/E,KAAAA,CAAAA,KAAWkmB,uCAAAA,CAA6BnhB,GAAAA,CAAAA,GAAO,GAAA,GAAMmhB,uCAAAA,CAA6BlmB,KAAAA,CAAAA,CAAAA,CAC7FmmB,IAAAA,CAAK,GAAA,CAAA,EAFwB,2BAAA,CAAA;AAGlC,IAAM3F,kBAAAA,mBAAqBhd,mBAAA,CAAA,CAACgc,MAAAA,EAAQvZ,IAAAA,KAAAA;AAChC,EAAA,IAAIA,IAAAA,CAAKH,KAAAA,EAAOsgB,IAAAA,KAAStkB,MAAAA,EAAW;AAChC,IAAA,OAAOmE,KAAKH,KAAAA,CAAMsgB,IAAAA;AACtB,EAAA;AACA,EAAA,IAAI5G,MAAAA,CAAOC,cAAc,GAAA,EAAK;AAC1B,IAAA,OAAO,UAAA;AACX,EAAA;AACJ,CAAA,EAP2B,oBAAA,CAAA;;;AHjgBpB,IAAM4G,iBAAAA,GAAN,cAAgCC,oBAAAA,CAClCC,YAAAA,EAAY,CACZC,EAAAA,CAAG7U,YAAAA,CAAAA,CACHoB,CAAAA,CAAE,SAAU0T,QAAAA,EAASC,EAAAA,EAAIzW,QAAQ+C,EAAAA,EAAC;AACnC,EAAA,OAAO;AACH2T,IAAAA,4BAAAA,CAAe1W,MAAAA,EAAQ,IAAA,CAAK2W,SAAAA,EAAW,IAAA,CAAKC,WAAW,CAAA;IACvDC,+BAAAA,CAAkB7W,MAAAA,EAAQwW,QAAAA,CAAQM,gCAAAA,EAAgC;;AAE1E,CAAA,CAAA,CACK3T,EAAE,kCAAA,EAAoC,YAAA,EAAc,EAAC,CAAA,CACrDhL,CAAAA,CAAE,WAAA,EAAa,mBAAA,CAAA,CACfsK,EAAE,MAAA,EAAQkL,oCAAAA,EACVoJ,GAAAA,CAAIrI,oBAAAA,EACJsI,EAAAA,CAAG1H,oBAAAA,CAAAA,CACH2H,KAAAA,EAAK,CAAA;EArBV;;;AAsBA;;;AItBApqB,2BAAA,EAAA;AAOO,IAAMqqB,gCAAAA,GAAN,cAA+Cb,oBAAAA,CACjDC,YAAAA,EAAY,CACZC,EAAAA,CAAG7U,YAAAA,CAAAA,CACHoB,CAAAA,CAAE,SAAU0T,QAAAA,EAASC,EAAAA,EAAIzW,QAAQ+C,EAAAA,EAAC;AACnC,EAAA,OAAO;AACH2T,IAAAA,4BAAAA,CAAe1W,MAAAA,EAAQ,IAAA,CAAK2W,SAAAA,EAAW,IAAA,CAAKC,WAAW,CAAA;IACvDC,+BAAAA,CAAkB7W,MAAAA,EAAQwW,QAAAA,CAAQM,gCAAAA,EAAgC;;AAE1E,CAAA,CAAA,CACK3T,EAAE,kCAAA,EAAoC,2BAAA,EAA6B,EAAC,CAAA,CACpEhL,CAAAA,CAAE,WAAA,EAAa,kCAAA,CAAA,CACfsK,EAAE6L,kDAAAA,EAAoDE,mDAAAA,EACtDuI,GAAAA,CAAI5H,mCAAAA,EACJ6H,EAAAA,CAAG/G,mCAAAA,CAAAA,CACHgH,KAAAA,EAAK,CAAA;EArBV;;;AAsBA;;;ALlBA,IAAME,QAAAA,GAAW;AACbf,EAAAA,iBAAAA;AACAc,EAAAA;AACJ,CAAA;AACO,IAAME,GAAAA,GAAN,cAAkBrW,SAAAA,CAAAA;EARzB;;;AASA;AACAsW,mCAAAA,CAAuBF,UAAUC,GAAAA,CAAAA;;;AMVjCvqB,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;AAGA,IAAMyqB,0BAAAA,GAA6B,WAAA;AACnC,IAAMC,+BAAAA,wCAAmCC,eAAAA,KAAAA;AACrC,EAAA,IAAI,OAAOA,eAAAA,EAAiBC,GAAAA,KAAQ,QAAA,EAAU;AAC1C,IAAA,MAAMC,aAAAA,GAAgBF,eAAAA,CAAgBC,GAAAA,CAAIllB,KAAAA,CAAM,GAAA,CAAA;AAChD,IAAA,IAAImlB,cAAc9pB,MAAAA,GAAS,CAAA,IAAK8pB,aAAAA,CAAc,CAAA,MAAO,EAAA,EAAI;AACrD,MAAA,OAAOA,cAAc,CAAA,CAAA;AACzB,IAAA;AACJ,EAAA;AACA,EAAA,OAAO7lB,MAAAA;AACX,CAAA,EARwC,iCAAA,CAAA;AASxC,IAAM8lB,aAAAA,mBAAgBpkB,mBAAA,CAAA,OAAOqkB,OAAAA,EAASC,aAAAA,EAAeC,wBAAAA,KAAAA;AACjD,EAAA,MAAM1X,SAAS,OAAOwX,OAAAA,KAAY,UAAA,GAAa,MAAMA,SAAAA,GAAYA,OAAAA;AACjE,EAAA,MAAMG,eAAe,OAAOF,aAAAA,KAAkB,UAAA,GAAa,MAAMA,eAAAA,GAAkBA,aAAAA;AACnFC,EAAAA,wBAAAA,EAA0BE,KAAAA,GAAQ,oCAAA,EAAsC,qBAAA,EAAuB,CAAA,EAAG5X,MAAAA,CAAAA,WAAAA,CAAAA,EAAqB,CAAA,EAAG2X,YAAAA,CAAAA,gBAAAA,CAAAA,EAAgC,CAAA,EAAGT,0BAAAA,CAAAA,cAAAA,CAA0C,CAAA;AACvM,EAAA,OAAOlX,UAAU2X,YAAAA,IAAgBT,0BAAAA;AACrC,CAAA,EALsB,eAAA,CAAA;AAMf,IAAMW,qBAAAA,mBAAwB1kB,mBAAA,CAAA,CAAC2kB,UAAAA,EAAYnX,UAAAA,KAAAA;AAC9C,EAAA,IAAIoX,SAAAA;AACJ,EAAA,IAAIC,kBAAAA;AACJ,EAAA,OAAO,OAAOC,aAAatT,MAAAA,KAAAA;AACvBqT,IAAAA,kBAAAA,GAAqBC,WAAAA;AACrB,IAAA,IAAI,CAACF,SAAAA,EAAW;AACZ,MAAA,MAAM,EAAE/S,MAAAA,GAAS8S,UAAAA,EAAYI,kBAAAA,EAAoBlT,MAAAA,EAAQhF,MAAAA,EAAQwI,cAAAA,GAAiBsP,UAAAA,EAAYI,kBAAAA,EAAoB1P,cAAAA,EAAgBkP,wBAAAA,EAAwB,GAAMI,UAAAA;AAChK,MAAA,MAAMK,iBAAiB,MAAMZ,aAAAA,CAAcvX,QAAQ8X,UAAAA,EAAYI,kBAAAA,EAAoBlY,QAAQ0X,wBAAAA,CAAAA;AAC3F,MAAA,MAAMU,0BAAAA,GAA6B,CAACC,IAAAA,CAAK7P,cAAAA,CAAAA;AACzCuP,MAAAA,SAAAA,GAAY,IAAIpX,UAAAA,CAAU;AACtB4G,QAAAA,OAAAA,EAASuQ,YAAYI,kBAAAA,EAAoB3Q,OAAAA;QACzCW,yBAAAA,kBAA2B/U,mBAAA,CAAA,MAAM,YAAY6kB,kBAAAA,EAAlB,2BAAA,CAAA;QAC3BhY,MAAAA,EAAQmY,cAAAA;AACR3P,QAAAA,cAAAA,EAAgB4P,6BAA6B5P,cAAAA,GAAiB/W,MAAAA;AAC9DuT,QAAAA;OACJ,CAAA;AACJ,IAAA;AACA,IAAA,MAAM,EAAEwI,WAAAA,EAAa8K,eAAAA,EAAe,GAAK,MAAMP,UAAUQ,IAAAA,CAAK,IAAIvC,iBAAAA,CAAkBrR,MAAAA,CAAAA,CAAAA;AACpF,IAAA,IAAI,CAAC6I,WAAAA,IAAe,CAACA,YAAYgL,WAAAA,IAAe,CAAChL,YAAYH,eAAAA,EAAiB;AAC1E,MAAA,MAAM,IAAI5X,KAAAA,CAAM,CAAA,oDAAA,EAAuDkP,MAAAA,CAAO8T,OAAO,CAAA,CAAE,CAAA;AAC3F,IAAA;AACA,IAAA,MAAMC,SAAAA,GAAYvB,gCAAgCmB,eAAAA,CAAAA;AAClD,IAAA,MAAM1O,WAAAA,GAAc;AAChB+O,MAAAA,WAAAA,EAAanL,WAAAA,CAAYgL,WAAAA;AACzBI,MAAAA,eAAAA,EAAiBpL,WAAAA,CAAYH,eAAAA;AAC7BwL,MAAAA,YAAAA,EAAcrL,WAAAA,CAAYsL,YAAAA;AAC1BC,MAAAA,UAAAA,EAAYvL,WAAAA,CAAYwL,UAAAA;AACxB,MAAA,GAAIxL,YAAYyL,eAAAA,IAAmB;AAAEC,QAAAA,eAAAA,EAAiB1L,WAAAA,CAAYyL;AAAgB,OAAA;AAClF,MAAA,GAAIP,SAAAA,IAAa;AAAEA,QAAAA;AAAU;AACjC,KAAA;AACAS,IAAAA,kCAAAA,CAAqBvP,WAAAA,EAAa,+BAA+B,GAAA,CAAA;AACjE,IAAA,OAAOA,WAAAA;AACX,EAAA,CAAA;AACJ,CAAA,EAjCqC,uBAAA,CAAA;AAkC9B,IAAMwP,oCAAAA,mBAAuCjmB,mBAAA,CAAA,CAAC2kB,UAAAA,EAAYnX,UAAAA,KAAAA;AAC7D,EAAA,IAAIoX,SAAAA;AACJ,EAAA,OAAO,OAAOpT,MAAAA,KAAAA;AACV,IAAA,IAAI,CAACoT,SAAAA,EAAW;AACZ,MAAA,MAAM,EAAE/S,MAAAA,GAAS8S,UAAAA,EAAYI,kBAAAA,EAAoBlT,MAAAA,EAAQhF,MAAAA,EAAQwI,cAAAA,GAAiBsP,UAAAA,EAAYI,kBAAAA,EAAoB1P,cAAAA,EAAgBkP,wBAAAA,EAAwB,GAAMI,UAAAA;AAChK,MAAA,MAAMK,iBAAiB,MAAMZ,aAAAA,CAAcvX,QAAQ8X,UAAAA,EAAYI,kBAAAA,EAAoBlY,QAAQ0X,wBAAAA,CAAAA;AAC3F,MAAA,MAAMU,0BAAAA,GAA6B,CAACC,IAAAA,CAAK7P,cAAAA,CAAAA;AACzCuP,MAAAA,SAAAA,GAAY,IAAIpX,UAAAA,CAAU;AACtB4G,QAAAA,OAAAA,EAASuQ,YAAYI,kBAAAA,EAAoB3Q,OAAAA;QACzCvH,MAAAA,EAAQmY,cAAAA;AACR3P,QAAAA,cAAAA,EAAgB4P,6BAA6B5P,cAAAA,GAAiB/W,MAAAA;AAC9DuT,QAAAA;OACJ,CAAA;AACJ,IAAA;AACA,IAAA,MAAM,EAAEwI,WAAAA,EAAa8K,eAAAA,EAAe,GAAK,MAAMP,UAAUQ,IAAAA,CAAK,IAAIzB,gCAAAA,CAAiCnS,MAAAA,CAAAA,CAAAA;AACnG,IAAA,IAAI,CAAC6I,WAAAA,IAAe,CAACA,YAAYgL,WAAAA,IAAe,CAAChL,YAAYH,eAAAA,EAAiB;AAC1E,MAAA,MAAM,IAAI5X,KAAAA,CAAM,CAAA,mEAAA,EAAsEkP,MAAAA,CAAO8T,OAAO,CAAA,CAAE,CAAA;AAC1G,IAAA;AACA,IAAA,MAAMC,SAAAA,GAAYvB,gCAAgCmB,eAAAA,CAAAA;AAClD,IAAA,MAAM1O,WAAAA,GAAc;AAChB+O,MAAAA,WAAAA,EAAanL,WAAAA,CAAYgL,WAAAA;AACzBI,MAAAA,eAAAA,EAAiBpL,WAAAA,CAAYH,eAAAA;AAC7BwL,MAAAA,YAAAA,EAAcrL,WAAAA,CAAYsL,YAAAA;AAC1BC,MAAAA,UAAAA,EAAYvL,WAAAA,CAAYwL,UAAAA;AACxB,MAAA,GAAIxL,YAAYyL,eAAAA,IAAmB;AAAEC,QAAAA,eAAAA,EAAiB1L,WAAAA,CAAYyL;AAAgB,OAAA;AAClF,MAAA,GAAIP,SAAAA,IAAa;AAAEA,QAAAA;AAAU;AACjC,KAAA;AACA,IAAA,IAAIA,SAAAA,EAAW;AACXS,MAAAA,kCAAAA,CAAqBvP,WAAAA,EAAa,uBAAuB,GAAA,CAAA;AAC7D,IAAA;AACAuP,IAAAA,kCAAAA,CAAqBvP,WAAAA,EAAa,sCAAsC,GAAA,CAAA;AACxE,IAAA,OAAOA,WAAAA;AACX,EAAA,CAAA;AACJ,CAAA,EAjCoD,sCAAA,CAAA;AAuCpD,IAAMyO,IAAAA,wCAAQ7P,cAAAA,KAAAA;AACV,EAAA,OAAOA,cAAAA,EAAgB6Q,UAAUC,eAAAA,KAAoB,IAAA;AACzD,CAAA,EAFa,MAAA,CAAA;;;AD1Fb,IAAMC,4BAAAA,mBAA+BpmB,mBAAA,CAAA,CAACqmB,QAAAA,EAAUC,cAAAA,KAAAA;AAC5C,EAAA,IAAI,CAACA,gBACD,OAAOD,QAAAA;OAEP,OAAO,MAAME,8BAA8BF,QAAAA,CAAAA;IANnD;;;AAOY,IAAA,WAAA,CAAY5Z,MAAAA,EAAQ;AAChB,MAAA,KAAA,CAAMA,MAAAA,CAAAA;AACN,MAAA,KAAA,MAAW+Z,iBAAiBF,cAAAA,EAAgB;AACxC,QAAA,IAAA,CAAKvN,eAAAA,CAAgBC,IAAIwN,aAAAA,CAAAA;AAC7B,MAAA;AACJ,IAAA;AACJ,GAAA;AACR,CAAA,EAZqC,8BAAA,CAAA;AAa9B,IAAM9B,sBAAAA,mBAAwB1kB,mBAAA,CAAA,CAAC2kB,UAAAA,GAAa,EAAC,EAAG8B,UAAAA,KAAeC,qBAAAA,CAAyB/B,UAAAA,EAAYyB,4BAAAA,CAA6B5Y,SAAAA,EAAWiZ,UAAAA,CAAAA,CAAAA,EAA9G,uBAAA;AAC9B,IAAMR,qCAAAA,mBAAuCjmB,mBAAA,CAAA,CAAC2kB,UAAAA,GAAa,EAAC,EAAG8B,UAAAA,KAAeE,oCAAAA,CAAwChC,UAAAA,EAAYyB,4BAAAA,CAA6B5Y,SAAAA,EAAWiZ,UAAAA,CAAAA,CAAAA,EAA7H,sCAAA;AAC7C,IAAMG,iCAAAA,mBAAoC5mB,mBAAA,CAAA,CAAC6mB,QAAAA,KAAa,CAACna,UAAUma,QAAAA,CAAS;AAC/EC,EAAAA,WAAAA,EAAapC,uBAAsBhY,KAAAA,CAAAA;AACnCqa,EAAAA,0BAAAA,EAA4Bd,sCAAqCvZ,KAAAA,CAAAA;EACjE,GAAGA;AACP,CAAA,CAAA,EAJiD,mCAAA","file":"6MCEHW2U.cjs","sourcesContent":["export * from \"./STSClient\";\nexport * from \"./STS\";\nexport * from \"./commands\";\nexport * from \"./models\";\nexport * from \"./defaultRoleAssumers\";\nexport { STSServiceException } from \"./models/STSServiceException\";\n","import { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultSTSHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class STSClient extends __Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveUserAgentConfig(_config_1);\n const _config_3 = resolveRetryConfig(_config_2);\n const _config_4 = resolveRegionConfig(_config_3);\n const _config_5 = resolveHostHeaderConfig(_config_4);\n const _config_6 = resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSTSHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n","'use strict';\n\nimport {validate} from './validator.js';\nimport XMLParser from './xmlparser/XMLParser.js';\nimport XMLBuilder from './xmlbuilder/json2xml.js';\n\nconst XMLValidator = {\n validate: validate\n}\nexport {\n XMLParser,\n XMLValidator,\n XMLBuilder\n};","'use strict';\n\nimport {getAllMatches, isName} from './util.js';\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexport function validate(xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nexport const nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*';\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nexport function getAllMatches(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n}\n\nexport const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n}\n\nexport function isExist(v) {\n return typeof v !== 'undefined';\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexport function merge(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n}\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexport function getValue(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n}\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};","import { buildOptions} from './OptionsBuilder.js';\nimport OrderedObjParser from './OrderedObjParser.js';\nimport prettify from './node2json.js';\nimport {validate} from \"../validator.js\";\nimport XmlNode from './xmlNode.js';\n\nexport default class XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n\n /**\n * Returns a Symbol that can be used to access the metadata\n * property on a node.\n * \n * If Symbol is not available in the environment, an ordinary property is used\n * and the name of the property is here returned.\n * \n * The XMLMetaData property is only present when `captureMetaData`\n * is true in the options.\n */\n static getMetaDataSymbol() {\n return XmlNode.getMetaDataSymbol();\n }\n}\n","\nexport const defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n captureMetaData: false,\n};\n \nexport const buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n","'use strict';\n///@ts-check\n\nimport {getAllMatches, isExist} from '../util.js';\nimport xmlNode from './xmlNode.js';\nimport readDocType from './DocTypeReader.js';\nimport toNumber from \"strnum\";\nimport getIgnoreAttributesFn from \"../ignoreAttributes.js\";\n\n// const regx =\n// '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n// .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nexport default class OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 16)) },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue\n }\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath, i);\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if(val == undefined) val = \"\";\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n const startIndex = i;\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n \n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath, startIndex);\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath, startIndex);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath, startIndex);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath, startIndex){\n // unset startIndex if not requested\n if (!this.options.captureMetaData) startIndex = undefined;\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n } else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode, startIndex);\n }else{\n currentNode.addChild(childNode, startIndex);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = currentNode.child.length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n\n const rawTagName = tagName;\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n rawTagName: rawTagName,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n","'use strict';\n\nlet METADATA_SYMBOL;\n\nif (typeof Symbol !== \"function\") {\n METADATA_SYMBOL = \"@@xmlMetadata\";\n} else {\n METADATA_SYMBOL = Symbol(\"XML Node Metadata\");\n}\n\nexport default class XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node, startIndex) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n // if requested, add the startIndex\n if (startIndex !== undefined) {\n // Note: for now we just overwrite the metadata. If we had more complex metadata,\n // we might need to do an object append here: metadata = { ...metadata, startIndex }\n this.child[this.child.length - 1][METADATA_SYMBOL] = { startIndex };\n }\n }\n /** symbol used for metadata */\n static getMetaDataSymbol() {\n return METADATA_SYMBOL;\n }\n}\n","import {isName} from '../util.js';\n\n//TODO: handle comments\nexport default function readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i<xmlData.length;i++){\n if (xmlData[i] === '<' && !comment) { //Determine the tag type\n if( hasBody && hasSeq(xmlData, \"!ENTITY\",i)){\n i += 7; \n let entityName, val;\n [entityName, val,i] = readEntityExp(xmlData,i+1);\n if(val.indexOf(\"&\") === -1) //Parameter entities are not supported\n entities[ entityName ] = {\n regx : RegExp( `&${entityName};`,\"g\"),\n val: val\n };\n }\n else if( hasBody && hasSeq(xmlData, \"!ELEMENT\",i)) {\n i += 8;//Not supported\n const {index} = readElementExp(xmlData,i+1);\n i = index;\n }else if( hasBody && hasSeq(xmlData, \"!ATTLIST\",i)){\n i += 8;//Not supported\n // const {index} = readAttlistExp(xmlData,i+1);\n // i = index;\n }else if( hasBody && hasSeq(xmlData, \"!NOTATION\",i)) {\n i += 9;//Not supported\n const {index} = readNotationExp(xmlData,i+1);\n i = index;\n }else if( hasSeq(xmlData, \"!--\",i) ) comment = true;\n else throw new Error(`Invalid DOCTYPE`);\n\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i] === '>') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nconst skipWhitespace = (data, index) => {\n while (index < data.length && /\\s/.test(data[index])) {\n index++;\n }\n return index;\n};\n\nfunction readEntityExp(xmlData, i) { \n //External entities are not supported\n // <!ENTITY ext SYSTEM \"http://normal-website.com\" >\n\n //Parameter entities are not supported\n // <!ENTITY entityname \"&anotherElement;\">\n\n //Internal entities are supported\n // <!ENTITY entityname \"replacement text\">\n\n // Skip leading whitespace after <!ENTITY\n i = skipWhitespace(xmlData, i);\n\n // Read entity name\n let entityName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i]) && xmlData[i] !== '\"' && xmlData[i] !== \"'\") {\n entityName += xmlData[i];\n i++;\n }\n validateEntityName(entityName);\n\n // Skip whitespace after entity name\n i = skipWhitespace(xmlData, i);\n\n // Check for unsupported constructs (external entities or parameter entities)\n if (xmlData.substring(i, i + 6).toUpperCase() === \"SYSTEM\") {\n throw new Error(\"External entities are not supported\");\n }else if (xmlData[i] === \"%\") {\n throw new Error(\"Parameter entities are not supported\");\n }\n\n // Read entity value (internal entity)\n let entityValue = \"\";\n [i, entityValue] = readIdentifierVal(xmlData, i, \"entity\");\n i--;\n return [entityName, entityValue, i ];\n}\n\nfunction readNotationExp(xmlData, i) {\n // Skip leading whitespace after <!NOTATION\n i = skipWhitespace(xmlData, i);\n\n // Read notation name\n let notationName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n notationName += xmlData[i];\n i++;\n }\n validateEntityName(notationName);\n\n // Skip whitespace after notation name\n i = skipWhitespace(xmlData, i);\n\n // Check identifier type (SYSTEM or PUBLIC)\n const identifierType = xmlData.substring(i, i + 6).toUpperCase();\n if (identifierType !== \"SYSTEM\" && identifierType !== \"PUBLIC\") {\n throw new Error(`Expected SYSTEM or PUBLIC, found \"${identifierType}\"`);\n }\n i += identifierType.length;\n\n // Skip whitespace after identifier type\n i = skipWhitespace(xmlData, i);\n\n // Read public identifier (if PUBLIC)\n let publicIdentifier = null;\n let systemIdentifier = null;\n\n if (identifierType === \"PUBLIC\") {\n [i, publicIdentifier ] = readIdentifierVal(xmlData, i, \"publicIdentifier\");\n\n // Skip whitespace after public identifier\n i = skipWhitespace(xmlData, i);\n\n // Optionally read system identifier\n if (xmlData[i] === '\"' || xmlData[i] === \"'\") {\n [i, systemIdentifier ] = readIdentifierVal(xmlData, i,\"systemIdentifier\");\n }\n } else if (identifierType === \"SYSTEM\") {\n // Read system identifier (mandatory for SYSTEM)\n [i, systemIdentifier ] = readIdentifierVal(xmlData, i, \"systemIdentifier\");\n\n if (!systemIdentifier) {\n throw new Error(\"Missing mandatory system identifier for SYSTEM notation\");\n }\n }\n \n return {notationName, publicIdentifier, systemIdentifier, index: --i};\n}\n\nfunction readIdentifierVal(xmlData, i, type) {\n let identifierVal = \"\";\n const startChar = xmlData[i];\n if (startChar !== '\"' && startChar !== \"'\") {\n throw new Error(`Expected quoted string, found \"${startChar}\"`);\n }\n i++;\n\n while (i < xmlData.length && xmlData[i] !== startChar) {\n identifierVal += xmlData[i];\n i++;\n }\n\n if (xmlData[i] !== startChar) {\n throw new Error(`Unterminated ${type} value`);\n }\n i++;\n return [i, identifierVal];\n}\n\nfunction readElementExp(xmlData, i) {\n // <!ELEMENT br EMPTY>\n // <!ELEMENT div ANY>\n // <!ELEMENT title (#PCDATA)>\n // <!ELEMENT book (title, author+)>\n // <!ELEMENT name (content-model)>\n \n // Skip leading whitespace after <!ELEMENT\n i = skipWhitespace(xmlData, i);\n\n // Read element name\n let elementName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n elementName += xmlData[i];\n i++;\n }\n\n // Validate element name\n if (!validateEntityName(elementName)) {\n throw new Error(`Invalid element name: \"${elementName}\"`);\n }\n\n // Skip whitespace after element name\n i = skipWhitespace(xmlData, i);\n let contentModel = \"\";\n // Expect '(' to start content model\n if(xmlData[i] === \"E\" && hasSeq(xmlData, \"MPTY\",i)) i+=4;\n else if(xmlData[i] === \"A\" && hasSeq(xmlData, \"NY\",i)) i+=2;\n else if (xmlData[i] === \"(\") {\n i++; // Move past '('\n\n // Read content model\n while (i < xmlData.length && xmlData[i] !== \")\") {\n contentModel += xmlData[i];\n i++;\n }\n if (xmlData[i] !== \")\") {\n throw new Error(\"Unterminated content model\");\n }\n\n }else{\n throw new Error(`Invalid Element Expression, found \"${xmlData[i]}\"`);\n }\n \n return {\n elementName,\n contentModel: contentModel.trim(),\n index: i\n };\n}\n\nfunction readAttlistExp(xmlData, i) {\n // Skip leading whitespace after <!ATTLIST\n i = skipWhitespace(xmlData, i);\n\n // Read element name\n let elementName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n elementName += xmlData[i];\n i++;\n }\n\n // Validate element name\n validateEntityName(elementName)\n\n // Skip whitespace after element name\n i = skipWhitespace(xmlData, i);\n\n // Read attribute name\n let attributeName = \"\";\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n attributeName += xmlData[i];\n i++;\n }\n\n // Validate attribute name\n if (!validateEntityName(attributeName)) {\n throw new Error(`Invalid attribute name: \"${attributeName}\"`);\n }\n\n // Skip whitespace after attribute name\n i = skipWhitespace(xmlData, i);\n\n // Read attribute type\n let attributeType = \"\";\n if (xmlData.substring(i, i + 8).toUpperCase() === \"NOTATION\") {\n attributeType = \"NOTATION\";\n i += 8; // Move past \"NOTATION\"\n\n // Skip whitespace after \"NOTATION\"\n i = skipWhitespace(xmlData, i);\n\n // Expect '(' to start the list of notations\n if (xmlData[i] !== \"(\") {\n throw new Error(`Expected '(', found \"${xmlData[i]}\"`);\n }\n i++; // Move past '('\n\n // Read the list of allowed notations\n let allowedNotations = [];\n while (i < xmlData.length && xmlData[i] !== \")\") {\n let notation = \"\";\n while (i < xmlData.length && xmlData[i] !== \"|\" && xmlData[i] !== \")\") {\n notation += xmlData[i];\n i++;\n }\n\n // Validate notation name\n notation = notation.trim();\n if (!validateEntityName(notation)) {\n throw new Error(`Invalid notation name: \"${notation}\"`);\n }\n\n allowedNotations.push(notation);\n\n // Skip '|' separator or exit loop\n if (xmlData[i] === \"|\") {\n i++; // Move past '|'\n i = skipWhitespace(xmlData, i); // Skip optional whitespace after '|'\n }\n }\n\n if (xmlData[i] !== \")\") {\n throw new Error(\"Unterminated list of notations\");\n }\n i++; // Move past ')'\n\n // Store the allowed notations as part of the attribute type\n attributeType += \" (\" + allowedNotations.join(\"|\") + \")\";\n } else {\n // Handle simple types (e.g., CDATA, ID, IDREF, etc.)\n while (i < xmlData.length && !/\\s/.test(xmlData[i])) {\n attributeType += xmlData[i];\n i++;\n }\n\n // Validate simple attribute type\n const validTypes = [\"CDATA\", \"ID\", \"IDREF\", \"IDREFS\", \"ENTITY\", \"ENTITIES\", \"NMTOKEN\", \"NMTOKENS\"];\n if (!validTypes.includes(attributeType.toUpperCase())) {\n throw new Error(`Invalid attribute type: \"${attributeType}\"`);\n }\n }\n\n // Skip whitespace after attribute type\n i = skipWhitespace(xmlData, i);\n\n // Read default value\n let defaultValue = \"\";\n if (xmlData.substring(i, i + 8).toUpperCase() === \"#REQUIRED\") {\n defaultValue = \"#REQUIRED\";\n i += 8;\n } else if (xmlData.substring(i, i + 7).toUpperCase() === \"#IMPLIED\") {\n defaultValue = \"#IMPLIED\";\n i += 7;\n } else {\n [i, defaultValue] = readIdentifierVal(xmlData, i, \"ATTLIST\");\n }\n\n return {\n elementName,\n attributeName,\n attributeType,\n defaultValue,\n index: i\n }\n}\n\nfunction hasSeq(data, seq,i){\n for(let j=0;j<seq.length;j++){\n if(seq[j]!==data[i+j+1]) return false;\n }\n return true;\n}\n\nfunction validateEntityName(name){\n if (isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/;\n// const octRegex = /^0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n \nconst consider = {\n hex : true,\n // oct: false,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true,\n //skipLike: /regex/\n};\n\nexport default function toNumber(str, options = {}){\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n \n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if(str===\"0\") return 0;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return parse_int(trimmedStr, 16);\n // }else if (options.oct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n }else if (trimmedStr.search(/.+[eE].+/)!== -1) { //eNotation\n return resolveEnotation(str,trimmedStr,options);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n // +00.123 => [ , '+', '00', '.123', ..\n if(match){\n const sign = match[1] || \"\";\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n const decimalAdjacentToLeadingZeros = sign ? // 0., -00., 000.\n str[leadingZeros.length+1] === \".\" \n : str[leadingZeros.length] === \".\";\n\n //trim ending zeros for floating number\n if(!options.leadingZeros //leading zeros are not allowed\n && (leadingZeros.length > 1 \n || (leadingZeros.length === 1 && !decimalAdjacentToLeadingZeros))){\n // 00, 00.3, +03.24, 03, 03.24\n return str;\n }\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const parsedStr = String(num);\n\n if( num === 0) return num;\n if(parsedStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n if(parsedStr === \"0\") return num; //0.0\n else if(parsedStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( parsedStr === `${sign}${numTrimmedByZeros}`) return num;\n else return str;\n }\n \n let n = leadingZeros? numTrimmedByZeros : trimmedStr;\n if(leadingZeros){\n // -009 => -9\n return (n === parsedStr) || (sign+n === parsedStr) ? num : str\n }else {\n // +9\n return (n === parsedStr) || (n === sign+parsedStr) ? num : str\n }\n }\n }else{ //non-numeric string\n return str;\n }\n }\n}\n\nconst eNotationRegx = /^([-+])?(0*)(\\d*(\\.\\d*)?[eE][-\\+]?\\d+)$/;\nfunction resolveEnotation(str,trimmedStr,options){\n if(!options.eNotation) return str;\n const notation = trimmedStr.match(eNotationRegx); \n if(notation){\n let sign = notation[1] || \"\";\n const eChar = notation[3].indexOf(\"e\") === -1 ? \"E\" : \"e\";\n const leadingZeros = notation[2];\n const eAdjacentToLeadingZeros = sign ? // 0E.\n str[leadingZeros.length+1] === eChar \n : str[leadingZeros.length] === eChar;\n\n if(leadingZeros.length > 1 && eAdjacentToLeadingZeros) return str;\n else if(leadingZeros.length === 1 \n && (notation[3].startsWith(`.${eChar}`) || notation[3][0] === eChar)){\n return Number(trimmedStr);\n }else if(options.leadingZeros && !eAdjacentToLeadingZeros){ //accept with leading zeros\n //remove leading 0s\n trimmedStr = (notation[1] || \"\") + notation[3];\n return Number(trimmedStr);\n }else return str;\n }else{\n return str;\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substring(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\n\nfunction parse_int(numStr, base){\n //polyfill\n if(parseInt) return parseInt(numStr, base);\n else if(Number.parseInt) return Number.parseInt(numStr, base);\n else if(window && window.parseInt) return window.parseInt(numStr, base);\n else throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")\n}","export default function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}","'use strict';\n\nimport XmlNode from './xmlNode.js';\n\nconst METADATA_SYMBOL = XmlNode.getMetaDataSymbol();\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nexport default function prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n if (tagObj[METADATA_SYMBOL] !== undefined) {\n val[METADATA_SYMBOL] = tagObj[METADATA_SYMBOL]; // copy over metadata\n }\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\n","import { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { XMLParser } from \"fast-xml-parser\";\nimport { collectBodyString } from \"../common\";\nexport const parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n const parser = new XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n let parsedObj;\n try {\n parsedObj = parser.parse(encoded, true);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n});\nexport const parseXmlErrorBody = async (errorBody, context) => {\n const value = await parseXmlBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nexport const loadRestXmlErrorCode = (output, data) => {\n if (data?.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n","import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nimport { STSClient } from \"../STSClient\";\nexport const defaultSTSHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: (await normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"sts\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nexport const defaultSTSHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"AssumeRoleWithWebIdentity\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const resolveStsAuthConfig = (input) => Object.assign(input, {\n stsClientCtor: STSClient,\n});\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveStsAuthConfig(config);\n const config_1 = resolveAwsSdkSigV4Config(config_0);\n return Object.assign(config_1, {\n authSchemePreference: normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n","export const resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n defaultSigningName: \"sts\",\n });\n};\nexport const commonParams = {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n","import packageInfo from \"../../../package.json\";\nimport { AwsSdkSigV4Signer, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, emitWarningIfUnsupportedVersion as awsCheckVersion, } from \"@aws-sdk/core\";\nimport { NODE_APP_ID_CONFIG_OPTIONS, createDefaultUserAgentProvider } from \"@aws-sdk/util-user-agent-node\";\nimport { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from \"@smithy/config-resolver\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { Hash } from \"@smithy/hash-node\";\nimport { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from \"@smithy/middleware-retry\";\nimport { loadConfig as loadNodeConfig } from \"@smithy/node-config-provider\";\nimport { NodeHttpHandler as RequestHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-node\";\nimport { DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nimport { loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-node\";\nimport { emitWarningIfUnsupportedVersion } from \"@smithy/smithy-client\";\nexport const getRuntimeConfig = (config) => {\n emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n awsCheckVersion(process.version);\n const loaderConfig = {\n profile: config?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config?.authSchemePreference ?? loadNodeConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\") ||\n (async (idProps) => await config.credentialDefaultProvider(idProps?.__config || {})()),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config),\n region: config?.region ??\n loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n loadNodeConfig({\n ...NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,\n }, config),\n sha256: config?.sha256 ?? Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config?.userAgentAppId ?? loadNodeConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n","import { AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultSTSHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2011-06-15\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSTSHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n serviceId: config?.serviceId ?? \"STS\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n","import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, EndpointCache, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nconst cache = new EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\", \"UseGlobalEndpoint\"],\n});\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n","const F = \"required\", G = \"type\", H = \"fn\", I = \"argv\", J = \"ref\";\nconst a = false, b = true, c = \"booleanEquals\", d = \"stringEquals\", e = \"sigv4\", f = \"sts\", g = \"us-east-1\", h = \"endpoint\", i = \"https://sts.{Region}.{PartitionResult#dnsSuffix}\", j = \"tree\", k = \"error\", l = \"getAttr\", m = { [F]: false, [G]: \"String\" }, n = { [F]: true, \"default\": false, [G]: \"Boolean\" }, o = { [J]: \"Endpoint\" }, p = { [H]: \"isSet\", [I]: [{ [J]: \"Region\" }] }, q = { [J]: \"Region\" }, r = { [H]: \"aws.partition\", [I]: [q], \"assign\": \"PartitionResult\" }, s = { [J]: \"UseFIPS\" }, t = { [J]: \"UseDualStack\" }, u = { \"url\": \"https://sts.amazonaws.com\", \"properties\": { \"authSchemes\": [{ \"name\": e, \"signingName\": f, \"signingRegion\": g }] }, \"headers\": {} }, v = {}, w = { \"conditions\": [{ [H]: d, [I]: [q, \"aws-global\"] }], [h]: u, [G]: h }, x = { [H]: c, [I]: [s, true] }, y = { [H]: c, [I]: [t, true] }, z = { [H]: l, [I]: [{ [J]: \"PartitionResult\" }, \"supportsFIPS\"] }, A = { [J]: \"PartitionResult\" }, B = { [H]: c, [I]: [true, { [H]: l, [I]: [A, \"supportsDualStack\"] }] }, C = [{ [H]: \"isSet\", [I]: [o] }], D = [x], E = [y];\nconst _data = { version: \"1.0\", parameters: { Region: m, UseDualStack: n, UseFIPS: n, Endpoint: m, UseGlobalEndpoint: n }, rules: [{ conditions: [{ [H]: c, [I]: [{ [J]: \"UseGlobalEndpoint\" }, b] }, { [H]: \"not\", [I]: C }, p, r, { [H]: c, [I]: [s, a] }, { [H]: c, [I]: [t, a] }], rules: [{ conditions: [{ [H]: d, [I]: [q, \"ap-northeast-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"ap-south-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"ap-southeast-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"ap-southeast-2\"] }], endpoint: u, [G]: h }, w, { conditions: [{ [H]: d, [I]: [q, \"ca-central-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-central-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-north-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-west-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-west-2\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-west-3\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"sa-east-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, g] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"us-east-2\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"us-west-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"us-west-2\"] }], endpoint: u, [G]: h }, { endpoint: { url: i, properties: { authSchemes: [{ name: e, signingName: f, signingRegion: \"{Region}\" }] }, headers: v }, [G]: h }], [G]: j }, { conditions: C, rules: [{ conditions: D, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", [G]: k }, { conditions: E, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", [G]: k }, { endpoint: { url: o, properties: v, headers: v }, [G]: h }], [G]: j }, { conditions: [p], rules: [{ conditions: [r], rules: [{ conditions: [x, y], rules: [{ conditions: [{ [H]: c, [I]: [b, z] }, B], rules: [{ endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: v, headers: v }, [G]: h }], [G]: j }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", [G]: k }], [G]: j }, { conditions: D, rules: [{ conditions: [{ [H]: c, [I]: [z, b] }], rules: [{ conditions: [{ [H]: d, [I]: [{ [H]: l, [I]: [A, \"name\"] }, \"aws-us-gov\"] }], endpoint: { url: \"https://sts.{Region}.amazonaws.com\", properties: v, headers: v }, [G]: h }, { endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: v, headers: v }, [G]: h }], [G]: j }, { error: \"FIPS is enabled but this partition does not support FIPS\", [G]: k }], [G]: j }, { conditions: E, rules: [{ conditions: [B], rules: [{ endpoint: { url: \"https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: v, headers: v }, [G]: h }], [G]: j }, { error: \"DualStack is enabled but this partition does not support DualStack\", [G]: k }], [G]: j }, w, { endpoint: { url: i, properties: v, headers: v }, [G]: h }], [G]: j }], [G]: j }, { error: \"Invalid Configuration: Missing Region\", [G]: k }] };\nexport const ruleSet = _data;\n","import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n","export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n","import { createAggregatedClient } from \"@smithy/smithy-client\";\nimport { AssumeRoleCommand } from \"./commands/AssumeRoleCommand\";\nimport { AssumeRoleWithWebIdentityCommand, } from \"./commands/AssumeRoleWithWebIdentityCommand\";\nimport { STSClient } from \"./STSClient\";\nconst commands = {\n AssumeRoleCommand,\n AssumeRoleWithWebIdentityCommand,\n};\nexport class STS extends STSClient {\n}\ncreateAggregatedClient(commands, STS);\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { AssumeRoleResponseFilterSensitiveLog } from \"../models/models_0\";\nimport { de_AssumeRoleCommand, se_AssumeRoleCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class AssumeRoleCommand extends $Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"AssumeRole\", {})\n .n(\"STSClient\", \"AssumeRoleCommand\")\n .f(void 0, AssumeRoleResponseFilterSensitiveLog)\n .ser(se_AssumeRoleCommand)\n .de(de_AssumeRoleCommand)\n .build() {\n}\n","import { SENSITIVE_STRING } from \"@smithy/smithy-client\";\nimport { STSServiceException as __BaseException } from \"./STSServiceException\";\nexport const CredentialsFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.SecretAccessKey && { SecretAccessKey: SENSITIVE_STRING }),\n});\nexport const AssumeRoleResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) }),\n});\nexport class ExpiredTokenException extends __BaseException {\n name = \"ExpiredTokenException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n }\n}\nexport class MalformedPolicyDocumentException extends __BaseException {\n name = \"MalformedPolicyDocumentException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"MalformedPolicyDocumentException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, MalformedPolicyDocumentException.prototype);\n }\n}\nexport class PackedPolicyTooLargeException extends __BaseException {\n name = \"PackedPolicyTooLargeException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"PackedPolicyTooLargeException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, PackedPolicyTooLargeException.prototype);\n }\n}\nexport class RegionDisabledException extends __BaseException {\n name = \"RegionDisabledException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"RegionDisabledException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, RegionDisabledException.prototype);\n }\n}\nexport class IDPRejectedClaimException extends __BaseException {\n name = \"IDPRejectedClaimException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"IDPRejectedClaimException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, IDPRejectedClaimException.prototype);\n }\n}\nexport class InvalidIdentityTokenException extends __BaseException {\n name = \"InvalidIdentityTokenException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidIdentityTokenException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidIdentityTokenException.prototype);\n }\n}\nexport const AssumeRoleWithWebIdentityRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.WebIdentityToken && { WebIdentityToken: SENSITIVE_STRING }),\n});\nexport const AssumeRoleWithWebIdentityResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.Credentials && { Credentials: CredentialsFilterSensitiveLog(obj.Credentials) }),\n});\nexport class IDPCommunicationErrorException extends __BaseException {\n name = \"IDPCommunicationErrorException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"IDPCommunicationErrorException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, IDPCommunicationErrorException.prototype);\n }\n}\n","import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class STSServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, STSServiceException.prototype);\n }\n}\n","import { parseXmlBody as parseBody, parseXmlErrorBody as parseErrorBody } from \"@aws-sdk/core\";\nimport { HttpRequest as __HttpRequest } from \"@smithy/protocol-http\";\nimport { collectBody, decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectString as __expectString, extendedEncodeURIComponent as __extendedEncodeURIComponent, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, strictParseInt32 as __strictParseInt32, withBaseException, } from \"@smithy/smithy-client\";\nimport { ExpiredTokenException, IDPCommunicationErrorException, IDPRejectedClaimException, InvalidIdentityTokenException, MalformedPolicyDocumentException, PackedPolicyTooLargeException, RegionDisabledException, } from \"../models/models_0\";\nimport { STSServiceException as __BaseException } from \"../models/STSServiceException\";\nexport const se_AssumeRoleCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_AssumeRoleRequest(input, context),\n [_A]: _AR,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const se_AssumeRoleWithWebIdentityCommand = async (input, context) => {\n const headers = SHARED_HEADERS;\n let body;\n body = buildFormUrlencodedString({\n ...se_AssumeRoleWithWebIdentityRequest(input, context),\n [_A]: _ARWWI,\n [_V]: _,\n });\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\nexport const de_AssumeRoleCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_AssumeRoleResponse(data.AssumeRoleResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nexport const de_AssumeRoleWithWebIdentityCommand = async (output, context) => {\n if (output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const data = await parseBody(output.body, context);\n let contents = {};\n contents = de_AssumeRoleWithWebIdentityResponse(data.AssumeRoleWithWebIdentityResult, context);\n const response = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return response;\n};\nconst de_CommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadQueryErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExpiredTokenException\":\n case \"com.amazonaws.sts#ExpiredTokenException\":\n throw await de_ExpiredTokenExceptionRes(parsedOutput, context);\n case \"MalformedPolicyDocument\":\n case \"com.amazonaws.sts#MalformedPolicyDocumentException\":\n throw await de_MalformedPolicyDocumentExceptionRes(parsedOutput, context);\n case \"PackedPolicyTooLarge\":\n case \"com.amazonaws.sts#PackedPolicyTooLargeException\":\n throw await de_PackedPolicyTooLargeExceptionRes(parsedOutput, context);\n case \"RegionDisabledException\":\n case \"com.amazonaws.sts#RegionDisabledException\":\n throw await de_RegionDisabledExceptionRes(parsedOutput, context);\n case \"IDPCommunicationError\":\n case \"com.amazonaws.sts#IDPCommunicationErrorException\":\n throw await de_IDPCommunicationErrorExceptionRes(parsedOutput, context);\n case \"IDPRejectedClaim\":\n case \"com.amazonaws.sts#IDPRejectedClaimException\":\n throw await de_IDPRejectedClaimExceptionRes(parsedOutput, context);\n case \"InvalidIdentityToken\":\n case \"com.amazonaws.sts#InvalidIdentityTokenException\":\n throw await de_InvalidIdentityTokenExceptionRes(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n return throwDefaultError({\n output,\n parsedBody: parsedBody.Error,\n errorCode,\n });\n }\n};\nconst de_ExpiredTokenExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_ExpiredTokenException(body.Error, context);\n const exception = new ExpiredTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_IDPCommunicationErrorExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_IDPCommunicationErrorException(body.Error, context);\n const exception = new IDPCommunicationErrorException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_IDPRejectedClaimExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_IDPRejectedClaimException(body.Error, context);\n const exception = new IDPRejectedClaimException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_InvalidIdentityTokenExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_InvalidIdentityTokenException(body.Error, context);\n const exception = new InvalidIdentityTokenException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_MalformedPolicyDocumentExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_MalformedPolicyDocumentException(body.Error, context);\n const exception = new MalformedPolicyDocumentException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_PackedPolicyTooLargeExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_PackedPolicyTooLargeException(body.Error, context);\n const exception = new PackedPolicyTooLargeException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst de_RegionDisabledExceptionRes = async (parsedOutput, context) => {\n const body = parsedOutput.body;\n const deserialized = de_RegionDisabledException(body.Error, context);\n const exception = new RegionDisabledException({\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n });\n return __decorateServiceException(exception, body);\n};\nconst se_AssumeRoleRequest = (input, context) => {\n const entries = {};\n if (input[_RA] != null) {\n entries[_RA] = input[_RA];\n }\n if (input[_RSN] != null) {\n entries[_RSN] = input[_RSN];\n }\n if (input[_PA] != null) {\n const memberEntries = se_policyDescriptorListType(input[_PA], context);\n if (input[_PA]?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_P] != null) {\n entries[_P] = input[_P];\n }\n if (input[_DS] != null) {\n entries[_DS] = input[_DS];\n }\n if (input[_T] != null) {\n const memberEntries = se_tagListType(input[_T], context);\n if (input[_T]?.length === 0) {\n entries.Tags = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `Tags.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_TTK] != null) {\n const memberEntries = se_tagKeyListType(input[_TTK], context);\n if (input[_TTK]?.length === 0) {\n entries.TransitiveTagKeys = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `TransitiveTagKeys.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_EI] != null) {\n entries[_EI] = input[_EI];\n }\n if (input[_SN] != null) {\n entries[_SN] = input[_SN];\n }\n if (input[_TC] != null) {\n entries[_TC] = input[_TC];\n }\n if (input[_SI] != null) {\n entries[_SI] = input[_SI];\n }\n if (input[_PC] != null) {\n const memberEntries = se_ProvidedContextsListType(input[_PC], context);\n if (input[_PC]?.length === 0) {\n entries.ProvidedContexts = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `ProvidedContexts.${key}`;\n entries[loc] = value;\n });\n }\n return entries;\n};\nconst se_AssumeRoleWithWebIdentityRequest = (input, context) => {\n const entries = {};\n if (input[_RA] != null) {\n entries[_RA] = input[_RA];\n }\n if (input[_RSN] != null) {\n entries[_RSN] = input[_RSN];\n }\n if (input[_WIT] != null) {\n entries[_WIT] = input[_WIT];\n }\n if (input[_PI] != null) {\n entries[_PI] = input[_PI];\n }\n if (input[_PA] != null) {\n const memberEntries = se_policyDescriptorListType(input[_PA], context);\n if (input[_PA]?.length === 0) {\n entries.PolicyArns = [];\n }\n Object.entries(memberEntries).forEach(([key, value]) => {\n const loc = `PolicyArns.${key}`;\n entries[loc] = value;\n });\n }\n if (input[_P] != null) {\n entries[_P] = input[_P];\n }\n if (input[_DS] != null) {\n entries[_DS] = input[_DS];\n }\n return entries;\n};\nconst se_policyDescriptorListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = se_PolicyDescriptorType(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst se_PolicyDescriptorType = (input, context) => {\n const entries = {};\n if (input[_a] != null) {\n entries[_a] = input[_a];\n }\n return entries;\n};\nconst se_ProvidedContext = (input, context) => {\n const entries = {};\n if (input[_PAr] != null) {\n entries[_PAr] = input[_PAr];\n }\n if (input[_CA] != null) {\n entries[_CA] = input[_CA];\n }\n return entries;\n};\nconst se_ProvidedContextsListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = se_ProvidedContext(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst se_Tag = (input, context) => {\n const entries = {};\n if (input[_K] != null) {\n entries[_K] = input[_K];\n }\n if (input[_Va] != null) {\n entries[_Va] = input[_Va];\n }\n return entries;\n};\nconst se_tagKeyListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n entries[`member.${counter}`] = entry;\n counter++;\n }\n return entries;\n};\nconst se_tagListType = (input, context) => {\n const entries = {};\n let counter = 1;\n for (const entry of input) {\n if (entry === null) {\n continue;\n }\n const memberEntries = se_Tag(entry, context);\n Object.entries(memberEntries).forEach(([key, value]) => {\n entries[`member.${counter}.${key}`] = value;\n });\n counter++;\n }\n return entries;\n};\nconst de_AssumedRoleUser = (output, context) => {\n const contents = {};\n if (output[_ARI] != null) {\n contents[_ARI] = __expectString(output[_ARI]);\n }\n if (output[_Ar] != null) {\n contents[_Ar] = __expectString(output[_Ar]);\n }\n return contents;\n};\nconst de_AssumeRoleResponse = (output, context) => {\n const contents = {};\n if (output[_C] != null) {\n contents[_C] = de_Credentials(output[_C], context);\n }\n if (output[_ARU] != null) {\n contents[_ARU] = de_AssumedRoleUser(output[_ARU], context);\n }\n if (output[_PPS] != null) {\n contents[_PPS] = __strictParseInt32(output[_PPS]);\n }\n if (output[_SI] != null) {\n contents[_SI] = __expectString(output[_SI]);\n }\n return contents;\n};\nconst de_AssumeRoleWithWebIdentityResponse = (output, context) => {\n const contents = {};\n if (output[_C] != null) {\n contents[_C] = de_Credentials(output[_C], context);\n }\n if (output[_SFWIT] != null) {\n contents[_SFWIT] = __expectString(output[_SFWIT]);\n }\n if (output[_ARU] != null) {\n contents[_ARU] = de_AssumedRoleUser(output[_ARU], context);\n }\n if (output[_PPS] != null) {\n contents[_PPS] = __strictParseInt32(output[_PPS]);\n }\n if (output[_Pr] != null) {\n contents[_Pr] = __expectString(output[_Pr]);\n }\n if (output[_Au] != null) {\n contents[_Au] = __expectString(output[_Au]);\n }\n if (output[_SI] != null) {\n contents[_SI] = __expectString(output[_SI]);\n }\n return contents;\n};\nconst de_Credentials = (output, context) => {\n const contents = {};\n if (output[_AKI] != null) {\n contents[_AKI] = __expectString(output[_AKI]);\n }\n if (output[_SAK] != null) {\n contents[_SAK] = __expectString(output[_SAK]);\n }\n if (output[_ST] != null) {\n contents[_ST] = __expectString(output[_ST]);\n }\n if (output[_E] != null) {\n contents[_E] = __expectNonNull(__parseRfc3339DateTimeWithOffset(output[_E]));\n }\n return contents;\n};\nconst de_ExpiredTokenException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_IDPCommunicationErrorException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_IDPRejectedClaimException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_InvalidIdentityTokenException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_MalformedPolicyDocumentException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_PackedPolicyTooLargeException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst de_RegionDisabledException = (output, context) => {\n const contents = {};\n if (output[_m] != null) {\n contents[_m] = __expectString(output[_m]);\n }\n return contents;\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst throwDefaultError = withBaseException(__BaseException);\nconst buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const contents = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path: basePath.endsWith(\"/\") ? basePath.slice(0, -1) + path : basePath + path,\n headers,\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n }\n return new __HttpRequest(contents);\n};\nconst SHARED_HEADERS = {\n \"content-type\": \"application/x-www-form-urlencoded\",\n};\nconst _ = \"2011-06-15\";\nconst _A = \"Action\";\nconst _AKI = \"AccessKeyId\";\nconst _AR = \"AssumeRole\";\nconst _ARI = \"AssumedRoleId\";\nconst _ARU = \"AssumedRoleUser\";\nconst _ARWWI = \"AssumeRoleWithWebIdentity\";\nconst _Ar = \"Arn\";\nconst _Au = \"Audience\";\nconst _C = \"Credentials\";\nconst _CA = \"ContextAssertion\";\nconst _DS = \"DurationSeconds\";\nconst _E = \"Expiration\";\nconst _EI = \"ExternalId\";\nconst _K = \"Key\";\nconst _P = \"Policy\";\nconst _PA = \"PolicyArns\";\nconst _PAr = \"ProviderArn\";\nconst _PC = \"ProvidedContexts\";\nconst _PI = \"ProviderId\";\nconst _PPS = \"PackedPolicySize\";\nconst _Pr = \"Provider\";\nconst _RA = \"RoleArn\";\nconst _RSN = \"RoleSessionName\";\nconst _SAK = \"SecretAccessKey\";\nconst _SFWIT = \"SubjectFromWebIdentityToken\";\nconst _SI = \"SourceIdentity\";\nconst _SN = \"SerialNumber\";\nconst _ST = \"SessionToken\";\nconst _T = \"Tags\";\nconst _TC = \"TokenCode\";\nconst _TTK = \"TransitiveTagKeys\";\nconst _V = \"Version\";\nconst _Va = \"Value\";\nconst _WIT = \"WebIdentityToken\";\nconst _a = \"arn\";\nconst _m = \"message\";\nconst buildFormUrlencodedString = (formEntries) => Object.entries(formEntries)\n .map(([key, value]) => __extendedEncodeURIComponent(key) + \"=\" + __extendedEncodeURIComponent(value))\n .join(\"&\");\nconst loadQueryErrorCode = (output, data) => {\n if (data.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n","import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { AssumeRoleWithWebIdentityRequestFilterSensitiveLog, AssumeRoleWithWebIdentityResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_AssumeRoleWithWebIdentityCommand, se_AssumeRoleWithWebIdentityCommand } from \"../protocols/Aws_query\";\nexport { $Command };\nexport class AssumeRoleWithWebIdentityCommand extends $Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"AssumeRoleWithWebIdentity\", {})\n .n(\"STSClient\", \"AssumeRoleWithWebIdentityCommand\")\n .f(AssumeRoleWithWebIdentityRequestFilterSensitiveLog, AssumeRoleWithWebIdentityResponseFilterSensitiveLog)\n .ser(se_AssumeRoleWithWebIdentityCommand)\n .de(de_AssumeRoleWithWebIdentityCommand)\n .build() {\n}\n","export * from \"./AssumeRoleCommand\";\nexport * from \"./AssumeRoleWithWebIdentityCommand\";\n","export * from \"./models_0\";\n","import { getDefaultRoleAssumer as StsGetDefaultRoleAssumer, getDefaultRoleAssumerWithWebIdentity as StsGetDefaultRoleAssumerWithWebIdentity, } from \"./defaultStsRoleAssumers\";\nimport { STSClient } from \"./STSClient\";\nconst getCustomizableStsClientCtor = (baseCtor, customizations) => {\n if (!customizations)\n return baseCtor;\n else\n return class CustomizableSTSClient extends baseCtor {\n constructor(config) {\n super(config);\n for (const customization of customizations) {\n this.middlewareStack.use(customization);\n }\n }\n };\n};\nexport const getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => StsGetDefaultRoleAssumer(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins));\nexport const getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => StsGetDefaultRoleAssumerWithWebIdentity(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins));\nexport const decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: getDefaultRoleAssumer(input),\n roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(input),\n ...input,\n});\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { AssumeRoleCommand } from \"./commands/AssumeRoleCommand\";\nimport { AssumeRoleWithWebIdentityCommand, } from \"./commands/AssumeRoleWithWebIdentityCommand\";\nconst ASSUME_ROLE_DEFAULT_REGION = \"us-east-1\";\nconst getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {\n if (typeof assumedRoleUser?.Arn === \"string\") {\n const arnComponents = assumedRoleUser.Arn.split(\":\");\n if (arnComponents.length > 4 && arnComponents[4] !== \"\") {\n return arnComponents[4];\n }\n }\n return undefined;\n};\nconst resolveRegion = async (_region, _parentRegion, credentialProviderLogger) => {\n const region = typeof _region === \"function\" ? await _region() : _region;\n const parentRegion = typeof _parentRegion === \"function\" ? await _parentRegion() : _parentRegion;\n credentialProviderLogger?.debug?.(\"@aws-sdk/client-sts::resolveRegion\", \"accepting first of:\", `${region} (provider)`, `${parentRegion} (parent client)`, `${ASSUME_ROLE_DEFAULT_REGION} (STS default)`);\n return region ?? parentRegion ?? ASSUME_ROLE_DEFAULT_REGION;\n};\nexport const getDefaultRoleAssumer = (stsOptions, STSClient) => {\n let stsClient;\n let closureSourceCreds;\n return async (sourceCreds, params) => {\n closureSourceCreds = sourceCreds;\n if (!stsClient) {\n const { logger = stsOptions?.parentClientConfig?.logger, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, } = stsOptions;\n const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger);\n const isCompatibleRequestHandler = !isH2(requestHandler);\n stsClient = new STSClient({\n profile: stsOptions?.parentClientConfig?.profile,\n credentialDefaultProvider: () => async () => closureSourceCreds,\n region: resolvedRegion,\n requestHandler: isCompatibleRequestHandler ? requestHandler : undefined,\n logger: logger,\n });\n }\n const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);\n }\n const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);\n const credentials = {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n ...(Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope }),\n ...(accountId && { accountId }),\n };\n setCredentialFeature(credentials, \"CREDENTIALS_STS_ASSUME_ROLE\", \"i\");\n return credentials;\n };\n};\nexport const getDefaultRoleAssumerWithWebIdentity = (stsOptions, STSClient) => {\n let stsClient;\n return async (params) => {\n if (!stsClient) {\n const { logger = stsOptions?.parentClientConfig?.logger, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, } = stsOptions;\n const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger);\n const isCompatibleRequestHandler = !isH2(requestHandler);\n stsClient = new STSClient({\n profile: stsOptions?.parentClientConfig?.profile,\n region: resolvedRegion,\n requestHandler: isCompatibleRequestHandler ? requestHandler : undefined,\n logger: logger,\n });\n }\n const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);\n }\n const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);\n const credentials = {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n ...(Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope }),\n ...(accountId && { accountId }),\n };\n if (accountId) {\n setCredentialFeature(credentials, \"RESOLVED_ACCOUNT_ID\", \"T\");\n }\n setCredentialFeature(credentials, \"CREDENTIALS_STS_ASSUME_ROLE_WEB_ID\", \"k\");\n return credentials;\n };\n};\nexport const decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: getDefaultRoleAssumer(input, input.stsClientCtor),\n roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(input, input.stsClientCtor),\n ...input,\n});\nconst isH2 = (requestHandler) => {\n return requestHandler?.metadata?.handlerProtocol === \"h2\";\n};\n"]}
|