From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) by sourceware.org (Postfix) with ESMTPS id 926CF3858D28 for ; Thu, 21 Mar 2024 14:06:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 926CF3858D28 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 926CF3858D28 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=198.175.65.13 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1711029978; cv=pass; b=SUoj49CE1HVt3KQccry/Ne2LG7RMNVCcisa76Z1P1vtexA73So76tT9SBc90f+cdo6DhBQb4JBTSWXAXmkpHMzi0KrZgjTf1uEbhGpYaOOdG/4haldx7SmJTNiZq56EPqN9iMwk6OTBvfF2IFikSSTM30o6PKk+LrV3rN0IYr7g= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1711029978; c=relaxed/simple; bh=CuY9UMj6nUtnPdbWCnu56cVPdIp35yyq0QOziH6X7tw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=kNg409gZkTtDxtGgh7lwjzjvx7imiMMgD84fQd3sQkp6rqgBV90sVbvxeKqnM3gES8H28gWT59jqR9kWtOaorhElNSy0KFQ4JcanTDXDZ6ik7n7XymHFUCngWHWZFaKjdOeL/DOLXzzF0NtsLDwKRe8YC5bnteOQ2Et4xltXJrI= 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=1711029968; x=1742565968; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=CuY9UMj6nUtnPdbWCnu56cVPdIp35yyq0QOziH6X7tw=; b=EPeklH6mQHR92jVUkdgsHCZgG7aqnu5WYIwQqrhbGTbyGxKbXgkfD5vd Xbxp5t0Q8AZVeun/u74/AU4ru5xwvcXXFcSZ6DhhaR5BqFT5sRnL4Am6b II84EfKxFUKsQSLfqF4Vy3qu6fGWxxcSbt9dzldcbEOIsdWYkZx7ooPDR /Y9sK3KT4gbxBxdXMvlyvC0FQCUXoWfX0po9X/WWJsJs64NziKlWhbl1o 2kUMaHFE7qT1cPIJZdVWgXcv+QLliQq4ZmmIaV/JVfXZpwgbpiUcmceeB oubxGO2lz0ezeYt9y+9zvDfsNQr2vQ2LNFRO9Yf3qPxkCLKzLepfqq596 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11019"; a="17157938" X-IronPort-AV: E=Sophos;i="6.07,143,1708416000"; d="scan'208";a="17157938" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Mar 2024 07:06:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,143,1708416000"; d="scan'208";a="14403691" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa010.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 21 Mar 2024 07:06:07 -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.35; Thu, 21 Mar 2024 07:06:05 -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.35; Thu, 21 Mar 2024 07:06:05 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.35 via Frontend Transport; Thu, 21 Mar 2024 07:06:05 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 21 Mar 2024 07:06:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=US1IBa32abp/ztEOon87HctZqN78QJqfS4CrlW+RbMwq2Swblrcz6FQPUlSlzIuMUrK9zgesf4E5AHboMlsYUsXoWATRhSu0I3yyFKHAb2xkUsuohqQ9GmXLX9W+pP1BC1w+k5PqqwFubYkVo7sqsr6BFm125ujZjDP/eZncUxqQF/jdKTZp3Em37nk0JCncLC3zeqF55uTNVkDKlOwIDWrMU2uPT3mvS+GSq+6TGk0xiBRzsjRUqxJmb6FIRJ3XSU8Tsk45qUbH3VNgxBpkQM6SUy3SWdT7R1CmLnSqjWtdLhB9AazuBcs1HrNtEKgEsQylEejq3sRGAfdwnYHX+Q== 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=CuY9UMj6nUtnPdbWCnu56cVPdIp35yyq0QOziH6X7tw=; b=ZJv4zowDAJlJ9BK5jE+7L9WcsgRgWQFDJcDsa7x2G7nQwYzta4zSiKRWqT9Qe7mPWD0HMyChCbGNNbfQVBmV9xJY7muV6o/PgcPj+2qLvtukagR+7+rzIlJtFrDTipfnLvlvfgXgJt6T19lGHuS5nAz4rj1JkNNw0DgPKEWR+0XqZC8nz77anbdnN/qDxnN+0Kd+xNptZ5omCuQQuyG8FbydPpsQDxglWi7NkiuV16R/OEGkWAxVZ1DUIQudF33g9bEMAGa+ctzq+RBwgqoyyk1E3ywkfrY2+s3CfpF54Yied2zlXvZDBOdbLl8lPunl7UTDo9j1hMdVAtA1btBwDA== 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 SN7PR11MB6897.namprd11.prod.outlook.com (2603:10b6:806:2a5::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.23; Thu, 21 Mar 2024 14:06:02 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0%4]) with mapi id 15.20.7409.010; Thu, 21 Mar 2024 14:06:02 +0000 From: "Li, Pan2" To: Kito Cheng CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "Wang, Yanzhang" Subject: RE: [PATCH v1] RISC-V: Bugfix function target attribute pollution Thread-Topic: [PATCH v1] RISC-V: Bugfix function target attribute pollution Thread-Index: AQHaeozkeVZ01rih2UCAkC4VyH+DEbFCIsCAgAAZxkA= Date: Thu, 21 Mar 2024 14:06:02 +0000 Message-ID: References: <20240320060718.1765064-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_|SN7PR11MB6897:EE_ x-ms-office365-filtering-correlation-id: 19b94093-38da-47ae-0a58-08dc49b00a9f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YRoLwVHbeUos6NT+zM9zX76SZEn7YuitXjNFwdf7q+EBeB5XcXUJjka4H+Wt+d0F5r9k+Wp2YdiZizh+SHEkg/rIf20mey7/qZQ4fuJSG28myuzZI40WpfXOKf3lX6Fzrvp3T/wttfuBv3kcNotBr585+loAaugG0WXWK6UlXHG3TIhdRikqFrRrhyvczLvu5HAlYjb6q99k7NdlGExFYz88kuCJZbCAvZJ8QqvPmNe0OSnsORcvqvYnyTmhQN2NF+onksEi0BOsivhUd3XwHBuE56ztVAirqv1PL9XcYHF/+hQyhSmSI2NRQPxhgTu0L7+deANU6QT9th+9FM0jYlOHRRvxNRVFELZwfEeWGksxNqBFzhfGJULZiTGH3RIFlbPTbP+E8z53PjZOO1ueE3Ky8QOou7gVQkf5CGOqpaUEQuetlwhVcNGReXayEET13F0eDny2F/HD7SubhFyqPV+igKElh16yiguWtIpFU60vCJA6VcXSTPRTfoSZWaYtCXfcndQxJ6jpOOfPNFt/7b4iC3gV03vino7qxkauFkUboV6PcCCsUjoZv3t4HRcN1tYVUDHJTqhPw0sKqzSqqM8BCbBUfiR6mNVwnmfyYLGd7/DYcJbfQtgVUjv2NROw6f19RXpD6ONH61x4sPoZWqNhMcehQjoHFmgg7vsgArUM4absxLvreuIuGgwTpT9s 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)(376005)(366007)(1800799015)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cnlMZ09NYXdDSnJqRG9KZHBrQUtGNlhvZ2hpRFlTQndZSGVQaFpkOVAyRWRu?= =?utf-8?B?OGlHa3NTUkNUaG5hV3FCTmRWOUI0WDhtQkZoay82ZlBGWE9CNGRMaEl6Wmxa?= =?utf-8?B?ZXAzVGlXbFI2RE44bnRIbGluM2VLaWNZL3crSWpUSzlTVUJvb1NPTVkwZDUz?= =?utf-8?B?RGo5V1ZYdFpwZk9CRkFzZEUxY1BvT0dpTFR1WHhWMnZuc01VaXo2TjMzNi9s?= =?utf-8?B?L0d1cnROaU8yVjl3Mk1NUkozZENlY2lEUE51bjRCQkYyY2d3eSswczRKLyth?= =?utf-8?B?V1ZjdXdTa1NNcENwZzZLTzFkcTJRbDFnU2kwbHI4R1I5Nk5ualM4MWpNQURm?= =?utf-8?B?UGFuOW1nTnB5ODFrbTRJU0pTYks2bHZIcHNNZjNZR3dFdHl4bEJIVndFL29Z?= =?utf-8?B?bHQrdS9yRVNRZmRtQ0hDYkovSFZvMGY2NFlRY2RXQzZNV1ZvRm5wUVZEWmpy?= =?utf-8?B?UHZkN3l3L2NwT0dYckt6TTVoa1dKZmFsUEU4ejByR0lKYUtvVVc1NmtZMyt4?= =?utf-8?B?SXBRbHVzUXgxT1JvSU1EaGF0dTN5bFBlMm1VUG5mQjNpelRZRHRVR2xkMGUv?= =?utf-8?B?cTZ6bnNwcEVpZzFKN1NhOWFVQmZQbGo3R0tzakxlTm5uVHZMOVhQbERJSnRK?= =?utf-8?B?MVdxTHJDQU1FL1A0eVlrMjZWV0pQMXpIbUY5OHBWVnpLZ0ExUFBvU2pnc3Qv?= =?utf-8?B?WjhzYjh6MWtOV0pDUUVYK3F6Vk5Xd1MwRWNXei9QZFhRWkxQajlLSVd5bHdy?= =?utf-8?B?empabjhKVWxwMjg0YXd0R0Ezd1VNVGI3dU4rODNNMzE5WDdCN3c4U3B6Rnp4?= =?utf-8?B?NEJwQVVicmFkVDRKeG9ZZWhXY2pTVmdWbGtjRFpjNjIvNlJzOTJzZ2JVTExV?= =?utf-8?B?QmJQYk5LZlJyN3o0N29VOEVqd09yNGxwRmY0R3lVVUYwT3ZUakJkUEMrMm9q?= =?utf-8?B?S0VvYXFZVStGc2J6NnRyV0t5K1hBdHhjeWFPL1J0R3YvMk5NMnJ3d015Mmp5?= =?utf-8?B?VS9vUy83RU1wNXV5ZHIxSUFTWnhzcGNrSGZ0VDYrYVNRb1dtWFhTNnVSai9B?= =?utf-8?B?MDhwUHZnNStRTEkxcDBKTG1jWWRCb3RVa3dCTnlPMkxDczJaZ1BvOXVkWWJX?= =?utf-8?B?UDc2Yk0rRkV5ZlJyVlNkNzJpYXJaeS8zUTdUMUZWRnZyTWEyNHkyaExhTk5P?= =?utf-8?B?eW4wSzlMYityMVpjbXNrTzJ5WTNpNXpEak80VUxKNHVnSVpsSVQvTFZIeW1I?= =?utf-8?B?L0EvV2tzbjNjcDlOeVNqb2h4Zm44TjhPM3RMZVhPNG80cjk0VWlRY25wYm5Y?= =?utf-8?B?Um5OTXliQXZYSWFCOWcwT3dSVWV6d1dqc2thdW9ZR05NQk8wVzY4bDlXeldD?= =?utf-8?B?Y0tiMXFYbTlwMFQ2NzBNLzhTWFZORTIxUGFyVXg2bjZWa2I5SUJlTnB5Zlpr?= =?utf-8?B?OTVlek5id1Foa1dnN0NOWnl4Y21hK2VqMWRyWHJQZHlqRnlqVnNNVkV0b2lJ?= =?utf-8?B?Tk14SnA5V2k3Tm51dktXSkEzdktqMDFoOEtVK2xKWUM4Z3lFbkZvbW91Q2tQ?= =?utf-8?B?b0UvdmFxYUtHZnphRWRtMXlOWTFzUzFJQ21CWTlhbGlwRG5tRS91dlpjZlVl?= =?utf-8?B?a2tieDFaZXhYV0hOV1pCT1FxMEtoWlc3VllOdjFYV3htdVVTMmNsSElQMzNP?= =?utf-8?B?SnBpa3NNdE02QVMwcXh1TnNUKzdkaklKQ1BwM1lTQXRnd3NtY29oRExqb0pR?= =?utf-8?B?V2Z5SjFDT1prbi9yU1ZSdDVta091R1kxL1EwRHNwOEk2MDM2VFB4b3RKYmlx?= =?utf-8?B?SGRhbWxkdVRzZGdEeGJ4eGJkOFdXWEU5ME9yOVpXRFJWZ1B3YldtMDZRRkYw?= =?utf-8?B?UzNoeUVBdnBrS1diazQxZkhwZ0pHRld6SDY2NzhOQVZxYWlyb2c0RGQ0aHBX?= =?utf-8?B?YUZzT1ptMWZKOXlMRjE3ckQ4ZDZGMnk3cUE1V29UYUl1c0k2eWpna2tKRmFO?= =?utf-8?B?aERSRDFod1ZSNll2RTVsSjhXM0FPSjRCMkptQTA4aWRQc3NxUkI2YWUySi9V?= =?utf-8?B?YW1nVU9jQktyRnRMRTdLWi9kOUJhZENreDlidTUwbFV6VWo0NzdsYlIvcFMr?= =?utf-8?Q?tzsA=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: 19b94093-38da-47ae-0a58-08dc49b00a9f X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2024 14:06:02.0569 (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: eH7KoGJkI3CTYuh+fc3OYnWijHi3gci+JkHsd8WukJKytqyZ59Pse1tsi8QgM0n89OHKO44+nzUNc8er4WmfpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6897 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,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: VGhhbmtzIEtpdG8sIHdpbGwgY29tbWl0IGl0IGFmdGVyIHRoZSBJQ0UgZml4Lg0KDQpQYW4NCg0K LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEtpdG8gQ2hlbmcgPGtpdG8uY2hlbmdA Z21haWwuY29tPiANClNlbnQ6IFRodXJzZGF5LCBNYXJjaCAyMSwgMjAyNCA4OjMzIFBNDQpUbzog TGksIFBhbjIgPHBhbjIubGlAaW50ZWwuY29tPg0KQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3Jn OyBqdXpoZS56aG9uZ0ByaXZhaS5haTsgV2FuZywgWWFuemhhbmcgPHlhbnpoYW5nLndhbmdAaW50 ZWwuY29tPg0KU3ViamVjdDogUmU6IFtQQVRDSCB2MV0gUklTQy1WOiBCdWdmaXggZnVuY3Rpb24g dGFyZ2V0IGF0dHJpYnV0ZSBwb2xsdXRpb24NCg0KTEdUTSwgdGhhbmtzIDopDQoNCk9uIFdlZCwg TWFyIDIwLCAyMDI0IGF0IDI6MDfigK9QTSA8cGFuMi5saUBpbnRlbC5jb20+IHdyb3RlOg0KPg0K PiBGcm9tOiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29tPg0KPg0KPiBUaGlzIHBhdGNoIGRlcGVu ZHMgb24gYmVsb3cgSUNFIGZpeC4NCj4NCj4gaHR0cHM6Ly9nY2MuZ251Lm9yZy9waXBlcm1haWwv Z2NjLXBhdGNoZXMvMjAyNC1NYXJjaC82NDc5MTUuaHRtbA0KPg0KPiBUaGUgZnVuY3Rpb24gdGFy Z2V0IGF0dHJpYnV0ZSBzaG91bGQgYmUgb24gYSBwZXItZnVuY3Rpb24gYmFzaXMuDQo+IEZvciBl eGFtcGxlLCB3ZSBoYXZlIDMgZnVuY3Rpb24gYXMgYmVsb3c6DQo+DQo+IHZvaWQgdGVzdF8xICgp IHt9DQo+DQo+IHZvaWQgX19hdHRyaWJ1dGVfXygodGFyZ2V0KCJhcmNoPSt2IikpKSB0ZXN0XzIg KCkge30NCj4NCj4gdm9pZCBfX2F0dHJpYnV0ZV9fKCh0YXJnZXQoImFyY2g9K3pmaCIpKSkgdGVz dF8zICgpIHt9DQo+DQo+IHZvaWQgdGVzdF80ICgpIHt9DQo+DQo+IFRoZSBzY29wZSBvZiB0aGUg dGFyZ2V0IGF0dHJpYnV0ZSBzaG91bGQgbm90IGV4dGVuZCB0aGUgZnVuY3Rpb24gYm9keS4NCj4g QWthLCB0ZXN0XzMgY2Fubm90IGhhdmUgdGhlICd2JyBleHRlbnNpb24sIGFzIHdlbGwgYXMgdGhl IHRlc3RfNA0KPiBjYW5ub3QgaGF2ZSBib3RoIHRoZSAndicgYW5kICd6ZmgnIGV4dGVuc2lvbi4N Cj4NCj4gVW5mb3J0dW5hdGVseSwgZm9yIG5vdyB0aGUgdGVzdF80IGlzIGFibGUgdG8gbGV2ZXJh Z2UgdGhlICd2JyBhbmQNCj4gdGhlICd6ZmgnIGV4dGVuc2lvbiB3aGljaCBpcyBpbmNvcnJlY3Qu ICBUaGlzIHBhdGNoIHdvdWxkIGxpa2UgdG8NCj4gZml4IHRoZSBzdGlja2luZyBhdHRyaWJ1dGUg YnkgaW50cm9kdWNlIHRoZSBjb21tYW5kbGluZSBzdWJzZXRfbGlzdC4NCj4gV2hlbiBwYXJzZV9h cmNoLCB3ZSBhbHdheXMgY2xvbmUgZnJvbSB0aGUgY21kbGluZV9zdWJzZXRfbGlzdCBpbnN0ZWFk DQo+IG9mIHRoZSBjdXJyZW50X3N1YnNldF9saXN0Lg0KPg0KPiBNZWFud2hpbGUsIHdlIGNvcnJl Y3QgdGhlIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGFyY2ggbGlrZSBiZWxvdy4NCj4NCj4gLm9w dGlvbiBhcmNoLCBydjY0aTJwMV9tMnAwX2EycDFfZjJwMl9kMnAyX2MycDBfemljc3IycDBfemlm ZW5jZWkycDBfemJiMXAwDQo+DQo+IFRoZSByaXNjdl9kZWNsYXJlX2Z1bmN0aW9uX25hbWUgaG9v ayBpcyBhbHdheXMgYWZ0ZXIgdGhlIGhvb2sNCj4gcmlzY3ZfcHJvY2Vzc190YXJnZXRfYXR0ci4g IFRodXMsIHdlIGludHJvZHVjZSBvbmUgaGFzaF9tYXAgdG8gcmVjb3JkDQo+IHRoZSAxOjEgbWFw cGluZyBmcm9tIGZuZGVsIHRvIGl0cycgc3Vic2V0X2xpc3QgaW4gYWR2YW5jZS4gIEFuZCBsYXRl cg0KPiB0aGUgcmlzY3ZfZGVjbGFyZV9mdW5jdGlvbl9uYW1lIGlzIGFibGUgdG8gZ2V0IHRoZSBy aWdodCBpbmZvcm1hdGlvbg0KPiBhYm91dCB0aGUgYXJjaC4NCj4NCj4gQmVsb3cgdGVzdCBhcmUg cGFzc2VkIGZvciB0aGlzIHBhdGNoDQo+ICogVGhlIHJpc2N2IGZ1bGx5IHJlZ3Jlc3Npb24gdGVz dC4NCj4NCj4gICAgICAgICBQUiB0YXJnZXQvMTE0MzUyDQo+DQo+IGdjYy9DaGFuZ2VMb2c6DQo+ DQo+ICAgICAgICAgKiBjb21tb24vY29uZmlnL3Jpc2N2L3Jpc2N2LWNvbW1vbi5jYyAoc3RydWN0 IHJpc2N2X2Z1bmNfdGFyZ2V0X2luZm8pOg0KPiAgICAgICAgIE5ldyBzdHJ1Y3QgZm9yIGZ1bmMg ZGVjbCBhbmQgdGFyZ2V0IG5hbWUuDQo+ICAgICAgICAgKHN0cnVjdCByaXNjdl9mdW5jX3Rhcmdl dF9oYXNoZXIpOiBOZXcgaGFzaGVyIGZvciBoYXNoIHRhYmxlIG1hcHBpbmcNCj4gICAgICAgICBm cm9tIHRoZSBmbl9kZWNsIHRvIGZuX3RhcmdldF9uYW1lLg0KPiAgICAgICAgIChyaXNjdl9mdW5j X2RlY2xfaGFzaCk6IE5ldyBmdW5jIHRvIGNvbXB1dGUgdGhlIGhhc2ggZm9yIGZuX2RlY2wuDQo+ ICAgICAgICAgKHJpc2N2X2Z1bmNfdGFyZ2V0X2hhc2hlcjo6aGFzaCk6IE5ldyBmdW5jIHRvIGlt cGwgaGFzaCBpbnRlcmZhY2UuDQo+ICAgICAgICAgKHJpc2N2X2Z1bmNfdGFyZ2V0X2hhc2hlcjo6 ZXF1YWwpOiBOZXcgZnVuYyB0byBpbXBsIGVxdWFsIGludGVyZmFjZS4NCj4gICAgICAgICAocmlz Y3ZfY21kbGluZV9zdWJzZXRfbGlzdCk6IE5ldyBzdGF0aWMgdmFyIGZvciBjbWRsaW5lIHN1YnNl dCBsaXN0Lg0KPiAgICAgICAgIChyaXNjdl9mdW5jX3RhcmdldF90YWJsZV9sYXp5X2luaXQpOiBO ZXcgZnVuYyB0byBsYXp5IGluaXQgdGhlIGZ1bmMNCj4gICAgICAgICB0YXJnZXQgaGFzaCB0YWJs ZS4NCj4gICAgICAgICAocmlzY3ZfZnVuY190YXJnZXRfZ2V0KTogTmV3IGZ1bmMgdG8gZ2V0IHRh cmdldCBuYW1lIGZyb20gaGFzaCB0YWJsZS4NCj4gICAgICAgICAocmlzY3ZfZnVuY190YXJnZXRf cHV0KTogTmV3IGZ1bmMgdG8gcHV0IHRhcmdldCBuYW1lIGludG8gaGFzaCB0YWJsZS4NCj4gICAg ICAgICAocmlzY3ZfZnVuY190YXJnZXRfcmVtb3ZlX2FuZF9kZXN0b3J5KTogTmV3IGZ1bmMgdG8g cmVtb3ZlIHRhcmdldA0KPiAgICAgICAgIGluZm8gZnJvbSB0aGUgaGFzaCB0YWJsZSBhbmQgZGVz dG9yeSBpdC4NCj4gICAgICAgICAocmlzY3ZfcGFyc2VfYXJjaF9zdHJpbmcpOiBTZXQgdGhlIHN0 YXRpYyB2YXIgY21kbGluZV9zdWJzZXRfbGlzdC4NCj4gICAgICAgICAqIGNvbmZpZy9yaXNjdi9y aXNjdi1zdWJzZXQuaCAocmlzY3ZfY21kbGluZV9zdWJzZXRfbGlzdCk6IE5ldyBzdGF0aWMNCj4g ICAgICAgICB2YXIgZm9yIGNtZGxpbmUgc3Vic2V0IGxpc3QuDQo+ICAgICAgICAgKHJpc2N2X2Z1 bmNfdGFyZ2V0X2dldCk6IE5ldyBmdW5jIGRlY2wuDQo+ICAgICAgICAgKHJpc2N2X2Z1bmNfdGFy Z2V0X3B1dCk6IERpdHRvLg0KPiAgICAgICAgIChyaXNjdl9mdW5jX3RhcmdldF9yZW1vdmVfYW5k X2Rlc3RvcnkpOiBEaXR0by4NCj4gICAgICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdi10YXJnZXQt YXR0ci5jYyAocmlzY3ZfdGFyZ2V0X2F0dHJfcGFyc2VyOjpwYXJzZV9hcmNoKToNCj4gICAgICAg ICBUYWtlIGNtZGxpbmVfc3Vic2V0X2xpc3QgaW5zdGVhZCBvZiBjdXJyZW50X3N1YnNldF9saXN0 IHdoZW4gY2xvbmUuDQo+ICAgICAgICAgKHJpc2N2X3Byb2Nlc3NfdGFyZ2V0X2F0dHIpOiBSZWNv cmQgdGhlIGZ1bmMgdGFyZ2V0IGluZm8gdG8gaGFzaCB0YWJsZS4NCj4gICAgICAgICAocmlzY3Zf b3B0aW9uX3ZhbGlkX2F0dHJpYnV0ZV9wKTogQWRkIG5ldyBhcmcgdHJlZSBmbmRlbC4NCj4gICAg ICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdi5jYyAocmlzY3ZfZGVjbGFyZV9mdW5jdGlvbl9uYW1l KTogQ29uc3VtZSB0aGUNCj4gICAgICAgICBmdW5jIHRhcmdldCBpbmZvIGFuZCBwcmludCB0aGUg YXJjaCBtZXNzYWdlLg0KPg0KPiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNCj4NCj4gICAgICAg ICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTQzNTItMy5jOiBOZXcgdGVzdC4NCj4N Cj4gU2lnbmVkLW9mZi1ieTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4NCj4gLS0tDQo+ICBn Y2MvY29tbW9uL2NvbmZpZy9yaXNjdi9yaXNjdi1jb21tb24uY2MgICAgICAgfCAxMDUgKysrKysr KysrKysrKysrLQ0KPiAgZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1zdWJzZXQuaCAgICAgICAgICAg ICAgIHwgICA0ICsNCj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3YtdGFyZ2V0LWF0dHIuY2MgICAg ICAgICB8ICAxOCArKy0NCj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgICAgICAgICAgICAg ICAgICAgICB8ICAgNyArLQ0KPiAgLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTQz NTItMy5jICAgIHwgMTEzICsrKysrKysrKysrKysrKysrKw0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAy NDAgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTQzNTItMy5jDQo+DQo+ IGRpZmYgLS1naXQgYS9nY2MvY29tbW9uL2NvbmZpZy9yaXNjdi9yaXNjdi1jb21tb24uY2MgYi9n Y2MvY29tbW9uL2NvbmZpZy9yaXNjdi9yaXNjdi1jb21tb24uY2MNCj4gaW5kZXggZDMyYmYxNDdl Y2EuLjc2ZWM5YmY4NDZjIDEwMDY0NA0KPiAtLS0gYS9nY2MvY29tbW9uL2NvbmZpZy9yaXNjdi9y aXNjdi1jb21tb24uY2MNCj4gKysrIGIvZ2NjL2NvbW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29t bW9uLmNjDQo+IEBAIC00MjUsMTEgKzQyNSwxMDggQEAgYm9vbCByaXNjdl9zdWJzZXRfbGlzdDo6 cGFyc2VfZmFpbGVkID0gZmFsc2U7DQo+DQo+ICBzdGF0aWMgcmlzY3Zfc3Vic2V0X2xpc3QgKmN1 cnJlbnRfc3Vic2V0X2xpc3QgPSBOVUxMOw0KPg0KPiArc3RhdGljIHJpc2N2X3N1YnNldF9saXN0 ICpjbWRsaW5lX3N1YnNldF9saXN0ID0gTlVMTDsNCj4gKw0KPiArc3RydWN0IHJpc2N2X2Z1bmNf dGFyZ2V0X2luZm8NCj4gK3sNCj4gKyAgdHJlZSBmbl9kZWNsOw0KPiArICBzdGQ6OnN0cmluZyBm bl90YXJnZXRfbmFtZTsNCj4gKw0KPiArICByaXNjdl9mdW5jX3RhcmdldF9pbmZvIChjb25zdCB0 cmVlICZkZWNsLCBjb25zdCBzdGQ6OnN0cmluZyAmdGFyZ2V0X25hbWUpDQo+ICsgICAgOiBmbl9k ZWNsIChkZWNsKSwgZm5fdGFyZ2V0X25hbWUgKHRhcmdldF9uYW1lKQ0KPiArICB7DQo+ICsgIH0N Cj4gK307DQo+ICsNCj4gK3N0cnVjdCByaXNjdl9mdW5jX3RhcmdldF9oYXNoZXIgOiBub2ZyZWVf cHRyX2hhc2g8c3RydWN0IHJpc2N2X2Z1bmNfdGFyZ2V0X2luZm8+DQo+ICt7DQo+ICsgIHR5cGVk ZWYgdHJlZSBjb21wYXJlX3R5cGU7DQo+ICsNCj4gKyAgc3RhdGljIGhhc2h2YWxfdCBoYXNoICh2 YWx1ZV90eXBlKTsNCj4gKyAgc3RhdGljIGJvb2wgZXF1YWwgKHZhbHVlX3R5cGUsIGNvbnN0IGNv bXBhcmVfdHlwZSAmKTsNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBoYXNoX3RhYmxlPHJpc2N2X2Z1 bmNfdGFyZ2V0X2hhc2hlcj4gKmZ1bmNfdGFyZ2V0X3RhYmxlID0gTlVMTDsNCj4gKw0KPiArc3Rh dGljIGlubGluZSBoYXNodmFsX3QgcmlzY3ZfZnVuY19kZWNsX2hhc2ggKHRyZWUgZm5fZGVjbCkN Cj4gK3sNCj4gKyAgaW5jaGFzaDo6aGFzaCBoOw0KPiArDQo+ICsgIGguYWRkX3B0ciAoZm5fZGVj bCk7DQo+ICsNCj4gKyAgcmV0dXJuIGguZW5kICgpOw0KPiArfQ0KPiArDQo+ICtpbmxpbmUgaGFz aHZhbF90DQo+ICtyaXNjdl9mdW5jX3RhcmdldF9oYXNoZXI6Omhhc2ggKHZhbHVlX3R5cGUgdmFs dWUpDQo+ICt7DQo+ICsgIHJldHVybiByaXNjdl9mdW5jX2RlY2xfaGFzaCAodmFsdWUtPmZuX2Rl Y2wpOw0KPiArfQ0KPiArDQo+ICtpbmxpbmUgYm9vbA0KPiArcmlzY3ZfZnVuY190YXJnZXRfaGFz aGVyOjplcXVhbCAodmFsdWVfdHlwZSB2YWx1ZSwgY29uc3QgY29tcGFyZV90eXBlICZrZXkpDQo+ ICt7DQo+ICsgIHJldHVybiB2YWx1ZS0+Zm5fZGVjbCA9PSBrZXk7DQo+ICt9DQo+ICsNCj4gIGNv bnN0IHJpc2N2X3N1YnNldF9saXN0ICpyaXNjdl9jdXJyZW50X3N1YnNldF9saXN0ICgpDQo+ICB7 DQo+ICAgIHJldHVybiBjdXJyZW50X3N1YnNldF9saXN0Ow0KPiAgfQ0KPg0KPiArY29uc3Qgcmlz Y3Zfc3Vic2V0X2xpc3QgKiByaXNjdl9jbWRsaW5lX3N1YnNldF9saXN0ICgpDQo+ICt7DQo+ICsg IHJldHVybiBjbWRsaW5lX3N1YnNldF9saXN0Ow0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW5saW5l IHZvaWQgcmlzY3ZfZnVuY190YXJnZXRfdGFibGVfbGF6eV9pbml0ICgpDQo+ICt7DQo+ICsgIGlm IChmdW5jX3RhcmdldF90YWJsZSAhPSBOVUxMKQ0KPiArICAgIHJldHVybjsNCj4gKw0KPiArICBm dW5jX3RhcmdldF90YWJsZSA9IG5ldyBoYXNoX3RhYmxlPHJpc2N2X2Z1bmNfdGFyZ2V0X2hhc2hl cj4gKDEwMjMpOw0KPiArfQ0KPiArDQo+ICtzdGQ6OnN0cmluZyAqIHJpc2N2X2Z1bmNfdGFyZ2V0 X2dldCAodHJlZSBmbl9kZWNsKQ0KPiArew0KPiArICByaXNjdl9mdW5jX3RhcmdldF90YWJsZV9s YXp5X2luaXQgKCk7DQo+ICsNCj4gKyAgaGFzaHZhbF90IGhhc2ggPSByaXNjdl9mdW5jX2RlY2xf aGFzaCAoZm5fZGVjbCk7DQo+ICsgIHN0cnVjdCByaXNjdl9mdW5jX3RhcmdldF9pbmZvICppbmZv DQo+ICsgICAgPSBmdW5jX3RhcmdldF90YWJsZS0+ZmluZF93aXRoX2hhc2ggKGZuX2RlY2wsIGhh c2gpOw0KPiArDQo+ICsgIHJldHVybiBpbmZvID09IE5VTEwgPyBOVUxMIDogJmluZm8tPmZuX3Rh cmdldF9uYW1lOw0KPiArfQ0KPiArDQo+ICt2b2lkIHJpc2N2X2Z1bmNfdGFyZ2V0X3B1dCAodHJl ZSBmbl9kZWNsLCBzdGQ6OnN0cmluZyBmbl90YXJnZXRfbmFtZSkNCj4gK3sNCj4gKyAgcmlzY3Zf ZnVuY190YXJnZXRfdGFibGVfbGF6eV9pbml0ICgpOw0KPiArDQo+ICsgIGhhc2h2YWxfdCBoYXNo ID0gcmlzY3ZfZnVuY19kZWNsX2hhc2ggKGZuX2RlY2wpOw0KPiArICBzdHJ1Y3QgcmlzY3ZfZnVu Y190YXJnZXRfaW5mbyAqKnRhcmdldF9pbmZvX3Nsb3QNCj4gKyAgICA9IGZ1bmNfdGFyZ2V0X3Rh YmxlLT5maW5kX3Nsb3Rfd2l0aF9oYXNoIChmbl9kZWNsLCBoYXNoLCBJTlNFUlQpOw0KPiArDQo+ ICsgIGdjY19hc3NlcnQgKCEqdGFyZ2V0X2luZm9fc2xvdCk7DQo+ICsNCj4gKyAgc3RydWN0IHJp c2N2X2Z1bmNfdGFyZ2V0X2luZm8gKmluZm8NCj4gKyAgICA9IG5ldyByaXNjdl9mdW5jX3Rhcmdl dF9pbmZvIChmbl9kZWNsLCBmbl90YXJnZXRfbmFtZSk7DQo+ICsNCj4gKyAgKnRhcmdldF9pbmZv X3Nsb3QgPSBpbmZvOw0KPiArfQ0KPiArDQo+ICt2b2lkIHJpc2N2X2Z1bmNfdGFyZ2V0X3JlbW92 ZV9hbmRfZGVzdG9yeSAodHJlZSBmbl9kZWNsKQ0KPiArew0KPiArICBoYXNodmFsX3QgaGFzaCA9 IHJpc2N2X2Z1bmNfZGVjbF9oYXNoIChmbl9kZWNsKTsNCj4gKyAgc3RydWN0IHJpc2N2X2Z1bmNf dGFyZ2V0X2luZm8gKmluZm8NCj4gKyAgICA9IGZ1bmNfdGFyZ2V0X3RhYmxlLT5maW5kX3dpdGhf aGFzaCAoZm5fZGVjbCwgaGFzaCk7DQo+ICsNCj4gKyAgaWYgKGluZm8pDQo+ICsgICAgew0KPiAr ICAgICAgZnVuY190YXJnZXRfdGFibGUtPnJlbW92ZV9lbHRfd2l0aF9oYXNoIChmbl9kZWNsLCBo YXNoKTsNCj4gKyAgICAgIGRlbGV0ZSBpbmZvOw0KPiArICAgIH0NCj4gK30NCj4gKw0KPiAgLyog c3RydWN0IGZvciByZWNvcmRpbmcgbXVsdGktbGliIGluZm8uICAqLw0KPiAgc3RydWN0IHJpc2N2 X211bHRpX2xpYl9pbmZvX3Qgew0KPiAgICBzdGQ6OnN0cmluZyBwYXRoOw0KPiBAQCAtMTczNywx MCArMTgzNCwxNCBAQCByaXNjdl9wYXJzZV9hcmNoX3N0cmluZyAoY29uc3QgY2hhciAqaXNhLA0K PiAgICAgICAgIH0NCj4gICAgICB9DQo+DQo+IC0gIGlmIChjdXJyZW50X3N1YnNldF9saXN0KQ0K PiArICAvKiBBdm9pZCBkb3VibGUgZGVsZXRlIGlmIGN1cnJlbnRfc3Vic2V0X2xpc3QgZXF1YWxz IGNtZGxpbmVfc3Vic2V0X2xpc3QuICAqLw0KPiArICBpZiAoY3VycmVudF9zdWJzZXRfbGlzdCAm JiBjdXJyZW50X3N1YnNldF9saXN0ICE9IGNtZGxpbmVfc3Vic2V0X2xpc3QpDQo+ICAgICAgZGVs ZXRlIGN1cnJlbnRfc3Vic2V0X2xpc3Q7DQo+DQo+IC0gIGN1cnJlbnRfc3Vic2V0X2xpc3QgPSBz dWJzZXRfbGlzdDsNCj4gKyAgaWYgKGNtZGxpbmVfc3Vic2V0X2xpc3QpDQo+ICsgICAgZGVsZXRl IGNtZGxpbmVfc3Vic2V0X2xpc3Q7DQo+ICsNCj4gKyAgY3VycmVudF9zdWJzZXRfbGlzdCA9IGNt ZGxpbmVfc3Vic2V0X2xpc3QgPSBzdWJzZXRfbGlzdDsNCj4gIH0NCj4NCj4gIC8qIFJldHVybiB0 aGUgcmlzY3ZfY3B1X2luZm8gZW50cnkgZm9yIENQVSwgTlVMTCBpZiBub3QgZm91bmQuICAqLw0K PiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1zdWJzZXQuaCBiL2djYy9jb25m aWcvcmlzY3YvcmlzY3Ytc3Vic2V0LmgNCj4gaW5kZXggYWU4NDllMmEzMDIuLmM0ZjFlYWY0ZTI2 IDEwMDY0NA0KPiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXN1YnNldC5oDQo+ICsrKyBi L2djYy9jb25maWcvcmlzY3YvcmlzY3Ytc3Vic2V0LmgNCj4gQEAgLTEwOCw2ICsxMDgsMTAgQEAg cHVibGljOg0KPiAgfTsNCj4NCj4gIGV4dGVybiBjb25zdCByaXNjdl9zdWJzZXRfbGlzdCAqcmlz Y3ZfY3VycmVudF9zdWJzZXRfbGlzdCAodm9pZCk7DQo+ICtleHRlcm4gY29uc3QgcmlzY3Zfc3Vi c2V0X2xpc3QgKnJpc2N2X2NtZGxpbmVfc3Vic2V0X2xpc3QgKHZvaWQpOw0KPiArZXh0ZXJuIHN0 ZDo6c3RyaW5nICogcmlzY3ZfZnVuY190YXJnZXRfZ2V0ICh0cmVlKTsNCj4gK2V4dGVybiB2b2lk IHJpc2N2X2Z1bmNfdGFyZ2V0X3B1dCAodHJlZSwgc3RkOjpzdHJpbmcpOw0KPiArZXh0ZXJuIHZv aWQgcmlzY3ZfZnVuY190YXJnZXRfcmVtb3ZlX2FuZF9kZXN0b3J5ICh0cmVlKTsNCj4gIGV4dGVy biB2b2lkDQo+ICByaXNjdl9zZXRfYXJjaF9ieV9zdWJzZXRfbGlzdCAocmlzY3Zfc3Vic2V0X2xp c3QgKiwgc3RydWN0IGdjY19vcHRpb25zICopOw0KPg0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi10YXJnZXQtYXR0ci5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdGFy Z2V0LWF0dHIuY2MNCj4gaW5kZXggOWRiYjc4ZjI4Y2MuLjI0NzYyNTBlZWQ2IDEwMDY0NA0KPiAt LS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXRhcmdldC1hdHRyLmNjDQo+ICsrKyBiL2djYy9j b25maWcvcmlzY3YvcmlzY3YtdGFyZ2V0LWF0dHIuY2MNCj4gQEAgLTU0LDYgKzU0LDEwIEBAIHB1 YmxpYzoNCj4gICAgICBtX2xvYyA9IGxvYzsNCj4gICAgfQ0KPg0KPiArICByaXNjdl9zdWJzZXRf bGlzdCogZ2V0X3Jpc2N2X3N1YnNldF9saXN0ICgpIHsNCj4gKyAgICByZXR1cm4gbV9zdWJzZXRf bGlzdDsNCj4gKyAgfQ0KPiArDQo+ICAgIHZvaWQgdXBkYXRlX3NldHRpbmdzIChzdHJ1Y3QgZ2Nj X29wdGlvbnMgKm9wdHMpIGNvbnN0Ow0KPiAgcHJpdmF0ZToNCj4gICAgY29uc3QgY2hhciAqbV9y YXdfYXR0cl9zdHI7DQo+IEBAIC0xMDksNyArMTEzLDcgQEAgcmlzY3ZfdGFyZ2V0X2F0dHJfcGFy c2VyOjpwYXJzZV9hcmNoIChjb25zdCBjaGFyICpzdHIpDQo+ICAgICAgICBjaGFyICpzdHJfdG9f Y2hlY2sgPSBidWYuZ2V0ICgpOw0KPiAgICAgICAgc3RyY3B5IChzdHJfdG9fY2hlY2ssIHN0cik7 DQo+ICAgICAgICBjb25zdCBjaGFyICp0b2tlbiA9IHN0cnRva19yIChzdHJfdG9fY2hlY2ssICIs IiwgJnN0cl90b19jaGVjayk7DQo+IC0gICAgICBtX3N1YnNldF9saXN0ID0gcmlzY3ZfY3VycmVu dF9zdWJzZXRfbGlzdCAoKS0+Y2xvbmUgKCk7DQo+ICsgICAgICBtX3N1YnNldF9saXN0ID0gcmlz Y3ZfY21kbGluZV9zdWJzZXRfbGlzdCAoKS0+Y2xvbmUgKCk7DQo+ICAgICAgICBtX3N1YnNldF9s aXN0LT5zZXRfbG9jIChtX2xvYyk7DQo+ICAgICAgICB3aGlsZSAodG9rZW4pDQo+ICAgICAgICAg ew0KPiBAQCAtMjk1LDcgKzI5OSw4IEBAIG51bV9vY2N1cmVuY2VzX2luX3N0ciAoY2hhciBjLCBj aGFyICpzdHIpDQo+ICAgICBhbmQgdXBkYXRlIHRoZSBnbG9iYWwgdGFyZ2V0IG9wdGlvbnMgc3Bh Y2UuICAqLw0KPg0KPiAgc3RhdGljIGJvb2wNCj4gLXJpc2N2X3Byb2Nlc3NfdGFyZ2V0X2F0dHIg KHRyZWUgYXJncywgbG9jYXRpb25fdCBsb2MsIHN0cnVjdCBnY2Nfb3B0aW9ucyAqb3B0cykNCj4g K3Jpc2N2X3Byb2Nlc3NfdGFyZ2V0X2F0dHIgKHRyZWUgZm5kZWNsLCB0cmVlIGFyZ3MsIGxvY2F0 aW9uX3QgbG9jLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZ2NjX29wdGlv bnMgKm9wdHMpDQo+ICB7DQo+ICAgIGlmIChUUkVFX0NPREUgKGFyZ3MpID09IFRSRUVfTElTVCkN Cj4gICAgICB7DQo+IEBAIC0zMDQsNyArMzA5LDcgQEAgcmlzY3ZfcHJvY2Vzc190YXJnZXRfYXR0 ciAodHJlZSBhcmdzLCBsb2NhdGlvbl90IGxvYywgc3RydWN0IGdjY19vcHRpb25zICpvcHRzKQ0K PiAgICAgICAgICAgdHJlZSBoZWFkID0gVFJFRV9WQUxVRSAoYXJncyk7DQo+ICAgICAgICAgICBp ZiAoaGVhZCkNCj4gICAgICAgICAgICAgew0KPiAtICAgICAgICAgICAgIGlmICghcmlzY3ZfcHJv Y2Vzc190YXJnZXRfYXR0ciAoaGVhZCwgbG9jLCBvcHRzKSkNCj4gKyAgICAgICAgICAgICBpZiAo IXJpc2N2X3Byb2Nlc3NfdGFyZ2V0X2F0dHIgKGZuZGVjbCwgaGVhZCwgbG9jLCBvcHRzKSkNCj4g ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCj4gICAgICAgICAgICAgfQ0KPiAgICAgICAg ICAgYXJncyA9IFRSRUVfQ0hBSU4gKGFyZ3MpOw0KPiBAQCAtMzU3LDYgKzM2MiwxMSBAQCByaXNj dl9wcm9jZXNzX3RhcmdldF9hdHRyICh0cmVlIGFyZ3MsIGxvY2F0aW9uX3QgbG9jLCBzdHJ1Y3Qg Z2NjX29wdGlvbnMgKm9wdHMpDQo+ICAgIC8qIEFwcGx5IHNldHRpbmdzIGZyb20gdGFyZ2V0IGF0 dHJpYnV0ZS4gICovDQo+ICAgIGF0dHJfcGFyc2VyLnVwZGF0ZV9zZXR0aW5ncyAob3B0cyk7DQo+ DQo+ICsgIC8qIEFkZCB0aGUgc3RyaW5nIG9mIHRoZSB0YXJnZXQgYXR0cmlidXRlIHRvIHRoZSBm bmRlY2wgaGFzaCB0YWJsZS4gICovDQo+ICsgIHJpc2N2X3N1YnNldF9saXN0ICpzdWJzZXRfbGlz dCA9IGF0dHJfcGFyc2VyLmdldF9yaXNjdl9zdWJzZXRfbGlzdCAoKTsNCj4gKyAgaWYgKHN1YnNl dF9saXN0KQ0KPiArICAgIHJpc2N2X2Z1bmNfdGFyZ2V0X3B1dCAoZm5kZWNsLCBzdWJzZXRfbGlz dC0+dG9fc3RyaW5nICh0cnVlKSk7DQo+ICsNCj4gICAgcmV0dXJuIHRydWU7DQo+ICB9DQo+DQo+ IEBAIC0zNzQsNyArMzg0LDcgQEAgcmlzY3Zfb3B0aW9uX3ZhbGlkX2F0dHJpYnV0ZV9wICh0cmVl IGZuZGVjbCwgdHJlZSwgdHJlZSBhcmdzLCBpbnQpDQo+ICAgIC8qIFNhdmUgdGhlIGN1cnJlbnQg dGFyZ2V0IG9wdGlvbnMgdG8gcmVzdG9yZSBhdCB0aGUgZW5kLiAgKi8NCj4gICAgY2xfdGFyZ2V0 X29wdGlvbl9zYXZlICgmY3VyX3RhcmdldCwgJmdsb2JhbF9vcHRpb25zLCAmZ2xvYmFsX29wdGlv bnNfc2V0KTsNCj4NCj4gLSAgcmV0ID0gcmlzY3ZfcHJvY2Vzc190YXJnZXRfYXR0ciAoYXJncywg bG9jLCAmZ2xvYmFsX29wdGlvbnMpOw0KPiArICByZXQgPSByaXNjdl9wcm9jZXNzX3RhcmdldF9h dHRyIChmbmRlY2wsIGFyZ3MsIGxvYywgJmdsb2JhbF9vcHRpb25zKTsNCj4NCj4gICAgaWYgKHJl dCkNCj4gICAgICB7DQo+IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIGIv Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYw0KPiBpbmRleCA4OWFjYjk0YWYxMC4uNDJiYzNlNmVl YjMgMTAwNjQ0DQo+IC0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MNCj4gKysrIGIvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi5jYw0KPiBAQCAtODY3Myw4ICs4NjczLDEzIEBAIHJpc2N2X2Rl Y2xhcmVfZnVuY3Rpb25fbmFtZSAoRklMRSAqc3RyZWFtLCBjb25zdCBjaGFyICpuYW1lLCB0cmVl IGZuZGVjbCkNCj4gICAgaWYgKERFQ0xfRlVOQ1RJT05fU1BFQ0lGSUNfVEFSR0VUIChmbmRlY2wp KQ0KPiAgICAgIHsNCj4gICAgICAgIGZwcmludGYgKHN0cmVhbSwgIlx0Lm9wdGlvbiBwdXNoXG4i KTsNCj4gLSAgICAgIHN0ZDo6c3RyaW5nIGlzYSA9IHJpc2N2X2N1cnJlbnRfc3Vic2V0X2xpc3Qg KCktPnRvX3N0cmluZyAodHJ1ZSk7DQo+ICsNCj4gKyAgICAgIHN0ZDo6c3RyaW5nICp0YXJnZXRf bmFtZSA9IHJpc2N2X2Z1bmNfdGFyZ2V0X2dldCAoZm5kZWNsKTsNCj4gKyAgICAgIHN0ZDo6c3Ry aW5nIGlzYSA9IHRhcmdldF9uYW1lICE9IE5VTEwNCj4gKyAgICAgICA/ICp0YXJnZXRfbmFtZQ0K PiArICAgICAgIDogcmlzY3ZfY21kbGluZV9zdWJzZXRfbGlzdCAoKS0+dG9fc3RyaW5nICh0cnVl KTsNCj4gICAgICAgIGZwcmludGYgKHN0cmVhbSwgIlx0Lm9wdGlvbiBhcmNoLCAlc1xuIiwgaXNh LmNfc3RyICgpKTsNCj4gKyAgICAgIHJpc2N2X2Z1bmNfdGFyZ2V0X3JlbW92ZV9hbmRfZGVzdG9y eSAoZm5kZWNsKTsNCj4NCj4gICAgICAgIHN0cnVjdCBjbF90YXJnZXRfb3B0aW9uICpsb2NhbF9j bF90YXJnZXQgPQ0KPiAgICAgICAgIFRSRUVfVEFSR0VUX09QVElPTiAoREVDTF9GVU5DVElPTl9T UEVDSUZJQ19UQVJHRVQgKGZuZGVjbCkpOw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTE0MzUyLTMuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExNDM1Mi0zLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLmU3YWY0MjIzZDZhDQo+IC0tLSAvZGV2L251bGwNCj4g KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTE0MzUyLTMu Yw0KPiBAQCAtMCwwICsxLDExMyBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8q IHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnYyAtbWFiaT1scDY0IC1PMyAtZm5vLXNjaGVkdWxl LWluc25zIC1mbm8tc2NoZWR1bGUtaW5zbnMyIiB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgY2hl Y2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgfSB9ICovDQo+ICsNCj4gKy8qDQo+ICsqKiB0ZXN0 XzE6DQo+ICsqKiBzZXh0XC53XHMrW2F0eF1bMC05XSssXHMqW2F0eF1bMC05XSsNCj4gKyoqIC4u Lg0KPiArKi8NCj4gK3ZvaWQNCj4gK3Rlc3RfMSAoaW50ICphLCBpbnQgKmIsIGludCAqb3V0LCB1 bnNpZ25lZCBjb3VudCkNCj4gK3sNCj4gKyAgdW5zaWduZWQgaTsNCj4gKw0KPiArICBjb3VudCA9 IGNvdW50ID4gMTI4ID8gMTI4IDogY291bnQ7DQo+ICsNCj4gKyAgZm9yIChpID0gMDsgaSA8IGNv dW50OyBpKyspDQo+ICsgICAgb3V0W2ldID0gYVtpXSArIGJbaV07DQo+ICt9DQo+ICsNCj4gKy8q DQo+ICsqKiB0ZXN0XzI6DQo+ICsqKiAuLi4NCj4gKyoqIHZhZGRcLnZ2XHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnZbMC05XSsNCj4gKyoqIC4uLg0KPiArKi8NCj4gK3ZvaWQNCj4gK19fYXR0cmli dXRlX18oKHRhcmdldCgiYXJjaD0rdiIpKSkNCj4gK3Rlc3RfMiAoaW50ICphLCBpbnQgKmIsIGlu dCAqb3V0LCB1bnNpZ25lZCBjb3VudCkNCj4gK3sNCj4gKyAgdW5zaWduZWQgaTsNCj4gKw0KPiAr ICBjb3VudCA9IGNvdW50ID4gMTI4ID8gMTI4IDogY291bnQ7DQo+ICsNCj4gKyAgZm9yIChpID0g MDsgaSA8IGNvdW50OyBpKyspDQo+ICsgICAgb3V0W2ldID0gYVtpXSArIGJbaV07DQo+ICt9DQo+ ICsNCj4gKy8qDQo+ICsqKiB0ZXN0XzM6DQo+ICsqKiAuLi4NCj4gKyoqIG1pbnVccytbYXR4XVsw LTldKyxccypbYXR4XVswLTldKyxccypbYXR4XVswLTldKw0KPiArKiogLi4uDQo+ICsqLw0KPiAr dm9pZA0KPiArX19hdHRyaWJ1dGVfXygodGFyZ2V0KCJhcmNoPSt6YmIiKSkpDQo+ICt0ZXN0XzMg KGludCAqYSwgaW50ICpiLCBpbnQgKm91dCwgdW5zaWduZWQgY291bnQpDQo+ICt7DQo+ICsgIHVu c2lnbmVkIGk7DQo+ICsNCj4gKyAgY291bnQgPSBjb3VudCA+IDEyOCA/IDEyOCA6IGNvdW50Ow0K PiArDQo+ICsgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQ0KPiArICAgIG91dFtpXSA9IGFb aV0gKyBiW2ldOw0KPiArfQ0KPiArDQo+ICsvKg0KPiArKiogdGVzdF80Og0KPiArKiogc2V4dFwu d1xzK1thdHhdWzAtOV0rLFxzKlthdHhdWzAtOV0rDQo+ICsqKiAuLi4NCj4gKyovDQo+ICt2b2lk DQo+ICt0ZXN0XzQgKGludCAqYSwgaW50ICpiLCBpbnQgKm91dCwgdW5zaWduZWQgY291bnQpDQo+ ICt7DQo+ICsgIHVuc2lnbmVkIGk7DQo+ICsNCj4gKyAgY291bnQgPSBjb3VudCA+IDEyOCA/IDEy OCA6IGNvdW50Ow0KPiArDQo+ICsgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQ0KPiArICAg IG91dFtpXSA9IGFbaV0gKyBiW2ldOw0KPiArfQ0KPiArDQo+ICsvKg0KPiArKiogdGVzdF81Og0K PiArKiogLi4uDQo+ICsqKiBmYWRkXC5oXHMrZmFbMC05XSssXHMqZmFbMC05XSssXHMqZmFbMC05 XSsNCj4gKyoqIC4uLg0KPiArKi8NCj4gK3ZvaWQNCj4gK19fYXR0cmlidXRlX18oKHRhcmdldCgi YXJjaD0remZoIikpKQ0KPiArdGVzdF81IChfRmxvYXQxNiAqYSwgX0Zsb2F0MTYgKmIsIF9GbG9h dDE2ICpvdXQsIHVuc2lnbmVkIGNvdW50KQ0KPiArew0KPiArICB1bnNpZ25lZCBpOw0KPiArDQo+ ICsgIGNvdW50ID0gY291bnQgPiAxMjggPyAxMjggOiBjb3VudDsNCj4gKw0KPiArICBmb3IgKGkg PSAwOyBpIDwgY291bnQ7IGkrKykNCj4gKyAgICBvdXRbaV0gPSBhW2ldICsgYltpXTsNCj4gK30N Cj4gKw0KPiArLyoNCj4gKyoqIHRlc3RfNjoNCj4gKyoqIC4uLg0KPiArKiogY2FsbFxzK19fZXh0 ZW5kaGZzZjINCj4gKyoqIC4uLg0KPiArKiogY2FsbFxzK19fdHJ1bmNzZmhmMg0KPiArKiogLi4u DQo+ICsqLw0KPiArdm9pZA0KPiArdGVzdF82IChfRmxvYXQxNiAqYSwgX0Zsb2F0MTYgKmIsIF9G bG9hdDE2ICpvdXQsIHVuc2lnbmVkIGNvdW50KQ0KPiArew0KPiArICB1bnNpZ25lZCBpOw0KPiAr DQo+ICsgIGNvdW50ID0gY291bnQgPiAxMjggPyAxMjggOiBjb3VudDsNCj4gKw0KPiArICBmb3Ig KGkgPSAwOyBpIDwgY291bnQ7IGkrKykNCj4gKyAgICBvdXRbaV0gPSBhW2ldICsgYltpXTsNCj4g K30NCj4gKw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICIuYXR0cmlidXRlIGFy Y2gsIFwicnY2NGkycDFfbTJwMF9hMnAxX2YycDJfZDJwMl9jMnAwX3ppY3NyMnAwX3ppZmVuY2Vp MnAwXCIiIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICIub3B0aW9u IGFyY2gsIHJ2NjRpMnAxX20ycDBfYTJwMV9mMnAyX2QycDJfYzJwMF92MXAwX3ppY3NyMnAwX3pp ZmVuY2VpMnAwX3p2ZTMyZjFwMF96dmUzMngxcDBfenZlNjRkMXAwX3p2ZTY0ZjFwMF96dmU2NHgx cDBfenZsMTI4YjFwMF96dmwzMmIxcDBfenZsNjRiMXAwIiB9IH0gKi8NCj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlciAiLm9wdGlvbiBhcmNoLCBydjY0aTJwMV9tMnAwX2EycDFfZjJw Ml9kMnAyX2MycDBfemljc3IycDBfemlmZW5jZWkycDBfemJiMXAwIiB9IH0gKi8NCj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAiLm9wdGlvbiBhcmNoLCBydjY0aTJwMV9tMnAwX2Ey cDFfZjJwMl9kMnAyX2MycDBfemljc3IycDBfemlmZW5jZWkycDBfemZoMXAwX3pmaG1pbjFwMCIg fSB9ICovDQo+IC0tDQo+IDIuMzQuMQ0KPg0K