From owner-freebsd-java@FreeBSD.ORG Mon Dec 3 14:00:20 2007 Return-Path: Delivered-To: java@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E893216A468; Mon, 3 Dec 2007 14:00:20 +0000 (UTC) (envelope-from arno@heho.snv.jussieu.fr) Received: from shiva.jussieu.fr (shiva.jussieu.fr [134.157.0.129]) by mx1.freebsd.org (Postfix) with ESMTP id 3558F13C4CC; Mon, 3 Dec 2007 14:00:18 +0000 (UTC) (envelope-from arno@heho.snv.jussieu.fr) Received: from heho.snv.jussieu.fr (heho.snv.jussieu.fr [134.157.184.22]) by shiva.jussieu.fr (8.13.8/jtpda-5.4) with ESMTP id lB3E0Gdb056333 ; Mon, 3 Dec 2007 15:00:16 +0100 (CET) X-Ids: 168 Received: from heho.snv.jussieu.fr (localhost [127.0.0.1]) by heho.snv.jussieu.fr (8.13.3/jtpda-5.2) with ESMTP id lB3E0FiA003537 ; Mon, 3 Dec 2007 15:00:15 +0100 (MET) Received: (from arno@localhost) by heho.snv.jussieu.fr (8.13.3/8.13.1/Submit) id lB3E0Eba003534; Mon, 3 Dec 2007 15:00:14 +0100 (MET) (envelope-from arno) To: Daniel Eischen , David Xu References: <200711301716.lAUHGEV1064334@repoman.freebsd.org> <47536361.8090203@freebsd.org> From: "Arno J. Klaassen" Date: 03 Dec 2007 15:00:14 +0100 In-Reply-To: Message-ID: Lines: 53 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (shiva.jussieu.fr [134.157.0.168]); Mon, 03 Dec 2007 15:00:17 +0100 (CET) X-Virus-Scanned: ClamAV 0.88.7/4980/Mon Dec 3 03:28:55 2007 on shiva.jussieu.fr X-Virus-Status: Clean X-Miltered: at shiva.jussieu.fr with ID 47540BF0.002 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! Cc: nate@yogotech.com, java@freebsd.org, julian@freebsd.org Subject: Re: cvs commit: src/lib/libkse/thread thr_kern.c X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Dec 2007 14:00:21 -0000 --=-=-= Daniel Eischen writes: > On Mon, 3 Dec 2007, David Xu wrote: > > > Daniel Eischen wrote: > >> Yes, this would seem to be a kernel problem, as _get_curthread() > >> seems to be returning garbage. This is a libkse MD function, > >> that relies on %gs (for i386/amd64) to point to something > >> that was initialized in the parent. > >> Julian, David, got any ideas? > >> > > > > I don't know, I am still reading some kernel code. > > I think it is possible that the fork()ing thread blocks > before the vm space is copied to the child and an upcall is > made. The curthread is changed before the vm space is copied > (or set to NULL) in the parent KSE/thread. Then the child > thread/process unblocks and completes, getting a copy of the > vm space with curthread set to an invalid value (NULL or > another now non-existent thread). > > I'm not sure what is suppose to happen with fork() in this > case. Perhaps I should just commit the patch to work around > the problem, or put the KSE in a critical region across a > fork() so that an upcall doesn't happen. > > I'm not sure why libthr has similar problems, although harder > to reproduce. This would seem a problem limited to libkse. I do not pretend it is the same problem, it might just be related. But the only easy way for me to reproduce it is just compiling jacorb (www.jacorb.org) on releng_6 (about ten days old) using libthr : after a while java hangs (can only be killed by -9) and 'top -H' shows three threads each taking 70-90% CPU-time. If I take a 'gcore' snapshot of it (dunno how trustful that is) it shows all threads in _thr_umtx_wait() (script-log attached). But : - only 2x2 smp-amd64 releng_6, 1x2 smp goes OK - only easy to produce when using optimized VM (I'll retry harder to produce a hang with java_g) - no prob on releng_7 (2x2 smp included) for this test This is thin, but all I have for now ... Thanx, Arno --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=java_thr.script Content-Transfer-Encoding: base64 U2NyaXB0IHN0YXJ0ZWQgb24gTW9uIERlYyAgMyAxMzozOTowOCAyMDA3Cltyb290QHByaW1hcnkg L3Vzci90ZW1wXSMgdG9wIC1TSAgICAgICAhnZGIgLWNvcmUgY29yZS4yOTAxMyAvdXNyL3BvcnRz L2phdmEvamRrMTUvd29yay9jb250cm9sDWwvYnVpbGQvYnNkLWFtZDY0L2Jpbi9qYXZhX2cgDQpH TlUgZ2RiIDYuMS4xIFtGcmVlQlNEXQ0KQ29weXJpZ2h0IDIwMDQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuDQpHREIgaXMgZnJlZSBzb2Z0d2FyZSwgY292ZXJlZCBieSB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UsIGFuZCB5b3UgYXJlDQp3ZWxjb21lIHRvIGNoYW5nZSBpdCBh bmQvb3IgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgaXQgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLg0K VHlwZSAic2hvdyBjb3B5aW5nIiB0byBzZWUgdGhlIGNvbmRpdGlvbnMuDQpUaGVyZSBpcyBhYnNv bHV0ZWx5IG5vIHdhcnJhbnR5IGZvciBHREIuICBUeXBlICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0 YWlscy4NClRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJhbWQ2NC1tYXJjZWwtZnJlZWJzZCIu Li4NCi91c3IvdGVtcC9jb3JlLjI5MDEzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Lg0KKGdk YikgcXVpdA0KW3Jvb3RAcHJpbWFyeSAvdXNyL3RlbXBdIyBscw0KYXRpLnBhdGNoCQkJCW5ldHN0 YXQtcy1wLXRjcA0KYm91dG9uX2FwcGxpY2F0aW9uX3JhZGlvbmV0XzEyOF8xMjgucG5nCW5ldHN0 YXQtcy5kaWZmDQpib3V0b25fYXBwbGljYXRpb25fcmFkaW9uZXRfNDhfNDgucG5nCW5ldHN0YXQt cy5uZXcNCmNvcmUuNzg2OTQJCQkJbmV0c3RhdC1zLm9sZA0KZG9pdC1hcm5vLXBhdGNoLmxvZwkJ CW5ldHN0YXQtcy5wYXRjaA0KZG9pdC5sb2cJCQkJcGF0Y2gxDQpkb2l0Mi5sb2cJCQkJdGNwX3N0 cmVhbV9zY3JpcHRfdG9fc29zLmxvZw0KamF2YV90aHIuc2NyaXB0CQkJCXRlc3RfcmFpZC5zaA0K amRrLTEuNS4wLjEycDZfMiwxLnRiegkJCXRlc3Rzd2FwX3BhZ2VyDQpqZGstMS41LjAuMTNwNywx LnRiegkJCXRlc3Rzd2FwX3BhZ2VyLmMNCmtmLnBhdGNoCQkJCXVkcF9zdHJlYW1fc2NyaXB0X3Rv X3Nvcy5sb2cNCmwudGFyCQkJCQl2bXN0YXQtaQ0KbmV0c3RhdC1zCQkJCXhvcmctc2VydmVyLTYu OS4wXzQudGJ6DQpbcm9vdEBwcmltYXJ5IC91c3IvdGVtcF0jIGxzIC1sdHINCnRvdGFsIDM0NjMy Mg0KLXJ3LXItLXItLSAgMSByb290ICAgd2hlZWwgICAgICAgIDkwNCBBdWcgIDEgIDIwMDYgYXRp LnBhdGNoDQotcnctci0tci0tICAxIHJvb3QgICB3aGVlbCAgICA1ODIzMjEwIEF1ZyAyOSAgMjAw NiB4b3JnLXNlcnZlci02LjkuMF80LnRieg0KLXJ3eHIteHIteCAgMSBzY2l0byAgd2hlZWwgICAg ICAgNTQ3MiBTZXAgMjcgIDIwMDYgYm91dG9uX2FwcGxpY2F0aW9uX3JhZGlvbmV0XzQ4XzQ4LnBu Zw0KLXJ3eHIteHIteCAgMSBzY2l0byAgd2hlZWwgICAgICAyODA2MCBTZXAgMjcgIDIwMDYgYm91 dG9uX2FwcGxpY2F0aW9uX3JhZGlvbmV0XzEyOF8xMjgucG5nDQotcnctci0tci0tICAxIHJvb3Qg ICB3aGVlbCAgICAgICAzOTQyIE9jdCAyOSAgMjAwNiB0Y3Bfc3RyZWFtX3NjcmlwdF90b19zb3Mu bG9nDQotcnctci0tci0tICAxIHJvb3QgICB3aGVlbCAgICAgICAxODUzIE9jdCAyOSAgMjAwNiB1 ZHBfc3RyZWFtX3NjcmlwdF90b19zb3MubG9nDQotcnctci0tci0tICAxIGl2byAgICB3aGVlbCAg ICAgICAgNDY4IE5vdiAgMyAgMjAwNiB2bXN0YXQtaQ0KLXJ3LXItLXItLSAgMSBpdm8gICAgd2hl ZWwgICAgICAgMjE0MCBOb3YgIDMgIDIwMDYgbmV0c3RhdC1zLXAtdGNwDQotcnctci0tci0tICAx IGl2byAgICB3aGVlbCAgICAgICA2NDM2IE5vdiAgMyAgMjAwNiBuZXRzdGF0LXMNCi1ydy1yLS1y LS0gIDEgaXZvICAgIHdoZWVsICAgICAgIDY0ODggRGVjIDIwICAyMDA2IG5ldHN0YXQtcy5uZXcN Ci1ydy1yLS1yLS0gIDEgaXZvICAgIHdoZWVsICAgICAgIDYzMzEgRGVjIDIwICAyMDA2IG5ldHN0 YXQtcy5vbGQNCi1ydy1yLS1yLS0gIDEgaXZvICAgIHdoZWVsICAgICAgIDIxMDkgRGVjIDIxICAy MDA2IG5ldHN0YXQtcy5wYXRjaA0KLXJ3LXItLXItLSAgMSBpdm8gICAgd2hlZWwgICAgICAgMTc5 NyBEZWMgMjEgIDIwMDYgbmV0c3RhdC1zLmRpZmYNCi1ydy1yLS1yLS0gIDEgbm9ubyAgIHdoZWVs ICAgICAyNTEzOTIgRmViICAyICAyMDA3IGwudGFyDQotcnctci0tci0tICAxIHJvb3QgICB3aGVl bCAgIDQ2OTU2MTM5IE5vdiAxNCAxNDoxMiBqZGstMS41LjAuMTJwNl8yLDEudGJ6DQotcnd4ci14 ci14ICAxIHNjaXRvICB3aGVlbCAgICAgICAgODYzIE5vdiAxNCAxNTozNiB0ZXN0X3JhaWQuc2gN Ci1ydy1yLS1yLS0gIDEgc2NpdG8gIHdoZWVsICAgICAgIDIwMTEgTm92IDE1IDE4OjQzIHRlc3Rz d2FwX3BhZ2VyLmMNCi1yd3hyLXhyLXggIDEgcm9vdCAgIHdoZWVsICAgICAgIDkzNTQgTm92IDE1 IDE4OjQ0IHRlc3Rzd2FwX3BhZ2VyDQotcnctci0tci0tICAxIHNjaXRvICB3aGVlbCAgICAgOTUz NzIxIE5vdiAxNiAwMDoyOCBkb2l0LmxvZw0KLXJ3LXItLXItLSAgMSBzY2l0byAgd2hlZWwgICAg NjA4MTE5MCBOb3YgMTYgMTA6MDkgZG9pdC1hcm5vLXBhdGNoLmxvZw0KLXJ3LXItLXItLSAgMSBy b290ICAgd2hlZWwgICA3ODMwNTIzMyBOb3YgMTYgMTg6NDAgamRrLTEuNS4wLjEzcDcsMS50YnoN Ci1ydy1yLS1yLS0gIDEgc2NpdG8gIHdoZWVsICAgMTgzOTQzNzAgTm92IDE4IDIyOjA4IGRvaXQy LmxvZw0KLXJ3LXItLXItLSAgMSBzY2l0byAgd2hlZWwgICAgICAgMTYyMCBOb3YgMTkgMTQ6MDQg a2YucGF0Y2gNCi1ydy1yLS1yLS0gIDEgcm9vdCAgIHdoZWVsICAgICAgIDEwMzYgTm92IDI1IDIw OjA0IHBhdGNoMQ0KLXJ3LXItLXItLSAgMSByb290ICAgd2hlZWwgIDE5NzM4NjI0MCBEZWMgIDMg MTM6MzMgY29yZS43ODY5NA0KLXJ3LXItLXItLSAgMSByb290ICAgd2hlZWwgICAgICAgIDE2OCBE ZWMgIDMgMTM6NDAgamF2YV90aHIuc2NyaXB0DQpbcm9vdEBwcmltYXJ5IC91c3IvdGVtcF0jIGxz IC1sdHIICAgICBtbSwgIZ2RiIC1jb3JlIGNvcmUuMjkwMTMgL3Vzci9wb3J0cy9qYXZhL2pkazE1 L3dvcmsvY29udHJvbA1sL2J1aWxkL2JzZC1hbWQ2NC9iaW4vamF2YV9nIBtbQQgICGdkYiAtY29y ZSBjb3JlLjI5MDEzCCAvdXNyL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sLxtbMVAbW0Fy b290QHByaW1hcnkgL3Vzci90ZW1wXSMgZ2RiIC1jb3JlIGNvcmUuMjkwMQggL3Vzci9wb3J0cy9q YXZhL2pkazE1L3dvcmsvY29udHJvbC9iG1sxUBtbQXJvb3RAcHJpbWFyeSAvdXNyL3RlbXBdIyBn ZGIgLWNvcmUgY29yZS4yOTAIIC91c3IvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnUb WzFQG1tBcm9vdEBwcmltYXJ5IC91c3IvdGVtcF0jIGdkYiAtY29yZSBjb3JlLjI5CCAvdXNyL3Bv cnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aRtbMVAbW0Fyb290QHByaW1hcnkgL3Vzci90 ZW1wXSMgZ2RiIC1jb3JlIGNvcmUuMgggL3Vzci9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJv bC9idWlsG1sxUBtbQXJvb3RAcHJpbWFyeSAvdXNyL3RlbXBdIyBnZGIgLWNvcmUgY29yZS43IC91 c3IvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpG1s0aGwbWzRsG1tBb290QHByaW1h cnkgL3Vzci90ZW1wXSMgZ2RiIC1jb3JlIGNvcmUuNzg2OTQgL3Vzci9wb3J0cy9qYXZhL2pkazE1 L3dvcmsvY29udHJvbBtbNGgvYnVpG1s0bBtbQUBwcmltYXJ5IC91c3IvdGVtcF0jIGdkYiAtY29y ZSBjb3JlLjc4Njk0DQoNbC9idWlsZC9ic2QtYW1kNjQvYmluL2phdmFfZyAIIAgIIAhPDQpHTlUg Z2RiIDYuMS4xIFtGcmVlQlNEXQ0KQ29weXJpZ2h0IDIwMDQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuDQpHREIgaXMgZnJlZSBzb2Z0d2FyZSwgY292ZXJlZCBieSB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UsIGFuZCB5b3UgYXJlDQp3ZWxjb21lIHRvIGNoYW5nZSBpdCBhbmQv b3IgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgaXQgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLg0KVHlw ZSAic2hvdyBjb3B5aW5nIiB0byBzZWUgdGhlIGNvbmRpdGlvbnMuDQpUaGVyZSBpcyBhYnNvbHV0 ZWx5IG5vIHdhcnJhbnR5IGZvciBHREIuICBUeXBlICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0YWls cy4NClRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJhbWQ2NC1tYXJjZWwtZnJlZWJzZCIuLi4o bm8gZGVidWdnaW5nIHN5bWJvbHMgZm91bmQpLi4uDQpDb3JlIHdhcyBnZW5lcmF0ZWQgYnkgYGph dmFfTycuDQpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvbGliL2xpYnouc28uMy4uLihubyBkZWJ1Z2dp bmcgc3ltYm9scyBmb3VuZCkuLi5kb25lLg0KTG9hZGVkIHN5bWJvbHMgZm9yIC9saWIvbGliei5z by4zDQpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvdXNyL2xpYi9saWJ0aHIuc28uMi4uLmRvbmUuDQpM b2FkZWQgc3ltYm9scyBmb3IgL3Vzci9saWIvbGlidGhyLnNvLjINClJlYWRpbmcgc3ltYm9scyBm cm9tIC9saWIvbGliYy5zby42Li4uZG9uZS4NCkxvYWRlZCBzeW1ib2xzIGZvciAvbGliL2xpYmMu c28uNg0KUmVhZGluZyBzeW1ib2xzIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRr MTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5z by4uLmRvbmUuDQpMb2FkZWQgc3ltYm9scyBmb3IgL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEv amRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2 bS5zbw0KUmVhZGluZyBzeW1ib2xzIGZyb20gL3Vzci9saWIvbGlic3RkYysrLnNvLjUuLi5kb25l Lg0KTG9hZGVkIHN5bWJvbHMgZm9yIC91c3IvbGliL2xpYnN0ZGMrKy5zby41DQpSZWFkaW5nIHN5 bWJvbHMgZnJvbSAvbGliL2xpYm0uc28uNC4uLmRvbmUuDQpMb2FkZWQgc3ltYm9scyBmb3IgL2xp Yi9saWJtLnNvLjQNClJlYWRpbmcgc3ltYm9scyBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9q YXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L25hdGl2ZV90 aHJlYWRzL2xpYmhwaS5zby4uLmRvbmUuDQpMb2FkZWQgc3ltYm9scyBmb3IgL2ZpbGVzL2hlcmUv YnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1k NjQvbmF0aXZlX3RocmVhZHMvbGliaHBpLnNvDQpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvZmlsZXMv aGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xp Yi9hbWQ2NC9saWJ2ZXJpZnkuc28uLi5kb25lLg0KTG9hZGVkIHN5bWJvbHMgZm9yIC9maWxlcy9o ZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGli L2FtZDY0L2xpYnZlcmlmeS5zbw0KUmVhZGluZyBzeW1ib2xzIGZyb20gL2ZpbGVzL2hlcmUvYnNk L3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQv bGliamF2YS5zby4uLmRvbmUuDQpMb2FkZWQgc3ltYm9scyBmb3IgL2ZpbGVzL2hlcmUvYnNkL3Bv cnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvbGli amF2YS5zbw0KUmVhZGluZyBzeW1ib2xzIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEv amRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvbGliemlwLnNvLi4u ZG9uZS4NCkxvYWRlZCBzeW1ib2xzIGZvciAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsx NS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9saWJ6aXAuc28NClJlYWRp bmcgc3ltYm9scyBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29u dHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L2xpYmF3dC5zby4uLmRvbmUuDQpMb2FkZWQg c3ltYm9scyBmb3IgL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9s L2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvbGliYXd0LnNvDQpSZWFkaW5nIHN5bWJvbHMgZnJv bSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNk LWFtZDY0L2xpYi9hbWQ2NC9saWJtbGliX2ltYWdlLnNvLi4uZG9uZS4NCkxvYWRlZCBzeW1ib2xz IGZvciAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQv YnNkLWFtZDY0L2xpYi9hbWQ2NC9saWJtbGliX2ltYWdlLnNvDQpSZWFkaW5nIHN5bWJvbHMgZnJv bSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNk LWFtZDY0L2xpYi9hbWQ2NC9oZWFkbGVzcy9saWJtYXd0LnNvLi4uZG9uZS4NCkxvYWRlZCBzeW1i b2xzIGZvciAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVp bGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9oZWFkbGVzcy9saWJtYXd0LnNvDQpSZWFkaW5nIHN5bWJv bHMgZnJvbSAvbGliZXhlYy9sZC1lbGYuc28uMS4uLmRvbmUuDQpMb2FkZWQgc3ltYm9scyBmb3Ig L2xpYmV4ZWMvbGQtZWxmLnNvLjENCiMwICAweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3Ag KCkgZnJvbSAvbGliL2xpYmMuc28uNg0KW05ldyBUaHJlYWQgMHg4OGI4MDAgKExXUCAxMDAyNTkp XQ0KW05ldyBUaHJlYWQgMHg1YzMwMDAgKExXUCAxMDAyMDcpXQ0KW05ldyBUaHJlYWQgMHg1YzNj MDAgKExXUCAxMDA0MTEpXQ0KW05ldyBUaHJlYWQgMHg2NTNlMDAgKExXUCAxMDAzODkpXQ0KW05l dyBUaHJlYWQgMHg2NTNhMDAgKExXUCAxMDAzODQpXQ0KW05ldyBUaHJlYWQgMHg2NTM2MDAgKExX UCAxMDAzODEpXQ0KW05ldyBUaHJlYWQgMHg2NTMyMDAgKExXUCAxMDAzODApXQ0KW05ldyBUaHJl YWQgMHg2M2ZlMDAgKExXUCAxMDAzNzQpXQ0KW05ldyBUaHJlYWQgMHg2M2ZhMDAgKExXUCAxMDAz NTcpXQ0KW05ldyBUaHJlYWQgMHg2MzdlMDAgKExXUCAxMDAzNDkpXQ0KW05ldyBUaHJlYWQgMHg2 Mzc4MDAgKExXUCAxMDAzMzApXQ0KW05ldyBUaHJlYWQgMHg1ZGM4MDAgKExXUCAxMDAzMjkpXQ0K W05ldyBUaHJlYWQgMHg1MzU2MDAgKExXUCAxMDAzMjYpXQ0KW05ldyBUaHJlYWQgMHg1MzUyMDAg KExXUCAxMDAzMDgpXQ0KW05ldyBUaHJlYWQgMHg1MWJlMDAgKExXUCAxMDAyNzcpXQ0KW05ldyBU aHJlYWQgMHg1MWJhMDAgKExXUCAxMDAyMjgpXQ0KW05ldyBUaHJlYWQgMHg1MGMwMDAgKExXUCAx MDAzNTUpXQ0KW05ldyBMV1AgNzg2OTRdDQooZ2RiKSBpbmZvIHRocg0KKiAxOCBMV1AgNzg2OTQg IDB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIvbGliYy5zby42DQog IDE3IFRocmVhZCAweDUwYzAwMCAoTFdQIDEwMDM1NSkgIHdhcm5pbmc6IENvdWxkbid0IGZpbmQg Z2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBpbiBjb3JlIGZpbGUuDQoNCjB4MDAwMDAwMDgwMDhi YTdjYyBpbiBfdW10eF9vcCAoKQ0KICAgZnJvbSAvbGliL2xpYmMuc28uNg0KICAxNiBUaHJlYWQg MHg1MWJhMDAgKExXUCAxMDAyMjgpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVy cG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQoweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3Vt dHhfb3AgKCkNCiAgIGZyb20gL2xpYi9saWJjLnNvLjYNCiAgMTUgVGhyZWFkIDB4NTFiZTAwIChM V1AgMTAwMjc3KSAgd2FybmluZzogQ291bGRuJ3QgZmluZCBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0 ZXJzIGluIGNvcmUgZmlsZS4NCg0KMHgwMDAwMDAwODAwOGJhN2NjIGluIF91bXR4X29wICgpDQog ICBmcm9tIC9saWIvbGliYy5zby42DQogIDE0IFRocmVhZCAweDUzNTIwMCAoTFdQIDEwMDMwOCkg IHdhcm5pbmc6IENvdWxkbid0IGZpbmQgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBpbiBjb3Jl IGZpbGUuDQoNCjB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKQ0KICAgZnJvbSAvbGli L2xpYmMuc28uNg0KICAxMyBUaHJlYWQgMHg1MzU2MDAgKExXUCAxMDAzMjYpICB3YXJuaW5nOiBD b3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQow eDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkNCiAgIGZyb20gL2xpYi9saWJjLnNvLjYN CiAgMTIgVGhyZWFkIDB4NWRjODAwIChMV1AgMTAwMzI5KSAgd2FybmluZzogQ291bGRuJ3QgZmlu ZCBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXJzIGluIGNvcmUgZmlsZS4NCg0KMHgwMDAwMDAwODAw OGJhN2NjIGluIF91bXR4X29wICgpDQogICBmcm9tIC9saWIvbGliYy5zby42DQogIDExIFRocmVh ZCAweDYzNzgwMCAoTFdQIDEwMDMzMCkgIHdhcm5pbmc6IENvdWxkbid0IGZpbmQgZ2VuZXJhbC1w dXJwb3NlIHJlZ2lzdGVycyBpbiBjb3JlIGZpbGUuDQoNCjB4MDAwMDAwMDgwMDhiYTdjYyBpbiBf dW10eF9vcCAoKQ0KICAgZnJvbSAvbGliL2xpYmMuc28uNg0KICAxMCBUaHJlYWQgMHg2MzdlMDAg KExXUCAxMDAzNDkpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdp c3RlcnMgaW4gY29yZSBmaWxlLg0KDQoweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkN CiAgIGZyb20gL2xpYi9saWJjLnNvLjYNCiAgOSBUaHJlYWQgMHg2M2ZhMDAgKExXUCAxMDAzNTcp ICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29y ZSBmaWxlLg0KDQoweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkNCiAgIGZyb20gL2xp Yi9saWJjLnNvLjYNCiAgOCBUaHJlYWQgMHg2M2ZlMDAgKExXUCAxMDAzNzQpICB3YXJuaW5nOiBD b3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQow eDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkNCiAgIGZyb20gL2xpYi9saWJjLnNvLjYN CiAgNyBUaHJlYWQgMHg2NTMyMDAgKExXUCAxMDAzODApICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5k IGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQoweDAwMDAwMDA4MDA4 YmE3Y2MgaW4gX3VtdHhfb3AgKCkNCiAgIGZyb20gL2xpYi9saWJjLnNvLjYNCiAgNiBUaHJlYWQg MHg2NTM2MDAgKExXUCAxMDAzODEpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVy cG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQoweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3Vt dHhfb3AgKCkNCiAgIGZyb20gL2xpYi9saWJjLnNvLjYNCiAgNSBUaHJlYWQgMHg2NTNhMDAgKExX UCAxMDAzODQpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3Rl cnMgaW4gY29yZSBmaWxlLg0KDQoweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkNCiAg IGZyb20gL2xpYi9saWJjLnNvLjYNCiAgNCBUaHJlYWQgMHg2NTNlMDAgKExXUCAxMDAzODkpICB3 YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBm aWxlLg0KDQoweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkNCiAgIGZyb20gL2xpYi9s aWJjLnNvLjYNCiAgMyBUaHJlYWQgMHg1YzNjMDAgKExXUCAxMDA0MTEpICB3YXJuaW5nOiBDb3Vs ZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQoweDAw MDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkNCiAgIGZyb20gL2xpYi9saWJjLnNvLjYNCiAg MiBUaHJlYWQgMHg1YzMwMDAgKExXUCAxMDAyMDcpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdl bmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQoweDAwMDAwMDA4MDA4YmE3 Y2MgaW4gX3VtdHhfb3AgKCkNCiAgIGZyb20gL2xpYi9saWJjLnNvLjYNCiAgMSBUaHJlYWQgMHg4 OGI4MDAgKExXUCAxMDAyNTkpICB3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9z ZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQoweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhf b3AgKCkNCiAgIGZyb20gL2xpYi9saWJjLnNvLjYNCihnZGIpIHRociAxOA0KW1N3aXRjaGluZyB0 byB0aHJlYWQgMTggKExXUCA3ODY5NCldIzAgIDB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9v cCAoKQ0KICAgZnJvbSAvbGliL2xpYmMuc28uNg0KKGdkYikgd2hlcmUgMTINCiMwICAweDAwMDAw MDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkgZnJvbSAvbGliL2xpYmMuc28uNg0KIzEgIDB4MDAw MDAwMDgwMDc2NDRiMyBpbiBfdGhyX3VtdHhfd2FpdCAobXR4PTB4ZTIwN2U4LCBpZD0wLCB0aW1l b3V0PTB4MCkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90 aHJfdW10eC5jOjY4DQojMiAgMHgwMDAwMDAwODAwNzYzMmJiIGluIGNvbmRfd2FpdF9jb21tb24g KGNvbmQ9MHg3MWQ2MzAsIG11dGV4PTB4NzFkNjI4LCANCiAgICBhYnN0aW1lPTB4MCwgY2FuY2Vs PTEpDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQvdGhyX2Nv bmQuYzoyMjkNCiMzICAweDAwMDAwMDA4MDA3NjM0NzcgaW4gX19wdGhyZWFkX2NvbmRfd2FpdCAo Y29uZD0weDcxZDYzMCwgbXV0ZXg9MHg3MWQ2MjgpDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3Ny YzYvbGliL2xpYnRoci90aHJlYWQvdGhyX2NvbmQuYzoyNjkNCiM0ICAweDAwMDAwMDA4MDEwMGY4 YjkgaW4gT2JqZWN0TW9uaXRvcjo6RW50ZXJJICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9w b3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3Nl cnZlci9saWJqdm0uc28NCiM1ICAweDAwMDAwMDA4MDEwMGZjOTEgaW4gT2JqZWN0TW9uaXRvcjo6 ZW50ZXIyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsv Y29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM2ICAw eDAwMDAwMDA4MDEwYWExYjUgaW4gT2JqZWN0U3luY2hyb25pemVyOjpzbG93X2VudGVyICgpDQog ICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWls ZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM3ICAweDAwMDAwMDA4MDBl MDNlMzYgaW4gSW50ZXJwcmV0ZXJSdW50aW1lOjptb25pdG9yZW50ZXIgKCkNCiAgIGZyb20gL2Zp bGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2 NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzggIDB4MDAwMDAwMDgwMWY4YTExYiBpbiA/ PyAoKQ0KIzkgIDB4MDAwMDAwMDgwMWY4YTBkOSBpbiA/PyAoKQ0KIzEwIDB4MDAwMDAwMDAwMDAw MDAwMyBpbiA/PyAoKQ0KIzExIDB4MDAwMDAwMDgwYTU1NGM5MCBpbiA/PyAoKQ0KKE1vcmUgc3Rh Y2sgZnJhbWVzIGZvbGxvdy4uLikNCihnZGIpIHdoZXJlIDEyDShnZGIpIBtbMlB0aHIgMTgIIAg3 DQp3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29y ZSBmaWxlLg0KDQpbU3dpdGNoaW5nIHRvIHRocmVhZCAxNyAoVGhyZWFkIDB4NTBjMDAwIChMV1Ag MTAwMzU1KSldIzAgIDB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIv bGliYy5zby42DQooZ2RiKSB0aHIgMTcICAgICAh3aGVyZSAxMg0KIzAgIDB4MDAwMDAwMDgwMDhi YTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIvbGliYy5zby42DQojMSAgMHgwMDAwMDAwODAw NzY0NGIzIGluIF90aHJfdW10eF93YWl0IChtdHg9MHhlMjA3ZTgsIGlkPTAsIHRpbWVvdXQ9MHgw KQ0KICAgIGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl91bXR4 LmM6NjgNCiMyICAweDAwMDAwMDA4MDA3NjMyYmIgaW4gY29uZF93YWl0X2NvbW1vbiAoY29uZD0w eDcxZDYzMCwgbXV0ZXg9MHg3MWQ2MjgsIA0KICAgIGFic3RpbWU9MHgwLCBjYW5jZWw9MSkNCiAg ICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfY29uZC5jOjIy OQ0KIzMgIDB4MDAwMDAwMDgwMDc2MzQ3NyBpbiBfX3B0aHJlYWRfY29uZF93YWl0IChjb25kPTB4 NzFkNjMwLCBtdXRleD0weDcxZDYyOCkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIv bGlidGhyL3RocmVhZC90aHJfY29uZC5jOjI2OQ0KIzQgIDB4MDAwMDAwMDgwMTAwZjhiOSBpbiBP YmplY3RNb25pdG9yOjpFbnRlckkgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2ph dmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xp Ymp2bS5zbw0KIzUgIDB4MDAwMDAwMDgwMTAwZmM5MSBpbiBPYmplY3RNb25pdG9yOjplbnRlcjIg KCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9s L2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzYgIDB4MDAwMDAw MDgwMTBhYTFiNSBpbiBPYmplY3RTeW5jaHJvbml6ZXI6OnNsb3dfZW50ZXIgKCkNCiAgIGZyb20g L2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1h bWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzcgIDB4MDAwMDAwMDgwMGUwM2UzNiBp biBJbnRlcnByZXRlclJ1bnRpbWU6Om1vbml0b3JlbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMvaGVy ZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9h bWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojOCAgMHgwMDAwMDAwODAxZjhhMTFiIGluID8/ICgpDQoj OSAgMHgwMDAwMDAwODAxZjhhMGQ5IGluID8/ICgpDQojMTAgMHgwMDAwMDAwMDAwMDAwMDAzIGlu ID8/ICgpDQojMTEgMHgwMDAwMDAwODBhNTU0YzkwIGluID8/ICgpDQooTW9yZSBzdGFjayBmcmFt ZXMgZm9sbG93Li4uKQ0KKGdkYikgd2hlcmUgMTINKGdkYikgG1syUHRociAxNwggCDYNCndhcm5p bmc6IENvdWxkbid0IGZpbmQgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBpbiBjb3JlIGZpbGUu DQoNCltTd2l0Y2hpbmcgdG8gdGhyZWFkIDE2IChUaHJlYWQgMHg1MWJhMDAgKExXUCAxMDAyMjgp KV0jMCAgMHgwMDAwMDAwODAwOGJhN2NjIGluIF91bXR4X29wICgpIGZyb20gL2xpYi9saWJjLnNv LjYNCihnZGIpIHRociAxNggICAgICHdoZXJlIDEyDQojMCAgMHgwMDAwMDAwODAwOGJhN2NjIGlu IF91bXR4X29wICgpIGZyb20gL2xpYi9saWJjLnNvLjYNCiMxICAweDAwMDAwMDA4MDA3NjQ0YjMg aW4gX3Rocl91bXR4X3dhaXQgKG10eD0weGUyMDdlOCwgaWQ9MCwgdGltZW91dD0weDApDQogICAg YXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQvdGhyX3VtdHguYzo2OA0K IzIgIDB4MDAwMDAwMDgwMDc2MzJiYiBpbiBjb25kX3dhaXRfY29tbW9uIChjb25kPTB4NzFkNjMw LCBtdXRleD0weDcxZDYyOCwgDQogICAgYWJzdGltZT0weDAsIGNhbmNlbD0xKQ0KICAgIGF0IC9m aWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl9jb25kLmM6MjI5DQojMyAg MHgwMDAwMDAwODAwNzYzNDc3IGluIF9fcHRocmVhZF9jb25kX3dhaXQgKGNvbmQ9MHg3MWQ2MzAs IG11dGV4PTB4NzFkNjI4KQ0KICAgIGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIv dGhyZWFkL3Rocl9jb25kLmM6MjY5DQojNCAgMHgwMDAwMDAwODAxMDBmOGI5IGluIE9iamVjdE1v bml0b3I6OkVudGVySSAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsx NS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNv DQojNSAgMHgwMDAwMDAwODAxMDBmYzkxIGluIE9iamVjdE1vbml0b3I6OmVudGVyMiAoKQ0KICAg ZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQv YnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojNiAgMHgwMDAwMDAwODAxMGFh MWI1IGluIE9iamVjdFN5bmNocm9uaXplcjo6c2xvd19lbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMv aGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xp Yi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojNyAgMHgwMDAwMDAwODAwZTAzZTM2IGluIEludGVy cHJldGVyUnVudGltZTo6bW9uaXRvcmVudGVyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9w b3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3Nl cnZlci9saWJqdm0uc28NCiM4ICAweDAwMDAwMDA4MDFmOGExMWIgaW4gPz8gKCkNCiM5ICAweDAw MDAwMDA4MDFmOGEwZDkgaW4gPz8gKCkNCiMxMCAweDAwMDAwMDAwMDAwMDAwMDMgaW4gPz8gKCkN CiMxMSAweDAwMDAwMDA4MGE1NTRjOTAgaW4gPz8gKCkNCihNb3JlIHN0YWNrIGZyYW1lcyBmb2xs b3cuLi4pDQooZ2RiKSB3aGVyZSAxMg0oZ2RiKSAbWzJQdGhyIDE2CCAINQ0Kd2FybmluZzogQ291 bGRuJ3QgZmluZCBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXJzIGluIGNvcmUgZmlsZS4NCg0KW1N3 aXRjaGluZyB0byB0aHJlYWQgMTUgKFRocmVhZCAweDUxYmUwMCAoTFdQIDEwMDI3NykpXSMwICAw eDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkgZnJvbSAvbGliL2xpYmMuc28uNg0KKGdk YikgdGhyIDE1CAgICAgId2hlcmUgMTINCiMwICAweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhf b3AgKCkgZnJvbSAvbGliL2xpYmMuc28uNg0KIzEgIDB4MDAwMDAwMDgwMDc2NDRiMyBpbiBfdGhy X3VtdHhfd2FpdCAobXR4PTB4ZTIwN2U4LCBpZD0wLCB0aW1lb3V0PTB4MCkNCiAgICBhdCAvZmls ZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfdW10eC5jOjY4DQojMiAgMHgw MDAwMDAwODAwNzYzMmJiIGluIGNvbmRfd2FpdF9jb21tb24gKGNvbmQ9MHg3MWQ2MzAsIG11dGV4 PTB4NzFkNjI4LCANCiAgICBhYnN0aW1lPTB4MCwgY2FuY2VsPTEpDQogICAgYXQgL2ZpbGVzL2hl cmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQvdGhyX2NvbmQuYzoyMjkNCiMzICAweDAwMDAw MDA4MDA3NjM0NzcgaW4gX19wdGhyZWFkX2NvbmRfd2FpdCAoY29uZD0weDcxZDYzMCwgbXV0ZXg9 MHg3MWQ2MjgpDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQv dGhyX2NvbmQuYzoyNjkNCiM0ICAweDAwMDAwMDA4MDEwMGY4YjkgaW4gT2JqZWN0TW9uaXRvcjo6 RW50ZXJJICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsv Y29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM1ICAw eDAwMDAwMDA4MDEwMGZjOTEgaW4gT2JqZWN0TW9uaXRvcjo6ZW50ZXIyICgpDQogICBmcm9tIC9m aWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1k NjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM2ICAweDAwMDAwMDA4MDEwYWExYjUgaW4g T2JqZWN0U3luY2hyb25pemVyOjpzbG93X2VudGVyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2Jz ZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0 L3NlcnZlci9saWJqdm0uc28NCiM3ICAweDAwMDAwMDA4MDBlMDNlMzYgaW4gSW50ZXJwcmV0ZXJS dW50aW1lOjptb25pdG9yZW50ZXIgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2ph dmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xp Ymp2bS5zbw0KIzggIDB4MDAwMDAwMDgwMWY4YTExYiBpbiA/PyAoKQ0KIzkgIDB4MDAwMDAwMDgw MWY4YTBkOSBpbiA/PyAoKQ0KIzEwIDB4MDAwMDAwMDAwMDAwMDAwMyBpbiA/PyAoKQ0KIzExIDB4 MDAwMDAwMDgwYTU1NGM5MCBpbiA/PyAoKQ0KKE1vcmUgc3RhY2sgZnJhbWVzIGZvbGxvdy4uLikN CihnZGIpIHdoZXJlIDEyDShnZGIpIBtbMlB0aHIgMTUIIAg0DQp3YXJuaW5nOiBDb3VsZG4ndCBm aW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQpbU3dpdGNoaW5n IHRvIHRocmVhZCAxNCAoVGhyZWFkIDB4NTM1MjAwIChMV1AgMTAwMzA4KSldIzAgIDB4MDAwMDAw MDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIvbGliYy5zby42DQooZ2RiKSB0aHIg MTQICAgICAh3aGVyZSAxMg0KIzAgIDB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBm cm9tIC9saWIvbGliYy5zby42DQojMSAgMHgwMDAwMDAwODAwNzY0NGIzIGluIF90aHJfdW10eF93 YWl0IChtdHg9MHhlMjA3ZTgsIGlkPTAsIHRpbWVvdXQ9MHgwKQ0KICAgIGF0IC9maWxlcy9oZXJl L2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl91bXR4LmM6NjgNCiMyICAweDAwMDAwMDA4 MDA3NjMyYmIgaW4gY29uZF93YWl0X2NvbW1vbiAoY29uZD0weDcxZDYzMCwgbXV0ZXg9MHg3MWQ2 MjgsIA0KICAgIGFic3RpbWU9MHgwLCBjYW5jZWw9MSkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qv c3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfY29uZC5jOjIyOQ0KIzMgIDB4MDAwMDAwMDgwMDc2 MzQ3NyBpbiBfX3B0aHJlYWRfY29uZF93YWl0IChjb25kPTB4NzFkNjMwLCBtdXRleD0weDcxZDYy OCkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfY29u ZC5jOjI2OQ0KIzQgIDB4MDAwMDAwMDgwMTAwZjhiOSBpbiBPYmplY3RNb25pdG9yOjpFbnRlckkg KCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9s L2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzUgIDB4MDAwMDAw MDgwMTAwZmM5MSBpbiBPYmplY3RNb25pdG9yOjplbnRlcjIgKCkNCiAgIGZyb20gL2ZpbGVzL2hl cmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIv YW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzYgIDB4MDAwMDAwMDgwMTBhYTFiNSBpbiBPYmplY3RT eW5jaHJvbml6ZXI6OnNsb3dfZW50ZXIgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRz L2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVy L2xpYmp2bS5zbw0KIzcgIDB4MDAwMDAwMDgwMGUwM2UzNiBpbiBJbnRlcnByZXRlclJ1bnRpbWU6 Om1vbml0b3JlbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsx NS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNv DQojOCAgMHgwMDAwMDAwODAxZjhhMTFiIGluID8/ICgpDQojOSAgMHgwMDAwMDAwODAxZjhhMGQ5 IGluID8/ICgpDQojMTAgMHgwMDAwMDAwMDAwMDAwMDAzIGluID8/ICgpDQojMTEgMHgwMDAwMDAw ODBhNTU0YzkwIGluID8/ICgpDQooTW9yZSBzdGFjayBmcmFtZXMgZm9sbG93Li4uKQ0KKGdkYikg d2hlcmUgMTINKGdkYikgG1syUHRociAxNAggCDMNCndhcm5pbmc6IENvdWxkbid0IGZpbmQgZ2Vu ZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBpbiBjb3JlIGZpbGUuDQoNCltTd2l0Y2hpbmcgdG8gdGhy ZWFkIDEzIChUaHJlYWQgMHg1MzU2MDAgKExXUCAxMDAzMjYpKV0jMCAgMHgwMDAwMDAwODAwOGJh N2NjIGluIF91bXR4X29wICgpIGZyb20gL2xpYi9saWJjLnNvLjYNCihnZGIpIHRociAxMwgICAgI CHdoZXJlIDEyDQojMCAgMHgwMDAwMDAwODAwOGJhN2NjIGluIF91bXR4X29wICgpIGZyb20gL2xp Yi9saWJjLnNvLjYNCiMxICAweDAwMDAwMDA4MDA3NjQ0YjMgaW4gX3Rocl91bXR4X3dhaXQgKG10 eD0weGUyMDdlOCwgaWQ9MCwgdGltZW91dD0weDApDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3Ny YzYvbGliL2xpYnRoci90aHJlYWQvdGhyX3VtdHguYzo2OA0KIzIgIDB4MDAwMDAwMDgwMDc2MzJi YiBpbiBjb25kX3dhaXRfY29tbW9uIChjb25kPTB4NzFkNjMwLCBtdXRleD0weDcxZDYyOCwgDQog ICAgYWJzdGltZT0weDAsIGNhbmNlbD0xKQ0KICAgIGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xp Yi9saWJ0aHIvdGhyZWFkL3Rocl9jb25kLmM6MjI5DQojMyAgMHgwMDAwMDAwODAwNzYzNDc3IGlu IF9fcHRocmVhZF9jb25kX3dhaXQgKGNvbmQ9MHg3MWQ2MzAsIG11dGV4PTB4NzFkNjI4KQ0KICAg IGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl9jb25kLmM6MjY5 DQojNCAgMHgwMDAwMDAwODAxMDBmOGI5IGluIE9iamVjdE1vbml0b3I6OkVudGVySSAoKQ0KICAg ZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQv YnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojNSAgMHgwMDAwMDAwODAxMDBm YzkxIGluIE9iamVjdE1vbml0b3I6OmVudGVyMiAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2Qv cG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9z ZXJ2ZXIvbGlianZtLnNvDQojNiAgMHgwMDAwMDAwODAxMGFhMWI1IGluIE9iamVjdFN5bmNocm9u aXplcjo6c2xvd19lbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9q ZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZt LnNvDQojNyAgMHgwMDAwMDAwODAwZTAzZTM2IGluIEludGVycHJldGVyUnVudGltZTo6bW9uaXRv cmVudGVyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsv Y29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM4ICAw eDAwMDAwMDA4MDFmOGExMWIgaW4gPz8gKCkNCiM5ICAweDAwMDAwMDA4MDFmOGEwZDkgaW4gPz8g KCkNCiMxMCAweDAwMDAwMDAwMDAwMDAwMDMgaW4gPz8gKCkNCiMxMSAweDAwMDAwMDA4MGE1NTRj OTAgaW4gPz8gKCkNCihNb3JlIHN0YWNrIGZyYW1lcyBmb2xsb3cuLi4pDQooZ2RiKSB3aGVyZSAx Mg0oZ2RiKSAbWzJQdGhyIDEzCCAIMg0Kd2FybmluZzogQ291bGRuJ3QgZmluZCBnZW5lcmFsLXB1 cnBvc2UgcmVnaXN0ZXJzIGluIGNvcmUgZmlsZS4NCg0KW1N3aXRjaGluZyB0byB0aHJlYWQgMTIg KFRocmVhZCAweDVkYzgwMCAoTFdQIDEwMDMyOSkpXSMwICAweDAwMDAwMDA4MDA4YmE3Y2MgaW4g X3VtdHhfb3AgKCkgZnJvbSAvbGliL2xpYmMuc28uNg0KKGdkYikgdGhyIDEyCAgICAgIG1s0aHdo G1s0bGVyZSAxMg0KIzAgIDB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9s aWIvbGliYy5zby42DQojMSAgMHgwMDAwMDAwODAwNzY0NGIzIGluIF90aHJfdW10eF93YWl0ICht dHg9MHhlMjA3ZTgsIGlkPTAsIHRpbWVvdXQ9MHgwKQ0KICAgIGF0IC9maWxlcy9oZXJlL2JzZC9z cmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl91bXR4LmM6NjgNCiMyICAweDAwMDAwMDA4MDA3NjMy YmIgaW4gY29uZF93YWl0X2NvbW1vbiAoY29uZD0weDcxZDYzMCwgbXV0ZXg9MHg3MWQ2MjgsIA0K ICAgIGFic3RpbWU9MHgwLCBjYW5jZWw9MSkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9s aWIvbGlidGhyL3RocmVhZC90aHJfY29uZC5jOjIyOQ0KIzMgIDB4MDAwMDAwMDgwMDc2MzQ3NyBp biBfX3B0aHJlYWRfY29uZF93YWl0IChjb25kPTB4NzFkNjMwLCBtdXRleD0weDcxZDYyOCkNCiAg ICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfY29uZC5jOjI2 OQ0KIzQgIDB4MDAwMDAwMDgwMTAwZjhiOSBpbiBPYmplY3RNb25pdG9yOjpFbnRlckkgKCkNCiAg IGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxk L2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzUgIDB4MDAwMDAwMDgwMTAw ZmM5MSBpbiBPYmplY3RNb25pdG9yOjplbnRlcjIgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNk L3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQv c2VydmVyL2xpYmp2bS5zbw0KIzYgIDB4MDAwMDAwMDgwMTBhYTFiNSBpbiBPYmplY3RTeW5jaHJv bml6ZXI6OnNsb3dfZW50ZXIgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEv amRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2 bS5zbw0KIzcgIDB4MDAwMDAwMDgwMGUwM2UzNiBpbiBJbnRlcnByZXRlclJ1bnRpbWU6Om1vbml0 b3JlbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3Jr L2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojOCAg MHgwMDAwMDAwODAxZjhhMTFiIGluID8/ICgpDQojOSAgMHgwMDAwMDAwODAxZjhhMGQ5IGluID8/ ICgpDQojMTAgMHgwMDAwMDAwMDAwMDAwMDAzIGluID8/ICgpDQojMTEgMHgwMDAwMDAwODBhNTU0 YzkwIGluID8/ICgpDQooTW9yZSBzdGFjayBmcmFtZXMgZm9sbG93Li4uKQ0KKGdkYikgd2hlcmUg MTINKGdkYikgG1syUHRociAxMgggCDENCndhcm5pbmc6IENvdWxkbid0IGZpbmQgZ2VuZXJhbC1w dXJwb3NlIHJlZ2lzdGVycyBpbiBjb3JlIGZpbGUuDQoNCltTd2l0Y2hpbmcgdG8gdGhyZWFkIDEx IChUaHJlYWQgMHg2Mzc4MDAgKExXUCAxMDAzMzApKV0jMCAgMHgwMDAwMDAwODAwOGJhN2NjIGlu IF91bXR4X29wICgpIGZyb20gL2xpYi9saWJjLnNvLjYNCihnZGIpIHRociAxMQgICAgICHdoZXJl IDEyDQojMCAgMHgwMDAwMDAwODAwOGJhN2NjIGluIF91bXR4X29wICgpIGZyb20gL2xpYi9saWJj LnNvLjYNCiMxICAweDAwMDAwMDA4MDA3NjQ0YjMgaW4gX3Rocl91bXR4X3dhaXQgKG10eD0weGUy MDdlOCwgaWQ9MCwgdGltZW91dD0weDApDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGli L2xpYnRoci90aHJlYWQvdGhyX3VtdHguYzo2OA0KIzIgIDB4MDAwMDAwMDgwMDc2MzJiYiBpbiBj b25kX3dhaXRfY29tbW9uIChjb25kPTB4NzFkNjMwLCBtdXRleD0weDcxZDYyOCwgDQogICAgYWJz dGltZT0weDAsIGNhbmNlbD0xKQ0KICAgIGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0 aHIvdGhyZWFkL3Rocl9jb25kLmM6MjI5DQojMyAgMHgwMDAwMDAwODAwNzYzNDc3IGluIF9fcHRo cmVhZF9jb25kX3dhaXQgKGNvbmQ9MHg3MWQ2MzAsIG11dGV4PTB4NzFkNjI4KQ0KICAgIGF0IC9m aWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl9jb25kLmM6MjY5DQojNCAg MHgwMDAwMDAwODAxMDBmOGI5IGluIE9iamVjdE1vbml0b3I6OkVudGVySSAoKQ0KICAgZnJvbSAv ZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFt ZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojNSAgMHgwMDAwMDAwODAxMDBmYzkxIGlu IE9iamVjdE1vbml0b3I6OmVudGVyMiAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMv amF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIv bGlianZtLnNvDQojNiAgMHgwMDAwMDAwODAxMGFhMWI1IGluIE9iamVjdFN5bmNocm9uaXplcjo6 c2xvd19lbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93 b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQoj NyAgMHgwMDAwMDAwODAwZTAzZTM2IGluIEludGVycHJldGVyUnVudGltZTo6bW9uaXRvcmVudGVy ICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJv bC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM4ICAweDAwMDAw MDA4MDFmOGExMWIgaW4gPz8gKCkNCiM5ICAweDAwMDAwMDA4MDFmOGEwZDkgaW4gPz8gKCkNCiMx MCAweDAwMDAwMDAwMDAwMDAwMDMgaW4gPz8gKCkNCiMxMSAweDAwMDAwMDA4MGE1NTRjOTAgaW4g Pz8gKCkNCihNb3JlIHN0YWNrIGZyYW1lcyBmb2xsb3cuLi4pDQooZ2RiKSB3aGVyZSAxMg0oZ2Ri KSAbWzJQdGhyIDExCCAIMA0Kd2FybmluZzogQ291bGRuJ3QgZmluZCBnZW5lcmFsLXB1cnBvc2Ug cmVnaXN0ZXJzIGluIGNvcmUgZmlsZS4NCg0KW1N3aXRjaGluZyB0byB0aHJlYWQgMTAgKFRocmVh ZCAweDYzN2UwMCAoTFdQIDEwMDM0OSkpXSMwICAweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhf b3AgKCkgZnJvbSAvbGliL2xpYmMuc28uNg0KKGdkYikgdGhyIDEwCAgICAgId2hlcmUgMTINCiMw ICAweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkgZnJvbSAvbGliL2xpYmMuc28uNg0K IzEgIDB4MDAwMDAwMDgwMDc2NDRiMyBpbiBfdGhyX3VtdHhfd2FpdCAobXR4PTB4ZTIwN2U4LCBp ZD0wLCB0aW1lb3V0PTB4MCkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhy L3RocmVhZC90aHJfdW10eC5jOjY4DQojMiAgMHgwMDAwMDAwODAwNzYzMmJiIGluIGNvbmRfd2Fp dF9jb21tb24gKGNvbmQ9MHg3MWQ2MzAsIG11dGV4PTB4NzFkNjI4LCANCiAgICBhYnN0aW1lPTB4 MCwgY2FuY2VsPTEpDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJl YWQvdGhyX2NvbmQuYzoyMjkNCiMzICAweDAwMDAwMDA4MDA3NjM0NzcgaW4gX19wdGhyZWFkX2Nv bmRfd2FpdCAoY29uZD0weDcxZDYzMCwgbXV0ZXg9MHg3MWQ2MjgpDQogICAgYXQgL2ZpbGVzL2hl cmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQvdGhyX2NvbmQuYzoyNjkNCiM0ICAweDAwMDAw MDA4MDEwMGY4YjkgaW4gT2JqZWN0TW9uaXRvcjo6RW50ZXJJICgpDQogICBmcm9tIC9maWxlcy9o ZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGli L2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM1ICAweDAwMDAwMDA4MDEwMGZjOTEgaW4gT2JqZWN0 TW9uaXRvcjo6ZW50ZXIyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pk azE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0u c28NCiM2ICAweDAwMDAwMDA4MDEwYWExYjUgaW4gT2JqZWN0U3luY2hyb25pemVyOjpzbG93X2Vu dGVyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29u dHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM3ICAweDAw MDAwMDA4MDBlMDNlMzYgaW4gSW50ZXJwcmV0ZXJSdW50aW1lOjptb25pdG9yZW50ZXIgKCkNCiAg IGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxk L2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzggIDB4MDAwMDAwMDgwMWY4 YTExYiBpbiA/PyAoKQ0KIzkgIDB4MDAwMDAwMDgwMWY4YTBkOSBpbiA/PyAoKQ0KIzEwIDB4MDAw MDAwMDAwMDAwMDAwMyBpbiA/PyAoKQ0KIzExIDB4MDAwMDAwMDgwYTU1NGM5MCBpbiA/PyAoKQ0K KE1vcmUgc3RhY2sgZnJhbWVzIGZvbGxvdy4uLikNCihnZGIpIHdoZXJlIDEyDShnZGIpIBtbMlB0 aHIgMTAIIAgIIAg5DQp3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdp c3RlcnMgaW4gY29yZSBmaWxlLg0KDQpbU3dpdGNoaW5nIHRvIHRocmVhZCA5IChUaHJlYWQgMHg2 M2ZhMDAgKExXUCAxMDAzNTcpKV0jMCAgMHgwMDAwMDAwODAwOGJhN2NjIGluIF91bXR4X29wICgp IGZyb20gL2xpYi9saWJjLnNvLjYNCihnZGIpIHRociA5CAgICAh3aGVyZSAxMg0KIzAgIDB4MDAw MDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIvbGliYy5zby42DQojMSAgMHgw MDAwMDAwODAwNzY0NGIzIGluIF90aHJfdW10eF93YWl0IChtdHg9MHhlMjA3ZTgsIGlkPTAsIHRp bWVvdXQ9MHgwKQ0KICAgIGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFk L3Rocl91bXR4LmM6NjgNCiMyICAweDAwMDAwMDA4MDA3NjMyYmIgaW4gY29uZF93YWl0X2NvbW1v biAoY29uZD0weDcxZDYzMCwgbXV0ZXg9MHg3MWQ2MjgsIA0KICAgIGFic3RpbWU9MHgwLCBjYW5j ZWw9MSkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJf Y29uZC5jOjIyOQ0KIzMgIDB4MDAwMDAwMDgwMDc2MzQ3NyBpbiBfX3B0aHJlYWRfY29uZF93YWl0 IChjb25kPTB4NzFkNjMwLCBtdXRleD0weDcxZDYyOCkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qv c3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfY29uZC5jOjI2OQ0KIzQgIDB4MDAwMDAwMDgwMTAw ZjhiOSBpbiBPYmplY3RNb25pdG9yOjpFbnRlckkgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNk L3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQv c2VydmVyL2xpYmp2bS5zbw0KIzUgIDB4MDAwMDAwMDgwMTAwZmM5MSBpbiBPYmplY3RNb25pdG9y OjplbnRlcjIgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29y ay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzYg IDB4MDAwMDAwMDgwMTBhYTFiNSBpbiBPYmplY3RTeW5jaHJvbml6ZXI6OnNsb3dfZW50ZXIgKCkN CiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1 aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzcgIDB4MDAwMDAwMDgw MGUwM2UzNiBpbiBJbnRlcnByZXRlclJ1bnRpbWU6Om1vbml0b3JlbnRlciAoKQ0KICAgZnJvbSAv ZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFt ZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojOCAgMHgwMDAwMDAwODAxZjhhMTFiIGlu ID8/ICgpDQojOSAgMHgwMDAwMDAwODAxZjhhMGQ5IGluID8/ICgpDQojMTAgMHgwMDAwMDAwMDAw MDAwMDAzIGluID8/ICgpDQojMTEgMHgwMDAwMDAwODBhNTU0YzkwIGluID8/ICgpDQooTW9yZSBz dGFjayBmcmFtZXMgZm9sbG93Li4uKQ0KKGdkYikgd2hlcmUgMTINKGdkYikgG1szUHRociA5CCAI OA0Kd2FybmluZzogQ291bGRuJ3QgZmluZCBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXJzIGluIGNv cmUgZmlsZS4NCg0KW1N3aXRjaGluZyB0byB0aHJlYWQgOCAoVGhyZWFkIDB4NjNmZTAwIChMV1Ag MTAwMzc0KSldIzAgIDB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIv bGliYy5zby42DQooZ2RiKSB0aHIgOAgICAgId2hlcmUgMTINCiMwICAweDAwMDAwMDA4MDA4YmE3 Y2MgaW4gX3VtdHhfb3AgKCkgZnJvbSAvbGliL2xpYmMuc28uNg0KIzEgIDB4MDAwMDAwMDgwMDc2 NDRiMyBpbiBfdGhyX3VtdHhfd2FpdCAobXR4PTB4ZTIwN2U4LCBpZD0wLCB0aW1lb3V0PTB4MCkN CiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfdW10eC5j OjY4DQojMiAgMHgwMDAwMDAwODAwNzYzMmJiIGluIGNvbmRfd2FpdF9jb21tb24gKGNvbmQ9MHg3 MWQ2MzAsIG11dGV4PTB4NzFkNjI4LCANCiAgICBhYnN0aW1lPTB4MCwgY2FuY2VsPTEpDQogICAg YXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQvdGhyX2NvbmQuYzoyMjkN CiMzICAweDAwMDAwMDA4MDA3NjM0NzcgaW4gX19wdGhyZWFkX2NvbmRfd2FpdCAoY29uZD0weDcx ZDYzMCwgbXV0ZXg9MHg3MWQ2MjgpDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGliL2xp YnRoci90aHJlYWQvdGhyX2NvbmQuYzoyNjkNCiM0ICAweDAwMDAwMDA4MDEwMGY4YjkgaW4gT2Jq ZWN0TW9uaXRvcjo6RW50ZXJJICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZh L2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJq dm0uc28NCiM1ICAweDAwMDAwMDA4MDEwMGZjOTEgaW4gT2JqZWN0TW9uaXRvcjo6ZW50ZXIyICgp DQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9i dWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM2ICAweDAwMDAwMDA4 MDEwYWExYjUgaW4gT2JqZWN0U3luY2hyb25pemVyOjpzbG93X2VudGVyICgpDQogICBmcm9tIC9m aWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1k NjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM3ICAweDAwMDAwMDA4MDBlMDNlMzYgaW4g SW50ZXJwcmV0ZXJSdW50aW1lOjptb25pdG9yZW50ZXIgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUv YnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1k NjQvc2VydmVyL2xpYmp2bS5zbw0KIzggIDB4MDAwMDAwMDgwMWY4YTExYiBpbiA/PyAoKQ0KIzkg IDB4MDAwMDAwMDgwMWY4YTBkOSBpbiA/PyAoKQ0KIzEwIDB4MDAwMDAwMDAwMDAwMDAwMyBpbiA/ PyAoKQ0KIzExIDB4MDAwMDAwMDgwYTU1NGM5MCBpbiA/PyAoKQ0KKE1vcmUgc3RhY2sgZnJhbWVz IGZvbGxvdy4uLikNCihnZGIpIHdoZXJlIDEyDShnZGIpIBtbM1B0aHIgOAggCDcNCndhcm5pbmc6 IENvdWxkbid0IGZpbmQgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBpbiBjb3JlIGZpbGUuDQoN CltTd2l0Y2hpbmcgdG8gdGhyZWFkIDcgKFRocmVhZCAweDY1MzIwMCAoTFdQIDEwMDM4MCkpXSMw ICAweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkgZnJvbSAvbGliL2xpYmMuc28uNg0K KGdkYikgdGhyIDcICAgICHdoZXJlIDEyDQojMCAgMHgwMDAwMDAwODAwOGJhN2NjIGluIF91bXR4 X29wICgpIGZyb20gL2xpYi9saWJjLnNvLjYNCiMxICAweDAwMDAwMDA4MDA3NjQ0YjMgaW4gX3Ro cl91bXR4X3dhaXQgKG10eD0weGUyMDdlOCwgaWQ9MCwgdGltZW91dD0weDApDQogICAgYXQgL2Zp bGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQvdGhyX3VtdHguYzo2OA0KIzIgIDB4 MDAwMDAwMDgwMDc2MzJiYiBpbiBjb25kX3dhaXRfY29tbW9uIChjb25kPTB4NzFkNjMwLCBtdXRl eD0weDcxZDYyOCwgDQogICAgYWJzdGltZT0weDAsIGNhbmNlbD0xKQ0KICAgIGF0IC9maWxlcy9o ZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl9jb25kLmM6MjI5DQojMyAgMHgwMDAw MDAwODAwNzYzNDc3IGluIF9fcHRocmVhZF9jb25kX3dhaXQgKGNvbmQ9MHg3MWQ2MzAsIG11dGV4 PTB4NzFkNjI4KQ0KICAgIGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFk L3Rocl9jb25kLmM6MjY5DQojNCAgMHgwMDAwMDAwODAxMDBmOGI5IGluIE9iamVjdE1vbml0b3I6 OkVudGVySSAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3Jr L2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojNSAg MHgwMDAwMDAwODAxMDBmYzkxIGluIE9iamVjdE1vbml0b3I6OmVudGVyMiAoKQ0KICAgZnJvbSAv ZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFt ZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojNiAgMHgwMDAwMDAwODAxMGFhMWI1IGlu IE9iamVjdFN5bmNocm9uaXplcjo6c2xvd19lbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9i c2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2 NC9zZXJ2ZXIvbGlianZtLnNvDQojNyAgMHgwMDAwMDAwODAwZTAzZTM2IGluIEludGVycHJldGVy UnVudGltZTo6bW9uaXRvcmVudGVyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9q YXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9s aWJqdm0uc28NCiM4ICAweDAwMDAwMDA4MDFmOGExMWIgaW4gPz8gKCkNCiM5ICAweDAwMDAwMDA4 MDFmOGEwZDkgaW4gPz8gKCkNCiMxMCAweDAwMDAwMDAwMDAwMDAwMDMgaW4gPz8gKCkNCiMxMSAw eDAwMDAwMDA4MGE1NTRjOTAgaW4gPz8gKCkNCihNb3JlIHN0YWNrIGZyYW1lcyBmb2xsb3cuLi4p DQooZ2RiKSB3aGVyZSAxMg0oZ2RiKSAbWzNQdGhyIDcIIAg2DQp3YXJuaW5nOiBDb3VsZG4ndCBm aW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4gY29yZSBmaWxlLg0KDQpbU3dpdGNoaW5n IHRvIHRocmVhZCA2IChUaHJlYWQgMHg2NTM2MDAgKExXUCAxMDAzODEpKV0jMCAgMHgwMDAwMDAw ODAwOGJhN2NjIGluIF91bXR4X29wICgpIGZyb20gL2xpYi9saWJjLnNvLjYNCihnZGIpIHRociA2 CAgICAh3aGVyZSAxMg0KIzAgIDB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBmcm9t IC9saWIvbGliYy5zby42DQojMSAgMHgwMDAwMDAwODAwNzY0NGIzIGluIF90aHJfdW10eF93YWl0 IChtdHg9MHhlMjA3ZTgsIGlkPTAsIHRpbWVvdXQ9MHgwKQ0KICAgIGF0IC9maWxlcy9oZXJlL2Jz ZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl91bXR4LmM6NjgNCiMyICAweDAwMDAwMDA4MDA3 NjMyYmIgaW4gY29uZF93YWl0X2NvbW1vbiAoY29uZD0weDcxZDYzMCwgbXV0ZXg9MHg3MWQ2Mjgs IA0KICAgIGFic3RpbWU9MHgwLCBjYW5jZWw9MSkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3Jj Ni9saWIvbGlidGhyL3RocmVhZC90aHJfY29uZC5jOjIyOQ0KIzMgIDB4MDAwMDAwMDgwMDc2MzQ3 NyBpbiBfX3B0aHJlYWRfY29uZF93YWl0IChjb25kPTB4NzFkNjMwLCBtdXRleD0weDcxZDYyOCkN CiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfY29uZC5j OjI2OQ0KIzQgIDB4MDAwMDAwMDgwMTAwZjhiOSBpbiBPYmplY3RNb25pdG9yOjpFbnRlckkgKCkN CiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1 aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzUgIDB4MDAwMDAwMDgw MTAwZmM5MSBpbiBPYmplY3RNb25pdG9yOjplbnRlcjIgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUv YnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1k NjQvc2VydmVyL2xpYmp2bS5zbw0KIzYgIDB4MDAwMDAwMDgwMTBhYTFiNSBpbiBPYmplY3RTeW5j aHJvbml6ZXI6OnNsb3dfZW50ZXIgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2ph dmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xp Ymp2bS5zbw0KIzcgIDB4MDAwMDAwMDgwMGUwM2UzNiBpbiBJbnRlcnByZXRlclJ1bnRpbWU6Om1v bml0b3JlbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93 b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQoj OCAgMHgwMDAwMDAwODAxZjhhMTFiIGluID8/ICgpDQojOSAgMHgwMDAwMDAwODAxZjhhMGQ5IGlu ID8/ICgpDQojMTAgMHgwMDAwMDAwMDAwMDAwMDAzIGluID8/ICgpDQojMTEgMHgwMDAwMDAwODBh NTU0YzkwIGluID8/ICgpDQooTW9yZSBzdGFjayBmcmFtZXMgZm9sbG93Li4uKQ0KKGdkYikgd2hl cmUgMTINKGdkYikgG1szUHRociA2CCAINQ0Kd2FybmluZzogQ291bGRuJ3QgZmluZCBnZW5lcmFs LXB1cnBvc2UgcmVnaXN0ZXJzIGluIGNvcmUgZmlsZS4NCg0KW1N3aXRjaGluZyB0byB0aHJlYWQg NSAoVGhyZWFkIDB4NjUzYTAwIChMV1AgMTAwMzg0KSldIzAgIDB4MDAwMDAwMDgwMDhiYTdjYyBp biBfdW10eF9vcCAoKSBmcm9tIC9saWIvbGliYy5zby42DQooZ2RiKSB0aHIgNQgICAgId2hlcmUg MTINCiMwICAweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3AgKCkgZnJvbSAvbGliL2xpYmMu c28uNg0KIzEgIDB4MDAwMDAwMDgwMDc2NDRiMyBpbiBfdGhyX3VtdHhfd2FpdCAobXR4PTB4ZTIw N2U4LCBpZD0wLCB0aW1lb3V0PTB4MCkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIv bGlidGhyL3RocmVhZC90aHJfdW10eC5jOjY4DQojMiAgMHgwMDAwMDAwODAwNzYzMmJiIGluIGNv bmRfd2FpdF9jb21tb24gKGNvbmQ9MHg3MWQ2MzAsIG11dGV4PTB4NzFkNjI4LCANCiAgICBhYnN0 aW1lPTB4MCwgY2FuY2VsPTEpDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRo ci90aHJlYWQvdGhyX2NvbmQuYzoyMjkNCiMzICAweDAwMDAwMDA4MDA3NjM0NzcgaW4gX19wdGhy ZWFkX2NvbmRfd2FpdCAoY29uZD0weDcxZDYzMCwgbXV0ZXg9MHg3MWQ2MjgpDQogICAgYXQgL2Zp bGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQvdGhyX2NvbmQuYzoyNjkNCiM0ICAw eDAwMDAwMDA4MDEwMGY4YjkgaW4gT2JqZWN0TW9uaXRvcjo6RW50ZXJJICgpDQogICBmcm9tIC9m aWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1k NjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM1ICAweDAwMDAwMDA4MDEwMGZjOTEgaW4g T2JqZWN0TW9uaXRvcjo6ZW50ZXIyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9q YXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9s aWJqdm0uc28NCiM2ICAweDAwMDAwMDA4MDEwYWExYjUgaW4gT2JqZWN0U3luY2hyb25pemVyOjpz bG93X2VudGVyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dv cmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM3 ICAweDAwMDAwMDA4MDBlMDNlMzYgaW4gSW50ZXJwcmV0ZXJSdW50aW1lOjptb25pdG9yZW50ZXIg KCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9s L2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzggIDB4MDAwMDAw MDgwMWY4YTExYiBpbiA/PyAoKQ0KIzkgIDB4MDAwMDAwMDgwMWY4YTBkOSBpbiA/PyAoKQ0KIzEw IDB4MDAwMDAwMDAwMDAwMDAwMyBpbiA/PyAoKQ0KIzExIDB4MDAwMDAwMDgwYTU1NGM5MCBpbiA/ PyAoKQ0KKE1vcmUgc3RhY2sgZnJhbWVzIGZvbGxvdy4uLikNCihnZGIpIHdoZXJlIDEyDShnZGIp IBtbM1B0aHIgNQggCDQNCndhcm5pbmc6IENvdWxkbid0IGZpbmQgZ2VuZXJhbC1wdXJwb3NlIHJl Z2lzdGVycyBpbiBjb3JlIGZpbGUuDQoNCltTd2l0Y2hpbmcgdG8gdGhyZWFkIDQgKFRocmVhZCAw eDY1M2UwMCAoTFdQIDEwMDM4OSkpXSMwICAweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhfb3Ag KCkgZnJvbSAvbGliL2xpYmMuc28uNg0KKGdkYikgdGhyIDQICAgICHdoZXJlIDEyDQojMCAgMHgw MDAwMDAwODAwOGJhN2NjIGluIF91bXR4X29wICgpIGZyb20gL2xpYi9saWJjLnNvLjYNCiMxICAw eDAwMDAwMDA4MDA3NjQ0YjMgaW4gX3Rocl91bXR4X3dhaXQgKG10eD0weGUyMDdlOCwgaWQ9MCwg dGltZW91dD0weDApDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJl YWQvdGhyX3VtdHguYzo2OA0KIzIgIDB4MDAwMDAwMDgwMDc2MzJiYiBpbiBjb25kX3dhaXRfY29t bW9uIChjb25kPTB4NzFkNjMwLCBtdXRleD0weDcxZDYyOCwgDQogICAgYWJzdGltZT0weDAsIGNh bmNlbD0xKQ0KICAgIGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Ro cl9jb25kLmM6MjI5DQojMyAgMHgwMDAwMDAwODAwNzYzNDc3IGluIF9fcHRocmVhZF9jb25kX3dh aXQgKGNvbmQ9MHg3MWQ2MzAsIG11dGV4PTB4NzFkNjI4KQ0KICAgIGF0IC9maWxlcy9oZXJlL2Jz ZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl9jb25kLmM6MjY5DQojNCAgMHgwMDAwMDAwODAx MDBmOGI5IGluIE9iamVjdE1vbml0b3I6OkVudGVySSAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9i c2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2 NC9zZXJ2ZXIvbGlianZtLnNvDQojNSAgMHgwMDAwMDAwODAxMDBmYzkxIGluIE9iamVjdE1vbml0 b3I6OmVudGVyMiAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93 b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQoj NiAgMHgwMDAwMDAwODAxMGFhMWI1IGluIE9iamVjdFN5bmNocm9uaXplcjo6c2xvd19lbnRlciAo KQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wv YnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojNyAgMHgwMDAwMDAw ODAwZTAzZTM2IGluIEludGVycHJldGVyUnVudGltZTo6bW9uaXRvcmVudGVyICgpDQogICBmcm9t IC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2Qt YW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM4ICAweDAwMDAwMDA4MDFmOGExMWIg aW4gPz8gKCkNCiM5ICAweDAwMDAwMDA4MDFmOGEwZDkgaW4gPz8gKCkNCiMxMCAweDAwMDAwMDAw MDAwMDAwMDMgaW4gPz8gKCkNCiMxMSAweDAwMDAwMDA4MGE1NTRjOTAgaW4gPz8gKCkNCihNb3Jl IHN0YWNrIGZyYW1lcyBmb2xsb3cuLi4pDQooZ2RiKSB3aGVyZSAxMg0oZ2RiKSAbWzNQdGhyIDQI IAgzDQp3YXJuaW5nOiBDb3VsZG4ndCBmaW5kIGdlbmVyYWwtcHVycG9zZSByZWdpc3RlcnMgaW4g Y29yZSBmaWxlLg0KDQpbU3dpdGNoaW5nIHRvIHRocmVhZCAzIChUaHJlYWQgMHg1YzNjMDAgKExX UCAxMDA0MTEpKV0jMCAgMHgwMDAwMDAwODAwOGJhN2NjIGluIF91bXR4X29wICgpIGZyb20gL2xp Yi9saWJjLnNvLjYNCihnZGIpIHRociAzCAgICAh3aGVyZSAxMg0KIzAgIDB4MDAwMDAwMDgwMDhi YTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIvbGliYy5zby42DQojMSAgMHgwMDAwMDAwODAw NzY0NGIzIGluIF90aHJfdW10eF93YWl0IChtdHg9MHhlMjA3ZTgsIGlkPTAsIHRpbWVvdXQ9MHgw KQ0KICAgIGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl91bXR4 LmM6NjgNCiMyICAweDAwMDAwMDA4MDA3NjMyYmIgaW4gY29uZF93YWl0X2NvbW1vbiAoY29uZD0w eDcxZDYzMCwgbXV0ZXg9MHg3MWQ2MjgsIA0KICAgIGFic3RpbWU9MHgwLCBjYW5jZWw9MSkNCiAg ICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfY29uZC5jOjIy OQ0KIzMgIDB4MDAwMDAwMDgwMDc2MzQ3NyBpbiBfX3B0aHJlYWRfY29uZF93YWl0IChjb25kPTB4 NzFkNjMwLCBtdXRleD0weDcxZDYyOCkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIv bGlidGhyL3RocmVhZC90aHJfY29uZC5jOjI2OQ0KIzQgIDB4MDAwMDAwMDgwMTAwZjhiOSBpbiBP YmplY3RNb25pdG9yOjpFbnRlckkgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2ph dmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xp Ymp2bS5zbw0KIzUgIDB4MDAwMDAwMDgwMTAwZmM5MSBpbiBPYmplY3RNb25pdG9yOjplbnRlcjIg KCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9s L2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzYgIDB4MDAwMDAw MDgwMTBhYTFiNSBpbiBPYmplY3RTeW5jaHJvbml6ZXI6OnNsb3dfZW50ZXIgKCkNCiAgIGZyb20g L2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1h bWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzcgIDB4MDAwMDAwMDgwMGUwM2UzNiBp biBJbnRlcnByZXRlclJ1bnRpbWU6Om1vbml0b3JlbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMvaGVy ZS9ic2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9h bWQ2NC9zZXJ2ZXIvbGlianZtLnNvDQojOCAgMHgwMDAwMDAwODAxZjhhMTFiIGluID8/ICgpDQoj OSAgMHgwMDAwMDAwODAxZjhhMGQ5IGluID8/ICgpDQojMTAgMHgwMDAwMDAwMDAwMDAwMDAzIGlu ID8/ICgpDQojMTEgMHgwMDAwMDAwODBhNTU0YzkwIGluID8/ICgpDQooTW9yZSBzdGFjayBmcmFt ZXMgZm9sbG93Li4uKQ0KKGdkYikgd2hlcmUgMTINKGdkYikgG1szUHRociAzCCAIMg0Kd2Fybmlu ZzogQ291bGRuJ3QgZmluZCBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXJzIGluIGNvcmUgZmlsZS4N Cg0KW1N3aXRjaGluZyB0byB0aHJlYWQgMiAoVGhyZWFkIDB4NWMzMDAwIChMV1AgMTAwMjA3KSld IzAgIDB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIvbGliYy5zby42 DQooZ2RiKSB0aHIgMggICAgIG1s0aHdoZRtbNGxyZSAxMg0KIzAgIDB4MDAwMDAwMDgwMDhiYTdj YyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIvbGliYy5zby42DQojMSAgMHgwMDAwMDAwODAwNzY0 NGIzIGluIF90aHJfdW10eF93YWl0IChtdHg9MHhlMjA3ZTgsIGlkPTAsIHRpbWVvdXQ9MHgwKQ0K ICAgIGF0IC9maWxlcy9oZXJlL2JzZC9zcmM2L2xpYi9saWJ0aHIvdGhyZWFkL3Rocl91bXR4LmM6 NjgNCiMyICAweDAwMDAwMDA4MDA3NjMyYmIgaW4gY29uZF93YWl0X2NvbW1vbiAoY29uZD0weDcx ZDYzMCwgbXV0ZXg9MHg3MWQ2MjgsIA0KICAgIGFic3RpbWU9MHgwLCBjYW5jZWw9MSkNCiAgICBh dCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfY29uZC5jOjIyOQ0K IzMgIDB4MDAwMDAwMDgwMDc2MzQ3NyBpbiBfX3B0aHJlYWRfY29uZF93YWl0IChjb25kPTB4NzFk NjMwLCBtdXRleD0weDcxZDYyOCkNCiAgICBhdCAvZmlsZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGli dGhyL3RocmVhZC90aHJfY29uZC5jOjI2OQ0KIzQgIDB4MDAwMDAwMDgwMTAwZjhiOSBpbiBPYmpl Y3RNb25pdG9yOjpFbnRlckkgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEv amRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2 bS5zbw0KIzUgIDB4MDAwMDAwMDgwMTAwZmM5MSBpbiBPYmplY3RNb25pdG9yOjplbnRlcjIgKCkN CiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1 aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzYgIDB4MDAwMDAwMDgw MTBhYTFiNSBpbiBPYmplY3RTeW5jaHJvbml6ZXI6OnNsb3dfZW50ZXIgKCkNCiAgIGZyb20gL2Zp bGVzL2hlcmUvYnNkL3BvcnRzL2phdmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2 NC9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbw0KIzcgIDB4MDAwMDAwMDgwMGUwM2UzNiBpbiBJ bnRlcnByZXRlclJ1bnRpbWU6Om1vbml0b3JlbnRlciAoKQ0KICAgZnJvbSAvZmlsZXMvaGVyZS9i c2QvcG9ydHMvamF2YS9qZGsxNS93b3JrL2NvbnRyb2wvYnVpbGQvYnNkLWFtZDY0L2xpYi9hbWQ2 NC9zZXJ2ZXIvbGlianZtLnNvDQojOCAgMHgwMDAwMDAwODAxZjhhMTFiIGluID8/ICgpDQojOSAg MHgwMDAwMDAwODAxZjhhMGQ5IGluID8/ICgpDQojMTAgMHgwMDAwMDAwMDAwMDAwMDAzIGluID8/ ICgpDQojMTEgMHgwMDAwMDAwODBhNTU0YzkwIGluID8/ICgpDQooTW9yZSBzdGFjayBmcmFtZXMg Zm9sbG93Li4uKQ0KKGdkYikgd2hlcmUgMTINKGdkYikgG1szUHRociAyCCAIMQ0Kd2FybmluZzog Q291bGRuJ3QgZmluZCBnZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXJzIGluIGNvcmUgZmlsZS4NCg0K W1N3aXRjaGluZyB0byB0aHJlYWQgMSAoVGhyZWFkIDB4ODhiODAwIChMV1AgMTAwMjU5KSldIzAg IDB4MDAwMDAwMDgwMDhiYTdjYyBpbiBfdW10eF9vcCAoKSBmcm9tIC9saWIvbGliYy5zby42DQoo Z2RiKSB0aHIgMQgICAgId2hlcmUgMTINCiMwICAweDAwMDAwMDA4MDA4YmE3Y2MgaW4gX3VtdHhf b3AgKCkgZnJvbSAvbGliL2xpYmMuc28uNg0KIzEgIDB4MDAwMDAwMDgwMDc2NDRiMyBpbiBfdGhy X3VtdHhfd2FpdCAobXR4PTB4ZTIwN2U4LCBpZD0wLCB0aW1lb3V0PTB4MCkNCiAgICBhdCAvZmls ZXMvaGVyZS9ic2Qvc3JjNi9saWIvbGlidGhyL3RocmVhZC90aHJfdW10eC5jOjY4DQojMiAgMHgw MDAwMDAwODAwNzYzMmJiIGluIGNvbmRfd2FpdF9jb21tb24gKGNvbmQ9MHg3MWQ2MzAsIG11dGV4 PTB4NzFkNjI4LCANCiAgICBhYnN0aW1lPTB4MCwgY2FuY2VsPTEpDQogICAgYXQgL2ZpbGVzL2hl cmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQvdGhyX2NvbmQuYzoyMjkNCiMzICAweDAwMDAw MDA4MDA3NjM0NzcgaW4gX19wdGhyZWFkX2NvbmRfd2FpdCAoY29uZD0weDcxZDYzMCwgbXV0ZXg9 MHg3MWQ2MjgpDQogICAgYXQgL2ZpbGVzL2hlcmUvYnNkL3NyYzYvbGliL2xpYnRoci90aHJlYWQv dGhyX2NvbmQuYzoyNjkNCiM0ICAweDAwMDAwMDA4MDEwMGY4YjkgaW4gT2JqZWN0TW9uaXRvcjo6 RW50ZXJJICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsv Y29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM1ICAw eDAwMDAwMDA4MDEwMGZjOTEgaW4gT2JqZWN0TW9uaXRvcjo6ZW50ZXIyICgpDQogICBmcm9tIC9m aWxlcy9oZXJlL2JzZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1k NjQvbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28NCiM2ICAweDAwMDAwMDA4MDEwYWExYjUgaW4g T2JqZWN0U3luY2hyb25pemVyOjpzbG93X2VudGVyICgpDQogICBmcm9tIC9maWxlcy9oZXJlL2Jz ZC9wb3J0cy9qYXZhL2pkazE1L3dvcmsvY29udHJvbC9idWlsZC9ic2QtYW1kNjQvbGliL2FtZDY0 L3NlcnZlci9saWJqdm0uc28NCiM3ICAweDAwMDAwMDA4MDBlMDNlMzYgaW4gSW50ZXJwcmV0ZXJS dW50aW1lOjptb25pdG9yZW50ZXIgKCkNCiAgIGZyb20gL2ZpbGVzL2hlcmUvYnNkL3BvcnRzL2ph dmEvamRrMTUvd29yay9jb250cm9sL2J1aWxkL2JzZC1hbWQ2NC9saWIvYW1kNjQvc2VydmVyL2xp Ymp2bS5zbw0KIzggIDB4MDAwMDAwMDgwMWY4YTExYiBpbiA/PyAoKQ0KIzkgIDB4MDAwMDAwMDgw MWY4YTBkOSBpbiA/PyAoKQ0KIzEwIDB4MDAwMDAwMDAwMDAwMDAwMyBpbiA/PyAoKQ0KIzExIDB4 MDAwMDAwMDgwYTU1NGM5MCBpbiA/PyAoKQ0KKE1vcmUgc3RhY2sgZnJhbWVzIGZvbGxvdy4uLikN CihnZGIpIHF1aXQNCltyb290QHByaW1hcnkgL3Vzci90ZW1wXSMgZXhpdA0KZXhpdA0KClNjcmlw dCBkb25lIG9uIE1vbiBEZWMgIDMgMTM6NDI6MjYgMjAwNwo= --=-=-=--