From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA8B42FB97B; Thu, 4 Dec 2025 16:58:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.15 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764867504; cv=none; b=ZdWZgtZnUYvHhNRYe6Fq3kNBt/+ycGqB7tcFgTc5cz2N+2tqSAKuajH9eYj8/5DETLtGPQP8CbX54fLXvIV5H5zuN8LT5Dpt5nnhImnIzh76RU1CAa21wFSbhgyX8eOy6oXFXFQ0/6MiA6NcEX6NesWZDsvslT8YKa7JAWmzzCc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764867504; c=relaxed/simple; bh=vowh/7Clma07k0KTGalPq28L/2rhwHXASAFY5mATXUk=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=rh6TuT3vrA4WsM2YXH9eVZ8cStcNGsnZTRF3iktr+xv5sPceKYBEuWoQrsuzPH+DctxZLe4RGsoeIW5ma4RoC3emkb5Ga7sCJWLR83dGQ+mDYCVWj+Y3tBEQHAq1DDpbEnDZykd1xrgvrD5pGitfhZmF1rEoHIeSu9/+BALdEEQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=JSEvref2; arc=none smtp.client-ip=212.227.15.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="JSEvref2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1764867491; x=1765472291; i=w_armin@gmx.de; bh=vowh/7Clma07k0KTGalPq28L/2rhwHXASAFY5mATXUk=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:From:To: Cc:References:In-Reply-To:Content-Type:Content-Transfer-Encoding: cc:content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=JSEvref2Ak4+WsZMXAOUA0KXG3+yPJW8Pn8uH2qz7ki1PUf5Wi2lwe0C04e0qPOX 9qrac5UVRdmVDMIxWJ+nuSnvadHLTNycEBnLpMTgzjc2lmIXYno5GMu+Qd5+dZWZC fQCpCpBllra5Wo0C+yWlftjz7FkmTs8fALkbOj54xzIpYaFLM2IUtvGTs9RTPPFvU kCmLmn4fpo4EDkKd5qtZxkOI97lmRvG8icy9fZY3SkVGp3albx9yrXo3n/97OKc7I +18GD/KeWgpRNjdASYuqGn8EAaj7b35QfLoy9U7wfoZjoXlO9LQAX3Bf0yNtP/gYj uYDYZ90F6+sFG+vbNA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.0.69] ([93.202.247.91]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N4QwW-1wAkDt0xjK-00tkb4; Thu, 04 Dec 2025 17:58:11 +0100 Message-ID: Date: Thu, 4 Dec 2025 17:58:09 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] platform/x86/uniwill: Implement cTGP setting From: Armin Wolf To: Werner Sembach , hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org References: <20251204135121.435905-1-wse@tuxedocomputers.com> <20251204135121.435905-3-wse@tuxedocomputers.com> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 X-Provags-ID: V03:K1:a+RKDyIi1kqmKTAU2Q173+V/VcDuzjtHfojXYL6JsqJourJvg5b lmTtZG0/kGUuW/4kbCodFXwRHbSGMPsdPPfIi0KiGZud6bqd644UNaWS3HGws4/EP9QuK+v sQOe2XPQzksQhi38xGWqClx9MXZTMdf+QuKV6tGB9INBfbH85U/Qx/NSF9rg0ruPyTfmrgv 23kL+PQbVNrt2XBTe5Qdg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:5wU67CgTNik=;4UHPwhpnBizmw5qBcX/btyw6R6I +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 mca64QrCZvtbRHu9mraE/w9yERZOe QW0gMDQuMTIuMjUgdW0gMTc6MTEgc2NocmllYiBBcm1pbiBXb2xmOg0KDQo+IEFtIDA0LjEyLjI1 IHVtIDE0OjUwIHNjaHJpZWIgV2VybmVyIFNlbWJhY2g6DQo+DQo+PiBVbml3aWxsIG9mZmVycyB1 c2VyIHNldGFibGUgY1RHUCBmb3IgdGhlaXIgRUMgb24gZGV2aWNlcyB1c2luZyBOVklESUEgDQo+ PiAzMDAwDQo+PiBTZXJpZXMgYW5kIG5ld2VyIEdQVXMuIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0 aGlzIHNldHRpbmcgYXMgYSBzeXNmcw0KPj4gYXR0cmlidXRlLg0KPj4NCj4+IEZvciBvbmUgZGV2 aWNlLCB0aGUgVFVYRURPIEluZmluaXR5Qm9vayBHZW43LCB0aGUgdmFyaWFudCB3aXRoIGFuZCAN Cj4+IHdpdGhvdXQNCj4+IE5WSURJQSBHUFUgY2FuJ3QgYmUgZGlmZmVyZW50aWF0ZWQgdXNpbmcg b25seSB0aGUgRE1JIHN0cmluZ3MsIHNvIHRoZSANCj4+IG5ldw0KPj4gcHJvYmUgY2FsbGJhY2sg bmVlZHMgdG8gYmUgdXNlZCB0byB0ZXN0IGEgYml0IGZyb20gdGhlIEVDIG1lbW9yeS4NCj4+DQo+ PiBTaWduZWQtb2ZmLWJ5OiBXZXJuZXIgU2VtYmFjaCA8d3NlQHR1eGVkb2NvbXB1dGVycy5jb20+ DQo+PiAtLS0NCj4+IMKgIGRyaXZlcnMvcGxhdGZvcm0veDg2L3VuaXdpbGwvdW5pd2lsbC1hY3Bp LmMgfCAxNjAgKysrKysrKysrKysrKysrKystLS0NCj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCAxMzUg aW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvcGxhdGZvcm0veDg2L3VuaXdpbGwvdW5pd2lsbC1hY3BpLmMgDQo+PiBiL2RyaXZlcnMvcGxh dGZvcm0veDg2L3VuaXdpbGwvdW5pd2lsbC1hY3BpLmMNCj4+IGluZGV4IDAxMTkyYzMyNjA4ZTUu LmY4N2Y2ZTlkMDgyMzQgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni91bml3 aWxsL3VuaXdpbGwtYWNwaS5jDQo+PiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni91bml3aWxs L3VuaXdpbGwtYWNwaS5jDQo+PiBAQCAtODgsNiArODgsOSBAQA0KPj4gwqAgwqAgI2RlZmluZSBF Q19BRERSX0dQVV9URU1QwqDCoMKgwqDCoMKgwqAgMHgwNDRGDQo+PiDCoCArI2RlZmluZSBFQ19B RERSX1NZU1RFTV9JRMKgwqDCoMKgwqDCoMKgIDB4MDQ1Ng0KPj4gKyNkZWZpbmUgSEFTX0dQVcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQoNykNCj4NCj4gSSB0aGluayB5b3UgbmVl ZCB0byB0ZWxsIHJlZ21hcCB0aGF0IHRoaXMgbmV3IHJlZ2lzdGVyIGlzIHJlYWRhYmxlDQo+IGJ5 IG1vZGlmeWluZyB1bml3aWxsX3JlYWRhYmxlX3JlZygpLCBvdGhlcndpc2UgcGh4YXJ4MV9waHhh cWYxX3Byb2JlKCkNCj4gd2lsbCBhbHdheXMgZmFpbC4NCj4NCj4gV2l0aCB0aGF0IGJlaW5nIGZp eGVkOg0KPiBSZXZpZXdlZC1ieTogQXJtaW4gV29sZiA8V19Bcm1pbkBnbXguZGU+DQo+DQo+PiAr DQo+PiDCoCAjZGVmaW5lIEVDX0FERFJfTUFJTl9GQU5fUlBNXzHCoMKgwqDCoMKgwqDCoCAweDA0 NjQNCj4+IMKgIMKgICNkZWZpbmUgRUNfQUREUl9NQUlOX0ZBTl9SUE1fMsKgwqDCoMKgwqDCoMKg IDB4MDQ2NQ0KPj4gQEAgLTEyMiwxMSArMTI1LDExIEBADQo+PiDCoCAjZGVmaW5lIENUR1BfREJf REJfRU5BQkxFwqDCoMKgwqDCoMKgwqAgQklUKDEpDQo+PiDCoCAjZGVmaW5lIENUR1BfREJfQ1RH UF9FTkFCTEXCoMKgwqDCoMKgwqDCoCBCSVQoMikNCj4+IMKgIC0jZGVmaW5lIEVDX0FERFJfQ1RH UF9PRkZTRVTCoMKgwqDCoMKgwqDCoCAweDA3NDQNCj4+ICsjZGVmaW5lIEVDX0FERFJfQ1RHUF9E Ql9DVEdQX09GRlNFVMKgwqDCoCAweDA3NDQNCj4+IMKgIC0jZGVmaW5lIEVDX0FERFJfVFBQX09G RlNFVMKgwqDCoMKgwqDCoMKgIDB4MDc0NQ0KPj4gKyNkZWZpbmUgRUNfQUREUl9DVEdQX0RCX1RQ UF9PRkZTRVTCoMKgwqAgMHgwNzQ1DQo+PiDCoCAtI2RlZmluZSBFQ19BRERSX01BWF9UR1DCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIDB4MDc0Ng0KPj4gKyNkZWZpbmUgRUNfQUREUl9DVEdQX0RCX0RC X09GRlNFVMKgwqDCoCAweDA3NDYNCj4+IMKgIMKgICNkZWZpbmUgRUNfQUREUl9MSUdIVEJBUl9B Q19DVFJMwqDCoMKgIDB4MDc0OA0KPj4gwqAgI2RlZmluZSBMSUdIVEJBUl9BUFBfRVhJU1RTwqDC oMKgwqDCoMKgwqAgQklUKDApDQo+PiBAQCAtMzE3LDYgKzMyMCw3IEBADQo+PiDCoCAjZGVmaW5l IFVOSVdJTExfRkVBVFVSRV9MSUdIVEJBUsKgwqDCoMKgwqDCoMKgIEJJVCgzKQ0KPj4gwqAgI2Rl ZmluZSBVTklXSUxMX0ZFQVRVUkVfQkFUVEVSWcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQklUKDQp DQo+PiDCoCAjZGVmaW5lIFVOSVdJTExfRkVBVFVSRV9IV01PTsKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgQklUKDUpDQo+PiArI2RlZmluZSBVTklXSUxMX0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09OVFJP TMKgwqDCoCBCSVQoNikNCj4+IMKgIMKgIHN0cnVjdCB1bml3aWxsX2RhdGEgew0KPj4gwqDCoMKg wqDCoCBzdHJ1Y3QgZGV2aWNlICpkZXY7DQo+PiBAQCAtNTE1LDYgKzUxOSwxMCBAQCBzdGF0aWMg Ym9vbCB1bml3aWxsX3dyaXRlYWJsZV9yZWcoc3RydWN0IGRldmljZSANCj4+ICpkZXYsIHVuc2ln bmVkIGludCByZWcpDQo+PiDCoMKgwqDCoMKgIGNhc2UgRUNfQUREUl9MSUdIVEJBUl9CQVRfUkVE Og0KPj4gwqDCoMKgwqDCoCBjYXNlIEVDX0FERFJfTElHSFRCQVJfQkFUX0dSRUVOOg0KPj4gwqDC oMKgwqDCoCBjYXNlIEVDX0FERFJfTElHSFRCQVJfQkFUX0JMVUU6DQo+PiArwqDCoMKgIGNhc2Ug RUNfQUREUl9DVEdQX0RCX0NUUkw6DQo+PiArwqDCoMKgIGNhc2UgRUNfQUREUl9DVEdQX0RCX0NU R1BfT0ZGU0VUOg0KPj4gK8KgwqDCoCBjYXNlIEVDX0FERFJfQ1RHUF9EQl9UUFBfT0ZGU0VUOg0K Pj4gK8KgwqDCoCBjYXNlIEVDX0FERFJfQ1RHUF9EQl9EQl9PRkZTRVQ6DQo+PiDCoMKgwqDCoMKg wqDCoMKgwqAgcmV0dXJuIHRydWU7DQo+PiDCoMKgwqDCoMKgIGRlZmF1bHQ6DQo+PiDCoMKgwqDC oMKgwqDCoMKgwqAgcmV0dXJuIGZhbHNlOw0KPj4gQEAgLTU0OCw2ICs1NTYsMTAgQEAgc3RhdGlj IGJvb2wgdW5pd2lsbF9yZWFkYWJsZV9yZWcoc3RydWN0IGRldmljZSANCj4+ICpkZXYsIHVuc2ln bmVkIGludCByZWcpDQo+PiDCoMKgwqDCoMKgIGNhc2UgRUNfQUREUl9MSUdIVEJBUl9CQVRfUkVE Og0KPj4gwqDCoMKgwqDCoCBjYXNlIEVDX0FERFJfTElHSFRCQVJfQkFUX0dSRUVOOg0KPj4gwqDC oMKgwqDCoCBjYXNlIEVDX0FERFJfTElHSFRCQVJfQkFUX0JMVUU6DQo+PiArwqDCoMKgIGNhc2Ug RUNfQUREUl9DVEdQX0RCX0NUUkw6DQo+PiArwqDCoMKgIGNhc2UgRUNfQUREUl9DVEdQX0RCX0NU R1BfT0ZGU0VUOg0KPj4gK8KgwqDCoCBjYXNlIEVDX0FERFJfQ1RHUF9EQl9UUFBfT0ZGU0VUOg0K Pj4gK8KgwqDCoCBjYXNlIEVDX0FERFJfQ1RHUF9EQl9EQl9PRkZTRVQ6DQo+PiDCoMKgwqDCoMKg wqDCoMKgwqAgcmV0dXJuIHRydWU7DQo+PiDCoMKgwqDCoMKgIGRlZmF1bHQ6DQo+PiDCoMKgwqDC oMKgwqDCoMKgwqAgcmV0dXJuIGZhbHNlOw0KPj4gQEAgLTgwMyw2ICs4MTUsNjkgQEAgc3RhdGlj IHNzaXplX3QgYnJlYXRoaW5nX2luX3N1c3BlbmRfc2hvdyhzdHJ1Y3QgDQo+PiBkZXZpY2UgKmRl diwgc3RydWN0IGRldmljZV9hdHRyaQ0KPj4gwqAgwqAgc3RhdGljIERFVklDRV9BVFRSX1JXKGJy ZWF0aGluZ19pbl9zdXNwZW5kKTsNCj4+IMKgICtzdGF0aWMgc3NpemVfdCBjdGdwX29mZnNldF9z dG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCANCj4+IGRldmljZV9hdHRyaWJ1dGUgKmF0 dHIsDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqYnVm LCBzaXplX3QgY291bnQpDQo+PiArew0KPj4gK8KgwqDCoCBzdHJ1Y3QgdW5pd2lsbF9kYXRhICpk YXRhID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+PiArwqDCoMKgIHVuc2lnbmVkIGludCB2YWx1 ZTsNCj4+ICvCoMKgwqAgaW50IHJldDsNCj4+ICsNCj4+ICvCoMKgwqAgcmV0ID0ga3N0cnRvdWlu dChidWYsIDAsICZ2YWx1ZSk7DQo+PiArwqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4gK8KgwqDCoMKg wqDCoMKgIHJldHVybiByZXQ7DQoNCkkgZm9yZ2V0IHRvIG1lbnRpb24gdGhhdCB5b3Ugc3RpbGwg bmVlZCB0byB2ZXJpZnkgdGhhdCB2YWx1ZSBpcyBzbWFsbGVyIHRoYW4gVThfTUFYLg0KDQpUaGFu a3MsDQpBcm1pbiBXb2xmDQoNCj4+ICsNCj4+ICvCoMKgwqAgcmV0ID0gcmVnbWFwX3dyaXRlKGRh dGEtPnJlZ21hcCwgRUNfQUREUl9DVEdQX0RCX0NUR1BfT0ZGU0VULCANCj4+IHZhbHVlKTsNCj4+ ICvCoMKgwqAgaWYgKHJldCA8IDApDQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+ ICsNCj4+ICvCoMKgwqAgcmV0dXJuIGNvdW50Ow0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgc3Np emVfdCBjdGdwX29mZnNldF9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IA0KPj4gZGV2 aWNlX2F0dHJpYnV0ZSAqYXR0ciwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg Y2hhciAqYnVmKQ0KPj4gK3sNCj4+ICvCoMKgwqAgc3RydWN0IHVuaXdpbGxfZGF0YSAqZGF0YSA9 IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPj4gK8KgwqDCoCB1bnNpZ25lZCBpbnQgdmFsdWU7DQo+ PiArwqDCoMKgIGludCByZXQ7DQo+PiArDQo+PiArwqDCoMKgIHJldCA9IHJlZ21hcF9yZWFkKGRh dGEtPnJlZ21hcCwgRUNfQUREUl9DVEdQX0RCX0NUR1BfT0ZGU0VULCANCj4+ICZ2YWx1ZSk7DQo+ PiArwqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+ PiArDQo+PiArwqDCoMKgIHJldHVybiBzeXNmc19lbWl0KGJ1ZiwgIiV1XG4iLCB2YWx1ZSk7DQo+ PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBERVZJQ0VfQVRUUl9SVyhjdGdwX29mZnNldCk7DQo+PiAr DQo+PiArc3RhdGljIGludCB1bml3aWxsX252aWRpYV9jdGdwX2luaXQoc3RydWN0IHVuaXdpbGxf ZGF0YSAqZGF0YSkNCj4+ICt7DQo+PiArwqDCoMKgIGludCByZXQ7DQo+PiArDQo+PiArwqDCoMKg IGlmICghdW5pd2lsbF9kZXZpY2Vfc3VwcG9ydHMoZGF0YSwgDQo+PiBVTklXSUxMX0ZFQVRVUkVf TlZJRElBX0NUR1BfQ09OVFJPTCwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIFVOSVdJTExfRkVBVFVSRV9OVklESUFfQ1RHUF9DT05UUk9MKSkNCj4+ICvCoMKg wqDCoMKgwqDCoCByZXR1cm4gMDsNCj4+ICsNCj4+ICvCoMKgwqAgcmV0ID0gcmVnbWFwX3dyaXRl KGRhdGEtPnJlZ21hcCwgRUNfQUREUl9DVEdQX0RCX0NUR1BfT0ZGU0VULCAwKTsNCj4+ICvCoMKg wqAgaWYgKHJldCA8IDApDQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+ICsNCj4+ ICvCoMKgwqAgcmV0ID0gcmVnbWFwX3dyaXRlKGRhdGEtPnJlZ21hcCwgRUNfQUREUl9DVEdQX0RC X1RQUF9PRkZTRVQsIDI1NSk7DQo+PiArwqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4gK8KgwqDCoMKg wqDCoMKgIHJldHVybiByZXQ7DQo+PiArDQo+PiArwqDCoMKgIHJldCA9IHJlZ21hcF93cml0ZShk YXRhLT5yZWdtYXAsIEVDX0FERFJfQ1RHUF9EQl9EQl9PRkZTRVQsIDI1KTsNCj4+ICvCoMKgwqAg aWYgKHJldCA8IDApDQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+ICsNCj4+ICvC oMKgwqAgcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKGRhdGEtPnJlZ21hcCwgRUNfQUREUl9DVEdQ X0RCX0NUUkwsDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ1RHUF9EQl9H RU5FUkFMX0VOQUJMRSB8IENUR1BfREJfREJfRU5BQkxFIHwgDQo+PiBDVEdQX0RCX0NUR1BfRU5B QkxFLA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENUR1BfREJfR0VORVJB TF9FTkFCTEUgfCBDVEdQX0RCX0RCX0VOQUJMRSB8IA0KPj4gQ1RHUF9EQl9DVEdQX0VOQUJMRSk7 DQo+PiArwqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7 DQo+PiArDQo+PiArwqDCoMKgIHJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4+IMKgIHN0YXRpYyBz dHJ1Y3QgYXR0cmlidXRlICp1bml3aWxsX2F0dHJzW10gPSB7DQo+PiDCoMKgwqDCoMKgIC8qIEtl eWJvYXJkLXJlbGF0ZWQgKi8NCj4+IMKgwqDCoMKgwqAgJmRldl9hdHRyX2ZuX2xvY2tfdG9nZ2xl X2VuYWJsZS5hdHRyLA0KPj4gQEAgLTgxMSw2ICs4ODYsOCBAQCBzdGF0aWMgc3RydWN0IGF0dHJp YnV0ZSAqdW5pd2lsbF9hdHRyc1tdID0gew0KPj4gwqDCoMKgwqDCoCAvKiBMaWdodGJhci1yZWxh dGVkICovDQo+PiDCoMKgwqDCoMKgICZkZXZfYXR0cl9yYWluYm93X2FuaW1hdGlvbi5hdHRyLA0K Pj4gwqDCoMKgwqDCoCAmZGV2X2F0dHJfYnJlYXRoaW5nX2luX3N1c3BlbmQuYXR0ciwNCj4+ICvC oMKgwqAgLyogUG93ZXItbWFuYWdlbWVudC1yZWxhdGVkICovDQo+PiArwqDCoMKgICZkZXZfYXR0 cl9jdGdwX29mZnNldC5hdHRyLA0KPj4gwqDCoMKgwqDCoCBOVUxMDQo+PiDCoCB9Ow0KPj4gwqAg QEAgLTg0NCw2ICs5MjEsMTIgQEAgc3RhdGljIHVtb2RlX3QgdW5pd2lsbF9hdHRyX2lzX3Zpc2li bGUoc3RydWN0IA0KPj4ga29iamVjdCAqa29iaiwgc3RydWN0IGF0dHJpYnV0ZSAqYQ0KPj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGF0dHItPm1vZGU7DQo+PiDCoMKgwqDCoMKg IH0NCj4+IMKgICvCoMKgwqAgaWYgKGF0dHIgPT0gJmRldl9hdHRyX2N0Z3Bfb2Zmc2V0LmF0dHIp IHsNCj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAodW5pd2lsbF9kZXZpY2Vfc3VwcG9ydHMoZGF0YSwg DQo+PiBVTklXSUxMX0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09OVFJPTCwNCj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFVOSVdJTExfRkVBVFVSRV9OVklE SUFfQ1RHUF9DT05UUk9MKSkNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBhdHRy LT5tb2RlOw0KPj4gK8KgwqDCoCB9DQo+PiArDQo+PiDCoMKgwqDCoMKgIHJldHVybiAwOw0KPj4g wqAgfQ0KPj4gwqAgQEAgLTE0MTMsNiArMTQ5NiwxMCBAQCBzdGF0aWMgaW50IHVuaXdpbGxfcHJv YmUoc3RydWN0IA0KPj4gcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPj4gwqDCoMKgwqDCoCBpZiAo cmV0IDwgMCkNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4gwqAgK8KgwqDC oCByZXQgPSB1bml3aWxsX252aWRpYV9jdGdwX2luaXQoZGF0YSk7DQo+PiArwqDCoMKgIGlmIChy ZXQgPCAwKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+PiArDQo+PiDCoMKgwqDC oMKgIHJldHVybiB1bml3aWxsX2lucHV0X2luaXQoZGF0YSk7DQo+PiDCoCB9DQo+PiDCoCBAQCAt MTU1Nyw2ICsxNjQ0LDI5IEBAIHN0YXRpYyBzdHJ1Y3QgdW5pd2lsbF9kZXZpY2VfZGVzY3JpcHRv ciANCj4+IGxhcGtjNzFmX2Rlc2NyaXB0b3IgX19pbml0ZGF0YSA9IHsNCj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIFVOSVdJTExfRkVBVFVSRV9IV01PTg0KPj4gwqAgfTsNCj4+IMKgICtz dGF0aWMgaW50IHBoeGFyeDFfcGh4YXFmMV9wcm9iZShzdHJ1Y3QgdW5pd2lsbF9kYXRhICpkYXRh KQ0KPj4gK3sNCj4+ICvCoMKgwqAgdW5zaWduZWQgaW50IHZhbHVlOw0KPj4gK8KgwqDCoCBpbnQg cmV0Ow0KPj4gKw0KPj4gK8KgwqDCoCByZXQgPSByZWdtYXBfcmVhZChkYXRhLT5yZWdtYXAsIEVD X0FERFJfU1lTVEVNX0lELCAmdmFsdWUpOw0KPj4gK8KgwqDCoCBpZiAocmV0IDwgMCkNCj4+ICvC oMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4gKw0KPj4gK8KgwqDCoCBpZiAodmFsdWUgJiBI QVNfR1BVKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIGRhdGEtPmZlYXR1cmVzIHw9IFVOSVdJTExfRkVB VFVSRV9OVklESUFfQ1RHUF9DT05UUk9MOw0KPj4gKw0KPj4gK8KgwqDCoCByZXR1cm4gMDsNCj4+ ICt9Ow0KPj4gKw0KPj4gK3N0YXRpYyBzdHJ1Y3QgdW5pd2lsbF9kZXZpY2VfZGVzY3JpcHRvciBw aHhhcngxX3BoeGFxZjFfZGVzY3JpcHRvciANCj4+IF9faW5pdGRhdGEgPSB7DQo+PiArwqDCoMKg IC5wcm9iZSA9IHBoeGFyeDFfcGh4YXFmMV9wcm9iZQ0KPj4gK307DQo+PiArDQo+PiArc3RhdGlj IHN0cnVjdCB1bml3aWxsX2RldmljZV9kZXNjcmlwdG9yIHR1eF9mZWF0dXJlc2V0XzFfZGVzY3Jp cHRvciANCj4+IF9faW5pdGRhdGEgPSB7DQo+PiArwqDCoMKgIC5mZWF0dXJlcyA9IFVOSVdJTExf RkVBVFVSRV9OVklESUFfQ1RHUF9DT05UUk9MDQo+PiArfTsNCj4+ICsNCj4+IMKgIHN0YXRpYyBz dHJ1Y3QgdW5pd2lsbF9kZXZpY2VfZGVzY3JpcHRvciBlbXB0eV9kZXNjcmlwdG9yIF9faW5pdGRh dGEgDQo+PiA9IHt9Ow0KPj4gwqAgwqAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lk IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3QgDQo+PiA9IHsNCj4+IEBAIC0xNjA2LDcg KzE3MTYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+PiB1bml3aWxs X2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05BTUUsICJQSHhUUXgxIiks DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+IC3CoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2Rh dGEgPSAmZW1wdHlfZGVzY3JpcHRvciwNCj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEg PSAmdHV4X2ZlYXR1cmVzZXRfMV9kZXNjcmlwdG9yLA0KPj4gwqDCoMKgwqDCoCB9LA0KPj4gwqDC oMKgwqDCoCB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBJbmZpbml0 eUJvb2sgUHJvIDE0LzE2IEdlbjcgSW50ZWwiLA0KPj4gQEAgLTE2MTQsNyArMTcyNCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+IHVuaXdpbGxfZG1pX3RhYmxlW10g X19pbml0Y29uc3QgPSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0go RE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIlBIeEFSWDFfUEh4QVFGMSIpLA0KPj4g wqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+PiAtwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0g JmVtcHR5X2Rlc2NyaXB0b3IsDQo+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJnBo eGFyeDFfcGh4YXFmMV9kZXNjcmlwdG9yLA0KPj4gwqDCoMKgwqDCoCB9LA0KPj4gwqDCoMKgwqDC oCB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBJbmZpbml0eUJvb2sg UHJvIDE2IEdlbjcgSW50ZWwvQ29tbW9kb3JlIA0KPj4gT21uaWEtQm9vayBQcm8gR2VuIDciLA0K Pj4gQEAgLTE2MjIsNyArMTczMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9p ZCANCj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3QgPSB7DQo+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFN RSwgDQo+PiAiUEg2QUcwMV9QSDZBUTcxX1BINkFRSTEiKSwNCj4+IMKgwqDCoMKgwqDCoMKgwqDC oCB9LA0KPj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9kZXNjcmlwdG9y LA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVyZXNldF8xX2Rl c2NyaXB0b3IsDQo+PiDCoMKgwqDCoMKgIH0sDQo+PiDCoMKgwqDCoMKgIHsNCj4+IMKgwqDCoMKg wqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIEluZmluaXR5Qm9vayBQcm8gMTQvMTYgR2VuOCAN Cj4+IEludGVsL0NvbW1vZG9yZSBPbW5pYS1Cb29rIFBybyBHZW4gOCIsDQo+PiBAQCAtMTYzOCw3 ICsxNzQ4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4gdW5pd2ls bF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiUEg0UEczMSIp LA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+PiAtwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9k YXRhID0gJmVtcHR5X2Rlc2NyaXB0b3IsDQo+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRh ID0gJnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+IMKgwqDCoMKgwqAgfSwNCj4+IMKg wqDCoMKgwqAgew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gSW5maW5p dHlCb29rIFBybyAxNiBHZW44IEludGVsIiwNCj4+IEBAIC0xNjQ2LDcgKzE3NTYsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9f aW5pdGNvbnN0ID0gew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERN SV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBE TUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05BTUUsICJQSDZQRzAxX1BINlBHNzEiKSwNCj4+IMKg wqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZl bXB0eV9kZXNjcmlwdG9yLA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhf ZmVhdHVyZXNldF8xX2Rlc2NyaXB0b3IsDQo+PiDCoMKgwqDCoMKgIH0sDQo+PiDCoMKgwqDCoMKg IHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIEluZmluaXR5Qm9vayBQ cm8gMTQvMTUgR2VuOSBBTUQiLA0KPj4gQEAgLTE4MTQsNyArMTkyNCw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29u c3QgPSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19W RU5ET1IsICJUVVhFRE8iKSwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFD VF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNeE1HeHgiKSwNCj4+IMKgwqDCoMKgwqDCoMKgwqDC oCB9LA0KPj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9kZXNjcmlwdG9y LA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVyZXNldF8xX2Rl c2NyaXB0b3IsDQo+PiDCoMKgwqDCoMKgIH0sDQo+PiDCoMKgwqDCoMKgIHsNCj4+IMKgwqDCoMKg wqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFBvbGFyaXMgMTUvMTcgR2VuMiBJbnRlbCIsDQo+ PiBAQCAtMTgyMiw3ICsxOTMyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lk IA0KPj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1F LCAiR014Tkd4eCIpLA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+PiAtwqDCoMKgwqDCoMKg wqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5X2Rlc2NyaXB0b3IsDQo+PiArwqDCoMKgwqDCoMKgwqAg LmRyaXZlcl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+IMKgwqDCoMKg wqAgfSwNCj4+IMKgwqDCoMKgwqAgew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJU VVhFRE8gU3RlbGxhcmlzL1BvbGFyaXMgMTUvMTcgR2VuMyBBTUQiLA0KPj4gQEAgLTE4MzAsNyAr MTk0MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+IHVuaXdpbGxf ZG1pX3RhYmxlW10gX19pbml0Y29uc3QgPSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNeFpHeHgiKSwN Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0 YSA9ICZlbXB0eV9kZXNjcmlwdG9yLA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9 ICZ0dXhfZmVhdHVyZXNldF8xX2Rlc2NyaXB0b3IsDQo+PiDCoMKgwqDCoMKgIH0sDQo+PiDCoMKg wqDCoMKgIHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0ZWxsYXJp cy9Qb2xhcmlzIDE1LzE3IEdlbjMgSW50ZWwiLA0KPj4gQEAgLTE4MzgsNyArMTk0OCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+IHVuaXdpbGxfZG1pX3RhYmxlW10g X19pbml0Y29uc3QgPSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0go RE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNeFRHeHgiKSwNCj4+IMKgwqDCoMKg wqDCoMKgwqDCoCB9LA0KPj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9k ZXNjcmlwdG9yLA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVy ZXNldF8xX2Rlc2NyaXB0b3IsDQo+PiDCoMKgwqDCoMKgIH0sDQo+PiDCoMKgwqDCoMKgIHsNCj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0ZWxsYXJpcy9Qb2xhcmlzIDE1 LzE3IEdlbjQgQU1EIiwNCj4+IEBAIC0xODQ2LDcgKzE5NTYsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRtaV9zeXN0ZW1faWQgDQo+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0g ew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9S LCAiVFVYRURPIiksDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFU Q0goRE1JX0JPQVJEX05BTUUsICJHTXhSR3h4IiksDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwN Cj4+IC3CoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmZW1wdHlfZGVzY3JpcHRvciwNCj4+ ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmdHV4X2ZlYXR1cmVzZXRfMV9kZXNjcmlw dG9yLA0KPj4gwqDCoMKgwqDCoCB9LA0KPj4gwqDCoMKgwqDCoCB7DQo+PiDCoMKgwqDCoMKgwqDC oMKgwqAgLmlkZW50ID0gIlRVWEVETyBTdGVsbGFyaXMgMTUgR2VuNCBJbnRlbCIsDQo+PiBAQCAt MTg1NCw3ICsxOTY0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4g dW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiR014 QUd4eCIpLA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+PiAtwqDCoMKgwqDCoMKgwqAgLmRy aXZlcl9kYXRhID0gJmVtcHR5X2Rlc2NyaXB0b3IsDQo+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZl cl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+IMKgwqDCoMKgwqAgfSwN Cj4+IMKgwqDCoMKgwqAgew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8g UG9sYXJpcyAxNS8xNyBHZW41IEFNRCIsDQo+PiBAQCAtMTg2Miw3ICsxOTcyLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2lu aXRjb25zdCA9IHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlf U1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1J X0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiR014WEd4eCIpLA0KPj4gwqDCoMKgwqDCoMKg wqDCoMKgIH0sDQo+PiAtwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5X2Rlc2Ny aXB0b3IsDQo+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0 XzFfZGVzY3JpcHRvciwNCj4+IMKgwqDCoMKgwqAgfSwNCj4+IMKgwqDCoMKgwqAgew0KPj4gwqDC oMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gU3RlbGxhcmlzIDE2IEdlbjUgQU1EIiwN Cj4+IEBAIC0xODcwLDcgKzE5ODAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1f aWQgDQo+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05B TUUsICJHTTZYR3hYIiksDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+IC3CoMKgwqDCoMKg wqDCoCAuZHJpdmVyX2RhdGEgPSAmZW1wdHlfZGVzY3JpcHRvciwNCj4+ICvCoMKgwqDCoMKgwqDC oCAuZHJpdmVyX2RhdGEgPSAmdHV4X2ZlYXR1cmVzZXRfMV9kZXNjcmlwdG9yLA0KPj4gwqDCoMKg wqDCoCB9LA0KPj4gwqDCoMKgwqDCoCB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0g IlRVWEVETyBTdGVsbGFyaXMgMTYvMTcgR2VuNSBJbnRlbC9Db21tb2RvcmUgT1JJT04gDQo+PiBH ZW4gNSIsDQo+PiBAQCAtMTg3OCw3ICsxOTg4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlf c3lzdGVtX2lkIA0KPj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVE TyIpLA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9C T0FSRF9OQU1FLCAiR014UFh4eCIpLA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+PiAtwqDC oMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5X2Rlc2NyaXB0b3IsDQo+PiArwqDCoMKg wqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+ IMKgwqDCoMKgwqAgfSwNCj4+IMKgwqDCoMKgwqAgew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5p ZGVudCA9ICJUVVhFRE8gU3RlbGxhcmlzIFNsaW0gMTUgR2VuNiBBTUQiLA0KPj4gQEAgLTE4ODYs NyArMTk5Niw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+IHVuaXdp bGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3QgPSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNeEhHeHgi KSwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJf ZGF0YSA9ICZlbXB0eV9kZXNjcmlwdG9yLA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0 YSA9ICZ0dXhfZmVhdHVyZXNldF8xX2Rlc2NyaXB0b3IsDQo+PiDCoMKgwqDCoMKgIH0sDQo+PiDC oMKgwqDCoMKgIHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0ZWxs YXJpcyBTbGltIDE1IEdlbjYgSW50ZWwvQ29tbW9kb3JlIA0KPj4gT1JJT04gU2xpbSAxNSBHZW42 IiwNCj4+IEBAIC0xODk0LDcgKzIwMDQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0 ZW1faWQgDQo+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiks DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJE X05BTUUsICJHTTVJWHhBIiksDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+IC3CoMKgwqDC oMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAmZW1wdHlfZGVzY3JpcHRvciwNCj4+ICvCoMKgwqDCoMKg wqDCoCAuZHJpdmVyX2RhdGEgPSAmdHV4X2ZlYXR1cmVzZXRfMV9kZXNjcmlwdG9yLA0KPj4gwqDC oMKgwqDCoCB9LA0KPj4gwqDCoMKgwqDCoCB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50 ID0gIlRVWEVETyBTdGVsbGFyaXMgMTYgR2VuNiBJbnRlbC9Db21tb2RvcmUgT1JJT04gMTYgDQo+ PiBHZW42IiwNCj4+IEBAIC0xOTAyLDcgKzIwMTIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRt aV9zeXN0ZW1faWQgDQo+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVY RURPIiksDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1J X0JPQVJEX05BTUUsICJHTTZJWHhCX01CMSIpLA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+ PiAtwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJmVtcHR5X2Rlc2NyaXB0b3IsDQo+PiAr wqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gJnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRv ciwNCj4+IMKgwqDCoMKgwqAgfSwNCj4+IMKgwqDCoMKgwqAgew0KPj4gwqDCoMKgwqDCoMKgwqDC oMKgIC5pZGVudCA9ICJUVVhFRE8gU3RlbGxhcmlzIDE2IEdlbjYgSW50ZWwvQ29tbW9kb3JlIE9S SU9OIDE2IA0KPj4gR2VuNiIsDQo+PiBAQCAtMTkxMCw3ICsyMDIwLDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25z dCA9IHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZF TkRPUiwgIlRVWEVETyIpLA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNU X01BVENIKERNSV9CT0FSRF9OQU1FLCAiR002SVh4Ql9NQjIiKSwNCj4+IMKgwqDCoMKgwqDCoMKg wqDCoCB9LA0KPj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9kZXNjcmlw dG9yLA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVyZXNldF8x X2Rlc2NyaXB0b3IsDQo+PiDCoMKgwqDCoMKgIH0sDQo+PiDCoMKgwqDCoMKgIHsNCj4+IMKgwqDC oMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0ZWxsYXJpcyAxNyBHZW42IEludGVsL0Nv bW1vZG9yZSBPUklPTiAxNyANCj4+IEdlbjYiLA0KPj4gQEAgLTE5MTgsNyArMjAyOCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+IHVuaXdpbGxfZG1pX3RhYmxlW10g X19pbml0Y29uc3QgPSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0go RE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNN0lYeE4iKSwNCj4+IMKgwqDCoMKg wqDCoMKgwqDCoCB9LA0KPj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9k ZXNjcmlwdG9yLA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVy ZXNldF8xX2Rlc2NyaXB0b3IsDQo+PiDCoMKgwqDCoMKgIH0sDQo+PiDCoMKgwqDCoMKgIHsNCj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0ZWxsYXJpcyAxNiBHZW43IEFN RCIsDQo+PiBAQCAtMTkyNiw3ICsyMDM2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lz dGVtX2lkIA0KPj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIp LA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FS RF9OQU1FLCAiWDZGUjV4eFkiKSwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4gLcKgwqDC oMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9kZXNjcmlwdG9yLA0KPj4gK8KgwqDCoMKg wqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVyZXNldF8xX2Rlc2NyaXB0b3IsDQo+PiDC oMKgwqDCoMKgIH0sDQo+PiDCoMKgwqDCoMKgIHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRl bnQgPSAiVFVYRURPIFN0ZWxsYXJpcyAxNiBHZW43IEludGVsIiwNCj4+IEBAIC0xOTM0LDcgKzIw NDQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+PiB1bml3aWxsX2Rt aV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg RE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05BTUUsICJYNkFSNXh4WSIpLA0K Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+PiAtwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRh ID0gJmVtcHR5X2Rlc2NyaXB0b3IsDQo+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0g JnR1eF9mZWF0dXJlc2V0XzFfZGVzY3JpcHRvciwNCj4+IMKgwqDCoMKgwqAgfSwNCj4+IMKgwqDC oMKgwqAgew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gU3RlbGxhcmlz IDE2IEdlbjcgSW50ZWwiLA0KPj4gQEAgLTE5NDIsNyArMjA1Miw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3Qg PSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19WRU5E T1IsICJUVVhFRE8iKSwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9N QVRDSChETUlfQk9BUkRfTkFNRSwgIlg2QVI1eHhZX21MRUQiKSwNCj4+IMKgwqDCoMKgwqDCoMKg wqDCoCB9LA0KPj4gLcKgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZlbXB0eV9kZXNjcmlw dG9yLA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICZ0dXhfZmVhdHVyZXNldF8x X2Rlc2NyaXB0b3IsDQo+PiDCoMKgwqDCoMKgIH0sDQo+PiDCoMKgwqDCoMKgIHsNCj4+IMKgwqDC oMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFB1bHNlIDE0IEdlbjEgQU1EIiwNCj4NCg==