From owner-freebsd-acpi@FreeBSD.ORG Sun Nov 20 07:59:07 2005 Return-Path: X-Original-To: acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0FB9616A41F; Sun, 20 Nov 2005 07:59:07 +0000 (GMT) (envelope-from grog@lemis.com) Received: from ext-gw.lemis.com (ext-gw.lemis.com [150.101.14.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6E2E843D45; Sun, 20 Nov 2005 07:59:06 +0000 (GMT) (envelope-from grog@lemis.com) Received: from wantadilla.lemis.com (wantadilla.lemis.com [192.109.197.135]) by ext-gw.lemis.com (Postfix) with ESMTP id 3D56C131BD6; Sun, 20 Nov 2005 18:29:04 +1030 (CST) Received: from eucla.lemis.com (wantadilla.lemis.com [192.109.197.135]) by wantadilla.lemis.com (Postfix) with ESMTP id A496584AC7; Sun, 20 Nov 2005 18:29:03 +1030 (CST) Received: by eucla.lemis.com (Postfix, from userid 1004) id 9EF1786C9F; Sun, 20 Nov 2005 08:59:05 +0100 (CET) Date: Sun, 20 Nov 2005 08:59:05 +0100 From: Greg 'groggy' Lehey To: Stephen Montgomery-Smith Message-ID: <20051120075905.GB856@eucla.lemis.com> References: <437FEF5F.5070602@math.missouri.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <437FEF5F.5070602@math.missouri.edu> User-Agent: Mutt/1.4.2.1i Organization: The FreeBSD Project Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.FreeBSD.org/ X-PGP-Fingerprint: 9A1B 8202 BCCE B846 F92F 09AC 22E6 F290 507A 4223 Cc: acpi@FreeBSD.org, freebsd-stable@freebsd.org Subject: ACPI problems with Dell laptops? (was: Jerky keyboard and mouse) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Nov 2005 07:59:07 -0000 On Saturday, 19 November 2005 at 21:37:03 -0600, Stephen Montgomery-Smith wrote: > I recently upgraded from stable-6 of Nov 4 to stable-6 of today on > my Dell Latitude D800 Laptop, and suddenly the response of the > touchpad mouse and keyboard was bery bad. Heh. I saw the subject line and thought "I wonder if this is a Dell laptop". > In particular, when I type about 1 in 10 key presses simply do not > register. This, however, is a order of magnitude worse than what I have experienced with my Inspiron 6100. > I ended up going back to the Nov 4 stable-6, which fixed the > problem. Well, it worked around it. > Any ideas? I am happy to provide any details you may need. I'd guess that this is another ACPI issue like the one I reported a couple of weeks back. In my case, it was slow, but I didn't lose any keystrokes. What happens when you ping another system? I found that the ping time was normal (in the order of 1 µs), but it repeated only every 3 seconds. When I unloaded ACPI, things worked normally. I'm following this up to the ACPI list with a reminder that my message has been there for 2 weeks. How do I localize the problem? Greg -- See complete headers for address and phone numbers From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 21 11:02:24 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 733E216A41F for ; Mon, 21 Nov 2005 11:02:24 +0000 (GMT) (envelope-from owner-bugmaster@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3FFF643D45 for ; Mon, 21 Nov 2005 11:02:24 +0000 (GMT) (envelope-from owner-bugmaster@freebsd.org) Received: from freefall.freebsd.org (peter@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id jALB2OBg089934 for ; Mon, 21 Nov 2005 11:02:24 GMT (envelope-from owner-bugmaster@freebsd.org) Received: (from peter@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id jALB2NUI089928 for freebsd-acpi@freebsd.org; Mon, 21 Nov 2005 11:02:23 GMT (envelope-from owner-bugmaster@freebsd.org) Date: Mon, 21 Nov 2005 11:02:23 GMT Message-Id: <200511211102.jALB2NUI089928@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: peter set sender to owner-bugmaster@freebsd.org using -f From: FreeBSD bugmaster To: freebsd-acpi@FreeBSD.org Cc: Subject: Current problem reports assigned to you X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 11:02:24 -0000 Current FreeBSD problem reports Critical problems Serious problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2003/07/22] i386/54756 acpi ACPI suspend/resume problem on CF-W2 lapt o [2003/08/17] i386/55661 acpi ACPI suspend/resume problem on ARMADA M70 o [2003/08/20] kern/55822 acpi No ACPI power off with SMP kernel o [2003/08/27] kern/56024 acpi ACPI suspend drains battery while in S3 o [2003/09/03] i386/56372 acpi acpi don't work on TYAN tiger100 M/B o [2004/03/09] i386/64002 acpi acpi problem o [2004/05/27] i386/67273 acpi [hang] system hangs with acpi and Xfree o [2004/10/12] i386/72566 acpi ACPI, FreeBSD disables fan on Compaq Arma o [2005/03/21] i386/79080 acpi acpi thermal changes freezes HP nx6110 o [2005/03/21] i386/79081 acpi ACPI suspend/resume not working on HP nx6 o [2005/11/11] kern/88859 acpi ACPI broken on Compaq DL360 11 problems total. Non-critical problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2004/03/17] kern/64365 acpi ACPI problems o [2004/05/28] kern/67309 acpi zzz reboot computer (ACPI S3) o [2004/07/29] i386/69750 acpi Boot without ACPI failed on ASUS L5 o [2004/11/11] i386/73822 acpi [request] add thermal support to ACPI o [2004/11/11] kern/73823 acpi [feature request] acpi / power-on by time o [2004/11/17] kern/74030 acpi Unplugging AC causes battery % to stay lo o [2004/11/21] kern/74215 acpi [request] add ACPI headers to /usr/includ o [2005/05/09] kern/80815 acpi ACPI(pci_link) problem in 5.4-STABLE: TIM 8 problems total. From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 21 18:38:01 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 581F816A41F; Mon, 21 Nov 2005 18:38:01 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85ECB43D72; Mon, 21 Nov 2005 18:37:57 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (ppp-71-139-0-107.dsl.snfc21.pacbell.net [71.139.0.107]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jALIc0De010767 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 21 Nov 2005 10:38:00 -0800 Message-ID: <438213E5.70508@root.org> Date: Mon, 21 Nov 2005 10:37:25 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Hajimu UMEMOTO References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 18:38:01 -0000 Hajimu UMEMOTO wrote: > Hi, > > >>>>>>On Mon, 14 Nov 2005 12:40:36 -0500 >>>>>>Pierre-Luc Drouin said: > > > pldrouin> Yep, smart battery is definately the problem. The performance of my > pldrouin> laptop is back to normal when I remove the xfce4-battery-plugin. > pldrouin> acpiconf -i loop reproduces the problem for me too. So it looks like > pldrouin> there is something wrong in smart battery. > > The cmbat has similar issue on some laptops. So, acpi_cmbat.c uses > cache for retrieval to reduce its influence, and its expiration > time is set by hw.acpi.battery.info_expire. > However, acpi_smbat.c doesn't use cache. So, I made a patch. Since I > don't have a laptop which has smbat, I cannot test it by myself. > Please test it and let me know the result. The patch looks good to me, you should commit please. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 21 18:52:56 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3A40216A41F for ; Mon, 21 Nov 2005 18:52:56 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9DA5643D4C for ; Mon, 21 Nov 2005 18:52:55 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.5b3) with ESMTP id 2373321 for multiple; Mon, 21 Nov 2005 13:53:05 -0500 Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id jALIqqiV070665; Mon, 21 Nov 2005 13:52:52 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-acpi@freebsd.org Date: Mon, 21 Nov 2005 13:53:00 -0500 User-Agent: KMail/1.8.2 References: <200511171725.27877.jhb@freebsd.org> <437D04FC.90707@root.org> <200511171750.52720.jhb@freebsd.org> In-Reply-To: <200511171750.52720.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511211353.01664.jhb@freebsd.org> X-Spam-Status: No, score=-2.8 required=4.2 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 18:52:56 -0000 On Thursday 17 November 2005 05:50 pm, John Baldwin wrote: > On Thursday 17 November 2005 05:32 pm, Nate Lawson wrote: > > John Baldwin wrote: > > > I think I figured out why some people get messages like: > > > > > > pci_linkX: BIOS IRQ 11 for -17777216.6.INTA is invalid > > > > > > I was not reading the bus number from the bridge device correctly (the > > > normal __BUS_ACCESSOR() macros assume that the passed in argument is a > > > child device, but at the time I'm reading the bus there is no child > > > device, so I was passing in the pcib device, the parent of the pcib > > > device probably returned an error, and the bus variable ended up being > > > some random stack garbage). The attached patch (also at URL) should fix > > > it I think. > > > > > > http://www.FreeBSD.org/~jhb/patches/acpi_pci_link.patch > > > > Excellent, patch looks good to me except the printf/panic message could > > be improved. > > I wanna see if it triggers first. So did anyone test this? I can't commit it unless someone tests it. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 21 21:09:14 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9E83F16A441; Mon, 21 Nov 2005 21:09:13 +0000 (GMT) (envelope-from ohartman@mail.uni-mainz.de) Received: from mailgate1.zdv.Uni-Mainz.DE (mailgate1.zdv.Uni-Mainz.DE [134.93.178.129]) by mx1.FreeBSD.org (Postfix) with ESMTP id B73E843D5A; Mon, 21 Nov 2005 21:08:58 +0000 (GMT) (envelope-from ohartman@mail.uni-mainz.de) Received: from [217.185.96.178] (manz-d9b960b2.pool.mediaWays.net [217.185.96.178]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mailgate1.zdv.Uni-Mainz.DE (Postfix) with ESMTP id 9BC0630004DC; Mon, 21 Nov 2005 22:08:46 +0100 (CET) Message-ID: <43823759.3080506@mail.uni-mainz.de> Date: Mon, 21 Nov 2005 22:08:41 +0100 From: "O. Hartmann" User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051106) X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Baldwin References: <200511171725.27877.jhb@freebsd.org> <437D04FC.90707@root.org> <200511171750.52720.jhb@freebsd.org> <200511211353.01664.jhb@freebsd.org> In-Reply-To: <200511211353.01664.jhb@freebsd.org> Content-Type: multipart/mixed; boundary="------------050505000108090305000607" X-Virus-Scanned: by amavisd-new at uni-mainz.de X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-acpi@freebsd.org Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 21:09:14 -0000 This is a multi-part message in MIME format. --------------050505000108090305000607 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit John Baldwin wrote: >On Thursday 17 November 2005 05:50 pm, John Baldwin wrote: > > >>On Thursday 17 November 2005 05:32 pm, Nate Lawson wrote: >> >> >>>John Baldwin wrote: >>> >>> >>>>I think I figured out why some people get messages like: >>>> >>>>pci_linkX: BIOS IRQ 11 for -17777216.6.INTA is invalid >>>> >>>>I was not reading the bus number from the bridge device correctly (the >>>>normal __BUS_ACCESSOR() macros assume that the passed in argument is a >>>>child device, but at the time I'm reading the bus there is no child >>>>device, so I was passing in the pcib device, the parent of the pcib >>>>device probably returned an error, and the bus variable ended up being >>>>some random stack garbage). The attached patch (also at URL) should fix >>>>it I think. >>>> >>>>http://www.FreeBSD.org/~jhb/patches/acpi_pci_link.patch >>>> >>>> >>>Excellent, patch looks good to me except the printf/panic message could >>>be improved. >>> >>> >>I wanna see if it triggers first. >> >> > >So did anyone test this? I can't commit it unless someone tests it. > > > What to do? Attached you will find two dmesg outputs. dmesg.old is done before the pacth was included, dmesg.new is the one after the patch has been applied. There seems to be a difference when my eyes hit the part where the negative IRQ statemets are, so that seems to be only the half of the way. What next? Hardware: ASUS A8N-SLI Deluxe, OS FreeBSD 6.0-STABLE, most recent cvsupdated this morning 10 o'clock MET. Oliver --------------050505000108090305000607 Content-Type: text/plain; name="dmesg.new" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg.new" Copyright (c) 1992-2005 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 6.0-STABLE #121: Mon Nov 21 19:10:20 UTC 2005 root@thor.schanze.de:/usr/obj/usr/src/sys/THOR WARNING: debug.mpsafenet forced to 0 as ipsec requires Giant WARNING: MPSAFE network stack disabled, expect reduced performance. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Athlon(tm) 64 Processor 3500+ (2211.34-MHz K8-class CPU) Origin = "AuthenticAMD" Id = 0x10ff0 Stepping = 0 Features=0x78bfbff AMD Features=0xe2500800,LM,3DNow+,3DNow> real memory = 2147418112 (2047 MB) avail memory = 2064633856 (1968 MB) ACPI APIC Table: ioapic0 irqs 0-23 on motherboard netsmb_dev: loaded acpi0: on motherboard acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR acpi0: Power Button (fixed) acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR pci_link0: irq 3 on acpi0 pci_link1: on acpi0 pci_link2: irq 5 on acpi0 pci_link3: on acpi0 pci_link4: on acpi0 pci_link5: irq 5 on acpi0 pci_link6: on acpi0 pci_link7: irq 11 on acpi0 pci_link8: irq 3 on acpi0 pci_link9: on acpi0 pci_link10: irq 11 on acpi0 pci_link11: irq 3 on acpi0 pci_link12: on acpi0 pci_link13: irq 11 on acpi0 pci_link14: irq 5 on acpi0 pci_link15: on acpi0 pci_link16: irq 0 on acpi0 pci_link17: irq 0 on acpi0 pci_link18: irq 0 on acpi0 pci_link19: irq 0 on acpi0 pci_link20: irq 16 on acpi0 pci_link21: irq 0 on acpi0 pci_link22: irq 0 on acpi0 pci_link23: irq 0 on acpi0 pci_link24: irq 0 on acpi0 pci_link25: irq 0 on acpi0 pci_link26: irq 0 on acpi0 pci_link27: irq 0 on acpi0 pci_link28: irq 0 on acpi0 pci_link29: irq 0 on acpi0 pci_link30: irq 0 on acpi0 pci_link31: irq 0 on acpi0 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 cpu0: on acpi0 powernow0: on cpu0 acpi_button0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci_link26: BIOS IRQ 11 for 0.1.INTA is invalid pci_link21: BIOS IRQ 5 for 0.2.INTA is invalid pci_link27: BIOS IRQ 3 for 0.2.INTB is invalid pci_link23: BIOS IRQ 11 for 0.10.INTA is invalid pci_link24: BIOS IRQ 3 for 0.4.INTA is invalid pci_link29: BIOS IRQ 11 for 0.7.INTA is invalid pci_link30: BIOS IRQ 5 for 0.8.INTA is invalid pci0: on pcib0 pci0: at device 0.0 (no driver attached) isab0: at device 1.0 on pci0 isa0: on isab0 ichsmb0: port 0xe400-0xe41f,0x4c00-0x4c3f,0x4c40-0x4c7f irq 20 at device 1.1 on pci0 ichsmb0: [GIANT-LOCKED] smbus0: on ichsmb0 smb0: on smbus0 ohci0: mem 0xd8104000-0xd8104fff irq 21 at device 2.0 on pci0 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0, legacy support usb0: on ohci0 usb0: USB revision 1.0 uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 10 ports with 10 removable, self powered ehci0: mem 0xfeb00000-0xfeb000ff irq 22 at device 2.1 on pci0 ehci0: [GIANT-LOCKED] usb1: EHCI version 1.0 usb1: companion controller, 4 ports each: usb0 usb1: on ehci0 usb1: USB revision 2.0 uhub1: nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub1: 10 ports with 10 removable, self powered pcm0: port 0xdc00-0xdcff,0xe000-0xe0ff mem 0xd8103000-0xd8103fff irq 23 at device 4.0 on pci0 pcm0: [GIANT-LOCKED] pcm0: atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf000-0xf00f at device 6.0 on pci0 ata0: on atapci0 ata1: on atapci0 atapci1: port 0x9f0-0x9f7,0xbf0-0xbf3,0x970-0x977,0xb70-0xb73,0xd800-0xd80f mem 0xd8102000-0xd8102fff irq 21 at device 7.0 on pci0 ata2: on atapci1 ata3: on atapci1 atapci2: port 0x9e0-0x9e7,0xbe0-0xbe3,0x960-0x967,0xb60-0xb63,0xc400-0xc40f mem 0xd8101000-0xd8101fff irq 22 at device 8.0 on pci0 ata4: on atapci2 ata5: on atapci2 pcib1: at device 9.0 on pci0 pci_link16: BIOS IRQ 3 for 5.11.INTA is invalid pci5: on pcib1 fwohci0: mem 0xd8004000-0xd80047ff,0xd8000000-0xd8003fff irq 16 at device 11.0 on pci5 fwohci0: [GIANT-LOCKED] fwohci0: OHCI version 1.10 (ROM=1) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:11:d8:00:00:12:53:30 fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 fwohci0: Initiate bus reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) nve0: port 0xb000-0xb007 mem 0xd8100000-0xd8100fff irq 23 at device 10.0 on pci0 nve0: Ethernet address 00:11:d8:92:a3:15 miibus0: on nve0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto nve0: Ethernet address: 00:11:d8:92:a3:15 nve0: [GIANT-LOCKED] pcib2: at device 11.0 on pci0 pci4: on pcib2 pcib3: at device 12.0 on pci0 pci3: on pcib3 pcib4: at device 13.0 on pci0 pci2: on pcib4 pcib5: at device 14.0 on pci0 pci1: on pcib5 pci1: at device 0.0 (no driver attached) acpi_tz0: on acpi0 fdc0: port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FAST] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A ppc0: port 0x378-0x37f,0x778-0x77b irq 7 drq 3 on acpi0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppbus0: on ppc0 lpt0: on ppbus0 lpt0: Interrupt-driven port atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model IntelliMouse, device ID 3 sc0: at flags 0x100 on isa0 sc0: VGA <8 virtual consoles, flags=0x300> sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 fb0 at vga0 Timecounter "TSC" frequency 2211343576 Hz quality 800 Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. acd0: DVDR at ata0-master UDMA33 ad8: 190782MB at ata4-master SATA150 ad10: 194481MB at ata5-master SATA150 ar0: 381564MB status: READY ar0: disk0 READY using ad8 at ata4-master ar0: disk1 READY using ad10 at ata5-master cd0 at ata0 bus 0 target 0 lun 0 cd0: <_NEC DVD_RW ND-3500AG 2.19> Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present GEOM_LABEL: Label for provider ar0s3h is ufs/CRYPTO. GEOM_LABEL: Label for provider ar0s4d is ufs/SCRATCH. Trying to mount root from ufs:/dev/ar0s1a GEOM_LABEL: Label for provider ar0s4d is ufs/SCRATCH. GEOM_LABEL: Label for provider ar0s3h is ufs/CRYPTO. WARNING pid 567 (nasd): ioctl sign-extension ioctl ffffffffc0106924 nve0: device timeout (1) --------------050505000108090305000607 Content-Type: text/plain; name="dmesg.old" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg.old" Copyright (c) 1992-2005 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 6.0-STABLE #120: Mon Nov 21 11:16:51 UTC 2005 root@thor.schanze.de:/usr/obj/usr/src/sys/THOR WARNING: debug.mpsafenet forced to 0 as ipsec requires Giant WARNING: MPSAFE network stack disabled, expect reduced performance. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Athlon(tm) 64 Processor 3500+ (2211.34-MHz K8-class CPU) Origin = "AuthenticAMD" Id = 0x10ff0 Stepping = 0 Features=0x78bfbff AMD Features=0xe2500800,LM,3DNow+,3DNow> real memory = 2147418112 (2047 MB) avail memory = 2064633856 (1968 MB) ACPI APIC Table: ioapic0 irqs 0-23 on motherboard netsmb_dev: loaded acpi0: on motherboard acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR acpi0: Power Button (fixed) acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR pci_link0: irq 3 on acpi0 pci_link1: on acpi0 pci_link2: irq 5 on acpi0 pci_link3: on acpi0 pci_link4: on acpi0 pci_link5: irq 5 on acpi0 pci_link6: on acpi0 pci_link7: irq 11 on acpi0 pci_link8: irq 3 on acpi0 pci_link9: on acpi0 pci_link10: irq 11 on acpi0 pci_link11: irq 3 on acpi0 pci_link12: on acpi0 pci_link13: irq 11 on acpi0 pci_link14: irq 5 on acpi0 pci_link15: on acpi0 pci_link16: irq 0 on acpi0 pci_link17: irq 0 on acpi0 pci_link18: irq 0 on acpi0 pci_link19: irq 0 on acpi0 pci_link20: irq 16 on acpi0 pci_link21: irq 0 on acpi0 pci_link22: irq 0 on acpi0 pci_link23: irq 0 on acpi0 pci_link24: irq 0 on acpi0 pci_link25: irq 0 on acpi0 pci_link26: irq 0 on acpi0 pci_link27: irq 0 on acpi0 pci_link28: irq 0 on acpi0 pci_link29: irq 0 on acpi0 pci_link30: irq 0 on acpi0 pci_link31: irq 0 on acpi0 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 cpu0: on acpi0 powernow0: on cpu0 acpi_button0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci_link26: BIOS IRQ 11 for -2145794824.1.INTA is invalid pci_link21: BIOS IRQ 5 for -2145794824.2.INTA is invalid pci_link27: BIOS IRQ 3 for -2145794824.2.INTB is invalid pci_link23: BIOS IRQ 11 for -2145794824.10.INTA is invalid pci_link24: BIOS IRQ 3 for -2145794824.4.INTA is invalid pci_link29: BIOS IRQ 11 for -2145794824.7.INTA is invalid pci_link30: BIOS IRQ 5 for -2145794824.8.INTA is invalid pci0: on pcib0 pci0: at device 0.0 (no driver attached) isab0: at device 1.0 on pci0 isa0: on isab0 ichsmb0: port 0xe400-0xe41f,0x4c00-0x4c3f,0x4c40-0x4c7f irq 20 at device 1.1 on pci0 ichsmb0: [GIANT-LOCKED] smbus0: on ichsmb0 smb0: on smbus0 ohci0: mem 0xd8104000-0xd8104fff irq 21 at device 2.0 on pci0 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0, legacy support usb0: on ohci0 usb0: USB revision 1.0 uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 10 ports with 10 removable, self powered ehci0: mem 0xfeb00000-0xfeb000ff irq 22 at device 2.1 on pci0 ehci0: [GIANT-LOCKED] usb1: EHCI version 1.0 usb1: companion controller, 4 ports each: usb0 usb1: on ehci0 usb1: USB revision 2.0 uhub1: nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub1: 10 ports with 10 removable, self powered pcm0: port 0xdc00-0xdcff,0xe000-0xe0ff mem 0xd8103000-0xd8103fff irq 23 at device 4.0 on pci0 pcm0: [GIANT-LOCKED] pcm0: atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf000-0xf00f at device 6.0 on pci0 ata0: on atapci0 ata1: on atapci0 atapci1: port 0x9f0-0x9f7,0xbf0-0xbf3,0x970-0x977,0xb70-0xb73,0xd800-0xd80f mem 0xd8102000-0xd8102fff irq 21 at device 7.0 on pci0 ata2: on atapci1 ata3: on atapci1 atapci2: port 0x9e0-0x9e7,0xbe0-0xbe3,0x960-0x967,0xb60-0xb63,0xc400-0xc40f mem 0xd8101000-0xd8101fff irq 22 at device 8.0 on pci0 ata4: on atapci2 ata5: on atapci2 pcib1: at device 9.0 on pci0 pci_link17: BIOS IRQ 21 for 0.7.INTA is invalid pci_link18: BIOS IRQ 22 for 0.8.INTA is invalid pci_link19: BIOS IRQ 23 for 0.10.INTA is invalid pci5: on pcib1 fwohci0: mem 0xd8004000-0xd80047ff,0xd8000000-0xd8003fff irq 16 at device 11.0 on pci5 fwohci0: [GIANT-LOCKED] fwohci0: OHCI version 1.10 (ROM=1) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:11:d8:00:00:12:53:30 fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 fwohci0: Initiate bus reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) nve0: port 0xb000-0xb007 mem 0xd8100000-0xd8100fff irq 23 at device 10.0 on pci0 nve0: Ethernet address 00:11:d8:92:a3:15 miibus0: on nve0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto nve0: Ethernet address: 00:11:d8:92:a3:15 nve0: [GIANT-LOCKED] pcib2: at device 11.0 on pci0 pci4: on pcib2 pcib3: at device 12.0 on pci0 pci3: on pcib3 pcib4: at device 13.0 on pci0 pci2: on pcib4 pcib5: at device 14.0 on pci0 pci1: on pcib5 pci1: at device 0.0 (no driver attached) acpi_tz0: on acpi0 fdc0: port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FAST] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A ppc0: port 0x378-0x37f,0x778-0x77b irq 7 drq 3 on acpi0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppbus0: on ppc0 lpt0: on ppbus0 lpt0: Interrupt-driven port atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model IntelliMouse, device ID 3 sc0: at flags 0x100 on isa0 sc0: VGA <8 virtual consoles, flags=0x300> sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 fb0 at vga0 Timecounter "TSC" frequency 2211343639 Hz quality 800 Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. acd0: DVDR at ata0-master UDMA33 ad8: 190782MB at ata4-master SATA150 ad10: 194481MB at ata5-master SATA150 ar0: 381564MB status: READY ar0: disk0 READY using ad8 at ata4-master ar0: disk1 READY using ad10 at ata5-master cd0 at ata0 bus 0 target 0 lun 0 cd0: <_NEC DVD_RW ND-3500AG 2.19> Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present GEOM_LABEL: Label for provider ar0s3h is ufs/CRYPTO. GEOM_LABEL: Label for provider ar0s4d is ufs/SCRATCH. Trying to mount root from ufs:/dev/ar0s1a GEOM_LABEL: Label for provider ar0s4d is ufs/SCRATCH. GEOM_LABEL: Label for provider ar0s3h is ufs/CRYPTO. WARNING pid 565 (nasd): ioctl sign-extension ioctl ffffffffc0106924 pid 760 (firefox-bin), uid 1001: exited on signal 11 --------------050505000108090305000607-- From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 21 21:19:58 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8BD5C16A423; Mon, 21 Nov 2005 21:19:58 +0000 (GMT) (envelope-from nate@root.org) Received: from Gate5-sandiego.nmci.navy.mil (gate5-sandiego.nmci.navy.mil [138.163.0.37]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B12943D86; Mon, 21 Nov 2005 21:17:05 +0000 (GMT) (envelope-from nate@root.org) Received: from nawesdnims03.nmci.navy.mil by Gate5-sandiego.nmci.navy.mil via smtpd (for mx1.freebsd.org [216.136.204.125]) with ESMTP; Mon, 21 Nov 2005 21:17:05 +0000 Received: (private information removed) Received: (private information removed) Received: (private information removed) Received: from mail pickup service by NAWESDNIEB03.nadsuswe.nads.navy.mil with Microsoft SMTPSVC; Mon, 21 Nov 2005 13:15:17 -0800 Received: from NAWESDNIEG03.nadsuswe.nads.navy.mil ([10.0.10.60]) by NAWESDNIEB03.nadsuswe.nads.navy.mil with Microsoft SMTPSVC(5.0.2195.6713); Mon, 21 Nov 2005 10:39:12 -0800 Received: from nawesdnifw06.nmci.navy.mil ([10.0.0.38]) by NAWESDNIEG03.nadsuswe.nads.navy.mil with Microsoft SMTPSVC(5.0.2195.6713); Mon, 21 Nov 2005 10:39:05 -0800 Received: from Nawesdnims01.nmci.navy.mil by nawesdnifw06.nmci.navy.mil via smtpd (for Insidesmtp.navy.mil [10.0.10.60]) with ESMTP; Mon, 21 Nov 2005 18:39:05 +0000 Received: from nawesdnifw03c.nmci.navy.mil (nawesdnifw03c.nmci.navy.mil [10.0.0.163]) by nawesdnims01.nadsuswe.nads.navy.mil (Switch-2.2.8/Switch-2.2.8) with ESMTP id jALIWDc27546 for ; Mon, 21 Nov 2005 18:32:13 GMT Received: from [138.163.0.138] by nawesdnifw03c.nmci.navy.mil via smtpd (for [10.0.0.166]) with ESMTP; Mon, 21 Nov 2005 18:39:05 +0000 Received: from mx2.freebsd.org (216.136.204.119) by navysdniio02.nmci.navy.mil with ESMTP; 21 Nov 2005 10:15:07 -0800 Received: from hub.freebsd.org (hub.freebsd.org [216.136.204.18]) by mx2.freebsd.org (Postfix) with ESMTP id 9C2E4637EE; Mon, 21 Nov 2005 18:38:36 +0000 (GMT) (envelope-from owner-freebsd-stable@freebsd.org) Received: from hub.freebsd.org (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with ESMTP id 923B116A434; Mon, 21 Nov 2005 18:38:33 +0000 (GMT) (envelope-from owner-freebsd-stable@freebsd.org) X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 581F816A41F; Mon, 21 Nov 2005 18:38:01 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85ECB43D72; Mon, 21 Nov 2005 18:37:57 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (ppp-71-139-0-107.dsl.snfc21.pacbell.net [71.139.0.107]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jALIc0De010767 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 21 Nov 2005 10:38:00 -0800 Message-ID: <438213E5.70508@root.org> Date: Mon, 21 Nov 2005 10:37:25 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Hajimu UMEMOTO References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Sender: owner-freebsd-stable@freebsd.org Errors-To: owner-freebsd-stable@freebsd.org X-OriginalArrivalTime: 21 Nov 2005 18:39:10.0265 (UTC) FILETIME=[DCA6CA90:01C5EECA] Cc: acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday X-BeenThere: freebsd-acpi@freebsd.org List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 21:19:59 -0000 Hajimu UMEMOTO wrote: > Hi, > > >>>>>>On Mon, 14 Nov 2005 12:40:36 -0500 >>>>>>Pierre-Luc Drouin said: > > > pldrouin> Yep, smart battery is definately the problem. The performance of my > pldrouin> laptop is back to normal when I remove the xfce4-battery-plugin. > pldrouin> acpiconf -i loop reproduces the problem for me too. So it looks like > pldrouin> there is something wrong in smart battery. > > The cmbat has similar issue on some laptops. So, acpi_cmbat.c uses > cache for retrieval to reduce its influence, and its expiration > time is set by hw.acpi.battery.info_expire. > However, acpi_smbat.c doesn't use cache. So, I made a patch. Since I > don't have a laptop which has smbat, I cannot test it by myself. > Please test it and let me know the result. The patch looks good to me, you should commit please. -- Nate _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 21 21:41:36 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 836BD16A422 for ; Mon, 21 Nov 2005 21:41:36 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEA6043D5A for ; Mon, 21 Nov 2005 21:41:17 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.5b3) with ESMTP id 2382320 for multiple; Mon, 21 Nov 2005 16:41:24 -0500 Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id jALLfA99071763; Mon, 21 Nov 2005 16:41:10 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: "O. Hartmann" Date: Mon, 21 Nov 2005 16:34:09 -0500 User-Agent: KMail/1.8.2 References: <200511171725.27877.jhb@freebsd.org> <200511211353.01664.jhb@freebsd.org> <43823759.3080506@mail.uni-mainz.de> In-Reply-To: <43823759.3080506@mail.uni-mainz.de> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511211634.10362.jhb@freebsd.org> X-Spam-Status: No, score=-2.8 required=4.2 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: freebsd-acpi@freebsd.org Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 21:41:36 -0000 On Monday 21 November 2005 04:08 pm, O. Hartmann wrote: > John Baldwin wrote: > >On Thursday 17 November 2005 05:50 pm, John Baldwin wrote: > >>On Thursday 17 November 2005 05:32 pm, Nate Lawson wrote: > >>>John Baldwin wrote: > >>>>I think I figured out why some people get messages like: > >>>> > >>>>pci_linkX: BIOS IRQ 11 for -17777216.6.INTA is invalid > >>>> > >>>>I was not reading the bus number from the bridge device correctly (the > >>>>normal __BUS_ACCESSOR() macros assume that the passed in argument is a > >>>>child device, but at the time I'm reading the bus there is no child > >>>>device, so I was passing in the pcib device, the parent of the pcib > >>>>device probably returned an error, and the bus variable ended up being > >>>>some random stack garbage). The attached patch (also at URL) should fix > >>>>it I think. > >>>> > >>>>http://www.FreeBSD.org/~jhb/patches/acpi_pci_link.patch > >>> > >>>Excellent, patch looks good to me except the printf/panic message could > >>>be improved. > >> > >>I wanna see if it triggers first. > > > >So did anyone test this? I can't commit it unless someone tests it. > > What to do? > > Attached you will find two dmesg outputs. dmesg.old is done before the > pacth was included, dmesg.new is the one after the patch has been > applied. There seems to be a difference when my eyes hit the part where > the negative IRQ statemets are, so that seems to be only the half of the > way. What next? > > Hardware: ASUS A8N-SLI Deluxe, OS FreeBSD 6.0-STABLE, most recent > cvsupdated this morning 10 o'clock MET. There is quite a huge difference. Old: pci_link26: BIOS IRQ 11 for -2145794824.1.INTA is invalid pci_link21: BIOS IRQ 5 for -2145794824.2.INTA is invalid pci_link27: BIOS IRQ 3 for -2145794824.2.INTB is invalid pci_link23: BIOS IRQ 11 for -2145794824.10.INTA is invalid pci_link24: BIOS IRQ 3 for -2145794824.4.INTA is invalid pci_link29: BIOS IRQ 11 for -2145794824.7.INTA is invalid pci_link30: BIOS IRQ 5 for -2145794824.8.INTA is invalid ... pci_link17: BIOS IRQ 21 for 0.7.INTA is invalid pci_link18: BIOS IRQ 22 for 0.8.INTA is invalid pci_link19: BIOS IRQ 23 for 0.10.INTA is invalid New: pci_link26: BIOS IRQ 11 for 0.1.INTA is invalid pci_link21: BIOS IRQ 5 for 0.2.INTA is invalid pci_link27: BIOS IRQ 3 for 0.2.INTB is invalid pci_link23: BIOS IRQ 11 for 0.10.INTA is invalid pci_link24: BIOS IRQ 3 for 0.4.INTA is invalid pci_link29: BIOS IRQ 11 for 0.7.INTA is invalid pci_link30: BIOS IRQ 5 for 0.8.INTA is invalid ... pci_link16: BIOS IRQ 3 for 5.11.INTA is invalid This is much better. The bus number look sane, and now it is no longer complaining about 17, 18, and 19 having proper settings. The complaints are normal given that you have APIC enabled, so APIC is going to use different IRQs than the BIOS which doesn't use APIC. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 21 21:52:43 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AED7516A41F; Mon, 21 Nov 2005 21:52:43 +0000 (GMT) (envelope-from ohartman@mail.uni-mainz.de) Received: from mailgate2.zdv.Uni-Mainz.DE (mailgate2.zdv.Uni-Mainz.DE [134.93.178.130]) by mx1.FreeBSD.org (Postfix) with ESMTP id F183E43D82; Mon, 21 Nov 2005 21:52:42 +0000 (GMT) (envelope-from ohartman@mail.uni-mainz.de) Received: from [217.185.96.178] (manz-d9b960b2.pool.mediaWays.net [217.185.96.178]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mailgate2.zdv.Uni-Mainz.DE (Postfix) with ESMTP id 7F66B300084A; Mon, 21 Nov 2005 22:52:39 +0100 (CET) Message-ID: <438241A6.1040906@mail.uni-mainz.de> Date: Mon, 21 Nov 2005 22:52:38 +0100 From: "O. Hartmann" User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051106) X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Baldwin References: <200511171725.27877.jhb@freebsd.org> <200511211353.01664.jhb@freebsd.org> <43823759.3080506@mail.uni-mainz.de> <200511211634.10362.jhb@freebsd.org> In-Reply-To: <200511211634.10362.jhb@freebsd.org> Content-Type: multipart/mixed; boundary="------------070709010701040802080701" X-Virus-Scanned: by amavisd-new at uni-mainz.de X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-acpi@freebsd.org Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 21:52:43 -0000 This is a multi-part message in MIME format. --------------070709010701040802080701 Content-Type: text/plain; charset=ISO-8859-6; format=flowed Content-Transfer-Encoding: 7bit John Baldwin wrote: >On Monday 21 November 2005 04:08 pm, O. Hartmann wrote: > > >>John Baldwin wrote: >> >> >>>On Thursday 17 November 2005 05:50 pm, John Baldwin wrote: >>> >>> >>>>On Thursday 17 November 2005 05:32 pm, Nate Lawson wrote: >>>> >>>> >>>>>John Baldwin wrote: >>>>> >>>>> >>>>>>I think I figured out why some people get messages like: >>>>>> >>>>>>pci_linkX: BIOS IRQ 11 for -17777216.6.INTA is invalid >>>>>> >>>>>>I was not reading the bus number from the bridge device correctly (the >>>>>>normal __BUS_ACCESSOR() macros assume that the passed in argument is a >>>>>>child device, but at the time I'm reading the bus there is no child >>>>>>device, so I was passing in the pcib device, the parent of the pcib >>>>>>device probably returned an error, and the bus variable ended up being >>>>>>some random stack garbage). The attached patch (also at URL) should fix >>>>>>it I think. >>>>>> >>>>>>http://www.FreeBSD.org/~jhb/patches/acpi_pci_link.patch >>>>>> >>>>>> >>>>>Excellent, patch looks good to me except the printf/panic message could >>>>>be improved. >>>>> >>>>> >>>>I wanna see if it triggers first. >>>> >>>> >>>So did anyone test this? I can't commit it unless someone tests it. >>> >>> >>What to do? >> >>Attached you will find two dmesg outputs. dmesg.old is done before the >>pacth was included, dmesg.new is the one after the patch has been >>applied. There seems to be a difference when my eyes hit the part where >>the negative IRQ statemets are, so that seems to be only the half of the >>way. What next? >> >>Hardware: ASUS A8N-SLI Deluxe, OS FreeBSD 6.0-STABLE, most recent >>cvsupdated this morning 10 o'clock MET. >> >> > >There is quite a huge difference. > >Old: > >pci_link26: BIOS IRQ 11 for -2145794824.1.INTA is invalid >pci_link21: BIOS IRQ 5 for -2145794824.2.INTA is invalid >pci_link27: BIOS IRQ 3 for -2145794824.2.INTB is invalid >pci_link23: BIOS IRQ 11 for -2145794824.10.INTA is invalid >pci_link24: BIOS IRQ 3 for -2145794824.4.INTA is invalid >pci_link29: BIOS IRQ 11 for -2145794824.7.INTA is invalid >pci_link30: BIOS IRQ 5 for -2145794824.8.INTA is invalid >... >pci_link17: BIOS IRQ 21 for 0.7.INTA is invalid >pci_link18: BIOS IRQ 22 for 0.8.INTA is invalid >pci_link19: BIOS IRQ 23 for 0.10.INTA is invalid > >New: > >pci_link26: BIOS IRQ 11 for 0.1.INTA is invalid >pci_link21: BIOS IRQ 5 for 0.2.INTA is invalid >pci_link27: BIOS IRQ 3 for 0.2.INTB is invalid >pci_link23: BIOS IRQ 11 for 0.10.INTA is invalid >pci_link24: BIOS IRQ 3 for 0.4.INTA is invalid >pci_link29: BIOS IRQ 11 for 0.7.INTA is invalid >pci_link30: BIOS IRQ 5 for 0.8.INTA is invalid >... >pci_link16: BIOS IRQ 3 for 5.11.INTA is invalid > >This is much better. The bus number look sane, and now it is no longer >complaining about 17, 18, and 19 having proper settings. The complaints are >normal given that you have APIC enabled, so APIC is going to use different >IRQs than the BIOS which doesn't use APIC. > > > All right. If there is anything else I can do, let me know. Oliver --------------070709010701040802080701-- From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 21 22:24:44 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A5AD16A41F; Mon, 21 Nov 2005 22:24:44 +0000 (GMT) (envelope-from bsdhack@club-internet.fr) Received: from relay-cm.club-internet.fr (relay-cm.club-internet.fr [194.158.104.39]) by mx1.FreeBSD.org (Postfix) with ESMTP id C4E8D43D46; Mon, 21 Nov 2005 22:24:40 +0000 (GMT) (envelope-from bsdhack@club-internet.fr) Received: from [192.168.0.5] (d02v-213-44-154-208.d4.club-internet.fr [213.44.154.208]) by relay-cm.club-internet.fr (Postfix) with ESMTP id 7BFB725610; Mon, 21 Nov 2005 23:24:39 +0100 (CET) In-Reply-To: <200511211353.01664.jhb@freebsd.org> References: <200511171725.27877.jhb@freebsd.org> <437D04FC.90707@root.org> <200511171750.52720.jhb@freebsd.org> <200511211353.01664.jhb@freebsd.org> Mime-Version: 1.0 (Apple Message framework v746.2) Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed Message-Id: <314C3BAA-CBE8-42D8-B2F0-CEC9756F7550@club-internet.fr> Content-Transfer-Encoding: quoted-printable From: Mathieu Prevot Date: Mon, 21 Nov 2005 23:24:51 +0100 To: John Baldwin X-Mailer: Apple Mail (2.746.2) Cc: acpi@freebsd.org Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 22:24:44 -0000 Le 21 nov. 05 =E0 19:53, John Baldwin a =E9crit : > On Thursday 17 November 2005 05:50 pm, John Baldwin wrote: >> On Thursday 17 November 2005 05:32 pm, Nate Lawson wrote: >>> John Baldwin wrote: >>>> I think I figured out why some people get messages like: >>>> >>>> pci_linkX: BIOS IRQ 11 for -17777216.6.INTA is invalid >>>> >>>> I was not reading the bus number from the bridge device =20 >>>> correctly (the >>>> normal __BUS_ACCESSOR() macros assume that the passed in =20 >>>> argument is a >>>> child device, but at the time I'm reading the bus there is no child >>>> device, so I was passing in the pcib device, the parent of the pcib >>>> device probably returned an error, and the bus variable ended up =20= >>>> being >>>> some random stack garbage). The attached patch (also at URL) =20 >>>> should fix >>>> it I think. >>>> >>>> http://www.FreeBSD.org/~jhb/patches/acpi_pci_link.patch >>> >>> Excellent, patch looks good to me except the printf/panic message =20= >>> could >>> be improved. >> >> I wanna see if it triggers first. > > So did anyone test this? I can't commit it unless someone tests it. > > --=20 > John Baldwin <>< http://www.FreeBSD.org/~jhb/ > "Power Users Use the Power to Serve" =3D http://www.FreeBSD.org > _______________________________________________ > freebsd-acpi@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-acpi > To unsubscribe, send any mail to "freebsd-acpi-=20 > unsubscribe@freebsd.org" > Ok John. I'll test it. I have two motherboards with the problem. But =20 I am very busy so give me one or two days. MP= From owner-freebsd-acpi@FreeBSD.ORG Mon Nov 21 22:25:53 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 855DE16A41F; Mon, 21 Nov 2005 22:25:53 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id E785A43D45; Mon, 21 Nov 2005 22:25:52 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.0.33] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jALMPnDe015484 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 21 Nov 2005 14:25:54 -0800 Message-ID: <4382494B.8020800@root.org> Date: Mon, 21 Nov 2005 14:25:15 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Mathieu Prevot References: <200511171725.27877.jhb@freebsd.org> <437D04FC.90707@root.org> <200511171750.52720.jhb@freebsd.org> <200511211353.01664.jhb@freebsd.org> <314C3BAA-CBE8-42D8-B2F0-CEC9756F7550@club-internet.fr> In-Reply-To: <314C3BAA-CBE8-42D8-B2F0-CEC9756F7550@club-internet.fr> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: acpi@freebsd.org Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2005 22:25:53 -0000 Mathieu Prevot wrote: > > Le 21 nov. 05 à 19:53, John Baldwin a écrit : > >> On Thursday 17 November 2005 05:50 pm, John Baldwin wrote: >> >>> On Thursday 17 November 2005 05:32 pm, Nate Lawson wrote: >>> >>>> John Baldwin wrote: >>>> >>>>> I think I figured out why some people get messages like: >>>>> >>>>> pci_linkX: BIOS IRQ 11 for -17777216.6.INTA is invalid >>>>> >>>>> I was not reading the bus number from the bridge device correctly >>>>> (the >>>>> normal __BUS_ACCESSOR() macros assume that the passed in argument >>>>> is a >>>>> child device, but at the time I'm reading the bus there is no child >>>>> device, so I was passing in the pcib device, the parent of the pcib >>>>> device probably returned an error, and the bus variable ended up >>>>> being >>>>> some random stack garbage). The attached patch (also at URL) >>>>> should fix >>>>> it I think. >>>>> >>>>> http://www.FreeBSD.org/~jhb/patches/acpi_pci_link.patch >>>> >>>> >>>> Excellent, patch looks good to me except the printf/panic message >>>> could >>>> be improved. >>> >>> >>> I wanna see if it triggers first. >> >> >> So did anyone test this? I can't commit it unless someone tests it. >> > > Ok John. I'll test it. I have two motherboards with the problem. But I > am very busy so give me one or two days. Just cvsup, it's already tested by 1 person and in -current now. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 03:25:34 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C2E6216A41F for ; Tue, 22 Nov 2005 03:25:34 +0000 (GMT) (envelope-from mike@sentex.net) Received: from smarthost1.sentex.ca (smarthost1.sentex.ca [64.7.153.18]) by mx1.FreeBSD.org (Postfix) with ESMTP id C722A43D5C for ; Tue, 22 Nov 2005 03:25:33 +0000 (GMT) (envelope-from mike@sentex.net) Received: from pumice6.sentex.ca (pumice6.sentex.ca [64.7.153.21]) by smarthost1.sentex.ca (8.13.4/8.13.4) with ESMTP id jAM3PWGR047573 for ; Mon, 21 Nov 2005 22:25:32 -0500 (EST) (envelope-from mike@sentex.net) Received: from lava.sentex.ca (pyroxene.sentex.ca [199.212.134.18]) by pumice6.sentex.ca (8.13.4/8.13.4) with ESMTP id jAM3PWOF031314 for ; Mon, 21 Nov 2005 22:25:32 -0500 (EST) (envelope-from mike@sentex.net) Received: from simian.sentex.net (simeon.sentex.ca [192.168.43.27]) by lava.sentex.ca (8.13.3/8.13.3) with ESMTP id jAM3PPnh055578 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 21 Nov 2005 22:25:26 -0500 (EST) (envelope-from mike@sentex.net) Message-Id: <6.2.3.4.0.20051121215854.0895cc28@64.7.153.2> X-Mailer: QUALCOMM Windows Eudora Version 6.2.3.4 Date: Mon, 21 Nov 2005 22:25:30 -0500 To: freebsd-acpi@freebsd.org From: Mike Tancsa Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Virus-Scanned: by amavisd-new X-Scanned-By: MIMEDefang 2.51 on 64.7.153.18 X-Scanned-By: MIMEDefang 2.53 on 64.7.153.21 Subject: work around for busted RS-482 ACPI ? (Long) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 03:25:35 -0000 I like in theory the specs of this board, but I guess the busted ACPI is telling me to stay away. Its an MSI RS482M4-ILD mATX S939 RS482. The default boot panics with CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ (2193.63-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x20fb1 Stepping = 1 Features=0x178bfbff Features2=0x1 AMD Features=0xe2500800,LM,3DNow+,3DNow> real memory = 1006436352 (959 MB) avail memory = 975667200 (930 MB) ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 nssearch-0397: *** Error: NsSearchAndEnter: Bad character in ACPI Name: 43005350 dswload-0381: *** Error: Looking up [0x43005350] (NON-ASCII) in namespace, AE_BAD_CHARACTER psparse-0714 [09] PsParseLoop : During name lookup/catalog, AE_BAD_CHARACTER tbxface-0204: *** Error: AcpiLoadTables: Could not load namespace: AE_BAD_CHARACTER tbxface-0213: *** Error: AcpiLoadTables: Could not load tables: AE_BAD_CHARACTER ACPI: table load failed: AE_BAD_CHARACTER utalloc-1069 [04] UtDumpAllocations : No outstanding allocations. MADT: ACPI Startup failed with AE_BAD_CHARACTER Try disabling either ACPI or apic support. panic: Using MADT but ACPI doesn't work cpuid = 0 KDB: stack backtrace: kdb_backtrace(100,c093e9a0,c49465c4,c0918610,c28000) at kdb_backtrace+0x29 panic(c0acc6ff,c0acc6d3,c0acc6b0,c0ac42be,c089d451) at panic+0x114 madt_setup_io(c0c20d88,c0614f8e,0,c1ec00,c1e000) at madt_setup_io+0xed apic_setup_io(0,c1ec00,c1e000,0,c0445845) at apic_setup_io+0x14 mi_startup() at mi_startup+0x96 begin() at begin+0x2c KDB: enter: panic The info requested at http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/acpi-debug.html can be found at www.tancsa.com/rs-482.tgz % ls -l total 74 drwxr-xr-x 2 mdtancsa wheel 512 Nov 21 22:19 . drwxrwxrwt 13 root wheel 27648 Nov 21 22:21 .. -rw-r--r-- 1 mdtancsa wheel 2848 Nov 21 22:19 acpidump-t-d.txt -rw-r--r-- 1 mdtancsa wheel 5074 Nov 21 22:10 boot-no-acpi.txt -rw-r--r-- 1 mdtancsa wheel 27608 Nov 21 22:16 boot-v-no-acpi.txt -rw-r--r-- 1 mdtancsa wheel 4252 Nov 21 22:08 boot-v.txt % tar -cpzf rs-482.tgz *.txt ---Mike -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 03:36:56 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC26216A425; Tue, 22 Nov 2005 03:36:56 +0000 (GMT) (envelope-from ume@mahoroba.org) Received: from ameno.mahoroba.org (gw4.mahoroba.org [218.45.22.175]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1ABA343D5E; Tue, 22 Nov 2005 03:36:55 +0000 (GMT) (envelope-from ume@mahoroba.org) Received: from localhost (IDENT:5dWVyEHHeBF0ZtQ8EsthFQuzVw4BYm8IFw0zFa+2NrFE7fJm5OAZVksqvtY8hDpr@localhost [IPv6:::1]) (user=ume mech=CRAM-MD5 bits=0) by ameno.mahoroba.org (8.13.4/8.13.4) with ESMTP/inet6 id jAM3aoNI037971 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 22 Nov 2005 12:36:51 +0900 (JST) (envelope-from ume@mahoroba.org) Date: Tue, 22 Nov 2005 12:36:50 +0900 Message-ID: From: Hajimu UMEMOTO To: Nate Lawson In-Reply-To: <438213E5.70508@root.org> References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> <438213E5.70508@root.org> User-Agent: xcite1.38> Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 Emacs/21.3 (i386--freebsd) MULE/5.0 (SAKAKI) X-Operating-System: FreeBSD 5.4-STABLE X-PGP-Key: http://www.imasy.or.jp/~ume/publickey.asc X-PGP-Fingerprint: 1F00 0B9E 2164 70FC 6DC5 BF5F 04E9 F086 BF90 71FE Organization: Internet Mutual Aid Society, YOKOHAMA MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (ameno.mahoroba.org [IPv6:::1]); Tue, 22 Nov 2005 12:36:51 +0900 (JST) X-Virus-Scanned: by amavisd-new X-Virus-Status: Clean X-Spam-Status: No, score=-3.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on ameno.mahoroba.org Cc: acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 03:36:56 -0000 Hi, >>>>> On Mon, 21 Nov 2005 10:37:25 -0800 >>>>> Nate Lawson said: > The cmbat has similar issue on some laptops. So, acpi_cmbat.c uses > cache for retrieval to reduce its influence, and its expiration > time is set by hw.acpi.battery.info_expire. > However, acpi_smbat.c doesn't use cache. So, I made a patch. Since I > don't have a laptop which has smbat, I cannot test it by myself. > Please test it and let me know the result. nate> The patch looks good to me, you should commit please. Thanks for your review. I've just committed it into HEAD. Sincerely, -- Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan ume@mahoroba.org ume@{,jp.}FreeBSD.org http://www.imasy.org/~ume/ From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 03:50:27 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0DA4916A41F; Tue, 22 Nov 2005 03:50:27 +0000 (GMT) (envelope-from doug@polands.org) Received: from corinth.polands.org (CPE-72-129-222-120.new.res.rr.com [72.129.222.120]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5810A43D4C; Tue, 22 Nov 2005 03:50:25 +0000 (GMT) (envelope-from doug@polands.org) Received: from email.polands.org (ammon.polands.org [172.16.1.7]) by corinth.polands.org (8.13.4/8.13.4) with ESMTP id jAL51fxF046889; Sun, 20 Nov 2005 23:01:41 -0600 (CST) (envelope-from doug@polands.org) Received: from 172.16.1.40 (SquirrelMail authenticated user djp) by email.polands.org with HTTP; Sun, 20 Nov 2005 23:01:41 -0600 (CST) Message-ID: <1351.172.16.1.40.1132549301.squirrel@email.polands.org> In-Reply-To: <20051120075905.GB856@eucla.lemis.com> References: <437FEF5F.5070602@math.missouri.edu> <20051120075905.GB856@eucla.lemis.com> Date: Sun, 20 Nov 2005 23:01:41 -0600 (CST) From: "Doug Poland" To: "Greg 'groggy' Lehey" User-Agent: SquirrelMail/1.4.5 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal X-Virus-Scanned: ClamAV 0.87/1180/Sun Nov 20 04:20:28 2005 on corinth.polands.org X-Virus-Status: Clean Cc: acpi@freebsd.org, Stephen Montgomery-Smith , freebsd-stable@freebsd.org Subject: Re: ACPI problems with Dell laptops? (was: Jerky keyboard and mouse) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 03:50:27 -0000 On Sun, November 20, 2005 01:59, Greg 'groggy' Lehey wrote: > On Saturday, 19 November 2005 at 21:37:03 -0600, Stephen > Montgomery-Smith wrote: >> I recently upgraded from stable-6 of Nov 4 to stable-6 of today on >> my Dell Latitude D800 Laptop, and suddenly the response of the >> touchpad mouse and keyboard was bery bad. > > Heh. I saw the subject line and thought "I wonder if this is a Dell > laptop". > Well, I'm "glad" I'm not the only one :) >> In particular, when I type about 1 in 10 key presses simply do not >> register. > Same here, it's basically unusable if you're a fast touch typist. > This, however, is a order of magnitude worse than what I have > experienced with my Inspiron 6100. > Dell C600 here, 6.0-STABLE > What happens when you ping another system? I found that the ping time > was normal (in the order of 1 µs), but it repeated only every 3 > seconds. When I unloaded ACPI, things worked normally. > Not loading ACPI fixed my issues too. I'd be more than happy to help any testing that may develop. -- Regards, Doug From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 06:14:54 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EE07B16A420 for ; Tue, 22 Nov 2005 06:14:54 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7AD6C43D46 for ; Tue, 22 Nov 2005 06:14:54 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (ppp-71-139-30-140.dsl.snfc21.pacbell.net [71.139.30.140]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jAM6EuDe020547 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 21 Nov 2005 22:14:57 -0800 Message-ID: <4382B73D.8030502@root.org> Date: Mon, 21 Nov 2005 22:14:21 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Mike Tancsa References: <6.2.3.4.0.20051121215854.0895cc28@64.7.153.2> In-Reply-To: <6.2.3.4.0.20051121215854.0895cc28@64.7.153.2> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: work around for busted RS-482 ACPI ? (Long) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 06:14:55 -0000 Mike Tancsa wrote: > I like in theory the specs of this board, but I guess the busted ACPI is > telling me to stay away. Its an MSI RS482M4-ILD mATX S939 RS482. The > default boot panics with > > CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ (2193.63-MHz > 686-class CPU) > Origin = "AuthenticAMD" Id = 0x20fb1 Stepping = 1 > > Features=0x178bfbff > > Features2=0x1 > AMD Features=0xe2500800,LM,3DNow+,3DNow> > real memory = 1006436352 (959 MB) > avail memory = 975667200 (930 MB) > ACPI APIC Table: > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > cpu0 (BSP): APIC ID: 0 > cpu1 (AP): APIC ID: 1 > nssearch-0397: *** Error: NsSearchAndEnter: Bad character in ACPI Name: > 43005350 > dswload-0381: *** Error: Looking up [0x43005350] (NON-ASCII) > in namespace, AE_BAD_CHARACTER > psparse-0714 [09] PsParseLoop : During name lookup/catalog, > AE_BAD_CHARACTER > tbxface-0204: *** Error: AcpiLoadTables: Could not load namespace: > AE_BAD_CHARACTER > tbxface-0213: *** Error: AcpiLoadTables: Could not load tables: > AE_BAD_CHARACTER > ACPI: table load failed: AE_BAD_CHARACTER > utalloc-1069 [04] UtDumpAllocations : No outstanding allocations. > MADT: ACPI Startup failed with AE_BAD_CHARACTER > Try disabling either ACPI or apic support. > panic: Using MADT but ACPI doesn't work The issue is that there's a NUL ('\0') in the namespace, at least referenced from the MADT. The string is "C\0SP". I think it would help if we could hack AcpiLoadTables to overwrite the \0 with a 'X' character instead of bailing out, then find where the X is. Ultimately, it's probably better to just overwrite with '_' than to crash out. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 06:16:55 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 34DD016A420 for ; Tue, 22 Nov 2005 06:16:55 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id BD9D143D5C for ; Tue, 22 Nov 2005 06:16:54 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (ppp-71-139-30-140.dsl.snfc21.pacbell.net [71.139.30.140]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jAM6GwDe020554 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 21 Nov 2005 22:16:58 -0800 Message-ID: <4382B7B7.3040807@root.org> Date: Mon, 21 Nov 2005 22:16:23 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Mike Tancsa References: <6.2.3.4.0.20051121215854.0895cc28@64.7.153.2> <4382B73D.8030502@root.org> In-Reply-To: <4382B73D.8030502@root.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: work around for busted RS-482 ACPI ? (Long) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 06:16:55 -0000 Nate Lawson wrote: > Mike Tancsa wrote: > >> I like in theory the specs of this board, but I guess the busted ACPI >> is telling me to stay away. Its an MSI RS482M4-ILD mATX S939 RS482. >> The default boot panics with >> >> CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ (2193.63-MHz >> 686-class CPU) >> Origin = "AuthenticAMD" Id = 0x20fb1 Stepping = 1 >> >> Features=0x178bfbff >> >> Features2=0x1 >> AMD Features=0xe2500800,LM,3DNow+,3DNow> >> real memory = 1006436352 (959 MB) >> avail memory = 975667200 (930 MB) >> ACPI APIC Table: >> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs >> cpu0 (BSP): APIC ID: 0 >> cpu1 (AP): APIC ID: 1 >> nssearch-0397: *** Error: NsSearchAndEnter: Bad character in ACPI >> Name: 43005350 >> dswload-0381: *** Error: Looking up [0x43005350] (NON-ASCII) >> in namespace, AE_BAD_CHARACTER >> psparse-0714 [09] PsParseLoop : During name lookup/catalog, >> AE_BAD_CHARACTER >> tbxface-0204: *** Error: AcpiLoadTables: Could not load namespace: >> AE_BAD_CHARACTER >> tbxface-0213: *** Error: AcpiLoadTables: Could not load tables: >> AE_BAD_CHARACTER >> ACPI: table load failed: AE_BAD_CHARACTER >> utalloc-1069 [04] UtDumpAllocations : No outstanding allocations. >> MADT: ACPI Startup failed with AE_BAD_CHARACTER >> Try disabling either ACPI or apic support. >> panic: Using MADT but ACPI doesn't work > > > The issue is that there's a NUL ('\0') in the namespace, at least > referenced from the MADT. The string is "C\0SP". I think it would help > if we could hack AcpiLoadTables to overwrite the \0 with a 'X' character > instead of bailing out, then find where the X is. Ultimately, it's > probably better to just overwrite with '_' than to crash out. > Correction, that would be NsSearchAndEnter(). -- Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 08:45:07 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 25BDC16A424; Tue, 22 Nov 2005 08:45:07 +0000 (GMT) (envelope-from grog@lemis.com) Received: from ext-gw.lemis.com (ext-gw.lemis.com [150.101.14.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6E95E43D46; Tue, 22 Nov 2005 08:45:06 +0000 (GMT) (envelope-from grog@lemis.com) Received: from wantadilla.lemis.com (wantadilla.lemis.com [192.109.197.135]) by ext-gw.lemis.com (Postfix) with ESMTP id 37D201310D7; Tue, 22 Nov 2005 19:15:05 +1030 (CST) Received: from eucla.lemis.com (wantadilla.lemis.com [192.109.197.135]) by wantadilla.lemis.com (Postfix) with ESMTP id AE42384925; Tue, 22 Nov 2005 19:15:04 +1030 (CST) Received: by eucla.lemis.com (Postfix, from userid 1004) id 0863686C9F; Tue, 22 Nov 2005 09:45:07 +0100 (CET) Date: Tue, 22 Nov 2005 09:45:07 +0100 From: Greg 'groggy' Lehey To: Doug Poland Message-ID: <20051122084506.GN853@eucla.lemis.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1351.172.16.1.40.1132549301.squirrel@email.polands.org> User-Agent: Mutt/1.4.2.1i Organization: The FreeBSD Project Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.FreeBSD.org/ X-PGP-Fingerprint: 9A1B 8202 BCCE B846 F92F 09AC 22E6 F290 507A 4223 Cc: acpi@freebsd.org, Stephen Montgomery-Smith , freebsd-stable@freebsd.org Subject: Re: ACPI problems with Dell laptops? (was: Jerky keyboard and mouse) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 08:45:07 -0000 On Sunday, 20 November 2005 at 23:01:41 -0600, Doug Poland wrote: > > On Sun, November 20, 2005 01:59, Greg 'groggy' Lehey wrote: >> On Saturday, 19 November 2005 at 21:37:03 -0600, Stephen >> Montgomery-Smith wrote: >>> I recently upgraded from stable-6 of Nov 4 to stable-6 of today on >>> my Dell Latitude D800 Laptop, and suddenly the response of the >>> touchpad mouse and keyboard was bery bad. >> >> Heh. I saw the subject line and thought "I wonder if this is a Dell >> laptop". > > Well, I'm "glad" I'm not the only one :) > >>> In particular, when I type about 1 in 10 key presses simply do not >>> register. > > Same here, it's basically unusable if you're a fast touch typist. Indeed. After all, you're quoting yourself :-) I said: >> This, however, is a order of magnitude worse than what I have >> experienced with my Inspiron 6100. In particular, I didn't get any dropped characters. And I note that I've misquoted the model number; it's an Inspiron 6000, not 6100 (I don't think the latter exists). >> What happens when you ping another system? I found that the ping >> time was normal (in the order of 1 µs), but it repeated only every >> 3 seconds. When I unloaded ACPI, things worked normally. > > Not loading ACPI fixed my issues too. I'd be more than happy to > help any testing that may develop. I would have been interested to hear the results of the ping. But yes, it would be nice to get the machine to work nicely with ACPI. Greg -- See complete headers for address and phone numbers From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 13:04:40 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E171B16A420; Tue, 22 Nov 2005 13:04:40 +0000 (GMT) (envelope-from ume@mahoroba.org) Received: from ameno.mahoroba.org (gw4.mahoroba.org [218.45.22.175]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1CFCC43D49; Tue, 22 Nov 2005 13:04:39 +0000 (GMT) (envelope-from ume@mahoroba.org) Received: from kasuga.mahoroba.org (IDENT:zhgE2ZAn4AG6uha/rFks/LqW99axVIrgrTEU+2IbyHwEbF4Rigem6YsM7912QXw1@kasuga-iwi.mahoroba.org [IPv6:3ffe:501:185b:8010:212:f0ff:fe52:6ac]) (user=ume mech=CRAM-MD5 bits=0) by ameno.mahoroba.org (8.13.4/8.13.4) with ESMTP/inet6 id jAMD4Tsn042280 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 22 Nov 2005 22:04:33 +0900 (JST) (envelope-from ume@mahoroba.org) Date: Tue, 22 Nov 2005 22:04:28 +0900 Message-ID: From: Hajimu UMEMOTO To: Pierre-Luc Drouin In-Reply-To: <437CAEB0.9060202@pldrouin.net> References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> <437A3901.8010001@pldrouin.net> <437A3B96.4040300@root.org> <437B42C0.9040605@pldrouin.net> <437CAEB0.9060202@pldrouin.net> User-Agent: xcite1.38> Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 Emacs/22.0.50 (i386-unknown-freebsd6.0) MULE/5.0 (SAKAKI) X-Operating-System: FreeBSD 6.0-STABLE X-PGP-Key: http://www.imasy.or.jp/~ume/publickey.asc X-PGP-Fingerprint: 1F00 0B9E 2164 70FC 6DC5 BF5F 04E9 F086 BF90 71FE Organization: Internet Mutual Aid Society, YOKOHAMA MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (ameno.mahoroba.org [IPv6:3ffe:501:185b:8010::1]); Tue, 22 Nov 2005 22:04:34 +0900 (JST) X-Virus-Scanned: by amavisd-new X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on ameno.mahoroba.org Cc: acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 13:04:41 -0000 Hi, >>>>> On Thu, 17 Nov 2005 11:24:16 -0500 >>>>> Pierre-Luc Drouin said: > Ok, there is new development. I realized by playing with > debug.acpi.disabled="smbat", debug.acpi.disabled="smbat cmbat" and > debug.acpi.disabled="cmbat", that my laptop battery is not a smbat, > but a cmbat. When I played with hw.acpi.battery.info_expire after to > have applied the patch for acpi_smbat.c, it was freezing less often > because that sysctl variable was shared by both cmbat and smbat. So I > can only get battery status from cmbat (disabling cmbat disables the > use of acpiconf -i loop). To get the status of my battery via cmbat > was working fine up to 6.0-RELEASE (included), but makes my laptop to > freeze since I upgraded to 6.0-stable with Nov 10th sources. What > change related to cmbat between 6.0-release and 6.0-stable could be > causing this? pldrouin> Has someone found how to fix this problem in -stable? Perhaps, I found the cause. acpi_cmbat_get_bif() is heavy process, and it was called only when ACPIIO_CMBAT_GET_BIF ioctl was issued explicitly, until smbat stuff was committed. However, acpiio_cmbat_get_bif() is called from every acpi_battery_get_battinfo() call, now. The attached patch will bring back to former behavior. Please try it and let me know the result. It is against 7-CURRENT as of today. If you want to try it on 6-STABLE, you need to apply following diff before applying it: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/acpica/acpi_smbat.c.diff?r1=1.1&r2=1.2 Index: sys/dev/acpica/acpi_battery.c diff -u -p sys/dev/acpica/acpi_battery.c.orig sys/dev/acpica/acpi_battery.c --- sys/dev/acpica/acpi_battery.c.orig Mon Nov 7 01:12:11 2005 +++ sys/dev/acpica/acpi_battery.c Tue Nov 22 16:57:11 2005 @@ -178,7 +178,7 @@ acpi_battery_get_battinfo(device_t dev, * return that the device is present. */ if (ACPI_BATT_GET_STATUS(batt_dev, &bst[i]) != 0 || - ACPI_BATT_GET_INFO(batt_dev, bif) != 0) + ACPI_BATT_GET_INFO(batt_dev, bif, TRUE) != 0) continue; /* If a battery is not installed, we sometimes get strange values. */ @@ -382,7 +382,7 @@ acpi_battery_ioctl(u_long cmd, caddr_t a case ACPIIO_BATT_GET_BIF: if (dev != NULL) { bzero(&ioctl_arg->bif, sizeof(ioctl_arg->bif)); - error = ACPI_BATT_GET_INFO(dev, &ioctl_arg->bif); + error = ACPI_BATT_GET_INFO(dev, &ioctl_arg->bif, FALSE); /* * Remove invalid characters. Perhaps this should be done Index: sys/dev/acpica/acpi_cmbat.c diff -u -p sys/dev/acpica/acpi_cmbat.c.orig sys/dev/acpica/acpi_cmbat.c --- sys/dev/acpica/acpi_cmbat.c.orig Sun Nov 20 12:23:21 2005 +++ sys/dev/acpica/acpi_cmbat.c Tue Nov 22 16:23:30 2005 @@ -83,7 +83,8 @@ static void acpi_cmbat_info_updated(str static void acpi_cmbat_get_bst(device_t dev); static void acpi_cmbat_get_bif(device_t dev); static int acpi_cmbat_bst(device_t dev, struct acpi_bst *bstp); -static int acpi_cmbat_bif(device_t dev, struct acpi_bif *bifp); +static int acpi_cmbat_bif(device_t dev, struct acpi_bif *bifp, + int cache); static void acpi_cmbat_init_battery(void *arg); static device_method_t acpi_cmbat_methods[] = { @@ -354,14 +355,15 @@ end: } static int -acpi_cmbat_bif(device_t dev, struct acpi_bif *bifp) +acpi_cmbat_bif(device_t dev, struct acpi_bif *bifp, int cache) { struct acpi_cmbat_softc *sc; sc = device_get_softc(dev); ACPI_SERIAL_BEGIN(cmbat); - acpi_cmbat_get_bif(dev); + if (!cache) + acpi_cmbat_get_bif(dev); bifp->units = sc->bif.units; bifp->dcap = sc->bif.dcap; bifp->lfcap = sc->bif.lfcap; Index: sys/dev/acpica/acpi_if.m diff -u sys/dev/acpica/acpi_if.m.orig sys/dev/acpica/acpi_if.m --- sys/dev/acpica/acpi_if.m.orig Sun Nov 20 12:23:21 2005 +++ sys/dev/acpica/acpi_if.m Tue Nov 22 16:58:09 2005 @@ -206,10 +206,12 @@ # # device_t dev: Battery device # struct acpi_bif *bif: Pointer to storage for _BIF results +# int cache: if set, read from cache without any I/O to ACPI BIOS # METHOD int batt_get_info { device_t dev; struct acpi_bif *bif; + int cache; }; # Index: sys/dev/acpica/acpi_smbat.c diff -u -p sys/dev/acpica/acpi_smbat.c.orig sys/dev/acpica/acpi_smbat.c --- sys/dev/acpica/acpi_smbat.c.orig Tue Nov 22 16:07:38 2005 +++ sys/dev/acpica/acpi_smbat.c Tue Nov 22 18:37:13 2005 @@ -56,7 +56,8 @@ static int acpi_smbat_attach(device_t de static int acpi_smbat_shutdown(device_t dev); static int acpi_smbat_info_expired(struct timespec *lastupdated); static void acpi_smbat_info_updated(struct timespec *lastupdated); -static int acpi_smbat_get_bif(device_t dev, struct acpi_bif *bif); +static int acpi_smbat_get_bif(device_t dev, struct acpi_bif *bif, + int cache); static int acpi_smbat_get_bst(device_t dev, struct acpi_bst *bst); ACPI_SERIAL_DECL(smbat, "ACPI Smart Battery"); @@ -124,6 +125,11 @@ acpi_smbat_attach(device_t dev) timespecclear(&sc->bif_lastupdated); timespecclear(&sc->bst_lastupdated); + if (acpi_smbat_get_bif(dev, NULL, FALSE) != 0) { + device_printf(dev, "cannot get battery information\n"); + return (ENXIO); + } + if (acpi_battery_register(dev) != 0) { device_printf(dev, "cannot register battery\n"); return (ENXIO); @@ -381,7 +387,7 @@ out: } static int -acpi_smbat_get_bif(device_t dev, struct acpi_bif *bif) +acpi_smbat_get_bif(device_t dev, struct acpi_bif *bif, int cache) { struct acpi_smbat_softc *sc; int error; @@ -395,7 +401,7 @@ acpi_smbat_get_bif(device_t dev, struct error = ENXIO; sc = device_get_softc(dev); - if (!acpi_smbat_info_expired(&sc->bif_lastupdated)) { + if (cache || !acpi_smbat_info_expired(&sc->bif_lastupdated)) { error = 0; goto out; } @@ -451,7 +457,8 @@ acpi_smbat_get_bif(device_t dev, struct error = 0; out: - memcpy(bif, &sc->bif, sizeof(sc->bif)); + if (bif != NULL) + memcpy(bif, &sc->bif, sizeof(sc->bif)); ACPI_SERIAL_END(smbat); return (error); } Sincerely, -- Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan ume@mahoroba.org ume@{,jp.}FreeBSD.org http://www.imasy.org/~ume/ From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 13:13:02 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7AB1316A422 for ; Tue, 22 Nov 2005 13:13:02 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.FreeBSD.org (Postfix) with ESMTP id BAB1E43D7E for ; Tue, 22 Nov 2005 13:12:52 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.5b3) with ESMTP id 2418427 for multiple; Tue, 22 Nov 2005 08:13:01 -0500 Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id jAMDCjem076897; Tue, 22 Nov 2005 08:12:45 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-acpi@freebsd.org Date: Tue, 22 Nov 2005 08:12:41 -0500 User-Agent: KMail/1.8.3 References: <6.2.3.4.0.20051121215854.0895cc28@64.7.153.2> <4382B73D.8030502@root.org> <4382B7B7.3040807@root.org> In-Reply-To: <4382B7B7.3040807@root.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200511220812.43141.jhb@freebsd.org> X-Spam-Status: No, score=-2.6 required=4.2 tests=ALL_TRUSTED, UPPERCASE_25_50 autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: Mike Tancsa Subject: Re: work around for busted RS-482 ACPI ? (Long) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 13:13:02 -0000 On Tuesday 22 November 2005 01:16 am, Nate Lawson wrote: > Nate Lawson wrote: > > Mike Tancsa wrote: > >> I like in theory the specs of this board, but I guess the busted ACPI > >> is telling me to stay away. Its an MSI RS482M4-ILD mATX S939 RS482. > >> The default boot panics with > >> > >> CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ (2193.63-MHz > >> 686-class CPU) > >> Origin =3D "AuthenticAMD" Id =3D 0x20fb1 Stepping =3D 1 > >> > >> Features=3D0x178bfbff >>,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT> > >> > >> Features2=3D0x1 > >> AMD Features=3D0xe2500800,LM,3DNow+,3DNow> > >> real memory =3D 1006436352 (959 MB) > >> avail memory =3D 975667200 (930 MB) > >> ACPI APIC Table: > >> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > >> cpu0 (BSP): APIC ID: 0 > >> cpu1 (AP): APIC ID: 1 > >> nssearch-0397: *** Error: NsSearchAndEnter: Bad character in ACPI > >> Name: 43005350 > >> dswload-0381: *** Error: Looking up [0x43005350] (NON-ASCII) > >> in namespace, AE_BAD_CHARACTER > >> psparse-0714 [09] PsParseLoop : During name lookup/catalog, > >> AE_BAD_CHARACTER > >> tbxface-0204: *** Error: AcpiLoadTables: Could not load namespace: > >> AE_BAD_CHARACTER > >> tbxface-0213: *** Error: AcpiLoadTables: Could not load tables: > >> AE_BAD_CHARACTER > >> ACPI: table load failed: AE_BAD_CHARACTER > >> utalloc-1069 [04] UtDumpAllocations : No outstanding allocations. > >> MADT: ACPI Startup failed with AE_BAD_CHARACTER > >> Try disabling either ACPI or apic support. > >> panic: Using MADT but ACPI doesn't work > > > > The issue is that there's a NUL ('\0') in the namespace, at least > > referenced from the MADT. The string is "C\0SP". I think it would help > > if we could hack AcpiLoadTables to overwrite the \0 with a 'X' character > > instead of bailing out, then find where the X is. Ultimately, it's > > probably better to just overwrite with '_' than to crash out. > > Correction, that would be NsSearchAndEnter(). BTW, it's not in the MADT, as the MADT is just asking ACPI to load all of i= t's=20 tables in acpi_Startup() (or some such) before it asks ACPI to load the=20 actual MADT table. Unfortunately it looks like acpidump chokes on the same= =20 error. :( =2D-=20 John Baldwin =A0<>< =A0http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 16:06:55 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 68A9316A424; Tue, 22 Nov 2005 16:06:55 +0000 (GMT) (envelope-from pldrouin@pldrouin.net) Received: from smtp.cyberfingers.net (smtp.cyberfingers.net [198.177.254.227]) by mx1.FreeBSD.org (Postfix) with ESMTP id 205E543D5A; Tue, 22 Nov 2005 16:06:53 +0000 (GMT) (envelope-from pldrouin@pldrouin.net) Received: from [134.117.23.170] (pldrouinlap-pc.physics.carleton.ca [134.117.23.170]) by smtp.cyberfingers.net (Postfix) with ESMTP id 10618170177; Tue, 22 Nov 2005 11:06:54 -0500 (EST) Message-ID: <4383421B.6060403@pldrouin.net> Date: Tue, 22 Nov 2005 11:06:51 -0500 From: Pierre-Luc Drouin User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051107) X-Accept-Language: en-us, en MIME-Version: 1.0 To: acpi@freebsd.org, freebsd-stable@freebsd.org References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> <437A3901.8010001@pldrouin.net> <437A3B96.4040300@root.org> <437B42C0.9040605@pldrouin.net> <437CAEB0.9060202@pldrouin.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 16:06:55 -0000 Hajimu UMEMOTO wrote: >Hi, > > > >>>>>>On Thu, 17 Nov 2005 11:24:16 -0500 >>>>>>Pierre-Luc Drouin said: >>>>>> >>>>>> > > > >>Ok, there is new development. I realized by playing with >>debug.acpi.disabled="smbat", debug.acpi.disabled="smbat cmbat" and >>debug.acpi.disabled="cmbat", that my laptop battery is not a smbat, >>but a cmbat. When I played with hw.acpi.battery.info_expire after to >>have applied the patch for acpi_smbat.c, it was freezing less often >>because that sysctl variable was shared by both cmbat and smbat. So I >>can only get battery status from cmbat (disabling cmbat disables the >>use of acpiconf -i loop). To get the status of my battery via cmbat >>was working fine up to 6.0-RELEASE (included), but makes my laptop to >>freeze since I upgraded to 6.0-stable with Nov 10th sources. What >>change related to cmbat between 6.0-release and 6.0-stable could be >>causing this? >> >> > >pldrouin> Has someone found how to fix this problem in -stable? > >Perhaps, I found the cause. acpi_cmbat_get_bif() is heavy process, >and it was called only when ACPIIO_CMBAT_GET_BIF ioctl was issued >explicitly, until smbat stuff was committed. However, >acpiio_cmbat_get_bif() is called from every >acpi_battery_get_battinfo() call, now. >The attached patch will bring back to former behavior. Please try it >and let me know the result. >It is against 7-CURRENT as of today. If you want to try it on >6-STABLE, you need to apply following diff before applying it: > > > Wonderful! It fixes it!! I applied both patches and everything seams to be working fine now! From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 16:17:22 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E0B6116A428; Tue, 22 Nov 2005 16:17:22 +0000 (GMT) (envelope-from pldrouin@pldrouin.net) Received: from smtp.cyberfingers.net (smtp.cyberfingers.net [198.177.254.227]) by mx1.FreeBSD.org (Postfix) with ESMTP id F329943D6D; Tue, 22 Nov 2005 16:17:21 +0000 (GMT) (envelope-from pldrouin@pldrouin.net) Received: from [134.117.23.170] (pldrouinlap-pc.physics.carleton.ca [134.117.23.170]) by smtp.cyberfingers.net (Postfix) with ESMTP id 8C563170119; Tue, 22 Nov 2005 11:17:23 -0500 (EST) Message-ID: <4383448D.1050300@pldrouin.net> Date: Tue, 22 Nov 2005 11:17:17 -0500 From: Pierre-Luc Drouin User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051107) X-Accept-Language: en-us, en MIME-Version: 1.0 References: <20051122084506.GN853@eucla.lemis.com> In-Reply-To: <20051122084506.GN853@eucla.lemis.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: ACPI problems with Dell laptops? (was: Jerky keyboard and mouse) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 16:17:23 -0000 Greg 'groggy' Lehey wrote: >On Sunday, 20 November 2005 at 23:01:41 -0600, Doug Poland wrote: > > >>On Sun, November 20, 2005 01:59, Greg 'groggy' Lehey wrote: >> >> >>>On Saturday, 19 November 2005 at 21:37:03 -0600, Stephen >>>Montgomery-Smith wrote: >>> >>> >>>>I recently upgraded from stable-6 of Nov 4 to stable-6 of today on >>>>my Dell Latitude D800 Laptop, and suddenly the response of the >>>>touchpad mouse and keyboard was bery bad. >>>> >>>> >>>Heh. I saw the subject line and thought "I wonder if this is a Dell >>>laptop". >>> >>> >>Well, I'm "glad" I'm not the only one :) >> >> >> >>>>In particular, when I type about 1 in 10 key presses simply do not >>>>register. >>>> >>>> >>Same here, it's basically unusable if you're a fast touch typist. >> >> > >Indeed. After all, you're quoting yourself :-) I said: > > > >>>This, however, is a order of magnitude worse than what I have >>>experienced with my Inspiron 6100. >>> >>> > >In particular, I didn't get any dropped characters. And I note that >I've misquoted the model number; it's an Inspiron 6000, not 6100 (I >don't think the latter exists). > > > >>>What happens when you ping another system? I found that the ping >>>time was normal (in the order of 1 µs), but it repeated only every >>>3 seconds. When I unloaded ACPI, things worked normally. >>> >>> >>Not loading ACPI fixed my issues too. I'd be more than happy to >>help any testing that may develop. >> >> > >I would have been interested to hear the results of the ping. But >yes, it would be nice to get the machine to work nicely with ACPI. > >Greg >-- >See complete headers for address and phone numbers >_______________________________________________ >freebsd-stable@freebsd.org mailing list >http://lists.freebsd.org/mailman/listinfo/freebsd-stable >To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" > > > It looks like my problem on my M70. This is caused by recent changes to cmbat in -stable. I have tested a patch for it from Hajimu UMEMOTO this morning and it seams to be working fine with that patch. Look at the thread "Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday" in acpi mailing list From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 20:03:16 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9BF6916A420; Tue, 22 Nov 2005 20:03:16 +0000 (GMT) (envelope-from bsdhack@club-internet.fr) Received: from relay-cv.club-internet.fr (relay-cv.club-internet.fr [194.158.96.103]) by mx1.FreeBSD.org (Postfix) with ESMTP id DE33743D58; Tue, 22 Nov 2005 20:02:53 +0000 (GMT) (envelope-from bsdhack@club-internet.fr) Received: from [192.168.0.5] (d02v-213-44-154-208.d4.club-internet.fr [213.44.154.208]) by relay-cv.club-internet.fr (Postfix) with ESMTP id D44DA25648; Tue, 22 Nov 2005 21:02:46 +0100 (CET) In-Reply-To: <4382494B.8020800@root.org> References: <200511171725.27877.jhb@freebsd.org> <437D04FC.90707@root.org> <200511171750.52720.jhb@freebsd.org> <200511211353.01664.jhb@freebsd.org> <314C3BAA-CBE8-42D8-B2F0-CEC9756F7550@club-internet.fr> <4382494B.8020800@root.org> Mime-Version: 1.0 (Apple Message framework v746.2) Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed Message-Id: <98968A23-2F26-4A01-801D-65C8731D71A7@club-internet.fr> Content-Transfer-Encoding: quoted-printable From: Mathieu Prevot Date: Tue, 22 Nov 2005 21:03:00 +0100 To: Nate Lawson X-Mailer: Apple Mail (2.746.2) Cc: acpi@freebsd.org Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 20:03:17 -0000 Le 21 nov. 05 =E0 23:25, Nate Lawson a =E9crit : > Mathieu Prevot wrote: >> Le 21 nov. 05 =E0 19:53, John Baldwin a =E9crit : >>> On Thursday 17 November 2005 05:50 pm, John Baldwin wrote: >>> >>>> On Thursday 17 November 2005 05:32 pm, Nate Lawson wrote: >>>> >>>>> John Baldwin wrote: >>>>> >>>>>> I think I figured out why some people get messages like: >>>>>> >>>>>> pci_linkX: BIOS IRQ 11 for -17777216.6.INTA is invalid >>>>>> >>>>>> I was not reading the bus number from the bridge device =20 >>>>>> correctly (the >>>>>> normal __BUS_ACCESSOR() macros assume that the passed in =20 >>>>>> argument is a >>>>>> child device, but at the time I'm reading the bus there is no =20 >>>>>> child >>>>>> device, so I was passing in the pcib device, the parent of the =20= >>>>>> pcib >>>>>> device probably returned an error, and the bus variable ended =20 >>>>>> up being >>>>>> some random stack garbage). The attached patch (also at URL) =20 >>>>>> should fix >>>>>> it I think. >>>>>> >>>>>> http://www.FreeBSD.org/~jhb/patches/acpi_pci_link.patch >>>>> >>>>> >>>>> Excellent, patch looks good to me except the printf/panic =20 >>>>> message could >>>>> be improved. >>>> >>>> >>>> I wanna see if it triggers first. >>> >>> >>> So did anyone test this? I can't commit it unless someone tests it. >>> >> Ok John. I'll test it. I have two motherboards with the problem. =20 >> But I am very busy so give me one or two days. > > Just cvsup, it's already tested by 1 person and in -current now. > > --=20 > Nate Weird addresses disappeared. But I don't why I have invalid IRQ ... Copyright (c) 1992-2005 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 6.0-STABLE #2: Tue Nov 22 20:16:37 CET 2005 root@hyphen.scienceclue.org:/usr/obj/usr/src/sys/HYPHEN64 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Sempron(tm) Processor 2600+ (1607.40-MHz K8-class CPU) Origin =3D "AuthenticAMD" Id =3D 0x20fc2 Stepping =3D 2 =20 Features=3D0x78bfbff Features2=3D0x1 AMD Features=3D0xe2500800,LM,3DNow+,3DNow> real memory =3D 1006567424 (959 MB) avail memory =3D 963219456 (918 MB) ACPI APIC Table: ioapic0 irqs 0-23 on motherboard acpi0: on motherboard acpi0: Power Button (fixed) pci_link0: irq 11 on acpi0 pci_link1: irq 5 on acpi0 pci_link2: irq 10 on acpi0 pci_link3: on acpi0 pci_link4: on acpi0 pci_link5: on acpi0 pci_link6: on acpi0 pci_link7: on acpi0 pci_link8: irq 0 on acpi0 pci_link9: irq 0 on acpi0 pci_link10: irq 0 on acpi0 pci_link11: irq 0 on acpi0 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 cpu0: on acpi0 acpi_button0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci_link9: BIOS IRQ 11 for 0.16.INTA is invalid pci_link9: BIOS IRQ 5 for 0.16.INTB is invalid pci_link9: BIOS IRQ 10 for 0.16.INTC is invalid pci_link10: BIOS IRQ 10 for 0.17.INTC is invalid pci_link11: BIOS IRQ 11 for 0.18.INTA is invalid pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: at device 0.0 (no driver attached) atapci0: port =20 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 15.0 on pci0 ata0: on atapci0 ata1: on atapci0 uhci0: port 0xd400-0xd41f irq 21 at =20 device 16.0 on pci0 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0xd800-0xd81f irq 21 at =20 device 16.1 on pci0 uhci1: [GIANT-LOCKED] usb1: on uhci1 usb1: USB revision 1.0 uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0xdc00-0xdc1f irq 21 at =20 device 16.2 on pci0 uhci2: [GIANT-LOCKED] usb2: on uhci2 usb2: USB revision 1.0 uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhci3: port 0xe000-0xe01f irq 21 at =20 device 16.3 on pci0 uhci3: [GIANT-LOCKED] usb3: on uhci3 usb3: USB revision 1.0 uhub3: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered ehci0: mem 0xea000000-0xea0000ff irq =20 21 at device 16.4 on pci0 ehci0: [GIANT-LOCKED] usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: on ehci0 usb4: USB revision 2.0 uhub4: VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub4: 8 ports with 8 removable, self powered isab0: at device 17.0 on pci0 isa0: on isab0 pcm0: port 0xe400-0xe4ff irq 22 at device 17.5 on pci0 pcm0: [GIANT-LOCKED] pcm0: vr0: port 0xe800-0xe8ff mem =20 0xea001000-0xea0010ff irq 23 at device 18.0 on pci0 miibus0: on vr0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto vr0: Ethernet address: 00:14:85:51:39:80 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] orm0: at iomem 0xcc000-0xd3fff on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=3D0x300> vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on =20 isa0 ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/20.00, addr 2, iclass =20= 3/1 ums0: 3 buttons and Z dir. Timecounter "TSC" frequency 1607404078 Hz quality 800 Timecounters tick every 1.000 msec ad0: 152626MB at ata0-master UDMA100 acd0: DVDR at ata1-master UDMA33 acd1: CDRW at ata1-slave UDMA33 Trying to mount root from ufs:/dev/ad0s1a cd0 at ata1 bus 0 target 0 lun 0 cd0: <_NEC DVD_RW ND-3500AG 2.16> Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present cd1 at ata1 bus 0 target 1 lun 0 cd1: Removable CD-ROM SCSI-0 device cd1: 33.000MB/s transfers cd1: Attempt to query device size failed: NOT READY, Medium not =20 present - tray closed vr0: link state changed to DOWN vr0: link state changed to UP From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 20:07:13 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9E06416A421; Tue, 22 Nov 2005 20:07:13 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id A57C843DA6; Tue, 22 Nov 2005 20:06:47 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (ppp-71-139-30-140.dsl.snfc21.pacbell.net [71.139.30.140]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jAMK6lDe029891 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 22 Nov 2005 12:06:48 -0800 Message-ID: <43837A34.1030900@root.org> Date: Tue, 22 Nov 2005 12:06:12 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Hajimu UMEMOTO References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> <437A3901.8010001@pldrouin.net> <437A3B96.4040300@root.org> <437B42C0.9040605@pldrouin.net> <437CAEB0.9060202@pldrouin.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 20:07:13 -0000 Hajimu UMEMOTO wrote: > Hi, > > >>>>>>On Thu, 17 Nov 2005 11:24:16 -0500 >>>>>>Pierre-Luc Drouin said: > > >>Ok, there is new development. I realized by playing with >>debug.acpi.disabled="smbat", debug.acpi.disabled="smbat cmbat" and >>debug.acpi.disabled="cmbat", that my laptop battery is not a smbat, >>but a cmbat. When I played with hw.acpi.battery.info_expire after to >>have applied the patch for acpi_smbat.c, it was freezing less often >>because that sysctl variable was shared by both cmbat and smbat. So I >>can only get battery status from cmbat (disabling cmbat disables the >>use of acpiconf -i loop). To get the status of my battery via cmbat >>was working fine up to 6.0-RELEASE (included), but makes my laptop to >>freeze since I upgraded to 6.0-stable with Nov 10th sources. What >>change related to cmbat between 6.0-release and 6.0-stable could be >>causing this? > > > pldrouin> Has someone found how to fix this problem in -stable? > > Perhaps, I found the cause. acpi_cmbat_get_bif() is heavy process, > and it was called only when ACPIIO_CMBAT_GET_BIF ioctl was issued > explicitly, until smbat stuff was committed. However, > acpiio_cmbat_get_bif() is called from every > acpi_battery_get_battinfo() call, now. > The attached patch will bring back to former behavior. Please try it > and let me know the result. > It is against 7-CURRENT as of today. If you want to try it on > 6-STABLE, you need to apply following diff before applying it: Thank you for tracking this down. It is interesting that BIF is heavyweight while BST is not. I guess that is expected behavior by OEMs which only test on Windows and so not everyone makes BIF simple. On my laptops, BIF is as fast as BST. I don't like the patch approach (changing the API), however. Let me look at it and commit a fix that doesn't change the API. Thanks, -- Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 20:43:49 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AC76816A41F for ; Tue, 22 Nov 2005 20:43:49 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.FreeBSD.org (Postfix) with ESMTP id D4DB243D46 for ; Tue, 22 Nov 2005 20:43:48 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.5b3) with ESMTP id 2441281 for multiple; Tue, 22 Nov 2005 15:43:12 -0500 Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id jAMKh9oL084779; Tue, 22 Nov 2005 15:43:10 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Mathieu Prevot Date: Tue, 22 Nov 2005 15:43:16 -0500 User-Agent: KMail/1.8.2 References: <200511171725.27877.jhb@freebsd.org> <4382494B.8020800@root.org> <98968A23-2F26-4A01-801D-65C8731D71A7@club-internet.fr> In-Reply-To: <98968A23-2F26-4A01-801D-65C8731D71A7@club-internet.fr> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_mL4gD3kL8TbQ9Dh" Message-Id: <200511221543.18043.jhb@freebsd.org> X-Spam-Status: No, score=-2.8 required=4.2 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: acpi@freebsd.org Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 20:43:49 -0000 --Boundary-00=_mL4gD3kL8TbQ9Dh Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Tuesday 22 November 2005 03:03 pm, Mathieu Prevot wrote: > Weird addresses disappeared. But I don't why I have invalid IRQ ... > > ... > ACPI APIC Table: > ioapic0 irqs 0-23 on motherboard > ... > pcib0: port 0xcf8-0xcff on acpi0 > pci_link9: BIOS IRQ 11 for 0.16.INTA is invalid > pci_link9: BIOS IRQ 5 for 0.16.INTB is invalid > pci_link9: BIOS IRQ 10 for 0.16.INTC is invalid > pci_link10: BIOS IRQ 10 for 0.17.INTC is invalid > pci_link11: BIOS IRQ 11 for 0.18.INTA is invalid > ... > uhci0: port 0xd400-0xd41f irq 21 at > device 16.0 on pci0 You are using an I/O APIC. In your ASL, your pci link resources get different IRQs when using APIC than when not using APIC. The BIOS never uses APIC mode, so it programs IRQs for each PCI device according to the non-APIC (aka PIC) mode. The messages above mean that we found out during the boot that the interrupt for 0.16.INTA (PCI bus 0, device (slot) 16, pin A#) is routed via the pci_link9 device, and that the BIOS had set the IRQ for that device to 11. However, when we switch over to APIC mode, then the list of valid IRQs for that link device are something like 20, 21, 22, and 23. The IRQ the BIOS used (11) isn't in that list, so we ignore it and pick an IRQ out of the list (21 in this case). You don't need to worry about these messages. I'll see if I can't shut them up in this case (BIOS uses an ISA IRQ but this link device only has non-ISA IRQs). In fact, I've just whipped up a patch to shut these warnings up. It's attached. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org --Boundary-00=_mL4gD3kL8TbQ9Dh-- From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 22 22:19:48 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 32B5216A421 for ; Tue, 22 Nov 2005 22:19:48 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.FreeBSD.org (Postfix) with ESMTP id BEEDA43D49 for ; Tue, 22 Nov 2005 22:19:46 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.5b3) with ESMTP id 2446761 for multiple; Tue, 22 Nov 2005 17:19:44 -0500 Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id jAMMJfOm085334; Tue, 22 Nov 2005 17:19:41 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-acpi@freebsd.org Date: Tue, 22 Nov 2005 17:16:56 -0500 User-Agent: KMail/1.8.2 References: <200511171725.27877.jhb@freebsd.org> <98968A23-2F26-4A01-801D-65C8731D71A7@club-internet.fr> <200511221543.18043.jhb@freebsd.org> In-Reply-To: <200511221543.18043.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511221716.57350.jhb@freebsd.org> X-Spam-Status: No, score=-2.8 required=4.2 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Nov 2005 22:19:48 -0000 On Tuesday 22 November 2005 03:43 pm, John Baldwin wrote: > On Tuesday 22 November 2005 03:03 pm, Mathieu Prevot wrote: > > Weird addresses disappeared. But I don't why I have invalid IRQ ... > > > > ... > > ACPI APIC Table: > > ioapic0 irqs 0-23 on motherboard > > ... > > pcib0: port 0xcf8-0xcff on acpi0 > > pci_link9: BIOS IRQ 11 for 0.16.INTA is invalid > > pci_link9: BIOS IRQ 5 for 0.16.INTB is invalid > > pci_link9: BIOS IRQ 10 for 0.16.INTC is invalid > > pci_link10: BIOS IRQ 10 for 0.17.INTC is invalid > > pci_link11: BIOS IRQ 11 for 0.18.INTA is invalid > > ... > > uhci0: port 0xd400-0xd41f irq 21 at > > device 16.0 on pci0 > > You are using an I/O APIC. In your ASL, your pci link resources get > different IRQs when using APIC than when not using APIC. The BIOS never > uses APIC mode, so it programs IRQs for each PCI device according to the > non-APIC (aka PIC) mode. The messages above mean that we found out during > the boot that the interrupt for 0.16.INTA (PCI bus 0, device (slot) 16, pin > A#) is routed via the pci_link9 device, and that the BIOS had set the IRQ > for that device to 11. However, when we switch over to APIC mode, then the > list of valid IRQs for that link device are something like 20, 21, 22, and > 23. The IRQ the BIOS used (11) isn't in that list, so we ignore it and > pick an IRQ out of the list (21 in this case). You don't need to worry > about these messages. I'll see if I can't shut them up in this case (BIOS > uses an ISA IRQ but this link device only has non-ISA IRQs). > > In fact, I've just whipped up a patch to shut these warnings up. It's > attached. Patch got killed apparently. You can fetch it from http://www.FreeBSD.org/~jhb/patches/acpi_pci_link.patch -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-freebsd-acpi@FreeBSD.ORG Wed Nov 23 01:06:25 2005 Return-Path: X-Original-To: acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 470E916A41F; Wed, 23 Nov 2005 01:06:25 +0000 (GMT) (envelope-from nate@root.org) Received: from ylpvm15.prodigy.net (ylpvm15-ext.prodigy.net [207.115.57.46]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1541A43D53; Wed, 23 Nov 2005 01:06:24 +0000 (GMT) (envelope-from nate@root.org) Received: from pimout7-ext.prodigy.net (pimout7-int.prodigy.net [207.115.4.147]) by ylpvm15.prodigy.net (8.12.10 outbound/8.12.10) with ESMTP id jAN16Lug031527; Tue, 22 Nov 2005 20:06:21 -0500 X-ORBL: [71.139.30.140] Received: from [10.0.5.50] (ppp-71-139-30-140.dsl.snfc21.pacbell.net [71.139.30.140]) by pimout7-ext.prodigy.net (8.13.4 outbound domainkey aix/8.13.4) with ESMTP id jAN16H0K098214; Tue, 22 Nov 2005 20:06:18 -0500 Message-ID: <4383C083.6010300@root.org> Date: Tue, 22 Nov 2005 17:06:11 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050723) X-Accept-Language: en-us, en MIME-Version: 1.0 To: acpi@FreeBSD.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: stable@FreeBSD.org, FreeBSD Current Subject: [Fwd: cvs commit: src/sys/dev/acpica acpi_cmbat.c] X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 01:06:25 -0000 Here is a patch that should fix the battery hangs on RELENG_6. It was tested to work fine, although I need testing from an affected user to verify it fixes the problem. It was committed to HEAD and will be MFCed if it fixes the problem. I'm a bit disappointed that no one reported this problem in the 2 weeks it was present in 7-current. If you have the time to run -current on at least one partition of your laptop, that would assist me greatly. Thanks, -Nate -------- Original Message -------- Subject: cvs commit: src/sys/dev/acpica acpi_cmbat.c Date: Wed, 23 Nov 2005 00:58:05 +0000 (GMT) From: Nate Lawson To: njl@FreeBSD.ORG njl 2005-11-23 00:57:51 UTC FreeBSD src repository Modified files: sys/dev/acpica acpi_cmbat.c Log: Try to fix problems with periodic hangs by never directly calling _BIF. Instead, re-evaluate _BIF only when we get a notify and use the cached results. We also still evaluate _BIF once on boot. Also, optimize the init loop a little by only querying for a particular info if it's not valid. MFC after: 2 days Revision Changes Path 1.42 +34 -22 src/sys/dev/acpica/acpi_cmbat.c Index: src/sys/dev/acpica/acpi_cmbat.c diff -u src/sys/dev/acpica/acpi_cmbat.c:1.41 src/sys/dev/acpica/acpi_cmbat.c:1.42 --- src/sys/dev/acpica/acpi_cmbat.c:1.41 Sun Sep 11 18:39:01 2005 +++ src/sys/dev/acpica/acpi_cmbat.c Wed Nov 23 00:57:51 2005 @@ -66,7 +66,6 @@ struct acpi_bif bif; struct acpi_bst bst; - struct timespec bif_lastupdated; struct timespec bst_lastupdated; }; @@ -80,8 +79,8 @@ void *context); static int acpi_cmbat_info_expired(struct timespec *lastupdated); static void acpi_cmbat_info_updated(struct timespec *lastupdated); -static void acpi_cmbat_get_bst(device_t dev); -static void acpi_cmbat_get_bif(device_t dev); +static void acpi_cmbat_get_bst(void *arg); +static void acpi_cmbat_get_bif(void *arg); static int acpi_cmbat_bst(device_t dev, struct acpi_bst *bstp); static int acpi_cmbat_bif(device_t dev, struct acpi_bif *bifp); static void acpi_cmbat_init_battery(void *arg); @@ -134,7 +133,6 @@ handle = acpi_get_handle(dev); sc->dev = dev; - timespecclear(&sc->bif_lastupdated); timespecclear(&sc->bst_lastupdated); error = acpi_battery_register(dev); @@ -180,20 +178,22 @@ dev = (device_t)context; sc = device_get_softc(dev); - /* - * Clear the appropriate last updated time. The next call to retrieve - * the battery status will get the new value for us. We don't need to - * acquire a lock since we are only clearing the time stamp and since - * calling _BST/_BIF can trigger a notify, we could deadlock also. - */ switch (notify) { case ACPI_NOTIFY_DEVICE_CHECK: case ACPI_BATTERY_BST_CHANGE: + /* + * Clear the last updated time. The next call to retrieve the + * battery status will get the new value for us. + */ timespecclear(&sc->bst_lastupdated); break; case ACPI_NOTIFY_BUS_CHECK: case ACPI_BATTERY_BIF_CHANGE: - timespecclear(&sc->bif_lastupdated); + /* + * Queue a callback to get the current battery info from thread + * context. It's not safe to block in a notify handler. + */ + AcpiOsQueueForExecution(OSD_PRIORITY_LO, acpi_cmbat_get_bif, dev); break; } @@ -229,16 +229,18 @@ } static void -acpi_cmbat_get_bst(device_t dev) +acpi_cmbat_get_bst(void *arg) { struct acpi_cmbat_softc *sc; ACPI_STATUS as; ACPI_OBJECT *res; ACPI_HANDLE h; ACPI_BUFFER bst_buffer; + device_t dev; ACPI_SERIAL_ASSERT(cmbat); + dev = arg; sc = device_get_softc(dev); h = acpi_get_handle(dev); bst_buffer.Pointer = NULL; @@ -287,24 +289,23 @@ } static void -acpi_cmbat_get_bif(device_t dev) +acpi_cmbat_get_bif(void *arg) { struct acpi_cmbat_softc *sc; ACPI_STATUS as; ACPI_OBJECT *res; ACPI_HANDLE h; ACPI_BUFFER bif_buffer; + device_t dev; ACPI_SERIAL_ASSERT(cmbat); + dev = arg; sc = device_get_softc(dev); h = acpi_get_handle(dev); bif_buffer.Pointer = NULL; bif_buffer.Length = ACPI_ALLOCATE_BUFFER; - if (!acpi_cmbat_info_expired(&sc->bif_lastupdated)) - goto end; - as = AcpiEvaluateObject(h, "_BIF", NULL, &bif_buffer); if (ACPI_FAILURE(as)) { ACPI_VPRINT(dev, acpi_device_get_parent_softc(dev), @@ -346,7 +347,6 @@ goto end; if (acpi_PkgStr(res, 12, sc->bif.oeminfo, ACPI_CMBAT_MAXSTRLEN) != 0) goto end; - acpi_cmbat_info_updated(&sc->bif_lastupdated); end: if (bif_buffer.Pointer != NULL) @@ -360,8 +360,13 @@ sc = device_get_softc(dev); + /* + * Just copy the data. The only value that should change is the + * last-full capacity, so we only update when we get a notify that says + * the info has changed. Many systems apparently take a long time to + * process a _BIF call so we avoid it if possible. + */ ACPI_SERIAL_BEGIN(cmbat); - acpi_cmbat_get_bif(dev); bifp->units = sc->bif.units; bifp->dcap = sc->bif.dcap; bifp->lfcap = sc->bif.lfcap; @@ -422,11 +427,18 @@ if (!acpi_BatteryIsPresent(dev)) continue; + /* + * Only query the battery if this is the first try or the specific + * type of info is still invalid. + */ ACPI_SERIAL_BEGIN(cmbat); - timespecclear(&sc->bst_lastupdated); - timespecclear(&sc->bif_lastupdated); - acpi_cmbat_get_bst(dev); - acpi_cmbat_get_bif(dev); + if (retry == 0 || !acpi_battery_bst_valid(&sc->bst)) { + timespecclear(&sc->bst_lastupdated); + acpi_cmbat_get_bst(dev); + } + if (retry == 0 || !acpi_battery_bif_valid(&sc->bif)) + acpi_cmbat_get_bif(dev); + valid = acpi_battery_bst_valid(&sc->bst) && acpi_battery_bif_valid(&sc->bif); ACPI_SERIAL_END(cmbat); -- Nate From owner-freebsd-acpi@FreeBSD.ORG Wed Nov 23 02:36:01 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A3B6A16A41F; Wed, 23 Nov 2005 02:36:01 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id 590B243D62; Wed, 23 Nov 2005 02:35:58 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [192.168.254.14] (imini.samsco.home [192.168.254.14]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id jAN2ZuQL032449; Tue, 22 Nov 2005 19:35:57 -0700 (MST) (envelope-from scottl@samsco.org) Message-ID: <4383D58C.5040004@samsco.org> Date: Tue, 22 Nov 2005 19:35:56 -0700 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.7) Gecko/20050416 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Nate Lawson References: <4383C083.6010300@root.org> In-Reply-To: <4383C083.6010300@root.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.4 required=3.8 tests=ALL_TRUSTED autolearn=failed version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on pooker.samsco.org Cc: acpi@freebsd.org, stable@freebsd.org, FreeBSD Current Subject: Re: [Fwd: cvs commit: src/sys/dev/acpica acpi_cmbat.c] X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 02:36:01 -0000 Nate Lawson wrote: > Here is a patch that should fix the battery hangs on RELENG_6. It was > tested to work fine, although I need testing from an affected user to > verify it fixes the problem. It was committed to HEAD and will be MFCed > if it fixes the problem. Thanks a lot! > > I'm a bit disappointed that no one reported this problem in the 2 weeks > it was present in 7-current. If you have the time to run -current on at > least one partition of your laptop, that would assist me greatly. Don't feel too bad. You committed it right after 6.0 was released, so people were either looking at 6.0 or taking a breather from the release work. Scott From owner-freebsd-acpi@FreeBSD.ORG Wed Nov 23 02:58:48 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 26EB316A41F; Wed, 23 Nov 2005 02:58:48 +0000 (GMT) (envelope-from djp@polands.org) Received: from corinth.polands.org (CPE-72-129-222-120.new.res.rr.com [72.129.222.120]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC8BE43DA5; Wed, 23 Nov 2005 02:58:36 +0000 (GMT) (envelope-from djp@polands.org) Received: from jericho.polands.org (jericho.polands.org [172.16.1.35]) by corinth.polands.org (8.13.4/8.13.4) with ESMTP id jAN2wTEM056134; Tue, 22 Nov 2005 20:58:29 -0600 (CST) (envelope-from djp@polands.org) Received: from jericho.polands.org (localhost [127.0.0.1]) by jericho.polands.org (8.13.4/8.13.1) with ESMTP id jAN2wUB0099639; Tue, 22 Nov 2005 20:58:30 -0600 (CST) (envelope-from djp@jericho.polands.org) Received: (from djp@localhost) by jericho.polands.org (8.13.4/8.13.1/Submit) id jAN2nCt4099559; Tue, 22 Nov 2005 20:49:12 -0600 (CST) (envelope-from djp) Date: Tue, 22 Nov 2005 20:49:12 -0600 From: Doug Poland To: Nate Lawson Message-ID: <20051123024911.GA99513@polands.org> References: <4383C083.6010300@root.org> <4383D58C.5040004@samsco.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4383D58C.5040004@samsco.org> User-Agent: Mutt/1.5.11 X-Virus-Scanned: ClamAV 0.87/1184/Tue Nov 22 17:10:14 2005 on corinth.polands.org X-Virus-Status: Clean Cc: acpi@freebsd.org, stable@freebsd.org, FreeBSD Current , Scott Long Subject: Re: [Fwd: cvs commit: src/sys/dev/acpica acpi_cmbat.c] X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 02:58:48 -0000 > Nate Lawson wrote: > >Here is a patch that should fix the battery hangs on RELENG_6. It > >was tested to work fine, although I need testing from an affected > >user to verify it fixes the problem. It was committed to HEAD and > >will be MFCed if it fixes the problem. > > My Dell C600 is affected by this problem. I'm running 6.0-STABLE and would be glad to test the patch. Since I don't run patches often, if someone could point me to a doc on how to apply the patch, I'd appreciate it. > >I'm a bit disappointed that no one reported this problem in the 2 > >weeks it was present in 7-current. If you have the time to run > >-current on at least one partition of your laptop, that would assist > >me greatly. > > My laptop was dedicated to other uses between RC1 and early last week. Too bad I missed it. -- Regards, Doug From owner-freebsd-acpi@FreeBSD.ORG Wed Nov 23 03:29:39 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0332216A41F; Wed, 23 Nov 2005 03:29:39 +0000 (GMT) (envelope-from ume@mahoroba.org) Received: from ameno.mahoroba.org (gw4.mahoroba.org [218.45.22.175]) by mx1.FreeBSD.org (Postfix) with ESMTP id B8F1E43D66; Wed, 23 Nov 2005 03:29:36 +0000 (GMT) (envelope-from ume@mahoroba.org) Received: from kasuga.mahoroba.org (IDENT:0BldPN6dFXviH5Aw0vW4EmN3REUrc8mAOeYq/ICdw/q1v1C1l8AQRMW1m+ZEb/fM@kasuga-iwi.mahoroba.org [IPv6:3ffe:501:185b:8010:212:f0ff:fe52:6ac]) (user=ume mech=CRAM-MD5 bits=0) by ameno.mahoroba.org (8.13.4/8.13.4) with ESMTP/inet6 id jAN3TOIR037552 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 23 Nov 2005 12:29:28 +0900 (JST) (envelope-from ume@mahoroba.org) Date: Wed, 23 Nov 2005 12:29:23 +0900 Message-ID: From: Hajimu UMEMOTO To: Nate Lawson In-Reply-To: <43837A34.1030900@root.org> References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> <437A3901.8010001@pldrouin.net> <437A3B96.4040300@root.org> <437B42C0.9040605@pldrouin.net> <437CAEB0.9060202@pldrouin.net> <43837A34.1030900@root.org> User-Agent: xcite1.38> Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 Emacs/22.0.50 (i386-unknown-freebsd6.0) MULE/5.0 (SAKAKI) X-Operating-System: FreeBSD 6.0-STABLE X-PGP-Key: http://www.imasy.or.jp/~ume/publickey.asc X-PGP-Fingerprint: 1F00 0B9E 2164 70FC 6DC5 BF5F 04E9 F086 BF90 71FE Organization: Internet Mutual Aid Society, YOKOHAMA MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (ameno.mahoroba.org [IPv6:3ffe:501:185b:8010::1]); Wed, 23 Nov 2005 12:29:30 +0900 (JST) X-Virus-Scanned: by amavisd-new X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on ameno.mahoroba.org Cc: acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 03:29:39 -0000 Hi, >>>>> On Tue, 22 Nov 2005 12:06:12 -0800 >>>>> Nate Lawson said: nate> Thank you for tracking this down. It is interesting that BIF is nate> heavyweight while BST is not. I guess that is expected behavior by OEMs nate> which only test on Windows and so not everyone makes BIF simple. On my nate> laptops, BIF is as fast as BST. You are welcome. My laptops are also fast enough for BIF. I remembered that iwasaki-san grouched at the heavyweight of BIF when he was writing cmbat support. nate> I don't like the patch approach (changing the API), however. Let me nate> look at it and commit a fix that doesn't change the API. Yes, I didn't feel satisfaction with my patch, too. So, I anticipated that you say so. :-) Sincerely, -- Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan ume@mahoroba.org ume@{,jp.}FreeBSD.org http://www.imasy.org/~ume/ From owner-freebsd-acpi@FreeBSD.ORG Wed Nov 23 03:45:47 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 021DA16A41F; Wed, 23 Nov 2005 03:45:47 +0000 (GMT) (envelope-from pldrouin@pldrouin.net) Received: from relais.videotron.ca (relais.videotron.ca [24.201.245.36]) by mx1.FreeBSD.org (Postfix) with ESMTP id D156943D58; Wed, 23 Nov 2005 03:45:45 +0000 (GMT) (envelope-from pldrouin@pldrouin.net) Received: from [24.200.248.41] by VL-MO-MR001.ip.videotron.ca (Sun Java System Messaging Server 6.2-2.05 (built Apr 28 2005)) with ESMTP id <0IQE00E3P2G8U930@VL-MO-MR001.ip.videotron.ca>; Tue, 22 Nov 2005 22:45:45 -0500 (EST) Date: Tue, 22 Nov 2005 22:45:44 -0500 From: Pierre-Luc Drouin In-reply-to: To: Hajimu UMEMOTO Message-id: <4383E5E8.5050905@pldrouin.net> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT X-Accept-Language: en-us, en References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> <437A3901.8010001@pldrouin.net> <437A3B96.4040300@root.org> <437B42C0.9040605@pldrouin.net> <437CAEB0.9060202@pldrouin.net> <43837A34.1030900@root.org> User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051107) Cc: acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 03:45:47 -0000 Hajimu UMEMOTO wrote: >Hi, > > > >>>>>>On Tue, 22 Nov 2005 12:06:12 -0800 >>>>>>Nate Lawson said: >>>>>> >>>>>> > >nate> Thank you for tracking this down. It is interesting that BIF is >nate> heavyweight while BST is not. I guess that is expected behavior by OEMs >nate> which only test on Windows and so not everyone makes BIF simple. On my >nate> laptops, BIF is as fast as BST. > >You are welcome. My laptops are also fast enough for BIF. I >remembered that iwasaki-san grouched at the heavyweight of BIF when he >was writing cmbat support. > >nate> I don't like the patch approach (changing the API), however. Let me >nate> look at it and commit a fix that doesn't change the API. > >Yes, I didn't feel satisfaction with my patch, too. So, I anticipated >that you say so. :-) > >Sincerely, > >-- >Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan >ume@mahoroba.org ume@{,jp.}FreeBSD.org >http://www.imasy.org/~ume/ > > > Is it that much related to laptop performance? Because the M70 I have is currently the fastest laptop made by Dell and cmbat makes it to hang on FreeBSD... From owner-freebsd-acpi@FreeBSD.ORG Wed Nov 23 10:21:17 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C021F16A41F; Wed, 23 Nov 2005 10:21:17 +0000 (GMT) (envelope-from bsdhack@club-internet.fr) Received: from relay-av.club-internet.fr (relay-av.club-internet.fr [194.158.96.107]) by mx1.FreeBSD.org (Postfix) with ESMTP id 49BF043D62; Wed, 23 Nov 2005 10:21:16 +0000 (GMT) (envelope-from bsdhack@club-internet.fr) Received: from [192.168.0.5] (l07m-213-44-104-116.d4.club-internet.fr [213.44.104.116]) by relay-av.club-internet.fr (Postfix) with ESMTP id A69BB2561B; Wed, 23 Nov 2005 11:21:14 +0100 (CET) In-Reply-To: <200511221719.47787.jhb@freebsd.org> References: <200511171725.27877.jhb@freebsd.org> <200511221543.18043.jhb@freebsd.org> <93F83148-4868-4158-80B7-FB4DCE87E1A5@club-internet.fr> <200511221719.47787.jhb@freebsd.org> Mime-Version: 1.0 (Apple Message framework v746.2) Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: quoted-printable From: Mathieu Prevot Date: Wed, 23 Nov 2005 11:21:22 +0100 To: John Baldwin X-Mailer: Apple Mail (2.746.2) Cc: acpi@freebsd.org Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 10:21:17 -0000 Le 22 nov. 05 =E0 23:19, John Baldwin a =E9crit : > On Tuesday 22 November 2005 05:03 pm, Mathieu Prevot wrote: >> Le 22 nov. 05 =E0 21:43, John Baldwin a =E9crit : >>> On Tuesday 22 November 2005 03:03 pm, Mathieu Prevot wrote: >>>> Weird addresses disappeared. But I don't why I have invalid IRQ ... >>>> >>>> ... >>>> ACPI APIC Table: >>>> ioapic0 irqs 0-23 on motherboard >>>> ... >>>> pcib0: port 0xcf8-0xcff on acpi0 >>>> pci_link9: BIOS IRQ 11 for 0.16.INTA is invalid >>>> pci_link9: BIOS IRQ 5 for 0.16.INTB is invalid >>>> pci_link9: BIOS IRQ 10 for 0.16.INTC is invalid >>>> pci_link10: BIOS IRQ 10 for 0.17.INTC is invalid >>>> pci_link11: BIOS IRQ 11 for 0.18.INTA is invalid >>>> ... >>>> uhci0: port 0xd400-0xd41f irq 21 at >>>> device 16.0 on pci0 >>> >>> You are using an I/O APIC. In your ASL, your pci link resources >>> get different >>> IRQs when using APIC than when not using APIC. The BIOS never uses >>> APIC >>> mode, so it programs IRQs for each PCI device according to the non- >>> APIC (aka >>> PIC) mode. The messages above mean that we found out during the >>> boot that >>> the interrupt for 0.16.INTA (PCI bus 0, device (slot) 16, pin A#) >>> is routed >>> via the pci_link9 device, and that the BIOS had set the IRQ for >>> that device >>> to 11. However, when we switch over to APIC mode, then the list of >>> valid >>> IRQs for that link device are something like 20, 21, 22, and 23. >>> The IRQ the >>> BIOS used (11) isn't in that list, so we ignore it and pick an IRQ >>> out of the >>> list (21 in this case). You don't need to worry about these >>> messages. I'll >>> see if I can't shut them up in this case (BIOS uses an ISA IRQ but >>> this link >>> device only has non-ISA IRQs). >>> >>> In fact, I've just whipped up a patch to shut these warnings up. =20= >>> It's >>> attached. >> >> Thanks very much for the explanation and the patch. > > Ah, you got it. Did you test it and did it work ok? It works (it was attached). In fact there is no warning anymore (dmesg). Maybe there is something more clean ;-) to do (changing "invalid" to =20 something less alarmistic ?) for the repository ... ... ACPI APIC Table: ioapic0 irqs 0-23 on motherboard acpi0: on motherboard acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 cpu0: on acpi0 acpi_button0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: at device 0.0 (no driver attached) atapci0: port =20 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 15.0 on pci0 ata0: on atapci0 ata1: on atapci0 uhci0: port 0xd400-0xd41f irq 21 at =20 device 16.0 on pci0 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0xd800-0xd81f irq 21 at =20 device 16.1 on pci0 uhci1: [GIANT-LOCKED] usb1: on uhci1 usb1: USB revision 1.0 uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0xdc00-0xdc1f irq 21 at =20 device 16.2 on pci0 uhci2: [GIANT-LOCKED] usb2: on uhci2 usb2: USB revision 1.0 uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhci3: port 0xe000-0xe01f irq 21 at =20 device 16.3 on pci0 uhci3: [GIANT-LOCKED] usb3: on uhci3 usb3: USB revision 1.0 uhub3: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered ehci0: mem 0xea000000-0xea0000ff irq =20 21 at device 16.4 on pci0 ehci0: [GIANT-LOCKED] usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: on ehci0 usb4: USB revision 2.0 uhub4: VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub4: 8 ports with 8 removable, self powered isab0: at device 17.0 on pci0 isa0: on isab0 pcm0: port 0xe400-0xe4ff irq 22 at device 17.5 on pci0 pcm0: [GIANT-LOCKED] pcm0: vr0: port 0xe800-0xe8ff mem =20 0xea001000-0xea0010ff irq 23 at device 18.0 on pci0 miibus0: on vr0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto vr0: Ethernet address: 00:14:85:51:39:80 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] orm0: at iomem 0xcc000-0xd3fff on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=3D0x300> vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on =20 isa0 ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/20.00, addr 2, iclass =20= 3/1 ums0: 3 buttons and Z dir. Timecounter "TSC" frequency 1607409798 Hz quality 800 Timecounters tick every 1.000 msec ad0: 152626MB at ata0-master UDMA100 acd0: DVDR at ata1-master UDMA33 acd1: CDRW at ata1-slave UDMA33 Trying to mount root from ufs:/dev/ad0s1a cd0 at ata1 bus 0 target 0 lun 0 cd0: <_NEC DVD_RW ND-3500AG 2.16> Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present cd1 at ata1 bus 0 target 1 lun 0 cd1: Removable CD-ROM SCSI-0 device cd1: 33.000MB/s transfers cd1: Attempt to query device size failed: NOT READY, Medium not =20 present - tray closed vr0: link state changed to DOWN vr0: link state changed to UP From owner-freebsd-acpi@FreeBSD.ORG Wed Nov 23 13:59:38 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 40D4016A41F for ; Wed, 23 Nov 2005 13:59:38 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B64D43D86 for ; Wed, 23 Nov 2005 13:59:23 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.5b3) with ESMTP id 2475401 for multiple; Wed, 23 Nov 2005 08:59:20 -0500 Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id jANDxEiE090312; Wed, 23 Nov 2005 08:59:14 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Mathieu Prevot Date: Wed, 23 Nov 2005 08:56:46 -0500 User-Agent: KMail/1.8.3 References: <200511171725.27877.jhb@freebsd.org> <200511221719.47787.jhb@freebsd.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200511230856.47494.jhb@freebsd.org> X-Spam-Status: No, score=-2.8 required=4.2 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: acpi@freebsd.org Subject: Re: [PATCH] Fix weird PCI bus numbers with pci_linkX X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 13:59:38 -0000 On Wednesday 23 November 2005 05:21 am, Mathieu Prevot wrote: > Le 22 nov. 05 =E0 23:19, John Baldwin a =E9crit : > > On Tuesday 22 November 2005 05:03 pm, Mathieu Prevot wrote: > >> Le 22 nov. 05 =E0 21:43, John Baldwin a =E9crit : > >>> On Tuesday 22 November 2005 03:03 pm, Mathieu Prevot wrote: > >>>> Weird addresses disappeared. But I don't why I have invalid IRQ ... > >>>> > >>>> ... > >>>> ACPI APIC Table: > >>>> ioapic0 irqs 0-23 on motherboard > >>>> ... > >>>> pcib0: port 0xcf8-0xcff on acpi0 > >>>> pci_link9: BIOS IRQ 11 for 0.16.INTA is invalid > >>>> pci_link9: BIOS IRQ 5 for 0.16.INTB is invalid > >>>> pci_link9: BIOS IRQ 10 for 0.16.INTC is invalid > >>>> pci_link10: BIOS IRQ 10 for 0.17.INTC is invalid > >>>> pci_link11: BIOS IRQ 11 for 0.18.INTA is invalid > >>>> ... > >>>> uhci0: port 0xd400-0xd41f irq 21 at > >>>> device 16.0 on pci0 > >>> > >>> You are using an I/O APIC. In your ASL, your pci link resources > >>> get different > >>> IRQs when using APIC than when not using APIC. The BIOS never uses > >>> APIC > >>> mode, so it programs IRQs for each PCI device according to the non- > >>> APIC (aka > >>> PIC) mode. The messages above mean that we found out during the > >>> boot that > >>> the interrupt for 0.16.INTA (PCI bus 0, device (slot) 16, pin A#) > >>> is routed > >>> via the pci_link9 device, and that the BIOS had set the IRQ for > >>> that device > >>> to 11. However, when we switch over to APIC mode, then the list of > >>> valid > >>> IRQs for that link device are something like 20, 21, 22, and 23. > >>> The IRQ the > >>> BIOS used (11) isn't in that list, so we ignore it and pick an IRQ > >>> out of the > >>> list (21 in this case). You don't need to worry about these > >>> messages. I'll > >>> see if I can't shut them up in this case (BIOS uses an ISA IRQ but > >>> this link > >>> device only has non-ISA IRQs). > >>> > >>> In fact, I've just whipped up a patch to shut these warnings up. > >>> It's > >>> attached. > >> > >> Thanks very much for the explanation and the patch. > > > > Ah, you got it. Did you test it and did it work ok? > > It works (it was attached). In fact there is no warning anymore (dmesg). > Maybe there is something more clean ;-) to do (changing "invalid" to > something less alarmistic ?) for the repository ... Nah, this patch is what's going in the repository. It turns off the BIOS I= RQ=20 stuff in the case where it isn't useful such as yours which should avoid=20 spurious warnings. In the case of interrupts routed via ISA IRQs it is sti= ll=20 a valid message that points to at the least a BIOS bug. =2D-=20 John Baldwin =A0<>< =A0http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org From owner-freebsd-acpi@FreeBSD.ORG Wed Nov 23 19:59:36 2005 Return-Path: X-Original-To: acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D42F416A41F; Wed, 23 Nov 2005 19:59:36 +0000 (GMT) (envelope-from grog@lemis.com) Received: from ext-gw.lemis.com (ext-gw.lemis.com [150.101.14.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id A982643D55; Wed, 23 Nov 2005 19:59:32 +0000 (GMT) (envelope-from grog@lemis.com) Received: from wantadilla.lemis.com (wantadilla.lemis.com [192.109.197.135]) by ext-gw.lemis.com (Postfix) with ESMTP id BAA4D131BC9; Thu, 24 Nov 2005 06:29:30 +1030 (CST) Received: from eucla.lemis.com (wantadilla.lemis.com [192.109.197.135]) by wantadilla.lemis.com (Postfix) with ESMTP id 029B5852DD; Thu, 24 Nov 2005 06:29:30 +1030 (CST) Received: by eucla.lemis.com (Postfix, from userid 1004) id 78B1586CA1; Wed, 23 Nov 2005 20:51:20 +0100 (CET) Date: Wed, 23 Nov 2005 20:51:20 +0100 From: Greg 'groggy' Lehey To: Graham North Message-ID: <20051123195120.GE908@eucla.lemis.com> References: <4383C20E.20509@shaw.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4383C20E.20509@shaw.ca> User-Agent: Mutt/1.4.2.1i Organization: The FreeBSD Project Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.FreeBSD.org/ X-PGP-Fingerprint: 9A1B 8202 BCCE B846 F92F 09AC 22E6 F290 507A 4223 Cc: acpi@FreeBSD.org, freebsd-stable@freebsd.org Subject: ACPI problems with Dell laptops (was: Laptop choices) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 19:59:37 -0000 On Tuesday, 22 November 2005 at 17:12:46 -0800, Graham North wrote: > Am currently trying to choose between a couple of laptops, the luck > winner of which will have Freebsd loaded alongside WinXP. > > Dell Latitude d600 with Radeon 9000? video, intel pro wireless > or > IBM R51 - Intel Extreme2, intel pro wireless. > The main differences will likely be the video and maybe bios, acpi...? > Can someone suggest to me whether these are both safe choices? > Am I better off installing 5.4 or 6.0? I've had both Dell and ThinkPad (no longer IBM). I prefer Dell, despite their attempts to convince me otherwise. However, we currently seem to have significant ACPI problems with Dell laptops. I'm writing this on an Inspiron 6000 running 7-CURRENT, but the same problems occur with 6.0: if I enable ACPI, timing goes to hell, and some things just time out. There was a similar message a couple of days ago from an owner of (I think) the latest Latitude machine, which sounded even worse. My requests for feedback about how to solve the problem have so far not been resolved. If you're otherwise tending towards Dell, I'd suggest you watch this space until there's some indication that the problems will be resolved. Nothing of this says that ThinkPads will do better, of course. I don't know what the situation is there. Greg -- See complete headers for address and phone numbers From owner-freebsd-acpi@FreeBSD.ORG Wed Nov 23 23:01:33 2005 Return-Path: X-Original-To: acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D6A8016A41F; Wed, 23 Nov 2005 23:01:33 +0000 (GMT) (envelope-from faber@ISI.EDU) Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) by mx1.FreeBSD.org (Postfix) with ESMTP id CB23843D46; Wed, 23 Nov 2005 23:01:32 +0000 (GMT) (envelope-from faber@ISI.EDU) Received: from hut.isi.edu (hut.isi.edu [128.9.168.160]) by boreas.isi.edu (8.11.6p2+0917/8.11.2) with ESMTP id jANN0jE20753; Wed, 23 Nov 2005 15:00:45 -0800 (PST) Received: (from faber@localhost) by hut.isi.edu (8.13.4/8.13.4/Submit) id jANN0jpi010825; Wed, 23 Nov 2005 15:00:45 -0800 (PST) (envelope-from faber) Date: Wed, 23 Nov 2005 15:00:45 -0800 From: Ted Faber To: "Greg 'groggy' Lehey" Message-ID: <20051123230045.GO63070@hut.isi.edu> References: <4383C20E.20509@shaw.ca> <20051123195120.GE908@eucla.lemis.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="ctUzwJm0i+kwMBIK" Content-Disposition: inline In-Reply-To: <20051123195120.GE908@eucla.lemis.com> User-Agent: Mutt/1.4.2.1i X-url: http://www.isi.edu/~faber X-ISI-4-43-8-MailScanner: Found to be clean X-MailScanner-From: faber@hut.isi.edu Cc: acpi@FreeBSD.org, freebsd-stable@FreeBSD.org, Graham North Subject: Re: ACPI problems with Dell laptops (was: Laptop choices) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 23:01:34 -0000 --ctUzwJm0i+kwMBIK Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Nov 23, 2005 at 08:51:20PM +0100, Greg 'groggy' Lehey wrote: > On Tuesday, 22 November 2005 at 17:12:46 -0800, Graham North wrote: > > Am currently trying to choose between a couple of laptops, the luck > > winner of which will have Freebsd loaded alongside WinXP. > > > > Dell Latitude d600 with Radeon 9000? video, intel pro wireless > > or > > IBM R51 - Intel Extreme2, intel pro wireless. > > The main differences will likely be the video and maybe bios, acpi...? > > Can someone suggest to me whether these are both safe choices? > > Am I better off installing 5.4 or 6.0? >=20 > I've had both Dell and ThinkPad (no longer IBM). I prefer Dell, > despite their attempts to convince me otherwise. >=20 > However, we currently seem to have significant ACPI problems with Dell > laptops. I'm writing this on an Inspiron 6000 running 7-CURRENT, but > the same problems occur with 6.0: if I enable ACPI, timing goes to > hell, and some things just time out. Is *that* what's happening to my 6000 running CURRENT? I've noticed that under load my bfe0 interface sometimes just wanders off and needs to be re-ifconfiged to get going again. And its throughput generally sucks, but I haven't had a chance to try to run things down. If you want someone to check patches or try to reproduce problems, please let me know. --=20 Ted Faber http://www.isi.edu/~faber PGP: http://www.isi.edu/~faber/pubkeys.= asc Unexpected attachment on this mail? See http://www.isi.edu/~faber/FAQ.html#= SIG --ctUzwJm0i+kwMBIK Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFDhPSdaUz3f+Zf+XsRAhTsAJ9KNcCQjsbEa9RvfeIJL3yVZMy8ngCffEnm EU/BW0ywxG7KBZP4CNk61aA= =HIac -----END PGP SIGNATURE----- --ctUzwJm0i+kwMBIK-- From owner-freebsd-acpi@FreeBSD.ORG Thu Nov 24 01:16:19 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8EEF716A432; Thu, 24 Nov 2005 01:16:19 +0000 (GMT) (envelope-from IrvinBloomhappy@ei-ie-cr.org) Received: from 59-115-156-18.dynamic.hinet.net (59-115-156-18.dynamic.hinet.net [59.115.156.18]) by mx1.FreeBSD.org (Postfix) with SMTP id 5E9B143D5E; Thu, 24 Nov 2005 01:15:02 +0000 (GMT) (envelope-from IrvinBloomhappy@ei-ie-cr.org) Received: (qmail 494 invoked from network); Thu, 24 Nov 2005 04:11:57 +0300 Received: from unknown (HELO there) (127.0.0.1) by eigenspace.minihub.org with SMTP; Wed, 23 Nov 2005 23:05:57 -0200 Content-Type: text/plain; Message-Id: <9.3.2.7.2.2005089.00b0a50@designs.com> Date: Thu, 24 Nov 2005 07:08:57 +0600 From: "Carol Rojas" To: freebsd-acpi@freebsd.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4) Subject: order anytime Brandon X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Nov 2005 01:16:20 -0000 ED Drugs proudly presents New christmas prices: Viagra $1.56 Cialis $3.00 Levitra $2.78 Viagra SOFT $1.89 NEW! Cialis SOFT $3.33 NEW! Visit us here: http://frazzlet7zhzhz4g2ygltb4gbtmyttb.rheumdc.com/ amphioxis you drown me, shipshape . oklahoma you ampersand me, sheepskin armistice . boxy you cuba me, accreditation . botch you whipple me, chipmunk rape briny . choctaw you musician me, microfiche workout implausible backplate . reich you swabby me, hostage . inflater you mach me, playwriting abel lapidary . http://frazzlet7zhzhz4g2ygltb4gbtmyttb.rheumdc.com/herd From owner-freebsd-acpi@FreeBSD.ORG Thu Nov 24 08:07:08 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2104B16A41F; Thu, 24 Nov 2005 08:07:08 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id AD31543D49; Thu, 24 Nov 2005 08:07:07 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (ppp-71-139-30-140.dsl.snfc21.pacbell.net [71.139.30.140]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jAO87AZM023788 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 24 Nov 2005 00:07:10 -0800 Message-ID: <438574A4.80001@root.org> Date: Thu, 24 Nov 2005 00:07:00 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Hajimu UMEMOTO References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> <437A3901.8010001@pldrouin.net> <437A3B96.4040300@root.org> <437B42C0.9040605@pldrouin.net> <437CAEB0.9060202@pldrouin.net> <43837A34.1030900@root.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Nov 2005 08:07:08 -0000 Hajimu UMEMOTO wrote: >>>>>>On Tue, 22 Nov 2005 12:06:12 -0800 >>>>>>Nate Lawson said: > > > nate> Thank you for tracking this down. It is interesting that BIF is > nate> heavyweight while BST is not. I guess that is expected behavior by OEMs > nate> which only test on Windows and so not everyone makes BIF simple. On my > nate> laptops, BIF is as fast as BST. > > You are welcome. My laptops are also fast enough for BIF. I > remembered that iwasaki-san grouched at the heavyweight of BIF when he > was writing cmbat support. > > nate> I don't like the patch approach (changing the API), however. Let me > nate> look at it and commit a fix that doesn't change the API. > > Yes, I didn't feel satisfaction with my patch, too. So, I anticipated > that you say so. :-) My patch has been committed, tested, and MFCd. Thank you for your debugging help, Umemoto-san. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Thu Nov 24 08:09:48 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4E00C16A427 for ; Thu, 24 Nov 2005 08:09:48 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 77FDF43D70 for ; Thu, 24 Nov 2005 08:09:44 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (ppp-71-139-30-140.dsl.snfc21.pacbell.net [71.139.30.140]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jAO89jZM023802 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 24 Nov 2005 00:09:46 -0800 Message-ID: <4385753F.4090807@root.org> Date: Thu, 24 Nov 2005 00:09:35 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Denis Shaposhnikov References: <87zmo87ltu.fsf@neva.vlink.ru> <87br0owupr.fsf@neva.vlink.ru> <87ek5ijnls.fsf@neva.vlink.ru> In-Reply-To: <87ek5ijnls.fsf@neva.vlink.ru> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: short time freeze on CURRENT X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Nov 2005 08:09:48 -0000 Denis Shaposhnikov wrote: >>>>>>"Denis" == Denis Shaposhnikov writes: > > > Denis> About every 10 seconds the system freeze for about 0.5 > Denis> second. I feel it on mplayer, for example, and on a > Denis> keyboard. The system lost my keypresses. I see it on friday's > > Denis> I've tried to boot without ACPI and everything is OK. So, > Denis> something strange with ACPI on fresh CURRENT. > > I've found that debug.acpi.disabled="cmbat" fixes that behaviour. > This is fixed in -current and 6-stable. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Thu Nov 24 12:06:15 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C547716A428; Thu, 24 Nov 2005 12:06:15 +0000 (GMT) (envelope-from freebsd-stable@club-internet.fr) Received: from relay-bm.club-internet.fr (relay-bm.club-internet.fr [194.158.104.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id 12CD643DA6; Thu, 24 Nov 2005 12:05:41 +0000 (GMT) (envelope-from freebsd-stable@club-internet.fr) Received: from [192.168.0.5] (d01m-213-44-213-61.d4.club-internet.fr [213.44.213.61]) by relay-bm.club-internet.fr (Postfix) with ESMTP id 0620425604; Thu, 24 Nov 2005 13:05:33 +0100 (CET) In-Reply-To: <20051123144850.GA1613@polands.org> References: <4383C083.6010300@root.org> <4383D58C.5040004@samsco.org> <20051123024911.GA99513@polands.org> <20051123144850.GA1613@polands.org> Mime-Version: 1.0 (Apple Message framework v746.2) Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed Message-Id: <74C4FED8-AFD1-4375-A875-438827BECC57@club-internet.fr> Content-Transfer-Encoding: quoted-printable From: Mathieu Prevot Date: Thu, 24 Nov 2005 13:05:47 +0100 To: Doug Poland X-Mailer: Apple Mail (2.746.2) Cc: acpi@freebsd.org, FreeBSD Current Subject: Build just one module (was Re: [Fwd: cvs commit: src/sys/dev/acpica acpi_cmbat.c]) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Nov 2005 12:06:16 -0000 Le 23 nov. 05 =E0 15:48, Doug Poland a =E9crit : > On Wed, Nov 23, 2005 at 11:49:20AM +0100, Mathieu Prevot wrote: >> >> Le 23 nov. 05 ? 03:49, Doug Poland a ?crit : >> >>>> Nate Lawson wrote: >>>>> Here is a patch that should fix the battery hangs on RELENG_6. It >>>>> was tested to work fine, although I need testing from an affected >>>>> user to verify it fixes the problem. It was committed to HEAD and >>>>> will be MFCed if it fixes the problem. >>>>> >>> My Dell C600 is affected by this problem. I'm running 6.0-STABLE =20= >>> and >>> would be glad to test the patch. Since I don't run patches =20 >>> often, if >>> someone could point me to a doc on how to apply the patch, I'd >>> appreciate it. >> You should think man 'subject', Unix for the impatient or google and >> find things like: >> >> patch -i patchfile filetopatch >> patch> > Thank you, that part is fairly obvious. What I'm unsure of is =20 > where in > the source tree do I apply that patch from, and, must I to rebuild > world, or just the affected part of sys/dev. Try and see for the patch. 'patch -i patchfile filetopatch' works =20 from anywhere. I don't think you need to rebuild world. I think you can just build =20 acpi module but I don't know how. You may glance at /usr/src/Makefile* ... MP From owner-freebsd-acpi@FreeBSD.ORG Thu Nov 24 18:47:58 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BDEFE16A41F; Thu, 24 Nov 2005 18:47:58 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB83643D53; Thu, 24 Nov 2005 18:47:57 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (ppp-71-139-30-140.dsl.snfc21.pacbell.net [71.139.30.140]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jAOIlwZM032076 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 24 Nov 2005 10:48:00 -0800 Message-ID: <43860AD3.7090608@root.org> Date: Thu, 24 Nov 2005 10:47:47 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Mathieu Prevot References: <4383C083.6010300@root.org> <4383D58C.5040004@samsco.org> <20051123024911.GA99513@polands.org> <20051123144850.GA1613@polands.org> <74C4FED8-AFD1-4375-A875-438827BECC57@club-internet.fr> In-Reply-To: <74C4FED8-AFD1-4375-A875-438827BECC57@club-internet.fr> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: Doug Poland , acpi@freebsd.org, FreeBSD Current Subject: Re: Build just one module (was Re: [Fwd: cvs commit: src/sys/dev/acpica acpi_cmbat.c]) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Nov 2005 18:47:58 -0000 Mathieu Prevot wrote: > > Le 23 nov. 05 à 15:48, Doug Poland a écrit : > >> On Wed, Nov 23, 2005 at 11:49:20AM +0100, Mathieu Prevot wrote: >> >>> >>> Le 23 nov. 05 ? 03:49, Doug Poland a ?crit : >>> >>>>> Nate Lawson wrote: >>>>> >>>>>> Here is a patch that should fix the battery hangs on RELENG_6. It >>>>>> was tested to work fine, although I need testing from an affected >>>>>> user to verify it fixes the problem. It was committed to HEAD and >>>>>> will be MFCed if it fixes the problem. >>>>>> >>>> My Dell C600 is affected by this problem. I'm running 6.0-STABLE and >>>> would be glad to test the patch. Since I don't run patches often, if >>>> someone could point me to a doc on how to apply the patch, I'd >>>> appreciate it. >>> >>> You should think man 'subject', Unix for the impatient or google and >>> find things like: >>> >>> patch -i patchfile filetopatch >>> patch>> >> Thank you, that part is fairly obvious. What I'm unsure of is where in >> the source tree do I apply that patch from, and, must I to rebuild >> world, or just the affected part of sys/dev. > > > Try and see for the patch. 'patch -i patchfile filetopatch' works from > anywhere. > I don't think you need to rebuild world. I think you can just build > acpi module but I don't know how. > You may glance at /usr/src/Makefile* ... Look at the path in the patch start. If it's "sys/dev", then patch from your src dir. If it's "src/sys/dev", patch from above the src dir. If it's just "file.c", then you have to find file.c and patch from there (but few people generate diffs this way, it's bad form). For acpi, then just: cd /sys/modules/acpi/acpi && make && cp acpi.ko / Then at the loader prompt: load /acpi.ko You don't want to use "make install", otherwise you overwrite your known good acpi.ko -- Nate From owner-freebsd-acpi@FreeBSD.ORG Thu Nov 24 22:00:49 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8FF1516A42C; Thu, 24 Nov 2005 22:00:49 +0000 (GMT) (envelope-from oberman@es.net) Received: from postal1.es.net (postal1.es.net [198.128.3.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1063D43FAE; Thu, 24 Nov 2005 20:37:35 +0000 (GMT) (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; Thu, 24 Nov 2005 12:37:31 -0800 Received: from ptavv (localhost [127.0.0.1]) by ptavv.es.net (Tachyon Server) with ESMTP id C9F235D09; Thu, 24 Nov 2005 12:37:31 -0800 (PST) To: Mathieu Prevot In-reply-to: Your message of "Thu, 24 Nov 2005 13:05:47 +0100." <74C4FED8-AFD1-4375-A875-438827BECC57@club-internet.fr> Date: Thu, 24 Nov 2005 12:37:31 -0800 From: "Kevin Oberman" Message-Id: <20051124203731.C9F235D09@ptavv.es.net> Cc: Doug Poland , acpi@freebsd.org, FreeBSD Current Subject: Re: Build just one module (was Re: [Fwd: cvs commit: src/sys/dev/acpica acpi_cmbat.c]) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Nov 2005 22:00:49 -0000 > From: Mathieu Prevot > Date: Thu, 24 Nov 2005 13:05:47 +0100 > Sender: owner-freebsd-acpi@freebsd.org > > > Le 23 nov. 05 à 15:48, Doug Poland a écrit : > > > On Wed, Nov 23, 2005 at 11:49:20AM +0100, Mathieu Prevot wrote: > >> > >> Le 23 nov. 05 ? 03:49, Doug Poland a ?crit : > >> > >>>> Nate Lawson wrote: > >>>>> Here is a patch that should fix the battery hangs on RELENG_6. It > >>>>> was tested to work fine, although I need testing from an affected > >>>>> user to verify it fixes the problem. It was committed to HEAD and > >>>>> will be MFCed if it fixes the problem. > >>>>> > >>> My Dell C600 is affected by this problem. I'm running 6.0-STABLE > > >>> and > >>> would be glad to test the patch. Since I don't run patches > >>> often, if > >>> someone could point me to a doc on how to apply the patch, I'd > >>> appreciate it. > >> You should think man 'subject', Unix for the impatient or google and > >> find things like: > >> > >> patch -i patchfile filetopatch > >> patch >> > > Thank you, that part is fairly obvious. What I'm unsure of is > > where in > > the source tree do I apply that patch from, and, must I to rebuild > > world, or just the affected part of sys/dev. > > Try and see for the patch. 'patch -i patchfile filetopatch' works > from anywhere. > I don't think you need to rebuild world. I think you can just build > acpi module but I don't know how. > You may glance at /usr/src/Makefile* ... While reading /usr/src/Makefile* should get you there, those with limited make-foo should go to /sys/modules/acpi and: make obj make clean make depend make make install This will only take a couple of minutes, then reboot your system. -- 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-acpi@FreeBSD.ORG Fri Nov 25 13:55:16 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5A37F16A41F for ; Fri, 25 Nov 2005 13:55:16 +0000 (GMT) (envelope-from timm.gloger@gmail.com) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id B2ADB43D4C for ; Fri, 25 Nov 2005 13:55:14 +0000 (GMT) (envelope-from timm.gloger@gmail.com) Received: by zproxy.gmail.com with SMTP id 8so394602nzo for ; Fri, 25 Nov 2005 05:55:14 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=fggaFScKc3f1cX2lJ8iSl6kFc5s6BhvkPYwYTZCLmQoSoFKSvzgz/sIh9pfjO9Hg/OC0ohrLyizktKbkJg56E+4tIwVDoIuvzKn5JuwhAocB4X3X7e0vd5MAxK84dYvoETLjo30LI5C+iGtpw8TSGhDDAPpGZdbDBhfxzJ3OsSY= Received: by 10.36.227.25 with SMTP id z25mr1176885nzg; Fri, 25 Nov 2005 05:55:14 -0800 (PST) Received: by 10.36.127.10 with HTTP; Fri, 25 Nov 2005 05:55:13 -0800 (PST) Message-ID: <19269e540511250555p18355d49u@mail.gmail.com> Date: Fri, 25 Nov 2005 14:55:13 +0100 From: Timm Florian Gloger To: freebsd-acpi@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_19485_7205456.1132926913814" X-Mailman-Approved-At: Fri, 25 Nov 2005 14:00:13 +0000 Subject: System freezes when using ACPI X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Nov 2005 13:55:16 -0000 ------=_Part_19485_7205456.1132926913814 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline aGV5IGxpc3QsCgppIGluc3RhbGxlZCBhIGZyZXNoIDYuMCBzdGFibGUgc3lzdGVtIG9uIG15IG1h Y2hpbmUuCgp3aGVuIHVzaW5nIGFjcGkgdGhlIHN5c3RlbSBmcmVlemVzIGFmdGVyIGxlc3MgdGhh biAxMCBtaW51dGVzLgp3aXRoIGRpc2FibGVkIGFjcGkgdGhlcmUgaXMgbm8gc3VjaCBwcm9ibGVt IGFuZCB0aGUgc3lzdGVtIHJ1bnMgZmluZS4KCmkgYW0gbmV3IHRvIGZyZWVic2Qgc28gaSBkb250 IGtub3cgYWxsIHRoZSB0aGluZ3Mgd2hpY2ggbWF5IGluZmx1ZW5jZQp0aGUgYWNwaSBkcml2ZXIg dG8gbWlzYmVoYXZlLgoKaSBhdHRhY2hlZCB0aGUgb3V0cHV0cyB3aGljaCBhcmUgbWVudGlvbmVk IGluIHRoZSBoYW5kYm9vay4KCnRoZSBzeXN0ZW0gaXM6Cgphc3VzIGE3bjh4IGRlbHV4ZSByZXYg Mi4wIGJpb3MgMTAwOAphbWQgYXRobG9uIHhwIDMwMDArIGZzYiA0MDAKMSBnYiBkZHI0MDAgcmFt Cm5mb3JjZSAyIGNoaXBzZXQgKGZpcmV3aXJlIGRpc2FibGVkKQpzYXBwaGlyZSByYWRlb24gOTgw MCBwcm8KCmlmIHRoZXJlIGFyZSBhbnkgZnVydGhlciBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byBn ZXQgdGhlIHN5c3RlbSB3b3JrCnByb3Blcmx5IC4uLgoKdGhhbmtzCnRpbW0K ------=_Part_19485_7205456.1132926913814 Content-Type: application/octet-stream; name="dmesg_acpi_off" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dmesg_acpi_off" Q29weXJpZ2h0IChjKSAxOTkyLTIwMDUgVGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0IChj KSAxOTc5LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAxOTkzLCAx OTk0CglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiBBbGwgcmln aHRzIHJlc2VydmVkLgpGcmVlQlNEIDYuMC1SRUxFQVNFICMwOiBUaHUgTm92ICAzIDA5OjM2OjEz IFVUQyAyMDA1CiAgICByb290QHg2NC5zYW1zY28uaG9tZTovdXNyL29iai91c3Ivc3JjL3N5cy9H RU5FUklDClByZWxvYWRlZCBlbGYga2VybmVsICIvYm9vdC9rZXJuZWwva2VybmVsIiBhdCAweGMw YTMyMDAwLgptcHRhYmxlX3Byb2JlOiBNUCBDb25maWcgVGFibGUgaGFzIGJhZCBzaWduYXR1cmU6 IDRcXkNcXl8KQVBJQzogQ291bGQgbm90IGZpbmQgYW55IEFQSUNzLgpDYWxpYnJhdGluZyBjbG9j ayhzKSAuLi4gaTgyNTQgY2xvY2s6IDExOTMxNjYgSHoKQ0xLX1VTRV9JODI1NF9DQUxJQlJBVElP TiBub3Qgc3BlY2lmaWVkIC0gdXNpbmcgZGVmYXVsdCBmcmVxdWVuY3kKVGltZWNvdW50ZXIgImk4 MjU0IiBmcmVxdWVuY3kgMTE5MzE4MiBIeiBxdWFsaXR5IDAKQ2FsaWJyYXRpbmcgVFNDIGNsb2Nr IC4uLiBUU0MgY2xvY2s6IDIxMDQ3ODgzNzggSHoKQ1BVOiBBTUQgQXRobG9uKHRtKSBYUCAzMDAw KyAoMjEwNC43OS1NSHogNjg2LWNsYXNzIENQVSkKICBPcmlnaW4gPSAiQXV0aGVudGljQU1EIiAg SWQgPSAweDZhMCAgU3RlcHBpbmcgPSAwCiAgRmVhdHVyZXM9MHgzODNmYmZmPEZQVSxWTUUsREUs UFNFLFRTQyxNU1IsUEFFLE1DRSxDWDgsQVBJQyxTRVAsTVRSUixQR0UsTUNBLENNT1YsUEFULFBT RTM2LE1NWCxGWFNSLFNTRT4KICBBTUQgRmVhdHVyZXM9MHhjMDQwMDgwMDxTWVNDQUxMLE1NWCss M0ROb3crLDNETm93PgpEYXRhIFRMQjogMzIgZW50cmllcywgZnVsbHkgYXNzb2NpYXRpdmUKSW5z dHJ1Y3Rpb24gVExCOiAxNiBlbnRyaWVzLCBmdWxseSBhc3NvY2lhdGl2ZQpMMSBkYXRhIGNhY2hl OiA2NCBrYnl0ZXMsIDY0IGJ5dGVzL2xpbmUsIDEgbGluZXMvdGFnLCAyLXdheSBhc3NvY2lhdGl2 ZQpMMSBpbnN0cnVjdGlvbiBjYWNoZTogNjQga2J5dGVzLCA2NCBieXRlcy9saW5lLCAxIGxpbmVz L3RhZywgMi13YXkgYXNzb2NpYXRpdmUKTDIgaW50ZXJuYWwgY2FjaGU6IDUxMiBrYnl0ZXMsIDY0 IGJ5dGVzL2xpbmUsIDEgbGluZXMvdGFnLCA4LXdheSBhc3NvY2lhdGl2ZQpyZWFsIG1lbW9yeSAg PSAxMDczNjc2Mjg4ICgxMDIzIE1CKQpQaHlzaWNhbCBtZW1vcnkgY2h1bmsocyk6CjB4MDAwMDAw MDAwMDAwMTAwMCAtIDB4MDAwMDAwMDAwMDA5ZWZmZiwgNjQ3MTY4IGJ5dGVzICgxNTggcGFnZXMp CjB4MDAwMDAwMDAwMDEwMDAwMCAtIDB4MDAwMDAwMDAwMDNmZmZmZiwgMzE0NTcyOCBieXRlcyAo NzY4IHBhZ2VzKQoweDAwMDAwMDAwMDBjMjUwMDAgLSAweDAwMDAwMDAwM2VkYjdmZmYsIDEwNDE4 MzgwODAgYnl0ZXMgKDI1NDM1NSBwYWdlcykKYXZhaWwgbWVtb3J5ID0gMTA0MTc5NzEyMCAoOTkz IE1CKQpiaW9zMzI6IEZvdW5kIEJJT1MzMiBTZXJ2aWNlIERpcmVjdG9yeSBoZWFkZXIgYXQgMHhj MDBmYWZiMApiaW9zMzI6IEVudHJ5ID0gMHhmYjQ0MCAoYzAwZmI0NDApICBSZXYgPSAwICBMZW4g PSAxCnBjaWJpb3M6IFBDSSBCSU9TIGVudHJ5IGF0IDB4ZjAwMDArMHhiNDcwCnBucGJpb3M6IEZv dW5kIFBuUCBCSU9TIGRhdGEgYXQgMHhjMDBmYmYwMApwbnBiaW9zOiBFbnRyeSA9IGYwMDAwOmJm MzAgIFJldiA9IDEuMApPdGhlciBCSU9TIHNpZ25hdHVyZXMgZm91bmQ6CndsYW46IDw4MDIuMTEg TGluayBMYXllcj4KbnVsbDogPG51bGwgZGV2aWNlLCB6ZXJvIGRldmljZT4KcmFuZG9tOiA8ZW50 cm9weSBzb3VyY2UsIFNvZnR3YXJlLCBZYXJyb3c+Cm5mc2xvY2s6IHBzZXVkby1kZXZpY2UKaW86 IDxJL08+Cm1lbTogPG1lbW9yeT4KUGVudGl1bSBQcm8gTVRSUiBzdXBwb3J0IGVuYWJsZWQKbnB4 MDogW0ZBU1RdCm5weDA6IDxtYXRoIHByb2Nlc3Nvcj4gb24gbW90aGVyYm9hcmQKbnB4MDogSU5U IDE2IGludGVyZmFjZQpjcHUwIG9uIG1vdGhlcmJvYXJkCnBjaV9vcGVuKDEpOgltb2RlIDEgYWRk ciBwb3J0ICgweDBjZjgpIGlzIDB4ODAwMDA4ODgKcGNpX29wZW4oMWEpOgltb2RlMXJlcz0weDgw MDAwMDAwICgweDgwMDAwMDAwKQpwY2lfY2ZnY2hlY2s6CWRldmljZSAwIFtjbGFzcz0wNjAwMDBd IFtoZHI9ODBdIGlzIHRoZXJlIChpZD0wMWUwMTBkZSkKcGNpYmlvczogQklPUyB2ZXJzaW9uIDIu MTAKRm91bmQgJFBJUiB0YWJsZSwgMTEgZW50cmllcyBhdCAweGMwMGZkZWIwClBDSS1Pbmx5IElu dGVycnVwdHM6IDUgMTEKTG9jYXRpb24gIEJ1cyBEZXZpY2UgUGluICBMaW5rICBJUlFzCnNsb3Qg MSAgICAgIDAgICAgOCAgICBBICAgMHgwMSAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MSAgICAgIDAgICAgOCAgICBCICAgMHgwMiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MSAgICAgIDAgICAgOCAgICBDICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MSAgICAgIDAgICAgOCAgICBEICAgMHgwNCAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MiAgICAgIDAgICAxMiAgICBBICAgMHgwMSAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MiAgICAgIDAgICAxMiAgICBCICAgMHgwMiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MiAgICAgIDAgICAxMiAgICBDICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MiAgICAgIDAgICAxMiAgICBEICAgMHgwNCAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MyAgICAgIDIgICAgMSAgICBBICAgMHgwZiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MyAgICAgIDIgICAgMSAgICBCICAgMHgwZiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MyAgICAgIDIgICAgMSAgICBDICAgMHgwZiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg MyAgICAgIDIgICAgMSAgICBEICAgMHgwZiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NCAgICAgIDEgICAgNiAgICBBICAgMHgwMSAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NCAgICAgIDEgICAgNiAgICBCICAgMHgwMiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NCAgICAgIDEgICAgNiAgICBDICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NCAgICAgIDEgICAgNiAgICBEICAgMHgwNCAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NSAgICAgIDEgICAgNyAgICBBICAgMHgwNCAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NSAgICAgIDEgICAgNyAgICBCICAgMHgwMSAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NSAgICAgIDEgICAgNyAgICBDICAgMHgwMiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NSAgICAgIDEgICAgNyAgICBEICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NiAgICAgIDEgICAgOCAgICBBICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NiAgICAgIDEgICAgOCAgICBCICAgMHgwNCAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NiAgICAgIDEgICAgOCAgICBDICAgMHgwMSAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NiAgICAgIDEgICAgOCAgICBEICAgMHgwMiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NyAgICAgIDEgICAgOSAgICBBICAgMHgwMiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NyAgICAgIDEgICAgOSAgICBCICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NyAgICAgIDEgICAgOSAgICBDICAgMHgwNCAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg NyAgICAgIDEgICAgOSAgICBEICAgMHgwMSAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg OCAgICAgIDEgICAxMCAgICBBICAgMHgwMSAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg OCAgICAgIDEgICAxMCAgICBCICAgMHgwMiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg OCAgICAgIDEgICAxMCAgICBDICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg OCAgICAgIDEgICAxMCAgICBEICAgMHgwNCAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg OSAgICAgIDEgICAxMSAgICBBICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg OSAgICAgIDEgICAxMSAgICBCICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg OSAgICAgIDEgICAxMSAgICBDICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnNsb3Qg OSAgICAgIDEgICAxMSAgICBEICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CmVtYmVk ZGVkICAgIDAgICAzMCAgICBBICAgMHgwNCAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CmVtYmVk ZGVkICAgIDAgICAzMCAgICBCICAgMHgwMSAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CmVtYmVk ZGVkICAgIDAgICAzMCAgICBDICAgMHgwMiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CmVtYmVk ZGVkICAgIDAgICAzMCAgICBEICAgMHgwMyAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CnBjaWIw OiA8SG9zdCB0byBQQ0kgYnJpZGdlPiBwY2lidXMgMCBvbiBtb3RoZXJib2FyZApwaXIwOiA8UENJ IEludGVycnVwdCBSb3V0aW5nIFRhYmxlOiAxMSBFbnRyaWVzPiBvbiBtb3RoZXJib2FyZAokUElS OiBMaW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpMaW5rICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAw eDEgIDI1NSAgIE4gICAgIDggIDMgNCA1IDcgOSAxMCAxMSAxMiAxNCAxNQogMHgyICAyNTUgICBO ICAgICA4ICAzIDQgNSA3IDkgMTAgMTEgMTIgMTQgMTUKIDB4MyAgMjU1ICAgTiAgICAxMiAgMyA0 IDUgNyA5IDEwIDExIDEyIDE0IDE1CiAweDQgIDI1NSAgIE4gICAgIDggIDMgNCA1IDcgOSAxMCAx MSAxMiAxNCAxNQogMHhmICAyNTUgICBOICAgICA0ICAzIDQgNSA3IDkgMTAgMTEgMTIgMTQgMTUK JFBJUjogRm91bmQgbWF0Y2hpbmcgcGluIGZvciAyLjEuSU5UQSBhdCBmdW5jIDA6IDUKJFBJUjog TGlua3MgYWZ0ZXIgaW5pdGlhbCBJUlEgZGlzY292ZXJ5OgpMaW5rICBJUlEgIFJ0ZCAgUmVmICBJ UlFzCiAweDEgIDI1NSAgIE4gICAgIDggIDMgNCA1IDcgOSAxMCAxMSAxMiAxNCAxNQogMHgyICAy NTUgICBOICAgICA4ICAzIDQgNSA3IDkgMTAgMTEgMTIgMTQgMTUKIDB4MyAgMjU1ICAgTiAgICAx MiAgMyA0IDUgNyA5IDEwIDExIDEyIDE0IDE1CiAweDQgIDI1NSAgIE4gICAgIDggIDMgNCA1IDcg OSAxMCAxMSAxMiAxNCAxNQogMHhmICAgIDUgICBZICAgICA0ICAzIDQgNSA3IDkgMTAgMTEgMTIg MTQgMTUKJFBJUjogSVJRcyB1c2VkIGJ5IEJJT1M6IDUKJFBJUjogSW50ZXJydXB0IFdlaWdodHM6 ClsgICAgMCAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOSAgMTAgIDExICAxMiAg MTMgIDE0ICAxNSBdClsgICAgMCAgIDAgICAwICAgMCAgIDAgICA0ICAgMCAgIDAgICAwICAgMCAg IDAgICAwICAgMCAgIDAgICAwICAgMCBdCnBjaTA6IDxQQ0kgYnVzPiBvbiBwY2liMApwY2kwOiBw aHlzaWNhbCBidXM9MApmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDAxZTAsIHJldmlkPTB4 YzEKCWJ1cz0wLCBzbG90PTAsIGZ1bmM9MAoJY2xhc3M9MDYtMDAtMDAsIGhkcnR5cGU9MHgwMCwg bWZkZXY9MQoJY21kcmVnPTB4MDAwNiwgc3RhdHJlZz0weDAwYjAsIGNhY2hlbG5zej0wIChkd29y ZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgw MCAoMCBucykKCW1hcFsxMF06IHR5cGUgMywgcmFuZ2UgMzIsIGJhc2UgZTAwMDAwMDAsIHNpemUg MjYsIGVuYWJsZWQKZm91bmQtPgl2ZW5kb3I9MHgxMGRlLCBkZXY9MHgwMWViLCByZXZpZD0weGMx CglidXM9MCwgc2xvdD0wLCBmdW5jPTEKCWNsYXNzPTA1LTAwLTAwLCBoZHJ0eXBlPTB4MDAsIG1m ZGV2PTEKCWNtZHJlZz0weDAwMDAsIHN0YXRyZWc9MHgwMDIwLCBjYWNoZWxuc3o9MCAoZHdvcmRz KQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAg KDAgbnMpCmZvdW5kLT4JdmVuZG9yPTB4MTBkZSwgZGV2PTB4MDFlZSwgcmV2aWQ9MHhjMQoJYnVz PTAsIHNsb3Q9MCwgZnVuYz0yCgljbGFzcz0wNS0wMC0wMCwgaGRydHlwZT0weDAwLCBtZmRldj0x CgljbWRyZWc9MHgwMDAwLCBzdGF0cmVnPTB4MDAyMCwgY2FjaGVsbnN6PTAgKGR3b3JkcykKCWxh dHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5z KQpmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDAxZWQsIHJldmlkPTB4YzEKCWJ1cz0wLCBz bG90PTAsIGZ1bmM9MwoJY2xhc3M9MDUtMDAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MQoJY21k cmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMjAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1l cj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBucykKZm91 bmQtPgl2ZW5kb3I9MHgxMGRlLCBkZXY9MHgwMWVjLCByZXZpZD0weGMxCglidXM9MCwgc2xvdD0w LCBmdW5jPTQKCWNsYXNzPTA1LTAwLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0w eDAwMDAsIHN0YXRyZWc9MHgwMDIwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCmZvdW5kLT4J dmVuZG9yPTB4MTBkZSwgZGV2PTB4MDFlZiwgcmV2aWQ9MHhjMQoJYnVzPTAsIHNsb3Q9MCwgZnVu Yz01CgljbGFzcz0wNS0wMC0wMCwgaGRydHlwZT0weDAwLCBtZmRldj0xCgljbWRyZWc9MHgwMDAw LCBzdGF0cmVnPTB4MDAyMCwgY2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAg bnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQpmb3VuZC0+CXZlbmRv cj0weDEwZGUsIGRldj0weDAwNjAsIHJldmlkPTB4YTQKCWJ1cz0wLCBzbG90PTEsIGZ1bmM9MAoJ Y2xhc3M9MDYtMDEtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MQoJY21kcmVnPTB4MDAwZiwgc3Rh dHJlZz0weDAwYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwg bWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBucykKZm91bmQtPgl2ZW5kb3I9MHgx MGRlLCBkZXY9MHgwMDY0LCByZXZpZD0weGEyCglidXM9MCwgc2xvdD0xLCBmdW5jPTEKCWNsYXNz PTBjLTA1LTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwMDEsIHN0YXRyZWc9 MHgwMGIwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdu dD0weDAzICg3NTAgbnMpLCBtYXhsYXQ9MHgwMSAoMjUwIG5zKQoJaW50cGluPWEsIGlycT01Cglw b3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCW1hcFsxMF06IHR5cGUgNCwg cmFuZ2UgMzIsIGJhc2UgMDAwMGMwMDAsIHNpemUgIDUsIGVuYWJsZWQKJFBJUjogTm8gbWF0Y2hp bmcgZW50cnkgZm9yIDAuMS5JTlRBCmZvdW5kLT4JdmVuZG9yPTB4MTBkZSwgZGV2PTB4MDA2Nywg cmV2aWQ9MHhhNAoJYnVzPTAsIHNsb3Q9MiwgZnVuYz0wCgljbGFzcz0wYy0wMy0xMCwgaGRydHlw ZT0weDAwLCBtZmRldj0xCgljbWRyZWc9MHgwMDA3LCBzdGF0cmVnPTB4MDBiMCwgY2FjaGVsbnN6 PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMyAoNzUwIG5zKSwg bWF4bGF0PTB4MDEgKDI1MCBucykKCWludHBpbj1hLCBpcnE9NQoJcG93ZXJzcGVjIDIgIHN1cHBv cnRzIEQwIEQxIEQyIEQzICBjdXJyZW50IEQwCgltYXBbMTBdOiB0eXBlIDEsIHJhbmdlIDMyLCBi YXNlIGU4MDgwMDAwLCBzaXplIDEyLCBlbmFibGVkCiRQSVI6IE5vIG1hdGNoaW5nIGVudHJ5IGZv ciAwLjIuSU5UQQpmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDAwNjcsIHJldmlkPTB4YTQK CWJ1cz0wLCBzbG90PTIsIGZ1bmM9MQoJY2xhc3M9MGMtMDMtMTAsIGhkcnR5cGU9MHgwMCwgbWZk ZXY9MQoJY21kcmVnPTB4MDAwNywgc3RhdHJlZz0weDAwYjAsIGNhY2hlbG5zej0wIChkd29yZHMp CglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDMgKDc1MCBucyksIG1heGxhdD0weDAx ICgyNTAgbnMpCglpbnRwaW49YiwgaXJxPTExCglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAgRDEg RDIgRDMgIGN1cnJlbnQgRDAKCW1hcFsxMF06IHR5cGUgMSwgcmFuZ2UgMzIsIGJhc2UgZTgwODMw MDAsIHNpemUgMTIsIGVuYWJsZWQKJFBJUjogTm8gbWF0Y2hpbmcgZW50cnkgZm9yIDAuMi5JTlRC CmZvdW5kLT4JdmVuZG9yPTB4MTBkZSwgZGV2PTB4MDA2OCwgcmV2aWQ9MHhhNAoJYnVzPTAsIHNs b3Q9MiwgZnVuYz0yCgljbGFzcz0wYy0wMy0yMCwgaGRydHlwZT0weDAwLCBtZmRldj0xCgljbWRy ZWc9MHgwMDA2LCBzdGF0cmVnPTB4MDBiMCwgY2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVy PTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMyAoNzUwIG5zKSwgbWF4bGF0PTB4MDEgKDI1MCBucykK CWludHBpbj1jLCBpcnE9NQoJcG93ZXJzcGVjIDIgIHN1cHBvcnRzIEQwIEQxIEQyIEQzICBjdXJy ZW50IEQwCgltYXBbMTBdOiB0eXBlIDEsIHJhbmdlIDMyLCBiYXNlIGU4MDg0MDAwLCBzaXplICA4 LCBlbmFibGVkCiRQSVI6IE5vIG1hdGNoaW5nIGVudHJ5IGZvciAwLjIuSU5UQwpmb3VuZC0+CXZl bmRvcj0weDEwZGUsIGRldj0weDAwNjYsIHJldmlkPTB4YTEKCWJ1cz0wLCBzbG90PTQsIGZ1bmM9 MAoJY2xhc3M9MDItMDAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21kcmVnPTB4MDAwNywg c3RhdHJlZz0weDAwYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1lcj0weDAwICgwIG5z KSwgbWluZ250PTB4MDEgKDI1MCBucyksIG1heGxhdD0weDE0ICg1MDAwIG5zKQoJaW50cGluPWEs IGlycT0xMQoJcG93ZXJzcGVjIDIgIHN1cHBvcnRzIEQwIEQxIEQyIEQzICBjdXJyZW50IEQwCglt YXBbMTBdOiB0eXBlIDEsIHJhbmdlIDMyLCBiYXNlIGU4MDg1MDAwLCBzaXplIDEyLCBlbmFibGVk CgltYXBbMTRdOiB0eXBlIDQsIHJhbmdlIDMyLCBiYXNlIDAwMDBjNDAwLCBzaXplICAzLCBlbmFi bGVkCiRQSVI6IE5vIG1hdGNoaW5nIGVudHJ5IGZvciAwLjQuSU5UQQpmb3VuZC0+CXZlbmRvcj0w eDEwZGUsIGRldj0weDAwNmIsIHJldmlkPTB4YTIKCWJ1cz0wLCBzbG90PTUsIGZ1bmM9MAoJY2xh c3M9MDQtMDEtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21kcmVnPTB4MDAwNiwgc3RhdHJl Zz0weDAwYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWlu Z250PTB4MDEgKDI1MCBucyksIG1heGxhdD0weDBjICgzMDAwIG5zKQoJaW50cGluPWEsIGlycT01 Cglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAgRDEgRDIgRDMgIGN1cnJlbnQgRDAKCW1hcFsxMF06 IHR5cGUgMSwgcmFuZ2UgMzIsIGJhc2UgZTgwMDAwMDAsIHNpemUgMTksIGVuYWJsZWQKJFBJUjog Tm8gbWF0Y2hpbmcgZW50cnkgZm9yIDAuNS5JTlRBCmZvdW5kLT4JdmVuZG9yPTB4MTBkZSwgZGV2 PTB4MDA2YSwgcmV2aWQ9MHhhMQoJYnVzPTAsIHNsb3Q9NiwgZnVuYz0wCgljbGFzcz0wNC0wMS0w MCwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRyZWc9MHgwMDA3LCBzdGF0cmVnPTB4MDBiMCwg Y2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMiAo NTAwIG5zKSwgbWF4bGF0PTB4MDUgKDEyNTAgbnMpCglpbnRwaW49YSwgaXJxPTExCglwb3dlcnNw ZWMgMiAgc3VwcG9ydHMgRDAgRDEgRDIgRDMgIGN1cnJlbnQgRDAKCW1hcFsxMF06IHR5cGUgNCwg cmFuZ2UgMzIsIGJhc2UgMDAwMGIwMDAsIHNpemUgIDgsIGVuYWJsZWQKCW1hcFsxNF06IHR5cGUg NCwgcmFuZ2UgMzIsIGJhc2UgMDAwMGI0MDAsIHNpemUgIDcsIGVuYWJsZWQKCW1hcFsxOF06IHR5 cGUgMSwgcmFuZ2UgMzIsIGJhc2UgZTgwODEwMDAsIHNpemUgMTIsIGVuYWJsZWQKJFBJUjogTm8g bWF0Y2hpbmcgZW50cnkgZm9yIDAuNi5JTlRBCmZvdW5kLT4JdmVuZG9yPTB4MTBkZSwgZGV2PTB4 MDA2YywgcmV2aWQ9MHhhMwoJYnVzPTAsIHNsb3Q9OCwgZnVuYz0wCgljbGFzcz0wNi0wNC0wMCwg aGRydHlwZT0weDAxLCBtZmRldj0wCgljbWRyZWc9MHgwMTA3LCBzdGF0cmVnPTB4MDBhMCwgY2Fj aGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMiAoNTAw IG5zKSwgbWF4bGF0PTB4MDIgKDUwMCBucykKZm91bmQtPgl2ZW5kb3I9MHgxMGRlLCBkZXY9MHgw MDY1LCByZXZpZD0weGEyCglidXM9MCwgc2xvdD05LCBmdW5jPTAKCWNsYXNzPTAxLTAxLThhLCBo ZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDUsIHN0YXRyZWc9MHgwMGIwLCBjYWNo ZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAzICg3NTAg bnMpLCBtYXhsYXQ9MHgwMSAoMjUwIG5zKQoJcG93ZXJzcGVjIDIgIHN1cHBvcnRzIEQwIEQzICBj dXJyZW50IEQwCgltYXBbMjBdOiB0eXBlIDQsIHJhbmdlIDMyLCBiYXNlIDAwMDBmMDAwLCBzaXpl ICA0LCBlbmFibGVkCmZvdW5kLT4JdmVuZG9yPTB4MTBkZSwgZGV2PTB4MDA2ZCwgcmV2aWQ9MHhh MwoJYnVzPTAsIHNsb3Q9MTIsIGZ1bmM9MAoJY2xhc3M9MDYtMDQtMDAsIGhkcnR5cGU9MHgwMSwg bWZkZXY9MAoJY21kcmVnPTB4MDEwNywgc3RhdHJlZz0weDAwYTAsIGNhY2hlbG5zej0wIChkd29y ZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDIgKDUwMCBucyksIG1heGxhdD0w eDAwICgwIG5zKQpmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDAxZTgsIHJldmlkPTB4YzEK CWJ1cz0wLCBzbG90PTMwLCBmdW5jPTAKCWNsYXNzPTA2LTA0LTAwLCBoZHJ0eXBlPTB4MDEsIG1m ZGV2PTAKCWNtZHJlZz0weDAxMDcsIHN0YXRyZWc9MHgwMjIwLCBjYWNoZWxuc3o9MCAoZHdvcmRz KQoJbGF0dGltZXI9MHgyMCAoOTYwIG5zKSwgbWluZ250PTB4MGEgKDI1MDAgbnMpLCBtYXhsYXQ9 MHgwMCAoMCBucykKYWdwMDogPE5WSURJQSBuRm9yY2UyIEFHUCBDb250cm9sbGVyPiBtZW0gMHhl MDAwMDAwMC0weGUzZmZmZmZmIGF0IGRldmljZSAwLjAgb24gcGNpMAphZ3AwOiBSZXNlcnZlZCAw eDQwMDAwMDAgYnl0ZXMgZm9yIHJpZCAweDEwIHR5cGUgMyBhdCAweGUwMDAwMDAwCmFncDA6IGFs bG9jYXRpbmcgR0FUVCBmb3IgYXBlcnR1cmUgb2Ygc2l6ZSA2NE0KcGNpMDogPG1lbW9yeSwgUkFN PiBhdCBkZXZpY2UgMC4xIChubyBkcml2ZXIgYXR0YWNoZWQpCnBjaTA6IDxtZW1vcnksIFJBTT4g YXQgZGV2aWNlIDAuMiAobm8gZHJpdmVyIGF0dGFjaGVkKQpwY2kwOiA8bWVtb3J5LCBSQU0+IGF0 IGRldmljZSAwLjMgKG5vIGRyaXZlciBhdHRhY2hlZCkKcGNpMDogPG1lbW9yeSwgUkFNPiBhdCBk ZXZpY2UgMC40IChubyBkcml2ZXIgYXR0YWNoZWQpCnBjaTA6IDxtZW1vcnksIFJBTT4gYXQgZGV2 aWNlIDAuNSAobm8gZHJpdmVyIGF0dGFjaGVkKQppc2FiMDogPFBDSS1JU0EgYnJpZGdlPiBhdCBk ZXZpY2UgMS4wIG9uIHBjaTAKaXNhMDogPElTQSBidXM+IG9uIGlzYWIwCnBjaTA6IDxzZXJpYWwg YnVzLCBTTUJ1cz4gYXQgZGV2aWNlIDEuMSAobm8gZHJpdmVyIGF0dGFjaGVkKQpvaGNpMDogPE9I Q0kgKGdlbmVyaWMpIFVTQiBjb250cm9sbGVyPiBtZW0gMHhlODA4MDAwMC0weGU4MDgwZmZmIGly cSA1IGF0IGRldmljZSAyLjAgb24gcGNpMApvaGNpMDogUmVzZXJ2ZWQgMHgxMDAwIGJ5dGVzIGZv ciByaWQgMHgxMCB0eXBlIDMgYXQgMHhlODA4MDAwMApvaGNpMDogW0dJQU5ULUxPQ0tFRF0KdXNi MDogT0hDSSB2ZXJzaW9uIDEuMCwgbGVnYWN5IHN1cHBvcnQKdXNiMDogU01NIGRvZXMgbm90IHJl c3BvbmQsIHJlc2V0dGluZwp1c2IwOiA8T0hDSSAoZ2VuZXJpYykgVVNCIGNvbnRyb2xsZXI+IG9u IG9oY2kwCnVzYjA6IFVTQiByZXZpc2lvbiAxLjAKdWh1YjA6IG5WaWRpYSBPSENJIHJvb3QgaHVi LCBjbGFzcyA5LzAsIHJldiAxLjAwLzEuMDAsIGFkZHIgMQp1aHViMDogMyBwb3J0cyB3aXRoIDMg cmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKb2hjaTE6IDxPSENJIChnZW5lcmljKSBVU0IgY29udHJv bGxlcj4gbWVtIDB4ZTgwODMwMDAtMHhlODA4M2ZmZiBpcnEgMTEgYXQgZGV2aWNlIDIuMSBvbiBw Y2kwCm9oY2kxOiBSZXNlcnZlZCAweDEwMDAgYnl0ZXMgZm9yIHJpZCAweDEwIHR5cGUgMyBhdCAw eGU4MDgzMDAwCm9oY2kxOiBbR0lBTlQtTE9DS0VEXQp1c2IxOiBPSENJIHZlcnNpb24gMS4wLCBs ZWdhY3kgc3VwcG9ydAp1c2IxOiBTTU0gZG9lcyBub3QgcmVzcG9uZCwgcmVzZXR0aW5nCnVzYjE6 IDxPSENJIChnZW5lcmljKSBVU0IgY29udHJvbGxlcj4gb24gb2hjaTEKdXNiMTogVVNCIHJldmlz aW9uIDEuMAp1aHViMTogblZpZGlhIE9IQ0kgcm9vdCBodWIsIGNsYXNzIDkvMCwgcmV2IDEuMDAv MS4wMCwgYWRkciAxCnVodWIxOiAzIHBvcnRzIHdpdGggMyByZW1vdmFibGUsIHNlbGYgcG93ZXJl ZAplaGNpMDogPEVIQ0kgKGdlbmVyaWMpIFVTQiAyLjAgY29udHJvbGxlcj4gbWVtIDB4ZTgwODQw MDAtMHhlODA4NDBmZiBpcnEgNSBhdCBkZXZpY2UgMi4yIG9uIHBjaTAKZWhjaTA6IFJlc2VydmVk IDB4MTAwIGJ5dGVzIGZvciByaWQgMHgxMCB0eXBlIDMgYXQgMHhlODA4NDAwMAplaGNpMDogW0dJ QU5ULUxPQ0tFRF0KdXNiMjogRUhDSSB2ZXJzaW9uIDEuMAp1c2IyOiBjb21wYW5pb24gY29udHJv bGxlcnMsIDQgcG9ydHMgZWFjaDogdXNiMCB1c2IxCnVzYjI6IDxFSENJIChnZW5lcmljKSBVU0Ig Mi4wIGNvbnRyb2xsZXI+IG9uIGVoY2kwCnVzYjI6IFVTQiByZXZpc2lvbiAyLjAKdWh1YjI6IG5W aWRpYSBFSENJIHJvb3QgaHViLCBjbGFzcyA5LzAsIHJldiAyLjAwLzEuMDAsIGFkZHIgMQp1aHVi MjogNiBwb3J0cyB3aXRoIDYgcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKbnZlMDogPE5WSURJQSBu Rm9yY2UgTUNQMiBOZXR3b3JraW5nIEFkYXB0ZXI+IHBvcnQgMHhjNDAwLTB4YzQwNyBtZW0gMHhl ODA4NTAwMC0weGU4MDg1ZmZmIGlycSAxMSBhdCBkZXZpY2UgNC4wIG9uIHBjaTAKbnZlMDogUmVz ZXJ2ZWQgMHgxMDAwIGJ5dGVzIGZvciByaWQgMHgxMCB0eXBlIDMgYXQgMHhlODA4NTAwMApudmUw OiBFdGhlcm5ldCBhZGRyZXNzIDAwOjBjOjZlOjM0Ojg0OmZlCm1paWJ1czA6IDxNSUkgYnVzPiBv biBudmUwCnJscGh5MDogPFJUTDgyMDFMIDEwLzEwMCBtZWRpYSBpbnRlcmZhY2U+IG9uIG1paWJ1 czAKcmxwaHkwOiAgMTBiYXNlVCwgMTBiYXNlVC1GRFgsIDEwMGJhc2VUWCwgMTAwYmFzZVRYLUZE WCwgYXV0bwpudmUwOiBicGYgYXR0YWNoZWQKbnZlMDogRXRoZXJuZXQgYWRkcmVzczogMDA6MGM6 NmU6MzQ6ODQ6ZmUKbnZlMDogW0dJQU5ULUxPQ0tFRF0KcGNpMDogPG11bHRpbWVkaWEsIGF1ZGlv PiBhdCBkZXZpY2UgNS4wIChubyBkcml2ZXIgYXR0YWNoZWQpCnBjaTA6IDxtdWx0aW1lZGlhLCBh dWRpbz4gYXQgZGV2aWNlIDYuMCAobm8gZHJpdmVyIGF0dGFjaGVkKQpwY2liMTogPFBDSUJJT1Mg UENJLVBDSSBicmlkZ2U+IGF0IGRldmljZSA4LjAgb24gcGNpMApwY2liMTogICBzZWNvbmRhcnkg YnVzICAgICAxCnBjaWIxOiAgIHN1Ym9yZGluYXRlIGJ1cyAgIDEKcGNpYjE6ICAgSS9PIGRlY29k ZSAgICAgICAgMHhmMDAwLTB4ZmZmCnBjaWIxOiAgIG1lbW9yeSBkZWNvZGUgICAgIDB4ZmZmMDAw MDAtMHhmZmZmZgpwY2liMTogICBwcmVmZXRjaGVkIGRlY29kZSAweGZmZjAwMDAwLTB4ZmZmZmYK cGNpMTogPFBDSSBidXM+IG9uIHBjaWIxCnBjaTE6IHBoeXNpY2FsIGJ1cz0xCmF0YXBjaTA6IDxu VmlkaWEgbkZvcmNlMiBVRE1BMTMzIGNvbnRyb2xsZXI+IHBvcnQgMHgxZjAtMHgxZjcsMHgzZjYs MHgxNzAtMHgxNzcsMHgzNzYsMHhmMDAwLTB4ZjAwZiBhdCBkZXZpY2UgOS4wIG9uIHBjaTAKYXRh cGNpMDogUmVzZXJ2ZWQgMHgxMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4ZjAwMAph dGEwOiA8QVRBIGNoYW5uZWwgMD4gb24gYXRhcGNpMAphdGFwY2kwOiBSZXNlcnZlZCAweDggYnl0 ZXMgZm9yIHJpZCAweDEwIHR5cGUgNCBhdCAweDFmMAphdGFwY2kwOiBSZXNlcnZlZCAweDEgYnl0 ZXMgZm9yIHJpZCAweDE0IHR5cGUgNCBhdCAweDNmNgphdGEwOiByZXNldCB0cDEgbWFzaz0wMyBv c3RhdDA9NTAgb3N0YXQxPTUwCmF0YTA6IHN0YXQwPTB4NTAgZXJyPTB4MDEgbHNiPTB4MDAgbXNi PTB4MDAKYXRhMDogc3RhdDE9MHg1MCBlcnI9MHgwMSBsc2I9MHgwMCBtc2I9MHgwMAphdGEwOiBy ZXNldCB0cDIgc3RhdDA9NTAgc3RhdDE9NTAgZGV2aWNlcz0weDM8QVRBX1NMQVZFLEFUQV9NQVNU RVI+CmF0YTA6IFtNUFNBRkVdCmF0YTE6IDxBVEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kwCmF0YXBj aTA6IFJlc2VydmVkIDB4OCBieXRlcyBmb3IgcmlkIDB4MTggdHlwZSA0IGF0IDB4MTcwCmF0YXBj aTA6IFJlc2VydmVkIDB4MSBieXRlcyBmb3IgcmlkIDB4MWMgdHlwZSA0IGF0IDB4Mzc2CmF0YTE6 IHJlc2V0IHRwMSBtYXNrPTAzIG9zdGF0MD01MCBvc3RhdDE9NTAKYXRhMTogc3RhdDA9MHgxMCBl cnI9MHgwMSBsc2I9MHgxNCBtc2I9MHhlYgphdGExOiBzdGF0MT0weDAwIGVycj0weDAxIGxzYj0w eDE0IG1zYj0weGViCmF0YTE6IHJlc2V0IHRwMiBzdGF0MD0xMCBzdGF0MT0wMCBkZXZpY2VzPTB4 YzxBVEFQSV9TTEFWRSxBVEFQSV9NQVNURVI+CmF0YTE6IFtNUFNBRkVdCnBjaWIyOiA8UENJQklP UyBQQ0ktUENJIGJyaWRnZT4gYXQgZGV2aWNlIDEyLjAgb24gcGNpMApwY2liMjogICBzZWNvbmRh cnkgYnVzICAgICAyCnBjaWIyOiAgIHN1Ym9yZGluYXRlIGJ1cyAgIDIKcGNpYjI6ICAgSS9PIGRl Y29kZSAgICAgICAgMHg5MDAwLTB4OWZmZgpwY2liMjogICBtZW1vcnkgZGVjb2RlICAgICAweGU2 MDAwMDAwLTB4ZTdmZmZmZmYKcGNpYjI6ICAgcHJlZmV0Y2hlZCBkZWNvZGUgMHhmZmYwMDAwMC0w eGZmZmZmCnBjaTI6IDxQQ0kgYnVzPiBvbiBwY2liMgpwY2kyOiBwaHlzaWNhbCBidXM9Mgpmb3Vu ZC0+CXZlbmRvcj0weDEwYjcsIGRldj0weDkyMDEsIHJldmlkPTB4NDAKCWJ1cz0yLCBzbG90PTEs IGZ1bmM9MAoJY2xhc3M9MDItMDAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21kcmVnPTB4 MDAwNywgc3RhdHJlZz0weDAyMTAsIGNhY2hlbG5zej04IChkd29yZHMpCglsYXR0aW1lcj0weDIw ICg5NjAgbnMpLCBtaW5nbnQ9MHgwYSAoMjUwMCBucyksIG1heGxhdD0weDBhICgyNTAwIG5zKQoJ aW50cGluPWEsIGlycT01Cglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAgRDEgRDIgRDMgIGN1cnJl bnQgRDAKCW1hcFsxMF06IHR5cGUgNCwgcmFuZ2UgMzIsIGJhc2UgMDAwMDkwMDAsIHNpemUgIDcs IGVuYWJsZWQKcGNpYjI6IChudWxsKSByZXF1ZXN0ZWQgSS9PIHJhbmdlIDB4OTAwMC0weDkwN2Y6 IGluIHJhbmdlCgltYXBbMTRdOiB0eXBlIDEsIHJhbmdlIDMyLCBiYXNlIGU3MDAwMDAwLCBzaXpl ICA3LCBlbmFibGVkCnBjaWIyOiAobnVsbCkgcmVxdWVzdGVkIG1lbW9yeSByYW5nZSAweGU3MDAw MDAwLTB4ZTcwMDAwN2Y6IGdvb2QKJFBJUjogMjoxIElOVEEgcm91dGVkIHRvIGlycSA1CnhsMDog PDNDb20gM2M5MjBCLUVNQiBJbnRlZ3JhdGVkIEZhc3QgRXRoZXJsaW5rIFhMPiBwb3J0IDB4OTAw MC0weDkwN2YgbWVtIDB4ZTcwMDAwMDAtMHhlNzAwMDA3ZiBpcnEgNSBhdCBkZXZpY2UgMS4wIG9u IHBjaTIKeGwwOiBSZXNlcnZlZCAweDgwIGJ5dGVzIGZvciByaWQgMHgxNCB0eXBlIDMgYXQgMHhl NzAwMDAwMAp4bDA6IHVzaW5nIG1lbW9yeSBtYXBwZWQgSS9PCnhsMDogbWVkaWEgb3B0aW9ucyB3 b3JkOiA0MAp4bDA6IGZvdW5kIE1JSS9BVVRPCm1paWJ1czE6IDxNSUkgYnVzPiBvbiB4bDAKYWNw aHkwOiA8QUMxMDFMIDEwLzEwMCBtZWRpYSBpbnRlcmZhY2U+IG9uIG1paWJ1czEKYWNwaHkwOiAg MTBiYXNlVCwgMTBiYXNlVC1GRFgsIDEwMGJhc2VUWCwgMTAwYmFzZVRYLUZEWCwgYXV0bwp4bDA6 IGJwZiBhdHRhY2hlZAp4bDA6IEV0aGVybmV0IGFkZHJlc3M6IDAwOjI2OjU0OjBjOjdlOmJlCnhs MDogW01QU0FGRV0KcGNpYjM6IDxQQ0ktUENJIGJyaWRnZT4gYXQgZGV2aWNlIDMwLjAgb24gcGNp MApwY2liMzogICBzZWNvbmRhcnkgYnVzICAgICAzCnBjaWIzOiAgIHN1Ym9yZGluYXRlIGJ1cyAg IDMKcGNpYjM6ICAgSS9PIGRlY29kZSAgICAgICAgMHhhMDAwLTB4YWZmZgpwY2liMzogICBtZW1v cnkgZGVjb2RlICAgICAweGU0MDAwMDAwLTB4ZTVmZmZmZmYKcGNpYjM6ICAgcHJlZmV0Y2hlZCBk ZWNvZGUgMHhkMDAwMDAwMC0weGRmZmZmZmZmCnBjaTM6IDxQQ0kgYnVzPiBvbiBwY2liMwpwY2kz OiBwaHlzaWNhbCBidXM9Mwpmb3VuZC0+CXZlbmRvcj0weDEwMDIsIGRldj0weDRlNDgsIHJldmlk PTB4MDAKCWJ1cz0zLCBzbG90PTAsIGZ1bmM9MAoJY2xhc3M9MDMtMDAtMDAsIGhkcnR5cGU9MHgw MCwgbWZkZXY9MQoJY21kcmVnPTB4MDA4Nywgc3RhdHJlZz0weDAyYjAsIGNhY2hlbG5zej04IChk d29yZHMpCglsYXR0aW1lcj0weDIwICg5NjAgbnMpLCBtaW5nbnQ9MHgwOCAoMjAwMCBucyksIG1h eGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEsIGlycT0xMQoJcG93ZXJzcGVjIDIgIHN1cHBvcnRz IEQwIEQxIEQyIEQzICBjdXJyZW50IEQwCgltYXBbMTBdOiB0eXBlIDMsIHJhbmdlIDMyLCBiYXNl IGQwMDAwMDAwLCBzaXplIDI3LCBlbmFibGVkCnBjaWIzOiAobnVsbCkgcmVxdWVzdGVkIG1lbW9y eSByYW5nZSAweGQwMDAwMDAwLTB4ZDdmZmZmZmY6IGdvb2QKCW1hcFsxNF06IHR5cGUgNCwgcmFu Z2UgMzIsIGJhc2UgMDAwMGEwMDAsIHNpemUgIDgsIGVuYWJsZWQKcGNpYjM6IChudWxsKSByZXF1 ZXN0ZWQgSS9PIHJhbmdlIDB4YTAwMC0weGEwZmY6IGluIHJhbmdlCgltYXBbMThdOiB0eXBlIDEs IHJhbmdlIDMyLCBiYXNlIGU1MDAwMDAwLCBzaXplIDE2LCBlbmFibGVkCnBjaWIzOiAobnVsbCkg cmVxdWVzdGVkIG1lbW9yeSByYW5nZSAweGU1MDAwMDAwLTB4ZTUwMGZmZmY6IGdvb2QKJFBJUjog Rm91bmQgSVJRIDExIGZvciBsaW5rIDB4NCBmcm9tIDUgMTEKJFBJUjogUk9VVEVfSU5URVJSVVBU IGZhaWxlZC4KZm91bmQtPgl2ZW5kb3I9MHgxMDAyLCBkZXY9MHg0ZTY4LCByZXZpZD0weDAwCgli dXM9Mywgc2xvdD0wLCBmdW5jPTEKCWNsYXNzPTAzLTgwLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2 PTAKCWNtZHJlZz0weDAwODAsIHN0YXRyZWc9MHgwMmIwLCBjYWNoZWxuc3o9OCAoZHdvcmRzKQoJ bGF0dGltZXI9MHgyMCAoOTYwIG5zKSwgbWluZ250PTB4MDggKDIwMDAgbnMpLCBtYXhsYXQ9MHgw MCAoMCBucykKCXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMSBEMiBEMyAgY3VycmVudCBEMAoJ bWFwWzEwXTogdHlwZSAzLCByYW5nZSAzMiwgYmFzZSBkODAwMDAwMCwgc2l6ZSAyNywgbWVtb3J5 IGRpc2FibGVkCnBjaWIzOiAobnVsbCkgcmVxdWVzdGVkIG1lbW9yeSByYW5nZSAweGQ4MDAwMDAw LTB4ZGZmZmZmZmY6IGdvb2QKCW1hcFsxNF06IHR5cGUgMSwgcmFuZ2UgMzIsIGJhc2UgZTUwMTAw MDAsIHNpemUgMTYsIGVuYWJsZWQKcGNpYjM6IChudWxsKSByZXF1ZXN0ZWQgbWVtb3J5IHJhbmdl IDB4ZTUwMTAwMDAtMHhlNTAxZmZmZjogZ29vZApwY2kzOiA8ZGlzcGxheSwgVkdBPiBhdCBkZXZp Y2UgMC4wIChubyBkcml2ZXIgYXR0YWNoZWQpCnBjaTM6IDxkaXNwbGF5PiBhdCBkZXZpY2UgMC4x IChubyBkcml2ZXIgYXR0YWNoZWQpCmV4X2lzYV9pZGVudGlmeSgpCmF0YTogYXRhMCBhbHJlYWR5 IGV4aXN0czsgc2tpcHBpbmcgaXQKYXRhOiBhdGExIGFscmVhZHkgZXhpc3RzOyBza2lwcGluZyBp dApwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMjAzCnBucF9pZGVudGlmeTogVHJ5 aW5nIFJlYWRfUG9ydCBhdCAyNDMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0IGF0IDI4 MwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMmMzCnBucF9pZGVudGlmeTogVHJ5 aW5nIFJlYWRfUG9ydCBhdCAzMDMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0IGF0IDM0 MwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMzgzCnBucF9pZGVudGlmeTogVHJ5 aW5nIFJlYWRfUG9ydCBhdCAzYzMKUE5QIElkZW50aWZ5IGNvbXBsZXRlCnBucGJpb3M6IDE2IGRl dmljZXMsIGxhcmdlc3QgOTggYnl0ZXMKUE5QMDIwMDogYWRkaW5nIGRtYSBtYXNrIDB4MTAKUE5Q MDIwMDogYWRkaW5nIGlvIHJhbmdlIDAtMHhmLCBzaXplPTB4MTAsIGFsaWduPTAKUE5QMDIwMDog YWRkaW5nIGlvIHJhbmdlIDB4ODEtMHg4Mywgc2l6ZT0weDMsIGFsaWduPTAKUE5QMDIwMDogYWRk aW5nIGlvIHJhbmdlIDB4ODctMHg4Nywgc2l6ZT0weDEsIGFsaWduPTAKUE5QMDIwMDogYWRkaW5n IGlvIHJhbmdlIDB4ODktMHg4Yiwgc2l6ZT0weDMsIGFsaWduPTAKUE5QMDIwMDogYWRkaW5nIGlv IHJhbmdlIDB4OGYtMHg5MSwgc2l6ZT0weDMsIGFsaWduPTAKUE5QMDIwMDogYWRkaW5nIGlvIHJh bmdlIDB4YzAtMHhkZiwgc2l6ZT0weDIwLCBhbGlnbj0wCnBucGJpb3M6IGhhbmRsZSAxIGRldmlj ZSBJRCBQTlAwMjAwICgwMDAyZDA0MSkKUE5QMDEwMDogYWRkaW5nIGlycSBtYXNrIDB4MQpQTlAw MTAwOiBhZGRpbmcgaW8gcmFuZ2UgMHg0MC0weDQzLCBzaXplPTB4NCwgYWxpZ249MApwbnBiaW9z OiBoYW5kbGUgMiBkZXZpY2UgSUQgUE5QMDEwMCAoMDAwMWQwNDEpClBOUDBiMDA6IGFkZGluZyBp cnEgbWFzayAweDEwMApQTlAwYjAwOiBhZGRpbmcgaW8gcmFuZ2UgMHg3MC0weDcxLCBzaXplPTB4 MiwgYWxpZ249MApwbnBiaW9zOiBoYW5kbGUgMyBkZXZpY2UgSUQgUE5QMGIwMCAoMDAwYmQwNDEp ClBOUDAzMDM6IGFkZGluZyBpcnEgbWFzayAweDIKUE5QMDMwMzogYWRkaW5nIGlvIHJhbmdlIDB4 NjAtMHg2MCwgc2l6ZT0weDEsIGFsaWduPTAKUE5QMDMwMzogYWRkaW5nIGlvIHJhbmdlIDB4NjQt MHg2NCwgc2l6ZT0weDEsIGFsaWduPTAKcG5wYmlvczogaGFuZGxlIDQgZGV2aWNlIElEIFBOUDAz MDMgKDAzMDNkMDQxKQpQTlAwODAwOiBhZGRpbmcgaW8gcmFuZ2UgMHg2MS0weDYxLCBzaXplPTB4 MSwgYWxpZ249MApwbnBiaW9zOiBoYW5kbGUgNSBkZXZpY2UgSUQgUE5QMDgwMCAoMDAwOGQwNDEp ClBOUDBjMDQ6IGFkZGluZyBpcnEgbWFzayAweDIwMDAKUE5QMGMwNDogYWRkaW5nIGlvIHJhbmdl IDB4ZjAtMHhmZiwgc2l6ZT0weDEwLCBhbGlnbj0wCnBucGJpb3M6IGhhbmRsZSA2IGRldmljZSBJ RCBQTlAwYzA0ICgwNDBjZDA0MSkKUE5QMGMwMTogYWRkaW5nIGZpeGVkIG1lbW9yeTMyIHJhbmdl IDAtMHg5ZmZmZiwgc2l6ZT0weGEwMDAwClBOUDBjMDE6IGFkZGluZyBmaXhlZCBtZW1vcnkzMiBy YW5nZSAweGZmZmUwMDAwLTB4ZmZmZmZmZmYsIHNpemU9MHgyMDAwMApQTlAwYzAxOiBhZGRpbmcg Zml4ZWQgbWVtb3J5MzIgcmFuZ2UgMHhmZWMwMDAwMC0weGZlYzBmZmZmLCBzaXplPTB4MTAwMDAK UE5QMGMwMTogYWRkaW5nIGZpeGVkIG1lbW9yeTMyIHJhbmdlIDB4ZmVlMDAwMDAtMHhmZWUwZmZm Ziwgc2l6ZT0weDEwMDAwClBOUDBjMDE6IGFkZGluZyBmaXhlZCBtZW1vcnkzMiByYW5nZSAweDEw MDAwMC0weGZmZmZmZiwgc2l6ZT0weGYwMDAwMApwbnBiaW9zOiBoYW5kbGUgNyBkZXZpY2UgSUQg UE5QMGMwMSAoMDEwY2QwNDEpClBOUDBjMDI6IGFkZGluZyBmaXhlZCBtZW1vcnkzMiByYW5nZSAw eGYwMDAwLTB4ZjNmZmYsIHNpemU9MHg0MDAwClBOUDBjMDI6IGFkZGluZyBmaXhlZCBtZW1vcnkz MiByYW5nZSAweGY0MDAwLTB4ZjdmZmYsIHNpemU9MHg0MDAwClBOUDBjMDI6IGFkZGluZyBmaXhl ZCBtZW1vcnkzMiByYW5nZSAweGY4MDAwLTB4ZmZmZmYsIHNpemU9MHg4MDAwClBOUDBjMDI6IGFk ZGluZyBmaXhlZCBtZW1vcnkzMiByYW5nZSAweGQ2ODAwLTB4ZDdmZmYsIHNpemU9MHgxODAwCnBu cGJpb3M6IGhhbmRsZSA4IGRldmljZSBJRCBQTlAwYzAyICgwMjBjZDA0MSkKUE5QMGEwMzogYWRk aW5nIGlvIHJhbmdlIDB4NGQwLTB4NGQxLCBzaXplPTB4MiwgYWxpZ249MApQTlAwYTAzOiBhZGRp bmcgaW8gcmFuZ2UgMHhjZjgtMHhjZmYsIHNpemU9MHg4LCBhbGlnbj0wCnBucGJpb3M6IGhhbmRs ZSA5IGRldmljZSBJRCBQTlAwYTAzICgwMzBhZDA0MSkKUE5QMDUwMTogYWRkaW5nIGlycSBtYXNr IDB4MTAKUE5QMDUwMTogYWRkaW5nIGlvIHJhbmdlIDB4M2Y4LTB4M2ZmLCBzaXplPTB4OCwgYWxp Z249MApwbnBiaW9zOiBoYW5kbGUgMTEgZGV2aWNlIElEIFBOUDA1MDEgKDAxMDVkMDQxKQpQTlAw NzAwOiBhZGRpbmcgZG1hIG1hc2sgMHg0ClBOUDA3MDA6IGFkZGluZyBpbyByYW5nZSAweDNmMC0w eDNmNSwgc2l6ZT0weDYsIGFsaWduPTAKUE5QMDcwMDogYWRkaW5nIGlvIHJhbmdlIDB4M2Y3LTB4 M2Y3LCBzaXplPTB4MSwgYWxpZ249MApQTlAwNzAwOiBhZGRpbmcgaXJxIG1hc2sgMHg0MApwbnBi aW9zOiBoYW5kbGUgMTIgZGV2aWNlIElEIFBOUDA3MDAgKDAwMDdkMDQxKQpQTlAwNDAxOiBhZGRp bmcgZG1hIG1hc2sgMHg4ClBOUDA0MDE6IGFkZGluZyBpcnEgbWFzayAweDgwClBOUDA0MDE6IGFk ZGluZyBpbyByYW5nZSAweDM3OC0weDM3Ziwgc2l6ZT0weDgsIGFsaWduPTAKUE5QMDQwMTogYWRk aW5nIGlvIHJhbmdlIDB4Nzc4LTB4NzdmLCBzaXplPTB4OCwgYWxpZ249MApwbnBiaW9zOiBoYW5k bGUgMTQgZGV2aWNlIElEIFBOUDA0MDEgKDAxMDRkMDQxKQpQTlAwNTAxOiBhZGRpbmcgaXJxIG1h c2sgMHg4ClBOUDA1MDE6IGFkZGluZyBpbyByYW5nZSAweDJmOC0weDJmZiwgc2l6ZT0weDgsIGFs aWduPTAKcG5wYmlvczogaGFuZGxlIDE1IGRldmljZSBJRCBQTlAwNTAxICgwMTA1ZDA0MSkKUE5Q YjAwNjogYWRkaW5nIGlycSBtYXNrIDB4NDAwClBOUGIwMDY6IGFkZGluZyBpbyByYW5nZSAweDMz MC0weDMzMywgc2l6ZT0weDQsIGFsaWduPTAKcG5wYmlvczogaGFuZGxlIDE2IGRldmljZSBJRCBQ TlBiMDA2ICgwNmIwZDA0MSkKUE5QYjAyZjogYWRkaW5nIGlvIHJhbmdlIDB4MjAxLTB4MjAxLCBz aXplPTB4MSwgYWxpZ249MApwbnBiaW9zOiBoYW5kbGUgMTcgZGV2aWNlIElEIFBOUGIwMmYgKDJm YjBkMDQxKQp1bmtub3duOiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZlCnVua25vd246IHN0YXR1 cyByZWcgdGVzdCBmYWlsZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBmZgp1 bmtub3duOiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVua25vd246IHN0YXR1cyByZWcgdGVz dCBmYWlsZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBmZgpzYzogc2MwIGFs cmVhZHkgZXhpc3RzOyBza2lwcGluZyBpdAp2Z2E6IHZnYTAgYWxyZWFkeSBleGlzdHM7IHNraXBw aW5nIGl0CmlzYV9wcm9iZV9jaGlsZHJlbjogZGlzYWJsaW5nIFBuUCBkZXZpY2VzCmlzYV9wcm9i ZV9jaGlsZHJlbjogcHJvYmluZyBub24tUG5QIGRldmljZXMKcG10aW1lcjAgb24gaXNhMApvcm0w OiA8SVNBIE9wdGlvbiBST01zPiBhdCBpb21lbSAweGMwMDAwLTB4Y2NmZmYsMHhkMDAwMC0weGQz ZmZmLDB4ZDQwMDAtMHhkNTdmZiwweGQ2MDAwLTB4ZDY3ZmYgb24gaXNhMAphZHYwOiBub3QgcHJv YmVkIChkaXNhYmxlZCkKYWhhMDogbm90IHByb2JlZCAoZGlzYWJsZWQpCmFpYzA6IG5vdCBwcm9i ZWQgKGRpc2FibGVkKQphdGtiZGMwOiA8S2V5Ym9hcmQgY29udHJvbGxlciAoaTgwNDIpPiBhdCBw b3J0IDB4NjAsMHg2NCBvbiBpc2EwCmF0a2JkMDogPEFUIEtleWJvYXJkPiBpcnEgMSBvbiBhdGti ZGMwCmF0a2JkOiB0aGUgY3VycmVudCBrYmQgY29udHJvbGxlciBjb21tYW5kIGJ5dGUgMDA0Nwph dGtiZDoga2V5Ym9hcmQgSUQgMHhmZmZmZmZmZiAoMSkKYXRrYmQ6IGZhaWxlZCB0byByZXNldCB0 aGUga2V5Ym9hcmQuCmtiZDAgYXQgYXRrYmQwCmtiZDA6IGF0a2JkMCwgQVQgODQgKDEpLCBjb25m aWc6MHgwLCBmbGFnczoweDNkMDAwMAphdGtiZDA6IFtHSUFOVC1MT0NLRURdCnBzbTA6IGN1cnJl bnQgY29tbWFuZCBieXRlOjAwNDcKcHNtMDogZmFpbGVkIHRvIHJlc2V0IHRoZSBhdXggZGV2aWNl LgpidDA6IG5vdCBwcm9iZWQgKGRpc2FibGVkKQpjczA6IG5vdCBwcm9iZWQgKGRpc2FibGVkKQpl ZDA6IG5vdCBwcm9iZWQgKGRpc2FibGVkKQpmZGMwOiBpY190eXBlIDkwIHBhcnRfaWQgODAKZmRj MDogPEVuaGFuY2VkIGZsb3BweSBjb250cm9sbGVyPiBhdCBwb3J0IDB4M2YwLTB4M2Y1LDB4M2Y3 IGlycSA2IGRycSAyIG9uIGlzYTAKZmRjMDogaWNfdHlwZSA5MCBwYXJ0X2lkIDgwCmZkYzA6IFtN UFNBRkVdCmZkYzA6IFtGQVNUXQpmZDA6IDwxNDQwLUtCIDMuNSIgZHJpdmU+IG9uIGZkYzAgZHJp dmUgMApmZTA6IG5vdCBwcm9iZWQgKGRpc2FibGVkKQppZTA6IG5vdCBwcm9iZWQgKGRpc2FibGVk KQpsbmMwOiBub3QgcHJvYmVkIChkaXNhYmxlZCkKcHBjMDogcGFyYWxsZWwgcG9ydCBmb3VuZCBh dCAweDM3OApwcGMwOiB1c2luZyBleHRlbmRlZCBJL08gcG9ydCByYW5nZQpwcGMwOiBFQ1AgU1BQ IEVDUCtFUFAgU1BQCnBwYzA6IDxQYXJhbGxlbCBwb3J0PiBhdCBwb3J0IDB4Mzc4LTB4MzdmIGly cSA3IG9uIGlzYTAKcHBjMDogU01DLWxpa2UgY2hpcHNldCAoRUNQL0VQUC9QUzIvTklCQkxFKSBp biBDT01QQVRJQkxFIG1vZGUKcHBjMDogRklGTyB3aXRoIDE2LzE2LzE2IGJ5dGVzIHRocmVzaG9s ZApwcGJ1czA6IDxQYXJhbGxlbCBwb3J0IGJ1cz4gb24gcHBjMApwbGlwMDogPFBMSVAgbmV0d29y ayBpbnRlcmZhY2U+IG9uIHBwYnVzMApwbGlwMDogYnBmIGF0dGFjaGVkCmxwdDA6IDxQcmludGVy PiBvbiBwcGJ1czAKbHB0MDogSW50ZXJydXB0LWRyaXZlbiBwb3J0CnBwaTA6IDxQYXJhbGxlbCBJ L08+IG9uIHBwYnVzMApzYzA6IDxTeXN0ZW0gY29uc29sZT4gYXQgZmxhZ3MgMHgxMDAgb24gaXNh MApzYzA6IFZHQSA8MTYgdmlydHVhbCBjb25zb2xlcywgZmxhZ3M9MHgzMDA+CnNjMDogZmIwLCBr YmQwLCB0ZXJtaW5hbCBlbXVsYXRvcjogc2MgKHN5c2NvbnMgdGVybWluYWwpCnNpbzA6IGlycSBt YXBzOiAweDgyMSAweDgzMSAweDgyMSAweDgyMQpzaW8wIGF0IHBvcnQgMHgzZjgtMHgzZmYgaXJx IDQgZmxhZ3MgMHgxMCBvbiBpc2EwCnNpbzA6IHR5cGUgMTY1NTBBCnNpbzE6IGlycSBtYXBzOiAw eDgyMSAweDgyOSAweDgyMSAweDgyMQpzaW8xIGF0IHBvcnQgMHgyZjgtMHgyZmYgaXJxIDMgb24g aXNhMApzaW8xOiB0eXBlIDE2NTUwQQpzaW8yOiBub3QgcHJvYmVkIChkaXNhYmxlZCkKc2lvMzog bm90IHByb2JlZCAoZGlzYWJsZWQpCnNuMDogbm90IHByb2JlZCAoZGlzYWJsZWQpCnZnYTA6IDxH ZW5lcmljIElTQSBWR0E+IGF0IHBvcnQgMHgzYzAtMHgzZGYgaW9tZW0gMHhhMDAwMC0weGJmZmZm IG9uIGlzYTAKdnQwOiBub3QgcHJvYmVkIChkaXNhYmxlZCkKaXNhX3Byb2JlX2NoaWxkcmVuOiBw cm9iaW5nIFBuUCBkZXZpY2VzCnVua25vd246IDxQTlAwMzAzPiBjYW4ndCBhc3NpZ24gcmVzb3Vy Y2VzIChwb3J0KQp1bmtub3duOiA8UE5QMDMwMz4gYXQgcG9ydCAweDYwIG9uIGlzYTAKdW5rbm93 bjogPFBOUDA4MDA+IGZhaWxlZCB0byBwcm9iZSBhdCBwb3J0IDB4NjEgb24gaXNhMAp1bmtub3du OiA8UE5QMGMwMT4gY2FuJ3QgYXNzaWduIHJlc291cmNlcyAobWVtb3J5KQp1bmtub3duOiA8UE5Q MGMwMT4gYXQgaW9tZW0gMC0weDlmZmZmIG9uIGlzYTAKdW5rbm93bjogPFBOUDA1MDE+IGNhbid0 IGFzc2lnbiByZXNvdXJjZXMgKHBvcnQpCnVua25vd246IDxQTlAwNTAxPiBhdCBwb3J0IDB4M2Y4 LTB4M2ZmIG9uIGlzYTAKdW5rbm93bjogPFBOUDA3MDA+IGNhbid0IGFzc2lnbiByZXNvdXJjZXMg KHBvcnQpCnVua25vd246IDxQTlAwNzAwPiBhdCBwb3J0IDB4M2YwLTB4M2Y1IG9uIGlzYTAKdW5r bm93bjogPFBOUDA0MDE+IGNhbid0IGFzc2lnbiByZXNvdXJjZXMgKHBvcnQpCnVua25vd246IDxQ TlAwNDAxPiBhdCBwb3J0IDB4Mzc4LTB4MzdmIG9uIGlzYTAKdW5rbm93bjogPFBOUDA1MDE+IGNh bid0IGFzc2lnbiByZXNvdXJjZXMgKHBvcnQpCnVua25vd246IDxQTlAwNTAxPiBhdCBwb3J0IDB4 MmY4LTB4MmZmIG9uIGlzYTAKdW5rbm93bjogPFBOUGIwMDY+IGZhaWxlZCB0byBwcm9iZSBhdCBw b3J0IDB4MzMwLTB4MzMzIGlycSAxMCBvbiBpc2EwCnVua25vd246IDxQTlBiMDJmPiBmYWlsZWQg dG8gcHJvYmUgYXQgcG9ydCAweDIwMSBvbiBpc2EwCnVrYmQwOiBNaWNyb3NvZnQgTmF0dXJhbFxN LS4gRXJnb25vbWljIEtleWJvYXJkIDQwMDAsIHJldiAyLjAwLzEuNzMsIGFkZHIgMiwgaWNsYXNz IDMvMQprYmQ6IG5ldyBhcnJheSBzaXplIDQKa2JkMSBhdCB1a2JkMAprYmQxOiB1a2JkMCwgZ2Vu ZXJpYyAoMCksIGNvbmZpZzoweDAsIGZsYWdzOjB4MWQwMDAwCnVoaWQwOiBNaWNyb3NvZnQgTmF0 dXJhbFxNLS4gRXJnb25vbWljIEtleWJvYXJkIDQwMDAsIHJldiAyLjAwLzEuNzMsIGFkZHIgMiwg aWNsYXNzIDMvMQp1bXMwOiBMb2dpdGVjaCBVU0IgTW91c2UsIHJldiAxLjEwLzYuMTAsIGFkZHIg MiwgaWNsYXNzIDMvMQp1bXMwOiAzIGJ1dHRvbnMgYW5kIFogZGlyLgpEZXZpY2UgY29uZmlndXJh dGlvbiBmaW5pc2hlZC4KcHJvY2ZzIHJlZ2lzdGVyZWQKVGltZWNvdW50ZXIgIlRTQyIgZnJlcXVl bmN5IDIxMDQ3ODgzNzggSHogcXVhbGl0eSA4MDAKVGltZWNvdW50ZXJzIHRpY2sgZXZlcnkgMS4w MDAgbXNlYwpsbzA6IGJwZiBhdHRhY2hlZAphdGEwLXNsYXZlOiBwaW89UElPNCB3ZG1hPVdETUEy IHVkbWE9VURNQTEwMCBjYWJsZT04MCB3aXJlCmF0YTAtbWFzdGVyOiBwaW89UElPNCB3ZG1hPVdE TUEyIHVkbWE9VURNQTEzMyBjYWJsZT04MCB3aXJlCmFkMDogc2V0dGluZyBQSU80IG9uIG5WaWRp YSBuRm9yY2UyIGNoaXAKYWQwOiBzZXR0aW5nIFVETUExMzMgb24gblZpZGlhIG5Gb3JjZTIgY2hp cAphZDA6IDc2MzUxTUIgPFNBTVNVTkcgU1AwODAyTiBUSzEwMC0yMz4gYXQgYXRhMC1tYXN0ZXIg VURNQTEzMwphZDA6IDE1NjM2ODAxNiBzZWN0b3JzIFsxNTUxMjdDLzE2SC82M1NdIDE2IHNlY3Rv cnMvaW50ZXJydXB0IDEgZGVwdGggcXVldWUKYWQwOiBuVmlkaWEgY2hlY2sxIGZhaWxlZAphZDA6 IEFkYXB0ZWMgY2hlY2sxIGZhaWxlZAphZDA6IExTSSAodjMpIGNoZWNrMSBmYWlsZWQKYWQwOiBM U0kgKHYyKSBjaGVjazEgZmFpbGVkCmFkMDogRnJlZUJTRCBjaGVjazEgZmFpbGVkCmFkMTogc2V0 dGluZyBQSU80IG9uIG5WaWRpYSBuRm9yY2UyIGNoaXAKYWQxOiBzZXR0aW5nIFVETUExMDAgb24g blZpZGlhIG5Gb3JjZTIgY2hpcAphZDE6IDc2MzUxTUIgPFNBTVNVTkcgU1YwODAyTiBUUDEwMC0z MD4gYXQgYXRhMC1zbGF2ZSBVRE1BMTAwCmFkMTogMTU2MzY4MDE2IHNlY3RvcnMgWzE1NTEyN0Mv MTZILzYzU10gMTYgc2VjdG9ycy9pbnRlcnJ1cHQgMSBkZXB0aCBxdWV1ZQphZDE6IG5WaWRpYSBj aGVjazEgZmFpbGVkCmFkMTogQWRhcHRlYyBjaGVjazEgZmFpbGVkCmFkMTogTFNJICh2MykgY2hl Y2sxIGZhaWxlZAphZDE6IExTSSAodjIpIGNoZWNrMSBmYWlsZWQKYWQxOiBGcmVlQlNEIGNoZWNr MSBmYWlsZWQKYXRhMS1zbGF2ZTogcGlvPVBJTzMgd2RtYT1XRE1BMSB1ZG1hPVVOU1VQUE9SVEVE IGNhYmxlPTQwIHdpcmUKYXRhMS1tYXN0ZXI6IHBpbz1QSU80IHdkbWE9V0RNQTIgdWRtYT1VRE1B NjYgY2FibGU9ODAgd2lyZQphY2QwOiBzZXR0aW5nIFBJTzQgb24gblZpZGlhIG5Gb3JjZTIgY2hp cAphY2QwOiBzZXR0aW5nIFVETUE2NiBvbiBuVmlkaWEgbkZvcmNlMiBjaGlwCmFjZDA6IDxQaW9u ZWVyIERWRC1ST00gQVRBUElNb2RlbCBEVkQtMTIwUy8xLjAxPiBEVkRST00gZHJpdmUgYXQgYXRh MSBhcyBtYXN0ZXIKYWNkMDogcmVhZCA2ODc1S0IvcyAoNjg3NUtCL3MpLCAyNTZLQiBidWZmZXIs IFVETUE2NgphY2QwOiBSZWFkczogQ0RSLCBDRFJXLCBDRERBIHN0cmVhbSwgRFZEUk9NLCBEVkRS LCBwYWNrZXQKYWNkMDogV3JpdGVzOgphY2QwOiBBdWRpbzogcGxheSwgMjU2IHZvbHVtZSBsZXZl bHMKYWNkMDogTWVjaGFuaXNtOiBlamVjdGFibGUgdHJheSwgdW5sb2NrZWQKYWNkMDogTWVkaXVt OiBuby9ibGFuayBkaXNjCmFjZDE6IHNldHRpbmcgUElPMyBvbiBuVmlkaWEgbkZvcmNlMiBjaGlw CkdFT006IG5ldyBkaXNrIGFkMApHRU9NOiBuZXcgZGlzayBhZDEKYWNkMTogPEhld2xldHQtUGFj a2FyZCBDRC1Xcml0ZXIgUGx1cyA4MTAwLzEuMGc+IENEUlcgZHJpdmUgYXQgYXRhMSBhcyBzbGF2 ZQphY2QxOiByZWFkIDQxMzRLQi9zICg0MTM0S0Ivcykgd3JpdGUgNjg5S0IvcyAoNjg5S0Ivcyks IDEwMjRLQiBidWZmZXIsIFBJTzMKYWNkMTogUmVhZHM6IENEUiwgQ0RSVywgQ0REQSBzdHJlYW0s IHBhY2tldAphY2QxOiBXcml0ZXM6IENEUiwgQ0RSVywgdGVzdCB3cml0ZQphY2QxOiBBdWRpbzog cGxheSwgMjU2IHZvbHVtZSBsZXZlbHMKYWNkMTogTWVjaGFuaXNtOiBlamVjdGFibGUgdHJheSwg dW5sb2NrZWQKYWNkMTogTWVkaXVtOiBuby9ibGFuayBkaXNjCkFUQSBQc2V1ZG9SQUlEIGxvYWRl ZApUcnlpbmcgdG8gbW91bnQgcm9vdCBmcm9tIHVmczovZGV2L2FkMXMxYQpzdGFydF9pbml0OiB0 cnlpbmcgL3NiaW4vaW5pdAo= ------=_Part_19485_7205456.1132926913814 Content-Type: application/octet-stream; name="dmesg_acpi_on" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dmesg_acpi_on" ICAgIDAgIDI1NSAgIE4gICAgIDAgIDMgNCA1IDYgNyAxMCAxMSAxMiAxNCAxNQpwY2lfbGluazM6 IDxBQ1BJIFBDSSBMaW5rIExOSzQ+IGlycSAxMSBvbiBhY3BpMApwY2lfbGluazM6IExpbmtzIGFm dGVyIGluaXRpYWwgcHJvYmU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAgMTEg ICBOICAgICAwICAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbmszOiBMaW5rcyBhZnRl ciBpbml0aWFsIHZhbGlkYXRpb246CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAg MTEgICBOICAgICAwICAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbmszOiBMaW5rcyBh ZnRlciBkaXNhYmxlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAg ICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CnBjaV9saW5rNDogPEFDUEkgUENJIExpbmsg TE5LNT4gb24gYWNwaTAKcGNpX2xpbms0OiBMaW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpJbmRl eCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEw IDExIDEyIDE0IDE1CnBjaV9saW5rNDogTGlua3MgYWZ0ZXIgaW5pdGlhbCB2YWxpZGF0aW9uOgpJ bmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMyA0IDUgNiA3 IDEwIDExIDEyIDE0IDE1CnBjaV9saW5rNDogTGlua3MgYWZ0ZXIgZGlzYWJsZToKSW5kZXggIElS USAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDMgNCA1IDYgNyAxMCAxMSAx MiAxNCAxNQpwY2lfbGluazU6IDxBQ1BJIFBDSSBMaW5rIExVQkE+IGlycSA1IG9uIGFjcGkwCnBj aV9saW5rNTogTGlua3MgYWZ0ZXIgaW5pdGlhbCBwcm9iZToKSW5kZXggIElSUSAgUnRkICBSZWYg IElSUXMKICAgIDAgICAgNSAgIE4gICAgIDAgIDMgNCA1IDYgNyAxMCAxMSAxMiAxNCAxNQpwY2lf bGluazU6IExpbmtzIGFmdGVyIGluaXRpYWwgdmFsaWRhdGlvbjoKSW5kZXggIElSUSAgUnRkICBS ZWYgIElSUXMKICAgIDAgICAgNSAgIE4gICAgIDAgIDMgNCA1IDYgNyAxMCAxMSAxMiAxNCAxNQpw Y2lfbGluazU6IExpbmtzIGFmdGVyIGRpc2FibGU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFz CiAgICAwICAyNTUgICBOICAgICAwICAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbms2 OiA8QUNQSSBQQ0kgTGluayBMVUJCPiBpcnEgMTEgb24gYWNwaTAKcGNpX2xpbms2OiBMaW5rcyBh ZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgIDEx ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CnBjaV9saW5rNjogTGlua3MgYWZ0 ZXIgaW5pdGlhbCB2YWxpZGF0aW9uOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAg IDExICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CnBjaV9saW5rNjogTGlua3Mg YWZ0ZXIgZGlzYWJsZToKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4g ICAgIDAgIDMgNCA1IDYgNyAxMCAxMSAxMiAxNCAxNQpwY2lfbGluazc6IDxBQ1BJIFBDSSBMaW5r IExNQUM+IGlycSAxMSBvbiBhY3BpMApwY2lfbGluazc6IExpbmtzIGFmdGVyIGluaXRpYWwgcHJv YmU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAgMTEgICBOICAgICAwICAzIDQg NSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbms3OiBMaW5rcyBhZnRlciBpbml0aWFsIHZhbGlk YXRpb246CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAgMTEgICBOICAgICAwICAz IDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbms3OiBMaW5rcyBhZnRlciBkaXNhYmxlOgpJ bmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMyA0IDUgNiA3 IDEwIDExIDEyIDE0IDE1CnBjaV9saW5rODogPEFDUEkgUENJIExpbmsgTEFQVT4gaXJxIDUgb24g YWNwaTAKcGNpX2xpbms4OiBMaW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBS dGQgIFJlZiAgSVJRcwogICAgMCAgICA1ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0 IDE1CnBjaV9saW5rODogTGlua3MgYWZ0ZXIgaW5pdGlhbCB2YWxpZGF0aW9uOgpJbmRleCAgSVJR ICBSdGQgIFJlZiAgSVJRcwogICAgMCAgICA1ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEy IDE0IDE1CnBjaV9saW5rODogTGlua3MgYWZ0ZXIgZGlzYWJsZToKSW5kZXggIElSUSAgUnRkICBS ZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDMgNCA1IDYgNyAxMCAxMSAxMiAxNCAxNQpw Y2lfbGluazk6IDxBQ1BJIFBDSSBMaW5rIExBQ0k+IGlycSAxMSBvbiBhY3BpMApwY2lfbGluazk6 IExpbmtzIGFmdGVyIGluaXRpYWwgcHJvYmU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAg ICAwICAgMTEgICBOICAgICAwICAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbms5OiBM aW5rcyBhZnRlciBpbml0aWFsIHZhbGlkYXRpb246CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFz CiAgICAwICAgMTEgICBOICAgICAwICAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbms5 OiBMaW5rcyBhZnRlciBkaXNhYmxlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAg MjU1ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CnBjaV9saW5rMTA6IDxBQ1BJ IFBDSSBMaW5rIExNQ0k+IG9uIGFjcGkwCnBjaV9saW5rMTA6IExpbmtzIGFmdGVyIGluaXRpYWwg cHJvYmU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAyNTUgICBOICAgICAwICAz IDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbmsxMDogTGlua3MgYWZ0ZXIgaW5pdGlhbCB2 YWxpZGF0aW9uOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAg MCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CnBjaV9saW5rMTA6IExpbmtzIGFmdGVyIGRpc2Fi bGU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAyNTUgICBOICAgICAwICAzIDQg NSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbmsxMTogPEFDUEkgUENJIExpbmsgTFNNQj4gaXJx IDUgb24gYWNwaTAKcGNpX2xpbmsxMTogTGlua3MgYWZ0ZXIgaW5pdGlhbCBwcm9iZToKSW5kZXgg IElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgICAgNSAgIE4gICAgIDAgIDMgNCA1IDYgNyAxMCAx MSAxMiAxNCAxNQpwY2lfbGluazExOiBMaW5rcyBhZnRlciBpbml0aWFsIHZhbGlkYXRpb246Cklu ZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAgIDUgICBOICAgICAwICAzIDQgNSA2IDcg MTAgMTEgMTIgMTQgMTUKcGNpX2xpbmsxMTogTGlua3MgYWZ0ZXIgZGlzYWJsZToKSW5kZXggIElS USAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDMgNCA1IDYgNyAxMCAxMSAx MiAxNCAxNQpwY2lfbGluazEyOiA8QUNQSSBQQ0kgTGluayBMVUIyPiBpcnEgNSBvbiBhY3BpMApw Y2lfbGluazEyOiBMaW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBSdGQgIFJl ZiAgSVJRcwogICAgMCAgICA1ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CnBj aV9saW5rMTI6IExpbmtzIGFmdGVyIGluaXRpYWwgdmFsaWRhdGlvbjoKSW5kZXggIElSUSAgUnRk ICBSZWYgIElSUXMKICAgIDAgICAgNSAgIE4gICAgIDAgIDMgNCA1IDYgNyAxMCAxMSAxMiAxNCAx NQpwY2lfbGluazEyOiBMaW5rcyBhZnRlciBkaXNhYmxlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAg SVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CnBjaV9s aW5rMTM6IDxBQ1BJIFBDSSBMaW5rIExGSVI+IG9uIGFjcGkwCnBjaV9saW5rMTM6IExpbmtzIGFm dGVyIGluaXRpYWwgcHJvYmU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAyNTUg ICBOICAgICAwICAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbmsxMzogTGlua3MgYWZ0 ZXIgaW5pdGlhbCB2YWxpZGF0aW9uOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAg MjU1ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1CnBjaV9saW5rMTM6IExpbmtz IGFmdGVyIGRpc2FibGU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAyNTUgICBO ICAgICAwICAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbmsxNDogPEFDUEkgUENJIExp bmsgTDNDTT4gaXJxIDUgb24gYWNwaTAKcGNpX2xpbmsxNDogTGlua3MgYWZ0ZXIgaW5pdGlhbCBw cm9iZToKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgICAgNSAgIE4gICAgIDAgIDMg NCA1IDYgNyAxMCAxMSAxMiAxNCAxNQpwY2lfbGluazE0OiBMaW5rcyBhZnRlciBpbml0aWFsIHZh bGlkYXRpb246CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAgIDUgICBOICAgICAw ICAzIDQgNSA2IDcgMTAgMTEgMTIgMTQgMTUKcGNpX2xpbmsxNDogTGlua3MgYWZ0ZXIgZGlzYWJs ZToKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDMgNCA1 IDYgNyAxMCAxMSAxMiAxNCAxNQpwY2lfbGluazE1OiA8QUNQSSBQQ0kgTGluayBMSURFPiBvbiBh Y3BpMApwY2lfbGluazE1OiBMaW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBS dGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0 IDE1CnBjaV9saW5rMTU6IExpbmtzIGFmdGVyIGluaXRpYWwgdmFsaWRhdGlvbjoKSW5kZXggIElS USAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDMgNCA1IDYgNyAxMCAxMSAx MiAxNCAxNQpwY2lfbGluazE1OiBMaW5rcyBhZnRlciBkaXNhYmxlOgpJbmRleCAgSVJRICBSdGQg IFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMyA0IDUgNiA3IDEwIDExIDEyIDE0IDE1 CnBjaV9saW5rMTY6IDxBQ1BJIFBDSSBMaW5rIEFQQzE+IGlycSAxNiBvbiBhY3BpMApwY2lfbGlu azE2OiBMaW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJR cwogICAgMCAgIDE2ICAgTiAgICAgMCAgMTYKcGNpX2xpbmsxNjogTGlua3MgYWZ0ZXIgaW5pdGlh bCB2YWxpZGF0aW9uOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgIDE2ICAgTiAg ICAgMCAgMTYKcGNpX2xpbmsxNjogTGlua3MgYWZ0ZXIgZGlzYWJsZToKSW5kZXggIElSUSAgUnRk ICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDE2CnBjaV9saW5rMTc6IDxBQ1BJIFBD SSBMaW5rIEFQQzI+IGlycSAxNyBvbiBhY3BpMApwY2lfbGluazE3OiBMaW5rcyBhZnRlciBpbml0 aWFsIHByb2JlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgIDE3ICAgTiAgICAg MCAgMTcKcGNpX2xpbmsxNzogTGlua3MgYWZ0ZXIgaW5pdGlhbCB2YWxpZGF0aW9uOgpJbmRleCAg SVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgIDE3ICAgTiAgICAgMCAgMTcKcGNpX2xpbmsxNzog TGlua3MgYWZ0ZXIgZGlzYWJsZToKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1 NSAgIE4gICAgIDAgIDE3CnBjaV9saW5rMTg6IDxBQ1BJIFBDSSBMaW5rIEFQQzM+IGlycSAxOCBv biBhY3BpMApwY2lfbGluazE4OiBMaW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJR ICBSdGQgIFJlZiAgSVJRcwogICAgMCAgIDE4ICAgTiAgICAgMCAgMTgKcGNpX2xpbmsxODogTGlu a3MgYWZ0ZXIgaW5pdGlhbCB2YWxpZGF0aW9uOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwog ICAgMCAgIDE4ICAgTiAgICAgMCAgMTgKcGNpX2xpbmsxODogTGlua3MgYWZ0ZXIgZGlzYWJsZToK SW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDE4CnBjaV9s aW5rMTk6IDxBQ1BJIFBDSSBMaW5rIEFQQzQ+IGlycSAxOSBvbiBhY3BpMApwY2lfbGluazE5OiBM aW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAg MCAgIDE5ICAgTiAgICAgMCAgMTkKcGNpX2xpbmsxOTogTGlua3MgYWZ0ZXIgaW5pdGlhbCB2YWxp ZGF0aW9uOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgIDE5ICAgTiAgICAgMCAg MTkKcGNpX2xpbmsxOTogTGlua3MgYWZ0ZXIgZGlzYWJsZToKSW5kZXggIElSUSAgUnRkICBSZWYg IElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDE5CnBjaV9saW5rMjA6IDxBQ1BJIFBDSSBMaW5r IEFQQzU+IGlycSAxNiBvbiBhY3BpMApwY2lfbGluazIwOiBMaW5rcyBhZnRlciBpbml0aWFsIHBy b2JlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgIDE2ICAgTiAgICAgMCAgMTYK cGNpX2xpbmsyMDogTGlua3MgYWZ0ZXIgaW5pdGlhbCB2YWxpZGF0aW9uOgpJbmRleCAgSVJRICBS dGQgIFJlZiAgSVJRcwogICAgMCAgIDE2ICAgTiAgICAgMCAgMTYKcGNpX2xpbmsyMDogTGlua3Mg YWZ0ZXIgZGlzYWJsZToKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4g ICAgIDAgIDE2CnBjaV9saW5rMjE6IDxBQ1BJIFBDSSBMaW5rIEFQQ0Y+IGlycSAwIG9uIGFjcGkw CnBjaV9saW5rMjE6IExpbmtzIGFmdGVyIGluaXRpYWwgcHJvYmU6CkluZGV4ICBJUlEgIFJ0ZCAg UmVmICBJUlFzCiAgICAwICAyNTUgICBOICAgICAwICAyMCAyMSAyMgpwY2lfbGluazIxOiBMaW5r cyBhZnRlciBpbml0aWFsIHZhbGlkYXRpb246CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAg ICAwICAyNTUgICBOICAgICAwICAyMCAyMSAyMgpwY2lfbGluazIxOiBMaW5rcyBhZnRlciBkaXNh YmxlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMjAg MjEgMjIKcGNpX2xpbmsyMjogPEFDUEkgUENJIExpbmsgQVBDRz4gaXJxIDAgb24gYWNwaTAKcGNp X2xpbmsyMjogTGlua3MgYWZ0ZXIgaW5pdGlhbCBwcm9iZToKSW5kZXggIElSUSAgUnRkICBSZWYg IElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDIwIDIxIDIyCnBjaV9saW5rMjI6IExpbmtzIGFm dGVyIGluaXRpYWwgdmFsaWRhdGlvbjoKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAg IDI1NSAgIE4gICAgIDAgIDIwIDIxIDIyCnBjaV9saW5rMjI6IExpbmtzIGFmdGVyIGRpc2FibGU6 CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAyNTUgICBOICAgICAwICAyMCAyMSAy MgpwY2lfbGluazIzOiA8QUNQSSBQQ0kgTGluayBBUENIPiBpcnEgMCBvbiBhY3BpMApwY2lfbGlu azIzOiBMaW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJR cwogICAgMCAgMjU1ICAgTiAgICAgMCAgMjAgMjEgMjIKcGNpX2xpbmsyMzogTGlua3MgYWZ0ZXIg aW5pdGlhbCB2YWxpZGF0aW9uOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1 ICAgTiAgICAgMCAgMjAgMjEgMjIKcGNpX2xpbmsyMzogTGlua3MgYWZ0ZXIgZGlzYWJsZToKSW5k ZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDIwIDIxIDIyCnBj aV9saW5rMjQ6IDxBQ1BJIFBDSSBMaW5rIEFQQ0k+IGlycSAwIG9uIGFjcGkwCnBjaV9saW5rMjQ6 IExpbmtzIGFmdGVyIGluaXRpYWwgcHJvYmU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAg ICAwICAyNTUgICBOICAgICAwICAyMCAyMSAyMgpwY2lfbGluazI0OiBMaW5rcyBhZnRlciBpbml0 aWFsIHZhbGlkYXRpb246CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAyNTUgICBO ICAgICAwICAyMCAyMSAyMgpwY2lfbGluazI0OiBMaW5rcyBhZnRlciBkaXNhYmxlOgpJbmRleCAg SVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMjAgMjEgMjIKcGNpX2xp bmsyNTogPEFDUEkgUENJIExpbmsgQVBDSj4gaXJxIDAgb24gYWNwaTAKcGNpX2xpbmsyNTogTGlu a3MgYWZ0ZXIgaW5pdGlhbCBwcm9iZToKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAg IDI1NSAgIE4gICAgIDAgIDIwIDIxIDIyCnBjaV9saW5rMjU6IExpbmtzIGFmdGVyIGluaXRpYWwg dmFsaWRhdGlvbjoKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAg IDAgIDIwIDIxIDIyCnBjaV9saW5rMjU6IExpbmtzIGFmdGVyIGRpc2FibGU6CkluZGV4ICBJUlEg IFJ0ZCAgUmVmICBJUlFzCiAgICAwICAyNTUgICBOICAgICAwICAyMCAyMSAyMgpwY2lfbGluazI2 OiA8QUNQSSBQQ0kgTGluayBBUENLPiBpcnEgMCBvbiBhY3BpMApwY2lfbGluazI2OiBMaW5rcyBh ZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1 ICAgTiAgICAgMCAgMjAgMjEgMjIKcGNpX2xpbmsyNjogTGlua3MgYWZ0ZXIgaW5pdGlhbCB2YWxp ZGF0aW9uOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAg MjAgMjEgMjIKcGNpX2xpbmsyNjogTGlua3MgYWZ0ZXIgZGlzYWJsZToKSW5kZXggIElSUSAgUnRk ICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDIwIDIxIDIyCnBjaV9saW5rMjc6IDxB Q1BJIFBDSSBMaW5rIEFQQ1M+IGlycSAyMyBvbiBhY3BpMApwY2lfbGluazI3OiBMaW5rcyBhZnRl ciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgIDIzICAg TiAgICAgMCAgMjMKcGNpX2xpbmsyNzogTGlua3MgYWZ0ZXIgaW5pdGlhbCB2YWxpZGF0aW9uOgpJ bmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgIDIzICAgTiAgICAgMCAgMjMKcGNpX2xp bmsyNzogTGlua3MgYWZ0ZXIgZGlzYWJsZToKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAg IDAgIDI1NSAgIE4gICAgIDAgIDIzCnBjaV9saW5rMjg6IDxBQ1BJIFBDSSBMaW5rIEFQQ0w+IGly cSAwIG9uIGFjcGkwCnBjaV9saW5rMjg6IExpbmtzIGFmdGVyIGluaXRpYWwgcHJvYmU6CkluZGV4 ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAyNTUgICBOICAgICAwICAyMCAyMSAyMgpwY2lf bGluazI4OiBMaW5rcyBhZnRlciBpbml0aWFsIHZhbGlkYXRpb246CkluZGV4ICBJUlEgIFJ0ZCAg UmVmICBJUlFzCiAgICAwICAyNTUgICBOICAgICAwICAyMCAyMSAyMgpwY2lfbGluazI4OiBMaW5r cyBhZnRlciBkaXNhYmxlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAg TiAgICAgMCAgMjAgMjEgMjIKcGNpX2xpbmsyOTogPEFDUEkgUENJIExpbmsgQVBDTT4gaXJxIDAg b24gYWNwaTAKcGNpX2xpbmsyOTogTGlua3MgYWZ0ZXIgaW5pdGlhbCBwcm9iZToKSW5kZXggIElS USAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDIwIDIxIDIyCnBjaV9saW5r Mjk6IExpbmtzIGFmdGVyIGluaXRpYWwgdmFsaWRhdGlvbjoKSW5kZXggIElSUSAgUnRkICBSZWYg IElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAgIDIwIDIxIDIyCnBjaV9saW5rMjk6IExpbmtzIGFm dGVyIGRpc2FibGU6CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAgICAwICAyNTUgICBOICAg ICAwICAyMCAyMSAyMgpwY2lfbGluazMwOiA8QUNQSSBQQ0kgTGluayBBUDNDPiBpcnEgMCBvbiBh Y3BpMApwY2lfbGluazMwOiBMaW5rcyBhZnRlciBpbml0aWFsIHByb2JlOgpJbmRleCAgSVJRICBS dGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMjAgMjEgMjIKcGNpX2xpbmszMDog TGlua3MgYWZ0ZXIgaW5pdGlhbCB2YWxpZGF0aW9uOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJR cwogICAgMCAgMjU1ICAgTiAgICAgMCAgMjAgMjEgMjIKcGNpX2xpbmszMDogTGlua3MgYWZ0ZXIg ZGlzYWJsZToKSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICAgIDAgIDI1NSAgIE4gICAgIDAg IDIwIDIxIDIyCnBjaV9saW5rMzE6IDxBQ1BJIFBDSSBMaW5rIEFQQ1o+IGlycSAwIG9uIGFjcGkw CnBjaV9saW5rMzE6IExpbmtzIGFmdGVyIGluaXRpYWwgcHJvYmU6CkluZGV4ICBJUlEgIFJ0ZCAg UmVmICBJUlFzCiAgICAwICAyNTUgICBOICAgICAwICAyMCAyMSAyMgpwY2lfbGluazMxOiBMaW5r cyBhZnRlciBpbml0aWFsIHZhbGlkYXRpb246CkluZGV4ICBJUlEgIFJ0ZCAgUmVmICBJUlFzCiAg ICAwICAyNTUgICBOICAgICAwICAyMCAyMSAyMgpwY2lfbGluazMxOiBMaW5rcyBhZnRlciBkaXNh YmxlOgpJbmRleCAgSVJRICBSdGQgIFJlZiAgSVJRcwogICAgMCAgMjU1ICAgTiAgICAgMCAgMjAg MjEgMjIKQUNQSSB0aW1lcjogMS8xIDEvMSAxLzEgMS8xIDEvMSAxLzEgMS8xIDEvMSAxLzEgMS8x IC0+IDEwClRpbWVjb3VudGVyICJBQ1BJLWZhc3QiIGZyZXF1ZW5jeSAzNTc5NTQ1IEh6IHF1YWxp dHkgMTAwMAphY3BpX3RpbWVyMDogPDI0LWJpdCB0aW1lciBhdCAzLjU3OTU0NU1Iej4gcG9ydCAw eDQwMDgtMHg0MDBiIG9uIGFjcGkwCmNwdTA6IDxBQ1BJIENQVT4gb24gYWNwaTAKYWNwaV9idXR0 b24wOiA8UG93ZXIgQnV0dG9uPiBvbiBhY3BpMApwY2liMDogPEFDUEkgSG9zdC1QQ0kgYnJpZGdl PiBwb3J0IDB4Y2Y4LTB4Y2ZmIG9uIGFjcGkwCnBjaTA6IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWIw CnBjaTA6IHBoeXNpY2FsIGJ1cz0wCmZvdW5kLT4JdmVuZG9yPTB4MTBkZSwgZGV2PTB4MDFlMCwg cmV2aWQ9MHhjMQoJYnVzPTAsIHNsb3Q9MCwgZnVuYz0wCgljbGFzcz0wNi0wMC0wMCwgaGRydHlw ZT0weDAwLCBtZmRldj0xCgljbWRyZWc9MHgwMDA2LCBzdGF0cmVnPTB4MDBiMCwgY2FjaGVsbnN6 PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1h eGxhdD0weDAwICgwIG5zKQoJbWFwWzEwXTogdHlwZSAzLCByYW5nZSAzMiwgYmFzZSBlMDAwMDAw MCwgc2l6ZSAyNiwgZW5hYmxlZApmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDAxZWIsIHJl dmlkPTB4YzEKCWJ1cz0wLCBzbG90PTAsIGZ1bmM9MQoJY2xhc3M9MDUtMDAtMDAsIGhkcnR5cGU9 MHgwMCwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMjAsIGNhY2hlbG5zej0w IChkd29yZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhs YXQ9MHgwMCAoMCBucykKZm91bmQtPgl2ZW5kb3I9MHgxMGRlLCBkZXY9MHgwMWVlLCByZXZpZD0w eGMxCglidXM9MCwgc2xvdD0wLCBmdW5jPTIKCWNsYXNzPTA1LTAwLTAwLCBoZHJ0eXBlPTB4MDAs IG1mZGV2PTEKCWNtZHJlZz0weDAwMDAsIHN0YXRyZWc9MHgwMDIwLCBjYWNoZWxuc3o9MCAoZHdv cmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4 MDAgKDAgbnMpCmZvdW5kLT4JdmVuZG9yPTB4MTBkZSwgZGV2PTB4MDFlZCwgcmV2aWQ9MHhjMQoJ YnVzPTAsIHNsb3Q9MCwgZnVuYz0zCgljbGFzcz0wNS0wMC0wMCwgaGRydHlwZT0weDAwLCBtZmRl dj0xCgljbWRyZWc9MHgwMDAwLCBzdGF0cmVnPTB4MDAyMCwgY2FjaGVsbnN6PTAgKGR3b3JkcykK CWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgw IG5zKQpmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDAxZWMsIHJldmlkPTB4YzEKCWJ1cz0w LCBzbG90PTAsIGZ1bmM9NAoJY2xhc3M9MDUtMDAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MQoJ Y21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMjAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0 aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBucykK Zm91bmQtPgl2ZW5kb3I9MHgxMGRlLCBkZXY9MHgwMWVmLCByZXZpZD0weGMxCglidXM9MCwgc2xv dD0wLCBmdW5jPTUKCWNsYXNzPTA1LTAwLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJl Zz0weDAwMDAsIHN0YXRyZWc9MHgwMDIwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9 MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCmZvdW5k LT4JdmVuZG9yPTB4MTBkZSwgZGV2PTB4MDA2MCwgcmV2aWQ9MHhhNAoJYnVzPTAsIHNsb3Q9MSwg ZnVuYz0wCgljbGFzcz0wNi0wMS0wMCwgaGRydHlwZT0weDAwLCBtZmRldj0xCgljbWRyZWc9MHgw MDBmLCBzdGF0cmVnPTB4MDBiMCwgY2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAg KDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQpmb3VuZC0+CXZl bmRvcj0weDEwZGUsIGRldj0weDAwNjQsIHJldmlkPTB4YTIKCWJ1cz0wLCBzbG90PTEsIGZ1bmM9 MQoJY2xhc3M9MGMtMDUtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMSwg c3RhdHJlZz0weDAwYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1lcj0weDAwICgwIG5z KSwgbWluZ250PTB4MDMgKDc1MCBucyksIG1heGxhdD0weDAxICgyNTAgbnMpCglpbnRwaW49YSwg aXJxPTUKCXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMyAgY3VycmVudCBEMAoJbWFwWzEwXTog dHlwZSA0LCByYW5nZSAzMiwgYmFzZSAwMDAwYzAwMCwgc2l6ZSAgNSwgZW5hYmxlZApwY2liMDog bWF0Y2hlZCBlbnRyeSBmb3IgMC4xLklOVEEgKHNyYyBcXF9TQl8uUENJMC5BUENTOjApCmlvYXBp YzA6IENoYW5naW5nIHBvbGFyaXR5IGZvciBwaW4gMjMgdG8gaGlnaApwY2liMDogc2xvdCAxIElO VEEgcm91dGVkIHRvIGlycSAyMyB2aWEgXFxfU0JfLlBDSTAuQVBDUwpmb3VuZC0+CXZlbmRvcj0w eDEwZGUsIGRldj0weDAwNjcsIHJldmlkPTB4YTQKCWJ1cz0wLCBzbG90PTIsIGZ1bmM9MAoJY2xh c3M9MGMtMDMtMTAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MQoJY21kcmVnPTB4MDAwNywgc3RhdHJl Zz0weDAwYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWlu Z250PTB4MDMgKDc1MCBucyksIG1heGxhdD0weDAxICgyNTAgbnMpCglpbnRwaW49YSwgaXJxPTUK CXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMSBEMiBEMyAgY3VycmVudCBEMAoJbWFwWzEwXTog dHlwZSAxLCByYW5nZSAzMiwgYmFzZSBlODA4MDAwMCwgc2l6ZSAxMiwgZW5hYmxlZApwY2liMDog bWF0Y2hlZCBlbnRyeSBmb3IgMC4yLklOVEEgKHNyYyBcXF9TQl8uUENJMC5BUENGOjApCnBjaV9s aW5rMjE6IFBpY2tlZCBJUlEgMjAgd2l0aCB3ZWlnaHQgMAppb2FwaWMwOiBDaGFuZ2luZyBwb2xh cml0eSBmb3IgcGluIDIwIHRvIGhpZ2gKcGNpYjA6IHNsb3QgMiBJTlRBIHJvdXRlZCB0byBpcnEg MjAgdmlhIFxcX1NCXy5QQ0kwLkFQQ0YKZm91bmQtPgl2ZW5kb3I9MHgxMGRlLCBkZXY9MHgwMDY3 LCByZXZpZD0weGE0CglidXM9MCwgc2xvdD0yLCBmdW5jPTEKCWNsYXNzPTBjLTAzLTEwLCBoZHJ0 eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwMDcsIHN0YXRyZWc9MHgwMGIwLCBjYWNoZWxu c3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAzICg3NTAgbnMp LCBtYXhsYXQ9MHgwMSAoMjUwIG5zKQoJaW50cGluPWIsIGlycT0xMQoJcG93ZXJzcGVjIDIgIHN1 cHBvcnRzIEQwIEQxIEQyIEQzICBjdXJyZW50IEQwCgltYXBbMTBdOiB0eXBlIDEsIHJhbmdlIDMy LCBiYXNlIGU4MDgzMDAwLCBzaXplIDEyLCBlbmFibGVkCnBjaWIwOiBtYXRjaGVkIGVudHJ5IGZv ciAwLjIuSU5UQiAoc3JjIFxcX1NCXy5QQ0kwLkFQQ0c6MCkKcGNpX2xpbmsyMjogUGlja2VkIElS USAyMSB3aXRoIHdlaWdodCAwCmlvYXBpYzA6IENoYW5naW5nIHBvbGFyaXR5IGZvciBwaW4gMjEg dG8gaGlnaApwY2liMDogc2xvdCAyIElOVEIgcm91dGVkIHRvIGlycSAyMSB2aWEgXFxfU0JfLlBD STAuQVBDRwpmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDAwNjgsIHJldmlkPTB4YTQKCWJ1 cz0wLCBzbG90PTIsIGZ1bmM9MgoJY2xhc3M9MGMtMDMtMjAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9 MQoJY21kcmVnPTB4MDAwNiwgc3RhdHJlZz0weDAwYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCgls YXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDMgKDc1MCBucyksIG1heGxhdD0weDAxICgy NTAgbnMpCglpbnRwaW49YywgaXJxPTUKCXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMSBEMiBE MyAgY3VycmVudCBEMAoJbWFwWzEwXTogdHlwZSAxLCByYW5nZSAzMiwgYmFzZSBlODA4NDAwMCwg c2l6ZSAgOCwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4yLklOVEMgKHNyYyBc XF9TQl8uUENJMC5BUENMOjApCnBjaV9saW5rMjg6IFBpY2tlZCBJUlEgMjIgd2l0aCB3ZWlnaHQg MAppb2FwaWMwOiBDaGFuZ2luZyBwb2xhcml0eSBmb3IgcGluIDIyIHRvIGhpZ2gKcGNpYjA6IHNs b3QgMiBJTlRDIHJvdXRlZCB0byBpcnEgMjIgdmlhIFxcX1NCXy5QQ0kwLkFQQ0wKZm91bmQtPgl2 ZW5kb3I9MHgxMGRlLCBkZXY9MHgwMDY2LCByZXZpZD0weGExCglidXM9MCwgc2xvdD00LCBmdW5j PTAKCWNsYXNzPTAyLTAwLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcs IHN0YXRyZWc9MHgwMGIwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBu cyksIG1pbmdudD0weDAxICgyNTAgbnMpLCBtYXhsYXQ9MHgxNCAoNTAwMCBucykKCWludHBpbj1h LCBpcnE9MTEKCXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMSBEMiBEMyAgY3VycmVudCBEMAoJ bWFwWzEwXTogdHlwZSAxLCByYW5nZSAzMiwgYmFzZSBlODA4NTAwMCwgc2l6ZSAxMiwgZW5hYmxl ZAoJbWFwWzE0XTogdHlwZSA0LCByYW5nZSAzMiwgYmFzZSAwMDAwYzQwMCwgc2l6ZSAgMywgZW5h YmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC40LklOVEEgKHNyYyBcXF9TQl8uUENJMC5B UENIOjApCnBjaV9saW5rMjM6IFBpY2tlZCBJUlEgMjAgd2l0aCB3ZWlnaHQgMQpwY2liMDogc2xv dCA0IElOVEEgcm91dGVkIHRvIGlycSAyMCB2aWEgXFxfU0JfLlBDSTAuQVBDSApmb3VuZC0+CXZl bmRvcj0weDEwZGUsIGRldj0weDAwNmIsIHJldmlkPTB4YTIKCWJ1cz0wLCBzbG90PTUsIGZ1bmM9 MAoJY2xhc3M9MDQtMDEtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21kcmVnPTB4MDAwNiwg c3RhdHJlZz0weDAwYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1lcj0weDAwICgwIG5z KSwgbWluZ250PTB4MDEgKDI1MCBucyksIG1heGxhdD0weDBjICgzMDAwIG5zKQoJaW50cGluPWEs IGlycT01Cglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAgRDEgRDIgRDMgIGN1cnJlbnQgRDAKCW1h cFsxMF06IHR5cGUgMSwgcmFuZ2UgMzIsIGJhc2UgZTgwMDAwMDAsIHNpemUgMTksIGVuYWJsZWQK cGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuNS5JTlRBIChzcmMgXFxfU0JfLlBDSTAuQVBDSTow KQpwY2lfbGluazI0OiBQaWNrZWQgSVJRIDIxIHdpdGggd2VpZ2h0IDEKcGNpYjA6IHNsb3QgNSBJ TlRBIHJvdXRlZCB0byBpcnEgMjEgdmlhIFxcX1NCXy5QQ0kwLkFQQ0kKZm91bmQtPgl2ZW5kb3I9 MHgxMGRlLCBkZXY9MHgwMDZhLCByZXZpZD0weGExCglidXM9MCwgc2xvdD02LCBmdW5jPTAKCWNs YXNzPTA0LTAxLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcsIHN0YXRy ZWc9MHgwMGIwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1p bmdudD0weDAyICg1MDAgbnMpLCBtYXhsYXQ9MHgwNSAoMTI1MCBucykKCWludHBpbj1hLCBpcnE9 MTEKCXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMSBEMiBEMyAgY3VycmVudCBEMAoJbWFwWzEw XTogdHlwZSA0LCByYW5nZSAzMiwgYmFzZSAwMDAwYjAwMCwgc2l6ZSAgOCwgZW5hYmxlZAoJbWFw WzE0XTogdHlwZSA0LCByYW5nZSAzMiwgYmFzZSAwMDAwYjQwMCwgc2l6ZSAgNywgZW5hYmxlZAoJ bWFwWzE4XTogdHlwZSAxLCByYW5nZSAzMiwgYmFzZSBlODA4MTAwMCwgc2l6ZSAxMiwgZW5hYmxl ZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC42LklOVEEgKHNyYyBcXF9TQl8uUENJMC5BUENK OjApCnBjaV9saW5rMjU6IFBpY2tlZCBJUlEgMjIgd2l0aCB3ZWlnaHQgMQpwY2liMDogc2xvdCA2 IElOVEEgcm91dGVkIHRvIGlycSAyMiB2aWEgXFxfU0JfLlBDSTAuQVBDSgpmb3VuZC0+CXZlbmRv cj0weDEwZGUsIGRldj0weDAwNmMsIHJldmlkPTB4YTMKCWJ1cz0wLCBzbG90PTgsIGZ1bmM9MAoJ Y2xhc3M9MDYtMDQtMDAsIGhkcnR5cGU9MHgwMSwgbWZkZXY9MAoJY21kcmVnPTB4MDEwNywgc3Rh dHJlZz0weDAwYTAsIGNhY2hlbG5zej0wIChkd29yZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwg bWluZ250PTB4MDIgKDUwMCBucyksIG1heGxhdD0weDAyICg1MDAgbnMpCmZvdW5kLT4JdmVuZG9y PTB4MTBkZSwgZGV2PTB4MDA2NSwgcmV2aWQ9MHhhMgoJYnVzPTAsIHNsb3Q9OSwgZnVuYz0wCglj bGFzcz0wMS0wMS04YSwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRyZWc9MHgwMDA1LCBzdGF0 cmVnPTB4MDBiMCwgY2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBt aW5nbnQ9MHgwMyAoNzUwIG5zKSwgbWF4bGF0PTB4MDEgKDI1MCBucykKCXBvd2Vyc3BlYyAyICBz dXBwb3J0cyBEMCBEMyAgY3VycmVudCBEMAoJbWFwWzIwXTogdHlwZSA0LCByYW5nZSAzMiwgYmFz ZSAwMDAwZjAwMCwgc2l6ZSAgNCwgZW5hYmxlZApmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0w eDAwNmQsIHJldmlkPTB4YTMKCWJ1cz0wLCBzbG90PTEyLCBmdW5jPTAKCWNsYXNzPTA2LTA0LTAw LCBoZHJ0eXBlPTB4MDEsIG1mZGV2PTAKCWNtZHJlZz0weDAxMDcsIHN0YXRyZWc9MHgwMGEwLCBj YWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAyICg1 MDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBucykKZm91bmQtPgl2ZW5kb3I9MHgxMGRlLCBkZXY9MHgw MWU4LCByZXZpZD0weGMxCglidXM9MCwgc2xvdD0zMCwgZnVuYz0wCgljbGFzcz0wNi0wNC0wMCwg aGRydHlwZT0weDAxLCBtZmRldj0wCgljbWRyZWc9MHgwMTA3LCBzdGF0cmVnPTB4MDIyMCwgY2Fj aGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MjAgKDk2MCBucyksIG1pbmdudD0weDBhICgy NTAwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCmFncDA6IDxOVklESUEgbkZvcmNlMiBBR1AgQ29u dHJvbGxlcj4gbWVtIDB4ZTAwMDAwMDAtMHhlM2ZmZmZmZiBhdCBkZXZpY2UgMC4wIG9uIHBjaTAK YWdwMDogUmVzZXJ2ZWQgMHg0MDAwMDAwIGJ5dGVzIGZvciByaWQgMHgxMCB0eXBlIDMgYXQgMHhl MDAwMDAwMAphZ3AwOiBhbGxvY2F0aW5nIEdBVFQgZm9yIGFwZXJ0dXJlIG9mIHNpemUgNjRNCnBj aTA6IDxtZW1vcnksIFJBTT4gYXQgZGV2aWNlIDAuMSAobm8gZHJpdmVyIGF0dGFjaGVkKQpwY2kw OiA8bWVtb3J5LCBSQU0+IGF0IGRldmljZSAwLjIgKG5vIGRyaXZlciBhdHRhY2hlZCkKcGNpMDog PG1lbW9yeSwgUkFNPiBhdCBkZXZpY2UgMC4zIChubyBkcml2ZXIgYXR0YWNoZWQpCnBjaTA6IDxt ZW1vcnksIFJBTT4gYXQgZGV2aWNlIDAuNCAobm8gZHJpdmVyIGF0dGFjaGVkKQpwY2kwOiA8bWVt b3J5LCBSQU0+IGF0IGRldmljZSAwLjUgKG5vIGRyaXZlciBhdHRhY2hlZCkKaXNhYjA6IDxQQ0kt SVNBIGJyaWRnZT4gYXQgZGV2aWNlIDEuMCBvbiBwY2kwCmlzYTA6IDxJU0EgYnVzPiBvbiBpc2Fi MApwY2kwOiA8c2VyaWFsIGJ1cywgU01CdXM+IGF0IGRldmljZSAxLjEgKG5vIGRyaXZlciBhdHRh Y2hlZCkKb2hjaTA6IDxPSENJIChnZW5lcmljKSBVU0IgY29udHJvbGxlcj4gbWVtIDB4ZTgwODAw MDAtMHhlODA4MGZmZiBpcnEgMjAgYXQgZGV2aWNlIDIuMCBvbiBwY2kwCm9oY2kwOiBSZXNlcnZl ZCAweDEwMDAgYnl0ZXMgZm9yIHJpZCAweDEwIHR5cGUgMyBhdCAweGU4MDgwMDAwCm9oY2kwOiBb R0lBTlQtTE9DS0VEXQp1c2IwOiBPSENJIHZlcnNpb24gMS4wLCBsZWdhY3kgc3VwcG9ydAp1c2Iw OiBTTU0gZG9lcyBub3QgcmVzcG9uZCwgcmVzZXR0aW5nCnVzYjA6IDxPSENJIChnZW5lcmljKSBV U0IgY29udHJvbGxlcj4gb24gb2hjaTAKdXNiMDogVVNCIHJldmlzaW9uIDEuMAp1aHViMDogblZp ZGlhIE9IQ0kgcm9vdCBodWIsIGNsYXNzIDkvMCwgcmV2IDEuMDAvMS4wMCwgYWRkciAxCnVodWIw OiAzIHBvcnRzIHdpdGggMyByZW1vdmFibGUsIHNlbGYgcG93ZXJlZApvaGNpMTogPE9IQ0kgKGdl bmVyaWMpIFVTQiBjb250cm9sbGVyPiBtZW0gMHhlODA4MzAwMC0weGU4MDgzZmZmIGlycSAyMSBh dCBkZXZpY2UgMi4xIG9uIHBjaTAKb2hjaTE6IFJlc2VydmVkIDB4MTAwMCBieXRlcyBmb3Igcmlk IDB4MTAgdHlwZSAzIGF0IDB4ZTgwODMwMDAKb2hjaTE6IFtHSUFOVC1MT0NLRURdCnVzYjE6IE9I Q0kgdmVyc2lvbiAxLjAsIGxlZ2FjeSBzdXBwb3J0CnVzYjE6IFNNTSBkb2VzIG5vdCByZXNwb25k LCByZXNldHRpbmcKdXNiMTogPE9IQ0kgKGdlbmVyaWMpIFVTQiBjb250cm9sbGVyPiBvbiBvaGNp MQp1c2IxOiBVU0IgcmV2aXNpb24gMS4wCnVodWIxOiBuVmlkaWEgT0hDSSByb290IGh1YiwgY2xh c3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDEKdWh1YjE6IDMgcG9ydHMgd2l0aCAzIHJlbW92 YWJsZSwgc2VsZiBwb3dlcmVkCmVoY2kwOiA8RUhDSSAoZ2VuZXJpYykgVVNCIDIuMCBjb250cm9s bGVyPiBtZW0gMHhlODA4NDAwMC0weGU4MDg0MGZmIGlycSAyMiBhdCBkZXZpY2UgMi4yIG9uIHBj aTAKZWhjaTA6IFJlc2VydmVkIDB4MTAwIGJ5dGVzIGZvciByaWQgMHgxMCB0eXBlIDMgYXQgMHhl ODA4NDAwMAplaGNpMDogW0dJQU5ULUxPQ0tFRF0KdXNiMjogRUhDSSB2ZXJzaW9uIDEuMAp1c2Iy OiBjb21wYW5pb24gY29udHJvbGxlcnMsIDQgcG9ydHMgZWFjaDogdXNiMCB1c2IxCnVzYjI6IDxF SENJIChnZW5lcmljKSBVU0IgMi4wIGNvbnRyb2xsZXI+IG9uIGVoY2kwCnVzYjI6IFVTQiByZXZp c2lvbiAyLjAKdWh1YjI6IG5WaWRpYSBFSENJIHJvb3QgaHViLCBjbGFzcyA5LzAsIHJldiAyLjAw LzEuMDAsIGFkZHIgMQp1aHViMjogNiBwb3J0cyB3aXRoIDYgcmVtb3ZhYmxlLCBzZWxmIHBvd2Vy ZWQKbnZlMDogPE5WSURJQSBuRm9yY2UgTUNQMiBOZXR3b3JraW5nIEFkYXB0ZXI+IHBvcnQgMHhj NDAwLTB4YzQwNyBtZW0gMHhlODA4NTAwMC0weGU4MDg1ZmZmIGlycSAyMCBhdCBkZXZpY2UgNC4w IG9uIHBjaTAKbnZlMDogUmVzZXJ2ZWQgMHgxMDAwIGJ5dGVzIGZvciByaWQgMHgxMCB0eXBlIDMg YXQgMHhlODA4NTAwMApudmUwOiBFdGhlcm5ldCBhZGRyZXNzIDAwOjBjOjZlOjM0Ojg0OmZlCm1p aWJ1czA6IDxNSUkgYnVzPiBvbiBudmUwCnJscGh5MDogPFJUTDgyMDFMIDEwLzEwMCBtZWRpYSBp bnRlcmZhY2U+IG9uIG1paWJ1czAKcmxwaHkwOiAgMTBiYXNlVCwgMTBiYXNlVC1GRFgsIDEwMGJh c2VUWCwgMTAwYmFzZVRYLUZEWCwgYXV0bwpudmUwOiBicGYgYXR0YWNoZWQKbnZlMDogRXRoZXJu ZXQgYWRkcmVzczogMDA6MGM6NmU6MzQ6ODQ6ZmUKbnZlMDogW0dJQU5ULUxPQ0tFRF0KcGNpMDog PG11bHRpbWVkaWEsIGF1ZGlvPiBhdCBkZXZpY2UgNS4wIChubyBkcml2ZXIgYXR0YWNoZWQpCnBj aTA6IDxtdWx0aW1lZGlhLCBhdWRpbz4gYXQgZGV2aWNlIDYuMCAobm8gZHJpdmVyIGF0dGFjaGVk KQpwY2liMTogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGF0IGRldmljZSA4LjAgb24gcGNpMApwY2li MTogICBzZWNvbmRhcnkgYnVzICAgICAxCnBjaWIxOiAgIHN1Ym9yZGluYXRlIGJ1cyAgIDEKcGNp YjE6ICAgSS9PIGRlY29kZSAgICAgICAgMHhmMDAwLTB4ZmZmCnBjaWIxOiAgIG1lbW9yeSBkZWNv ZGUgICAgIDB4ZmZmMDAwMDAtMHhmZmZmZgpwY2liMTogICBwcmVmZXRjaGVkIGRlY29kZSAweGZm ZjAwMDAwLTB4ZmZmZmYKQUNQSTogRm91bmQgbWF0Y2hpbmcgcGluIGZvciAwLjYuSU5UQSBhdCBm dW5jIDA6IDIyCnBjaV9saW5rMTY6IEJJT1MgSVJRIDIyIGZvciAwLjYuSU5UQSBpcyBpbnZhbGlk CnBjaTE6IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWIxCnBjaTE6IHBoeXNpY2FsIGJ1cz0xCmF0YXBj aTA6IDxuVmlkaWEgbkZvcmNlMiBVRE1BMTMzIGNvbnRyb2xsZXI+IHBvcnQgMHgxZjAtMHgxZjcs MHgzZjYsMHgxNzAtMHgxNzcsMHgzNzYsMHhmMDAwLTB4ZjAwZiBhdCBkZXZpY2UgOS4wIG9uIHBj aTAKYXRhcGNpMDogUmVzZXJ2ZWQgMHgxMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4 ZjAwMAphdGEwOiA8QVRBIGNoYW5uZWwgMD4gb24gYXRhcGNpMAphdGFwY2kwOiBSZXNlcnZlZCAw eDggYnl0ZXMgZm9yIHJpZCAweDEwIHR5cGUgNCBhdCAweDFmMAphdGFwY2kwOiBSZXNlcnZlZCAw eDEgYnl0ZXMgZm9yIHJpZCAweDE0IHR5cGUgNCBhdCAweDNmNgphdGEwOiByZXNldCB0cDEgbWFz az0wMyBvc3RhdDA9NTAgb3N0YXQxPTUwCmF0YTA6IHN0YXQwPTB4NTAgZXJyPTB4MDEgbHNiPTB4 MDAgbXNiPTB4MDAKYXRhMDogc3RhdDE9MHg1MCBlcnI9MHgwMSBsc2I9MHgwMCBtc2I9MHgwMAph dGEwOiByZXNldCB0cDIgc3RhdDA9NTAgc3RhdDE9NTAgZGV2aWNlcz0weDM8QVRBX1NMQVZFLEFU QV9NQVNURVI+CmF0YTA6IFtNUFNBRkVdCmF0YTE6IDxBVEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kw CmF0YXBjaTA6IFJlc2VydmVkIDB4OCBieXRlcyBmb3IgcmlkIDB4MTggdHlwZSA0IGF0IDB4MTcw CmF0YXBjaTA6IFJlc2VydmVkIDB4MSBieXRlcyBmb3IgcmlkIDB4MWMgdHlwZSA0IGF0IDB4Mzc2 CmF0YTE6IHJlc2V0IHRwMSBtYXNrPTAzIG9zdGF0MD01MCBvc3RhdDE9NTAKYXRhMTogc3RhdDA9 MHgxMCBlcnI9MHgwMSBsc2I9MHgxNCBtc2I9MHhlYgphdGExOiBzdGF0MT0weDAwIGVycj0weDAx IGxzYj0weDE0IG1zYj0weGViCmF0YTE6IHJlc2V0IHRwMiBzdGF0MD0xMCBzdGF0MT0wMCBkZXZp Y2VzPTB4YzxBVEFQSV9TTEFWRSxBVEFQSV9NQVNURVI+CmF0YTE6IFtNUFNBRkVdCnBjaWIyOiA8 QUNQSSBQQ0ktUENJIGJyaWRnZT4gYXQgZGV2aWNlIDEyLjAgb24gcGNpMApwY2liMjogICBzZWNv bmRhcnkgYnVzICAgICAyCnBjaWIyOiAgIHN1Ym9yZGluYXRlIGJ1cyAgIDIKcGNpYjI6ICAgSS9P IGRlY29kZSAgICAgICAgMHg5MDAwLTB4OWZmZgpwY2liMjogICBtZW1vcnkgZGVjb2RlICAgICAw eGU2MDAwMDAwLTB4ZTdmZmZmZmYKcGNpYjI6ICAgcHJlZmV0Y2hlZCBkZWNvZGUgMHhmZmYwMDAw MC0weGZmZmZmCkFDUEk6IEZvdW5kIG1hdGNoaW5nIHBpbiBmb3IgMC4xLklOVEEgYXQgZnVuYyAx OiAyMwpwY2lfbGluazMwOiBCSU9TIElSUSAyMyBmb3IgMC4xLklOVEEgaXMgaW52YWxpZApwY2ky OiA8QUNQSSBQQ0kgYnVzPiBvbiBwY2liMgpwY2kyOiBwaHlzaWNhbCBidXM9Mgpmb3VuZC0+CXZl bmRvcj0weDEwYjcsIGRldj0weDkyMDEsIHJldmlkPTB4NDAKCWJ1cz0yLCBzbG90PTEsIGZ1bmM9 MAoJY2xhc3M9MDItMDAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21kcmVnPTB4MDAwNywg c3RhdHJlZz0weDAyMTAsIGNhY2hlbG5zej04IChkd29yZHMpCglsYXR0aW1lcj0weDIwICg5NjAg bnMpLCBtaW5nbnQ9MHgwYSAoMjUwMCBucyksIG1heGxhdD0weDBhICgyNTAwIG5zKQoJaW50cGlu PWEsIGlycT01Cglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAgRDEgRDIgRDMgIGN1cnJlbnQgRDAK CW1hcFsxMF06IHR5cGUgNCwgcmFuZ2UgMzIsIGJhc2UgMDAwMDkwMDAsIHNpemUgIDcsIGVuYWJs ZWQKcGNpYjI6IChudWxsKSByZXF1ZXN0ZWQgSS9PIHJhbmdlIDB4OTAwMC0weDkwN2Y6IGluIHJh bmdlCgltYXBbMTRdOiB0eXBlIDEsIHJhbmdlIDMyLCBiYXNlIGU3MDAwMDAwLCBzaXplICA3LCBl bmFibGVkCnBjaWIyOiAobnVsbCkgcmVxdWVzdGVkIG1lbW9yeSByYW5nZSAweGU3MDAwMDAwLTB4 ZTcwMDAwN2Y6IGdvb2QKcGNpYjI6IG1hdGNoZWQgZW50cnkgZm9yIDIuMS5JTlRBIChzcmMgXFxf U0JfLlBDSTAuQVAzQzowKQpwY2lfbGluazMwOiBQaWNrZWQgSVJRIDIwIHdpdGggd2VpZ2h0IDIK cGNpYjI6IHNsb3QgMSBJTlRBIHJvdXRlZCB0byBpcnEgMjAgdmlhIFxcX1NCXy5QQ0kwLkFQM0MK eGwwOiA8M0NvbSAzYzkyMEItRU1CIEludGVncmF0ZWQgRmFzdCBFdGhlcmxpbmsgWEw+IHBvcnQg MHg5MDAwLTB4OTA3ZiBtZW0gMHhlNzAwMDAwMC0weGU3MDAwMDdmIGlycSAyMCBhdCBkZXZpY2Ug MS4wIG9uIHBjaTIKeGwwOiBSZXNlcnZlZCAweDgwIGJ5dGVzIGZvciByaWQgMHgxNCB0eXBlIDMg YXQgMHhlNzAwMDAwMAp4bDA6IHVzaW5nIG1lbW9yeSBtYXBwZWQgSS9PCnhsMDogbWVkaWEgb3B0 aW9ucyB3b3JkOiA0MAp4bDA6IGZvdW5kIE1JSS9BVVRPCm1paWJ1czE6IDxNSUkgYnVzPiBvbiB4 bDAKYWNwaHkwOiA8QUMxMDFMIDEwLzEwMCBtZWRpYSBpbnRlcmZhY2U+IG9uIG1paWJ1czEKYWNw aHkwOiAgMTBiYXNlVCwgMTBiYXNlVC1GRFgsIDEwMGJhc2VUWCwgMTAwYmFzZVRYLUZEWCwgYXV0 bwp4bDA6IGJwZiBhdHRhY2hlZAp4bDA6IEV0aGVybmV0IGFkZHJlc3M6IDAwOjI2OjU0OjBjOjdl OmJlCnhsMDogW01QU0FGRV0KcGNpYjM6IDxBQ1BJIFBDSS1QQ0kgYnJpZGdlPiBhdCBkZXZpY2Ug MzAuMCBvbiBwY2kwCnBjaWIzOiAgIHNlY29uZGFyeSBidXMgICAgIDMKcGNpYjM6ICAgc3Vib3Jk aW5hdGUgYnVzICAgMwpwY2liMzogICBJL08gZGVjb2RlICAgICAgICAweGEwMDAtMHhhZmZmCnBj aWIzOiAgIG1lbW9yeSBkZWNvZGUgICAgIDB4ZTQwMDAwMDAtMHhlNWZmZmZmZgpwY2liMzogICBw cmVmZXRjaGVkIGRlY29kZSAweGQwMDAwMDAwLTB4ZGZmZmZmZmYKcGNpMzogPEFDUEkgUENJIGJ1 cz4gb24gcGNpYjMKcGNpMzogcGh5c2ljYWwgYnVzPTMKZm91bmQtPgl2ZW5kb3I9MHgxMDAyLCBk ZXY9MHg0ZTQ4LCByZXZpZD0weDAwCglidXM9Mywgc2xvdD0wLCBmdW5jPTAKCWNsYXNzPTAzLTAw LTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwODcsIHN0YXRyZWc9MHgwMmIw LCBjYWNoZWxuc3o9OCAoZHdvcmRzKQoJbGF0dGltZXI9MHgyMCAoOTYwIG5zKSwgbWluZ250PTB4 MDggKDIwMDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBucykKCWludHBpbj1hLCBpcnE9MTEKCXBvd2Vy c3BlYyAyICBzdXBwb3J0cyBEMCBEMSBEMiBEMyAgY3VycmVudCBEMAoJbWFwWzEwXTogdHlwZSAz LCByYW5nZSAzMiwgYmFzZSBkMDAwMDAwMCwgc2l6ZSAyNywgZW5hYmxlZApwY2liMzogKG51bGwp IHJlcXVlc3RlZCBtZW1vcnkgcmFuZ2UgMHhkMDAwMDAwMC0weGQ3ZmZmZmZmOiBnb29kCgltYXBb MTRdOiB0eXBlIDQsIHJhbmdlIDMyLCBiYXNlIDAwMDBhMDAwLCBzaXplICA4LCBlbmFibGVkCnBj aWIzOiAobnVsbCkgcmVxdWVzdGVkIEkvTyByYW5nZSAweGEwMDAtMHhhMGZmOiBpbiByYW5nZQoJ bWFwWzE4XTogdHlwZSAxLCByYW5nZSAzMiwgYmFzZSBlNTAwMDAwMCwgc2l6ZSAxNiwgZW5hYmxl ZApwY2liMzogKG51bGwpIHJlcXVlc3RlZCBtZW1vcnkgcmFuZ2UgMHhlNTAwMDAwMC0weGU1MDBm ZmZmOiBnb29kCnBjaWIzOiBtYXRjaGVkIGVudHJ5IGZvciAzLjAuSU5UQSAoc3JjIFxcX1NCXy5Q Q0kwLkFQQzQ6MCkKaW9hcGljMDogQ2hhbmdpbmcgcG9sYXJpdHkgZm9yIHBpbiAxOSB0byBoaWdo CnBjaWIzOiBzbG90IDAgSU5UQSByb3V0ZWQgdG8gaXJxIDE5IHZpYSBcXF9TQl8uUENJMC5BUEM0 CmZvdW5kLT4JdmVuZG9yPTB4MTAwMiwgZGV2PTB4NGU2OCwgcmV2aWQ9MHgwMAoJYnVzPTMsIHNs b3Q9MCwgZnVuYz0xCgljbGFzcz0wMy04MC0wMCwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRy ZWc9MHgwMDgwLCBzdGF0cmVnPTB4MDJiMCwgY2FjaGVsbnN6PTggKGR3b3JkcykKCWxhdHRpbWVy PTB4MjAgKDk2MCBucyksIG1pbmdudD0weDA4ICgyMDAwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMp Cglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAgRDEgRDIgRDMgIGN1cnJlbnQgRDAKCW1hcFsxMF06 IHR5cGUgMywgcmFuZ2UgMzIsIGJhc2UgZDgwMDAwMDAsIHNpemUgMjcsIG1lbW9yeSBkaXNhYmxl ZApwY2liMzogKG51bGwpIHJlcXVlc3RlZCBtZW1vcnkgcmFuZ2UgMHhkODAwMDAwMC0weGRmZmZm ZmZmOiBnb29kCgltYXBbMTRdOiB0eXBlIDEsIHJhbmdlIDMyLCBiYXNlIGU1MDEwMDAwLCBzaXpl IDE2LCBlbmFibGVkCnBjaWIzOiAobnVsbCkgcmVxdWVzdGVkIG1lbW9yeSByYW5nZSAweGU1MDEw MDAwLTB4ZTUwMWZmZmY6IGdvb2QKcGNpMzogPGRpc3BsYXksIFZHQT4gYXQgZGV2aWNlIDAuMCAo bm8gZHJpdmVyIGF0dGFjaGVkKQpwY2kzOiA8ZGlzcGxheT4gYXQgZGV2aWNlIDAuMSAobm8gZHJp dmVyIGF0dGFjaGVkKQpmZGMwOiA8ZmxvcHB5IGRyaXZlIGNvbnRyb2xsZXI+IHBvcnQgMHgzZjAt MHgzZjUsMHgzZjcgaXJxIDYgZHJxIDIgb24gYWNwaTAKZmRjMDogaWNfdHlwZSA5MCBwYXJ0X2lk IDgwCmZkYzA6IFtNUFNBRkVdCmZkYzA6IFtGQVNUXQpmZDA6IDwxNDQwLUtCIDMuNSIgZHJpdmU+ IG9uIGZkYzAgZHJpdmUgMApzaW8wOiBpcnEgbWFwczogMHg4MjEgMHg4MzEgMHg4MjEgMHg4MjEK c2lvMDogPDE2NTUwQS1jb21wYXRpYmxlIENPTSBwb3J0PiBwb3J0IDB4M2Y4LTB4M2ZmIGlycSA0 IGZsYWdzIDB4MTAgb24gYWNwaTAKc2lvMDogdHlwZSAxNjU1MEEKc2lvMTogaXJxIG1hcHM6IDB4 ODIxIDB4ODI5IDB4ODIxIDB4ODIxCnNpbzE6IDwxNjU1MEEtY29tcGF0aWJsZSBDT00gcG9ydD4g cG9ydCAweDJmOC0weDJmZiBpcnEgMyBvbiBhY3BpMApzaW8xOiB0eXBlIDE2NTUwQQpwcGMwOiB1 c2luZyBleHRlbmRlZCBJL08gcG9ydCByYW5nZQpwcGMwOiBFQ1AgU1BQIEVDUCtFUFAgU1BQCnBw YzA6IDxFQ1AgcGFyYWxsZWwgcHJpbnRlciBwb3J0PiBwb3J0IDB4Mzc4LTB4MzdmLDB4Nzc4LTB4 NzdiIGlycSA3IGRycSAzIG9uIGFjcGkwCnBwYzA6IFNNQy1saWtlIGNoaXBzZXQgKEVDUC9FUFAv UFMyL05JQkJMRSkgaW4gQ09NUEFUSUJMRSBtb2RlCnBwYzA6IEZJRk8gd2l0aCAxNi8xNi8xNiBi eXRlcyB0aHJlc2hvbGQKcHBidXMwOiA8UGFyYWxsZWwgcG9ydCBidXM+IG9uIHBwYzAKcGxpcDA6 IDxQTElQIG5ldHdvcmsgaW50ZXJmYWNlPiBvbiBwcGJ1czAKcGxpcDA6IGJwZiBhdHRhY2hlZAps cHQwOiA8UHJpbnRlcj4gb24gcHBidXMwCmxwdDA6IEludGVycnVwdC1kcml2ZW4gcG9ydApwcGkw OiA8UGFyYWxsZWwgSS9PPiBvbiBwcGJ1czAKZXhfaXNhX2lkZW50aWZ5KCkKYXRhOiBhdGEwIGFs cmVhZHkgZXhpc3RzOyBza2lwcGluZyBpdAphdGE6IGF0YTEgYWxyZWFkeSBleGlzdHM7IHNraXBw aW5nIGl0CmZkYzogZmRjMCBhbHJlYWR5IGV4aXN0czsgc2tpcHBpbmcgaXQKcHBjOiBwcGMwIGFs cmVhZHkgZXhpc3RzOyBza2lwcGluZyBpdApzaW86IHNpbzAgYWxyZWFkeSBleGlzdHM7IHNraXBw aW5nIGl0CnNpbzogc2lvMSBhbHJlYWR5IGV4aXN0czsgc2tpcHBpbmcgaXQKcG5wX2lkZW50aWZ5 OiBUcnlpbmcgUmVhZF9Qb3J0IGF0IDIwMwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQg YXQgMjQzCnBucF9pZGVudGlmeTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAyODMKcG5wX2lkZW50aWZ5 OiBUcnlpbmcgUmVhZF9Qb3J0IGF0IDJjMwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQg YXQgMzAzCnBucF9pZGVudGlmeTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAzNDMKcG5wX2lkZW50aWZ5 OiBUcnlpbmcgUmVhZF9Qb3J0IGF0IDM4MwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQg YXQgM2MzClBOUCBJZGVudGlmeSBjb21wbGV0ZQp1bmtub3duOiBzdGF0dXMgcmVnIHRlc3QgZmFp bGVkIGZlCnVua25vd246IHN0YXR1cyByZWcgdGVzdCBmYWlsZWQgZmYKdW5rbm93bjogc3RhdHVz IHJlZyB0ZXN0IGZhaWxlZCBmZgp1bmtub3duOiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVu a25vd246IHN0YXR1cyByZWcgdGVzdCBmYWlsZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0 IGZhaWxlZCBmZgpzYzogc2MwIGFscmVhZHkgZXhpc3RzOyBza2lwcGluZyBpdAp2Z2E6IHZnYTAg YWxyZWFkeSBleGlzdHM7IHNraXBwaW5nIGl0CmlzYV9wcm9iZV9jaGlsZHJlbjogZGlzYWJsaW5n IFBuUCBkZXZpY2VzCmlzYV9wcm9iZV9jaGlsZHJlbjogcHJvYmluZyBub24tUG5QIGRldmljZXMK cG10aW1lcjAgb24gaXNhMApvcm0wOiA8SVNBIE9wdGlvbiBST01zPiBhdCBpb21lbSAweGMwMDAw LTB4Y2NmZmYsMHhkMDAwMC0weGQzZmZmLDB4ZDQwMDAtMHhkNTdmZiwweGQ2MDAwLTB4ZDY3ZmYg b24gaXNhMAphZHYwOiBub3QgcHJvYmVkIChkaXNhYmxlZCkKYWhhMDogbm90IHByb2JlZCAoZGlz YWJsZWQpCmFpYzA6IG5vdCBwcm9iZWQgKGRpc2FibGVkKQphdGtiZGMwOiA8S2V5Ym9hcmQgY29u dHJvbGxlciAoaTgwNDIpPiBhdCBwb3J0IDB4NjAsMHg2NCBvbiBpc2EwCmF0a2JkMDogPEFUIEtl eWJvYXJkPiBpcnEgMSBvbiBhdGtiZGMwCmF0a2JkOiB0aGUgY3VycmVudCBrYmQgY29udHJvbGxl ciBjb21tYW5kIGJ5dGUgMDA0NwphdGtiZDoga2V5Ym9hcmQgSUQgMHhmZmZmZmZmZiAoMSkKYXRr YmQ6IGZhaWxlZCB0byByZXNldCB0aGUga2V5Ym9hcmQuCmtiZDAgYXQgYXRrYmQwCmtiZDA6IGF0 a2JkMCwgQVQgODQgKDEpLCBjb25maWc6MHgwLCBmbGFnczoweDNkMDAwMAphdGtiZDA6IFtHSUFO VC1MT0NLRURdCnBzbTA6IGN1cnJlbnQgY29tbWFuZCBieXRlOjAwNDcKcHNtMDogZmFpbGVkIHRv IHJlc2V0IHRoZSBhdXggZGV2aWNlLgpidDA6IG5vdCBwcm9iZWQgKGRpc2FibGVkKQpjczA6IG5v dCBwcm9iZWQgKGRpc2FibGVkKQplZDA6IG5vdCBwcm9iZWQgKGRpc2FibGVkKQpmZTA6IG5vdCBw cm9iZWQgKGRpc2FibGVkKQppZTA6IG5vdCBwcm9iZWQgKGRpc2FibGVkKQpsbmMwOiBub3QgcHJv YmVkIChkaXNhYmxlZCkKc2MwOiA8U3lzdGVtIGNvbnNvbGU+IGF0IGZsYWdzIDB4MTAwIG9uIGlz YTAKc2MwOiBWR0EgPDE2IHZpcnR1YWwgY29uc29sZXMsIGZsYWdzPTB4MzAwPgpzYzA6IGZiMCwg a2JkMCwgdGVybWluYWwgZW11bGF0b3I6IHNjIChzeXNjb25zIHRlcm1pbmFsKQpzaW8yOiBub3Qg cHJvYmVkIChkaXNhYmxlZCkKc2lvMzogbm90IHByb2JlZCAoZGlzYWJsZWQpCnNuMDogbm90IHBy b2JlZCAoZGlzYWJsZWQpCnZnYTA6IDxHZW5lcmljIElTQSBWR0E+IGF0IHBvcnQgMHgzYzAtMHgz ZGYgaW9tZW0gMHhhMDAwMC0weGJmZmZmIG9uIGlzYTAKdnQwOiBub3QgcHJvYmVkIChkaXNhYmxl ZCkKaXNhX3Byb2JlX2NoaWxkcmVuOiBwcm9iaW5nIFBuUCBkZXZpY2VzCnVrYmQwOiBNaWNyb3Nv ZnQgTmF0dXJhbFxNLS4gRXJnb25vbWljIEtleWJvYXJkIDQwMDAsIHJldiAyLjAwLzEuNzMsIGFk ZHIgMiwgaWNsYXNzIDMvMQprYmQ6IG5ldyBhcnJheSBzaXplIDQKa2JkMSBhdCB1a2JkMAprYmQx OiB1a2JkMCwgZ2VuZXJpYyAoMCksIGNvbmZpZzoweDAsIGZsYWdzOjB4MWQwMDAwCnVoaWQwOiBN aWNyb3NvZnQgTmF0dXJhbFxNLS4gRXJnb25vbWljIEtleWJvYXJkIDQwMDAsIHJldiAyLjAwLzEu NzMsIGFkZHIgMiwgaWNsYXNzIDMvMQp1bXMwOiBMb2dpdGVjaCBVU0IgTW91c2UsIHJldiAxLjEw LzYuMTAsIGFkZHIgMiwgaWNsYXNzIDMvMQp1bXMwOiAzIGJ1dHRvbnMgYW5kIFogZGlyLgpEZXZp Y2UgY29uZmlndXJhdGlvbiBmaW5pc2hlZC4KcHJvY2ZzIHJlZ2lzdGVyZWQKbGFwaWM6IERpdmlz b3IgMiwgRnJlcXVlbmN5IDIwMDQ1NDk3MSBoegpUaW1lY291bnRlciAiVFNDIiBmcmVxdWVuY3kg MjEwNDc4NjA3OSBIeiBxdWFsaXR5IDgwMApUaW1lY291bnRlcnMgdGljayBldmVyeSAxLjAwMCBt c2VjCmxvMDogYnBmIGF0dGFjaGVkCmF0YTAtc2xhdmU6IHBpbz1QSU80IHdkbWE9V0RNQTIgdWRt YT1VRE1BMTAwIGNhYmxlPTgwIHdpcmUKYXRhMC1tYXN0ZXI6IHBpbz1QSU80IHdkbWE9V0RNQTIg dWRtYT1VRE1BMTMzIGNhYmxlPTgwIHdpcmUKYWQwOiBzZXR0aW5nIFBJTzQgb24gblZpZGlhIG5G b3JjZTIgY2hpcAphZDA6IHNldHRpbmcgVURNQTEzMyBvbiBuVmlkaWEgbkZvcmNlMiBjaGlwCmFk MDogNzYzNTFNQiA8U0FNU1VORyBTUDA4MDJOIFRLMTAwLTIzPiBhdCBhdGEwLW1hc3RlciBVRE1B MTMzCmFkMDogMTU2MzY4MDE2IHNlY3RvcnMgWzE1NTEyN0MvMTZILzYzU10gMTYgc2VjdG9ycy9p bnRlcnJ1cHQgMSBkZXB0aCBxdWV1ZQphZDA6IG5WaWRpYSBjaGVjazEgZmFpbGVkCmFkMDogQWRh cHRlYyBjaGVjazEgZmFpbGVkCmFkMDogTFNJICh2MykgY2hlY2sxIGZhaWxlZAphZDA6IExTSSAo djIpIGNoZWNrMSBmYWlsZWQKYWQwOiBGcmVlQlNEIGNoZWNrMSBmYWlsZWQKYWQxOiBzZXR0aW5n IFBJTzQgb24gblZpZGlhIG5Gb3JjZTIgY2hpcAphZDE6IHNldHRpbmcgVURNQTEwMCBvbiBuVmlk aWEgbkZvcmNlMiBjaGlwCmFkMTogNzYzNTFNQiA8U0FNU1VORyBTVjA4MDJOIFRQMTAwLTMwPiBh dCBhdGEwLXNsYXZlIFVETUExMDAKYWQxOiAxNTYzNjgwMTYgc2VjdG9ycyBbMTU1MTI3Qy8xNkgv NjNTXSAxNiBzZWN0b3JzL2ludGVycnVwdCAxIGRlcHRoIHF1ZXVlCmFkMTogblZpZGlhIGNoZWNr MSBmYWlsZWQKYWQxOiBBZGFwdGVjIGNoZWNrMSBmYWlsZWQKYWQxOiBMU0kgKHYzKSBjaGVjazEg ZmFpbGVkCmFkMTogTFNJICh2MikgY2hlY2sxIGZhaWxlZAphZDE6IEZyZWVCU0QgY2hlY2sxIGZh aWxlZAphdGExLXNsYXZlOiBwaW89UElPMyB3ZG1hPVdETUExIHVkbWE9VU5TVVBQT1JURUQgY2Fi bGU9NDAgd2lyZQphdGExLW1hc3RlcjogcGlvPVBJTzQgd2RtYT1XRE1BMiB1ZG1hPVVETUE2NiBj YWJsZT04MCB3aXJlCmFjZDA6IHNldHRpbmcgUElPNCBvbiBuVmlkaWEgbkZvcmNlMiBjaGlwCmFj ZDA6IHNldHRpbmcgVURNQTY2IG9uIG5WaWRpYSBuRm9yY2UyIGNoaXAKYWNkMDogPFBpb25lZXIg RFZELVJPTSBBVEFQSU1vZGVsIERWRC0xMjBTLzEuMDE+IERWRFJPTSBkcml2ZSBhdCBhdGExIGFz IG1hc3RlcgphY2QwOiByZWFkIDY4NzVLQi9zICg2ODc1S0IvcyksIDI1NktCIGJ1ZmZlciwgVURN QTY2CmFjZDA6IFJlYWRzOiBDRFIsIENEUlcsIENEREEgc3RyZWFtLCBEVkRST00sIERWRFIsIHBh Y2tldAphY2QwOiBXcml0ZXM6CmFjZDA6IEF1ZGlvOiBwbGF5LCAyNTYgdm9sdW1lIGxldmVscwph Y2QwOiBNZWNoYW5pc206IGVqZWN0YWJsZSB0cmF5LCB1bmxvY2tlZAphY2QwOiBNZWRpdW06IG5v L2JsYW5rIGRpc2MKYWNkMTogc2V0dGluZyBQSU8zIG9uIG5WaWRpYSBuRm9yY2UyIGNoaXAKR0VP TTogbmV3IGRpc2sgYWQwCkdFT006IG5ldyBkaXNrIGFkMQphY2QxOiA8SGV3bGV0dC1QYWNrYXJk IENELVdyaXRlciBQbHVzIDgxMDAvMS4wZz4gQ0RSVyBkcml2ZSBhdCBhdGExIGFzIHNsYXZlCmFj ZDE6IHJlYWQgNDEzNEtCL3MgKDQxMzRLQi9zKSB3cml0ZSA2ODlLQi9zICg2ODlLQi9zKSwgMTAy NEtCIGJ1ZmZlciwgUElPMwphY2QxOiBSZWFkczogQ0RSLCBDRFJXLCBDRERBIHN0cmVhbSwgcGFj a2V0CmFjZDE6IFdyaXRlczogQ0RSLCBDRFJXLCB0ZXN0IHdyaXRlCmFjZDE6IEF1ZGlvOiBwbGF5 LCAyNTYgdm9sdW1lIGxldmVscwphY2QxOiBNZWNoYW5pc206IGVqZWN0YWJsZSB0cmF5LCB1bmxv Y2tlZAphY2QxOiBNZWRpdW06IG5vL2JsYW5rIGRpc2MKQVRBIFBzZXVkb1JBSUQgbG9hZGVkCmlv YXBpYzA6IHJvdXRpbmcgaW50cGluIDEgKElTQSBJUlEgMSkgdG8gY2x1c3RlciAwCmlvYXBpYzA6 IHJvdXRpbmcgaW50cGluIDMgKElTQSBJUlEgMykgdG8gY2x1c3RlciAwCmlvYXBpYzA6IHJvdXRp bmcgaW50cGluIDQgKElTQSBJUlEgNCkgdG8gY2x1c3RlciAwCmlvYXBpYzA6IHJvdXRpbmcgaW50 cGluIDYgKElTQSBJUlEgNikgdG8gY2x1c3RlciAwCmlvYXBpYzA6IHJvdXRpbmcgaW50cGluIDcg KElTQSBJUlEgNykgdG8gY2x1c3RlciAwCmlvYXBpYzA6IHJvdXRpbmcgaW50cGluIDkgKElTQSBJ UlEgOSkgdG8gY2x1c3RlciAwCmlvYXBpYzA6IHJvdXRpbmcgaW50cGluIDEzIChJU0EgSVJRIDEz KSB0byBjbHVzdGVyIDAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gMTQgKElTQSBJUlEgMTQpIHRv IGNsdXN0ZXIgMAppb2FwaWMwOiByb3V0aW5nIGludHBpbiAxNSAoSVNBIElSUSAxNSkgdG8gY2x1 c3RlciAwCmlvYXBpYzA6IHJvdXRpbmcgaW50cGluIDIwIChQQ0kgSVJRIDIwKSB0byBjbHVzdGVy IDAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gMjEgKFBDSSBJUlEgMjEpIHRvIGNsdXN0ZXIgMApp b2FwaWMwOiByb3V0aW5nIGludHBpbiAyMiAoUENJIElSUSAyMikgdG8gY2x1c3RlciAwClRyeWlu ZyB0byBtb3VudCByb290IGZyb20gdWZzOi9kZXYvYWQxczFhCnN0YXJ0X2luaXQ6IHRyeWluZyAv c2Jpbi9pbml0Cg== ------=_Part_19485_7205456.1132926913814 Content-Type: application/octet-stream; name="root-asus_a7n8x_deluxe_athlon_xp.asl" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="root-asus_a7n8x_deluxe_athlon_xp.asl" LyoKICBSU0QgUFRSOiBPRU09TnZpZGlhLCBBQ1BJX1Jldj0xLjB4ICgwKQoJUlNEVD0weDNmZmYz MDAwLCBja3N1bT0yNAogKi8KLyoKICBSU0RUOiBMZW5ndGg9NDQsIFJldmlzaW9uPTEsIENoZWNr c3VtPTIwOSwKCU9FTUlEPU52aWRpYSwgT0VNIFRhYmxlIElEPUFXUkRBQ1BJLCBPRU0gUmV2aXNp b249MHg0MjMwMmUzMSwKCUNyZWF0b3IgSUQ9QVdSRCwgQ3JlYXRvciBSZXZpc2lvbj0weDAKCUVu dHJpZXM9eyAweDNmZmYzMDQwLCAweDNmZmY3NGMwIH0KICovCi8qCiAgRkFDUDogTGVuZ3RoPTEx NiwgUmV2aXNpb249MSwgQ2hlY2tzdW09NDEsCglPRU1JRD1OdmlkaWEsIE9FTSBUYWJsZSBJRD1B V1JEQUNQSSwgT0VNIFJldmlzaW9uPTB4NDIzMDJlMzEsCglDcmVhdG9yIElEPUFXUkQsIENyZWF0 b3IgUmV2aXNpb249MHgwCiAJRkFDUz0weDNmZmYwMDAwLCBEU0RUPTB4M2ZmZjMwYzAKCUlOVF9N T0RFTD1BUElDCglQcmVmZXJyZWRfUE1fUHJvZmlsZT1VbnNwZWNpZmllZCAoMCkKCVNDSV9JTlQ9 OQoJU01JX0NNRD0weDQ0MmUsIEFDUElfRU5BQkxFPTB4YTEsIEFDUElfRElTQUJMRT0weGEwLCBT NEJJT1NfUkVRPTB4MAoJUFNUQVRFX0NOVD0weDAKCVBNMWFfRVZUX0JMSz0weDQwMDAtMHg0MDAz CglQTTFhX0NOVF9CTEs9MHg0MDA0LTB4NDAwNQoJUE1fVE1SX0JMSz0weDQwMDgtMHg0MDBiCglH UEUwX0JMSz0weDQwMjAtMHg0MDI3CglHUEUxX0JMSz0weDQ0YTAtMHg0NGFmLCBHUEUxX0JBU0U9 MzIKCVBfTFZMMl9MQVQ9MTAxIHVzLCBQX0xWTDNfTEFUPTEwMDEgdXMKCUZMVVNIX1NJWkU9MCwg RkxVU0hfU1RSSURFPTAKCURVVFlfT0ZGU0VUPTEsIERVVFlfV0lEVEg9MAoJREFZX0FMUk09MTI1 LCBNT05fQUxSTT0xMjYsIENFTlRVUlk9NTAKCUlBUENfQk9PVF9BUkNIPQoJRmxhZ3M9e1dCSU5W RCxQUk9DX0MxLFNMUF9CVVRUT04sUlRDX1M0LFJFU0VUX1JFR30KCVJFU0VUX1JFRz0weDAwMDAw MDAwOjBbMF0gKE1lbW9yeSksIFJFU0VUX1ZBTFVFPTB4NDQKICovCi8qCiAgRkFDUzoJTGVuZ3Ro PTY0LCBId1NpZz0weDAwMDAwMDAwLCBGaXJtX1dha2VfVmVjPTB4MDAwMDAwMDAKCUdsb2JhbF9M b2NrPQoJRmxhZ3M9UzRCSU9TCglWZXJzaW9uPTAKICovCi8qCiAgRFNEVDogTGVuZ3RoPTE3Mzgz LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xNzgsCglPRU1JRD1OVklESUEsIE9FTSBUYWJsZSBJRD1B V1JEQUNQSSwgT0VNIFJldmlzaW9uPTB4MTAwMCwKCUNyZWF0b3IgSUQ9TVNGVCwgQ3JlYXRvciBS ZXZpc2lvbj0weDEwMDAwMGUKICovCi8qCiAgQVBJQzogTGVuZ3RoPTExMCwgUmV2aXNpb249MSwg Q2hlY2tzdW09MTE3LAoJT0VNSUQ9TnZpZGlhLCBPRU0gVGFibGUgSUQ9QVdSREFDUEksIE9FTSBS ZXZpc2lvbj0weDQyMzAyZTMxLAoJQ3JlYXRvciBJRD1BV1JELCBDcmVhdG9yIFJldmlzaW9uPTB4 MAoJTG9jYWwgQVBJQyBBRERSPTB4ZmVlMDAwMDAKCUZsYWdzPXtQQy1BVH0KCglUeXBlPUxvY2Fs IEFQSUMKCUFDUEkgQ1BVPTAKCUZsYWdzPXtFTkFCTEVEfQoJQVBJQyBJRD0wCgoJVHlwZT1JTyBB UElDCglBUElDIElEPTIKCUlOVCBCQVNFPTAKCUFERFI9MHgwMDAwMDAwMGZlYzAwMDAwCgoJVHlw ZT1JTlQgT3ZlcnJpZGUKCUJVUz0wCglJUlE9MAoJSU5UUj0yCglGbGFncz17UG9sYXJpdHk9Y29u Zm9ybWluZywgVHJpZ2dlcj1jb25mb3JtaW5nfQoKCVR5cGU9SU5UIE92ZXJyaWRlCglCVVM9MAoJ SVJRPTkKCUlOVFI9OQoJRmxhZ3M9e1BvbGFyaXR5PWFjdGl2ZS1oaSwgVHJpZ2dlcj1sZXZlbH0K CglUeXBlPUlOVCBPdmVycmlkZQoJQlVTPTAKCUlSUT0xNAoJSU5UUj0xNAoJRmxhZ3M9e1BvbGFy aXR5PWFjdGl2ZS1oaSwgVHJpZ2dlcj1lZGdlfQoKCVR5cGU9SU5UIE92ZXJyaWRlCglCVVM9MAoJ SVJRPTE1CglJTlRSPTE1CglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9 CgoJVHlwZT1Mb2NhbCBOTUkKCUFDUEkgQ1BVPTAKCUxJTlQgUGluPTEKCUZsYWdzPXtQb2xhcml0 eT1hY3RpdmUtaGksIFRyaWdnZXI9ZWRnZX0KICovCi8qCiAqIEludGVsIEFDUEkgQ29tcG9uZW50 IEFyY2hpdGVjdHVyZQogKiBBTUwgRGlzYXNzZW1ibGVyIHZlcnNpb24gMjAwNDExMTkKICoKICog RGlzYXNzZW1ibHkgb2YgL3RtcC9hY3BpZHVtcC5HU1FnR3gsIEZyaSBOb3YgMjUgMTQ6MzY6Mjgg MjAwNQogKi8KRGVmaW5pdGlvbkJsb2NrICgiRFNEVC5hbWwiLCAiRFNEVCIsIDEsICJOVklESUEi LCAiQVdSREFDUEkiLCA0MDk2KQp7CiAgICBTY29wZSAoXF9QUikKICAgIHsKICAgICAgICBQcm9j ZXNzb3IgKFxfUFIuQ1BVMCwgMHgwMCwgMHgwMDAwMDAwMCwgMHgwMCkge30KICAgIH0KCiAgICBO YW1lIChcX1MwLCBQYWNrYWdlICgweDA0KQogICAgewogICAgICAgIDB4MDAsIAogICAgICAgIDB4 MDAsIAogICAgICAgIDB4MDAsIAogICAgICAgIDB4MDAKICAgIH0pCiAgICBOYW1lIChcX1MxLCBQ YWNrYWdlICgweDA0KQogICAgewogICAgICAgIDB4MDEsIAogICAgICAgIDB4MDEsIAogICAgICAg IDB4MDAsIAogICAgICAgIDB4MDAKICAgIH0pCiAgICBOYW1lIChcU1MzLCBQYWNrYWdlICgweDA0 KQogICAgewogICAgICAgIDB4MDUsIAogICAgICAgIDB4MDUsIAogICAgICAgIDB4MDAsIAogICAg ICAgIDB4MDAKICAgIH0pCiAgICBOYW1lIChcX1M0LCBQYWNrYWdlICgweDA0KQogICAgewogICAg ICAgIDB4MDYsIAogICAgICAgIDB4MDYsIAogICAgICAgIDB4MDAsIAogICAgICAgIDB4MDAKICAg IH0pCiAgICBOYW1lIChcX1M1LCBQYWNrYWdlICgweDA0KQogICAgewogICAgICAgIDB4MDcsIAog ICAgICAgIDB4MDcsIAogICAgICAgIDB4MDAsIAogICAgICAgIDB4MDAKICAgIH0pCiAgICBPcGVy YXRpb25SZWdpb24gKFxERUJHLCBTeXN0ZW1JTywgMHg4MCwgMHgwMSkKICAgIEZpZWxkIChcREVC RywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBEQkcxLCAgIDgKICAg IH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFowMDIsIFN5c3RlbUlPLCAweDIxLCAweDAxKQogICAg RmllbGQgKFowMDIsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgWjAw MCwgICA4CiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChLQkMsIFN5c3RlbUlPLCAweDY0LCAw eDAxKQogICAgRmllbGQgKEtCQywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAg ICAgICBLQ01ELCAgIDgKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKEVYVE0sIFN5c3RlbU1l bW9yeSwgMHgwMDBGRjgzMCwgMHgxMCkKICAgIEZpZWxkIChFWFRNLCBXb3JkQWNjLCBOb0xvY2ss IFByZXNlcnZlKQogICAgewogICAgICAgIFJPTTEsICAgMTYsIAogICAgICAgIFJNUzEsICAgMTYs IAogICAgICAgIFJPTTIsICAgMTYsIAogICAgICAgIFJNUzIsICAgMTYsIAogICAgICAgIFJPTTMs ICAgMTYsIAogICAgICAgIFJNUzMsICAgMTYsIAogICAgICAgIEFNRU0sICAgMzIKICAgIH0KCiAg ICBPcGVyYXRpb25SZWdpb24gKFxQTTFTLCBTeXN0ZW1JTywgMHg0MDAwLCAweDAyKQogICAgRmll bGQgKFxQTTFTLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIE9mZnNl dCAoMHgwMSksIAogICAgICAgIFBCVFMsICAgMSwgCiAgICAgICAgICAgICwgICAxLCAKICAgICAg ICBSVENTLCAgIDEsIAogICAgICAgICAgICAsICAgNCwgCiAgICAgICAgV0FLUywgICAxCiAgICB9 CgogICAgT3BlcmF0aW9uUmVnaW9uIChFTENSLCBTeXN0ZW1JTywgMHgwNEQwLCAweDAyKQogICAg RmllbGQgKEVMQ1IsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgRUxD MSwgICA4LCAKICAgICAgICBFTEMyLCAgIDgKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFxT VFVTLCBTeXN0ZW1JTywgMHg0NDAwLCAweDA0KQogICAgRmllbGQgKFxTVFVTLCBCeXRlQWNjLCBO b0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIEdfU1QsICAgMzIKICAgIH0KCiAgICBPcGVy YXRpb25SZWdpb24gKFxTTUlTLCBTeXN0ZW1JTywgMHg0MDIwLCAweDA0KQogICAgRmllbGQgKFxT TUlTLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIFBfMjAsICAgMzIK ICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFxTTUlDLCBTeXN0ZW1JTywgMHg0NDJFLCAweDAx KQogICAgRmllbGQgKFxTTUlDLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAg ICAgIFNDUCwgICAgOAogICAgfQoKICAgIE9wZXJhdGlvblJlZ2lvbiAoXEdQMSwgU3lzdGVtSU8s IDB4NDRDMCwgMHgzMikKICAgIEZpZWxkIChcR1AxLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgewogICAgICAgIEdQMDAsICAgOCwgCiAgICAgICAgR1AwMSwgICA4LCAKICAgICAgICBH UDAyLCAgIDgsIAogICAgICAgIEdQMDMsICAgOCwgCiAgICAgICAgR1AwNCwgICA4LCAKICAgICAg ICBHUDA1LCAgIDgsIAogICAgICAgIEdQMDYsICAgOCwgCiAgICAgICAgR1AwNywgICA4LCAKICAg ICAgICBHUDA4LCAgIDgsIAogICAgICAgIEdQMDksICAgOCwgCiAgICAgICAgR1AxMCwgICA4LCAK ICAgICAgICBHUDExLCAgIDgsIAogICAgICAgIEdQMTIsICAgOCwgCiAgICAgICAgR1AxMywgICA4 LCAKICAgICAgICBHUDE0LCAgIDgsIAogICAgICAgIEdQMTUsICAgOCwgCiAgICAgICAgR1AxNiwg ICA4LCAKICAgICAgICBHUDE3LCAgIDgsIAogICAgICAgIEdQMTgsICAgOCwgCiAgICAgICAgR1Ax OSwgICA4LCAKICAgICAgICBHUDIwLCAgIDgsIAogICAgICAgIEdQMjEsICAgOCwgCiAgICAgICAg R1AyMiwgICA4LCAKICAgICAgICBPZmZzZXQgKDB4MTgpLCAKICAgICAgICBHUDI0LCAgIDgsIAog ICAgICAgIEdQMjUsICAgOCwgCiAgICAgICAgR1AyNiwgICA4LCAKICAgICAgICBHUDI3LCAgIDgs IAogICAgICAgIEdQMjgsICAgOCwgCiAgICAgICAgR1AyOSwgICA4LCAKICAgICAgICBHUDMwLCAg IDgsIAogICAgICAgIEdQMzEsICAgOCwgCiAgICAgICAgR1AzMiwgICA4LCAKICAgICAgICBHUDMz LCAgIDgsIAogICAgICAgIEdQMzQsICAgOCwgCiAgICAgICAgR1AzNSwgICA4LCAKICAgICAgICBH UDM2LCAgIDgsIAogICAgICAgIEdQMzcsICAgOCwgCiAgICAgICAgR1AzOCwgICA4LCAKICAgICAg ICBHUDM5LCAgIDgsIAogICAgICAgIEdQNDAsICAgOCwgCiAgICAgICAgR1A0MSwgICA4LCAKICAg ICAgICBHUDQyLCAgIDgsIAogICAgICAgIEdQNDMsICAgOCwgCiAgICAgICAgR1A0NCwgICA4LCAK ICAgICAgICBHUDQ1LCAgIDgsIAogICAgICAgIEdQNDYsICAgOCwgCiAgICAgICAgR1A0NywgICA4 LCAKICAgICAgICBHUDQ4LCAgIDgsIAogICAgICAgIEdQNDksICAgOAogICAgfQoKICAgIE5hbWUg KE9TRlgsIDB4MDEpCiAgICBOYW1lIChPU0ZMLCAweDAxKQogICAgTWV0aG9kIChTVFJDLCAyLCBO b3RTZXJpYWxpemVkKQogICAgewogICAgICAgIElmIChMTm90IChMRXF1YWwgKFNpemVPZiAoQXJn MCksIFNpemVPZiAoQXJnMSkpKSkKICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoMHgwMCkK ICAgICAgICB9CgogICAgICAgIEFkZCAoU2l6ZU9mIChBcmcwKSwgMHgwMSwgTG9jYWwwKQogICAg ICAgIE5hbWUgKEJVRjAsIEJ1ZmZlciAoTG9jYWwwKSB7fSkKICAgICAgICBOYW1lIChCVUYxLCBC dWZmZXIgKExvY2FsMCkge30pCiAgICAgICAgU3RvcmUgKEFyZzAsIEJVRjApCiAgICAgICAgU3Rv cmUgKEFyZzEsIEJVRjEpCiAgICAgICAgV2hpbGUgKExvY2FsMCkKICAgICAgICB7CiAgICAgICAg ICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICBJZiAoTE5vdCAoTEVxdWFsIChEZXJl Zk9mIChJbmRleCAoQlVGMCwgTG9jYWwwKSksIERlcmVmT2YgKEluZGV4IChCVUYxLCBMb2NhbDAp KSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAg ICAgIH0KICAgICAgICB9CgogICAgICAgIFJldHVybiAoT25lKQogICAgfQoKICAgIE9wZXJhdGlv blJlZ2lvbiAoUlRDTSwgU3lzdGVtSU8sIDB4NzAsIDB4MDIpCiAgICBGaWVsZCAoUlRDTSwgQnl0 ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBDTUlOLCAgIDgsIAogICAgICAg IENNREEsICAgOAogICAgfQoKICAgIEluZGV4RmllbGQgKENNSU4sIENNREEsIEJ5dGVBY2MsIE5v TG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgT2Zmc2V0ICgweDBGKSwgCiAgICAgICAgU0hV VCwgICA4CiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChJTkZPLCBTeXN0ZW1NZW1vcnksIDB4 MDAwRkY4NDAsIDB4MDEpCiAgICBGaWVsZCAoSU5GTywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2 ZSkKICAgIHsKICAgICAgICBLQkRJLCAgIDEsIAogICAgICAgIFJUQ1csICAgMSwgCiAgICAgICAg UFMyRiwgICAxLCAKICAgICAgICBJUkZMLCAgIDIsIAogICAgICAgIERJU0UsICAgMSwgCiAgICAg ICAgU1NIVSwgICAxCiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChCRUVQLCBTeXN0ZW1JTywg MHg2MSwgMHgwMSkKICAgIEZpZWxkIChCRUVQLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQog ICAgewogICAgICAgIFMxQiwgICAgOAogICAgfQoKICAgIE9wZXJhdGlvblJlZ2lvbiAoQ09OVCwg U3lzdGVtSU8sIDB4NDAsIDB4MDQpCiAgICBGaWVsZCAoQ09OVCwgQnl0ZUFjYywgTm9Mb2NrLCBQ cmVzZXJ2ZSkKICAgIHsKICAgICAgICBDTlQwLCAgIDgsIAogICAgICAgIENOVDEsICAgOCwgCiAg ICAgICAgQ05UMiwgICA4LCAKICAgICAgICBDVFJMLCAgIDgKICAgIH0KCiAgICBNZXRob2QgKFNQ S1IsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgU3RvcmUgKFMxQiwgTG9jYWwwKQog ICAgICAgIFN0b3JlICgweEI2LCBDVFJMKQogICAgICAgIFN0b3JlICgweDU1LCBDTlQyKQogICAg ICAgIFN0b3JlICgweDAzLCBDTlQyKQogICAgICAgIFN0b3JlIChBcmcwLCBMb2NhbDIpCiAgICAg ICAgV2hpbGUgKExHcmVhdGVyIChMb2NhbDIsIDB4MDApKQogICAgICAgIHsKICAgICAgICAgICAg T3IgKFMxQiwgMHgwMywgUzFCKQogICAgICAgICAgICBTdG9yZSAoMHg1RkZGLCBMb2NhbDMpCiAg ICAgICAgICAgIFdoaWxlIChMR3JlYXRlciAoTG9jYWwzLCAweDAwKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDMpCiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIEFuZCAoUzFCLCAweEZDLCBTMUIpCiAgICAgICAgICAgIFN0b3JlICgweDBFRkYsIExvY2Fs MykKICAgICAgICAgICAgV2hpbGUgKExHcmVhdGVyIChMb2NhbDMsIDB4MDApKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMykKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgRGVjcmVtZW50IChMb2NhbDIpCiAgICAgICAgfQoKICAgICAgICBTdG9yZSAoTG9j YWwwLCBTMUIpCiAgICB9CgogICAgU2NvcGUgKFwpCiAgICB7CiAgICAgICAgTmFtZSAoUElDRiwg MHgwMCkKICAgICAgICBNZXRob2QgKF9QSUMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBTdG9yZSAoQXJnMCwgUElDRikKICAgICAgICB9CiAgICB9CgogICAgTmFtZSAo U0lENCwgMHgwMCkKICAgIE5hbWUgKFNMRzAsIDB4MDApCiAgICBOYW1lIChTTEcxLCAweDAwKQog ICAgTmFtZSAoU0xHMiwgMHgwMCkKICAgIE5hbWUgKFNMRzMsIDB4MDApCiAgICBOYW1lIChTTEc0 LCAweDAwKQogICAgTmFtZSAoU0xHNSwgMHgwMCkKICAgIE5hbWUgKFNMRzYsIDB4MDApCiAgICBO YW1lIChTTEc3LCAweDAwKQogICAgTmFtZSAoU0xHOCwgMHgwMCkKICAgIE5hbWUgKFNMRzksIDB4 MDApCiAgICBOYW1lIChTTEdBLCAweDAwKQogICAgTmFtZSAoU0lENSwgMHgwMCkKICAgIE5hbWUg KFNTTTAsIDB4MDApCiAgICBOYW1lIChTU00xLCAweDAwKQogICAgTmFtZSAoU1NNMiwgMHgwMCkK ICAgIE5hbWUgKFNTTTMsIDB4MDApCiAgICBOYW1lIChTU000LCAweDAwKQogICAgTmFtZSAoU1VB MCwgMHgwMCkKICAgIE5hbWUgKFNVQjAsIDB4MDApCiAgICBOYW1lIChTWCwgMHgwMCkKICAgIE5h bWUgKFNGTEcsIDB4MDApCiAgICBOYW1lIChTSUQwLCAweDAwKQogICAgTmFtZSAoU0lEMSwgMHgw MCkKICAgIE5hbWUgKFNJRDIsIDB4MDApCiAgICBOYW1lIChTSUQzLCAweDAwKQogICAgTWV0aG9k IChcX1BUUywgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTdG9yZSAoQXJnMCwgTG9j YWwwKQogICAgICAgIFN0b3JlIChMb2NhbDAsIFNYKQogICAgICAgIE9yIChBcmcwLCAweEYwLCBM b2NhbDApCiAgICAgICAgU3RvcmUgKExvY2FsMCwgREJHMSkKICAgICAgICBPU1RQICgpCiAgICAg ICAgU3RvcmUgKFxfU0IuUENJMC5JREUwLklEMjAsIFNJRDApCiAgICAgICAgU3RvcmUgKFxfU0Iu UENJMC5JREUwLklEVFMsIFNJRDEpCiAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5JREUwLklEVFAs IFNJRDIpCiAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5JREUwLklEMjIsIFNJRDMpCiAgICAgICAg U3RvcmUgKFxfU0IuUENJMC5JREUwLlVNU1MsIFNJRDQpCiAgICAgICAgU3RvcmUgKFxfU0IuUENJ MC5JREUwLlVNU1AsIFNJRDUpCiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMSkpCiAgICAg ICAgewogICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLkNUTDAsIExvY2FsMCkKICAgICAgICAg ICAgT3IgKExvY2FsMCwgMHgwNDAwMDAwMCwgTG9jYWwwKQogICAgICAgICAgICBTdG9yZSAoTG9j YWwwLCBcX1NCLlBDSTAuQ1RMMCkKICAgICAgICB9CgogICAgICAgIElmIChMRXF1YWwgKEFyZzAs IDB4MDMpKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5DVEwwLCBMb2Nh bDApCiAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MDQwMDAwMDAsIExvY2FsMCkKICAgICAgICAg ICAgU3RvcmUgKExvY2FsMCwgXF9TQi5QQ0kwLkNUTDApCiAgICAgICAgfQoKICAgICAgICBJZiAo TEVxdWFsIChBcmcwLCAweDA1KSkKICAgICAgICB7CiAgICAgICAgICAgIElmIChMTm90IChMRXF1 YWwgKE9TRkwsIDB4MDApKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU2xlZXAgKDB4 MDFGNCkKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKFxfV0FLLCAx LCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFN0b3JlICgweEZGLCBEQkcxKQogICAgICAg IFN0b3JlICgweDAwLCBTRkxHKQogICAgICAgIElmIChMRXF1YWwgKFJUQ1csIDB4MDApKQogICAg ICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBXUkIsIDB4MDIpCiAgICAgICAgfQoKICAg ICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IwLCAweDAwKQogICAgICAgIE5vdGlmeSAoXF9TQi5Q Q0kwLlVTQjEsIDB4MDApCiAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5DVEwwLCBMb2NhbDApCiAg ICAgICAgQW5kIChMb2NhbDAsIDB4RkJGRkZGRkYsIExvY2FsMCkKICAgICAgICBTdG9yZSAoTG9j YWwwLCBcX1NCLlBDSTAuQ1RMMCkKICAgICAgICBJZiAoTE5vdCAoTExlc3MgKE9TRkwsIDB4MDEp KSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlICgweDAwLCBcX1NCLlBDSTAuU01CMC5TTVBN KQogICAgICAgICAgICBTdG9yZSAoMHg1MDAwLCBcX1NCLlBDSTAuU01CMC5TQjEpCiAgICAgICAg ICAgIFN0b3JlICgweDU1MDAsIFxfU0IuUENJMC5TTUIwLlNCMikKICAgICAgICB9CiAgICB9Cgog ICAgU2NvcGUgKFxfU0kpCiAgICB7CiAgICAgICAgTWV0aG9kIChfTVNHLCAxLCBOb3RTZXJpYWxp emVkKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKCI9PT09IE1TRyBXb3JraW5nID09PT0i LCBEZWJ1ZykKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX1NTVCwgMSwgTm90U2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlICgiPT09PSBTU1QgV29ya2luZyA9PT09Iiwg RGVidWcpCiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChcX0dQRSkKICAgIHsKICAgICAgICBN ZXRob2QgKF9MMDAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuUENJMC5IVUIwLCAweDAyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDAz LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBD STAuVUFSMSwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwQiwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLk1NQUMsIDB4 MDIpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMEQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IwLCAweDAyKQogICAgICAg IH0KCiAgICAgICAgTWV0aG9kIChfTDBDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuVVNCMSwgMHgwMikKICAgICAgICB9CgogICAgICAg IE1ldGhvZCAoX0wwNSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5v dGlmeSAoXF9TQi5QQ0kwLlVTQjIsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9M MEYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBOb3RpZnkgKFxfU0Iu UENJMC5GMTM5LCAweDAyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDBBLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuSFVCMSwg MHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwNywgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLk1NQ0ksIDB4MDIpCiAgICAg ICAgfQogICAgfQoKICAgIFNjb3BlIChcX1NCKQogICAgewogICAgICAgIERldmljZSAoUE1JTykK ICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSkKICAg ICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMykKICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChJT0RNLCBS ZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICBOYW1lIChJT1JULCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMDAsIDB4 MDAwMCwgMHgwMSwgMHg4MCkKICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAw MCwgMHgwMDAwLCAweDAxLCAweDgwKQogICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4ODApCiAgICAgICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHg4MCkKICAgICAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsIDB4MDAwMCwgMHgwMDAwLCAweDAxLCAweDgwKQogICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4ODApCiAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChJT1JULCAweDAyLCBJMU1OKQog ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChJT1JULCAweDA0LCBJMU1YKQogICAgICAg ICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChJT1JULCAweDBBLCBJMk1OKQogICAgICAgICAgICAg ICAgQ3JlYXRlV29yZEZpZWxkIChJT1JULCAweDBDLCBJMk1YKQogICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChJT1JULCAweDEyLCBJM01OKQogICAgICAgICAgICAgICAgQ3JlYXRlV29y ZEZpZWxkIChJT1JULCAweDE0LCBJM01YKQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChJT1JULCAweDFBLCBJNE1OKQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChJT1JU LCAweDFDLCBJNE1YKQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChJT1JULCAweDIy LCBJNU1OKQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChJT1JULCAweDI0LCBJNU1Y KQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChJT1JULCAweDJBLCBJNk1OKQogICAg ICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChJT1JULCAweDJDLCBJNk1YKQogICAgICAgICAg ICAgICAgQW5kIChQTUJSLCAweEZGRkMsIEkxTU4pCiAgICAgICAgICAgICAgICBTdG9yZSAoSTFN TiwgSTFNWCkKICAgICAgICAgICAgICAgIEFkZCAoSTFNTiwgMHg4MCwgTG9jYWwwKQogICAgICAg ICAgICAgICAgU3RvcmUgKExvY2FsMCwgSTJNTikKICAgICAgICAgICAgICAgIFN0b3JlIChMb2Nh bDAsIEkyTVgpCiAgICAgICAgICAgICAgICBBbmQgKE5WU0IsIDB4RkZGQywgSTNNTikKICAgICAg ICAgICAgICAgIFN0b3JlIChJM01OLCBJM01YKQogICAgICAgICAgICAgICAgQWRkIChJM01OLCAw eDgwLCBMb2NhbDApCiAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJNE1OKQogICAgICAg ICAgICAgICAgU3RvcmUgKExvY2FsMCwgSTRNWCkKICAgICAgICAgICAgICAgIEFuZCAoQU5MRywg MHhGRkZDLCBJNU1OKQogICAgICAgICAgICAgICAgU3RvcmUgKEk1TU4sIEk1TVgpCiAgICAgICAg ICAgICAgICBBZGQgKEk1TU4sIDB4ODAsIExvY2FsMCkKICAgICAgICAgICAgICAgIFN0b3JlIChM b2NhbDAsIEk2TU4pCiAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJNk1YKQogICAgICAg ICAgICAgICAgSWYgKEkxTU4pCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKElPUlQsIExvY2FsMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9ETSwgTG9j YWwwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBEZXZpY2UgKFNNSU8pCiAgICAgICAgewog ICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzAyIikpCiAgICAgICAgICAgIE5h bWUgKF9VSUQsIDB4MDQpCiAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUg KCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDUwMDAsIDB4 NTAwMCwgMHgwMSwgMHg0MCkKICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHg1NTAwLCAw eDU1MDAsIDB4MDEsIDB4NDApCiAgICAgICAgICAgIH0pCiAgICAgICAgfQoKICAgICAgICBEZXZp Y2UgKFBXUkIpCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAw QzBDIikpCiAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICB9CiAgICAg ICAgfQoKICAgICAgICBEZXZpY2UgKE1FTSkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDBDMDEiKSkKICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChCVUYwLCBSZXNv dXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTWVt b3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweDAwMEYwMDAwLCAweDAwMDA0MDAwKQogICAgICAgICAg ICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDBGNDAwMCwgMHgwMDAwNDAw MCkKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4MDAwRjgw MDAsIDB4MDAwMDQwMDApCiAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdy aXRlLCAweDAwMEZDMDAwLCAweDAwMDA0MDAwKQogICAgICAgICAgICAgICAgICAgIE1lbW9yeTMy Rml4ZWQgKFJlYWRXcml0ZSwgMHgwMDAwMDAwMCwgMHgwMDAxMDAwMCkKICAgICAgICAgICAgICAg ICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4RkZGRjAwMDAsIDB4MDAwMTAwMDApCiAg ICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweDAwMDAwMDAwLCAw eDAwMEEwMDAwKQogICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwg MHgwMDEwMDAwMCwgMHgwMDAwMDAwMCkKICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVk IChSZWFkV3JpdGUsIDB4RkVDMDAwMDAsIDB4MDAwMDEwMDApCiAgICAgICAgICAgICAgICAgICAg TWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweEZFRTAwMDAwLCAweDAwMDAxMDAwKQogICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MzQs IEFDTU0pCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDA0LCBSTUEx KQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwOCwgUlNTMSkKICAg ICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MTAsIFJNQTIpCiAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDE0LCBSU1MyKQogICAgICAgICAgICAg ICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgxQywgUk1BMykKICAgICAgICAgICAgICAgIENy ZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MjAsIFJTUzMpCiAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChCVUYwLCAweDI4LCBSTUE0KQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRG aWVsZCAoQlVGMCwgMHgyQywgUlNTNCkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KEJVRjAsIDB4NUMsIEVYVE0pCiAgICAgICAgICAgICAgICBTdWJ0cmFjdCAoQU1FTSwgMHgwMDEw MDAwMCwgRVhUTSkKICAgICAgICAgICAgICAgIElmIChMTm90IChMRXF1YWwgKFJPTTEsIFplcm8p KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUk1BMSwgUk1B MikKICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKFJPTTEsIDB4MDgsIExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBSTUExKQogICAgICAgICAgICAgICAgICAg IFNoaWZ0TGVmdCAoUk1TMSwgMHgwOCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChMb2NhbDAsIFJTUzEpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAwMCwgUlNTMikK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTEVxdWFsIChST00y LCBaZXJvKSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFJN QTIsIFJNQTMpCiAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChST00yLCAweDA4LCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgUk1BMikKICAgICAgICAgICAg ICAgICAgICBTaGlmdExlZnQgKFJNUzIsIDB4MDgsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoTG9jYWwwLCBSU1MyKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEMwMDAs IFJTUzMpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExOb3QgKExFcXVh bCAoUk9NMywgWmVybykpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0 b3JlIChSTUEzLCBSTUE0KQogICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoUk9NMywgMHgw OCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFJNQTMpCiAgICAg ICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChSTVMzLCAweDA4LCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKExvY2FsMCwgUlNTMykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMDAxMDAwMCwgUlNTNCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBTdG9y ZSAoQU1FTSwgQUNNTSkKICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkKICAgICAgICAgICAg fQogICAgICAgIH0KCiAgICAgICAgRGV2aWNlIChQQ0kwKQogICAgICAgIHsKICAgICAgICAgICAg TmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEEwMyIpKQogICAgICAgICAgICBOYW1lIChfQURSLCAw eDAwKQogICAgICAgICAgICBOYW1lIChfVUlELCAweDAxKQogICAgICAgICAgICBOYW1lIChfQkJO LCAweDAwKQogICAgICAgICAgICBOYW1lIChOQVRBLCBQYWNrYWdlICgweDAxKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAweDAwMDkwMDAwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAg IE1ldGhvZCAoU1MzRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoT1NGTCwgMHgwMikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChf U1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MEYpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoTERU MywgUENJX0NvbmZpZywgMHg2QywgMHgwNCkKICAgICAgICAgICAgRmllbGQgKExEVDMsIERXb3Jk QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBVQ0ZH LCAgIDMyCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoUzJLQywg UENJX0NvbmZpZywgMHhFNCwgMHgwNCkKICAgICAgICAgICAgRmllbGQgKFMyS0MsIERXb3JkQWNj LCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDVEwwLCAg IDMyCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoQlVGMCwgUmVzb3VyY2VU ZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFdvcmRCdXNO dW1iZXIgKFJlc291cmNlQ29uc3VtZXIsIE1pbk5vdEZpeGVkLCBNYXhOb3RGaXhlZCwgUG9zRGVj b2RlLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAsCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEZGLAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCkKICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MENGOCwgMHgwQ0Y4LCAweDAxLCAweDA4KQog ICAgICAgICAgICAgICAgICAgIFdvcmRJTyAoUmVzb3VyY2VQcm9kdWNlciwgTWluRml4ZWQsIE1h eEZpeGVkLCBQb3NEZWNvZGUsIEVudGlyZVJhbmdlLAogICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwQ0Y3LAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAsCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MENGOCkKICAgICAgICAgICAgICAgICAgICBXb3JkSU8gKFJlc291cmNl UHJvZHVjZXIsIE1pbkZpeGVkLCBNYXhGaXhlZCwgUG9zRGVjb2RlLCBFbnRpcmVSYW5nZSwKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDBE MDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweEYzMDApCiAgICAgICAgICAgICAg ICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQs IE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDBBMDAwMCwKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDBCRkZGRiwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyMDAwMCkKICAgICAgICAgICAgICAg ICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwg TWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEMwMDAwLAogICAgICAgICAg ICAgICAgICAgICAgICAweDAwMERGRkZGLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAw MDAwLAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAwKQogICAgICAgICAgICAgICAg ICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBN YXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMDAwMDAsCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4RkVCRkZGRkYsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAw MDAsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGMDAwMDApCiAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHg3NiwgVENNTSkKICAg ICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4ODIsIFRPTU0pCiAgICAgICAg ICAgICAgICBBZGQgKEFNRU0sIDB4MDAwMTAwMDAsIFRDTU0pCiAgICAgICAgICAgICAgICBTdWJ0 cmFjdCAoMHhGRUMwMDAwMCwgVENNTSwgVE9NTSkKICAgICAgICAgICAgICAgIFJldHVybiAoQlVG MCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTmFtZSAoUElDTSwgUGFja2FnZSAoMHgxNCkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAweDAwLCAKICAgICAgICAgICAgICAgICAgICBMU01CLCAKICAgICAgICAgICAgICAgICAgICAw eDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAg ICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgIExTTUIsIAogICAgICAgICAg ICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDAyRkZG RiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgXF9TQi5Q Q0kwLkxVQkEsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgMHgwMDAyRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAg ICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxVQkIsIAogICAgICAgICAgICAgICAgICAgIDB4MDAK ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDAyRkZGRiwgCiAgICAgICAgICAg ICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxVQjIsIAogICAg ICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgw MDA0RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAg XF9TQi5QQ0kwLkxNQUMsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgMHgwMDA1RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxBUFUsIAogICAgICAgICAgICAgICAgICAg IDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDA2RkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxBQ0ks IAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgMHgwMDA2RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAg ICAgICAgXF9TQi5QQ0kwLkxNQ0ksIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDBERkZGRiwgCiAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxGSVIsIAogICAgICAgICAgICAg ICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDBDRkZGRiwg CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kw LkwzQ00sIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgMHgwMDA5RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgXF9TQi5QQ0kwLkxJREUsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzEsIAogICAgICAg ICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDA4 RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgXF9T Qi5QQ0kwLkxOSzIsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAg ICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzMsIAogICAgICAgICAgICAgICAgICAgIDB4 MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAg ICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzQsIAog ICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg MHgwMDFFRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgXF9TQi5QQ0kwLkxOSzUsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgMHgwMDFFRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgw MSwgCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzUsIAogICAgICAgICAgICAgICAg ICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDFFRkZGRiwgCiAg ICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxO SzUsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgMHgwMDFFRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgXF9TQi5QQ0kwLkxOSzUsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICAgICAgTmFtZSAoQVBJQywgUGFja2Fn ZSAoMHgwQykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDUywgCiAg ICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAw eDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAg ICBcX1NCLlBDSTAuQVBDUywgCiAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDRiwgCiAgICAgICAgICAgICAgICAg ICAgMHgwMAogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBD RywgCiAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAg ICAgICAgICBcX1NCLlBDSTAuQVBDTCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAweDAwLCAKICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDSCwgCiAgICAgICAgICAg ICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDVGRkZG LCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICBcX1NCLlBD STAuQVBDSSwgCiAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAweDAwMDZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDSiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMAog ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDZGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDSywgCiAgICAg ICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAw MERGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICBc X1NCLlBDSTAuQVBDTSwgCiAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAweDAwMENGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVAzQywgCiAgICAgICAgICAgICAgICAgICAg MHgwMAogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAgICAg ICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDWiwg CiAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 KQogICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIElmIChMTm90IChQSUNGKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFBJQ00pCiAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChBUElDKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZp Y2UgKEhVQjApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAw ODAwMDApCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKFBJQ00sIFBhY2thZ2UgKDB4MTgpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNkZGRkYsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5Q Q0kwLkxOSzEsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDZGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTksy LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA2RkZGRiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LMywgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwNkZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAz LCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzQsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAweDAwMDdGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTks0LCAKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDA3RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAg ICAgICAgICAgICBcX1NCLlBDSTAuTE5LMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAK ICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwN0ZG RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAg ICAgXF9TQi5QQ0kwLkxOSzIsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAg ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDdGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0Iu UENJMC5MTkszLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5L MywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOEZGRkYsIAogICAgICAgICAgICAgICAgICAg ICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzQsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAweDAwMDhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgw MiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTksxLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAg ICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LMiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAwOUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAg ICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzIsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAw CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlG RkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFxfU0IuUENJMC5MTkszLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA5RkZGRiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NC LlBDSTAuTE5LNCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOUZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxO SzEsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTksxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDBBRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LMiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAwQUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAKICAg ICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzMsIAogICAgICAgICAgICAgICAgICAg ICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAweDAwMEFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgICAgIFxfU0IuUENJMC5MTks0LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgw MAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDBC RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAg ICAgICBcX1NCLlBDSTAuTE5LMywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAg ICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwQkZGRkYsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9T Qi5QQ0kwLkxOSzMsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEJGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5M TkszLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDBCRkZGRiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTE5LMywgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoQVBJQywgUGFja2FnZSAoMHgxOCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA2RkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBD STAuQVBDMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNkZGRkYsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkFQQzIs IAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5BUEMzLCAKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDA2RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMs IAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDNCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAwN0ZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkFQQzQsIAogICAgICAgICAgICAgICAgICAgICAg ICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDdGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIFxfU0IuUENJMC5BUEMxLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAog ICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0 KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA3RkZG RiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAg ICBcX1NCLlBDSTAuQVBDMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwN0ZGRkYsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5Q Q0kwLkFQQzMsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDhGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5BUEMz LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDNCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwOEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAy LCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkFQQzEsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAweDAwMDhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAg ICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5BUEMyLCAKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDA5RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgICAgICBcX1NCLlBDSTAuQVBDMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAK ICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOUZG RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAg ICAgXF9TQi5QQ0kwLkFQQzMsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAg ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0Iu UENJMC5BUEM0LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA5RkZGRiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBD MSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwQUZGRkYsIAogICAgICAgICAgICAgICAgICAg ICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkFQQzEsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAweDAwMEFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgw MSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5BUEMyLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDBBRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAg ICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDMywgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAwQUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAg ICAgICAgICAgICAgXF9TQi5QQ0kwLkFQQzQsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAw CiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEJG RkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFxfU0IuUENJMC5BUEMzLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDBCRkZGRiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NC LlBDSTAuQVBDMywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwQkZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkFQ QzMsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMEJGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5BUEMzLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIH0pCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKFBJQ0YpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQSUNN KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFQSUMpCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUg KF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwNQogICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChJREUwKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMDkwMDAwKQogICAgICAgICAgICAgICAgT3BlcmF0 aW9uUmVnaW9uIChBMDkwLCBQQ0lfQ29uZmlnLCAweDUwLCAweDE4KQogICAgICAgICAgICAgICAg RmllbGQgKEEwOTAsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIElEMjAsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHgwOCksIAogICAgICAgICAgICAgICAgICAgIElEVFMsICAgMTYsIAogICAgICAgICAg ICAgICAgICAgIElEVFAsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIElEMjIsICAgMzIsIAog ICAgICAgICAgICAgICAgICAgIFVNU1MsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIFVNU1As ICAgMTYKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBOYW1lIChJREVQLCBCdWZm ZXIgKDB4MTQpIHt9KQogICAgICAgICAgICAgICAgTmFtZSAoSURFUywgQnVmZmVyICgweDE0KSB7 fSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoR1RNLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFNYLCAweDAxKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChPU0ZMKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoWjAw MCwgMHgwMSwgWjAwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMCkpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSURUUCwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoVU1TUCwgTG9jYWwxKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoSURFUCwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoSURUUywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoVU1TUywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo SURFUywgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg Q3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwyLCAweDAwLCBQSU8wKQogICAgICAgICAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKExvY2FsMiwgMHgwNCwgRE1BMCkKICAgICAgICAgICAgICAgICAg ICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDIsIDB4MDgsIFBJTzEpCiAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwyLCAweDBDLCBETUExKQogICAgICAgICAgICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMiwgMHgxMCwgRkxBRykKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgxMCwgRkxBRykKICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMCwg MHgwRjAwLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDAsIDB4RjAwMCwg TG9jYWw0KQogICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKExvY2FsMywgMHgwOCwgTG9j YWwzKQogICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKExvY2FsNCwgMHgwQywgTG9jYWw0 KQogICAgICAgICAgICAgICAgICAgIEFkZCAoTG9jYWwzLCBMb2NhbDQsIExvY2FsMykKICAgICAg ICAgICAgICAgICAgICBNdWx0aXBseSAoQWRkIChMb2NhbDMsIDB4MDIpLCAweDFFLCBQSU8wKQog ICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRlciAoUElPMCwgMHhCNCkpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEZMQUcsIDB4MDIs IEZMQUcpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoQW5k IChMb2NhbDEsIDB4NDAwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBPciAoRkxBRywgMHgwMSwgRkxBRykKICAgICAgICAgICAgICAgICAgICAgICAgQW5k IChMb2NhbDEsIDB4MDcwMCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJp Z2h0IChMb2NhbDMsIDB4MDgsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFUyVCAoTG9jYWwzKSwgRE1BMCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFBJTzAsIERNQTApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBBbmQgKExvY2FsMCwgMHgwRiwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgIEFuZCAo TG9jYWwwLCAweEYwLCBMb2NhbDQpCiAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoTG9j YWw0LCAweDA0LCBMb2NhbDQpCiAgICAgICAgICAgICAgICAgICAgQWRkIChMb2NhbDMsIExvY2Fs NCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgIE11bHRpcGx5IChBZGQgKExvY2FsMywgMHgw MiksIDB4MUUsIFBJTzEpCiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChQ SU8xLCAweEI0KSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBPciAoRkxBRywgMHgwOCwgRkxBRykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIElmIChBbmQgKExvY2FsMSwgMHg0MCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBPciAoRkxBRywgMHgwNCwgRkxBRykKICAgICAgICAgICAg ICAgICAgICAgICAgQW5kIChMb2NhbDEsIDB4MDcsIExvY2FsMykKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFUyVCAoTG9jYWwzKSwgRE1BMSkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFBJTzEsIERNQTEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAwKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDIsIElERVApCiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoSURFUCkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKExvY2FsMiwgSURFUykKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChJREVTKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKFUyVCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAwKSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgzQykKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAs IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDVBKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoQXJnMCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4NzgpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHg5NikKICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDQpKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDJEKQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwNSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MUUpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChBcmcwLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgxNCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKFQyVSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKEFyZzAsIDB4NzgpKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChBcmcwLCAweDVBKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRl ciAoQXJnMCwgMHgzQykpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBJZiAoTEdyZWF0ZXIgKEFyZzAsIDB4MkQpKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChBcmcwLCAweDFFKSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwNCkKICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoQXJnMCwg MHgxNCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MDUpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAo TEdyZWF0ZXIgKEFyZzAsIDB4MEYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDA2KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDA3KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIE1ldGhvZCAoVDJELCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoQXJnMCwgMHgwMUUwKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHhBOCkKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoQXJnMCwgMHgw MTg2KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHg3NykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChM R3JlYXRlciAoQXJnMCwgMHhGMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4NDcpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKEFyZzAsIDB4QjQpKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDMzKQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChBcmcwLCAweDk2KSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgyMikK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAo QXJnMCwgMHg3OCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MjEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MjApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9k IChTVE0sIDQsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgSWYgKFNYKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKFNJRDAsIElEMjApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChTSUQx LCBJRFRTKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0lEMiwgSURUUCkKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFNJRDMsIElEMjIpCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChTSUQ0LCBVTVNTKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0lE NSwgVU1TUCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElEMjAs IFNJRDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChJRFRTLCBTSUQxKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoSURUUCwgU0lEMikKICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKElEMjIsIFNJRDMpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChVTVNT LCBTSUQ0KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoVU1TUCwgU0lENSkKICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBTWCkKICAg ICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmcwLCAweDAwLCBQSU8wKQogICAg ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MDQsIERNQTApCiAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwOCwgUElPMSkKICAgICAg ICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmcwLCAweDBDLCBETUExKQogICAgICAg ICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MTAsIEZMQUcpCiAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMywgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0lEMiwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoU0lENSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoU0lEMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoU0lENCwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgSWYgKExOb3QgKExFcXVhbCAoUElPMCwgMHhGRkZGRkZGRikpKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDAsIDB4RkYsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChUMkQgKFBJTzApLCAweDA4 LCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIExvY2FsMiwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3Qg KExFcXVhbCAoUElPMSwgMHhGRkZGRkZGRikpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDAsIDB4RkYwMCwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICBPciAoTG9jYWwwLCBUMkQgKFBJTzEpLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChGTEFHLCAweDAxKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTG9jYWwxLCAw eEZGLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoVDJVIChETUEw KSwgMHgwOCwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgICAgICBPciAoMHhDMDAwLCBMb2Nh bDIsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMiwgTG9jYWwxLCBM b2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMRXF1 YWwgKERNQTAsIDB4RkZGRkZGRkYpKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDAsIDB4RkYsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoVDJEIChETUEwKSwgMHgwOCwgTG9jYWwyKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgTG9jYWwyLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIElmIChBbmQgKEZMQUcsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDEsIDB4RkYwMCwgTG9jYWwxKQogICAgICAg ICAgICAgICAgICAgICAgICBPciAoMHhDMCwgVDJVIChETUExKSwgTG9jYWwyKQogICAgICAgICAg ICAgICAgICAgICAgICBPciAoTG9jYWwyLCBMb2NhbDEsIExvY2FsMSkKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExFcXVhbCAoRE1BMSwgMHhGRkZGRkZGRikp KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB bmQgKExvY2FsMCwgMHhGRjAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ciAoTG9jYWwwLCBUMkQgKERNQTEpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFy ZzMsIDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKExvY2FsMCwgSURUUCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2Fs MSwgVU1TUCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2Fs MCwgSURUUykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgVU1TUykKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChHVEYsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEJ1ZmZlciAoMHgwNykKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHhBMCwgMHhFRgogICAgICAgICAgICAgICAgICAgICAgICB9LCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChMb2NhbDAsIDB4MDEsIE1PREUpCiAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChMb2NhbDAsIDB4MDUsIERSSVYpCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEFyZzEsIERSSVYpCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoSURFUCwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoSURFUywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwxLCAweDAwLCBQSU8wKQogICAgICAg ICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMSwgMHgwNCwgRE1BMCkKICAgICAg ICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDEsIDB4MDgsIFBJTzEpCiAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwxLCAweDBDLCBETUExKQogICAg ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMSwgMHgxMCwgRkxHWCkKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweEEwKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSU8wLCBMb2NhbDIpCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChETUEwLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAg ICAgICAgIEFuZCAoRkxHWCwgMHgwMSwgRkxHWCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFBJTzEsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKERNQTEsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChGTEdYLCAweDA0 LCBGTEdYKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KEZMR1gsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKExvY2FsMiwg MHgwMTg2KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAwLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElm IChMR3JlYXRlciAoTG9jYWwyLCAweEYwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMikKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9j YWwyLCAweEI0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMiwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3Jl YXRlciAoTG9jYWwyLCAweDc4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBMb2NhbDIpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA0LCBMb2NhbDIpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBPciAoMHgwOCwgTG9jYWwyLCBNT0RFKQogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChMb2NhbDAsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICBJZiAoRkxHWCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWwz LCAweDVBKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWwzLCAweDNDKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMSwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWwzLCAweDJE KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMR3JlYXRlciAoTG9jYWwzLCAweDFFKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDMsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMR3JlYXRlciAoTG9jYWwzLCAweDE0KSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwNCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWwzLCAweDBG KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA1LCBMb2Nh bDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA2LCBMb2NhbDMpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBP ciAoMHg0MCwgTG9jYWwzLCBNT0RFKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChMb2NhbDMsIDB4RkZGRkZGRkYpKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAo TG9jYWwzLCAweDk2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwzKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM R3JlYXRlciAoTG9jYWwzLCAweDc4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBMb2NhbDMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMb2NhbDMpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yICgweDIwLCBMb2NhbDMsIE1PREUpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDAsIExvY2FsMiwgTG9jYWwxKQogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IERldmljZSAoUFJJMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAwKQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dUTSwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoR1RNICgweDAwKSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1NUTSwgMywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFNUTSAoQXJnMCwgQXJnMSwgQXJnMiwgMHgwMCkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoTUFTVCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4 MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChHVEYgKDB4MDAsIDB4QTApKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKFNMQVYpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAx KQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVEYsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoR1RGICgweDAwLCAweEIwKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2Ug KFNFQzApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwg MHgwMSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVE0sIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEdU TSAoMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9TVE0sIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBTVE0gKEFyZzAsIEFyZzEsIEFyZzIsIDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKE1BU1QpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQogICAg ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVEYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo R1RGICgweDAxLCAweEEwKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChTTEFWKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEdU RiAoMHgwMSwgMHhCMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmlj ZSAoQUdQQikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFF MDAwMCkKICAgICAgICAgICAgICAgIE5hbWUgKE9OQlYsIDB4MDApCiAgICAgICAgICAgICAgICBO YW1lIChQSUNNLCBQYWNrYWdlICgweDAxKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxOSzUsIAogICAgICAgICAgICAgICAgICAgICAg ICAweDAwCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgIE5hbWUgKEFQSUMsIFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVBDNSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgTmFtZSAoQUdQMCwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MTks0LCAKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICBOYW1lIChBR1AxLCBQYWNrYWdlICgweDAxKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkFQQzQs IAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoUElD RikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChPTkJWLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChQSUNNKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBR1AwKQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKE9O QlYsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEFQSUMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKEFHUDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg RGV2aWNlIChWR0FHKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9BRFIsIDB4MDApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IERldmljZSAoSFVCMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwg MHgwMDBDMDAwMCkKICAgICAgICAgICAgICAgIE5hbWUgKFBJQ00sIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5Q Q0kwLkwzQ00sIAogICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MM0NN LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTDNDTSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAz LCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkwzQ00sIAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgIE5hbWUgKEFQSUMsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAg ICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkFQM0MsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5BUDNDLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAog ICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuQVAzQywgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAg ICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkFQM0MsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDAwCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoUElDRikpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBJQ00pCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQVBJQykKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDBBLCAKICAgICAgICAgICAg ICAgICAgICAweDA0CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAgICAg ICBEZXZpY2UgKFNNQjApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIs IDB4MDAwMTAwMDEpCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFNNQ0YsIFBDSV9D b25maWcsIDB4NDgsIDB4MTApCiAgICAgICAgICAgICAgICBGaWVsZCAoU01DRiwgRFdvcmRBY2Ms IE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U01QTSwgICA0LCAKICAgICAgICAgICAgICAgICAgICBTTVQxLCAgIDI4LCAKICAgICAgICAgICAg ICAgICAgICBTTVQyLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBTQjEsICAgIDMyLCAKICAg ICAgICAgICAgICAgICAgICBTQjIsICAgIDMyCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIERldmljZSAoVlQ4NikKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgTmFtZSAoX0FEUiwgMHgwMDAxMDAwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lv biAoUElPMCwgUENJX0NvbmZpZywgMHgwNCwgMHgyMCkKICAgICAgICAgICAgICAgIFNjb3BlIChc KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEZpZWxkIChcX1NCLlBDSTAu VlQ4Ni5QSU8wLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgU01FTiwgICA4LCAKICAgICAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweDBDKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgw RCksIAogICAgICAgICAgICAgICAgICAgICAgICBTTUlPLCAgIDgKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgU2NvcGUgKFwpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChcX1NCLlBDSTAu VlQ4Ni5QNjAsIFBDSV9Db25maWcsIDB4NjAsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgRmll bGQgKFxfU0IuUENJMC5WVDg2LlA2MCwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUE1CUiwgICAxNgogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChcX1NC LlBDSTAuVlQ4Ni5QNjQsIFBDSV9Db25maWcsIDB4NjQsIDB4MDIpCiAgICAgICAgICAgICAgICAg ICAgRmllbGQgKFxfU0IuUENJMC5WVDg2LlA2NCwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTlZTQiwgICAxNgog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9u IChcX1NCLlBDSTAuVlQ4Ni5QNjgsIFBDSV9Db25maWcsIDB4NjgsIDB4MDIpCiAgICAgICAgICAg ICAgICAgICAgRmllbGQgKFxfU0IuUENJMC5WVDg2LlA2OCwgQW55QWNjLCBOb0xvY2ssIFByZXNl cnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQU5MRywg ICAxNgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBPcGVyYXRpb25SZWdpb24gKFBJUlEsIFBDSV9Db25maWcsIDB4N0MsIDB4MEMpCiAgICAg ICAgICAgICAgICBTY29wZSAoXCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBGaWVsZCAoXF9TQi5QQ0kwLlZUODYuUElSUSwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU5UQSwgICA0LCAK ICAgICAgICAgICAgICAgICAgICAgICAgSU5UQiwgICA0LCAKICAgICAgICAgICAgICAgICAgICAg ICAgSU5UQywgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgSU5URCwgICA0LCAKICAgICAg ICAgICAgICAgICAgICAgICAgSU5URSwgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDA0KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNDSUksICAgNCwgCiAgICAgICAg ICAgICAgICAgICAgICAgIFRDT0ksICAgNCwgCiAgICAgICAgICAgICAgICAgICAgICAgIElOVEYs ICAgNCwgCiAgICAgICAgICAgICAgICAgICAgICAgIElOVFEsICAgNCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIElOVFUsICAgNCwgCiAgICAgICAgICAgICAgICAgICAgICAgIElOVFMsICAgNCwg CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIAogICAgICAgICAgICAgICAg ICAgICAgICBJTlRHLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBJTlRILCAgIDQsIAog ICAgICAgICAgICAgICAgICAgICAgICBJTlRKLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAg ICBJTlRLLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBJTlRMLCAgIDQsIAogICAgICAg ICAgICAgICAgICAgICAgICBJTlRNLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBJTlRO LCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBJTlRQLCAgIDQKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFNjb3Bl IChcKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBNZXRob2QgKERJU0QsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChDS0lPLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoU0xETSwgMiwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg fQoKICAgICAgICAgICAgRGV2aWNlIChVU0IwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBOYW1lIChfQURSLCAweDAwMDIwMDAwKQogICAgICAgICAgICAgICAgTWV0aG9kIChfUzFELCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFNT M0QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoT1NGTCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDBELCAKICAgICAgICAgICAgICAgICAg ICAweDA0CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZp Y2UgKFVTQjEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAw MjAwMDEpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TMUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoU1MzRCwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChPU0ZM LCAweDAyKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDAzKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIDB4MEMsIAogICAgICAgICAgICAgICAgICAgIDB4MDQKICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoVVNCMikKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDAyMDAwMikKICAgICAgICAgICAg ICAgIE9wZXJhdGlvblJlZ2lvbiAoUDAyMCwgUENJX0NvbmZpZywgMHg0OSwgMHgwMSkKICAgICAg ICAgICAgICAgIEZpZWxkIChQMDIwLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgVTBXSywgICAxCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFNXLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChBcmcwKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFUwV0spCiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBVMFdLKQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9T MUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhv ZCAoU1MzRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAweDA1LCAKICAgICAgICAgICAgICAgICAgICAweDAzCiAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEYxMzkpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAwRDAwMDApCiAgICAgICAgICAgICAgICBN ZXRob2QgKF9TMUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIE1ldGhvZCAoU1MzRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChPU0ZMLCAweDAyKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdl ICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MEYsIAogICAg ICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIERldmljZSAoTU1BQykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMDA0MDAwMCkKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2Ug KDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwQiwgCiAgICAg ICAgICAgICAgICAgICAgMHgwNQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgRGV2aWNlIChNQVBVKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAwMDUwMDAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKE1B Q0kpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAwNjAwMDAp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoTU1DSSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDA2MDAwMSkKICAgICAgICAgICAgICAgIE5h bWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgMHgwNywgCiAgICAgICAgICAgICAgICAgICAgMHgwNQogICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgTmFtZSAoQlVGQSwgUmVzb3VyY2VUZW1wbGF0ZSAo KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNo YXJlZCkgezMsNCw1LDYsNywxMCwxMSwxMiwxNCwxNX0KICAgICAgICAgICAgfSkKICAgICAgICAg ICAgTmFtZSAoQlVGQiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkge30KICAgICAgICAgICAgfSkK ICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUZCLCAweDAxLCBJUlFWKQogICAgICAgICAg ICBNZXRob2QgKENSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgSWYgKEFyZzApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU2hp ZnRMZWZ0ICgweDAxLCBBcmcwLCBJUlFWKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBJUlFWKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoQlVGQikK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTUlMsIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgw MSwgSVJRMCkKICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQog ICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICBSZXR1cm4g KExvY2FsMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChDUlNBLCAxLCBTZXJp YWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWww KQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwOCkpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTQsIExvY2FsMCkKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDBEKSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxNSwgTG9jYWwwKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDE2LCBMb2NhbDApCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoSVJaNSwgUmVzb3VyY2VUZW1w bGF0ZSAoKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEludGVycnVwdCAo UmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUhpZ2gsIFNoYXJlZCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDcsCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRG aWVsZCAoSVJaNSwgMHgwNSwgSU5aNSkKICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIElO WjUpCiAgICAgICAgICAgICAgICBSZXR1cm4gKElSWjUpCiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIE1ldGhvZCAoU1JTQSwgMSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDA1LCBJTlo2KQogICAgICAgICAgICAgICAg U3RvcmUgKDB4MDgsIExvY2FsMCkKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKElOWjYsIDB4 MTQpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBM b2NhbDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoSU5a NiwgMHgxNSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MEQsIExvY2FsMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChJTlo2LCAweDE2KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMiwgTG9jYWwwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVy biAoTG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKExOSzEpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkK ICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDEpCiAgICAgICAgICAgICAgICBNZXRob2Qg KF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgSWYgKElOVEEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVEEpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQ1JTIChJTlRB KSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFNSUyAoQXJnMCksIElOVEEpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIERldmljZSAoTE5LMikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgw MikKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoSU5UQikKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCVUZBKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMCwgSU5UQikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChDUlMgKElOVEIpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU1JTIChBcmcwKSwgSU5UQikKICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChMTkszKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAg ICAgICAgICAgICBOYW1lIChfVUlELCAweDAzKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RB LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IElmIChJTlRDKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MDkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkEpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBJTlRDKQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENSUyAoSU5UQykpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChTUlMg KEFyZzApLCBJTlRDKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBEZXZpY2UgKExOSzQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQs IEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDQpCiAg ICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKElOVEQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVG QSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIElOVEQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChf Q1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQ1JTIChJTlREKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFNSUyAoQXJnMCksIElOVEQpCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoTE5LNSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAg ICAgICAgTmFtZSAoX1VJRCwgMHgwNSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAo SU5URSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwQikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5 KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChCVUZBKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgSU5URSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDUlMgKElOVEUpKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU1JTIChBcmcw KSwgSU5URSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2 aWNlIChMVUJBKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNh SWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA2KQogICAgICAg ICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIElmIChJTlRHKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkEpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAw LCBJTlRHKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKENSUyAoSU5URykpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChTUlMgKEFyZzApLCBJTlRHKQogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKExVQkIpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAg IE5hbWUgKF9VSUQsIDB4MDcpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKElOVEgp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVEgpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQ1JTIChJTlRIKSkKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNSUyAoQXJnMCksIElO VEgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAo TE1BQykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwOCkKICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBJZiAoSU5USikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZBKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgSU5U SikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChDUlMgKElOVEopKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo X1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoU1JTIChBcmcwKSwgSU5USikKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgfQoKICAgICAgICAgICAgRGV2aWNlIChMQVBVKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBOYW1l IChfVUlELCAweDA5KQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChJTlRLKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQog ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo X1BSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKEJVRkEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDAwLCBJTlRLKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENSUyAoSU5USykpCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChTUlMgKEFyZzApLCBJTlRLKQog ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKExBQ0kp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBD MEYiKSkKICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MEEpCiAgICAgICAgICAgICAgICBN ZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgSWYgKElOVEwpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVEwpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQ1JT IChJTlRMKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFNSUyAoQXJnMCksIElOVEwpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIERldmljZSAoTE1DSSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg TmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJ RCwgMHgwQikKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoSU5UTSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChCVUZBKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo X0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMCwgSU5UTSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChDUlMgKElOVE0pKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU1JTIChBcmcwKSwgSU5UTSkKICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChMU01CKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikp CiAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDBDKQogICAgICAgICAgICAgICAgTWV0aG9k IChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIElmIChJTlRGKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MDkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkEpCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBJTlRGKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENSUyAoSU5U RikpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChTUlMgKEFyZzApLCBJTlRGKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAg ICAgICAgICBEZXZpY2UgKExVQjIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4 MEQpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKElOVFEpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVy biAoQlVGQSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDAsIElOVFEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQ1JTIChJTlRRKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNSUyAoQXJnMCksIElOVFEpCiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoTEZJUikKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAg ICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwRSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NU QSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBJZiAoSU5UVSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDA5KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZBKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgSU5UVSkKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDUlMgKElOVFUpKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU1JT IChBcmcwKSwgSU5UVSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAg ICAgRGV2aWNlIChMM0NNKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfSElE LCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDBGKQog ICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChJTlRTKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJV RkEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAwLCBJTlRTKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo X0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKENSUyAoSU5UUykpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChTUlMgKEFyZzApLCBJTlRTKQogICAgICAgICAgICAgICAg fQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKExJREUpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAg ICAgICAgIE5hbWUgKF9VSUQsIDB4MTApCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYg KElOVE4pCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw OSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQlVGQSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVE4pCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDAsIElOVFApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQ1JTIChJTlROKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNSUyAoQXJnMCksIElOVE4pCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFNSUyAoQXJnMCksIElOVFApCiAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKEJVRjEsIFJlc291cmNlVGVtcGxhdGUgKCkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSW50ZXJydXB0IChSZXNvdXJjZUNvbnN1bWVy LCBMZXZlbCwgQWN0aXZlSGlnaCwgU2hhcmVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMTAsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAg ICAgICAgICAgIE5hbWUgKEJVRjIsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgSW50ZXJydXB0IChSZXNvdXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZl SGlnaCwgU2hhcmVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMTEsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUg KEJVRjMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg SW50ZXJydXB0IChSZXNvdXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZlSGlnaCwgU2hhcmVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTIsCiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEJVRjQsIFJlc291cmNl VGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSW50ZXJydXB0IChSZXNv dXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZlSGlnaCwgU2hhcmVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTMsCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEJVRkYsIFJlc291cmNlVGVtcGxhdGUgKCkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgSW50ZXJydXB0IChSZXNvdXJjZUNvbnN1bWVyLCBM ZXZlbCwgQWN0aXZlSGlnaCwgU2hhcmVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMTQsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxNSwKICAgICAg ICAgICAgICAgICAgICAweDAwMDAwMDE2LAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 KQogICAgICAgICAgICBOYW1lIChCVUZJLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFj dGl2ZUhpZ2gsIFNoYXJlZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAw eDAwMDAwMDE3LAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgICAgICBO YW1lIChJUloxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUhpZ2gsIFNoYXJl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA3LAogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgICAgICBEZXZpY2UgKEFQQzEpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYi KSkKICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MEIpCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgSWYgKElOVEEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMSkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVEEpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoSVJaMSwgMHgwNSwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMCwgSVJR MSkKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKElSWjEpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBJTlRBKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEFQQzIpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAg ICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MEMpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9T VEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKElOVEIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMikKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVEIpCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoSVJa MSwgMHgwNSwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMSwgSVJRMSkKICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKElSWjEpCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBJTlRCKQogICAgICAgICAgICAgICAg fQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEFQQzMpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAg ICAgICAgIE5hbWUgKF9VSUQsIDB4MEQpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYg KElOVEMpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw OSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVEMpCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoSVJaMSwgMHgw NSwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMiwgSVJRMSkKICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKElSWjEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBJTlRDKQogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEFQQzQpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAg IE5hbWUgKF9VSUQsIDB4MEUpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKElOVEQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQlVGNCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVEQpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoSVJaMSwgMHgwNSwgSVJR MSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMywgSVJRMSkKICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKElSWjEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDBELCBJTlREKQogICAgICAgICAgICAgICAgfQogICAgICAgICAg ICB9CgogICAgICAgICAgICBEZXZpY2UgKEFQQzUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgIE5hbWUg KF9VSUQsIDB4MEYpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKElOVEUpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChf UFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQlVGMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MDAsIElOVEUpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoSVJaMSwgMHgwNSwgSVJRMSkKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMCwgSVJRMSkKICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKElSWjEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChf U1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDA4LCBJTlRFKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBEZXZpY2UgKEFQQ0YpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5h bWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQs IDB4MTApCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKElOVEcpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQlVGRikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9E SVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDAsIElOVEcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQ1JTQSAoSU5URykpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChTUlNBIChBcmcwKSwgSU5URykKICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChBUENHKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikp CiAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDExKQogICAgICAgICAgICAgICAgTWV0aG9k IChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIElmIChJTlRIKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MDkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBJTlRIKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENSU0EgKElO VEgpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoU1JTQSAoQXJnMCksIElOVEgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIERldmljZSAoQVBDSCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFt ZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwg MHgxMikKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoSU5USikKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChCVUZGKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJ UywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMCwgSU5USikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChDUlNBIChJTlRKKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNSU0EgKEFyZzApLCBJTlRKKQogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEFQQ0kpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkK ICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MUEpCiAgICAgICAgICAgICAgICBNZXRob2Qg KF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgSWYgKElOVEspCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVEspCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQ1JTQSAoSU5U SykpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChTUlNBIChBcmcwKSwgSU5USykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg ICAgICAgICAgRGV2aWNlIChBUENKKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1l IChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAw eDFCKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChJTlRMKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEJVRkYpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElT LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAwLCBJTlRMKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKENSU0EgKElOVEwpKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU1JTQSAoQXJnMCksIElOVEwpCiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoQVBDSykKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQog ICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgxQykKICAgICAgICAgICAgICAgIE1ldGhvZCAo X1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBJZiAoSU5UTSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgSU5UTSkKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDUlNBIChJTlRN KSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFNSU0EgKEFyZzApLCBJTlRNKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAg ICAgICAgICBEZXZpY2UgKEFQQ1MpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4 MUQpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKElOVEYpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVy biAoQlVGSSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDAsIElOVEYpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoSVJaMSwgMHgwNSwgSVJRMSkKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgxNywgSVJRMSkKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKElS WjEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAyLCBJTlRGKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBEZXZpY2UgKEFQQ0wpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQs IEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MUUpCiAg ICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKElOVFEpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVG RikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIElOVFEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChf Q1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQ1JTQSAoSU5UUSkpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChTUlNBIChBcmcwKSwgSU5UUSkKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChBUENNKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAg ICAgICAgICBOYW1lIChfVUlELCAweDFGKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElm IChJTlRVKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBJTlRVKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENSU0EgKElOVFUpKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU1JTQSAo QXJnMCksIElOVFUpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IERldmljZSAoQVAzQykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgyMCkKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoSU5UUykKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZG KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgSU5UUykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9D UlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChDUlNBIChJTlRTKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFNSU0EgKEFyZzApLCBJTlRTKQogICAgICAgICAgICAgICAg fQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEFQQ1opCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAg ICAgICAgIE5hbWUgKF9VSUQsIDB4MjEpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYg KElOVE4pCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw OSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIElOVE4pCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDAsIElOVFApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQ1JTQSAoSU5UTikpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChTUlNBIChBcmcwKSwgSU5UTikKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoU1JTQSAoQXJnMCksIElOVFApCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFNjb3BlIChcKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFxTQ1BQLCBTeXN0ZW1JTywgMHg0NDJFLCAweDAx KQogICAgICAgICAgICAgICAgRmllbGQgKFxTQ1BQLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFNNSVAsICAgOAogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFxfU0IuUENJMC5f SU5JLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAo U1RSQyAoXF9PUywgIk1pY3Jvc29mdCBXaW5kb3dzIikpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4NTYsIFNNSVApCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYg KFNUUkMgKFxfT1MsICJNaWNyb3NvZnQgV2luZG93cyBOVCIpKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENvbmRSZWZPZiAoX09TSSwgTG9jYWwwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KFxfT1NJICgiV2luZG93cyAyMDAxIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTksIFNNSVApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIE9TRkwpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDMsIE9TRlgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHg1OCwgU01JUCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAwLCBPU0ZMKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDU3LCBTTUlQKQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMiwgT1NGTCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFNjb3BlIChcKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBNZXRob2QgKE9TVFAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoT1NGTCwgMHgwMSkpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg1Niwg U01JUCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKE9TRkwsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4NTcsIFNNSVApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChPU0ZMLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDU4LCBTTUlQKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoT1NGWCwgMHgwMykpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg1OSwg U01JUCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIERldmljZSAoU1lTUikKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwMiIpKQogICAgICAgICAgICAgICAgTmFtZSAo X1VJRCwgMHgwMSkKICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUg KCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDAxMCwgMHgwMDEwLCAweDAxLCAweDEwKQogICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwMDIyLCAweDAwMjIsIDB4MDEsIDB4MUUpCiAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LCAweDAwNDQsIDB4MDA0NCwgMHgwMSwgMHgxQykKICAgICAgICAgICAgICAgICAgICBJ TyAoRGVjb2RlMTYsIDB4MDA2MiwgMHgwMDYyLCAweDAxLCAweDAyKQogICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwgMHgwMDY1LCAweDAwNjUsIDB4MDEsIDB4MEIpCiAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNzQsIDB4MDA3NCwgMHgwMSwgMHgwQykKICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA5MSwgMHgwMDkxLCAweDAxLCAweDAzKQog ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEEyLCAweDAwQTIsIDB4MDEsIDB4 MUUpCiAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwRTAsIDB4MDBFMCwgMHgw MSwgMHgxMCkKICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDREMCwgMHgwNEQw LCAweDAxLCAweDAyKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgRGV2aWNlIChQSUMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQs IEVpc2FJZCAoIlBOUDAwMDAiKSkKICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNl VGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDAyMCwgMHgwMDIwLCAweDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwgMHgwMEEwLCAweDAwQTAsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAg ICAgSVJRTm9GbGFncyAoKSB7Mn0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIERldmljZSAoRE1BMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFt ZSAoX0hJRCwgRWlzYUlkICgiUE5QMDIwMCIpKQogICAgICAgICAgICAgICAgTmFtZSAoX0NSUywg UmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IERNQSAoQ29tcGF0aWJpbGl0eSwgQnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHs0fQogICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4MTApCiAgICAg ICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwODAsIDB4MDA4MCwgMHgwMSwgMHgxMSkK ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA5NCwgMHgwMDk0LCAweDAxLCAw eDBDKQogICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEMwLCAweDAwQzAsIDB4 MDEsIDB4MjApCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAgICAgICBE ZXZpY2UgKFRNUikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QMDEwMCIpKQogICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1w bGF0ZSAoKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwMDQwLCAweDAwNDAsIDB4MDEsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgSVJRTm9G bGFncyAoKSB7MH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IERldmljZSAoUlRDKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfSElELCBF aXNhSWQgKCJQTlAwQjAwIikpCiAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRl bXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LCAweDAwNzAsIDB4MDA3MCwgMHgwNCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICBJUlFO b0ZsYWdzICgpIHs4fQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgRGV2aWNlIChTUEtSKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfSElE LCBFaXNhSWQgKCJQTlAwODAwIikpCiAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJj ZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LCAweDAwNjEsIDB4MDA2MSwgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgIH0pCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoQ09QUikKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwNCIpKQogICAgICAgICAgICAg ICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEYwLCAweDAwRjAsIDB4MDEsIDB4MTAp CiAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7MTN9CiAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICB9CgogICAgICAgICAgICBTY29wZSAoXCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChXSU4xLCBTeXN0ZW1JTywgMHgyRSwgMHgwMikK ICAgICAgICAgICAgICAgIEZpZWxkIChXSU4xLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElORFAsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgREFUUCwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg SW5kZXhGaWVsZCAoSU5EUCwgREFUUCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDIpLCAKICAgICAgICAg ICAgICAgICAgICBDRkcsICAgIDgsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwNyks IAogICAgICAgICAgICAgICAgICAgIExETiwgICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDIwKSwgCiAgICAgICAgICAgICAgICAgICAgSURISSwgICA4LCAKICAgICAgICAgICAg ICAgICAgICBJRExPLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFBPV0MsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDMwKSwgCiAgICAgICAgICAgICAgICAgICAgQUNUUiwg ICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NjApLCAKICAgICAgICAgICAgICAg ICAgICBJT0FILCAgIDgsIAogICAgICAgICAgICAgICAgICAgIElPQUwsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgSU8ySCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBJTzJMLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg3MCksIAogICAgICAgICAgICAgICAgICAgIElO VFIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDcyKSwgCiAgICAgICAgICAg ICAgICAgICAgSU5UMSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NzQpLCAK ICAgICAgICAgICAgICAgICAgICBETUNILCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHhGMCksIAogICAgICAgICAgICAgICAgICAgIE9QVDEsICAgOCwgCiAgICAgICAgICAgICAg ICAgICAgT1BUMiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPUFQzLCAgIDgKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEVORkcsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODcsIElORFAp CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODcsIElORFApCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChFWEZHLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBDRkcpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChHU1JHLCAxLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBJTkRQ KQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoREFUUCkKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKFNTUkcsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIElORFApCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEFyZzEsIERBVFApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIERldmljZSAoRkRDMCkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDcwMCIpKQogICAgICAgICAgICAgICAgTWV0aG9k IChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTEROKQogICAg ICAgICAgICAgICAgICAgIElmIChBQ1RSKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MEYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3IgKElPQUgsIElP QUwpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEQpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgTEROKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBBQ1RSKQogICAgICAg ICAgICAgICAgICAgIFNMRE0gKERNQ0gsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgRVhGRyAo KQogICAgICAgICAgICAgICAgICAgIERJU0QgKDB4MDMpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwM0YwLCAweDAzRjAsIDB4MDEsIDB4MDYpCiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwgMHgwM0Y3LCAweDAzRjcsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAg ICAgICAgIElSUU5vRmxhZ3MgKCkgezZ9CiAgICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29t cGF0aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHsyfQogICAgICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUYwLCAweDAyLCBJ T0xPKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMCwgMHgwMywgSU9I SSkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjAsIDB4MDQsIElPUkwp CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUYwLCAweDA1LCBJT1JIKQog ICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYwKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwM0Yw LCAweDAzRjAsIDB4MDEsIDB4MDYpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwM0Y3LCAweDAzRjcsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIElS UU5vRmxhZ3MgKCkgezZ9CiAgICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29tcGF0aWJpbGl0 eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHsyfQogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAoKQogICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDIsIElP TE8pCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCAweDAzLCBJT0hJ KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMiwgSU9BRCkK ICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MTksIElSUVcpCiAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCAweDFDLCBETUFWKQogICAg ICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywg TEROKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAg ICAgICAgU0xETSAoRE1DSCwgRE1DSCkKICAgICAgICAgICAgICAgICAgICBDS0lPIChJT0FELCAw eDAzKQogICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChVQVIxKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwNTAxIikpCiAgICAgICAgICAgICAgICBO YW1lIChfVUlELCAweDAxKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgTEROKQogICAgICAgICAgICAgICAgICAgIElm IChBQ1RSKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRVhG RyAoKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMT3IgKElPQUgsIElPQUwpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAxLCBMRE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFD VFIpCiAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgIERJU0Qg KDB4MDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5h bWUgKEJVRjEsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4 MDgpCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkge30KICAgICAgICAgICAg ICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgw MiwgSU9MTykKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjEsIDB4MDMs IElPSEkpCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUYxLCAweDA0LCBJ T1JMKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwNSwgSU9S SCkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEJVRjEsIDB4MDksIElSUVcp CiAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAxLCBMRE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUwsIElPTE8pCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKElPQUwsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KElPQUgsIElPSEkpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUgsIElPUkgpCiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFNo aWZ0TGVmdCAoTG9jYWwwLCBJTlRSLCBJUlFXKQogICAgICAgICAgICAgICAgICAgIEVYRkcgKCkK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRjEpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAz RjgsIDB4MDNGOCwgMHgwMSwgMHgwOCkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFn cyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMkY4LCAweDAyRjgsIDB4 MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezMsNCw1LDcs OSwxMCwxMSwxMn0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgU3Rh cnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDNFOCwgMHgwM0U4LCAweDAxLCAweDA4KQogICAg ICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3LDksMTAsMTEsMTJ9CiAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5O b1ByaSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LCAweDAyRTgsIDB4MDJFOCwgMHgwMSwgMHgwOCkKICAgICAgICAgICAgICAgICAg ICAgICAgSVJRTm9GbGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAoKQogICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAs IDB4MDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCAw eDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgw MiwgSU9BRCkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDks IElSUVcpCiAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAxLCBMRE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgQUNUUikKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoSU9MTywgSU9BTCkKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoSU9ISSwgSU9BSCkKICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElS UVcsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdWJ0cmFjdCAoTG9jYWwwLCAweDAxLCBJ TlRSKQogICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICBDS0lP IChJT0FELCAweDAwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBEZXZpY2UgKFVBUjIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0hJ RCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIsIExETikKICAgICAgICAg ICAgICAgICAgICBBbmQgKE9QVDIsIDB4MDcsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChMb2NhbDAsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDA1ODc4NTI2KQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEwNUQwNDEpCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTmFtZSAoX1VJRCwgMHgwMikKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBFTkZH ICgpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIsIExETikKICAgICAgICAgICAgICAg ICAgICBBbmQgKE9QVDIsIDB4MDcsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTE5v dCAoTEVxdWFsIChMb2NhbDAsIDB4MDEpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBQ1RSKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTE9yIChJT0FILCBJT0FMKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBEKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDIsIExETikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQUNUUikKICAgICAg ICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgRElTRCAoMHgwMSkKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQlVGMiwg UmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgwOCkKICAgICAg ICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7NH0KICAgICAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMiwgMHgwMiwgSU9MTykK ICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjIsIDB4MDMsIElPSEkpCiAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUYyLCAweDA0LCBJT1JMKQogICAg ICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMiwgMHgwNSwgSU9SSCkKICAgICAg ICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEJVRjIsIDB4MDksIElSUVcpCiAgICAgICAg ICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMRE4p CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUwsIElPTE8pCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKElPQUwsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUgsIElP SEkpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUgsIElPUkgpCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKE9uZSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAo TG9jYWwwLCBJTlRSLCBJUlFXKQogICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKEJVRjIpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTmFtZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAzRjgsIDB4MDNG OCwgMHgwMSwgMHgwOCkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7Myw0 LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMkY4LCAweDAyRjgsIDB4MDEsIDB4MDgp CiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezMsNCw1LDcsOSwxMCwxMSwx Mn0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgU3RhcnREZXBlbmRl bnRGbk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsIDB4MDNFOCwgMHgwM0U4LCAweDAxLCAweDA4KQogICAgICAgICAgICAg ICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3LDksMTAsMTEsMTJ9CiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAyRTgsIDB4MDJFOCwgMHgwMSwgMHgwOCkKICAgICAgICAgICAgICAgICAgICAgICAgSVJR Tm9GbGFncyAoKSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAoKQogICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDIsIElP TE8pCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCAweDAzLCBJT0hJ KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMiwgSU9BRCkK ICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDksIElSUVcpCiAg ICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAy LCBMRE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgQUNUUikKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoSU9MTywgSU9BTCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSU9I SSwgSU9BSCkKICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUVcsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICBTdWJ0cmFjdCAoTG9jYWwwLCAweDAxLCBJTlRSKQogICAg ICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICBDS0lPIChJT0FELCAw eDAxKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2Ug KElSREEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAo IlBOUDA1MTAiKSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBFTkZHICgpCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDIsIExETikKICAgICAgICAgICAgICAgICAgICBBbmQgKE9Q VDIsIDB4MDcsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAs IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3Ig KElPQUgsIElPQUwpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChf RElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKERJU0UsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMiwgTEROKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQUNUUikKICAg ICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBESVNE ICgweDAxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExvY2FsMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBOYW1lIChCVUY0LCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAwMCwgMHgwMDAw LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHt9CiAg ICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQg KEJVRjQsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChC VUY0LCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVG NCwgMHgwNCwgSU9STCkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjQs IDB4MDUsIElPUkgpCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUY0LCAw eDA5LCBJUlFXKQogICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMiwgTEROKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FMLCBJT0xP KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FMLCBJT1JMKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChJT0FILCBJT0hJKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FILCBJ T1JIKQogICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgSU5UUiwgSVJRVykKICAg ICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUY0 KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNl VGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdGFydERl cGVuZGVudEZuTm9QcmkgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwgMHgwM0Y4LCAweDAzRjgsIDB4MDEsIDB4MDgpCiAgICAgICAg ICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezMsNCw1LDcsOSwxMCwxMSwxMn0KICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJp ICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDJGOCwgMHgwMkY4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAg ICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3LDksMTAsMTEsMTJ9CiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAzRTgs IDB4MDNFOCwgMHgwMSwgMHgwOCkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAo KSB7Myw0LDUsNyw5LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMkU4LCAweDAyRTgsIDB4MDEs IDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezMsNCw1LDcsOSwx MCwxMSwxMn0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRW5kRGVw ZW5kZW50Rm4gKCkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBNZXRob2QgKF9T UlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCAweDAyLCBJT0xPKQogICAgICAgICAgICAgICAgICAg IENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwMywgSU9ISSkKICAgICAgICAgICAgICAgICAgICBD cmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDIsIElPQUQpCiAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChBcmcwLCAweDA5LCBJUlFXKQogICAgICAgICAgICAgICAgICAgIEVORkcg KCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMiwgTEROKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPTE8sIElP QUwpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPSEksIElPQUgpCiAgICAgICAgICAgICAg ICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlFXLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg U3VidHJhY3QgKExvY2FsMCwgMHgwMSwgSU5UUikKICAgICAgICAgICAgICAgICAgICBFWEZHICgp CiAgICAgICAgICAgICAgICAgICAgQ0tJTyAoSU9BRCwgMHgwMSkKICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChMUFQxKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwNDAwIikpCiAgICAgICAgICAg ICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAz LCBMRE4pCiAgICAgICAgICAgICAgICAgICAgQW5kIChPUFQxLCAweDAyLCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgSWYgKExOb3QgKExFcXVhbCAoTG9jYWwwLCAweDAyKSkpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQUNUUikKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExPciAoSU9BSCwgSU9BTCkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBMRE4pCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAg ICAgICAgIERJU0QgKDB4MDIpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIE5hbWUgKEJVRjUsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAw MDAsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkge30K ICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQlVGNSwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQg KEJVRjUsIDB4MDMsIElPSEkpCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChC VUY1LCAweDA0LCBJT1JMKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVG NSwgMHgwNSwgSU9SSCkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjUs IDB4MDcsIElPTEUpCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUY1LCAw eDA5LCBJUlFXKQogICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMywgTEROKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FMLCBJT0xP KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0xPLCBJT1JMKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChJT0FILCBJT0hJKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0hJLCBJ T1JIKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKElPTE8sIDB4QkMpKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIElPTEUp CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBJT0xFKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJTlRSLCBMb2NhbDUpCiAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0IChMb2NhbDAsIExvY2FsNSwgSVJRVykKICAgICAgICAgICAgICAg ICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUY1KQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9Q cmkgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChE ZWNvZGUxNiwgMHgwMzc4LCAweDAzNzgsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAg ICAgIElSUU5vRmxhZ3MgKCkgezMsNCw1LDcsOSwxMCwxMSwxMn0KICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDI3 OCwgMHgwMjc4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdz ICgpIHszLDQsNSw3LDksMTAsMTEsMTJ9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAzQkMsIDB4MDNCQywgMHgw MSwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKSB7Myw0LDUsNyw5 LDEwLDExLDEyfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbmRE ZXBlbmRlbnRGbiAoKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE1ldGhvZCAo X1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDIsIElPTE8pCiAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCAweDAzLCBJT0hJKQogICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMiwgSU9BRCkKICAgICAgICAgICAgICAgICAgICBD cmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDQsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlQnl0ZUZpZWxkIChBcmcwLCAweDA1LCBJT1JIKQogICAgICAgICAgICAgICAgICAgIENyZWF0 ZVdvcmRGaWVsZCAoQXJnMCwgMHgwOSwgSVJRVykKICAgICAgICAgICAgICAgICAgICBFTkZHICgp CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDMsIExETikKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoT25lLCBBQ1RSKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0xPLCBJT0FM KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0hJLCBJT0FIKQogICAgICAgICAgICAgICAg ICAgIEZpbmRTZXRMZWZ0Qml0IChJUlFXLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3Vi dHJhY3QgKExvY2FsMCwgMHgwMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChM b2NhbDAsIElOVFIpCiAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAg ICAgIENLSU8gKElPQUQsIDB4MDIpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIERldmljZSAoRUNQMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFt ZSAoX0hJRCwgRWlzYUlkICgiUE5QMDQwMSIpKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RB LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IEVORkcgKCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgTEROKQogICAgICAgICAg ICAgICAgICAgIEFuZCAoT1BUMSwgMHgwMiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKExvY2FsMCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoQUNUUikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExPciAoSU9BSCwgSU9BTCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAzLCBMRE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAgICAgICAg ICAgICAgICAgICAgU0xETSAoRE1DSCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICBFWEZHICgp CiAgICAgICAgICAgICAgICAgICAgRElTRCAoMHgwMikKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQlVGNiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgwNCkKICAgICAgICAgICAgICAgICAg ICAgICAgSVJRTm9GbGFncyAoKSB7fQogICAgICAgICAgICAgICAgICAgICAgICBETUEgKENvbXBh dGliaWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXI4KSB7fQogICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY2LCAweDAyLCBJT0xP KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgwMywgSU9ISSkK ICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjYsIDB4MDQsIElPUkwpCiAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY2LCAweDA1LCBJT1JIKQogICAg ICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgwNywgSU9MRSkKICAgICAg ICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjYsIDB4MEEsIElPRUwpCiAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUY2LCAweDBCLCBJT0VIKQogICAgICAgICAg ICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgwQywgSU9NTCkKICAgICAgICAgICAg ICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjYsIDB4MEQsIElPTUgpCiAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUY2LCAweDExLCBJUlFXKQogICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGNiwgMHgxNCwgRE1BQykKICAgICAgICAgICAgICAgICAg ICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDMsIExETikKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoSU9BTCwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChMb2NhbDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUgsIExvY2FsMykK ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwzLCBJT0hJKQogICAgICAgICAgICAgICAg ICAgIE9yIChMb2NhbDMsIDB4MDQsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo TG9jYWwzLCBJT0VIKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIElPTUgpCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKElPTE8sIElPUkwpCiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKElPTE8sIElPRUwpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPTE8sIElPTUwp CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPSEksIElPUkgpCiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoSU9MTywgMHhCQykpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNCwgSU9MRSkKICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDgsIElPTEUpCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKElOVFIsIExvY2FsNSkKICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKExv Y2FsMCwgTG9jYWw1LCBJUlFXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRE1DSCwgTG9jYWw1KQogICAgICAgICAgICAg ICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBMb2NhbDUsIERNQUMpCiAgICAgICAgICAgICAgICAg ICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGNikKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJp ICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDM3OCwgMHgwMzc4LCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsIDB4MDc3OCwgMHgwNzc4LCAweDAwLCAweDA0KQogICAgICAgICAgICAg ICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3LDksMTAsMTEsMTJ9CiAgICAgICAgICAg ICAgICAgICAgICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2Zlcjgp IHswLDEsM30KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgU3RhcnRE ZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDI3OCwgMHgwMjc4LCAweDAwLCAweDA4KQogICAgICAg ICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDY3OCwgMHgwNjc4LCAweDAwLCAweDA0 KQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3LDksMTAsMTEs MTJ9CiAgICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFz dGVyLCBUcmFuc2ZlcjgpIHswLDEsM30KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDNCQywgMHgwM0JDLCAweDAw LCAweDA0KQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDdCQywgMHgw N0JDLCAweDAwLCAweDA0KQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHsz LDQsNSw3LDksMTAsMTEsMTJ9CiAgICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29tcGF0aWJp bGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHswLDEsM30KICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgRW5kRGVwZW5kZW50Rm4gKCkKICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCAw eDAyLCBJT0xPKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgw MywgSU9ISSkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDIs IElPQUQpCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDExLCBJ UlFXKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgxNCwgRE1B QykKICAgICAgICAgICAgICAgICAgICBFTkZHICgpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDMsIExETikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBBQ1RSKQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChJT0xPLCBJT0FMKQogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChJT0hJLCBJT0FIKQogICAgICAgICAgICAgICAgICAgIEZpbmRTZXRMZWZ0Qml0IChJUlFXLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMCwgMHgwMSwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIElOVFIpCiAgICAgICAgICAgICAg ICAgICAgRmluZFNldExlZnRCaXQgKERNQUMsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoRE1DSCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN1YnRyYWN0IChMb2NhbDEs IDB4MDEsIERNQ0gpCiAgICAgICAgICAgICAgICAgICAgU0xETSAoTG9jYWwwLCBETUNIKQogICAg ICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICBDS0lPIChJT0FELCAw eDAyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBPcGVyYXRp b25SZWdpb24gKEtCQ1QsIFN5c3RlbUlPLCAweDYwLCAweDA1KQogICAgICAgICAgICBGaWVsZCAo S0JDVCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgUDA2MCwgICA4LCAKICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwNCksIAogICAgICAg ICAgICAgICAgUDA2NCwgICA4CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoUFMy TSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5Q MEYxMyIpKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBTMkYsIDB4 MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDBGKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDAp CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBOYW1lIChCVUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHsxMn0KICAg ICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRjIsIFJlc291 cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwgMHgwMDYwLCAweDAwNjAsIDB4MDEsIDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDY0LCAweDAwNjQsIDB4MDEsIDB4MDEpCiAg ICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezEyfQogICAgICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoS0JESSwgMHgwMSkpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChPU0ZM LCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChCVUYxKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChPU0ZMLCAweDAxKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYxKQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYy KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGMSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoUFMySykKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDMwMyIpKQogICAgICAg ICAgICAgICAgTmFtZSAoX0NJRCwgMHgwQjAzRDA0MSkKICAgICAgICAgICAgICAgIE1ldGhvZCAo X1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChLQkRJLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAw NjAsIDB4MDA2MCwgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs IDB4MDA2NCwgMHgwMDY0LCAweDAxLCAweDAxKQogICAgICAgICAgICAgICAgICAgIElSUU5vRmxh Z3MgKCkgezF9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAgICAgICBE ZXZpY2UgKE1JREkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUEIwMDYiKSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBFTkZHICgpCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEEsIExETikKICAgICAgICAgICAgICAgICAgICBJ ZiAoQUNUUikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEVY RkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChJT0FILCBJT0FMKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBEKQogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwQSwgTEROKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBB Q1RSKQogICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICBESVNE ICgweDA1KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBO YW1lIChCVUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAwMCwgMHgwMDAwLCAweDAxLCAw eDAyKQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHt9CiAgICAgICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjEsIDB4 MDIsIElPTE8pCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUYxLCAweDAz LCBJT0hJKQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwNCwg SU9STCkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjEsIDB4MDUsIElP UkgpCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChCVUYxLCAweDA5LCBJUlFX KQogICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwQSwgTEROKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FMLCBJT0xPKQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChJT0FMLCBJT1JMKQogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChJT0FILCBJT0hJKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0FILCBJT1JIKQogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBT aGlmdExlZnQgKExvY2FsMCwgSU5UUiwgSVJRVykKICAgICAgICAgICAgICAgICAgICBFWEZHICgp CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYxKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MzMwLCAweDAzMzAsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxh Z3MgKCkgezMsNCw1LDcsOSwxMCwxMSwxMn0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDMwMCwgMHgwMzAwLCAw eDAxLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszLDQsNSw3 LDksMTAsMTEsMTJ9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVu ZERlcGVuZGVudEZuICgpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTWV0aG9k IChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwMiwgSU9MTykKICAgICAgICAgICAgICAg ICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDMsIElPSEkpCiAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAyLCBJT0FEKQogICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwOSwgSVJRVykKICAgICAgICAgICAgICAgICAgICBF TkZHICgpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEEsIExETikKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoT25lLCBBQ1RSKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0xP LCBJT0FMKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChJT0hJLCBJT0FIKQogICAgICAgICAg ICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRVywgTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgIFN1YnRyYWN0IChMb2NhbDAsIDB4MDEsIElOVFIpCiAgICAgICAgICAgICAgICAgICAgRVhG RyAoKQogICAgICAgICAgICAgICAgICAgIENLSU8gKElPQUQsIDB4MDUpCiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoR0FNRSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QQjAyRiIpKQogICAgICAg ICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwOCwgTEROKQogICAgICAgICAgICAgICAgICAgIElmIChBQ1RSKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElm IChMT3IgKElPQUgsIElPQUwpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBMRE4pCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAgICAgICAgICAgICAgICAgICAg RVhGRyAoKQogICAgICAgICAgICAgICAgICAgIERJU0QgKDB4MDQpCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRjEsIFJlc291cmNlVGVtcGxh dGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChE ZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjEsIDB4MDIsIElPTE8p CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUYxLCAweDAzLCBJT0hJKQog ICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVGMSwgMHgwNCwgSU9STCkKICAg ICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEJVRjEsIDB4MDUsIElPUkgpCiAgICAg ICAgICAgICAgICAgICAgRU5GRyAoKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBM RE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUwsIElPTE8pCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKElPQUwsIElPUkwpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUgs IElPSEkpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPQUgsIElPUkgpCiAgICAgICAgICAg ICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMSkKICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRl ICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRG bk5vUHJpICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJ TyAoRGVjb2RlMTYsIDB4MDIwMSwgMHgwMjAxLCAweDAxLCAweDAxKQogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MjA5LCAweDAyMDksIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwMiwgSU9MTykKICAg ICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDMsIElPSEkpCiAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAyLCBJT0FEKQogICAgICAg ICAgICAgICAgICAgIEVORkcgKCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgTERO KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKElPTE8sIElPQUwpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElPSEksIElP QUgpCiAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgIENLSU8g KElPQUQsIDB4MDQpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IE1ldGhvZCAoXF9TQi5QQ0kwLlVBUjEuX1BSVywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAyKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgIDB4MDUK ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCg== ------=_Part_19485_7205456.1132926913814 Content-Type: application/octet-stream; name="sysctl_acpi" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sysctl_acpi" aHcuYWNwaS5zdXBwb3J0ZWRfc2xlZXBfc3RhdGU6IFMxIFM0IFM1Cmh3LmFjcGkucG93ZXJfYnV0 dG9uX3N0YXRlOiBTNQpody5hY3BpLnNsZWVwX2J1dHRvbl9zdGF0ZTogUzEKaHcuYWNwaS5saWRf c3dpdGNoX3N0YXRlOiBOT05FCmh3LmFjcGkuc3RhbmRieV9zdGF0ZTogUzEKaHcuYWNwaS5zdXNw ZW5kX3N0YXRlOiBTMwpody5hY3BpLnNsZWVwX2RlbGF5OiAxCmh3LmFjcGkuczRiaW9zOiAxCmh3 LmFjcGkudmVyYm9zZTogMQpody5hY3BpLnJlc2V0X3ZpZGVvOiAxCmh3LmFjcGkuY3B1LmN4X3N1 cHBvcnRlZDogQzEvMApody5hY3BpLmNwdS5jeF9sb3dlc3Q6IEMxCmh3LmFjcGkuY3B1LmN4X3Vz YWdlOiAxMDAuMDAlCg== ------=_Part_19485_7205456.1132926913814-- From owner-freebsd-acpi@FreeBSD.ORG Fri Nov 25 14:26:02 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9DE6616A41F for ; Fri, 25 Nov 2005 14:26:02 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id E7B1C43D5C for ; Fri, 25 Nov 2005 14:26:01 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1EfeWU-0002sR-00; Fri, 25 Nov 2005 15:25:58 +0100 Date: Fri, 25 Nov 2005 15:25:58 +0100 To: Timm Florian Gloger Message-ID: <20051125142558.GB8628@poupinou.org> References: <19269e540511250555p18355d49u@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <19269e540511250555p18355d49u@mail.gmail.com> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-acpi@freebsd.org Subject: Re: System freezes when using ACPI X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Nov 2005 14:26:02 -0000 On Fri, Nov 25, 2005 at 02:55:13PM +0100, Timm Florian Gloger wrote: > hey list, > > i installed a fresh 6.0 stable system on my machine. > > when using acpi the system freezes after less than 10 minutes. > with disabled acpi there is no such problem and the system runs fine. > > i am new to freebsd so i dont know all the things which may influence > the acpi driver to misbehave. > > i attached the outputs which are mentioned in the handbook. > > the system is: > > asus a7n8x deluxe rev 2.0 bios 1008 > amd athlon xp 3000+ fsb 400 > 1 gb ddr400 ram > nforce 2 chipset (firewire disabled) > sapphire radeon 9800 pro > > if there are any further information required to get the system work > properly ... Looks like when you enable ACPI then APIC will be used for interrupts whereas ATPIC will be used whithout ACPI. I guess the problem come from APIC, not ACPI (unless of course the configuration things coming from ACPI is wrong). -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-acpi@FreeBSD.ORG Fri Nov 25 15:56:45 2005 Return-Path: X-Original-To: freebsd-acpi@hub.freebsd.org Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E6E3416A424; Fri, 25 Nov 2005 15:56:45 +0000 (GMT) (envelope-from arved@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3062643D69; Fri, 25 Nov 2005 15:56:09 +0000 (GMT) (envelope-from arved@FreeBSD.org) Received: from freefall.freebsd.org (arved@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id jAPFu9hp091563; Fri, 25 Nov 2005 15:56:09 GMT (envelope-from arved@freefall.freebsd.org) Received: (from arved@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id jAPFu9MX091559; Fri, 25 Nov 2005 15:56:09 GMT (envelope-from arved) Date: Fri, 25 Nov 2005 15:56:09 GMT From: Tilman Linneweh Message-Id: <200511251556.jAPFu9MX091559@freefall.freebsd.org> To: arved@FreeBSD.org, freebsd-i386@FreeBSD.org, freebsd-acpi@FreeBSD.org Cc: Subject: Re: i386/89376: cmbat related ACPI change between 6.0-release and Nov 10th -stable sources is making Dell laptops to hang X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Nov 2005 15:56:46 -0000 Synopsis: cmbat related ACPI change between 6.0-release and Nov 10th -stable sources is making Dell laptops to hang Responsible-Changed-From-To: freebsd-i386->freebsd-acpi Responsible-Changed-By: arved Responsible-Changed-When: Fri Nov 25 15:55:51 GMT 2005 Responsible-Changed-Why: Over to acpi mailinglist http://www.freebsd.org/cgi/query-pr.cgi?pr=89376 From owner-freebsd-acpi@FreeBSD.ORG Fri Nov 25 17:01:04 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AFCA516A41F for ; Fri, 25 Nov 2005 17:01:04 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5677B43D45 for ; Fri, 25 Nov 2005 17:01:02 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (ppp-71-139-30-140.dsl.snfc21.pacbell.net [71.139.30.140]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id jAPH17ZM015154 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 25 Nov 2005 09:01:08 -0800 Message-ID: <43874347.2030204@root.org> Date: Fri, 25 Nov 2005 09:00:55 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Bruno Ducrot References: <19269e540511250555p18355d49u@mail.gmail.com> <20051125142558.GB8628@poupinou.org> In-Reply-To: <20051125142558.GB8628@poupinou.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org, Timm Florian Gloger Subject: Re: System freezes when using ACPI X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Nov 2005 17:01:04 -0000 Bruno Ducrot wrote: > On Fri, Nov 25, 2005 at 02:55:13PM +0100, Timm Florian Gloger wrote: > >>hey list, >> >>i installed a fresh 6.0 stable system on my machine. >> >>when using acpi the system freezes after less than 10 minutes. >>with disabled acpi there is no such problem and the system runs fine. >> >>i am new to freebsd so i dont know all the things which may influence >>the acpi driver to misbehave. >> >>i attached the outputs which are mentioned in the handbook. >> >>the system is: >> >>asus a7n8x deluxe rev 2.0 bios 1008 >>amd athlon xp 3000+ fsb 400 >>1 gb ddr400 ram >>nforce 2 chipset (firewire disabled) >>sapphire radeon 9800 pro >> >>if there are any further information required to get the system work >>properly ... > > > Looks like when you enable ACPI then APIC will be used for > interrupts whereas ATPIC will be used whithout ACPI. > > I guess the problem come from APIC, not ACPI (unless of course the > configuration things coming from ACPI is wrong). If it is the APIC, just set this in /boot/loader.conf: hint.apic.0.disabled="1" -- Nate From owner-freebsd-acpi@FreeBSD.ORG Fri Nov 25 23:00:25 2005 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8AE1C16A43A for ; Fri, 25 Nov 2005 23:00:25 +0000 (GMT) (envelope-from freebsd-stable@club-internet.fr) Received: from relay-bv.club-internet.fr (relay-bv.club-internet.fr [194.158.96.102]) by mx1.FreeBSD.org (Postfix) with ESMTP id B2CF243D66 for ; Fri, 25 Nov 2005 23:00:22 +0000 (GMT) (envelope-from freebsd-stable@club-internet.fr) Received: from [192.168.0.5] (l01v-212-195-165-148.d4.club-internet.fr [212.195.165.148]) by relay-bv.club-internet.fr (Postfix) with ESMTP id AEE1325603; Sat, 26 Nov 2005 00:00:19 +0100 (CET) In-Reply-To: <43860AD3.7090608@root.org> References: <4383C083.6010300@root.org> <4383D58C.5040004@samsco.org> <20051123024911.GA99513@polands.org> <20051123144850.GA1613@polands.org> <74C4FED8-AFD1-4375-A875-438827BECC57@club-internet.fr> <43860AD3.7090608@root.org> Mime-Version: 1.0 (Apple Message framework v746.2) Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: quoted-printable From: Mathieu Prevot Date: Sat, 26 Nov 2005 00:00:36 +0100 To: Nate Lawson X-Mailer: Apple Mail (2.746.2) Cc: acpi@freebsd.org Subject: Re: Build just one module (was Re: [Fwd: cvs commit: X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Nov 2005 23:00:25 -0000 Le 24 nov. 05 =E0 19:47, Nate Lawson a =E9crit : > Mathieu Prevot wrote: >> Le 23 nov. 05 =E0 15:48, Doug Poland a =E9crit : >>> On Wed, Nov 23, 2005 at 11:49:20AM +0100, Mathieu Prevot wrote: >>> >>>> >>>> Le 23 nov. 05 ? 03:49, Doug Poland a ?crit : >>>> >>>>>> Nate Lawson wrote: >>>>>> >>>>>>> Here is a patch that should fix the battery hangs on =20 >>>>>>> RELENG_6. It >>>>>>> was tested to work fine, although I need testing from an =20 >>>>>>> affected >>>>>>> user to verify it fixes the problem. It was committed to =20 >>>>>>> HEAD and >>>>>>> will be MFCed if it fixes the problem. >>>>>>> >>>>> My Dell C600 is affected by this problem. I'm running 6.0-=20 >>>>> STABLE and >>>>> would be glad to test the patch. Since I don't run patches =20 >>>>> often, if >>>>> someone could point me to a doc on how to apply the patch, I'd >>>>> appreciate it. >>>> >>>> You should think man 'subject', Unix for the impatient or google =20= >>>> and >>>> find things like: >>>> >>>> patch -i patchfile filetopatch >>>> patch>>> >>> Thank you, that part is fairly obvious. What I'm unsure of is =20 >>> where in >>> the source tree do I apply that patch from, and, must I to rebuild >>> world, or just the affected part of sys/dev. >> Try and see for the patch. 'patch -i patchfile filetopatch' works =20= >> from anywhere. >> I don't think you need to rebuild world. I think you can just =20 >> build acpi module but I don't know how. >> You may glance at /usr/src/Makefile* ... > > Look at the path in the patch start. If it's "sys/dev", then patch =20= > from your src dir. If it's "src/sys/dev", patch from above the src =20= > dir. If it's just "file.c", then you have to find file.c and patch =20= > from there (but few people generate diffs this way, it's bad form). > > For acpi, then just: > cd /sys/modules/acpi/acpi && make && cp acpi.ko / > > Then at the loader prompt: > load /acpi.ko > > You don't want to use "make install", otherwise you overwrite your =20 > known good acpi.ko Thanks Nate MP= From owner-freebsd-acpi@FreeBSD.ORG Sat Nov 26 16:19:03 2005 Return-Path: X-Original-To: freebsd-acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5353B16A41F for ; Sat, 26 Nov 2005 16:19:03 +0000 (GMT) (envelope-from toasty@dragondata.com) Received: from tokyo01.jp.mail.your.org (tokyo01.jp.mail.your.org [204.9.54.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9112143D66 for ; Sat, 26 Nov 2005 16:18:46 +0000 (GMT) (envelope-from toasty@dragondata.com) Received: from mail.your.org (server3-b.your.org [64.202.113.67]) by tokyo01.jp.mail.your.org (Postfix) with ESMTP id 124EC2AD55D6 for ; Sat, 26 Nov 2005 16:18:42 +0000 (UTC) Received: from [69.31.99.45] (pool045.dhcp.your.org [69.31.99.45]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mail.your.org (Postfix) with ESMTP id 6E81E3D1840 for ; Sat, 26 Nov 2005 10:18:41 -0600 (CST) Mime-Version: 1.0 (Apple Message framework v746.2) Content-Transfer-Encoding: 7bit Message-Id: <5A00483D-8A89-4180-B982-0F9437198200@dragondata.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: freebsd-acpi@FreeBSD.org From: Kevin Day Date: Sat, 26 Nov 2005 10:18:51 -0600 X-Mailer: Apple Mail (2.746.2) Cc: Subject: ACPI hang on 6.0-RELEASE on Compaq Proliant ML530 (866MHz Xeon) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Nov 2005 16:19:03 -0000 Hangs on boot after displaying kernel copyright notice with ACPI enabled. Works fine with ACPI disabled. Server has two CPUs, but hang occurs with or without SMP kernel. acpidump at http://www.dragondata.com/~toasty/toasty-ml530.asl dmesg from working config: Copyright (c) 1992-2005 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 6.0-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 root@x64.samsco.home:/usr/obj/usr/src/sys/GENERIC MPTable: Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel Pentium III Xeon (863.94-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x683 Stepping = 3 Features=0x383fbff real memory = 2147467264 (2047 MB) avail memory = 2096672768 (1999 MB) ioapic0: Changing APIC ID to 8 ioapic0: Assuming intbase of 0 ioapic0 irqs 0-34 on motherboard npx0: [FAST] npx0: on motherboard npx0: INT 16 interface cpu0 on motherboard pcib0: pcibus 0 on motherboard pci0: on pcib0 pci0: at device 3.0 (no driver attached) pci0: at device 5.0 (no driver attached) pci0: at device 8.0 (no driver attached) isab0: at device 15.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x2800-0x280f at device 15.1 on pci0 ata0: on atapci0 ata1: on atapci0 pcib2: pcibus 2 on motherboard pci2: on pcib2 em0: port 0x3000-0x303f mem 0xf7ee0000-0xf7efffff irq 24 at device 6.0 on pci2 em0: Ethernet address: 00:07:e9:13:5c:82 em0: Speed:N/A Duplex:N/A em1: port 0x3040-0x307f mem 0xf7ec0000-0xf7edffff irq 24 at device 6.1 on pci2 em1: Ethernet address: 00:07:e9:13:5c:83 em1: Speed:N/A Duplex:N/A pcib255: pcibus 255 on motherboard pci255: on pcib255 pcib5: pcibus 5 on motherboard pci5: on pcib5 sym0: <896> port 0x4000-0x40ff mem 0xf7fffc00-0xf7ffffff, 0xf7ffc000-0xf7ffdfff irq 22 at device 4.0 on pci5 sym0: No NVRAM, ID 7, Fast-40, LVD, parity checking sym0: [GIANT-LOCKED] sym1: <896> port 0x4400-0x44ff mem 0xf7ffbc00-0xf7ffbfff, 0xf7ff8000-0xf7ff9fff irq 21 at device 4.1 on pci5 sym1: No NVRAM, ID 7, Fast-40, LVD, parity checking sym1: [GIANT-LOCKED] eisa0: on motherboard mainboard0: on eisa0 slot 0 pmtimer0 on isa0 orm0: at iomem 0xc0000-0xc7fff,0xe8000-0xedfff, 0xee000-0xeffff on isa0 atkbdc0: at port 0x60,0x64 on isa0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: [FAST] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 ppc0: at port 0x378-0x37f irq 7 on isa0 ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode ppbus0: on ppc0 plip0: on ppbus0 lpt0: on ppbus0 lpt0: Interrupt-driven port ppi0: on ppbus0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounter "TSC" frequency 863936862 Hz quality 800 Timecounters tick every 1.000 msec acd0: CDROM at ata0-master PIO4 Waiting 5 seconds for SCSI devices to settle da1 at sym0 bus 0 target 2 lun 0 da1: Fixed Direct Access SCSI-2 device da1: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled da1: 8678MB (17773524 512 byte sectors: 255H 63S/T 1106C) da0 at sym0 bus 0 target 0 lun 0 da0: Fixed Direct Access SCSI-2 device da0: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled da0: 17365MB (35565080 512 byte sectors: 255H 63S/T 2213C) da2 at sym0 bus 0 target 3 lun 0 da2: Fixed Direct Access SCSI-2 device da2: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled da2: 17365MB (35565080 512 byte sectors: 255H 63S/T 2213C) da3 at sym0 bus 0 target 4 lun 0 da3: Fixed Direct Access SCSI-2 device da3: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled da3: 8678MB (17773524 512 byte sectors: 255H 63S/T 1106C) da4 at sym0 bus 0 target 5 lun 0 da4: Fixed Direct Access SCSI-2 device da4: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled da4: 8678MB (17773524 512 byte sectors: 255H 63S/T 1106C) Trying to mount root from ufs:/dev/da0s1a em0: link state changed to UP em0: promiscuous mode enabled em0: promiscuous mode disabled em0: promiscuous mode enabled em0: promiscuous mode disabled Let me know if there's any more info I can provide, if anyone is interested in looking at this. From owner-freebsd-acpi@FreeBSD.ORG Sat Nov 26 19:18:36 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EE53F16A41F for ; Sat, 26 Nov 2005 19:18:36 +0000 (GMT) (envelope-from george@m5p.com) Received: from mailhost.m5p.com (209-162-215-52.dq1sn.easystreet.com [209.162.215.52]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7983843D58 for ; Sat, 26 Nov 2005 19:18:36 +0000 (GMT) (envelope-from george@m5p.com) Received: from m5p.com (ssh.m5p.com [IPv6:2001:418:3fd::fb]) by mailhost.m5p.com (8.13.2/8.13.2) with ESMTP id jAQJIZR5092638 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=OK) for ; Sat, 26 Nov 2005 11:18:35 -0800 (PST) Received: (from george@localhost) by m5p.com (8.13.2/8.13.2/Submit) id jAQJIZnL095114; Sat, 26 Nov 2005 11:18:35 -0800 (PST) Date: Sat, 26 Nov 2005 11:18:35 -0800 (PST) Message-Id: <200511261918.jAQJIZnL095114@m5p.com> From: george+freebsd@m5p.com To: freebsd-acpi@freebsd.org X-Scanned-By: MIMEDefang 2.49 on IPv6:2001:418:3fd::f7 Subject: ACPI + FIC VA-503+ = non-working fdc X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Nov 2005 19:18:37 -0000 On a FIC VA-503+ motherboard, ACPI does not play nice with the floppy disk controller. In all versions of 5.x, and now 6.0, it cannot talk to the fdc when ACPI is enabled. In 6.0-RELEASE, the message I get if "No FDOUT register!". It works fine with ACPI disabled, and perhaps I should just stick with that ... Also, in 6.0-RELEASE, enabling ACPI seems to cause the re driver to get watchdog timeouts ... -- George Mitchell From owner-freebsd-acpi@FreeBSD.ORG Sat Nov 26 20:29:31 2005 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A14D16A41F for ; Sat, 26 Nov 2005 20:29:31 +0000 (GMT) (envelope-from kai.u.steuer@googlemail.com) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.200]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9CE5A43D4C for ; Sat, 26 Nov 2005 20:29:30 +0000 (GMT) (envelope-from kai.u.steuer@googlemail.com) Received: by zproxy.gmail.com with SMTP id z31so711124nzd for ; Sat, 26 Nov 2005 12:29:29 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=googlemail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=KC7lpnciWoT9ME0ahE46KJp9IQ3drA623FQsbh/PSjNptCmX40LSPf/kqLInUjCvs0EPbPoEtT7RUAItcEe+51wlRegXZgBw2Qt9uXcWni0bQldn84BWoid6N2lw81qtzkiriY/Y47cYJIPicNcN5I/TxNCTFDSbn/Z0JRH8ePk= Received: by 10.65.234.16 with SMTP id l16mr9644696qbr; Sat, 26 Nov 2005 12:29:29 -0800 (PST) Received: by 10.65.242.11 with HTTP; Sat, 26 Nov 2005 12:29:29 -0800 (PST) Message-ID: Date: Sat, 26 Nov 2005 21:29:29 +0100 From: Steuer Kai Uwe To: freebsd-acpi@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline Subject: FreeBSD 6.0 DELL Latitude D800 ACPI Problems X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Nov 2005 20:29:31 -0000 SGVsbG8gRnJlZUJTRCBVc2VycywKCkkgaGF2ZSBpbnN0YWxsZWQgRnJlZUJTRCA2LjAgb24gbXkg REVMTCBMYXRpdHVkZSBEODAwIGFuZCBhbHNvIHdlbGwKY29uZmlndXJlZCBteSBLZXJuZWwsIGJ1 dCBteSBpbnRlcm5hbCBMYXB0b3AgY29vbGVyIHJ1bnMgYWx3YXlzIGFuZApibG93cyBjb2xkIGFp ciBvdXQuIFRoZSBzcGVlZCBzdGVwcGluZyB3b3JrcyB3ZWxsLCBidXQgb25seSB0aGUgY29vbGVy CmRvbid0IHN0b3BzLiAgU28gbm93IG15IHF1ZXN0aW9uIGlzIGtub3dzIHNvbWVib2R5IHRoaXMg cHJvYmxlbT8gSQpjb3VsZCBpbWFnaW5lIHRoYXQgbXkgTGFwdG9wIG5lZWRzIGEgc3BlY2lhbCBB Q1BJIGRyaXZlciBmcm9tIERFTEwsCmJ1dCBtYXliZSBzb21lYm9keSBoYXMgYSBzaW1pbGFyIHBy b2JsZW0gYW5kIGtub3dzIHRoZSBzb2x1dGlvbi4KCktpbmQgcmVnYXJkcywKS2FpLVV3ZQo=