qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [STABLE PATCH] hotplug: fix scsi hotplug.


From: Gerd Hoffmann
Subject: [Qemu-devel] [STABLE PATCH] hotplug: fix scsi hotplug.
Date: Wed, 14 Oct 2009 15:30:31 +0200

Well, partly just papering over the issues.  But without proper scsi bus
infrastructure we hardly can do better.  Changes:

 * Avoid auto-attach by setting the bus number to -1.
 * Ignore the unit value calculated by drive_init().
 * Explicitly attach the devices to the adapter.
 * Add sanity checks.  Don't allow attaching scsi drives to your
   network device.
 * Kill the bus+unit printing.  The values are bogus, and we can't
   easily figure the correct ones.  I doubt this ever worked correctly
   with multiple scsi adapters present in the system.

Should come more close to the expected behavior now ...

Oh, and pc-bios/bios.bin needs a update too, otherwise pci hotplug
doesn't work at all.

Signed-off-by: Gerd Hoffmann <address@hidden>
---
 hw/pci-hotplug.c |   24 +++++++++++++++++++-----
 pc-bios/bios.bin |  Bin 131072 -> 131072 bytes
 2 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/hw/pci-hotplug.c b/hw/pci-hotplug.c
index d0f2911..8bedea2 100644
--- a/hw/pci-hotplug.c
+++ b/hw/pci-hotplug.c
@@ -52,9 +52,10 @@ void drive_hot_add(Monitor *mon, const char *pci_addr, const 
char *opts)
 {
     int dom, pci_bus;
     unsigned slot;
-    int drive_idx, type, bus;
+    int drive_idx, type;
     int success = 0;
     PCIDevice *dev;
+    char buf[128];
 
     if (pci_read_devaddr(mon, pci_addr, &dom, &pci_bus, &slot)) {
         return;
@@ -74,11 +75,19 @@ void drive_hot_add(Monitor *mon, const char *pci_addr, 
const char *opts)
         return;
     }
     type = drives_table[drive_idx].type;
-    bus = drive_get_max_bus (type);
 
     switch (type) {
     case IF_SCSI:
+        if (!dev->qdev.info || strcmp(dev->qdev.info->name, "lsi53c895a") != 
0) {
+            monitor_printf(mon, "Device is not a scsi adapter\n");
+            break;
+        }
         success = 1;
+        drives_table[drive_idx].bus = -1;
+        drives_table[drive_idx].unit = -1;
+        if (get_param_value(buf, sizeof(buf), "unit", opts)) {
+            drives_table[drive_idx].unit = atoi(buf);
+        }
         lsi_scsi_attach(&dev->qdev, drives_table[drive_idx].bdrv,
                         drives_table[drive_idx].unit);
         break;
@@ -87,9 +96,7 @@ void drive_hot_add(Monitor *mon, const char *pci_addr, const 
char *opts)
     }
 
     if (success)
-        monitor_printf(mon, "OK bus %d, unit %d\n",
-                       drives_table[drive_idx].bus,
-                       drives_table[drive_idx].unit);
+        monitor_printf(mon, "OK\n");
     return;
 }
 
@@ -130,7 +137,14 @@ static PCIDevice *qemu_pci_hot_add_storage(Monitor *mon,
 
     switch (type) {
     case IF_SCSI:
+        drives_table[drive_idx].bus = -1;
+        drives_table[drive_idx].unit = -1;
+        if (get_param_value(buf, sizeof(buf), "unit", opts)) {
+            drives_table[drive_idx].unit = atoi(buf);
+        }
         dev = pci_create("lsi53c895a", devaddr);
+        lsi_scsi_attach(&dev->qdev, drives_table[drive_idx].bdrv,
+                        drives_table[drive_idx].unit);
         break;
     case IF_VIRTIO:
         dev = pci_create("virtio-blk-pci", devaddr);
diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin
index 
e4323c0504f8f4faf72d56e288c0d457b37bf442..542beddc6fa9c267893283c919158be28f61cb05
 100644
GIT binary patch
delta 18924
zcmb7r4|address@hidden
zzFxygJc*s%<JjD$UVY#5-7AIfJ)XDEBKn0S_;4nqXNd4>#Hitqy%EvQm;m9A5CUf2
zZ|yUGLvp{$$IR?=&Tp^1*4k^Ywf5R4O-<&eCi6mj;address@hidden>D_?j^
zpj#&W)~?9Pe_nXI_|!kI`GH((tyi7q);^C->S)NdAN6}~7JS84rAKtU?Y+FA;UL}c
zzxho8|6J_TbpY3^4OZ2g+j_!d)A3SA?kry}?{nOHVZ&qS)Dgo!vX00Dt=3u{qfacv
zK(o>5jhpGY)KM(YiVgNIb==f&u#Lt8>Vp5<address@hidden@lNnEv+ZK
address@hidden(AsS;t#0aB*v2?&RTZxF$f#O*ZX3?PM^CW$HKySP3?LFdca-&%Zi_CdQ
ztv#eVt*w31bGwX!;IF;NYTt-agve4yPSe$ep1hVmsr5^6&pBJ}v~F9%4&K&aUEXkL
zyHRa81ho{YUTcDLQq62q=X>address@hidden>jlnbQg?E&l^lpcff~N(a6xDgiO%43yxe
zGF~RNykelntx`)j8ft^hzpCGUS-G0c8jd_Mug!1k0N%gkyV3zGp5Xqr5rFVe8UL2l
zatH5ogf-agCzSCm-b{cAxl&}c!0%SBmTX(Aj4#x(7J6hO_)&g(NK`_iyG?a*B^;H0
zYl%jqZ0t6tnL)iSvt|&K-g2%unj<3EVQo1owTw?hqfO%ry=Nk$Xtl*O7A^H}UXm}U
zE}QDKsTL(*V$L^1&VGm|utQA_!BfCBs03uOX_??1TXcvy`yCDa+p}6vY&Wuo{?^Oe
zZ(Z&st$GjL=B3MdQim&address@hidden<p4OwVvOv<xL|-w-
z_INLdA1;D`t~Z&>7Ab&$U{3beegHOEZEwig3B5ry;#D<(TPrSM2%7Vv(6+p`cU!Uj
address@hidden>CT2DwFzx#MizTlf7f6^N8{)f`oDMIxkC^U8&+PoI+f#{P;#Gr{~YQr0g
z4nwBMEi`7W4dY=j(nZKA_nT?Zpo!JK>8~A74d7&0C9Sz^aaLLblJ6?<;u>Hs;#2S1
zZ^3V5BhiGOLDrBUqdDIfe9nQ$vzQamBEoSQsc)PxWRywBND+wWMgpVrJW1Ae0#+sc
zy8Fv$G^R?w?Y{%!FHSSM+9Ryi7I_J%HdwKN9Z~|&T%e2wf%&#p;|Z5U1cOSCiMfub
zcGzNMJrRbZkO7Q{ns`U#81d>lf-%(EBOGc|=MeOMg4Vu&Wl*0aXc&6ah5tVK*aMNx
zK)BoBp(cAQwH6M`nX9_2QkgoR+#sto`73i-4y!kZDsu$^I^0S3;q2O_%mwlVOzGYk
zBhrC6Qb)is=$)ek#pbJ*ao78KCk;(rkvll}5j3~yj?tS7$7pW746oSNJtIR9+-)O1
zQw};i&U?QgugEUP9Vvg#KCM?qFfpV4hB2Mqh)address@hidden<=w7atcL
zq(address@hidden|FR`<F|7HcUe$c
ze7P5<`Y`Ua1f-T~{HiNF=xRS2lAU4d>Td{#oFlwNtG!2L?*>1%I<7vEp;gU{W-8-m
address@hidden(q^pklI>address@hidden<!O4gmSYGG7yGUVCDxxI`J4~cbns#$BmjX
zvpFb~!wL>U&%(Xs7Qq`<Yr|^82&*0JTF(a<WDO@(8iQ4vRM&w2v0T-8^0n`UDst&L
z;y|_89%w(7_3uBeUi(wrdF^MRN)vG(s-)E=_#fLWm4&J||BRmfeDbp`QW>qNp|ZZ%
address@hidden<^+LCnI?YoZPr>c)bJwx2i8%XuwIxA4q<w0(AV^&+LWl)K5{ytdST
z`Xs3<P5Z}Sb*jLQxBoi3US{vG<address@hidden;*^S{A}foW1JDPPT74UO&{+fj!f
z=s!4Q&JH&BZ6)-fbDgUI**kHzQ)address@hidden>nAzzSL+2qwXMX1^lj3(address@hidden
zyH2U2jcx$jWRwW(IOrYeCa&06`%{+r@<>a-dks`Af^L{G!dJ;dfN%~G-pL6Q`82|G
zg9uwV-9hh&l&w<+yX39Ft{y}93W_fXvfl&5Ks~(9h<y9-Tzz1_a|l+!Or=qmx%rxa
z)#s^Z$JmA7$L8ifP-_Y~hwy`l!WvGW>%I;O?lUaJE<iio6a31pj77cs+)6a+eT^)P
zQ}K2yy|<address@hidden|7*^za#>-%5WXLC95R)b%|QDuwEL24t%NyGc8X0H
z+cnrt3y#$exX;0H_?#E;xhU;(UU0VtJm0Zjmi7ghbBJBx0gtbJ07mdRGa~J)g|hv>
z_|kKa5;3{qK4we%`uyJ$WqV)D>address@hidden>address@hidden((=SNT$?r
zVtK<!pYyz%)sA?+<whdZ=YQ<Fy-(VAf{zOYw58LNTDL&1;aA*kV0d)7bFj^Oi2BJ3
z)address@hidden|p@&4tpU`?FiVA_64UmbY*0tx|address@hidden;U*GGv6RSdVIZ
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
address@hidden
zJPv7J9#t+df!==h7p_8kpWC5HF9dxR244j!8({zo+RRp&lpeF&G5GjL$Rjm_Xg`75
zxiPz<address@hidden;B#g4Hux)Ym7ZD1*)1A&i(0u6jtM~=rW?Xpczoyakl0z04>z;(
z&@XR+7+O5cTfCRxOErT5<5+y~xT~Q33UeN8#-d!6Jeln9a1UP6sU7Uz3q?WNa2;ho
address@hidden@KMl(address@hidden(8VYhgX*7sxBXC^TpV*N~ME^
address@hidden&d{-N)DCLT5KuD$69GG_yrIJz2DBwk!A+1uhVnR~~aN=gRpj9Gmt<1q}8z3(Z
z*WHe#yn^&XK+#0Jlc5~6;ug)^6MJ#wq$hAj5d?41Dvjt1*H{VHSZRRa6cY=vBYOT4
z2VK#NEEfFICJQeU+`_y~Oba=Wa4fxfWJMqypobyn8+4O)7T}rNK<rpHrk3-l__>t{
z>@address@hidden>T^n{asD<E-BB$Jm-KL}Gi2~{A4?!Jk(c$Wp
zo~Dw&(%36JfrE!mhch5OLxoySs*{sKSL{;*i}*m;0?l#Js}4DEV6DBFJ>--}u!r?I
zj{tO=6McH;(Qt!G04_Da6$K8Jqq1o412>address@hidden>^t2clLY2OD5
zltBltl~&{ttkMR}Ib3_5D#vIT3aKgH+lYJ!Pn?MNc!Q_5pLW)ti$2$p;pbxIXqmE<
z(Wv4&8ReM^EKv0}VL3URZ^#d;uK3Gz2+81aGJ~;+g=%h?SSlc-%qw2<!g;c<dmmo`
zFNW75FH>address@hidden|V-TRB^i?^kdzY5!voHK_y&3)j)(W
zA+}2RG5*;address@hidden@H9Ay-Vcg6LuTjw#W%sn
z$Cer1=Rx2*%br+*VyLJs=d~|MLFOj7X+xldOcWU14(H(Ge`MZg;cR#;cv-F8!yYeX
z6}PC)-?#R$irXOtt0?0Ir0qBkYGD;iXxX-Pe*h`uML2xk9bSpdQ*}Ojn{zjakW0OU
zVlmt+rgvA&vr^%Z7iG7c!tS-V4UF*2sEs}U6jA`{bVRQ(V>address@hidden
z2k$5IjzMsOVR*-Ubkuu93W1tp)^S>%Sj{MLW2JCQhnJx9VOKvlPTex=aq>dztkTBU
z9W8KYXXGqSCpdHvZ!Y<W0$vt~d1wUm$i3LY#L7Ky(Nnz!sf?_~OQ|I137uWIav{9=
address@hidden&}>GrwgZLTOM9>L*JD&#)bHR%;Gsr4UlUy&2<iG9Ww<<2coLimp;f$~e~4>!EJ
z75>wQ(P;Q>gt<->address@hidden(blYC?+>`WNWgN-QxD_+U5
z3Z7+h^RkMnYp<YyS7%nsO{|a-GfXv)tIO~fu-|0Z`6S(|LjA?0$Jn0@;qA@)CZv`|
address@hidden;EHWvbem^C#*euMU{YT3Q?|address@hidden
zH4h*JLVOI^H&AY1;;uH)LC5c>b=Xx3aLmC>dJcO2C#hmcgm^?n<q*FaSZR5r3+zeo
z$rfa-+%lvDXZTiT2CtfZEAf6p&V+`-oQ9IER!+=FSa9*;>@yHp3E*wL;UC1KUU}4r
z(J(address@hidden(>wNL=1>FYB78eIXOx!2LXA<G08t4BenKv<<|address@hidden@
address@hidden<FNE^<<Vg^#sDT|G#~Eh&0{dcZ2jdg{#q1&|BGIGioXH29`!MtYre&g
zy2eM?K^(TppGdf+9JaD?Hh4C1LiSHPXwLOYxkE!K{g*#!W24<XRo!lu4iv#dO9!a_
zi&uN99b?`RwHim|FriZZKNnfG!E+xi16moP?il!jS^8Hv3sdP<2|Q;Xld0^ZTTGjx
zSsmViCtk$1Dun5U`$pHzu)(<9UHd4Bh83e!)Ab-=opv&s8syX=1BGYs=96fP91>gl
zyyxQ!`-3j16rBuOjbVmXV-(pzUyUrX<address@hidden;Rrnr`rX
zp=BA_K^g;address@hidden@kyC=1IiV?QNqz6BT*N!RvX)address@hidden&H5-
zGwgxZ==K66r+8Z)>G?6onC!jC4r817Xcpfi?cW3<UCYR>Jy~>2p`T5#QQaL)vT~fG
zlg-j=mRGGl6oK(u<XdU9_xWJ^yi$%uG`0CDf!sydjL8Ei^)(I%+rP#d5v>address@hidden
ze8i#mqT1Ncd3?-*_^sFLcrbXX)EY18wWZ9``jhZaGe0AzKnLUW+7$(hsclpK&x|w8
zHo1PtB32}giM!bd{11P)address@hidden(a4$e{L&K}T|AquOycOpt84)*v
z%nM?-I8W{}<address@hidden>Xgz?h_cPf9yBra|ax7ngoxCGAy2d&T;?N<pYt
address@hidden(address@hidden)#Dv)g{)-qnqk0Hf?zN
zp?BN2EG;oU^vkB#f4g+8C>P|Ja--2qL0J9pLlr{&O2k#AP>`=bvlwt$mAo|address@hidden@
address@hidden<IpUD_XLy^!X@>LkAfY{>W5_l^R8yzHI6mwU4i9YaY<dl631rqLE|iB
z^PX{Nw%#+&Juazdd=yKXpcX++mDHkljkAx-R7p|JPhlY^P12lnNpYDfDUy*C7IISs
address@hidden|QWPrCH7;address@hidden|Qfvv)Gp_7>-ZQS0{Dhz~S1+zpB}M*_BB_)n
zsgy1$E>k77rb%i|l{9Ki7ZjK1DJSL>rT7#{XQW9wBVAHlrb>$A%M?iq(j+ZNNXiAp
zWvZYvQD;h#bY_~QGt(address@hidden(CH0IOFKWlQicP5;EliWNFkMny
zrb>z<3UrOn>address@hidden>DmlT(&k`|>&T9hVfQM#nKOqCR;
z3rR_%bJ7HzqxY2KCW-4*NpawiBI(>TN#~|Zipx|<=cP$HFCi%jIxk&NT*|4E7N<#C
zoF-{;x}>;address@hidden&rgTYhnJVdmG)WhvNxC3i
zQe5hSZfL5jtY0hU2(Mbq8=9?kGOjA?Dj#%};H#=+LsPwT72=2aRUSX+qOzjQxvFHt
z(+lhEn>address@hidden<?o1SH(kADsGI6WLK+ksx=1ujkhs6y~-(0^q2{R;NrWBaPK)AaI
zC+qZ#NuW6uXe8j0BtcUWXHCVK2)address@hidden)lDMW+
zT-JuCzgfR5i8Bi}tF9OXh*Y4NfQ}?ETL;QeVUCchLrXRx?PUpFTT)1-Y0<)g_5?5|
z1(>GA91dKZ0OlrvvXG|7T#mdefy_%Hg)~Lxao~~!Fh2#DrpSB_T$%t%DL`maPS}n`
z+VJ$Edi&i8q*bsL=&Ixfm#R!Fhu)Kb&PatCgjDDZ4qcXj7NkN=f}Dyi;8;fjJ2Mq)
zP9r;$po^1}WJ`rw)address@hidden>!xnOEa;address@hidden(4RkKr}O=-~C9GaZ0
zq9jyC0-0u~MI4))uQ^F9plOCWheMMSHa88LW~y^JG&y1O;address@hidden|#bsoniXRJ7m
z<<K;address@hidden&address@hidden&Y*Q+9!Rw#geUH)b
z(Bk&udv7<?=CrT6cdl)address@hidden<Am27|MA|k?>kMKD%aEt=DIa&@Ml1l
z9F{3$(;MN!e-(a1_beG}YwI>`ty}Zmvdu5&address@hidden<2tvd!L9zouUN
z&5vVfdO$rkJpFJ^`}n={rXId{`Bxd<{*{Nf^Wpz}`831-zppg>;;%gXVm|!FZ%;G)
address@hidden&A!DimHx~xptCE8ZM
address@hidden@address@hidden)Q;5lNYNm8*2*y)UyAhQ}
address@hidden)nO-ZaIotTW^KNYn}FrcQSR-R4`8NyV=
zZbT)B$*D8iluiw4#8lL7M1k7miFYB5NT-HmLwxz0lkG#E3O6;address@hidden
zY-)address@hidden&address@hidden
z*gqxGIl_&&address@hidden<}1GR^{S}*Cc{>gW#e`
zz^Yv25r|{yL*Gp^G8Ii!MAMP?Oi2^z#*M&fNXn=or_)?E4b3Tl)6hhLDxIWb8j=9Y
zlabTVM1dp?i4<}wb<!cs4ZvwgmJl+<{^}RglDTn;1lZ&xntaVnHACf-k+f>2A{ht9
z{a^j!#na7t(`1^obf%&address@hidden
zaypumoZsT97m+}JXP<5!)2<=>X<aH(u3tReBASFG;B;(Ga)OJeTSKtU)WPc)FO#RG
zSuzPa-6ERoF&8_gC0U+M5?Q?{Pd!C9BBv9*X%fxp*3e`Jdl#*tU82l0y~UL2QOb8$
zys;$SSQ>address@hidden|wQ5kPk#T(9eqZ$p1(UOzXZeKC0{goBX?KLa@
yOZ#p2HMbYtzqS33_icIIcmJVR-VlFy%(U!I`;vV>J|;eQvxS;>mN|s$z5gGf+Zk*C

delta 13383
zcmbVy4|o&TmG6us+p-ai3^JI66t{KK(4?uAkPR-Ou_ce4Kd5mqB4mjIUz_UdzNRfn
zBto|_V>42!`%NbGuD5;ZZg*cO?7nOs`$`FGY?Fdy+>xPd;}DvdKPe_nQYjX;Few;A
ztoJ*2BpcH1_w|(address@hidden;t163u0(9?m-l1t}b*}trAj&MMr
zA)7h0Bfa_WZoF08{CBIqs>address@hidden<Ky2iXPv
zwa*Fo=V$M0KIa-OY{wi&address@hidden@63nsYcj&a&$s3mhaofPZ*Ri`Ht_d=4$_
ztbP5N8>address@hidden&>L{e8nc`nv4
zFQ<Me>address@hidden|AyaOM|^o(address@hidden<Ngo>wrPe)G
z#24)R-{M~>evs)@Q(`pE<Ri>KAic2DDhPV`JPYs1<I!ZN)K%Gb`Nq)f$Vn+$Bnkqj
address@hidden@Y2THpv)obNsgrorQUEj*AH&zs?l7#LU*I3jf|WIiX5ME(te
address@hidden>I9gPPB!PL?L+ZU6|address@hidden
z-Q{8aZfU<2FaX%}0Rc|jCPlu4dCcc>Ur;BW2p0pGU^c(3w}@)address@hidden&W>cowP
zBHkFXvVc>S2SoK-M?}4gmeAxQATAo0eqhPva+-fYlLu~*?F_>5+YO7L_Sf-EgGi+=
address@hidden)7m0^Q&H3ry;SoF9k(Xeu`WJ0W=LnkLrO7VsIyG)address@hidden
zLye1V%Y^U*OD;Jby|AUYcB<9FE^7Yn=+P}Tn%uoyCIMrE5=$;c4{f<Y>hizljt4tP
z#;#(_t{n)UUm_n74Hh2Id`D_8ZLu&wa<${CWScj$A8&-mG<i_;4J`2~N0{tN&mk^l
zm+pJ(fRotwyOMGoB7_Y4O=2~R9yo8v=Y>2+wSoSp7rT$DqvFMj(68tPmXNx(x>w8*
zVpcYw3`Y-zPpPeOQHp#X>Vi9qDVcDY;mvJUM=XZ5Mr+-(L^++Vq{V%%1NP~aaU-Y+
z8}kk7zGIpNM2u`D+4)?W#T>`h#Ik_W{l^ZJ;TPoMDlmV4+Rt~)r3a2(1#if|5n}SO
zw1$1*j2_D~st~7q>I|ppc|g%&Dh;$Sv>Dn3O`0r~zW*N|V_);eXX_#*T<V!ozYJ6^
address@hidden(&?xh0H6VrL7<{>PGwT!bQ9h{7e++G`i1lvQlTep
z0Apd7=BD>|5^CRXE)ErVhG=Pv(address@hidden;5Fra(bHV(ELtzT&mG#
address@hidden&k)%TC8}m!~4pMFzZA{+Fvep#cKz{
zF4#f)address@hidden<XW;aRoKp9TuGD$xwwm*F*C=*x^jf_GL9G)}9WZH(emNJwJcV
z-e1$AW}JFBs|O~yw;}jqMK#3Q--bWZ<gDiZNbPr$)4i6=4nHS>z274Jblvs{IAIk}
z&~^5+xPmYcq-GXv<70u37>us<%7uPsvd9Ut=${n154!(address@hidden
zAYAB&QZK;^ZN)|)bRSL18Jd-pNg)Mr49Cs}6T{Bh<WogPL&Zq3I%yAosL7e0W}4>D
zLi9I~h?&=>Kkeui>g)n*vFrX!(n=85A`Er_kJYdg7YTL3ZG?P<P**0H2-g-6CcO^2
z|address@hidden(WXD<aL3siyZdP8f0q0o#cLzFe*W#Gmn=-sAKQ>@T>UKoOEt;-yYEcDdm`Dm
z;oJNj`PyM{XM)rmng-dNY<address@hidden(&7Yk7T62bIj<7UCqdD>n&%ftid
address@hidden(1gyfmbNJEht>*08#}=U
address@hidden)xKbWOWqB_z3fVp}tQ62EgMhV7*X+kdr@;D^S#?+5JesnK4c&5C$x
ziER}ic*wAQQV?uHIMb~Pa|D)XPp`pmXd#01Cctf_C%|G7MQP=Ya7J6uLxgEfw#2)9
zk-qlBoG5>address@hidden($G8FpdtVhsYvQ|address@hidden
zd4gsULEG~L5n*|P6i`HuL{S;address@hidden(23aP}5$v?biKY_KlPeSSS
z*35{DG!#zd?&_T1-hNqt3`0$9h>b&Xvw^5BuYN3$W%BS??-hqoF9grB1RK}rc?#Hq
zXM-^La8D4CC;Td~nRvoIYX2fmLLu;RTeEN5*tvFAjk2+7j*z;Cw8d7vVG-`{!2Ka^
zkPoxh*RZ!**g+DBRqFDHF)address@hidden<5f^%UH*z^a=VqOG7d(3O^04xL-6UqBb
z`pEm7mAZ<^L%EN-55>I5LW;b2ih1FuiW(address@hidden|t02{Gb1%9yDeEe9G
z-b!*}G4Fyrx|ny-G%AGNq6R+yQ+Z5DZ<PtY*d34Nw#*BHFdL<kVxsnK<vbg>I27}i
zu6s<Oq|1yQ5DU3Co3yuRGt?H|F}NZpNZ-$3S!wT(Zd<22RK4D&PJG#DEEV)MHyVxA
address@hidden;GBYg!Ou}&8QQbjXKLJqt3csinMc(GWVeoIS3z{n6x2qDM7Wb
zMu|1&*kScui3XZ65WAN|7jx>(C7AET{9Q(!O)%<;@K=niVs`EE);ljGvPRwHI-~Bg
zYSdksWz>D_HR`6C!#fJNjJlkE%PzI=u95%SLDv_dVC+qnU2?wnD-aYrj_oD^DX9er
zQ&3W**OV%AZ=YvxUk(address@hidden;N0tXt&q~
zJMf?CB?r!YL&34#<(address@hidden>NlS^}#IlhdvIi
z2u6?U^;bgG(%v|aL6CG(J_dROWNQdNs(egD-c&0e3!kGnbTPbJ?XO0hqx>E5FeVS;
zFN?o(QkOiaKQy^q9u6{pCgdU1iYFI3^e1r_;@clBAVt3d0gU`3uLkzY+2!)address@hidden
zwn+$Gr}>7Yy?vY^eW^$U(0<mQ3x5QzGa&6+Q&f17pk`KUw==mrF;UEXyC{<$wle=7
z)~C6CQ%x~ReoeFevI=+VnR}RT0QJ!T(kdp$S$I(TkHI%TypX60S=gXDEcVj2A{C1c
z;8$(address@hidden>80?h-6Gs_6A0yCt2W_6xmKP4WHtqLrY0?Blyc;H~b^mm0Lyq
z{*QyqHzGy84^Z86#hnXANqC_O><W`#B8gxg(ud`(FNOc0e(RVRDgnxo-H4arK`znI
zJw&address@hidden)}LCy-Zy+a~U`&Y9;E;}T+
z)address@hidden(`>$|fyNZ{~-Jx3DbJ=|%$m9`|WPP(3ssKTXNih^>
zDtsZBlt(D--J`kF^`zwax?_*#-=hgEsU~ggOVZvqm^?%dinZ=w{+%)TbtL`B>OZf^
zLt1#JzOu$<>duLb7TysnCawH63-1VzYVsa!8Ps3|_#igjR>address@hidden
zb>#N7eNUAcjUtM%J*p^b;axP-Z&!;&t%hZ9kxwnRNYA|l!)2EAk0~Y1XTSN{*o;9)
zs2p(0Y*94}RomFJ)pl)}w$a8eu`HrW;*7I2(address@hidden<(Cri=N&DsJ
z+Cq}Hs9M8Z4Ra|W2(GwmZg_;<Nl~4xpb$Uu4(++0M`6m~9JJcu>GhD<-l2JIi4S;i
zHh45{Lo7ak_$9DOEZL9*cs9Rg4r{tTu_hN~aK*eQ!ym9AP7G)==}G_L0!ji9&^abm
zi0e9woK?!_#&S8SD|address@hidden;fMa<8(address@hidden
z1EVAVWbQl9kz4kW|7y>?2sv$QBfd|laY-FU7~Z4CtGClox6p>@%l(@obF<n;NhqAy
z=obWpawbQly$RhGT?Qmfj#=dhH1kKyXg6NPi26Ys_N{NJ)1UJp8Dy<^>}R&>)XGax
zMt{G4x3ima0Cplcru&address@hidden<@address@hidden
zo*O8xsmT(3H7iqpj}*I2_gWLfHr+PJ<PI^Z$!$!29ss0wzn{=;?-0fM+A_VN#EDLX
address@hidden)aZ#P94xj67S)address@hidden;j=)=^940gO0oElk_62c
zflFxJ!ya_H58)T#nwl|ULY;Jl$1Was$72to(address@hidden@d9ERb!RWv+b5VmaqYlcTz
zdd~3NnblffWB1?O69V-?=DBU#^LWXgs!n=pc4NqBT5DsTWr)&h+|C}Z>wT0WV$(`C
zVKhBrF`Cxdg2|>0ISJRV=A>j(^YG7T(xbLy)address@hidden
zGKw3Kg?yFrkw)address@hidden(LA6ih}W~
zzSP#LJAtU-_Bu$TeR4K5B>bT}j`l}h614}z<4I4oAPi3>J%4jEd4IfA`)&=YD`>xk
z(C4Tr5kuPMv0|&address@hidden&k8
z9!GCGsO>y+^Fjq3n1V1~`U43g?=gK51K6=xtsKKPg<p(bkY1qv5m)4V6f*TUJPcLN
zTOh9{3&address@hidden<2dIqI!>N2;A`cs)
address@hidden>MicLQEwN5%em=De;=nL9VuYK
address@hidden)CpVoBfT|cpjJ)RFCsxFfrkIU^U;%25X$i5q9-+R
zGeXZ>B8tqPa9DXr5S(~A#bKk*f^HgTzt~Ks4+GN!!(ar#tC#rA#H^re`9IU!Fsgvo
zw-7Uiwbu8f2nmMblK+&LEuTcVavxppKgHyixr=&6lD57J#LE%TwjL)+T6dal#Ah6}
z^2-pt^jse;e4b5-2g~2OCGhg~;hk)}^n?^uErKFwzaZMwF~q`dj*%LTFKewklk!WL
z2Nre^;Y*B#Z?mi#htF4!B2#!7gpk-CvAB<7cObTTR6(address@hidden|i~
z<4Zvm0zzDWONESBJvt^knDRqfoz*)az*_%{((@jum?poh`FA2jBl%3fJrf)?4h&hK
zaf|address@hidden>f5>address@hidden<address@hidden;96U(5D
address@hidden@kBlNh&LSd~n;=W*}h1fryU6~o!UU?L`uoNNj
zYra9`1*V4=6J~N#aP6e1ho=>l0Oe8k;8HQMd^SZJ^yMV=KY;`GgFGd;Jp7}leyqt6
zMf3H;9l|BBdvDczFS5<mTI&(address@hidden)address@hidden
z|LZvtNo0v{P-`7TGQw6?JIHSx`!YP|v(--S$MXJb;Y2Ri-v1&address@hidden<)YYKwi320y>
zr<D5WVlJ1yi`3bSzVyDslpcS7jNadl_ZnA!Bz-9;PPblff#R4t<NQ-Plkb+XN1UWL
ztwRcX(#2KgyLM<vdKsLn7I=}&CGZpJ`9Dx|&LrT!Gh?!0LQos{3Dgp#|0z?ZL2k;@
z4}J=iSZU;E2(QxK8x-=vto8Y%+(C2GAxI~`;#E}>dMv24(F{;0Q2}InY5*FVtvh}Q
zHzBm2xq_=!!qYmmu$Y{pjt6=wa;n{z!n?LoUrLixWBYhsb>b|Ov%4o~fSssEi)#$q
z<3LizL(MCuka?(i3K2|`I9|edhNo%B3h|PXLS!6g)v3;$bFsLnb8&f<BHNKbYReeT
zM?gp7U3)3cE|`CaqEZ_>JhqSe5HyRl_%NzKm>X|jFc3j0W`6uVPE;Na+{nYAuu}7<
z*y?I@<KF|V4oX-_DJt)QiZxU_p*RXBnjzA(w+;(address@hidden>x)VG(whmo1wA
z<oWz|H`=;(v;j$w+FZ(i;TAMJ6hhT0mdy*+%!$!9YCl9Wy^*9|nt&address@hidden
zv8HVKEXvmvtWSM6%ig;9+n3ROybS1Vb=d5EbkSE9)54#AgH5toso#^<L3n<<c!wrv
zPvNBD6sjau&f3&mN$5Lju2_mbManLpV&_b9&e$PhO3|SUv>Dw~IfYY^eg=TS4iW*x
zE=9fvM(F|7x)gQbU3=?$-vqnUk~nNif(Xb9Knq;W_3xb2oV%Nr85-ODaR&WkaJMiq
zW!*i2YGw+f>KW_qE0WUH{sm~yC>D6G4GMav+P^Gc&cdg)!)@lQo1EM3B_YryJ%OQ)
zZ4LBHmvoAr+gnrfo<tVYXI2eE$s$V6gk8{_!^xt@>Hg<}Ft(p`xw{lkY<v{TG&IJP
zaiVQIrFvi{75WfetD+d5z#s}llNOQ;Cog;hR&s765uvXL5v9tpEXB0Qhj<1C_tBm#
zrluaa!nddABd8RwIa9Uyk&SrW3l$SmpTmfPIXxi)!k>_;z)<?%z!Da8LEuu9YB9An
z)tDE3$c067*q6dqL^lI~kO)Gg&3!cWCd!ob;}|oQ5qOr)B|P_;`T{WO_NI0c*b3VJ
zJR+>IAmqgLGv-7oS~ZQhjSzp2W;mu1W61-&QHrxN81P({WpB*XfOWL<2!{h~a%`W_
address@hidden&AjYwbaHy8U$kx3LMc
zvP7SfZh2*Si7HFAzlv*4o}u6hVWSlJFH8xpa6X9wA(G(tcg-~!48N|eXe+_`(address@hidden
z?Y~+J)address@hidden;address@hidden@m}dIa
zgr1cC*EPF8Hqlu5783u|3*9OR4vIa6el;N~2O?HMHSu;Tj|==6^0=^n1Ln~&oz(R&
z|address@hidden)W4bs%J{xeAm9Z2uIc2-*DS6oj^yO4XN*1+xy50Mk%IGJs$4tm|qoq
z9R3i#kh{VsvediFOA;oCZ9x!mTqyb$NU#KxJh2yr(57u!lm~4`#O?IkO^tMFuis4F
address@hidden@|address@hidden;dEJ7gZVFv6IOOrt-lI5DI#VbN;Ff<e6Gq6XqmD`aY^+mR
zaJ{l0CMUFzTDV5{!Qv>{p+<H0owy&xgFPWdeuMk&rSuZU{fYNjQtBf8EFCN&(}o}1
zPALvgFexPbdS-3Da21OF9$K|~9Xgs&address@hidden;vtZKC_T+4?R`>I
z$FqsJ=uxae|F*BijaEUA+vt{-9G+QH+BxV-eCVQ;5w0Am?W42_E>oR12`2yDH9&L~
zZ*Dviqu20;JxmOjao*COhVwLa{Xl^eWXq$BlRY`ZLxN3C^FXcCt^_k!QtCPg?h=XI
z;zaG`#nO&nIi(address@hidden&04wRyMAs_|address@hidden
address@hidden&_`-8pKDH*g_ov$<?;AlbkpkhG{-VYmm_iPFCOA%zs#g}|gH1oh3Fc&_}i
zwDY)&`Ht}RiSElVN44%x=|0p0W+P>YcTv>%VkQsxkleWAsXwH1IZBFGV;wz^;b%9P
zfq7^!rQXiJMbRzjat6H;yz3^P41iP*e;a-r`A_H9ultgctfLeJIb2p$TQe2GWSvE@
z;);AtdhXdGO!8Q;YN1?~BJTrwKlCo|I&cKY(`4qNWoU)ZnCnMh0Ss2re<WZh4Z)_b
ztwP_w3Pp6CO+?4uijKXg7{~{Ltl6SfM8FLehKo0s$8|mg*lgGMVJIHaS~u#P==7Ik
z*wJf4>2K6k)*E#TMZ8^vxSy>1R6$X$>7vX6X!xw&SQEqfrMHB*Wqr5!Q_COoXEvdk
address@hidden@^Q8(qE2%eO-|<address@hidden>ga`!+hFU{fS{Ml43;upSgX$G5yfYS(3x|%oC
address@hidden;~wU^VrE3$`D2IF$&T#-yjat)wJ0DJ6ejNqZNp!
z7en3%%_Qq`5Hlm|pZ?y|gwGHFNS#NdPHRGhzg5C5$Q||X3wUW*=AnflX})9V{8%VY
ztz;ggw&-EmbIfDcJ(A&>L#Y>OgEN@)address@hidden)J!r!Ds
z^^)E$VBD~{&~*~$CBA;FObcAIrruD=7i<@RGuWOGK$sKFs&cea<`&e^1u7l7XI_xq
address@hidden;2NoQ3u719^(address@hidden)}x*BeOl76mg`Sf
z7+$dgok&address@hidden>!5+&GF;gM4#PXA)bL7z;RSVGQ0JXng0~<ADL7Sm_K(T=
z!3n~u1-7(0^(3+j_;WImw(nI4p;hJ7lR(^P`w~8vSu(EUsK{1~dK%QtDB_GBrtbo^
z9W(N+0wR)address@hidden)%Adp!=(l?tU8N5YKEtg4|Ve<Zz`(y{S1!0t%B?>yi
address@hidden|0mJf*YcHK7QWg^mWUux07F1z=7oC@|V5Xys?M
z0Bm4A+IYpNV{y(CtEcW>2_DcW!kry=L42^m4jc7Fi`BkaMt!j*R&S*qQi+W>l?vU`
zB78038|p2?4D^z&?T1Pjge7~=C|Y31eKdHBJcP}gk6v4lJ-x{AeyZBQHZpG|@OmrE
address@hidden)8=ow7Jy3*0=1a~k^SO)address@hidden&$Bl#o<xBbTU(*|
zhaeLyM7!+7`Uq_Hq+;V)address@hidden;address@hidden|eorP{-2!4%s
zg43Z%c$wBzFXbz{ME#lTjS`WaGn&Nf(O$I(V(address@hidden&Tp#=X&9t
zadL%AYIPng0WcK+qJiVQQ?aHZ)address@hidden&Ri9?G7Fa$g1II~9Ad
zL|<?3<w|~>&?!Rd^cj=5xAAB+RT7$o(address@hidden)=85A_C6=&oW^
zco2WA={gt*eY8e?`rs{r)bapnc7WV;`Y?I~P&address@hidden)^0LA##Y&hZ)=J$Elvslf
z)hS5+3TxpTGgDfm6gDySxobft3LwNCffSK5C>BzwsbP+5JdX>VZs0P!cB|e}Tt<+k
address@hidden|uKgaw=7b&2kHFS#rIfr`{mr-v&99BCQe`8n2Sco*c1
zV$LbWqpRFN7kWHYk6nElK;IOE&address@hidden
z*Sw!WIL5sWJe6U?CnVffq{u=H&OC?TOWSFn$yVsTrvC@(9Ybj<q41O*q=%;KICI5l
address@hidden)Von#in_tpW;tNg+efWH=cPPclv8qe4UE+57kj&
z2OJz3;w>=5e5S9YdVfa;Tg5bf&&)VafBzR=VH4<}Dmd2jr#=Rgq7UOGeUf2*5cVFo
zmhImlyH1?X<@lrYQ}dfF^YbkJVODC-+qqoo^f)R{UQ3P4Rr{P&^*9ThgqF2`$<uK8
zmGB4J{WjfW=cyb~MTEvss^~5|s|aBs%9RUs%P0)6?aNbA<d;YjQrVNa98V6RQBvV!
zmHbvCN9+lHd5$9RBeyK;;|p{*lfv=SS^8K4&R0bA!J*zcm{iX<A)oGt0D(address@hidden
zp-+a)Q`t|z_k;+zhR~V1^@;bur~kFnP)tm~21CTLh~X*1`5rH?3>=Rb9vm8Y%7)c=
address@hidden<B(z$a?H>swa?`~#9gv_Nn99Lhb`n4?*ACe8=fnC
zP0tjN<;>$6r5Jnw1z#NyMHa(TjOP;kO)address@hidden)E}_)wu5Q-
z6QTP)Fb>address@hidden<5+s7;address@hidden
z7~EU*s3BPOd-354<c?^Hk5}+#6JpIpv9-lg<W<1L%CVjrx2u!V78EY%wz&`8(wb$L
zW9T2?v#kj(y&`-pMBnXHl96bEtb*gf>oAdjy_2P{cK{0^vx(jqc(L*jrEiqF*Aqh@
zWZ9h*v)H-3j(mc{u0Ym(G`0|H>address@hidden|_v-kGTjjyI4p}RL1HR
zGl+w4Nc*Z2BKM)_$t`o~+oIb|>fX$MThv%aZE>address@hidden&=+u
address@hidden&4e>%2cPF}9EQJx*lyBX>3X9uw$U
zIPpbZc9h!_*`N;b<jsydi@(address@hidden>zeg7<DLX3b04Liqgx&@JUM&3}K=W2X
zMT~{F#;|qiN;tXv3*HG!m(Tz=M=aG*j<3jez;XN$7k?2GXhnWkQ&teM*kJ5!?bOqM
zgYQ$$_q4$COZ(>`^^^AVk8JwF_qAW*$IU6N(W&_|T3t2&@4$!jV(9LIUwUXpCaEWW
zOYGZ)xyZ!we5c<+cB&fA+KbQp7)X-XkS|iX>)1s*C)+8NDZt)_>8XFmCA|_dpo7-*
address@hidden;W5#F=>d4InEY{&lx{I>address@hidden@KyKuH7&x4&NE9tdoOk8#ciIo
z&address@hidden;0&Z0p)*(SsG2l~vCB7O!vd
address@hidden)address@hidden@address@hidden;4{h&j#
zulL{AAllbAuWBhTEi3-)#HT7dx5_ojJ?p)zS_FIZs#P_7+#*zdSJ3EDT<vRKzp;7M
zLp2*-a{O>ZS=)ET4K%c^WTQa8I|#^i{rZ+wEu!`f4!xDeH*DIlaRW_TxAj3H!t)6t
z$}Cq=VF4MQ#y^V;_g_YaJ5Pr9lVn&wL58L2&address@hidden
zlso<cGCCi)_h#Fy(pjaQXI9Pc+}!fD&Wo$sJ5RQ>cOF^&MCYTcH@>>eKk&-#HM=VI
dh>st)address@hidden<%Mz>$AsTHmq`G3#B*wX+2

-- 
1.6.2.5





reply via email to

[Prev in Thread] Current Thread [Next in Thread]