@maycombhq/atticus 2.0.0-beta.24 → 2.0.0-beta.25
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/bin.js +3 -3
- package/dist/{chunk-MWN7CBVL.js → chunk-23QHP4JJ.js} +3 -3
- package/dist/{chunk-SUAHNYNQ.js → chunk-2RABF6RT.js} +15 -15
- package/dist/{chunk-CU7ZK7KP.js → chunk-2ULVUSIP.js} +15 -15
- package/dist/{chunk-5FPAKAGE.js → chunk-2VN4TLGI.js} +3 -3
- package/dist/{chunk-YF6N45QN.js → chunk-2Y5FJQSF.js} +1 -1
- package/dist/{chunk-D63NU53X.js → chunk-334N6EI2.js} +18 -18
- package/dist/{chunk-RSKMV3VC.js → chunk-3D74UADA.js} +1 -1
- package/dist/{chunk-JFBVIMGY.js → chunk-3NA2VE45.js} +12 -12
- package/dist/{chunk-SWSGRRNO.js → chunk-3VC2XJ53.js} +4 -4
- package/dist/{chunk-GKZDHXC2.js → chunk-3WO7ASU7.js} +7 -7
- package/dist/{chunk-77AZRGWE.js → chunk-4GWQVT2C.js} +15 -15
- package/dist/{chunk-PUMNCWHJ.js → chunk-4PW5SRKJ.js} +13 -13
- package/dist/{chunk-NTOPAOBY.js → chunk-4SS5ZK47.js} +2 -2
- package/dist/{chunk-IJQHBK76.js → chunk-4U3JLIRC.js} +1 -1
- package/dist/{chunk-WAAPMZWO.js → chunk-4WIVTPGE.js} +4 -4
- package/dist/{chunk-IK6LHW3E.js → chunk-5267F4BS.js} +3 -3
- package/dist/{chunk-L27KUL5B.js → chunk-5CPZIWIN.js} +19 -19
- package/dist/{chunk-F63F4NKT.js → chunk-5GLGLWAJ.js} +16 -16
- package/dist/{chunk-TAR6T2RE.js → chunk-5K6ZKHZR.js} +2 -2
- package/dist/{chunk-IB66ZLDN.js → chunk-5OVSDV77.js} +5 -5
- package/dist/{chunk-SYLXQNPC.js → chunk-5P4PNGPL.js} +22 -22
- package/dist/{chunk-M3RWF7MC.js → chunk-5R3FRI6H.js} +26 -26
- package/dist/{chunk-R6CJOMPC.js → chunk-5RDKQOY3.js} +12 -12
- package/dist/{chunk-432FGEVB.js → chunk-5RKN5QIX.js} +7 -7
- package/dist/{chunk-TXYMNKGM.js → chunk-5UJ7C7IH.js} +5 -5
- package/dist/{chunk-DCRZ3OQ7.js → chunk-5WZV37WS.js} +6 -6
- package/dist/{chunk-WWSCJBF6.js → chunk-62FMA437.js} +12 -12
- package/dist/{chunk-DIXA74N7.js → chunk-6576X5BJ.js} +3 -3
- package/dist/{chunk-2ITYURTR.js → chunk-6WYOJCB4.js} +2 -2
- package/dist/{chunk-D5ZC7IMC.js → chunk-77REYYY5.js} +3 -3
- package/dist/{chunk-Z5YDTIWQ.js → chunk-7AKJ2XTW.js} +12 -12
- package/dist/{chunk-JUHZBZPZ.js → chunk-7E3G5NCH.js} +6 -6
- package/dist/{chunk-UKRJ2ISN.js → chunk-7EAH2MFY.js} +3 -3
- package/dist/{chunk-QOC3Q4UU.js → chunk-7F4GZ7U2.js} +2 -2
- package/dist/{chunk-5EIKOU7L.js → chunk-7FUQAT2R.js} +4 -4
- package/dist/{chunk-TBQHBOFF.js → chunk-7HW2CMIN.js} +8 -8
- package/dist/{chunk-MZWM73S2.js → chunk-7NLYSTEK.js} +5 -5
- package/dist/{chunk-U66RQUFC.js → chunk-7QZDGM5V.js} +4 -4
- package/dist/{chunk-YLZNTVZR.js → chunk-7U6PBBXG.js} +7 -7
- package/dist/{chunk-QPLNB2BM.js → chunk-7UYRN4ON.js} +3 -3
- package/dist/{chunk-BTS56NV7.js → chunk-7X3WLAKP.js} +36 -33
- package/dist/{chunk-LOCJHNZI.js → chunk-7YFUNWFM.js} +8 -8
- package/dist/chunk-7YSMZEO3.js +55 -0
- package/dist/{chunk-PB3NCPRF.js → chunk-A3AADMM2.js} +6 -6
- package/dist/{chunk-QJ3AYXVO.js → chunk-A3J75BO2.js} +12 -12
- package/dist/chunk-AENMOZMM.js +42 -0
- package/dist/{chunk-ZIAYNHHE.js → chunk-AGAFNUYZ.js} +31 -14
- package/dist/{chunk-QXXEO4TF.js → chunk-AYWJMHSX.js} +3 -3
- package/dist/{chunk-BLVFHN3C.js → chunk-B2U4AOZ5.js} +38 -38
- package/dist/chunk-BDKYHCGI.js +71 -0
- package/dist/{chunk-XERIHPBF.js → chunk-BEDZNT62.js} +8 -8
- package/dist/{chunk-L3PIN47C.js → chunk-BIQNPWGX.js} +4 -4
- package/dist/{chunk-OKSRK2LJ.js → chunk-BJDVI5W6.js} +17 -17
- package/dist/{chunk-UCFNHK5L.js → chunk-BMMTWRWE.js} +20 -20
- package/dist/{chunk-SUYC5NP6.js → chunk-BPDS7KUR.js} +21 -21
- package/dist/{chunk-EUMXLSW5.js → chunk-BS52P2CM.js} +5 -5
- package/dist/{chunk-IUBBEU6O.js → chunk-C5LX54QK.js} +10 -10
- package/dist/{chunk-YHWX5LPT.js → chunk-CB6H7MH2.js} +21 -21
- package/dist/{chunk-HNPKCRCE.js → chunk-CGVRLQAY.js} +1375 -210
- package/dist/{chunk-EPQQ2XVM.js → chunk-CMUJSPP4.js} +9 -9
- package/dist/{chunk-5Z7L2TSR.js → chunk-CNF7D3A7.js} +3 -3
- package/dist/{chunk-4RKIOUPA.js → chunk-CPFAWYVC.js} +4 -4
- package/dist/{chunk-EEKQI3U4.js → chunk-CQRFCWQV.js} +21 -21
- package/dist/{chunk-66DWUSNY.js → chunk-CVWKS6GO.js} +20 -20
- package/dist/chunk-D2CGJ7RR.js +46 -0
- package/dist/{chunk-NX5IPHI3.js → chunk-D45K3XKK.js} +12 -12
- package/dist/{chunk-FYWLB7PO.js → chunk-D7QIZLWB.js} +19 -19
- package/dist/{chunk-NQDHRT2H.js → chunk-DAHKLVHU.js} +12 -12
- package/dist/{chunk-LKUTBQ2Y.js → chunk-DBVQEPZB.js} +5 -5
- package/dist/{chunk-FFDVAV56.js → chunk-DCPI3ETH.js} +22 -22
- package/dist/{chunk-FL53R4SW.js → chunk-DJ4C5ELF.js} +5 -2
- package/dist/{chunk-MCE74XMF.js → chunk-DLNQ3HUM.js} +6 -6
- package/dist/chunk-DM3H4V2G.js +62 -0
- package/dist/{chunk-D5CJEKZI.js → chunk-DMQJDHXG.js} +2 -2
- package/dist/{chunk-A3NUZJFI.js → chunk-DPZD7WVX.js} +2 -2
- package/dist/{chunk-MVXMISNA.js → chunk-DYVUNT4O.js} +7 -7
- package/dist/{chunk-CFSHLQPK.js → chunk-E2OP6JNF.js} +24 -24
- package/dist/{chunk-FDL2JOLB.js → chunk-E7PR4WMM.js} +22 -22
- package/dist/{chunk-E7YDJH6B.js → chunk-EAGSM3XY.js} +9 -9
- package/dist/{chunk-RU5W7JJQ.js → chunk-EJGUEUXG.js} +23 -23
- package/dist/chunk-ELKTDXV3.js +67 -0
- package/dist/{chunk-XXRBAJ36.js → chunk-ELNIQYLR.js} +12 -12
- package/dist/{chunk-ZRQHSMPK.js → chunk-ELNLHU7Y.js} +4 -4
- package/dist/{chunk-5FUFVNXB.js → chunk-EM7F6XEU.js} +2 -2
- package/dist/{chunk-3UMKLB6P.js → chunk-EP7ZBZLT.js} +5 -5
- package/dist/chunk-EPXYFJTY.js +278 -0
- package/dist/{chunk-ETQSQ2EC.js → chunk-EUCATH2U.js} +4 -4
- package/dist/{chunk-HI7ADE4E.js → chunk-EXCXNDTQ.js} +1 -1
- package/dist/{chunk-6FIYEB7M.js → chunk-EXGXCVWC.js} +22 -22
- package/dist/{chunk-MDTAZ6NE.js → chunk-F36DIKJ3.js} +11 -11
- package/dist/{chunk-GQFUEUC7.js → chunk-F4WKGX7K.js} +16 -16
- package/dist/{chunk-DH3EQMIA.js → chunk-F56DNMDD.js} +3 -3
- package/dist/{chunk-DD2AXECF.js → chunk-FJS2FZFZ.js} +20 -20
- package/dist/{chunk-H5EQOSTC.js → chunk-FNP4M4VL.js} +38 -38
- package/dist/{chunk-HWNFFCGB.js → chunk-G5P7F6RQ.js} +3 -3
- package/dist/{chunk-GQPP4P2E.js → chunk-GAU2IFIC.js} +16 -16
- package/dist/{chunk-XKNISZ6N.js → chunk-GAVEIYKH.js} +15 -15
- package/dist/{chunk-IRXZKKCG.js → chunk-GD6FXN6R.js} +15 -15
- package/dist/{chunk-A6ZG3UOS.js → chunk-GDGE7ZHC.js} +5 -5
- package/dist/{chunk-LBG4GMOR.js → chunk-GIOOA2ZO.js} +3 -3
- package/dist/{chunk-GJVCBTSO.js → chunk-GLISHJ4G.js} +797 -174
- package/dist/{chunk-RQSUFGU2.js → chunk-GPOL5H3B.js} +24 -24
- package/dist/{chunk-3NS4RS3C.js → chunk-GVOQJPKA.js} +18 -18
- package/dist/{chunk-YDDLVBQ4.js → chunk-GX67TNFA.js} +3 -3
- package/dist/{chunk-ABDE5IRC.js → chunk-H75SPCAW.js} +16 -16
- package/dist/{chunk-J4K4C4T5.js → chunk-H7GAPNGQ.js} +13 -18
- package/dist/{chunk-CI4D6VSU.js → chunk-HD72AL3L.js} +18 -18
- package/dist/{chunk-X7HFXXTZ.js → chunk-HHZ2ZKUD.js} +12 -12
- package/dist/{chunk-YA2IJJ6N.js → chunk-HHZEXF7V.js} +5 -5
- package/dist/{chunk-A4VDFIMR.js → chunk-HR34F2AJ.js} +12 -12
- package/dist/{chunk-ROWZYQOI.js → chunk-HU7VXMFV.js} +6 -6
- package/dist/{chunk-6UTD5RQH.js → chunk-HV3KPEFH.js} +11 -11
- package/dist/{chunk-BYKWWSXL.js → chunk-I2M7MXSV.js} +6 -6
- package/dist/{chunk-5PSKLTBR.js → chunk-IDTVBZQI.js} +3 -3
- package/dist/{chunk-OSWOIFRQ.js → chunk-IFDCCCEN.js} +4 -4
- package/dist/{chunk-BFQ5IKQA.js → chunk-IKRM64KR.js} +10 -10
- package/dist/{chunk-5QF5W5P2.js → chunk-IMTAHDME.js} +5 -5
- package/dist/{chunk-KYO5HT4G.js → chunk-IP6TSICI.js} +12 -12
- package/dist/{chunk-BQXAHIZ6.js → chunk-IW3QMW3X.js} +8 -8
- package/dist/{chunk-WECCLSYY.js → chunk-IWQEZFVV.js} +228 -31
- package/dist/{chunk-44QUCNPH.js → chunk-J65TN6QU.js} +5 -5
- package/dist/{chunk-LAGZBQHK.js → chunk-JCKKAELC.js} +12 -12
- package/dist/{chunk-RSHVSXPJ.js → chunk-JJEPU4VS.js} +5 -5
- package/dist/{chunk-KIY2WCN7.js → chunk-JKEUPSCE.js} +3 -3
- package/dist/{chunk-BBZ6UKN3.js → chunk-JMOZ6K5A.js} +3 -3
- package/dist/{chunk-U2JTTRKS.js → chunk-JQGWP3SC.js} +6 -6
- package/dist/{chunk-LELM7X5H.js → chunk-JWLABUXL.js} +8 -8
- package/dist/{chunk-U57VLY6X.js → chunk-JXLUHMTC.js} +20 -20
- package/dist/{chunk-XPXOKHNZ.js → chunk-K373N5U6.js} +10 -10
- package/dist/{chunk-MPATOMY5.js → chunk-K3OIBTCV.js} +14 -14
- package/dist/{chunk-HYHV2P3G.js → chunk-K4C2DWOZ.js} +11 -11
- package/dist/{chunk-UWJOM457.js → chunk-K77ILFUQ.js} +3 -3
- package/dist/{chunk-3VS7RNEB.js → chunk-KFDOL2Y4.js} +17 -17
- package/dist/{chunk-4DCIUKIE.js → chunk-KGT5RIGE.js} +23 -13
- package/dist/{chunk-RRKM3GJA.js → chunk-KJPKIU2R.js} +23 -23
- package/dist/{chunk-37UTWGU4.js → chunk-KN4UQJ7R.js} +4 -4
- package/dist/{chunk-SGYQORAD.js → chunk-KW4DIXUL.js} +2 -2
- package/dist/{chunk-T24TBI7F.js → chunk-KY3BUZYI.js} +22 -22
- package/dist/{chunk-L6Z6TMIK.js → chunk-LGE6H4UP.js} +15 -8
- package/dist/{chunk-LDKP7OWQ.js → chunk-LKRMVWXB.js} +28 -28
- package/dist/{chunk-UI6KNLSO.js → chunk-LMNCRSER.js} +11 -11
- package/dist/{chunk-7U46TCRZ.js → chunk-LNGFTPU7.js} +18 -18
- package/dist/{chunk-DCQSPSXU.js → chunk-LOJGNSPA.js} +18 -18
- package/dist/{chunk-SLGUSFOD.js → chunk-LP5QGTCR.js} +3 -3
- package/dist/{chunk-CCQWQFOT.js → chunk-LPXH2DA4.js} +17 -17
- package/dist/{chunk-4DX4DIND.js → chunk-LQD3R6NZ.js} +7 -7
- package/dist/{chunk-QFDPX6C4.js → chunk-LZFKJ2BR.js} +4 -0
- package/dist/{chunk-DIYNRYXW.js → chunk-M6HI36T3.js} +2 -2
- package/dist/{chunk-ASFRT33J.js → chunk-M7XNX5IC.js} +9 -9
- package/dist/{chunk-4MNMOUU7.js → chunk-MELS6T5J.js} +4 -4
- package/dist/{chunk-UXO25YBN.js → chunk-MJAIBPI5.js} +3 -3
- package/dist/{chunk-G67GOK4S.js → chunk-MJMEF7SD.js} +7 -7
- package/dist/{chunk-H7KERB6Q.js → chunk-MJOIMGS4.js} +5 -5
- package/dist/chunk-MLUHBVCI.js +45 -0
- package/dist/{chunk-CKRPMRFQ.js → chunk-MM5OAVSW.js} +25 -25
- package/dist/{chunk-LTIXFLYE.js → chunk-MM7YWUBB.js} +6 -6
- package/dist/{chunk-BWYW533C.js → chunk-MN2XDLDM.js} +9 -9
- package/dist/{chunk-ZJ2W2RDE.js → chunk-MWOPED6I.js} +5 -5
- package/dist/{chunk-QYFNVQLK.js → chunk-MXPKXCGP.js} +1 -1
- package/dist/{chunk-EHF2MBGR.js → chunk-MZTU5L6S.js} +3 -3
- package/dist/{chunk-JVMNEI7B.js → chunk-N3OEBQTA.js} +3 -3
- package/dist/{chunk-ZSNNF26J.js → chunk-N6SSI6XO.js} +20 -20
- package/dist/{chunk-CFSBBLDD.js → chunk-NB664KWQ.js} +23 -23
- package/dist/{chunk-NN6AXKFX.js → chunk-NL6GIEJU.js} +15 -15
- package/dist/{chunk-ZCU2UY47.js → chunk-NMBHFSJQ.js} +22 -22
- package/dist/{chunk-HRYI22QU.js → chunk-NMGFXT4S.js} +15 -15
- package/dist/{chunk-G3W7GNEP.js → chunk-NPZ4KXIV.js} +17 -17
- package/dist/{chunk-LIB6AUZS.js → chunk-NQLTWGF4.js} +4 -4
- package/dist/{chunk-QK6CGRKK.js → chunk-O6DJMDBR.js} +4 -4
- package/dist/{chunk-MUY5MAGM.js → chunk-OEUTV6EL.js} +11 -11
- package/dist/{chunk-NC56V6KQ.js → chunk-OMSH46JK.js} +4 -4
- package/dist/chunk-ONB7M2AF.js +52 -0
- package/dist/{chunk-MQFSEGTU.js → chunk-OOU4N2JQ.js} +134 -30
- package/dist/{chunk-3FGQFDS4.js → chunk-OW53P52N.js} +18 -18
- package/dist/{chunk-YUJTOALL.js → chunk-P4QTTCVK.js} +18 -18
- package/dist/{chunk-JCEYOSST.js → chunk-P56N3NPT.js} +3 -3
- package/dist/{chunk-RYY554OA.js → chunk-PCZ4C2V7.js} +5 -5
- package/dist/{chunk-GFYVVTKH.js → chunk-PGKCRK77.js} +5 -5
- package/dist/{chunk-4CS3PMIM.js → chunk-PYVFLITV.js} +5 -5
- package/dist/{chunk-Q5QSWV2R.js → chunk-Q52KWTG5.js} +12 -12
- package/dist/{chunk-B63NWU3P.js → chunk-Q6UYUCNS.js} +12 -12
- package/dist/{chunk-VE2T5URA.js → chunk-QBK33722.js} +22 -22
- package/dist/{chunk-PZBNDFZ7.js → chunk-QE444DZ2.js} +39 -19
- package/dist/{chunk-MMOMKHAX.js → chunk-QEP4HTJE.js} +4 -4
- package/dist/{chunk-IOHRX4KF.js → chunk-QFOJ3UPU.js} +17 -13
- package/dist/{chunk-MOWUP33K.js → chunk-QQD25YNF.js} +2 -2
- package/dist/{chunk-W4EG25TI.js → chunk-QSKY7FE3.js} +6 -6
- package/dist/{chunk-3TGX4SJ3.js → chunk-R6HJ4SDB.js} +4 -4
- package/dist/{chunk-A53IYUCR.js → chunk-RFQW7XT3.js} +15 -15
- package/dist/{chunk-CZ75S2EZ.js → chunk-RL7PETU6.js} +5 -5
- package/dist/{chunk-2JHE75RW.js → chunk-ROVOAF2O.js} +10 -10
- package/dist/{chunk-GS7N3RFG.js → chunk-RSA5JJMN.js} +29 -24
- package/dist/{chunk-ANUMIPF6.js → chunk-RX56MZLX.js} +20 -20
- package/dist/chunk-S7I7SLZN.js +59 -0
- package/dist/{chunk-IWPO5AUT.js → chunk-S7UQFI4B.js} +23 -23
- package/dist/{chunk-CCQZN6W3.js → chunk-SBNBVUOF.js} +33 -33
- package/dist/{chunk-JCG2EBNB.js → chunk-SD3PGZSR.js} +1 -1
- package/dist/{chunk-QIDSEHJA.js → chunk-SEBBJQWK.js} +7 -7
- package/dist/{chunk-3XZRYQWU.js → chunk-SGTAQNOP.js} +31 -31
- package/dist/{chunk-532HDXMM.js → chunk-SHWHRCMU.js} +6 -6
- package/dist/{chunk-NTEPBOAF.js → chunk-SRLUADSY.js} +4 -4
- package/dist/{chunk-LIQWFDOZ.js → chunk-SXF66YNZ.js} +4 -4
- package/dist/{chunk-DF6DPCW2.js → chunk-T5QYYB5L.js} +10 -10
- package/dist/{chunk-XNH5ZWIA.js → chunk-TAIYQDIV.js} +18 -18
- package/dist/{chunk-OYTSRNSZ.js → chunk-TIOYZDRB.js} +5 -5
- package/dist/{chunk-FFYOZ7PF.js → chunk-TKCNJJ2S.js} +8 -8
- package/dist/{chunk-NOU5IBLM.js → chunk-TVFADTAT.js} +4 -4
- package/dist/{chunk-JJ4SCGRJ.js → chunk-U4HZ5CXL.js} +6 -6
- package/dist/{chunk-PIPYJTIL.js → chunk-U7F6E5M3.js} +23 -23
- package/dist/{chunk-ESJALLOK.js → chunk-U7YZ3IRI.js} +2 -2
- package/dist/{chunk-3BEGKSDW.js → chunk-UCKG6UE7.js} +8 -8
- package/dist/{chunk-U37ZOYJJ.js → chunk-UCQB6NKS.js} +6 -6
- package/dist/{chunk-FGW5TLGM.js → chunk-UI7ID4HG.js} +11 -11
- package/dist/{chunk-JYJMIAFS.js → chunk-UJ535VWR.js} +4 -4
- package/dist/{chunk-TKEXS74L.js → chunk-UKMA5JFE.js} +24 -24
- package/dist/{chunk-OYKNPZCV.js → chunk-UR6JGVX2.js} +183 -175
- package/dist/{chunk-HGDBM3A5.js → chunk-USH4VU5D.js} +2 -2
- package/dist/{chunk-ZSD75FYI.js → chunk-UTYL4XVA.js} +19 -19
- package/dist/{chunk-5MKV4TV6.js → chunk-UTZMF5CV.js} +1 -1
- package/dist/{chunk-ENZ3PI7L.js → chunk-UVKJVTKX.js} +3 -3
- package/dist/{chunk-OTUBMKSG.js → chunk-V7T6URII.js} +3 -3
- package/dist/{chunk-QGBS4GMS.js → chunk-VAZYNF6I.js} +12 -12
- package/dist/{chunk-OCU5S2XG.js → chunk-VBJHIRKV.js} +3 -3
- package/dist/{chunk-AAY6VPPO.js → chunk-VOBG7BLB.js} +16 -16
- package/dist/{chunk-T5NH5L7A.js → chunk-W2W7YCFL.js} +12 -12
- package/dist/{chunk-AM7PYKVP.js → chunk-WA644MUQ.js} +10 -10
- package/dist/{chunk-6OZAQPU5.js → chunk-WDJGJ3HV.js} +28 -4
- package/dist/{chunk-3XCCT2GR.js → chunk-WGOQZ4PQ.js} +155 -109
- package/dist/{chunk-OSZTENIA.js → chunk-WS7KBKP4.js} +2 -2
- package/dist/chunk-X7QLAUNS.js +47 -0
- package/dist/{chunk-6TNQO76I.js → chunk-XC5ZDFW7.js} +6 -6
- package/dist/{chunk-5ORLKITZ.js → chunk-XF5UMMQL.js} +21 -21
- package/dist/{chunk-YB5AKYVQ.js → chunk-XM3JE4QY.js} +5 -5
- package/dist/{chunk-GCMDDVIE.js → chunk-XP5DF5MC.js} +42 -10
- package/dist/{chunk-JMH6TCZJ.js → chunk-XUCHGEF5.js} +20 -20
- package/dist/{chunk-TKE6ZJMM.js → chunk-XVQQ3BQS.js} +24 -24
- package/dist/{chunk-HXFZX2BI.js → chunk-XXJSGCDO.js} +8 -8
- package/dist/{chunk-MT3FNSXO.js → chunk-XY6FVBBV.js} +1 -1
- package/dist/{chunk-CNF2EZ6S.js → chunk-XZQBFF65.js} +116 -116
- package/dist/{chunk-GXQYEIYM.js → chunk-Y3J365UC.js} +5 -5
- package/dist/{chunk-ZX6RAGE6.js → chunk-Y6KPWRZJ.js} +9 -9
- package/dist/{chunk-775FMPUB.js → chunk-YAUMNRCB.js} +4 -4
- package/dist/{chunk-AWDCVZYO.js → chunk-YEGGQG5E.js} +5 -5
- package/dist/{chunk-XNW3EDCY.js → chunk-YGNQUFVZ.js} +2 -2
- package/dist/{chunk-HRHXTLUM.js → chunk-YGS2YVF2.js} +14 -14
- package/dist/{chunk-25CUJJTP.js → chunk-YRKAJ42V.js} +34 -16
- package/dist/{chunk-O4ZWZZZT.js → chunk-Z3KEX7ON.js} +4 -4
- package/dist/{chunk-JLYH2QOE.js → chunk-Z4N7BKLN.js} +5 -5
- package/dist/{chunk-7HWCEDPX.js → chunk-ZD64ZR64.js} +5 -5
- package/dist/{chunk-RQAMZVWW.js → chunk-ZJQ64T6M.js} +8 -8
- package/dist/files.json +547 -547
- package/dist/packages/sdk/npm/index.js +110 -28
- package/dist/packages/ui/dist/assets/{elk-api--rH6Kdl4.js → elk-api-ts8TigYQ.js} +2 -2
- package/dist/packages/ui/dist/assets/index-CIfmX7DJ.css +1 -0
- package/dist/packages/ui/dist/assets/index-DNtpSfZS.js +63 -0
- package/dist/packages/ui/dist/index.html +2 -2
- package/package.json +5 -5
- package/dist/chunk-26AB2WNW.js +0 -62
- package/dist/chunk-C7BB6IQT.js +0 -147
- package/dist/chunk-DYDNW4O6.js +0 -52
- package/dist/chunk-MA6UK7GX.js +0 -42
- package/dist/chunk-NBZ7RKX3.js +0 -46
- package/dist/chunk-OYZ64UMQ.js +0 -67
- package/dist/chunk-PIPJZIJE.js +0 -47
- package/dist/chunk-Q2ULHBCJ.js +0 -59
- package/dist/chunk-QVF4KYIO.js +0 -71
- package/dist/chunk-T2HXLDY3.js +0 -55
- package/dist/chunk-WQDJGNJQ.js +0 -45
- package/dist/packages/ui/dist/assets/index-Bf2immpE.css +0 -1
- package/dist/packages/ui/dist/assets/index-CH4nGIW3.js +0 -62
|
@@ -1207,8 +1207,7 @@ var init_question = __esm({
|
|
|
1207
1207
|
}
|
|
1208
1208
|
});
|
|
1209
1209
|
|
|
1210
|
-
// packages/core/dist/
|
|
1211
|
-
import { createHash } from "node:crypto";
|
|
1210
|
+
// packages/core/dist/paths.js
|
|
1212
1211
|
function normalizePath(input) {
|
|
1213
1212
|
const trimmed = input.trim();
|
|
1214
1213
|
if (trimmed === "")
|
|
@@ -1248,6 +1247,14 @@ function stripParamConstraints(path) {
|
|
|
1248
1247
|
}
|
|
1249
1248
|
return out;
|
|
1250
1249
|
}
|
|
1250
|
+
var init_paths = __esm({
|
|
1251
|
+
"packages/core/dist/paths.js"() {
|
|
1252
|
+
"use strict";
|
|
1253
|
+
}
|
|
1254
|
+
});
|
|
1255
|
+
|
|
1256
|
+
// packages/core/dist/identity.js
|
|
1257
|
+
import { createHash } from "node:crypto";
|
|
1251
1258
|
function interfaceId(from, to, method, path) {
|
|
1252
1259
|
const key = [from, to, (method ?? "").toUpperCase(), normalizePath(path)].join("|");
|
|
1253
1260
|
return "if-" + createHash("sha256").update(key, "utf8").digest("hex").slice(0, 16);
|
|
@@ -1255,6 +1262,8 @@ function interfaceId(from, to, method, path) {
|
|
|
1255
1262
|
var init_identity = __esm({
|
|
1256
1263
|
"packages/core/dist/identity.js"() {
|
|
1257
1264
|
"use strict";
|
|
1265
|
+
init_paths();
|
|
1266
|
+
init_paths();
|
|
1258
1267
|
}
|
|
1259
1268
|
});
|
|
1260
1269
|
|
|
@@ -4549,6 +4558,7 @@ var SETTER_LITERAL = new RegExp(`(\\b(?:set|with)[A-Za-z0-9_]*?${SECRET_WORDS}\\
|
|
|
4549
4558
|
var KEY_BARE = new RegExp(`((?:\\bexport\\s+|--|[?&;])[A-Za-z0-9_.-]*?${SECRET_WORDS}\\s*=\\s*)([^\\s&;"'\`]+)`, "gi");
|
|
4550
4559
|
var URL_CREDENTIALS = /\b([a-z][a-z0-9+.-]*:\/\/[^\s:@/]+:)([^\s@/]+)(?=@)/gi;
|
|
4551
4560
|
var BEARER = /\b(Bearer\s+)([A-Za-z0-9._~+/-]{16,}=*)/g;
|
|
4561
|
+
var BASIC = /\b(Basic\s+)((?=[A-Za-z0-9+/]*[0-9+/=])[A-Za-z0-9+/]{12,}={0,2})/g;
|
|
4552
4562
|
var TOKEN_SHAPES = [
|
|
4553
4563
|
/\bgh[pousr]_[A-Za-z0-9]{20,}/g,
|
|
4554
4564
|
/\bgithub_pat_[A-Za-z0-9_]{20,}/g,
|
|
@@ -4558,12 +4568,14 @@ var TOKEN_SHAPES = [
|
|
|
4558
4568
|
/\bAIza[0-9A-Za-z_-]{35}/g,
|
|
4559
4569
|
/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}/g
|
|
4560
4570
|
];
|
|
4561
|
-
function hasSecretShape(text3) {
|
|
4571
|
+
function hasSecretShape(text3, o = {}) {
|
|
4562
4572
|
for (const m of text3.matchAll(URL_CREDENTIALS))
|
|
4563
4573
|
if (!refersOnly(m[2]))
|
|
4564
4574
|
return true;
|
|
4565
4575
|
if (new RegExp(BEARER.source).test(text3))
|
|
4566
4576
|
return true;
|
|
4577
|
+
if (o.basic !== false && new RegExp(BASIC.source).test(text3))
|
|
4578
|
+
return true;
|
|
4567
4579
|
return TOKEN_SHAPES.some((re) => new RegExp(re.source).test(text3));
|
|
4568
4580
|
}
|
|
4569
4581
|
var placeholder = (v) => PLACEHOLDER.test(v.trim().replace(/^["'`]/, ""));
|
|
@@ -4614,7 +4626,12 @@ var common = {
|
|
|
4614
4626
|
id: FactId,
|
|
4615
4627
|
repo: str2(),
|
|
4616
4628
|
commit: z3.string().regex(/^[0-9a-f]{7,64}$/),
|
|
4617
|
-
/**
|
|
4629
|
+
/**
|
|
4630
|
+
* The component the fact belongs to: the component the manifest names (a module only when the
|
|
4631
|
+
* manifest lists modules); the repo's own when left out. Review of beta.25: in a repo whose
|
|
4632
|
+
* manifest lists no modules, one the manifest doesn't name (a folder's) is placed in the repo's
|
|
4633
|
+
* component (`placedComponentOf`), with a note.
|
|
4634
|
+
*/
|
|
4618
4635
|
component: z3.string().optional(),
|
|
4619
4636
|
cite: Cite,
|
|
4620
4637
|
verified: FactVerified.default("none"),
|
|
@@ -4813,6 +4830,32 @@ function namesOfKey(key) {
|
|
|
4813
4830
|
function looksLikeSecret(key, value) {
|
|
4814
4831
|
return value !== void 0 && namesOfKey(key).some((n) => SECRET_KEY.test(n)) && !SECRET_SOURCE.test(value) && !NOT_A_SECRET.test(value.trim());
|
|
4815
4832
|
}
|
|
4833
|
+
var REFERENCE_SCHEMES = /* @__PURE__ */ new Set([
|
|
4834
|
+
"env",
|
|
4835
|
+
"vault",
|
|
4836
|
+
"secret",
|
|
4837
|
+
"ref",
|
|
4838
|
+
"secretkeyref",
|
|
4839
|
+
"configmapkeyref",
|
|
4840
|
+
"file",
|
|
4841
|
+
"kvm"
|
|
4842
|
+
]);
|
|
4843
|
+
var PLACEHOLDER_SCHEMES = /* @__PURE__ */ new Set([
|
|
4844
|
+
...REFERENCE_SCHEMES,
|
|
4845
|
+
"ssm",
|
|
4846
|
+
"sm",
|
|
4847
|
+
"secretsmanager",
|
|
4848
|
+
"aws",
|
|
4849
|
+
"azure",
|
|
4850
|
+
"keyvault",
|
|
4851
|
+
"gcp",
|
|
4852
|
+
"k8s",
|
|
4853
|
+
"cf",
|
|
4854
|
+
"opt",
|
|
4855
|
+
"self",
|
|
4856
|
+
"sys",
|
|
4857
|
+
"param"
|
|
4858
|
+
]);
|
|
4816
4859
|
var ConfigFact = z3.strictObject({
|
|
4817
4860
|
kind: z3.literal("config"),
|
|
4818
4861
|
...common,
|
|
@@ -4833,7 +4876,7 @@ var ConfigFact = z3.strictObject({
|
|
|
4833
4876
|
path: ["value"],
|
|
4834
4877
|
message: `"${c.key}" looks like a secret: give its source (env:NAME, vault:path), never its value`
|
|
4835
4878
|
});
|
|
4836
|
-
} else if (c.value !== void 0 && hasSecretShape(c.value)) {
|
|
4879
|
+
} else if (c.value !== void 0 && hasSecretShape(c.value, { basic: false })) {
|
|
4837
4880
|
ctx.addIssue({
|
|
4838
4881
|
code: "custom",
|
|
4839
4882
|
path: ["value"],
|
|
@@ -5241,9 +5284,10 @@ init_common();
|
|
|
5241
5284
|
// packages/core/dist/facts.js
|
|
5242
5285
|
init_common();
|
|
5243
5286
|
init_kinds();
|
|
5287
|
+
var KNOWN_KINDS = new Set(FACT_KINDS);
|
|
5244
5288
|
|
|
5245
5289
|
// packages/core/dist/host-questions.js
|
|
5246
|
-
import { isMap as isMap4, isSeq as isSeq2, parseDocument as parseDocument4, YAMLSeq } from "yaml";
|
|
5290
|
+
import { isAlias, isMap as isMap4, isNode, isSeq as isSeq2, parseDocument as parseDocument4, visit, YAMLSeq } from "yaml";
|
|
5247
5291
|
|
|
5248
5292
|
// packages/core/dist/fs.js
|
|
5249
5293
|
init_kept_files();
|
|
@@ -5274,6 +5318,7 @@ import { isMap as isMap3, parseDocument as parseDocument3 } from "yaml";
|
|
|
5274
5318
|
// packages/core/dist/host-questions.js
|
|
5275
5319
|
init_orgpack();
|
|
5276
5320
|
init_workspace();
|
|
5321
|
+
var IGNORE_REASON_MAX = 300;
|
|
5277
5322
|
|
|
5278
5323
|
// packages/core/dist/facts-join.js
|
|
5279
5324
|
init_identity();
|
|
@@ -5838,7 +5883,12 @@ var Problem = z30.object({
|
|
|
5838
5883
|
/** For 403s on gated actions: who can act, e.g. "Needs an architect: R. Patel". */
|
|
5839
5884
|
needs: z30.object({ role: z30.string(), names: z30.array(z30.string()) }).optional(),
|
|
5840
5885
|
/** 3.9.0: what the app offers next, e.g. Sync the repos with no base clone here. */
|
|
5841
|
-
next: NextStep.optional()
|
|
5886
|
+
next: NextStep.optional(),
|
|
5887
|
+
/**
|
|
5888
|
+
* 3.11.0 (beta.25): for a 500 that wrote only part of what was asked, the files left written
|
|
5889
|
+
* (each in the metarepo, or in `repo`'s working copy), so the app reads them again.
|
|
5890
|
+
*/
|
|
5891
|
+
written: z30.array(z30.object({ repo: z30.string().optional(), file: z30.string() })).optional()
|
|
5842
5892
|
});
|
|
5843
5893
|
var Kind3 = z30.enum(RECORD_KINDS);
|
|
5844
5894
|
var CatalogRecord2 = z30.union(RECORD_KINDS.map((k) => RECORD_SCHEMAS[k]));
|
|
@@ -5994,7 +6044,8 @@ var HierJoin = z30.object({
|
|
|
5994
6044
|
run: z30.string().optional(),
|
|
5995
6045
|
/**
|
|
5996
6046
|
* 3.10.0 (ADR 0192): on a `depends-on` edge's join (`how: coordinates`), the coordinates the
|
|
5997
|
-
* dependency names and the library publishes, and its scope when not compile
|
|
6047
|
+
* dependency names and the library publishes, and its scope when not compile (review of
|
|
6048
|
+
* beta.25: on a link of several facts, only when every one has it). `interface` is
|
|
5998
6049
|
* then the link's own id (`depends-on:<repo>/<component>><repo>/<component>`, no Interface
|
|
5999
6050
|
* record), `caller` the dependency's lines in the depending build file, `callee` the lines that
|
|
6000
6051
|
* publish the coordinates. Left out on a call's join.
|
|
@@ -6003,7 +6054,24 @@ var HierJoin = z30.object({
|
|
|
6003
6054
|
group: z30.string(),
|
|
6004
6055
|
name: z30.string(),
|
|
6005
6056
|
version: z30.string().optional(),
|
|
6006
|
-
scope: z30.string().optional()
|
|
6057
|
+
scope: z30.string().optional(),
|
|
6058
|
+
/**
|
|
6059
|
+
* 3.11.0: every dependency fact the link rests on, the first (`caller`'s first line) first:
|
|
6060
|
+
* its repo, its id, its cited line (`file:line`) and every line it rests on, and the
|
|
6061
|
+
* coordinates it names (`group`, `name`, its `version` and `scope` when said): a link is
|
|
6062
|
+
* one per pair of components, so it holds every coordinate one builds on of the other's
|
|
6063
|
+
* (`group` and `name` above are the first's).
|
|
6064
|
+
*/
|
|
6065
|
+
facts: z30.array(z30.object({
|
|
6066
|
+
repo: z30.string(),
|
|
6067
|
+
fact: z30.string(),
|
|
6068
|
+
at: z30.string(),
|
|
6069
|
+
lines: z30.array(z30.string()),
|
|
6070
|
+
group: z30.string().optional(),
|
|
6071
|
+
name: z30.string().optional(),
|
|
6072
|
+
version: z30.string().optional(),
|
|
6073
|
+
scope: z30.string().optional()
|
|
6074
|
+
})).optional()
|
|
6007
6075
|
}).optional()
|
|
6008
6076
|
});
|
|
6009
6077
|
var HierEdge = z30.object({
|
|
@@ -6608,7 +6676,12 @@ var AnswerBoxRequest = z30.strictObject({
|
|
|
6608
6676
|
id: z30.string().trim().min(1).max(200),
|
|
6609
6677
|
/** For rename: the repo or system it is, or a new outside system's name. */
|
|
6610
6678
|
name: z30.string().trim().min(1).max(200).optional(),
|
|
6611
|
-
preview: z30.literal(true).optional()
|
|
6679
|
+
preview: z30.literal(true).optional(),
|
|
6680
|
+
/**
|
|
6681
|
+
* 3.11.0 (beta.25): the preview's `stamp`. A write with it is refused (409, nothing written)
|
|
6682
|
+
* when a file the fix writes changed since that preview.
|
|
6683
|
+
*/
|
|
6684
|
+
stamp: z30.string().trim().min(1).max(100).optional()
|
|
6612
6685
|
});
|
|
6613
6686
|
var AnswerBoxResult = z30.object({
|
|
6614
6687
|
id: z30.string(),
|
|
@@ -6621,7 +6694,12 @@ var AnswerBoxResult = z30.object({
|
|
|
6621
6694
|
changes: z30.array(z30.object({ was: z30.string().optional(), now: z30.string().optional() }))
|
|
6622
6695
|
}).optional(),
|
|
6623
6696
|
/** The repos whose answers changed: Apply (verify --write) puts them on the map. */
|
|
6624
|
-
repos: z30.array(z30.string())
|
|
6697
|
+
repos: z30.array(z30.string()),
|
|
6698
|
+
/**
|
|
6699
|
+
* 3.11.0 (beta.25): what the files the fix writes held when it was worked out, to send back
|
|
6700
|
+
* with the write (`stamp`), so the write is the one previewed.
|
|
6701
|
+
*/
|
|
6702
|
+
stamp: z30.string().optional()
|
|
6625
6703
|
});
|
|
6626
6704
|
var FreshState = z30.enum([
|
|
6627
6705
|
/** Facts cite files that changed, or source files changed: read again. */
|
|
@@ -6825,6 +6903,7 @@ var FactCorrectionResult = z30.object({
|
|
|
6825
6903
|
/** 2.42.0 (ADR 0149): the line appended to the file, exactly as written. */
|
|
6826
6904
|
line: z30.string().optional()
|
|
6827
6905
|
});
|
|
6906
|
+
var LINK_CORRECTIONS_MAX = 5e3;
|
|
6828
6907
|
var LinkCorrectionsRequest = z30.strictObject({
|
|
6829
6908
|
items: z30.array(z30.strictObject({
|
|
6830
6909
|
repo: z30.string().min(1),
|
|
@@ -6832,7 +6911,7 @@ var LinkCorrectionsRequest = z30.strictObject({
|
|
|
6832
6911
|
action: z30.enum(["wrong", "edit"]),
|
|
6833
6912
|
set: z30.record(z30.string().min(1), z30.string()).optional(),
|
|
6834
6913
|
reason: z30.string().trim().min(1).max(500).optional()
|
|
6835
|
-
})).min(1).max(
|
|
6914
|
+
})).min(1).max(LINK_CORRECTIONS_MAX),
|
|
6836
6915
|
reason: z30.string().trim().min(1).max(500).optional()
|
|
6837
6916
|
});
|
|
6838
6917
|
var LinkCorrectionsResult = z30.object({
|
|
@@ -6848,8 +6927,9 @@ var LinkCorrectionsResult = z30.object({
|
|
|
6848
6927
|
/** The commands that apply them, one per repo. */
|
|
6849
6928
|
verify: z30.array(z30.string()),
|
|
6850
6929
|
/**
|
|
6851
|
-
* Review of beta.24: the items left out because the
|
|
6852
|
-
* says the same already (asked again, nothing is written twice
|
|
6930
|
+
* Review of beta.24: the items left out because the correction on file that the fact meets
|
|
6931
|
+
* now says the same already (asked again, nothing is written twice; 3.11.0: one for a line the
|
|
6932
|
+
* fact has left meets nothing).
|
|
6853
6933
|
*/
|
|
6854
6934
|
skipped: z30.array(z30.object({ repo: z30.string(), fact: z30.string() })).optional()
|
|
6855
6935
|
});
|
|
@@ -8492,7 +8572,7 @@ var AnswerQuestionRequest = z30.strictObject({
|
|
|
8492
8572
|
* text and target; `reason` is kept as the answer's words (`Ignore: <reason>`).
|
|
8493
8573
|
*/
|
|
8494
8574
|
ignore: z30.literal(true).optional(),
|
|
8495
|
-
reason: z30.string().trim().min(1).max(
|
|
8575
|
+
reason: z30.string().trim().min(1).max(IGNORE_REASON_MAX).optional()
|
|
8496
8576
|
});
|
|
8497
8577
|
var AnsweredQuestion = z30.object({
|
|
8498
8578
|
question: Question,
|
|
@@ -10147,10 +10227,12 @@ var OPS = {
|
|
|
10147
10227
|
summary: "Every call merged into one edge of a view (a node's, or a focus), not only the first 20 the view lists (review of beta.24)",
|
|
10148
10228
|
tag: "views",
|
|
10149
10229
|
params: [
|
|
10150
|
-
q("edge", str3, "The edge's id, as the view gives it
|
|
10151
|
-
q("node", str3, "The node whose view has the edge
|
|
10152
|
-
q("focus", str3, "The node whose focus view has the edge
|
|
10153
|
-
q("lens", { type: "string", enum: [...GRAPH_LENSES] }, "The view's lens")
|
|
10230
|
+
{ ...q("edge", str3, "The edge's id, as the view gives it"), required: true },
|
|
10231
|
+
q("node", str3, "The node whose view has the edge: one of node or focus is required"),
|
|
10232
|
+
q("focus", str3, "The node whose focus view has the edge: one of node or focus is required"),
|
|
10233
|
+
q("lens", { type: "string", enum: [...GRAPH_LENSES] }, "The view's lens"),
|
|
10234
|
+
q("depth", { type: "string", enum: ["1", "2", "3"] }, "With node: the view's depth, as GET /api/graph/node/{id} takes it (3.11.0)"),
|
|
10235
|
+
q("all", { type: "string", enum: ["1"] }, "With node: every box, as GET /api/graph/node/{id} takes it (3.11.0)")
|
|
10154
10236
|
],
|
|
10155
10237
|
ok: { status: 200, schema: "GraphEdgeCallsView", description: "OK" },
|
|
10156
10238
|
errors: [400, 404, 422]
|
|
@@ -10553,21 +10635,21 @@ var OPS = {
|
|
|
10553
10635
|
"/api/trust/answer-boxes/ignore": {
|
|
10554
10636
|
post: {
|
|
10555
10637
|
id: "ignoreAnswerBox",
|
|
10556
|
-
summary: "A box an answer's words made (beta.24 review), put right as 'it was ignore this': each answer that names it becomes Ignore (the join leaves its calls) and the system leaves its profile. preview writes nothing; the write
|
|
10638
|
+
summary: "A box an answer's words made (beta.24 review), put right as 'it was ignore this': each answer that names it becomes Ignore (the join leaves its calls) and the system leaves its profile. preview writes nothing; the write (with the preview's stamp) writes all or none, only over the files previewed, local, for Propose for review",
|
|
10557
10639
|
tag: "workspace",
|
|
10558
10640
|
body: AnswerBoxRequest,
|
|
10559
10641
|
ok: { status: 200, schema: "AnswerBoxResult", description: "Previewed or written" },
|
|
10560
|
-
errors: [400, 404, 409, 422]
|
|
10642
|
+
errors: [400, 404, 409, 422, 500]
|
|
10561
10643
|
}
|
|
10562
10644
|
},
|
|
10563
10645
|
"/api/trust/answer-boxes/rename": {
|
|
10564
10646
|
post: {
|
|
10565
10647
|
id: "renameAnswerBox",
|
|
10566
|
-
summary: "A box an answer's words made (beta.24 review), renamed to a real system: a repo or system Atticus knows, or a new outside system's short name; the answers that name it name that instead. preview writes nothing; the write
|
|
10648
|
+
summary: "A box an answer's words made (beta.24 review), renamed to a real system: a repo or system Atticus knows, or a new outside system's short name; the answers that name it name that instead. preview writes nothing; the write (with the preview's stamp) writes all or none, only over the files previewed, local, for Propose for review",
|
|
10567
10649
|
tag: "workspace",
|
|
10568
10650
|
body: AnswerBoxRequest,
|
|
10569
10651
|
ok: { status: 200, schema: "AnswerBoxResult", description: "Previewed or written" },
|
|
10570
|
-
errors: [400, 404, 409, 422]
|
|
10652
|
+
errors: [400, 404, 409, 422, 500]
|
|
10571
10653
|
}
|
|
10572
10654
|
},
|
|
10573
10655
|
"/api/trust/fresh": {
|
|
@@ -10602,11 +10684,11 @@ var OPS = {
|
|
|
10602
10684
|
"/api/links/corrections": {
|
|
10603
10685
|
post: {
|
|
10604
10686
|
id: "correctLinkCalls",
|
|
10605
|
-
summary: "This whole arrow is wrong (beta.24): one correction of every call on a link, each in its
|
|
10687
|
+
summary: "This whole arrow is wrong (beta.24): one correction of every call on a link, or (beta.25) of every dependency fact a depends-on link rests on, each in its repo's facts/<repo>.corrections.jsonl (several lines in one write per repo), every item checked before any is written, all or none. Returns each file, the git command that commits them all and the verify command per repo",
|
|
10606
10688
|
tag: "workspace",
|
|
10607
10689
|
body: LinkCorrectionsRequest,
|
|
10608
10690
|
ok: { status: 200, schema: "LinkCorrectionsResult", description: "Recorded" },
|
|
10609
|
-
errors: [400, 404, 422, 500]
|
|
10691
|
+
errors: [400, 404, 409, 413, 422, 500]
|
|
10610
10692
|
}
|
|
10611
10693
|
},
|
|
10612
10694
|
"/api/facts/{repo}/preview": {
|
|
@@ -12704,7 +12786,7 @@ function folder(entries, rel, inherited, gitignore) {
|
|
|
12704
12786
|
return { rules, names, kept };
|
|
12705
12787
|
}
|
|
12706
12788
|
var hasGitignore = (entries) => entries.some((e) => e.name === ".gitignore" && e.isFile());
|
|
12707
|
-
async function walkRepo(root,
|
|
12789
|
+
async function walkRepo(root, visit2, o = {}) {
|
|
12708
12790
|
const max = o.max ?? Number.POSITIVE_INFINITY;
|
|
12709
12791
|
let files = 0;
|
|
12710
12792
|
let cut = false;
|
|
@@ -12732,7 +12814,7 @@ async function walkRepo(root, visit, o = {}) {
|
|
|
12732
12814
|
return false;
|
|
12733
12815
|
}
|
|
12734
12816
|
files++;
|
|
12735
|
-
if (await
|
|
12817
|
+
if (await visit2(path) === false)
|
|
12736
12818
|
return false;
|
|
12737
12819
|
}
|
|
12738
12820
|
}
|
|
@@ -12863,7 +12945,7 @@ var QuestionProposal = z32.strictObject({
|
|
|
12863
12945
|
});
|
|
12864
12946
|
|
|
12865
12947
|
// packages/core/dist/setup-edit.js
|
|
12866
|
-
import { isMap as isMap10, isNode, isScalar, isSeq as isSeq5, parseDocument as parseDocument10, stringify as stringify5 } from "yaml";
|
|
12948
|
+
import { isMap as isMap10, isNode as isNode2, isScalar, isSeq as isSeq5, parseDocument as parseDocument10, stringify as stringify5 } from "yaml";
|
|
12867
12949
|
init_ai();
|
|
12868
12950
|
init_conventions();
|
|
12869
12951
|
init_orgpack();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e,t}from"./index-
|
|
2
|
-
//# sourceMappingURL=elk-api
|
|
1
|
+
import{n as e,t}from"./index-DNtpSfZS.js";var n=t(((t,n)=>{(function(e){if(typeof t==`object`&&n!==void 0)n.exports=e();else if(typeof define==`function`&&define.amd)define([],e);else{var r=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:this;r.ELK=e()}})(function(){return(function(){function t(n,r,i){function a(s,c){if(!r[s]){if(!n[s]){var l=typeof e==`function`&&e;if(!c&&l)return l(s,!0);if(o)return o(s,!0);var u=Error(`Cannot find module '`+s+`'`);throw u.code=`MODULE_NOT_FOUND`,u}var d=r[s]={exports:{}};n[s][0].call(d.exports,function(e){var t=n[s][1][e];return a(t||e)},d,d.exports,t,n,r,i)}return r[s].exports}for(var o=typeof e==`function`&&e,s=0;s<i.length;s++)a(i[s]);return a}return t})()({1:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function i(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}n.default=function(){function e(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=n.defaultLayoutOptions,o=r===void 0?{}:r,s=n.algorithms,c=s===void 0?[`layered`,`stress`,`mrtree`,`radial`,`force`,`disco`,`sporeOverlap`,`sporeCompaction`,`rectpacking`]:s,l=n.workerFactory,u=n.workerUrl;if(i(this,e),this.defaultLayoutOptions=o,this.initialized=!1,u===void 0&&l===void 0)throw Error(`Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.`);var d=l;u!==void 0&&l===void 0&&(d=function(e){return new Worker(e)});var f=d(u);if(typeof f.postMessage!=`function`)throw TypeError(`Created worker does not provide the required 'postMessage' function.`);this.worker=new a(f),this.worker.postMessage({cmd:`register`,algorithms:c}).then(function(e){return t.initialized=!0}).catch(console.err)}return r(e,[{key:`layout`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.layoutOptions,r=n===void 0?this.defaultLayoutOptions:n,i=t.logging,a=i!==void 0&&i,o=t.measureExecutionTime,s=o!==void 0&&o;return e?this.worker.postMessage({cmd:`layout`,graph:e,layoutOptions:r,options:{logging:a,measureExecutionTime:s}}):Promise.reject(Error(`Missing mandatory parameter 'graph'.`))}},{key:`knownLayoutAlgorithms`,value:function(){return this.worker.postMessage({cmd:`algorithms`})}},{key:`knownLayoutOptions`,value:function(){return this.worker.postMessage({cmd:`options`})}},{key:`knownLayoutCategories`,value:function(){return this.worker.postMessage({cmd:`categories`})}},{key:`terminateWorker`,value:function(){this.worker&&this.worker.terminate()}}]),e}();var a=function(){function e(t){var n=this;if(i(this,e),t===void 0)throw Error(`Missing mandatory parameter 'worker'.`);this.resolvers={},this.worker=t,this.worker.onmessage=function(e){setTimeout(function(){n.receive(n,e)},0)}}return r(e,[{key:`postMessage`,value:function(e){var t=this.id||0;this.id=t+1,e.id=t;var n=this;return new Promise(function(r,i){n.resolvers[t]=function(e,t){e?(n.convertGwtStyleError(e),i(e)):r(t)},n.worker.postMessage(e)})}},{key:`receive`,value:function(e,t){var n=t.data,r=e.resolvers[n.id];r&&(delete e.resolvers[n.id],n.error?r(n.error):r(null,n.data))}},{key:`terminate`,value:function(){this.worker&&this.worker.terminate()}},{key:`convertGwtStyleError`,value:function(e){if(e){var t=e.__java$exception;t&&(t.cause&&t.cause.backingJsObject&&(e.cause=t.cause.backingJsObject,this.convertGwtStyleError(e.cause)),delete e.__java$exception)}}}]),e}()},{}],2:[function(e,t,n){var r=e("./elk-api.js").default;Object.defineProperty(t.exports,"__esModule",{value:!0}),t.exports=r,r.default=r},{"./elk-api.js":1}]},{},[2])(2)})}));export default n();
|
|
2
|
+
//# sourceMappingURL=elk-api-ts8TigYQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.runs-id{color:var(--muted);font-size:11px;display:block}.runs-h{margin:0 0 6px;font-size:10px}.runs-h4{color:var(--text);margin:0 0 6px;font-size:12.5px;font-weight:600}.runs-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:12px;display:grid}.runs-pair>*{min-width:0}.runs-text,.runstep-out{border:1px solid var(--line-2);background:var(--box);max-height:420px;color:var(--text);font-family:var(--mono,ui-monospace, monospace);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;overflow:auto}.runstep-out{max-height:220px}.runs-text:focus-visible,.runstep-out:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.runs-problems{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.runs-line{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:12.5px}.runs-rounds{flex-wrap:wrap;gap:4px 18px;margin:0;padding-left:20px;display:flex}.runs-rounds a[aria-current=page]{font-weight:600}.runstep{gap:6px;margin:6px 0 2px}.runstep-lines{color:var(--text-2);overflow-wrap:anywhere;margin:0;padding-left:18px;font-size:12px}.runstep-end{color:var(--text);margin:0;font-size:12.5px}@media (width<=900px){.runs-pair{grid-template-columns:minmax(0,1fr)}}.run-note{white-space:pre-line;margin:8px 0 0;font-size:12.5px}.run-note.ok{color:var(--green)}.run-note.bad{color:var(--magenta-text)}.run-note.working{color:var(--text-2)}.run-input,.run-select,.run-textarea{background:var(--box);min-width:0;height:32px;color:var(--text);border:1px solid var(--line-2);font:inherit;border-radius:6px;padding:0 8px;font-size:12.5px}.run-textarea{height:auto;font-family:var(--mono);padding:8px}.run-label{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.run-copy{height:26px;padding:0 8px;font-size:11px}.run-choice{flex-wrap:wrap;gap:6px}.run-choice .btn.on{border-color:var(--accent);background:var(--picked-strong);color:var(--text)}.run-facts{grid-template-columns:minmax(90px,max-content) 1fr;gap:6px 12px;margin:0;font-size:12.5px;display:grid}.run-facts dt{padding-top:2px;font-size:10px}.run-facts dd{word-break:break-word;margin:0}.run-table{border-collapse:collapse;width:100%;font-size:12.5px}.run-table th{text-align:left;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:4px 8px 6px 0;font-size:10px;font-weight:400}.run-table td{border-top:1px solid var(--rule);vertical-align:top;padding:7px 8px 7px 0}.run-pick{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 6px;display:flex}.run-pick:hover{background:var(--hover-soft)}.run-pick[aria-current=true]{background:var(--picked);box-shadow:inset 2px 0 0 var(--accent)}.run-field{border-bottom:1px solid var(--rule);grid-template-columns:minmax(120px,.35fr) 1fr auto;align-items:start;gap:10px;padding:7px 0;display:grid}.run-field:last-child{border-bottom:0}.run-field .value{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;font-size:12px}.run-field .value.empty{color:var(--amber);font-family:var(--font)}.run-text{white-space:pre-wrap;color:var(--text-2);margin:0;font-size:12.5px;line-height:1.6}.run-inert{background:var(--box);border:1px dashed var(--magenta-line);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--text-2);border-radius:6px;margin:6px 0 0;padding:8px;font-size:11.5px;display:block}.run-safety{border:1px solid var(--green-line-soft);color:var(--text-2);border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.55}.run-gates{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.run-gates li{border:1px solid var(--line-2);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.run-steps{color:var(--text-2);margin:0;padding-left:20px;line-height:1.6}.work-next{grid-column:1/-1;margin-bottom:14px}.work-why{color:var(--text);margin:0 0 8px;font-size:13.5px;line-height:1.5}.work-say{color:var(--text-2);margin:8px 0 4px;font-size:12px}.work-cmd{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.work-cmd code{border:1px solid var(--line-2);background:var(--box);min-width:0;color:var(--accent-soft);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:6px;flex:240px;padding:7px 10px;font-size:12.5px}.work-after{margin-top:10px}.work-after summary,.work-terminal summary{cursor:pointer;color:var(--text-2)}.work-terminal{margin-top:8px}.work-after ol,.work-steps{flex-direction:column;gap:10px;margin:6px 0 0;padding-left:20px;display:flex}.work-steps li p{margin:0 0 4px}.cd-legend{flex-wrap:wrap;gap:8px 16px;margin:0 0 8px;padding:0;font-size:12px;list-style:none;display:flex}.cd-key{border:1px solid var(--line-2);border-radius:4px;padding:2px 8px}.cd-key.m-new{border:2px solid var(--green)}.cd-key.m-modify{border:2px solid var(--amber)}.cd-key.m-retire{border:1px dashed var(--muted);text-decoration:line-through}.cd-canvas{margin:0 0 12px}.cd-problems{color:var(--amber-text);margin:0 0 12px}.cd-mermaid{align-items:flex-start;gap:8px;display:flex}.cd-mermaid pre{background:var(--inset);border:1px solid var(--line-2);flex:1;max-height:260px;margin:0;padding:8px;font-size:11.5px;overflow:auto}.stage-finding{border:1px solid var(--line-2);background:var(--inset);border-radius:8px;padding:10px 12px}.stage-facts{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 8px;font-size:12.5px;display:grid}.stage-facts dt{color:var(--muted)}.stage-facts dd{margin:0}.stage-comments{margin:0;padding-left:18px;font-size:12.5px}.stage-comments li{margin-bottom:6px}.est-band{margin:0 0 10px}.est-big{margin:2px 0 0;font-size:15px}.trust-list{margin:4px 0 0}.trust-items{margin:4px 0 0;padding-left:18px;font-size:12px}.stage-drafts{gap:10px;margin:0;padding:0;list-style:none;display:grid}.stage-draft{border-top:1px solid var(--line-2);padding-top:8px}.thread{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.thread-item{border:1px solid var(--line-2);background:var(--inset);border-radius:8px;margin:0;padding:10px 12px}.thread-reply{border-left:3px solid var(--line-2)}.thread-prompt{white-space:pre-wrap;max-height:320px;font:12px/1.5 var(--mono);margin:6px 0 0;overflow:auto}.thread-headline{font-size:14px;line-height:1.5}.thread-reply-box textarea{width:100%}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color,var(--xy-background-color-props,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.ev-wrap{max-width:100%;display:inline-block;position:relative}.ev-cite{border:0;border-bottom:1px solid var(--line-2);color:var(--text-2);font:inherit;cursor:pointer;text-align:left;background:0 0;flex-wrap:wrap;align-items:baseline;gap:6px;padding:0 1px;display:inline-flex}.ev-cite:hover,.ev-cite:focus-visible{color:var(--text);border-bottom-color:var(--accent)}.ev-cite.gappy{border-bottom:1px dashed var(--amber)}.ev-tip{z-index:30;background:var(--box);border:1px solid var(--line-2);min-width:260px;max-width:min(480px,80vw);box-shadow:var(--shadow);color:var(--text);white-space:normal;border-radius:8px;margin-top:4px;padding:8px 10px;font-size:12px;line-height:1.5;display:none;position:absolute;top:100%;left:0}.ev-wrap:hover .ev-tip,.ev-wrap:focus-within .ev-tip{flex-direction:column;gap:4px;display:flex}.ev-wrap.quiet .ev-tip,.ev-wrap.open .ev-tip{display:none}.ev-place{word-break:break-all;font-size:11.5px}.ev-say{color:var(--text-2);margin:0;font-size:12px}.ev-quote{background:var(--inset);border-left:2px solid var(--accent);white-space:pre-wrap;word-break:break-word;padding:4px 6px;font-size:11.5px;display:block}.ev-fact{font-size:12px;display:block}.ev-corr{color:var(--amber-text)}.ev-gaps{flex-wrap:wrap;gap:6px;display:inline-flex}.ev-gap{color:var(--amber-text);white-space:nowrap;font-size:11px}.ev-gap.ev-question{color:var(--violet-text)}.ev-details{background:var(--box);border:1px solid var(--line-2);white-space:normal;border-radius:8px;flex-direction:column;gap:6px;min-width:260px;margin-top:6px;padding:10px;display:flex}.ev-list{margin:0;padding-left:18px;font-size:12.5px}.ev-list li{margin-bottom:6px}.ev-correct{gap:8px;margin-top:8px}.ev-correct input,.ev-correct textarea{background:var(--input);color:var(--text);border:1px solid var(--line-2);font:12.5px var(--mono);border-radius:6px;padding:4px 8px}.ev-choice{border:0;flex-wrap:wrap;gap:16px;margin:0;padding:0;display:flex}.ev-fields{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.li{flex-direction:column;gap:12px;min-width:0;display:flex}.li-head{z-index:3;background:var(--box);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;margin:0 -12px;padding:8px 12px 10px;display:flex;position:sticky;top:-12px}.li-head-name{flex-direction:column;gap:4px;min-width:0;display:flex}.li-title{overflow-wrap:anywhere;font-size:15px;line-height:1.25}.li-meta{color:var(--muted);margin:0;font-size:11px}.li .btn.li-close{flex:none;height:28px}.li-body{flex-direction:column;gap:12px;min-width:0;display:flex}.li-intro{line-height:1.5}.li-arrow-actions:empty{display:none}.li-calls{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.li-call{border:1px solid var(--line);background:var(--hover-soft);border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:10px 12px 12px;display:flex}.li-call p{margin:0}.li-call-head{flex-direction:column;gap:4px;min-width:0;display:flex}.li-call-sub{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.li-call-sub .li-ends{min-width:0}.li-what{min-width:0;color:var(--text);align-items:baseline;gap:6px;font-size:13px;line-height:1.4;display:flex}.li-method{letter-spacing:.04em;color:var(--accent-soft);flex:none;font-size:11px;font-weight:600}.li-what code.li-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.li-call-head:hover .li-path,.li-call-head:focus-within .li-path{white-space:normal;overflow-wrap:anywhere}.li-ends{color:var(--text-2);overflow-wrap:break-word;font-size:11.5px}.li-scope{color:var(--muted)}.li-call-tools{flex:none;align-items:center;gap:6px;display:inline-flex}.li-call-tools .chip{white-space:nowrap}.li-call-tools .btn{min-width:24px;height:24px;padding:0 7px;font-size:11px}.li-how{flex-direction:column;gap:6px;display:flex}.li-how .ev-say{line-height:1.5}.li-also{border-left:2px solid var(--amber-line);padding-left:8px}.li-lines{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin:0;padding-top:8px;display:flex}.li-lines-group{flex-direction:column;gap:4px;display:flex}.li-lines-group dt{font-size:10.5px}.li-lines-group dd{margin:0}.li-cites{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.li-cites li{flex-wrap:wrap;align-items:baseline;column-gap:2px;min-width:0;font-size:12px;line-height:1.5;display:flex}.li-repo{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.li-at,.li-cites .ev-cite code{overflow-wrap:anywhere}.li-cites .ev-wrap{min-width:0}.li-call .ev-quote{overflow-wrap:anywhere;max-height:10em;overflow:auto}.li-call-foot{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:10px;display:flex}.li-call-foot:empty{display:none}.li-contracts{flex-direction:column;gap:4px;display:flex}.li-contracts .ev-list li{margin-bottom:2px}.li-more{border:1px dashed var(--line-2);border-radius:8px;padding:8px 10px}.li-fix{flex-direction:column;gap:8px;display:flex}.btn.li-fix-open{align-self:flex-start;height:28px}.li-note{border-left:2px solid var(--line-2);background:var(--inset);padding:8px 10px;line-height:1.5}.li-form.ev-correct{border:1px solid var(--line-2);background:var(--box);border-radius:8px;gap:12px;margin-top:0;padding:12px}.li-form-title{font-family:var(--font);color:var(--text);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600;line-height:1.4}.li-form .ev-say{line-height:1.5}.li-form .ev-choice{flex-direction:column;gap:6px}.li-form .ev-choice legend.hud{margin-bottom:4px}.li-choice{cursor:pointer;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.4;display:flex}.li-choice input{flex:none;margin:2px 0 0}.li-choice code{overflow-wrap:anywhere}.li-field{flex-direction:column;gap:4px;min-width:0;display:flex}.li-field input,.li-field textarea{box-sizing:border-box;width:100%}.li-field textarea{resize:vertical;min-height:3.5em}.li-form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.li-form .state,.li-fix>.state{text-align:left;border-radius:6px;padding:8px 10px}.li-form .state.error,.li-fix>.state.error{background:var(--danger-bg)}.li-result{border-left:2px solid var(--accent);background:var(--inset);overflow-wrap:anywhere;border-radius:0 6px 6px 0;flex-direction:column;gap:6px;min-width:0;padding:8px 10px;display:flex}.li-result:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.box-panel{gap:12px;min-width:0}.box-panel>*{min-width:0}.box-head{flex-direction:column;gap:8px;display:flex}.h.box-name{text-transform:none;letter-spacing:.01em;overflow-wrap:anywhere;font-size:17px;line-height:1.25}.box-tags{flex-wrap:wrap;gap:6px;margin:0;display:flex}.box-head .run-facts{grid-template-columns:minmax(72px,max-content) minmax(0,1fr);gap:4px 12px}.box-head .run-facts dd{overflow-wrap:anywhere}.box-actions{flex-direction:column;gap:8px;display:flex}.box-btns{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.box-btns>:not(.btn){flex-basis:100%}.box-panel .box-btns .btn,.connect-panel .box-btns .btn,.connect-panel .box-foot .btn{text-align:left;overflow-wrap:anywhere;max-width:100%;height:auto;min-height:32px;padding:6px 11px;line-height:1.3}.box-btns a.btn{align-items:center;text-decoration:none;display:inline-flex}.box-go{border-top:1px solid var(--line);padding-top:8px}.box-sec{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:12px;display:flex}.box-sec h4,.box-sec>.stack>h4{margin:0}.box-sec>.stack{gap:6px}.box-sec p{margin:0}.box-cite .hud{text-transform:none;letter-spacing:.02em;font-size:11.5px}.box-count{color:var(--text-2)}.box-none{color:var(--text-2);margin:0;font-size:12.5px}.box-list{flex-direction:column;gap:8px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.box-list>li{flex-direction:column;gap:2px;min-width:0;display:flex}.box-list .box-list{border-left:1px solid var(--line-2);gap:4px;margin-top:4px;padding-left:10px}.box-list>li.box-cite{flex-flow:wrap;align-items:baseline;column-gap:8px}.box-repo{color:var(--text-2);font-size:11.5px}.box-gap{color:var(--amber-text)}.box-why{color:var(--text-2);font-size:12px;line-height:1.45}.box-links>li{border-bottom:1px solid var(--rule);padding-bottom:8px}.box-links>li:last-child{border-bottom:0;padding-bottom:0}.box-links summary{cursor:pointer;color:var(--accent-soft);margin-top:2px;font-size:12px}.box-cmd{align-items:flex-start;gap:6px;min-width:0;display:flex}.box-cmd code{overflow-wrap:anywhere;background:var(--inset);border-radius:6px;flex:auto;min-width:0;padding:6px 8px;font-size:11.5px}.connect-panel{border:1px solid var(--line-2);background:var(--panel-2);border-radius:8px;min-width:0;padding:12px}.box-pop-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.box-pop-head>.btn{flex:none}.h.box-pop-title{overflow-wrap:anywhere;flex:auto;min-width:0;padding-top:7px;font-size:14px;line-height:1.3}.box-pop-title:focus{outline:none}.box-pop-title:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.box-ends{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.box-ends .chip{white-space:normal;overflow-wrap:anywhere}.connect-panel .field{width:100%}.hud.box-sub{text-transform:none;letter-spacing:.02em;margin:0}.box-check{align-items:flex-start;gap:8px;font-size:12.5px;display:flex}.box-check input{margin-top:2px}.box-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:10px;display:flex}.box-calls{border:1px solid var(--line);border-radius:7px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.box-call{flex-direction:column;gap:6px;min-width:0;padding:8px 10px;display:flex}.box-call+.box-call{border-top:1px solid var(--line)}.box-call-head{cursor:pointer;align-items:flex-start;gap:8px;min-width:0;display:flex}.box-call-head input{flex:none;margin-top:3px}.box-call-what{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.box-path,.box-at{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.box-path code{white-space:nowrap;font-size:12px}.box-at{color:var(--text-2);font-size:11px}.box-call:hover .box-path,.box-call:hover .box-at,.box-call:focus-within .box-path,.box-call:focus-within .box-at,.box-call:hover .box-path code,.box-call:focus-within .box-path code{white-space:normal;overflow-wrap:anywhere}.box-method{font-family:var(--mono);letter-spacing:.04em;color:var(--accent-soft);margin-right:6px;font-size:10.5px;font-weight:600;display:inline-block}.box-now{flex:none}.panel.box-bar{border-left:3px solid var(--amber-line);flex-flow:wrap;justify-content:space-between;align-items:center;gap:8px 16px}.box-bar>p{overflow-wrap:anywhere;flex:320px;min-width:0}.box-bar>.stack{flex:0 auto;max-width:100%}.flows-grid{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=900px){.flows-grid{grid-template-columns:minmax(0,1fr)}}.flow-list{gap:4px;max-height:70vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.flow-list a{border:1px solid var(--line);color:var(--text);border-radius:6px;gap:2px;padding:8px 10px;text-decoration:none;display:grid}.flow-list a:hover,.flow-list a:focus-visible{border-color:var(--line-2);background:var(--picked-soft)}.flow-list a[aria-current=true]{border-color:var(--accent);background:var(--picked)}.flow-name{font-weight:600}.flow-trigger,.flow-counts{color:var(--text-2);font-size:12px}.seq-wrap{min-width:0}.seq{--col:minmax(200px, 1fr);padding-bottom:6px;overflow-x:auto}.seq-row{grid-template-columns:repeat(var(--lanes), var(--col));column-gap:0;display:grid;position:relative}.seq-steps{margin:0;padding:0;list-style:none}.seq-head{z-index:2;background:var(--ground);padding-bottom:6px;position:sticky;top:0}.seq-lane{border:1px solid var(--line-2);text-align:center;overflow-wrap:anywhere;border-radius:6px;gap:2px;margin:0 6px;padding:6px 8px;display:grid}.seq-lane small{color:var(--muted);font-size:11px}.seq-lane.self{border-color:var(--accent)}.seq-lane.caller,.seq-lane.gateway{border-color:var(--amber)}.seq-lane.component{border-color:var(--violet)}.seq-lane.store{border-color:var(--green)}.seq-lane.topic{border-color:var(--accent-soft);border-style:dashed}.seq-life{border-left:1px dashed var(--line-2);grid-row:1;justify-self:center;width:0}.seq-arrow{margin-top:22px;margin-left:calc(100% / (var(--span) * 2));margin-right:calc(100% / (var(--span) * 2));border-top:2px solid var(--accent-soft);z-index:0;grid-row:1;align-self:start;height:0;position:relative}.seq-arrow.back{border-top-style:dashed}.seq-arrow:after{content:"";border:6px solid #0000;position:absolute;top:-7px}.seq-arrow.right:after{border-left:9px solid var(--accent-soft);border-right-width:0;right:-2px}.seq-arrow.left:after{border-right:9px solid var(--accent-soft);border-left-width:0;left:-2px}.seq-arrow em{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-style:normal;font-family:var(--mono);color:var(--accent-soft);background:var(--ground);padding:0 4px;font-size:11px;position:absolute;bottom:4px;left:50%;overflow:hidden;transform:translate(-50%)}.seq-box{z-index:1;border:1px solid var(--line-2);background:var(--box-2);border-radius:6px;grid-row:1;gap:4px;min-width:0;margin:6px;padding:8px 10px;display:grid;position:relative}.seq-box.k-call-out,.seq-box.k-publish{border-color:var(--violet)}.seq-box.k-read,.seq-box.k-write,.seq-box.k-lookup{border-color:var(--green)}.seq-box.k-respond{border-color:var(--accent)}.seq-top{align-items:baseline;gap:8px;display:flex}.seq-n{font-family:var(--display);color:var(--accent);font-weight:700}.seq-kind{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:10px}.seq-what{margin:0;line-height:1.4}.seq-fields{color:var(--text-2);font-family:var(--mono);overflow-wrap:anywhere;margin:0;padding-left:16px;font-size:11px}.seq-cite{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:11px}.seq-cite code{font-family:var(--mono)}.seq-ok{color:var(--green);font-size:11px}.seq-unsure{color:var(--amber);font-size:11px}.seq-opens{color:var(--accent-soft);font-size:12px}.seq-unjoined{color:var(--amber);margin:0;font-size:12px}.seq-h{margin-top:16px}.seq-errors{gap:4px;margin:0;padding-left:18px;display:grid}.seq-errors code{color:var(--muted);font-family:var(--mono);margin-left:8px;font-size:11px}.seq-now .seq-box{outline:2px solid var(--accent);outline-offset:2px}.seq .seq-row{padding-left:calc(var(--frames,0) * 14px)}.seq-frame{top:0;bottom:0;left:calc(var(--depth) * 14px + 4px);border-left:3px solid var(--violet);width:0;position:absolute}.seq-frame.retry{border-left-style:double;border-left-width:4px}.seq-frame.first{top:10px}.seq-frame.last{bottom:10px}.seq-frame.first:before,.seq-frame.last:after{content:"";border-top:3px solid var(--violet);width:10px;position:absolute;left:-3px}.seq-frame.first:before{top:0}.seq-frame.last:after{bottom:0}.seq-frame-label{white-space:nowrap;letter-spacing:.04em;color:var(--violet);background:var(--ground);z-index:2;padding:0 4px;font-size:10px;position:absolute;top:-10px;left:10px}.seq-mark{letter-spacing:.06em;text-transform:uppercase;margin-left:auto;font-size:10px;font-weight:600}.seq-mark.m-added{color:var(--green)}.seq-mark.m-changed{color:var(--amber)}.seq-mark.m-removed{color:var(--text-2)}.seq-box.m-added{border:2px solid var(--green)}.seq-box.m-changed{border:2px solid var(--amber)}.seq-box.m-removed{border:1px dashed var(--muted);opacity:.8}.seq-box.m-removed .seq-what{text-decoration:line-through}.seq-was,.seq-why{color:var(--text-2);margin:0;font-size:12px}.seq-lane.new{border-style:dashed;border-width:2px}.seq-kind.d-new{color:var(--green)}.seq-kind.d-modify{color:var(--amber)}.seq-kind.d-remove{color:var(--text-2)}.seq-bar{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:6px;display:flex}.seq-wrap.viewer-full{overflow:auto}.history-filters{flex-wrap:wrap;align-items:flex-end;gap:12px}.history-session{border-top:1px solid var(--line-2);padding-top:10px}.history-h{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600}.history-turns{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.history-turn{min-width:0}.history-tags{margin:0 0 6px;font-size:12px}.history-said{min-width:0}.history-note{color:var(--muted);margin:0 0 6px;font-size:12px}@media (width<=720px){.history-turn .runs-pair{grid-template-columns:minmax(0,1fr)}}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-devanagari-600-normal-DhS7ScYx.woff2)format("woff2"),url(./rajdhani-devanagari-600-normal-BtY48IV_.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-ext-600-normal-C9ZjJQAt.woff2)format("woff2"),url(./rajdhani-latin-ext-600-normal-BleIgkPp.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(./rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-devanagari-700-normal-BQQOj9BB.woff2)format("woff2"),url(./rajdhani-devanagari-700-normal-DBRwWuxA.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-ext-700-normal-S6aYESQK.woff2)format("woff2"),url(./rajdhani-latin-ext-700-normal-BPaQ7tlD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(./rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(./ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(./ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(./ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(./jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(./jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(./jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(./jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(./jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(./jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent:#2ee6f6;--accent-soft:#7ff4ff;--accent-hover:#bffaff;--accent-pale:#bfeff7;--on-accent:#04131a;--glow:#2ee6f673;--glow-size:4px;--magenta:#ff4fa3;--magenta-text:#ff9bcb;--magenta-line:#ff4fa373;--danger-text:#ffd6ea;--danger-bg:#ff4fa324;--amber:#ffb547;--amber-text:#ffd18a;--amber-line:#ffb54766;--green:#3ddc97;--green-line:#3ddc9766;--green-line-soft:#3ddc9759;--violet:#8f7bff;--violet-text:#c9c2ff;--violet-line:#8f7bff73;--text:#e9f6fa;--text-2:#b7c6d3;--btn-text:#ddeff5;--nav-text:#9fb0bf;--muted:#8fa3b5;--muted-2:#8fa3b3;--faint:#5f7a88;--gone:#5b6b7a;--placeholder:#6f8395;--ground:#05070a;--haze:#2ee6f612;--grid:#7ff4ff06;--nav:#080b0feb;--bar:#0a0d12d9;--input:#121922;--panel:#181e28eb;--panel-2:#0d1117eb;--panel-dark:#07090c;--hero:#08181ef2;--hero-2:#060e13f2;--box:#0b1016;--box-2:#0b1118;--canvas:#070b10;--inset:#070b0f99;--backdrop:#020508a8;--skel:#121a23;--skel-2:#1a2633;--line:#7ff4ff1a;--line-2:#7ff4ff2e;--line-soft:#7ff4ff14;--line-input:#7ff4ff29;--line-hero:#7ff4ff38;--chip-line:#7ff4ff40;--chip-dim-line:#233040;--bracket:#7ff4ff8c;--rule:#18202a;--step-off:#3a4756;--track:#1a2330;--track-glow:#2ee6f6;--hover-soft:#7ff4ff0a;--hover:#7ff4ff0d;--wash:#2ee6f60a;--picked-soft:#2ee6f60d;--picked-faint:#2ee6f60f;--picked:#2ee6f614;--picked-list:#2ee6f61a;--picked-strong:#2ee6f61f;--picked-on:#2ee6f638;--flow-label:#5fd8e6;--flow-table:#3b8f99;--cov-verified:#2ee6f68c;--cov-doc:#ffb54773;--cov-unknown:#ffffff0d;--cov-line:#ffffff0f;--attribution-bg:#96969640;--attribution-text:#999;--canvas-dots:#777;--minimap-mask:#3c3c3c99;--minimap-node:#2b2b2b;--handle:#bebebe;--handle-line:#1e1e1e;--controls-hover:#3e3e3e;--controls-hover-text:#fff;--shadow:0 18px 40px #0000008c, inset 0 1px 0 #ffffff0a;--shadow-hero:0 0 40px #2ee6f614, 0 18px 40px #0009;--shadow-ask:0 0 16px #2ee6f673, inset 0 0 12px #2ee6f626;--shadow-palette:0 0 40px #2ee6f62e;--shadow-tour:0 0 32px #2ee6f638, 0 18px 40px #0009;--shadow-target:0 0 18px #2ee6f673;--shadow-danger:0 0 12px #ff4fa340;--font:"IBM Plex Sans", system-ui, sans-serif;--display:"Rajdhani", "IBM Plex Sans", sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}:root[data-theme=light],body.vscode-light,body.vscode-high-contrast-light{--accent:#00707a;--accent-soft:#005f68;--accent-hover:#004a52;--accent-pale:#005f68;--on-accent:#fff;--glow:transparent;--glow-size:0px;--magenta:#b0185f;--magenta-text:#a3155a;--magenta-line:#b0185f8c;--danger-text:#8f1150;--danger-bg:#b0185f14;--amber:#8a5300;--amber-text:#7a4a00;--amber-line:#8a53008c;--green:#08693f;--green-line:#08693f8c;--green-line-soft:#08693f80;--violet:#5a46d6;--violet-text:#4b37c4;--violet-line:#5a46d68c;--text:#17212b;--text-2:#3d4f60;--btn-text:#17212b;--nav-text:#3d4f60;--muted:#56687a;--muted-2:#56687a;--faint:#56687a;--gone:#5b6672;--placeholder:#56687a;--ground:#f4f6f8;--haze:transparent;--grid:transparent;--nav:#eef2f5;--bar:#fff;--input:#fff;--panel:#fff;--panel-2:#fff;--panel-dark:#f7f9fb;--hero:#f2f8f9;--hero-2:#f2f8f9;--box:#f7f9fb;--box-2:#fff;--canvas:#fafbfc;--inset:#f4f6f8;--backdrop:#17212b66;--skel:#e6ebef;--skel-2:#d3dce3;--line:#ccd5dd;--line-2:#7a8a99;--line-soft:#d8e0e7;--line-input:#7a8a99;--line-hero:#7fb4ba;--chip-line:#005f6880;--chip-dim-line:#a9b5c0;--bracket:#00707a;--rule:#e1e7ec;--step-off:#7a8a99;--track:#dbe3ea;--track-glow:transparent;--hover-soft:#17212b0a;--hover:#17212b0d;--wash:#00707a0d;--picked-soft:#00707a0f;--picked-faint:#00707a12;--picked:#00707a1a;--picked-list:#00707a1a;--picked-strong:#00707a1f;--picked-on:#00707a2e;--flow-label:#005f68;--flow-table:#3d7f88;--cov-verified:#00707a8c;--cov-doc:#8a530066;--cov-unknown:#17212b0f;--cov-line:#17212b40;--attribution-bg:#fff;--attribution-text:#56687a;--canvas-dots:#a9b5c0;--minimap-mask:#17212b1f;--minimap-node:#c9d3dc;--handle:#56687a;--handle-line:#fff;--controls-hover:#e6ebef;--controls-hover-text:#17212b;--shadow:0 1px 3px #17212b14;--shadow-hero:0 1px 3px #17212b14;--shadow-ask:none;--shadow-palette:0 8px 28px #17212b38;--shadow-tour:0 8px 28px #17212b38;--shadow-target:none;--shadow-danger:none}html:has(>body.vscode-light){--accent:#00707a;--accent-soft:#005f68;--accent-hover:#004a52;--accent-pale:#005f68;--on-accent:#fff;--glow:transparent;--glow-size:0px;--magenta:#b0185f;--magenta-text:#a3155a;--magenta-line:#b0185f8c;--danger-text:#8f1150;--danger-bg:#b0185f14;--amber:#8a5300;--amber-text:#7a4a00;--amber-line:#8a53008c;--green:#08693f;--green-line:#08693f8c;--green-line-soft:#08693f80;--violet:#5a46d6;--violet-text:#4b37c4;--violet-line:#5a46d68c;--text:#17212b;--text-2:#3d4f60;--btn-text:#17212b;--nav-text:#3d4f60;--muted:#56687a;--muted-2:#56687a;--faint:#56687a;--gone:#5b6672;--placeholder:#56687a;--ground:#f4f6f8;--haze:transparent;--grid:transparent;--nav:#eef2f5;--bar:#fff;--input:#fff;--panel:#fff;--panel-2:#fff;--panel-dark:#f7f9fb;--hero:#f2f8f9;--hero-2:#f2f8f9;--box:#f7f9fb;--box-2:#fff;--canvas:#fafbfc;--inset:#f4f6f8;--backdrop:#17212b66;--skel:#e6ebef;--skel-2:#d3dce3;--line:#ccd5dd;--line-2:#7a8a99;--line-soft:#d8e0e7;--line-input:#7a8a99;--line-hero:#7fb4ba;--chip-line:#005f6880;--chip-dim-line:#a9b5c0;--bracket:#00707a;--rule:#e1e7ec;--step-off:#7a8a99;--track:#dbe3ea;--track-glow:transparent;--hover-soft:#17212b0a;--hover:#17212b0d;--wash:#00707a0d;--picked-soft:#00707a0f;--picked-faint:#00707a12;--picked:#00707a1a;--picked-list:#00707a1a;--picked-strong:#00707a1f;--picked-on:#00707a2e;--flow-label:#005f68;--flow-table:#3d7f88;--cov-verified:#00707a8c;--cov-doc:#8a530066;--cov-unknown:#17212b0f;--cov-line:#17212b40;--attribution-bg:#fff;--attribution-text:#56687a;--canvas-dots:#a9b5c0;--minimap-mask:#17212b1f;--minimap-node:#c9d3dc;--handle:#56687a;--handle-line:#fff;--controls-hover:#e6ebef;--controls-hover-text:#17212b;--shadow:0 1px 3px #17212b14;--shadow-hero:0 1px 3px #17212b14;--shadow-ask:none;--shadow-palette:0 8px 28px #17212b38;--shadow-tour:0 8px 28px #17212b38;--shadow-target:none;--shadow-danger:none}html:has(>body.vscode-high-contrast-light){--accent:#00707a;--accent-soft:#005f68;--accent-hover:#004a52;--accent-pale:#005f68;--on-accent:#fff;--glow:transparent;--glow-size:0px;--magenta:#b0185f;--magenta-text:#a3155a;--magenta-line:#b0185f8c;--danger-text:#8f1150;--danger-bg:#b0185f14;--amber:#8a5300;--amber-text:#7a4a00;--amber-line:#8a53008c;--green:#08693f;--green-line:#08693f8c;--green-line-soft:#08693f80;--violet:#5a46d6;--violet-text:#4b37c4;--violet-line:#5a46d68c;--text:#17212b;--text-2:#3d4f60;--btn-text:#17212b;--nav-text:#3d4f60;--muted:#56687a;--muted-2:#56687a;--faint:#56687a;--gone:#5b6672;--placeholder:#56687a;--ground:#f4f6f8;--haze:transparent;--grid:transparent;--nav:#eef2f5;--bar:#fff;--input:#fff;--panel:#fff;--panel-2:#fff;--panel-dark:#f7f9fb;--hero:#f2f8f9;--hero-2:#f2f8f9;--box:#f7f9fb;--box-2:#fff;--canvas:#fafbfc;--inset:#f4f6f8;--backdrop:#17212b66;--skel:#e6ebef;--skel-2:#d3dce3;--line:#ccd5dd;--line-2:#7a8a99;--line-soft:#d8e0e7;--line-input:#7a8a99;--line-hero:#7fb4ba;--chip-line:#005f6880;--chip-dim-line:#a9b5c0;--bracket:#00707a;--rule:#e1e7ec;--step-off:#7a8a99;--track:#dbe3ea;--track-glow:transparent;--hover-soft:#17212b0a;--hover:#17212b0d;--wash:#00707a0d;--picked-soft:#00707a0f;--picked-faint:#00707a12;--picked:#00707a1a;--picked-list:#00707a1a;--picked-strong:#00707a1f;--picked-on:#00707a2e;--flow-label:#005f68;--flow-table:#3d7f88;--cov-verified:#00707a8c;--cov-doc:#8a530066;--cov-unknown:#17212b0f;--cov-line:#17212b40;--attribution-bg:#fff;--attribution-text:#56687a;--canvas-dots:#a9b5c0;--minimap-mask:#17212b1f;--minimap-node:#c9d3dc;--handle:#56687a;--handle-line:#fff;--controls-hover:#e6ebef;--controls-hover-text:#17212b;--shadow:0 1px 3px #17212b14;--shadow-hero:0 1px 3px #17212b14;--shadow-ask:none;--shadow-palette:0 8px 28px #17212b38;--shadow-tour:0 8px 28px #17212b38;--shadow-target:none;--shadow-danger:none}body.vscode-high-contrast-light{--text:#000;--btn-text:#000;--line:#0f4a85;--line-2:#0f4a85;--line-soft:#0f4a85;--line-input:#0f4a85;--line-hero:#0f4a85;--chip-line:#0f4a85;--chip-dim-line:#0f4a85;--rule:#0f4a85;--step-off:#0f4a85}html:has(>body.vscode-high-contrast-light){--text:#000;--btn-text:#000;--line:#0f4a85;--line-2:#0f4a85;--line-soft:#0f4a85;--line-input:#0f4a85;--line-hero:#0f4a85;--chip-line:#0f4a85;--chip-dim-line:#0f4a85;--rule:#0f4a85;--step-off:#0f4a85}body.vscode-high-contrast:not(.vscode-high-contrast-light){--line:#6fc3df;--line-2:#6fc3df;--line-soft:#6fc3df;--line-input:#6fc3df;--line-hero:#6fc3df;--chip-line:#6fc3df;--chip-dim-line:#6fc3df;--rule:#6fc3df;--step-off:#8fa3b5;--bracket:#6fc3df}html:has(>body.vscode-high-contrast:not(.vscode-high-contrast-light)){--line:#6fc3df;--line-2:#6fc3df;--line-soft:#6fc3df;--line-input:#6fc3df;--line-hero:#6fc3df;--chip-line:#6fc3df;--chip-dim-line:#6fc3df;--rule:#6fc3df;--step-off:#8fa3b5;--bracket:#6fc3df}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--text);font-family:var(--font);margin:0;font-size:13px}body{background:radial-gradient(1200px 600px at 55% 30%, var(--haze), transparent 60%), linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 100% 32px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 32px 100%, var(--ground);min-height:100vh}a{color:var(--accent-soft)}button.link{font:inherit;color:var(--accent-soft);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}button.link:hover,a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--accent);color:var(--on-accent);z-index:10;border-radius:6px;padding:8px 12px;position:absolute;top:-40px;left:8px}.skip:focus{top:8px}.shell{flex-wrap:wrap;min-height:100vh;display:flex}.nav{background:var(--nav);border-right:1px solid var(--line-soft);flex-direction:column;flex:206px;gap:2px;max-width:226px;padding:16px 10px;display:flex}.nav a{color:var(--nav-text);border-radius:8px;align-items:center;gap:11px;padding:8px 12px;font-size:13px;text-decoration:none;display:flex}.nav a:hover{background:var(--hover);color:var(--text)}.nav a[aria-current=page],.nav a[aria-current=true]{background:var(--picked);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.nav .group{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:12px 12px 4px;font-size:10px}.section-tabs{border-bottom:1px solid var(--line-soft);margin:0 0 14px}.section-tabs .crumbs{color:var(--muted);margin-bottom:6px;font-size:10px}.section-tabs .tabs{flex-wrap:wrap;align-items:center;gap:2px 4px;padding-bottom:6px;display:flex}.section-tabs .tabs a{color:var(--text-2);border-radius:6px;padding:6px 10px;font-size:12.5px;text-decoration:none}.section-tabs .tabs a:hover{background:var(--hover);color:var(--text)}.section-tabs .tabs a[aria-current=page]{background:var(--picked);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.section-tabs .tab-group{border-left:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:2px;margin-left:4px;padding-left:8px;display:inline-flex}.section-tabs .tab-group-name{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-right:4px;font-size:9.5px}.nav .ask{border:1px solid var(--accent);background:var(--picked-strong);color:var(--text);box-shadow:var(--shadow-ask);margin-top:12px}.nav .more{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:8px}.nav .more-toggle{width:100%;color:var(--nav-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;display:flex}.nav .more-toggle:hover{background:var(--hover);color:var(--text)}.nav .more-caret{font-size:10px;transition:transform .15s;display:inline-block}.nav .more-toggle[aria-expanded=true] .more-caret{transform:rotate(90deg)}.nav .more-count{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10px}.nav .more-pages[hidden]{display:none}.nav .more-pages a{gap:6px;padding:4px 12px 4px 22px;font-size:12px}.nav .more-group,.nav .more-phase{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 12px 2px;font-size:9.5px;display:block}.nav .more-phase{letter-spacing:.08em;padding:6px 12px 0 22px}.nav .menu-hint{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;margin-top:10px;padding:6px 12px;font-size:10px}.nav .menu-hint:hover{color:var(--text);background:var(--hover)}.brand{font-family:var(--display);letter-spacing:.22em;color:var(--accent);text-shadow:0 0 10px var(--glow);align-items:center;gap:10px;padding:4px 12px 16px;font-size:18px;font-weight:700;display:flex}.main{flex-direction:column;flex:999 400px;gap:14px;min-width:0;padding:14px 18px 22px;display:flex}@media (width<=1000px){.nav{flex-basis:164px;max-width:176px;padding:12px 6px}.nav a{gap:8px;padding:7px 8px;font-size:12.5px}.nav .more-toggle,.nav .menu-hint{padding-left:8px;padding-right:8px}.nav .more-pages a{padding:4px 8px 4px 14px}.nav .more-group{padding-left:8px}.nav .more-phase{padding-left:14px}.main{padding:12px 12px 20px}}@media (width<=600px){.nav{max-width:none}}.topbar{border:1px solid var(--line-soft);background:var(--bar);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.ask-form{background:var(--input);border:1px solid var(--line-input);border-radius:8px;flex:280px;align-items:center;gap:8px;height:36px;padding:0 6px 0 12px;display:flex}.ask-form input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;flex:1;font-size:12.5px}.ask-form input::placeholder{color:var(--placeholder)}.ask-form input:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px;border-radius:4px}.ask-form:focus-within{border-color:var(--accent-soft)}.bento{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}@media (width<=1000px){.bento>*{grid-area:auto/1/auto/-1!important}}.column{flex-direction:column;gap:12px;min-width:0;display:flex}.panel{background:linear-gradient(180deg, var(--panel), var(--panel-2));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;min-width:0;padding:14px;position:relative}.panel:before{content:"";border-left:1.5px solid var(--bracket);border-top:1.5px solid var(--bracket);pointer-events:none;border-radius:10px 0 0;width:14px;height:14px;position:absolute;top:-1px;left:-1px}.panel.dark{background:var(--panel-dark)}.panel.hero{background:linear-gradient(180deg, var(--hero), var(--hero-2));border-color:var(--line-hero);box-shadow:var(--shadow-hero)}.hud{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px}.h{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin:0;font-size:15px;font-weight:700}.n{font-family:var(--display);font-weight:700}.mono{font-family:var(--mono)}.hud .mono,.h .mono,.chip .mono,.cite{text-transform:none;letter-spacing:.02em}code.mono{white-space:pre-wrap}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.stack>.btn{align-self:flex-start}.stack{flex-direction:column;gap:8px;display:flex}.muted{color:var(--muted)}.chip{font-family:var(--mono);border:1px solid var(--chip-line);color:var(--accent-soft);white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:11px}.chip.blocking{color:var(--magenta-text);border-color:var(--magenta-line)}.chip.warn{color:var(--amber);border-color:var(--amber-line)}.chip.done{color:var(--green);border-color:var(--green-line)}.chip.ai{color:var(--violet-text);border-color:var(--violet-line)}.chip.dim{color:var(--muted);border-color:var(--chip-dim-line)}.btn{border:1px solid var(--line-2);background:var(--hover-soft);height:32px;color:var(--btn-text);font:inherit;cursor:pointer;border-radius:7px;padding:0 11px;font-size:12px}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 0 12px var(--glow);border:0;font-weight:600}.btn.primary .hud{color:inherit}.btn:disabled{opacity:.55;cursor:not-allowed}.list-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.list-row:last-child{border-bottom:0}@media (width<=640px){.row,.list-row{flex-wrap:wrap}.chip{white-space:normal;overflow-wrap:anywhere}.mono,code,.run-table th,.run-table td{overflow-wrap:anywhere}}.track{background:var(--track);border-radius:3px;height:6px}.track>span{background:var(--accent);height:6px;box-shadow:0 0 10px var(--track-glow);border-radius:3px;display:block}.big{font-family:var(--display);color:var(--accent);text-shadow:0 0 18px var(--glow);font-size:46px;font-weight:700;line-height:1}.state{text-align:center;color:var(--text-2);padding:18px}.state.error{color:var(--magenta-text)}.skeleton{background:linear-gradient(90deg, var(--skel), var(--skel-2), var(--skel));background-size:200% 100%;border-radius:4px;height:12px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.palette-backdrop{background:var(--backdrop);z-index:50;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{border-color:var(--accent);width:min(640px,92vw);box-shadow:var(--shadow-palette)}.palette input{background:var(--box);width:100%;height:44px;color:var(--text);border:1px solid var(--accent);font:inherit;border-radius:10px;padding:0 14px;font-size:15px}.palette ul{max-height:50vh;margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.palette li{cursor:pointer;border-radius:8px;justify-content:space-between;gap:12px;padding:8px 10px;font-size:13px;display:flex}.palette li[aria-selected=true]{background:var(--picked-list);box-shadow:inset 2px 0 0 var(--accent)}.btn.danger{border-color:var(--magenta);color:var(--danger-text);background:var(--danger-bg);box-shadow:var(--shadow-danger)}.tour{z-index:40;border-color:var(--accent);width:min(380px,100vw - 32px);box-shadow:var(--shadow-tour);position:fixed;bottom:24px;right:24px}.tour-target{outline:2px solid var(--accent);outline-offset:3px;box-shadow:var(--shadow-target);border-radius:8px}.field{background:var(--box);height:32px;color:var(--text);border:1px solid var(--line-2);font:inherit;border-radius:7px;min-width:0;padding:0 8px;font-size:13px}.field::placeholder{color:var(--muted)}.field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}a.btn{align-items:center;text-decoration:none;display:inline-flex}.arch-canvas{border:1px solid var(--line);background:var(--canvas);border-radius:8px;position:relative;overflow:hidden}.arch-canvas .react-flow{--xy-background-color:var(--canvas);--xy-node-border-radius:8px;--xy-minimap-background-color:var(--box);--xy-controls-button-background-color:var(--box);--xy-controls-button-color:var(--text);--xy-controls-button-border-color:var(--line-2);--xy-edge-stroke:var(--text-2);--xy-attribution-background-color:var(--attribution-bg);--xy-background-pattern-color:var(--canvas-dots);--xy-minimap-mask-background-color:var(--minimap-mask);--xy-minimap-node-background-color:var(--minimap-node);--xy-handle-background-color:var(--handle);--xy-handle-border-color:var(--handle-line);--xy-controls-button-background-color-hover:var(--controls-hover);--xy-controls-button-color-hover:var(--controls-hover-text)}.arch-canvas .react-flow__attribution a{color:var(--attribution-text)}.arch-box{border:1px solid var(--line-2);background:var(--box);width:100%;height:100%;color:var(--text);border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;font-size:12px;display:flex}.arch-box.group{background:var(--wash);border-color:var(--accent)}.arch-box.outside{color:var(--text-2);border-style:dashed}.arch-box.gappy{border-color:var(--amber)}.arch-box.picked{outline:2px solid var(--accent-soft);outline-offset:2px}.arch-box.shape-rounded{border-radius:16px}.arch-box.shape-circle{text-align:center;border-radius:50%}.arch-box.shape-cylinder{border-top-width:3px;border-radius:50%/12px}.arch-box.shape-hexagon{clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);padding-left:16px;padding-right:16px}.arch-box.shape-diamond{border-style:double;border-width:4px;border-radius:2px}.arch-box.shape-parallelogram{clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);padding-left:14px;padding-right:14px}.type-legend .link.on{font-weight:600;text-decoration:underline}.arch-box-head{justify-content:space-between;gap:6px;display:flex}.arch-box-label{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.arch-box-foot{gap:8px;display:flex}.arch-gap{color:var(--amber);align-items:center;gap:4px;display:inline-flex}.arch-link.async{stroke-dasharray:6 4}.arch-link.gappy{stroke:var(--amber)}.arch-link-label{pointer-events:all;background:var(--box);border:1px solid var(--line-2);color:var(--text-2);font-family:var(--mono);border-radius:4px;padding:1px 6px;font-size:11px;position:absolute}.arch-link-label.gappy{color:var(--amber);border-color:var(--amber)}.arch-box.m-new,.arch-link-label.m-new{border:2px solid var(--green)}.arch-box.m-modify,.arch-link-label.m-modify{border:2px solid var(--amber)}.arch-box.m-retire,.arch-link-label.m-retire{border:1px dashed var(--muted)}.arch-box.m-retire .arch-box-label,.arch-link-label.m-retire{text-decoration:line-through}.arch-link.m-new{stroke:var(--green);stroke-width:2px}.arch-link.m-modify{stroke:var(--amber);stroke-width:2px}.arch-link.m-retire{stroke:var(--muted);stroke-dasharray:2 3}.arch-shared{color:var(--amber);margin:0 0 8px}.arch-notice{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.arch-notice p{margin:0}.viewer{flex-direction:column;gap:8px;width:100%;min-width:0;display:flex;position:relative}.viewer:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-full{z-index:1000;background:var(--canvas);box-sizing:border-box;padding:12px;position:fixed;inset:0}.viewer-full .viewer-stage{flex:auto}.viewer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.viewer-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.viewer-btn{justify-content:center;align-items:center;min-width:32px;min-height:32px;display:inline-flex}.viewer-btn:focus-visible,.viewer-aside-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-zoom{text-align:center;min-width:80px}.viewer-find .field{width:min(280px,60vw);height:32px}.viewer-stage{width:100%;min-height:200px;position:relative}.viewer-stage>.arch-canvas,.viewer-stage>.flow-canvas{width:100%;height:100%}.viewer-aside-toggle{z-index:6;position:absolute;top:8px;right:8px}.viewer-aside{z-index:5;border:1px solid var(--line-2);background:var(--box);border-radius:8px;width:min(380px,100% - 16px);padding:12px;position:absolute;top:48px;bottom:8px;right:8px;overflow:auto}.viewer-aside[hidden]{display:none}.viewer-keys{margin:0}.arch-canvas .react-flow__node.dim,.arch-canvas .react-flow__edge.dim{opacity:.18}.arch-box-label{font-size:calc(12px * var(--label-scale,1))}.arch-canvas.far .arch-link-label{display:none}.arch-box.topic{border-style:dashed;border-color:var(--accent);border-radius:24px}.arch-box.topic.gappy{border-color:var(--amber)}.arch-box-owner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-canvas{border:1px solid var(--line-2);background:var(--canvas);touch-action:none;cursor:grab;border-radius:8px;position:relative;overflow:hidden}.flow-canvas.panning{cursor:grabbing}.flow-minimap{border:1px solid var(--line-2);background:var(--box);border-radius:6px;position:absolute;bottom:8px;right:8px}.viewer-full .viewer-stage{min-height:0}.q-group{flex-direction:column;gap:4px;display:flex}.q-group-head{z-index:1;background:var(--panel-2);border-bottom:1px solid var(--chip-line);font-family:var(--mono);letter-spacing:.04em;color:var(--text-2);justify-content:space-between;align-items:center;margin:8px 0 2px;padding:6px 8px;font-size:11px;font-weight:600;display:flex;position:sticky;top:0}.q-count{color:var(--muted);font-weight:400}.q-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}a.q-item{color:var(--text-2);border:1px solid #0000;border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;text-decoration:none;display:flex}a.q-item:hover{background:var(--haze);color:var(--text)}a.q-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}a.q-item[aria-current=true]{background:var(--picked);color:var(--text);border-color:var(--chip-line);box-shadow:inset 3px 0 0 var(--accent)}.q-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.q-meta{color:var(--faint);align-items:center;gap:8px;font-size:11px;display:flex}.q-meta .chip{padding:0 6px;font-size:10px}.q-about{color:var(--accent-soft);font-size:11.5px}.q-stats{flex-wrap:wrap;align-items:stretch;gap:8px;margin:0 0 12px;display:flex}.q-stat{border:1px solid var(--chip-line);background:var(--panel-2);min-width:96px;color:var(--text-2);font:inherit;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;display:flex}.q-stat:not(:disabled){cursor:pointer}.q-stat:not(:disabled):hover{background:var(--haze)}.q-stat:disabled{opacity:1}.q-stat-count{background:0 0;border-color:#0000}.q-stat[aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--accent);background:var(--picked)}.q-stat:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.q-stat-n{font-family:var(--mono);color:var(--text);font-size:22px;line-height:1.1}.q-stat.warn .q-stat-n{color:var(--amber)}.q-stat.done .q-stat-n{color:var(--green)}.q-stat-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px}.q-progress{flex-direction:column;flex:160px;justify-content:center;gap:6px;font-size:12px;display:flex}.q-progress-bar{background:var(--panel-dark);border:1px solid var(--chip-line);border-radius:3px;height:6px;overflow:hidden}.q-progress-bar span{background:var(--green);height:100%;display:block}.q-row{align-items:flex-start;gap:6px;display:flex}.q-row>a.q-item{flex:1;min-width:0}.q-check{accent-color:var(--accent);margin-top:11px}.q-pick{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.q-pick input{accent-color:var(--accent)}.q-bulk-list{color:var(--text-2);max-height:220px;margin:0;padding-left:18px;font-size:12.5px;overflow:auto}.q-bulk-list .mono{color:var(--faint);font-size:11px}.q-check-gap{flex:none;width:13px}.loading-bar{z-index:1000;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.loading-bar.inline{background:var(--chip-line);border-radius:2px;height:3px;margin-bottom:4px;position:relative}.loading-bar-run{background:var(--accent);border-radius:2px;width:40%;height:100%}@media (prefers-reduced-motion:no-preference){.loading-bar-run{animation:1.1s ease-in-out infinite loading-run}}@media (prefers-reduced-motion:reduce){.loading-bar-run{opacity:.6;width:100%}}@keyframes loading-run{0%{transform:translate(-100%)}to{transform:translate(250%)}}.run-dialog-back{z-index:900;background:var(--backdrop);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.run-dialog{border:1px solid var(--line-2);background:var(--panel);width:100%;max-width:520px;color:var(--text);padding:18px 20px}.run-strip{border:1px solid var(--line-2);background:var(--panel-2);border-radius:6px;margin:8px 0 12px;padding:8px 12px}.run-strip.ended{border-color:var(--green-line)}.run-strip.failed{border-color:var(--magenta-line)}.run-strip-bar{background:var(--line);border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.run-strip-bar>span{background:var(--accent);height:100%;display:block}.run-console{z-index:800;border-top:1px solid var(--line-2);background:var(--panel-dark);color:var(--text);padding:6px 12px;position:fixed;bottom:0;left:0;right:0}.run-console-body{flex-direction:column;max-height:38vh;display:flex}.run-console-tabs{gap:4px;margin-top:6px;display:flex;overflow-x:auto}.run-console-tab{border:1px solid var(--line-2);color:var(--text-2);white-space:nowrap;cursor:pointer;background:0 0;border-radius:4px 4px 0 0;padding:4px 8px;font-size:12px}.run-console-tab[aria-selected=true]{color:var(--text);border-color:var(--accent)}.run-console-tab.failed{border-color:var(--magenta-line)}.run-console-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.run-console-log{white-space:pre-wrap;word-break:break-word;background:var(--input);border:1px solid var(--line);max-height:26vh;margin:0;padding:6px 8px;font-size:12px;line-height:1.45;overflow:auto}.activity{grid-template-columns:minmax(200px,300px) 1fr;gap:10px;min-height:0;margin-top:6px;display:grid}.activity-list{flex-direction:column;gap:2px;max-height:32vh;display:flex;overflow-y:auto}.activity-item{text-align:left;border:1px solid #0000;border-left:3px solid var(--line-2);color:var(--text);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 8px;font-size:12px;display:flex}.activity-item[aria-selected=true]{border-color:var(--accent);background:var(--panel-2)}.activity-item.running{border-left-color:var(--accent)}.activity-item.failed{border-left-color:var(--magenta-line)}.activity-item.done{border-left-color:var(--green-line)}.activity-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.activity-kind{color:var(--text-2);font-size:11px}.activity-title{word-break:break-word;font-weight:600}.activity-meta{color:var(--text-2)}.activity-panel{min-width:0}@media (width<=720px){.activity{grid-template-columns:1fr}.activity-list{max-height:14vh}}.shell:has(.run-console) .main{padding-bottom:64px}.shell:has(.run-console.open) .main{padding-bottom:42vh}html:has(.run-console){scroll-padding-bottom:64px}html:has(.run-console.open){scroll-padding-bottom:42vh}.react-flow__edge-path.arch-link.word,.arch-link.word{stroke-dasharray:6 4}.react-flow__edge-path.arch-link.ai,.arch-link.ai{stroke:var(--violet-text);stroke-width:2.5px;stroke-dasharray:1 5;stroke-linecap:round}.arch-link-label.ai{color:var(--violet-text);border-color:var(--violet-line)}.react-flow__edge-path.arch-link.dep,.arch-link.dep{stroke-dasharray:8 3 2 3}.arch-link-label.dep{font-style:italic}.react-flow__edge-path.arch-link.picked,.arch-link.picked{stroke-width:3.5px}.arch-link-label.picked{outline:2px solid var(--text-2);outline-offset:1px}.ai-sample{color:var(--violet-text)}.canvas-tools{border:1px solid var(--line);border-radius:6px;margin:6px 0;padding:6px 10px}.canvas-tools-body{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:8px;display:grid}.canvas-tools fieldset{border:0;margin:0;padding:0}.arch-box-badge{margin-top:2px}.arch-box.heat-1{box-shadow:0 0 0 2px var(--amber-line)}.arch-box.heat-2{box-shadow:0 0 0 3px var(--amber)}.arch-box.heat-3{box-shadow:0 0 0 3px var(--magenta)}
|