From owner-freebsd-mobile@FreeBSD.ORG Sun Aug 29 00:30:58 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 086DA16A4CE for ; Sun, 29 Aug 2004 00:30:58 +0000 (GMT) Received: from sage.thought.org (dsl231-043-140.sea1.dsl.speakeasy.net [216.231.43.140]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8510E43D69 for ; Sun, 29 Aug 2004 00:30:57 +0000 (GMT) (envelope-from kline@tao.thought.org) Received: from thought.org (tao [10.0.0.247]) by sage.thought.org (8.12.10/8.12.10) with ESMTP id i7T0Ut98085167 for ; Sat, 28 Aug 2004 17:30:56 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: from tao.thought.org (localhost [127.0.0.1]) by thought.org (8.12.11/8.12.11) with ESMTP id i7T0UsOp091330 for ; Sat, 28 Aug 2004 17:30:54 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: (from kline@localhost) by tao.thought.org (8.12.11/8.12.11/Submit) id i7T0UsCp091329 for freebsd-mobile@FreeBSD.ORG; Sat, 28 Aug 2004 17:30:54 -0700 (PDT) (envelope-from kline) Date: Sat, 28 Aug 2004 17:30:53 -0700 From: Gary Kline To: FreeBSD Mobile Mailing List Message-ID: <20040829003053.GA91309@thought.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Organization: Thought Unlimited. Public service Unix since 1986. X-Of_Interest: Observing 18 years of service to the Unix community User-Agent: Mutt/1.5.6i Subject: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2004 00:30:58 -0000 So far, it looks as tho my battery runs more than two hours on my old TP. But I'd like to have a gauge of some kind. When I try to install any of the battery apps I error out with "/dev/apm" notfound. Ihave "^device apm" compiled into the kernel. RH Linux finds the power-off device on one of the 1998 Kayaks. Didn't IBM have this on their hardware about the same time? thanks, gary -- Gary Kline kline@thought.org www.thought.org Public service Unix From owner-freebsd-mobile@FreeBSD.ORG Sun Aug 29 06:52:48 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9647116A4CE for ; Sun, 29 Aug 2004 06:52:48 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 319AC43D2D for ; Sun, 29 Aug 2004 06:52:48 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.11/8.12.11) with ESMTP id i7T6pQtL034599; Sun, 29 Aug 2004 00:51:26 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sun, 29 Aug 2004 00:51:30 -0600 (MDT) Message-Id: <20040829.005130.68883461.imp@bsdimp.com> To: nigma@hot.ee From: "M. Warner Losh" In-Reply-To: <20040826190510.1B07118742@portal.hot.ee> References: <20040826190510.1B07118742@portal.hot.ee> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-mobile@freebsd.org Subject: Re: question X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2004 06:52:48 -0000 In message: <20040826190510.1B07118742@portal.hot.ee> APTEMKA writes: : Hello, where can I get information about installing Prism3 Wirless cards on FreeBSD? Are they supported? Is it possible to get drivers somewhere? Usually wi just works, and is part of the base installation. Warner From owner-freebsd-mobile@FreeBSD.ORG Sun Aug 29 16:06:05 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CC6BF16A4CE for ; Sun, 29 Aug 2004 16:06:05 +0000 (GMT) Received: from smtp811.mail.sc5.yahoo.com (smtp811.mail.sc5.yahoo.com [66.163.170.81]) by mx1.FreeBSD.org (Postfix) with SMTP id 9797243D49 for ; Sun, 29 Aug 2004 16:06:05 +0000 (GMT) (envelope-from fscked@pacbell.net) Received: from unknown (HELO pacbell.net) (fscked@pacbell.net@66.124.235.4 with plain) by smtp811.mail.sc5.yahoo.com with SMTP; 29 Aug 2004 16:06:05 -0000 Message-ID: <4131FE5F.4030407@pacbell.net> Date: Sun, 29 Aug 2004 09:03:43 -0700 From: richard childers / kg6hac Organization: Daemonized Networking Services - http://www.daemonized.com User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Gary Kline References: <20040829003053.GA91309@thought.org> In-Reply-To: <20040829003053.GA91309@thought.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: FreeBSD Mobile Mailing List Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: fscked@pacbell.net List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2004 16:06:05 -0000 > Gary Kline wrote: > > So far, it looks as tho my battery runs more than two hours on > my old TP. But I'd like to have a gauge of some kind. When I > try to install any of the battery apps I error out with > "/dev/apm" notfound. Ihave "^device apm" compiled into the > kernel. RH Linux finds the power-off device on one of the > 1998 Kayaks. Didn't IBM have this on their hardware about the > same time? > > I see several questions here. [1] /dev/apm missing. I would grep for 'apm' in /dev/MAKEDEV and see if it exists, if it does, use MAKEDEV to recreate it. > www# grep apm /dev/MAKEDEV > # apm Advanced Power Management BIOS > # apmctl APM BIOS control device > sh MAKEDEV apm apmctl card0 card1 card2 card3 # cdev, laptop > sh MAKEDEV apm apmctl card0 # cdev, laptop > apm) > mknod apm c 39 0 root:operator > chmod 664 apm > apmctl) > mknod apmctl c 39 8 root:operator > chmod 660 apmctl [2] "^device apm" in kernel. Off the top of my head I don't have this memorized, but note that GENERIC and LINT kernels should be rich with examples. > www# grep apm /usr/src/sys/i386/conf/[GL]* > /usr/src/sys/i386/conf/GENERIC:device apm0 at nexus? > disable flags 0x20 # Advanced Power Management > /usr/src/sys/i386/conf/LINT:# apm: Laptop Advanced Power Management > (experimental) > /usr/src/sys/i386/conf/LINT:# The flags takes the following meaning > for apm0: > /usr/src/sys/i386/conf/LINT:# If apm is omitted, some systems require > sysctl -w kern.timecounter.method=1 > /usr/src/sys/i386/conf/LINT:device apm0 > /usr/src/sys/i386/conf/LINT:# apm under `Miscellaneous hardware' > /usr/src/sys/i386/conf/LINT:# viapm VIA VT82C586B,596,686A > and VT8233 SMBus controllers > /usr/src/sys/i386/conf/LINT:device viapm You may also want to read the man pages on apm ... > www# man -k apm > apm(4) - APM BIOS interface > apm(8), zzz(8) - control the APM BIOS and display its > information > apmd(8) - Advanced Power Management monitor daemon > def_prog_mode(3), def_shell_mode(3), reset_prog_mode(3), > reset_shell_mode(3), re > setty(3), savetty(3), getsyx(3), setsyx(3), ripoffline(3), > curs_set(3), napms(3) > - low-level curses routines > viapm(4) - VIA chipsets Power Management controller driver From my own, separate training in the legal field, I know how important it is to search using synonyms, to make sure one gets all relevant citations. Other keywords to search for, besides "apm", might be "advanced", "power", "manage", "bios", etc. [3] power-off devices. You did not mention which version of FreeBSD; the examples I have cited are from a FreeBSD 4.n server. In general, this area is rapidly evolving as programmers get a better understanding of the [proprietary, closed-source, must-be-painfully-but-legally-reverse-engineered] BIOS calls; if this hurts, you need to address the vendors, not the programmers. [4] If I recall correctly there may also be an option that needs to be enabled in /etc/rc.conf if you want apmd to fire up. Regards, -- richard -- Richard Childers / Senior Engineer Daemonized Networking Services 945 Taraval Street, #105 San Francisco, CA 94116 USA [011.]1.415.759.5571 http://www.daemonized.com 'A well-schooled electorate, being necessary to the security of a free State, the right of the people to keep and read Books, shall not be infringed.' -- (Attributed to J. Neil Shulman) -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.4 (FreeBSD) mQGiBECGpfsRBACoPJJfIIrWAqjlW92TtYCtY//e7OW8alWylr/1ygtSQzjCCdvC Ysa0fCcx01UenlWV+5YY/zC7KPsX2rQUKAs20fqs9et74dmgMGOj0vMjTzWEs29G FyAsIRSpFioa8zzrjXEUVnU6OFaD9a9eaC+LSTCiKgXjbQySDKM5T1c+vwCg8W3Y RZ83LRIUULGMPlY6zS4fQwUEAIIiTHDdWpbE+HeREJwH+4eDpGVf76XtNlOMXrt9 tJ3ExL+9ezLulg1nCrOYodOB7TEZqzV40R7emDZSX0hI9QEBCv6nW5aDVpw/bf+q UEHwxrUvE2LBi35hoqR2QwqNlagOauSorWj8Qm/31luxJVeLVy1A1czp6B/mvG1T co03A/9a5kzEAebJ5TzWXQC2/4gu/osXQnrw9B9FFpYOtLc0MNQuAFt8VLn5yO5Q 8T58w+FQvFI5FqzI5URmjQeEyWWuyIechknk4RnwIO1UPVjgRTuNgf9/TvNNfqpa aVlbNp+AG21D6VqsFN2zJFFJeUqiYdXw6i+ESL3SZRymIhwYWrQ8UmljaGFyZCBB IENoaWxkZXJzICh3d3cuZGFlbW9uaXplZC5jb20pIDxmc2NrZWRAcGFjYmVsbC5u ZXQ+iF4EExECAB4FAkCGpfsCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQjGqW TlNTP66KzQCgjf0SQbiK1rgu7hRsmLPSSaGF7X8AoL7Qw/E9kTZr0fntP0XXEnk/ q6nRuQINBECGpvkQCADFzFq+kYbk+KTIhcVBTjTWDbBnjGgmuGR3LGp9hOd6W9SJ i4GD5184ZnMbEgvDZcDEGDNgMcU+f1girwYI2v/o7QA7VQ5bpUbnfOBytzO+bvd7 uCOyJltg8AG5MFLxfhAMHofpNxGlFTEXdVp4M9xyBB+hdLHbJNJqkMGPf+iCUf1W Q86KncU2AK4Sf9I+WYBZwkjaIhi9dQzeEX1c0Um6LxXSBtkjZprIk1M13gVaIJ6E dDN6hrSMbXZL+7yURw38vHXCtRJAKEOyW178rI8MzJzvVNhobvC62uEWD9Idz8sH 5A06fqb2fKJYLQ1keGUpb/qpny7oTmAe0Hx9jOM7AAMGCACdTe1M4U++/7/OVGip 1gnWEtMhHeQQbS7KPh1w8/1kvs5Mml6uGYQI44lKTDP7OHJQ9hIT/+5tfKPHIPhU M/7Mqa8y81c/AK+WUOyY9+uZ0zUxFGMqeU9z5iqJFWSi9QR/f5q/khfmqi5RFVyQ nnVhxBMB8pY1vZHV1CoL7NLK4c/N8mpwCiZ57LTsP8pLfDMWF/OopmM2ulzlfWTr anAdxQohenq/zTgSySX/VGZYSYvyAoXTRuU4USAVGWcUQPnVooA1N7lZP3pawjNP QMSukx9jI1673BPsPXxyQZ1PmmPt9eHKI0G0hNJG+FCmSRLNT/R7hqTzTUmpgMWM yyWPiEkEGBECAAkFAkCGpvkCGwwACgkQjGqWTlNTP642KACeITHq0b42P3oMX7Nj F5U3EaqCgYoAn3HxUB7ELB6vMUugW4aSmZpBJOR6 =ZaJO -----END PGP PUBLIC KEY BLOCK----- From owner-freebsd-mobile@FreeBSD.ORG Sun Aug 29 18:39:33 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CBCDA16A4CE for ; Sun, 29 Aug 2004 18:39:33 +0000 (GMT) Received: from sage.thought.org (dsl231-043-140.sea1.dsl.speakeasy.net [216.231.43.140]) by mx1.FreeBSD.org (Postfix) with ESMTP id F101243D41 for ; Sun, 29 Aug 2004 18:39:32 +0000 (GMT) (envelope-from kline@tao.thought.org) Received: from thought.org (tao [10.0.0.247]) by sage.thought.org (8.12.10/8.12.10) with ESMTP id i7TIdV98086951; Sun, 29 Aug 2004 11:39:32 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: from tao.thought.org (localhost [127.0.0.1]) by thought.org (8.12.11/8.12.11) with ESMTP id i7TIdT70081619; Sun, 29 Aug 2004 11:39:30 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: (from kline@localhost) by tao.thought.org (8.12.11/8.12.11/Submit) id i7TIdSc2081618; Sun, 29 Aug 2004 11:39:28 -0700 (PDT) (envelope-from kline) Date: Sun, 29 Aug 2004 11:39:28 -0700 From: Gary Kline To: richard childers / kg6hac Message-ID: <20040829183928.GA81484@thought.org> References: <20040829003053.GA91309@thought.org> <4131FE5F.4030407@pacbell.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4131FE5F.4030407@pacbell.net> X-Organization: Thought Unlimited. Public service Unix since 1986. X-Of_Interest: Observing 18 years of service to the Unix community User-Agent: Mutt/1.5.6i cc: Gary Kline cc: FreeBSD Mobile Mailing List Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2004 18:39:33 -0000 On Sun, Aug 29, 2004 at 09:03:43AM -0700, richard childers / kg6hac wrote: > >Gary Kline wrote: > > > > So far, it looks as tho my battery runs more than two hours on > > my old TP. But I'd like to have a gauge of some kind. When I > > try to install any of the battery apps I error out with > > "/dev/apm" notfound. Ihave "^device apm" compiled into the > > kernel. RH Linux finds the power-off device on one of the > > 1998 Kayaks. Didn't IBM have this on their hardware about the > > same time? > > > > > > > I see several questions here. > > [1] /dev/apm missing. I would grep for 'apm' in /dev/MAKEDEV and see > if it exists, if it does, use MAKEDEV to recreate it. > Sorry; I negected to mention that I'm running 5-CURRENT. No /dev/MAKEDEV. I get an ENOENT blurb when I boot regarding a missing /dev/apm. And trying something like % apm -b yields the same error. P > >www# grep apm /dev/MAKEDEV > ># apm Advanced Power Management BIOS > ># apmctl APM BIOS control device > > sh MAKEDEV apm apmctl card0 card1 card2 card3 # cdev, laptop > > sh MAKEDEV apm apmctl card0 # cdev, laptop > >apm) > > mknod apm c 39 0 root:operator > > chmod 664 apm > >apmctl) > > mknod apmctl c 39 8 root:operator > > chmod 660 apmctl > > > > [2] "^device apm" in kernel. Off the top of my head I don't have this > memorized, but note that GENERIC and LINT kernels should be rich with > examples. > > >www# grep apm /usr/src/sys/i386/conf/[GL]* > >/usr/src/sys/i386/conf/GENERIC:device apm0 at nexus? > >disable flags 0x20 # Advanced Power Management > >/usr/src/sys/i386/conf/LINT:# apm: Laptop Advanced Power Management > >(experimental) > >/usr/src/sys/i386/conf/LINT:# The flags takes the following meaning > >for apm0: > >/usr/src/sys/i386/conf/LINT:# If apm is omitted, some systems require > >sysctl -w kern.timecounter.method=1 > >/usr/src/sys/i386/conf/LINT:device apm0 > >/usr/src/sys/i386/conf/LINT:# apm under `Miscellaneous hardware' > >/usr/src/sys/i386/conf/LINT:# viapm VIA VT82C586B,596,686A > >and VT8233 SMBus controllers > >/usr/src/sys/i386/conf/LINT:device viapm > > > You may also want to read the man pages on apm ... > > >www# man -k apm > >apm(4) - APM BIOS interface > >apm(8), zzz(8) - control the APM BIOS and display its > >information > >apmd(8) - Advanced Power Management monitor daemon > >def_prog_mode(3), def_shell_mode(3), reset_prog_mode(3), > >reset_shell_mode(3), re > >setty(3), savetty(3), getsyx(3), setsyx(3), ripoffline(3), > >curs_set(3), napms(3) > > - low-level curses routines > >viapm(4) - VIA chipsets Power Management controller driver > > > From my own, separate training in the legal field, I know how important > it is to search using synonyms, to make sure one gets all relevant > citations. Other keywords to search for, besides "apm", might be > "advanced", "power", "manage", "bios", etc. > > [3] power-off devices. You did not mention which version of FreeBSD; > the examples I have cited are from a FreeBSD 4.n server. In general, > this area is rapidly evolving as programmers get a better understanding > of the [proprietary, closed-source, > must-be-painfully-but-legally-reverse-engineered] BIOS calls; if this > hurts, you need to address the vendors, not the programmers. > > > [4] If I recall correctly there may also be an option that needs to be > enabled in /etc/rc.conf if you want apmd to fire up. > Right, but on V5, apmd is essentially a no-op. I tried using mknod to [re-]create /dev/apm; nada. In /sys/i386/conf/NOTES apm is said to be experimental. Maybe the kernel wizards will have this r-engineered in 5.3 or following. thanks for your data points, gary -- Gary Kline kline@thought.org www.thought.org Public service Unix From owner-freebsd-mobile@FreeBSD.ORG Sun Aug 29 19:45:39 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4A76916A4CE for ; Sun, 29 Aug 2004 19:45:39 +0000 (GMT) Received: from postal1.es.net (postal1.es.net [198.128.3.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id 36C6343D4C for ; Sun, 29 Aug 2004 19:45:39 +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; Sun, 29 Aug 2004 12:45:38 -0700 Received: from ptavv (localhost [127.0.0.1]) by ptavv.es.net (Tachyon Server) with ESMTP id B2DAC5D04; Sun, 29 Aug 2004 12:45:38 -0700 (PDT) To: Gary Kline In-reply-to: Your message of "Sat, 28 Aug 2004 17:30:53 PDT." <20040829003053.GA91309@thought.org> Date: Sun, 29 Aug 2004 12:45:38 -0700 From: "Kevin Oberman" Message-Id: <20040829194538.B2DAC5D04@ptavv.es.net> cc: FreeBSD Mobile Mailing List Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2004 19:45:39 -0000 > Date: Sat, 28 Aug 2004 17:30:53 -0700 > From: Gary Kline > Sender: owner-freebsd-mobile@freebsd.org > > > So far, it looks as tho my battery runs more than two hours on > my old TP. But I'd like to have a gauge of some kind. When I > try to install any of the battery apps I error out with > "/dev/apm" notfound. Ihave "^device apm" compiled into the > kernel. RH Linux finds the power-off device on one of the > 1998 Kayaks. Didn't IBM have this on their hardware about the > same time? Is apm enabled? You need to have both apm_enable and apmd_enable set to "YES" in your rc.conf. The battery gauges I use are the Gnome battery applet and the gkrellm battery gauge and both work fine on my 600E. -- 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-mobile@FreeBSD.ORG Sun Aug 29 20:03:28 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1144A16A4CE for ; Sun, 29 Aug 2004 20:03:28 +0000 (GMT) Received: from sage.thought.org (dsl231-043-140.sea1.dsl.speakeasy.net [216.231.43.140]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8722743D2F for ; Sun, 29 Aug 2004 20:03:27 +0000 (GMT) (envelope-from kline@tao.thought.org) Received: from thought.org (tao [10.0.0.247]) by sage.thought.org (8.12.10/8.12.10) with ESMTP id i7TK3N98087108; Sun, 29 Aug 2004 13:03:24 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: from tao.thought.org (localhost [127.0.0.1]) by thought.org (8.12.11/8.12.11) with ESMTP id i7TK3LfK081892; Sun, 29 Aug 2004 13:03:21 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: (from kline@localhost) by tao.thought.org (8.12.11/8.12.11/Submit) id i7TK3Kr8081891; Sun, 29 Aug 2004 13:03:20 -0700 (PDT) (envelope-from kline) Date: Sun, 29 Aug 2004 13:03:19 -0700 From: Gary Kline To: Kevin Oberman Message-ID: <20040829200319.GB81746@thought.org> References: <20040829003053.GA91309@thought.org> <20040829194538.B2DAC5D04@ptavv.es.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040829194538.B2DAC5D04@ptavv.es.net> X-Organization: Thought Unlimited. Public service Unix since 1986. X-Of_Interest: Observing 18 years of service to the Unix community User-Agent: Mutt/1.5.6i cc: Gary Kline cc: FreeBSD Mobile Mailing List Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2004 20:03:28 -0000 On Sun, Aug 29, 2004 at 12:45:38PM -0700, Kevin Oberman wrote: > > Date: Sat, 28 Aug 2004 17:30:53 -0700 > > From: Gary Kline > > Sender: owner-freebsd-mobile@freebsd.org > > > > > > So far, it looks as tho my battery runs more than two hours on > > my old TP. But I'd like to have a gauge of some kind. When I > > try to install any of the battery apps I error out with > > "/dev/apm" notfound. Ihave "^device apm" compiled into the > > kernel. RH Linux finds the power-off device on one of the > > 1998 Kayaks. Didn't IBM have this on their hardware about the > > same time? > > Is apm enabled? You need to have both apm_enable and apmd_enable set to > "YES" in your rc.conf. > > The battery gauges I use are the Gnome battery applet and the gkrellm > battery gauge and both work fine on my 600E. I have apm_enable=YES; will set the daemon=yes and reboot. Does this create /dev/apm? I'm not clear on how the new /dev work on V5. thankee, gary -- Gary Kline kline@thought.org www.thought.org Public service Unix From owner-freebsd-mobile@FreeBSD.ORG Sun Aug 29 23:11:56 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6B77516A4CE for ; Sun, 29 Aug 2004 23:11:56 +0000 (GMT) Received: from postal3.es.net (postal3.es.net [198.128.3.207]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3889943D2D for ; Sun, 29 Aug 2004 23:11:56 +0000 (GMT) (envelope-from oberman@es.net) Received: from ptavv.es.net ([198.128.4.29]) by postal3.es.net (Postal Node 3) with ESMTP (SSL) id IBA74465; Sun, 29 Aug 2004 16:11:55 -0700 Received: from ptavv (localhost [127.0.0.1]) by ptavv.es.net (Tachyon Server) with ESMTP id A4C385D04; Sun, 29 Aug 2004 16:11:55 -0700 (PDT) X-Mailer: exmh version 2.7.0 06/18/2004 with nmh-1.0.4 To: Gary Kline In-reply-to: Your message of "Sun, 29 Aug 2004 13:03:19 PDT." <20040829200319.GB81746@thought.org> Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_-2865111550" Date: Sun, 29 Aug 2004 16:11:55 -0700 From: "Kevin Oberman" Message-Id: <20040829231155.A4C385D04@ptavv.es.net> cc: FreeBSD Mobile Mailing List Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Aug 2004 23:11:56 -0000 This is a multipart MIME message. --==_Exmh_-2865111550 Content-Type: text/plain; charset=us-ascii > Date: Sun, 29 Aug 2004 13:03:19 -0700 > From: Gary Kline > > On Sun, Aug 29, 2004 at 12:45:38PM -0700, Kevin Oberman wrote: > > > Date: Sat, 28 Aug 2004 17:30:53 -0700 > > > From: Gary Kline > > > Sender: owner-freebsd-mobile@freebsd.org > > > > > > > > > So far, it looks as tho my battery runs more than two hours on > > > my old TP. But I'd like to have a gauge of some kind. When I > > > try to install any of the battery apps I error out with > > > "/dev/apm" notfound. Ihave "^device apm" compiled into the > > > kernel. RH Linux finds the power-off device on one of the > > > 1998 Kayaks. Didn't IBM have this on their hardware about the > > > same time? > > > > Is apm enabled? You need to have both apm_enable and apmd_enable set to > > "YES" in your rc.conf. > > > > The battery gauges I use are the Gnome battery applet and the gkrellm > > battery gauge and both work fine on my 600E. > > > I have apm_enable=YES; will set the daemon=yes and reboot. > Does this create /dev/apm? I'm not clear on how the new > /dev work on V5. In V5, /dev is no longer simply a directory on a normal FFS file system containing some rather odd entries that describe device access. This has been replaced by devfs, a special file system for devices which is mounted on the normal file system, usually at root (/). Instead of creating static entries with mknod, devfs creates entries "on the fly" from call made by the device driver. Devices are not created until the driver actually probes and finds the device and are destroyed when the device is removed (for removable devices). This was needed to support USB, Firewire and similar devices which are dynamically added and removed from the system. I might also mention that you need to use /etc/devfs.conf to customize thing like device protections and symlinks (such as /dev/dvd). devfs is primarily for setting up devices for jails, but it is also the best way to handle simpler customizations. I will attach my /etc/devfs.conf file as a rather trivial example. Note that you need the lines: apm_enable="YES" apmd_enable="YES" in /etc/rc.conf. The quotation marks are required! Also, is APM being probed at boot time? You should see something like: apm0: on motherboard apm0: found APM BIOS v1.2, connected at v1.2 very early in the boot. I don't build APM into the kernel but add: apm_load="YES" to /boot/loader.conf, but it should be fine in the kernel. Make sure that ACPI is disabled and apm enabled in /boot/device.hints. hint.apm.0.disabled="0" hint.acpi.0.disabled="1" hint.apm.0.flags="0x20" If ACPI starts up, APM won't. These hints entries take care of both issues. -- 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 --==_Exmh_-2865111550 Content-Type: text/plain ; name="devfs.conf"; charset=us-ascii Content-Description: devfs.conf Content-Disposition: attachment; filename="devfs.conf" # Copyright (c) 2003 The FreeBSD Project # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # $FreeBSD: src/etc/devfs.conf,v 1.2 2004/06/06 11:46:27 schweikh Exp $ # These are examples of how to configure devices using /etc/rc.d/devfs. # The first parameter is always the action to take, the second is always the # existing device created by devfs, and the last is what you want to change. # The name of the action is only significant to the first unique character. # # Examples: # Historically X depended on this, but version 4.3.0 doesn't seem to anymore #link ttyv0 vga # Commonly used by many ports link cd0 cdrom link cd0 dvd link ttyd0 pilot perm cd0 0666 perm acd0 0666 perm pass0 0666 perm ttyd0 0666 # Allow a user in the wheel group to query the smb0 device perm smb0 0660 # Allow members of group operator to cat things to the speaker own speaker root:operator perm speaker 0666 --==_Exmh_-2865111550-- From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 00:40:48 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EE5D116A4CF for ; Mon, 30 Aug 2004 00:40:47 +0000 (GMT) Received: from sage.thought.org (dsl231-043-140.sea1.dsl.speakeasy.net [216.231.43.140]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3AEB643D2D for ; Mon, 30 Aug 2004 00:40:47 +0000 (GMT) (envelope-from kline@tao.thought.org) Received: from thought.org (tao [10.0.0.247]) by sage.thought.org (8.12.10/8.12.10) with ESMTP id i7U0ef98087444; Sun, 29 Aug 2004 17:40:43 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: from tao.thought.org (localhost [127.0.0.1]) by thought.org (8.12.11/8.12.11) with ESMTP id i7U0edqJ085657; Sun, 29 Aug 2004 17:40:39 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: (from kline@localhost) by tao.thought.org (8.12.11/8.12.11/Submit) id i7U0ec7V085656; Sun, 29 Aug 2004 17:40:38 -0700 (PDT) (envelope-from kline) Date: Sun, 29 Aug 2004 17:40:37 -0700 From: Gary Kline To: Kevin Oberman Message-ID: <20040830004037.GB83747@thought.org> References: <20040829200319.GB81746@thought.org> <20040829231155.A4C385D04@ptavv.es.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040829231155.A4C385D04@ptavv.es.net> X-Organization: Thought Unlimited. Public service Unix since 1986. X-Of_Interest: Observing 18 years of service to the Unix community User-Agent: Mutt/1.5.6i cc: Gary Kline cc: FreeBSD Mobile Mailing List Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 00:40:48 -0000 On Sun, Aug 29, 2004 at 04:11:55PM -0700, Kevin Oberman wrote: > > Date: Sun, 29 Aug 2004 13:03:19 -0700 > > From: Gary Kline > > > > On Sun, Aug 29, 2004 at 12:45:38PM -0700, Kevin Oberman wrote: > > > > Date: Sat, 28 Aug 2004 17:30:53 -0700 > > > > > > I have apm_enable=YES; will set the daemon=yes and reboot. > > Does this create /dev/apm? I'm not clear on how the new > > /dev work on V5. > > In V5, /dev is no longer simply a directory on a normal FFS file system > containing some rather odd entries that describe device access. This has > been replaced by devfs, a special file system for devices which is > mounted on the normal file system, usually at root (/). > > Instead of creating static entries with mknod, devfs creates entries > "on the fly" from call made by the device driver. Devices are not > created until the driver actually probes and finds the device and are > destroyed when the device is removed (for removable devices). This was > needed to support USB, Firewire and similar devices which are dynamically > added and removed from the system. > Did the old, static entries drain too many resources? Or was it simply harder to implement USB and other devs statically? (Eventually I'll read the code!) > I might also mention that you need to use /etc/devfs.conf to customize > thing like device protections and symlinks (such as /dev/dvd). devfs is > primarily for setting up devices for jails, but it is also the best way > to handle simpler customizations. I will attach my /etc/devfs.conf file > as a rather trivial example. > > Note that you need the lines: > apm_enable="YES" > apmd_enable="YES" > in /etc/rc.conf. The quotation marks are required! The "YES"s are quoted. Looking at /etc/devfs.conf brings to mind a question about why "say" (audio/rsynth) isn't working with the speakers. Do I need to add some lines to devfs.conf? > > Also, is APM being probed at boot time? You should see something like: > apm0: on motherboard > apm0: found APM BIOS v1.2, connected at v1.2 > very early in the boot. I don't build APM into the kernel but add: > apm_load="YES" > to /boot/loader.conf, but it should be fine in the kernel. The only 'BIOS'-related probe I see involves the PCI->PCI bridge. When the system boots I get complaints about a missing /dev/apm; and an expected string about apmd. > > Make sure that ACPI is disabled and apm enabled in /boot/device.hints. > hint.apm.0.disabled="0" > hint.acpi.0.disabled="1" > hint.apm.0.flags="0x20" > > If ACPI starts up, APM won't. These hints entries take care of both > issues. Ah, the acpi.0.disabled was set to false. This was probably the culprit. I just set it to "1". [ ... ] > > # These are examples of how to configure devices using /etc/rc.d/devfs. > # The first parameter is always the action to take, the second is always the > # existing device created by devfs, and the last is what you want to change. > # The name of the action is only significant to the first unique character. > # > # Examples: > > # Historically X depended on this, but version 4.3.0 doesn't seem to anymore > #link ttyv0 vga > > # Commonly used by many ports > link cd0 cdrom > link cd0 dvd > link ttyd0 pilot > perm cd0 0666 > perm acd0 0666 > perm pass0 0666 > perm ttyd0 0666 > > # Allow a user in the wheel group to query the smb0 device > perm smb0 0660 > > # Allow members of group operator to cat things to the speaker > own speaker root:operator > perm speaker 0666 > This is getting interestinger and interestinger. Why do you have the last two lines uncommented? thanks much, gary -- Gary Kline kline@thought.org www.thought.org Public service Unix From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 06:34:07 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9513B16A4CE for ; Mon, 30 Aug 2004 06:34:07 +0000 (GMT) Received: from gaia.nimnet.asn.au (nimbin.lnk.telstra.net [139.130.45.143]) by mx1.FreeBSD.org (Postfix) with ESMTP id DA7E943D58 for ; Mon, 30 Aug 2004 06:34:04 +0000 (GMT) (envelope-from smithi@nimnet.asn.au) Received: from localhost (smithi@localhost) by gaia.nimnet.asn.au (8.8.8/8.8.8R1.4) with SMTP id QAA05329; Mon, 30 Aug 2004 16:33:18 +1000 (EST) (envelope-from smithi@nimnet.asn.au) Date: Mon, 30 Aug 2004 16:33:17 +1000 (EST) From: Ian Smith To: Gary Kline In-Reply-To: <20040830004037.GB83747@thought.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: FreeBSD Mobile Mailing List Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 06:34:07 -0000 On Sun, 29 Aug 2004, Gary Kline wrote: > On Sun, Aug 29, 2004 at 04:11:55PM -0700, Kevin Oberman wrote: [..] > > Also, is APM being probed at boot time? You should see something like: > > apm0: on motherboard > > apm0: found APM BIOS v1.2, connected at v1.2 > > very early in the boot. I don't build APM into the kernel but add: > > apm_load="YES" > > to /boot/loader.conf, but it should be fine in the kernel. > > The only 'BIOS'-related probe I see involves the PCI->PCI > bridge. When the system boots I get complaints about a > missing /dev/apm; and an expected string about apmd. Just a thought - is APM enabled (or able to be disabled) in the BIOS? > > Make sure that ACPI is disabled and apm enabled in /boot/device.hints. > > hint.apm.0.disabled="0" > > hint.acpi.0.disabled="1" > > hint.apm.0.flags="0x20" > > > > If ACPI starts up, APM won't. These hints entries take care of both > > issues. > > > Ah, the acpi.0.disabled was set to false. This was > probably the culprit. I just set it to "1". Hopefully that will fix it. APM works fine on my Compaq Armada 1500c (on 4.5-R) as long as APCI is switched off in BIOS. As an aside, I tried mailing you off-list about this yesterday, and got: ----- Transcript of session follows ----- ... while talking to ns1.thought.org.: >>> MAIL From: SIZE=1204 <<< 550 5.0.0 ... No SPAM 554 ... Service unavailable .. so I guess your spam filter is maybe targetting .au ? Sorry to mention this on-list, but you probably wouldn't see it otherwise. Cheers, Ian From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 08:25:31 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F40E516A4CE for ; Mon, 30 Aug 2004 08:25:30 +0000 (GMT) Received: from vbook.fbsd.ru (asplinux.ru [195.133.213.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B43943D53 for ; Mon, 30 Aug 2004 08:25:30 +0000 (GMT) (envelope-from vova@vbook.fbsd.ru) Received: from vova by vbook.fbsd.ru with local (Exim 4.42 (FreeBSD)) id 1C1hTk-0001Wr-1d for mobile@freebsd.org; Mon, 30 Aug 2004 12:25:28 +0400 From: Vladimir Grebenschikov To: mobile@freebsd.org In-Reply-To: <1092669312.923.53.camel@localhost> References: <1092669312.923.53.camel@localhost> Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable Organization: SWsoft Date: Mon, 30 Aug 2004 12:25:27 +0400 Message-Id: <1093854327.864.38.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 1.5.93FreeBSD GNOME Team Port Sender: Vladimir Grebenschikov Subject: Re: SONY VAIO PCG-Z1AW - any reports ? - success X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: vova@fbsd.ru List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 08:25:31 -0000 On Mon, 2004-08-16 at 15:15 +0000, Vladimir Grebenschikov wrote: > Hi >=20 > Anybody can share recent experience of running FreeBSD 5.x on VAIO > Z1AW ? >=20 > What works and what does not work ? Ok, I have tried it, basically all is work, details below I have installed 5.3-BETA1 from CD and then upgraded to latest 6-CURRENT > boot no problems with CD boot, does not even try floppy. > cdrw/dvd no problems with both DVD an CD # atacontrol list ATA channel 0: Master: ad0 ATA/ATAPI revision 5 Slave: no device present ATA channel 1: Master: acd0 ATA/ATAPI revision 5 Slave: no device present # atacontrol mode 0 Master =3D UDMA100=20 Slave =3D BIOSPIO # atacontrol mode 1 Master =3D UDMA33=20 Slave =3D BIOSPIO > ACPI (available modes, lid control, acpi buttons, reporting) or APM Basically works (device exploration and regular controls) Sleep modes: hw.acpi.supported_sleep_state: S3 S4 S5 hw.acpi.power_button_state: S5 hw.acpi.sleep_button_state: S3 hw.acpi.lid_switch_state: NONE hw.acpi.standby_state: S1 hw.acpi.suspend_state: S3 It goes to sleep, then return but video does not awake :( acpi_video.ko loads but does not do anything. > X11 (DRI ?) No problems, native resolution, second screen and -xinerama works also. name of display: :0.0 version number: 11.0 vendor string: The X.Org Foundation vendor release number: 60700000 X.Org version: 6.7.0 maximum request size: 16777212 bytes motion buffer size: 256 bitmap unit, bit order, padding: 32, LSBFirst, 32 image byte order: LSBFirst number of supported pixmap formats: 7 supported pixmap formats: depth 1, bits_per_pixel 1, scanline_pad 32 depth 4, bits_per_pixel 8, scanline_pad 32 depth 8, bits_per_pixel 8, scanline_pad 32 depth 15, bits_per_pixel 16, scanline_pad 32 depth 16, bits_per_pixel 16, scanline_pad 32 depth 24, bits_per_pixel 32, scanline_pad 32 depth 32, bits_per_pixel 32, scanline_pad 32 keycode range: minimum 8, maximum 255 focus: window 0x3000009, revert to PointerRoot number of extensions: 28 BIG-REQUESTS DEC-XTRAP DPMS Extended-Visual-Information FontCache GLX MIT-SCREEN-SAVER MIT-SHM MIT-SUNDRY-NONSTANDARD RECORD RENDER SECURITY SGI-GLX SHAPE SYNC TOG-CUP X-Resource XC-APPGROUP XC-MISC XFree86-Bigfont XFree86-DGA XFree86-DRI XFree86-Misc XFree86-VidModeExtension XInputExtension XKEYBOARD XTEST XVideo default screen number: 0 number of screens: 1 screen #0: dimensions: 1400x1050 pixels (474x356 millimeters) resolution: 75x75 dots per inch depths (7): 16, 1, 4, 8, 15, 24, 32 root window id: 0x40 depth of root window: 16 planes number of colormaps: minimum 1, maximum 1 default colormap: 0x20 default number of colormap cells: 64 preallocated pixels: black 0, white 65535 options: backing-store NO, save-unders NO largest cursor: 64x64 > Ethernet adapter (fxp ?) fxp0: port 0x4000-0x403f mem 0xd0200000-0xd0200fff irq 9 at device 8.0 on pci2 no problems > WiFi (freebsd native driver / ipw or ndis - any success ?) project evil works: ndis0: mem 0xd0201000-0xd0201fff irq 9 at device 11.0 on pci2 ndis0: [GIANT-LOCKED] ndis0: NDIS API version: 5.1 ndis0: Ethernet address: 00:0e:35:03:82:74 ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 5.5Mbps 11Mbps ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps One time see "no buffer space available on this interface while transferring large amount of data. > USB (does USB 1.x works, USB 2.0 works ?) works, as result I have 4 usbd buses detected: # usbdevs -d=20 addr 1: UHCI root hub, Intel - one USB1.1 port uhub0 addr 1: UHCI root hub, Intel - another USB1.1 port uhub1 addr 2: UT-USB41 hub, Texas Instruments uhub2 addr 3: USB KMp, BTC ukbd0 ums0 addr 4: Microsoft IntelliMouse=AE Explorer, Microsoft ums1 addr 1: UHCI root hub, Intel - ineternal USB1.1 bus=20 uhub3 addr 2: UGX, ALPS - onboard bluetooth adapter ubt0 =20 addr 1: EHCI root hub, Intel - USB2.0 bus (joins all thee other buses) uhub4 addr 2: USB Memory Stick Slot, Sony umass1 ehci0: mem 0xd0000000-0xd00003ff at device 29.7 on pci0 ehci0: [GIANT-LOCKED] ehci_pci_attach: companion usb0 ehci_pci_attach: companion usb1 ehci_pci_attach: companion usb2 usb3: EHCI version 1.0 usb3: companion controllers, 2 ports each: usb0 usb1 usb2 usb3: on ehci0 usb3: USB revision 2.0 do not try external USB2.0 device > Bluetooth (on USB bus, what chip ?) Yes, on USB bus, works: ubt0: ALPS UGX, rev 1.10/7.81, addr 2 ubt0: ALPS UGX, rev 1.10/7.81, addr 2 ubt0: Interface 0 endpoints: interrupt=3D0x81, bulk-in=3D0x82, bulk-out=3D0= x2 ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=3D0x83, isoc-out=3D0x3; wMaxPacketSize=3D49; nframes=3D6, buffer size=3D294 > IEEE 1394 (aka i.Link)=20 It detected, I do not try to plugin anything: fwohci0: mem 0xd0202000-0xd02027ff at device 5.1 on pci2 fwohci0: [GIANT-LOCKED] fwohci0: OHCI version 1.0 (ROM=3D1) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 08:00:46:03:01:8d:e0:3c fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 sbp0: on firewire0 fwohci0: Initiate bus reset fwohci0: node_id=3D0xc800ffc0, gen=3D1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <=3D 0, cable IRM =3D 0 (me) firewire0: bus manager 0 (me) > pccard slot (any issues ?) ok, orinoco silver works: cbb0: irq 9 at device 5.0 on pci2 cardbus0: on cbb0 > Sound (what chip, is it works ?, any porblems) all ok (snd_ich.ko): pcm0: port 0x18c0-0x18ff,0x1c00-0x1cff mem 0xd0000800-0xd00008ff,0xd0000c00-0xd0000dff irq 9 at device 31.5 on pci0 pcm0: [GIANT-LOCKED] pcm0: > Memory stick seen ? (as ATA device or as USB umass device ?) Ok, but seen twice: once asn usb1.1 device and once as usb2.0 device: umass0: Sony USB Memory Stick Slot, rev 2.00/1.10, addr 2 umass0: Get Max Lun not supported (STALLED) umass1: Sony USB Memory Stick Slot, rev 2.00/1.10, addr 2 umass1: Get Max Lun not supported (STALLED) umass0: at uhub3 port 1 (addr 2) disconnected umass0: detached da0 at umass-sim1 bus 1 target 0 lun 0 as result connected as usb2 device. Enhanced SpeedStep driver works amaising: # sysctl hw | fgrep est hw.est_curfreq: 600 hw.est_freqs: 600 800 1000 1200 1400 1700 # Problems: - main problem, I can't control video via acpi, so: - it does not restore video after suspend (both syscons or X),=20 - if I boot on battery and them plugin AC it still uses power-save screen back-light mode. - there no driver for win-modem (expected problem): none1@pci0:31:6: class=3D0x070300 card=3D0x8140104d chip=3D0x24c6808= 6 rev=3D0x03 hdr=3D0x00 vendor =3D 'Intel Corporation' device =3D '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller' class =3D simple comms > Thank you. --=20 Vladimir B. Grebenchikov vova@fbsd.ru From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 08:26:43 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 02CB016A4CF for ; Mon, 30 Aug 2004 08:26:43 +0000 (GMT) Received: from vbook.fbsd.ru (asplinux.ru [195.133.213.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id 84BE443D49 for ; Mon, 30 Aug 2004 08:26:40 +0000 (GMT) (envelope-from vova@vbook.fbsd.ru) Received: from vova by vbook.fbsd.ru with local (Exim 4.42 (FreeBSD)) id 1C1hUt-0001XF-B0 for mobile@freebsd.org; Mon, 30 Aug 2004 12:26:39 +0400 From: Vladimir Grebenschikov To: mobile@freebsd.org Content-Type: multipart/mixed; boundary="=-BE6+xfMzJmYpAg2zZzbZ" Organization: SWsoft Date: Mon, 30 Aug 2004 12:26:36 +0400 Message-Id: <1093854397.864.40.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 1.5.93FreeBSD GNOME Team Port Sender: Vladimir Grebenschikov Subject: acpi_video on SONY VAIO PCG-Z1 [was: acpi_video users needed] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: vova@fbsd.ru List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 08:26:43 -0000 --=-BE6+xfMzJmYpAg2zZzbZ Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi Is any chance to make acpi_video work on SONY VAIO PCG-Z1 ? acpi_video.ko loads well, but does not report anything, and does not add hw.acpi.video subtree. Please advise. kernel is latest HEAD (cvsup 28 Aug). acpidump -dt and devinfo -v in attachment. dmesg: Copyright (c) 1992-2004 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-CURRENT #1: Sat Aug 28 14:39:19 MSD 2004 root@vbook.fbsd.ru:/usr/obj/usr/src/sys/VBOOK Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Pentium(R) M processor 1700MHz (1686.97-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x695 Stepping = 5 Features=0xa7e9f9bf real memory = 536281088 (511 MB) avail memory = 515035136 (491 MB) netsmb_dev: loaded acpi0: on motherboard acpi_ec0: port 0x66,0x62 on acpi0 Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 cpu0: on acpi0 acpi_tz0: on acpi0 acpi_lid0: 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) uhci0: port 0x1800-0x181f irq 9 at device 29.0 on pci0 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0x1820-0x183f irq 9 at device 29.1 on pci0 uhci1: [GIANT-LOCKED] usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhub2: Texas Instruments UT-USB41 hub, class 9/0, rev 1.10/1.10, addr 2 uhub2: 4 ports with 4 removable, self powered ukbd0: BTC USB KMp, rev 1.00/1.00, addr 3, iclass 3/1 kbd1 at ukbd0 ums0: BTC USB KMp, rev 1.00/1.00, addr 3, iclass 3/1 ums0: 3 buttons ums1: Microsoft Microsoft IntelliMouse\M-. Explorer, rev 1.10/1.14, addr 4, iclass 3/1 ums1: 5 buttons and Z dir. uhci2: port 0x1840-0x185f at device 29.2 on pci0 uhci2: [GIANT-LOCKED] usb2: on uhci2 usb2: USB revision 1.0 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered umass0: Sony USB Memory Stick Slot, rev 2.00/1.10, addr 2 umass0: Get Max Lun not supported (STALLED) ehci0: mem 0xd0000000-0xd00003ff at device 29.7 on pci0 ehci0: [GIANT-LOCKED] ehci_pci_attach: companion usb0 ehci_pci_attach: companion usb1 ehci_pci_attach: companion usb2 usb3: EHCI version 1.0 usb3: companion controllers, 2 ports each: usb0 usb1 usb2 usb3: on ehci0 usb3: USB revision 2.0 uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub4: 6 ports with 6 removable, self powered umass1: Sony USB Memory Stick Slot, rev 2.00/1.10, addr 2 ehci_idone: need toggle update status=80018d40 nstatus=80008c80 ehci_idone: need toggle update status=80028d40 nstatus=80008c80 umass1: Get Max Lun not supported (STALLED) pcib2: at device 30.0 on pci0 ACPI link \\_SB_.PCI0.LPCB.LNKF has invalid initial irq 3, ignoring pci2: on pcib2 cbb0: irq 9 at device 5.0 on pci2 cardbus0: on cbb0 fwohci0: mem 0xd0202000-0xd02027ff at device 5.1 on pci2 fwohci0: [GIANT-LOCKED] fwohci0: OHCI version 1.0 (ROM=1) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 08:00:46:03:01:8d:e0:3c fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 sbp0: on firewire0 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) pci2: at device 8.0 (no driver attached) ndis0: mem 0xd0201000-0xd0201fff irq 9 at device 11.0 on pci2 ndis0: [GIANT-LOCKED] ndis0: NDIS API version: 5.1 ndis0: NDIS ERROR: c000138d (unknown error) ndis0: NDIS NUMERRORS: 0 ndis0: init handler failed device_attach: ndis0 attach returned 6 isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1860-0x186f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on pci0 ata0: channel #0 on atapci0 ata1: channel #1 on atapci0 pci0: at device 31.3 (no driver attached) pcm0: port 0x18c0-0x18ff,0x1c00-0x1cff mem 0xd0000800-0xd00008ff,0xd0000c00-0xd0000dff irq 9 at device 31.5 on pci0 pcm0: [GIANT-LOCKED] pcm0: pci0: at device 31.6 (no driver attached) atkbdc0: port 0x64,0x60 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model GlidePoint, device ID 0 acpi_cmbat0: on acpi0 acpi_acad0: on acpi0 npx0: [FAST] npx0: on motherboard npx0: INT 16 interface pmtimer0 on isa0 orm0: at iomem 0xdc000-0xdffff,0xd8000-0xdbfff,0xc0000-0xcffff on isa0 sc0: on isa0 sc0: VGA <16 virtual consoles, flags=0x200> vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounter "TSC" frequency 1686966203 Hz quality 800 Timecounters tick every 10.000 msec ipfw2 initialized, divert enabled, rule-based forwarding disabled, default to deny, logging unlimited acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0% ad0: 57231MB [116280/16/63] at ata0-master UDMA100 uhub2: at uhub1 port 1 (addr 2) disconnected umass0: at uhub3 port 1 (addr 2) disconnected umass0: detached ukbd0: detached ums0: detached ums1: detached uhub2: detached uhub2: Texas Instruments UT-USB41 hub, class 9/0, rev 1.10/1.10, addr 2 uhub2: 4 ports with 4 removable, self powered ukbd0: BTC USB KMp, rev 1.00/1.00, addr 3, iclass 3/1 kbd1 at ukbd0 ums0: BTC USB KMp, rev 1.00/1.00, addr 3, iclass 3/1 ums0: 3 buttons ums1: Microsoft Microsoft IntelliMouse\M-. Explorer, rev 1.10/1.14, addr 4, iclass 3/1 ums1: 5 buttons and Z dir. ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt ATAPI_RESET time = 180us acd0: CDRW at ata1-master UDMA33 da0 at umass-sim1 bus 1 target 0 lun 0 da0: Removable Direct Access SCSI-0 device da0: 1.000MB/s transfers da0: 3MB (7904 512 byte sectors: 64H 32S/T 3C) Mounting root from ufs:/dev/ad0s3a fxp0: port 0x4000-0x403f mem 0xd0200000-0xd0200fff irq 9 at device 8.0 on pci2 fxp0: Ethernet address: 08:00:46:c8:45:b3 fxp0: [GIANT-LOCKED] ndis0: mem 0xd0201000-0xd0201fff irq 9 at device 11.0 on pci2 ndis0: [GIANT-LOCKED] ndis0: NDIS API version: 5.1 ndis0: Ethernet address: 00:0e:35:03:82:74 ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 5.5Mbps 11Mbps ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps miibus0: on fxp0 inphy0: on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto -- Vladimir B. Grebenschikov SWsoft Inc. vova@sw-soft.com -- Vladimir B. Grebenchikov vova@fbsd.ru --=-BE6+xfMzJmYpAg2zZzbZ Content-Disposition: attachment; filename=acpidump-dt.txt Content-Type: text/plain; name=acpidump-dt.txt; charset=KOI8-R Content-Transfer-Encoding: base64 LyoNCiAgUlNEIFBUUjogT0VNPVBUTFRELCBBQ1BJX1Jldj0xLjB4ICgwKQ0KCVJTRFQ9MHgxZmY3 ODA2YiwgY2tzdW09NTYNCiAqLw0KLyoNCiAgUlNEVDogTGVuZ3RoPTQ4LCBSZXZpc2lvbj0xLCBD aGVja3N1bT0yNDksDQoJT0VNSUQ9U09OWSwgT0VNIFRhYmxlIElEPUcwLCBPRU0gUmV2aXNpb249 MHgyMDAzMTEyMSwNCglDcmVhdG9yIElEPVBUTCwgQ3JlYXRvciBSZXZpc2lvbj0weDANCglFbnRy aWVzPXsgMHgxZmY3YmVjMiwgMHgxZmY3YmZkOCwgMHgxZmY3ODA5YiB9DQogKi8NCi8qDQogIEZB Q1A6IExlbmd0aD0xMzIsIFJldmlzaW9uPTIsIENoZWNrc3VtPTEyMywNCglPRU1JRD1TT05ZLCBP RU0gVGFibGUgSUQ9RzAsIE9FTSBSZXZpc2lvbj0weDIwMDMxMTIxLA0KCUNyZWF0b3IgSUQ9UFRM LCBDcmVhdG9yIFJldmlzaW9uPTB4NTANCiAJRkFDUz0weDFmZjdjZmMwLCBEU0RUPTB4MWZmNzg1 MDcNCglJTlRfTU9ERUw9UElDDQoJUHJlZmVycmVkX1BNX1Byb2ZpbGU9VW5zcGVjaWZpZWQgKDAp DQoJU0NJX0lOVD05DQoJU01JX0NNRD0weGIyLCBBQ1BJX0VOQUJMRT0weGYwLCBBQ1BJX0RJU0FC TEU9MHhmMSwgUzRCSU9TX1JFUT0weDANCglQU1RBVEVfQ05UPTB4ODANCglQTTFhX0VWVF9CTEs9 MHgxMDAwLTB4MTAwMw0KCVBNMWFfQ05UX0JMSz0weDEwMDQtMHgxMDA1DQoJUE0yX0NOVF9CTEs9 MHgxMDIwLTB4MTAyMA0KCVBNX1RNUl9CTEs9MHgxMDA4LTB4MTAwYg0KCUdQRTBfQkxLPTB4MTAy OC0weDEwMmYNCglQX0xWTDJfTEFUPTEgdXMsIFBfTFZMM19MQVQ9MTAwMSB1cw0KCUZMVVNIX1NJ WkU9MCwgRkxVU0hfU1RSSURFPTANCglEVVRZX09GRlNFVD0xLCBEVVRZX1dJRFRIPTMNCglEQVlf QUxSTT0xMywgTU9OX0FMUk09MCwgQ0VOVFVSWT01MA0KCUlBUENfQk9PVF9BUkNIPXs4MDQyfQ0K CUZsYWdzPXtXQklOVkQsUFJPQ19DMSxQV1JfQlVUVE9OLFNMUF9CVVRUT04sUlRDX1M0LFJFU0VU X1JFR30NCglSRVNFVF9SRUc9MHg2NDowWzhdIChJTyksIFJFU0VUX1ZBTFVFPTB4ZmUNCiAqLw0K LyoNCiAgRkFDUzoJTGVuZ3RoPTY0LCBId1NpZz0weDAwMDAwMDAwLCBGaXJtX1dha2VfVmVjPTB4 MDAwMDAwMDANCglHbG9iYWxfTG9jaz0NCglGbGFncz0NCglWZXJzaW9uPTANCiAqLw0KLyoNCiAg RFNEVDogTGVuZ3RoPTE0Nzc5LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xMDEsDQoJT0VNSUQ9U09O WSwgT0VNIFRhYmxlIElEPUcwLCBPRU0gUmV2aXNpb249MHgyMDAzMTEyMSwNCglDcmVhdG9yIElE PVBUTCwgQ3JlYXRvciBSZXZpc2lvbj0weDEwMDAwMGQNCiAqLw0KLyoNCiAgQk9PVDogTGVuZ3Ro PTQwLCBSZXZpc2lvbj0xLCBDaGVja3N1bT03MSwNCglPRU1JRD1TT05ZLCBPRU0gVGFibGUgSUQ9 RzAsIE9FTSBSZXZpc2lvbj0weDIwMDMxMTIxLA0KCUNyZWF0b3IgSUQ9UFRMLCBDcmVhdG9yIFJl dmlzaW9uPTB4MQ0KICovDQovKg0KICBTU0RUOiBMZW5ndGg9NzI4LCBSZXZpc2lvbj0xLCBDaGVj a3N1bT0yMzcsDQoJT0VNSUQ9U09OWSwgT0VNIFRhYmxlIElEPUcwLCBPRU0gUmV2aXNpb249MHgy MDAzMTEyMSwNCglDcmVhdG9yIElEPVBUTCwgQ3JlYXRvciBSZXZpc2lvbj0weDANCiAqLw0KLyoN CiAqIEludGVsIEFDUEkgQ29tcG9uZW50IEFyY2hpdGVjdHVyZQ0KICogQU1MIERpc2Fzc2VtYmxl ciB2ZXJzaW9uIDIwMDQwNTI3DQogKg0KICogRGlzYXNzZW1ibHkgb2YgL3RtcC9hY3BpZHVtcC5R RHlzcFAsIE1vbiBBdWcgMzAgMTE6NTY6MDYgMjAwNA0KICovDQpEZWZpbml0aW9uQmxvY2sgKCJE U0RULmFtbCIsICJEU0RUIiwgMSwgIlNPTlkiLCAiRzAiLCA1MzcwNzE5MDUpDQp7DQogICAgT3Bl cmF0aW9uUmVnaW9uIChQT1JULCBTeXN0ZW1JTywgMHg4MCwgMHgwMSkNCiAgICBGaWVsZCAoUE9S VCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICB7DQogICAgICAgIFA4MEgsICAgOA0K ICAgIH0NCg0KICAgIE9wZXJhdGlvblJlZ2lvbiAoSU9fVCwgU3lzdGVtSU8sIDB4MDgwMCwgMHgw OCkNCiAgICBGaWVsZCAoSU9fVCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICB7DQog ICAgICAgIFRSUDAsICAgOA0KICAgIH0NCg0KICAgIE9wZXJhdGlvblJlZ2lvbiAoR1BJTywgU3lz dGVtSU8sIDB4MTE4MCwgMHgzQykNCiAgICBGaWVsZCAoR1BJTywgQnl0ZUFjYywgTm9Mb2NrLCBQ cmVzZXJ2ZSkNCiAgICB7DQogICAgICAgIEdVMDAsICAgOCwgDQogICAgICAgIEdVMDEsICAgOCwg DQogICAgICAgIEdVMDIsICAgOCwgDQogICAgICAgIEdVMDMsICAgOCwgDQogICAgICAgIEdJTzAs ICAgOCwgDQogICAgICAgIEdJTzEsICAgOCwgDQogICAgICAgIEdJTzIsICAgOCwgDQogICAgICAg IEdJTzMsICAgOCwgDQogICAgICAgIE9mZnNldCAoMHgwQyksIA0KICAgICAgICBHTDAwLCAgIDgs IA0KICAgICAgICBHTDAxLCAgIDgsIA0KICAgICAgICBHTDAyLCAgIDgsIA0KICAgICAgICBHTDAz LCAgIDgsIA0KICAgICAgICBPZmZzZXQgKDB4MTgpLCANCiAgICAgICAgR0IwMCwgICA4LCANCiAg ICAgICAgR0IwMSwgICA4LCANCiAgICAgICAgR0IwMiwgICA4LCANCiAgICAgICAgR0IwMywgICA4 LCANCiAgICAgICAgT2Zmc2V0ICgweDJDKSwgDQogICAgICAgIEdJVjAsICAgOCwgDQogICAgICAg IEdJVjEsICAgOCwgDQogICAgICAgIEdJVjIsICAgOCwgDQogICAgICAgIEdJVjMsICAgOCwgDQog ICAgICAgIEdVMDQsICAgOCwgDQogICAgICAgIEdVMDUsICAgOCwgDQogICAgICAgIEdVMDYsICAg OCwgDQogICAgICAgIEdVMDcsICAgOCwgDQogICAgICAgIEdJTzQsICAgOCwgDQogICAgICAgIEdJ TzUsICAgOCwgDQogICAgICAgIEdJTzYsICAgOCwgDQogICAgICAgIEdJTzcsICAgOCwgDQogICAg ICAgICAgICAsICAgMSwgDQogICAgICAgICAgICAsICAgMSwgDQogICAgICAgIENQRU4sICAgMSwg DQogICAgICAgIE9mZnNldCAoMHgzOSksIA0KICAgICAgICBHTDA1LCAgIDgsIA0KICAgICAgICBH TDA2LCAgIDgsIA0KICAgICAgICBHTDA3LCAgIDgNCiAgICB9DQoNCiAgICBPcGVyYXRpb25SZWdp b24gKE1OVlMsIFN5c3RlbU1lbW9yeSwgMHgxRkY3Q0FCNywgMHg0MCkNCiAgICBGaWVsZCAoTU5W UywgQW55QWNjLCBMb2NrLCBQcmVzZXJ2ZSkNCiAgICB7DQogICAgICAgIFBTQUMsICAgOCwgDQog ICAgICAgIFBTREMsICAgOA0KICAgIH0NCg0KICAgIE11dGV4IChNVVRYLCAweDAwKQ0KICAgIE5h bWUgKF9TMCwgUGFja2FnZSAoMHgwMykNCiAgICB7DQogICAgICAgIDB4MDAsIA0KICAgICAgICAw eDAwLCANCiAgICAgICAgMHgwMA0KICAgIH0pDQogICAgTmFtZSAoX1MzLCBQYWNrYWdlICgweDAz KQ0KICAgIHsNCiAgICAgICAgMHgwNSwgDQogICAgICAgIDB4MDUsIA0KICAgICAgICAweDAwDQog ICAgfSkNCiAgICBOYW1lIChfUzQsIFBhY2thZ2UgKDB4MDMpDQogICAgew0KICAgICAgICAweDA2 LCANCiAgICAgICAgMHgwNiwgDQogICAgICAgIDB4MDANCiAgICB9KQ0KICAgIE5hbWUgKF9TNSwg UGFja2FnZSAoMHgwMykNCiAgICB7DQogICAgICAgIDB4MDcsIA0KICAgICAgICAweDA3LCANCiAg ICAgICAgMHgwMA0KICAgIH0pDQogICAgU2NvcGUgKFxfUFIpDQogICAgew0KICAgICAgICBQcm9j ZXNzb3IgKENQVTAsIDB4MDAsIDB4MDAwMDEwMTAsIDB4MDYpDQogICAgICAgIHsNCiAgICAgICAg ICAgIFNjb3BlIChcKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIE5hbWUgKEdWU1Ms IE9uZSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgU2NvcGUgKFxfUFIuQ1BVMCkNCiAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBNZXRob2QgKF9DU1QsIDAsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBJZiAoXF9TQi5QQ0kw LkxQQ0IuRUMwLkVDT0spDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChcX1NCLlBDSTAuTFBDQi5FQzAuQUNBVCwgTG9jYWwwKQ0KICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChQSFNEICgweEQ0LCAweDgwKSwgMHgw NDAwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICBJZiAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKEFDU1QpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoR1ZTUykNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKERDU1QpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChERFNUKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgTmFtZSAoQUNTVCwgUGFja2FnZSAoMHgwMykNCiAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgIDB4MDIsIA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBS ZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhXLCAweDA4LCAweDAwLCAweDAwMDAw MDAwMDAwMDAwMDApDQogICAgICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDNFOA0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAg ICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3Rl bUlPLCAweDA4LCAweDAwLCAweDAwMDAwMDAwMDAwMDEwMTQpDQogICAgICAgICAgICAgICAgICAg ICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgDQogICAgICAgICAgICAg ICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDFGNA0KICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICBOYW1l IChEQ1NULCBQYWNrYWdlICgweDA1KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgMHgwNCwgDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUg KCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZWdpc3RlciAoRkZpeGVkSFcsIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDAwMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgICAgICAweDAx LCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIA0KICAgICAgICAgICAgICAgICAgICAg ICAgMHgwM0U4DQogICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4MDgsIDB4MDAs IDB4MDAwMDAwMDAwMDAwMTAxNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAg ICAgICAgICAgICAgICAgICAgICAweDAyLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs IA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMUY0DQogICAgICAgICAgICAgICAgICAgIH0s IA0KDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3Rl ciAoU3lzdGVtSU8sIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMTAxNSkNCiAgICAgICAgICAg ICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgICAgICAweDAzLCANCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4NTUsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHhGQQ0K ICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXNv dXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAweDAwMDAwMDAw MDAwMDEwMTYpDQogICAgICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMywgDQogICAgICAgICAgICAgICAgICAgICAgICAweEI5LCANCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4NjQNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgIH0pDQogICAgICAgICAgICAgICAgTmFtZSAoRERTVCwgUGFja2FnZSAoMHgwNCkNCiAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDMsIA0KICAgICAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhXLCAweDA4LCAw eDAwLCAweDAwMDAwMDAwMDAwMDAwMDApDQogICAgICAgICAgICAgICAgICAgICAgICB9LCANCg0K ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDNFOA0KICAgICAgICAgICAgICAgICAg ICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVn aXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAweDAwMDAwMDAwMDAwMDEwMTQpDQogICAgICAg ICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgDQog ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDFGNA0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAweDAw MDAwMDAwMDAwMDEwMTUpDQogICAgICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMywgDQogICAgICAgICAgICAgICAgICAgICAgICAweDU1LCANCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4RkENCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBOYW1l IChcQ1RZUCwgMHgwMCkNCiAgICBOYW1lIChcRUNPTiwgMHgwMCkNCiAgICBNZXRob2QgKF9QVFMs IDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAgICBTdG9yZSAoQXJnMCwgUDgwSCkNCiAg ICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMykpDQogICAgICAgIHsNCiAgICAgICAgICAgIFN0 b3JlIChcX1NCLlBDSTAuTFBDQi5TUElDLl9DUlMgKCksIFxfU0IuUENJMC5MUENCLlNQSUMuU1NS QykNCiAgICAgICAgfQ0KDQogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDQpKQ0KICAgICAg ICB7DQogICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLkxQQ0IuU1BJQy5fQ1JTICgpLCBcX1NC LlBDSTAuTFBDQi5TUElDLlNTUkMpDQogICAgICAgICAgICBQSFNCICgweEEyLCBcX1NCLk9TVEIp DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBNZXRob2QgKF9XQUssIDEsIE5vdFNlcmlhbGl6ZWQp DQogICAgew0KICAgICAgICBTdG9yZSAoMHgwMCwgUDgwSCkNCiAgICAgICAgXF9TQi5OQ1BVICgp DQogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDMpKQ0KICAgICAgICB7DQogICAgICAgICAg ICBcX1NCLlBDSTAuTFBDQi5TUElDLl9TUlMgKFxfU0IuUENJMC5MUENCLlNQSUMuU1NSQykNCiAg ICAgICAgICAgIElmIChMTm90IChcX1NCLlBDSTAuTFBDQi5FQzAuV0FLSSkpDQogICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBXUkIsIDB4MDIpDQogICAgICAgICAg ICB9DQogICAgICAgIH0NCg0KICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDA0KSkNCiAgICAg ICAgew0KICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuU1BJQy5fU1JTIChcX1NCLlBDSTAuTFBD Qi5TUElDLlNTUkMpDQogICAgICAgICAgICBQSFNCICgweEEzLCBcX1NCLk9TVEIpDQogICAgICAg ICAgICBOb3RpZnkgKFxfU0IuUFdSQiwgMHgwMikNCiAgICAgICAgfQ0KDQogICAgICAgIFJldHVy biAoWmVybykNCiAgICB9DQoNCiAgICBTY29wZSAoXF9TQikNCiAgICB7DQogICAgICAgIE5hbWUg KE9TVEIsIE9uZXMpDQogICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoT1NUWSwgU3lzdGVtTWVtb3J5 LCAweDFGRjdDQUY3LCAweDAwMDAwMDAxKQ0KICAgICAgICBGaWVsZCAoT1NUWSwgQW55QWNjLCBO b0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICB7DQogICAgICAgICAgICBUUE9TLCAgIDgNCiAgICAg ICAgfQ0KDQogICAgICAgIE1ldGhvZCAoT1NUUCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAg ew0KICAgICAgICAgICAgSWYgKExFcXVhbCAoXk9TVEIsIE9uZXMpKQ0KICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfT1NJLCBMb2NhbDApKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgSWYgKFxfT1NJICgiV2luZG93cyAyMDAxLjEi KSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MjAsIF5PU1RCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MjAsIF5UUE9T KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFxfT1NJICgiV2lu ZG93cyAyMDAxIFNQMSIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDEwLCBeT1NUQikNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgxMCwgXlRQT1MpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFxfT1NJICgiV2luZG93cyAyMDAxIikpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwOCwgXk9TVEIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDA4LCBeVFBPUykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIF5PU1RCKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgXlRQT1MpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVs c2UNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIElmIChDb25kUmVmT2Yg KFxfT1MsIExvY2FsMCkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIElmICheU0VRTCAoXF9PUywgIk1pY3Jvc29mdCBXaW5kb3dzIikpDQogICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEs IF5PU1RCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBeVFBPUykN CiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UN CiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoXlNFUUwgKFxfT1MsICJNaWNyb3NvZnQgV2luZG93c01FOiBNaWxsZW5uaXVtIEVkaXRpb24i KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDAyLCBeT1NUQikNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDIsIF5UUE9TKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoXlNFUUwgKFxfT1Ms ICJNaWNyb3NvZnQgV2luZG93cyBOVCIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNCwgXk9T VEIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNCwgXlRQ T1MpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgXk9TVEIpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgXlRQT1MpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgXk9TVEIpDQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMCwgXlRQT1MpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIFJldHVybiAoXk9TVEIpDQog ICAgICAgIH0NCg0KICAgICAgICBNZXRob2QgKFNFUUwsIDIsIFNlcmlhbGl6ZWQpDQogICAgICAg IHsNCiAgICAgICAgICAgIFN0b3JlIChTaXplT2YgKEFyZzApLCBMb2NhbDApDQogICAgICAgICAg ICBTdG9yZSAoU2l6ZU9mIChBcmcxKSwgTG9jYWwxKQ0KICAgICAgICAgICAgSWYgKExOb3QgKExF cXVhbCAoTG9jYWwwLCBMb2NhbDEpKSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBS ZXR1cm4gKFplcm8pDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE5hbWUgKEJVRjAsIEJ1 ZmZlciAoTG9jYWwwKSB7fSkNCiAgICAgICAgICAgIFN0b3JlIChBcmcwLCBCVUYwKQ0KICAgICAg ICAgICAgTmFtZSAoQlVGMSwgQnVmZmVyIChMb2NhbDApIHt9KQ0KICAgICAgICAgICAgU3RvcmUg KEFyZzEsIEJVRjEpDQogICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwyKQ0KICAgICAgICAg ICAgV2hpbGUgKExMZXNzIChMb2NhbDIsIExvY2FsMCkpDQogICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChCVUYwLCBMb2NhbDIpKSwgTG9jYWwzKQ0K ICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoQlVGMSwgTG9jYWwyKSksIExv Y2FsNCkNCiAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTEVxdWFsIChMb2NhbDMsIExvY2FsNCkp KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQ0K ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwyKQ0K ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBSZXR1cm4gKE9uZSkNCiAgICAgICAgfQ0KICAg IH0NCg0KICAgIFNjb3BlIChcX0dQRSkNCiAgICB7DQogICAgICAgIE11dGV4IChHTE9LLCAweDAw KQ0KICAgICAgICBNZXRob2QgKF9MMDMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAg ICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjAsIDB4MDIpDQogICAgICAgIH0NCg0KICAg ICAgICBNZXRob2QgKF9MMDQsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAg ICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjEsIDB4MDIpDQogICAgICAgIH0NCg0KICAgICAgICBN ZXRob2QgKF9MMDUsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIE5v dGlmeSAoXF9TQi5QQ0kwLk1PRE0sIDB4MDIpDQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2Qg KF9MMEMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIE5vdGlmeSAo XF9TQi5QQ0kwLlVTQjIsIDB4MDIpDQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2QgKF9MMEQs IDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5Q Q0kwLlVTQjcsIDB4MDIpDQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2QgKF9MMEIsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIElmIChMTm90IChMTGVzcyAoXF9T Qi5PU1RCLCAweDA4KSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgQWNxdWlyZSAo R0xPSywgMHhGRkZGKQ0KICAgICAgICAgICAgICAgIFNsZWVwICgweDY0KQ0KICAgICAgICAgICAg ICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlBDSUIuQ1JEMCwgMHgwMikNCiAgICAgICAgICAgICAgICBT bGVlcCAoMHg2NCkNCiAgICAgICAgICAgICAgICBSZWxlYXNlIChHTE9LKQ0KICAgICAgICAgICAg ICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlBDSUIsIDB4MDIpDQogICAgICAgICAgICB9DQogICAgICAg ICAgICBFbHNlDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBD STAuUENJQiwgMHgwMikNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE1ldGhv ZCAoX0wxRCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgew0KICAgICAgICAgICAgTm90aWZ5 IChcX1NCLlBDSTAuTFBDQi5FQzAsIDB4MDIpDQogICAgICAgIH0NCiAgICB9DQoNCiAgICBPcGVy YXRpb25SZWdpb24gKFNNSTAsIFN5c3RlbU1lbW9yeSwgMHgxRkY3Q0FGOCwgMHgwMDAwMDQxNSkN CiAgICBGaWVsZCAoU01JMCwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgIHsNCiAgICAg ICAgQkNNRCwgICA4LCANCiAgICAgICAgRElELCAgICAzMiwgDQogICAgICAgIElORk8sICAgNDA5 Ng0KICAgIH0NCg0KICAgIEZpZWxkIChTTUkwLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpDQog ICAgew0KICAgICAgICBPZmZzZXQgKDB4MDUpLCANCiAgICAgICAgSU5GQiwgICA4DQogICAgfQ0K DQogICAgRmllbGQgKFNNSTAsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICB7DQogICAg ICAgIE9mZnNldCAoMHgwNSksIA0KICAgICAgICBJTkZELCAgIDMyDQogICAgfQ0KDQogICAgRmll bGQgKFNNSTAsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICB7DQogICAgICAgIE9mZnNl dCAoMHgwNSksIA0KICAgICAgICBTWEJGLCAgIDgzMjANCiAgICB9DQoNCiAgICBGaWVsZCAoU01J MCwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgIHsNCiAgICAgICAgT2Zmc2V0ICgweDA1 KSwgDQogICAgICAgIElORjEsICAgOCwgDQogICAgICAgIElORjIsICAgOA0KICAgIH0NCg0KICAg IE9wZXJhdGlvblJlZ2lvbiAoU01JMSwgU3lzdGVtSU8sIDB4MDAwMEZFMDAsIDB4MDAwMDAwMDIp DQogICAgRmllbGQgKFNNSTEsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICB7DQogICAg ICAgIFNNSUMsICAgOA0KICAgIH0NCg0KICAgIE11dGV4IChNUEhTLCAweDAwKQ0KICAgIE1ldGhv ZCAoUEhTMCwgMSwgTm90U2VyaWFsaXplZCkNCiAgICB7DQogICAgICAgIFN0b3JlIChBcmcwLCBC Q01EKQ0KICAgICAgICBTdG9yZSAoWmVybywgU01JQykNCiAgICAgICAgV2hpbGUgKExFcXVhbCAo QkNNRCwgQXJnMCkpIHt9DQogICAgICAgIFN0b3JlICgweDAwLCBCQ01EKQ0KICAgIH0NCg0KICAg IE1ldGhvZCAoUEhTLCAxLCBTZXJpYWxpemVkKQ0KICAgIHsNCiAgICAgICAgQWNxdWlyZSAoTVBI UywgMHhGRkZGKQ0KICAgICAgICBTdG9yZSAoMHgwMCwgRElEKQ0KICAgICAgICBQSFMwIChBcmcw KQ0KICAgICAgICBTdG9yZSAoSU5GRCwgTG9jYWwwKQ0KICAgICAgICBSZWxlYXNlIChNUEhTKQ0K ICAgICAgICBSZXR1cm4gKExvY2FsMCkNCiAgICB9DQoNCiAgICBNZXRob2QgKFBIU0QsIDIsIFNl cmlhbGl6ZWQpDQogICAgew0KICAgICAgICBBY3F1aXJlIChNUEhTLCAweEZGRkYpDQogICAgICAg IFN0b3JlICgweDAwLCBESUQpDQogICAgICAgIFN0b3JlIChBcmcxLCBJTkZEKQ0KICAgICAgICBQ SFMwIChBcmcwKQ0KICAgICAgICBTdG9yZSAoSU5GRCwgTG9jYWwwKQ0KICAgICAgICBSZWxlYXNl IChNUEhTKQ0KICAgICAgICBSZXR1cm4gKExvY2FsMCkNCiAgICB9DQoNCiAgICBNZXRob2QgKFBI U1csIDMsIFNlcmlhbGl6ZWQpDQogICAgew0KICAgICAgICBBY3F1aXJlIChNUEhTLCAweEZGRkYp DQogICAgICAgIFN0b3JlICgweDAwLCBESUQpDQogICAgICAgIFN0b3JlIChBcmcxLCBJTkYxKQ0K ICAgICAgICBTdG9yZSAoQXJnMiwgSU5GMikNCiAgICAgICAgUEhTMCAoQXJnMCkNCiAgICAgICAg U3RvcmUgKElORkIsIExvY2FsMCkNCiAgICAgICAgUmVsZWFzZSAoTVBIUykNCiAgICAgICAgUmV0 dXJuIChMb2NhbDApDQogICAgfQ0KDQogICAgTWV0aG9kIChQSFNCLCAyLCBTZXJpYWxpemVkKQ0K ICAgIHsNCiAgICAgICAgQWNxdWlyZSAoTVBIUywgMHhGRkZGKQ0KICAgICAgICBTdG9yZSAoMHgw MCwgRElEKQ0KICAgICAgICBTdG9yZSAoQXJnMSwgSU5GQikNCiAgICAgICAgUEhTMCAoQXJnMCkN CiAgICAgICAgU3RvcmUgKElORkIsIExvY2FsMCkNCiAgICAgICAgUmVsZWFzZSAoTVBIUykNCiAg ICAgICAgUmV0dXJuIChMb2NhbDApDQogICAgfQ0KDQogICAgTWV0aG9kIChQU0NTLCAxLCBTZXJp YWxpemVkKQ0KICAgIHsNCiAgICAgICAgQWNxdWlyZSAoTVBIUywgMHhGRkZGKQ0KICAgICAgICBT dG9yZSAoQXJnMCwgRElEKQ0KICAgICAgICBQSFMwICgweDAwKQ0KICAgICAgICBTdG9yZSAoSU5G TywgTG9jYWwwKQ0KICAgICAgICBSZWxlYXNlIChNUEhTKQ0KICAgICAgICBSZXR1cm4gKExvY2Fs MCkNCiAgICB9DQoNCiAgICBNZXRob2QgKFBTU1MsIDIsIFNlcmlhbGl6ZWQpDQogICAgew0KICAg ICAgICBBY3F1aXJlIChNUEhTLCAweEZGRkYpDQogICAgICAgIFN0b3JlIChBcmcwLCBESUQpDQog ICAgICAgIFN0b3JlIChBcmcxLCBJTkZPKQ0KICAgICAgICBQSFMwICgweDAxKQ0KICAgICAgICBS ZWxlYXNlIChNUEhTKQ0KICAgIH0NCg0KICAgIE1ldGhvZCAoUFNQUywgMSwgU2VyaWFsaXplZCkN CiAgICB7DQogICAgICAgIEFjcXVpcmUgKE1QSFMsIDB4RkZGRikNCiAgICAgICAgU3RvcmUgKEFy ZzAsIERJRCkNCiAgICAgICAgUEhTMCAoMHgwMikNCiAgICAgICAgU3RvcmUgKElORk8sIExvY2Fs MCkNCiAgICAgICAgUmVsZWFzZSAoTVBIUykNCiAgICAgICAgUmV0dXJuIChMb2NhbDApDQogICAg fQ0KDQogICAgTWV0aG9kIChQU0RJLCAxLCBTZXJpYWxpemVkKQ0KICAgIHsNCiAgICAgICAgQWNx dWlyZSAoTVBIUywgMHhGRkZGKQ0KICAgICAgICBTdG9yZSAoQXJnMCwgRElEKQ0KICAgICAgICBQ SFMwICgweDAzKQ0KICAgICAgICBSZWxlYXNlIChNUEhTKQ0KICAgIH0NCg0KICAgIE1ldGhvZCAo UFNTVCwgMSwgU2VyaWFsaXplZCkNCiAgICB7DQogICAgICAgIEFjcXVpcmUgKE1QSFMsIDB4RkZG RikNCiAgICAgICAgU3RvcmUgKEFyZzAsIERJRCkNCiAgICAgICAgUEhTMCAoMHgwNCkNCiAgICAg ICAgU3RvcmUgKElORkIsIExvY2FsMCkNCiAgICAgICAgUmVsZWFzZSAoTVBIUykNCiAgICAgICAg UmV0dXJuIChMb2NhbDApDQogICAgfQ0KDQogICAgU2NvcGUgKFxfVFopDQogICAgew0KICAgICAg ICBUaGVybWFsWm9uZSAoQVRGMCkNCiAgICAgICAgew0KICAgICAgICAgICAgTWV0aG9kIChLRUxW LCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFN0b3Jl IChBcmcwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgTXVsdGlwbHkgKExvY2FsMCwgMHgwQSwg TG9jYWwwKQ0KICAgICAgICAgICAgICAgIEFkZCAoTG9jYWwwLCAweDBBQUIsIExvY2FsMCkNCiAg ICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgTWV0aG9kIChfVE1QLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKFxfU0IuUENJMC5MUENCLkVDMC5FQ09LLCAweDAwKSkNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNEICgweEQ0LCAw eEMwKSwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlDQog ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLkxQ Q0IuRUMwLkExVFAsIExvY2FsMSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICBTaGlmdFJpZ2h0IChMb2NhbDEsIDB4MDgsIExvY2FsMCkNCiAgICAgICAgICAgICAgICBJZiAo TEdyZWF0ZXIgKExvY2FsMCwgMHg4MCkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICBTbGVlcCAoMHgzMikNCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXF9T Qi5QQ0kwLkxQQ0IuRUMwLkVDT0ssIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTRCAoMHhENCwgMHhDMCksIExvY2FsMSkNCiAg ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuTFBD Qi5FQzAuQTFUUCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICAgICAgU2hpZnRSaWdodCAoTG9jYWwxLCAweDA4LCBMb2NhbDApDQogICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgUmV0dXJuIChLRUxWIChMb2NhbDApKQ0KICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICBNZXRob2QgKF9QU1YsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXF9TQi5QQ0kwLkxQQ0IuRUMw LkVDT0ssIDB4MDApKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFBIU0QgKDB4RDQsIDB4QzQpLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFN0 b3JlIChcX1NCLlBDSTAuTFBDQi5FQzAuQTFQVCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKExvY2FsMSwgMHgwOCwgTG9jYWwwKQ0KICAg ICAgICAgICAgICAgIFJldHVybiAoS0VMViAoTG9jYWwwKSkNCiAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgTmFtZSAoX1BTTCwgUGFja2FnZSAoMHgwMSkNCiAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICBcX1BSLkNQVTANCiAgICAgICAgICAgIH0pDQogICAgICAgICAgICBNZXRob2Qg KF9DUlQsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoXF9TQi5QQ0kwLkxQQ0IuRUMwLkVDT0ssIDB4MDApKQ0KICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU0QgKDB4RDQsIDB4QzYpLCBMb2Nh bDEpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuTFBDQi5FQzAuQTFD VCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIFNoaWZ0Umln aHQgKExvY2FsMSwgMHgwOCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIFJldHVybiAoS0VMViAo TG9jYWwwKSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgTmFtZSAoX1RDMSwgMHgwMSkN CiAgICAgICAgICAgIE5hbWUgKF9UQzIsIDB4MDIpDQogICAgICAgICAgICBOYW1lIChfVFNQLCAw eDMyKQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgU2NvcGUgKFxfU0IpDQogICAgew0KICAgICAg ICBEZXZpY2UgKExJRDApDQogICAgICAgIHsNCiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJ ZCAoIlBOUDBDMEQiKSkNCiAgICAgICAgICAgIE1ldGhvZCAoX0xJRCwgMCwgTm90U2VyaWFsaXpl ZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLlBDSTAu TFBDQi5FQzAuRUNPSywgMHgwMCkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICBBbmQgKFBIU0IgKDB4RDQsIDB4ODIpLCAweDA0LCBMb2NhbDApDQogICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuTFBDQi5FQzAuTElEUywgTG9jYWwwKQ0KICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KICAgICAgICAg ICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgRGV2aWNlIChQV1JCKQ0KICAgICAgICB7DQogICAg ICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBDIikpDQogICAgICAgICAgICBOYW1l IChfUFJXLCBQYWNrYWdlICgweDAyKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIDB4 MUQsIA0KICAgICAgICAgICAgICAgIDB4MDQNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCg0K ICAgICAgICBNdXRleCAoUExPSywgMHgwMCkNCiAgICAgICAgTWV0aG9kIChOQ1BVLCAwLCBOb3RT ZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAgICAgICBBY3F1aXJlIChQTE9LLCAweEZGRkYp DQogICAgICAgICAgICBOb3RpZnkgKFxfUFIuQ1BVMCwgMHg4MCkNCiAgICAgICAgICAgIFNsZWVw ICgweDY0KQ0KICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTAsIDB4ODEpDQogICAgICAgICAg ICBSZWxlYXNlIChQTE9LKQ0KICAgICAgICB9DQoNCiAgICAgICAgRGV2aWNlIChQQ0kwKQ0KICAg ICAgICB7DQogICAgICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgXF9TQi5PU1RQICgpDQogICAgICAgICAgICB9DQoN CiAgICAgICAgICAgIE1ldGhvZCAoX1MxRCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpDQogICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgIE1ldGhvZCAoX1MzRCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAg IE1ldGhvZCAoX1M0RCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDIpDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDBBMDMiKSkNCiAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAp DQogICAgICAgICAgICBOYW1lIChfQkJOLCAweDAwKQ0KICAgICAgICAgICAgT3BlcmF0aW9uUmVn aW9uIChIQlVTLCBQQ0lfQ29uZmlnLCAweDQwLCAweEMwKQ0KICAgICAgICAgICAgRmllbGQgKEhC VVMsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgyMCksIA0KICAgICAgICAgICAgICAgIERSQjAsICAgOCwgDQogICAg ICAgICAgICAgICAgRFJCMSwgICA4LCANCiAgICAgICAgICAgICAgICBEUkIyLCAgIDgsIA0KICAg ICAgICAgICAgICAgIERSQjMsICAgOCwgDQogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDUwKSwg DQogICAgICAgICAgICAgICAgICAgICwgICA0LCANCiAgICAgICAgICAgICAgICBQTTBILCAgIDIs IA0KICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1MSksIA0KICAgICAgICAgICAgICAgIFBNMUws ICAgMiwgDQogICAgICAgICAgICAgICAgICAgICwgICAyLCANCiAgICAgICAgICAgICAgICBQTTFI LCAgIDIsIA0KICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1MiksIA0KICAgICAgICAgICAgICAg IFBNMkwsICAgMiwgDQogICAgICAgICAgICAgICAgICAgICwgICAyLCANCiAgICAgICAgICAgICAg ICBQTTJILCAgIDIsIA0KICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1MyksIA0KICAgICAgICAg ICAgICAgIFBNM0wsICAgMiwgDQogICAgICAgICAgICAgICAgICAgICwgICAyLCANCiAgICAgICAg ICAgICAgICBQTTNILCAgIDIsIA0KICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1NCksIA0KICAg ICAgICAgICAgICAgIFBNNEwsICAgMiwgDQogICAgICAgICAgICAgICAgICAgICwgICAyLCANCiAg ICAgICAgICAgICAgICBQTTRILCAgIDIsIA0KICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1NSks IA0KICAgICAgICAgICAgICAgIFBNNUwsICAgMiwgDQogICAgICAgICAgICAgICAgICAgICwgICAy LCANCiAgICAgICAgICAgICAgICBQTTVILCAgIDIsIA0KICAgICAgICAgICAgICAgIE9mZnNldCAo MHg1NiksIA0KICAgICAgICAgICAgICAgIFBNNkwsICAgMiwgDQogICAgICAgICAgICAgICAgICAg ICwgICAyLCANCiAgICAgICAgICAgICAgICBQTTZILCAgIDIsIA0KICAgICAgICAgICAgICAgIE9m ZnNldCAoMHg1NyksIA0KICAgICAgICAgICAgICAgIEZESEMsICAgOA0KICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICBOYW1lIChCVUYwLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgV29yZEJ1c051bWJlciAoUmVzb3VyY2VQcm9kdWNlciwgTWlu Rml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMCwN CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwRkYs DQogICAgICAgICAgICAgICAgICAgIDB4MDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMTAw LCAweDAwKQ0KICAgICAgICAgICAgICAgIERXb3JkSU8gKFJlc291cmNlUHJvZHVjZXIsIE1pbkZp eGVkLCBNYXhGaXhlZCwgUG9zRGVjb2RlLCBFbnRpcmVSYW5nZSwNCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAwMENGNywNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwN CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMENGOCwgMHgwMCkNCiAgICAgICAgICAgICAgICBJ TyAoRGVjb2RlMTYsIDB4MENGOCwgMHgwQ0Y4LCAweDAxLCAweDA4KQ0KICAgICAgICAgICAgICAg IERXb3JkSU8gKFJlc291cmNlUHJvZHVjZXIsIE1pbkZpeGVkLCBNYXhGaXhlZCwgUG9zRGVjb2Rl LCBFbnRpcmVSYW5nZSwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAwMEQwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwRkZGRiwN CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwRjMwMCwgMHgwMCkNCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9k dWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRl LA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAw eDAwMEEwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMEJGRkZGLA0KICAgICAgICAgICAg ICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAwLCAweDAw KQ0KICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNv ZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsDQogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwQzAwMDAsDQog ICAgICAgICAgICAgICAgICAgIDB4MDAwQzNGRkYsDQogICAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAsIDB4MDApDQogICAgICAgICAg ICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQs IE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwNCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDNDAwMCwNCiAgICAgICAgICAgICAg ICAgICAgMHgwMDBDN0ZGRiwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgMHgwMCkNCiAgICAgICAgICAgICAgICBEV29yZE1l bW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENh Y2hlYWJsZSwgUmVhZFdyaXRlLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAg ICAgICAgICAgICAgICAgICAweDAwMEM4MDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMENC RkZGLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAg ICAweDAwMDA0MDAwLCAweDAwKQ0KICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJj ZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFk V3JpdGUsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAg ICAgIDB4MDAwQ0MwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwQ0ZGRkYsDQogICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAs IDB4MDApDQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBv c0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwNCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBEMDAw MCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBEM0ZGRiwNCiAgICAgICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgMHgwMCkNCiAgICAg ICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5G aXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLA0KICAgICAgICAgICAgICAgICAg ICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMEQ0MDAwLA0KICAgICAgICAg ICAgICAgICAgICAweDAwMEQ3RkZGLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0K ICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAweDAwKQ0KICAgICAgICAgICAgICAgIERX b3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhl ZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAs DQogICAgICAgICAgICAgICAgICAgIDB4MDAwRDgwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4 MDAwREJGRkYsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDQwMDAsIDB4MDApDQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJl c291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUs IFJlYWRXcml0ZSwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAg ICAgICAgICAgMHgwMDBEQzAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBERkZGRiwNCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw NDAwMCwgMHgwMCkNCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNl ciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLA0K ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAw MEUwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMEUzRkZGLA0KICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAweDAwKQ0K ICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUs IE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsDQogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwRTQwMDAsDQogICAg ICAgICAgICAgICAgICAgIDB4MDAwRTdGRkYsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAw MDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAsIDB4MDApDQogICAgICAgICAgICAg ICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1h eEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFODAwMCwNCiAgICAgICAgICAgICAgICAg ICAgMHgwMDBFQkZGRiwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAwNDAwMCwgMHgwMCkNCiAgICAgICAgICAgICAgICBEV29yZE1lbW9y eSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hl YWJsZSwgUmVhZFdyaXRlLA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAg ICAgICAgICAgICAgICAweDAwMEVDMDAwLA0KICAgICAgICAgICAgICAgICAgICAweDAwMEVGRkZG LA0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLA0KICAgICAgICAgICAgICAgICAgICAw eDAwMDA0MDAwLCAweDAwKQ0KICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVBy b2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3Jp dGUsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAg IDB4MDAwRjAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwRkZGRkYsDQogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsDQogICAgICAgICAgICAgICAgICAgIDB4MDAwMTAwMDAsIDB4 MDApDQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0Rl Y29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwNCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwN CiAgICAgICAgICAgICAgICAgICAgMHhGRUJGRkZGRiwNCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwMCkNCiAgICAgICAg ICAgIH0pDQogICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgSWYgKFBNMUwpDQogICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDgwLCBDMExOKQ0KICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQzBMTikNCiAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTFMLCAweDAxKSkNCiAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDAzNzgsIEMw UlcpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDMFJXKQ0KICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChQTTFIKQ0KICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHg5QiwgQzRMTikNCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEM0TE4pDQogICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0xSCwgMHgwMSkpDQogICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwNDUwLCBD NFJXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQzRSVykNCiAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoUE0yTCkNCiAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4QjYsIEM4TE4pDQog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDOExOKQ0KICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNMkwsIDB4MDEpKQ0KICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKEJVRjAsIDB4MDUyOCwg QzhSVykNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEM4UlcpDQogICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKFBNMkgpDQogICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweEQxLCBDQ0xOKQ0K ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQ0NMTikNCiAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTJILCAweDAxKSkNCiAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDA2MDAs IENDUlcpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDQ1JXKQ0KICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIElmIChQTTNMKQ0KICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHhFQywgRDBMTikN CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQwTE4pDQogICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0zTCwgMHgwMSkpDQogICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwNkQ4 LCBEMFJXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRDBSVykNCiAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoUE0zSCkNCiAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MDEwNywgRDRM TikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQ0TE4pDQogICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0zSCwgMHgwMSkpDQogICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgw N0IwLCBENFJXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRDRSVykNCiAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoUE00TCkNCiAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MDEyMiwg RDhMTikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQ4TE4pDQogICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE00TCwgMHgwMSkpDQogICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwg MHgwODg4LCBEOFJXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRDhSVykNCiAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoUE00SCkNCiAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MDEz RCwgRENMTikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIERDTE4pDQogICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE00SCwgMHgwMSkpDQog ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVG MCwgMHgwOTYwLCBEQ1JXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRENSVykN CiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoUE01TCkNCiAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4 MDE1OCwgRTBMTikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEUwTE4pDQogICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE01TCwgMHgwMSkp DQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAo QlVGMCwgMHgwQTM4LCBFMFJXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRTBS VykNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoUE01SCkNCiAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAs IDB4MDE3MywgRTRMTikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEU0TE4pDQog ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE01SCwgMHgw MSkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVs ZCAoQlVGMCwgMHgwQjEwLCBFNFJXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywg RTRSVykNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoUE02TCkNCiAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJV RjAsIDB4MDE4RSwgRThMTikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEU4TE4p DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE02TCwg MHgwMSkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRG aWVsZCAoQlVGMCwgMHgwQkU4LCBFOFJXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVy bywgRThSVykNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoUE02SCkN CiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KEJVRjAsIDB4MDFBOSwgRUNMTikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEVD TE4pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE02 SCwgMHgwMSkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVC aXRGaWVsZCAoQlVGMCwgMHgwQ0MwLCBFQ1JXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSAo WmVybywgRUNSVykNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBJZiAoUE0w SCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKEJVRjAsIDB4MDFDNCwgRjBMTikNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IEYwTE4pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo UE0wSCwgMHgwMSkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBDcmVh dGVCaXRGaWVsZCAoQlVGMCwgMHgwRDk4LCBGMFJXKQ0KICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoWmVybywgRjBSVykNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBDcmVh dGVEV29yZEZpZWxkIChCVUYwLCAweDAxRDMsIE0xTU4pDQogICAgICAgICAgICAgICAgQ3JlYXRl RFdvcmRGaWVsZCAoQlVGMCwgMHgwMUQ3LCBNMU1YKQ0KICAgICAgICAgICAgICAgIENyZWF0ZURX b3JkRmllbGQgKEJVRjAsIDB4MDFERiwgTTFMTikNCiAgICAgICAgICAgICAgICBNdWx0aXBseSAo MHgwMjAwMDAwMCwgRFJCMywgTTFNTikNCiAgICAgICAgICAgICAgICBBZGQgKFN1YnRyYWN0IChN MU1YLCBNMU1OKSwgMHgwMSwgTTFMTikNCiAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRjApDQog ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXpl ZCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDkp DQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZG LCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIA0KICAgICAgICAgICAgICAgICAgICAg ICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQSwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwDQog ICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw MUZGRkYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgDQogICAgICAgICAgICAgICAg ICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDANCiAgICAgICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDAxRkZGRiwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCANCiAgICAgICAgICAg ICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0MsIA0KICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMA0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDFGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRCwgDQogICAgICAgICAgICAgICAg ICAgICAgICAweDAwDQogICAgICAgICAgICAgICAgICAgIH0sIA0KDQogICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAxREZGRkYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgDQog ICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktBLCANCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDANCiAgICAgICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgDQogICAgICAgICAgICAgICAgICAgICAgICAweDAx LCANCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0QsIA0KICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAweDAwMURGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQywgDQog ICAgICAgICAgICAgICAgICAgICAgICAweDAwDQogICAgICAgICAgICAgICAgICAgIH0sIA0KDQog ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMywgDQogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktI LCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDANCiAgICAgICAgICAgICAgICAgICAgfSwg DQoNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFGRkZGRiwgDQogICAgICAgICAgICAg ICAgICAgICAgICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENC LkxOS0IsIA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgRGV2 aWNlIChBR1BCKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4 MDAwMTAwMDApDQogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVk KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdl ICgweDAxKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4RkZGRiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwg DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQSwgDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgIERldmljZSAoVklEMCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9BRFIsIDB4MDApDQogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAo VklEUiwgUENJX0NvbmZpZywgMHg0QywgMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgRmllbGQg KFZJRFIsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIFNTSUQsICAgMzINCiAgICAgICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgICAgIERldmljZSAoQ1JUKQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAxMDApDQogICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKExDRCkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgw MTEwKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgRGV2aWNl IChUVikNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMjAwKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBEZXZpY2UgKFBDSUIpDQogICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFFMDAwMCkNCiAgICAgICAgICAg ICAgICBEZXZpY2UgKExBTkMpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICBOYW1lIChfQURSLCAweDAwMDgwMDAwKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFJX LCBQYWNrYWdlICgweDAyKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAweDBCLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMNCiAgICAgICAgICAg ICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZpY2Ug KFdMQU4pDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURS LCAweDAwMEIwMDAwKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFNDLCAweDAwKQ0KICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9QUzAsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBfUFND KQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf UFMzLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgX1BTQykNCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBG KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgRGV2aWNlIChDUkQwKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgTmFtZSAoX0FEUiwgMHgwMDA1MDAwMCkNCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9u UmVnaW9uIChDQ1JELCBQQ0lfQ29uZmlnLCAweDAwLCAweEU0KQ0KICAgICAgICAgICAgICAgICAg ICBGaWVsZCAoQ0NSRCwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwNCksIA0KICAgICAg ICAgICAgICAgICAgICAgICAgQ0QwNCwgICAzMiwgDQogICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4M0UpLCANCiAgICAgICAgICAgICAgICAgICAgICAgIENEM0UsICAgMzIsIA0KICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDQ0KSwgDQogICAgICAgICAgICAgICAgICAg ICAgICBDRDQ0LCAgIDMyLCANCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhFMCks IA0KICAgICAgICAgICAgICAgICAgICAgICAgQ0RFMCwgICA4LCANCiAgICAgICAgICAgICAgICAg ICAgICAgIENERTEsICAgOA0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQ0Q0NCkNCiAgICAgICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QU0MsIDB4MDApDQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BTMCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIF9Q U0MpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9QUzMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBfUFNDKQ0KICAgICAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MEYpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBOYW1lIChf UFJXLCBQYWNrYWdlICgweDAyKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAweDBCLCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMNCiAgICAgICAg ICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZp Y2UgKFNEOTQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChf QURSLCAweDAwMDUwMDAxKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIE1l dGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwNSkNCiAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDVGRkZGLCANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcX1NCLlBDSTAuTFBDQi5MTktGLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwDQogICAgICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwMDVGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktH LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwDQogICAgICAgICAgICAgICAgICAg ICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMEJG RkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktELCANCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwDQogICAgICAgICAgICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCANCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAu TFBDQi5MTktFLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwDQogICAgICAgICAg ICAgICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAwMDhGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktFLCANCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICBEZXZpY2UgKExQQ0IpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMDFGMDAwMCkNCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKExQ QzAsIFBDSV9Db25maWcsIDB4NDAsIDB4QzApDQogICAgICAgICAgICAgICAgRmllbGQgKExQQzAs IEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgyMCksIA0KICAgICAgICAgICAgICAgICAgICBQSVJBLCAgIDgs IA0KICAgICAgICAgICAgICAgICAgICBQSVJCLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICBQ SVJDLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICBQSVJELCAgIDgsIA0KICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MjgpLCANCiAgICAgICAgICAgICAgICAgICAgUElSRSwgICA4LCAN CiAgICAgICAgICAgICAgICAgICAgUElSRiwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgUElS RywgICA4LCANCiAgICAgICAgICAgICAgICAgICAgUElSSCwgICA4LCANCiAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweDkwKSwgDQogICAgICAgICAgICAgICAgICAgIEhQVEUsICAgMzIsIA0K ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4QTApLCANCiAgICAgICAgICAgICAgICAgICAg TERFMCwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgTERFMSwgICA4DQogICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChMTktBKQ0KICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQ0KICAg ICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAxKQ0KICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwLCBQSVJBKQ0KICAgICAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAo KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExl dmVsLCBBY3RpdmVMb3csIFNoYXJlZCkgezl9DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMQSwgUmVzb3VyY2VU ZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7fQ0KICAgICAgICAgICAg ICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo UlRMQSwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJ UlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBJUkEs IDB4MEYpLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChSVExBKQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAx LCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEsIElSUTApDQogICAgICAgICAgICAgICAg ICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExvY2FsMCwgUElSQSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUElSQSwgMHg4MCkpDQogICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwQikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoTE5L QikNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMikN CiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBTZXJpYWxpemVkKQ0KICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgUElS QikNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9Q UlMsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHs5fQ0KICAgICAg ICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNl cmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IE5hbWUgKFJUTEIsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNo YXJlZCkge30NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVXb3JkRmllbGQgKFJUTEIsIDB4MDEsIElSUTApDQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoMHgwMSwgQW5kIChQSVJCLCAweDBGKSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoUlRMQikNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJ UlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2Nh bDApDQogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkNCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBJUkIpDQogICAgICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFBJ UkIsIDB4ODApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwOSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpDQogICAgICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICBEZXZpY2UgKExOS0MpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpDQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9VSUQsIDB4MDMpDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywg MCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4ODAsIFBJUkMpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAg ICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxv dywgU2hhcmVkKSB7OX0NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChSVExDLCBSZXNvdXJjZVRlbXBsYXRlICgpDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJR IChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHt9DQogICAgICAgICAgICAgICAgICAgICAgICB9 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExDLCAweDAxLCBJ UlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElSUTApDQogICAgICAg ICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKDB4MDEsIEFuZCAoUElSQywgMHgwRiksIElSUTAp DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEMpDQogICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRT ZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVt ZW50IChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQSVJD KQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf U1RBLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChQSVJDLCAweDgwKSkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpDQogICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBC KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChMTktEKQ0KICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMw RiIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA0KQ0KICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwLCBQSVJEKQ0KICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3VyY2VU ZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkgezl9DQogICAgICAgICAgICAgICAgICAg IH0pDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMRCwg UmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7fQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoUlRMRCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChaZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBB bmQgKFBJUkQsIDB4MEYpLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChS VExEKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfU1JTLCAxLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEsIElSUTApDQogICAgICAg ICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAsIExvY2FsMCkNCiAgICAgICAg ICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKExvY2FsMCwgUElSRCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUElSRCwgMHg4MCkpDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDA5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwQikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERl dmljZSAoTE5LRSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJ RCwgMHgwNSkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBTZXJpYWxpemVk KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHg4MCwgUElSRSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHs5 fQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9D UlMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIE5hbWUgKFJUTEUsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3Rp dmVMb3csIFNoYXJlZCkge30NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAg ICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFJUTEUsIDB4MDEsIElSUTApDQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIFNoaWZ0TGVmdCAoMHgwMSwgQW5kIChQSVJFLCAweDBGKSwgSVJRMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoUlRMRSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcw LCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJ UlEwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkN CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBJUkUpDQogICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElm IChBbmQgKFBJUkUsIDB4ODApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpDQogICAgICAgICAg ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKExOS0YpDQogICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpDQogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDYpDQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0RJUywgMCwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAsIFBJUkYpDQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWws IEFjdGl2ZUxvdywgU2hhcmVkKSB7OX0NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChSVExGLCBSZXNvdXJjZVRlbXBs YXRlICgpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHt9DQogICAgICAgICAgICAgICAg ICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExG LCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElSUTAp DQogICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKDB4MDEsIEFuZCAoUElSRiwgMHgw RiksIElSUTApDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEYpDQogICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNl cmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgRGVjcmVtZW50IChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9j YWwwLCBQSVJGKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfU1RBLCAwLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChQSVJGLCAweDgwKSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpDQog ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDBCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChMTktHKQ0K ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiUE5QMEMwRiIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA3KQ0KICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwLCBQSVJHKQ0K ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywg UmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkgezl9DQogICAgICAgICAg ICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFt ZSAoUlRMRywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVk KSB7fQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoUlRMRywgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChaZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0 ICgweDAxLCBBbmQgKFBJUkcsIDB4MEYpLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChSVExHKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfU1JTLCAxLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEsIElSUTAp DQogICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAsIExvY2FsMCkN CiAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgUElSRykNCiAgICAgICAgICAgICAgICAgICAgfQ0K DQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkNCiAgICAg ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUElSRywg MHg4MCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDA5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikNCiAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgIERldmljZSAoTE5LSCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkNCiAgICAgICAgICAgICAgICAgICAg TmFtZSAoX1VJRCwgMHgwOCkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBT ZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHg4MCwgUElSSCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBT aGFyZWQpIHs5fQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIE5hbWUgKFJUTEgsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExl dmVsLCBBY3RpdmVMb3csIFNoYXJlZCkge30NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFJUTEgsIDB4MDEsIElSUTAp DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgQW5kIChQSVJILCAweDBGKSwgSVJRMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUlRMSCkNCiAgICAgICAgICAgICAgICAgICAg fQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChBcmcwLCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJp Z2h0Qml0IChJUlEwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQg KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBJUkgpDQog ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEs IDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIElmIChBbmQgKFBJUkgsIDB4ODApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpDQog ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKFRJTVIpDQogICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwMTAwIikp DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAwNDAsIDB4MDA0MCwgMHgwMSwgMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwgMHgwMDUwLCAweDAwNTAsIDB4MTAsIDB4MDQpDQogICAgICAgICAgICAgICAg ICAgIH0pDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRjEsIFJlc291cmNlVGVtcGxhdGUg KCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LCAweDAwNDAsIDB4MDA0MCwgMHgwMSwgMHgwNCkNCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwgMHgwMDUwLCAweDAwNTAsIDB4MTAsIDB4MDQpDQogICAgICAgICAg ICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHswfQ0KICAgICAgICAgICAgICAgICAgICB9KQ0K ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEhQVEUsIDB4 MDAwMjAwMDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQlVGMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYxKQ0KICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChJUElDKQ0KICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMDAwMCIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBs YXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwgMHgwMDIwLCAweDAwMjAsIDB4MDEsIDB4MDIpDQogICAgICAgICAgICAgICAg ICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAyNCwgMHgwMDI0LCAweDAxLCAweDAyKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMjgsIDB4MDAyOCwgMHgwMSwgMHgw MikNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDJDLCAweDAwMkMs IDB4MDEsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAz MCwgMHgwMDMwLCAweDAxLCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LCAweDAwMzQsIDB4MDAzNCwgMHgwMSwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwgMHgwMDM4LCAweDAwMzgsIDB4MDEsIDB4MDIpDQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAzQywgMHgwMDNDLCAweDAxLCAweDAyKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwQTAsIDB4MDBBMCwgMHgwMSwg MHgwMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEE0LCAweDAw QTQsIDB4MDEsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDBBOCwgMHgwMEE4LCAweDAxLCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LCAweDAwQUMsIDB4MDBBQywgMHgwMSwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwgMHgwMEIwLCAweDAwQjAsIDB4MDEsIDB4MDIpDQogICAgICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDBCNCwgMHgwMEI0LCAweDAxLCAweDAyKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwQjgsIDB4MDBCOCwgMHgw MSwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEJDLCAw eDAwQkMsIDB4MDEsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs IDB4MDREMCwgMHgwNEQwLCAweDAxLCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSVJR Tm9GbGFncyAoKSB7Mn0NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKFJUQykNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBCMDAiKSkNCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoQlVGMCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA3MCwg MHgwMDcwLCAweDAxLCAweDA4KQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAg ICAgICAgICBOYW1lIChCVUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDcwLCAweDAw NzAsIDB4MDEsIDB4MDgpDQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHs4 fQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9D UlMsIDAsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChBbmQgKEhQVEUsIDB4MDAwMjAwMDApKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChC VUYxKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgRGV2aWNlIChNQVRIKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwNCIpKQ0KICAgICAgICAgICAgICAgICAg ICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEYwLCAweDAwRjAsIDB4 MDEsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHsxM30NCiAg ICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICBEZXZpY2UgKERNQUMpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBO YW1lIChfSElELCBFaXNhSWQgKCJQTlAwMjAwIikpDQogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgy MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDgxLCAweDAwODEs IDB4MDEsIDB4MEYpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA5 MCwgMHgwMDkwLCAweDAxLCAweDAyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LCAweDAwOTMsIDB4MDA5MywgMHgwMSwgMHgwRCkNCiAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwgMHgwMEMwLCAweDAwQzAsIDB4MDEsIDB4MjApDQogICAgICAgICAgICAg ICAgICAgICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXI4XzE2 KSB7NH0NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICBEZXZpY2UgKE1CUkQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzAyIikpDQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwMkUsIDB4MDAyRSwg MHgwMSwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDYx LCAweDAwNjEsIDB4MDEsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDA2MywgMHgwMDYzLCAweDAxLCAweDAxKQ0KICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDAwNjUsIDB4MDA2NSwgMHgwMSwgMHgwMSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDY3LCAweDAwNjcsIDB4MDEsIDB4MDEpDQogICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA4MCwgMHgwMDgwLCAweDAxLCAw eDAxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwOTIsIDB4MDA5 MiwgMHgwMSwgMHgwMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MEIyLCAweDAwQjIsIDB4MDEsIDB4MDIpDQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDYwMCwgMHgwNjAwLCAweDAxLCAweDEwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgSU8gKERlY29kZTE2LCAweDA3MDAsIDB4MDcwMCwgMHgwMSwgMHgxMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgxMDAwLCAweDEwMDAsIDB4MDEsIDB4ODApDQog ICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MTE4MCwgMHgxMTgwLCAweDAx LCAweDQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweEZFMDAsIDB4 RkUwMCwgMHgwMSwgMHgwMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHhGRTEwLCAweEZFMTAsIDB4MDEsIDB4MDgpDQogICAgICAgICAgICAgICAgICAgICAgICBNZW1v cnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4RkVCRkUwMDAsIDB4MDAwMDEwMDApDQogICAgICAgICAg ICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4RkVCRkYwMDAsIDB4MDAw MDEwMDApDQogICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUs IDB4RkVDMDAwMDAsIDB4MDAwMDEwMDApDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgRGV2aWNlIChGV0hEKQ0KICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiSU5UMDgwMCIp KQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4 ZWQgKFJlYWRPbmx5LCAweEZGODAwMDAwLCAweDAwODAwMDAwKQ0KICAgICAgICAgICAgICAgICAg ICB9KQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoRUMwKQ0K ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiUE5QMEMwOSIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRl bXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwgMHgwMDYyLCAweDAwNjIsIDB4MDEsIDB4MDEpDQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA2NiwgMHgwMDY2LCAweDAxLCAweDAxKQ0KICAg ICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChfR1BFLCAweDFD KQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChFQ09LLCAweDAwKQ0KICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9SRUcsIDIsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDMpKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChBcmcxLCBFQ09LKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikN CiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgxRCwgDQog ICAgICAgICAgICAgICAgICAgICAgICAweDA1DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAg ICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoRUNSLCBFbWJlZGRlZENvbnRyb2wsIDB4 MDAsIDB4RkYpDQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChFQ1IsIEJ5dGVBY2MsIExvY2ss IFByZXNlcnZlKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4ODApLCANCiAgICAgICAgICAgICAgICAgICAgICAgIE1QQlAsICAgMSwgDQog ICAgICAgICAgICAgICAgICAgICAgICBNUEJELCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAg ICAgRE9LRCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIERGQlAsICAgMSwgDQogICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4ODEpLCANCiAgICAgICAgICAgICAgICAgICAg ICAgIEJUMUEsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAgICBCVDJBLCAgIDEsIA0KICAg ICAgICAgICAgICAgICAgICAgICAgQUNBVCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHg4MiksIA0KICAgICAgICAgICAgICAgICAgICAgICAgUFdSQiwgICAxLCANCiAg ICAgICAgICAgICAgICAgICAgICAgIEpPR0IsICAgMSwgDQogICAgICAgICAgICAgICAgICAgICAg ICBMSURTLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDgzKSwgDQog ICAgICAgICAgICAgICAgICAgICAgICBCVDFQLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAg ICAgQlQyUCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg4NCksIA0K ICAgICAgICAgICAgICAgICAgICAgICAgQjFTVCwgICA4LCANCiAgICAgICAgICAgICAgICAgICAg ICAgIEIyU1QsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4OTApLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIE1BU0ssICAgOCwgDQogICAgICAgICAgICAgICAgICAg ICAgICBCVDFTLCAgIDEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQlQyUywgICAxLCANCiAg ICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg5MiksIA0KICAgICAgICAgICAgICAgICAg ICAgICAgQlQxVywgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIEJUMlcsICAgMSwgDQog ICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4OTMpLCANCiAgICAgICAgICAgICAgICAg ICAgICAgIEZBTjAsICAgOCwgDQogICAgICAgICAgICAgICAgICAgICAgICBDQjBTLCAgIDEsIA0K ICAgICAgICAgICAgICAgICAgICAgICAgQ0IxUywgICAxLCANCiAgICAgICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHg5NSksIA0KICAgICAgICAgICAgICAgICAgICAgICAgUEhZTywgICAxLCAN CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg5NiksIA0KICAgICAgICAgICAgICAg ICAgICAgICAgQlJJVCwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIENPTlQsICAgOCwg DQogICAgICAgICAgICAgICAgICAgICAgICBTTkRVLCAgIDEsIA0KICAgICAgICAgICAgICAgICAg ICAgICAgU05ERCwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg5OSks IA0KICAgICAgICAgICAgICAgICAgICAgICAgU01ETSwgICAxLCANCiAgICAgICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHg5QSksIA0KICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgw eDlCKSwgDQogICAgICAgICAgICAgICAgICAgICAgICBTSVJRLCAgIDgsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgU0xPQiwgICA4LCANCiAgICAgICAgICAgICAgICAgICAgICAgIFNISUIsICAg OCwgDQogICAgICAgICAgICAgICAgICAgICAgICBNUFdSLCAgIDEsIA0KICAgICAgICAgICAgICAg ICAgICAgICAgV0FLSSwgICAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg5 RiksIA0KICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEEwKSwgDQogICAgICAgICAg ICAgICAgICAgICAgICBCMVJDLCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEIxQUIs ICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQjFBQywgICAxNiwgDQogICAgICAgICAg ICAgICAgICAgICAgICBCMVZPLCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEIyUkMs ICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQjJBQiwgICAxNiwgDQogICAgICAgICAg ICAgICAgICAgICAgICBCMkFDLCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEIyVk8s ICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQjFEQywgICAxNiwgDQogICAgICAgICAg ICAgICAgICAgICAgICBCMUxGLCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEIxRFYs ICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQjFETCwgICAxNiwgDQogICAgICAgICAg ICAgICAgICAgICAgICBCMkRDLCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEIyTEYs ICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQjJEViwgICAxNiwgDQogICAgICAgICAg ICAgICAgICAgICAgICBCMkRMLCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEExVFAs ICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQTFBVCwgICAxNiwgDQogICAgICAgICAg ICAgICAgICAgICAgICBBMVBULCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEExQ1Qs ICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQTJUUCwgICAxNiwgDQogICAgICAgICAg ICAgICAgICAgICAgICBBMkFULCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgICAgIEEyUFQs ICAgMTYsIA0KICAgICAgICAgICAgICAgICAgICAgICAgQTJDVCwgICAxNg0KICAgICAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTUwLCAwLCBOb3RTZXJp YWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKEFDQUQsIDB4ODApDQogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLk5DUFUgKCkN CiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E1 MSwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEJUMUEpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChCQVQxLCAweDAwKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoQkFUMSwgMHgw MSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAg Tm90aWZ5IChCQVQxLCAweDgwKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfUTUzLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIl9RNTM6QmF0dGVyeSBTZWxl Y3Rpb24iLCBEZWJ1ZykNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1E1OCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKCJfUTU4OkFURiB0ZW1wZXJhdHVyZSB0 cmlwIHBvaW50IGNoYW5nZCIsIERlYnVnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5 IChcX1RaLkFURjAsIDB4ODEpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9RNUYsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgiX1E1RjpBVEYgdGVtcGVyYXR1 cmUgcmVhY2hlcyB0cmlwIHBvaW50IiwgRGVidWcpDQogICAgICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKFxfVFouQVRGMCwgMHg4MCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1E2MCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBXUkIsIDB4 ODApDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9RNjYsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5MSUQwLCAweDgwKQ0KICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChCQVQxKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQ TlAwQzBBIikpDQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAxKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BDTCwgUGFja2FnZSAoMHgwMSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCDQogICAg ICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoQkFU SSwgUGFja2FnZSAoMHgwRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDk2 NTAsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4OTY1MCwgDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzOUQw LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDc4LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDBBLCANCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJMSU9OIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNv bnkgQ29ycC4iDQogICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAg ICAgICAgTmFtZSAoQkFUUywgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCANCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweEZGRkZGRkZGLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBE N0EsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4Mzg0MA0KICAgICAgICAgICAgICAg ICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90 U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLlBDSTAuTFBDQi5FQzAuRUNPSywgMHgwMCkpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBbmQgKFBIU0QgKDB4RDQsIDB4ODApLCAweDAxMDAsIExvY2FsMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEJUMUEsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwxKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MUYsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEYsIExvY2FsMCkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfQklGLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFxfU0Iu UENJMC5MUENCLkVDMC5FQ09LLCAweDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNEICgweEQ0LCAweEIw KSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTRCAo MHhENCwgMHhCMiksIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFBIU0QgKDB4RDQsIDB4QjYpLCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCMURD LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCMUxGLCBM b2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCMURWLCBMb2Nh bDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgTXVsdGlwbHkgKExvY2FsMCwgMHgwQSwgSW5kZXggKEJBVEksIDB4MDEpKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5IChMb2NhbDEsIDB4MEEsIEluZGV4IChC QVRJLCAweDAyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwyLCBJ bmRleCAoQkFUSSwgMHgwNCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChC QVRJKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9CU1QsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXF9TQi5QQ0kwLkxQ Q0IuRUMwLkVDT0ssIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFuZCAoUEhTRCAoMHhENCwgMHg4NCks IDB4RkYsIExvY2FsMCksIEluZGV4IChCQVRTLCAweDAwKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFBIU0QgKDB4RDQsIDB4QTYpLCBMb2NhbDApDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNEICgweEQ0LCAweEE0KSwgTG9jYWwxKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTRCAoMHhENCwgMHhBMiks IExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEIxU1QsIEluZGV4IChCQVRTLCAweDAwKSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEIxVk8sIExvY2FsMCkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEIxQUMsIExvY2FsMSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEIxQUIsIExvY2FsMikNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChMb2NhbDEsIDB4RkZGRikpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRkZGRkZGRiwgTG9jYWwx KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTExlc3MgKExvY2FsMSwgMHg4MDAwKSkpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFhPciAoTG9jYWwxLCAweEZGRkYsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlw bHkgKExvY2FsMCwgTG9jYWwxLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERpdmlkZSAoTG9jYWwxLCAweDAzRTgsICwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEs IEluZGV4IChCQVRTLCAweDAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWx0aXBs eSAoTG9jYWwyLCAweDBBLCBJbmRleCAoQkFUUywgMHgwMikpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKExvY2FsMCwgSW5kZXggKEJBVFMsIDB4MDMpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQkFUUykNCiAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIFNjb3BlIChcKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChQV1JT LCBPbmVzKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgRGV2 aWNlIChBQ0FEKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICBOYW1lIChfSElELCAiQUNQSTAwMDMiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAo X1BDTCwgUGFja2FnZSAoMHgwMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcX1NCDQogICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAg ICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUFNSLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKFxfU0IuUENJMC5MUENCLkVDMC5FQ09LLCAweDAwKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoUEhTRCAo MHhENCwgMHg4MCksIDB4MDQwMCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQUNBVCwg TG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIFBXUlMpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKFplcm8pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg ICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDBGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg RGV2aWNlIChTUElDKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0hJRCwgRWlzYUlkICgiU05ZNjAwMSIpKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lIChS U1JDLCBSZXNvdXJjZVRlbXBsYXRlICgpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4MjAp DQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHt9DQogICAgICAgICAgICAg ICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKFNTUkMsIFJlc291cmNlVGVtcGxh dGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LCAweDAwMDAsIDB4MDAwMCwgMHgwMSwgMHgyMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgIElSUU5vRmxhZ3MgKCkge30NCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoU0lSVCwgUGFja2FnZSAoMHgwNCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwNiwgDQogICAgICAgICAgICAgICAgICAg ICAgICAweDA5LCANCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MEEsIA0KICAgICAgICAgICAg ICAgICAgICAgICAgMHgwQg0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoUlNSQywgMHgwMiwg SU9NMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoUlNSQywgMHgw MywgSU9NMikNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUlNSQywg MHgwMiwgSU8xSSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUlNS QywgMHgwNCwgSU8xQSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo UlNSQywgMHgwOSwgSVJRVikNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFxf U0IuUENJMC5MUENCLkVDMC5FQ09LLCAweDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTQiAoMHhENCwgMHg5QyksIElP TTEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU0IgKDB4RDQsIDB4OUQp LCBJT00yKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChcX1NCLlBDSTAuTFBDQi5FQzAuU0xPQiwgSU9NMSkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLkxQQ0IuRUMwLlNISUIsIElPTTIpDQog ICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChJTzFJLCBJTzFBKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXF9TQi5Q Q0kwLkxQQ0IuRUMwLkVDT0ssIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKFBIU0IgKDB4RDQsIDB4OUIpLCAw eDA0LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU2hpZnRSaWdodCAoXF9TQi5QQ0kwLkxQQ0IuRUMwLlNJUlEsIDB4MDQsIExv Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgRmluZFNldFJpZ2h0Qml0IChMb2NhbDAsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChTSVJULCBMb2NhbDEpKSwgTG9jYWwwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgTG9jYWwwLCBJUlFWKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKFJTUkMpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwMiwgSU9BMSkN CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwMywgSU9B MikNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwOSwg SVJRVikNCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRViwgTG9j YWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExvY2FsMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTWF0Y2ggKFNJUlQsIE1FUSwg TG9jYWwwLCBNVFIsIDB4MDAsIDB4MDApLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2hpZnRMZWZ0ICgweDEwLCBMb2NhbDEsIExvY2FsMikNCiAgICAgICAgICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwy KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChcX1NCLlBDSTAuTFBDQi5FQzAuRUNPSywgMHgwMCkpDQogICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhTVyAoMHhENSwgMHg5 QiwgTG9jYWwyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChMb2NhbDIsIFxfU0IuUENJMC5MUENCLkVDMC5TSVJRKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChcX1NCLlBDSTAuTFBDQi5FQzAuRUNPSywgMHgwMCkpDQogICAgICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhTVyAoMHhENSwgMHg5RCwgSU9BMikN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQSFNXICgweEQ1LCAweDlDLCBJT0ExKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAg ICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChJT0EyLCBcX1NCLlBDSTAuTFBDQi5FQzAuU0hJQikNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoSU9BMSwgXF9TQi5QQ0kwLkxQQ0IuRUMwLlNMT0IpDQogICAgICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVz b3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkNCiAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MTA4MCwgMHgx MDgwLCAweDAxLCAweDIwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpDQogICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDEwQTAs IDB4MTBBMCwgMHgwMSwgMHgyMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgx MEMwLCAweDEwQzAsIDB4MDEsIDB4MjApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg ICAgICAgICAgICAgICAgICAgICBTdGFydERlcGVuZGVudEZuTm9QcmkgKCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs IDB4MTBFMCwgMHgxMEUwLCAweDAxLCAweDIwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgICAgICAgICAgRW5kRGVwZW5kZW50Rm4gKCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezYsOSwxMCwxMX0NCiAgICAgICAgICAgICAgICAgICAg fSkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoX0NS UyAoKSwgU1NSQykNCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFxfU0IuUENJ MC5MUENCLkVDMC5FQ09LLCAweDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQSFNXICgweEQ1LCAweDlCLCAweDAwKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBIU1cgKDB4RDUsIDB4OUQsIDB4MDApDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUEhTVyAoMHhENSwgMHg5QywgMHgwMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgXF9TQi5Q Q0kwLkxQQ0IuRUMwLlNJUlEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDAsIFxfU0IuUENJMC5MUENCLkVDMC5TSElCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAwLCBcX1NCLlBDSTAuTFBDQi5FQzAuU0xPQikNCiAgICAgICAgICAgICAgICAg ICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpDQogICAgICAg ICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5v dFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKFxfU0IuUENJMC5MUENCLkVDMC5FQ09LLCAweDAwKSkNCiAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0 IChQSFNCICgweEQ0LCAweDlCKSwgMHgwNCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKFxfU0IuUENJMC5M UENCLkVDMC5TSVJRLCAweDA0LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoTG9jYWwwLCBMb2NhbDEp DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MEQpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZpY2UgKFNOQykNCiAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlNO WTUwMDEiKSkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChHUElELCAwLCBOb3RTZXJpYWxp emVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKFBIU0IgKDB4QzAsIDB4MDApKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChHQlJULCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLlBDSTAu TFBDQi5FQzAuRUNPSywgMHgwMCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU0QgKDB4RDQsIDB4OTYpLCBMb2NhbDApDQog ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQog ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFxfU0IuUENJMC5MUENCLkVDMC5CUklULCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUEhTQiAoMHhDRiwgTG9j YWwwKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoU0JSVCwgMSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU0IgKDB4Q0QsIEFyZzApLCBMb2NhbDApDQogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLlBDSTAuTFBDQi5FQzAuRUNPSywg MHgwMCkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUEhTQiAoMHhDMywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFxfU0IuUENJMC5MUENCLkVD MC5CUklUKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKFplcm8pDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKEdQQlIsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUEhTQiAoMHhDMSwgMHgwMCkp DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKFNQ QlIsIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgIFBIU0IgKDB4QzIsIEFyZzApDQogICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKFplcm8pDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKEdDVFIsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFxfU0IuUENJMC5MUENCLkVDMC5F Q09LLCAweDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoUEhTRCAoMHhENCwgMHg5NyksIExvY2FsMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5Q Q0kwLkxQQ0IuRUMwLkNPTlQsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0K ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQSFNCICgweEQwLCBMb2NhbDApKQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChTQ1RSLCAx LCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoUEhTQiAoMHhDRSwgQXJnMCksIExvY2FsMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKFxfU0IuUENJMC5MUENCLkVDMC5FQ09LLCAweDAwKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQSFNC ICgweEM2LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgXF9TQi5QQ0kwLkxQQ0IuRUMwLkNPTlQpDQog ICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoWmVybykNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoR1BDUiwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQSFNCICgweEM0LCAweDAwKSkNCiAgICAgICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoU1BDUiwgMSwgTm90 U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAg ICAgUEhTQiAoMHhDNSwgQXJnMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVy bykNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo R0NNSSwgMSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChQSFNEICgweENBLCBBcmcwKSkNCiAgICAgICAgICAgICAg ICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoU0NNSSwgMSwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChQSFNEICgweENCLCBBcmcwKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoUFdBSywgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoUExPSywgMHhGRkZG KQ0KICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTAsIDB4ODApDQogICAg ICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChQTE9LKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChaZXJvKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChQV1JOLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUFdSQiwgMHg4MCkNCiAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQ1NYQiwg MSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAgICAgICAgQWNxdWlyZSAoTVBIUywgMHhGRkZGKQ0KICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKEFyZzAsIFNYQkYpDQogICAgICAgICAgICAgICAgICAgICAgICBQSFMwICgweENDKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNYQkYsIExvY2FsMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgIFJlbGVhc2UgKE1QSFMpDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg IE5hbWUgKEJTSVQsIDB4RkZGRikNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChDRFBXLCAx LCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQXJnMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTE5vdCAoQW5kIChcR0wwMywgMHgwOCkpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEFu ZCAoXF9TQi5QQ0kwLklERUMuSUNSNCwgMHgwMyksIDB4MDQsIFxfU0IuUENJMC5JREVDLklDUjQp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDBBKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPciAoXEdMMDMsIDB4MDgsIFxHTDAzKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMUY0KQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBbmQgKFxfU0IuUENJMC5JREVDLklDUjQsIDB4MDMsIFxfU0IuUENJMC5J REVDLklDUjQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCU0lULCBc X1NCLlBDSTAuSURFQy5TRUNUKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5k IChcR0wwMywgMHgwOCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLklERUMuU0VDVCwgQlNJVCkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAwMCwgXF9TQi5QQ0kw LklERUMuU0VDVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEFuZCAoXF9T Qi5QQ0kwLklERUMuSUNSNCwgMHgwMyksIDB4MDQsIFxfU0IuUENJMC5JREVDLklDUjQpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDBBKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBbmQgKFxHTDAzLCAweEY3LCBcR0wwMykNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDFGNCkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEdDRFAsIDAsIE5vdFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoU2hp ZnRSaWdodCAoQW5kIChcR0wwMywgMHgwOCksIDB4MDMpKQ0KICAgICAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChHV0RQLCAwLCBOb3RTZXJpYWxpemVkKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBI UyAoMHhERikpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKE5QUEMsIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIERldmljZSAoUFMySykNCiAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAzMDMi KSkNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0K ICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDA2MCwgMHgwMDYwLCAweDAxLCAweDAxKQ0KICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LCAweDAwNjQsIDB4MDA2NCwgMHgwMSwgMHgwMSkNCiAgICAgICAgICAgICAg ICAgICAgICAgIElSUSAoRWRnZSwgQWN0aXZlSGlnaCwgRXhjbHVzaXZlKSB7MX0NCiAgICAgICAg ICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZp Y2UgKFBTMk0pDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChf SElELCBFaXNhSWQgKCJTTlk5MDA2IikpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DSUQs IDB4MTMwRkQwNDEpDQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVt cGxhdGUgKCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAg SVJRIChFZGdlLCBBY3RpdmVIaWdoLCBFeGNsdXNpdmUpIHsxMn0NCiAgICAgICAgICAgICAgICAg ICAgfSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIERl dmljZSAoVVNCMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAw eDAwMUQwMDAwKQ0KICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoVTBDUywgUENJX0Nv bmZpZywgMHhDNCwgMHgwNCkNCiAgICAgICAgICAgICAgICBGaWVsZCAoVTBDUywgRFdvcmRBY2Ms IE5vTG9jaywgUHJlc2VydmUpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICBVMEVOLCAgIDINCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBOYW1lIChf UFJXLCBQYWNrYWdlICgweDAyKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgMHgwMywgDQogICAgICAgICAgICAgICAgICAgIDB4MDMNCiAgICAgICAgICAgICAgICB9KQ0K ICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BTVywgMSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIElmIChBcmcwKQ0KICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgVTBFTikNCiAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBVMEVOKQ0KICAg ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAg TWV0aG9kIChfUzFELCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1MzRCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikNCiAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TNEQsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpDQogICAgICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBEZXZpY2UgKFVTQjEpDQog ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFEMDAwMSkNCiAg ICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFUxQ1MsIFBDSV9Db25maWcsIDB4QzQsIDB4 MDQpDQogICAgICAgICAgICAgICAgRmllbGQgKFUxQ1MsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNl cnZlKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgVTFFTiwgICAyDQog ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAo MHgwMikNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIDB4MDQsIA0KICAg ICAgICAgICAgICAgICAgICAweDAzDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9QU1csIDEsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICBJZiAoQXJnMCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDMsIFUxRU4pDQogICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgVTFFTikNCiAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIE1ldGhvZCAoX1MxRCwg MCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwMikNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9TM0QsIDAsIE5vdFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MDIpDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgTWV0aG9kIChfUzRELCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQ0KICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgRGV2aWNlIChVU0IyKQ0KICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRDAwMDIpDQogICAgICAgICAgICAgICAg T3BlcmF0aW9uUmVnaW9uIChVMkNTLCBQQ0lfQ29uZmlnLCAweEM0LCAweDA0KQ0KICAgICAgICAg ICAgICAgIEZpZWxkIChVMkNTLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCiAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIFUyRU4sICAgMg0KICAgICAgICAgICAgICAg IH0NCg0KICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpDQogICAgICAg ICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAweDBDLCANCiAgICAgICAgICAgICAgICAg ICAgMHgwMw0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgTWV0aG9kIChfUFNX LCAxLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgSWYgKEFyZzApDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAzLCBVMkVOKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDAsIFUyRU4pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TMUQsIDAsIE5vdFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIp DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBO b3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAyKQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIE1ldGhvZCAo X1M0RCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwMikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoN CiAgICAgICAgICAgIERldmljZSAoVVNCNykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICBOYW1lIChfQURSLCAweDAwMUQwMDA3KQ0KICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBh Y2thZ2UgKDB4MDIpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAweDBE LCANCiAgICAgICAgICAgICAgICAgICAgMHgwMw0KICAgICAgICAgICAgICAgIH0pDQogICAgICAg ICAgICB9DQoNCiAgICAgICAgICAgIE5hbWUgKE5BVEEsIFBhY2thZ2UgKDB4MDEpDQogICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgMHgwMDFGMDAwMQ0KICAgICAgICAgICAgfSkNCiAgICAg ICAgICAgIERldmljZSAoSURFQykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAwMUYwMDAxKQ0KICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSURF QywgUENJX0NvbmZpZywgMHg0MCwgMHgxOCkNCiAgICAgICAgICAgICAgICBGaWVsZCAoSURFQywg RFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICBQUklULCAgIDE2LCANCiAgICAgICAgICAgICAgICAgICAgU0VDVCwgICAxNiwg DQogICAgICAgICAgICAgICAgICAgIFBTSVQsICAgNCwgDQogICAgICAgICAgICAgICAgICAgIFNT SVQsICAgNCwgDQogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIA0KICAgICAgICAg ICAgICAgICAgICBTWU5DLCAgIDQsIA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEEp LCANCiAgICAgICAgICAgICAgICAgICAgU0RUMCwgICAyLCANCiAgICAgICAgICAgICAgICAgICAg ICAgICwgICAyLCANCiAgICAgICAgICAgICAgICAgICAgU0RUMSwgICAyLCANCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDBCKSwgDQogICAgICAgICAgICAgICAgICAgIFNEVDIsICAgMiwg DQogICAgICAgICAgICAgICAgICAgICAgICAsICAgMiwgDQogICAgICAgICAgICAgICAgICAgIFNE VDMsICAgMiwgDQogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxNCksIA0KICAgICAgICAg ICAgICAgICAgICBJQ1IwLCAgIDQsIA0KICAgICAgICAgICAgICAgICAgICBJQ1IxLCAgIDQsIA0K ICAgICAgICAgICAgICAgICAgICBJQ1IyLCAgIDQsIA0KICAgICAgICAgICAgICAgICAgICBJQ1Iz LCAgIDQsIA0KICAgICAgICAgICAgICAgICAgICBJQ1I0LCAgIDQsIA0KICAgICAgICAgICAgICAg ICAgICBJQ1I1LCAgIDQNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZp Y2UgKFBSSUQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChf QURSLCAweDAwKQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVE0sIDAsIE5vdFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKFBCVUYsIEJ1ZmZlciAoMHgxNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCANCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwDQogICAgICAgICAgICAgICAgICAgICAgICB9 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoUEJVRiwgMHgwMCwg UElPMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFBCVUYsIDB4 MDQsIERNQTApDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChQQlVG LCAweDA4LCBQSU8xKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAo UEJVRiwgMHgwQywgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKFBCVUYsIDB4MTAsIEZMQUcpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0VU UCAoUFJJVCksIFBJTzApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0RNQSAoQW5k IChTWU5DLCAweDAxKSwgQW5kIChJQ1IzLCAweDAxKSwgQW5kIChJQ1IwLCAweDAxKSwgU0RUMCwg QW5kIChJQ1IxLCAweDAxKSksIERNQTApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChETUEwLCAweEZGRkZGRkZGKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUElPMCwgRE1BMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUFJJVCwgMHg0 MDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChBbmQgKFBSSVQsIDB4OTApLCAweDgwKSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAzODQsIFBJTzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChHRVRUIChQU0lUKSwgUElPMSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkZGRkZGRkYsIFBJTzEpDQogICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChH RE1BIChBbmQgKFNZTkMsIDB4MDIpLCBBbmQgKElDUjMsIDB4MDIpLCBBbmQgKElDUjAsIDB4MDIp LCBTRFQxLCBBbmQgKElDUjEsIDB4MDIpKSwgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKERNQTEsIDB4RkZGRkZGRkYpKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSU8xLCBETUExKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0VU RiAoQW5kIChTWU5DLCAweDAxKSwgQW5kIChTWU5DLCAweDAyKSwgUFJJVCksIEZMQUcpDQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBCVUYpDQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVE0sIDMsIE5vdFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk RmllbGQgKEFyZzAsIDB4MDAsIFBJTzApDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChBcmcwLCAweDA0LCBETUEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwOCwgUElPMSkNCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MEMsIERNQTEpDQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmcwLCAweDEwLCBGTEFHKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKElDUjIsIDB4MDQsIElDUjIpDQogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChTaXplT2YgKEFyZzEpLCAweDAyMDApKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoUFJJVCwgMHg0MEYwLCBQUklU KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU1lOQywgMHgwRSwgU1lOQykNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgU0RUMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBbmQgKElDUjAsIDB4MEUsIElDUjApDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgQW5kIChJQ1IxLCAweDBFLCBJQ1IxKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFuZCAoSUNSMywgMHgwRSwgSUNSMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBbmQgKElDUjUsIDB4MEUsIElDUjUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChBcmcxLCAweDYyLCBXNDkwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHg2QSwgVzUzMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzEsIDB4N0UsIFc2MzApDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweDgwLCBXNjQwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHhCMCwgVzg4 MCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzEsIDB4 QkEsIFc5MzApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBSSVQsIDB4ODAwNCwg UFJJVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChGTEFHLCAw eDAyKSwgQW5kIChXNDkwLCAweDA4MDApKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQUklULCAweDAyLCBQUklUKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE9yIChQUklULCBTRVRQIChQSU8wLCBXNTMwLCBXNjQwKSwgUFJJVCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoQW5kIChGTEFHLCAweDAxKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTWU5DLCAw eDAxLCBTWU5DKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0RNQSAo RE1BMCksIFNEVDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAo RE1BMCwgMHgxRSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChJQ1IzLCAweDAxLCBJQ1IzKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExMZXNzIChETUEwLCAweDNDKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjAsIDB4 MDEsIElDUjApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChXOTMwLCAweDIwMDApKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPciAoSUNSMSwgMHgwMSwgSUNSMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoU2l6ZU9mIChBcmcy KSwgMHgwMjAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBBbmQgKFBSSVQsIDB4M0YwRiwgUFJJVCkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwMCwgUFNJVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB bmQgKFNZTkMsIDB4MEQsIFNZTkMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIFNEVDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1IwLCAweDBE LCBJQ1IwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoSUNSMSwgMHgwRCwgSUNS MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKElDUjMsIDB4MEQsIElDUjMpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1I1LCAweDBELCBJQ1I1KQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMiwgMHg2MiwgVzQ5MSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4NkEs IFc1MzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcy LCAweDdFLCBXNjMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoQXJnMiwgMHg4MCwgVzY0MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVX b3JkRmllbGQgKEFyZzIsIDB4QjAsIFc4ODEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlV29yZEZpZWxkIChBcmcyLCAweEJBLCBXOTMxKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9yIChQUklULCAweDgwNDAsIFBSSVQpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExBbmQgKEFuZCAoRkxBRywgMHgwOCksIEFuZCAoVzQ5MSwgMHgwODAwKSkpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPciAoUFJJVCwgMHgyMCwgUFJJVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChGTEFHLCAweDEwKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9yIChQUklULCAweDQwMDAsIFBSSVQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMR3JlYXRlciAoUElPMSwgMHhGMCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQUklULCAweDgw LCBQUklUKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBSSVQsIDB4MTAsIFBS SVQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0VUVCAoUElP MSwgVzUzMSwgVzY0MSksIFBTSVQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQW5kIChGTEFHLCAweDA0KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTWU5DLCAweDAyLCBTWU5DKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0RNQSAoRE1BMSksIFNEVDEp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoRE1BMCwgMHgxRSkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE9yIChJQ1IzLCAweDAyLCBJQ1IzKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExM ZXNzIChETUEwLCAweDNDKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjAsIDB4MDIsIElDUjApDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChXOTMxLCAweDIwMDApKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoSUNS MSwgMHgwMiwgSUNSMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIERldmljZSAoUF9EMCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwg MHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOYW1lIChQSUIwLCBCdWZmZXIgKDB4MEUpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweEEwLCAweEVGLCAweDAzLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFRg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZp ZWxkIChQSUIwLCAweDAxLCBQTUQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZUJ5dGVGaWVsZCAoUElCMCwgMHgwOCwgRE1EMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQW5kIChQUklULCAweDAyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoUFJJVCwgMHgw OSksIDB4MDgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgUE1EMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBBLCBQTUQwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoQW5kIChQUklULCAweDAzMDApLCAweDA4LCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0IChB bmQgKFBSSVQsIDB4MzAwMCksIDB4MEMsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFkZCAoTG9jYWwwLCBMb2NhbDEsIExvY2FsMikNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKDB4MDMsIExvY2FsMikpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MEIsIFBNRDApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKDB4MDUsIExvY2FsMikpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MEMsIFBNRDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFBN RDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKEFuZCAoU1lOQywgMHgwMSkpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKFNEVDAsIDB4 NDApLCBETUQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChJQ1Ix LCAweDAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoSUNSMCwgMHgwMSkpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQWRkIChETUQwLCAweDAyLCBETUQwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoQW5kIChJQ1IzLCAweDAxKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg0NSwg RE1EMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoU3VidHJhY3QgKEFuZCAo UE1EMCwgMHgwNyksIDB4MDIpLCAweDIwLCBETUQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUElCMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgIE5hbWUgKEZXU08sICJGV1NPIikNCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X1BTQywgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJp YWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMCwgX1BTQykNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1BTMywgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDMsIF9QU0MpDQogICAgICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBEZXZp Y2UgKFNFQ0QpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBOYW1lIChf QURSLCAweDAxKQ0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9HVE0sIDAsIE5vdFNlcmlh bGl6ZWQpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKFNCVUYsIEJ1ZmZlciAoMHgxNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCANCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwDQogICAgICAgICAgICAgICAgICAgICAgICB9 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoU0JVRiwgMHgwMCwg UElPMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFNCVUYsIDB4 MDQsIERNQTApDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChTQlVG LCAweDA4LCBQSU8xKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAo U0JVRiwgMHgwQywgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKFNCVUYsIDB4MTAsIEZMQUcpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0VU UCAoU0VDVCksIFBJTzApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0RNQSAoQW5k IChTWU5DLCAweDA0KSwgQW5kIChJQ1IzLCAweDA0KSwgQW5kIChJQ1IwLCAweDA0KSwgU0RUMiwg QW5kIChJQ1IxLCAweDA0KSksIERNQTApDQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChETUEwLCAweEZGRkZGRkZGKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUElPMCwgRE1BMCkNCiAgICAgICAgICAgICAg ICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoU0VDVCwgMHg0 MDAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChBbmQgKFNFQ1QsIDB4OTApLCAweDgwKSkNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAzODQsIFBJTzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChHRVRUIChTU0lUKSwgUElPMSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkZGRkZGRkYsIFBJTzEpDQogICAg ICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChH RE1BIChBbmQgKFNZTkMsIDB4MDgpLCBBbmQgKElDUjMsIDB4MDgpLCBBbmQgKElDUjAsIDB4MDgp LCBTRFQzLCBBbmQgKElDUjEsIDB4MDgpKSwgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKERNQTEsIDB4RkZGRkZGRkYpKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSU8xLCBETUExKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0VU RiAoQW5kIChTWU5DLCAweDA0KSwgQW5kIChTWU5DLCAweDA4KSwgU0VDVCksIEZMQUcpDQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNCVUYpDQogICAgICAgICAgICAgICAgICAgIH0N Cg0KICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVE0sIDMsIE5vdFNlcmlhbGl6ZWQpDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk RmllbGQgKEFyZzAsIDB4MDAsIFBJTzApDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChBcmcwLCAweDA0LCBETUEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwOCwgUElPMSkNCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MEMsIERNQTEpDQogICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmcwLCAweDEwLCBGTEFHKQ0KICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKElDUjIsIDB4MDQsIElDUjIpDQogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChTaXplT2YgKEFyZzEpLCAweDAyMDApKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU0VDVCwgMHg0MEYwLCBTRUNU KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU1lOQywgMHgwQiwgU1lOQykNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgU0RUMikNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBbmQgKElDUjAsIDB4MEIsIElDUjApDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgQW5kIChJQ1IxLCAweDBCLCBJQ1IxKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFuZCAoSUNSMywgMHgwQiwgSUNSMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBbmQgKElDUjUsIDB4MEIsIElDUjUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChBcmcxLCAweDYyLCBXNDkwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHg2QSwgVzUzMCkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzEsIDB4N0UsIFc2MzApDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweDgwLCBXNjQwKQ0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHhCMCwgVzg4 MCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzEsIDB4 QkEsIFc5MzApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFNFQ1QsIDB4ODAwNCwg U0VDVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChGTEFHLCAw eDAyKSwgQW5kIChXNDkwLCAweDA4MDApKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTRUNULCAweDAyLCBTRUNUKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE9yIChTRUNULCBTRVRQIChQSU8wLCBXNTMwLCBXNjQwKSwgU0VDVCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoQW5kIChGTEFHLCAweDAxKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTWU5DLCAw eDA0LCBTWU5DKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0RNQSAo RE1BMCksIFNEVDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAo RE1BMCwgMHgxRSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChJQ1IzLCAweDA0LCBJQ1IzKQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExMZXNzIChETUEwLCAweDNDKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjAsIDB4 MDQsIElDUjApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChXOTMwLCAweDIwMDApKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPciAoSUNSMSwgMHgwNCwgSUNSMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoU2l6ZU9mIChBcmcy KSwgMHgwMjAwKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBBbmQgKFNFQ1QsIDB4M0YwRiwgU0VDVCkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwMCwgU1NJVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB bmQgKFNZTkMsIDB4MDcsIFNZTkMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIFNEVDMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1IwLCAweDA3 LCBJQ1IwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoSUNSMSwgMHgwNywgSUNS MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKElDUjMsIDB4MDcsIElDUjMpDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1I1LCAweDA3LCBJQ1I1KQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMiwgMHg2MiwgVzQ5MSkN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4NkEs IFc1MzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcy LCAweDdFLCBXNjMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoQXJnMiwgMHg4MCwgVzY0MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVX b3JkRmllbGQgKEFyZzIsIDB4QjAsIFc4ODEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlV29yZEZpZWxkIChBcmcyLCAweEJBLCBXOTMxKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9yIChTRUNULCAweDgwNDAsIFNFQ1QpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExBbmQgKEFuZCAoRkxBRywgMHgwOCksIEFuZCAoVzQ5MSwgMHgwODAwKSkpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPciAoU0VDVCwgMHgyMCwgU0VDVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChGTEFHLCAweDEwKSkNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9yIChTRUNULCAweDQwMDAsIFNFQ1QpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMR3JlYXRlciAoUElPMSwgMHhGMCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTRUNULCAweDgw LCBTRUNUKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFNFQ1QsIDB4MTAsIFNF Q1QpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0VUVCAoUElP MSwgVzUzMSwgVzY0MSksIFNTSVQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQW5kIChGTEFHLCAweDA0KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTWU5DLCAweDA4LCBTWU5DKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0RNQSAoRE1BMSksIFNEVDMp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoRE1BMCwgMHgxRSkp DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE9yIChJQ1IzLCAweDA4LCBJQ1IzKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExM ZXNzIChETUEwLCAweDNDKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjAsIDB4MDgsIElDUjApDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChXOTMxLCAweDIwMDApKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoSUNS MSwgMHgwOCwgSUNSMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIERldmljZSAoU19EMCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwg MHgwMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFs aXplZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOYW1lIChTSUIwLCBCdWZmZXIgKDB4MEUpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweEEwLCAweEVGLCAweDAzLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFRg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZp ZWxkIChTSUIwLCAweDAxLCBQTUQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZUJ5dGVGaWVsZCAoU0lCMCwgMHgwOCwgRE1EMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQW5kIChTRUNULCAweDAyKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoU0VDVCwgMHgw OSksIDB4MDgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgUE1EMCkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBBLCBQTUQwKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoQW5kIChTRUNULCAweDAzMDApLCAweDA4LCBM b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0IChB bmQgKFNFQ1QsIDB4MzAwMCksIDB4MEMsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFkZCAoTG9jYWwwLCBMb2NhbDEsIExvY2FsMikNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKDB4MDMsIExvY2FsMikpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MEIsIFBNRDApDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKDB4MDUsIExvY2FsMikpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MEMsIFBNRDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFBN RDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKEFuZCAoU1lOQywgMHgwNCkpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKFNEVDIsIDB4 NDApLCBETUQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChJQ1Ix LCAweDA0KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoSUNSMCwgMHgwNCkpDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQWRkIChETUQwLCAweDAyLCBETUQwKQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoQW5kIChJQ1IzLCAweDA0KSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg0NSwg RE1EMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoU3VidHJhY3QgKEFuZCAo UE1EMCwgMHgwNyksIDB4MDIpLCAweDIwLCBETUQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoU0lCMCkNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1BTMCwgMCwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgICAgICAg ICAgICAgew0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfUFMzLCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBN ZXRob2QgKEdFVFAsIDEsIFNlcmlhbGl6ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKEFyZzAsIDB4MDkpLCAweDAwKSkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkZGRkZG KQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQW5kIChBcmcwLCAweDA5KSwgMHgwOCkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMzg0KQ0KICAgICAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoQW5kIChBcmcwLCAweDAzMDApLCAw eDA4LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoQXJnMCwg MHgzMDAwKSwgMHgwQywgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE11bHRp cGx5ICgweDFFLCBTdWJ0cmFjdCAoMHgwOSwgQWRkIChMb2NhbDAsIExvY2FsMSkpKSkNCiAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBNZXRob2QgKEdETUEsIDUsIFNlcmlhbGl6 ZWQpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBJZiAoQXJnMCkNCiAg ICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKEFy ZzEsIEFyZzQpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgxNCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKEFyZzIsIEFyZzQpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTXVsdGlw bHkgKFN1YnRyYWN0ICgweDA0LCBBcmczKSwgMHgwRikpDQogICAgICAgICAgICAgICAgICAgICAg ICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTXVsdGlwbHkgKFN1YnRyYWN0 ICgweDA0LCBBcmczKSwgMHgxRSkpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpDQogICAgICAgICAgICAgICAgfQ0KDQogICAg ICAgICAgICAgICAgTWV0aG9kIChHRVRULCAxLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChNdWx0aXBseSAoMHgxRSwgU3VidHJhY3Qg KDB4MDksIEFkZCAoQW5kIChTaGlmdFJpZ2h0IChBcmcwLCAweDAyKSwgMHgwMyksIEFuZCAoQXJn MCwgMHgwMykpKSkpDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9k IChHRVRGLCAzLCBTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgTmFtZSAoVE1QRiwgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzApDQog ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChUTVBGLCAw eDAxLCBUTVBGKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAg SWYgKEFuZCAoQXJnMiwgMHgwMikpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgIE9yIChUTVBGLCAweDAyLCBUTVBGKQ0KICAgICAgICAgICAgICAgICAgICB9 DQoNCiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzEpDQogICAgICAgICAgICAgICAgICAgIHsN CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChUTVBGLCAweDA0LCBUTVBGKQ0KICAgICAgICAg ICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMiwgMHgyMCkp DQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChUTVBG LCAweDA4LCBUTVBGKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoQXJnMiwgMHg0MDAwKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAgICAgT3IgKFRNUEYsIDB4MTAsIFRNUEYpDQogICAgICAgICAgICAgICAg ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFRNUEYpDQogICAgICAgICAgICAg ICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9kIChTRVRQLCAzLCBTZXJpYWxpemVkKQ0KICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChBcmcwLCAw eEYwKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDA4KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVs c2UNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoQXJnMSwgMHgwMikpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExHcmVhdGVyIChBcmcwLCAweDc4KSksIEFu ZCAoQXJnMiwgMHgwMikpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDIzMDEpDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExO b3QgKExHcmVhdGVyIChBcmcwLCAweEI0KSksIEFuZCAoQXJnMiwgMHgwMSkpKQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDIxMDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MTAwMSkN CiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgIE1ldGhvZCAoU0RNQSwgMSwgU2VyaWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAg ICAgICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRlciAoQXJnMCwgMHgxNCkpKQ0KICAgICAg ICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpDQog ICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTEdy ZWF0ZXIgKEFyZzAsIDB4MUUpKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAyKQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChBcmcwLCAweDJEKSkpDQogICAgICAg ICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkNCiAg ICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMR3Jl YXRlciAoQXJnMCwgMHgzQykpKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MDIpDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAg ICAgICAgICAgICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4NUEpKSkNCiAgICAgICAg ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQ0KICAg ICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQ0K ICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIE1ldGhvZCAoU0VUVCwgMywgU2Vy aWFsaXplZCkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIElmIChBbmQg KEFyZzEsIDB4MDIpKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEFuZCAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4NzgpKSwgQW5kIChBcmcyLCAw eDAyKSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDBCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4QjQpKSwg QW5kIChBcmcyLCAweDAxKSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQ0KICAgICAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDA0KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgRGV2 aWNlIChTQlVTKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4 MDAxRjAwMDMpDQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTQlVTLCBTeXN0ZW1J TywgMHgxODgwLCAweDEwKQ0KICAgICAgICAgICAgICAgIEZpZWxkIChTQlVTLCBCeXRlQWNjLCBO b0xvY2ssIFByZXNlcnZlKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAg SFNUUywgICA4LCANCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDAyKSwgDQogICAgICAg ICAgICAgICAgICAgIEhDT04sICAgOCwgDQogICAgICAgICAgICAgICAgICAgIEhDT00sICAgOCwg DQogICAgICAgICAgICAgICAgICAgIFRYU0EsICAgOCwgDQogICAgICAgICAgICAgICAgICAgIERB VDAsICAgOCwgDQogICAgICAgICAgICAgICAgICAgIERBVDEsICAgOCwgDQogICAgICAgICAgICAg ICAgICAgIEJEQlIsICAgOCwgDQogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOSksIA0K ICAgICAgICAgICAgICAgICAgICBSWFNBLCAgIDgsIA0KICAgICAgICAgICAgICAgICAgICBTREFU LCAgIDE2DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0aG9kIChTQldC LCAzLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MEEsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExBbmQg KEFuZCAoSFNUUywgMHgwMSksIExvY2FsMCkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAg ICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDY0KQ0KICAgICAgICAgICAgICAgICAgICAgICAg RGVjcmVtZW50IChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHhGRiwgSFNUUykNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFy ZzAsIFRYU0EpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBIQ09NKQ0KICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoQXJnMiwgREFUMCkNCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDAsIERBVDEpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBIQ09OKQ0K ICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkNCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4NDgsIEhDT04pDQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgTWV0 aG9kIChTQlJCLCAyLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MEEsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgV2hp bGUgKExBbmQgKEFuZCAoSFNUUywgMHgwMSksIExvY2FsMCkpDQogICAgICAgICAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDY0KQ0KICAgICAgICAgICAgICAg ICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRiwgSFNUUykNCiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKE9yIChBcmcwLCAweDAxKSwgVFhTQSkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KEFyZzEsIEhDT00pDQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBIQ09OKQ0KICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4NDgsIEhDT04pDQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBBLCBMb2NhbDApDQog ICAgICAgICAgICAgICAgICAgIFdoaWxlIChMQW5kIChBbmQgKEhTVFMsIDB4MDIpLCBMb2NhbDAp KQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAo MHg2NCkNCiAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQ0KICAgICAg ICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChEQVQwKQ0KICAg ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgRGV2aWNlIChBVUQw KQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRjAwMDUp DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIERldmljZSAoTU9ETSkNCiAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDA2KQ0KICAgICAgICAgICAg ICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpDQogICAgICAgICAgICAgICAgew0KICAgICAg ICAgICAgICAgICAgICAweDA1LCANCiAgICAgICAgICAgICAgICAgICAgMHgwMw0KICAgICAgICAg ICAgICAgIH0pDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBTY29wZSAo X1BSLkNQVTApDQogICAgew0KICAgICAgICBNZXRob2QgKF9QUEMsIDAsIE5vdFNlcmlhbGl6ZWQp DQogICAgICAgIHsNCiAgICAgICAgICAgIElmIChcX1NCLlBDSTAuTFBDQi5FQzAuRUNPSykNCiAg ICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLkxQQ0IuRUMwLkFD QVQsIExvY2FsMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2UNCiAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICBBbmQgKFxQSFNEICgweEQ0LCAweDgwKSwgMHgwNDAwLCBMb2Nh bDApDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIElmIChMb2NhbDApDQogICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgUmV0dXJuIChQU0FDKQ0KICAgICAgICAgICAgfQ0KICAgICAg ICAgICAgRWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIFJldHVybiAoUFNEQykN CiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE5hbWUgKFBEQzAsIDB4RjAwMDAw MDApDQogICAgICAgIE1ldGhvZCAoX1BEQywgMSwgTm90U2VyaWFsaXplZCkNCiAgICAgICAgew0K ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwOCwgQ0FQMCkNCiAgICAgICAg ICAgIFN0b3JlIChDQVAwLCBQREMwKQ0KICAgICAgICB9DQoNCiAgICAgICAgTWV0aG9kIChfUENU LCAwLCBOb3RTZXJpYWxpemVkKQ0KICAgICAgICB7DQogICAgICAgICAgICBJZiAoTEVxdWFsIChB bmQgKFBEQzAsIE9uZSksIE9uZSkpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgUmV0 dXJuIChQYWNrYWdlICgweDAyKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICBSZWdpc3RlciAoRkZpeGVkSFcsIDB4MDAsIDB4MDAsIDB4MDAwMDAwMDAw MDAwMDAwMCkNCiAgICAgICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICAgICAg UmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICBSZWdpc3RlciAoRkZpeGVkSFcsIDB4MDAsIDB4MDAsIDB4MDAwMDAwMDAwMDAw MDAwMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAg ICAgICB9DQogICAgICAgICAgICBFbHNlDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg UmV0dXJuIChQYWNrYWdlICgweDAyKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg ICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4MTAsIDB4MDAsIDB4MDAwMDAw MDAwMDAwMDBCMikNCiAgICAgICAgICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgICAgICAg ICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAw MDAwMDBCMykNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pDQogICAg ICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBNZXRob2QgKF9QU1MsIDAsIE5vdFNlcmlh bGl6ZWQpDQogICAgICAgIHsNCiAgICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoUERDMCwgT25l KSwgT25lKSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4gKE5QU1MpDQog ICAgICAgICAgICB9DQogICAgICAgICAgICBFbHNlDQogICAgICAgICAgICB7DQogICAgICAgICAg ICAgICAgUmV0dXJuIChTUFNTKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAg TmFtZSAoTlBTUywgUGFja2FnZSAoMHgwNikNCiAgICAgICAgew0KICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAweDAwMDAwNkE0LCANCiAg ICAgICAgICAgICAgICAweDAwMDA1RkI0LCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCAN CiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAxMTMx LCANCiAgICAgICAgICAgICAgICAweDAwMDAxMTMxDQogICAgICAgICAgICB9LCANCg0KICAgICAg ICAgICAgUGFja2FnZSAoMHgwNikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAweDAw MDAwNTc4LCANCiAgICAgICAgICAgICAgICAweDAwMDA0QzJDLCANCiAgICAgICAgICAgICAgICAw eDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAg ICAweDAwMDAwRTI2LCANCiAgICAgICAgICAgICAgICAweDAwMDAwRTI2DQogICAgICAgICAgICB9 LCANCg0KICAgICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAgICAgICAgICAgIHsNCiAgICAgICAg ICAgICAgICAweDAwMDAwNEIwLCANCiAgICAgICAgICAgICAgICAweDAwMDAzRTgwLCANCiAgICAg ICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAg ICAgICAgICAgICAgICAweDAwMDAwQzIxLCANCiAgICAgICAgICAgICAgICAweDAwMDAwQzIxDQog ICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgUGFja2FnZSAoMHgwNikNCiAgICAgICAgICAg IHsNCiAgICAgICAgICAgICAgICAweDAwMDAwM0U4LCANCiAgICAgICAgICAgICAgICAweDAwMDAz MkM4LCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAw MDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAwQTFBLCANCiAgICAgICAgICAgICAgICAw eDAwMDAwQTFBDQogICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgUGFja2FnZSAoMHgwNikN CiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAweDAwMDAwMzIwLCANCiAgICAgICAgICAg ICAgICAweDAwMDAyNTFDLCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAg ICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAwODEzLCANCiAgICAg ICAgICAgICAgICAweDAwMDAwODEzDQogICAgICAgICAgICB9LCANCg0KICAgICAgICAgICAgUGFj a2FnZSAoMHgwNikNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAweDAwMDAwMjU4LCAN CiAgICAgICAgICAgICAgICAweDAwMDAxNzcwLCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBB LCANCiAgICAgICAgICAgICAgICAweDAwMDAwMDBBLCANCiAgICAgICAgICAgICAgICAweDAwMDAw NjEwLCANCiAgICAgICAgICAgICAgICAweDAwMDAwNjEwDQogICAgICAgICAgICB9DQogICAgICAg IH0pDQogICAgICAgIE5hbWUgKFNQU1MsIFBhY2thZ2UgKDB4MDYpDQogICAgICAgIHsNCiAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDYpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgMHgw MDAwMDZBNCwgDQogICAgICAgICAgICAgICAgMHgwMDAwNUZCNCwgDQogICAgICAgICAgICAgICAg MHgwMDAwMDA2NCwgDQogICAgICAgICAgICAgICAgMHgwMDAwMDA2RSwgDQogICAgICAgICAgICAg ICAgMHgwMDAwMDA4MywgDQogICAgICAgICAgICAgICAgMHgwMDAwMDAwMA0KICAgICAgICAgICAg fSwgDQoNCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpDQogICAgICAgICAgICB7DQogICAgICAg ICAgICAgICAgMHgwMDAwMDU3OCwgDQogICAgICAgICAgICAgICAgMHgwMDAwNEMyQywgDQogICAg ICAgICAgICAgICAgMHgwMDAwMDA2NCwgDQogICAgICAgICAgICAgICAgMHgwMDAwMDA2RSwgDQog ICAgICAgICAgICAgICAgMHgwMDAwMDE4MywgDQogICAgICAgICAgICAgICAgMHgwMDAwMDAwMQ0K ICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpDQogICAgICAgICAg ICB7DQogICAgICAgICAgICAgICAgMHgwMDAwMDRCMCwgDQogICAgICAgICAgICAgICAgMHgwMDAw M0U4MCwgDQogICAgICAgICAgICAgICAgMHgwMDAwMDA2NCwgDQogICAgICAgICAgICAgICAgMHgw MDAwMDA2RSwgDQogICAgICAgICAgICAgICAgMHgwMDAwMDI4MywgDQogICAgICAgICAgICAgICAg MHgwMDAwMDAwMg0KICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYp DQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgMHgwMDAwMDNFOCwgDQogICAgICAgICAg ICAgICAgMHgwMDAwMzJDOCwgDQogICAgICAgICAgICAgICAgMHgwMDAwMDA2NCwgDQogICAgICAg ICAgICAgICAgMHgwMDAwMDA2RSwgDQogICAgICAgICAgICAgICAgMHgwMDAwMDM4MywgDQogICAg ICAgICAgICAgICAgMHgwMDAwMDAwMw0KICAgICAgICAgICAgfSwgDQoNCiAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDYpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgMHgwMDAwMDMyMCwg DQogICAgICAgICAgICAgICAgMHgwMDAwMjUxQywgDQogICAgICAgICAgICAgICAgMHgwMDAwMDA2 NCwgDQogICAgICAgICAgICAgICAgMHgwMDAwMDA2RSwgDQogICAgICAgICAgICAgICAgMHgwMDAw MDQ4MywgDQogICAgICAgICAgICAgICAgMHgwMDAwMDAwNA0KICAgICAgICAgICAgfSwgDQoNCiAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDYpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg MHgwMDAwMDI1OCwgDQogICAgICAgICAgICAgICAgMHgwMDAwMTc3MCwgDQogICAgICAgICAgICAg ICAgMHgwMDAwMDA2NCwgDQogICAgICAgICAgICAgICAgMHgwMDAwMDA2RSwgDQogICAgICAgICAg ICAgICAgMHgwMDAwMDU4MywgDQogICAgICAgICAgICAgICAgMHgwMDAwMDAwNQ0KICAgICAgICAg ICAgfQ0KICAgICAgICB9KQ0KICAgIH0NCn0NCg0K --=-BE6+xfMzJmYpAg2zZzbZ Content-Disposition: attachment; filename=devinfo-v.txt Content-Type: text/plain; name=devinfo-v.txt; charset=KOI8-R Content-Transfer-Encoding: base64 bmV4dXMwDQogIGFjcGkwDQogICAgY3B1MCBwbnBpbmZvIF9ISUQ9bm9uZSBfVUlEPTAgYXQgaGFu ZGxlPVxfUFJfLkNQVTANCiAgICBhY3BpX3R6MCBwbnBpbmZvIF9ISUQ9bm9uZSBfVUlEPTAgYXQg aGFuZGxlPVxfVFpfLkFURjANCiAgICBhY3BpX2xpZDAgcG5waW5mbyBfSElEPVBOUDBDMEQgX1VJ RD0wIGF0IGhhbmRsZT1cX1NCXy5MSUQwDQogICAgYWNwaV9idXR0b24wIHBucGluZm8gX0hJRD1Q TlAwQzBDIF9VSUQ9MCBhdCBoYW5kbGU9XF9TQl8uUFdSQg0KICAgIHBjaWIwIHBucGluZm8gX0hJ RD1QTlAwQTAzIF9VSUQ9MCBhdCBoYW5kbGU9XF9TQl8uUENJMA0KICAgICAgcGNpMA0KICAgICAg ICBob3N0YjAgcG5waW5mbyB2ZW5kb3I9MHg4MDg2IGRldmljZT0weDMzNDAgc3VidmVuZG9yPTB4 MTA0ZCBzdWJkZXZpY2U9MHg4MTQwIGNsYXNzPTB4MDYwMDAwIGF0IHNsb3Q9MCBmdW5jdGlvbj0w DQogICAgICAgIHBjaWIxIHBucGluZm8gdmVuZG9yPTB4ODA4NiBkZXZpY2U9MHgzMzQxIHN1YnZl bmRvcj0weDAwMDAgc3ViZGV2aWNlPTB4MDAwMCBjbGFzcz0weDA2MDQwMCBhdCBzbG90PTEgZnVu Y3Rpb249MCBoYW5kbGU9XF9TQl8uUENJMC5BR1BCDQogICAgICAgICAgcGNpMQ0KICAgICAgICAg ICAgdW5rbm93biBwbnBpbmZvIHZlbmRvcj0weDEwMDIgZGV2aWNlPTB4NGM1OSBzdWJ2ZW5kb3I9 MHgxMDRkIHN1YmRldmljZT0weDgxNDAgY2xhc3M9MHgwMzAwMDAgYXQgc2xvdD0wIGZ1bmN0aW9u PTAgaGFuZGxlPVxfU0JfLlBDSTAuQUdQQi5WSUQwDQogICAgICAgIHVoY2kwIHBucGluZm8gdmVu ZG9yPTB4ODA4NiBkZXZpY2U9MHgyNGMyIHN1YnZlbmRvcj0weDEwNGQgc3ViZGV2aWNlPTB4ODE0 MCBjbGFzcz0weDBjMDMwMCBhdCBzbG90PTI5IGZ1bmN0aW9uPTAgaGFuZGxlPVxfU0JfLlBDSTAu VVNCMA0KICAgICAgICAgIHVzYjANCiAgICAgICAgICAgIHVodWIwDQogICAgICAgIHVoY2kxIHBu cGluZm8gdmVuZG9yPTB4ODA4NiBkZXZpY2U9MHgyNGM0IHN1YnZlbmRvcj0weDEwNGQgc3ViZGV2 aWNlPTB4ODE0MCBjbGFzcz0weDBjMDMwMCBhdCBzbG90PTI5IGZ1bmN0aW9uPTEgaGFuZGxlPVxf U0JfLlBDSTAuVVNCMQ0KICAgICAgICAgIHVzYjENCiAgICAgICAgICAgIHVodWIxDQogICAgICAg ICAgICAgIHVodWIyIHBucGluZm8gdmVuZG9yPTB4MDQ1MSBwcm9kdWN0PTB4MTQ0NiBkZXZjbGFz cz0weDA5IGRldnN1YmNsYXNzPTB4MDAgc2VybnVtPSIiIGF0IHBvcnQ9MA0KICAgICAgICAgICAg ICAgIHVrYmQwIHBucGluZm8gdmVuZG9yPTB4MDQ2ZSBwcm9kdWN0PTB4Njc4MiBkZXZjbGFzcz0w eDAwIGRldnN1YmNsYXNzPTB4MDAgc2VybnVtPSIiIGludGNsYXNzPTB4MDMgaW50c3ViY2xhc3M9 MHgwMSBhdCBwb3J0PTIgaW50ZXJmYWNlPTANCiAgICAgICAgICAgICAgICB1bXMwIHBucGluZm8g dmVuZG9yPTB4MDQ2ZSBwcm9kdWN0PTB4Njc4MiBkZXZjbGFzcz0weDAwIGRldnN1YmNsYXNzPTB4 MDAgc2VybnVtPSIiIGludGNsYXNzPTB4MDMgaW50c3ViY2xhc3M9MHgwMSBhdCBwb3J0PTIgaW50 ZXJmYWNlPTENCiAgICAgICAgICAgICAgICB1bXMxIHBucGluZm8gdmVuZG9yPTB4MDQ1ZSBwcm9k dWN0PTB4MDAxZSBkZXZjbGFzcz0weDAwIGRldnN1YmNsYXNzPTB4MDAgc2VybnVtPSIiIGludGNs YXNzPTB4MDMgaW50c3ViY2xhc3M9MHgwMSBhdCBwb3J0PTMgaW50ZXJmYWNlPTANCiAgICAgICAg dWhjaTIgcG5waW5mbyB2ZW5kb3I9MHg4MDg2IGRldmljZT0weDI0Yzcgc3VidmVuZG9yPTB4MTA0 ZCBzdWJkZXZpY2U9MHg4MTQwIGNsYXNzPTB4MGMwMzAwIGF0IHNsb3Q9MjkgZnVuY3Rpb249MiBo YW5kbGU9XF9TQl8uUENJMC5VU0IyDQogICAgICAgICAgdXNiMg0KICAgICAgICAgICAgdWh1YjMN CiAgICAgICAgZWhjaTAgcG5waW5mbyB2ZW5kb3I9MHg4MDg2IGRldmljZT0weDI0Y2Qgc3VidmVu ZG9yPTB4MTA0ZCBzdWJkZXZpY2U9MHg4MTQwIGNsYXNzPTB4MGMwMzIwIGF0IHNsb3Q9MjkgZnVu Y3Rpb249NyBoYW5kbGU9XF9TQl8uUENJMC5VU0I3DQogICAgICAgICAgdXNiMw0KICAgICAgICAg ICAgdWh1YjQNCiAgICAgICAgICAgICAgdW1hc3MxIHBucGluZm8gdmVuZG9yPTB4MDU0YyBwcm9k dWN0PTB4MDE0ZCBkZXZjbGFzcz0weDAwIGRldnN1YmNsYXNzPTB4MDAgc2VybnVtPSIwMDUyNDQ5 Njc3NDkyMjI0IiBpbnRjbGFzcz0weDA4IGludHN1YmNsYXNzPTB4MDUgYXQgcG9ydD00IGludGVy ZmFjZT0wDQogICAgICAgIHBjaWIyIHBucGluZm8gdmVuZG9yPTB4ODA4NiBkZXZpY2U9MHgyNDQ4 IHN1YnZlbmRvcj0weDAwMDAgc3ViZGV2aWNlPTB4MDAwMCBjbGFzcz0weDA2MDQwMCBhdCBzbG90 PTMwIGZ1bmN0aW9uPTAgaGFuZGxlPVxfU0JfLlBDSTAuUENJQg0KICAgICAgICAgIHBjaTINCiAg ICAgICAgICAgIGNiYjAgcG5waW5mbyB2ZW5kb3I9MHgxMTgwIGRldmljZT0weDA0NzUgc3VidmVu ZG9yPTB4MTA0ZCBzdWJkZXZpY2U9MHg4MTQwIGNsYXNzPTB4MDYwNzAwIGF0IHNsb3Q9NSBmdW5j dGlvbj0wIGhhbmRsZT1cX1NCXy5QQ0kwLlBDSUIuQ1JEMA0KICAgICAgICAgICAgICBjYXJkYnVz MA0KICAgICAgICAgICAgICBwY2NhcmQwDQogICAgICAgICAgICBmd29oY2kwIHBucGluZm8gdmVu ZG9yPTB4MTE4MCBkZXZpY2U9MHgwNTUxIHN1YnZlbmRvcj0weDEwNGQgc3ViZGV2aWNlPTB4ODE0 MCBjbGFzcz0weDBjMDAxMCBhdCBzbG90PTUgZnVuY3Rpb249MSBoYW5kbGU9XF9TQl8uUENJMC5Q Q0lCLlNEOTQNCiAgICAgICAgICAgICAgZmlyZXdpcmUwDQogICAgICAgICAgICAgICAgc2JwMA0K ICAgICAgICAgICAgZnhwMCBwbnBpbmZvIHZlbmRvcj0weDgwODYgZGV2aWNlPTB4MTAzZCBzdWJ2 ZW5kb3I9MHgxMDRkIHN1YmRldmljZT0weDgxNDAgY2xhc3M9MHgwMjAwMDAgYXQgc2xvdD04IGZ1 bmN0aW9uPTAgaGFuZGxlPVxfU0JfLlBDSTAuUENJQi5MQU5DDQogICAgICAgICAgICAgIG1paWJ1 czANCiAgICAgICAgICAgICAgICBpbnBoeTANCiAgICAgICAgICAgIG5kaXMwIHBucGluZm8gdmVu ZG9yPTB4ODA4NiBkZXZpY2U9MHg0MjIwIHN1YnZlbmRvcj0weDgwODYgc3ViZGV2aWNlPTB4Mjc1 MSBjbGFzcz0weDAyODAwMCBhdCBzbG90PTExIGZ1bmN0aW9uPTAgaGFuZGxlPVxfU0JfLlBDSTAu UENJQi5XTEFODQogICAgICAgIGlzYWIwIHBucGluZm8gdmVuZG9yPTB4ODA4NiBkZXZpY2U9MHgy NGNjIHN1YnZlbmRvcj0weDAwMDAgc3ViZGV2aWNlPTB4MDAwMCBjbGFzcz0weDA2MDEwMCBhdCBz bG90PTMxIGZ1bmN0aW9uPTAgaGFuZGxlPVxfU0JfLlBDSTAuTFBDQg0KICAgICAgICAgIGlzYTAN CiAgICAgICAgICAgIHBtdGltZXIwDQogICAgICAgICAgICBzYzANCiAgICAgICAgICAgIHZnYTAN CiAgICAgICAgICAgIGFkdjANCiAgICAgICAgICAgIGFoYTANCiAgICAgICAgICAgIGFpYzANCiAg ICAgICAgICAgIGJ0MA0KICAgICAgICAgICAgY3MwDQogICAgICAgICAgICBlZDANCiAgICAgICAg ICAgIGZkYzANCiAgICAgICAgICAgIGZlMA0KICAgICAgICAgICAgaWUwDQogICAgICAgICAgICBs bmMwDQogICAgICAgICAgICBwY2ljMA0KICAgICAgICAgICAgcGNpYzENCiAgICAgICAgICAgIHBw YzANCiAgICAgICAgICAgIHNpbzANCiAgICAgICAgICAgIHNpbzENCiAgICAgICAgICAgIHNpbzIN CiAgICAgICAgICAgIHNpbzMNCiAgICAgICAgICAgIHNuMA0KICAgICAgICAgICAgdnQwDQogICAg ICAgICAgICBvcm0wDQogICAgICAgIGF0YXBjaTAgcG5waW5mbyB2ZW5kb3I9MHg4MDg2IGRldmlj ZT0weDI0Y2Egc3VidmVuZG9yPTB4MTA0ZCBzdWJkZXZpY2U9MHg4MTQwIGNsYXNzPTB4MDEwMThh IGF0IHNsb3Q9MzEgZnVuY3Rpb249MSBoYW5kbGU9XF9TQl8uUENJMC5JREVDDQogICAgICAgICAg YXRhMA0KICAgICAgICAgIGF0YTENCiAgICAgICAgdW5rbm93biBwbnBpbmZvIHZlbmRvcj0weDgw ODYgZGV2aWNlPTB4MjRjMyBzdWJ2ZW5kb3I9MHgxMDRkIHN1YmRldmljZT0weDgxNDAgY2xhc3M9 MHgwYzA1MDAgYXQgc2xvdD0zMSBmdW5jdGlvbj0zIGhhbmRsZT1cX1NCXy5QQ0kwLlNCVVMNCiAg ICAgICAgcGNtMCBwbnBpbmZvIHZlbmRvcj0weDgwODYgZGV2aWNlPTB4MjRjNSBzdWJ2ZW5kb3I9 MHgxMDRkIHN1YmRldmljZT0weDgxNDAgY2xhc3M9MHgwNDAxMDAgYXQgc2xvdD0zMSBmdW5jdGlv bj01IGhhbmRsZT1cX1NCXy5QQ0kwLkFVRDANCiAgICAgICAgdW5rbm93biBwbnBpbmZvIHZlbmRv cj0weDgwODYgZGV2aWNlPTB4MjRjNiBzdWJ2ZW5kb3I9MHgxMDRkIHN1YmRldmljZT0weDgxNDAg Y2xhc3M9MHgwNzAzMDAgYXQgc2xvdD0zMSBmdW5jdGlvbj02IGhhbmRsZT1cX1NCXy5QQ0kwLk1P RE0NCiAgICB1bmtub3duIHBucGluZm8gX0hJRD1ub25lIF9VSUQ9MCBhdCBoYW5kbGU9XF9TQl8u UENJMC5BR1BCLlZJRDAuQ1JUXw0KICAgIHVua25vd24gcG5waW5mbyBfSElEPW5vbmUgX1VJRD0w IGF0IGhhbmRsZT1cX1NCXy5QQ0kwLkFHUEIuVklEMC5MQ0RfDQogICAgdW5rbm93biBwbnBpbmZv IF9ISUQ9bm9uZSBfVUlEPTAgYXQgaGFuZGxlPVxfU0JfLlBDSTAuQUdQQi5WSUQwLlRWX18NCiAg ICB1bmtub3duIHBucGluZm8gX0hJRD1QTlAwQzBGIF9VSUQ9MSBhdCBoYW5kbGU9XF9TQl8uUENJ MC5MUENCLkxOS0ENCiAgICB1bmtub3duIHBucGluZm8gX0hJRD1QTlAwQzBGIF9VSUQ9MiBhdCBo YW5kbGU9XF9TQl8uUENJMC5MUENCLkxOS0INCiAgICB1bmtub3duIHBucGluZm8gX0hJRD1QTlAw QzBGIF9VSUQ9MyBhdCBoYW5kbGU9XF9TQl8uUENJMC5MUENCLkxOS0MNCiAgICB1bmtub3duIHBu cGluZm8gX0hJRD1QTlAwQzBGIF9VSUQ9NCBhdCBoYW5kbGU9XF9TQl8uUENJMC5MUENCLkxOS0QN CiAgICB1bmtub3duIHBucGluZm8gX0hJRD1QTlAwQzBGIF9VSUQ9NSBhdCBoYW5kbGU9XF9TQl8u UENJMC5MUENCLkxOS0UNCiAgICB1bmtub3duIHBucGluZm8gX0hJRD1QTlAwQzBGIF9VSUQ9NiBh dCBoYW5kbGU9XF9TQl8uUENJMC5MUENCLkxOS0YNCiAgICB1bmtub3duIHBucGluZm8gX0hJRD1Q TlAwQzBGIF9VSUQ9NyBhdCBoYW5kbGU9XF9TQl8uUENJMC5MUENCLkxOS0cNCiAgICB1bmtub3du IHBucGluZm8gX0hJRD1QTlAwQzBGIF9VSUQ9OCBhdCBoYW5kbGU9XF9TQl8uUENJMC5MUENCLkxO S0gNCiAgICBhdHRpbWVyMCBwbnBpbmZvIF9ISUQ9UE5QMDEwMCBfVUlEPTAgYXQgaGFuZGxlPVxf U0JfLlBDSTAuTFBDQi5USU1SDQogICAgYXRwaWMwIHBucGluZm8gX0hJRD1QTlAwMDAwIF9VSUQ9 MCBhdCBoYW5kbGU9XF9TQl8uUENJMC5MUENCLklQSUMNCiAgICBhdHRpbWVyMSBwbnBpbmZvIF9I SUQ9UE5QMEIwMCBfVUlEPTAgYXQgaGFuZGxlPVxfU0JfLlBDSTAuTFBDQi5SVENfDQogICAgbnB4 aXNhMCBwbnBpbmZvIF9ISUQ9UE5QMEMwNCBfVUlEPTAgYXQgaGFuZGxlPVxfU0JfLlBDSTAuTFBD Qi5NQVRIDQogICAgYXRkbWEwIHBucGluZm8gX0hJRD1QTlAwMjAwIF9VSUQ9MCBhdCBoYW5kbGU9 XF9TQl8uUENJMC5MUENCLkRNQUMNCiAgICBhY3BpX3N5c3Jlc291cmNlMCBwbnBpbmZvIF9ISUQ9 UE5QMEMwMiBfVUlEPTAgYXQgaGFuZGxlPVxfU0JfLlBDSTAuTFBDQi5NQlJEDQogICAgdW5rbm93 biBwbnBpbmZvIF9ISUQ9SU5UMDgwMCBfVUlEPTAgYXQgaGFuZGxlPVxfU0JfLlBDSTAuTFBDQi5G V0hEDQogICAgYWNwaV9lYzAgcG5waW5mbyBfSElEPVBOUDBDMDkgX1VJRD0wIGF0IGhhbmRsZT1c X1NCXy5QQ0kwLkxQQ0IuRUMwXw0KICAgIGFjcGlfY21iYXQwIHBucGluZm8gX0hJRD1QTlAwQzBB IF9VSUQ9MSBhdCBoYW5kbGU9XF9TQl8uUENJMC5MUENCLkVDMF8uQkFUMQ0KICAgIGFjcGlfYWNh ZDAgcG5waW5mbyBfSElEPUFDUEkwMDAzIF9VSUQ9MCBhdCBoYW5kbGU9XF9TQl8uUENJMC5MUENC LkVDMF8uQUNBRA0KICAgIHVua25vd24gcG5waW5mbyBfSElEPVNOWTYwMDEgX1VJRD0wIGF0IGhh bmRsZT1cX1NCXy5QQ0kwLkxQQ0IuU1BJQw0KICAgIHVua25vd24gcG5waW5mbyBfSElEPVNOWTUw MDEgX1VJRD0wIGF0IGhhbmRsZT1cX1NCXy5QQ0kwLkxQQ0IuU05DXw0KICAgIGF0a2JkYzAgcG5w aW5mbyBfSElEPVBOUDAzMDMgX1VJRD0wIGF0IGhhbmRsZT1cX1NCXy5QQ0kwLkxQQ0IuUFMySw0K ICAgICAgYXRrYmQwDQogICAgICBwc20wDQogICAgcHNtY3BucDAgcG5waW5mbyBfSElEPVNOWTkw MDYgX1VJRD0wIGF0IGhhbmRsZT1cX1NCXy5QQ0kwLkxQQ0IuUFMyTQ0KICAgIHVua25vd24gcG5w aW5mbyBfSElEPW5vbmUgX1VJRD0wIGF0IGhhbmRsZT1cX1NCXy5QQ0kwLklERUMuUFJJRA0KICAg IHVua25vd24gcG5waW5mbyBfSElEPW5vbmUgX1VJRD0wIGF0IGhhbmRsZT1cX1NCXy5QQ0kwLklE RUMuUFJJRC5QX0QwDQogICAgdW5rbm93biBwbnBpbmZvIF9ISUQ9bm9uZSBfVUlEPTAgYXQgaGFu ZGxlPVxfU0JfLlBDSTAuSURFQy5TRUNEDQogICAgdW5rbm93biBwbnBpbmZvIF9ISUQ9bm9uZSBf VUlEPTAgYXQgaGFuZGxlPVxfU0JfLlBDSTAuSURFQy5TRUNELlNfRDANCiAgICBhY3BpX3RpbWVy MCBwbnBpbmZvIHVua25vd24gYXQgdW5rbm93bg0KICBsZWdhY3kwDQogIG5weDANCm== --=-BE6+xfMzJmYpAg2zZzbZ-- From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 10:36:15 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2218D16A4CE for ; Mon, 30 Aug 2004 10:36:15 +0000 (GMT) Received: from ank-pki.ru (mercury.ank-pki.ru [213.170.76.146]) by mx1.FreeBSD.org (Postfix) with ESMTP id 967B543D41 for ; Mon, 30 Aug 2004 10:36:09 +0000 (GMT) (envelope-from toxa@cterra.ru) Received: (qmail 22528 invoked by uid 0); 30 Aug 2004 14:36:07 +0400 Received: from toxa@cterra.ru by mercury.ank-pki.ru by uid 0 with qmail-scanner-1.22 (clamscan: 0.75.1. spamassassin: 2.64. Clear:RC:1(213.170.76.150):. Processed in 1.05269 secs); 30 Aug 2004 10:36:07 -0000 Received: from unknown (HELO localhost) (toxa@213.170.76.150) by ank.nwudc.ru with SMTP; 30 Aug 2004 14:36:06 +0400 Date: Mon, 30 Aug 2004 14:32:57 +0400 From: Toxa To: mobile@freebsd.org X-Comment-To: "Anton Karpov" Message-ID: <20040830103257.GA1695@laptoxa.toxa.lan> Mail-Followup-To: mobile@freebsd.org References: <1093854397.864.40.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <1093854397.864.40.camel@localhost> User-Agent: Outluck Express 1.5.6i for MS-DOS 6.22-SMP X-Mailer: See User-Agent above :) X-Operating-System: MS-DOS 6.22-CURRENT on Sony VAIO laptop X-PGP-Public-Key: http://toxahost.org/gpg/pubkey.asc X-Useless-Header: Do Androids Dream of Electric Sheep? Subject: Re: acpi_video on SONY VAIO PCG-Z1 [was: acpi_video users needed] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 10:36:15 -0000 On Mon, Aug 30, 2004 at 12:26:36PM +0400, Vladimir Grebenschikov wrote: > Hi > Is any chance to make acpi_video work on SONY VAIO PCG-Z1 ? > acpi_video.ko loads well, but does not report anything, and does not add > hw.acpi.video subtree. this is known problem. I have it on vaio pcg-v505 as well, for years > -- > Vladimir B. Grebenschikov > SWsoft Inc. vova@sw-soft.com > -- > Vladimir B. Grebenchikov > vova@fbsd.ru > /* > RSD PTR: OEM=PTLTD, ACPI_Rev=1.0x (0) > RSDT=0x1ff7806b, cksum=56 > */ > /* > RSDT: Length=48, Revision=1, Checksum=249, > OEMID=SONY, OEM Table ID=G0, OEM Revision=0x20031121, > Creator ID=PTL, Creator Revision=0x0 > Entries={ 0x1ff7bec2, 0x1ff7bfd8, 0x1ff7809b } > */ > /* > FACP: Length=132, Revision=2, Checksum=123, > OEMID=SONY, OEM Table ID=G0, OEM Revision=0x20031121, > Creator ID=PTL, Creator Revision=0x50 > FACS=0x1ff7cfc0, DSDT=0x1ff78507 > INT_MODEL=PIC > Preferred_PM_Profile=Unspecified (0) > SCI_INT=9 > SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 > PSTATE_CNT=0x80 > PM1a_EVT_BLK=0x1000-0x1003 > PM1a_CNT_BLK=0x1004-0x1005 > PM2_CNT_BLK=0x1020-0x1020 > PM_TMR_BLK=0x1008-0x100b > GPE0_BLK=0x1028-0x102f > P_LVL2_LAT=1 us, P_LVL3_LAT=1001 us > FLUSH_SIZE=0, FLUSH_STRIDE=0 > DUTY_OFFSET=1, DUTY_WIDTH=3 > DAY_ALRM=13, MON_ALRM=0, CENTURY=50 > IAPC_BOOT_ARCH={8042} > Flags={WBINVD,PROC_C1,PWR_BUTTON,SLP_BUTTON,RTC_S4,RESET_REG} > RESET_REG=0x64:0[8] (IO), RESET_VALUE=0xfe > */ > /* > FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 > Global_Lock= > Flags= > Version=0 > */ > /* > DSDT: Length=14779, Revision=1, Checksum=101, > OEMID=SONY, OEM Table ID=G0, OEM Revision=0x20031121, > Creator ID=PTL, Creator Revision=0x100000d > */ > /* > BOOT: Length=40, Revision=1, Checksum=71, > OEMID=SONY, OEM Table ID=G0, OEM Revision=0x20031121, > Creator ID=PTL, Creator Revision=0x1 > */ > /* > SSDT: Length=728, Revision=1, Checksum=237, > OEMID=SONY, OEM Table ID=G0, OEM Revision=0x20031121, > Creator ID=PTL, Creator Revision=0x0 > */ > /* > * Intel ACPI Component Architecture > * AML Disassembler version 20040527 > * > * Disassembly of /tmp/acpidump.QDyspP, Mon Aug 30 11:56:06 2004 > */ > DefinitionBlock ("DSDT.aml", "DSDT", 1, "SONY", "G0", 537071905) > { > OperationRegion (PORT, SystemIO, 0x80, 0x01) > Field (PORT, ByteAcc, NoLock, Preserve) > { > P80H, 8 > } > OperationRegion (IO_T, SystemIO, 0x0800, 0x08) > Field (IO_T, ByteAcc, NoLock, Preserve) > { > TRP0, 8 > } > OperationRegion (GPIO, SystemIO, 0x1180, 0x3C) > Field (GPIO, ByteAcc, NoLock, Preserve) > { > GU00, 8, > GU01, 8, > GU02, 8, > GU03, 8, > GIO0, 8, > GIO1, 8, > GIO2, 8, > GIO3, 8, > Offset (0x0C), > GL00, 8, > GL01, 8, > GL02, 8, > GL03, 8, > Offset (0x18), > GB00, 8, > GB01, 8, > GB02, 8, > GB03, 8, > Offset (0x2C), > GIV0, 8, > GIV1, 8, > GIV2, 8, > GIV3, 8, > GU04, 8, > GU05, 8, > GU06, 8, > GU07, 8, > GIO4, 8, > GIO5, 8, > GIO6, 8, > GIO7, 8, > , 1, > , 1, > CPEN, 1, > Offset (0x39), > GL05, 8, > GL06, 8, > GL07, 8 > } > OperationRegion (MNVS, SystemMemory, 0x1FF7CAB7, 0x40) > Field (MNVS, AnyAcc, Lock, Preserve) > { > PSAC, 8, > PSDC, 8 > } > Mutex (MUTX, 0x00) > Name (_S0, Package (0x03) > { > 0x00, > 0x00, > 0x00 > }) > Name (_S3, Package (0x03) > { > 0x05, > 0x05, > 0x00 > }) > Name (_S4, Package (0x03) > { > 0x06, > 0x06, > 0x00 > }) > Name (_S5, Package (0x03) > { > 0x07, > 0x07, > 0x00 > }) > Scope (\_PR) > { > Processor (CPU0, 0x00, 0x00001010, 0x06) > { > Scope (\) > { > Name (GVSS, One) > } > Scope (\_PR.CPU0) > { > Method (_CST, 0, NotSerialized) > { > If (\_SB.PCI0.LPCB.EC0.ECOK) > { > Store (\_SB.PCI0.LPCB.EC0.ACAT, Local0) > } > Else > { > And (PHSD (0xD4, 0x80), 0x0400, Local0) > } > If (Local0) > { > Return (ACST) > } > Else > { > If (GVSS) > { > Return (DCST) > } > Else > { > Return (DDST) > } > } > } > Name (ACST, Package (0x03) > { > 0x02, > Package (0x04) > { > ResourceTemplate () > { > Register (FFixedHW, 0x08, 0x00, 0x0000000000000000) > }, > 0x01, > 0x01, > 0x03E8 > }, > Package (0x04) > { > ResourceTemplate () > { > Register (SystemIO, 0x08, 0x00, 0x0000000000001014) > }, > 0x02, > 0x01, > 0x01F4 > } > }) > Name (DCST, Package (0x05) > { > 0x04, > Package (0x04) > { > ResourceTemplate () > { > Register (FFixedHW, 0x08, 0x00, 0x0000000000000000) > }, > 0x01, > 0x01, > 0x03E8 > }, > Package (0x04) > { > ResourceTemplate () > { > Register (SystemIO, 0x08, 0x00, 0x0000000000001014) > }, > 0x02, > 0x01, > 0x01F4 > }, > Package (0x04) > { > ResourceTemplate () > { > Register (SystemIO, 0x08, 0x00, 0x0000000000001015) > }, > 0x03, > 0x55, > 0xFA > }, > Package (0x04) > { > ResourceTemplate () > { > Register (SystemIO, 0x08, 0x00, 0x0000000000001016) > }, > 0x03, > 0xB9, > 0x64 > } > }) > Name (DDST, Package (0x04) > { > 0x03, > Package (0x04) > { > ResourceTemplate () > { > Register (FFixedHW, 0x08, 0x00, 0x0000000000000000) > }, > 0x01, > 0x01, > 0x03E8 > }, > Package (0x04) > { > ResourceTemplate () > { > Register (SystemIO, 0x08, 0x00, 0x0000000000001014) > }, > 0x02, > 0x01, > 0x01F4 > }, > Package (0x04) > { > ResourceTemplate () > { > Register (SystemIO, 0x08, 0x00, 0x0000000000001015) > }, > 0x03, > 0x55, > 0xFA > } > }) > } > } > } > Name (\CTYP, 0x00) > Name (\ECON, 0x00) > Method (_PTS, 1, NotSerialized) > { > Store (Arg0, P80H) > If (LEqual (Arg0, 0x03)) > { > Store (\_SB.PCI0.LPCB.SPIC._CRS (), \_SB.PCI0.LPCB.SPIC.SSRC) > } > If (LEqual (Arg0, 0x04)) > { > Store (\_SB.PCI0.LPCB.SPIC._CRS (), \_SB.PCI0.LPCB.SPIC.SSRC) > PHSB (0xA2, \_SB.OSTB) > } > } > Method (_WAK, 1, NotSerialized) > { > Store (0x00, P80H) > \_SB.NCPU () > If (LEqual (Arg0, 0x03)) > { > \_SB.PCI0.LPCB.SPIC._SRS (\_SB.PCI0.LPCB.SPIC.SSRC) > If (LNot (\_SB.PCI0.LPCB.EC0.WAKI)) > { > Notify (\_SB.PWRB, 0x02) > } > } > If (LEqual (Arg0, 0x04)) > { > \_SB.PCI0.LPCB.SPIC._SRS (\_SB.PCI0.LPCB.SPIC.SSRC) > PHSB (0xA3, \_SB.OSTB) > Notify (\_SB.PWRB, 0x02) > } > Return (Zero) > } > Scope (\_SB) > { > Name (OSTB, Ones) > OperationRegion (OSTY, SystemMemory, 0x1FF7CAF7, 0x00000001) > Field (OSTY, AnyAcc, NoLock, Preserve) > { > TPOS, 8 > } > Method (OSTP, 0, NotSerialized) > { > If (LEqual (^OSTB, Ones)) > { > If (CondRefOf (\_OSI, Local0)) > { > If (\_OSI ("Windows 2001.1")) > { > Store (0x20, ^OSTB) > Store (0x20, ^TPOS) > } > Else > { > If (\_OSI ("Windows 2001 SP1")) > { > Store (0x10, ^OSTB) > Store (0x10, ^TPOS) > } > Else > { > If (\_OSI ("Windows 2001")) > { > Store (0x08, ^OSTB) > Store (0x08, ^TPOS) > } > Else > { > Store (0x00, ^OSTB) > Store (0x00, ^TPOS) > } > } > } > } > Else > { > If (CondRefOf (\_OS, Local0)) > { > If (^SEQL (\_OS, "Microsoft Windows")) > { > Store (0x01, ^OSTB) > Store (0x01, ^TPOS) > } > Else > { > If (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition")) > { > Store (0x02, ^OSTB) > Store (0x02, ^TPOS) > } > Else > { > If (^SEQL (\_OS, "Microsoft Windows NT")) > { > Store (0x04, ^OSTB) > Store (0x04, ^TPOS) > } > Else > { > Store (0x00, ^OSTB) > Store (0x00, ^TPOS) > } > } > } > } > Else > { > Store (0x00, ^OSTB) > Store (0x00, ^TPOS) > } > } > } > Return (^OSTB) > } > Method (SEQL, 2, Serialized) > { > Store (SizeOf (Arg0), Local0) > Store (SizeOf (Arg1), Local1) > If (LNot (LEqual (Local0, Local1))) > { > Return (Zero) > } > Name (BUF0, Buffer (Local0) {}) > Store (Arg0, BUF0) > Name (BUF1, Buffer (Local0) {}) > Store (Arg1, BUF1) > Store (Zero, Local2) > While (LLess (Local2, Local0)) > { > Store (DerefOf (Index (BUF0, Local2)), Local3) > Store (DerefOf (Index (BUF1, Local2)), Local4) > If (LNot (LEqual (Local3, Local4))) > { > Return (Zero) > } > Increment (Local2) > } > Return (One) > } > } > Scope (\_GPE) > { > Mutex (GLOK, 0x00) > Method (_L03, 0, NotSerialized) > { > Notify (\_SB.PCI0.USB0, 0x02) > } > Method (_L04, 0, NotSerialized) > { > Notify (\_SB.PCI0.USB1, 0x02) > } > Method (_L05, 0, NotSerialized) > { > Notify (\_SB.PCI0.MODM, 0x02) > } > Method (_L0C, 0, NotSerialized) > { > Notify (\_SB.PCI0.USB2, 0x02) > } > Method (_L0D, 0, NotSerialized) > { > Notify (\_SB.PCI0.USB7, 0x02) > } > Method (_L0B, 0, NotSerialized) > { > If (LNot (LLess (\_SB.OSTB, 0x08))) > { > Acquire (GLOK, 0xFFFF) > Sleep (0x64) > Notify (\_SB.PCI0.PCIB.CRD0, 0x02) > Sleep (0x64) > Release (GLOK) > Notify (\_SB.PCI0.PCIB, 0x02) > } > Else > { > Notify (\_SB.PCI0.PCIB, 0x02) > } > } > Method (_L1D, 0, NotSerialized) > { > Notify (\_SB.PCI0.LPCB.EC0, 0x02) > } > } > OperationRegion (SMI0, SystemMemory, 0x1FF7CAF8, 0x00000415) > Field (SMI0, AnyAcc, NoLock, Preserve) > { > BCMD, 8, > DID, 32, > INFO, 4096 > } > Field (SMI0, AnyAcc, NoLock, Preserve) > { > Offset (0x05), > INFB, 8 > } > Field (SMI0, AnyAcc, NoLock, Preserve) > { > Offset (0x05), > INFD, 32 > } > Field (SMI0, AnyAcc, NoLock, Preserve) > { > Offset (0x05), > SXBF, 8320 > } > Field (SMI0, AnyAcc, NoLock, Preserve) > { > Offset (0x05), > INF1, 8, > INF2, 8 > } > OperationRegion (SMI1, SystemIO, 0x0000FE00, 0x00000002) > Field (SMI1, AnyAcc, NoLock, Preserve) > { > SMIC, 8 > } > Mutex (MPHS, 0x00) > Method (PHS0, 1, NotSerialized) > { > Store (Arg0, BCMD) > Store (Zero, SMIC) > While (LEqual (BCMD, Arg0)) {} > Store (0x00, BCMD) > } > Method (PHS, 1, Serialized) > { > Acquire (MPHS, 0xFFFF) > Store (0x00, DID) > PHS0 (Arg0) > Store (INFD, Local0) > Release (MPHS) > Return (Local0) > } > Method (PHSD, 2, Serialized) > { > Acquire (MPHS, 0xFFFF) > Store (0x00, DID) > Store (Arg1, INFD) > PHS0 (Arg0) > Store (INFD, Local0) > Release (MPHS) > Return (Local0) > } > Method (PHSW, 3, Serialized) > { > Acquire (MPHS, 0xFFFF) > Store (0x00, DID) > Store (Arg1, INF1) > Store (Arg2, INF2) > PHS0 (Arg0) > Store (INFB, Local0) > Release (MPHS) > Return (Local0) > } > Method (PHSB, 2, Serialized) > { > Acquire (MPHS, 0xFFFF) > Store (0x00, DID) > Store (Arg1, INFB) > PHS0 (Arg0) > Store (INFB, Local0) > Release (MPHS) > Return (Local0) > } > Method (PSCS, 1, Serialized) > { > Acquire (MPHS, 0xFFFF) > Store (Arg0, DID) > PHS0 (0x00) > Store (INFO, Local0) > Release (MPHS) > Return (Local0) > } > Method (PSSS, 2, Serialized) > { > Acquire (MPHS, 0xFFFF) > Store (Arg0, DID) > Store (Arg1, INFO) > PHS0 (0x01) > Release (MPHS) > } > Method (PSPS, 1, Serialized) > { > Acquire (MPHS, 0xFFFF) > Store (Arg0, DID) > PHS0 (0x02) > Store (INFO, Local0) > Release (MPHS) > Return (Local0) > } > Method (PSDI, 1, Serialized) > { > Acquire (MPHS, 0xFFFF) > Store (Arg0, DID) > PHS0 (0x03) > Release (MPHS) > } > Method (PSST, 1, Serialized) > { > Acquire (MPHS, 0xFFFF) > Store (Arg0, DID) > PHS0 (0x04) > Store (INFB, Local0) > Release (MPHS) > Return (Local0) > } > Scope (\_TZ) > { > ThermalZone (ATF0) > { > Method (KELV, 1, NotSerialized) > { > Store (Arg0, Local0) > Multiply (Local0, 0x0A, Local0) > Add (Local0, 0x0AAB, Local0) > Return (Local0) > } > Method (_TMP, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > Store (PHSD (0xD4, 0xC0), Local1) > } > Else > { > Store (\_SB.PCI0.LPCB.EC0.A1TP, Local1) > } > ShiftRight (Local1, 0x08, Local0) > If (LGreater (Local0, 0x80)) > { > Sleep (0x32) > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > Store (PHSD (0xD4, 0xC0), Local1) > } > Else > { > Store (\_SB.PCI0.LPCB.EC0.A1TP, Local1) > } > ShiftRight (Local1, 0x08, Local0) > } > Return (KELV (Local0)) > } > Method (_PSV, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > Store (PHSD (0xD4, 0xC4), Local1) > } > Else > { > Store (\_SB.PCI0.LPCB.EC0.A1PT, Local1) > } > ShiftRight (Local1, 0x08, Local0) > Return (KELV (Local0)) > } > Name (_PSL, Package (0x01) > { > \_PR.CPU0 > }) > Method (_CRT, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > Store (PHSD (0xD4, 0xC6), Local1) > } > Else > { > Store (\_SB.PCI0.LPCB.EC0.A1CT, Local1) > } > ShiftRight (Local1, 0x08, Local0) > Return (KELV (Local0)) > } > Name (_TC1, 0x01) > Name (_TC2, 0x02) > Name (_TSP, 0x32) > } > } > Scope (\_SB) > { > Device (LID0) > { > Name (_HID, EisaId ("PNP0C0D")) > Method (_LID, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > And (PHSB (0xD4, 0x82), 0x04, Local0) > } > Else > { > Store (\_SB.PCI0.LPCB.EC0.LIDS, Local0) > } > Return (Local0) > } > } > Device (PWRB) > { > Name (_HID, EisaId ("PNP0C0C")) > Name (_PRW, Package (0x02) > { > 0x1D, > 0x04 > }) > } > Mutex (PLOK, 0x00) > Method (NCPU, 0, NotSerialized) > { > Acquire (PLOK, 0xFFFF) > Notify (\_PR.CPU0, 0x80) > Sleep (0x64) > Notify (\_PR.CPU0, 0x81) > Release (PLOK) > } > Device (PCI0) > { > Method (_INI, 0, NotSerialized) > { > \_SB.OSTP () > } > Method (_S1D, 0, NotSerialized) > { > Return (0x02) > } > Method (_S3D, 0, NotSerialized) > { > Return (0x02) > } > Method (_S4D, 0, NotSerialized) > { > Return (0x02) > } > Name (_HID, EisaId ("PNP0A03")) > Name (_ADR, 0x00) > Name (_BBN, 0x00) > OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) > Field (HBUS, DWordAcc, NoLock, Preserve) > { > Offset (0x20), > DRB0, 8, > DRB1, 8, > DRB2, 8, > DRB3, 8, > Offset (0x50), > , 4, > PM0H, 2, > Offset (0x51), > PM1L, 2, > , 2, > PM1H, 2, > Offset (0x52), > PM2L, 2, > , 2, > PM2H, 2, > Offset (0x53), > PM3L, 2, > , 2, > PM3H, 2, > Offset (0x54), > PM4L, 2, > , 2, > PM4H, 2, > Offset (0x55), > PM5L, 2, > , 2, > PM5H, 2, > Offset (0x56), > PM6L, 2, > , 2, > PM6H, 2, > Offset (0x57), > FDHC, 8 > } > Name (BUF0, ResourceTemplate () > { > WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, > 0x0000, > 0x0000, > 0x00FF, > 0x0000, > 0x0100, 0x00) > DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, > 0x00000000, > 0x00000000, > 0x00000CF7, > 0x00000000, > 0x00000CF8, 0x00) > IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) > DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, > 0x00000000, > 0x00000D00, > 0x0000FFFF, > 0x00000000, > 0x0000F300, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000A0000, > 0x000BFFFF, > 0x00000000, > 0x00020000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000C0000, > 0x000C3FFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000C4000, > 0x000C7FFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000C8000, > 0x000CBFFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000CC000, > 0x000CFFFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000D0000, > 0x000D3FFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000D4000, > 0x000D7FFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000D8000, > 0x000DBFFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000DC000, > 0x000DFFFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000E0000, > 0x000E3FFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000E4000, > 0x000E7FFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000E8000, > 0x000EBFFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000EC000, > 0x000EFFFF, > 0x00000000, > 0x00004000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x000F0000, > 0x000FFFFF, > 0x00000000, > 0x00010000, 0x00) > DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > 0x00000000, > 0x00000000, > 0xFEBFFFFF, > 0x00000000, > 0x00000000, 0x00) > }) > Method (_CRS, 0, Serialized) > { > If (PM1L) > { > CreateDWordField (BUF0, 0x80, C0LN) > Store (Zero, C0LN) > } > If (LEqual (PM1L, 0x01)) > { > CreateBitField (BUF0, 0x0378, C0RW) > Store (Zero, C0RW) > } > If (PM1H) > { > CreateDWordField (BUF0, 0x9B, C4LN) > Store (Zero, C4LN) > } > If (LEqual (PM1H, 0x01)) > { > CreateBitField (BUF0, 0x0450, C4RW) > Store (Zero, C4RW) > } > If (PM2L) > { > CreateDWordField (BUF0, 0xB6, C8LN) > Store (Zero, C8LN) > } > If (LEqual (PM2L, 0x01)) > { > CreateBitField (BUF0, 0x0528, C8RW) > Store (Zero, C8RW) > } > If (PM2H) > { > CreateDWordField (BUF0, 0xD1, CCLN) > Store (Zero, CCLN) > } > If (LEqual (PM2H, 0x01)) > { > CreateBitField (BUF0, 0x0600, CCRW) > Store (Zero, CCRW) > } > If (PM3L) > { > CreateDWordField (BUF0, 0xEC, D0LN) > Store (Zero, D0LN) > } > If (LEqual (PM3L, 0x01)) > { > CreateBitField (BUF0, 0x06D8, D0RW) > Store (Zero, D0RW) > } > If (PM3H) > { > CreateDWordField (BUF0, 0x0107, D4LN) > Store (Zero, D4LN) > } > If (LEqual (PM3H, 0x01)) > { > CreateBitField (BUF0, 0x07B0, D4RW) > Store (Zero, D4RW) > } > If (PM4L) > { > CreateDWordField (BUF0, 0x0122, D8LN) > Store (Zero, D8LN) > } > If (LEqual (PM4L, 0x01)) > { > CreateBitField (BUF0, 0x0888, D8RW) > Store (Zero, D8RW) > } > If (PM4H) > { > CreateDWordField (BUF0, 0x013D, DCLN) > Store (Zero, DCLN) > } > If (LEqual (PM4H, 0x01)) > { > CreateBitField (BUF0, 0x0960, DCRW) > Store (Zero, DCRW) > } > If (PM5L) > { > CreateDWordField (BUF0, 0x0158, E0LN) > Store (Zero, E0LN) > } > If (LEqual (PM5L, 0x01)) > { > CreateBitField (BUF0, 0x0A38, E0RW) > Store (Zero, E0RW) > } > If (PM5H) > { > CreateDWordField (BUF0, 0x0173, E4LN) > Store (Zero, E4LN) > } > If (LEqual (PM5H, 0x01)) > { > CreateBitField (BUF0, 0x0B10, E4RW) > Store (Zero, E4RW) > } > If (PM6L) > { > CreateDWordField (BUF0, 0x018E, E8LN) > Store (Zero, E8LN) > } > If (LEqual (PM6L, 0x01)) > { > CreateBitField (BUF0, 0x0BE8, E8RW) > Store (Zero, E8RW) > } > If (PM6H) > { > CreateDWordField (BUF0, 0x01A9, ECLN) > Store (Zero, ECLN) > } > If (LEqual (PM6H, 0x01)) > { > CreateBitField (BUF0, 0x0CC0, ECRW) > Store (Zero, ECRW) > } > If (PM0H) > { > CreateDWordField (BUF0, 0x01C4, F0LN) > Store (Zero, F0LN) > } > If (LEqual (PM0H, 0x01)) > { > CreateBitField (BUF0, 0x0D98, F0RW) > Store (Zero, F0RW) > } > CreateDWordField (BUF0, 0x01D3, M1MN) > CreateDWordField (BUF0, 0x01D7, M1MX) > CreateDWordField (BUF0, 0x01DF, M1LN) > Multiply (0x02000000, DRB3, M1MN) > Add (Subtract (M1MX, M1MN), 0x01, M1LN) > Return (BUF0) > } > Method (_PRT, 0, NotSerialized) > { > Return (Package (0x09) > { > Package (0x04) > { > 0x0001FFFF, > 0x00, > \_SB.PCI0.LPCB.LNKA, > 0x00 > }, > Package (0x04) > { > 0x0001FFFF, > 0x01, > \_SB.PCI0.LPCB.LNKB, > 0x00 > }, > Package (0x04) > { > 0x0001FFFF, > 0x02, > \_SB.PCI0.LPCB.LNKC, > 0x00 > }, > Package (0x04) > { > 0x0001FFFF, > 0x03, > \_SB.PCI0.LPCB.LNKD, > 0x00 > }, > Package (0x04) > { > 0x001DFFFF, > 0x00, > \_SB.PCI0.LPCB.LNKA, > 0x00 > }, > Package (0x04) > { > 0x001DFFFF, > 0x01, > \_SB.PCI0.LPCB.LNKD, > 0x00 > }, > Package (0x04) > { > 0x001DFFFF, > 0x02, > \_SB.PCI0.LPCB.LNKC, > 0x00 > }, > Package (0x04) > { > 0x001DFFFF, > 0x03, > \_SB.PCI0.LPCB.LNKH, > 0x00 > }, > Package (0x04) > { > 0x001FFFFF, > 0x01, > \_SB.PCI0.LPCB.LNKB, > 0x00 > } > }) > } > Device (AGPB) > { > Name (_ADR, 0x00010000) > Method (_PRT, 0, NotSerialized) > { > Return (Package (0x01) > { > Package (0x04) > { > 0xFFFF, > 0x00, > \_SB.PCI0.LPCB.LNKA, > 0x00 > } > }) > } > Device (VID0) > { > Name (_ADR, 0x00) > OperationRegion (VIDR, PCI_Config, 0x4C, 0x04) > Field (VIDR, ByteAcc, NoLock, Preserve) > { > SSID, 32 > } > Device (CRT) > { > Name (_ADR, 0x0100) > } > Device (LCD) > { > Name (_ADR, 0x0110) > } > Device (TV) > { > Name (_ADR, 0x0200) > } > } > } > Device (PCIB) > { > Name (_ADR, 0x001E0000) > Device (LANC) > { > Name (_ADR, 0x00080000) > Name (_PRW, Package (0x02) > { > 0x0B, > 0x03 > }) > } > Device (WLAN) > { > Name (_ADR, 0x000B0000) > Name (_PSC, 0x00) > Method (_PS0, 0, NotSerialized) > { > Store (0x00, _PSC) > } > Method (_PS3, 0, NotSerialized) > { > Store (0x03, _PSC) > } > Method (_STA, 0, NotSerialized) > { > Return (0x0F) > } > } > Device (CRD0) > { > Name (_ADR, 0x00050000) > OperationRegion (CCRD, PCI_Config, 0x00, 0xE4) > Field (CCRD, DWordAcc, NoLock, Preserve) > { > Offset (0x04), > CD04, 32, > Offset (0x3E), > CD3E, 32, > Offset (0x44), > CD44, 32, > Offset (0xE0), > CDE0, 8, > CDE1, 8 > } > Method (_INI, 0, NotSerialized) > { > Store (Zero, CD44) > } > Name (_PSC, 0x00) > Method (_PS0, 0, NotSerialized) > { > Store (0x00, _PSC) > } > Method (_PS3, 0, NotSerialized) > { > Store (0x03, _PSC) > } > Method (_STA, 0, NotSerialized) > { > Return (0x0F) > } > Name (_PRW, Package (0x02) > { > 0x0B, > 0x03 > }) > } > Device (SD94) > { > Name (_ADR, 0x00050001) > } > Method (_PRT, 0, NotSerialized) > { > Return (Package (0x05) > { > Package (0x04) > { > 0x0005FFFF, > 0x00, > \_SB.PCI0.LPCB.LNKF, > 0x00 > }, > Package (0x04) > { > 0x0005FFFF, > 0x01, > \_SB.PCI0.LPCB.LNKG, > 0x00 > }, > Package (0x04) > { > 0x000BFFFF, > 0x00, > \_SB.PCI0.LPCB.LNKD, > 0x00 > }, > Package (0x04) > { > 0x0004FFFF, > 0x00, > \_SB.PCI0.LPCB.LNKE, > 0x00 > }, > Package (0x04) > { > 0x0008FFFF, > 0x00, > \_SB.PCI0.LPCB.LNKE, > 0x00 > } > }) > } > } > Device (LPCB) > { > Name (_ADR, 0x001F0000) > OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) > Field (LPC0, AnyAcc, NoLock, Preserve) > { > Offset (0x20), > PIRA, 8, > PIRB, 8, > PIRC, 8, > PIRD, 8, > Offset (0x28), > PIRE, 8, > PIRF, 8, > PIRG, 8, > PIRH, 8, > Offset (0x90), > HPTE, 32, > Offset (0xA0), > LDE0, 8, > LDE1, 8 > } > Device (LNKA) > { > Name (_HID, EisaId ("PNP0C0F")) > Name (_UID, 0x01) > Method (_DIS, 0, Serialized) > { > Store (0x80, PIRA) > } > Name (_PRS, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {9} > }) > Method (_CRS, 0, Serialized) > { > Name (RTLA, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {} > }) > CreateWordField (RTLA, 0x01, IRQ0) > Store (Zero, IRQ0) > ShiftLeft (0x01, And (PIRA, 0x0F), IRQ0) > Return (RTLA) > } > Method (_SRS, 1, Serialized) > { > CreateWordField (Arg0, 0x01, IRQ0) > FindSetRightBit (IRQ0, Local0) > Decrement (Local0) > Store (Local0, PIRA) > } > Method (_STA, 0, Serialized) > { > If (And (PIRA, 0x80)) > { > Return (0x09) > } > Else > { > Return (0x0B) > } > } > } > Device (LNKB) > { > Name (_HID, EisaId ("PNP0C0F")) > Name (_UID, 0x02) > Method (_DIS, 0, Serialized) > { > Store (0x80, PIRB) > } > Name (_PRS, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {9} > }) > Method (_CRS, 0, Serialized) > { > Name (RTLB, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {} > }) > CreateWordField (RTLB, 0x01, IRQ0) > Store (Zero, IRQ0) > ShiftLeft (0x01, And (PIRB, 0x0F), IRQ0) > Return (RTLB) > } > Method (_SRS, 1, Serialized) > { > CreateWordField (Arg0, 0x01, IRQ0) > FindSetRightBit (IRQ0, Local0) > Decrement (Local0) > Store (Local0, PIRB) > } > Method (_STA, 0, Serialized) > { > If (And (PIRB, 0x80)) > { > Return (0x09) > } > Else > { > Return (0x0B) > } > } > } > Device (LNKC) > { > Name (_HID, EisaId ("PNP0C0F")) > Name (_UID, 0x03) > Method (_DIS, 0, Serialized) > { > Store (0x80, PIRC) > } > Name (_PRS, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {9} > }) > Method (_CRS, 0, Serialized) > { > Name (RTLC, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {} > }) > CreateWordField (RTLC, 0x01, IRQ0) > Store (Zero, IRQ0) > ShiftLeft (0x01, And (PIRC, 0x0F), IRQ0) > Return (RTLC) > } > Method (_SRS, 1, Serialized) > { > CreateWordField (Arg0, 0x01, IRQ0) > FindSetRightBit (IRQ0, Local0) > Decrement (Local0) > Store (Local0, PIRC) > } > Method (_STA, 0, Serialized) > { > If (And (PIRC, 0x80)) > { > Return (0x09) > } > Else > { > Return (0x0B) > } > } > } > Device (LNKD) > { > Name (_HID, EisaId ("PNP0C0F")) > Name (_UID, 0x04) > Method (_DIS, 0, Serialized) > { > Store (0x80, PIRD) > } > Name (_PRS, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {9} > }) > Method (_CRS, 0, Serialized) > { > Name (RTLD, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {} > }) > CreateWordField (RTLD, 0x01, IRQ0) > Store (Zero, IRQ0) > ShiftLeft (0x01, And (PIRD, 0x0F), IRQ0) > Return (RTLD) > } > Method (_SRS, 1, Serialized) > { > CreateWordField (Arg0, 0x01, IRQ0) > FindSetRightBit (IRQ0, Local0) > Decrement (Local0) > Store (Local0, PIRD) > } > Method (_STA, 0, Serialized) > { > If (And (PIRD, 0x80)) > { > Return (0x09) > } > Else > { > Return (0x0B) > } > } > } > Device (LNKE) > { > Name (_HID, EisaId ("PNP0C0F")) > Name (_UID, 0x05) > Method (_DIS, 0, Serialized) > { > Store (0x80, PIRE) > } > Name (_PRS, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {9} > }) > Method (_CRS, 0, Serialized) > { > Name (RTLE, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {} > }) > CreateWordField (RTLE, 0x01, IRQ0) > Store (Zero, IRQ0) > ShiftLeft (0x01, And (PIRE, 0x0F), IRQ0) > Return (RTLE) > } > Method (_SRS, 1, Serialized) > { > CreateWordField (Arg0, 0x01, IRQ0) > FindSetRightBit (IRQ0, Local0) > Decrement (Local0) > Store (Local0, PIRE) > } > Method (_STA, 0, Serialized) > { > If (And (PIRE, 0x80)) > { > Return (0x09) > } > Else > { > Return (0x0B) > } > } > } > Device (LNKF) > { > Name (_HID, EisaId ("PNP0C0F")) > Name (_UID, 0x06) > Method (_DIS, 0, Serialized) > { > Store (0x80, PIRF) > } > Name (_PRS, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {9} > }) > Method (_CRS, 0, Serialized) > { > Name (RTLF, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {} > }) > CreateWordField (RTLF, 0x01, IRQ0) > Store (Zero, IRQ0) > ShiftLeft (0x01, And (PIRF, 0x0F), IRQ0) > Return (RTLF) > } > Method (_SRS, 1, Serialized) > { > CreateWordField (Arg0, 0x01, IRQ0) > FindSetRightBit (IRQ0, Local0) > Decrement (Local0) > Store (Local0, PIRF) > } > Method (_STA, 0, Serialized) > { > If (And (PIRF, 0x80)) > { > Return (0x09) > } > Else > { > Return (0x0B) > } > } > } > Device (LNKG) > { > Name (_HID, EisaId ("PNP0C0F")) > Name (_UID, 0x07) > Method (_DIS, 0, Serialized) > { > Store (0x80, PIRG) > } > Name (_PRS, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {9} > }) > Method (_CRS, 0, Serialized) > { > Name (RTLG, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {} > }) > CreateWordField (RTLG, 0x01, IRQ0) > Store (Zero, IRQ0) > ShiftLeft (0x01, And (PIRG, 0x0F), IRQ0) > Return (RTLG) > } > Method (_SRS, 1, Serialized) > { > CreateWordField (Arg0, 0x01, IRQ0) > FindSetRightBit (IRQ0, Local0) > Decrement (Local0) > Store (Local0, PIRG) > } > Method (_STA, 0, Serialized) > { > If (And (PIRG, 0x80)) > { > Return (0x09) > } > Else > { > Return (0x0B) > } > } > } > Device (LNKH) > { > Name (_HID, EisaId ("PNP0C0F")) > Name (_UID, 0x08) > Method (_DIS, 0, Serialized) > { > Store (0x80, PIRH) > } > Name (_PRS, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {9} > }) > Method (_CRS, 0, Serialized) > { > Name (RTLH, ResourceTemplate () > { > IRQ (Level, ActiveLow, Shared) {} > }) > CreateWordField (RTLH, 0x01, IRQ0) > Store (Zero, IRQ0) > ShiftLeft (0x01, And (PIRH, 0x0F), IRQ0) > Return (RTLH) > } > Method (_SRS, 1, Serialized) > { > CreateWordField (Arg0, 0x01, IRQ0) > FindSetRightBit (IRQ0, Local0) > Decrement (Local0) > Store (Local0, PIRH) > } > Method (_STA, 0, Serialized) > { > If (And (PIRH, 0x80)) > { > Return (0x09) > } > Else > { > Return (0x0B) > } > } > } > Device (TIMR) > { > Name (_HID, EisaId ("PNP0100")) > Name (BUF0, ResourceTemplate () > { > IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) > IO (Decode16, 0x0050, 0x0050, 0x10, 0x04) > }) > Name (BUF1, ResourceTemplate () > { > IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) > IO (Decode16, 0x0050, 0x0050, 0x10, 0x04) > IRQNoFlags () {0} > }) > Method (_CRS, 0, Serialized) > { > If (And (HPTE, 0x00020000)) > { > Return (BUF0) > } > Return (BUF1) > } > } > Device (IPIC) > { > Name (_HID, EisaId ("PNP0000")) > Name (_CRS, ResourceTemplate () > { > IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) > IO (Decode16, 0x0024, 0x0024, 0x01, 0x02) > IO (Decode16, 0x0028, 0x0028, 0x01, 0x02) > IO (Decode16, 0x002C, 0x002C, 0x01, 0x02) > IO (Decode16, 0x0030, 0x0030, 0x01, 0x02) > IO (Decode16, 0x0034, 0x0034, 0x01, 0x02) > IO (Decode16, 0x0038, 0x0038, 0x01, 0x02) > IO (Decode16, 0x003C, 0x003C, 0x01, 0x02) > IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) > IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x02) > IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02) > IO (Decode16, 0x00AC, 0x00AC, 0x01, 0x02) > IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x02) > IO (Decode16, 0x00B4, 0x00B4, 0x01, 0x02) > IO (Decode16, 0x00B8, 0x00B8, 0x01, 0x02) > IO (Decode16, 0x00BC, 0x00BC, 0x01, 0x02) > IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) > IRQNoFlags () {2} > }) > } > Device (RTC) > { > Name (_HID, EisaId ("PNP0B00")) > Name (BUF0, ResourceTemplate () > { > IO (Decode16, 0x0070, 0x0070, 0x01, 0x08) > }) > Name (BUF1, ResourceTemplate () > { > IO (Decode16, 0x0070, 0x0070, 0x01, 0x08) > IRQNoFlags () {8} > }) > Method (_CRS, 0, Serialized) > { > If (And (HPTE, 0x00020000)) > { > Return (BUF0) > } > Return (BUF1) > } > } > Device (MATH) > { > Name (_HID, EisaId ("PNP0C04")) > Name (_CRS, ResourceTemplate () > { > IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x01) > IRQNoFlags () {13} > }) > } > Device (DMAC) > { > Name (_HID, EisaId ("PNP0200")) > Name (_CRS, ResourceTemplate () > { > IO (Decode16, 0x0000, 0x0000, 0x01, 0x20) > IO (Decode16, 0x0081, 0x0081, 0x01, 0x0F) > IO (Decode16, 0x0090, 0x0090, 0x01, 0x02) > IO (Decode16, 0x0093, 0x0093, 0x01, 0x0D) > IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) > DMA (Compatibility, NotBusMaster, Transfer8_16) {4} > }) > } > Device (MBRD) > { > Name (_HID, EisaId ("PNP0C02")) > Name (_CRS, ResourceTemplate () > { > IO (Decode16, 0x002E, 0x002E, 0x01, 0x02) > IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) > IO (Decode16, 0x0063, 0x0063, 0x01, 0x01) > IO (Decode16, 0x0065, 0x0065, 0x01, 0x01) > IO (Decode16, 0x0067, 0x0067, 0x01, 0x01) > IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) > IO (Decode16, 0x0092, 0x0092, 0x01, 0x01) > IO (Decode16, 0x00B2, 0x00B2, 0x01, 0x02) > IO (Decode16, 0x0600, 0x0600, 0x01, 0x10) > IO (Decode16, 0x0700, 0x0700, 0x01, 0x10) > IO (Decode16, 0x1000, 0x1000, 0x01, 0x80) > IO (Decode16, 0x1180, 0x1180, 0x01, 0x40) > IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x02) > IO (Decode16, 0xFE10, 0xFE10, 0x01, 0x08) > Memory32Fixed (ReadWrite, 0xFEBFE000, 0x00001000) > Memory32Fixed (ReadWrite, 0xFEBFF000, 0x00001000) > Memory32Fixed (ReadWrite, 0xFEC00000, 0x00001000) > }) > } > Device (FWHD) > { > Name (_HID, EisaId ("INT0800")) > Name (_CRS, ResourceTemplate () > { > Memory32Fixed (ReadOnly, 0xFF800000, 0x00800000) > }) > } > Device (EC0) > { > Name (_HID, EisaId ("PNP0C09")) > Name (_CRS, ResourceTemplate () > { > IO (Decode16, 0x0062, 0x0062, 0x01, 0x01) > IO (Decode16, 0x0066, 0x0066, 0x01, 0x01) > }) > Name (_GPE, 0x1C) > Name (ECOK, 0x00) > Method (_REG, 2, NotSerialized) > { > If (LEqual (Arg0, 0x03)) > { > Store (Arg1, ECOK) > } > } > Name (_PRW, Package (0x02) > { > 0x1D, > 0x05 > }) > OperationRegion (ECR, EmbeddedControl, 0x00, 0xFF) > Field (ECR, ByteAcc, Lock, Preserve) > { > Offset (0x80), > MPBP, 1, > MPBD, 1, > DOKD, 1, > DFBP, 1, > Offset (0x81), > BT1A, 1, > BT2A, 1, > ACAT, 1, > Offset (0x82), > PWRB, 1, > JOGB, 1, > LIDS, 1, > Offset (0x83), > BT1P, 1, > BT2P, 1, > Offset (0x84), > B1ST, 8, > B2ST, 8, > Offset (0x90), > MASK, 8, > BT1S, 1, > BT2S, 1, > Offset (0x92), > BT1W, 1, > BT2W, 1, > Offset (0x93), > FAN0, 8, > CB0S, 1, > CB1S, 1, > Offset (0x95), > PHYO, 1, > Offset (0x96), > BRIT, 8, > CONT, 8, > SNDU, 1, > SNDD, 1, > Offset (0x99), > SMDM, 1, > Offset (0x9A), > Offset (0x9B), > SIRQ, 8, > SLOB, 8, > SHIB, 8, > MPWR, 1, > WAKI, 1, > Offset (0x9F), > Offset (0xA0), > B1RC, 16, > B1AB, 16, > B1AC, 16, > B1VO, 16, > B2RC, 16, > B2AB, 16, > B2AC, 16, > B2VO, 16, > B1DC, 16, > B1LF, 16, > B1DV, 16, > B1DL, 16, > B2DC, 16, > B2LF, 16, > B2DV, 16, > B2DL, 16, > A1TP, 16, > A1AT, 16, > A1PT, 16, > A1CT, 16, > A2TP, 16, > A2AT, 16, > A2PT, 16, > A2CT, 16 > } > Method (_Q50, 0, NotSerialized) > { > Notify (ACAD, 0x80) > \_SB.NCPU () > } > Method (_Q51, 0, NotSerialized) > { > If (BT1A) > { > Notify (BAT1, 0x00) > } > Else > { > Notify (BAT1, 0x01) > } > Notify (BAT1, 0x80) > } > Method (_Q53, 0, NotSerialized) > { > Store ("_Q53:Battery Selection", Debug) > } > Method (_Q58, 0, NotSerialized) > { > Store ("_Q58:ATF temperature trip point changd", Debug) > Notify (\_TZ.ATF0, 0x81) > } > Method (_Q5F, 0, NotSerialized) > { > Store ("_Q5F:ATF temperature reaches trip point", Debug) > Notify (\_TZ.ATF0, 0x80) > } > Method (_Q60, 0, NotSerialized) > { > Notify (\_SB.PWRB, 0x80) > } > Method (_Q66, 0, NotSerialized) > { > Notify (\_SB.LID0, 0x80) > } > Device (BAT1) > { > Name (_HID, EisaId ("PNP0C0A")) > Name (_UID, 0x01) > Name (_PCL, Package (0x01) > { > \_SB > }) > Name (BATI, Package (0x0D) > { > 0x00, > 0x9650, > 0x9650, > 0x00, > 0x39D0, > 0x00, > 0x78, > 0x00, > 0x0A, > "", > "", > "LION", > "Sony Corp." > }) > Name (BATS, Package (0x04) > { > 0x02, > 0xFFFFFFFF, > 0x0D7A, > 0x3840 > }) > Method (_STA, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > And (PHSD (0xD4, 0x80), 0x0100, Local1) > } > Else > { > Store (BT1A, Local1) > } > If (Local1) > { > Store (0x1F, Local0) > } > Else > { > Store (0x0F, Local0) > } > Return (Local0) > } > Method (_BIF, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > Store (PHSD (0xD4, 0xB0), Local0) > Store (PHSD (0xD4, 0xB2), Local1) > Store (PHSD (0xD4, 0xB6), Local2) > } > Else > { > Store (B1DC, Local0) > Store (B1LF, Local1) > Store (B1DV, Local2) > } > Multiply (Local0, 0x0A, Index (BATI, 0x01)) > Multiply (Local1, 0x0A, Index (BATI, 0x02)) > Store (Local2, Index (BATI, 0x04)) > Return (BATI) > } > Method (_BST, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > Store (And (PHSD (0xD4, 0x84), 0xFF, Local0), Index (BATS, 0x00)) > Store (PHSD (0xD4, 0xA6), Local0) > Store (PHSD (0xD4, 0xA4), Local1) > Store (PHSD (0xD4, 0xA2), Local2) > } > Else > { > Store (B1ST, Index (BATS, 0x00)) > Store (B1VO, Local0) > Store (B1AC, Local1) > Store (B1AB, Local2) > } > If (LEqual (Local1, 0xFFFF)) > { > Store (0xFFFFFFFF, Local1) > } > Else > { > If (LNot (LLess (Local1, 0x8000))) > { > XOr (Local1, 0xFFFF, Local1) > Increment (Local1) > } > Multiply (Local0, Local1, Local1) > Divide (Local1, 0x03E8, , Local1) > } > Store (Local1, Index (BATS, 0x01)) > Multiply (Local2, 0x0A, Index (BATS, 0x02)) > Store (Local0, Index (BATS, 0x03)) > Return (BATS) > } > } > Scope (\) > { > Name (PWRS, Ones) > } > Device (ACAD) > { > Name (_HID, "ACPI0003") > Name (_PCL, Package (0x01) > { > \_SB > }) > Method (_PSR, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > And (PHSD (0xD4, 0x80), 0x0400, Local1) > } > Else > { > Store (ACAT, Local1) > } > Store (Local1, PWRS) > If (Local1) > { > Return (One) > } > Else > { > Return (Zero) > } > } > Method (_STA, 0, NotSerialized) > { > Return (0x0F) > } > } > } > Device (SPIC) > { > Name (_HID, EisaId ("SNY6001")) > Name (RSRC, ResourceTemplate () > { > IO (Decode16, 0x0000, 0x0000, 0x01, 0x20) > IRQNoFlags () {} > }) > Name (SSRC, ResourceTemplate () > { > IO (Decode16, 0x0000, 0x0000, 0x01, 0x20) > IRQNoFlags () {} > }) > Name (SIRT, Package (0x04) > { > 0x06, > 0x09, > 0x0A, > 0x0B > }) > Method (_CRS, 0, NotSerialized) > { > CreateByteField (RSRC, 0x02, IOM1) > CreateByteField (RSRC, 0x03, IOM2) > CreateWordField (RSRC, 0x02, IO1I) > CreateWordField (RSRC, 0x04, IO1A) > CreateWordField (RSRC, 0x09, IRQV) > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > Store (PHSB (0xD4, 0x9C), IOM1) > Store (PHSB (0xD4, 0x9D), IOM2) > } > Else > { > Store (\_SB.PCI0.LPCB.EC0.SLOB, IOM1) > Store (\_SB.PCI0.LPCB.EC0.SHIB, IOM2) > } > Store (IO1I, IO1A) > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > ShiftRight (PHSB (0xD4, 0x9B), 0x04, Local0) > } > Else > { > ShiftRight (\_SB.PCI0.LPCB.EC0.SIRQ, 0x04, Local0) > } > FindSetRightBit (Local0, Local1) > If (Local1) > { > Decrement (Local1) > Store (DerefOf (Index (SIRT, Local1)), Local0) > ShiftLeft (0x01, Local0, IRQV) > } > Return (RSRC) > } > Method (_SRS, 1, NotSerialized) > { > CreateByteField (Arg0, 0x02, IOA1) > CreateByteField (Arg0, 0x03, IOA2) > CreateWordField (Arg0, 0x09, IRQV) > FindSetRightBit (IRQV, Local0) > If (Local0) > { > Decrement (Local0) > Store (Match (SIRT, MEQ, Local0, MTR, 0x00, 0x00), Local1) > ShiftLeft (0x10, Local1, Local2) > } > Else > { > Store (0x00, Local2) > } > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > PHSW (0xD5, 0x9B, Local2) > } > Else > { > Store (Local2, \_SB.PCI0.LPCB.EC0.SIRQ) > } > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > PHSW (0xD5, 0x9D, IOA2) > PHSW (0xD5, 0x9C, IOA1) > } > Else > { > Store (IOA2, \_SB.PCI0.LPCB.EC0.SHIB) > Store (IOA1, \_SB.PCI0.LPCB.EC0.SLOB) > } > Sleep (0x01) > } > Name (_PRS, ResourceTemplate () > { > StartDependentFnNoPri () > { > IO (Decode16, 0x1080, 0x1080, 0x01, 0x20) > } > StartDependentFnNoPri () > { > IO (Decode16, 0x10A0, 0x10A0, 0x01, 0x20) > } > StartDependentFnNoPri () > { > IO (Decode16, 0x10C0, 0x10C0, 0x01, 0x20) > } > StartDependentFnNoPri () > { > IO (Decode16, 0x10E0, 0x10E0, 0x01, 0x20) > } > EndDependentFn () > IRQNoFlags () {6,9,10,11} > }) > Method (_DIS, 0, NotSerialized) > { > Store (_CRS (), SSRC) > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > PHSW (0xD5, 0x9B, 0x00) > PHSW (0xD5, 0x9D, 0x00) > PHSW (0xD5, 0x9C, 0x00) > } > Else > { > Store (0x00, \_SB.PCI0.LPCB.EC0.SIRQ) > Store (0x00, \_SB.PCI0.LPCB.EC0.SHIB) > Store (0x00, \_SB.PCI0.LPCB.EC0.SLOB) > } > Sleep (0x01) > } > Method (_STA, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > ShiftRight (PHSB (0xD4, 0x9B), 0x04, Local0) > } > Else > { > ShiftRight (\_SB.PCI0.LPCB.EC0.SIRQ, 0x04, Local0) > } > FindSetRightBit (Local0, Local1) > If (Local1) > { > Return (0x0F) > } > Else > { > Return (0x0D) > } > } > } > Device (SNC) > { > Name (_HID, EisaId ("SNY5001")) > Method (GPID, 0, NotSerialized) > { > Return (PHSB (0xC0, 0x00)) > } > Method (GBRT, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > Store (PHSD (0xD4, 0x96), Local0) > } > Else > { > Store (\_SB.PCI0.LPCB.EC0.BRIT, Local0) > } > Return (PHSB (0xCF, Local0)) > } > Method (SBRT, 1, NotSerialized) > { > Store (PHSB (0xCD, Arg0), Local0) > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > PHSB (0xC3, Local0) > } > Else > { > Store (Local0, \_SB.PCI0.LPCB.EC0.BRIT) > } > Return (Zero) > } > Method (GPBR, 0, NotSerialized) > { > Return (PHSB (0xC1, 0x00)) > } > Method (SPBR, 1, NotSerialized) > { > PHSB (0xC2, Arg0) > Return (Zero) > } > Method (GCTR, 0, NotSerialized) > { > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > Store (PHSD (0xD4, 0x97), Local0) > } > Else > { > Store (\_SB.PCI0.LPCB.EC0.CONT, Local0) > } > Return (PHSB (0xD0, Local0)) > } > Method (SCTR, 1, NotSerialized) > { > Store (PHSB (0xCE, Arg0), Local0) > If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) > { > PHSB (0xC6, Local0) > } > Else > { > Store (Local0, \_SB.PCI0.LPCB.EC0.CONT) > } > Return (Zero) > } > Method (GPCR, 0, NotSerialized) > { > Return (PHSB (0xC4, 0x00)) > } > Method (SPCR, 1, NotSerialized) > { > PHSB (0xC5, Arg0) > Return (Zero) > } > Method (GCMI, 1, NotSerialized) > { > Return (PHSD (0xCA, Arg0)) > } > Method (SCMI, 1, NotSerialized) > { > Return (PHSD (0xCB, Arg0)) > } > Method (PWAK, 0, NotSerialized) > { > Acquire (PLOK, 0xFFFF) > Notify (\_PR.CPU0, 0x80) > Release (PLOK) > Return (Zero) > } > Method (PWRN, 0, NotSerialized) > { > Notify (\_SB.PWRB, 0x80) > } > Method (CSXB, 1, NotSerialized) > { > Acquire (MPHS, 0xFFFF) > Store (Arg0, SXBF) > PHS0 (0xCC) > Store (SXBF, Local0) > Release (MPHS) > Return (Local0) > } > Name (BSIT, 0xFFFF) > Method (CDPW, 1, Serialized) > { > If (Arg0) > { > If (LNot (And (\GL03, 0x08))) > { > Or (And (\_SB.PCI0.IDEC.ICR4, 0x03), 0x04, \_SB.PCI0.IDEC.ICR4) > Sleep (0x0A) > Or (\GL03, 0x08, \GL03) > Sleep (0x01F4) > And (\_SB.PCI0.IDEC.ICR4, 0x03, \_SB.PCI0.IDEC.ICR4) > Store (BSIT, \_SB.PCI0.IDEC.SECT) > } > } > Else > { > If (And (\GL03, 0x08)) > { > Store (\_SB.PCI0.IDEC.SECT, BSIT) > Store (0x8000, \_SB.PCI0.IDEC.SECT) > Or (And (\_SB.PCI0.IDEC.ICR4, 0x03), 0x04, \_SB.PCI0.IDEC.ICR4) > Sleep (0x0A) > And (\GL03, 0xF7, \GL03) > Sleep (0x01F4) > } > } > } > Method (GCDP, 0, NotSerialized) > { > Return (ShiftRight (And (\GL03, 0x08), 0x03)) > } > Method (GWDP, 0, NotSerialized) > { > Return (PHS (0xDF)) > } > Method (NPPC, 1, NotSerialized) > { > Noop > } > } > Device (PS2K) > { > Name (_HID, EisaId ("PNP0303")) > Name (_CRS, ResourceTemplate () > { > IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) > IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) > IRQ (Edge, ActiveHigh, Exclusive) {1} > }) > } > Device (PS2M) > { > Name (_HID, EisaId ("SNY9006")) > Name (_CID, 0x130FD041) > Name (_CRS, ResourceTemplate () > { > IRQ (Edge, ActiveHigh, Exclusive) {12} > }) > } > } > Device (USB0) > { > Name (_ADR, 0x001D0000) > OperationRegion (U0CS, PCI_Config, 0xC4, 0x04) > Field (U0CS, DWordAcc, NoLock, Preserve) > { > U0EN, 2 > } > Name (_PRW, Package (0x02) > { > 0x03, > 0x03 > }) > Method (_PSW, 1, NotSerialized) > { > If (Arg0) > { > Store (0x03, U0EN) > } > Else > { > Store (0x00, U0EN) > } > } > Method (_S1D, 0, NotSerialized) > { > Return (0x02) > } > Method (_S3D, 0, NotSerialized) > { > Return (0x02) > } > Method (_S4D, 0, NotSerialized) > { > Return (0x02) > } > } > Device (USB1) > { > Name (_ADR, 0x001D0001) > OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) > Field (U1CS, DWordAcc, NoLock, Preserve) > { > U1EN, 2 > } > Name (_PRW, Package (0x02) > { > 0x04, > 0x03 > }) > Method (_PSW, 1, NotSerialized) > { > If (Arg0) > { > Store (0x03, U1EN) > } > Else > { > Store (0x00, U1EN) > } > } > Method (_S1D, 0, NotSerialized) > { > Return (0x02) > } > Method (_S3D, 0, NotSerialized) > { > Return (0x02) > } > Method (_S4D, 0, NotSerialized) > { > Return (0x02) > } > } > Device (USB2) > { > Name (_ADR, 0x001D0002) > OperationRegion (U2CS, PCI_Config, 0xC4, 0x04) > Field (U2CS, DWordAcc, NoLock, Preserve) > { > U2EN, 2 > } > Name (_PRW, Package (0x02) > { > 0x0C, > 0x03 > }) > Method (_PSW, 1, NotSerialized) > { > If (Arg0) > { > Store (0x03, U2EN) > } > Else > { > Store (0x00, U2EN) > } > } > Method (_S1D, 0, NotSerialized) > { > Return (0x02) > } > Method (_S3D, 0, NotSerialized) > { > Return (0x02) > } > Method (_S4D, 0, NotSerialized) > { > Return (0x02) > } > } > Device (USB7) > { > Name (_ADR, 0x001D0007) > Name (_PRW, Package (0x02) > { > 0x0D, > 0x03 > }) > } > Name (NATA, Package (0x01) > { > 0x001F0001 > }) > Device (IDEC) > { > Name (_ADR, 0x001F0001) > OperationRegion (IDEC, PCI_Config, 0x40, 0x18) > Field (IDEC, DWordAcc, NoLock, Preserve) > { > PRIT, 16, > SECT, 16, > PSIT, 4, > SSIT, 4, > Offset (0x08), > SYNC, 4, > Offset (0x0A), > SDT0, 2, > , 2, > SDT1, 2, > Offset (0x0B), > SDT2, 2, > , 2, > SDT3, 2, > Offset (0x14), > ICR0, 4, > ICR1, 4, > ICR2, 4, > ICR3, 4, > ICR4, 4, > ICR5, 4 > } > Device (PRID) > { > Name (_ADR, 0x00) > Method (_GTM, 0, NotSerialized) > { > Name (PBUF, Buffer (0x14) > { > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00 > }) > CreateDWordField (PBUF, 0x00, PIO0) > CreateDWordField (PBUF, 0x04, DMA0) > CreateDWordField (PBUF, 0x08, PIO1) > CreateDWordField (PBUF, 0x0C, DMA1) > CreateDWordField (PBUF, 0x10, FLAG) > Store (GETP (PRIT), PIO0) > Store (GDMA (And (SYNC, 0x01), And (ICR3, 0x01), And (ICR0, 0x01), SDT0, And (ICR1, 0x01)), DMA0) > If (LEqual (DMA0, 0xFFFFFFFF)) > { > Store (PIO0, DMA0) > } > If (And (PRIT, 0x4000)) > { > If (LEqual (And (PRIT, 0x90), 0x80)) > { > Store (0x0384, PIO1) > } > Else > { > Store (GETT (PSIT), PIO1) > } > } > Else > { > Store (0xFFFFFFFF, PIO1) > } > Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) > If (LEqual (DMA1, 0xFFFFFFFF)) > { > Store (PIO1, DMA1) > } > Store (GETF (And (SYNC, 0x01), And (SYNC, 0x02), PRIT), FLAG) > Return (PBUF) > } > Method (_STM, 3, NotSerialized) > { > CreateDWordField (Arg0, 0x00, PIO0) > CreateDWordField (Arg0, 0x04, DMA0) > CreateDWordField (Arg0, 0x08, PIO1) > CreateDWordField (Arg0, 0x0C, DMA1) > CreateDWordField (Arg0, 0x10, FLAG) > Or (ICR2, 0x04, ICR2) > If (LEqual (SizeOf (Arg1), 0x0200)) > { > And (PRIT, 0x40F0, PRIT) > And (SYNC, 0x0E, SYNC) > Store (0x00, SDT0) > And (ICR0, 0x0E, ICR0) > And (ICR1, 0x0E, ICR1) > And (ICR3, 0x0E, ICR3) > And (ICR5, 0x0E, ICR5) > CreateWordField (Arg1, 0x62, W490) > CreateWordField (Arg1, 0x6A, W530) > CreateWordField (Arg1, 0x7E, W630) > CreateWordField (Arg1, 0x80, W640) > CreateWordField (Arg1, 0xB0, W880) > CreateWordField (Arg1, 0xBA, W930) > Or (PRIT, 0x8004, PRIT) > If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) > { > Or (PRIT, 0x02, PRIT) > } > Or (PRIT, SETP (PIO0, W530, W640), PRIT) > If (And (FLAG, 0x01)) > { > Or (SYNC, 0x01, SYNC) > Store (SDMA (DMA0), SDT0) > If (LLess (DMA0, 0x1E)) > { > Or (ICR3, 0x01, ICR3) > } > If (LLess (DMA0, 0x3C)) > { > Or (ICR0, 0x01, ICR0) > } > If (And (W930, 0x2000)) > { > Or (ICR1, 0x01, ICR1) > } > } > } > If (LEqual (SizeOf (Arg2), 0x0200)) > { > And (PRIT, 0x3F0F, PRIT) > Store (0x00, PSIT) > And (SYNC, 0x0D, SYNC) > Store (0x00, SDT1) > And (ICR0, 0x0D, ICR0) > And (ICR1, 0x0D, ICR1) > And (ICR3, 0x0D, ICR3) > And (ICR5, 0x0D, ICR5) > CreateWordField (Arg2, 0x62, W491) > CreateWordField (Arg2, 0x6A, W531) > CreateWordField (Arg2, 0x7E, W631) > CreateWordField (Arg2, 0x80, W641) > CreateWordField (Arg2, 0xB0, W881) > CreateWordField (Arg2, 0xBA, W931) > Or (PRIT, 0x8040, PRIT) > If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) > { > Or (PRIT, 0x20, PRIT) > } > If (And (FLAG, 0x10)) > { > Or (PRIT, 0x4000, PRIT) > If (LGreater (PIO1, 0xF0)) > { > Or (PRIT, 0x80, PRIT) > } > Else > { > Or (PRIT, 0x10, PRIT) > Store (SETT (PIO1, W531, W641), PSIT) > } > } > If (And (FLAG, 0x04)) > { > Or (SYNC, 0x02, SYNC) > Store (SDMA (DMA1), SDT1) > If (LLess (DMA0, 0x1E)) > { > Or (ICR3, 0x02, ICR3) > } > If (LLess (DMA0, 0x3C)) > { > Or (ICR0, 0x02, ICR0) > } > If (And (W931, 0x2000)) > { > Or (ICR1, 0x02, ICR1) > } > } > } > } > Device (P_D0) > { > Name (_ADR, 0x00) > Method (_GTF, 0, NotSerialized) > { > Name (PIB0, Buffer (0x0E) > { > 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, > 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF > }) > CreateByteField (PIB0, 0x01, PMD0) > CreateByteField (PIB0, 0x08, DMD0) > If (And (PRIT, 0x02)) > { > If (LEqual (And (PRIT, 0x09), 0x08)) > { > Store (0x08, PMD0) > } > Else > { > Store (0x0A, PMD0) > ShiftRight (And (PRIT, 0x0300), 0x08, Local0) > ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) > Add (Local0, Local1, Local2) > If (LEqual (0x03, Local2)) > { > Store (0x0B, PMD0) > } > If (LEqual (0x05, Local2)) > { > Store (0x0C, PMD0) > } > } > } > Else > { > Store (0x01, PMD0) > } > If (And (SYNC, 0x01)) > { > Store (Or (SDT0, 0x40), DMD0) > If (And (ICR1, 0x01)) > { > If (And (ICR0, 0x01)) > { > Add (DMD0, 0x02, DMD0) > } > If (And (ICR3, 0x01)) > { > Store (0x45, DMD0) > } > } > } > Else > { > Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) > } > Return (PIB0) > } > } > Name (FWSO, "FWSO") > Name (_PSC, 0x00) > Method (_PS0, 0, NotSerialized) > { > Store (0x00, _PSC) > } > Method (_PS3, 0, NotSerialized) > { > Store (0x03, _PSC) > } > } > Device (SECD) > { > Name (_ADR, 0x01) > Method (_GTM, 0, NotSerialized) > { > Name (SBUF, Buffer (0x14) > { > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > 0x00, 0x00, 0x00, 0x00 > }) > CreateDWordField (SBUF, 0x00, PIO0) > CreateDWordField (SBUF, 0x04, DMA0) > CreateDWordField (SBUF, 0x08, PIO1) > CreateDWordField (SBUF, 0x0C, DMA1) > CreateDWordField (SBUF, 0x10, FLAG) > Store (GETP (SECT), PIO0) > Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04), And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0) > If (LEqual (DMA0, 0xFFFFFFFF)) > { > Store (PIO0, DMA0) > } > If (And (SECT, 0x4000)) > { > If (LEqual (And (SECT, 0x90), 0x80)) > { > Store (0x0384, PIO1) > } > Else > { > Store (GETT (SSIT), PIO1) > } > } > Else > { > Store (0xFFFFFFFF, PIO1) > } > Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08), And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1) > If (LEqual (DMA1, 0xFFFFFFFF)) > { > Store (PIO1, DMA1) > } > Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08), SECT), FLAG) > Return (SBUF) > } > Method (_STM, 3, NotSerialized) > { > CreateDWordField (Arg0, 0x00, PIO0) > CreateDWordField (Arg0, 0x04, DMA0) > CreateDWordField (Arg0, 0x08, PIO1) > CreateDWordField (Arg0, 0x0C, DMA1) > CreateDWordField (Arg0, 0x10, FLAG) > Or (ICR2, 0x04, ICR2) > If (LEqual (SizeOf (Arg1), 0x0200)) > { > And (SECT, 0x40F0, SECT) > And (SYNC, 0x0B, SYNC) > Store (0x00, SDT2) > And (ICR0, 0x0B, ICR0) > And (ICR1, 0x0B, ICR1) > And (ICR3, 0x0B, ICR3) > And (ICR5, 0x0B, ICR5) > CreateWordField (Arg1, 0x62, W490) > CreateWordField (Arg1, 0x6A, W530) > CreateWordField (Arg1, 0x7E, W630) > CreateWordField (Arg1, 0x80, W640) > CreateWordField (Arg1, 0xB0, W880) > CreateWordField (Arg1, 0xBA, W930) > Or (SECT, 0x8004, SECT) > If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) > { > Or (SECT, 0x02, SECT) > } > Or (SECT, SETP (PIO0, W530, W640), SECT) > If (And (FLAG, 0x01)) > { > Or (SYNC, 0x04, SYNC) > Store (SDMA (DMA0), SDT2) > If (LLess (DMA0, 0x1E)) > { > Or (ICR3, 0x04, ICR3) > } > If (LLess (DMA0, 0x3C)) > { > Or (ICR0, 0x04, ICR0) > } > If (And (W930, 0x2000)) > { > Or (ICR1, 0x04, ICR1) > } > } > } > If (LEqual (SizeOf (Arg2), 0x0200)) > { > And (SECT, 0x3F0F, SECT) > Store (0x00, SSIT) > And (SYNC, 0x07, SYNC) > Store (0x00, SDT3) > And (ICR0, 0x07, ICR0) > And (ICR1, 0x07, ICR1) > And (ICR3, 0x07, ICR3) > And (ICR5, 0x07, ICR5) > CreateWordField (Arg2, 0x62, W491) > CreateWordField (Arg2, 0x6A, W531) > CreateWordField (Arg2, 0x7E, W631) > CreateWordField (Arg2, 0x80, W641) > CreateWordField (Arg2, 0xB0, W881) > CreateWordField (Arg2, 0xBA, W931) > Or (SECT, 0x8040, SECT) > If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) > { > Or (SECT, 0x20, SECT) > } > If (And (FLAG, 0x10)) > { > Or (SECT, 0x4000, SECT) > If (LGreater (PIO1, 0xF0)) > { > Or (SECT, 0x80, SECT) > } > Else > { > Or (SECT, 0x10, SECT) > Store (SETT (PIO1, W531, W641), SSIT) > } > } > If (And (FLAG, 0x04)) > { > Or (SYNC, 0x08, SYNC) > Store (SDMA (DMA1), SDT3) > If (LLess (DMA0, 0x1E)) > { > Or (ICR3, 0x08, ICR3) > } > If (LLess (DMA0, 0x3C)) > { > Or (ICR0, 0x08, ICR0) > } > If (And (W931, 0x2000)) > { > Or (ICR1, 0x08, ICR1) > } > } > } > } > Device (S_D0) > { > Name (_ADR, 0x00) > Method (_GTF, 0, NotSerialized) > { > Name (SIB0, Buffer (0x0E) > { > 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, > 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF > }) > CreateByteField (SIB0, 0x01, PMD0) > CreateByteField (SIB0, 0x08, DMD0) > If (And (SECT, 0x02)) > { > If (LEqual (And (SECT, 0x09), 0x08)) > { > Store (0x08, PMD0) > } > Else > { > Store (0x0A, PMD0) > ShiftRight (And (SECT, 0x0300), 0x08, Local0) > ShiftRight (And (SECT, 0x3000), 0x0C, Local1) > Add (Local0, Local1, Local2) > If (LEqual (0x03, Local2)) > { > Store (0x0B, PMD0) > } > If (LEqual (0x05, Local2)) > { > Store (0x0C, PMD0) > } > } > } > Else > { > Store (0x01, PMD0) > } > If (And (SYNC, 0x04)) > { > Store (Or (SDT2, 0x40), DMD0) > If (And (ICR1, 0x04)) > { > If (And (ICR0, 0x04)) > { > Add (DMD0, 0x02, DMD0) > } > If (And (ICR3, 0x04)) > { > Store (0x45, DMD0) > } > } > } > Else > { > Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) > } > Return (SIB0) > } > } > Method (_PS0, 0, NotSerialized) > { > } > Method (_PS3, 0, NotSerialized) > { > } > } > Method (GETP, 1, Serialized) > { > If (LEqual (And (Arg0, 0x09), 0x00)) > { > Return (0xFFFFFFFF) > } > If (LEqual (And (Arg0, 0x09), 0x08)) > { > Return (0x0384) > } > ShiftRight (And (Arg0, 0x0300), 0x08, Local0) > ShiftRight (And (Arg0, 0x3000), 0x0C, Local1) > Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1)))) > } > Method (GDMA, 5, Serialized) > { > If (Arg0) > { > If (LAnd (Arg1, Arg4)) > { > Return (0x14) > } > If (LAnd (Arg2, Arg4)) > { > Return (Multiply (Subtract (0x04, Arg3), 0x0F)) > } > Return (Multiply (Subtract (0x04, Arg3), 0x1E)) > } > Return (0xFFFFFFFF) > } > Method (GETT, 1, Serialized) > { > Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02), 0x03), And (Arg0, 0x03))))) > } > Method (GETF, 3, Serialized) > { > Name (TMPF, 0x00) > If (Arg0) > { > Or (TMPF, 0x01, TMPF) > } > If (And (Arg2, 0x02)) > { > Or (TMPF, 0x02, TMPF) > } > If (Arg1) > { > Or (TMPF, 0x04, TMPF) > } > If (And (Arg2, 0x20)) > { > Or (TMPF, 0x08, TMPF) > } > If (And (Arg2, 0x4000)) > { > Or (TMPF, 0x10, TMPF) > } > Return (TMPF) > } > Method (SETP, 3, Serialized) > { > If (LGreater (Arg0, 0xF0)) > { > Return (0x08) > } > Else > { > If (And (Arg1, 0x02)) > { > If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) > { > Return (0x2301) > } > If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, 0x01))) > { > Return (0x2101) > } > } > Return (0x1001) > } > } > Method (SDMA, 1, Serialized) > { > If (LNot (LGreater (Arg0, 0x14))) > { > Return (0x01) > } > If (LNot (LGreater (Arg0, 0x1E))) > { > Return (0x02) > } > If (LNot (LGreater (Arg0, 0x2D))) > { > Return (0x01) > } > If (LNot (LGreater (Arg0, 0x3C))) > { > Return (0x02) > } > If (LNot (LGreater (Arg0, 0x5A))) > { > Return (0x01) > } > Return (0x00) > } > Method (SETT, 3, Serialized) > { > If (And (Arg1, 0x02)) > { > If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) > { > Return (0x0B) > } > If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, 0x01))) > { > Return (0x09) > } > } > Return (0x04) > } > } > Device (SBUS) > { > Name (_ADR, 0x001F0003) > OperationRegion (SBUS, SystemIO, 0x1880, 0x10) > Field (SBUS, ByteAcc, NoLock, Preserve) > { > HSTS, 8, > Offset (0x02), > HCON, 8, > HCOM, 8, > TXSA, 8, > DAT0, 8, > DAT1, 8, > BDBR, 8, > Offset (0x09), > RXSA, 8, > SDAT, 16 > } > Method (SBWB, 3, NotSerialized) > { > Store (0x0A, Local0) > While (LAnd (And (HSTS, 0x01), Local0)) > { > Sleep (0x64) > Decrement (Local0) > } > Store (0xFF, HSTS) > Store (Arg0, TXSA) > Store (Arg1, HCOM) > Store (Arg2, DAT0) > Store (0x00, DAT1) > Store (0x08, HCON) > Sleep (0x64) > Store (0x48, HCON) > } > Method (SBRB, 2, NotSerialized) > { > Store (0x0A, Local0) > While (LAnd (And (HSTS, 0x01), Local0)) > { > Sleep (0x64) > Decrement (Local0) > } > Store (0xFF, HSTS) > Store (Or (Arg0, 0x01), TXSA) > Store (Arg1, HCOM) > Store (0x08, HCON) > Sleep (0x64) > Store (0x48, HCON) > Store (0x0A, Local0) > While (LAnd (And (HSTS, 0x02), Local0)) > { > Sleep (0x64) > Decrement (Local0) > } > Return (DAT0) > } > } > Device (AUD0) > { > Name (_ADR, 0x001F0005) > } > Device (MODM) > { > Name (_ADR, 0x001F0006) > Name (_PRW, Package (0x02) > { > 0x05, > 0x03 > }) > } > } > } > Scope (_PR.CPU0) > { > Method (_PPC, 0, NotSerialized) > { > If (\_SB.PCI0.LPCB.EC0.ECOK) > { > Store (\_SB.PCI0.LPCB.EC0.ACAT, Local0) > } > Else > { > And (\PHSD (0xD4, 0x80), 0x0400, Local0) > } > If (Local0) > { > Return (PSAC) > } > Else > { > Return (PSDC) > } > } > Name (PDC0, 0xF0000000) > Method (_PDC, 1, NotSerialized) > { > CreateDWordField (Arg0, 0x08, CAP0) > Store (CAP0, PDC0) > } > Method (_PCT, 0, NotSerialized) > { > If (LEqual (And (PDC0, One), One)) > { > Return (Package (0x02) > { > ResourceTemplate () > { > Register (FFixedHW, 0x00, 0x00, 0x0000000000000000) > }, > ResourceTemplate () > { > Register (FFixedHW, 0x00, 0x00, 0x0000000000000000) > } > }) > } > Else > { > Return (Package (0x02) > { > ResourceTemplate () > { > Register (SystemIO, 0x10, 0x00, 0x00000000000000B2) > }, > ResourceTemplate () > { > Register (SystemIO, 0x08, 0x00, 0x00000000000000B3) > } > }) > } > } > Method (_PSS, 0, NotSerialized) > { > If (LEqual (And (PDC0, One), One)) > { > Return (NPSS) > } > Else > { > Return (SPSS) > } > } > Name (NPSS, Package (0x06) > { > Package (0x06) > { > 0x000006A4, > 0x00005FB4, > 0x0000000A, > 0x0000000A, > 0x00001131, > 0x00001131 > }, > Package (0x06) > { > 0x00000578, > 0x00004C2C, > 0x0000000A, > 0x0000000A, > 0x00000E26, > 0x00000E26 > }, > Package (0x06) > { > 0x000004B0, > 0x00003E80, > 0x0000000A, > 0x0000000A, > 0x00000C21, > 0x00000C21 > }, > Package (0x06) > { > 0x000003E8, > 0x000032C8, > 0x0000000A, > 0x0000000A, > 0x00000A1A, > 0x00000A1A > }, > Package (0x06) > { > 0x00000320, > 0x0000251C, > 0x0000000A, > 0x0000000A, > 0x00000813, > 0x00000813 > }, > Package (0x06) > { > 0x00000258, > 0x00001770, > 0x0000000A, > 0x0000000A, > 0x00000610, > 0x00000610 > } > }) > Name (SPSS, Package (0x06) > { > Package (0x06) > { > 0x000006A4, > 0x00005FB4, > 0x00000064, > 0x0000006E, > 0x00000083, > 0x00000000 > }, > Package (0x06) > { > 0x00000578, > 0x00004C2C, > 0x00000064, > 0x0000006E, > 0x00000183, > 0x00000001 > }, > Package (0x06) > { > 0x000004B0, > 0x00003E80, > 0x00000064, > 0x0000006E, > 0x00000283, > 0x00000002 > }, > Package (0x06) > { > 0x000003E8, > 0x000032C8, > 0x00000064, > 0x0000006E, > 0x00000383, > 0x00000003 > }, > Package (0x06) > { > 0x00000320, > 0x0000251C, > 0x00000064, > 0x0000006E, > 0x00000483, > 0x00000004 > }, > Package (0x06) > { > 0x00000258, > 0x00001770, > 0x00000064, > 0x0000006E, > 0x00000583, > 0x00000005 > } > }) > } > } > nexus0 > acpi0 > cpu0 pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU0 > acpi_tz0 pnpinfo _HID=none _UID=0 at handle=\_TZ_.ATF0 > acpi_lid0 pnpinfo _HID=PNP0C0D _UID=0 at handle=\_SB_.LID0 > acpi_button0 pnpinfo _HID=PNP0C0C _UID=0 at handle=\_SB_.PWRB > pcib0 pnpinfo _HID=PNP0A03 _UID=0 at handle=\_SB_.PCI0 > pci0 > hostb0 pnpinfo vendor=0x8086 device=0x3340 subvendor=0x104d subdevice=0x8140 class=0x060000 at slot=0 function=0 > pcib1 pnpinfo vendor=0x8086 device=0x3341 subvendor=0x0000 subdevice=0x0000 class=0x060400 at slot=1 function=0 handle=\_SB_.PCI0.AGPB > pci1 > unknown pnpinfo vendor=0x1002 device=0x4c59 subvendor=0x104d subdevice=0x8140 class=0x030000 at slot=0 function=0 handle=\_SB_.PCI0.AGPB.VID0 > uhci0 pnpinfo vendor=0x8086 device=0x24c2 subvendor=0x104d subdevice=0x8140 class=0x0c0300 at slot=29 function=0 handle=\_SB_.PCI0.USB0 > usb0 > uhub0 > uhci1 pnpinfo vendor=0x8086 device=0x24c4 subvendor=0x104d subdevice=0x8140 class=0x0c0300 at slot=29 function=1 handle=\_SB_.PCI0.USB1 > usb1 > uhub1 > uhub2 pnpinfo vendor=0x0451 product=0x1446 devclass=0x09 devsubclass=0x00 sernum="" at port=0 > ukbd0 pnpinfo vendor=0x046e product=0x6782 devclass=0x00 devsubclass=0x00 sernum="" intclass=0x03 intsubclass=0x01 at port=2 interface=0 > ums0 pnpinfo vendor=0x046e product=0x6782 devclass=0x00 devsubclass=0x00 sernum="" intclass=0x03 intsubclass=0x01 at port=2 interface=1 > ums1 pnpinfo vendor=0x045e product=0x001e devclass=0x00 devsubclass=0x00 sernum="" intclass=0x03 intsubclass=0x01 at port=3 interface=0 > uhci2 pnpinfo vendor=0x8086 device=0x24c7 subvendor=0x104d subdevice=0x8140 class=0x0c0300 at slot=29 function=2 handle=\_SB_.PCI0.USB2 > usb2 > uhub3 > ehci0 pnpinfo vendor=0x8086 device=0x24cd subvendor=0x104d subdevice=0x8140 class=0x0c0320 at slot=29 function=7 handle=\_SB_.PCI0.USB7 > usb3 > uhub4 > umass1 pnpinfo vendor=0x054c product=0x014d devclass=0x00 devsubclass=0x00 sernum="0052449677492224" intclass=0x08 intsubclass=0x05 at port=4 interface=0 > pcib2 pnpinfo vendor=0x8086 device=0x2448 subvendor=0x0000 subdevice=0x0000 class=0x060400 at slot=30 function=0 handle=\_SB_.PCI0.PCIB > pci2 > cbb0 pnpinfo vendor=0x1180 device=0x0475 subvendor=0x104d subdevice=0x8140 class=0x060700 at slot=5 function=0 handle=\_SB_.PCI0.PCIB.CRD0 > cardbus0 > pccard0 > fwohci0 pnpinfo vendor=0x1180 device=0x0551 subvendor=0x104d subdevice=0x8140 class=0x0c0010 at slot=5 function=1 handle=\_SB_.PCI0.PCIB.SD94 > firewire0 > sbp0 > fxp0 pnpinfo vendor=0x8086 device=0x103d subvendor=0x104d subdevice=0x8140 class=0x020000 at slot=8 function=0 handle=\_SB_.PCI0.PCIB.LANC > miibus0 > inphy0 > ndis0 pnpinfo vendor=0x8086 device=0x4220 subvendor=0x8086 subdevice=0x2751 class=0x028000 at slot=11 function=0 handle=\_SB_.PCI0.PCIB.WLAN > isab0 pnpinfo vendor=0x8086 device=0x24cc subvendor=0x0000 subdevice=0x0000 class=0x060100 at slot=31 function=0 handle=\_SB_.PCI0.LPCB > isa0 > pmtimer0 > sc0 > vga0 > adv0 > aha0 > aic0 > bt0 > cs0 > ed0 > fdc0 > fe0 > ie0 > lnc0 > pcic0 > pcic1 > ppc0 > sio0 > sio1 > sio2 > sio3 > sn0 > vt0 > orm0 > atapci0 pnpinfo vendor=0x8086 device=0x24ca subvendor=0x104d subdevice=0x8140 class=0x01018a at slot=31 function=1 handle=\_SB_.PCI0.IDEC > ata0 > ata1 > unknown pnpinfo vendor=0x8086 device=0x24c3 subvendor=0x104d subdevice=0x8140 class=0x0c0500 at slot=31 function=3 handle=\_SB_.PCI0.SBUS > pcm0 pnpinfo vendor=0x8086 device=0x24c5 subvendor=0x104d subdevice=0x8140 class=0x040100 at slot=31 function=5 handle=\_SB_.PCI0.AUD0 > unknown pnpinfo vendor=0x8086 device=0x24c6 subvendor=0x104d subdevice=0x8140 class=0x070300 at slot=31 function=6 handle=\_SB_.PCI0.MODM > unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.AGPB.VID0.CRT_ > unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.AGPB.VID0.LCD_ > unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.AGPB.VID0.TV__ > unknown pnpinfo _HID=PNP0C0F _UID=1 at handle=\_SB_.PCI0.LPCB.LNKA > unknown pnpinfo _HID=PNP0C0F _UID=2 at handle=\_SB_.PCI0.LPCB.LNKB > unknown pnpinfo _HID=PNP0C0F _UID=3 at handle=\_SB_.PCI0.LPCB.LNKC > unknown pnpinfo _HID=PNP0C0F _UID=4 at handle=\_SB_.PCI0.LPCB.LNKD > unknown pnpinfo _HID=PNP0C0F _UID=5 at handle=\_SB_.PCI0.LPCB.LNKE > unknown pnpinfo _HID=PNP0C0F _UID=6 at handle=\_SB_.PCI0.LPCB.LNKF > unknown pnpinfo _HID=PNP0C0F _UID=7 at handle=\_SB_.PCI0.LPCB.LNKG > unknown pnpinfo _HID=PNP0C0F _UID=8 at handle=\_SB_.PCI0.LPCB.LNKH > attimer0 pnpinfo _HID=PNP0100 _UID=0 at handle=\_SB_.PCI0.LPCB.TIMR > atpic0 pnpinfo _HID=PNP0000 _UID=0 at handle=\_SB_.PCI0.LPCB.IPIC > attimer1 pnpinfo _HID=PNP0B00 _UID=0 at handle=\_SB_.PCI0.LPCB.RTC_ > npxisa0 pnpinfo _HID=PNP0C04 _UID=0 at handle=\_SB_.PCI0.LPCB.MATH > atdma0 pnpinfo _HID=PNP0200 _UID=0 at handle=\_SB_.PCI0.LPCB.DMAC > acpi_sysresource0 pnpinfo _HID=PNP0C02 _UID=0 at handle=\_SB_.PCI0.LPCB.MBRD > unknown pnpinfo _HID=INT0800 _UID=0 at handle=\_SB_.PCI0.LPCB.FWHD > acpi_ec0 pnpinfo _HID=PNP0C09 _UID=0 at handle=\_SB_.PCI0.LPCB.EC0_ > acpi_cmbat0 pnpinfo _HID=PNP0C0A _UID=1 at handle=\_SB_.PCI0.LPCB.EC0_.BAT1 > acpi_acad0 pnpinfo _HID=ACPI0003 _UID=0 at handle=\_SB_.PCI0.LPCB.EC0_.ACAD > unknown pnpinfo _HID=SNY6001 _UID=0 at handle=\_SB_.PCI0.LPCB.SPIC > unknown pnpinfo _HID=SNY5001 _UID=0 at handle=\_SB_.PCI0.LPCB.SNC_ > atkbdc0 pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.PCI0.LPCB.PS2K > atkbd0 > psm0 > psmcpnp0 pnpinfo _HID=SNY9006 _UID=0 at handle=\_SB_.PCI0.LPCB.PS2M > unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.PRID > unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.PRID.P_D0 > unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.SECD > unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.SECD.S_D0 > acpi_timer0 pnpinfo unknown at unknown > legacy0 > npx0 > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" -- Anton A. Karpov PGP key: http://www.toxahost.org/pgp/pubkey.asc You can finger me @toxahost.org for my current status =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~= Hi! I am a .signature virus! Copy me into your ~/.signature to help me spread! =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~= From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 10:58:23 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 58B8816A4CE for ; Mon, 30 Aug 2004 10:58:23 +0000 (GMT) Received: from mail.iinet.net.au (mail-11.iinet.net.au [203.59.3.43]) by mx1.FreeBSD.org (Postfix) with SMTP id 9F48743D5A for ; Mon, 30 Aug 2004 10:58:21 +0000 (GMT) (envelope-from jne@iinet.net.au) Received: (qmail 30684 invoked from network); 30 Aug 2004 10:58:19 -0000 Received: from unknown (HELO ?192.168.0.10?) (203.217.50.154) by mail.iinet.net.au with SMTP; 30 Aug 2004 10:58:19 -0000 Message-ID: <41330824.5040203@iinet.net.au> Date: Mon, 30 Aug 2004 20:57:40 +1000 From: Michael McCormack User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040616 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-mobile@freebsd.org Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: Prism based PCMCIA wifi cards X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 10:58:23 -0000 I currently use a linksys WPC11 v3.0 -- It's a great card, and i love the ability to use dstumbler in passive sniffing mode, (afaik lucent cards can't do this).. but the builtin antenna doesn't seem to be as good as my mate's orinoco silver. I'm not really interested in mods for the WPC since I barely know the right end of a soldering iron, so can anyone recommend a prism-based 802.11b card with either: a) a really powerful builtin antenna, or b) an external antenna jack From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 13:22:21 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 16FC616A4CE; Mon, 30 Aug 2004 13:22:21 +0000 (GMT) Received: from vbook.fbsd.ru (asplinux.ru [195.133.213.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id A149643D5D; Mon, 30 Aug 2004 13:22:20 +0000 (GMT) (envelope-from vova@vbook.fbsd.ru) Received: from vova by vbook.fbsd.ru with local (Exim 4.42 (FreeBSD)) id 1C1m70-0000U6-V8; Mon, 30 Aug 2004 17:22:19 +0400 From: Vladimir Grebenschikov To: Colin Percival In-Reply-To: <6.1.0.6.1.20040816074348.03f99338@popserver.sfu.ca> References: <6.1.0.6.1.20040816074348.03f99338@popserver.sfu.ca> Content-Type: text/plain Content-Transfer-Encoding: 7bit Organization: SWsoft Date: Mon, 30 Aug 2004 17:22:18 +0400 Message-Id: <1093872138.1503.1.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 1.5.93FreeBSD GNOME Team Port Sender: Vladimir Grebenschikov cc: freebsd-current@freebsd.org cc: freebsd-mobile Subject: Re: Enhanced SpeedStep driver available X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: vova@fbsd.ru List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 13:22:21 -0000 On Mon, 2004-08-16 at 08:06 -0700, Colin Percival wrote: > Thanks to everyone who has been sending me data about their > processors (and in particular, the 90nm versions), I now have > a first draft of a Enhanced SpeedStep driver available. For > people with the appropriate processors (Pentium M only), this > makes it possible to adjust the cpu frequency via a new sysctl > (hw.est_curfreq), and have the cpu voltage adjusted at the > same time. > I've also put together a very simple control daemon which > reads kern.cp_time every second and adjusts the cpu frequency > based on the fraction of cpu time which is idle. This increases > my laptop's battery life by around 40%. > All the code is online at > http://www.daemonology.net/freebsd-est/ > Assuming I don't hear any major bug reports in the next few > days, I'll package these into ports and hopefully get them into > the ports tree in time for 5.3-RELEASE. Amazing, only issue, flood of speed changing messages in dmesg, please add: % cat /usr/ports/sysutils/est/files/patch-est.c-no-flood --- est.c.orig Mon Aug 30 16:53:43 2004 +++ est.c Mon Aug 30 16:54:38 2004 @@ -505,8 +505,9 @@ if (f->mhz == 0) return (EOPNOTSUPP); - printf("Changing CPU frequency from %d MHz to %d MHz\n", - mhz, mhz_wanted); + if (bootverbose) + printf("Changing CPU frequency from %d MHz to %d MHz\n", + mhz, mhz_wanted); msr = rdmsr(MSR_PERF_CTL); msr = (msr & ~(uint64_t)(0xffff)) | % or like > Colin Percival -- Vladimir B. Grebenchikov vova@fbsd.ru From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 13:53:56 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5821716A4CE for ; Mon, 30 Aug 2004 13:53:56 +0000 (GMT) Received: from uni02mr.unity.ncsu.edu (uni02mr.unity.ncsu.edu [152.1.1.165]) by mx1.FreeBSD.org (Postfix) with ESMTP id CF69143D54 for ; Mon, 30 Aug 2004 13:53:55 +0000 (GMT) (envelope-from agerber@ncsu.edu) Received: from ncsu.edu (bag014pc.unity.ncsu.edu [152.1.43.147]) id i7UDroOM016418 for ; Mon, 30 Aug 2004 09:53:52 -0400 (EDT) Message-ID: <4133316E.4090108@ncsu.edu> Date: Mon, 30 Aug 2004 09:53:50 -0400 From: Alan Gerber User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-mobile References: <6.1.0.6.1.20040816074348.03f99338@popserver.sfu.ca> <1093872138.1503.1.camel@localhost> In-Reply-To: <1093872138.1503.1.camel@localhost> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Version: 4.6.1.107272, Antispam-Core: 4.6.1.106808, Antispam-Data: 2004.8.29.111538 X-Spam-Status: No, Hits=7% X-Spam-Level: IIIIIII Subject: Re: Enhanced SpeedStep driver available X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 13:53:56 -0000 Vladimir Grebenschikov wrote: >On Mon, 2004-08-16 at 08:06 -0700, Colin Percival wrote: > > >> Thanks to everyone who has been sending me data about their >>processors (and in particular, the 90nm versions), I now have >>a first draft of a Enhanced SpeedStep driver available. For >>people with the appropriate processors (Pentium M only), this >>makes it possible to adjust the cpu frequency via a new sysctl >>(hw.est_curfreq), and have the cpu voltage adjusted at the >>same time. >> I've also put together a very simple control daemon which >>reads kern.cp_time every second and adjusts the cpu frequency >>based on the fraction of cpu time which is idle. This increases >>my laptop's battery life by around 40%. >> All the code is online at >>http://www.daemonology.net/freebsd-est/ >> Assuming I don't hear any major bug reports in the next few >>days, I'll package these into ports and hopefully get them into >>the ports tree in time for 5.3-RELEASE. >> >> > >Amazing, only issue, flood of speed changing messages in dmesg, please >add: > >% cat /usr/ports/sysutils/est/files/patch-est.c-no-flood >--- est.c.orig Mon Aug 30 16:53:43 2004 >+++ est.c Mon Aug 30 16:54:38 2004 >@@ -505,8 +505,9 @@ > if (f->mhz == 0) > return (EOPNOTSUPP); > >- printf("Changing CPU frequency from %d MHz to %d MHz\n", >- mhz, mhz_wanted); >+ if (bootverbose) >+ printf("Changing CPU frequency from %d MHz to %d >MHz\n", >+ mhz, mhz_wanted); > > msr = rdmsr(MSR_PERF_CTL); > msr = (msr & ~(uint64_t)(0xffff)) | > >% > >or like > > > >>Colin Percival >> >> > > > I'd tend to agree. It works beautifully on my Dell D600, and while I don't have any numbers, I have noticed improved runtime on my battery. The flood of messages to the console is the only thing I've found with this utility that I don't like. Printing them in verbose mode is something I would deem as okay, but on a normal running system you can always use the OIDs that this driver puts into sysctl to get that info. Thanks for the hard work in this area! -- Alan Gerber From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 15:00:47 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 929A816A4CF for ; Mon, 30 Aug 2004 15:00:47 +0000 (GMT) Received: from gremlin.foo.is (gremlin.foo.is [194.105.250.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 313B643D55 for ; Mon, 30 Aug 2004 15:00:47 +0000 (GMT) (envelope-from baldur@foo.is) Received: from 127.0.0.1 (localhost.foo.is [127.0.0.1]) by injector.foo.is (Postfix) with SMTP id 8318F3A1F4 for ; Mon, 30 Aug 2004 15:00:45 +0000 (GMT) Received: by gremlin.foo.is (Postfix, from userid 1000) id 0AEA93A1F1; Mon, 30 Aug 2004 15:00:44 +0000 (GMT) Date: Mon, 30 Aug 2004 15:00:43 +0000 From: Baldur Gislason To: freebsd-mobile@freebsd.org Message-ID: <20040830150043.GA70462@gremlin.foo.is> User-Agent: Mutt/1.4.1i X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on gremlin.foo.is X-Spam-Level: X-Spam-Status: No, hits=-4.7 required=6.0 tests=AWL,BAYES_00 autolearn=ham version=2.61 X-Sanitizer: Foo MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline Subject: ACPI problems with Dell Latitude CPx on 5.2-RELEASE X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 15:00:47 -0000 I have a Dell Latitude CPx H500GT with BIOS revision A14. I'm running FreeBSD 5.2-RELEASE. When the machine enters ACPI state S1 all is well until I want to wake the system up again, then it fires up the display with a blinking cursor for a few seconds and then turns the backlight off again. state S3 kind of works, but gives lots of I/O errors when waking up and the clock also stops so I need to resync with NTP after sleep. Any ideas on how to get S1 working? Baldur From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 15:20:56 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 85E3216A4CE for ; Mon, 30 Aug 2004 15:20:56 +0000 (GMT) Received: from mpool.solaris.ru (mail.solaris.ru [194.85.25.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id A088C43D2F for ; Mon, 30 Aug 2004 15:20:55 +0000 (GMT) (envelope-from kirill@mpool.solaris.ru) Received: from mpool.solaris.ru (localhost.solaris.ru [127.0.0.1]) by mpool.solaris.ru (8.12.10/8.12.6) with ESMTP id i7UFKrap074543; Mon, 30 Aug 2004 19:20:53 +0400 (MSD) (envelope-from kirill@mpool.solaris.ru) Received: (from kirill@localhost) by mpool.solaris.ru (8.12.10/8.12.6/Submit) id i7UFKrfM074541; Mon, 30 Aug 2004 19:20:53 +0400 (MSD) Date: Mon, 30 Aug 2004 19:20:53 +0400 From: Kirill Bezzubets To: Baldur Gislason Message-ID: <20040830152053.GB37714@solaris.ru> References: <20040830150043.GA70462@gremlin.foo.is> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <20040830150043.GA70462@gremlin.foo.is> User-Agent: Mutt/1.5.4i cc: freebsd-mobile@freebsd.org Subject: Re: ACPI problems with Dell Latitude CPx on 5.2-RELEASE X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 15:20:56 -0000 On Mon, Aug 30, 2004 at 03:00:43PM +0000, Baldur Gislason wrote: > I have a Dell Latitude CPx H500GT with BIOS revision A14. > I'm running FreeBSD 5.2-RELEASE. > When the machine enters ACPI state S1 all is well until I want to wake the > system up again, then it fires up the display with a blinking cursor for a > few seconds and then turns the backlight off again. state S3 kind of works, > but gives lots of I/O errors when waking up and the clock also stops so I > need to resync with NTP after sleep. > Any ideas on how to get S1 working? Not a chance - Dell bug. Check out archives. > Baldur > > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" -- BR, Kirill Bezzubets CASE-RIPE CASE-RIPN CTO / Head Of N.O.C. mailto:kirill@solaris.ru Solaris ISP & Telecommunications Co. Ltd http://www.solaris.ru From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 16:24:48 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 58CF816A4CE for ; Mon, 30 Aug 2004 16:24:48 +0000 (GMT) Received: from clever.eusc.inter.net (clever.eusc.inter.net [213.73.101.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA13543D54 for ; Mon, 30 Aug 2004 16:24:47 +0000 (GMT) (envelope-from plexus@snafu.de) Received: from pd9e7b171.dip.t-dialin.net ([217.231.177.113] helo=[192.168.1.17]) by clever.eusc.inter.net with asmtp (Exim 3.36 #4) id 1C1oxZ-0004Er-00 for mobile@freebsd.org; Mon, 30 Aug 2004 18:24:46 +0200 Message-ID: <413354C7.4050604@snafu.de> Date: Mon, 30 Aug 2004 18:24:39 +0200 From: Oliver Boris Fischer User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.7.2) Gecko/20040803 X-Accept-Language: en-us, en MIME-Version: 1.0 To: mobile@freebsd.org Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: [OT] Thinkpad and atapicam X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 16:24:48 -0000 Hello, some thinkpad user - I am one of them - reported some time ago problems with their cdrw when enabling the atapicam module on current. I would like to know if the is solved in the meantime. Regards, Oliver Fischer From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 16:36:03 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E981316A4CE for ; Mon, 30 Aug 2004 16:36:03 +0000 (GMT) Received: from sage.thought.org (dsl231-043-140.sea1.dsl.speakeasy.net [216.231.43.140]) by mx1.FreeBSD.org (Postfix) with ESMTP id 02B5C43D49 for ; Mon, 30 Aug 2004 16:36:03 +0000 (GMT) (envelope-from kline@tao.thought.org) Received: from thought.org (tao [10.0.0.247]) by sage.thought.org (8.12.10/8.12.10) with ESMTP id i7UGZx98089184; Mon, 30 Aug 2004 09:36:00 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: from tao.thought.org (localhost [127.0.0.1]) by thought.org (8.12.11/8.12.11) with ESMTP id i7UGZvmj026656; Mon, 30 Aug 2004 09:35:57 -0700 (PDT) (envelope-from kline@tao.thought.org) Received: (from kline@localhost) by tao.thought.org (8.12.11/8.12.11/Submit) id i7UGZtl7026655; Mon, 30 Aug 2004 09:35:55 -0700 (PDT) (envelope-from kline) Date: Mon, 30 Aug 2004 09:35:54 -0700 From: Gary Kline To: Ian Smith Message-ID: <20040830163554.GA26549@thought.org> References: <20040830004037.GB83747@thought.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Organization: Thought Unlimited. Public service Unix since 1986. X-Of_Interest: Observing 18 years of service to the Unix community User-Agent: Mutt/1.5.6i cc: Gary Kline cc: FreeBSD Mobile Mailing List Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 16:36:04 -0000 On Mon, Aug 30, 2004 at 04:33:17PM +1000, Ian Smith wrote: > On Sun, 29 Aug 2004, Gary Kline wrote: > > > On Sun, Aug 29, 2004 at 04:11:55PM -0700, Kevin Oberman wrote: > > [..] > > > > Also, is APM being probed at boot time? You should see something like: > > > apm0: on motherboard > > > apm0: found APM BIOS v1.2, connected at v1.2 > > > very early in the boot. I don't build APM into the kernel but add: > > > apm_load="YES" > > > to /boot/loader.conf, but it should be fine in the kernel. > > > > The only 'BIOS'-related probe I see involves the PCI->PCI > > bridge. When the system boots I get complaints about a > > missing /dev/apm; and an expected string about apmd. > > Just a thought - is APM enabled (or able to be disabled) in the BIOS? > I don't know. My ThinkPad doesn't seem to have a way into the bios. No 'Type ESC to reach the BIOS'. (??) > > > Make sure that ACPI is disabled and apm enabled in /boot/device.hints. > > > hint.apm.0.disabled="0" > > > hint.acpi.0.disabled="1" > > > hint.apm.0.flags="0x20" > > > > > > If ACPI starts up, APM won't. These hints entries take care of both > > > issues. > > > > > > Ah, the acpi.0.disabled was set to false. This was > > probably the culprit. I just set it to "1". > > Hopefully that will fix it. APM works fine on my Compaq Armada 1500c > (on 4.5-R) as long as APCI is switched off in BIOS. It does work :-) I'm a bit surprised that anything this old (1998) has the power-management stuff. > > As an aside, I tried mailing you off-list about this yesterday, and got: > > ----- Transcript of session follows ----- > ... while talking to ns1.thought.org.: > >>> MAIL From: SIZE=1204 > <<< 550 5.0.0 ... No SPAM > 554 ... Service unavailable > > .. so I guess your spam filter is maybe targetting .au ? Sorry to > mention this on-list, but you probably wouldn't see it otherwise. > I just fixed my /etc/mail/access file. I had 550'd the "asn.au" domain. Sorry!! Either somebody was spamming from your domain or, more likely, had highjacked it. One by one, I'm deleting legit IP's. No idea how many people have emailed me, had things bounce, and just flipped me off! Thanks for letting me know. gary > Cheers, Ian > > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" -- Gary Kline kline@thought.org www.thought.org Public service Unix From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 17:23:24 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9637116A4CE for ; Mon, 30 Aug 2004 17:23:24 +0000 (GMT) Received: from mail.broadpark.no (mail.broadpark.no [217.13.4.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 28FB043D5E for ; Mon, 30 Aug 2004 17:23:24 +0000 (GMT) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from kg-work.kg4.no (68.80-202-174.nextgentel.com [80.202.174.68]) by mail.broadpark.no (Postfix) with SMTP id 2AAB53CF7 for ; Mon, 30 Aug 2004 19:24:00 +0200 (MEST) Date: Mon, 30 Aug 2004 19:23:33 +0200 From: Torfinn Ingolfsen To: freebsd-mobile@freebsd.org Message-Id: <20040830192333.7e090f13.torfinn.ingolfsen@broadpark.no> In-Reply-To: <20040830163554.GA26549@thought.org> References: <20040830004037.GB83747@thought.org> <20040830163554.GA26549@thought.org> X-Mailer: Sylpheed version 0.9.12 (GTK+ 1.2.10; i386-portbld-freebsd5.2.1) X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq;m"_0v;~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 17:23:24 -0000 On Mon, 30 Aug 2004 09:35:54 -0700 Gary Kline wrote: > I don't know. My ThinkPad doesn't seem to have a way into > the bios. No 'Type ESC to reach the BIOS'. (??) On those old ThinkPads, you have to hold down the F1 key while you power-on the machine. Keep holding it down until the "Easy-Setup" meny appears. Oh, and Easy-Setup isn't your regular BIOS adjustment program. For that, you need the PS2 utility aka "Configuration utility for DOS". See http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4ZFPEG The Linux people have tpctl (http://tpctl.sourceforge.net/), and I vaguely remember that somebody started a similar project for FreeBSD, but I don't think it was ever finished. Hope this helps. -- Regards, Torfinn Ingolfsen, Norway From owner-freebsd-mobile@FreeBSD.ORG Mon Aug 30 20:47:40 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1AEAC16A4CE for ; Mon, 30 Aug 2004 20:47:40 +0000 (GMT) Received: from arginine.spc.org (arginine.spc.org [195.206.69.236]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8242743D53 for ; Mon, 30 Aug 2004 20:47:39 +0000 (GMT) (envelope-from bms@spc.org) Received: from localhost (localhost [127.0.0.1]) by arginine.spc.org (Postfix) with ESMTP id 2DEB465213; Mon, 30 Aug 2004 21:47:37 +0100 (BST) Received: from arginine.spc.org ([127.0.0.1]) by localhost (arginine.spc.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 27235-02; Mon, 30 Aug 2004 21:47:36 +0100 (BST) Received: from empiric.dek.spc.org (dhcp113.icir.org [192.150.187.113]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by arginine.spc.org (Postfix) with ESMTP id 415E1651FC; Mon, 30 Aug 2004 21:47:36 +0100 (BST) Received: by empiric.dek.spc.org (Postfix, from userid 1001) id A770663E6; Mon, 30 Aug 2004 13:47:29 -0700 (PDT) Date: Mon, 30 Aug 2004 13:47:29 -0700 From: Bruce M Simpson To: Torfinn Ingolfsen Message-ID: <20040830204729.GA860@empiric.icir.org> Mail-Followup-To: Torfinn Ingolfsen , freebsd-mobile@freebsd.org References: <20040830004037.GB83747@thought.org> <20040830163554.GA26549@thought.org> <20040830192333.7e090f13.torfinn.ingolfsen@broadpark.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040830192333.7e090f13.torfinn.ingolfsen@broadpark.no> cc: freebsd-mobile@freebsd.org Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 20:47:40 -0000 On Mon, Aug 30, 2004 at 07:23:33PM +0200, Torfinn Ingolfsen wrote: > The Linux people have tpctl (http://tpctl.sourceforge.net/), and I > vaguely remember that somebody started a similar project for FreeBSD, > but I don't think it was ever finished. I did a quick hack to dump out these registers from userland. From what I've read of the acpi stuff for ThinkPads, this frobs the same register space. I'm more comfortable going with that. BMS From owner-freebsd-mobile@FreeBSD.ORG Tue Aug 31 19:14:17 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF76216A4CE for ; Tue, 31 Aug 2004 19:14:17 +0000 (GMT) Received: from smtp.tiscali.ch (smtp.tiscali.ch [212.40.5.52]) by mx1.FreeBSD.org (Postfix) with ESMTP id D619743D41 for ; Tue, 31 Aug 2004 19:14:16 +0000 (GMT) (envelope-from flex.banana@bluewin.ch) Received: from [192.168.1.202] (adsl-100-160-zh1.tiscali.ch [212.254.100.160]) by smtp.tiscali.ch (8.11.7/8.11.7) with ESMTP id i7VJEFN14839 for ; Tue, 31 Aug 2004 21:14:15 +0200 Mime-Version: 1.0 (Apple Message framework v619) Content-Transfer-Encoding: 7bit Message-Id: Content-Type: text/plain; charset=US-ASCII; format=flowed To: freebsd-mobile@freebsd.org From: "flex.banana" Date: Tue, 31 Aug 2004 21:13:15 +0200 X-Mailer: Apple Mail (2.619) Subject: TravelMate 292 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Aug 2004 19:14:17 -0000 hi all i have a problem booting into my new Travelmate 292 from Acer i'm trying to boot with FreeBSD 5.2.1, 4.10-STABLE, 5.3 BETA2-current (today) and 6.0-current (20040830) and i got this message: npx0: [FAST] npx0: on motherboard npx0: INT 16 interface pcib0: pcibus 0 on motherboard pir0: on motherboard pci0: on pcib0 and the computer freeze, now it's not possible to continue or reboot what is it? can a user help me please? thanks all banana From owner-freebsd-mobile@FreeBSD.ORG Tue Aug 31 21:27:19 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F139316A4CE for ; Tue, 31 Aug 2004 21:27:19 +0000 (GMT) Received: from sasami.jurai.net (sasami.jurai.net [69.17.104.113]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B21143D1D for ; Tue, 31 Aug 2004 21:27:19 +0000 (GMT) (envelope-from winter@jurai.net) Received: from sasami.jurai.net (winter@sasami.jurai.net [69.17.104.113]) by sasami.jurai.net (8.13.1/8.13.1) with ESMTP id i7VLR7lr005500; Tue, 31 Aug 2004 17:27:10 -0400 (EDT) (envelope-from winter@jurai.net) Date: Tue, 31 Aug 2004 17:27:07 -0400 (EDT) From: "Matthew N. Dodd" To: Bruce M Simpson In-Reply-To: <20040830204729.GA860@empiric.icir.org> Message-ID: <20040831172403.A4214@sasami.jurai.net> References: <20040830004037.GB83747@thought.org> <20040830192333.7e090f13.torfinn.ingolfsen@broadpark.no> <20040830204729.GA860@empiric.icir.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.5.6 (sasami.jurai.net [69.17.104.113]); Tue, 31 Aug 2004 17:27:15 -0400 (EDT) cc: freebsd-mobile@freebsd.org Subject: Re: xbatt or other indicators for the Thinkpad 600E? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Aug 2004 21:27:20 -0000 On Mon, 30 Aug 2004, Bruce M Simpson wrote: > On Mon, Aug 30, 2004 at 07:23:33PM +0200, Torfinn Ingolfsen wrote: >> The Linux people have tpctl (http://tpctl.sourceforge.net/), and I >> vaguely remember that somebody started a similar project for FreeBSD, >> but I don't think it was ever finished. > > I did a quick hack to dump out these registers from userland. From what > I've read of the acpi stuff for ThinkPads, this frobs the same register > space. I'm more comfortable going with that. The 'smapi' BIOS driver provides an interface and I have a read only utility that can pull info: ftp://ftp.jurai.net/users/winter/smapi.tar.gz I wasn't able to get 'write' functions to work; instant reboot. Since the laptop I was testing against (560E) isn't usable anymore I haven't played with it recently. I'd love it if someone was able to find the problem. -- 10 40 80 C0 00 FF FF FF FF C0 00 00 00 00 10 AA AA 03 00 00 00 08 00 From owner-freebsd-mobile@FreeBSD.ORG Wed Sep 1 02:42:00 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 961C916A4CF for ; Wed, 1 Sep 2004 02:42:00 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2102E43D3F for ; Wed, 1 Sep 2004 02:42:00 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.11/8.12.11) with ESMTP id i812fXgj074400; Tue, 31 Aug 2004 20:41:33 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 31 Aug 2004 20:41:44 -0600 (MDT) Message-Id: <20040831.204144.102466955.imp@bsdimp.com> To: flex.banana@bluewin.ch From: "M. Warner Losh" In-Reply-To: References: X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-mobile@freebsd.org Subject: Re: TravelMate 292 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 02:42:00 -0000 In message: "flex.banana" writes: : hi all : : i have a problem booting into my new Travelmate 292 from Acer : i'm trying to boot with FreeBSD 5.2.1, 4.10-STABLE, 5.3 BETA2-current : (today) and 6.0-current (20040830) and i got this message: : : npx0: [FAST] : npx0: on motherboard : npx0: INT 16 interface : pcib0: pcibus 0 on motherboard : pir0: on motherboard : pci0: on pcib0 : : and the computer freeze, now it's not possible to continue or reboot : : what is it? can a user help me please? : thanks all :-( Can you the last 20 lines from a 6.0-current? Warner From owner-freebsd-mobile@FreeBSD.ORG Wed Sep 1 12:39:37 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 885AE16A4CE for ; Wed, 1 Sep 2004 12:39:37 +0000 (GMT) Received: from outmx019.isp.belgacom.be (outmx019.isp.belgacom.be [195.238.2.200]) by mx1.FreeBSD.org (Postfix) with ESMTP id B5D3843D48 for ; Wed, 1 Sep 2004 12:39:36 +0000 (GMT) (envelope-from tijl@ulyssis.org) Received: from outmx019.isp.belgacom.be (localhost [127.0.0.1]) with ESMTP id i81CdXqm005688 for ; Wed, 1 Sep 2004 14:39:33 +0200 (envelope-from ) Received: from [192.168.70.42] (182-33.241.81.adsl.skynet.be [81.241.33.182]) with ESMTP id i81CdTST005660 for ; Wed, 1 Sep 2004 14:39:29 +0200 (envelope-from ) From: Tijl Coosemans To: freebsd-mobile@freebsd.org Date: Wed, 1 Sep 2004 14:40:58 +0200 User-Agent: KMail/1.6.2 MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <200409011440.58934.tijl@ulyssis.org> Subject: 5.3beta2 Xircom CEM56 attach returned 12 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 12:39:37 -0000 Hi list, I'm having problems to get my Xircom card working. It doesn't seem to be able to allocate mem. I think in 4-stable it used 0xd1000. Anyway, I've set the syctl variabe hw.xe.debug to 2 and included the output below. The first thing I noticed was that it seems to think it's a RealPort card while this certainly isn't the case. There are a couple messages related to this in the archives, even a patch, but the code has changed since then and it no longer applies. I'm using an OLDCARD kernel by the way. (NEWCARD doesn't seem to work with this ToPIC95B). xe0: pccard_probe xe0: vendor = 0x0105 xe0: product = 0x110a xe0: prodext = 0x46 xe0: vendor_str = Xircom xe0: product_str = CreditCard Ethernet 10/100 + Modem 56 xe0: cis3_str = CEM56 xe0: cis4_str = 1.00 xe0: at port 0x2e8-0x2ef irq 10 slot 0 on pccard0 xe0: pccard_attach xe0: activate xe0: Finding an aligned port for RealPort xe0: RealPort port 0x10f, size 0x10 xe0: Cannot allocate ioport device_attach: xe0 attach returned 12 From owner-freebsd-mobile@FreeBSD.ORG Wed Sep 1 13:32:41 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8A8A416A4CE for ; Wed, 1 Sep 2004 13:32:41 +0000 (GMT) Received: from mynah.mail.pas.earthlink.net (mynah.mail.pas.earthlink.net [207.217.120.228]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BB2B43D3F for ; Wed, 1 Sep 2004 13:32:41 +0000 (GMT) (envelope-from welchsm@earthlink.net) Received: from c-66-41-102-215.mn.client2.attbi.com ([66.41.102.215] helo=NitroPhys.welchsmnet.net) by mynah.mail.pas.earthlink.net with asmtp (TLSv1:AES256-SHA:256) (Exim 4.34) id 1C2VE2-00084Y-EH; Wed, 01 Sep 2004 06:32:34 -0700 Received: from NitroPhys.welchsmnet.net (localhost [127.0.0.1]) i81DVkG9005513; Wed, 1 Sep 2004 08:31:46 -0500 (CDT) (envelope-from welchsm@localhost.welchsmnet.net) Received: (from welchsm@localhost)i81DVj0R005512; Wed, 1 Sep 2004 08:31:45 -0500 (CDT) (envelope-from welchsm) Date: Wed, 1 Sep 2004 08:31:45 -0500 From: Sean Welch To: jne@iinet.net.au Message-ID: <20040901133145.GA5491@NitroPhys.welchsmnet.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6i X-ELNK-Trace: 15d86f98c8ef8acad780f4a490ca69564776905774d2ac4b6ff7e09ba063c4154d762c8d469b5a16350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 66.41.102.215 cc: freebsd-mobile@freebsd.org Subject: Re: Prism based PCMCIA wifi cards X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Sean_Welch@alum.wofford.org List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 13:32:41 -0000 > the WPC since I barely know the right end of a soldering iron, so can > anyone recommend a prism-based 802.11b card with either: > > a) a really powerful builtin antenna, or > b) an external antenna jack I've been using this one for 2 years with great success: http://www.netgate.com/EL2511.html Uder 5.2.1 it attaches as: wi0: 802.11 address: xx:xx:xx:xx:xx:xx wi0: using RF:PRISM2.5 MAC:XXXXXXX wi0: Intersil Firmware: Primary (1.1.0), Station (1.4.9) wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps (I have of course replaced the addresses...) There is also a version with an external antena which may be even better. Just click around on the site a bit. Sean From owner-freebsd-mobile@FreeBSD.ORG Wed Sep 1 14:57:44 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 834C916A4CE for ; Wed, 1 Sep 2004 14:57:44 +0000 (GMT) Received: from mail.iinet.net.au (mail-13.iinet.net.au [203.59.3.45]) by mx1.FreeBSD.org (Postfix) with SMTP id E837E43D48 for ; Wed, 1 Sep 2004 14:57:42 +0000 (GMT) (envelope-from jne@iinet.net.au) Received: (qmail 25636 invoked from network); 1 Sep 2004 14:57:41 -0000 Received: from unknown (HELO ?192.168.0.10?) (203.206.236.212) by mail.iinet.net.au with SMTP; 1 Sep 2004 14:57:41 -0000 Message-ID: <4135E341.1040501@iinet.net.au> Date: Thu, 02 Sep 2004 00:57:05 +1000 From: Michael McCormack User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040616 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-mobile@freebsd.org References: <20040901133145.GA5491@NitroPhys.welchsmnet.net> In-Reply-To: <20040901133145.GA5491@NitroPhys.welchsmnet.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: Prism based PCMCIA wifi cards X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 14:57:44 -0000 Thanks for all the feedback people :) The vote was almost unanimous- I'm gonna go with the NL-2511CD PLUS EXT2 from AustWireless.com .. Most of you pointed me to netgate, but austwireless has cheaper shipping since they're only one state away instead of half a planet :) I'm assuming that the stock 2dBi clipon antenna doesn't suck. Can anyone recommend a good directional? Also; Are the "patch" style omni's any good? From owner-freebsd-mobile@FreeBSD.ORG Wed Sep 1 15:06:21 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6213A16A4CE for ; Wed, 1 Sep 2004 15:06:21 +0000 (GMT) Received: from e6.ny.us.ibm.com (e6.ny.us.ibm.com [32.97.182.106]) by mx1.FreeBSD.org (Postfix) with ESMTP id C353E43D55 for ; Wed, 1 Sep 2004 15:06:20 +0000 (GMT) (envelope-from bgroft@us.ibm.com) Received: from northrelay04.pok.ibm.com (northrelay04.pok.ibm.com [9.56.224.206]) by e6.ny.us.ibm.com (8.12.10/8.12.9) with ESMTP id i81F6Jnt125116 for ; Wed, 1 Sep 2004 11:06:19 -0400 Received: from d01ml063.pok.ibm.com (d01av04.pok.ibm.com [9.56.224.64]) i81F7SGY163552 for ; Wed, 1 Sep 2004 11:07:29 -0400 Importance: High To: freebsd-mobile@freebsd.org X-Mailer: Lotus Notes Release 6.0.2CF1 June 9, 2003 Message-ID: From: Brad Groft Date: Wed, 1 Sep 2004 09:06:12 -0600 X-MIMETrack: Serialize by Router on D01ML063/01/M/IBM(Release 6.0.2CF2 HFB2|July 19, 2004) at 09/01/2004 11:06:16 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Subject: IBM T30 and thermal problems X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 15:06:21 -0000 There was a post made - subject line - by an individual outside of IBM that did not have the authorization to do so. The information is IBM Confidential and needs to be removed. Please have someone contact me ASAP to discuss and to confirm that it has been removed. Thanks. Brad Groft Service Business Consultant IBM Personal Systems Group 10352 Weeden Place Lone Tree, CO. 80124 Office Phone 303-773-5377 FAX 303-662-9258 Cell Phone 303-886-0887 Internet bgroft@us.ibm.com From owner-freebsd-mobile@FreeBSD.ORG Wed Sep 1 15:13:32 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CE64616A4CE for ; Wed, 1 Sep 2004 15:13:32 +0000 (GMT) Received: from bast.unixathome.org (bast.unixathome.org [66.11.174.150]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA7A543D41 for ; Wed, 1 Sep 2004 15:13:32 +0000 (GMT) (envelope-from dan@langille.org) Received: from xeon (xeon.unixathome.org [192.168.0.18]) by bast.unixathome.org (Postfix) with ESMTP id 958A03D3D; Wed, 1 Sep 2004 11:13:31 -0400 (EDT) Date: Wed, 1 Sep 2004 11:13:31 -0400 (EDT) From: Dan Langille X-X-Sender: dan@xeon.unixathome.org To: Brad Groft In-Reply-To: Message-ID: <20040901110954.O48577@xeon.unixathome.org> References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-mobile@freebsd.org Subject: Re: IBM T30 and thermal problems X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 15:13:32 -0000 On Wed, 1 Sep 2004, Brad Groft wrote: > There was a post made - subject line - by an individual outside of IBM > that did not have the authorization to do so. > > The information is IBM Confidential and needs to be removed. > > Please have someone contact me ASAP to discuss and to confirm that it has > been removed. Removed from what? -- Dan Langille - http://www.langille.org/ From owner-freebsd-mobile@FreeBSD.ORG Wed Sep 1 15:48:21 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1BDAF16A4CE for ; Wed, 1 Sep 2004 15:48:21 +0000 (GMT) Received: from mailhub02.unibe.ch (mailhub02-skge0.unibe.ch [130.92.9.53]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB30443D5F for ; Wed, 1 Sep 2004 15:48:20 +0000 (GMT) (envelope-from roth@speedy.unibe.ch) Received: from localhost (scanhub02-eth0.unibe.ch [130.92.254.66]) by mailhub02.unibe.ch (Postfix) with ESMTP id 82225765AD; Wed, 1 Sep 2004 17:48:19 +0200 (MEST) Received: from mailhub02.unibe.ch ([130.92.9.53]) by localhost (scanhub02.unibe.ch [130.92.254.66]) (amavisd-new, port 10024) with LMTP id 03671-08-13; Wed, 1 Sep 2004 17:48:13 +0200 (CEST) Received: from asterix.unibe.ch (asterix.unibe.ch [130.92.64.4]) by mailhub02.unibe.ch (Postfix) with ESMTP id 1CFED765A2; Wed, 1 Sep 2004 17:48:18 +0200 (MEST) Received: from speedy.unibe.ch (speedy [130.92.64.35]) by asterix.unibe.ch (8.11.7p1+Sun/8.11.7) with ESMTP id i81FmH126999; Wed, 1 Sep 2004 17:48:17 +0200 (MET DST) Received: (from roth@localhost) by speedy.unibe.ch (8.12.10+Sun/8.12.9/Submit) id i81FmGji008179; Wed, 1 Sep 2004 17:48:16 +0200 (MEST) Date: Wed, 1 Sep 2004 17:48:16 +0200 From: Tobias Roth To: Dan Langille Message-ID: <20040901154816.GA7942@speedy.unibe.ch> Mail-Followup-To: Dan Langille , Brad Groft , freebsd-mobile@freebsd.org References: <20040901110954.O48577@xeon.unixathome.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040901110954.O48577@xeon.unixathome.org> User-Agent: Mutt/1.4i X-message-flag: Warning! Using Outlook is insecure and promotes virus distribution. Please use a different email client. X-Virus-checked: by University of Berne cc: Brad Groft cc: freebsd-mobile@freebsd.org Subject: Re: IBM T30 and thermal problems X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 15:48:21 -0000 On Wed, Sep 01, 2004 at 11:13:31AM -0400, Dan Langille wrote: > On Wed, 1 Sep 2004, Brad Groft wrote: > > > There was a post made - subject line - by an individual outside of IBM > > that did not have the authorization to do so. > > > > The information is IBM Confidential and needs to be removed. > > > > Please have someone contact me ASAP to discuss and to confirm that it has > > been removed. > > Removed from what? Probably from the mailing list archive. I remember that post, because it was made in reply to one of my questions. If you google for "IBM T30 and thermal problems" (including the quotation marks), you will see the post. It describes a known problem with IBM thinkpads. Sometimes, the mother- board stops recognizing the ram module inserted in one of the slots. This happened to me. My machine had 2x256MB. Some day, i noticed that the OS only showed 256MB of available memory, and with swapping modules around, I diagnosed this problem. My machine was still on warranty and when IBM changed the system board, things were back to normal. I was just lucky I noticed that something was broken while still being on warranty. It's kind of hard to detect this when not using both slots, and if you run out of warranty and then later want to add another dimm, you're out of luck I guess. The funny thing is that back then, I found lots of references to this problem, lots of people seemed to have it. Now, all I can find is this one last reference that is mentioned in the parent post. It can't be that IBM succeeded in having all references to this problem removed from the web? Of course, most likely I am just being paranoid and I simply didn't look hard enough... cheers, t. From owner-freebsd-mobile@FreeBSD.ORG Thu Sep 2 02:42:32 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B0D5C16A4CE for ; Thu, 2 Sep 2004 02:42:32 +0000 (GMT) Received: from out009.verizon.net (out009pub.verizon.net [206.46.170.131]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5064C43D2F for ; Thu, 2 Sep 2004 02:42:32 +0000 (GMT) (envelope-from Alex.Kovalenko@verizon.net) Received: from [10.0.3.231] ([141.153.185.178]) by out009.verizon.net (InterMail vM.5.01.06.06 201-253-122-130-106-20030910) with ESMTP id <20040902024231.KNDH23440.out009.verizon.net@[10.0.3.231]> for ; Wed, 1 Sep 2004 21:42:31 -0500 From: "Alexandre \"Sunny\" Kovalenko" To: freebsd-mobile@freebsd.org In-Reply-To: <20040901154816.GA7942@speedy.unibe.ch> References: <20040901110954.O48577@xeon.unixathome.org> <20040901154816.GA7942@speedy.unibe.ch> Content-Type: text/plain Message-Id: <1094092927.1087.4.camel@RabbitsDen> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Wed, 01 Sep 2004 22:42:07 -0400 Content-Transfer-Encoding: 7bit X-Authentication-Info: Submitted using SMTP AUTH at out009.verizon.net from [141.153.185.178] at Wed, 1 Sep 2004 21:42:31 -0500 Subject: Re: IBM T30 and thermal problems X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2004 02:42:32 -0000 On Wed, 2004-09-01 at 11:48, Tobias Roth wrote: > On Wed, Sep 01, 2004 at 11:13:31AM -0400, Dan Langille wrote: > > On Wed, 1 Sep 2004, Brad Groft wrote: > > > > > There was a post made - subject line - by an individual outside of IBM > > > that did not have the authorization to do so. > > > > > > The information is IBM Confidential and needs to be removed. > > > > > > Please have someone contact me ASAP to discuss and to confirm that it has > > > been removed. > > > > Removed from what? > > Probably from the mailing list archive. I remember that post, because it > was made in reply to one of my questions. If you google for > "IBM T30 and thermal problems" (including the quotation marks), you > will see the post. > > It describes a known problem with IBM thinkpads. Sometimes, the mother- > board stops recognizing the ram module inserted in one of the slots. > This happened to me. My machine had 2x256MB. Some day, i noticed that > the OS only showed 256MB of available memory, and with swapping modules > around, I diagnosed this problem. My machine was still on warranty and > when IBM changed the system board, things were back to normal. I was just > lucky I noticed that something was broken while still being on warranty. > It's kind of hard to detect this when not using both slots, and if you > run out of warranty and then later want to add another dimm, you're out > of luck I guess. > > The funny thing is that back then, I found lots of references to this > problem, lots of people seemed to have it. Now, all I can find is this > one last reference that is mentioned in the parent post. > > It can't be that IBM succeeded in having all references to this problem > removed from the web? Of course, most likely I am just being paranoid and > I simply didn't look hard enough... > > cheers, t. > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" Just so IBM has more messages to "remove from Internet": I had two T30 which developed this problem while on warranty, had motherboards replaced. To be fair, they have been working flawlessly since. After someone noticed that his memory has halved, we checked about half dozen and found another one. Morale -- if you have T30, try to fill second memory slot while you still have warranty and have it run non-stop for a while. --- Alexandre "Sunny" Kovalenko. From owner-freebsd-mobile@FreeBSD.ORG Thu Sep 2 04:54:54 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1974216A4CE for ; Thu, 2 Sep 2004 04:54:54 +0000 (GMT) Received: from pd2mo2so.prod.shaw.ca (shawidc-mo1.cg.shawcable.net [24.71.223.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id A1E8143D1D for ; Thu, 2 Sep 2004 04:54:53 +0000 (GMT) (envelope-from colin.percival@wadham.ox.ac.uk) Received: from pd5mr6so.prod.shaw.ca (pd5mr6so-qfe3.prod.shaw.ca [10.0.141.182]) by l-daemon (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) freebsd-mobile@freebsd.org; Wed, 01 Sep 2004 22:27:26 -0600 (MDT) Received: from pn2ml8so.prod.shaw.ca ([10.0.121.152]) by pd5mr6so.prod.shaw.ca (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0I3E00LKACDQGED0@pd5mr6so.prod.shaw.ca> for freebsd-mobile@freebsd.org; Wed, 01 Sep 2004 22:27:26 -0600 (MDT) Received: from piii600.wadham.ox.ac.uk (S0106006067227a4a.vc.shawcable.net [24.87.233.42]) by l-daemon (iPlanet Messaging Server 5.2 HotFix 1.18 (built Jul 28 2003)) with ESMTP id <0I3E00K0WCDQ44@l-daemon> for freebsd-mobile@freebsd.org; Wed, 01 Sep 2004 22:27:26 -0600 (MDT) Date: Wed, 01 Sep 2004 21:25:49 -0700 From: Colin Percival X-Sender: cperciva@popserver.sfu.ca (Unverified) To: freebsd-mobile@freebsd.org Message-id: <6.1.0.6.1.20040901211821.03a42390@popserver.sfu.ca> MIME-version: 1.0 X-Mailer: QUALCOMM Windows Eudora Version 6.1.0.6 Content-type: text/plain; charset=us-ascii Subject: Enhanced Speedstep in the ports tree X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2004 04:54:54 -0000 There are now two ports providing Enhanced Speedstep support: sysutils/est, which is a kernel module providing a sysctl interface, and sysutils/estctrl, which is a daemon which automatically adjusts the cpu speed based on the cpu load and power source (AC vs. battery; there are three settings for each, namely "min", "adaptive", and "max"). After receiving considerable feedback, I've made the reporting of cpu speed changes optional and disabled by default. Thanks to everyone who has helped test these. Colin Percival From owner-freebsd-mobile@FreeBSD.ORG Thu Sep 2 12:08:40 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 74D4516A4CE for ; Thu, 2 Sep 2004 12:08:40 +0000 (GMT) Received: from mta03-svc.ntlworld.com (mta03-svc.ntlworld.com [62.253.162.43]) by mx1.FreeBSD.org (Postfix) with ESMTP id E1F4B43D5A for ; Thu, 2 Sep 2004 12:08:39 +0000 (GMT) (envelope-from scott@fishballoon.org) Received: from llama.fishballoon.org ([82.4.146.37]) by mta03-svc.ntlworld.comESMTP <20040902120708.RGWX4727.mta03-svc.ntlworld.com@llama.fishballoon.org>; Thu, 2 Sep 2004 13:07:08 +0100 Received: from scott by llama.fishballoon.org with local (Exim 4.42 (FreeBSD)) id 1C2qON-0007rZ-J7; Thu, 02 Sep 2004 13:08:39 +0100 Date: Thu, 2 Sep 2004 13:08:39 +0100 From: Scott Mitchell To: Tijl Coosemans Message-ID: <20040902120838.GA29503@llama.fishballoon.org> References: <200409011440.58934.tijl@ulyssis.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200409011440.58934.tijl@ulyssis.org> User-Agent: Mutt/1.4.2.1i X-Operating-System: FreeBSD 4.9-RELEASE-p4 i386 Sender: Scott Mitchell cc: freebsd-mobile@freebsd.org Subject: Re: 5.3beta2 Xircom CEM56 attach returned 12 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2004 12:08:40 -0000 On Wed, Sep 01, 2004 at 02:40:58PM +0200, Tijl Coosemans wrote: > Hi list, > > I'm having problems to get my Xircom card working. It doesn't seem to > be able to allocate mem. I think in 4-stable it used 0xd1000. Anyway, > I've set the syctl variabe hw.xe.debug to 2 and included the output > below. The first thing I noticed was that it seems to think it's a > RealPort card while this certainly isn't the case. The only real difference between the REM56 and CEM56 is in the packaging, so this is probably a red herring. The driver behaves exactly the same for either card anyway. I'll have a look at this as soon as I can get beta2 on my laptop, which will probably end up being at the weekend. Thanks for getting the debug output already. > There are a couple messages related to this in the archives, even a > patch, but the code has changed since then and it no longer applies. I think all the patches that were floating around a while ago did finally get committed - could you send URLs so I can check I didn't miss anything? > I'm using an OLDCARD kernel by the way. (NEWCARD doesn't seem to work > with this ToPIC95B). In the meantime, could you also send me your /var/run/dmesg.boot? Cheers, Scott -- =========================================================================== Scott Mitchell | PGP Key ID | "Eagles may soar, but weasels Cambridge, England | 0x54B171B9 | don't get sucked into jet engines" scott at fishballoon.org | 0xAA775B8B | -- Anon From owner-freebsd-mobile@FreeBSD.ORG Thu Sep 2 13:31:50 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E4EFA16A4CE for ; Thu, 2 Sep 2004 13:31:50 +0000 (GMT) Received: from outmx021.isp.belgacom.be (outmx021.isp.belgacom.be [195.238.2.202]) by mx1.FreeBSD.org (Postfix) with ESMTP id C7A0343D5D for ; Thu, 2 Sep 2004 13:31:47 +0000 (GMT) (envelope-from tijl@ulyssis.org) Received: from outmx021.isp.belgacom.be (localhost [127.0.0.1]) with ESMTP id i82DVgNQ012047 for ; Thu, 2 Sep 2004 15:31:43 +0200 (envelope-from ) Received: from [192.168.70.42] (108-162.240.81.adsl.skynet.be [81.240.162.108])with ESMTP id i82DVb93012012; Thu, 2 Sep 2004 15:31:37 +0200 (envelope-from ) From: Tijl Coosemans To: freebsd-mobile@freebsd.org Date: Thu, 2 Sep 2004 15:33:10 +0200 User-Agent: KMail/1.6.2 References: <200409011440.58934.tijl@ulyssis.org> <4136B7F1.5040308@orel.ru> In-Reply-To: <4136B7F1.5040308@orel.ru> MIME-Version: 1.0 Content-Disposition: inline Content-Type: Multipart/Mixed; boundary="Boundary-00=_WEyNBLfV/uouGok" Message-Id: <200409021533.10309.tijl@ulyssis.org> cc: bel@orel.ru Subject: ToPIC95B cardbus on old laptop (was: 5.3beta2 Xircom CEM56 attach returned 12) X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2004 13:31:51 -0000 --Boundary-00=_WEyNBLfV/uouGok Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello Andrew, On Thursday 02 September 2004 08:04, Andrew Belashov wrote: > Tijl Coosemans wrote: > | I'm having problems to get my Xircom card working. It doesn't > | seem to be able to allocate mem. I think in 4-stable it used > | 0xd1000. Anyway, I've set the syctl variabe hw.xe.debug to 2 and > | included the output below. The first thing I noticed was that it > | seems to think it's a RealPort card while this certainly isn't > | the case. > | > | There are a couple messages related to this in the archives, even > | a patch, but the code has changed since then and it no longer > | applies. > | > | I'm using an OLDCARD kernel by the way. (NEWCARD doesn't seem to > | work with this ToPIC95B). > > Try NEWCARD with patch from PR kern/69127: > > > Boot verbosely ("boot -v" at loader prompt). > > Before inserting card do following: > # sysctl hw.cbb.debug=1 > # sysctl hw.pccard.debug=1 > # sysctl hw.pccard.cis_debug=1 > # sysctl hw.cardbus.debug=1 > # sysctl hw.cardbus.cis_debug=1 > > Post dmesg into maillist. As I briefly mentioned, NEWCARD doesn't work for me, so I didn't actually get any info from inserting the card. However, I figured you might still be interested in the dmesg so here it is. I also found a message in the archives with apparently exactly the same problem. It was fixed by enabling acpi, which this laptop unfortunately does not support. http://lists.freebsd.org/pipermail/freebsd-current/2004-April/026001.html Also, when I put this laptop in a docking station, there's a LOR when probing the extra slots (cbb2) and the kernel crashes with a page fault. Let me know if you want a dmesg of that. Thanks, Tijl --Boundary-00=_WEyNBLfV/uouGok Content-Type: text/plain; charset="iso-8859-1"; name="dmesg.new" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="dmesg.new" Copyright (c) 1992-2004 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 5.3-BETA2 #6: Thu Sep 2 14:36:06 CEST 2004 root@kalimero.kotnet.org:/usr/obj/usr/src/sys/KALIMERO WARNING: WITNESS option enabled, expect reduced performance. Preloaded elf kernel "/boot/kernel/kernel" at 0xc074e000. Preloaded elf module "/boot/kernel/sound.ko" at 0xc074e294. Preloaded elf module "/boot/kernel/speaker.ko" at 0xc074e340. Calibrating clock(s) ... i8254 clock: 1193132 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz quality 0 Calibrating TSC clock ... TSC clock: 233288874 Hz CPU: Pentium/P55C (quarter-micron) (233.29-MHz 586-class CPU) Origin = "GenuineIntel" Id = 0x581 Stepping = 1 Features=0x8001bf real memory = 167903232 (160 MB) Physical memory chunk(s): 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages) 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages) 0x0000000000826000 - 0x0000000009d1efff, 156209152 bytes (38137 pages) avail memory = 158851072 (151 MB) bios32: Found BIOS32 Service Directory header at 0xc00f8e20 bios32: Entry = 0xfe95a (c00fe95a) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xf0000+0xd7d6 pnpbios: Found PnP BIOS data at 0xc00f8e30 pnpbios: Entry = f0000:9113 Rev = 1.0 pnpbios: Event flag at 510 pnpbios: OEM ID 9932f351 Other BIOS signatures found: Intel Pentium detected, installing workaround for F00F bug null: random: io: mem: npx0: [FAST] npx0: on motherboard npx0: INT 16 interface pci_open(1): mode 1 addr port (0x0cf8) is 0x80001850 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=06011179) pcibios: BIOS version 2.10 Found $PIR table, 3 entries at 0xc00f8e80 PCI-Only Interrupts: none Location Bus Device Pin Link IRQs embedded 0 11 A 0x01 3 4 5 6 7 9 10 11 12 14 15 embedded 0 2 A 0x01 3 4 5 6 7 9 10 11 12 14 15 embedded 0 2 B 0x01 3 4 5 6 7 9 10 11 12 14 15 slot 1 0 6 A 0x01 3 4 5 6 7 9 10 11 12 14 15 slot 1 0 6 B 0x01 3 4 5 6 7 9 10 11 12 14 15 apm0: on motherboard apm0: found APM BIOS v1.2, connected at v1.2 pcib0: pcibus 0 on motherboard pir0: on motherboard $PIR: Links after initial probe: Link IRQ Rtd Ref IRQs 0x1 255 N 5 3 4 5 6 7 9 10 11 12 14 15 $PIR: Found matching pin for 0.11.INTA at func 0: 11 $PIR: Found matching pin for 0.2.INTA at func 0: 11 $PIR: Found matching pin for 0.2.INTB at func 1: 11 $PIR: Links after initial IRQ discovery: Link IRQ Rtd Ref IRQs 0x1 11 Y 5 3 4 5 6 7 9 10 11 12 14 15 $PIR: IRQs used by BIOS: 11 $PIR: Interrupt Weights: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ] [ 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 ] pci0: on pcib0 pci0: physical bus=0 found-> vendor=0x1179, dev=0x0601, revid=0x2c bus=0, slot=0, func=0 class=06-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x2280, cachelnsz=8 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type 1, range 32, base 00000000, size 12, memory disabled $PIR: 0:2 INTA routed to irq 11 found-> vendor=0x1179, dev=0x060a, revid=0x07 bus=0, slot=2, func=0 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0000, statreg=0x0480, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 map[10]: type 1, range 32, base 00000000, size 12, memory disabled $PIR: 0:2 INTB routed to irq 11 found-> vendor=0x1179, dev=0x060a, revid=0x07 bus=0, slot=2, func=1 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0000, statreg=0x0480, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=11 map[10]: type 1, range 32, base fd000000, size 24, enabled found-> vendor=0x102c, dev=0x00e5, revid=0xc6 bus=0, slot=4, func=0 class=03-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0083, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type 1, range 32, base fcfff000, size 12, enabled $PIR: 0:11 INTA routed to irq 11 found-> vendor=0x1033, dev=0x0035, revid=0x01 bus=0, slot=11, func=0 class=0c-03-10, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0200, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x01 (250 ns), maxlat=0x15 (5250 ns) intpin=a, irq=11 cbb0: irq 11 at device 2.0 on pci0 cbb0: Lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0 cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 cbb0: [MPSAFE] cbb0: bad Vcc request. ctrl=0xf000ef08, status=0xf000e2c3 cbb_power: 0V cbb0: PCI Configuration space: 0x00: 0x060a1179 0x04800007 0x06070007 0x00820000 0x10: 0x00000000 0x04800000 0x00141400 0xfffff000 0x20: 0x00000000 0xfffff000 0x00000000 0x0000fffc 0x30: 0x00000000 0x0000fffc 0x00000000 0x0400010b 0x40: 0x00011179 0x00000001 0x00000000 0x00000000 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 0x80: 0x00000000 0x00000000 0x00000000 0x01000000 0x90: 0x00000000 0x00000000 0x00000000 0x00000000 0xa0: 0x860010f0 0x00000002 0x00000000 0x00004100 0xb0: 0x3f3f3f8f 0x0a001020 0x00010100 0x000003f1 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 0xf0: 0x00000000 0x00000000 0x00000000 0x00000008 cbb1: irq 11 at device 2.1 on pci0 cbb1: Lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0x1000 cardbus1: on cbb1 pccard1: <16-bit PCCard bus> on cbb1 cbb1: [MPSAFE] cbb1: bad Vcc request. ctrl=0x7200700, status=0x7200720 cbb_power: 0V cbb1: PCI Configuration space: 0x00: 0x060a1179 0x04800007 0x06070007 0x00820000 0x10: 0x00001000 0x04800000 0x00151500 0xfffff000 0x20: 0x00000000 0xfffff000 0x00000000 0x0000fffc 0x30: 0x00000000 0x0000fffc 0x00000000 0x0400020b 0x40: 0x00011179 0x00000001 0x00000000 0x00000000 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 0x80: 0x00000000 0x00000000 0x00000000 0x01000000 0x90: 0x00000000 0x00000000 0x00000000 0x00000000 0xa0: 0x860020f0 0x00000002 0x00000000 0x00004100 0xb0: 0x3f3f3f8f 0x0a001020 0x00010100 0x000003f1 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 0xf0: 0x00000000 0x00000000 0x00000000 0x00000008 pci0: at device 4.0 (no driver attached) ohci0: mem 0xfcfff000-0xfcffffff irq 11 at device 11.0 on pci0 ohci0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xfcfff000 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0 usb0: on ohci0 usb0: USB revision 1.0 uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered cpu0 on motherboard isa0: on motherboard Trying Read_Port at 203 Trying Read_Port at 243 Trying Read_Port at 283 Trying Read_Port at 2c3 Trying Read_Port at 303 Trying Read_Port at 343 Trying Read_Port at 383 Trying Read_Port at 3c3 pnpbios: 18 devices, largest 195 bytes PNP0c01: adding fixed memory32 range 0-0x9ffff, size=0xa0000 PNP0c01: adding fixed memory32 range 0xf0000-0xfffff, size=0x10000 PNP0c01: adding fixed memory32 range 0x100000-0xa01ffff, size=0x9f20000 PNP0c01: adding fixed memory32 range 0xa020000-0xa03ffff, size=0x20000 PNP0c01: adding fixed memory32 range 0xfff00000-0xffffffff, size=0x100000 PNP0c01: adding fixed memory32 range 0xfefc0000-0xfeffffff, size=0x40000 pnpbios: handle 1 device ID PNP0c01 (010cd041) PNP0200: adding io range 0-0xf, size=0x10, align=0x1 PNP0200: adding io range 0x81-0x83, size=0x3, align=0x1 PNP0200: adding io range 0x87-0x87, size=0x1, align=0x1 PNP0200: adding io range 0x89-0x8b, size=0x3, align=0x1 PNP0200: adding io range 0x8f-0x8f, size=0x1, align=0x1 PNP0200: adding io range 0xc0-0xdf, size=0x20, align=0x1 PNP0200: adding dma mask 0x10 pnpbios: handle 2 device ID PNP0200 (0002d041) PNP0100: adding io range 0x40-0x43, size=0x4, align=0x1 PNP0100: adding irq mask 0x1 pnpbios: handle 4 device ID PNP0100 (0001d041) PNP0800: adding io range 0x61-0x61, size=0x1, align=0x1 pnpbios: handle 5 device ID PNP0800 (0008d041) PNP0c04: adding io range 0xf0-0xff, size=0x10, align=0x1 PNP0c04: adding irq mask 0x2000 pnpbios: handle 6 device ID PNP0c04 (040cd041) PNP0303: adding io range 0x60-0x60, size=0x1, align=0x1 PNP0303: adding io range 0x64-0x64, size=0x1, align=0x1 PNP0303: adding irq mask 0x2 pnpbios: handle 7 device ID PNP0303 (0303d041) PNP0f13: adding irq mask 0x1000 pnpbios: handle 8 device ID PNP0f13 (130fd041) PNP0b00: adding io range 0x70-0x71, size=0x2, align=0x1 PNP0b00: adding irq mask 0x100 pnpbios: handle 9 device ID PNP0b00 (000bd041) PNP0c02: adding io range 0x80-0x80, size=0x1, align=0x1 PNP0c02: adding io range 0x84-0x86, size=0x3, align=0x1 PNP0c02: adding io range 0x88-0x88, size=0x1, align=0x1 PNP0c02: adding io range 0x8c-0x8e, size=0x3, align=0x1 PNP0c02: adding io range 0xe0-0xef, size=0x10, align=0x1 PNP0c02: adding io range 0xb0-0xb2, size=0x3, align=0x1 PNP0c02: adding io range 0x24-0x25, size=0x2, align=0x1 PNP0c02: adding io range 0x2e-0x2f, size=0x2, align=0x1 PNP0c02: adding io range 0x1882-0x1885, size=0x4, align=0x1 PNP0c02: adding io range 0x1888-0x188d, size=0x6, align=0x1 PNP0c02: adding io range 0x480-0x48f, size=0x10, align=0x1 PNP0c02: adding io range 0xcf8-0xcff, size=0x8, align=0x1 PNP0c02: adding io range 0x4d0-0x4d1, size=0x2, align=0x1 PNP0c02: adding io range 0x100-0x107, size=0x8, align=0x1 PNP0c02: adding io range 0x10e-0x10e, size=0x1, align=0x1 pnpbios: handle 10 device ID PNP0c02 (020cd041) PNP0700: adding io range 0x3f2-0x3f5, size=0x4, align=0x1 PNP0700: adding io range 0x3f7-0x3f7, size=0x1, align=0x1 PNP0700: adding irq mask 0x40 PNP0700: adding dma mask 0x4 pnpbios: handle 11 device ID PNP0700 (0007d041) PNP0600: adding io range 0x1f0-0x1f7, size=0x8, align=0x1 PNP0600: adding io range 0x3f6-0x3f6, size=0x1, align=0x1 PNP0600: adding irq mask 0x4000 pnpbios: handle 12 device ID PNP0600 (0006d041) PNP0600: adding io range 0x170-0x177, size=0x8, align=0x1 PNP0600: adding io range 0x376-0x377, size=0x2, align=0x1 PNP0600: adding irq mask 0x8000 pnpbios: handle 13 device ID PNP0600 (0006d041) PNP0501: adding io range 0x3f8-0x3ff, size=0x8, align=0x1 PNP0501: adding irq mask 0x10 pnpbios: handle 14 device ID PNP0501 (0105d041) PNP0401: adding io range 0x378-0x37a, size=0x3, align=0x1 PNP0401: adding io range 0x778-0x77a, size=0x3, align=0x1 PNP0401: adding irq mask 0x80 PNP0401: adding dma mask 0x8 pnpbios: handle 16 device ID PNP0401 (0104d041) pnpbios: handle 17 device ID PNP0a03 (030ad041) pnpbios: handle 22 device ID TOS7009 (0970f351) YMH0021: adding io range 0x220-0x22f, size=0x10, align=0x1 YMH0021: adding io range 0x530-0x537, size=0x8, align=0x1 YMH0021: adding io range 0x388-0x38b, size=0x4, align=0x1 YMH0021: adding io range 0x330-0x331, size=0x2, align=0x1 YMH0021: adding io range 0x370-0x371, size=0x2, align=0x1 YMH0021: adding irq mask 0x20 YMH0021: adding dma mask 0x2 YMH0021: adding dma mask 0x1 pnpbios: handle 23 device ID YMH0021 (2100a865) sc: sc0 already exists; skipping it isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices orm0: at iomem 0xc0000-0xc97ff on isa0 pmtimer0 on isa0 fdc0: at port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0 fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbd: the current kbd controller command byte 0047 atkbd: keyboard ID 0x41ab (2) sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sc0: fb0, kbd0, terminal emulator: sc (syscons terminal) vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 fb0: vga0, vga, type:VGA (5), flags:0x7007f fb0: port:0x3c0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000 fb0: init mode:24, bios mode:3, current mode:24 fb0: window:0xc00b8000 size:32k gran:32k, buf:0 size:32k VGA parameters upon power-up 50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 07 80 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff VGA parameters in BIOS for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff EGA/VGA parameters to be used for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff isa_probe_children: probing PnP devices unknown: can't assign resources (memory) unknown: at iomem 0-0x9ffff on isa0 speaker0: at port 0x61 on isa0 atkbdc0: at port 0x64,0x60 irq 1 on isa0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000 atkbd0: [GIANT-LOCKED] psm0: unable to allocate IRQ psmcpnp0: at irq 12 on isa0 psm0: current command byte:0047 psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model GlidePoint, device ID 0-00, 2 buttons psm0: config:00000000, flags:00000008, packet size:3 psm0: syncmask:c0, syncbits:00 unknown: can't assign resources (port) unknown: at port 0x3f2-0x3f5 on isa0 ata0: at port 0x3f6,0x1f0-0x1f7 irq 14 on isa0 ata0: reset tp1 mask=03 ostat0=50 ostat1=00 ata0-master: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ata0-slave: stat=0x00 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=50 stat1=00 devices=0x1 ata0: [MPSAFE] ata1: at port 0x376-0x377,0x170-0x177 irq 15 on isa0 ata1: reset tp1 mask=03 ostat0=50 ostat1=00 ata1-master: stat=0x10 err=0x01 lsb=0x14 msb=0xeb ata1-slave: stat=0x00 err=0x01 lsb=0x0f msb=0x0f ata1: reset tp2 stat0=10 stat1=00 devices=0x4 ata1: [MPSAFE] sio0: irq maps: 0x1 0x11 0x1 0x1 sio0: <16550A-compatible COM port> at port 0x3f8-0x3ff irq 4 on isa0 sio0: type 16550A ppc0: using extended I/O port range ppc0: ECP SPP SPP ppc0: at port 0x778-0x77a,0x378-0x37f irq 7 drq 3 on isa0 ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppbus0: on ppc0 plip0: on ppbus0 plip0: bpf attached lpt0: on ppbus0 lpt0: Interrupt-driven port ppi0: on ppbus0 unknown: failed to probe on isa0 unknown: failed to probe at port 0x370-0x371,0x330-0x331,0x388-0x38b,0x530-0x537,0x220-0x22f irq 5 drq 0,1 on isa0 Device configuration finished. procfs registered TSC timecounter disabled: APM enabled. Timecounter "TSC" frequency 233288874 Hz quality -1000 Timecounters tick every 10.000 msec lo0: bpf attached ata0-master: pio=0x0c wdma=0x22 udma=0x42 cable=40pin ad0: ATA-0 disk at ata0-master ad0: 3909MB (8007552 sectors), 7944 C, 16 H, 63 S, 512 B ad0: 1 secs/int, 1 depth queue, PIO4 GEOM: new disk ad0 ata1-master: pio=0x0b wdma=0x21 udma=0xffffffff cable=40pin ATAPI_RESET time = 20us acd0: CDROM drive at ata1 as master acd0: read 1722KB/s (1722KB/s), 128KB buffer, PIO3 acd0: Reads: CDR, CDDA acd0: Writes: acd0: Audio: play, 255 volume levels acd0: Mechanism: ejectable tray, unlocked acd0: Medium: no/blank disc [0] f:80 typ:165 s(CHS):0/1/1 e(CHS):1023/15/63 s:63 l:8007489 [1] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0 [2] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0 [3] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0 GEOM: Configure ad0s1, start 32256 length 4099834368 end 4099866623 GEOM: Configure ad0s1a, start 0 length 134217728 end 134217727 GEOM: Configure ad0s1b, start 134217728 length 201326592 end 335544319 GEOM: Configure ad0s1c, start 0 length 4099834368 end 4099834367 GEOM: Configure ad0s1d, start 335544320 length 134217728 end 469762047 GEOM: Configure ad0s1e, start 469762048 length 3630072320 end 4099834367 Mounting root from ufs:/dev/ad0s1a start_init: trying /sbin/init Linux ELF exec handler installed --Boundary-00=_WEyNBLfV/uouGok-- From owner-freebsd-mobile@FreeBSD.ORG Thu Sep 2 13:43:36 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 64EA816A4CE for ; Thu, 2 Sep 2004 13:43:36 +0000 (GMT) Received: from outmx020.isp.belgacom.be (outmx020.isp.belgacom.be [195.238.2.201]) by mx1.FreeBSD.org (Postfix) with ESMTP id 44FF343D39 for ; Thu, 2 Sep 2004 13:43:33 +0000 (GMT) (envelope-from tijl@ulyssis.org) Received: from outmx020.isp.belgacom.be (localhost [127.0.0.1]) with ESMTP id i82DhNJi016103 for ; Thu, 2 Sep 2004 15:43:23 +0200 (envelope-from ) Received: from [192.168.70.42] (108-162.240.81.adsl.skynet.be [81.240.162.108])with ESMTP id i82DhGDL016031; Thu, 2 Sep 2004 15:43:17 +0200 (envelope-from ) From: Tijl Coosemans To: freebsd-mobile@freebsd.org Date: Thu, 2 Sep 2004 15:44:44 +0200 User-Agent: KMail/1.6.2 References: <200409011440.58934.tijl@ulyssis.org> <20040902120838.GA29503@llama.fishballoon.org> In-Reply-To: <20040902120838.GA29503@llama.fishballoon.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: Multipart/Mixed; boundary="Boundary-00=_MPyNBkq0wMNAPvO" Message-Id: <200409021544.44482.tijl@ulyssis.org> X-Content-Filtered-By: Mailman/MimeDel 2.1.1 cc: scott+freebsd@fishballoon.org Subject: Re: 5.3beta2 Xircom CEM56 attach returned 12 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2004 13:43:36 -0000 --Boundary-00=_MPyNBkq0wMNAPvO Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Thursday 02 September 2004 14:08, Scott Mitchell wrote: > On Wed, Sep 01, 2004 at 02:40:58PM +0200, Tijl Coosemans wrote: > > I'm having problems to get my Xircom card working. It doesn't > > seem to be able to allocate mem. I think in 4-stable it used > > 0xd1000. Anyway, I've set the syctl variabe hw.xe.debug to 2 and > > included the output below. > > There are a couple messages related to this in the archives, even > > a patch, but the code has changed since then and it no longer > > applies. > > I think all the patches that were floating around a while ago did > finally get committed - could you send URLs so I can check I didn't > miss anything? http://lists.freebsd.org/pipermail/freebsd-mobile/2004-April/003570.html But as far as I can understand the xe driver code, this is not the problem. > In the meantime, could you also send me your /var/run/dmesg.boot? oldcard dmesg attached. thanks, Tijl --Boundary-00=_MPyNBkq0wMNAPvO-- From owner-freebsd-mobile@FreeBSD.ORG Thu Sep 2 14:53:49 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2710416A4CE for ; Thu, 2 Sep 2004 14:53:49 +0000 (GMT) Received: from outmx005.isp.belgacom.be (outmx005.isp.belgacom.be [195.238.2.102]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2BE2443D5A for ; Thu, 2 Sep 2004 14:53:48 +0000 (GMT) (envelope-from tijl@ulyssis.org) Received: from outmx005.isp.belgacom.be (localhost [127.0.0.1]) with ESMTP id i82Erf7K019685 for ; Thu, 2 Sep 2004 16:53:42 +0200 (envelope-from ) Received: from [192.168.70.42] (108-162.240.81.adsl.skynet.be [81.240.162.108])with ESMTP id i82ErcTF019624; Thu, 2 Sep 2004 16:53:38 +0200 (envelope-from ) From: Tijl Coosemans To: freebsd-mobile@freebsd.org Date: Thu, 2 Sep 2004 16:55:10 +0200 User-Agent: KMail/1.6.2 References: <200409011440.58934.tijl@ulyssis.org> <20040902120838.GA29503@llama.fishballoon.org> In-Reply-To: <20040902120838.GA29503@llama.fishballoon.org> MIME-Version: 1.0 Content-Disposition: inline X-UID: 339 Content-Type: Multipart/Mixed; boundary="Boundary-00=_ORzNBgRaVOZ0Gz0" Message-Id: <200409021655.10601.tijl@ulyssis.org> cc: scott+freebsd@fishballoon.org Subject: Re: 5.3beta2 Xircom CEM56 attach returned 12 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2004 14:53:49 -0000 --Boundary-00=_ORzNBgRaVOZ0Gz0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Now hopefully with attachement. On Thursday 02 September 2004 14:08, Scott Mitchell wrote: > On Wed, Sep 01, 2004 at 02:40:58PM +0200, Tijl Coosemans wrote: > > I'm having problems to get my Xircom card working. It doesn't > > seem to be able to allocate mem. I think in 4-stable it used > > 0xd1000. Anyway, I've set the syctl variabe hw.xe.debug to 2 and > > included the output below. > > There are a couple messages related to this in the archives, even > > a patch, but the code has changed since then and it no longer > > applies. > > I think all the patches that were floating around a while ago did > finally get committed - could you send URLs so I can check I didn't > miss anything? http://lists.freebsd.org/pipermail/freebsd-mobile/2004-April/003570.html But as far as I can understand the xe driver code, this is not the problem. > In the meantime, could you also send me your /var/run/dmesg.boot? oldcard dmesg attached. thanks, Tijl --Boundary-00=_ORzNBgRaVOZ0Gz0 Content-Type: text/plain; charset="iso-8859-1"; name="dmesg.old" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="dmesg.old" Copyright (c) 1992-2004 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 5.3-BETA2 #3: Thu Sep 2 10:47:00 CEST 2004 root@kalimero.kotnet.org:/usr/obj/usr/src/sys/KALIMERO WARNING: WITNESS option enabled, expect reduced performance. Preloaded elf kernel "/boot/kernel.old/kernel" at 0xc0721000. Calibrating clock(s) ... i8254 clock: 1193132 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz quality 0 Calibrating TSC clock ... TSC clock: 233288938 Hz CPU: Pentium/P55C (quarter-micron) (233.29-MHz 586-class CPU) Origin = "GenuineIntel" Id = 0x581 Stepping = 1 Features=0x8001bf real memory = 167903232 (160 MB) Physical memory chunk(s): 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages) 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages) 0x0000000000826000 - 0x0000000009d1efff, 156209152 bytes (38137 pages) avail memory = 158859264 (151 MB) bios32: Found BIOS32 Service Directory header at 0xc00f8e20 bios32: Entry = 0xfe95a (c00fe95a) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xf0000+0xd7d6 pnpbios: Found PnP BIOS data at 0xc00f8e30 pnpbios: Entry = f0000:9113 Rev = 1.0 pnpbios: Event flag at 510 pnpbios: OEM ID 9932f351 Other BIOS signatures found: Intel Pentium detected, installing workaround for F00F bug random: io: mem: null: npx0: [FAST] npx0: on motherboard npx0: INT 16 interface pci_open(1): mode 1 addr port (0x0cf8) is 0x80001850 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=06011179) pcibios: BIOS version 2.10 Found $PIR table, 3 entries at 0xc00f8e80 PCI-Only Interrupts: none Location Bus Device Pin Link IRQs embedded 0 11 A 0x01 3 4 5 6 7 9 10 11 12 14 15 embedded 0 2 A 0x01 3 4 5 6 7 9 10 11 12 14 15 embedded 0 2 B 0x01 3 4 5 6 7 9 10 11 12 14 15 slot 1 0 6 A 0x01 3 4 5 6 7 9 10 11 12 14 15 slot 1 0 6 B 0x01 3 4 5 6 7 9 10 11 12 14 15 apm0: on motherboard apm0: found APM BIOS v1.2, connected at v1.2 pcib0: pcibus 0 on motherboard pir0: on motherboard $PIR: Links after initial probe: Link IRQ Rtd Ref IRQs 0x1 255 N 5 3 4 5 6 7 9 10 11 12 14 15 $PIR: Found matching pin for 0.11.INTA at func 0: 11 $PIR: Links after initial IRQ discovery: Link IRQ Rtd Ref IRQs 0x1 11 Y 5 3 4 5 6 7 9 10 11 12 14 15 $PIR: IRQs used by BIOS: 11 $PIR: Interrupt Weights: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ] [ 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 ] pci0: on pcib0 pci0: physical bus=0 found-> vendor=0x1179, dev=0x0601, revid=0x2c bus=0, slot=0, func=0 class=06-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x2280, cachelnsz=8 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type 1, range 32, base fd000000, size 24, enabled found-> vendor=0x102c, dev=0x00e5, revid=0xc6 bus=0, slot=4, func=0 class=03-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0083, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type 1, range 32, base fcfff000, size 12, enabled $PIR: 0:11 INTA routed to irq 11 found-> vendor=0x1033, dev=0x0035, revid=0x01 bus=0, slot=11, func=0 class=0c-03-10, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0200, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x01 (250 ns), maxlat=0x15 (5250 ns) intpin=a, irq=11 pci0: at device 4.0 (no driver attached) ohci0: mem 0xfcfff000-0xfcffffff irq 11 at device 11.0 on pci0 ohci0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xfcfff000 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0 usb0: on ohci0 usb0: USB revision 1.0 uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered cpu0 on motherboard isa0: on motherboard Trying Read_Port at 203 Trying Read_Port at 243 Trying Read_Port at 283 Trying Read_Port at 2c3 Trying Read_Port at 303 Trying Read_Port at 343 Trying Read_Port at 383 Trying Read_Port at 3c3 pnpbios: 21 devices, largest 195 bytes PNP0c01: adding fixed memory32 range 0-0x9ffff, size=0xa0000 PNP0c01: adding fixed memory32 range 0xf0000-0xfffff, size=0x10000 PNP0c01: adding fixed memory32 range 0x100000-0xa01ffff, size=0x9f20000 PNP0c01: adding fixed memory32 range 0xa020000-0xa03ffff, size=0x20000 PNP0c01: adding fixed memory32 range 0xfff00000-0xffffffff, size=0x100000 PNP0c01: adding fixed memory32 range 0xfefc0000-0xfeffffff, size=0x40000 pnpbios: handle 1 device ID PNP0c01 (010cd041) PNP0200: adding io range 0-0xf, size=0x10, align=0x1 PNP0200: adding io range 0x81-0x83, size=0x3, align=0x1 PNP0200: adding io range 0x87-0x87, size=0x1, align=0x1 PNP0200: adding io range 0x89-0x8b, size=0x3, align=0x1 PNP0200: adding io range 0x8f-0x8f, size=0x1, align=0x1 PNP0200: adding io range 0xc0-0xdf, size=0x20, align=0x1 PNP0200: adding dma mask 0x10 pnpbios: handle 2 device ID PNP0200 (0002d041) PNP0100: adding io range 0x40-0x43, size=0x4, align=0x1 PNP0100: adding irq mask 0x1 pnpbios: handle 4 device ID PNP0100 (0001d041) PNP0800: adding io range 0x61-0x61, size=0x1, align=0x1 pnpbios: handle 5 device ID PNP0800 (0008d041) PNP0c04: adding io range 0xf0-0xff, size=0x10, align=0x1 PNP0c04: adding irq mask 0x2000 pnpbios: handle 6 device ID PNP0c04 (040cd041) PNP0303: adding io range 0x60-0x60, size=0x1, align=0x1 PNP0303: adding io range 0x64-0x64, size=0x1, align=0x1 PNP0303: adding irq mask 0x2 pnpbios: handle 7 device ID PNP0303 (0303d041) PNP0f13: adding irq mask 0x1000 pnpbios: handle 8 device ID PNP0f13 (130fd041) PNP0b00: adding io range 0x70-0x71, size=0x2, align=0x1 PNP0b00: adding irq mask 0x100 pnpbios: handle 9 device ID PNP0b00 (000bd041) PNP0c02: adding io range 0x80-0x80, size=0x1, align=0x1 PNP0c02: adding io range 0x84-0x86, size=0x3, align=0x1 PNP0c02: adding io range 0x88-0x88, size=0x1, align=0x1 PNP0c02: adding io range 0x8c-0x8e, size=0x3, align=0x1 PNP0c02: adding io range 0xe0-0xef, size=0x10, align=0x1 PNP0c02: adding io range 0xb0-0xb2, size=0x3, align=0x1 PNP0c02: adding io range 0x24-0x25, size=0x2, align=0x1 PNP0c02: adding io range 0x2e-0x2f, size=0x2, align=0x1 PNP0c02: adding io range 0x1882-0x1885, size=0x4, align=0x1 PNP0c02: adding io range 0x1888-0x188d, size=0x6, align=0x1 PNP0c02: adding io range 0x480-0x48f, size=0x10, align=0x1 PNP0c02: adding io range 0xcf8-0xcff, size=0x8, align=0x1 PNP0c02: adding io range 0x4d0-0x4d1, size=0x2, align=0x1 PNP0c02: adding io range 0x100-0x107, size=0x8, align=0x1 PNP0c02: adding io range 0x10e-0x10e, size=0x1, align=0x1 pnpbios: handle 10 device ID PNP0c02 (020cd041) PNP0700: adding io range 0x3f2-0x3f5, size=0x4, align=0x1 PNP0700: adding io range 0x3f7-0x3f7, size=0x1, align=0x1 PNP0700: adding irq mask 0x40 PNP0700: adding dma mask 0x4 pnpbios: handle 11 device ID PNP0700 (0007d041) PNP0600: adding io range 0x1f0-0x1f7, size=0x8, align=0x1 PNP0600: adding io range 0x3f6-0x3f6, size=0x1, align=0x1 PNP0600: adding irq mask 0x4000 pnpbios: handle 12 device ID PNP0600 (0006d041) PNP0600: adding io range 0x170-0x177, size=0x8, align=0x1 PNP0600: adding io range 0x376-0x377, size=0x2, align=0x1 PNP0600: adding irq mask 0x8000 pnpbios: handle 13 device ID PNP0600 (0006d041) PNP0501: adding io range 0x3f8-0x3ff, size=0x8, align=0x1 PNP0501: adding irq mask 0x10 pnpbios: handle 14 device ID PNP0501 (0105d041) PNP0401: adding io range 0x378-0x37a, size=0x3, align=0x1 PNP0401: adding io range 0x778-0x77a, size=0x3, align=0x1 PNP0401: adding irq mask 0x80 PNP0401: adding dma mask 0x8 pnpbios: handle 16 device ID PNP0401 (0104d041) pnpbios: handle 17 device ID PNP0a03 (030ad041) PNP0e00: adding io range 0x3e0-0x3e1, size=0x2, align=0x1 pnpbios: handle 19 device ID PNP0e00 (000ed041) pnpbios: handle 22 device ID TOS7009 (0970f351) YMH0021: adding io range 0x220-0x22f, size=0x10, align=0x1 YMH0021: adding io range 0x530-0x537, size=0x8, align=0x1 YMH0021: adding io range 0x388-0x38b, size=0x4, align=0x1 YMH0021: adding io range 0x330-0x331, size=0x2, align=0x1 YMH0021: adding io range 0x370-0x371, size=0x2, align=0x1 YMH0021: adding irq mask 0x20 YMH0021: adding dma mask 0x2 YMH0021: adding dma mask 0x1 pnpbios: handle 23 device ID YMH0021 (2100a865) YMH0022: adding io range 0x201-0x201, size=0x1, align=0x1 pnpbios: handle 32 device ID YMH0022 (2200a865) PNP0e00: adding io range 0x3e2-0x3e3, size=0x2, align=0x1 pnpbios: handle 37 device ID PNP0e00 (000ed041) sc: sc0 already exists; skipping it isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices orm0: at iomem 0xc0000-0xc97ff on isa0 pmtimer0 on isa0 fdc0: at port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0 fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbd: the current kbd controller command byte 0047 atkbd: keyboard ID 0x41ab (2) sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sc0: fb0, kbd0, terminal emulator: sc (syscons terminal) vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 fb0: vga0, vga, type:VGA (5), flags:0x7007f fb0: port:0x3c0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000 fb0: init mode:24, bios mode:3, current mode:24 fb0: window:0xc00b8000 size:32k gran:32k, buf:0 size:32k VGA parameters upon power-up 50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 07 80 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff VGA parameters in BIOS for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff EGA/VGA parameters to be used for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff isa_probe_children: probing PnP devices unknown: failed to probe at port 0x61 on isa0 atkbdc0: at port 0x64,0x60 irq 1 on isa0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000 atkbd0: [GIANT-LOCKED] psm0: unable to allocate IRQ psmcpnp0: at irq 12 on isa0 psm0: current command byte:0047 psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model GlidePoint, device ID 0-00, 2 buttons psm0: config:00000000, flags:00000008, packet size:3 psm0: syncmask:c0, syncbits:00 unknown: can't assign resources (port) unknown: at port 0x3f2-0x3f5 on isa0 ata0: at port 0x3f6,0x1f0-0x1f7 irq 14 on isa0 ata0: reset tp1 mask=03 ostat0=50 ostat1=00 ata0-master: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ata0-slave: stat=0x00 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=50 stat1=00 devices=0x1 ata0: [MPSAFE] ata1: at port 0x376-0x377,0x170-0x177 irq 15 on isa0 ata1: reset tp1 mask=03 ostat0=50 ostat1=00 ata1-master: stat=0x10 err=0x01 lsb=0x14 msb=0xeb ata1-slave: stat=0x00 err=0x01 lsb=0x0f msb=0x0f ata1: reset tp2 stat0=10 stat1=00 devices=0x4 ata1: [MPSAFE] sio0: irq maps: 0x1 0x11 0x1 0x1 sio0: <16550A-compatible COM port> at port 0x3f8-0x3ff irq 4 on isa0 sio0: type 16550A ppc0: using extended I/O port range ppc0: ECP SPP SPP ppc0: at port 0x778-0x77a,0x378-0x37f irq 7 drq 3 on isa0 ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppbus0: on ppc0 plip0: on ppbus0 plip0: bpf attached lpt0: on ppbus0 lpt0: Interrupt-driven port ppi0: on ppbus0 pcic0: at port 0x3e0-0x3e1 on isa0 pcic0: Polling mode pccard0: on pcic0 pccard1: on pcic0 unknown: failed to probe on isa0 unknown: failed to probe at port 0x370-0x371,0x330-0x331,0x388-0x38b,0x530-0x537,0x220-0x22f irq 5 drq 0,1 on isa0 unknown: failed to probe at port 0x201 on isa0 pcic1: at port 0x3e2-0x3e3 on isa0 pcic1: Polling mode pccard2: on pcic1 pccard3: on pcic1 Device configuration finished. procfs registered TSC timecounter disabled: APM enabled. Timecounter "TSC" frequency 233288938 Hz quality -1000 Timecounters tick every 10.000 msec lo0: bpf attached ata0-master: pio=0x0c wdma=0x22 udma=0x42 cable=40pin ad0: ATA-0 disk at ata0-master ad0: 3909MB (8007552 sectors), 7944 C, 16 H, 63 S, 512 B ad0: 1 secs/int, 1 depth queue, PIO4 GEOM: new disk ad0 ata1-master: pio=0x0b wdma=0x21 udma=0xffffffff cable=40pin ATAPI_RESET time = 20us acd0: CDROM drive at ata1 as master acd0: read 1722KB/s (1722KB/s), 128KB buffer, PIO3 acd0: Reads: CDR, CDDA acd0: Writes: acd0: Audio: play, 255 volume levels acd0: Mechanism: ejectable tray, unlocked acd0: Medium: no/blank disc [0] f:80 typ:165 s(CHS):0/1/1 e(CHS):1023/15/63 s:63 l:8007489 [1] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0 [2] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0 [3] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0 GEOM: Configure ad0s1, start 32256 length 4099834368 end 4099866623 GEOM: Configure ad0s1a, start 0 length 134217728 end 134217727 GEOM: Configure ad0s1b, start 134217728 length 201326592 end 335544319 GEOM: Configure ad0s1c, start 0 length 4099834368 end 4099834367 GEOM: Configure ad0s1d, start 335544320 length 134217728 end 469762047 GEOM: Configure ad0s1e, start 469762048 length 3630072320 end 4099834367 pcic0: Power: Vcc=0 Vpp=0 pcic0: Power applied Power complete. pcic0: Power: Vcc=-1 Vpp=-1 pcic0: Couldn't autodetect voltage, assuming 5.0V pcic0: Power applied pcic0: Output enabled pcic0: Settling complete Power complete. pccard: card inserted, slot 0 pcic0: reset 1 int is 0 stat is ff Mounting root from ufs:/dev/ad0s1a pcic0: reset 2 int is 60 stat is cf start_init: trying /sbin/init pcic0: reset 3 int is 60 stat is ef pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pcic: mem addr 0xd0000: reg 48: d0 0 d0 0 0 7f 30 pcic: mem addr 0: reg 48: 0 0 0 0 0 0 20 pccard0: Assigning xe0: io 0x2e8-0x2ef irq 10 flags 0x0 xe0: pccard_probe xe0: vendor = 0x0105 xe0: product = 0x110a xe0: prodext = 0x46 xe0: vendor_str = Xircom xe0: product_str = CreditCard Ethernet 10/100 + Modem 56 xe0: cis3_str = CEM56 xe0: cis4_str = 1.00 xe0: at port 0x2e8-0x2ef irq 10 slot 0 on pccard0 xe0: pccard_attach xe0: activate xe0: Finding an aligned port for RealPort pcic: I/O win 1 flags 17 10f-11e pcic: I/O win 1 flags 7 10f-11e xe0: RealPort port 0x10f, size 0x10 xe0: Cannot allocate ioport device_attach: xe0 attach returned 12 Linux ELF exec handler installed --Boundary-00=_ORzNBgRaVOZ0Gz0-- From owner-freebsd-mobile@FreeBSD.ORG Thu Sep 2 16:42:21 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E797F16A4CE for ; Thu, 2 Sep 2004 16:42:21 +0000 (GMT) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id B406943D58 for ; Thu, 2 Sep 2004 16:42:21 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1C2ufD-0004oO-00; Thu, 02 Sep 2004 18:42:19 +0200 Date: Thu, 2 Sep 2004 18:42:19 +0200 To: freebsd-mobile@freebsd.org Message-ID: <20040902164219.GB29560@poupinou.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.5.1+cvs20040105i From: Bruno Ducrot Subject: [speedstep] testers wanted X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2004 16:42:22 -0000 Hi, I just finished a speedstep driver for p3m and p4m but it's a little bit ugly, and worst it would work only with ich chipsets. Even worst, I don't have the hardware so I can't test it. Some brave soul can found this in http://www.poupinou.org/cpufreq/bsd/ and it's named ichist.ugly.tar.gz ps: only compile tested on -current Cheers, -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-mobile@FreeBSD.ORG Thu Sep 2 16:50:59 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1BE7E16A4CE for ; Thu, 2 Sep 2004 16:50:59 +0000 (GMT) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD38943D5D for ; Thu, 2 Sep 2004 16:50:58 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1C2una-0004pq-00 for ; Thu, 02 Sep 2004 18:50:58 +0200 Date: Thu, 2 Sep 2004 18:50:58 +0200 To: freebsd-mobile@freebsd.org Message-ID: <20040902165058.GC29560@poupinou.org> References: <20040902164219.GB29560@poupinou.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040902164219.GB29560@poupinou.org> User-Agent: Mutt/1.5.5.1+cvs20040105i From: Bruno Ducrot Subject: Re: [speedstep] testers wanted X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2004 16:50:59 -0000 On Thu, Sep 02, 2004 at 06:42:19PM +0200, Bruno Ducrot wrote: > Hi, > > I just finished a speedstep driver for p3m and p4m but it's a little bit > ugly, and worst it would work only with ich chipsets. Even worst, I > don't have the hardware so I can't test it. > > Some brave soul can found this in > http://www.poupinou.org/cpufreq/bsd/ > and it's named ichist.ugly.tar.gz Oops, I've done a little mistake. Please refetch. -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-mobile@FreeBSD.ORG Fri Sep 3 10:50:25 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A3F0216A4D0 for ; Fri, 3 Sep 2004 10:50:25 +0000 (GMT) Received: from tts.orel.ru (tts.orel.ru [213.59.64.67]) by mx1.FreeBSD.org (Postfix) with ESMTP id 32C9643D53 for ; Fri, 3 Sep 2004 10:50:24 +0000 (GMT) (envelope-from bel@orel.ru) Received: from orel.ru (lg.orel.ru [62.33.11.59]) by tts.orel.ru (8.12.10/8.12.10/bel) with ESMTP id i83AoIeT024069; Fri, 3 Sep 2004 14:50:20 +0400 Message-ID: <41384C69.2000700@orel.ru> Date: Fri, 03 Sep 2004 14:50:17 +0400 From: Andrew Belashov Organization: ORIS User-Agent: Mozilla/5.0 (X11; U; FreeBSD sparc64; en-US; rv:1.6) Gecko/20040407 X-Accept-Language: ru, en-us, en MIME-Version: 1.0 To: Tijl Coosemans References: <200409011440.58934.tijl@ulyssis.org> <4136B7F1.5040308@orel.ru> <200409021533.10309.tijl@ulyssis.org> In-Reply-To: <200409021533.10309.tijl@ulyssis.org> X-Enigmail-Version: 0.83.5.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Zombi-Check: on netra2.orel.ru cc: freebsd-mobile@freebsd.org Subject: Re: ToPIC95B cardbus on old laptop X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Sep 2004 10:50:25 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, Tijl! Tijl Coosemans wrote: | On Thursday 02 September 2004 08:04, Andrew Belashov wrote: | |>Tijl Coosemans wrote: |>| I'm having problems to get my Xircom card working. It doesn't |>| seem to be able to allocate mem. I think in 4-stable it used |>| 0xd1000. Anyway, I've set the syctl variabe hw.xe.debug to 2 and |>| included the output below. The first thing I noticed was that it |>| seems to think it's a RealPort card while this certainly isn't |>| the case. |>| |>| There are a couple messages related to this in the archives, even |>| a patch, but the code has changed since then and it no longer |>| applies. |>| |>| I'm using an OLDCARD kernel by the way. (NEWCARD doesn't seem to |>| work with this ToPIC95B). |> |>Try NEWCARD with patch from PR kern/69127: |> |> |>Boot verbosely ("boot -v" at loader prompt). |> |>Before inserting card do following: |># sysctl hw.cbb.debug=1 |># sysctl hw.pccard.debug=1 |># sysctl hw.pccard.cis_debug=1 |># sysctl hw.cardbus.debug=1 |># sysctl hw.cardbus.cis_debug=1 |> |>Post dmesg into maillist. | | | As I briefly mentioned, NEWCARD doesn't work for me, so I didn't | actually get any info from inserting the card. However, I figured you | might still be interested in the dmesg so here it is. | | I also found a message in the archives with apparently exactly the | same problem. It was fixed by enabling acpi, which this laptop | unfortunately does not support. | | http://lists.freebsd.org/pipermail/freebsd-current/2004-April/026001.html | | Also, when I put this laptop in a docking station, there's a LOR when | probing the extra slots (cbb2) and the kernel crashes with a page | fault. Let me know if you want a dmesg of that. For NEWCARD in additional to first patch: Try following at boot prompt: set hw.pci.allow_unsupported_io_range="1" Or try patch from PR/66848 With best regards, Andrew Belashow. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFBOExlwF8YpH80o/IRAlYcAJ93FPNfQc5C759ekEVMOxy6tyHG2gCgsfJB eLQM0r20kU8Xh4hPmFudvL0= =AtYU -----END PGP SIGNATURE----- From owner-freebsd-mobile@FreeBSD.ORG Fri Sep 3 16:12:08 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 564D916A4CF for ; Fri, 3 Sep 2004 16:12:08 +0000 (GMT) Received: from mail.jamesgrace.com (mail.jamesgrace.com [63.171.29.94]) by mx1.FreeBSD.org (Postfix) with SMTP id A88EB43D5A for ; Fri, 3 Sep 2004 16:12:07 +0000 (GMT) (envelope-from jamesgrace@mail.jamesgrace.com) Received: from screwtape.tafford.com by mail.jamesgrace.com ESMTP; Fri, 3 Sep 2004 12:12:07 -0400 Received: (qmail 59148 invoked by uid 1001); 3 Sep 2004 16:12:06 -0000 Date: Fri, 3 Sep 2004 12:12:06 -0400 From: "James N. Grace" To: freebsd-multimedia@freebsd.org Message-ID: <20040903161206.GD55663@jamesgrace.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i cc: freebsd-mobile@freebsd.org Subject: ESS 1788 not working on my Compaq Presario 1080 notebook... X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Sep 2004 16:12:08 -0000 My kernel config is as follows: device pcm device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15 "more /var/run/dmesg.boot" produces the following related output: sbc0: at port 0x220-0x22f irq 5 drq 1 flags 0x15 on isa0 pcm0: on sbc0 "cat /dev/sndstat" produces the following output: pcm0: at io 0x220 irq 5 drq 1:5 bufsz 4096 (1p/1r/0v channels duplex) "cat 11khz_test.au > /dev/dsp" produces almost recognizable sound. "cat 16khz_test.au > /dev/dsp" recognizable. "cat 22khz_test.au > /dev/dsp" fast, unrecognizable. Using "mpg123" to play an MP3 file produces no sound at all and produces the following error: pcm0:play:0: play interrupt timeout, channel dead Using "mpg123 --8bit" to play an MP3 file produces strange, garbled sound and produces the following error: pcm0:play:0: play interrupt timeout, channel dead Music CDs play fine and the "mixer" application seems to work properly. Any ideas? From owner-freebsd-mobile@FreeBSD.ORG Fri Sep 3 19:29:20 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A26216A4CE for ; Fri, 3 Sep 2004 19:29:20 +0000 (GMT) Received: from mail.jamesgrace.com (mail.jamesgrace.com [63.171.29.94]) by mx1.FreeBSD.org (Postfix) with SMTP id 7580243D2F for ; Fri, 3 Sep 2004 19:29:19 +0000 (GMT) (envelope-from jamesgrace@mail.jamesgrace.com) Received: from screwtape.tafford.com by mail.jamesgrace.com ESMTP; Fri, 3 Sep 2004 15:29:19 -0400 Received: (qmail 63571 invoked by uid 1001); 3 Sep 2004 19:29:14 -0000 Date: Fri, 3 Sep 2004 15:29:14 -0400 From: "James N. Grace" To: freebsd-multimedia@freebsd.org Message-ID: <20040903192914.GG55663@jamesgrace.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i cc: freebsd-mobile@freebsd.org Subject: [ RELEASE 4.10 ] - ESS 1788 not working on my Compaq Presario 1080 notebook... X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Sep 2004 19:29:20 -0000 My kernel config is as follows: device pcm device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15 "more /var/run/dmesg.boot" produces the following related output: sbc0: at port 0x220-0x22f irq 5 drq 1 flags 0x15 on isa0 pcm0: on sbc0 "cat /dev/sndstat" produces the following output: pcm0: at io 0x220 irq 5 drq 1:5 bufsz 4096 (1p/1r/0v channels duplex) "cat 11khz_test.au > /dev/dsp" produces almost recognizable sound. "cat 16khz_test.au > /dev/dsp" recognizable. "cat 22khz_test.au > /dev/dsp" fast, unrecognizable. Using "mpg123" to play an MP3 file produces no sound at all and produces the following error: pcm0:play:0: play interrupt timeout, channel dead Using "mpg123 --8bit" to play an MP3 file produces strange, garbled sound and produces the following error: pcm0:play:0: play interrupt timeout, channel dead Music CDs play fine and the "mixer" application seems to work properly. Any ideas? From owner-freebsd-mobile@FreeBSD.ORG Fri Sep 3 22:03:40 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7353F16A4CE for ; Fri, 3 Sep 2004 22:03:40 +0000 (GMT) Received: from outmx009.isp.belgacom.be (outmx009.isp.belgacom.be [195.238.3.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9412843D2D for ; Fri, 3 Sep 2004 22:03:39 +0000 (GMT) (envelope-from tijl@ulyssis.org) Received: from outmx009.isp.belgacom.be (localhost [127.0.0.1]) with ESMTP id i83M3WEG004672 for ; Sat, 4 Sep 2004 00:03:32 +0200 (envelope-from ) Received: from [192.168.70.42] (121-174.240.81.adsl.skynet.be [81.240.174.121])with ESMTP id i83M3RqA004615; Sat, 4 Sep 2004 00:03:30 +0200 (envelope-from ) From: Tijl Coosemans To: freebsd-mobile@freebsd.org Date: Sat, 4 Sep 2004 00:05:03 +0200 User-Agent: KMail/1.6.2 References: <200409011440.58934.tijl@ulyssis.org> <200409021533.10309.tijl@ulyssis.org> <41384C69.2000700@orel.ru> In-Reply-To: <41384C69.2000700@orel.ru> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200409040005.03105.tijl@ulyssis.org> cc: scott+freebsd@fishballoon.org cc: bel@orel.ru Subject: Re: ToPIC95B cardbus on old laptop X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Sep 2004 22:03:40 -0000 Hello Andrew, On Friday 03 September 2004 12:50, Andrew Belashov wrote: > Tijl Coosemans wrote: > | On Thursday 02 September 2004 08:04, Andrew Belashov wrote: > |>Tijl Coosemans wrote: > |>| I'm having problems to get my Xircom card working. It doesn't > |>| seem to be able to allocate mem. I think in 4-stable it used > |>| 0xd1000. Anyway, I've set the syctl variabe hw.xe.debug to 2 > |>| and included the output below. The first thing I noticed was > |>| that it seems to think it's a RealPort card while this > |>| certainly isn't the case. > |>| > |>| There are a couple messages related to this in the archives, > |>| even a patch, but the code has changed since then and it no > |>| longer applies. > |>| > |>| I'm using an OLDCARD kernel by the way. (NEWCARD doesn't seem > |>| to work with this ToPIC95B). > |> > |>Try NEWCARD with patch from PR kern/69127: > |> > |> > |>Boot verbosely ("boot -v" at loader prompt). > |> > |>Before inserting card do following: > |># sysctl hw.cbb.debug=1 > |># sysctl hw.pccard.debug=1 > |># sysctl hw.pccard.cis_debug=1 > |># sysctl hw.cardbus.debug=1 > |># sysctl hw.cardbus.cis_debug=1 > |> > |>Post dmesg into maillist. > | > | As I briefly mentioned, NEWCARD doesn't work for me, so I didn't > | actually get any info from inserting the card. However, I figured > | you might still be interested in the dmesg so here it is. > | > | I also found a message in the archives with apparently exactly > | the same problem. It was fixed by enabling acpi, which this > | laptop unfortunately does not support. > | > | http://lists.freebsd.org/pipermail/freebsd-current/2004-April/026 > |001.html > | > | Also, when I put this laptop in a docking station, there's a LOR > | when probing the extra slots (cbb2) and the kernel crashes with a > | page fault. Let me know if you want a dmesg of that. > > For NEWCARD in additional to first patch: > > Try following at boot prompt: > > set hw.pci.allow_unsupported_io_range="1" This didn't do anything, and I think it has been removed from the code a while ago. > Or try patch from PR/66848 > This patch isn't really up to date, but I figured out where to put all the pieces and lo and behold, it worked! Congratulations! To get my Xircom card working I also needed the the exca.c patch you mentioned. Without it, the system completely locked up when I inserted the card and crashed when I removed it again. Many many thanks! Tijl From owner-freebsd-mobile@FreeBSD.ORG Sat Sep 4 21:11:22 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1DE9416A4CE for ; Sat, 4 Sep 2004 21:11:22 +0000 (GMT) Received: from sccrmhc13.comcast.net (sccrmhc13.comcast.net [204.127.202.64]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9D11643D53 for ; Sat, 4 Sep 2004 21:11:21 +0000 (GMT) (envelope-from spadger@best.com) Received: from crwdog.demon.co.uk (c-24-16-37-100.client.comcast.net[24.16.37.100]) by comcast.net (sccrmhc13) with ESMTP id <2004090421112001600n5211e>; Sat, 4 Sep 2004 21:11:21 +0000 Received: from localhost (localhost [127.0.0.1]) by CRWdog.demon.co.uk (Postfix) with ESMTP id 35F9CA59 for ; Sat, 4 Sep 2004 14:11:20 -0700 (PDT) X-Mailer: exmh version 2.6.3 04/04/2003 with nmh-1.0.4 To: freebsd-mobile@freebsd.org In-Reply-To: Your message of "Wed, 01 Sep 2004 17:48:48 +0200." <20040901154847.GA34625@pegasus.hosts.corpex.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 04 Sep 2004 14:11:19 -0700 From: Andy Sparrow Message-Id: <20040904211120.35F9CA59@CRWdog.demon.co.uk> Subject: [OT] Re: IBM T30 and thermal problems X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Sep 2004 21:11:22 -0000 > > There was a post made - subject line - by an individual outside of IBM > > that did not have the authorization to do so. > > > > The information is IBM Confidential and needs to be removed. > > > > Please have someone contact me ASAP to discuss and to confirm that it has > > been removed. > > > > Thanks. > > The post was made at Fri Jun 6 16:47:48 PDT 2003 - more than a year ago... > Do you really think you can ban this post from a web based archive after > the whole world has mirrored it? Do you have the "delete_from_internet" > button on your keyboard? :-) Hmmm. It seems that he does... The mailing list archive on FreeBSD.org now has XXXX's of the quote contained in the original post, (although Google still has the original cached for the time being), not to mention the many 1000's of copies probably still on individual hard drives belonging to people subscribed to the list at the time. Whilst I have a lot of respect for IBM generally (my impression being that they still do lots of pure research to advance the art, and, if any other company held the patents they did, the entire industry would have been non-viable - IIRC, they hold a patent to display a character on a computer display), this is kind of silly - not to mention sinister. If it was IBM confidential, then it shouldn't have been sent outside IBM at all in the first place. Whilst netiquette says you don't re-post private email to a list/group, this is always a danger with people you don't know/who don't know netiquette/ignore netiquette. IANAL, but surely, once it was disclosed outside IBM then, if not covered by any NDA or prior legal agreement, then it's been disclosed by IBM - albeit inadvertantly or carelessly? Isn't this the same scenario as making ill-advised statements in public and you're then stuck with the consequences? Whilst I think I appreciate why the archive folks complied with the request (FreeBSD != EFF), it's the re-writing/censorship of history that bothers me. We're at war with EurAsia/EurAsia has alway been our friends. We love you Big Brother! Apologies for going off-topic.