From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by sourceware.org (Postfix) with ESMTPS id 48554384475E for ; Thu, 16 May 2024 12:00:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 48554384475E 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 48554384475E Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.15 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1715860821; cv=pass; b=K/oMTJyfNNq1SPyWCrrLgQ9SKrd8fhqKj+IdjSvgFU1QAq1iJLwP04YMoKc+eFdYZ1YmztUVFTe0SJJOQPv8m6nNq1atU9E4rSOmk4mrGJG4NRaHnVbX+d6yKInmAhTwwAdaJCcDOWvPyFlYfYhKbFK0hGQoJlUup4bIN/CT6lU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1715860821; c=relaxed/simple; bh=ugXr4UaH6mPcaqARy4WwYnFjKsi8wBzwDyvRQQVn108=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=cZiLg7ARV3iLRfxvXmVgGmpK7EYL2MVuixriJgdPquJfDQQ3Bno0rD9rrukOGVsr2lmfTugDQq69J/MWdK9l7xiw/E4Kl+NBXyp3PTETxMdkTL83LQ47b6bDBmoFDlIesVjKc8ZxXIVtQRggHl03HMt92IfqRSeTF79tL0uqwSY= 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=1715860816; x=1747396816; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ugXr4UaH6mPcaqARy4WwYnFjKsi8wBzwDyvRQQVn108=; b=G2KZiRroZnXxj8KrZxVViGzTxImOAVxoeTZ2i92mQF4lAOkP8+MzDGnh anxXt7pqLq2p92WliR6ZJ02L6K3WGfuSMwyFEuZBMNpdaJD8ZXqOzm4VW bYhvGtuQHFJtqea29QhsbgNeuSbmWJnfWOdkeTn/jWzPdeqSkyCEktbxW BPoH+yVO4iI1cnZz4+Hl54Ossh1weCT7Okl0u5Oan3DVxgntjML70P7W0 f9xyAM2//Pz+k/WJ0tQ5miSFnG+w++amihvRqHoKNh9ew4twEKRnp/C8x au3CD7roEcfDEXiOJsIZYKsD8q1aJuhuBZ/M8nSN+iiikwsxZ7HDg5eEY A==; X-CSE-ConnectionGUID: lRBjKsKUQBaAS/he9/XVhw== X-CSE-MsgGUID: XVLuFHyLRu+4etkFIfPG4g== X-IronPort-AV: E=McAfee;i="6600,9927,11074"; a="12148006" X-IronPort-AV: E=Sophos;i="6.08,164,1712646000"; d="scan'208";a="12148006" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 May 2024 05:00:15 -0700 X-CSE-ConnectionGUID: HJGwoIdRRnqPlkpb64XTpQ== X-CSE-MsgGUID: ARLf973ORnu/zalZOwtNzA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,164,1712646000"; d="scan'208";a="36189162" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 16 May 2024 05:00:15 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 16 May 2024 05:00:14 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 16 May 2024 05:00:14 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 16 May 2024 05:00:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OIEXqEtu1AwlBzGjaQdGX5eFAkq9t9nol3nE88W3I/dsZEQtoNh5ygb9us7mlVn9bB1HJwcqolWiQG5jAV2+n1gBXPfkWxiE2+yXBF223TqOL/rxgDKPAipBa6K4HCD3adC47Ylg6sjgI1QvVzAgOfKBW4VZ982qZhPDbvQv0Hr5GAFEWFDRkzOn4veirJs9bU8JEsRCk4Aj59caW+XdANmPkgkjmDIAKmrXbPtA741kVa9/f+uojwH4wGnlpxkFBLhE5v3031qWX8KK/d8SGrK6CiRZAkIsKIlzXNdqdVow4fvK/GFcgzs5wVxdKlTmt4CLdr+bZcF5AsSDXWnT4g== 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=ugXr4UaH6mPcaqARy4WwYnFjKsi8wBzwDyvRQQVn108=; b=k501QlijoydJpfnlf0KSnZAJgVJUj13b7DCK7upeTVqZNhzByrzQ8eMYaO/RVQ6YIvseJGYeq3hsh6sV77VFmFdDteJdpyGsGrhg1iQafDxzCTozGJZrpqhdfgDfMbyAsh2wkdLFO55Jk51re78m/QrGhEhLFkkgXx0A12vvS2JPhieEjVarN9Ze1YAgpEY/yBH34tQErhSX5DPvAosdzb+TDYOIN/8XD5N7rXOXAPiZhwJRfxr5c+uRbkOCRdmfyOt4WHQNDs//4nj20FVs2UMQTpy3M/Om1sWmw4jc0O3APzvr2c+UaQpbOczT6COtr3FXlklNITjjYSgDrSLDpQ== 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 MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by CYXPR11MB8731.namprd11.prod.outlook.com (2603:10b6:930:db::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.27; Thu, 16 May 2024 12:00:10 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0%5]) with mapi id 15.20.7587.028; Thu, 16 May 2024 12:00:10 +0000 From: "Li, Pan2" To: Richard Biener CC: Tamar Christina , "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "kito.cheng@gmail.com" , "Liu, Hongtao" Subject: RE: [PATCH v5 1/3] Internal-fn: Support new IFN SAT_ADD for unsigned scalar int Thread-Topic: [PATCH v5 1/3] Internal-fn: Support new IFN SAT_ADD for unsigned scalar int Thread-Index: AQHapm2cTNGldiPhHUeqtEo5ZqiKTLGYAxwAgAAnuVCAAVlEgIAAFx/ggAAotICAAABK4A== Date: Thu, 16 May 2024 12:00:10 +0000 Message-ID: References: <20240515021407.1287623-1-pan2.li@intel.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: MW5PR11MB5908:EE_|CYXPR11MB8731:EE_ x-ms-office365-filtering-correlation-id: d4d9ffc4-1707-4486-c16f-08dc759fbccc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230031|1800799015|376005|366007|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?REdOdWtBMXF4OVBpQWdIZDVpeVZPN0dPU2RLbjc3K25lS1B2Y0hBYTdSbzla?= =?utf-8?B?RU90azdqdGpGa1Y2a3c0d2hlZjdWaWNMNm1Kc2ZPVzY1OVpCSy9tRjEwa1dT?= =?utf-8?B?SHZWL05lREJyR0ZJMHMvRmtDdkJNVmVaK2Jac2ZkMlRmcStHSDBDZjVlYVQ5?= =?utf-8?B?NEpONzBwTlIyMElMNHphTTVTNGlLejNmS2wrbG9udXRQbURBYVJWeGMzRHU5?= =?utf-8?B?aFpuN2NQQnozY3lTMjRHMVJNU0NBUnc5RG1uTmhDRkRnQldvek4rV3lucWY2?= =?utf-8?B?QmdRcFNQU2NuL3NLazlsRlVrTkVocEozdVI3TC9ZWS9PT2tnWGRuakFWV2NV?= =?utf-8?B?QXNXTUJvL2t5V1ZvOC9tS1FiUko2TEhtc1ZVcXNvVXlLTDFsalhvU1EzMG96?= =?utf-8?B?emdOdVg5S1ptdHRPcVh1UWlqb3AyVlVnd0dkMlpKOUVpWTRRaXpEcVlpV0xw?= =?utf-8?B?UXA5aDVNa0poWkdZajFzcXhHZzVBMjA1OUN5VGE1M2VTZXpmNkFidERJQnBK?= =?utf-8?B?V001UnZOcGZzOXNMVEl5anB6TE9MYjhRQmtESEtvK3JnYnZaR1Q2amdsdSth?= =?utf-8?B?SDE4QmFZSWk2STBla3ZQaWJjWmxCRDBEb0JLeGYvY2ZvOW5vRWRua3kvdGRi?= =?utf-8?B?NjE3NURlb29tWlhjRVV2UGhid3VrUjRUNHlUKzBKWWx4K1lhemxQQllwK3hK?= =?utf-8?B?clFQclNlbG9wVEJXWkFqb29sVGgwVjNQKzBGb0FIMmhPMzZtWk9PYVBnN2FL?= =?utf-8?B?Q01kd3JIRHd4dVZHRllTcTVOYWE1WnNhVHlXT0ZCUXJwOTBrQUoxUHVCZzZv?= =?utf-8?B?R3kzVTJmT0JrdUw0dHBvOTJZRnNxL0NhQWk2TW1QU2NTaHhaZkIzTEh2NDBV?= =?utf-8?B?MWV6bWp0V3pCMWlKRllWTXNoRngyNDBKd004bklqbU03WHFmdWxxeU9tMk5R?= =?utf-8?B?Ynd6V3lERTBXK05oNjhpalY4bDJzSUJkaUpLWUVIZzhsOEthMC9hOThQVndm?= =?utf-8?B?TkRRTkFsSG52anlPeVROenNoZEg1NEdJcDdKNS9Hd3F1ckUrNThWZmJmOEht?= =?utf-8?B?NXI4eEMvZGlWcGpsQ3YvWlQyVVR5bFZsZ2J1VU1tdlZNQlYzNkk2dmdnRHE3?= =?utf-8?B?emxYNXNMM1FibklSek5ROHdCSTI0NndSdGdPdXZXZ0dMQUF2TFF3b1ZsSm1I?= =?utf-8?B?QjluUEE1cEJwWW81ZnBIa2VVZ1JYeHhHakEyVStzT1BEcklJNlp1UFFQbmpN?= =?utf-8?B?TEpoQWprcEFkNFk3bFo3STBXK3dJU3dTd2l6a29UdzZDR3NuUTRJK0hOSmsv?= =?utf-8?B?WmMxSzJmZTZmN2JsTm9jMzhadXd5ZjJ6eUttamRQTkJNT2duNnVnOWhYQUJp?= =?utf-8?B?ckNMOXpocDllTWYxWG8rb3ZVTkhSRTlMb0dNZGM4aU83aWVuaFN0dnptY2ly?= =?utf-8?B?ZmRyUWJtMkFjaCtDSlN6bUd5UmQycGExRUtyQzlwSXluUi9NaHFDZzRxN2Zr?= =?utf-8?B?UGw5R0RSbzRmMnhTSWkwM0l6RG9WRzFxak1sRngzcGQ2SkE0MEczL2FHZUVN?= =?utf-8?B?QlVySC9zM3hSSm1kdnh2VmhROGlvN3pObFNaUFQ3bEpnYkJDMXB4TmpFblp0?= =?utf-8?B?NXljajJnaEJmSThCaWk5T25pTzdYb2JHMXF3SVVxWWJtUmgxeDBJemZQQVNW?= =?utf-8?B?Z3Y0czFIVmorTG9WMmx4cjB3RGc5Mk9HR1BuN3hGRHc0TVZMRG9BTU9hejln?= =?utf-8?B?VG1SVU4xZ1d2alpHTmhLdWdodXBvMm5LNlhCcUlqTzJVSEtXMGN6ZEpPZmh4?= =?utf-8?B?NEFEMFNmc29SVEg4clJQUT09?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?anlUSHlYNFNlOTlrN0x5Qm12d2htZzYvUFR5WGdzaXFaS0ovYnE2WVdCc2xv?= =?utf-8?B?QWI2ekY4VldERGhISE4wYjRQT1ZNNXYxbVpCcXJTcmdWOUZRN002d2x3S1dY?= =?utf-8?B?TmoyUzF1c0RFSlVzZXJCaHFVVlV1ck5rejY1WnJ0VHFpSlJoZThtVHNGbE0z?= =?utf-8?B?OWpPMmNmd0F2ZTlGdmQzUDBhbVNVUFJwY01Mei9BanpRSmFHZ3FJeUsxY3Qz?= =?utf-8?B?bXA4ZmJyalpIbXFJYmI2RGtWWUJRem13VnFYZktKeVBWNWtENXBQY3VkaDdT?= =?utf-8?B?RnkycHJLTzBuVS9PYlZ5RG53VHFrbGZFVUIrS2Nrd1RGSDVsWDhoZWJsc2xY?= =?utf-8?B?ZjY5RGw0N1owSGpwUHhDcjM4c0NMcEltRzNmYU9HaXEwSDNaaDE4eVZRMjMx?= =?utf-8?B?Y1NSU1pPOGlBVTFtSDNJa1k3eWpkR25lRHRpZHZUcGRYSnNuamZLbU9uQWcy?= =?utf-8?B?UGpQNExSalJ6YVhVYndhYjA0Ykl2enE3MDhIODYxTi83NjdjNjMxWGM5RjVv?= =?utf-8?B?VDEzQ2lUT2ppdURPcEtHbm5OV0VqVTRMbmVEMHJIV3o2K0JWZjBiRTNSb0hO?= =?utf-8?B?UWpVZkYwOFhtVUs5LzNXdFB0V0FzMTNSWlZHWHFJMHIvTnNTaTlVSWkvcjNS?= =?utf-8?B?eTJBRXc5TFBSUjUvUGlHcG9MdU1WTEZWOVNCeXJBT1Y3UGsxVFVZcHNXZkdx?= =?utf-8?B?OEUvdFNRT1VDa0h0TG5DSHZJWXJ5V2NrMzNPYVVDdE1CL0hELzZaN3Zpc3lj?= =?utf-8?B?dy8ybzFMd2ZrcE5lZFREb2RsdXVZYlE0bnRsY0lSQlVxelcwQWhZS2ljQU50?= =?utf-8?B?MFZZN1l2cnk4dFhMUm5tbkNzMDlxZmRRWFpIV3diRlFRNlJXbk50S3kxNDM0?= =?utf-8?B?QUVGNmRsSzR3ZW1laVlsR3NSVUc4U0p4ZW0rNkxUajVlSWZBOGZkb0tKVUla?= =?utf-8?B?ZEVxQ3FTemNqRllWL1Q0eERmZVdtejJndU1qM2Fkb2U2elNzb1ZWSWh5cTlZ?= =?utf-8?B?VkVvU1JuS0UyQWx4Wi8rK0h4OHRRQWRheVU3a2tSWmpnMUxTblJuMWE5dEJX?= =?utf-8?B?SFAxYitidzBaYmhaMU1xSEErUUEwNEJJK0Y1QllpYUhlczFyZm5iU0F1T3Rh?= =?utf-8?B?RlczMVBOQ2crSjkyNXVUSWJSdlN0Z21JUVIrZ1RqVlpuUTEybFFYdWtPbWFI?= =?utf-8?B?Vkt6Q0VVMkd6cHB6bzR6UGpQVU1CRHUvcTNxdUFsOVo3Y0t5b1BXREF2d0R1?= =?utf-8?B?bm1hR3lyanpvMEI0ZzZKSU1DNHltYVB6OGl0WTFmWVJUZ0J2ZENCT3p6L3Nu?= =?utf-8?B?eVhaMWx3bmduVHdNK2k1QkVMVjFZUWpLYVc1eFF0cDN3NUYwNHVMdkRDQmtI?= =?utf-8?B?ZTVuM0c3RXA0MkdNdE5IOXdCUXFkbkhDNm9Qa3pwZWpZQStQWEtzT2tnYWVt?= =?utf-8?B?K1ExRVFkY3RKSEUrL2U0djhGckhRQnd3YWZqQVh2UU9VcFJTZ25KZ3RsNzg3?= =?utf-8?B?b2RZckRRbG56RE5vdXhjSW4vOUFsNzJYWkt3Rnp1NDFKT3QxVEJPSktVWk50?= =?utf-8?B?YkZPa05hTUluKzI1dEhHbWtPdG5ITFR1a3hPNVZ2SjVFR1lSbCs2aHAzQ3ZN?= =?utf-8?B?TkxXSGoxWlk3MExNSU9ORml0Z0diYWF0R3VlbzZzL1puNWhVRzdGQXNlREEy?= =?utf-8?B?M0hMcWRXUHF6ZXd0b2NROHEzbmttR0J2ck1Hcy95N1U1VnZvTzQ4eXhKMWo1?= =?utf-8?B?UEp2QUNMNTI0MW1UdVFKYWdmNjFPWTlzbzQ5d3BXUFUzZlhHcXhTdGtqRUt0?= =?utf-8?B?bDF0SkIyNC9YcFkvQTlucWlMcHU5QVdnakRPK2p1S2xFc2hmSHN0TVV0ak1P?= =?utf-8?B?cGdNZzlPNFVtbXNCV0x1eE9xc1BwbDlPNTh2TnZoNG55SFN1bGp1VzdURGo1?= =?utf-8?B?YXh6RS8xNjIwalZVK3JzQk5YeW1TR0VDV0JkbzRjOGx4ZkljbFJBZ0MvS3ZZ?= =?utf-8?B?aldmZ2taSjFOdFAzczNYbTRSb1ZVL1pxNlZkbFBTQnh0ZHZyUVIyWDl4aldm?= =?utf-8?B?UFE0dHB0Z2V3amNKdCtya20vSXNzOW50WVhCMmhoOWhTamgxVkxqRXBDdTdW?= =?utf-8?Q?V6PU=3D?= 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: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4d9ffc4-1707-4486-c16f-08dc759fbccc X-MS-Exchange-CrossTenant-originalarrivaltime: 16 May 2024 12:00:10.7508 (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: nl08WFmjvKUrP5yAX97EI+DpnmQTEyOTzOMXAudy+xGvdMU3p4FazJm/KWyLJXrEhRWKWtQ1i0sY0xypraYOwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR11MB8731 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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: PiBGb3IgdGhlIHNlcmllcywgdGhlIHJpc2N2IHNwZWNpZmljIHBhcnQgb2YgY291cnNlIG5lZWRz IHJpc2N2IGFwcHJvdmFsLg0KDQpUaGFua3MgYSBsb3QsIGhhdmUgYSBuaWNlIGRheSENCg0KUGFu DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBSaWNoYXJkIEJpZW5lciA8cmlj aGFyZC5ndWVudGhlckBnbWFpbC5jb20+IA0KU2VudDogVGh1cnNkYXksIE1heSAxNiwgMjAyNCA3 OjU5IFBNDQpUbzogTGksIFBhbjIgPHBhbjIubGlAaW50ZWwuY29tPg0KQ2M6IFRhbWFyIENocmlz dGluYSA8VGFtYXIuQ2hyaXN0aW5hQGFybS5jb20+OyBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzsg anV6aGUuemhvbmdAcml2YWkuYWk7IGtpdG8uY2hlbmdAZ21haWwuY29tOyBMaXUsIEhvbmd0YW8g PGhvbmd0YW8ubGl1QGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbUEFUQ0ggdjUgMS8zXSBJbnRl cm5hbC1mbjogU3VwcG9ydCBuZXcgSUZOIFNBVF9BREQgZm9yIHVuc2lnbmVkIHNjYWxhciBpbnQN Cg0KT24gVGh1LCBNYXkgMTYsIDIwMjQgYXQgMTE6MzXigK9BTSBMaSwgUGFuMiA8cGFuMi5saUBp bnRlbC5jb20+IHdyb3RlOg0KPg0KPiA+IE9LLg0KPg0KPiBUaGFua3MgUmljaGFyZCBmb3IgaGVs cCBhbmQgY29hY2hpbmcuIFRvIGRvdWJsZSBjb25maXJtLCBhcmUgeW91IE9LIHdpdGggdGhpcyBw YXRjaCBvbmx5IG9yIGZvciB0aGUgc2VyaWVzIHBhdGNoKGVzKSBvZiBTQVQgbWlkZGxlLWVuZD8N Cj4gVGhhbmtzIGFnYWluIGZvciByZXZpZXdpbmcgYW5kIHN1Z2dlc3Rpb25zLg0KDQpGb3IgdGhl IHNlcmllcywgdGhlIHJpc2N2IHNwZWNpZmljIHBhcnQgb2YgY291cnNlIG5lZWRzIHJpc2N2IGFw cHJvdmFsLg0KDQo+IFBhbg0KPg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t OiBSaWNoYXJkIEJpZW5lciA8cmljaGFyZC5ndWVudGhlckBnbWFpbC5jb20+DQo+IFNlbnQ6IFRo dXJzZGF5LCBNYXkgMTYsIDIwMjQgNDoxMCBQTQ0KPiBUbzogTGksIFBhbjIgPHBhbjIubGlAaW50 ZWwuY29tPg0KPiBDYzogVGFtYXIgQ2hyaXN0aW5hIDxUYW1hci5DaHJpc3RpbmFAYXJtLmNvbT47 IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBqdXpoZS56aG9uZ0ByaXZhaS5haTsga2l0by5jaGVu Z0BnbWFpbC5jb207IExpdSwgSG9uZ3RhbyA8aG9uZ3Rhby5saXVAaW50ZWwuY29tPg0KPiBTdWJq ZWN0OiBSZTogW1BBVENIIHY1IDEvM10gSW50ZXJuYWwtZm46IFN1cHBvcnQgbmV3IElGTiBTQVRf QUREIGZvciB1bnNpZ25lZCBzY2FsYXIgaW50DQo+DQo+IE9uIFdlZCwgTWF5IDE1LCAyMDI0IGF0 IDE6MzbigK9QTSBMaSwgUGFuMiA8cGFuMi5saUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+DQo+ID4g PiBMR1RNIGJ1dCB5b3UnbGwgbmVlZCBhbiBPSyBmcm9tIFJpY2hhcmQsDQo+ID4gPiBUaGFua3Mg Zm9yIHdvcmtpbmcgb24gdGhpcyENCj4gPg0KPiA+IFRoYW5rcyBUYW1hciBmb3IgaGVscCBhbmQg Y29hY2hpbmcsIGxldCdzIHdhaXQgUmljaGFyZCBmb3IgYSB3aGlsZSzwn5iKIQ0KPg0KPiBPSy4N Cj4NCj4gVGhhbmtzIGZvciB0aGUgcGF0aWVuY2UsDQo+IFJpY2hhcmQuDQo+DQo+ID4gUGFuDQo+ ID4NCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IFRhbWFyIENocmlz dGluYSA8VGFtYXIuQ2hyaXN0aW5hQGFybS5jb20+DQo+ID4gU2VudDogV2VkbmVzZGF5LCBNYXkg MTUsIDIwMjQgNToxMiBQTQ0KPiA+IFRvOiBMaSwgUGFuMiA8cGFuMi5saUBpbnRlbC5jb20+OyBn Y2MtcGF0Y2hlc0BnY2MuZ251Lm9yZw0KPiA+IENjOiBqdXpoZS56aG9uZ0ByaXZhaS5haTsga2l0 by5jaGVuZ0BnbWFpbC5jb207IHJpY2hhcmQuZ3VlbnRoZXJAZ21haWwuY29tOyBMaXUsIEhvbmd0 YW8gPGhvbmd0YW8ubGl1QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW1BBVENIIHY1IDEv M10gSW50ZXJuYWwtZm46IFN1cHBvcnQgbmV3IElGTiBTQVRfQUREIGZvciB1bnNpZ25lZCBzY2Fs YXIgaW50DQo+ID4NCj4gPiBIaSBQYW4sDQo+ID4NCj4gPiBUaGFua3MhDQo+ID4NCj4gPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBwYW4yLmxpQGludGVsLmNvbSA8 cGFuMi5saUBpbnRlbC5jb20+DQo+ID4gPiBTZW50OiBXZWRuZXNkYXksIE1heSAxNSwgMjAyNCAz OjE0IEFNDQo+ID4gPiBUbzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcNCj4gPiA+IENjOiBqdXpo ZS56aG9uZ0ByaXZhaS5haTsga2l0by5jaGVuZ0BnbWFpbC5jb207IFRhbWFyIENocmlzdGluYQ0K PiA+ID4gPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPjsgcmljaGFyZC5ndWVudGhlckBnbWFpbC5j b207DQo+ID4gPiBob25ndGFvLmxpdUBpbnRlbC5jb207IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5j b20+DQo+ID4gPiBTdWJqZWN0OiBbUEFUQ0ggdjUgMS8zXSBJbnRlcm5hbC1mbjogU3VwcG9ydCBu ZXcgSUZOIFNBVF9BREQgZm9yIHVuc2lnbmVkIHNjYWxhcg0KPiA+ID4gaW50DQo+ID4gPg0KPiA+ ID4gRnJvbTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4NCj4gPiA+DQo+ID4gPiBUaGlzIHBh dGNoIHdvdWxkIGxpa2UgdG8gYWRkIHRoZSBtaWRkbGUtZW5kIHByZXNlbnRhdGlvbiBmb3IgdGhl DQo+ID4gPiBzYXR1cmF0aW9uIGFkZC4gIEFrYSBzZXQgdGhlIHJlc3VsdCBvZiBhZGQgdG8gdGhl IG1heCB3aGVuIG92ZXJmbG93Lg0KPiA+ID4gSXQgd2lsbCB0YWtlIHRoZSBwYXR0ZXJuIHNpbWls YXIgYXMgYmVsb3cuDQo+ID4gPg0KPiA+ID4gU0FUX0FERCAoeCwgeSkgPT4gKHggKyB5KSB8ICgt KFRZUEUpKChUWVBFKSh4ICsgeSkgPCB4KSkNCj4gPiA+DQo+ID4gPiBUYWtlIHVpbnQ4X3QgYXMg ZXhhbXBsZSwgd2Ugd2lsbCBoYXZlOg0KPiA+ID4NCj4gPiA+ICogU0FUX0FERCAoMSwgMjU0KSAg ID0+IDI1NS4NCj4gPiA+ICogU0FUX0FERCAoMSwgMjU1KSAgID0+IDI1NS4NCj4gPiA+ICogU0FU X0FERCAoMiwgMjU1KSAgID0+IDI1NS4NCj4gPiA+ICogU0FUX0FERCAoMjU1LCAyNTUpID0+IDI1 NS4NCj4gPiA+DQo+ID4gPiBHaXZlbiBiZWxvdyBleGFtcGxlIGZvciB0aGUgdW5zaWduZWQgc2Nh bGFyIGludGVnZXIgdWludDY0X3Q6DQo+ID4gPg0KPiA+ID4gdWludDY0X3Qgc2F0X2FkZF91NjQg KHVpbnQ2NF90IHgsIHVpbnQ2NF90IHkpDQo+ID4gPiB7DQo+ID4gPiAgIHJldHVybiAoeCArIHkp IHwgKC0gKHVpbnQ2NF90KSgodWludDY0X3QpKHggKyB5KSA8IHgpKTsNCj4gPiA+IH0NCj4gPiA+ DQo+ID4gPiBCZWZvcmUgdGhpcyBwYXRjaDoNCj4gPiA+IHVpbnQ2NF90IHNhdF9hZGRfdWludDY0 X3QgKHVpbnQ2NF90IHgsIHVpbnQ2NF90IHkpDQo+ID4gPiB7DQo+ID4gPiAgIGxvbmcgdW5zaWdu ZWQgaW50IF8xOw0KPiA+ID4gICBfQm9vbCBfMjsNCj4gPiA+ICAgbG9uZyB1bnNpZ25lZCBpbnQg XzM7DQo+ID4gPiAgIGxvbmcgdW5zaWduZWQgaW50IF80Ow0KPiA+ID4gICB1aW50NjRfdCBfNzsN Cj4gPiA+ICAgbG9uZyB1bnNpZ25lZCBpbnQgXzEwOw0KPiA+ID4gICBfX2NvbXBsZXhfXyBsb25n IHVuc2lnbmVkIGludCBfMTE7DQo+ID4gPg0KPiA+ID4gOzsgICBiYXNpYyBibG9jayAyLCBsb29w IGRlcHRoIDANCj4gPiA+IDs7ICAgIHByZWQ6ICAgICAgIEVOVFJZDQo+ID4gPiAgIF8xMSA9IC5B RERfT1ZFUkZMT1cgKHhfNShEKSwgeV82KEQpKTsNCj4gPiA+ICAgXzEgPSBSRUFMUEFSVF9FWFBS IDxfMTE+Ow0KPiA+ID4gICBfMTAgPSBJTUFHUEFSVF9FWFBSIDxfMTE+Ow0KPiA+ID4gICBfMiA9 IF8xMCAhPSAwOw0KPiA+ID4gICBfMyA9IChsb25nIHVuc2lnbmVkIGludCkgXzI7DQo+ID4gPiAg IF80ID0gLV8zOw0KPiA+ID4gICBfNyA9IF8xIHwgXzQ7DQo+ID4gPiAgIHJldHVybiBfNzsNCj4g PiA+IDs7ICAgIHN1Y2M6ICAgICAgIEVYSVQNCj4gPiA+DQo+ID4gPiB9DQo+ID4gPg0KPiA+ID4g QWZ0ZXIgdGhpcyBwYXRjaDoNCj4gPiA+IHVpbnQ2NF90IHNhdF9hZGRfdWludDY0X3QgKHVpbnQ2 NF90IHgsIHVpbnQ2NF90IHkpDQo+ID4gPiB7DQo+ID4gPiAgIHVpbnQ2NF90IF83Ow0KPiA+ID4N Cj4gPiA+IDs7ICAgYmFzaWMgYmxvY2sgMiwgbG9vcCBkZXB0aCAwDQo+ID4gPiA7OyAgICBwcmVk OiAgICAgICBFTlRSWQ0KPiA+ID4gICBfNyA9IC5TQVRfQUREICh4XzUoRCksIHlfNihEKSk7IFt0 YWlsIGNhbGxdDQo+ID4gPiAgIHJldHVybiBfNzsNCj4gPiA+IDs7ICAgIHN1Y2M6ICAgICAgIEVY SVQNCj4gPiA+IH0NCj4gPiA+DQo+ID4gPiBUaGUgYmVsb3cgdGVzdHMgYXJlIHBhc3NlZCBmb3Ig dGhpcyBwYXRjaDoNCj4gPiA+IDEuIFRoZSByaXNjdiBmdWxseSByZWdyZXNzaW9uIHRlc3RzLg0K PiA+ID4gMy4gVGhlIHg4NiBib290c3RyYXAgdGVzdHMuDQo+ID4gPiA0LiBUaGUgeDg2IGZ1bGx5 IHJlZ3Jlc3Npb24gdGVzdHMuDQo+ID4gPg0KPiA+ID4gICAgICAgUFIgdGFyZ2V0LzUxNDkyDQo+ ID4gPiAgICAgICBQUiB0YXJnZXQvMTEyNjAwDQo+ID4gPg0KPiA+ID4gZ2NjL0NoYW5nZUxvZzoN Cj4gPiA+DQo+ID4gPiAgICAgICAqIGludGVybmFsLWZuLmNjIChjb21tdXRhdGl2ZV9iaW5hcnlf Zm5fcCk6IEFkZCB0eXBlIElGTl9TQVRfQUREDQo+ID4gPiAgICAgICB0byB0aGUgcmV0dXJuIHRy dWUgc3dpdGNoIGNhc2UocykuDQo+ID4gPiAgICAgICAqIGludGVybmFsLWZuLmRlZiAoU0FUX0FE RCk6ICBBZGQgbmV3IHNpZ25lZCBvcHRhYiBTQVRfQURELg0KPiA+ID4gICAgICAgKiBtYXRjaC5w ZDogQWRkIHVuc2lnbmVkIFNBVF9BREQgbWF0Y2goZXMpLg0KPiA+ID4gICAgICAgKiBvcHRhYnMu ZGVmIChPUFRBQl9OTCk6IFJlbW92ZSBmaXhlZC1wb2ludCBsaW1pdGF0aW9uIGZvcg0KPiA+ID4g ICAgICAgdXMvc3NhZGQuDQo+ID4gPiAgICAgICAqIHRyZWUtc3NhLW1hdGgtb3B0cy5jYyAoZ2lt cGxlX3Vuc2lnbmVkX2ludGVnZXJfc2F0X2FkZCk6IE5ldw0KPiA+ID4gICAgICAgZXh0ZXJuIGZ1 bmMgZGVjbCBnZW5lcmF0ZWQgaW4gbWF0Y2gucGQgbWF0Y2guDQo+ID4gPiAgICAgICAobWF0Y2hf c2F0dXJhdGlvbl9hcml0aCk6IE5ldyBmdW5jIGltcGwgdG8gbWF0Y2ggdGhlIHNhdHVyYXRpb24g YXJpdGguDQo+ID4gPiAgICAgICAobWF0aF9vcHRzX2RvbV93YWxrZXI6OmFmdGVyX2RvbV9jaGls ZHJlbik6IFRyeSBtYXRjaCBzYXR1cmF0aW9uDQo+ID4gPiAgICAgICBhcml0aCB3aGVuIElPUiBl eHByLg0KPiA+ID4NCj4gPg0KPiA+ICBMR1RNIGJ1dCB5b3UnbGwgbmVlZCBhbiBPSyBmcm9tIFJp Y2hhcmQsDQo+ID4NCj4gPiBUaGFua3MgZm9yIHdvcmtpbmcgb24gdGhpcyENCj4gPg0KPiA+IFRh bWFyDQo+ID4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+ DQo+ID4gPiAtLS0NCj4gPiA+ICBnY2MvaW50ZXJuYWwtZm4uY2MgICAgICAgIHwgIDEgKw0KPiA+ ID4gIGdjYy9pbnRlcm5hbC1mbi5kZWYgICAgICAgfCAgMiArKw0KPiA+ID4gIGdjYy9tYXRjaC5w ZCAgICAgICAgICAgICAgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysNCj4gPiA+ICBnY2Mvb3B0YWJzLmRlZiAgICAgICAgICAgIHwgIDQgKy0tDQo+ID4gPiAgZ2Nj L3RyZWUtc3NhLW1hdGgtb3B0cy5jYyB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ ID4gIDUgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4g PiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZ2NjL2ludGVybmFsLWZuLmNjIGIvZ2NjL2ludGVybmFs LWZuLmNjDQo+ID4gPiBpbmRleCAwYTcwNTNjMjI4Ni4uNzMwNDVjYThjOGMgMTAwNjQ0DQo+ID4g PiAtLS0gYS9nY2MvaW50ZXJuYWwtZm4uY2MNCj4gPiA+ICsrKyBiL2djYy9pbnRlcm5hbC1mbi5j Yw0KPiA+ID4gQEAgLTQyMDIsNiArNDIwMiw3IEBAIGNvbW11dGF0aXZlX2JpbmFyeV9mbl9wIChp bnRlcm5hbF9mbiBmbikNCj4gPiA+ICAgICAgY2FzZSBJRk5fVUJTQU5fQ0hFQ0tfTVVMOg0KPiA+ ID4gICAgICBjYXNlIElGTl9BRERfT1ZFUkZMT1c6DQo+ID4gPiAgICAgIGNhc2UgSUZOX01VTF9P VkVSRkxPVzoNCj4gPiA+ICsgICAgY2FzZSBJRk5fU0FUX0FERDoNCj4gPiA+ICAgICAgY2FzZSBJ Rk5fVkVDX1dJREVOX1BMVVM6DQo+ID4gPiAgICAgIGNhc2UgSUZOX1ZFQ19XSURFTl9QTFVTX0xP Og0KPiA+ID4gICAgICBjYXNlIElGTl9WRUNfV0lERU5fUExVU19ISToNCj4gPiA+IGRpZmYgLS1n aXQgYS9nY2MvaW50ZXJuYWwtZm4uZGVmIGIvZ2NjL2ludGVybmFsLWZuLmRlZg0KPiA+ID4gaW5k ZXggODQ4YmI5ZGJmZjMuLjI1YmFkYmI4NmU1IDEwMDY0NA0KPiA+ID4gLS0tIGEvZ2NjL2ludGVy bmFsLWZuLmRlZg0KPiA+ID4gKysrIGIvZ2NjL2ludGVybmFsLWZuLmRlZg0KPiA+ID4gQEAgLTI3 NSw2ICsyNzUsOCBAQCBERUZfSU5URVJOQUxfU0lHTkVEX09QVEFCX0ZOIChNVUxIUywgRUNGX0NP TlNUDQo+ID4gPiB8IEVDRl9OT1RIUk9XLCBmaXJzdCwNCj4gPiA+ICBERUZfSU5URVJOQUxfU0lH TkVEX09QVEFCX0ZOIChNVUxIUlMsIEVDRl9DT05TVCB8IEVDRl9OT1RIUk9XLA0KPiA+ID4gZmly c3QsDQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc211bGhycywgdW11bGhycywg YmluYXJ5KQ0KPiA+ID4NCj4gPiA+ICtERUZfSU5URVJOQUxfU0lHTkVEX09QVEFCX0ZOIChTQVRf QURELCBFQ0ZfQ09OU1QsIGZpcnN0LCBzc2FkZCwgdXNhZGQsDQo+ID4gPiBiaW5hcnkpDQo+ID4g PiArDQo+ID4gPiAgREVGX0lOVEVSTkFMX0NPTkRfRk4gKEFERCwgRUNGX0NPTlNULCBhZGQsIGJp bmFyeSkNCj4gPiA+ICBERUZfSU5URVJOQUxfQ09ORF9GTiAoU1VCLCBFQ0ZfQ09OU1QsIHN1Yiwg YmluYXJ5KQ0KPiA+ID4gIERFRl9JTlRFUk5BTF9DT05EX0ZOIChNVUwsIEVDRl9DT05TVCwgc211 bCwgYmluYXJ5KQ0KPiA+ID4gZGlmZiAtLWdpdCBhL2djYy9tYXRjaC5wZCBiL2djYy9tYXRjaC5w ZA0KPiA+ID4gaW5kZXggMDdlNzQzYWU0NjQuLjBmOWMzNGZhODk3IDEwMDY0NA0KPiA+ID4gLS0t IGEvZ2NjL21hdGNoLnBkDQo+ID4gPiArKysgYi9nY2MvbWF0Y2gucGQNCj4gPiA+IEBAIC0zMDQz LDYgKzMwNDMsNTcgQEAgREVGSU5FX0lOVF9BTkRfRkxPQVRfUk9VTkRfRk4gKFJJTlQpDQo+ID4g PiAgICAgICAgIHx8IFBPSU5URVJfVFlQRV9QIChpdHlwZSkpDQo+ID4gPiAgICAgICAgJiYgd2k6 OmVxX3AgKHdpOjp0b193aWRlIChpbnRfY3N0KSwgd2k6Om1heF92YWx1ZSAoaXR5cGUpKSkpKSkN Cj4gPiA+DQo+ID4gPiArLyogVW5zaWduZWQgU2F0dXJhdGlvbiBBZGQgKi8NCj4gPiA+ICsobWF0 Y2ggKHVzYWRkX2xlZnRfcGFydF8xIEAwIEAxKQ0KPiA+ID4gKyAocGx1czpjIEAwIEAxKQ0KPiA+ ID4gKyAoaWYgKElOVEVHUkFMX1RZUEVfUCAodHlwZSkNCj4gPiA+ICsgICAgICAmJiBUWVBFX1VO U0lHTkVEIChUUkVFX1RZUEUgKEAwKSkNCj4gPiA+ICsgICAgICAmJiB0eXBlc19tYXRjaCAodHlw ZSwgVFJFRV9UWVBFIChAMCkpDQo+ID4gPiArICAgICAgJiYgdHlwZXNfbWF0Y2ggKHR5cGUsIFRS RUVfVFlQRSAoQDEpKSkpKQ0KPiA+ID4gKw0KPiA+ID4gKyhtYXRjaCAodXNhZGRfbGVmdF9wYXJ0 XzIgQDAgQDEpDQo+ID4gPiArIChyZWFscGFydCAoSUZOX0FERF9PVkVSRkxPVzpjIEAwIEAxKSkN Cj4gPiA+ICsgKGlmIChJTlRFR1JBTF9UWVBFX1AgKHR5cGUpDQo+ID4gPiArICAgICAgJiYgVFlQ RV9VTlNJR05FRCAoVFJFRV9UWVBFIChAMCkpDQo+ID4gPiArICAgICAgJiYgdHlwZXNfbWF0Y2gg KHR5cGUsIFRSRUVfVFlQRSAoQDApKQ0KPiA+ID4gKyAgICAgICYmIHR5cGVzX21hdGNoICh0eXBl LCBUUkVFX1RZUEUgKEAxKSkpKSkNCj4gPiA+ICsNCj4gPiA+ICsobWF0Y2ggKHVzYWRkX3JpZ2h0 X3BhcnRfMSBAMCBAMSkNCj4gPiA+ICsgKG5lZ2F0ZSAoY29udmVydCAobHQgKHBsdXM6YyBAMCBA MSkgQDApKSkNCj4gPiA+ICsgKGlmIChJTlRFR1JBTF9UWVBFX1AgKHR5cGUpDQo+ID4gPiArICAg ICAgJiYgVFlQRV9VTlNJR05FRCAoVFJFRV9UWVBFIChAMCkpDQo+ID4gPiArICAgICAgJiYgdHlw ZXNfbWF0Y2ggKHR5cGUsIFRSRUVfVFlQRSAoQDApKQ0KPiA+ID4gKyAgICAgICYmIHR5cGVzX21h dGNoICh0eXBlLCBUUkVFX1RZUEUgKEAxKSkpKSkNCj4gPiA+ICsNCj4gPiA+ICsobWF0Y2ggKHVz YWRkX3JpZ2h0X3BhcnRfMSBAMCBAMSkNCj4gPiA+ICsgKG5lZ2F0ZSAoY29udmVydCAoZ3QgQDAg KHBsdXM6YyBAMCBAMSkpKSkNCj4gPiA+ICsgKGlmIChJTlRFR1JBTF9UWVBFX1AgKHR5cGUpDQo+ ID4gPiArICAgICAgJiYgVFlQRV9VTlNJR05FRCAoVFJFRV9UWVBFIChAMCkpDQo+ID4gPiArICAg ICAgJiYgdHlwZXNfbWF0Y2ggKHR5cGUsIFRSRUVfVFlQRSAoQDApKQ0KPiA+ID4gKyAgICAgICYm IHR5cGVzX21hdGNoICh0eXBlLCBUUkVFX1RZUEUgKEAxKSkpKSkNCj4gPiA+ICsNCj4gPiA+ICso bWF0Y2ggKHVzYWRkX3JpZ2h0X3BhcnRfMiBAMCBAMSkNCj4gPiA+ICsgKG5lZ2F0ZSAoY29udmVy dCAobmUgKGltYWdwYXJ0IChJRk5fQUREX09WRVJGTE9XOmMgQDAgQDEpKQ0KPiA+ID4gaW50ZWdl cl96ZXJvcCkpKQ0KPiA+ID4gKyAoaWYgKElOVEVHUkFMX1RZUEVfUCAodHlwZSkNCj4gPiA+ICsg ICAgICAmJiBUWVBFX1VOU0lHTkVEIChUUkVFX1RZUEUgKEAwKSkNCj4gPiA+ICsgICAgICAmJiB0 eXBlc19tYXRjaCAodHlwZSwgVFJFRV9UWVBFIChAMCkpDQo+ID4gPiArICAgICAgJiYgdHlwZXNf bWF0Y2ggKHR5cGUsIFRSRUVfVFlQRSAoQDEpKSkpKQ0KPiA+ID4gKw0KPiA+ID4gKy8qIFdlIGNh bm5vdCBtZXJnZSBvciBvdmVybG9hZCB1c2FkZF9sZWZ0X3BhcnRfMSBhbmQgdXNhZGRfbGVmdF9w YXJ0XzINCj4gPiA+ICsgICBiZWNhdXNlIHRoZSBzdWIgcGFydCBvZiBsZWZ0X3BhcnRfMiBjYW5u b3Qgd29yayB3aXRoIHJpZ2h0X3BhcnRfMS4NCj4gPiA+ICsgICBGb3IgZXhhbXBsZSwgbGVmdF9w YXJ0XzIgcGF0dGVybiBmb2N1cyBvbmUgLkFERF9PVkVSRkxPVyBidXQgdGhlDQo+ID4gPiArICAg cmlnaHRfcGFydF8xIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggLkFERF9PVkVSRkxPVy4gICovDQo+ ID4gPiArDQo+ID4gPiArLyogVW5zaWduZWQgc2F0dXJhdGlvbiBhZGQsIGNhc2UgMSAoYnJhbmNo bGVzcyk6DQo+ID4gPiArICAgU0FUX1VfQUREID0gKFggKyBZKSB8IC0gKChYICsgWSkgPCBYKSBv cg0KPiA+ID4gKyAgIFNBVF9VX0FERCA9IChYICsgWSkgfCAtIChYID4gKFggKyBZKSkuICAqLw0K PiA+ID4gKyhtYXRjaCAodW5zaWduZWRfaW50ZWdlcl9zYXRfYWRkIEAwIEAxKQ0KPiA+ID4gKyAo Yml0X2lvcjpjICh1c2FkZF9sZWZ0X3BhcnRfMSBAMCBAMSkgKHVzYWRkX3JpZ2h0X3BhcnRfMSBA MCBAMSkpKQ0KPiA+ID4gKw0KPiA+ID4gKy8qIFVuc2lnbmVkIHNhdHVyYXRpb24gYWRkLCBjYXNl IDIgKGJyYW5jaGxlc3Mgd2l0aCAuQUREX09WRVJGTE9XKS4gICovDQo+ID4gPiArKG1hdGNoICh1 bnNpZ25lZF9pbnRlZ2VyX3NhdF9hZGQgQDAgQDEpDQo+ID4gPiArIChiaXRfaW9yOmMgKHVzYWRk X2xlZnRfcGFydF8yIEAwIEAxKSAodXNhZGRfcmlnaHRfcGFydF8yIEAwIEAxKSkpDQo+ID4gPiAr DQo+ID4gPiAgLyogeCA+ICB5ICAmJiAgeCAhPSBYWFhfTUlOICAtLT4gIHggPiB5DQo+ID4gPiAg ICAgeCA+ICB5ICAmJiAgeCA9PSBYWFhfTUlOICAtLT4gIGZhbHNlIC4gKi8NCj4gPiA+ICAoZm9y IGVxbmUgKGVxIG5lKQ0KPiA+ID4gZGlmZiAtLWdpdCBhL2djYy9vcHRhYnMuZGVmIGIvZ2NjL29w dGFicy5kZWYNCj4gPiA+IGluZGV4IGFkMTRmOTMyOGI5Li4zZjJjYjQ2YWZmOCAxMDA2NDQNCj4g PiA+IC0tLSBhL2djYy9vcHRhYnMuZGVmDQo+ID4gPiArKysgYi9nY2Mvb3B0YWJzLmRlZg0KPiA+ ID4gQEAgLTExMSw4ICsxMTEsOCBAQCBPUFRBQl9OWChhZGRfb3B0YWIsICJhZGQkRiRhMyIpDQo+ ID4gPiAgT1BUQUJfTlgoYWRkX29wdGFiLCAiYWRkJFEkYTMiKQ0KPiA+ID4gIE9QVEFCX1ZMKGFk ZHZfb3B0YWIsICJhZGR2JEkkYTMiLCBQTFVTLCAiYWRkIiwgJzMnLCBnZW5faW50dl9mcF9saWJm dW5jKQ0KPiA+ID4gIE9QVEFCX1ZYKGFkZHZfb3B0YWIsICJhZGQkRiRhMyIpDQo+ID4gPiAtT1BU QUJfTkwoc3NhZGRfb3B0YWIsICJzc2FkZCRRJGEzIiwgU1NfUExVUywgInNzYWRkIiwgJzMnLA0K PiA+ID4gZ2VuX3NpZ25lZF9maXhlZF9saWJmdW5jKQ0KPiA+ID4gLU9QVEFCX05MKHVzYWRkX29w dGFiLCAidXNhZGQkUSRhMyIsIFVTX1BMVVMsICJ1c2FkZCIsICczJywNCj4gPiA+IGdlbl91bnNp Z25lZF9maXhlZF9saWJmdW5jKQ0KPiA+ID4gK09QVEFCX05MKHNzYWRkX29wdGFiLCAic3NhZGQk YTMiLCBTU19QTFVTLCAic3NhZGQiLCAnMycsDQo+ID4gPiBnZW5fc2lnbmVkX2ZpeGVkX2xpYmZ1 bmMpDQo+ID4gPiArT1BUQUJfTkwodXNhZGRfb3B0YWIsICJ1c2FkZCRhMyIsIFVTX1BMVVMsICJ1 c2FkZCIsICczJywNCj4gPiA+IGdlbl91bnNpZ25lZF9maXhlZF9saWJmdW5jKQ0KPiA+ID4gIE9Q VEFCX05MKHN1Yl9vcHRhYiwgInN1YiRQJGEzIiwgTUlOVVMsICJzdWIiLCAnMycsIGdlbl9pbnRf ZnBfZml4ZWRfbGliZnVuYykNCj4gPiA+ICBPUFRBQl9OWChzdWJfb3B0YWIsICJzdWIkRiRhMyIp DQo+ID4gPiAgT1BUQUJfTlgoc3ViX29wdGFiLCAic3ViJFEkYTMiKQ0KPiA+ID4gZGlmZiAtLWdp dCBhL2djYy90cmVlLXNzYS1tYXRoLW9wdHMuY2MgYi9nY2MvdHJlZS1zc2EtbWF0aC1vcHRzLmNj DQo+ID4gPiBpbmRleCBlOGM4MDRmMDliNy4uNjJkYTFjNWVlMDggMTAwNjQ0DQo+ID4gPiAtLS0g YS9nY2MvdHJlZS1zc2EtbWF0aC1vcHRzLmNjDQo+ID4gPiArKysgYi9nY2MvdHJlZS1zc2EtbWF0 aC1vcHRzLmNjDQo+ID4gPiBAQCAtNDA4Niw2ICs0MDg2LDM2IEBAIGFyaXRoX292ZXJmbG93X2No ZWNrX3AgKGdpbXBsZSAqc3RtdCwgZ2ltcGxlDQo+ID4gPiAqY2FzdF9zdG10LCBnaW1wbGUgKiZ1 c2Vfc3RtdCwNCj4gPiA+ICAgIHJldHVybiAwOw0KPiA+ID4gIH0NCj4gPiA+DQo+ID4gPiArZXh0 ZXJuIGJvb2wgZ2ltcGxlX3Vuc2lnbmVkX2ludGVnZXJfc2F0X2FkZCAodHJlZSwgdHJlZSosIHRy ZWUgKCopKHRyZWUpKTsNCj4gPiA+ICsNCj4gPiA+ICsvKg0KPiA+ID4gKyAqIFRyeSB0byBtYXRj aCBzYXR1cmF0aW9uIGFyaXRoIHBhdHRlcm4ocykuDQo+ID4gPiArICogICAxLiBTQVRfQUREICh1 bnNpZ25lZCkNCj4gPiA+ICsgKiAgICAgIF83ID0gXzQgKyBfNjsNCj4gPiA+ICsgKiAgICAgIF84 ID0gXzQgPiBfNzsNCj4gPiA+ICsgKiAgICAgIF85ID0gKGxvbmcgdW5zaWduZWQgaW50KSBfODsN Cj4gPiA+ICsgKiAgICAgIF8xMCA9IC1fOTsNCj4gPiA+ICsgKiAgICAgIF8xMiA9IF83IHwgXzEw Ow0KPiA+ID4gKyAqICAgICAgPT4NCj4gPiA+ICsgKiAgICAgIF8xMiA9IC5TQVRfQUREIChfNCwg XzYpOyAgKi8NCj4gPiA+ICtzdGF0aWMgdm9pZA0KPiA+ID4gK21hdGNoX3NhdHVyYXRpb25fYXJp dGggKGdpbXBsZV9zdG10X2l0ZXJhdG9yICpnc2ksIGdhc3NpZ24gKnN0bXQpDQo+ID4gPiArew0K PiA+ID4gKyAgZ2NhbGwgKmNhbGwgPSBOVUxMOw0KPiA+ID4gKw0KPiA+ID4gKyAgdHJlZSBvcHNb Ml07DQo+ID4gPiArICB0cmVlIGxocyA9IGdpbXBsZV9hc3NpZ25fbGhzIChzdG10KTsNCj4gPiA+ ICsNCj4gPiA+ICsgIGlmIChnaW1wbGVfdW5zaWduZWRfaW50ZWdlcl9zYXRfYWRkIChsaHMsIG9w cywgTlVMTCkNCj4gPiA+ICsgICAgICAmJiBkaXJlY3RfaW50ZXJuYWxfZm5fc3VwcG9ydGVkX3Ag KElGTl9TQVRfQURELCBUUkVFX1RZUEUgKGxocyksDQo+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPUFRJTUlaRV9GT1JfQk9USCkpDQo+ID4gPiArICAgIHsNCj4g PiA+ICsgICAgICBjYWxsID0gZ2ltcGxlX2J1aWxkX2NhbGxfaW50ZXJuYWwgKElGTl9TQVRfQURE LCAyLCBvcHNbMF0sIG9wc1sxXSk7DQo+ID4gPiArICAgICAgZ2ltcGxlX2NhbGxfc2V0X2xocyAo Y2FsbCwgbGhzKTsNCj4gPiA+ICsgICAgICBnc2lfcmVwbGFjZSAoZ3NpLCBjYWxsLCB0cnVlKTsN Cj4gPiA+ICsgICAgfQ0KPiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ICAvKiBSZWNvZ25pemUgZm9y IHVuc2lnbmVkIHgNCj4gPiA+ICAgICB4ID0geSAtIHo7DQo+ID4gPiAgICAgaWYgKHggPiB5KQ0K PiA+ID4gQEAgLTYwNDgsNiArNjA3OCw4IEBAIG1hdGhfb3B0c19kb21fd2Fsa2VyOjphZnRlcl9k b21fY2hpbGRyZW4NCj4gPiA+IChiYXNpY19ibG9jayBiYikNCj4gPiA+ICAgICAgICAgICAgIGJy ZWFrOw0KPiA+ID4NCj4gPiA+ICAgICAgICAgICBjYXNlIEJJVF9JT1JfRVhQUjoNCj4gPiA+ICsg ICAgICAgICAgIG1hdGNoX3NhdHVyYXRpb25fYXJpdGggKCZnc2ksIGFzX2E8Z2Fzc2lnbiAqPiAo c3RtdCkpOw0KPiA+ID4gKyAgICAgICAgICAgLyogZmFsbC10aHJvdWdoICAqLw0KPiA+ID4gICAg ICAgICAgIGNhc2UgQklUX1hPUl9FWFBSOg0KPiA+ID4gICAgICAgICAgICAgbWF0Y2hfdWFkZGNf dXN1YmMgKCZnc2ksIHN0bXQsIGNvZGUpOw0KPiA+ID4gICAgICAgICAgICAgYnJlYWs7DQo+ID4g PiAtLQ0KPiA+ID4gMi4zNC4xDQo+ID4NCg==