From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 01:15:58 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1747E16A4CE; Sun, 11 Jan 2004 01:15:58 -0800 (PST) Received: from sj-iport-3.cisco.com (sj-iport-3-in.cisco.com [171.71.176.72]) by mx1.FreeBSD.org (Postfix) with ESMTP id B83C943D39; Sun, 11 Jan 2004 01:15:56 -0800 (PST) (envelope-from lorenzo@cisco.com) Received: from sj-core-3.cisco.com (171.68.223.137) by sj-iport-3.cisco.com with ESMTP; 11 Jan 2004 01:18:01 +0000 Received: from cisco.com (cypher.cisco.com [171.69.11.143]) by sj-core-3.cisco.com (8.12.6/8.12.6) with ESMTP id i0B9FrQu002718; Sun, 11 Jan 2004 01:15:53 -0800 (PST) Received: (from lorenzo@localhost) by cisco.com (8.8.8/2.6/Cisco List Logging/8.8.8) id BAA13952; Sun, 11 Jan 2004 01:15:53 -0800 (PST) Date: Sun, 11 Jan 2004 01:15:53 -0800 From: Lorenzo Vicisano To: Marko Zec Message-ID: <20040111011553.A12385@cisco.com> References: <20040111003426.E0EF55D08@ptavv.es.net> <200401110229.46446.zec@tel.fer.hr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200401110229.46446.zec@tel.fer.hr> User-Agent: Mutt/1.3.23i cc: freebsd-net@freebsd.org cc: freebsd-mobile@freebsd.org cc: Kevin Oberman Subject: Re: prism 2.5 timeout in wi_cmd 0x010b X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 09:15:58 -0000 same result: the patch doesn't fix the problem. However after upgrding the Prism firmware (1.1.0 -> 1.1.1) the lock up stopped. Still I cannot get more that 2.5Mb/s Tx from the Prism (as a client) to another client (Aironet). A little better (3 / 3.5) from the Prism to the AP (DI 614+). "wi" is reporting a lot of TX collision, but "an" isn't when I change the direction of the traffic. In this case I get better rate.. but still not optimal as "wi" get conficts on the ACKs. Another anomaly shows up when running dhclient: often the system freezes/slows down for a few fractions of a second (BTW: I've noticed this with the Aironet driver as well). Also acquiring a lease has become more unreliable.. Lorenzo On Sun, Jan 11, 2004 at 02:29:46AM +0100, Marko Zec wrote: > On Sunday 11 January 2004 01:34, Kevin Oberman wrote: > > > > Marko, > > > > I just started re-building my kernel with this patch. I have > > previously reported this under CURRENT and hope that this might fix > > the problem. It has also been reported by several others under > > slightly different circumstances. I'll report what I see. It's pretty > > easy to test...just copy a multi-megabyte file from my laptop to my > > workstation over the wireless. > > > > Whoops... it seems that my hack doesn't fix the problem of outgoing > traffic hosing the wi interface - next time I'll do more testing before > making a post. However, without this patch my wi would lock up every > now and than out of the blue, regardless whether it was associated to > an AP or it was disconnected, and regardless whether there was any > traffic flowing through it or not. The same card (Prism 2.5 mini-PCI) > used to play nicely with 4.8-R, and works quite well with M$ also. > There must be something rotten in the recent wi driver... > > Cheers, > > Marko From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 11:57:49 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B186A16A4D0 for ; Sun, 11 Jan 2004 11:57:49 -0800 (PST) Received: from arginine.spc.org (arginine.spc.org [195.206.69.236]) by mx1.FreeBSD.org (Postfix) with ESMTP id B6D6743D53 for ; Sun, 11 Jan 2004 11:57:47 -0800 (PST) (envelope-from bms@spc.org) Received: from localhost (localhost [127.0.0.1]) by arginine.spc.org (Postfix) with ESMTP id D28596520C; Sun, 11 Jan 2004 19:57:45 +0000 (GMT) Received: from arginine.spc.org ([127.0.0.1]) by localhost (arginine.spc.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 51777-03-14; Sun, 11 Jan 2004 19:57:45 +0000 (GMT) Received: from saboteur.dek.spc.org (82-147-17-88.dsl.uk.rapidplay.com [82.147.17.88]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by arginine.spc.org (Postfix) with ESMTP id 9AA4F65319; Sun, 11 Jan 2004 19:57:41 +0000 (GMT) Received: by saboteur.dek.spc.org (Postfix, from userid 1001) id A2C312E; Sun, 11 Jan 2004 19:57:40 +0000 (GMT) Date: Sun, 11 Jan 2004 19:57:40 +0000 From: Bruce M Simpson To: Guy Helmer Message-ID: <20040111195740.GK17555@saboteur.dek.spc.org> Mail-Followup-To: Guy Helmer , Richard Bejtlich , freebsd-net@freebsd.org References: <20040109171717.33976.qmail@web60804.mail.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: cc: freebsd-net@freebsd.org cc: Richard Bejtlich Subject: Re: Paper on device polling and packet capture performance X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 19:57:49 -0000 On Fri, Jan 09, 2004 at 03:51:43PM -0600, Guy Helmer wrote: > I want to look at memory-mapped access to the BPF device. > This would preserve the existing network device drivers > while reducing mbuf copies, context switches/user-kernel > transitions, and latency. Performance ought to be > comparable to Luca's approach, and this would also > preserve bpf filtering capability. > > (If someone else has already done this, I'd love to > know where to find the code!) I did review some patches related to this last month but they weren't for FreeBSD. One big problem with the approach involved which leapt out at me was that the space was allocated within user address space, which introduces the risk of page faults (as you may know we can't ever fault with a mutex held -- or it's game over). I'd be happy to review other patches for this. My personal feeling though is that the actual performance increase may not be that great, but it's a case of someone implementing it and doing the math. BMS From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 12:19:31 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D680C16A4CE; Sun, 11 Jan 2004 12:19:31 -0800 (PST) Received: from sizone.org (mortar.sizone.org [65.126.154.242]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8948A43D45; Sun, 11 Jan 2004 12:19:30 -0800 (PST) (envelope-from dgilbert@daveg.ca) Received: by sizone.org (Postfix, from userid 66) id 2AFCE30743; Sun, 11 Jan 2004 15:19:30 -0500 (EST) Received: by canoe.dclg.ca (Postfix, from userid 101) id E97B51D221E; Sun, 11 Jan 2004 15:19:27 -0500 (EST) From: David Gilbert MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16385.45007.846035.687940@canoe.dclg.ca> Date: Sun, 11 Jan 2004 15:19:27 -0500 To: Andre Oppermann In-Reply-To: <40008FCD.90525A33@freebsd.org> References: <16384.14322.83258.940369@canoe.dclg.ca> <40008783.330FAFF4@freebsd.org> <40008FCD.90525A33@freebsd.org> X-Mailer: VM 7.17 under 21.4 (patch 14) "Reasonable Discussion" XEmacs Lucid cc: freebsd-net@freebsd.org cc: freebsd-current@freebsd.org cc: David Gilbert Subject: Re: off-by-one error in ip_fragment, recently. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 20:19:32 -0000 OK, I've created kern/61215 on this issue. The backtrace is: #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 #1 0xc0508512 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:372 #2 0xc0508868 in panic () at /usr/src/sys/kern/kern_shutdown.c:550 #3 0xc0544fa5 in m_copym (m=0x0, off0=1500, len=1480, wait=4) at /usr/src/sys/kern/uipc_mbuf.c:211 #4 0xc059b941 in ip_fragment (ip=0xc1e919e8, m_frag=0xdf92c9e0, mtu=-1041688000, if_hwassist_flags=0, sw_csum=1) at /usr/src/sys/netinet/ip_output.c:1219 #5 0xc059b55f in ip_output (m0=0x1, opt=0xc1e919e8, ro=0xc5f8edfc, flags=0, imo=0x0, inp=0x0) at /usr/src/sys/netinet/ip_output.c:1047 #6 0xc611054f in gre_output (ifp=0xc5f8ec00, m=0xc1e91900, dst=0xc1e919e8, rt=0xc612ce00) at /usr/src/sys/net/if_gre.c:372 #7 0xc059b4f0 in ip_output (m0=0x1, opt=0xc2b2a00e, ro=0xdf92cb7c, flags=1, imo=0x0, inp=0x0) at /usr/src/sys/netinet/ip_output.c:1021 #8 0xc059a3c6 in ip_forward (m=0xc1e8bb00, srcrt=0, next_hop=0x0) at /usr/src/sys/netinet/ip_input.c:1929 #9 0xc0598db0 in ip_input (m=0xc1e8bb00) at /usr/src/sys/netinet/ip_input.c:739 #10 0xc057bc7e in netisr_processqueue (ni=0xc074a718) at /usr/src/sys/net/netisr.c:152 #11 0xc057c093 in swi_net (dummy=0x0) at /usr/src/sys/net/netisr.c:257 #12 0xc04f5112 in ithread_loop (arg=0xc1e74500) at /usr/src/sys/kern/kern_intr.c:544 #13 0xc04f4104 in fork_exit (callout=0xc04f4f80 , arg=0x0, frame=0x0) at /usr/src/sys/kern/kern_fork.c:796 ... it doesn't appear that udp plays a part, it does appear that stack corruption my be in play, and it likely has to do with the fact that the system on which this is occuring is operating as a router. Dave. -- ============================================================================ |David Gilbert, Independent Contractor. | Two things can only be | |Mail: dave@daveg.ca | equal if and only if they | |http://daveg.ca | are precisely opposite. | =========================================================GLO================ From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 13:24:37 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7930E16A4CE; Sun, 11 Jan 2004 13:24:37 -0800 (PST) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id B278043D1D; Sun, 11 Jan 2004 13:24:35 -0800 (PST) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.10/8.12.9) with ESMTP id i0BLOXET042436; Sun, 11 Jan 2004 14:24:34 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Sun, 11 Jan 2004 14:23:57 -0700 (MST) Message-Id: <20040111.142357.50578253.imp@bsdimp.com> To: lorenzo@vicisano.net From: "M. Warner Losh" In-Reply-To: <20040111011553.A12385@cisco.com> References: <20040111003426.E0EF55D08@ptavv.es.net> <200401110229.46446.zec@tel.fer.hr> <20040111011553.A12385@cisco.com> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-net@freebsd.org cc: freebsd-mobile@freebsd.org Subject: Re: prism 2.5 timeout in wi_cmd 0x010b X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 21:24:37 -0000 In message: <20040111011553.A12385@cisco.com> Lorenzo Vicisano writes: : However after upgrding the Prism firmware (1.1.0 -> 1.1.1) : the lock up stopped. You really really really want to be using 1.4.5 firmware. Older firmware is known to be buggy. Warner From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 13:56:46 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4838F16A4CE for ; Sun, 11 Jan 2004 13:56:46 -0800 (PST) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id C881B43D3F for ; Sun, 11 Jan 2004 13:56:41 -0800 (PST) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.12.9p2/8.12.9) with ESMTP id i0BLuV7E031435; Sun, 11 Jan 2004 13:56:35 -0800 (PST) (envelope-from truckman@FreeBSD.org) Message-Id: <200401112156.i0BLuV7E031435@gw.catspoiler.org> Date: Sun, 11 Jan 2004 13:56:31 -0800 (PST) From: Don Lewis To: bms@spc.org In-Reply-To: <20040111195740.GK17555@saboteur.dek.spc.org> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii cc: freebsd-net@FreeBSD.org cc: richard_bejtlich@yahoo.com Subject: Re: Paper on device polling and packet capture performance X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 21:56:46 -0000 On 11 Jan, Bruce M Simpson wrote: > On Fri, Jan 09, 2004 at 03:51:43PM -0600, Guy Helmer wrote: >> I want to look at memory-mapped access to the BPF device. >> This would preserve the existing network device drivers >> while reducing mbuf copies, context switches/user-kernel >> transitions, and latency. Performance ought to be >> comparable to Luca's approach, and this would also >> preserve bpf filtering capability. >> >> (If someone else has already done this, I'd love to >> know where to find the code!) > > I did review some patches related to this last month but they weren't > for FreeBSD. One big problem with the approach involved which leapt out > at me was that the space was allocated within user address space, which > introduces the risk of page faults (as you may know we can't ever fault > with a mutex held -- or it's game over). You'd have to wire the buffer. Beyond a certain buffer size, you'd probably want to maintain a sliding window of of wired memory to avoid wiring an excessive amount of memory. From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 14:01:37 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2734716A4CE for ; Sun, 11 Jan 2004 14:01:37 -0800 (PST) Received: from silver.he.iki.fi (helenius.fi [193.64.42.241]) by mx1.FreeBSD.org (Postfix) with ESMTP id A4E9143D1F for ; Sun, 11 Jan 2004 14:01:32 -0800 (PST) (envelope-from pete@he.iki.fi) Received: from he.iki.fi (localhost [127.0.0.1]) by silver.he.iki.fi (8.12.9p2/8.11.4) with ESMTP id i0BM1Ugr031179; Mon, 12 Jan 2004 00:01:30 +0200 (EET) (envelope-from pete@he.iki.fi) Message-ID: <4001C78A.3060904@he.iki.fi> Date: Mon, 12 Jan 2004 00:00:42 +0200 From: Petri Helenius User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20031007 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Bruce M Simpson References: <20040109171717.33976.qmail@web60804.mail.yahoo.com> <20040111195740.GK17555@saboteur.dek.spc.org> In-Reply-To: <20040111195740.GK17555@saboteur.dek.spc.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-net@freebsd.org cc: Richard Bejtlich Subject: Re: Paper on device polling and packet capture performance X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 22:01:37 -0000 Bruce M Simpson wrote: > I'd be happy to review other patches for this. My personal feeling though > >is that the actual performance increase may not be that great, but it's >a case of someone implementing it and doing the math. > > > Writing to memory, specially on SMP systems, is very expensive. So eliminating copies will give huge performance benefits. Where bpf can go hardly 500Mbps on dual CPU machine, memory mapped capture will reach 1.5-2.0Gbps. Pete From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 15:21:01 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F37716A4CE; Sun, 11 Jan 2004 15:21:01 -0800 (PST) Received: from sj-iport-4.cisco.com (sj-iport-4.cisco.com [171.68.10.86]) by mx1.FreeBSD.org (Postfix) with ESMTP id 38F6E43D1F; Sun, 11 Jan 2004 15:20:45 -0800 (PST) (envelope-from lorenzo@cisco.com) Received: from cisco.com (cypher.cisco.com [171.69.11.143]) by sj-core-3.cisco.com (8.12.6/8.12.6) with ESMTP id i0BNKfQu006697; Sun, 11 Jan 2004 15:20:41 -0800 (PST) Received: (from lorenzo@localhost) by cisco.com (8.8.8/2.6/Cisco List Logging/8.8.8) id PAA17074; Sun, 11 Jan 2004 15:20:41 -0800 (PST) Date: Sun, 11 Jan 2004 15:20:40 -0800 From: Lorenzo Vicisano To: "M. Warner Losh" Message-ID: <20040111152040.A16863@cisco.com> References: <20040111003426.E0EF55D08@ptavv.es.net> <200401110229.46446.zec@tel.fer.hr> <20040111011553.A12385@cisco.com> <20040111.142357.50578253.imp@bsdimp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040111.142357.50578253.imp@bsdimp.com> User-Agent: Mutt/1.3.23i cc: freebsd-net@freebsd.org cc: freebsd-mobile@freebsd.org Subject: Re: prism 2.5 timeout in wi_cmd 0x010b X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 23:21:01 -0000 Warner, On Sun, Jan 11, 2004 at 02:23:57PM -0700, M. Warner Losh wrote: > In message: <20040111011553.A12385@cisco.com> > Lorenzo Vicisano writes: > : However after upgrding the Prism firmware (1.1.0 -> 1.1.1) > : the lock up stopped. > > You really really really want to be using 1.4.5 firmware. Older > firmware is known to be buggy. I was referring to the "primary", as for the "station" I went from 1.4.2 to 1.7.4 .. but does the "station" firmware affect the functionality as a "client" anyways ? Lorenzo From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 15:34:06 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8CD4A16A4CE; Sun, 11 Jan 2004 15:34:06 -0800 (PST) Received: from mail.tel.fer.hr (zg04-053.dialin.iskon.hr [213.191.137.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id CD02443D46; Sun, 11 Jan 2004 15:33:56 -0800 (PST) (envelope-from zec@tel.fer.hr) Received: from 192.168.200.114 (marko@dhcp14.katoda.net [192.168.200.114]) by mail.tel.fer.hr (8.12.6/8.12.6) with ESMTP id i0BNTUi3012101; Mon, 12 Jan 2004 00:29:50 +0100 (CET) (envelope-from zec@tel.fer.hr) From: Marko Zec To: Lorenzo Vicisano Date: Sun, 11 Jan 2004 18:53:04 +0100 User-Agent: KMail/1.5.4 References: <20040111003426.E0EF55D08@ptavv.es.net> <200401110229.46446.zec@tel.fer.hr> <20040111011553.A12385@cisco.com> In-Reply-To: <20040111011553.A12385@cisco.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200401111853.04005.zec@tel.fer.hr> cc: freebsd-net@freebsd.org cc: freebsd-mobile@freebsd.org cc: Kevin Oberman Subject: Re: prism 2.5 timeout in wi_cmd 0x010b X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 23:34:06 -0000 On Sunday 11 January 2004 10:15, Lorenzo Vicisano wrote: > same result: the patch doesn't fix the problem. > > However after upgrding the Prism firmware (1.1.0 -> 1.1.1) > the lock up stopped. > > Still I cannot get more that 2.5Mb/s Tx from the Prism (as a client) > to another client (Aironet). A little better (3 / 3.5) from the Prism > to the AP (DI 614+). I'd say that 2.5 Mb/s can be considered a pretty good throughput between two client nodes in an infrastructure-mode environment. Have in mind that the AP operates as a relay in such a case, so each frame has to be "on air" twice. Marko From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 15:35:14 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3C6F116A4CE; Sun, 11 Jan 2004 15:35:14 -0800 (PST) Received: from sj-iport-3.cisco.com (sj-iport-3-in.cisco.com [171.71.176.72]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5171743D31; Sun, 11 Jan 2004 15:35:13 -0800 (PST) (envelope-from lorenzo@cisco.com) Received: from sj-core-2.cisco.com (171.71.177.254) by sj-iport-3.cisco.com with ESMTP; 11 Jan 2004 15:37:24 +0000 Received: from cisco.com (cypher.cisco.com [171.69.11.143]) by sj-core-2.cisco.com (8.12.9/8.12.6) with ESMTP id i0BNZAVM004705; Sun, 11 Jan 2004 15:35:11 -0800 (PST) Received: (from lorenzo@localhost) by cisco.com (8.8.8/2.6/Cisco List Logging/8.8.8) id PAA18010; Sun, 11 Jan 2004 15:35:10 -0800 (PST) Date: Sun, 11 Jan 2004 15:35:10 -0800 From: Lorenzo Vicisano To: Peter Radcliffe Message-ID: <20040111153510.B16863@cisco.com> References: <20040111003426.E0EF55D08@ptavv.es.net> <200401110229.46446.zec@tel.fer.hr> <20040111011553.A12385@cisco.com> <20040111.142357.50578253.imp@bsdimp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040111.142357.50578253.imp@bsdimp.com> User-Agent: Mutt/1.3.23i cc: freebsd-net@freebsd.org cc: freebsd-mobile@freebsd.org Subject: Re: prism 2.5 timeout in wi_cmd 0x010b X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 23:35:14 -0000 > I've got newer firmware but no way to actually upgrade it. IBM doesn;t > supply a meanthod to upgrade to anythig newer than I have installed... > > Got an installer ? I used the windoze installer and info from http://linux.junsun.net/intersil-prism/index.html Lorenzo From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 15:42:02 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EAC5C16A4D0; Sun, 11 Jan 2004 15:42:02 -0800 (PST) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4EC5C43DA6; Sun, 11 Jan 2004 15:41:22 -0800 (PST) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.10/8.12.9) with ESMTP id i0BNf0ET044005; Sun, 11 Jan 2004 16:41:00 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Sun, 11 Jan 2004 16:40:56 -0700 (MST) Message-Id: <20040111.164056.56440437.imp@bsdimp.com> To: lorenzo@vicisano.net From: "M. Warner Losh" In-Reply-To: <20040111152040.A16863@cisco.com> References: <20040111011553.A12385@cisco.com> <20040111.142357.50578253.imp@bsdimp.com> <20040111152040.A16863@cisco.com> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-net@freebsd.org cc: freebsd-mobile@freebsd.org Subject: Re: prism 2.5 timeout in wi_cmd 0x010b X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 23:42:03 -0000 In message: <20040111152040.A16863@cisco.com> Lorenzo Vicisano writes: : Warner, : : On Sun, Jan 11, 2004 at 02:23:57PM -0700, M. Warner Losh wrote: : > In message: <20040111011553.A12385@cisco.com> : > Lorenzo Vicisano writes: : > : However after upgrding the Prism firmware (1.1.0 -> 1.1.1) : > : the lock up stopped. : > : > You really really really want to be using 1.4.5 firmware. Older : > firmware is known to be buggy. : : I was referring to the "primary", as for the "station" : I went from 1.4.2 to 1.7.4 .. but does the "station" : firmware affect the functionality as a "client" anyways ? Yes. It does. I've had reports of problems with newer versions of the firmware... I've been too swamped to try it out. The newer versions implement AP to AP junk, as well as WPA enhancements... Warner From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 15:43:55 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B213E16A4CE; Sun, 11 Jan 2004 15:43:55 -0800 (PST) Received: from mail.tel.fer.hr (zg04-053.dialin.iskon.hr [213.191.137.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id E4BD643D31; Sun, 11 Jan 2004 15:43:52 -0800 (PST) (envelope-from zec@tel.fer.hr) Received: from 192.168.200.114 (marko@dhcp14.katoda.net [192.168.200.114]) by mail.tel.fer.hr (8.12.6/8.12.6) with ESMTP id i0BNgKi3012106; Mon, 12 Jan 2004 00:42:40 +0100 (CET) (envelope-from zec@tel.fer.hr) From: Marko Zec To: freebsd-mobile@freebsd.org, Peter Radcliffe Date: Mon, 12 Jan 2004 00:42:50 +0100 User-Agent: KMail/1.5.4 References: <20040111003426.E0EF55D08@ptavv.es.net> <20040111.142357.50578253.imp@bsdimp.com> <20040111220050.GA839@pir.net> In-Reply-To: <20040111220050.GA839@pir.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200401120042.50744.zec@tel.fer.hr> cc: freebsd-net@freebsd.org Subject: Re: prism 2.5 timeout in wi_cmd 0x010b X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 23:43:55 -0000 On Sunday 11 January 2004 23:00, Peter Radcliffe wrote: > "M. Warner Losh" probably said: > > You really really really want to be using 1.4.5 firmware. Older > > firmware is known to be buggy. > > I've got newer firmware but no way to actually upgrade it. IBM > doesn;t supply a meanthod to upgrade to anythig newer than I have > installed... > > Got an installer ? On my Prism 2.5 mini-PCI card I managed to upgrade the firmware to 1.1.1 / 1.7.4 using the utilities found here: http://linux.junsun.net/intersil-prism/ First of all, you'll have to boot a M$ OS and install the winupdate utility. Next, in the NIC driver disable the "firmware download" option, as it temporarily loads a new firmware in the NIC RAM, which seems to prevent firmware updates to flash to succeed. You'll have to shut down the machine in order to force a full reset of the NIC. I was kind of paranosic in choosing the appropriate primary / station code, but have latter learned that the "winupdate" utility was smart enough to prevent me from flashing the card with an unappropriate code. Good luck, Marko From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 16:03:19 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CA3D016A503; Sun, 11 Jan 2004 16:03:19 -0800 (PST) Received: from postal1.es.net (proxy.es.net [198.128.3.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id E08D043D3F; Sun, 11 Jan 2004 16:03:09 -0800 (PST) (envelope-from oberman@es.net) Received: from ptavv.es.net ([198.128.4.29]) by postal1.es.net (Postal Node 1) with ESMTP (SSL) id IBA74465; Sun, 11 Jan 2004 16:03:08 -0800 Received: from ptavv (localhost [127.0.0.1]) by ptavv.es.net (Tachyon Server) with ESMTP id 03D445D08; Sun, 11 Jan 2004 16:03:08 -0800 (PST) To: Lorenzo Vicisano In-Reply-To: Message from Lorenzo Vicisano of "Sun, 11 Jan 2004 01:15:53 PST." <20040111011553.A12385@cisco.com> Date: Sun, 11 Jan 2004 16:03:08 -0800 From: "Kevin Oberman" Message-Id: <20040112000308.03D445D08@ptavv.es.net> cc: freebsd-net@freebsd.org cc: freebsd-mobile@freebsd.org Subject: Re: prism 2.5 timeout in wi_cmd 0x010b X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 00:03:19 -0000 > Date: Sun, 11 Jan 2004 01:15:53 -0800 > From: Lorenzo Vicisano > > same result: the patch doesn't fix the problem. > > However after upgrding the Prism firmware (1.1.0 -> 1.1.1) > the lock up stopped. > > Still I cannot get more that 2.5Mb/s Tx from the Prism (as a client) > to another client (Aironet). A little better (3 / 3.5) from the Prism > to the AP (DI 614+). > > "wi" is reporting a lot of TX collision, but "an" isn't when I change > the direction of the traffic. In this case I get better rate.. but > still not optimal as "wi" get conficts on the ACKs. > > Another anomaly shows up when running dhclient: often the system > freezes/slows down for a few fractions of a second (BTW: I've noticed > this with the Aironet driver as well). Also acquiring a lease > has become more unreliable.. Odd. I have 1.1.0/1.4.9 firmware on my card and it works like a champ with Marko's patch. I was not aware that newer firmware was available. Guess I need to go look for the new firmware. I saw much better performance than this on my system. I moved over 850 MB of data at an average of 531 MB/sec and a peak of 622 MB/sec. That translates to a peak over 5 Mb/s and an average of over 4.3 Mb/s. This was with scp. With ttcp I see transmit speed of 4.1 Mb/s but a receive speed of only 1.3 Mb/s. This is to an AP. The problems seemed to start for me after the upgrade to 1.4.9 so maybe the latest will get things back to normal. I don't often use dhclient, but I have seen no problems when I do. (I use Lars Eggert's location.sh to set up my network for my "normal" wireless access.) -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 17:19:25 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BDA3116A4CE; Sun, 11 Jan 2004 17:19:25 -0800 (PST) Received: from mail.npubs.com (mail.npubs.com [209.66.100.224]) by mx1.FreeBSD.org (Postfix) with ESMTP id 75DB343D62; Sun, 11 Jan 2004 17:19:24 -0800 (PST) (envelope-from nielsen@memberwebs.com) Resent-Message-Id: From: Nielsen User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-net@freebsd.org;, freebsd-hackers@freebsd.org X-Enigmail-Version: 0.82.5.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-Id: <20040112011942.C78B6840128@mail.npubs.com> Resent-Date: Mon, 12 Jan 2004 01:19:43 +0000 (GMT) Resent-From: nielsen@memberwebs.com (Postfix Filters) Subject: Gratituous ARP and the em driver X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Date: Mon, 12 Jan 2004 01:19:25 -0000 X-List-Received-Date: Mon, 12 Jan 2004 01:19:25 -0000 When I change IP addresses on my 'em' gigabit NIC, ARP isn't sent properly. This appears to be the problem in the following bug report, however i'm using the 'fixed' version of the em driver (in FreeBSD 4.9). http://www.freebsd.org/cgi/query-pr.cgi?pr=54488 Does anyone have any tips on how to get around this? I'm building new systems with gigabit ethernet support and this problem keeps cropping up. I have a failover system, and when moving an IP alias between machines, the em NIC driver doesn't properly send out gratituous ARP, resulting in the IP being inaccessible. - The problem does not occur when plugged into a 100BaseTX switch - FreeBSD 4.9p1 / em version 1.7.16 - Tried various gigabit switches. - One other odd thing is that when configuring the NIC (ifconfig) the machine locks up for several seconds. Thanks in advance. Nate From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 18:37:50 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 600E716A4CE; Sun, 11 Jan 2004 18:37:50 -0800 (PST) Received: from TheWorld.com (pcls2.std.com [192.74.137.142]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BDC443D31; Sun, 11 Jan 2004 18:37:47 -0800 (PST) (envelope-from kwc@shell.TheWorld.com) Received: from shell.TheWorld.com (pip1-5.std.com [192.74.137.185]) by TheWorld.com (8.12.8p1/8.12.8) with ESMTP id i0C2bi4j013123; Sun, 11 Jan 2004 21:37:44 -0500 Received: (from kwc@localhost) by shell.TheWorld.com (8.9.3/8.9.3) id VAA15119655; Sun, 11 Jan 2004 21:37:39 -0500 (EST) Date: Sun, 11 Jan 2004 21:37:39 -0500 (EST) From: Kenneth W Cochran Message-Id: <200401120237.VAA15119655@shell.TheWorld.com> To: freebsd-net@freebsd.org cc: freebsd-hardware@freebsd.org Subject: Compatibility problem: DFE-570TX (dc(4)) & Linksys router/switch X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 02:37:50 -0000 Hello: Update... (Former subject was "(revised) 4.*9*-stable & Linksys WRT54G won't talk w/each other" on -questions and -net) Ethernet card: D-Link DFE-570TX Interfaces: dc0 - "public" to outside Internet, address assigned by DHCP/dhclient, 100baseTX full-duplex connection to a Motorola SB4101 cable modem dc1 - 192.168.0.1/24, unused in this scenario dc2 - 192.168.1.50/24, trying to communicate with Linksys WRT54G dc3 - unused in this scenario Other IP addresses: 192.168.1.1/24 - router 192.168.1.51/24 - another machine running Windows 2000 & with an Intel Pro/100+ NIC OS: FreeBSD 4.9-STABLE as of 10 December 2003 Firewall: ipfw2 Setup scenarios & successes/failures with them: 1. Connect the router directly to a port on the Ethernet card - the router won't arp-reply (& thus no further communication), viz: dc2 <--> router $ ping -c3 192.168.1.1 ## ip address of the router on dc2 PING 192.168.1.1 (192.168.1.1): 56 data bytes --- 192.168.1.1 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss localhost# tcpdump -lni dc2 ## tcpdump while running the above ping tcpdump: listening on dc2 10:17:18.123385 arp who-has 192.168.1.1 tell 192.168.1.50 10:17:19.124588 arp who-has 192.168.1.1 tell 192.168.1.50 10:17:20.134583 arp who-has 192.168.1.1 tell 192.168.1.50 2. Connecting (dc2 in this example) from the card to a *hub* (Netgear DS-104, 100mb/s half-duplex) and then connecting that hub to the router (via the uplink port) I get the following (success): dc2 <--> hub <--> router $ ping -c3 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes 64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.826 ms 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.751 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.828 ms --- 192.168.1.1 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.751/0.802/0.828/0.036 ms localhost# tcpdump -lni dc2 tcpdump: listening on dc2 18:09:55.023426 192.168.1.50 > 192.168.1.1: icmp: echo request 18:09:55.024193 192.168.1.1 > 192.168.1.50: icmp: echo reply 18:09:56.028951 192.168.1.50 > 192.168.1.1: icmp: echo request 18:09:56.029636 192.168.1.1 > 192.168.1.50: icmp: echo reply 18:09:57.038954 192.168.1.50 > 192.168.1.1: icmp: echo request 18:09:57.039715 192.168.1.1 > 192.168.1.50: icmp: echo reply 18:10:00.022492 arp who-has 192.168.1.50 tell 192.168.1.1 18:10:00.022520 arp reply 192.168.1.50 is-at 0:80:c8:b9:20:df 3. Connection from dc2 to the router and from router to another machine running Windows 2000 and an Intel Pro/100 Ethernet NIC: dc2 <--> router <--> win2k machine with Intel NIC localhost# ifconfig dc2 dc2: flags=8943 mtu 1500 inet6 fe80::280:c8ff:feb9:20df%dc2 prefixlen 64 scopeid 0x3 inet 192.168.1.50 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:80:c8:b9:20:df media: Ethernet 100baseTX status: active localhost# localhost# ping -c3 192.168.1.51 PING 192.168.1.51 (192.168.1.51): 56 data bytes --- 192.168.1.51 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss localhost# tcpdump -lni dc2 tcpdump: listening on dc2 19:56:40.831349 arp who-has 192.168.1.51 tell 192.168.1.50 19:56:40.831507 arp reply 192.168.1.51 is-at 0:90:27:84:42:f 19:56:40.831521 192.168.1.50 > 192.168.1.51: icmp: echo request 19:56:41.835830 192.168.1.50 > 192.168.1.51: icmp: echo request 19:56:42.845862 192.168.1.50 > 192.168.1.51: icmp: echo request ^C 5 packets received by filter 0 packets dropped by kernel localhost# 4. Same connection as above, but through hub instead: dc2 <--> hub <--> win2k machine with Intel NIC localhost# ifconfig dc2 dc2: flags=8943 mtu 1500 inet6 fe80::280:c8ff:feb9:20df%dc2 prefixlen 64 scopeid 0x3 inet 192.168.1.50 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:80:c8:b9:20:df media: Ethernet 100baseTX status: active localhost# localhost# ping -c3 192.168.1.51 PING 192.168.1.51 (192.168.1.51): 56 data bytes 64 bytes from 192.168.1.51: icmp_seq=0 ttl=128 time=0.391 ms 64 bytes from 192.168.1.51: icmp_seq=1 ttl=128 time=0.215 ms 64 bytes from 192.168.1.51: icmp_seq=2 ttl=128 time=0.178 ms --- 192.168.1.51 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.178/0.261/0.391/0.093 ms localhost# localhost# tcpdump -lni dc2 tcpdump: listening on dc2 20:01:59.078456 arp who-has 192.168.1.51 tell 192.168.1.50 20:01:59.078596 arp reply 192.168.1.51 is-at 0:90:27:84:42:f 20:01:59.078608 192.168.1.50 > 192.168.1.51: icmp: echo request 20:01:59.078778 192.168.1.51 > 192.168.1.50: icmp: echo reply 20:02:00.079644 192.168.1.50 > 192.168.1.51: icmp: echo request 20:02:00.079800 192.168.1.51 > 192.168.1.50: icmp: echo reply 20:02:01.089664 192.168.1.50 > 192.168.1.51: icmp: echo request 20:02:01.089781 192.168.1.51 > 192.168.1.50: icmp: echo reply ^C 8 packets received by filter 0 packets dropped by kernel localhost# Based on the above setups/scenarios, it appears to me that FreeBSD and the dc(4) NIC don't work through this switch but do work with this hub. Other notes: The router works fine when connecting another machine (running Windows 2000 and with an Intel Pro/100 NIC) to it. Although I don't think the FreeBSD machine "answers" the Win2k machine through the router/switch. Using ifconfig to force media and mediaoptions, along with restarting/rebooting the router, does not help. According to Linksys documentation, this router uses Broadcomm Ethernet hardware internally. (Just FYI I guess; I don't know if that's helpful.) The "LAN" side of the router is a 4-port switch. Any ideas on getting this working? Cabling checks out fine and this error "follows" interfaces if I change them. It appears that I've found either a hardware incompatibility or some kind of driver (dc(4)) problem. Idea(s) on further troubleshooting/fixing this? Should I be asking on some other list? Should I file a pr? Sorry this message has become lengthy. FAQs/documentation pointers are quite welcome. :) Thanks, -kc From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 19:47:35 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6DE2116A4CE; Sun, 11 Jan 2004 19:47:35 -0800 (PST) Received: from sizone.org (mortar.sizone.org [65.126.154.242]) by mx1.FreeBSD.org (Postfix) with ESMTP id EAB5C43D31; Sun, 11 Jan 2004 19:47:32 -0800 (PST) (envelope-from dgilbert@daveg.ca) Received: by sizone.org (Postfix, from userid 66) id 31F1C307C6; Sun, 11 Jan 2004 22:47:32 -0500 (EST) Received: by canoe.dclg.ca (Postfix, from userid 101) id 6102D1D1FFC; Sun, 11 Jan 2004 22:40:03 -0500 (EST) From: David Gilbert MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16386.5907.94237.791025@canoe.dclg.ca> Date: Sun, 11 Jan 2004 22:40:03 -0500 To: Andre Oppermann In-Reply-To: <40008FCD.90525A33@freebsd.org> References: <16384.14322.83258.940369@canoe.dclg.ca> <40008783.330FAFF4@freebsd.org> <40008FCD.90525A33@freebsd.org> X-Mailer: VM 7.17 under 21.4 (patch 14) "Reasonable Discussion" XEmacs Lucid cc: freebsd-net@freebsd.org cc: freebsd-current@freebsd.org cc: David Gilbert Subject: Re: off-by-one error in ip_fragment, recently. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 03:47:35 -0000 Further in followup to the ip_fragment() bug, at the crash, off = 1500, len = 1480 and ip->ip_len = 21248. So m_copym() is being called with off > len. Dave. -- ============================================================================ |David Gilbert, Independent Contractor. | Two things can only be | |Mail: dave@daveg.ca | equal if and only if they | |http://daveg.ca | are precisely opposite. | =========================================================GLO================ From owner-freebsd-net@FreeBSD.ORG Sun Jan 11 21:10:48 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1A10916A4E0; Sun, 11 Jan 2004 21:10:48 -0800 (PST) Received: from sizone.org (mortar.sizone.org [65.126.154.242]) by mx1.FreeBSD.org (Postfix) with ESMTP id E9B0743D4C; Sun, 11 Jan 2004 21:10:46 -0800 (PST) (envelope-from dgilbert@daveg.ca) Received: by sizone.org (Postfix, from userid 66) id 2624230795; Mon, 12 Jan 2004 00:10:46 -0500 (EST) Received: by canoe.dclg.ca (Postfix, from userid 101) id 1256B1D1FB8; Mon, 12 Jan 2004 00:10:44 -0500 (EST) From: David Gilbert MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16386.11347.853356.826784@canoe.dclg.ca> Date: Mon, 12 Jan 2004 00:10:43 -0500 To: Andre Oppermann In-Reply-To: <40008FCD.90525A33@freebsd.org> References: <16384.14322.83258.940369@canoe.dclg.ca> <40008783.330FAFF4@freebsd.org> <40008FCD.90525A33@freebsd.org> X-Mailer: VM 7.17 under 21.4 (patch 14) "Reasonable Discussion" XEmacs Lucid cc: freebsd-net@freebsd.org cc: freebsd-current@freebsd.org cc: David Gilbert Subject: Re: off-by-one error in ip_fragment, recently. X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 05:10:48 -0000 One more update before I go to bed. On major change in if_gre.c has been to change gh->gi_len = m->m_pkthdr.len; to gh->gi_len = htons(m->m_pkthdr.len); ... which is a fairly semantic change. Now ip_output() is called immediately after that ... and ip_output seems to expect the length in the packet to still be host order because it has: if ((ifp->if_snd.ifq_len + ip->ip_len / ifp->if_mtu + 1) >= as one of the first things that are done with ip->ip_len... or am I mussing that up? ip_output then goes on to call htons() on ip->ip_len many more times, and I'm too tired to track it reliably. But, if I revert the change in if_gre.c, the kernel doesn't crash ... but the gre tunnel also doesn't work. It would appear the byte swap happens a few more times before ip_fragment(). But... what I do know is that in the -CURRENT code, the values that arrive in ip->ip_len in ip_fragment() from the gre tunnel are the byteswapped values from m->m_pkthdr.len above. ... which makes me wonder if this is a showstopper ... that ip_fragment() is broken in some general way. Dave. -- ============================================================================ |David Gilbert, Independent Contractor. | Two things can only be | |Mail: dave@daveg.ca | equal if and only if they | |http://daveg.ca | are precisely opposite. | =========================================================GLO================ From owner-freebsd-net@FreeBSD.ORG Mon Jan 12 05:37:22 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C670016A4CE for ; Mon, 12 Jan 2004 05:37:22 -0800 (PST) Received: from guard.polynet.lviv.ua (guard.polynet.lviv.ua [217.9.2.1]) by mx1.FreeBSD.org (Postfix) with SMTP id 0E3A043D76 for ; Mon, 12 Jan 2004 05:37:18 -0800 (PST) (envelope-from akorud@polynet.lviv.ua) Received: (qmail 87570 invoked from network); 12 Jan 2004 13:37:11 -0000 Received: from eaux.polynet.lviv.ua (HELO localhost) (217.9.2.4) by 217.9.2.1 with SMTP; 12 Jan 2004 13:37:11 -0000 Received: from ip-81-210-9-42.netia.com.pl (ip-81-210-9-42.netia.com.pl [81.210.9.42]) by isp.polynet.lviv.ua (IMP) with HTTP for <.akorud.netadmin.lp@guard>; Mon, 12 Jan 2004 15:37:11 +0200 Message-ID: <1073914631.4002a30736eab@isp.polynet.lviv.ua> Date: Mon, 12 Jan 2004 15:37:11 +0200 From: Andriy Korud To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.2 Subject: Poor network/forwarding performance X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 13:37:22 -0000 Hi. Some time ago I was posting here message concerning poor ipnat performance. However I've found that even without nat (clear forwarding) performance is also poor - at about 6Mbit system gradually becomes completely unresponsible but return to normal state immediately after disconnecting network cable. System is: Xeon 2.8GHz/4-STABLE/Intel gigabit network card (em0). Device polling is enabled. Mbufs - 1% in use. And what I've noticed - in that (or near) state top shows 100% usage by top itself (and sometimes I've noticed 137% CPU usage!?) Any ideas, where can I look and check? Best regards, Andriy Korud From owner-freebsd-net@FreeBSD.ORG Mon Jan 12 07:21:52 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9F8AE16A4CE for ; Mon, 12 Jan 2004 07:21:52 -0800 (PST) Received: from exchange.wan.no (exchange.wan.no [80.86.128.88]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5CB7F43D69 for ; Mon, 12 Jan 2004 07:21:22 -0800 (PST) (envelope-from sten.daniel.sorsdal@wan.no) Content-Class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0 Date: Mon, 12 Jan 2004 16:21:19 +0100 Message-ID: <0AF1BBDF1218F14E9B4CCE414744E70F5D96C7@exchange.wanglobal.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: verrevpath in ip_input (need help) Thread-Index: AcPZH7qOtNw31iWmT9+RPP1nzEuMfg== From: =?iso-8859-1?Q?Sten_Daniel_S=F8rsdal?= To: Subject: verrevpath in ip_input (need help) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 15:21:52 -0000 Has anyone made a patch to add ipfw2's verrev functionality in ip_input = (or similar place) ? I've tried for a few days to write it myself but it keeps panicing on = (among other things) deleting of default route (i suspect that i really = ask the route for 0.0.0.0). I plan to add an ifconfig flag when this basic one works so i can = enable/disable this feature pr interface. this compiles but bombs on "route delete default", i dont have a monitor = on this box because no monitor is available atm, so i cant really see = what happens.=20 compilation flags are: -O -pipe -funroll-loops -ffast-math =20 os version: FreeBSD devil.wan.no 4.9-RELEASE-p1 FreeBSD 4.9-RELEASE-p1 = (...) i386 can anyone spot the bug?=20 static int ip_verrevinterface =3D 0; SYSCTL_INT(_net_inet_ip, OID_AUTO, verrevinterface, CTLFLAG_RW, &ip_verrevinterface, 0, "Verify packet reverse path"); ... void ip_input (struct mbuf *m) { struct route verrev_ro; ... iphack: ... right after "if (fr_checkp) {" clause ...=09 if (ip_verrevinterface && m->m_pkthdr.rcvif !=3D NULL && = ((m->m_pkthdr.rcvif->if_flags & IFF_LOOPBACK) =3D=3D 0)) { struct sockaddr_in *verrev_dst; verrev_dst =3D (struct sockaddr_in = *)&(verrev_ro.ro_dst); /* Check if we've cached the route from the previous = call. */ verrev_ro.ro_rt =3D NULL; bzero(verrev_dst, sizeof(*verrev_dst)); verrev_dst->sin_family =3D AF_INET; verrev_dst->sin_len =3D sizeof(*verrev_dst); verrev_dst->sin_addr =3D ip->ip_src; rtalloc_ign(&verrev_ro, RTF_CLONING|RTF_PRCLONING); if ((verrev_ro.ro_rt =3D=3D NULL) || = (verrev_ro.ro_rt->rt_ifp->if_index !=3D m->m_pkthdr.rcvif->if_index)) { printf("ip_input: verrevpath expected %d but got = %d\n", m->m_pkthdr.rcvif->if_index, = verrev_ro.ro_rt->rt_ifp->if_index ); } } ... // sten From owner-freebsd-net@FreeBSD.ORG Mon Jan 12 07:45:50 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5775316A4CE for ; Mon, 12 Jan 2004 07:45:50 -0800 (PST) Received: from guard.polynet.lviv.ua (guard.polynet.lviv.ua [217.9.2.1]) by mx1.FreeBSD.org (Postfix) with SMTP id 6E1C643D31 for ; Mon, 12 Jan 2004 07:45:46 -0800 (PST) (envelope-from akorud@polynet.lviv.ua) Received: (qmail 39157 invoked from network); 12 Jan 2004 15:45:39 -0000 Received: from eaux.polynet.lviv.ua (HELO localhost) (217.9.2.4) by 217.9.2.1 with SMTP; 12 Jan 2004 15:45:39 -0000 Received: from ip-81-210-9-42.netia.com.pl (ip-81-210-9-42.netia.com.pl [81.210.9.42]) by isp.polynet.lviv.ua (IMP) with HTTP for <.akorud.netadmin.lp@guard>; Mon, 12 Jan 2004 17:45:39 +0200 Message-ID: <1073922339.4002c1238030d@isp.polynet.lviv.ua> Date: Mon, 12 Jan 2004 17:45:39 +0200 From: Andriy Korud To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.2 Subject: NATD and available ports X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 15:45:50 -0000 Hi. I need to run nat box for ~2000 clients with up to 300.000 active connections. ipnat doesn't handle such load, so I'm going to try natd - but worry that natd will simply use all available outgoing ports and then crash. I have 128 public IP's and in ipnat's configuration just map smaller blocks of private IP's into certain public IP, but have no idea how can I do this using natd. Any suggestions? Regards, Andriy Korud. From owner-freebsd-net@FreeBSD.ORG Mon Jan 12 10:18:55 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 918F416A4CE for ; Mon, 12 Jan 2004 10:18:55 -0800 (PST) Received: from pit.databus.com (p70-227.acedsl.com [66.114.70.227]) by mx1.FreeBSD.org (Postfix) with ESMTP id 405A243D2F for ; Mon, 12 Jan 2004 10:18:54 -0800 (PST) (envelope-from barney@pit.databus.com) Received: from pit.databus.com (localhost [127.0.0.1]) by pit.databus.com (8.12.10/8.12.10) with ESMTP id i0CIIrqb021306; Mon, 12 Jan 2004 13:18:53 -0500 (EST) (envelope-from barney@pit.databus.com) Received: (from barney@localhost) by pit.databus.com (8.12.10/8.12.10/Submit) id i0CIIrcM021305; Mon, 12 Jan 2004 13:18:53 -0500 (EST) (envelope-from barney) Date: Mon, 12 Jan 2004 13:18:53 -0500 From: Barney Wolff To: Andriy Korud Message-ID: <20040112181853.GA20984@pit.databus.com> References: <1073922339.4002c1238030d@isp.polynet.lviv.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1073922339.4002c1238030d@isp.polynet.lviv.ua> User-Agent: Mutt/1.5.5.1i X-Scanned-By: MIMEDefang 2.39 cc: freebsd-net@freebsd.org Subject: Re: NATD and available ports X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 18:18:55 -0000 On Mon, Jan 12, 2004 at 05:45:39PM +0200, Andriy Korud wrote: > Hi. > I need to run nat box for ~2000 clients with up to 300.000 active connections. > ipnat doesn't handle such load, so I'm going to try natd - but worry that natd > will simply use all available outgoing ports and then crash. > I have 128 public IP's and in ipnat's configuration just map smaller blocks of > private IP's into certain public IP, but have no idea how can I do this using > natd. You can run multiple copies of natd, each one on its own divert socket. ipfw rules can decide which internal machines & which external addresses go to which divert socket. Performance may well be an issue, depending on bandwidth. Perhaps one NAT box per 100 client boxes would not be overkill - is adding 1% to the h/w budget unreasonable? -- Barney Wolff http://www.databus.com/bwresume.pdf I'm available by contract or FT, in the NYC metro area or via the 'Net. From owner-freebsd-net@FreeBSD.ORG Mon Jan 12 11:02:13 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 95B7716A4CE for ; Mon, 12 Jan 2004 11:02:13 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6341743DA8 for ; Mon, 12 Jan 2004 11:01:34 -0800 (PST) (envelope-from owner-bugmaster@freebsd.org) Received: from freefall.freebsd.org (peter@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.10/8.12.10) with ESMTP id i0CJ1YFR025323 for ; Mon, 12 Jan 2004 11:01:34 -0800 (PST) (envelope-from owner-bugmaster@freebsd.org) Received: (from peter@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i0CJ1YEX025317 for freebsd-net@freebsd.org; Mon, 12 Jan 2004 11:01:34 -0800 (PST) (envelope-from owner-bugmaster@freebsd.org) Date: Mon, 12 Jan 2004 11:01:34 -0800 (PST) Message-Id: <200401121901.i0CJ1YEX025317@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: peter set sender to owner-bugmaster@freebsd.org using -f From: FreeBSD bugmaster To: freebsd-net@FreeBSD.org Subject: Current problem reports assigned to you X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 19:02:13 -0000 Current FreeBSD problem reports Critical problems Serious problems Non-critical problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2003/07/11] kern/54383 net NFS root configurations without dynamic p 1 problem total. From owner-freebsd-net@FreeBSD.ORG Mon Jan 12 11:13:24 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7459916A4CE for ; Mon, 12 Jan 2004 11:13:24 -0800 (PST) Received: from brainlink.com (mail.brainlink.com [66.228.0.129]) by mx1.FreeBSD.org (Postfix) with ESMTP id 62C4D43D60 for ; Mon, 12 Jan 2004 11:13:14 -0800 (PST) (envelope-from anthonyv@brainlink.com) Received: from [24.185.193.147] (HELO superior.local.non-standard.net) by brainlink.com (CommuniGate Pro SMTP 4.1.5) with ESMTP id 26555041; Mon, 12 Jan 2004 14:13:13 -0500 Date: Mon, 12 Jan 2004 14:13:21 -0500 (EST) From: Anthony Volodkin X-X-Sender: anthonyv@superior.local.non-standard.net To: Barney Wolff In-Reply-To: <20040112181853.GA20984@pit.databus.com> Message-ID: <20040112141146.N51689-100000@superior.local.non-standard.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-net@freebsd.org cc: Andriy Korud Subject: Re: NATD and available ports X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 19:13:24 -0000 Hey, Just curious, but why do you need to use NAT with 2000 clients and that many connections/traffic? Surely there might be another solution. -Anthony On Mon, 12 Jan 2004, Barney Wolff wrote: > On Mon, Jan 12, 2004 at 05:45:39PM +0200, Andriy Korud wrote: > > Hi. > > I need to run nat box for ~2000 clients with up to 300.000 active connections. > > ipnat doesn't handle such load, so I'm going to try natd - but worry that natd > > will simply use all available outgoing ports and then crash. > > I have 128 public IP's and in ipnat's configuration just map smaller blocks of > > private IP's into certain public IP, but have no idea how can I do this using > > natd. > > You can run multiple copies of natd, each one on its own divert socket. > ipfw rules can decide which internal machines & which external addresses > go to which divert socket. > > Performance may well be an issue, depending on bandwidth. Perhaps one > NAT box per 100 client boxes would not be overkill - is adding 1% to > the h/w budget unreasonable? > > -- > Barney Wolff http://www.databus.com/bwresume.pdf > I'm available by contract or FT, in the NYC metro area or via the 'Net. > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > From owner-freebsd-net@FreeBSD.ORG Mon Jan 12 11:24:18 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 47D9116A4CE for ; Mon, 12 Jan 2004 11:24:18 -0800 (PST) Received: from exchange.wan.no (exchange.wan.no [80.86.128.88]) by mx1.FreeBSD.org (Postfix) with ESMTP id A73DA43D6D for ; Mon, 12 Jan 2004 11:24:14 -0800 (PST) (envelope-from sten.daniel.sorsdal@wan.no) Content-Class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0 Date: Mon, 12 Jan 2004 20:24:06 +0100 Message-ID: <0AF1BBDF1218F14E9B4CCE414744E70F5D96D2@exchange.wanglobal.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: verrevpath in ip_input (need help) Thread-Index: AcPZH7qOtNw31iWmT9+RPP1nzEuMfgAIcQsg From: =?iso-8859-1?Q?Sten_Daniel_S=F8rsdal?= To: Subject: RE: verrevpath in ip_input (need help) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 19:24:18 -0000 >=20 > Has anyone made a patch to add ipfw2's verrev functionality=20 > in ip_input (or similar place) ? [ ...snip... ] Problem solved, it all works now. Thanks anyway! // sten From owner-freebsd-net@FreeBSD.ORG Mon Jan 12 14:58:31 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3399916A4CE for ; Mon, 12 Jan 2004 14:58:31 -0800 (PST) Received: from smtp02.wxs.nl (smtp02.wxs.nl [195.121.6.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2AE5F43D54 for ; Mon, 12 Jan 2004 14:58:30 -0800 (PST) (envelope-from pblok@bsd4all.org) Received: from fwgw.homebrew.bsd4all.org (ip503cf841.speed.planet.nl [80.60.248.65]) by smtp02.wxs.nl (iPlanet Messaging Server 5.2 HotFix 1.14 (built Mar 18 2003)) with ESMTP id <0HRE00D69G3YUD@smtp02.wxs.nl> for freebsd-net@freebsd.org; Tue, 13 Jan 2004 00:04:46 +0100 (MET) Received: from bsdpc (bsdpc [192.168.1.135]) by fwgw.homebrew.bsd4all.org ; Mon, 12 Jan 2004 23:58:26 +0100 (CET envelope-from pblok@bsd4all.org) Date: Mon, 12 Jan 2004 23:58:26 +0100 From: Peter Blok To: freebsd-net@freebsd.org Message-id: <200401122358.26048.pblok@bsd4all.org> Organization: bsd4all MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline User-Agent: KMail/1.5.4 X-Spam-Status: No, hits=-3.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=2.61 X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on fwgw.homebrew.bsd4all.org Subject: best firmware for prism2 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 22:58:31 -0000 Hi, Currently I have a prism2 card with primary firmware 0.03.00 and station 0.08.03. It works currently fine in ibss but would like to move to hostap mode. I have learned that I can use primary firmware 0.03.00 and station f/w 0.1.71, but is that true and wise? I.e what is the best firmware for a prism2 card? Thx, Peter From owner-freebsd-net@FreeBSD.ORG Mon Jan 12 22:28:50 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5584816A4CE; Mon, 12 Jan 2004 22:28:50 -0800 (PST) Received: from hotmail.com (bay9-f57.bay9.hotmail.com [64.4.47.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E32643D6D; Mon, 12 Jan 2004 22:28:49 -0800 (PST) (envelope-from ganacharya_tanmay@hotmail.com) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Mon, 12 Jan 2004 22:26:54 -0800 Received: from 66.229.166.54 by by9fd.bay9.hotmail.msn.com with HTTP; Tue, 13 Jan 2004 06:26:53 GMT X-Originating-IP: [66.229.166.54] X-Originating-Email: [ganacharya_tanmay@hotmail.com] X-Sender: ganacharya_tanmay@hotmail.com From: "Tanmay Ganacharya" To: freebsd-net@freebsd.org, freebsd-questions@freebsd.org, freebsd-config@freebsd.org Date: Tue, 13 Jan 2004 11:56:53 +0530 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: X-OriginalArrivalTime: 13 Jan 2004 06:26:54.0253 (UTC) FILETIME=[3CACE5D0:01C3D99E] Subject: Unit of the t_rtttime value X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jan 2004 06:28:50 -0000 Hello, Could anyone please tell me the unit of the value stored in the t_rtttime variable in TCP. Also after searching on the internet I found that 1 tick = 224 miliseconds. Please could anyone confirm this. Thanks in advance. TaNmAy _________________________________________________________________ Marriage? http://www.bharatmatrimony.com/cgi-bin/bmclicks1.cgi?74 Join BharatMatrimony.com and get married. From owner-freebsd-net@FreeBSD.ORG Tue Jan 13 05:55:37 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1617D16A4CE for ; Tue, 13 Jan 2004 05:55:37 -0800 (PST) Received: from daemon.kr.FreeBSD.org (daemon.kr.freebsd.org [61.78.53.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id C613243D1F for ; Tue, 13 Jan 2004 05:55:34 -0800 (PST) (envelope-from cjh@kr.FreeBSD.org) Received: from localhost (gradius [211.44.63.164]) by daemon.kr.FreeBSD.org (Postfix) with ESMTP id ACDD01A735 for ; Tue, 13 Jan 2004 22:54:06 +0900 (KST) Date: Tue, 13 Jan 2004 22:54:11 +0900 (KST) Message-Id: <20040113.225411.74714267.cjh@kr.FreeBSD.org> To: freebsd-net@freebsd.org From: CHOI Junho Organization: Korea FreeBSD Users Group X-URL: http://www.kr.FreeBSD.org/~cjh X-Mailer: Mew version 4.0.62 on Emacs 21.3.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: FreeBSD -> Windows HTTP TCP performance X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jan 2004 13:55:37 -0000 Hi, Our company's web service has noticable difference serving Windows HTTP clients(IE) (98, 2000, XP). It is relatively slow comparing Windows -> Windows case. - FreeBSD(4.7,4.8,4.9) thttpd/apache/builtin ftpd -> Windows 2000 : 300-800Kbytes/sec - Windows 2000 IIS(no optimization) -> Windows 2000 : 800k - 1.1Mbytes/sec HTTP request is plain file transfer(around 10-20Mbytes). XP client was very bad result, about 300-400Kbytes/sec for FreeBSD server. Our servers are in data center, and client PC has 10M connection. At first I suspected network environment of server and client, but two servers(FreeBSD, windows) are on the same subnet and link type(1000SX), hardware, server load, etc. so I didn't see any difference between them. With google, I found some info but it doesn't help... (e.g. set tcp sendspace/recvspace to 64k, turn off delayed_ack, turn on rfc1323 knob, or samba SO_SNDBUF optimization). Also, bandwidth test using iperf and ttcp shows almost same bandwidth(8~9Mbit/sec). Can you give me any hints? Here is my sysctl.conf: kern.ipc.nmbclusters="65536" (in /boot/loader.conf.local) net.link.ether.inet.log_arp_wrong_iface=0 kern.ipc.maxsockbuf=67108864 kern.ipc.somaxconn=32768 kern.maxfiles=65536 kern.maxfilesperproc=32768 net.inet.tcp.rfc1323=1 net.inet.tcp.delayed_ack=0 net.inet.tcp.sendspace=65536 net.inet.tcp.recvspace=65536 net.inet.ip.portrange.last=20000 net.inet.ip.portrange.hifirst=40000 net.inet.tcp.msl=1000 net.inet.icmp.drop_redirect=1 net.inet.icmp.log_redirect=0 net.inet.ip.redirect=0 net.inet6.ip6.redirect=0 net.link.ether.inet.max_age=1200 net.inet.ip.sourceroute=0 net.inet.ip.accept_sourceroute=0 net.inet.icmp.bmcastecho=0 net.inet.icmp.maskrepl=0 net.inet.tcp.inflight_enable=1 kern.polling.enable=1 From owner-freebsd-net@FreeBSD.ORG Tue Jan 13 08:02:46 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EE40616A4CE for ; Tue, 13 Jan 2004 08:02:46 -0800 (PST) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id F18FF43D55 for ; Tue, 13 Jan 2004 08:02:44 -0800 (PST) (envelope-from jkim@niksun.com) Received: from daemon.mj.niksun.com (daemon.mj.niksun.com [10.70.0.244]) by anuket.mj.niksun.com (8.12.6p2/8.12.3) with ESMTP id i0DG2huv037288 for ; Tue, 13 Jan 2004 11:02:43 -0500 (EST) (envelope-from jkim@niksun.com) X-RAV-AntiVirus: This e-mail has been scanned for viruses. From: Jung-uk Kim Organization: Niksun, Inc. To: freebsd-net@freebsd.org Date: Tue, 13 Jan 2004 11:02:41 -0500 User-Agent: KMail/1.5.4 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200401131102.41278.jkim@niksun.com> Subject: Revised patch for sk driver X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jan 2004 16:02:47 -0000 I updated my patch for the lastest src/sys/pci/if_sk.c (Rev. 1.73), which was originally posted here: http://docs.freebsd.org/cgi/mid.cgi?20031215231022.GA15082 This also includes Keith Mitchell's patch (with some clean-ups): http://docs.freebsd.org/cgi/mid.cgi?20031217145924.GA12258 This patch supposedly fixes problems with promiscuous mode, multicast, and rtsol. Thanks, Jung-uk Kim From owner-freebsd-net@FreeBSD.ORG Tue Jan 13 08:05:37 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DA8C316A4CE for ; Tue, 13 Jan 2004 08:05:37 -0800 (PST) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C5A243D49 for ; Tue, 13 Jan 2004 08:04:44 -0800 (PST) (envelope-from jkim@niksun.com) Received: from daemon.mj.niksun.com (daemon.mj.niksun.com [10.70.0.244]) by anuket.mj.niksun.com (8.12.6p2/8.12.3) with ESMTP id i0DG3puv037315 for ; Tue, 13 Jan 2004 11:03:51 -0500 (EST) (envelope-from jkim@niksun.com) X-RAV-AntiVirus: This e-mail has been scanned for viruses. From: Jung-uk Kim Organization: Niksun, Inc. To: freebsd-net@freebsd.org Date: Tue, 13 Jan 2004 11:03:49 -0500 User-Agent: KMail/1.5.4 References: <200401131102.41278.jkim@niksun.com> In-Reply-To: <200401131102.41278.jkim@niksun.com> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_lbBBAdr0ahSZGbv" Message-Id: <200401131103.49767.jkim@niksun.com> Subject: Re: Revised patch for sk driver X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jan 2004 16:05:38 -0000 --Boundary-00=_lbBBAdr0ahSZGbv Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Tuesday 13 January 2004 11:02 am, Jung-uk Kim wrote: > I updated my patch for the lastest src/sys/pci/if_sk.c (Rev. 1.73), > which was originally posted here: > > http://docs.freebsd.org/cgi/mid.cgi?20031215231022.GA15082 > > This also includes Keith Mitchell's patch (with some clean-ups): > > http://docs.freebsd.org/cgi/mid.cgi?20031217145924.GA12258 > > This patch supposedly fixes problems with promiscuous mode, > multicast, and rtsol. My bad. Attachment was missing. Sorry. Jung-uk Kim --Boundary-00=_lbBBAdr0ahSZGbv Content-Type: text/plain; charset="iso-8859-1"; name="sk-20040113.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="sk-20040113.diff" --- src/sys/pci/if_sk.c.orig Sun Dec 14 01:48:11 2003 +++ src/sys/pci/if_sk.c Tue Jan 13 00:40:40 2004 @@ -224,9 +224,11 @@ int); static void sk_marv_miibus_statchg (struct sk_if_softc *); -static uint32_t sk_mchash (const uint8_t *); +static uint32_t sk_xmchash (const uint8_t *); +static uint32_t sk_gmchash (const uint8_t *); static void sk_setfilt (struct sk_if_softc *, caddr_t, int); static void sk_setmulti (struct sk_if_softc *); +static void sk_setpromisc (struct sk_if_softc *); #ifdef SK_USEIOSPACE #define SK_RES SYS_RES_IOPORT @@ -709,11 +711,12 @@ return; } -#define SK_POLY 0xEDB88320 -#define SK_BITS 6 +#define XMAC_POLY 0xEDB88320 +#define GMAC_POLY 0x04C11DB7L +#define HASH_BITS 6 static u_int32_t -sk_mchash(addr) +sk_xmchash(addr) const uint8_t *addr; { uint32_t crc; @@ -725,10 +728,48 @@ for (idx = 0; idx < 6; idx++) { for (data = *addr++, bit = 0; bit < 8; bit++, data >>= 1) - crc = (crc >> 1) ^ (((crc ^ data) & 1) ? SK_POLY : 0); + crc = (crc >> 1) ^ (((crc ^ data) & 1) ? XMAC_POLY : 0); } - return (~crc & ((1 << SK_BITS) - 1)); + return (~crc & ((1 << HASH_BITS) - 1)); +} + +static u_int32_t +sk_gmchash(addr) + const uint8_t *addr; +{ + u_int32_t crc; + uint idx, bit; + uint8_t tmpData, data; + + /* Compute CRC for the address value. */ + crc = 0xFFFFFFFF; /* initial value */ + + for (idx = 0; idx < 6; idx++) { + data = *addr++; + + /* Change bit order in byte. */ + tmpData = data; + for (bit = 0; bit < 8; bit++) { + if (tmpData & 1) { + data |= 1 << (7 - bit); + } else { + data &= ~(1 << (7 - bit)); + } + tmpData >>= 1; + } + + crc ^= (data << 24); + for (bit = 0; bit < 8; bit++) { + if (crc & 0x80000000) { + crc = (crc << 1) ^ GMAC_POLY; + } else { + crc <<= 1; + } + } + } + + return (crc & ((1 << HASH_BITS) - 1)); } static void @@ -755,7 +796,7 @@ struct sk_softc *sc = sc_if->sk_softc; struct ifnet *ifp = &sc_if->arpcom.ac_if; u_int32_t hashes[2] = { 0, 0 }; - int h, i; + int h = 0, i; struct ifmultiaddr *ifma; u_int8_t dummy[] = { 0, 0, 0, 0, 0 ,0 }; @@ -798,8 +839,16 @@ continue; } - h = sk_mchash( - LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); + switch(sc->sk_type) { + case SK_GENESIS: + h = sk_xmchash( + LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); + break; + case SK_YUKON: + h = sk_gmchash( + LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); + break; + } if (h < 32) hashes[0] |= (1 << h); else @@ -825,6 +874,35 @@ return; } +static void +sk_setpromisc(sc_if) + struct sk_if_softc *sc_if; +{ + struct sk_softc *sc = sc_if->sk_softc; + struct ifnet *ifp = &sc_if->arpcom.ac_if; + + switch(sc->sk_type) { + case SK_GENESIS: + if (ifp->if_flags & IFF_PROMISC) { + SK_XM_SETBIT_4(sc_if, XM_MODE, XM_MODE_RX_PROMISC); + } else { + SK_XM_CLRBIT_4(sc_if, XM_MODE, XM_MODE_RX_PROMISC); + } + break; + case SK_YUKON: + if (ifp->if_flags & IFF_PROMISC) { + SK_YU_CLRBIT_2(sc_if, YUKON_RCR, + YU_RCR_UFLEN | YU_RCR_MUFLEN); + } else { + SK_YU_SETBIT_2(sc_if, YUKON_RCR, + YU_RCR_UFLEN | YU_RCR_MUFLEN); + } + break; + } + + return; +} + static int sk_init_rx_ring(sc_if) struct sk_if_softc *sc_if; @@ -1107,7 +1185,6 @@ caddr_t data; { struct sk_if_softc *sc_if = ifp->if_softc; - struct sk_softc *sc = sc_if->sk_softc; struct ifreq *ifr = (struct ifreq *) data; int error = 0; struct mii_data *mii; @@ -1125,34 +1202,12 @@ break; case SIOCSIFFLAGS: if (ifp->if_flags & IFF_UP) { - if (ifp->if_flags & IFF_RUNNING && - ifp->if_flags & IFF_PROMISC && - !(sc_if->sk_if_flags & IFF_PROMISC)) { - switch(sc->sk_type) { - case SK_GENESIS: - SK_XM_SETBIT_4(sc_if, XM_MODE, - XM_MODE_RX_PROMISC); - break; - case SK_YUKON: - SK_YU_CLRBIT_2(sc_if, YUKON_RCR, - YU_RCR_UFLEN | YU_RCR_MUFLEN); - break; - } - sk_setmulti(sc_if); - } else if (ifp->if_flags & IFF_RUNNING && - !(ifp->if_flags & IFF_PROMISC) && - sc_if->sk_if_flags & IFF_PROMISC) { - switch(sc->sk_type) { - case SK_GENESIS: - SK_XM_CLRBIT_4(sc_if, XM_MODE, - XM_MODE_RX_PROMISC); - break; - case SK_YUKON: - SK_YU_SETBIT_2(sc_if, YUKON_RCR, - YU_RCR_UFLEN | YU_RCR_MUFLEN); - break; + if (ifp->if_flags & IFF_RUNNING) { + if ((ifp->if_flags ^ sc_if->sk_if_flags) + & IFF_PROMISC) { + sk_setpromisc(sc_if); + sk_setmulti(sc_if); } - sk_setmulti(sc_if); } else sk_init(sc_if); } else { @@ -2258,12 +2313,6 @@ *(u_int16_t *)(&sc_if->arpcom.ac_enaddr[4])); SK_XM_SETBIT_4(sc_if, XM_MODE, XM_MODE_RX_USE_STATION); - if (ifp->if_flags & IFF_PROMISC) { - SK_XM_SETBIT_4(sc_if, XM_MODE, XM_MODE_RX_PROMISC); - } else { - SK_XM_CLRBIT_4(sc_if, XM_MODE, XM_MODE_RX_PROMISC); - } - if (ifp->if_flags & IFF_BROADCAST) { SK_XM_CLRBIT_4(sc_if, XM_MODE, XM_MODE_RX_NOBROAD); } else { @@ -2305,6 +2354,9 @@ */ SK_XM_WRITE_2(sc_if, XM_TX_REQTHRESH, SK_XM_TX_FIFOTHRESH); + /* Set promiscuous mode */ + sk_setpromisc(sc_if); + /* Set multicast filter */ sk_setmulti(sc_if); @@ -2400,8 +2452,7 @@ SK_YU_WRITE_2(sc_if, YUKON_PAR, reg); /* receive control reg */ - SK_YU_WRITE_2(sc_if, YUKON_RCR, YU_RCR_UFLEN | YU_RCR_MUFLEN | - YU_RCR_CRCR); + SK_YU_WRITE_2(sc_if, YUKON_RCR, YU_RCR_CRCR); /* transmit parameter register */ SK_YU_WRITE_2(sc_if, YUKON_TPR, YU_TPR_JAM_LEN(0x3) | @@ -2425,11 +2476,11 @@ SK_YU_WRITE_2(sc_if, YUKON_SAL2 + i * 4, reg); } - /* clear all Multicast filter hash registers */ - SK_YU_WRITE_2(sc_if, YUKON_MCAH1, 0); - SK_YU_WRITE_2(sc_if, YUKON_MCAH2, 0); - SK_YU_WRITE_2(sc_if, YUKON_MCAH3, 0); - SK_YU_WRITE_2(sc_if, YUKON_MCAH4, 0); + /* Set promiscuous mode */ + sk_setpromisc(sc_if); + + /* Set multicast filter */ + sk_setmulti(sc_if); /* enable interrupt mask for counter overflows */ SK_YU_WRITE_2(sc_if, YUKON_TIMR, 0); --Boundary-00=_lbBBAdr0ahSZGbv-- From owner-freebsd-net@FreeBSD.ORG Tue Jan 13 13:36:56 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AB66D16A4CE for ; Tue, 13 Jan 2004 13:36:56 -0800 (PST) Received: from alicia.nttmcl.com (alicia.nttmcl.com [216.69.69.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id ADFF243D6B for ; Tue, 13 Jan 2004 13:35:38 -0800 (PST) (envelope-from kelly@nttmcl.com) Received: from alicia.nttmcl.com (localhost [127.0.0.1]) by alicia.nttmcl.com (8.12.9/8.12.5) with ESMTP id i0DLZcXR016608 for ; Tue, 13 Jan 2004 13:35:38 -0800 (PST) (envelope-from kelly@nttmcl.com) Received: from localhost (kelly@localhost)i0DLZbc4016605 for ; Tue, 13 Jan 2004 13:35:38 -0800 (PST) (envelope-from kelly@nttmcl.com) X-Authentication-Warning: alicia.nttmcl.com: kelly owned process doing -bs Date: Tue, 13 Jan 2004 13:35:37 -0800 (PST) From: Kelly Yancey To: net@freebsd.org In-Reply-To: <20040102185125.B45340-100000@alicia.nttmcl.com> Message-ID: <20040113130721.U15761-102000@alicia.nttmcl.com> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1301593627-1074028335=:15761" Content-ID: <20040113131721.L16110@alicia.nttmcl.com> Subject: bge data corruption bug (was: 1168 octets payload and bad TCPchecksums) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jan 2004 21:36:56 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1301593627-1074028335=:15761 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: <20040113131721.R16110@alicia.nttmcl.com> On Fri, 2 Jan 2004, Kelly Yancey wrote: > > We've got Broadcom BCM5701 cards configured for vlan tagging on a > FreeBSD 4.7 based router; a vlan switch then terminates the trunked > segment and splits it into separate physical subnets. It turns out that > hosts on those segments cannot receive TCP packets with precisely 1168 > octets of payload (ethernet frame size 1222 octets) as the checksum is > always incorrect. We've manually backported all of the bge driver updates > from 4-stable, but to no avail. > What is particularly odd is that the checksums are always wrong by the > same amount: 0xAC48 (the dump below only shows retries of the same > packet, but the difference is the same even for other packets). > Furthermore, it appears only TCP packets with 1168 octets of data are > affected. I cannot easily create an environment without the vlans to > determine whether or not tagging is related. Note also, that the IP > checksum is correct. > First, once slight clarification to my original posting: the received from, after vlan untagging is 1222 octets; the sent frame includes a tag so it is 1226 octets. Anyway, it appears that the cause of the bad checksums are that the last dword of the transmitted frame is getting corrupted in hardware. I've attached tcpdumps taken from both the sender and the client receiving the bogus frames. Viewed with: tcpdump -n -vvv -s 2000 -Xx -r dump.server and tcpdump -n -vvv -s 2000 -Xx -r dump.client respectively, you can see that the last 4 octets are different than what the server sent, hence the checksum is invalid. I've tested with hardware checksumming disabled on transmit with no difference. As I mentioned in my original e-mail, while we are using 4.7p23, we are using the bge driver from 4.9: [13:15:24] kbyanc:/usr/src/sys/dev/bge $ ident * if_bge.c: $FreeBSD: src/sys/dev/bge/if_bge.c,v 1.3.2.28 2003/09/26 16:02:04 ps Exp $ $FreeBSD: src/sys/dev/bge/if_bge.c,v 1.3.2.28 2003/09/26 16:02:04 ps Exp $ if_bgereg.h: $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.1.2.12 2003/08/17 19:15:10 ps Exp $ [13:26:29] kbyanc:/usr/src/sys/dev/mii $ ident brgphy* brgphy.c: $FreeBSD: src/sys/dev/mii/brgphy.c,v 1.1.2.8 2003/07/22 02:12:55 ps Exp $ $FreeBSD: src/sys/dev/mii/brgphy.c,v 1.1.2.8 2003/07/22 02:12:55 ps Exp $ brgphyreg.h: $FreeBSD: src/sys/dev/mii/brgphyreg.h,v 1.1.2.3 2003/06/17 16:07:31 ps Exp $ So far, we have only been able to reproduce the problem with TCP packets with 1168 octets of payload, using vlan tagging on the bge interface. To reproduce the problem, configure a vlan with a NIC with the Broadcom 5701 chipset as the parent interface, connect the NIC to a vlan switch to remove the tag. One site that we have found which pretty consistently serves content of the error-generating size is http://www.vanguard.com/ and click "log on to your accounts". The page should never load because the HTTP reply (and all retransmissions, of course) have a bad checksum. If anyone has any theory as to the cause, I would appreciate hearing it as it would save me a lot of debugging hours. Thanks, Kelly --0-1301593627-1074028335=:15761 Content-Type: APPLICATION/OCTET-STREAM; NAME="dump.client" Content-Transfer-Encoding: BASE64 Content-ID: <20040113131215.O15761@alicia.nttmcl.com> Content-Description: Content-Disposition: ATTACHMENT; FILENAME="dump.client" 1MOyoQIABAAAAAAAAAAAAP//AAABAAAANlAEQEcjBgDGBAAAxgQAAAAgpkzI VgAAXgABSwgARQAEuEkQAAAsBpabwK+3IdhFWn4BuxHFNQEcojrFUE5QGPrw fJwAAEluY29ycC5ieSBSZWYuIExJQUJJTElUWSBMVEQuKGMpOTcgVmVyaVNp Z24wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANiCgOjWGQJ9H4UYOSWi ZSvhv9QF07zmNjuq8ExsW7bnqjxzRVWy8b3ql0LtmjQKFdSpXPVAJd3ZB8Ey snVsxMq7o/5WJ3FDqmP1MD6TKOX68Qk787dNTjn3XElauMEd07KK/nAwlULL /itRi1o8OvkiT5CyAqdTnE8056sEsntvAgMBAAGjgeYwgeMwDwYDVR0TBAgw BgEB/wIBADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEBMCowKAYIKwYBBQUH AgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9DUFMwNAYDVR0fBC0wKzAp oCegJYYjaHR0cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy1nMi5jcmwwNAYD VR0lBC0wKwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEGCmCGSAGG +EUBCAEwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIBBjANBgkqhkiG 9w0BAQUFAAOBgQAjXe6mJAX9dtNqGta6Rgaqag8DkGaysKbCnskeo1VTrz5F /dyMJ91TOAm7fEsrupVK/nBOG2nWPPdPB8XyF1pMoo+sC4oG27nUa8UdWNoX UuMh8dLXWtXlq1l7IXqGatT+FxE6Uw2cYKBK2V7kHQwpqhMHZYYfv7TJglOc LAKPIwACQDCCAjwwggGlAhBwuuQdENkpNLY4ynsDzLq/MA0GCSqGSIb3DQEB AgUAMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3 MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTlaMF8x CzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UE CxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyVxZnvIbigEUtBDf BEDb41evakVAj4QMC9Ez2dkRz+4CWB8l9yqoRAWq7AMfeH+ek7maAKojfdas haJjRcdyJ8z0TMZ1cdI5709C8HXfCpDGjiBvmA/4rCNfcCk2pMmG57GaIMtT pYXnPb59mv4kRTPcdhXtD6JxZExlLoFoRacCAwEAATANBgkqhkiG9w0BAQIF AAOBgQC7TBIrzywmAE8UE92m+/wKEYSM8ygcZ5IvfLbF+t/w6JW8HY9sLKhR zHPYpMBT8E7WJsB2AVeBkl4h8dGx/+fQIVjNaRfjRBycGUQ5iVzcnAAPVo0C me2ikEVM5LsQpD3wMgMO8c746MlRjOZin+afwH23cpzJNjprn06o/2QNZGuf Tqg9UARAsRsIAMYEAADGBAAAACCmTMhWAABeAAFLCABFAAS4SRYAACwGlpXA r7ch2EVafgG7EcY9jf+wOvCSaFAY+vBOuwAASW5jb3JwLmJ5IFJlZi4gTElB QklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOB jQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNF VbLxveqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frx CTvzt01OOfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSy e28CAwEAAaOB5jCB4zAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYL YIZIAYb4RQEHAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNp Z24uY29tL0NQUzA0BgNVHR8ELTArMCmgJ6AlhiNodHRwOi8vY3JsLnZlcmlz aWduLmNvbS9wY2EzLWcyLmNybDA0BgNVHSUELTArBggrBgEFBQcDAQYIKwYB BQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEIATALBgNVHQ8EBAMCAQYwEQYJ YIZIAYb4QgEBBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBACNd7qYkBf1202oa 1rpGBqpqDwOQZrKwpsKeyR6jVVOvPkX93Iwn3VM4Cbt8Syu6lUr+cE4badY8 908HxfIXWkyij6wLigbbudRrxR1Y2hdS4yHx0tda1eWrWXsheoZq1P4XETpT DZxgoErZXuQdDCmqEwdlhh+/tMmCU5wsAo8jAAJAMIICPDCCAaUCEHC65B0Q 2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMxFzAV BgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1Ymxp YyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAw MDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoT DlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJY HyX3KqhEBarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8K kMaOIG+YD/isI19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUu gWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoR hIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/ 59AhWM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM 5mKf5p/AfbdynMk2OmufTqj/ZA1ka59OqD5QBEDNkwoAxgQAAMYEAAAAIKZM yFYAAF4AAUsIAEUABLhJFwAALAaWlMCvtyHYRVp+AbsRxTUBHKI6xVBPUBn6 8HyaAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlT aWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDkl omUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfB MrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVC y/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQI MAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUF BwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCsw KaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQG A1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgB hvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZI hvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+ Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVja F1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJT nCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0B AQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4x NzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNV BAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ 3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33W rIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDL U6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQEC BQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyo Ucxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aN ApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWRr n06oP1AEQCIeDADGBAAAxgQAAAAgpkzIVgAAXgABSwgARQAEuEkiAAAsBpaJ wK+3IdhFWn4BuxHIPtJgdTr64ClQGPrwnuQAAEluY29ycC5ieSBSZWYuIExJ QUJJTElUWSBMVEQuKGMpOTcgVmVyaVNpZ24wgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBANiCgOjWGQJ9H4UYOSWiZSvhv9QF07zmNjuq8ExsW7bnqjxz RVWy8b3ql0LtmjQKFdSpXPVAJd3ZB8EysnVsxMq7o/5WJ3FDqmP1MD6TKOX6 8Qk787dNTjn3XElauMEd07KK/nAwlULL/itRi1o8OvkiT5CyAqdTnE8056sE sntvAgMBAAGjgeYwgeMwDwYDVR0TBAgwBgEB/wIBADBEBgNVHSAEPTA7MDkG C2CGSAGG+EUBBwEBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlz aWduLmNvbS9DUFMwNAYDVR0fBC0wKzApoCegJYYjaHR0cDovL2NybC52ZXJp c2lnbi5jb20vcGNhMy1nMi5jcmwwNAYDVR0lBC0wKwYIKwYBBQUHAwEGCCsG AQUFBwMCBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwCwYDVR0PBAQDAgEGMBEG CWCGSAGG+EIBAQQEAwIBBjANBgkqhkiG9w0BAQUFAAOBgQAjXe6mJAX9dtNq Gta6Rgaqag8DkGaysKbCnskeo1VTrz5F/dyMJ91TOAm7fEsrupVK/nBOG2nW PPdPB8XyF1pMoo+sC4oG27nUa8UdWNoXUuMh8dLXWtXlq1l7IXqGatT+FxE6 Uw2cYKBK2V7kHQwpqhMHZYYfv7TJglOcLAKPIwACQDCCAjwwggGlAhBwuuQd ENkpNLY4ynsDzLq/MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVTMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJs aWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NjAxMjkw MDAwMDBaFw0yODA4MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQK Ew5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEF AAOBjQAwgYkCgYEAyVxZnvIbigEUtBDfBEDb41evakVAj4QMC9Ez2dkRz+4C WB8l9yqoRAWq7AMfeH+ek7maAKojfdashaJjRcdyJ8z0TMZ1cdI5709C8HXf CpDGjiBvmA/4rCNfcCk2pMmG57GaIMtTpYXnPb59mv4kRTPcdhXtD6JxZExl LoFoRacCAwEAATANBgkqhkiG9w0BAQIFAAOBgQC7TBIrzywmAE8UE92m+/wK EYSM8ygcZ5IvfLbF+t/w6JW8HY9sLKhRzHPYpMBT8E7WJsB2AVeBkl4h8dGx /+fQIVjNaRfjRBycGUQ5iVzcnAAPVo0Cme2ikEVM5LsQpD3wMgMO8c746MlR jOZin+afwH23cpzJNjprn06o/2QNZGufTqhBUARAV6wLAMYEAADGBAAAACCm TMhWAABeAAFLCABFAAS4SSMAACwGlojAr7ch2EVafgG7EcY9jf+wOvCSaVAZ +vBOuQAASW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJp U2lnbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2IKA6NYZAn0fhRg5 JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLxveqXQu2aNAoV1Klc9UAl3dkH wTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01OOfdcSVq4wR3Tsor+cDCV Qsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB5jCB4zAPBgNVHRME CDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEwKjAoBggrBgEF BQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNVHR8ELTAr MCmgJ6AlhiNodHRwOi8vY3JsLnZlcmlzaWduLmNvbS9wY2EzLWcyLmNybDA0 BgNVHSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZI AYb4RQEIATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMA0GCSqG SIb3DQEBBQUAA4GBACNd7qYkBf1202oa1rpGBqpqDwOQZrKwpsKeyR6jVVOv PkX93Iwn3VM4Cbt8Syu6lUr+cE4badY8908HxfIXWkyij6wLigbbudRrxR1Y 2hdS4yHx0tda1eWrWXsheoZq1P4XETpTDZxgoErZXuQdDCmqEwdlhh+/tMmC U5wsAo8jAAJAMIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcN AQECBQAwXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMu MTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRp b24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYD VQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJXFme8huKARS0 EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94f56TuZoAqiN9 1qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZog y1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEB AgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2ws qFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNycAA9W jQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k a59OqENQBEBT9w0AxgQAAMYEAAAAIKZMyFYAAF4AAUsIAEUABLhJJAAALAaW h8CvtyHYRVp+AbsRyD7SYHU6+uApUBj68J7kAABJbmNvcnAuYnkgUmVmLiBM SUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8 c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl +vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOer BLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5 BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJp c2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVy aXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggr BgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjAR BglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbT ahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp 1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcR OlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrk HRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5 MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UE ChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFBy aW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEB BQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/u AlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB1 3wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRM ZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8 ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHR sf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJ UYzmYp/mn8B9t3KcyTY6a59OqP9kDWRrn06oSFAEQPmKCQDGBAAAxgQAAAAg pkzIVgAAXgABSwgARQAEuEklAAAsBpaGwK+3IdhFWn4BuxHFNQEcojrFUE9Q GfrwfJoAAEluY29ycC5ieSBSZWYuIExJQUJJTElUWSBMVEQuKGMpOTcgVmVy aVNpZ24wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANiCgOjWGQJ9H4UY OSWiZSvhv9QF07zmNjuq8ExsW7bnqjxzRVWy8b3ql0LtmjQKFdSpXPVAJd3Z B8EysnVsxMq7o/5WJ3FDqmP1MD6TKOX68Qk787dNTjn3XElauMEd07KK/nAw lULL/itRi1o8OvkiT5CyAqdTnE8056sEsntvAgMBAAGjgeYwgeMwDwYDVR0T BAgwBgEB/wIBADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEBMCowKAYIKwYB BQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9DUFMwNAYDVR0fBC0w KzApoCegJYYjaHR0cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy1nMi5jcmww NAYDVR0lBC0wKwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEGCmCG SAGG+EUBCAEwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIBBjANBgkq hkiG9w0BAQUFAAOBgQAjXe6mJAX9dtNqGta6Rgaqag8DkGaysKbCnskeo1VT rz5F/dyMJ91TOAm7fEsrupVK/nBOG2nWPPdPB8XyF1pMoo+sC4oG27nUa8Ud WNoXUuMh8dLXWtXlq1l7IXqGatT+FxE6Uw2cYKBK2V7kHQwpqhMHZYYfv7TJ glOcLAKPIwACQDCCAjwwggGlAhBwuuQdENkpNLY4ynsDzLq/MA0GCSqGSIb3 DQEBAgUAMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5j LjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0 aW9uIEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTla MF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUG A1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyVxZnvIbigEU tBDfBEDb41evakVAj4QMC9Ez2dkRz+4CWB8l9yqoRAWq7AMfeH+ek7maAKoj fdashaJjRcdyJ8z0TMZ1cdI5709C8HXfCpDGjiBvmA/4rCNfcCk2pMmG57Ga IMtTpYXnPb59mv4kRTPcdhXtD6JxZExlLoFoRacCAwEAATANBgkqhkiG9w0B AQIFAAOBgQC7TBIrzywmAE8UE92m+/wKEYSM8ygcZ5IvfLbF+t/w6JW8HY9s LKhRzHPYpMBT8E7WJsB2AVeBkl4h8dGx/+fQIVjNaRfjRBycGUQ5iVzcnAAP Vo0Cme2ikEVM5LsQpD3wMgMO8c746MlRjOZin+afwH23cpzJNjprn06o/2QN ZGufTqhJUARAbAgNAMYEAADGBAAAACCmTMhWAABeAAFLCABFAAS4SSYAACwG loXAr7ch2EVafgG7EcY9jf+wOvCSaVAZ+vBOuQAASW5jb3JwLmJ5IFJlZi4g TElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEF AAOBjQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueq PHNFVbLxveqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo 5frxCTvzt01OOfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTn qwSye28CAwEAAaOB5jCB4zAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDsw OQYLYIZIAYb4RQEHAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVy aXNpZ24uY29tL0NQUzA0BgNVHR8ELTArMCmgJ6AlhiNodHRwOi8vY3JsLnZl cmlzaWduLmNvbS9wY2EzLWcyLmNybDA0BgNVHSUELTArBggrBgEFBQcDAQYI KwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEIATALBgNVHQ8EBAMCAQYw EQYJYIZIAYb4QgEBBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBACNd7qYkBf12 02oa1rpGBqpqDwOQZrKwpsKeyR6jVVOvPkX93Iwn3VM4Cbt8Syu6lUr+cE4b adY8908HxfIXWkyij6wLigbbudRrxR1Y2hdS4yHx0tda1eWrWXsheoZq1P4X ETpTDZxgoErZXuQdDCmqEwdlhh+/tMmCU5wsAo8jAAJAMIICPDCCAaUCEHC6 5B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1 YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEy OTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQ cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP 7gJYHyX3KqhEBarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lw dd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFk TGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7 /AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx 0bH/59AhWM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjo yVGM5mKf5p/AfbdynMk2OmufTqj/ZA1ka59OqExQBEA8EQAAxgQAAMYEAAAA IKZMyFYAAF4AAUsIAEUABLhJJwAALAaWhMCvtyHYRVp+AbsRyD7SYHU6+uAp UBj68J7kAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZl cmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+F GDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd 2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5w MJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1Ud EwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsG AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQt MCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3Js MDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpg hkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJ KoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNV U68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvF HVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0 yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG 9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5 WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1 BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oB FLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCq I33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuex miDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcN AQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2P bCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwA D1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9k DWRrn06oUlAEQB8SCgDGBAAAxgQAAAAgpkzIVgAAXgABSwgARQAEuEkoAAAs BpaDwK+3IdhFWn4BuxHFNQEcojrFUE9QGfrwfJoAAEluY29ycC5ieSBSZWYu IExJQUJJTElUWSBMVEQuKGMpOTcgVmVyaVNpZ24wgZ8wDQYJKoZIhvcNAQEB BQADgY0AMIGJAoGBANiCgOjWGQJ9H4UYOSWiZSvhv9QF07zmNjuq8ExsW7bn qjxzRVWy8b3ql0LtmjQKFdSpXPVAJd3ZB8EysnVsxMq7o/5WJ3FDqmP1MD6T KOX68Qk787dNTjn3XElauMEd07KK/nAwlULL/itRi1o8OvkiT5CyAqdTnE80 56sEsntvAgMBAAGjgeYwgeMwDwYDVR0TBAgwBgEB/wIBADBEBgNVHSAEPTA7 MDkGC2CGSAGG+EUBBwEBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZl cmlzaWduLmNvbS9DUFMwNAYDVR0fBC0wKzApoCegJYYjaHR0cDovL2NybC52 ZXJpc2lnbi5jb20vcGNhMy1nMi5jcmwwNAYDVR0lBC0wKwYIKwYBBQUHAwEG CCsGAQUFBwMCBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwCwYDVR0PBAQDAgEG MBEGCWCGSAGG+EIBAQQEAwIBBjANBgkqhkiG9w0BAQUFAAOBgQAjXe6mJAX9 dtNqGta6Rgaqag8DkGaysKbCnskeo1VTrz5F/dyMJ91TOAm7fEsrupVK/nBO G2nWPPdPB8XyF1pMoo+sC4oG27nUa8UdWNoXUuMh8dLXWtXlq1l7IXqGatT+ FxE6Uw2cYKBK2V7kHQwpqhMHZYYfv7TJglOcLAKPIwACQDCCAjwwggGlAhBw uuQdENkpNLY4ynsDzLq/MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQ dWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NjAx MjkwMDAwMDBaFw0yODA4MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYD VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMg UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEAyVxZnvIbigEUtBDfBEDb41evakVAj4QMC9Ez2dkR z+4CWB8l9yqoRAWq7AMfeH+ek7maAKojfdashaJjRcdyJ8z0TMZ1cdI5709C 8HXfCpDGjiBvmA/4rCNfcCk2pMmG57GaIMtTpYXnPb59mv4kRTPcdhXtD6Jx ZExlLoFoRacCAwEAATANBgkqhkiG9w0BAQIFAAOBgQC7TBIrzywmAE8UE92m +/wKEYSM8ygcZ5IvfLbF+t/w6JW8HY9sLKhRzHPYpMBT8E7WJsB2AVeBkl4h 8dGx/+fQIVjNaRfjRBycGUQ5iVzcnAAPVo0Cme2ikEVM5LsQpD3wMgMO8c74 6MlRjOZin+afwH23cpzJNjprn06o/2QNZGufTqhTUARAlI8NAMYEAADGBAAA ACCmTMhWAABeAAFLCABFAAS4zV8AACwGEkzAr7ch2EVafgG7EcY9jf+wOvCS aVAZ+vBOuQAASW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBW ZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2IKA6NYZAn0f hRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLxveqXQu2aNAoV1Klc9UAl 3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01OOfdcSVq4wR3Tsor+ cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB5jCB4zAPBgNV HRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEwKjAoBggr BgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNVHR8E LTArMCmgJ6AlhiNodHRwOi8vY3JsLnZlcmlzaWduLmNvbS9wY2EzLWcyLmNy bDA0BgNVHSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYK YIZIAYb4RQEIATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMA0G CSqGSIb3DQEBBQUAA4GBACNd7qYkBf1202oa1rpGBqpqDwOQZrKwpsKeyR6j VVOvPkX93Iwn3VM4Cbt8Syu6lUr+cE4badY8908HxfIXWkyij6wLigbbudRr xR1Y2hdS4yHx0tda1eWrWXsheoZq1P4XETpTDZxgoErZXuQdDCmqEwdlhh+/ tMmCU5wsAo8jAAJAMIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZI hvcNAQECBQAwXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ bmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj YXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1 OVowXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcw NQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24g QXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJXFme8huK ARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94f56TuZoA qiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbn sZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3 DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwd j2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ ZA1ka59OqFZQBEBKmgAAxgQAAMYEAAAAIKZMyFYAAF4AAUsIAEUABLjNYAAA LAYSS8CvtyHYRVp+AbsRyD7SYHU6+uApUBj68J7kAABJbmNvcnAuYnkgUmVm LiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu2 56o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+ kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xP NOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0w OzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52 ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwu dmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMB BggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIB BjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF /XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5w Thtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU /hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQ cLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMg UHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYw MTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUG A1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGlj IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcN AQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZ Ec/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9P QvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+i cWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPd pvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJe IfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO +OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWRrn06oXFAEQOubCgDGBAAAxgQA AAAgpkzIVgAAXgABSwgARQAEuM1hAAAsBhJKwK+3IdhFWn4BuxHFNQEcojrF UE9QGfrwfJoAAEluY29ycC5ieSBSZWYuIExJQUJJTElUWSBMVEQuKGMpOTcg VmVyaVNpZ24wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANiCgOjWGQJ9 H4UYOSWiZSvhv9QF07zmNjuq8ExsW7bnqjxzRVWy8b3ql0LtmjQKFdSpXPVA Jd3ZB8EysnVsxMq7o/5WJ3FDqmP1MD6TKOX68Qk787dNTjn3XElauMEd07KK /nAwlULL/itRi1o8OvkiT5CyAqdTnE8056sEsntvAgMBAAGjgeYwgeMwDwYD VR0TBAgwBgEB/wIBADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEBMCowKAYI KwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9DUFMwNAYDVR0f BC0wKzApoCegJYYjaHR0cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy1nMi5j cmwwNAYDVR0lBC0wKwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEG CmCGSAGG+EUBCAEwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIBBjAN BgkqhkiG9w0BAQUFAAOBgQAjXe6mJAX9dtNqGta6Rgaqag8DkGaysKbCnske o1VTrz5F/dyMJ91TOAm7fEsrupVK/nBOG2nWPPdPB8XyF1pMoo+sC4oG27nU a8UdWNoXUuMh8dLXWtXlq1l7IXqGatT+FxE6Uw2cYKBK2V7kHQwpqhMHZYYf v7TJglOcLAKPIwACQDCCAjwwggGlAhBwuuQdENkpNLY4ynsDzLq/MA0GCSqG SIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwg SW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5 NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3 MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyVxZnvIb igEUtBDfBEDb41evakVAj4QMC9Ez2dkRz+4CWB8l9yqoRAWq7AMfeH+ek7ma AKojfdashaJjRcdyJ8z0TMZ1cdI5709C8HXfCpDGjiBvmA/4rCNfcCk2pMmG 57GaIMtTpYXnPb59mv4kRTPcdhXtD6JxZExlLoFoRacCAwEAATANBgkqhkiG 9w0BAQIFAAOBgQC7TBIrzywmAE8UE92m+/wKEYSM8ygcZ5IvfLbF+t/w6JW8 HY9sLKhRzHPYpMBT8E7WJsB2AVeBkl4h8dGx/+fQIVjNaRfjRBycGUQ5iVzc nAAPVo0Cme2ikEVM5LsQpD3wMgMO8c746MlRjOZin+afwH23cpzJNjprn06o /2QNZGufTqhdUARAuRYOAMYEAADGBAAAACCmTMhWAABeAAFLCABFAAS4zWIA ACwGEknAr7ch2EVafgG7EcY9jf+wOvCSaVAZ+vBOuQAASW5jb3JwLmJ5IFJl Zi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxb tueqPHNFVbLxveqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/Uw PpMo5frxCTvzt01OOfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1Oc TzTnqwSye28CAwEAAaOB5jCB4zAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9 MDswOQYLYIZIAYb4RQEHAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cu dmVyaXNpZ24uY29tL0NQUzA0BgNVHR8ELTArMCmgJ6AlhiNodHRwOi8vY3Js LnZlcmlzaWduLmNvbS9wY2EzLWcyLmNybDA0BgNVHSUELTArBggrBgEFBQcD AQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEIATALBgNVHQ8EBAMC AQYwEQYJYIZIAYb4QgEBBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBACNd7qYk Bf1202oa1rpGBqpqDwOQZrKwpsKeyR6jVVOvPkX93Iwn3VM4Cbt8Syu6lUr+ cE4badY8908HxfIXWkyij6wLigbbudRrxR1Y2hdS4yHx0tda1eWrWXsheoZq 1P4XETpTDZxgoErZXuQdDCmqEwdlhh+/tMmCU5wsAo8jAAJAMIICPDCCAaUC EHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMC VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAV BgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1Ymxp YyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ 2RHP7gJYHyX3KqhEBarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnv T0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0P onFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT 3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GS XiHx0bH/59AhWM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7x zvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1ka59OqF9QBEDF0Q4AxgQAAMYE AAAAIKZMyFYAAF4AAUsIAEUABLjNZAAALAYSR8CvtyHYRVp+AbsRyD7SYHU6 +uApUBn68J7jAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3 IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkC fR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1 QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOy iv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8G A1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgG CCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1Ud HwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIu Y3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQB BgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYw DQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7J HqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu5 1GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WG H7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkq hkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1 OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4x NzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7y G4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5 mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJ huexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZI hvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiV vB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc 3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59O qP9kDWRrn06oZlAEQFKSCQDGBAAAxgQAAAAgpkzIVgAAXgABSwgARQAEuM1l AAAsBhJGwK+3IdhFWn4BuxHFNQEcojrFUE9QGfrwfJoAAEluY29ycC5ieSBS ZWYuIExJQUJJTElUWSBMVEQuKGMpOTcgVmVyaVNpZ24wgZ8wDQYJKoZIhvcN AQEBBQADgY0AMIGJAoGBANiCgOjWGQJ9H4UYOSWiZSvhv9QF07zmNjuq8Exs W7bnqjxzRVWy8b3ql0LtmjQKFdSpXPVAJd3ZB8EysnVsxMq7o/5WJ3FDqmP1 MD6TKOX68Qk787dNTjn3XElauMEd07KK/nAwlULL/itRi1o8OvkiT5CyAqdT nE8056sEsntvAgMBAAGjgeYwgeMwDwYDVR0TBAgwBgEB/wIBADBEBgNVHSAE PTA7MDkGC2CGSAGG+EUBBwEBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3 LnZlcmlzaWduLmNvbS9DUFMwNAYDVR0fBC0wKzApoCegJYYjaHR0cDovL2Ny bC52ZXJpc2lnbi5jb20vcGNhMy1nMi5jcmwwNAYDVR0lBC0wKwYIKwYBBQUH AwEGCCsGAQUFBwMCBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwCwYDVR0PBAQD AgEGMBEGCWCGSAGG+EIBAQQEAwIBBjANBgkqhkiG9w0BAQUFAAOBgQAjXe6m JAX9dtNqGta6Rgaqag8DkGaysKbCnskeo1VTrz5F/dyMJ91TOAm7fEsrupVK /nBOG2nWPPdPB8XyF1pMoo+sC4oG27nUa8UdWNoXUuMh8dLXWtXlq1l7IXqG atT+FxE6Uw2cYKBK2V7kHQwpqhMHZYYfv7TJglOcLAKPIwACQDCCAjwwggGl AhBwuuQdENkpNLY4ynsDzLq/MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYT AlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3Mg MyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05 NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJs aWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAyVxZnvIbigEUtBDfBEDb41evakVAj4QMC9Ez 2dkRz+4CWB8l9yqoRAWq7AMfeH+ek7maAKojfdashaJjRcdyJ8z0TMZ1cdI5 709C8HXfCpDGjiBvmA/4rCNfcCk2pMmG57GaIMtTpYXnPb59mv4kRTPcdhXt D6JxZExlLoFoRacCAwEAATANBgkqhkiG9w0BAQIFAAOBgQC7TBIrzywmAE8U E92m+/wKEYSM8ygcZ5IvfLbF+t/w6JW8HY9sLKhRzHPYpMBT8E7WJsB2AVeB kl4h8dGx/+fQIVjNaRfjRBycGUQ5iVzcnAAPVo0Cme2ikEVM5LsQpD3wMgMO 8c746MlRjOZin+afwH23cpzJNjprn06o/2QNZGufTqhnUARAtg8NAMYEAADG BAAAACCmTMhWAABeAAFLCABFAAS4zWYAACwGEkXAr7ch2EVafgG7EcY9jf+w OvCSaVAZ+vBOuQAASW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5 NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2IKA6NYZ An0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLxveqXQu2aNAoV1Klc 9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01OOfdcSVq4wR3T sor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB5jCB4zAP BgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEwKjAo BggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNV HR8ELTArMCmgJ6AlhiNodHRwOi8vY3JsLnZlcmlzaWduLmNvbS9wY2EzLWcy LmNybDA0BgNVHSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIE AQYKYIZIAYb4RQEIATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEG MA0GCSqGSIb3DQEBBQUAA4GBACNd7qYkBf1202oa1rpGBqpqDwOQZrKwpsKe yR6jVVOvPkX93Iwn3VM4Cbt8Syu6lUr+cE4badY8908HxfIXWkyij6wLigbb udRrxR1Y2hdS4yHx0tda1eWrWXsheoZq1P4XETpTDZxgoErZXuQdDCmqEwdl hh+/tMmCU5wsAo8jAAJAMIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJ KoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWdu LCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp ZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIz NTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMu MTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRp b24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJXFme 8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94f56T uZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTak yYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqG SIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJ XNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf Tqj/ZA1ka59OqGpQBECNGAAAxgQAAMYEAAAAIKZMyFYAAF4AAUsIAEUABLjN ZwAALAYSRMCvtyHYRVp+AbsRyD7SYHU6+uApUBn68J7jAABJbmNvcnAuYnkg UmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBM bFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj 9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKn U5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0g BD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3 dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQE AwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13u piQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qV Sv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6 hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIB pQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQG EwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNz IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN OTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvR M9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHS Oe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV 7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBP FBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFX gZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DID DvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWRrn06obFAEQM2qAQDGBAAA xgQAAAAgpkzIVgAAXgABSwgARQAEuM1sAAAsBhI/wK+3IdhFWn4BuxHJXVsA ZzukTT9QGPrwcqkAAEluY29ycC5ieSBSZWYuIExJQUJJTElUWSBMVEQuKGMp OTcgVmVyaVNpZ24wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANiCgOjW GQJ9H4UYOSWiZSvhv9QF07zmNjuq8ExsW7bnqjxzRVWy8b3ql0LtmjQKFdSp XPVAJd3ZB8EysnVsxMq7o/5WJ3FDqmP1MD6TKOX68Qk787dNTjn3XElauMEd 07KK/nAwlULL/itRi1o8OvkiT5CyAqdTnE8056sEsntvAgMBAAGjgeYwgeMw DwYDVR0TBAgwBgEB/wIBADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEBMCow KAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9DUFMwNAYD VR0fBC0wKzApoCegJYYjaHR0cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy1n Mi5jcmwwNAYDVR0lBC0wKwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhC BAEGCmCGSAGG+EUBCAEwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIB BjANBgkqhkiG9w0BAQUFAAOBgQAjXe6mJAX9dtNqGta6Rgaqag8DkGaysKbC nskeo1VTrz5F/dyMJ91TOAm7fEsrupVK/nBOG2nWPPdPB8XyF1pMoo+sC4oG 27nUa8UdWNoXUuMh8dLXWtXlq1l7IXqGatT+FxE6Uw2cYKBK2V7kHQwpqhMH ZYYfv7TJglOcLAKPIwACQDCCAjwwggGlAhBwuuQdENkpNLY4ynsDzLq/MA0G CSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2ln biwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0 aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBaFw0yODA4MDEy MzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5j LjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0 aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyVxZ nvIbigEUtBDfBEDb41evakVAj4QMC9Ez2dkRz+4CWB8l9yqoRAWq7AMfeH+e k7maAKojfdashaJjRcdyJ8z0TMZ1cdI5709C8HXfCpDGjiBvmA/4rCNfcCk2 pMmG57GaIMtTpYXnPb59mv4kRTPcdhXtD6JxZExlLoFoRacCAwEAATANBgkq hkiG9w0BAQIFAAOBgQC7TBIrzywmAE8UE92m+/wKEYSM8ygcZ5IvfLbF+t/w 6JW8HY9sLKhRzHPYpMBT8E7WJsB2AVeBkl4h8dGx/+fQIVjNaRfjRBycGUQ5 iVzcnAAPVo0Cme2ikEVM5LsQpD3wMgMO8c746MlRjOZin+afwH23cpzJNjpr n06o/2QNZGufTqhwUARA3OADAMYEAADGBAAAACCmTMhWAABeAAFLCABFAAS4 zW0AACwGEj7Ar7ch2EVafgG7EcldWwBnO6RNP1AY+vByqQAASW5jb3JwLmJ5 IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rw TGxbtueqPHNFVbLxveqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYncUOq Y/UwPpMo5frxCTvzt01OOfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLIC p1OcTzTnqwSye28CAwEAAaOB5jCB4zAPBgNVHRMECDAGAQH/AgEAMEQGA1Ud IAQ9MDswOQYLYIZIAYb4RQEHAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93 d3cudmVyaXNpZ24uY29tL0NQUzA0BgNVHR8ELTArMCmgJ6AlhiNodHRwOi8v Y3JsLnZlcmlzaWduLmNvbS9wY2EzLWcyLmNybDA0BgNVHSUELTArBggrBgEF BQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEIATALBgNVHQ8E BAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GBACNd 7qYkBf1202oa1rpGBqpqDwOQZrKwpsKeyR6jVVOvPkX93Iwn3VM4Cbt8Syu6 lUr+cE4badY8908HxfIXWkyij6wLigbbudRrxR1Y2hdS4yHx0tda1eWrWXsh eoZq1P4XETpTDZxgoErZXuQdDCmqEwdlhh+/tMmCU5wsAo8jAAJAMIICPDCC AaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UE BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X DTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMx FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1 YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL 0TPZ2RHP7gJYHyX3KqhEBarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx 0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2 Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYB V4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAy Aw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1ka59OqHBQBEDZGAoAxgQA AMYEAAAAIKZMyFYAAF4AAUsIAEUABLjNbgAALAYSPcCvtyHYRVp+AbsRxTUB HKI6xVBPUBn68HyaAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihj KTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo 1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXU qVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjB HdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHj MA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAq MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQG A1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMt ZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4 QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMC AQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCm wp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuK Btu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoT B2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzAN BgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNp Z24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAx MjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlc WZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/ npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3Ap NqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJ KoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf 8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlE OYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6 a59OqP9kDWRrn06ocVAEQFSWDQDGBAAAxgQAAAAgpkzIVgAAXgABSwgARQAE uM1vAAAsBhI8wK+3IdhFWn4BuxHGPY3/sDrwkmlQGfrwTrkAAEluY29ycC5i eSBSZWYuIExJQUJJTElUWSBMVEQuKGMpOTcgVmVyaVNpZ24wgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBANiCgOjWGQJ9H4UYOSWiZSvhv9QF07zmNjuq 8ExsW7bnqjxzRVWy8b3ql0LtmjQKFdSpXPVAJd3ZB8EysnVsxMq7o/5WJ3FD qmP1MD6TKOX68Qk787dNTjn3XElauMEd07KK/nAwlULL/itRi1o8OvkiT5Cy AqdTnE8056sEsntvAgMBAAGjgeYwgeMwDwYDVR0TBAgwBgEB/wIBADBEBgNV HSAEPTA7MDkGC2CGSAGG+EUBBwEBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v d3d3LnZlcmlzaWduLmNvbS9DUFMwNAYDVR0fBC0wKzApoCegJYYjaHR0cDov L2NybC52ZXJpc2lnbi5jb20vcGNhMy1nMi5jcmwwNAYDVR0lBC0wKwYIKwYB BQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEGCmCGSAGG+EUBCAEwCwYDVR0P BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIBBjANBgkqhkiG9w0BAQUFAAOBgQAj Xe6mJAX9dtNqGta6Rgaqag8DkGaysKbCnskeo1VTrz5F/dyMJ91TOAm7fEsr upVK/nBOG2nWPPdPB8XyF1pMoo+sC4oG27nUa8UdWNoXUuMh8dLXWtXlq1l7 IXqGatT+FxE6Uw2cYKBK2V7kHQwpqhMHZYYfv7TJglOcLAKPIwACQDCCAjww ggGlAhBwuuQdENkpNLY4ynsDzLq/MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNV BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xh c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe Fw05NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQ dWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkq hkiG9w0BAQEFAAOBjQAwgYkCgYEAyVxZnvIbigEUtBDfBEDb41evakVAj4QM C9Ez2dkRz+4CWB8l9yqoRAWq7AMfeH+ek7maAKojfdashaJjRcdyJ8z0TMZ1 cdI5709C8HXfCpDGjiBvmA/4rCNfcCk2pMmG57GaIMtTpYXnPb59mv4kRTPc dhXtD6JxZExlLoFoRacCAwEAATANBgkqhkiG9w0BAQIFAAOBgQC7TBIrzywm AE8UE92m+/wKEYSM8ygcZ5IvfLbF+t/w6JW8HY9sLKhRzHPYpMBT8E7WJsB2 AVeBkl4h8dGx/+fQIVjNaRfjRBycGUQ5iVzcnAAPVo0Cme2ikEVM5LsQpD3w MgMO8c746MlRjOZin+afwH23cpzJNjprn06o/2QNZGufTqh0UARAF58AAMYE AADGBAAAACCmTMhWAABeAAFLCABFAAS4zXAAACwGEjvAr7ch2EVafgG7Ecg+ 0mB1OvrgKlAZ+vCe4gAASW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4o Yyk5NyBWZXJpU2lnbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2IKA 6NYZAn0fhRg5JaJlK+G/1AXTvOY2O6rwTGxbtueqPHNFVbLxveqXQu2aNAoV 1Klc9UAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMo5frxCTvzt01OOfdcSVq4 wR3Tsor+cDCVQsv+K1GLWjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB5jCB 4zAPBgNVHRMECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0 BgNVHR8ELTArMCmgJ6AlhiNodHRwOi8vY3JsLnZlcmlzaWduLmNvbS9wY2Ez LWcyLmNybDA0BgNVHSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG +EIEAQYKYIZIAYb4RQEIATALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQD AgEGMA0GCSqGSIb3DQEBBQUAA4GBACNd7qYkBf1202oa1rpGBqpqDwOQZrKw psKeyR6jVVOvPkX93Iwn3VM4Cbt8Syu6lUr+cE4badY8908HxfIXWkyij6wL igbbudRrxR1Y2hdS4yHx0tda1eWrWXsheoZq1P4XETpTDZxgoErZXuQdDCmq Ewdlhh+/tMmCU5wsAo8jAAJAMIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8w DQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlT aWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENl cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgw MTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ bmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj YXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJ XFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19w KTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX6 3/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZ RDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2 OmufTqj/ZA1ka59OqHhQBEAMxQYAxgQAAMYEAAAAIKZMyFYAAF4AAUsIAEUA BLjNcQAALAYSOsCvtyHYRVp+AbsRyV1bAGc7pE0/UBj68HKpAABJbmNvcnAu YnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7 qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+Vidx Q6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+Q sgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYD VR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczov L3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6 Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsG AQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1Ud DwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEA I13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xL K7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZ eyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8 MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNs YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMg UHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJ KoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+E DAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzG dXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz 3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88s JgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibA dgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ9 8DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWRrn06oe1AEQHYdDgDG BAAAxgQAAAAgpkzIVgAAXgABSwgARQAEuM1yAAAsBhI5wK+3IdhFWn4BuxHG PY3/sDrwkmlQGfrwTrkAAEluY29ycC5ieSBSZWYuIExJQUJJTElUWSBMVEQu KGMpOTcgVmVyaVNpZ24wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANiC gOjWGQJ9H4UYOSWiZSvhv9QF07zmNjuq8ExsW7bnqjxzRVWy8b3ql0LtmjQK FdSpXPVAJd3ZB8EysnVsxMq7o/5WJ3FDqmP1MD6TKOX68Qk787dNTjn3XEla uMEd07KK/nAwlULL/itRi1o8OvkiT5CyAqdTnE8056sEsntvAgMBAAGjgeYw geMwDwYDVR0TBAgwBgEB/wIBADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEB MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9DUFMw NAYDVR0fBC0wKzApoCegJYYjaHR0cDovL2NybC52ZXJpc2lnbi5jb20vcGNh My1nMi5jcmwwNAYDVR0lBC0wKwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgB hvhCBAEGCmCGSAGG+EUBCAEwCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQE AwIBBjANBgkqhkiG9w0BAQUFAAOBgQAjXe6mJAX9dtNqGta6Rgaqag8DkGay sKbCnskeo1VTrz5F/dyMJ91TOAm7fEsrupVK/nBOG2nWPPdPB8XyF1pMoo+s C4oG27nUa8UdWNoXUuMh8dLXWtXlq1l7IXqGatT+FxE6Uw2cYKBK2V7kHQwp qhMHZYYfv7TJglOcLAKPIwACQDCCAjwwggGlAhBwuuQdENkpNLY4ynsDzLq/ MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJp U2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBaFw0yODA4 MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwg SW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA yVxZnvIbigEUtBDfBEDb41evakVAj4QMC9Ez2dkRz+4CWB8l9yqoRAWq7AMf eH+ek7maAKojfdashaJjRcdyJ8z0TMZ1cdI5709C8HXfCpDGjiBvmA/4rCNf cCk2pMmG57GaIMtTpYXnPb59mv4kRTPcdhXtD6JxZExlLoFoRacCAwEAATAN BgkqhkiG9w0BAQIFAAOBgQC7TBIrzywmAE8UE92m+/wKEYSM8ygcZ5IvfLbF +t/w6JW8HY9sLKhRzHPYpMBT8E7WJsB2AVeBkl4h8dGx/+fQIVjNaRfjRByc GUQ5iVzcnAAPVo0Cme2ikEVM5LsQpD3wMgMO8c746MlRjOZin+afwH23cpzJ Njprn06o/2QNZGufTqh9UARAPNkOAMYEAADGBAAAACCmTMhWAABeAAFLCABF AAS4zXMAACwGEjjAr7ch2EVafgG7Ecg+0mB1OvrgKlAZ+vCe4gAASW5jb3Jw LmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjCBnzANBgkq hkiG9w0BAQEFAAOBjQAwgYkCgYEA2IKA6NYZAn0fhRg5JaJlK+G/1AXTvOY2 O6rwTGxbtueqPHNFVbLxveqXQu2aNAoV1Klc9UAl3dkHwTKydWzEyruj/lYn cUOqY/UwPpMo5frxCTvzt01OOfdcSVq4wR3Tsor+cDCVQsv+K1GLWjw6+SJP kLICp1OcTzTnqwSye28CAwEAAaOB5jCB4zAPBgNVHRMECDAGAQH/AgEAMEQG A1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6 Ly93d3cudmVyaXNpZ24uY29tL0NQUzA0BgNVHR8ELTArMCmgJ6AlhiNodHRw Oi8vY3JsLnZlcmlzaWduLmNvbS9wY2EzLWcyLmNybDA0BgNVHSUELTArBggr BgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEAQYKYIZIAYb4RQEIATALBgNV HQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4GB ACNd7qYkBf1202oa1rpGBqpqDwOQZrKwpsKeyR6jVVOvPkX93Iwn3VM4Cbt8 Syu6lUr+cE4badY8908HxfIXWkyij6wLigbbudRrxR1Y2hdS4yHx0tda1eWr WXsheoZq1P4XETpTDZxgoErZXuQdDCmqEwdlhh+/tMmCU5wsAo8jAAJAMIIC PDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5D bGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMC VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0G CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCP hAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94f56TuZoAqiN91qyFomNFx3InzPRM xnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Olhec9vn2a/iRF M9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivP LCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYm wHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCk PfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1ka59OqIJQBEDpugUA xgQAAMYEAAAAIKZMyFYAAF4AAUsIAEUABLiDIQAALAZcisCvtyHYRVp+AbsR yV1bAGc7pE0/UBj68HKpAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRE LihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY goDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0 ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJ WrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4Hm MIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcB ATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BT MDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3Bj YTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZI AYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEE BAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5Bm srCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKP rAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0M KaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6 vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgw ODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB AMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwD H3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+Kwj X3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEw DQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2 xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40Qc nBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3Kc yTY6a59OqP9kDWRrn06o --0-1301593627-1074028335=:15761 Content-Type: APPLICATION/OCTET-STREAM; NAME="dump.server" Content-Transfer-Encoding: BASE64 Content-ID: <20040113131215.L15761@alicia.nttmcl.com> Content-Description: Content-Disposition: ATTACHMENT; FILENAME="dump.server" 1MOyoQIABAAAAAAAAAAAAKAPAAABAAAAPVEEQMJsAwDKBAAAygQAAAAgpkzI VgAAXgABS4EAAAkIAEUABLhJDwAALAaWnMCvtyHYRVp+AbsRxTUBHKI6xVBO UBj68HycAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZl cmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+F GDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd 2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5w MJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1Ud EwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsG AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQt MCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3Js MDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpg hkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJ KoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNV U68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvF HVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0 yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG 9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5 WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1 BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oB FLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCq I33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuex miDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcN AQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2P bCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwA D1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9k DWQOAAAAQVEEQDYwBADKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLhJ EAAALAaWm8CvtyHYRVp+AbsRxTUBHKI6xVBOUBj68HycAABJbmNvcnAuYnkg UmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBM bFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj 9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKn U5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0g BD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3 dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQE AwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13u piQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qV Sv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6 hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIB pQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQG EwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNz IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN OTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvR M9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHS Oe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV 7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBP FBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFX gZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DID DvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAASFEEQCCPBgDKBAAA ygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLhJFgAALAaWlcCvtyHYRVp+AbsR xj2N/7A68JJoUBj68E67AABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRE LihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY goDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0 ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJ WrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4Hm MIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcB ATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BT MDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3Bj YTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZI AYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEE BAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5Bm srCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKP rAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0M KaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6 vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgw ODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB AMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwD H3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+Kwj X3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEw DQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2 xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40Qc nBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3Kc yTY6a59OqP9kDWQOAAAASVEEQGdHBgDKBAAAygQAAAAgpkzIVgAAXgABS4EA AAkIAEUABLhJFwAALAaWlMCvtyHYRVp+AbsRxTUBHKI6xVBPUBn68HyaAABJ bmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/U BdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTK u6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYta PDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8C AQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxo dHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWG I2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQt MCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgB MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEF BQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfd UzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS 11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMA AkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNV BAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNs YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NX r2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XH cifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+ fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEA u0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTA U/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBF TOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAASlEE QHaOCgDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLhJIgAALAaWicCv tyHYRVp+AbsRyD7SYHU6+uApUBj68J7kAABJbmNvcnAuYnkgUmVmLiBMSUFC SUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VV svG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJ O/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7 bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5Bgtg hkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2ln bi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNp Z24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEF BQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglg hkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrW ukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3 TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMN nGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZ KTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUG A1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGlj IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAw MDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO VmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1h cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgf JfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQ xo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6B aEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGE jPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n 0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzm Yp/mn8B9t3KcyTY6a59OqP9kDWQOAAAATFEEQL57BwDKBAAAygQAAAAgpkzI VgAAXgABS4EAAAkIAEUABLhJIwAALAaWiMCvtyHYRVp+AbsRxj2N/7A68JJp UBn68E65AABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZl cmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+F GDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd 2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5w MJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1Ud EwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsG AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQt MCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3Js MDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpg hkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJ KoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNV U68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvF HVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0 yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG 9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5 WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1 BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oB FLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCq I33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuex miDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcN AQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2P bCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwA D1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9k DWQOAAAATlEEQGesCgDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLhJ JAAALAaWh8CvtyHYRVp+AbsRyD7SYHU6+uApUBj68J7kAABJbmNvcnAuYnkg UmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBM bFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj 9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKn U5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0g BD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3 dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQE AwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13u piQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qV Sv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6 hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIB pQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQG EwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNz IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN OTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvR M9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHS Oe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV 7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBP FBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFX gZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DID DvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAU1EEQMU2BgDKBAAA ygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLhJJQAALAaWhsCvtyHYRVp+AbsR xTUBHKI6xVBPUBn68HyaAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRE LihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY goDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0 ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJ WrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4Hm MIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcB ATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BT MDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3Bj YTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZI AYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEE BAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5Bm srCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKP rAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0M KaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6 vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgw ODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB AMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwD H3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+Kwj X3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEw DQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2 xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40Qc nBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3Kc yTY6a59OqP9kDWQOAAAAVFEEQMOPCQDKBAAAygQAAAAgpkzIVgAAXgABS4EA AAkIAEUABLhJJgAALAaWhcCvtyHYRVp+AbsRxj2N/7A68JJpUBn68E65AABJ bmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/U BdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTK u6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYta PDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8C AQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxo dHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWG I2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQt MCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgB MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEF BQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfd UzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS 11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMA AkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNV BAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNs YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NX r2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XH cifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+ fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEA u0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTA U/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBF TOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAVlEE QBJgCwDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLhJJwAALAaWhMCv tyHYRVp+AbsRyD7SYHU6+uApUBj68J7kAABJbmNvcnAuYnkgUmVmLiBMSUFC SUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VV svG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJ O/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7 bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5Bgtg hkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2ln bi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNp Z24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEF BQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglg hkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrW ukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3 TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMN nGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZ KTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUG A1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGlj IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAw MDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO VmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1h cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgf JfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQ xo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6B aEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGE jPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n 0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzm Yp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAXVEEQFIlBgDKBAAAygQAAAAgpkzI VgAAXgABS4EAAAkIAEUABLhJKAAALAaWg8CvtyHYRVp+AbsRxTUBHKI6xVBP UBn68HyaAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZl cmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+F GDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd 2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5w MJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1Ud EwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsG AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQt MCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3Js MDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpg hkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJ KoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNV U68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvF HVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0 yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG 9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5 WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1 BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oB FLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCq I33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuex miDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcN AQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2P bCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwA D1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9k DWQOAAAAXlEEQPSACQDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjN XwAALAYSTMCvtyHYRVp+AbsRxj2N/7A68JJpUBn68E65AABJbmNvcnAuYnkg UmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBM bFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj 9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKn U5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0g BD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3 dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQE AwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13u piQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qV Sv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6 hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIB pQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQG EwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNz IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN OTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvR M9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHS Oe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV 7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBP FBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFX gZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DID DvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAYFEEQM1PCwDKBAAA ygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjNYAAALAYSS8CvtyHYRVp+AbsR yD7SYHU6+uApUBj68J7kAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRE LihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY goDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0 ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJ WrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4Hm MIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcB ATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BT MDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3Bj YTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZI AYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEE BAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5Bm srCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKP rAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0M KaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6 vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgw ODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB AMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwD H3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+Kwj X3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEw DQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2 xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40Qc nBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3Kc yTY6a59OqP9kDWQOAAAAZ1EEQE8VBgDKBAAAygQAAAAgpkzIVgAAXgABS4EA AAkIAEUABLjNYQAALAYSSsCvtyHYRVp+AbsRxTUBHKI6xVBPUBn68HyaAABJ bmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/U BdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTK u6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYta PDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8C AQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxo dHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWG I2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQt MCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgB MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEF BQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfd UzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS 11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMA AkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNV BAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNs YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NX r2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XH cifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+ fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEA u0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTA U/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBF TOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAaFEE QAhuCQDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjNYgAALAYSScCv tyHYRVp+AbsRxj2N/7A68JJpUBn68E65AABJbmNvcnAuYnkgUmVmLiBMSUFC SUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VV svG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJ O/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7 bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5Bgtg hkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2ln bi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNp Z24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEF BQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglg hkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrW ukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3 TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMN nGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZ KTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUG A1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGlj IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAw MDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO VmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1h cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgf JfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQ xo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6B aEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGE jPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n 0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzm Yp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAalEEQOhACwDKBAAAygQAAAAgpkzI VgAAXgABS4EAAAkIAEUABLjNZAAALAYSR8CvtyHYRVp+AbsRyD7SYHU6+uAp UBn68J7jAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZl cmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+F GDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd 2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5w MJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1Ud EwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsG AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQt MCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3Js MDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpg hkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJ KoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNV U68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvF HVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0 yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG 9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5 WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1 BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oB FLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCq I33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuex miDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcN AQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2P bCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwA D1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9k DWQOAAAAcVEEQLsGBgDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjN ZQAALAYSRsCvtyHYRVp+AbsRxTUBHKI6xVBPUBn68HyaAABJbmNvcnAuYnkg UmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBM bFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj 9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKn U5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0g BD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3 dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQE AwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13u piQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qV Sv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6 hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIB pQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQG EwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNz IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN OTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvR M9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHS Oe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV 7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBP FBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFX gZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DID DvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAclEEQBJdCQDKBAAA ygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjNZgAALAYSRcCvtyHYRVp+AbsR xj2N/7A68JJpUBn68E65AABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRE LihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY goDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0 ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJ WrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4Hm MIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcB ATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BT MDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3Bj YTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZI AYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEE BAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5Bm srCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKP rAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0M KaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6 vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgw ODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB AMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwD H3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+Kwj X3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEw DQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2 xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40Qc nBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3Kc yTY6a59OqP9kDWQOAAAAdFEEQEJJCwDKBAAAygQAAAAgpkzIVgAAXgABS4EA AAkIAEUABLjNZwAALAYSRMCvtyHYRVp+AbsRyD7SYHU6+uApUBn68J7jAABJ bmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/U BdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTK u6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYta PDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8C AQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxo dHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWG I2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQt MCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgB MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEF BQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfd UzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS 11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMA AkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNV BAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNs YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NX r2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XH cifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+ fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEA u0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTA U/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBF TOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAdlEE QHgkDwDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjNbAAALAYSP8Cv tyHYRVp+AbsRyV1bAGc7pE0/UBj68HKpAABJbmNvcnAuYnkgUmVmLiBMSUFC SUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VV svG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJ O/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7 bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5Bgtg hkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2ln bi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNp Z24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEF BQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglg hkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrW ukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3 TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMN nGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZ KTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUG A1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGlj IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAw MDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO VmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1h cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgf JfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQ xo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6B aEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGE jPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n 0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzm Yp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAe1EEQI3iAADKBAAAygQAAAAgpkzI VgAAXgABS4EAAAkIAEUABLjNbQAALAYSPsCvtyHYRVp+AbsRyV1bAGc7pE0/ UBj68HKpAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZl cmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+F GDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd 2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5w MJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1Ud EwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsG AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQt MCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3Js MDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpg hkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJ KoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNV U68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvF HVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0 yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG 9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5 WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1 BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oB FLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCq I33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuex miDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcN AQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2P bCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwA D1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9k DWQOAAAAe1EEQHcmBgDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjN bgAALAYSPcCvtyHYRVp+AbsRxTUBHKI6xVBPUBn68HyaAABJbmNvcnAuYnkg UmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBM bFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj 9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKn U5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0g BD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3 dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQE AwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13u piQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qV Sv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6 hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIB pQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQG EwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNz IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN OTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvR M9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHS Oe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV 7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBP FBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFX gZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DID DvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAfFEEQK6CCQDKBAAA ygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjNbwAALAYSPMCvtyHYRVp+AbsR xj2N/7A68JJpUBn68E65AABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRE LihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY goDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0 ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJ WrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4Hm MIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcB ATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BT MDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3Bj YTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZI AYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEE BAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5Bm srCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKP rAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0M KaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6 vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgw ODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB AMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwD H3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+Kwj X3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEw DQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2 xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40Qc nBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3Kc yTY6a59OqP9kDWQOAAAAflEEQEo2CwDKBAAAygQAAAAgpkzIVgAAXgABS4EA AAkIAEUABLjNcAAALAYSO8CvtyHYRVp+AbsRyD7SYHU6+uAqUBn68J7iAABJ bmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/U BdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTK u6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYta PDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8C AQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxo dHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWG I2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQt MCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgB MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEF BQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfd UzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS 11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMA AkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNV BAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNs YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NX r2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XH cifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+ fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEA u0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTA U/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBF TOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAg1EE QGYYAgDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjNcQAALAYSOsCv tyHYRVp+AbsRyV1bAGc7pE0/UBj68HKpAABJbmNvcnAuYnkgUmVmLiBMSUFC SUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VV svG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJ O/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7 bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5Bgtg hkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2ln bi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNp Z24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEF BQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglg hkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrW ukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3 TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMN nGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZ KTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUG A1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGlj IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAw MDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO VmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1h cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgf JfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQ xo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6B aEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGE jPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n 0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzm Yp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAhlEEQAtoCQDKBAAAygQAAAAgpkzI VgAAXgABS4EAAAkIAEUABLjNcgAALAYSOcCvtyHYRVp+AbsRxj2N/7A68JJp UBn68E65AABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZl cmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+F GDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd 2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5w MJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1Ud EwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsG AQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQt MCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3Js MDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpg hkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJ KoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNV U68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvF HVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0 yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG 9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu Yy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5 WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1 BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oB FLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCq I33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuex miDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcN AQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2P bCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwA D1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9k DWQOAAAAiFEEQK4WCwDKBAAAygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLjN cwAALAYSOMCvtyHYRVp+AbsRyD7SYHU6+uAqUBn68J7iAABJbmNvcnAuYnkg UmVmLiBMSUFCSUxJVFkgTFRELihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDYgoDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBM bFu256o8c0VVsvG96pdC7Zo0ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj 9TA+kyjl+vEJO/O3TU4591xJWrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKn U5xPNOerBLJ7bwIDAQABo4HmMIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0g BD0wOzA5BgtghkgBhvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3 dy52ZXJpc2lnbi5jb20vQ1BTMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUF BwMBBggrBgEFBQcDAgYJYIZIAYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQE AwIBBjARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13u piQF/XbTahrWukYGqmoPA5BmsrCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qV Sv5wThtp1jz3TwfF8hdaTKKPrAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6 hmrU/hcROlMNnGCgStle5B0MKaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIB pQIQcLrkHRDZKTS2OMp7A8y6vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQG EwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNz IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN OTYwMTI5MDAwMDAwWhcNMjgwODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBAMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvR M9nZEc/uAlgfJfcqqEQFquwDH3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHS Oe9PQvB13wqQxo4gb5gP+KwjX3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV 7Q+icWRMZS6BaEWnAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBP FBPdpvv8ChGEjPMoHGeSL3y2xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFX gZJeIfHRsf/n0CFYzWkX40QcnBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DID DvHO+OjJUYzmYp/mn8B9t3KcyTY6a59OqP9kDWQOAAAAjVEEQEwiAgDKBAAA ygQAAAAgpkzIVgAAXgABS4EAAAkIAEUABLiDIQAALAZcisCvtyHYRVp+AbsR yV1bAGc7pE0/UBj68HKpAABJbmNvcnAuYnkgUmVmLiBMSUFCSUxJVFkgTFRE LihjKTk3IFZlcmlTaWduMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY goDo1hkCfR+FGDklomUr4b/UBdO85jY7qvBMbFu256o8c0VVsvG96pdC7Zo0 ChXUqVz1QCXd2QfBMrJ1bMTKu6P+VidxQ6pj9TA+kyjl+vEJO/O3TU4591xJ WrjBHdOyiv5wMJVCy/4rUYtaPDr5Ik+QsgKnU5xPNOerBLJ7bwIDAQABo4Hm MIHjMA8GA1UdEwQIMAYBAf8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcB ATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vQ1BT MDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3Bj YTMtZzIuY3JsMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZI AYb4QgQBBgpghkgBhvhFAQgBMAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEE BAMCAQYwDQYJKoZIhvcNAQEFBQADgYEAI13upiQF/XbTahrWukYGqmoPA5Bm srCmwp7JHqNVU68+Rf3cjCfdUzgJu3xLK7qVSv5wThtp1jz3TwfF8hdaTKKP rAuKBtu51GvFHVjaF1LjIfHS11rV5atZeyF6hmrU/hcROlMNnGCgStle5B0M KaoTB2WGH7+0yYJTnCwCjyMAAkAwggI8MIIBpQIQcLrkHRDZKTS2OMp7A8y6 vzANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNMjgw ODAxMjM1OTU5WjBfMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xNzA1BgNVBAsTLkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB AMlcWZ7yG4oBFLQQ3wRA2+NXr2pFQI+EDAvRM9nZEc/uAlgfJfcqqEQFquwD H3h/npO5mgCqI33WrIWiY0XHcifM9EzGdXHSOe9PQvB13wqQxo4gb5gP+Kwj X3ApNqTJhuexmiDLU6WF5z2+fZr+JEUz3HYV7Q+icWRMZS6BaEWnAgMBAAEw DQYJKoZIhvcNAQECBQADgYEAu0wSK88sJgBPFBPdpvv8ChGEjPMoHGeSL3y2 xfrf8OiVvB2PbCyoUcxz2KTAU/BO1ibAdgFXgZJeIfHRsf/n0CFYzWkX40Qc nBlEOYlc3JwAD1aNApntopBFTOS7EKQ98DIDDvHO+OjJUYzmYp/mn8B9t3Kc yTY6a59OqP9kDWQOAAAA --0-1301593627-1074028335=:15761-- From owner-freebsd-net@FreeBSD.ORG Tue Jan 13 20:38:39 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 222F916A4CE; Tue, 13 Jan 2004 20:38:39 -0800 (PST) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9D47743D39; Tue, 13 Jan 2004 20:38:37 -0800 (PST) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.10/8.12.10) with ESMTP id i0E4avUd039527; Tue, 13 Jan 2004 23:36:57 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i0E4auof039523; Tue, 13 Jan 2004 23:36:57 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Tue, 13 Jan 2004 23:36:56 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: Nielsen In-Reply-To: <20040112011942.C78B6840128@mail.npubs.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-net@freebsd.org cc: freebsd-hackers@freebsd.org Subject: Re: Gratituous ARP and the em driver X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Jan 2004 04:38:39 -0000 On -1 xxx -1, Nielsen wrote: > When I change IP addresses on my 'em' gigabit NIC, ARP isn't sent > properly. This appears to be the problem in the following bug report, > however i'm using the 'fixed' version of the em driver (in FreeBSD 4.9). > > http://www.freebsd.org/cgi/query-pr.cgi?pr=54488 > > Does anyone have any tips on how to get around this? > > I'm building new systems with gigabit ethernet support and this problem > keeps cropping up. I have a failover system, and when moving an IP alias > between machines, the em NIC driver doesn't properly send out gratituous > ARP, resulting in the IP being inaccessible. > > - The problem does not occur when plugged into a 100BaseTX switch - > FreeBSD 4.9p1 / em version 1.7.16 - Tried various gigabit switches. - > One other odd thing is that when configuring the NIC (ifconfig) the > machine locks up for several seconds. If you run tcpdump on the machine to sniff the interface in question looking for arp packets, does tcpdump see the gratuitous arp? I'm guessing that it does, and the lack of sending the arp is a result of delays in negotiating on the wire. Does this problem turn up only the first time you raise the interface, or every time you change the IP address on the interface? Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Senior Research Scientist, McAfee Research From owner-freebsd-net@FreeBSD.ORG Tue Jan 13 21:32:59 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B6A2716A4CE for ; Tue, 13 Jan 2004 21:32:59 -0800 (PST) Received: from daemon.kr.FreeBSD.org (daemon.kr.freebsd.org [61.78.53.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1610F43D69 for ; Tue, 13 Jan 2004 21:32:36 -0800 (PST) (envelope-from cjh@kr.FreeBSD.org) Received: from localhost (gradius [211.44.63.164]) by daemon.kr.FreeBSD.org (Postfix) with ESMTP id 6C0B61A744 for ; Wed, 14 Jan 2004 14:31:11 +0900 (KST) Date: Wed, 14 Jan 2004 14:31:13 +0900 (KST) Message-Id: <20040114.143113.74684785.cjh@kr.FreeBSD.org> To: freebsd-net@freebsd.org From: CHOI Junho In-Reply-To: <20040113.225411.74714267.cjh@kr.FreeBSD.org> References: <20040113.225411.74714267.cjh@kr.FreeBSD.org> Organization: Korea FreeBSD Users Group X-URL: http://www.kr.FreeBSD.org/~cjh X-Mailer: Mew version 4.0.62 on Emacs 21.3.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: FreeBSD -> Windows HTTP TCP performance X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Jan 2004 05:32:59 -0000 FYI(advice of rwatson), here is dmesg and ifconfig output: em2: flags=8843 mtu 1500 options=3 inet 211.XX.XX.XX netmask 0xfffffff8 broadcast 211.XX.XX.XX inet6 fe80::202:b3ff:fec7:ff34%em2 prefixlen 64 scopeid 0x3 ether 00:02:b3:c7:ff:34 media: Ethernet 1000baseSX (1000baseSX ) status: active lo0: flags=8049 mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 inet 127.0.0.1 netmask 0xff000000 Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.7-RELEASE-p4 #0: Sat Feb 8 22:13:15 KST 2003 root@XXX.XXX:/usr/obj/b/FreeBSD/4_7/src/sys/DOWNLOAD Timecounter "i8254" frequency 1193182 Hz CPU: Pentium 4 (1794.71-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf24 Stepping = 4 Features=0x3febfbff,ACC> real memory = 2147418112 (2097088K bytes) avail memory = 2087530496 (2038604K bytes) Preloaded elf kernel "kernel" at 0xc03a0000. Preloaded elf module "accf_http.ko" at 0xc03a009c. Pentium Pro MTRR support enabled md0: Malloc disk Using $PIR table, 19 entries at 0xc00f3060 apm: protected mode connections are not supported npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pci0: (vendor=0x8086, dev=0x2541) at 0.1 pcib1: at device 3.0 on pci0 pci2: on pcib1 pci2: (vendor=0x8086, dev=0x1461) at 28.0 pcib2: at device 29.0 on pci2 pci4: on pcib2 ahc0: port 0x3400-0x34ff mem 0xfea50000- 0xfea50fff irq 9 at device 7.0 on pci4 aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs ahc1: port 0x3000-0x30ff mem 0xfeaf0000- 0xfeaf0fff irq 9 at device 7.1 on pci4 aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs pci2: (vendor=0x8086, dev=0x1461) at 30.0 pcib3: at device 31.0 on pci2 pci3: on pcib3 em0: port 0x2080-0x20bf mem 0xfe8a0000-0xfe8bffff irq 9 at device 7.0 on pci3 em0: Speed:N/A Duplex:N/A em1: port 0x2040-0x207f mem 0xfe8c0000-0xfe8dffff irq 9 at device 7.1 on pci3 em1: Speed:N/A Duplex:N/A em2: port 0x2000-0x201f mem 0xfe9c0000-0xfe9dffff,0xfe9e0000-0xfe9fffff irq 9 at device 8.0 on pci3 em2: Speed:1000 Mbps Duplex:Full pci0: (vendor=0x8086, dev=0x2546) at 3.1 uhci0: port 0x4020-0x403f irq 9 at device 29.0 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0x4000-0x401f irq 10 at device 29.1 on pci0 usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered pcib4: at device 30.0 on pci0 pci1: on pcib4 pci1: at 12.0 irq 11 isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x3a0-0x3af,0-0x3,0-0x7,0-0x3,0-0x7 irq 0 at device 31.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 pci0: (vendor=0x8086, dev=0x2483) at 31.3 irq 0 orm0: