From: "Jim C. Brown" <jma5@umd.edu>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] vde-inject 0.0.1
Date: Thu, 9 Feb 2006 00:39:53 -0500 [thread overview]
Message-ID: <20060209053953.GA13800@jbrown.mylinuxbox.org> (raw)
In-Reply-To: <20060208231325.GA28610@jbrown.mylinuxbox.org>
[-- Attachment #1: Type: text/plain, Size: 918 bytes --]
Ok, I managed to fix my VDE issues and get this to work on eth0. Working sources
for vde-inject and vde_pcap_inject attached.
It will cause duplicate packets to occur, but otherwise appears stable.
You need libpcap installed. (According to my pcap.h, I have pcap 2.4 installed.)
Compile vde_pcap_inject with this command:
gcc -o vde_pcap_inject vde_pcap_inject.c -lpcap
Extract the bz2ball, cd into vde-inject and type 'make'. This will build the
module, which you can load via 'insmod vdeinject.ko'
Then load up the VDE network as so (running as root):
vde_switch -hub -daemon
chmod 666 /tmp/vde.ctl
./vde_pcap_inject eth0 /tmp/vde.ctl
This step will connect the VDE to eth0, creating a vmware like bridge.
You can now just run qemu apps with vdeq/vdeqemu normally, and they'll appear
to be running on your LAN.
--
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.
[-- Attachment #2: vde_pcap_inject.c --]
[-- Type: text/plain, Size: 5947 bytes --]
/* Copyright (C) 2005-2006 Jim Brown
* Copyright (C) 2005 Henrik Nordstrom
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
*
* The VDE connection setup (open_vde) is loosely based on a similar
* functions in vdeq.c by Renzo Davoli
*/
#include <sys/socket.h>
#include <netpacket/packet.h>
#include <net/ethernet.h> /* the L2 protocols */
#include <sys/ioctl.h>
#include <fcntl.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <sys/un.h>
#include <errno.h>
#include <signal.h>
#include <linux/if_tun.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include <pcap.h>
#define SWITCH_MAGIC 0xfeedface
#define BUFSIZE 2048
#define ETH_ALEN 6
#define PCAP_READ_TIMEOUT 1
enum request_type {
REQ_NEW_CONTROL
};
struct request_v3 {
uint32_t magic;
uint32_t version;
enum request_type type;
struct sockaddr_un sock;
};
static int
open_vde(char *name, int intno, int group)
{
int pid = getpid();
struct request_v3 req;
int fdctl;
int fddata;
struct sockaddr_un sock;
if ((fdctl = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
perror("socket");
exit(1);
}
sock.sun_family = AF_UNIX;
snprintf(sock.sun_path, sizeof(sock.sun_path), "%s", name);
if (connect(fdctl, (struct sockaddr *) &sock, sizeof(sock))) {
perror("connect");
exit(1);
}
memset(&req, 0, sizeof(req));
req.magic = SWITCH_MAGIC;
req.version = 3;
// req.type = REQ_NEW_CONTROL + ((group > 0) ? ((geteuid() << 8) + group) << 8 : 0);
// req.type = REQ_NEW_CONTROL + (port << 8);
req.type = REQ_NEW_CONTROL + (10 << 8);
req.sock.sun_family = AF_UNIX;
sprintf(&req.sock.sun_path[1], "%5d-%2d", pid, intno);
if ((fddata = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0) {
perror("socket");
exit(1);
}
if (bind(fddata, (struct sockaddr *) &req.sock, sizeof(req.sock)) < 0) {
perror("bind");
exit(1);
}
if (send(fdctl, &req, sizeof(req), 0) < 0) {
perror("send");
exit(1);
}
if (recv(fdctl, &sock, sizeof(struct sockaddr_un), 0) < 0) {
perror("recv");
exit(1);
}
if (connect(fddata, (struct sockaddr *) &sock, sizeof(struct sockaddr_un)) < 0) {
perror("connect");
exit(1);
}
/* note: fdctl is intentionally leaked. Closed on exit by the OS. */
return fddata;
}
void
set_nonblocking(int fd)
{
int fl = fcntl(fd, F_GETFL);
fcntl(fd, F_SETFL, (fl | O_NONBLOCK));
}
void
pcap_relay(u_char *args, const struct pcap_pkthdr *header, const u_char * packet)
{
int * vde_socket = (int *)args;
send(*vde_socket, packet, header->len, 0);
}
static void
wrap_dispatch(fd_set * rfd, pcap_t * handle, int vde_socket)
{
int n;
if (FD_ISSET(pcap_get_selectable_fd(handle), rfd)) {
n = pcap_dispatch(handle, -1, pcap_relay, (u_char *)&vde_socket);
}
}
int pcap_sendpacket(pcap_t * handle, const u_char * packet, int len, const char * dev)
{
struct sockaddr_ll sa1;
struct ifreq ifr;
strncpy (ifr.ifr_name, dev, sizeof(ifr.ifr_name) - 1);
ifr.ifr_name[sizeof(ifr.ifr_name)-1] = '\0';
if (ioctl(pcap_fileno(handle), SIOCGIFINDEX, &ifr) == -1)
return -1;
memset(&sa1, 0, sizeof (sa1));
sa1.sll_family = AF_PACKET;
sa1.sll_ifindex = ifr.ifr_ifindex;
sa1.sll_protocol = htons(ETH_P_ALL);
if (sendto(pcap_fileno(handle), packet, len, 0, (struct sockaddr *)&sa1, sizeof(sa1)) == len)
{
return 0;
}
else
{
return -1;
}
}
int vde_inject_fd = -1;
static void
relay(fd_set * rfd, int vde_socket, pcap_t * handle, const char * dev)
{
int n;
char packet[65536];
union {
struct sockaddr_ll ll;
struct sockaddr_un un;
} sa;
socklen_t sa_len = sizeof(sa);
if (FD_ISSET(vde_socket, rfd)) {
n = recvfrom(vde_socket, packet, sizeof(packet), 0, (struct sockaddr *)&sa, &sa_len);
if (n > 0)
{
pcap_sendpacket(handle, packet, n, dev);
vde_inject_fd = open("/proc/vdeinject", O_WRONLY);
if (vde_inject_fd != -1)
{
write(vde_inject_fd, packet, n);
close(vde_inject_fd);
}
}
else if (n == 0)
exit(1);
else if (errno != EINTR) {
perror("recv:");
exit(1);
}
}
}
pcap_t * a;
void handle_cl(int signal)
{
printf("Caught signal %d, cleaning up ...\n", signal);
pcap_close(a);
exit(0);
}
int
main(int argc, char **argv)
{
int vde_socket;
pcap_t * handle;
char errbuf[PCAP_ERRBUF_SIZE];
const u_char * packet;
fd_set rfd;
int fds;
if (argc != 3) {
printf("Usage: %s interface vde_socket\n", argv[0]);
exit(1);
}
handle = pcap_open_live(argv[1], BUFSIZ, 1, PCAP_READ_TIMEOUT, errbuf);
if (handle == NULL)
{
printf("%s\n", errbuf);
exit(1);
}
vde_socket = open_vde(argv[2], 0, 0);
set_nonblocking(vde_socket);
a = handle;
signal(SIGINT, handle_cl);
fds = pcap_get_selectable_fd(handle);
if (vde_socket > fds)
fds = vde_socket;
fds += 1;
FD_ZERO(&rfd);
int i;
for (;;) {
int n;
FD_SET(pcap_get_selectable_fd(handle), &rfd);
FD_SET(vde_socket, &rfd);
n = select(fds, &rfd, NULL, NULL, NULL);
if (n > 0) {
wrap_dispatch(&rfd, handle, vde_socket);
relay(&rfd, vde_socket, handle, argv[1]);
} else if (n < 0 && errno != EINTR) {
perror("select:");
}
}
}
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: vde-inject.tbz --]
[-- Type: text/plain; charset=unknown-8bit, Size: 13427 bytes --]
BZh91AY&SY_äéí\0`ºÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿþLWüL_LMôUá\ýyïà@\0ú/d²¬V®³¾]Öbç&e\x1dW\x03\0\r\x14\0\0\0®çj\x1cÚµ\0 éTb(\x11B9\r\0\r\x03S°
\0\x15UAQ(£E@(\0\x19QB\x02(SL¨RRD\x04RR)P\x12P
BH%#\x11 \x03\x10i
"u \x1d±À1ð&Bfi©´\x18CQ\r4È&Òb'´G© jm5=M¤ÑM24ô4ÓILLM\x01é¨4ѧ¢10& é\x18ÔÓCh\x06§ M\x02\x10$Ó$ÚQú§¨zSCõFPh\04\0\0\0\x01 \r\x01 \0\0\0\0\0\0\0\0\0\0\x03@4h\x064d\x01A \x1a\x1a4È\x19\0\0\x19\x064\0d\0\x1ah2\x1ad12\r4h\x01£@\x19\0\0I¤\x10&B`JlOÒõ\x06\x06Ôd\r\04õ\r\x01£@Ñ h\x06È\0\x03@\0\0\0\0\0\x03!\x15OSÔ~¨\x1a\0\x06@\0\x03CA \0\0\0\0\x1a\x03@\f#!\0\0\0\0\0\0\0\0\0\0\x12"\b\x04\x02\x1a\x13\x12a\x011\x11©èSòd\x157¤µ5=Gê£FOIé¨4Ð0£@\0\0\0\x01¦\x03@\0\x03A§?HX\x18Ô\x1c°.\x1fÀ6æÔÂ5E`,Ƥ l\x12½¢çg\0ùò
ÅM"
ýøú«®lH¼ÊI,®G¤õ1ì|\x1c©) \x02(§+Èâ^[¿;¸íÌ"tÐÍÏà÷Þ\x0fyü¹¯:á¼äסtDXf`±ô\x10ê®)b¬s\x1dn$Ý\x06nNÃbì±¼%:êý\x04ñ ÷*\x04{ÓÃð<PlÁÌA@R?îà¡UI¼;Ïç¢]Ì¿bÖ§ä\x03Ô\x19¬HQ ?\x05!í¼c¦t@\x1aCÊïuÚíGÁû}¯^[3;³§c
©èx\x1c\x13QÒÉnN
ò5{®\v»;õçìû|ß
ÝÝñ\x12¨\x17üÁ^Ózÿ'LÍ\ax¤,ùÂ×´:\b'£ÏÛK{ÛmÌ5I@@áòúìiB)¬\ÜOµûÅa\0ØÚügº\ûù\x06j\x0f/_á\x18`o±û3Ô×yß\x19¢iÆNð.Rûý©:FK¯£=\vΣ¢ Å\x19DXyIÑ=Bôõ¡ÂK?Ú\x02b\x1c~!G*
\bÊ/ Í<¡Ãò\x14\x1eé\x02aϺA\x11\x10dòÊÒÔ Ô [(R¢65l\x01ie\x066Z«K-Â\bdqY\x10@}s\x02\x19?q\0ÄîØAedeàê\x19ÔF?L\x05i¤KlHø>>£Bü¿\b?ÖÑI\x7fáÈ#ó?\x1c)M#y\x10qãP\x7fÊ
[@i¤\x06¹B\\x7fB\x177øý°ZQ;m\x048ýåq\x12Ы6L\vV¤µi£ÇãÕ¬èSY73Â\bã\r²R0gÞd\x01Î\x02\0ðj\x1fm#~ûþm\x16YgÉÐ\x0e>\x13\b5ªTy¨M6¶\x10ÃÄD´*!\x18Ï;ñú"!칩àxÆ\fìP'c¤¡2d\0\x1a\x18I\x181%)d;xøXdti\f--FXBX \a`o4`\x18ÁAë[wG ;\x02 8 þ'(nn¾\x01"áÌ
tA\x10E'.Y\x1fEù'пçmõÛ>°Í{3 Ë\x1ep§RFñOøã\x11\x04\rÔ¶»ë|\fñ¼\x04\x16\x10äë Î^ÍòÒ³\x13Ò°¨$g\x0e\x14«\x01E0^[\vLn)Óös7\x1f¿9±Òù!b»m\x01ýøÑTVGrÔ\x1eÁë\a\x0fØ,ïh\x02\x04\ap´`h(Å5Þ_ EF¤ye\x01Ò¹H\x03\x064Ïé¶àe7sò&Ü"jÀ÷A'ø\a4î]4éBIïó"b\x12)6\vÛÂB{\x0f?ãfó÷ý\x7fmJMN¿gãËʾäå^[³dZ\x11+ØQÖ"\x1eY¥ø42ix±c\x18ê¿?¤\x11G\x1cx\r´4°9Þ 0!
2\x15\x06O\x0e0fGg\x05Ðh\b0²\0~\x107"\f"\x13"ò@DË\x0fÌ|d\x10á\x1e7«\x04>\x174<¿CËÖ;»½nW 4\x1d÷<\vÜ÷xA询Ò\r\x16Î"\aþ\x15\x04.ï\x11U<A\x16=D/ÕûÇ×\x04¤AvÛ\x03\x06;\x03øgGûXW\x0en6KÀZ§\x19!ß±"N
\v"!î\x14&èp=/zá~\aÞÉHô\x18B\x1a\x05¿ø^è Ä\x1dÍ 4\x18MСß<Ã!ÿÌ<~ÿ6³@\a{gÇ\x11\x14\x19÷Þ© è¢ ª|§6 ìyæ!é%㪮G·³Ì\x12²\x04½[{E/\x13*\x1c¤GTcתH'· p¬Jʱõ\x18ó\x10úüHEÿ¶\x1fÙÇ-ɸ®0\x11û']öleíþk/ÌÍ!!Nö@àÎ+vÙi@éë~R-âé_c¸RM¾Ö\x0f®§ÐSþWÒû<èÛyp¶\7®Rì
\a/NÐÙ/F\x10ýJÜ\x11\x11\x03\x1eå\x11ñÕÄÀ"¢*h¶
\x1d¢{\x13Å\a}&½öQûoV5z³zºg)KL»]£XX\x12õ§°Z§ÃŹg\x16?;Æí\x11Õ\x11<pæÖ>R1\x1c©Z®,»aa,æÜ4XE²Ë\f³óù¯\x17\x1f?I-LçÐ\\x02À¿\x06\x06\v9\x16>-õÜ&g^[ú*Ý}\x11TØ"?$áx;ÕÝ9
`@y²^[v(YCM6cîÅd5\x1e\a8
¼CSîÊ\x7f¨|OaÖ±K%E@õrg`gb{]`\v\x03õN'A0ôÌ'\x13rMaO\x12zsi®gÍ4\0i\x7fs$ÚÜ\x1a¿ó`wæe®\a\x1f¯&\x18ôð\0\x12\x0f I#îÌH\x12ûãMÈ@ò¼ã+åhó\x03ÑÔ=@ødÞ\x1eÑH)\x0efQÌkªSÚ¡$ú^«ô?¾ëZ\x05ÊfE\a×`æ¨÷p¾K\f\x1a\0ÕT¼¥]¢lY6K\fÅ,òE}ÆuÙÐ×û¨$ MÀ¦q\®o\x0eyII \v3\x12)½³ûy/w¼|\f\x18Úõw\x12|É\x1ePÙÀ>$<
\a>Í«É][°j\x17'3Ê1x5dXD\x179Oüù_îï{{©\x1c[
2B|ôÏú[Øo·ÆõÔnï§³.L¤¾Ö«Ü¡/Òî]>e\x0fi3Ä18Ðú8ù¾?4?ùsúýmÕé
½µ\x11ümÖ¤sÏ»EÖ.HUí§=¥\x1cè¾72æöåê)òáÇ-ò÷\x1e«>8¬=P\x10Û²|>y÷\x1c2_`Ë»wCÝÈ\x1a^[\x1a;\x1a\x12\x02\x0eDtÏ\x1e\aíÓèz4zw¥ÂÃþ$ã!9á\x01ÝT\x18òÓ\x04ºäXähÐýï"þÜ£m°\x1fYogF{0Ð\x03ÏKCÓYnèP rdeïOcrø¡¬x\x1e"\x10˺\f7g\¤³Î\x1d¹ú~§Ï\x1ff´`úâ}ÂÛlN0H°Q#\x11H¢D\x14A\x02#ç©VH,F(,U"0DH£\x12(Æ,HÛ\x10¡\x05F\x04c\x14 \x16\x03\x04\bFADdF
1F9e\x11\x14@`+\x18\x02\fY\x04\x18Ec \x10dRmâmÚàúCÉðf* Ëy¾Éä參`Ó.=±öÔø\fR"ÕÆ}Æs\x1có\x17Ã?é[M¬\x05\x15@½<k>#ê:å)ͧ{î!UkéSÓ\fÇ©\x154È\fMjîiß²ú=ûaq Ñ\x12¯ztìäÕ«\x06\MXÙ+g\x0e\x15#a`Äâ\x11h¿uÐYÑãBµTIG¯.1,\x19ÛcU6m\x1cõ
ÑÚ4Dw³ÕÓ6ÕÍôoÀò
\x1fk×tH×4Mð:,\x15)\x14Bwá£\x01\x0eD\x05@yvêí\x02æóU#\f»UÚUoßGÅ\x02\x12\r \x18ìè¥\x1aíÇ|XÐY¥×½s\m×|ÃÙzji5täUhYF`©Û-\x0f9åÎð;µ6\x108SÑ\rín\x0eÙ«!ÖüîöçvêÇtFQXML\x11¥\x12»pÎ)¹x$]\x05\x16Ϥe\x0f{7¿;Ó\x1cÚëNaÓnëVr¼lbèuo*(9¬ã=Ñ®>thû^ýÐ\x0f\r|D?OIkÈÞ\x04? q\x0e\x14sÒ¨/wwR¯z\x02ÚÃÊQ¿4ðõaeŬBã¹R\x02\x1e¢µ»\f¬%ÃkÔm5\vxJÅ\x12ý};®#¤`æÕ&
\a\x01еmaß\x14\0\x04¤$&!$e;ë\x15×\x0f^[RÑÒdÛÔý
\a« ÍFIJ7VBUÓ ªH
\x0fj¨\x15\b
\x16ER\Ъ\x10]6\x0eýýuLF:W@¥2ÎÊÉS¹ÖöÁݳ«ç\x06Ì
Ô\r³ü®Ö-Î\x14·
%G}S~cM¥\r\x194Â6Á\b\x04Ò²Þ^Á¹[\x18®²5¤fPZÁ5ÝÂ,!\x12¸e°¥Ýr{ñ¡DÚ»Íë.\x18¯k\fîçrcÁÞî\x11I\x14ël\a:<oKdl\v²£\x1a*BîÎh®CåQIF¢«§7ª`0jB1T *2ì^˹V²ú«+®ÐÛÄh^[Ò\x18ó4f\x14\x15:nd\x18da1>¥Òr\b«s4vev°EU
£)\x1aò
Ã:ÖA4Íݳ6q\x1du¨Q´ iåtë«ê¦áù\x01\x06MTg\x04°úEb<8qq\x11Ú®jp©UXcuåØùy®ûÁ^`©\x17hÃ'Jºâ÷*K÷KÔÄ70Hhñ(fDdAÓ¥TpF(\fMa¤m:x hC:
ñ¥:®*÷»cÁÃDÕ
-¹©Øah\x10Òd \x1d)ÉÊÍp\x02åYsÂò¨Y¶ÛV÷Ú\x12GÔlû%fèM( °7UTë)¶"\viPÞÝ¥\x14ú¢¶ÔÃ_«Íùp&\x11!EÍ\rRê&ì¤X£ 1ºµ÷³\x1aÕ\x02cr2\x18¶kyØ\x1dªÕË Î`4á\x1dó^[:»DÚ·¬5¤C»V\x10æºkÞ0Èn£fq(êîvÀ;\\fÑûwźÕMö¾,è\x12²£î¢
JË\r_+JÄc7â\x1f m«Ý©kJ\x10»ª]ÑAͰ%ÄfÕy] ~,Ó{qZIz4*èË07\v.\x18\x13áÚ·-)§m®8ET}¹.×~{;«\x05Ë.3X{B\x17M \x10l qQÊwê:L\x02yÏ\x0e
ZÓ06Ï\x03\b.\aféy«W"akÑÐ)\x06"Zp\x10ÑêÉ©´;°H¼{\x12Uù¹Û\x04ï¸Ƹ³ÖeË88l^ä^[Ö¼xã
'GÆ,2GMáv@\x19Ø¿\b\x1c«\x13Z̦Üë7±§m®´©4ÌYx¹RÙf^[<ý¿¦,,jè§]jto]¯®ÂK`¾c=\x0f7)Ö×ú£¹åÑ\x05ÀÔ\x16"
zÖ°øÈÀó\0è?L¤¢\x01ÇÍæÎU~kBBr!\0¿Pg°d
§ÿÈ®eý9ÿ^½>cÕèÛ-2ÿ\x05q%s²'.¤>\x01bmw\rK£Ó¥êb£hÔD~¸ÇDR\vN\x1c¦Î|/b¡\x13ÖîÂ\x0fºË$$.ϸ\x1f1ùùkP¸Ì8åþ³t\v¶\x16\f\x18C5\x10D\x12î\x15úXÎÕ»cXÀl
(LIJúúÒ³èLõ/×\x19a·m$e\7,F\x10¡~3\x14Òå\x05,YÖÛ>\x19\bg3ÀBb¸¡Yë$2îÔ/ïn>¾i~[8íHgn1ñfη£ê·\x1akrØö÷zhS,UcOT§óJkjçÙi<\x1em}\x05òyçz^\x15%¢|6çâÌϼS,¶_\x06_c8"/_\x14mx¤¯©\x01\x03¶Ë8\x12=M¼.í7ÄgÝæ \x12x\'{:[\vÙNDGÏ<«W_ÈWïg?¾aÌõBÑ80LJª¹\x1aÅM f!\¸a\x10't0\x1cy\b\f\b;|\x03¼HÔ\x18]\b.o\x03û(JFÓ\x06A8Åè@ئ!AȨÃ_¤Ê\,\bÙpJªYXÂõ¦;aÑBÂ"YÜçiD2|1»ò;21¯\x1aE\a·ÙUU H£b_äåÝéòO4ºúVoì\%*\x05R\x14Ä\a)\0ÊÁ»Eä³Õm¿\x15)zúþc¯_Î0>OÕ×ë\x1a¯ÐßP¥I&m¼ ¿qRÅ ÚUÜêxP&j\x06"iG\x1caÜ
\x01«(¬9$G)\x10QJ¥\x04ã#æ.o33211<\x12ZóiÞ\±õJ\x18\x05\x03SÈex\x18\x152,n:\x1dFǨÀÇS!ùoÝ
¬kZfS\x1eدaSB\x0eÓ§gwËt#°:\x14êÊnkÐ|
\x1c^[]I'q̱R0,r&¦\a*\x15¦<ý(S\x03´í7Tc[\x1dú\x16ª\x0eéìàXí*p\x19àhAs#©Øy48\x18\x1cÄËå¸/¡Pêw\x1cÍk>\x04
Á̶YãÓ 3â7Ì\x15³Ýðfs*2¦:\x18ð>\x02O*pægöaä\f©FA§i±[êÍor\x0e$\x19×\fgF_Ï\éðU\x1d©{\x17²·Pllcm¶Æ8Hô\x06&\v\x19[ó\x04E¾çâÁK÷åé\x1cÁrÉ*\x16åFÆ\vYL{8ó<Ê\b\0Ã!0A¥\x16E\x0eòNö|ô0\x13\x19î"\faàZ\x19$$-$¢ÂµªGÚK\x17U\eJEH
8(\x11F|abÅK\x15=$¼©\x1a]~¸Ï\a÷0õ\x11\x01\x15\fc b\x1eàj¼\b¥¡3v\x04Í"
,\x02
BÙÈÁc\v^[Zb3\x04
0ßy" MD\x106íhÁ0Dðo褨ÆlÄi\x04®0\x1c5\a´j\x063¿"È\x05\x05nd^ 1I2 cp¤Ènd\x05\x10Ï\x01KÑe9͵RD¦\x1d¼8àSE\x1ddH\x183\x12d(1>\x12 \M.Iqä<\x150à0¦^[\x14(ι©DØÑO$¦nÉ\x18ÊëÀ¡QêT%Í\v\x12_XÌ\x05\ÚA+,\x19!ºBR`öþñ_wwÌÄ/ ì!
\x01\x12ÀóÈxU$\x17i ìI\aó?Z\fR1?¯Y®Ìë\x0f@êòrs+P iTnÕ\b%¢Æl\x04\x04"O\x12H¢DáH°D6ÄÓl4Q\x15fY\x03w\x18ÁU"Á¥4ãÕD) \x02L=l×Ë\x15\0¨PÝC0YQ²\r!Ñ|1]u\x0få qÔáúã?1\x18-»>ùàfÿÚGce\x0eþgÎysê\x1dà0ÆU\x19å¾ èuÕ©Hg/
ª×""¹È4°Ã`¨\aå
p\x060]ínÛhV\r\x14±¦KZE4\x13/X(eeÝ©l³zh³o\x16âa¥*öm¢5\x10ºtí¿S\x0eëw³©¦[±Á#v£½ÂÌÏêýÉ1;\x0f®`
¼hYåÉî+ü`C\x03y °\vÀ6¼Ó\x11<J(æ«;Åø»müBÚ#/©³\fw\x10|¾è\x0f´33
Fþt8úãY¬ïæ!bnHäIUÁÀ<}Sß0Ã\x1c\x16!\aîËs\x03¼Ü
¿v>y\x14g
]\x11-Ñ\x18uõkð¦FÐ\x1c(z$
!~á¨,i\f\vè=l\x02æI_\ahM^jMÁ´¼ÚjMÏJ6ü#Fé¨+%17jT\x17~6ÕL50JìHcãpÔ£éI%\r\x11R¼lGêb\x13=wÒÊþùÀ9\x01|yzÞpçÀhÑ\x14f\x7fxOá>ê\x1aC^[m
\x7fWês=EW\x02Ü9¸\x1dÍÑÕ(ª"
uRépí\x02\x19iª\x19µäÕ\x18äKføÇ¶ª;h/@oâ>{J\vÔËÜ<°á¼\0:Ù \aVÐi\x13@F\x03ên\x10\x04¯\aØ6'¾5BE,\x035R´ÉØ
\x1886\b
oPqÅD,a¸Ç\x01^[P¬.^!Z\aüÔæk6³R\x1f¤ÅßR¦FÅ©GØ\v4Ó\x1eÙ+Ì\f\x06&0gòO\x03ûc,/ÞA¦¨üèz}þ³±x\x1ezcâ+¤tÉ\x12kÜzÊ\fþù®é\x19Ï}«â¨\x01W³¹\x1cÚ\x15yBcÌ(5.\x01×/\x06¼SìQ8^àÔÑÐóToì¥äåóSÒ\x1a= bvï<ÅÓ"\x1az®<ÊRrfg`tK+óÞɹ×YÙ\x14C=Ù+¸ò<\x05«DíE1°Ç-f*;¸hQ`Oà\x19ø¿mxìJlÜ\x1fY}âÞ\f.¶``\x18o¯AµX\0÷4\x0e\x14w3&\x18A.Ûc\x02©Æ\x182\x1ag\x1d)Ý'\x1el$1\x021&\x02í
\x1c^ÍjÆ\x13=\x15ã
¦\x0f×^\x13 oåBý
²¥NeNHÏÿS>c\x06Òö@7Ü\x0fÔ?Sìfs/\x1cßA¥\OhͬÚ\x14\x1d
Gä¼\a}¶KÙ(zhà¼\x18C\aqaC \x0f\x15l¨ªÐ\x1a´¿~q£@?D\x12¼99í7U\x19ß]\f\x0e+ î\x0e¥L=÷ÃÝ|\x1eÂ4¡¥c Â\2*aL\x17JÕ\vbqe ^[0\x18ÛFi*
\x05QeÙèÂ\x13ó|O\x0f4,\x121Aõ_xx&;4sÆo±åá\x15ñ6\rH,\x18|\x01\x0f_'UÀ_é"àÈ]c§aô]\x12ÆÞ]$'Ç4S§Ô,oh»\x01z2\x06l%â]àÚ¬ÈS!¹\x06¢ðG\x11.qÒÝÙQð¶}çhúͽ¥·1,\x127\x16\x15)³JDÇ¿¾g°ã3ÚV.3\x15DQ\b"ÁÖ¡`+°L±,<¨\x01¤!¡\x17xRÇ,\x1c°âÀc;{ÉcâfAÜ>7Ø¡Vâ¯^DøjHÀ2¡²a¢n\vÓ>Ê\x16/½«è¨Xf1\x0485ãq`ÆÓ^[|:)%\x1fI¸À\x06Òuÿ»MÃ3Sؼ¿¬\fEÀ0Ó¶ùfP-ls\x18íHüG¼óÜ\x179ó3éN\x1e'¾¿l@¸\fíÆ\x05Ô÷\x10©\x02ÀÑl¼NLø êKײI5a²ÔÕÀ᪴PÚÁ\\x1d\x04D\0×ÍÖà)Ñ\x1eAS/H\x1d0êÇ!+ìÚlà\x03·Àf×"W¯äßOøK,Îãï,J-ÅíÄ^[)¢\x0e**¿:yP¦pz\0á¢íPí«$\b8J»Î`4\ag\x11ÔÞ¹Hª+¡PG>!1Á=g<4põø\x06Ū´knNX\x1f;\x0e^v!É\x03õ¶¾@ðA¸°ÆÆÛyêRò\x14\x17>\x02üC^\x0eó%%ºßÅ\x18º¡U@6$xi C
0LûuÔlhþ\bð;Î;Íç\x0e®áø7Â\x0f\x1dë*~ö\x14\x0fÐYîÞÖ£#@÷=H9\a¨\f \x1fs(3\aQÆrÑõ\r"K=!k ÙXïãI7ø\x101\x1e8 |5'(LBÆ-´i\b>ëVÙ¤q#¤8õµ#\a(ÃÖzþÈÖ§Ú8\x1d&ÍL·0¯SóOYï±Rc¸·\`g\x0eZß\x0eøG¾¨@mp^\x02`ôÖïä^[d3ÜÓ\x12´G;§\vÚ«\x11Ds_Ò!¡/m\vq%¹RÅíxúÅ¡®Apâ½\x10Ì
\x1dZX&\x06Þ
\r+\b3/23¼.°3BØØÕBx«-BBºôÔ,ÐHÈM6ÆØ\x04eÈĨ\x18g&cHmvîRDv9ÌÑ%Xú\0vj^[Á\0jjqL\x03\x02\x13`i!÷l6\x11¡³x²)¢\vZMÀ¢¼ç¸Àf\x12pT}$n4æRoG0)\x19
Öܽ\x03SïEw¯ÀÕÂç\ak9$ñð1\x1a
Ü·6y£ö»A\v\x06É\bê\x13âøëËùÛ¥Íñ^[É\x05ÕfAÈ`6½\x1aä ´\x1d÷IHE©=lS
ìM ¡P\x061j§^[âF¥\x11J
²ÿÕ\x14_Ü)2ÄêhuÜ\x1eÍ0'RÈ2öÓ¤ \x194À8@Ø\v ç\aÆ\x14\x06<É8^[\x14H¨À²©\f\x05ì
©\b$\fQ94Y*\vÛnP&Ç`ò°»\x1e¯ÑÂAn\x0fcR¥g°Jb(U!!AZ
ì\x05ãºHü\x1cCÝm§EÁ2a-ïh«
2`j\x0e\x0eµº
«\0\a\v¦§CÅÖÎíÖ.¶*É\rëKQAj y'0srÂ;Ì6KÉ(°Ö¢\x1f\x15ºµ\r\x14Ý2Þ¸¢È^[M1°$¶ ®ïmPØoªþ\x02¡î0\x16ötxH]c\x191½9ÊP\fiK\x02\x0f& %¡w\bRé\x12H
ÓÔ(_#E\3/=T®\x14vbo´1\x16i\x190ýs\x03ï\x18jÇ2´ÿ(¹~ð:\x10ﬥ§q\x18`×(\x042$4jÈ\rØüóZÏ\x02\x1cóÇmh7a\vá©8ö¼G7T
ÈêÖ4 °D»¤¸YÂBB;êÍ5\x14»ØC\x1dé¼p]«jÆ:j±¤\x11º¥\r\aë¶ÅU᪠f¼ý¡rÞâ÷'æ D£°çìvãE¢f\x06\fÈ\x0663·B5ÙK\x03>\x1aîìHHX:{\x15$ä¢\x18ÛAg£\x06h\bÇ8\x02ÈÄ\x1dO|ø÷ðöa\x19\x19¤eòn°{\bàzN>ñ²É_!?4ÄT¹)G±ñkûR¦§¾!ö_2#:j»\x19Ä\x11$\x05ª>q3<#\x05\v1ï
Dª-l\x0e¤&8ËÉÂC£AÆkç:x\bÑ\x01je\x05+\x16ªàa\x06Q°\x02ûgÇäw-\x1c¹`6xîß·¯àì¾ëº|/ie0¦\x11\x15}× ®\fÆ/SÐÏ~e\x04Nx¥\x06CB\x05\0Yl3«ÔDå/`îªV©ê\x01\x02_eÙõ\x01¼´£8½Æw¥\x04ajÒìu\a½ª\fd¼\x10УaMf\0¸¦\x05V/¢öT\fôg)tLFÎ\x18Ej\x10\x10ln\ÌUi\x1aëdªÄ¶Ï;\vd¬U\x03'kh9£nÉQzºÂZá¦ÁI\x16Q¬2%rEÈEu-dQN\b\aÉ
±¾X-#\x12¼"\x02DL"\x1c4ÁQDCm·¾a\x199t¦*LF\x032{¶ô¸±eE!\x11wek)|DG\x04ël=\x1dtõ®2ØÀÆÍa\x11Ч g5\x05ÆÑl\x18c,ËÓæÞÃ.è%9\x11.\x1d\x10A$;\x14\x18X\x1d@i
\0Ã\x02áÜɱ\x16ªËRÐE
Á\#ÌÕW1\v#a$"NF¤X`K\v½ \x04\x12,;p°±¸ê'³úP\x17\x15\x06\x107äHF¢\x13HI\x15\x19#¥\r\x147àaðÔëLÙª 7ÆÛCOaq\x14\x18çÞ¨d%gÑf\x1f;\x19$\r#Ðø`Ð\x13ýMâ\x1dÜ´³((ØúAen\x18OóÇl\bM\x14®\a2h^[%\x02ªBo^[SÙÐ+±
ðT\x05\rU>uÈL\x17ªÕ0eq\ò
æÖrV`[\x19SEq,K%Ì*ö\x05^øyP\x01b;¼³XPÏMHÐÀí(^Õs \x1c\x10iB\x06J¦\x1eÆ7É\x01®u\b\x10\x13ç\x0e\x06\x01#ÀîK¶kK0\0I\x04:\x037ÀÁ"l3n} ál\x01¥÷M2Á\x05ÏÜ9Ö\x1d\x14V!KmP=5cª8\x19âoþM\x12¯Þ\x05Á\b;7\x1cDâ¶½_'ÝX
\x14"W\x1dñ½2 $]Ù\x01°o@g¦\x1aC\x18ã\x1dƹFâ¹ÜÄb|y¼Í\ae X¥¦\x16D-8\x05º¾Ï,iF<\E¦vî¾\x16L«\x1c\x1eTBÂ$j&T[\x17KÐß\x05¯BßÌ
\x1c°È¦6-\bn\x05P\x16IJ5BÖQ%üLj+
?2\x02æ. Ú1WÉ (\TºLª\x06
àÖäsÂOý~ÞÍ\x11\0W|íÆvýÓ@·½CyUr§<9g\x16pα\x13î\b1´#\x1eQz®Èf7óµ,í\`yá\x18Yc°lâ(L\x15\fE\x036àä}ü Cð\{Å\b\x1eA²Ä5©\vã;WÍý!$O\x05éÞaeãý{¸_ AlÍÄ;Îix'É%ÈÀÕ*\x11ÛîP\x15\x02¿\fѨX÷16\x03æ~SRfÁ\x1eo¼þôÏÑ|%±ßÉ1í0ÙÄù'\x12fÛdÁ4T*\bÅ,4L\x10QÝpfÆÇl¥PZSËíÒìE~ÏqÀK$`[ëæ`Y2Í\x03^,úÌÛÅé àò&+S
y'\x11"x²I ®PÝM÷)Öp< .
@
VW¹ú\x15¹rCWhî\x13!èb@\fÒ\x16\x11ÀËê^´+.MÅÎ0\x18\x18\x01ÔÁ¤\x7f`{\x01È¡ÄF'¼=ómbÒ\x02(I\x14É\x04\x14`\x18f\x12d^[\a °Ï\b\x14Bo{2CHd_r0\f\0c\x04Ærõ³V\x17Ù>-Æ&P-R\x02\x10` \a Ób\x10\x1eŰVD u7N=m¦tùE\x16\x1e\x1a2\x17gÚØø¨$D\fÙ¥\f,î+¡F6Ü-ÍHHM\x18G¤¦ÄáMdAM¦å\a5!àb$K']ÅÔ'¤H \x11I"öÈi
d\x01d\x0e\x12bj aRpQó)I ¡-ÝÀ¢#\f5dÜèìm!NI)¼Æ,8¢Â
RNf^[ü¥\x13\fÞ\a\x11\x1dÔw\a\x01\x18l3HndÉ&Ã\bl\bµ\x13ë\x06\
L¯`b\x17áéò\x18\x1a#©îG£\x1aù³ðPB^#\x19\0
\x1cÏ:z\x14'\x18 a
ñ3ÔÅÃêía°}ÙÂ6Whll\x11\x14Q`\b (q7\rsHhåá\x03n^½LÈÇÝ{«P§4\x111Få.oXp9º¦M*5¾·ß£è\x10\vGóö\x10}Ì\x13\x02\x1f/· \vRhêÆR\râI\vqȺ\\0\b\v\r%BJ÷ gÄV¾ÕNÎî© \v\x11T\x15\x10@x*"\x1aÔ±8\x1e :&2\bÑÌNït]¦©X"wm\x1d!\x10ÛG»«è\x1fºÝÙÈf|\x05Òdx\b"F B^#I"\x16æ^[ø>¦¢ö6o\x18Ë®]>Ͳg\x01®©ê<:Vós{7¢E;[;³\x17.mLám¥(\fµVzð>&¹®I\x1eô `\x1aä\a˺Ùã\x04u\x18ó{Ê´¥TJ\x03\x14\b\x13õàU
¼ï(U"Æ\x11Db±U\x01bªÈ0E¡\x15H7¸tvC\x0eÙJaà\x11\a\x03¿+\x16\bB\a
Ê\x1d!\x11öc\x18$a\bÁäK\x11"\x03\x03hrÎáÃs)*íÞ\x18Øï\x0e5H\x15»O©tD@±Æ\x13i¶Î]+XcTiAØ4JÔº\x03Òm¸\x03°Lß¶;`ÒË\x19\x1f*VLÃ\x13&F@H\fÂCÔSVØÈ!\x10¤pL´¥&3AcÀâlá='p Ä\rA"! "\x14ìõv¹Æ31,V( ¢R\f\f\EN+ È f(=¯7P&T\x1dèýZ`êmb\x06\x17^ho:J3dGÝJ{Ñò\x1c§MN·_A26ÔcV
b\x19Þ¾q|=·»nØaÚ\x13\x10lO"ÈÍR6$]\x0fî\rxo\x15Ï2çí³3;jé:ï(k¸Àò×^[sC\x19\x12\x13JÈw
ä.³Ídªl%v12èÑ1ÐjÙ4ÎA:IÈusór\x05\x12"=
±DöoÌÁ+²^[c[uÅ\x1f`Ñ(o\x03{AçËa+\x12¡\x1eGø\x1f\x05D[J\x03< *2ÂB|×X0 ìX\x02É\x14"\x11\x05\x02)\b AaÈDÝ\x12Çgfæ²qÐb+*]fBb1ìøt\x10ä\x1doRPÒ&â8ðY,Ë\vêPý\x1a'cp¦É\0H\vT ÝLT÷¿ ×èÕ³/XSC"Ö©úgMÛípæ33«E0Ö7va7´±w& Ý1Ë
Éw¦¹\bK\raå0ÛE\x12óÓ4&\x0f\x02à\fI\a2ã$bc<Ì&Å
C§{\fT"Ìñ`7ë*µ_'2\f\x0e\x06¦¤\x12`A£@Ú²Úæ6\x0eÕÁª¥fø\r1\0PmlX§Æ4@hµ(ód\x1d¤\x17ÏBí9(øHdANòZ\f ITªQbL,\x18@¿\bÏ1d\fG\x1a^[þÌ\0E\x02RÂÉ\rPF62Ã;JPÑcíP,\0b(]oÁ\v´\x1d
iÄ(Àq\x04·1\x1f8éL\väf]lXeöAp$]~Ïí~]øäȦâ\x01E\x18¶ïfMý+I±YtÆ1´m1 ¸%¥\v©»SLFI¬.,p¦\ÌÛ\baR\x16*ëÚIÇ j2\x1dtÝ"%D
eU¥\bÄO°/ÛÀ÷Ñ\x1cɲ»Ú0 \x19²gG<c«9æ£p! \x15HM+=\x03²D&\x02,Jm1lÁ\x14BéÔTÙÒ\b]q³Fg`ôF7Àk/w\x1c\v\x14±hþ Úxþà_5
ùe\x18ØÕ\x14ÜhÑ$µBÈaAËQdX\0Ä'A\x05bª\x15<\x1e¢MBkõ\x01Tq(¬CÄ?8f\x1fWÖe
\x06jÛ\x12âĽK2\x05Áö¼¾X¯rN9^[\x03\x1e¬\x14
V¸õ$9 HÄ6¡¨Ù6Q²V#20*´²®HÝC4`\x18\x10ÄÕÂO>mf\x06Ói`C\x14Q\aÍ,\x03E@¸
ð/\x16 ]ú¾\x13=\x04;\x0eÖuÊ\x18\x17G\x04Ý"ì \x15ø&Tï¾\x04vNÜÆÍoFÙ0Þ0hn%oUe{\x14É«\x14\x061ØÔ}EùÃo£;ºöÃXbÈ\bD:(D\x13¥9'[Ë 7\x0eð\rÄö@
\x1fG·3\x01h[4ÆÚB1\x1a\f
1¤ÒD!\x01ME\x1d>¾yo©ÝBÂŨ\x15kÜ\x12,%\x06ɱó\ro\v\x18e
âPDrP[¹ßqÌQ\x03\x04ÐÐØ\fb\x13K\bC^[h^[27ÀK\x03ÐKâË>*\x129àþL¡}óuÈ.H[¨-÷G=eÁ-âåõGÚwgj>@\x1c8ä-*\x06Ê\x04´\x068³±¸\x1f&Êzd®\x16§e\x06\x0e&
Áz¥lQbc
wyvÅÝ\r)¹IÍØC~\x0f5K¹^\x03ó\0,\x1a¦\x17¸Û\x1eAÄï
\x03o¡\x02ÚÄýbä\b\x0eï"SF^[KHlä\x02}G6rðáÖ<8\x1e´E\x15ª²#$ÕXøï"(¸ìv\b¨\x18,ZÙ¡t\x12"=xtÔ¥h²_J0UD«-\x7f·h\x01ÕD
ó²7kÛ´|ÆðÐù9@ÃÂåÜ\x17eBj\rP¿\x1e}ãbT'\x12Ïq+ä² ñrá
ØCgÈ\x1a\a&\x19-`ï8¦--03ÝlE)\x11q\x12*"_SR\x18Ôª2F\0b" N¤T\x1d
´O±\x10XbI7\fÚðì,#,¦ê2Á¿v»#æh0\v$îA\f{AWü\x13ô³í
NÙe \x14\v!È\x02Å\x105Ó\x0f^[´XsD·&ÚÑ\x1eQÈlv4'¹\x04X\b\x1a;\x0fL(\x17-B8\x16îK÷#GĤ¯ò^[\f07ÀRÒ6S\x0f\x0e\x12½1Ðë &\bå*b[`(\x16«QÙ²b\x1aÊÊP´Q¬²¶¡QH$2b«É×/\fÞlj@O\x14¤Ó&é:ã²l\b%p¨P³W©F6;%\x11üè
ä$"r\fUÝq\x13W\x13\v?hNV\x1dòÂA E@¢¬\x0eCgR\x12\x11 ¡Â\x14dY*^[\fÆ#
̦9ÒV\x18X^Øw\x03»Ôsa\x0eô
k¥Rîbå±C aï9\x01¡rC\x11( í/)øA\x19Ì[¡Cé
j7ü#qçç\x1c0c¸h»_M\x05eSÔVò·3 ÉE]WP$9\0¤\x04B\x0f\x04¡{\x02Ì\x06ÓAñ
ÀÃHf¡Ø5a\az9ûPß\x03!q\x16ó`\x02XlBP1 U'@\x0f4wC¢ÎÑ""\fU*¨Å"+\x10XYÓ!JÀè@ñ'/\x1e¾¡å
-ü½,]n9#Ðb q\x01ª*¨HÆâbKBL¹JËë\x12¶d.ÒÊè'\x13¶Ù¼;Äì\x1cE(\x1c@äPf×CJ\aß;÷Ûmì~Èâ\d`æ_Ç?ÐM
é'RÅIh\x166RäPc{L
g¥k4cYL7ؽ\x14;7zc269¢3vvÆe,r
Y<5¢ciÕ\aºµ\x16¤ÔÙØË]C-F\fPaa! S\x0e®ôµVÄ%âÁ¬qTTJÙ
3\x16Ó+1\x05\x16évet5º00
Ò¬¶,hKºÌ3Z!{¡Y×PÒ³[×\fÊNL¡¯ÞP¬\x10EÕdFÆgçVåÈ¿Ct¸[S«:õvÝ<AȲ8rJ\x0fß\x1e\x1c·4p\x0e;%ã*n\aSÔmÉÃ&¢!\x14¤\x02bq¹»M3Z3\x1dbi,Ùé{©³ MÉ h,òbùÓ5 ì\x16%\x122¤ª&XÜsì$`Ã]7¦IÀ
QÎ-P|\x03S&*\!n1!Ê?z×À¯FÚPÄX±OåS$ªânä·4C4$Èi6ù\x06g¬ÀXÀ\rþäõúÁÐM\x11Qb×G AÀ·scm\x0eÔ\v\x1cÊ¡\x1c[hÀÆäidá®" A#® G^[#\x13 ævª\bÐåpf\x011,¸²-\x12à\x0eiAÔù\x11ò-¡s²rBÌ.\x11°oò+ X607 ¥\âT£:
D\vqô^[# êÏitû·æÍ÷?ô;ê"¬î\x7f\ahŧ\x03¡'xùx\x1c\x17\0¡pFw\x19I\x0e\v\a\x10ý±ß6ï\b^[
íåCÎ\x06÷Uó
%ÌL;ïP·©!B-Q/Bi$=« (ó\x15+&
µ^ZJ;ÅAuJ»¸AêÃ(T¡"ð¢d®\x1d"*%Ã\x06hWË(\x034Ô<r\x03;T¹¥I\x19/
¯Â¤+ÚT8èEY2\v¿Ù\x0fÑ?`ÀÀY1·¬fåé\x06'ÄP¥0vT ÙÌ¡¸±¾q¡qçÈÞIZ\x18{K\x150ÔÊâ\x11AÌÅP\x12ö\x1f1Qpaa\x18¦ØÑ¨Ñ5NèùAð8\bÔðÐ.½NJðhàÄ\x17LFå)\x10\x11\x1eFªXË\bmQM$.¥(i;Ê¢%\x04\x16*TÇßKÑÆÑ«ÐµÖ¥²A{°é`ª¬Bc^@L\x17I$ÞD\bÈA\x10«Á£ßÞsC©¤ØIÄô\x16,,;ì*@¨\x15A@Y\b°\x05\x147Ó×o
,\x16[,á\bK8S1#®\i\x04bÀ\x14å;Àñ;\x104ÉÊwf!ÈC\x17\bfh9PÀaT^[V\x12\x13Êë#!\x16ax;\x1cqëï¹¾É[VÞW\x14S
©ÚÛ\f\x14¹h±LÛ2rb&ÚLh¦Z8»Z¸\x19Ædã@Ö*«\x16É\x15\x0e\af\x166Z¢!°Ù¶p@{Q^[´55 ¨TÞ,ÂÚ\x18\vbMÅì\x10cÀY\x05g´Ö¸à\x02àYj¤%\x01¤ 1#S·-Ãr\rN¹Z\r\x0eS¨óNGTt"\x03i^[Ü\fÌ\x146ûd%Pà.Fa\x01þ "û'i\b\x15Ø\bàx\x062Rsc\x0f\x1fôú ®@Äÿ6¤\x01\x0fE8 !\x01öÎ\x17ÕWk©ê\fÄc\x1a\x0eó ©¾#\x05;\x19Oqá\x1c\x04"Mèé×\x06Æ.ÀÞ5¿*ºä\x06\x1fCϾ\x05\r/Ò|ÁÁlíG\x1cLè[`Ù~M¤º1#yëÁ2àÒâL\x0e\x16âó\x05ÍÇMïa\x0f,jJï\x188P\DZ¼°v ü¤+äx\x10ï\x0e>Ī$÷Ð\x10l!iH +$åê\x02\x02_\x15¹1~A\x10[\x12+\ai7P|[8s×äþ4\f\x1aý»>ëKâi}ï½ÌüAùë2\x06\x06¹vÂ$z5ð4¶Dí\x1e#\x15\x17Ã(Ò¢=ê\x1eyÖ4²$U\x06\f\x1a\x19(²øHXä\þÓô.
=MJ\x11#',ÏÞ2\x17ÃéðàÒÜg¿)µî¢ì-~\x03>7¶\x06 Ù\x18Q0#\x12¦\fð¤\x04\b³÷´°^[M\x1fbùÊ4`6\x1aP^[
e¸4\x12\x16D êĵ\x1a^[^[\x05Ì<!^[±\x16\r-ãâá¶$1¯®\x13È6 B\x01r;ÏÉ\x03\x16ÈK\x10Ç\x10¦#gs;\x06\x124^[ê@Àþh¸\x1fG_ÁÆÄÖhÓí÷\x03&·¹©-:åL]ªL}\x10a\x05Õ\x1d´[Å!(\x12T\x152\x03ÔT\x12<ÈzÐ5¸aÃ4ñG3oµò^&^[;pC\aÒ-Z¢0½]\²
/
íx\ã(\x11
Lb³èëú>tÇfð^\bß\ÍìÉ\x02òhm$y4\f7\b;òIn9\x1a%A¡pAþÐõ\x1e$3R\x19ëH¨°\x05NÀ!\x02\x1aÔ껣8A?¯\x1a ~t
CÆ\x1cÚ9xCF)Æ$\x18`s¯\x12\x04â#°½7cQ$5\x03\x05!E;D¼$\vOª\x14íÎè@ÐTM¹Ï\x1cû#|([§`ºhÉI¸¡Ì\x16\a¼y$\x0f¾,\x18£
qm§ª^
6ôØCwÄvGÐp âjK
cè\x14tW\x18º\\x14ñJ¦ò#\x06ðþåÂ\x1eiæáQC|Uc\x18baMyda'>a\x05\x1cE\x14=²ÑÞ\x0eY8Ã\báB\x06dð\x05O ç9¢
|Ç$Ô\x10C`V\x18\x10\x11:ç%0Ðö
\x0e{cãÌÜCÆ=Î\x19á\x1f¶Y²\x01=¹\0ç)íÏq0\x05&\b\x1eàBO\x10\x0få\x10Ô$\x0f?pöà\x1fh$pâhÿ\x17rE8P_äéí
next prev parent reply other threads:[~2006-02-09 5:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-08 23:13 [Qemu-devel] vde-inject 0.0.0 Jim C. Brown
2006-02-09 5:39 ` Jim C. Brown [this message]
2006-02-09 18:23 ` Re: [Qemu-devel] vde-inject 0.0.1 Mulyadi Santosa
2006-02-10 5:34 ` Mulyadi Santosa
2006-02-10 17:09 ` Jim C. Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060209053953.GA13800@jbrown.mylinuxbox.org \
--to=jma5@umd.edu \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.