From cc1db742c6d8408ac3c4391c0c3f935d3fe2f3df Mon Sep 17 00:00:00 2001 From: Neil Gershenfeld <gersh@cba.mit.edu> Date: Fri, 3 Jan 2020 15:21:07 -0500 Subject: [PATCH] wip --- python/pcb.png | Bin 24287 -> 25999 bytes python/pcb.py | 163 ++++++++++++++++++++++++++++++++++--------------- 2 files changed, 115 insertions(+), 48 deletions(-) diff --git a/python/pcb.png b/python/pcb.png index a6c3b584b7c8da9dcd489bd414a42d16089e3472..6ea45400e439267b87373685f5bfb6f72f7f6d60 100644 GIT binary patch literal 25999 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 literal 24287 zcmeAS@N?(olHy`uVBq!ia0y~yU`b$LU_Q;k#K6EXUmzovfq{Xuz$3Dlfnnw;5N3Ql zafuQGL)=797srr_IdAX!=iTx6WuLKYxqqO>f!UUa-W+=@e1&t*I#>CHW?FkRa$j-m zKf0#2$*S@A=Gn?M=4?{6-FfGoGPf>CF=|d>dCWhby-m?j($Q;C(8rVJ5<lPluHWa+ zz`)>h`F_@X1_lNPZ59;<h6Zj%P6mbtP7X{A3_AoSFfcIajS6?~zi!u9`TpOxb>B1@ z7#LV<|DXSUYq^0lE5V@3D4Ci6V9&la@lXFJ&vbQ4KfmO{MvLXj>kY3PJ4i8dzPSJS z#QBVVJ)Qkr531N!oD#84P>8>mtLboX;wAmS>&6beOhN`S$zHd%=ziESkFifxfl>LE z{W23R)%CXFQ(j9xa9|QL&`@@AdsM|{(bd4xll^(drGzPaHpK+4OK)(FILi0p;Gv?p zo9y*&lb>v@aoxLfTkLs;tt%B6=l=d-n_goy>xseU>FZugE-+){lsNRSyl3MQBh@>* zR!mzTaoyO#cG(Ta#Xo-Bef_%U@K>IIPA(w>tHo|no0mI0sbbUcabRNGRG%cY1tizp zz{0>#@K8>LA!DkN(1C{`(4>=~@GhR6;hW%uhKn<ourR0;^9vbt@jhMr^vx1E*Z7$8 z43-=o1`FE#<+J7=;<Mjd{pb4it824({{8xA=YRR}^RM@xOa1z1m%n>n_KV-Y@0|b2 zv&G+m$!fby@0s<?4A%rEG|0`6Wnqvxq{Mq*$CQ4ChN&SF66Ut=uk*hD^W${;({nk? zJ=_@%R51yuL{9Bq7wzfgKDm#f!IwoPVw0}8?iXcESw|}-hHXXsLU*QU%T9ea`TwsU zu~tkB-vS()Bwdrw1V8ukwB&SUa8P3s+EeN?@%h8`_fwXLrYT?eeCxixIHUM9iIZ=b zzUzJZ_T``1?$XN1@lnbO2kT{R{`+cjF32tt<T+{UQ4sk0okF>4?)I3lrh7YQNPqkA zvblt1vCxEsSy{_PBstHe`hPOqzs~F;N1M8Wqwvoqt;H`UDG4nuk~H@;X)+d=V6nSw zlBab#Q_APxy-nwf{!Q$=wYY%gxuOE&++deQ!SVOb#;n*ZJ%46=cxML7@+47fzqMNz z^={pt=peseKUFUAU&Q@9`!D~FeG|JB7*o4p!}&wgVz$X<N3RZz`&X0y*Wsa_sLHw3 zTT8wyIlDP)u98si>7bv1cDJ72PO{py)%k0Qh-&e<8}I%dc_=2Ta^q3nT=#Q~MU(oz zdCF_lR|i&RD9UcUY`#?GTCn4zC1&h1j>rG=naMhR$8DX5S=_EFQrp!Zdbs~yqpNHZ zRMv4z-Jr*<Zb6BQ!=s*UsuOr;rWgB6nwa1qzdygz>e5BK+ib`0XHD;4^k}2Iit@&; z1{Tk6Yvv~0ZEe<2y4d>Vz-HZmkB8<Z7Cy1!Twu;5bZ5K$!xJ6{>TOl$M?Xye8CX_r z|NVXM{HgtIi#uGbx=jkKveVZ;J!RIv|If}>7oNv{`u+X=<>zai5AR9#QV#L5{v>66 z|ErC)!oJe||9<cM>m1e?9OT%fTB&@>lbPQ^dRn+~bzR8MjF2u5l^{nZhK$%Nc8z*A z%VQ!tY*|#!rCwFpF2p)NRQT<h)a$!$y`NYlw(tD$7k_@&?0s?P{Po{=UO(A&@?g@_ zvb>pdjV*JlqnDhI|306;*6=7FgM_b2&P&%Tc8z|i)%7?0<*Vv{Hf#-<kPx@?ck8uv z*BA~MF8anfMPRmE*1=V&W?jF(IBLGM0p%(w(cic9%=hnh*1d1Ebn%%?FWHwSEGi5Q zpSy0Ue>k@GtLUn$eHQYJoD2`HEc(W2lWi-jsWcaqJqyYLf3qz6c3E(_qC%n4OK;^0 z_izS2G0tc{yGCVC_brFD%I0|d`c%kY|5r_!u}9bF?PTv5*>_c^pUo3CzosO6QAAXQ zp&{|;thd|C^t`MVnKB769GH=GeDU!P>Dx<{wTzDPF*I-`<t@%|Db?~|VCe0-rCzXM z&&wCrp4djHDIDDMMfLrymy!(gT;B>uc)#s%<M3cOkfD@&dUkzo*J0^vleRxtTyrGt zo#UgJOX0ufoznTXcU8@npD+0L?!Wr|`TDKrAIMbwv|GPxp7ftZQZ`EkZR2X^*YCae zJWk!;w{G2c5vlFs(`Vnc>kzl!oj>!H$Lp|TumAR|?d0@eU|8EN{=fgN=Ixw5PcHX2 z>0PoqC#&~Q*xk>d6(wh7Z~yE3D%brM8@BH`eoG;5{^4zNHs3jA>!%Xr_^2f8?55eD ze78i;?%Q<!-Rr~h@0VrH`uFkO)nonlx0nBTdiTt+FMQ=@&!23HKW}|D?)>?>sG2X+ z?%)1fT48S<v(L0SyDUMr(tpLIh|lvjY?k(({nyj?=d#-eqqIB<?*BX0e=CqR{@z^~ zK0O<jo_DwV>+|jEGM6Y_`cfs@mGP->S+t|Z;~LAz?h+;;m79|bmMrE9`qbaUvN&2! zSf78N^5aSq<uaS7Ta1#NLYy9RE^fP-&0qg_o7t<Jj89Lle184S+uzPe=;@PP^KPa` z-+l1+&ZY|YE@7FEQ9FB<)Ev=b5>nq<%ldZ9na!3`zRP{xcdj{WV<gm*_x8b#i3dw~ zs@9~c8U-oa2UsOdWV`Xm_ebRJ56s4!_T1U0`?jVs{VuCfuwB-fwW$ng-)p}8_?dlo z`_yjdMW-3tBUInd;=Lp&y+WZdPLkVH^76z_7t5-%9A9}D?E3!w*s0CdSLSAzzdh|y ze*4|aJu9N^*MycX*==9A!<CgYqhb1ONzeG}pNoHfxvcqWg}(clPSMU+rAsp7dpfVn zzkm5EVYOIR{Y|bip$QgSuPr+^cS}u3VbR^$az0y<_wT!Oap%(hCDA85%3YV$7RhRR zul9Q{zqowajl#0GDU-_1J+Y|YW1VNB`6uAk#OucGtL?7yS@duTnFP99d0T0j)Wm4W z?>*ysUS5As;~E)PtHKv4^NfOiFI7oU7gd?D?AFgGIxk;TY`@ee!jkj#$IsPSLOs3? zP2EwNu2x#9maHc|4)7%j@%T72{kO7P?cpx@BzEELs{0N`hMa9r<Wwr2YHpM%@Sc<r z66V$T;_>&O!i<O4rrZx*w<Gsklh69HcRA<6HcOsd>vch&kuy!C*K^Uu2TPO>tSY}? z9Q@|NG9gblD=Vj8-p_8v$4u{ISWv9xvEhm3`8R9SPP#5vkY#lE&!Xb7NmuivYyRD{ zoPYOi>?tX6N{%^yzFhC`6DhVCYK)xMW}USGWpD1evr1SP78mdfr6|aP+022COgFMB znWmO(Ie$$0|GevA+u9@;W^;Hj%+}f8KB;6&=(eX{RaF_x43F|9*uGrRqm*y=?5`DL zgflBA+m#d2B6$_cKaba&7CtNg<Kb?cKKpO))Mc4bKj-E=S-wAP;rG;i6~EZ({#nWX z`TNtIfAx*O8@}BBZh5=4wyj(8#oPuKlP3?C^Vg;<iA=q8QF4l}`+2)sgS&Zcuf-mi z2ES<tTDAArZkzwPx962hrsjS6a6O-W>0<Tyb~05K3|1-%jI6mQJoxQPD~@-RZ1G&X zMoIZ=(qWU>hQBN-3oIp#g1j;{l7Du5eYI?goAITbOLDKBN}~lY*fDZyto~7<k^eO< zIzO2=k^h2|UFJg>hKvafEL&Do2x?X@nK*IM*2zA%EQJ|vDJn1?HQgTNywE^d*)cEA znW;}*fze%KchuoSdv@r**ZY63X3w_yq3w^iUF$MiJNNvajqg?#OAB4FVC2jQKPUS3 z6QBI_#Ub|2SDUxabh~A>I(quGgTZc$erKeQGO<_w`Lp#w&dmP%-}?lw>z&_Fb436B zn!j_eKi03;dw(J9oaV!qRn^6@oo);}S1K_2X8+2aXjix2_->y#q`KWRyYEu@?5klr zc16#x`T3sZP8*Aij{{R*@V9%-wxYA0a?cyq`EJy0%sF8*J2@y?GP5MlnJG$5fwBG8 zrYPrMuaDm@I`?m9fl(0S?9-0cx6Kaz@oA`HQCYyuY8<p~;)<RrSO2vrD>H8BZD5gE z`{T{5FB4Pm8LsFlIehD8_RdXbZ`IA3ow~hd^6i;BcsVU5g}!O9v#I&DK`C;nPF8r* zi=72AuWv0q8U3^J&(rhIlFmo{4$sKBbT(BtKV{*~xx3d3Gx-WlXy7`f_w(-)&E7M8 zI^ArdlAUkn>Cb-pdgp7ItuHwrTK@I&a&UXU@Bi|n`>(zKckT0Ln+a*oZdT79g|FTh zxVE-COtgTDw>a8@eVuL1uMN85x*r}VcZXh2Og_JHZ?<vg4tCBLoza2`GOTrTch3*x zG;wfXT9vu>nq%zKxZmNS8D|g2@1N>z<Z8`+&cT7nYH<fkthL(S6CMZB#4;JOtdh2} zE#PHupSJw)N_nR2l?segb7y3z2RoK$O)Z%+sbMRN$^vgAp^_zeUK1xagtDkCuv=}~ zqg9)bC3odO)CqOnIm{Qh8984}RSNojDY^gS>lL?tp4?Wf=J1$BWdUcGhk@KomKPHn zShgI>;&ljQlAhq?!1PN^*>UzQALZP6q8CKoH?x==xvj()eCTd=5nn(bm(T^<nOQtf z+xD<sK7RX;ZT+98=cjD76)K<ow2EOGr-wuInrjSuZ%=bDOPP1p(9?}cjKjmBc+E9~ zNuiIg3mv`|T3cnkEb3d$^S@Ub_OPfV2p9>KWYr&<II*FJMP-4j+O4@^_mn2h3^^YC z+xGm_+-u(+-(tuUoX}9Hp|o}7wG&&fdCV=T-2c3;$w7=s=z@mp664$RCthJ^xZ&o& zbSrghoAGT>Wfiqbzca8lP#}SUNytD-a;4+!>q&9eEq5<G>AV@qU?Vu8VcE<K^B&v$ z*E1(onz=9bv|6?B&i6b1!Z%*N-|Ekxu)p13US;*cJ)HLa`~PItiRcEO@_YVr*0mK1 zjB7t{FP4yuzjb~_pNI@Yg{K3PRl-&_h6fVMZfreq;N6)JZzH3N>m1km_6FNAJ>V5p zS-`*OoWZS=DsShUl(@8b{d=1WMvR;iGpllDM@h(UFW_UY`0?f8&-+vUXt@Q4x-^*k zY-HZ`@yE~A2aJ1m6~A4w*!GXqC!J-QS@W4w)D;*-Yj)rIWVi9;^Y!-sCFUI6tLATg zWI6x;JynUn-#wgmF7ezpKL2%LZdPitx%;BTr1ZAL{+Ju}u3+cwbf=4nNtd0=<<Ax| zZSFs|S9XCllaRrJioY+<hfBW9JTYTl);m7K>t!b<KQ_L^_;SVZ)lYxUiJvz$pk#x` z?T7F3T2<uCuf5^P6`Ih%w@0S%-{;TQ=iAqI+_u)YDY=__O2PCg>yJ>`PnUv|EEUv3 z^<`q;-+XZO)BB_GdZ#)~tCzi>bNZHYTaU|m7L^A9{_8#e-w&_1{=fIf^)Jt#{L3%> z^tt!?q3Qj*FFe$}Z&#mNaOL*CMTRdoSoi(gyXlEh^-taSx7*j<cpb){DI3=<{(t)C z57+Zs>-22bF$li?9)CNfKleD7WM>|y$AxK+pKp=bR`ZQ9J}M`-boIk+e7D!|lq@{b zv-|L+z^b<|mS&U+NUoiCqarDLbuO>DOosn$+p`PB7&*_q)7(C#&$IecV9MRMVYgpD ztG1dl(X9HMvGwFj2VY;w^>+7Pbk#8>$7198_~lRHzX`c637ziC-7R@+-?r*m?+vT( z-0Z!e%*Z)oS!UIbFAD?Qc8T^T<-J|J<KBC>+b)}{mzmoyaL&6qZAz5HC%f(^z1h3( z-t^R|oAo^+N8qHiaQTk97kT;8=T!1!G(JXL;A7<6p)qkH-)uvPlhVt#?0@vzI>hBv zs@dl$yPH#+Z+;5AbHnnMw9B#X|NPUwKfiJJuKUD2g;~!|McT!5IP*Nr-|Ek>pyS5J z7lyK%+^t_`guSWQGA&}~-(^$RZ+_xsn*BTTvrw08KhsVQj|25jb${G>t80|oxY6~{ zG$(egsvYUSjf2X!DlbS~c7xGXW~WTN$$iByN>+2SuV-3y-BJ(mxMIh6!{33aN+`1Y zbX|<!i(hO@EdHr%>iQdhXx7#@^K75a2{p_tHhEQ8CtD!FxYE3S&+MB&et);gO)tNp z`SDKNug7<fg+=!5i?>b>@~`@-A$EOJ_2+=No7VNOJ{Xp7=h3|OUjF+wk*O6s{_B1D z^z-$$FOwuDe+%io<>TJD=o{w&Ne&NZ4^I)*L;MWNU8c+*h29H%Q2Rfnf<18?r(&<L zz=W#LzrW83e4diZ`%8#3x<M<*DezdxWJB4~SUan@J9S$7?(rQKnBcZC#^u$DnlB}* zZl~S6xO|0eIma%6t@XiNd#8VyxMVS}($BxM(#o6VI6WqWx<`sUm{<Rf+jZHoxn41~ z40Au(dC2YxjoN8yvVUuAXPeO`oe#3VcQZ&`@VmHduJKF1H8p;5Ta8UTSUacfIa6eN zZd0(`tYw+A<m~HXXHQgm$p7lD?1IRN`SW*dU+SoPW#W>>f0NE071RIM{*J?=cGuRB z!=)=CLhYjXRKnKBP1BSWjpToI;Cl}1jxcj&PxqZiuCg1bFme_JSTjY0Xe)cVtGXPT zwsJC;dQ35Y(DrXr@^0z;j!Ey)3py_U{+Gr1XGi<oAKEA-dM~!CwWyP|dHKR%;+`9_ zTl`rwE%eiGO70MUB+bpE+x7L&l!<&ZzH3W`3JM823ruMEW47k<28E(hmYlD3>A$c0 zbGRl?%3yh;qVP4Ra%J1Tu<vmZi}#!rUe<78dTY?GUH1|fdRDdX-*;nExsNCRJ^#zw zuSX~4t=;+Z-n0_Uzwak*-_BYY@455K&0?#rJN_{T%$S4%Tsjw?*9}Z)n6cgYh3k|T zU%mw&{2c3PJzuZtjO)e2pM6wv8b5M)%#GGix_e80m(W&!hI7h!Ira<0cIj$<ozdO! zjnl&<q4F&A<~O@SU&tnJF4_7}<EC{=Lg0_A$anR{^EZFGS6g!Z@$>bUuO^lA*Z(b> zq$4sfeE}m=Q1><6mS2^#_ASv}^{p`e%#Y)D0_~o6=xw%LZ|k-5vbW8(O-|{T_8eBb zb+mV-!gcB8TY7(6moQ(djJe-t@^<$hzOe5v^3VQdl`)ldeW$*TxrO66Cx?ear2D;| z65Y5O0rT&xZYnZ&i_0H5yZ2Scmb-j<@*h>e;#P;=aGuGVGpn;;!~6!5mj3(i#V3|c z>p!*A?(=K?=cjjXJ6HcRMTom9eN&d_{R&$P4{__b>vL*L{M%2tryEDRREc%xPM43( z*t$0Hm!SFg{dXU}SBZ{&QuoNp?Wpr%#(!bISsFH1{P|OQ_shkvO699_Wxd>=Z+ZJ% zuF_v={*C*sp8{uDY`A)m{nlkMtsqAxzOQP^sq<^aU%&RNw4Ty;PNyioF4Sc$^ZfNS zUvzHmD@uBO$n1h9W9O>0=huC0&umhjd~?>N$0oJ6Cz{BKt6T4#Qql27)@ar7^YP!~ zb@#{RR_-a?aWvU>`>uBdj@z;$er7DqsC<?DS&;9O(1Zp?Ti#D%$NI9}8$pp|8>jo# z|K*XVi_<?o`rj&>)w!j3$8P2={tmOgf4H9i(z<`wpA6P4mp>CycYND4*;aLBk*v{% zW9z4FdcL@3i}Rj;7SFz~Qd?)&J9F=Xe5Om<tBWp{uFmq*Oue~<ZTSk_`P(APQl{2g z+_+USecIYxQJdc1Ik<IIO^LI~weu5gon4tOndF{z<^H=uld&M^l)J-oozHW1Wv9OT zyzEQ)-ON9KD?{2D{5*bgWSm*4?ExK>Ghe#Ibn_dAUyEv3zP#Tfx+J;F=4gMBcG?{; zL0$2Q`}WNK$$sF#l>UZqb2c`Wy!d0jRE5FM=_iN8p_f`7?8_H#Iv%Shzct3?RxzLM z9D9b}n(~akR^hBG!>p?8c3BBABnR15y$$@+oHutxQ;4~&Y&oAkxBE3?h6fDNmnQyU z*z!t;ab;`C7nR#HzgT<c{=ay36Enktp3N*O3=24(DktbH-@(3e?x%~BdCZlUu76ki zH_Yk0t%(t%{!<gP={;rFW=Z`NV`M0p@=@Dk?b5~Sx$~|HZd0B1dO^}OSqJVZ{S6Q2 zENa?v^RAWu!a1Ke{Q3T@U;5^Q@9!@!-}(0cYq!b&XD+*cJ;bAK*6SyiPf49FRqwRD zlWS33Wxe+At9fsJyG8!sU|6u|AoHbX43jNb-(_ykb>H~vyUALgjGjlgf2qAME}wCu z_|e8|WrsXA#h>qFKU;M5?cRA)`x^v%ZI0$e=YiVkTX&{9Pgb|&4mj<(c%n?v>TgpY z{qnwXS$gl!ZThUb-}n5NIW<?#IqP9lp)K<rqaue}3I3kX7Ze5D3sFeEFttlk^Sa%K zoX@PA|9hP-w$+wrY?i9&x~uhD_}pXt`fHK3ic1~7{QmyzQGjx(?y6svPbFU8zbtZn z?i;(_n|bqfZA$K*|DVQDkrcV^`EU1|7t4xlneQ0qI7CT@6kV;qmbT<-xzbxsQETRt z|7?Q4u-xj5emm#nf~40w3Zl1X_fLKOOu$d+RLptq_UNb2zOJcZ={YU3JM)yS^|?#j z0Z~`%7*A+)z2!N;b~tQ8L*J1;_v>bnS8umD`*(RP7q^y+tzHniH`n^h8IVq%+%pYZ zvL;1$Hl1J9S;k-g_nAJsPRGv1yKj!2-Fq-m>GfA0hq7cgl>~#p$EDw+e;;|Y++Sp3 zguv75;U4+Y-Sh1#OF_P0Z2jBT<LNu`B6T4iO`&ZE5|zq7&y{83abV@Fc$#?l^kMC{ z@l$^@Ox#nrD^MW7Ws&T}J%v@Zw)Xllb&;Vp(LY!G*?fwv|5elh-t_efj4EBS{fFub z6Y?wjuP$r%m*=an<#;i%fn|;#*l&E+mpaPjPkJ0MW#qJ&9<kH*>BTR#3s@&+&Nn>a zaX|W=Bhxu0Gg}s2&{%BBPmY9X4J;)JUhnpAE54yw^hIF1ed^kFfB7{x8ElM?@@2%T z<e#}}IYs!SwDh7HmN}hVLKjx7xL&-|xj1U#`nR{%eUp)T(88j!V4udG|4yH8t~)ei zlI)@n|IV*{^ldqJ^}1y>EOUA^%N)`dJ-nB&c10}{!=A!#4PQQ7&%gVXC%d=gb79FP z^(7r&e=jjP>G_kxLO%FSL!L{YZMr;{Vdr7jKDkHVmNVoSr?I~LINknoxnAI_$g9sE z>(|@W{rmMP{@drqd+S$g?9aJd^k386|0eq~wn;vxE+z-rG5LA1a-Mti@$>b4_YCa3 zzQwF7o*`-(mHV2dA(UlF=B#Dy`|F}ZOLpCkUbjwR{c@|IW<$-a`3_wX_Qn0hT~)U3 zpDs@S-UD*c`b6eSkM--<acS)|x^%0g<oN<<J1Vq2;(GnDbLF>wZoQuyx9fjf=={9z zue<x}^Yqu+cJ6%m_|37G$Bupf>Bm;qwf6dF`+A#LmDuxJ=SSbm_;6HV0eAAf<}GLc zo$}vy>!SR7z5ix5yIu*rye)n4)6PP^i5plqbx5`E$O*J#^2@owb;+#ymB-CX7pFhr z`7lMyEJXL+v7WQG&iqQ1+i%(i&(f9;^j;IQs<7;_^t$v1A#Upwa=Wb%V}Wla>ngV^ z$=XIohj`xKf4|6gf4W~~;BS@%rKj8v?Ch19uxzblrq?-}*^4il%<ePOo?fZK%O>>t z^2J+!=U42U`*+byyV&ywZq7*B{scS>czEHzit>85JKMHQzGQ5omNlQ@iD-6NhwXl* zQ|<>|_R3E%S~jcaWya2$FF)4%*5~{)^p($7pQ-<TS$*!y(pk%17WX!M>6b3d`*}Jh z@AoI}nRnIyYTvy%=i8CDZ@0_Mdiu01N^D(vLp9s{r0eZZPnOE>-~TK8=)9Np7n*N; ze6h_o(NU*v*7ncgant)J^{uX9;Yt6)b?M5zD?6@OFHU=W;qtNQ&Znn${|sC1WwHEM z((mtI^tAhbTmAg{PtQ9jPPu;0vV6;5i8+z$p1*uG$?xTdv#P&dKVp4Z#THR8jVoxH zdE;57(%iPENrB&jF5Tr@%Eva<j;p4=`gv>n0$*eCxBZ_kcD;`L$sutulIhYFH@8!j zd@m(46>smEvopMq>weTFso#6*Kjs(T&U9Db@W3~B`3u%(Rct%Tx-`qqzdE-ydSc%< zmZ{O3-w5?@GHBJ`n;tQxmL)9JBVFd?<g#_oZPP#9dsNC`KW9bLmnC7cFF$_1uA9AF z&%0Cm_OcIOy$d-R8f4FfI#w0c$iCdTb^6VB%NF<FSLJQk9ANk8j@-3BTqfo#7B?8P zEqUoK`?6uimv7r&TyEc9A5wO1nRdFF^32rfD~|LZE0<&VbkmHlChzK@vu{O;E;W2v zlHsHEkLmC;#UB!na{_r4xSuNfsa-$dA0&0-<vYh+VUIS&dAUcvb20kQ%aE{CNWa_s zYufCT!dG0EHb3v#@>$3}BPy%P>ekG~yLJn&T)&xhh2PJP%NkP2^Q^+Xq}m$3oZ7Zz zi<Nln{mv=x^4JVM=I{%0H^_wD{a#<RG(O&L%^^@<(&&-|%aY2?*T0{A{cnT1<I5MS z+Z7q#EUY=gDFd2M%j9|I81?Yk(|r&5kG0u*UlL?+*c4UHzEgW;xt7P=34QOfvdZq< zl6MbQ=bzK~NpSJ%*+D+rU(ezSQgiM0xO8!|;{Hoh=D(j1Z^1C-q7(1(*5U+d#+9q4 z^r*=8o;@#aG4GS0bGG`-EyZeUloXx@Kk9G4_<2+G{rPeGbnEspOql9(sP3KPsaKz` zU)4XYtMhYj{g*wTdwcvUl6|TaZvH=OS!nfZ+rE>(@5ris+w<nvj_Rt#!8g}GKhm7{ z{>icXE0?~G{JEmX<3`XT&#K$WRx-0^Ppn$fbY+!r|Ge!lv`^PoK7YRZ+V)z_jGgHg z5j$T?#&uP9K7Gfx)cVZ2v!4QIrype!U2>;LWTM=^=l^$IegbL?Y&loIORD4ld6U2M z%zo_4v-Z8bd@<X*?S23DFMHWvzJ6QG`#&##|DAmQ=hfW2f5+!$eEG5ezx~SR1$MjR zOzrnXM{N6f=(gy(JGECfd)%1x>B84}n%3#>H<*^cwkbMS$>H&KXLPhjkGb{PzQ_HR zU$pA?WPe<fw{v=5)vqX{pOsGw-rg^+FR#B>E4BHq-t4>o7ygMpba|7`_0NA7zsac9 zRybSsv`SBR-M-J)qs_kW`RwCW9&rfK9x=SQPJh`A(GBS*-zQ(XcsKFaUD>E>ImagS z8FjAP)tXxP<lvP4bBaaVPu)x8yj^q}RQ{gTm7Zl2*zl^O;mRbTmoLI5uT#Dt9b2P& zDKM<?mvDkgV9xWd+DWl0IXkx&epd7<xzT5<D*JT7#+gas$J(qX{(Js^*1xSkoMOK* zetGj`OKV|`wepYq`@aiz&08`j%liIpucYIPvuEeL(5>e0(Jiyt_02)MD%yDGJExy3 z_Gp-$e&;*CQ#!k}V$WaB=O3rri?+HgZMxF7=xJ-~w)#E0|5X2*u_vf*({g|Ja@SAC z&hA~h{qAL%Wz*cIJ*<-RQ_1(aV_Dtax`tP4=PUc{--0Wu6ct1#|2uU1v&66E(yq&y z*)AORVaR@E)BbavnZm2DV*39a#R@A9KmQcCB>wy<ciqkw-A-QflAtYzA3vQdo4)Su z1ePVY`XrsDJLLVXm`-)yQa?~PaRaNxr0NM?w+hrR`ODwC*SRI}R`j=t+ZX<c(zM?y z{oCeG;p5m1Y`-+$#7~uuNId?ilwbPRyX3@=XBYkC%fDGYb8Tkaq6eE_rK!BGEq7#H zX}ewR)?1ScAF5`x{Vrm7*Lh35pr_qmzRy3kw;SY~@>BN|w|KIy+`#L)q-dM&KeaA{ zIV)<JCIsrlU#i{r{o>)}{L8gek1A&0ylYkRST-$WT}iU*?t?27rfz?zxi3I4GirX> zFE97nxw=!2oO<gZ`pUyWSIgu1<T&?9<`UjHRUA<Qw`YBgw0pGF;|9|cRRvk4(^<Td zch7pnx-8yzPj6c7q9^}OTkG5GdZi&+6Zw<-Q{i#_e{VK^E4guE<EaiA+aquNx64{> zY*(I}wJ7$=>{RwWiVAbD2D9wqlZbUu_EVc={_NG9kkgWHeqLO6$vbo6o<jYn$_>6O zOBUbJQaZ~v$=_f4|M^GttE2jyHJ@+WaQ^Ny>;2!JKGUsF{w*l`tw!&q=qmm9DN9aV zFY^!oqAIj)PV6UcMzQN^a~oK$h_`-^&)Bzl_2ek)%J(}@{+qGo;f40@L%;2}cio<^ zCI3~!Mmcvvjd-)Ug3{d3H+)+j=J%V{Jn%BPb6fLGr-tp3+0CwRg&7|3GIGA~EV=Z2 z!#8!ApRZaY_WOGYKV2N?`c}AMvcb`J5z^B(|Ne6DzHWt(<+nMt8a*}^F;8A7=GA-k zAL193Qc(En;P&W?Qg-;}y?1Zj+c@3)PfDaz_0ERR%eJ@9-M;pwLBLOqu5asVST^)G zl<eSjRk2vAakF^mx$_xjZ*6kVOwIb`?>=$y)op$f&R6Uj8K*=qfB10yeXkO4U8W#j zwOa?X1AnvZcpv5xxsJ8=kKKKPy&YE)O}eUVk1yw6-T$uNJ6Y-V?>%?lzN%_(Rl8~3 zVg?!+G~Sc@XT84NzevZe*_w*a!`yZ)J?vt#LFl{(f8FcT9ZcOd&)$BRws-o?=j&gx z&Jl8568coxySMzHR@u~uPtpyp8@Dy??ms5F)t|x7)q%-RJ!`&0eMspq!L9xce;=(_ zXC|Xj-G2NuczU-@Md9k=4i;0Fx55odQ~G!8b$R}5?&k7{6Spd}cLtrkRd;6n>(=TC z4VytN;aOjn?lRYTRa+JKn<c~j$!kTU*r=P<HuwI`o_M8?O-&&*)zVr+8Qj!4&A&fx zk6ut6>mSX`=r<8kbqgOB&EMRg_I`tGwb7&!6SLqq49iyjw12|TsZ_rDjqJ1yy02{h ze7${Z#pZ=4g+ITxQc}43%ugl5;fft&g{GK&?diMj&fU&YckkL)x2wL<WM7&x@9f2l zNqtqxU9t0hwj_)E|MRDG*0STZbN^J;Pgi~aS+@MS_#qS3I~%Tim{bLB$XxPz`Jr&u zzP;}fUmlwGoBL5!p6{D($(Ls@m!H0!n0>Eh{_*&KCjIZWuq<JVx!XDAOJ63F(31_8 zvW~)2`giEY{n@|4`6%D!(=)P+mMK47{EovTcS97jjEBae)cbMuuZnCppSbIp5-Y49 z-kv<UuS!LM(fzdDgVm-@CPk^Ms%`hzrRuJH_%{4n%=vVIv*kPHuPl6%KCvw=Vl5*> z!uGN*v$u0NS95qUTu>~RKbWhlGFj|gV=l{*X&Oq53{L{g=X<!v3Qu5IV1CMd!h$fb ziG5Y-3Z`y?oD2$+n>U|&tY7ct&MYv2VS)B3_YKDq7rL5AwWaR6{n&P5gI-OgdF`Kh zyPj`7vhBk1CEshF8_c(}`RgKg>dbDzUbe+eEDV1G?3!e~Si)as*l2n92DvcJ`t<R4 zjVQ+g^YfCK>874~QZpJ%1SB~Va!$E#IM^FMC)d+c&x)CGWvFzQ2LrqJPF~NKoo;^& z%QgSaE6~4lH+#n~-cr@N({XiyuD|`?+g$(t^OaY{oPYPj=l_5G+QgUt|MC3(|M%xx z_IumkX})6MUB~=(hp9`1+?_jBR~nL;pDun}TRGjN#{W+5+`hkd@s|Xbt0*vTIR9qF z(Fqgpt=-!Y`{8)R?>n2mO>M2OjARUcBbC0D&FxEW?d0z}t$p59UJbmo+v>z!!y~h0 z--VS<o1SG+H_u0UQ~deQasPFHOuKY)?|xS9^m})X*6hj6RIhzoT~_sr@n>Fe8<)_9 z#{Azw7mCjB?2CJ+BI)zh`{_H*5c|WYzFld$GO_Q;ZeK~JpwD+YS?ohjdSvrk{n$|S z|Mk|mkAD-7E-ebR+x7n2{k|`c`RWYsZ>m3&d!=s4)A!qcmgXdN$p&0Lul>L3Z}qH4 zyC&aVZg~4`N%G@O^>zPdnfzTDUwuzF^GnH;r&aSl?z%lcd~0oP?&SRW`}=AP<4;e` zJ+sw%(tER=oF29X>Oy-2W*=*n-gUQl%17f%TZ%L?e-t_2*?Z}eZe00u2Xme}!{xL0 zwngiSrT$qO{Vwa<><yn^TtE9>Z^q2JBh#~Y?~nQPduPp)pRc~Ks4TD#R8v-!vnqW2 z<C3?hn{;>5S=A}~($}?Jt~9!I=xfbuskk4y0oP8ve)rnw`u&1(nGI7Lu5h}lw24{E z#okugxc%ncysf=E+x-le#ni1nzPXPt`S{{|UAxc6bMmw2{Y>{yD|@_BH~wU`+T2ak z-kY@xOlVV6Hf)(8z42_`ojcJ<hlTEnm8957evM#tx%S%f?}AS0<;Lv)A~mni4*Wfl zEA*|-`2*Zx8(+7tINa%ac<;fei97Cx{(Mn)_{n~e)3JB$1wy7wYC5w%nO$_rx)~Yl z?wz;P88i=VJ!N@!mGaK7-7+jH4Rhl3zWfRJX!9a=-_h3|kL-56(>b&C^EdZ5$z8Ge zd-8P-Xu9reo4s4==JEH&|AlrkuGFlPd9$nuGEA@|`7C$z#}d!`bw72k$=5qi{%j<( z{=_GVDGQsfD7vcLPz=kve^b}MXz^#ZzbSRH)hiVk(*<YC-MaJnoSo(Rozu4@?ex61 zyZ@a`cY5#g#ZxX9PZm8RIN?`{rL~_LXe{Bg?b?J>g&&W+_EWmdy7R(G&-*Ny2k-t+ ztajM$vynMU{G@bo>AjroJPOmyuSM_C%d=OJ-K#2Vdisx5QGnyCX-YziyZNf^mep5@ z{JgdA*Oot<ca?mZR>HDac!Hms+ak}vivO+8tatCaTHl%X(lzH^{ozNY=612!{<n)K z_B~+n+4y?qio=?&hxbl>H|^t*dB-gOaUFSdsqd8gdJp&BXzTswEV`swmYj?HG<$OA zv|l_&mA-XOpMR&KsPCwM@jQo<%)Jg)O_vRh^1X0-a-;a$!W-si^SAwMv$LFf<L1B5 z*EKdzyZhwQ-fPKLSs$j%T2yl+SIgsXu*)NsMSo7@r~kK}U944Dd+<s{R9!XSolD79 zRtvX&e*M5qRAoV6;HKwAa}TdMaq-pu`R}SfTASIH1YHU|EmglhZkMV8@4-p;OZ2kl zGo*-QORLy7-hXR(>D$da|6h8z+y1hB*q+33M2V48VR`+&AG?3gSb3iPa#H2WGdJ|S zN@iWpiP01fT(bDs-am{p<K4sFIZCx!Ph_Yn`MuJDOJ=Rh{Nzb}QsuANrv%wGRfkMy zxZLUcd&!ojNALE^h;5&q6_askqyGCzn@-7R=Y>t|lluOQ{mI+@6TS{o9o7>S9N%Q@ zxKLKSeR)7t+LeRG>y4~dO_HB2mv!#=`<eNt=C3sah3XGRP5FtPnq>zfkGv}n+I6+2 z?Dy{{$-L{n7zH=$C5vv3F5bVyw0_FFJA2tKop!$z_?Yc)?Q&BskK{m?rp#Gf`htGW zyX17&R_^LEwLWrn`Rv_)zaBmAoBpr0v+UAEiM+oh^PXQ<oz~w|>7k&&>+aU%o0NC@ z>oFH!e%1aElLIAl`^-ML*y^6!wENz_%a24qrP=7pZcV$YzvE<SimC#m&e^%Uzg}Q^ z`QlLyW7^cC;hT~^Ufz7VNc~dV$1iQor$T0n`ns1}*Kcl~|M(||hjNh1B6<J!Qd>U% zZK~V5|MaA%HlHng?|=GQrnG#|SB=wOZDM0D^<Vz`>Edkeuh+$=KROpLka68#{@PMy zXW2^;OBgM-PO<rH_c|}-LW)(?!P^(!Zuu-)dwFBqLw8R}rb`R<<m=q|_V4Ka+_m@a z-#FA7-CtG_ys^f<@@Dn9XFVw%wr&0Q&(<uK34YVCIQ6_x=%G%RlFKg`pY>i1KeRV| zu~~f7b}7E<wRXMzm)DzL%-}h{Gvh7y?zjwvnOv84h)isFJonSJ#hZFwO<NiwRQF#` zw%6fm$Kn+Vj2Ai?FHO9@kZY!_dA-q$cQbWdY?&@y&`D>vnb|9L^SFFyp6#hkFN!zY zD9SH;{jlQh<olIha?gH0v;Ot3^s|aS8<`c_TN#4=;+bWiDmTb+cq}ef7b<AD^zy|F zu88a@{R-Usz1FBG7`nSLebb)Rx9f4GXwk>pE{X3Ptr~gDl^B<3N8MX#RJ@)w?(@4l z&HMM9l#6|9;>P+?#%BvN*Gi+GYj>ACkrd6ExG%!rfhl3N*88d}u~xSZOyJA=Sj7Bv zW>UG-v_EZ|cg~Kx_hy22MZ}DUypJs#)~!%r+;H;acDb)J`piC@61lVK`P+VlnGGds z?_8LQEQ=c=k8aj*$oJXEoUk-{^7o><lR|d=pH_KLdVv|^%al8vF3kJZ=6|v)Z|}5S zE}s!<uk%uuRX4WId|v+dc-{MD<wf7OA5*>Cm$7Dk)|vH>HJF4hG%i0F(<vDJ$l>$5 zj7@hW&6a00ywsJ=E&iNknPM~jN7JEBz08K|cbZG=-nlG_uGVs`-sNkbx6nA}ge8-Y z-1m8w=JC4KdYiZA9^b!&aoq}qiN{>5PyMJ&{qyhp9i55u%jX}<+3ug0yZ`C!=j+$* zdGW94WQ$I=R!HUb#q0L$nkT&OZMb;cCy^KP*WX?ix%<C~FQ|3+zr^mufj?G!OPWf& z=9#{Tl)3SCTXN;a+U|dsFKVA`-l<V3wv+G4BsM=+)|YG6Tyr@8XhP!CdCojP7VVDi z@9NC#dXj$qMD2@9?F=vaK>Zg`Etuk*Uq1W&o6Y>y_a48<`*-svn^*7C)e$v6HI3vn zc7kijxo^u3oVnj0@%h4`bF#+!`;uoSl_!N|FA$!%r?5ERn%`>o-8Cv{N53vRAD?a} zwyoyKQ+LK=Y6^_99c)$6d0W@|vrYNn6qNI}y4acF(#)jtymu~4E3)q!XDwN}Y)b8d zz-QMBEf_f;tl78ccJ*ie{2A?c*0S4MKVT1j<9B|pM}ex)HV3xsd5w#2L>{o1(tpB{ zmD6JGjlG90L?#-o`tm4n&Z{of$sYH1ls!MQN6nj8%R@t{P;X<=?{j(48z(gF+moF; z^UdarA4}h@sAUQfJSm-+!z2`a(&LMo-|W75D?~&?e`p$ZeVbRHliy@AW5umKQ`+K7 z7U(a#Vd#5#+0!=<90H5}Z=L%*_Z;WZDU~006-Z9@jERlf{9ES8i59Pr2|o_HSVxJ1 zYPxw#E4$b4&{h)N^z5X;B=c>Hk9N<zoAjN}KnqkST&y|I{dbG?f<Hg*%DRUhIqe^| zPeHVM{<LfFj-JUYOul&Tb+5j>ZO3-|MRJUt;(PLSrn)@*D?Tg#UDm?H*UYDuTTPlV z<@D9dX=~mjyoC(BOV(!ppQN^ZMJ-dnbnxJN<2|vcQsXIqe%$TZZ56kFg~-%%NmKK; z`Zp9Ux^eD;zNkuEu*;&{z-8w{@9MqTvueJY%;bq)@=KF0-7eQoTXSE1=}EJ~ua58K z?CWa_*5@?cDAAmjS|=OI>EU3mbbQ`se%GSs+0|{~aXgQc%F`$2PrG}!&Swkrxx*sX z>mtteeRKIaRW#^V{0;S`mWyxxx*~oy-XQQdOHpM=gop6%@`i~k6c~HECfVk{s9AWj z?ViQ#8Qb>!5$T>k>5$9rzmFa~o*D0+%Oq5Mr}N0hMc+8@h|ZQvO4&YNW$_Ke_upjn zPFVVvsu*T&E{H8OViGzayYZ!B#ZhmMt+F<E*R8h^<FvkWm%Z(woJwASx{%Lh6<NdA z6PE9`cpz~>>htT21}>q<nHlc<O2_BDoO@uRe~)2#;j)~ETa+rdAF*9nuH|t@?Uliz z6C2a3)Oj*GvMS$HOquAiac+OY0w+l(p>Cfo$qI_Hfk&4a#-!M`-n^G5n^d;j+|g?4 zimxu|9FEdH8=2WeRA=kk|9ais->b<UlF1;RUDhF!Uvoy%<<qh0{d(^im;)Ri$+@bW zQ_Pyrkerpq74RlQ`xU=t+53P<<NYx`?hZ^DbutdheN|u8#q7^s%~g8&A|&bK<<?%w ziqffRGm_ky-b;HMf(ijd7xDVz{c~lDqVm^2U+dqTzwW@4_zA}|e|_84ely{7+V<T` z76%@E_sqJwVcJRs#^q^$+*bw0-K(2lc2oV`F%PB6<hpzRI;L@WEGbkMVy^uENPfzu zQiku#4h6r^s;&RpU9h(`(Dl=?t#c1Z_-thEn^ybgYF&HD`)}HIZ)57J&mA$nztUpK z)oqI%_J>UHSk}QZ;lv+#kMug(Ucm_(K5k4^&ntNz_^_y4`!I|5K<qp%#ws<1jgvad z4y>$TYhH9_{bE}tA%-W(U)U~KGIo9ynb<J-!yVQFyJ<h!8hobo|9E)u=!8d?+e`PG z?prP6#M<dAGO^)d<uxV?RYp#Rq7S#s4hXQQYzuN>Vte+J%WHF;>{_7-3<>7W<_&=y z9&Z+Ou<)ET7Tt0zTR_Ic;ZcE`+<^q1y9v6@j8bVc^S}N4bG29|yEgj%liI%KW#yY5 z@}$4D&((_fIp^BHuX}z9<nNf*I61&E$z1rY#{1}f7no+Qt>?@6UzPXgi-oLf6ljOe zU4x9pJDB75-K?>l{?GM8w_9PH`qJEGHzpo#>nzK@Z!_ER@19SmettJO`fKr#Q`_v< z+aK9nziWg4)35!%XT1LTTsHT8)#c@{B`p+1RTdZr{$`N~>kZ%f_=mGo?7e>-&p16& z9{H*8i5x9!6E*6+z39fdY|*ze3&fY*VElTt&;7cb#?tM%?su+rg*~Z0sa6IW$E>Vo zP6%>TQg>B3)$ycP^ypQwY$g7@?4KHw%;i@8;w%t*cKsqVBj*bTnR^q8Ex#R|WwA$* z;U$a8rXZI^m4zPjPr2LP{GfB?%<5YgebgBa7w`))9Io=<wErEq?B-^T8tzBOj@^8_ zq5EfPi4$w*9g&F{ZXs4(p8~n%>}oZp_G$6ndbGmMTZUtSGLum5gozdbQ{H%4WjO|! zNV%Hak#^{3QQ-;@W`7kqvG13r{8RzXXa(uduV1t`xJatqDr5rBgng1tvuANw4qB4B zarenj%Oj_}n7nnDhP>-Lxoc%R{<AF5d8)ihXo7~DV5g5#<>QH~<}=LgdeZB@s*Z{0 z-2L)hNi*{o1O~2ryX~L1{KPYS`tq*(wpH(%mAh}VbHhOnk11b%zJ3*WVmUw8Yju(K zH}dPH+X@v^T^|0OAAR(#f4FS+ZB7TxHpVMyU9uNuX1r%vxBbGFX=3ZUo&H|46Z<p$ zXXzI=heZbEN)toDMddu<6SwV`3%&mCnaOlOj!Ec3?}@vI|M9)_H-5VK#NES1?Z5fi zqbq(ZTd61n&QlWF?J9kEx5o{p@}m#K&mC-Melg2cDr4$ZDL?(9Ew`?59)9(9Z-3Iq z%Zu9CEOZ$=opU12^%-}9XDHW~d*__E>9Tj8^8MCbYen}Y)ydWhO|a-v-TyN3iXEfT zjw-IIJ->M-e-QZsnwR|M6_Ce2-|o(TL&lV+aw-kFi@tFh>{(IE)LS87-I&bjA#);& zS41o|D)#+`w+>gXoOx8b)b*{fhNIi7Nk2<Vyd9VrqSTcc+XW|BOj8m%dL;0!n3Vu) zX@p(ZuJ-&%JuEVZm3R-#NIJ`xXybJ|=`7#HZ(slX`1$(TisZ9xc{AeO&xcH~n4={0 zx1&XO%eup#1i7zFY`DatlEAX@N9HuU;!^JNqmPy|--u+LG_hgPJ@78O=LV1O-oJO% zj+N{4taqKYyKjB6E1%yftG8XNaNg}TQhf7jm@eIZfA!J!ynoeOKS|#>{dLc0nQ!G4 zx#{ODe=fae^7*yLwKSnX$3^mSMo%2xE>V`4Y9(|*jj_{fPmGIQWxU0FRoT*&=e@o% zUN5#zQHlDowAp-3lDqBv{p;lR)%<!evxMO$d(CX?m<)?=E2i}9+A(kS_iYL17nMye zeJiE1^^(1)3WM8~^q(*0T$$LgjKd=&^<+Ln%96{UR<ZaBO<<7d`xMxovPAHQrU46M z=Pi+m3^SH_x-s2SP+&9=d%AeuNe|i2-`sng92PNlc`*D@P-ZNRd?ww{s3Fgr*syi~ z`5BkD)t$UrAMv4$ODH$Mh3Nrn>5_9Z;*UG9s4%!KtT7Rj<Xqw8ut>7YgJF-FGUIXK z2^pO|EIG?+Of)1{GC#X+D8|UikTI)=MaI)%kztp|0k%`_iziQPI2`dz+TzysufF%5 zTVzc0%e#5sa&FfDs(S@(n^(m@VP5lhudmFd6zk8gCHlC8-UhlnI<>u~d5@ENz+WE! zwc9^UT%BrMy2Pchz^!Q`hlhiCR<Gve{_HE>yUvE6KB;dksTq64j`775%`%ghpy@Ks z`d<sO?k}Dn{%^tmy~*27&fE5KU+urBTD40%w}jYPJ*)axnR<Kvb@@j(?Pu4-*}je0 z&AX_?$7p|_AZVvzr(^$7OV_u;FQ!-p?OIXGbU~J}Gi;}DC#dL)lq#At?Ueg$*Nt<J zt0{k7zW2V}jMOgKfcQ5RC2t$czM0+r^VIG0>kireb+#9_-MbWRoA>I!!ScD;;@a|E zP8Xw2qy%VrnD_{GX3i2a^8DI-Y_F`wqVt~uRq|C@tu9Fi{$>F!UOp`OZoO=<^yMeh zcAu(HXcKQYmzmx3#Z4vOCWKkv-$9A7b6cgI>h>2K($l^~+MUwNn(v^Tvc&vRLo&~I z-{$mpj*BX%{b74B@9%fzR2#_!*;*b4HYmj(J{uc&MDw(J;BS^&*I#yV$A0?e&g0A4 zDW{<{F;pbtcXo99hWIu6|Gazme~)wd>pgGRD9?3Q$&cA>%;Uhy`Cy+%#FE5H_Dz<l zKVKw#v{JrmJyG|USBY=ulU@Te#!kP8PqXD*-U=s#6wYc+Q&c|sPIg+&uMO*dzO0ui zad%*{64*Ukr+(JO?Mb%AzRgqmmCE^lTgTW1l)El@c}G%nlKH*6x&Gl7^cg$rG?eCs zs^sUi^c-pOxObytMJ?0pxyH(_`)n`oZaNsTgfSx|By0B3?U_~azh&626#vxtwDs=g ztIvchZ2l~WoRfaG?Z%gkI}uxo7jEBBC#$ZYa8dO1O<pa&oAz<$J-*CmZ>mZEN=yi> z`2Ret@b_igzw7VrFLX{@@?uYY#vIMEIR^^rrTq17S$}y`Cj8du_0F0t3R&|HY@KoY z#@DYk=XREzPddK1x~#2^)8ostJN3`OD@ktFzld>v7?SkYPSf|B^)n53t6aA(pWiWM z#{2t<1tz?ha8>G@R?+tj`<?lWl74D{Scf;xHBbi4tN3wxIItgzuVNEg_uT8;<cUh( z@9YfS8$0LO?z0s-mmKD=xmLggo)dXjc6wo(hP-QE*lnwaOBJu@%;1Wbo_@~#&%T2? zjGQa<UwxIyTz%)<JGRY>;?7UpbK%k5b!^{4++SI#9bKkd%{P6cdB*$(m+c}GAMmtk z$X{G=>GE4XzJ!hMQ|IokUiT_@)*q=$=HC?<9lAkFZR@|r6f|#TQK?F^w2teZw02tg z?Xrw_0d`UPMQ^6v;PeI04}O2c1{x+$bNO^E`u6?jmVze~CYj&6^{z@Tbjh19kC%2W znXA4&_=4?sg^QNuN*|qNs;7LY%F4Wb%6)N2=i?iTTV7XkOw4SYS@F?+&V+^|nkPNf z1+vRJwrqWK>G$^{>&m0EWR<>ut@-|<L~D}yzM7Isc8LbfvM>Hu7S6bF#mnl{fxGUk zM;h0zP!-yylV894@U3{a{heR@9g;Z0vMu&T{4q&BU+(GtM!b7|+8fK?|Gwyn*~i}C zP&Pcux8mje`TPAYf7!8netdk*pW>)ry_sF|>L0EgUYi3Nce&)}Y;|h!?N5Q7uPrwo zHV@A{^|j`^xvEf~ceBz%za{4L-`TVDxUhBxYA6L>`d$6-`8&P~eY>Y;OZ=M`6qEn! zOJdsNCbPIz4Rb>#G`!oZ`QBwC^In<Yy2%|}FSpf9IX(OJ&O51M>+Sn~?tKxYBR27# z&6W*?R}~W^n1q-&J}Fn<#Q)=7$&U$l49d>5P3o%%`c-AO;9<&=+uKgu&B|@R?Z@yd zwM&-atVQil4ymNSR_DANl62m=Ffk;sGjcYVX~;8PU|{TgsG-Do!0*}h!Xzdk2HpTW zrUkrALdrodObv%Cwl-~ycqU!9;feW`MKwnX<aY0Kx&F`b&9ClOZ7mO;Q<F^@7+!OF z^qh9Fe$n(vu;lD}<->v#7#MyW%x;}Cui?lAk%<cmPq{OgxH&K}B+OFFuV=ZeqF`v} zs**A7lOV%ekXq12em@66PN^j|ENcz-^DWC10`1YB$LTSrSxLym^(RL|7^g?U>>ic_ zo-^Xv?KwQ=v@I{nX!#__z$-k#LRk1M14G1@@3+($4$Rb$H+_)!*Z<+llZ)pcU2$f8 zvv|k^3rSa%2S?=WYHv*FD>7w&(ZnUh;2vnVN<Dc)ps$s+eU;ntrXxQ!lo-{67rj|L z#e~n^tHPI+v%y(I{%U~9F%4Bl=OD*NQ$!{<2wN;Wv3N>}-X{Zf1qH@{d7mym>^q}t z6m<O0n+IJDM<O+q7#~~NZ9L&|z<@<1;xGq;S%96@v^7pz`SmQtEGm9ygl!${nj{U_ z7(0uNFY<W>+gXL(ouZ`72+AA`=Z^oe+TrN%=!?k21u{<;CvOcnkoi!C;T!C*g8-K% zqbdD;SN&ctn``_~4K!{GJrbcQbC$?N1@otilQnNKJW*0$WSGgB<7>R1PmI&!L$i|5 zlSMTw4%=bJCBy}|H2s~@zaaJ5^@Fzc>uZ@V?Dv=d^OwO&sNJ09MF*GA9<^5o<W9Ng zcGoJVrx*Wve0_4T(1ZtFon;Q;LDPD=Yi_C~hs&Ie*Y-&0l08t!7xBB|u%cY?UXM9j zYfOH8e-#n9?7YxjrjX@LEX5)d8v<S0Z7;Xj#q)u7y)hIOd=H$w=<~mmC%G#p922qL z@$mEYtM%SG>Fh86Yzh%=H(`7+kxPhScV+4>&y7XDC+;mY$**TQ$)d93>|Bq4j*a2A zfh%<#^jTCGzJ1)~V85tQjzLOY;h>VM$_c-p9DHeYvTGC-92t#-o<GcDPtai!y7Rcz z<irVm5r$mh2?~v!Wd^59`Q94u=L`E}=fN=5_0TlOH*yt6yZ?80HP&-6=m<?v=>6W? zYW`|!|Du8_&0CeR8-K69ee;iv+^v=Cw-u|I+x&|5O!nEx{6HY`xI<vtlDHMOm$@w6 zb|tY+c8$7%qfxoi!Odpt-e&CBE_US9Tla5l7j%N(Flem5ar)B4%!YYOC-=F$6=uko z#wE07VFycaad_#Qd1l*|S3X|!`QOc>f2?k}I4~{PP_ua5jV~9r@wE%ee&Y$4*ubK# zsZ?0Bb^Y@jUjkmPlM<i%#nX3o+=-4m>5RGs{6aE^Cf%PC)~IbC_h<gU3t#iH<zGeZ z`C;!J{zhcy>^-$5ud^jz_Z4kT-Dz3k=+N}lY>&Fo8o{&Q?p&HG-~D>k-Kq?$RI4g6 z{eSoG%!zt*^#9hrc{`#Xox7mM$Z7U*-^K}xKA6gD8(&&GH&{;A^NJngw+<ougVp<2 zW%o<y8CN}%Q(?HYCB&{u?4;z&Yk8;VIy66eCl^^C{a#)#UOS_)fh9U}E#oxV2&3L= z{=0V>e+k*jWcWv~I3Z%qAY>x{K6&GmEf-$pJbKkUWv=+P0Pj1$3a8ZnUVQWMxx5xR zPLB=E))OC0le%8H=ZAga^WaVy>*K%Hd5Boc#ol}PYvJy_x^K!>=iadhc(ieWER&E! z@uF{>d#={}e6jR~`4pMZl)ILGKW*1&-|CP*-Oeq}=3Kxp^yaaj%8szzK2p|lvOyv@ zDnsX|2x?kSogdGBSa<?M#Fg|V{nFCu+xvBI-H-%zUk~QJb7`9H6?eNZ;q%<%SuRuF z@BgCs!W+8D<-s<))9yOmrnev8<1;z($LhpE5$h8N=X!iNQn6aqaQoA$<SPEnXTwW5 zK>Iq4CQg*-_x|Fel*kR5`)B6xU`Sb1b7fn`8hImagZ+AWIdksvf%>selDD$CEvhNW z11)3_o62WZedl%W=G~6{EGiAB7JcJ<Qs{A|pSh3Gx9dr-C)b}t$F8zp&<uW~pk1zH z$TnSdi=xo-EmQx@^|fle{@eL_$OMKPXMF;1=yJW^AH2pgY0nS&UCIiMdGB15+IM{X zcz15_w)+<oe`@5_%-K|*G<l=zTj7MYH!fGaj-RvR7ekwh0^=6dPjBUCTg9x++S6Y% zH|6E3)QMkjySjdS_W5x9m5OSnYrB(m-Z?fg-RV3Mwz25>l)vF$Z(d(2!TbH%M2{Oz z){DMzp6PmX+QY$?NytHa(cyX8)A|=pw$tv~sau#o|0!Sk?<W$5zwhdO_~t&_b?3T= z4$E#hO1^VRTB@=C|6jGgQ~DRBoPTPS@3N-8WGClSP|yhrO<166B$T=68)r<&u9(F& z|CjO?&d~U?RpjlT9HrdHZ}J@6n1n<&FYGuH>H6u|7rC_UI$v-8d@2=P9(Q$v`^LJ` zXF}G&E)Rc}PTatH?6I7R#>p(+9MRq7aaRwE=}zrWGr#s~gX6@~?Y!2TBUN%3KM74> zm?dm2cXwO*^^-PIFBaBrtZqMR&HTmHq3MvwL=Bx)GFQ(Q$#%))hi%SE-_#KuowX)j z+*+<RZU;N(gD)wcj60d5FYb;gHc$TLmNBP+<!R)n*{*@VS;Dek?(JW<{Xj+1JKi;q zs`f7qu`!W3AY$EcYSFugyS3z94~bc{E`E0X=(e=ox1C&>gk%oQ_26;N70&8t(QTLA z6$8#<7bc&$Jy(WLrQ^_V=U^5Ui!LRhlS-H8z5Kf*Yg3H~?-vI4j_3V#e@Z)U{#}<E zwO{XPLFaDA(>j+JayLgEjy(EK()4@zJLAUVvr@MTS^M1KIC6El;b!qKz79>yxe@33 ziaTn|C3Lpjy7sVs>)fl4Uo{{3yRge*&DH1YZ}&}I6muR_L>=Gs#Qf)xdB<$iziP~4 zc9;C@dT83UDmBmZ`}bU6{jR`hq9}Fy|Jq|gRV6o!8Da${JSYgue$ZyI=DFg!6)%?f zuUNTpy4eD5CLsrBrQG>b?uLD>bYGpkCS!-WMp8$(`GUfCj!jZ`I*;UjeDpuMf8DEB zYd5k*e0=nO?pz-ItoaNM;w&l+Vn-kH=D$*$dHgE->L^F~Yx{OxJgl#8;^ENbB{FeE z(wa{fx2~vV`tW39>+;uP=NPS?$f+>o86RMJkiw#};&@S+%$cvue~tF@^(A%5emUl{ z`*Mdbzpi=Y^$nA?b@OU!%AZep%P^<6fh9C|hj6EG#}?Ul@4jXI7hJ#P#P<4}R~z&% zM%Xjt8Xe`!GQQY%UFr3_jg=O+Ykq2ky_>V?|0=tO7SFC9Y-CYsXmi>3_wm!khg)C0 z*pSY!OF_YrS!CjjWtp!p*sQbb{k!<jw)ncfW8c^lRNgr<WjMXbmgb&2$J)>Rt?&v} zt2Z+%pItw=kwqn=`Fn4wpGtnrjd}YHyWYMYs*>;XKC$fdDmzArHqA1IudbhtZMC*% zeJ@e9Lmrf_nN8Nd6}JEdvB}}N9(x3=<!X0E^ZdH!4(h4g{?_7LIj{XNrw2oF*U1a7 zz$@an_&YRB(@>h|-1GaM`vIZ-hbA<;N-=14x9CRik}|Y$e=FSJ-1{S%=WVcK(=iRD zjiGOH?jO!RANZSvL1G@45YNF$_xC88&5z@$S|j}Nn|nYfm(Z5u@|Jz(k3z+_`ZF}h zae7=(5q^8)v5&ZO$}Qu)@(iFUm^pFJpDy;ew__Fiij#k=RvfqWxUlMceE9#y5_O@= zKb|f=vHjhBr`5T#Oa=^$oC_=i*IYeg_nhM@$krFF4J^FDE=g-Io_6<N^nqvB*5BJT z*V)~;HizrX`sP(EDh<M~%VI>2x_xNfwN@jqCT5Z70R|S8jM+*;FV6+qRf%yjf8TBW z=FWcWjXyH)g)z((n!s>w)qe$9{eSzvzF4*HoEliq$}{VmZ?ULk%u^E5^b51A(&Wpx zSQ7E4WM}B3bD*T15MUH!zvxt8tej4lv^+D<dFi80{5`3WWsg1y@*MqR1sdEhIpkt( zRFqiYf5ncmA&Nz%;hd)YL}!^BT{e3zF{W~OT;O+A*;L^90VMQ$&ke?0fe8#%X)Z^l z3KO&&{5U->h`Or8-I~xB!}DC2ecL08y6Fog7&#f(MA*&lSL!VDG?kD_nwkINY+E?* z-@CGtJ_$02C@3&8ggkxQzd)5qsKi5%^Qkg}#$j8J0;#a<j04F><sI|w|IWI<`retk z^>wzNSomzj95S^$E~qCTHx9OInm8k#y*JRYDKGMq^p3Z+Z-p6NOyLr82%pl=us}sr z<;6@Tp*>$f2aojM*Dhz}KC{00+X@B7FU~(X7`TKdEGVA#hmGNcy93jUmQR8_$NpGl zOln~H8|>1wCoSKB=>cfnh@6Hz;{in$6^SNroArp{nf1+KoE{8kgYB$(N>~c2n1p(q z1Ubtl^<_+(ZUZ`FYR>GQD|Sy8GuKqA%NA;!-+N)h{_A#(3iHp$|Gn56A|%LA95Nw6 zN9`7`+fR-U-n_>_Jqx}kshSzH8(0npx=6Ks5@e9^b6{ey=-O`I^o-NPK*@CpqlP>q z=zuE*h6Ak)EX_eKuV#G`<T?4r>P6#sN2Ui;?CRpHuIyG}oHLb6sK;AyW$-C?hJgMC z7SKS~l!Q9j5+{eIg+G7al6|Vou)@os>Eg@`c7_Q)4on$sp9FhO{jqw{-oT>1po4{B zf|~<VM)N1Z4@cIUg{UeVwA4^yyz=O!$Sx%XMiYmh91OQUfciBuPd{J3y7+^?e9s}v zE7Qx3rS0qN|JW>$JHIPnHkXh??kRTzgU_!)#}3Wuw4S)mrsp5)yc0QJIT^x)CNxyL z^$Scjp7iNrZ1tr6mz7sQ@$bweG^c0(zTztrcP+1B0UaSVr@ynT_*II^)5Yd_qBYY# z_m{9Z*f9wmXtfHuyl>BJPABjwPVTYKt~<_WQL$LMu-l{GnoY7jP37t0$kQvIX$so@ zXKuK|qS6q4W#TLFDNRfX!i=2fyaZovQ#P9PDKPMo;MJM&?01DGG#Hjnm>97Ebodg( z8wG`foxHIwv!c#<oO0K+tGh2$x<na#F4x4ZvnP5?k*nCos-<!8kJXEr4J^;issuB$ z43stH*M6N+lh-=`sXJrBQc#pPJd(4ozdN}Y)Xkf@>BQp`A}WR82%2+`v&$pcx>V(< zvc$Zfr57w2IVVh<v_qbg0d$~(-;yG?AUmdeAFTP_3QlOqoOLe9W!9>6m4uvmN(<_l zgbJ)mjX+uFi-QAGorSMpW{^8m)B{%mP}-eyWuc_!PmXg3ywwd@7&$8*`nWFfl;vdD zp`^gLyv)Td$gauw!#8&WE=JCZw<!?03P%SfjhPccSw@>lsNiW0Sop@_KUNYQ4J;{_ z>YYx^2g{l>2^l<JbGW2bg~7s-k#onxDZ+1;^?>a2JM_m&qPv0R!!#=)hB?z3SniZv zQ@XUpUit6W+po;xLf9JEI6N3WUzynO`^@_0ha4UU772?_Ty|FS<?-?aS2v?HrUo+( z4+ifm6B}~&h%nh!eE(~IKYRY+p7Q$Y@ZTa0;(q%TZg<Tw-u`^<6w_<pU-jv0&%bB? z?uW8z^_nky*XO;u^-r?lXXyt2*`6+}oDb|um&~iFEdROv;l&tt_65;e9uBiEi%(oO zWzOT>CD-M(=ijT3|Lp!M?s@<JUBB}5MQXl1m$|y+;o4tQ?QiQ_t7I5=u25h+$`fvO zGtzz0nwA$|KU{8apC1=L&2_b{muIr{J59a{B?ZRJl;+G?(~Kv53Utlp3N{jA;AT-# zxVdxspSopzSLSTJ{4GW0+h!Z)9&ZPxh+H*gP5G;v=JeJ5|M%)XlO$(D<}95{3~SUl z|9r?g%XWVnZ`$Uwt3oC7N;lm(->;T`J*Q&xvO{g5hs2vEuu8KnZep?AGSekw0)yGF zd|6McRjJNaQ59QWY%1;YP@dSAkijIhVUqR4xB~m2?x3uI?AIYLL%JBO)D;-teA=<F zH^OvVw4|pX=K^*np$+qtE@i*+*t4|H#NhMmgc4A1o5A+CVMx`VKVKCKZ=`Iw(s6&k z|NNs84EKT@nal!Rb}i~-VPF=R(7?<)ZQ{CpbAC&Db~LS<8P5(HaftqT*xp@s<-Vue z`&b)XnS?eRo~eH8?ms6v`}(>4o|}Tpwuil*Hj&}RDJ5P8*E1<9j4ylZ&m5hxm0Nw! zyC)Bq%OCuzsXVoM|KilJFLIN9mKN|a32iw4eEn*6-uZSV_IWn~*kAwk&bxN}y?5r5 zT~kUNQg)TvUHixOqOpO+;rTS<OVZ~jt_%nYvVPQg-DN@aJ4dE6>)UfZPPy~m3Yhcr zaqK^X%@-Da3Vgq-?i$mz07s?-j@7R`&hOh3Egmb<!Qi&MiRDSbJf%sW0#Do3-8U+H z*KlTWO^I3E>xJoB9t=HCEtQw*f7`pQZ%bE+NrPYf1x7Q$2@O8yHq4p(DKLKBYESNo zD+Amn^)XZ>cgZp=|M+{EWyNey_v8=X+zX7DgeIK7QLdyZ&-*yc?No*FrQ`1}34*8P zw)Gha9o7hU7wToOdM>A;u$s4Asnqdjhx(!OH)q7NKVRI$^2F?$i#0<+hL#7zcMW;d z*T2>+oPSSt7Y{ST;Xp?wt^gM%wuCy_Ig=V#HhBExU^wUEz;r6WWzn?O^5)pB{0yK) zvUir%T-gzweM<NF{OJCug?-b{tZ&}D$%8rIOq=R{`&xq&5_j&JC)aL1{OrP~DNXlu zZY(HZIbh2qbb$Aid+d)NwVEYM)s>zqGc3zAI?AVUdaj2|LjAUheHDlQSXme{a%T8* zOM3oXp<gZ3SHg0Dn@K2O#*G7p+n&n2?D%VQ`d|c$%7Q)b)NX0Ym%e)Zefw%7ogaU9 zmmJw6)^)?dRxFbtLFc?=W?5_77Z%n7nw%a76s@8@MgLr}Lb=<_dh>)|LYjYm9WL<M z$jtEL;2$dsTSiU`FL6*{G9CaQQg+#-^0#urEYQ&$z2czK>A@GBOAG~b+ST&&D{_pU z$$r>-tDxg@-FmZ(&(*92)47BS)}(cNoN_NHdUl=hvdKyX#@ZEIpP2V{w&<??%Ht3p zGNIwHsYEI0Sj5a(EGi57($sIMPU=fAcy^u9p2Oq7OH<Lk3=OO9G_!<!`uX}*%B2%? zJ#^<V+k-|<5)8CF4(!yFXMA>@QJ=%Z!PfR(XG#JKgR}622I19m+Z*0hOl5IXS6~eN z8tP(X(DbolAxp(sCEf#(U(K|-?piZ2lyiDG<nGl;4_{d$^7^|^zEMNQ8hN(mJv{0O zU9tsUbEot_IuKUiHrGa!!Ch!V1KXB*^-B-+rH}8Mvw5>6xWp~VE_TcMXZko}jl9I< z?e<L1cCd419B#9o$XEPkg+|f$Y1<F)T6B0G<BRSF7L&&_u1d}7O}uP!S9+Pg&8|Ne zincQxFlOXT2$Y_jrIg#gdpD!_v+IoJATvB)UX}W#BY*c++#+@c3rkUz1=alZf2ZyH z{CE{l*@Nt38;gEB*>CpE%WV%7tx02OQ&V8<_1q`?GBMcl#m-Ri#|v-V%8GWDIIt?_ z%l)v^=Xq>xVi|UFcsQhQd%CE#E>CUgE$2lyu9x{2zc{xo#^kbp`1*wmsvwKczb*7! zR}!-8{MMueiw}G(TDmyA*6hO>hLD9#EMFGBNO-#PbGW|5^}3H1MPD}TpB#7OD!Zn& ze$GO1)kPQUt?R4Oemp&2)XpHKqQK}|Rj7U`as6YvnqLV)zU4~C&u!eNy-HiE_nwT0 zTT`&%QND~@2RFya+0|Cu`0#9Vh)`sC+*RpP*=c?A_{%>CHg>V7EC`*y|JpA010E~5 z0~4Ny)&_a6y&rI%r$C5F=)#I!$rF|P<v61&lyBXb`FQU0nT#ur+Il#2M@h7X?D?p$ zN@lBk;J*Kt+7o6^wl`)t9^l9{>+&Iq7oOJXhhhtruim*O(G-w>>t}7wbDstw7L^6M zZgM)^J9V#1U#^~!yKj{<--DTq7Cj9t8;)#PlRa?*D<~M4g(oz$ZLxfo@p(;!Q14e~ z&fI@|+bY8j)QM#>uoZsambqAR(KpTloAW#eqL_p(be%ms<%sCgd1bfDrYw3L=DM&h zkz;vn8bcPy^M|%wJPF!0CObDL<I|DTXTZ8XvZyQwua4XCb&-D0DP!ghlQqj6rhn^C zmaG4{dE)fC<O|854%32lJAOUjajQyW$O?31dKGOgbMmX!`&)H9v!z6Ozg}MO;+t-v ztuaF=D8@gXYcyP(7BX?e)0{=OmrOZi%sio6vy9=3%DT26A0PdH`Ref$K4Eh{<#l!p z4{q*$|Nm#)Z<(|`zi;opwVXjF<?5R$PWrFc%~t&UGyC3R_j~WI$-g%I9zNyh;pP0> z<+{G^J!=;E;`uda+1m9<zWl4p>`uJpeh|fdo~O%igX3(^BO=xeR>E_?-(Mh6^-cDG z*0LLncQw8<<=!n_y=Y_IE`jWQ_rBO(e|Kloj$aF6R_}5Hg^l0@hF#)Y{TFn3{5}-? z?dG;({YS5wi`Fu*DJU?OfObH0Kf3ol@#jTb>+c%t>@==(Er@3la`1n2AS|{+{C|9Y z{MD0{N3OCzjba4NBEE2txv|Q<Fk$sXh}ah=2c|5q{fxi1c)vK-xYlAV*k+ZJ*){XO z&1BSY2g$~(yn49){yAfzF6QWiS01Q-|CycSW_8t=xqyd}bAf1K!s?Gl9`dpauy11m z^)mw^Wo~47OkDi)oZl}YkXT;>%Y~UMYMI`4+=)$nv%$B}L%3lbrw4;<$1U{>3p6gL zcjmqBVvc6yad2ST75Fai&6lHJvO16bTB!%x1^!w2Xye*fR-cWT1DYCG9MTtoMzk)@ z0&PrxD=?wq6!_@LJt2EuxjvffUhh#?E^gN0JgY~=tL)#8pRd<_o4<eF^O=kpr@)6M zuMyDRE`Kvx|Iw6CqXriyp$jwjl(X(Qp1>2hGB-ZyMa+|#j3-<jKuO42_4<v}T>G?( zTQsF!EKI$atM};)Lx`dRW9%(^p-)_f$=!Ly7v<(jHvHAO#PB8SeC|!(-bT>GpGR9I zBpuG$kn8aI!}a`Zb`$AYHiq47ea~kyTFh%;*^+d=d!MHA?6b@ZPD*gR`gn#x=8TAS zf<S(o#p-);D}4(eKaP&R_KqRl;GQvaz$`AI3ln<ukEh8n%l=m?Oo^JATdyA5!B(|E z<2=uSi7YA&s-c$xH}5so*4p}X%MxXY84WC3o<2F;_hQNUuB4~ml&crd0p)o2B7UI@ zbIS6BEGm4&RIBx_SAs?#1FmGwmuzTWslce4mH5Zd$I5Eie`VL_e>dOcoG;n%nA5{y z@vA;3DM{v|vmW`cxwAj}V&eIfhcg*9d>xo>g=XtqI&p|+vvhXpjRh~3_;0d4Z_FIf z+Q4G+_JJTMGn*N)b+J`t#6S6MWL$QX(eL*e2AKm&ybiDD9aCk$Gbfkf%F2q5|DQc8 zId04x(9r-cQco~sFa-W)SpmwKb2ZBx{Jna@SM@h4C30^_IFZh_Kn%3V>iptqbJt65 zH~!VR+NES~>Ne32IeS2IjGQm7Zu>alqW|@z3&|5Frn4oeGjhI|H<7pCtTFS3-s%Yq zQJ_IT26Yt$#w+3{rL#*p7}OKHWF2-t0*&1<HsrFXG^ia(+7nr!vA3S#fgUJ<2kIOX zdG)QL@aw^C&ln228(1z(&@kvYe=m{y(Xr#IQH%vzOhOLPO0RF&CWoKxI_m#<8&g6B zXvqE1(f`)gmJ4@$EbI(p051y+x%0zfBj@FPkAfbZW8iUfV0z(j#jertNN+#mgPG=C ztPBi00vwqh=q&oi$p9J`Z%91axRybpxq;<Cz@q~YLl)#0CTKIXsVgvEm~XK`lwrA& z0^@~Viw!@|B{N>oJYB=gz!1aX!N9;E{(j&8=hbhEXMB8@|2}Iz6T{h`We+yqldsTe zD9!@+FW@Sd-C$&35QVhv89)<{L*ZcY?(+NpKkxl!$-uy1;z;;tZ`gd{Q1BWR4|RX^ apM7^~?~zp{8Jr9Z3=E#GelF{r5}E)>cuMd9 diff --git a/python/pcb.py b/python/pcb.py index a7b5740..866c931 100755 --- a/python/pcb.py +++ b/python/pcb.py @@ -21,12 +21,11 @@ # #output = "top, labels, and exterior" -output = "top, labels, holes, and exterior" +#output = "top, labels, holes, and exterior" #output = "top, bottom, labels, and exterior" -#output = "top, bottom, labels, holes, and exterior" +output = "top, bottom, labels, holes, and exterior" #output = "top traces" #output = "top traces and exterior" -#output = "top traces, holes, and exterior" #output = "bottom traces reversed" #output = "bottom traces reversed and exterior" #output = "holes" @@ -958,6 +957,7 @@ class PCB: self.exterior = subtract(true,rectangle(x0,x0+width,y0,y0+height)) self.mask = false self.holes = false + self.cutout = false def add(self,part): self.board = add(self.board,part) self.mask = add(self.mask,move(part,-mask,mask)) @@ -1005,6 +1005,16 @@ class part: elif (angle != 0): self.holes = rotate(self.holes,angle) self.holes = translate(self.holes,x,y,z) + if hasattr(self,'cutout'): + if (angle == 90): + self.cutout = rotate_90(self.cutout) + elif (angle == 180): + self.cutout = rotate_180(self.cutout) + elif ((angle == 270) | (angle == -90)): + self.cutout = rotate_270(self.cutout) + elif (angle != 0): + self.cutout = rotate(self.cutout,angle) + self.cutout = translate(self.cutout,x,y,z) deg_angle = angle angle = math.pi*angle/180 for i in range(len(self.pad)): @@ -1027,6 +1037,9 @@ class part: pcb = pcb.add(self.shape) if hasattr(self,'holes'): pcb.holes = add(pcb.holes,self.holes) + if hasattr(self,'cutout'): + pcb.interior = subtract(pcb.interior,self.cutout) + pcb.exterior = add(pcb.exterior,self.cutout) return pcb def wire(pcb,width,*points): @@ -1080,7 +1093,6 @@ class via(part): self.pad.append(point(0,0,zt)) self.pad.append(point(0,0,zb)) - class SJ(part): # # solder jumper @@ -1176,6 +1188,66 @@ class choke(part): # connectors # +class TFT8x1v(part): + # + # TFT 8x1 vertical + # 2x Sullins S5635-ND + # + def __init__(self,value=''): + pad_header = cube(-.079/2,.079/2,-.039/2,.039/2,0,0) + d = .209/2-.079/2 + self.value = value + self.pad = [point(0,0,0)] + self.labels = [] + # + # pin 1 + # + self.shape = translate(pad_header,-d,-.35,0) + self.pad.append(point(-d,-.35,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1LED')) + # + # pin 2 + # + self.shape = add(self.shape,translate(pad_header,d,-.25,0)) + self.pad.append(point(d,-.25,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'SCK')) + # + # pin 3 + # + self.shape = add(self.shape,translate(pad_header,-d,-.15,0)) + self.pad.append(point(-d,-.15,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'MOSI')) + # + # pin 4 + # + self.shape = add(self.shape,translate(pad_header,d,-.05,0)) + self.pad.append(point(d,-.05,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'DC')) + # + # pin 5 + # + self.shape = add(self.shape,translate(pad_header,-d,.05,0)) + self.pad.append(point(-d,.05,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'RST')) + # + # pin 6 + # + self.shape = add(self.shape,translate(pad_header,d,.15,0)) + self.pad.append(point(d,.15,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'CS')) + # + # pin 7 + # + self.shape = add(self.shape,translate(pad_header,-d,.25,0)) + self.pad.append(point(-d,.25,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND')) + # + # pin 8 + # + self.shape = add(self.shape,translate(pad_header,d,.35,0)) + self.pad.append(point(d,.35,0)) + self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VCC')) + class header_SWD_4_05(part): # # 4-pin header @@ -1329,8 +1401,8 @@ class USB_A_plug(part): # # plug cutout # - self.holes = cube(-.05,1,.24,1,zb,zt) - self.holes = add(self.holes,cube(-.05,1,-1,-.24,zb,zt)) + self.cutout = cube(-.05,1,.24,1,zb,zt) + self.cutout = add(self.cutout,cube(-.05,1,-1,-.24,zb,zt)) class header_SWD(part): # @@ -6576,11 +6648,11 @@ pcb = PCB(x,y,width,height,mask) IC1 = ATtiny44_SOICN('IC1\nt44') pcb = IC1.add(pcb,x+.49,y+.56) -VIC1 = via(zb,zt,rv,rp) -pcb = VIC1.add(pcb,IC1.pad[14].x+.08,IC1.pad[14].y+.02) +V1 = via(zb,zt,rv,rp,'V1') +pcb = V1.add(pcb,IC1.pad[14].x+.08,IC1.pad[14].y+.02) pcb = wire(pcb,w, - VIC1.pad[1], + V1.pad[1], IC1.pad[14]) J1 = header_ISP('J1\nISP') @@ -6608,23 +6680,23 @@ pcb = wire(pcb,w, point(J1.pad[5].x,IC1.pad[4].y), J1.pad[5]) -VJ12 = via(zb,zt,rv,rp) -pcb = VJ12.add(pcb,J1.pad[2].x+.075,J1.pad[2].y) +V2 = via(zb,zt,rv,rp,'V2') +pcb = V2.add(pcb,J1.pad[2].x+.075,J1.pad[2].y) pcb = wire(pcb,w, - VJ12.pad[1], + V2.pad[1], J1.pad[2]) -VJ16 = via(zb,zt,rv,rp) -pcb = VJ16.add(pcb,J1.pad[6].x-.075,J1.pad[6].y) +V3 = via(zb,zt,rv,rp,'V3') +pcb = V3.add(pcb,J1.pad[6].x-.075,J1.pad[6].y) pcb = wire(pcb,w, - VJ16.pad[1], + V3.pad[1], J1.pad[6]) pcb = wire(pcb,w, - VJ16.pad[2], - VIC1.pad[2]) + V3.pad[2], + V1.pad[2]) J2 = header_FTDI('J2 FTDI') pcb = J2.add(pcb,x+width-.22,IC1.y-.0,angle=0) @@ -6642,16 +6714,16 @@ pcb = wire(pcb,w, point(IC1.pad[12].x+.11,J2.pad[5].y), J2.pad[5]) -VJ2 = via(zb,zt,rv,rp) -pcb = VJ2.add(pcb,J2.pad[3].x+.1,J2.pad[3].y) +V4 = via(zb,zt,rv,rp,'V4') +pcb = V4.add(pcb,J2.pad[3].x+.1,J2.pad[3].y) pcb = wire(pcb,w, - VJ2.pad[1], + V4.pad[1], J2.pad[3]) pcb = wire(pcb,w, - VJ12.pad[2], - VJ2.pad[2]) + V2.pad[2], + V4.pad[2]) XTAL1 = XTAL_EFOBM('XTAL1\n20 MHz') pcb = XTAL1.add(pcb,IC1.pad[4].x-.2,IC1.pad[13].y+.003,angle=-90) @@ -6666,16 +6738,16 @@ pcb = wire(pcb,w, IC1.pad[3], XTAL1.pad[3]) -VXTAL = via(zb,zt,rv,rp) -pcb = VXTAL.add(pcb,XTAL1.x-.12,XTAL1.y) +V5 = via(zb,zt,rv,rp,'V5') +pcb = V5.add(pcb,XTAL1.x-.12,XTAL1.y) pcb = wire(pcb,w, XTAL1.pad[2], - VXTAL.pad[1]) + V5.pad[1]) pcb = wire(pcb,w, - VJ16.pad[2], - VXTAL.pad[2]) + V3.pad[2], + V5.pad[2]) R1 = R_1206('R1\n10k'); pcb = R1.add(pcb,IC1.pad[1].x,IC1.pad[1].y+.1) @@ -6689,17 +6761,17 @@ pcb = wire(pcb,w, point(J1.pad[5].x,R1.y), J1.pad[5]) -VR1 = via(zb,zt,rv,rp) -pcb = VR1.add(pcb,R1.pad[1].x-.08,R1.y) +V6 = via(zb,zt,rv,rp,'V6') +pcb = V6.add(pcb,R1.pad[1].x-.08,R1.y) pcb = wire(pcb,w, - VR1.pad[1], + V6.pad[1], R1.pad[1]) pcb = wire(pcb,w, - VJ2.pad[2], - point(VJ2.x,VR1.y,zb), - VR1.pad[2]) + V4.pad[2], + point(V4.x,V6.y,zb), + V6.pad[2]) C1 = C_1206('C1\n1uF'); pcb = C1.add(pcb,IC1.pad[14].x,R1.y) @@ -6710,19 +6782,19 @@ pcb = wire(pcb,w, pcb = wire(pcb,w, C1.pad[2], - VIC1.pad[1]) + V1.pad[1]) -VC1 = via(zb,zt,rv,rp) -pcb = VC1.add(pcb,C1.pad[1].x-.025,C1.y-.06) +V7 = via(zb,zt,rv,rp,'V7') +pcb = V7.add(pcb,C1.pad[1].x-.025,C1.y-.06) pcb = wire(pcb,w, - VC1.pad[1], + V7.pad[1], C1.pad[1]) pcb = wire(pcb,w, - VR1.pad[2], - point(VC1.x,VR1.y,zb), - VC1.pad[2]) + V6.pad[2], + point(V7.x,V6.y,zb), + V7.pad[2]) # # select output @@ -6735,16 +6807,15 @@ if (output == "top, labels, and exterior"): outputs["layers"] = [zt] elif (output == "top, labels, holes, and exterior"): outputs["function"] = add(add(color(Tan,pcb.board),pcb.labels), - color(White,add(pcb.exterior,pcb.holes))) + add(color(White,pcb.exterior),color(Blue,pcb.holes))) outputs["layers"] = [zt] elif (output == "top, bottom, labels, and exterior"): outputs["function"] = add(add(color(Tan,pcb.board),pcb.labels), color(White,pcb.exterior)) outputs["layers"] = [zb,zt] elif (output == "top, bottom, labels, holes, and exterior"): - outputs["function"] = add(add(color(Tan, - subtract(pcb.board,pcb.holes)),pcb.labels), - color(White,pcb.exterior)) + outputs["function"] = add(add(color(Tan,pcb.board),pcb.labels), + add(color(White,pcb.exterior),color(Blue,pcb.holes))) outputs["layers"] = [zb,zt] elif (output == "top traces"): outputs["function"] = color(White,pcb.board) @@ -6752,10 +6823,6 @@ elif (output == "top traces"): elif (output == "top traces and exterior"): outputs["function"] = color(White,add(pcb.board,pcb.exterior)) outputs["layers"] = [zt] -elif (output == "top traces, holes, and exterior"): - outputs["function"] = color(White, - add(add(pcb.board,pcb.exterior),pcb.holes)) - outputs["layers"] = [zt] elif (output == "bottom traces reversed"): outputs["function"] = color(White, reflect_x(pcb.board,2*x+width)) -- GitLab