From f10429927ba27c2e437f05f3a857b4e03c867047 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Fri, 27 Dec 2024 02:07:51 -0600 Subject: [PATCH] implement lookupswitch --- Makefile | 2 +- c/decode.c | 17 ++++++++++++++--- c/decode.inc.c | 2 +- c/execute.c | 13 +++++++++++-- c/execute.h | 2 +- main.bin | Bin 61748 -> 0 bytes opcodes.ods | Bin 26276 -> 33368 bytes p/LookupSwitch.java | 18 ++++++++++++++++++ 8 files changed, 46 insertions(+), 8 deletions(-) delete mode 100755 main.bin create mode 100644 p/LookupSwitch.java diff --git a/Makefile b/Makefile index 923ae72..e04200b 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ CC ?= gcc ARCH = -m32 CFLAGS += -Wall -Werror -Wfatal-errors -Wno-error=unused-variable -fstack-protector -std=c2x -g CFLAGS += -DDEBUG -#CFLAGS += -DDEBUG_PRINT +CFLAGS += -DDEBUG_PRINT OPT ?= -O0 DEPFLAGS = -MMD -MP diff --git a/c/decode.c b/c/decode.c index 2686c5c..f90203b 100644 --- a/c/decode.c +++ b/c/decode.c @@ -82,11 +82,22 @@ static inline int32_t aligned_s4(const void * buf) #define TABLESWITCH_NEXT_PC \ (args + (3 * 4) + ((highbyte - lowbyte + 1) * 4)) -#define LOOKUPSWITCH_ARGS assert(false); +#define LOOKUPSWITCH_ARGS \ + uint32_t args = ((pc + 1) + 3) & (~3); \ + int32_t defaultbyte = aligned_s4(&code[args + 0]); \ + int32_t npairs = aligned_s4(&code[args + 4]); \ + const int32_t * table = (const int32_t *)&code[args + 8]; -#define LOOKUPSWITCH_PRINT_ARGS() +#define LOOKUPSWITCH_PRINT_ARGS() \ + do { \ + for (int i = 0; i < npairs; i++) { \ + debugf(" %d: %d\n", aligned_s4(&table[i * 2]), aligned_s4(&table[i * 2 + 1])); \ + } \ + debugf("default: %d\n", defaultbyte); \ + } while (0); -#define LOOKUPSWITCH_NEXT_PC 0 +#define LOOKUPSWITCH_NEXT_PC \ + (args + (2 * 4) + (npairs * 2 * 4)) #define WIDE_ARGS assert(false); diff --git a/c/decode.inc.c b/c/decode.inc.c index 2823d7d..1841c8a 100644 --- a/c/decode.inc.c +++ b/c/decode.inc.c @@ -2165,7 +2165,7 @@ void decode_execute_instruction(struct vm * vm, const uint8_t * code, uint32_t p { LOOKUPSWITCH_ARGS; vm->current_frame->next_pc = LOOKUPSWITCH_NEXT_PC; - op_lookupswitch(vm); + op_lookupswitch(vm, defaultbyte, npairs, table); break; } case 172: // ireturn diff --git a/c/execute.c b/c/execute.c index 4e51114..38c5c78 100644 --- a/c/execute.c +++ b/c/execute.c @@ -1467,9 +1467,18 @@ void op_lneg(struct vm * vm) operand_stack_push_u64(vm->current_frame, result); } -void op_lookupswitch(struct vm * vm) +void op_lookupswitch(struct vm * vm, int32_t defaultbyte, int32_t npairs, const int32_t * table) { - assert(!"op_lookupswitch"); + int32_t key = operand_stack_pop_u32(vm->current_frame); + for (int i = 0; i < npairs; i++) { + int32_t match = BE_BSWAP32(table[i * 2]); + if (key == match) { + int32_t offset = BE_BSWAP32(table[i * 2 + 1]); + vm->current_frame->pc = vm->current_frame->pc + offset; + return; + } + } + vm->current_frame->pc = vm->current_frame->pc + defaultbyte; } void op_lor(struct vm * vm) diff --git a/c/execute.h b/c/execute.h index 4bf72a3..79f7cf7 100644 --- a/c/execute.h +++ b/c/execute.h @@ -177,7 +177,7 @@ void op_lload_2(struct vm * vm); void op_lload_3(struct vm * vm); void op_lmul(struct vm * vm); void op_lneg(struct vm * vm); -void op_lookupswitch(struct vm * vm); +void op_lookupswitch(struct vm * vm, int32_t defaultbyte, int32_t npairs, const int32_t * table); void op_lor(struct vm * vm); void op_lrem(struct vm * vm); void op_lreturn(struct vm * vm); diff --git a/main.bin b/main.bin deleted file mode 100755 index d3e8978f978394dc58ed9f577fead84cb21d25b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61748 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 diff --git a/opcodes.ods b/opcodes.ods index 7e19be43eece456a4d7edb33e251d2437c0e0465..f75c31b33734c07e3e5395d663532743d952389a 100644 GIT binary patch delta 31877 zcmZs?Wl&sC)IJD=AOR9Ag9i;k26uN4?h**@Zb2`>VQ_Z{1b24}4DRj_oZvqA@_Ya9 zZtYg>{c^jyy8A;Pd(LxC{~m>32t+_vl6!-Q3kQb+2WKG^i>`uTAr!w2&-eO^ouG&x zgU9`E^qnF;1s?l<=f3|xb9DbR7f+7Bj`Y9#CpiDxPmVwl+XVWbjm!WF3d-xr>DqAr zukYRK*xALy#?+bdhpo-3uCDWP(?{Ra$_bij1wPequHhs#-KK^eWC{^f z3~2|rftt%h2>t1A3#il4P%70Q9^}1ec(VP&930N;0q>F5P?1x1%&;VQNDn)9D|oXo)1nfS z+SC_u&%Q+~qTRNWm2|Fk);{v48`r0EN_dbB}E{ooSE=fEfNgPfJy8YR@qfm*rFK;JTy2oVi)QXI*R60^bkw#Z_9~nq($z z;y|*MeZgsrgRF$f1*(Zr7*_pvZPh?hyMoR)JcfYP*+KWgZ_fH{_XcJhUlb}MWT00o zl2VEv8`4jbBkh{-Kr{VVSaF~t|+NQ&}Bc6s}F{e|W3s$sr~dMjRg?U!UCrr^9uR35V|)9ZKKOe962)X^#=Cgnj@?$_FfFh>Kw>nS({gjWs;aAJ|V>Nvx_oCtsvZvz!SzjrQ{@*$~ zxDpasqqjN@;v{SegLsx7s1eTB0`Zca9au64uD^C+_PyPq)1p?+b#lg3^dCK)dRSodvc5RKx$Py|p2e%IvKp@IC;Biv?@ zl&3gW>d!>{jsyWOBpI2SwE}H~CzS#LQ46*M!gM>-5*a5!%AOpQDgw#pPqvHBPg-;n zGz9RP3BSpR#7oTpbaR2^QKBMD_FGWB>98+4dvEu0#v zxJ?iqNM%kBc67tEbzjkN4X^;S=!ko5lO-w25yO8R>T>Y-SwmnFFORVJLVFG9qD+%5Wen#XAygZfVJy1%DgG|V z0L%BTWP2;s$#+enhWZVu=8ATdcrN2T+(iLKLD*eV?pKng22n;y-QLuRU$`zKcNR8f zN7cw1=amSl;(YH>qLBwxik2+fi8zd>qH>QQaQI(DRzwx;mrH<;x?Aamf}^{rj3cs@ z{a0JRA|`M*oM7LX9mE_~bUQo?=#-o7irj|YeH*tTXxU@5DmK6IUlRhlbJ^>L&ZTol zDNH~Hy-w(#G6?&7g^KZQ$OY_K)C`>`BP>2bc*9K1nOb(@P%F5 z{@qvd1-Z5H9}xiNUh`v43CBYRdBOI=R}wZuH`;pZQxc|wKN$w$+&CBhs_`awgCfzK zL=G`R)TAuH?kQ_Wvcl8iw)9`@L0OM?W@YbZ&AlxE>Ok{7j8pA7Dx!+M`vC5)9ml-( zl&dL71uO9u`9Be@!pfienut4T?;&mUl9TX5cosdDQT#wAco&f}nq7bxLq1RJKI~10 zdF98lXHjYIxZ}QK)eX9EcD>9>4MryDdk6mSJpzS^^0RC~-MKf-f2#BZ8PSFO%_|WJ z{G5Zy!e_L^eQz#{>hs*eq+n)_Dw-=u8RaacV6yI(b59=kVMl+> zbAqVj^iwJDv$oKT`+VP$)ls%s;}bBI{Y2w&nq&Txbn=*vcVTooG40AzeOE{b7X|MKFJJqcy!)rjTdpZJ)v3bi_5PtE(U0Y(A#|gyjh4GyuE~0x(pi)(1-Wyw`CXbRq!&3Dn7gGkthvJ z)=V4tO`t`iH85Z>C4Ue6zJQBph|+J-X7P?OZ~;H^vfz82o@9^6tbej?ch~LTn2ieW zj7bG5fEZUErEeR~xX?Z7ZUq?9R4FLKEDJ9cYm6#Y8RXw#{R>}` z<}E@LODI`uYIs_a9zKRDsZS==I+-J4aEw4@>aC#SlO?k1!~6PY$#(_s*AwJ^2IdvW zvL#_s7}OS3;!GiXi5-vn@9?wF_aR_6`kOH(0EYoLbj^Y~%_;hfBj2i)?Gst{ytJ&C z=F`pQ;2v3z?;EXIrNP1?k}RbS6oPRrjt; zsNN!Bj=d0%OC-H`^YL6t{|-}1Kdw} zR<`aVI*F=Ae{*i$P!cZ%gkvQICIm$sS&Uf@$q?^Iq}j&F1F~}7V#>1JmHCTNN*%OF zt_hzdI%K9Y5`N^5R*)rPg#6YT*Mrsy_407jq!sjN5SgM69q5ebMOBd-KTQ zPDxkDX3_Jrs6XoMwTKvvjrpUJV44WLPNh~~+}rw)Noy$TAN8WydXxEnC}XwuS^{D4^x3M+CptZ86^4m{76zK{2YZpLz;ER`X0Ew*5n6dEXMB^TNXe+pd3SEl~!|w4aWT zJVn9nwY{Mu6?CfPe?043w7?zUs7@u$;!njTI`Ua|1uC)zU-}kk%?G#Bax>JX&kv7G zu9W-cTEF7!8gycfI_6i$_Lx0H4qxj}b&64a#~j}M?!!mzrXCBP-$P;4&(|2#xqTu; zcHA~9VnG2DYH)r4pmYfzu&@$?owT2@wv+u%H?$H0_{BR?%tS~@GU@9x|F&Yv7o?Vz z)=#rt=fOhYQ9fXu|HZyvuG^q^NQmQ5F<$sbN!%kbzHStcMy;MR75Z^=KbbpHq!Cu< zmoPAn|KuCS6Qo4!Bm71eYbybRMoN^hOEsxZF+6koc3?ae@O0A0)V)MZ6JzU@#`pWW z(Qs9mAOrKKYclj053c>maZ%?fwerLpgJBi_P9$KYhu&(FQudA9rU|Kzh_A5{@`eQw zhv{`w5pEY^-^~-_y|##hvn(D-aKpC{Ioe=9H9~)hsvHkY#dkROAiZ#8g5|yx#*+=i zAEo>{#(o|mfDvsK?J7yId#G?Gc6E-820}6DGoq(IYr0sx-$YCR_P`ajxNIe@*u+;N zw1E>!FlJO^Fxi+ug*%GbiZ_wr#iuX7HuA=pQL%ZHX(ExJfs^^@?E{o=7q0N33va<( zCk91tpY96fV7u5x2w^7}_z}|~*tq=EZ2l3{kC#smKsJ7-qJ;JYuc=5Nd?&I^lAMv$ zdBRqT@eBx>U|M2weAGnEwk%Mjfa-66){d%Wrr*Iio2!6y)+;6RMFZhb;2AS)0Z1?H z%1=pW=CV2xrK&EdNWh5Np(L?S?-gv8?t<}Db3ba&!0GiBVx#=-a#FP9(I9;L#wk2+ zWooMkaMPcNx9c&VC*}K-9($O_v)O!fiprmUms=A5$6Bs;H1R7g!RP(Y2695R6E7a1 z7Q0Ln#SJCzHol~_Q2bDg3(X}H!lV+mnC7ykUv_AiA2zXPIMB~!Khd@#Atb<&qAnpU z#IvYv-%oFzmD7Ijinp4|6&WClUhP|B`{%YH3K(pmU}~e~DD_Heh_)#V^geVsXbb*w zuXe9mM|@QHcW;k5_eMsov93KKrEzFRkwOZdWj`0~=Lc<6Q97PZbdxoP(s~vX)|GD` zJiU&3u3^{r$3e6VZNE(}K&){o*JKn~q1Z2a?|!Yvg}hWe7F<#3?Xs}(U75Bu75YYf z5ds)drTjxzVCUkjVmy#b2izvvIyg@Y?;L{pk2^)b6j5&xvQu&p8Obz?g7?1ja zo1f2;0%4(KO3P|hs5Cr!wM+Zw->2S_wLnIeDz3@rL?PXCS2Qm9y*<^CG`Grg`>m{k zXq!7BXHt$)bTtzfmz~9#B!;O3FCleFMFC*8h-Y&DfZAK1gR~t^%C}#;9zk8ueY?KG z?-wCP#_kGb-#?GgM2(4TFOrCMJW~RL*36xm(}jOD6U~~n_N%`-2xlFx_}QOtvhTx* zw)E&Bt=5t2Z5EIEXfICI!_9cosqPrORi3ipc@>f*g-F3Z{8e?jy7mpE)>b3qVe0@V zRpd?iq${X`SZG9H&+famo75M|Lef87g0;L+*q4mA)>g;QT~2B8Qku(A(`{TC2MaZ` z4d*|8*)o^?;w93)8YzkNw=Tc47(WY`b{qM!Q)jt&BW!JcfHIH%wA+{3K6Ys3*=fB{ z7|rS1b`RbbLc43+piU99CVa~XUla&9(FD6sjZ=J*MpM-fK6z|xZT{TYJbbj9^o;af z0#PeXriyEWo6ntxDLAu0+_9}Orwr>>O<~W+I~HVLzCG9Csyvm9&)Vp$4)#CMJwu*YYwj%^oH6zP?f?G|!;`Mvpo~HnysHWax2qce7h42) z1E=&=P2w#g5(+vF8WtfAIttc%EJAE_Tx@J?T!N2;B!sxw1Rx?3{Evi$Bc!#48Q&`Q@6CRG_!HGcd)m1`r&M2_QTQI-Q7*W++Wk$U(Y#Q z&pp=EJ=DxQ-o-o6Iv~xblYecSRT#;`|jlY?EfVD=LlU|IQUbwqyke73u zr*ZhtAE^O0X(6t^LTqy*Tnb~{fPz@>k{Gv=c<+i7-`W(P(6F$e$i(otwD`#2)Y!0; zl$7A)qTr00_>BDQob1S)%81;i)ZCJU-?g#%EeXZ#X$3Wz#dT?=ZG}leg_-d+nZc#M zk{fa(n+p?v=jG<+7ym9UD=o+^FZx|lQkqv*S6tItUzXoeQ(V>1R^QUm4m4D?H`TPZ zv?P`O$*38~Y?{n(94u^`s%`D9>>4loGgsd|(%RMA+B4EHu-G=S+C2KVZECB#F#1nf z(m+i{PwlU+hEix#`B1~J(dOSHttCAzH9hUkgB`V#?L|Y~O>=+B7Y7^HCp)%A8@8v~ z2L=XuMrQtuEe?%M4Nfl2jsU%jQ-cc&^8<_fLu+T#E8A16`%7z^>l3uK(6-#V$i6A>*uUF>N)eH={K&UKHjBPl=GG)Vz=E&tip|v$(3g z`!wcd=B~|1Hxj{%QV7U9;5nP!EV{2bk2z;uwxM4&c&(@Cqj)Nxq|z9$K-xE=F5%`Y z`8tffT%m{#n|^AfM^Bd|?GJw~?{d8#_j*EZiPlm2vpq{*h&C%4*Gj|Exh!CHL=9Y4 zu1};uFj*Yiewgp1!(*)TlsBW@8OU#!)4pb-Q>}x>o=C~10H{K=%FH7dQ>NQ>s*mhgMeg-0ms^MSalx`LIx+1b%L^^R&E z_r_H@siopcoeAS)h|Oup0ZO!uR)mrVV(caNBn^SgK;d)rdd_sc9gL=W$?{0fWgwQ6 z*+X?hL3lN2mc);2H6!&pO>38VBC~#MGac3kYv+ z@lylf_`WTqug4lNC-MwYZv?l2*CQOC=!7%r_{=C$$ldBfOTW4CepRAYw9jNiT_!6a zUgvkFaG=2`Z zO?>Bx5s%;9F#^dcXjGSMLUEIzl9VCWlkJly6XM~&RGRu`f{YGy$a($g6l_Q^Ci1Of zJmHNg1k)hpYid!)sLQWAFR}|?fBGN?BTzA4BLZKi)^(|j9ZDME=9;^4?;%6R;j$MD zl`%|11S40{<`)M&-zWsKaa?(bmlcZ5MxB??tXGN1&2Sr&Qfs9-h&Y+2U3EA_mfY*R zct$*_ttxysj`U`UpEBSo;|wiha`c+}EFsr;77B?Cbws113cy*Il~Fjke$bUkwDcWIWRkVip0#7esB^bH#$v5K_`rFa)X$Oxt) zSYONHMPh3d_BJR8d7Ef>iX+c_Df2~iBJR_OvDT5bTI?|l=c7qz?H*!nyZwbmEvlO* z$Gej>+k$C@4XpG;Q?weA>Rjzm8+)99Qiz3Z> zi)cSq{14DeyBoNpJ~ak9&O70(ybFp{iYAL+y87GmAOUGz^Q@G#(|@f~*!u?x_GJG^ zC>xu4c!|66nW|SCQoQ|(LBBqG5}QCibeOPHrLUaY-)1;uD2VOMLj*asH$U&81`GwR+0Wxi4SlaoDeJqHcJ= zyG{vEA#v?Tt6j_pJ)~!HYnRGPpp!os<$(e3O39oVU_>RBzyGF>U0PP@9K{$0{HDm1 zv3d0OXy<-pxuIeccsti}!bHrY+mL6_^e4n4ooX_Zj#_?(@@QbQlauqA0PaO9cQaLK z%AI$;Q5f{HbPFeyaNWnc;&g}JDFTCMq-E^FjZ2RxIYPL2zjqG$oM9RcTr4STE{;3u zUWfeI_BFb2LW5M^<7+?K!&k7wWtfaDK7a-`*U>Mho~QCZ&GGY?Vb^}x%*e`c{-i+L z@pjyzCgN7_TTW4k)hy0GEWvP<)ZC+H1g$f@x0(alg$gk-(Dgs#Y*y;Xk?Yg3n1MAg zk+f2(q(vc`@CBVmq{{Y6KvhjGzCU=Sl_0p_BhBHU=^7*b-PjCRHQ`D0K=n3_@9r`I zGnSy|C-jS!v*30ny2Ny;OK0d635ddCJhT^1oaXzpb4spIYtzSi1TRK5JhDe^;%1?T zw44!)&u{ETTb)LS`!jd(AK7h=g->Y!)7X^ZMeRo$ddLTs5r2=b0Q<~Dhui^-#^NGZ zi)RbSO!iUmoQ@`TpYbR#lzbWDovoYZ7^{s784Zj_G$rfg_%YyqMISY9PjPptQR8dc zTr|v616z+-P@t76A;I(Jy6Xt4fhCzd*>P8gjZS^3`5a8daqju%;JD}+E&+NdV=~_s z0GT&xF+Q89m2fu%&b3nrm*N*GR7*+!=n{dlMTZyXItDhmP*2i!c)Sn8(=HfCuSAKL zZ;bi3t5=3MZyQ38cUr$TH0vjL>AH*DwJ%$pSFZ|zvb`#a*P7}05}58s;x;^OwY*sy zYujZ{A2@}x*ujFkGOl+ znyU2Dxwyn{j}n>?}HJJh)4Wq$zlQ%N0aWhL40|vqrKIbB1Jn8WU;5TK7WJ$W! zFywCc=2%T&m$VLB@Z0p}L$qN0VB1^k2Qzcl;tVMZ8P?hl2;Xqfp0a}QPyaCaBnM>g z`q|2}syA0NpJ@uuZU!{M4dRd0Kuq7yMPUn!Ta9i;Lr5`_VVVy#s1eq+6;&`(3^>)K zt}6D8s80(Aq8sRGC_k7j3h7zvzPBJ;epz~Po8YDb?iVR5Ogv<=$OMzLJ${YIVhtZ_ zdq2=8<*smmg!-k*P4#!x7K>sbvoWXpi3XD)(v=_Ti_IZ&b8vJk>qm9uZ}F!6l!lx1q}u?3S>7miKz zpTD@HWG~VsDbg**4-suYEWY`)$lV{K-KUl3Bl{~|o$12KR_k#=xj~bImt-q{Rk|LQ zxjJ0w{E3u+U(914zxI0;1rb8Kic7`LMq>ofTZ0zZTA_D&XVIl!I+28jrH+6olhHC{qoH2|S*~Y1=f%+UYy%v#E|NbRLTZv>|}v zd}#)vOc@4by#CCAxDtA*qEN&A7_bZ<#WkR9u$J))S`cN`3fCEpn6skwcsMmJYW@xl zZBXd5Kv?`?YXBG-`h1IDSM#(T<# z52S*^#G`9b(2%sQYS@80zu;z=4L7i6zz!LAiut=V!zh(X_5m+Mr6HY-JrX;&P5(TM zRzVq%sebwTmq0l#_(tck4a>^i|AKbcRaz+t!p>9O5CKmjVVhN>uM$(5_0FL@8FMFs zi-uC~OuBu+@pmRDdsM)sH&KF*Ko58US!H|(I{;dB+H;6$c?R|*?(p_X`hl3wIiD2- z%v(#@t4A0p#+Pp*&t|`P_~eTdWH%C-fFAuxIm$MPEu7$y#3_$`iIlzFas5tk(?+<^yE;gEDKHZsb1?4N5nHla|;kSi*zkO%P z8a!!CDvUnV6iu5Sxifyw{)ZvM0tT66YBW7B_H+4Sh92rnh{Ydv^;Cl2pGBD2=$1mH z;-qRGcWVDne1TK6+*BjL>Vq`rz4AThrbl?q@9K`8J< zfh_3d$E|@mc*uvC>1-FR`kYwtJ97$RR|h@9uUSpZX)Mpe)Ql@J4BYQQF3VXJvikn^(CK&ZTCz<$gn%FXUB?DPRU0$Q}m2Hk}#V9pb zVVZ}nD-GWSn-?me16_JWC6w^>e3ilzhVVceh2eL0K<%WuFPVULigve9ikBVt$L zq-nL7byn}H$74AuWT&e~zx-*7E30$U-ofjJlc1WNisE8CQ@92$)>Dq5(c3@D{pYh` zisG(W*YZ-QzCiu@U+Bl$2xY<9kg_EwD)$-k`0=Xe0QP)Nm482klsjM=+7%r19J+iM z_T)Jei!b9f5~-KwYkuBl9M=_iVkUKl=h`TQuFty(pkNveMEO7d>)}yj@(mU{R1P}a-xbc?v5`N`0VAr4Ywto?llf)ZBf$3!*0at7 ztTnQQ3O35~c2&IJxQ4NJ+TbyKEnPNBKNfBrhC;bSMl6aX>4~Wb1MfCFVUMXK+q9G~ zj%CBoqU&KXJ&(=Y4(twDIC63L51w(n4^k2F=3r;a=`OBvXsbR9p;Z79J@dsQ*j|~Q z_yQvsKr=j_L?YnGptq&c9GQTrkw&J$&#oXzf3 zI@78ze&`1^H!R;I>$V&XWr!#MJv%~Ozt%Kn1IeAz8VmhIWt`7A`vK{Z4G)eNLD-biSB)7hK@4dPGYvk zyER$=-g_c_swidQq3(2U6&TZAfq?Ay-8k$`KC zMH@tjlbbyCuT;@8j`Mw4d}4s$PL2W3t3Mh3nV$2p7*ePr#H#&xg+TRui(BJn3kM8F z$TOhdqi$}|_4*V>tchFWMx-%?3gh3;<=z#4dii?0vF)kLC9*ixT-brPv*u>6%(==2 zTBl18qEmom&l;XDRo=McCD1~$eHFDHeWR_z_fxG*&Vw`?ccdFU4BuYE*|-5I)^%p* z9_yc)bH8do8jlc}h54M*LI4J(H($#Aty#c=JIQ1;Njgo~B% z;qv{`Wl%K?BMR)BmAh%iGrr089xOPjlvNXHYI1%Ml`zu*V*o$1mFg=Q zfY_s7&PA!!ytr99nVjzs4-af2mm=A4D4%+=nCiYBK21q@*^hb!K!u=fmgeU|lAss8 zrd=9YX^vM3<|@b#0SO5? zk!v414&Hxr@Han)99s)r9m}vBCE0`JraiSE$JlEZe$Q33Fsy>U-+ivZH}KBNF)y#T zAz5gj19$BF#CI8pfHJj)fPMd_>VsZ>+1--v@KvCKf!mk3_UaX)VFcZilZI#hq@;5A z;a#F!-cv0|c57!3WDwJIXfr-F<zLX#ZgCIZ>9fo3qJ{BcHd7pnVUQZDH56uqb zJK3{%88s@~{}YX2;RB;8} zj;;a0oVMC^at>)5`mYM;jkC=!pqNnyLgi^8VRe!F=J3`5BFI~h)efgJ*{?5`bu`cJ z-&c~>{EtP0!FTHS;A;&2%q{QmLAjv@)@O)pEG8bgurKwgDNskVOOCv%yB0XSboUMR4wp|b~TPH{k=kJCfG0x zaemztCluZou00Mqqt0OG{B589ezicKqdTF3>Z499jer?m+}A46C_Xl>;l(iT&KUg*X*x$2G1&)I)| zRqjZXsE3(%tYlo+`Q5HV_1^bb66Le znTqiJ_s>g->+!UCRiU2r$=i!$<$jF4CxFxSmg_d7Ov*m)zzSATk~MQvOjU zxQ*B0hN4bnIFRYlhSdxCK5HDu4FtTG(fob_Pt#M+cQ>sodxC+~4)#^FxFy-)OWLyN z(Dde8?osls8eL&i+CAAWiuZV?kJWi>t$}46X?x3fpG*A$y*SQnUWPmtfjSd_k`O!E zefkyULN>6kCy-hTvlj*u;}JVx$mDLqcO0D>I*+s(r10ajqMD!Q#s=QC1}NDY{*Qt& zDHpstpVI9PnDYpyRA!ls@iQ+gM#)?2b6c=)&HZcE!+6I>p@_30mJkblAt63U=N4mH z!s}eBfC_ErKr4-M#~IBUP+VsmP0nxk?!UfjU{oE_u@CctGVW-uiBl z>K==rexdBg*VW_@(#Os*Ir4$oZe?VvVBm*D$M1wvE{gF@xxbKTj?_EP2EOnC)tcs` zCzBpYmzie#=Bj;C38Q-0tG&vgL4e_((8h^rMEYToj%u(xTh!6)rn|pV{2#n^!yncK zQyyc4mSq+Uf=@W+g@4oT0OC5>(VJg;o+PfHWD~qh;?tRYEAyh%Zc=vFv^sp~fvqo& z^U#k-QlOV4F}x^h?p*E1hZVbT$?tcLqjOQ^E28g{$uVa7d|Ob=1^yLH12K_MbH~g- zi@QjhT8~MCl2Z0*<<6J~M^=%S_ZYW~aVR?|R-(qlHRx6$j6WT2FRTUsBp1D^49KH2 zJHSkr3Ib&7Ht8OW<|w}=C>+0lVmDs&ebIH#dM0R8lAW&|H_B^~fJ3Z(Gww~H{ zkA=GbBYa5DS65{6Pa9A)FUr%Z>Mi|ZA4umzIfIA?-?&e-MN!Wi8SS`8bJhjZS{iTXvylo$7zR437AMv3-uO+B7irpztS)akg^|&>goJz zh|ttw?u%=$-PS7!#v zi;6FAVaU}RO~6SQMbLW0zrCbd)GLD8+YJpTrz#G~R-|lLpMJ;=?ppOFB~mZ_s-?jF zg!eKgzV z^g;|1fDpmti9Q+2beyt6NTokLAQo)aY!cr{$-TupMPd|gMc=G5)~efRIrwUnx}7Jt zeTwg>g-XQ~<#mWS%nJM0fJ1I9T!{1VO}T)YeMt?)i46d|d6G1+pqYi{bieW&EP3CD z{DP47l!~tLjVJ#071}5B*UYggci;c4g;@5%Fv^^D@GJi~jeq3~gRJ{G?z36@@9~nX zSPtW>e#78x4~OHI5MMMavpeL$;{Ud1B~F7Hi!;-Gx^W1a@k_!;t{r{YcLGdWEpGz)-rZ&@Kdirk(YfeRM}Mg(R-C z$Oxy`JI-{^jc8-IPAC_acEDz03Ky$uIc4gapMc!79SVF$qh_;*3V1Zu2-8%xMg|@x z~9Y#kQEfs zAL13ZFk!I;QPlQssRyo#v7XlbwuJb;Od^Zbc6_jRAxhX2I{vD$(8p#zmhd)MxMMn9 z4+uPC4Yc(+KL!gLxZhO$ex=XcCEP_8jcVie$f8GFC+86YPao@NH+5e*X%EZfmzq~| zVK@#{5IAO^ku)p$AZq5vdqu~UNC5cqg~bs1sOn!e6cTN@_fKNH@z^y@A8aPQJBUvy z`$p@H(~`*aOpf0?(zm&MIOY}!wYO9UzPiZt8q3#@jpN%9J9_4EOTR%4m&betVmqGC zQE=K&ACYY6t}`l*^+6t=E2(W&?Wzd^zNs80u*V}W6;dh{~NK9ZC?x^w45*>Cg z5!$qp(C(-{N)In~DkK_WF&-2HGWV`Xu?Tv)@kpx+z#W_Y-a76#@~`C5l>Y#b97V9j z_B`IWmPa)5mulAjdm7CUlM#3rXNNFz>;RR4px77)VzT$NqEP?yL7?vXKkcYH0iU3u zl}E;pfip@;IjiwUO-j_J<0Y-6EfndW{IxNQ)#sMkkWNa6Fil$%y@6-DL+f@FgS&?R zau~t>`AmU)T;ACssuv%}&BR;B&nh^baD2lvc!skpq=MhA*Py0mSY1%}R*YzJy|=Rj z29F_1H;V)b^5t$;P}EW0@8{aB3S;PecQ~s4X@h@v7eELTQ}Rklb%Xv;U|;zpwmcbn z8oBc+^x{L?YshN?W;}F3*$sKvHLzy)3*ixPBEe7_NN7F8bJBt3iIkKcVUH8sK`>9d zo232c+}B9kdoC+=R|rTKs7OHRk>`Ev&`<$?43d`PXAS z9if#EX=`x*NA73=QM?7)lI11s$04BzibGBp!VjmSyrQO03V7U-w4QMR6*2RNtClPQ znI}!8eo!WvxJ|X~-~cmK(iB?4=bt)#$)Yh>LqMtYkDV(IrxCqTj^Ay8>L^`vBCfjh zke7FPpMGfsxkN%MCq1k~nnj`_`6ct8a+JZox+239(*3e~l=UA}ll5{5Z7_N<6GGzZ z>TfhJL>6rrTD{sa^?h{TwsijAy#yfU2y2#{APnDEVw_!2OwWw5Ew@=m#i_m78hC}g zTSR1Hi~g*1$6QUZp$?rlYP38dSxXuqadF zrwEAbpm76X^q($LQez2|2#s0WV;yg+tw43D)~?NI9BkEZT@6@9noG{{{^nC8;<9_4 zJ##$qRVlCUlxltw{pn}T%^=H;0Dgj>(Zs(d6T1FuJ#fWnF)fJVx5R5j2$`Y7lJC0ZAP%&iP_~Yttvf6Tz-8qY%07&g z!x=PjURZag{dg)cWA1PcNdA}2oX}YSZ>*AlN}9g8dNDX0*YJ=B-Lq3|w$-PT`6&1I zxpAx(#);9vt(nOQ7IZV6-Hhi-H{2_tuFf7nJWv>~J=R!RaJnxdC0(BQgXZ+X61wZdbSm={G*h5!ZsSUviK)H%X9^v#N0-vV|81`DD!`fwDGhDRCun_!m>y=Z`!FnTJ;-{DcUC1VxfG{s zvoVaJZk$|*VkSP1{O9>Ins>gcq7a7O_PV}o015oRw{a6UuW+_faPW}+^H6mf)wdap zB9fc?>yf`9&=td1`s#l34IVpIiTbeIrh`zQ;t!TVvQdJ%aa2Ng>cf}cnMO%I1|#Ch zy|j!D9Vg1b4ng=T6h4lhh9QdAfF_+vEH!}JOeA;jh5Zkwt{I z)wfq~acLBKBtEb#$GuWBU70*s+*o9Gy(S!DYuE9bQFu*%iS_3_d6khH+bCX89Lw*B9fuZc7YCAm z3lc!{(5tunh!&pQ;g)a>#1yC7WFzF0r9WKUOII~6`&IyqJTyZl_?%cBsPI54_<<&KB7N*;$copwJ_^c9*9~kd5AW*{n)@OrTO$3 z^W9d=Q8t++ zoD%QYsQA6X?^16*P$#hyWpR^`T=sxIJ3HvAovg{(Dm%W0wBe9a2%cN6r9J7lqUDCb z(=QW@Rfd?Hzh>Rg)w4u$$J*`*1`=1#I;IXNXFE0##&JC?qx~K;mF?Xvv=Pe}#0S($ z1;NU;BGhX7PEE9USMx`-9&1kjw;iH`4KmJoo4c~yf;RNZ(=1uR-u6s-jc*Et-Zx~5 z@)Vq&{iVD&Ba*ry6_mDdU2b^g5tsFbJ;p6@hyn4syr^^gUA}zkwPvX(n&gjJw1dj} zP1^}R8ZQ5{RQvZ2nz3$x<0rPX0BR4 zmYZ>Ig5!NIy&3UVBA0Q#Pq`nberd~2Q0HBL>Or=hl#vP?#Gnw+(Za4QDpHk5?!7G! zReyeqozOZC6GHovdJu+Lz>~RS$V6o0eiHk6$d`)P!c|w91BK6Frud(GMTH_Q{O^Rl z2gE8^0W0WkW|*e_1)g<9D*;Xn-ubWf#rynP-8QM$CZrRC*#R8WG){*7`8_;}O%zS! zDBhpNRNDVl#$8YVzgPzpR zh4_sD>=HIX=_zxUrKVx-~s(3_G$RT2%ub87Sq61V23%}Uf!DH-Jh75k7pV( zGrxTDc}P=yuYP6Ky=tzp%{g!HKZ0IrEjXk;dCyaG`Gg)-w62rqnj3PJo?u>R9Lt2SfYfh?ez_r=XKKw}> za5pQ$ePrwuAEk|%>&VxRrR@E#O}q!7z6vIlNit6CQITW|e)wgL%yyWG0wrfj7V}I# z2@aGGTq;z_`tz?;j?9MB9`|C+@*m~&?DgmI&6h*gDNlyi3VaB-qfA+FS7*H2I^0uu zr#>{etng)6!}-Q|@RsspFW^#xG(kx*_lxA8cG}|tPC8y&J2#6f|)bT2U$Qtp*p-r)*H8O>J z9f*Qufyq-V822TyO)#8Zmes2Tg%mt(g!V!Hi+K$4~HrFFep%I=-l#vCEIzQYc-?D>;zOJmw* zO*k#>M^Wd-(4Dn82BnTXbA?MWS%cfYi=I$ccOnKs+tj_zmRlWfNLxLO)coph=j;o> zIMf0^7cI*0yj27R8VjRrD?UD=8}29hcWlGDG5*q>u_W6{fOh^hE*$(0a}lR z3LV~p-#wOtpXvI4iwc;UguO15*^R)`^q((UGN0ajL7R(|kjgB{{wB;IsG~hGREKb* z+1k6A-o1~9a3Q|v8Ca}9HR_=4iqB|R?#FB13i`j=ddsLff~H#-4GzKG-Q6`f2^xaC zySonV5*&gp*)-G<0v)u6LRT0An`uZc7_lyF^oEd{SYQ0q6TS*Qm1LSVjn_Fc=B6Hm>FiL;>qvJgLS)+xH^_5)tgMe}X?R9o zek@_fFS#xTh5@@6fusipX4lc=m(9fnUJZ}&9P_*Uh<4iP_t)}vUqXLgj_;;RBU>6= z69-v0s6~D#=B)$dT6Qj48hH#oL7VH5H<`GB^zo0oTdg*>$+fNL9WRIvpG?xRfEVT2 z$K40wdDO_*5%F^7_YIBLJ703+iCsM!eOECe@=@E(!{RyCNCn4{4%d0!!PkMr5pRlr z?{ayQpyNnp(P+@qrmCst5j+m`I4)cJI<>3dYCk_B0qptbmKjH|f#@ZX*_`b^#=)cs zU67Trx=MowE|uXM0<}ulTpKn(F^sERCwld+V<+iC8fC2PhXHKT8qf$&*nFpoSlN81 zLWVk%t|C^NibN zb2nmrNC-jrBm@P%A^QH#yA7AxLwBU_A^e2{2SzU|)VcQ6Nmh0Og^zrL@BsEczYOkE zpxDY@si6I73b<{a_uB1CRv^nn^sgSSkc69wW;*4hUQg!h?BPozX}3$;nsKe^tH_1a zqt@@U4SQHv5H9XGUPbu*ahP9$MTn~?-81x6{draeGbc!ivwmZXg`R@XL+-@uCrOw& z@9gv9zB%uo8WnyKtSVO61^wE#^V4#cF2oIl7qSSSSz?ilp~aWbj=gn{d_V&EOdjGI z26yU6S&&=+F9TE~EB;jEb@rqg+PB{Im8rC(j|qKIguS!~%Z1eFL+1fNF9MRYiHH() zQoOG~=x9HxRtXb{Gb^?x>?W41GW3k?Evs~dn9Nk-^N*Up)-ib}Y_%^|!TgIxKI;&N z0W(iV%O%C)0S(9xG=ggS12axv=t;a68J2Uvar3Q15Ra$K393FCE8$dtRufsp~1F<^iP1q6f9=OT*Eye9>h>Q!ie-G=T!*5D1OTqp7i0vKMyG#kuaTO(U&>lzzCkE;Dg~;$kgu< zB8|9Wv#Kw*v36bl1nl5Mql>tS6_uFvdGt(%yh>|lC%|U(a)AxFbz?;oIIXXem&9@s z^r{WMrsm?(#I%@Unm}(8A@Kib_<&Ik8Uxp-SjpTU9F%ojKj-Mqad}#1k!AS3ORGLp$wn0OjZb{qT#1WBLu{CBXOH| zKt81~{R8FXZIr+Sy~~JXNxjn-bDJ7dRUG@o)pzCOr(C20q04c=^LV%j2lo!=&DE&6 zfBE_+w?zp5I#PomK0i{L%Z{LpBYL{#FjP(A!kY%A-$uN#z7$y#<|w9;i39s4<@?jC zN<%+PdkOPrwWM$5GD-3}FB`#mLfv^|0bcXLXzK;l=75qLVFH3WLg4|M9NJL8NN@1tom;PaS7!MHo=07 zYpL7OUzmim3=fZw9%JcnlRv?YCRt@PE}y)`>4xYpu;H3T?MlBfC8IslUgu5ve3!~Z zYs*JgZF-}NuRY^VP?AP@@?nBKYjp>%cWGw()I7y}J;N{?#FHk+!@T0WDnsJ;u9}hmqg%y5&%HWXAX-T+^G?F!r!%J<@ULJlWXv#_eVRW*BXBH+y5_{QpQJa+r=J_2T9{Pm9^j zL9opb6r4{8%4J>9-}4sP=KPqz1;(YDy*~Vy%W2bOMvy83_$Q0_!V+$j9M(#3S$ta& zm@mH^RNE`+dB%hFf(45B?f_@GR#~=^0j%0f9(R8}g3cB{O z#%N0^mh^;5O)A=>bGD>`_zMsFJD9QMLfzLH?V&b^XxBVrFW39X_iSywG7G4^>cAS( zJX1Iu0vAA%3G(A7XX_H{h51&1#%sfPZ!fHgNrk0{Oh#?zB5x~2r=1C3!m54L$`7=Q z!7Ss#qHfKlw_tL!G1of;wMQ1a1Y%May+l@DdQeQ>XfGT5$}KuViq;h81pixb2!heI zo`ZqEatE9V76(IDxrh^C<5vg&#c5OS~u`X3D1F8N%(3ikQY>Hi5Ju5q^R%E(Sz0>cqofq#PBN`&BN2aNP}u_^#mAQl}>M4Za2!tvz%i8SNkvsO-zDgZ815Q4IU#&{$#1ANfD5 z?*=CLw-nI^eeU~KU#+8(lr++Jo3Jg+qAXqHHSTyj1wHU=tA#m0$X{)!vnq=rd}L`N zY{b&>mNt4P(?#aOShw=asZZcxe^lBoGOiL9*X9Lku>&B1r1Y~QW6)Tu-9tXN)ADI1C~O?kyQ$c zu$#X-BB4(V)&8bgG6dW8fR-(Yf7->SnL?Fz`c&O+m5BOq0A+POLx~7y6?I@XLzC?z z5eWY_TGs|lKOJmaUj|a9@^0n~oHY^n-N@{%+vN=qd0r zeg;vvEG+0&X?0~r0>8?~9y=kHv8$o8vnMNc}YTpULnm9 zVqVB2wjSOlbHunk`Lo~!WA9LnsXmu6A|C5@KJuVhZEcKuXXLHj!qO zbu+*<411s~TYBO|h5t&;g~eYLay2xm2W0boeFWtn2~}XV6A7r@qom+In_zNr1BvU; zPUItpTTwCDM0o*nCNH%GGQFo$b7>*{`(fwwJ~CXyQdbJ< zC`j}g+)cazR%|~DC4~V4eW?tP?MW_m?V~g(6udeTzl~ZdFB5kjC6v#2*s1Xy**Jq3 z>_euBTU>S@3^MjZU=Ayw`3 zq*KsgE;Qw?&3b3nYQl}lSDTwpbH-`MIj$g-z7gcE|F+=dfuBh^4-Np;Wu8GObtq(6 z^UpM2TjI#=waoDO+GRDqN2XJ#$U=X?l{xd45LE3A4+4LZ@; z(1z5$EB!!WxMQ9oy*hOZEEw9ZG^8u3S;31AR|D$;Ek0Rt!hsba^D4qxjW{wS1V1{EUdsW!v5x0S!Rwb-+Y%4HFplG3E&? zzGY_9&m&{zqmppInM>A%_4uyTywgw?+b|7ov)Jh=?&8-W{{)+R%mI=!QMQMbI$j#P zso8Xw;+N?d&Ar5kd}89Uq!g7og)x|eI@(WSdHxJ(^7<<37d|($)k-Yb^3j)aBgcVy z?I2LH6~DrH7y`IZjekcUUWcmD(MryVmN(|TpQmo|iT0(BTm#oysS7WZt^LdYEYqq6 z_YPfq7}by0M2#$RK~1qgvNbk8W=TbD5!rEj$nfmEyx+RG`Vmm zUcTmVJ=iDmdR<^_F~nHoKIlh%A-YiStV_`d|A8n!^pr}Ua4l0`$L_3ooLINO$$>L|FU0mD@pR!BUVvf&6Wd)>q~{@ zp|DZ^1~qV$_UR--E-kilo0LVYc`TbfQ|!@&K!Z#{hissTt*@q&FpWXA%sA?XPxt(J zz&W|9nzp@yc!1yJsJS|AzodA@`qv998~*P-2p16=y5^vi_|bX%;k^3PO0X__iy*C$ z_H72YYX}a}VI2&gMVUdGp=e>F$HZ)s>2r>q2|EC{Yq(NHXIM#9y3i7o!82 z0CY9BS|3GIp|@#rj}e!*cvIIo7})3Ve~AfZ9;7A}67rlFsi%f}IZIXSzhmMNi^L8M zV;rcPMj;cMu??hFp*p2V#&)!ST`wLDx%xR3x6MBJQsBnBA(0lFC2fEX{a5GQ`E!(0 zWHnIvf=cQ2edOW?7x-f*qDJ;KUg{V089uSWnkcCQ_*Clv$J92O845Zr5W8TKcq6zw zzE+(ONkzeTjQ~4(3%~YeASbhV`^`cH3dyAFcn5$fD{T7L{=P1qU-kp&d$nc8>9r@RXotd~ zG{Ok)zq(TTU*VCW%stFk@(5yQ^K6$x0AQS!gQ=X69AyK9k-E1O5?%K!qUFxqI7SGB@1`dYCT35Q(%XVF( zf_^~O=dtc{9-v4s`w@z0aB*x`IFV+{B+Tw&ghtD~p+*Cb+19D-)x2g2n)?Cx2VzVL z_{3JK#pAM=E_yWcDikfqp>ywnX!7YKVnvx)pC=v!JB7pqBDdCW0);ht1Rta3X%n4N zD+Zi4mMy6)^Lt1lm@LP3A%kMS_S_pMq5st(Er6tikt%d4Qa|*$M!{~5z`ANMxmG4Q zHo-G^@_Fi1fU5`}v{|B#ZwGu`S?|A1=#+0kbGCw~|1OFa`Vb}cAtgI#J_hWzEd*wZ;&+!1 zcDe`;bwWQIW&HRdVq-7C1h?jLarJUE>~zEJZo<$)#$1y5fr9{DOdXv{qn7B@?uuD; zU0LPP^u-u+6IuPWd=3g)!la_Y4#cS8(?uDgv?%h52~eKgRH867$_l2_4btN!4xW>( zW^&)BY2j<^YDS!zssIX|ARLbj6>Z0M=YDGk+G)ICxpSDG)A0R4cKq;?$>2v=igzA& zd>w=@mm;j@l4v#jvp4}TCR#DPFu|;=3dX4V<*ny}NC$%w#h0dZLPMQ1V+uJiYB9A$ zQ6anjUSPf-IGL`*N@P>d3Aeg8QqcUuK~r@09bYPG?3Aq;V*tg)Y-6l<<%~HEek_3O zvF&{H4%UB4W{Y*XX$$^KJ~6lRZkm0HXV-PG6+~juk=I)Xi!7v-&R?;pwIV%a5 zge*lFvIm3nP5@lOka%4+5;w7}q%2VaY^{Vwtt&QGHm2F{#R;|L2~{T#)w{~Hqyabe zt6voYnQ+UdH4H-UeIHf9uSUfCR3ngvkr#uz#6QnO2_3N~1R)QyR*VOCxgXpUHNG}# zQHb=e&oG%exdo*rfapKz?B5B$UNV{-UZ9T+^fcE*{Q}TlTQadrVBc@vRK>0l@5>#B zc)Cd@^9J|=p*$LXos1ZLE6Xq{MEJAze5#Yu-He=D3`&J!qrh51k^b!E(;C7HWtAqU z(MJW_Rk!S*$j@^3EmJN1^%c7Anz+wYEV{d{?8KI^U88`RxhS zWR8qwmBo3LG>P=mXkJF}#rt)q=7*F}rPgA6ssj9sTsC{bv(e1r|g3{x#5FjzWIYyBTDOEQZXN0&9UlWlOnc8Gf#74L2A<;SN zRW>~(BKP}9Siw=LDEF9QG-YPTWYj42%`#&SO4y{i=^(U{$^d<5erhsGHrRzC|8S}$ zL=xCu-{yFP`ZO3j7i;ZPDny!6A^Od@#4%qq*0i2o?MWoI!6lC3+)ue5KB~K3M z1Vp~XC8EW!wG5=fO+(Z0MY8p?_V6`ehaY&W)L&_bg!de3L7mjQUWsRj&hf(puw`kT zj6ObaURK0@uld`3d#viAM?~nOUa{ z7;aK4QER!z{ga#+6?6J36H5~2&xH)&UW0y!o_E$%mo*Pq*{nQMm4Y-+_4@*sw!5zm z$aVLb6PH<%f81^kB_uauy9Hgy7Ra7sKI#z_5Edw)S<0$6Lu6zJ!#pbK6`iS)eE{W= zx$7RlVj)>s7~MqQ-<9i+(6(1qOv`-HEDsmJmuq1}5;H?}PrP5U2gdXjpOk!gZ zrfyB)TLb$OI7 zxI0tOfZM-Cl+QoVn)R7}fz?rt9DblqI=7mchMAs5hmz_ToKsrhg*V#`WUs-gMhl{SLeg3o78rb;hPT=eo&c3L{1lAVND*&{XXt+zh@>Q&9(P=GT^pMTjqMI%HtvcHf>M-q%AOn-I`>0f|jWX5UZPeIjrr zj=-7OddHe@3F{xd8^e^(R&zCxB)5))qwP!lawyS!SZbFmRVSX!f_5_yN58rR3^04e zeI1KRaK;k=!z&^r)uuCB+HI>%dzn!>DjdQ(&CA$X6c4Xej$bA_Iz@NNq;oQjUn5RU zF8kG}^^P0ZYZ$P+0t{`y4G(RMeS(up3&K?CT_~PZVtf}TU%Vc7duDZI_@yBWHtCl1 zDA9*%YVb#9)hP)664b02wJY7nb;pzR2u0A&Vts z-c*O?NU(164$_W+bAAef$s%&(jNiIP2|>h+KFyTG#FkMx>eS*yca`F4be0DB?1s5r zJ&v0Da0%%?u;RMuZ6F}2YH+zvmnB`O4>Ja?$k z_pZ(qtQg<%IFlr|nR=SY>K`kKQ~qFi zP;68t_3dLIex(_QvD1iSt}-2*=*&%iDoFFy76-&wO3$^%y8lBI>%(web zY=5%S+=er}&w#(eO9WwoG-*ag*V%zNKw2W>?rR4+YDhU;4!txthuGV0#qE8+;;L$oLwE+03sCj60A87g|y z3Q<^F{sVU6Sbzw+Pf>chi!bwz)(bsWPD0f%bb%Th0$=Po-IglI=`z$=)$Hl zy!!#8@yhb>*7A;5d<)B42TYuhTYwU^EY$Ymm~s~V3YIWBF~Ca82c=YEHf|YU7x(aS z-H#+@F(rLkWSUg5a*Mnfa5I;pE@`4NS(=n+@TQ^YnCVkpb^|30A_6goOhEGWUw>eA zlh-G)vuiJ?3kzt^fJui9qrKIFshs32 zys?3%G#jl5gszk;HWOFwl-jZlu!BXAz*4hA5o0dvVk0cGepwl3k4k~6%z#O{$1p0->g7C8Eve0wr(lKab5RVReXkMRJP%<|7~HH6 zC{+uha{)tV*Q-Yqu*e|9&5XZ|5DW{vraB~kh@1HnZvBKYp?5(gsoKrJN?zn8P7L~8 zU-KxD$op$n=g|ZPi&(#+E$r#0nnPDJqsUzIXc5XccRtm`5_a6E@G>-o0vwd+NgkwL z{pz-pq6K1k%`kU}V|bUV5{4w0mpG4=8xaTI(r?|cD4DMo>Lp)Qb?_lgj%$fZ=`oDop__^nlJ zu)6LsVj2zT@=+&|y>NK4s9Zfp^Cb@;VWeuYBG2=%vKd6J& zQ7CPb=~Fn3q<@G+wQ7r1+o_!TrRvlZ6L{B5Ftvc#Hd>w_r+CDI=7Z_AQe^gT)zAoy zyx^TU_FB3p1YD_+auz^7-yu#De*tXi?m(ZQT?&X-FfqC=QpOVAsUT|Vo%~oKTy*=> zVM0peEkct{FhUmRRIzM!PT~7a%3EWVPD!h&f|qR3a^HGmsXQl+PMeK2M{wC6)hC!IR39{jEsc5c%`U*!2c`Fc*2t0H-L5g>OGseW+l^8 zjgXY;PmMv9_XJ({qE)0$U+06~Jx`BPdxw6wj?nGrvk{A*Rb9GVJ>%y)Vp zu=&mjL6VWKTgM-*s_c-LX92E6^61>Iju5!nO7wJd*rYtrVXo%1)E%si(7fbPU)NMz zw0hKGTySHL(!mol%YeWe_e8CfOGcNf}AM%&%%y}rE3*}6?P#4Q8 zvBCoO{bbXBel8a-Y}C%nclJf>0#MXQfs&IVs%|4U^jh%8c?Kj*$lu={&zb*a?zXA- zQ(^;U?q-1cPv+MDS6+4m&}B8UvvoGHb^cd^=Uhj}Zm+e$=dudc+dmIFucp|pfL*y> z@L24U_hDy}cDl(gnMR9H<2xmt{JRhBh-*d$g_#$dx})2DJW3isW>PUQG4VDK3$$-x zskxO}+?Kx9ecY7(u`Hi!qW2$3pO0jMQUA{{-4yv4Mf0O=BI=((m^Hele{k7Iq zKb>r!Hu}S5aigicgQJxVF@qx4(Pro6d8v9jL4V1k`ECpd5%_|J%YBn(J~j7Z%ZgG{ zS#W5652+d0Id>ns{ur{8Bs}S4EH7uX-dYSPF57*|Y2%jK;A~NyKs_a6?&_3pf1e|t zj$ZG0N($;YTgwoTxj9UrsFjY%6y~aEE5yMo82OG_`muZd-TU*<$-^v(Uu3`}gk4+@Rb^Q`^Z&hg`*$yF9Q`+-iAu!qBya;$r=ZR;aQN znMyYi)y-aBd8$_E>(xYM7WjPZ-FRj)h7izgbz^wi|khn*x zGx?ZQ@Z>qKJ!_<2_&K7#*rq3&#-JwgwXeCh@!ZMprETcquUl3z!o}|G7j7K2pROM5 zKXD0rMve2ze^5%iJncQ|4~?nqeY`n&YrdwY+wr#Nl`+?HM5dAs<(_ac6A3Z;(*G%a z>#GA?_XY+Q5-MN*E@~znM&fELUEDPK%;rtH7$z6-uk80_=w#iS?|KQXiIpw<6-0Re zk}5-HD&KFKK02OnQq+hqJo+yGI*%=FZ|bFFRz?Z^q+Xn!ii7E!qTZq`>367pt3#=q zgALDHOOEWzEW)l>Wl`beQ#)5t-6+SS?9v42O@7CpR1-f>?{z*gDR?dPzkil+&_$jC zZg}hj(*r%Z*cZG}Gj8oCte7iHT&J?ewRwHYuk+t`B@g~YUu;FelCwXqDXce)mRe@o znHXelR;0_%WNVG3WWU%uSQ)2TmTOifac*7*jvA{So9UhIBSh~COsuv3M0q({c~}I> zj7&2d8dWSk>F~Z)O?K;b41$2dPzB4CyY&2>Y;NM_u9Fm&yVD5DNN*iYn+47e(TszK z(8-C`ihYM86QOtsFEXO>Wyg(S&)X=M*v!9rc?1~WojmB%U34{rM?J^&$kuKap4vY2 zRSHmIXSdFdj8|AZHIfx_ zDA6XWv~@aX*qJGs=Qm_>#tDtFulT|Qz8Cm0_TDGNiUhVo(4|Ma2`_&W9)k-5Ggcq? z$|qk6D>w~*j~o6W(ELpfE;*ciXNc245&PKjf`0Xm%)XS4N^V5;k z9w!zMpZbPiB+W-sXM1ZtN^0<)3HYuoJFf$Zz~A%OvA1mElqr~eq^;AztLKB6zuAPL zFPT1AVO|{(=B5jD6>qn!AS|Atf0-ExfBu- zs0N2D3@3>uS#=nIR}jxI)S#}TMQ%p;1kTuULAR#^q;l9uJFUf`o1Dn6MurF^rQq(2 z-C}n5Qa?O!AbWp?Si(wScJ$yV9T*_NTHuMmE`bTuTXN@(_7i+Y*KuQA_h=gJZa$6n z7+_Gmx5#<6m({6`^%($YYy(UUW4EbXx5SJ_K^x{Uf%M%F)}OQvT$Zvd=sb>oGO9jT z5Z$e1WRi9E6?!bo@pFKqSL>LC#Z{KI&oe+pDnKrV?wtmxMFz!v5~=f-u*Xlm%x5+E z4c=d$X1UrU!J-Z$%|-XLYQ+CyG($l#cnRwbrhrIgaB3{D4-c@qf8WlhCa>;ca&e^k zIV(yHE#%4uv3B}BRLajs7GW@Ar$!xoSutf4B(uDj`Fy_}*1D~onm98U*_bGKl{61i zL|T}^r7Mme-n}Nh3yWw~Td^c7LfOg=!e@E<14qSV(B>y-@xJ4C#Np0;^XT`5`^Bl; zU6ID+$;_TNN)G(}2AcD@${$rpi1PAj1$%))SZ)se<+i{)ifMc z4spW5RzaGKc5_<)m$H+L+HQ*zJtBdZu{6V6eYA)384Ny@$|>G$JQms_2K)5ne1p}V z1!sFvmDcmrR2eANI=yb}h0h(u$r0g#36_*S=`y1Aq16enYG^<`=0YfQF_WgkFZTVS zZ9VC^IkD!fi(G6#759dN+6DGO$?KSrvkcKglSB_TcJG!-gFaRLtLU$6il7%60edEu zQ97|rD#?x2s};O%wME+j2xUVgac?+rVn(3t7j#a4uhV0zlaS_}>;1VP3T3!@8kAmY zzm!(7m#jyzbU$D$7^L(^C-nPWW&8N`&<%+R0fwbL!9;Fh`?7%rd43Odn*1@m|{Tl)SLeH4=lbYz* zBgNDA+fOq;SC69+%P8~=qoJESmLxAt)G43P1b6MztD+mpql?*UP~h__DYjd`gK@o> zT7Pe{U|;Z``T>rtGjce84tIPs`zp=!uC8By5UG61#pp9IKnx-jNsrXbiD^@T-FK-C|a%(DPU}<43b*q1lR{drWU{m&Qh;sHVSzYW%)S@Nmpejs9n<4 z8$atcv4~rBd4F#TPu+F$rdSp4rFBVf%zM6qUVx_7Fm*cpi}8wJ?&;|#%!1pIf0)=x zIPKgD2I#YSew(0m;m;W$g1VZ9MCm9p1x*Dw`2^cfrG#$!UVq)73L)N(RW|stNTr5CK=8&j?w>gK0mfrnd4i#rcc${lW9oH(!p<^ z)`^!*ks~bCF=Y4!_nT*eU9|r+KN`pi_B18U3hrm=2Gc`?ghrmL!8iKjn zy++G~t~T3YK%mwqWo6~{D-x3doUJ#9dp%+Wz!7}%bdUS)dvUxQJ+da&_Gn?HIWTw2 zN(RiS#knq{ibzOUPkM%^1^r^FS)np8d*EQDo%^2cxvis+-zN{>t}vh|o}+xcRRtbd zIK{d(Aml|v@-(JH)1i&*!=DAx-FnbJvru_P7&RC1dz&0%zO10pdZ{L3B5Yrb4>9yw2*_}K2sxSLn=x>&)NLN0j84> z+dKvFpJ86wR8RU7TRo6(q*YXEO6C`S0SR*{G(2sA1z9d2UR@n7>47h#1?f!3o$X{4 z-opitnx`6>*B~!!Tq2q7-lXF~fSXew|z_(<~Rm1O_ zDtao<`kVA15A;tPT(i56mxnclWWBh3l5=p3CDC$fiY8~8Y&T$b&$pD>+?n2668A%= zggGv?e}FH5d6C{Zr$=PGQB{ViCTr89<04#oeM91EV*|dU4L_VG`ztpRN;o(Ss=&5> zaEu48yL$?EYdSQj0E@VAd^dkQnKPg1!c}z?Y@Ri${R&zhsm**cOd%=i+-E&GnDa}U z#EW0?Fy+XsxSN1Kbzi8tOZ^6m0~b$!$?5h0^D4!%tvf@BIEv7w|7Bj%y&cb-G4hzV z@Q1m>m&bq@CcXf>ZQ_JxSwl(!Z&Cv6irMJmn=k}2)s0UTVvrN-CeJ z0eQmDIw;`l_ar@oRY0Se==0?D;cq*qnVRsHMlNj?h3=W}AwUy917uC)r3ss2vpC%G zZf2Ffvct|5&%0)Ge{BSlz#10>LQ*d;JJFjVDdnJh+ZE0wYc@lvt-EI;4oaC=iXA%kKV}v~P*sS)VFGBp zuak1Rv*O4k)GGV=e3@9;5WsSQs*S}>*@nbm9}mz?@7%IcD^fE=Q>); zYMG_7uEDy3<}NymY<8=Ea&Nz_6~gUmAVC1?VnK@-%@n_34U@ittG$bI{Pu>YMrB3X zN&Q;ypRBS&k(cKuOv5ZrfA_Dys5B6}%lshr+a}X>6u~PhFH`fG6Dzj-uK)mC?l+Wu z_-@|$1yBx8Jwqn|bp?S!w0bpJYL8}90lRG#9J=XULzf}`EemnGC4q>KFG+2OV)q?E zkDpWof9nZDo{VpVpcx8zrVvdsI3Wxjlh_k2m%M%jLp~xLbJDOGBEt`R!A9lqt#&p0 zb^uB%?{mzKC=dA55@h2;izx&nt3J4%D;fA7SzxVlx`kmuo-5kBTXW#K@98R}<`2hK zY3)Q=Z3hQ_T3A?n)ONeJ|M^8ooIcwml_sjvt=bM;IlX2guvg z5DP%*@tDRod!XP;zwR_8CLr3lpg{SS1`C99>WVdUY6V2LBMZK{Q7d9E*gkfQET!+n z8l-+p5GA7`sz&Q`Nr%!NbVw<>R6v7>zb6#ED1qWUmmesq?il9GJM-@O1DN%^*z{%U z@;a}gBxs&?+Wz2&3SdCV{yqDeT+yPIY_-to{d8KBq7b>ZCY+@5R9(^f_wSe_tq<_h zmu+Wv-uG>xR)bz}(`xVP-`jZ5*wkTvR0 zA5~XNXNmx=ve38az_(RAz3*Lrbp(C=1t*M)%53cP1w8bOfU%U$Gy0T?GK~w1jbBSN zbB!NlvDj)V&sUFnnv@%=Nvo$_DP&J?Ph0zd8r7;174R``81j+xl{5L@nc*2Y!dIFOX=6@`={`JuP zXF6PnIC}!||8rjdLEQekM&iGk*Z;REK>T+F?En1U|8rczqcMR16(Sgzje)I&sfm*_ zlcTZe|29e2`0oOJpxWL4)l85Q6iu*5{?*+6?@cK!n!|8Lu|Oz<}){Iucouj~H< D3cxy& delta 24758 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

`u ze{ROq+8Gc_@+P6d2$doNhrJ7=B_?$*$T?}Ozi3uEM-S`E!ghLq2N`fakGZxnaS{_d zd{L%f?`u0LQzwy%N+Guq6!E1leLq>fnS(?F-m=5N(DMi~i8-2z>q|G>-XYM+I6fbF z!*{=Wy6eH{turVkSJp(*RX&gV!Nr|uuQ6%lVFs90(PU_SdvmyLpmr3plIGh^{76*L z%*#$^y8e-o>qDbFSQ_8c`}Z|n&Wg-2)C|*hA)`js{DOl%|U^1y9-fW z7DN4%!BUY2Dv~b6@%M>`#PU6sp?ce_AHG+dgZ;h3!#5V1%TA>g?RRZz3M&t%Nol0_ zr)ogG{ft5klr^OQ8c9hgDS7tz>0|rT0qBwE-o$w~Q6oRG+51P-w_;n2k3VxY`zt53 zqQsyOy`>Xj%xgQl2f6mcRv)hb(UbudZOAg%>%6`1EOE5`5It$QQ1^JCg)d93z~PAo zi%?tB=jqf)kA6ujVPSt|=;875FNyGv#3Kc)&A4!IQI+s8jc|B`mvDbe$;Tah=Eb?@ zP1A*G%>BNq|B=YNuXj(%haJ#ca7z$>c%5Bxvf z{CRkQi!%in{tJQUjxz!9;@IFZnEn~V|8o8>yzO6zZNERF_J6#>XaA{){eclz;`di1 z)Udj_zl_xUNdFkYVnx75hzo@Mb(e-F{$$bU+#!vy&MaYe)Wa%`E2(0L8;pS%JX!S4T|1DLB`A?q%xN&6x41c|?f2Jhy|7io)tsHkA uKr8v@m45ukltKTO(Q8#WI5Q_lHw#C%|3r`c>`yxm?6!aQ%dQByhq diff --git a/p/LookupSwitch.java b/p/LookupSwitch.java new file mode 100644 index 0000000..0095bd3 --- /dev/null +++ b/p/LookupSwitch.java @@ -0,0 +1,18 @@ +package p; + +class LookupSwitch { + static int foo(int a) { + switch (a) { + case 1: return 5; + case 10: return 42; + case 100: return 432; + case 1000: return 999; + case 10000: return 9999; + default: return 123; + } + } + + public static void main() { + foo(10); + } +}