From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 997DCC48260 for ; Mon, 19 Feb 2024 08:00:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0EC9710E0C9; Mon, 19 Feb 2024 08:00:30 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="g7ukqNYl"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7FBF110E076 for ; Mon, 19 Feb 2024 08:00:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708329629; x=1739865629; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=cA7EoBEQtAPX/fz9d6Wzo0hOE643agpQk1EkBHM3Vdk=; b=g7ukqNYlTN1z97GayU+AAFv1hlfdAYJbPOZF0HUC5lWralTtQHlxNCw6 1vAtJnfJecdp14SGeJsIhYE5xI2/4hsihkN7d2c/JHoP792+wsnH3yh+H Dh6/4qHhtq9Oz3LIPVrHd+Y7ez3mqi7VjB3ejEFeaU8+frTLjBtr+pf86 iK/hv/d7p0C56acS1gmNPUNqrhhmUiATAW7Utnhs11Dw+VjuHYWwj0lJZ kyg2jLWnYFF1NpOq9cCyyaKaba3k2rkqX9Tu9Itjrphd/YVa73kFIvcBV tiFQlYGycdet+952ki+/yU1rpWbUMuOosyNI6Sx+EaRCxtDhU59hX1YET Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10988"; a="13793135" X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="13793135" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Feb 2024 00:00:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,170,1705392000"; d="scan'208";a="4800449" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orviesa008.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 19 Feb 2024 00:00:21 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 19 Feb 2024 00:00:20 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Mon, 19 Feb 2024 00:00:20 -0800 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.40) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 19 Feb 2024 00:00:19 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fhw52oJxqcYWNkl7gY3mOsAljB03ubPja1np2Kf1W43oxF4iJXRZETMjihSqhv8h8f+W3Oqu1GzyysYKK6xJz4/FPoWZgIz+Kqc/94EXYWkrxyNJaByV8DIacD6JQeB+FTxjP3hnPylsYKFXhPq7cyirtwcVOL8upc4p1izVvQXmLzg0dazt3JOG9n9erq78oL/VavwZhBOtVl7QU8bU/TG2WJHibTVBxpzZhef/nXEeIVHQOHwev8DOzYaRqskDlKlxjDgXawC0I4FKwxOM2gwsFSLFqQfolTfnNRjG3rjP0MCP7//du6KZfB7armD9O2ehoLgfJ1lXAa1+aEYe8w== 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=cA7EoBEQtAPX/fz9d6Wzo0hOE643agpQk1EkBHM3Vdk=; b=fvRmJBww9m2KzrJ2vi7RtW3r5sze71LIkPM4Cq3GbIMMI6JK7XnRAtzQKSI4xBin6LYYX0ICqRjW6/lZWowIGYRBJPuzEqe+oRpQkjDWR53Cjm/FUE+z9Z6wbLwaNeVCY2xH8euZmuv351DD1XWSs2NztBUMrQVyKSmyzxe2PYOj9M9XDtaCSs/Htwl/zO7gdFBWfA3Savmb8zs0w4/vW2t5SCopTyhIzBH2Nv431xuJD2hbDyAPsNiaJHjODwQvxj21OO+MZ/PNiqpXnRHBI0byELUp5O5wBRs2xe0BzSPlO6jn2GTME+iombb4muCat6v69AUxjPSFB9hXR1E2Ag== 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 DM4PR11MB6019.namprd11.prod.outlook.com (2603:10b6:8:60::5) by SN7PR11MB8067.namprd11.prod.outlook.com (2603:10b6:806:2e8::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.37; Mon, 19 Feb 2024 08:00:18 +0000 Received: from DM4PR11MB6019.namprd11.prod.outlook.com ([fe80::dde1:91ce:98c6:d737]) by DM4PR11MB6019.namprd11.prod.outlook.com ([fe80::dde1:91ce:98c6:d737%7]) with mapi id 15.20.7292.036; Mon, 19 Feb 2024 08:00:18 +0000 From: "Hogander, Jouni" To: "Joshi, Kunal1" , "igt-dev@lists.freedesktop.org" CC: "Murthy, Arun R" , "Manna, Animesh" Subject: Re: [PATCH i-g-t 2/3] lib/igt_psr: add support for PR selective update Thread-Topic: [PATCH i-g-t 2/3] lib/igt_psr: add support for PR selective update Thread-Index: AQHaYknw2DmtfvXaqESbS1nHBAtGZLERTsaA Date: Mon, 19 Feb 2024 08:00:17 +0000 Message-ID: <18efe76c653963719a02755b432e754c9daad723.camel@intel.com> References: <20240218091704.2259937-1-kunal1.joshi@intel.com> <20240218091704.2259937-3-kunal1.joshi@intel.com> In-Reply-To: <20240218091704.2259937-3-kunal1.joshi@intel.com> 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: DM4PR11MB6019:EE_|SN7PR11MB8067:EE_ x-ms-office365-filtering-correlation-id: 190224fb-875c-40cf-e019-08dc3120d021 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: w1zJwhOXncnNAPbfOSzrrI6Aj2rfDwZe3MCxHb/hih40yp0w5xrBeVHzDytx42ChfiJecb/qP9W3Z2R8oarAmSew6xh+hP7d+ePjxQi3IGVP30uGarJM2uEPiwfWGA+O9FApzkrCK5tTnj8ilRHZDDoCQDLawFIjlJ2qmdQcM6up/m5zuUDiT90mPp6FCrUMO69Bebx3Ici2ec53AD/b4JD9Eh3a3Q98kKtdHnrmxVCmrG4kyZvSBtudwVmpRO6+q8MfFwDou/0F79J+1/SE4lMyz7fpSv9KlCZU+MZG7CG5UmQX5xr9p4D3CNKn6pMrNTWcQhX7qC39UpD7py7umyxx192ba/aX89GvXmYJX9gBOByvq4w7z/dutspwnapwyXbB0pu0Z9943v8GubgTnpsbgRgGGPPgWZIh5tyH3RPhu1iO0e/uGQCHDEVt0ALzZUuot26okMn3EXEPJhHXFkyNxA4GBTBVKuCALz8rfS2bUmr94mH/RxsTKWW8f36nTsrmnB8G1tUQ0NSh+5QV6RnnF3O7GLPwkjjqstT8AKtfPnQ0pFhE/3ObX4Ionn0pXF1iLqT9CMdUsxe0z4F/oRTY2OtGnQ+xhRR0VD+1N4iVoegNxnEk7e3JAY1JY/gr x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB6019.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(346002)(376002)(136003)(366004)(39860400002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(6512007)(6506007)(316002)(6486002)(54906003)(478600001)(71200400001)(110136005)(4326008)(2906002)(66476007)(66556008)(8676002)(66446008)(64756008)(76116006)(66946007)(8936002)(15650500001)(5660300002)(41300700001)(86362001)(38100700002)(82960400001)(38070700009)(36756003)(107886003)(122000001)(2616005)(26005)(66574015)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cm12YmtoQ2RsbFhDSTJuTnBGVkN0eWE2Qi9WdkRiKzhVUit2dG96Rms0U2JH?= =?utf-8?B?NzZmR3hzS0sxR1NOa0FoSDZXTHdrSkw3ai9xTFhGUDlmOHNiTkJUaHZhOXN1?= =?utf-8?B?bDNFb3V6bTBGT1J6aW1KbUNlWklWVnBLeStyU2M3Q09BVGFWVkVxVU0rb1dw?= =?utf-8?B?Z2pQdHdJZ3BvRFBEK1BqdGxGbEhOblhKSUtxdU9uSGo1VmNZTDREaElTVVlH?= =?utf-8?B?bExCTzVZbjlIajlYSlZWRzBLa0NnalJxTnZJZUZvL2ZTWWtQdENMOWl2RU1H?= =?utf-8?B?MVZwOEVNNS94Wmp2ZVZDSXVNTDhoL0o3NXRkWDl0SkIzTyt6cjlPQVg5aHRR?= =?utf-8?B?dGRROHYzKzRZYzBWUllkdm84ZzlxTUh4d1ZtNHRCZmpkL3llS1B1dzk3b3o5?= =?utf-8?B?S2tkbk5maUd6YVc2U1pEbzRnZldyUG5xSzI5aGNXM2NVNmFPckY4K0xoT1NT?= =?utf-8?B?SHhkVXNVUG5rVVQwK0lpOFdOS2gvNGF6OWEvQ0l6dFBCZWM0RUVmVXJFTUF5?= =?utf-8?B?U1F6Y1NaWTZSbnZ0QmJodjFsME1ySjBBVGd5REdKckpKbGZUeUFkdFN5L3B4?= =?utf-8?B?OXZEam5Nc1hVVjI5MmhxK0o2Qnk3OTZJOWxlSGFMSFZqT1Iwam1kTFpGUE4x?= =?utf-8?B?OWlncVJGTUNiTXNmN0FjOTd5MEhJT2NLUmRXait4YUo5NlVaaVdiclRMeGdD?= =?utf-8?B?U0dSaml5b1VxRi9UemliNDZNMzZ4SUd3WXZUYlRwTjZ3YWZXWVZTZXIyTTNM?= =?utf-8?B?NGZIeFRtWHhpcVI0cHdQMDVzV25uQU90MEl6L0VseG03Tjcya1RaS2ZKc1Zo?= =?utf-8?B?S1NpUHFMZDJadEdPQW9qQnE5bFNwOEtVRzVkWFRnNHBqaEd0Rm5weGdzNjFH?= =?utf-8?B?cU50eWJCL0VnN29TK3ZBdHliNjQvd0NENjFGUURyTGxWSm9IRmdxYVNhQlpT?= =?utf-8?B?K0ZIRnhmdXBDbk5RS29EY0c2ZWtielRCWnhFc0l1UUhhSW8zTUVOTHhJRk0v?= =?utf-8?B?NXJHVzlhWExrSGphY2xvWVFIbWJWakUvTGcxRWhwd3gwOStCV0xCSURaNzFH?= =?utf-8?B?bFRYV094elBvT3JTL1lUS1B5eTlqSjdmemxTVC9VTWZ3TjRTakYraEV6YWJ1?= =?utf-8?B?bk8vR1B5TTJ5cjZkNjNsZ2tYRFk1OTVpVGhLdFVhUDVsRjBPbThMalVTY1ht?= =?utf-8?B?bmZQcnRkTmkyaE4vZmdXV0RTNVpad01RQlV3ZExad0YrK0w3bkdFNzJ5cDVr?= =?utf-8?B?cjliN29hWkxmZUNmQnlaWmtDcnlqZkwyMUdMbmdFSUZlSXVBeHg4bEJoREZP?= =?utf-8?B?Kyt4eng1d0FBSVBOeGlXQ1lEMVRWZ25XTUhwbWxvL094NTg2b1orUVVYMGlp?= =?utf-8?B?UGcyUENoOVc2VHByTFRFSTViVEg0aVNqUnlrdWNVNnV5WHVpcDF6U2Nqd0N0?= =?utf-8?B?b3lZR0JzYjNDZDg5OStjSnpqbHYvdUFmcFVTMXFGdnhCN1BNNytEWjZLOUhh?= =?utf-8?B?cVFlc3VjTjgwWDdXdVVZOFhvMTV4S2JFVXlvYkp6dTI0UENRMWpOL25TaWta?= =?utf-8?B?dHFZc3FsMmExSHdUeVYxTHJIR043R2JMV2FRdUh1RFZ3YmF5UXcva01rUWNh?= =?utf-8?B?L2Q3QWVtWi9jNVllL3RhSGc2TEovVDRYOFJ0eWZIRDQ0b0YxbHFvRHNENXgw?= =?utf-8?B?VzQvSUJaaGM0ZUZJSlc4WjViQk9UQXNFR0RIRW9vU01iQlo4WXVPcDZMWE4z?= =?utf-8?B?OGRTcUZwWndBeG81UW85WkhmcW5xbDlsUmpoaGlMT281VCtzUUpxdVdqVEVp?= =?utf-8?B?bW95TlllVURtRDFab3lackdCN3J5UlYyMjdDS0xHK0ovUEdmUTRheHV5SzhE?= =?utf-8?B?U3Bacmk2cVlNM3JuSXNMNVBwWVJoZFBFM1JoOEZpTitCMDdoaVZHUGdDVzlC?= =?utf-8?B?bHJiY0hXeGJJdjRXZjg3MitIQ0pvci9zVVVxc0R0TGZJU3MrbE81MU8vV0Z4?= =?utf-8?B?Nll3Q2UxejNZZGZJZm40YzhBVmtWMjBHSU5QaDBMeDNVcWFVWS85dFBqVkVI?= =?utf-8?B?UC9KTy9WeWpBV0Nod3pRc1dLY2ZSNWVPQSswZkVyZTNuclZLRXRPQmxMbkNR?= =?utf-8?B?SGVHZmVyTUhBN1NOMzR5NjB2QXF0YmxSMVVwWUtLSmVkSDcrazk5VmZCd3Bv?= =?utf-8?B?Umc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6019.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 190224fb-875c-40cf-e019-08dc3120d021 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2024 08:00:17.9893 (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: CIgJoLAfkh/Ufxey2NOYG9crYzTEkI5sE6bfcF2pd5U919/OKu9YO7EzPzdMFl05mNAQOn1luNmTvrxklJ8/czB3N4NqBkJYSIvS2JpkfDo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB8067 X-OriginatorOrg: intel.com X-BeenThere: igt-dev@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development mailing list for IGT GPU Tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" T24gU3VuLCAyMDI0LTAyLTE4IGF0IDE0OjQ3ICswNTMwLCBLdW5hbCBKb3NoaSB3cm90ZToKPiBF eHRlbmQgdGhlIHRlc3RzIHRvIGNvdmVyIHBhbmVsIHJlcGxheSBzZWxlY3RpdmUgZmV0Y2ggZmVh dHVyZS4KPiAKPiBGcm9tIGttc19wc3IyX3NmIHRlc3QgcG9pbnQgb2YgdmlldyB3ZSBoYXZlCj4g Y2hlY2tfcHJfcHNyMl9zZWxfZmV0Y2hfc3VwcG9ydAo+IGZ1bmN0aW9uIHRvIGNoZWNrIGlmIFBS L1BTUjIgc2VsZWN0aXZlIGZldGNoIGlzIHN1cHBvcnRlZCBmb3IgYW4KPiBvdXRwdXQKPiBpZiBv dXRwdXQgc3VwcG9ydHMgc2VsZWN0aXZlIGZldGNoIHRoZW4gd2UgY2hlY2sgd2UgZW50ZXIgREVF UF9TTEVFUAo+IG1vZGUKPiBpbiBydW4gZnVuY3Rpb24KPiAKPiB2MjogZml4ZWQgZHluYW1pYyB0 ZXN0IG5hbWUKPiB2MzogdXNlIGNoZWNrX3BzcjJfc3VwcG9ydCAoSm91bmkpCj4gdjQ6IHNwbGl0 IHBhdGNoZXMgKEpvdW5pKQo+IAo+IENjOiBKb3VuaSBIw7ZnYW5kZXIgPGpvdW5pLmhvZ2FuZGVy QGludGVsLmNvbT4KPiBDYzogQW5pbWVzaCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBpbnRlbC5jb20+ Cj4gQ2M6IEFydW4gUiBNdXJ0aHkgPGFydW4uci5tdXJ0aHlAaW50ZWwuY29tPgo+IFNpZ25lZC1v ZmYtYnk6IEt1bmFsIEpvc2hpIDxrdW5hbDEuam9zaGlAaW50ZWwuY29tPgo+IC0tLQo+IMKgbGli L2lndF9wc3IuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDM2ICsrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLQo+IMKgbGliL2lndF9wc3IuaMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8wqAgNiArKystLS0KPiDCoHRlc3RzL2ttc19jdXJzb3JfbGVnYWN5LmMgfMKgIDQgKyst LQo+IMKgMyBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkK PiAKPiBkaWZmIC0tZ2l0IGEvbGliL2lndF9wc3IuYyBiL2xpYi9pZ3RfcHNyLmMKPiBpbmRleCBj YWQ4Y2NlMDUuLjlhY2NkMjA0NyAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X3Bzci5jCj4gKysrIGIv bGliL2lndF9wc3IuYwo+IEBAIC00MSw3ICs0MSw3IEBAIGJvb2wgcHNyX2Rpc2FibGVkX2NoZWNr KGludCBkZWJ1Z2ZzX2ZkKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gc3Ryc3RyKGJ1ZiwgIlBT UiBtb2RlOiBkaXNhYmxlZFxuIik7Cj4gwqB9Cj4gwqAKPiAtYm9vbCBwc3IyX3NlbGVjdGl2ZV9m ZXRjaF9jaGVjayhpbnQgZGVidWdmc19mZCwgaWd0X291dHB1dF90Cj4gKm91dHB1dCkKPiArYm9v bCBzZWxlY3RpdmVfZmV0Y2hfY2hlY2soaW50IGRlYnVnZnNfZmQsIGlndF9vdXRwdXRfdCAqb3V0 cHV0KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBjaGFyIGJ1ZltQU1JfU1RBVFVTX01BWF9MRU5d Owo+IMKgwqDCoMKgwqDCoMKgwqBjaGFyIGRlYnVnZnNfZmlsZVsxMjhdID0gezB9Owo+IEBAIC0y NDgsNyArMjQ4LDkgQEAgYm9vbCBwc3Jfc2lua19zdXBwb3J0KGludCBkZXZpY2UsIGludCBkZWJ1 Z2ZzX2ZkLAo+IGVudW0gcHNyX21vZGUgbW9kZSwgaWd0X291dHB1dAo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChzdHJzdHIobGluZSwgIlBTUiA9IHllcyIp ICYmCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHN0cnN0 cihsaW5lLCAiWzB4MDNdIikgfHwgc3Ryc3RyKGxpbmUsCj4gIlsweDA0XSIpKSk7Cj4gwqDCoMKg wqDCoMKgwqDCoGNhc2UgUFJfTU9ERToKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIHN0cnN0cihsaW5lLCAiUGFuZWwgUmVwbGF5ID0geWVzIik7Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiBzdHJzdHIobGluZSwgIlBhbmVsIFJlcGxheSA9IHll cywgUGFuZWwgUmVwbGF5Cj4gU2VsZWN0aXZlIFVwZGF0ZSA9IG5vIik7Cj4gK8KgwqDCoMKgwqDC oMKgY2FzZSBQUl9NT0RFX1NFTF9GRVRDSDoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgcmV0dXJuIHN0cnN0cihsaW5lLCAiUGFuZWwgUmVwbGF5ID0geWVzLCBQYW5lbCBSZXBsYXkK PiBTZWxlY3RpdmUgVXBkYXRlID0geWVzIik7Cj4gwqDCoMKgwqDCoMKgwqDCoGRlZmF1bHQ6Cj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0X2YoZmFsc2UsICJJbnZh bGlkIHBzciBtb2RlXG4iKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVy biBmYWxzZTsKPiBAQCAtMzE3LDcgKzMxOSw3IEBAIGJvb2wgaTkxNV9wc3IyX3NlbGVjdGl2ZV9m ZXRjaF9jaGVjayhpbnQgZHJtX2ZkLAo+IGlndF9vdXRwdXRfdCAqb3V0cHV0KQo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGZhbHNlOwo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoGRlYnVnZnNfZmQgPSBpZ3RfZGVidWdmc19kaXIoZHJtX2ZkKTsKPiAtwqDCoMKgwqDCoMKg wqByZXQgPSBwc3IyX3NlbGVjdGl2ZV9mZXRjaF9jaGVjayhkZWJ1Z2ZzX2ZkLCBvdXRwdXQpOwo+ ICvCoMKgwqDCoMKgwqDCoHJldCA9IHNlbGVjdGl2ZV9mZXRjaF9jaGVjayhkZWJ1Z2ZzX2ZkLCBv dXRwdXQpOwo+IMKgwqDCoMKgwqDCoMKgwqBjbG9zZShkZWJ1Z2ZzX2ZkKTsKPiDCoAo+IMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+IEBAIC0zMzQsMTcgKzMzNiwyNCBAQCBib29sIGk5MTVf cHNyMl9zZWxlY3RpdmVfZmV0Y2hfY2hlY2soaW50Cj4gZHJtX2ZkLCBpZ3Rfb3V0cHV0X3QgKm91 dHB1dCkKPiDCoCAqIFJldHVybnM6Cj4gwqAgKiBUcnVlIGlmIFBTUiBtb2RlIGNoYW5nZWQgdG8g UFNSMSwgZmFsc2Ugb3RoZXJ3aXNlLgo+IMKgICovCj4gLWJvb2wgaTkxNV9wc3IyX3NlbF9mZXRj aF90b19wc3IxKGludCBkcm1fZmQsIGlndF9vdXRwdXRfdCAqb3V0cHV0KQo+ICtib29sIGk5MTVf cHJfcHNyMl9zZWxfZmV0Y2hfdG9fcHJfcHNyMShpbnQgZHJtX2ZkLCBpZ3Rfb3V0cHV0X3QKPiAq b3V0cHV0KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqBpbnQgZGVidWdmc19mZDsKPiDCoMKgwqDC oMKgwqDCoMKgYm9vbCByZXQgPSBmYWxzZTsKPiArwqDCoMKgwqDCoMKgwqBlbnVtIHBzcl9tb2Rl IG1vZGU7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKCFpc19pbnRlbF9kZXZpY2UoZHJtX2Zk KSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqAKPiDC oMKgwqDCoMKgwqDCoMKgZGVidWdmc19mZCA9IGlndF9kZWJ1Z2ZzX2Rpcihkcm1fZmQpOwo+IC3C oMKgwqDCoMKgwqDCoGlmIChwc3IyX3NlbGVjdGl2ZV9mZXRjaF9jaGVjayhkZWJ1Z2ZzX2ZkLCBv dXRwdXQpKSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBzcl9zZXQoZHJtX2Zk LCBkZWJ1Z2ZzX2ZkLCBQU1JfTU9ERV8xLCBvdXRwdXQpOwo+ICvCoMKgwqDCoMKgwqDCoGlmIChz ZWxlY3RpdmVfZmV0Y2hfY2hlY2soZGVidWdmc19mZCwgb3V0cHV0KSkgewo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBtb2RlID0gcHNyX2dldF9tb2RlKGRlYnVnZnNfZmQsIG91dHB1 dCk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmIChtb2RlID09IFBSX01PREVf U0VMX0ZFVENIKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgcHNyX3NldChkcm1fZmQsIGRlYnVnZnNfZmQsIFBSX01PREUsIG91dHB1dCk7Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVsc2UgaWYgKG1vZGUgPT0gUFNSX01PREVfMl9TRUxf RkVUQ0gpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBw c3Jfc2V0KGRybV9mZCwgZGVidWdmc19mZCwgUFNSX01PREVfMSwKPiBvdXRwdXQpOwo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBlbHNlCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0KCJzd2l0Y2ggbm90IHBvc3NpYmxlIGZy b20gY3VycmVudAo+IHBzciBtb2RlXG4iKTsKClRoZXJlIGlzIG5vIG5lZWQgdG8gY2hhbmdlIHRo aXMgZnVuY3Rpb24uIHBzcjJfc2VsZWN0aXZlX2ZldGNoX2NoZWNrCihub3cgc2VsZWN0aXZlX2Zl dGNoX2NoZWNrKSB3b3JrcyBmb3IgUFIgYW5kIFBTUi4KCkJSLAoKSm91bmkgSMO2Z2FuZGVyCgo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0ID0gdHJ1ZTsKPiDCoMKgwqDCoMKg wqDCoMKgfQo+IMKgCj4gQEAgLTM1OCwxMiArMzY3LDE3IEBAIGJvb2wgaTkxNV9wc3IyX3NlbF9m ZXRjaF90b19wc3IxKGludCBkcm1fZmQsCj4gaWd0X291dHB1dF90ICpvdXRwdXQpCj4gwqAgKiBS ZXN0b3JlIFBTUjIgc2VsZWN0aXZlIGZldGNoIGFmdGVyIHRlc3RzIHdlcmUgZXhlY3V0ZWQsIHRo aXMKPiBmdW5jdGlvbiBzaG91bGQKPiDCoCAqIG9ubHkgYmUgY2FsbGVkIGlmIGk5MTVfcHNyMl9z ZWxfZmV0Y2hfdG9fcHNyMSgpIHJldHVybmVkIHRydWUuCj4gwqAgKi8KPiAtdm9pZCBpOTE1X3Bz cjJfc2VsX2ZldGNoX3Jlc3RvcmUoaW50IGRybV9mZCwgaWd0X291dHB1dF90ICpvdXRwdXQpCj4g K3ZvaWQgaTkxNV9wcl9wc3IyX3NlbF9mZXRjaF9yZXN0b3JlKGludCBkcm1fZmQsIGlndF9vdXRw dXRfdAo+ICpvdXRwdXQpCj4gwqB7Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBkZWJ1Z2ZzX2ZkOwo+ ICvCoMKgwqDCoMKgwqDCoGVudW0gcHNyX21vZGUgbW9kZTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqBkZWJ1Z2ZzX2ZkID0gaWd0X2RlYnVnZnNfZGlyKGRybV9mZCk7Cj4gLcKgwqDCoMKgwqDCoMKg cHNyX3NldChkcm1fZmQsIGRlYnVnZnNfZmQsIFBTUl9NT0RFXzJfU0VMX0ZFVENILCBvdXRwdXQp Owo+ICvCoMKgwqDCoMKgwqDCoG1vZGUgPSBwc3JfZ2V0X21vZGUoZGVidWdmc19mZCwgb3V0cHV0 KTsKPiArwqDCoMKgwqDCoMKgwqBpZiAobW9kZSA9PSBQUl9NT0RFKQo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBwc3Jfc2V0KGRybV9mZCwgZGVidWdmc19mZCwgUFJfTU9ERV9TRUxf RkVUQ0gsCj4gb3V0cHV0KTsKPiArwqDCoMKgwqDCoMKgwqBlbHNlCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHBzcl9zZXQoZHJtX2ZkLCBkZWJ1Z2ZzX2ZkLCBQU1JfTU9ERV8yX1NF TF9GRVRDSCwKPiBvdXRwdXQpOwo+IMKgwqDCoMKgwqDCoMKgwqBjbG9zZShkZWJ1Z2ZzX2ZkKTsK PiDCoH0KPiDCoAo+IEBAIC0zODksMTEgKzQwMywxMyBAQCBlbnVtIHBzcl9tb2RlIHBzcl9nZXRf bW9kZShpbnQgZGVidWdmc19mZCwKPiBpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKPiDCoAo+IMKgwqDC oMKgwqDCoMKgwqBpZiAoc3Ryc3RyKGJ1ZiwgIlBhbmVsIFJlcGxheSBFbmFibGVkIikpCj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gUFJfTU9ERTsKPiArwqDCoMKgwqDC oMKgwqBlbHNlIGlmIChzdHJzdHIoYnVmLCAiUGFuZWwgUmVwbGF5IFNlbGVjdGl2ZSBVcGRhdGUK PiBFbmFibGVkIikpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiBQUl9N T0RFX1NFTF9GRVRDSDsKPiDCoMKgwqDCoMKgwqDCoMKgZWxzZSBpZiAoc3Ryc3RyKGJ1ZiwgIlBT UjIgc2VsZWN0aXZlIGZldGNoOiBlbmFibGVkIikpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gUFNSX01PREVfMl9TRUxfRkVUQ0g7Cj4gLcKgwqDCoMKgwqDCoMKgZWxz ZSBpZiAoc3Ryc3RyKGJ1ZiwgIlBTUjIgZW5hYmxlZCIpKQo+ICvCoMKgwqDCoMKgwqDCoGVsc2Ug aWYgKHN0cnN0cihidWYsICJQU1IyIikpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqByZXR1cm4gUFNSX01PREVfMjsKPiAtwqDCoMKgwqDCoMKgwqBlbHNlIGlmIChzdHJzdHIoYnVm LCAiUFNSMSBlbmFibGVkIikpCj4gK8KgwqDCoMKgwqDCoMKgZWxzZSBpZiAoc3Ryc3RyKGJ1Ziwg IlBTUjEiKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiBQU1JfTU9E RV8xOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiBQU1JfRElTQUJMRUQ7Cj4gZGlmZiAt LWdpdCBhL2xpYi9pZ3RfcHNyLmggYi9saWIvaWd0X3Bzci5oCj4gaW5kZXggMzcyYmVmMmIyLi4z NmJhN2YwNjggMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9wc3IuaAo+ICsrKyBiL2xpYi9pZ3RfcHNy LmgKPiBAQCAtNDYsNyArNDYsNyBAQCBlbnVtIGZiY19tb2RlIHsKPiDCoH07Cj4gwqAKPiDCoGJv b2wgcHNyX2Rpc2FibGVkX2NoZWNrKGludCBkZWJ1Z2ZzX2ZkKTsKPiAtYm9vbCBwc3IyX3NlbGVj dGl2ZV9mZXRjaF9jaGVjayhpbnQgZGVidWdmc19mZCwgaWd0X291dHB1dF90Cj4gKm91dHB1dCk7 Cj4gK2Jvb2wgc2VsZWN0aXZlX2ZldGNoX2NoZWNrKGludCBkZWJ1Z2ZzX2ZkLCBpZ3Rfb3V0cHV0 X3QgKm91dHB1dCk7Cj4gwqBib29sIHBzcl93YWl0X2VudHJ5KGludCBkZWJ1Z2ZzX2ZkLCBlbnVt IHBzcl9tb2RlIG1vZGUsIGlndF9vdXRwdXRfdAo+ICpvdXRwdXQpOwo+IMKgYm9vbCBwc3Jfd2Fp dF91cGRhdGUoaW50IGRlYnVnZnNfZmQsIGVudW0gcHNyX21vZGUgbW9kZSwKPiBpZ3Rfb3V0cHV0 X3QgKm91dHB1dCk7Cj4gwqBib29sIHBzcl9sb25nX3dhaXRfdXBkYXRlKGludCBkZWJ1Z2ZzX2Zk LCBlbnVtIHBzcl9tb2RlIG1vZGUsCj4gaWd0X291dHB1dF90ICpvdXRwdXQpOwo+IEBAIC01OSw4 ICs1OSw4IEBAIGVudW0gcHNyX21vZGUgcHNyX2dldF9tb2RlKGludCBkZWJ1Z2ZzX2ZkLAo+IGln dF9vdXRwdXRfdCAqb3V0cHV0KTsKPiDCoAo+IMKgYm9vbCBpOTE1X3BzcjJfc2VsZWN0aXZlX2Zl dGNoX2NoZWNrKGludCBkcm1fZmQsIGlndF9vdXRwdXRfdAo+ICpvdXRwdXQpOwo+IMKgCj4gLWJv b2wgaTkxNV9wc3IyX3NlbF9mZXRjaF90b19wc3IxKGludCBkcm1fZmQsIGlndF9vdXRwdXRfdCAq b3V0cHV0KTsKPiAtdm9pZCBpOTE1X3BzcjJfc2VsX2ZldGNoX3Jlc3RvcmUoaW50IGRybV9mZCwg aWd0X291dHB1dF90ICpvdXRwdXQpOwo+ICtib29sIGk5MTVfcHJfcHNyMl9zZWxfZmV0Y2hfdG9f cHJfcHNyMShpbnQgZHJtX2ZkLCBpZ3Rfb3V0cHV0X3QKPiAqb3V0cHV0KTsKPiArdm9pZCBpOTE1 X3ByX3BzcjJfc2VsX2ZldGNoX3Jlc3RvcmUoaW50IGRybV9mZCwgaWd0X291dHB1dF90Cj4gKm91 dHB1dCk7Cj4gwqBib29sIGlzX3Bzcl9lbmFibGVfcG9zc2libGUoaW50IGRybV9mZCwgZW51bSBw c3JfbW9kZSBtb2RlKTsKPiDCoAo+IMKgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19j dXJzb3JfbGVnYWN5LmMgYi90ZXN0cy9rbXNfY3Vyc29yX2xlZ2FjeS5jCj4gaW5kZXggYTQzMGY3 MzVhLi45MWU1ZTliMDcgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMva21zX2N1cnNvcl9sZWdhY3kuYwo+ ICsrKyBiL3Rlc3RzL2ttc19jdXJzb3JfbGVnYWN5LmMKPiBAQCAtMTg0OSw3ICsxODQ5LDcgQEAg aWd0X21haW4KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIHBhZ2UgZmxpcCB3 aXRoIGN1cnNvciBsZWdhY3kgQVBJUyB3aGVuIEludGVsJ3MKPiBQU1IyIHNlbGVjdGl2ZQo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogZmV0Y2ggaXMgZW5hYmxlZCwgc28gc3dp dGNoaW5nIFBTUjEgZm9yIHRoaXMgd2hvbGUKPiB0ZXN0Lgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICovCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGludGVsX3Bz cjJfcmVzdG9yZSA9Cj4gaTkxNV9wc3IyX3NlbF9mZXRjaF90b19wc3IxKGRpc3BsYXkuZHJtX2Zk LCBOVUxMKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaW50ZWxfcHNyMl9yZXN0 b3JlID0KPiBpOTE1X3ByX3BzcjJfc2VsX2ZldGNoX3RvX3ByX3BzcjEoZGlzcGxheS5kcm1fZmQs IE5VTEwpOwo+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWd0X2Rl c2NyaWJlKCJUZXN0IGNoZWNrcyBob3cgbWFueSBjdXJzb3IgdXBkYXRlcyB3ZSBjYW4gZml0Cj4g YmV0d2VlbiB2YmxhbmtzICIKPiBAQCAtMjA3NCw3ICsyMDc0LDcgQEAgaWd0X21haW4KPiDCoAo+ IMKgwqDCoMKgwqDCoMKgwqBpZ3RfZml4dHVyZSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpZiAoaW50ZWxfcHNyMl9yZXN0b3JlKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaTkxNV9wc3IyX3NlbF9mZXRjaF9yZXN0b3JlKGRpc3Bs YXkuZHJtX2ZkLAo+IE5VTEwpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgaTkxNV9wcl9wc3IyX3NlbF9mZXRjaF9yZXN0b3JlKGRpc3BsYXkuZHJtX2Zk Cj4gLCBOVUxMKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9kaXNwbGF5 X2ZpbmkoJmRpc3BsYXkpOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZHJtX2Ns b3NlX2RyaXZlcihkaXNwbGF5LmRybV9mZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KCg==