From 72999a10748c208258aea199846dbe551f7068f0 Mon Sep 17 00:00:00 2001 From: sebastian Date: Mon, 30 Sep 2019 13:42:18 +0200 Subject: [PATCH] Clean up and documentation --- .../nrLDPC_decoder/doc/nrLDPC/nrLDPC.pdf | Bin 272826 -> 274029 bytes .../nrLDPC_decoder/doc/nrLDPC/nrLDPC.tex | 77 ++++++---- .../PHY/CODING/nrLDPC_decoder/nrLDPC_bnProc.h | 144 +----------------- .../PHY/CODING/nrLDPC_decoder/nrLDPC_cnProc.h | 3 +- .../CODING/nrLDPC_decoder/nrLDPC_decoder.c | 8 +- .../PHY/CODING/nrLDPC_decoder/nrLDPC_defs.h | 1 - .../PHY/CODING/nrLDPC_decoder/nrLDPC_lut.h | 6 +- .../PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h | 135 ++++++++-------- .../PHY/CODING/nrLDPC_decoder/nrLDPC_types.h | 8 +- 9 files changed, 138 insertions(+), 244 deletions(-) diff --git a/openair1/PHY/CODING/nrLDPC_decoder/doc/nrLDPC/nrLDPC.pdf b/openair1/PHY/CODING/nrLDPC_decoder/doc/nrLDPC/nrLDPC.pdf index 64808b3d5944984954aa0197027b35e0e87adb34..a8e5eb85292f1325001335b0df9f9cc060519c81 100644 GIT binary patch delta 108726 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≧FI^&)G;S{QT-6|8_G4UoBTds2LqpaA%jd3gJDQvjpy+}(oI4~ z4Gm1e|1{A9i(aVtSKZXXzMPO8lQtn;6v0Khh3ng$j`NN2O`Of-G^QKr9<|#Cppk*0 zQxcM(n)fTpU)!4V z?)m5aIA^uwD_?$Idj?Z2&Z{_Z6;%Ccpv-CeNVLgAhr|_T68v)EP#|uDp4CeJ{t;^B z^t+GT+_xwQc!f7HI6qfLKym1s=u##w*_Px3*fr!aBaU{_>u5E7yzlXvB~IRa8ZWZ~ z5`aE!7BA1$Z$VncY%aouISy)?bz5b`W`N$X zttW!WWtLEvl<#g#R(D!x5M(evmQQghFYhPMpWxY#{KKt&pt6u!=Nsh>pzmGz#g}wQ z;yQ0dIM!x9{rRZw87ha`2Hk~0UtJgueo>hK-Q+G%g4}v>xVg7-R~=kd5Y%T;pYr#iSXK_bDnq&ro+d=in@39IIQH9(=V3Np3&|0hbLzU!M19 zmcMD`?p;Q9!fgv94en4yk_st zXGL}bVi$LPUvyJyd&a@`BtH%P$Io>jN3Mjmwoc@Es%?r*SKQ7&yhwJ?=o?QzVMGQd z&Aa^-+F_`k?L>U|`>suexz&hrL-$e!MjCPD0lPWxNhzx%xSjOH*GElqH#D14eQYk8 zO4O@AO6io2-|zj$LD6n0(RJMFECQ-It%G;_Qh&}Ozcz%{)_?cN!!YSGF*wvzCNt}A zyvECwOMdTp(mb|2QLyuJoSgrb5Inb>K__5Jp*=8Tth$&Ggk3kPXS(>cTxdisfFDnz zb|hErBRGzlh-4q_HFS7>4)vupyRr3?tKZYrOUS4^o}X2o|6 z(ZwD!fd(gtk1ML3jOx82LD#wYUEPPWYYxF(>%xcE#fp*bNesuD)1%2pFnYG9!}At( zTARLj>s)&~3UB|pX!^c}!X@+l$TJB0?QsdYDcaF+?U-1rOP7|>Q6^~U zN21ant|KjPZ0pbJg{vO`0Rm#BDy4TZuU^yY=ln9$afTV>TOrlK%~ORaz0dRR!`)%N zvYY3zyL=G$&9%pp1Bu7%C89j-pCYl2c;XvG`5>?QcM^^}rz4w_FYtG`RObIOa~X6r zP>2xhtQk%iP;v}x03aJ1H-L))z)AxE(9j{UC^(smo48w$(u(u40)RXKp8vLF9AiLb zfdl^!afc23FKx&9zoZ=pfHb9Hln%hg4pav0H8t)ppjI+UYs`5mGRjO%D4i~#O3N!T zX#&{W)B(zH2Tjd~5MW0>2;u+NFN>WmgOdh|9K>#bz@ld3Ye5QRXGdVsBGm(uvXKJ+ z6;+*_-2W8;qySP?1Qr=bOQ(N`_5UGpQayeVP96?cHXuM8z{$-6U=s&&bBeHWh_gv@ zbF*`b0J#K7|NkupNdG$y8yC-i#sN{y^Dv65V2Z2|fl8ZLVcB{^m;) zXGahzPA$-^;3&e7qq0@0(4h1UKf`>Uu?u|p;rDwoU;+#Mg@b&CFO4s!%1&WYgfZ%;)|d%~de6`S)Qo8uNWUF4JhlroW|Tgf3#9Aa{Mr z=3%h|GAqYzX-fFSSbw4v8H}Sx{V|VZSyfV0sjhUz1=57ao-9hpJN8O5<_U_Ik|4}v z@&l@olCacdR#ioMX{t){t7{66{_S{~SIg!B;K<;mEfy?~fXm7f8o)5uyLAY(^R#6h0yw8xK1I L6_tdNB*OmyUjFgb delta 107732 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

jj1)1nQGq83l0z7P9_ zBV~+cIzv4~3p7NAKGxM zsFY<-Yy`&uyh{}@jVxEhLyPKE-{Bqs&O=>=wQ?9K=_%L$7#K_|AXtK1(Pe}jyjQfB zJZ4z|UiOyYbk0AC$m=F}e&&O+OR2m0!Z;9Z(#f$a#4ywcSL2#66{Xra0i){{gI;So)K0PNQk-Xywq{ zZ{&`MOi&C^QGud+l-ld2(b{qVwH?DIw3*e}{HB(yspiaI z4`DIIffxLz(e*XotQdh(i2LoVIBc&qQy10I0>E+jFVe|d|7ELv-im-bY41Vp%GY7) zzQ(t`(h+)Q?tXD~2ORm`bwW7w-EG4d7R%Nmvr@H#+@3{drlRH>)QBU4>crXvLZT`p z)d?u0qxaPqA!_*^XE7MYTLbhO zgIQkR5Xtx9&-Kh;Lop=Hw_~AjbOO^vu0MPLJQa*soC_T!z@tT4@iY1oWR97Cxl08{ zUP$8FOl9GkxiR@hHmSOB>{qk2zSHZH7^U1t#!TiEq}PH|UKmk4e@^}5GrA@$COO5lZsn;~p!X~csEH3*xugVbb$&psyEFQ~5>hIS_Ee#d^q^pzN@0&V6 z_pC*zGS2QN#Ez{kV!aGtPy~s&=Vc*=DgGlAV(}9%+hVLDh${USQsp2{pb|+y&vs^J z{f*uCl_~2J6Ujs1=Wk^nt#?w;t8Hhfa)2tbifc8l$308~#OwJ*F_+OtGV1``6^xkM z90wa&LD=+lYEsbr;yxsi{yrkj*l!J>xBV7mz`!1`KFzQn=15G!zZHxMJot+n7Mb6= zyL8i*!NXPig8$#E*rBmME*Z$-xxk2Jz)z*n93CagX@9)va>)}G@3O4n7j3- zmy733L7=;nhfemSx0)v)G^b1W_I2{`YIv|vK%ZF`wNrqd1@}(`K~3u|=C*#@`;|gm zr=xI%;zj1wKGN*{Gz>!T%gn&8T)fdQMB11k$LVEyBnMD7EnwX)p?88Vvbu}wYy1N< zCqdZSk$1_hVF+8}sMCd;+b9iyr3*0&@IQnw@w(IY&-_u8Lyyk(QYXn=w$J^GNsoP+ z?d-1+lH^;fr((pWDAT3O^lR9C7xR&~tgf4gp!fVE(js1K6HXxvxpNkbw|f4^Y_1Fdnvngu_n9YW z@e0$q_nS-eE6QmPO$7du+ew_}hzEPwO}_`_m-{)ZQZ~I61i^=*#lGojn8@C4&TnkY zVHXd)Tz4Q#p~Hl0rOh?`#%VQ+Tr!1>qTSP1mA6ez_Ceb^+XtBjTYNXDRe>Ucd#{cM zvwO10huls-Zg9-K^E5qxFdu$b+m=ov)*@2#6;9d0+5QB3p~AX8C3@W7;@ms3YI4D} zSXxP&#wJ4)@7$X0tx!aP&{u-;wCByq2a!uUUw__UmbqIe77Gk~ca7DrlCKZ_(i2y) zqs(o9DCnqOQudhE^aGhIzF!AfVp427LQ&_KfPr^o`N#V4U*BFpXSFucRfRxd+U!(v z`d5Sn)o4T@6glNFQur;JDT0ol+m#Dj51HK|2_x;-Y)k841QGE>2;B+WiXm2 zRP^{L3gKwL1Guu@FA_dLdKq!F7sv+Fkn>Xk*t~ZaW`A9m? ztu<6>Yu!oS$^J3u-S$KUBZ|we*bb6wctsZFz~8onDbivq^70Vhx;=Qi%xwM1cg91ZEzt^GHfo`aX_1E2u-Ze1(hZN3>f z>0Y;}f4FMyY&13};$F)|*t!Qjd@kUAnOxiLlR3Iw>_m_qJWk&^YC33Kz3L*fy(8-v znj75IA6wi5z9BsOEiMXumiv3}?Ar~lpG4s6KzjAR@oX7Oo34tRGXA9kF|=~r*pt7n z8#iuTt&YA!`n(?d1MDtr7!VaIm+u^T*D4P`55g@rsKW{XzJQw7%eT+xUr%rDUWcwc zr7VW0whpd79K=CpXpncm!BWZP zD4?g+KRRq=HLLzUTv(_XRg2g-h`4HjCNC+1voWvksz>6zjA+y!#qIiDy!jE#_ zYl%}47(k9k%2OV~i&U(Vhgc#HRU)=IP_Py+Kp$TUgd_P}q9_$o+0rvb*vHf~UZTMU z{V+I2k^zx4)vokR^PUiq^g?H(?A)1ojD)H${rRvJ(u>q+&9Yw{8{CVq+`jyLc`Qc= zUkaLAm;oo@2XbdZKjs4KD52@>xk^~wO5YG5Bxt-#@hb*{mD@zEMb46O{t;+|j z{-h}|LZ@*{@W%w49TLY#0gpCJRW=)gIh3QKsMjyH;}^*3sJFRjUu1^_iBRIT6BjCn z1R2}fRY)==#kb6ad&+fOoD(PoJwiX}26fP6VaSYI- z4hMy728TUPfj#K!ckM48dzV7;LHO%W?~~yogxiKd4g|taeAu<-f>bYZRO5UB?u3cO zhoH)o!QaI>qsREtG4B(^8OwTV+(dxrLV>{7UaTAQSC#?ZE~-(_9+d(P1NfOvJkr~$ zOkey`>ufAJ+tqkBcOsYXkr&`_!`leDx2xf0yYW0_Ws{s8`y-(TF)IG*5|~cp zM_q!oP%4rcEr7Le`Y|qOF-DQnT!nVV>&dsHE$8@Mdo2385-2(1CXORRyogHnUtAqJ?yZxgG* zZz0oVvy^GG9>Zw&?n`l8cBI>{=+_=l6KM{v1h)pR47EzA0JjRL2(d)20Q+en76BCy z76}z0<_Q&G=ExZclOQUv6CkRvi395fBe4o;#4kLA`n*YTe31e z;b}Ba1?QkMX;X{E*DgL&cfVu>hng3B@xJYP*!oNI? zd+c>c038+T2cg^;o9F};pe9RxNfq+rq`}lN3wRxh`%#?|;eE6yrWFyV@UKp? z!CWW@&=lb^bH24J?+^u{0yHN0;m($>lbw;UvR`_Y$%zY51vE8P%p4!WLYju+JhXz?+hKf4~Lk=!{voZ!3#+ zN8$nUpEgv53Gib>vnhAjudX4h!Q{>;P0t z^KtCjT~KpbRxNNiP{|3-KVe6)_qAe3!WtvJSOW}VZU1zeTPC(IJ_oDy}gg*YFf42aRZV=T$G8>YUV$PaUB1oBh(f ze7NaYT@MLbJmRa|92NoXj9!{3*QL|gRk1cYlF_eDIn}9=FF*dNeGNFDn=we-9H#Oe zpm)*iWcrKI2$SN=ka^b@D2XKU3q%IMP%xpA6U1w>R4{}U%7Ju5(*|GURkBa_CM)s@ z0!utu4tAma&}(X(GG>t44qEA6;P#`y1TFP#ePQTXt)Mx|G+QtKYKGe{nTTFJ^Tui9aaqe(*brM>BzHjm`C>G>Bh+YF!G zAg5ehZ&$D&wyC&{64+=db0i~2;z=`i>zIVUdPbzgR(@wT?fDbi?ls_I ztAQY+$h9zPr!3Mde}Gx3B98}{ywo>(&?LV!EC1B957fjN#-;a$n#$y|9)nVQ{k2(J zL(t~)KLD9PX1}d9564hnmwOgU_(TP?l;Ti-Ob#oXB8y*W88j%7+EgD_4osWMGgO0S zAFYXQB@=A&n`zaI)tjlgP1tJM3}SZP32p-f=%N0&Uz+!WDLa8J4PjQxC7CA81b+@A z5yl#*D5UNtNzPkI@MoR#9$Exco<>c?g-Jwcy&fvf6`f)~l=Od18-ER)7}u;-N!Md? zr0*ovlgf2ydow^u%fMihBrHOpk%;}cqoL5rR)F3P<3ZT5L8O>0GU)=CMxyx1;pK)+ zS8yHF5ZARDC++T~D>w}r`4<0cXC ztmxK12x9{#S@8B!$?z-c)s&A)@^Ubf5&=%nXP^`~P7T(ZN@xX(8L%PlWy2b7zJ*1yZY#<$r5#=xf^G(_r%KU@F3IHDMB+n3FF5=ZyzWj7m{&Jja;E zbK6olpZ)XkXxmQOYuwo~*?93aFK;~kjK-^mI{)vD*}b+g8O&UrsyC)%CL5DHqc!7u z%B|T=wkDIx+F|gZn^VJ-8Xnya3-Fs*lFcZWqn#>ohfB5{CY0w}DSuYX?bDej8+D3H zBZ|Qd9I-i#1>de$PkXl|NPLT%>7;dEM)LX4TG5AdI{WGBjWzMbJNCxjzgirZ-?4A_ z8@KcngLF4$nuD{y8%G0!WSD#-NvRYF$+4?jXf-Yb!UYoU|1E4za}~V!jxtS#`x^^nXEAEl8i#hbcYNg_5Ym z-xEZz-eLOIRkedv&akFtxCGq zi92j@d~&-p)_+7KD%}~&X=itla>`6!hQnb0CS3bXig@eXZXtxz!*RXY*wclRtXJFh zFR(yC`?;NrATA66kZyJdSCAPDSPEJ~SxewGtiX#yOY8YF7dU6cO>wuNS&3X=ktB?L4xGcuP!Spz74&09-z zBexO0>sQQ?sFj}F4)PuC{H5o)bWfXhZpnJ-dsi%zMpa509RAMw~k_RA{{V-5}ux|y7@&J^w z7t{>021a=RYS9~^_-N`Vk46?fSW}Irj&cwDxr_0AnMLceXX&6#IbtS%=sZ$_iIpV0 zMn-u;f(DAn5zvbhj`f0wVGIoNgd}iL>tTcp@`w}$?xhe26*9^b61F_!gpH6v9+BW< zW$0M*D33@s^o&uhYGjmuC#2{VAI7ssc|yY8H?W^Z$RLkMYI>>%J+fz%C!_=&Ask1@ zAWul%%R!IV8RZE{;a;N0$RJNhcoA%@QIrSdF!Y2FR+}@5BaZb_kf9EbC=NKI`#~C3 z8z_n+PC&5m5zI>?ieereY9mH*z-d^n;GzznD2_PQ4^WV5ZKF7U;$%1ePZ4JgQ7uy9!T5vL#l5U5}kE{Fq;L89PB*Vc>TxHAUasA7~p zf;iI^r_s59IwpU!ZzY&yfuap?$~Wzq>X$D<=^jzuTX42MpjIR+h3v-~-s z=Gb#W&2Z-gnr6-sGsl}FXpS`}&;mf=PXRXu6;X)1hP zS6c0w8lLJ)vu9JovpUo4+|>B2-Zc9+6+W*!P3m9cv-;EQQ=MsQ{%Jx)jWXJ_^gh#T0kW{uV<}B zP=(Ha>RPKERHF0x*60dV;8f>Yt)U8>)w@=Ms6^*=uhk~1&{_R!HH#{ARtFo$-U^)R zVWV?YVzau~Y9E#0ygoL%NEJBM$yO_=1n2d#)ljO?S>0^4l`3>rKU>YE3Z2!_R*R`b z=k>JJXQ$@ z1LOlS;J!Lsmm`x@)08H;@cJ%T1tOAv+n_(mDud}Y?16c!cu-*#JyNPdRZ98gE+_?6 zccA)2r5Kb4=6JxgQUNqps^Mz-YFF3OR95l&E?5P^g;8^=Rk-e@qd_xP@u0#gW~5Yw zs+97}T~G>grq=XSr6lhuFsXT^JZP-cD_m`+U0qF6S;gzSlGyi@RD650otcdv?TVYOaVMv6S1I{!!)$2+-={z+TGPOwN<>jOI9&M z&rUW9)C?sSs96A&W}zdkDp;+5mRs+FRu>FP9P`aL4O`-MOa#uN)TS)0VK&}oA|4bl zrMG#fU`uinyv;k_Bf+<*UkLFyoxv2WTm`3#5v8f7tEj6}JJWjJI+!VkQ>~+L6g6+1 zfcays!>6p1EvaFhr1h+Iz`}x_Y#eljSTK&q9Ag}Hv~k#^anh2;#z{(l&)P=75L}*W z8v~OuF>f1>`C|izPTD3dX>6OMbkjD}^n}_ooSG(z++!-a+!DVea0!vsiS7+u+g z<#rj>)oP?tXRl3EW~ym0)fgCc5VG#VeRuY+?(E51!8Ij5cAxC!8|=!!7`p6{z{m^( zvuwbOn^AV{`#Z11`(oUG{JS?WhI9=-qIx5VWXR=uWd@_GZ{C2FKpE!xEKFe!7Tdfq z=)j>+m0!DogN8I{G87BhYZzHsrcF%aOE>Nrf&V%NRBXx_1hap(!dzeYC?y#bdjs_# zyhf${6FUipw7n_b8~jR)wSm-}Sp_td3o^K#5*MI~GeNJ=1fVN_{$zmp4kV0)t9Pv} zC_`+R`jW`3GiER5PJ?I=7zNmmW%zpmOOheR!|Q%yr-u;6&N1i?B(1051T_h@Cj^c@ z7uZA-p!yV)apa!N_VuL^bP~vUF9|`zXxKWMvgt7e2TcU{!#VkR*h9Z36{Y z5Bpm%+r10*0wOzapjc4A*jn)OKi@Zw8w@so>>GW&dHZR9++`_-s+%lMrA(t{orKt= z*gArp%^eL33SZ<}FOdk^Gmid)eWxecrvn9y)$8pKe|tYJ|0S?g%r7{t_cHyY>CUgN z_`o0)G5gg-icAw5PXy>X*TRwrBQ&)^^S1tJ6ayG$eav7-@$zsZLAO91m+r*m>*_>( z%^rXl$XNn^qC5Ul2a3Kyo;2~$AhnAT*bzTj>0#D0VSE0t!(Mrygi{{D-Kk+BN_G1{ z=|KTwz5Dl<^*J-E-|^pOJ33rew^RY_79Q7q*;QI!c(tKELz*!oOV5?Nud(@;B1fv8 zP<#j;bLB+-xjfZb>QrYz*iW32qv0LIy6T6&{`8lB^9#=T>c`Iqd?QxUecm26`$^Zu zN!p%MM|e&j;kj8t_5be4Q@5S6-xp!Ct_+w-Uy@~KX7haQK4elmI}|tC{3*JaKI5%V zULsYAL_WhK8o_b3urxW94sefy4n<1W5mA2#2bH=&^{@~Obknhv3+-;RrZ z@z_v)BS~u%I3Lj1m%bYhVtPD~`Rm_H`}K>c%$X&2T=d%`ak1U5qliz#WJCjURUVxbfExUb6nx7BD|qM5ftbPq|Bf zJJh>#-|qw?I#my7Bd%7z5Grt4TdVOs3T3h6J14r`?cEJ)_j0%W&CdViE#Dp1y*zIUOZY~a8$^oLkBI$$^Y`w{t(eKD%_epqP$AqM%CKp$PH*LtFLt z`A?la_nOZVp8 z-~auMdsoF;cC+&tyxIBJwR?GnczOtH+3lS_?Ds4OO3MIUKi#<8;GHb84F}S7$b@TD z#l_-&eYf#9xy_1~?9xC&q1b>GSJ?Wqf~yC&_-lmz`fQUAB;I}yqFjl$p3D{iAMB2Y zR~x|Vs|Syf?#1sWiVM*Yg;scf2m@^&Kd-M3?!ArW{G!`RkGLx50%zQWOnb=7pQ;h+ z?F*tZ-AGCx2Ycf;G`?Oxc^kO}c$;25Z}!fn(KR+@{(jo;uHU{ih!GX|{m-~|(t}qF9ZY;T*mvUsauMz<3K35C zm#1TAlRfdX!D+|O23vV~wy?+TOs#3KnH?h&PDA4SLMxbuahwv~!bD*5_Dt^PVx}uQ z(@)onDw#MHwL00U7#wJhR_ba}smgXTOauhpPlRp5udp7wnsZfuX+!jjx1sPlf(^yg zd`%m&>*MDmNk1J83CzGO&zEBH{pJ~?|HqfZ5s}Yh%%nTN%BSe%DV z=LV+0ze0R{ZfIqE1}7Bz6+T5ezfeYMus@7GvpxZP zitDebNTI@w&x{6t+a53`K8qxAnTegmVva z*a&=ZM;PXgFswYnz{jha8{;u>`(Hnjqod3bJXRiLCVA9<_nsYjJ|)t@$TAzxr_6{? zWxVLKCquCK$Mw^-m)@>fSjFXUbj(F+2-fEsc4!9~+FJord>AAta<^Rtsclsq}v{rch7$vkJiUgIIxUVHic z*{yLO?!P^RIrmRa%H7@)F5dF}+%f$92|k12_@IIe72n0mNcR5#a=-%>lL40#lP9GU z12H)?mq1wqDSyRTOOxBU5x&o_;3ZX5RRrTn0IAx8M{DmR&g{fdrIOe_P!cs_Ek$bi z@T~uRx&e?QYB(NEt>PR!1c63>-Hk?nO_@e_5siMhq9@Pat{6ON#3HMR)-uvU5hhf$ z-d}zAM57I?{TxxEt&Z-U34bA^+@2n$wC0(^G*gF36OwS@%_xeR!@t|QT3>ftZ}n(X0>WDNRx_ezb1Mvu zDY0(EV5EY##~bJU&N*YmD)j)jD9=Sp2n}eGuz-?2-G<@25=zH zwHvaSNg}6_{AQ1ocoi#$bo)FOX9E`FgH!6M5Pu#+sbi>TV`qs8u~WlIaTuK+JHGnb zL5;l7BE9ULl6`Y&1y2_gRC9|4Y|C8%nshL(BWnZ zewCktqbG3qlT{(1ib(PDqA*qAm6cFoq&H-VCBACY0xO_4GG^coTt$;G8Eb~YhoOjt z@qc+cX`M2L2+;Tf0_w@knK=rS1~P-%sWc^2n%+vNpXsW=!Yo9b`~}!Z%J}*Rtk(R` ze)d1#2_wV!8pkxeyhEw)XDq&5;Dn5SIkaI(`A6Pnb&4$KiuohPjo^TY0*0LnhzJj7 zeY^Nu*xh)w`>GBGZnClo!*-XJe!1O+sed|aT0g3`CrhA{j7*peH&?_Y_A-30;D!k% z|Br+(zA54JZ%z2-mHjH=D{6>N_+YSmBz zpJc6x!hR;>8^?~0ufS*#7+=vBP{{d=Z!m;C?pTe0e48kUaCGs+)4|E7m^91R0 zAOVay6&7Od$H@9d!0<`?v?WyOi?Y5*K!IVCtglC`&n8*lNNFy|`Wl)Z%c42*t<*h5 zf>Ct^v>_;qThQ;g8^-BsHs>a;W`FSK^Nef9D!?&7_h?E7qD9+y*}V17wQCMw;P(bi z)vC$r&!{Kc1e{&k_M@P7leTG?s?)OBX7xx@i`(y=jx1m-ZUTB*2DR7yOq>4dM8j)$ zz=%MaOJb!Q-(>`~G;Z>{GXF@K1h>}cA9w;9&`M+DbYFGDJ4m}m2cF(~5Pzt3fU+juCKwA+KXiA8u#yl zt-}VlnEKg+iD89N%fPtX<-ye!>pZO}`G8!g*YRSIL;ml@}dknvDR9@>{mIm=WVANUK zfGltZ8k<-!HuDmW1rRn!Viv)P=NTS((Bjg`36&>SKn0j^?SJw0hq}D#{GAu>!vf=I zZC`QeL-}5(#kwo{JOU9{L@Nx+?|n4geBL(B#$p@Z8?T_u?uz^_53Y)%@~K_F3*zKzxwSZ)n`^o9fRIg2YUonQ&8Bu)SUc8>XQ((gNxTHN^O zs>7i50lVMj!+)Ja=?8vtN`N$iZ-buW#7K)`JZXk(=|hOC$f@|gubOtsWk&ymmDIXx zn1-?&xJ8)Qmu)!Q;;w?rzuWuQdl>pm0-3%I$B(y3BB`26mBaP|?Z zfPT~{aS2q&Jz^~%qrSO$ef{pu1g?NqnX-%EO88C}c8q)b`u$JKe^20QNtm=3!PW2u zX7m_$@h9V(#a|zjJckb#HT)T6O){^ z6O)|1Z~-y14Zg|&3-XHf*l+#;T0=4tlXkr(12Qu*m+?IVDU&q7KYt&vz@At=tiwG-T8BD~ zgMZ`qq5H7@&)tu&-es#i$`h3!7qJSJj55Ux?sj&E2G)%^Z!2@X%T;06A#gPt8DME*ovSnVt>LZ^sIqb$oA7?EUX(BZX&!)p~-8*KWW26Ynj>LX8XX$Sl%M2!kherhw6fDeP>CLadA7o)Aiz1!vm%Neg|9mZJ>5teC)DA<`v zz+yk3b}!)*0&UoVB~e1AW)k3|XaISzRu4O#A)o_`6VPGSV+EMK$B!o>FE)$?VwklmkecYm|^ibxR;3GXQko{KUZR2xn#0_kR=AKw)EIb}oFMG=dMGsez%B z@SBK541Xkj);%rnIStgm329vX6g>e<${E5WfY|65z^tR3b5zH4VwFUB3MmliOk{GP zlJH}Q>c8lxpuPlc9;F!s%!%?l<~J9cMN;7=lQ0T?@dypmD3OX1sE(ajqEm3BJd+yf zbd=;dNPo<8MMQ#$^o*GTBCEkfrLKr9pRtl6N|auO0?1PKriYo1BshCU)Ou|uG6mR} zpL=eoIMNAbMa?|=ht}sING&3DY(DyZW736hYM+&oD3+PWO7kOu`mxGUeUoQI1#tAa zCXSL6%$Y=)gU#1Hqo3s&{XEYk&+$z1ZJv?l+1?nHm_9NCT>!Q&+Z$OU3zfVsuPLq}O^eoyV}kAdT*)|Bg{jHR&$%kchI_eBDBS0{hJGf=z{&Kd%4Vt;TI|C}t7JqYd3J$}j`0I4Xr%|r; zmkD2cOp*bh5-V1-*z!^rr6K{jjSW|CJqaLWnvgmar?K$4A&pX#J8m9vz(SocO5*$i z1jJe@WpHpM7ql!ec*H>sgB}OAa9t^3AbWVsqN7NFYH~}=4;}SKFy*setNJ z^|5Xm;?UV6ow?`B4b!scJHs$|KL>+gJ(tTVXk~h~C;QTk_5G$e z4t$gYo#gwq1bF`I=UA$*Ne+q6qA~my$=CBfnk1`NI&2DR8Egy2rrUy%ZQp|9q8}X8 z0Mcx3XvVsSYHIk5T7Q8%IuU6;e}kX>$P| zd(jHcy$Q)8v5j9h+Izc)J_+&*D2VZFWa@>meHFo-gkU7=xks)xA-<{LB7a!`)~p3! zf-C?NS3GfP0hn}cvfV-Sv;NH6+(OelQ{Z#K6TKN= zk}!#&bHWUt^R=&}$CQ(u;X}A*qdX5>Eb{`vLIvP?rg7Yf`3%}7y#Lklaibz zB?>wFY*2NS(qwRhhrPMwug4m0G&}mVj=`JF$Xo>e0FsA^d(GUAO;IwDg$oW^KoxVO zjD)5by1Jq;cRUU~5AW-t_rYW{b{uC=nu0yaCKrhorwEy;^*E}8VSf?F!8JrmRcwfc zZ0mBsw6(Ayfg)T6I2K(!I8?)T^>I9940B2hu%Tt~#gr0=kLUdZ&@eWG?@yl7o7n)ta|+vT1DLx+zzxngPCM?Sqwg}F0>O%?W8L_a9A*h{lP)@&{p2Z zsm;Qw z#L&YVQk2l>@TEM-pFI=3^yxH35c$mo2vq=L_Hu^Ee<bbR!78h;st-g8)-Ed=^6ieu zm6T7UaMepbuU_&~vZhyHE9=nl;>VHP{-JrICBOl2Y?wPIwEQwj=N6<*^%?PuN_&Bc zu0Z`Xzn2@G1%0uvz|Lu$;ziw6TR03R#so|Gj))5)#ec~9Y!3}{wzM4gXkC8p?}*CY z1RB#SBjQ}*qJ$-O8NH*^BRUduEd`@paq_o2jYqk@erWC6bICoND}mVf16Rc+IPz)T z|1Zw|S)+ifkkl~7F?To8EQsFTz4#v_Ch>m?Wo~41baG{3Z3<;>WN%_>3O6+%Fd%PY zY6?6&3X;GGlW56qfAbtcPDNgD)SQq4S_p+oE~zX5HAi&7wK*AQY-^_MwfT6f-fR`B zXjSkc6f#6OP{mWt0bU=-=s+Z6xTYBqg5jO+dwn);9YVk_Ao5Q`#ufgR5y0eV?9|O6 zevAB3yA+c)<0ZaifK8yb0sIz8?T`^49nG|U7sNMP33n56e=aCU?#Eds{7^snGAVJB zl_hqW1g!0(+qoO;6f=X3Z)Z<~`>sPK0`tWL{@~uC&b<*(7L@13RVHotGt4>kX??X0 zb%+QhXvF{#09r{IE9|ha1cs$H$K#j)4u7~>r=-`Tj}{Y=owSJTcxAL7ZLfA}->b2s+pcW2MBfwrmh za+-^_*7ONT_qkDDm}Ir-jh;*dKza!L^}K|iakt+`y!pKNb=&XGEukm}9zFTu35;HC zYciE%6TeF`ur?!2{yl4Vb(Mko$4RLC_xE3!NWmyC4yq^x@`3f#to{PyjLRXDVapQ% zHka{f0TU83GB+^_FHB`_XLM*XATc*LG?$@^0u}^0FgQ7rp}i-6jP?akoLklg3ghk) z92yM}+}+*X9U6BD?hrJ%ySuvu3+@u!-6gnlIdf(vXTJZhy0^Nj`+b%_Yp=E6CMQ-< zrWG`?GXjd)**eoQ(lKxWgk^;^7#RQz49s*43`}t3<-509iVK zl$|Zm365OY&feY8!pz+HBhP;x0hGp607gzucA9^=0|ae=juys-wg6c}XLF#NS!I1-0%q^V$Rw&z(RJ5%7^6pe!i^khcfg z{%tJtw*d{{-^~Fq(lP!w+`qm53S?pXFK0tzV>=srLtA$XTQh*Eg*6Z$FD66h?B+}Z zFtj!K%h1q&+R5(2-|(xUg|(s4hrz!}Hw1_YDgq2Y82+1|ld+?Py|WXYlZEwP9O?fG z^U-EeTN7bB8yldlvlHB3^@&(G0*ycV?oR*j!?m)tbG7yS4>Gl|H8K5*hKY+ky{fH+ zg9}hnu$?z)>;OyuE^!EIx;(rkwBO}1X!q^#L1T?d-h5HlzLku+i8-JX? zqlFtlo8e>p7y%4_eg6BT`!QiAcDB~;f6V`N#PouyDpH!NU;a(`ze*t?J2!wQEh`&< zmWh>r0l>(}#sXmfc<}z;I0}Xq|E}X7zLK`4b^y-5%l+une@g!P?-`){_kvIX{x_DK z-N)nt0hE6RU59~{!T95g@&EI<|I6k7-<1Cq<^Ofi|8GTNF4orn(o_Cz@c*MXw6U;u z|F^}*WNRXKnI-e|3`1h9A2iXlrKu-!@t}iCMS-O%yDg zjm`fam%rtze=VA|g)LCQ&dK7hs|7&I$iVP_bRXMgZ1r({IDO3Izf{1F<@w)~qPE6% zCVy=i)5i%LIyxGnZ~=Uf^9GpOIl}#QqHL^x zAA|Fk=x@XZpcnds*a7sye-HVR(KjlA&1wgOz2Ypnn`Uic)RQrQIs#gDlKC0IEFXH^jr}YPYSQ`F8 zAC^Xc&<7(UM?+&P;K!@M)cKE``M>gizbE^@3QhpM@qZEPM=)bM>yK0YkL0hzr8oHp z{73-&WB)+`_&@R3{?a?Rd@RHtmyiCK{&D%J#MI*JKVtl)wsUd(hr@@7*+1Y%56%Ap zKbmOq5BSjytAD@`2LH_cLC@w7{J3D~|8QgdaJBsy*MI0gs<-7H@gwP<5=YL(lADjOl{IB;Z5aPobjqTyp&3@`MDPNL8H?u;F+om^j>vvbrNmc`L9?^y+!i+5jEW z7O&X;?De7_t2DjW4!1b14$td z{lT?Q+^xR9Y-Q}*{GQ@|HJdd2OW6$VchyK8|KeZdxkj0D*d$QSv;;8JXqRrtzi#hl z(XuDsiKJq`zEGdfI z;9baK4~rgJ4(f}WlUBojA@Nbbb_^<|$08HTm+Rhp_wfT(yhZD=r$Fi}Cxxgbm>xFZy<8rVrc8 zBNTnP;k396WTGj^I_a{U{HK|5!3rD3P<4F#Us{qMPSMfbFSmf)5lUPaC}I_q40 z@NOJf3KP#p3Jr(x7iX`9T`}gv+Kn|Bx0r!bDEgh8p*vH~OmEEbP3*seXe61igpkh4 zGdYH&QZ^XoFl?OgRl(G!6rW5qPKoiS`}vV(Uo$(;%J^3l&(Tg<&VWi065ru#-x_kHJCl3^OHZ&-%n=05E? z%kcP65UHmHSGdX;a+;wj!1OqnZz=kvP2_y)w)|Q(O%;5h>s0HYMDjXSJs3>-5(7N% zCTLE4e1+7K_EnI$jCB-C=eZY^%By=$gl~uYgYJwE_g99L?QLvC&pl9LgKf6umUFP##20~U*iUNksMqaF>U@=)~e;W&@Dld zc{lvpuH|63+hfMC6j}!c#W>TY*`4b(2u>yvK(V6a&!1YTo%RnAXQupBOgMiD8EzIt zpacXjYe$V4#*!tO)iJiem?A^#9410D9Ko`m5gICgP3oairoG5uS)!7T65F`0Gqsbp z+m1SJk$FYDPphDv$v`K>>rQ!=YZM#2Ke6=Fi6^?EH&yJecqu$E2_2iQHn?6JS#^um zWWmGx%T*McT5?C3@RP<^lYC)2Ehp$T1KW@Ge7r@aeq294OU9XoN2gI%+(lw4YR`MF zp!i&WVq1x$V^F877!ef6b%?aR*4oQvjbqDT#QDuex8w3R%?bT-NuiD=85^$l7k^dJ zaMFR6NZDNZQ%c0iIy#Y;Et%@=GHjh&>Mel>59ZIsMHEwsY(+trOv$TI;a%jAUnmoA z(yaUp>aayN-stOwz!I$}(T3xqqODR;?5mM~oDJ^uj)Z)(}* z#x=ZQ!aSoJlXoNgP+|}-!%2Nza6&@%P8sBMn0MWu+VtGXVf%(wHQ_W7k189K3j08z zNc+=1;NWu@MR=+#MICzsYAb4zv)0BlgpMPDuNP~gY;g-KNqqoyXEkyc!RhibPfg^1 zM50JkWIav0%(bcImxS2Uk3uXH`mZmlqwrLY%qR-!$c)_K)M-XP~6o3|X7~0w4Kd6{o97H4ovqbPLJx`J#<)W0PGXJEz@$0JJX( zy2JN#UlSFoBV5~d(@a!-w)pUTHCSODxRy`4@If+Mgen~bqG*J0`xbLHr1!iz&^D>B zcv}=bwu1Q4U-(7aZEW1F%C=Y7fwYlS#iET4<;LPceS!YB#U6DazqG;fa8_;~%F-*| zyZ4b9_e5809dbpyK*5hlzIlm%YQKt}ljp~a(iIz9&N0T+C)$wvy_{#vQf-ttFwly# ze#D;$2hNu4@G#8%vTN?!9z{X>G+X>ym(2qEPf8dHLKb}2yHh8H7pE&9$k|SDQ3$Rx_jF=%AcHl>EX|Yw*YCJotVITA* zE@C3|LbN-9=+;7m+uMlAQ3Nk6k#fI-0lVE#p`Tj$__}z3*~QF?@l&*EpBdbzH_l42 zv!h6FrC`(n3@{sOp?K_nI?usq&X=rJt2oTx6L^WDeol1YEVe;ll_2-dduc1BZPoIz z`b&OC4=T%aY`#TsLou&1cPHMlQX5qss$vh3gnv*mA2L*lzr|RyI~n%B4~n9!LQpqx zQk8t*z0iG{O+}IQnuSb@HIaJI(JWI!Di?S6LvCgqL<(+(RyalN3>iOPL@7cKBQUdQQ@UM7v21aU#AK!9*3N>XJarjNO zPHP~}r^=Sr{Ah@*L|ZK0MzeskkJ?O$pc-_%C`HKe*(d0`$6q>N7IsX7ca_+H1_w4l@m^ zwS~k&I@f7r$bZ?W;%9UmqBjTu{W_@0YKUy@+_spd0Vub<*J@;)+IiYNk*~oirmEaH zEN>Ct>#}eZp)6ak?`3{+N||fWv5eB z-IZdbi$>`<4yiLD^vq7j*(DTCp@X>Z%!e&e35|tc>U0V$oB1C_PD=6H07M-emJ)() zI9T-Nr$@Gbk-MfvvYYS?UpUzjb_!a$r#vf%i__7{wTK(^4QL>(T&yFWMbI1Jbdx zcJY_m7Q=I$5g=rQLCt31xNME2U_+l|+WH)#aT5j|4=h>r`Z&SMCV)&q0O|BYJ$G7JXkFYy)}QX^d!Cr%6Pt+W zOAh}Urx-G9iJbk0iVGI^RF%nwNuFiw2Tocr=+hVjpBz3azYmEB4g{MCiw*f~xTMUO zb~Ooq3<2!-iov@eI_X)EU>_X^yEnMT&?Gbl`oIcb7RLE(D-FaMbkN|vT9O2QSsJR4 zw)&2!$chz~F(MgQW;yyI`t7%o3e`DsHF6Hg_iy!ljjl&)U!Uu@yvVTVSdQbV1!kT2 zSKurjLMQD(8jSk4bsS;8b0P_r|J>B#dHni+rECPMT1I%cJ#peo3Bd{nSTsfw{-b*Y zotyB?(m*yvK$mJsqW6-Hb8Zs`ah4w^Fk3KzA9 zF6oqj^}B`=f&u-?(~lBQXikGFj!jJD=!osUWid1n3Yma0Fa5bUy5WkPxUYuCo638C z$=vL!46+qep>0qt0o*=q<+5p2;mydZ!S0!_URj zUB{|hlw%qe%mm@_g1QD4^W&G}`iy0NXo0g-0M5@FFXT|h`P{hIk%r-leL^#g>2o9w zC(FMOMvajR*&H>|vQHs=%2G~ax_JFY{kvZ@VbIQjkh?2%u6>ezA2q6t?O3}6K?Y_1 z9L27s2d`NL;c6A8G*>Jvp^lHY1LgN3$7NGESxi>8$zB8nDFe~8-9v)2i+00*tm63C zv#9DIF+O(xs1DJ3j1#)6===3UMfK7tTU)vM!gu&@=!zV$h-dXY2;^?o6#jU{aPv2n zDCa&x=G(lRVhwp4BuqN3x-`4Kv$X<_K*|y%Yq10B{%}q9m!^c^@->X4tWuhNo;BaRa7Mnx@NKnON3Q7J|D?=#9=re6*>m zAEC`yigTF{U)RJbK4j8(I}FEWVV0N*K#akXy{Y^%cMd$_H@R?lP;2imZdZcD9*JOc?0PTz15rw|b`Qm6kljaA zmf5d(L{~1h-?|;b)O~~-@*Zt8ajtm}fID<1+bxUyD?* zAr3pYwEkiS1?V8!%7+Zrr6f}Z8}Q~Qy(mEDwIrfmnHn*BL$4rzR}ZB(mB>uZAbq>* zf7JK7I?znzJqunXbtG#>GDF7t#PM6d)2v+BiAlJToklt{8+k5^A7-L`Vv;InKQWYL z9pMRSm5~&**RHKRskIpkQ<6x-I8)(%(I>2#5s-fbV|W#?t5?|1@`^dkMlhQ|Wl11k zv}}k8=rcsrvvYrc{jQf&K10EYzL6Yu3v)17PM+7r!{fSL!fVB!Faf^uW+_mi;Dv8> z_sN$fU+nGlo0B)S#_P{T=_1SG)N5mVU0Ha ziAypMpBTN~o^UWe8=0Rnayy*&?qMhOJviS^VL$+e3sg{llSHa7R3dczAVgZKbkS5`pPRrh_zNa=cGmO zhG&d>?vE*d_jvL&um@wX=`s(ArX-G95t$`Eg${xQmr6z7_JS+0Kg1=HjuJ*IeQ7aP z-6|(gQP~2e%%UP{dJ&b@Gg%>T=q9;(Q;wjM?k~%x@M3oeah(%?#aT>$$|BoT3!9e9 z?Oc4bwwYmbVA7HN=DV33*|rKY-gR0)5-MQGOw|W}mje$f$9^cqUQYz^Ym1S+bZ=g| z!Gl_q8++q%WE>mSz>eIB5PevQpMv}omU|CYXqkq3vaH%tjkj>=_#@HyXr@`$VW}wv z&5+LG{KfSqj}Cp`sozS2MjmD*KU^+ z3#I3OUm|lIS-P|#p!d59*QQjTPrtsfgin_Dh)SvXPH1y>*%Wevg`PUbAUT2&e+Qn9 zpK>?2>CK!6uF3_bjHMn`#9Fee7afzP*U!X3%|a(EjMNVgwh5_;Q~GXN>|$x}N*1dN z@(8pX?xge9u-)-jqaT@pphl7*s*H%2o}lG_`ZLHm$*|roflM65$`D<L<$n%k;YLF&o*7!Z)`U4FfL`Ly`56$zwC&hUJm_UbjXFQ-o3sWqZ zEtt~t8H8CDc^KVmt!`%xSWs$zQ|p9@uE!zGnDXpSZAPDP(O0s}UU94pK;W^!(6$_Z zN-*wwRsSko2#YhcQt76lF+d6?X&1~M0Uy%C)in+&ZohQ>9xaPRhB>`mCizcKDd$iacU;^s*=X(d8|_*u8H zJs`OB`REHihk(1gqVkE$2?=|ij46NZ!N2YBVSc5~%5>DJxvR4tg0euRF13r}UZ zVTp~_Ek;{Tmv}XAo}edOlAa9)6aZ!Wx4B;kb)b1Eu~nMuX2sxqoTc|u;{cRZ$8l5Q zK(71+OxI0YB%)<*F{*hECMo&60; z!@DU7tAJnxY~KEFBL|FQP+k1HPW5?eHTh^l*-Gc-c^c(QGkq9+-Nqb-;P9$rTJaH$ zxd)H>!!P1qaWJ{2`f-lBqT;bD8-@-m8Bu02#Wt{Wx{b27`R~avUny%u>gXG8f0kv8 z%29ofA{I=xFP4-lxmU!~`S}f{eyXV;Z@sze9j;WqH=E_#_-v*b)M+tA9&SyAdPP7^ zdF~2I87C_$Jrp1~*qTtTBd=t*r(QMR*@=uBsFXVy89elB(ZnH}_-dlzN#=&k&YT;}Ukb1Lp zv5CX7yQU^AB;;QzbMWjof6nNnUs{1fslzm~qqWuFIz;66Bydu~D&=Eh9W z6%na*VORr$&PSLlP<+wm_3(QeDOAX%mKIiZh_lK8NeJ8_oy6cjf3Rw;fk&j0h5dc@ zERL^4STm?DiAY4Eq{)6+tp3)%Is-C$JU>u#5_XZg!|+95qJB9u$f*U9TzIe*y04eC|(GjInj*G8|sRe7!bb9~5li9o^UK-4Z_{rWq^}TNqH` zk{$if9Wg16>DQmHW5Z0IH(f>A#we(afsvSlu%@6I!(pu;iD-FSo?VrPlFPwpVtGTb zBP9&tnHk-oTZi)bwQ}%WEk<)~L4l28ILxbAMOpfk99djke+F*uYFcD?*|E=15NqLP zV!xUWR?`E18%Zc?S7J<+685UhU44RLha z|An3~%d|4fi-#xa?v;SrBG_gJdi0Pi4dbV$O25o}W+k-_aUcpKBJH@1PX&h|&_4rb zP{sb)Sf}|je?gep4qDz^a*^ynDNV;8TMF`4#N3i+iv_ zl%BoDf1i?njsCd$Y$@-oI&>uF6J3?k*I4HfFDD-Ork3d0gr3g1!+QSa-uAxkl`b`%tOt=w6?pm;P;I*Rvbxe?~xJLni&Epke4QILt8 zre$0vLqz5Q6k95G?CM3Yz7vm4RsnOY+{Rgge;~$}%0iZ7qmF&P-0t0Usnn3K)Yit; z6-6zc8JDsuH0E)IW3Mg!;^UcueX`t_2xTlV;vf^OaL#nsm%jc3My>Db^ApN+V(u%4 z=rrDNR%L>`SDXaslSz*?r(dzr02BQ3n77N00dq7}6P`ocwb=yg!~Q3zISJcG(22@V ze;`!?!cikdS>O3@>6|R=d~8OhuGq+xT`)=l6wlP$6aDOZTNCuxjqJB4%CN~9CGg8f zY}eao#sp%pTW!Cy<=&=nhdvF4dgFKT#I)-Pe{EJGb$b1Y^TI z0cY?fM%iBPpjrqSEX(#urm@-3YA}k;e_hDp2#91kd)90say;pOv99d0|?mU zs0@)6O=4k~1pJe;MgkaxK67^WM@X%G>r&YUji!`$w(WRQbCO*ZQe-Pf8VCr`&NzD= zEsw^3G($^t)9g@sB`myNs_ZaxEs}U`P35pNH19*6HV-Zg`~5DzER{~SuAp>-e;Xxg z+-@8eSEr5t|<+IAK1TBLQT} zaJMOYhXpH^l~y~wL_D^maf}?-e;TbGWpUU*f=$;o%0sDiLgbnz;E8GVC!Ij$;V~ju zlG#If9x@M|`p2Ih55q253a2Z-6=8$DUYc;1!Zr1WzOwWB6A+!KMM=Lypme(`YQN1T zi3Y{yNGCQNP`tX5sdXa*qtm1dD0R@nhaAj3d0`9?p*5Gifi7jrD+a~ zY@K&{I{I~j7^J;(tuqvUdd^ELP60|{dX)_5a(%> zwm%txSsXOXk_+aj^=~wxf5m4K6(XC8pzVdKvy}&)yC<)7rd(WmbVeOc#XM|8tp>QI z;(GQ+>wF1310~t}W&)ug0^9Pk9nOwJrwxCrtqFo2Mc~vh&e?Z?+Tc&SN>$9{aO)#+ z&sH)|>(zX)s1OcR^Rvl}k+$+$p6kEeYK@&)jzM5=mZFaiE6!B8f4!I7?eoQml;A}5 zf0v)IhhK{+M%rl6kXmp=E~p7OAF6+t;nU77plNGmyjb?NiE%c|{hAzN$*r!xZ)r(W z_vjP6C!GFC7)YL8U{fiesL>EF)S-o~bKFjd@FjWWluc@u3#kQ76)!r6&PhZ3;|Ngv(=Qe*=DDOZ`%&;X;D&x^E@mYCIUj0o|-a!#e_y81~I*=A^F+?P-tlooLl6p}*>H z8>w=;C>pvL#}@lbC7&C$hi+bk=&&mq9=G0fV2|eC!KcTNyajEjSwNSo93zuOYtD(r zNgoUxg&5Qmf1WU}Eifw@;8zUqI!PM+_}=^Lb|DW39TdCX7ZpM!?j*oUNIsv1v13Di zog`i{oxL42kR{cc{Z5-U;~Q>v5H9jVvbEkDYig+o^~KAf8cs(?H^VcSuLd3JK@wTs{{)LWK5_Pvg4f^9s}Ga$aJmMpJC6XtI+sW#(si zn|gFirqMpLMl!y}Ki1=+8fxo+%&~?U;bpJB?#FgSOzF>4mGgF%myw7aW0(r&(I965 zZsUMGf9s3t-Mo%A@oZ4zGgbhZdMTxXJXRznm6;vCyhM-2$xp_umf*TYXsxl?8TuFH z4#~>xgl8GTTBLT?F9XeEY-a05I?`Qm^NDP%!p@;Wx1)5wx&3 zZLwc4HC4KKapnu_B4-9NkP5YE5^q`57FlH|e>V~ZYb*)WYvwr`&9(bt$Nri1~iEx%@jTMmAJL8?IG{utfJaQPKezEjX>Dy#=_rOdjCCZD#m zmwRm08X{m!Ss8Q4e4R|TDO;k3ULv|5ua<<*)n(Gvq{CR6!;01LiO?YqOR(T-QDEv` zeC5?Sh2L*8l(p7_fgCopi zQSDnK{f*J2EVFF6MtmVv{we_3Pcd`WqpxLRSy*}5hACz4h6K%j$0Ai~^|>|sNdoz% zY_(v-_x^i~Y3gXk7vWccP1R#)2pG%p7K7Rr+1BRkwdVcsf8UTZ z)#)S!AzGuEo2eJ_=VP-uCt8stNuTVq)&!Dzel23{B#pzXdIihvk(f8DZ=3aKx{^+=~n#OJ;M;dVmt7^9R|n68+D-s?`D z*>%Pr;_|*ZLmGb8Mj}$boh4PuOxjQGOEYxd0rB~KHaDUf-`B|8rU4w%DZPkr6`Fk* z`8_tvW}6oR-jU+;&r6^tk7{9;Htt2q-^uxR`!?p*;BE`5W%PeLz=&Fxe>@kxfoL`H z{)}f>68xplyC=-iAj3(9s9r{Mg8tL3v?jlnnt(w_7fwav7abxUjYlzIKBIxV`{R1R zSkthw!d+0pHv_230$+*_;zqhOSJ))Vc5=*EZgC)`34Tn)3JJ#Ng^#~u+wosE)*R_( zYK+9%1W<-ib&%eDMw{w5e{~$8!PgptW`o1rX*jGOJN#18`N&l%t!&_GS-BcB3I_A2 zK_{ru;_$j9O8LmCga*F+`7Lb=Zq1}Hp38? zQ6~H0&vbD>MjQk(dAzku2A~r$Puo%z(mlPbRhfxRM~!A43@Ksk@xK*J$C6f(+EE zW1(ei1v4Ka2->3ae;-kWku-J965J9>&r41)%#Q!s^4z#1Q)WkZ&0V&Mt`Bk@ATuC? zlkYsUjpben_K3p!=}fXbh<{^)F_tz zpDSUS5a<4K<Vjq)BPXoE`Gl`v&JxowC)Tv1XAG&4DAe*>z_4RMQ^F zbZ1Tj))6Z~zhk&hG&krMMZiYDs6#_z5SCus&ZT-e$~(m7@FFI@Ng;@WNMOKg{w)Z) zJc*KRe}7yUUDsENuM-g|*n+3E-=jRcRC9^Dtr!kBq>4Gz&?P<*?J_(=q}Y(X>KY3C;mPDO;pAe38e z!DAzk-6g1@80^!if9B?!+)P2%^1unyWL#=F{1M_*p%Ba(95ul6 ziGqxsGMD;Sr!W7()vZ^lMgDZZc~ZSpGu?`N#X-(DN8OWI$y3^|UZZraDG?Q%M7&={ zM~vX4)o+kz=4BYJ`$%d#uGk*S1OW%R!Qn^u=Tx2ZteCHJci))5TTrdco$91@f2G|o ze1(HHm&r|;I|<-BO*@skKA#_~n$W`otIa7uydD#nLC0@(kG4}6Mi5ei`P{uLWg`7s zumMR?;_gd!3mYN~TiLCcazE@ltXR%OK+n*tTmVx-}r>6a$OU-%af44ewS3y!l@TFDvrd=IH#sZbVD$K=EHzx(Nb%U#b zaQ@+wvs~+x%yQ=_EyQuF)VJST32c=n@+Oy3KPZtnhC=zpG&XH_Oge3qm-y3c7KbG; zx>f2)S7O1u=d-o4)XorU^;3xT@&M&f8<3p zR^!Ew>pkC1U>R%qimFr!zC8{>2;?FF6a!2Ie$a7RzIM=^5V2dRtq+mM!g;>DwN5Q&JIAf0V-*%>i_el?j?bZnBu~YxtO4Bf< zJK<8krU>T~9ReRacGEXW(cD@p(be@BiIeRTv?$(>!a zNBT1A+#FrcQzRU8po#%DiqdtN4MF_e@j_DnC_B1o*jl{@jhmgk1yu|}fDowzMH@rn zTU>TgD&gyTx4}GSLWASUe1w?m!DNr= zUo0US^E(rUvM{RRf61Y5$M{ZIns?9LFavy7q?sbX`&@h#UUYS9i^()x7yqv9ehk?R zD?B9IT4Z&Ha90y7&-uDp9N8?c>9yYhn!ThWrmdA6q$J0}JUt&67CDe+4Fxh#LR8jl zWqPB#0aM3tDy-JOGtM}Y?lD>DWQ@jwjQG_Ub|4OnM`Tv`e-x*vfM%ll`wMTaAJ5Td z7{4PWrNp;*71-m_Am=PUH<||QnYu%M#bX%A z#4)WVhjXyjaQ>+kN2`^>b2Ng^B_0#zF`abb-dvonpm7GVHU0yg9?q+cB)gp27)xP* zIehN;3|4HOyg6*=_O-`0p_J~F1{=<)EfaD66nn@;f6*qGnwgEu!P&xq$kk#w^+B?T z^NwDMP6`XLdOyq;7l1(ftH6A~{KY`kfd0kzE;@+zi%|>L#S31{bWy$y(_fg?FJ0yw z9`y&XJflC*Jtup~gaCPcC5 zDt9iQ+qE_hcY#=xWX~Jj;MSYuB~@_?BZ*f1GM`uv%N4zj((3$W`V#X6R}oUm$Kq$F z++x*eriH%Jh5->j#!l%g)}ub@nJ%(!IEtB1vKr@0-ERsfKOfkXt6ET5VtdO(79GFz8{s_4c%{xC)}H_T6yoh{ zjQ{nMf~HyW{EJBAM9JsqPM0T6InV)Qv#buUX{oK|4tF@&;{D^VOGIE^olXVpjOq>d ze^s=&TcLbnl%-l1Gy;*Yrvz(z&(3l#7SNhgF z@6^MHy3x8cc*DEu9B`Q_Xp}<5*;u5bca~Y{%`a}+!zkrkLwJ1ej!D6Qf7AD#+)9=4 z(Y;H{S`kMia&P(0vX$%W&Sl$4yfMsIe{tq)cw3np_^bX*btQbm>d7rH;Y_{bNtH=! zw(AfU1AIWomGYcvjPan#7IvaCbhIuvBp~?by+0)XxgHwQ90Xjq%q>5n>SP~`-^Rjh zdzt4L(cl+}HuSfUBI_nPOdip#V6K8Y9oTsUzXtu_kl2E_S}SyQZuKdJRc3*Ce-YIt z?`V468P{v6*`W6&3HJ5UqjeKlg(+MF8&G@a$y?qMsmu^B$kI#y1@tWV>FO6W%JX5I z(n2VQVZ!f{3M}iYwN)S-APJ9GFlV?ififIfd*&nGfqp|I1UsvBy$-^gPshEm#52=j_j6+o; zELeyiBiNV~-<9hHkruw7B4x+11j3Ut)BLEhI-5osvKd2)A)8uExI&m)f1+3Y3^SGl zl&(ZQTF7m*_2jKjp#MY}TvXq$?h{}d-zNBSPG;kO$e!fT=jco+4^ksyJwr%)8BQ?P5lD&8~ z;dXkd2KW@2G9)9K=^9&ve+>u;fMO=4X0TNsHGEaI+JfE|?qIT?UZ9JL9hR_4@AyHm zw;rgTWR&tvlrkXxnoU0|^|iv78ECo6{DS&LSs7wQGoDeGRbN`VxLpnPYyLq!y{UtaWU^%1J`OMu>x)lN z6xPa;Zmedl`=G(sw_awOcvgt(poTfjscVY4ine;|<-x%Hh)cb3S}6Y>fFR`QT~ggL z(1sMd`(dlsPOwjxf6&HO+f`p#d)0HUr;9+3oounoj6Pea^J3da&Pn^Qi%L&tm%+j! zy(ht$3`(z9k8?HpWz5s=W>sQ6=x3h78g8g1BVS&<-a|*uvpLa5xjJsMyV?b3@Upbt zLt~V4(w3xY@i)lsty_HeMPbmX^0$`~1Dae+ZL?hIch*Lae^hAwn7J>N%?WxX;9*c< zjCW}-4^;@lzV#{GGw=h{)aBT^5PSwSZ1R9s{jAsbf6T8AunyrRlXZ)^WP53 zQ6e_<_e&(%f2;h!AI%|@;3IcB&%owY+~OVHS-%s<5gRa;r#9h}wKdHc9FC>#__A&O zscA&LM5O(+>WDqJ7Ay<;0Usm3YeMTwF%BK5cTL3v5)YlWB5!7IUDUSJ76nbQ;8jMy zqYC{L$&#WG@sbwQLZhJCR^;$_@W=mW@gJRx;^F+-e`1Bx7IzlPNgb~_Sy16=B#c?z z3A(}eu2><5^tn0M$km)(5=(KdN*Pnx#X5{N{=tL`eonvA3%Yt03ywOD}-DmY^qcS5QYq8v@QTBec=m9OF6L0gpb==*uHjlF%JUHf6 z%5Fk6e}C%Ht_HHompMubjl40u73S(Ib#2(don>{f*C2%AmJ1HXC7`6eK0?evpHl_@ z4$zRMjGRVU$EUdd#4;q?rhKLAgi%rf1a88N8#W#?MSJU=GJ*z&{L-|qHv_wyQAf~m zwN$$p$I-e_VIyT(ACd6*xn0&O5C%&=-@&mS`hL5$i@D}a)Zj057W z-Jylvq@Mq<-FUNwBs@mC0e>kTSA`VIN_1>o^?Po@2<1y#N8mqjAdxEv%?0@TzLTXwVn;3b@MCkee$>DU&ex?` zt%Fod)xgSwR5pdHkj~uGFWE!*jez|fwriCr>efHv~~+ZC2WnB zQIui48|FjZJ{yLm!uX#^`_zl0_!;^Vf8Dxwrk{ZOKikYy9-5DQQ+2y`xEO$p_uK$HUhj!BQ;Jccu z7s9*v2#@GA6r--+OBSwJ#9T(fp!l9wLrY=7O?a1QT}42`>}nYWCGj?!DD8#hexCN{ z4!4}s{YcV#Oe+J|0R9)90LY~cacN!0JRibI%vS|lpBtMa`oWiEj z#7EtCO>KA|W%`yu1ompH~^XS$BegO*AEjyJ@H7HM5B*{i3|8_5NrGcVFWykhqEvEt&CIcixf6gyD)xJp> z6w1x669l#j6t_cEY@zf9Vus;VV{ErA;<_F)IK@+8gcG&XHK-N+2lxb8hOE^tdb=#C z@5Hx@H*mzX^--c=<)pGAnb!7sT>7%T9&Oq{eY92@&isIwa&_jfnCs9!DbliOtQYsM zB@?}Ej1= zIbBZ>Mie>|=gPFG)2aA_hMkbd^!Y@QlvW5LeV5pCsRZDsUBN+;dV@#D9vDt~uL? z0NK)KpqPRyxvlGrBwk4O(3Wt}GF*q4P4|x_%n(X>hFsq-)1o<14`;utg$Vg!Zx8nk zZ3@%t&a||Ae>eQXKRJD`PS`*FrwA()Ao@CzgX zrOaFX@gOGK{X4?NOmBzGpcg0(N7pZqJ`)ImCr>YvBYOWj5sBEchQ@%DlTW~m)pe<( zJ7|h6z7}50&eHGU%y*s&hgn+NKI?ITuky104jkZ;z4wCky#MAL9tK0;&KM9VK5B_7 z#e~ZwfBGC?F6&{Xf^>Kwqu3?AL<`;E$1liWX)=VosH1!-DHM7sKWV3hHB}PQ*tz^$ zTxXkuH`aB!gahbVAvMKo0Hu;!3E$UC!SCP5Z;8(vxNBX-|LS4PJmYS1B3)lzcjGIz zNS?fN^_-?fDLpClDuhv%_O1jf%d2CFG&kI_f9UlHDJ!a?%=p$^f>|0?-O{I(gjv;( zfBut0Gg3q37nVoz#F{L4oLbXfYnKpVz%yN6ro|RGI?nKfL=xDIZD{7X@*44%1!s2* z(3!)}ywE3iITTWKzobJSTTyfdl$q3|Wc5adePnq11i%NTC- zf2BNOWiYIN>&v;>LbPY@jxU3TBs>CjDS4AFz8wk#CRCKI-Q0Wo_?^I$^k#OLJJt5| zdpkliU05R?<1C{pSv-iPqRm_3}xt3S%r5rNdgC48+B}h<{4v7 z<4dJVJGUU`eC`v4e)MTYU>JjgAf-5k%{SXscr@NueG7sZi)>&m@6(y$vuCnOe@3`5 zZftH{L(yeF7^8c)5qP0ab*{ib0#!v9nGhTdtrf^z&wOR)!bM>GE1(B_o{fcvB>#rIx$Oc z3xv%EW0K6z#6(0ksxuJ-RdeEAY5FC%85UTA?|SsCf#Z!X<)aBBsjh&}e|qPRi)1T< zN>v~KXo9OuwWAr`{>Z6144+oI7YW@GqtI#>|BjJ*G(AaT^T{AK?_He(FV70welXcux6WZAPUF_c#8tqi*|}BZpkJRT^NO@EC=QMb1OXwYhBV!U zW~)3H^+ zl=vc($`n#CT?9MZ>cNZjPp}XuTI^Ji4qiZ!rqRYXck|v>DBoBTe~8IxVDyMGzPRGm zaM2-fErX*)I{ZHY^au<0itxgPvix<*(TIZ)i-0@CnBF4sxkQGJ_Y5d|^|(o*(M+V4 zrZOD(x8wqYfu2r=Xb+;wS9%R|v!9dZeFL1x4hz_W-i?=-)3Hb!3AYv^OsJ9&DwMbb z(u^<-9Y1E)Ozvf3fBAui6+z-<=RW%79SBe6KoQ*+jK~EepV=d~TMPHI!S;l$*q&Jr zyu9XO^R3+euPbo4#f+b?YEVjF47m^&%(Nk#JlMy!0O{?= zcu4*An5XwHmNeB;_1x{>&mdjJde+DIY+m?op-EYwWf)YuP>d+40Is~P8@BBx7^t(CxKK6zm-j

AO zVDaw#XI`wDe;L445PDtx*ie~}Q(@`gIxV1-m}YqxJGPvW<67-jEAzcrd4}1Pm1fW| z%B8+g1&;BdiX5YGHwds_wu+eeFE6KZ)GOQyH6Q~}SJnSksmzUfv5j6>|W;rwsS?j#v zX{(G_aa=3HeVEEsXRX*tuf29p{17Vu#6>X4Evaxzpc(LJWzsTA*wGZLAS|EFFRnJ` zb%n9me>|uZw)HevVBTE6xJOFc)QNTDVgM`qU;9rYE4p%qPw{!1##JX&fNeYpSU$Pt zXfK5@7S!Y&z|pX}U8F^y{wWrCu(Je{z^`$OT=&~WRN<8;$540?BjJZ!GIUQlLi@%> zEky@zm&WeM^-hB#%;1uA2)6?TaJ$Hp0NRRtf6$g3D55hNA$KBIJS2M|_i5-o=4JGgHYZ>aqV9;<*RM5C96_?ULO z=-_H`{jggbLJe-36IofErN)Q`TTBB~B1YrJQQ!-`I2r3I_JHVeHgcGS3u!oSJ~S9C zu(nZ4*Y%iQ`ruzZxic^NW7~qMOH5>Zf1aO;-uSvkA4!1F$Fowsb+$>mI(H@kc}EU4 z&YA6IP*T@%)e@XZUBN=^P7;XGdVeo=U|V9YQA;}&^azJbW0-gg;?c&(=epYs=QXGx zrZmkwfB>4ehc?D?s5hzQ2@C-V1KYn)7lRLX;L3Z)7~P#$7GOa*yW;RG$nYRTf6l8_ za4s~({d%7A$gfU2-?nxEjb%`sX}Y}R#DH1UjP^zN;366HmEe{UZOzgX<6RxD!`EBSqUES62t6By%rW%}aI7u+I$ zFXWyuKrp|SqD0V^gvjKnQgY2DW*~;mzOGD3Q%bJ3qT!$;qVcWgbdh|7x7oMH;;#Ev*e>&dXWgjC< z>v6)?hN~LqPY<$t>tXpe9;NFk$MdC^g|H72(FBDuL$~e>UxXSE^P-LBXlZbtXKtG4oGBR~iJC4K#mmKB;ymro@3 z85%$jp3RT7ID3q;>XypZv%QGRq^3p8GyBMfsINfRWRmN3xd@m$#76_XU|UG$bHsvp0T z)~Vj&Hv&yS)dMySaBCOp9?&}06Xl=c8ah&4(luU zaRp=1f{!+1&In^|KLfbqq+fFi*ZatUNM_{i{B()X2dHfB*f};+-v`G)olZm?cFWPI zD2lrOs_t(fWA?Q>e04Wu}nF^f-whs3dZ5u5W1z(ahTpYu7IArSCS5ot!uT7Lfb zt*AL8;a@;r3XtXZK=dSc!J`O4Ec4o%?0MHA;uew~0La1uxm}gqtn5)5R z^k`|psHN@Kqj~>Gzkms!w+GF)*Huc)gll9ZQq|EZJ}fcvE3SdlD^)0+?iqjRxy~XE zDd~mW?2%YHELruC|LK{1${tE>-}Vm~@t17~f90$oe++TXjyfx;QM%=u6fC^l~QM;NBh!{qBx-6+8#jB< zf9y!q+90s2jguq)KNu2V5YX+-CJ733dm}12IRfO}?U!K#0uz5uV19rk(8I<8pu`N2 zcX9-|B2h~?IeUX`tgPMM*7?sP;JrB=fQ^rjhw<-lfS3aaY-0{|1SkRBtU(TME1CoC z0UA!`HXt|e|4H#)(Av$-nV*Hl)612liFZCwB5&~UPJ^8|uHfH#A^jXB8C^)1BR(El46v;8;SzoY+3WaIdEFworG$-x=u=xyU@1+cWS2LV*16`9?<+!z5s zM~lCRKzmoGw|Jlj(8eBU_D1+yIuIZ&rUn4MRrv4vT+M&MHqLIY%&s=}f7QtHSDLqN zmU6U^aB^?}Il8$b{iRRR1`INP+jno4e;=-$qm!qj?|+b`jiZI-Uu9UhJF{px+PJub zrBtUTO&0FVm+mBZyr^k&A)Z9{)v@yv~&XS{Y!uD+dlnAvd6!B;QhY`gbwh(xs;vW zIu`_Z|EJLnS-Duv-@e%XKezkeA^-on{I4wkuZ{kH6-m3>+yCu<|1ZM-k00n@WAFWM z##`sQyS+_;lGEEPIR0O%4(MN_EAC`(@qc}CZos!$5OcJ$|L->1xJui2fh<&Q+{~^2 z)h>VkvTOY{X!bUaAXO(9W023Q4>;Lh+O_#ad+x6l4){}p`KySnIze`Fvnmbwi zHD&Bv+yEdL4D?1~eQPClE-rvC+uJx=fV}?hVgL)Xqm$cP2;i+ae}JVE80oJQ<>m&k zi2r5!7vcf1Nc=&(02awVh!4Ob^z~5joUU(|${+Vz2Dd-% zx5eG8!JvQa#G5)dPp5wbyw&FZ5BOG_#~;Z4mcaXO_&*J5?hXdOUDJPGA#dILAN=<_ z0R-{_nIkREIhhND+17@&-&Knddoq9Rj0sIs@93n{G5Icnzq>!6!KczyeF<3y--x9S z{=it-mU@3JxpxzmQUFoD-M{_Rk#?k6cC36rMiuHUnZ zpLVbvbPHssJavwXJ1?4Q9`>DQuZ&mS&(h_Qh`AlL-70Pc@~7G2(WVMc#40fp4m+DkzCa}_MY*4Vk&07fI~(4?A(r3*&{#qB-y_U zyM8YM*RdbDpEl3EK$zF}lP_S3wm#`KP&9FY-7MG5pxYPdg?iip#dCM=KRzzwi15|m zN>lGxSaSk`WRMa##AZ#NEdXbF{8eY5uM+FkP8gE7k3`A|vHW zkReWCwLDeDK;XBu=sa4Y=18lnqFYr`{;~SWlBp=<1B)tgizL5ExzdS~a9Lx|C?)jD zvT+clq~s}ERvCv*a(;hTH1o*BWv4td9`}6Z45?tcCZW>c5k-S=7?|KaVYzZhKknBw zl&w(8OyMSd+wL3dyuk*BbgdW9s@L;vq^EkSgkL=qTZWrD%FGf4@3p54PnCCfNpimb zXy(8~gPjo*xv)3EaP2NpicoF3Ek*8#^S0FRF5aB$G~2)&?J9<>$_3i8c3*C zb_dVVDGIq;m&DD6ObtkmE#|g%tIot27x@!3HIu=1ba(N94>dao-$sTuw>iq3GKp*M)mn;|??LdXl<0j%2$rC};0Nx73@(M`nT$Hf zX$GGsOquVwtdM_nU4dY|^5hTv^Hn&5=6R5K;;1FLJaXEz!OyUBJ2^V9Et%>@s10BE zdSUhTGf5r%%<-MVB5M+Y2Selx9U_z=A_5#gr~KYIM!Cr$WHlswwp2vP1j8)M!KAha ztMtAGAS|tp9>--?bfH5+3qXdwAEI5_B@6!4ZCMkF`ow=yV6O8iR5HE)nXs4_GIZ!c zz3;stdU06m7wilC51HShANbkyynK-08RJXg0nf5 z!#XzH#BzV~`(Tm)U?vR@=eN*3*w}-Wsm`D9j6$sp!=>8N_~yGDKRK$03Hy2Nej-~R znZO>y*|*{Di8&%9tOGN48bX?Gl)L&-XFB=Ma*GT;Q;lX@@K4y7YA&Q_dqijH>aoGT*mT*-7Ce~U29Sk3S znoKqmj!789_)H|+C-%Gc1cwZp-TSdDHVAM{YRS>nPhtJClaV!%@widmEmeI;hy4UN zN(XRjMbaQbCTGQUuS7tsf+S51Bj1cqdku)#~lQ<9Z z+@v-uwm#PPFX(^mmk6lqx4*u>F8_elX7PWS?b|3nOYj50ikuOrAL;vw|HoW3wK0Y> zcs>qoUqDBy+DH4jLz&8k#w}DH2yy{3C`fM?hRxlwbJQvM`qV(NLs&S(U5{H^7VyOE z(w9(uQdJB(&T7j!1{G&rlPI?U09Tqpyt+P>pmmPKnrHfVvhznyRWa-oPiwQzK-qtL z4jU=|u#g4=^a6(?pW9S*+&e1L=_hCdsT@vU?C@S^A9WU;`vWv4#J1pKpotvpZbPzz zb#f`l@`AR#IcU$oC9|mrfjMhVg4LZwEAN){=sQj6&N8FeB%&u11p{Xt)mnk@RLi$? zA<9aSr~&Uc(+L-uWVK3$5lDswN z?RZz{!mJh<#h^u%0&C&R>}jWuSJQ_%#aTpM5KHm`XYve&4oG8UB=Urh+yp~E>r z<{X0gDBzS)0H%^t-3H&!0Q=V5p1xw}=7K_Nl^*_?Bj~CS5(VoBQ}iGFT*ZIpKOI>r z^f6pju#pE>d@M@VaJ>Kab31_YW1tBpeS{I|*9JqIGjiN}`B9rMLoUPV4)OqnI)LT( zoG5R4jeAHm|C?wV8EtM)U=t+%CY3{Ngohx8kG>kQvEu9=tMYGkmy8?oWqO`LcSV)< zF(I?S(SVaDlT~@dXNeFw5kY^h^8#38O%xy3qWWWhcSX}QrG=o<4ho*H3LVqP&?mQh zZ5O{HR(ZWu05QH77YX0|ay(4w-u+;fj36Q5$X(n`RiH{G#L3@B{M-&;ah_5$N}lex~zcDv?bX69`>Y zHA(T+EZ(pDhSC|9g1diH;Uk(NnX2yax{n!JVYYsR`P8ldYw$50HNN74f~5*O`f6qH z)&}6c@=U!}LKRaz==D1|Fgy0b9YwvY#XDBh&K^&=m3E_6_IMg)jc+o9DTVI7^U=Kq zsmq-K$G+a;`WI)zL90>rywrcIHQZedi^fd(Ra=Rka6?#jfLPUkpa~NVAvq~ zm|`+56EyKpq;Ydx%+i>Dm0J!O{{l@&!adrIrQCSOF3JI8VW{}2oH^PYrp#uTptYbC z>AMb3B^AwtDoI!Q^kFsP*7}F;P+xe&$KdapYaLBj?3LPtiIvK(>r-)$7wCZ<)Z(E_ z*0C4MR3!6^o0r1byOBhfP6rB~mMCPi#;ed~&~pIIW$a_(7{ywDqdc_oHSZfw+erH} zCod|@*;M6L6E<&|?Q_&-AZ-Vwsco~1RqK)1PTG9T*as_Xbb{8D7#tLu!dm+JEg30R zSU3Xmd#eNY!bn-(9NJ&at5RT5HvkD}^HEY-kQbUjX`+!nSZ znD<=#8bx8N3)`ma3jM4ECR+F{RaJkKHLLhUu}^+PZ%M$ANe-zc7M(ag1ckyV!hzMb z?ZuOJ&P_?&`3fYz{2&yyO*w%5_>4T5I_O@2A7hr+%#yq=(^kU7!Lsd29X ztW7@}W`o@=gxAjnZf#n`h)p_9qH&R&q)jG2o7-J0XU@djkvW>?J$TIH&eE}Gq%MC> z`b9-~jLLmK>HBhu@Km<9RoQ4L?QyMjq(h3_8DxKgMC}D@U{ybZaU5>T9Z-NJfjonM zyF!taWNc?IQG4o*-nv3f@uh7z;MvtX?X>?a)HrbGnZk+m=Y1$AoMh-jC!P?UhiAySv$-zOD z*X?vx5H>F@NEg&hQ1V)RIR=*1nz}rHGc3$R;pUNeF~JC0Fj0)R);y=YN_m{)zex~% z_WAg?N9s0hUmU<5*O{tUag?aSNjV5+L0%Va+a|Ydg~N(H&Ar*k-enP`$)VL(<6P*I z>Y^;ZmWOH*=l*3DLtO|1^EUwt+u*tb@+xS~w&(20gzL6gOVxa*rsJSarD+C#V_L>^ zv=eRxI$5(?OQ#$&BA4wtICN{!=f<@{vBsldcgTW*dKf*qpP)M=V~e3-HNQ z^mP$4gixQdrlO1C_fgi6S6uZbu{HkMo6?^|+5nl*NAiwtN^>G$LO~x|4EI5m6*fKu zPF@u+;Jt7F-xf_z!J0?+mhmfp1wtrn2i^BbU9LT1A!}&msSuzt#zJig^+z_?tvL@k zwiPQ6k-Z>J?mC`e*_%YXL-Lo)2IZ^gZri*q6;9IP?>LJcW~;9|-&#IGy5&k=cwg++ z?OdPJocdmRsu?ioe~?egb7@9mXxS7+KHYY3WL&pZa+I=^LvcVZR+k}vtROZ^*}^% zR*p}^1>{X$%#dce7$5fr$^vHfMo` z_B8Yal#)VQ;iTw)EEF{OJy`A!%M-*yz0mr3FUXFCU9QnCnzo|I6WUC0L_8Ji#;;#M zZz~bGveUjx+IOLp5%=cHZUG+>HZ7xYsQn>HzP^i#XtgO`Gy#r8O!WyP8aLsR--Q<8 zeyss}e~Is1^T^Jw@0Cd%$%nV*w$Exe=z4#hz9Ln=9iH%ig{EGCoSD__fUdkC0mJg_ zdUocLClxNve$p{R$#X|n@C&lvAZq7bZu8liCjmQU+YrCs@I*WJTJAij?0t2?j2-wq zKrReIDz3ocYUVt{qawP>jPZv-hF57w@a6!9Ubtve`UaRp5x=R6_JNFJnBTNOj7K6q zK$pQ}H@!oDol@qPn0Bw5(Fe&j3)GH!a>O~-pe_1f_jTB1pDVLp_|+ll)x?KoV7cL|VaJ~CCuPXHU` zoT;(0=Vx!r?~sdq~d%hvKP!@16!MbWai*aIWK8bfx?uYQ7wY zhwp-Pu-Z)av+eEGO0c<~;cT3W!-A8f1?v)sIA%US=|jJ)ZYfjat*OBodyWyThQ{>x zX3|Ji#Pa9a2?5Zf4~Wk*NW_b4n&kWnQjxL)W|uOnEEP&@?7Rv9@h3jr4h_u!!uGX4S2k<-6fBf=M1fUn>t9| zGJ>VkdTt}*+mti8k)HPQNsozO$muVB7X>*n!+UDB<5$L~|r$O-|1E5lyt zTkhUKWy*6kb9~+j$9t+Y1Czp#9~G@Ho)OVn2Hi>)d&h@r9iLy;EbF7;CmKBYS63;A z(P)hJm0ATd>6^F{ub;Mzm3~ZlKgw8tv|KBa6mgT+QomDJbKXc~%-D8x?#6qk7@#A` z;O9DIp(DdxS?kRPZ&ro_ugeLmAX89F*?Yn>xyLcf1jfU_NaUn&L>&`LlfPWVB8E%d zB*PV84uFi8RG5VvUU3T1FPsp__cZgmY(K;cC4UP0p~K>k`eUfGkNA_+Mmw8-+bJH7 z1ipt65=V^E>=}bG_wB;?t@YQR9pv>IfpQy)n$3myArI`{Axzc?*zlz@Rm^oTQATE! z9$95k8~-UIxF*8xKYm*4Bpvb(H{4?pO6Z@;G!uXLa-!m!Xfq5;;X(kl+j8|K}aqcm2M7ono^8qgds}?K~e>MoqAkg zIElMuYcQT1f%S*LFumi`cz?~Wtl4ehvG`2nUJhit;m>&L*u3fo5uC(W_`-=Ap~j5azE?lVc&nJSX8n47p52_D$c#b1lAPdSIUl{}L~OPhfZ6 zd}ly`k9SF6I}hxuO0QiS2f5mXzHqX_VONNRpkGy(&d)o2&BvO5OjIEXNITj9WoJ;B9p zxP3ArncYK$A=MN1I6b2fYAG*-Zx;yrq9_)4Uq!%rZt)%7GGw(qn84DpHWiKd4vU0^ zP>fo8>Lf>R>6^lT`IO0gqfb}Cpem}6IlxwrIZ3A5AEp)DA|Nx+x~omdf%@Kby`Hzr zu{sxahSDtT{v*QjPTpODE>-7c3g`B%ZcLc+R37rEdq~9zAFZn_@lGie1UjD;UWZte54`PxDc&>)~q! z8hFhb`Y-sZ$xO1ONuuGW2l94w1@7&ZIVK{IKAsq2u|JAbav`Gen9DUZ?BSX@?awI- za-Fu!W?12Wh#Rj;)>^zsbuwa1S)QsB&s~`ABzpqX_{k5YQjFZ(2@szlix96cR0AX( z3SMZqQuKSb3{#`~x7gN!{&&07tu0xolDRyadKhc|v}8z!DH8NqUAbKkM9)&xLom{? zxmk_#96|n-9m|mHWGJS zbbLgA77SO>?ME6Uw=Z`r$jr%o!lU15+Nj0cd7)C4{D4Avg!|UgM5p_oDyoO?;Y4Zm zISWQoNP$B>^RFW$gIp6I`esr>$|bPaJ;-0@$^$E8H&s*VH=n8fOOYRS5}w51H^MK3 zcTvhW`tb>_0Vi_1J)`xSh1qu_Dx)%Y5>%&uhf;Wo&Y+K~I zn?eC4Jsz*l7?Vs)M0P1QvY*q*WU&f0ix!~o0 z;v%zneKh@HW2_2byR0Q#2#|FZm$Oz(3GDY+{qzU)y*`Pg{P3Y%$nx#92y4DsHI|JH zwDDrKezF!-DA;)9q-4OX?10LwTxodCFha6prcQTz45@*IETU9L6qCcu6{nt0?AYKs6C%Iv_$JCsW%ek^`pyyI{ zekQZsood!$$|noY(sH`rROVG%-&4CM8PqEJrzR0PAsxeQ2{A#e(Hxg@iO(YUh@I~d0(OSz#2TEht_Hz}TeDV$) ztBa(-u%6wMYxdAttTCmJG^vJ|S_*W#LUO*NflBCQbz?#zn0BI?){>Ui*heiXzrRWtnri)7mA~24;=JuKVREqO#)S=Wa~b0@Y6{ z>6Qp+c;9MzRYt`)w~?D$I}pF{SqOJy>sHHo->&F!*4Tg2`^t3@K*<`DV=HT=xAoB= z;^YFyg=q|l`WeSK`9R?) zRi!M;0(o#%Ine$Bx0g+SzH5*=idm3D?q$Wy_<96=@YVz^sCVRy`!-)Ej7^OBVw}Ed zd@NGfUN)#SyxWV^vfD*&e+0bRyHJcvlws{#VEEdjMOSALNrV2eyCTqqn78N0T&KoS zP|q^-fjrtlz>J0i_SXu^%FOwbPj%3f1A_N?$F1lQ><3ZsI_^(@&_{iA9F(pjJ6r*M zVXROhT%5(?8ux6U4MTs|SjV{+1M?lMS3Z}F(g4HFusvm4Uo2F4pdhY|$3j?!fVS%O zSpk^4)ei3S3EhDZmW4%jL93Vi;e_K8FE@bQ_kra!7z1fM3$D>>vm*Je?SpR=O+4pP#^>Y0leipjY52MhJDYE zl1CF)pkaj|FPyP@V$=Hjz>Hs+DiHc?JbTTmt9+6+ro-)NY+4@l7=)78$ngh6+T@j)N(&LW0Oi7B8j+}0(N5E=No3+W{=CWqb14Wry8L_WQS_~vXl%ohKIet>p123AgbFyvSC6hw=T17 zLBFYgPO86=@$z5;<#+r`hX*xtr0+TmBGqBtV&qyjIUX?=m*@4`nY6FSUg8v^Ek~2F zp$X3&lTq$Y^TqR5XKs^6-k)@nJT=?{&8rF?kyZUn>s~(d884?d-YrNiDW}trutcB- zn;5MxpIE4f!+V}gqXk35UOTH$M7+X|wU9t6-z!ewaT6+vf_shcSpDE) zB_mx@DQg*NXR&b`%u8+3{chUPGI!d&ME&R^NY6?AI5q1( z43RH#HZGbHeO!Xi>pD_>ICKetSWg~hCr4RoD&f;T%?=#q{-MHh6SO2fgyyb)-%x(; zov80DZJUfmtf?tIk}{Nn8cdByWk%PF zQ0Pgb2+vS$Y*w7<7R>;Qg7a8^H`(Mxs4}AbZ>^K)B1JqQOyv?(*|rdS?ky-4;=sf6 zb2yk#4*EvB(^U3%dMBx-ObiGEu(lzjI?QJ$N;wCP6@E8oB6RPNJ3J&WzR9CPqdF$r zfc7DE3H)dL)_SE9Ole~G^7lIxRb2r(ri!0=DobZ98LW=+kd)WhQS>Z-EaYVo9%tLt zH98j?0xbK8VlY!|Fg0(ZjdF9FZ*a?F2DUApCgtDBnO+Aell52fV343EIetsh6U<`T zO(<`R+w7;s?drtZz7e!b+TgDGqCna2>{6&=O*7@n(He;MQJ}7{gUbzm3cBwJ*f=$$aiv5OdcWrs4Wq8@VhGkA3pEnVXe~av%MH7DwPYGG#$T4gB ze31&{;bDFIr_kp|oeO1_$$a*D)?!$C?hgjtNK)6i z+)@;STcZd0n2AG>b6Cr`4hn64y{lfz4Z7^hF!Otu`k$tQVw)9z^gRTHqV_LRXT!Vk zjM%djhf(?99`~8QJxC-!zK|ogVO-h7iSs^p?}jW*Sf%krWaf6-*OVQb*)|{?udfy@ zME!7>-87{-?NDZuM_XyL0?ULWrMlm+(;A_ZOjdlUvJ=0`E+Q9Y>84Bq9;gCMOA{ zKj9d;?pgtC@I&Wnqq}wWgpK6wH4W9j%}>Upe}+c~d4B<(bHtzfYO%Vb>p$VL_=LBx zO=m$9SENwfz~kmwfAguLN>1e(EGK`=@uUF3R#} z%aicdPvYz65jKOAsxr%o9DCae5uRL67)i^^8oq#mm)AMd79piWs(H1JOn}^0?~)<) zC56PR-*UNwQXICC&aqFno{Zk<(K%ne_K{O3*S(HJz}-tULp@Kgd#2Ng!rPtcNpvsQ zFtrW!l(Mydl9GIz$HUB16sz1rMEXvJH6AQPghY@Cb0;ET@Y4Q*$OQsdLg_mxB1uJYd8h`N0&hw3=5;Tm~xjG}v z#eRw(UvB(1;dn8wyId^Rxre{qn&b`@+?ut~(|gh!ZO7s300Rh66zsrO@L${-u;^=N zWeItw9M`C!gcs-1bl$c-e}B37*et7T0Slyi?cwR#8TBMCu#Ahq)QV~@vepw3>43u_ zT`|oGRo+yxwEFeeS7!`DqxIO4I=Z_O&wb5*gohVhC5fNS2U_$OQND@F6Io}VEP2>1 z$?y7dPm7unmx;BzRI*G%x3mn9{$G3cPC`umbi=Yo1aj&P(Lnz_^)Z$yo|KH^Lsapn{^E@D&xcKenePtHrNMpwjKVW5%}o^q{;TnsE`7gTBMGn966f!no1B~ zl?h^ff)g2?`}{!=w22O*nv^7+k;;5h{(4{a^dXk68!K>+!q*RsRh~6}JKgCkwW!W! zlrj`RR01-)pxOVLLdfx5A29|oLEDN@&fXZA*9i|UM4d?OI(>)W0Ji|A(OZi56F$lY zYO0T&;q);DJ7vW6D2ZYG6Nuk;_gf6L8(_*|optZBTBI;Wp?vobO`6Zgn>-cUYL_dKTVa{Gz4 z%p8W-TzxY|_uim-0c<|u8pEoY%L$H)$?tUeq9Z{rqe7M4a0XSFrSYppz$L9-M*seN zQv|H4+jU2;o$eNSBJ@q`;O1iw+}5rrbl@x_h+%!{Mpi7Csm4%SXI z&onW23Ayrr(y8R5C9$_>U)UJdC6U8U9cktP?P;e>b zHk*jSX?(-cp=e`>6XOx8_?gBlxNGc1w!EXsyjz(?I7(JP~~WN-=7je2f3-LuE!#&gOSpPHWBGm>h& zV$=|*U6gmJo`p$-+k!uyvPPb@9TR!_RA%nfmHB9p4Q@o$QeK=8Q5`~QW5ySU-|(`g zuk79CD^-nI7h z?MzeNW7F`*zyBE`=*FR1KsZ-*R4SpuOl2*9S;e<`>*H7z)oy^EjZ!xQwuIp6J;(63 z5)Tc95zBk0-t~~CLuIX4f5@L=cpmQ}9v45hgU_Wvvz(HvY@578kohzp~>}3r{%LKZ>zg0b6cR-rFQ$S)&mJR@jS^}ch7>5xLVk$bw| z1EpMj!^9y7LAj2?G6f) zjl9}X0;2zX?Gd;s0GFcbjvyRk3lAu!$mGiBwFLk zGjg37vx;M@$uSiPgzbfvisIbzZ-b;#GMMkU_)xBawNKF{`n@gZw|hLA*D$&fxIfqD z5iky3wj~C5Ee#;k6j;90U+T<92OPj_h)1LKoxP?AUuRADV9%mxC2c`NmY0@wMW7uH%GQHtQTmG*?}F5IExr?J>)kJPF90J5U<5{>BWV*~?fM`fMku2s$4~=rlOXiGF&DV(VFA zhUv`q?!(n$3yh*(l(~q7e55uWmh=DRcNU8A5(0LrQ{x^d^p!54}vi{^=9ixCXebGXBRn>=y`5%9E0ug2$*b^xZ(bbX^x zZexU@$hJ+<+%?k@8*T2a@}B<#j*Y_=wq|^wNh@21u-9q9hm2cW?T@S}0(*Qq@H}K+ znlZ!2_{p6jeVpp8Rh>zHjReJh&CAqD4uZC%%E9T1?yCRmS3r@NG{`tcK` zq)F)qe@sg9rmB{+T655a-|APhRH%d%@g7ISOWq=N4nyLUX5;aXTwubJwS}cwYC*Z!(kGxN zr#u}We{lHSjrL4g)Q8>p7Wj;e4YJ(9DZ8(=rUqEoB;5j>^s#P`Skr#(r!;y$iq&wt zL#a%NT?O%d8|rj_Mb+b&$#^w0ia^2lHG994*(Q?djx@wpNka?4A>X2|K61;v(u+pv zp=mo&M{IrNfjlM{u`qH?WH)W_!$M#R%pBdTbykA)XHcVNAD0bJE3cyFf+KP{6DF>F z(%oBpVwH>(#XK)++5}=QYQD%ZMOk{3drjjX`#0NMDFhXN%(RBxwXQF%yZ8(m63N0B zOOvhUf`22d;8x8`9|=l|xgjf%ED;=v=A9m|gmA(m-!c9IBHCO%59GW4>fQS0y74iR zB@3&l^6}j!t-<5fofgOjXR-B|a+VJkyJVhbh!D7rItVFQICRZ@FDL127Q8|cD3^R< ziSY}mt0_=_kyi~cob=P`cVip=O8o4w)USko)tsHt9~(GObt$H_aSubA1xYAP0Ihyv zc^AmzgWUj}7la2MdPm8ArUn6;(oGAnE!|XFf8n_vGElF9Sc!4}X1ncb}6Jy(hgei@$mP!noF7(L98L)PmP){`jQi4Bwr}qTVY~iN)dKJu5>^ zuGJ6+I(lg9Gj)|>BbKWWYjxI{_BrX;l$$X)j$?d16e%+ld^VM%9P@-mqcuMB67eJS zh9nP8avKxQn%(DkmWmMrC2@U7%{T11`n~AX{{!jpv`v>$;{g)_Fff<#X#o_s%T56$ z8v!!6@o520BLOs*@o51Qw^NM)yeI)Sm+@%<6t^U{0YEJRFgTa-X#o_sdgB519sw}7 zaRLI)Cjl~-@o51Qw^J$tC}9CKm+@%<6qk^T0u3EGIW#f~FHB`_XLM*YATSCqOl59o zbZ8(kF)%eTmk|~LD1WvER21qOE=&kWch}GjLw9#~2!hnm3^)wk-7Vc+(jYCJf^>s) zDGEp|WJ5UH9t*XVz1porM z*?~YV6goN`Tc`u*A2AA@9th%M>jW114+Cik$PD@{lQDxn+kdG#fdNXc4ggMW04JXi zC%+I72;c$&1^;E}1Q7zrn7P?n0#w-nN={&q3ksdIld~tp*4hU8oaSFY0gM(*08T+c ze%8O-0g{d&h^>Vg7@%qfwE;OkXS6VL0BAc|*n*&*{}qB!#0Cm=7UJM=cXwwub97;M zf>?_&u>#y}p?@|2EszTc;s&w={B9VaX66X`yEAqaI)ILit;^qXZ6_Tr42A&QKS27h8wlEpq%0^E_o)u%)z3%L1u4q>WAZFQ`6IIiK>@r#Adp{>2LO5t0C`y0aQqIh zmzA|5O3|6x@30OKEyzXtLGEuQ~y{y#JQFPHy6g8z>4f8+T779{8D z;P984@h|=VM{VY4>)`p1!82!Fq0jtRb$Y%6@c)|XgZ{o*Rgk5vtKVm%d)V4emPv8 z8TpqA^n5t~ol+KT;bi&y!nk<(0A>(~nI{VHnMho`yZ~>`=To!E2j`-21k z9OnNSu4~=l2fm0J4Jqk#hbc{hO?Re4k5){0Dq4%;it&-w5Oe0)PL9 z!Sne3xIeFq1M2SdC(H9#yg-n@1^=}~3s=ZeDMC( z)`S$^o~+sN%jf=0qSo|Y2g=eE!GF+X@i)oFL2_g=HXVt5pNF?TdV%)vZLr-+bop;x z1u!%Uac|rQ?<;56Vs&F)2bRsz6`1GD6Hy~V*~niq}p!goga+i1;ZgR!l&U>xD*Wq&MA*LlZBqE2u#2KHa_kWf;OjROW z^e!*ifQ+Zj6Ld{%Ilkj`IArwNQ`5SE9Q`z*r<)XFBqrj3$5V`s*=Sctax9}tLgdLg zT~pfdQ2fc?X70kOo@D!^?!e#3tA#4K*L#=O=yiz1h~Hqq9Ij=9pVCMP?&l3Bhs|rG z$A~D}vmU;WCH(Sw*kXNb9e=O6RS?5emb|SiVB0#o!9DP3U59FP&0|Dy?o7#RCc^D# zhuHz|^ui*`X{dXD!o|{&*aS9(uDLl#^sufyB~J#Gg*2L=F^AmsO0bO-fh3kDB|9^} zjk{R`b@+{O!`?SkrmWh-jzM>nn~1@$J9w44l~0nj)%gP1*u}^SNPqEhw=HntTNADX z@>5$vGGB1Qx0E8{9vQ<5&-JVO&L=*epBNXh0Y%s=t+k~v(bOE?;TqwveT9rZGTjl*wb)S;}Y8XVy6&}KGL@BHqx zRVz>Tx_|X2F8wgDv%MTQA&4QBZ8NK)K>#;p8mjmt>A^f+M7u?`W=*LDPoxl_4MSEX ztktUr^Idl{;8>i>p)^)?`TaDPHLm*MDmz}N&H#Th(cK64$z*>f@izDp>6aV%se0yk z{3hG>S-BOLO2Y3g&{5QS-Z7t}FUQK0^^_KGE`R%ECC&9yMCcYjSxnSy6dq!XmOIS( zZzc21*ktk{7$I{lZ!}NkB~VZrZo27SWNtfjYWUDG=?%AHIG(mIR^^c6;E2+9nxP!L zC%90G>vu^Hc|%?_-jI}m;2Gz?Oyc9M6;v3@H_((jmL`=J&u^!AO@b6i7#=W^&Xq>; z(0^!#7kOVshxU{%!Ow##@dSham4`8jtdm_7_6J~s(lmF*hQay$%npl3ira*NZ&-tP z^f3=&KQM6Ug=kY5jfXuN~>&#B{nQ?d!H)9zk3~>t0Eyf}>hoKkJ*)iIZSz3V)Da zxXW`}lLtHsccNOBAhxbKj5#4skhF0x(+ zsZGZ?Hd#znp0Ts9-io1x_eIS9%ofw^4ySJ;O&#{A+50x$<^@j2=#B`pmoBffdaKX2 zobnLN_cqcAi8~_L)T~ZD^+!caV=hpY}NGSAqztC(c(IXUyx# zI(RTi@P%C+yUuP3D$Hd#(II^mcDTUaT%K3`V2->~gkaD39JL8y^=*I_Rxz$exQ`)~ z$sp!OcUiMVtNNKAqb;_MPua0NJfs}vHEK`C3?vy>@XD)w+I19PZ6=i@ zhchx8JH<@Oa0K1*W)nP_Ns$;79igqWHA0qZG$(06MekH*N%zgPJo5XgLhmi9y0lPX z-(~qnWHvLO75OSRhmFkd3f<#D80p*baq_lwnyYAx~jy>R*XgXgthdkjK<@a$oB0v2`%EP$@OH z7=H9L*g)I?2LwkTBx9Q9lE@(kYx>byPIpT3zXX&iWp>O0^EaQx=s&UBkohur@^rDm0oeRc>p%&7n?eqED zz^u4|hJYFY-hcP6BpC-8j*=ocl`>J8&`4@=-_44SfyHH=_mO#jC?w5e6Wk?1*(>`CPDbNNtUVt@i>G+GdVg%v3SRCpLw!{#hJRB~Xiu|Q z<1XIo+`rZIG?Co@umx?-As}Dvp?bp!=$sv}gfw`U+*_h0?XV`#Nc=QrS^ALJ6(zlj z>D6`##`b=31k^g#t?5=iiy>pBpATF)BBiW*O)^xSu(mr@$f+V#S2c-4qqN%q+kDz{ z{@8!kN`LN5NC?EA0N}xVHV9S1!A?}>H&l_KHY-ZGu-aGTEGHA6vxD|Cj0y;GFvck6 z$`|CVAR)qxHSNmNHDFBxwww$%N_NNI4G9D@hFC7gr8&(xQC^q52|a%2#D%dVvffdN z41X6&?xC8X*lmK+by00ZYbm4i)o=mp7Hy{AZlGl|DB0FWo&7*o(A``c zuH9u&3dt*BYaw%_iK;o1%lZ_qc;Oz8uN-T0b;2CU0+LSI_H#8+pM(>`Uy^zQY*09U z#@P(p!4nEj3{)oXRhMQXP?N0K5)~x0=6@Cau5aQoG0uqK5!f{Fw2~|9Pf^#q0u>;{ z@>R>bSWt|U84G!rlpfh#m03dBO%<3xGz#|xA%NQ07xsf3UiV;6;YCCE85TPSVJDXk~-&>D#0j36V_01D{CC27JSu;mkhQ0+#Ab{v*z8D14$4aHp;21VuJ#*#-yEcoo>2+|{EcMW2E zv4ZepZhZ*Q?DPY-umMzfBQ11*mJeg31W*#rEU}CQ(bgVD4(| zG(Od`+UXwzz9Z0Dsd43RdW(MCabxG`fD#s!$(={Fc1kP=NecN!5^IZmgk|bFAVAf? zOH0yd@uK`zS2yEceN5QTceNa|75m0gEF@}#4()ywlQCLxq4rryMK0X409IocDikfVN45^tPj<$|cR zw|%(clI5m^V;2&@_yOEPmw)nh3E|gFe)cJuDN}Z1H0?D!CYVJ ziu-IAAO-x>2w`+&g}5G3(-S-;{L$Y9KDB%g38)VrDde^Hn-_ZQ%72k@cc!iqwmYkn zd~sKe{Ml4n>-C3MFEHxaXWZ2`2_K~E6YcjrajX2kxGK;bF$!Qzs_{1h+%Pvd6bUI% zt%VPhfvQ#{-b+cp5|hnL8e8Q!y^-FNWlpYO$WTD<0(a~n_C=nrzQ|# zUU3q^v87W?G0kkXMR`M8q~P}(*V&2IX<^Qy-eI$EFh??ga|#n;jGvlZ^}A+EynM2B z#+!EZ6jgU>t(Z58Liqadk;W|!YF11{(z3O9C*0WFYnb;`F@KlhBW}-AIfL{HOVMn@ z#diyXl%%Xe^NDl5k!zL0A=!HGD$q3X*q}0o!se4&5BhbY2z+E)h+F&`+BJbEal`0) zoJDjWxlf>zji`gFnwA}+QC%Nodg446QDEv72qZTbL?VWcZG^kM$15~3$umw zrNok-qrH_|xwOFg*f4HL7&^M3j#eFZrqzjpz9c3qa!BL)z!T@fPpF9;9n zT!xF}(LEzx7ZXbVRD#K83Z&oYaa4_@BYm-xKi-X$`TB)qckk5rPkv|V_xVLCWjG~D zQfM~;%ez6n~ z(vBu@?c2V|sF2F>a(i)NN@gs5G;D0aau^Ue9n&7tgus6sJa*e$v!_Z5Z0iiWE?9g$ zG4hD$G(@?29(V58u7^^=TB2jrd5&1LykHh`!Y~MlTlu)$@>!H6pZy5>rg?^yA)vHR zgK6b_sw@}6Jd3@>qaW(LNSlvJrt3}47W1KeI!G##^c;{E6GrlOB|oDO#mrQF+~@61 zq-8on!Iyun&)i2O@U#8xv|C>}&V6Q7weDKjOk+qlYtbr%`Sw-sdTA+qD$iWWgp4>xaZzUelsh*pWx6OgGkclIzI~9^vLv8kQopJ0&JFajbu{ zRG9q*Zu5JNOQ=dziS^7PHT4|Y4R9lUaH6W?g1!diMyp!fTX&LNENa1)->A3UVC49a zWiOMAPS`OEKF=DesRhZ9lJE2#P}&gT#}xTc;+!fUi1E%uv-2`4Z{6X~im@Pt1+(yU zc+N|d<9|WOiJOv||6%lsvbFQwCGvlJayHX@?3k3ucZp{ciBu(JY(5p2T6(GwK4eQ; zY`fU&D)$-?NnU$(>~}^wc2oANpXkt@WE4}Pvl0J@+{3G;crfRl4FD7DHN6Vb%GnH{ z0pB|A;(bxCgL_;KBXaL^S9fJr8@|D?hw-q8%E@@rE1K&Se6P^=R-le+w0M6KoBOQr z^Ut4){_|NEg~9BB+L?$fBZLz4m|ancuLq`$dveV6Hwvf<)xMNCFXNl_{{SXg#dkWy zuY)^gQDkLe(VCo*4y7SNXLaY~*n4xwnpiJHi*{iW5An9gbM%`@;Ryu1DH0u}b(dO% zTQs4Mq&qoAHBp8el{naTLz#a~KCj?4c_>HrrA6=!L6b{A2%UEK?qmWeXj!t7$}{mK z5u4nr-OR7f+utkL-tZ4xfrbv{2NlD)Oes2HebIzk~;r{-Epm;9M!30cZ z;qZlGd-)^2Ebop~!Q#6g@EYIod*y;%DdLiM=WTTgYzExX#@#-LkgCDqe)smMUMj2f$2XaD z#t{T@)26c)kafE1x_Ip3rQ*pwt=;Wk6a?0C*e_zAqC2C}Yie?$>ZX(h?mz9sGH9qj zoqmj?X_PoavJ|9qt!6AA%Xsh`)vw1-H^-q8vO&?G37+yXdmDe|j+PcL`G5)+iV7O(g8efyH78=8 zNl13Fg;Uei&~bl@sPGN-`P&m1w=FCB*@W}fqaAoM&N_Kd(wk+KRg?1G8r>3pyUe@< zxWp@IG9XN@(#36H1a{?V!%X)t7Vf~w?98Vd(ao_tk#FBFY7%}dr}|qWnpm(6X$tG| z@P2nA7YSnGOc+yMbax%A3lhJI9^!mY$K6wsZGgnPJC1)NS3ILd^<`P@rZ;r}MZwZv zOW5$&6(ZTv0nWkoj{xzemXAq%^YMQEdhScRoL-^}CT%hW`Xwk$jxWd-)|@}|q%no@ zT$tCbv0(e9H}ET**fFswhAAHXq{&aIU(eiYsB<5nZIw{!WTk-Ht7oj?tSYV!vJAd4 z68=gOzj1%*V@ym|{TdZt&q?9kgG=9IU_|J5+M5o!LVN(7dWuHi8~Y{K{MLf!|7fgr z5njiC8MOwiz^9;S_O`je#L4F`Q1FVxzG^_I9?=R7?+@6R-#Sd-5wEqZj|;~;Tx;5r zxvMwQJSa;?uDC)EE_mVq7?b*0;i&VYx56GynofVTv7$F|7&Melp8b4h2yYG#p(lgO zKnE9N1ah)y*-wVdJvF50$_QsDSLb!J;B>4P*T?Ydr(GhSZmJ;0Pa&vZh)^_b8@uUi z^)V@aW2nD3B_uHUkTlGseI_ zEjw-c*1_qTQ^={boEMCHjYxR98iB%!2(1gb_LydRDwnIC=hNbFeGzt%Lc3iY<0+ZR zc4GIq=lU`{wWVqL@?(E@OII$2nY|@N(-=$Yt_Uv5uGbFQ#@G=7 z@BBBnId}Hsnx}a?Ru2mnv&J66FD`Zme)G}En1aIZ$uGXf0X&cwxC+Ml)+;Yf#El|j z2lA_(eS!w7j~N^H{ee2+i}Bz6Ror3AiQdeXIYuhdJJV=G-c2B)KQzLQtly;2Y5ITR zRN^{lam&24lK8l1@?>1oRS>0I9YY4)uhS`=bPOeNK@i!Fs2rOlWgO`{$5cq3>fkfw zWxck)Y>9mVtl91`6A&4o4d}vW!=B)S@l5Q*6xfqPpK$Zb$WhZF$zXaL!_Z1Ri&1HI z(Ee+PGAO#T&$04TyvWKCs3oddRZ4#z(OFDpaV3^{$#b0rwrgurtcH5Jv}VC@AMLXQ zgdgW!8=>6=s(6ePt1|0JXdk#Ew%ewA2C?frxoZBQNos-Js>hByOUNVtgkl^4Nu2PC z_cEMzl~M+0VBPCuQJMCHfZw2GOF^M*%XZEoD6I@ZcuCP_cFBzf~($;G6I8z+{VbIIu z5v_;vIo?J>+bP2sbY-VvudDOY2*(+wOhB67)x2xQ;lIViKsW}T+EHU(mp~lR z5w00njXNm~&1+JEFuX5`kBkC-W@=CxA^y00eC-f@1`TS7T!TZ3qO--408y-;vCm)_ z^ub425B;Lq5U52blEr_grZXnO1mSYBHCvU-tW@H}?kH6)tXC_wqZ@kaus4Z_?BL}UE2R1!PJ|yE zpQzf5txT+a$6tT!9_!BXiT*Wfz9O2*+myApf#gaxb{R{*v})wJrAQC0<|Uq&^eR zn8mcN`9Q5?iNkyF(Z=Hn0+3CNv~^z#ZuzErLC?Pe#}0op74?O*6erpeGVNZRFy~5jMv{Jf;4LQazEME8Hw-It+8j$d31X^G}n4;1|_+rvk8 zrAq^9ktqBjI}9_VnlFqi&)`d_#Tbi_jqF~fzr4D=Wjdz9Vt8=WX=0%NPQ?GV)={E} z2+OcK9wrL**j%>t%O}~hNw`@Vv4%04@>;zgjlSYSBpJxwX$Xm7%%p||n`hNQW5Qg< zDwlux)k&o>*+B|`9}Nd^tX-j3bgRw!s|E7HdmpX=;2m`A5JnM=^M z_fGQjUO6wLTyO{{#zx^co71dmIHE@aLwP6Mv8bo_nJr4PCisanwW@nUQpT)Utt#@j zx`v_QXR3;Ea+D%Ku3)1;ZA8|+_p24dp|XEM?%!;B@hOK4?`WT{;lsEiyX}JBVA0d$ zo!0=|*Jts$*LK4*v=kSGOqje6;&yQew7Vmm zZLc@)D=UKLH}th&C|kAttP|jxAA0@6-^W+P9s(8n%FNQfo~`C`dtLIyG*G546zzXm z*lo)W5k~i_5u)!jp>e;)pj#?r zRux8)r>?qpcP|sVt@M?iVm|Oz8O8@(Ru{9fJ@%ThJUjWrvK=2hO3g5E_dvQsM|QIt|(+y1?gNbwVFlTb=gG~F!3p=@ze055>?O6;L;Pt_#r zli#w6=z%?ti8*HHI9|cY&5eJ%rBVYI^A;2pUDJwKtyNa##J5-4oU4lkr$sa}(_@N^ zW4cA(305?y3Eq4ofBExmXJVJ$UB!p$TyKSJV^-Wds-PkIv-R4FFYIEsB&8ROvTM|E zO*tjSVO#w_#Gaxxdq{NeUb72(Bur(AeBeec>ls^qhdmn=d0yWpwG@9f#qh{>R0WyL zzkT_M8Gp;521wYQ_?B&1&z6|`(=6d*{rP4g!JfP5a)a7t1u#MAP4vBwi}$B73;^re z?wCl$B3Z7%-ODhTYV11Dk7ebe4%oC3;ldLddQH?W0O3HNX3n8Njj1vW0dMxIKnUY{ zGdGAIaqy05w^XjuoPdA3G^SOoA&}2nv_lKkZ;Db!U~Q5ZnPDFm!ojA99uQ34PRmzNo;+E_n8}`fNrPkSmL7x0YscLkuhGd#lT)(0KC2?6| zYYABu)ajMQ#?w(OIUFSCUOu`iw=Jizml7+Z!cwLF{?wQg_b`7=M!D307=>5$J$gzv zX14c>+>iBSVSaDI<7i72jYY>Da&ms84CrG^k|0=}npw7sTXDf;6O0h;F7g!E$D~dR zRne^Qe~$EO-LpU3mvi4V8?n06Flk{6faB`)rHJqd?B1Y3N6eAhCPzH^!Kp3xbtaOm zqE37k&b6S|52Anb>dUwH?e=!I#?)5BtvpQ}iV)VJAnpg*EG-EKJ`CM~UoY!JX&1JB zKn)LXTfxL^9P0L`cPc$7j?tQr@$waZHh{+v+1jv~2(4v!`e@yGqp83XLE?wOql|qw zHr+LCqmHj-{cWYHMz50t*h}7Ys}24DCZgZ1+K2VO8d-mf8kuN>6$zpyB=Ij0LE8_Z z^}n^Jk%=ua3Q*4iz4gqkEr05zFc#A~?oqj8ZuUEN>#lTm=a7#Os5T%E9T~(pWlM*D zpQ|CAPtX_D78(&{V!!K|s+EP?B-bLfR9SiK9)z9J&8xKW;%$N^1mg;!ME$I76@j!i-@0vPP!Rnb4*3HL1LugD z+X9M7b%wgN`s}3rIJvaF^r_*kpt~a|mu&hv%@r|!ivF8mO;If_Qdeh1-x{mpg5Eg{ z2{Yf1bd1TE(4kKo_9*F*uzSBO-rQ3$;kuTex8r{ol1^)|C%!7pVE>jdXCZm(5zTl{ zERDkBf>N>)8OiijhggBL_LDpnhQZ|oY#Q8C!>5+1q5=kBa!58w0gSut>v49SLXE|e zUdPH;OEM2~kdPuCz*@%yW9g1KT)}k@olF|Vz}MI$-i?A)_{y5~5Ry8AI@RHGH*Wi_ z*3Eyl21RqqK46d(GS#H9qOW0L7gw86GhFIa z1gClI-P}?w0Xb~gwzk{3BBAWhxTsqA6#Msa*<627{7P0?=Y*w8p z4^9h3a?mao)om%jzea&=rgS&?KRL}(o(h*z;{g)^HkWY%0u{Gv0x>w3aRLGr zw?x?jI3fWsm+@%<6t|K40#F~%o0Wg>GX#o`wHZuw@Ol59obZ9alF)}nYm!bOt6$LRf zHZU-k5f%X`f3yWqT-z3|iv>$?_lDr^9^74nO9PE->=BT{?>fgLUEYfQ1df!pY0R#mmeL zU}a|J`A?u7m=_=hbg?i2$TI?D>})}fh!moB_U>Q{GjpfcKL7a(pf;ufu<-D3(f^qa z5Viq-?3Iu}yuLf%iW00-m zYl^e22?z{$?G8|tmIEl-gKYl_misG!9`N_&09Y7V{weo&_8)~TZ2wFK8XMc$*aL0d zEo{vIrWV#9fTDyPqm!ExJpgEH@<$-h+R^Sce;?=qw6F#my$1YwbRa-NSQ!9(o$&AZ z9F4&i_D+tBjuzH`%*gadnb&I;w>1&9v#|l$IyoZ#aXv8%Fv$4z-rbr0ez;b)cCNOb z{~=QgTNBei#xQZVXHvJdaBv1mi~Sw*YC`;NGXpsRIGCB4x!G6&AO`@*&Dfmjj|OV) zfA*k1oh*NtUuW?4w70Vdn7)ny^0qJqz5XD2Is#ol04K0B$lLSZj{hb^78Zbsg|QRB z2xMkqi}<_xs~Kea7r#D#u!S2yhxt{0ECA*|KL7mFdsUc;ovpR|@9;k#F_WmGmYlc( z-QOes;}j9Ga|3uXumc!a+1LOaY+L|Ne;!VN_kUMW0$TiiihpHF+nU+|c>X%<>n;7~ zz%G9)fco$CpaJ}MEd{$*-GTtrzh$n=%)xB@`o;49EcQQB{{J-oN0tAp%>Va963*7v zfBLEa3i$u{fi@P_?te$T>ekumbqD0_UN^z^e?v7ue=V*&$i%|g=6}7?PQce)e-O4c zv;OBIEgU5*+(0Hu7EZ?Ie`@0|v-%%a{E)n047FTJEzwa z!0UA008=|K;vbKclLNpc{DwLi9^qOb%n_lyb{~?yw)nfwv3t#)2{tI6ZVE!+Bozdc7fB0J1`d|23 z+2%LCZYq=Qzwot@-9O0wdO!BBTViMOuZY)X;D6z3Gsl17YlhQ5_^KKvCs(_FxnDXxHo6!Rw>H6?7|PmkdR&gEKd>Qa;9=Yrmvh{XqHm@sPzG z<=q-i*|$&SvkXz{k-GjR^AveTSqr#iuucp_@U-aXZYcBDH*@GYe^b9mWa8)$y^o{V ziafP9SflS3JXR~!SRK3Z$nmssiJ-61$7d)#MfQ_raK3t$7Dujs_?pd3!w9iHK0x9% z)BvXUgD7)C--ivXY$wVdxwy@qiSeRTW5cS{1unZ)YVl&GGDQ!xL<#F zI27SF3`}Pt?-B#2f8g%9ySW5&t#x!QdvsDarQg10Q8{+-d`V)uppByU_hm0R}F!_}3r(cL<6f2vrT!w9{Z#L_tKL>sFT z3OOyDK7lKzaB-wuwwCwqy^zdzlWL)vHi=`%3Hi{y+a81RyhjtX_hxi;4@V!G_XUo^ zVdk~7LV><5%_$m$;R@H7;Zhu0Ov~H++I544`-OR-0|}7W1mY7#I%AWRxlz(@d)fCF zZf}qxf50ZAf8d(iTbVY8Dd<#XQecZbjf`H_Nc0Mtsieu4)$4tlh~-zEQwnJ5{)G}# zS@hw$d`oAXurFar@AG?~)N$>(9_?@Lqi(}Bk#(W9L;f0+Vmfhi2M`&Q=#4vH7Wl|` z2-|{{yzjj`>*zjNl!N%2<0-PiC=hFHWI~y_|zAKD|Sxnoe`CscFW$5*1;XwUN)V^UyY# z);Ibqlo~63I1#Hup2W@h=g&40{rIbA6+~GLDP0813uz;4u@bUA(%2zITte7tT*52z zkBUmjf8mUL(W|kMQloShA)2+>eBO2OciEV`mIGRv*WzEDD@fW4IELEnzsHJ5w-;~b zg{uOvpUQH%?3FvB*qMzXrPAgX*w3AHj*(ooI{K2+vv;ys+jX3#XGcbpmkS~rG6l`A z(!yJeGB;mnmx!Rq{SZwCiwwib0ZPH|f-^qxfBK`61>|0o(L|Sdsn47ZmK{Z!;=tZl zV2CvqI^Chpo22xXx!Gawcp{jR|7f zAq-!AWm@8(_BOVaCDBQIDqyyGHD3s6Cf^T-1+TB5PC{QrFqt7MDeJPg*a15TPCt|M ze=!n@mc`8Vc8|3?kDaMFH>ZWIOQ>Q?_cNErcc91N3=81_&8KF@jkNQh{t@DC0a{dF zhRbgcIl?52eLvV*cCv1DEWj=rWA4Ygvb>9Wx*OkT^E1kk)(g!H?{RObUv zSGIB(k+5@kQT$kHYIaP~WuN!RZ*f7Qe@IMCvRJ%9__U+NqFRG;2st{yIMb8d5+p)zl?7e8M~Uh?Ss_lA;e64yq_y!-W_TumHluGy4ADTH zR5eEhYm@ds^j4M%MRscriAo>`e=SpdLrH<2SAO3!T$N3dRRvjyQ#WTrkl}nmA6qku z%J2LBwXXy=ql0;B-i}SRsq6TXLbba6M2TTl)zwzIJWnm`4+BgYvsoio z(yf$tBfJ_8q}clXAm{6>;NyL=&{9wEKh!yo74aUhRc@t(>%MI0S9r| zPE797m#6Ube)_BI5|b@!e-0|6F{4!n`edmaMu1|%=Y8&hO#}r6+gt5^$;&rz4$c$A z%|o?|@`+HLS3PEr2lFOO&`^wUb|*fx{T<2Zn_oInM!P_m_IG2Ah%Bdd-gYQ{vJl7A z$!DIz_|uN^+eC(f0JL}6jbq+;s9xxondlJcrTVkWCDf10EL|=+fAWx;Pv3+sV@W^4 z{0y|>_;5H#nW2?;Y(c!_`ZHwA3#Sw}E5t>#CPE41u`K~pyB2j|C=s|N1E)yZUGd^E zm^ai{AkIj`T_Bw4WJs4XX?M7EmhFxgXo8w&$R!{{VU zXzmdA^(Bm$mKi$Nf8o^cORZmxz+R97){r{F0NWtRaLfi5O1~eEqEnL&n^)912bdZ9 zXRH0-x0lCn+;Hnj8mWX1VsZl=?a`hqCx&&H3Bx9?i3DC>gODU;et9r8XYNZ;b!w9b zeOiJ@`zAkG$Q@O<5gjwAjXE9{4Os}!&$aGZBWJ&c)_41ne})1BeRJPxbcHQ2=r~Qy zuJB3J)|*|RS^F1w__Jpl7^g>F`xlRRdCuazWc8+V96Qglz=ok6oH&aO?@h3)C4Zg?VG&}lk1e_ufIV&sKMo%~%Q+PA8 zCwfTh1Fs6oe|7@DSzKiKVIXb6Jo(KhqAr*BD@_8&Th+uRLxMBp|&jw zDAQ?^ERpGZ#Tsja6)$k5OTRv@yemspaE7Jh`L&F~&V?4?E{Q@t)BCc%j#TQ8)Y~0S zR^>6eg>0wTYmn$wX{`N1=pj^K0D1^#QAifR%|BHU=4$@6vdW3SiycKOYy{iJ#1x1QX|?)cJ+ z5OpYSzo~@;kG#FLPPq`ldcOy#1e_;cV%Z43>g$I*jb9Ywnu$TzFy!Atd2x(Jc4)Hid3PabPQy((j>RMbL^Tb(NlqZe z`NAC5c0j

CwTmPR>b=)$IM~f3Ly6&SJS^vBkx?_e|c&UJHW!+)xkL zE0f!ycbUvnb5`EBYvou9u{z{iH9_(DaF9!-5%E3H~?RMj|;=lfzG6xxH4tOHO64 zf32SB@_mtdhiE&v32V$6wqD~#qB#kRnae^d$h(2HiPoCDgNp6+p15xVTaco4<~GSJ zC|tD*q~npE1Db#c_6Cfuo71E`h#kL!wq$q+h7amLRt(~Fx%O}_j1@8pM2HwbuyAWI z9$Ym9e@CYTckdA*Axj@0!lK9E#VofPe+Zz#`y;Wa9;%wWxq`sm(IP($Hl!)+t-7A+ z$NkFtCLH^;D+x{S?VSp`-n4{twVIXNd4{E#QMOcq2|Ob;FJjNuSw$uxW8^ec3Pqv4 zLs$8g0Jd+Xfc}Ap8~w7Ue*A>79ynu*)2_NXq_OonZ+NZJNh(2YMf7> z+|-s{@)*D&=`-Q`t+yo`1UO`kAeuL+AVh}@-_|p7^q}e*=G~bBY6v%!rwOp*(jh)W z6>~VRe~=+oyL_lhkP5?s4 zBI8z{#Qk-6PKEIMCL@ln=cu9c>MtFvFanask}HaXR<@q7n5ST_Ufl(-Z9s^E3`yhR zOT^S=+H&v@z4R9JD{Do=9GWms%DG@Z~e|M?LKYKRd z%4IIJK3ufbOZl0dY0XKBi zyyZ8u_K7-6iQ~|!k)8VBuex)gcVvPn6jtbG0LQT)<+u^>c)fx(c*u0Q^(A85>LcN* z^RC$s-^AyZz^`{f28Te9ijW0E(1mB^;Rytj43A1SbZ1|cLo#i1g;yBDM4Px zILQM#m(2Ri;>BIi*SYT72Gy*xZK@o60uN8T)+3|FqB&zLB_nvBL4SyEh|GDly?uAZ z6CMQH(sNa$K}c$WEfFf^aWu-rZMe`!Nc@(8Z#x0%Q6 zDc_d+=`%MhibJ&w*IQ{p-}JQTq8zT|;|gh;vwXe~bbG9P;a_w2SKk$#779txDhMIS z5!3rJwr=B`6*9^B=&g8wC(fv5)ToWN(CU+pX22HyF~8vyFBi6ffL-N)EQScXux`5X z@O%>)8L7-JL?$I#f1`)83#-*jL!0_O=x|y}4q-%SH*}KAM6s`6cQnXBBO(MCcZpZC zQiYSv>xe@E=R!RmtYobK z&Z)BsUYd!Xe_|^8S75%kNA%W`hLhC^xE~0k@0`08PCZjm8Yh8Mva;a6)lh@nNhpj( z+Bh-{bDC5Pi&q*Y4ko&Gq@C|cfiap-1lNY)3hD6PV zTBPN*d$B~I0_=_e&>tP#&i*xFK?v{Oq_aGwCvnfEe})6I9_sK*CI<+sU(8g6uG#p5 zk_FT+$BOToaoj{N>GRVzHW7a5-}%I=YUB?4^)jWrs#FttKi7sf1KwW`cfoa)oZpQR zHI(e^eeP}>L@Br4L%yyfxKG;#4BwVs2B~r)W8a7Go`VWcd%8&3ApPJ)wA9Q{Q(<72 zVQamyf7SBTfT@#V0bw~6Q&6T@8S`d2#clI1=bFU^bWVvZd8{}eL&}Gy2 z0h(!l-B)dH2Nrgu8uCdDNh)EXohGS zoWIpp#z`qPohZt)Xaj!Z)yD;{L;opxPr(~{DFc3K;$Ne#Fq72p?Qf{}sc};}fYtYt z-CCQ+!|B=3de90M8%rR&Ye^)>6f|w-B2HOOU-w39jn^FeVYeT)$M%#-wMC~E4D#Z- zfA-07yW^4Qj9-KuO#mceIwOvsr6yWz!<$1O@+df=;St3L^8~axTNv*;PW+JZb44`P z_G;?Ed_yietTRJw5&ji)9{6^a>=xp&ZliOM51-9TILZZ13{ zVeer7oHYC*In8-R&b>z_R4OP#UXrQ#iw>xUu7qY6rM!N&ojBCy;#ndRzh;;T5G0GF?=!T~>_>+{irl%uZzI|266J2j%p*|J zKt{}RP<*0W1)8jsZhEKch&Cc3f34OWxiIf?iM|BdZ_Fb>P-(Mru_pJbvba5FcCbJ1 zKvZ^vm;u{uOFbxu)u*|5TW`L1jj_sb2&uK2p^H-OjOy-}TaN zPGBPpyqZJP)hBwcA0 z){2CNtx1Ty_mqm3bDEJ7baOzJOZuL%pn;jZ6^FK6zuhY455m%%`oLM!+z@CVob?mQ zUV-_iZ;eM2Ve~nuxs|Ege`Z!AdQjrr7|nvvsX5;afnf?vhW4-}D0`Dz2du0X(4`Mf zV+hntI{iZ1UVNg(>kxWCFz5Dy<~34~MhiVuyJ$o>1cV~?%_rsKPg;hhdxkOwA~hSt z<|XqE7Y7*J?@0MZ7%!)W2)bzdyX53=D~HbZGK{(si{)kUQh=UDe|EAN(z~`Z>Opob z1g;BaM3-#wJquA@aVnh-M1pAN6;uypD7%oV4~urviyw9S;lArxEUK9eM?~outZO$K z99xDERu{Y^aun8-QYmn|qR59)z|o2Gxzq~Wi(AD0J?Ep&_y!$gf4)Jm(P1gM(@jMz%OPWv z_sHVVT#xb0Q;p}33V!|!m*d-&mUZlLkHxD{{)e{{5EseA(*>&#JmX;4HQYvjvP`1@ zr>3;gRC4!&>GH+AkH-K#jbz;3#o2j*g4Jzi=xnrWUlOH4k@#i}S|V-Hk->~`#q2{> ze?NpH=K2G_e+6I+&X<76#qKY#JE}po9Fs}64BlLy0^sKdv6mQnGH7vHq(!S^JXwZY zLxjUq*R==gf527affeJZCE?%V+oqy(Zj)fP$K>-^Y;&v|p@}^!+}4p0Q@P6ZA|XNU z(4*H`k|iBLXt>n7%TF4ax@5E#-V;*NFN8?JRfhzkf6g?uOX>ue2A}j}Q6`irb-T4R zP)eiYrl*#<1@8U#5UCRPl^w+ATzs&p7g< zHvzm{gf-We_%<1-(C^Ag8>xz6x-i*V-7xzJ_;tX5(;pQur=N21j%;IB_0t@`jPT~@ zr^tKu@rWl3G-J*XLXC6Jtcq+q@h@wc8uwH>Du_JmW@M{O-gw z@topiHm!f??z3y}5+Rb`aoADcSUvr>F6G7T$OetR%7}8vv79%t6=Img)yOymPEp9L zXMIrh<1uFT=rEK5Dd=v;8XTBB6lSH2*0StY6+NCcE1$q>W738zHm24yxBMS+aO^;+ zf2}IEiSyghMt7~PwhUC|Q51Bh=I}X63D7*<-=RLh@0c@3U;&4-{Obq!b;P49?W>;D z{Gn0DP%8DD&C00*(N*IEP2^9-_EqWV=h62yPgJ2Qqjx@%ScY@R4~09e1zOe{50nmu zT>U7xOnDz5hRs%yBP!B`y_4pDQKjKlfA@^it=lk2op+w#+M-rGI)f5G5@y#RZCgv& zf!U~TAYdNZhD4HdmRZRhz#wyT&`+%~x6*vobl68D6*sh1YCz7lChgr2(SjZlEs52NG%@8=4YHe;g{_ zy1?f4r4s7n?EXC@RSruWc-xPiuzV<0_DZZ$zv9tO_fwB+z$0vWai*h5SoQZNzdX<8 zoJp)gY!i@YljMNXPyqA&8hLO;zNS52^BjU@-OVO7rH(01ltsn(VN}4+i!VR{VuL`L zUpBnwXfa=Ctf~7kzIb-U(&C{5fA*K$%E?(>*VnPVq1@rp(FRWZqgBHmxI&LrIM{T4buR{+F!j#;Mx%q0lnYWsloA6?anrAZ*BW3M_3Ugb>pB&?J3i0M z``-*DL6AF3r$kM}S!BQn7?|?0SCUno7{JbTouP7`Rz$;GdWQjfhYcR9f1({fO`{9Yu>1^R78xwY~NBpnsm(fo-_UZ#(#rbu^S?!#H*K1M

ZROY%kW`@jLSzt`>z63$dK~zWKf#`0yA%3oeXiB2me;_rY=3S=%C&;px z!j5x{AfdE6TXeR|IqA*DK%qt1jcii!V`2NJ?;~8G?P|&QSa2nJLTIrVS0B=k(~q^4 zHxLKBqB8@$jp8JXzkD94p}De9cA)2wC2n$S=T{4^d&&QJW*QbLDjRk#&B$ZmUYBTg zZAgZZMVpz?@<>1ze=l`7ukh@uk;PZqu>nb3CA~Y!ow=F(shj9liE$UUekB1TXb6=3 zMmQsm+T6`Y$Zm4xGOb%0py!mI33xBfL?+f5_>}VHuC!Vqe`$MZ_QS6O57YRWO$c1v}&}oqET#@t5IJpa^Y;UZha~h_^Y){3BU{E!}x1mxFXIZ%%ZsQar zFfgFW9lXRzfAN2fWOM@!s%pO?i_)@A=ZiuL^f&RJi*1=_&kKU)6Krr>9vEj@CY*iytvNZOkv` zSd5fpViu_Q9lnrQKCf-YlSQ?-2IP+wy7tHGe~0?e?cJB|-B5W6S>=mUV`Kq!;qVAb ztp+L;qpqM;T#&gC=y|-UZwa0$ZXPT5<$9h#u3>M_x~>D@zzuRZ1Txpf>ei5O_Bh`z zf92SPRgo*DmQ7Xb2)FajYaCJ3-QLIJ#_;QBYjZ4!mbvhJ47{(3zFAy#HIs??(z+_X ze`{~H8GcACUhd#OozanK;TG zbM2N-bjy|4Mhb%=m+_{!vB_-2AE8ZV*{&T(3qKi4Ibd7Opnhh)F@Z99IdD&loaUo6q)uV z94~RnXhW1@RTi=fCRuA9)kg~JnQa>qskO>n9lzE~#joU( zzb{vHbhb;uszj|;aZplAVsd2}oBOp2LnxgJNBW4LZH_Vq|5LA#TNwEBD$Un;zd-lytFy`O?sIf^8(mkT(=h*{1QmWXJ5 z$KFdi2D)(f+F)>d;CelZndPuJ zR*2_WuUD4T$y?p2e?^QVvzw;`G7ech&cUEtTQ4XLzwJ2os4^A2Vjq$2f?c0OrD0Xp z(e3Ypi19cFi1GavX>?(a3DOz#w%);|61F)K z)aB>!WJTT&K?d)iWNLFNSo z0BtSB0`k%tfBor>l7JRZ>`Ro7nPw_IjXM{SB6ziPkNf~CY}Ru)^O*?v`sF{7I*WAYPUqMjLiN5;p|dhT+RRQ)L|m-vv38oQ|k<)u;ra<$R|(#cg&!cMLji_lg;*280xGs&oye}JOFQ00AFb{Fy#N(2YOlOB!t3_Z|| zA3-6*DBYW)aQ9C3m=K5~as~FZSC#&z+{0y%Zq-g`KlpCu1Aw6zrwDe-I}Xtt$t#Z1I_-%K3Oy{#ZtQ(QJyxBWP6j!A#mT8)sNta(_uY+8toFr2}IgU)l&S%|#n ze+nj>?d`b7T#-Bn?m-htk4}mP9(SPL#WIK`m3z2Zo$;%p8Hy_G1Y31ga70t#KA%aU zzdjyT`N@7H<5K43 z4!C66%VDP+@_%*HJjW+XIr5`Nvo$!&eY+g5L9F8|%1@6PVGe|C0ucE0z03^(O!N|08~?r;e6&EKm}0Y zmG9pAC+W1+LleK_z7&L;?OZ5!!Rp&^Nv@-s@{kVKvk7uC%AZ@Z_+xqLx|)?6Sjh(m z{`!yjEfIonTbLUz%^gl`n552#tJ8=S|ERrdfk5^>1SezC(L+|cpU(-P;+-bV|5RR}scXEQL{)0~~Pey&VzNb>NdQ2!h zLQbe;|3KH$A-hd{#NUdo<|!7yB6uRmeI;<#;&JI-anqY6bme1=_mv^7=EYfF!Vi9! z(MYLu!B~<%5YIMWjbdiWGdeV5rVQlRZ1iQ=@=n+f8yO5^!&u%Fip`0`{g1@LIAR{rQVqeY{h6*LeXXHr4TQ>GMbw>B zC8Y1H?3$b(6I15*o9Q^D!gqp%T~e2T-5O@jT`D_1Q$52rAezRk*c--r{SIOz?jmeW zHBKOLHT>6ZADOs$xh_X>G`kKu(q^SEi}v=nSrP-}cP6>3d7>F6_hp5)&*avz0f06< zl5P~&29IgoJIBovXifQm2npC3-V`*lGadDWhq$mz!qNx&dOJ@Y?NpSm{@{=hT~`tk zVP`7+idV9*v zOvj79oHn$aI!|t34eR&5wU+lvCVM{t;XcoIY|od|U%g-7@AA!CO>64pQU4T zf(~$st(2DZ?tqQ5r?a4sUf=sXvaBs9!h%fSSRCsXX^JV!7j&K(E< zCOpE#y3$(Q&t<+jTl({}+BSWO*RET6o=tAah{o1|M9uJTWw*oAJKV2m#}s4yfe5Hb zKcj^8^^wmSX*3IGd>VRAy`mzQY}BXqST~}FNmstmsA?}4-=%_toJSOT(rO><5SWqw zey&4FhZo3pTq7QYjo|usbu~;gP4M6mPmQG;d4yOjFNQ-M7*H8KS|KD}_qJA}>` zc+gsmD%L^K&0+fnVC&ovDT1Vm_`$!4c?L3oZ%!XZ7iY(=YoUKM^%auwI$dTTV}szB z&IZej*<}I_W^K6AF={`O6S*;W`wjvzvnTo;BP0-TlV?W}_TU3Sv zAIN2MQKKaC+TYT&a3(%rbQe!5mjid{2nSdAlj%XoWk~|N7^ITJy3iY~eDX?HYpUFH ziJrjV`c0xnhZylc7Kp8i3voTp1u>n?X8bW}%t@(<(6V>0o1_gAE;dt&St6tLag_Jd z%6`ucfO~FzrDN;8l2Ru2yJG1?t)eW;qTl+G;$9LARH~%H3ysp~{o}SANr7eVs7LrI ze5at$qM!vmZwr_=in{$pzE>5e1cQ7z1;s`oczSCgq~;}cHQ9JOdeaVItSZxbSh=Pd zfz(Kn2?5HH+wT5gSI$CEr8O4;hs#Rd)k_JBy>M9eGpRqzc|bxF5g2G0VGU}-D)*zh znI!EHW3X*HC6R$bJ!*{>GgLVF1>v@_7ze_jSZ6mr6U%IoPR?aLW@yr3<_vz4`{1Pw zusO^2?;)t%yP-M}Yl_5#SN2Yw`04V{Np>W2b6e!XFm`D8p>u!{t>gwZPLC0=M1#56 zEr*;~A6PTm`MuP1u-H=zfk#cblu=wHU`4l?Le{hp(u;NXkapq+h?U=6s@wO$hzGRl zbAPy7xryvkvC6Eg{h6U`bKjshFW_H2`0XT!7(>)L;@P1LvG>Au~!p6 zok`^-jEh57CkSR-kOY=f38Cj<0I)6|lho>VwuEb0Q?*^LQ}=!+>$=6GyfOO~#bI-uGPn;8^Vz|He+VW3S)2xcGBfKQ z#_U53Z{%a!KN$jBizB>(&V9T%UVdyfP;OIinz3*Ll32h{QMfZb8bSxi{{E zspW>x@o3%$#L5T4LirYvGcQyot+FGjN#+x(G?c&4cnVH`aP9|R3Y_#KM(An?`tXmbFG*KCD*0n%e*w`Gk_hXGSTZUKp-Kk@E>}e1JqjeS3=fYh5r|qf*7<~i zn+(v^_{vH4L}0#VZ&~3iO#V{4{bV?~?g+lYmG%7bYU`Kypq9KL3Ar$icoWe^&}?^i z-~)$4!g+BE{zdd+B`WB`ffs7EGOU^-S+>3}*7fH|eZ#TgsLC*%)(_+n-j#Bw2Xh%1 zG8xBBN`mmnWTv%=KXhIsmv-HN7SCr3Z4%)-ni>`u?f$8GwnDS0yPCgn z^M(j0B>BY%oFF9ASwk+PYIwa)(fyWlsEYiu{DLutJbhnudsD_*s&!?CN!>?KF}i&l zgx@zeCX~T`mmGL3TnCEKj=?7B=*ey;j`C_zhQvPb~7bOzKUi>{WWG|kPEXq(ZT8JlrRNR!7dsy*eIbx&Fkg-$lv|C(+1lh}e2ZuLRR%&7i zf9)RzlY@jcLgO-yvVpX)i9wKL9oOvUrteTtzI~3d)4LQ97=Czf-cpD-r3HQaBRS$* z#z;-rFDOW@);YuKfS&oNvF&F@jj1M#^V)_jJ^e(p2uvIU@aA?gYP@<^LQ) zGd>G0D{vm&-#$DEk0sTY#nFk}mT#@aeV*C{t03^U{)PUM84dfNWC+gxf;t>*L#H$T zx7RBP1?CtLijyZziUCF*fdj}61aJY^(=r%fi2he~Fu-J_`QpM55%TgPu}ayvy1A3{ z0RG4QMGoNQ9%GkAMwlQD#(V&X;rDoX?3Y>YB6XHjmm|Nt!fZh$Cb>LA*pH) zX^e^&R{gwZW6_WsZ?H5eNvy3aQJZ=j6YGAes+%FDY=Hj27Ka5{aK%&yR1MvrA*`7& zfEh1>sthXJuU*GO<)qUXssp;YQ_@mY^|WjF%&#{zhHN!oAmmY-pi+mRb0GG_lQaWv z*!z+kEK`2!&sb{8r3B&FZbK%?l7~96AuQTCltLj9lZ@!DKm?2b&W38G?AbGASM6>0 z)Q1R`pVAD7lCJ?JA-o&T;V6VU>Pp66)k1j(!)Se3M!HvTdz)8Qvmvc zz_FZZdnBZ6FN%C|5Wym)ph|Nc;t_p1WKchfhz>6_Ba{+I#SL=Jq$0XS3tiM(0#8(J zGe5}%2LcWOBDKH|Mv@Nt0#G)ECtRSWQ5y zniFBvL!^##fq~Kxz{k3V?`6WrS|tkDH&GKC?+vB3?A0(;m@`43)8L@D=LN{Y$G7x^ zjMs{=!V-hTA2UrnMsQCcU{ObcY!{;?82m}`667gw z9@so~)iYM2)r2AQt*72xNS=LoF3JrkSM85}b>~?o@vjz=zwg^`>iz63Sop4B+!Qc| zU$VzweZO~e{Q7%0+!zGwIKTvq7Iy)V8YopcPmO}&<<3c>!XNVblV2zIHspvk=5IU{ z>zneO+=U3qj8K(quc64pk#m*KZm6H(1TR5(LPFVSC0x%a-1d>uIJoh$u{ps9PkoR?VEcZ4{ii3g#QS;Z*3f8-)MP ziOiy`*;Bd4MrY@>mvkn=fZlA4dxgPV_Y45)F8in}N4J9kF~@ zPHv822u&zHho$mQRc+Im1EYOl53r34)9Yd-2Yu5)VAii2RIh>-kVYWZ z{kz-0oG2vWZPPG)?Xaa2%5J5(9XCT3X6h?=@&0zy%0eGx@X4qLNXUm|`&)8VIHOy7 zh{ogMm#2uPy;wmnS-%$TX@R3Uk>&N(f897#){^LQQ5Y&dUl~2mFYN7Xx7Nz?x$T4q z_O0-hCMBW~=OW5)R$LyuS!CS;Z(u>%_q-!54iMbkmEGMDjqZl5RSGdAUQ%nPqe+GmP;h))TkG0kQobIwu@Wkrf+5fvS8kP8=wuh1=XZ zBxCZCbjhMKP>6_tS7JYJDaSaXNHzcCAB|Fuq4#Tr=3lR6W&zp(2`^qnm)P-$TK8HM zX8|T-IXx8H7iOxM9|o!QUPn4ig+*R%Dhwpf7%$9f?vvE#C(pMX`V~y(RHV&xch3sG zQ^7p01gK-bu;E`t0&}>7*NZ@2$T}}nHeygk1~k1IZ*rD4)>6MF9S8OGIOKQ3c@!LL zLzj|5865KIr%sLgt#$QXIN2@2$-7cNaL2ZGKXQ`VfmbMvnR#>0f^fu-4LVf*>&q!Tum4R z=Wp^WBa8|Gbf{t0kuaDC$C34#dZnm5kp+yH0S7kH@;wTIl2(#K2lUWOk3-LTVpjB@ ztf`#$sG`G%$x&E6+O*}Vh{P*-uKi}~o%C}#L{Y<}L(rYb)7*hlQf zwdjvC)=b_%#7HDi{OL^+BIn3SQW4_@C}jEUiv4zbubj!}gic?&au9qaU{t8}me2I{ zw(CR(lX7@sMW;Yw0&~xks2sAgGKB}r5sZ!aUxSCyd*9%7AmZ;*;LL}}3Ej|ZXOpn- z>o8D)aqrK`X{2FVjRWqr@vN|~eP z&)g)>b}(1tMym3bMpe3n^;`O6U;?RI8C4&zZ$HFAC9Mqq?HxM-nz+z_B?Zi#5<|iy z!L7i8T}*=uopOdQ)tk7TJY+x4+;H`SN*q>ZwhBQszd6TG1X=e}y4i&q>YX&#fL}DU zI{^b}>7+0`pbCyTL3r;U``@Ex=F}HadU&vf0<_IH2gRu_VBKRe$!o~P*CE+xZ=PZ4 zR!Nv(>5zDO)#PxQW}njGU?kTRirx@565AcjQX@+xepIlRFvcLXP>V(nO5kIWGkHHn zq@-|v`)PuVxi&k0v!;av+v|tm_C=g6(bIbDirfpz8`R$`JqwF?8BHiI+==OcZ9pig zn;;qGMX={1kMcXN-;I3PhNk3s{mZ!6n&w#Mx=>*y{h3AvW&EKJXB3cCKZcHO!meD~ zD~m&&NlOY7UouT0%D{ofP9_pfsew?9!BHqZa;}jmL{CAKKD}H5b0|W$A zA~{Z?8T6fHsZi8T$|FBKn9N6h57QKZ08zX3zIGPpmVTCw+BFqLy*~Fir}_@*!^}?p z3{l?Ev~s57Mdz{^ZON3mt<6D7m5g%0gW+Tqf_-<6q9C#gbJPLVq1s@$Ypv_np5=xp zT4G+6p@+IzBA$|M#MC+ePFdrp%8YkZ2UVgQHE6x=gkf=Zf{LDbmyPiRHC)1#V}e_w zN;-@-ubY}cd?Y4i*DqCDlzM0{UHdZHN1NfuD%?lt;;>Choa1NR4vJ&WjtFDwkIf{5 zY-3zNp?65}xW!p1)yB`x7@VcnB2ANba(5on;)aTeKD^VHxq^}1acEw!e^~M{^(e)h zllI(Z5}y#QSiG3Y?=f-B;t^w0-2= zg5TQo3sKCtt|0|&s3Vs)Wb^F0LJle~5$|l?7V8PGFOa{OE3J(Jh7fdV$-`137PVA-^Vp6g!m_A1ka$BYF1dQXjpp4xbaWeK?ll=;yYr`5Uhzlu z!Gre~FN`S+4g&zxlSv^8CF&<)NT(+nPIw@sCkY&gEw6DUUSEO>=fxUz82k@&xq1mEq9P93ax8$!PH+xXw0sW&m-P$)wIp$WI(%-<0nx(DKxaeQ}w zc~Ox@)9#80;DM?KiQcE0ycjnlpLTbiz z~K$4jBu!d%5Ewvok-ER&jvA8K`-r;gY%4PA;U=<44RB%g*{wOFRf2zq8Gtxmoak9 zlNLT9E82UrCl90d?mVr0Wbf$7XVKBU?mTT1s33=rQ;++%o9&goesKO)aA6@SEFty<+yhC`k4A0HgUEA0bX?jKIVRb8T92AGhk zu!~uHCl3cUg1Ol-LtG(|-2EzdVT|v!cCrOdJ!l7sUbxwCfqn zutBy6ZQ7{qyDI_}KfcEF?hdT9kSd(9lfMv|c)M)C%yyt+=mf|TMKv~M(vleo`Q60j zJIg1sQ9zs8x6zU(oqyqFve(aV@VWAap>X ze0tVv#E}#r@TGyR-|m)!LE@sI^w4Zz3Qc~>-njoCt+2I(CzkozAG(uPw-97!h$Fx{O%$J>o5_& zIaHs~N?6$IuYKNnmo&Fv^vbjR^_z;X3?tO~-g)vQ zG2-X7jCbaTc8&;2ywtMBCUc^62c0Y47@J|+$rdgltt$(4`N-3z_Q!YH{P<0(k{UmR z5o9+28S2=isN3qA-FCbNjAJx_*ZJ@SGy z-Gy%?Hq+4}6i(Um5>G7a63e#TfV!c_?)10+EVvN-kHQin8B9R+zSuN40b(xmg_wFV z+TM0{Q*9p9WmFLq=JWbI#EG0wtLjKY`zC>8$u{SMvgieCQCWpFdp2AMR-NcE>sK{;y2@^k7_HHN)Gi?pJo z^mSvw@@9Gb^pkPHwsa=}5h(AIcz?r_=c6*MnrmfsoEL&@U^qLQOJpL>ZBP^KYH^8K zA;w_(mvIO9Y`Cy++08dNVH=0TsI`P&9P>RkK_J)Iot-!vjK(5z{qN^b1BE92Lh;9R z*_m00LCW-ZjumR{f9FRaWd&sZqYet@Ede7#<>Xr=e|<8jQ+F$=6QRl$E2lZ>jOA|d8Q1r5 zp$77LqXJYjzESDksG_r;gdZ$SkhkqLRDDA=^B$bHB5dfxEs&#;_kwrs_ebNVwaBdO zMwnwas~F6hh2H$W=Q(UalI$@te)natvoo^or0~+)KM*mL2$3F`HL5TD2||AvzRt<; zg&z4W{Y_uNY>IH`9sYexXBf%S(ZbE$)zZ`f$uiAw4-y`VlQ->w5#}q1%@B!I-Nwg~ zoE^Z1#HvlM&rZ%s&i-#u&B@7~oShR$&PJ|=#477(<@8VS{Fjm-*BAH~yu=3N=46-R zD@`_7}i;Hq|NQiQX0l9?8|Nkk5sQ(@0M9#^}PM#*J3rz>2p6gUrHzgjt z*=l`C#SInn#gM>&omES~tE4m9mt@kR>w?gNg`Eu@KsShCi9s0}K;J9MLO$;?kwNJV zURnQb zAJ$uBY(!Rvrf`jpK3s9qx{E5M2iswJ@6g=>+eo7#o zu10Kv_C8m~b5Jk4e9<}nbcAr%|2;I07EWfiNdIuNuI^s0mR3j{Kn`{wFA_Diq_Py! Fe*h5lH){X@ diff --git a/openair1/PHY/CODING/nrLDPC_decoder/doc/nrLDPC/nrLDPC.tex b/openair1/PHY/CODING/nrLDPC_decoder/doc/nrLDPC/nrLDPC.tex index a3038dc0cc..5027446337 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/doc/nrLDPC/nrLDPC.tex +++ b/openair1/PHY/CODING/nrLDPC_decoder/doc/nrLDPC/nrLDPC.tex @@ -118,6 +118,34 @@ \end{tabular} } +\paragraph{Version 1.0:} +\begin{itemize} +\item Initial version +\end{itemize} + +\paragraph{Version 2.0:} +\begin{itemize} +\item Enhancements in message passing: + \begin{itemize} + \item LUTs replaced by smaller BG-specific parameters + \item Inefficient load/store replaced by circular memcpy + \end{itemize} +\item Bug fixes: + \begin{itemize} + \item Fixed bug in function \texttt{llr2CnProcBuf} + \item Introduced saturation to $-127$ in \texttt{bnProc} + \item Corrected input LLR dynamic range in simulation + \end{itemize} +\item Results: + \begin{itemize} + \item Size of LUTs reduced significantly (60MB to 200KB) + \item Siginifcantly enhances execution time (factor 3.5) + \item Improved BLER performance + \end{itemize} +\end{itemize} + + +\newpage \tableofcontents \newpage @@ -327,6 +355,7 @@ The functions involved are described in more detail in table \ref{tab:sum_func}. \texttt{llr2llrProcBuf} & Copies input LLRs to LLR processing buffer \\ \texttt{llr2CnProcBuf} & Copies input LLRs to CN processing buffer \\ \texttt{cnProc} & Performs CN signal processing \\ + \texttt{cnProcPc} & Performs parity check \\ \texttt{cn2bnProcBuf} & Copies the CN results to the BN processing buffer \\ \texttt{bnProcPc} & Performs BN processing for parity check and/or hard-decision \\ \texttt{bnProc} & Utilizes the results of \texttt{bnProcPc} to compute LLRs for CN processing \\ @@ -514,24 +543,7 @@ The sum of the LLRs is carried out in 16 bit for accuracy and is then saturated \subsection{Mapping to the Processing Buffers} \label{sec:mapp-cn-proc} -For efficient processing with the AVX instructions, the data is required to be aligned in a certain manner. That is the reason why processing buffers have been introduced. The drawback is that the results of the processing need to copied every time to the processing buffer of the next task. However, the speed up in computation with AVX more than makes up for the time wasted in copying data. The copying is implemented using look-up tables (LUTs) which are described in table \ref{tab:sum_lut}. - -\begin{table}[ht] - \centering - \begin{tabular}{ll} - \toprule - \textbf{LUT} & \textbf{Description} \\ - \midrule - \texttt{lut\_llr2llrProcBuf\_BGX\_ZX\_RX} & Indices for function \texttt{llr2llrProcBuf} \\ - \texttt{lut\_llr2CnProcBuf\_BGX\_ZX\_RX} & Indices for function \texttt{llr2CnProcBuf} \\ - \texttt{lut\_cn2bnProcBuf\_BGX\_ZX\_RX} & Indices for functions \texttt{cn2bnProcBuf} and \texttt{bn2cnProcBuf} \\ - \bottomrule - \end{tabular} - \caption{Summary of the LUTs.} - \label{tab:sum_lut} -\end{table} - -These LUTs are depending on the BG, the lifting size and the code rate. Assuming 5 rates for BG2 and 7 rates for BG1, the total number of LUTs is 617. +For efficient processing with the AVX instructions, the data is required to be aligned in a certain manner. That is the reason why processing buffers have been introduced. The drawback is that the results of the processing need to copied every time to the processing buffer of the next task. However, the speed up in computation with AVX more than makes up for the time wasted in copying data. The copying is implemented as a circular memcpy because every edge in the BG is a circular shift of a $Z\times Z$ identity matrix. Hence, a circular mempcy consists of two regular memcpys each copying a part of the $Z$ values depending on the circular shift in the BG definition. The circular shifts are stored in \texttt{nrLDPC\_lut.h} in arrays \texttt{circShift\_BGX\_ZX\_CNGX}. In the specification there are only 8 sets of cirular shifts defined. However, the applied circular shift depends on $Z$, i.e. modulo $Z$. To avoid inefficient modulo operations in loops, we store the the circular shift values for every $Z$. Moreover, for convinience the arrays are already arranged depending on the CN group (CNG). \newpage \section{Performance Results} @@ -595,7 +607,10 @@ The first set of simulations in Figure \ref{fig:bler-bg2-15} compares the curren % 5 iterations \addplot[red, solid, mark=o] plot coordinates {(-1.250000,0.781300) (-1.000000,0.421000) (-0.750000,0.140400) (-0.500000,0.028900) (-0.250000,0.003300) (0.000000,0.000300) (0.250000,0.000000) (0.500000,0.000000)}; %\addplot[blue, solid, mark=square] plot coordinates {(-0.250000,0.705000) (0.000000,0.406200) (0.250000,0.181300) (0.500000,0.061600) (0.750000,0.015900) (1.000000,0.004900) (1.250000,0.000900) (1.500000,0.000200)}; - \addplot[blue, solid, mark=square] plot coordinates {(-1.000000,0.700400) (-0.750000,0.370600) (-0.500000,0.136000) (-0.250000,0.039000) (0.000000,0.008500) (0.250000,0.002400) (0.500000,0.000700) (0.750000,0.000000) (1.000000,0.000000) }; + %\addplot[blue, solid, mark=square] plot coordinates {(-1.000000,0.700400) (-0.750000,0.370600) (-0.500000,0.136000) (-0.250000,0.039000) (0.000000,0.008500) (0.250000,0.002400) (0.500000,0.000700) (0.750000,0.000000) (1.000000,0.000000) }; + % with saturation + \addplot[blue, solid, mark=square] plot coordinates {(-1.000000,0.693730) (-0.750000,0.370190) (-0.500000,0.137260) (-0.250000,0.038850) (0.000000,0.009740) (0.250000,0.002510) (0.500000,0.000730) (0.750000,0.000180) }; + %\addplot[blue, dotted, mark=square] plot coordinates {(-1.000000,0.695700) (-0.750000,0.374750) (-0.500000,0.136140) (-0.250000,0.038240) (0.000000,0.010350) (0.250000,0.002490) (0.500000,0.000610) (0.750000,0.000190) (1.000000,0.000050) }; \addplot[green, solid, mark=triangle] plot coordinates {(-1.000000,0.778900) (-0.500000,0.226400) (0.000000,0.027400) (0.500000,0.002600) (1.000000,0.000300) }; @@ -646,7 +661,7 @@ Concerning the LDPC decoder provided by MATLAB, the performance appears to be ra \pgfplotsset{every axis/.append style={mark options=solid, mark size=2.5pt}} \begin{semilogyaxis}[title={}, xlabel={$\SNR$ [dB]}, ylabel={BLER}, - grid={both}, xmin=3, xmax=5.5, xtick={3,3.5,...,5.5}, ymin=0, + grid={both}, xmin=3, xmax=6.5, xtick={3,3.5,...,6.5}, ymin=0, ymax=1,ytickten={-5,-4,-3,-2,-1,0},legend columns=1] % Kien's 2-layer 16bit code @@ -656,11 +671,14 @@ Concerning the LDPC decoder provided by MATLAB, the performance appears to be ra \addplot[black, solid] plot coordinates { (3.28392,0.01) (3.73319,0.0001) }; % LDPC opt with 16bit BN processing - \addplot[blue, solid, mark=square] plot coordinates {(4.000000,0.487500) (4.250000,0.163400) (4.500000,0.029800) (4.750000,0.002700) (5.000000,0.000100)}; + %\addplot[blue, solid, mark=square] plot coordinates {(4.000000,0.487500) (4.250000,0.163400) (4.500000,0.029800) (4.750000,0.002700) (5.000000,0.000100)}; + \addplot[blue, solid, mark=square] plot coordinates {(5.000000,0.439600) (5.250000,0.185800) (5.500000,0.062100) (5.750000,0.015000) (6.000000,0.003900)}; + %\addplot[blue, dashed, mark=triangle] plot coordinates {(4.000000,0.487500) (4.250000,0.163700) (4.500000,0.030000) (4.750000,0.002900) (5.000000,0.000100)}; - \addplot[blue, dashed, mark=square] plot coordinates {(3.000000,0.911600) (3.250000,0.614100) (3.500000,0.230100) (3.750000,0.036900) (4.000000,0.001100) (4.250000,0.000000) (4.500000,0.000000)}; + %\addplot[blue, dashed, mark=square] plot coordinates {(3.000000,0.911600) (3.250000,0.614100) (3.500000,0.230100) (3.750000,0.036900) (4.000000,0.001100) (4.250000,0.000000) (4.500000,0.000000)}; + \addplot[blue, dashed, mark=square] plot coordinates {(3.000000,0.900400) (3.250000,0.600000) (3.500000,0.216400) (3.750000,0.036000) (4.000000,0.002600) (4.250000,0.000000) }; \legend{ {Huawei 2017-06-15}\\ @@ -686,18 +704,19 @@ Figure \ref{fig:bler-bg1-r89} shows the performance of BG1 with largest block si \pgfplotsset{every axis/.append style={mark options=solid, mark size=2.5pt}} \begin{semilogyaxis}[title={}, xlabel={$\SNR$ [dB]}, ylabel={BLER}, - grid={both}, xmin=6, xmax=11, xtick={6,6.5,...,11}, ymin=0, + grid={both}, xmin=6, xmax=9, xtick={6,6.5,...,9}, ymin=0, ymax=1,ytickten={-5,-4,-3,-2,-1,0},legend columns=1] % Huawei \addplot[black, solid] plot coordinates { (6.118717,0.01) (6.291449,0.0001) }; % LDPC opt 5 iter - \addplot[blue, solid, mark=square] plot coordinates {(8.500000,0.350000) (8.750000,0.155100) (9.000000,0.062400) (9.250000,0.023000) (9.500000,0.008700) (9.750000,0.003500) (10.000000,0.000900) (10.250000,0.000300) }; + %\addplot[blue, solid, mark=square] plot coordinates {(8.500000,0.350000) (8.750000,0.155100) (9.000000,0.062400) (9.250000,0.023000) (9.500000,0.008700) (9.750000,0.003500) (10.000000,0.000900) (10.250000,0.000300) }; + \addplot[blue, solid, mark=square] plot coordinates {(7.500000,0.858900) (7.750000,0.449500) (8.000000,0.129700) (8.250000,0.025500) (8.500000,0.002300) (8.750000,0.000300) (9.000000,0.000000) }; % LDPC opt 50 iter - \addplot[blue, dashed, mark=square] plot coordinates {(6.000000,0.705333) (6.100000,0.353367) (6.200000,0.102100) (6.300000,0.015133) (6.400000,0.000967) (6.500000,0.000000)}; - + %\addplot[blue, dashed, mark=square] plot coordinates {(6.000000,0.705333) (6.100000,0.353367) (6.200000,0.102100) (6.300000,0.015133) (6.400000,0.000967) (6.500000,0.000000)}; + \addplot[blue, dashed, mark=square] plot coordinates {(6.000000,0.970000) (6.100000,0.830800) (6.200000,0.527300) (6.300000,0.216900) (6.400000,0.045500) (6.500000,0.005600) (6.600000,0.000300) (6.700000,0.000000) (6.800000,0.000000) }; \legend{ {Huawei}\\ {LDPC Opt 5 iter}\\ @@ -709,7 +728,7 @@ Figure \ref{fig:bler-bg1-r89} shows the performance of BG1 with largest block si \label{fig:bler-bg1-r89} \end{figure} -From \ref{fig:bler-bg1-r89} it can be observed that the performance gap is only about 0.2 dB if 50 iterations are used. However, for 5 iterations there is still a significant performance loss of about 3.4 dB at BLER $10^{-2}$. +From \ref{fig:bler-bg1-r89} it can be observed that the performance gap is only about 0.3 dB if 50 iterations are used. However, for 5 iterations there is still a significant performance loss of about 2.3 dB at BLER $10^{-2}$. \newpage \subsection{Decoding Latency} @@ -824,8 +843,8 @@ Table \ref{tab:lat-bg1-i5} shows the results for BG1, larges block size and diff From the above results it can be observed that the data transfer between CNs and BNs takes up a significant amount of the run time. However, the performance gain due to AVX instructions in both CN and BN processing is significantly larger than the penalty incurred by the data transfers. -\section{Parity Check and early stopping Criteria} -It is often unnecessary to carry out the maximum number of iterations. After each iteration a parity check \eqref{eq:29} can be computed and if a valid code word is found the decoder can stop. This functionality has been implemented and the additional overhead is reasonable. The PC is carried out in the CN processing buffer and the calculation complexity itself is negligible. However, for the processing it is necessary to move the BN results to the CN buffer which takes time, the overall overhead is at most $10\%$ compared to an algorithm without early stopping criteria with the same number of iterations. The PC has to be activated via the define \texttt{NR\_LDPC\_ENABLE\_PARITY\_CHECK}. +\section{Parity Check and Early Stopping Criteria} +It is often unnecessary to carry out the maximum number of iterations. After each iteration a parity check (PC) \eqref{eq:29} can be computed and if a valid code word is found the decoder can stop. This functionality has been implemented and the additional overhead is reasonable. The PC is carried out in the CN processing buffer and the calculation complexity itself is negligible. However, for the processing it is necessary to move the BN results to the CN buffer which takes time, the overall overhead is at most $10\%$ compared to an algorithm without early stopping criteria with the same number of iterations. The PC has to be activated via the define \texttt{NR\_LDPC\_ENABLE\_PARITY\_CHECK}. \section{Conclusion} diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_bnProc.h b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_bnProc.h index 2e0fa2115a..00e8fd98d5 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_bnProc.h +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_bnProc.h @@ -47,7 +47,7 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc int8_t* bnProcBufRes = p_procBuf->bnProcBufRes; int8_t* llrRes = p_procBuf->llrRes; int8_t* llrProcBuf = p_procBuf->llrProcBuf; - + __m128i* p_bnProcBuf; __m256i* p_bnProcBufRes; __m128i* p_llrProcBuf; @@ -99,8 +99,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -154,8 +152,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -210,8 +206,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -266,8 +260,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -322,15 +314,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); - //mexPrintf("ymm0: "); - //nrLDPC_debug_print256i_epi8(&ymm0); - ////ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); - //mexPrintf("\n"); - //mexPrintf("ymmX: "); - //nrLDPC_debug_print256i_epi8(&ymm0); - //mexPrintf("\n"); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -385,8 +368,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -441,8 +422,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -497,8 +476,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -553,8 +530,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -609,8 +584,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -665,8 +638,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -721,8 +692,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -777,8 +746,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -833,8 +800,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -889,8 +854,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -945,8 +908,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1001,8 +962,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1057,8 +1016,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1113,8 +1070,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1169,8 +1124,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1225,8 +1178,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1281,8 +1232,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1337,8 +1286,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1393,8 +1340,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1449,8 +1394,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1505,8 +1448,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1561,8 +1502,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1617,8 +1556,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1673,8 +1610,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1729,8 +1664,6 @@ static inline void nrLDPC_bnProcPc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_proc // Pack results back to epi8 ymm0 = _mm256_packs_epi16(ymmRes0, ymmRes1); - // Limit to minLLR -127 - //ymm0 = _mm256_max_epi8(ymm0, *p_minLLR); // ymm0 = [ymmRes1[255:128] ymmRes0[255:128] ymmRes1[127:0] ymmRes0[127:0]] // p_llrRes = [ymmRes1[255:128] ymmRes1[127:0] ymmRes0[255:128] ymmRes0[127:0]] *p_llrRes = _mm256_permute4x64_epi64(ymm0, 0xD8); @@ -1760,7 +1693,7 @@ static inline void nrLDPC_bnProc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_procBu int8_t* bnProcBuf = p_procBuf->bnProcBuf; int8_t* bnProcBufRes = p_procBuf->bnProcBufRes; int8_t* llrRes = p_procBuf->llrRes; - + __m256i* p_bnProcBuf; __m256i* p_bnProcBufRes; __m256i* p_llrRes; @@ -1775,8 +1708,6 @@ static inline void nrLDPC_bnProc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_procBu uint32_t cnOffsetInGroup; uint8_t idxBnGroup = 0; - const __m256i* p_minLLR = (__m256i*) minLLR256_epi8; - // ===================================================================== // Process group with 1 CN // Already done in bnProcBufPc @@ -1809,8 +1740,7 @@ static inline void nrLDPC_bnProc(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_procBu for (i=0; i - * \date 27-03-2018 + * \date 30-09-2019 * \version 1.0 * \note * \warning @@ -34,6 +34,7 @@ /** \brief Performs CN processing for BG2 on the CN processing buffer and stores the results in the CN processing results buffer. \param p_lut Pointer to decoder LUTs + \param p_procBuf Pointer to processing buffers \param Z Lifting size */ static inline void nrLDPC_cnProc_BG2(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_procBuf, uint16_t Z) diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c index 7f9341a18c..76bfd1a3e8 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c @@ -22,8 +22,8 @@ /*!\file nrLDPC_decoder.c * \brief Defines the LDPC decoder * \author Sebastian Wagner (TCL Communications) Email: - * \date 27-03-2018 - * \version 1.0 + * \date 30-09-2019 + * \version 2.0 * \note * \warning */ @@ -222,7 +222,6 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP #endif #ifdef NR_LDPC_DEBUG_MODE - nrLDPC_debug_initBuffer2File(nrLDPC_buffers_CN_PROC); nrLDPC_debug_writeBuffer2File(nrLDPC_buffers_CN_PROC, p_procBuf); #endif @@ -451,7 +450,6 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP stop_meas(&p_profiler->cnProcPc); #endif #endif - //mexPrintf("End Last Iter: i=%d, numMaxIter=%d, pcRes = %d\n",i,numMaxIter,pcRes); } // If maximum number of iterations reached an PC still fails increase number of iterations @@ -468,7 +466,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP #ifdef NR_LDPC_PROFILER_DETAIL start_meas(&p_profiler->llrRes2llrOut); #endif - nrLDPC_llrRes2llrOut(p_lut, p_llrOut, p_procBuf, numLLR, Z, BG); + nrLDPC_llrRes2llrOut(p_lut, p_llrOut, p_procBuf, Z, BG); #ifdef NR_LDPC_PROFILER_DETAIL stop_meas(&p_profiler->llrRes2llrOut); #endif diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_defs.h b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_defs.h index bc262b94ab..940d842550 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_defs.h +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_defs.h @@ -197,6 +197,5 @@ static const int8_t ones256_epi8[32] __attribute__ ((aligned(32))) = {1,1,1,1,1, static const int8_t zeros256_epi8[32] __attribute__ ((aligned(32))) = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /** Vector of 32 '127' in int8 for application with AVX2 */ static const int8_t maxLLR256_epi8[32] __attribute__ ((aligned(32))) = {127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127}; -static const int8_t minLLR256_epi8[32] __attribute__ ((aligned(32))) = {-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127}; #endif diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut.h b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut.h index c1333cc96b..df80e11d18 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut.h +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut.h @@ -20,10 +20,10 @@ */ /*!\file nrLDPC_lut.h - * \brief Header file loading all look-up tables + * \brief Header file defining all look-up tables * \author Sebastian Wagner (TCL Communications) Email: - * \date 27-03-2018 - * \version 1.0 + * \date 30-09-2019 + * \version 2.0 * \note * \warning */ diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h index bef31737a3..f477058e46 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h @@ -22,8 +22,8 @@ /*!\file nrLDPC_mPass.h * \brief Defines the functions for message passing * \author Sebastian Wagner (TCL Communications) Email: - * \date 27-03-2018 - * \version 1.0 + * \date 30-09-2019 + * \version 2.0 * \note * \warning */ @@ -36,35 +36,37 @@ /** \brief Circular memcpy - (src) str2 = |xxxxxxxxxxxxxxxxxxxx\--------| - \ - (dst) str1 = |--------xxxxxxxxxxxxxxxxxxxxx| + |<- rem->|<- circular shift ->| + (src) str2 = |--------xxxxxxxxxxxxxxxxxxxxx| + \_______________ + \ + (dst) str1 = |xxxxxxxxxxxxxxxxxxxxx---------| \param str1 Pointer to the start of the destination buffer \param str2 Pointer to the source buffer \param Z Lifting size - \param cshift Cyclic shift + \param cshift Circular shift */ -static inline void *nrLDPC_circ_memcpy(int8_t *str1, const int8_t *str2, uint16_t Z, uint16_t cshift) +static inline void *nrLDPC_inv_circ_memcpy(int8_t *str1, const int8_t *str2, uint16_t Z, uint16_t cshift) { uint16_t rem = Z - cshift; memcpy(str1+cshift, str2 , rem); memcpy(str1 , str2+rem, cshift); - //mexPrintf("memcpy(%p,%p,%d) | memcpy(%p,%p,%d) | rem = %d, cshift = %d\n", str1+cshift, str2, rem, str1,str2+rem,cshift,rem,cshift); return(str1); } /** - \brief Circular memcpy + \brief Inverse circular memcpy + |<- circular shift ->|<- rem->| (src) str2 = |xxxxxxxxxxxxxxxxxxxx\--------| \ (dst) str1 = |--------xxxxxxxxxxxxxxxxxxxxx| \param str1 Pointer to the start of the destination buffer \param str2 Pointer to the source buffer \param Z Lifting size - \param cshift Cyclic shift + \param cshift Circular shift */ -static inline void *nrLDPC_inv_circ_memcpy(int8_t *str1, const int8_t *str2, uint16_t Z, uint16_t cshift) +static inline void *nrLDPC_circ_memcpy(int8_t *str1, const int8_t *str2, uint16_t Z, uint16_t cshift) { uint16_t rem = Z - cshift; memcpy(str1 , str2+cshift, rem); @@ -77,6 +79,7 @@ static inline void *nrLDPC_inv_circ_memcpy(int8_t *str1, const int8_t *str2, uin \brief Copies the input LLRs to their corresponding place in the LLR processing buffer. \param p_lut Pointer to decoder LUTs \param llr Pointer to input LLRs + \param p_procBuf Pointer the processing buffers \param Z Lifting size \param BG Base graph */ @@ -110,12 +113,11 @@ static inline void nrLDPC_llr2llrProcBuf(t_nrLDPC_lut* p_lut, int8_t* llr, t_nrL } /** - \brief Copies the input LLRs to their corresponding place in the CN processing buffer. + \brief Copies the input LLRs to their corresponding place in the CN processing buffer for BG1. \param p_lut Pointer to decoder LUTs \param llr Pointer to input LLRs - \param numLLR Number of LLR values + \param p_procBuf Pointer to the processing buffers \param Z Lifting size - \param BG Base graph */ static inline void nrLDPC_llr2CnProcBuf_BG1(t_nrLDPC_lut* p_lut, int8_t* llr, t_nrLDPC_procBuf* p_procBuf, uint16_t Z) { @@ -161,7 +163,7 @@ static inline void nrLDPC_llr2CnProcBuf_BG1(t_nrLDPC_lut* p_lut, int8_t* llr, t_ idxBn = lut_posBnInCnProcBuf_CNG3[j][0]*Z; - nrLDPC_inv_circ_memcpy(p_cnProcBuf, &llr[idxBn], Z, lut_circShift_CNG3[j][0]); + nrLDPC_circ_memcpy(p_cnProcBuf, &llr[idxBn], Z, lut_circShift_CNG3[j][0]); } // ===================================================================== @@ -177,7 +179,7 @@ static inline void nrLDPC_llr2CnProcBuf_BG1(t_nrLDPC_lut* p_lut, int8_t* llr, t_ { idxBn = lut_posBnInCnProcBuf_CNG4[j][i]*Z; - nrLDPC_inv_circ_memcpy(p_cnProcBuf, &llr[idxBn], Z, lut_circShift_CNG4[j][i]); + nrLDPC_circ_memcpy(p_cnProcBuf, &llr[idxBn], Z, lut_circShift_CNG4[j][i]); p_cnProcBuf += Z; } @@ -195,7 +197,7 @@ static inline void nrLDPC_llr2CnProcBuf_BG1(t_nrLDPC_lut* p_lut, int8_t* llr, t_ for (i=0; inumBnInBnGroups[0]; @@ -1154,7 +1164,6 @@ static inline void nrLDPC_llrRes2llrOut(t_nrLDPC_lut* p_lut, int8_t* llrOut, t_n memcpy(&llrOut[colG1], llrRes, numBn2CnG1*Z); } - for (i=0; i