From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2117.outbound.protection.outlook.com [40.107.94.117]) by sourceware.org (Postfix) with ESMTPS id BE4623858D32 for ; Wed, 27 Dec 2023 09:35:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BE4623858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=os.amperecomputing.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=os.amperecomputing.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BE4623858D32 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.94.117 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1703669732; cv=pass; b=mxOUWmUnaMzKkflqb01ZUZ0/cubEWY8DHCVwLkh9YhpMXMQmpeAq+pauk/h49PAkSQa1H2nEW/4E5lUml3jLxyMBbjBWmM57hHxWOB/x/Ff9vpyhLJo3wsVrF172TnRZvOGms5bYgr9kuvBTmArMGn/5RxwwRr+ru09Hf0vANDg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1703669732; c=relaxed/simple; bh=Qg4Q+fduHvvvvYQCGHCK3OgeihmgizxdBYPv+gLP4/s=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=ECIqfRHU0nWQz8S5rY7lFLHG8t6WvZ257GheK0qQv4KxFko9nOQSDdozt2GNbB5CUWg4Rt2O08QmG2rDfaM+UTsjaklbPEkamM3sP/xWvcaKq9b2ZHvVQqwkDOiAUq6UEMNYfxGXLMgF2g9goaYcois8i/ZTjauwS6UlgJE4Irk= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g5bwhR//8X9L2aHA1c0guYXy4XxD7NgoPaYwL4BAQf0xBU2IZ11HejNqD1yumZjEoTdBcfCtb6bjs89s4+KmEvYivFNZ+k2nTwbnRIyG5Zb6AG0BfJO9Z+axzmlOWF0oV2X6F5UmycboIvzojCzXSop15c16gjQIB4ZwG4MLneC7O3WydrnImPf2YwU+hiX9Jh83E8BJf5QMkuuq60U9fz9gWkW5JhsnUiE0fUQ0JDAVP4ZWSaqHzbKtmpMRPm/iG0lA26GzJ+NBno43lO0e4mZIfL6w2JHLaJFaPDYHGjyvjW8qMtsAmVMuZ3SXqF1tuTTB1zo9g4BPug3QdKJigQ== 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=Qg4Q+fduHvvvvYQCGHCK3OgeihmgizxdBYPv+gLP4/s=; b=egVdKPBz2inAN4VxLB/EZMR4bZDYP/BB6fhG5mSusjBLvu/qOQcKMXgBd226g59Z5XZFNzVXB/5QVrDzgU43D7qzwvss2De6PifNRePRRlj4weVJ27nUl66FAT81dZ+j0amirR2cEWiAXfIXIAAXKHQV3h3aen+VoDz/tR7bPVM5Msfx1RPr5O7cQ50TuGRKUAuSwk4iTgOFnvGve9qlgQnAru85WVJfgi/t9kwRHz/rCCjVdfRKdUZLvGmzy1z6FZXBXaMtvTHf+9CJIuRp/KjJzUOdm4f3bez3g8rC2k6qPSz3Fpk6of3g05Boo16OOuMA+OYoJHcLrvIPwldNjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qg4Q+fduHvvvvYQCGHCK3OgeihmgizxdBYPv+gLP4/s=; b=OXtPIezqMid8TLxFWt14pjTjVolJjBeTM2QFxDjzZaNJdNFPuIj7ZNQ1lWuBW5QPoIoxnLICgnCiJWpz/9JIN0HbKdPGZsYW0HNrE3oZeCe4XFfJpC3l+PtK0RmHKsyaZb0uf3Mte1DcZtRmU7/gCd2hMspUbvU+k/BPRb4Km7s= Received: from BYAPR01MB4231.prod.exchangelabs.com (2603:10b6:a03:55::25) by BL3PR01MB7012.prod.exchangelabs.com (2603:10b6:208:35b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Wed, 27 Dec 2023 09:35:20 +0000 Received: from BYAPR01MB4231.prod.exchangelabs.com ([fe80::3e03:3095:3591:f005]) by BYAPR01MB4231.prod.exchangelabs.com ([fe80::3e03:3095:3591:f005%7]) with mapi id 15.20.7113.027; Wed, 27 Dec 2023 09:35:20 +0000 From: Di Zhao OS To: Richard Biener CC: Thomas Schwinge , "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH v4] [tree-optimization/110279] Consider FMA in get_reassociation_width Thread-Topic: [PATCH v4] [tree-optimization/110279] Consider FMA in get_reassociation_width Thread-Index: AdnnBSPtK+NgbkElQ86FLpG1NcmCuQRMvhQAAHJVX2AEf9pAgAEvAawgAu98zgABhes98AJjtNGAACyQqeAAmf3igABmaZZQAPwmM0AACc/+gADtvKng Date: Wed, 27 Dec 2023 09:35:19 +0000 Message-ID: References: <8078F55F-D53C-43AF-817D-76E2C5C8BF79@gmail.com> In-Reply-To: <8078F55F-D53C-43AF-817D-76E2C5C8BF79@gmail.com> Accept-Language: en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_ActionId=231f84c2-8277-4923-b6c4-4e0dbe9b51e2;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_ContentBits=0;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_Enabled=true;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_Method=Standard;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_Name=Confidential (Default);MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_SetDate=2023-12-27T09:06:39Z;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_SiteId=3bc2b170-fd94-476d-b0ce-4229bdc904a7; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR01MB4231:EE_|BL3PR01MB7012:EE_ x-ms-office365-filtering-correlation-id: 5e744927-e560-42a8-0836-08dc06bf246c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7xdonmSQt8WrPFFttlk5KVadmXqAx2XxH2h/Ow+YPEucYq6eaO267SD/y8VUChlovggncHEi8PCkvvq9j8K1BGFK8/mYFUGU/2p6gZ/W17zu2Kj8q76C+yw6RWswlW+/kybVz0OoW6qp06jgDfY2yUSORaAMWpp9tqACSrhmjfSQWnKcqRQZr1ZGpkdmM+irIlHXzIkGtIUS+z4DrHOekqolbgVN2Jv2XOr9DIabWU2cqdAnYWZl56kIHwTtOE/GvxwsaccXZGLVVQqM2urc720yC6sBCHXQ0V6NgGGC8ShTdirLa21x7VXqtCqx49sVW6+lAgqqvUax88q00yHb1USahdhoKE9UmTBEWOMBMH1/gGnuaK4VFTa+yVeZLazZxcr/0mHG+0iE5J2brdyF1lpkOwnfazwFXsvcCPmpCBhmqaf33Oa4pAoO6JVIsj1UVJQvcw6VupVWRM5waDhoVYvNq3sWncRp63fmljZBAvrZmYJnneONgkesSTC3S1FVqd+YDecQXGCwhgSjKnw7gMBimojotrC6nLhH77KNNOrXppwyFIYL+/A+QjtR3BWrw2S2kuL/LQRP8DzdBYV1APbPvwCyE6JT+TMLdln/kOtB82essY6uhTF0IdZDNxgi x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR01MB4231.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230031)(39850400004)(346002)(376002)(396003)(366004)(136003)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(71200400001)(478600001)(33656002)(9686003)(6506007)(53546011)(86362001)(66446008)(66556008)(66476007)(64756008)(6916009)(76116006)(7696005)(54906003)(66946007)(316002)(41300700001)(55016003)(8676002)(8936002)(83380400001)(38100700002)(2906002)(52536014)(122000001)(4326008)(38070700009)(66574015)(26005)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L2pkZXFkQkJZclBMZHRiUUR6WGNLV2VvT2ljNEZzRDVYN1BjMmZ0aHVlL00z?= =?utf-8?B?WWdqQUIrcGlNdU81ejYzNWpKbVZaRTlmZkpoeGtqV2RHcWNEZGI1N0J5VVBL?= =?utf-8?B?MXJVR3BhcnJmL2o1MDhtUzlVc2FiUWtPd09JQW1yaXl5OGZvSEhZQ1JJZ2dZ?= =?utf-8?B?clJyQkVkQ1FIQnFrSnZ4ck5iaHdyNW5vK1VOUWhVdHo5UVNKVDdXa3NqMFJz?= =?utf-8?B?UnVidmk5Uno3YnorSGRDcmp1bjZrTUxHQmk1VDlqbXBndUptQktIb282WVNJ?= =?utf-8?B?QlZtMlpXVGlDa09QVmR6eVNSbDVuQzNmTlVlYUFya1NmaEZPQmo3dnNsVTlT?= =?utf-8?B?TGJJTVJzanAycEE2M2NHdUZBVFBBQUdMWnBhbTk0OHpWSC8yWGNsOXpjVFRT?= =?utf-8?B?S0ltMDJrL2dUd2luWmhacXhLUjVjd1V1UXVDTzJBclFDc0pGdWUyMjUwdlI2?= =?utf-8?B?MkNGek12a2R6OHJwMmFlQ3Bpc2NkZCtkclMrSldXWkNHUTJobE9qR0VLNndZ?= =?utf-8?B?cmFOMXlvTTJtbWF4QVkyOGQzc1JSam1BMWRDRFRtYXFwSTdOWkRIYlltdW5L?= =?utf-8?B?TXlBbGF4UEc0dXpYWXBlaHdDbkFhc0tzdUE1TVhHbCt2RGJxaFJFZ2tUbWZY?= =?utf-8?B?a1VQZCtHTTdPYUwrZksvZlhUSlkvVUQrVXY1emF5aTB3R0R3S3dRWlpaVnUy?= =?utf-8?B?bVA4aStFcFdYNFJOTm0xQmdya1lWMDFhTFNYbE5SUk1yZHNFVHp1cGdVdGpp?= =?utf-8?B?bFVlY0YyaDVKMFBqc0YrczRZbVpGcEd6c0R0RFNzOVAxZjNGL1l5TmdLK3BG?= =?utf-8?B?YVk0NW5KaEpXY2c4MHM3NTRtREdmL1c5NlhyR09ZQWdiOFl1MURkWExXZ2JM?= =?utf-8?B?NDliM3hiTFhxeElRQVViMzRFNndDTlhuTFlqdjdKeWt1MHp0NmVQZ01wcXFw?= =?utf-8?B?TGtjdlo3NUx0TU1hdm9RQ3kybDFTdThQaHVENGhWeXJWYTg1VExRT2VIb3BV?= =?utf-8?B?azZhOHJGNXFYSUk2V2NRQVNBcHFBNEN6T1dYUVdieU1WSmppbGZkZzhzai80?= =?utf-8?B?RjRWczNBTmFLam9HL3d5V1I0QlpYOHpPeVFGSlIyeUJGK2FOWUZIRzNHY1pB?= =?utf-8?B?VGJ0NkY5UlBKbFp0Q3VPcTBoZWZ1Zk5nTXBBR0ZlN29WSmdrR3ArdHhpRHJK?= =?utf-8?B?Z3NjZ05RK2pqelkrVUxYclJKZFd6YmdpeUlVc3FsZGdzaytOTExBYVU3S3F2?= =?utf-8?B?TXByV2JZM2ptZWZOZEdmanpGZjRBM1BrNmNZbEZJeG4wa2duUjltaXpnTy9H?= =?utf-8?B?ays2UmxsaTNydXBZUm1TaVEwdjhBRkxzcmpTMmhabTh0dVNVU29kaFZiUG81?= =?utf-8?B?enY5d1FpbVFKMVpWUjJvMGVFTitWaGhSeWVEM2NhbXQrL1dFMi9zNzNyREgw?= =?utf-8?B?b3BBcHNYNlk0cXRMQ3FkY1lIbExvUXRQZldQeGQzY29DZ3NNYUFtUk85eWRt?= =?utf-8?B?S2pXcld3eGJsWldUSFBhMkQvbkQwRU12dm9JTVRCb2I0V1FScHlvV3dMYTNX?= =?utf-8?B?VERtcURkWEFrVmlucFdFNE5naWIyV0d2L1QvTnN6a3FNbFp5Rk51SWxjUUd3?= =?utf-8?B?Y2NUR0JhQXd5Ykd0blNyMlVkZFNPSERCd0hhd2tLNUZ6UGw0SEMzU05kRmJh?= =?utf-8?B?c2R6QVF3TU9JN3I2R3RhbEdzUW4vQVRDcjJ0WmRJdGtrOGtTbFBEVWp2SnF2?= =?utf-8?B?dXJRNTJTZlRvYi8yVW8ybzcwNyt1VUZBTkJEWExObDR5V1orcUlXVVBkOFJh?= =?utf-8?B?QkFhWEw1ZTFFbncxYXIxanM1UERZM0dSZExwcld2QlMwRm52ZGZmNGZXS050?= =?utf-8?B?NG9VY0hOdHl6ektVdDZpMkQ2QjJJZFJkQ0dUTnNwV25KakhnSktDekhTREpw?= =?utf-8?B?Q2gvQXBtZlJ0L244S0Q3bTZXNUV5Zm9vVEdYYmx6Rit6WGo4SWV5YTM5MFZD?= =?utf-8?B?ckZQM0h4emZ0clBMczRmMjg3N24yZ2pLYVl2VTFNQ2Q5anJkZ1AwdmxzbzFj?= =?utf-8?B?bDB3MVlQZmdzT3RZNFZoS2g3OS9yTEhXMzQzY3RSZTFITjVaWk9ZTTFhcUZI?= =?utf-8?B?QXJrV2tpWGtBRGR1T0pCWUZKMGt1WHBCLzZUZFUvSGtKcHpGVnlSK3R6cDE4?= =?utf-8?B?OUE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR01MB4231.prod.exchangelabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e744927-e560-42a8-0836-08dc06bf246c X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Dec 2023 09:35:19.9048 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: PzrwSHUVJRtdDwFHgZABTAu75jixtpH7NN/CTxTuepoVy327JshNeqDwAQB5el4Vx4/6US7m+VM+qRApwsDrl1zsbCxpe6VJt4z3CKNlescgTR1VPPnCwZ8b65oPf7xm X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR01MB7012 X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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: Q29tbWl0dGVkIGF0IDZjZWM3YjA2YjNjODE4N2IzNmZjMDVjZmQ0ZGQzOGI0MjMxM2Q3MjcNCg0K VGhhbmtzLA0KRGkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBSaWNo YXJkIEJpZW5lciA8cmljaGFyZC5ndWVudGhlckBnbWFpbC5jb20+DQo+IFNlbnQ6IEZyaWRheSwg RGVjZW1iZXIgMjIsIDIwMjMgMTE6NDAgUE0NCj4gVG86IERpIFpoYW8gT1MgPGRpemhhb0Bvcy5h bXBlcmVjb21wdXRpbmcuY29tPg0KPiBDYzogVGhvbWFzIFNjaHdpbmdlIDx0aG9tYXNAY29kZXNv dXJjZXJ5LmNvbT47IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFU Q0ggdjRdIFt0cmVlLW9wdGltaXphdGlvbi8xMTAyNzldIENvbnNpZGVyIEZNQSBpbg0KPiBnZXRf cmVhc3NvY2lhdGlvbl93aWR0aA0KPiANCj4gDQo+IA0KPiA+IEFtIDIyLjEyLjIwMjMgdW0gMTY6 MDUgc2NocmllYiBEaSBaaGFvIE9TIDxkaXpoYW9Ab3MuYW1wZXJlY29tcHV0aW5nLmNvbT46DQo+ ID4NCj4gPiDvu79VcGRhdGVkIHRoZSBmaXggaW4gYXR0YWNobWVudC4NCj4gPg0KPiA+IElzIGl0 IE9LIGZvciB0cnVuaz8NCj4gDQo+IE9rDQo+IA0KPiA+IFRlc3RlZCBvbiBhYXJjaDY0LXVua25v d24tbGludXgtZ251IGFuZCB4ODZfNjQtcGMtbGludXgtZ251Lg0KPiA+DQo+ID4gVGhhbmtzLA0K PiA+IERpIFpoYW8NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBG cm9tOiBEaSBaaGFvIE9TIDxkaXpoYW9Ab3MuYW1wZXJlY29tcHV0aW5nLmNvbT4NCj4gPj4gU2Vu dDogU3VuZGF5LCBEZWNlbWJlciAxNywgMjAyMyA4OjMxIFBNDQo+ID4+IFRvOiBUaG9tYXMgU2No d2luZ2UgPHRob21hc0Bjb2Rlc291cmNlcnkuY29tPjsgZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcN Cj4gPj4gQ2M6IFJpY2hhcmQgQmllbmVyIDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbT4NCj4g Pj4gU3ViamVjdDogUkU6IFtQQVRDSCB2NF0gW3RyZWUtb3B0aW1pemF0aW9uLzExMDI3OV0gQ29u c2lkZXIgRk1BIGluDQo+ID4+IGdldF9yZWFzc29jaWF0aW9uX3dpZHRoDQo+ID4+DQo+ID4+IEhl bGxvIFRob21hcywNCj4gPj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ PiBGcm9tOiBUaG9tYXMgU2Nod2luZ2UgPHRob21hc0Bjb2Rlc291cmNlcnkuY29tPg0KPiA+Pj4g U2VudDogRnJpZGF5LCBEZWNlbWJlciAxNSwgMjAyMyA1OjQ2IFBNDQo+ID4+PiBUbzogRGkgWmhh byBPUyA8ZGl6aGFvQG9zLmFtcGVyZWNvbXB1dGluZy5jb20+OyBnY2MtcGF0Y2hlc0BnY2MuZ251 Lm9yZw0KPiA+Pj4gQ2M6IFJpY2hhcmQgQmllbmVyIDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNv bT4NCj4gPj4+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjRdIFt0cmVlLW9wdGltaXphdGlvbi8xMTAy NzldIENvbnNpZGVyIEZNQSBpbg0KPiA+Pj4gZ2V0X3JlYXNzb2NpYXRpb25fd2lkdGgNCj4gPj4+ DQo+ID4+PiBIaSENCj4gPj4+DQo+ID4+PiBPbiAyMDIzLTEyLTEzVDA4OjE0OjI4KzAwMDAsIERp IFpoYW8gT1MgPGRpemhhb0Bvcy5hbXBlcmVjb21wdXRpbmcuY29tPg0KPiA+PiB3cm90ZToNCj4g Pj4+PiAtLS0gL2Rldi9udWxsDQo+ID4+Pj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHIx MTAyNzktMi5jDQo+ID4+Pj4gQEAgLTAsMCArMSw0MSBAQA0KPiA+Pj4+ICsvKiBQUiB0cmVlLW9w dGltaXphdGlvbi8xMTAyNzkgKi8NCj4gPj4+PiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4g Pj4+PiArLyogeyBkZy1vcHRpb25zICItT2Zhc3QgLS1wYXJhbSB0cmVlLXJlYXNzb2Mtd2lkdGg9 NCAtLXBhcmFtIGZ1bGx5LQ0KPiA+Pj4gcGlwZWxpbmVkLWZtYT0xIC1mZHVtcC10cmVlLXJlYXNz b2MyLWRldGFpbHMgLWZkdW1wLXRyZWUtb3B0aW1pemVkIiB9ICovDQo+ID4+Pj4gKy8qIHsgZGct YWRkaXRpb25hbC1vcHRpb25zICItbWFyY2g9YXJtdjguMi1hIiB7IHRhcmdldCBhYXJjaDY0LSot KiB9IH0NCj4gKi8NCj4gPj4+PiArDQo+ID4+Pj4gKyNkZWZpbmUgTE9PUF9DT1VOVCA4MDAwMDAw MDANCj4gPj4+PiArdHlwZWRlZiBkb3VibGUgZGF0YV9lOw0KPiA+Pj4+ICsNCj4gPj4+PiArI2lu Y2x1ZGUgPHN0ZGlvLmg+DQo+ID4+Pj4gKw0KPiA+Pj4+ICtfX2F0dHJpYnV0ZV9ub2lubGluZV9f IGRhdGFfZQ0KPiA+Pj4+ICtmb28gKGRhdGFfZSBpbikNCj4gPj4+DQo+ID4+PiBQdXNoZWQgdG8g bWFzdGVyIGJyYW5jaCBjb21taXQgOTFlOWU4ZmFlYTQwODZiM2I4YWVmMjM1NWZjMTJjMTU1OWQ0 MjVmNg0KPiA+Pj4gIkZpeCAnZ2NjLmRnL3ByMTEwMjc5LTIuYycgc3ludGF4IGVycm9yIGR1ZSB0 byAnX19hdHRyaWJ1dGVfbm9pbmxpbmVfXyciLA0KPiA+Pj4gc2VlIGF0dGFjaGVkLg0KPiA+Pj4N Cj4gPj4+IEhvd2V2ZXI6DQo+ID4+Pg0KPiA+Pj4+ICt7DQo+ID4+Pj4gKyAgZGF0YV9lIGExLCBh MiwgYTMsIGE0Ow0KPiA+Pj4+ICsgIGRhdGFfZSB0bXAsIHJlc3VsdCA9IDA7DQo+ID4+Pj4gKyAg YTEgPSBpbiArIDAuMTsNCj4gPj4+PiArICBhMiA9IGluICogMC4xOw0KPiA+Pj4+ICsgIGEzID0g aW4gKyAwLjAxOw0KPiA+Pj4+ICsgIGE0ID0gaW4gKiAwLjU5Ow0KPiA+Pj4+ICsNCj4gPj4+PiAr ICBkYXRhX2UgcmVzdWx0MiA9IDA7DQo+ID4+Pj4gKw0KPiA+Pj4+ICsgIGZvciAoaW50IGljID0g MDsgaWMgPCBMT09QX0NPVU5UOyBpYysrKQ0KPiA+Pj4+ICsgICAgew0KPiA+Pj4+ICsgICAgICAv KiBUZXN0IHRoYXQgYSBjb21wbGV0ZSBGTUEgY2hhaW4gd2l0aCBsZW5ndGg9NCBpcyBub3QgYnJv a2VuLiAgKi8NCj4gPj4+PiArICAgICAgdG1wID0gYTEgKyBhMiAqIGEyICsgYTMgKiBhMyArIGE0 ICogYTQgOw0KPiA+Pj4+ICsgICAgICByZXN1bHQgKz0gdG1wIC0gaWM7DQo+ID4+Pj4gKyAgICAg IHJlc3VsdDIgPSByZXN1bHQyIC8gMiAtIHRtcDsNCj4gPj4+PiArDQo+ID4+Pj4gKyAgICAgIGEx ICs9IDAuOTE7DQo+ID4+Pj4gKyAgICAgIGEyICs9IDAuMTsNCj4gPj4+PiArICAgICAgYTMgLT0g MC4wMTsNCj4gPj4+PiArICAgICAgYTQgLT0gMC44OTsNCj4gPj4+PiArDQo+ID4+Pj4gKyAgICB9 DQo+ID4+Pj4gKw0KPiA+Pj4+ICsgIHJldHVybiByZXN1bHQgKyByZXN1bHQyOw0KPiA+Pj4+ICt9 DQo+ID4+Pj4gKw0KPiA+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICJ3 YXMgY2hvc2VuIGZvciByZWFzc29jaWF0aW9uIg0KPiA+Pj4gInJlYXNzb2MyIn0gfSAqLw0KPiA+ Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMge1wuRk1BIH0gMyAib3B0 aW1pemVkIn0gfSAqLw0KPiA+Pg0KPiA+PiBUaGFuayB5b3UgZm9yIHRoZSBmaXguDQo+ID4+DQo+ ID4+PiAuLi4sIEkgc3RpbGwgc2VlIHRoZXNlIGxhdHRlciB0d28gdHJlZSBkdW1wIHNjYW5zIEZB SUwsIGZvciBHQ046DQo+ID4+Pg0KPiA+Pj4gICAgJCBncmVwIC1DMiAnd2FzIGNob3NlbiBmb3Ig cmVhc3NvY2lhdGlvbicgcHIxMTAyNzktMi5jLjE5N3QucmVhc3NvYzINCj4gPj4+ICAgICAgMiAq OiBhM180MA0KPiA+Pj4gICAgICAyICo6IGEyXzM5DQo+ID4+PiAgICBXaWR0aCA9IDQgd2FzIGNo b3NlbiBmb3IgcmVhc3NvY2lhdGlvbg0KPiA+Pj4gICAgVHJhbnNmb3JtaW5nIF8xNSA9IHBvd211 bHRfMSArIHBvd211bHRfMzsNCj4gPj4+ICAgICBpbnRvIF82MyA9IHBvd211bHRfMSArIGExXzM4 Ow0KPiA+Pj4gICAgJCBncmVwIC1GIC5GTUEgcHIxMTAyNzktMi5jLjI2NXQub3B0aW1pemVkDQo+ ID4+PiAgICAgIF82MyA9IC5GTUEgKGEyXzM5LCBhMl8zOSwgYTFfMzgpOw0KPiA+Pj4gICAgICBf NjQgPSAuRk1BIChhM180MCwgYTNfNDAsIHBvd211bHRfNSk7DQo+ID4+Pg0KPiA+Pj4gLi4uLCBu dnB0eDoNCj4gPj4+DQo+ID4+PiAgICAkIGdyZXAgLUMyICd3YXMgY2hvc2VuIGZvciByZWFzc29j aWF0aW9uJyBwcjExMDI3OS0yLmMuMTk3dC5yZWFzc29jMg0KPiA+Pj4gICAgICAyICo6IGEzXzQw DQo+ID4+PiAgICAgIDIgKjogYTJfMzkNCj4gPj4+ICAgIFdpZHRoID0gNCB3YXMgY2hvc2VuIGZv ciByZWFzc29jaWF0aW9uDQo+ID4+PiAgICBUcmFuc2Zvcm1pbmcgXzE1ID0gcG93bXVsdF8xICsg cG93bXVsdF8zOw0KPiA+Pj4gICAgIGludG8gXzYzID0gcG93bXVsdF8xICsgYTFfMzg7DQo+ID4+ PiAgICAkIGdyZXAgLUYgLkZNQSBwcjExMDI3OS0yLmMuMjY1dC5vcHRpbWl6ZWQNCj4gPj4+ICAg ICAgXzYzID0gLkZNQSAoYTJfMzksIGEyXzM5LCBhMV8zOCk7DQo+ID4+PiAgICAgIF82NCA9IC5G TUEgKGEzXzQwLCBhM180MCwgcG93bXVsdF81KTsNCj4gPj4NCj4gPj4gRm9yIHRoZXNlIDIgdGFy Z2V0cywgdGhlIHJlYXNzb2Nfd2lkdGggZm9yIEZNVUwgaXMgMSAoZGVmYXVsdCB2YWx1ZSksDQo+ ID4+IFdoaWxlIHRoZSB0ZXN0Y2FzZSBhc3N1bWVzIHRoYXQgdG8gYmUgNC4gVGhlIGJ1ZyB3YXMg aW50cm9kdWNlZCB3aGVuIEkNCj4gPj4gdXBkYXRlZCB0aGUgcGF0Y2ggYnV0IGZvcmdvdCB0byB1 cGRhdGUgdGhlIHRlc3RjYXNlLg0KPiA+Pg0KPiA+Pj4gLi4uLCBidXQgYWxzbyB4ODZfNjQtcGMt bGludXgtZ251Og0KPiA+Pj4NCj4gPj4+ICAgICQgIGdyZXAgLUMyICd3YXMgY2hvc2VuIGZvciBy ZWFzc29jaWF0aW9uJyBwcjExMDI3OS0yLmMuMTk3dC5yZWFzc29jMg0KPiA+Pj4gICAgICAyICo6 IGEzXzQwDQo+ID4+PiAgICAgIDIgKjogYTJfMzkNCj4gPj4+ICAgIFdpZHRoID0gMiB3YXMgY2hv c2VuIGZvciByZWFzc29jaWF0aW9uDQo+ID4+PiAgICBUcmFuc2Zvcm1pbmcgXzE1ID0gcG93bXVs dF8xICsgcG93bXVsdF8zOw0KPiA+Pj4gICAgIGludG8gXzYzID0gcG93bXVsdF8xICsgcG93bXVs dF8zOw0KPiA+Pj4gICAgJCBncmVwIC1jRiAuRk1BIHByMTEwMjc5LTIuYy4yNjV0Lm9wdGltaXpl ZA0KPiA+Pj4gICAgMA0KPiA+Pg0KPiA+PiBGb3IgeDg2XzY0IHRoaXMgbmVlZHMgIi1tZm1hIi4g U29ycnkgdGhlIGNvbXBpbGUgb3B0aW9ucyBtaXNzZWQgdGhhdC4NCj4gPj4gQ2FuIHRoZSBjaGFu Z2UgYmVsb3cgZml4IHRoZXNlIGlzc3Vlcz8gSSBtb3ZlZCB0aGVtIGludG8NCj4gPj4gdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NCwgc2luY2UgdGhleSByZWx5IG9uIHR1bmluZ3MuDQo+ID4+ DQo+ID4+IFRlc3RlZCBvbiBhYXJjaDY0LXVua25vd24tbGludXgtZ251Lg0KPiA+Pg0KPiA+Pj4N Cj4gPj4+IEdyw7zDn2UNCj4gPj4+IFRob21hcw0KPiA+Pj4NCj4gPj4+DQo+ID4+PiAtLS0tLS0t LS0tLS0tLS0tLQ0KPiA+Pj4gU2llbWVucyBFbGVjdHJvbmljIERlc2lnbiBBdXRvbWF0aW9uIEdt Ykg7IEFuc2NocmlmdDogQXJudWxmc3RyYcOfZSAyMDEsDQo+ID4+IDgwNjM0DQo+ID4+PiBNw7xu Y2hlbjsgR2VzZWxsc2NoYWZ0IG1pdCBiZXNjaHLDpG5rdGVyIEhhZnR1bmc7IEdlc2Now6RmdHNm w7xocmVyOiBUaG9tYXMNCj4gPj4+IEhldXJ1bmcsIEZyYW5rIFRow7xyYXVmOyBTaXR6IGRlciBH ZXNlbGxzY2hhZnQ6IE3DvG5jaGVuOyBSZWdpc3RlcmdlcmljaHQNCj4gPj4+IE3DvG5jaGVuLCBI UkIgMTA2OTU1DQo+ID4+DQo+ID4+IFRoYW5rcywNCj4gPj4gRGkgWmhhbw0KPiA+Pg0KPiA+PiAt LS0NCj4gPj4gZ2NjL3Rlc3RzdWl0ZS97Z2NjLmRnID0+IGdjYy50YXJnZXQvYWFyY2g2NH0vcHIx MTAyNzktMS5jIHwgMyArLS0NCj4gPj4gZ2NjL3Rlc3RzdWl0ZS97Z2NjLmRnID0+IGdjYy50YXJn ZXQvYWFyY2g2NH0vcHIxMTAyNzktMi5jIHwgMyArLS0NCj4gPj4gMiBmaWxlcyBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+ID4+IHJlbmFtZSBnY2MvdGVzdHN1aXRl L3tnY2MuZGcgPT4gZ2NjLnRhcmdldC9hYXJjaDY0fS9wcjExMDI3OS0xLmMgKDgzJSkNCj4gPj4g cmVuYW1lIGdjYy90ZXN0c3VpdGUve2djYy5kZyA9PiBnY2MudGFyZ2V0L2FhcmNoNjR9L3ByMTEw Mjc5LTIuYyAoNzglKQ0KPiA+Pg0KPiA+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvcHIxMTAyNzktMS5jDQo+ID4+IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQv cHIxMTAyNzktMS5jDQo+ID4+IHNpbWlsYXJpdHkgaW5kZXggODMlDQo+ID4+IHJlbmFtZSBmcm9t IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByMTEwMjc5LTEuYw0KPiA+PiByZW5hbWUgdG8gZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvcHIxMTAyNzktMS5jDQo+ID4+IGluZGV4IGYyNWI2 YWVjOTY3Li45N2Q2OTNmNTZhNSAxMDA2NDQNCj4gPj4gLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvcHIxMTAyNzktMS5jDQo+ID4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3ByMTEwMjc5LTEuYw0KPiA+PiBAQCAtMSw2ICsxLDUgQEANCj4gPj4gLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCj4gPj4gLS8qIHsgZGctb3B0aW9ucyAiLU9mYXN0IC0tcGFyYW0gYXZvaWQt Zm1hLW1heC1iaXRzPTUxMiAtLXBhcmFtIHRyZWUtDQo+IHJlYXNzb2MtDQo+ID4+IHdpZHRoPTQg LWZkdW1wLXRyZWUtd2lkZW5pbmdfbXVsLWRldGFpbHMiIH0gKi8NCj4gPj4gLS8qIHsgZGctYWRk aXRpb25hbC1vcHRpb25zICItbWFyY2g9YXJtdjguMi1hIiB7IHRhcmdldCBhYXJjaDY0LSotKiB9 IH0gKi8NCj4gPj4gKy8qIHsgZGctb3B0aW9ucyAiLU9mYXN0IC1tY3B1PWdlbmVyaWMgLS1wYXJh bSBhdm9pZC1mbWEtbWF4LWJpdHM9NTEyIC0tDQo+IHBhcmFtDQo+ID4+IHRyZWUtcmVhc3NvYy13 aWR0aD00IC1mZHVtcC10cmVlLXdpZGVuaW5nX211bC1kZXRhaWxzIiB9ICovDQo+ID4+DQo+ID4+ ICNkZWZpbmUgTE9PUF9DT1VOVCA4MDAwMDAwMDANCj4gPj4gdHlwZWRlZiBkb3VibGUgZGF0YV9l Ow0KPiA+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHIxMTAyNzktMi5jDQo+ ID4+IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvcHIxMTAyNzktMi5jDQo+ID4+ IHNpbWlsYXJpdHkgaW5kZXggNzglDQo+ID4+IHJlbmFtZSBmcm9tIGdjYy90ZXN0c3VpdGUvZ2Nj LmRnL3ByMTEwMjc5LTIuYw0KPiA+PiByZW5hbWUgdG8gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FhcmNoNjQvcHIxMTAyNzktMi5jDQo+ID4+IGluZGV4IGI2YjY5OTY5YzZiLi5hODhjYjM2MWZk YyAxMDA2NDQNCj4gPj4gLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHIxMTAyNzktMi5jDQo+ ID4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3ByMTEwMjc5LTIuYw0K PiA+PiBAQCAtMSw3ICsxLDYgQEANCj4gPj4gLyogUFIgdHJlZS1vcHRpbWl6YXRpb24vMTEwMjc5 ICovDQo+ID4+IC8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ID4+IC0vKiB7IGRnLW9wdGlvbnMg Ii1PZmFzdCAtLXBhcmFtIHRyZWUtcmVhc3NvYy13aWR0aD00IC0tcGFyYW0gZnVsbHktDQo+IHBp cGVsaW5lZC0NCj4gPj4gZm1hPTEgLWZkdW1wLXRyZWUtcmVhc3NvYzItZGV0YWlscyAtZmR1bXAt dHJlZS1vcHRpbWl6ZWQiIH0gKi8NCj4gPj4gLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICIt bWFyY2g9YXJtdjguMi1hIiB7IHRhcmdldCBhYXJjaDY0LSotKiB9IH0gKi8NCj4gPj4gKy8qIHsg ZGctb3B0aW9ucyAiLU9mYXN0IC1tY3B1PWdlbmVyaWMgLS1wYXJhbSB0cmVlLXJlYXNzb2Mtd2lk dGg9NCAtLXBhcmFtDQo+ID4+IGZ1bGx5LXBpcGVsaW5lZC1mbWE9MSAtZmR1bXAtdHJlZS1yZWFz c29jMi1kZXRhaWxzIC1mZHVtcC10cmVlLW9wdGltaXplZCIgfQ0KPiAqLw0KPiA+Pg0KPiA+PiAj ZGVmaW5lIExPT1BfQ09VTlQgODAwMDAwMDAwDQo+ID4+IHR5cGVkZWYgZG91YmxlIGRhdGFfZTsN Cj4gPj4gLS0NCj4gPj4gMi4yNS4xDQo+ID4gPDAwMDEtRml4LWNvbXBpbGUtb3B0aW9ucy1vZi1w cjExMDI3OS0xLmMtYW5kLXByMTEwMjc5LTIuYy5wYXRjaD4NCg==