From adcefe4bff11d84fb39aa577c435389e3f489d19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Henrik=20Sk=C3=A5rstedt?= Date: Sat, 28 Jan 2017 17:02:41 -0800 Subject: [PATCH] Tuning the lanuage extension for Visual Studio Code a bit --- vscode/CHANGELOG.md | 1 + vscode/README.md | 2 ++ vscode/example.png | Bin 0 -> 30334 bytes vscode/x65.tmLanguage | 8 +++++++- vscode/x65.tmTheme | 11 +++++++++++ 5 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 vscode/example.png diff --git a/vscode/CHANGELOG.md b/vscode/CHANGELOG.md index 44e93a7..9ef9ff0 100644 --- a/vscode/CHANGELOG.md +++ b/vscode/CHANGELOG.md @@ -1,2 +1,3 @@ ## 0.1.0 * Bunched together a shabby working version of Visual Studio Code editing of 6502 intended for assembling with x65 +* Added coloring for section control \ No newline at end of file diff --git a/vscode/README.md b/vscode/README.md index 933fd86..e02839a 100644 --- a/vscode/README.md +++ b/vscode/README.md @@ -4,6 +4,8 @@ As I don't like the marketplaceification of seemingly simple tools I'm not putting this on the visual studio coded marketplace, but if anyone wants to do that I don't mind. +![Visual studio code screenshot](example.png) + In order to "side load" this extension into visual studio code follow these steps 1. Install Visual Studio Code unless already Installed diff --git a/vscode/example.png b/vscode/example.png new file mode 100644 index 0000000000000000000000000000000000000000..685e9926fe8d29c3e84347c8dda44d70627e88bd GIT binary patch literal 30334 zcma&N1yo$mvOWrd0D}aW5Znd^7=lA^3j@L3-Q9yb0S0$>2o^j@a1FuTT@qY^1$W-$ zch3L3_1?SpzROy(W>4?l?CR?7s;|DP4p)?yz(OZRM?gTpl9CitMnFJoKj zWL}^uzQj_-LQ;H%u7>hj2mQ4&8ooXju^JAlG!RXi1XC6dMGc6hMTn|Fh^9e;rUeAb z5EIMcKuuLck&1pz%m~qS?Kj4u=> zz!X66K7vpzhFBtjSSpD`E{#kni$d))rFuT4W&xFcDYxY(UfTfvk1%TEuVAwpTB~|G z+h&M;EB(igw=UlqJo}h@hcrk(X_E(vzl+ePgemeT8d8Rsfx@k+qa46-j^J2lngkEJ zWKT$nFMXQ&`wT5;mY#T?hfvSViE$NYTfiVD}78nWSx? zJ3<>0CfX+?$-)~SVTy1Tlpyz=Y)}95wiEu72lHex9N0@qD6&!b{aa9Lm54$zpm_dE z@er(BP9Z7M$-?rS?@~2g^KRF)G#SE%`^GcYPR(?IKM=%gcb~6H7GqRrpbov8!u5JZd+|c=DDn?4ic~4Idw!Z z?vj5^0MFdKu&ot;jtdn4O23)zbr(zVb@Ma#^|G~ADKl4Dem4lF&&Hx zCS2=6eH=FP^0_mISXE>d5g8O<4E^Mhy_dLw4UVL#K_NG9!^Ohl)lONqL zzW|5uIC|WXuZHt-wKzWoyIVHj_t76@Ei~ao=ED+g-BJ7GUTNc-B~Q$arR?m)bTh?$ zJ+QR1xBugjmR0dtBClFXX+%ENo1Hjr`#oMqfaRtJ=MAz_iJh?k?h9Y_v zbX?m9)}U3Vrb1RzoAVv|944G`K}qvs8&zk~fU?HZE0lp?Gs{@nrgf^LC`-9&%t%{z zo0=@UWN_X%bh+oZ{>{uAo))=}vsgM6_HVtum0|`PFR2L(x;@W8{BR@Y#PZX!1@mv& z40+z?xN-jUOQOmf)%kU|IhRk%^b6B`7hIkO3VR>MfVlkis^+l)oR{%ktYj}zksgR1 zx_a!*2$Dxl#3}gt4#2A#ttaigSP|kho>dC_a+;q)MUzKcnfhj0aC@ExJX_KnT8js$ zkCvkaCjJS=b_^&W>5=ZKxo4F{=(SRY(5A-KX?0gw_xT$naM}(w*VVWf4N-%{N5zhl zC3^m9Obin^b-f$`BW-^j5Ui7mBF!^6CcZFuPnlOX_Db+28I^(*61pdi>F?;`mf;uX z#lvK=gK}2&Mc^&DQ%;hNf>OxVY@d^~{?MeFnx$0mmkP-N^5|kzAnAmbAzo^pqAYVB zu|E}>zYun)>A5L_a)8*5c7pZ5_L?}87Idu5HQU5VzQ>pf1t4lK6FQi4D@DTKi=zy2HpL;G{Pv9KgU1MMtWLTznSLye6X{@;>7R8Z#2W?nt(NReiR>Z6>4s zLi!6|60sS(AuZ^z;G)cS4@*)CVi|`s_vOZWfp;kXrobk)=1TU7W1LEKn1psA7lpRG705!CDXSxKaa6^0_=WUO1&gk zR3tja05MNfCP_dQG<;DN@$aj zgZVg}AHel;UBP;<=swdBynDBGb|hg1yestA9cw=&WKE1ylogADB3=q!WhX-lg%p)a z%9_9N7JY81r5_+y9}QI02Xt{;XQ`DY!LF)fUR;EKG1W|I94M09^A&K&Z3KgsEx%-> zE)Z-~8y|E7qGs#}EC<^ub+d=Td40c{swNQGdFhPVaBEmpnQTN>Mtfz@?xD1eH)r1p zY3j<#XjUT<5BP4F<`OIuJ%fhBWH2(03m5mD)-4;b`0j00`DyY{)a=SbSPIGt1c0?4 zHkbz+%qj|rbA!C!M!cpyl)C~J#A(WkKsl|Gw%O28zbIuV8PVtvq1KCT?*I1HA7QqE zvf*wzz95&B0hav=BXz7QP>k%Kp2D;ZR@dEKe2e`g+wkV;-VU(W3>f=cB`f`g7HsyVGw+;Mjcm9K+O#T_At{0*nmnA=H; zYP&}A3>V=STkFci&Q~>J0@s>N=g6RM(`FbwpFbdbvAv>`bn}15Sz0UrECW~p>_!;g z<&QvIT*z$QXA|gd!r%hn&GD0QZn8z$;I=udH2{QqIXOqcNoukMutOs(YswM)OlgY$wwb$RG=j*p-I{6ivU5MZ$lk@G3=DUa|UXRBoakQ(^<#r%)}{>=^s{bu~z zV}G|VV)IEyZ_8gfO7x041$2)aNQoZ^7Q;!Q1mMDG{yKd?0*;90|JW1-1lsOvsLgVw z_NL@el3QW|*_WnFYB3uwkpH|lNs2R+VR3z5TQuFm^!Q>gRxl-Y<~+%a`f&mdS=~c| z;fsG{N|;XO2uwoagralzRZA@vd&es8R8uhOz!bEoyK22 zWkrgMM1EjlN~7MC^dJ({$<$5{1`Wr-7*!AfMYj9DKZE9Ll4&A?!Kw%eajq!=Fy)2| zrci8(V@5eBk&f4sG4m4-rT;p$H(`R#q@fAE23lSfZ$mprsfe8BY{OM zJK$X{+YT~Kkh46##8=oX|ITRbHC@ zOVfg*d<4Y2Yl^@*;hd3cHKyZ5^^If_HBMIw`NG>an-Va(KDy(}2q?xI63(c}36q3SRSNW_x<&$)@|AdKqgsc0^vA?lk|BiYy@x;qUU!Q)ZKvJe?6Q zduv;!ck05~Vz$^AN>MZJW!7Bzy^CRIuc3%Mk%hK9P@-{=;a=BA->`m|jv#AYl~puz zI@S93^0Mio&acJz1TdI<%qIx~YK_$)+bT{XHkbi1NS*M zmzInlA1~DZY=WGltx8S(B6wPu)wpfw-*&%{m_LquPpd>>J-{sS8o;FdU83rJNCVT; zK$3n~#wT>57-pX^>G(Jgo^$04n5|zl$?;Y(jM!k4Wd|oEE^n2LkfqMwEG2HQG`bH! zmUB;^cTnR|#fWOWgs;hok3IC1wlm$yQG7aS7bd3Gp!|^tpQnZMB=&CmmnkVr7E6yw znmPeFh#_u0r-bXvAL#p|sGIFLd_6~41u`H!ltZ{k%5q$+a3XP+X2wH;F^UG>`!%DG zXr_T0^|d+_MZvDLtf2l_(F*u>Ql<6#ewk7Mrw1v}Q48JD@lRcSFM(fv)vw9QS7mk& zO1B&Aj4m#E6Jxd4v=0dv;Uz8ow2MgLpPrI=U$S3_Z__e=9Ly6JNyl1;rTQj@0{<%a zAqnp0_B3^fXjI!#d!|_%PG6-^!QM zM9>*yB$p<2DDF5izo!SDmFa7CjsRw}|bq=!#CB*Q$dtICd$FO%NpMHRa#;R)yo z)wO-lVG6~+sUS^{=xD6|pb}7EgDpYgI$l7XHt+0le1xl(*_v*_zjkC^`RhF zXPpxDWt%2z2a^q3bP8oy3ve&ERek3+T91Z*~c>vRRo%l`2?1m7^jg z@O4=f-COoAy)SgGs^{eN(Mk2RR*~4}X;f81K9K75YvL^jp5c{PjLZ|}Fs8!l;`oTJ z_&nyBD2gN@&O8L4JpjJO?_MA_t^lngVweOnsxN2?y{+dx`7$yyb$&fhtsN->U&_zZ zNo+bruaZTc#FPH%@%XOB)Li*)%erq9aTVH}H-L#jp=ZG}guX5ZraH5ru~H2dQumXN zQ-qRSazTsjy2jK1K;Wz07kDgrf+|YsnO-bBR+T-(6hsW~_8r1yAV;O`(OT?OMeT*< zVDzl7UrO031ci9ea!Kc_!!0qGR^;_>_RQB{agJ}&jk*ec6Gxu1H+@khU9wkX!lFZ< z2iyX2qb$Y-ov`T8LY)yKQgQqRU)26mVkzxwEhq@atE-~{dsxrszc$%dDyal39KqLJ zGGVXwac>Y#hOx=S>-d-0KYvIN{Dj3t{9SZ=dkr7@FEaNzH_I?k>p6v=vqCp$wxUds zYCv_T2y*bTU|ab8^A;#?fnvS8K%F5+T1_Dh*vpzj`UoR=uT<}s3uoD%&y1+~3ul%; z>V)wPJoLTTBs3ZonVI3{qtPm>T^iQzCpwq!VZ*sp;%^}zfJySXjaYKUBDE|?<#6up z-2FomCFqaiPO%5z)Rb~;!v?VQwfAc3|D`jlxsBmOnPO!vxzqp*Qt+w7ErJ-fkD*wY`Y#JN8b(D zSRWaFOj0~}sf&Sa%}muDjP1qy&p^tgv(2?Liru=Vw=afj8^a0W051aZ1y)@`Bm7s#2$_x;gE&{PMn^s?r15N#Q2;ZC+rvVD~QqK?@3eyQq>0HYNJ&>*HY3 zS2MKtxWjReVXi6P9?{@V=fCkN{~fgX0Rc^>==-}3v^YaaG6T0vuYTPjk?Lp8>}+z8 z&FWXJ?wDa*0^H;R^?afk&v^|G2TAP_#&b&l)SD@6TgNTpX@ouzp5ZTEOFb}1T?q=^ z(3o4E*U~333n~OckWc{O4Hu zV%wG?6%xxtzT!Ce1hzULVzJ0+pbFOulM#Er!V;bT)t*>gEVB-@DmJHslu{M3ac7m-Lgn_FBx7m1_$b4&GcinBH*cc+rBY4lJ;N!R)cUjlH7P1N{36 zA5gu)YY5MBO-3~w`9|NyaNS#*f}%%`02A#?!BUyjNoYj0?Za<{t|##U@}GB1>uXZO zt3X0AnH60UZ6En({ai(I-2)+5-`0`MWjY~%bWiI7SVo_yu67`-O!N;|DdHEHZg6=yfdAB`H^WWby9u?pQzq9=SW6W zSMJ_v-EGO`pMk{VG#2e*H3Pk&p5Qu97uBjGFVPrm){=N)VU9dwEM9+}7gj9us51{r zf}j4RkR~e1q5Z_mmysmSWEc2Fph!a15wd4aq;?Q?Ur5Y}Xaky)(#G9AS?2qUK`Rp)813+t%rj!P2Kvz<7u&ob$N;-HG3$Zb12}3x-AaE@rbGObcqY!Tjl%5nzY%k!Iy83|$1RJ5Hm_>Ic?xyNXdq zwzYp&$W|D;FN z%ix%GQQ}OdbX-lWcjt_yOo`Wz+U|RLln|M{;pXT<9h3}XGF5Rqym?Y#I%pJaJ-%LS zq@<`~&dVq{fEghE8F;o@iPH;CA>PPJcx=h0jHqIZO7BmX0LQw;K;#rCheFx<{sHf^ z$?poW(iW$Rzoc*Ej=WPT6v;gqEKYCnR4sK|uTU&Gjjqj63u=4mH`d|W#m+T4vz#C>ce7RA@4B zFti^)FetDZ`9DpBfBjK+Xv>cBimVhAPTo<%y`E0Ofi|CDk%x66EG#(;ZWoKM%35N^ z)FYtCN(d&R@~1N?e0(ZQEmR-?E(0#y!0eRj>C^(KrNT7B(Xq@R!h%`F;R3gA;(&DodpnsE z{=N?r2o$U@YEd6w@6M)a+m89$7NrD_Z&C`E?9%Crd*1`8)Ty+(0qXFeodNfMiq|0p zuz{2u&F~~8C~^%DKHUE@#wSMuaJrM}Rnajy7TUDtP=#&4!>Q^b1wlU5K~{8~^CHy1 z`{~xfC;LO*&$}-FJB?Dv1;6kEwr#S4FSh@!gZ@KT>Uta?8nB*?c&R{V?TE*4l7ws3pQe< zYLLM$n3zFxGv|zioF84=Ih&4nZ3)jl&jog7nE=bq-zV4wQ$}>z@&qhSIcvXq<4{&9 z69$spn`U|HH<(Kd3x}ycuSXt+cHTS^_!Ifv%o6wuN==wUQlD$Ufym=oDQdud|P165<-jg41wRh?6;ugbuY(Miq<58?~dgu z4r~6=7III`$4mIkl;g<7sfxaGIh_>_#@9u84S0+dp18bnFt}rv+)I7F!Pc;l*^_i) zUJbPA5EORaym4Xo)Jw?8l=E{rx_KvEa;)yO6J*l3lOS<mMHCK*3nKxIUC9qrn{Hs5i0o`UbQyE+SHp3ZsWX{?3) z*f+b7UQ(_sgmO}0x5I^t2idi?iLU16-HWYBFdB}uhxe1$TTxPZ9@f;hm+86^X1HQ( zaLZyQ6I+*p2P5>~E&u8Nhase6;#`<`RsG*rAdXusg^#AJB5l6k%&xWRrNeZJ%u2h94u z6GjqD(?0Ce&F%jx^SknP`S=so{c}%{JgK+^~Z3id|?FuG^+b=-?R8`!Y$p?#3Pc62k5vTjN{_EQuGfXOlVS_XVC-(ck8(wHxzzI?i)t;(ILpP9f{o$RSFBA+O`chTaZ7xq9SY@E~684+znax&lm(GX! z6C<2q?3EO>ySo-bX-I%St^5cLLyA=H!p5C=R?TDfDC>-QM~C`2t%$1bzV_tGa7#Jb zgyJai{89w(J7F-K*nM~g-Xt45NALQdGj!fz#J!W}c)ZZ?OH| zv-39DAfV@<>IviFVSm^8OFH>?dVs`26X}@bL@~%#cxiUqN@&R3dXqFr6)$kYmR1yaT@4G;eKWC3b9UgD}ct-2W#=_%C3?f0|%_(Ln=v*51Z` zO?=3ZeJ@<%kz(Eb}hxY^Nt(Geiq0>8(>Fti;22P|cNuB_+|A-SV^GL5Qq z7oV(6s8|U|H2$U!U~yglaipiWCv7`)wWyW&^UZhDb7ZAgn82Z$qU*v+yog^YRYjiG zO;ThX*#cjSk-zL38J)X0Wq`#PG5*Og{O04=&d}j|HT!0DhCvJJuE@0b8D?EY=dh~* zfFmwx!k1JFQ;noQ#C7f9(~%E*c(ZLaEnZ3Ha@iUG*7v;X|U=7_|0Av4OGbRG#J;knV(n4d&y`aFhYb87l#_#Ulq zbmuGe%}WDjTm1yT{pFueI*cMX+g*%(tU7nE%qy7c@t)05m7v@^!flCJxw*Zp-yZ*g zBA!=v1dQ$c!rqnmKLTHcBq2>V4P_TlzK)v+NM9^SORT=Jbi&`Re!6<#T=>2+x_AqB zyPuEk=FJVGw~lsy$&A~Lcpua5O($k`u`ImZ*rD0Se!8pjPo+W27x>2oySvmvX1q%F zu2+b_F5JA_zDHLN{gukAmA8wT{q`fZ4#gJ5RbS?|I9{*X zMLfu?%dtwpm(k{2t!|y36RHOH9CXE?I8&w$E`JiRF9)C&5#Z}lZT}d3%kTQRB9lpZ z)tRE;`zvy*;QEtKw(p_m6y*8_+=9Y(D+2Gfo<0#fiD?Zc$Jxsm^rGzY@ewfO>D;vH zDBkCtnIv5A&U?4Cus*OJ71Fpk`=R`ptXV#9Y=#MK6@1*-n2X)bNzAY?$KF7p1hA)P z+P(Cx4!F>9cM$36>6l=f+Yf-i%1QU`5_gOJBUWiP6ich64EPP`ZqemRPsv^zixk`W;KEeY4=A z$zau|;VQv;B#?}VENY2Om^XLWyrTpusLfvO-(uTjT2!;tJvGPXIlI0~ z7tn7VO=JRnJV(H?er?tVw@7e0=w^Cqo!-dp$5r|*5$XGGUR3VmF(1dnox_IlDGL}$&=)`UTwe*4i8XTWMkZtI} zk<0ykT0pWupPt(q{N|QtttZ_)8`m;IL(0z8K$w|{$q zkmZE{Y{8lg8pVq{aC|F*kqc{igcM?XdFaM3;1FkKJ0hqst`rvkjjD|&E{;68bh{+h zCYC5YQX1a z6N5dC+cRaHE@`QKVuIVFTmS`1y9y5Vrd|l)i!gG&g`0Ry`v2JM|H6#_)1+h$P$N48 zntK3yf)vteVB`FzIUJN>sJV=QS^Hsu4az$k0;$!b+w|Xf!C}d8_gGJslLU{Sm((TQ z5A?wwoDA(>QNXCfl7p0>I&cG>sUvuUtfN+5T;JRrR212lm_@&>hl5=6Fc<+Pgr>z_ zl~s~szONrKXtflOx+td#djlJEgp#$~R9GKvIq~UAYyJ(wV;BKyoZO9dwNKbfQ}a;K zV@CkFPb-YrWZ6{-#qKMstjv*LV|yEMDN!{(!uE|UP?L8{Ja0!` z!RC!*$+t^I3mLtmynLEE->c&XOkNlc17>1}qFN;Cop5%j$a|cW2yPQy|BIm5-P1R; z$Tfki@o}o|9+`DzmyR5DyM;T-A+P5Q3OaCVrUnRt)j8pFB7zs71RWWzt500jKKj+D zE<+ec4VM|G0H%$-Y14f3Tj^i{nWDQ~8664_%t@P-EOpAxgH+^Ynyb(!kSUCNjiv}{ zzl&s;OIN%bVgPw91ZaLt(tutJkkxEJzQOjo9E^+L(*mbGg8o;Tc;ja2z0zYZ!TJiz z)B1h-4UzRHDa+NTtE;Q_JJh~43yOJ_U{A9>Hh71)*EPg~QUa8wQt<3;KQ@h^qXuzo zr}O2(Z0;Tfp>Xp>T@L%^z$D+kB!PFB+ve9}P*LYSuI$Oe>U6s|^_RlC>{Y>4{`qPb zt&)%TrVfd6&q-feMvIE0n$RWE62M6g{5=V9_8bmZ%k1ngNy~n93*!Wbuq0FF@pHJ= zb2yVr3SOSYIqi%PZA(d>_{bsZuOSX%JyvVpDk&_!o553tXGjlbg}+!4V(-%=u(|;)cJG8Cx0stt7y@$gnjD&2`>g(Hb0hx$FSs|3^__Lvs6*MSRLA`9;I*MH=vrlPNF5Mv^cBSafBlS-n(*K}0ztd-R?z2D*X#ZgVr-m63l^5VwcKH}nK z>1Ai3-6C20e1m`@pu@rcFvLXH(oluY`#IVsNdrTry~s@41iR;Lif<0=qzd|pUq^rT zY{evsMmSmTYD;-36RiMV5PQiHCCStKw#sAC2Z;{ZUj-#pdpnajP3?Rt3-Mu0Lf*J} z+#!7ZzNzlEKV$%u4tmbpG6njZ!QTN-A`y)TwQ;7b&_u6}a6e|dz17BRWeYDnyJtLO1L_nTt zG;w4DviGm;#L9}VB&d=_qf(OJn7rjWLYEpKkE}i2l-t7GF#{KhG$>1oeEiK<{Hdi>57bcKW6Q9i}y8(Uxojp%k}4}=Lr*0i=S8ofq8pW)q0X;t%@so4ecRbI<%Xm(>rOOl!S>s1(-zK>JXW@s@? z%aVk@=rw>%$Ey#%?wZT*e?7Z86u?4QI(^3&(MM?=$TEZc504mPv9Kh4hkh;HQP8tE zBo&6riwKt}5G}QfCkS!ZrLDtWqJdxFXwX(?QV;+9ajL8dErr11`@X*bI$4Y8MjeUM zp@0)6*o~yb@_bXr{l&dDR%qhljw%^;ZR5rgaC-81V_oRN-PI|UwK`Syt4=gf=0CZi zkay!YbLS+uVYW}U<4bJGGZ`zkE*%Z;*YjsBbkw3&#{!iX(>VHZ{eMwIni4IWo}SXJ;T0OMYs5AnwsQE1 z8bQ?j&gbfZpMVWLyVGm^aPger8?lq}>c~pKC5JO%ke7U}mzHOxzvO;mAzATl^*yD?SB8wsDc1Hau+9FXsXpFWpC4ISlrsyV>l5Y4?+F+})Uy_Usa7vPi| z9yRd941B1oU?idBSGye6*R+kB;He;+6BlvQc}H3td48Js*I4~yS;_l%2$R_d$@|E$ zPp4fI>ioBclH;9sm7wEozPAU-@#iPzQYEf#4VMTHL0c+85l-StDE9|>fJSeeDN(wQ z2`hanJY5!!*P@50MUyx(CF!i)R>YAeC%b~S(Q4k*#8<%{!$V}f*u2*^y0&C!)U!gm zB3Pzsegr!Rzfv%P#u$rwU~ilTqGS^c`%q2gEpgCl3V8ueL7-9?qLO6ok)6ZO)?*?r zmHTuH&|{BZH>tf(@Y-aH-6?iLx%;6|<;96##AvY2WAky&@hS-`z1;%VK3Sv^&XtD~ z7;NVzis|?}x`x()4_%5Yb^IM)wW}h)_GR9Fe*mQCJ0vMR1OfPCS@=#jgt+R^rgr~a z=G-n+Q#uWcj?t6c%PuVPi|vAF_~c>8N;{N7o-&1gSOwbZcv$JP;M<;f;A_JY4@==5 zR)%i(vGMYza6I{pQv#SAB%z-kb=JlY2JaDmfX__t^9U>^A1Hqcexu#qv9sxaE3M>4=?D^ zTZYHVrJ=#KT8%8f*F#9j7Z(LTw=D(He$Ud)#O+e?rWU%co?aTJus!^P;t+!o8-P+Z z_zmr$6ve&ZX)-K)-zt7*u@tpSCNXaB!Z#Ld>ZM4o2@jRwL<8t(-|%Zxvc+_-?Q}UK z*Hx}K#Sw?^oyBVaJT$&M+;7eElOf)S{b7ac@KsP9<+@PnXm@@;`6S;!f>T6{IyLTny>v?|Lu8ITUFZ1E!dEDC9 zxT73=BqqS{#v7xE>L`9a3^Z^OCtv~f;&sD_}xR!Z|Q{^R8rG#unfBl<*c zS0Ys9EHHTOQdA4NwB=8o)UW!UyIFF^4#dVjxEH1erO`m>E<@j|Ia!r7*ulLYOpa?p zI;QxlFMvCu0fmbbd1w5O?cC=f=M&`P5FBN_JP%{*k$5iA0YA$usezpc3ki@0PmZK4 zn~q(ka0t=W+;{T}*@f7t$mqIgxeb<&p{AONL@d9^LneRolfy=rw;_zXv4Vfvqnl}h zrW-BynUYZ10pFQR78~NzjW>4KgoRUT^9aaj7MR0`mLA!B;xS3Zx*Z5k;- z5UD|Otb0&*DM6GH&>K3Y&f zYQd%#Gx}=F@nq0Jr-QNGU z3##)%E$Q1U74+B{NzW6yB5yNhJ)ha}&0F&r0r;MUb1jU2Nkg9%NFrQTVdCAWINRFC z0BJ+YmG9oQ#mrZ0TPz15Rz_djvuBfbZ(xep%cg3N9Qiw9*Hc<{r=A90*7Kj! z=dy|PU-lrcGHqc$B}}w{PGbE?EVgrvN&iP|qx`tKOnOL3!gVlLcB|t@Q$oRNF+jSv zHFa^)YZiv8*=_^3&}6BilM$&avbfFC_B;t*J2TbH51{mR^4`2Z_E_a4pqkq4cpPRI zv5gRZ(S`w@Iez_OlE5~MBpOin#ydAx%-Do**wmTi^?So`nYM{cX-US|wQZU0bXpbJ zNu`y!NUY}Sr~4>aAyYsY-_C9j_I?o6ak7yFId~*63SLI1q4l!s&(FG(m4RLh*7W$e z=3*{();ioJJN~@sASAoXssfl-QmRS-?YxS2x78KjTrbr^AkT&)(aS&;M*x#Lbi$5R z*U=95GVwID5#cc$%|*#6KhEeQar>38A0mLan98Hwg4$GW!?L9r20Oz8fhLs%KKF{q zw0jsKvI7$i<<<z1s9S3-?4kFS|9y*Fz0j-vuHqRexVm zxsT5#nSb?a?!*fTJX4G*@K$hcTztzd(Egw(lsu?IF{aqfw~<}b7LWaW1|Mu1Tk8Ee zbSJ_{2c9Ws`Hf^69|3*cCm?zQ#j^;*GLEM0FiW)d(ZwS=w}q>cvV$qXZdmgzPr4+U zmu8G=i%9f3f=l!o!BlofylOPTu!<%$zraJzc4T)vO17A028Oc5*%Ik-_c_eF9t!?j zSm#E5{9WOVGsok`!0F=EHv;B$8M4BD3FchkVezdI!TMaE$5}tKy`InPim{?-#a<|Q zT(;F$Z_M_<6!EX&w+|8JbI6Sy5*blA6zoKx2@2h8r6oH-bs|tWQexmBi9hd5g_j71 z5}B7XqF>VfsO{9)&L2p#Ai=jd6>&V1=vUI>IfAgy4)>qHw28ih*mA;|c-{oJW4-+7 z*|*<{ctvjpw~)nX06@$}^dCut+Vf`0*KFPT=I_Ut**4&2(K=WXo_b&FBdcfFEp6Zb z(W+6UPtF@k`+cv>H~l98`}K@DhuauLlqajY#X?dkvxW z8jmVIU$`<$ztbg|3)HiryPh!j>M!@GEdM$Qp*9op^It0($NE*Bd8ws@#yswkH#VkN z+iF%dJ=Yg@3uKi3iqf?ej#_jep?D=JQ)c7S8(s2V!?l?7JC`_B4j1z<6PL>k%NN+ zx4=~Owbs+2B3m2#MOu#W)1u(b2=}$wAug!`Ab;bZd}?P|+1KX$hKrF;lc$EO3e19) z#UngUb@F^uy;&gc;{$T#yVmC3*}l{_+apBg@6HsjV<$XXEwQJeGflp=jr11MPC^8p zlL#H)i0Y!BQ4Q)n$~_QJ5R)&RcVIG86*8P;iI!i&kl7oP)jJx=LRD61kBY6%nQZ@X zH<=bMk=K73e|q*Ik2Wj0V*NZ_{H$q!1oM|nKAO%Q!nr0mg%XbL8ZLmeI(!V)GS4^s zy)u@|BV?u9n~O*Zs>1)`Ry^>aGUBTa$a>ogCY9Ukuj2>f46Z_(w=+H&-qY6J&}E*R zLX16@vNWYlKfuc;JJ369OVeCmB*ag2?{)IP>jbT3I@^B-Z5`HNCk&G4jq)ewk?}W^ zQ7iiM*?G}iX7lD1OZSeXtnt1vS_^24Pi8mgZW*v()jX-KKTjJz?|tC4@!4C7%bT`w z_b_AeI!41bM^@ig9#n2!5Jj^W5Dv zfjmjE@yCcKm)mugV$$o1KMm!@7QaRiz_$ZXt29q*{^GUqFiN`-d&l^3L)K5Jf7uYz z>Ubnr@5&KUr7$MZP~wvkQ(hiHn;}M^{6!S%%y$#dM4G=NeKkdFJr9~y2rqAz9u>CxRH!ySdl zeEcX5eNQXO%hu9M%iHAbstrZB3{GKeR)W~c#4441b1s)ssnRV3UmU98JKs14mNGrY zn>6kU2l_Y0lED-%TSY{R6{>|4ANOTv_8ES9aCQHizvxP9uZFo0cn;e5ga;UX6auiZ zc+m6g!^0~AS>%L@geOhxD?4t8jN(o+1SVZ$?-1 zy&d~v1OKHwf;*l2VpGx6gCqb9meV;H3T(@{NfsiI&73{_@zPil3zy^VbZA zv*qwJZRt$yNZE5V-jwU1#93_Sp)6C(XDCxBrwvL^;!LZBg26^L1fuaABctCqh}g~4 z8rK>853MUiYW-zqY2GDor%5xu`6szqqcO8GHL0ah+A+a#bkv z_95!;$(#Q#>k!r%)g%C9|5kL(UVI6s7b@|i7DX7W2t1L9kZu}yUbTOywcGFQ)k*u{ zn-!WX8{$L-V^NQ4G;&h`@$%%!3}l9hti7XZL}o)5t1hY%mAM<68(P&O`xmodDeb>K zG|+thcL%|9HUA+L&^szUs$-?#=jq@tb|CI1IPd$}J(p%U@~Tj8E4mQtSGjM~3;*Vt zPfZKtu#o~MMg~zgRLMvWwx{NNkJt3yX;feT$d(=z_iL`>)#*#{0soFAuUtlXrfl}=Kc1F;J}$mlxXf5h7dfOO5EdNkNzq@5+BvXq zXG`HSM`dR|6IVt#^?@@5#njAS{|t4|W(sw_%g&2x^l!VF?gsR*8+%Gy&Kuk3?pW+EOeMlnDE`s}=KsD1gACzUyKRt2 z&9ndCoXS7NiHvjr!KHRlg-YA9)ti+`W6RTI&wT4e4&4y=9ajcHFZ9LPb|nQS7TdMn zIlk7|@lEHRdO=1db|`)cv4KqJB;IYH%PkRd;`5L;fv_3==MO5Xy%F75j8#Y*yFcbn%c38o{8{eo6?mvK^7bq z0Mh~3$HG@yJJ@Q#PGQkRdAA~at2YfQENsvPtzy+K5y?L>&2Bd`JT#HSk-I(eWbW(g30ks z=j^@Ov7$0Ptd^4%`YN=2_E)~-Y0a}s_OC2*`i=j*+B;O#cD>~3M0p#zg2X22K+=Kf z*zK*IWzyvzJI&fYC@N!e8W0_y=PGY*Ys<)3eNZB=Ue@S5$W+0P#np`F$$dI51%m$} zGVXqEQ*lJ9I+SWN+`Oamv>fCnCp$ZSo;l*9OsXnjV7FGQ>HlJ=iJ*Q@T;@Z-N=N}$ z&{|s}RqX9>Jv+D6bz>qylg_d`9akp>uFV~(86vDS*OSS8Ymf~*3I>O?bWlRPp4=AD zHIPY_9k}Cy?US<0)5Oj?&cPetSKd`Po-+7-$X`$lNXB>Fewu`aq;}ujX!Hf@@j4m+ zf{4X=w}B=h_SfYsG%v>eUF0{3um?aTT{~A!?)Onl*yhYoMoal1X#gbHYQhVAxaDwQ?dSNH37_O{_kI?@khTTbV+nhCXC5 z2%TVbAqZz#lE#P7sl)qiM9S^^g#SWKn6Ljos0o-&J_zezz2GA8Y3i<9uoSINp&E01 zcd6A;G)3AkDv};TRR_YP9ADzIYl)N>{`fFV-5HkM3zlL-0hTts5TWbWF^uqPpdPAK z-By?b12+j(S|*%ykRYD-oCF*L>z#9~7kx{16x|ECnESr9WIGspzLT?0El;tP2cGBJ zlfd%Cn?5tk3I#n4qdEis?}`E`cn}g&Au^GL|K8(Q>MgfcCp`1(qs+jmBeM59HeN5Y zYK|5Zzr`7Aq|x?J{(c*#I#dhU!|?-u1aVq$qAQkK)jeJQ#`JAP=!i_?x_6kQa?2RQ z$b%*hsiUnzHp83@p6r)hFGB2pO7?Y5jXNE_ri5ZZggQk3u+YSJJ!_@oM|Xto6;5IY zze$K6{_!ViP^{tHuo<}xm>1-MPdr5VksfV~V}C56^s2*+Q|7mB;!=8!Oq112Szs7Q z>7RG%P%Yz*A&<59SyUlSI^N*1ky`Mj-cFsH0;5TkWR~dnX*F#F-pH%rooa6!7f(-3 z9lUN(N2jF=|Ne>9Gf>6w2ojfB6>;b5r(BP7z!Uw=X34RFZ7H-_M`r!v{Ps3|Xd~P-+WA*Nr%mkp^^_cz7Kk<{? z;rt2F8dTYCZh?Q>s?7;rYr6tc5n^jm=(dwHaYS=)LhIE7DLtZJ#^C-LUkFqR5ASQr z>94h1{2miFWWY`T&{7iv3;OC=S4bYJJ@!OPB>uLFp3+th^ch4ya|mnMp>12&Ureq= z%qiyg2MouKOSBIT=p66>#%~oy=xFB`ep6mx z$RzAGiEslSzfTnglaxO4B@XgCT?u&7BO_DE@8R!wCzX35j(2XwC>#6+uH|A>Y(eO0 zbYQ+jh^a3UMEz-R6b;*={joE2PukT^M@T@UWd|!-Ig|S^|3pKKJZ2X3qacaO6Enp| zC~)DoUKqVo-g|lL1}M({3&y8_g9ih@vU^-)Si-rpoE^X%lTIInBj}4!aSVG9u^7vw z={y}zE2Ib(D`ojaIYPtpY5~mzcaa!~FkmA}Q(!<5VUvC_pVj4n^h4?ZV@qjKrm!n) z{W%*TpENRoH~yGQeH+8Kf*>E0&A$=;E1uBe;|te3OW4Kmb~L%Lxt_*II?Tl$U8PSN z$~2{S+Q^uJHs4vbaJv{OKg;i?g{g`lqmzR*u0y$9VxxLW1Pju-w2SiK4b|kHZ$xA& z_P+sxh98U}Gtl_0$^fdRKdjb5;Jq0|jPv#Yh4dUEcDDUvwHk4NCxPMgVv&=IiEs^8 z7|#Wbz-9JoK3keAq4yBj^8|ieB!ff4hfg7Gjt4mTDEIj+(o$( zr++yUD7$FG7G+Mi&z>2SB~ANucKR1tTWTj3X=v~9PnL1qkP8E$R@s`aXgJoCOv8~W zwwzfRv6zH+h%q>=oOet0E;pkPNxoCntCybn#yu@%#l|-SDKQG>>XOH_AD^BJh?Q%X zB4Cr>K2VGiB5CtWnS4JsO6VSA6g@1RoSnF5Td>4H2J&TK#pq5ks! zh0O$jj`Cb{XgS!Ns)Zh{4J8})uo_m{7j=r#+k1`MPx#LlTw1@fNaA9|5e0D9o~S(| z!1tp$HsVhEX}cv0m|-wA@%s>?e*!5^VQ5B%l??HLgk+S;1&mQmCh>XMY(EMJuOG17n>g5$ysX~E&cD1SGKlrTv0lTWu0F2aG zXv%{#DhAm2qwvRgHe1sO9dnEbD}oNczh%UXH}F?vqfEg8a5J+1OXkFX;phxme*w?? zu>)92=G6a9pII#OG1&D!a}-faRu7~aQ$=yq?~RRKDqt@uEVM4oO5IvL&}s5KWd>N8 z{~*lFDTDtZ%uu(UL;~1L1HX}6;o>wv!Z>5e6Lg3?RAc{PEm~IX%=qrl!uzoR1vLMq zpeX&zpV!+3NkQ>E=7TIyi07s?`r$FQjNR{`&b}y58HtW2K)eC!duqDU=GKhaxQG8i zaly5Dn(#TU&j3dX-c2*_yz*gvq6Vnk#>4M2RQt#qPV{j*nrK+j0T?(pa`0VPsgVi8 z$sq~cn70l1yQ6uOTQtee_@E z!Mm(}^~}Jm6Bm%Wy>Jvr$M9!(KOXf>u&OIVb_OGKnmyOk`R_UIr8X~abklQC8OKXp zR#$5L(L2)k8nVn8PFawLVO}Tk+$Sv8An`c@;Ji5+w>ukOws?F%tQH&(n{4vfYWsfX z%!V!^dTcDy?EO96JI?4o=_AUoVyhj0p9D?_T|G_ULB@?%k|B4^^vf7gIwN>!p)AX4 z!TgHlo}^HwoYn;(Q9Q^Xu?(|-4ANZR%QStaf5&yr)PA(aw>5L4sIV^}n8T9iTAGl< zoY0z1lLeoO7vG8>t=k!o<`&4=H4~!=_JY_E0$jE>wp;CMnPZoC$s6juYdR{evkkE05l#t z@~_b>6{q5`swS3GTT%A++=Tbx{SN@gZ%r$qXcY^G0EZL#Z6{TQ$(NEGB0NYsBHPBWEvpz_#$fp{d$VQ!wP3BlAA|q~p6h4ehM9`rtH8 zIwNhcgfrEa68=H4Xl>P}yixtdGR)FPdziw3^iKA|jC-V>*DS zyd#TuY7L$6*n;Rs%bX@}Y8JD#(ZlIK2Ra=rE_d4jRpvwbzpQ#>KkzuCP7eJt#M~D2 z-UcRIceJ_CSl6_Ty7$o1n8~zvN~!+mU(+|AbD- zj<%C<=rn1+G021Q-SpsXe-TC!i?1z-3w?&&&$~uC2{3Z|K}3&-zXgoC4A57RH`S10;%il zo>rQ}4EB?%xhh>o9RIEj45U{lF=JJ#Lf6|jK5P}>JM>|BT2-7d(M@<(5|Wwx+^!|* z*yje=&qFF$G(&v%;ibQ^A5A=T6 z##b|%6>T2RT3EA{0;a>^)0*N)-?~MK#Sohai zM8A>oy=C=Rv9UZKa7?s?JZJp`Cs{-21SHIzr10&&?3kx9xf=7l=S=)H2i$jiSXGL6 zy6rOy;SU`A7rC_N0%~TRzr2(n*|8_)T#akI0aL5D0bXyGXUX{@Z*f$=9|V)j zTB_*vQj#+4&t|joFa{QXvapVxB%%OiPC!gZ+6nM~=>*p9l(pA+OJpch)E1L9 z6}31p7qm^$`m5Gl5^Uz$vr2M;2PuJLoNpY)>WyT?W-lcciCKb|-+?+&M%TI0;&@#%^&|Q| zshze%$#u$ywBPZmnK1ycgM+rGQa`-!3EbOW_XjXqID*0R_J_hq==-2szo|znN4OY_@ssj@v(#2zt~h@b7dp_ptHgw zBw?{MaJH*jQW#CF@;bY`?_DAcQt?_C?@W=Q%YcZp6c0z@BGcTg_;p};_|$k{ z4~ofY$jAlN8J9mR=4=$Ivc4U{osMcWmG3#|sHGNdjoog6j|i=O8?P3;4<^Kldkpr$ zBsqsX3HZ9KqS92~XlsKXmdHqZ`@1R^YZq5)*r&=8<|RSp;3hk1;2xvfcI+ z^%>|7frta%OYH2ugDxTk%a`Yp%x{O$x4^7!LTJ)D+}V8bZq6(EEDzd)9O$CO&;?gS z3#4@Ov%~VN|0IX1dur2Ao%M^Kdglu^WldHXQQhcxheGyTYv?=BaGtbyXPg zgo8bO`6ZKDK$9P~NST%yK0f$BuEX#YF#9*(NZL@i=JH=7O=m~fh;g4jCRPj!%1Y)E zU{RWjq)6$D#SMcr*;syXuo~xVuXxRx{)KKVX6@Xh8iRLQ%g7emRah*FII@&MfCHq~6;QgfjbS`+5?? z!hUcrCs-MA5oU^MLzG*PLn@%<>l~;iD{I&6Cjpr2pM_QVCdhGW3url_FvYQq;gsak zv;!E6ujmxco^R#cIe|c_Zj43_;rvwtydBxmvWjPF{k5oN`?eYlaEs4my`o@{*E5q@ z#}ok1!vUcO1hp55-&d(nns%PFJGs#z-C#(^fgGpPUSes>}05*w`@^sV+}nC*HF2_;!oh@l{pe<&IDLvtsB_HSo} z1x57~(B@A^IDTryWLhc?;(h<7(ftX3QnZL)(sTX>ijCF;w5UQh)B<*{(5W%pz(=k} z)d3#CpOs;$*w6Tfe&9J_5+TubO9?IvIViQ3IlD3Qo_fe;SgrPJLg{_?-rg|L(^d$7 z`SB#_%$+U8o2a}S!Q>HJ_o^w&phE%DwxP)bA``E_++J|+37ZdP+x0TQ(KPsM#`fvf zt32t-6>y?nytVgJvqA`JRPkdw3T3Ti2>n%ns*X2eqLrzR($MPHq9-xTnR6D;Dm~O% zmYq@=X<_7#=}U+(A-I8qy7dCw;b5n)4@ILG)xMCVgsJUi&W83rhHB4c{bE&21Dg_gvUn&VS~8SD zjL?H+_|SZfyu7ThTSnwC#y`i|HM~kggCRI*cQ=8oR)g{85E!sz`>3YgOM`*{?+Nic z9X(SpV=%FkkHW;Xg}Kfu{XSV5fL~3iKt%fbpYOZ@$bFY0ePM{H(?4`1B{f6P<*9M= zYx%*1!-k2M4W-`+48tKG!}FPlYkPOm3+)#`ib9TmuvX&`AtTw!S`ck_k^O-g$_nf{ z%i(pd2*?J0Wl&f5_-^g{7bga9sjr76d}(NJ=5V!TAPzF~cgck~k~xRWSz<|{5F7q_ z7y>G)Z$nrZDY@sxbV6D8AVDo?@+2vL1MZ%94!tVuKkt_LGf$#WEBC)}5(a1qu|9+S z}Hf@J|6<^YmS_6l*^Ps>Y0Xg^6Td zDutH}@BAYKQuXa0eS4<(v7c$;LYc@9MpJ7OW24hK&B10y}6(%(}LRKk3Ld@2BQC^UarAUPCqVgm$oa$&@C z6p*ZFqu+IQ3eITYi@G=MBXq05X{z>a0P4oLncOpwn$D4*!5yvhb2E1s2(02UiFKNdE8fwLb_lhE}E72r2nq` z%p=1*R4=&uPLHpM7L{F>!j(dw27OxEQIdmnQ@WIic%*^12~R-qQ&U5npqdd^z%klp z$4`rDvb$x+@+WyK(Wv*P=-DtJfTSS%tGLXJ%kq4YI%iax1huW~jF=Mu^>}XV^{bbK zr}<2=z&#s@T%?}0EyE^6Btp5z#eDHc5Ac?~X)WpHvG)TL=Or3O;Gce*jKr;x83~@d zV&Yd`S0qrGs?+$xcHJfDcIrM&igjA9KW(sssWH2eDdQ_jvW>x4>7{++fG)tbqrsBF2v3Pl z9B#8)b}7{8qPyp!s;L9-5Sl}=z<@nc(#-PsJ3hBULRSS{ zW*8rej30+|xJJXq^5j^UqB)|L)6kYU8m51I+;F@~qNrMi<;rFrbDq9? zQqC#x(G07R=dH^ESe^G6B%;U`Oknk6pr|R!=hqTNKTkj{_g_e<6oEmr*SsJ*u}h}@ z)MmlpBb`^Qf@qo(&HDmMk0mq+4mWO?X+ZeX-|3ws^|b1r05S1Jurc?99*3AK(ea>V z#hSR1MU32D4{{LsW=rl5F-x6c^Y}241=G(AD2SE>JI*A^)H+yWdO*e@JvTxZBF3!f zuSs3>^?zKlj>$U{@fEI-U;n3t%(eaFZqv{)D)q5=#>^91=pNm7l8hPQrV^(pOs;c* zc2)6zn8x4$+{P#LqeL!z$VNXr4_pMDJ9$aHJ01T7k6Qgj%I;>su|&p<;KPCr1!~*d z%siVm`d2@j=^Ldasu~Yu;kBuLq$dLbEZ}A0IK>np2|X(!HQx`Yc|?A7dne&~SnU*G zdJM^Ssm|_WhntJ}+QkDJp6={4Xp0ys{bX_XK|}+BBB6V_{(Vt>H1JMOtA;~73p>x` zsA~?|_NqEl+Vym0+Fy+C9zTgvTyTy(8?U`os$*G2lOo$L|7-tL&A>6&9J_|&QaD67Otr})+5fC31D~# z4;0D_)r$V72mV|a%RwY|~62C+}7rmE9Pn}|y+Rr~OGSmkM8XUvqppZt`3>XMx2+HW`+ zXkD__@Lm=Fl^YSe;#5-v{)?bI@F%t)*l2g5B-FNv`^iNJUx08;QeGaoG@*vtBYU_h zez>`RQ;c53aUWkMpA85|2peU1_a1n2tpFVX8}xX5FlM;&bo?p$UkY=(b+(wOvF1v_ z>-sP^=IqQnD>+8K-F&FU882H|Q@DozFYT4&1rw^kPzAOk+&4_(8TCa`VqvWyogKcu zU4TUk3N5(j4tU6Ya8={U+*Pfh;SCp|TFToQR=NJCwZ`;ld|`kI`Pl|CyMm@j&9V-X z^3LUV8t5Jch+Q4J=h7YQvjTWdtAUh-k1~paB}ljdq!*DKvkQO)b0@=)r>1|o081rU z)rRmzQ69L(cv(J50JzfpR|+CjWG)#0!i|uO8Q7!aaSo#6aVE^@yfb`1pkwIQ3YuWR ze%8@E0F@m1(ZA)`{6|+eB*j{Z)w!);kUi~Lea3`b!Z|CC@@f_v!T~e70!9> z*A5L*j>n-?=sX}TiOtWv*R);<6FtO8`0%=gNf89ED*(OA9 zfIvS??L7Bm;Q{_E!xZ_JmlM&@;N|IBX1GO}ywDkoQX%8S_-^V~21#tP2PBu;EuS=_ z)a;_03CDJBLL}$JO{^`^{-dVKV4C27-)Q6`1)R$DhtDv)n{`b7a#mbudrBcX*DJi9 zNIT|?nu`-BO?x`tFF_N}(-&vs(ZY?$lZNw^v6P9Ye8n{ku>q;oxVpXsetK%9rV1su zoN=$6*%Y}5U8XTi;JiQvgmNmXfJw|34eC`yG&ERPBB#+AOu?P8>~MhH&{l>N)q1`} zns9wTid)Yxx#wNmbc+F&ooP4-x!r@7%}(7tk)0X8>-cuNw|9@hMr^VF3e4}eiqJWJ zKXsPgHyoKR*K((Ly9Jj%%{j^8PJT-u&PJ9Edq44^Rz?R>l1>_CC4{3s+LnhxCC2Xr znAz~62cS}coVra8XY)n&-cna96U)^4ew|)e>xT>n+rOx#0g`II-rd-32=qp9WNhqD z&WQ;W+QN;}yC1R340KdDe&M!7$qK$v?McmWw2+PpPUhE3a)7T3oE_2?K*j&z;^@9M z+Q~1?A%cwWdA4H3PR%t3_ft*pEG{z5-V*?b2+nD}ExLS6!J zmIhq3U-qthj~=ey0=pVq`C1iCcrjXmvw85d<%_Yt-@ibamZBLEuk~f1cpWQTGWqRe zqraq=3b+i7Sl`qd`GD=Y%bb|+MaqrJ4qx_lHM3PRW6_$iZK5Vr%R)$Xe)s2k3U zTY)PnAh9ok1$bsf`}5ioE0MWh3o(_Ffdqqk-r$-dCVYI9z>iyqUpLab)Kaut74Sy| z&}Xo36tclALV+wDH@+T(S`&@cPiyXva_cfRnPrPPO`?ZCrJ7u~^>iv;dA=I!o5O#GEYyzhnBpR7MvRzlPg zg`BC*ps^Wb@8Wqvxe?tt5)WT61h(xmJq{%O=+T|4eO80+THE_14k)>wIc`0>nQ8_x zoEU5TAW3nTilmtDx|1E$o-fA`j#d@&6AiyzuKTGmo&0K46h* zJrxH4>-wn~T94RBK+9uToqwY4mV{ca`Iis)TW;$v{G5iD5>2ObeKat!ocuG4{uT&wNB&fPp1p=LM4?ttWHdFD?ASBw451%`ffLBU}6ul8@^Xpsm0y0{>{y% z&nczy=+NDqAIwHC8gpqiChKTuB}9_0V>GNi;U(HjdiXZj*_1d@c@?8_cd(=cOHa4B zR)%56W1(|NuE(=bW*-jQwGx!G2%vb#;?JGgc#i{Re*1c{|E^dpUF$ z(`>?pP>aUQ5=3mya8H=_i(_cy6Nf6RSO#e6n_2Tkdhv(TVls<8v5d@r`i9%9Z6z^d+G5r$#M zhsVxvO&?<5${4Gv{R4{sBZy7pZ_|E6ZfJ3QV|)Zm-0sfIRitaZy`~-vtV2T5zvWtn z3{Zc49d5ZV%Jc^I5_t>%THdk*-bq5xS-rqSOq6HfSMZ5j4-HgLY!teRlTFrn&F}W7 z6dyf~R*uj<<1_2W{T3$e1Q9r!K4w)^8}RJ%E4u*;TEH zx>MfNzVCp2S9QO2dv@FCs5v~D;}a9Y^+YsT`RZijv()eOE9RuX!*CX@td*`DKIHzg z-~Myp{?#p7mC|b8o@RFKXrQap;ra!t6DG84g|MCF%!GyP zk}|f_HQ_z4iD-2lFV-+14_loY)MzWGBpJe*tZUcnT(h9#TJE;$O7(s;#}A|pP}GbR z|Frtk?I6^oNoIua6j`8`Kgah7q0f$aol=%ui)N!;HsvbJq{VxUcp&i+H>CTYWInX2 zd@-_o|0|gq$4L>lj$m0mPhpEEHE6!=SRohuVe#cdY^8K!EUdIqi2LIibJEc4Ye*8O zu7KA*rOk}3=XLsWmATJHON2XV%jLn{{K2R5``g;P0yK0P7F||VHLY&&Rfhgq6w~AS z!fz2*$S)?XH2<_EO~e$7*091OQP-l0KMT{Ip}7CCg|iTj)SZVQ1Z?v7ZP;=}&OX(w zMboR+-(q&LuWmLp7xSW>wG%C&TIvs)Hhc6XJ7X_k*K4vz#>@Ta0eycNZB)&i4 z472YNpFiS2ME8>i=wJ)@3<{*Z(KdOp7H!i+Do-|{Qi~`n%UzX|g!8@S`R1MIU0qZ_ zrM%D_T`ZqZOZCKi!lZy=CK3A}A54|eclUjmL@wvNuc){DJi_?Jo_*T7znlhci|Jx4&Ckt4;hZM#2Q(LHeMunNCKTk9w#CP1U2sck<*F3f zQj`WVuhT1CAVk`0m9~skzByW)O}OCc8SnayPIPprV0ja|wRrdkJgirw+}0l_*5Z4c zQTxVH*=5z~gbR-s6t#^Ac|a9E&Gi&$*lDF*gb&*`(q3^`+uZxbl{?cWcFhV+jJP8m zpYfRT6{v_En1tq%@Qaa2H*r=hql_d{X}-lbqIbG5pNIN{Hqp3HU6R{p6Vb=+L5>gZ zkA)U*cka)eSNeIc6U%gIv$qBqMRa zOqH%o^JUWF?S}qsr`z4i=HfUBTOdM#%0$0tc;+pN~o?%z%<# zCp{t#IT0VaYmV?QupAYvvLmE-{lfUi%ygf|Sk~N%4Bw~DhrAqO@ZtI#4rB0& z<0r+*i~Jg?SL#5~7ES|4px97e5Nprx9|!V!H;Srx8vb#x6Af83z&LC+3Vw)Vx^4uP z#w~KAKfDiaHiO=PT34zvmsv?KynK#GeC}t(?n_VRGf4zzh!>r1m8UOhcXz^;UF^#T>j?$OFzb1LtA>(L7^2{v^!oEQ| zmd^u5y`G%nIW4FDqKE6%_gs5T%mt>gsa<~wENs^z*S?dHOvXDgf>9wr@QyQlF0H9S*;y&S^Q_6uYKDfv8R2UN$aihDd%{ge^|vmjB_OgRWWmD^ArMuczhpM@_#t-{|ZH$_^U! zM!G>SylD-~X1bWT#B^e%A%kdZBp98F3@9E}`S5|Pm#@pt%{mq4AN@q034D@D!LuMR zDqr^IP&AGOZpCSrd0zDq(H~w#{@Mt*9A=S^VBn32V+r?rfZ46f?PlrFAX5SIf&gCN zp5G-Gb-Fw`yWyoMR)1CYu-L7e5B1%Bkk4Vd{k=$Y*2~X2AVbpE7f+@(_$D19k?m8b z%D09;D!EvJYxxbi$HP>geZ1KaQWAN6!8aF(?8T%K{5gzr|AZ53Y5qoGm01F7@J07a z0|cv1s{Lp$dV)4n9tl`=bx`Y2t{ugo!^4kCa literal 0 HcmV?d00001 diff --git a/vscode/x65.tmLanguage b/vscode/x65.tmLanguage index 80b8571..b26d1e1 100644 --- a/vscode/x65.tmLanguage +++ b/vscode/x65.tmLanguage @@ -56,6 +56,12 @@ name directive + + match + (?i)((^|\s+)(XDEF|XREF|SECTION|SEG|SEGMENT|MERGE|LINK|INCOBJ)|\s+ert)\b + name + control.segment + opcodes @@ -76,7 +82,7 @@ match - (?i)(\s+|(?<=:))(aso|rln|lse|rrd|sax|lax|dcp|isb|anc|alr|arr|ane|anx|sbx|las|sha|shs|shx|shy|npo|cim|dop|top)(?=\s+|[:$#(]) + \b(aso|rln|lse|rrd|sax|lax|dcp|isb|anc|alr|arr|ane|anx|sbx|las|sha|shs|shx|shy|npo|cim|dop|top)\b name keyword.other.opcode.6502.illegal diff --git a/vscode/x65.tmTheme b/vscode/x65.tmTheme index c01c1f8..31c95c8 100644 --- a/vscode/x65.tmTheme +++ b/vscode/x65.tmTheme @@ -45,6 +45,17 @@ #00cc55 + + name + SegmentControl + scope + control.segment + settings + + foreground + #a0ff80 + + name Number