From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by sourceware.org (Postfix) with ESMTPS id E59093870899 for ; Thu, 13 Jun 2024 01:51:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E59093870899 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=quicinc.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E59093870899 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.168.131 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1718243494; cv=pass; b=DInUW5ZI761Wrt27qewhaRT3Opjc+kNVB2nx+bUBLol+9xgM7YeM+wi/iWSFbfK1t4H1wLGHfM/oE/49j7vKKxRKYuZYTxflwF5JWPiC3u4zPnEYLMbRYy1u5kfwQNzFd1v8wiHzVvBBNbxQrpCCYopAoEX8LinDQS6TFb7YTRc= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1718243494; c=relaxed/simple; bh=w3yZxVAZWOf+umJQyNe1r58nuAexEmld52EfTDoe5RM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=QUaVBP04g1xcljgxzC+3Cz9Mfwtfiza7gN7rv4ErU1YeumbGFenSCA3bzNKwNhLjka6o6YGPrKUaWFCyVtkBsQvREqp4/fhi8yc5dMXXxkDYBZ0H6aWdPlWdsNs87JzSErXLcC3u/NejkYl0VudteEw9ewffkGrI6gdbXIwaKNE= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45CKo1V0003136; Thu, 13 Jun 2024 01:51:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= w3yZxVAZWOf+umJQyNe1r58nuAexEmld52EfTDoe5RM=; b=e8pwe6kx+tm3WQ4e yK7NJKSHyzGXxzaft2BrKVKeRPwCtNn6lCHMmTZoqrUHsdHz0cCCF5Kfzjlq3Ayq xCyqvNTibLScAyBRrq3xiA6kv2aDvmoCFVuaE/6WmZ13RhvJj5Oy4ep7HTSW4dH7 ctHLzs5BAtzesr3NcDbHpA/MGxOE16EUuioZCNPVP+4nxPB51lqJPuterzE6GtTJ 8c5cUFucPRodp/NQSMMnBUjeNtA9hQ0bdgmhtxVfvW1zJ2260SfmBEnlWaimYiLo pDetFm0VSFw5Er71lL51lfG+Xx8aejTXS8STPrdlP+MJTUvQpiMSIAmgvKddI83L l/yRlQ== Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2171.outbound.protection.outlook.com [104.47.55.171]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3ypp87w2m5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Jun 2024 01:51:26 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ocIN8CeuuIyr6D+dqznmxKOd2jtyRqLNq81pai/9eHj58cLtXLoYZr5yOkUSGVah60s7yFT7oNSWpV8Dwe7dwuZL10Gnjwl1JLSwKM4dsvdWInJ0AMyNqoABXvZmAQN/VyZ6YHAJTXwvLn4ngDXeFjkWSuXLCGUMMU+0UqyNETS504qCsSB92OqFFx0LxZBB3tttfkITJVbUGJCBvIK1oZMnOsvagzWPjM7B6t+WrzlRVI0ju5jyzTGt+8FdrCL7ufAPbvRxbXnTdAm5eMaytYfvk5Dy2n4CQL0ycc8gJBX9EtdYR6chLdL5vD8rMgzskHedILAJB4RXHnY62Pr4ow== 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=w3yZxVAZWOf+umJQyNe1r58nuAexEmld52EfTDoe5RM=; b=ZFskL0FDPBrurjjLno+ebIB/qhP8Z3n+DrhyVwew2JmVf/+Wp1hC7o49vHsw6flr29tKZrzx6leA5dR7kJjtdc/zxG6awVKZ6I7pP/qGqnoE0v5UDz+wNcVxF/HSptHFLjFdm1SMDt7USl5R1iEod7mqXrxWTqzC/BtwGHA1WlFnNb1jsHMdtH3XedYDJ1O1V4liJaz8h6ViOIH1A5owy2i0xQgeWgtnfSHw7QhMiQ3TNYx2j2hn8SoBdDYQC2LxscvfH91LcqGyZxcwoPuPdkWiykxzFPhLst/nzNNJRuO3t9JaxLosN+LxdUoW40luOVK3QYLjPr1rMkZ5BetDLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=quicinc.com; dmarc=pass action=none header.from=quicinc.com; dkim=pass header.d=quicinc.com; arc=none Received: from BYAPR02MB4821.namprd02.prod.outlook.com (2603:10b6:a03:4c::14) by CH3PR02MB9492.namprd02.prod.outlook.com (2603:10b6:610:123::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.20; Thu, 13 Jun 2024 01:51:23 +0000 Received: from BYAPR02MB4821.namprd02.prod.outlook.com ([fe80::69f7:43b0:1b14:e9e7]) by BYAPR02MB4821.namprd02.prod.outlook.com ([fe80::69f7:43b0:1b14:e9e7%6]) with mapi id 15.20.7677.019; Thu, 13 Jun 2024 01:51:22 +0000 From: "Pengxuan Zheng (QUIC)" To: Richard Sandiford , "Pengxuan Zheng (QUIC)" CC: "gcc-patches@gcc.gnu.org" , "Andrew Pinski (QUIC)" Subject: RE: [PATCH] aarch64: Add vector popcount besides QImode [PR113859] Thread-Topic: [PATCH] aarch64: Add vector popcount besides QImode [PR113859] Thread-Index: AQHam18EgrVN0y1T7UOQaSto+2qyqbHESAB2gADnpMA= Date: Thu, 13 Jun 2024 01:51:22 +0000 Message-ID: References: <20240501003143.5323-1-quic_pzheng@quicinc.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR02MB4821:EE_|CH3PR02MB9492:EE_ x-ms-office365-filtering-correlation-id: c7ebde9d-b3c6-4ec5-b99b-08dc8b4b53b2 x-ld-processed: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230034|376008|1800799018|366010|38070700012; x-microsoft-antispam-message-info: =?utf-8?B?NWZIZ1ZLWEFvUmdhSDU4Skd5SGxTbGxadHd0Q3UwUGNMZ3VJRkFwSUJkVWhw?= =?utf-8?B?R1h6eUZUQmZKNVNHbTliaDZrOE1ZSlVreHJIc0xEOEpSL1RMdEwxWEhKVU1B?= =?utf-8?B?RFVRdFpsMWNUa2lGNE1iMjYyMitlWVVaaWk2QkZ1Ujdmd09EUWVwZHQ4NU9h?= =?utf-8?B?RTlYeGNFWjJxVWp5OTBIQTllZWdxRDlFTTQrMFVTb01VZjIxMWNuYjV6MGtj?= =?utf-8?B?QjhaZ1FIb08xTWZqcURETk5pN2NHT0dlNzJ4YmtmelRXdExNNzZCNWpzM0pJ?= =?utf-8?B?VnQvMnlKTUl2dnZRUFdpb0Ywd3YvclhvUnZPN3Z6V08ySk5sN0NjaTVuNUUx?= =?utf-8?B?cFM4R0IraXB0STJ1bHFsMnIrVmJrdG9wdCtKUElFaExpZ3Z5NlVGOXZhK1Fj?= =?utf-8?B?R0RXYmJtVldQUTBSU3RSdWZGM2lNdXNFTGhYUTA2Q1VGaXBRRzFtY0xVcVRS?= =?utf-8?B?cy8yM0pXZXVGUmdxMHc1dElpS3V1Ky91R3FtMktOUnowVGxEMCtnbGRDbGpD?= =?utf-8?B?WERFbEFzVFgxWkRtRW1XZTltWDI3amJMNFNXVUJwUTJrelo1ZkViRjUyUTFz?= =?utf-8?B?YUM3YTdORWxDZjBqUGpzRGkyTHBmdEVnTjZ0djJFKzYyZTIxYzhuMDlaa1da?= =?utf-8?B?alc3YnYxbkRuK2VnTTZ3K2pITU9ZdjJiSlliUlI2ai9DQ2thSGhtRzZhM2lh?= =?utf-8?B?b1RORmFVKzB6aWplVEtJMnI0bHJJRXc0bGVuUXI0TjFkWFd5Wk05L0RjREUw?= =?utf-8?B?b2xwRklTVFloWGRaWnQvUmt1VlE1WEJXV25XY0l5T1ByVWs2VnRyc1E2ZCsv?= =?utf-8?B?M2xnZFlOTUtUQ1dZU3ZtZm1FUmNiZDBSWjA0K3B3Z2pRd1NKd0IrcW1IMmxN?= =?utf-8?B?L2xrNVdtWk83U3NHZXluanA3N0h1MGVmUkxCUmFiVjZIa05LRFZrbjlMbWIr?= =?utf-8?B?STRnVmtULzA0WDhjYmZXY1YySUxwbUNxSXp3SDhlVGRxelpFWWY5Q2ZkVFg3?= =?utf-8?B?ZE5ZNi9ZNFBtK0d5cjY0azRYMjlDWmlFRWNaSVcySFZpVGpjTHVLQjJuSFV4?= =?utf-8?B?VEp6S0xzajJRT3l5WmdGVUF6b1RBZkJEVStKUmtSOW5WelRGZlNaTVNGK2Yw?= =?utf-8?B?UnAwcGZrUUVZYlBNK2RIa2ZSOXlHc2NFOTBiZE1ub1R2YWNRTVJxT1RBUVdF?= =?utf-8?B?bXBSUUc1WkxlSjVnL0NMTVJNWm5oYTgxUDFhamNPK3VsSFNlMWQyZmd3UVlp?= =?utf-8?B?ai9ibS95WHZNUlZpNWgyUHlPOWdvcTdNMlhrZDEza292d0JVZGp5OTBiczdz?= =?utf-8?B?bHBsaU5zMWF6aE84SmtFKzlwOTczRUZaTFg1MjcyRUJFdVBtMVpMbUdTeUJy?= =?utf-8?B?MStaMlIwT2R3WElnTmpvQ2pBOUtseEF1TjFHZG11SlpuTmUvbmlPNUhGOUlQ?= =?utf-8?B?cUNnTkJ3RkpGTlJEWjdrRFNDVU1lNzh0VjRqVzU3S1hSeWUzY0Q1QnZtVmpG?= =?utf-8?B?SlFOMmFmTVBseEt3SGttU0NvWVA3WGFDYnBGZkZZQTJRVFMxWHRHYnFKQlFP?= =?utf-8?B?RnBVbm11S2NlMkMxSFNjWEtTaFoyUERzWWwwcXMrczBwWVZhUGxLQlpUaDFX?= =?utf-8?B?VzFTbnpmRTF6K2t3R05lYkFQMzlCTmVFOHZwenV5MEhYdG4zRkt2MGpyUEQ0?= =?utf-8?B?cFRVUjJXckRsSFVjeWg2Wmc4UTc1dnhsN0prdVZKTW45dE1QaHZEelJNVG1G?= =?utf-8?Q?jC1txyB6t3BAmqtbsR9xORvDKxQutxPUEbjETjm?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR02MB4821.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230034)(376008)(1800799018)(366010)(38070700012);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S0FTRDhHMkx3bklLNmJiMCsxUVRrR2tDRmQ1cTJYVCtvWm1xZS8xeHI2OS9U?= =?utf-8?B?RkdoWWUwNzF0QjNxR1MwTmlLKzhuQU56R1BIRGxSSTk1UTJya2Z4djlxejdC?= =?utf-8?B?KzFhQ1l6TmptOXZHanhEQnpqYW1nYXBwL2ZnWDYyRytsMG5rWWJGdWRVSXhH?= =?utf-8?B?M0ZKZmxOeXRuVjBxQjRNWnhVS2s2cnMzczgvcmNVMERwRFJVYnY3TEk1cHlO?= =?utf-8?B?ZFVSK1dHT29QS0lRRlJxYzhuTVEzNURXRHhYaFR5QnRhdGUzTGowRU5BSU00?= =?utf-8?B?aklwdDc0Ylo3YW1hT0VoZVVSMXlKWTkxcGlRKzNuUktPQmlpdndCT2VYMDBj?= =?utf-8?B?QjFVMjVMN09BTVB6VnA5TjhUamQyWnc4U1RudHdqMTAzdk0xRWxYalBkeGVV?= =?utf-8?B?SXlZNHJrZXdad0JVRkxNMk1NOVI5eHBDN3FoT3RFZ2VIVWF0VngrRndUVi8r?= =?utf-8?B?ZHkzTElUM0tURG12ZWVQVEw2ZW1wN29BK3RhYzNNdU5EeTBBcnNlcXFTaTdV?= =?utf-8?B?cFZDS3hpZmdWM2pSZ2kxZTZUZTJqOHl1VmdTYjM3UjRZSDhhZ1l1NjMwOFE0?= =?utf-8?B?U2orcFRNdHQzbFBKTjl2WkNra2lDRTMrRzZmdkMwVWc1VVFUNVJnejEwNFZu?= =?utf-8?B?SGJYSmhtcXBFSFVZYVYrZm10UHlyQ0J5YUZZckk1QnhraDd4MUpsRHVzeFJQ?= =?utf-8?B?dHlCQldLQVdmNktOTFVySzlKZmg0ZUxyWXhKQW96UWRSUU1iaGJGTmRjYjJX?= =?utf-8?B?Y0daVGVXTWFVODByUmZKWk5hRDA2ck9ZMzhWZUZFNFRtUmZoQjdrWnd4OERW?= =?utf-8?B?Z2tpaEtmc0FCWUFieUNJc2ViRFlVdFhzaSsvTHF6SzVLT1BjNjNmS29JZklG?= =?utf-8?B?VG5mT08yc1NNcmtITWM1MkloWEdDaHRRSDBwZ1FtOExnSVBXa2VvaU15Rmg5?= =?utf-8?B?SXhNMlNpekVUU0VTOEMzMzJqQ1dMelVWY2toeGk2L20ydnEzZy9tS0pzd0x3?= =?utf-8?B?d2UycGI5WmVvOEpiSXZqNk50eXNVWnYrWStVZmozd3dJZjRQZmhnNWNNaXJ6?= =?utf-8?B?QnlXNmFlTHk0UVFRMFZUM2drb1V3QnJSd2RDUDMrNGl1VVgzQURXcnhCbHJo?= =?utf-8?B?clNSVy9zR2t0TGhiOUh0ektIOWduaTNNdzRaSDd1a2xBbXRRcnphYStPSGNO?= =?utf-8?B?bFNTQ0hoQm44ZmZKVHlVV0U2M3JIaWNvQlNMY0ZVeHFWbmxpZHhPWXVlK2My?= =?utf-8?B?ZzkvODRJc1R5bkRmYUVPbkZiRnpCS1duRVpITjlrOXAvRjZ3cjFqbTVQYmxk?= =?utf-8?B?aThpNG1sY1RwYm5OYjc3S1QwVWJOSXVMb0tiK0pxS1JKZ3FxcXlIdlN3d2Fj?= =?utf-8?B?M0JneU53YmZJSFVjcHRTdkpqbDZyYTdXaEQ4Vmw2SGthYUZZcEh1cFVSM1Vz?= =?utf-8?B?ZzVidmRVN2c5V0JmODhkMG8reXBSQmMzMkszWVNsdzMzSmRKZkppSUFHd0Fk?= =?utf-8?B?U0d0RmJtdHJCMndEZHM4MXU5SE5wRmtZQ1ZkUEU0R0hJeFZVNWlpWUlPNm1W?= =?utf-8?B?OHZaZW1zS01FSlY3Q3lrQ29iaGh4VlpuTENwRDM5bkxzSFdQM3l1cG1lMFJo?= =?utf-8?B?Vk5uQU5yT3E5SU5rSkxjTUxBSFc2V21nbHB1WnU0eEVCRjlua0xkQzRNeU84?= =?utf-8?B?YTJyaFYrODNsL2tGaEF2TmhiR2IzVXpZdy82MjRrVzNManpic3kyK1orVG1y?= =?utf-8?B?V0xVbnZCQzRzQS9HUWhXL29QUGpKR3h0dGFGdHVLNEt2VGN0RnJlUFZ6MEFH?= =?utf-8?B?cTFLRnZRRVNxRW1CaGRHN2F6YU9pdjNYbkVsdVVIcGszeUNLV3V4dGVsUzlu?= =?utf-8?B?ZmQyV2dGVjk4TTJZblByVFdrY2RldGhlVTdJNTJPNkJacjIyVFp5eHpGM0hz?= =?utf-8?B?Y09FKzFmdERoTW9SWkZhbnBnaEdNQ1Y5WUlLeXU5QW40Sjh6VlFPMmJIUE9j?= =?utf-8?B?WHFFN1pZSlY2ZStZWWpCeFdVWFF5QjF1Ui9KVGg3aG4vMjZEZUZWTU5rWWNM?= =?utf-8?B?aDF2V0VFMU1SVzBBK0RwUjFhREdQNmVObzg0ZmxXMWNsY3JzZ3IwV05RQnF1?= =?utf-8?Q?a5G8=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: wKXH7T4dqjLw1bknXNlDAob5505mC5IYXj8dgMiIRBytBAiXClVmzwbxQ1qDxOkHFM26bw9moR+aoqmjVz3q0FZOYEWRQNN0cCVpHN2/fc3DPhyo5hDWHsWArp0QkW3wtDh3ko9JnIguYlYHL3LTMu9EMsIep0ld6AVYRomPloWnbm8jh9Vx8CpcXUCU0YJ3f9sZZpYxkJUnMMs5ruEW/7WmqvDdT7OOoL8FPt8fLaL/6TSWc2ou+kwl4GNdvbkwMF+9OhOvMEbpOhhC97ynW+aZBasUHKzHBvgCibIvOS2sm9UbQ0WyeQMtvpYwHx9XG19BlEW1soZr9crCk99zACcwexB8OR+EdkRYKWEJJBgXIZd79J4iGM0PN3dxl5khCzyQ9N2oJNhpY4i7EfWgElGbJH2roJv/QRMwHpMIR4Ele5D5M+YsIdkRbZt+JI5zj1guGj46QuS0tVr7+42R0SPObHCfJD6Q7zdvO8rFR4YA2Bf1dptwXmJFzRtyOEkw5QfVSBwF7qGgU7THgv/Ugef4wFlEk+WZlo+p4NyL5+N45oMQAprsTVvA2V55ubXKNhy0XBDs4TmtFgIGKILQbkTt+OgjAmKGI4tqRrcKdeq6pWPJYI1/NbNyioz9kksS X-OriginatorOrg: quicinc.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR02MB4821.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c7ebde9d-b3c6-4ec5-b99b-08dc8b4b53b2 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2024 01:51:22.2703 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yGK1enOTBrUWHSDTiLdNKA/15AdfNHxyPt5c/pgjmoHYo+OeqZ6Vne2+cvrn1b4F6tE6sCVNIz+D5IO+VP4t3A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR02MB9492 X-Proofpoint-GUID: WU9DmbrI0M2cmWX70FgxSkdvuJ52nW0k X-Proofpoint-ORIG-GUID: WU9DmbrI0M2cmWX70FgxSkdvuJ52nW0k X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-06-12_12,2024-06-12_02,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 spamscore=0 suspectscore=0 mlxlogscore=999 priorityscore=1501 adultscore=0 bulkscore=0 mlxscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405170001 definitions=main-2406130010 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: PiBQZW5neHVhbiBaaGVuZyA8cXVpY19wemhlbmdAcXVpY2luYy5jb20+IHdyaXRlczoNCj4gPiBU aGlzIHBhdGNoIGltcHJvdmVzIEdDQ+KAmXMgdmVjdG9yaXphdGlvbiBvZiBfX2J1aWx0aW5fcG9w Y291bnQgZm9yDQo+ID4gYWFyY2g2NCB0YXJnZXQgYnkgYWRkaW5nIHBvcGNvdW50IHBhdHRlcm5z IGZvciB2ZWN0b3IgbW9kZXMgYmVzaWRlcw0KPiA+IFFJbW9kZSwgaS5lLiwgSEltb2RlLCBTSW1v ZGUgYW5kIERJbW9kZS4NCj4gPg0KPiA+IFdpdGggdGhpcyBwYXRjaCwgd2Ugbm93IGdlbmVyYXRl IHRoZSBmb2xsb3dpbmcgZm9yIEhJbW9kZToNCj4gPiAgIGNudCAgICAgdjEuMTZiLCB2LjE2Yg0K PiA+ICAgdWFkZGxwICB2Mi44aCwgdjEuMTZiDQo+ID4NCj4gPiBGb3IgU0ltb2RlLCB3ZSBnZW5l cmF0ZToNCj4gPiAgIGNudCAgICAgdjEuMTZiLCB2LjE2Yg0KPiA+ICAgdWFkZGxwICB2Mi44aCwg djEuMTZiDQo+ID4gICB1YWRkbHAgIHYzLjRzLCB2Mi44aA0KPiA+DQo+ID4gRm9yIFYyREksIHdl IGdlbmVyYXRlOg0KPiA+ICAgY250ICAgICB2MS4xNmIsIHYuMTZiDQo+ID4gICB1YWRkbHAgIHYy LjhoLCB2MS4xNmINCj4gPiAgIHVhZGRscCAgdjMuNHMsIHYyLjhoDQo+ID4gICB1YWRkbHAgIHY0 LjJkLCB2My40cw0KPiA+DQo+ID4gZ2NjL0NoYW5nZUxvZzoNCj4gPg0KPiA+IAlQUiB0YXJnZXQv MTEzODU5DQo+ID4gCSogY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kIChwb3Bjb3VudDxt b2RlPjIpOiBOZXcNCj4gZGVmaW5lX2V4cGFuZC4NCj4gPg0KPiA+IGdjYy90ZXN0c3VpdGUvQ2hh bmdlTG9nOg0KPiA+DQo+ID4gCVBSIHRhcmdldC8xMTM4NTkNCj4gPiAJKiBnY2MudGFyZ2V0L2Fh cmNoNjQvcG9wY250LXZlYy5jOiBOZXcgdGVzdC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFBl bmd4dWFuIFpoZW5nIDxxdWljX3B6aGVuZ0BxdWljaW5jLmNvbT4NCj4gPiAtLS0NCj4gPiAgZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZCAgICAgICAgICAgIHwgNDAgKysrKysrKysr KysrKysrKw0KPiA+ICBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9wb3BjbnQtdmVj LmMgfCA0OA0KPiA+ICsrKysrKysrKysrKysrKysrKysNCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA4 OCBpbnNlcnRpb25zKCspDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9wb3BjbnQtdmVjLmMNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9nY2Mv Y29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kDQo+ID4gYi9nY2MvY29uZmlnL2FhcmNoNjQv YWFyY2g2NC1zaW1kLm1kDQo+ID4gaW5kZXggZjhiYjk3M2EyNzguLjA5M2MzMmVlOGZmIDEwMDY0 NA0KPiA+IC0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQNCj4gPiArKysg Yi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kDQo+ID4gQEAgLTM1NDAsNiArMzU0 MCw0NiBAQCAoZGVmaW5lX2luc24NCj4gInBvcGNvdW50PG1vZGU+Mjx2Y3psZT48dmN6YmU+Ig0K PiA+ICAgIFsoc2V0X2F0dHIgInR5cGUiICJuZW9uX2NudDxxPiIpXQ0KPiA+ICApDQo+ID4NCj4g PiArKGRlZmluZV9leHBhbmQgInBvcGNvdW50PG1vZGU+MiINCj4gPiArICBbKHNldCAobWF0Y2hf b3BlcmFuZDpWUU4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13IikNCj4gPiArICAgICAgICAocG9w Y291bnQ6VlFOIChtYXRjaF9vcGVyYW5kOlZRTiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAidyIpKSld DQo+ID4gKyAgIlRBUkdFVF9TSU1EIg0KPiA+ICsgIHsNCj4gPiArICAgIHJ0eCB2ID0gZ2VuX3Jl Z19ydHggKFYxNlFJbW9kZSk7DQo+ID4gKyAgICBydHggdjEgPSBnZW5fcmVnX3J0eCAoVjE2UUlt b2RlKTsNCj4gPiArICAgIGVtaXRfbW92ZV9pbnNuICh2LCBnZW5fbG93cGFydCAoVjE2UUltb2Rl LCBvcGVyYW5kc1sxXSkpOw0KPiA+ICsgICAgZW1pdF9pbnNuIChnZW5fcG9wY291bnR2MTZxaTIg KHYxLCB2KSk7DQo+ID4gKyAgICBpZiAoPE1PREU+bW9kZSA9PSBWOEhJbW9kZSkNCj4gPiArICAg ICAgew0KPiA+ICsgICAgICAgIC8qIEZvciBWOEhJLCB3ZSBnZW5lcmF0ZToNCj4gPiArICAgICAg ICAgICAgY250ICAgICB2MS4xNmIsIHYuMTZiDQo+ID4gKyAgICAgICAgICAgIHVhZGRscCAgdjIu OGgsIHYxLjE2YiAqLw0KPiA+ICsgICAgICAgIGVtaXRfaW5zbiAoZ2VuX2FhcmNoNjRfdWFkZGxw djE2cWkgKG9wZXJhbmRzWzBdLCB2MSkpOw0KPiA+ICsgICAgICAgIERPTkU7DQo+ID4gKyAgICAg IH0NCj4gPiArICAgIHJ0eCB2MiA9IGdlbl9yZWdfcnR4IChWOEhJbW9kZSk7DQo+ID4gKyAgICBl bWl0X2luc24gKGdlbl9hYXJjaDY0X3VhZGRscHYxNnFpICh2MiwgdjEpKTsNCj4gPiArICAgIGlm ICg8TU9ERT5tb2RlID09IFY0U0ltb2RlKQ0KPiA+ICsgICAgICB7DQo+ID4gKyAgICAgICAgLyog Rm9yIFY0U0ksIHdlIGdlbmVyYXRlOg0KPiA+ICsgICAgICAgICAgICBjbnQgICAgIHYxLjE2Yiwg di4xNmINCj4gPiArICAgICAgICAgICAgdWFkZGxwICB2Mi44aCwgdjEuMTZiDQo+ID4gKyAgICAg ICAgICAgIHVhZGRscCAgdjMuNHMsIHYyLjhoICovDQo+ID4gKyAgICAgICAgZW1pdF9pbnNuIChn ZW5fYWFyY2g2NF91YWRkbHB2OGhpIChvcGVyYW5kc1swXSwgdjIpKTsNCj4gPiArICAgICAgICBE T05FOw0KPiA+ICsgICAgICB9DQo+ID4gKyAgICAvKiBGb3IgVjJESSwgd2UgZ2VuZXJhdGU6DQo+ ID4gKyAgICAgICAgY250ICAgICB2MS4xNmIsIHYuMTZiDQo+ID4gKyAgICAgICAgdWFkZGxwICB2 Mi44aCwgdjEuMTZiDQo+ID4gKyAgICAgICAgdWFkZGxwICB2My40cywgdjIuOGgNCj4gPiArICAg ICAgICB1YWRkbHAgIHY0LjJkLCB2My40cyAqLw0KPiA+ICsgICAgcnR4IHYzID0gZ2VuX3JlZ19y dHggKFY0U0ltb2RlKTsNCj4gPiArICAgIGVtaXRfaW5zbiAoZ2VuX2FhcmNoNjRfdWFkZGxwdjho aSAodjMsIHYyKSk7DQo+ID4gKyAgICBlbWl0X2luc24gKGdlbl9hYXJjaDY0X3VhZGRscHY0c2kg KG9wZXJhbmRzWzBdLCB2MykpOw0KPiA+ICsgICAgRE9ORTsNCj4gPiArICB9DQo+ID4gKykNCj4g PiArDQo+IA0KPiBDb3VsZCB5b3UgYWRkIHN1cHBvcnQgZm9yIFY0SEkgYW5kIFYyU0kgYXQgdGhl IHNhbWUgdGltZT8NCg0KWWVzLCBSaWNoYXJkLCBhbmQgdGhhbmtzIGEgbG90IGZvciB0aGUgZXhh bXBsZSBjb25zb2xpZGF0aW5nIHRoZSBoYW5kbGluZyBvZiBhbGwgNSBtb2Rlcy4NCg0KSGVyZSdz IHRoZSB1cGRhdGVkIHBhdGNoIGFsb25nIHdpdGggYWRkZWQgdGVzdHMgY292ZXJpbmcgVjRISSBh bmQgVjJTSS4NCmh0dHBzOi8vZ2NjLmdudS5vcmcvcGlwZXJtYWlsL2djYy1wYXRjaGVzLzIwMjQt SnVuZS82NTQ0MjkuaHRtbA0KDQpUaGFua3MsDQpQZW5neHVhbg0KPiANCj4gSSB0aGluayBpdCdz IHBvc3NpYmxlIHRvIGhhbmRsZSBhbGwgNSBtb2RlcyBpdGVyYXRpdmVseSwgbGlrZSBzbzoNCj4g DQo+IChkZWZpbmVfZXhwYW5kICJwb3Bjb3VudDxtb2RlPjIiDQo+ICAgWyhzZXQgKG1hdGNoX29w ZXJhbmQ6VkRRSFNEIDAgInJlZ2lzdGVyX29wZXJhbmQiKQ0KPiAgICAgICAgIChwb3Bjb3VudDpW RFFIU0QgKG1hdGNoX29wZXJhbmQ6VkRRSFNEIDEgInJlZ2lzdGVyX29wZXJhbmQiKSkpXQ0KPiAg ICJUQVJHRVRfU0lNRCINCj4gew0KPiAgIC8qIEdlbmVyYXRlIGEgYnl0ZSBwb3Bjb3VudC4gICov DQo+ICAgbWFjaGluZV9tb2RlIG1vZGUgPSA8Yml0c2l6ZT4gPT0gNjQgPyBWOFFJbW9kZSA6IFYx NlFJbW9kZTsNCj4gICBydHggdG1wID0gZ2VuX3JlZ19ydHggKG1vZGUpOw0KPiAgIGF1dG8gaWNv ZGUgPSBvcHRhYl9oYW5kbGVyIChwb3Bjb3VudF9vcHRhYiwgbW9kZSk7DQo+ICAgZW1pdF9pbnNu IChHRU5fRkNOIChpY29kZSkgKHRtcCwgZ2VuX2xvd3BhcnQgKG1vZGUsIG9wZXJhbmRzWzFdKSkp Ow0KPiANCj4gICAvKiBVc2UgYSBzZXF1ZW5jZSBvZiBVQURETFBzIHRvIGFjY3VtdWxhdGUgdGhl IGNvdW50cy4gIEVhY2ggc3RlcCBkb3VibGVzDQo+ICAgICAgdGhlIGVsZW1lbnQgc2l6ZSBhbmQg aGFsdmVzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMuICAqLw0KPiAgIGRvDQo+ICAgICB7DQo+ICAg ICAgIGF1dG8gaWNvZGUgPSBjb2RlX2Zvcl9hYXJjaDY0X2FkZGxwIChaRVJPX0VYVEVORCwgR0VU X01PREUgKHRtcCkpOw0KPiAgICAgICBtb2RlID0gaW5zbl9kYXRhW2ljb2RlXS5vcGVyYW5kWzBd Lm1vZGU7DQo+ICAgICAgIHJ0eCBkZXN0ID0gbW9kZSA9PSA8TU9ERT5tb2RlID8gb3BlcmFuZHNb MF0gOiBnZW5fcmVnX3J0eCAobW9kZSk7DQo+ICAgICAgIGVtaXRfaW5zbiAoR0VOX0ZDTiAoaWNv ZGUpIChkZXN0LCB0bXApKTsNCj4gICAgICAgdG1wID0gZGVzdDsNCj4gICAgIH0NCj4gICB3aGls ZSAobW9kZSAhPSA8TU9ERT5tb2RlKTsNCj4gICBET05FOw0KPiB9KQ0KPiANCj4gKG9ubHkgbGln aHRseSB0ZXN0ZWQpLiAgVGhpcyByZXF1aXJlcyBjaGFuZ2luZzoNCj4gDQo+IChkZWZpbmVfZXhw YW5kICJhYXJjaDY0XzxzdT5hZGRscDxtb2RlPiINCj4gDQo+IHRvOg0KPiANCj4gKGRlZmluZV9l eHBhbmQgIkBhYXJjaDY0XzxzdT5hZGRscDxtb2RlPiINCj4gDQo+IFRoYW5rcywNCj4gUmljaGFy ZA0KPiANCj4gPiAgOzsgJ2Fjcm9zcyBsYW5lcycgbWF4IGFuZCBtaW4gb3BzLg0KPiA+DQo+ID4g IDs7IFRlbXBsYXRlIGZvciBvdXRwdXR0aW5nIGEgc2NhbGFyLCBzbyB3ZSBjYW4gY3JlYXRlIF9f YnVpbHRpbnMNCj4gPiB3aGljaCBjYW4gYmUgZGlmZiAtLWdpdA0KPiA+IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FhcmNoNjQvcG9wY250LXZlYy5jDQo+ID4gYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9wb3BjbnQtdmVjLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiA+IGluZGV4IDAwMDAwMDAwMDAwLi40YzlhMWI5NTk5MA0KPiA+IC0tLSAvZGV2L251bGwNCj4g PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9wb3BjbnQtdmVjLmMNCj4g PiBAQCAtMCwwICsxLDQ4IEBADQo+ID4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ID4gKy8q IHsgZGctb3B0aW9ucyAiLU8yIiB9ICovDQo+ID4gKw0KPiA+ICsvKiBUaGlzIGZ1bmN0aW9uIHNo b3VsZCBwcm9kdWNlIGNudCB2LjE2Yi4gKi8gdm9pZCBiYXIgKHVuc2lnbmVkIGNoYXINCj4gPiAr Kl9fcmVzdHJpY3QgYiwgdW5zaWduZWQgY2hhciAqX19yZXN0cmljdCBkKSB7DQo+ID4gKyAgZm9y IChpbnQgaSA9IDA7IGkgPCAxMDI0OyBpKyspDQo+ID4gKyAgICBkW2ldID0gX19idWlsdGluX3Bv cGNvdW50IChiW2ldKTsgfQ0KPiA+ICsNCj4gPiArLyogVGhpcyBmdW5jdGlvbiBzaG91bGQgcHJv ZHVjZSBjbnQgdi4xNmIgYW5kIHVhZGRscCAoQWRkIExvbmcNCj4gPiArUGFpcndpc2UpLiAqLyB2 b2lkDQo+ID4gK2JhcjEgKHVuc2lnbmVkIHNob3J0ICpfX3Jlc3RyaWN0IGIsIHVuc2lnbmVkIHNo b3J0ICpfX3Jlc3RyaWN0IGQpIHsNCj4gPiArICBmb3IgKGludCBpID0gMDsgaSA8IDEwMjQ7IGkr KykNCj4gPiArICAgIGRbaV0gPSBfX2J1aWx0aW5fcG9wY291bnQgKGJbaV0pOyB9DQo+ID4gKw0K PiA+ICsvKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBwcm9kdWNlIGNudCB2LjE2YiBhbmQgMiB1YWRk bHAgKEFkZCBMb25nDQo+ID4gK1BhaXJ3aXNlKS4gKi8gdm9pZA0KPiA+ICtiYXIyICh1bnNpZ25l ZCBpbnQgKl9fcmVzdHJpY3QgYiwgdW5zaWduZWQgaW50ICpfX3Jlc3RyaWN0IGQpIHsNCj4gPiAr ICBmb3IgKGludCBpID0gMDsgaSA8IDEwMjQ7IGkrKykNCj4gPiArICAgIGRbaV0gPSBfX2J1aWx0 aW5fcG9wY291bnQgKGJbaV0pOyB9DQo+ID4gKw0KPiA+ICsvKiBUaGlzIGZ1bmN0aW9uIHNob3Vs ZCBwcm9kdWNlIGNudCB2LjE2YiBhbmQgMyB1YWRkbHAgKEFkZCBMb25nDQo+ID4gK1BhaXJ3aXNl KS4gKi8gdm9pZA0KPiA+ICtiYXIzICh1bnNpZ25lZCBsb25nIGxvbmcgKl9fcmVzdHJpY3QgYiwg dW5zaWduZWQgbG9uZyBsb25nDQo+ID4gKypfX3Jlc3RyaWN0IGQpIHsNCj4gPiArICBmb3IgKGlu dCBpID0gMDsgaSA8IDEwMjQ7IGkrKykNCj4gPiArICAgIGRbaV0gPSBfX2J1aWx0aW5fcG9wY291 bnRsbCAoYltpXSk7IH0NCj4gPiArDQo+ID4gKy8qIFNMUA0KPiA+ICsgVGhpcyBmdW5jdGlvbiBz aG91bGQgcHJvZHVjZSBjbnQgdi4xNmIgYW5kIDMgdWFkZGxwIChBZGQgTG9uZw0KPiA+ICtQYWly d2lzZSkuICovIHZvaWQNCj4gPiArYmFyNCAodW5zaWduZWQgbG9uZyBsb25nICpfX3Jlc3RyaWN0 IGIsIHVuc2lnbmVkIGxvbmcgbG9uZw0KPiA+ICsqX19yZXN0cmljdCBkKSB7DQo+ID4gKyAgZFsw XSA9IF9fYnVpbHRpbl9wb3Bjb3VudGxsIChiWzBdKTsNCj4gPiArICBkWzFdID0gX19idWlsdGlu X3BvcGNvdW50bGwgKGJbMV0pOyB9DQo+ID4gKw0KPiA+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItbm90IHtcdGJsXHRwb3Bjb3VudH0gfSB9ICovDQo+ID4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7Y250XHR9IDUgfSB9ICovDQo+ID4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dWFkZGxwXHR9IDkgfSB9ICovDQo+ID4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7bGRyXHRxfSA1IH0gfSAqLw0K