From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id EBCF23858D33 for ; Wed, 22 Nov 2023 02:30:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EBCF23858D33 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 EBCF23858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.55.52.136 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700620219; cv=pass; b=DoLZH1amYVAQTKYTwokAKkZbdPElWNhuB+3xAy/xPc8tlWo/+9Ge9MemQkroosI8BypCX34eW6u3986kCJe5ROEShdznkyxlxBp578nKhQfl9N9rhWCA9l31qKACZu+BJiwAgt74Qcem3IIV8dTrmEzSxR0Mwb0MMcfXdFUK9zg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700620219; c=relaxed/simple; bh=rWn3Wr9nBrlRo++DtbUmL5oReirs9skG7zMKqr8JPnU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=I+oVo4O2RwUqIA5/zC68Cn5F2uJcZc0TbloTiNLf+w0b14vRLhZq6z1ifkWpg+kXOEIfWnICQL7v7pnUdSVGf0PTDBUlzJA+JvR9noEOZ3xfyjL8V+TFGKD133W2EIFraE6PVKhZtfIFROEmmKKelC1P5OKomNO8WB9Z8VSFJM4= 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=1700620217; x=1732156217; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=rWn3Wr9nBrlRo++DtbUmL5oReirs9skG7zMKqr8JPnU=; b=FfzLYT13jI0WYtjEShx3x1++eqX4HkLQ+b9ZZ887ejQSLxDtiVFfaaIC dt+tb4EvufwbropI1pT07ILKzE4D3dyXgePBjJKhSa6zazNpiJftHEAmA AFRt3dLWkqzuEiANa/0B5YGXp/LMw7jxTl27/T7OvR8gcunVUtmwWL+2u DsTJywxRnPbMov0XHX4+iYLxLfgFZJNsJqBeEq0vVMw2URPmYljH3U9nx UQKS0BLF5v9mSobRDOkBIlJotOpmOrBMm29ozMEgLcS2UUmAcK4A/u3ul xEldUda4iTmTeOkB1sMaVz8tEDtJBct0JVZs7OdsLHIhIve0+hoJ05m0z g==; X-IronPort-AV: E=McAfee;i="6600,9927,10901"; a="371318757" X-IronPort-AV: E=Sophos;i="6.04,217,1695711600"; d="scan'208";a="371318757" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 18:30:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10901"; a="857506384" X-IronPort-AV: E=Sophos;i="6.04,217,1695711600"; d="scan'208";a="857506384" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by FMSMGA003.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 21 Nov 2023 18:30:15 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.34; Tue, 21 Nov 2023 18:30:15 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Tue, 21 Nov 2023 18:30:14 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Tue, 21 Nov 2023 18:30:14 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.41) 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.34; Tue, 21 Nov 2023 18:30:13 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jAE/C9ZgAIOIIXBW677yhd9RJryZAvAmWJ3CHS1SRYXYx5scKAlr8XkfNmf73ng82nRwvx9FGvqiW8v/CHB2sGluzwOhsZQabfs3ivyTYlQwnwiLzMJwDZSJyQdy16Xg6RlWY7pj4wwK5T1DH2iQQFCHzXXXXVLdvH77kLCgNEC9Js8Ov4PP6niTfxHf26OmGBDOD0D2Edd1KmQJyq/VVzBBwyL59C51u5DjKuaqFouwNdDRaVDj1x+ICvJDtaBi5StMYqlvQXKG4SKXHC+JY8Iq7nIUGc/n7TpxJk4HVDvbU79bVcfvE0PUANN8leJFjkS6az5eo+bz+9o0JVNoJw== 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=rWn3Wr9nBrlRo++DtbUmL5oReirs9skG7zMKqr8JPnU=; b=m6q5+D891DJM26If7SJVo1JVsHaHUn/YZFBhk8hLGqCXZBij63mk3bhe5VJqgvf7v88DAXsRPnCRw/lj+i+pH6QcUf9eo+fj8+AFvL9jyVHfuCLbFDz0tegPm1cmJGhJvOKOjRYPtaMPnLTS6/E3mWl6pzotp69r5/JZS6VbfgeB26c5JPqN+/nZygt3IZaKGlUf3V+Y49mLDB6cSfLt5cVTcgkFRzMeiwnJiw+BSHfGKooFOPwHK48+0ClsYvQMlyCrqH2xZJ/6/pUwMf+dovy9y49s5YgNgEyRC60NLX7/YzjSj3yQ4kjwyhcMPCG4UJgrk+WXaTqVgAQldWFDsA== 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 SN7PR11MB6993.namprd11.prod.outlook.com (2603:10b6:806:2ac::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Wed, 22 Nov 2023 02:30:10 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::4317:53a0:2638:358c]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::4317:53a0:2638:358c%5]) with mapi id 15.20.7025.017; Wed, 22 Nov 2023 02:30:09 +0000 From: "Li, Pan2" To: "richard.sandiford@arm.com" CC: "juzhe.zhong@rivai.ai" , "Wang, Yanzhang" , "kito.cheng@gmail.com" , "richard.guenther@gmail.com" , "richard.sandiford@arm.com" , Jeff Law , "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH v4] DSE: Allow vector type for get_stored_val when read < store Thread-Topic: [PATCH v4] DSE: Allow vector type for get_stored_val when read < store Thread-Index: AQHaFeCtiILIvA/cUE6pVff5ehr+7bB4r4EAgAHWGDCAAAJoYIALIQ+A Date: Wed, 22 Nov 2023 02:30:09 +0000 Message-ID: References: <20231102031423.3751965-1-pan2.li@intel.com> <20231113032237.1379330-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_|SN7PR11MB6993:EE_ x-ms-office365-filtering-correlation-id: 30e4e731-ec71-406a-5fce-08dbeb02f27c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DKBdYiIaMLLg6PV8r1bep/DT1yXlW3g7UwZqPGHN7gcBSvO1XL/FWJGGb99+DrBX2khsV9U1hVstKb6gwUE+3W2Sx/8LVn7Mp1o86uy5BLAFdnC1bDxaOYXJkdKx9rKJYcgWKVwUmu6CObvLrNTr5ldAJK7ligvY3iatPQJIUG/BoWql58xZC6hivh9UltFWc94afygTNujE+HeL+G0RXBklMdDYwFdZ2R3PUD+sEs2T/L6oyTjeGdnBxGvJII64/jwWmMJRATZN/0+Vxy3swaiOKJOyahXZGvgLs6Cn2QbIRYsoaI8MSsti5mVwdYUgz9hpvGclY2s9Nifx049przXIs4dvnPiixdGgvlXl7H4DB/pbZKJM133aVeeppOmv212+OBY9FdZ1VSgw5iXdBTxdntD7w2qs9kDTFQi6h8dpZ5TLhRVQAsv9C6qgO9G669oos1VAZn8yQGYtEjSIvB703ctO3p+oxq8GjHKa7MXXOb9rjsvbXVW0U04ah7BZGRZUExLeWbq04JeRkwb1lQa9JFjMmZM/BZVN8Pma7GqaK4HgMMFT5hzYrCFCIMd7RxuSVo74IVdNTInHMh4DswD0EgnLzGOeH+W2V2glwL66ZfsUGyUVA51G6ZX+Yf6On9np84nJLDkGheM7WbCN9g== 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)(39860400002)(346002)(376002)(366004)(396003)(136003)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(2906002)(33656002)(478600001)(86362001)(5660300002)(9686003)(7696005)(6506007)(53546011)(71200400001)(122000001)(316002)(66946007)(66446008)(4326008)(6916009)(84970400001)(55016003)(76116006)(54906003)(66556008)(8936002)(38100700002)(8676002)(66476007)(64756008)(26005)(82960400001)(41300700001)(38070700009)(83380400001)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dGRpbk9pdUh6dzhXc29PTzZrOFhPZkVhdVpVRHg0bmgrRTRVRDB0VDNpM1RR?= =?utf-8?B?WmswYStJQ0Zhc3RKREo2QVRadHZOd3RMYStXcXk4dUVBNUFCZHdzSTZNWlAr?= =?utf-8?B?YUVVYW8yeFd5VTNXanp1ZElMNjdZUHV2V0p2YzNxNktFOE5NVmNiZUVLeUNh?= =?utf-8?B?eHlTSG42SmR5Z0FwT2JCT2szb1AxVjJPWVRkU0dLR1FDa3l3SzF4TjJwSUVM?= =?utf-8?B?Qm5ZVFdkQitRSnVXK2U3Nkt0T040Mm9IS3ptMmR6WkxLNEdaZmsrdWt6N0J5?= =?utf-8?B?S0RhaytXNDVDa1NNTHhMbHFYVThVM2ZoZVU3Y0VMODA4eGtFQmdGMWtDdXFr?= =?utf-8?B?YVdOR3Y4V1A3N0s5ZnRYamE3VTExcTZHK3BvWXBUQVZCUFp5SjJDOXRRVVRN?= =?utf-8?B?N0JSS3pQYjZRcDdDZnZ1bkxlV0pJcmMrQ3E5Vnl1RG5ZcG9udHduQkhQSll1?= =?utf-8?B?QW9UMURXTTcvM1dZRk1tN05RbkpmQjVWY1lEbXkxb1gyNktTRXY4T002UVpW?= =?utf-8?B?cUZ4VTNpUUdSTE9nQlk5Vkg5ZnZnZDhpK3UrL1JrRWUwMkZlTjhxN2ZVaW5D?= =?utf-8?B?OTJyZHB3alBKSDI4YUhicFg0WDVCYW1YbXhPK1BaMGZKQk5GZEp2ci8zY3Q4?= =?utf-8?B?ZHRUTjQzdGJvZnI1N3ljTTBUOVdhcmtheitCM1JSZ094NFU5dktIMkF6SXV4?= =?utf-8?B?OVJ0MlFmR2dFQXd4MTE3c1NSeVllSXJvSWE5U09lRFZwbDRMd1A5L3hWenBq?= =?utf-8?B?U2NSVU56Z0pHN0xyVUhCUW5ybWlqZTBjVHp1c2RqUDR1dmtqTXNHeFZ1Tk9h?= =?utf-8?B?Qk1Kd1FabUJqbVhMa0xZM2syQ2I2Z1NVQ3d2Y3F1cVNnN1dPcFBZcDE0SHly?= =?utf-8?B?dWFIOVNXMmdDL2Y5N0o1MUFvRkRpWEVCV2locys5RysrbWFmWDlxR2lMY3VM?= =?utf-8?B?K2tmWkFnaXNLeXJWSHZabVRHS0E2aktKSWo3OHRQUU1hRjZXOHNsMDhQenZE?= =?utf-8?B?OElCamZ5VHJQZEMrRWNtL0prWFRWVlh1NWFSMmlGYlFlYThYUWlTaGJTMUd4?= =?utf-8?B?QXUzbitWUzk4cUxBUlV3bUJhV2R5N3JzWmN3WmFYeHVpbVhGeXpvRWl0L0Np?= =?utf-8?B?dVdiNzZLWUNWdnFRMk95czhacEhydmVLTytuV0hzcXF2czV4Vm9HZVp0Rm5U?= =?utf-8?B?bjlMeFBrUzVFRUVSOGRzZkFvSWVKUCtkQzJ6S2V3NjdOUXUxOTB2bTZhUWYx?= =?utf-8?B?ZU5CckJ4VWJPOW92T2hHTlZGMVYxRW5mYzZqS1oxNVRNVEdlRVBNVEd1NE9n?= =?utf-8?B?WFBaOHJpRlhabXllRWxaM2k0TGU1eGdoZTV1TlBIMjRzR1QwZDE0TU9WWnNH?= =?utf-8?B?L3BxaGQraDVIdFVTNDJ5bjFEMVdLSnd3OTh6Z0wwSFQ0NlJqS1pXMGY2M3d0?= =?utf-8?B?eHlvZ3paemVxSkFnZzE5d1JQY3JOTHgvL1JCc3BjMFVBczg1TmFoQUV3M0Nn?= =?utf-8?B?SDVIbVphNlJOUE1RdW9OckxKVlVxVkhXd2xZWVNBcGVCV2Z1OTZuWDJ0ZEp1?= =?utf-8?B?MUhMbG1neUYzclBGTkhYaUsvbWNrM1R5MDA2R2NNUTVTQm1lVW5GbXhITTk2?= =?utf-8?B?ZTlFZmVYRU4wVGNwb3QvRVc4Mk9MQ3dlTGM1T0ltKzUzbk9UOThBdkZZLzVY?= =?utf-8?B?NWJaUVBBS1pvOEtjQzBDUzFrdTJIRlpOYWVOKzJ4ZjBMM0x1elJNS3pxY0pV?= =?utf-8?B?RlA1V3BURXZQalZicWppbXR3bUtNWU9xVnFkNk9BYUJwUlE1QjBXYVUwaE9z?= =?utf-8?B?WktzMkNaSXp0TU9GS2FOTFowM2hJN3JmMUM1bHZ5U1dXWUY0RnZUdmhrTGZ1?= =?utf-8?B?bVdFbHlHQTJhMVA3SHVSenpBaTRybm5pSks2MXlCMVFWb2w4ektzNWE3QjVT?= =?utf-8?B?WTlXRlVjeEJOd3A5K2N0WHFObzFVSktNZ0MwVjRkUldqVmdqVkE4N29kTm5n?= =?utf-8?B?Y3YreDBvajBLNEVJNFN6U0R2aUh3YzJUOUFhOURTMGRLV0Y0enZqZWNVOExL?= =?utf-8?B?cHpnVFora0luUGJ1VXY2VXhQSkl1NXlNcWFkdTYyUGNPLzF6Nmw0M3J3Mjlo?= =?utf-8?Q?kWzs=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: 30e4e731-ec71-406a-5fce-08dbeb02f27c X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2023 02:30:09.3657 (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: lT4TM3yuQ4KUd451xFFBRZOUA5f7+Pkij5TJTQzAymM+wWHAfLS0/RFQ6SQLkaPQ7KVjf+x8QiQnXh7N+Utvnw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6993 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,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: SGkgUmljaGFyZCBTLA0KDQpUaGFua3MgYSBsb3QgZm9yIHJldmlld2luZyBhbmQgY29tbWVudHMu IE1heSBJIGtub3cgaXMgdGhlcmUgYW55IGNvbmNlcm4gb3IgZnVydGhlciBjb21tZW50cyBmb3Ig bGFuZGluZyB0aGlzIHBhdGNoIHRvIEdDQy0xND8NCg0KUGFuDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBMaSwgUGFuMiANClNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgMTUs IDIwMjMgODoyNSBBTQ0KVG86IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQpDYzoganV6aGUuemhv bmdAcml2YWkuYWk7IFdhbmcsIFlhbnpoYW5nIDx5YW56aGFuZy53YW5nQGludGVsLmNvbT47IGtp dG8uY2hlbmdAZ21haWwuY29tOyByaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbTsgcmljaGFyZC5z YW5kaWZvcmRAYXJtLmNvbTsgSmVmZiBMYXcgPGplZmZyZXlhbGF3QGdtYWlsLmNvbT4NClN1Ympl Y3Q6IFJFOiBbUEFUQ0ggdjRdIERTRTogQWxsb3cgdmVjdG9yIHR5cGUgZm9yIGdldF9zdG9yZWRf dmFsIHdoZW4gcmVhZCA8IHN0b3JlDQoNClNvcnJ5IGZvciBkaXN0dXJiaW5nLCBsb29rcyBJIGhh dmUgYSB0eXBvIGZvciBSaWNoYXJkIFMncyBlbWFpbCBhZGRyZXNzLCBjYyB0aGUgcmlnaHQgZW1h aWwgYWRkcmVzcyBmb3IgYXdhcmVuZXNzLg0KDQpQYW4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCkZyb206IExpLCBQYW4yIA0KU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAxNSwgMjAy MyA4OjE4IEFNDQpUbzogSmVmZiBMYXcgPGplZmZyZXlhbGF3QGdtYWlsLmNvbT47IGdjYy1wYXRj aGVzQGdjYy5nbnUub3JnDQpDYzoganV6aGUuemhvbmdAcml2YWkuYWk7IFdhbmcsIFlhbnpoYW5n IDx5YW56aGFuZy53YW5nQGludGVsLmNvbT47IGtpdG8uY2hlbmdAZ21haWwuY29tOyByaWNoYXJk Lmd1ZW50aGVyQGdtYWlsLmNvbTsgcmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbTINClN1YmplY3Q6 IFJFOiBbUEFUQ0ggdjRdIERTRTogQWxsb3cgdmVjdG9yIHR5cGUgZm9yIGdldF9zdG9yZWRfdmFs IHdoZW4gcmVhZCA8IHN0b3JlDQoNCj4gSSB3b3VsZG4ndCB0cnkgdG8gaGFuZGxlIHRoYXQgY2Fz ZSB1bmxlc3Mgd2UgaGFkIGFjdHVhbCBldmlkZW5jZSBpdCB3YXMgDQo+IHVzZWZ1bCB0byBkbyBz by4gIEp1c3Qgd2FudGVkIHRvIHBvaW50IG91dCB0aGF0IHVubGlrZSBwc2V1ZG9zIHdlIGNhbiAN Cj4gaGF2ZSBtdWx0aXBsZSBtb2RlcyByZWZlcmVuY2luZyB0aGUgc2FtZSBtZW1vcnkgbG9jYXRp b24uDQoNCkdvdCB0aGUgcG9pbnQgaGVyZSwgdGhhbmtzIEplZmYgZm9yIGVtcGhhc2l6aW5nIHRo aXMsIPCfmIkuDQoNClBhbg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogSmVm ZiBMYXcgPGplZmZyZXlhbGF3QGdtYWlsLmNvbT4gDQpTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAx NCwgMjAyMyA0OjEyIEFNDQpUbzogTGksIFBhbjIgPHBhbjIubGlAaW50ZWwuY29tPjsgZ2NjLXBh dGNoZXNAZ2NjLmdudS5vcmcNCkNjOiBqdXpoZS56aG9uZ0ByaXZhaS5haTsgV2FuZywgWWFuemhh bmcgPHlhbnpoYW5nLndhbmdAaW50ZWwuY29tPjsga2l0by5jaGVuZ0BnbWFpbC5jb207IHJpY2hh cmQuZ3VlbnRoZXJAZ21haWwuY29tOyByaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tMg0KU3ViamVj dDogUmU6IFtQQVRDSCB2NF0gRFNFOiBBbGxvdyB2ZWN0b3IgdHlwZSBmb3IgZ2V0X3N0b3JlZF92 YWwgd2hlbiByZWFkIDwgc3RvcmUNCg0KDQoNCk9uIDExLzEyLzIzIDIwOjIyLCBwYW4yLmxpQGlu dGVsLmNvbSB3cm90ZToNCj4gRnJvbTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4NCj4gDQo+ IFVwZGF0ZSBpbiB2NDoNCj4gKiBNZXJnZSB1cHN0cmVhbSBhbmQgcmVtb3ZlZCBzb21lIGluZGVw ZW5kZW50IGNoYW5nZXMuDQo+IA0KPiBVcGRhdGUgaW4gdjM6DQo+ICogVGFrZSBrbm93bl9sZSBp bnN0ZWFkIG9mIGtub3duX2x0IGZvciB2ZWN0b3Igc2l6ZS4NCj4gKiBSZXR1cm4gTlVMTF9SVFgg d2hlbiBnYXAgaXMgbm90IGVxdWFsIDAgYW5kIG5vdCBjb25zdGFudC4NCj4gDQo+IFVwZGF0ZSBp biB2MjoNCj4gKiBNb3ZlIHZlY3RvciB0eXBlIHN1cHBvcnQgdG8gZ2V0X3N0b3JlZF92YWwuDQo+ IA0KPiBPcmlnaW5hbCBsb2c6DQo+IA0KPiBUaGlzIHBhdGNoIHdvdWxkIGxpa2UgdG8gYWxsb3cg dGhlIHZlY3RvciBtb2RlIGluIHRoZQ0KPiBnZXRfc3RvcmVkX3ZhbCBpbiB0aGUgRFNFLiBJdCBp cyB2YWxpZCBmb3IgdGhlIHJlYWQNCj4gcnR4IGlmIGFuZCBvbmx5IGlmIHRoZSByZWFkIGJpdHNp emUgaXMgbGVzcyB0aGFuIHRoZQ0KPiBzdG9yZWQgYml0c2l6ZS4NCj4gDQo+IEdpdmVuIGJlbG93 IGV4YW1wbGUgY29kZSB3aXRoDQo+IC0tcGFyYW09cmlzY3YtYXV0b3ZlYy1wcmVmZXJlbmNlPWZp eGVkLXZsbWF4Lg0KPiANCj4gdnVpbnQ4bTFfdCB0ZXN0ICgpIHsNCj4gICAgdWludDhfdCBhcnJb MzJdID0gew0KPiAgICAgIDEsIDIsIDcsIDEsIDMsIDQsIDUsIDMsIDEsIDAsIDEsIDIsIDQsIDQs IDksIDksDQo+ICAgICAgMSwgMiwgNywgMSwgMywgNCwgNSwgMywgMSwgMCwgMSwgMiwgNCwgNCwg OSwgOSwNCj4gICAgfTsNCj4gDQo+ICAgIHJldHVybiBfX3Jpc2N2X3ZsZThfdl91OG0xKGFyciwg MzIpOw0KPiB9DQo+IA0KPiBCZWZvcmUgdGhpcyBwYXRjaDoNCj4gdGVzdDoNCj4gICAgbHVpICAg ICBhNSwlaGkoLkxBTkNIT1IwKQ0KPiAgICBhZGRpICAgIHNwLHNwLC0zMg0KPiAgICBhZGRpICAg IGE1LGE1LCVsbyguTEFOQ0hPUjApDQo+ICAgIGxpICAgICAgYTMsMzINCj4gICAgdmwycmU2NC52 ICAgICAgIHYyLDAoYTUpDQo+ICAgIHZzZXR2bGkgemVybyxhMyxlOCxtMSx0YSxtYQ0KPiAgICB2 czJyLnYgIHYyLDAoc3ApICAgICAgICAgICAgIDw9PSBVbm5lY2Vzc2FyeSBzdG9yZSB0byBzdGFj aw0KPiAgICB2bGU4LnYgIHYxLDAoc3ApICAgICAgICAgICAgIDw9PSBEaXR0bw0KPiAgICB2czFy LnYgIHYxLDAoYTApDQo+ICAgIGFkZGkgICAgc3Asc3AsMzINCj4gICAganIgICAgICByYQ0KPiAN Cj4gQWZ0ZXIgdGhpcyBwYXRjaDoNCj4gdGVzdDoNCj4gICAgbHVpICAgICBhNSwlaGkoLkxBTkNI T1IwKQ0KPiAgICBhZGRpICAgIGE1LGE1LCVsbyguTEFOQ0hPUjApDQo+ICAgIGxpICAgICAgYTQs MzINCj4gICAgYWRkaSAgICBzcCxzcCwtMzINCj4gICAgdnNldHZsaSB6ZXJvLGE0LGU4LG0xLHRh LG1hDQo+ICAgIHZsZTgudiAgdjEsMChhNSkNCj4gICAgdnMxci52ICB2MSwwKGEwKQ0KPiAgICBh ZGRpICAgIHNwLHNwLDMyDQo+ICAgIGpyICAgICAgcmENCj4gDQo+IEJlbG93IHRlc3RzIGFyZSBw YXNzZWQgd2l0aGluIHRoaXMgcGF0Y2g6DQo+ICogVGhlIHJpc2MtdiByZWdyZXNzaW9uIHRlc3Qu DQo+ICogVGhlIHg4NiBib290c3RyYXAgYW5kIHJlZ3Jlc3Npb24gdGVzdC4NCj4gKiBUaGUgYWFy Y2g2NCByZWdyZXNzaW9uIHRlc3QuDQo+IA0KPiAJUFIgdGFyZ2V0LzExMTcyMA0KPiANCj4gZ2Nj L0NoYW5nZUxvZzoNCj4gDQo+IAkqIGRzZS5jYyAoZ2V0X3N0b3JlZF92YWwpOiBBbGxvdyB2ZWN0 b3IgbW9kZSBpZiByZWFkIHNpemUgaXMNCj4gCWxlc3MgdGhhbiBvciBlcXVhbCB0byBzdG9yZWQg c2l6ZS4NCj4gDQo+IGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KPiANCj4gCSogZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS9wcjExMTcyMC0wLmM6IE5ldyB0ZXN0Lg0KPiAJKiBnY2MudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3ByMTExNzIwLTEuYzogTmV3IHRlc3QuDQo+IAkqIGdjYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcHIxMTE3MjAtMTAuYzogTmV3IHRlc3QuDQo+IAkqIGdjYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcHIxMTE3MjAtMi5jOiBOZXcgdGVzdC4NCj4gCSogZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9wcjExMTcyMC0zLmM6IE5ldyB0ZXN0Lg0KPiAJKiBnY2MudGFyZ2V0L3Jp c2N2L3J2di9iYXNlL3ByMTExNzIwLTQuYzogTmV3IHRlc3QuDQo+IAkqIGdjYy50YXJnZXQvcmlz Y3YvcnZ2L2Jhc2UvcHIxMTE3MjAtNS5jOiBOZXcgdGVzdC4NCj4gCSogZ2NjLnRhcmdldC9yaXNj di9ydnYvYmFzZS9wcjExMTcyMC02LmM6IE5ldyB0ZXN0Lg0KPiAJKiBnY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3ByMTExNzIwLTcuYzogTmV3IHRlc3QuDQo+IAkqIGdjYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvcHIxMTE3MjAtOC5jOiBOZXcgdGVzdC4NCj4gCSogZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS9wcjExMTcyMC05LmM6IE5ldyB0ZXN0Lg0KT0sgZm9yIHRoZSB0cnVuay4NCg0KDQo+ IA0KDQo+ICsgIGVsc2UgaWYgKFZFQ1RPUl9NT0RFX1AgKHJlYWRfbW9kZSkgJiYgVkVDVE9SX01P REVfUCAoc3RvcmVfbW9kZSkNCj4gKyAgICAmJiBrbm93bl9sZSAoR0VUX01PREVfQklUU0laRSAo cmVhZF9tb2RlKSwgR0VUX01PREVfQklUU0laRSAoc3RvcmVfbW9kZSkpDQo+ICsgICAgJiYgdGFy Z2V0bS5tb2Rlc190aWVhYmxlX3AgKHJlYWRfbW9kZSwgc3RvcmVfbW9kZSkpDQo+ICsgICAgcmVh ZF9yZWcgPSBnZW5fbG93cGFydCAocmVhZF9tb2RlLCBjb3B5X3J0eCAoc3RvcmVfaW5mby0+cmhz KSk7DQo+ICAgICBlbHNlDQo+ICAgICAgIHJlYWRfcmVnID0gZXh0cmFjdF9sb3dfYml0cyAocmVh ZF9tb2RlLCBzdG9yZV9tb2RlLA0KPiAgIAkJCQkgY29weV9ydHggKHN0b3JlX2luZm8tPnJocykp Ow0KSXQgbWF5IG5vdCBtYXR0ZXIsIGVzcGVjaWFsbHkgZm9yIFJWLCBidXQgd2UgY291bGQgcG9z c2libHkgaGF2ZSBhIA0KbWl4dHVyZSBvZiBzY2FsYXIgYW5kIHZlY3RvciBtb2RlcyBpbiB0aGUg UlRMLiAgU2F5IGEgdmVjdG9yIHN0b3JlIA0KZm9sbG93ZWQgYnkgYSBzY2FsYXIgcmVhZCBvciB2 aWNlLXZlcnNhLg0KDQpJIHdvdWxkbid0IHRyeSB0byBoYW5kbGUgdGhhdCBjYXNlIHVubGVzcyB3 ZSBoYWQgYWN0dWFsIGV2aWRlbmNlIGl0IHdhcyANCnVzZWZ1bCB0byBkbyBzby4gIEp1c3Qgd2Fu dGVkIHRvIHBvaW50IG91dCB0aGF0IHVubGlrZSBwc2V1ZG9zIHdlIGNhbiANCmhhdmUgbXVsdGlw bGUgbW9kZXMgcmVmZXJlbmNpbmcgdGhlIHNhbWUgbWVtb3J5IGxvY2F0aW9uLg0KDQpKZWZmDQo=