From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S263338AbUJ2ORi (ORCPT ); Fri, 29 Oct 2004 10:17:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S263342AbUJ2ORh (ORCPT ); Fri, 29 Oct 2004 10:17:37 -0400 Received: from mail.gmx.de ([213.165.64.20]:7110 "HELO mail.gmx.net") by vger.kernel.org with SMTP id S263338AbUJ2OOp (ORCPT ); Fri, 29 Oct 2004 10:14:45 -0400 X-Authenticated: #4399952 Date: Fri, 29 Oct 2004 16:31:35 +0200 From: Florian Schmidt To: "Rui Nuno Capela" Cc: "Ingo Molnar" , linux-kernel@vger.kernel.org, "Lee Revell" , mark_h_johnson@raytheon.com, "K.R. Foley" , "Bill Huey" , "Adam Heath" , "Thomas Gleixner" , "Michal Schmidt" , "Fernando Pablo Lopez-Lezcano" , "Karsten Wiese" Subject: Re: [patch] Real-Time Preemption, -RT-2.6.9-mm1-V0.4 Message-ID: <20041029163135.1886d67f@mango.fruits.de> In-Reply-To: <43163.195.245.190.94.1098981230.squirrel@195.245.190.94> References: <5225.195.245.190.94.1098880980.squirrel@195.245.190.94> <20041027135309.GA8090@elte.hu> <12917.195.245.190.94.1098890763.squirrel@195.245.190.94> <20041027205126.GA25091@elte.hu> <20041027211957.GA28571@elte.hu> <33083.192.168.1.5.1098919913.squirrel@192.168.1.5> <20041028063630.GD9781@elte.hu> <20668.195.245.190.93.1098952275.squirrel@195.245.190.93> <20041028085656.GA21535@elte.hu> <26253.195.245.190.93.1098955051.squirrel@195.245.190.93> <20041028093215.GA27694@elte.hu> <43163.195.245.190.94.1098981230.squirrel@195.245.190.94> X-Mailer: Sylpheed-Claws 0.9.12b (GTK+ 1.2.10; i386-pc-linux-gnu) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Fri__29_Oct_2004_16_31_35_+0200_ZrnsToctlKMDLKyz" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --Multipart=_Fri__29_Oct_2004_16_31_35_+0200_ZrnsToctlKMDLKyz Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Thu, 28 Oct 2004 17:33:50 +0100 (WEST) "Rui Nuno Capela" wrote: > OK. Here are my early consolidated results. Feel free to comment. > > 2.6.9 RT-U3 RT-V0.4.3 > --------- --------- --------- > XRUN Rate . . . . . . . . . . . 424 8 4 /hour > Delay Rate (>spare time) . . . 496 0 0 /hour > Delay Rate (>1000 usecs) . . . 940 8 4 /hour > Maximum Delay . . . . . . . . . 6904 921 721 usecs > Maximum Process Cycle . . . . . 1449 1469 1590 usecs > Average DSP CPU Load . . . . . 38 39 40 % > Average Context-Switch Rate . . 7480 8929 9726 /sec > > Note: all tests were carried out running jackd -v -dalsa -dhw:0 -r44100 > -p128 -n2 -S -P, loaded with 9 (nine) fluidsynth instances, on a > P4@2.533Ghz laptop, against the onboard sound device (snd-ali5451). > > On the RT kernels only, the following optimizations were issued: > > chrt --pid --fifo 90 2 (pidof "ksoftirqd/0" = 2) > chrt --pid --fifo 60 `pidof "IRQ 5"` (snd-ali5451) > > Take care. hi, i tried a V0.5.2 with PREEMPT_REALTIME and all debugging off (config attached). I cannot reproduce your results. I have experienced around 30 xruns in 10 minutes. And big ones, too (> 5ms). I don't know exactly what kind of load triggers them. Here's a bit of qjackctl message window (btw: jackd was idle, no clients connected, except for qjackctl): **** alsa_pcm: xrun of at least 0.594 msecs **** alsa_pcm: xrun of at least 0.037 msecs 16:20:44.832 XRUN callback (2). 16:20:44.840 XRUN callback (3). **** alsa_pcm: xrun of at least 0.024 msecs **** alsa_pcm: xrun of at least 3.682 msecs 16:22:59.834 XRUN callback (4). 16:22:59.839 XRUN callback (5). **** alsa_pcm: xrun of at least 0.016 msecs **** alsa_pcm: xrun of at least 3.460 msecs 16:23:03.513 XRUN callback (6). **** alsa_pcm: xrun of at least 2.028 msecs 16:23:03.869 XRUN callback (7). **** alsa_pcm: xrun of at least 7.061 msecs **** alsa_pcm: xrun of at least 4.510 msecs 16:23:03.894 XRUN callback (8). 16:23:03.895 XRUN callback (9). **** alsa_pcm: xrun of at least 0.428 msecs **** alsa_pcm: xrun of at least 0.157 msecs 16:23:54.546 XRUN callback (10). 16:23:54.547 XRUN callback (11). 16:23:54.549 XRUN callback (12). **** alsa_pcm: xrun of at least 1.507 msecs 16:25:49.194 XRUN callback (13). subgraph starting at qjackctl-1013 timed out (subgraph_wait_fd=14, status = 0, state = Triggered) **** alsa_pcm: xrun of at least 1.534 msecs 16:28:23.530 XRUN callback (14). **** alsa_pcm: xrun of at least 0.222 msecs **** alsa_pcm: xrun of at least 2.674 msecs **** alsa_pcm: xrun of at least 3.904 msecs 16:28:26.790 XRUN callback (15). 16:28:26.794 XRUN callback (16). 16:28:26.795 XRUN callback (17). **** alsa_pcm: xrun of at least 0.701 msecs Here's some setup info: ksoftirqd/0: mango:~# chrt -p 2 pid 2's current scheduling policy: SCHED_FIFO pid 2's current scheduling priority: 99 snd-cs46xx: mango:~# chrt -p `pidof "IRQ 3"` pid 118's current scheduling policy: SCHED_FIFO pid 118's current scheduling priority: 90 mango:~# pidof jackd 1014 mango:~# chrt -p 1014 pid 1014's current scheduling policy: SCHED_OTHER pid 1014's current scheduling priority: 0 mango:~# chrt -p 1015 pid 1015's current scheduling policy: SCHED_OTHER pid 1015's current scheduling priority: 0 mango:~# chrt -p 1016 pid 1016's current scheduling policy: SCHED_FIFO pid 1016's current scheduling priority: 70 mango:~# chrt -p 1017 pid 1017's current scheduling policy: SCHED_FIFO pid 1017's current scheduling priority: 60 Hmm, it seems i haven't disabled all debugging. This is from dmesg: BUG: atomic counter underflow at: [] dump_stack+0x1e/0x20 (20) [] qdisc_destroy+0xd9/0xe0 (28) [] dev_shutdown+0x36/0xb0 (28) [] unregister_netdevice+0x129/0x2b0 (40) [] unregister_netdev+0x19/0x40 (16) [] ppp_shutdown_interface+0x64/0xd0 [ppp_generic] (36) [] ppp_release+0x86/0x90 [ppp_generic] (16) [] __fput+0x14f/0x170 (36) [] filp_close+0x57/0x80 (28) [] sys_close+0x70/0x90 (32) [] syscall_call+0x7/0xb (-8124) Here's some context from syslog: Oct 29 15:04:01 mango pppd[324]: LCP: timeout sending Config-Requests Oct 29 15:04:01 mango pppd[324]: Connection terminated. Oct 29 15:04:01 mango kernel: BUG: atomic counter underflow at: Oct 29 15:04:01 mango kernel: [valid_stack_ptr+46/96] dump_stack+0x1e/0x20 (20) Oct 29 15:04:01 mango kernel: [unregister_netdevice+553/672] qdisc_destroy+0xd9/0xe0 (28) Oct 29 15:04:01 mango kernel: [ethtool_op_get_tso+6/32] dev_shutdown+0x36/0xb0 (28) Oct 29 15:04:01 mango kernel: [__sock_create+185/704] unregister_netdevice+0x129/0x2b0 (40) Oct 29 15:04:01 mango kernel: [blk_wait_queue_drained+25/304] unregister_netdev+0x19/0x40 (16) Oct 29 15:04:01 mango kernel: [pg0+810783028/1069765632] ppp_shutdown_interface+0x64/0xd0 [ppp_generic] (36) Oct 29 15:04:01 mango kernel: [pg0+810766502/1069765632] ppp_release+0x86/0x90 [ppp_generic] (16) Oct 29 15:04:01 mango kernel: [shmem_writepage+463/480] __fput+0x14f/0x170 (36) Oct 29 15:04:01 mango kernel: [sys_swapon+1591/2080] filp_close+0x57/0x80 (28) Oct 29 15:04:01 mango kernel: [sys_swapon+1744/2080] sys_close+0x70/0x90 (32) Oct 29 15:04:01 mango kernel: [do_notify_resume+15/76] syscall_call+0x7/0xb (-8124) Oct 29 15:04:10 mango pppoe[326]: Timeout waiting for PADS packets Oct 29 15:04:31 mango pppd[324]: Serial connection established. Oct 29 15:04:31 mango pppd[324]: Using interface ppp0 Oct 29 15:04:31 mango pppd[324]: Connect: ppp0 <--> /dev/pts/0 Oct 29 15:04:47 mango pppoe[822]: PADS: Service-Name: '' Oct 29 15:04:47 mango pppoe[822]: PPP session is 2133 Oct 29 15:04:47 mango pppd[324]: CHAP authentication succeeded Oct 29 15:04:48 mango pppd[324]: Cannot determine ethernet address for proxy ARP Oct 29 15:04:48 mango pppd[324]: local IP address 213.23.197.161 Oct 29 15:04:48 mango pppd[324]: remote IP address 145.253.4.148 Oct 29 15:04:48 mango pppd[324]: primary DNS address 195.50.140.250 Oct 29 15:04:48 mango pppd[324]: secondary DNS address 145.253.2.11 flo --Multipart=_Fri__29_Oct_2004_16_31_35_+0200_ZrnsToctlKMDLKyz Content-Type: application/octet-stream; name=".config" Content-Disposition: attachment; filename=".config" Content-Transfer-Encoding: base64 IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CiMgTGlu dXgga2VybmVsIHZlcnNpb246IDIuNi45LW1tMS1SVC1WMC41LjYKIyBGcmkgT2N0IDI5IDEzOjA5 OjMzIDIwMDQKIwpDT05GSUdfWDg2PXkKQ09ORklHX01NVT15CkNPTkZJR19VSUQxNj15CkNPTkZJ R19HRU5FUklDX0lTQV9ETUE9eQpDT05GSUdfR0VORVJJQ19JT01BUD15CgojCiMgQ29kZSBtYXR1 cml0eSBsZXZlbCBvcHRpb25zCiMKQ09ORklHX0VYUEVSSU1FTlRBTD15CkNPTkZJR19DTEVBTl9D T01QSUxFPXkKQ09ORklHX0JST0tFTl9PTl9TTVA9eQoKIwojIEdlbmVyYWwgc2V0dXAKIwpDT05G SUdfTE9DQUxWRVJTSU9OPSItcnQiCkNPTkZJR19TV0FQPXkKQ09ORklHX1NZU1ZJUEM9eQpDT05G SUdfUE9TSVhfTVFVRVVFPXkKQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1Q9eQojIENPTkZJR19CU0Rf UFJPQ0VTU19BQ0NUX1YzIGlzIG5vdCBzZXQKQ09ORklHX1NZU0NUTD15CiMgQ09ORklHX0FVRElU IGlzIG5vdCBzZXQKQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKIyBDT05GSUdfSE9UUExVRyBpcyBu b3Qgc2V0CkNPTkZJR19LT0JKRUNUX1VFVkVOVD15CkNPTkZJR19JS0NPTkZJRz15CkNPTkZJR19J S0NPTkZJR19QUk9DPXkKIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldApDT05GSUdfS0FMTFNZ TVM9eQojIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAojIENPTkZJR19LQUxMU1lNU19F WFRSQV9QQVNTIGlzIG5vdCBzZXQKQ09ORklHX0ZVVEVYPXkKQ09ORklHX0VQT0xMPXkKQ09ORklH X0lPU0NIRURfTk9PUD15CkNPTkZJR19JT1NDSEVEX0FTPXkKQ09ORklHX0lPU0NIRURfREVBRExJ TkU9eQpDT05GSUdfSU9TQ0hFRF9DRlE9eQojIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBp cyBub3Qgc2V0CkNPTkZJR19TSE1FTT15CkNPTkZJR19DQ19BTElHTl9GVU5DVElPTlM9MApDT05G SUdfQ0NfQUxJR05fTEFCRUxTPTAKQ09ORklHX0NDX0FMSUdOX0xPT1BTPTAKQ09ORklHX0NDX0FM SUdOX0pVTVBTPTAKIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CgojCiMgTG9hZGFibGUg bW9kdWxlIHN1cHBvcnQKIwpDT05GSUdfTU9EVUxFUz15CkNPTkZJR19NT0RVTEVfVU5MT0FEPXkK IyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CkNPTkZJR19PQlNPTEVURV9N T0RQQVJNPXkKQ09ORklHX01PRFZFUlNJT05TPXkKIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05f QUxMIGlzIG5vdCBzZXQKQ09ORklHX0tNT0Q9eQoKIwojIFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0 dXJlcwojCkNPTkZJR19YODZfUEM9eQojIENPTkZJR19YODZfRUxBTiBpcyBub3Qgc2V0CiMgQ09O RklHX1g4Nl9WT1lBR0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfWDg2X05VTUFRIGlzIG5vdCBzZXQK IyBDT05GSUdfWDg2X1NVTU1JVCBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9CSUdTTVAgaXMgbm90 IHNldAojIENPTkZJR19YODZfVklTV1MgaXMgbm90IHNldAojIENPTkZJR19YODZfR0VORVJJQ0FS Q0ggaXMgbm90IHNldAojIENPTkZJR19YODZfRVM3MDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfTTM4 NiBpcyBub3Qgc2V0CiMgQ09ORklHX000ODYgaXMgbm90IHNldAojIENPTkZJR19NNTg2IGlzIG5v dCBzZXQKIyBDT05GSUdfTTU4NlRTQyBpcyBub3Qgc2V0CiMgQ09ORklHX001ODZNTVggaXMgbm90 IHNldAojIENPTkZJR19NNjg2IGlzIG5vdCBzZXQKIyBDT05GSUdfTVBFTlRJVU1JSSBpcyBub3Qg c2V0CiMgQ09ORklHX01QRU5USVVNSUlJIGlzIG5vdCBzZXQKIyBDT05GSUdfTVBFTlRJVU1NIGlz IG5vdCBzZXQKIyBDT05GSUdfTVBFTlRJVU00IGlzIG5vdCBzZXQKIyBDT05GSUdfTUs2IGlzIG5v dCBzZXQKQ09ORklHX01LNz15CiMgQ09ORklHX01LOCBpcyBub3Qgc2V0CiMgQ09ORklHX01DUlVT T0UgaXMgbm90IHNldAojIENPTkZJR19NRUZGSUNFT04gaXMgbm90IHNldAojIENPTkZJR19NV0lO Q0hJUEM2IGlzIG5vdCBzZXQKIyBDT05GSUdfTVdJTkNISVAyIGlzIG5vdCBzZXQKIyBDT05GSUdf TVdJTkNISVAzRCBpcyBub3Qgc2V0CiMgQ09ORklHX01DWVJJWElJSSBpcyBub3Qgc2V0CiMgQ09O RklHX01WSUFDM18yIGlzIG5vdCBzZXQKIyBDT05GSUdfWDg2X0dFTkVSSUMgaXMgbm90IHNldApD T05GSUdfWDg2X0NNUFhDSEc9eQpDT05GSUdfWDg2X1hBREQ9eQpDT05GSUdfWDg2X0wxX0NBQ0hF X1NISUZUPTYKQ09ORklHX1JXU0VNX0dFTkVSSUM9eQpDT05GSUdfR0VORVJJQ19TRU1BUEhPUkVT PXkKQ09ORklHX1g4Nl9XUF9XT1JLU19PSz15CkNPTkZJR19YODZfSU5WTFBHPXkKQ09ORklHX1g4 Nl9CU1dBUD15CkNPTkZJR19YODZfUE9QQURfT0s9eQpDT05GSUdfWDg2X0dPT0RfQVBJQz15CkNP TkZJR19YODZfSU5URUxfVVNFUkNPUFk9eQpDT05GSUdfWDg2X1VTRV9QUFJPX0NIRUNLU1VNPXkK Q09ORklHX1g4Nl9VU0VfM0ROT1c9eQpDT05GSUdfSFBFVF9USU1FUj15CkNPTkZJR19IUEVUX0VN VUxBVEVfUlRDPXkKIyBDT05GSUdfU01QIGlzIG5vdCBzZXQKQ09ORklHX1BSRUVNUFQ9eQpDT05G SUdfUFJFRU1QVF9TT0ZUSVJRUz15CkNPTkZJR19QUkVFTVBUX0hBUkRJUlFTPXkKQ09ORklHX1BS RUVNUFRfUkVBTFRJTUU9eQpDT05GSUdfUFJFRU1QVF9CS0w9eQojIENPTkZJR19YODZfVVBfQVBJ QyBpcyBub3Qgc2V0CkNPTkZJR19YODZfVFNDPXkKIyBDT05GSUdfWDg2X01DRSBpcyBub3Qgc2V0 CiMgQ09ORklHX1RPU0hJQkEgaXMgbm90IHNldAojIENPTkZJR19JOEsgaXMgbm90IHNldAojIENP TkZJR19NSUNST0NPREUgaXMgbm90IHNldAojIENPTkZJR19YODZfTVNSIGlzIG5vdCBzZXQKIyBD T05GSUdfWDg2X0NQVUlEIGlzIG5vdCBzZXQKCiMKIyBGaXJtd2FyZSBEcml2ZXJzCiMKIyBDT05G SUdfRUREIGlzIG5vdCBzZXQKQ09ORklHX05PSElHSE1FTT15CiMgQ09ORklHX0hJR0hNRU00RyBp cyBub3Qgc2V0CiMgQ09ORklHX0hJR0hNRU02NEcgaXMgbm90IHNldAojIENPTkZJR19NQVRIX0VN VUxBVElPTiBpcyBub3Qgc2V0CkNPTkZJR19NVFJSPXkKQ09ORklHX0hBVkVfREVDX0xPQ0s9eQoj IENPTkZJR19SRUdQQVJNIGlzIG5vdCBzZXQKCiMKIyBQZXJmb3JtYW5jZS1tb25pdG9yaW5nIGNv dW50ZXJzIHN1cHBvcnQKIwojIENPTkZJR19QRVJGQ1RSIGlzIG5vdCBzZXQKQ09ORklHX0tFUk5f UEhZU19PRkZTRVQ9MQojIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CgojCiMgUG93ZXIgbWFuYWdl bWVudCBvcHRpb25zIChBQ1BJLCBBUE0pCiMKQ09ORklHX1BNPXkKIyBDT05GSUdfUE1fREVCVUcg aXMgbm90IHNldAojIENPTkZJR19TT0ZUV0FSRV9TVVNQRU5EIGlzIG5vdCBzZXQKCiMKIyBBQ1BJ IChBZHZhbmNlZCBDb25maWd1cmF0aW9uIGFuZCBQb3dlciBJbnRlcmZhY2UpIFN1cHBvcnQKIwoj IENPTkZJR19BQ1BJIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfQkxBQ0tMSVNUX1lFQVI9MAoKIwoj IEFQTSAoQWR2YW5jZWQgUG93ZXIgTWFuYWdlbWVudCkgQklPUyBTdXBwb3J0CiMKQ09ORklHX0FQ TT15CiMgQ09ORklHX0FQTV9JR05PUkVfVVNFUl9TVVNQRU5EIGlzIG5vdCBzZXQKIyBDT05GSUdf QVBNX0RPX0VOQUJMRSBpcyBub3Qgc2V0CiMgQ09ORklHX0FQTV9DUFVfSURMRSBpcyBub3Qgc2V0 CiMgQ09ORklHX0FQTV9ESVNQTEFZX0JMQU5LIGlzIG5vdCBzZXQKIyBDT05GSUdfQVBNX1JUQ19J U19HTVQgaXMgbm90IHNldAojIENPTkZJR19BUE1fQUxMT1dfSU5UUyBpcyBub3Qgc2V0CkNPTkZJ R19BUE1fUkVBTF9NT0RFX1BPV0VSX09GRj15CgojCiMgQ1BVIEZyZXF1ZW5jeSBzY2FsaW5nCiMK IyBDT05GSUdfQ1BVX0ZSRVEgaXMgbm90IHNldAoKIwojIEJ1cyBvcHRpb25zIChQQ0ksIFBDTUNJ QSwgRUlTQSwgTUNBLCBJU0EpCiMKQ09ORklHX1BDST15CiMgQ09ORklHX1BDSV9HT0JJT1MgaXMg bm90IHNldAojIENPTkZJR19QQ0lfR09NTUNPTkZJRyBpcyBub3Qgc2V0CiMgQ09ORklHX1BDSV9H T0RJUkVDVCBpcyBub3Qgc2V0CkNPTkZJR19QQ0lfR09BTlk9eQpDT05GSUdfUENJX0JJT1M9eQpD T05GSUdfUENJX0RJUkVDVD15CiMgQ09ORklHX1BDSV9MRUdBQ1lfUFJPQyBpcyBub3Qgc2V0CkNP TkZJR19QQ0lfTkFNRVM9eQojIENPTkZJR19JU0EgaXMgbm90IHNldAojIENPTkZJR19NQ0EgaXMg bm90IHNldAojIENPTkZJR19TQ3gyMDAgaXMgbm90IHNldAoKIwojIEV4ZWN1dGFibGUgZmlsZSBm b3JtYXRzCiMKQ09ORklHX0JJTkZNVF9FTEY9eQpDT05GSUdfQklORk1UX0FPVVQ9eQpDT05GSUdf QklORk1UX01JU0M9eQoKIwojIERldmljZSBEcml2ZXJzCiMKCiMKIyBHZW5lcmljIERyaXZlciBP cHRpb25zCiMKQ09ORklHX1NUQU5EQUxPTkU9eQpDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlM RD15CiMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CgojCiMgTWVtb3J5IFRlY2hub2xv Z3kgRGV2aWNlcyAoTVREKQojCiMgQ09ORklHX01URCBpcyBub3Qgc2V0CgojCiMgUGFyYWxsZWwg cG9ydCBzdXBwb3J0CiMKIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CgojCiMgUGx1ZyBhbmQg UGxheSBzdXBwb3J0CiMKCiMKIyBCbG9jayBkZXZpY2VzCiMKQ09ORklHX0JMS19ERVZfRkQ9bQoj IENPTkZJR19CTEtfQ1BRX0RBIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0NQUV9DSVNTX0RBIGlz IG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMgbm90IHNldAojIENPTkZJR19CTEtf REVWX1VNRU0gaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9MT09QPW0KQ09ORklHX0JMS19ERVZf Q1JZUFRPTE9PUD1tCkNPTkZJR19CTEtfREVWX05CRD1tCiMgQ09ORklHX0JMS19ERVZfU1g4IGlz IG5vdCBzZXQKQ09ORklHX0JMS19ERVZfUkFNPXkKQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9NDA5 NgpDT05GSUdfQkxLX0RFVl9JTklUUkQ9eQpDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgojIENP TkZJR19MQkQgaXMgbm90IHNldAojIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKCiMK IyBBVEEvQVRBUEkvTUZNL1JMTCBzdXBwb3J0CiMKQ09ORklHX0lERT15CkNPTkZJR19CTEtfREVW X0lERT15CgojCiMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5m byBvbiBJREUgZHJpdmVzCiMKIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0CiMg Q09ORklHX0JMS19ERVZfSERfSURFIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfSURFRElTSz15 CkNPTkZJR19JREVESVNLX01VTFRJX01PREU9eQpDT05GSUdfQkxLX0RFVl9JREVDRD15CiMgQ09O RklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZ IGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfSURFU0NTST1tCiMgQ09ORklHX0lERV9UQVNLX0lP Q1RMIGlzIG5vdCBzZXQKIyBDT05GSUdfSURFX1RBU0tGSUxFX0lPIGlzIG5vdCBzZXQKCiMKIyBJ REUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCiMKQ09ORklHX0lERV9HRU5FUklDPXkKIyBDT05G SUdfQkxLX0RFVl9DTUQ2NDAgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9JREVQQ0k9eQpDT05G SUdfSURFUENJX1NIQVJFX0lSUT15CiMgQ09ORklHX0JMS19ERVZfT0ZGQk9BUkQgaXMgbm90IHNl dApDT05GSUdfQkxLX0RFVl9HRU5FUklDPXkKIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIxIGlzIG5v dCBzZXQKIyBDT05GSUdfQkxLX0RFVl9SWjEwMDAgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9J REVETUFfUENJPXkKIyBDT05GSUdfQkxLX0RFVl9JREVETUFfRk9SQ0VEIGlzIG5vdCBzZXQKQ09O RklHX0lERURNQV9QQ0lfQVVUTz15CiMgQ09ORklHX0lERURNQV9PTkxZRElTSyBpcyBub3Qgc2V0 CiMgQ09ORklHX0JMS19ERVZfQUVDNjJYWCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfQUxJ MTVYMyBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfQU1ENzRYWCBpcyBub3Qgc2V0CiMgQ09O RklHX0JMS19ERVZfQVRJSVhQIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DTUQ2NFggaXMg bm90IHNldAojIENPTkZJR19CTEtfREVWX1RSSUZMRVggaXMgbm90IHNldAojIENPTkZJR19CTEtf REVWX0NZODJDNjkzIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DUzU1MjAgaXMgbm90IHNl dAojIENPTkZJR19CTEtfREVWX0NTNTUzMCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSFBU MzRYIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9IUFQzNjYgaXMgbm90IHNldAojIENPTkZJ R19CTEtfREVWX1NDMTIwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfUElJWCBpcyBub3Qg c2V0CiMgQ09ORklHX0JMS19ERVZfTlM4NzQxNSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZf UERDMjAyWFhfT0xEIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9QREMyMDJYWF9ORVcgaXMg bm90IHNldAojIENPTkZJR19CTEtfREVWX1NWV0tTIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RF Vl9TSUlNQUdFIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfU0lTNTUxMz15CiMgQ09ORklHX0JM S19ERVZfU0xDOTBFNjYgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qg c2V0CiMgQ09ORklHX0JMS19ERVZfVklBODJDWFhYIGlzIG5vdCBzZXQKIyBDT05GSUdfSURFX0FS TSBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX0lERURNQT15CiMgQ09ORklHX0lERURNQV9JVkIg aXMgbm90IHNldApDT05GSUdfSURFRE1BX0FVVE89eQojIENPTkZJR19CTEtfREVWX0hEIGlzIG5v dCBzZXQKCiMKIyBTQ1NJIGRldmljZSBzdXBwb3J0CiMKQ09ORklHX1NDU0k9bQpDT05GSUdfU0NT SV9QUk9DX0ZTPXkKCiMKIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQoj CkNPTkZJR19CTEtfREVWX1NEPW0KIyBDT05GSUdfQ0hSX0RFVl9TVCBpcyBub3Qgc2V0CiMgQ09O RklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX1NSPW0KIyBDT05GSUdf QkxLX0RFVl9TUl9WRU5ET1IgaXMgbm90IHNldApDT05GSUdfQ0hSX0RFVl9TRz1tCgojCiMgU29t ZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiMK IyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldApDT05GSUdfU0NTSV9DT05TVEFOVFM9 eQojIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAoKIwojIFNDU0kgVHJhbnNwb3J0IEF0 dHJpYnV0ZXMKIwojIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiMgQ09ORklHX1ND U0lfRkNfQVRUUlMgaXMgbm90IHNldAoKIwojIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKIwojIENP TkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfM1dfOVhY WCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUNBUkQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJ X0FBQ1JBSUQgaXMgbm90IHNldApDT05GSUdfU0NTSV9BSUM3WFhYPW0KQ09ORklHX0FJQzdYWFhf Q01EU19QRVJfREVWSUNFPTMyCkNPTkZJR19BSUM3WFhYX1JFU0VUX0RFTEFZX01TPTE1MDAwCiMg Q09ORklHX0FJQzdYWFhfREVCVUdfRU5BQkxFIGlzIG5vdCBzZXQKQ09ORklHX0FJQzdYWFhfREVC VUdfTUFTSz0wCiMgQ09ORklHX0FJQzdYWFhfUkVHX1BSRVRUWV9QUklOVCBpcyBub3Qgc2V0CiMg Q09ORklHX1NDU0lfQUlDN1hYWF9PTEQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FJQzc5WFgg aXMgbm90IHNldAojIENPTkZJR19TQ1NJX0RQVF9JMk8gaXMgbm90IHNldAojIENPTkZJR19NRUdB UkFJRF9ORVdHRU4gaXMgbm90IHNldAojIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNl dAojIENPTkZJR19TQ1NJX1NBVEEgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0JVU0xPR0lDIGlz IG5vdCBzZXQKIyBDT05GSUdfU0NTSV9ETVgzMTkxRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lf RUFUQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfRUFUQV9QSU8gaXMgbm90IHNldAojIENPTkZJ R19TQ1NJX0ZVVFVSRV9ET01BSU4gaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0dEVEggaXMgbm90 IHNldAojIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSU5JVElPIGlz IG5vdCBzZXQKIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9T WU01M0M4WFhfMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKIyBDT05G SUdfU0NTSV9RTE9HSUNfSVNQIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9RTE9HSUNfRkMgaXMg bm90IHNldAojIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NT SV9RTE9HSUNfMTI4MF8xMDQwIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfUUxBMlhYWD1tCiMgQ09O RklHX1NDU0lfUUxBMjFYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxBMjJYWCBpcyBub3Qg c2V0CiMgQ09ORklHX1NDU0lfUUxBMjMwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxBMjMy MiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxBNjMxMiBpcyBub3Qgc2V0CiMgQ09ORklHX1ND U0lfUUxBNjMyMiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfREMzOTV4IGlzIG5vdCBzZXQKIyBD T05GSUdfU0NTSV9EQzM5MFQgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX05TUDMyIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CgojCiMgTXVsdGktZGV2aWNlIHN1cHBv cnQgKFJBSUQgYW5kIExWTSkKIwojIENPTkZJR19NRCBpcyBub3Qgc2V0CgojCiMgRnVzaW9uIE1Q VCBkZXZpY2Ugc3VwcG9ydAojCiMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0CgojCiMgSUVFRSAx Mzk0IChGaXJlV2lyZSkgc3VwcG9ydAojCiMgQ09ORklHX0lFRUUxMzk0IGlzIG5vdCBzZXQKCiMK IyBJMk8gZGV2aWNlIHN1cHBvcnQKIwojIENPTkZJR19JMk8gaXMgbm90IHNldAoKIwojIE5ldHdv cmtpbmcgc3VwcG9ydAojCkNPTkZJR19ORVQ9eQoKIwojIE5ldHdvcmtpbmcgb3B0aW9ucwojCkNP TkZJR19QQUNLRVQ9eQojIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CkNPTkZJR19ORVRM SU5LX0RFVj15CkNPTkZJR19VTklYPXkKIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CkNPTkZJ R19JTkVUPXkKQ09ORklHX0lQX01VTFRJQ0FTVD15CkNPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9 eQojIENPTkZJR19JUF9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAojIENPTkZJR19JUF9ST1VU RV9NVUxUSVBBVEggaXMgbm90IHNldAojIENPTkZJR19JUF9ST1VURV9WRVJCT1NFIGlzIG5vdCBz ZXQKIyBDT05GSUdfSVBfUE5QIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNl dAojIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAojIENPTkZJR19JUF9NUk9VVEUgaXMgbm90 IHNldAojIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90 IHNldAojIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90 IHNldAojIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVRfVFVOTkVM IGlzIG5vdCBzZXQKCiMKIyBJUDogVmlydHVhbCBTZXJ2ZXIgQ29uZmlndXJhdGlvbgojCiMgQ09O RklHX0lQX1ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0CkNPTkZJR19ORVRG SUxURVI9eQojIENPTkZJR19ORVRGSUxURVJfREVCVUcgaXMgbm90IHNldAoKIwojIElQOiBOZXRm aWx0ZXIgQ29uZmlndXJhdGlvbgojCkNPTkZJR19JUF9ORl9DT05OVFJBQ0s9bQojIENPTkZJR19J UF9ORl9DVF9BQ0NUIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfTkZfQ1RfUFJPVE9fU0NUUCBpcyBu b3Qgc2V0CiMgQ09ORklHX0lQX05GX0ZUUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQX05GX0lSQyBp cyBub3Qgc2V0CiMgQ09ORklHX0lQX05GX1RGVFAgaXMgbm90IHNldAojIENPTkZJR19JUF9ORl9B TUFOREEgaXMgbm90IHNldAojIENPTkZJR19JUF9ORl9RVUVVRSBpcyBub3Qgc2V0CkNPTkZJR19J UF9ORl9JUFRBQkxFUz1tCkNPTkZJR19JUF9ORl9NQVRDSF9MSU1JVD1tCkNPTkZJR19JUF9ORl9N QVRDSF9JUFJBTkdFPW0KQ09ORklHX0lQX05GX01BVENIX01BQz1tCkNPTkZJR19JUF9ORl9NQVRD SF9QS1RUWVBFPW0KQ09ORklHX0lQX05GX01BVENIX01BUks9bQpDT05GSUdfSVBfTkZfTUFUQ0hf TVVMVElQT1JUPW0KQ09ORklHX0lQX05GX01BVENIX1RPUz1tCkNPTkZJR19JUF9ORl9NQVRDSF9S RUNFTlQ9bQpDT05GSUdfSVBfTkZfTUFUQ0hfRUNOPW0KQ09ORklHX0lQX05GX01BVENIX0RTQ1A9 bQpDT05GSUdfSVBfTkZfTUFUQ0hfQUhfRVNQPW0KQ09ORklHX0lQX05GX01BVENIX0xFTkdUSD1t CkNPTkZJR19JUF9ORl9NQVRDSF9UVEw9bQpDT05GSUdfSVBfTkZfTUFUQ0hfVENQTVNTPW0KQ09O RklHX0lQX05GX01BVENIX0hFTFBFUj1tCkNPTkZJR19JUF9ORl9NQVRDSF9TVEFURT1tCkNPTkZJ R19JUF9ORl9NQVRDSF9DT05OVFJBQ0s9bQpDT05GSUdfSVBfTkZfTUFUQ0hfT1dORVI9bQpDT05G SUdfSVBfTkZfTUFUQ0hfQUREUlRZUEU9bQpDT05GSUdfSVBfTkZfTUFUQ0hfUkVBTE09bQojIENP TkZJR19JUF9ORl9NQVRDSF9TQ1RQIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfTkZfTUFUQ0hfQ09N TUVOVCBpcyBub3Qgc2V0CkNPTkZJR19JUF9ORl9GSUxURVI9bQpDT05GSUdfSVBfTkZfVEFSR0VU X1JFSkVDVD1tCkNPTkZJR19JUF9ORl9UQVJHRVRfTE9HPW0KQ09ORklHX0lQX05GX1RBUkdFVF9V TE9HPW0KQ09ORklHX0lQX05GX1RBUkdFVF9UQ1BNU1M9bQpDT05GSUdfSVBfTkZfTkFUPW0KQ09O RklHX0lQX05GX05BVF9ORUVERUQ9eQpDT05GSUdfSVBfTkZfVEFSR0VUX01BU1FVRVJBREU9bQpD T05GSUdfSVBfTkZfVEFSR0VUX1JFRElSRUNUPW0KQ09ORklHX0lQX05GX1RBUkdFVF9ORVRNQVA9 bQpDT05GSUdfSVBfTkZfVEFSR0VUX1NBTUU9bQojIENPTkZJR19JUF9ORl9OQVRfTE9DQUwgaXMg bm90IHNldAojIENPTkZJR19JUF9ORl9OQVRfU05NUF9CQVNJQyBpcyBub3Qgc2V0CkNPTkZJR19J UF9ORl9NQU5HTEU9bQpDT05GSUdfSVBfTkZfVEFSR0VUX1RPUz1tCkNPTkZJR19JUF9ORl9UQVJH RVRfRUNOPW0KQ09ORklHX0lQX05GX1RBUkdFVF9EU0NQPW0KQ09ORklHX0lQX05GX1RBUkdFVF9N QVJLPW0KQ09ORklHX0lQX05GX1RBUkdFVF9DTEFTU0lGWT1tCiMgQ09ORklHX0lQX05GX1JBVyBp cyBub3Qgc2V0CkNPTkZJR19JUF9ORl9BUlBUQUJMRVM9bQpDT05GSUdfSVBfTkZfQVJQRklMVEVS PW0KQ09ORklHX0lQX05GX0FSUF9NQU5HTEU9bQojIENPTkZJR19JUF9ORl9DT01QQVRfSVBDSEFJ TlMgaXMgbm90IHNldAojIENPTkZJR19JUF9ORl9DT01QQVRfSVBGV0FETSBpcyBub3Qgc2V0Cgoj CiMgU0NUUCBDb25maWd1cmF0aW9uIChFWFBFUklNRU5UQUwpCiMKIyBDT05GSUdfSVBfU0NUUCBp cyBub3Qgc2V0CiMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CiMgQ09ORklHX0JSSURHRSBpcyBub3Qg c2V0CiMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAojIENPTkZJR19ERUNORVQgaXMgbm90 IHNldAojIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKIyBD T05GSUdfQVRBTEsgaXMgbm90IHNldAojIENPTkZJR19YMjUgaXMgbm90IHNldAojIENPTkZJR19M QVBCIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0RJVkVSVCBpcyBub3Qgc2V0CiMgQ09ORklHX0VD T05FVCBpcyBub3Qgc2V0CiMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAojIENPTkZJR19O RVRfSFdfRkxPV0NPTlRST0wgaXMgbm90IHNldAoKIwojIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWlu ZwojCkNPTkZJR19ORVRfU0NIRUQ9eQpDT05GSUdfTkVUX1NDSF9DTEtfSklGRklFUz15CiMgQ09O RklHX05FVF9TQ0hfQ0xLX0dFVFRJTUVPRkRBWSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hf Q0xLX0NQVSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfU0NIX0NCUT1tCkNPTkZJR19ORVRfU0NIX0hU Qj1tCiMgQ09ORklHX05FVF9TQ0hfSEZTQyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfU0NIX1BSSU89 bQpDT05GSUdfTkVUX1NDSF9SRUQ9bQpDT05GSUdfTkVUX1NDSF9TRlE9bQpDT05GSUdfTkVUX1ND SF9URVFMPW0KQ09ORklHX05FVF9TQ0hfVEJGPW0KQ09ORklHX05FVF9TQ0hfR1JFRD1tCkNPTkZJ R19ORVRfU0NIX0RTTUFSSz1tCiMgQ09ORklHX05FVF9TQ0hfTkVURU0gaXMgbm90IHNldApDT05G SUdfTkVUX1NDSF9JTkdSRVNTPW0KQ09ORklHX05FVF9RT1M9eQpDT05GSUdfTkVUX0VTVElNQVRP Uj15CkNPTkZJR19ORVRfQ0xTPXkKQ09ORklHX05FVF9DTFNfVENJTkRFWD1tCkNPTkZJR19ORVRf Q0xTX1JPVVRFND1tCkNPTkZJR19ORVRfQ0xTX1JPVVRFPXkKQ09ORklHX05FVF9DTFNfRlc9bQpD T05GSUdfTkVUX0NMU19VMzI9bQojIENPTkZJR19DTFNfVTMyX1BFUkYgaXMgbm90IHNldAojIENP TkZJR19ORVRfQ0xTX0lORCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfQ0xTX1JTVlA9bQpDT05GSUdf TkVUX0NMU19SU1ZQNj1tCiMgQ09ORklHX05FVF9DTFNfQUNUIGlzIG5vdCBzZXQKQ09ORklHX05F VF9DTFNfUE9MSUNFPXkKCiMKIyBOZXR3b3JrIHRlc3RpbmcKIwojIENPTkZJR19ORVRfUEtUR0VO IGlzIG5vdCBzZXQKIyBDT05GSUdfS0dEQk9FIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUUE9MTCBp cyBub3Qgc2V0CiMgQ09ORklHX05FVFBPTExfUlggaXMgbm90IHNldAojIENPTkZJR19ORVRQT0xM X1RSQVAgaXMgbm90IHNldAojIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQK IyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAojIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKIyBD T05GSUdfQlQgaXMgbm90IHNldApDT05GSUdfTkVUREVWSUNFUz15CkNPTkZJR19EVU1NWT1tCiMg Q09ORklHX0JPTkRJTkcgaXMgbm90IHNldAojIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAoj IENPTkZJR19UVU4gaXMgbm90IHNldAojIENPTkZJR19FVEhFUlRBUCBpcyBub3Qgc2V0CgojCiMg QVJDbmV0IGRldmljZXMKIwojIENPTkZJR19BUkNORVQgaXMgbm90IHNldAoKIwojIEV0aGVybmV0 ICgxMCBvciAxMDBNYml0KQojCkNPTkZJR19ORVRfRVRIRVJORVQ9eQpDT05GSUdfTUlJPW0KIyBD T05GSUdfSEFQUFlNRUFMIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VOR0VNIGlzIG5vdCBzZXQKIyBD T05GSUdfTkVUX1ZFTkRPUl8zQ09NIGlzIG5vdCBzZXQKCiMKIyBUdWxpcCBmYW1pbHkgbmV0d29y ayBkZXZpY2Ugc3VwcG9ydAojCiMgQ09ORklHX05FVF9UVUxJUCBpcyBub3Qgc2V0CiMgQ09ORklH X0hQMTAwIGlzIG5vdCBzZXQKQ09ORklHX05FVF9QQ0k9eQojIENPTkZJR19QQ05FVDMyIGlzIG5v dCBzZXQKIyBDT05GSUdfQU1EODExMV9FVEggaXMgbm90IHNldAojIENPTkZJR19BREFQVEVDX1NU QVJGSVJFIGlzIG5vdCBzZXQKIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKIyBDT05GSUdfRk9SQ0VE RVRIIGlzIG5vdCBzZXQKIyBDT05GSUdfREdSUyBpcyBub3Qgc2V0CiMgQ09ORklHX0VFUFJPMTAw IGlzIG5vdCBzZXQKIyBDT05GSUdfRTEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZFQUxOWCBpcyBu b3Qgc2V0CiMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAojIENPTkZJR19ORTJLX1BDSSBpcyBu b3Qgc2V0CiMgQ09ORklHXzgxMzlDUCBpcyBub3Qgc2V0CiMgQ09ORklHXzgxMzlUT08gaXMgbm90 IHNldApDT05GSUdfU0lTOTAwPW0KIyBDT05GSUdfRVBJQzEwMCBpcyBub3Qgc2V0CiMgQ09ORklH X1NVTkRBTkNFIGlzIG5vdCBzZXQKIyBDT05GSUdfVExBTiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJ QV9SSElORSBpcyBub3Qgc2V0CgojCiMgRXRoZXJuZXQgKDEwMDAgTWJpdCkKIwojIENPTkZJR19B Q0VOSUMgaXMgbm90IHNldAojIENPTkZJR19ETDJLIGlzIG5vdCBzZXQKIyBDT05GSUdfRTEwMDAg aXMgbm90IHNldAojIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKIyBDT05GSUdfSEFNQUNISSBp cyBub3Qgc2V0CiMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0CiMgQ09ORklHX1I4MTY5IGlz IG5vdCBzZXQKIyBDT05GSUdfU0s5OExJTiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJQV9WRUxPQ0lU WSBpcyBub3Qgc2V0CiMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0CgojCiMgRXRoZXJuZXQgKDEw MDAwIE1iaXQpCiMKIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0CiMgQ09ORklHX1MySU8gaXMgbm90 IHNldAoKIwojIFRva2VuIFJpbmcgZGV2aWNlcwojCiMgQ09ORklHX1RSIGlzIG5vdCBzZXQKCiMK IyBXaXJlbGVzcyBMQU4gKG5vbi1oYW1yYWRpbykKIwojIENPTkZJR19ORVRfUkFESU8gaXMgbm90 IHNldAoKIwojIFdhbiBpbnRlcmZhY2VzCiMKIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKIyBDT05G SUdfRkRESSBpcyBub3Qgc2V0CiMgQ09ORklHX0hJUFBJIGlzIG5vdCBzZXQKQ09ORklHX1BQUD1t CkNPTkZJR19QUFBfTVVMVElMSU5LPXkKQ09ORklHX1BQUF9GSUxURVI9eQpDT05GSUdfUFBQX0FT WU5DPW0KQ09ORklHX1BQUF9TWU5DX1RUWT1tCkNPTkZJR19QUFBfREVGTEFURT1tCkNPTkZJR19Q UFBfQlNEQ09NUD1tCkNPTkZJR19QUFBPRT1tCiMgQ09ORklHX1NMSVAgaXMgbm90IHNldAojIENP TkZJR19ORVRfRkMgaXMgbm90IHNldAojIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAojIENPTkZJ R19ORVRDT05TT0xFIGlzIG5vdCBzZXQKCiMKIyBJU0ROIHN1YnN5c3RlbQojCiMgQ09ORklHX0lT RE4gaXMgbm90IHNldAoKIwojIFRlbGVwaG9ueSBTdXBwb3J0CiMKIyBDT05GSUdfUEhPTkUgaXMg bm90IHNldAoKIwojIElucHV0IGRldmljZSBzdXBwb3J0CiMKQ09ORklHX0lOUFVUPXkKCiMKIyBV c2VybGFuZCBpbnRlcmZhY2VzCiMKQ09ORklHX0lOUFVUX01PVVNFREVWPXkKQ09ORklHX0lOUFVU X01PVVNFREVWX1BTQVVYPXkKQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKQ09O RklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OApDT05GSUdfSU5QVVRfSk9ZREVWPW0KIyBD T05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9FVkRFViBpcyBub3Qg c2V0CiMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKCiMKIyBJbnB1dCBJL08gZHJpdmVy cwojCkNPTkZJR19HQU1FUE9SVD1tCkNPTkZJR19TT1VORF9HQU1FUE9SVD1tCiMgQ09ORklHX0dB TUVQT1JUX05TNTU4IGlzIG5vdCBzZXQKIyBDT05GSUdfR0FNRVBPUlRfTDQgaXMgbm90IHNldAoj IENPTkZJR19HQU1FUE9SVF9FTVUxMEsxIGlzIG5vdCBzZXQKIyBDT05GSUdfR0FNRVBPUlRfVk9S VEVYIGlzIG5vdCBzZXQKIyBDT05GSUdfR0FNRVBPUlRfRk04MDEgaXMgbm90IHNldAojIENPTkZJ R19HQU1FUE9SVF9DUzQ2MXggaXMgbm90IHNldApDT05GSUdfU0VSSU89eQpDT05GSUdfU0VSSU9f STgwNDI9eQojIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSU9f Q1Q4MkM3MTAgaXMgbm90IHNldApDT05GSUdfU0VSSU9fUENJUFMyPW0KQ09ORklHX1NFUklPX0xJ QlBTMj15CiMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CgojCiMgSW5wdXQgRGV2aWNlIERy aXZlcnMKIwpDT05GSUdfSU5QVVRfS0VZQk9BUkQ9eQpDT05GSUdfS0VZQk9BUkRfQVRLQkQ9eQoj IENPTkZJR19LRVlCT0FSRF9TVU5LQkQgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9MS0tC RCBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKIyBDT05GSUdf S0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKQ09ORklHX0lOUFVUX01PVVNFPXkKQ09ORklHX01P VVNFX1BTMj15CiMgQ09ORklHX01PVVNFX1NFUklBTCBpcyBub3Qgc2V0CiMgQ09ORklHX01PVVNF X1ZTWFhYQUEgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiMg Q09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKQ09ORklHX0lOUFVUX01JU0M9eQpD T05GSUdfSU5QVVRfUENTUEtSPXkKIyBDT05GSUdfSU5QVVRfVUlOUFVUIGlzIG5vdCBzZXQKCiMK IyBDaGFyYWN0ZXIgZGV2aWNlcwojCkNPTkZJR19WVD15CkNPTkZJR19WVF9DT05TT0xFPXkKQ09O RklHX0hXX0NPTlNPTEU9eQojIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAoK IwojIFNlcmlhbCBkcml2ZXJzCiMKQ09ORklHX1NFUklBTF84MjUwPXkKIyBDT05GSUdfU0VSSUFM XzgyNTBfQ09OU09MRSBpcyBub3Qgc2V0CkNPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CiMg Q09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKCiMKIyBOb24tODI1MCBzZXJp YWwgcG9ydCBzdXBwb3J0CiMKQ09ORklHX1NFUklBTF9DT1JFPXkKQ09ORklHX1VOSVg5OF9QVFlT PXkKQ09ORklHX0xFR0FDWV9QVFlTPXkKQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2CgojCiMg SVBNSQojCiMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CgojCiMgV2F0Y2hkb2cgQ2Fy ZHMKIwojIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiMgQ09ORklHX0hXX1JBTkRPTSBpcyBu b3Qgc2V0CkNPTkZJR19OVlJBTT15CkNPTkZJR19SVEM9eQojIENPTkZJR19EVExLIGlzIG5vdCBz ZXQKIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAojIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0 CiMgQ09ORklHX1NPTllQSSBpcyBub3Qgc2V0CgojCiMgRnRhcGUsIHRoZSBmbG9wcHkgdGFwZSBk ZXZpY2UgZHJpdmVyCiMKIyBDT05GSUdfRlRBUEUgaXMgbm90IHNldApDT05GSUdfQUdQPW0KIyBD T05GSUdfQUdQX0FMSSBpcyBub3Qgc2V0CiMgQ09ORklHX0FHUF9BVEkgaXMgbm90IHNldAojIENP TkZJR19BR1BfQU1EIGlzIG5vdCBzZXQKIyBDT05GSUdfQUdQX0FNRDY0IGlzIG5vdCBzZXQKIyBD T05GSUdfQUdQX0lOVEVMIGlzIG5vdCBzZXQKIyBDT05GSUdfQUdQX0lOVEVMX01DSCBpcyBub3Qg c2V0CiMgQ09ORklHX0FHUF9OVklESUEgaXMgbm90IHNldApDT05GSUdfQUdQX1NJUz1tCiMgQ09O RklHX0FHUF9TV09SS1MgaXMgbm90IHNldAojIENPTkZJR19BR1BfVklBIGlzIG5vdCBzZXQKIyBD T05GSUdfQUdQX0VGRklDRU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKIyBD T05GSUdfTVdBVkUgaXMgbm90IHNldAojIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKQ09O RklHX0hBTkdDSEVDS19USU1FUj1tCgojCiMgSTJDIHN1cHBvcnQKIwpDT05GSUdfSTJDPW0KQ09O RklHX0kyQ19DSEFSREVWPW0KCiMKIyBJMkMgQWxnb3JpdGhtcwojCkNPTkZJR19JMkNfQUxHT0JJ VD1tCkNPTkZJR19JMkNfQUxHT1BDRj1tCiMgQ09ORklHX0kyQ19BTEdPUENBIGlzIG5vdCBzZXQK CiMKIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKIwpDT05GSUdfSTJDX0FMSTE1MzU9bQpDT05G SUdfSTJDX0FMSTE1NjM9bQpDT05GSUdfSTJDX0FMSTE1WDM9bQpDT05GSUdfSTJDX0FNRDc1Nj1t CkNPTkZJR19JMkNfQU1EODExMT1tCkNPTkZJR19JMkNfSTgwMT1tCkNPTkZJR19JMkNfSTgxMD1t CkNPTkZJR19JMkNfSVNBPW0KQ09ORklHX0kyQ19ORk9SQ0UyPW0KQ09ORklHX0kyQ19QQVJQT1JU X0xJR0hUPW0KQ09ORklHX0kyQ19QSUlYND1tCkNPTkZJR19JMkNfUFJPU0FWQUdFPW0KQ09ORklH X0kyQ19TQVZBR0U0PW0KQ09ORklHX1NDeDIwMF9BQ0I9bQpDT05GSUdfSTJDX1NJUzU1OTU9bQpD T05GSUdfSTJDX1NJUzYzMD1tCkNPTkZJR19JMkNfU0lTOTZYPW0KIyBDT05GSUdfSTJDX1NUVUIg aXMgbm90IHNldApDT05GSUdfSTJDX1ZJQT1tCkNPTkZJR19JMkNfVklBUFJPPW0KQ09ORklHX0ky Q19WT09ET08zPW0KIyBDT05GSUdfSTJDX1BDQV9JU0EgaXMgbm90IHNldAoKIwojIEhhcmR3YXJl IFNlbnNvcnMgQ2hpcCBzdXBwb3J0CiMKQ09ORklHX0kyQ19TRU5TT1I9bQpDT05GSUdfU0VOU09S U19BRE0xMDIxPW0KQ09ORklHX1NFTlNPUlNfQURNMTAyNT1tCkNPTkZJR19TRU5TT1JTX0FETTEw MzE9bQpDT05GSUdfU0VOU09SU19BU0IxMDA9bQpDT05GSUdfU0VOU09SU19EUzE2MjE9bQpDT05G SUdfU0VOU09SU19GU0NIRVI9bQpDT05GSUdfU0VOU09SU19HTDUxOFNNPW0KQ09ORklHX1NFTlNP UlNfSVQ4Nz1tCkNPTkZJR19TRU5TT1JTX0xNNzU9bQpDT05GSUdfU0VOU09SU19MTTc3PW0KQ09O RklHX1NFTlNPUlNfTE03OD1tCkNPTkZJR19TRU5TT1JTX0xNODA9bQpDT05GSUdfU0VOU09SU19M TTgzPW0KQ09ORklHX1NFTlNPUlNfTE04NT1tCiMgQ09ORklHX1NFTlNPUlNfTE04NyBpcyBub3Qg c2V0CkNPTkZJR19TRU5TT1JTX0xNOTA9bQpDT05GSUdfU0VOU09SU19NQVgxNjE5PW0KIyBDT05G SUdfU0VOU09SU19TTVNDNDdNMSBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX1ZJQTY4NkE9bQpD T05GSUdfU0VOU09SU19XODM3ODFEPW0KQ09ORklHX1NFTlNPUlNfVzgzTDc4NVRTPW0KQ09ORklH X1NFTlNPUlNfVzgzNjI3SEY9bQoKIwojIE90aGVyIEkyQyBDaGlwIHN1cHBvcnQKIwpDT05GSUdf U0VOU09SU19FRVBST009bQpDT05GSUdfU0VOU09SU19QQ0Y4NTc0PW0KQ09ORklHX1NFTlNPUlNf UENGODU5MT1tCkNPTkZJR19TRU5TT1JTX1JUQzg1NjQ9bQojIENPTkZJR19JMkNfREVCVUdfQ09S RSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKIyBDT05GSUdf STJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBz ZXQKCiMKIyBEYWxsYXMncyAxLXdpcmUgYnVzCiMKIyBDT05GSUdfVzEgaXMgbm90IHNldAoKIwoj IE1pc2MgZGV2aWNlcwojCiMgQ09ORklHX0lCTV9BU00gaXMgbm90IHNldAoKIwojIE11bHRpbWVk aWEgZGV2aWNlcwojCiMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CgojCiMgRGlnaXRhbCBW aWRlbyBCcm9hZGNhc3RpbmcgRGV2aWNlcwojCiMgQ09ORklHX0RWQiBpcyBub3Qgc2V0CgojCiMg R3JhcGhpY3Mgc3VwcG9ydAojCiMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKQ09ORklHX1ZJREVPX1NF TEVDVD15CgojCiMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiMKQ09ORklHX1ZHQV9D T05TT0xFPXkKQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQoKIwojIFNvdW5kCiMKQ09ORklHX1NPVU5E PW0KCiMKIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKIwpDT05GSUdfU05EPW0K Q09ORklHX1NORF9USU1FUj1tCkNPTkZJR19TTkRfUENNPW0KQ09ORklHX1NORF9SQVdNSURJPW0K Q09ORklHX1NORF9TRVFVRU5DRVI9bQpDT05GSUdfU05EX1NFUV9EVU1NWT1tCkNPTkZJR19TTkRf T1NTRU1VTD15CkNPTkZJR19TTkRfTUlYRVJfT1NTPW0KQ09ORklHX1NORF9QQ01fT1NTPW0KQ09O RklHX1NORF9TRVFVRU5DRVJfT1NTPXkKQ09ORklHX1NORF9SVENUSU1FUj1tCiMgQ09ORklHX1NO RF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0 CgojCiMgR2VuZXJpYyBkZXZpY2VzCiMKQ09ORklHX1NORF9EVU1NWT1tCkNPTkZJR19TTkRfVklS TUlEST1tCiMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9TRVJJQUxf VTE2NTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CgojCiMgUENJ IGRldmljZXMKIwpDT05GSUdfU05EX0FDOTdfQ09ERUM9bQojIENPTkZJR19TTkRfQUxJNTQ1MSBp cyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNldAojIENPTkZJR19TTkRfQVRJ SVhQX01PREVNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0CiMgQ09O RklHX1NORF9BVTg4MjAgaXMgbm90IHNldAojIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQK IyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAojIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90 IHNldApDT05GSUdfU05EX0NTNDZYWD1tCkNPTkZJR19TTkRfQ1M0NlhYX05FV19EU1A9eQojIENP TkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNl dAojIENPTkZJR19TTkRfS09SRzEyMTIgaXMgbm90IHNldAojIENPTkZJR19TTkRfTUlYQVJUIGlz IG5vdCBzZXQKIyBDT05GSUdfU05EX05NMjU2IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1JNRTMy IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1JN RTk2NTIgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NO RF9UUklERU5UIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0CiMgQ09O RklHX1NORF9BTFM0MDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0 CiMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VOUzEzNzEgaXMg bm90IHNldAojIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VTMTk2 OCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9NQUVTVFJPMyBpcyBub3Qgc2V0CiMgQ09ORklHX1NO RF9GTTgwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKIyBDT05G SUdfU05EX0lDRTE3MjQgaXMgbm90IHNldApDT05GSUdfU05EX0lOVEVMOFgwPW0KIyBDT05GSUdf U05EX0lOVEVMOFgwTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBz ZXQKIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAojIENPTkZJR19TTkRfVlgyMjIgaXMg bm90IHNldAoKIwojIE9wZW4gU291bmQgU3lzdGVtCiMKIyBDT05GSUdfU09VTkRfUFJJTUUgaXMg bm90IHNldAoKIwojIFVTQiBzdXBwb3J0CiMKIyBDT05GSUdfVVNCIGlzIG5vdCBzZXQKQ09ORklH X1VTQl9BUkNIX0hBU19IQ0Q9eQpDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQoKIwojIFVTQiBH YWRnZXQgU3VwcG9ydAojCiMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAoKIwojIEZpbGUg c3lzdGVtcwojCkNPTkZJR19FWFQyX0ZTPXkKQ09ORklHX0VYVDJfRlNfWEFUVFI9eQojIENPTkZJ R19FWFQyX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiMgQ09ORklHX0VYVDJfRlNfU0VDVVJJVFkg aXMgbm90IHNldApDT05GSUdfRVhUM19GUz15CkNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKIyBDT05G SUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAojIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZ IGlzIG5vdCBzZXQKQ09ORklHX0pCRD15CiMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0CkNP TkZJR19GU19NQkNBQ0hFPXkKIyBDT05GSUdfUkVJU0VSNF9GUyBpcyBub3Qgc2V0CiMgQ09ORklH X1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKIyBDT05G SUdfWEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldApDT05GSUdf Uk9NRlNfRlM9eQojIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0CiMgQ09ORklHX0FVVE9GU19GUyBp cyBub3Qgc2V0CkNPTkZJR19BVVRPRlM0X0ZTPXkKCiMKIyBDYWNoZXMKIwojIENPTkZJR19GU0NB Q0hFIGlzIG5vdCBzZXQKCiMKIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiMKQ09ORklHX0lTTzk2 NjBfRlM9eQpDT05GSUdfSk9MSUVUPXkKQ09ORklHX1pJU09GUz15CkNPTkZJR19aSVNPRlNfRlM9 eQpDT05GSUdfVURGX0ZTPXkKQ09ORklHX1VERl9OTFM9eQoKIwojIERPUy9GQVQvTlQgRmlsZXN5 c3RlbXMKIwpDT05GSUdfRkFUX0ZTPXkKQ09ORklHX01TRE9TX0ZTPXkKQ09ORklHX1ZGQVRfRlM9 eQpDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CkNPTkZJR19GQVRfREVGQVVMVF9JT0NI QVJTRVQ9Imlzbzg4NTktMSIKQ09ORklHX05URlNfRlM9bQojIENPTkZJR19OVEZTX0RFQlVHIGlz IG5vdCBzZXQKIyBDT05GSUdfTlRGU19SVyBpcyBub3Qgc2V0CgojCiMgUHNldWRvIGZpbGVzeXN0 ZW1zCiMKQ09ORklHX1BST0NfRlM9eQpDT05GSUdfUFJPQ19LQ09SRT15CkNPTkZJR19TWVNGUz15 CiMgQ09ORklHX0RFVkZTX0ZTIGlzIG5vdCBzZXQKQ09ORklHX0RFVlBUU19GU19YQVRUUj15CiMg Q09ORklHX0RFVlBUU19GU19TRUNVUklUWSBpcyBub3Qgc2V0CkNPTkZJR19UTVBGUz15CiMgQ09O RklHX1RNUEZTX1hBVFRSIGlzIG5vdCBzZXQKIyBDT05GSUdfSFVHRVRMQkZTIGlzIG5vdCBzZXQK IyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKQ09ORklHX1JBTUZTPXkKCiMKIyBNaXNj ZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCiMKIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CiMgQ09O RklHX0FGRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAojIENPTkZJ R19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CiMgQ09O RklHX0JGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CkNPTkZJR19D UkFNRlM9bQojIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSFBGU19GUyBpcyBu b3Qgc2V0CiMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NZU1ZfRlMgaXMg bm90IHNldAojIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAoKIwojIE5ldHdvcmsgRmlsZSBTeXN0 ZW1zCiMKIyBDT05GSUdfTkZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0 CiMgQ09ORklHX0VYUE9SVEZTIGlzIG5vdCBzZXQKIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQK IyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiMgQ09O RklHX0NPREFfRlMgaXMgbm90IHNldApDT05GSUdfQUZTX0ZTPW0KQ09ORklHX1JYUlBDPW0KCiMK IyBQYXJ0aXRpb24gVHlwZXMKIwojIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNl dApDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKCiMKIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAoj CkNPTkZJR19OTFM9eQpDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKQ09ORklHX05MU19D T0RFUEFHRV80Mzc9eQojIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKIyBDT05G SUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CkNPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkK IyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFH RV84NTUgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKIyBD T05GSUdfTkxTX0NPREVQQUdFXzg2MCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84 NjEgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODYyIGlzIG5vdCBzZXQKIyBDT05G SUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjQg aXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODY1IGlzIG5vdCBzZXQKIyBDT05GSUdf TkxTX0NPREVQQUdFXzg2NiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjkgaXMg bm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfOTM2IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxT X0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV85MzIgaXMgbm90 IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NP REVQQUdFXzg3NCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzggaXMgbm90IHNldApD T05GSUdfTkxTX0NPREVQQUdFXzEyNTA9eQojIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBu b3Qgc2V0CiMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0CkNPTkZJR19OTFNfSVNPODg1OV8x PXkKIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5 XzMgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKIyBDT05GSUdf TkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzYgaXMgbm90IHNl dAojIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlf OSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKIyBDT05GSUdf TkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldApDT05GSUdfTkxTX0lTTzg4NTlfMTU9eQojIENPTkZJ R19OTFNfS09JOF9SIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CiMg Q09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKCiMKIyBQcm9maWxpbmcgc3VwcG9ydAojCiMgQ09O RklHX1BST0ZJTElORyBpcyBub3Qgc2V0CgojCiMgS2VybmVsIGhhY2tpbmcKIwpDT05GSUdfREVC VUdfS0VSTkVMPXkKQ09ORklHX01BR0lDX1NZU1JRPXkKIyBDT05GSUdfU0NIRURTVEFUUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19LT0JK RUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfUFJFRU1QVCBpcyBub3Qgc2V0CiMgQ09ORklH X0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKIyBDT05GSUdfUFJFRU1QVF9USU1JTkcg aXMgbm90IHNldAojIENPTkZJR19SV1NFTV9ERUFETE9DS19ERVRFQ1QgaXMgbm90IHNldAojIENP TkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKQ09ORklHX0ZSQU1FX1BPSU5URVI9eQpDT05GSUdf RUFSTFlfUFJJTlRLPXkKIyBDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVyBpcyBub3Qgc2V0CiMg Q09ORklHX0tQUk9CRVMgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBu b3Qgc2V0CiMgQ09ORklHX0RFQlVHX1BBR0VBTExPQyBpcyBub3Qgc2V0CiMgQ09ORklHXzRLU1RB Q0tTIGlzIG5vdCBzZXQKIyBDT05GSUdfS0dEQiBpcyBub3Qgc2V0CgojCiMgU2VjdXJpdHkgb3B0 aW9ucwojCiMgQ09ORklHX0tFWVMgaXMgbm90IHNldApDT05GSUdfU0VDVVJJVFk9eQojIENPTkZJ R19TRUNVUklUWV9ORVRXT1JLIGlzIG5vdCBzZXQKQ09ORklHX1NFQ1VSSVRZX0NBUEFCSUxJVElF Uz1tCiMgQ09ORklHX1NFQ1VSSVRZX1NFQ0xWTCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFQ1VSSVRZ X1NFTElOVVggaXMgbm90IHNldAoKIwojIENyeXB0b2dyYXBoaWMgb3B0aW9ucwojCkNPTkZJR19D UllQVE89eQojIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19O VUxMIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CiMgQ09ORklHX0NS WVBUT19NRDUgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiMgQ09O RklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5v dCBzZXQKIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0RF UyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CiMgQ09ORklH X0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90 IHNldAojIENPTkZJR19DUllQVE9fQUVTXzU4NiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19D QVNUNSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CiMgQ09ORklH X0NSWVBUT19URUEgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiMg Q09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fREVGTEFURSBp cyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiMgQ09ORklH X0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0 CgojCiMgTGlicmFyeSByb3V0aW5lcwojCkNPTkZJR19DUkNfQ0NJVFQ9bQpDT05GSUdfQ1JDMzI9 bQpDT05GSUdfTElCQ1JDMzJDPW0KQ09ORklHX1pMSUJfSU5GTEFURT15CkNPTkZJR19aTElCX0RF RkxBVEU9bQpDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkNPTkZJR19HRU5FUklDX0lSUV9QUk9C RT15CkNPTkZJR19YODZfQklPU19SRUJPT1Q9eQpDT05GSUdfUEM9eQo= --Multipart=_Fri__29_Oct_2004_16_31_35_+0200_ZrnsToctlKMDLKyz--