From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 5E4A53858C5E for ; Wed, 17 May 2023 07:15:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5E4A53858C5E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684307732; x=1715843732; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=vH3qLQP5v+WjTlfMkMV33r3FnBh7969QnhsLLK412R8=; b=nIAd5kKkVYJWrs4NlvXlab8MZ/lGiNCXEo4Jf94sJGSmWvoOfqXk41bd 6a+XjKgSZvvI4J0rnqQ7oULalDHBXMKJ36FDwLbuIoyELjAqJXldgjwYO U7cylhBfL3BWAPK3ryckl94SVrWGSDYWo/uMGhFcaM3eXnl0JdHWQ/bZE w1WcnW1/BL8Uh1OHyxtB0WTMq0M4NuFu4ea/IaR5TGTUXxmbBhKAVZ1LT oD8WrBaJ1rcSp//orGAgi49N5a43FYt87+isR+IGO54uJx0CxpW548UCr b+Njxb+NYVcXGvLRza6DnlnhbnZ6OAdQpRdc+88spgDvrUIlpzpNHvYCF w==; X-IronPort-AV: E=McAfee;i="6600,9927,10712"; a="332047146" X-IronPort-AV: E=Sophos;i="5.99,281,1677571200"; d="scan'208";a="332047146" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2023 00:15:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10712"; a="813755440" X-IronPort-AV: E=Sophos;i="5.99,281,1677571200"; d="scan'208";a="813755440" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga002.fm.intel.com with ESMTP; 17 May 2023 00:15:25 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.23; Wed, 17 May 2023 00:15:26 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 17 May 2023 00:15:26 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 17 May 2023 00:15:26 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) 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.23; Wed, 17 May 2023 00:15:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NGUOWk64iiSuqYp8GEqL6HcoSP/sUPJhihGHpXypbBO2jhQtUW6ifkKoQA5LawAOvqOd/LxlciauKzIUu/vVhVoA4Ar73Wz/wx9DZG7vFCiWALsK0av1UEDu0ej9CuYYtXrjIrvRfUIM9Vm6LPz70F2oTq3Q0rDiKdJ+kliwYvOGFxX4ZQAF9gHHWP+/3VjstaWjpYseIJEI6MWbIZRi3WiGeMHWzEIGHzmSBHOKt4nNDBwoPr/F7R2Onv90NbqBjgy/GIgDYF7Puh3rzQ01iBnXWIoYk/XGvBD+ESX1BSL2e/K1ni4uASCNm29utqQTU2XdVZiOnNgjHcsqBdeIDA== 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=vH3qLQP5v+WjTlfMkMV33r3FnBh7969QnhsLLK412R8=; b=nEJbm8uLqwecd3JHTSjn8VsNpUuvzXZ2ZvXNCbCgAg2mLnS90gjCwFmykH71FDXQH2PDDpi202XaF9W4PiZWIgYXdSY4OAXwLo+CDoOQo0iEGJJP76EpgNnHGK+l2ng2i+/+Wd5aj+/ezeJnBf4Z2MTr6pPLzeCD5nozX1k1tCGU7pumMk/YPxe6Xr3P1emeKgw8Aty3IsJEqc/6VoAxLUDtNUYBUD/kzPuQ1XaBYq+3lvqmjl/ZjzKO2RfChrSa2osfSN8yAYw/w1a4GhX9TShzdDv4fstuV5pkQVHO4iiid+Zqg1z6AwKsP8M4IF2G98aVzc4rVB1VpYlwsggMAA== 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 DM4PR11MB5550.namprd11.prod.outlook.com (2603:10b6:5:38b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.17; Wed, 17 May 2023 07:15:19 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9%3]) with mapi id 15.20.6411.017; Wed, 17 May 2023 07:15:19 +0000 From: "Li, Pan2" To: Kito Cheng CC: "juzhe.zhong@rivai.ai" , gcc-patches , Kito.cheng , "Wang, Yanzhang" Subject: RE: [PATCH] RISC-V: Support RVV VREINTERPRET from v{u}int*_t to vbool1_t Thread-Topic: [PATCH] RISC-V: Support RVV VREINTERPRET from v{u}int*_t to vbool1_t Thread-Index: AQHZhttvIaUOOVLklkSY/4qvrtlc2a9aqsCzgAAA4YCAAWyj4IAB9GGAgAAEJMA= Date: Wed, 17 May 2023 07:15:19 +0000 Message-ID: References: <20230515031452.2154535-1-pan2.li@intel.com> <46342ECC53284227+2023051511200394453046@rivai.ai> 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_|DM4PR11MB5550:EE_ x-ms-office365-filtering-correlation-id: 4ad98678-2f87-40cf-f135-08db56a6789c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +rgT4qtaxAkNJ8T+5hXq6iklmsNOcZ78T6j3zB35FG4owryml9rTDq8k4fkYaBMDI7mYBKEZ4CxXaEESCsHAqurvBVaR9G9IugxiLgsTxLAilhnFBloxX3lsSsnE7SN43NKA1w+kKTqzwg7O0P+lzx1t5sgZiWZnf6GBE00YiO+VVQF2oSoz+W9Y0w43rKQEmjruB+wL3JUUDudi8F3mEpggxXkF4urPSAiB+H81DflG8GVQ2usLEW28Oqg/35UqTS4ITTkjTyNmVrsAcscw3HK+yNne3uNo8wbW+4s2VjoPSYHDSj+3SDS53lyUIQPLE+M7iOJ2p296SVDLuKqlT/HQvcEFAYp6eP5huBUCvbCrGKS2og8FGBXKz9yoIic+Ym2eLwl4LKkT1AM7Nsu+0n1xU2dxqIlkmVaqfs5pe1khIUbcl2RhSST2lAyfvjhZw3BtDj96XT0qKCAc2AhkaRlEOnKAkTFvAKT9LKqpM4zr6RLCLX9BIaszzHkTUCjptBCYU51O+Y8/SjYH3dLAsCrDOeBUmWTaGODf3Lyva1XOAHydbFPkkOV9dV3xrQXQNXwFsaWPLQNADK8roDrT6XuC++gDOGyhQQcEIOYHPLs= 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:(13230028)(346002)(396003)(39860400002)(376002)(136003)(366004)(451199021)(26005)(53546011)(6506007)(9686003)(107886003)(7696005)(966005)(55016003)(83380400001)(38100700002)(33656002)(86362001)(38070700005)(82960400001)(122000001)(186003)(2906002)(30864003)(52536014)(478600001)(4326008)(316002)(8936002)(84970400001)(54906003)(5660300002)(8676002)(76116006)(66476007)(66446008)(66556008)(66946007)(71200400001)(64756008)(41300700001)(6916009);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aVJwaWdsUmhDbmpvWkpHWmhSVFA3dG1Ec3drR2RkelhLd0tvZVNKRlVwM3Nj?= =?utf-8?B?V1VLTEJmb1RKd3ZWdis0WW9IWW9Za0h3d1k0bk9UYlR0b3ZWdGlsNnI3OVRN?= =?utf-8?B?NGYzcVhEdVRsNnFMN2htQ2NLRC9OTThvbkdnMmcyZUFjSHZadmlqRHFYdGl5?= =?utf-8?B?T05Ua2xZci83dFlHTjIxT1kvbWpMNU1HMnJlWEpsM2p5dU10d0VpQUR6eFQx?= =?utf-8?B?YmxEOVNLZGtHNnE5eTEwRk16K1p2NjN1VytIekxIczdITm84dE9tc0t5K1Zm?= =?utf-8?B?MGRxeHJySFlVTTYxQTBGTjE2a1VNbFFRTTAxV0owYVlFNWg1Y0toUnNlOGJj?= =?utf-8?B?Sm1BY2lRdkY1dUlqamJGZGVBUEVtRGtDSVVsU2k3UlpYbEgwVEtyN1BCTXNL?= =?utf-8?B?REtiNllTdkFZdVh2YkxHaXNmc1Rrc0NMaWVEUmtGM20vT0lOWmVJRmh1L20v?= =?utf-8?B?U0lLNmdvSnpGNG12MTdxbEVyVWZBUlhydFpOdUZmNDVPL0o0YTBFa3ozL05O?= =?utf-8?B?cVBRT0g0NHFkYVllUUlrVmlhS05qUyt1QWllQ2FqUDBiUXlOeGZTcjN3MkdT?= =?utf-8?B?bGZvUXB4cXhBbUhQN1dXcGY3cE5zOVlpdzZ5ZVFsVzdvRlB0SkNxOFhWQkJt?= =?utf-8?B?aGpSVS9lNmYzR3BoQkxEcUREQ08xNVE2anFXWEJ5VzhqampicHAzR3hwTGpD?= =?utf-8?B?NDcyVW56aWpVNmNBSVd6Vm1YVTVMSndpSGV2UUdCdWZmZUd5NURjbUM0UFox?= =?utf-8?B?OXVlOUFWbktxUmNleVNmaEpGQ2FWVlRVbFRsMkthNGpjQnZFWkROckI2Smdq?= =?utf-8?B?VU1xUnNETUM3L3EyTzJ6cDNERDI2SUVvTGpHNEloODREeEpINU1LMnNnc29v?= =?utf-8?B?RXhLV3FwOFA4SGloRFhSdTBIblJpZXMrS3NieFl6aUFBY1JVTlFPcWNHd2w0?= =?utf-8?B?N3lCWGUxck81TWN2MGNwdVRGa2lLdytwbGxwdjk1ZlFYT0NlS1pCSHhVWUE4?= =?utf-8?B?WmxCUkhFYUlwYnVwL09yOWk2bWhZMWNrWDljRjBad1lrd1ZiWG12SlVYQ0F5?= =?utf-8?B?Z2dXcS8yZllYVnN0aWE3cmI5RFpMY0xIZElaN2RkbklQOVN2aFM5MDJmcnIw?= =?utf-8?B?dUpIMTB2VlBkSW51dU9HTmE0Y0I0VVhubUhuVGFYSnpPeVdVcSt6QlhjYWpt?= =?utf-8?B?ZGNBblpVTTBwbUNibFRxM01uSGFrWmFZaS9RWHB1VDVFWWVWNi8xUCtCaEhh?= =?utf-8?B?OERyazJUblRpMGRnY3Fyald6elFTTG9LdkZhczVvc29NRW1qSndBbUF2aGJX?= =?utf-8?B?STZVVzNjQnZTT0hzb0NhdVJFK3k4V0IzNnhpSDZWSlArdmtmZEs0UlkybUJt?= =?utf-8?B?ME1TRE4wZzYyRWhVTFJhZFd2NDY3UERyZDZkV1Bkd0Fvb3FsRFFYdkg2Y3A4?= =?utf-8?B?ZXo0bkRlYWlZY3Zscjg5NVF3bjMyRWFBYlRVR1lTVDhlSmpDbGdadVlBQnQ1?= =?utf-8?B?VnRWdVdDc0NoV1lNbklMOHkxMlpYc01QZFNjWGhiU2NRT25SZW1CZlFpNmt2?= =?utf-8?B?MkViU2o3RGxLRnJpTnBiYjJQbUZUNGRrNHBnOWt4anRRclhDSk1yRWtyYWJQ?= =?utf-8?B?NzlBL2Zmc1FrTzN4Z0VFNmVLYVA4ODdRNVBDTFJRdkczQW55a3haRW5PMVRr?= =?utf-8?B?QXJmZTVqbjAyZnVvWmp5OHUxd0ZIczI0ZXBlU1VBSktOOVRVbWpRWkgyYWxt?= =?utf-8?B?QVJKd1lRbFRUcW1BZFM5RjhGeDBGQ3Yxc0JBTGQ1bmhGSVRRWHB2ODdScGQ1?= =?utf-8?B?Qnh5bWVBMUFtbXd1VWJSaE5DOW1JamE4bG1MRkFxVVBOQzhqU2pwOEpvaXhM?= =?utf-8?B?NnhldThPSkpwR1B4K3BOSExOc2pVbVpONXpwby9tV3VsZzVYT0svdTgrb01z?= =?utf-8?B?aDlmTVNXSzdIUHJzMm9CTC9DOHR6YUZxT1VQL0FoMit6NldIOU9xRjhQWlZE?= =?utf-8?B?ak9UMmxyT1lRS2FtV3ZheHdhS2tjR3ZBYWdETWRrYzlKTXZ1U1dSTmRoc29s?= =?utf-8?B?Sm5JejlNclRyVkIraGxCRGgwLzR5ejF0WWZ2VUcrK1pxZlVodnZidGQrWDhT?= =?utf-8?Q?jZJQ=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: 4ad98678-2f87-40cf-f135-08db56a6789c X-MS-Exchange-CrossTenant-originalarrivaltime: 17 May 2023 07:15:19.0993 (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: AikWJn2/ABlKdCdwjogJ9WdNNdsljlEMPVBT8SXgHFSr7PxHkSPw2XUW/Nct+nO/lmZ9sTB/FrJAfrvRPTi4Ig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5550 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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: Q29tbWl0dGVkLCB0aGFua3Mga2l0by4NCg0KUGFuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQpGcm9tOiBLaXRvIENoZW5nIDxraXRvLmNoZW5nQGdtYWlsLmNvbT4gDQpTZW50OiBXZWRu ZXNkYXksIE1heSAxNywgMjAyMyAzOjAwIFBNDQpUbzogTGksIFBhbjIgPHBhbjIubGlAaW50ZWwu Y29tPg0KQ2M6IGp1emhlLnpob25nQHJpdmFpLmFpOyBnY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNA Z2NjLmdudS5vcmc+OyBLaXRvLmNoZW5nIDxraXRvLmNoZW5nQHNpZml2ZS5jb20+OyBXYW5nLCBZ YW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW1BBVENIXSBS SVNDLVY6IFN1cHBvcnQgUlZWIFZSRUlOVEVSUFJFVCBmcm9tIHZ7dX1pbnQqX3QgdG8gdmJvb2wx X3QNCg0Kb2ssIGFuZCBhbHNvIG9rIGZvciB0aG9zZSBzbWFsbCBBUEkgdGVzdCBpbiB0ZXN0c3Vp dGUuDQoNCk9uIFR1ZSwgTWF5IDE2LCAyMDIzIGF0IDk6MTDigK9BTSBMaSwgUGFuMiB2aWEgR2Nj LXBhdGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPiB3cm90ZToNCj4NCj4gS2luZGx5IHBp bmcgZm9yIHRoaXMgUEFUQ0gsIPCfmIkuDQo+DQo+IFBhbg0KPg0KPiBGcm9tOiBMaSwgUGFuMg0K PiBTZW50OiBNb25kYXksIE1heSAxNSwgMjAyMyAxMToyNSBBTQ0KPiBUbzoganV6aGUuemhvbmdA cml2YWkuYWk7IGdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4NCj4gQ2M6IEtp dG8uY2hlbmcgPGtpdG8uY2hlbmdAc2lmaXZlLmNvbT47IFdhbmcsIFlhbnpoYW5nIA0KPiA8eWFu emhhbmcud2FuZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0hdIFJJU0MtVjogU3Vw cG9ydCBSVlYgVlJFSU5URVJQUkVUIGZyb20gdnt1fWludCpfdCANCj4gdG8gdmJvb2wxX3QNCj4N Cj4gVGhhbmtzIEp1emhlLiBMZXTigJlzIHdhaXQga2l0b+KAmXMgc3VnZ2VzdGlvbi4NCj4NCj4g UGFuDQo+DQo+IEZyb206IGp1emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpqdXpoZS56aG9uZ0By aXZhaS5haT4gDQo+IDxqdXpoZS56aG9uZ0ByaXZhaS5haTxtYWlsdG86anV6aGUuemhvbmdAcml2 YWkuYWk+Pg0KPiBTZW50OiBNb25kYXksIE1heSAxNSwgMjAyMyAxMToyMCBBTQ0KPiBUbzogTGks IFBhbjIgPHBhbjIubGlAaW50ZWwuY29tPG1haWx0bzpwYW4yLmxpQGludGVsLmNvbT4+OyANCj4g Z2NjLXBhdGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPG1haWx0bzpnY2MtcGF0Y2hlc0Bn Y2MuZ251Lm9yZz4+DQo+IENjOiBLaXRvLmNoZW5nIDxraXRvLmNoZW5nQHNpZml2ZS5jb208bWFp bHRvOmtpdG8uY2hlbmdAc2lmaXZlLmNvbT4+OyANCj4gTGksIFBhbjIgPHBhbjIubGlAaW50ZWwu Y29tPG1haWx0bzpwYW4yLmxpQGludGVsLmNvbT4+OyBXYW5nLCBZYW56aGFuZyANCj4gPHlhbnpo YW5nLndhbmdAaW50ZWwuY29tPG1haWx0bzp5YW56aGFuZy53YW5nQGludGVsLmNvbT4+DQo+IFN1 YmplY3Q6IFJlOiBbUEFUQ0hdIFJJU0MtVjogU3VwcG9ydCBSVlYgVlJFSU5URVJQUkVUIGZyb20g dnt1fWludCpfdCANCj4gdG8gdmJvb2wxX3QNCj4NCj4gVGhlIGltcGxlbWVudGF0aW9uIExHVE0u DQo+IEJ1dCBJIGFtIG5vdCBzdXJlIHRlc3RjYXNlIHNpbmNlIHdlIGRvbid0IGluY2x1ZGUgYW55 IGludHJpbnNpYyBBUEkgdGVzdGNhc2VzIGluIEdDQyB0ZXN0c3VpdGUuDQo+IEkgdGhpbmsgaXQg bmVlZHMgS2l0bydzIGRlY2lzaW9uLg0KPg0KPiBUaGFua3MuDQo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQo+IGp1emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpqdXpoZS56aG9u Z0ByaXZhaS5haT4NCj4NCj4gRnJvbTogcGFuMi5saTxtYWlsdG86cGFuMi5saUBpbnRlbC5jb20+ DQo+IERhdGU6IDIwMjMtMDUtMTUgMTE6MTQNCj4gVG86IGdjYy1wYXRjaGVzPG1haWx0bzpnY2Mt cGF0Y2hlc0BnY2MuZ251Lm9yZz4NCj4gQ0M6IGp1emhlLnpob25nPG1haWx0bzpqdXpoZS56aG9u Z0ByaXZhaS5haT47IA0KPiBraXRvLmNoZW5nPG1haWx0bzpraXRvLmNoZW5nQHNpZml2ZS5jb20+ OyANCj4gcGFuMi5saTxtYWlsdG86cGFuMi5saUBpbnRlbC5jb20+OyANCj4geWFuemhhbmcud2Fu ZzxtYWlsdG86eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSF0gUklT Qy1WOiBTdXBwb3J0IFJWViBWUkVJTlRFUlBSRVQgZnJvbSB2e3V9aW50Kl90IHRvIA0KPiB2Ym9v bDFfdA0KPiBGcm9tOiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29tPG1haWx0bzpwYW4yLmxpQGlu dGVsLmNvbT4+DQo+DQo+IFRoaXMgcGF0Y2ggc3VwcG9ydCB0aGUgUlZWIFZSRUlOVEVSUFJFVCBm cm9tIHRoZSBpbnQgdG8gdGhlIHZib29sMV90LiAgQWthOg0KPg0KPiB2Ym9vbDFfdCBfX3Jpc2N2 X3ZyZWludGVycHJldF94eF94eCh2e3V9aW50Wzh8MTZ8MzJ8NjRdX3QpOw0KPg0KPiBUaGVzZSBB UElzIGhlbHAgdGhlIHVzZXJzIHRvIGNvbnZlcnQgdmVjdG9yIExNVUw9MSBpbnRlZ2VyIHRvIHZi b29sMV90Lg0KPiBBY2NvcmRpbmcgdG8gdGhlIFJWViBpbnRyaW5zaWMgU1BFQyBhcyBiZWxvdywg dGhlIHJlaW50ZXJwcmV0IA0KPiBpbnRyaW5zaWNzIG9ubHkgY2hhbmdlIHRoZSB0eXBlcyBvZiB0 aGUgdW5kZXJseWluZyBjb250ZW50cy4NCj4NCj4gaHR0cHM6Ly9naXRodWIuY29tL3Jpc2N2LW5v bi1pc2EvcnZ2LWludHJpbnNpYy1kb2MvYmxvYi9tYXN0ZXIvcnZ2LWludA0KPiByaW5zaWMtcmZj Lm1kI3JlaW50ZXJwcmV0LXZib29sLW8tdmludG0xDQo+DQo+IEZvciBleGFtcGxlLCBnaXZlbiBi ZWxvdyBjb2RlLg0KPiB2Ym9vbDFfdCB0ZXN0X3ZyZWludGVycHJldF92X2k4bTFfYjEodmludDht MV90IHNyYykgew0KPiAgIHJldHVybiBfX3Jpc2N2X3ZyZWludGVycHJldF92X2k4bTFfYjEoc3Jj KTsNCj4gfQ0KPg0KPiBJdCB3aWxsIGdlbmVyYXRlIHRoZSBhc3NlbWJseSBjb2RlIHNpbWlsYXIg YXMgYmVsb3c6DQo+IHZzZXR2bGkgYTUsemVybyxlOCxtOCx0YSxtYQ0KPiB2bG0udiAgIHYxLDAo YTEpDQo+IHZzbS52ICAgdjEsMChhMCkNCj4gcmV0DQo+DQo+IFRoZSByZXN0IGludHJpbnNpYyBi b29sIHNpemUgQVBJcyB3aWxsIGJlIHByZXBhcmVkIGluIG90aGVyIFBBVENILg0KPg0KPiBTaWdu ZWQtb2ZmLWJ5OiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29tPG1haWx0bzpwYW4yLmxpQGludGVs LmNvbT4+DQo+DQo+IGdjYy9DaGFuZ2VMb2c6DQo+DQo+ICogY29uZmlnL3Jpc2N2L2dlbnJ2di10 eXBlLWluZGV4ZXIuY2MgKEJPT0xfU0laRV9MSVNUKTogTmV3DQo+ICAgbWFjcm8uDQo+IChtYWlu KTogQWRkIGJvb2wxIHRvIHRoZSB0eXBlIGluZGV4ZXIuDQo+ICogY29uZmlnL3Jpc2N2L3Jpc2N2 LXZlY3Rvci1idWlsdGlucy1mdW5jdGlvbnMuZGVmDQo+ICh2cmVpbnRlcnByZXQpOiBSZWdpc3Rl ciB2Ym9vbDEgaW50ZXJwcmV0IGZ1bmN0aW9uLg0KPiAqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0 b3ItYnVpbHRpbnMtdHlwZXMuZGVmDQo+IChERUZfUlZWX0JPT0wxX0lOVEVSUFJFVF9PUFMpOiBO ZXcgbWFjcm8uDQo+ICh2aW50OG0xX3QpOiBBZGQgdGhlIHR5cGUgdG8gYm9vbDFfaW50ZXJwcmV0 X29wcy4NCj4gKHZpbnQxNm0xX3QpOiBEaXR0by4NCj4gKHZpbnQzMm0xX3QpOiBEaXR0by4NCj4g KHZpbnQ2NG0xX3QpOiBEaXR0by4NCj4gKHZ1aW50OG0xX3QpOiBEaXR0by4NCj4gKHZ1aW50MTZt MV90KTogRGl0dG8uDQo+ICh2dWludDMybTFfdCk6IERpdHRvLg0KPiAodnVpbnQ2NG0xX3QpOiBE aXR0by4NCj4gKiBjb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmNjDQo+IChERUZf UlZWX0JPT0wxX0lOVEVSUFJFVF9PUFMpOiBOZXcgbWFjcm8uDQo+IChyZXF1aXJlZF9leHRlbnNp b25zX3ApOiBBZGQgYm9vbDEgaW50ZXJwcmV0IGNhc2UuDQo+ICogY29uZmlnL3Jpc2N2L3Jpc2N2 LXZlY3Rvci1idWlsdGlucy5kZWYNCj4gKGJvb2wxX2ludGVycHJldCk6IEFkZCBib29sMSBpbnRl cnByZXQgdG8gYmFzZSB0eXBlLg0KPiAqIGNvbmZpZy9yaXNjdi92ZWN0b3IubWQgKEB2cmVpbnRl cnByZXQ8bW9kZT4pOiBBZGQgbmV3IGV4cGFuZCB3aXRoIFZCIA0KPiBkZXN0IGZvciB2cmVpbnRl cnByZXQuDQo+DQo+IGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KPg0KPiAqIGdjYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvbWlzY192cmVpbnRlcnByZXRfdmJvb2xfdmludC5jOiBOZXcgdGVzdC4N Cj4gLS0tDQo+IGdjYy9jb25maWcvcmlzY3YvZ2VucnZ2LXR5cGUtaW5kZXhlci5jYyAgICAgICB8 IDE5ICsrKysrKysrKysNCj4gLi4uL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1mdW5jdGlv bnMuZGVmIHwgIDEgKw0KPiAuLi4vcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXR5cGVzLmRl ZiAgICAgfCAxNyArKysrKysrKysNCj4gZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVp bHRpbnMuY2MgICAgIHwgMTggKysrKysrKysrDQo+IGdjYy9jb25maWcvcmlzY3YvcmlzY3YtdmVj dG9yLWJ1aWx0aW5zLmRlZiAgICB8ICAyICsNCj4gZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3IubWQg ICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKysNCj4gLi4uL3J2di9iYXNlL21pc2NfdnJlaW50 ZXJwcmV0X3Zib29sX3ZpbnQuYyAgIHwgMzggKysrKysrKysrKysrKysrKysrKw0KPiA3IGZpbGVz IGNoYW5nZWQsIDEwNSBpbnNlcnRpb25zKCspDQo+IGNyZWF0ZSBtb2RlIDEwMDY0NCANCj4gZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL21pc2NfdnJlaW50ZXJwcmV0X3Zi b29sX3ZpbnQuYw0KPg0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9nZW5ydnYtdHlw ZS1pbmRleGVyLmNjIA0KPiBiL2djYy9jb25maWcvcmlzY3YvZ2VucnZ2LXR5cGUtaW5kZXhlci5j Yw0KPiBpbmRleCA5YmY2YTgyNjAxZC4uMmYwMzc1NTY4YTggMTAwNjQ0DQo+IC0tLSBhL2djYy9j b25maWcvcmlzY3YvZ2VucnZ2LXR5cGUtaW5kZXhlci5jYw0KPiArKysgYi9nY2MvY29uZmlnL3Jp c2N2L2dlbnJ2di10eXBlLWluZGV4ZXIuY2MNCj4gQEAgLTIzLDYgKzIzLDggQEAgYWxvbmcgd2l0 aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUgDQo+ICNpbmNsdWRlIDxh c3NlcnQuaD4gI2luY2x1ZGUgPG1hdGguaD4NCj4gKyNkZWZpbmUgQk9PTF9TSVpFX0xJU1QgezF9 DQo+ICsNCj4gc3RkOjpzdHJpbmcNCj4gdG9fbG11bCAoaW50IGxtdWxfbG9nMikNCj4gew0KPiBA QCAtMjE4LDYgKzIyMCw5IEBAIG1haW4gKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikNCj4g ICAgICAgIGZvciAodW5zaWduZWQgZWV3IDogezgsIDE2LCAzMiwgNjR9KSBmcHJpbnRmIChmcCwg IiAgDQo+IC8qRUVXJWRfSU5URVJQUkVUKi8gSU5WQUxJRCxcbiIsIGVldyk7DQo+ICsgICAgICBm b3IgKHVuc2lnbmVkIGJvb2xzaXplIDogQk9PTF9TSVpFX0xJU1QpIGZwcmludGYgKGZwLCAiICAN Cj4gKyAvKkJPT0wlZF9JTlRFUlBSRVQqLyBJTlZBTElELFxuIiwgYm9vbHNpemUpOw0KPiArDQo+ ICAgICAgICBmb3IgKHVuc2lnbmVkIGxtdWxfbG9nMl9vZmZzZXQgOiB7MSwgMiwgMywgNCwgNSwg Nn0pIHsNCj4gICB1bnNpZ25lZCBtdWx0aXBsZV9vZl9sbXVsID0gMSA8PCBsbXVsX2xvZzJfb2Zm c2V0OyBAQCAtMjk3LDYgKzMwMiwxNiANCj4gQEAgbWFpbiAoaW50IGFyZ2MsIGNvbnN0IGNoYXIg Kiphcmd2KQ0KPiAgICBpbnR0eXBlIChlZXcsIGxtdWxfbG9nMiwgdW5zaWduZWRfcCkuY19zdHIg KCkpOw0KPiAgICAgICB9DQo+ICsgICAgIGZvciAodW5zaWduZWQgYm9vbHNpemUgOiBCT09MX1NJ WkVfTElTVCkNCj4gKyAgICAgICB7DQo+ICsgc3RkOjpzdHJpbmdzdHJlYW0gbW9kZTsNCj4gKyBt b2RlIDw8ICJ2Ym9vbCIgPDwgYm9vbHNpemUgPDwgIl90IjsNCj4gKw0KPiArIGZwcmludGYgKGZw LCAiICAvKkJPT0wlZF9JTlRFUlBSRVQqLyAlcyxcbiIsIGJvb2xzaXplLCBuZiA9PSAxICYmIA0K PiArIGxtdWxfbG9nMiA9PSAwID8gbW9kZS5zdHIgKCkuY19zdHIgKCkNCj4gKyAgICA6ICJJTlZB TElEIik7DQo+ICsgICAgICAgfQ0KPiArDQo+ICAgICBmb3IgKHVuc2lnbmVkIGxtdWxfbG9nMl9v ZmZzZXQgOiB7MSwgMiwgMywgNCwgNSwgNn0pDQo+ICAgICAgIHsNCj4gdW5zaWduZWQgbXVsdGlw bGVfb2ZfbG11bCA9IDEgPDwgbG11bF9sb2cyX29mZnNldDsgQEAgLTM1NSw2ICszNzAsMTAgDQo+ IEBAIG1haW4gKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikNCj4gICAgZmxvYXR0eXBlIChz ZXcgKiAyLCAvKmxtdWxfbG9nMiovIDApLmNfc3RyICgpKTsNCj4gICBmb3IgKHVuc2lnbmVkIGVl dyA6IHs4LCAxNiwgMzIsIDY0fSkNCj4gICAgIGZwcmludGYgKGZwLCAiICAvKkVFVyVkX0lOVEVS UFJFVCovIElOVkFMSUQsXG4iLCBlZXcpOw0KPiArDQo+ICsgICBmb3IgKHVuc2lnbmVkIGJvb2xz aXplIDogQk9PTF9TSVpFX0xJU1QpDQo+ICsgICAgIGZwcmludGYgKGZwLCAiICAvKkJPT0wlZF9J TlRFUlBSRVQqLyBJTlZBTElELFxuIiwgYm9vbHNpemUpOw0KPiArDQo+ICAgZm9yICh1bnNpZ25l ZCBsbXVsX2xvZzJfb2Zmc2V0IDogezEsIDIsIDMsIDQsIDUsIDZ9KQ0KPiAgICAgew0KPiAgICAg ICB1bnNpZ25lZCBtdWx0aXBsZV9vZl9sbXVsID0gMSA8PCBsbXVsX2xvZzJfb2Zmc2V0OyBkaWZm IC0tZ2l0IA0KPiBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWZ1bmN0 aW9ucy5kZWYgDQo+IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtZnVu Y3Rpb25zLmRlZg0KPiBpbmRleCA3MjAwMDM2ZDg1My4uNzIwMzJjNmE1MmMgMTAwNjQ0DQo+IC0t LSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWZ1bmN0aW9ucy5kZWYN Cj4gKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtZnVuY3Rpb25z LmRlZg0KPiBAQCAtNTA4LDYgKzUwOCw3IEBAIERFRl9SVlZfRlVOQ1RJT04gKHZyZWludGVycHJl dCwgbWlzYywgbm9uZV9wcmVkcywgDQo+IGl1X3ZfZWV3OF9pbnRlcnByZXRfb3BzKSBERUZfUlZW X0ZVTkNUSU9OICh2cmVpbnRlcnByZXQsIG1pc2MsIA0KPiBub25lX3ByZWRzLCBpdV92X2VldzE2 X2ludGVycHJldF9vcHMpIERFRl9SVlZfRlVOQ1RJT04gKHZyZWludGVycHJldCwgDQo+IG1pc2Ms IG5vbmVfcHJlZHMsIGl1X3ZfZWV3MzJfaW50ZXJwcmV0X29wcykgREVGX1JWVl9GVU5DVElPTiAN Cj4gKHZyZWludGVycHJldCwgbWlzYywgbm9uZV9wcmVkcywgaXVfdl9lZXc2NF9pbnRlcnByZXRf b3BzKQ0KPiArREVGX1JWVl9GVU5DVElPTiAodnJlaW50ZXJwcmV0LCBtaXNjLCBub25lX3ByZWRz LCANCj4gK2l1X3ZfYm9vbDFfaW50ZXJwcmV0X29wcykNCj4gREVGX1JWVl9GVU5DVElPTiAodmxt dWxfZXh0LCBtaXNjLCBub25lX3ByZWRzLCBhbGxfdl92bG11bF9leHRfeDJfb3BzKSANCj4gREVG X1JWVl9GVU5DVElPTiAodmxtdWxfZXh0LCBtaXNjLCBub25lX3ByZWRzLCBhbGxfdl92bG11bF9l eHRfeDRfb3BzKSANCj4gREVGX1JWVl9GVU5DVElPTiAodmxtdWxfZXh0LCBtaXNjLCBub25lX3By ZWRzLCBhbGxfdl92bG11bF9leHRfeDhfb3BzKSANCj4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcv cmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXR5cGVzLmRlZiANCj4gYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy10eXBlcy5kZWYNCj4gaW5kZXggNWJkMzZhNjUyNGUu Ljk3N2NlNmIxODMxIDEwMDY0NA0KPiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rv ci1idWlsdGlucy10eXBlcy5kZWYNCj4gKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0 b3ItYnVpbHRpbnMtdHlwZXMuZGVmDQo+IEBAIC0xODEsNiArMTgxLDEyIEBAIGFsb25nIHdpdGgg R0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuIElmIG5vdCBzZWUgDQo+ICNkZWZpbmUgREVGX1JW Vl9FRVc2NF9JTlRFUlBSRVRfT1BTKFRZUEUsIFJFUVVJUkUpICNlbmRpZg0KPiArLyogVXNlICJE RUZfUlZWX0JPT0wxX0lOVEVSUFJFVF9PUFMiIG1hY3JvIGluY2x1ZGUgYWxsIHR5cGVzIGZvciBC T09MMQ0KPiArICAgdmludGVycHJldCB3aGljaCB3aWxsIGJlIGl0ZXJhdGVkIGFuZCByZWdpc3Rl cmVkIGFzIGludHJpbnNpYyANCj4gK2Z1bmN0aW9ucy4gICovICNpZm5kZWYgREVGX1JWVl9CT09M MV9JTlRFUlBSRVRfT1BTICNkZWZpbmUgDQo+ICtERUZfUlZWX0JPT0wxX0lOVEVSUFJFVF9PUFMo VFlQRSwgUkVRVUlSRSkgI2VuZGlmDQo+ICsNCj4gLyogVXNlICJERUZfUlZWX1gyX1ZMTVVMX0VY VF9PUFMiIG1hY3JvIGluY2x1ZGUgYWxsIHR5cGVzIGZvciBYMiBWTE1VTCBFWFQNCj4gICAgIHdo aWNoIHdpbGwgYmUgaXRlcmF0ZWQgYW5kIHJlZ2lzdGVyZWQgYXMgaW50cmluc2ljIGZ1bmN0aW9u cy4gICovIA0KPiAjaWZuZGVmIERFRl9SVlZfWDJfVkxNVUxfRVhUX09QUyBAQCAtNjY1LDYgKzY3 MSwxNiBAQCANCj4gREVGX1JWVl9FRVc2NF9JTlRFUlBSRVRfT1BTICh2dWludDMybTJfdCwgMCkg DQo+IERFRl9SVlZfRUVXNjRfSU5URVJQUkVUX09QUyAodnVpbnQzMm00X3QsIDApIA0KPiBERUZf UlZWX0VFVzY0X0lOVEVSUFJFVF9PUFMgKHZ1aW50MzJtOF90LCAwKQ0KPiArREVGX1JWVl9CT09M MV9JTlRFUlBSRVRfT1BTICh2aW50OG0xX3QsIDApIA0KPiArREVGX1JWVl9CT09MMV9JTlRFUlBS RVRfT1BTICh2aW50MTZtMV90LCAwKSANCj4gK0RFRl9SVlZfQk9PTDFfSU5URVJQUkVUX09QUyAo dmludDMybTFfdCwgMCkgDQo+ICtERUZfUlZWX0JPT0wxX0lOVEVSUFJFVF9PUFMgKHZpbnQ2NG0x X3QsIFJWVl9SRVFVSVJFX0VMRU5fNjQpDQo+ICsNCj4gK0RFRl9SVlZfQk9PTDFfSU5URVJQUkVU X09QUyAodnVpbnQ4bTFfdCwgMCkgDQo+ICtERUZfUlZWX0JPT0wxX0lOVEVSUFJFVF9PUFMgKHZ1 aW50MTZtMV90LCAwKSANCj4gK0RFRl9SVlZfQk9PTDFfSU5URVJQUkVUX09QUyAodnVpbnQzMm0x X3QsIDApIA0KPiArREVGX1JWVl9CT09MMV9JTlRFUlBSRVRfT1BTICh2dWludDY0bTFfdCwgUlZW X1JFUVVJUkVfRUxFTl82NCkNCj4gKw0KPiBERUZfUlZWX1gyX1ZMTVVMX0VYVF9PUFMgKHZpbnQ4 bWY4X3QsIFJWVl9SRVFVSVJFX01JTl9WTEVOXzY0KSANCj4gREVGX1JWVl9YMl9WTE1VTF9FWFRf T1BTICh2aW50OG1mNF90LCAwKSBERUZfUlZWX1gyX1ZMTVVMX0VYVF9PUFMgDQo+ICh2aW50OG1m Ml90LCAwKSBAQCAtMTA1Miw2ICsxMDY4LDcgQEAgREVGX1JWVl9UVVBMRV9PUFMgDQo+ICh2Zmxv YXQ2NG00eDJfdCwgUlZWX1JFUVVJUkVfRUxFTl9GUF82NCkgI3VuZGVmIA0KPiBERUZfUlZWX0VF VzE2X0lOVEVSUFJFVF9PUFMgI3VuZGVmIERFRl9SVlZfRUVXMzJfSU5URVJQUkVUX09QUyAjdW5k ZWYgDQo+IERFRl9SVlZfRUVXNjRfSU5URVJQUkVUX09QUw0KPiArI3VuZGVmIERFRl9SVlZfQk9P TDFfSU5URVJQUkVUX09QUw0KPiAjdW5kZWYgREVGX1JWVl9YMl9WTE1VTF9FWFRfT1BTDQo+ICN1 bmRlZiBERUZfUlZWX1g0X1ZMTVVMX0VYVF9PUFMNCj4gI3VuZGVmIERFRl9SVlZfWDhfVkxNVUxf RVhUX09QUw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVp bHRpbnMuY2MgDQo+IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuY2MN Cj4gaW5kZXggMGY1NmYyOWY3YWEuLjk5NjIyZTBhYTc4IDEwMDY0NA0KPiAtLS0gYS9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5jYw0KPiArKysgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5jYw0KPiBAQCAtMzI0LDYgKzMyNCwxMyBAQCBzdGF0 aWMgY29uc3QgcnZ2X3R5cGVfaW5mbyBlZXc2NF9pbnRlcnByZXRfb3BzW10gDQo+ID0geyAjaW5j bHVkZSAicmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXR5cGVzLmRlZiINCj4gICAge05VTV9WRUNUT1Jf VFlQRVMsIDB9fTsNCj4gKy8qIEEgbGlzdCBvZiBib29sMSBpbnRlcnByZXQgd2lsbCBiZSByZWdp c3RlcmVkIGZvciBpbnRyaW5zaWMgDQo+ICtmdW5jdGlvbnMuICAqLyBzdGF0aWMgY29uc3QgcnZ2 X3R5cGVfaW5mbyBib29sMV9pbnRlcnByZXRfb3BzW10gPSB7DQo+ICsjZGVmaW5lIERFRl9SVlZf Qk9PTDFfSU5URVJQUkVUX09QUyhUWVBFLCBSRVFVSVJFKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXA0KPiArICB7VkVDVE9SX1RZUEVfIyNUWVBFLCBSRVFVSVJFfSwNCj4gKyNpbmNsdWRl ICJyaXNjdi12ZWN0b3ItYnVpbHRpbnMtdHlwZXMuZGVmIg0KPiArICB7TlVNX1ZFQ1RPUl9UWVBF UywgMH19Ow0KPiArDQo+IC8qIEEgbGlzdCBvZiB4MiB2bG11bCBleHQgd2lsbCBiZSByZWdpc3Rl cmVkIGZvciBpbnRyaW5zaWMgZnVuY3Rpb25zLiAgDQo+ICovIHN0YXRpYyBjb25zdCBydnZfdHlw ZV9pbmZvIHZsbXVsX2V4dF94Ml9vcHNbXSA9IHsgI2RlZmluZSANCj4gREVGX1JWVl9YMl9WTE1V TF9FWFRfT1BTKFRZUEUsIFJFUVVJUkUpIHtWRUNUT1JfVFlQRV8jI1RZUEUsIFJFUVVJUkV9LCAN Cj4gQEAgLTE1OTYsNiArMTYwMywxNCBAQCBzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9p bmZvIGl1X3ZfZWV3NjRfaW50ZXJwcmV0X29wcw0KPiAgICAgICBydnZfYXJnX3R5cGVfaW5mbyAo UlZWX0JBU0VfZWV3NjRfaW50ZXJwcmV0KSwgLyogUmV0dXJuIHR5cGUgKi8NCj4gICAgICAgdl9h cmdzIC8qIEFyZ3MgKi99Ow0KPiArLyogQSBzdGF0aWMgb3BlcmFuZCBpbmZvcm1hdGlvbiBmb3Ig dmJvb2wxX3QgZnVuYyAodmVjdG9yX3R5cGUpDQo+ICsgKiBmdW5jdGlvbiByZWdpc3RyYXRpb24u ICovDQo+ICtzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZvIGl1X3ZfYm9vbDFfaW50 ZXJwcmV0X29wcw0KPiArICA9IHtib29sMV9pbnRlcnByZXRfb3BzLCAgICAvKiBUeXBlcyAqLw0K PiArICAgICBPUF9UWVBFX3YsICAgIC8qIFN1ZmZpeCAqLw0KPiArICAgICBydnZfYXJnX3R5cGVf aW5mbyAoUlZWX0JBU0VfYm9vbDFfaW50ZXJwcmV0KSwgLyogUmV0dXJuIHR5cGUgKi8NCj4gKyAg ICAgdl9hcmdzICAgIC8qIEFyZ3MgKi99Ow0KPiArDQo+IC8qIEEgc3RhdGljIG9wZXJhbmQgaW5m b3JtYXRpb24gZm9yIHZlY3Rvcl90eXBlIGZ1bmMgKHZlY3Rvcl90eXBlKQ0KPiAgICogZnVuY3Rp b24gcmVnaXN0cmF0aW9uLiAqLw0KPiBzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZv IGFsbF92X3ZsbXVsX2V4dF94Ml9vcHMgQEAgLTIyODIsNiANCj4gKzIyOTcsNyBAQCBzdGF0aWMg Q09OU1RFWFBSIGNvbnN0IGZ1bmN0aW9uX3R5cGVfaW5mbyBmdW5jdGlvbl90eXBlc1tdID0gew0K PiAgICBET1VCTEVfVFJVTkNfU0NBTEFSLCBET1VCTEVfVFJVTkNfU0lHTkVELCBET1VCTEVfVFJV TkNfVU5TSUdORUQsICAgICAgICAgICAgIFwNCj4gICAgRE9VQkxFX1RSVU5DX1VOU0lHTkVEX1ND QUxBUiwgRE9VQkxFX1RSVU5DX0ZMT0FULCBGTE9BVCwgTE1VTDEsIFdMTVVMMSwgICAgICBcDQo+ ICAgIEVFVzhfSU5URVJQUkVULCBFRVcxNl9JTlRFUlBSRVQsIEVFVzMyX0lOVEVSUFJFVCwgRUVX NjRfSU5URVJQUkVULCAgICAgICAgICAgXA0KPiArICBCT09MMV9JTlRFUlBSRVQsICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4g ICAgWDJfVkxNVUxfRVhULCBYNF9WTE1VTF9FWFQsIFg4X1ZMTVVMX0VYVCwgWDE2X1ZMTVVMX0VY VCwgWDMyX1ZMTVVMX0VYVCwgICAgICBcDQo+ICAgIFg2NF9WTE1VTF9FWFQsIFRVUExFX1NVQlBB UlQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAg ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwNCj4gQEAgLTIzMTksNiArMjMzNSw3IEBAIHN0YXRpYyBD T05TVEVYUFIgY29uc3QgZnVuY3Rpb25fdHlwZV9pbmZvIGZ1bmN0aW9uX3R5cGVzW10gPSB7DQo+ ICAgICAgVkVDVE9SX1RZUEVfIyNFRVcxNl9JTlRFUlBSRVQsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAgICAgIFZFQ1RPUl9UWVBFXyMjRUVXMzJfSU5U RVJQUkVULCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4g ICAgICBWRUNUT1JfVFlQRV8jI0VFVzY0X0lOVEVSUFJFVCwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgVkVDVE9SX1RZUEVfIyNCT09MMV9JTlRF UlBSRVQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAg ICAgIFZFQ1RPUl9UWVBFXyMjWDJfVkxNVUxfRVhULCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwNCj4gICAgICBWRUNUT1JfVFlQRV8jI1g0X1ZMTVVMX0VY VCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICAg ICAgVkVDVE9SX1RZUEVfIyNYOF9WTE1VTF9FWFQsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXA0KPiBAQCAtMjYyMCw2ICsyNjM3LDcgQEAgcmVxdWlyZWRf ZXh0ZW5zaW9uc19wIChlbnVtIHJ2dl9iYXNlX3R5cGUgdHlwZSkNCj4gICAgICAgIGNhc2UgUlZW X0JBU0VfZWV3MTZfaW50ZXJwcmV0Og0KPiAgICAgICAgY2FzZSBSVlZfQkFTRV9lZXczMl9pbnRl cnByZXQ6DQo+ICAgICAgICBjYXNlIFJWVl9CQVNFX2VldzY0X2ludGVycHJldDoNCj4gKyAgICAg IGNhc2UgUlZWX0JBU0VfYm9vbDFfaW50ZXJwcmV0Og0KPiAgICAgICAgY2FzZSBSVlZfQkFTRV92 bG11bF9leHRfeDI6DQo+ICAgICAgICBjYXNlIFJWVl9CQVNFX3ZsbXVsX2V4dF94NDoNCj4gICAg ICAgIGNhc2UgUlZWX0JBU0VfdmxtdWxfZXh0X3g4Og0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuZGVmIA0KPiBiL2djYy9jb25maWcvcmlzY3Yv cmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmRlZg0KPiBpbmRleCAwYTM4N2ZkMTYxNy4uYjNiZjA2NzEy OWUgMTAwNjQ0DQo+IC0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5z LmRlZg0KPiArKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5kZWYN Cj4gQEAgLTc5LDYgKzc5LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5H My4gIElmIG5vdCBzZWUNCj4gICAgRE9VQkxFX1RSVU5DX1NDQUxBUiwgRE9VQkxFX1RSVU5DX1NJ R05FRCwgRE9VQkxFX1RSVU5DX1VOU0lHTkVELCAgICAgICAgICAgICBcDQo+ICAgIERPVUJMRV9U UlVOQ19VTlNJR05FRF9TQ0FMQVIsIERPVUJMRV9UUlVOQ19GTE9BVCwgRkxPQVQsIExNVUwxLCBX TE1VTDEsICAgICAgXA0KPiAgICBFRVc4X0lOVEVSUFJFVCwgRUVXMTZfSU5URVJQUkVULCBFRVcz Ml9JTlRFUlBSRVQsIEVFVzY0X0lOVEVSUFJFVCwgICAgICAgICAgIFwNCj4gKyAgQk9PTDFfSU5U RVJQUkVULCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQo+ICAgIFgyX1ZMTVVMX0VYVCwgWDRfVkxNVUxfRVhULCBYOF9WTE1VTF9F WFQsIFgxNl9WTE1VTF9FWFQsIFgzMl9WTE1VTF9FWFQsICAgICAgXA0KPiAgICBYNjRfVkxNVUxf RVhULCBUVVBMRV9TVUJQQVJUKQ0KPiAjZW5kaWYNCj4gQEAgLTYzNCw2ICs2MzUsNyBAQCBERUZf UlZWX0JBU0VfVFlQRSAoZWV3OF9pbnRlcnByZXQsIGdldF92ZWN0b3JfdHlwZSANCj4gKHR5cGVf aWR4KSkgREVGX1JWVl9CQVNFX1RZUEUgKGVldzE2X2ludGVycHJldCwgZ2V0X3ZlY3Rvcl90eXBl IA0KPiAodHlwZV9pZHgpKSBERUZfUlZWX0JBU0VfVFlQRSAoZWV3MzJfaW50ZXJwcmV0LCBnZXRf dmVjdG9yX3R5cGUgDQo+ICh0eXBlX2lkeCkpIERFRl9SVlZfQkFTRV9UWVBFIChlZXc2NF9pbnRl cnByZXQsIGdldF92ZWN0b3JfdHlwZSANCj4gKHR5cGVfaWR4KSkNCj4gK0RFRl9SVlZfQkFTRV9U WVBFIChib29sMV9pbnRlcnByZXQsIGdldF92ZWN0b3JfdHlwZSAodHlwZV9pZHgpKQ0KPiBERUZf UlZWX0JBU0VfVFlQRSAodmxtdWxfZXh0X3gyLCBnZXRfdmVjdG9yX3R5cGUgKHR5cGVfaWR4KSkg DQo+IERFRl9SVlZfQkFTRV9UWVBFICh2bG11bF9leHRfeDQsIGdldF92ZWN0b3JfdHlwZSAodHlw ZV9pZHgpKSANCj4gREVGX1JWVl9CQVNFX1RZUEUgKHZsbXVsX2V4dF94OCwgZ2V0X3ZlY3Rvcl90 eXBlICh0eXBlX2lkeCkpIGRpZmYgDQo+IC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3Iu bWQgYi9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZCBpbmRleCANCj4gMzI4ZmNlOGQ2MzIuLmMx MjhjM2RlZGFjIDEwMDY0NA0KPiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZA0KPiAr KysgYi9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZA0KPiBAQCAtNDMzLDYgKzQzMywxNiBAQCAo ZGVmaW5lX2V4cGFuZCAiQHZyZWludGVycHJldDxtb2RlPiINCj4gICAgfQ0KPiApDQo+ICsoZGVm aW5lX2V4cGFuZCAiQHZyZWludGVycHJldDxtb2RlPiINCj4gKyAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6VkIgMCAicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ICsgKG1hdGNoX29wZXJhbmQgICAgMSAidmVj dG9yX2FueV9yZWdpc3Rlcl9vcGVyYW5kIikpXQ0KPiArICAiVEFSR0VUX1ZFQ1RPUiINCj4gKyAg ew0KPiArICAgIGVtaXRfbW92ZV9pbnNuIChvcGVyYW5kc1swXSwgZ2VuX2xvd3BhcnQgKDxNT0RF Pm1vZGUsIG9wZXJhbmRzWzFdKSk7DQo+ICsgICAgRE9ORTsNCj4gKyAgfQ0KPiArKQ0KPiArDQo+ IChkZWZpbmVfZXhwYW5kICJAdmxtdWxfZXh0eDI8bW9kZT4iDQo+ICAgIFsoc2V0IChtYXRjaF9v cGVyYW5kOjxWTE1VTFgyPiAwICJyZWdpc3Rlcl9vcGVyYW5kIikNCj4gICAgKHN1YnJlZzo8VkxN VUxYMj4NCj4gZGlmZiAtLWdpdCANCj4gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvbWlzY192cmVpbnRlcnByZXRfdmJvb2xfdmludA0KPiAuYyANCj4gYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvbWlzY192cmVpbnRlcnByZXRfdmJvb2xf dmludA0KPiAuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4u ZmY1ZWYyYWYxYmMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvbWlzY192cmVpbnRlcnByZXRfdmJvb2xfDQo+ICsrKyB2aW50 LmMNCj4gQEAgLTAsMCArMSwzOCBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8q IHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8gI2luY2x1 ZGUgDQo+ICsicmlzY3ZfdmVjdG9yLmgiDQo+ICsNCj4gK3Zib29sMV90IHRlc3RfdnJlaW50ZXJw cmV0X3ZfaThtMV9iMSAodmludDhtMV90IHNyYykgew0KPiArICByZXR1cm4gX19yaXNjdl92cmVp bnRlcnByZXRfdl9pOG0xX2IxIChzcmMpOyB9DQo+ICsNCj4gK3Zib29sMV90IHRlc3RfdnJlaW50 ZXJwcmV0X3ZfaTE2bTFfYjEgKHZpbnQxNm0xX3Qgc3JjKSB7DQo+ICsgIHJldHVybiBfX3Jpc2N2 X3ZyZWludGVycHJldF92X2kxNm0xX2IxIChzcmMpOyB9DQo+ICsNCj4gK3Zib29sMV90IHRlc3Rf dnJlaW50ZXJwcmV0X3ZfaTMybTFfYjEgKHZpbnQzMm0xX3Qgc3JjKSB7DQo+ICsgIHJldHVybiBf X3Jpc2N2X3ZyZWludGVycHJldF92X2kzMm0xX2IxIChzcmMpOyB9DQo+ICsNCj4gK3Zib29sMV90 IHRlc3RfdnJlaW50ZXJwcmV0X3ZfaTY0bTFfYjEgKHZpbnQ2NG0xX3Qgc3JjKSB7DQo+ICsgIHJl dHVybiBfX3Jpc2N2X3ZyZWludGVycHJldF92X2k2NG0xX2IxIChzcmMpOyB9DQo+ICsNCj4gK3Zi b29sMV90IHRlc3RfdnJlaW50ZXJwcmV0X3ZfdThtMV9iMSAodnVpbnQ4bTFfdCBzcmMpIHsNCj4g KyAgcmV0dXJuIF9fcmlzY3ZfdnJlaW50ZXJwcmV0X3ZfdThtMV9iMSAoc3JjKTsgfQ0KPiArDQo+ ICt2Ym9vbDFfdCB0ZXN0X3ZyZWludGVycHJldF92X3UxNm0xX2IxICh2dWludDE2bTFfdCBzcmMp IHsNCj4gKyAgcmV0dXJuIF9fcmlzY3ZfdnJlaW50ZXJwcmV0X3ZfdTE2bTFfYjEgKHNyYyk7IH0N Cj4gKw0KPiArdmJvb2wxX3QgdGVzdF92cmVpbnRlcnByZXRfdl91MzJtMV9iMSAodnVpbnQzMm0x X3Qgc3JjKSB7DQo+ICsgIHJldHVybiBfX3Jpc2N2X3ZyZWludGVycHJldF92X3UzMm0xX2IxIChz cmMpOyB9DQo+ICsNCj4gK3Zib29sMV90IHRlc3RfdnJlaW50ZXJwcmV0X3ZfdTY0bTFfYjEgKHZ1 aW50NjRtMV90IHNyYykgew0KPiArICByZXR1cm4gX19yaXNjdl92cmVpbnRlcnByZXRfdl91NjRt MV9iMSAoc3JjKTsgfQ0KPiArDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMgDQo+ICt7dmxtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSA4IH0gfSAqLw0K PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIA0KPiAre3ZzbVwudlxzK3Zb MC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gOCB9IH0gKi8NCj4gLS0NCj4gMi4zNC4xDQo+DQo+ DQo=