From 60dddb93a5a3f03a1ecc6a6813d0be202b4e2733 Mon Sep 17 00:00:00 2001 From: Bruno Martins Date: Sun, 30 Mar 2025 18:26:17 +0100 Subject: [PATCH] sm8250-common: Replace libhypervintf with a shim Change-Id: Ib516801c6c62ad78912aa851aaa08511d29822a9 --- Android.bp | 56 ------------------ proprietary/vendor/lib64/libhypervintf.so | Bin 33432 -> 0 bytes ....samsung.hardware.hyper-V2-ndk_platform.so | Bin 42760 -> 0 bytes sm8250-common-vendor.mk | 2 - 4 files changed, 58 deletions(-) delete mode 100644 proprietary/vendor/lib64/libhypervintf.so delete mode 100644 proprietary/vendor/lib64/vendor.samsung.hardware.hyper-V2-ndk_platform.so diff --git a/Android.bp b/Android.bp index 22e1e29..b90d6de 100644 --- a/Android.bp +++ b/Android.bp @@ -6354,37 +6354,6 @@ cc_prebuilt_library_shared { soc_specific: true, } -cc_prebuilt_library_shared { - name: "libhypervintf", - owner: "samsung", - strip: { - none: true, - }, - target: { - android_arm64: { - srcs: [ - "proprietary/vendor/lib64/libhypervintf.so", - ], - shared_libs: [ - "libcutils", - "liblog", - "libutils", - "libbinder", - "libbinder_ndk", - "libhidlbase", - "vendor.samsung.hardware.hyper-V2-ndk_platform", - "libc++", - "libc", - "libm", - "libdl", - ], - }, - }, - compile_multilib: "64", - prefer: true, - soc_specific: true, -} - cc_prebuilt_library_shared { name: "libimage_enhancement.arcsoft", owner: "samsung", @@ -9756,31 +9725,6 @@ cc_prebuilt_library_shared { soc_specific: true, } -cc_prebuilt_library_shared { - name: "vendor.samsung.hardware.hyper-V2-ndk_platform", - owner: "samsung", - strip: { - none: true, - }, - target: { - android_arm64: { - srcs: [ - "proprietary/vendor/lib64/vendor.samsung.hardware.hyper-V2-ndk_platform.so", - ], - shared_libs: [ - "libbinder_ndk", - "libc++", - "libc", - "libm", - "libdl", - ], - }, - }, - compile_multilib: "64", - prefer: true, - soc_specific: true, -} - cc_prebuilt_library_shared { name: "vendor.samsung.hardware.radio-V1-ndk", owner: "samsung", diff --git a/proprietary/vendor/lib64/libhypervintf.so b/proprietary/vendor/lib64/libhypervintf.so deleted file mode 100644 index 2d5bc96b8c0262e63ad8759ddf35fd2a33c83eb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33432 zcmeHw3tUvy_Wzz4)B({@5#KT(8IU3<&q^I$hL4nx)XEx$nZX(5B@8NBLRyAmU8d-9 z&6LdRWv1+>r6pyGX2s3A+4Gv&y@*zuRUFfyif|Buh-@8&bCv({dF z?X}lld+pa@C`+9-NvTjUo>c4&CSY2TA^|q%0nWjgmc=t4{2s&xuc}mse#2gNppNNxg-RMzEzmT-T?{?S{F5(=@%aN|EP~vxk@j@nJ9J-f_ zUnG``U)32((%1vsgp!`rY!Yc+C~~;NbjdCpa=T=lv>FAwxar6B?n*zZAzdohcC%QY zJG4srama0dC(21p7YknHZz@lpLa80@FkX_wA+L|xNzbHCV!pAcz+z;>B^sGdh0pEN z?_wdfGxK-#{J<-0=N$Eq2UmX%a+itZ^z9<2w+H$#5A@qS(C2udFYrJw_dtKn1AQqP z+y{B?X&2~SwJQxy3Kf&PI9dW#2o00viA@|Sy{|IGuvKb)#7Irn*>zwCkD;(>nD zyKDJFe7dI3@IYVbf&PXE`WX-Oh@M^7o9lt@@IY_$Ko9WkT7J9-y2%5*+5^4L1HI7$ zUD>N^ea3;_l|N7Mz<<97`eG0C01WJ|ht31%xdZ5>MpxZsr-}XTN!~?y_1HIV;{XZV)=RD9ac%UoMxn0@W+XLOt1ATx8 z`fv~Q8$HlRd7uXh@wqn(nJz}|NNIje1U-lau=G_TozLsz5GR9KZ?-#8q|>}Y=`k=6 zy*69K{iONyuaMUl^dIgJ>3kmjN}}hci*$`t?~gr1Ih*H-^m-An36gx{eIlVyqHl!% zQ@u5JiG&tOPJtwUSE@*#gL#6|j}kp|hKLW8_}5~blAIkTk=`N#_B7f-`g=+8QzZHc ziN5wukq|1$iI?>MT+;J`M1M`9zkILA-zLd<592fli!`;=Ajur8m!xONRFSbp;@4un zAU#jamI#u3t3-eH9+4g*W!Fk{wM4Iy=zdbYOWf*xQld9V^m2*c0Z4WTmF#Jh=m#bG z0ZC6kNuN=Y{(e(LMt_N(#O)@@870YiMWXM>5DDC#4H7*~vOo8?0?D4crFOMQaz2&% z@qnZtr@x7O(*Hn`$Y_LIN3@IOY-NmY>}QN0{m9uM!1I2tI|Cnb zNg8f6q)qsk@tKd$l0JWnUZ*=7Zr-#$V@%b5mRtXR>*EdM2H%sJuxs=5_-$?bx}9h( z&zrjVw%~4U_qDxnmsjt<&&wX0_iq*uGVAp>Kl=OeIM7%TM;33IHWuCU*PMmlwGH~Qa1GPx3`_Jnz16hDVwI2_OTIqWved*9Cns6* zjiw@9ib-!ZXP69@LW?Qisxz8$O;*p@`KHAkMU5uIOlwg={=5!St|fm#W`Q7+CC)Sz zEwUI)cj)u=^H9?~lU1T1%c{4Q6!Y42_e4dSOAEnc$+uV+G2l_)P9sv9K35=&6B+b| zg(a3EQ&ePHX}YN>vtWTKfBH=8IGrvkc9F?oEhw67nLaa8m!QwhEimW>JQayVdX`}M zjqKl7gT(?>+*P}hW<{{QzPMA{WQs|-7D3q<(Hcc2y>Vt~aZa&7j1`HCi!4@?NR{f3 z8k?;zwitB9)*?&(yvc^?Gj&l>2D83MXD!lOti_WJsi~mJj0S>ev^Y^_vB{cVRA88{ z&oljTnen1b^zd}k606XM)Wu^ZA266rh6QPsd~50wOR<$&Hg>G6#Nv*g7fMOpDwGmh zJ=xe%Fj_1qWM-I(3rdO%rjA^xapagKg@px0R+Dj3k!fLxDc?{k*!lKZ)1&nkV=jCv z-&jx-SFFz~F3F!457QYJ>x)ccHzZ7+X)+61MVs}-W^%S`D;5=LG!+|)EQRpb-%~oL zs31=q&Z!wwr;p1wE{KYpS;&X@wM*=1##GUPf1d-z6d~LgQw@1!5J}S5NS#g`s5-)RnfR&lW9RgPEP6))Zac51gg)CWhV2PBwA82=Zax7HB#3_ zg@&19C2^V8D2`N^#mih(uotv$FLISyQ#Fesb@^kXp}w#Ib+=iUJHS*a%>TZ!;&?Oa z1s^fy3LsxkOaJ`E_^s26x1+k;f_b_^Y(wcpLSI~LD&j{I^GdL((n9|6qNrMzL zEGQ6s4CVz`)?0F!J{x;BmSe~*C^oU2oLsDPSxy1g%`As@#wC9vi%$q|5mY6*dU|h%Ah?RlF@zIsf-<#(aA-4 zYLwBrD^XsvjGn-m0b6ABSQ))dM(;19vl0;@Kcq8ep42kBkrM&^Wb`{_^no%uorUwH zkzl)(Vkuo~Jb0K=Xj6RwOQqs!k<2ey9O-7fl7=_$)86B?*w5K^TdcSrm zV_7n~bmb%Dnq~AsGX6ptJwirbBBQ6s=;bmxo%!=rA*16Jg7#D;qtkr=PtVHe0h|a} zBctPLsXf)o=(x&kPupbl@OCO=yJU3f>O;t_m(l4xB%T^%^e|2YJS3yz%B(#dmeDiY zsf;zs=(oz~%`$qFjNT%n2g>MeGP?9?oR}-Umqz|SQO2*9(X}$VpNyU;qYsqP>0KzE zG%|WBCjy4b=o4i0NE!VW8J$1!w(=O7fn|qAIEB^}rZ-|c_ z7acnmPcbY*ynoQ7K@VM&F4B`Ooe$`*tac%84aO9ka&yKQ@{G70!qt-0fGf3@^Zb?# zxyDy-jGQ7|VJt2vT2MSDUvIT6GL6APt$2*MJR5_x))-5^A-BY6($TZDXqB>c`Vwn_ zPF&TQS=!y{vbEcTrS zuEA#0mCaT9jhy#NHk7&ImDt*qGGNIJC4?4`QX2VPUIxzEHAdVF8gNGv!EW#B#^j2Q z&>@!G)M$Yec<*$R$*8dwXs{U9U@Jhkg&O@ly(OPreq(b*@rog;Tj^a;nv2x_xWL7; zKVU83K)`yyp@4@0Uj|%)ML>0b#@c`%033)#-_QWeYk->p=Ky{PNcZ=Vm{6VttOnc# zSPysza3BR(EMi6>utfrX2$&9dRD*JWtwD(Qlpl<8fOAJ6egaxUpd;d2H5Po4fV;8K zN(Ve~6PBfbz6j7&fa!qS0BZpc0X};(^acC@a3B^RKVYKP0;ZwSS%9^G<$!*e=xP9K z0P6t{05$^d7z2H=n0XnO@1cOX2wv%cM*#}~4N5FyeC? z=v9C$&3BmJ2Icd-Eag9pPc;?^XcmO{4%0m8wW0g-;;M)8H`53C!uq9)`~%28iu?+| zuF9VPIRy#|F}{oPUhtu5$QRxv$@Co-`J}Si>nZgHpXYrA8-yUg3ch6QLO!)S1^J&N zAKlrW=y@*a&7ceKEM@r)%M#>ve_H*F&$GUN?!C_MxxVZDHv~LC5WK{{7W{rg&?kUw zuJ5pPcm551pQrjLkzIC!uNC|?L`d&!w-AtyBHs!|;a#4~3C7ym1A6g!Y4PZV>vl6JJNa9VI!zp7SptKNn-#Q~9CNSWkgYqF=!;B+sP!Z$tjG zP+0Iw*kA59)Q-8xKZJ)C($9naNzTJ0XCzFIXZLzY&SvC)h#@_#^nBl5F6o{hd`tsh1!8m-o_V5iZ3O)g=)${{m-zwWfZMpP2LCq1bYBwU7B5Nf z9mrpge8G;;yK|iA7}rO^XB>NFKC+V+=7>?f5UZ%ZcDu_*KV@7`*DY|}0@p2Y-2&Gw zaNPpeEpXie*DY|}0@p3@U$+2lYizH2Gyi&(?n{@;HQ?g1z4nVLW>aG;qy8q*slNCx zb*+lgb#4ngn&^DVn^kL6IF{;Op7AoCPq|!&uvKnp1`NA1#1_<;=w!q8j}Pvq-5T0Q z>(r>3Q^U%~hGxFa+?#KLEsCj z8Db;)3eW{PO+y4ZtANYPEd~AvKG;52u}6B;Q9hL?JV-m-##Z;Jn|OiQCo<;bZ6Ue2 z-~(R8($%&Hr7}S^!)+SyQGV-;B(z2Agl((T3w=|YbFpW`OD zvWfbIA+~nf*0I*Ls{{Y-d+>PlOE8kJm-*o8+d4U=OBsrhvCh$(-``xRRBh zTwK=O{`0NmBWnA_l?vNkhi?6%HbCo?`%3M~z_xglr}o|=!4SY`=wGoY*=dHI#-UAl zIL6ppHo?AE71*YRU#b6{=xiLpY%UkGyKZ1kg+l9$KslUuL0d>YU4$(S?gRgmngx{cb4hCMUxVK2*>eE)fDtW^G!+indk>snbMwiz-tY+2{wdZkxxICp0d<1+5wQMy2}nF(u0++mP*QV4shX$9-oP zo~hsMD|Kyw3h&c;1_@@0rfx`aFJf*!&r?Q`$?PYJB(M^btu6MeBG8g_|fqraNsT@D6l;P)8itzI) z7EV6+BH9z^#TEvsSSD}Fz&o_|&rqKbKOWRIgmpt4dC;f9f%tJ4eT{%!6uXQ#jGnO~3We-2$ZozF zyx@-`8x&}rwHVvYH>3X^y1y+;rLI(Kv~>!_@Ui2he3wgQciqICXAU)#Mk)A)EV#cLMxk1j9Nc0DjRw{3Q1c#3Is{ z<^{;4`AC=>o&oJz=hXQqL*t+34;nW?@N2{cTkDKe#EKNejAX=)B*c(J`^9DN3F|By z%DCQ9U@lc6PX!(?@ODF7>5e&-+3rS638lFKF{-RPTj+lw>ob~Dr+Tr>Xs@<7R~hC< z*mt%@YyTPXCO|RZv<7kE$fcww(_G6xtLVmdHmU*~fv88V9$fja?(9sXirJe{<}}7N z#tqhN0gg7vf1P+#0hP_L!*Lbau3z{ul|RN+|8RUK0Boyumcw6Z9-ILj{nI(tRE!Yf z$#Im!*b9#U59!Y51qJNUI%5*rmx^|#puNekLy{fs7v_fPLLJPu9?+!{ZE_aAMs}D9 zJ6JHsU~D@mW_ZC4cG%${WNucp#WkVrqRwjQ>=n-K@`xZ)>&%k$4gwCp@u0UlT!DPE zY%Y5NHaZJG7W7n!dWMjGQlB}YpL?Ipfv)N<`s`-(nZK;hV$o;)6#+tj)uF#a+xx4( z=D~e5cS&A!AT>lF4D6aQYvYm9T+|}H-7Cip$d95LWuRemjYaQo!522dc zbqcYA#`!+@Nb8Jbv^@#_oM?wF1buMcysMxA6|TCZJ=eaqYJ z8z9&h^QOZ)sI!gBA@jFvJPtgU*?9eE!N#MIcda%afHKrZZsTKujZWyYO+fX&n26=1}j^u*(Q(4UD+)64i}(I1X_O_tO-&I@-=ezqubgjo6b7aL<2P zwA(D?U#o2rQKmLo7msz@!p0sO2iL*}`1~x!u@u-sn(w6XWhPy((oPoe{vkU>b+(h9 z>i!Ko`GcoRJ5}E(_>eF1uhmZHy{_F(!%5exv=i1af6PuXo$WM$>i!Ko;d=?Ywo}L$ z!A|>;f30@f`aA6OIm*!9zIBE|*gIp-+EOf?3F4(WVO{UN{dVk|`Z=Pzu|EFWd(>?N z9cL0aQ=ql;{w~ibDPHw^erTMy+(EL^FcZj zq<#LC)^>bNL+f#@YaESO=ZNQ?fkLcsC9{N9$Zk&7Ce-3J!V0A}0ekegjY?LEzuged zW`w<-vSY884tj;K*JcSDv4=O~{KlKLJkieQi*-gfb|!v%#X5>1jgYUv>o!3b#4|F& z5yu^LE_DpgSnHobe91hI^Py6lW8&2pe_BJS5u54k(WM-CT8p(P)kAe?7MR=An-lG{ zmdV0AtH2%{uTF|(FyB!boRNfMTt{K9%?usN`qg3`QwyELhO)luyDe>LN``ffzvErh zPjb(9$6ne^cH^(EOf}9p)V|C~Iw&rLRy@T?@92_S!#@C+Xy-@v+>`WbEOYhI&FpgvTx6&cjVW9S!kFEO9= z=W8-?zPNnddsKC8HuZ%b?l$cS8rig$0BMYh<9@qJJcH-4gLKEf<`DTBow@X5>dJ7O zwUFMSIB#hM^pX1RC+Ou~&l%90_WUfD7%G--T?Ec=)+L2I*zCAzdjBst1Yw(czc=jyF-Be2x0Zx+W<>?qfJp zUO;|ULvaZDlJ93J6EZ ziD$lVW6z<$TqWLvsmqfRaJDP7nc7Zz72I_d$rYWx(DFwcyBN} zL*;7rSF9s@RKo|XumzQ+GusDv8Oc7PA0(ljG{(d^knaEF?H1aq#eGpXaX;RQ^KG0r zwfDPu0@fqgOVWO{1oh#ZY2j4tLCuIGB%k{S;=4nEvqkiA4E7rf%{afwLfMAp+9%Zy z_J8hQO14n3Z{s@J>(7Fo3~lCRXr3k=`TZUB50%B=GgO-=(HQ}AoJUNDJrUD8-(RXR zwrXK(^2M|0KbkM)ep`<*RRdXkE{}su4eD-%zWtyt#R$rCUn}gGggq1L6xV%S@7J3V zGb!Ga4$ZJlyDjk*p5_hOx(cR=Gj|&phq}UNp?@r!l7zV!^$Yfcz35!W;SZ?Bx{u;C z&Ba;XEYljSw9(!?D@p6jCLf1ipFnJp1GpB`F7hRb+Pgtk{PBz9|TwULd#ry+pHBUi1P^TGwT8lVi*_4R0 z$G~uZh4(=X^ryOce;YQX*l9oDuTUMN^G4$R9zH_+YViBt>GK@)K&yLl^*H_TVL9r~c7t0(BKFg*__E3eo(h{t&dt>Zdpl=v# zVD8JDR5lIweh%zK({QIbA3Q|=+eKFl$s$`IVO%AW9L^69@lzTDohVrbh3SWAaOhcbowbaqt5x>=Cji1-EHb&!wIbN0v- z`*$N~trXzEy?|o`Y-k9_`jo~i{LTWs=idU|@lM5!(0`=Dr&1VyzHH$O&_$S6!qIQ= z30h}UJIT+etrJl%&Mz~~TNHMNHMO~SVw)X(K=#z5Y#Gj6$d|}R_}Z234ETM)dA<){ zDV}qYPy7dd_b`0!dHe~9H+(7#KH(FRXs0&mAa@hWH{!f?BH}|io_+L532P8v!q4d9 zbqdV_(ph*<0c&Z^nZS68p(K|e?V-c)4ud!H2^%&F znX`l`Pm^tg_yt|K-!?)Hy)RM^`v$W9r}rWDE&X1sljJw5st4mw4g5{e{UrQ@d`Q!S z?I@9Au;4FfGsR!>DO!(hLHxzpwS#=-6vY&@m;3_j?@XF21J!IH-QzaHXUPA#E(3(P zJizh1pv!>MdhpPk`VjU|O^`$Fruwr3nA3nZHo^}`uYbZn{?!}jzcfz3!{yPO8G|v| zfPCt2`8mJna~*pn_j?(Pwd(Ki;qNF_K&Ok#-m*J!ht#H1VosLMr_pYI+-XpJ>yL4_ z3wIjo9`tU^^3UwJhoZ6M!!A65dvQk?@^40rp|Pn(jL~_oK8^3wcw*2)tJmShjU99s zf;-Qhn)Ay)D@5IN-vK>@Jz|4WTi50@u=1Rbct4`Po$aEt^+w!f(VRzp2w$sSoXzZu zFuweSH8kzd#CYGPOM>on#`SJ3#*u$lba6cNb3m8sY5#}Y8~r=l`##ECO?we{uGrqU zAqRg;hb3c2YQei{e)w~pK7Es%ek=TJ8fD;@fg05p{3GNAAa9eHC*XsD@0a1jfj7zU zVBpF=f-Hf5B=BGv9u7Q7hDQL;mf>T8uaM!fz&FY8TY&GE;S+#2$?zoL%Dx@-PXZn+ z!>0gGlHt>VXUp&m;45VKEa01D_&vb)%kcYwH_7m9;L3g-_2&Q&mf`b(C&}=9;Mp>~ z2>1#az6kgx8NL+wei^r^~zXv>6hJOG&NrwL&c(x4x6!;1m{w45DGW-be{WAQYz?)=v6L95#j{3g^9xTJZ z2c9Iue*~T_!+!$4LWZ9MzDb7v0(`#=zXZHVhAWd%|GuJ{b6Z5$}j3*PpIi;JO8_Tj2k53lxg&-{rv!RkOv66LUnEhCdLX#33)H zy<2>$kszmgf}ZMg=jZis=$`-o3ht+sG?Adc1UE}iA!RS@BR+7P{kZ3=NRil>Q&Ne5`C)@i z$zKEvcZWif*jTMpu%|@l`rs^DNWM3S5a$6xQlTM~e!e8?i+_b9q(LHJa~6sZc;8D% zTz{N{2`Np=r@#BB#PeGu`!xt(I>6W^39rH710@VG!M?m*BK7~??`=6^-PhrDI|vqt zpf5Pq>5Gc=r7Qyfw!*@n@txOJ7BQ~?zwk|7rU>aP!6Gb1e5JaO5mAV*WsAU<)au2j z?BZe;VJywZR|~TUlUXNx<(STF1U4_fBm!S-Pu~Nl18US;^;9sTs6Y@wDs^3ktvCOqQ&IAyiht=s18erVj& zKg?bE;LyC6n&wB&kNY+3t(o{6{4 zQ^cPL`Oh%Ff0RGBI&b$I%WsMD|7U2$lj|S;G2zjD6H68*ET5Ft%QhwA=}lP=AGzC^ z-|O_j=YF1&e0%!r?7Nl@zA*HwpIW0nKfh(PDgS9lpVxb?T71VhYTJ*~4>hd1VQ1fS z-5=Sxck|zlpI&z4;na6OxK!6W-pkd0NRN@;`9Jm?@kPU9EnmI;?&xDT?)>Yj*HqI7 z{A5c^wqO6Ivp0SJkDvQ}*)sc^VV0AF zAKZ9;(HK?Fh#9ZFc}rAe)v?sVH%Biz-fzh3TPOLXM*B}b{!ZD~=kjO8-2I;u=9lmL z;E~<`czy20eNT$KQT<>Ir|pZxW`AToe4D?}I%e`#m=+_UK!gFaFE7cwv>hE)7L&V?tj8xSg_YSsdh(6UD>|XBPVQ)*$}w<%;eUL zV}~^FKmJ{+e}mbU`e4(!4M#%WdgkLNa&N1e5Vjz3d{)%hAw!m~ziD0D$;Y=mHK;=K zMxt`Wm;HViKW5^_PhaaF@Xqx7VR4mn6MPKE-fn#P#n0jvym5ce+CTkO)$6+thv{Qh zJr+=K@3KWnrPY(a*cI_y%eFEv2C_B?+ssjJZs9qdFqh6<5%5UIOV-pj&6Er*7~=Dhws^b?|1jDKNM89Fa5i` z-qxgV-dg|X0+(&ifD3=Q^v~>Lb27@79c1b!9sRpX9|yxCtJT$-?BZSJ6D&dNjIe;@t#qUi75Tl>g2FMWDzpR(J| z`ab6PWX`OFmnJdI9_Q1m_wTVV#RczeVT|26_t#b156t^jSXz1AjnMeV6MgRzt=;%K zuTXm6kgwZ#O-h9QsP@a$Y~z zAH{@}j^C8W>*woY4*9xR6HQOodWK5=?}46o>BhxtAyLv{mEf`96)q-zxtp%98DPd9$>S z<1k(7SQ>wnc>P>1{{FjD`*#%!Y>Y$l4|(F{IV~O!)COKZ-`8>&${kB8;9h?V%=y9*i>iC#><8N<6Z!95+Zw=jEq!Klbe zaj5{am)@+jG*Mfu?0qfGeA@)m(zLQf1=IL{&-2_nTn5H8>(~4Fe|%~@&pG$rbI(2J zo^#h37RHYqsnuwhcy#PFreKLG#l#Z|%lHd`i49@i__r79!P)@#P-tqpNd-t%pHOXc zsONO5gUY#k?uu4Z1Y|xcPUSr5mCNS}lLxE$1eD8>tgJ{)cZIXLU;?_9n_a4wn_b=< ziuRZ|TTzahP4yW{)C5;}LQyhf0t!A84%^cez5Irpq8`qMCGv7*5o&#|a4ffjfI|1T zqMV`^wb(`fOXca4%lW#(A)J$dqCRRTy_4M0+3B_%YdX7{)5yd+d~P0h8=Dxk#BLoK z{QdBVEn`Y<_4NX|)ra_WX(gqj8+so%^g*Bpw!&wMoBa2>p+De;PTi+9IbU=`f5#2| zzi#N?x}l$QL+=E|wI)x18~QLe^wDnUQ{B*KyP-emhFRDxBG7kX9ohUG1SmXWoT$M7LG<9;Rr+!GCq3VHQt6xX zRXkh;>{w@&e#oX0f_VNH;Jg8>J9Ct)^d3BaXXvvt2G9M)DuLoMJ;@jZsa{j2il@U* z==qk@?Wrn$i1Tj)y9Xlwl!Yo?jBgXsE~59JrP6a%z=mT$BK}D(^7l~u4*7XT!RIHu zQ2yCmKZ2gk_4C$UDq}sDGae%(1p{*JPExi_7zNJCzza zT;z=9diLdd-p%w2=BRifr<*aEB)#p-RtZ&{-i7l&;-a4l zuAd-oUzkIAbf~v8`dfLqiu-W-Vs4khWR)QL^Q*i+9Ji}#daYd7R6+ z>mHS`ncKG~@1IlBRl4Y(KXUn}xXAxC{DRu+o2%wWb;`37`X+xVA-z~t!>q%oL0*dhlDjz^pZvS|Y~nck4Cho-=4QWIDYl#gY^^NTz=KTc~cj+t?6I1-aD``@#SOVKYj3M`21|^X1{MA{pYSV zo!+!>{9vxBZM0!@m0$lpOFnruEOTX=_S3tc(`ViHYvZ-My^7xpe&n5}q91mAx0*dX zbNc)9LQ*F=_B;^w$(l~4`!;^irDj)IcFs#Tj!2*QgmE~F+kfglKkK2}zX|DRn-$*a zzP>MhG^xu+32QnnH=i_qb>g)T`VXJE>xA{mbyefX6xq(t`N=2qU4QH9rziaD=j?Yo z-86FS54C-lR6jU#ddIadEnw{F*UI@$Sj}e9IS*_D7_S^C-wzw2~N>dhVc8gNh zya|@(Rc58wW=yhX+ow*nr=(glt@b%h44O%tYqR90*epr5l*-{{bR1%We^Yao=#A0(vuvtkb&GM3( zRQoy;X4$NEOSAeFN^=34NX;cs=&g#tQ<}*jXp#_WS*J=kIu*88Us*IKS@Xuva3at> zF!LQZPZ}4VVolGCoN38U&#?{8OUcU1&z?3UBgK|J3-*Y}n3HRm z3;TV=E=kB-r@=#2hnkZ&H80*eVa)%XrJ6(tPs^~R%}B6j+v8_j^X&1~#MFzoQWKlM zwBI#}F<5EML{jLe^vi0{5QWnOOI}VsV*X{Zib_elH{WWrOt#uH5^XtY<5IFL@zy`U z-U^EdGlFLtd8>8Y#3=J9>!tZ@lkP6tXPvADhQa+O=I7?-*zA_{kv7Y{`IhXoIcT#8 zMv}z(Su|b zG|dMLTq9Ir-W4Fs%B~pZL~{4Rf}M z_9#2{Q_R-vsX0>VfuUxzx`Z%ei@<`?Sy?&RqsFF&#m7^cJ;RnW%baP+o@UQ5TWmIX zw9+woTV$JG%<8^LEAjDhTrZqe7&bPs`(Vz=#*%Boq^!i5i6duD9B5Yj^>S1fiM>bb zG;BePNu!2e7Au=25Bsd~S(nYprSUEHXD+5sq)a5cMwq2mwb~cL&1OEfnW={~Ghk~4 z!m$PP+qs&zfci>P3^eEFU{k?j8}J!wg*20Qfb`JIW0He zW--sS+U)r$nIPraQ_?U#WXv#6O|fROlvHfdu&FkSg=Hz*zAVdC#*T`K88t30eu8;i+?eLrpis)5#&g9gNWXrBf}F)+dM3T7yZs@2w?9Pe z_J=6D{WnY+cmrxP=VqqZr{>s{k~r|g6P-A5;9R&nTPuj0Ggai~{e5vSL1SnaLS zPY7JkdJx|tUapMutM0&#FiNQ50#xyWHEq=b4ql+hixnxY1;K|3I6A5|RJBtx*6@rc zgrov;#ttrNji`X9mx&hfd_^3V3BI1ZKCY?V9%{X~VzpC|{DhvBDw3fsMV^Za9gb>Z z30Ou|67*Ez2@;voaR^MXimD=^{fI>OljtWTdN+w)FVU}&=G6ns8Fs%4|8&1Y_>$dQKCB}dS{7VDA93s z#`zRU^Z+N7u~LbSD@V?!Orm#pQW-0k=(sZFe5xe+04J5PjS@XbqE}1wP>H@%qT>ph z^Vu!YuXj=z+b_{^v&8w-NOZc}BAz1>UB3K(LZaU!G6U92bbpD?_{Ama|F~l1eDo51 zx|53jFVV$aG)nFv(Q$Rp`4}WRu0}bZV2Lj7U{PYIM8_36=QBj2-{7R;I*vpSk?08$ z-6qi!CAx^AlsrYE50&yKOZ4j`dWJ-glIXb-y{|+UufivqboT-?v%j$@wv8QUE0|uB z5*{9ANeNAloSHT@DrHFe;K5;OVS}T>!iPj)Z+1xJpzz3nc#FW428V33a%?m524tt$ zturkHFbT;UpiX86V0tkC_eV1G(=BFt$K@CLG6_${`j}rSFz4H?nRy`@m&Yz8-=5>- zbit`li1XBeHCrv+Xvoen*ep{G>IH#xLwY_P;u|upQ!RFDmWACA#wOqjgdrUlbJB3; zrdnImTXz$EXD0y)PDWtNz1?Yi*U5ZXv3b-41|3LT!U_D?D3|>Pq zFbn}K1e^kBzZUO+4!|U@|u7SaC_F`a40NemL5ZWlW7NXKV0=*rYCp?x2p720P+*&w9dk56?E#!6s2 zc31m8iH~YaJRWQFxc&+6()LgKtmyKLFC#uL;L{)C?E++p?fZl(`SdHipJ}h86Ma9@ z<0yS>`#y$8Jyx`N28O^x<&WcY4(Vfw;F8`Sr1l!<#(;c)EV+H37xxAG$#LUZmF}9j@J~e(R8q37Dim(Yw|D%DL$;RDLb;Rku=pGw4;IE8p#K6BkIn zL&&!obBIE!$Hkv1-2-EO5at#|ZqkF0UV`+^lbTY1FDT!`$XAbiJBbhKX)VrOg`^G0SBklhM>9Wbl4mc{=VLCkpZK`ggUZ(-J$wX@ zdoKP*`u2r^hakNNmFEx9`*S+n$N3OHe7S%HA%7-OUGz(_E*tYuv7E#y?Ij5NJhY=i#%0e!iS4Oa5%V;c^% zXC($5wv*a8Cg9pk$RkK~j@tUo$(TLbtKCwQ#(!Te z>|LYlUfHN)o3`rw>l+)j6^;I^p%6Sz>zFaQFN;_;h3SB?*cLn?d#%p2X-&HYeGegzS5H&Jk!vWgZ>0fk3DGd$BX{}_ zJfPLjF!-?~ea+S`^qvyPk}|=o4z{h)`Bl~;KjDgefh>Z`6J8U*BBRl6$|KU-fv4O? z(Y{1pz6RxG*$yhQ`&N4ORb?Z&YTJ^|{VK=vGB}@zr~!@eGJh6%WQ{56sK2S<*dWuU z?@)fU#`G_L4YTRbNAHQ&ELpDAEbT?*$A~&n_B+^0mTPOQ|3)EOUs2E1O}Y=_wB$a` zXg<)MkJ%H<^L^+dmyij+|Dou+ zth-|86ES5vr=9!owCZlnWpnEC+9q9+-qukairvxg+ObXOdr`;RaeESv?!2$GGi^Gk zQ~QTkgsEX%%W|8(;^oSGS%lE%e>n|@cP_k4o2ajN^?^Ll8QFGWOP*2hiSk`s%X3+7 zFg4)#%U9@z;s(XO8t^1}w&5f9Rl=#SIy$I*m2lSK;`_}OUjD9DWL?42a4FEGtz6cy zrnc51Hj&Mr;bpMFA5jAu;f}WG6FO5ArN6|}hoC;;`*Lh(ydE}dWEG8_Si=HQzeiI{ zm?QXuhM3T-uPozfh=mcgkCKetE3-Jw0l#v_5Z*tg3;r6kPp9^a)ol?!t~YH``h67I zhdy#x$*;zd8l9=(ew3rWX3(+?H5fw(?}+w9dO7GP^n6bvUQ*lVg5FKw=o>SE<6f4U z4%`Nu{JUJkB5UB|ICl3XzEr*eW2V9fcn0zjzhsOrHNBaFZ_=>AN}RvQIDS2N(D+fY z*j(?g@j4cuVM#T*ZpOOtqcF}SRMeYq#<*j`I2m7oaj2Na$O$NOe%_XfQ)pw|cx}`8 zeJ#e~LoA0m77fKO0}a(jvtm7C4KzL)n5m&or>VRdWgkOKws*mYcR!Oij3_ns{GmqCggWP8@uRc2cz%n`>J&<3}g)p|IMPPuH=II zhb9;NZ7A-oG%SoH*aQdDwwt0d7>i5}G&OVtPGcaA)ig%OdDHyi!aV$3c%1iEc|>q1cy($AAJ@@%udVn6 zHa$Dd12*u4E!tqrZ(DJGF)O|kW4;wOtJCQ#sUM!yc~n+l%qRcwf}SxKFrL(}$NGWe$+_0;HkRC+-+lAmHC$rc2A zAB22gU&D$6@b1A@+xDPbJ(qR1B5RMz*Fhs${UK`r<{2aUX~JsJZmsQSi+gT~Ff{@FbhpU>>s!?~kGnkcWTEb zf=F8mm?8NK)mu0IX4q#W>=a*dc3K?lM*SkD0(MmVrL}(dckprGqs&7w_anb*+@VqI z-T=GTn?1nO6E<(7*!*_byf5lK$!%T-`!=_^1~zAvWN)EQvh_mLLHaub`w9I`2Tka2 zm7XQN279Tt_A}muG|J1IG+$#RrzOL7JK?*C4;Qo@&4F{kbPj0bhTMrG`jY&KZ2S$AV1c&THaf917!$K4ObX5;Wq?HNlD zHoF=yShCqR#bzU+-+0(8uA)KMYlp_Iy#m0)7a!F(b+EIGU+!SVcfdxYgpJUL>o6xL z8!6-1LJjv#E$pO$Z%Vd8KdVh+#l*h>@9NPCfAHE!Ywy~KnGpt=yU+#wf;0IsEe2V6tyifcaVBLaq7(wm9 zZ(^1p7DQ6IbDT%{dwIUsP<9CV(<^|aC(;XzADC=(FGZf#e0K%tm*}f5@ws(hEm34@ z?yCzy6TX__#gb-8@iq}@gyzB8U$J$PyQ6HzVY8%GYPbFWi z(W~}TeYLysD&&=Y756-w`DzcOldpCIq`rLw>9S51A(qQyQNuMf4mJ5|v)GNcx%%oV z?yIN4_cU*Zh}&O+M(rS*FGAe@6uwHan|xJIS5o=7TZ6f;>Z?lZR@b!L?*Ebe^eFg| zo=n_Np9J2_Pid_OKV8G~VWHZc;{K~He)>A`gq>Y&{R+yJ<5|hcs(|J1Cl59-2mSgc|H#Q!Mas%-Bvuqp+-mW(8 z4VpU}A8*^-#=*!d`|~-Z%Qg-|I{9-TAlVpqr~XhI*K!+c!Qa)!M^V@BvN5ggTk+>p zqV3$Dp9L=4_$QuzsW#q$a6dEb(I__zAJxX% zigP)w%&!--;=3@vUV^#lDd)P^v)R0=PUnHSwXzS+*S#7e)~(IfzBi$sU$7=Qi?L^( zG7s%tc^zmp$6AOnTGO5-ouxf0%spx`e?HTO*2);CoV4!7pE<1zYh;Y6QSV{i^?r+a z*W=2(>zF9-oVWQJ4~p`wtdqayY1LS31w$sRO)t3C3Q+BD^FkXMc)P^f;RJY5yJ+nY zjdijab8GxIbF=X}*}2y0fw^^e%&oDuQ}(y~uuk?h9+u{8H!AC{UP}ALTKQen@iJd` zQGKMh9|&U3hW&z)LU}FG%3AqcPHctCTDiqoz8!pC!AG5Q>#$~%*2X)Sat7jsdT4)% z*2iMalmyPlOmNdzMHWebU8NQPI9x@fV;;^Y*-CQvB3_gm-Mwt zS$j3DQn^_*GKzJV2Im-9gHKotp04sv2TjPk3gi2$n9Ci&TrS1!Tn_84 zVNEgNBN~rkXIgJzJ%aTC_L+IyzaBXB?Ht>?iu5y$v_{!fj(t5^ThX2Zj~C66Mbp`AoUgM z?;d!6OsuU@w+T4e^;gg4Yif!y@;sgPjO2Mb^}!=<*45Mpy}{RYpWqbgAe)k}2VkAJ zA2wCi|Hw-^R%OKcANiaz!iGAeE9-y2JE){m8y*Z}zH7d`7u=g2;^K9%((|*D>@J=qke%y7eVHw_)IwE2l zl5r+0^61YU*y-=dUSjBnv{ylUqeo*|ag3pDaqTsDU&AV1CO#dpzlpJH2;Qk)v3I`; zH_q$Ei+HN;WlcjK12gQU{pq^#8fCA(FZR!CA*iP6!9c1@VbUg{Weh+QNnaBz1)8z9M?-?^SM58^kPzTl}k!A27TAv*AP~_a8#~Jt@ z=*$Xz8*v6c8fW0f`_wb;LX3fh<5a(c1`I#ADAsNJliV*=?F<6DXU zIZcH>?meJS?bhQAhHNSNE9v1o@OTyQF`TjFD{~&d%A=qa0^dqwmQFo$DdcA^D{C%YLjKi*IIk?R2eU@xZ^Ap;Wr|}49&<*>MA2Gvd(z5V6#9|?L z0q947liY|KNmN$&IL4hM$cyv2mVHI(m*D>nmA~Fp(YTORJceWG4T5t@cS|M zwcq&y?zX_McaO%t)kIHIL&CL)t(WM-`*jps9TO0%(TDtvLKYDVMZ7g&93o#0BAvoF zX|8~ENvpBewM=)Z%<+pX<1LjraFJzj-^nT4#}`@VgjDA3i!AfCRA%Evmf0tjS$C0T z-jm9#xX3b_r832C%80vRO6`pSIppm=VFPl&i-2aSA0i5nPC@*!6%XW%X3@N|?TzSZy{ z5syz#)?&O-<1vl76oXFUT$%R6F{d_CTqYlLJ;SZV`3%nN(9W*LD)4oU$zwnhF*yY> znD~mAyo$$Un!}u)9D}i=Ddx5oPlkfm0DOeb)Yz-R`cRAVe9nM)NO$CD&w$oez79Gs zCm-~!q&AF4`K{1X@^z*L2mJp*;IBc4SkqLB_1)E=QH*RvJYI!({3`Mz-FYw0E1u@C zP3PDhk^cMZBAxW2q+_h2aU1cgBm;8McwYngLxJaG z{z$U-#XGe})}0s=>djntd=Al??!MPTZ}_w}m&I2NcNfAgeK9{JUD0^e7xP%J`&qrq z9JPwt?K(&GhHPSv`VZ7Wyu|p`+8p)GKS_=w;49?F!aI%g(ED%7gTHg?9LG=LEMCk# z#k_>{L3ar0zQt4Yl}xQ;LKMmzU1O>seR&yJ1?EE=^cZto?^n_|kISH~j;VClvJiGB z`!h-?CmSvJEbv`?u}9mp|fn9>nbrr-&vi5Kwjge z%3G&VohM?MM<7R@kv+*&;Rjrq zGqoc7DW~kteKVup&(wfDvr6ol8EGCxZMf8V*A8bJ)EHQACf&cKti{y*FOP~-{isjk zUI^x+)F&&@H)w32aY5V(VeQe6Fz>mOY>2sL8Qu%APf0P4bWih7>ce$wG!+iay_Vv6VE9OI+GGNb=HtZ*TXY8>+)|AG^q#j5+1K+Ii?zyz!^nyKD*BPHf z8|%D#Ej@s|_1-;};w~`aXLqdm{3>xbta3HdXQi?VyEkhfpQp9GJeHoFMn3pfQj7sYgsUg)3v zv^BlE8LO){1+)>sPF4>zIK1 z4Q|Iy*sY5Eyf5}BsE<466^u3bV*V-SvD?8z+y`BSxza-HLFiFdf8qVIR@?V2c!@ax zenX;JoLK}LwKj%2+a=u-#k{4Y1Rn$KOa1o#Usa3!Ka!(>@BiWb_qOL{;v@F|@cvu& znua`#KPO-}ALz03=-39Im|n#Ot^YoMgYFaYQPRdCEmciZ@Cm>RBzzL^)e?RO@a+Zd^zy#621cXK?z?CT-&Fq{^x)PN_Zvk7zuw7 zc&dc|3wVKqzY2V{guf1ayM(_9{Gfzy2d=%kss49>2TJ(+z+)u*-@sEP{A1t+621@k zY6<@g_;v~Z3iv?@KL}jw-&FrMzyl@xJK!-A{sZt-3I7>*frOt1zFNZ10^cs-zXCrf z;o3OVZ)mE&4e&q-_XZv#;T?geN_ZFG1rpv3_-YC71$?`NUk&`Aga-oG1~k=w9q>R2 zHv*55@DSjs5fh!ugqJb+KxT1k88u*{lK+&a1 z@-#N!=~>I+6nuf{f8h~wxWfMh*<>01YWc3hmkV2a{&KnS1?)?COpDaq?%H#Nr@vLu zoaVNmTWa4BsUW;_*-cy>RW1F9t%mIlbvU`u@Fm!S@{DZ=8SY;)3WnJW?F1{ zR{SYIpy?_06e<{E%TXBEs2FFZyh-_0mUFUHCK)Mt8BNT&Xp}oO-N`;Q5=7N#;_&NefCi81A(hQ{ClT!w@+)A-gZlxY08XHM&{q9)xRht8=k4#DU`@3I+R6cTe z-Lt)8o*BHgUFau0J}k+aQ~dUU#aVYhS*tnp<$a^(Jg~0poX>p|;`$!@V(X8otD_b? z(re<%BLl6^_uTwd`ox0W&kg-KVrZK!yK}Z}@qWbPs4aKG=`GKW{?-^g;m2(+yu9g9 z+AaN}KARL=9^Lte4&To5{!hP<(!|W7xz9b&<;nZky^}PfOGnE?4@C~0w*LA?|H{7J zrN737+&1@)IWIN%4>)k|ZQED$D)~HU$1v@b2d5nQV14q6fKTp>_+Y>%3o0HzdCiEl zXG+ct2u@9yb$-!je)o>rv;ALn|MIu)KJjmr39Mo?njV-=HQW>1e^d`Iz%XZOSm^$Pj! zc;216pRuNvRe3-3`Mu@09`9TC%)_xOW|!BktUnSP(xcyD%eqc?ukihK)RF6|uldjT z9-V^PJ)3YiVr9npDIaYqt?z!g^q6CL=aq?$vUlV6Wvz<4#+b3Q?AyxgyA>UM?Vay_ z*0uTUqfbh+=AVlBa{ANHpDjN$^1&Hz-pf5HdA&&c zVa}bA4Ce$?T>sv?cVmcPkMFsvPE}#=Jxxq z=3s;(RJaepvJ|9}rd%LyYu9y)kp6|SUec?Yn+UbklDTo;M>0?1J zTpPNfLUTOlT3ZjWs{KF-YOy13hGr%pTS z_c~rTEcoj;&V1ti_?UqilYV|I zFKhnK_n$mEXvv=8QVW>yx2_FBH|k#`UMtoQir?-RG)HTn6Q+U|=D)4g84 zFYMh#hws*&2zY76FRK^KyeG`-^nY(X{_V5f(rZVAJ$LqC`;_)eeq3;TQ{lnEC%-c~>V+Ju3bk1V_CiyQxQG%z!$U!UFk_w9IQcjFf${Mx3E8RGevIeYHa!R-d_xF_V* zGbitRI()gmU(e6ytn=BE-*)!$d*1$XZ`Ihsug1Om_#24>Ms>~{xPFZ_Wo)lIbJrPk z`@3Gf$F^{5ecvy9K7VQX!r1)4A-_uciMZzxhksKt*)xBn{mVIte}7`>^sG%kWPP5b8~$`v)x(copR7MPW!26zpCo=W zasNyE%T_O2v-ZP=*t%tFroHcTrs&5QzYU${&KUgmKPLr$)p=b=`Jz2<9lq+B=#%Da z&+U1r^lwwIj+?aAR-1PH>N~st`%LIlcWrFb=A#82);WeADjPWYZ=R3us_Ax(!DI7} zlX~7f_nxJRC4Vd06#tg*n~DC~pgA`j9Nul-zXIp{+AZ?g&*p86?0?9k%**%Zw|^)p z()5Zy*Wu$A)&}Sr_EvOQ5E}W(t<#@A+_&@hT?@DTV`S0NG392NUZTbF2-OAeAp4vF+yRO5xd>!gPmfhd)txoSee*4-5)-da{=}$lW#7ish{&kP0 zU-yBj?J@K0F!$M)-r73vVWv6Ip%8x=;Kzbl2VQz>+Aqp1)Z=yxf0z3NfdS3Q#k@9` zzX&Mi4L&sY7xjzvfPfqM!hq_awT)PR2)Sr^ zL349aUd-PGJd1RC#Ck;J6L2chXs$1CG2a)EFXxpxMS zkYB)PB#=%-{bD^Rpu8URLq1VX*zYiCBn$o|n)1-!3!+EBTZEu0*|}chsPeaQD2u4S zjL(k+q`$Q!Kd$zB1&MO`6NA;<0%qc(hx`cn1&!97R9>uS6@yYD?>Msu5z_Ry);|(S za(UNvTa7RrXCc