From owner-freebsd-gecko@FreeBSD.ORG Mon Feb 16 17:43:02 2015 Return-Path: Delivered-To: gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6CC334A1 for ; Mon, 16 Feb 2015 17:43:02 +0000 (UTC) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bbn0105.outbound.protection.outlook.com [157.56.111.105]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BD314863 for ; Mon, 16 Feb 2015 17:43:01 +0000 (UTC) Received: from BY2PR03CA004.namprd03.prod.outlook.com (10.255.93.21) by BLUPR03MB591.namprd03.prod.outlook.com (10.255.124.37) with Microsoft SMTP Server (TLS) id 15.1.81.19; Mon, 16 Feb 2015 17:42:53 +0000 Received: from BL2FFO11OLC004.protection.gbl (10.255.93.4) by BY2PR03CA004.outlook.office365.com (10.255.93.21) with Microsoft SMTP Server (TLS) id 15.1.87.18 via Frontend Transport; Mon, 16 Feb 2015 17:42:52 +0000 Received: from 027-smtp-out.mcd.com (206.191.245.84) by BL2FFO11OLC004.mail.protection.outlook.com (10.173.161.188) with Microsoft SMTP Server (TLS) id 15.1.99.6 via Frontend Transport; Mon, 16 Feb 2015 17:42:51 +0000 Received: from BN1PRD9102MB037.027d.mgd.msft.net ([169.254.14.45]) by BN1PRD9102HT001.027d.mgd.msft.net ([141.251.22.78]) with mapi id 14.16.0478.000; Mon, 16 Feb 2015 17:42:43 +0000 From: Javali Kartik To: "gecko@freebsd.org" Subject: RE: firefox installation error Thread-Topic: firefox installation error Thread-Index: AdBKDvQ9FYhnS1c0TYetA/TxTl0wdQAAPs+w Date: Mon, 16 Feb 2015 17:42:42 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [108.171.131.189] Content-Type: multipart/mixed; boundary="_006_C363C6AE639BBE4485EFCCDFE96BBFDD10EBC528BN1PRD9102MB037_" MIME-Version: 1.0 X-OrganizationHeadersPreserved: BN1PRD9102HT001.027d.mgd.msft.net X-EOPAttributedMessage: 0 Received-SPF: Pass (protection.outlook.com: domain of us.mcd.com designates 206.191.245.84 as permitted sender) receiver=protection.outlook.com; client-ip=206.191.245.84; helo=027-smtp-out.mcd.com; Authentication-Results: spf=pass (sender IP is 206.191.245.84) smtp.mailfrom=Kartik.Javali@us.mcd.com; freebsd.org; dkim=none (message not signed) header.d=none; X-Forefront-Antispam-Report: CIP:206.191.245.84; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(438002)(164054003)(2351001)(19580405001)(86362001)(16236675004)(22756005)(4610100001)(2501002)(18206015028)(19580395003)(33656002)(92566002)(46102003)(2900100001)(15975445007)(62966003)(450100001)(5260100001)(84326002)(6806004)(2920100001)(102836002)(568964001)(77156002)(2930100002)(19627595001)(19625215002)(104016003)(110136001)(17760045003)(2656002)(87936001)(86146001)(19300405004)(107886001)(99936001)(106466001)(55846006)(54356999)(512954002)(66066001)(50986999); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR03MB591; H:027-smtp-out.mcd.com; FPR:; SPF:Pass; MLV:sfv; LANG:en; X-CrossPremisesHeadersPromoted: BL2FFO11OLC004.protection.gbl X-CrossPremisesHeadersFiltered: BL2FFO11OLC004.protection.gbl X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB591; X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004); SRVR:BLUPR03MB591; X-Forefront-PRVS: 0489CFBAC9 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB591; X-OriginatorOrg: us.mcd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2015 17:42:51.4605 (UTC) X-MS-Exchange-CrossTenant-Id: c05b8d5a-b883-4afb-ae93-db5db239911c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=c05b8d5a-b883-4afb-ae93-db5db239911c; Ip=[206.191.245.84] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB591 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Feb 2015 17:43:02 -0000 --_006_C363C6AE639BBE4485EFCCDFE96BBFDD10EBC528BN1PRD9102MB037_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, I recently downloaded FreeBSD RELEASE 10.1 image (iso for DVD) and installe= d on a target device having Intel Celeron processor@ 2Ghz 30GB harddrive. The FreeBSD install went through well ( I guess). Later, I tried to install firefox from ports collection. I changed my directory to following: root@/usr/ports/www/firefox and I ran following command, # make install clean It took really long and later the installation aborted with error message a= nd onscreen tip to send the 'config.log' to yourself. I have attached the c= onfig.log file for your reference. Could you please help me guide through the installation of firefox? In the meanwhile, I am also taking a look at other answers posted on forums= . Thanks, Kartik V Javali (Consultant, IGATE) [image007] ...........................................................................= ...........................................................................= .................... McDonalds Corporation, Oak Brook, IL, USA | Desk: 630-623-2768 | Cell: 617-= 417-1506 | Location: PLZ-3E-134-186 ________________________________ The information contained in this e-mail and any accompanying documents is = confidential, may be privileged, and is intended solely for the person and/= or entity to whom it is addressed (i.e. those identified in the "To" and "c= c" box). They are the property of McDonald's Corporation. Unauthorized revi= ew, use, disclosure, or copying of this communication, or any part thereof,= is strictly prohibited and may be unlawful. If you have received this e-ma= il in error, please return the e-mail and attachments to the sender and del= ete the e-mail and attachments and any copy from your system. McDonald's th= anks you for your cooperation. --_006_C363C6AE639BBE4485EFCCDFE96BBFDD10EBC528BN1PRD9102MB037_ Content-Type: application/octet-stream; name="config.log" Content-Description: config.log Content-Disposition: attachment; filename="config.log"; size=84709; creation-date="Mon, 16 Feb 2015 18:11:49 GMT"; modification-date="Mon, 16 Feb 2015 18:11:48 GMT" Content-Transfer-Encoding: base64 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCmNvbmZpZ3VyZToxMjA2OiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNv bmZpZ3VyZToxMjI3OiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjEyNDU6 IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToxMzIxOiBjaGVja2luZyBmb3Ig bWF3awpjb25maWd1cmU6MTUxNjogY2hlY2tpbmcgUHl0aG9uIGVudmlyb25tZW50IGlzIE1vemls bGEgdmlydHVhbGVudgpjb25maWd1cmU6MTczNzogY2hlY2tpbmcgZm9yIC91c3IvbG9jYWwvYmlu L3BlcmwKY29uZmlndXJlOjMxNjQ6IGNoZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjMyNzc6IGNo ZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKGNjIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIv ZmlyZWZveCkgd29ya3MKY29uZmlndXJlOjMyOTM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAg LU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCBjb25mdGVzdC5j ICAxPiY1CmNvbmZpZ3VyZTozMjkwOjE6IHdhcm5pbmc6IHR5cGUgc3BlY2lmaWVyIG1pc3Npbmcs IGRlZmF1bHRzIHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0KbWFpbigpe3JldHVybigwKTt9Cl5+ fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KY29uZmlndXJlOjMzMTk6IGNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgKGNjIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAt TC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCkgaXMgYSBj cm9zcy1jb21waWxlcgpjb25maWd1cmU6MzMyNDogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgR05VIEMKY29uZmlndXJlOjMzMzM6IGNjIC1FIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjMzNTI6 IGNoZWNraW5nIHdoZXRoZXIgY2MgYWNjZXB0cyAtZwpjb25maWd1cmU6MzM5MzogY2hlY2tpbmcg Zm9yIGMrKwpjb25maWd1cmU6MzQyNTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVy IChjKysgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgIC1ML3Vzci9sb2NhbC9s aWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94KSB3b3Jrcwpjb25maWd1cmU6MzQ0 MTogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vz ci9sb2NhbC9saWIvZmlyZWZveCBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3VyZTozNDY3OiBjaGVj a2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKGMrKyAtTzIgLXBpcGUgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nICAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGli L2ZpcmVmb3gpIGlzIGEgY3Jvc3MtY29tcGlsZXIKY29uZmlndXJlOjM0NzI6IGNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDKysKY29uZmlndXJlOjM0ODE6IGMrKyAtRSBjb25mdGVz dC5DCmNvbmZpZ3VyZTozNTAwOiBjaGVja2luZyB3aGV0aGVyIGMrKyBhY2NlcHRzIC1nCmNvbmZp Z3VyZTozNTM0OiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZTozNTY2OiBjaGVja2luZyBm b3IgYXMKY29uZmlndXJlOjM2MjA6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6MzY1NTogY2hl Y2tpbmcgZm9yIGxkCmNvbmZpZ3VyZTozNjkwOiBjaGVja2luZyBmb3Igc3RyaXAKY29uZmlndXJl OjM3MjU6IGNoZWNraW5nIGZvciB3aW5kcmVzCmNvbmZpZ3VyZTo0NjU2OiBjaGVja2luZyBob3cg dG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NDczNjogY2hlY2tpbmcgaG93IHRv IHJ1biB0aGUgQysrIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NDc1NDogYysrIC1FIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApj b25maWd1cmU6NDgzODogY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFsbApjb25m aWd1cmU6NDg5MTogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpjb25maWd1cmU6NDkxNDog Y2hlY2tpbmcgZm9yIG1pbmltdW0gcmVxdWlyZWQgcGVybCB2ZXJzaW9uID49IDUuMDA2CmNvbmZp Z3VyZTo0OTI1OiBjaGVja2luZyBmb3IgZnVsbCBwZXJsIGluc3RhbGxhdGlvbgpjb25maWd1cmU6 NDk0MzogY2hlY2tpbmcgZm9yIGRveHlnZW4KY29uZmlndXJlOjQ5OTI6IGNoZWNraW5nIGZvciBh dXRvY29uZgpjb25maWd1cmU6NTA0MzogY2hlY2tpbmcgZm9yIHVuemlwCmNvbmZpZ3VyZTo1MDk5 OiBjaGVja2luZyBmb3IgemlwCmNvbmZpZ3VyZTo1MTUzOiBjaGVja2luZyBmb3IgeGFyZ3MKY29u ZmlndXJlOjUyMDU6IGNoZWNraW5nIGZvciBycG1idWlsZApjb25maWd1cmU6NTQ1OTogY2hlY2tp bmcgZm9yIGdtYWtlCmNvbmZpZ3VyZTo1NTI2OiBjaGVja2luZyBmb3IgWApjb25maWd1cmU6NTg0 MzogY2hlY2tpbmcgZm9yIGRuZXRfbnRvYSBpbiAtbGRuZXQKY29uZmlndXJlOjU4NjI6IGNjIC1v IGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9s aWIvZmlyZWZveCBjb25mdGVzdC5jIC1sZG5ldCAgIDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBm aW5kIC1sZG5ldApjYzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29k ZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgojbGluZSA1ODUxICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVy cmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwov KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLwpjaGFyIGRuZXRfbnRvYSgpOwoKaW50IG1haW4oKSB7CmRuZXRfbnRv YSgpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjU4ODQ6IGNoZWNraW5nIGZvciBkbmV0X250b2Eg aW4gLWxkbmV0X3N0dWIKY29uZmlndXJlOjU5MDM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAg LU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCBjb25mdGVzdC5j IC1sZG5ldF9zdHViICAgMT4mNQovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxkbmV0X3N0dWIK Y2M6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12 IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg NTg5MiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdj YzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KY2hhciBkbmV0X250b2EoKTsKCmludCBtYWluKCkgewpkbmV0X250b2EoKQo7IHJldHVy biAwOyB9CmNvbmZpZ3VyZTo1OTMyOiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZQpjb25maWd1 cmU6NjAzNDogY2hlY2tpbmcgZm9yIGNvbm5lY3QKY29uZmlndXJlOjYwNjY6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmly ZWZveCBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZTo2MTMwOiBjaGVja2luZyBmb3IgcmVtb3Zl CmNvbmZpZ3VyZTo2MTYyOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggY29uZnRlc3QuYyAgMT4mNQpjb25maWd1 cmU6NjIyNjogY2hlY2tpbmcgZm9yIHNobWF0CmNvbmZpZ3VyZTo2MjU4OiBjYyAtbyBjb25mdGVz dCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVm b3ggY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6NjMzMTogY2hlY2tpbmcgZm9yIEljZUNvbm5l Y3Rpb25OdW1iZXIgaW4gLWxJQ0UKY29uZmlndXJlOjYzNTA6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAt cGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtTC91 c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxJQ0UgICAxPiY1CmNvbmZpZ3VyZTo2NzY3OiBjYyAt YyAgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo2 NzYzOjE1OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnX190aHVtYjJfXycK cmV0dXJuIHNpemVvZihfX3RodW1iMl9fKTsKICAgICAgICAgICAgICBeCjEgZXJyb3IgZ2VuZXJh dGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjc2MCAiY29uZmlndXJl IgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCmludCBtYWluKCkgewpyZXR1cm4gc2l6ZW9mKF9fdGh1 bWIyX18pOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo3MDIxOiBjaGVja2luZyB0aGF0IHN0YXRp YyBhc3NlcnRpb24gbWFjcm9zIHVzZWQgaW4gYXV0b2NvbmYgdGVzdHMgd29yawpjb25maWd1cmU6 NzA0MjogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3MDU5OiBjYyAtYyAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjcwNTk6MTogZXJyb3I6ICdzdGF0aWNfYXNz ZXJ0X2xpbmVfNzA1OScgZGVjbGFyZWQgYXMgYW4gYXJyYXkgd2l0aCBhIG5lZ2F0aXZlIHNpemUK Q09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkKXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29u ZmlndXJlOjcwNTQ6NDQ6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NPTkZJR1VSRV9TVEFU SUNfQVNTRVJUJwojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKGNvbmRpdGlvbikgQ09O RklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9fTElORV9fKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25maWd1cmU6NzA1NTo1NTogbm90ZTogZXhwYW5k ZWQgZnJvbSBtYWNybyAnQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTCcKI2RlZmluZSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJ Q19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZTo3MDU2Ojk0OiBub3RlOiBleHBhbmRlZCBmcm9t IG1hY3JvICdDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMicKI2RlZmluZSBDT05GSUdVUkVf U1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpIHR5cGVkZWYgaW50IHN0YXRpY19h c3NlcnRfbGluZV8jI2xpbmVbKGNvbmRpdGlvbikgPyAxIDogLTFdCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgZXJyb3IgZ2VuZXJhdGVk Lgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNzA1MiAiY29uZmlndXJlIgoj aW5jbHVkZSAiY29uZmRlZnMuaCIKCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29u ZGl0aW9uKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18p CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIGxpbmUpIENP TkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkKI2RlZmluZSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpIHR5cGVkZWYgaW50IHN0 YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNvbmRpdGlvbikgPyAxIDogLTFdCgppbnQgbWFpbigp IHsKQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6NzA4 MjogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6NzA5OTogYysrIC1jIC1P MiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6NzA5OToxOiBlcnJvcjogJ3N0YXRpY19hc3Nl cnRfbGluZV83MDk5JyBkZWNsYXJlZCBhcyBhbiBhcnJheSB3aXRoIGEgbmVnYXRpdmUgc2l6ZQpD T05GSUdVUkVfU1RBVElDX0FTU0VSVCgwKQpefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25m aWd1cmU6NzA5NDo0NDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ09ORklHVVJFX1NUQVRJ Q19BU1NFUlQnCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9uKSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZTo3MDk1OjU1OiBub3RlOiBleHBhbmRl ZCBmcm9tIG1hY3JvICdDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMJwojZGVmaW5lIENPTkZJ R1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElD X0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjcwOTY6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb20g bWFjcm8gJ0NPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyJwojZGVmaW5lIENPTkZJR1VSRV9T VEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fz c2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KMSBlcnJvciBnZW5lcmF0ZWQu CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA3MDkyICJjb25maWd1cmUiCiNp bmNsdWRlICJjb25mZGVmcy5oIgoKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25k aXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykK I2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09O RklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKQojZGVmaW5lIENPTkZJ R1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3Rh dGljX2Fzc2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KCmludCBtYWluKCkg ewpDT05GSUdVUkVfU1RBVElDX0FTU0VSVCgwKQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo3Mjk0 OiBjaGVja2luZyBmb3IgLS1ub2V4ZWNzdGFjayBvcHRpb24gdG8gYXMKY29uZmlndXJlOjczMDU6 IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZn bnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdhLC0tbm9leGVjc3RhY2sgLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpj b25maWd1cmU6NzMxODogY2hlY2tpbmcgZm9yIC16IG5vZXhlY3N0YWNrIG9wdGlvbiB0byBsZApj b25maWd1cmU6NzMyOTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2Nh bC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFj ayBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZTo3MzQyOiBjaGVja2luZyBmb3IgLXogdGV4dCBv cHRpb24gdG8gbGQKY29uZmlndXJlOjczNTM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6NzM2 NzogY2hlY2tpbmcgZm9yIC0tYnVpbGQtaWQgb3B0aW9uIHRvIGxkCmNvbmZpZ3VyZTo3Mzc4OiBj YyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu dTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1RdW51c2VkLWFyZ3VtZW50 cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRo LC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IC1X bCwtLWJ1aWxkLWlkIGNvbmZ0ZXN0LmMgIDE+JjUKL3Vzci9iaW4vbGQ6IHVucmVjb2duaXplZCBv cHRpb24gJy0tYnVpbGQtaWQnCi91c3IvYmluL2xkOiB1c2UgdGhlIC0taGVscCBvcHRpb24gZm9y IHVzYWdlIGluZm9ybWF0aW9uCmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGgg ZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CiNsaW5lIDczNzEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi CgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjczOTI6IGNoZWNraW5nIGZv ciAtLWlnbm9yZS11bnJlc29sdmVkLXN5bWJvbCBvcHRpb24gdG8gbGQKY29uZmlndXJlOjc0MDQ6 IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVF1bnVzZWQtYXJndW1l bnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBh dGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQg LVdsLC0taWdub3JlLXVucmVzb2x2ZWQtc3ltYm9sLGVudmlyb24gY29uZnRlc3QuYyAgMT4mNQov dXNyL2Jpbi9sZDogdW5yZWNvZ25pemVkIG9wdGlvbiAnLS1pZ25vcmUtdW5yZXNvbHZlZC1zeW1i b2wnCi91c3IvYmluL2xkOiB1c2UgdGhlIC0taGVscCBvcHRpb24gZm9yIHVzYWdlIGluZm9ybWF0 aW9uCmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVz ZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs aW5lIDczOTcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgppbnQgbWFpbigpIHsK CjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjc0MTk6IGNoZWNraW5nIGlmIHRvb2xjaGFpbiBzdXBw b3J0cyAtbXNzc2UzIG9wdGlvbgpjb25maWd1cmU6NzQzMTogY2MgLWMgLU8yIC1waXBlICAtTzMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtbXNzc2UzIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjc0NDY6IGNoZWNraW5nIGlmIHRvb2xj aGFpbiBzdXBwb3J0cyAtbXNzZTQuMSBvcHRpb24KY29uZmlndXJlOjc0NTg6IGNjIC1jIC1PMiAt cGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLW1zc2U0LjEgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NzQ3NDogY2hlY2tp bmcgZm9yIHg4NiBBVlgyIGFzbSBzdXBwb3J0IGluIGNvbXBpbGVyCmNvbmZpZ3VyZTo3NDgzOiBj YyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251 ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjc1NDI6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZQpj b25maWd1cmU6NzU2NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1X ZXJyb3I9cmV0dXJuLXR5cGUgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NzU5MzogY2hlY2tpbmcgd2hldGhlciB0 aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV2Vycm9yPWludC10by1wb2ludGVyLWNhc3QKY29uZmln dXJlOjc2MTY6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV2Vycm9y PWludC10by1wb2ludGVyLWNhc3QgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NzY0NDogY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV3R5cGUtbGltaXRzCmNvbmZpZ3VyZTo3NjY3OiBj YyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251 ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVd0eXBlLWxpbWl0cyAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1 CmNvbmZpZ3VyZTo3Njk1OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRz IC1XZW1wdHktYm9keQpjb25maWd1cmU6NzcxODogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtV2Vycm9yIC1XZW1wdHktYm9keSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3NzQ2OiBjaGVja2luZyB3 aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1Xc2lnbi1jb21wYXJlCmNvbmZpZ3VyZTo3 NzY5OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5 IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdzaWduLWNvbXBh cmUgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgMT4mNQpjb25maWd1cmU6Nzg1ODogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVy IHN1cHBvcnRzIC1XZXJyb3I9cmV0dXJuLXR5cGUKY29uZmlndXJlOjc4ODE6IGMrKyAtYyAtTzIg LXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLVdlcnJvciAtV2Vycm9yPXJldHVybi10eXBlIC1RdW51c2VkLWFyZ3VtZW50 cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjc5 MDk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV2Vycm9yPWlu dC10by1wb2ludGVyLWNhc3QKY29uZmlndXJlOjc5MzI6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1m bm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LVdlcnJvciAtV2Vycm9yPWludC10by1wb2ludGVyLWNhc3QgLVF1bnVzZWQtYXJndW1lbnRzIC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6Nzk2MDog Y2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMK Y29uZmlndXJlOjc5ODM6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5n ICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV3R5cGUtbGlt aXRzIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5DIDE+JjUKY29uZmlndXJlOjgwMTE6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxl ciBzdXBwb3J0cyAtV2VtcHR5LWJvZHkKY29uZmlndXJlOjgwMzQ6IGMrKyAtYyAtTzIgLXBpcGUg LU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLVdlcnJvciAtV2VtcHR5LWJvZHkgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6ODA2MjogY2hlY2tpbmcg d2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xc2lnbi1jb21wYXJlCmNvbmZpZ3Vy ZTo4MDg1OiBjKysgLWMgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZuby1l eGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdzaWduLWNvbXBhcmUgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4m NQpjb25maWd1cmU6ODEyMDogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBv cnRzIC1Xbm8taW52YWxpZC1vZmZzZXRvZgpjb25maWd1cmU6ODE0MzogYysrIC1jIC1PMiAtcGlw ZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1h bGlhc2luZyAtV2Vycm9yIC1XaW52YWxpZC1vZmZzZXRvZiAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTo4MTcxOiBj aGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1pbmxpbmUtbmV3 LWRlbGV0ZQpjb25maWd1cmU6ODE5NDogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1X aW5saW5lLW5ldy1kZWxldGUgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6ODI0NjogY2hlY2tpbmcgd2hldGhlciB0 aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tZXh0ZW5kZWQtb2Zmc2V0b2YKY29uZmlndXJl OjgyNjk6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4 Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV2V4dGVuZGVkLW9mZnNldG9m IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5D IDE+JjUKY29uZmlndXJlOjgzMDc6IGNoZWNraW5nIHdoZXRoZXIgbGQgaGFzIGFyY2hpdmUgZXh0 cmFjdGlvbiBmbGFncwpjb25maWd1cmU6ODMzMTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAt TzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgLVdsLC0td2hvbGUtYXJjaGl2ZSBjb25mdGVzdC5jIC1XbCwtLW5vLXdob2xlLWFyY2hpdmUg MT4mNQpjb25maWd1cmU6ODM2NjogY2hlY2tpbmcgZm9yIDY0LWJpdCBPUwpjb25maWd1cmU6ODM3 NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAt ZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo4Mzc1OjE6 IGVycm9yOiAnc3RhdGljX2Fzc2VydF9saW5lXzgzNzUnIGRlY2xhcmVkIGFzIGFuIGFycmF5IHdp dGggYSBuZWdhdGl2ZSBzaXplCkNPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKHNpemVvZih2b2lkKikg PT0gOCkKXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25maWd1 cmU6ODM3MDo0NDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ09ORklHVVJFX1NUQVRJQ19B U1NFUlQnCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9uKSBDT05GSUdV UkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZTo4MzcxOjU1OiBub3RlOiBleHBhbmRlZCBm cm9tIG1hY3JvICdDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMJwojZGVmaW5lIENPTkZJR1VS RV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FT U0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjgzNzI6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFj cm8gJ0NPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyJwojZGVmaW5lIENPTkZJR1VSRV9TVEFU SUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2Vy dF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KMSBlcnJvciBnZW5lcmF0ZWQuCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA4MzY4ICJjb25maWd1cmUiCiNpbmNs dWRlICJjb25mZGVmcy5oIgoKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRp b24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykKI2Rl ZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklH VVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKQojZGVmaW5lIENPTkZJR1VS RV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGlj X2Fzc2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KCmludCBtYWluKCkgewpD T05GSUdVUkVfU1RBVElDX0FTU0VSVChzaXplb2Yodm9pZCopID09IDgpCjsgcmV0dXJuIDA7IH0K Y29uZmlndXJlOjg3MjA6IGNoZWNraW5nIGZvciBjdXN0b20gPGludHR5cGVzLmg+IGltcGxlbWVu dGF0aW9uCmNvbmZpZ3VyZToxMDAxMTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVy IChjKysgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZuby1leGNlcHRpb25z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJw YXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0 KSBhY3R1YWxseSBpcyBhIEMrKyBjb21waWxlcgpjb25maWd1cmU6MTAwMzA6IGMrKyAtbyBjb25m dGVzdCAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9j YWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LkMg IDE+JjUKY29uZmlndXJlOjEwMjA4OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcwpj b25maWd1cmU6MTAzMTU6IGNoZWNraW5nIGZvciB3b3JraW5nIGNvbnN0CmNvbmZpZ3VyZToxMDM2 OTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAt ZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTAzOTM6IGNoZWNr aW5nIGZvciBtb2RlX3QKY29uZmlndXJlOjEwNDI5OiBjaGVja2luZyBmb3Igb2ZmX3QKY29uZmln dXJlOjEwNDY1OiBjaGVja2luZyBmb3IgcGlkX3QKY29uZmlndXJlOjEwNTAxOiBjaGVja2luZyBm b3Igc2l6ZV90CmNvbmZpZ3VyZToxMDU1MTogY2hlY2tpbmcgZm9yIHNzaXplX3QKY29uZmlndXJl OjEwNTg5OiBjaGVja2luZyBmb3Igc3RfYmxrc2l6ZSBpbiBzdHJ1Y3Qgc3RhdApjb25maWd1cmU6 MTA2MDI6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251 OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjEwNTk4OjE4 OiB3YXJuaW5nOiBleHByZXNzaW9uIHJlc3VsdCB1bnVzZWQgWy1XdW51c2VkLXZhbHVlXQpzdHJ1 Y3Qgc3RhdCBzOyBzLnN0X2Jsa3NpemU7CiAgICAgICAgICAgICAgIH4gXn5+fn5+fn5+fgoxIHdh cm5pbmcgZ2VuZXJhdGVkLgpjb25maWd1cmU6MTA2MjY6IGNoZWNraW5nIGZvciBzaWdpbmZvX3QK Y29uZmlndXJlOjEwNjM5OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3Vy ZToxMDY4NTogY2hlY2tpbmcgZm9yIGdjYyBjKysweCBoZWFkZXJzIGJ1ZyB3aXRob3V0IHJ0dGkK Y29uZmlndXJlOjEwNjk3OiBjKysgLWMgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMDkwODogY2hlY2tpbmcgZm9yIGdjYyBQ UjQ5OTExCmNvbmZpZ3VyZToxMDk2OTogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1y cGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4 dCBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3VyZToxMTAwMjogY2hlY2tpbmcgZm9yIGdjYyBwcjM5 NjA4CmNvbmZpZ3VyZToxMTAzMjogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxp YXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0 aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTEwMjg6MTogd2FybmluZzogZXhw cmVzc2lvbiByZXN1bHQgdW51c2VkIFstV3VudXNlZC12YWx1ZV0KdHJ1ZQpefn5+CjEgd2Fybmlu ZyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZToxMTA2MjogY2hlY2tpbmcgZm9yIGxsdm0gcHI4OTI3CmNv bmZpZ3VyZToxMTEwMjogY2MgLW8gY29uZnRlc3QgLU8yIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3Iv bG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0 LmMgIDE+JjUKY29uZmlndXJlOjExMTQwOiBjaGVja2luZyBmb3IgX19mb3JjZV9hbGlnbl9hcmdf cG9pbnRlcl9fIGF0dHJpYnV0ZQpjb25maWd1cmU6MTExNTI6IGNjIC1jIC1PMiAtcGlwZSAgLU8z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRo LWVycm5vIC1XZXJyb3IgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTExNzk6IGNoZWNraW5nIGZvciBkaXJlbnQu aCB0aGF0IGRlZmluZXMgRElSCmNvbmZpZ3VyZToxMTE5MjogY2MgLWMgLU8yIC1waXBlICAtTzMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgt ZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEyMjA6IGNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1sZGly CmNvbmZpZ3VyZToxMTIzOTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwv bGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sg LVdsLC16LHRleHQgY29uZnRlc3QuYyAtbGRpciAgIDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBm aW5kIC1sZGlyCmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2Rl IDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CiNsaW5lIDExMjI4ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVy cmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwov KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLwpjaGFyIG9wZW5kaXIoKTsKCmludCBtYWluKCkgewpvcGVuZGlyKCkK OyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTEzMTQ6IGNoZWNraW5nIGZvciBzeXMvYnl0ZW9yZGVy LmgKY29uZmlndXJlOjExMzI3OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlh c2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1h cmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMjE6MTA6IGZhdGFsIGVycm9yOiAnc3lzL2J5 dGVvcmRlci5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8c3lzL2J5dGVvcmRlci5oPgogICAg ICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK I2xpbmUgMTEzMTkgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8 c3lzL2J5dGVvcmRlci5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEx MzE0OiBjaGVja2luZyBmb3IgY29tcGF0LmgKY29uZmlndXJlOjExMzI3OiBjYyAtYyAtTzIgLXBp cGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMjE6 MTA6IGZhdGFsIGVycm9yOiAnY29tcGF0LmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxjb21w YXQuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDExMzE5ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoK I2luY2x1ZGUgPGNvbXBhdC5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjExMzE0OiBjaGVja2luZyBmb3IgZ2V0b3B0LmgKY29uZmlndXJlOjExMzE0OiBjaGVja2luZyBm b3Igc3lzL2JpdHlwZXMuaApjb25maWd1cmU6MTEzMjc6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTMyMToxMDogZmF0YWwg ZXJyb3I6ICdzeXMvYml0eXBlcy5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8c3lzL2JpdHlw ZXMuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDExMzE5ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoK I2luY2x1ZGUgPHN5cy9iaXR5cGVzLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25m aWd1cmU6MTEzMTQ6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6MTEzMTQ6IGNoZWNr aW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6MTEzMTQ6IGNoZWNraW5nIGZvciBnbnUvbGliYy12 ZXJzaW9uLmgKY29uZmlndXJlOjExMzI3OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMjE6MTA6IGZhdGFsIGVycm9yOiAn Z251L2xpYmMtdmVyc2lvbi5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8Z251L2xpYmMtdmVy c2lvbi5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMTEzMTkgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi CgojaW5jbHVkZSA8Z251L2xpYmMtdmVyc2lvbi5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjExMzE0OiBjaGVja2luZyBmb3IgbmxfdHlwZXMuaApjb25maWd1cmU6MTEz Mjc6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkg LWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1 CmNvbmZpZ3VyZToxMTMxNDogY2hlY2tpbmcgZm9yIG1hbGxvYy5oCmNvbmZpZ3VyZToxMTMxNDog Y2hlY2tpbmcgZm9yIFgxMS9YS0JsaWIuaApjb25maWd1cmU6MTEzMjc6IGNjIC1jIC1PMiAtcGlw ZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTMxNDog Y2hlY2tpbmcgZm9yIGlvLmgKY29uZmlndXJlOjExMzI3OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAt Zm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1l cnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMjE6MTA6IGZhdGFs IGVycm9yOiAnaW8uaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPGlvLmg+CiAgICAgICAgIF4K MSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAx MTMxOSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxpby5oPgpp bnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjExMzE0OiBjaGVja2luZyBmb3Ig Y3B1aWQuaApjb25maWd1cmU6MTEzMjc6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51 c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTM2MjogY2hlY2tpbmcgZm9yIHN5cy9z dGF0dmZzLmgKY29uZmlndXJlOjExMzYyOiBjaGVja2luZyBmb3Igc3lzL3N0YXRmcy5oCmNvbmZp Z3VyZToxMTM3NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0 ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5jIDE+JjUKY29uZmlndXJlOjExMzY5OjEwOiBmYXRhbCBlcnJvcjogJ3N5cy9zdGF0ZnMuaCcg ZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4KICAgICAgICAgXgoxIGVycm9y IGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExMzY3ICJj b25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4K aW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMTM2MjogY2hlY2tpbmcgZm9y IHN5cy92ZnMuaApjb25maWd1cmU6MTEzNzU6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTM2OToxMDogZmF0YWwgZXJyb3I6 ICdzeXMvdmZzLmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxzeXMvdmZzLmg+CiAgICAgICAg IF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu ZSAxMTM2NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxzeXMv dmZzLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTEzNjI6IGNoZWNr aW5nIGZvciBzeXMvbW91bnQuaApjb25maWd1cmU6MTE0MDk6IGNoZWNraW5nIGZvciBzeXMvcXVv dGEuaApjb25maWd1cmU6MTE0MjI6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTQxNjoxMDogZmF0YWwgZXJyb3I6ICdzeXMv cXVvdGEuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHN5cy9xdW90YS5oPgogICAgICAgICBe CjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg MTE0MTQgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c3lzL3F1 b3RhLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTE0MDk6IGNoZWNr aW5nIGZvciBzeXMvc3lzbWFjcm9zLmgKY29uZmlndXJlOjExNDIyOiBjYyAtYyAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTE0MTY6MTA6 IGZhdGFsIGVycm9yOiAnc3lzL3N5c21hY3Jvcy5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8 c3lzL3N5c21hY3Jvcy5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTE0MTQgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCgojaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgppbnQgbWFpbigpIHsKCjsgcmV0 dXJuIDA7IH0KY29uZmlndXJlOjExNDU1OiBjaGVja2luZyBmb3IgbGludXgvcXVvdGEuaApjb25m aWd1cmU6MTE0Njg6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1z dGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50 cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuYyAxPiY1CmNvbmZpZ3VyZToxMTQ2MjoxMDogZmF0YWwgZXJyb3I6ICdsaW51eC9xdW90YS5o JyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8bGludXgvcXVvdGEuaD4KICAgICAgICAgXgoxIGVy cm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExNDYw ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3lzL3NvY2tldC5o PgojaW5jbHVkZSA8bGludXgvcXVvdGEuaD4KaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNv bmZpZ3VyZToxMTUwMjogY2hlY2tpbmcgZm9yIGxpbnV4L2lmX2FkZHIuaApjb25maWd1cmU6MTE1 MTU6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkg LWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1 CmNvbmZpZ3VyZToxMTUwOToxMDogZmF0YWwgZXJyb3I6ICdsaW51eC9pZl9hZGRyLmgnIGZpbGUg bm90IGZvdW5kCiNpbmNsdWRlIDxsaW51eC9pZl9hZGRyLmg+CiAgICAgICAgIF4KMSBlcnJvciBn ZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTUwNyAiY29u ZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KI2lu Y2x1ZGUgPGxpbnV4L2lmX2FkZHIuaD4KaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZp Z3VyZToxMTUwMjogY2hlY2tpbmcgZm9yIGxpbnV4L3J0bmV0bGluay5oCmNvbmZpZ3VyZToxMTUx NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAt ZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUK Y29uZmlndXJlOjExNTA5OjEwOiBmYXRhbCBlcnJvcjogJ2xpbnV4L3J0bmV0bGluay5oJyBmaWxl IG5vdCBmb3VuZAojaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+CiAgICAgICAgIF4KMSBlcnJv ciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTUwNyAi Y29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4K I2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0K Y29uZmlndXJlOjExNTQ5OiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjExNTQ5 OiBjaGVja2luZyBmb3IgbmV0aW5ldC9pbi5oCmNvbmZpZ3VyZToxMTU0OTogY2hlY2tpbmcgZm9y IGJ5dGVzd2FwLmgKY29uZmlndXJlOjExNTkzOiBjaGVja2luZyBmb3Igc29ja2FkZHJfaW4uc2lu X2xlbgpjb25maWd1cmU6MTE2MTA6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTY0MTogY2hlY2tpbmcgZm9yIHNvY2thZGRy X2luNi5zaW42X2xlbgpjb25maWd1cmU6MTE2NTg6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5v IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTY4MjogY2hlY2tpbmcgZm9y IHNvY2thZGRyLnNhX2xlbgpjb25maWd1cmU6MTE2OTk6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTc5MjogY2hlY2tpbmcg Zm9yIHN5cy9jZGVmcy5oCmNvbmZpZ3VyZToxMTg1NzogY2hlY2tpbmcgZm9yIGxpbnV4L3BlcmZf ZXZlbnQuaApjb25maWd1cmU6MTE4NzA6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vICAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTE4NjQ6MTA6IGZhdGFsIGVycm9yOiAn bGludXgvcGVyZl9ldmVudC5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8bGludXgvcGVyZl9l dmVudC5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMTE4NjIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi CgojaW5jbHVkZSA8bGludXgvcGVyZl9ldmVudC5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjExOTMzOiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZV9yIGluIC1sY19y CmNvbmZpZ3VyZToxMTk1MjogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVm b3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgLWxjX3IgICAxPiY1 Ci91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbGNfcgpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5k IGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTk0MSAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBnZXRob3N0YnluYW1l X3IoKTsKCmludCBtYWluKCkgewpnZXRob3N0YnluYW1lX3IoKQo7IHJldHVybiAwOyB9CmNvbmZp Z3VyZToxMTk5MTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBkbG9wZW4KY29uZmln dXJlOjEyMDA5OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlh c2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1h cmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTIw NDk6IGNoZWNraW5nIGZvciBkbGZjbi5oCmNvbmZpZ3VyZToxMjA5OTogY2hlY2tpbmcgZm9yIGRs YWRkcgpjb25maWd1cmU6MTIxMzE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5v IC1EX0dOVV9TT1VSQ0UgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEyMDk5OiBjaGVja2luZyBmb3IgbWVtbWVtCmNvbmZpZ3Vy ZToxMjEzMTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLURfR05VX1NPVVJD RSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIv ZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQpj b25maWd1cmU6MTIyNzE6IGNoZWNraW5nIGZvciBzb2NrZXQgaW4gLWxzb2NrZXQKY29uZmlndXJl OjEyMjkwOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAt TC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXos bm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAtbHNvY2tldCAgIDE+JjUKL3Vzci9i aW4vbGQ6IGNhbm5vdCBmaW5kIC1sc29ja2V0CmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFp bGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEyMjc5ICJjb25maWd1cmUiCiNpbmNsdWRlICJj b25mZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHNvY2tldCgpOwoKaW50IG1h aW4oKSB7CnNvY2tldCgpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEyMzQ0OiBjaGVja2luZyBm b3IgWERyYXdMaW5lcyBpbiAtbFgxMQpjb25maWd1cmU6MTIzNjM6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNz dGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jIC1sWDExIC1sWDExICAgMT4mNQpjb25maWd1cmU6 MTIzODU6IGNoZWNraW5nIGZvciBYZXh0QWRkRGlzcGxheSBpbiAtbFhleHQKY29uZmlndXJlOjEy NDA0OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAt c3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVu dHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91 c3IvbG9jYWwvbGliICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIv ZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAtbFhleHQg LWxYMTEgICAxPiY1CmNvbmZpZ3VyZToxMjQyNzogY2hlY2tpbmcgZm9yIFh0RnJlZSBpbiAtbFh0 CmNvbmZpZ3VyZToxMjQ0NjogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LmMgLWxYdCAgIDE+JjUKY29uZmlndXJlOjEyNjAwOiBjaGVja2luZyBmb3IgWFNobUNyZWF0 ZUltYWdlIGluIC1sWGV4dApjb25maWd1cmU6MTI2MTk6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgIC1ML3Vzci9sb2NhbC9s aWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAt V2wsLXosdGV4dCBjb25mdGVzdC5jIC1sWGV4dCAtbFgxMSAgLWxYZXh0ICAxPiY1CmNvbmZpZ3Vy ZToxMjY0MjogY2hlY2tpbmcgZm9yIFgxMS9leHRlbnNpb25zL3Njcm5zYXZlci5oCmNvbmZpZ3Vy ZToxMjY1NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1n bnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5j IDE+JjUKY29uZmlndXJlOjEyNjQ5OjEwOiBmYXRhbCBlcnJvcjogJ1gxMS9leHRlbnNpb25zL3Nj cm5zYXZlci5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvc2NybnNh dmVyLmg+CiAgICAgICAgIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgojbGluZSAxMjY0NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIK CiNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9zY3Juc2F2ZXIuaD4KaW50IG1haW4oKSB7Cgo7IHJl dHVybiAwOyB9CmNvbmZpZ3VyZToxMjczODogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGlu IC1scHRocmVhZHMKY29uZmlndXJlOjEyNzU3OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1P MyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0 aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2Nh bC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAt bHB0aHJlYWRzICAgMT4mNQovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxwdGhyZWFkcwpjYzog ZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8g c2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMjc0 NiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdjYzIg aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIg YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVp bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg Ki8KY2hhciBwdGhyZWFkX2NyZWF0ZSgpOwoKaW50IG1haW4oKSB7CnB0aHJlYWRfY3JlYXRlKCkK OyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTI3NzY6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0 ZSBpbiAtbHB0aHJlYWQKY29uZmlndXJlOjEyNzk1OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9s b2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3Qu YyAtbHB0aHJlYWQgICAxPiY1CmNvbmZpZ3VyZToxMjkyNjogY2hlY2tpbmcgd2hldGhlciBjYyBh Y2NlcHRzIC1wdGhyZWFkCmNvbmZpZ3VyZToxMzA1NTogY2hlY2tpbmcgd2hldGhlciBjYyBuZWVk cyAtdHJhZGl0aW9uYWwKY29uZmlndXJlOjEzMDYyOjEwOiBmYXRhbCBlcnJvcjogJ3NndHR5Lmgn IGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxzZ3R0eS5oPgogICAgICAgICBeCjEgZXJyb3IgZ2Vu ZXJhdGVkLgpjb25maWd1cmU6MTMwODA6MTA6IGZhdGFsIGVycm9yOiAndGVybWlvLmgnIGZpbGUg bm90IGZvdW5kCiNpbmNsdWRlIDx0ZXJtaW8uaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRl ZC4KY29uZmlndXJlOjEzMTAxOiBjaGVja2luZyBmb3IgOC1iaXQgY2xlYW4gbWVtY21wCmNvbmZp Z3VyZToxMzExOTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQt YXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2Zp cmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgIDE+JjUKY29u ZmlndXJlOjEzMTExOjE6IHdhcm5pbmc6IHR5cGUgc3BlY2lmaWVyIG1pc3NpbmcsIGRlZmF1bHRz IHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0KbWFpbigpCl5+fn4KY29uZmlndXJlOjEzMTE0OjM6 IHdhcm5pbmc6IGltcGxpY2l0bHkgZGVjbGFyaW5nIGxpYnJhcnkgZnVuY3Rpb24gJ2V4aXQnIHdp dGggdHlwZSAndm9pZCAoaW50KSBfX2F0dHJpYnV0ZV9fKChub3JldHVybikpJwogIGV4aXQobWVt Y21wKCZjMCwgJmMyLCAxKSA8IDAgJiYgbWVtY21wKCZjMSwgJmMyLCAxKSA8IDAgPyAwIDogMSk7 CiAgXgpjb25maWd1cmU6MTMxMTQ6Mzogbm90ZTogcGxlYXNlIGluY2x1ZGUgdGhlIGhlYWRlciA8 c3RkbGliLmg+IG9yIGV4cGxpY2l0bHkgcHJvdmlkZSBhIGRlY2xhcmF0aW9uIGZvciAnZXhpdCcK Y29uZmlndXJlOjEzMTE0Ojg6IHdhcm5pbmc6IGltcGxpY2l0bHkgZGVjbGFyaW5nIGxpYnJhcnkg ZnVuY3Rpb24gJ21lbWNtcCcgd2l0aCB0eXBlICdpbnQgKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9p ZCAqLCB1bnNpZ25lZCBpbnQpJwogIGV4aXQobWVtY21wKCZjMCwgJmMyLCAxKSA8IDAgJiYgbWVt Y21wKCZjMSwgJmMyLCAxKSA8IDAgPyAwIDogMSk7CiAgICAgICBeCmNvbmZpZ3VyZToxMzExNDo4 OiBub3RlOiBwbGVhc2UgaW5jbHVkZSB0aGUgaGVhZGVyIDxzdHJpbmcuaD4gb3IgZXhwbGljaXRs eSBwcm92aWRlIGEgZGVjbGFyYXRpb24gZm9yICdtZW1jbXAnCjMgd2FybmluZ3MgZ2VuZXJhdGVk Lgpjb25maWd1cmU6MTMxMzk6IGNoZWNraW5nIGZvciBzdGF0NjQKY29uZmlndXJlOjEzMTcxOiBj YyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu dTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAt TC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXos bm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQovdG1wL2NvbmZ0ZXN0LTFj NDJhYy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0Lm1haW4rMHg0KTog dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RhdDY0JwpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5k IGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMzE0NCAiY29uZmlndXJlIgojZGVmaW5l IHN0YXQ2NCBpbm5vY3VvdXNfc3RhdDY0CiNpbmNsdWRlICJjb25mZGVmcy5oIgojdW5kZWYgc3Rh dDY0Ci8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs eSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdDY0 KCk7IGJlbG93LiAgKi8KI2RlZmluZSBzdGF0NjQgaW5ub2N1b3VzX3N0YXQ2NAojaW5jbHVkZSA8 YXNzZXJ0Lmg+CiN1bmRlZiBzdGF0NjQKLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBzdGF0 NjQoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBF Tk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBz dGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYg ZGVmaW5lZCAoX19zdHViX3N0YXQ2NCkgfHwgZGVmaW5lZCAoX19zdHViX19fc3RhdDY0KQpjaG9r ZSBtZQojZWxzZQpzdGF0NjQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMzEz OTogY2hlY2tpbmcgZm9yIGxzdGF0NjQKY29uZmlndXJlOjEzMTcxOiBjYyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGli IC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVds LC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQovdG1wL2NvbmZ0ZXN0LWY2NjA2NC5vOiBJbiBmdW5j dGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0Lm1haW4rMHg0KTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgbHN0YXQ2NCcKY2M6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBl eGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMTMxNDQgImNvbmZpZ3VyZSIKI2RlZmluZSBsc3RhdDY0IGlubm9j dW91c19sc3RhdDY0CiNpbmNsdWRlICJjb25mZGVmcy5oIgojdW5kZWYgbHN0YXQ2NAovKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3Rv dHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGxzdGF0NjQoKTsgYmVsb3cu ICAqLwojZGVmaW5lIGxzdGF0NjQgaW5ub2N1b3VzX2xzdGF0NjQKI2luY2x1ZGUgPGFzc2VydC5o PgojdW5kZWYgbHN0YXQ2NAovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUg dG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBh cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGxzdGF0NjQoKTsK CmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGlu ZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5l ZCAoX19zdHViX2xzdGF0NjQpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2xzdGF0NjQpCmNob2tlIG1l CiNlbHNlCmxzdGF0NjQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMzEzOTog Y2hlY2tpbmcgZm9yIHRydW5jYXRlNjQKY29uZmlndXJlOjEzMTcxOiBjYyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGli IC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVds LC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQovdG1wL2NvbmZ0ZXN0LWE1ZWY0NC5vOiBJbiBmdW5j dGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0Lm1haW4rMHg0KTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgdHJ1bmNhdGU2NCcKY2M6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0 aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKI2xpbmUgMTMxNDQgImNvbmZpZ3VyZSIKI2RlZmluZSB0cnVuY2F0ZTY0 IGlubm9jdW91c190cnVuY2F0ZTY0CiNpbmNsdWRlICJjb25mZGVmcy5oIgojdW5kZWYgdHJ1bmNh dGU2NAovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHRydW5j YXRlNjQoKTsgYmVsb3cuICAqLwojZGVmaW5lIHRydW5jYXRlNjQgaW5ub2N1b3VzX3RydW5jYXRl NjQKI2luY2x1ZGUgPGFzc2VydC5oPgojdW5kZWYgdHJ1bmNhdGU2NAovKiBPdmVycmlkZSBhbnkg Z2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLwpjaGFyIHRydW5jYXRlNjQoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxp YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX3RydW5jYXRlNjQpIHx8IGRlZmlu ZWQgKF9fc3R1Yl9fX3RydW5jYXRlNjQpCmNob2tlIG1lCiNlbHNlCnRydW5jYXRlNjQoKTsKI2Vu ZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMzEzOTogY2hlY2tpbmcgZm9yIHN0YXR2ZnM2 NApjb25maWd1cmU6MTMxNzE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2Fs L2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAx PiY1Ci90bXAvY29uZnRlc3QtNjY1NThhLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3Qu YzooLnRleHQubWFpbisweDQpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdGF0dmZzNjQnCmNj OiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0 byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEz MTQ0ICJjb25maWd1cmUiCiNkZWZpbmUgc3RhdHZmczY0IGlubm9jdW91c19zdGF0dmZzNjQKI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCiN1bmRlZiBzdGF0dmZzNjQKLyogU3lzdGVtIGhlYWRlciB0byBk ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdGF0dmZzNjQoKTsgYmVsb3cuICAqLwojZGVmaW5l IHN0YXR2ZnM2NCBpbm5vY3VvdXNfc3RhdHZmczY0CiNpbmNsdWRlIDxhc3NlcnQuaD4KI3VuZGVm IHN0YXR2ZnM2NAovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHN0YXR2ZnM2NCgpOwoKaW50 IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u cyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNv bWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdp dGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChf X3N0dWJfc3RhdHZmczY0KSB8fCBkZWZpbmVkIChfX3N0dWJfX19zdGF0dmZzNjQpCmNob2tlIG1l CiNlbHNlCnN0YXR2ZnM2NCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEzMTM5 OiBjaGVja2luZyBmb3Igc3RhdHZmcwpjb25maWd1cmU6MTMxNzE6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIg LVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2ws LXosdGV4dCBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMzEzOTogY2hlY2tpbmcgZm9yIHN0 YXRmczY0CmNvbmZpZ3VyZToxMzE3MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJy bm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3Iv bG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0 LmMgIDE+JjUKL3RtcC9jb25mdGVzdC1iOGMyYjgubzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25m dGVzdC5jOigudGV4dC5tYWluKzB4NCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0YXRmczY0 JwpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2Ug LXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu ZSAxMzE0NCAiY29uZmlndXJlIgojZGVmaW5lIHN0YXRmczY0IGlubm9jdW91c19zdGF0ZnM2NAoj aW5jbHVkZSAiY29uZmRlZnMuaCIKI3VuZGVmIHN0YXRmczY0Ci8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdGZzNjQoKTsgYmVsb3cuICAqLwojZGVmaW5l IHN0YXRmczY0IGlubm9jdW91c19zdGF0ZnM2NAojaW5jbHVkZSA8YXNzZXJ0Lmg+CiN1bmRlZiBz dGF0ZnM2NAovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHN0YXRmczY0KCk7CgppbnQgbWFp bigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdo aWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1 Yl9zdGF0ZnM2NCkgfHwgZGVmaW5lZCAoX19zdHViX19fc3RhdGZzNjQpCmNob2tlIG1lCiNlbHNl CnN0YXRmczY0KCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTMxMzk6IGNoZWNr aW5nIGZvciBzdGF0ZnMKY29uZmlndXJlOjEzMTcxOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBh dGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQg Y29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTMxMzk6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6 ZQpjb25maWd1cmU6MTMxNzE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2Fs L2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAx PiY1CmNvbmZpZ3VyZToxMzEzOTogY2hlY2tpbmcgZm9yIGxvY2FsdGltZV9yCmNvbmZpZ3VyZTox MzE3MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1l bnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3gg LVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJl OjEzMTM5OiBjaGVja2luZyBmb3IgYXJjNHJhbmRvbQpjb25maWd1cmU6MTMxNzE6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZn bnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNz dGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMzEzOTogY2hlY2tp bmcgZm9yIGFyYzRyYW5kb21fYnVmCmNvbmZpZ3VyZToxMzE3MTogY2MgLW8gY29uZnRlc3QgLU8y IC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGlu ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwt eix0ZXh0IGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEzMjAwOiBjaGVja2luZyBmb3IgY2xv Y2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMpCmNvbmZpZ3VyZToxMzIxNjogY2MgLW8gY29uZnRl c3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5 LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1z ZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2Fs L2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNr IC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgICAxPiY1CmNvbmZpZ3VyZToxMzI1NzogY2hlY2tpbmcg Zm9yIHdjcnRvbWIKY29uZmlndXJlOjEzMjY5OiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1P MyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4 Y2VwdGlvbnMgLWZuby1tYXRoLWVycm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuQyAgMT4mNQpjb25maWd1cmU6MTMy OTI6IGNoZWNraW5nIGZvciBtYnJ0b3djCmNvbmZpZ3VyZToxMzMwNDogYysrIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGli L2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LkMgIDE+JjUK Y29uZmlndXJlOjEzMzM2OiBjaGVja2luZyBmb3IgcmVzX25pbml0KCkKY29uZmlndXJlOjEzMzU5 OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3Rk PWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTMz OTk6IGNoZWNraW5nIGZvciBpY29udiBpbiAtbGMKY29uZmlndXJlOjEzNDIxOiBjKysgLW8gY29u ZnRlc3QgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZuby1leGNlcHRpb25z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0 YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVycm5vIC1zdGQ9Z251KysweCAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2Nh bC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuQyAt bGMgICAxPiY1CmNvbmZpZ3VyZToxMzUzMDogY2hlY2tpbmcgZm9yIGljb252KCkKY29uZmlndXJl OjEzNTQ5OiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1X bCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16 LHRleHQgY29uZnRlc3QuQyAgIDE+JjUKL3RtcC9jb25mdGVzdC1jY2ZhMzgubzogSW4gZnVuY3Rp b24gYG1haW4nOgpjb25mdGVzdC5DOigudGV4dC5tYWluKzB4MTcpOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBsaWJpY29udl9vcGVuJwpjb25mdGVzdC5DOigudGV4dC5tYWluKzB4NDEpOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBsaWJpY29udicKY29uZnRlc3QuQzooLnRleHQubWFpbisweDQ5 KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbGliaWNvbnZfY2xvc2UnCmMrKzogZXJyb3I6IGxp bmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9j YXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMzUzNSAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiAgICAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgog ICAgICAgICNpbmNsdWRlIDxpY29udi5oPgogICAgICAgIAppbnQgbWFpbigpIHsKCiAgICAgICAg ICAgIGljb252X3QgaCA9IGljb252X29wZW4oIiIsICIiKTsKICAgICAgICAgICAgaWNvbnYoaCwg TlVMTCwgTlVMTCwgTlVMTCwgTlVMTCk7CiAgICAgICAgICAgIGljb252X2Nsb3NlKGgpOwogICAg ICAgIAo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMzYyNzogY2hlY2tpbmcgZm9yIG5sX2xhbmdp bmZvIGFuZCBDT0RFU0VUCmNvbmZpZ3VyZToxMzYzOTogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1h bGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1l bnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3gg LVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LkMgIDE+JjUKY29uZmlndXJl OjEzNjc0OiBjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgdmFfY29weSgpCmNvbmZp Z3VyZToxMzY5NTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0 ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5jIDE+JjUKY29uZmlndXJlOjEzNzExOiBjaGVja2luZyB3aGV0aGVyIHZhX2xpc3QgY2FuIGJl IGNvcGllZCBieSB2YWx1ZQpjb25maWd1cmU6MTM3MzI6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMzgyODogY2hlY2tpbmcg d2hldGhlciB0aGUgQysrICJ1c2luZyIga2V5d29yZCByZXNvbHZlcyBhbWJpZ3VpdHkKY29uZmln dXJlOjEzODQ5OiBjKysgLWMgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZu by1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVycm5vIC1z dGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTM4NzM6IGNo ZWNraW5nIGZvciBDKysgZHluYW1pY19jYXN0IHRvIHZvaWQqCmNvbmZpZ3VyZToxMzkwMDogYysr IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LkMgIDE+JjUKY29uZmlndXJlOjEzOTI2OiBjaGVja2luZyB3aGV0aGVyIEMrKyByZXF1aXJl cyBpbXBsZW1lbnRhdGlvbiBvZiB1bnVzZWQgdmlydHVhbCBtZXRob2RzCmNvbmZpZ3VyZToxMzkz ODogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1m bm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAt c3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJw YXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0 IGNvbmZ0ZXN0LkMgIDE+JjUKY29uZmlndXJlOjEzOTY0OiBjaGVja2luZyBmb3IgdHJvdWJsZSBj b21wYXJpbmcgdG8gemVybyBuZWFyIHN0ZDo6b3BlcmF0b3IhPSgpCmNvbmZpZ3VyZToxMzk4MDog YysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9u cyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHgg LVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjE0MDEwOiBjaGVja2luZyBmb3Ig X190aHJlYWQga2V5d29yZCBmb3IgVExTIHZhcmlhYmxlcwpjb25maWd1cmU6MTQwMjI6IGMrKyAt byBjb25mdGVzdCAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2Vw dGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMg LWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgtZXJybm8gLXN0ZD1nbnUr KzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNy L2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCAtZlBJQyAt c2hhcmVkICBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3VyZToxNDEwODogY2hlY2tpbmcgZm9yIG1h bGxvYy5oCmNvbmZpZ3VyZToxNDEwODogY2hlY2tpbmcgZm9yIG1hbGxvY19ucC5oCmNvbmZpZ3Vy ZToxNDEyMTogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8t ZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3Rk PWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjE0MTU2OiBjaGVj a2luZyBmb3Igc3RybmR1cApjb25maWd1cmU6MTQxOTE6IGMrKyAtbyBjb25mdGVzdCAtTzIgLXBp cGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgtZXJybm8gLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3Vt ZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0 aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94 IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3Vy ZToxNDE1NjogY2hlY2tpbmcgZm9yIHBvc2l4X21lbWFsaWduCmNvbmZpZ3VyZToxNDE5MTogYysr IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LkMgIDE+JjUKY29uZmlndXJlOjE0MTU2OiBjaGVja2luZyBmb3IgbWVtYWxpZ24KY29uZmln dXJlOjE0MTkxOiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlh c2luZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRo LWVycm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGli IC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVds LC16LHRleHQgY29uZnRlc3QuQyAgMT4mNQovdG1wL2NvbmZ0ZXN0LWVkMDhlYS5vOiBJbiBmdW5j dGlvbiBgbWFpbic6CmNvbmZ0ZXN0LkM6KC50ZXh0Lm1haW4rMHg0KTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgbWVtYWxpZ24nCmMrKzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRo IGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgojbGluZSAxNDE2MSAiY29uZmlndXJlIgojZGVmaW5lIG1lbWFsaWduIGlu bm9jdW91c19tZW1hbGlnbgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI3VuZGVmIG1lbWFsaWduCi8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbWVtYWxpZ24oKTsg YmVsb3cuICAqLwojZGVmaW5lIG1lbWFsaWduIGlubm9jdW91c19tZW1hbGlnbgojaW5jbHVkZSA8 YXNzZXJ0Lmg+CiN1bmRlZiBtZW1hbGlnbgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJu ICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBtZW1hbGlnbigpOwoKaW50IG1haW4o KSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj aCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18g YW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJf bWVtYWxpZ24pIHx8IGRlZmluZWQgKF9fc3R1Yl9fX21lbWFsaWduKQpjaG9rZSBtZQojZWxzZQpt ZW1hbGlnbigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjE0MTU2OiBjaGVja2lu ZyBmb3IgdmFsbG9jCmNvbmZpZ3VyZToxNDE5MTogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAt TzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1l eGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVh ZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVds LC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LkMgIDE+JjUKY29uZmlndXJlOjE0 MjIyOiBjaGVja2luZyBmb3IgbWFsbG9jX3VzYWJsZV9zaXplCmNvbmZpZ3VyZToxNDI1NzogYysr IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LkMgIDE+JjUKY29uZmlndXJlOjE0Mjg3OiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygo YWx3YXlzX2lubGluZSkpCmNvbmZpZ3VyZToxNDI5OTogYysrIC1jIC1PMiAtcGlwZSAtTzMgLWZu by1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRp b25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+ JjUKY29uZmlndXJlOjE0MzE0OiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygobWFsbG9jKSkK Y29uZmlndXJlOjE0MzI2OiBjKysgLWMgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVy cm5vIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTQz NDE6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKQpjb25m aWd1cmU6MTQzNTM6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAt Zm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgtZXJybm8g LXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxNDM3Nzog Y2hlY2tpbmcgZm9yIExDX01FU1NBR0VTCmNvbmZpZ3VyZToxNDM4OTogY2MgLWMgLU8yIC1waXBl ICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjE0NDE1OiBj aGVja2luZyBmb3IgbG9jYWxlY29udgpjb25maWd1cmU6MTQ0NDc6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIg LVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2ws LXosdGV4dCBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxNDY0NDogY2hlY2tpbmcgTlNQUiBz ZWxlY3Rpb24KY29uZmlndXJlOjE0NzQ4OiBjaGVja2luZyBmb3IgbnNwci1jb25maWcKY29uZmln dXJlOjE0NzgzOiBjaGVja2luZyBmb3IgTlNQUiAtIHZlcnNpb24gPj0gNC4xMC4zCmNvbmZpZ3Vy ZToxNDg1MTogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1n bnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUv bnNwciAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTQ4NzA6IGNjIC1jIC1P MiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxp bmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLWZuby1tYXRoLWVycm5vIC1JL3Vzci9sb2NhbC9pbmNsdWRlL25zcHIgLVF1bnVzZWQtYXJn dW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBj b25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjE0OTE0OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5v LXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJu byAtSS91c3IvbG9jYWwvaW5jbHVkZS9uc3ByIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNv bmZpZ3VyZToxNTA1NjogY2hlY2tpbmcgZm9yIGxpYmV2ZW50CmNvbmZpZ3VyZToxNTA2MzogY2hl Y2tpbmcgTU9aX0xJQkVWRU5UX0NGTEFHUwpjb25maWd1cmU6MTUwNjg6IGNoZWNraW5nIE1PWl9M SUJFVkVOVF9MSUJTCmNvbmZpZ3VyZToxNTI0MzogY2hlY2tpbmcgZm9yIG5zcy1jb25maWcKY29u ZmlndXJlOjE1Mjc4OiBjaGVja2luZyBmb3IgTlNTIC0gdmVyc2lvbiA+PSAzLjE3LjEKY29uZmln dXJlOjE1MzQ1OiBjaGVja2luZyBmb3IgWUFTTSBhc3NlbWJsZXIKY29uZmlndXJlOjE1MzUxOiBj aGVja2luZyBmb3IgeWFzbQpjb25maWd1cmU6MTU0MDk6IGNoZWNraW5nIGZvciBqcGVnX2Rlc3Ry b3lfY29tcHJlc3MgaW4gLWxqcGVnCmNvbmZpZ3VyZToxNTQyODogY2MgLW8gY29uZnRlc3QgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0 ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3Iv bG9jYWwvbGliIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2Nh bC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAt bGpwZWcgICAxPiY1CmNvbmZpZ3VyZToxNTQ2NDogY2MgLWMgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlu bGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJl OjE1NTExOiBjaGVja2luZyBmb3IgZ3pyZWFkIGluIC1segpjb25maWd1cmU6MTU1MzA6IGNjIC1v IGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkg LWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vz ci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4 ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jIC1seiAgIDE+JjUKY29uZmlndXJlOjE1NTY1 OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1m Z251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpj b25maWd1cmU6MTU2MTg6IGNoZWNraW5nIGZvciBCWjJfYnpyZWFkIGluIC1sYnoyCmNvbmZpZ3Vy ZToxNTYzNzogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVzZWQtYXJn dW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt cHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVm b3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgLWxiejIgICAxPiY1 CmNvbmZpZ3VyZToxNTY4NjogY2hlY2tpbmcgZm9yIHBuZ19nZXRfdmFsaWQgaW4gLWxwbmcKY29u ZmlndXJlOjE1NzA1OiBjYyAtbyBjb25mdGVzdCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTzIgLXBp cGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLXB0aHJlYWQgIC1ML3Vz ci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4 ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jIC1scG5nICAgMT4mNQpjb25maWd1cmU6MTU3 Mjc6IGNoZWNraW5nIGZvciBwbmdfZ2V0X2FjVEwgaW4gLWxwbmcKY29uZmlndXJlOjE1NzQ2OiBj YyAtbyBjb25mdGVzdCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVds LC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXos dGV4dCBjb25mdGVzdC5jIC1scG5nICAgMT4mNQpjb25maWd1cmU6MTU3OTQ6IGNjIC1jIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9 Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAt aXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu YyAxPiY1CmNvbmZpZ3VyZToxNTkwNzogY2hlY2tpbmcgZm9yIGh1bnNwZWxsCmNvbmZpZ3VyZTox NTkxNDogY2hlY2tpbmcgTU9aX0hVTlNQRUxMX0NGTEFHUwpjb25maWd1cmU6MTU5MTk6IGNoZWNr aW5nIE1PWl9IVU5TUEVMTF9MSUJTCmNvbmZpZ3VyZToxNjExMzogY2hlY2tpbmcgZm9yIGxpYmZm aSA+PSAzLjAuOQpjb25maWd1cmU6MTYxMjA6IGNoZWNraW5nIE1PWl9GRklfQ0ZMQUdTCmNvbmZp Z3VyZToxNjEyNTogY2hlY2tpbmcgTU9aX0ZGSV9MSUJTCmNvbmZpZ3VyZToxNjM0NjogY2hlY2tp bmcgZm9yIGFwcGxpY2F0aW9uIHRvIGJ1aWxkCmNvbmZpZ3VyZToxNjQzMTogY2hlY2tpbmcgaWYg YXBwLXNwZWNpZmljIGNvbmZ2YXJzLnNoIGV4aXN0cwpjb25maWd1cmU6MTc0MTk6IGNoZWNraW5n IGZvciBndGsrLTIuMCA+PSAyLjEwLjAgZ3RrKy11bml4LXByaW50LTIuMCBnbGliLTIuMCBnb2Jq ZWN0LTIuMCBnZGsteDExLTIuMApjb25maWd1cmU6MTc0MjY6IGNoZWNraW5nIE1PWl9HVEsyX0NG TEFHUwpjb25maWd1cmU6MTc0MzE6IGNoZWNraW5nIE1PWl9HVEsyX0xJQlMKY29uZmlndXJlOjE3 NTU3OiBjaGVja2luZyBmb3IgbGlic3RhcnR1cC1ub3RpZmljYXRpb24tMS4wID49IDAuOApjb25m aWd1cmU6MTc1NjQ6IGNoZWNraW5nIE1PWl9TVEFSVFVQX05PVElGSUNBVElPTl9DRkxBR1MKY29u ZmlndXJlOjE3NTY5OiBjaGVja2luZyBNT1pfU1RBUlRVUF9OT1RJRklDQVRJT05fTElCUwpjb25m aWd1cmU6MTg4NTg6IGNoZWNraW5nIGZvciBwYW5nbyA+PSAxLjIyLjAKY29uZmlndXJlOjE4ODY1 OiBjaGVja2luZyBfUEFOR09DSEtfQ0ZMQUdTCmNvbmZpZ3VyZToxODg3MDogY2hlY2tpbmcgX1BB TkdPQ0hLX0xJQlMKY29uZmlndXJlOjE4OTUwOiBjaGVja2luZyBmb3IgcGFuZ28gPj0gMS4yMi4w IHBhbmdvZnQyID49IDEuMjIuMCBwYW5nb2NhaXJvID49IDEuMjIuMApjb25maWd1cmU6MTg5NTc6 IGNoZWNraW5nIE1PWl9QQU5HT19DRkxBR1MKY29uZmlndXJlOjE4OTYyOiBjaGVja2luZyBNT1pf UEFOR09fTElCUwpjb25maWd1cmU6MTkxOTk6IGNoZWNraW5nIGZvciBndGsrLTIuMCA+PSAyLjE0 CmNvbmZpZ3VyZToxOTIwNjogY2hlY2tpbmcgX0dUS0NIRUNLX0NGTEFHUwpjb25maWd1cmU6MTky MTE6IGNoZWNraW5nIF9HVEtDSEVDS19MSUJTCmNvbmZpZ3VyZToxOTI5MTogY2hlY2tpbmcgZm9y IGdpby0yLjAgPj0gMi4yMApjb25maWd1cmU6MTkyOTg6IGNoZWNraW5nIE1PWl9HSU9fQ0ZMQUdT CmNvbmZpZ3VyZToxOTMwMzogY2hlY2tpbmcgTU9aX0dJT19MSUJTCmNvbmZpZ3VyZToxOTgyMDog Y2hlY2tpbmcgZm9yIGRidXMtMSA+PSAwLjYwCmNvbmZpZ3VyZToxOTgyNzogY2hlY2tpbmcgTU9a X0RCVVNfQ0ZMQUdTCmNvbmZpZ3VyZToxOTgzMjogY2hlY2tpbmcgTU9aX0RCVVNfTElCUwpjb25m aWd1cmU6MTk5MTE6IGNoZWNraW5nIGZvciBkYnVzLWdsaWItMSA+PSAwLjYwCmNvbmZpZ3VyZTox OTkxODogY2hlY2tpbmcgTU9aX0RCVVNfR0xJQl9DRkxBR1MKY29uZmlndXJlOjE5OTIzOiBjaGVj a2luZyBNT1pfREJVU19HTElCX0xJQlMKY29uZmlndXJlOjIwMTQ4OiBjYyAtYyAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MjAxNDI6MTA6 IGZhdGFsIGVycm9yOiAnbGludXgvZXRodG9vbC5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8 bGludXgvZXRodG9vbC5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjAxNDEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCiNpbmNsdWRlIDxsaW51eC9ldGh0b29sLmg+CmludCBtYWluKCkgewogc3RydWN0 IGV0aHRvb2xfY21kIGNtZDsgY21kLnNwZWVkX2hpID0gMDsgCjsgcmV0dXJuIDA7IH0KY29uZmln dXJlOjIwMjUzOiBjaGVja2luZyBmb3IgbGlidjRsMgpjb25maWd1cmU6MjAyNjA6IGNoZWNraW5n IE1PWl9MSUJWNEwyX0NGTEFHUwpjb25maWd1cmU6MjAyNjU6IGNoZWNraW5nIE1PWl9MSUJWNEwy X0xJQlMKY29uZmlndXJlOjIwNDE2OiBjaGVja2luZyBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAo KSkpIHN1cHBvcnQKY29uZmlndXJlOjIwNDMzOiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAt V2Vycm9yIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyMDUyNDogY2hlY2tp bmcgZm9yIG9nZyA+PSAxLjIuMQpjb25maWd1cmU6MjA1MzE6IGNoZWNraW5nIE1PWl9PR0dfQ0ZM QUdTCmNvbmZpZ3VyZToyMDUzNjogY2hlY2tpbmcgTU9aX09HR19MSUJTCmNvbmZpZ3VyZToyMDU2 OTogY2hlY2tpbmcgZm9yIG9nZ19zZXRfbWVtX2Z1bmN0aW9ucwpjb25maWd1cmU6MjA2MDE6IGNj IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251 OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1M L3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixu b2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAtTC91c3IvbG9jYWwvbGliIC1sb2dn ICAgMT4mNQovdG1wL2NvbmZ0ZXN0LWI1NWM2Ni5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0 ZXN0LmM6KC50ZXh0Lm1haW4rMHg0KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgb2dnX3NldF9t ZW1fZnVuY3Rpb25zJwpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQg Y29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgojbGluZSAyMDU3NCAiY29uZmlndXJlIgojZGVmaW5lIG9nZ19zZXRfbWVtX2Z1bmN0 aW9ucyBpbm5vY3VvdXNfb2dnX3NldF9tZW1fZnVuY3Rpb25zCiNpbmNsdWRlICJjb25mZGVmcy5o IgojdW5kZWYgb2dnX3NldF9tZW1fZnVuY3Rpb25zCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNh biBjb25mbGljdCB3aXRoIGNoYXIgb2dnX3NldF9tZW1fZnVuY3Rpb25zKCk7IGJlbG93LiAgKi8K I2RlZmluZSBvZ2dfc2V0X21lbV9mdW5jdGlvbnMgaW5ub2N1b3VzX29nZ19zZXRfbWVtX2Z1bmN0 aW9ucwojaW5jbHVkZSA8YXNzZXJ0Lmg+CiN1bmRlZiBvZ2dfc2V0X21lbV9mdW5jdGlvbnMKLyog T3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAg Ki8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBvZ2dfc2V0X21lbV9mdW5jdGlvbnMoKTsKCmludCBt YWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMg d2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRo IF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19z dHViX29nZ19zZXRfbWVtX2Z1bmN0aW9ucykgfHwgZGVmaW5lZCAoX19zdHViX19fb2dnX3NldF9t ZW1fZnVuY3Rpb25zKQpjaG9rZSBtZQojZWxzZQpvZ2dfc2V0X21lbV9mdW5jdGlvbnMoKTsKI2Vu ZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyMDY5OTogY2hlY2tpbmcgZm9yIHZvcmJpcyB2 b3JiaXNlbmMgPj0gMS4zLjQKY29uZmlndXJlOjIwNzA2OiBjaGVja2luZyBNT1pfVk9SQklTX0NG TEFHUwpjb25maWd1cmU6MjA3MTE6IGNoZWNraW5nIE1PWl9WT1JCSVNfTElCUwpjb25maWd1cmU6 MjA5MzY6IGNoZWNraW5nIGZvciBvcHVzID49IDEuMQpjb25maWd1cmU6MjA5NDM6IGNoZWNraW5n IE1PWl9PUFVTX0NGTEFHUwpjb25maWd1cmU6MjA5NDg6IGNoZWNraW5nIE1PWl9PUFVTX0xJQlMK Y29uZmlndXJlOjIxMjc0OiBjaGVja2luZyBmb3Igc291bmR0b3VjaCA+PSAxLjguMApjb25maWd1 cmU6MjEyODE6IGNoZWNraW5nIE1PWl9TT1VORFRPVUNIX0NGTEFHUwpjb25maWd1cmU6MjEyODY6 IGNoZWNraW5nIE1PWl9TT1VORFRPVUNIX0xJQlMKY29uZmlndXJlOjIxMzI3OiBjaGVja2luZyBm b3Igc291bmR0b3VjaCBzYW1wbGUgdHlwZQpjb25maWd1cmU6MjEzNDI6IGMrKyAtYyAtTzIgLXBp cGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgtZXJybm8gLXN0ZD1nbnUrKzB4IC1JL3Vzci9sb2NhbC9p bmNsdWRlL3NvdW5kdG91Y2ggICAgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJl OjIxMzM1OjM4OiBlcnJvcjogc291bmR0b3VjaCBleHBlY3RzIGZsb2F0IHNhbXBsZXMKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Vycm9yIHNvdW5kdG91Y2ggZXhwZWN0cyBm bG9hdCBzYW1wbGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCjEgZXJy b3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjEzMzIg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxTb3VuZFRvdWNoLmg+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpZm5kZWYgU09VTkRUT1VDSF9J TlRFR0VSX1NBTVBMRVMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Vycm9y IHNvdW5kdG91Y2ggZXhwZWN0cyBmbG9hdCBzYW1wbGVzCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNlbmRpZgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjIxNzMwOiBjaGVja2luZyBmb3IgdnB4ID49IDEuMy4wCmNvbmZpZ3VyZToyMTczNzogY2hlY2tp bmcgTU9aX0xJQlZQWF9DRkxBR1MKY29uZmlndXJlOjIxNzQyOiBjaGVja2luZyBNT1pfTElCVlBY X0xJQlMKY29uZmlndXJlOjIxNzc3OiBjaGVja2luZyBmb3IgdnB4L3ZweF9kZWNvZGVyLmgKY29u ZmlndXJlOjIxNzkwOiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAt c3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtSS91c3IvbG9jYWwvaW5j bHVkZSAgIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyMTgxMjogY2hlY2tp bmcgZm9yIHZweF9jb2RlY19kZWNfaW5pdF92ZXIgaW4gLWx2cHgKY29uZmlndXJlOjIxODMxOiBj YyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu dTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtSS91c3IvbG9jYWwvaW5jbHVkZSAg IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xv Y2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5j IC1sdnB4ICAgLUwvdXNyL2xvY2FsL2xpYiAtbHZweCAtbG0gICAxPiY1CmNvbmZpZ3VyZToyMTg2 NTogY2hlY2tpbmcgZm9yIHZweF9tZW0vdnB4X21lbS5oCmNvbmZpZ3VyZToyMTg3ODogY2MgLWMg LU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlu bGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLW1hdGgtZXJybm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgICAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNv bmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MjE4NzI6MTA6IGZhdGFsIGVycm9yOiAndnB4X21lbS92 cHhfbWVtLmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDx2cHhfbWVtL3ZweF9tZW0uaD4KICAg ICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CiNsaW5lIDIxODcwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUg PHZweF9tZW0vdnB4X21lbS5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjIyMTU3OiBjaGVja2luZyBNT1pfT1NTX0NGTEFHUwpjb25maWd1cmU6MjIxNzU6IGNoZWNraW5n IGZvciBzeXMvc291bmRjYXJkLmgKY29uZmlndXJlOjIyMTg4OiBjYyAtYyAtTzIgLXBpcGUgIC1P MyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0 aC1lcnJubyAgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjIyMTc1OiBjaGVj a2luZyBmb3IgbGludXgvc291bmRjYXJkLmgKY29uZmlndXJlOjIyMTg4OiBjYyAtYyAtTzIgLXBp cGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tbWF0aC1lcnJubyAgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjIyMTgy OjEwOiBmYXRhbCBlcnJvcjogJ2xpbnV4L3NvdW5kY2FyZC5oJyBmaWxlIG5vdCBmb3VuZAojaW5j bHVkZSA8bGludXgvc291bmRjYXJkLmg+CiAgICAgICAgIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAyMjE4MCAiY29uZmlndXJlIgojaW5j bHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxsaW51eC9zb3VuZGNhcmQuaD4KaW50IG1haW4o KSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyMjE3NTogY2hlY2tpbmcgZm9yIHNvdW5kY2Fy ZC5oCmNvbmZpZ3VyZToyMjE4ODogY2MgLWMgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyMjE4MjoxMDogZmF0YWwgZXJyb3I6ICdzb3Vu ZGNhcmQuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHNvdW5kY2FyZC5oPgogICAgICAgICBe CjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg MjIxODAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c291bmRj YXJkLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MjIyMjU6IGNoZWNr aW5nIGZvciBfb3NzX2lvY3RsIGluIC1sb3NzYXVkaW8KY29uZmlndXJlOjIyMjQ0OiBjYyAtbyBj b25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1m Z251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhl Y3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgLWxvc3NhdWRpbyAgIDE+JjUKL3Vzci9iaW4v bGQ6IGNhbm5vdCBmaW5kIC1sb3NzYXVkaW8KY2M6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWls ZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjIyMzMgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgX29zc19pb2N0bCgpOwoKaW50 IG1haW4oKSB7Cl9vc3NfaW9jdGwoKQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyMjM2MTogY2hl Y2tpbmcgZm9yIGFsc2EKY29uZmlndXJlOjIyMzY4OiBjaGVja2luZyBNT1pfQUxTQV9DRkxBR1MK Y29uZmlndXJlOjIyMzczOiBjaGVja2luZyBNT1pfQUxTQV9MSUJTCmNvbmZpZ3VyZToyMjYzMTog Y2hlY2tpbmcgZm9yIGdzdHJlYW1lci0xLjAgPj0gMS4wCiAgICAgICAgICAgICAgICAgICAgICBn c3RyZWFtZXItYXBwLTEuMAogICAgICAgICAgICAgICAgICAgICAgZ3N0cmVhbWVyLXBsdWdpbnMt YmFzZS0xLjAKY29uZmlndXJlOjIyNjQyOiBjaGVja2luZyBHU1RSRUFNRVJfQ0ZMQUdTCmNvbmZp Z3VyZToyMjY0OTogY2hlY2tpbmcgR1NUUkVBTUVSX0xJQlMKY29uZmlndXJlOjIyNjk2OiBjYyAt byBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5 IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMg LWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9l eGVjc3RhY2sgLVdsLC16LHRleHQgLWxnc3RhcHAtMS4wIC1sZ3N0YmFzZS0xLjAgLWxnc3RyZWFt ZXItMS4wIC1sZ29iamVjdC0yLjAgLUwvdXNyL2xvY2FsL2xpYiAtbGdsaWItMi4wIC1saW50bCAg IC1sZ3N0dmlkZW8tMS4wIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjIyODMxOiBjaGVja2lu ZyBmb3IgamF2YQpjb25maWd1cmU6MjI4ODA6IGNoZWNraW5nIGZvciBqYXZhYwpjb25maWd1cmU6 MjI5Mjk6IGNoZWNraW5nIGZvciBqYXZhaApjb25maWd1cmU6MjI5Nzg6IGNoZWNraW5nIGZvciBq YXIKY29uZmlndXJlOjIzMDI3OiBjaGVja2luZyBmb3IgamFyc2lnbmVyCmNvbmZpZ3VyZToyMzA3 NjogY2hlY2tpbmcgZm9yIGtleXRvb2wKY29uZmlndXJlOjI0MDQyOiBjaGVja2luZyBmb3IgZ251 dGFyCmNvbmZpZ3VyZToyNDA0MjogY2hlY2tpbmcgZm9yIGd0YXIKY29uZmlndXJlOjI0MDQyOiBj aGVja2luZyBmb3IgdGFyCmNvbmZpZ3VyZToyNDA4MjogY2hlY2tpbmcgZm9yIHdnZXQKY29uZmln dXJlOjI0NTQ3OiBjaGVja2luZyBmb3Igc3FsaXRlMyA+PSAzLjguNQpjb25maWd1cmU6MjQ1NTQ6 IGNoZWNraW5nIFNRTElURV9DRkxBR1MKY29uZmlndXJlOjI0NTU5OiBjaGVja2luZyBTUUxJVEVf TElCUwpjb25maWd1cmU6MjQ1OTA6IGNoZWNraW5nIGZvciBTUUxJVEVfU0VDVVJFX0RFTEVURSBz dXBwb3J0IGluIHN5c3RlbSBTUUxpdGUKY29uZmlndXJlOjI0NjEzOiBjYyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tbWF0aC1lcnJubyAtSS91c3IvbG9jYWwvaW5jbHVkZSAgIC1RdW51c2VkLWFyZ3Vt ZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0 aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94 IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVzdC5jICAtTC91c3IvbG9jYWwv bGliIC1sc3FsaXRlMyAgIDE+JjUKY29uZmlndXJlOjI0NjM2OiBjaGVja2luZyBmb3IgU1FMSVRF X1RIUkVBRFNBRkUgc3VwcG9ydCBpbiBzeXN0ZW0gU1FMaXRlCmNvbmZpZ3VyZToyNDY1OTogY2Mg LW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5 OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgICAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2Nh bC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAg LUwvdXNyL2xvY2FsL2xpYiAtbHNxbGl0ZTMgICAxPiY1CmNvbmZpZ3VyZToyNDY4MjogY2hlY2tp bmcgZm9yIFNRTElURV9FTkFCTEVfRlRTMyBzdXBwb3J0IGluIHN5c3RlbSBTUUxpdGUKY29uZmln dXJlOjI0NzA1OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlh c2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtSS91c3IvbG9j YWwvaW5jbHVkZSAgIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1y cGF0aCwvdXNyL2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4 dCBjb25mdGVzdC5jICAtTC91c3IvbG9jYWwvbGliIC1sc3FsaXRlMyAgIDE+JjUKY29uZmlndXJl OjI0NzI4OiBjaGVja2luZyBmb3IgU1FMSVRFX0VOQUJMRV9VTkxPQ0tfTk9USUZZIHN1cHBvcnQg aW4gc3lzdGVtIFNRTGl0ZQpjb25maWd1cmU6MjQ3NTE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAgLU8zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1tYXRoLWVycm5vIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAgLVF1bnVzZWQtYXJndW1lbnRzIC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAg LUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16 LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgIC1ML3Vzci9sb2NhbC9saWIgLWxz cWxpdGUzICAgMT4mNQpjb25maWd1cmU6MjQ5ODY6IGNoZWNraW5nIGZvciB2YWxpZCBvcHRpbWl6 YXRpb24gZmxhZ3MKY29uZmlndXJlOjI0OTk3OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAt TzIgLU8zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyNTczNTogY2hlY2tp bmcgZm9yIG1hbGxjdGwKY29uZmlndXJlOjI1NzY3OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUg IC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t bWF0aC1lcnJubyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBh dGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQg Y29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MjU3MzU6IGNoZWNraW5nIGZvciBuYWxsb2NtCmNv bmZpZ3VyZToyNTc2NzogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlubGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLW1hdGgtZXJybm8gLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91c3IvbG9jYWwvbGli L2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0ZXN0LmMgIDE+JjUK Y29uZmlndXJlOjI2NzUzOiBjaGVja2luZyBmb3IgX19jeGFfZGVtYW5nbGUKY29uZmlndXJlOjI2 Nzg4OiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAg LWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1tYXRoLWVycm5v IC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwt cnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRl eHQgY29uZnRlc3QuQyAgMT4mNQpjb25maWd1cmU6MjY4NTA6IGNoZWNraW5nIGZvciB1bndpbmQu aApjb25maWd1cmU6MjY4NjM6IGMrKyAtYyAtTzIgLXBpcGUgLU8zIC1mbm8tc3RyaWN0LWFsaWFz aW5nICAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtZm5vLW1hdGgt ZXJybm8gLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToy Njg4MDogY2hlY2tpbmcgZm9yIF9VbndpbmRfQmFja3RyYWNlCmNvbmZpZ3VyZToyNjkxNzogYysr IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1mbm8tbWF0aC1lcnJubyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXJwYXRoLC91 c3IvbG9jYWwvbGliL2ZpcmVmb3ggLVdsLC16LG5vZXhlY3N0YWNrIC1XbCwteix0ZXh0IGNvbmZ0 ZXN0LkMgIDE+JjUKY29uZmlndXJlOjI3MTAxOiBjaGVja2luZyBmb3IgLXBpcGUgc3VwcG9ydApj b25maWd1cmU6MjcxMTU6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBzdXBwb3J0cyAtZnBy b2ZpbGUtZ2VuZXJhdGUKY29uZmlndXJlOjI3MTI0OiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5v LXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJu byAtcGlwZSAtZnByb2ZpbGUtZ2VuZXJhdGUgLWZwcm9maWxlLWNvcnJlY3Rpb24gLVF1bnVzZWQt YXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjI3MTY5OiBjaGVja2luZyB3aGV0aGVyIEMgY29t cGlsZXIgc3VwcG9ydHMgLWZuby1pbnRlZ3JhdGVkLWFzCmNvbmZpZ3VyZToyNzE3ODogY2MgLWMg LU8yIC1waXBlICAtTzMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXN0ZD1nbnU5OSAtZmdudTg5LWlu bGluZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLW1hdGgtZXJybm8gLXBpcGUgLWZuby1pbnRlZ3JhdGVkLWFzIC1TIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyAxPiY1CmNjOiBlcnJvcjogdW5rbm93biBhcmd1bWVudDogJy1mbm8taW50 ZWdyYXRlZC1hcycKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI3MTcxICJj b25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKaW50IG1haW4oKSB7CnJldHVybiAwOwo7 IHJldHVybiAwOyB9CmNvbmZpZ3VyZToyNzIxNjogY2hlY2tpbmcgd2hhdCBraW5kIG9mIGxpc3Qg ZmlsZXMgYXJlIHN1cHBvcnRlZCBieSB0aGUgbGlua2VyCmNvbmZpZ3VyZToyNzIyMTogY2MgLW8g Y29uZnRlc3QubyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdu dTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlwZSAtUXVudXNlZC1hcmd1bWVu dHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgMT4mNQpjb25maWd1cmU6MjcyMjM6IGNjIC1vIGNvbmZ0ZXN0IC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9l eGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QubGlzdCAgMT4mNQpjb25maWd1cmU6Mjc0MTI6 IGNoZWNraW5nIGZvciBnbGliLTIuMCA+PSAxLjMuNyBnb2JqZWN0LTIuMApjb25maWd1cmU6Mjc0 MTk6IGNoZWNraW5nIEdMSUJfQ0ZMQUdTCmNvbmZpZ3VyZToyNzQyNDogY2hlY2tpbmcgR0xJQl9M SUJTCmNvbmZpZ3VyZToyNzU1OTogY2hlY2tpbmcgZm9yIGZyZWV0eXBlMiA+PSA2LjEuMApjb25m aWd1cmU6Mjc1NjY6IGNoZWNraW5nIEZUMl9DRkxBR1MKY29uZmlndXJlOjI3NTcxOiBjaGVja2lu ZyBGVDJfTElCUwpjb25maWd1cmU6Mjc2MDg6IGNoZWNraW5nIGZvciBGVF9CaXRtYXBfU2l6ZS55 X3BwZW0KY29uZmlndXJlOjI3NjIzOiBjYyAtYyAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1h bGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlwZSAt SS91c3IvbG9jYWwvaW5jbHVkZS9mcmVldHlwZTIgICAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4m NQpjb25maWd1cmU6Mjc2NTI6IGNoZWNraW5nIGZvciBGVF9HbHlwaFNsb3RfRW1ib2xkZW4KY29u ZmlndXJlOjI3Njg0OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1h bGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlwZSAt SS91c3IvbG9jYWwvaW5jbHVkZS9mcmVldHlwZTIgICAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9l eGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgLUwvdXNyL2xvY2FsL2xpYiAtbGZyZWV0 eXBlICAgMT4mNQpjb25maWd1cmU6Mjc2NTI6IGNoZWNraW5nIGZvciBGVF9Mb2FkX1NmbnRfVGFi bGUKY29uZmlndXJlOjI3Njg0OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgIC1PMyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAt cGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZS9mcmVldHlwZTIgICAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9sb2NhbC9saWIvZmlyZWZveCAtV2ws LXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3QuYyAgLUwvdXNyL2xvY2FsL2xpYiAt bGZyZWV0eXBlICAgMT4mNQpjb25maWd1cmU6Mjc3MjI6IGNoZWNraW5nIGZvciBmb250Y29uZmln L2ZjZnJlZXR5cGUuaApjb25maWd1cmU6Mjc3MzU6IGNjIC1jIC1PMiAtcGlwZSAgLU8zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5v IC1waXBlIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZnJlZXR5cGUyICAgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6Mjc4MjU6IGNoZWNraW5n IGZvciBmb250Y29uZmlnCmNvbmZpZ3VyZToyNzgzMjogY2hlY2tpbmcgX0ZPTlRDT05GSUdfQ0ZM QUdTCmNvbmZpZ3VyZToyNzgzNzogY2hlY2tpbmcgX0ZPTlRDT05GSUdfTElCUwpjb25maWd1cmU6 Mjc5NDE6IGNoZWNraW5nIGZvciBoYXJmYnV6eiA+PSAwLjkuMjUKY29uZmlndXJlOjI3OTQ4OiBj aGVja2luZyBNT1pfSEFSRkJVWlpfQ0ZMQUdTCmNvbmZpZ3VyZToyNzk1MzogY2hlY2tpbmcgTU9a X0hBUkZCVVpaX0xJQlMKY29uZmlndXJlOjI4MDUyOiBjaGVja2luZyBmb3IgZ3JhcGhpdGUyCmNv bmZpZ3VyZToyODA1OTogY2hlY2tpbmcgTU9aX0dSQVBISVRFMl9DRkxBR1MKY29uZmlndXJlOjI4 MDY0OiBjaGVja2luZyBNT1pfR1JBUEhJVEUyX0xJQlMKY29uZmlndXJlOjI4MTExOiBjYyAtYyAt TzIgLXBpcGUgIC1PMyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5s aW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tbWF0aC1lcnJubyAtcGlwZSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25m aWd1cmU6MjgyMzU6IGNoZWNraW5nIGZvciBwaXhtYW4tMSA+PSAwLjE5LjIKY29uZmlndXJlOjI4 MjQyOiBjaGVja2luZyBQSVhNQU5fQ0ZMQUdTCmNvbmZpZ3VyZToyODI0NzogY2hlY2tpbmcgUElY TUFOX0xJQlMKY29uZmlndXJlOjI4Mjg4OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJl OjI4Mjg4OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6MjgyODg6IGNoZWNraW5n IGZvciBzeXMvaW50X3R5cGVzLmgKY29uZmlndXJlOjI4MzAxOiBjYyAtYyAtTzIgLXBpcGUgIC1P MyAtZm5vLXN0cmljdC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0 aC1lcnJubyAtcGlwZSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MjgyOTU6 MTA6IGZhdGFsIGVycm9yOiAnc3lzL2ludF90eXBlcy5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVk ZSA8c3lzL2ludF90eXBlcy5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjgyOTMgImNvbmZpZ3VyZSIKI2luY2x1ZGUg ImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c3lzL2ludF90eXBlcy5oPgppbnQgbWFpbigpIHsKCjsg cmV0dXJuIDA7IH0KY29uZmlndXJlOjI4NTU4OiBjaGVja2luZyBmb3IgY2Fpcm8gPj0gMS4xMApj b25maWd1cmU6Mjg1NjU6IGNoZWNraW5nIENBSVJPX0NGTEFHUwpjb25maWd1cmU6Mjg1NzA6IGNo ZWNraW5nIENBSVJPX0xJQlMKY29uZmlndXJlOjI4NjUxOiBjaGVja2luZyBmb3IgY2Fpcm8tdGVl ID49IDEuMTAKY29uZmlndXJlOjI4NjU4OiBjaGVja2luZyBDQUlST19URUVfQ0ZMQUdTCmNvbmZp Z3VyZToyODY2MzogY2hlY2tpbmcgQ0FJUk9fVEVFX0xJQlMKY29uZmlndXJlOjI4NzQzOiBjaGVj a2luZyBmb3IgY2Fpcm8teGxpYi14cmVuZGVyID49IDEuMTAKY29uZmlndXJlOjI4NzUwOiBjaGVj a2luZyBDQUlST19YUkVOREVSX0NGTEFHUwpjb25maWd1cmU6Mjg3NTU6IGNoZWNraW5nIENBSVJP X1hSRU5ERVJfTElCUwpjb25maWd1cmU6Mjk2NzI6IGNoZWNraW5nIGZvciBwb3NpeF9mYWR2aXNl CmNvbmZpZ3VyZToyOTcwNDogY2MgLW8gY29uZnRlc3QgLVF1bnVzZWQtYXJndW1lbnRzIC1XYWxs IC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vycm9yPXJl dHVybi10eXBlIC1XZXJyb3I9aW50LXRvLXBvaW50ZXItY2FzdCAtV3R5cGUtbGltaXRzIC1XZW1w dHktYm9keSAtV3NpZ24tY29tcGFyZSAtV25vLXVudXNlZCAtTzIgLXBpcGUgLU8zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1zdGQ9Z251OTkgLWZnbnU4OS1pbmxpbmUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1tYXRoLWVycm5vIC1w aXBlIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC1ycGF0aCwvdXNy L2xvY2FsL2xpYi9maXJlZm94IC1XbCwteixub2V4ZWNzdGFjayAtV2wsLXosdGV4dCBjb25mdGVz dC5jICAxPiY1CmNvbmZpZ3VyZToyOTY3MjogY2hlY2tpbmcgZm9yIHBvc2l4X2ZhbGxvY2F0ZQpj b25maWd1cmU6Mjk3MDQ6IGNjIC1vIGNvbmZ0ZXN0IC1RdW51c2VkLWFyZ3VtZW50cyAtV2FsbCAt V3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlcnJvcj1yZXR1 cm4tdHlwZSAtV2Vycm9yPWludC10by1wb2ludGVyLWNhc3QgLVd0eXBlLWxpbWl0cyAtV2VtcHR5 LWJvZHkgLVdzaWduLWNvbXBhcmUgLVduby11bnVzZWQgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlw ZSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwtcnBhdGgsL3Vzci9s b2NhbC9saWIvZmlyZWZveCAtV2wsLXosbm9leGVjc3RhY2sgLVdsLC16LHRleHQgY29uZnRlc3Qu YyAgMT4mNQpjb25maWd1cmU6Mjk3NTg6IGNjIC1jIC1RdW51c2VkLWFyZ3VtZW50cyAtV2FsbCAt V3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlcnJvcj1yZXR1 cm4tdHlwZSAtV2Vycm9yPWludC10by1wb2ludGVyLWNhc3QgLVd0eXBlLWxpbWl0cyAtV2VtcHR5 LWJvZHkgLVdzaWduLWNvbXBhcmUgLVduby11bnVzZWQgLU8yIC1waXBlIC1PMyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtc3RkPWdudTk5IC1mZ251ODktaW5saW5lIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tbWF0aC1lcnJubyAtcGlw ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmln dXJlOjI5OTcyOiBjaGVja2luZyBmb3IgaWN1LWkxOG4gPj0gNTAuMQpjb25maWd1cmU6Mjk5Nzk6 IGNoZWNraW5nIE1PWl9JQ1VfQ0ZMQUdTCmNvbmZpZ3VyZToyOTk4NDogY2hlY2tpbmcgTU9aX0lD VV9MSUJTCg== --_006_C363C6AE639BBE4485EFCCDFE96BBFDD10EBC528BN1PRD9102MB037_--