From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30070.outbound.protection.outlook.com [40.107.3.70]) by sourceware.org (Postfix) with ESMTPS id 4D35D385840B for ; Tue, 5 Oct 2021 13:31:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4D35D385840B Received: from DB6PR0501CA0014.eurprd05.prod.outlook.com (2603:10a6:4:8f::24) by AS8PR08MB6437.eurprd08.prod.outlook.com (2603:10a6:20b:33b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14; Tue, 5 Oct 2021 13:31:08 +0000 Received: from DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:8f:cafe::7f) by DB6PR0501CA0014.outlook.office365.com (2603:10a6:4:8f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Tue, 5 Oct 2021 13:31:08 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT049.mail.protection.outlook.com (10.152.20.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Tue, 5 Oct 2021 13:31:08 +0000 Received: ("Tessian outbound f1898412aff1:v103"); Tue, 05 Oct 2021 13:31:08 +0000 X-CR-MTA-TID: 64aa7808 Received: from 53c1f131054c.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 78EF897F-8EF7-4397-9754-EF063A37ED4E.1; Tue, 05 Oct 2021 13:30:57 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 53c1f131054c.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 05 Oct 2021 13:30:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BFTu2LztBi6f8U52xrC2bAM+ouPBU/Qua2YzhmYWX6WrHH2haK7SwL9xfBEmiak+Sw/V++REszTanh/bsIEuOh5ctCFVB+qN5bagKknuajh/ISRGNw1cqBn9rgznGIK+e+uelgc7QQ9663p8wv2vH3Nvj8GzZYv1aT2jBj+Nu/Ft5aPJETOiSy7UeCkjcI/M6q/U452HhHYFYq/vEEaJakGOFR8BdEQ/D8LKqqUhjm1x8v7BLZ2FaEREEhiVXGuNRyHKdU9nChDhZL08yM3TuDvdXLcAT6vrGPU8Ni5K218MZzTRNFibT/U/2+nJBhPnp4Edk2wDaBF0LuzyAnH7kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=THVAmYbu+OFZ4LA5P5+MROKrBV/QaA767yHcGzrSm1M=; b=WcRErm62CJtQTW22C6KI8bDEAB6x1X0vcOw2wF56lYWyLGKHGjASB4yFYX2ZaKVEBbYV43Dvsds33i5GtHyId9PGjuhk+ltpW5lH9AdIwO/Qu00S7Eqy4vBqvGCVbNEyPzz8tKmGVpKhfSLmgkkeR2RUrXLL+fMH9eTkAeT1AdClh85Pz5tOlncdVv+GBNs2gxeDhavGI/lWIF1xZ0gvBKukze7ZisPaIFZgtSZjsnKnI2sMJXH66jfCBh66n0sBMXlLs92CB1GtMiixt5T7BWp4ll3X0t/HgpK+FN7uDwLWZVcijU8iFpwNpjC4BiMqZ8vDwfKaijmU8I77wIaPCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Received: from AM0PR08MB5316.eurprd08.prod.outlook.com (2603:10a6:208:185::14) by AM4PR08MB2643.eurprd08.prod.outlook.com (2603:10a6:205:5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.22; Tue, 5 Oct 2021 13:30:55 +0000 Received: from AM0PR08MB5316.eurprd08.prod.outlook.com ([fe80::9c40:c69a:3ec5:88cc]) by AM0PR08MB5316.eurprd08.prod.outlook.com ([fe80::9c40:c69a:3ec5:88cc%6]) with mapi id 15.20.4566.022; Tue, 5 Oct 2021 13:30:54 +0000 From: Tamar Christina To: Richard Earnshaw , "gcc-patches@gcc.gnu.org" CC: nd , "rguenther@suse.de" Subject: RE: [PATCH]middle-end convert negate + right shift into compare greater. Thread-Topic: [PATCH]middle-end convert negate + right shift into compare greater. Thread-Index: AQHXueeaWRAdS6DoTEOGP9iM5Bte26vEXQSAgAAIyXA= Date: Tue, 5 Oct 2021 13:30:54 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: C7E56F38B9F89E48B9EFE7D9E2F7FA98.0 x-checkrecipientchecked: true Authentication-Results-Original: foss.arm.com; dkim=none (message not signed) header.d=none; foss.arm.com; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: ac88aeef-c9e3-45ae-cb78-08d98804638e x-ms-traffictypediagnostic: AM4PR08MB2643:|AS8PR08MB6437: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:1388;OLM:1388; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: hodzmyq9uZ8eQfsrQnvMC/JKa36OQ2fC1c3SAcIHkWi9QcV7o9HhYi29qWR5NUNG61N3S1v5EVsYxaaMU5KEG3ObWeccVM7sUEvPtUQYpfS7bkc9fzpJp/AtJSN2KTa6e8gRV0fvSvphlP/WGXAl4vpzTcLEnAT1tDS25DoY9T7+hFI3tmGaEZtrLaLXUP8M+2HBieFl8Cgq3TIUK2orf2i6gzZHDhoNLiR6LVIg2c7WCi5Vv9R8IPt9GbfI8L1TbcVEf+f4defAE0MstiTQ/Tys2TjcO4gXef7WO4J4Tmju0ASdiiyCp8qAnNPUhb5mml0mVu0Q9aScQM7XiC0Qp57kNt6mHqI39WEt+ekFodcR+tT63jN2evdTtX1eyWGi8DB9kDFHel9LBpAdzvrRr2LoQgU6cTa/lpboLEO8yqBRyImkSWCmkU/vu/3q03MXJFv02F+VIhRsGXTHzwn4Q1xWgp0n4mdZ4paGGue9oGoblToKTcbgySW9QbWiYNNztGKruo06IPTmg3iJifYbDYztVT9lKxVYdPPlY/Q7BHHS55g3OP98aNK9GMIVBZHj5qaYpHs0EakQqE52t8iU6nf02e0dMNbP6jhtXKl73f1hvPUEVlt7vZKAyAGuT4vG2uUq46fujVa9+n8srLoBdRe23658rt+htxJPGl0WwFakIiTAFIb4oH/r4XIX1RhncuFZrL4fUkCD7Dkj4WaCSWaI+e1JnwhTVgt8teNl3+qP1mcLNsUSXqAYJ+RF84FevbMxA1wj9qUCwr1SV0/OvvCyONMeXhahzmTeIEMqk0dql5rqGXryKXeYYJAQQTA8bk7F78o7kXWD4FdBtgoTtg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR08MB5316.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(54906003)(110136005)(66946007)(7696005)(6506007)(71200400001)(55016002)(5660300002)(53546011)(38070700005)(86362001)(8936002)(52536014)(83380400001)(122000001)(33656002)(38100700002)(316002)(9686003)(26005)(66476007)(66446008)(66556008)(64756008)(186003)(76116006)(508600001)(2906002)(8676002)(4326008); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2643 Original-Authentication-Results: foss.arm.com; dkim=none (message not signed) header.d=none; foss.arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: e585a6ba-5695-4721-e3cc-08d988045b4b X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: h5Rggm8eHmDdkqyts+hB0IQ4GZxbTJrhh2QJ9y9WFVhMCRtqd3yQEk5Z2Nw5GeozYr4mcShC+uRdDZG+sP+eDe4b14Ck+8Mk6K1e92YPBB+ri0ClRW9iTB3IDq50V8yZW7qE8GNwGfLX/CK0pbfG4W3svBP5BvOhOYu1zV/wYDJis9XssfxBL87P7iB5HC35/lFEgDdhPX6NyWzCVo7TqZh09mQ68XEN5D7USFPpCZJRQJk32DsV6cmB3PDLaBJG67ixOIGrmsQA0SEJu9Bgi+DIdnoftr3ibHn1NLuy/BZbjA3Og2CoCQkZhe/AJR34mDq8O7x1NxfIFNhbcLVXW/n4DIxW8pUdw4wWrXxXvCMRw/DGlVJUJQyw4qHDdKwiD8JUfCYEErhgsnvFVTUGUlrWZJYowCftfB+wNFKqqkRtbYrckkUgqOzmNTa0uzZdFCMotac9HToOY6ZlyClYwL4ybc1SVe/p+FSJeWCJaRfoZ6f89wP4CPjxEDsIXlw1U4jH+Zry0Ufl0xaOoQNtq7mJRzrSsdWqDyX0J91K6F6E8CGT+h5ve+WHlIjVpIOtnJjS/3ma5bJ3MCPuYsP9YdsFOY8Bkl7DOnntV8IHXKYmabFFhd1Uowr1ooSHGrMAPEdVswBztJqD5jSTLULqMHkdtbSnxOxVnz3zSJzNKjhKlT/UZ2XnbZxc5YXco5fp2Rfo3RTRGc4FGKits2oAE13Z5Ttq8c61NZDPP9+XYjslP/BJc55L/Uq398Jut9LXTeIvWYln+UPKCJFddAwEV+x9oF7WEcJ358KgTCsCY2OiDN/NrwZxuL8H/u3yJjtmUWufVlo0EwlcV9I1GxaYPw== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(83380400001)(81166007)(7696005)(26005)(70586007)(107886003)(336012)(33656002)(36860700001)(52536014)(356005)(53546011)(70206006)(6506007)(55016002)(86362001)(8936002)(82310400003)(8676002)(2906002)(508600001)(47076005)(316002)(4326008)(54906003)(9686003)(5660300002)(110136005)(186003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Oct 2021 13:31:08.1105 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ac88aeef-c9e3-45ae-cb78-08d98804638e X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6437 X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_LOTSOFHASH, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Oct 2021 13:31:12 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUmljaGFyZCBFYXJuc2hh dyA8UmljaGFyZC5FYXJuc2hhd0Bmb3NzLmFybS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9i ZXIgNSwgMjAyMSAxOjU2IFBNDQo+IFRvOiBUYW1hciBDaHJpc3RpbmEgPFRhbWFyLkNocmlzdGlu YUBhcm0uY29tPjsgZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcNCj4gQ2M6IG5kIDxuZEBhcm0uY29t Pjsgcmd1ZW50aGVyQHN1c2UuZGUNCj4gU3ViamVjdDogUmU6IFtQQVRDSF1taWRkbGUtZW5kIGNv bnZlcnQgbmVnYXRlICsgcmlnaHQgc2hpZnQgaW50byBjb21wYXJlDQo+IGdyZWF0ZXIuDQo+IA0K PiANCj4gDQo+IE9uIDA1LzEwLzIwMjEgMTM6NTAsIFRhbWFyIENocmlzdGluYSB2aWEgR2NjLXBh dGNoZXMgd3JvdGU6DQo+ID4gSGkgQWxsLA0KPiA+DQo+ID4gVGhpcyB0dXJucyBhbiBpbnZlcnNp b24gb2YgdGhlIHNpZ24gYml0ICsgYXJpdGhtZXRpYyByaWdodCBzaGlmdCBpbnRvDQo+ID4gYSBj b21wYXJpc29uIHdpdGggMC4NCj4gPg0KPiA+IGkuZS4NCj4gPg0KPiA+IHZvaWQgZnVuMShpbnQz Ml90ICp4LCBpbnQgbikNCj4gPiB7DQo+ID4gICAgICBmb3IgKGludCBpID0gMDsgaSA8IChuICYg LTE2KTsgaSsrKQ0KPiA+ICAgICAgICB4W2ldID0gKC14W2ldKSA+PiAzMTsNCj4gPiB9DQo+ID4N Cj4gTm90d2l0aHN0YW5kaW5nIHRoYXQgSSB0aGluayBzaGlmdGluZyBhIG5lZ2F0aXZlIHZhbHVl IHJpZ2h0IGlzIHVuc3BlY2lmaWVkDQo+IGJlaGF2aW91ciwgSSBkb24ndCB0aGluayB0aGlzIGdl bmVyYXRlcyB0aGUgc2FtZSByZXN1bHQgd2hlbiB4W2ldIGlzIElOVF9NSU4NCj4gZWl0aGVyLCBh bHRob3VnaCBuZWdhdGluZyB0aGF0IGlzIGFsc28gdW5zcGVjaWZpZWQgc2luY2UgaXQgY2FuJ3Qg YmUNCj4gcmVwcmVzZW50ZWQgaW4gYW4gaW50Lg0KPiANCg0KWW91J3JlIHJpZ2h0IHRoYXQgdGhl eSBhcmUgaW1wbGVtZW50YXRpb24gZGVmaW5lZCwgYnV0IEkgdGhpbmsgbW9zdCBJU0FzIGRvIGhh dmUgYSBzYW5lDQpJbXBsZW1lbnRhdGlvbiBvZiB0aGVzZSB0d28gY2FzZXMuIEF0IGxlYXN0IGJv dGggeDg2IGFuZCBBQXJjaDY0IGp1c3QgcmVwbGljYXRlIHRoZSBzaWduYml0DQphbmQgZm9yIG5l Z2F0ZSBkbyB0d28gY29tcGxlbWVudCBuZWdhdGlvbi4gU28gSU5UX01JTiB3b3JrcyBhcyBleHBl Y3RlZCBhbmQgcmVzdWx0cyBpbiAwLg0KDQpCdXQgSSdtIGhhcHB5IHRvIGd1YXJkIHRoaXMgYmVo aW5kIHNvbWUgc29ydCBvZiB0YXJnZXQgZ3VhcmQuDQoNClJlZ2FyZHMsDQpUYW1hcg0KDQo+IFIu DQo+IA0KPiA+IG5vdyBnZW5lcmF0ZXM6DQo+ID4NCj4gPiAuTDM6DQo+ID4gICAgICAgICAgbGRy ICAgICBxMCwgW3gwXQ0KPiA+ICAgICAgICAgIGNtZ3QgICAgdjAuNHMsIHYwLjRzLCAjMA0KPiA+ ICAgICAgICAgIHN0ciAgICAgcTAsIFt4MF0sIDE2DQo+ID4gICAgICAgICAgY21wICAgICB4MCwg eDENCj4gPiAgICAgICAgICBibmUgICAgIC5MMw0KPiA+DQo+ID4gaW5zdGVhZCBvZjoNCj4gPg0K PiA+IC5MMzoNCj4gPiAgICAgICAgICBsZHIgICAgIHEwLCBbeDBdDQo+ID4gICAgICAgICAgbmVn ICAgICB2MC40cywgdjAuNHMNCj4gPiAgICAgICAgICBzc2hyICAgIHYwLjRzLCB2MC40cywgMzEN Cj4gPiAgICAgICAgICBzdHIgICAgIHEwLCBbeDBdLCAxNg0KPiA+ICAgICAgICAgIGNtcCAgICAg eDAsIHgxDQo+ID4gICAgICAgICAgYm5lICAgICAuTDMNCj4gPg0KPiA+IEJvb3RzdHJhcHBlZCBS ZWd0ZXN0ZWQgb24gYWFyY2g2NC1ub25lLWxpbnV4LWdudSwNCj4gPiB4ODZfNjQtcGMtbGludXgt Z251IGFuZCBubyByZWdyZXNzaW9ucy4NCj4gPg0KPiA+IE9rIGZvciBtYXN0ZXI/DQo+ID4NCj4g PiBUaGFua3MsDQo+ID4gVGFtYXINCj4gPg0KPiA+IGdjYy9DaGFuZ2VMb2c6DQo+ID4NCj4gPiAJ KiBtYXRjaC5wZDogTmV3IG5lZ2F0ZStzaGlmdCBwYXR0ZXJuLg0KPiA+DQo+ID4gZ2NjL3Rlc3Rz dWl0ZS9DaGFuZ2VMb2c6DQo+ID4NCj4gPiAJKiBnY2MuZGcvc2lnbmJpdC0yLmM6IE5ldyB0ZXN0 Lg0KPiA+IAkqIGdjYy5kZy9zaWduYml0LTMuYzogTmV3IHRlc3QuDQo+ID4gCSogZ2NjLnRhcmdl dC9hYXJjaDY0L3NpZ25iaXQtMS5jOiBOZXcgdGVzdC4NCj4gPg0KPiA+IC0tLSBpbmxpbmUgY29w eSBvZiBwYXRjaCAtLQ0KPiA+IGRpZmYgLS1naXQgYS9nY2MvbWF0Y2gucGQgYi9nY2MvbWF0Y2gu cGQNCj4gPiBpbmRleA0KPiA3ZDJhMjRkYmM1ZTk2NDRhMDk5NjhmODc3ZTEyYTgyNGQ4YmExY2Fh Li41ODE0MzZmZTM2ZGJhY2RjYjBjMjcyMGI3DQo+IDE5MGM5NmQxNDM5ODE0MyAxMDA2NDQNCj4g PiAtLS0gYS9nY2MvbWF0Y2gucGQNCj4gPiArKysgYi9nY2MvbWF0Y2gucGQNCj4gPiBAQCAtODI2 LDYgKzgyNiwzNyBAQCBERUZJTkVfSU5UX0FORF9GTE9BVF9ST1VORF9GTiAoUklOVCkNCj4gPiAg ICAgICB7IHRyZWUgdXR5cGUgPSB1bnNpZ25lZF90eXBlX2ZvciAodHlwZSk7IH0NCj4gPiAgICAg ICAoY29udmVydCAocnNoaWZ0IChsc2hpZnQgKGNvbnZlcnQ6dXR5cGUgQDApIEAyKSBAMykpKSkp KQ0KPiA+DQo+ID4gKy8qIEZvbGQgKC14ID4+IEMpIGludG8geCA+IDAgd2hlcmUgQyA9IHByZWNp c2lvbih0eXBlKSAtIDEuICAqLw0KPiA+ICsoZm9yIGNzdCAoSU5URUdFUl9DU1QgVkVDVE9SX0NT VCkNCj4gPiArIChzaW1wbGlmeQ0KPiA+ICsgIChyc2hpZnQgKG5lZ2F0ZTpzIEAwKSBjc3RAMSkN Cj4gPiArICAgKHdpdGggeyB0cmVlIGN0eXBlID0gVFJFRV9UWVBFIChAMCk7DQo+ID4gKwkgICB0 cmVlIHN0eXBlID0gVFJFRV9UWVBFIChAMSk7DQo+ID4gKwkgICB0cmVlIGJ0ID0gdHJ1dGhfdHlw ZV9mb3IgKGN0eXBlKTsgfQ0KPiA+ICsgICAgKHN3aXRjaA0KPiA+ICsgICAgIC8qIEhhbmRsZSBz Y2FsYXIgY2FzZS4gICovDQo+ID4gKyAgICAgKGlmIChJTlRFR1JBTF9UWVBFX1AgKGN0eXBlKQ0K PiA+ICsJICAmJiAhVkVDVE9SX1RZUEVfUCAoY3R5cGUpDQo+ID4gKwkgICYmICFUWVBFX1VOU0lH TkVEIChjdHlwZSkNCj4gPiArCSAgJiYgY2Fub25pY2FsaXplX21hdGhfYWZ0ZXJfdmVjdG9yaXph dGlvbl9wICgpDQo+ID4gKwkgICYmIHdpOjplcV9wICh3aTo6dG9fd2lkZSAoQDEpLCBUWVBFX1BS RUNJU0lPTiAoc3R5cGUpIC0gMSkpDQo+ID4gKyAgICAgIChjb252ZXJ0OmJ0IChndDpidCBAMCB7 IGJ1aWxkX3plcm9fY3N0IChzdHlwZSk7IH0pKSkNCj4gPiArICAgICAvKiBIYW5kbGUgdmVjdG9y IGNhc2Ugd2l0aCBhIHNjYWxhciBpbW1lZGlhdGUuICAqLw0KPiA+ICsgICAgIChpZiAoVkVDVE9S X0lOVEVHRVJfVFlQRV9QIChjdHlwZSkNCj4gPiArCSAgJiYgIVZFQ1RPUl9UWVBFX1AgKHN0eXBl KQ0KPiA+ICsJICAmJiAhVFlQRV9VTlNJR05FRCAoY3R5cGUpDQo+ID4gKyAgICAgICAgICAmJiB3 aTo6ZXFfcCAod2k6OnRvX3dpZGUgKEAxKSwgVFlQRV9QUkVDSVNJT04gKHN0eXBlKSAtIDEpKQ0K PiA+ICsgICAgICAoY29udmVydDpidCAoZ3Q6YnQgQDAgeyBidWlsZF96ZXJvX2NzdCAoY3R5cGUp OyB9KSkpDQo+ID4gKyAgICAgLyogSGFuZGxlIHZlY3RvciBjYXNlIHdpdGggYSB2ZWN0b3IgaW1t ZWRpYXRlLiAgICovDQo+ID4gKyAgICAgKGlmIChWRUNUT1JfSU5URUdFUl9UWVBFX1AgKGN0eXBl KQ0KPiA+ICsJICAmJiBWRUNUT1JfVFlQRV9QIChzdHlwZSkNCj4gPiArCSAgJiYgIVRZUEVfVU5T SUdORUQgKGN0eXBlKQ0KPiA+ICsJICAmJiB1bmlmb3JtX3ZlY3Rvcl9wIChAMSkpDQo+ID4gKyAg ICAgICh3aXRoIHsgdHJlZSBjc3QgPSB2ZWN0b3JfY3N0X2VsdCAoQDEsIDApOw0KPiA+ICsJICAg ICAgdHJlZSB0ID0gVFJFRV9UWVBFIChjc3QpOyB9DQo+ID4gKyAgICAgICAoaWYgKHdpOjplcV9w ICh3aTo6dG9fd2lkZSAoY3N0KSwgVFlQRV9QUkVDSVNJT04gKHQpIC0gMSkpDQo+ID4gKyAgICAg ICAgKGNvbnZlcnQ6YnQgKGd0OmJ0IEAwIHsgYnVpbGRfemVyb19jc3QgKGN0eXBlKTsgfSkpKSkp KSkpKQ0KPiA+ICsNCj4gPiAgIC8qIEZvbGQgKEMxL1gpKkMyIGludG8gKEMxKkMyKS9YLiAgKi8N Cj4gPiAgIChzaW1wbGlmeQ0KPiA+ICAgIChtdWx0IChyZGl2QDMgUkVBTF9DU1RAMCBAMSkgUkVB TF9DU1RAMikNCj4gPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvc2lnbmJpdC0y LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9zaWduYml0LQ0KPiAyLmMNCj4gPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiA+IGluZGV4DQo+IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAuLmZjMDE1N2NiYzVjNzk5NmI0ODFmMjk5OGJjDQo+IDMwMTc2Yzk2YTY2OWJiDQo+ ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3NpZ25iaXQt Mi5jDQo+ID4gQEAgLTAsMCArMSwxOSBAQA0KPiA+ICsvKiB7IGRnLWRvIGFzc2VtYmxlIH0gKi8N Cj4gPiArLyogeyBkZy1vcHRpb25zICItTzMgLS1zYXZlLXRlbXBzIC1mZHVtcC10cmVlLW9wdGlt aXplZCIgfSAqLw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgPHN0ZGludC5oPg0KPiA+ICsNCj4gPiAr dm9pZCBmdW4xKGludDMyX3QgKngsIGludCBuKQ0KPiA+ICt7DQo+ID4gKyAgICBmb3IgKGludCBp ID0gMDsgaSA8IChuICYgLTE2KTsgaSsrKQ0KPiA+ICsgICAgICB4W2ldID0gKC14W2ldKSA+PiAz MTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBmdW4yKGludDMyX3QgKngsIGludCBuKQ0KPiA+ ICt7DQo+ID4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IChuICYgLTE2KTsgaSsrKQ0KPiA+ICsg ICAgICB4W2ldID0gKC14W2ldKSA+PiAzMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyogeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzIHtccys+XHMrXHsgMCwgMCwgMCwgMCBcfX0gMSBv cHRpbWl6ZWQgfSB9DQo+ICovDQo+ID4gKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1u b3Qge1xzKz4+XHMrMzF9IG9wdGltaXplZCB9IH0gKi8NCj4gPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvc2lnbmJpdC0zLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9zaWduYml0 LQ0KPiAzLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4DQo+IDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5ZTljMDZjMzQ5YjMyODc2MTBmODE3 NjI4DQo+IGYwMDkzOGVjZTYwYmY3DQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3NpZ25iaXQtMy5jDQo+ID4gQEAgLTAsMCArMSwxMyBAQA0KPiA+ICsv KiB7IGRnLWRvIGFzc2VtYmxlIH0gKi8NCj4gPiArLyogeyBkZy1vcHRpb25zICItTzEgLS1zYXZl LXRlbXBzIC1mZHVtcC10cmVlLW9wdGltaXplZCIgfSAqLw0KPiA+ICsNCj4gPiArI2luY2x1ZGUg PHN0ZGludC5oPg0KPiA+ICsNCj4gPiArdm9pZCBmdW4xKGludDMyX3QgKngsIGludCBuKQ0KPiA+ ICt7DQo+ID4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IChuICYgLTE2KTsgaSsrKQ0KPiA+ICsg ICAgICB4W2ldID0gKC14W2ldKSA+PiAzMTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyogeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzIHtccys+XHMrMDt9IDEgb3B0aW1pemVkIH0gfSAq Lw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90IHtccys+PlxzKzMxfSBv cHRpbWl6ZWQgfSB9ICovDQo+ID4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9hYXJjaDY0L3NpZ25iaXQtMS5jDQo+IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc2lnbmJpdC0xLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4DQo+IDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlYmZiMDU4NmYzN2RlMjlj ZjU4NjM1YjI3DQo+IGZlNDg1MDM3MTQ0NDdlDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3NpZ25iaXQtMS5jDQo+ID4gQEAgLTAs MCArMSwxOCBAQA0KPiA+ICsvKiB7IGRnLWRvIGFzc2VtYmxlIH0gKi8NCj4gPiArLyogeyBkZy1v cHRpb25zICItTzMgLS1zYXZlLXRlbXBzIiB9ICovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8c3Rk aW50Lmg+DQo+ID4gKw0KPiA+ICt2b2lkIGZ1bjEoaW50MzJfdCAqeCwgaW50IG4pDQo+ID4gK3sN Cj4gPiArICAgIGZvciAoaW50IGkgPSAwOyBpIDwgKG4gJiAtMTYpOyBpKyspDQo+ID4gKyAgICAg IHhbaV0gPSAoLXhbaV0pID4+IDMxOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lkIGZ1bjIoaW50 MzJfdCAqeCwgaW50IG4pDQo+ID4gK3sNCj4gPiArICAgIGZvciAoaW50IGkgPSAwOyBpIDwgKG4g JiAtMTYpOyBpKyspDQo+ID4gKyAgICAgIHhbaV0gPSAoLXhbaV0pID4+IDMwOw0KPiA+ICt9DQo+ ID4gKw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0Y21ndFx0 fSAxIH0gfSAqLw0KPiA+DQo+ID4NCg==