From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21]) by sourceware.org (Postfix) with ESMTPS id 3659A3858D35 for ; Mon, 22 Apr 2024 10:07:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3659A3858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3659A3858D35 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=198.175.65.21 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1713780444; cv=pass; b=lvPGmDMa7HfHFaYa7lQheao38VaivLyufP9pMbdTJw7egmOg+L1IKe257JDC6fwvPQ2FDJitaOgIE0wJolUmjTytrtQ5rLQ2ZRmwbiD1y2rkcUEugN1puAN7LGytNxd9oLhSCsWAm4tan1Ka2F1eWR2q7UWoqFToV3rEII7HBW0= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1713780444; c=relaxed/simple; bh=of+ZDclERIFN0Cc4CLl36todBLDS/g1zE6UNDtwV8L4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=LUIx7hBlQL4maDLoOphN4rnO/RETWScJjbtG0qvyKfVrWwodqRe+IDrWG+ma8qMedKjYoFEZs2sFO9ne4BqbGasIt4j+9Q5t8wVE4XQUJsrJ+MSdqD3uiigUa5fieBlaOR84wQZXtaZH3/8dyEs0uzjJr3NQcmnPfMhCykH1WQU= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713780433; x=1745316433; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=of+ZDclERIFN0Cc4CLl36todBLDS/g1zE6UNDtwV8L4=; b=ayH5p5ye4fIyBlqV5N37KqbcWsCvpyj53V5wNk1lVw//qoQZng/8zeHN Q0/8Ddwwmp+xPjahaFINFLlAuvP8l6WHH4e3Xdc8/LOPlxi1F6ZIHk+ff ickqMQmq9+3MOfAFn2ALTgD2DTacW3wRFIr4s/aiAfcltp6vECrQOlnj+ A0zYX22hqFbfZHftt8Cp9/5wWhfEssAheXLOT+DpISf4DebdQEcX+CFNB 6gxzjGLSMzywy3ROxOxu6xlvavDLFaok7DcS3qE5uP4n5FdXG6NQyofz0 GB6uS6ZxEkx/C6ms34tnyc5NVoo4HW/9joXzuM23kMz/m7jIHEE06S9UG w==; X-CSE-ConnectionGUID: LLjVl2+rQUO3W6er5CQDIw== X-CSE-MsgGUID: Jtc3StjLRouz6yK7vgYsSA== X-IronPort-AV: E=McAfee;i="6600,9927,11051"; a="9227485" X-IronPort-AV: E=Sophos;i="6.07,220,1708416000"; d="scan'208";a="9227485" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2024 03:07:12 -0700 X-CSE-ConnectionGUID: Gs++OszYQd6L275KHuslYg== X-CSE-MsgGUID: iN8hze/ySUC6Y24QhYInsg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,220,1708416000"; d="scan'208";a="23939521" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa009.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 22 Apr 2024 03:07:12 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 22 Apr 2024 03:07:11 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Mon, 22 Apr 2024 03:07:11 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 22 Apr 2024 03:07:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dplgduhb1aReRnEUto7vXKKN4rEvnAk5qf1NJL5rmQ8x+3n+pO3HKTX2edz3jgFRj5K4GI5ENVl+JkHI3ybUQ+xV6xfpiBo2HbSBA/sVyr6xELNQLBIMw6YKBczc/C12W7c1rH97IpExqEQkaoqTd/DRBNrzXbPkefGxIWyV1gL7QGfDH2hCxGzSU3f7kBp2QBP/a9yJVP8kg+OcHHRQRrdgNzIxNNIVLrp0VGEoZFcv23Iyu5v+vfSUf2B63ay6QSTpp2Oc8GKMt1WBsM8IW7QgoGmglRQHRJivqR/lX7QuXo5wmZOFlyHNJNUNUJb1nED4zJEf88bZnfh9HWh2yQ== 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=of+ZDclERIFN0Cc4CLl36todBLDS/g1zE6UNDtwV8L4=; b=R85J8PwjgncGxfN857m8RK+Z3BDxGfnIwuwcSNWi5K63R1mwhQ5BpYNBSluNMOnwAM/hn6kf9Uo8cOBC4RmK9uxIYoKL3eYWueMrQnXGm5vevceLpGhEk3L3wzp5wDeGvuTSfgyhI4+aZQj+tamAxUnnmrWeNR55s+WhDviwAszDNs589QqUIIarjLxkWekwqNTL2Wo/qRTLXifu0ELi9CSA02cVTwDLyiU+qnRG4nWuPKQjRGHp6Gejq0WLStZ5/H1/p6QAtkVvdfkgzLC4hK4Z6GPwrIN6059pNSLsaThTdI6OIawaMZnUFA4BGFRq3K3a2ftu0qpEECPSrjje4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SJ0PR11MB5600.namprd11.prod.outlook.com (2603:10b6:a03:3ab::16) by DM4PR11MB6454.namprd11.prod.outlook.com (2603:10b6:8:b8::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.21; Mon, 22 Apr 2024 10:07:06 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::2ffd:d20c:62c8:a67]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::2ffd:d20c:62c8:a67%3]) with mapi id 15.20.7519.020; Mon, 22 Apr 2024 10:07:06 +0000 From: "Cui, Lili" To: "Beulich, Jan" CC: "hjl.tools@gmail.com" , "binutils@sourceware.org" Subject: RE: [PATCH] x86: Optimize the encoder of the vvvv register Thread-Topic: [PATCH] x86: Optimize the encoder of the vvvv register Thread-Index: AQHakiymrqyXJOniy0Cko3bb11SI4LFvXceAgASaI1CAAAeCAIAAFIeg Date: Mon, 22 Apr 2024 10:07:06 +0000 Message-ID: References: <20240419073657.2418102-1-lili.cui@intel.com> <013ad260-9b28-496e-bbaf-c5a066774e99@suse.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR11MB5600:EE_|DM4PR11MB6454:EE_ x-ms-office365-filtering-correlation-id: eda544de-993f-4736-c617-08dc62b3f710 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230031|376005|1800799015|366007|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?R3dWMHF4Q25CNERMT0VydUNtZGJldmY1NUtlTVRiNDJwaUsrTnMraHRFWWVU?= =?utf-8?B?ZTdVS2JaeFc2WjFhUUFDWDE0RldUYXBmeXZDSkhOSmMybXdjZmR5cFpKRkls?= =?utf-8?B?bmxoaE1MSGxTNjVnYThTL2RQSjA5di9EVlhhREYrZjBvZnoxMlhudG45bkxE?= =?utf-8?B?UUdHU2JQOGhFc1JKY0xmbS8zNmpHd2lhRXZpRFdyQWdBVlRGaGJoZDNQOGgz?= =?utf-8?B?eEl5Z1o4UWtlNEJIODFHbTBsaVBvRlhzK2txcWw1bUZid0FvbytDYkQ2alpG?= =?utf-8?B?QWszRkJ4a082aFVPazZWTTVSSHFPRnJldGN6REpVOW8yODkwWDk2cENSL0F5?= =?utf-8?B?dVJ0bTFMTmVPYzQvRTJlSS9pUmx2UUVBUTN3Q3pDVnBwZWpZRU9oZEl1VWtJ?= =?utf-8?B?ekFUbEhWdy9KM3IzbCtVTXIrS2dmTktVTE9RdXBsUVFEQkxzVEhMQkhQb3U1?= =?utf-8?B?QTlocnVvL1lMQVh4Y3IrMklMRlk1MzZCMm5SdnR2UFVFZ2hCRTA2TFd3RDlS?= =?utf-8?B?WkF1ejQ1dW9rb1Jabm1iTWhXUzdCeGYzRVJaS3RyZVJxcFNsV2hRVysyQ0xr?= =?utf-8?B?NS9pMFQrV2JobnZpTVZNTVlNL1lSM3hyc3BGNU0vaE5Xand4TWZCL1V0YzlK?= =?utf-8?B?eStjeHdvZGdQWG53VWRqd3FVNW9EL3pwVno1d1FUeGI0U3ZKZXhqQlRhSXpI?= =?utf-8?B?eStabUVDRXdDYTdNbU1oeU9HcDhzLytqOVlmeWVvd2E0NzZrYzBhZFNJMmZv?= =?utf-8?B?dnlqbm90VHN4RHl1VjlPaHROcjYreU9wMzJWSzM4UmR6eVh5N0VrYXJJbW9W?= =?utf-8?B?SWYxSlpsZUtSSHJiUmYvbThUM0FsbWtnbmZoQ0REY1oxZUtxUTcrdHEvTk9X?= =?utf-8?B?eWpEUWU0VXlxQnN1KzRESFN6cmpEL0hVTUlDMy9RUkdoeFhkMEViUnJlMEpO?= =?utf-8?B?OCtNaHB0dVI3T2JZei9ENjM1WSs0Wk5BQStGSXNuZStiZndKN2VxREdGVXJm?= =?utf-8?B?dTRIVndsTE1Yc0NLdngrSXRUei80Zmg4cXkwVURIWERMMExOSVJuQlpsVU1k?= =?utf-8?B?S2ZPek1lUEt2OUFjc2VnS3FQemlrT2g0aXdzSFZWQVhxbTJ5dGswYjZmSW83?= =?utf-8?B?MHNrYXFyWm1kVlpGYlpaVGRQWEpjM1BoRnR0VVVsb3plUDFKak5nWHBZdzBo?= =?utf-8?B?ZU00bDNEYkU0R0o2YVUwL0lCencwTEpPNGhKY2ZJN2Vsb2lKbHd6aFNVeVRV?= =?utf-8?B?aHJMSEliQnZlQmR1eUtYa2F3VkE3Q2JwWWVPWkdIMlFpS21OTDRyaGs0Qlky?= =?utf-8?B?b2o4MDNpa0FFVU1jYXJOdGZQQ1IybnoycENTSzZPSW9ISHNpc0E1QktQSVJS?= =?utf-8?B?YmQ0VUUwRzV2aWZVOWhCVWEzaVZPZHRNZGtXQ0o3VUxtTVoxSTh4NURYR1du?= =?utf-8?B?dlB5NzZoYjRBbW5wVkthTVZjcStWS29FT0h5RjRuamNoODZPU1IrQ0FCR2Jn?= =?utf-8?B?dTUrM3lrZkJod0FOVkpVQ3E2OFdCUzQrcm8vR1h4dVhLcXlidVVVRTE3NnYr?= =?utf-8?B?NFFLS1M1K2Z6K2lqKzNHekhrZHZLRDJMaGZaS1N5eExEVkJnZHpUUHdwWkJ1?= =?utf-8?B?MUQ0eUJEWm1MRzBmZ0w4ZVlER09sdXRaS2RZNDFDa0Ryd1RpdVMyd2ZRWkpz?= =?utf-8?B?YkZTalhyN2kzdVpTaUV6Tm9DejZmdmd5WFp2eDFxR3dQMVp5MzYxS2t1UStm?= =?utf-8?B?bzVGSXpCdGhwcU5mYUk2eEtjOFhoMy9NZzFnMEZtbkVPdXdoZjFQcUkrVkRv?= =?utf-8?B?RThYMkRWMzZ1ZmdSckRsZz09?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5600.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cTJxVkhxWXNKS2F0RFpWbHhlL3FxeldWR2l5djhOdTdXVGdXc1g3RldkWTh5?= =?utf-8?B?VDQ2azczRC9hWEJaeDdzdkdqa1l1UllSWjR6QkxFeXZKRlpreWRldG9Ld0E0?= =?utf-8?B?Qlp4VklKOWhabHl0SVJQUzJxbXFFa0Y3OUdpTkFQVWt4MVcwVHVCNVVrcTly?= =?utf-8?B?VytwUlYxanlHeVNIZ20xTmI2aGRLMHhMMTlNR0UwVytNcTM2Rk1MQlhNTDBK?= =?utf-8?B?RTk4WGoyYmZGdTlHTG1hTUxWSnpSMzZtbE9LREw0RHEvd2t0dENVeFlhK1Vx?= =?utf-8?B?dElNMEdNOGZ1SWJzQ3RBRExaU2VFMmxlMlNzL3l5WHFPNS8wbG5RYUNqWVZL?= =?utf-8?B?TUdTUXV1cXRUUzZ6ZExTbHcxTUlST0U4dDRnbWV5aWxOTkpaeDhTZ1dYQmoz?= =?utf-8?B?U2Q4TTZSQjBkdDVlT3MwZlNTWEVlZDVmenVZWXpqVEdXc0ZvTGJVaDI5VmNM?= =?utf-8?B?N2p2SFVNcHd5OVdhTkIyekhrcXliWHFnZzZaQXRBOWdueVVkWlhMMjdHSGxz?= =?utf-8?B?LzBjb0JCWTdwS3FBWVN2aU84Y0ZyaUJDYjdmd0t4UnhSV3p6QkhSd3NoOUpn?= =?utf-8?B?MEcyUFJkbGRCZUlEZ1IwTlBjNndNejBnMHdGN1dEcTcxRlh2d2ZPcjIvbFlh?= =?utf-8?B?aDdvQTVLVmt0dnVLV05MeUtSeW1lckpHZWIySlVzK2xWcC9sTWFVTkpzd1ZL?= =?utf-8?B?bUI0bElBbmpqRlFPWXJVZ2JIdXZaWlpGanhBYlN5YnJXWGlxUlB4U0gxelI0?= =?utf-8?B?Z2I0S0Q4RXUwdnFyZXJYdk43bytGUHpzMGlzTmFkcytlcTMrVmM4RDZ3dGJk?= =?utf-8?B?MmpuYW42ZnVGYjM3cWphaVpmejYzYmVlWnBaMjhGTzlLNnRSajlteEFncUh6?= =?utf-8?B?bWx0Wm8yenViR09Uc2JGdmdvVjJzL0M3MzB0d3UxalpOa0x0MlRCekNtWkFK?= =?utf-8?B?T1pVY0tLS2g0TVZMYlBxWGcwT2dqNm8wbGZ0aE9SVk1mUTUrZElCY1lYa2h4?= =?utf-8?B?N1VORTZFc3h2WUlnVDZ4UlRlM0M1UHhmUm9aeHZiWE1MOGhpb0FreHhHM1F5?= =?utf-8?B?MUFxWXBRSEhpaERJWVl2ZTZXU3BvdWtpYjJydzdqbGZuQnpWOEhrYzVsVDR3?= =?utf-8?B?eGRlelU4bHdSeGJuVnFvQ0hkRHUyalhCbFRxbU84Y29FeG1YSHBHNE02T2s2?= =?utf-8?B?c2RSL0FLbjFjV0RVamVRT3J1S3lhNldRSGxHbkJWRnRQdEZjYkljMnpXTnBH?= =?utf-8?B?K3ZmRXRrcDUrR2IyTVgvZHZyUVc3enNhWFJyekI3dVhvZlhZUjVxWGpMb1JC?= =?utf-8?B?MFh1cUxYeXBIWWtEblcxMFpZVURheFFaS0dwVm82ckNFSUVIbTQ4bjdhcnBr?= =?utf-8?B?amcyZjlwSUFZVVdLTEZHRS9IYjRRUGIyRVZRNjhQdFVwUHRzRmFmYlVMbGMx?= =?utf-8?B?cW5YZ1gxc2lMZ0pzVnN4cGZRK3cxZmtvZi9LNys1R1pYRlFGcHR3SW92WVpy?= =?utf-8?B?Y25IdEhldG9JdlQ4ZVBmbkxMSGtGdmU4emJxd0Z0MlpqWXlVRHFXYkliQUts?= =?utf-8?B?WmxVclFZTTg5RGZydk0rblU1Q21mWGpORG9yVGdvMUs5L3Y1RzRqSG56Wi9X?= =?utf-8?B?Vkg3b0N6WXNYY1FCVXQyVnRnRHQ5bXZuQ2EraXVBcnd5TFdpKzlGTFpydmFa?= =?utf-8?B?RlBnRE1scnJEczJaUVBoV3I1MmxKNGoxMUhnNXBCYXQ2VDhKUXFCYWVoY1VF?= =?utf-8?B?cDJSSkhYRFYyOUNkVzFIN2t3Uk1wYXFjVHhiUjFla3U1alkxQ0s1aWhrSDhN?= =?utf-8?B?STFKLy9SazB6c0psYnl5cW9DdnRITkVkZ0xIYnZzVFNyOFNveHBZeWYyenR2?= =?utf-8?B?NEpkVWl4NGkzQzBmenluamRpSE1OU0k2UGNNVy84QnEyTVNzeENJaEhyUE9X?= =?utf-8?B?Mzh1QXA0eDdOd0dwcHlGcWhlVUpFT1dHMjBlQmlDWHAyeElXZG1HK0tNeEQx?= =?utf-8?B?aEZRWmlJN3E3Kzk4OHpDb0JSNENoWG1YdTIwd3FFYXlPN2NyaEpEZTR4SUFx?= =?utf-8?B?RlVjREJkTjllRmNuRHFjRkpobE8xTk9LcUdxekh0SXpiejJHazlCQzVLT3lG?= =?utf-8?Q?c0UETAasmWXP0IlUrcCxowv8w?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5600.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eda544de-993f-4736-c617-08dc62b3f710 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2024 10:07:06.3229 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Rarh7tvaXZ4y9rppBpgphpEXMaIcRfEVmuwXJ56Ww07w2ztKCdiv1jHEX4GMQBuckAd+/KFvLxDPX/1oVAtVBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6454 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE,TXREP 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: DQoNCj4gPj4+ICtwc2xsdzxtbXg+LCAweDxtbXg6cGZ4PjBmNzEvNiwgPG1teDpjcHU+LA0KPiA+ PiBNb2RybXw8bW14OnNjYWw+fE5vU3VmLCB7DQo+ID4+PiArSW1tOCwgPG1teDpyZWc+IH0NCj4g Pj4NCj4gPj4gVGhpcyBpcyBub3QgYSBzY2FsYXIgaW5zdHJ1Y3Rpb24sIGhlbmNlICJzY2FsIiBh cyBhIHRlbXBsYXRlDQo+ID4+IHBhcmFtZXRlciBuYW1lIGlzIG1pc2xlYWRpbmcuIEl0J3Mgbm90 IHJlYWxseSBjbGVhciB0byBtZSBhbnl3YXkgd2h5DQo+ID4+IHRoaXMgbmVlZHMgZmlkZGxpbmcg d2l0aCAtIHRoZXJlIHdhcyBubyBTd2FwU291cmNlcyBoZXJlLCBhbmQgbm9uZSBvZg0KPiA+PiBp dHMgc2libGluZ3MgYXJlIGJlaW5nIHRvdWNoZWQgZWl0aGVyLg0KPiA+Pg0KPiA+DQo+ID4gJ3Bz bGx3JyBoYXMgYW4gZXh0ZW5kZWQgb3Bjb2RlIGFuZCB0d28gbm9uLWltbWVkaWF0ZSBvcGVyYW5k cywgdG8NCj4gZGVsZXRlIHRoZSBjb3JyZXNwb25kaW5nIGNvZGUgYmVsb3cuDQo+ID4NCj4gPiAt ICBpZiAoaS50bS5leHRlbnNpb25fb3Bjb2RlICE9IE5vbmUpDQo+ID4gLSAgICB7DQo+ID4gLSAg ICAgIGlmIChkZXN0ICE9IHNvdXJjZSkNCj4gPiAtICAgICAgIHYgPSBkZXN0Ow0KPiA+IC0gICAg ICBkZXN0ID0gfjA7DQo+ID4gLSAgICB9DQo+IA0KPiBZZXQgaG93J3MgcHNsbHcgZGlmZmVyZW50 IGZyb20sIHNheSwgcHNyYXcgb3IgcHNsbGQ/DQo+IA0KDQpHb29kIHF1ZXN0aW9uLCBwc2xsdywg cHNsbDxkcT4sIHBzcmF3LCBwc3JhZCwgcHNybHcsIHBzcmwgYW5kIHBzcmw8ZHE+IGFsbCByZXF1 aXJlIERzdFZWVlYgYW5kIEknbGwgYWRkIHRlc3QgY2FzZXMgZm9yIHRoZW0uDQoNCj4gPj4gVG8g aGVscCByZWNvZ25pemluZyBzdWNoIGFub21hbGllcyAocG9zc2libGUgcHJvYmxlbXMpLCBjb3Vs ZCBJIHRhbGsNCj4gPj4geW91IGludG8gc3BsaXR0aW5nIHRoZSBwYXRjaCBpbiB0d28gcGllY2Vz PyBGaXJzdCBhIHB1cmVseSBtZWNoYW5pY2FsDQo+ID4+IG9uZSBpbnRyb2R1Y2luZyAocGVyaGFw cyBzaW1wbHkgYXMgYW4gYWxpYXMgb2YgVmV4VlZWVikgLyB1c2luZw0KPiA+PiBTcmMxVlZWViB3 aGVyZXZlciBpdCBpcyBtZWFudCB0byBiZSB1c2VkLiBUaGVuIHRoZSByZW1haW5pbmcgY2hhbmdl cywNCj4gPj4gd2l0aCBhIG11Y2ggc21hbGxlciBkaWZmIG9uIHRoZSBhY3R1YWwgb3Bjb2RlIHRl bXBsYXRlcywgaW4gdGhlIDJuZCBvbmUuDQo+ID4+DQo+ID4NCj4gPiBIb3cgYWJvdXQgc3BsaXR0 aW5nIGludG8gMyBwYXRjaGVzOg0KPiA+IDEuIEludHJvZHVjZSBWZXhWVlZWICwgU3JjMVZWVlYg YW5kIFNyYzJWVlZWLg0KPiA+IDIuIFJlcGxhY2UgU3dhcFNvdXJjZXMuDQo+ID4gMy4gUmVwbGFj ZSBleHRlbnNpb25fb3Bjb2RlIHBhcnQuDQo+IA0KPiBGdW5kYW1lbnRhbGx5IGZpbmUgd2l0aCBt ZSwganVzdCB0aGF0IGl0IHdvdWxkIHNlZW0gdG8gbWUgdGhhdCBpbiBzdWNoIGEgMXN0DQo+IHBh dGNoIFNyYzJWVlZWIHdvdWxkIGVuZCB1cCB1bnVzZWQuIEhlbmNlIGl0IHdvdWxkIGFwcGVhciBt b3JlIGxvZ2ljYWwNCj4gdG8gbWUgdG8gaW50cm9kdWNlIHRoYXQgb25seSB3aGVuIG5lZWRlZCwg aS5lLiBpbiBwYXRjaCAyLg0KPiANCg0KT2suDQoNClRoYW5rcywNCkxpbGkuDQo=