From 87094e00b08dd4b5959171859865da58a116048c Mon Sep 17 00:00:00 2001 From: CD Date: Sat, 7 Mar 2026 23:23:16 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20subscribeToStream=20on=20new=20cascade?= =?UTF-8?q?=20=E2=80=94=20real-time=20StreamCascadeReactiveUpdates=20subsc?= =?UTF-8?q?ription?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extension/gravity-bridge-0.2.0.vsix | Bin 32931 -> 32205 bytes extension/out/extension.js | 146 ++++++++++++---------------- extension/out/extension.js.map | 2 +- extension/src/extension.ts | 145 ++++++++++++--------------- 4 files changed, 124 insertions(+), 169 deletions(-) diff --git a/extension/gravity-bridge-0.2.0.vsix b/extension/gravity-bridge-0.2.0.vsix index e69efe33198ff765a29049ff659798793a81e07f..8d8a2a5648a2d31e6f06e69ffa1e0b761303beda 100644 GIT binary patch delta 29609 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�)S2niFdHtiw|}-5goYwcjMzY!5co(7 z=E5!M8CNW5+<&3a?(g}f1NahqqH&aZ-mcSAs9#PMguOiSaLLHm9l-VSkt_XXwugCR zhJz;-;EDD7vLDrH;_;8%6dj?(Tl_AlCfS)ukIU{SrnEyRC1h^!umgCA6tWc|LE<>b zmI-S+GiZE{z+DZ)IJlqwUz9?c;iU)!FFCfmsGj|YeSa==5=}lI%nku&UUHbrLn%o} z_7gJ_+c+@$9czPMA`S@%Zvy-wdkY!DM@(p+b%=LOE#4S_8>Z#4?cB1qC1K$2AMj@c z=XWwrEZfK#eI|pAz@;%Yzy&Zy?Wh4rEB4CVu&Em>;qz>o!Kno}wfO0bYcf(|B$d-N z{x~H}aerYb3DM~LTvW!a24%Fi31Z*%%Bqm;bYNbqxXxl0+Z52YY+7u2t`p2o2e8vI zX3}gU+6~%Jfqg&4Rghh{uD7%kFNvn;v7ym@`(IT+gTX89gFNz<&CkwC3KNV~PFE= zn14wFyZLbN*aAEb0(nmt$ighe9qAa?k_E2K&jqqZ^gAem#Azn~@?Kr|%safSs?L0; zTPGQ<{5=ecKrwE3$@g8G^^*noWX0B;^>CgSLl>Et%|F7o6EOdj-;LRK>=5!xdUEj` zP#}2XyX~!OUx_oQ@P*Oz6WV1GmejhO>VMe;+@`SIgmWh$=uI}ej)mE^S2^4iQzY0c z9rJ{FoZz=tLFVG~KNxWY*%=HF%jg#M;*5w40l7g+z=H)g3idmGeO?;+*!{C7fkZUX z*2iBx==k+rCp~nh9hehtM<3+1Wc~36Pv{bU z+T_w}n>P~nK`D6VT_t&L$ch*1gLY!9C*NL4F--dP!nn{2s(ddTzal&`?{YH4Vg0i^ z=iaNBfG`HL+oSul+!xZmlW>UhqtY)3)d!tV)bL|mN*A&J@(&rCe`En3*@)mm2#;B; z635qU!bo|gR36HMcp*j-;1kxz)kzwp?GUG$j#-hvrSP0k5S1+LDt}g1XAoRf-aJ9b z6m-RQ^pW&s$vaJSY&q$J5$%&NPram}@(q~bn zIcf8h=(_FcLjt6j$6Xk;ktUskdiQ9LoSFxj>uFLHpRCYF1VU_EC*rsir6kEGgn0D% zlo2Iu$kLDxuFg&s1vkqGPvmVhd4}i^A*T`h131b-{OWml4u5A`I`mLe`mS8aNea*; z|GOGkz~s6gysn!L+}`uSjse&S(Ct=iLeX_`OuGpjLIhU2M}FlwPqOb$JHir^mqaEB zPa?^)@5QM7V{$j_pu2(3O!$de5}H)n38r$7kGq_C&bGIrb;@UIQT;xnE1S95{7Fn_ zC4~vG5j{8|@_&$G$33cZRl1@mE=jR(?7g)4%;f7P!Ha4&X`fWbbzkQbm-AZK!$Ir}t6q?G znm*@f7TKDOY&AW!9nxAfTE+a%=v?KgX)j`oCZ;we%zt8(CMn6}xaINHF}Qs_yeje! zCTJjrD3t$jVWmD529@T?7T=LGy_hGtq57?f{_mRc?`k@CGE9;C2}OIkL1KPaJ@UdK z)Y~MS^{v`S2n_r;R}itkC5-e}c^LnxkgI(0u> z&R3{#Tz^kV$4y}eTNTXaI3?(3Mg_e-G--oUm|I(&&={Iw1ju!HX9UB_k- zND~ffQass-b#5gL1ebQq?QIuA0X-uMDqo?UILheTUOS_=m2CNBSqQ)tH<}+|Ufm7Q zW)`ggALB{_&a02gLJ{OwMuN7x z!2=8Mz!ninipdgG!dr>I(hdvgrz}HRP=%mZ{1<~9(-7CBUZkVMOq!E5It(>Mtz>@Y zKK^QJGe5dKPF>09FJtmD3R|S>Rl(o;B~yiLYy5iK#9Ic$RQUa7w?sww(j*2|_6J1X1;8p*~awZOLNpf0$TU??vB zy%NJ*^oM$tsOY`ZgHr3CC3ah>7itid_(zYLe{*bBW+tl}jcJTrMUWt_wB+84YgtK(0{}RJ8c|;OnajOdY^9sMwQy&1)J` z1DnHZDwdv_k}IaWl;5(BL?+X&?yfZq|Ke50X-M?^_TgI#hzU!9|E-GdK7Xa}7MH`fs2EfxH%beHS|Ti#94p=vSCd zqenLTd9}LlLSK~Si)li*(5X2b=)VQR{b9WS zRqTM~N*(R(~r?@C|ISu%Z}14_h=FD%6$y*%~X9#aaYF+nt9wjf5=u#g z@HzJC*f#Ul;()>mupDJFpOp6j2)=6va4ozXxA|Uvx*4F&GlGL()BU+nnS;h(QcZ!V zD^?|-Jtw@Tt=TLcebqM0%NooFJsezHfNL9zNpMGQeY;T;0lDCXcZNhL9HwPvM?0^M zGh{nN&U=a|i^U5Met+=Q_8>833Y43rGt*}a@Y$A#TDbIB)ZZxR`}dX9qaSTMkLK*) zp#^woW6gw&D4-_W9V=ZT+}n^()VVZIaGFK`A;ka$sG7XwC)Jq0g41b%i@V_Y^V9s! z79+MUE%>BcTJD7ON+=|>tlUZ7PTzjBw|xTdE+xmrVm?hrvVW$?>Vi58JvxvGgIc@1 zBQ+-}w8Z$7atR3rlGwuSL7s|n>B?f^MvCKTk!8(uLkE4$15_SXx7?EEx#eCbvo~lR zBF>@BDCB88rcp<2D+!m1^C8ARN<~~!{Bu3M57Q4y!r0779;*q9DzK%63ko6R?DwW* zL6)hO;a^Oamw&_m0*$rb!rGZ0Pl|56@fw}&rjB@Q&=Dk>K1DJ zoQVl;-AR$Fm^(^E<@`foEnR@dk&3t84L9FG`H()<$RKZ~T8Y6gOj_SPX z?uIHb#Yr!f1Lapg({Fd(QgTC*6={DJAU?aqD96ISHR*8GiqtbA!CTFA~4U8?Yyx|DM}*s%aR zm>jiRxhrWn?Sj%6L)rKx)lQ`<09D?WkMu8-BQf?!Akg~5Ey^^2OYW9&b}$E)YUZQ} zTTObhmO&PU0*$iPErc-^MT`ZO$E3f=eqmN>8c1SM+w;i7K4*#7k0AN?n~y zIpTM=wc$o77}DE&2+8CtOyFzZq@m!@dkJhg+x;! zN`cvG)xL?c!41;iuVjW8AuGQ!<5Uv_6Ab$N{jnCSErm-GT2?|oA;)_cVoq@)n`FmT z#eci9MpsCU6{@r3+E5c+8!Z+K6il8s&82%#ld^>7>TDYw{{5@P^QXSt2%rS36#jC# z)2_ANnC7LeH_DT;z#^@9w(5#waFPbbtTgxCwg0Rm&mOU#08q=j5SHnTMfCbRYUNp! z%&CiY*q}|_Wl-Ku*e-C~y?AkVcPYi)o#O897To;-ic{R(-6`(w?gfezhr|EOob$f> zB{RunGLsLx$?kRk_M-jIC88vev4N(Suz2L3t)iQ309hsjUWSZ5tf5Xsx}y+2xkG0w zlZXy2e#neZ{v;MioB5hJTi4A?m`#lA@?2@8Kpap}X_ZG2B-phKic!W|VBW*P@z#=3 zy%wkxJ}KC~Pdc~SsoFK*s9(n~SHMg@pQQD|5J~@NpEE|$5Z012>^ZJyLRCXutWcsL z58d1YSiogd{r%h>@l|;1$NgV|Z4F zXIw}jXU+UBa31BI&^n02<1C~c^+P#`=E}{wb)J0re%J}rtu})Wk&Oe+SIw5N`7x|upkvT6ll@Zy0`)_|qRyZ5q z&9Tu*mdBB85sEw>;3Yu|7ey1VMgI^(f__;{NpLW`{!TR)B~5(?p+vqBD5LCvEts#> z$%De-pb{D49QZ2mvQedCXg&-u@mQ|pkBVVX0pSU_pp;lUjZUnQKd5zu@J~0*^d2gB z4GEqKUpr(SoX2S!hOp+v8m_)VG)`!IH?F#Cldx+f*wvWdqStCT&B=*UP%BHhHuRqR z&Tg-&jtLj%%P7sU#ZG9oEC)|RhBYT0p1?c{uOj7sbgpjNoDT_qMCS$Q*YwRRJ?87N zzh^I-h-W(UGWX0oi~QN88?*6OR{fVjKSe~r=@?tbWmNlcSG^H{rg4HL(<2ulMlu+$YQ&(yzPaE`v25hGIkz`~E_GJQ6DIuP zRVuNcs`q3+Vvl}2BM$5eirYEi>X>ERg?P~Z@R{@e!FJg#qwUh_C$P{X$LuK;Wynnk{( zvY@{(pOY1jqU!@;nx}tLY9Qe{?{DZ=+s&B!$?|~QVfGC0@0s&7+LxNmsm(Rz$xjR8 zo({|r?DG27@Yj>70K)05=YTh3L#bB1#ezSL^Z0so-&@pu57MT^0J0ZBt6aJT2S@($S;P`V^g%Rgchz1sg_VO7z)^HH(wujdP92&<5*|t<{S*8S+kz{Vu|#Sv~S3z@NQ$?h>(4|`+8o^-BNMB5xELX$~-YY zX#F#5hqcTIG&AnEmzO)$qbrt6DY`V7jEJ|2)$!}l_(^`v7e}H>3sMjv_lOj>?rvOD zbe68TXhT76lPb4%h-^&Re-UFXube~gS`>}=_z;q0k90TE;t=7Dq*!uR;;x)%lRJV# zITP~}-K5upFUHt-6BQtSKYnT2M)Fv{+F`5NFQ2~-hLN0?ZpeK7@a+^mzHu$KOIe_sZOmts z(?FhbIYWe8sWD34#PV>_4zoAZBYcgP zVAf1HjJ4#oyw4|4NzpbyG4YpcpA@`0Ku2b=8xXR8z4`$EZ#~TT`(0TFJ{VX{5*Szm zrYt=qgncVWSb+(+av=C!x8ni%PCSP6xp2T3E@b*29d!5q=pb?^id>$J)6Hy0cW=RY z*{D2E7AA$ApHNaazbF)@+_QqO^lz?F;I`ZbXydb^by{kSxV^{u7=*#{cM5#Uag-+^Y zL`NpBXIv_b-Jo#?@&Kmp@Y7?B`_KxK%v>r?_Nidk}Dg}VccI{0| zEHVtGF&LlBa-%Dnp05< zw#^fAsA5CAdWykid{jI!X>OwM2|6UfoFkf3lpqSDIwC3v9pC#DO@qiV@*IR#1YsCS zZ5-;L;l%_YeC`XfF1fBtvqM0$;5*WS?5mFdq?^0~r-2`(IYgY(F9thN=G!ZK!Q`GD zc#3_VFqF48Qdw&T!K^k3DhSr8Eu^_-{Is5;+)6|)wIY;=K`uyEOHryhn$rp#1kghe zDScOD{bF@Q9IopxoI$*TSq7$lcYIe=BenEQlO-Nwv_V?L{x2h1Wcq+#(KtwM#)I?c zxl!1r#qZjoK}}O1?yjTQ8v-{;gxF1C%9{44 z;D2DUNJZ*6V*H)g*5skp{!9zZN8Y_PA~&>&{k(%j#$KNdz@38 zdLx@O`cYvITOkR=J}b{zrjVjH?$<&yoH`dCaB&Rhw_G1eAc}FA`ZBCJ`dL|xR=Y3V ziQ^-89U;Fw?U79&hv1t185;7Z(AsJE-RFqO-ZLH^ZGbu#5h*T?5#KI=P8vT6oo*4wh!*qH7LT$-V?RT$`j;L*w0M_>W0A&6sWN zP1!eh)Oy&}Z3hh(NVFLtC;gs?_u5`>IdtSd#u}uGS)~SiCvwl?vL^p@e6P4KkWG=v z!V;SPB|9KgH8C!zFnNQCk;DD|u6j_*8X-LP`z;V$vPMDu#UAZ9tnfpv-gwDH4n951 zwgFO^*FJ)lNfrUsE00%ULc~PcSncn@7MFjxzgFO&L@&u#OcD``b-A@b%+5(HD>$yY z7mGV#O)eEchB#FWeqhd7+mkBf>uT23%ZthuO<_K+bhvVVasmbX$B>hgsSc-ZC)%9X zD&sV&fvu8MSCC+=uW2aRfF4Gvg`B zL4qF;s(TV3Z|YAKl#E@VM}&jxY6xt}2D9uTLTLJbxmcVDd+FNpZ(=&Gi;&RTtOL~v ztJzpU`r9&TUqt4{qSo8v$2z8)zFTG?cXoz}$D?BI9+Y3J@eHZaPMl?QQ}uH`^|}~W zL*HqBvuW0cz$Zp$`Q~klFV#7IlI~}kPE}>%TlKYAK^-`AY1H1-;vJL3UMtDPvD{(jeA_sF@Lv0 z3Axcu4&@Y=7u{MyOgL=Zn~Jh6qpVNc)K;LxfOiL8D0{Cbx5>KGQW)fv2{y&kx5zMn z-0~-dczPW(_Ze*Z3WjZCPRIo-3Wj8Xsjw`k{}(<-Zz^#2;L5Kdwt^I9&^C~fCL>T^ zg+r7$xPmVzPO)!z#N-I;Tul%kXftVvCGcLN&hF(wl62DX>+I?iw<@WBA0uXCH15+U zg%en{><2b!;GNzV6k_?>+Wfy(_pL1f!5t)zq_Q&Y#S4RiFSP#n(P8J(R6&K~J4VU6240P28U7HcuncC152#Y$JlVhj$h@w1D|l0a zfa1+*#v-0Am8k9x-DjefxC2@1J3Qydh~}j2FPYkaKPkCGv!ubB!;2WD6>tN9`nO#X zOC}rbeqO&Ho_nsE2v z&+&6ymcHg($RZAbNLJNUi4*T4Ou~GoAWjBj;HJ>9SQX6F>WXl|Iy`U7fQbPUa`m*A=#mR)XzQ|>9K)Uu zHH6@4dUzy7sqx8WZljeSiK5}DonKj+y4gZx%?{CYHjT&T}*Hr*Z8g+@V;gZ3y_ z$kI~R-Q;(?_1x8RG*R+P+QxpH6!Pvj29X0pja<^#XYzX_Ok{eUm`b@M^5=qs(I`?S z4f8}A-l$>~&HnL`REV%NqH;=nYIeq=^wHu{mO$S-i~c=Gak)l7f@&t}orWn6x@oJu zAsoXDA7C>DLqJRh_x@I|OaNa~m&swCiwQ1zf<`epyS`=bS=E-QcUyC`z?+gD+)SF} zI;cDvOY}G9Ud&Upk(!GdK_)HEXm#HSql?=-Q;eK&<*%QC7qx(OTidaP09Fo8<4!;X ze*iR38dnG&?yr16CX*-;2VXF03AM3=V;ZSKeNz(eZ>-<~%^@t3Cj=6qpJ~bM)@KXR zPd3jFy&QzP?$dBFmm#I;v@pJe!0boOgY0ucgI{fnWeoW~l9R&pxGVQ3F!^p}9mUNX z=9*=G&rr&%=b9`3}Is;)gs@D^~2R1KMzWb~czGtNHX~s$=pkHJCCv z%d@^$y&78u|88v3vr{yRN&Uhw>&i(v2a@Md`3@^kuhB>hWjPOR;=0 z=w-zs6&|QDFGBI8!non%PSt!LGr0NrYPMXBEyP3aRx?txsbv}u+0)rXO!)ZqY!+Lv z4=7;z;hPCv#$y;*YU4OE7!Yn}X}h((R!z@g2=1-92J%!6)+LP8TKR@oC-D`(&k|Eo z?*^N}pM77N(6Rj06a0_Etf$mVKJ*$6=bAN+iYid2U<4X&^8gt#zzD>45A`=UYAz;E zXJ^pM%F4#ESulQAp{7eOyxU#kMG`aASuOV)_r1$8MvcuT`0HJ+eFgt)wSf0IOQJM zY5X&+JVRo!C&>DXqpIQA;Q1X)aP-ezckYXpOWf7hZSo4VGB_%VZAV6?d;}ttL{;2% zoNMc^L;1>zbmS$^-BT2dj@(6is3Qrur-AvAjkL>18aAjAsJ*rk-(2u$_J4EhPO$mZ z#^QggAeir{Ow*;FB9}Xr?VE_!obcg~I2ER|oM5zqD2*uV_bcz#MYIv=OseQ8DR2F< z1Xpx#8^z{Of|MOGZb>Mpr1c?0RpFDqL=!dUL3yQ{(T?8ZxZ0(qz2hv{l!r>nFao2R z*No~t^1vY;N77 z!Gzgys5rcv==Edm4jWdaX-FYf;;WUju^|+#DKOfUlYc%Ot#+bXj2Y%xz02L z{xpZ(u?j~vq9yOa@`!fMZhNo$2oRDlnsOs@H*EEz%(eLD7g@%Nn63PL&raXb8qq3IDw0~4+#QQ>Ybms|^M0*vyn3CVb3*>NpqUdo4W2bOzIzT6ReoZl2?TmrHz zP0P-Z>Xlogmq}37)(UrJjv3{}kMImXEw(^u01%TG6n*%RnoBZBjE#oFp0~*UQzn$c zyle7JhAD9tfW%+>9dx*hB+;7e@Q_cI0T;O<0w1aX9!8JyCckGoNOMhlqS`4citr0& zgRLtH!#XpH_b^c^*x^W7hY*0?Qq=xQX}s?Ha3H-1b>S$Uah;(x>idh_rLISo9f@n~ zGXKp8q&gGgYV#6)L2+9d5nc?vJSz#QV0UtI(6#dq$C6gNgd zQEt<#;^}+;ZOHa9J-ozefy8HtEV64~dbqTi;h_qyxQ`_=sWVR5o!cibUGhbOq+F;S`0{2#)zbeC~#N|(O2t$ zB^0FRJa@o$x6C)b@$N_Ie?2ATr)BB?hds^=k&UXWo!5f%NCb6qa6hDo4&#tIP|htC1nL7}|ZpM4wrx8vhY;Q-;i5F!Bx-dQca&AkJnx%b72(9TwGH||yW&RYinZrcC) z{We#~E=Bqm?_v$-`UxlOpE6ZK3AOVBqotm57Mxa?SU|Eo59af?@XdJEiMPXj0Iz$zRjy)LRM0W|QK|b)};v|M@A4B7Dyyo(!&MJHL z8IJbs&yEZW418-lOo-r%W7QL%45d|-Uxh?C<)G4_`20(8w4*(oD9KhhYqp+N+?oWz z<YBj8!)7 zkK#45C-G(W7ysKdm%|7zP7qIOv%FiF^!~Ra>D(d`7-0x{S(Uv#=GlZ}28iAPzZvAc z)+h+hf@&`g37xD(gFZq%HgTY<^6mJ&)eo&5%W3vI5l-Et)!H z>8J`A3^gIqFGBG6`g57N_fVbw{(gw}GTi=hy0EZ)XDNjx>_+S`{Vx^E7Eep7;~Aw{ zr(9#1RT*|tPXxBw#Yfh3YgG=gWC<{1ugTebQWn3el+v1Z<^?Ax4XZikFKZamX#rXV zSl8h0BIEt?s%|gL3e8lSWG3``i7JTar;IkJ9D%&>41{juCou%-cFtbpDbz!+yYFzR zRL-n>UV?YI^<%%P#xmy%Jq9we^ zeH9xstJ6xpciTwyM<4! z8*Z!w14V~>zmZ9Wu>EyZk7vCa+fF+9WK16RJ_E5sCWembMQ#`);r?v{;>V1Q8CW9!@z?H-5a zw?x8@3FXMc838dA93P(?RfNgb{Z@d@kRz6O2Zv&LXG4h3TG4M=S?*d8yrj5!@>n4x zr<-ZzK*xDxYxm6&VamGU`cIR$$dHSv<&ml9m>Nmz6gzki2^p6&Z zU*H6n?ozm(7Sh4eaAUhbo~$Yt>NI(hX^$fs8OT=Rl=;Yn(bXib%dtgF#(x*=BMM zz^t_fZH1x+?K6{IOAB-7rHLxO!&P- z9LB+k(r!g)BiT7)%|Sx-{+9}J=n6{PaOu zzP$%^^B$6l*=nKfle`Qq2-(Hkfot()h%|VbC3jel?y-{j(UjaB&h{+P-eRXlT+-G zyzUg8Uso)C9+f|o4h0i&O`Nb6pZBW%o$RBUzd2E= z3Dirg^dZ7>UL5Krmr=~@ggK#kbrGCRdINiJefu&7#G>yP`mMuL zLHA1MS@Rrm#|1dEIrXe2sd8E9GC;H~am%|Rkz{}4u<8r8`9;=Pnt`X_>0ei=Hx2y> zHfCYemh_U=)v2puso(HaFb%C?DJdk9IZm)JL~cEasDFZ_Q$at+>yUCpWUwYe8fSbL zSg23($iRFv4f^XXH*-X`4(WQv5vX`r*;~*}-3BTvnFHakBv@UxKl0e>h=FUTIWq-` z!b_z-hK_VaA%OI()35lwaFi@$|!mo`#UWZor^y0X(E1->-zs# zFd%Do=ant+0*vEFiJ`Rh*9k*Z%F#lMl>3SZv7;i@q-E|!vDrC9tkII?Oh=)m5ike| zjyXZIMrGFHV3LZkAd;bm?l zt(P^Ft|PY8OW}t}RVadVkmNx@ZYiS&xyL=re>6?Y+}h%$$IKx=a+9e+^`Cf2gQ3Y4 zV*WvvZ8wh$S7vG6fh^Ku}%VcFX?5!m*!UE%o1b8n@pd4EtV*1Ib1|- zIPDO;9d*Or0-6vSRUn<#&&@%TmS04gh^&R>N_^a^ez5b9Yc1xV5{lS?B}}xcqM0-E z`t?z3xme3qrJ%M!+|1Q3ClYv_0%FkNaUFe$_(|7p8vCB%AEvXt=dp-dXR+q)5>5dq zRMX6ZhGizc&@Yugl1Aq*md1}{EpX_aWfU~Ak$+o;>8iIZr~@%X4OP$+4{hZ-WF0^4 zyGc6cXfaC;2QKF!$$&ebPQ#LKPvBCx4en!u`Ep2~lmAW_lB0R@G29oBpF}uTzJI?e zj3$oD%NXLAfHwn9UKz2*V0LB^+RtUAWmEd7=#BNqu>Gmgy<%y;x+><{v6H3BNL!I} z{0~&eNRgPyet<&F3dwAASd>b&_B{N|nb|`V2WMB2*bkPAc;n+NyUDJ#qr1-U7~Bc` zc6i44Qt5of-^Wi@@ki12fYRnC>fc%qy9AwAZRt>eJ^X>)!?L$-sE)&W$k(bHhMpYu zPpTk2Q-~4Yl^}oF5`;4>ExV~D)1L+{8N;FL9o5q34tPa9mpa{A7hZ~&X+LXh#Pgah zRv<8QX$eYPoNT;W*&DL=TU1b6&Rz%@>v7yxJln}3OiPa8XS!;~G;1{$t*O#T1_V;8 zb$c(A9;w8yiWt{+L8iLG`hQ0f&fqr_jjNJQu@FL1X=KBCeGUg6w|hQ}pzU~?ZxsRG z_lB!p;OSWC+sDg8?%T<-I!@G!h_J_iN5a6F`B%7{o&E;kajIeZ9qh9r_w`BfBlZ1t zXE~)VE2XTfae`4a?R|#}+a#ahqBz+?vCk$^A?lrjS`cIB@rK1PeT?J9zLy$gECPOaD=y}>hX*|=8%_(F?(#fJJ=r?}N> z*{m2k#e#~}#NYi=*Bn3B+NoT(ahMeC}6dV;(i00J)$mptHY1h^>Ez@FY^;XfLxEJ75weev4l?mA}h=8=TM21Ng4y zrP|M0oAOJ&$UQm?y^_?bR4la!BV81&)i&`|3AJHGJu8p>$O&Hg38qnnLh7gQIB1~? zqey<~zAEMGH^l5uGP(^**J12qE$&rD|9bdS@x%T@ z!p$La6+KFS*AD&@#yD9;1yGK+ftP_N>YnhIhaKjg*F&Ii{mYcl>xi$*1Cz*GcA1<( zQkVBTW`}w+)mg8o*h$P*7xo1#-HLEbL+I1|dZ3|y&`+Y=M1#pWTDr<=%ZmPsG5^k5 z!Mw7YJofp6SuT0pB4?HG?d{d);iZ4s9{)^t!i)_HF|iulKZxXK-#R?L0x3t=3vyIJ zyQRqDC5DMXV6x&(1PLvl=)~S5(c$DdmJve({t}>_!#$eFNOhSCPN|^J$*9NyufMW^ zhSrkMGEk4^kU&GrjFQ=l=+JOYqX_vnmBe%1>3RB^v<~(+$YfmGNxeWY6aF;p&#QBt zf_@{wAJ-oKAbAnp*Ti83j7Boj7jRnUl&Tiv<9uqYEW=1>df@DO;nwC2X9#HY1k*11YxXRqL!IQ{@$#OHlTqk3&o4Rr9xV| z2#WNu#9X1(rTLQ&f>EV|Del2zW-UKJhfZ$HGlJor>Sde0xl{)Z!U(HXlL&_7zkf-i zG=pOxFlV|-D@Hu+c786Wg{4FxNEr7CN#v2!~a#Y?@rD$%OzL?_636 zUv7))0tA9D_1FB}H;#sL#%i-OoU|0j*dljJ3XtF%fZ(7St$T;d{L)-Dl7&TB9nNM+ zmkZ%@WA4$arjdoDNoz^IET&!`^(xP6PL7I$dcjbMi%|)PGKU4anu$xJi__UKj)`{& z8aAfQl7)E1X;JB^yM{w1frI}3{_bRZx8Q16hNXwj(2jN67eMwsOcbW9!?Z|tW#N%!j$YnW`oL%ZqGTbP{Ab`SAKHc(AC_!r{lGFys4=zwaLr9P#jN&b_lmV_b+GqE?o+Y5B`lV%-4 z`KO$^SsuEoHq2_C5K>?X8nPtozyLnRaRHCitC1F|l~u>6k*$e~*j!5iN6BHm7OQj2 zKPiG6q6-eSeb1htj=y2_B~}hJPtN_>9;<6rLw zRa&tErU+7KFtExoaqvh*re$nEx%q7{rM31_y0E&FThbtXo!yyRDEZ9<@ii%8!Gb8$ z?!zjJ3|XPifL@SL*)xTG&VYjgubHvW+$kKAfY0;Yss-@!+VRQGOn*FH2)&_C0WU(+ zLQi0y-3r_k@Ne@IIB2oh{cp7lhYDDQ{yx+)S>97(jx!18D*xW}D=AH7)=W{~i&nEa zX!fq)qB$=8AI*^fhqDLM%8N=vrswSB;lpenVc`lQA$)XL#GU(O>&YR1`YjPJdIQj$ zIemOT{xH6nm*)!p7HEruO_H!(S)XCX#H{_hVT(Z03C?tNWiVEQVr7PJR}^(^r%XNJ zr!I~yoaTY>X2Jcn22;vZ#-Z3ss6zy~O)W1ZwYYv#l}`FfzJQB`oHPMJZ7XuD7pk_z zm#Apm?_U#vf9paY^A2C#*29Jyt^nXaujuo=kn?=J|K}AwJ}G|l{?}E4Fp>+rbO(KU zMZ~#pXa9Lc9@np@u+#qcf1fOJ1wOW}%7~h-FC=>sZC34Npp-Yl{2CNG2*|4!Nnb*A zao23J(MaN#Wr=6fWVLv?J*XZKFl!yc|KcKfEIhjyg}1u( z_X#sWTV;Wca{*~0ckIUE|8hkl1?7z-ry7vljN>O=pKD0=O#-UL%k>ZI38+tGf8n?p zU6N>)kJbfHv~}`R$AHzypo5%`1NKkv?%{a*DZ+FNHdpZDAN4eFgZ}M#NEKE+(Q%&8 zEjP0lBaH+vai+KHhcbaE*FCdAYVCLC^QpZ!6h_nQKrn<;?+Na5AuqduFfr4jQ2(}I`I9@o=6<( z;>wfD`65P22uL-0fOLqRj{h2p~h{d+_#p6=R4R^HTy1g@TVr3 zF4NlI4{?T{Zu>j~4~a$Tn<{Jn)i;}$v%VDC@hiIz-23~>|iIjR|-v`!_7C;?o9O(H~weyE)nXgW{WRYc1gp5hbz%( zRB#m&xfK7jztI6sBJ?Fe`hzOXWReG~2;}x7zEvuxaz3KE?AHBntAlaaVv&x%7gw|5 z;mRE^bAUi;CH7RoFs_(bQ9mV0Myvr1vm9@%A>JmCDT9UhAGxv@RZXmw)@#3SjX7== ze)36^E|8TVfzOo{BDgLh0#*LXis1@-gyBdT8;yw zHh(4Qb4$DDtQoF{{)3IWZpwI?$AH?Pa|&yQy6j%HH+7WuO7^w%F|uQOiB;ms>KNus zKX-O+iOQwr-nDw@nv<$5*&<&FtV|30EM%ylPobw5Y_`fRU=Ax*R#8^|G-xX#%yng{GyLHL1~v8IFhigYHi+`3 zoyg^rxuey&)6cw?JwtT{NmW-*Z0Vet8kTPFj7Cn(IGhZI$!r%bg>3PrCb=Ja!+rB1 z0V#Uo05&)2bfj&z@FB@wY^ud{l6dFQ#+boavIPv?UiVlaw^Y=@^0>XSxm_t@5QXY0 ztL$=6j8}8#n9W$_itj=K*>6v}=>yKOf7q+6Cvo$bt7?ZE`-qa+dOJJ?VrB7v-$;cN zI>Y$dw7!+X9rt*8zbk$~GpbL&pI_zpy$s+V1CsJeKbq1Fe8VQSO0Y(eBw(>eIk;v= zjcpUG-xzHK;%Jw8g&&VLDkQ(2C{}L0L>x|F%+a)eP}-IHzn_L5Z@=h1N6;mXbePx1 z8J(NKD^z#;|EarHN5qaC0rO-iMSZ%-F?q6$pD!fy*Asll`24;WdMB9rcoWL`*yBFV z1>P;W`@jqnb7*vg*5!30k&8V4d?j9qAxW3>k@3H6+PNb z{*HEeOC}Pq{noLlTO6<y^+i&R14}4^-mb?j+?GttZc@d!&)DjJ%&87pFJQ$sh;?I<_-xZ>^) zeT$OaHjQW?A1EH7)h&{YLnNOqzJ33W2WB1opzE#jIAN~rr0fr)TMo^5X}X>X*Br{G-1+YSJ+T$TJciS`|EoA?h|Z}4Ot%T4T;0J z1#uSepg9d#D_t^_)#}0%DakE!p-OdWKS_v3RyY@0(||$?xS0%M&8r#8j^Bv?i*;KO zY<#$WGDpV$n>hmQdO!ZR5A3>+$bSc7Um=u?Rtw$#A(23~zI-JAo%-LYa3Zk(Y0ZIS zte`wd0??i>6U3|>h(#6`MCXS@V*h#1|9<3Wp#1;0=D-_8kg@^+$k~q$qS_CX<3|fq J;Q!y{{{z9;(f$Ac diff --git a/extension/out/extension.js b/extension/out/extension.js index feb4f30..d8eb32f 100644 --- a/extension/out/extension.js +++ b/extension/out/extension.js @@ -334,6 +334,7 @@ function activate(context) { else if (stepIdx > 0 && summary) { // New conversation with AI response! console.log(`Gravity Bridge: [LS] NEW conversation ${key.substring(0, 8)} at step ${stepIdx} "${summary.substring(0, 40)}"`); + subscribeToStream(key); // Try to extract AI text from extensionLogs const aiText = extractFromLogs(parsed); if (aiText) { @@ -435,96 +436,71 @@ function activate(context) { } return null; } - // ========== Trial D2: Streaming RPC with protocol_version=1 ========== - setTimeout(async () => { + // ========== Stream subscription for active cascades ========== + function subscribeToStream(cascadeId) { if (!lsPort || !lsCsrf) { - console.log('Gravity Bridge: [Trial D2] Skipped — no LS'); return; } - console.log(`Gravity Bridge: [Trial D2] Streaming RPCs with proto_version=1...`); const http = require('http'); - function tryProtoRPC(method, protoBody, timeout = 12000) { - return new Promise((resolve) => { - // ConnectRPC frame: [flag(1)] [length(4 big-endian)] [message] - const frame = Buffer.alloc(5 + protoBody.length); - frame[0] = 0x00; // no compression - frame.writeUInt32BE(protoBody.length, 1); - protoBody.copy(frame, 5); - const req = http.request({ - hostname: '127.0.0.1', port: lsPort, - path: `/exa.language_server_pb.LanguageServerService/${method}`, - method: 'POST', - headers: { - 'Content-Type': 'application/connect+proto', - 'Connect-Protocol-Version': '1', - 'x-codeium-csrf-token': lsCsrf, - }, - timeout: timeout - }, (res) => { - const chunks = []; - res.on('data', (c) => chunks.push(c)); - res.on('end', () => { - const buf = Buffer.concat(chunks); - // Skip ConnectRPC frame header (5 bytes) to get proto/JSON content - const text = buf.toString('utf-8'); - resolve(text); - }); - }); - req.on('error', (e) => resolve(`err:${e.message}`)); - req.on('timeout', () => { req.destroy(); resolve('timeout(stream open)'); }); - req.write(frame); - req.end(); + console.log(`Gravity Bridge: [Stream] Subscribing to cascade ${cascadeId.substring(0, 8)}...`); + const gidBuf = Buffer.from(cascadeId, 'utf-8'); + // field1=version(varint=1), field2=cascadeId(string) + const proto = Buffer.alloc(2 + 2 + gidBuf.length); + proto[0] = 0x08; + proto[1] = 0x01; + proto[2] = 0x12; + proto[3] = gidBuf.length; + gidBuf.copy(proto, 4); + // ConnectRPC frame + const frame = Buffer.alloc(5 + proto.length); + frame[0] = 0x00; + frame.writeUInt32BE(proto.length, 1); + proto.copy(frame, 5); + const req = http.request({ + hostname: '127.0.0.1', port: lsPort, + path: '/exa.language_server_pb.LanguageServerService/StreamCascadeReactiveUpdates', + method: 'POST', + headers: { + 'Content-Type': 'application/connect+proto', + 'Connect-Protocol-Version': '1', + 'x-codeium-csrf-token': lsCsrf, + }, + timeout: 30000 + }, (res) => { + console.log(`Gravity Bridge: [Stream] Connected! status=${res.statusCode}`); + let totalBytes = 0; + const allChunks = []; + res.on('data', (chunk) => { + allChunks.push(chunk); + totalBytes += chunk.length; + // Log each chunk as it arrives (real-time streaming) + const text = chunk.toString('utf-8'); + console.log(`Gravity Bridge: [Stream] chunk (${chunk.length}B): ${text.substring(0, 300)}`); }); - } - // Get latest trajectory ID first, then try streams WITH cascadeId - try { - const dRaw = await vscode.commands.executeCommand('antigravity.getDiagnostics'); - const d = typeof dRaw === 'string' ? JSON.parse(dRaw) : dRaw; - const ts = d?.recentTrajectories || []; - if (ts.length > 0) { - const latest = ts[ts.length - 1]; - const gid = latest.googleAgentId || ''; - console.log(`Gravity Bridge: [Trial D3] Using cascade ${gid.substring(0, 8)} step=${latest.lastStepIndex}`); - const gidBuf = Buffer.from(gid, 'utf-8'); - // Attempt 1: field1=version(varint=1), field2=cascadeId(string) - // 0x08 0x01 0x12 - const proto1 = Buffer.alloc(2 + 2 + gidBuf.length); - proto1[0] = 0x08; - proto1[1] = 0x01; // field1 varint = 1 - proto1[2] = 0x12; - proto1[3] = gidBuf.length; // field2 string - gidBuf.copy(proto1, 4); - let r = await tryProtoRPC('StreamCascadeReactiveUpdates', proto1); - console.log(`Gravity Bridge: [Trial D3] StreamCascade(v1+cascade): ${r.substring(0, 800)}`); - // Attempt 2: field1=cascadeId(string), field2=version(varint=1) - // 0x0A 0x10 0x01 - const proto2 = Buffer.alloc(2 + gidBuf.length + 2); - proto2[0] = 0x0A; - proto2[1] = gidBuf.length; // field1 string - gidBuf.copy(proto2, 2); - proto2[2 + gidBuf.length] = 0x10; // field2 varint - proto2[3 + gidBuf.length] = 0x01; - r = await tryProtoRPC('StreamCascadeReactiveUpdates', proto2); - console.log(`Gravity Bridge: [Trial D3] StreamCascade(cascade+v1): ${r.substring(0, 800)}`); - // Attempt 3: StreamCascadeSummariesReactiveUpdates with version+cascadeId - r = await tryProtoRPC('StreamCascadeSummariesReactiveUpdates', proto1); - console.log(`Gravity Bridge: [Trial D3] StreamSummaries(v1+cascade): ${r.substring(0, 800)}`); - // Attempt 4: GetCascadeTrajectorySteps with proto - const stepIdx = Math.max(0, latest.lastStepIndex - 1); - const stepsProto = Buffer.alloc(2 + gidBuf.length + 2); - stepsProto[0] = 0x0A; - stepsProto[1] = gidBuf.length; - gidBuf.copy(stepsProto, 2); - stepsProto[2 + gidBuf.length] = 0x10; - stepsProto[3 + gidBuf.length] = stepIdx; - r = await tryProtoRPC('GetCascadeTrajectorySteps', stepsProto); - console.log(`Gravity Bridge: [Trial D3] Steps(proto): ${r.substring(0, 1000)}`); - } - } - catch (e) { - console.log(`Gravity Bridge: [Trial D3] err: ${e.message}`); - } - }, 15000); + res.on('end', () => { + const fullBuf = Buffer.concat(allChunks); + const fullText = fullBuf.toString('utf-8'); + console.log(`Gravity Bridge: [Stream] Ended. Total ${totalBytes}B in ${allChunks.length} chunks`); + // Try to extract readable text from the stream data + // Look for strings in the protobuf data + const readable = fullText.replace(/[\x00-\x1F\x7F-\x9F]/g, ' ').replace(/\s+/g, ' ').trim(); + if (readable.length > 20) { + console.log(`Gravity Bridge: [Stream] Readable: ${readable.substring(0, 1000)}`); + } + // Check for error messages + if (fullText.includes('"error"')) { + console.log(`Gravity Bridge: [Stream] Error in response: ${fullText.substring(0, 500)}`); + } + }); + }); + req.on('error', (e) => console.log(`Gravity Bridge: [Stream] Error: ${e.message}`)); + req.on('timeout', () => { + console.log(`Gravity Bridge: [Stream] Timeout (30s) — closing`); + req.destroy(); + }); + req.write(frame); + req.end(); + } // Start LS bridge after a delay setTimeout(async () => { const found = await discoverLS(); diff --git a/extension/out/extension.js.map b/extension/out/extension.js.map index 1837c9e..792bccf 100644 --- a/extension/out/extension.js.map +++ b/extension/out/extension.js.map @@ -1 +1 @@ -{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDH,4BA6dC;AAqQD,oDAwBC;AAiRD,gCAEC;AAlkCD,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,IAAI,OAAO,GAAwB,IAAI,CAAC;AACxC,IAAI,eAAe,GAAwB,IAAI,CAAC;AAChD,IAAI,SAA+B,CAAC;AACpC,IAAI,UAAkB,CAAC;AACvB,IAAI,WAAmB,CAAC;AACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,6CAA6C;AAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AAEzC,kDAAoC;AAEpC;;;GAGG;AACH,SAAS,iBAAiB;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAS,aAAa,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QAAC,OAAO,UAAU,CAAC;IAAC,CAAC;IAEtC,yCAAyC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAClD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE;gBACvD,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI;aACxC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,6EAA6E;YAC7E,0CAA0C;YAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACxD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,8CAA8C,QAAQ,GAAG,CAAC,CAAC;gBACvE,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,qCAAqC;QACzC,CAAC;QAED,kCAAkC;QAClC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAgC;IACrD,WAAW,GAAG,iBAAiB,EAAE,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,2CAA2C,WAAW,MAAM,CAAC,CAAC;IAE1E,wBAAwB;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAS,YAAY,CAAC,CAAC;IACpD,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAEvF,kCAAkC;IAClC,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,aAAa;IACb,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpF,SAAS,CAAC,OAAO,GAAG,qBAAqB,CAAC;IAC1C,SAAS,CAAC,IAAI,GAAG,kBAAkB,WAAW,OAAO,CAAC;IACtD,SAAS,CAAC,OAAO,GAAG,oBAAoB,WAAW,EAAE,CAAC;IACtD,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtC,oBAAoB;IACpB,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,WAAW,CAAC,EACnE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,EAAE,UAAU,CAAC,EACjE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,cAAc,CAAC,EACxE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EACxF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAC3F,CAAC;IAEF,8DAA8D;IAC9D,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,QAAQ,GAAY,KAAK,CAAC,CAAE,0BAA0B;IAC1D,IAAI,aAAa,GAA2B,EAAE,CAAC,CAAE,oCAAoC;IAErF,KAAK,UAAU,UAAU;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,8CAA8C;YAC9C,EAAE,CAAC,IAAI,CACH,oSAAoS,EACpS,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAC9B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACZ,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;oBACtD,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC;oBACD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;oBAAC,CAAC;oBAC/C,iDAAiD;oBACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;wBACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBACrD,IAAI,KAAK,EAAE,CAAC;4BACR,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;4BACvB,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;4BAClB,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,UAAU,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;4BACrF,MAAM;wBACV,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAED,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACX,CAAC;gBAED,6CAA6C;gBAC7C,EAAE,CAAC,IAAI,CACH,kDAAkD,KAAK,GAAG,EAC1D,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,EAAE,EACzB,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oBACpB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,yDAAyD,KAAK,EAAE,CAAC,CAAC;wBAC9E,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,OAAO;oBACX,CAAC;oBACD,cAAc;oBACd,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;wBAC7C,IAAI,CAAC,EAAE,CAAC;4BAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAAC,CAAC;oBAC1C,CAAC;oBACD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9D,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEtF,6DAA6D;oBAC7D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;wBAC7B,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;wBACnC,IAAI,EAAE,EAAE,CAAC;4BACL,MAAM,GAAG,IAAI,CAAC;4BACd,OAAO,CAAC,GAAG,CAAC,oDAAoD,IAAI,EAAE,CAAC,CAAC;4BACxE,OAAO,CAAC,IAAI,CAAC,CAAC;4BACd,OAAO;wBACX,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;oBACjE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,CACJ,CAAC;YACN,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAE/B,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,MAAe,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;oBACtB,QAAQ,EAAE,WAAW;oBACrB,IAAI;oBACJ,IAAI,EAAE,yDAAyD;oBAC/D,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;wBAClC,sBAAsB,EAAE,MAAM;qBACjC;oBACD,kBAAkB,EAAE,KAAK;oBACzB,OAAO,EAAE,IAAI;iBAChB,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACZ,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACf,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;wBACxI,wDAAwD;wBACxD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4BAC3C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACtB,OAAO;wBACX,CAAC;wBACD,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;4BACzB,QAAQ,GAAG,MAAM,CAAC,CAAE,iCAAiC;wBACzD,CAAC;wBACD,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACjB,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,YAAY;wBACZ,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnB,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChB,GAAG,CAAC,GAAG,EAAE,CAAC;YACd,CAAC,CAAC;YACF,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,UAAU,KAAK,CAAC,MAAc,EAAE,UAAe,EAAE;QAClD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAE,wBAAwB;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;gBACtB,QAAQ,EAAE,WAAW;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iDAAiD,MAAM,EAAE;gBAC/D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,sBAAsB,EAAE,MAAM;oBAC9B,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;iBAC5C;gBACD,kBAAkB,EAAE,KAAK;gBACzB,OAAO,EAAE,IAAI;aAChB,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACZ,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACf,IAAI,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,UAAU,iBAAiB;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACxB,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC,CAAE,+BAA+B;QACpE,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC;YACD,2DAA2D;YAC3D,MAAM,IAAI,GAAQ,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEtB,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM,YAAY,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAE1E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;YAC5D,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,wBAAwB,YAAY,CAAC,MAAM,mCAAmC,CAAC,CAAC;YAChG,CAAC;YAED,wCAAwC;YACxC,IAAI,SAAS,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;oBACxC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnD,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC;gBAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,MAAM,YAAY,CAAC,MAAM,YAAY,OAAO,GAAG,CAAC,CAAC;YACvG,CAAC;YAED,gDAAgD;YAChD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAEtC,MAAM,GAAG,GAAG,OAAO,IAAI,MAAM,CAAC;gBAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBAEhC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACrB,iDAAiD;oBACjD,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC7B,IAAI,WAAW,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBACrH,CAAC;yBAAM,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;wBAChC,qCAAqC;wBACrC,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;wBAC7H,iBAAiB,CAAC,GAAG,CAAC,CAAC;wBACvB,4CAA4C;wBAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;wBACvC,IAAI,MAAM,EAAE,CAAC;4BACT,iBAAiB,CAAC,MAAM,CAAC,CAAC;4BAC1B,OAAO,CAAC,GAAG,CAAC,2CAA2C,MAAM,CAAC,MAAM,mBAAmB,CAAC,CAAC;wBAC7F,CAAC;6BAAM,CAAC;4BACJ,iBAAiB,CAAC,KAAK,OAAO,qBAAqB,OAAO,GAAG,CAAC,CAAC;4BAC/D,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;wBACtE,CAAC;wBACD,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC;oBAC9C,CAAC;oBACD,SAAS;gBACb,CAAC;gBAED,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;oBACjB,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,MAAM,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBAErH,4CAA4C;oBAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;oBACvC,IAAI,MAAM,EAAE,CAAC;wBACT,iBAAiB,CAAC,MAAM,CAAC,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,2CAA2C,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;oBACnF,CAAC;yBAAM,IAAI,OAAO,IAAI,OAAO,KAAK,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC;wBAChE,8BAA8B;wBAC9B,iBAAiB,CAAC,KAAK,OAAO,eAAe,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;wBACnE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;oBACjE,CAAC;oBACD,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC;oBAC1C,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAKD,SAAS,oBAAoB,CAAC,KAAY;QACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,mDAAmD;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YAEhF,6CAA6C;YAC7C,IAAI,OAAO,IAAI,CACX,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACrD,EAAE,CAAC;gBACA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,SAAS;YACb,CAAC;YAED,4BAA4B;YAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjC,SAAS;YACb,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;gBAClE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,SAAS;YACb,CAAC;YAED,4EAA4E;YAC5E,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;gBAClD,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAChD,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,CAAC,MAAM,iBAAiB,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACrH,CAAC;IACL,CAAC;IAED,SAAS,eAAe,CAAC,QAAa;QAClC,iDAAiD;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC;QACrE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAE3E,mDAAmD;QACnD,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC/E,IAAI,WAAW,EAAE,CAAC;YAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAE3C,2DAA2D;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACtD,IAAI,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC;QACtE,CAAC;QAED,uEAAuE;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACpE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAKD,gEAAgE;IAChE,SAAS,iBAAiB,CAAC,SAAiB;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,mDAAmD,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE/F,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,qDAAqD;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACjC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAEtB,mBAAmB;QACnB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAChB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YACrB,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;YACnC,IAAI,EAAE,4EAA4E;YAClF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,2BAA2B;gBAC3C,0BAA0B,EAAE,GAAG;gBAC/B,sBAAsB,EAAE,MAAM;aACjC;YACD,OAAO,EAAE,KAAK;SACjB,EAAE,CAAC,GAAQ,EAAE,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,8CAA8C,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5E,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,SAAS,GAAa,EAAE,CAAC;YAE/B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC7B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC3B,qDAAqD;gBACrD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACf,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,QAAQ,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC;gBAElG,oDAAoD;gBACpD,wCAAwC;gBACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5F,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrF,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,+CAA+C,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7F,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzF,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAChE,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjB,GAAG,CAAC,GAAG,EAAE,CAAC;IACd,CAAC;IAGD,gCAAgC;IAChC,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,yBAAyB;YACzB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,qBAAqB;YACrB,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACxF,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;IAGT,6DAA6D;IAC7D,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CACL,CAAC;IAEF,sDAAsD;IACtD,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CACjD,wBAAwB,EACxB,iBAAiB,CACpB,CAAC;QACF,WAAW,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAC3E,CAAC;IAED,0DAA0D;IAC1D,wBAAwB,EAAE,CAAC;IAE3B,aAAa;IACb,WAAW,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,WAAW;IAChB,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,oBAAoB,CAAC,CAAC;QACzF,OAAO;IACX,CAAC;IAED,QAAQ,GAAG,IAAI,CAAC;IAChB,SAAS,CAAC,IAAI,GAAG,kBAAkB,WAAW,MAAM,CAAC;IACrD,SAAS,CAAC,OAAO,GAAG,oBAAoB,WAAW,WAAW,CAAC;IAC/D,SAAS,CAAC,OAAO,GAAG,oBAAoB,CAAC;IAEzC,oDAAoD;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC,CAAE,WAAW;IACtD,IAAI,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YAC5E,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,oDAAoD;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC;QACD,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YACpF,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;YACrD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,YAAY,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,wCAAwC,WAAW,cAAc,UAAU,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,UAAU;IACf,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE1B,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,CAAC,IAAI,GAAG,kBAAkB,WAAW,OAAO,CAAC;IACtD,SAAS,CAAC,OAAO,GAAG,oBAAoB,WAAW,EAAE,CAAC;IACtD,SAAS,CAAC,OAAO,GAAG,qBAAqB,CAAC;IAE1C,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,OAAO,GAAG,IAAI,CAAC;IAAC,CAAC;IACjD,IAAI,eAAe,EAAE,CAAC;QAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAAC,eAAe,GAAG,IAAI,CAAC;IAAC,CAAC;IAEzE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,YAAY,CAAC,CAAC;AACrF,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,0BAA0B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzF,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,gBAAgB,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACJ,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,QAAgB;IACzC,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAElD,4DAA4D;QAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,4BAA4B,UAAU,GAAG,CAAC,CAAC;YACrF,OAAO,CAAE,6DAA6D;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAErF,0CAA0C;QAC1C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;gBACnE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,WAAW,aAAa,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO;QACX,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,KAAK,UAAU,CAAC;YACpC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO;QACX,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,oCAAoC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,EAAE,CAAC,CAAC;YACpE,sCAAsC;YACtC,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxF,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,EAAE,CAAC,CAAC;gBACnE,6CAA6C;gBAC7C,IAAI,CAAC;oBACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;oBACrE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBACvD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACtD,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACnD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC;oBAC3E,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;IAEnD,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1F,MAAM,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE1F,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,MAAM,CAAC,MAAM,CAAC,uCAAuC,EAAE,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,MAAM,CAAC,MAAM,CAAC,kCAAkC,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEpG,SAAS,CAAC,IAAI,GAAG,OAAO;YACpB,CAAC,CAAC,kBAAkB,WAAW,UAAU;YACzC,CAAC,CAAC,kBAAkB,WAAW,aAAa,CAAC;QAEjD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,MAAM,IAAI,EAAE,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;YACxC,EAAE,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE;YAC/B,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,0BAA0B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACxD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;YAC5B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,OAAO;SACxB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC3B,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,2CAA2C,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACL,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC5B,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACL,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAiB;IACzC,MAAM,SAAS,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG;QACb,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE3E,IAAI,QAAQ,EAAE,CAAC;QAAC,gBAAgB,EAAE,CAAC;IAAC,CAAC;SAChC,CAAC;QAAC,iBAAiB,EAAE,CAAC;IAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAChC,cAAsB,EACtB,OAAe,EACf,WAAmB;IAEnB,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG;QACZ,UAAU,EAAE,SAAS;QACrB,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,WAAW,EAAG,oBAAoB;QAChD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,CAAC;KACxB,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,yBAAyB,SAAS,EAAE,CAAC,CAAC;IAChF,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,cAAsB;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,cAAc,OAAO,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG;QACT,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,iBAAiB,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe;IACzC,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACtC,IAAI,KAAK,EAAE,CAAC;wBAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACzD,OAAO;IACX,CAAC;IAED,mEAAmE;IACnE,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,EAAE;QACL,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO;YACH,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO;YACpC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC;SACxC,CAAC;IACN,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElB,wBAAwB;IACxB,MAAM,KAAK,GAAmD,EAAE,CAAC;IAEjE,yCAAyC;IACzC,KAAK,CAAC,IAAI,CAAC;QACP,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE,SAAS,WAAW,EAAE;KACjC,CAAC,CAAC;IAEH,qCAAqC;IACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,yBAAyB,UAAU,EAAE;YAC5C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,OAAO,EAAE;YAChC,MAAM,EAAE,CAAC,CAAC,IAAI;SACV,CAAC,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE;QACtD,WAAW,EAAE,SAAS,WAAW,kBAAkB;KACtD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE1B,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC9C,oBAAoB;QACpB,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAChC,MAAM,WAAW,qBAAqB,CACzC,CAAC;QACF,OAAO;IACX,CAAC;IAED,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAChC,KAAK,QAAQ,CAAC,WAAW,MAAM,WAAW,MAAM,CACnD,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE1C,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,GAAG,CACrB,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CACrD,CACJ,CAAC;IAEF,IAAI,CAAC;QACD,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEhD,gCAAgC;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACnD,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxB,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,kCAAkC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5G,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,qCAAqC,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,IAAI,iBAAiB,GAA0B,IAAI,CAAC;AAEpD,SAAS,wBAAwB,CAAC,KAAqC;IACnE,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;IAE9B,6DAA6D;IAC7D,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ;QAC5D,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,yBAAyB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/H,CAAC;IAED,iCAAiC;IACjC,sEAAsE;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjE,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAExD,+DAA+D;IAC/D,IAAI,iBAAiB,EAAE,CAAC;QAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAAC,CAAC;IAC3D,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,YAAY,IAAI,YAAY,KAAK,eAAe,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC/E,eAAe,GAAG,YAAY,CAAC;YAC/B,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG;QACT,EAAE;QACF,YAAY,EAAE,WAAW;QACzB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAG,aAAa;QACnD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,6BAA6B,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;AACpG,CAAC;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAA8B,KAAK,EACtD,OAA2B,EAC3B,OAA2B,EAC3B,MAAiC,EACjC,KAA+B,EACjC,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEpD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,yBAAyB;QACzB,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;YACnE,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO;IACX,CAAC;IAED,+BAA+B;IAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,cAAc,WAAW,KAAK,CAAC,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,KAAK,YAAY,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,YAAY,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClD,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,IAAI,YAAY,MAAM,CAAC,wBAAwB,EAAE,CAAC;oBAClD,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrC,CAAC;YACL,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACf,YAAY,CAAC,IAAI,CAAC,aAAa,YAAY,IAAI,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC;QACvE,OAAO;IACX,CAAC;IAED,oCAAoC;IACpC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG;QACT,EAAE,EAAE,KAAK;QACT,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,cAAc,WAAW,EAAE;QACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,QAAQ,EAAE,KAAK;KAClB,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAElE,MAAM,CAAC,QAAQ,CAAC,cAAc,OAAO,CAAC,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,WAAW,OAAO,CAAC,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,SAAgB,UAAU;IACtB,UAAU,EAAE,CAAC;AACjB,CAAC"} \ No newline at end of file diff --git a/extension/src/extension.ts b/extension/src/extension.ts index dbd6c3e..a2751d1 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -313,7 +313,7 @@ export function activate(context: vscode.ExtensionContext) { } else if (stepIdx > 0 && summary) { // New conversation with AI response! console.log(`Gravity Bridge: [LS] NEW conversation ${key.substring(0, 8)} at step ${stepIdx} "${summary.substring(0, 40)}"`); - + subscribeToStream(key); // Try to extract AI text from extensionLogs const aiText = extractFromLogs(parsed); if (aiText) { @@ -429,95 +429,74 @@ export function activate(context: vscode.ExtensionContext) { - // ========== Trial D2: Streaming RPC with protocol_version=1 ========== - setTimeout(async () => { - if (!lsPort || !lsCsrf) { console.log('Gravity Bridge: [Trial D2] Skipped — no LS'); return; } - console.log(`Gravity Bridge: [Trial D2] Streaming RPCs with proto_version=1...`); + // ========== Stream subscription for active cascades ========== + function subscribeToStream(cascadeId: string): void { + if (!lsPort || !lsCsrf) { return; } const http = require('http'); + console.log(`Gravity Bridge: [Stream] Subscribing to cascade ${cascadeId.substring(0, 8)}...`); - function tryProtoRPC(method: string, protoBody: Buffer, timeout: number = 12000): Promise { - return new Promise((resolve) => { - // ConnectRPC frame: [flag(1)] [length(4 big-endian)] [message] - const frame = Buffer.alloc(5 + protoBody.length); - frame[0] = 0x00; // no compression - frame.writeUInt32BE(protoBody.length, 1); - protoBody.copy(frame, 5); + const gidBuf = Buffer.from(cascadeId, 'utf-8'); + // field1=version(varint=1), field2=cascadeId(string) + const proto = Buffer.alloc(2 + 2 + gidBuf.length); + proto[0] = 0x08; proto[1] = 0x01; + proto[2] = 0x12; proto[3] = gidBuf.length; + gidBuf.copy(proto, 4); - const req = http.request({ - hostname: '127.0.0.1', port: lsPort, - path: `/exa.language_server_pb.LanguageServerService/${method}`, - method: 'POST', - headers: { - 'Content-Type': 'application/connect+proto', - 'Connect-Protocol-Version': '1', - 'x-codeium-csrf-token': lsCsrf, - }, - timeout: timeout - }, (res: any) => { - const chunks: Buffer[] = []; - res.on('data', (c: Buffer) => chunks.push(c)); - res.on('end', () => { - const buf = Buffer.concat(chunks); - // Skip ConnectRPC frame header (5 bytes) to get proto/JSON content - const text = buf.toString('utf-8'); - resolve(text); - }); - }); - req.on('error', (e: any) => resolve(`err:${e.message}`)); - req.on('timeout', () => { req.destroy(); resolve('timeout(stream open)'); }); - req.write(frame); req.end(); + // ConnectRPC frame + const frame = Buffer.alloc(5 + proto.length); + frame[0] = 0x00; + frame.writeUInt32BE(proto.length, 1); + proto.copy(frame, 5); + + const req = http.request({ + hostname: '127.0.0.1', port: lsPort, + path: '/exa.language_server_pb.LanguageServerService/StreamCascadeReactiveUpdates', + method: 'POST', + headers: { + 'Content-Type': 'application/connect+proto', + 'Connect-Protocol-Version': '1', + 'x-codeium-csrf-token': lsCsrf, + }, + timeout: 30000 + }, (res: any) => { + console.log(`Gravity Bridge: [Stream] Connected! status=${res.statusCode}`); + let totalBytes = 0; + const allChunks: Buffer[] = []; + + res.on('data', (chunk: Buffer) => { + allChunks.push(chunk); + totalBytes += chunk.length; + // Log each chunk as it arrives (real-time streaming) + const text = chunk.toString('utf-8'); + console.log(`Gravity Bridge: [Stream] chunk (${chunk.length}B): ${text.substring(0, 300)}`); }); - } - // Get latest trajectory ID first, then try streams WITH cascadeId - try { - const dRaw = await vscode.commands.executeCommand('antigravity.getDiagnostics'); - const d = typeof dRaw === 'string' ? JSON.parse(dRaw) : dRaw; - const ts = d?.recentTrajectories || []; - if (ts.length > 0) { - const latest = ts[ts.length - 1]; - const gid = latest.googleAgentId || ''; - console.log(`Gravity Bridge: [Trial D3] Using cascade ${gid.substring(0, 8)} step=${latest.lastStepIndex}`); + res.on('end', () => { + const fullBuf = Buffer.concat(allChunks); + const fullText = fullBuf.toString('utf-8'); + console.log(`Gravity Bridge: [Stream] Ended. Total ${totalBytes}B in ${allChunks.length} chunks`); - const gidBuf = Buffer.from(gid, 'utf-8'); + // Try to extract readable text from the stream data + // Look for strings in the protobuf data + const readable = fullText.replace(/[\x00-\x1F\x7F-\x9F]/g, ' ').replace(/\s+/g, ' ').trim(); + if (readable.length > 20) { + console.log(`Gravity Bridge: [Stream] Readable: ${readable.substring(0, 1000)}`); + } - // Attempt 1: field1=version(varint=1), field2=cascadeId(string) - // 0x08 0x01 0x12 - const proto1 = Buffer.alloc(2 + 2 + gidBuf.length); - proto1[0] = 0x08; proto1[1] = 0x01; // field1 varint = 1 - proto1[2] = 0x12; proto1[3] = gidBuf.length; // field2 string - gidBuf.copy(proto1, 4); - - let r = await tryProtoRPC('StreamCascadeReactiveUpdates', proto1); - console.log(`Gravity Bridge: [Trial D3] StreamCascade(v1+cascade): ${r.substring(0, 800)}`); - - // Attempt 2: field1=cascadeId(string), field2=version(varint=1) - // 0x0A 0x10 0x01 - const proto2 = Buffer.alloc(2 + gidBuf.length + 2); - proto2[0] = 0x0A; proto2[1] = gidBuf.length; // field1 string - gidBuf.copy(proto2, 2); - proto2[2 + gidBuf.length] = 0x10; // field2 varint - proto2[3 + gidBuf.length] = 0x01; - - r = await tryProtoRPC('StreamCascadeReactiveUpdates', proto2); - console.log(`Gravity Bridge: [Trial D3] StreamCascade(cascade+v1): ${r.substring(0, 800)}`); - - // Attempt 3: StreamCascadeSummariesReactiveUpdates with version+cascadeId - r = await tryProtoRPC('StreamCascadeSummariesReactiveUpdates', proto1); - console.log(`Gravity Bridge: [Trial D3] StreamSummaries(v1+cascade): ${r.substring(0, 800)}`); - - // Attempt 4: GetCascadeTrajectorySteps with proto - const stepIdx = Math.max(0, latest.lastStepIndex - 1); - const stepsProto = Buffer.alloc(2 + gidBuf.length + 2); - stepsProto[0] = 0x0A; stepsProto[1] = gidBuf.length; - gidBuf.copy(stepsProto, 2); - stepsProto[2 + gidBuf.length] = 0x10; - stepsProto[3 + gidBuf.length] = stepIdx; - r = await tryProtoRPC('GetCascadeTrajectorySteps', stepsProto); - console.log(`Gravity Bridge: [Trial D3] Steps(proto): ${r.substring(0, 1000)}`); - } - } catch (e: any) { console.log(`Gravity Bridge: [Trial D3] err: ${e.message}`); } - }, 15000); + // Check for error messages + if (fullText.includes('"error"')) { + console.log(`Gravity Bridge: [Stream] Error in response: ${fullText.substring(0, 500)}`); + } + }); + }); + req.on('error', (e: any) => console.log(`Gravity Bridge: [Stream] Error: ${e.message}`)); + req.on('timeout', () => { + console.log(`Gravity Bridge: [Stream] Timeout (30s) — closing`); + req.destroy(); + }); + req.write(frame); + req.end(); + } // Start LS bridge after a delay