From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 39548 invoked by alias); 14 Dec 2018 16:09:17 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 39534 invoked by uid 89); 14 Dec 2018 16:09:17 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LOTSOFHASH,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Identification, UD:arm.com, discussions, gate X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr140045.outbound.protection.outlook.com (HELO EUR01-VE1-obe.outbound.protection.outlook.com) (40.107.14.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 14 Dec 2018 16:09:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L7N5a/Vvo5ses2eYqpdU5SQu65+2xTCbptU6LZ+N2tM=; b=febyXP1IrVfU/WnCi1wFnJ3VRfGBpCjWFwZ4pwk7XwzJ10wpXUBuh/5fv/o0AZWtLGRhUGBRlTy3ZbDmCCAQRUpTef28/Sw2SOjQOPPpSQLrF95FR2T9eoXcY3HwmBrnPxFQa/QBB4bhusLKwAcJrh/OKo3CWmjHrf/NEnr0Hy4= Received: from HE1PR0801MB1722.eurprd08.prod.outlook.com (10.168.149.146) by HE1PR0801MB1882.eurprd08.prod.outlook.com (10.168.94.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.23; Fri, 14 Dec 2018 16:09:03 +0000 Received: from HE1PR0801MB1722.eurprd08.prod.outlook.com ([fe80::30cf:981f:1f23:b93b]) by HE1PR0801MB1722.eurprd08.prod.outlook.com ([fe80::30cf:981f:1f23:b93b%7]) with mapi id 15.20.1404.026; Fri, 14 Dec 2018 16:09:03 +0000 From: Sudakshina Das To: "gcc-patches@gcc.gnu.org" CC: nd , James Greenhalgh , Richard Earnshaw , Marcus Shawcroft Subject: Re: [PATCH, GCC, AARCH64, 5/6] Enable BTI : Add new pass for BTI. Date: Fri, 14 Dec 2018 16:09:00 -0000 Message-ID: References: <520262f0-989a-fa92-5d5f-fa7c90d77198@arm.com> <4a091322-c031-ced1-a78b-dd45316d8c7c@arm.com> In-Reply-To: <4a091322-c031-ced1-a78b-dd45316d8c7c@arm.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Sudi.Das@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Content-Type: multipart/mixed; boundary="_002_ba3e43462baec23fec53a3669754c49aarmcom_" MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2018-12/txt/msg01075.txt.bz2 --_002_ba3e43462baec23fec53a3669754c49aarmcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <334F907D943CCB4F86AA973CA05ADD5D@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 6666 SGkgSmFtZXMNCg0KT24gMjkvMTEvMTggMTY6NDcsIFN1ZGFrc2hpbmEgRGFz IHdyb3RlOg0KPiBIaQ0KPiANCj4gT24gMTMvMTEvMTggMTQ6NDcsIFN1ZGFr c2hpbmEgRGFzIHdyb3RlOg0KPj4gSGkNCj4+DQo+PiBPbiAwMi8xMS8xOCAx ODozOCwgU3VkYWtzaGluYSBEYXMgd3JvdGU6DQo+Pj4gSGkNCj4+Pg0KPj4+ IFRoaXMgcGF0Y2ggaXMgcGFydCBvZiBhIHNlcmllcyB0aGF0IGVuYWJsZXMg QVJNdjguNS1BIGluIEdDQyBhbmQNCj4+PiBhZGRzIEJyYW5jaCBUYXJnZXQg SWRlbnRpZmljYXRpb24gTWVjaGFuaXNtLg0KPj4+IChodHRwczovL2RldmVs b3Blci5hcm0uY29tL3Byb2R1Y3RzL2FyY2hpdGVjdHVyZS9jcHUtYXJjaGl0 ZWN0dXJlL2EtcHJvZmlsZS9leHBsb3JhdGlvbi10b29scykNCj4+Pg0KPj4+ IFRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBwYXNzIGNhbGxlZCAiYnRpIiB3aGlj aCBpcyB0cmlnZ2VyZWQgYnkgdGhlDQo+Pj4gY29tbWFuZCBsaW5lIGFyZ3Vt ZW50IC1tYnJhbmNoLXByb3RlY3Rpb24gd2hlbmV2ZXIgImJ0aSIgaXMgdHVy bmVkIG9uLg0KPj4+DQo+Pj4gVGhlIHBhc3MgaXRlcmF0ZXMgdGhyb3VnaCB0 aGUgaW5zdHJ1Y3Rpb25zIGFuZCBhZGRzIGFwcHJvcHJpYXRlZCBCVEkNCj4+ PiBpbnN0cnVjdGlvbnMgYmFzZWQgb24gdGhlIGZvbGxvd2luZzoNCj4+PiAg ICAgICAgKiBBZGQgYSBuZXcgIkJUSSBDIiBhdCB0aGUgYmVnaW5uaW5nIG9m IGEgZnVuY3Rpb24sIHVubGVzcyBpdHMgYWxyZWFkeQ0KPj4+ICAgICAgICAg IHByb3RlY3RlZCBieSBhICJQQUNJQVNQL1BBQ0lCU1AiLiBXZSBleGVtcHQg dGhlIGZ1bmN0aW9ucyB0aGF0IGFyZQ0KPj4+ICAgICAgICAgIG9ubHkgY2Fs bGVkIGRpcmVjdGx5Lg0KPj4+ICAgICAgICAqIEFkZCBhIG5ldyAiQlRJIEoi IGZvciBldmVyeSB0YXJnZXQgb2YgYW4gaW5kaXJlY3QganVtcCwganVtcCB0 YWJsZQ0KPj4+ICAgICAgICAgIHRhcmdldHMsIG5vbi1sb2NhbCBnb3RvIHRh cmdldHMgb3IgbGFiZWxzIHRoYXQgbWlnaHQgYmUgcmVmZXJlbmNlZA0KPj4+ ICAgICAgICAgIGJ5IHZhcmlhYmxlcywgY29uc3RhbnQgcG9vbHMsIGV0YyAo Tk9URV9JTlNOX0RFTEVURURfTEFCRUwpDQo+Pj4NCj4+PiBTaW5jZSB3ZSBo YXZlIGFscmVhZHkgY2hhbmdlZCB0aGUgdXNlIG9mIGluZGlyZWN0IHRhaWwg Y2FsbHMgdG8gb25seSB4MTYNCj4+PiBhbmQgeDE3LCB3ZSBkbyBub3QgaGF2 ZSB0byB1c2UgIkJUSSBKQyIuDQo+Pj4gKGNoZWNrIHBhdGNoIDMvNikuDQo+ Pj4NCj4+DQo+PiBJIG1pc3NlZCBvdXQgb24gdGhlIGV4cGxhbmF0aW9uIGZv ciB0aGUgY2hhbmdlcyB0byB0aGUgdHJhbXBvbGluZSBjb2RlLg0KPj4gVGhl IHBhdGNoIGFsc28gdXBkYXRlcyB0aGUgdHJhbXBvbGluZSBjb2RlIGluIGNh c2UgQlRJIGlzIGVuYWJsZWQuIFNpbmNlDQo+PiB0aGUgdHJhbXBvbGluZSBj b2RlIGlzIGEgdGFyZ2V0IG9mIGFuIGluZGlyZWN0IGJyYW5jaCwgd2UgbmVl ZCB0byBhZGQgYW4NCj4+IGFwcHJvcHJpYXRlIEJUSSBpbnN0cnVjdGlvbiBh dCB0aGUgYmVnaW5uaW5nIG9mIGl0IHRvIGF2b2lkIGEgYnJhbmNoDQo+PiB0 YXJnZXQgZXhjZXB0aW9uLg0KPj4NCj4+PiBCb290c3RyYXBwZWQgYW5kIHJl Z3Jlc3Npb24gdGVzdGVkIHdpdGggYWFyY2g2NC1ub25lLWxpbnV4LWdudS4g QWRkZWQNCj4+PiBuZXcgdGVzdHMuDQo+Pj4gSXMgdGhpcyBvayBmb3IgdHJ1 bms/DQo+Pj4NCj4+PiBUaGFua3MNCj4+PiBTdWRpDQo+Pj4NCj4+PiAqKiog Z2NjL0NoYW5nZUxvZyAqKioNCj4+Pg0KPj4+IDIwMTgteHgteHggIFN1ZGFr c2hpbmEgRGFzICA8c3VkaS5kYXNAYXJtLmNvbT4NCj4+PiAJICAgIFJhbWFu YSBSYWRoYWtyaXNobmFuICA8cmFtYW5hLnJhZGhha3Jpc2huYW5AYXJtLmNv bT4NCj4+Pg0KPj4+IAkqIGNvbmZpZy5nY2MgKGFhcmNoNjQqLSotKik6IEFk ZCBhYXJjaDY0LWJ0aS1pbnNlcnQuby4NCj4+PiAJKiBnY2MvY29uZmlnL2Fh cmNoNjQvYWFyY2g2NC5oOiBVcGRhdGUgY29tbWVudCBmb3INCj4+PiAJVFJB TVBPTElORV9TSVpFLg0KPj4+IAkqIGNvbmZpZy9hYXJjaDY0L2FhcmNoNjQu YyAoYWFyY2g2NF9hc21fdHJhbXBvbGluZV90ZW1wbGF0ZSk6DQo+Pj4gCVVw ZGF0ZSBpZiBidGkgaXMgZW5hYmxlZC4NCj4+PiAJKiBjb25maWcvYWFyY2g2 NC9hYXJjaDY0LWJ0aS1pbnNlcnQuYzogTmV3IGZpbGUuDQo+Pj4gCSogY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC1wYXNzZXMuZGVmIChJTlNFUlRfUEFTU19C RUZPUkUpOiBJbnNlcnQNCj4+PiAJYnRpIHBhc3MuDQo+Pj4gCSogY29uZmln L2FhcmNoNjQvYWFyY2g2NC1wcm90b3MuaCAobWFrZV9wYXNzX2luc2VydF9i dGkpOg0KPj4+IAlEZWNsYXJlIHRoZSBuZXcgYnRpIHBhc3MuDQo+Pj4gCSog Y29uZmlnL2FhcmNoNjQvYWFyY2g2NC5tZCAoYnRpX25vcCk6IERlZmluZS4N Cj4+PiAJKiBjb25maWcvYWFyY2g2NC90LWFhcmNoNjQ6IEFkZCBydWxlIGZv ciBhYXJjaDY0LWJ0aS1pbnNlcnQuby4NCj4+Pg0KPj4+ICoqKiBnY2MvdGVz dHN1aXRlL0NoYW5nZUxvZyAqKioNCj4+Pg0KPj4+IDIwMTgteHgteHggIFN1 ZGFrc2hpbmEgRGFzICA8c3VkaS5kYXNAYXJtLmNvbT4NCj4+Pg0KPj4+IAkq IGdjYy50YXJnZXQvYWFyY2g2NC9idGktMS5jOiBOZXcgdGVzdC4NCj4+PiAJ KiBnY2MudGFyZ2V0L2FhcmNoNjQvYnRpLTIuYzogTmV3IHRlc3QuDQo+Pj4g CSogbGliL3RhcmdldC1zdXBwb3J0cy5leHANCj4+PiAJKGNoZWNrX2VmZmVj dGl2ZV90YXJnZXRfYWFyY2g2NF9idGlfaHcpOiBBZGQgbmV3IGNoZWNrIGZv cg0KPj4+IAlCVEkgaHcuDQo+Pj4NCj4+DQo+PiBVcGRhdGVkIHBhdGNoIGF0 dGFjaGVkIHdpdGggbW9yZSBjb21tZW50cyBhbmQgYSBiaXQgb2Ygc2ltcGxp ZmljYXRpb24NCj4+IGluIGFhcmNoNjQtYnRpLWluc2VydC5jLiBDaGFuZ2VM b2cgc3RpbGwgYXBwbGllcy4NCj4+DQo+PiBUaGFua3MNCj4+IFN1ZGkNCj4+ DQo+IA0KPiBJIGZvdW5kIGEgbWlzc2VkIGNhc2UgaW4gdGhlIGJ0aSBwYXNz IGFuZCBlZGl0ZWQgdGhlIHBhdGNoIHRvIGluY2x1ZGUNCj4gaXQuIFRoaXMg bWFkZSBtZSByZWFsaXplIHRoYXQgdGhlIG9ubHkgMiByZWdyZXNzaW9ucyBJ IHNhdyB3aXRoIHRoZQ0KPiBCVEkgZW5hYmxlZCBtb2RlbCBjYW4gbm93IGJl IGF2b2lkZWQuIChhcyBxdW90ZWQgYmVsb3cgZnJvbSBteSA2LzYNCj4gcGF0 Y2gpDQo+ICJCb290c3RyYXBwZWQgYW5kIHJlZ3Jlc3Npb24gdGVzdGVkIHdp dGggYWFyY2g2NC1ub25lLWxpbnV4LWdudSB3aXRoDQo+IGFuZCB3aXRob3V0 IHRoZSBjb25maWd1cmUgb3B0aW9uIHR1cm5lZCBvbi4NCj4gQWxzbyB0ZXN0 ZWQgb24gYWFyY2g2NC1ub25lLWVsZiB3aXRoIGFuZCB3aXRob3V0IGNvbmZp Z3VyZSBvcHRpb24gd2l0aCBhDQo+IEJUSSBlbmFibGVkIGFlbS4gT25seSAy IHJlZ3Jlc3Npb25zIGFuZCB0aGVzZSB3ZXJlIGJlY2F1c2UgbmV3bGliDQo+ IHJlcXVpcmVzIHBhdGNoZXMgdG8gcHJvdGVjdCBoYW5kIGNvZGVkIGxpYnJh cmllcyB3aXRoIEJUSS4iDQo+IA0KPiBUaGUgQ2hhbmdlTG9nIHN0aWxsIGFw cGxpZXMuDQo+IA0KPiBTdWRpDQo+IA0KSSBoYXZlIHVwZGF0ZWQgdGhlIHBh dGNoIGFjY29yZGluZyB0byBvdXIgZGlzY3Vzc2lvbnMgb2ZmbGluZS4NClRo ZSBtZCBwYXR0ZXJuIGlzIG5vdyBzcGxpdCBpbnRvIDQgcGF0dGVybnMgYW5k IGkgaGF2ZSBhZGRlZCBhIG5ldw0KdGVzdCBmb3IgdGhlIHNldGptcCBjYXNl IGFsb25nIHdpdGggc29tZSBjb21tZW50cyB3aGVyZSBtaXNzaW5nLg0KDQoq KiogZ2NjL0NoYW5nZUxvZyAqKioNCg0KMjAxOC14eC14eCAgU3VkYWtzaGlu YSBEYXMgIDxzdWRpLmRhc0Bhcm0uY29tPg0KCSAgICBSYW1hbmEgUmFkaGFr cmlzaG5hbiAgPHJhbWFuYS5yYWRoYWtyaXNobmFuQGFybS5jb20+DQoNCgkq IGNvbmZpZy5nY2MgKGFhcmNoNjQqLSotKik6IEFkZCBhYXJjaDY0LWJ0aS1p bnNlcnQuby4NCgkqIGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0Lmg6IFVw ZGF0ZSBjb21tZW50IGZvcg0KCVRSQU1QT0xJTkVfU0laRS4NCgkqIGNvbmZp Zy9hYXJjaDY0L2FhcmNoNjQuYyAoYWFyY2g2NF9hc21fdHJhbXBvbGluZV90 ZW1wbGF0ZSk6DQoJVXBkYXRlIGlmIGJ0aSBpcyBlbmFibGVkLg0KCSogY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC1idGktaW5zZXJ0LmM6IE5ldyBmaWxlLg0K CSogY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1wYXNzZXMuZGVmIChJTlNFUlRf UEFTU19CRUZPUkUpOiBJbnNlcnQNCglidGkgcGFzcy4NCgkqIGNvbmZpZy9h YXJjaDY0L2FhcmNoNjQtcHJvdG9zLmggKG1ha2VfcGFzc19pbnNlcnRfYnRp KToNCglEZWNsYXJlIHRoZSBuZXcgYnRpIHBhc3MuDQoJKiBjb25maWcvYWFy Y2g2NC9hYXJjaDY0Lm1kICh1bnNwZWN2KTogQWRkIFVOU1BFQ1ZfQlRJX05P QVJHLA0KCVVOU1BFQ1ZfQlRJX0MsIFVOU1BFQ1ZfQlRJX0ogYW5kIFVOU1BF Q1ZfQlRJX0pDLg0KCShidGlfbm9hcmcsIGJ0aV9qLCBidGlfYywgYnRpX2pj KTogTmV3IGRlZmluZV9pbnNucy4NCgkqIGNvbmZpZy9hYXJjaDY0L3QtYWFy Y2g2NDogQWRkIHJ1bGUgZm9yIGFhcmNoNjQtYnRpLWluc2VydC5vLg0KDQoq KiogZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cgKioqDQoNCjIwMTgteHgteHgg IFN1ZGFrc2hpbmEgRGFzICA8c3VkaS5kYXNAYXJtLmNvbT4NCg0KCSogZ2Nj LnRhcmdldC9hYXJjaDY0L2J0aS0xLmM6IE5ldyB0ZXN0Lg0KCSogZ2NjLnRh cmdldC9hYXJjaDY0L2J0aS0yLmM6IE5ldyB0ZXN0Lg0KCSogZ2NjLnRhcmdl dC9hYXJjaDY0L2J0aS0zLmM6IE5ldyB0ZXN0Lg0KCSogbGliL3RhcmdldC1z dXBwb3J0cy5leHANCgkoY2hlY2tfZWZmZWN0aXZlX3RhcmdldF9hYXJjaDY0 X2J0aV9odyk6IEFkZCBuZXcgY2hlY2sgZm9yDQoJQlRJIGh3Lg0KDQpUaGFu a3MNClN1ZGkNCg== --_002_ba3e43462baec23fec53a3669754c49aarmcom_ Content-Type: text/x-patch; name="rb10090.patch" Content-Description: rb10090.patch Content-Disposition: attachment; filename="rb10090.patch"; size=19407; creation-date="Fri, 14 Dec 2018 16:09:02 GMT"; modification-date="Fri, 14 Dec 2018 16:09:02 GMT" Content-ID: Content-Transfer-Encoding: base64 Content-length: 26308 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcuZ2NjIGIvZ2NjL2NvbmZpZy5nY2MN CmluZGV4IGNiYWJkMjFiMzM3MjNhNjU3OTBlMmVhZmU4YWE0OTc5MDUxY2Fl NDguLmYzZGQzZmVjZWIzMzc1Mzc0YTI5Y2E1OGU0YWQ4N2Y5NDljZWE0NGQg MTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnLmdjYw0KKysrIGIvZ2NjL2NvbmZp Zy5nY2MNCkBAIC0zMTgsNyArMzE4LDcgQEAgYWFyY2g2NCotKi0qKQ0KIAlj X3RhcmdldF9vYmpzPSJhYXJjaDY0LWMubyINCiAJY3h4X3RhcmdldF9vYmpz PSJhYXJjaDY0LWMubyINCiAJZF90YXJnZXRfb2Jqcz0iYWFyY2g2NC1kLm8i DQotCWV4dHJhX29ianM9ImFhcmNoNjQtYnVpbHRpbnMubyBhYXJjaC1jb21t b24ubyBjb3J0ZXgtYTU3LWZtYS1zdGVlcmluZy5vIGFhcmNoNjQtc3BlY3Vs YXRpb24ubyBmYWxrb3ItdGFnLWNvbGxpc2lvbi1hdm9pZGFuY2UubyINCisJ ZXh0cmFfb2Jqcz0iYWFyY2g2NC1idWlsdGlucy5vIGFhcmNoLWNvbW1vbi5v IGNvcnRleC1hNTctZm1hLXN0ZWVyaW5nLm8gYWFyY2g2NC1zcGVjdWxhdGlv bi5vIGZhbGtvci10YWctY29sbGlzaW9uLWF2b2lkYW5jZS5vIGFhcmNoNjQt YnRpLWluc2VydC5vIg0KIAl0YXJnZXRfZ3RmaWxlcz0iXCQoc3JjZGlyKS9j b25maWcvYWFyY2g2NC9hYXJjaDY0LWJ1aWx0aW5zLmMiDQogCXRhcmdldF9o YXNfdGFyZ2V0bV9jb21tb249eWVzDQogCTs7DQpkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtYnRpLWluc2VydC5jIGIvZ2NjL2Nv bmZpZy9hYXJjaDY0L2FhcmNoNjQtYnRpLWluc2VydC5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMC4uYjhhYjNmN2JmNjRhYThmMDA3MWE5MTFjOTAxOWVi MGE3OGQ0NWVhZA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL2NvbmZpZy9h YXJjaDY0L2FhcmNoNjQtYnRpLWluc2VydC5jDQpAQCAtMCwwICsxLDIzNiBA QA0KKy8qIEJyYW5jaCBUYXJnZXQgSWRlbnRpZmljYXRpb24gZm9yIEFBcmNo NjQgYXJjaGl0ZWN0dXJlLg0KKyAgIENvcHlyaWdodCAoQykgMjAxOCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCisgICBDb250cmlidXRlZCBi eSBBcm0gTHRkLg0KKw0KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdDQy4N CisNCisgICBHQ0MgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdA0KKyAgIHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5DQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQ0KKyAgIGFueSBs YXRlciB2ZXJzaW9uLg0KKw0KKyAgIEdDQyBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQNCisgICBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mDQorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUNCisgICBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQorDQorICAg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UNCisgICBhbG9uZyB3aXRoIEdDQzsgc2Vl IHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQ0KKyAgIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovDQorDQorI2RlZmluZSBJTl9U QVJHRVRfQ09ERSAxDQorDQorI2luY2x1ZGUgImNvbmZpZy5oIg0KKyNkZWZp bmUgSU5DTFVERV9TVFJJTkcNCisjaW5jbHVkZSAic3lzdGVtLmgiDQorI2lu Y2x1ZGUgImNvcmV0eXBlcy5oIg0KKyNpbmNsdWRlICJiYWNrZW5kLmgiDQor I2luY2x1ZGUgInRhcmdldC5oIg0KKyNpbmNsdWRlICJydGwuaCINCisjaW5j bHVkZSAidHJlZS5oIg0KKyNpbmNsdWRlICJtZW1tb2RlbC5oIg0KKyNpbmNs dWRlICJnaW1wbGUuaCINCisjaW5jbHVkZSAidG1fcC5oIg0KKyNpbmNsdWRl ICJzdHJpbmdwb29sLmgiDQorI2luY2x1ZGUgImF0dHJpYnMuaCINCisjaW5j bHVkZSAiZW1pdC1ydGwuaCINCisjaW5jbHVkZSAiZ2ltcGxpZnkuaCINCisj aW5jbHVkZSAiZ2ltcGxlLWl0ZXJhdG9yLmgiDQorI2luY2x1ZGUgImR1bXBm aWxlLmgiDQorI2luY2x1ZGUgInJ0bC1pdGVyLmgiDQorI2luY2x1ZGUgImNm Z3J0bC5oIg0KKyNpbmNsdWRlICJ0cmVlLXBhc3MuaCINCisjaW5jbHVkZSAi Y2dyYXBoLmgiDQorDQorLyogVGhpcyBwYXNzIGVuYWJsZXMgdGhlIHN1cHBv cnQgZm9yIEJyYW5jaCBUYXJnZXQgSWRlbnRpZmljYXRpb24gTWVjaGFuaXNt DQorICAgZm9yIEFBcmNoNjQuICBUaGlzIGlzIGEgbmV3IHNlY3VyaXR5IGZl YXR1cmUgaW50cm9kdWNlZCBpbiBBUk12OC41LUENCisgICBhcmNodGl0ZWN0 dXJlLiAgQSBCVEkgaW5zdHJ1Y3Rpb24gaXMgdXNlZCB0byBndWFyZCBhZ2Fp bnN0IHRoZSBleGVjdXRpb24NCisgICBvZiBpbnN0cnVjdGlvbnMgd2hpY2gg YXJlIG5vdCB0aGUgaW50ZW5kZWQgdGFyZ2V0IG9mIGFuIGluZGlyZWN0IGJy YW5jaC4NCisNCisgICBPdXRzaWRlIG9mIGEgZ3VhcmRlZCBtZW1vcnkgcmVn aW9uLCBhIEJUSSBpbnN0cnVjdGlvbiBleGVjdXRlcyBhcyBhIE5PUC4NCisg ICBXaXRoaW4gYSBndWFyZGVkIG1lbW9yeSByZWdpb24gYW55IHRhcmdldCBv ZiBhbiBpbmRpcmVjdCBicmFuY2ggbXVzdCBiZQ0KKyAgIGEgY29tcGF0aWJs ZSBCVEkgb3IgQlJLLCBITFQsIFBBQ0lBU1AsIFBBQ0lCQVNQIGluc3RydWN0 aW9uIChldmVuIGlmIHRoZQ0KKyAgIGJyYW5jaCBpcyB0cmlnZ2VyZWQgaW4g YSBub24tZ3VhcmRlZCBtZW1vcnkgcmVnaW9uKS4gIEFuIGluY29tcGF0aWJp bGl0eQ0KKyAgIGdlbmVyYXRlcyBhIEJyYW5jaCBUYXJnZXQgRXhjZXB0aW9u Lg0KKw0KKyAgIFRoZSBjb21wYXRpYmlsaXR5IG9mIHRoZSBCVEkgaW5zdHJ1 Y3Rpb24gaXMgYXMgZm9sbG93czoNCisgICBCVEkgaiA6IENhbiBiZSBhIHRh cmdldCBvZiBhbnkgaW5kaXJlY3QganVtcCAoQlIgWG4pLg0KKyAgIEJUSSBj IDogQ2FuIGJlIGEgdGFyZ2V0IG9mIGFueSBpbmRpcmVjdCBjYWxsIChCTFIg WG4gYW5kIEJSIFgxNi9YMTcpLg0KKyAgIEJUSSBqYzogQ2FuIGJlIGEgdGFy Z2V0IG9mIGFueSBpbmRpcmVjdCBjYWxsIG9yIGluZGlyZWN0IGp1bXAuDQor ICAgQlRJICAgOiBDYW4gbm90IGJlIGEgdGFyZ2V0IG9mIGFueSBpbmRpcmVj dCBjYWxsIG9yIGluZGlyZWN0IGp1bXAuDQorDQorICBJbiBvcmRlciB0byBl bmFibGUgdGhpcyBtZWNoYW5pc20sIHRoaXMgcGFzcyBpdGVyYXRlcyB0aHJv dWdoIHRoZQ0KKyAgY29udHJvbCBmbG93IG9mIHRoZSBjb2RlIGFuZCBhZGRz IGFwcHJvcHJpYXRlIEJUSSBpbnN0cnVjdGlvbnMgOg0KKyAgKiBBZGQgYSBu ZXcgIkJUSSBDIiBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgZnVuY3Rpb24sIHVu bGVzcyBpdHMgYWxyZWFkeQ0KKyAgICBwcm90ZWN0ZWQgYnkgYSAiUEFDSUFT UC9QQUNJQlNQIi4gIFdlIGV4ZW1wdCB0aGUgZnVuY3Rpb25zIHRoYXQgYXJl IG9ubHkNCisgICAgY2FsbGVkIGRpcmVjdGx5Lg0KKyAgKiBBZGQgYSBuZXcg IkJUSSBKIiBmb3IgZXZlcnkgdGFyZ2V0IG9mIGFuIGluZGlyZWN0IGp1bXAs IGp1bXAgdGFibGUgdGFyZ2V0cywNCisgICAgbm9uLWxvY2FsIGdvdG8gdGFy Z2V0cyBvciBsYWJlbHMgdGhhdCBtaWdodCBiZSByZWZlcmVuY2VkIGJ5IHZh cmlhYmxlcywNCisgICAgY29uc3RhbnQgcG9vbHMsIGV0YyAoTk9URV9JTlNO X0RFTEVURURfTEFCRUwpDQorDQorICBTaW5jZSB3ZSBoYXZlIGFscmVhZHkg Y2hhbmdlZCB0aGUgdXNlIG9mIGluZGlyZWN0IHRhaWwgY2FsbHMgdG8gb25s eSB4MTYNCisgIGFuZCB4MTcsIHdlIGRvIG5vdCBoYXZlIHRvIHVzZSAiQlRJ IEpDIi4NCisNCisgIFRoaXMgcGFzcyBpcyB0cmlnZ2VyZWQgYnkgdGhlIGNv bW1hbmQgbGluZSBvcHRpb24gLW1icmFuY2gtcHJvdGVjdGlvbj1idGkgb3IN CisgIC1tYnJhbmNoLXByb3RlY3Rpb249c3RhbmRhcmQuICBTaW5jZSBhbGwg dGhlIEJUSSBpbnN0cnVjdGlvbnMgYXJlIGluIHRoZSBISU5UDQorICBzcGFj ZSwgdGhpcyBwYXNzIGRvZXMgbm90IHJlcXVpcmUgYW55IG1pbmltdW0gYXJj aGl0ZWN0dXJlIHZlcnNpb24uICAqLw0KKw0KK25hbWVzcGFjZSB7DQorDQor Y29uc3QgcGFzc19kYXRhIHBhc3NfZGF0YV9pbnNlcnRfYnRpID0NCit7DQor ICBSVExfUEFTUywgLyogdHlwZS4gICovDQorICAiYnRpIiwgLyogbmFtZS4g ICovDQorICBPUFRHUk9VUF9OT05FLCAvKiBvcHRpbmZvX2ZsYWdzLiAgKi8N CisgIFRWX01BQ0hfREVQLCAvKiB0dl9pZC4gICovDQorICAwLCAvKiBwcm9w ZXJ0aWVzX3JlcXVpcmVkLiAgKi8NCisgIDAsIC8qIHByb3BlcnRpZXNfcHJv dmlkZWQuICAqLw0KKyAgMCwgLyogcHJvcGVydGllc19kZXN0cm95ZWQuICAq Lw0KKyAgMCwgLyogdG9kb19mbGFnc19zdGFydC4gICovDQorICAwLCAvKiB0 b2RvX2ZsYWdzX2ZpbmlzaC4gICovDQorfTsNCisNCisvKiBDaGVjayBpZiBY IChvciBhbnkgc3ViLXJ0eCBvZiBYKSBpcyBhIFBBQ0lBU1AvUEFDSUJTUCBp bnN0cnVjdGlvbi4gICovDQorc3RhdGljIGJvb2wNCithYXJjaDY0X3BhY19p bnNuX3AgKHJ0eCB4KQ0KK3sNCisgIGlmICghSU5TTl9QICh4KSkNCisgICAg cmV0dXJuIHg7DQorDQorICBzdWJydHhfdmFyX2l0ZXJhdG9yOjphcnJheV90 eXBlIGFycmF5Ow0KKyAgRk9SX0VBQ0hfU1VCUlRYX1ZBUiAoaXRlciwgYXJy YXksIFBBVFRFUk4gKHgpLCBBTEwpDQorICAgIHsNCisgICAgICBydHggc3Vi ID0gKml0ZXI7DQorICAgICAgaWYgKHN1YiAmJiBHRVRfQ09ERSAoc3ViKSA9 PSBVTlNQRUMpDQorCXsNCisJICBpbnQgdW5zcGVjX3ZhbCA9IFhJTlQgKHN1 YiwgMSk7DQorCSAgc3dpdGNoICh1bnNwZWNfdmFsKQ0KKwkgICAgew0KKwkg ICAgY2FzZSBVTlNQRUNfUEFDSUFTUDoNCisJICAgIGNhc2UgVU5TUEVDX1BB Q0lCU1A6DQorCSAgICAgIHJldHVybiB0cnVlOw0KKw0KKwkgICAgZGVmYXVs dDoNCisJICAgICAgcmV0dXJuIGZhbHNlOw0KKwkgICAgfQ0KKwkgIGl0ZXIu c2tpcF9zdWJydHhlcyAoKTsNCisJfQ0KKyAgICB9DQorICByZXR1cm4gZmFs c2U7DQorfQ0KKw0KKy8qIEluc2VydCB0aGUgQlRJIGluc3RydWN0aW9uLiAg Ki8NCisvKiBUaGlzIGlzIGltcGxlbWVudGVkIGFzIGEgbGF0ZSBSVEwgcGFz cyB0aGF0IHJ1bnMgYmVmb3JlIGJyYW5jaA0KKyAgIHNob3J0ZW5pbmcgYW5k IGRvZXMgdGhlIGZvbGxvd2luZy4gICovDQorc3RhdGljIHVuc2lnbmVkIGlu dA0KK3Jlc3Rfb2ZfaW5zZXJ0X2J0aSAodm9pZCkNCit7DQorICB0aW1ldmFy X3B1c2ggKFRWX01BQ0hfREVQKTsNCisNCisgIHJ0eCBidGlfaW5zbjsNCisg IHJ0eF9pbnNuICppbnNuOw0KKyAgYmFzaWNfYmxvY2sgYmI7DQorDQorICAv KiBTaW5jZSBhIEJyYW5jaCBUYXJnZXQgRXhjZXB0aW9uIGNhbiBvbmx5IGJl IHRyaWdnZXJlZCBieSBhbiBpbmRpcmVjdCBjYWxsLA0KKyAgICAgd2UgZXhl bXB0IGZ1bmN0aW9uIHRoYXQgYXJlIG9ubHkgY2FsbGVkIGRpcmVjdGx5LiAg V2UgYWxzbyBleGVtcHQNCisgICAgIGZ1bmN0aW9ucyB0aGF0IGFyZSBhbHJl YWR5IHByb3RlY3RlZCBieSBSZXR1cm4gQWRkcmVzcyBTaWduaW5nIChQQUNJ QVNQLw0KKyAgICAgUEFDSUJTUCkuICBGb3IgYWxsIG90aGVyIGNhc2VzIGlu c2VydCBhIEJUSSBDIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlDQorICAgICBm dW5jdGlvbi4gICovDQorICBpZiAoIWNncmFwaF9ub2RlOjpnZXQgKGNmdW4t PmRlY2wpLT5vbmx5X2NhbGxlZF9kaXJlY3RseV9wICgpKQ0KKyAgICB7DQor ICAgICAgYmIgPSBFTlRSWV9CTE9DS19QVFJfRk9SX0ZOIChjZnVuKS0+bmV4 dF9iYjsNCisgICAgICBpbnNuID0gQkJfSEVBRCAoYmIpOw0KKyAgICAgIGlm ICghYWFyY2g2NF9wYWNfaW5zbl9wIChnZXRfZmlyc3Rfbm9ubm90ZV9pbnNu ICgpKSkNCisJew0KKwkgIGJ0aV9pbnNuID0gZ2VuX2J0aV9jICgpOw0KKwkg IGVtaXRfaW5zbl9iZWZvcmUgKGJ0aV9pbnNuLCBpbnNuKTsNCisJfQ0KKyAg ICB9DQorDQorICBiYiA9IDA7DQorICBGT1JfRUFDSF9CQl9GTiAoYmIsIGNm dW4pDQorICAgIHsNCisgICAgICBmb3IgKGluc24gPSBCQl9IRUFEIChiYik7 IGluc24gIT0gTkVYVF9JTlNOIChCQl9FTkQgKGJiKSk7DQorCSAgIGluc24g PSBORVhUX0lOU04gKGluc24pKQ0KKwl7DQorCSAgLyogSWYgYSBsYWJlbCBp cyBtYXJrZWQgdG8gYmUgcHJlc2VydmVkIG9yIGNhbiBiZSBhIG5vbi1sb2Nh bCBnb3RvDQorCSAgICAgdGFyZ2V0LCBpdCBtdXN0IGJlIHByb3RlY3RlZCB3 aXRoIGEgQlRJIEouICBUaGUgc2FtZSBhcHBsaWVzIHRvDQorCSAgICAgTk9U RV9JTlNOX0RFTEVURURfTEFCRUwgc2luY2UgdGhleSBhcmUgYmFzaWNhbGx5 IGxhYmVscyB0aGF0IG1pZ2h0DQorCSAgICAgYmUgcmVmZXJlbmNlZCB2aWEg dmFyaWFibGVzIG9yIGNvbnN0YW50IHBvb2wuICAqLw0KKwkgIGlmICgoTEFC RUxfUCAoaW5zbikNCisJICAgICAgICYmIChMQUJFTF9QUkVTRVJWRV9QIChp bnNuKQ0KKwkJICAgfHwgYmItPmZsYWdzICYgQkJfTk9OX0xPQ0FMX0dPVE9f VEFSR0VUKSkNCisJICAgICAgfHwgKE5PVEVfUCAoaW5zbikNCisJCSAgJiYg Tk9URV9LSU5EIChpbnNuKSA9PSBOT1RFX0lOU05fREVMRVRFRF9MQUJFTCkp DQorCSAgICB7DQorCSAgICAgIGJ0aV9pbnNuID0gZ2VuX2J0aV9qICgpOw0K KwkgICAgICBlbWl0X2luc25fYWZ0ZXIgKGJ0aV9pbnNuLCBpbnNuKTsNCisJ ICAgICAgY29udGludWU7DQorCSAgICB9DQorDQorCSAgLyogVGhlcmUgY291 bGQgc3RpbGwgYmUgbW9yZSBsYWJlbHMgdGhhdCBhcmUgdmFsaWQgdGFyZ2V0 cyBvZiBhDQorCSAgICAgQlRJIEogaW5zdHVjdGlvbi4gIFRvIGZpbmQgdGhl bSB3ZSBzdGFydCBsb29raW5nIHRocm91Z2ggdGhlDQorCSAgICAgSlVNUF9J TlNOLiAgSWYgaXQganVtcHMgdG8gYSBqdW1wIHRhYmxlLCB0aGVuIHdlIGZp bmQgYWxsIGxhYmVscw0KKwkgICAgIG9mIHRoZSBqdW1wIHRhYmxlIHRvIHBy b3RlY3Qgd2l0aCBhIEJUSSBKLiAgKi8NCisJICBpZiAoSlVNUF9QIChpbnNu KSkNCisJICAgIHsNCisJICAgICAgcnR4X2p1bXBfdGFibGVfZGF0YSAqdGFi bGU7DQorCSAgICAgIGlmICh0YWJsZWp1bXBfcCAoaW5zbiwgTlVMTCwgJnRh YmxlKSkNCisJCXsNCisJCSAgcnR2ZWMgdmVjID0gdGFibGUtPmdldF9sYWJl bHMgKCk7DQorCQkgIGludCBqOw0KKwkJICBydHhfaW5zbiAqbGFiZWw7DQor DQorCQkgIGZvciAoaiA9IEdFVF9OVU1fRUxFTSAodmVjKSAtIDE7IGogPj0g MDsgLS1qKQ0KKwkJICAgIHsNCisJCSAgICAgIGxhYmVsID0gYXNfYSA8cnR4 X2luc24gKj4gKFhFWFAgKFJUVkVDX0VMVCAodmVjLCBqKSwgMCkpOw0KKwkJ ICAgICAgYnRpX2luc24gPSBnZW5fYnRpX2ogKCk7DQorCQkgICAgICBlbWl0 X2luc25fYWZ0ZXIgKGJ0aV9pbnNuLCBsYWJlbCk7DQorCQkgICAgfQ0KKwkJ fQ0KKwkgICAgfQ0KKw0KKwkgIC8qIEFsc28gbG9vayBmb3IgY2FsbHMgdG8g c2V0am1wICgpIHdoaWNoIHdvdWxkIGJlIG1hcmtlZCB3aXRoDQorCSAgICAg UkVHX1NFVEpNUCBub3RlIGFuZCBwdXQgYSBCVEkgSiBhZnRlci4gIFRoaXMg aXMgd2hlcmUgbG9uZ2p1bXAgKCkNCisJICAgICB3aWxsIHJldHVybi4gICov DQorCSAgaWYgKENBTExfUCAoaW5zbikgJiYgKGZpbmRfcmVnX25vdGUgKGlu c24sIFJFR19TRVRKTVAsIE5VTEwpKSkNCisJICAgIHsNCisJICAgICAgYnRp X2luc24gPSBnZW5fYnRpX2ogKCk7DQorCSAgICAgIGVtaXRfaW5zbl9hZnRl ciAoYnRpX2luc24sIGluc24pOw0KKwkgICAgICBjb250aW51ZTsNCisJICAg IH0NCisJfQ0KKyAgICB9DQorDQorICB0aW1ldmFyX3BvcCAoVFZfTUFDSF9E RVApOw0KKyAgcmV0dXJuIDA7DQorfQ0KKw0KKw0KK2NsYXNzIHBhc3NfaW5z ZXJ0X2J0aSA6IHB1YmxpYyBydGxfb3B0X3Bhc3MNCit7DQorcHVibGljOg0K KyAgcGFzc19pbnNlcnRfYnRpIChnY2M6OmNvbnRleHQgKmN0eHQpDQorICAg IDogcnRsX29wdF9wYXNzIChwYXNzX2RhdGFfaW5zZXJ0X2J0aSwgY3R4dCkN CisgIHt9DQorDQorICAvKiBvcHRfcGFzcyBtZXRob2RzOiAqLw0KKyAgdmly dHVhbCBib29sIGdhdGUgKGZ1bmN0aW9uICopDQorICAgIHsNCisgICAgICBy ZXR1cm4gYWFyY2g2NF9idGlfZW5hYmxlZCAoKTsNCisgICAgfQ0KKw0KKyAg dmlydHVhbCB1bnNpZ25lZCBpbnQgZXhlY3V0ZSAoZnVuY3Rpb24gKikNCisg ICAgew0KKyAgICAgIHJldHVybiByZXN0X29mX2luc2VydF9idGkgKCk7DQor ICAgIH0NCisNCit9OyAvLyBjbGFzcyBwYXNzX2luc2VydF9idGkNCisNCit9 IC8vIGFub24gbmFtZXNwYWNlDQorDQorcnRsX29wdF9wYXNzICoNCittYWtl X3Bhc3NfaW5zZXJ0X2J0aSAoZ2NjOjpjb250ZXh0ICpjdHh0KQ0KK3sNCisg IHJldHVybiBuZXcgcGFzc19pbnNlcnRfYnRpIChjdHh0KTsNCit9DQpkaWZm IC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtcGFzc2VzLmRl ZiBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXBhc3Nlcy5kZWYNCmlu ZGV4IDM5ODJiNmVhNjI5MDM3OWU2ZWNhYzgwNDZlYmIyN2ExNGQyMzQyZjAu LmQzZTMxNmY0MDZlY2IwMTE5Nzg3YTY3YWQxYzYyZmFmYWFmOTlhODggMTAw NjQ0DQotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1wYXNzZXMu ZGVmDQorKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1wYXNzZXMu ZGVmDQpAQCAtMjEsMyArMjEsNCBAQA0KIElOU0VSVF9QQVNTX0FGVEVSIChw YXNzX3JlZ3JlbmFtZSwgMSwgcGFzc19mbWFfc3RlZXJpbmcpOw0KIElOU0VS VF9QQVNTX0JFRk9SRSAocGFzc19yZW9yZGVyX2Jsb2NrcywgMSwgcGFzc190 cmFja19zcGVjdWxhdGlvbik7DQogSU5TRVJUX1BBU1NfQUZURVIgKHBhc3Nf bWFjaGluZV9yZW9yZywgMSwgcGFzc190YWdfY29sbGlzaW9uX2F2b2lkYW5j ZSk7DQorSU5TRVJUX1BBU1NfQkVGT1JFIChwYXNzX3Nob3J0ZW5fYnJhbmNo ZXMsIDEsIHBhc3NfaW5zZXJ0X2J0aSk7DQpkaWZmIC0tZ2l0IGEvZ2NjL2Nv bmZpZy9hYXJjaDY0L2FhcmNoNjQtcHJvdG9zLmggYi9nY2MvY29uZmlnL2Fh cmNoNjQvYWFyY2g2NC1wcm90b3MuaA0KaW5kZXggZmExMTI4Y2U5YjcyMDhk NzMyMDU5ZmVlZTQ4ZWJmM2EwMDM5ODUwYy4uMjEwYzVkODhjNTNhYjM0YmFl MzQzMjM3Nzg4ZGZlMGQwY2Q4MGE0YSAxMDA2NDQNCi0tLSBhL2djYy9jb25m aWcvYWFyY2g2NC9hYXJjaDY0LXByb3Rvcy5oDQorKysgYi9nY2MvY29uZmln L2FhcmNoNjQvYWFyY2g2NC1wcm90b3MuaA0KQEAgLTYzNSw2ICs2MzUsNyBA QCBleHRlcm4gdm9pZCBhYXJjaDY0X2RfdGFyZ2V0X3ZlcnNpb25zICh2b2lk KTsNCiBydGxfb3B0X3Bhc3MgKm1ha2VfcGFzc19mbWFfc3RlZXJpbmcgKGdj Yzo6Y29udGV4dCAqKTsNCiBydGxfb3B0X3Bhc3MgKm1ha2VfcGFzc190cmFj a19zcGVjdWxhdGlvbiAoZ2NjOjpjb250ZXh0ICopOw0KIHJ0bF9vcHRfcGFz cyAqbWFrZV9wYXNzX3RhZ19jb2xsaXNpb25fYXZvaWRhbmNlIChnY2M6OmNv bnRleHQgKik7DQorcnRsX29wdF9wYXNzICptYWtlX3Bhc3NfaW5zZXJ0X2J0 aSAoZ2NjOjpjb250ZXh0ICpjdHh0KTsNCiANCiBwb2x5X3VpbnQ2NCBhYXJj aDY0X3JlZ21vZGVfbmF0dXJhbF9zaXplIChtYWNoaW5lX21vZGUpOw0KIA0K ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LmggYi9n Y2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5oDQppbmRleCBjYzk1YmUzMmQ0 MDI2OGQzNjQ3YzgyODAxODhmMTdmZjgyMTJhMTU2Li5iZDgyYWUzZGRlYTQ5 NzllNjQ2MDhlMGRjOGI5ZDk2OWZiNjkxY2Q0IDEwMDY0NA0KLS0tIGEvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuaA0KKysrIGIvZ2NjL2NvbmZpZy9h YXJjaDY0L2FhcmNoNjQuaA0KQEAgLTkyNSw3ICs5MjUsNyBAQCB0eXBlZGVm IHN0cnVjdA0KIA0KICNkZWZpbmUgUkVUVVJOX0FERFJfUlRYIGFhcmNoNjRf cmV0dXJuX2FkZHINCiANCi0vKiAzIGluc25zICsgcGFkZGluZyArIDIgcG9p bnRlci1zaXplZCBlbnRyaWVzLiAgKi8NCisvKiBCVEkgYyArIDMgaW5zbnMg KyAyIHBvaW50ZXItc2l6ZWQgZW50cmllcy4gICovDQogI2RlZmluZSBUUkFN UE9MSU5FX1NJWkUJKFRBUkdFVF9JTFAzMiA/IDI0IDogMzIpDQogDQogLyog VHJhbXBvbGluZXMgY29udGFpbiBkd29yZHMsIHNvIG11c3QgYmUgZHdvcmQg YWxpZ25lZC4gICovDQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0 L2FhcmNoNjQuYyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LmMNCmlu ZGV4IDgyNjJlOWRhMDM2ODM3OTM5OTU0MDhmZDhjYWY5MGRjMDY5ZTFjOGQu LmY2NmM5NjNkY2Q1YjAwMTM4YzZhOTZjYjAxM2I2NzVkNjM5Njk4ZTQgMTAw NjQ0DQotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jDQorKysg Yi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jDQpAQCAtODEzNywxOCAr ODEzNywzNiBAQCBhYXJjaDY0X3JldHVybl9hZGRyIChpbnQgY291bnQsIHJ0 eCBmcmFtZSBBVFRSSUJVVEVfVU5VU0VEKQ0KIHN0YXRpYyB2b2lkDQogYWFy Y2g2NF9hc21fdHJhbXBvbGluZV90ZW1wbGF0ZSAoRklMRSAqZikNCiB7DQor ICBpbnQgb2Zmc2V0MSA9IDE2Ow0KKyAgaW50IG9mZnNldDIgPSAyMDsNCisN CisgIGlmIChhYXJjaDY0X2J0aV9lbmFibGVkICgpKQ0KKyAgICB7DQorICAg ICAgYXNtX2ZwcmludGYgKGYsICJcdGhpbnRcdDM0IC8vIGJ0aSBjXG4iKTsN CisgICAgICBvZmZzZXQxIC09IDQ7DQorICAgICAgb2Zmc2V0MiAtPSA0Ow0K KyAgICB9DQorDQogICBpZiAoVEFSR0VUX0lMUDMyKQ0KICAgICB7DQotICAg ICAgYXNtX2ZwcmludGYgKGYsICJcdGxkclx0dyVkLCAuKzE2XG4iLCBJUDFf UkVHTlVNIC0gUjBfUkVHTlVNKTsNCi0gICAgICBhc21fZnByaW50ZiAoZiwg Ilx0bGRyXHR3JWQsIC4rMTZcbiIsIFNUQVRJQ19DSEFJTl9SRUdOVU0gLSBS MF9SRUdOVU0pOw0KKyAgICAgIGFzbV9mcHJpbnRmIChmLCAiXHRsZHJcdHcl ZCwgLislZFxuIiwgSVAxX1JFR05VTSAtIFIwX1JFR05VTSwgb2Zmc2V0MSk7 DQorICAgICAgYXNtX2ZwcmludGYgKGYsICJcdGxkclx0dyVkLCAuKyVkXG4i LCBTVEFUSUNfQ0hBSU5fUkVHTlVNIC0gUjBfUkVHTlVNLA0KKwkJICAgb2Zm c2V0MSk7DQogICAgIH0NCiAgIGVsc2UNCiAgICAgew0KLSAgICAgIGFzbV9m cHJpbnRmIChmLCAiXHRsZHJcdCVzLCAuKzE2XG4iLCByZWdfbmFtZXMgW0lQ MV9SRUdOVU1dKTsNCi0gICAgICBhc21fZnByaW50ZiAoZiwgIlx0bGRyXHQl cywgLisyMFxuIiwgcmVnX25hbWVzIFtTVEFUSUNfQ0hBSU5fUkVHTlVNXSk7 DQorICAgICAgYXNtX2ZwcmludGYgKGYsICJcdGxkclx0JXMsIC4rJWRcbiIs IHJlZ19uYW1lcyBbSVAxX1JFR05VTV0sIG9mZnNldDEpOw0KKyAgICAgIGFz bV9mcHJpbnRmIChmLCAiXHRsZHJcdCVzLCAuKyVkXG4iLCByZWdfbmFtZXMg W1NUQVRJQ19DSEFJTl9SRUdOVU1dLA0KKwkJICAgb2Zmc2V0Mik7DQogICAg IH0NCiAgIGFzbV9mcHJpbnRmIChmLCAiXHRiclx0JXNcbiIsIHJlZ19uYW1l cyBbSVAxX1JFR05VTV0pOw0KLSAgYXNzZW1ibGVfYWxpZ25lZF9pbnRlZ2Vy ICg0LCBjb25zdDBfcnR4KTsNCisNCisgIC8qIFRoZSB0cmFtcG9saW5lIG5l ZWRzIGFuIGV4dHJhIHBhZGRpbmcgaW5zdHJ1Y3Rpb24uICBJbiBjYXNlIGlm IEJUSSBpcw0KKyAgICAgZW5hYmxlZCB0aGUgcGFkZGluZyBpbnN0cnVjdGlv biBpcyByZXBsYWNlZCBieSB0aGUgQlRJIGluc3RydWN0aW9uIGF0DQorICAg ICB0aGUgYmVnaW5uaW5nLiAgKi8NCisgIGlmICghYWFyY2g2NF9idGlfZW5h YmxlZCAoKSkNCisgICAgYXNzZW1ibGVfYWxpZ25lZF9pbnRlZ2VyICg0LCBj b25zdDBfcnR4KTsNCisNCiAgIGFzc2VtYmxlX2FsaWduZWRfaW50ZWdlciAo UE9JTlRFUl9CWVRFUywgY29uc3QwX3J0eCk7DQogICBhc3NlbWJsZV9hbGln bmVkX2ludGVnZXIgKFBPSU5URVJfQllURVMsIGNvbnN0MF9ydHgpOw0KIH0N CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5tZCBi L2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kDQppbmRleCAxZjIxY2Jk ZDhlN2U3NGM3ZjExODNhODU5NzZkMTYwYjA5ZDMwNDlhLi44NmYyNDZiNTNj NTM5MDhmNTU1ZTViODQ0YWQ4YjkwYjc5NGE2ZmVlIDEwMDY0NA0KLS0tIGEv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQubWQNCisrKyBiL2djYy9jb25m aWcvYWFyY2g2NC9hYXJjaDY0Lm1kDQpAQCAtMjQwLDYgKzI0MCwxMCBAQA0K ICAgICBVTlNQRUNWX0JMT0NLQUdFCQk7IFJlcHJlc2VudCBhIGJsb2NrYWdl DQogICAgIFVOU1BFQ1ZfUFJPQkVfU1RBQ0tfUkFOR0UJOyBSZXByZXNlbnQg c3RhY2sgcmFuZ2UgcHJvYmluZy4NCiAgICAgVU5TUEVDVl9TUEVDVUxBVElP Tl9CQVJSSUVSIDsgUmVwcmVzZW50IHNwZWN1bGF0aW9uIGJhcnJpZXIuDQor ICAgIFVOU1BFQ1ZfQlRJX05PQVJHCQk7IFJlcHJlc2VudCBCVEkuDQorICAg IFVOU1BFQ1ZfQlRJX0MJCTsgUmVwcmVzZW50IEJUSSBjLg0KKyAgICBVTlNQ RUNWX0JUSV9KCQk7IFJlcHJlc2VudCBCVEkgai4NCisgICAgVU5TUEVDVl9C VElfSkMJCTsgUmVwcmVzZW50IEJUSSBqYy4NCiAgIF0NCiApDQogDQpAQCAt NjcyMSw2ICs2NzI1LDM1IEBADQogICBbKHNldF9hdHRyICJ0eXBlIiAiY3Nl bCIpXQ0KICkNCiANCis7OyBCVEkgPHRhcmdldD4gaW5zdHJ1Y3Rpb25zDQor KGRlZmluZV9pbnNuICJidGlfbm9hcmciDQorICBbKHVuc3BlY192b2xhdGls ZSBbKGNvbnN0X2ludCAwKV0gVU5TUEVDVl9CVElfTk9BUkcpXQ0KKyAgIiIN CisgICJoaW50XHQzMiAvLyBidGkiDQorICBbKHNldF9hdHRyICJ0eXBlIiAi bm9faW5zbiIpXQ0KKykNCisNCisoZGVmaW5lX2luc24gImJ0aV9jIg0KKyAg Wyh1bnNwZWNfdm9sYXRpbGUgWyhjb25zdF9pbnQgMCldIFVOU1BFQ1ZfQlRJ X0MpXQ0KKyAgIiINCisgICJoaW50XHQzNCAvLyBidGkgYyINCisgIFsoc2V0 X2F0dHIgInR5cGUiICJub19pbnNuIildDQorKQ0KKw0KKyhkZWZpbmVfaW5z biAiYnRpX2oiDQorICBbKHVuc3BlY192b2xhdGlsZSBbKGNvbnN0X2ludCAw KV0gVU5TUEVDVl9CVElfSildDQorICAiIg0KKyAgImhpbnRcdDM2IC8vIGJ0 aSBqIg0KKyAgWyhzZXRfYXR0ciAidHlwZSIgIm5vX2luc24iKV0NCispDQor DQorKGRlZmluZV9pbnNuICJidGlfamMiDQorICBbKHVuc3BlY192b2xhdGls ZSBbKGNvbnN0X2ludCAwKV0gVU5TUEVDVl9CVElfSkMpXQ0KKyAgIiINCisg ICJoaW50XHQzOCAvLyBidGkgamMiDQorICBbKHNldF9hdHRyICJ0eXBlIiAi bm9faW5zbiIpXQ0KKykNCisNCiA7OyBIZWxwZXIgZm9yIGFhcmNoNjQuYyBj b2RlLg0KIChkZWZpbmVfZXhwYW5kICJzZXRfY2xvYmJlcl9jYyINCiAgIFso cGFyYWxsZWwgWyhzZXQgKG1hdGNoX29wZXJhbmQgMCkNCmRpZmYgLS1naXQg YS9nY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0IGIvZ2NjL2NvbmZpZy9h YXJjaDY0L3QtYWFyY2g2NA0KaW5kZXggZTkxZGNjZWE5OTU0YzJjMzg3ZmIx MTFkMWIzNTdkZDJjMjIwZmYwYS4uYTIwNDg1NDdiZTU2ZWJhOGE0N2MyMmM5 ZDJiOTRlNzg3MzY0ODI4ZiAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvYWFy Y2g2NC90LWFhcmNoNjQNCisrKyBiL2djYy9jb25maWcvYWFyY2g2NC90LWFh cmNoNjQNCkBAIC05MSw2ICs5MSwxNSBAQCBmYWxrb3ItdGFnLWNvbGxpc2lv bi1hdm9pZGFuY2UubzogXA0KIAkkKENPTVBJTEVSKSAtYyAkKEFMTF9DT01Q SUxFUkZMQUdTKSAkKEFMTF9DUFBGTEFHUykgJChJTkNMVURFUykgXA0KIAkJ JChzcmNkaXIpL2NvbmZpZy9hYXJjaDY0L2ZhbGtvci10YWctY29sbGlzaW9u LWF2b2lkYW5jZS5jDQogDQorYWFyY2g2NC1idGktaW5zZXJ0Lm86ICQoc3Jj ZGlyKS9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWJ0aS1pbnNlcnQuYyBcDQor ICAgICQoQ09ORklHX0gpICQoU1lTVEVNX0gpICQoVE1fSCkgJChSRUdTX0gp IGluc24tY29uZmlnLmggJChSVExfQkFTRV9IKSBcDQorICAgIGRvbWluYW5j ZS5oIGNmZy5oIGNmZ2FuYWwuaCAkKEJBU0lDX0JMT0NLX0gpICQoSU5TTl9B VFRSX0gpICQoUkVDT0dfSCkgXA0KKyAgICBvdXRwdXQuaCBoYXNoLW1hcC5o ICQoREZfSCkgJChPQlNUQUNLX0gpICQoVEFSR0VUX0gpICQoUlRMX0gpIFwN CisgICAgJChDT05URVhUX0gpICQoVFJFRV9QQVNTX0gpIHJlZ3JlbmFtZS5o IFwNCisgICAgJChzcmNkaXIpL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtcHJv dG9zLmgNCisJJChDT01QSUxFUikgLWMgJChBTExfQ09NUElMRVJGTEFHUykg JChBTExfQ1BQRkxBR1MpICQoSU5DTFVERVMpIFwNCisJCSQoc3JjZGlyKS9j b25maWcvYWFyY2g2NC9hYXJjaDY0LWJ0aS1pbnNlcnQuYw0KKw0KIGNvbW1h PSwNCiBNVUxUSUxJQl9PUFRJT05TICAgID0gJChzdWJzdCAkKGNvbW1hKSwv LCAkKHBhdHN1YnN0ICUsIG1hYmk9JSwgJChzdWJzdCAkKGNvbW1hKSwkKGNv bW1hKW1hYmk9LCQoVE1fTVVMVElMSUJfQ09ORklHKSkpKQ0KIE1VTFRJTElC X0RJUk5BTUVTICAgPSAkKHN1YnN0ICQoY29tbWEpLCAsJChUTV9NVUxUSUxJ Ql9DT05GSUcpKQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9hYXJjaDY0L2J0aS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC9idGktMS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u NTc1ZDAxYTU0MTFhMTlkYWJjZGI1NmI3NzdlNWQ4N2Q5NzAzYTg0OA0KLS0t IC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fh cmNoNjQvYnRpLTEuYw0KQEAgLTAsMCArMSw1OSBAQA0KKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovDQorLyogLU9zIHRvIGNyZWF0ZSBqdW1wIHRhYmxlLiAg Ki8NCisvKiB7IGRnLW9wdGlvbnMgIi1PcyAtbWJyYW5jaC1wcm90ZWN0aW9u PXN0YW5kYXJkIiB9ICovDQorDQorZXh0ZXJuIGludCBmMSAodm9pZCk7DQor ZXh0ZXJuIGludCBmMiAodm9pZCk7DQorZXh0ZXJuIGludCBmMyAodm9pZCk7 DQorZXh0ZXJuIGludCBmNCAodm9pZCk7DQorZXh0ZXJuIGludCBmNSAodm9p ZCk7DQorZXh0ZXJuIGludCBmNiAodm9pZCk7DQorZXh0ZXJuIGludCBmNyAo dm9pZCk7DQorZXh0ZXJuIGludCBmOCAodm9pZCk7DQorZXh0ZXJuIGludCBm OSAodm9pZCk7DQorZXh0ZXJuIGludCBmMTAgKHZvaWQpOw0KKw0KK2ludCAo KnB0cikgKHZvaWQpOw0KKw0KK2ludA0KK2ZfanVtcF90YWJsZSAoaW50IHks IGludCBuKQ0KK3sNCisgIGludCBpOw0KKyAgZm9yIChpID0gMDsgaSA8IG4g O2kgKyspDQorICB7DQorICAgIHN3aXRjaCAoeSkNCisgICAgICB7DQorICAg ICAgY2FzZSAwIDogcHRyID0gZjE7IGJyZWFrOw0KKyAgICAgIGNhc2UgMSA6 IHB0ciA9IGYyOyBicmVhazsNCisgICAgICBjYXNlIDIgOiBwdHIgPSBmMzsg YnJlYWs7DQorICAgICAgY2FzZSAzIDogcHRyID0gZjQ7IGJyZWFrOw0KKyAg ICAgIGNhc2UgNCA6IHB0ciA9IGY1OyBicmVhazsNCisgICAgICBjYXNlIDUg OiBwdHIgPSBmNjsgYnJlYWs7DQorICAgICAgY2FzZSA2IDogcHRyID0gZjc7 IGJyZWFrOw0KKyAgICAgIGNhc2UgNyA6IHB0ciA9IGY4OyBicmVhazsNCisg ICAgICBjYXNlIDggOiBwdHIgPSBmOTsgYnJlYWs7DQorICAgICAgY2FzZSA5 IDogcHRyID0gZjEwOyBicmVhazsNCisgICAgICBkZWZhdWx0OiBicmVhazsN CisgICAgICB9DQorICAgIHkgKz0gcHRyICgpOw0KKyAgfQ0KKyAgcmV0dXJu ICh5ID09IDApPyB5KzE6NDsNCit9DQorLyogZl9qdW1wX3RhYmxlIHNob3Vs ZCBoYXZlIFBBQ0lBU1AgYW5kIEFVVElBU1AuICAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiaGludFx0MjUiIDEgfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJoaW50 XHQyOSIgMSB9IH0gKi8NCisNCitpbnQNCitmX2xhYmVsX2FkZHJlc3MgKCkN Cit7DQorICBzdGF0aWMgdm9pZCAqIGFkZHIgPSAmJmxhYjE7DQorICBnb3Rv ICphZGRyOw0KK2xhYjE6DQorICBhZGRyID0gJiZsYWIyOw0KKyAgcmV0dXJu IDE7DQorbGFiMjoNCisgIGFkZHIgPSAmJmxhYjE7DQorICByZXR1cm4gMjsN Cit9DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJo aW50XHQzNCIgMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMgImhpbnRcdDM2IiAxMiB9IH0gKi8NCmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9idGktMi5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvYnRpLTIuYw0KbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1MGVlZjE1Yzg5MzZkMDA3MTZjNTgy ZTkwYjIzNWFkZDVkYTkxMzYNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L2J0aS0yLmMNCkBAIC0wLDAg KzEsMzQgQEANCisvKiB7IGRnLWRvIHJ1biB9ICovDQorLyogeyBkZy1yZXF1 aXJlLWVmZmVjdGl2ZS10YXJnZXQgYWFyY2g2NF9idGlfaHcgfSAqLw0KKy8q IHsgZGctb3B0aW9ucyAiLW1icmFuY2gtcHJvdGVjdGlvbj1zdGFuZGFyZCIg fSAqLw0KKw0KKyNpbmNsdWRlPHN0ZGlvLmg+DQorDQordHlwZWRlZiBpbnQg RlAgKGludCk7DQorDQoraW50DQorZjEgKEZQIGZwLCBpbnQgbikNCit7DQor ICByZXR1cm4gKGZwKSAobik7DQorfQ0KKw0KK2ludA0KK2YyIChpbnQgbiwg RlAgZnApDQorew0KKyAgcmV0dXJuIChmcCkgKG4pOw0KK30NCisNCitpbnQg X19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkNCitmdW5jIChpbnQgeCkNCit7 DQorICByZXR1cm4geCsxOw0KK30NCisNCitpbnQgbWFpbiAoKQ0KK3sNCisg IGludCBzID0gMDsNCisgIHMgKz0gZjEgKGZ1bmMsIDEwKTsNCisgIHMgKz0g ZjIgKHMsIGZ1bmMpOw0KKyAgcHJpbnRmICgiUzogJWRcbiIsIHMpOw0KKyAg cmV0dXJuICEocyA9PSAyMyk7DQorfQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L2J0aS0zLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NC9idGktMy5jDQpuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMC4uOTdjZjVkMzdmNDJiOTMxM2RhNzU0ODFjMmNlYWM4ODQ3 MzVhYzk5NQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvYnRpLTMuYw0KQEAgLTAsMCArMSw1MiBAQA0K Ky8qIFRoaXMgaXMgYSBjb3B5IG9mIGdjYy90ZXN0c3VpdGUvZ2NjLmMtdG9y dHVyZS9leGVjdXRlL3ByNTY5ODIuYyB0byB0ZXN0IHRoZQ0KKyAgIHNldGpt cCBjYXNlIG9mIHRoZSBidGkgcGFzcy4gICovDQorLyogeyBkZy1kbyBydW4g fSAqLw0KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFhcmNo NjRfYnRpX2h3IH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi0tc2F2ZS10ZW1w cyAtbWJyYW5jaC1wcm90ZWN0aW9uPXN0YW5kYXJkIiB9ICovDQorDQorI2lu Y2x1ZGUgPHNldGptcC5oPg0KKw0KK2V4dGVybiB2b2lkIGFib3J0ICh2b2lk KTsNCitleHRlcm4gdm9pZCBleGl0IChpbnQpOw0KKw0KK3N0YXRpYyBqbXBf YnVmIGVudjsNCisNCit2b2lkIGJheiAodm9pZCkNCit7DQorICBfX2FzbV9f IHZvbGF0aWxlICgiIiA6IDogOiAibWVtb3J5Iik7DQorfQ0KKw0KK3N0YXRp YyBpbmxpbmUgaW50IGcoaW50IHgpDQorew0KKyAgICBpZiAoeCkNCisgICAg ew0KKyAgICAgICAgYmF6KCk7DQorICAgICAgICByZXR1cm4gMDsNCisgICAg fQ0KKyAgICBlbHNlDQorICAgIHsNCisgICAgICAgIGJheigpOw0KKyAgICAg ICAgcmV0dXJuIDE7DQorICAgIH0NCit9DQorDQoraW50IGYoaW50ICplKQ0K K3sNCisgICAgaWYgKCplKQ0KKyAgICAgIHJldHVybiAxOw0KKw0KKyAgICBp bnQgeCA9IHNldGptcChlbnYpOw0KKyAgICBpbnQgbiA9IGcoeCk7DQorICAg IGlmIChuID09IDApDQorICAgICAgZXhpdCgwKTsNCisgICAgaWYgKHgpDQor ICAgICAgYWJvcnQoKTsNCisgICAgbG9uZ2ptcChlbnYsIDQyKTsNCit9DQor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJoaW50XHQzNiIgfSB9 ICovDQorDQoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQ0KK3sN CisgICAgaW50IHYgPSAwOw0KKyAgICByZXR1cm4gZigmdik7DQorfQ0KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5l eHAgYi9nY2MvdGVzdHN1aXRlL2xpYi90YXJnZXQtc3VwcG9ydHMuZXhwDQpp bmRleCA1MDI2YzU5MDZjZGEzZjJmMWIyMWFmYmM5Y2QyNzBhZWUxYTgxMTI5 Li44NWIzYjgzNzc2ZTJmODk2NmEwYmEzYzZkMTkwM2JiZDQ5OTVkZTUyIDEw MDY0NA0KLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRz LmV4cA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRz LmV4cA0KQEAgLTQzMTMsNiArNDMxMywyMiBAQCBwcm9jIGNoZWNrX2VmZmVj dGl2ZV90YXJnZXRfYXJtX25lb252Ml9odyB7IH0gew0KICAgICB9IFthZGRf b3B0aW9uc19mb3JfYXJtX25lb252MiAiIl1dDQogfQ0KIA0KKyMgSURfQUE2 NFBGUjFfRUwxLkJUIHVzaW5nIGJpdHNbMzowXSA9PSAxIGltcGxpZXMgQlRJ IGltcGxpbWVudGVkLg0KK3Byb2MgY2hlY2tfZWZmZWN0aXZlX3RhcmdldF9h YXJjaDY0X2J0aV9odyB7IH0gew0KKyAgICBpZiB7ICFbaXN0YXJnZXQgYWFy Y2g2NCotKi0qXSB9IHsNCisJcmV0dXJuIDANCisgICAgfQ0KKyAgICByZXR1 cm4gW2NoZWNrX3J1bnRpbWUgYWFyY2g2NF9idGlfaHdfYXZhaWxhYmxlIHsN CisJaW50DQorCW1haW4gKHZvaWQpDQorCXsNCisJICBpbnQgYTsNCisJICBh c20gdm9sYXRpbGUgKCJtcnMgJTAsIGlkX2FhNjRwZnIxX2VsMSIgOiAiPXIi IChhKSk7DQorCSAgcmV0dXJuICEoKGEgJiAweGYpID09IDEpOw0KKwl9DQor ICAgIH0gIi1PMiIgXQ0KK30NCisNCiAjIFJldHVybiAxIGlmIHRoZSB0YXJn ZXQgc3VwcG9ydHMgdGhlIEFSTXY4LjEgQWR2LlNJTUQgZXh0ZW5zaW9uLCAw DQogIyBvdGhlcndpc2UuICBUaGUgdGVzdCBpcyB2YWxpZCBmb3IgQUFyY2g2 NCBhbmQgQVJNLiAgUmVjb3JkIHRoZSBjb21tYW5kDQogIyBsaW5lIG9wdGlv bnMgbmVlZGVkLg0K --_002_ba3e43462baec23fec53a3669754c49aarmcom_--