From owner-freebsd-usb@FreeBSD.ORG Fri Nov 19 20:24:06 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9F239106564A for ; Fri, 19 Nov 2010 20:24:06 +0000 (UTC) (envelope-from matheus@eternamente.info) Received: from phoenix.eternamente.info (phoenix.eternamente.info [109.169.62.232]) by mx1.freebsd.org (Postfix) with ESMTP id 241A68FC0A for ; Fri, 19 Nov 2010 20:24:06 +0000 (UTC) Received: by phoenix.eternamente.info (Postfix, from userid 80) id C74451CC40; Fri, 19 Nov 2010 17:23:50 -0300 (BRT) Received: from 187.114.192.104 (SquirrelMail authenticated user matheus) by eternamente.info with HTTP; Fri, 19 Nov 2010 18:23:50 -0200 Message-ID: <9ecdf40489022c754096ac1f388a605f.squirrel@eternamente.info> In-Reply-To: <20101119192731.GB13317@michelle.cdnetworks.com> References: <201011181510.oAIFA7SZ034209@freefall.freebsd.org> <833a33ce5369c53c6db220b79e379092.squirrel@eternamente.info> <20101118202426.GB8512@michelle.cdnetworks.com> <20101119000618.GC8512@michelle.cdnetworks.com> <32aed4c0a483f26c662dd513ea718a78.squirrel@eternamente.info> <20101119013857.GE8512@michelle.cdnetworks.com> <8ca59ffdfef13423f8a34d81cfdefc49.squirrel@eternamente.info> <20101119171324.GA13317@michelle.cdnetworks.com> <603efbe44ab6deefcd86905280566f32.squirrel@eternamente.info> <20101119192731.GB13317@michelle.cdnetworks.com> Date: Fri, 19 Nov 2010 18:23:50 -0200 From: "Nenhum_de_Nos" To: pyunyh@gmail.com User-Agent: SquirrelMail/1.4.21 MIME-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20101119182350_44597" X-Priority: 3 (Normal) Importance: Normal Cc: freebsd-usb@freebsd.org Subject: Re: usb/140883: [axe] [usb8] USB gigabit ethernet hangs after short period of traffic X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Nov 2010 20:24:06 -0000 ------=_20101119182350_44597 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit On Fri, November 19, 2010 17:27, Pyun YongHyeon wrote: > On Fri, Nov 19, 2010 at 04:23:20PM -0200, Nenhum_de_Nos wrote: >> >> On Fri, November 19, 2010 15:13, Pyun YongHyeon wrote: >> > On Fri, Nov 19, 2010 at 03:19:26AM -0200, Nenhum_de_Nos wrote: >> >> >> >> On Thu, November 18, 2010 23:38, Pyun YongHyeon wrote: >> >> > On Thu, Nov 18, 2010 at 10:40:10PM -0200, Nenhum_de_Nos wrote: >> >> >> >> >> >> On Thu, November 18, 2010 22:06, Pyun YongHyeon wrote: >> >> >> > On Thu, Nov 18, 2010 at 09:12:13PM -0200, Nenhum_de_Nos wrote: >> >> >> >> >> >> >> >> On Thu, November 18, 2010 18:24, Pyun YongHyeon wrote: >> >> >> >> > On Thu, Nov 18, 2010 at 04:20:51PM -0200, Nenhum_de_Nos >> wrote: >> >> >> >> >> >> >> >> >> >> On Thu, November 18, 2010 13:10, Derrick Brashear wrote: >> >> >> >> >> > The following reply was made to PR usb/140883; it has been >> >> noted >> >> >> by >> >> >> >> >> GNATS. >> >> >> >> >> > >> >> >> >> >> > From: Derrick Brashear >> >> >> >> >> > To: bug-followup@FreeBSD.org, sub.mesa@gmail.com >> >> >> >> >> > Cc: >> >> >> >> >> > Subject: Re: usb/140883: [axe] [usb8] USB gigabit ethernet >> >> hangs >> >> >> >> after >> >> >> >> >> > short >> >> >> >> >> > period of traffic >> >> >> >> >> > Date: Thu, 18 Nov 2010 09:36:50 -0500 >> >> >> >> >> > >> >> >> >> >> > Pyun has provided an updated driver which avoids several >> >> issues >> >> >> >> >> > including using a too-large transmit buffer (the chipset >> >> claims >> >> >> >> only >> >> >> >> >> > 8k) but none of the fixes worked until he disabled frame >> >> >> combining >> >> >> >> >> for >> >> >> >> >> > transmit. With only a single packet being sent per frame >> (as >> >> >> was >> >> >> >> the >> >> >> >> >> > case in FreeBSD 7, apparently) seems to make the issue go >> >> away. >> >> >> >> None >> >> >> >> >> > of the cases I could use to reproduce the issue now >> happen. >> >> >> >> >> > >> >> >> >> >> > -- >> >> >> >> >> > Derrick >> >> >> >> >> >> >> >> >> >> is this already in 8-stable ? I have a couple of axe(4) >> based >> >> >> nic's >> >> >> >> >> they're not ok on 8-stable. I've talked to Pyun before, and >> >> that >> >> >> time >> >> >> >> >> seemed do solve the issue (with gigabit belkin axe based) >> but >> >> now >> >> >> I >> >> >> >> >> can't >> >> >> >> >> get them to work anymore. even fast ethernet linksys axe are >> >> just >> >> >> >> dying >> >> >> >> >> when in a bridge (switched to OpenBSD to have it working). >> >> >> >> >> >> >> >> >> >> how ca I try this to help ? >> >> >> >> >> >> >> >> >> > >> >> >> >> > I uploaded updated if_axe.c/if_axereg.h to the following URL. >> >> >> >> > http://people.freebsd.org/~yongari/axe/if_axe.c >> >> >> >> > http://people.freebsd.org/~yongari/axe/if_axereg.h >> >> >> >> > >> >> >> >> > That files seem to fix axe(4) hang which were seen on >> AX88772A >> >> >> >> > controller. One of most notable changes are removing >> combining >> >> >> >> > multiple TX frames in TX path such that this change may >> result >> >> in >> >> >> >> > sub-optimal performance for most axe(4) controllers. However >> it >> >> >> >> > seems that change makes Derrick's controller work without >> >> problems. >> >> >> >> > Generally I prefer driver stability over performance so if >> this >> >> >> >> > change also fixes other axe(4) stability issues reported so >> far, >> >> I >> >> >> >> > want to check in the change. >> >> >> >> > >> >> >> >> > Thanks. >> >> >> >> >> >> >> >> well, >> >> >> >> >> >> >> >> things did got better here. but the link state UP and DOWN are >> >> still >> >> >> >> there :( >> >> >> >> >> >> >> >> ugen2.3: at usbus2 >> >> >> >> axe1: on >> >> usbus2 >> >> >> >> axe1: PHYADDR 0xe0:0x01 >> >> >> >> miibus2: on axe1 >> >> >> >> ukphy2: PHY 1 on miibus2 >> >> >> >> ukphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, >> >> 1000baseT, >> >> >> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> >> >> >> 1000baseT-FD >> >> >> >> X, auto >> >> >> > >> >> >> > It seems you have PHY driver issue. Normally all gigabit PHYs >> >> >> > should have their own PHY driver since most PHYs hardwares tend >> to >> >> >> > have a special register that reports link state changes. >> >> >> > Show me the output of "devinfo -rv | grep phy". >> >> >> >> >> >> there you are: >> >> >> >> >> >> devinfo -rv|grep phy >> >> >> ukphy1 pnpinfo oui=0xec6 model=0x1 rev=0x1 at >> >> phyno=16 >> >> >> ukphy2 pnpinfo oui=0xa080 model=0x28 rev=0x2 at >> >> >> phyno=1 >> >> >> ukphy0 pnpinfo oui=0x4063 model=0x32 rev=0xa at >> phyno=1 >> >> >> >> >> > >> >> > Hmm.... You have many ukphys there. :-) I think the PHY attached to >> >> > the USB controller is ukphy2. The OUI indicates its maker is ASIX. >> >> > Unfortunately there is no dedicated PHY driver for this PHY. I >> >> > guess it may use a modified CICADA PHY though. Updated driver to >> >> > force GPIO configuration for this PHY. Would you try again after >> >> > downloading if_axe.c/if_axereg.h? It may show >> >> > "unknown PHY mode : 0xXX" if my guess is wrong. >> >> back to this, no problem of unknown PHY: >> >> ugen2.2: at usbus2 >> axe0: on usbus2 >> axe0: PHYADDR 0xe0:0x10 >> Root mount waiting for: usbus2 >> miibus1: on axe0 >> ukphy1: PHY 16 on miibus1 >> ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto >> ue0: on axe0 >> ue0: Ethernet address: my mac here >> ugen2.3: at usbus2 >> axe1: on usbus2 >> axe1: PHYADDR 0xe0:0x01 >> Trying to mount root from ufs:/dev/ad0s3a >> miibus2: on axe1 >> ukphy2: PHY 1 on miibus2 >> ukphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, >> 1000baseT-FDX, auto >> ue1: on axe1 >> ue1: Ethernet address: my other mac here >> >> the ping still shows problems (on gbit controller at 100BaseTX): >> >> 62 packets transmitted, 55 packets received, 11.3% packet loss >> round-trip min/avg/max/stddev = 0.873/1.957/51.408/6.730 ms >> >> when in gigabit, no good: >> > > Ok, try again after downloading new if_axe.c and let me know > the output "EEPROM data : 0xXX, phymode : 0xXX" shown on your > console. never got to see that message. I saw the diff to previous version, and did boot into verbose mode (dmesg attached). there were just the belkin gigabit nic on boot. after, the linksys USB200M: axe1: on usbus2 axe1: PHYADDR 0xe0:0x10 miibus2: on axe1 ukphy1: PHY 16 on miibus2 ukphy1: OUI 0x000ec6, model 0x0001, rev. 1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ue1: on axe1 ue1: bpf attached invalid media SR 0x700 invalid media SR 0x700 and the other gigabit: ugen2.4: at usbus2 axe2: on usbus2 axe2: PHYADDR 0xe0:0x01 miibus3: on axe2 truephy1: PHY 1 on miibus3 truephy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto ue2: on axe2 ue2: bpf attached ue2: Ethernet address: my mac here ue2: link state changed to DOWN and never got to see the EEPROM message. >> ping 192.168.1.3 >> PING 192.168.1.3 (192.168.1.3): 56 data bytes >> 64 bytes from 192.168.1.3: icmp_seq=2 ttl=128 time=1.533 ms >> 64 bytes from 192.168.1.3: icmp_seq=3 ttl=128 time=1001.806 ms >> 64 bytes from 192.168.1.3: icmp_seq=4 ttl=128 time=1.151 ms >> 64 bytes from 192.168.1.3: icmp_seq=5 ttl=128 time=1001.860 ms >> 64 bytes from 192.168.1.3: icmp_seq=6 ttl=128 time=1.317 ms >> 64 bytes from 192.168.1.3: icmp_seq=7 ttl=128 time=1.036 ms >> 64 bytes from 192.168.1.3: icmp_seq=8 ttl=128 time=1001.899 ms >> 64 bytes from 192.168.1.3: icmp_seq=9 ttl=128 time=1.273 ms >> ping: sendto: No route to host >> ping: sendto: No route to host >> ping: sendto: No route to host >> 64 bytes from 192.168.1.3: icmp_seq=16 ttl=128 time=0.992 ms >> 64 bytes from 192.168.1.3: icmp_seq=18 ttl=128 time=0.860 ms >> ping: sendto: No route to host >> 64 bytes from 192.168.1.3: icmp_seq=25 ttl=128 time=1.132 ms >> ping: sendto: No route to host >> 64 bytes from 192.168.1.3: icmp_seq=34 ttl=128 time=3003.569 ms >> 64 bytes from 192.168.1.3: icmp_seq=35 ttl=128 time=2002.963 ms >> 64 bytes from 192.168.1.3: icmp_seq=36 ttl=128 time=1002.208 ms >> 64 bytes from 192.168.1.3: icmp_seq=37 ttl=128 time=1.454 ms >> ^C >> --- 192.168.1.3 ping statistics --- >> 38 packets transmitted, 15 packets received, 60.5% packet loss >> round-trip min/avg/max/stddev = 0.860/601.670/3003.569/880.104 ms >> >> and: >> >> ue1: link state changed to DOWN >> ue1: link state changed to UP >> ue1: link state changed to DOWN >> ue1: link state changed to UP >> ue1: link state changed to DOWN >> ue1: link state changed to UP >> ue1: link state changed to DOWN >> ue1: link state changed to UP >> ue1: link state changed to DOWN >> ue1: link state changed to UP >> ue1: link state changed to DOWN >> ue1: link state changed to UP >> ue1: link state changed to DOWN >> ue1: link state changed to UP >> ue1: link state changed to DOWN >> ue1: link state changed to UP >> >> >> I downloaded again from above links and are the same as the last: >> >> >> >> valfenda# md5 if_axe* >> >> MD5 (if_axe.c) = 388b7aa84f0d2471f8b144033103618b >> >> MD5 (if_axe.c.original) = c528c7cb5eb964a792d4c14dfaed47cf >> >> MD5 (if_axe.c.v1) = 388b7aa84f0d2471f8b144033103618b >> >> MD5 (if_axereg.h) = 10f85490cab59b8e40de261fd7ad81a5 >> >> MD5 (if_axereg.h.original) = 46f37d0f02a3c09463ceec58b743c6ce >> >> MD5 (if_axereg.h.v1) = 10f85490cab59b8e40de261fd7ad81a5 >> >> >> >> .original are files from 8-stable (via csup) >> >> .v1 are the files from http://people.freebsd.org/~yongari/axe/ >> >> downloaded >> >> when the fist test using those files were made. >> >> regular .c files were downloaded now when I read this mail. >> >> >> >> did you uploaded some new version in >> >> http://people.freebsd.org/~yongari/axe/ ? or I didn't got it ? :) >> >> >> > >> > Oops, it seems I forgot to upload it after modifying it. >> > Please download again. MD5 should be >> > 507a672946e7c0394e83c79d1a12c9b5 (if_axe.c) and >> > 10f85490cab59b8e40de261fd7ad81a5 (if_axereg.h) >> > >> >> should this modified version be a good test to fast ethernet axe nics >> ? >> >> my >> >> linksys USB200M failed when in bridge after some time of use :( same >> > >> > Yes, the change made in if_axe.c is for AX88178, AX88772 and >> > AX8872A. The change has no effect for AX88172. Your controller would >> > be either AX88772 or AX88772A so chances are good to see different >> > behavior than ever before. >> >> I have no idea on how to see this ... is there anyway ? >> > > From the output you posted: > axe0: on usbus2 > axe0: PHYADDR 0xe0:0x10 > product is 0x0018 which means Cisco USB200M V2 and its controller > is AX88772A. great :) >> >> hardware I'm testing now. and the nics are ok, tested in OpenBSD with >> >> same >> >> hardware and same bridge and same pf conf file. >> >> >> >> thanks, >> >> >> >> matheus >> >> by the way, you would not know if an interrupt storm on the irq of the >> fast ethernet axe would have anything to do with its driver, right ? it >> just happens when in bridge mode (I figured out why the bridge was >> stopping working - the other nic keeps working fine). >> > > Normally bridge mode will put the controller into promiscuous mode. > If there is a bug in setting promiscuous mode, you should have seen > it whenever you use tcpdump on that interface. So if you run > tcpdump on that interface, do you see interrupt storm? > If you don't, it would be different issue, I guess. I'm trying this, usb nic out of bridge, its own IP, tcpdump and iperf. few minutes and no problem so far. let's see in some time. when bridging for my DSL, it got something around 1~3Mbps of traffic. and in less then a night (8 hours) the usb nic would say goodbye ... thanks again, matheus -- We will call you cygnus, The God of balance you shall be A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? http://en.wikipedia.org/wiki/Posting_style ------=_20101119182350_44597 Content-Type: application/octet-stream; name="dmesg.usb" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dmesg.usb" Q29weXJpZ2h0IChjKSAxOTkyLTIwMTAgVGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0IChj KSAxOTc5LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAxOTkzLCAx OTk0CglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiBBbGwgcmln aHRzIHJlc2VydmVkLgpGcmVlQlNEIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEZy ZWVCU0QgRm91bmRhdGlvbi4KRnJlZUJTRCA4LjEtU1RBQkxFICMyOiBGcmkgTm92ICA1IDAxOjUy OjA2IEJSVCAyMDEwCiAgICByb290QHZhbGZlbmRhLmFwYXJ0bmV0Oi91c3Ivb2JqL3Vzci9zcmMv c3lzL3ZhbGZlbmRhIGkzODYKUHJlbG9hZGVkIGVsZiBrZXJuZWwgIi9ib290L2tlcm5lbC9rZXJu ZWwiIGF0IDB4YzEwMTcwMDAuClRpbWVjb3VudGVyICJpODI1NCIgZnJlcXVlbmN5IDExOTMxODIg SHogcXVhbGl0eSAwCkNhbGlicmF0aW5nIFRTQyBjbG9jayAuLi4gVFNDIGNsb2NrOiA3OTgxMzAw OTYgSHoKQ1BVOiBUcmFuc21ldGEodG0pIENydXNvZSh0bSkgUHJvY2Vzc29yIFRNNTcwMCAoNzk4 LjEzLU1IeiA1ODYtY2xhc3MgQ1BVKQogIE9yaWdpbiA9ICJHZW51aW5lVE14ODYiICBJZCA9IDB4 NTQzICBGYW1pbHkgPSA1ICBNb2RlbCA9IDQgIFN0ZXBwaW5nID0gMwogIEZlYXR1cmVzPTB4ODQ4 OTNmPEZQVSxWTUUsREUsUFNFLFRTQyxNU1IsQ1g4LFNFUCxDTU9WLFBOLE1NWD4KICBQcm9jZXNz b3IgcmV2aXNpb24gMS41LjAuMgogIENvZGUgTW9ycGhpbmcgU29mdHdhcmUgcmV2aXNpb24gNC41 LjItMTItMTEKICAyMDA0MDYxNCAxNTowMCBvZmZpY2lhbCByZWxlYXNlIDQuNS4yIzEKcmVhbCBt ZW1vcnkgID0gNTM4OTY4MDY0ICg1MTQgTUIpClBoeXNpY2FsIG1lbW9yeSBjaHVuayhzKToKMHgw MDAwMDAwMDAwMDAxMDAwIC0gMHgwMDAwMDAwMDAwMDk5ZmZmLCA2MjY2ODggYnl0ZXMgKDE1MyBw YWdlcykKMHgwMDAwMDAwMDAwMTAwMDAwIC0gMHgwMDAwMDAwMDAwM2ZmZmZmLCAzMTQ1NzI4IGJ5 dGVzICg3NjggcGFnZXMpCjB4MDAwMDAwMDAwMTQyNjAwMCAtIDB4MDAwMDAwMDAxZTZmMWZmZiwg NDg5NDcyMDAwIGJ5dGVzICgxMTk1MDAgcGFnZXMpCmF2YWlsIG1lbW9yeSA9IDQ4OTkyNjY1NiAo NDY3IE1CKQp4ODZiaW9zOiAgIElWVCAweDAwMDAwMC0weDAwMDRmZiBhdCAweGMwMDAwMDAwCng4 NmJpb3M6ICBTU0VHIDB4MDEwMDAwLTB4MDFmZmZmIGF0IDB4YzMzMWMwMDAKeDg2YmlvczogIEVC REEgMHgwOWYwMDAtMHgwOWZmZmYgYXQgMHhjMDA5ZjAwMAp4ODZiaW9zOiAgIFJPTSAweDBhMDAw MC0weDBlZmZmZiBhdCAweGMwMGEwMDAwCmJpb3MzMjogRm91bmQgQklPUzMyIFNlcnZpY2UgRGly ZWN0b3J5IGhlYWRlciBhdCAweGMwMGY5ZGUwCmJpb3MzMjogRW50cnkgPSAweGZhMjYwIChjMDBm YTI2MCkgIFJldiA9IDAgIExlbiA9IDEKcGNpYmlvczogUENJIEJJT1MgZW50cnkgYXQgMHhmMDAw MCsweGEyOTAKcG5wYmlvczogRm91bmQgUG5QIEJJT1MgZGF0YSBhdCAweGMwMGZhY2YwCnBucGJp b3M6IEVudHJ5ID0gZjAwMDA6YWQyMCAgUmV2ID0gMS4wCk90aGVyIEJJT1Mgc2lnbmF0dXJlcyBm b3VuZDoKVUxFOiBzZXR1cCBjcHUgMAp3bGFuOiA8ODAyLjExIExpbmsgTGF5ZXI+Cm51bGw6IDxu dWxsIGRldmljZSwgemVybyBkZXZpY2U+CnJhbmRvbTogPGVudHJvcHkgc291cmNlLCBTb2Z0d2Fy ZSwgWWFycm93PgpuZnNsb2NrOiBwc2V1ZG8tZGV2aWNlCmlvOiA8SS9PPgprYmQ6IG5ldyBhcnJh eSBzaXplIDQKa2JkMSBhdCBrYmRtdXgwCm1lbTogPG1lbW9yeT4KaHB0cnI6IFJvY2tldFJBSUQg MTd4eC8yeHh4IFNBVEEgY29udHJvbGxlciBkcml2ZXIgdjEuMgpBQ1BJOiBSU0RQIDB4ZjY2MjAg MDAwMTQgKHYwMCBJLUJBU0UpCkFDUEk6IFJTRFQgMHgxZWZmMzAwMCAwMDAyOCAodjAxIEktQkFT RSBBV1JEQUNQSSA0MjMwMkUzMSBBV1JEIDAwMDAwMDAwKQpBQ1BJOiBGQUNQIDB4MWVmZjMwNDAg MDAwNzQgKHYwMSBJLUJBU0UgQVdSREFDUEkgNDIzMDJFMzEgQVdSRCAwMDAwMDAwMCkKQUNQSTog RFNEVCAweDFlZmYzMGMwIDAxQzE2ICh2MDEgSS1CQVNFIEFXUkRBQ1BJIDAwMDAxMDAwIE1TRlQg MDEwMDAwMEMpCkFDUEk6IEZBQ1MgMHgxZWZmMDAwMCAwMDA0MApucHgwOiBJTlQgMTYgaW50ZXJm YWNlCmFjcGkwOiA8SS1CQVNFIEFXUkRBQ1BJPiBvbiBtb3RoZXJib2FyZAphY3BpMDogW01QU0FG RV0KYWNwaTA6IFtJVEhSRUFEXQphY3BpMDogUG93ZXIgQnV0dG9uIChmaXhlZCkKYWNwaTA6IFNs ZWVwIEJ1dHRvbiAoZml4ZWQpCmFjcGkwOiB3YWtldXAgY29kZSB2YSAweGMzMTU5MDAwIHBhIDB4 MTAwMApwY2lfb3BlbigxKToJbW9kZSAxIGFkZHIgcG9ydCAoMHgwY2Y4KSBpcyAweDgwMDAwMDU4 CnBjaV9vcGVuKDFhKToJbW9kZTFyZXM9MHg4MDAwMDAwMCAoMHg4MDAwMDAwMCkKcGNpX2NmZ2No ZWNrOglkZXZpY2UgMCBbY2xhc3M9MDYwMDAwXSBbaGRyPTgwXSBpcyB0aGVyZSAoaWQ9MDM5NTEy NzkpCnBjaWJpb3M6IEJJT1MgdmVyc2lvbiAyLjEwCmFjcGlfYnVzX251bWJlcjogcm9vdCBidXMg aGFzIG5vIF9CQk4sIGFzc3VtaW5nIDAKQWNwaU9zRGVyaXZlUGNpSWQ6IFxcX1NCXy5QQ0kwLlZU ODYuU0I3MCAtPiBidXMgMCBkZXYgMTcgZnVuYyAwCmFjcGlfYnVzX251bWJlcjogcm9vdCBidXMg aGFzIG5vIF9CQk4sIGFzc3VtaW5nIDAKQWNwaU9zRGVyaXZlUGNpSWQ6IFxcX1NCXy5QQ0kwLlZU ODYuUElSUSAtPiBidXMgMCBkZXYgMTcgZnVuYyAwCmFjcGkwOiByZXNlcnZhdGlvbiBvZiAwLCBh MDAwMCAoMykgZmFpbGVkCmFjcGkwOiByZXNlcnZhdGlvbiBvZiAxMDAwMDAsIDFlZWYwMDAwICgz KSBmYWlsZWQKQUNQSSB0aW1lcjogMC8xMDU0IDAvNiAwLzYgMC82IDAvNyAwLzggMC82IDAvOCAw LzYgMC81IC0+IDAKVGltZWNvdW50ZXIgIkFDUEktc2FmZSIgZnJlcXVlbmN5IDM1Nzk1NDUgSHog cXVhbGl0eSA4NTAKYWNwaV90aW1lcjA6IDwyNC1iaXQgdGltZXIgYXQgMy41Nzk1NDVNSHo+IHBv cnQgMHg0MDA4LTB4NDAwYiBvbiBhY3BpMApjcHUwOiA8QUNQSSBDUFU+IG9uIGFjcGkwCmNwdTA6 IHN3aXRjaGluZyB0byBnZW5lcmljIEN4IG1vZGUKcGNpX2xpbmswOiAgICAgICAgSW5kZXggIElS USAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAxNSAgIE4gICAgIDAg IDEgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAgMTUg ICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMSAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAg ICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbmsx OiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAg IDAgICAgNSAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CiAgVmFsaWRhdGlv biAgICAgICAgICAwICAgIDUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMSAxMiAxNCAxNQog IEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTEg MTIgMTQgMTUKcGNpX2xpbmsyOiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJ bml0aWFsIFByb2JlICAgICAgIDAgICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDEwIDExIDEy IDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAgMTAgICBOICAgICAwICAxIDMgNCA1IDYg NyAxMCAxMSAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAg MSAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbmszOiAgICAgICAgSW5kZXggIElSUSAg UnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAxMSAgIE4gICAgIDAgIDEg MyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAgMTEgICBO ICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMSAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAg MCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKYWNwaV9idXR0b24w OiA8UG93ZXIgQnV0dG9uPiBvbiBhY3BpMApwY2liMDogPEFDUEkgSG9zdC1QQ0kgYnJpZGdlPiBw b3J0IDB4Y2Y4LTB4Y2ZmLDB4NDAwMC0weDQwN2YsMHg0MDgwLTB4NDBmZiwweDUwMDAtMHg1MDBm IG9uIGFjcGkwCkFDUEk6IEZvdW5kIG1hdGNoaW5nIHBpbiBmb3IgMC4xMy5JTlRBIGF0IGZ1bmMg MDogMTEKQUNQSTogRm91bmQgbWF0Y2hpbmcgcGluIGZvciAwLjkuSU5UQSBhdCBmdW5jIDA6IDE1 CkFDUEk6IEZvdW5kIG1hdGNoaW5nIHBpbiBmb3IgMC45LklOVEIgYXQgZnVuYyAxOiA1CkFDUEk6 IEZvdW5kIG1hdGNoaW5nIHBpbiBmb3IgMC45LklOVEMgYXQgZnVuYyAyOiAxMApBQ1BJOiBGb3Vu ZCBtYXRjaGluZyBwaW4gZm9yIDAuMTguSU5UQSBhdCBmdW5jIDA6IDE1CnBjaTA6IDxBQ1BJIFBD SSBidXM+IG9uIHBjaWIwCnBjaTA6IGRvbWFpbj0wLCBwaHlzaWNhbCBidXM9MApmb3VuZC0+CXZl bmRvcj0weDEyNzksIGRldj0weDAzOTUsIHJldmlkPTB4MDQKCWRvbWFpbj0wLCBidXM9MCwgc2xv dD0wLCBmdW5jPTAKCWNsYXNzPTA2LTAwLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJl Zz0weDAwMDYsIHN0YXRyZWc9MHgyMjAwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9 MHgyMCAoOTYwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBucykKCW1h cFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSAzMiwgYmFzZSAweGU4MDAwMDAwLCBzaXplIDIwLCBl bmFibGVkCmZvdW5kLT4JdmVuZG9yPTB4MTI3OSwgZGV2PTB4MDM5NiwgcmV2aWQ9MHgwMAoJZG9t YWluPTAsIGJ1cz0wLCBzbG90PTAsIGZ1bmM9MQoJY2xhc3M9MDUtMDAtMDAsIGhkcnR5cGU9MHgw MCwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMDAsIGNhY2hlbG5zej0wIChk d29yZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9 MHgwMCAoMCBucykKZm91bmQtPgl2ZW5kb3I9MHgxMjc5LCBkZXY9MHgwMzk3LCByZXZpZD0weDAw Cglkb21haW49MCwgYnVzPTAsIHNsb3Q9MCwgZnVuYz0yCgljbGFzcz0wNS0wMC0wMCwgaGRydHlw ZT0weDAwLCBtZmRldj0xCgljbWRyZWc9MHgwMDAwLCBzdGF0cmVnPTB4MDAwMCwgY2FjaGVsbnN6 PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1h eGxhdD0weDAwICgwIG5zKQpmb3VuZC0+CXZlbmRvcj0weDEyNzksIGRldj0weDAzOTksIHJldmlk PTB4MDAKCWRvbWFpbj0wLCBidXM9MCwgc2xvdD0wLCBmdW5jPTMKCWNsYXNzPTA1LTAwLTAwLCBo ZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwMDAsIHN0YXRyZWc9MHgwMDAwLCBjYWNo ZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5z KSwgbWF4bGF0PTB4MDAgKDAgbnMpCmZvdW5kLT4JdmVuZG9yPTB4MTEwNiwgZGV2PTB4MzAzOCwg cmV2aWQ9MHg2MQoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTksIGZ1bmM9MAoJY2xhc3M9MGMtMDMt MDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MQoJY21kcmVnPTB4MDE0Nywgc3RhdHJlZz0weDAyMTAs IGNhY2hlbG5zej04IChkd29yZHMpCglsYXR0aW1lcj0weDIwICg5NjAgbnMpLCBtaW5nbnQ9MHgw MCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEsIGlycT0xNQoJcG93ZXJzcGVj IDIgIHN1cHBvcnRzIEQwIEQxIEQyIEQzICBjdXJyZW50IEQwCgltYXBbMjBdOiB0eXBlIEkvTyBQ b3J0LCByYW5nZSAzMiwgYmFzZSAweGUwMDAsIHNpemUgIDUsIGVuYWJsZWQKcGNpYjA6IG1hdGNo ZWQgZW50cnkgZm9yIDAuOS5JTlRBIChzcmMgXFxfU0JfLlBDSTAuTE5LQTowKQpwY2liMDogc2xv dCA5IElOVEEgcm91dGVkIHRvIGlycSAxNSB2aWEgXFxfU0JfLlBDSTAuTE5LQQp1bmtub3duOiBS ZXNlcnZlZCAweDIwIGJ5dGVzIGZvciByaWQgMHgyMCB0eXBlIDQgYXQgMHhlMDAwCmZvdW5kLT4J dmVuZG9yPTB4MTEwNiwgZGV2PTB4MzAzOCwgcmV2aWQ9MHg2MQoJZG9tYWluPTAsIGJ1cz0wLCBz bG90PTksIGZ1bmM9MQoJY2xhc3M9MGMtMDMtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MQoJY21k cmVnPTB4MDE0Nywgc3RhdHJlZz0weDAyMTAsIGNhY2hlbG5zej04IChkd29yZHMpCglsYXR0aW1l cj0weDIwICg5NjAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJ aW50cGluPWIsIGlycT01Cglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAgRDEgRDIgRDMgIGN1cnJl bnQgRDAKCW1hcFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4ZTEwMCwgc2l6 ZSAgNSwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC45LklOVEIgKHNyYyBcXF9T Ql8uUENJMC5MTktCOjApCnBjaWIwOiBzbG90IDkgSU5UQiByb3V0ZWQgdG8gaXJxIDUgdmlhIFxc X1NCXy5QQ0kwLkxOS0IKdW5rbm93bjogUmVzZXJ2ZWQgMHgyMCBieXRlcyBmb3IgcmlkIDB4MjAg dHlwZSA0IGF0IDB4ZTEwMApmb3VuZC0+CXZlbmRvcj0weDExMDYsIGRldj0weDMxMDQsIHJldmlk PTB4NjMKCWRvbWFpbj0wLCBidXM9MCwgc2xvdD05LCBmdW5jPTIKCWNsYXNzPTBjLTAzLTIwLCBo ZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAxNDcsIHN0YXRyZWc9MHgwMjEwLCBjYWNo ZWxuc3o9OCAoZHdvcmRzKQoJbGF0dGltZXI9MHgyMCAoOTYwIG5zKSwgbWluZ250PTB4MDAgKDAg bnMpLCBtYXhsYXQ9MHgwMCAoMCBucykKCWludHBpbj1jLCBpcnE9MTAKCXBvd2Vyc3BlYyAyICBz dXBwb3J0cyBEMCBEMSBEMiBEMyAgY3VycmVudCBEMAoJbWFwWzEwXTogdHlwZSBNZW1vcnksIHJh bmdlIDMyLCBiYXNlIDB4ZTgxMzEwMDAsIHNpemUgIDgsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQg ZW50cnkgZm9yIDAuOS5JTlRDIChzcmMgXFxfU0JfLlBDSTAuTE5LQzowKQpwY2liMDogc2xvdCA5 IElOVEMgcm91dGVkIHRvIGlycSAxMCB2aWEgXFxfU0JfLlBDSTAuTE5LQwp1bmtub3duOiBSZXNl cnZlZCAweDEwMCBieXRlcyBmb3IgcmlkIDB4MTAgdHlwZSAzIGF0IDB4ZTgxMzEwMDAKZm91bmQt Pgl2ZW5kb3I9MHgxMDAyLCBkZXY9MHg1MTU5LCByZXZpZD0weDAwCglkb21haW49MCwgYnVzPTAs IHNsb3Q9MTMsIGZ1bmM9MAoJY2xhc3M9MDMtMDAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJ Y21kcmVnPTB4MDE4Nywgc3RhdHJlZz0weDAyOTAsIGNhY2hlbG5zej04IChkd29yZHMpCglsYXR0 aW1lcj0weDIwICg5NjAgbnMpLCBtaW5nbnQ9MHgwOCAoMjAwMCBucyksIG1heGxhdD0weDAwICgw IG5zKQoJaW50cGluPWEsIGlycT0xMQoJcG93ZXJzcGVjIDIgIHN1cHBvcnRzIEQwIEQxIEQyIEQz ICBjdXJyZW50IEQwCgltYXBbMTBdOiB0eXBlIFByZWZldGNoYWJsZSBNZW1vcnksIHJhbmdlIDMy LCBiYXNlIDB4ZTAwMDAwMDAsIHNpemUgMjcsIGVuYWJsZWQKCW1hcFsxNF06IHR5cGUgSS9PIFBv cnQsIHJhbmdlIDMyLCBiYXNlIDB4ZTIwMCwgc2l6ZSAgOCwgZW5hYmxlZAoJbWFwWzE4XTogdHlw ZSBNZW1vcnksIHJhbmdlIDMyLCBiYXNlIDB4ZTgxMjAwMDAsIHNpemUgMTYsIGVuYWJsZWQKcGNp YjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMTMuSU5UQSAoc3JjIFxcX1NCXy5QQ0kwLkxOS0Q6MCkK cGNpYjA6IHNsb3QgMTMgSU5UQSByb3V0ZWQgdG8gaXJxIDExIHZpYSBcXF9TQl8uUENJMC5MTktE CmZvdW5kLT4JdmVuZG9yPTB4MTEwNiwgZGV2PTB4ODIzMSwgcmV2aWQ9MHgxMAoJZG9tYWluPTAs IGJ1cz0wLCBzbG90PTE3LCBmdW5jPTAKCWNsYXNzPTA2LTAxLTAwLCBoZHJ0eXBlPTB4MDAsIG1m ZGV2PTEKCWNtZHJlZz0weDAwODcsIHN0YXRyZWc9MHgwMjEwLCBjYWNoZWxuc3o9MCAoZHdvcmRz KQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAg KDAgbnMpCglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKZm91bmQtPgl2 ZW5kb3I9MHgxMTA2LCBkZXY9MHgwNTcxLCByZXZpZD0weDA2Cglkb21haW49MCwgYnVzPTAsIHNs b3Q9MTcsIGZ1bmM9MQoJY2xhc3M9MDEtMDEtOGEsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21k cmVnPTB4MDAwNywgc3RhdHJlZz0weDAyOTAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1l cj0weDIwICg5NjAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJ cG93ZXJzcGVjIDIgIHN1cHBvcnRzIEQwIEQzICBjdXJyZW50IEQwCgltYXBbMjBdOiB0eXBlIEkv TyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweGUzMDAsIHNpemUgIDQsIGVuYWJsZWQKZm91bmQtPgl2 ZW5kb3I9MHgxMTA2LCBkZXY9MHg4MjM1LCByZXZpZD0weDEwCglkb21haW49MCwgYnVzPTAsIHNs b3Q9MTcsIGZ1bmM9NAoJY2xhc3M9MDYtODAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21k cmVnPTB4MDAwMCwgc3RhdHJlZz0weDAyOTAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1l cj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBucykKCXBv d2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMyAgY3VycmVudCBEMApmb3VuZC0+CXZlbmRvcj0weDEx MDYsIGRldj0weDMwNjUsIHJldmlkPTB4NTEKCWRvbWFpbj0wLCBidXM9MCwgc2xvdD0xOCwgZnVu Yz0wCgljbGFzcz0wMi0wMC0wMCwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRyZWc9MHgwMTQ3 LCBzdGF0cmVnPTB4MDIxMCwgY2FjaGVsbnN6PTggKGR3b3JkcykKCWxhdHRpbWVyPTB4MjAgKDk2 MCBucyksIG1pbmdudD0weDAzICg3NTAgbnMpLCBtYXhsYXQ9MHgwOCAoMjAwMCBucykKCWludHBp bj1hLCBpcnE9MTUKCXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMSBEMiBEMyAgY3VycmVudCBE MAoJbWFwWzEwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2UgMzIsIGJhc2UgMHhlNjAwLCBzaXplICA4 LCBlbmFibGVkCgltYXBbMTRdOiB0eXBlIE1lbW9yeSwgcmFuZ2UgMzIsIGJhc2UgMHhlODEzMDAw MCwgc2l6ZSAgOCwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4xOC5JTlRBIChz cmMgXFxfU0JfLlBDSTAuTE5LQTowKQpwY2liMDogc2xvdCAxOCBJTlRBIHJvdXRlZCB0byBpcnEg MTUgdmlhIFxcX1NCXy5QQ0kwLkxOS0EKcGNpMDogPG1lbW9yeSwgUkFNPiBhdCBkZXZpY2UgMC4x IChubyBkcml2ZXIgYXR0YWNoZWQpCnBjaTA6IDxtZW1vcnksIFJBTT4gYXQgZGV2aWNlIDAuMiAo bm8gZHJpdmVyIGF0dGFjaGVkKQpwY2kwOiA8bWVtb3J5LCBSQU0+IGF0IGRldmljZSAwLjMgKG5v IGRyaXZlciBhdHRhY2hlZCkKdWhjaTA6IDxWSUEgODNDNTcyIFVTQiBjb250cm9sbGVyPiBwb3J0 IDB4ZTAwMC0weGUwMWYgaXJxIDE1IGF0IGRldmljZSA5LjAgb24gcGNpMAp1aGNpMDogW01QU0FG RV0KdWhjaTA6IFtJVEhSRUFEXQp1c2J1czA6IDxWSUEgODNDNTcyIFVTQiBjb250cm9sbGVyPiBv biB1aGNpMAp1aGNpMTogPFZJQSA4M0M1NzIgVVNCIGNvbnRyb2xsZXI+IHBvcnQgMHhlMTAwLTB4 ZTExZiBpcnEgNSBhdCBkZXZpY2UgOS4xIG9uIHBjaTAKdWhjaTE6IFtNUFNBRkVdCnVoY2kxOiBb SVRIUkVBRF0KdXNidXMxOiA8VklBIDgzQzU3MiBVU0IgY29udHJvbGxlcj4gb24gdWhjaTEKZWhj aTA6IDxWSUEgVlQ2MjAyIFVTQiAyLjAgY29udHJvbGxlcj4gbWVtIDB4ZTgxMzEwMDAtMHhlODEz MTBmZiBpcnEgMTAgYXQgZGV2aWNlIDkuMiBvbiBwY2kwCmVoY2kwOiBbTVBTQUZFXQplaGNpMDog W0lUSFJFQURdCmVoY2kwOiBEcm9wcGVkIGludGVycnVwdHMgd29ya2Fyb3VuZCBlbmFibGVkCnVz YnVzMjogRUhDSSB2ZXJzaW9uIDEuMAp1c2J1czI6IDxWSUEgVlQ2MjAyIFVTQiAyLjAgY29udHJv bGxlcj4gb24gZWhjaTAKdmdhcGNpMDogPFZHQS1jb21wYXRpYmxlIGRpc3BsYXk+IHBvcnQgMHhl MjAwLTB4ZTJmZiBtZW0gMHhlMDAwMDAwMC0weGU3ZmZmZmZmLDB4ZTgxMjAwMDAtMHhlODEyZmZm ZiBpcnEgMTEgYXQgZGV2aWNlIDEzLjAgb24gcGNpMAppc2FiMDogPFBDSS1JU0EgYnJpZGdlPiBh dCBkZXZpY2UgMTcuMCBvbiBwY2kwCmlzYTA6IDxJU0EgYnVzPiBvbiBpc2FiMAphdGFwY2kwOiA8 VklBIDgyMzEgVURNQTEwMCBjb250cm9sbGVyPiBwb3J0IDB4MWYwLTB4MWY3LDB4M2Y2LDB4MTcw LTB4MTc3LDB4Mzc2LDB4ZTMwMC0weGUzMGYgYXQgZGV2aWNlIDE3LjEgb24gcGNpMAphdGFwY2kw OiBSZXNlcnZlZCAweDEwIGJ5dGVzIGZvciByaWQgMHgyMCB0eXBlIDQgYXQgMHhlMzAwCmF0YTA6 IDxBVEEgY2hhbm5lbCAwPiBvbiBhdGFwY2kwCmF0YXBjaTA6IFJlc2VydmVkIDB4OCBieXRlcyBm b3IgcmlkIDB4MTAgdHlwZSA0IGF0IDB4MWYwCmF0YXBjaTA6IFJlc2VydmVkIDB4MSBieXRlcyBm b3IgcmlkIDB4MTQgdHlwZSA0IGF0IDB4M2Y2CmF0YTA6IHJlc2V0IHRwMSBtYXNrPTAzIG9zdGF0 MD01MCBvc3RhdDE9MDAKYXRhMDogc3RhdDA9MHg1MCBlcnI9MHgwMSBsc2I9MHgwMCBtc2I9MHgw MAphdGEwOiBzdGF0MT0weDAwIGVycj0weDAxIGxzYj0weDAwIG1zYj0weDAwCmF0YTA6IHJlc2V0 IHRwMiBzdGF0MD01MCBzdGF0MT0wMCBkZXZpY2VzPTB4MQphdGEwOiBbTVBTQUZFXQphdGEwOiBb SVRIUkVBRF0KYXRhMTogPEFUQSBjaGFubmVsIDE+IG9uIGF0YXBjaTAKYXRhcGNpMDogUmVzZXJ2 ZWQgMHg4IGJ5dGVzIGZvciByaWQgMHgxOCB0eXBlIDQgYXQgMHgxNzAKYXRhcGNpMDogUmVzZXJ2 ZWQgMHgxIGJ5dGVzIGZvciByaWQgMHgxYyB0eXBlIDQgYXQgMHgzNzYKYXRhMTogcmVzZXQgdHAx IG1hc2s9MDAgb3N0YXQwPWZmIG9zdGF0MT1mZgphdGExOiBbTVBTQUZFXQphdGExOiBbSVRIUkVB RF0KcGNpMDogPGJyaWRnZT4gYXQgZGV2aWNlIDE3LjQgKG5vIGRyaXZlciBhdHRhY2hlZCkKdnIw OiA8VklBIFZUNjEwMiBSaGluZSBJSSAxMC8xMDBCYXNlVFg+IHBvcnQgMHhlNjAwLTB4ZTZmZiBt ZW0gMHhlODEzMDAwMC0weGU4MTMwMGZmIGlycSAxNSBhdCBkZXZpY2UgMTguMCBvbiBwY2kwCnZy MDogUXVpcmtzOiAweDAKdnIwOiBSZXZpc2lvbjogMHg1MQp2cjA6IFJlc2VydmVkIDB4MTAwIGJ5 dGVzIGZvciByaWQgMHgxMCB0eXBlIDQgYXQgMHhlNjAwCm1paWJ1czA6IDxNSUkgYnVzPiBvbiB2 cjAKdWtwaHkwOiA8R2VuZXJpYyBJRUVFIDgwMi4zdSBtZWRpYSBpbnRlcmZhY2U+IFBIWSAxIG9u IG1paWJ1czAKdWtwaHkwOiBPVUkgMHgwMDQwNjMsIG1vZGVsIDB4MDAzMiwgcmV2LiAxMAp1a3Bo eTA6ICAxMGJhc2VULCAxMGJhc2VULUZEWCwgMTAwYmFzZVRYLCAxMDBiYXNlVFgtRkRYLCBhdXRv CnZyMDogYnBmIGF0dGFjaGVkCnZyMDogRXRoZXJuZXQgYWRkcmVzczogMDA6MTM6MjE6ZWU6OGQ6 ZDQKdnIwOiBbTVBTQUZFXQp2cjA6IFtJVEhSRUFEXQphdHJ0YzA6IDxBVCByZWFsdGltZSBjbG9j az4gcG9ydCAweDcwLTB4NzMgaXJxIDggb24gYWNwaTAKYXRydGMwOiByZWdpc3RlcmVkIGFzIGEg dGltZS1vZi1kYXkgY2xvY2sgKHJlc29sdXRpb24gMTAwMDAwMHVzKQpwcGMwOiB1c2luZyBleHRl bmRlZCBJL08gcG9ydCByYW5nZQpwcGMwOiBTUFAgRVBQCnBwYzA6IDxQYXJhbGxlbCBwb3J0PiBw b3J0IDB4Mzc4LTB4MzdmIGlycSA3IG9uIGFjcGkwCnBwYzA6IEdlbmVyaWMgY2hpcHNldCAoRVBQ L05JQkJMRSkgaW4gQ09NUEFUSUJMRSBtb2RlCnBwYzA6IFtNUFNBRkVdCnBwYzA6IFtJVEhSRUFE XQpwcGJ1czA6IDxQYXJhbGxlbCBwb3J0IGJ1cz4gb24gcHBjMApwbGlwMDogPFBMSVAgbmV0d29y ayBpbnRlcmZhY2U+IG9uIHBwYnVzMApwbGlwMDogYnBmIGF0dGFjaGVkCnBsaXAwOiBbTVBTQUZF XQpwbGlwMDogW0lUSFJFQURdCmxwdDA6IDxQcmludGVyPiBvbiBwcGJ1czAKbHB0MDogW01QU0FG RV0KbHB0MDogW0lUSFJFQURdCmxwdDA6IEludGVycnVwdC1kcml2ZW4gcG9ydApwcGkwOiA8UGFy YWxsZWwgSS9PPiBvbiBwcGJ1czAKYXRrYmRjMDogPEtleWJvYXJkIGNvbnRyb2xsZXIgKGk4MDQy KT4gcG9ydCAweDYwLDB4NjQgaXJxIDEgb24gYWNwaTAKYXRrYmQwOiA8QVQgS2V5Ym9hcmQ+IGly cSAxIG9uIGF0a2JkYzAKYXRrYmQ6IHRoZSBjdXJyZW50IGtiZCBjb250cm9sbGVyIGNvbW1hbmQg Ynl0ZSAwMDQ3CmF0a2JkOiBrZXlib2FyZCBJRCAweDQxYWIgKDIpCmtiZDAgYXQgYXRrYmQwCmti ZDA6IGF0a2JkMCwgQVQgMTAxLzEwMiAoMiksIGNvbmZpZzoweDAsIGZsYWdzOjB4M2QwMDAwCmF0 a2JkMDogW0dJQU5ULUxPQ0tFRF0KYXRrYmQwOiBbSVRIUkVBRF0KcHNtMDogdW5hYmxlIHRvIGFs bG9jYXRlIElSUQp1bmtub3duOiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVua25vd246IHN0 YXR1cyByZWcgdGVzdCBmYWlsZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBm Zgp1bmtub3duOiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVua25vd246IHN0YXR1cyByZWcg dGVzdCBmYWlsZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBmZgpleF9pc2Ff aWRlbnRpZnkoKQpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMjAzCnBucF9pZGVu dGlmeTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAyNDMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Q b3J0IGF0IDI4MwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMmMzCnBucF9pZGVu dGlmeTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAzMDMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Q b3J0IGF0IDM0MwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMzgzCnBucF9pZGVu dGlmeTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAzYzMKUE5QIElkZW50aWZ5IGNvbXBsZXRlCmlzYV9w cm9iZV9jaGlsZHJlbjogZGlzYWJsaW5nIFBuUCBkZXZpY2VzCnBtdGltZXIwIG9uIGlzYTAKaXNh X3Byb2JlX2NoaWxkcmVuOiBwcm9iaW5nIG5vbi1QblAgZGV2aWNlcwpvcm0wOiA8SVNBIE9wdGlv biBST01zPiBhdCBpb21lbSAweGMwMDAwLTB4YzhmZmYsMHhjYzAwMC0weGQ1ZmZmIHBucGlkIE9S TTAwMDAgb24gaXNhMApzYzA6IDxTeXN0ZW0gY29uc29sZT4gb24gaXNhMApzYzA6IFZHQSA8MTYg dmlydHVhbCBjb25zb2xlcywgZmxhZ3M9MHgzMDA+CnNjMDogZmIwLCBrYmQxLCB0ZXJtaW5hbCBl bXVsYXRvcjogc2N0ZWtlbiAodGVrZW4gdGVybWluYWwpCnZnYTA6IDxHZW5lcmljIElTQSBWR0E+ IGF0IHBvcnQgMHgzYzAtMHgzZGYgaW9tZW0gMHhhMDAwMC0weGJmZmZmIG9uIGlzYTAKaXNhX3By b2JlX2NoaWxkcmVuOiBwcm9iaW5nIFBuUCBkZXZpY2VzCmFjcGlfdGhyb3R0bGUwOiA8QUNQSSBD UFUgVGhyb3R0bGluZz4gb24gY3B1MAphY3BpX3Rocm90dGxlMDogUF9DTlQgZnJvbSBQX0JMSyAw eDQwMTAKRGV2aWNlIGNvbmZpZ3VyYXRpb24gZmluaXNoZWQuCnByb2NmcyByZWdpc3RlcmVkClRp bWVjb3VudGVyICJUU0MiIGZyZXF1ZW5jeSA3OTgxMzAwOTYgSHogcXVhbGl0eSA4MDAKVGltZWNv dW50ZXJzIHRpY2sgZXZlcnkgMS4wMDAgbXNlYwp2bGFuOiBpbml0aWFsaXplZCwgdXNpbmcgaGFz aCB0YWJsZXMgd2l0aCBjaGFpbmluZwpsbzA6IGJwZiBhdHRhY2hlZApwZnN5bmMwOiBicGYgYXR0 YWNoZWQKcGZsb2cwOiBicGYgYXR0YWNoZWQKaHB0cnI6IG5vIGNvbnRyb2xsZXIgZGV0ZWN0ZWQu CmF0YTA6IElkZW50aWZ5aW5nIGRldmljZXM6IDAwMDAwMDAxCmF0YTA6IE5ldyBkZXZpY2VzOiAw MDAwMDAwMQp1c2J1czA6IDEyTWJwcyBGdWxsIFNwZWVkIFVTQiB2MS4wCnVzYnVzMTogMTJNYnBz IEZ1bGwgU3BlZWQgVVNCIHYxLjAKdXNidXMyOiA0ODBNYnBzIEhpZ2ggU3BlZWQgVVNCIHYyLjAK YXRhMC1tYXN0ZXI6IHBpbz1QSU80IHdkbWE9V0RNQTIgdWRtYT1VRE1BMzMgY2FibGU9NDAgd2ly ZQp1Z2VuMC4xOiA8VklBPiBhdCB1c2J1czAKdWh1YjA6IDxWSUEgVUhDSSByb290IEhVQiwgY2xh c3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDE+IG9uIHVzYnVzMAp1Z2VuMS4xOiA8VklBPiBh dCB1c2J1czEKdWh1YjE6IDxWSUEgVUhDSSByb290IEhVQiwgY2xhc3MgOS8wLCByZXYgMS4wMC8x LjAwLCBhZGRyIDE+IG9uIHVzYnVzMQp1Z2VuMi4xOiA8VklBPiBhdCB1c2J1czIKdWh1YjI6IDxW SUEgRUhDSSByb290IEhVQiwgY2xhc3MgOS8wLCByZXYgMi4wMC8xLjAwLCBhZGRyIDE+IG9uIHVz YnVzMgphZDA6IHNldHRpbmcgVURNQTMzCmFkMDogNTg1OU1CIDxITVMzNjA2MDZENUNGMDAgRFA2 QUMzMEg+IGF0IGF0YTAtbWFzdGVyIFVETUEzMyAKYWQwOiAxMjAwMDU1NiBzZWN0b3JzIFsxMTkw NUMvMTZILzYzU10gMTYgc2VjdG9ycy9pbnRlcnJ1cHQgMSBkZXB0aCBxdWV1ZQpHRU9NOiBuZXcg ZGlzayBhZDAKYWQwOiBWSUEgY2hlY2sxIGZhaWxlZAphZDA6IEFkYXB0ZWMgY2hlY2sxIGZhaWxl ZAphZDA6IExTSSAodjMpIGNoZWNrMSBmYWlsZWQKYWQwOiBMU0kgKHYyKSBjaGVjazEgZmFpbGVk CnVodWIwOiAyIHBvcnRzIHdpdGggMiByZW1vdmFibGUsIHNlbGYgcG93ZXJlZAp1aHViMTogMiBw b3J0cyB3aXRoIDIgcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKYWQwOiBGcmVlQlNEIGNoZWNrMSBm YWlsZWQKYXRhMTogSWRlbnRpZnlpbmcgZGV2aWNlczogMDAwMDAwMDAKYXRhMTogTmV3IGRldmlj ZXM6IDAwMDAwMDAwCkFUQSBQc2V1ZG9SQUlEIGxvYWRlZAp1aHViMjogNCBwb3J0cyB3aXRoIDQg cmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKUm9vdCBtb3VudCB3YWl0aW5nIGZvcjogdXNidXMyCnVn ZW4yLjI6IDx2ZW5kb3IgMHgwNTBkPiBhdCB1c2J1czIKYXhlMDogPHZlbmRvciAweDA1MGQgcHJv ZHVjdCAweDUwNTUsIHJldiAyLjAwLzAuMDEsIGFkZHIgMj4gb24gdXNidXMyCmF4ZTA6IFBIWUFE RFIgMHhlMDoweDAxClRyeWluZyB0byBtb3VudCByb290IGZyb20gdWZzOi9kZXYvYWQwczNhCmN0 X3RvX3RzKFsyMDEwLTExLTE5IDE5OjU4OjA2XSkgPSAxMjkwMTk2Njg2LjAwMDAwMDAwMApzdGFy dF9pbml0OiB0cnlpbmcgL3NiaW4vaW5pdAptaWlidXMxOiA8TUlJIGJ1cz4gb24gYXhlMAp0cnVl cGh5MDogPEVUMTAxMSAxMC8xMDAvMTAwMGJhc2VUIFBIWT4gUEhZIDEgb24gbWlpYnVzMQp0cnVl cGh5MDogIDEwYmFzZVQsIDEwYmFzZVQtRkRYLCAxMDBiYXNlVFgsIDEwMGJhc2VUWC1GRFgsIDEw MDBiYXNlVC1GRFgsIGF1dG8KdWUwOiA8VVNCIEV0aGVybmV0PiBvbiBheGUwCnVlMDogYnBmIGF0 dGFjaGVkCnVlMDogRXRoZXJuZXQgYWRkcmVzczogMDA6MTE6NTA6ZTc6Mzk6ZTkKYnJpZGdlMDog YnBmIGF0dGFjaGVkCmJyaWRnZTA6IEV0aGVybmV0IGFkZHJlc3M6IGRlOmQ1OjM3OjhmOjNmOmMy CnNwbGFzaDogaW1hZ2UgZGVjb2RlciBmb3VuZDogZ3JlZW5fc2F2ZXIKdWUwOiBsaW5rIHN0YXRl IGNoYW5nZWQgdG8gRE9XTgp1ZTA6IGxpbmsgc3RhdGUgY2hhbmdlZCB0byBVUAp1ZTA6IGxpbmsg c3RhdGUgY2hhbmdlZCB0byBET1dOCnVlMDogbGluayBzdGF0ZSBjaGFuZ2VkIHRvIFVQCnVlMDog bGluayBzdGF0ZSBjaGFuZ2VkIHRvIERPV04KdWUwOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gVVAK dWUwOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gRE9XTgp1ZTA6IGxpbmsgc3RhdGUgY2hhbmdlZCB0 byBVUAp1ZTA6IGxpbmsgc3RhdGUgY2hhbmdlZCB0byBET1dOCnVlMDogbGluayBzdGF0ZSBjaGFu Z2VkIHRvIFVQCnVlMDogbGluayBzdGF0ZSBjaGFuZ2VkIHRvIERPV04KdWUwOiBsaW5rIHN0YXRl IGNoYW5nZWQgdG8gVVAKdWUwOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gRE9XTgp1ZTA6IGxpbmsg c3RhdGUgY2hhbmdlZCB0byBVUAp1ZTA6IGxpbmsgc3RhdGUgY2hhbmdlZCB0byBET1dOCnVlMDog bGluayBzdGF0ZSBjaGFuZ2VkIHRvIFVQCnVlMDogbGluayBzdGF0ZSBjaGFuZ2VkIHRvIERPV04K dWUwOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gVVAK ------=_20101119182350_44597--