From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70077.outbound.protection.outlook.com [40.107.7.77]) by sourceware.org (Postfix) with ESMTPS id CE6CE3857810 for ; Tue, 1 Feb 2022 09:55:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CE6CE3857810 Received: from AS9PR07CA0008.eurprd07.prod.outlook.com (2603:10a6:20b:46c::6) by DB6PR0802MB2293.eurprd08.prod.outlook.com (2603:10a6:4:86::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.17; Tue, 1 Feb 2022 09:55:35 +0000 Received: from AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:46c:cafe::da) by AS9PR07CA0008.outlook.office365.com (2603:10a6:20b:46c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.10 via Frontend Transport; Tue, 1 Feb 2022 09:55:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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 AM5EUR03FT008.mail.protection.outlook.com (10.152.16.123) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15 via Frontend Transport; Tue, 1 Feb 2022 09:55:35 +0000 Received: ("Tessian outbound 31aeb3346a45:v113"); Tue, 01 Feb 2022 09:55:35 +0000 X-CR-MTA-TID: 64aa7808 Received: from a18ad0059119.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 691545A8-03B3-41AF-93C9-60F852D060A1.1; Tue, 01 Feb 2022 09:55:25 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a18ad0059119.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 01 Feb 2022 09:55:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cJ0LzBc5+3Cr1WIDwH+GHFUohmO7xUdVoPKTYNuDYJ8KyoEw++HzyQQ1D/aOPcsqXyGKnIP1tz+DCxQb2BEBD+Jo2OjDV88LcOmp2pLsMsY8gp+6ZZNuZ1sX5OK9jxfLhX3DKbInCclMJmm2+c4AAKRN/HMPM9N2mZgcOX6xlzuyi7XUNyIPM4SQBblO3vi4XTmlSN57JfyQGlwHQRunUM8z6pLP4KlwtvpKfCkRc4dbG7atvQZyAQpQVLxrw2ZmHJF9vuL4pcD8vC/Ly68wzzoKcS2tzxoANueczNRjwPhXtMateRWvN33CSiIpUa6JaA5089YSDptR5S7CSAV4vg== 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=DAD2tmx4TJR/UDH3zNUi5emdyTxbvGxPTbQvg+XkhGE=; b=UUV/QCb+m1kQAgzdbRkCdF4kvvcJdO7lXUn4hELIK/24VdJYSmA62IlhN6yCHvOyGwR7GOVwDg78ayQLX6UcYR9BBM5CpJy0v58kQX1/82a9E99TLRzbXRwJRp65X0PQOdmV3rUHL9aij0dNdqQPfDwyvo+/oSbsOUFSbEQtjQkTYw2hxb3Wmz3MOg1FFwquO45Gdwk96+h8ImQhPPmOoO8MeVB4gXI+g/L6ngJ0XR4YWYxgFFRfsaXr06N2An3hCBB4pBXPqMhtzYEDlhQfa1nhbKshzzB9bND78YGl6jqC6LUip6F2VMuRFY61aHq15bOTbwfKWYtzwyXgLEwX8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by DB8PR08MB4059.eurprd08.prod.outlook.com (2603:10a6:10:a9::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Tue, 1 Feb 2022 09:55:20 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::9d39:1e62:45fe:7db1]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::9d39:1e62:45fe:7db1%4]) with mapi id 15.20.4930.022; Tue, 1 Feb 2022 09:55:19 +0000 From: Tamar Christina To: Richard Sandiford CC: "gcc-patches@gcc.gnu.org" , nd , Richard Earnshaw , Marcus Shawcroft , Kyrylo Tkachov Subject: RE: [2/3 PATCH]AArch64 use canonical ordering for complex mul, fma and fms Thread-Topic: [2/3 PATCH]AArch64 use canonical ordering for complex mul, fma and fms Thread-Index: AQHX81zBz3f9os09q0OwbPf9xWSXEaw23oD6gAAGzLCABK6NIIAh+g+AgCEu9cA= Date: Tue, 1 Feb 2022 09:55:19 +0000 Message-ID: References: <20211217154251.GA4694@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: ED08CEA13DCE8849B4373DC8D59078D3.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-MS-Office365-Filtering-Correlation-Id: 8b978a4e-2add-42a1-b193-08d9e568fe3e x-ms-traffictypediagnostic: DB8PR08MB4059:EE_|AM5EUR03FT008:EE_|DB6PR0802MB2293:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:4941;OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: BOthgACiUH4O4yPAhObbl/6FSu3LzpE6dXBbXiXR+t3TFBf4bAB/C9DmWuaqhn0Qo8rdUb/6tLluO61aFI2xjff8x+4kw29ModKrzj6nVr7yRECYY3p9/kvrjfr8Wn3+CP3brAqAMPnhUb+qC8hP3aXzlSdFNEgOgde+l6tOiH9pnwNKlcY7ayEqsFABETJePr3DGKt/+7EcVX6LU8tPulW4ZTDi7WjHmvF7TDIzNE1gH4U0HpCzT1OXMdNPMaPizPeB5o0Zfz2fUBAsXY1mYCeWBvzMQ+30yf5EYwJfM5B7RRAmyt3EuLEB28a4I5xshynvK1lJ080Lrs97qLt1J40AIDFKCoESJuhtde4jtb9Nqivb/F0/ZItsP5PY2gw99EhRO8zAbik3fbzuf23CtgDB8aXxJPUZQQ30IYLmvUb8p2P8WleXZmf1kub6xqHvMAJbkXPLXnszHp+tQ8CjfZZFW2E1TCILeao6pmEKD9p7KdbeIaalKiHAJmROkPwH8KzXUgltwrH099rmGZEFtSvAcjTWZ1IfCZ4sKwAUrz/vY48nBRbZjs3ljFHxx5KeSSa/dkD/RaRB6vcTeEDXLCjVELSj6NHcb/RiIToAiatqp4rMF+NWbJbbivnuu+xrbVFDukuT0uZ5RETEFY6l49DFSg2dgLAtLJ9xSZmY4E09YG7aagk6nWQQmcpUm8ys5IW/B/Nrds5MQEIpe2Cqng== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(71200400001)(55016003)(508600001)(83380400001)(76116006)(8676002)(64756008)(66946007)(38100700002)(8936002)(66476007)(66446008)(66556008)(6636002)(9686003)(4326008)(122000001)(38070700005)(33656002)(54906003)(86362001)(2906002)(6506007)(26005)(53546011)(186003)(52536014)(5660300002)(7696005)(6862004)(316002)(20210929001); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4059 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: d6c3dbcf-feb5-4495-9933-08d9e568f498 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yRNPnS7LQQX1cb9RmZBj+DQU8vAihJnnDdMxZNqGDgzBJje3Y8+NNynwquQS7unds4ZcqPg/cwTdd3Se3HdktIbZ0N840WGncsL7eCzRtdOQIRHdkuW/4yGkuJRC1nIDAWftzNhWXWigcKXUyGn0xx8HBqHbY9Y/DyUD93S/9qMefjZ4ihMCvfUBJ3a6iNOusUDfAZSOyt9EW4XX+/voE+434pPnz/nbqEmlkKdSG1qNbg8LJ5WhUqeq0YarHeuAZkXNLfESd/8N7FVJ6z375evnxsvDP9SOyNiv51ocBPnILY5whgJYTfzAXYX71ACdzYf0Zu7sfP7Ya9czQWGLHCzBdVQqN/ASj29M4/S0Je3k3iP/9TXK5b0NVKcPna7C/wYIWBhsh/GRpA4AitowwcEBvyV7t3LAMP8SC4+Mt+eUc8zmzPbNhfOD6kCdwenVeQnuk1PkHrZv7+Kv8FtawFlWTt+6TnMkORWV8HqVQJ3kwIOzDO/AeL/RtCc2BOuMrHyGJEe2YnM0+oMYU1TvDddHcgVeTLEXa0qPHnSH92wkiySehfp3cwXkh6mBihh918WWmYSiH5NUdmEApflfqZCxr3EJC7VszExpuiRLu5olv/CMRCTSKZiG9hBj/v5HJLlK42s8zvnPNAL9krRFHM0SyQAYpvfcrp5+tSjdt7fRiItRc+jYUeSo5NmYPGfV 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:(13230001)(4636009)(36840700001)(40470700004)(46966006)(33656002)(9686003)(2906002)(5660300002)(6506007)(7696005)(53546011)(70586007)(6862004)(8676002)(8936002)(55016003)(508600001)(26005)(186003)(336012)(54906003)(6636002)(70206006)(86362001)(40460700003)(47076005)(316002)(356005)(81166007)(82310400004)(4326008)(52536014)(83380400001)(36860700001)(20210929001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 09:55:35.3773 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8b978a4e-2add-42a1-b193-08d9e568fe3e 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: AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2293 X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, 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, 01 Feb 2022 09:55:43 -0000 UGluZyB4My4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUYW1hciBD aHJpc3RpbmENCj4gU2VudDogVHVlc2RheSwgSmFudWFyeSAxMSwgMjAyMiA3OjExIEFNDQo+IFRv OiBSaWNoYXJkIFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4NCj4gQ2M6IGdj Yy1wYXRjaGVzQGdjYy5nbnUub3JnOyBuZCA8bmRAYXJtLmNvbT47IFJpY2hhcmQgRWFybnNoYXcN Cj4gPFJpY2hhcmQuRWFybnNoYXdAYXJtLmNvbT47IE1hcmN1cyBTaGF3Y3JvZnQNCj4gPE1hcmN1 cy5TaGF3Y3JvZnRAYXJtLmNvbT47IEt5cnlsbyBUa2FjaG92IDxLeXJ5bG8uVGthY2hvdkBhcm0u Y29tPg0KPiBTdWJqZWN0OiBSRTogWzIvMyBQQVRDSF1BQXJjaDY0IHVzZSBjYW5vbmljYWwgb3Jk ZXJpbmcgZm9yIGNvbXBsZXggbXVsLA0KPiBmbWEgYW5kIGZtcw0KPiANCj4gcGluZw0KPiANCj4g PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IFRhbWFyIENocmlzdGluYQ0K PiA+IFNlbnQ6IE1vbmRheSwgRGVjZW1iZXIgMjAsIDIwMjEgNDoyMSBQTQ0KPiA+IFRvOiBSaWNo YXJkIFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4NCj4gPiBDYzogZ2NjLXBh dGNoZXNAZ2NjLmdudS5vcmc7IG5kIDxuZEBhcm0uY29tPjsgUmljaGFyZCBFYXJuc2hhdw0KPiA+ IDxSaWNoYXJkLkVhcm5zaGF3QGFybS5jb20+OyBNYXJjdXMgU2hhd2Nyb2Z0DQo+ID4gPE1hcmN1 cy5TaGF3Y3JvZnRAYXJtLmNvbT47IEt5cnlsbyBUa2FjaG92DQo+IDxLeXJ5bG8uVGthY2hvdkBh cm0uY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbMi8zIFBBVENIXUFBcmNoNjQgdXNlIGNhbm9uaWNh bCBvcmRlcmluZyBmb3IgY29tcGxleA0KPiA+IG11bCwgZm1hIGFuZCBmbXMNCj4gPg0KPiA+DQo+ ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBSaWNoYXJk IFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4NCj4gPiA+IFNlbnQ6IEZyaWRh eSwgRGVjZW1iZXIgMTcsIDIwMjEgNDo0OSBQTQ0KPiA+ID4gVG86IFRhbWFyIENocmlzdGluYSA8 VGFtYXIuQ2hyaXN0aW5hQGFybS5jb20+DQo+ID4gPiBDYzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5v cmc7IG5kIDxuZEBhcm0uY29tPjsgUmljaGFyZCBFYXJuc2hhdw0KPiA+ID4gPFJpY2hhcmQuRWFy bnNoYXdAYXJtLmNvbT47IE1hcmN1cyBTaGF3Y3JvZnQNCj4gPiA+IDxNYXJjdXMuU2hhd2Nyb2Z0 QGFybS5jb20+OyBLeXJ5bG8gVGthY2hvdg0KPiA+IDxLeXJ5bG8uVGthY2hvdkBhcm0uY29tPg0K PiA+ID4gU3ViamVjdDogUmU6IFsyLzMgUEFUQ0hdQUFyY2g2NCB1c2UgY2Fub25pY2FsIG9yZGVy aW5nIGZvciBjb21wbGV4DQo+ID4gPiBtdWwsIGZtYSBhbmQgZm1zDQo+ID4gPg0KPiA+ID4gUmlj aGFyZCBTYW5kaWZvcmQgPHJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb20+IHdyaXRlczoNCj4gPiA+ ID4gVGFtYXIgQ2hyaXN0aW5hIDx0YW1hci5jaHJpc3RpbmFAYXJtLmNvbT4gd3JpdGVzOg0KPiA+ ID4gPj4gSGkgQWxsLA0KPiA+ID4gPj4NCj4gPiA+ID4+IEFmdGVyIHRoZSBmaXJzdCBwYXRjaCBp biB0aGUgc2VyaWVzIHRoaXMgdXBkYXRlcyB0aGUgb3B0YWJzIHRvDQo+ID4gPiA+PiBleHBlY3Qg dGhlIGNhbm9uaWNhbCBzZXF1ZW5jZS4NCj4gPiA+ID4+DQo+ID4gPiA+PiBCb290c3RyYXBwZWQg UmVndGVzdGVkIG9uIGFhcmNoNjQtbm9uZS1saW51eC1nbnUgYW5kIG5vIGlzc3Vlcy4NCj4gPiA+ ID4+DQo+ID4gPiA+PiBPayBmb3IgbWFzdGVyPyBhbmQgYmFja3BvcnQgYWxvbmcgd2l0aCB0aGUg Zmlyc3QgcGF0Y2g/DQo+ID4gPiA+Pg0KPiA+ID4gPj4gVGhhbmtzLA0KPiA+ID4gPj4gVGFtYXIN Cj4gPiA+ID4+DQo+ID4gPiA+PiBnY2MvQ2hhbmdlTG9nOg0KPiA+ID4gPj4NCj4gPiA+ID4+IAlQ UiB0cmVlLW9wdGltaXphdGlvbi8xMDI4MTkNCj4gPiA+ID4+IAlQUiB0cmVlLW9wdGltaXphdGlv bi8xMDMxNjkNCj4gPiA+ID4+IAkqIGNvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZA0KPiA+ ID4gKGNtbDxmY21hYzE+PGNvbmpfb3A+PG1vZGU+NCwNCj4gPiA+ID4+IAljbXVsPGNvbmpfb3A+ PG1vZGU+Myk6IFVzZSBjYW5vbmljYWwgb3JkZXIuDQo+ID4gPiA+PiAJKiBjb25maWcvYWFyY2g2 NC9hYXJjaDY0LXN2ZS5tZCAoY21sPGZjbWFjMT48Y29ual9vcD48bW9kZT40LA0KPiA+ID4gPj4g CWNtdWw8Y29ual9vcD48bW9kZT4zKTogTGlrZXdpc2UuDQo+ID4gPiA+Pg0KPiA+ID4gPj4gLS0t IGlubGluZSBjb3B5IG9mIHBhdGNoIC0tDQo+ID4gPiA+PiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZA0KPiA+ID4gPj4gYi9nY2MvY29uZmlnL2FhcmNoNjQv YWFyY2g2NC1zaW1kLm1kDQo+ID4gPiA+PiBpbmRleA0KPiA+ID4gPj4NCj4gPiA+DQo+ID4NCj4g Zjk1YTdlMWQ5MWM5N2M5ZTk4MWQ3NWU3MWYwYjQ5YzAyZWY3NDhiYS4uODc1ODk2ZWU3MTMyNDcx MmM4MDM0ZWVmZjkNCj4gPiA+IGMNCj4gPiA+ID4+IGZiNTY0OWY5YjBlNzMgMTAwNjQ0DQo+ID4g PiA+PiAtLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kDQo+ID4gPiA+PiAr KysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kDQo+ID4gPiA+PiBAQCAtNTU2 LDE3ICs1NTYsMTcgQEAgKGRlZmluZV9pbnNuDQo+ID4gPiAiYWFyY2g2NF9mY21sYXFfbGFuZTxy b3Q+PG1vZGU+Ig0KPiA+ID4gPj4gIDs7IHJlbWFpbmRlci4gIEJlY2F1c2Ugb2YgdGhpcywgZXhw YW5kIGVhcmx5Lg0KPiA+ID4gPj4gIChkZWZpbmVfZXhwYW5kICJjbWw8ZmNtYWMxPjxjb25qX29w Pjxtb2RlPjQiDQo+ID4gPiA+PiAgICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSFNERiAwICJyZWdp c3Rlcl9vcGVyYW5kIikNCj4gPiA+ID4+IC0JKHBsdXM6VkhTREYgKG1hdGNoX29wZXJhbmQ6VkhT REYgMSAicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gPiA+PiAtCQkgICAgKHVuc3BlYzpWSFNERiBb KG1hdGNoX29wZXJhbmQ6VkhTREYgMg0KPiA+ID4gInJlZ2lzdGVyX29wZXJhbmQiKQ0KPiA+ID4g Pj4gLQkJCQkgICAobWF0Y2hfb3BlcmFuZDpWSFNERiAzDQo+ID4gPiAicmVnaXN0ZXJfb3BlcmFu ZCIpXQ0KPiA+ID4gPj4gLQkJCQkgICBGQ01MQV9PUCkpKV0NCj4gPiA+ID4+ICsJKHBsdXM6VkhT REYgKHVuc3BlYzpWSFNERiBbKG1hdGNoX29wZXJhbmQ6VkhTREYgMQ0KPiA+ID4gInJlZ2lzdGVy X29wZXJhbmQiKQ0KPiA+ID4gPj4gKwkJCQkgICAobWF0Y2hfb3BlcmFuZDpWSFNERiAyDQo+ID4g PiAicmVnaXN0ZXJfb3BlcmFuZCIpXQ0KPiA+ID4gPj4gKwkJCQkgICBGQ01MQV9PUCkNCj4gPiA+ ID4+ICsJCSAgICAobWF0Y2hfb3BlcmFuZDpWSFNERiAzICJyZWdpc3Rlcl9vcGVyYW5kIikpKV0N Cj4gPiA+ID4+ICAgICJUQVJHRVRfQ09NUExFWCAmJiAhQllURVNfQklHX0VORElBTiINCj4gPiA+ ID4+ICB7DQo+ID4gPiA+PiAgICBydHggdG1wID0gZ2VuX3JlZ19ydHggKDxNT0RFPm1vZGUpOw0K PiA+ID4gPj4gLSAgZW1pdF9pbnNuIChnZW5fYWFyY2g2NF9mY21sYTxyb3RzcGxpdDE+PG1vZGU+ ICh0bXAsDQo+IG9wZXJhbmRzWzFdLA0KPiA+ID4gPj4gLQkJCQkJCSBvcGVyYW5kc1szXSwgb3Bl cmFuZHNbMl0pKTsNCj4gPiA+ID4+ICsgIGVtaXRfaW5zbiAoZ2VuX2FhcmNoNjRfZmNtbGE8cm90 c3BsaXQxPjxtb2RlPiAodG1wLA0KPiBvcGVyYW5kc1szXSwNCj4gPiA+ID4+ICsJCQkJCQkgb3Bl cmFuZHNbMV0sDQo+IG9wZXJhbmRzWzJdKSk7DQo+ID4gPiA+PiAgICBlbWl0X2luc24gKGdlbl9h YXJjaDY0X2ZjbWxhPHJvdHNwbGl0Mj48bW9kZT4gKG9wZXJhbmRzWzBdLA0KPiB0bXAsDQo+ID4g PiA+PiAtCQkJCQkJIG9wZXJhbmRzWzNdLCBvcGVyYW5kc1syXSkpOw0KPiA+ID4gPj4gKwkJCQkJ CSBvcGVyYW5kc1sxXSwNCj4gb3BlcmFuZHNbMl0pKTsNCj4gPiA+ID4+ICAgIERPTkU7DQo+ID4g PiA+PiAgfSkNCj4gPiA+ID4+DQo+ID4gPiA+PiBAQCAtNTgzLDkgKzU4Myw5IEBAIChkZWZpbmVf ZXhwYW5kICJjbXVsPGNvbmpfb3A+PG1vZGU+MyINCj4gPiA+ID4+ICAgIHJ0eCB0bXAgPSBmb3Jj ZV9yZWcgKDxNT0RFPm1vZGUsIENPTlNUMF9SVFggKDxNT0RFPm1vZGUpKTsNCj4gPiA+ID4+ICAg IHJ0eCByZXMxID0gZ2VuX3JlZ19ydHggKDxNT0RFPm1vZGUpOw0KPiA+ID4gPj4gICAgZW1pdF9p bnNuIChnZW5fYWFyY2g2NF9mY21sYTxyb3RzcGxpdDE+PG1vZGU+IChyZXMxLCB0bXAsDQo+ID4g PiA+PiAtCQkJCQkJIG9wZXJhbmRzWzJdLCBvcGVyYW5kc1sxXSkpOw0KPiA+ID4gPj4gKwkJCQkJ CSBvcGVyYW5kc1sxXSwNCj4gb3BlcmFuZHNbMl0pKTsNCj4gPiA+ID4+ICAgIGVtaXRfaW5zbiAo Z2VuX2FhcmNoNjRfZmNtbGE8cm90c3BsaXQyPjxtb2RlPiAob3BlcmFuZHNbMF0sDQo+IHJlczEs DQo+ID4gPiA+PiAtCQkJCQkJIG9wZXJhbmRzWzJdLCBvcGVyYW5kc1sxXSkpOw0KPiA+ID4gPj4g KwkJCQkJCSBvcGVyYW5kc1sxXSwNCj4gb3BlcmFuZHNbMl0pKTsNCj4gPiA+ID4NCj4gPiA+ID4g VGhpcyBkb2Vzbid0IGxvb2sgcmlnaHQuICBHb2luZyBmcm9tIHRoZSBkb2N1bWVudGF0aW9uLCBw YXRjaCAxDQo+ID4gPiA+IGlzbid0IGNoYW5naW5nIHRoZSBvcGVyYW5kIG9yZGVyIGZvciBDTVVM OiB0aGUgY29uanVnYXRlZCBvcGVyYW5kDQo+ID4gPiA+IChpZiB0aGVyZSBpcyBvbmUpIGlzIHN0 aWxsIG9wZXJhbmQgMi4gIFRoZSBGQ01MQSBzZXF1ZW5jZXMgdXNlIHRoZQ0KPiA+ID4gPiBvcHBv c2l0ZSBvcmRlciwgd2hlcmUgdGhlIGNvbmp1Z2F0ZWQgb3BlcmFuZCAoaWYgdGhlcmUgaXMgb25l KSBpcw0KPiA+IG9wZXJhbmQgMS4NCj4gPiA+ID4gU28gSSB0aGluaw0KPiA+ID4NCj4gPiA+IEkg bWVhbnQg4oCcdGhlIGZpcnN0IG11bHRpcGxpY2F0aW9uIG9wZXJhbmTigJ0gcmF0aGVyIHRoYW4g 4oCcb3BlcmFuZCAx4oCdIGhlcmUuDQo+ID4gPg0KPiA+ID4gPiB0aGUgcmV2ZXJzYWwgaGVyZSBp cyBzdGlsbCBuZWVkZWQuDQo+ID4gPiA+DQo+ID4gPiA+IFNhbWUgZm9yIHRoZSBtdWx0aXBsaWNh dGlvbiBvcGVyYW5kcyBpbiBDTUwqIGFib3ZlLg0KPiA+DQo+ID4gSSBkaWQgYWN0dWFsbHkgY2hh bmdlIHRoZSBvcmRlciBpbiBwYXRjaCAxLCBidXQgZGlkbid0IHVwZGF0ZSB0aGUgZG9jcy4uDQo+ ID4gVGhhdCB3YXMgZG9uZSBiZWNhdXNlIEkgZm9sbG93ZWQgdGhlIFNMUCBvcmRlciBhZ2Fpbiwg YnV0IG5vdyBJJ3ZlDQo+ID4gdXBkYXRlZCB0aGVtIHRvIGRvIHdoYXQgdGhlIGRvY3Mgc2F5Lg0K PiA+DQo+ID4gQm9vdHN0cmFwcGVkIFJlZ3Rlc3RlZCBvbiBhYXJjaDY0LW5vbmUtbGludXgtZ251 IGFuZCBubyBpc3N1ZXMuDQo+ID4NCj4gPiBPayBmb3IgbWFzdGVyPyBhbmQgYmFja3BvcnQgYWxv bmcgd2l0aCB0aGUgZmlyc3QgcGF0Y2g/DQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gVGFtYXINCj4g Pg0KPiA+IGdjYy9DaGFuZ2VMb2c6DQo+ID4NCj4gPiAJUFIgdHJlZS1vcHRpbWl6YXRpb24vMTAy ODE5DQo+ID4gCVBSIHRyZWUtb3B0aW1pemF0aW9uLzEwMzE2OQ0KPiA+IAkqIGNvbmZpZy9hYXJj aDY0L2FhcmNoNjQtc2ltZC5tZA0KPiA+IChjbWw8ZmNtYWMxPjxjb25qX29wPjxtb2RlPjQpOiBV c2UNCj4gPiAJY2Fub25pY2FsIG9yZGVyLg0KPiA+IAkqIGNvbmZpZy9hYXJjaDY0L2FhcmNoNjQt c3ZlLm1kIChjbWw8ZmNtYWMxPjxjb25qX29wPjxtb2RlPjQpOg0KPiA+IExpa2V3aXNlLg0KPiA+ DQo+ID4gLS0tIGlubGluZSBjb3B5IG9mIHBhdGNoIC0tLQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBh L2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQNCj4gPiBiL2djYy9jb25maWcvYWFy Y2g2NC9hYXJjaDY0LXNpbWQubWQNCj4gPiBpbmRleA0KPiA+DQo+IGY5NWE3ZTFkOTFjOTdjOWU5 ODFkNzVlNzFmMGI0OWMwMmVmNzQ4YmEuLjllNDE2MTBmYmE4NTg2MmVmNzY3NWJlYTENCj4gPiBl NTczMWIxNGNhYjU5Y2UgMTAwNjQ0DQo+ID4gLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNo NjQtc2ltZC5tZA0KPiA+ICsrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQN Cj4gPiBAQCAtNTU2LDE3ICs1NTYsMTcgQEAgKGRlZmluZV9pbnNuDQo+ICJhYXJjaDY0X2ZjbWxh cV9sYW5lPHJvdD48bW9kZT4iDQo+ID4gIDs7IHJlbWFpbmRlci4gIEJlY2F1c2Ugb2YgdGhpcywg ZXhwYW5kIGVhcmx5Lg0KPiA+ICAoZGVmaW5lX2V4cGFuZCAiY21sPGZjbWFjMT48Y29ual9vcD48 bW9kZT40Ig0KPiA+ICAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZIU0RGIDAgInJlZ2lzdGVyX29w ZXJhbmQiKQ0KPiA+IC0JKHBsdXM6VkhTREYgKG1hdGNoX29wZXJhbmQ6VkhTREYgMSAicmVnaXN0 ZXJfb3BlcmFuZCIpDQo+ID4gLQkJICAgICh1bnNwZWM6VkhTREYgWyhtYXRjaF9vcGVyYW5kOlZI U0RGIDINCj4gPiAicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gLQkJCQkgICAobWF0Y2hfb3BlcmFu ZDpWSFNERiAzDQo+ID4gInJlZ2lzdGVyX29wZXJhbmQiKV0NCj4gPiAtCQkJCSAgIEZDTUxBX09Q KSkpXQ0KPiA+ICsJKHBsdXM6VkhTREYgKHVuc3BlYzpWSFNERiBbKG1hdGNoX29wZXJhbmQ6VkhT REYgMQ0KPiA+ICJyZWdpc3Rlcl9vcGVyYW5kIikNCj4gPiArCQkJCSAgIChtYXRjaF9vcGVyYW5k OlZIU0RGIDINCj4gPiAicmVnaXN0ZXJfb3BlcmFuZCIpXQ0KPiA+ICsJCQkJICAgRkNNTEFfT1Ap DQo+ID4gKwkJICAgIChtYXRjaF9vcGVyYW5kOlZIU0RGIDMgInJlZ2lzdGVyX29wZXJhbmQiKSkp XQ0KPiA+ICAgICJUQVJHRVRfQ09NUExFWCAmJiAhQllURVNfQklHX0VORElBTiINCj4gPiAgew0K PiA+ICAgIHJ0eCB0bXAgPSBnZW5fcmVnX3J0eCAoPE1PREU+bW9kZSk7DQo+ID4gLSAgZW1pdF9p bnNuIChnZW5fYWFyY2g2NF9mY21sYTxyb3RzcGxpdDE+PG1vZGU+ICh0bXAsIG9wZXJhbmRzWzFd LA0KPiA+IC0JCQkJCQkgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzJdKSk7DQo+ID4gKyAgZW1pdF9p bnNuIChnZW5fYWFyY2g2NF9mY21sYTxyb3RzcGxpdDE+PG1vZGU+ICh0bXAsIG9wZXJhbmRzWzNd LA0KPiA+ICsJCQkJCQkgb3BlcmFuZHNbMl0sIG9wZXJhbmRzWzFdKSk7DQo+ID4gICAgZW1pdF9p bnNuIChnZW5fYWFyY2g2NF9mY21sYTxyb3RzcGxpdDI+PG1vZGU+IChvcGVyYW5kc1swXSwgdG1w LA0KPiA+IC0JCQkJCQkgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzJdKSk7DQo+ID4gKwkJCQkJCSBv cGVyYW5kc1syXSwgb3BlcmFuZHNbMV0pKTsNCj4gPiAgICBET05FOw0KPiA+ICB9KQ0KPiA+DQo+ ID4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZA0KPiA+IGIv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1kDQo+ID4gaW5kZXgNCj4gPg0KPiA5ZWY5 Njg4NDBjMjBhMzA0OTkwMWIzZjhhOTE5Y2YyN2RlZDFkYTNlLi45ZWQxOTAxN2M0ODBiODg3Nzll OWUzYjA4DQo+ID4gYzBlMDMxYmU2MGE4YzEyIDEwMDY0NA0KPiA+IC0tLSBhL2djYy9jb25maWcv YWFyY2g2NC9hYXJjaDY0LXN2ZS5tZA0KPiA+ICsrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJj aDY0LXN2ZS5tZA0KPiA+IEBAIC03Mjc4LDExICs3Mjc4LDExIEBAIChkZWZpbmVfZXhwYW5kDQo+ ICJjbWw8ZmNtYWMxPjxjb25qX29wPjxtb2RlPjQiDQo+ID4gICAgcnR4IHRtcCA9IGdlbl9yZWdf cnR4ICg8TU9ERT5tb2RlKTsNCj4gPiAgICBlbWl0X2luc24NCj4gPiAgICAgIChnZW5fYWFyY2g2 NF9wcmVkX2ZjbWxhPHN2ZV9yb3QxPjxtb2RlPiAodG1wLCBvcGVyYW5kc1s0XSwNCj4gPiAtCQkJ CQkgICAgIG9wZXJhbmRzWzNdLCBvcGVyYW5kc1syXSwNCj4gPiAtCQkJCQkgICAgIG9wZXJhbmRz WzFdLCBvcGVyYW5kc1s1XSkpOw0KPiA+ICsJCQkJCSAgICAgb3BlcmFuZHNbMl0sIG9wZXJhbmRz WzFdLA0KPiA+ICsJCQkJCSAgICAgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzVdKSk7DQo+ID4gICAg ZW1pdF9pbnNuDQo+ID4gICAgICAoZ2VuX2FhcmNoNjRfcHJlZF9mY21sYTxzdmVfcm90Mj48bW9k ZT4gKG9wZXJhbmRzWzBdLA0KPiBvcGVyYW5kc1s0XSwNCj4gPiAtCQkJCQkgICAgIG9wZXJhbmRz WzNdLCBvcGVyYW5kc1syXSwNCj4gPiArCQkJCQkgICAgIG9wZXJhbmRzWzJdLCBvcGVyYW5kc1sx XSwNCj4gPiAgCQkJCQkgICAgIHRtcCwgb3BlcmFuZHNbNV0pKTsNCj4gPiAgICBET05FOw0KPiA+ ICB9KQ0K