From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 98463 invoked by alias); 13 Nov 2018 14:47:30 -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 98445 invoked by uid 89); 13 Nov 2018 14:47:30 -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=t34 X-HELO: EUR03-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr30045.outbound.protection.outlook.com (HELO EUR03-AM5-obe.outbound.protection.outlook.com) (40.107.3.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 13 Nov 2018 14:47:26 +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=Tc22ezm+SWqZYdOW62tSaMQoKkYughqqx8mPc5UZjdc=; b=KL369DM0zdezy4tS1982g5tp/Y9dfU4xt84ytYz8ty8Q0IQBkkC2PAKbpQRcEIXIqtQZ9JwwkjQIjjFdKBjTN9aJov3TBa+7wVQin1/4sUvo7GIxDdc6ox7ns7swHId12yPzosZb8aHgHY1EAj7qPKbSLAoHTZlIlE1jANbz59E= Received: from AM5PR0801MB1714.eurprd08.prod.outlook.com (10.169.246.148) by AM5PR0801MB1684.eurprd08.prod.outlook.com (10.169.246.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.24; Tue, 13 Nov 2018 14:47:22 +0000 Received: from AM5PR0801MB1714.eurprd08.prod.outlook.com ([fe80::b410:aaa9:dbb9:4e64]) by AM5PR0801MB1714.eurprd08.prod.outlook.com ([fe80::b410:aaa9:dbb9:4e64%7]) with mapi id 15.20.1294.045; Tue, 13 Nov 2018 14:47:22 +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: Tue, 13 Nov 2018 14:47:00 -0000 Message-ID: <520262f0-989a-fa92-5d5f-fa7c90d77198@arm.com> References: In-Reply-To: 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_520262f0989afa925d5ffa7c90d77198armcom_" MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2018-11/txt/msg01104.txt.bz2 --_002_520262f0989afa925d5ffa7c90d77198armcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <1EE5EDDC59CFFB46806F1035AAA0F55E@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 3669 SGkNCg0KT24gMDIvMTEvMTggMTg6MzgsIFN1ZGFrc2hpbmEgRGFzIHdyb3Rl Og0KPiBIaQ0KPiANCj4gVGhpcyBwYXRjaCBpcyBwYXJ0IG9mIGEgc2VyaWVz IHRoYXQgZW5hYmxlcyBBUk12OC41LUEgaW4gR0NDIGFuZA0KPiBhZGRzIEJy YW5jaCBUYXJnZXQgSWRlbnRpZmljYXRpb24gTWVjaGFuaXNtLg0KPiAoaHR0 cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9wcm9kdWN0cy9hcmNoaXRlY3R1cmUv Y3B1LWFyY2hpdGVjdHVyZS9hLXByb2ZpbGUvZXhwbG9yYXRpb24tdG9vbHMp DQo+IA0KPiBUaGlzIHBhdGNoIGFkZHMgYSBuZXcgcGFzcyBjYWxsZWQgImJ0 aSIgd2hpY2ggaXMgdHJpZ2dlcmVkIGJ5IHRoZQ0KPiBjb21tYW5kIGxpbmUg YXJndW1lbnQgLW1icmFuY2gtcHJvdGVjdGlvbiB3aGVuZXZlciAiYnRpIiBp cyB0dXJuZWQgb24uDQo+IA0KPiBUaGUgcGFzcyBpdGVyYXRlcyB0aHJvdWdo IHRoZSBpbnN0cnVjdGlvbnMgYW5kIGFkZHMgYXBwcm9wcmlhdGVkIEJUSQ0K PiBpbnN0cnVjdGlvbnMgYmFzZWQgb24gdGhlIGZvbGxvd2luZzoNCj4gICAg ICAqIEFkZCBhIG5ldyAiQlRJIEMiIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBm dW5jdGlvbiwgdW5sZXNzIGl0cyBhbHJlYWR5DQo+ICAgICAgICBwcm90ZWN0 ZWQgYnkgYSAiUEFDSUFTUC9QQUNJQlNQIi4gV2UgZXhlbXB0IHRoZSBmdW5j dGlvbnMgdGhhdCBhcmUNCj4gICAgICAgIG9ubHkgY2FsbGVkIGRpcmVjdGx5 Lg0KPiAgICAgICogQWRkIGEgbmV3ICJCVEkgSiIgZm9yIGV2ZXJ5IHRhcmdl dCBvZiBhbiBpbmRpcmVjdCBqdW1wLCBqdW1wIHRhYmxlDQo+ICAgICAgICB0 YXJnZXRzLCBub24tbG9jYWwgZ290byB0YXJnZXRzIG9yIGxhYmVscyB0aGF0 IG1pZ2h0IGJlIHJlZmVyZW5jZWQNCj4gICAgICAgIGJ5IHZhcmlhYmxlcywg Y29uc3RhbnQgcG9vbHMsIGV0YyAoTk9URV9JTlNOX0RFTEVURURfTEFCRUwp DQo+IA0KPiBTaW5jZSB3ZSBoYXZlIGFscmVhZHkgY2hhbmdlZCB0aGUgdXNl IG9mIGluZGlyZWN0IHRhaWwgY2FsbHMgdG8gb25seSB4MTYNCj4gYW5kIHgx Nywgd2UgZG8gbm90IGhhdmUgdG8gdXNlICJCVEkgSkMiLg0KPiAoY2hlY2sg cGF0Y2ggMy82KS4NCj4gDQoNCkkgbWlzc2VkIG91dCBvbiB0aGUgZXhwbGFu YXRpb24gZm9yIHRoZSBjaGFuZ2VzIHRvIHRoZSB0cmFtcG9saW5lIGNvZGUu DQpUaGUgcGF0Y2ggYWxzbyB1cGRhdGVzIHRoZSB0cmFtcG9saW5lIGNvZGUg aW4gY2FzZSBCVEkgaXMgZW5hYmxlZC4gU2luY2UNCnRoZSB0cmFtcG9saW5l IGNvZGUgaXMgYSB0YXJnZXQgb2YgYW4gaW5kaXJlY3QgYnJhbmNoLCB3ZSBu ZWVkIHRvIGFkZCBhbg0KYXBwcm9wcmlhdGUgQlRJIGluc3RydWN0aW9uIGF0 IHRoZSBiZWdpbm5pbmcgb2YgaXQgdG8gYXZvaWQgYSBicmFuY2gNCnRhcmdl dCBleGNlcHRpb24uDQoNCj4gQm9vdHN0cmFwcGVkIGFuZCByZWdyZXNzaW9u IHRlc3RlZCB3aXRoIGFhcmNoNjQtbm9uZS1saW51eC1nbnUuIEFkZGVkDQo+ IG5ldyB0ZXN0cy4NCj4gSXMgdGhpcyBvayBmb3IgdHJ1bms/DQo+IA0KPiBU aGFua3MNCj4gU3VkaQ0KPiANCj4gKioqIGdjYy9DaGFuZ2VMb2cgKioqDQo+ IA0KPiAyMDE4LXh4LXh4ICBTdWRha3NoaW5hIERhcyAgPHN1ZGkuZGFzQGFy bS5jb20+DQo+IAkgICAgUmFtYW5hIFJhZGhha3Jpc2huYW4gIDxyYW1hbmEu cmFkaGFrcmlzaG5hbkBhcm0uY29tPg0KPiANCj4gCSogY29uZmlnLmdjYyAo YWFyY2g2NCotKi0qKTogQWRkIGFhcmNoNjQtYnRpLWluc2VydC5vLg0KPiAJ KiBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5oOiBVcGRhdGUgY29tbWVu dCBmb3INCj4gCVRSQU1QT0xJTkVfU0laRS4NCj4gCSogY29uZmlnL2FhcmNo NjQvYWFyY2g2NC5jIChhYXJjaDY0X2FzbV90cmFtcG9saW5lX3RlbXBsYXRl KToNCj4gCVVwZGF0ZSBpZiBidGkgaXMgZW5hYmxlZC4NCj4gCSogY29uZmln L2FhcmNoNjQvYWFyY2g2NC1idGktaW5zZXJ0LmM6IE5ldyBmaWxlLg0KPiAJ KiBjb25maWcvYWFyY2g2NC9hYXJjaDY0LXBhc3Nlcy5kZWYgKElOU0VSVF9Q QVNTX0JFRk9SRSk6IEluc2VydA0KPiAJYnRpIHBhc3MuDQo+IAkqIGNvbmZp Zy9hYXJjaDY0L2FhcmNoNjQtcHJvdG9zLmggKG1ha2VfcGFzc19pbnNlcnRf YnRpKToNCj4gCURlY2xhcmUgdGhlIG5ldyBidGkgcGFzcy4NCj4gCSogY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC5tZCAoYnRpX25vcCk6IERlZmluZS4NCj4g CSogY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0OiBBZGQgcnVsZSBmb3IgYWFy Y2g2NC1idGktaW5zZXJ0Lm8uDQo+IA0KPiAqKiogZ2NjL3Rlc3RzdWl0ZS9D aGFuZ2VMb2cgKioqDQo+IA0KPiAyMDE4LXh4LXh4ICBTdWRha3NoaW5hIERh cyAgPHN1ZGkuZGFzQGFybS5jb20+DQo+IA0KPiAJKiBnY2MudGFyZ2V0L2Fh cmNoNjQvYnRpLTEuYzogTmV3IHRlc3QuDQo+IAkqIGdjYy50YXJnZXQvYWFy Y2g2NC9idGktMi5jOiBOZXcgdGVzdC4NCj4gCSogbGliL3RhcmdldC1zdXBw b3J0cy5leHANCj4gCShjaGVja19lZmZlY3RpdmVfdGFyZ2V0X2FhcmNoNjRf YnRpX2h3KTogQWRkIG5ldyBjaGVjayBmb3INCj4gCUJUSSBody4NCj4NCg0K VXBkYXRlZCBwYXRjaCBhdHRhY2hlZCB3aXRoIG1vcmUgY29tbWVudHMgYW5k IGEgYml0IG9mIHNpbXBsaWZpY2F0aW9uDQppbiBhYXJjaDY0LWJ0aS1pbnNl cnQuYy4gQ2hhbmdlTG9nIHN0aWxsIGFwcGxpZXMuDQoNClRoYW5rcw0KU3Vk aQ0KDQo= --_002_520262f0989afa925d5ffa7c90d77198armcom_ Content-Type: text/x-patch; name="rb10090.patch" Content-Description: rb10090.patch Content-Disposition: attachment; filename="rb10090.patch"; size=18132; creation-date="Tue, 13 Nov 2018 14:47:22 GMT"; modification-date="Tue, 13 Nov 2018 14:47:22 GMT" Content-ID: Content-Transfer-Encoding: base64 Content-length: 24579 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcuZ2NjIGIvZ2NjL2NvbmZpZy5nY2MN CmluZGV4IGIxMDg2OTdjZmM3YjFjOWM2ZGMxZjMwY2NhNmZkMTE1ODE4MmMy OWUuLjNlNzdmOWRmNmFkNmNhNTVmY2NjYTUwMzg3ZWFiNGIyNTAxYWY2NDcg MTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnLmdjYw0KKysrIGIvZ2NjL2NvbmZp Zy5nY2MNCkBAIC0zMTcsNyArMzE3LDcgQEAgYWFyY2g2NCotKi0qKQ0KIAlj X3RhcmdldF9vYmpzPSJhYXJjaDY0LWMubyINCiAJY3h4X3RhcmdldF9vYmpz PSJhYXJjaDY0LWMubyINCiAJZF90YXJnZXRfb2Jqcz0iYWFyY2g2NC1kLm8i DQotCWV4dHJhX29ianM9ImFhcmNoNjQtYnVpbHRpbnMubyBhYXJjaC1jb21t b24ubyBjb3J0ZXgtYTU3LWZtYS1zdGVlcmluZy5vIGFhcmNoNjQtc3BlY3Vs YXRpb24ubyBmYWxrb3ItdGFnLWNvbGxpc2lvbi1hdm9pZGFuY2UubyINCisJ ZXh0cmFfb2Jqcz0iYWFyY2g2NC1idWlsdGlucy5vIGFhcmNoLWNvbW1vbi5v IGNvcnRleC1hNTctZm1hLXN0ZWVyaW5nLm8gYWFyY2g2NC1zcGVjdWxhdGlv bi5vIGZhbGtvci10YWctY29sbGlzaW9uLWF2b2lkYW5jZS5vIGFhcmNoNjQt YnRpLWluc2VydC5vIg0KIAl0YXJnZXRfZ3RmaWxlcz0iXCQoc3JjZGlyKS9j b25maWcvYWFyY2g2NC9hYXJjaDY0LWJ1aWx0aW5zLmMiDQogCXRhcmdldF9o YXNfdGFyZ2V0bV9jb21tb249eWVzDQogCTs7DQpkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtYnRpLWluc2VydC5jIGIvZ2NjL2Nv bmZpZy9hYXJjaDY0L2FhcmNoNjQtYnRpLWluc2VydC5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMC4uMTUyMDJlMGRlZjNiNTE0YmRiZDE1NjRiMzlhMTIx ZTQzZTAxYTY3Zg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL2NvbmZpZy9h YXJjaDY0L2FhcmNoNjQtYnRpLWluc2VydC5jDQpAQCAtMCwwICsxLDIyNiBA 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 ICgpKSkNCisJew0KKwkgIGJ0aV9pbnNuID0gZ2VuX2J0aV9ub3AgKEdFTl9J TlQgKElOU05fQlRJX0MpKTsNCisJICBlbWl0X2luc25fYmVmb3JlIChidGlf aW5zbiwgaW5zbik7DQorCX0NCisgICAgfQ0KKw0KKyAgYmIgPSAwOw0KKyAg Rk9SX0VBQ0hfQkJfRk4gKGJiLCBjZnVuKQ0KKyAgICB7DQorICAgICAgZm9y IChpbnNuID0gQkJfSEVBRCAoYmIpOyBpbnNuICE9IE5FWFRfSU5TTiAoQkJf RU5EIChiYikpOw0KKwkgICBpbnNuID0gTkVYVF9JTlNOIChpbnNuKSkNCisJ ew0KKwkgIC8qIElmIGEgbGFiZWwgaXMgbWFya2VkIHRvIGJlIHByZXNlcnZl ZCBvciBjYW4gYmUgYSBub24tbG9jYWwgZ290bw0KKwkgICAgIHRhcmdldCwg aXQgbXVzdCBiZSBwcm90ZWN0ZWQgd2l0aCBhIEJUSSBKLiAgVGhlIHNhbWUg YXBwbGllcyB0bw0KKwkgICAgIE5PVEVfSU5TTl9ERUxFVEVEX0xBQkVMIHNp bmNlIHRoZXkgYXJlIGJhc2ljYWxseSBsYWJlbHMgdGhhdCBtaWdodA0KKwkg ICAgIGJlIHJlZmVyZW5jZWQgdmlhIHZhcmlhYmxlcyBvciBjb25zdGFudCBw b29sLiAgKi8NCisJICBpZiAoKExBQkVMX1AgKGluc24pDQorCSAgICAgICAm JiAoTEFCRUxfUFJFU0VSVkVfUCAoaW5zbikNCisJCSAgIHx8IGJiLT5mbGFn cyAmIEJCX05PTl9MT0NBTF9HT1RPX1RBUkdFVCkpDQorCSAgICAgIHx8IChO T1RFX1AgKGluc24pDQorCQkgICYmIE5PVEVfS0lORCAoaW5zbikgPT0gTk9U RV9JTlNOX0RFTEVURURfTEFCRUwpKQ0KKwkgICAgew0KKwkgICAgICBidGlf aW5zbiA9IGdlbl9idGlfbm9wIChHRU5fSU5UIChJTlNOX0JUSV9KKSk7DQor CSAgICAgIGVtaXRfaW5zbl9hZnRlciAoYnRpX2luc24sIGluc24pOw0KKwkg ICAgICBjb250aW51ZTsNCisJICAgIH0NCisNCisJICAvKiBUaGVyZSBjb3Vs ZCBzdGlsbCBiZSBtb3JlIGxhYmVscyB0aGF0IGFyZSB2YWxpZCB0YXJnZXRz IG9mIGENCisJICAgICBCVEkgSiBpbnN0dWN0aW9uLiAgVG8gZmluZCB0aGVt IHdlIHN0YXJ0IGxvb2tpbmcgdGhyb3VnaCB0aGUNCisJICAgICBKVU1QX0lO U04uICBJZiBpdCBqdW1wcyB0byBhIGp1bXAgdGFibGUsIHRoZW4gd2UgZmlu ZCBhbGwgbGFiZWxzDQorCSAgICAgb2YgdGhlIGp1bXAgdGFibGUgdG8gcHJv dGVjdCB3aXRoIGEgQlRJIEouICAqLw0KKwkgIGlmIChKVU1QX1AgKGluc24p KQ0KKwkgICAgew0KKwkgICAgICBydHhfanVtcF90YWJsZV9kYXRhICp0YWJs ZTsNCisJICAgICAgaWYgKHRhYmxlanVtcF9wIChpbnNuLCBOVUxMLCAmdGFi bGUpKQ0KKwkJew0KKwkJICBydHZlYyB2ZWMgPSB0YWJsZS0+Z2V0X2xhYmVs cyAoKTsNCisJCSAgaW50IGo7DQorCQkgIHJ0eF9pbnNuICpsYWJlbDsNCisN CisJCSAgZm9yIChqID0gR0VUX05VTV9FTEVNICh2ZWMpIC0gMTsgaiA+PSAw OyAtLWopDQorCQkgICAgew0KKwkJICAgICAgbGFiZWwgPSBhc19hIDxydHhf aW5zbiAqPiAoWEVYUCAoUlRWRUNfRUxUICh2ZWMsIGopLCAwKSk7DQorCQkg ICAgICBidGlfaW5zbiA9IGdlbl9idGlfbm9wIChHRU5fSU5UIChJTlNOX0JU SV9KKSk7DQorCQkgICAgICBlbWl0X2luc25fYWZ0ZXIgKGJ0aV9pbnNuLCBs YWJlbCk7DQorCQkgICAgfQ0KKwkJfQ0KKwkgICAgfQ0KKwl9DQorICAgIH0N CisNCisgIHRpbWV2YXJfcG9wIChUVl9NQUNIX0RFUCk7DQorICByZXR1cm4g MDsNCit9DQorDQorDQorY2xhc3MgcGFzc19pbnNlcnRfYnRpIDogcHVibGlj IHJ0bF9vcHRfcGFzcw0KK3sNCitwdWJsaWM6DQorICBwYXNzX2luc2VydF9i dGkgKGdjYzo6Y29udGV4dCAqY3R4dCkNCisgICAgOiBydGxfb3B0X3Bhc3Mg KHBhc3NfZGF0YV9pbnNlcnRfYnRpLCBjdHh0KQ0KKyAge30NCisNCisgIC8q IG9wdF9wYXNzIG1ldGhvZHM6ICovDQorICB2aXJ0dWFsIGJvb2wgZ2F0ZSAo ZnVuY3Rpb24gKikNCisgICAgew0KKyAgICAgIHJldHVybiBhYXJjaDY0X2J0 aV9lbmFibGVkICgpOw0KKyAgICB9DQorDQorICB2aXJ0dWFsIHVuc2lnbmVk IGludCBleGVjdXRlIChmdW5jdGlvbiAqKQ0KKyAgICB7DQorICAgICAgcmV0 dXJuIHJlc3Rfb2ZfaW5zZXJ0X2J0aSAoKTsNCisgICAgfQ0KKw0KK307IC8v IGNsYXNzIHBhc3NfaW5zZXJ0X2J0aQ0KKw0KK30gLy8gYW5vbiBuYW1lc3Bh Y2UNCisNCitydGxfb3B0X3Bhc3MgKg0KK21ha2VfcGFzc19pbnNlcnRfYnRp IChnY2M6OmNvbnRleHQgKmN0eHQpDQorew0KKyAgcmV0dXJuIG5ldyBwYXNz X2luc2VydF9idGkgKGN0eHQpOw0KK30NCmRpZmYgLS1naXQgYS9nY2MvY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC1wYXNzZXMuZGVmIGIvZ2NjL2NvbmZpZy9h YXJjaDY0L2FhcmNoNjQtcGFzc2VzLmRlZg0KaW5kZXggMzk4MmI2ZWE2Mjkw Mzc5ZTZlY2FjODA0NmViYjI3YTE0ZDIzNDJmMC4uZDNlMzE2ZjQwNmVjYjAx MTk3ODdhNjdhZDFjNjJmYWZhYWY5OWE4OCAxMDA2NDQNCi0tLSBhL2djYy9j b25maWcvYWFyY2g2NC9hYXJjaDY0LXBhc3Nlcy5kZWYNCisrKyBiL2djYy9j b25maWcvYWFyY2g2NC9hYXJjaDY0LXBhc3Nlcy5kZWYNCkBAIC0yMSwzICsy MSw0IEBADQogSU5TRVJUX1BBU1NfQUZURVIgKHBhc3NfcmVncmVuYW1lLCAx LCBwYXNzX2ZtYV9zdGVlcmluZyk7DQogSU5TRVJUX1BBU1NfQkVGT1JFIChw YXNzX3Jlb3JkZXJfYmxvY2tzLCAxLCBwYXNzX3RyYWNrX3NwZWN1bGF0aW9u KTsNCiBJTlNFUlRfUEFTU19BRlRFUiAocGFzc19tYWNoaW5lX3Jlb3JnLCAx LCBwYXNzX3RhZ19jb2xsaXNpb25fYXZvaWRhbmNlKTsNCitJTlNFUlRfUEFT U19CRUZPUkUgKHBhc3Nfc2hvcnRlbl9icmFuY2hlcywgMSwgcGFzc19pbnNl cnRfYnRpKTsNCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFy Y2g2NC1wcm90b3MuaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXBy b3Rvcy5oDQppbmRleCBhNWNjZmU1MzRiNmM1OWM5MGJkOTEyMTVmODljNTlk NjdmZDg4Njg4Li41YWRiZmUyOGJhMzdhNTZiMWRhZjA1YTk2ZjMwYWU5NTg0 YTE3ODBkIDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNo NjQtcHJvdG9zLmgNCisrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0 LXByb3Rvcy5oDQpAQCAtNDAwLDYgKzQwMCwxNSBAQCBlbnVtIGFhcmNoNjRf a2V5X3R5cGUgew0KIA0KIGV4dGVybiBlbnVtIGFhcmNoNjRfa2V5X3R5cGUg YWFyY2g2NF9yYV9zaWduX2tleTsNCiANCisvKiBFbnVtIGZvciBISU5UIHZh bHVlcyBmb3IgQlRJIGluc3RydWN0aW9ucy4gICovDQorZW51bSBidGlfaW5z bl90eXBlDQorew0KKyAgSU5TTl9CVElfTk9BUkcJPSAzMiwNCisgIElOU05f QlRJX0MJCT0gMzQsDQorICBJTlNOX0JUSV9KCQk9IDM2LA0KKyAgSU5TTl9C VElfSkMJCT0gMzgNCit9Ow0KKw0KIGV4dGVybiBzdHJ1Y3QgdHVuZV9wYXJh bXMgYWFyY2g2NF90dW5lX3BhcmFtczsNCiANCiB2b2lkIGFhcmNoNjRfcG9z dF9jZmlfc3RhcnRwcm9jICh2b2lkKTsNCkBAIC02MzYsNiArNjQ1LDcgQEAg ZXh0ZXJuIHZvaWQgYWFyY2g2NF9kX3RhcmdldF92ZXJzaW9ucyAodm9pZCk7 DQogcnRsX29wdF9wYXNzICptYWtlX3Bhc3NfZm1hX3N0ZWVyaW5nIChnY2M6 OmNvbnRleHQgKik7DQogcnRsX29wdF9wYXNzICptYWtlX3Bhc3NfdHJhY2tf c3BlY3VsYXRpb24gKGdjYzo6Y29udGV4dCAqKTsNCiBydGxfb3B0X3Bhc3Mg Km1ha2VfcGFzc190YWdfY29sbGlzaW9uX2F2b2lkYW5jZSAoZ2NjOjpjb250 ZXh0ICopOw0KK3J0bF9vcHRfcGFzcyAqbWFrZV9wYXNzX2luc2VydF9idGkg KGdjYzo6Y29udGV4dCAqY3R4dCk7DQogDQogcG9seV91aW50NjQgYWFyY2g2 NF9yZWdtb2RlX25hdHVyYWxfc2l6ZSAobWFjaGluZV9tb2RlKTsNCiANCmRp ZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5oIGIvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuaA0KaW5kZXggY2M5NWJlMzJkNDAy NjhkMzY0N2M4MjgwMTg4ZjE3ZmY4MjEyYTE1Ni4uYmQ4MmFlM2RkZWE0OTc5 ZTY0NjA4ZTBkYzhiOWQ5NjlmYjY5MWNkNCAxMDA2NDQNCi0tLSBhL2djYy9j b25maWcvYWFyY2g2NC9hYXJjaDY0LmgNCisrKyBiL2djYy9jb25maWcvYWFy Y2g2NC9hYXJjaDY0LmgNCkBAIC05MjUsNyArOTI1LDcgQEAgdHlwZWRlZiBz dHJ1Y3QNCiANCiAjZGVmaW5lIFJFVFVSTl9BRERSX1JUWCBhYXJjaDY0X3Jl dHVybl9hZGRyDQogDQotLyogMyBpbnNucyArIHBhZGRpbmcgKyAyIHBvaW50 ZXItc2l6ZWQgZW50cmllcy4gICovDQorLyogQlRJIGMgKyAzIGluc25zICsg MiBwb2ludGVyLXNpemVkIGVudHJpZXMuICAqLw0KICNkZWZpbmUgVFJBTVBP TElORV9TSVpFCShUQVJHRVRfSUxQMzIgPyAyNCA6IDMyKQ0KIA0KIC8qIFRy YW1wb2xpbmVzIGNvbnRhaW4gZHdvcmRzLCBzbyBtdXN0IGJlIGR3b3JkIGFs aWduZWQuICAqLw0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9h YXJjaDY0LmMgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jDQppbmRl eCBmYTEyZjljYzZiY2M5OWUwMjFlZjU3OTgzOWJiYWM3NzE1NTU4ODU1Li5i OTdkOWU0ZGVlY2Y1Y2EzMzc2MWRmZDEwMDhjMzliYjRiODQ5ODgxIDEwMDY0 NA0KLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuYw0KKysrIGIv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuYw0KQEAgLTgwNzAsMTggKzgw NzAsMzMgQEAgYWFyY2g2NF9yZXR1cm5fYWRkciAoaW50IGNvdW50LCBydHgg ZnJhbWUgQVRUUklCVVRFX1VOVVNFRCkNCiBzdGF0aWMgdm9pZA0KIGFhcmNo NjRfYXNtX3RyYW1wb2xpbmVfdGVtcGxhdGUgKEZJTEUgKmYpDQogew0KKyAg aW50IG9mZnNldDEgPSAxNjsNCisgIGludCBvZmZzZXQyID0gMjA7DQorDQor ICBpZiAoYWFyY2g2NF9idGlfZW5hYmxlZCAoKSkNCisgICAgew0KKyAgICAg IGFzbV9mcHJpbnRmIChmLCAiXHRoaW50XHQzNFxuIik7DQorICAgICAgb2Zm c2V0MSAtPSA0Ow0KKyAgICAgIG9mZnNldDIgLT0gNDsNCisgICAgfQ0KKw0K ICAgaWYgKFRBUkdFVF9JTFAzMikNCiAgICAgew0KLSAgICAgIGFzbV9mcHJp bnRmIChmLCAiXHRsZHJcdHclZCwgLisxNlxuIiwgSVAxX1JFR05VTSAtIFIw X1JFR05VTSk7DQotICAgICAgYXNtX2ZwcmludGYgKGYsICJcdGxkclx0dyVk LCAuKzE2XG4iLCBTVEFUSUNfQ0hBSU5fUkVHTlVNIC0gUjBfUkVHTlVNKTsN CisgICAgICBhc21fZnByaW50ZiAoZiwgIlx0bGRyXHR3JWQsIC4rJWRcbiIs IElQMV9SRUdOVU0gLSBSMF9SRUdOVU0sIG9mZnNldDEpOw0KKyAgICAgIGFz bV9mcHJpbnRmIChmLCAiXHRsZHJcdHclZCwgLislZFxuIiwgU1RBVElDX0NI QUlOX1JFR05VTSAtIFIwX1JFR05VTSwNCisJCSAgIG9mZnNldDEpOw0KICAg ICB9DQogICBlbHNlDQogICAgIHsNCi0gICAgICBhc21fZnByaW50ZiAoZiwg Ilx0bGRyXHQlcywgLisxNlxuIiwgcmVnX25hbWVzIFtJUDFfUkVHTlVNXSk7 DQotICAgICAgYXNtX2ZwcmludGYgKGYsICJcdGxkclx0JXMsIC4rMjBcbiIs IHJlZ19uYW1lcyBbU1RBVElDX0NIQUlOX1JFR05VTV0pOw0KKyAgICAgIGFz bV9mcHJpbnRmIChmLCAiXHRsZHJcdCVzLCAuKyVkXG4iLCByZWdfbmFtZXMg W0lQMV9SRUdOVU1dLCBvZmZzZXQxKTsNCisgICAgICBhc21fZnByaW50ZiAo ZiwgIlx0bGRyXHQlcywgLislZFxuIiwgcmVnX25hbWVzIFtTVEFUSUNfQ0hB SU5fUkVHTlVNXSwNCisJCSAgIG9mZnNldDIpOw0KICAgICB9DQogICBhc21f ZnByaW50ZiAoZiwgIlx0YnJcdCVzXG4iLCByZWdfbmFtZXMgW0lQMV9SRUdO VU1dKTsNCi0gIGFzc2VtYmxlX2FsaWduZWRfaW50ZWdlciAoNCwgY29uc3Qw X3J0eCk7DQorDQorICBpZiAoIWFhcmNoNjRfYnRpX2VuYWJsZWQgKCkpDQor ICAgIGFzc2VtYmxlX2FsaWduZWRfaW50ZWdlciAoNCwgY29uc3QwX3J0eCk7 DQorDQogICBhc3NlbWJsZV9hbGlnbmVkX2ludGVnZXIgKFBPSU5URVJfQllU RVMsIGNvbnN0MF9ydHgpOw0KICAgYXNzZW1ibGVfYWxpZ25lZF9pbnRlZ2Vy IChQT0lOVEVSX0JZVEVTLCBjb25zdDBfcnR4KTsNCiB9DQpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQubWQgYi9nY2MvY29uZmln L2FhcmNoNjQvYWFyY2g2NC5tZA0KaW5kZXggM2NhNmQ2MWU3ZTI4Yjc4MGY5 NGJmNTA4MGIxMjZkYWM2MGZlMDUyNC4uMzA2OTNjZTgzZmVhMWNjYzZlZTVl NGFhZDFmMGYwY2Q5YjQ0ZjQ3YSAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcv YWFyY2g2NC9hYXJjaDY0Lm1kDQorKysgYi9nY2MvY29uZmlnL2FhcmNoNjQv YWFyY2g2NC5tZA0KQEAgLTI0MCw2ICsyNDAsNyBAQA0KICAgICBVTlNQRUNW X0JMT0NLQUdFCQk7IFJlcHJlc2VudCBhIGJsb2NrYWdlDQogICAgIFVOU1BF Q1ZfUFJPQkVfU1RBQ0tfUkFOR0UJOyBSZXByZXNlbnQgc3RhY2sgcmFuZ2Ug cHJvYmluZy4NCiAgICAgVU5TUEVDVl9TUEVDVUxBVElPTl9CQVJSSUVSIDsg UmVwcmVzZW50IHNwZWN1bGF0aW9uIGJhcnJpZXIuDQorICAgIFVOU1BFQ1Zf QlRJX05PUAkJOyBSZXByZXNlbnQgYSBCVEkgaW5zdHJ1Y3Rpb24uDQogICBd DQogKQ0KIA0KQEAgLTY3MjAsNiArNjcyMSw0MCBAQA0KICAgWyhzZXRfYXR0 ciAidHlwZSIgImNzZWwiKV0NCiApDQogDQorKGRlZmluZV9pbnNuICJidGlf bm9wIg0KKyAgWyh1bnNwZWNfdm9sYXRpbGUgWyhtYXRjaF9vcGVyYW5kOlNJ IDAgImNvbnN0X2ludF9vcGVyYW5kIildDQorICAgIFVOU1BFQ1ZfQlRJX05P UCldDQorICAiIg0KKyAgew0KKyAgIGNoYXIgYnVmWzEwMF07DQorICAgYnRp X2luc25fdHlwZSB2YWwgPSAoYnRpX2luc25fdHlwZSkgSU5UVkFMIChvcGVy YW5kc1swXSk7DQorICAgc3dpdGNoICh2YWwpDQorICAgIHsNCisgICAgICBj YXNlIElOU05fQlRJX05PQVJHOg0KKwlzbnByaW50ZiAoYnVmLCBzaXplb2Yg KGJ1ZiksICJoaW50XHQlZCAvLyAlcyIsIHZhbCwgImJ0aSIpOw0KKwlicmVh azsNCisNCisgICAgICBjYXNlIElOU05fQlRJX0M6DQorCXNucHJpbnRmIChi dWYsIHNpemVvZiAoYnVmKSwgImhpbnRcdCVkIC8vICVzIiwgdmFsLCAiYnRp IGMiKTsNCisJYnJlYWs7DQorDQorICAgICAgY2FzZSBJTlNOX0JUSV9KOg0K KwlzbnByaW50ZiAoYnVmLCBzaXplb2YgKGJ1ZiksICJoaW50XHQlZCAvLyAl cyIsIHZhbCwgImJ0aSBqIik7DQorCWJyZWFrOw0KKw0KKyAgICAgIGNhc2Ug SU5TTl9CVElfSkM6DQorCXNucHJpbnRmIChidWYsIHNpemVvZiAoYnVmKSwg ImhpbnRcdCVkIC8vICVzIiwgdmFsLCAiYnRpIGpjIik7DQorCWJyZWFrOw0K Kw0KKyAgICAgIGRlZmF1bHQ6DQorCWdjY191bnJlYWNoYWJsZSAoKTsNCisg ICAgfQ0KKyAgICBvdXRwdXRfYXNtX2luc24gKGJ1Ziwgb3BlcmFuZHMpOw0K KyAgICByZXR1cm4gIiI7DQorICAgfQ0KKyAgWyhzZXRfYXR0ciAidHlwZSIg Im5vX2luc24iKV0NCispDQorDQogOzsgSGVscGVyIGZvciBhYXJjaDY0LmMg Y29kZS4NCiAoZGVmaW5lX2V4cGFuZCAic2V0X2Nsb2JiZXJfY2MiDQogICBb KHBhcmFsbGVsIFsoc2V0IChtYXRjaF9vcGVyYW5kIDApDQpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NCBiL2djYy9jb25maWcv YWFyY2g2NC90LWFhcmNoNjQNCmluZGV4IGU5MWRjY2VhOTk1NGMyYzM4N2Zi MTExZDFiMzU3ZGQyYzIyMGZmMGEuLmEyMDQ4NTQ3YmU1NmViYThhNDdjMjJj OWQyYjk0ZTc4NzM2NDgyOGYgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL2Fh cmNoNjQvdC1hYXJjaDY0DQorKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvdC1h YXJjaDY0DQpAQCAtOTEsNiArOTEsMTUgQEAgZmFsa29yLXRhZy1jb2xsaXNp b24tYXZvaWRhbmNlLm86IFwNCiAJJChDT01QSUxFUikgLWMgJChBTExfQ09N UElMRVJGTEFHUykgJChBTExfQ1BQRkxBR1MpICQoSU5DTFVERVMpIFwNCiAJ CSQoc3JjZGlyKS9jb25maWcvYWFyY2g2NC9mYWxrb3ItdGFnLWNvbGxpc2lv bi1hdm9pZGFuY2UuYw0KIA0KK2FhcmNoNjQtYnRpLWluc2VydC5vOiAkKHNy Y2RpcikvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1idGktaW5zZXJ0LmMgXA0K KyAgICAkKENPTkZJR19IKSAkKFNZU1RFTV9IKSAkKFRNX0gpICQoUkVHU19I KSBpbnNuLWNvbmZpZy5oICQoUlRMX0JBU0VfSCkgXA0KKyAgICBkb21pbmFu Y2UuaCBjZmcuaCBjZmdhbmFsLmggJChCQVNJQ19CTE9DS19IKSAkKElOU05f QVRUUl9IKSAkKFJFQ09HX0gpIFwNCisgICAgb3V0cHV0LmggaGFzaC1tYXAu aCAkKERGX0gpICQoT0JTVEFDS19IKSAkKFRBUkdFVF9IKSAkKFJUTF9IKSBc DQorICAgICQoQ09OVEVYVF9IKSAkKFRSRUVfUEFTU19IKSByZWdyZW5hbWUu aCBcDQorICAgICQoc3JjZGlyKS9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXBy b3Rvcy5oDQorCSQoQ09NUElMRVIpIC1jICQoQUxMX0NPTVBJTEVSRkxBR1Mp ICQoQUxMX0NQUEZMQUdTKSAkKElOQ0xVREVTKSBcDQorCQkkKHNyY2Rpcikv Y29uZmlnL2FhcmNoNjQvYWFyY2g2NC1idGktaW5zZXJ0LmMNCisNCiBjb21t YT0sDQogTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSks LywgJChwYXRzdWJzdCAlLCBtYWJpPSUsICQoc3Vic3QgJChjb21tYSksJChj b21tYSltYWJpPSwkKFRNX01VTFRJTElCX0NPTkZJRykpKSkNCiBNVUxUSUxJ Ql9ESVJOQU1FUyAgID0gJChzdWJzdCAkKGNvbW1hKSwgLCQoVE1fTVVMVElM SUJfQ09ORklHKSkNCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvYWFyY2g2NC9idGktMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2FhcmNoNjQvYnRpLTEuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu LjU3NWQwMWE1NDExYTE5ZGFiY2RiNTZiNzc3ZTVkODdkOTcwM2E4NDgNCi0t LSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9h YXJjaDY0L2J0aS0xLmMNCkBAIC0wLDAgKzEsNTkgQEANCisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLw0KKy8qIC1PcyB0byBjcmVhdGUganVtcCB0YWJsZS4g ICovDQorLyogeyBkZy1vcHRpb25zICItT3MgLW1icmFuY2gtcHJvdGVjdGlv bj1zdGFuZGFyZCIgfSAqLw0KKw0KK2V4dGVybiBpbnQgZjEgKHZvaWQpOw0K K2V4dGVybiBpbnQgZjIgKHZvaWQpOw0KK2V4dGVybiBpbnQgZjMgKHZvaWQp Ow0KK2V4dGVybiBpbnQgZjQgKHZvaWQpOw0KK2V4dGVybiBpbnQgZjUgKHZv aWQpOw0KK2V4dGVybiBpbnQgZjYgKHZvaWQpOw0KK2V4dGVybiBpbnQgZjcg KHZvaWQpOw0KK2V4dGVybiBpbnQgZjggKHZvaWQpOw0KK2V4dGVybiBpbnQg ZjkgKHZvaWQpOw0KK2V4dGVybiBpbnQgZjEwICh2b2lkKTsNCisNCitpbnQg KCpwdHIpICh2b2lkKTsNCisNCitpbnQNCitmX2p1bXBfdGFibGUgKGludCB5 LCBpbnQgbikNCit7DQorICBpbnQgaTsNCisgIGZvciAoaSA9IDA7IGkgPCBu IDtpICsrKQ0KKyAgew0KKyAgICBzd2l0Y2ggKHkpDQorICAgICAgew0KKyAg ICAgIGNhc2UgMCA6IHB0ciA9IGYxOyBicmVhazsNCisgICAgICBjYXNlIDEg OiBwdHIgPSBmMjsgYnJlYWs7DQorICAgICAgY2FzZSAyIDogcHRyID0gZjM7 IGJyZWFrOw0KKyAgICAgIGNhc2UgMyA6IHB0ciA9IGY0OyBicmVhazsNCisg ICAgICBjYXNlIDQgOiBwdHIgPSBmNTsgYnJlYWs7DQorICAgICAgY2FzZSA1 IDogcHRyID0gZjY7IGJyZWFrOw0KKyAgICAgIGNhc2UgNiA6IHB0ciA9IGY3 OyBicmVhazsNCisgICAgICBjYXNlIDcgOiBwdHIgPSBmODsgYnJlYWs7DQor ICAgICAgY2FzZSA4IDogcHRyID0gZjk7IGJyZWFrOw0KKyAgICAgIGNhc2Ug OSA6IHB0ciA9IGYxMDsgYnJlYWs7DQorICAgICAgZGVmYXVsdDogYnJlYWs7 DQorICAgICAgfQ0KKyAgICB5ICs9IHB0ciAoKTsNCisgIH0NCisgIHJldHVy biAoeSA9PSAwKT8geSsxOjQ7DQorfQ0KKy8qIGZfanVtcF90YWJsZSBzaG91 bGQgaGF2ZSBQQUNJQVNQIGFuZCBBVVRJQVNQLiAgKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImhpbnRcdDI1IiAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiaGlu dFx0MjkiIDEgfSB9ICovDQorDQoraW50DQorZl9sYWJlbF9hZGRyZXNzICgp DQorew0KKyAgc3RhdGljIHZvaWQgKiBhZGRyID0gJiZsYWIxOw0KKyAgZ290 byAqYWRkcjsNCitsYWIxOg0KKyAgYWRkciA9ICYmbGFiMjsNCisgIHJldHVy biAxOw0KK2xhYjI6DQorICBhZGRyID0gJiZsYWIxOw0KKyAgcmV0dXJuIDI7 DQorfQ0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAi aGludFx0MzQiIDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzICJoaW50XHQzNiIgMTIgfSB9ICovDQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvYnRpLTIuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L2J0aS0yLmMNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTBlZWYxNWM4OTM2ZDAwNzE2YzU4 MmU5MGIyMzVhZGQ1ZGE5MTM2DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9idGktMi5jDQpAQCAtMCww ICsxLDM0IEBADQorLyogeyBkZy1kbyBydW4gfSAqLw0KKy8qIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFhcmNoNjRfYnRpX2h3IH0gKi8NCisv KiB7IGRnLW9wdGlvbnMgIi1tYnJhbmNoLXByb3RlY3Rpb249c3RhbmRhcmQi IH0gKi8NCisNCisjaW5jbHVkZTxzdGRpby5oPg0KKw0KK3R5cGVkZWYgaW50 IEZQIChpbnQpOw0KKw0KK2ludA0KK2YxIChGUCBmcCwgaW50IG4pDQorew0K KyAgcmV0dXJuIChmcCkgKG4pOw0KK30NCisNCitpbnQNCitmMiAoaW50IG4s IEZQIGZwKQ0KK3sNCisgIHJldHVybiAoZnApIChuKTsNCit9DQorDQoraW50 IF9fYXR0cmlidXRlX18gKChub2lubGluZSkpDQorZnVuYyAoaW50IHgpDQor ew0KKyAgcmV0dXJuIHgrMTsNCit9DQorDQoraW50IG1haW4gKCkNCit7DQor ICBpbnQgcyA9IDA7DQorICBzICs9IGYxIChmdW5jLCAxMCk7DQorICBzICs9 IGYyIChzLCBmdW5jKTsNCisgIHByaW50ZiAoIlM6ICVkXG4iLCBzKTsNCisg IHJldHVybiAhKHMgPT0gMjMpOw0KK30NCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2xpYi90YXJnZXQtc3VwcG9ydHMuZXhwIGIvZ2NjL3Rlc3RzdWl0 ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4cA0KaW5kZXggZmQ3NGMwNGQwOTJi MGUyMzQxYjg1ZWVmYmViYjFmMGRmOTQyMzQ5Mi4uNjVmZjE2ODE3ZjVmODgy NTUxNDhiYjY5ZDcwMTg5NzU0NjUxOTdkYyAxMDA2NDQNCi0tLSBhL2djYy90 ZXN0c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5leHANCisrKyBiL2djYy90 ZXN0c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5leHANCkBAIC00MjcwLDYg KzQyNzAsMjIgQEAgcHJvYyBjaGVja19lZmZlY3RpdmVfdGFyZ2V0X2FybV9u ZW9udjJfaHcgeyB9IHsNCiAgICAgfSBbYWRkX29wdGlvbnNfZm9yX2FybV9u ZW9udjIgIiJdXQ0KIH0NCiANCisjIElEX0FBNjRQRlIxX0VMMS5CVCB1c2lu ZyBiaXRzWzM6MF0gPT0gMSBpbXBsaWVzIEJUSSBpbXBsaW1lbnRlZC4NCitw cm9jIGNoZWNrX2VmZmVjdGl2ZV90YXJnZXRfYWFyY2g2NF9idGlfaHcgeyB9 IHsNCisgICAgaWYgeyAhW2lzdGFyZ2V0IGFhcmNoNjQqLSotKl0gfSB7DQor CXJldHVybiAwDQorICAgIH0NCisgICAgcmV0dXJuIFtjaGVja19ydW50aW1l IGFhcmNoNjRfYnRpX2h3X2F2YWlsYWJsZSB7DQorCWludA0KKwltYWluICh2 b2lkKQ0KKwl7DQorCSAgaW50IGE7DQorCSAgYXNtIHZvbGF0aWxlICgibXJz ICUwLCBpZF9hYTY0cGZyMV9lbDEiIDogIj1yIiAoYSkpOw0KKwkgIHJldHVy biAhKChhICYgMHhmKSA9PSAxKTsNCisJfQ0KKyAgICB9ICItTzIiIF0NCit9 DQorDQogIyBSZXR1cm4gMSBpZiB0aGUgdGFyZ2V0IHN1cHBvcnRzIHRoZSBB Uk12OC4xIEFkdi5TSU1EIGV4dGVuc2lvbiwgMA0KICMgb3RoZXJ3aXNlLiAg VGhlIHRlc3QgaXMgdmFsaWQgZm9yIEFBcmNoNjQgYW5kIEFSTS4gIFJlY29y ZCB0aGUgY29tbWFuZA0KICMgbGluZSBvcHRpb25zIG5lZWRlZC4NCg0K --_002_520262f0989afa925d5ffa7c90d77198armcom_--