From bebf792699542ef3cd610363b35bb4b3c43d5193 Mon Sep 17 00:00:00 2001
From: rishab If {@code moveUp} is true, the selected lines are moved up. If false, they move down. This method ensures proper selection updates and handles edge cases like moving
+ * the first or last line. If {@code moveUp} is true, the selected lines are moved up. If false, they move down. This method ensures proper selection updates and handles edge cases like moving
* the first or last line. This operation is undo/redoable, allowing the user to revert the action using
+ * {@code Ctrl/Cmd + Z} (Undo) and redo with {@code Ctrl/Cmd + Y} (Redo). This method ensures proper selection updates and handles edge cases like moving
* the first or last line. This operation is undo/redoable, allowing the user to revert the action using
- * {@code Ctrl/Cmd + Z} (Undo) and redo with {@code Ctrl/Cmd + Y} (Redo).
&*BzXcDks{JED0s#LsR~(|iZmOHtv3zOxh! zetfziNiun(j)%E>t>nAO;J=PGC4Le$ycVnri=b_OSd5}y#wsDs@$d(0pcPnmr#V&8 z9)2 3}rRk5w{AXiT>}wG(nf#o{!C&w_k@|*1&^47lE{azpRX( zOa6~jEdOU{|J#MB=I}3V|Cbv7-%~>$E}+E3)4*<`uuRK<_vKcsA2Io@H?GYr1+kq$ zD6mILN|tQNQJpc`zHS*^?d2`mV%2re41XV@($F_1+ypt#uSrquQhl|Bz6^5cnGt@m zc&Nqc!H;)Dk&-p^=TfDW^k&W(Eo1dgtP2>Lm?JNP3 SQuk0y=V$$Y{4b;(sE z^pFtJI}h@T-HF?R#{Lmc4e50=n9=N~o)&Q@jD%(iCS?U1)*1)yVdTh;Hq9Y3vEXpu zlM@lz`|IUl`tX2RJsHtJXgr>&5kAs5q?n+uys}wWW%|3tEyVQ1@ pKg>v2 zt}*=OkSJ@W3=A`j`Q%8JrmhS;Y{i*x$vTel$< k4j2 zqRb==cx^;4i|-#wqi~yqkn?gp_tM8y$qNyzb@@A%&~i87Rg?_UDJ8tbw%5_6UH1^@ zs3?XOpXekscSi1hx|=T^v)z+>kK?58BA>ejxgEI=N+QphxW|bm)>!R&_F!T!`mrC{ zSbD%H2{SIVv9yl&OQ3{mb(p#>!my)%VqB9_GBzuggcc_P2^c$gG8VIiP(U~gaJN@P zwez5rt@sMDkKyGaWi2>bK32UME97b9eH&-c5c5h-;bSMpWX7)E2Q#VKp?G(<$DG6~ zmy&j)m=$ zxe%WlXYT%Sp=WbZULp)Z!g3@gmBb~p^6@!yWD21p9(P=ODNkZw!uaNrdAj6XElEhp z9?liXPjZWk4Lff3%QE-kmDzI_%F}m}A}OKi7zDFIPK0cW&z+^#qaczbhLTp}X{#Di z#cJh|5#9+pm)$Nu-0@nLvt9r}bE5rI3!@_d8P3Pl$lORp($v%5hsc>Jc=TFK&m3BU z80u5UaHS(2Gw)MFO$7T6=iaC8ltO(B+#`IUpJYV|-Ho}CxoXr&v`7Wbh{7 A4Dhh;;8SjHnH)1llv=A8PI%jEzUAh ?d_!eMLFjcLKy+s?lTT|$B`mu$Km72*4ggaAvyA7|kY+^Kzm zf!<>Cf%S?;X1fTQVxUPtUQ1Cjd!?W$0h;CtMnTgY+{C2+YnaqiNipV_BEB~n=$F6} z(U-B{@J?tlR^fpiGE%`S(+s{`W4*_>m9;$R$!zMEfSu$;7$Ev_tU6wY*Xy+D^D|9S zB4$hUTZYPX#oOhC%|#a&3^Iw`D)@PuYk_JHW1wz~jWUxDYSh^kf(}l}$sJa}n5=7< z@sRbeu|P-eD{oN`HH=uUdpqA|C;-*!3#M-4w{|~}49~|$gWkztuHPzR87M$*Uz9Eh z&?POvCyBO}S0WE70f;@17Gg%P703j(Oh~pi{qH5%JXefNjOs>`Z@s~&F!$||>FDQ@ z*pCFi(gsVPOb8oA xC_JMF_g?^@v=^LT;mY9><|qg!Mx}rd0|z$b04@#RYhVLsXCOvu-Z+VvJy^>H@Q` z+tJ0Vf*-bW)ZnSbqKeXjf%m g(r6;D~sifBfv0K-C`kaS~tG~@c;Uo>=E6)EcDDYdjm zI*c4)REEVIQd+fv@pq8NMQ4S{r-8DD>iA698%qM53}*b*lSoO!io8>t)hXEJC0U_R zEAlO@c@g`H4TU)-Am2P4(eOUZ>a5DhtDGJhx+gd>C0#P>p^q(djbPB7){u;=%*;rP zmB)*RiNY)^!6{chSw#OketYMxpp_(D% MhPWnuuBR)H2I+J94a _>NDz2tQ!%eGa|5?&a4yB16-Wk&A$LUD`3@{Jtu~lVW92@Scc}-a# zPAW(aj1mnC%&}))vY~M5Fo~|IshG@FOi-3wO|O*_-gA%>PgYc^N4Z$xu*9k*g}c-= z!b00iN)*HrX0i^#&eAa485>t7ten_Bv|w~qsJC&V9BV$TDClYMIIc~ |kLoC_tYQDryE1})_Q#G~}^czFV zt9maPy5qSTXQ=g)Der|Tsn>G-Qa@WQ--S)E-R*rJ?-ciw+b3&UC(QeWs18LBy=^&U z%n=KkQYCxNlk6;Xw%L%K3q%Fb+|^&PLZ+N_c)LPA@lKuyn+pW^gXy-&==VLAA*-%j zo%J-y&={D4S=ohKWLiTGkbf|MX|!?w=`sC!WT=4qEx5axqr%Oa%zx&h$u4ivgf(!2 z^Nv;QD>lyD;YH8g9`nWf`Et?|U_-a?LH>FxV&Kl&t+P`22Vbr$(5kxZAL^?Ea4uH; z=->4DSEnl)t{JlG&52f5OkC&MpuoIocEpjqA1(%mR(^&UIM09nJY&nQMe-cl*c91C znxVC;sC8mX!UnvmZ+o?0sdn*rU!2*AKp!i#RwIYD`UpD<9c44<`XH!TNflJixh21e z(=XgE#W339gcr?ECs##;F`r=zc}b+m^m7rttVmCk7J4!1-+8b$)3$4~`C8s}OHYPv zZK~Mhhu=EIK_(WuI<#;VK)yk}k)%Jd**slj?hHeDj<#w3;xyv7!A>c5iX7Dvi^7Ao zyF{MJjC3u@5z&@#j{_mUB`o^q`r7#;rVa53@2VTSXMm@?AIE>i3Tdt{g_t6n@{b<_ijOT 25r~a9+n_*ucl>FTts1K+o`0DikVuhrOn6v!fwOCyRE-gB 3;U){t#v|{UOzx5OvfFEg@$9e%#*HD1RMSF7y0<7*X`BAK&0zhQ3ezRY z;X5mTe~)s96*0Z=Z0^eq3iCi6PJ~=zKQimJLPEg6%(M4gFaesREm(ETwckga0?vl| zq}tUkD{yIgJ`-tx7Gs`Wdql!b&5ANB?Yg8G*(0ZYCfPw7$h%qHuGN^g_23*pz3%=x zA(BzO!XZ7Mvzl;cnL>TrMV`69Bn=B>D>s|$CCXk6=w@=dw;#QI*C=MAG_`hhKGk6^ z0Lpf7p?K8y76AqtVJubCRQAHbk)Rkdrhw3G3j0kHnt2 `tEtSod+r- R&(MY(| zEK<36`IOk KH{#Y_s(u%SzYh65bQ|yj# z XSqu2O}EUYIlaXem*JQ}FPc4|%y|&(>GncL!rdXAlzB#%^vw!;OkJIe zKlgc_qq)ZkKbA`;Ddx8~%CAbtlirwcer!~#+LR#d)_izpD#IG69|`+=vc?k>5r5Vr z#d Y_EiM4x^;?;2$sM;AWAm2(IT<=h*Ej-#Tb#$)`(zg0CX3po{>UHE- zRPr*4EMB&pkG^|o=`vxDCke>+`bzVSO3%hB;~Ik)Y05qcVvMxc$J0m09*E9Ya3Z^! zCNXAPB1YhmzK~zTAC9?Cl#liho946?uJE2o&b#K%`V)1ZG`q;4c2{!~Z(_{-wwp9{ zjYWqkKP6+&NYGju(=Hsst6iPumD3{2$5QRXg+~q 7AOtr1>(3=eY?~U|kyAvVhrvKDwOQ_o&YTrs@{5$4xTQFAdd`6uhiuj%bo=XZsaiS7_n1y{@zuna3pf3 z$J2ZEylxqx& s3>%No8;6Nsvme$B3(;T9dMsW2rSeo@<4p z1xMPe*M|0PRB}$&7CENDy7xeu90N9Zt&)E-*I=~!@>tmYhdXb0 g7-!o?asF#~zfDj$K>y zz|Ec#^Gz*P#2z{7((C@L8FRyKhqMJ5eks}I={D#h%0Adgy(;_AJ+$(IBe7Rjq)2N} zWZj})r3u=! h#4Rg WX^C!iA&v+8y1&zS*pAHzhUnCB7nyI1QkI zDQDEDw_AC(ek_h)i5g7qsJ_R%=MKjY_DKAND@4KZpVfm6A!cIaby|(jPg&IDRt!Dr zNe0tpp*%CNR|teJ`wFl??pzJvu5}h}yll$d!y{7*G%0by`Ayb7G*afd4d^H+iEG(; zj>I2rS~eWj#mG9&@u}}GsqxK|FR9yx-^wdG1N-`Iq&pilL84S!;^L7Gh4Dl&57{+` zH}AUx!T>@JdR1A(D>-W8JWaGmefHV~mMrb`%}UKG(#_?EPe}P@$MvIcFzmgK-4rlK zf_~}mVRLh#(6R%{4BN#|jE28M-ju)jb|*NYQTdU%mgyg=Kt(Nk7}BSD_Qa6Nikph> zue45uqgC!OA XMCze0X*_51HB+T5QE#b8^ z7HwW*Xe$|x927J7WeW>Wl+xLjBXf20Nz5D2pOZkn;9E(Vqx;n2rTQ#7nMq3KO11YE zv;&Q9J>N-Tr^N{`ZQ7uQI7Vv7{e4zQvE qA&`6BMSUgP!m}l_)BZ*RZYR>!7B`nZ|xfAPeTS%s^N9q7>9`Mz{QteE? zK64W>vQwoA^XQRDcb~nediN@{#ZZ(9XxAP+!aaSmTR(#@am2mJRgJS~o5*_o+bsQj zYAqNvEU=3694=0mehg|p*4MuBk-mdPN8Os1$NsEubMq tj K*;{ZG4IUe@X}Yv}CeOYy@~=V8BWi)3#1DvOS;uF+jmsIZoTm^+}A)Rjk6 z4My}@E|(%sInbXya~3&Su}^gSQ1c4VMQ1l4q=qiqBy&}7EQ`7Pvn937^!UmvszRZ^ z;exr8_Y#W(Wl$c(5Dw1F;DdH*mO$ex#%f%qp9B*>9eX1WnZ-Qg0J2?5%;$4VKJd;A znP;=)Lvaj#Nlz+Qb;xX5m#h2kQL)G|%6kw6%O6S7-|mgP1PHrbNalj~-(TRBuRlDe zAH7+V%pbyNi=WyeChyl*W3!QdvTyjx=u6w#j=gx>A1ED4%&Ex(!VD_w?drnzZzaH= zh2 #L#c)ydq{m8ESpS>}FG?X%M!is#`iZGdwT#6-bw=C^-- zYOMTeNoPZ9=$sIq!y`2o99kDIEAHlJ$TWNm2W#`l?LfiV>wWsR+Do)~lZ!>iQ>W*` zOtbu<6B%<@ XNj^S=30n zD&CKNKdPKi2MphTYe?NaKa1h}+aEfj6~+sNW5i#ov*;*&`B;X&h8(prYT$vfW|d_& zW##EbB<9j^B mW+g#c#VXWQAb4LV|EKRGD^){DB{j;VbU!yGGm+M6Vy^gh$Rlwqi~kgwW= z7$T1(eVcAX% t zdub9VUcYUtJOxK>=<~`7_L*D|{O$+UKO&4X@44otmJ0DcZA$nYz}(o0ghS=N|8N(4 z7419L#hiLbJ>54`>(IBCCY)(eQs%3cAq@{xfZ+E@-btHwck7UiijTjAn+ ZXEu&nMEBK9-D0b{26yx8vLNW+n|^V#70G%)Xhi$Xgea z4R=c3AZ3PeVlXGp6bfy~x+D||28Hti*jKJzLAE`P3Lgci+x|iwPtU*L&)Q*@%n)yx z2(;KGQ^DH&(*M6lBnW$~vS0)IfPbtqX?vSK!n39^<*DcKUGQ_DuWywc@(Nz^C&(C> zM x5XP)W4OtOFp>V3Q{pj7k#b}H4+^e8s-`{bf_iUkz zdF~OQ_R56wxR=TnJ8wgZ5miHaZoHpB_lCP+Ot^j (65on-@%5lDz?;dP=7z;x{(xITLJUkX4~ zXH*b(l;ofhy9R4X%J#rBU#Wfm(_^c$^f85+P*1%GGhQ-@%8<20inT@6H-NnNL1FLR zi4U;cgvs5rgl&fI$-KPnd&LD7V!{@{Lb $hZGZaGBihoWfp`s_ipK&J4>3( zkpb>J{Ca%QzD!OQ-3ZpTm 9gk%d-6iXJv}s%eA-L zkR3FF&^Jg9Sl?yD6iM6{5JURVa~FzRx_w(5ds8FjDp*x|SAa{FE p^;V=iJJlr|D0RY6?(ngu|)e~&SIxCvoieE)hYx~GY- zeeIk+RuHX~S#KpyF7R6K>2iFHCK!VHvzwa5m}8PD>tldt^&D*|KoC0!8YPzq=jvF@ z97TqzBvdwh@6bB;wKVijP9XX19InU9VXoE(5NZ(OXCGZkiJ1+;oAdOmQe$S*Q8COm zAjBTWB# 4UHYYW zi^y2gmlJO6hf(#!)M2}rvk~(eNsCGo1i`!c6Ic7!xkJ!a7gJriJ;Z}8xCfwyd{p(O zZaWkq#hEuqRafX}KARC^0v-(5pW?xIEntzEdv#ISZMm2^q9iuCzu+QJB!Y7O2d{7$ zuZhCcA4Rzda7cg;xCQgn&}K%X(0rf>2(Z)whG8Sg^~koc#uek2{aJedY(eKX=rESc zkeO@nMK4=%V%M+be>I}{6RnqFHY7uvg+gvJ5qL4kNM!BE7Ej(r_W&V#M1p0JKz2)r zBVW~pRq)~WD+uHSP?VmI6qojs-aw*nzF?D|o}S qkPFk7o zR!_vgeLi$^L+$>NJuN0o;gPc~wj{&TA;j7+FHw>kt?^QO0^6>JcY3bHj$-rpI!EE{ zip-VMA-p!~stM~`>a#$f(pSTk4{hlEbYNW5 AlnGGoV~;K z6YW9fwgbzrvb|xa4lRfK xkIQPw-_R~r_Arc>J z2Ut}l)6qF?@IAfr^<%iJEjrqq zcJ9Ah2pH U-Y%LhJ zdzBeyJ|B-ggf5;lLlC=SDPak e_@Fmjsr?qu8n;MUTnsDN9eK2L_k(zT8QLAzuVC^ kn z3oFv5xy#|xJVKZUAh$SBGe$7|(`Q@Y`Rf2AKdAH&($goi%z2S>nQLpdAP8Bqk{-Ag zY=t9%^;1CVhPJCa*Di7TOlA5xORR?~2}5$fkE*?c7EtCTu;f_BYi}}pR@c-uI;##O z1$EC(xcT_FO`Jul7=J_iN-qJnI+Z1jH8*U^D*!2$H|3`vBT___zHW0wav(Y8Jq~_% zG7R|0-5Ic^OQX}k#+SP0;}9?BLb(y^FWB99&otz5`?_S3+ifT!QM@H_q7AsS#`KAS zMf{%GEQJqxs}a-DH0O1=rKjc@={^OjUGc-*O9AETOi+@pKU>Uo3;KO0CK^6ae{&lT z#GyKuQlpC1w`^b?U}L+D^vN$ZS~A(2L3o+RxY;$i=pgo|n=RMtZpDg5;(a*6KKO$} zUZQT_0ar6=G~Me&MMgIspg0KL&BGjLs}i`*f}sm)_>Y%MY+WkhY6T~(Bym6&X~>e9 zSfU@cH|