From 9dcb904c21be0c73c081b966b6d843786d2483b9 Mon Sep 17 00:00:00 2001 From: bapeey <90949336+bapeey@users.noreply.github.com> Date: Thu, 4 Sep 2025 13:04:37 -0500 Subject: [PATCH] LectorJPG: Update theme (#10367) * update theme * update logo * review changes --- src/es/lectorjpg/build.gradle | 4 +- .../lectorjpg/res/mipmap-hdpi/ic_launcher.png | Bin 6103 -> 3712 bytes .../lectorjpg/res/mipmap-mdpi/ic_launcher.png | Bin 3248 -> 1964 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 8858 -> 5073 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 16502 -> 9713 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 24164 -> 13875 bytes .../extension/es/lectorjpg/LectorJpg.kt | 333 ++++++++++++++---- .../extension/es/lectorjpg/LectorJpgDto.kt | 26 ++ .../es/lectorjpg/LectorJpgFilters.kt | 6 + 9 files changed, 305 insertions(+), 64 deletions(-) create mode 100644 src/es/lectorjpg/src/eu/kanade/tachiyomi/extension/es/lectorjpg/LectorJpgDto.kt create mode 100644 src/es/lectorjpg/src/eu/kanade/tachiyomi/extension/es/lectorjpg/LectorJpgFilters.kt diff --git a/src/es/lectorjpg/build.gradle b/src/es/lectorjpg/build.gradle index ddf13f00b..99de2b0c9 100644 --- a/src/es/lectorjpg/build.gradle +++ b/src/es/lectorjpg/build.gradle @@ -1,9 +1,7 @@ ext { extName = 'LectorJPG' extClass = '.LectorJpg' - themePkg = 'madara' - baseUrl = 'https://lectorjpg.com' - overrideVersionCode = 0 + extVersionCode = 44 isNsfw = true } diff --git a/src/es/lectorjpg/res/mipmap-hdpi/ic_launcher.png b/src/es/lectorjpg/res/mipmap-hdpi/ic_launcher.png index b7321739f0b6f46304ecc70a0269e05c936b4df0..7ae147725b0e69db70a4ffc59290166f54fa2194 100644 GIT binary patch literal 3712 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 literal 6103 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 diff --git a/src/es/lectorjpg/res/mipmap-mdpi/ic_launcher.png b/src/es/lectorjpg/res/mipmap-mdpi/ic_launcher.png index e13ff0d7158443d086c29a04c797db187bd14240..77c6c889f51e0d7932fb2d2b9491f8a5d8dae5ca 100644 GIT binary patch delta 1951 zcmV;Q2VnTH8LSVGBYy{TNkl2E*RAVz+SB@- zb#2c%{Z4z%m{~|@cGC6SzUO(L=Y7BTJ4b~({G+m=uzIHK}*W0Qp9O5X_2xxNdTf4c(>0T26#3N4yD+VtjH3*STR4M@c zdy?@@2HmHv=YPu9kliew1dV_(W5((_x7(W_h`gME0#O$!LW#amIf{aV1pMT+YE`G> z@{SC$TcCoN0QWmSt!P!d6!;LUM2No69e#jPK!f{36y{yaT;0h9wbN%f--kvZfe>i* z56X{}67Yg^ISRBqk)x`RKoYrx3vPGtAF+Bw0c8aIQR4#@ zde=uY7~No{6Bhs_3P@cmn?TCc7Xu1J0#74wJK)9E&N7YC0U3>d^Y*&+srzpvRI;Ah9s0!1jCt{;_*dTHiN-WTr`nWPq4cI#as8+W9z9z^lKQ*pU{C`!mze28tOP8JC8+K zMSlkN?Kh%i$26S#q8{0AmY`8Nx#QQFplt(mFFj#0tpb)ti1P?+Mth8h+AB9ps`MElCCHAsH1 z0Eb>Vi+2uY;#P+q->mx=hwCgjUXy@5KY#f;^O7$MasKlrjM+F39VffdQ`3#+{b!K# z;aXf;_X(mhMj@{F9MGpvJN41oReJVTTdsx#{@*<(tSaU4MYT z7w#uM=gbJCEnNgdejd6{)xua<1lyjya8y?Za!_{C0CaC@-W%A%X~;9#Q`)2&We+HJ^_7K>(E!m66114)sD6?dtM{mbtjdidS`vgb|T5n2cN@>mYsYc{{{1Dh~1Ai{8*bT4C zEnHjk2A561T=2YTCKf&r(2;e}`{{`oZR*3)+8#K_DplBe%LA`Vh(hk>xo9Dinr-g| z0-l>JeTcHh$1ZyjOkj8c`^l-l5||$ zaudymnq+}jqyR^NR)J{Ja!O^J-FRb;4G&Lg#-9xa9BYWhshdW0_G`fsmQiskq!y@P zoEigFZUQb;XmD{?JNnyQy!?^2j$#E&`C<2D!YIJkBh0 zttR{J{9`l%Rz@%Qha}1aw~~!!nTw zaHOKi#=XulkxfUok$NG{g~&Y^b{{Z?c?R+l=M_K>?002ovPDHLkV1mdor)>ZL delta 3245 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 diff --git a/src/es/lectorjpg/res/mipmap-xhdpi/ic_launcher.png b/src/es/lectorjpg/res/mipmap-xhdpi/ic_launcher.png index 14b7e623502241d7740f999b44405039603f1a05..c5cba28d69847e7f286a3e3ad386ee44ee106b05 100644 GIT binary patch literal 5073 zcmV;?6E5tDP)>->FnmN50aZjxA1)lj1Vq>fh6xxZAi@YlxcFfY7$zXX2t>H}VGp>>2^c1@ zk3b<9E`tG(U8AOx{q;VBDgSc6#sj*G8p8hfKDpW^hX6P5*)wmorjD9=d%MlC#BO(H z3oaxJKHLlLdU%@#eIAg;J3;>|2IM#Ji{6U|md$?ZD@^c7;Qi5^O6vE1)%0paPm|Ot z)abRE;wZD`wYK`=9YqIsH_{~@LL^DxC4i;VOrL#6x)43`&ANt`SvI@Vow+Xn-OcwQ zAV4F#^YBgIzuw-zOQw}k_Q1U4)T4hLbvg|ae}A=%eq{hj$`TI&Zt#(q zXquXT*B8}wEmQkhx0LnE09TAq*&qcVK+3ZMdW%#$ddf{nh$(D3^|x!AnvS>dkibI# z(|dj1jlWz`U2ogm-x_@^RfKR!iJq!dW#!dM^n0sZEVhdrzOK&$K2I9iAaVA7#LEso01s@xfUeT*sZ>rgon3)sNQwX^Ka2ot zYW}?!f(4(?y8GuI3iwKsD=AMRf!}s!`v|HB>yk18y1R@b2M+nI0G)Mu!Q;w8}1rFAH z*3VLfjR1eZ%K@LK*TV(o5VC&X`YKL9a^6b6F(6d%d8}WFsgF>sU#|BJ8UbR!`0J7e ztNU^rA8a{F$xm1$$kzk>0Us*(JksM%Glbcsyn>wcjIu_Ol8P!~zizYM0cX=O__)BVqll-h)Dba$Qns%jeO3p6;!r zwD649IhH-cMnE9Y19eCJTX}Hc2O~YfTq7lc{s>i^fW#|S1RMtpHSmLx9xj47dtZY_ zK$I3(H&KfNH1GGu1-AUz|L`9ll(T#u=`p88VZ=?NaDLA@bk?*Z{+djf#wI~9y6*@D{N-0R!$J9PJrpCECr>YH+QYd>nv;T(*DnwW<(T&JZM1tz1D8t& zmy`ZFv~W=y%Aebhx=)X}%e2g#jPyHhrR`{XB1%o^h%BcXw(164+`0{2moE9#t?y&l z2=HxeL5dEWvvjDX%1=AUw!#eDXeC98Z=M=ji7vgb1ZI@qYCHVD@XqJ1#sH6sCccAESuI`XH9@%R5Ao=$BEU?L7$q4(ZBvV1cw@JC(fYh za1m5mEv!Gd4r*f@Ixk#8`Q|_M^A_)VDo#Mc6!92PkZi!_Oe1RSDoi`X)*t!~w%&QY z)rciY2E^+H6t>&(RCy%#jV zTky|+=-g5q(iW4u zPFJtZMeOWYl+|3u0uJB)j++2I)iviCvUu8qaDLNANMAmmmeRE-{jcZI zQC=n63kSsmm}M0tL}Bx&Sh8v&ps;V_L^SEh(Mcnr)wpnDQ5A|i$ojLQDZLs`RNBy` z>BJ-1cAV*Q;o3zs}@OC0YhZA?Lqu5}looS{jm%eN7*aNE=hVM$TzSS#96R;WP)2(rWKv*jRAA47Q8$vo^~cV zam+@`qT~hXBtv73F6^iyt2cIH(MSh2l&bOMX?4HJwGlBk99dZcl}DvU804yLmHevE}ZQI9+YRpFYaK;}kc}*2Ul_t8;tn;W6D=kLFMeh(XDl zbzlVK?YJ3E!9anPB#H%KBExpcfwGNzVQ*~5_{Ue$o;D3m{c;n1Zb8iST%;{sNMKXY zwzHtEM#HE3(6Dds;1Cd>yIgb}P!Mayru1ag*#+bmpYC!*P5|$PX^XMP=b?{aaj0Z&VVlBtVgpDH{0SSpltUgZo{Bzx66wjvNt{ zC&fL$F9DW#Y)Vc;r%S*ajns!0)MQx#cDC1J&zN*LHFn%odI2S!b|mQ3SeRnOix=9l zDpQ5uWZ7}H(}g<@Ye}jE{B)!pPZSyuXL8{9%2QC21by$tEYx>sP%ym~8|I(EMUtR< zwogD+qXADZD?_Bk6dW1R$=BkQUr?` zg-=(Z@~bA~zcm+jiUCI!ya#6+b%W^e?op*Kz5(%buZEMhRn_eI0*#*^gf`ZK_#e-O zdHf_eS~^g+ZVh=)|2rPJB!SOHu3@&x+vgI z*pQ32SDnO+F^v$27$<$_qO-PBhaW$hk1Hm&;15JV5fQNDzHIz(xeB=p4QN$IqeEq) zy&*=lH|z1)FN*1U4H57o*eQ-2ng70<0N?Jc%AiBW1B+qG$|Skb&^UlL2{P@cv4E3$ zb5+~7qphgVcqQ^op`6F!<{sqw*CG#+ljn5Ct9c*y7!U>&lXYNl#ZO_F8t?p)kvmZ(w7xc zShF_`1|s7>=AFmP@lDWCkLjE9W^DRk3@+9gke1Yi`<9mDt7CEaV1GPRRGn*=>yS9j z44dAJ+AqqB4O3y~&*#0pn_w1j!r}qE1ccjrMh4CE)2O(ErXcQkk-DdBV{_lZqy3)LVI@Ec@cxw+ zaF;OyzmH1C3yzCeWsO3cwi7?As=~oG>W=!^Od&__<-`oJ^3s;(B4ybW8eGvWE&D2A z{r)5r-nkXd*1q)(IpBvyf?_A#&D9MRlLvOASt2cJRJ&|=F?AGfv8qs~=|I7mdYoz> zc=yg=f}eQHSeo~rMq>dj${s(2`cF!swVGkCXZP3n_fV;|am77=hXAQcvE~?P;I=C> z3Dao4r$N_+#YG+Xw%PmsTyd8OhwLQZoPmsg&!fS+234<|!G)KOipCqc)<38ozyrFk zL?md{cqQ9}X>m3*vzSmM;G;?k(Bd&TKoA~y0atgEW=qDbn240cqiJeThiaM~Eqn4C z#lR0c0lc6G3a~LW9k6w(3fCuf!e!{hOBEXY;g|_+w5}i~V}XKUp!B}hYfLp_;%_D* zD$fcRO)Xdar5xqkinzeSAKcYZT!Jh)cgc(ae$3hHYqkooHrIjWSuIfMZK$A? z%HMtyjSos_70qvO7SC78^3{43GHy-5=w+jba4qcZ8WjJr7`2~ODGq+b2;el10S%s= z;=nVr>oL;W4j5@Mrb&kvj#=^cu~;I)+au(IuQjSL{`Odmn3o6*EuT7Q$+F?74JS92 zqJyTz#jKiVpshC|Z2EKfehprdJ~-n)=^*2dy)!v8#w?H))~$ScTcW z_}*WN#NEV_C?F+Ag|TyJZQ)8YoCXtYG$q|stwGWAwW$2GuKS5Tek3KBpzBLW*a(mV zxD@DO+8uAEHH7cgV)67EBt=s{oYsm3ntFB_1$;*OXZ9~`zh{={41Ehmhpn%5a z{(qR&j5(7VP%xvK_6XVGqVK4?4qB3hjaJY)X@$+EAtE$7w9#Bsi$;$o`rAn0SJYeZ z^q=4kHy8c$_znO9d zVs6=xvGAj$<%i7!q9-ns)eV(nMN)C)as!{WU2zGLO8}2|1Pgq3U=;V3NLzlyJb(xA zKCcL@sDbhdICU)|J94~7P8+0RLfAbZn97D?@k&{}zkGsePaqN$Cm?FVFM^B#Qnu3l zyOLHPD8Fz7T(K5LlmID9=MB(u&>IHgJJc&Mj#XOe#sRlz?>Cq43M6Z2xO(b9-+|2uE795ED|J#03J){ks3Ex zK>!~q+3|LPLG=JRfb&@U4H7i?Zj=aCvI`H;KCB@~U9x>j)lOylpAJr0l) ztflrE1wBrXQwb?lW&9p70_3(g6yS$~*8AgR&@&M1*`AHhGfBU?o~w}-fcByE-e&P z+Sot@$N`+!;-$bJQo#3u<7{%2z0U5hWxD`Ees(l_e?V+h=8_McDnni{vf@h`4`@=c zg(nX=-l}9;wO~7GJGbKo%9B0&CZzWVc;289qfec)N)Pg4eY@gbfdHTO-ez(L&ozKCHBaXSVU!H>*A(Atj>hkPP0u}GPkdtX!|w11_(C_HZVi(m<^@r7T40J#(?(~{R~ZruR2uzg z0+GFCN%p}Fet^k1*@cGZ0@^WVD;K)zcexr*?t-JfvPXKD^|KveeqMdlT^Sw%JTLEL zKr>GuIdYT1f-@t=^J35NG;e6<>V7~2o$O(Gthd8JXD8eB>v@S=!1;I{0z5=9&0)J^ z8Sw06g#3Rdzyqv@0M^@KCj*{YzGCl^^w^;1)wLcX*k5*fz8~7Q8lKv@pN`Q3HUpe_ z0wYB6x2bwp-}gPjyj~O@2qK@WhXn7x+_ef7yil*_uILa?$hYn)(uiRIBh2hD0mB4D n7=Z{EKkNa+1Vk8t2p9jq;TPyA07*naRCr$PT?cqnRrdeA=`Cf_J0S^#mV{6RDbf_|U@uq}>>aGDtJn)FA~ryl zMF9(T1w=pu>4*UW2ni)XLPC0Gl1!iX-*ey0WRlEe-Xw$We*e86d`afrcgy*mcF#HQ z4Tt}=zmx)8=x3)P`5=Z3w!gojLp4qiOYdY?@0Fef06Mv<|EIV84}iZIcmV)0(krG< z2sRV?X+l3@2)5}N;(rnlN@{j67Gnb+yzoB&{v-f8avlESC4_4FuBn=?-QD>;bVUNX za&PBX{8!v54xM0p@8E2J*ZlOW`@f{+cX2BWDecbMltB&bCOZ9ex(-0}yJ#?i;bQ75 z&B(~mCMPG~)Y#ZK-EOz{eJxPGK-X!Uj`{?;-`~30j_Yq6 zj^i5Sa(R(PqxrD3^wei{b@fdE9AZIe?}qwj07m@&{rjizJpWyFb#;!_YGpJGv_Y{O z@ds9*@q@X3w))cAl}aU|qoWH|D%I6RMMXzigWzAP#7F=mKF!guU%zc<&YZ~+%e`U% zYD*L+&x@9%vq{ikq{_W!j^hv?AHT(DG+t^j7z`ZX;F&rS34ot&r0W$qIXQP%R8+hn zus!{2tzzh2T1eX#43X&GU;qeKy2KKd?Sk#4g(70_B@j|lQvP02QZfessR^Tcb-t!{2^9^SI))^M=}dKm&=y4Ck4{EySFzthD`uI-2>iVx-phB1QetJCQY z7z_rYl?i~|&l!yE!V3VO{7>932cSzzN-DG2Y|73W)6S@)U^X6T{9wjvk$@J)^}avQ zSW>CfV6|E^0T=<;I+B8pC4hqjJd^;!V`5?|+RBkwwG)UqzHCaMO$yh=sfbXiszAWF z=OH!Za5xeHGyt%49st4kssKd9#Ke^OQe*-lT05bEh}RJy9~cxF1b{v!CgzkcRpAR1Z)*~0Lq4TJaI=KQ0X!LBKVXSbZyl~7 z!1#gI@AEnbI33PZ0CfO52Y`!+ZV6xjh~;`;L=pR0r#5`Hz!7oK^e4GaXBPo*?a2c` zbab>w0@})w7?<eK=y=~t>F{_XQKq@H84*I9e}Q?BMHYLCQ1*7!wF+k6Rb9yhs!$N90#6n6JQiU zAfjWKR)a9D4q-Yilu89kO3P5+VDQP|zSiLHeB&!b(J33?BOK>(L!+XjPPIJ{iE&3g z9NQ+e5E~th{65)?=mbKu$&AX{TAV&piDnZ85#47ouS1y#ucob(DdlpcB_|;%E*46K z!b9vHy|S@=`%e5;xWAoxp;(U7*#dGPZufPa=gA184jjzjS%%DK6B~-q>-BoSHlQPY z@9$b{R5Y%>;xZH+E`rnHVDWd36a>eiwxI!~Dq(I6!; z0cnYeG$bRk)5(LAN-*W>DY)kPt1)5p1=zK(JplJ#bt9IqU5To?+E&sb;UthsrLfwB zY@k2pVrz5*(Akr)YjBSQv(Ftsk|Y6r26 z#fl@RN|{u+Hr0-c+Rm?#%aPT+8-{dG!^tKyIHyz4`#cZ1LXN-PIUSQGjYUm$4JKYN z1^W*dw;D4uISoI*y9CcJdKZhnTjALsNyTlKT?Mnnf+efI@k@NSaX#w+bVT@$B*J~4 zR;|XPGw#Fv58aK11|!~_Jr{+A`@uOWh2%uvs4(2$KNH^^JA|Si!R{*QshJ>gX{PQ0#!`R$}J6?Gjbq0zw`_GBD z1;AfYGAI?)n&`fV6zdf!6>{7??PgqY=>GQ*&%%y5vdg$ zn(*4L!&qBTh?-hD+qB*|aeYpYOgwmQJ}&MS3pv{rhboH=D~e08-C)JzPdtR$j7(pHs8A*%H3Wvjntmr5_GrTYQ=)=HsE$*g`=P~sR8Q0&6uYXyK2j;wp zGqpABx{T?5N^Z56KwqwH$W>5B00e6X++gMR>w^_vEJag&Ee;p##>k5YNCWL!Ra zJl^_jiK{;u*;ZKiD$fxYj`pXUT*G^eurC0*Y6p@N5-@Mhs~9(76biO&N8yg`7<2h$ z2#blsD-S=3M|&qAN+D}i)j@MI4dJi$j3~nayDA&7H6jHMJa`8~@VlkUVKJL<+0?11 ztggk4*H6Rt-}iW^=-vxS*U0{Zu(4nlyEcCCFuZuz45Y-yW9HnKvEt`79?z^J_w=ku zfM}v~q(LNp{As}x(rPrg{pK6+%yUoT;P1O(GMSN>l7i&!Y1p`NJBmMFhUxv%SY0h=>Sg1KO4#D&-1f zrlcW0Dw^p@GEn8!RVb@EgR941h);g{0jco`$VyHF>HU(^WjIoH(gVz(oPJokbP;0W zqp@`En;1S}BC>P)qO|M`mOl499?Q>QHAvOX7HDNsXytP6c!Eb1s!diXr4oe6rGP|& z`3FxSPJ(Yg`UqM5`l0W@fq3GvXYl@qOJEUM-Pb)S1%1*p@xzv1+DVN2 zgFg)bZ-^$IGZK$Yy$xBZY0#?Fj5{4p2MkS3jL^w(@z`--FV4*!0DV|EyKZP|#CN~` zj0fku#Ee=(Y%Css_XQlC!f>Q(KE3 z76UHNOkm3(dwZtYgoQ_|5z`|Z#){L3H#cHxuVhqP?Rcu-B;J@e8@h;aZ2oB-5|R=j z(dzKf-H%|+ufGQLWZbrj)=jF(;W{0QJQ@3ufY$ocuNTxdCFzy`S`;njj>*^H#XBEj zMCI)cI4yQ2nsm~XC}ixXw@5ooR@5~bP*{E(WAcVz#roBl{?b37QYdiYxG{Kr?knIN zb{so&2swiWgvO2PA3|SMyQo4NF~A^NkZwAU2kk)8p3r?XjM>nc(}(6 z9ojb+U%oOAI+Ysc)3q>{)xc6w52w`*iA)NqP6btJG_)Cs;N(&?7M?(3@o5}3p26pa zeR$!P2N~f%TeljyS=p#D)}vh7h?{P`4mP_3@4h%255_65=2Ru5J^Nzp#TQ}zCo7O8 zmta&@Djxpl=NK3h4ujQ>$RX!o>evyO`@te~(??+P(0ttg-V(eusxLTBimKQY#7({m zkVW+hlWNY>Wo4#?qtPjgllz3ij89gtZAsn*1`hJ`+O-<;}Y=b z)amG%mJYkafm0Qy5upoXhc~x7RAZ>e$UAO?*-B+VtaVKS+Im6W0L*#t3EX<|6j&=8 zV5@6{CMyxd;SIZr*=O#ih>t|%(4MILekU^?8|sQtl2D3NZ60nMe~IV7W3$;X_p6U_ z;nd04x_KLVl@(z`LL^q6sDgUKHd%nbk;+8^Kg z5QBR6L;Y_@V5>GDd|)P&G2w8MZ@yt4Y<0p(ky^x%9x(1Jfx~RY;<6o>G%XUp@2f{7 zpNrAG^P#S@!g8`26?HY3TkHAWI~e>56kHq)c*R1XO{5( z-5K{67Zqbg-3C1WSPqr#Vbz9m?A{^4<5y2Z^Nu4ZJaGhtj{Uf|UpgeNg5rW&BaS)c zIBb_er_rL(VnLtW91I^h3`&I*;o(}GC@IB9i_KkMy(@TqSLUOwh(2zioYa zEe@BdFgZr3u2*-DgRWmU)cjlsiChYsp&8*h>Cp8~LG7;x83>$0hUig!AyF$)_2cgd z&r64Pv zef>G|63rNz7{Tt{R9=U<`;J2!9*(>2y%*r^NJ>t^uAMuvdDB)XlnPvQ(fP>D?Zebe zLBRo>H|iV~y+GM1;K#24t69*|9AI$(Z~k6}YokX%C6O@z!t*k4=KG!C?M@co3?j69+jh^r}oyO+uJ&p;QVThJ% z1ptQhMA6pY5#20h45Z6WX6tU)S^83Sq9ON4>2XpEmEp*h$ei z_>B{j<8q-&je&l6Z+y9V9pWqZVt7InX8l%-y_NM$SCgyv96PM+|<>wAu4lI~nY$u$fBNlr2zUN{@qCJsbDT@rMC z(;$({U??~SyFm!j$s)9fnUIH?wR>T!ZxUQ>FUzUzk%aI;StzfmLe>@MpFJB8Py!;f zh#J$6odLX8NDHp>QdK3^dMv2ihH;uqjEm~YHmM)c2W4C{mVdnfm!!qwx!;Olw+qj? zaS{ohc=AyU8`56@z`c9&ScFs;3u_1*CSiv&_PN~#eDuCY4K>>xczJgj{uVb1Dv6u{ z(5zSB-GbGyHkmQ4&sg*tmd{-2s#U+iVY0C4l!;M@9^DW2CNmm-D~7Gc2&bhbDoXY* z@#+z5T^UoxqomwZL>{aPYHgiee|bU?I-SnT27CcJo_pH>w+bQ=K6R#?#Y`?AH69d8 zsohw}Yz2{u`hD*_4(-WCjEc+<#9XU_epFw4zH>c(-?te$nG}a=jA*hu&^J99vu3{x zwNmb)y^|5xo#kqY4M|)v8UZ72=VtJGcTkBMc!v`!j#r|&Ar==z_Y!n_dK|Xb9D^f2 z5!u;2@YVcfn0f6qNbEebVMJtN9#y;^QDbso*mDf#(i+IZ)zD-n!gRcX{Y{f4T{DuY zuBfi9lQx72`G8~IOSb_oi?#N5)fy$M; z;56GjfiJRSO@~jr*2*)lN1L63nxFSEPbhk9E<4mET|5dVizjO*&IWX39Qc+8H1z%? zz->z{JVm5|dZ}Nch~Ph>7mJD>vQL2y9#nuJkyXtv2kdHDYtE4LvdkBE_Lb zWmyFp8V#s(m{FIgz)g4Fgp}lX2I$Gsa(wsBr}*38iLf;^!BkQSr^yP5O2G`VIyHuI zKdskR+lYt(naoh@dZ#j5_vzYIxN+7a-qGK)BLRXN`UTPxlLanu9ZV5!MB31E5ErXwQbwU}x}7|y z=l=c@9y$MdsKd12t#&xAHb|(CRKjc#aXX!c9gQXy|B~v|%;wRa$K7`e_7xxY(&Joc zYeThK?I~hYgkTRczjdfcjsh{XX1>Kn1- zk5b&%Hx=orslcf5Ktdw$?-ZoFx{ipuaQ;6rCb>W2BBMb?0~B-=juCD~0P}Kay~G4| zhaHDXj^VyHUhpJvTK0NY01zUfBk~48qoil|S~p@ytIdurg}Y(3+Aw;+U>0<1^_;Rx zRom<~>^^)D-4m0Mk(>sdS`CxMf+MF+Kp!5CCbJ0iRllB&R|lli@_gY3x39z>}nJLyq<;i0ONg;b_-j9xq6cfc7m=hRl6O zyBNCHGqP0dq*k;BlsIg7et&#+$q>ki6BEeHaGDMhLZ@5mCT7BLSlU+_6JIayowcWfLA<{vGxoDiVej z@!+{n@fJP|Z8X#kK)Xc+NGb;ch^~+7KNw%XIm9T4Lp^!>FRdQVULEyx0*PKEKbWLeB zX0FvYKkRso>v}lBn@5}e9uX?vKT1Z*Bhre2fipt7% zGk3&Det0lg0Q|**!~;NT?Ka@6cE;Ul%z&X-IcGi`%@*ccyQvbE(+%ow zaj;e!(0sHUma%)iL1k1|~TSqkkU=pWkyFuY9qJl^?ck{sHi-0)hp==Q}+-Ho%_*crWbY z5o7Sm-7|3R?bow|iTfl&)e)1=n}F|s{h1Y0wQVE;E8qM8jwTDLz84~?)FK9DLKdlo zwYCxJsIbgRksru+h1!k?j!&7GYr2UV+j=s6;N}Ut*F~}2m~Uj zDRsA4L=5i1;x^2;-?a>|n(*cEO1!vfH})Mk)XMO7LhX2i7di zB5TLA0lYph1pJ%>S}TA~OMox#c;%j%7?9l;7tOfcQ@(fU$gx6N;x8KlPAWzGh3A3}R&ARYwd2VvtSNa2XQfmr_h8_Zq^RC4`rI$33f z>3AiJJhqhpX}E@|C6WqKBbpwG&~y`mX%$~?W$`2?DKTM)9+%4wYRx58u$-=C2HIgX zG50s|>fwJn0RHGKS^~rXKw|ECR}PDp+;im(czW91?8tu4?B}p~?`{@jSvPMn2rRq7 zgvR|R80X7e?jl7NskDVEDb(HLnb+f1L6m7DeNTb0w#8rdJBrYBq+IZ7IIw6XGsZj* zyyeNsLY6N{-Xr|N)JvNz=&9HG+FBh?_J#2+!7Eh zmrw;6oe2cH%Hy${Zo{+F?_=&^&DxgoaCX&|WRYl;tkOU~tQV?Q?`8ndH98Z-T{wsZ zzXsoWC97tm!r;yGmmxwM2IGNKFcy|D^+o-qN(CZ^WkZz|h2~=wXxM#}6^hZJj1ni5 zK%rVy_uL}%dN5r=>jf#5%78Y&*Xr5=_WJ#g;od86fazov<5o&|G!~YyB!|0%gsKcE z(XHtghl&+jn9omoMHZ=H05lj4h@HgVAIJ#(FM_{cekmyoPprUXh}GhOdy1+Xc&19leIqiw400&~Ye26aYRRm~IQo6F1+1XQti5D&S4xsj!io+gAQ%ps za^Cq^_U!DIlwvSK?dsbW0Q#5+fBDF9c)R-V&Y(I zZpPl?KhPt!TdUo=Z3x{&S*h2T{nK;Zdrc~(5_GT|(l-||k&&?5?Kpg*gt@{;O9fA; zvwILpes?z!0JM7Dh0ozV=KzI55wr~uyU{@XI=UY0wLo(PN#u^Y|1|(~ND!|qSW7?u zG8imzJL2xp5}qPSZC~Ep4vRkrfX-}8%srhUesBPYF|b{dhtS4?Kef(VybYGX%jd*mr_QEFDJRSgKGFhi>KrloJ z)HfuA7f-~l;1yaG6f6LN2T2t`Pp}cF(u6(cW(*OVhNJ&INQ~=;v zsORnJGMS9tY}CFU(KTBz1P?|}w;H$2dlG`3vn%Y}_TB(cQe6vufdeHQI`{H!*M#iL zdjLc#6pB?&r!y}w@!GykqV)?V#1bt~KXwfA_r{b^Qo0jkNu|r*kd+oCk0!aX^nSGBK zy;zV`5r9~UL~;es^A~d**TZ#9^xni0RBS)d6Q8|~#O37xJ_Ycli}0j+=sDLee~%a~ z+bso@q9PDKqKdjJ3c diff --git a/src/es/lectorjpg/res/mipmap-xxhdpi/ic_launcher.png b/src/es/lectorjpg/res/mipmap-xxhdpi/ic_launcher.png index 588e3d6aef1cf21ffa17fd5aa67d28ab9196cf44..df909f4b30e02942d1ad4f472945ee71c8858c1b 100644 GIT binary patch literal 9713 zcmVpe;*5# z=6k0LP#iRiOrJXS#8Q)^c!tSV_+?|*@Y#sLP-ie0ri)xflJFimq*BD?Kgk8js!b%> z`H3#z-x8*y^`41RVHyc~3#&stJ4X%gVI{NCgsK7+4 zPfE9$0R_?mke0&NQgNcsD6g8aJTt67Rb^3=!y3N&<5%zdE0YQ6g-8!T;u-~>g~zTe zvy?X6+1u|wHy8@V0_Q`}pJ?^bYQ$vcYbgk=@aGypBL8%2k+R}~XCnREzq5bm%UxrX zNZO5Q1t{jaOuU12-tr5N30o^(7TeO_&e!Qo>Yd@ zTKn{!FRwmI`U$!oG#6$j0(l()^jIqFR#R91wzUoXyE{&WCIp~^!831U=i#h9{@NDN z&y%XqVi``QJX&jBX3y6KPqLn?i3CVn5S~~#l0h%}i9DbDs)kn$kEl?5vtCt&v?x#v zAQArvfLztbT+^INaV83$YyzaE`L0zBGXbHN_$PKh|DJVXv_Jsl;UNH$j)SxUbTIxA z097r!rb!J^y~?AeYMC&$E)X-&bDoI+TJ!U#aJvL(MjSw*PbfD4$`yE0gQCra9q#x? zi~CAe>7q}VXm}+0Hv&}0A44Mwbl3nYqyjZ2Q=qiqN&LJ~GoZCEycw?lVvy`#}Qb*jAN%hG_-;chEG1ltp?n_*e^8lp^eD%gW>0PHWV9h|&J(ECd z8grA#d(Hx+296p8YHm-DYGtDTBv#Kgr!_&XFRiY3Y`$|2AQ^CS2_CHlpeqj17>{Y` zlF-uooG9-(1yHWSqpQ%9P55VGnNT0CdD47O3HOyVF_1Jkiq*ykd+~o!OG``bRC70z zU469XKap*-ra)7cUM1ZMlW|#UF^^grse7rl1QqoamNUrt+WD0Lj3k=CUS2dGr`R5779~L+^ABWhf(+3zGpyMs?DGM^AxA zg+DVr#<`|I$tr42DUd8UlMNm{FlJ)jkFNV_tN=LykQQ*V2~TQ8OFpWnwF#YT>XRxz zSp%r@Xl<=9S#Z?cmRdS`<_zg^T`A+J3G6u36ThXZ0D-+(8jaTqP`bf#EQHh3TvvlK zlgo{?x-NYnjt^+{R06?yP6H$Z%_ta&jUoe%x+*OI0a!43_FCa6K?;cVGJZuCfMD#gcC~rj9I<)D+1L)zrXL|6aS> zN+*`m8a(Tp&y-p9$*Ka$03^D)=M@@pYJ~~Ah9mfER}en2Y%Rq{4GgtHPDgpv($+E) zz+f`KQRRfu&gH{x9t4KO4l3N*q{t3)NdfgQZc8PxuVFZX(6ArD0XM?I@kSE&HgGAj z$?1T(xDeK<r!9;jpAjshq(c>%gh!-RvY-^pe!K*hDNZ#1@c=%)>wQ>CoS1w4=ioY; z%hAnNLSy7%;9)|@6NYfXz+CyPlM8G2y@b)u$ z@!8s8{AHgLx4cM_lYDe{Kqir;d0(4@xmVV3p_K*0Eg`&d#j7m%5-hprEJDmeCp?G{ z0>UFe3UiaUu=qV_!0^XyXnNp}RF-}vx7LahR9}2H9CK$08B(A_M4T_+69@mv>qEmH z^lo?=y|2ACIRP4LO99XmN83@)Eg8Igz*`#wSbsq5Witkzs|4hoN56a^>9%Gllu-+^wz7NSdY!CF%dgV{;f zXQV6hp#3+G!M$_GxF=2YELnA7YRzy3pauu(Sa?3xvRfN{Sl=f0GD z;SX^8n4QBRct*C78EX-qidlsbRM;Z$vKHEqXOvW&}1})gzX@@^>=!6AVK?t*Jd}!;jqOIEmrz3(H z(}Ngt8`08Yq9R076qTakd;w4;cPcPrs5L}@HbnuteYV6s+6RP3xfF9Q`_*xCEak@17LY5 zdEMIX#HweeW7~c)dxde7J&YT^-h$JQ??qFO6RV$}igV5!#FW}F`a)LRdv__eZxb7s zL;+evfM#7$PQefWQGqUh6OOtfEPik$AvPoAj^M*fo`#uOzkupgrnoux?iMuP{WyX{o=l2!Js zDUdWk3yT>8QGqDgw>G=6zC&z9bLhurG~mjqCHQ_-0Sh~fup!J%`+~6XcN2dfV9owP zlONBvi!E%ZBvXLY^r#DCtMtQ5o*f0q zY(n(~D^PjPF;RfFx1;sZS5W`M3;BGE0T@HJJn{^BH+`t9AuuTcs@TG3J)dj`CWy|jbGX0 z!f!t)!p&zl1Ui8!3Qlxxa`3N3RJ)PJ^`xr6K*qn zjBPrG3$UZbg&oaKJo^U++S^85-eLk&_pMTdA{Gp`MzHBp0yMLj0G&pF81T~VeSFVCOSeRkD@G z+QjPx|IvUt41Zf20^Qub_h6Ggf#i?;DQ6W($a1aKj3?(#!3>KLem>kSE&W(e-yQ$4 z^5OquS{W`ccPh32!LC8v(b9(iuP@_u>lQe%%t3?myGuUtVJPCq6UT+%FbC01cy8Qc z!KO|ljQqZoagTvN_YSh9!t0N(@!${VaUU#2oeY?L=X}M`Lp}rMS9$T=wOdha4`P_` z-1evGc=~-R1`BH;TWt?qx)W22y&`7C4}Uio8$T??+8aN{3_q$H zkFt-bZ^Wf021wW_*tou)--=p&cz5SWA6r?1Z_cwGZoiqD|A- zr_y4^>iQ}iZ#S`Khw-Z0hy6kNZ-O9TIIYBl=@z;sx}ksD<3W(B^T6T|{~f}|9uv-d zRlqr#Ui{$bk|`c+yqEx)Lu{oOQSp<72VKk=4SiU5@lM4BHul;T2E~Mh!5a&mK+#1-f^=;|bg_Tijs0sjplInF)PDCX1cc`a z1^V~9;p^hNQuwh}mZR?aD`BuZmG1;ZVTK8c3em;xzw77lx3?vK(ai|$Sp%r7;mXG3 z!WjLgmNCK;Giy=D_Oy?MysEtm>w03fB5L$$gzSl#HJHsf$w2p{#4ChDISed#LKWfP zg*&xF5La~ z-BhLsb`IF_>Hl1Mh_SCetra(abr)kH;O*VTxOUBaJo2NhsIBp{rDw;jt7l@vrs5O; z%_2a>Q5V)CT-bY5AOiI8=arUOBy2&*%e)5(4}*VSyBC9-53nQg0D52FNg%?oPAS3M zJHE|(h#1I7sGdRJo6**l=!GskdSTRs(Msmh3OE-ordwgk&pjRN#9i+k}1705`q_Vn0r`khPA?-silM?b5+ zu?Lr*(#&!*;PqW4xPJ9K0<;CybYZ<7J8oM&O93cZKh{wf)nWGKC3Jxdv>5}v{>=}f z0IfNhP?_k84A^@cvmx;@BIyX zp5x+35&!Tg`@*Rx{rne{E&^Z6KD4b{%k?jj4ka&0}W0x9s2XqJ6D&n!c)PUa{ z7lxf~sfPi|^;=EY$lz7jaSr>0_(B?NrZNep7FKxiR{~_@xhyj*ePBL1hUh-{-O}kE z{Qjz~D6j@F;5Xsc7wYjpf3JX#LoN##13h@fcFd~cxD?a7`%iUv?Byyva?@ti)CADu zwc)mhXXB;66~SI;K*Q-4*vrk>zR{0-Gah-B?Ras zMS+4e!{!Uv+uRdvSt=@;ps*{>SdOV*XB@=Voam+Qe|rnM|MWV8LF?pP+Q(M>$$Q+=usq zJ-EH90)tw%-olSVF5(Djcq#K{CZ${yKw!&6Zfe1s;ZNTR9)d4aUI#7Gn zm*7}9J38#aAV1hUjG=A2883NZubl>4UA@vuV+~~7(}9lP{RW<87GpEE?n)_%kZgY$gZ1IJaXPZkkesOG-scj4!LB68Y((OgwB#6Fh_$ z2Lrf{G0*@z7Ehtu|L-M1RI&px+Q%b)ivAn^P8e?9%8tH|Ed(rr`_691*A{duu1fR~ ziGZ4R#?f~+pt{tD2QT~tb1H|GAYH^+f^CIyy3irUCqI9-9_uz%qmsa`{_$2+SJQ?0 z?702Gnb=5xrZ*Vye||=Vb=cq|L|#JUquUA@ZHoKq-3h$$y-yGr4vr|$=b`|4jM#kM zC_qVj^_dszv?p+c=zASgauy zZUpbKm-!;4^$JuL1@QPa+fn6YZDx~RfaoS+15})!J~Ib@`g@sjUXd$^8!v0Z(G3IG z*X6*fyJw=cjga!O7N2Rx(dSZSiwTW|Ac;;!c0%?rMt|>)7I-?My}~A!6-Pfz1+s~z zHn9EQHZYKm4lbu0b5lAw`JS(HSHihuAp>Z>ZGyqFpgqjsGQw#b?mdm@eEK=65-WpB z+!GI0)&MG9^sUCE8X5P6oxQ(P%{Go@#*HhDJfN2VwFKE0GV;U%xN0`*XL0I6vDv`! ztq_~^K{T;b(Jfw|Ip&7twBtO!Y^s9845F2{ci4cvj4uOm(`m$AOF4!$cZ#2bszG!y zP~P5Q!;okJjeG=vbJ#CbSK;AMMg(nrR_toCqjzYuSs#O_vMhkUK{L8~Mgwlq!ChEs zL`fa{b6jkSv)Mh=9z;KT&x7vR>mZ`Jx0KqIBhcex03D5gRN;wblmWd(%mrdaGZwm( z$`~3RMu1KGU|%#QN|j!sN}lroC4x+C5O(Y}hhrnpsNs`T-H{CGo$`??ZE1MojG{Lm zlOCXKfumN-W#G{Zfm+&0-Hnbp+bLm8@?}mdkXB$uE19h3sH?_A!=skIZnZcJYt=;F za}prE;K*Ym2aa0ds;NT^Xx$K`FoYi0rB?-0~wxzTH)t7z>uB9~`rDuofi`&rmDx3b@ht6Ek1F~9N zmoZjg zN;_XGJhIO@sQ^*~Cx*q3TyycS&Qf-kvExw8HY7wFe1o{5>j2t=iC1;xy4zCAU+Kv+ zG2^C_qth|O^bJn!2y-sn_NyL6pnv=+KUx7(1&4At zxh&AiIgebS5suif^V;?B?LTw|!>Ef&rNpWGv~m(4?YJZ`088l?u0{BUwFvk5S`py{ z`|FC?-Asu5WEyYU|_ol5VuT7hbb1+oGUGia|V!pvJ&z&?{B>7457ZT4c{&)?u= zv6WoaYR9%~)-etmuRwbGd=lZ7br+TqXq3Qrw8mICHn4!}oEk$O3~`S1LsRQ;c9Dgn z<{a~(D*d!`5bHYKN#_B@8%hlfIb}*2cB!@slNGjgiUal69}Cy=snOM`1DuY#>TekM zpp}aWIe(k;sC=zG32#2>0V+P~ipJDtRsU9|a78Nh96Y?Ex*VV8+#7?*j}C($_jmfR zrbWysO8k*cTkSkGmD78@rNl;+S%%^jRgCk*JZPZxmt6Dp>~=&rn5WAfj;V<1C6L9A zM7;p189dQLiviK2>^7{S%+KUf9+(4g^H|dnz@2+Shs=qVQ55-eCPsN2(+g4me;32K ztekOb2FsK0H*{zo?>>|w(}ZwI6r?Fk+yYc5PHKzhK57WC*-ALp{+{@Denb8x*E zgKH0`e5`GY;2ut!=p$FM_mDYHtt`~iNO(PKf@^Lu>c6u9&c%#*I8i&q=6cUx+OYSo zca=Fjy3*C5JXsH-)c{g6gqpl2E5HV)8Mn_d;kZ(+BBct22-4FX5&W{zf_J*&mn)CI zgG`>(z>!g}L}{2DW>lV3f!c4*hNW6;@4~4VoK)8F`~mF$)i$m+jm{a;qdqdvmCW8b zr9kOCNbCXC3Q!<2&t=3NoFD%w&L{+9A`qhH0Ov06vg65JoDnEy?Tz`!Wm&Q=sVY_OlFd2JI8{GL-&-O(*?^uVKbomxfBDnK%YqV@o? z;EYX&^X##f3k+A3ySZ+i5OJZQk+Tz@Yv*jicN}OPGQ%V0u1d;##^K?uErn(j&UT>T z=6Nub(p`y#_nc7g?FeD_UAxfpM%%&1$_6~*=2-)%XyN6JvT!6jPo~gPDT#}d0>54# zz*Y0zn8j730wSSC2l(UpCI_C{S%`nM*$$bZm?$qY`B1AY@oCt&B)fc>3)5DXq4*ds z{UPnjYE(|#?|E+s&5!TLz!ol19+|hCEqEp+Kr)4u9Juklt75FRsvwNpPZ-2Xu4y;f z7)=wRAcsG?>DG3;ZTP`U)9~>Do3fl|Jdoig4cm@;_oL(WP6P%-#2>w{UU<~5Re!4J8IwkVG7ZjnmlnZS=6dnnrQMiO>fr?W zXlx`_X|T+}f=ub)yKLe1Stloc!3*B1#xVR8{hs+2bNb4 za9x;~79!S-5hSrjjALvJNzlhtsbXbnU%-q3pPAdd7`Yyd%Wg%kIlORLv)X{}f} z3sB*L^n>X5htp#inQP2kOnBm~VSKTn8_VklxZ>0cmm|o{76=g!WrGYcdqP=M$i;b7 zn*akV?)bvL5flzH1Q-B&Oms)$r;(dWanax~U6h+^vj)Qj=olzK+dd2SePqVY7r9hg zMDZy;dg0Mq!BXWVYYLPuKr)4&=)tvK7q5;kt{?j>H=SBCZ3vace$;U7e0{YCHI-fh z72*g#RfoU@xRzh2Q-A;k36PKdHhu!+H(I!CXlYb>000H7Nkl(gR2=kk%6@2LreN$6VstFop*nFL6S8l)5F$Q0(mz&p*JW!Y9@HsP7H3X~2o zGVUU=dy}iXGO8n!2bpKgHawFGAQ^+I6|o+JYq_rsJTiHZxu;AzYWB#)_c`stWDF@| z1U<&qdha6Yle@HiRAARy@T9+WFVHYhfF&1PmunZSyLd#+|0Ma z(lM?~;T_W2lLSX5-jNN?(|Nx1QAwP_KLtSP7&hDBOlEkp>caFYP&%;4HjNXu!ZPfx zCObGW8%+uY$^WZi{j8X(!4oeWx;ew=acP4cFar%BHMn8=E! zHSI~SK(d9C4RB05y-DrSd(_{7gO}tl1ycS5jh(v5B zBITR4l)gBZ`&IBI=zJ|Y4_CqL3*P4n^YV1~Nf#Qe@y(&`O)lqJ)l4qc962iz><%_P zam)xn;tjxu1t9L0gF@Hr^Pb~IN=sx-F^aSl+$odQTc}zTCmlFtZIbQtEXKfY&z>hw zVLtd?AinbcFaRXpb*(5+(d;kX#usT{l*|a3P?xc3=fTM=a^^_?6W*pj+!&`oVq>ET zb75kSTH(U@wsttJmB+0xxaO_n-ns&)3H#`UCaNIXvz5;MwBId@SA+vzYq;gR?)|U7 zFai)a-Bw(fc>Rc!<+Q{=;z>meBo5)i9I#B8YMXk(ZLk)f#n%dIO)IJ8GEsn9!O6ru zvxtI@Ta%B#;D%uDJ2%4J+R6k(04-dYP@lwm@+G*7)XTec>lhNcT=1!IZFsV!QoDkEBBBA6Bs33uj%y`sWW zP_-~(tNItC$+j$FFjevI(uyQw620Jvv?rofD3j+bpF_n7bt2;b&=}}`Au!zhA-rAU zwbufiSllDjM^o!7_Dp&KiYbw3k%@RH29W?t9OCZ+9HCaR_b=(WSC(x*>2EJuQsRgO z#-fEKU=fE1n8h&`9;wz>Isl1l1q`vCX`w{1roDhk95H|dM6q)xeQ8X>2Z#YA+>%fj z0g!N2u|xbj)@;}0y3z$G22o65VnZAPrr42JpzIMBuOb2raR?O>5XFwzkVWi!ky}mb z6N4a~$Bd~>Jar_BSDag!cd3FZMhvdTN-Pn!oQ<0d__ z63hd1WR-WupEeIr#!Y%;C71{3$SUuQKkfel9Pm&GOua_u00000NkvXXu0mjforPyA07*naRCr$PT?cqnRoZ^1_eoDkFAzcxRgfZrh=7QIy1MpXU021r%C2i$-KOBW zw$-(>_O7grrYK79At3|;q>$c|nM|hNf4_6*PG%-EnVA$4cD>ItPhjTUb5D8C*T3(I z@IQ5l0C4|PGw$!n(u)4qUq8c!-{SsQhyMux_4+-RXM-@n19)ekMs*e&jdwQzMw;PC`dpMa^a07U(G ze#EZ-)7bm!8U44k|Gho?0>$|9OwT41o}SE%);#_-1ffDrTax95q$dzr{DgXqrZMRj;jV>0Pq#ZabH@k z)`DZlj`?@-(MTU&`l!T_&UtLamx)oM3MrP5Ce3JSh)fykFC zg++yW10VtpeWbHy%{tFyGQC<|U7hF;G`(2>&)J0APapt<+fRU#?RTMj-j=8CeKEE` z^Clq4<#K0aWMpx4bo3MX`S~9JumcDRqChfbPXXix&*aIICs{0(k85gb5wPFu$ZU)UP!OHh<7YwckpPe%|tv&-hR0W&}Gp{MfzE>ggVzzvrpd>c-gE*t<(gN$nn=12l|TwL4-RaI5D0I;~I zkf5D~M1{fy5YxB-5P($K+1cN=w6u&5g>Cf&K*3LTVC^$hw$YPuh1z$20w~b9!+oYs zr#sQo(lQM|2LP*wX4Y>2BD;dD+mBePnqDFE7CRLE1U54OFbxEb6Ms;B%z0Mf?B#-0lHgl?%4$1ER#h2sF7 zch_fcHZ35_bS*(Rr`s14G)v*MhSN_tZ36+3EwK-&@a)&=bfy6?dH^V7IVfBTr9snYn(7*yHm@E|T!U*kqVw?;Yq&?jP zPjH`Unq40OD2OqLCxQY6QoATnX)wO)hkABvXbg7)J)a*A`|2r(`R8@cD%|lh*~U+X zeyII~($2I0P})14&I}g?B0>7JP#_-wbq+Zg_37#FOi~IYt@g9ivv*+gK4PJ4XfReC zP9LF+eZT+|6BAR~y(YzLC_z*ZD&oS}fBJB>Bax}8P}~wxDr~3}Vlep5`pQTcZa@4Q1(JJ0TjxLk>}LSE2iL`rNB|Ok4QhrAAyP3E zjcg#PMKHm=zbHhY=l0d}1{Oe}Ag71m>5awKmpgVRc=t+pcHP`pn>i5u3@m{BtiG^W zeL+!()c2I?^u%}8(`TK@ARLqc3Z{hxV+Z~yi0^k|kqA!8aOgu9M}Gl`z)Z0>a;X$z zi5OO^4Hm1_YwQC-eQ3UCEP#S(T7f`Dn-QtkBR(b?HoF}LV>^uPCYY@jS`0VN1{zp2 z5VcZ?NWBhPO6*gqpi(Izmr2oXGNYil7$y@%l6GF<$Nv#&*;-Hlf+jhK>$1`_6Zf!(H_5a<~GGQz4ThLa#&W zkOV~Nw2bnI$OkXt!{-!A6{Hd|_8iPdS!HFwRB3-WeB1i|%kb(bU|ErnXizHn*Uoql1AdEcWEmn1fMC;dhBd z43$EO#JD)bMn@t-s{@H|0*j@;VzC&B$w^qWWHG8vRp7PP)*%1rv4G=JDHIr)F%(5* zC1~%UNQ<6Ps$lc(1kh=AWds6HAOmx-%?M?IsEtA{$AY8g{PfdLu$n0&#g)$F zijWnkgV}0DV@oUQ8XC~t+Q#zr16|=#C*gGKG#Vtt#3CU+7HWmUm8ZrJgxaw5d@(R~ z+*n+D!!;N>EE6BS{|TO4{WOYBlmrA&PFf~b-F`0~e(6~pI>7_YA6u78Wl$?sXfd{h zl^QL~chFIwo@img*p}z!%A`^(I{!R8^4P;DEh)p7|Na6Mrz+g?kI0p5NNj`lj!wVb zZbMT`8!D=6U@#ip>@A$<`T~#SndF27WF`)QNGgScp6hhF=pk=}pl4J5)rc`8am#Ht zBP}fvPKOg~UVj^_|MncptEhNJ*NZ@L^RmnF=#4Az^oMWZi8o*N%aWCH1+H4K1S+{4 z|NQ)eE(au(Low(8ICJ@agom6l`O*Bh{X+YXpJ%>1KV zzBZCNI1w;1N{0-+8kh?Q!r{>y5-|M9<3+tAQuX~ZHiE}1hQ zkKS}UvXWC#QCExW|9n5TCa zMXN%o(S#3=R%3T%EsmTx$=I7`UVk7qLEjTiQL9zR&dk8nj1*isJQZW2b&!iisIge_ z=&qxvGMFG@smvUtayialcmb~X<#I&owK!gQ1eGUCFks|Y@M=^KkyT1W22)mDLV@n=VV}U zMgk(FVumW7Ws9++wi&x>ny|gP5h9r!7cIRQ7cX4|twsSuTN}1-`WB-nPk~gU!-Fdy z#8(@>Lz|JZY4~eIdM18^X&S^!$u zjO1iozI-vRy5?#e*s>9mW}l1X%uJ@zAJ~5gufFs;42|`;Bs&?)Gm~6$NhdkCIPA!4 zGUA=Wa_l@=j_SGwCa;ijl8NI^CoFlDIf&=(u^9Jn5&qML4QW!n7GObF@{_k(SLIF{?EG)>@_7Q-5 zU>W4Up|H2^+R&imVq!3R+GPCkiNB!!R0)a?9l*RxE<;3gBm>d@z4=)4@@u#`BO2qQ zbrhK0sU5jwlop#EFBG1_p1L+ztqw>;A|}7solbTHiT#O1R0u$X>4_1zVpuXVbSjXH z!XwgKzUXi|@yNasOkS`6OO`BvN+|;;5@YXATX8%u56f=)6_hF^-dghx{`t}x96D0O zOb)&mQP^?Aa`3^Q{*Ls-WPHDG7jAyy5mYzS!Dh3ur&1f0QpMDJxAD~HEQSIezZB>+ zyE|~;SfSSm&pvWkO$MOdLHT8xP%oALgDv z2PRWH4sPF$hMH=OnluIJ*~4J9+40FopCfP6x41Jm1L;~7L?VG|h+wCT5zYyTOWo%m zP5={T&o2*Aq9%(SRYo(i^eSj&lFk$(5ny#V@zL>WHlUHi6e$Kl<( zk&`wj4K%Oyy-458>3C3wiJW!9h!H z{Wxn$QW8=G%ME5cb*L0K{B|XB$K~+UNi4;t&(<=>>8azzxa6jrpwsKId(Q!^`pc8p zymbdUES>U?2Q_eGDkdTd(Gd|SE-&S^E{OyePM?iimj4pd$4-DkCPV&-V|aVrTKwzl zwPTLg@p=$K&OoXIzZ{%?hJiN@$r~7eJcL^*FPXGE*f=JH8{9) zJBE*&gxd0x7(IC+bWu?#I&uQ9{OuWBn-+obae6Srkjwt#&RKKINUl+OxH8PGMOA7efSwxt$r3KPn}}2 zi(qsOb;I=<4Sv1!3aq^PMrc$j>?=Bq)o;JbsE{B}h1yq7S(xWO_8A2VmD-RIjwb5q zHKzd$iHU>B+~IYKXmcfE2_w(``j^RM%qMp1uW!WSB@1D*+py*9uc%xJCeECVgv2;T z0opq(c;UHMFubV(7iYw|Sd>qus|QsgF4rj@d;Z6dQBEYn8%3v3n~;e+@46KlrHm)< zVi8W2mgC^IZ5TdoJaWd4VeXVaKKeMm_<95C8X5z#ukH?-Kz;vw%iWkVaxCtC`mZQB zSsZp)2s9AI$ZDLGl!{TA!;lai1C3GztIdiIs|B@<4JfUt!m;vF z#?K>ldc3#cOXk;^JaP=OQ_`VVYhW~YpsczQ`;Hz)O=E-CVr8bJ;L>G_ao2C|fL5c# z-mP0vw0|EmM~=eenKPi&s?lz;;JIgC!tmxQEYBRmsD_<$qRP+#i<3i&MhTTf!ZzJ~ zF_xsF)yvEU{q;naw=Z?;uFjqHwlwRjz&yG zB=ca?)nYK9;N&qp|M5H6xNDo6{F5Vd&WyA1z=QW;$%Y8Sr&Q zGiq(TK&|2&m>#Re+>{vTZf<4m+e`Da0PsfKD-iO{dnN+0cr=tobM2{^ko+VEw|qclc5bieDOKNG8txEun?MvX#DBE`!QW3#+>9B?5J$O4^3vwosx^O z)20Gy9gY+iW8K#qF-76P;`BI3nc&Q}1&5jp_^{558FS}g!sroD7+Y~X?*KOJFGQl# zimP%Gp_0l_Y%t-kdyZrNvL#rwXdcRni&0j53@K^p7&CPmY8x8y!#6o{8OeT@y#wC~HzN>FQj6RZ|C&$5Iw!vw!fwMcAj3APT zA(qP^R>(jJ)4mtyaKh1UhSO@tk(zRRQ?MP^oxc=GG4ZHvYQQZ|Jc`Zxc0wtWBRx48 zV@BuTo_p`anB37Y84ajARf*W-BuK4x7{B=pQO0J}beQqTo)ft1;`1?f>QsoMVt6*x zRFC5a58#C_zsGMz4?(JuN~>VO8Sv~kTX0#j z9+TrDn9#hpz6EcTG~=opu7k?afuy0s5Sy3)iByI+-*^YcvPN7sYd&McYk&L>Yqxys zcIeXcOja{mjRwZbqjY*kWymqwZZ@H*wG|c{#Xfa9e`Qh`;-jLV*XkGrC$|XMgy>$C zoS%cc0vz-2a%eWTx#dg`u=Nr^U5q|{?bn@lAQ9By$TF|@l7VQ#Gjb>5#g%_RYQhjU z0f)%~b5#?pH7&5Uw8LSsLL?SJB$Ys-RzMb^fjm9}iiAi8DCS$T+R=Wr5~lJxI7~L| zXe-56%>}q(_9D!kcs2thZNRR>dB`0$0%=1MaqwgjxF{vAzv&u8P^2OU9653fo8SEa zE0Q$eL{7YLs1%Jd6&}6wW^mE5*i%r5!XrnqI3*5|3OUwn-wSC|Jx1s?Y_ZGR&Dd-L z{_&>=Au}2ARcjGL3hDLh)Yl7H;>~` zSX7LcpL-QIo_8^FhmLSloug$XFq)_|A%9gh)S;}l8Y9!QkUk`dMKYQ!CN#9P;%Mnf z{B&p^e%QC0#r=%T$ifx#E@ZM|Qd~SUS`sjilpaS)d?JQK$GUp$6#NN{FMj?3J|elv zqcA*xUIM6F2IKy*iy_e$Ky-5c{Oh}L)%?W}ks8}>K}Sgq#A*e^GAV4WCYUQ5VQ({0 zkPhFmNCdG$3VEC!nw%8Kqjl&gsYTnt5;$EB&b9UV*k>=pnDiW6HD@W}BBRh@;X_tQ zl_kR;ITByr_!%y|Y%ylenu?Y-BVK>?ZKTze;zZ3-q}e5X*Vt)ZWsL*8L}8YjlNN2(zRYfyC+% zF?kqFCu-1stjbNUSC@Z}_~9Hlrx;@rren$Uxn7=XCPO(K_;%k8d|$K|x7>X@zFof& zZF&1})5sL)rD7)1Jb9o5=I9ta^1wDgSEB=(nt-YIu)bZ_rLgey!gqxzE0eMr$7XZWwX!6Gxz)+dW{yg)^;@i zSO|NE6;hR)Es`cXku3&YmdZx7>@H?Pvgf5tje$BV5yr!(U}8kDyfu{HlNk~7n>Y}rMmfwRq({6~}9w0<*oZ{3DzqjHcP7YB{q zf{Ln2Y%MwtdAk8uW+y>Q9#}UY;ZHpI&OSU@jl*>|Tpd3J=}MPEL2ek0647(VGNrtWQjwcyo?t+-)qJaVJ;F2^Zv zNv<(l@p(xNtP(j!PoIhJcJD`hLo>4z#YIP9&IR)^ZTeIc9xi}hufvF(p-hJ%hwQ$+ zhw$%D*P^1T8fv*5Dy0&O7S6{MTPvb!%Y9;vI{j&lRvTU|szN50j#&{|ZVKcHpvG?x zK`fUr3gWamA=N1nb@m9zV|1`K8`1RB5jc#LJH{~zqaBqB?Z^~Zs+!Tfy@-7mIb|4> zDY38{JJ7o4I4m{IY`sZ{SHwji`kc`a$)u=nZo-v+xDT86?({VuoIU`#-jl)XKsueS zR45oh0J>(u5@K3A-iBWl`k$P*$Nn`+y40;bYh9$*xUBM~8D zN;V`K1xmIYz?zb6P^Z~&=l|s(LQR%m=03;CDl^tRSBaa?S%$O;BUtd4;ZP~^@($sP zhJ9E$J{9pAxtp*xnyq;4NCkG)wJ^isb=O~y36mzlZnrXO6CD$crlv*~oWEnoUTCx$ zT=9$L$Q?f#T8#=~2?flHP*G72r_F+)L(@rXX94uwmQ4^HI}A8zp8Q*dm|IOGg3SSZ zQ(lMsD&X>j$6e6ePK&+H8Wuy70LSE@`T~dt_QRj|< zA-@bAWp!>)DpO*h%1nSrDnjet6KvhdL=rh=I21!77**Vne-M{HbPp=(YJBBuzW@p) zOt4on5Cf3w>IBez&?uEI02R3@5Ce&fPD?guvQE1Lt$UBdT{3BQa%M43shnvjo5PVL6mXqOc%)B4TEYhD0fYwZ(|d>%YUP_Cj2f zlK>@!o043?ad`7s71o#4!Rl~8u2A5jiSMd%|~c59o#0G(Egvu8|0U0pr4 zZrKW{RD#sB6vQXQp`oD(27?L9moCK6Oj6Nl=}3sNf!q2$M8^uiIUFA0BJ^}Iird=p z&qI~CHenVLWLhr(iKP-W?>x#(93(W0d3n$oIm9WnkZM%S9>xS<5!f2F?kQ%r zG~pta6)|ZjNPsrv1#(4l3_wKbBXTn#(W+Q~dB=)y^_|`FO4*&ol07*naROIoH zD3EU>fB)|X3Un{j3MK3$18qCPChDeAaw+uVGnuW&SXd5AZ7Z9oDm@OWtRd{=Fjb$) zPle2S?ckg^+FpwGZsZA3hx z2z*GHxb@sbahU)MRVN;~%_&3|$_m8?sm(ntmu?8ZBLdRoOGti5<)#QHYv80wTGL zS+vP}Pl5S9(GUYD0|_ilB*HZdFUI4y-OG%7{$wCJS(@x5Ciu~@mg-fIMeCSQEnIE@ zk^JNVz5{I)*daL%tIPpQl@lw|=P@vl!BRUq6`B#LsBW&u>i1v8ZNsCGu2$gv;wpSu zR>wdf__k<)lhac1=wlBdE{2blW_euf>g4)-$dJn?=8nE2f!w8{2|=x7JfyGk_XFEE z1LPTJ{gFHb6g3<1TtNkH9da(>I~WN zjZ|a=$@PL0UR4c|+L#99_=B>u0 zBt*>~gTveQ;^mV+VD|a*u=$$}xG;4B7A;x`nOe!l++I`(Lw>1C$mVB2ib%{kV<3y6 z!V*qc>srxXT*WAn(`07KiLdah8=DT@SRyjOJL|u|ZL1&i%IY|c0P=RGYPH%fLi7_W zNR1Dmg)smPg(@wUZ5vrsDTu7Gr5WuV9T<_3#Zp^%>g5d}$Rub=QQ?jK8=>g{ZcUor zi9eEU5~HA-kcFc9N~~G;F_I-_l(m`AXtu#*wZldmD*{yiVRg$dS%yn5y_i+V5D1OH z%6Q7b15Nnb8C@nsG72n1%)A$+s=*FHw^u#Z9-~gzwgWi#^|M#fposL`F&~dl5I;!i=rkh!KA zrsFlt+E1c@A|ZClbKWb=P-<5#$K)uSvq(c>Bz78Wjmh@3`D z8pZ%*cRH|T{~mn!?Kj9PK8iV$rs5Abu3!}|`~isW)lSYro}rql{$q?Jzj$CsEM}BV zJvtS~o2v2V#?O(&8F9{#XjGUiC^48=&{$@)9%n7N82WMJU2?8)UR^Km6+&H^o54-E zI;oHF%5K5j)6xw5xCyAO1ULupf}rXk790LiSP3N;hh;INp%ZtqX^C11!>|baWAi7N zf7ykYzhE9qY<%&l7mz5`WBKg)kV|AR7M_B!puCfU(hwzL=yEd{OKRFu09!Kwfn(pR zG7_L0lg^%RC@e=uNgbO2ft5rDy8iL;J6QSrlWxzxYldeAfS49W07{Kzu{;zUw(9Ly zK@~J8@NCuX_jLu3Ab-fEh&(GB%H&vP;&0h`6t-rAcWRbc#0+qXp+m6t@K$J>k7IFq zJPV7pvg`{$Di(u_i~(lOg(xveP?lW6v?n6@ulPC*JnQm`wIN}-wg%Yt1JFoz6%wAQ zh=UWwttPyCq7EWiEN+;19+c&6L~dE+B;3<T`E5TZi|08<;QwqbTSP;D|}Z(TbIEn;NGW?`lz3G&ov zv=o*x-x=AkYHS7+*c%WrG8Na|a5Z8gdBK_n*lKLYnwQ?hXjuZz9Xkab6%EXyZ>etu zvq~}{NW?7H1ZdJgiFK3F&{EyR42~2Yqn|R2`65ZpS7pXSo0H7?Cj;WukNy@v9o#!O zEYV&7a%o{C0}+56Ml(#ut37;OL}n$-xFw6yF$%;3=rveu7B2wt_f|21P`F4_QD+We zb|SinRggP`d_T5kBeRtdkQh?r5`0m*56+GgxH>xta(5=FMSuNo9?S!Z(AFx|tvpaC0z74zUT2a*6j&{f}eau8;#w6n4-hHqsose{x zVbiFgp_uR(J(9Chan@NA5E~Q0jO$F~CYvP3VdMJmaro=)xOK)7NFy}NFledfePk@P zM=dF; zbAhRVGLTZmhZ&GO;F(j!)NbCuM!`+~C=kg&!S40kWO5y_*dhlBj69nld0_jIe0=!r zr_3faf*iO^W^n<8{SgBiEwE@g5KWmHe57Po0J&^J47C8))(r0J&mc1JKD>6D6YmsP z!|AZY;&7s>!-{GP$1LEPY8h@GnGB^w3NAGriusF~5HFQUAQQVBu&!q^fQm&pbm$0P zeC8$mxyBVd)8fVYH_~ z2I8wVc~z>{Xf)nh*uo`PwPGdng$27PHicv$%DQAM?80SOefvr#1Npl=Sqs@SC?}kv z0F`n%OStpBNXz(W%LZ&M*pFh&>l5DH#hXgd?xG2zNdG zIQA741lpF<03iN+1_qEwgav2M!mZ1%bjRa%2OnH3>OPe=k~XHZoyRx8MAWhq0AZ7pc)Fyd5wEo$4EA+?(D+{_VB zNL?0Zn$Fp?AsRa&00k0q!gv{oEy1pBz`-4zDL<|x#ZF4gvm;I{#!prCSXWYy+s33J zRi_42T3|>rFm?ivnBoo+6S^h@nL12(a@8|Pltdz4AA`E)CZr_{L3~sUGjUjnZMq69 zc&<}beI3hUjgO3Gi3XGkO)}5Uf;?7qic+WO;03q_9zZlODl-zTkMJ)`c<~)xAZ;}n zSr9q>Tez33%K-u8Vu!Sut?fo;L!#huokq)IkSNucu@$o!O|F6iOrUo-pw?=TotBJu z=I27mNIQwv5^yu-Ks-8^*P{HgFkS|t&1G2GxwR8Ou3J15q|Tv>#Aq;E@W$bCT$q`F z(a~BLV8p=W8Q^j!v$A*$c;pI^$r*bmD-zXC+_!5#w(Q))YDrTafY^vgP^ha#s4wkP z8HDU;R6CLq8HmCXfErty(PnCAeFV7%9zdQf#`oXC;6n)y2y}0t1rXX3JM$|9yI4bX zR5T`!8i}_q7zY&rh+GmXEw~GpL(Bru`Kn@`-V3+Ph*W=W8rbE z`~FAPpQmB7yLE60Nu4GMzsUC6LmvVt@Gf`D!n_EKtH`BmKYY$g_h%tcUQ>4qN4$UH zh%s1ncBgy8x4l}WM&^)sEX;`GqZF+j6mkd*9}DOrc}l>D60gOH6civYCc}|CR)_6} zz`{gQfP7o(2yn^>IEj6Vq)eEWnA?E%29(O;P|Bu4HKk+A6@s#6d)f zfz1s7Ro9Tn!P#wi>R>T`sBFT9A9w%>S9fa@?z;J`PaguP%TBow6%;_doJ2?q% zp#NKZ3I2Z9?*gNfG(cB*6h;b|YeU4UXmq(q$fl1<4CrML=@bl9Oi13d1EQiMKx`He znF`2NtPe`*ac6)!?QmGl5X;qk3X|JAk97mP9#Zn)@D7LVFXACOe?wqx|^&@1zoe*eL%j*XYa!px_(8-0oG1kTN?u z92{01EWz5mqbN916fkqu_qpBE^`O5FRsaPaIHf#S*46ke@z&jR{hc;n0FjZ+T;1&L zGnYvqkJU4$BfFd&Y=#b&6~W@RNx+ecS!fAmFwkELJ7Lcw>ZOnX5ptl>%xq4=22!Yn zt;xvZkzseTP*fJ8qE&iD9FW(XVtAMx%wpszP)D1)$`I?2ti?t%{+3^cPqywxOUW7?q*G zGmU~djL9cO(SY<@%kE={nmU}1HY6G7@Or=`BoqjqS)icVfM*U@;QjUAb$OeQzqJfX zTS99P1_kowDz0?3ke<>l3kyXHqodl8@tbF#z(?P$@A8Hn7GN(DVN6yw z+S=PuR#Vw+5duK$@H+Xoe@VI2;$*Vb0w4<5dhC61j{8eo=I#+gj{;vP7?BA*xQZ9S%bW zV&{)%!DF1+2+`s7;7l#NHNnLJsea<7%0@i9_b4`P-{p5x!jpGG(Ru>2cc z{NpJofP%r03|wc89E+#!x*ubPX0ze~E1zG@jAg<_3q;oCS>q>T#U)pvtfmU9-+2v{ z^?de*XVjo@4^M$E!87+fz`n9J5P%N&1rR3^p>5A`L`)gRSPfm2LTx$K2tz?Bqeh;G zfkjb{Oo4VpDsv4G#WGOZwcUZJ=_6UPB!!-~9yrN-R^H|CI%OkD-Hx3{$%G=n)&U&- z0cfrAXwRXp-GUd3D)8?112|dkUGv#ir1? zw5d$Y4NES?@rp85Cz*-{1gghK6zE3M!aM-fuyMavd&a`f&S6;&b{2#MCQwt_HOV?G zINoYU(|37YQm#q(C2B*?;l|B}7?mRG6?5KLuR;kF8PKw~81~i<9)zU9NhK^&Fmh@( zdme9S6ah7bKyl5v{w6 z*>5B$$DB6~6p!sWHqz=yp0c%>m_ROz(lBbpGEQs`w-(rVVn14sl2g`!J+;kPbEF(c zO3F}ETh~Q1^)eH9)3z|SuiK_U0Tf7@>Xi%>3V?)R6U&N?jK+#fufmE;e#!hcMWrY4 zr#D{2PkH-Tj4n~5o>*H01E{k=rW-(83gP_Ei&5Mc#Z#xpv2%E=7i$yHe zT0cGu4Vwv^Sy}uU3I}ltc+fED&?qqqzAb~1S*Z! z_iBntQD7HocNAS|scK}P){IK=0?^8TtPbia4|QF839W$v5K*9Tp-%0o zYAd}L>&>q}XSb8Vkf_ct&Rc-%7cWO_WF%hv^nJYW@w=#Qq}LkphBnQA-b!=dRX5`H z%dTYMAMVRnwsdmnsBB=e3@c3FDFgYkFsc?2AIa=Jl*K@GhA5PjKtYx5UZ_3%Y|Js`|Y2+AIeT(cq@2&q5FMRqQYMUCFMs>loS$JXP!$^$b z)nN)Iw^AH%eH%CjWxA?aB?_jRi>Z*6iCK!x<@J1Fhp8?h+EWGsAWxv2vP{1ChfKoM zb^3UxdIE;SH$vx5#C??^t~?WHU8OF zsPG8Zu3H)v27r7l(ZL?;@p~67tXm4?XT05=C~7`5B@Hj%|3^gW_3Z6@8+UJK(RXxF ziQmV5bq8Zz6nRM2V5*}?b%Z>PcT~NCYUPmN%L4ETNXL7y$C_!b^w_!bigcke{J40Cl>3y0oAT{KdS5pwyms*8ST{xTdP5uRrt`%osb7 zH~LY|RN*PFv|o3JBEHOtDm#h!q{u%-wR9*St$rN=z&k?EQ;4Q9QmNb%mF27u)2Z5O zth#+A126@VwdIwd{a9sZkx+Ulg%HK)nPE{zuY#f&{|+m&83|?lh*IftGoc;9r`Wvk ziGKj~8Qbbk@9v7vz5!4WYSaZl3WcJ_FIx%pEWK9CC=A6rdoJemaTA#KmJ(0p;OuDG zbrhD0uJ4=htjbPoh^P=%rXWD+#-yS4%RS&cv@j;eBu67=_EC+=t?dGR8)u zbrE>+w~yeWS#z27oH9YFG@p&VV3(hTFiv@F1R^G8F(V@Z#!}OS=IuwB{YQ}+1AT5L zOSz%;&wlt8e*e$EGYS`q_8JDK2)n5W$lw6tw^YfBNIvCLg+vB>rN$G0!XB+Z%H)pu z>-^F8B+_e+-hS*!Ryu}q!JD@g@p1|!8P>P*$%TIUp&m&UC*PNHNEB1W2|#@R{PY#c zQEmWL)z>0p*?I1P5NL$jkMYqld=6Hl5v>PHV6AWQs?9(*Q3fcnPgP0`vs@FKmC<+E ziIBJ)vZv~5aLcMcV8hO>Zt(RP<>^vdA*3A|I0_Wf@WN;mXd#!(nv1s|UCpvKNV{o2 zTES!*s{Ka*B0m=SqdaTrkbOp~Rx$yZ>f{hBtNCoFmnAwFfM`6Fru2uKZpR(JxS9$0 zblKa@ta=97jkpe*cUfMUlu1qx zIkghk;0p*l4(r7{aF8c=yCQc?2xap&9fXT>+6u=hXM)D zBuX?Yb13e=_E%UuV~(4pd5y_MkSUR`;KVWf?Y%YZ6;+h07VNEpAIG_|#0e^CKu=1vZ< z+^zr#;WYsyqqH{T@(1s6w-038BbUsi5o17cOJj%SK&@1OLQtrD3q=oylS>({}?Ho;L?fGp8rEOoe33KE7s`)?wNTij^WkKygeWiug~e!Faj=1cKglJGfX_x0+WE>24^jEzk<~7poe? zhQV;bG`Ij1h)whmJ6?+sDmCaStMZkf0%?Uk8ArIgdK%jgJ^=9x+#ASry|<^E7Rr5| zPYb1esDk=w1VL{eH822@N~J*!iJ{EOAIl4M6MZQS?*XT}g2A60E?Z<{>dl!5KBR$a zab^RkH|(Z2_l677@YR0y?QwN-y7J z;eOp|UVRZX-r0X>?8!fC>mLJSk2Y`c5GZ;b;xMW!L7Cm57!p0_+fzd#0Z1#8$$sEC zF4K1b`{T6srca8|31_0cc~+0WG=MjWM526-;}(O@%IKi-R}>-BpII41aTtJ9fL_&tPb)R4QLKo6Ua_07Ur${h8K7!M;@HloG}@ zN~Lm+&1QR@vV(iG7~yI|fu0p^KjF6T%^U~my%xD#ev{Q|{hrh9EsA~N)pYV`CzVf3Mltq03-I&RtgAKU>dKkWqvSApQ*{JjG#xv_vAA0^s@o)C-93>5O~3fxTfleerBxp)v#$ zl>3$e1RuRn^$q}gJOpUU`6loLe65e~9`^)50vn^Z$kLl{wPLY&8Gzpai1T{eaUaSO zyVvyfQHFF*Uu*D_&5c{I{E)e@7@bnvi2ynhsh*+6MB9TmRI-S>vL?U|Q ziT}68^8e_X=@A zq>T|3667HQQWStOVzGGUe+EiGN_MflV0{Mty;~6ctW|ZlepKd-0>$zHyaj-2&NREe zBfAfQil|Rm+Lx#N7j*M{8W4bdK}0|znTY<cKFr|? z)I<=BiA51u2sFZnD38Fp!lFJjq;O>*Pv8+NqYqIc0t^9%glqc9=&jV?*zfehQP-=9 z!&^0WTbL^r-V@HW)?qD%z=lYkApjADp$`FuKqLUilk$Yjx_U!_{DFw5jQ}M2OCS19 z09kLqdZz92U>UDKP3W&Lh=}3{R7bEnhYg;-*i?Z%2`o*ZNCI#=U-#E@YByLmB=m8F zMJW6T2tC@$F2fUg5db8BNKn&#fzzX>_LPNrj#lVH0E?ihd4j96eQy>w^er5qmIF1p zfY0SY!M`Oz0FpqN1XaC9!08JX=DSG(kbH&az5wX}0piSmEWLqTsKn=*jVER5^#r@$ z+@2k%p8?bBZSn4)XWI~P5Wy)<7!N#iH#>|;_RW5t_6PP%aqpYShTKb-0PwvD}+Rqy8VGk|)t_GjX~y~9hF8J`{i_3@z3#CBJchWD=4Fk^m)v0R8$wY5AZFD5I1DrR>s0p{1<0j50d@ zp_KKt^n(Hg0$~J72?Rny_TCHcEm`aTzUS)N*RrH@?vN~5SI?tIwsh|q@A>`SbJVIZd^U=bjvhu`YFMF0x}IV}N;069JUR_84O zSQyA@30MTk>EX9JKTrf1sCumt&wL3)(%Hmx0x`C(bk?0tnOb$}mq0A|Q%;6dgHT<* z@^|c~BCb@oMgOo^ccw}LYJe+$^S(2+EvW>Z8tC+Q?3+50hzzE7(kd)tB@hdC`akwf zjgLnTQ#zFj0>lHpjle!(=2Gvdnz>(c*qw_dkj6x8Qk4y)(MnGu9D^6>kwb#Ma|+#`tr4NobIyoCA;)Lt!-T;t!+LC1cT5W2tgnaWF6rNTkd&s z2pa*g+=j&E^V-L++d$b#`pvI5F;4jR8fdeiEL~0qI30Fyx*XswbVIS%-2~yt{{};C zPp?`2;A(7rD25EClE6$05D)zJ`Da`=$Cl@Prlqa3vbm)Lf*~Sx{}&fvJnhc`Fpp$> zFeFzv{QC`nX%G`2R;muW4T_5kpwwH?;*k6ot$E|Oui-TW8Z{A2BY{~2hy}kLTWDW& z_ATc{Y@SE<9H`GzG`$}15485@k%wK z|77)R_dJN#k*i=j3Ctt_l|?QOf#0$4>>pj|3pjpt@JNF<9M-S>M8MAjpiuzx?l%G? zZrKJ1z_qGLL27`sym%*BET!tNBuP+JQPNseXuoyM@_U!5NT9?9hAn{^1W>X&iqG#D zHECvXMfI7hkJL3+hQje(9)D9Nv85ugYBSeNtUul)4hod=pPP3HFSG+z%vQtbPu z+Iko!X9oKJysg8(e$iEkIa-4hpH^LAT%pf(->cmr-G_|4JY z$(*?46KAH7D@Fc4uWd$%Yv^8%%U9sCZED=S?Bpl`)K)-QK9PLD;{0lq0BZM#2;ixn zfAzX9U$8v3E;GT;8$c28n^6XTum{Hd;q^bI?KUX|8V|`Hx1+9k6A0oi$_(@@0k?S-0j_#ssStqNAVb+8y%r!g0A~JwlmL5q8Yor_>D2sYfM2W({RH62Beftk z&~5|nk0|Mp0AummPJELalo13V3!o4nfB4Mr?bc$4c!RAji#PBhnp+IK`ZcI284+l!wQ38+!Pzaz*is=f3&9DHv3Bc=gCW2oK;QFQ5|vKEU<2onQ9gCIF>CDF{wV04=~5 z8Ei$QJhLxa7Ox!sAoEkv+&Tm`VLUi-%jO2DneF~WEkL!(1)>?@jBtUt1ju&qi;##< z5dB(EtbQXdihk{Hv~4_WsO5?-P<9c3*SYwbjIT*W-5#TZ(`#jT0O7ZptDyx0!9*}m znq@Jd{Y7M*{MiEYh@UkC&;xuCuxfF8M9bp=Q>2`1*8XDsGZI_qCqS%RGoAnyGq2zV z!A7*ch&B?{+M;Fg!JXOKUku=x@Be2-44{VqJbutjT}HugN*zfb zQPdB9Q`)96?VI&6fL7p(f;HWKzsTT=wB2%lv{{#|CP21;UmV;9wWq-I4?LN1Eldji zf5UCl;reAI0eFH+qyu<^+t)?nXJSM&vRU94scSH6f1~|Rgqf@&Kstag3RsZ=5iLuk zUp(^iz%SAkZXGGq{zlu!>wne~VAzcB>Y4}W_2CoygzfD^xlZ^86xKP`mj$%y~Eegg2u(@6gZ6#;mHGUD=>?e>TeK%_ss z!8fBGKDZ5LuTrS}dHo+01P}pAwt-)ia6AI=!7E^4xB$&u0`U5u)dbKBe4bY59~9E|VA@kiyBc(T%&CJzAdPE()TL4P0=qN(iLmnN z#^wP;!I^6Ci?&0AD2xra^+palP&N5RBQjNC4h+Fc)%ACZmxnq7qvh2IpZxr*|f_I zJrB^Ul||^${~9gC6TOzFC41VOrj(}$_(iS}=@(B%yfS!+0IlT@S^`Y*I$&0j1Y0`* zK5h(XI$KO+uw$vh6TDU;@&;OqyTt>QNPq2lb_fTjqsowhtDxP}h}dwxDd z@SM2r`X&f8wPN-0-BGRO4_XT_t=JCF&9brWrNdzfuGt!a7Y@<+XJRj&Aaf1;wU-_P zW6rOJaKr{%9^C?a{1C{*66JWf%Mej+bg+~_$5nKQV zT4)(m`eu7YG=FhTDa`-V(ClF5)7F<0*<-oGzi-W@btDrBy0l- zWgbGnN_gHOBLV&&3E}-6Vc32Di%5i>{X|Lfag`N8^^M;Fo41G&2?bGk(+$W&s!(@FyY_t3!hJHEZC=v(MuHiCwc~W02JrAkhFnIimm;dC6|# z0N_Au>ylvcn)s%d2LK~lKbhd^Hy0}Wbr|Chb%#MBEs942mj9Brt2b_`%m6>NV#4C_ zF!{#eh&co{0o{%k;LO*N0NqeDtpaKp0c4Pqwhy$R;t9&&jMyFEC~(VvGYu|(hW!!P zbmhYkY@<_&@Eoj~Q850Ni}8L^76^0(cEq_q2!Z+*yuKT~Ej!q~Ua%DwqBV&Uit54g z8sB~m8ee~%qu}EIoRtLN4epcE3t-_8@*QPgbSqkb#cNvnNnjwsPmOWoao}q&-3cWH zVX#SP<{c80|7rqfAo<##Cm)%ZBIQJ&X2}GYa^o;OHpPKJ$G1HXR-Cm02@sG8aNj9d z7Ww`T2(*V_!__ZAcU{!lB98NGM!>||&q0?-abt)CcG&mOzo6;;jjXQ|?zkNCDu*$v zLGc5*P~CM6u=h8QL!h}GwLdBdj5j2w6Uxsy4T|TUz(^1dl4}LvKX?%KKm0o~6LDpi ztgBf;0D-aU)A1*d^}?bd5!C+jV+PCutZnYOhBx?h*SsP(%pBr?64cUdDA?^?VOUY` zgKl!xIj>n|0CUPhP~wU}M<@atTJ7-eejB4(uJ0l5Fv!%*PFQDjGiN8sDf zk7DkS9|!mS9d7XBKr1h$-6e$~IJve3#+CcPVGBcJhZEN9D}YaT6+j396z?^?rW5AX zw!_+;h4A49%&MSJtA>Z+_~U%w%$MMU5At9?wo(0}YbKmF9;V(@0YL;U1-TKY8!f<_ zi~!za%VFwozKCTZF;LM2(Z^qZ*$d$RyuDAG3#X2RnxCD+ECN{x3AOg;FRy{aPreCd zOTPfa&pS2hA`vrf(7t&m?0?{C2nXoQ>i#iN$*BvW{LHg3iBB$(4eH-q4vou~CmfZm zCcw~Rwa)`Qc}xi`EF`p%wgDCcoc38GSL>kyh6P3WaQj#H~%|=QqJam+wZrL?CE)!YzLsLwCaWFKL9ZQ-Th3FFG-}z5eP_ zIC@0BRUzAiCF7y?=5iJUhY;xCAOgJ2Tp&h(-+mFxB3A@|X9W0X4*`@ioG8;tzxxKd zF!`vZkwi#>`d8PX@4gZy-ghN93JYWcAeaM9ZLs6!`xAm+=~&U+nJ{G5Txeat4qD#( zk1p`jO&Mo|HF;Ht_}xS_(0?g-w5U}QH-q@CrzB?e4@ zzcxv5^OjzVLIqz?Ex}#2ez4hs_{QrI*aUw1B&18W5RfvzcWWVh^SC;w%=a;nF{0r0 z4E%VFM5#nOeUB$MyX;VP>ttD5mj>aDA8vqQ`E-t(+z$CuzLx1qEGvxv-1+)Ac;H2u zIQ07Sbz5Q4^cDzUL%NY^9YG8>@@(KoGIXJ9(`9o(2fiP^zXU#5i2zlp%o+-UZyJW= zL6?IpfFmE?L;?g_F$Orc3~KKu3m^x*;r1|mcG*k)2~b=JlODJL;{mcf*gy2$>t9<3 zb+4?33BSAqBo{saNF6|eeg6Dg@cB#c$|N*lB9P}j3{nD=!9q0aavBsZ00v!4HXKb# zfOE=<;l8RN;AEPc^kW!Wv51YG0T`EWg9;lZq=^U-28OS0>4eoybgV4EB%F8n=REX@ z9eBVXf|!9H-we=H9=bN*z`v0Iuhn_r`8_uH{pp7gdU&maNQS>hLC;(v@^|sR7j~4u z#ZOi;fUmf2Bg`1lCR+>qB24$NH(gJ+kUb#cA#Ch6_|{`nVELL-*1kXfU@M$76A9q3 z<3YHnWo`0jH-a9WDCoq`qs;~Izgc>V-C9Op$cM8WUFYu;#Z z!5fEcP>6BB>7#uxwWJ&B{SsWbvIwwPm{sM6B@^4>`s3?lqL4p??YQEVN~YZ@xO;j1 z5b$9=*PeM8ZasNF)9^$F()w$U6vF>~Rt~K`J1m~m2uo_~SQ+$N1T#weT0OAn$20MM z8$9-dEpYOzW+VWDAGK^Z5+I0f&z5~&Shc|myAR~U`yV)B4K(M1B(~dO$m}sN;{4;}`2ci(NGTEE zx83|Scx%T(`BzVlx{B8|T_E+qJ&l=%1qEcvX&7v<2?N;EwjD@FfJr#}xS|F% zEujtp)QTuOX6-)IdcA{Cgy4C5`Vgot3N>VTIn*vGU#-AAd=@;ho}?H8>(A7ha%cdUVYJ6e~h zwts#@8CWmcARc07!t}En;&7EWJs&`5;*e z%H|MI9n7T*BXL;jk_d!EX#Q{y?78cC81eN}FbJN@Qq}amF?C%T6!0!+B= zTAXRd%mSNGBexdo!j6Y9QNRd=-}w*ifrAe}*k_CfJpmG#z^7`e&;sC~L_LJfNPs2V zQG+IU-7s=ETwUU3bD5-N*Z4!Qq774dDmMc$3KxxV!q8|;Km_>8rY>|LLh#C5a!Z0t z`-Yu1sD0HAEwXpicR*r%+PRe-@bdZl(e)*l3Clo|mEAt2j~1R#;fMFG{R~$DP@pS! z=(LB9g*BM*i5=koyI})-VM0?>K}O)kb;IC$4^M_iez=JdfWRL_ux{U90AIa+atv7F zXSXIS83(mLDrJ*gVI)r2jzRG0@5uz1HWa2jhy-A>vjlYfompLZ9)JiynqLllX|l|Y zKy63u|0HU8AC#Xq8!EoJBsxbxCeQ}kulpTZkiPNN#Cv~)aRSB<(TPn)03tul8?aBD zfOFen=k?e0^hpH#baB>M0G{7RoqDo*6f7#h8AaJ;hpjlFvUtbd{(y{1=}+TF!_s`x zaHLJ60Wbxx%-xaS5&>U<76qQ@ww%4$2L-61pTf)!3wH7Qz36hxT@jN`Oc2b?t?Y!C znFXNxY5XN9yJJe9cFwPEhZnxPiM0#U@F002P=3Wcmg0>ajv46D zLJ;uDH6g;VPi!;@jKI*_r}i2AMKvw(+~ouaIl#3I3B%A! z=l26Y-E`d<2jIFd?_vQmrA1e6E`hJ#cMK9>6D*h`TYvyKVZ|rqaMN9*6Usx~fSSc) z&;=@vt_7lrFth+mKY#$n07cWvVCww~5bxxY$XY%`nS&t33;10pE`;0H3Qa3_LgT+T zGvG&5^C+(JA{c+?C17)TSocViH?H^y4nO^BKV>Ch051nhvU^zmrL(|04+Cqamylr1 zb+GTAJEOn%yFDS0Yq8U(^G5g-7I_w48w;3-nMvuZSa(~E>5up`Kx zY4gG34NWrWqUlC8;way;-xq-vbm(W4*x=PUbe|kQgpe4MUy-0KK+uoxRw(t71^Czb zds#feQlTyhhWzMcJnXvN+f+ptm^tBt{q$v$76-o=# zURhrXm;bgF39tc9oYR87KM}wVZ+%<=H{UH2fM-$1pHT%xi<6>G6Af(KWEZgDD-Bu#sR#AOPPvNHG9I zv;0CVb)fn<67<3Bf+6t2s4Db8p~5~ zMSW{-T?1}RvC3&qfMp+zfFJ*DEOb*47=6`@L^9p977E>XUDN{H^RKaR|35~-BS?US z$1C#yc6jsS5pc_0IO81c*wE2-n6$_RT^$l^TJ8fsW^?F83U}UZg>`T*!z(uW`5( z;@xlVfIOOYM$p=jDfg@{hu^(d2Gd7&!KOoQX!G0P!Efz`^QV1|z@}J1c7;|Q_QDVU zG64?MyWx9hqU*B+V+ooF!#0GFxOPkeOuBR)w0Aie0Tv(uaEcE62-de$1Sqb+)a%pu zJ?8lR=pOk4E?9YwA6kwEVd6REFzjRmKi)$GAYZ?EeGuNiYCUUz@${ik`@o6JwIW}f z<^eWb7~cXU3reeTF2I9vn-V}XFA3AXUAy-~{qlFAYujFMlomtrqPgImGY5Y}GE&UI zQmYaYWjh@F!()BiD>dkIiU4dLVB}<2n1`znNsHnCG*Lrjkh2K%w@eBGbv^zu>%b>) zSy=`A6n#?649l~!2)2Ep0PIKYLOyyG=JUs)7N_}8BFJO)0r>e2Iqy8R*arWa7lJ&A zkS)*Zvfvpfz*t#~c{DQ|foBi9;p%_WqdI`8(=e>XB??{_l85f0$uJf-$}`0KeJ+@N z_hckd7~Z?_GZH3T@~uB4eofM8XkSQiq-S`8=^4) z=Hb8ATrrLr3vlIBr;_!FV2r_LifKWe z@{EAu``3RC2OoP3f-Ty$KlNcySb$hR_JQFO;cQO;Af!Im_H;fMRW;qQm#<-GK|5*KmaQbTJdY3+|3 zODLHkWu}+@zi)d!+`X1ERC0W9-GXMgc`h!%!SZbge3t4Yf1hQBBslK=V_YG8 zhg;DFqF26Gf=m90+4`aQ8_oy^Bp3Km+f%xk{S9-au~jjDh#SDpvXGK@E{`;63VK0%($RFoI#5}70s@E`pg zjy&;K2;iqsJ#j9|S^^{s-YRgiX649Z0W;-M{73b@ngAqt6v#`yPPnpub9Bx?f=kO0 z9OYhlnF4{3$iUY1kY7wL27>lL7yRvThs>*J9fZLp!)@@VndC^wOCgxHX5^v!0iHPE zfg3)eTzPMBO!xii+#~Siu{b?UOD0&bO9TkRhey0{#v|i;v=U zWFoN4BUu~_dw%uL8hGR-oK056-yTcp@Wo&GHxnhK_yd-000&4Nkl*RHAwS^Mqm!UOY=gw92))N z770FVv;i(i?KAVL+?$8MpNGpO=8x-y5rsae_c>tgArHK@y%5^E`pzl1@Y*@!+hA@@ z8%(Kc2Rjnwa7!M1uyqK0ylV&?ZlImz`@g<0qYa9Sf^euV57ut%pFwhBFh6R#9V%z# zfv1XG9*haP?a;8b8;-2?LF4AwWd^b!J-B|Vuy!bOQQEdNf$vc7a~C{NCX%6RXfe3Q zRDx&hNN|)PD{;|Y7$1S`K6(^Fb5Rz}VdKxAN&K|o~CV(%9j#9l!2 z0XUH0m&vIzqY0WTa7mB*m{8FO6e4g*()Q*A0YrqvgI%hDuSM&Nf=~-lL}ipN@Qd_O zq|Lnc4r&632q+c67a6?%R)W`(-rsqHsxC?NS`k@^lqFP-67(kNvKe)WlriWCATj_V zP}8IFwP@VFAQfqme2vJUYHf#z%tY%ID$4`{2-PES(V!rJKtF{MmQLUgwA&+Ef2M(7 zq}`%z&PoE93HTmunM5nmdZHQ5A#i>{1>!_-w?mugrv!Q^vFBegjQDXn1`SG{3VALS1nlm=LsZBI7@(2q4m7VHF>9 zp@_!+e&JZSr4XM;qGUH)YfqCe5!iwA2n!F(d)sJvY3+~bV2XlO3jsyyPSl@~7tMpR zuglLju;&HX%1wMIrxPE1x#TZw&mXNs7m=Mvo0WPq-U1ZYrf42Ozz-#?Us*T~ZYnGX zJ9{>OEvu8)?cn|EaFyxlN1_|W3Nk=s0M$il8BEb@McZJsykY+}4MtuwldZ*)AC8GW zID?N(`u4WL_G_MEyFP2NT)ei6wmD}BAfoXV;Z)ghAI!3;;EgVhlXrRuvvpZ-_`BfV zro*tQJNcfYy@M;rkmzMv2U7HU9)PrfQN)r|eseaI{P#p~dTEP9dUiPaa6B&MZhmt& zJ^_XgzhI+8+Aq>}k#f`{krNg`3+UCt`K5O3c;4Ep1}P?`AS4YhFZZ- z?HjZN&`X=EXN29Mi9!k%yme=sJ_5Dt0Uv(4;rj9@v(gXBP*m1+N(6wEDz97*{q&_|1 z&w2}BCg9__Ab%P%1I}{hLjw|EYQrkHwPY-O-&??*|Bcx3;TL?AaT_jBKW+PgxQ|bY z>0E7-TUvlRP~fL}OHUpLV}Ck_Wq*`q%^h1>VcYj#gbBBQ1@fm3hj2>(HeXF!q$GBM zQVIU7BS5ME-|MpU)xd6C#6R2Vg@d>_eNV8H?Od{Kcr`33z=ijA%wsca5P*Mm;ik2_ z8^A|9Uuk@4)m&Px7XeSAz8lfTLr)olPk7;OaQMU;+YOFSePJiib2 z{Qi@kNAk?9Q?#s{wg6@bsaIR}73Eo&<9?{x10FkViGuL}2E~*z{SZ&2`N4WT5m6P} z>1l`7dqjY0w&s`cIpeBxt6}72c%&(2e(1nF+AEZ@J}oOghaGo)fGN-Dv)O_T6uC^R zY!Z=RP`W^72`3To)xw-P#0Ae!b>hZVa#je?C9>gXE6x?1^&cl}#jOHqCu6NIt$ol^ zg=pElGHn>-PQGn66rWfuAEAmb+B!wT{d!tHXooF7S=nc=9+7%^by6K7<%r6A&=9~( zp@;xqxrWvY&B9aZA3qjXK4M_Zc8?%yfbNhVgX70`=fUmkaN9+}m)3rW07k3UmqC`i z!QLswF!7d&kT=%N4$e@{@0E}MhyQ*Ec0amS-b*<866qJOPP4&JL4dTH&GmUe0>J6X97Ja?h; ztV$Sr$!I**Ro;+@c8(*TKN7IR{y*=51J7*h!yu8mMf)OBmX>kP3Idqj>BIokBD((9 z=A%pS!u$|S_u`xZO_tG-NoWnoC8FKl9@t(4cYf%>Lo!r*lxonB>Ka7>qg87rEEiLp z`Bix^`<`RKK3v`ii#Fhu*rvI-LtU30Hr=oe53TE)*B2c-k^YF5rDYT|o&eq{-%0U2 zfEID_wKtwU2N&0b;Pzv1jS#v(@=1}hTNJ_LP1l=9V?$8lSG`EE(ztAquc&6Cl7wciyGCY$Yx>=ag57D|s z`XpMGhzw(|$tePe2wPN$qJwh#ybiczVk@|4?T||*0?iytv=1nKdL+1hMHM`QWbo0+ z=Lrmg*0zhbPj-=ddyUwJ!VwNQ?)u?)4lwQtjeCRA-k)?vFdgC=LG4c~JA+LQSbfa~ z=-3y3HLOVeqJ0u6OLW|FjsT)U78Rh@!64mUTNZ?$f1wplscM!%j~ODiw3<$cXZwHx zG~qUc8*r=hzpgEZ7d|aw2jKN;Q_<96EuWd zB(lwMqdPzc+VCXDhmXLKm38R%_ddI;tBQS7DX)q zoiu|0rqf;`>`l)i%d3hJv#6=*s3j+~q1)6Eu;C8WcuEQdrMN5sldfzxYzO7&aieG( z?)q%^;1_rbrXRICQVvgscY==r9gjsqr=JeT=)!{O@C$ioR(AAv}pRV-4dw-Xp z@j&#j34twRdNn#f;FSY&5jbiK;KfQzepOBqzzA6N27QT!AsH~rivmzl?1vF0epql! zD@+~J4l~BJfhRwRr!}JHXD3U_N1_JgGvgT0!$b%IKU#?Zx;v8F0qy9^?>bljoAHRI zjT_vsZ@&Xt8}ZP)2DBC`4@b*WccOC4RPbj-3}BWEBsy54TE%F2qM(RJxT1m}jHn=D zbVFWV1PVPt@Ob2d_-KhjXSV}7Fl*E4li)~W9yB&MprKhHi zXj?s*9p0d18t}CMRSN<2^pht$J-_EX0n8i-EdYp@-O)3ETI3+X9#g zcsZU^e;1X;GzDo+t!+uwI9LRT zkw7X1Z4~rc+=~8glJ=oamCG|2z&~hQpi~0hEH}pp@U?1CSH`5G^ko!dO>HVpPz|ZUu&C;5MKvn z5S3x3fL<%e`Vdz`psUs8(b}$T0Do4vK&i9Vp#7;L@mOEvHZtIHERzJrbcdI2R0 zd^13=6WT#pzkS5M?Sx|9oo~fdI+0N z*&5U3`tHs;0u01}=mAc$;m{l4>UDQ4t)Im~uxG-BX%;cV)Z< zNGAcz*7OWa2HYGY?v5U)m7U+$-AA0*Z5J?5?FiqVZgN^`tfuKjkX889O@byUEynC{m0OWJhj(^Dw#o>Tx{snaZtt5@rrRXQ?UR= z6VCmEKT^0vyj#6jrUUS115U5TH@h8r%i-eL|q`o0)+7Yw8sF{1B!Gh z4shU`EC4+f=J9x|MutmH{I}%r*wYR2Sh1Q7G^4<`w7x#zv%5k*D1=>SH}C)Clc)vo z<0n~w0V9AC1d|0&2*3hiSH-EfNrjac$oxp}%WTk_q46!?8^=JT>+sW|qbq(M1wUnh z;t@b|MMe;+5P&QJ5unEn@(ii03YE-zMRFDnNe2m10eTDgnz59k8_?ejbcS619cOpe zf3`770LA?w3qbCV;sR-IgHZy+rb3w;L~qBi6VJEh4Zluu6%=Z273YRj0p2XoTN>ZQ z5f65?hkb|c3)lbW*%<9l86a|h=&frGfLdt=0hBm^VgY4$2u1>D#llM@clkAv9siZc zQ_}xRCFm{S>mQet-5Eh#qu(zDnw|+9efw8fk23j1+MnDX%Kp$>0l%))gb@NL1R@tm z*&d}Q7{>1?9&kH`&i|_98G3=_$gh@c$PbBMWvaoh44N51ZEsn+uVlkZXt@Nw(*<@lAS~c#7(H-_19RiU0f>Zrtq^EiZVT7H5@^`CHVS$Iek}M6 zWq%Y2@YOM2R_b6_$p{e%)I?zay9!5-4SB|#X0vRM$B9DOs;ylpeKjI=zx$=y-j^uIdwX-NB=-tym1asnO#;QISAZV-sr;^XdoqduYIjJ<45^8r5JC-p zg#c!g(ab@z$}(R9@mwJKPRZ-XekxkuRPd(?bZU1({FRZ-GDCpqje&CL)1C3Iaa8)HA)Nfj?CiAeLMT$<&rX zU3aQTn7U!JN;XphY7(fy9`AcI>t$u71AOW_)MSWfHB9fIRbWO-AXb~l#s*5`P1X8p ziKK%7sdl$AdW5aU>6SpsKtE6fur$7IEab$EX#u4}L~T`+i4w2~kcp#WwJB{9un3SgQCk&dq691gWa6k;ZAzO2ECQrW)K*2AC;^KA znK&v|o6;r$ivVd8wN+6jO28sOCXR~LrnE`m{{y(JRoyP9*Qx*j002ovPDHLkV1jPQ B3t#{M literal 24164 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

WXA3v|g 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 span")!!.text() - date_upload = element.selectFirst("div.grid > div")?.text()?.let { parseChapterDate(it) } ?: 0 - setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) - } - - override fun parseGenres(document: Document): List { - return document.select("div:has(> input[type=checkbox])") - .orEmpty() - .map { li -> - Genre( - li.selectFirst("label")!!.text(), - li.selectFirst("input[type=checkbox]")!!.`val`(), - ) - } - } - - override fun imageFromElement(element: Element): String? { - return when { - element.hasAttr("data-src") -> element.attr("abs:data-src") - element.hasAttr("data-lazy-src") -> element.attr("abs:data-lazy-src") - element.hasAttr("srcset") -> element.attr("abs:srcset").getSrcSetImage() - element.hasAttr("data-cfsrc") -> element.attr("abs:data-cfsrc") - element.hasAttr("style") -> element.attr("style").substringAfter("url(").substringBefore(")") - else -> element.attr("abs:src") + class LimitedCache() : LinkedHashMap() { + override fun removeEldestEntry(eldest: MutableMap.MutableEntry): Boolean { + return size > 8 } } + + data class SearchKey(val page: Int, val query: String, val filters: String?) + + private val latestMangaCursor = LimitedCache() + private val searchMangaCursor = LimitedCache() + + override fun popularMangaRequest(page: Int): Request { + return GET(baseUrl, headers) + } + + override fun popularMangaParse(response: Response): MangasPage { + val document = response.asJsoup() + val mangas = document.select("div.relative div.flex.w-fit article").map { element -> + SManga.create().apply { + title = element.selectFirst("h3")!!.text() + url = element.selectFirst("a")!!.attr("href").substringAfterLast("/series/").removeSuffix("/") + thumbnail_url = element.selectFirst("div.bg-cover")?.imageFromStyle() + } + } + return MangasPage(mangas, false) + } + + override fun latestUpdatesRequest(page: Int): Request { + val cursor = latestMangaCursor[page - 1] ?: createLatestCursor() + val url = "$baseUrl/serie-query".toHttpUrl().newBuilder() + .addQueryParameter("cursor", cursor) + .addQueryParameter("perPage", "35") + .addQueryParameter("type", "updated") + .fragment(page.toString()) + + return GET(url.build(), headers) + } + + override fun latestUpdatesParse(response: Response): MangasPage { + val page = response.request.url.fragment!!.toInt() + val result = response.parseAs() + latestMangaCursor[page] = result.nextCursor + val mangas = result.data.map { it.toSManga() } + return MangasPage(mangas, result.hasNextPage()) + } + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val genresParam = filters + .filterIsInstance() + .flatMap { filter -> filter.state.filter { it.state }.map { it.key } } + .takeIf { it.isNotEmpty() } + ?.joinToString(",") + + val searchKey = SearchKey(page - 1, query, genresParam) + + val cursor = searchMangaCursor[searchKey] ?: "" + val url = "$baseUrl/serie-query".toHttpUrl().newBuilder() + .addQueryParameter("cursor", cursor) + .addQueryParameter("perPage", "35") + .addQueryParameter("type", "query") + .addQueryParameter("name", query) + .fragment(page.toString()) + + if (genresParam != null) { + url.addQueryParameter("genres", genresParam) + } + + return GET(url.build(), headers) + } + + override fun searchMangaParse(response: Response): MangasPage { + val page = response.request.url.fragment!!.toInt() + val query = response.request.url.queryParameter("name") ?: "" + val genresParam = response.request.url.queryParameter("genres") + + val searchKey = SearchKey(page, query, genresParam) + + val result = response.parseAs() + searchMangaCursor[searchKey] = result.nextCursor + val mangas = result.data.map { it.toSManga() } + return MangasPage(mangas, result.hasNextPage()) + } + + override fun getFilterList(): FilterList { + return FilterList( + GenreFilter("Géneros", getGenreList()), + ) + } + + override fun mangaDetailsRequest(manga: SManga): Request = GET("$baseUrl/series/${manga.url}", headers) + + override fun mangaDetailsParse(response: Response): SManga { + val document = response.asJsoup() + return SManga.create().apply { + title = document.selectFirst("div.grid > h1")!!.text() + thumbnail_url = document.selectFirst("div.bg_main.bg-cover")?.imageFromStyle() + description = document.select("div.grid > div.container > p").text() + status = document.selectFirst("div.grid:has(>div.flex:has(>span:contains(Status))) > div:last-child").parseStatus() + genre = document.select("a[href*=/series?genres] > span").joinToString { it.text() } + } + } + + override fun chapterListRequest(manga: SManga) = mangaDetailsRequest(manga) + + override fun chapterListParse(response: Response): List { + val document = response.asJsoup() + return document.select("div.grid > a.group").map { element -> + SChapter.create().apply { + name = element.selectFirst("span.truncate")!!.text() + url = element.selectFirst("a")!!.attr("href") + date_upload = element.selectFirst("span.w-fit")?.text()?.let { parseChapterDate(it) } ?: 0L + } + } + } + + override fun pageListParse(response: Response): List { + val document = response.asJsoup() + return document.select("div.grid > img").mapIndexed { i, element -> + Page(i, imageUrl = element.attr("abs:src")) + } + } + + override fun imageUrlParse(response: Response) = throw UnsupportedOperationException() + + private val cursorDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US).apply { + timeZone = TimeZone.getTimeZone("UTC") + } + + private fun createLatestCursor(): String { + val now: String? = cursorDateFormat.format(Date()) + val json = """{"last_update_at":"$now","id":0,"_pointsToNextItems":true}""" + return Base64.encodeToString(json.toByteArray(Charsets.UTF_8), Base64.NO_WRAP) + } + + private fun Element?.parseStatus(): Int { + return when (this?.text()?.lowercase()) { + "on-going" -> SManga.ONGOING + "end" -> SManga.COMPLETED + else -> SManga.UNKNOWN + } + } + + private fun Element.imageFromStyle(): String? { + val style = this.attr("style").replace(""", "\"") + return style.substringAfterLast("url(").substringBefore(")").removeSurrounding("\"") + } + + private val chapterDateFormat = SimpleDateFormat("dd/MM/yyyy", Locale("es")) + + private fun parseChapterDate(date: String): Long { + if (date.contains("hace")) { + val cleanDate = date.substringAfter("hace").trim() + when { + "hora" in cleanDate -> { + val hours = cleanDate.substringBefore("hora").trim().toIntOrNull() ?: return 0L + return System.currentTimeMillis() - hours * 60 * 60 * 1000 + } + + "minuto" in cleanDate -> { + val minutes = cleanDate.substringBefore("minuto").trim().toIntOrNull() ?: return 0L + return System.currentTimeMillis() - minutes * 60 * 1000 + } + + "segundo" in cleanDate -> { + val seconds = cleanDate.substringBefore("segundo").trim().toIntOrNull() ?: return 0L + return System.currentTimeMillis() - seconds * 1000 + } + + "día" in cleanDate -> { + val days = cleanDate.substringBefore("día").trim().toIntOrNull() ?: return 0L + val calendar = Calendar.getInstance() + calendar.add(Calendar.DAY_OF_YEAR, -days) + return calendar.timeInMillis + } + + else -> { + return 0L + } + } + } + + if (date.equals("ayer", true)) { + val calendar = Calendar.getInstance() + calendar.add(Calendar.DAY_OF_YEAR, -1) + return calendar.timeInMillis + } + + return chapterDateFormat.tryParse(date) + } + + private fun getGenreList() = listOf( + Genre("BDSM", "bdsm"), + Genre("Bebes", "bebes"), + Genre("Bestias", "bestias"), + Genre("BL Sin Censura", "bl-sin-censura"), + Genre("Boys Love", "boys-love"), + Genre("Che Tenete Un Poco De Amor Propio", "che-tenete-un-poco-de-amor-propio"), + Genre("Ciencia Ficción", "ciencia-ficcion"), + Genre("Comedia", "comedia"), + Genre("Crimen", "crimen"), + Genre("Del Campo", "del-campo"), + Genre("Demonios", "demonios"), + Genre("Deportes", "deportes"), + Genre("Drama", "drama"), + Genre("Escolar", "escolar"), + Genre("Espacial", "espacial"), + Genre("Fantasía", "fantasia"), + Genre("Furro", "furro"), + Genre("Harem", "harem"), + Genre("Harem Inverso", "harem-inverso"), + Genre("Historia", "historia"), + Genre("Josei", "josei"), + Genre("Juego", "juego"), + Genre("Mafia", "mafia"), + Genre("Magia", "magia"), + Genre("Manhwa +19", "manhwa-19"), + Genre("Militar", "militar"), + Genre("Moderno", "moderno"), + Genre("Morocho Hermoso", "morocho-hermoso"), + Genre("Mucho Gogogo", "mucho-gogogo"), + Genre("Música", "musica"), + Genre("Novela", "novela"), + Genre("Odio-Amor", "odio-amor"), + Genre("Omegaverse", "omegaverse"), + Genre("Psicológico", "psicologico"), + Genre("Reencarnación", "reencarnacion"), + Genre("Relación Por Convivencia", "relacion-por-convivencia"), + Genre("Romance", "romance"), + Genre("Smut", "smut"), + Genre("Telenovela", "telenovela"), + Genre("Tetón", "teton"), + Genre("Toxicidad", "toxicidad"), + Genre("Toxicidad Nivel Chernóbil", "toxicidad-nivel-chernobil"), + Genre("Universitario", "universitario"), + Genre("Venganza", "venganza"), + Genre("Shoujo", "Shoujo"), + Genre("Shounen", "Shounen"), + Genre("Seinen", "Seinen"), + Genre("+18 Sin Censura", "+ 18 Sin Censura"), + Genre("NoBL\uD83D\uDC8C", "nobl"), + Genre("Girls Love", "gl"), + Genre("Adulto", "adulto"), + Genre("+18", "18"), + Genre("Sistema", "sistema"), + Genre("PuchiLovers", "puchilovers"), + Genre("Goheart Scan", "goheart-scan"), + Genre("Acción", "Acción"), + Genre("Aventura", "Aventura"), + Genre("Sobrenatural", "Sobrenatural"), + Genre("Transmigración", "Transmigración"), + ) } diff --git a/src/es/lectorjpg/src/eu/kanade/tachiyomi/extension/es/lectorjpg/LectorJpgDto.kt b/src/es/lectorjpg/src/eu/kanade/tachiyomi/extension/es/lectorjpg/LectorJpgDto.kt new file mode 100644 index 000000000..bcd7e8194 --- /dev/null +++ b/src/es/lectorjpg/src/eu/kanade/tachiyomi/extension/es/lectorjpg/LectorJpgDto.kt @@ -0,0 +1,26 @@ +package eu.kanade.tachiyomi.extension.es.lectorjpg + +import eu.kanade.tachiyomi.source.model.SManga +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +class SeriesQueryDto( + val data: List = emptyList(), + @SerialName("next_cursor") val nextCursor: String? = null, +) { + fun hasNextPage() = nextCursor != null +} + +@Serializable +class SeriesDto( + private val name: String, + private val slug: String, + @SerialName("cover_url") private val cover: String, +) { + fun toSManga() = SManga.create().apply { + title = name + url = slug + thumbnail_url = cover + } +} diff --git a/src/es/lectorjpg/src/eu/kanade/tachiyomi/extension/es/lectorjpg/LectorJpgFilters.kt b/src/es/lectorjpg/src/eu/kanade/tachiyomi/extension/es/lectorjpg/LectorJpgFilters.kt new file mode 100644 index 000000000..ef195ed9b --- /dev/null +++ b/src/es/lectorjpg/src/eu/kanade/tachiyomi/extension/es/lectorjpg/LectorJpgFilters.kt @@ -0,0 +1,6 @@ +package eu.kanade.tachiyomi.extension.es.lectorjpg + +import eu.kanade.tachiyomi.source.model.Filter + +class Genre(title: String, val key: String) : Filter.CheckBox(title) +class GenreFilter(title: String, genres: List) : Filter.Group(title, genres)