From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-eopbgr120074.outbound.protection.outlook.com [40.107.12.74]) by sourceware.org (Postfix) with ESMTPS id 8A475385DC26 for ; Wed, 26 May 2021 10:45:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8A475385DC26 Received: from AM7PR03CA0009.eurprd03.prod.outlook.com (2603:10a6:20b:130::19) by PR2PR08MB4747.eurprd08.prod.outlook.com (2603:10a6:101:28::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.27; Wed, 26 May 2021 10:45:15 +0000 Received: from AM5EUR03FT038.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:130:cafe::18) by AM7PR03CA0009.outlook.office365.com (2603:10a6:20b:130::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.20 via Frontend Transport; Wed, 26 May 2021 10:45:15 +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 AM5EUR03FT038.mail.protection.outlook.com (10.152.17.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25 via Frontend Transport; Wed, 26 May 2021 10:45:14 +0000 Received: ("Tessian outbound 3c287b285c95:v92"); Wed, 26 May 2021 10:45:14 +0000 X-CR-MTA-TID: 64aa7808 Received: from 58cbf38a59db.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 7388DC39-6863-4700-A73F-0C70CB8B6C44.1; Wed, 26 May 2021 10:45:07 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 58cbf38a59db.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 26 May 2021 10:45:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ckowNDep7xbIqmYNSC1gO2djPt01AbCU4HEXSvWB1HNQS5X5jLNsIbGfV4uHZNE9BbTe0voYdclSV0oCChCV11CfJxTeG0LjlzwrnkVYxRkOwmB9d4FqBDeEAmwi6xG8M8vwLT7Gq+7PW7QagNte9rOW3cpNTExHfl1QAeL1FgriVbeIbIA5qKvQTGoV/ISbKJavwe7ZtTSXzbP0HNBuE/9J6dtAqY7SpICGxBUfG5+Y6MEZsVDwEUdEK61NnIZlWR+ekw1begFYOWquTHcJIdes/ZDdOzvoITJ2yhQ066eHhJuYEhLo8OLux2i/fJG9Zafnjzql4XyapZKPO4x47w== 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-SenderADCheck; bh=x+agSuYp7c9YBVr1HQwe/63Avl1nAyOuKC9Ld3SOJDs=; b=NGsqWS93XfBKIZa9kaBrJUKmyokW6FRZIDyLk9/Ldk2tnnVPj9Hb9sFHWhMGsZHal2/zbcDwFGnMmoB9GsWME09kg8faKsovczHh1cpRpD7yQN+9UOKoJ67b1GnoyNYIhVvi5Y9jYAHst/Ez7Lbb7lvw5lA0/18U0kHJ95VY7ZWScWOAV7tWpOzvSiI2HAnx7071C4ka+L5uWeQBzE5CxJ+0lWwSLCN+fP+t7JRzAcRLchYqmOCJkdbjz+WExW9fVjJb0POSgwj446WH7itr/Q6JpxPhByd/GbyvBn6hhrA7epKer8syq3iW/kfVf3M5uTID4HSN2aLlPDgfEt3Ctg== 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 PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by PA4PR08MB5886.eurprd08.prod.outlook.com (2603:10a6:102:e2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.26; Wed, 26 May 2021 10:45:06 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::1cc5:f02e:1637:5fc9]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::1cc5:f02e:1637:5fc9%3]) with mapi id 15.20.4173.020; Wed, 26 May 2021 10:45:06 +0000 From: Kyrylo Tkachov To: Tamar Christina , "gcc-patches@gcc.gnu.org" CC: Richard Earnshaw , nd , Ramana Radhakrishnan Subject: RE: [PATCH 3/4][AArch32]: Add support for sign differing dot-product usdot for NEON. Thread-Topic: [PATCH 3/4][AArch32]: Add support for sign differing dot-product usdot for NEON. Thread-Index: AQHXQdWrdj3Z3a1HHEey3kF6+VeNnarVKEGAgB9AoACAAAFPgIABSnYA Date: Wed, 26 May 2021 10:45:06 +0000 Message-ID: References: <20210505173923.GA20719@arm.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: DCA6818907CABF48920242097555FB06.0 x-checkrecipientchecked: true Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [86.31.103.53] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: a764252b-200c-4fd3-0952-08d920335877 x-ms-traffictypediagnostic: PA4PR08MB5886:|PR2PR08MB4747: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Wd5ptIbMwlcENAQQd5Eu5SyD64Etx2ZyAJXsuyqxLe2wSagocr/DaRE2mCHaCv6hXUy9KvWs6ov93VauwHhPxICtXcaxxuNs/B+qW/VOziNqGFwC5BQhzwvdjFRdnyhd9IK+HluT/JuREV+7+Zb9fOvpF4kvXS6InzRZUuJPPM0Yuqs6T3MLp+Tk58qCNFdpghS7WxqQmbWfMcAJPJR/SV8T8Nefxy5JtQb3Ygk7YYlV2/RasCCaAzQjCDv9UKBpV4ESuB2QPiuKDIA8wchJHKImiG0NGIvk3W+dqwyJ2QpUO62h0QdxUuzUsvfniQaXgx3JYrgbtsV5hdnmHlw3GN8SwpJhXf2cq+RQvINiwEsSinke6oEY6jVPOAcr7V6IKJFIPo5kHqm1BwVeP0gZUHTuLab/P51aYcZyA/ZuKMPYSxweEkIdS/8fFNOGlscGAnH+b+mv+tqVb1Q+k/pcVSMLXyzEHX6bmmNFhIg1+BgmsMpEwXP4+IjaVSqZdKxVz7A3jCBLHl4mpkGV4nzFyN20c1MOkUFGXfTKwysib9uBxJnFWHlvgSOPOs0hoYzRyFV6EH2xqentWcWmV3BTFLJD2B8KU7tXMUEjv1b9Kzw= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB6926.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(376002)(366004)(396003)(136003)(346002)(5660300002)(53546011)(86362001)(6506007)(71200400001)(66476007)(55016002)(66556008)(8676002)(66446008)(64756008)(66946007)(38100700002)(33656002)(26005)(4326008)(83380400001)(76116006)(52536014)(54906003)(55236004)(8936002)(2906002)(110136005)(478600001)(122000001)(9686003)(316002)(186003)(7696005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?NlU3VzhkWmlKVVNjMXJaYVpyZ1VQNTZlcFpvTVpaUUlVdEQ5MC82Q3Z2TU9s?= =?utf-8?B?azgyWVc2N3pDSUd2bFJZSHE3MzMwQ3haeTgyTFF4eVVScllQMm5PbUV1ODNK?= =?utf-8?B?WEE5YmR6TGhON2pPK2JlUXc3dkdVSzJpS0RodFNqUnFKUzlJV1k3ZE1Odngx?= =?utf-8?B?U1pxL2paUUdid3FNQUhkU2tmZmRSM0drdkhNRlpTdjM5TGNoR0NPLytGc09H?= =?utf-8?B?bjYyMElmU2RqTTJhclFWT3dIUU5DZ0RhMnVyQ1c4d041L0hVU1YrQWloRkhK?= =?utf-8?B?OTZYMmlmNnR5d3ZMOVpoZmJjSzJxTnlvcXUrSHpIT1RQRG8yL202eXR6Wm1M?= =?utf-8?B?R2F3NWZMQ0pDVm9zaUhPUzlpVHAzMXR5NEtob1V5SmE1b2svK2thTGNVbHdL?= =?utf-8?B?L0E1d1FYZnViU2pxdEVQSU1CNjIweEQyYktYNHd2WnNoWnNEVDFXM0pQMlFs?= =?utf-8?B?Q1d5UkFDSFlHelI3b2NQc0NhOUpSZHUzazB3MTdoZEhKOFZvcXVmL2d3amky?= =?utf-8?B?cG9ub2VNVHk2UWdVb0ZTN3huUFdqMmpRNy9ONkxySFRHam9yWDFRNkUwdmwv?= =?utf-8?B?eUp0bm5yTVlHWllVZUE4VDk1YklBQlBIYnd1QXlCSXJRNGR5VmZiSmpKbERU?= =?utf-8?B?K2xRVGJHd0laZXdTWHkwZzR5TDl4M1V0ZEk4KytOYUllbFR4QktWV1MwTmNh?= =?utf-8?B?dWRUYXlsWXlYbnZwT0pNcU8xVXdWc2RJZFdabUxHbGVpOWNQdFVBcjJ0MjRB?= =?utf-8?B?Zk1tTnVHVWthZHdXUFpIb2cwS3k0cmY4VExiRHZsTEkzV1lwRk9xWG4ycTJx?= =?utf-8?B?QWoyYnBudFFoaDFUcGtOaUptR3BVNHNrN0VnbW01eTc4b01pMm1PZ0s3eFdL?= =?utf-8?B?N0taam13bTJBYmpIYk9CR1BZdCtzVHVMZHdzNUpXdWs0OTVGUzh3NXlhZVFs?= =?utf-8?B?T0pBKzVTQ3dWMENtS1NtQ09sU3h2amNsMzFCK1lYRG9RczNuWVdrZUhsSmJ6?= =?utf-8?B?bjZ4SkJEUFdsZTc4aXYvUVNJL3EzNkpwRGF3UGdMYnZQT1RHVXdYeU1uRGor?= =?utf-8?B?MTFRRTYyREZqRjNPek1iSmpxaEVXMG9PSWs4Tzd3dTZ3QkZqb3dDNTJOajRO?= =?utf-8?B?MnZZWGhBNUYzeHZsTmJrSVpmMVNlUVdUMzk5SWFiWDVYc21oeCtuR01LRUlM?= =?utf-8?B?TDNQVVZFSGgyZExVemxwbXZPdm5zWGRVWkNaSVVHT2JBVWVGSmJIR3NPMW5Y?= =?utf-8?B?UnYxU2kwM0xlZVFaZEp5RjhQdmVrb1ZKdmtGeXk4M0ZHMVFzQWoyOElTcCtK?= =?utf-8?B?QTM2RnhkSThybFNvWGpNd3NFR1oyK0JHMmw3dWtGOG53dy8zcjUxcDA1VEdw?= =?utf-8?B?cnFJNEs3d2Njbmoxa0VkT2hiWGw4akFmWVdkblF1WFdWZUtTK2Y5QW5IbnpB?= =?utf-8?B?TGJ0UXpaWFV6Z2wyaXNSZWFRdGVGZ3ltVU8wNElnU2l2MGg0R01kdFVFTkx5?= =?utf-8?B?YUMvMEl5Wm9LT2lCWk9jcFpvSVR3T3R4dUtVYkl5eVVLZ2NwbWZWVW0ya05z?= =?utf-8?B?Z0hLK3RlNGw3dkdiU3JPNWJMUkl6S0FWeDIyOVl6bXNWdllRWm1KUXEwakF4?= =?utf-8?B?MVVVT05wNExHQzJjQkNteUhtbXFhd0FGSkdsQlc2RnhCTHBXcGs3OWFNZmhj?= =?utf-8?B?cHoyZlJCOXNiRWRGL3U0MXFuVUlRRFFKeVFncERsZFVGMy9JNlNHcXo4VEZk?= =?utf-8?Q?5/co+Xww2ywcEO1UwY=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5886 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT038.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 581dc64b-e899-4d32-c585-08d9203353a0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KbGZqOB3J5mg53QUUUKKKu1Xaiy09oMdTBg5xyZbZC3pPzs69gZumThP+9gh1NwGRgBoLtoSf54cCAAFo1SOyx4Oxp013E77w+3oRhEtxnmSc+te+lITx42XBsHPYV6HSaSClYHTzsJYZk49lgEkmvxHxd3s3cqXShTdAt4QKkFKs7LVOovWeFF3koUbp2Qmhe8AeY1XE/7R1uBc4dHHhL2vLbvl5DXK/5Ju2zaem/jdadE0IGkse0C1FFo+zyt1C5HiT0Ruq9RKyxhUZfNYdd7qWNhjwtQ5ahii2LcySDDc8wfbTFMSvEmpZDnbdy9MADnNVltKB8EI8yUVkRnpTLgdzvFAaA8V/xaqyG33TKo7JOmi6dBjTGpfnDAvmq6pAjBUKKaH5aWRj4Spc5bY1BJGVxFNSELodS0Zxxec+/Ei3prZjaBsvqp/H2JWvk5+Ei0U8xoZLgikwnLwkBdntVrr6sdN9nFVMadB1w8U7lImwl86NgEDBuUqc8xhR2eVgUdE7+AwHJZWxCQnk7qn1C0DdDJYSD6XyUKRiQTKGtfC60i2CYRo7KIS5/uOtQcCy3V9xyJ9mp40jjM5cJyYMyfqISsstW6Qu5q3VfIA3khyAw7WB/sGlmiACsql1mWnRW5K8iQu7kCIaRb1c3C/Aj9tq04H5eGSB4jb6JW6rfI= 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)(136003)(39860400002)(376002)(346002)(396003)(46966006)(36840700001)(70586007)(7696005)(186003)(54906003)(86362001)(26005)(316002)(55236004)(47076005)(82740400003)(33656002)(36860700001)(2906002)(55016002)(70206006)(110136005)(5660300002)(83380400001)(82310400003)(356005)(53546011)(81166007)(6506007)(336012)(478600001)(52536014)(8936002)(4326008)(8676002)(9686003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2021 10:45:14.8483 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a764252b-200c-4fd3-0952-08d920335877 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: AM5EUR03FT038.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4747 X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Wed, 26 May 2021 10:45:21 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVGFtYXIgQ2hyaXN0aW5h IDxUYW1hci5DaHJpc3RpbmFAYXJtLmNvbT4NCj4gU2VudDogMjUgTWF5IDIwMjEgMTY6MDINCj4g VG86IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+IENjOiBSaWNoYXJkIEVhcm5zaGF3IDxSaWNo YXJkLkVhcm5zaGF3QGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT47DQo+IFJhbWFuYSBSYWRoYWty aXNobmFuIDxSYW1hbmEuUmFkaGFrcmlzaG5hbkBhcm0uY29tPjsgS3lyeWxvDQo+IFRrYWNob3Yg PEt5cnlsby5Ua2FjaG92QGFybS5jb20+DQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMy80XVtBQXJj aDMyXTogQWRkIHN1cHBvcnQgZm9yIHNpZ24gZGlmZmVyaW5nIGRvdC0NCj4gcHJvZHVjdCB1c2Rv dCBmb3IgTkVPTi4NCj4gDQo+IEZvcmdvdCB0byBpbmNsdWRlIHRoZSBsaXN0DQo+IA0KPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogVGFtYXIgQ2hyaXN0aW5hDQo+ID4g U2VudDogVHVlc2RheSwgTWF5IDI1LCAyMDIxIDM6NTcgUE0NCj4gPiBUbzogVGFtYXIgQ2hyaXN0 aW5hIDxUYW1hci5DaHJpc3RpbmFAYXJtLmNvbT4NCj4gPiBDYzogUmljaGFyZCBFYXJuc2hhdyA8 UmljaGFyZC5FYXJuc2hhd0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+Ow0KPiA+IFJhbWFuYSBS YWRoYWtyaXNobmFuIDxSYW1hbmEuUmFkaGFrcmlzaG5hbkBhcm0uY29tPjsgS3lyeWxvDQo+IFRr YWNob3YNCj4gPiA8S3lyeWxvLlRrYWNob3ZAYXJtLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW1BB VENIIDMvNF1bQUFyY2gzMl06IEFkZCBzdXBwb3J0IGZvciBzaWduIGRpZmZlcmluZyBkb3QtDQo+ ID4gcHJvZHVjdCB1c2RvdCBmb3IgTkVPTi4NCj4gPg0KPiA+IEhpIEFsbCwNCj4gPg0KPiA+IFRo aXMgaXMgYSByZXNwaW4gYmFzZWQgb24gdGhlIGZlZWRiYWNrIGdvdHRlbiBmcm9tIHRoZSBBQXJj aDY0IHJldmlldy4NCj4gPg0KPiA+IEJvb3RzdHJhcHBlZCBSZWd0ZXN0ZWQgb24gYWFyY2g2NC1u b25lLWxpbnV4LWdudSBhbmQgbm8gaXNzdWVzLg0KPiA+DQo+ID4gT2sgZm9yIG1hc3Rlcj8NCj4g Pg0KDQpPay4NClRoYW5rcywNCkt5cmlsbA0KDQo+ID4gVGhhbmtzLA0KPiA+IFRhbWFyDQo+ID4N Cj4gPiBnY2MvQ2hhbmdlTG9nOg0KPiA+DQo+ID4gCSogY29uZmlnL2FybS9uZW9uLm1kICh1c2Rv dF9wcm9kPHZzaTJxaT4pOiBOZXcuDQo+ID4NCj4gPiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoN Cj4gPg0KPiA+IAkqIGdjYy50YXJnZXQvYXJtL3NpbWQvdnVzZG90LWF1dG92ZWMuYzogTmV3IHRl c3QuDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBH Y2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXMtYm91bmNlc0BnY2MuZ251Lm9yZz4gT24gQmVoYWxmIE9m DQo+ID4gVGFtYXINCj4gPiA+IENocmlzdGluYSB2aWEgR2NjLXBhdGNoZXMNCj4gPiA+IFNlbnQ6 IFdlZG5lc2RheSwgTWF5IDUsIDIwMjEgNjo0MiBQTQ0KPiA+ID4gVG86IGdjYyBQYXRjaGVzIDxn Y2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4NCj4gPiA+IENjOiBSaWNoYXJkIEVhcm5zaGF3IDxSaWNo YXJkLkVhcm5zaGF3QGFybS5jb20+OyBuZA0KPiA8bmRAYXJtLmNvbT47DQo+ID4gPiBSYW1hbmEg UmFkaGFrcmlzaG5hbiA8UmFtYW5hLlJhZGhha3Jpc2huYW5AYXJtLmNvbT4NCj4gPiA+IFN1Ympl Y3Q6IEZXOiBbUEFUQ0ggMy80XVtBQXJjaDMyXTogQWRkIHN1cHBvcnQgZm9yIHNpZ24gZGlmZmVy aW5nIGRvdC0NCj4gPiA+IHByb2R1Y3QgdXNkb3QgZm9yIE5FT04uDQo+ID4gPg0KPiA+ID4gRm9y Z290IHRvIENDIG1haW50YWluZXJzLi4NCj4gPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+ID4gRnJvbTogVGFtYXIgQ2hyaXN0aW5hIDx0YW1hci5jaHJpc3RpbmFAYXJt LmNvbT4NCj4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDUsIDIwMjEgNjozOSBQTQ0KPiA+ID4g VG86IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+ID4gPiBDYzogbmQgPG5kQGFybS5jb20+DQo+ ID4gPiBTdWJqZWN0OiBbUEFUQ0ggMy80XVtBQXJjaDMyXTogQWRkIHN1cHBvcnQgZm9yIHNpZ24g ZGlmZmVyaW5nDQo+ID4gPiBkb3QtcHJvZHVjdCB1c2RvdCBmb3IgTkVPTi4NCj4gPiA+DQo+ID4g PiBIaSBBbGwsDQo+ID4gPg0KPiA+ID4gVGhpcyBhZGRzIG9wdGFicyBpbXBsZW1lbnRpbmcgdXNk b3RfcHJvZC4NCj4gPiA+DQo+ID4gPiBUaGUgZm9sbG93aW5nIHRlc3RjYXNlOg0KPiA+ID4NCj4g PiA+ICNkZWZpbmUgTiA0ODANCj4gPiA+ICNkZWZpbmUgU0lHTkVETkVTU18xIHVuc2lnbmVkDQo+ ID4gPiAjZGVmaW5lIFNJR05FRE5FU1NfMiBzaWduZWQNCj4gPiA+ICNkZWZpbmUgU0lHTkVETkVT U18zIHNpZ25lZA0KPiA+ID4gI2RlZmluZSBTSUdORURORVNTXzQgdW5zaWduZWQNCj4gPiA+DQo+ ID4gPiBTSUdORURORVNTXzEgaW50IF9fYXR0cmlidXRlX18gKChub2lwYSkpIGYgKFNJR05FRE5F U1NfMSBpbnQgcmVzLA0KPiA+ID4gU0lHTkVETkVTU18zIGNoYXIgKnJlc3RyaWN0IGEsDQo+ID4g PiAgICBTSUdORURORVNTXzQgY2hhciAqcmVzdHJpY3QgYikNCj4gPiA+IHsNCj4gPiA+ICAgZm9y IChfX0lOVFBUUl9UWVBFX18gaSA9IDA7IGkgPCBOOyArK2kpDQo+ID4gPiAgICAgew0KPiA+ID4g ICAgICAgaW50IGF2ID0gYVtpXTsNCj4gPiA+ICAgICAgIGludCBidiA9IGJbaV07DQo+ID4gPiAg ICAgICBTSUdORURORVNTXzIgc2hvcnQgbXVsdCA9IGF2ICogYnY7DQo+ID4gPiAgICAgICByZXMg Kz0gbXVsdDsNCj4gPiA+ICAgICB9DQo+ID4gPiAgIHJldHVybiByZXM7DQo+ID4gPiB9DQo+ID4g Pg0KPiA+ID4gR2VuZXJhdGVzDQo+ID4gPg0KPiA+ID4gZjoNCj4gPiA+ICAgICAgICAgdm1vdi5p MzIgICAgICAgIHE4LCAjMCAgQCB2NHNpDQo+ID4gPiAgICAgICAgIGFkZCAgICAgcjMsIHIyLCAj NDgwDQo+ID4gPiAuTDI6DQo+ID4gPiAgICAgICAgIHZsZDEuOCAge3ExMH0sIFtyMl0hDQo+ID4g PiAgICAgICAgIHZsZDEuOCAge3E5fSwgW3IxXSENCj4gPiA+ICAgICAgICAgdnVzZG90LnM4ICAg ICAgIHE4LCBxOSwgcTEwDQo+ID4gPiAgICAgICAgIGNtcCAgICAgcjMsIHIyDQo+ID4gPiAgICAg ICAgIGJuZSAgICAgLkwyDQo+ID4gPiAgICAgICAgIHZhZGQuaTMyICAgICAgICBkMTYsIGQxNiwg ZDE3DQo+ID4gPiAgICAgICAgIHZwYWRkLmkzMiAgICAgICBkMTYsIGQxNiwgZDE2DQo+ID4gPiAg ICAgICAgIHZtb3YuMzIgcjMsIGQxNlswXQ0KPiA+ID4gICAgICAgICBhZGQgICAgIHIwLCByMCwg cjMNCj4gPiA+ICAgICAgICAgYnggICAgICBscg0KPiA+ID4NCj4gPiA+IGluc3RlYWQgb2YNCj4g PiA+DQo+ID4gPiBmOg0KPiA+ID4gICAgICAgICB2bW92LmkzMiAgICAgICAgcTgsICMwICBAIHY0 c2kNCj4gPiA+ICAgICAgICAgYWRkICAgICByMywgcjIsICM0ODANCj4gPiA+IC5MMjoNCj4gPiA+ ICAgICAgICAgdmxkMS44ICB7cTl9LCBbcjJdIQ0KPiA+ID4gICAgICAgICB2bGQxLjggIHtxMTF9 LCBbcjFdIQ0KPiA+ID4gICAgICAgICBjbXAgICAgIHIzLCByMg0KPiA+ID4gICAgICAgICB2bXVs bC5zOCBxMTAsIGQxOCwgZDIyDQo+ID4gPiAgICAgICAgIHZtdWxsLnM4IHE5LCBkMTksIGQyMw0K PiA+ID4gICAgICAgICB2YWRkdy5zMTYgICAgICAgcTgsIHE4LCBkMjANCj4gPiA+ICAgICAgICAg dmFkZHcuczE2ICAgICAgIHE4LCBxOCwgZDIxDQo+ID4gPiAgICAgICAgIHZhZGR3LnMxNiAgICAg ICBxOCwgcTgsIGQxOA0KPiA+ID4gICAgICAgICB2YWRkdy5zMTYgICAgICAgcTgsIHE4LCBkMTkN Cj4gPiA+ICAgICAgICAgYm5lICAgICAuTDINCj4gPiA+ICAgICAgICAgdmFkZC5pMzIgICAgICAg IGQxNiwgZDE2LCBkMTcNCj4gPiA+ICAgICAgICAgdnBhZGQuaTMyICAgICAgIGQxNiwgZDE2LCBk MTYNCj4gPiA+ICAgICAgICAgdm1vdi4zMiByMywgZDE2WzBdDQo+ID4gPiAgICAgICAgIGFkZCAg ICAgcjAsIHIwLCByMw0KPiA+ID4gICAgICAgICBieCAgICAgIGxyDQo+ID4gPg0KPiA+ID4gRm9y IE5FT04uICBJIGNvdWxkbid0IGZpZ3VyZSBvdXQgaWYgdGhlIE1WRSBpbnN0cnVjdGlvbiB2bWxh bGRhdi5zMTYNCj4gPiA+IGNvdWxkIGJlIHVzZWQgdG8gZW11bGF0ZSB0aGlzLiAgQmVjYXVzZSBp dCB3b3VsZCByZXF1aXJlIGFkZGl0aW9uYWwNCj4gPiA+IHdpZGVuaW5nIHRvIHdvcmsgSSBsZWZ0 IE1WRSBvdXQgb2YgdGhpcyBwYXRjaCBzZXQgYnV0IHBlcmhhcHMgc29tZW9uZQ0KPiA+IHNob3Vs ZCB0YWtlIGEgbG9vay4NCj4gPiA+DQo+ID4gPiBCb290c3RyYXBwZWQgUmVndGVzdGVkIG9uIGFh cmNoNjQtbm9uZS1saW51eC1nbnUgYW5kIG5vIGlzc3Vlcy4NCj4gPiA+DQo+ID4gPiBPayBmb3Ig bWFzdGVyPw0KPiA+ID4NCj4gPiA+IFRoYW5rcywNCj4gPiA+IFRhbWFyDQo+ID4gPg0KPiA+ID4g Z2NjL0NoYW5nZUxvZzoNCj4gPiA+DQo+ID4gPiAJKiBjb25maWcvYXJtL25lb24ubWQgKHVzZG90 X3Byb2Q8dnNpMnFpPik6IE5ldy4NCj4gPiA+DQo+ID4gPiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxv ZzoNCj4gPiA+DQo+ID4gPiAJKiBnY2MudGFyZ2V0L2FybS9zaW1kL3Z1c2RvdC1hdXRvdmVjLmM6 IE5ldyB0ZXN0Lg0KPiA+ID4NCj4gPiA+IC0tLSBpbmxpbmUgY29weSBvZiBwYXRjaCAtLQ0KPiA+ ID4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL25lb24ubWQgYi9nY2MvY29uZmlnL2FybS9u ZW9uLm1kIGluZGV4DQo+ID4gPg0KPiA+DQo+IGZlYzJjYzkxZDI0YjZlZmY3YjZmYzhmZGQ1NGYz OWIzZDY0NmM0NjguLjIzYWQ0MTExNzhkYjc3YzVkMTliZWU3NA0KPiA1Mg0KPiA+ID4gYmMxMDcw MzMxYzFhYTAgMTAwNjQ0DQo+ID4gPiAtLS0gYS9nY2MvY29uZmlnL2FybS9uZW9uLm1kDQo+ID4g PiArKysgYi9nY2MvY29uZmlnL2FybS9uZW9uLm1kDQo+ID4gPiBAQCAtMzA3NSw2ICszMDc1LDI0 IEBAIChkZWZpbmVfZXhwYW5kICI8c3VwPmRvdF9wcm9kPHZzaTJxaT4iDQo+ID4gPiAgICBET05F Ow0KPiA+ID4gIH0pDQo+ID4gPg0KPiA+ID4gKzs7IEF1dG8tdmVjdG9yaXplciBwYXR0ZXJuIGZv ciB1c2RvdA0KPiA+ID4gKyhkZWZpbmVfZXhwYW5kICJ1c2RvdF9wcm9kPHZzaTJxaT4iDQo+ID4g PiArICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWQ1ZUSSAwICJyZWdpc3Rlcl9vcGVyYW5kIikNCj4g PiA+ICsJKHBsdXM6VkNWVEkgKHVuc3BlYzpWQ1ZUSSBbKG1hdGNoX29wZXJhbmQ6PFZTSTJRST4g MQ0KPiA+ID4gKwkJCQkJCQkicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gPiArCQkJCSAgIChtYXRj aF9vcGVyYW5kOjxWU0kyUUk+IDINCj4gPiA+ICsJCQkJCQkJInJlZ2lzdGVyX29wZXJhbmQiKV0N Cj4gPiA+ICsJCSAgICAgVU5TUEVDX0RPVF9VUykNCj4gPiA+ICsJCSAgICAobWF0Y2hfb3BlcmFu ZDpWQ1ZUSSAzICJyZWdpc3Rlcl9vcGVyYW5kIikpKV0NCj4gPiA+ICsgICJUQVJHRVRfSThNTSIN Cj4gPiA+ICt7DQo+ID4gPiArICBlbWl0X2luc24gKA0KPiA+ID4gKyAgICBnZW5fbmVvbl91c2Rv dDx2c2kycWk+IChvcGVyYW5kc1szXSwgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzFdLA0KPiA+ID4g KwkJCSAgICBvcGVyYW5kc1syXSkpOw0KPiA+ID4gKyAgZW1pdF9pbnNuIChnZW5fcnR4X1NFVCAo b3BlcmFuZHNbMF0sIG9wZXJhbmRzWzNdKSk7DQo+ID4gPiArICBET05FOw0KPiA+ID4gK30pDQo+ ID4gPiArDQo+ID4gPiAgKGRlZmluZV9leHBhbmQgIm5lb25fY29weXNpZ25mPG1vZGU+Ig0KPiA+ ID4gICAgWyhtYXRjaF9vcGVyYW5kOlZDVlRGIDAgInJlZ2lzdGVyX29wZXJhbmQiKQ0KPiA+ID4g ICAgIChtYXRjaF9vcGVyYW5kOlZDVlRGIDEgInJlZ2lzdGVyX29wZXJhbmQiKSBkaWZmIC0tZ2l0 DQo+ID4gPiBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vc2ltZC92dXNkb3QtYXV0b3Zl Yy5jDQo+ID4gPiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vc2ltZC92dXNkb3QtYXV0 b3ZlYy5jDQo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gaW5kZXgNCj4gPiA+DQo+ ID4NCj4gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2NjNTZmNjg4 MTdkNzdkNjk1MGRmMA0KPiBhYjM3DQo+ID4gPiAyZDZmYmFhZDZiMzgxMw0KPiA+ID4gLS0tIC9k ZXYvbnVsbA0KPiA+ID4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9zaW1kL3Z1 c2RvdC1hdXRvdmVjLmMNCj4gPiA+IEBAIC0wLDAgKzEsMzggQEANCj4gPiA+ICsvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLw0KPiA+ID4gKy8qIHsgZGctb3B0aW9ucyAiLU8zIC1tYXJjaD1hcm12OC4y LWEraThtbSIgfSAqLw0KPiA+ID4gKw0KPiA+ID4gKyNkZWZpbmUgTiA0ODANCj4gPiA+ICsjZGVm aW5lIFNJR05FRE5FU1NfMSB1bnNpZ25lZA0KPiA+ID4gKyNkZWZpbmUgU0lHTkVETkVTU18yIHNp Z25lZA0KPiA+ID4gKyNkZWZpbmUgU0lHTkVETkVTU18zIHNpZ25lZA0KPiA+ID4gKyNkZWZpbmUg U0lHTkVETkVTU180IHVuc2lnbmVkDQo+ID4gPiArDQo+ID4gPiArU0lHTkVETkVTU18xIGludCBf X2F0dHJpYnV0ZV9fICgobm9pcGEpKSBmIChTSUdORURORVNTXzEgaW50IHJlcywNCj4gPiA+ICtT SUdORURORVNTXzMgY2hhciAqcmVzdHJpY3QgYSwNCj4gPiA+ICsgICBTSUdORURORVNTXzQgY2hh ciAqcmVzdHJpY3QgYikNCj4gPiA+ICt7DQo+ID4gPiArICBmb3IgKF9fSU5UUFRSX1RZUEVfXyBp ID0gMDsgaSA8IE47ICsraSkNCj4gPiA+ICsgICAgew0KPiA+ID4gKyAgICAgIGludCBhdiA9IGFb aV07DQo+ID4gPiArICAgICAgaW50IGJ2ID0gYltpXTsNCj4gPiA+ICsgICAgICBTSUdORURORVNT XzIgc2hvcnQgbXVsdCA9IGF2ICogYnY7DQo+ID4gPiArICAgICAgcmVzICs9IG11bHQ7DQo+ID4g PiArICAgIH0NCj4gPiA+ICsgIHJldHVybiByZXM7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4g K1NJR05FRE5FU1NfMSBpbnQgX19hdHRyaWJ1dGVfXyAoKG5vaXBhKSkgZyAoU0lHTkVETkVTU18x IGludCByZXMsDQo+ID4gPiArU0lHTkVETkVTU18zIGNoYXIgKnJlc3RyaWN0IGIsDQo+ID4gPiAr ICAgU0lHTkVETkVTU180IGNoYXIgKnJlc3RyaWN0IGEpDQo+ID4gPiArew0KPiA+ID4gKyAgZm9y IChfX0lOVFBUUl9UWVBFX18gaSA9IDA7IGkgPCBOOyArK2kpDQo+ID4gPiArICAgIHsNCj4gPiA+ ICsgICAgICBpbnQgYXYgPSBhW2ldOw0KPiA+ID4gKyAgICAgIGludCBidiA9IGJbaV07DQo+ID4g PiArICAgICAgU0lHTkVETkVTU18yIHNob3J0IG11bHQgPSBhdiAqIGJ2Ow0KPiA+ID4gKyAgICAg IHJlcyArPSBtdWx0Ow0KPiA+ID4gKyAgICB9DQo+ID4gPiArICByZXR1cm4gcmVzOw0KPiA+ID4g K30NCj4gPiA+ICsNCj4gPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3Z1c2RvdC5zOH0gMiB7IHRhcmdldCB7DQo+ID4gPiArYXJtLSotKi1nbnVlYWJpaGYgfSB9IH0g fSAqLw0KPiA+ID4NCj4gPiA+DQo+ID4gPiAtLQ0KDQo=