From e7c24c92a7653527ddad1dc8262e740907078c2f Mon Sep 17 00:00:00 2001 From: Ben Dolman Date: Fri, 17 Sep 2021 16:43:19 -0600 Subject: [PATCH] Intelligently detect the minimum input size needed Previously there was a hard-coded check to ensure the input image was at least 1024x1024. But there are often cases where that size of image is not needed (e.g. when adding an alternate iOS app icon which doesn't need a corresponding marketing version) Now the check is done based on the output sizes actually requested. In addition, there is now an "allow_upsampling" flag so that this check can be bypassed entirely. --- fastlane/Fastfile | 14 +++++++++-- .../appicon/actions/android_appicon_action.rb | 18 ++++++++++++-- .../plugin/appicon/actions/appicon_action.rb | 23 ++++++++++++------ spec/fixtures/ThemojiSmall.png | Bin 0 -> 40644 bytes 4 files changed, 44 insertions(+), 11 deletions(-) create mode 100644 spec/fixtures/ThemojiSmall.png diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 99fbfdf..0d2475a 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -8,12 +8,21 @@ lane :ios do ) end +lane :ios_iphone do + appicon( + appicon_image_file: 'spec/fixtures/ThemojiSmall.png', + appicon_devices: %i[iphone], + appicon_path: 'app' + ) +end + lane :ios_splash do appicon( appicon_image_file: 'spec/fixtures/ThemojiSplash.png', appicon_devices: [:universal], appicon_path: 'app', - appicon_name: 'Splash.imageset' + appicon_name: 'Splash.imageset', + allow_upsampling: true ) end @@ -39,7 +48,8 @@ lane :android do android_appicon( appicon_image_file: 'spec/fixtures/Themoji.png', appicon_path: 'app/res/mipmap', - generate_rounded: true + generate_rounded: true, + allow_upsampling: true ) end diff --git a/lib/fastlane/plugin/appicon/actions/android_appicon_action.rb b/lib/fastlane/plugin/appicon/actions/android_appicon_action.rb index 0893965..c795254 100644 --- a/lib/fastlane/plugin/appicon/actions/android_appicon_action.rb +++ b/lib/fastlane/plugin/appicon/actions/android_appicon_action.rb @@ -49,11 +49,19 @@ def self.run(params) custom_sizes = params[:appicon_custom_sizes] icons = Helper::AppiconHelper.get_needed_icons(params[:appicon_icon_types], self.needed_icons, true, custom_sizes) + + allow_upsampling = params[:allow_upsampling] + if !allow_upsampling + input_image = MiniMagick::Image.open(fname) + # Check that the input image is large enough for the needed icons without upsampling + maxWidth = icons.map { |v| v['width'] }.max.to_i + maxHeight = icons.map { |v| v['height'] }.max.to_i + Helper::AppiconHelper.check_input_image_size(input_image, maxWidth, maxHeight) + end + icons.each do |icon| image = MiniMagick::Image.open(fname) - Helper::AppiconHelper.check_input_image_size(image, 1024, 1024) - # Custom icons will have basepath and filename already defined if icon.has_key?('basepath') && icon.has_key?('filename') basepath = Pathname.new(icon['basepath']) @@ -173,6 +181,12 @@ def self.available_options description: "Generate round icons?", default_value: false, type: Boolean), + FastlaneCore::ConfigItem.new(key: :allow_upsampling, + env_name: "ALLOW_UPSAMPLING", + default_value: false, + description: "Allow the input image to be upsampled to larger sizes", + optional: true, + type: Boolean), FastlaneCore::ConfigItem.new(key: :minimagick_cli, env_name: "APPICON_MINIMAGICK_CLI", description: "Set MiniMagick CLI (auto picked by default). Values are: graphicsmagick, imagemagick", diff --git a/lib/fastlane/plugin/appicon/actions/appicon_action.rb b/lib/fastlane/plugin/appicon/actions/appicon_action.rb index 2ea7134..cfc982d 100644 --- a/lib/fastlane/plugin/appicon/actions/appicon_action.rb +++ b/lib/fastlane/plugin/appicon/actions/appicon_action.rb @@ -75,13 +75,7 @@ def self.run(params) basepath = Pathname.new(File.join(params[:appicon_path], is_messages_extension ? params[:appicon_messages_name] : params[:appicon_name])) image = MiniMagick::Image.open(fname) - - if is_messages_extension - Helper::AppiconHelper.check_input_image_size(image, 1024, 768) - else - Helper::AppiconHelper.check_input_image_size(image, 1024, 1024) - end - + # Convert image to png image.format 'png' @@ -97,6 +91,15 @@ def self.run(params) images = [] icons = Helper::AppiconHelper.get_needed_icons(params[:appicon_devices], is_messages_extension ? self.needed_icons_messages_extension : self.needed_icons, false) + + allow_upsampling = params[:allow_upsampling] + if !allow_upsampling + # Check that the input image is large enough for the needed icons without upsampling + maxWidth = icons.map { |v| v['width'] }.max.to_i + maxHeight = icons.map { |v| v['height'] }.max.to_i + Helper::AppiconHelper.check_input_image_size(image, maxWidth, maxHeight) + end + icons.each do |icon| width = icon['width'] height = icon['height'] @@ -208,6 +211,12 @@ def self.available_options description: "App icon is generated for Messages extension", optional: true, type: Boolean), + FastlaneCore::ConfigItem.new(key: :allow_upsampling, + env_name: "ALLOW_UPSAMPLING", + default_value: false, + description: "Allow the input image to be upsampled to larger sizes", + optional: true, + type: Boolean), FastlaneCore::ConfigItem.new(key: :minimagick_cli, env_name: "APPICON_MINIMAGICK_CLI", description: "Set MiniMagick CLI (auto picked by default). Values are: graphicsmagick, imagemagick", diff --git a/spec/fixtures/ThemojiSmall.png b/spec/fixtures/ThemojiSmall.png new file mode 100644 index 0000000000000000000000000000000000000000..b57d432f5729b0a0fb8d9053ebdd508cee1e13a7 GIT binary patch literal 40644 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
-oQb$BaaizS*uY;;I7|blSy_4m84iU7S*4qRAw%F?zK2!o%rlV;W8@-C5JN(4f z62nd4d1`po5LD7_Z1>K%Q}i#6rC5aHL5`E}JGe=tZD<_ zS~uNew>|C{T-KqmLZD9#J6d@cHVDA|1tXBndRpZ~cDmpr=eudL2a4t z82Pie{fK)DwBW|%GnHpP9SYE*sA(w3ijf#M%*yYC-*w&GZV}pOO{CK`+@>a)E637} z2w#$}_Y#@llbo<+NO$6mBB#xZfLkg{r#I5%q)!+#A>ky>o=& z<1j#*)ks;sCC9m~vdxpyjqjyy7xN77srnx&tzn+dH;)nRVI_4iT0>3|<(jR4Q&RF1 zU*UA3>=`C*0N3*%#6w&pY|j=r1luPU~?3tO}ci86dF#ZK4PSi+yl5HZ&mzs@wu2m}1w6juk&@3T;QU+E3PCoDQWcDd?>b0t6Q>c3UKT==wMfWWg-^mA(~ z$-TN(MHLG2CRgWL_D#>|7J)Yvxir_74v>xdP7O>l{x(%fnOO;zrSXKLzX>}e(C9B9 zhgqx0L8-BwWU1b)A~QLcb6BG+2L(6GsM6pN)=>v?PppA!dBGp8d9qt{VY&;FqfPs3 z;YnNOb;(rUx#g$$+1H)PAEZrtx#&aqJC&%&mALT5lH4jyzqCEPw%Z5RcC$;n)#o93 zy=MeQXV6c3w_@ME*gz8WUuvWOYIHSNIgBQVLx?nnzIPYuSS26j|h_+)HX!l z*2`;jij}M4yX1AGR;;{qO15+#T)+U?-fyrKd|9S+U&qmot~iUj;1anUJ3gQe)ta@4{4^g=48XKkTmsE5#T9xt=Uw< zvDRiV93bYR=3VEZ`mpO$SNkCgry^TXz zMmfuhbvTqL-)&Pt11#dMQltZzLI%teEtmY=6?q*-uM8E1Kn=V7HT$D@lTO^JPqqf5 zStC+yU^wSDLl~9nNqFYKvJ8Df@R|PjWNAN8-V3U zc^4{5^04)K$GFRmUZpAvNY3+l>9fdlM4s1RUwyKl8+5t+I?a=lPH(-)j1tmq5=4Uy z@fpD2Bg5wU5GFRs{e(Ycz{(owZP+HY)^5L`xT0;w?xUX(!k@4@XjbxdYy>j@?#P%7 zNpo$23Gs{MsV+qS1z{+`s_2ZQ>v0w#K7a9-Jl#GXw!ZyP5}G!~K4*7*W`BUBGByAo z;_pXxxQ5pwjnA;Xcz=99uFJybTV=g*A2`)M2f`D>8vGD@`no zm2^D}O`DjM0aOr28Drz%l(LW)HqHoW^?odAxW02(-T$c+`19Nz)0G1=%;#+~K3sL3 zh?yM#bv-)1=b2EGT`;{Qpn{~o2K{&M+nfd`I+xaB0mi+}nc2jrP)Ng_7S^>srngo8 zLy1{XT_C++C4Re?;y1*>;}JCD*2N>7el%I6?-B9%L@UbRx1IszzPt?9sDS|aBB8@; z-qAge(th)+fF2Z12>^_=heZT49+Adbh=BT8)`H{;O0fh{o7{!pyHvLK$W6E$!Fn@> zR`%LhpAi$&c~Wp96zMUE+loJ^Lb^)Z9ek1a`(m<%YVMV~$gn?dT=h94*{asO zvpb%srRQU{bTL59umCw2573HX1P78#{myv3e_@ATa55>B=s*%0$`UUma{w-97o2u} zYgKbfF7Seow%$w{eJTZQ*~i)E%W#H>#6lH41z!v)64t)iCn&tJY{7)zbaC&TVtMiY zS>k2?>R6U2LU#}*`}i7hS2e^u$814pOp}Z1Db0i$r{%La(bqbNQPv=W4Uc;9BTat7 z;6n{#9!n_AzX%HluTdtS=$s&!({k;{1gaTRe5Sqx2R(YfaUa=J!`!xGJLC7L{l=R+ z=+J%`CeB!5^#?VY4fbywI_2|`y`}fC3=!IroC|^mt%Pq&t!ySGi`>cWz9{9;4(a7p zK?&a;<=Hujjs9dPB88j=v$SRZwzdzX3;8xd{NW@z=oH=j1{N2YIz=MM( zl+>UC@@RSv3U>S%+6~t45f0=WcIS8Fo}L-}R)L*KWE<{qDh4f%ycfsvo6j(0 zs~OmX;-_BAe}oJ{orPaOw;cp7Y_~mxqy^Ot@Cyq%4 zY+Rh6;;pfAKLeQdw36o@D{9Xv-KtA`H)FQD^+&}4G$nn3IWwY2`3Fi)I zuVNbcE?=>e&`M-sa~BDMFxLn=x(lw1zN?-YePfbL!>N6{RrvKZ-Hz*V%6D5(Tpm%{ z@aq78#?P4TgX=Mz)9r0YRUrv>DTm=mH7`d@K{T4l6(O|GN7TD3|NU$Ihp(5ma?5Sl zAXLnML{09#{j3*%Ex5-2M>%xFuD#x}cf;6HR3CpshCKEy$*kTAJ8v!;x=C0((sd+yXFC*kXTgS#1A}LN*<9ef*TX@a6su95EmWau=PJSeLI&APk0>zEQ|H zyQoR|=%iOCeHkse{mx{(wml+1olTmp!A=iHkO>MrVYdQtPi%_8%TH(}sP!~c+}{C8 zs16Lf=?V&D-?oNdqf9uRwB_2XnIK#~{Fy($pkG*o)q|9L?vjN)Mr`5I3{<4cp}vx| zzA#)@@lSz3)|!_wN3961n+Mb-f$AKm_ED97C}L9~mquDchycQ3v)#Kuj!Z+MK+tt% zT3oeg*u@aiFdUM^sQeFlrz~;zpS<`65zNe*k>#N)LB}YAHk*P91vwS&wfZ`nyHr0j zaXL!ycW&^ZU#nitmNs<@C|miedb+oi>|a-f#gvdH?A2V8PyFCK3);J3TY5`7HA!lk zjroWQ=JEOcpP&Nwr)hg;@49P=bDHtQf-zgNy z(U^FL@h`P+%wteIM^Frz6={QtzK8RBj36JT$#TW&W~WVMY*Th))+lAwjvX(MR>q(P z%Y7w)>I|~gZ7b~XF8(w`BZUxMF^=?`}0X|vm zCwD0`whe=N6&O5>FV+nIL2tg$HlV$sp(6cgfjw4!9kW=LB8++ns2WnR9gIT8BTK6> zjBl>_9+uwMPtPLd7bSv^=!5v$>))FtPz~$vI=@h=Tb>YdLjC$wo22)SVEIp>-s`TP zcv+O3uNOnkKZHH_nA_bEbAhEkSRRE}bFk_b;$j!O=(3)Q%6SZjNZoTx28?81^_0z} z#iU9r_m|F+Moct+sDtI3vld zVqYJYHyf#P%w&_Xq62RDmSMOEd>~czsb^V3oN)X^R0*as75_PJmb(ib`VfS{-L5t7*d_}pv;?m7s z0e7KEbDtY^?U3s9&EB`KzfAV3-}c^^3V*Xi*cs=ojxlu}I395n3;{bdpfC-U%+(fm zRpu2fcrn3)kwd%ggo27x9SKdw&Mdh0Sc}cG{QoXXHyIxqg73K}IioL7UGaX}i>M@O zx+xRj&9YqjM}0f8H!R-J*~LA^@3D(P`HqI-aH)oiHKmHXHyGl=RB)H47c4VG7U;O= zt}ZCSv~PSHUOB2ew$`=^=8!*~^#{%MddkN_esU&s_v9TPWD8()$7dOqg7q9_+^3ob z3*ah6k$PH+w-rxVA2z!a$1}dfi zJ-{Vzl8pn|l95r5+;^w>)r@JQx^Un$I-T@3lI;y;Ni%#VD(&f{1!6Zr2LJ!0luFPoRhSE zoD01-Hn!k^bPCg;I1SF@4(PpqvHi*m9a1d`hHq{sKZqBMbH*Hh1Q);pPKF|Pt<+AC zd{;oIHp#dSr5LAJA7^JRcggSiS+ek0KTPAsNzs-j+$8$0h=?;uVe18;l*Zgge|ZCt z`6_r3^uFivSK1Fq5k7&e2UoIt-KE@T+D6~0fxdAHh|!f}K%Kwgo^McVzB8iWt-EX3 z-U_Mk&uNJ7C@<;lZ^yv*)aB1NAZxJ^rV5(bH9izJa*|kOAJllaqueT<0N zh!90yhb&{lp8XZ4P%wD>j&P$oa!4R`0`sNBuYMRuVbN%1y%c$|!eA@ni$2)NW_)l7 zLn3*f2$#YGQilS`Jx?kKvxsqIFec`U1j;OqgD$X8jmukj#_d=}uAL^arS&eK?3OE^ z`kI#u1`MA@zb?&sMi>kniKe%&!Bv+?7oamBBYH%<90g zWq=1pmfu9Ugo~=BdPuH1gt#HBcxMfNG1xgO;WM-{z9^Vh#7&#?>8??6pjbos(`W)N8 z5|#qz%-?iFD1l`foVXkNRbH1uJ|~~uGC}v3GkOlZ zS0r1S6}$@tquQdL;=802@_i_QktpLzKatj;U+|`8_F*Y)D6~6^@bHf@p(XmE0pX6w zD-R?Ta})D227&gf2#rfCs(bUwcFsS$@2AqTasDQ6etljG6waWr^I0*Nf8qu z7q8gYZwNYNn`ML}$fFBQWApF zLY=Lb+OD0{f0-3rL1QmDL^Ee$+v411=~Fm`v7!qULn&;T%*kLo8!W?N1EgRN z^sS@{6U~N0e;dkT8~I>-PYuhEaTkzDl^+ZyN}lUgDnO@ATCw1NJoajddCtgftxb2$ zX;>r{$+Eb}|LlfFT8Hh}{ll@h8g3nTz`S^;G+7-7;+x-ATquUK}E9J(Wqi&T0i$V zUDaYopl-yoKrt5)4~@ev)!9|QilHd142C?+*NH5Q`9YF4(LSlKzNP~$h_uVMd-U)3 zL(0V%n|1TsyTP2tWYSf?sRW*63?d@x95|hgG{RJ3q=oT0f#v)7&S^g0he-5#mAE?V zKnnzl=5e%3xS-K6rLl1&+PB~lDg2eJLC-MQ>M+dS+L+~D*su|3e@}Y&64@JxU4Yku0xx9?KgM@*ZJzsGz-^iSeLl_B`ce1LwG%OMG8u?A7lMakRbH zpGEmQ29%(X{j^*C)w#FOIodDJa|{B?I&!j)HS{3gAbb zJzs}tUZv)54@Q|FSIR>2C;>6t;x}q5yWp`kN`bIk+9LsBaw*%)U?9!VaNO3Ciq@^;425@mimo}zqJOPULEFR~wsf}7x(VAvFol4LZ;Vhz5DK3W}@ z;p)1KAeK}7w=6K-{&hMu?8)t*%2B$VXRPLFtv=>Wl>r_ix&q84pL?hvlkl5*4nN?; z_~qF=*;~`N^7|=x3({PJFl8ZLkA6HGO$Vk6oZULjk;(r9TtK70Td0EDI3m>`RJNy* zRd(?yo5;j>Q=8MQRbqW3#W35Vt`VB_F?DX5B#l6|-iKpTY((VVd*=GOskqOWatYo$ zy-DaZvsfacuBAl1^?=fg2ib%?T0WNz5XA2gt{W6&!;i(Q&|r*0CTJyG1jNMg+8?Ef z0VcRRQM(?wUJu>*^N_!P{M^wHjxG+uM~z#)dvCp7Ph9s|Ej<2MW-aMK?|=aP;n_?; zR?HpD9YQGT2QgV#RrjrMpZx$sYC9^K;H=S;I50*8VAQ}lDsa5?6h(o!{jeX3MJcB_ zRt5?jrFh?&#(BFy{D&X!+5A`vNiQ?1`GaAnM5uX@nv4{r~_#07*na zR2<Mtl7+UcU8UQ<_HN|sdexT?VbU#Hs)!KiH?*v7Wz8kVZc(dCqfAQ;7x7Ks z=cgNGypqWfEc#3^*FdDIMm+Kmm#E<{=I$NOLGc8_=fe_BeT=%&*hcU;dZ(G0` z$!pq#Qq=&?9zdF5&MfB<^dXnCcH=LviE0lR+ z6g?8FLVWUK#7r?io3i~r(cYIwi;yT~SndFe6IJW1*Zif%KR3 z^YwTe3yu(H%yW)IaM{YxNm>x^rZ$%<$9j)@8C&l(d@t|`_C`yDeZK{~0|XV{HhOpB zq+pw#swhq4k!3i@rpF%%t2;R#TL6!yaKr;7a*?oTwNp2J=kxU5MU%OWc!oqT(NKbW zNl6t_5AGEZhlwR{oT4J_!AyO)zM3ooqcOp;`T7X`9JLdec>|HE8WXMw6vGcUi(5?0 zF;K#ud%hkk>LCv2qj7xCah%4O<2YWp$4^KjPK!Mc*#ulcAB(M9lK@E{Qw|N%S!szb z2wO2Lade(HY^+Q9^1gSAuDipr4DN`JpmuL~lyUl9eu{_@oT8H>|M!RnNF-X(frkIp zFMse2-S^F}Avh$}zImmFnd`TH$y-!5nWf_BP4`%HSB8luDAiDnJKYAb;dW%00Imq0 z03nEbfKIe>%(?Y|qY|RDh!eyr6L3t}K6dc=C^$IZ9}M9c$AkF1#bAh^dCK!dj^mGl z#Lu!3Y%QyHKMDOWwakX!!^Cw#ml`d<-!a<4`*IQqmBs6v`+DSZlEGJOg1R@{skR-P zo%~T3j%a|yt=%K{-KEd|=?56=K=1jISL?(#|Eo@W>o--!Vn6Mh?h8XqgJBm!j9bz` zHW1zRfnnC%z{&;TSfO=m+=nkzf`L_DPPz(kl+#aPFpWNIVvUL0vRiySO8CCU=6gtZ z(WDbZ8olr5i}&L=Aq_vbFKw7!kPrhG@O5r`b6M)>v7Z7b$yc*BB*49394`cV4d4}uZ!T6aYe1F6$>9JzI@yXTt#;4z` zH+|wmI^%*%G;w6_@^z~l^o0b1C#o%5O<1;C>PxkixqB;y>4|4*NaHPJ#Ul=WG`w3e zdEavgT!h3b7(i8r6uR~|H)!eE%ULPwnD9&-FN%HS{vMeCfwEwtS>Sn2J)6H79`ayiMTJa^r_v9!EuKFV{6ba7G ziN~LEw&pHmeG$|U_DMg1eDP4{hdvUZ3EEzN5!X9+lZ zrXgrM16EH+Xeyn7p5oJbN62a{;ZmD+LAm>ZLH*me^7_V)hFKyG?nGRt5t?wo5@wS0 zY?5K)#^|x{u@$FG_3V(ISJ+F%`B@Lq^&G*wAo!1bp-0ERW{r-$@=1N}+r2D{!lbAG zHs)YK)T+cK1ul}MucnU%!#E4fjQs#hFl0DMdg>(31Mqy`e_;>Kxm699q%TrW+;cM% zM>Cp=U=DpWgd>xK6u(@Mmx~|MAJik$I@dM(mp0^t)kvIr2BmOTP!k?_3p=H{INOg2%OCe7W3m_qbFzuT)%f2Tv2F27KN zgG2h@7k`b&H$m^Xyf$!@n3K7~vWfnYJvAA1Go^b?!CaKQ_#dv!h3QC}vdC#9?4i64 z5$(HHA}&&v%Brzpy4F4L6;|xM3NPpxA>PsOb7XRm{k~jKPK#XS$yE<&=Uq2w>csg> zA37Lp{(&x_4U14FtbSVaUiwGsa2=_{m#Ve_ab+?yv@_dG6WqjlhY2-Mun9OkM*_66 zt8q&=I2xOqbnO>DulK+2J^I!!JN4xsj3~nd(m_%(H$W5$oWhfLn|pX~u3_#mcJnoJ z9G}&V|2av~{A%Mi7C*@KesAhJNQu;*JJ$ipwz{YhN#|@bu zp+83jK;qVYnB~eIyYCKKLtN3zyrfygF-%F8!NUh<-!qKvf_bzNFxa)+ZtATI7$Q5F z!AU$5`Z`Py5TKh|{sZBA1*h8{jwt2LufIymFTG3`UvgQv@ZqoYYSR{*tcY*owYX)% zH&DE1fK(8rEKbFsh_7+q&lp@e22nk@+7C;|FIk3I)vZ2e{J7%sOSzKO%JoFT#n?KC z%Vih#GMGjaGEyBYeRZ+OsYOkPGAwWvTyIZcslzeLU~nVh2NNE1OUpqjFfY$6nU|O3 z*!=KqEHcD^^`j&l6#xm8!Uyea+og^7-=LNj<_AXpPQnHZiXu%w5LRI67#kc>8SDDl zD>wL5A^wzmcr5aKL`6mF2oIX5IET8rS$X%~Cs+cGU?u&F{r)|dL_&$W=Z0Y2nrdfM-?@-4b zjHM?|I)^2WS$FsL4Tj!vgCe5tC}~^VEM^&J?MzS43|tK4Dh(jm5g0a*c(UA8{l#tJ8S9UVXwX-n`Nh!UB7>@#X2wmxJl}&7M@WTKgBm$j6Zkos% z118!uGXPfM$W+Bd%TWgieoZFqAXf35)rbI;eb0wy>L`dfHIZ6hDFYz$8jztn znalwfm=px**sj@NJ`N)~fCVs}RYKq4yXWlf2;4J(-~9C5)N5++0w z0lQcM&ah%`Z+faK>Sy8fH-HEMWf@6`SYh+A#SUK|6B2IaA?Ql1TgS5)X8YDbmJJxx z&=5;H!!`Q)VOuQLHm8nw03;~s90s(-fbeNhW{TIn3xT|f9L8&(F!`cRoaWEASHt~# zgOc9cyI1{v$UZD~dfc=KFjlq$CyDcMktx4B7?ZZb@g4?Dssx{{a#r50Yt{DTBBn;N z=o!6F9@$E=v_qFpDRbVI@){6BIZmt~%zc%LL>eMH%Olvx; zHd*v>a#8cn-jwVMp_u%bGDBb=jzffSC5U^Ne&wn)-!vaBrdU8jPR&8M-UGn_! zYwFOQ==BGzE^hcSw{uzH9D)1A9FQ+h*C)kzf~inn&*C&EFuQ)K_GBkgFCOUv_n>~f z!j|{TdKlI|lKN?yWhz01)@STv}jMB6jXnqJZt z9?eooIlz_&DM2Iy-6gE^ou2ysTIF95q500gAKO?0;o5uEAlP znV170&@pW73R~bDPTUAF=Xe;K*I8;yT*ceg(=W7#vGi5ioU2gp2(z*P7?;rn;Wb0= zyID$TVCYdFhI>W9agN*&f8Hba4U2C!&__Q3CRhW20k&|Em_UgD&Db0qIt@XIfs$Z7 zw@hIIAbG1Ms7V!tZ_^^r=Z5{u-7$d}V#M(uT5Qva)4`aOKoOrkt&9zw13cOKWN{^7 zA~wPLA2)Ij)EZ_hX?q(5 zM4Vp$2cJ5LoRtUU`G*n6UP%x7tLVJ1WAf|0fP}FvtQOQ)NNdj^^9SRn7Fo24;DALM z)}e`dN`2`d0cR38jErb5h_hUoD0jEmMi z0uVzzkr!nm)zApIK97cQ!~-N2VS)}~qUQ@o?j;Zz=O$K*ES`NZ0X5_^wCdRS-9nmh z43b>3T3yNWSpbts=5#j;+uR7jKa6OD%wIB{IJEFV&Ic$4j7_C>5ed}9kNvCM{#qVO zVP#4U>+UUSz3Pr8z3bFw)?KG_hA5+p@(|ZJ$ub1;U+>wgZ&f8U_c*Sx%1!|vu|x^P z4p6*Qw#y%yadQcOO>+=Tw@k-QKE8*-klesKA~@#XtiB}PzquKRnZtog8g%AXS<3DH zb+;M?`h(2X4ASrlBoo9p&J7Y5E?!^Ww~pj+!~-P$cqRf%7j`-Fk^~u=^gIYj869ws zEG=dkIz}=xpnitgj*PJKE#uKkAhuKFd{piCsEzG2&t6Ce~=AsHRvQ1BXlN{?!9vGVJ3Qpi`K0xK}TTTqp_2#{wbe zb+SehFQ@EF!Rd6KqmTve^G;?0&dcW9%t)3MZAa*EWOhhTVHzgzHh7$$<9RD`74mTZ zi9_tE5KfN3pCcY1@dxy3tvU3{3}1RE$H%2-y_97RN@>wk$k(m(ptdb;R4%}iSF&*h?7SEkQgZ&yTsG9-GCiLu`w94K;4k34GEtb$* z?h>OJY1r%NsxF)kkxpa6hy|Lubhci5WHF43|j4N+P5q}&IZvxbJ!09^l=yp83CgRm=FB8*i;3g1q@?=EDw^GLA$Zr9< zR5QfQr)J^!0=kvmZphP6oexlAn`Z!gw^;Vs-KmaO0pd)nR*P3D4wswJLxsYXl%z_7um*p8<@P z!nSJD>c)+uZz!#FWh>%IIRmar^s<*t)kBYM)EB>bolZVsvD!O2Y1Q+%fiwniT(SHD zz4Y>zDOKCV0-JNxUs$HDp*@Tfe?W}1BD6=40b?V0D!)Q0+TgQNcCud zVWn-IJ-Bb6qyr-BFS#5Wgk^#YdskZJ-Ks&-u{7aY4f&r)tH;0Gc-(`q!0Y{U+Rj>F46rDuMCcnWo0FL;E_kQbkPD` z^Y`!9#MbEmlR;0+oY39duYdo_&$VVd6k2yNlTEx_?b+qpJ$!|R)30Hvwu=xQPr}C5 z3U{Ex5MU@j02pv@2YB9Wga}*%uvqUH;oSxXhHzQwRRfifHg;phPfGQOui+xDBBmcHz2RZm@@9UdK5GAj^wXep6VYD!sa z1Iy9YU2Vb7$)eUshS7i~ECYqj^V8-4h(Tk(M4J^`l!P2&N^)2mHaw>P{`NPuYtJrv zp_zk=Sx{cG{A3&<>)}Y~Byg<^bMwxcGe@8M)IaKd?|vJ-)14Z`f9us(yhPvl%71Aw z>w&u^FDt{%9HqMoj&}NKi`Cr7=sv`pUWNsK`I|Rr#iQ$j(j4-)2*tV{dB)Ql4Ea$| zQ`TacU3QCA892ufqMcXTYTLa_>E2zMl*WA?fidVph@Kv6IGlrXkWLoaYN)@Hi7ZZI zy_2JZgB&#?Rw>@KHv^DsKlKlYJ{Rb|o3B^T9$eFBRY35z^h64134H~vsWv^ZYnyg7 z)~XV3+!8O15Sfcq8pIAO#QU00n|qVA*f}mbULH9;jS|~b-+-Qz0$^E9oibH#c-?Dw z2!jBi3M;n~cZku8tuvw%R=N?L&@1eD8$gRSDgv*80;mDBxnY)L?}vtPr0na1TXqK^ z&&qAb-5u_MJ;9=w2R055Z$_t?ObOBeg*6jl!zC5254_2%-G5XlD zdI9$ogTx(rBls`1PMxIbty8dCvBm~1wM9I~PXG#U#15^rJIF_{AXQdYtAVk=lc!Ht zBl}>MCfzWqFNkj_)U^5*l6v}gG5h47sB7m2wXeHN>Bgn%10dzpWzbKe z8abkWj~WhAj@9MQzVIVWZk-v3W|;YQhjAwg9ft-9a=yh1hf+G$=2Z6R!95%FWO+p} z^*W}lJ{9Gx_6l+4*h+#mhz>_{5L(_8=XvIy3X5Grw8_x#VUJn&Ex>XBp%wlF*OOR@ z5?nV}O1+4POTu{x1ISZ|gC#a901&tKJX|DxH|^F104CRhIoSIE1jiwNmnrBQ5kMkE z9Iiom+(=~TPg4>91Y=!2T0sexag!)VGt1le9c6RMH2JRq!F+8_JPyYYyy$4`i#nnB2R$BFDNtR?;wwf*XUU0`9Yy+m7-a-hFgd~*2 zK=LIaqyR}A68IQwY%E=oilHrya)><7ySK^ zMtb}Dym|BPnOo-0oq|HV_0Icv_x%qrbLwPHqrgZc6xY1cbqoiP`-cq{0fgITQH!qf z1r`HT0Y`e0IEPHRRLIGJ+(xWw!a=&??=P)DanW83br*1&I5rZp6SEG)Rozs`YpXeu zo^iP*pMEN?e*Zss_Rsg?tw&$L^Z~Vo8}$O@D^vp!3|pgQ^@}h71NTWgTu2z|g(hL> zM=l(pL<-w>Br~Sekk;MUzDM_wP|0=rlE~uXVmY-MO|{gNLp^NmMeNd32m+ak9R!Lv zg+L-8nqyk?nlRp@*0+vkQGE0#DV=q z$Zgt*{?Qr(!t$%7VB;bE!%PRw`qA}r@EkvVE~j1_g_9P&iZ}j#KdpN-Nc4d8mFFP# zH|!`g$5Day5i@Sd<)%|izDVpj<_!Xe=ErCwQKv<-m$`l?cJHE6ON-V(iYBQk$qbLMf>P41aa zPms3yUD#LHfPA+6wGE9N*PY0yAhBl5x%3<95l#Vw*IVPnEwM_viF(MTP;cI`6F>d+ zeYAvCGU(e>T(o2o27UVi_Bn)O$DT5VC_QNOga{5?%FReI0pAoh=r0f6g@S#+;>9!Z zwF{SGP*#?)j0yDCs6UH~7!feQRoZBZQXhxu1SGH<*@sd^aFi1q921Pe{{84DS2Buu z&H%?$;~?%q+@Y16m9_@NslS7Il3ET^cLaUT(2?z+uGmP?I*W|Wd>sT`?hv42M9=TKjtDBdG94(q$!zO9q{% ztbP^xc?x;M$d{FCyIkCrq@t4{ z8KZ?;ZZQqTh{_#~q!c=Pbx2=zt`YpYJq{pts~6uV2|1%CVC4f(qBWPDWAy9|lOjz( zh)6{(mcnl7BStf!6Q3hi)+dgeX!cO1-v!2GKy^qAD#H`tXa9<I2y%B35Y(zSQ_*f_ z?{^~u#MRX|kdPbLdDlz@oE(QD6}=egE9Rw@t(DUq(4UNfClcwa70PE^Lrns5?bTo?w%REa94=cOJ85Vd|rM35{!d=y^iH*cb_ z9Y;!0yeu}^{3kd>JUk}?vXysk(5+ltMWCU3Jh?;^iQC1NyqQjqF3#8CrtGd63wYQ> z4yA`U9CQ_lN=#)i>{KMBrclJ{W0d@u7z-#-(qYJLB#!C%DxcvZ#`5ImeB}a#M5Sf} zit6fW)K*oYkv?Nya)(fYLfn8I>*RD=oQUI2JOkE63m6m;qd87Qz|h1%8oFZ7$0(8) z=dfa7$!Ng<*Iv5i6adq1n}XP0fT)UkSQ15$$Tg`>zq6*Jdfx}=lQDn;mpH#hprMo{ z%OFHmW8uaCMFDpNAho^`B(_FcJ6q`77uyz2X^Dz0fnlu~C53$$ia#wAtGj#;%1ZX2 zf}&D%GWC~K0wytmoP|0JIZ7nOFzGM~0;lK6_e)|_3pqwTyRX&rUt3+nmc0zEHKiQD z$Z(@HLq`!z)pZ!JNv&9TEW+91J1L&24@16I%`_=D)zzV;jxpJ5%MikR$sCYCgFqyK zU~vr#1d#+t48ag-KqBB+qLhH4iFCB^pM}>CUrE3SBykVzdnoR;`eIR4yc?NImmoWD zsC`L~UH3?U*sWp+MWl%{=isdjhI(Tw9m80)VH7b!*y3vVt47c%8JZ#m2_#bCMO%j8 zxFr*51Vt}_!%It#5v{oG5lGY{O)g?UqHO}k&Bm@OoKnEm9xv!}6Q7#(-juE*GKnNQ3 zF9;|)PIrzrjv*0eF}>b$RoBDxEE0bxm3~>7R2BhI^O=NmUo&1QkefVj1rl>y+dL+H zNx;xOEJ}d$Nlel^^M~eKW3kd32pBvnaHtF}mZiFSKN6;;V(iozy212)sKc|TrXC9r zTUn2cj={-ioQHMy--~K06cI60meo_HegP7t2*_M(*0O9_`#L8AG{7OTX_6TOB+`-@ zV8r`La|DU3LIjFgXf5MGZHv3u+im1jZ5(UiW5^wgLm96qg3nqTq9^f-YY7YjfLT}o z?d!M+56U(FEno-M0)xP;wf)QMUc3Z>&WRXBeFikj zki;b7GvEo(qmQkx03q;LfU&_Mu}0vrj`I>eOT;UJwpwgsX=0wlfW;Bmp(l|^`%Z4F zVK?W*aReqF7e{MPrZC)7=1lrkIZWbO&y)T^)q~56fb1GMR}RSWpqoi}S;->U}YE^Y)njkyyS2KF7|HZ zSn#$O(>W;O6G%i%G++f5QlR#^vex#twXb8+T_nJ1oT5Y}qff9Lwr*iM^vu3QDP3bN z0+{Zhy2D@oS&uSnX34^Ep&Vy`OR-6T7GyIH~Z5ADBWr%cCbzrGV&KiGxBt$Q*1mp{g&ljocB znR&x->Wz<}U?csY{BdYvi!3v){Fh9t&8uX=65%SAlvxZ=beupmCoIrdfU!?nj~9Hz z70ktwlavDY*ny;(t$ilwIl9g|ZarVR6UTE<@vh>`zK)!E$XfOT?9Shhy`{yB?vjFf zZ#YFrFRx+1YKHyMv$ObqN=6qlTij;87Vs@#1`hX_RWCpSpIR-Z6n1A=I2N6E5fY~k zMLC0=%sJz1hPh=_Msf?1FJ><}6JxHs6uVY&mL*1gZ`No%atyg@7?6;HMa1e8u|zN( zSKd<2b)4B~5lI>_St6bRjPl@Oh+I5_7aIaK$3?8xzTrx`m*(EXUZxi(aMV^ z&UdnJJ;!v6oQl)F{X@+E)x#)l05-k89mTaC)c8};K%iF^??vC!XD}pDAl4P@LP@~T zrgSJR7N<3*ddyERK!QHCO#m6$gK+M3H)GaiXCfmr$6TR-PXdreB3|;nTj9+G$8;A^ zACYWN&s)j#Bw#NW(;27^K}I=I@3g|5ijdm@#2urv5GmFliJg>a1Sws|CkiOKhyP3> z*uaifJYmjTM=fxg>&elWv735DGj)xF?huson!yvMuzx2Wr(SpkZhL7HX5Rf%6jzpG z{o6ZG+#Cwx1N}!#V9$A9UTr0T(fEaNw}~7^!R3?$7@g}W=}R&5`WeK`K_4SCGVM6l ztfnteQq+(mNfto#@f}!j#yOZV|5OHRvt@E>1_9#Gh`Os+yo`HKq0Bym?(JdpSmZEQ zr$9sk^)f=En?a&I&HE7^JCI>>lUa>u%gze0_! zG-VKgxXmBUcVe#MbLAdmL@T<^H*i{o{5Q5??DxKbQIn>cdo^Z$@Q5+U8Z-p67B9t` zw_nG9{_zl=>4o1GN}`(-zeKlK`9&g7fFbWAH$QJW?r+U6L4QaVqQW zj|g}ylDUuNRyu4RtZbX?4tu_nS31rBQDw3ts_pLTtt?ayP7E$}_ILCPwr!lED+@ysQknVb8EBs@_@WUtHF(3#gh(qs2b2EF( zW!Am%&flQyz&?||IGoZyUM?ay9Ju>$Nmx271$mkLekv@JDWgqo=E#x#s9XX^b%P7* z@~g0D(g0H@!R7tJoK-=Ax~$tplYC7BQYN#(>X2kesXf3jupCklpPtHh=o$wMR7Z#0 zj@549>$(qCuywb@A64$LPgbTrR}%x7lW3HV@;M@;j^MB|=Jy~KNgs)1%Y5PWHzM=m zrP%pFK59Y-VCTDq$ouwHIE4`$lhOy`jH|B48Na_9pS)Lq!u`cKNX5RM1OJ+-w5YSu zG7|@M3W-d7h#G0NtWvneS&Sc-yn?A$G|=)?$B6QKONvo^pbk@Sehe`aPDA1PI+U~} zuXz<{gH!|hM3!|2J=>>__^ZM_>g5A)WN*f#~k$4+d&My1%gzZnlan~EP?IuygQ zk_p}e|U@w!yysBLuNo@Yz2_}BIL`+xScP8dgp$E_!s$94XriwF*Vi_-tD zN7cgLqxz&jp{bbRSeWeh({}#K5Age}3_NuXV;~omSkI7B_yy_s0whqAzWRd{14tFe zDcP0T*3!rkb^(AKr)SyODu97LOfn<1U$OirXkiqboiuwjB?0GL`(5fTeMtOXv%cWE z@8bJ!y#mLelSsh3P|`@k;M8ss#a!x3;de5i;ER}#O7gJxy*z0wQuF|>11(OzM11mg z0V?^LmpuA9rY>EE`j9AWq#Cq+bpg))|5o6pU;hz#BgdM&_+yB{E_d+S0t$(d*Jx3c zM*VHYWSL+3EDh%0uNn@bdep-n$nS*o;s9_>{Rr?`NmXaicKl+S|~& z=6U@07x%)`MAJ6E;TJvUI07V45tO@8_5o)JV7M8kF18K!dv$GXJ&LmsFd7I07<^et zAkm|TjhTQ;fBhJq*?9oV?)ejmQzP-%TTa7-qJb#T^R)SkaqFM|iKTzK7bWbQ*#7n| zRC?oRW{u^XC9S4++gQPf4CC!fV6;$_YNWDX%lSSkya~wPvKyP;DZtS0T#Z{_{Rorf zRLB4f={bW~ufX!xUc!acITX@J;57siL?otAhxxIAqDyTqF>QEXT(DvrN~#+f_e;hF zntFMG?V4i~mew{Q?%Vq!$I1siWugrsPQ`Ja4@SDt(n zAKY_4GC63ke?}gn+p3Mfl?cO2Yn;as1(zd^;d-i2y1tsC8G(4oQp`L5GEAAffQmmO zy7Sq3MoAHe^B&lT3Dakr*R{)JcDnf^fEc}?z6E_R_z(+nqVfI9`k`-PI8r(7LZ7$@ zGk8nc+TakUEHC~y-1X-(#_`oi8SpcfufKV+ri6q)f^HaWi9}@eea*`s>8OdZwTOeT_X^g*u_!Ygg7N5+Sg4Bne zz?7>mw%$P(cS0-25g=9tcq;e6eSa=O7C(uosTT$a*OW*<$0h}8wDG-%;cF~M{Nme> zO}^d8MbX&nYYsBvV2UBy!`&)wVv8{?O%2$v>RtTn-k+iBwYA8dmW3E6qa4y)>*|?-c zIc3OR6N7nEGL4%}Y-}p>CKlk0U*uuf8INMnh%?P&T?};^N=1c&2%9hKY#=(*;lrWF>J|3E7o!Hr8+nnsNmQp5)7YZ8W0x; z{4k&_?LVw4RY-?s<=8&>Gr8GB`k50!2W)xYCiL{oY+QNMZ5T3k0`9$LDVmGxa1Cdd znz?W>(gqCVoffHB*Rz4qzTM<@$Tw*Bs5bRP)tr7#IcXqfjqQg6RZS=?slyxFJXjHz zj*UAS2oUv|SgmhT`d}>lA^Uz9zgOUGX3VaqulX)A2M@>0Uwj|UoMx^h{$UJwHy5k# z{4q98o`}h3ED^FP0*Q-Q`ItK7JE}v}dh_nR%7%Zvh_^32m*xzh_|L#c$VJYNuHmGq zqdC?-AG`nOFF5;?XAs9A;aw3$k1ap~t()X*^_(mGzW=~VgbZgzR{tAq)jziYV)PJ; zJzKSKBvlcpxBv!x>Lje??6M875Qu-Yo)b9Ny(&KPtGm;B+t=zN$^YwQcGzXSv4zo0 zJQy~545{M~!Kg&m^+!=p-F+<)ZUBfP;D$ywHtpil9M5ntoMtYZQQw*DDi&cUrw?d< z%7@SV8`1xKgw50v>^prvGN(;I>a7>R_1*)R6>|;N{^qY3I%68*Ia!cRs0JMNGnF?p zKTKO-o?$f@R=wEbQxoTv-2U?iF*a^72Hbr)%2uyO`QLtv!k^!Ub-XKM*kYWy>1p&I zJ=Eg3pCek?FLG=FV!xc+N|;<5o=152U`}mi!w#(DRL1S;P-iL>tuf&V5lOt!* z?3>$&D@Hcs{CQcXD3+l>96%14mYCGa$dC0;ufznLL(gHx?Mkye65<9AK+}yUA?^AP zkn!#=6m9$%qZiCID6pTotE3(;tS!U0&lqe*ZOW|N(V}HvYuAM>KFLKPee`go?AS~l zCla&nzXMg@x)im0iV>fafefB=Qi1Pyzn#zF)<*{r%8im8Y4A7J8NbKHo@~zeN>!}{13uLkA%NZJsj~95LNgvT+bE3JLWqG8#snh3fZ&HP&W$K>7c8GT20NT(Y<7~ zVQqDsquli&=eS^T4({Wy*?!E%Zr{3>qC@BiltQg<)0FeKsLWg6Kbwos>gd7OsS+5+t zHgX;(CQV(BK^1w}zG?$}^XIhRx2doSS3OpXkMhH*yX?U?&&oDY@q;;uOvK`7Ej9J{ z@bAwsW>`HYoO3$Th7CdtXAd5*Y!UoV7oqH`2M{qL8`)FFVIUVf*&w#}zi53_RxJ5G z`P@x(bEx4Q8dY!?t$}~@O^7T8qO$p+Cr^fd0D~vT5{L8&cT^DsJ9zEdy=Y;*dWI~6 zbL29Fr{s~VBqM}T&O^c}J$A-d5BD|#D1p_o{XIBeIhmDBedpxo5j|`S*}_Si&xZ9zCD(}0kh5l_oi7>6Uf>EX+m!5X1RkAQ*w;*BGw z4K8IZsH^qY05EYweNzEn0r9GCc?ijW*o!q2D=_BOd(bDv@*@7v`eMvqUdC%95t?3& z;@?k1za-0#O!wOP`}xe5mj42qSNsHou5rVe_SdH|<&tw5Nx+8lyfL z0xO8!yzB{vn>PNMz3`0wCL*R>i5N~l5K2(6M!Hto!(L_G>#r(ANFwn-4En3`E#A=! zj>Fd2=N+`agd#U$B!g{d#&Wo>2cHx)VC9GGlPPmyd$Aka_j@=}F$4z+T5;>O(fHAI z;}FAnP1M>89wJ16L&@fbnmbXxP~I^a{NnqNw1K8^&XFj92t@Pfi}mzP_4was3-Q=p zb3O$Q%&W&PUa@Ut-Z6w_xP2zk@9siV?f{A*^A4 z$7w(NLAw=8`E(~86+k*ZNQ${LF$2!&7sEvns^y(C5gogSuH9MG4H$|ue*-)@4V`y)0bDq*A$>$}*Nq1;Yf>?m%*-)*h{Ud{(h_XnxWNEo zK+YhfXJvEXnf1+`gZr_i=iKq^U#Tx4#~4d7oLPwi&OCJ}PMwp>*@Zjk3cSD;;i|Up zWRD7M1vAED-12W=qh{Xv-3uta`*u8?zXx-Fbt}^Ucpdzgw4mr0PoezE3ux-iCI~I@ ztUDk07y^WEXed=boGN(WD7a=kjn?-kvKoe>t!y;05PaN z+`YZWI;#O&-cO2;!m@d}SjIZEYFc-En#$gLZa2^;ivDJYa@)0SD>e}v)8WA^tUmnKxA6$>@)Cm}q7mKh0M$>Pm_^n(;H~d$7rf+8ZYH6=M1qu{(VzW`M^Uczwv9-Pw1!i*C&zG-|E1%xnp~NUD!B=010}U zZ1{Xr70A*5B(%NG-N9ENw2yGF$~Z=fv*8YGNy>M_3^j?RO9W%$gi@_(Eia&XnXQT{ zzBhHd25gY1ibbr!wI~<;P&PzweOQEBo+E+x4aK;jhdO}wY+8qOKG9uUiAZ-HgMmjN zZonwSj){Y7=bu2AIgCoV10e+r#BGmaqz zu?V3X#j#8LayHN^cMyEcIhqyAe{DOesfVx(28;$spI_<6u3TT8oJ<49YE$*`mkYTy zcLa{zB{lfg|CUpvO~yUbycj*$>g%W|rAYST{YW29P*D$b(tNKe=^XwhcsbumM9M^} zE-`Ryk(9y6Dw?88IrAF3@5dbI_#@<41z`giLxA*0>;7_h*zXm=X(N<$e;B8k$eKRU zEOr)03J%?WjGA)0C_(E$%k4}|hle7dqwip=6*9m%2E-a5dLR2)q^54d_!^;t9b)ZcOPD;LlzWyZz>TR;97&F}3))|fHmAa0|#DBO{BlNjbRv}H2}xw+p!01ZpPwtwG= zwQoH^;+6ueKg=uzQ+$B0j3-h z!+}HWfOW)LEsWg?=;23`?27c1?&1_=f2Sr${UeN(8|DQP$I<+}65isi)+0>C_JZW7 z>YH_Ffdu%?BcI^0b(99OL-3m=2}nt_Bm;#;TL0GTNMxHea){xS}fqZC1eh0=?5 zID>+ZaJZ4tN)d^G($sbF*?qBp<)wJn zOUbrySzON`+LYHWv$^O9evThN0vsfSz2*L#AHxx60pzI2R5hd)h88fHl-oGg#Jldd zV2lFJ>r6H!fH=uT_`Slj!_c;2Iot;-bAMTJd{hVH%J;5Hqj63U!|p)6^To0bve~f@Gx1Vlw>l2u?Q_ z!g2L(gv7hhFLNGRcHV+_pST$f)LR4+&9c=oDfE(3>YyCVc=|46pL`PaBOcSY4bYpp z;28cKKY*x^rbhXQJ!!f8j?@vU9=cLm*hk@`UPIdOHPW+}amKuFW5csIq3$37GM&Px5+&aEbSN4ye70W!`BD9Ep!)d{?-D?j|e5U8y^o_8c;*eAImB=-rt)T)w z4m?{7KUgl0KRal*w@RN#``pvHTcR8Y#9Z=$t|a8K+6xO4gN{>><~v?XZc@$orOj z!|05AQ1$3PF!ZEBNT#=b?D#nxO1mGE7S6)%8!pG*`yNC5h2!C^twu~e=VN3(O>Ef0 zG@Tsv5qad&1rc!x;}PlFgil`lKE|E7f{`p!3`hhPJL&mKhJ#p}yqAB0?{8LtpF`VL zx$SELw|(L2I0M9bzEk6q1BJKO0))?1$9eBt2!ey~)K<{yRE@TZ9dJ}`UEmoq%qEOhst{trF_L-pok?KO{vJWGiX-_9*Rb=~Bekvi*0+Y1z*w(IQor+GhrZ{@qM{YMQ9`)D5DYxo}ivEUfGMV`!-=r3I=l;%L_N z(rv}lw}Dg0DIf&rVWilkNmUsT3DNO%OLuL@wzuxW*wgM{?|m$}07dP$%pi zDS{CJy>w(0$7ptWIr4$?)(0Z83`|cjkuPn|W8Lw^zh4SK+M#XA6L>M%$D@-;`~*RK z1|lfV`Z-0iuVoG$8cX1>EF#C)2><@)*xS05*Yf7n+57_JEKvt7uAvGQ5Q1yTerFvM zvSfZ_NKU`6no*pi=@&L1Aue_zR_^0$PdwlEA~*-khLg^gp{dz)yzIlkbMY2?*X_!@ zyUh;o`>G|=g0tzi&9QnvyPv74u>o6O{uc&h14+Z2>=2v;ABT}TsdIRm3z3x4hk^8- z$ICO$M93)_hzX5CYZQZi$21_yK{{X^>r-g%6Gezr%M}+t49>=t*s<~fjF|sjjw|Bv zpw!&bikiAs&Ism0c@@W>H2RQV>_TyQ8(QcTTi)cy-bO#lJRxW(^WdScN8#%8h8SRr z19kP2emMXMda+M!noOmu22M-IJ!aW=g5H^8%hD_VEF1m~s|2+!rqWliHb zHvg1gIqQt5`0z=M4!IEBQQ>HcXZWE~cna3D<8n6qV}1tbpegi1CMcZjJULA2EZf6e z`jtMUR@YTaVx|w3%{lbKR%;9tZrg&Uf4zaU1rg{wZ5{(nWb>PdXV1uY&5)|F&X~IU4Yj#jRz4ibu zJCiYzDRB_yELYdQ?ui8m%WowTu~?{)`MGU`OuhmuEG#}1VIx!F8$Ju}-4~&Gxf76h`ZUuIA#ljjq_la}JI1uzcX)rqjT%qx z9!I9Fa}0;-*-e5^qc7g$7%}$>H2mt9aNovh>=uPGU|s{o>?G1Q-QZd0)`UR7+p%aJJcA$(002#uAJ5yTM;;p!SnQfy%&2a|O( zAau+61!()|LPQQrgCjGO7Au$0H`+mBgQJ1qAj@@c{s`{myAg5j6$nd6Gx-@1Du30L zd1gn1S(o+LU)GJS81H%dP558kiYf-HtG?$T#(e+s0QX>A-HI~oed!4dn@;!hNs|$l zK^Cv3+d&=EyO#!!5*k4`2`a^=kmhGF_G?Q~Q5lZ?D_)0VY!nCEQDi1j`xsC=ls;RL zVFX544XT<_vA$>;o-Z7SXBwGjE4h3hexot1Sd{9;#Qr{HBsq|m8jkqra70IkA~hj` z7B&g(Y%d8oeOAMj2#BzN+1Tz&>8dVrVgX{|gWQ9$pbi!xBqo)OcMzclx8?z`ggC$@j#1a#x2me`xyw!l!Snrh3;KPN5$s1#U~5imis|F4 zguj)#o}Ym`IGPWP5ZTsr01*+-A@!z3D2mEO{rhhsdd5^J-bO@(mrD^U>vHj4(Ly}B zdotF$v&b0;w&Vs}({DG2p6tQwd9#t1m5$g5OC0-jsXN~@Z6V9sTvu(x#Hjcrf;?b& z==?V7MJF^_pFt*F^>{}NP}3g-kl?b}UEuKh9;%ObPKqIt;Q(6;9?dhk+lkK{*SWjI_k3+{a%-juu03yzKz*o}SFb%1~d zj2HqfO15rN$x(v`p1%hSE{{IcJtAouZ=;Ow^&FsKgv88%YH124o=zR~PJiNw5w{Ww4MBb=PM0h#P@bcRufN|ci99fjcTQ;sn5yvWJ%|FNBCx9(o z{+Sej+Gmb`sR#TF{D7)W#>{ITtV;d7#21z&LMd#-0uG#Ei&I-drJUTyOU&2R!c)m} zW6!f15w>)_;?(C==;xeMUGsYg6o%M!ser?@^J5OF-2}$Gnv0a-!%$Gh&&Y^2VQt&U zFc{IF)+2u_Bi%3z5V-gl?7`3Af%0B$;}8YMzLzoVWGc_6&%sj-BaoF?kNeV|z#p=2 z!G&3WL1q*?h&}O~4<&{(XSEq?V`3cVu`ga@o^M&yEIJT3Xl-rer{CXRK3$}1RBnk> zsaL;-&HrQ>hjS>n(Uo}KUFYci;hCOmOlrgqE zk&8JF{XSZ?=maFT$ua3|p%)>7uJ%e+MVigtpChONQ-1+a7!J*CF9-Q-dFy3loyx8$ zPPMS6xF2RbH4r}>=E3bV7$2aOinmPc^ornI(_B-0CU^1cn46s5*N0P8)UxyTMO-zq z40#C^sC|DmMutC!SkE*%EvC>I=3^l07FxHcE3kh=fe53cQ_)zn3QY~OIAt~U9f6mB z2id_~vFEpNHE+YnnXl6d7H5EQ2t*DHoIVdtuRhCAKqn(6F*)db=aq6|IYEys z!-#=i1*PyzXH-Nv_7$_aCuO1=g0Xp&7MCE;`!+2LaoahV#S% zB*5U>su}2wb>OQed+bg!7Ae+I>R`I7@Wv*#Qmp(oa`BL~VOCCRxxSE*cITlz`&yf* zHm_cV)RE*KLr+4^;7mMsdL>+sZNW9kt1%{N2Q60Yv?CYsw~%Yt3&FvO*$Eteqh{(V zO$^<@PF%M;3e`JXC>GbFe;)fVQWWi^6?OZo&{SCsH-p3Z2^0r=&wZS2H!?H=u9}^M zh1y8!A(R^OCftNw8yK9rav}Pp(VAvbkN{;GNkS*L5mb=>*1Pyeab@+!2IQg@8!kldtjMrtRXD(d+?U9=u^xNdwbr-z{5R)q38 zXzo!zhf?1RPQJ6`J@m^SMh8d5*`iTE;&y;W%tfLs5yPjBS!X)?{gMGf%-hnFT7ULi zw6(D5FMSrFLs`VqH&|)kU|?i=d+G%PFK-q8aAa;B3!zu8Kk{Pg9)G8)Hyysv1qkm$ zD+iO^;#qn0{vKToSRZfq_HAf-^EG7NwG@%5nN%sN5qfYvmW*U*r`9Ai)kPwN)GhVH zM?m-m00PB;!hj=aTYz!f3mZvtme%5GP?&-*jzI|{*bzuzIq4rCPJ$1k(`Ze_OAKqe zgq?u;{wkA22YKUWn%5JTutV6I?QQ^~WBq)|0O5;R@4~g!-{Ic+7F&#s42(PjVMVX9 z@8T^)PhfZ;yVI{@iG%m`;;akSqsYA--KsjzMywp-%bgH_n|=HD=F&QQdq zbNcD}QnZzTVy6rZLM9 zw&+_(pLnu;Nw?R>9UzMM-o^<$B}%!g_R^d7KX6v>KzPkdh-7%4&@Y zK7C8?Ubkz&0E9%g;q6zEcP`zdGIH496`^VWI=Yoa&_PJxp!wG58sr+{BGNCowsj0~ z3^%!j$3;jli3xyW47k=xk!ebKrjwSCd`-9Im) zCP>T+&}G2r1{uTAHvTjQw|)>2yKY8U%p_JU&3LqiuYrkJ1a?W+uEKyy2qNYyp zMrPAqp3nRe19!DoTNiWbz3gx`U=vqaNilXleh)6W^BROw39l(yN9R9|E9X4zK5-9m zjew3}a}sYrj1n*mx1g!FrJ)7QEl$qjn}P{=ys4{Dv1HJC`Fgb0*sMt%5uL9>kn-iwtsP*_4;edj|+T zc-zh{a7ts|{Yhh4SswPr$Jl3k*Tfw}|qscO@Be!8~P z&C0|O5XT_V8&N92EnKurwMf4ZFdBStIs2iW*X&-i9lKe+;pd%(uU~jMCQY4=^o#-R zB^EHmxg0G-$MlVFUN#*0o8G~`idH;)!^s95=K7#-ZD=8Iz3#2uzL%Yi4M?3zXUJ}* zF9{%@EtPG?4W&PgC*j-hZ@nM>QD0}=Roe8JKC5edHjj=+{OtSiF?>vKI(9W+Ja;MD z>?tTf-Mh~q^Q`MpQ=E^c@(O|@j&4@eJE&{e`h}al=F%@(s3WvA5ft8da1#|p3{^_4 zn|-)g_|qTa2h=Zyaa3qnAS}EUltHQ}Me-nGx8KAj`Z$gcS#jGG)AsdCu|U=FdK*k0 z_PiH8`VvCE`CoV^#UcK+TM@~yrM5S+o%iRhPZ&TqN->w8p;{KA(94_W-l#L z0bn$GXqBRAp1`PU_MmXhHjY9Brd)guZn^X-Oqe_cNem!pCtJS=7NhKQpSKnu)F3K# z1`Y!xc2;VzSNc^;@ak`0#>fY6NBYe1<~|DLT}~&QgGe_CN#K-R)T<-o51H+{{06+x zZV;SNw5D*tes4OqHBgYhgM%nuXH&Ki#oHJxyp{6|(m%>eox|0{!ALEUXmZEUQLqR* zw^kT4?c7_wgX_*dAEU>PLv#%LNSG8dNPhxFcYzW7Mjb_};B)r2oqzh!K{&tcNjfkF zz}Zd7;=}?Z0A&Z=LVURwF;a|W?sGyk1a|6{6mp2{?m9%#SD`3Kmtf$OXcJUuS1G?cM)P$uHx$UrejkB zw&A0JgO)bD`3b^K9>@55^s#Moqh#fFRPr&iuf7C7UUms4oHP}E`dFQ_y3cSQ66A>n zhFud!0u1}!{}U7?lWt`HVLNVVh~cO5CF3 zJ8HidAcw1!-eaGt0f8h~(D=WiTYRdJ$7!b*Ajhdl|B0O@I8y!U;(RRg^M=~i|1Ufk1apcf!L?Th!mZ?|fo7a-lLuHK7# mS`G99q^EuH-uLZR4g5deAqNJ$sV|5C0000sl2 literal 0 HcmV?d00001