From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id B1EE31FF185
	for <inbox@lore.proxmox.com>; Mon, 23 Jun 2025 11:25:00 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id EC4E0C714;
	Mon, 23 Jun 2025 11:25:31 +0200 (CEST)
Message-ID: <e424c6b8-0ed6-48d9-bc45-d4788aa72adb@proxmox.com>
Date: Mon, 23 Jun 2025 11:25:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: =?UTF-8?Q?Michael_K=C3=B6ppl?= <m.koeppl@proxmox.com>,
 Proxmox VE development discussion <pve-devel@lists.proxmox.com>
References: <20250429113646.25738-1-f.weber@proxmox.com>
 <20250429113646.25738-7-f.weber@proxmox.com>
 <bdfa472c-32e1-4ca0-8380-60154b30f646@proxmox.com>
Content-Language: en-US
From: Friedrich Weber <f.weber@proxmox.com>
In-Reply-To: <bdfa472c-32e1-4ca0-8380-60154b30f646@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.008 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: Re: [pve-devel] [PATCH pve-manager stable-8 v3 3/3] pve8to9: detect
 and (if requested) disable LVM autoactivation
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

T24gMTAvMDYvMjAyNSAxNjoyNSwgTWljaGFlbCBLw7ZwcGwgd3JvdGU6Cj4gTGVmdCAyIGNvbW1l
bnRzIGlubGluZS4gVGhlIGNoYW5nZXMgb3ZlcmFsbCBsb29rIGdvb2QgdG8gbWUgYW5kIHdvcmtl
ZAo+IGR1cmluZyBteSB0ZXN0cy4KPiAKPiBPbiA0LzI5LzI1IDEzOjM2LCBGcmllZHJpY2ggV2Vi
ZXIgd3JvdGU6Cj4+IFN0YXJ0aW5nIHdpdGggUFZFIDksIHRoZSBMVk0gYW5kIExWTS10aGluIHBs
dWdpbnMgY3JlYXRlIG5ldyBMVnMgd2l0aAo+PiB0aGUgYC0tc2V0YXV0b2FjdGl2YXRpb24gbmAg
ZmxhZyB0byBmaXggIzQ5OTcgWzFdLiBIb3dldmVyLCB0aGlzIGRvZXMKPj4gbm90IGFmZmVjdCBh
bHJlYWR5IGV4aXN0aW5nIExWcyBvZiBzZXR1cHMgdXBncmFkaW5nIGZyb20gUFZFIDguCj4+Cj4+
IEhlbmNlLCBhZGQgYSBuZXcgYHVwZGF0ZWx2bWAgc3ViY29tbWFuZCB0byBgcHZlOHRvOWAgdGhh
dCBmaW5kcyBndWVzdAo+PiB2b2x1bWUgTFZzIHdpdGggYXV0b2FjdGl2YXRpb24gZW5hYmxlZCBv
biBMVk0gYW5kIExWTS10aGluIHN0b3JhZ2VzLAo+PiBhbmQgZGlzYWJsZXMgYXV0b2FjdGl2YXRp
b24gb24gZWFjaCBvZiB0aGVtLiBUaGlzIGlzIGRvbmUgd2hpbGUKPj4gaG9sZGluZyBhIGxvY2sg
b24gdGhlIHN0b3JhZ2UsIHRvIGF2b2lkIG1ldGFkYXRhIHVwZGF0ZSBjb25mbGljdHMgZm9yCj4+
IHNoYXJlZCBMVk0gc3RvcmFnZXMuCj4+Cj4+IEFsc28sIGNoZWNrIGZvciBndWVzdCB2b2x1bWUg
TFZzIHdpdGggYXV0b2FjdGl2YXRpb24gZW5hYmxlZCBkdXJpbmcKPj4gdGhlIGBjaGVja2xpc3Rg
IGNvbW1hbmQsIGFuZCBzdWdnZXN0IHRvIHJ1biBgdXBkYXRlbHZtYCBpZiBuZWNlc3NhcnkuCj4+
IFRoZSBjaGVjayBpcyBkb25lIHdpdGhvdXQgYSBsb2NrLCBhcyB0YWtpbmcgYSBsb2NrIGRvZXNu
J3QgaGF2ZQo+PiBhZHZhbnRhZ2VzIGhlcmUuCj4+Cj4+IFdoaWxlIHNvbWUgdXNlcnMgbWF5IGhh
dmUgZGlzYWJsZWQgYXV0b2FjdGl2YXRpb24gb24gdGhlIFZHIGxldmVsIHRvCj4+IHdvcmsgYXJv
dW5kICM0OTk3LCBjb25zY2lvdXNseSBkbyBub3QgdGFrZSB0aGlzIGludG8gYWNjb3VudDoKPj4g
RGlzYWJsaW5nIGF1dG9hY3RpdmF0aW9uIG9uIExWcyB0b28gZG9lcyBub3QgaHVydCwgYW5kIGF2
b2lkcyBpc3N1ZXMKPj4gaW4gY2FzZSB0aGUgdXNlciBkZWNpZGVzIHRvIHJlLWVuYWJsZSBhdXRv
YWN0aXZhdGlvbiBvbiB0aGUgVkcgbGV2ZWwKPj4gaW4gdGhlIGZ1dHVyZS4KPj4KPj4gWzFdIGh0
dHBzOi8vYnVnemlsbGEucHJveG1veC5jb20vc2hvd19idWcuY2dpP2lkPTQ5OTcKPj4KPj4gU2ln
bmVkLW9mZi1ieTogRnJpZWRyaWNoIFdlYmVyIDxmLndlYmVyQHByb3htb3guY29tPgo+PiAtLS0K
Pj4KPj4gTm90ZXM6Cj4+ICAgICBvcGVuIHF1ZXN0aW9uczoKPj4gICAgIAo+PiAgICAgLSBpZiB1
c2VycyBjcmVhdGUgbmV3IExWcyBvbiBQVkUgOCBub2RlcyBhZnRlciBydW5uaW5nIGBwdmU4dG85
Cj4+ICAgICAgIHVwZGF0ZWx2bWAgYnV0IGJlZm9yZSBhY3R1YWxseSB1cGdyYWRpbmcgdG8gUFZF
IDksIHRoZXNlIHdpbGwgc3RpbGwKPj4gICAgICAgYmUgY3JlYXRlZCB3aXRoIGF1dG9hY3RpdmF0
aW9uIGVuYWJsZWQuIElzIHRoaXMgYSBjYXNlIHdlIHdhbnQgdG8KPj4gICAgICAgY29uc2lkZXI/
IElmIHllcywgd2UgY291bGQgc3VnZ2VzdCBydW5uaW5nIGBwdmU4dG8gdXBkYXRlbHZtYCAob25s
eSkKPj4gICAgICAgcG9zdC11cGdyYWRlIG9uIGFsbCBub2RlcywgYnV0IHVzZXJzIG1heSBmb3Jn
ZXQgdGhpcy4uLgo+IAo+IFBvbmRlcmVkIGEgYml0IG9uIHRoaXMsIGJ1dCBJJ20gbm90IHN1cmUg
aWYgaXQgcmVhbGx5IG1ha2VzIHNlbnNlIHRvCj4gY29uc2lkZXIgdGhpcyBjYXNlLiBJdCBzaG91
bGQgYmUgY2xlYXIgdGhhdCBpZiBJIGNyZWF0ZSBMVnMgYWZ0ZXIKPiBydW5uaW5nIGB1cGRhdGVs
dm1gLCB0aGUgbmV3IExWcyB3aWxsIHN0aWxsIGJlaGF2ZSBsaWtlIHRoZXkgYWx3YXlzIGhhdmUK
PiBvbiBQVkUgOC4gSSB0aGluayBzb21lb25lIGZvcmdldHRpbmcgdG8gcnVuIGB1cGRhdGVsdm1g
IHBvc3QtdXBncmFkZSBpcwo+IGZhciBtb3JlIGxpa2VseSB0aGFuIHNvbWVvbmUgcnVubmluZyB0
aGUgY2hlY2tsaXN0IGZvciBQVkUgOSwgY29udGludWluZwo+IHRvIGNyZWF0ZSBuZXcgTFZzLCBh
bmQgb25seSB0aGVuIHVwZ3JhZGUgdG8gUFZFIDkuCgpBZ3JlZS4gSWYgd2Ugc3VnZ2VzdCB0byBy
dW4gYHVwZGF0ZWx2bWAgKm9ubHkqIHBvc3QtdXBncmFkZSwgdXNlcnMgbWF5CmZvcmdldCB0byBy
dW4gaXQgYXQgYWxsLCBzbyBzdWdnZXN0aW5nIHRvIHJ1biBpdCBwcmUtdXBncmFkZSBzZWVtcwpz
YWZlci4gSWYgdXNlcnMgZG8gY3JlYXRlIGFuIExWIHBvc3QtYHVwZGF0ZWx2bWAgYnV0IHByZS11
cGdyYWRlIHRvIDksCnRoZSBmYWxsb3V0ICh0cmlnZ2VyaW5nICM0OTk3KSBpcyBsaW1pdGVkIHRv
IHRoaXMgcGFydGljdWxhciBMViwgYW5kIGNhbgpiZSBmaXhlZCByZWxhdGl2ZWx5IGVhc2lseSB3
aGVuIHRoZXkgc2VlICM0OTk3IG9jY3VyIGFnYWluLgoKPj4gICAgIC0gYHVwZGF0ZWx2bWAgd2ls
bCBkaXNhYmxlIGF1dG9hY3RpdmF0aW9uIG9uIGFsbCBndWVzdCB2b2x1bWVzLAo+PiAgICAgICBy
ZWdhcmRsZXNzIG9mIHRoZSBndWVzdCBvd25lci4gSW4gb3RoZXIgd29yZHMsIGl0IHdpbGwgZGlz
YWJsZQo+PiAgICAgICBhdXRvYWN0aXZhdGlvbiBvbiBMVnMgb3duZWQgYnkgYSBkaWZmZXJlbnQg
bm9kZS4gSXMgdGhpcyBhIHByb2JsZW0/Cj4+ICAgICAgIE15IHRlc3RzIHN1Z2dlc3RzIGl0J3Mg
dW5wcm9ibGVtYXRpYywgYnV0IG1heSBiZSB3b3J0aCBhIHNlY29uZAo+PiAgICAgICBsb29rLiBX
ZSBjYW4gY2hhbmdlIGB1cGRhdGVsdm1gIHRvIG9ubHkgdXBkYXRlIExWcyBvd25lZCBieSB0aGUK
Pj4gICAgICAgbG9jYWwgbm9kZSwgYnV0IHRoZW4gbWlnaHQgbWlzcyBMVnMgdGhhdCBhcmUgbWln
cmF0ZWQgYmV0d2Vlbgo+PiAgICAgICBgdXBkYXRlbHZtYCBydW5zIG9uIGRpZmZlcmVudCBub2Rl
cy4KPj4gICAgIAo+PiAgICAgbmV3IGluIHYzCj4+Cj4+ICBQVkUvQ0xJL3B2ZTh0bzkucG0gfCAx
NTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4+ICAxIGZp
bGUgY2hhbmdlZCwgMTUxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPj4KPj4gZGlmZiAt
LWdpdCBhL1BWRS9DTEkvcHZlOHRvOS5wbSBiL1BWRS9DTEkvcHZlOHRvOS5wbQo+PiBpbmRleCBm
YmI5NjQ5MS4uOTcyYzkxZWEgMTAwNjQ0Cj4+IC0tLSBhL1BWRS9DTEkvcHZlOHRvOS5wbQo+PiAr
KysgYi9QVkUvQ0xJL3B2ZTh0bzkucG0KPj4gQEAgLTIyLDcgKzIyLDcgQEAgdXNlIFBWRTo6Tm9k
ZUNvbmZpZzsKPj4gIHVzZSBQVkU6OlJQQ0Vudmlyb25tZW50Owo+PiAgdXNlIFBWRTo6U3RvcmFn
ZTsKPj4gIHVzZSBQVkU6OlN0b3JhZ2U6OlBsdWdpbjsKPj4gLXVzZSBQVkU6OlRvb2xzIHF3KHJ1
bl9jb21tYW5kIHNwbGl0X2xpc3QgZmlsZV9nZXRfY29udGVudHMpOwo+PiArdXNlIFBWRTo6VG9v
bHMgcXcocnVuX2NvbW1hbmQgc3BsaXRfbGlzdCBmaWxlX2dldF9jb250ZW50cyB0cmltKTsKPj4g
IHVzZSBQVkU6OlFlbXVDb25maWc7Cj4+ICB1c2UgUFZFOjpRZW11U2VydmVyOwo+PiAgdXNlIFBW
RTo6VlpEdW1wOjpDb21tb247Cj4+IEBAIC0xMzcyLDYgKzEzNzIsOTUgQEAgc3ViIGNoZWNrX2Rr
bXNfbW9kdWxlcyB7Cj4+ICAgICAgfQo+PiAgfQo+PiAgCj4+ICtteSAkcXVlcnlfbHZtX2x2X2F1
dG9hY3RpdmF0aW9uID0gc3ViIHsKPj4gKyAgICBteSAoJHZnX25hbWUpID0gQF87Cj4+ICsKPj4g
KyAgICBteSAkY21kID0gWwo+PiArCScvc2Jpbi9sdnMnLAo+PiArCSctLXNlcGFyYXRvcicsICc6
JywKPj4gKwknLS1ub2hlYWRpbmdzJywKPj4gKwknLS11bmJ1ZmZlcmVkJywKPj4gKwknLS1vcHRp
b25zJywgImx2X25hbWUsYXV0b2FjdGl2YXRpb24iLAo+PiArCSR2Z19uYW1lLAo+PiArICAgIF07
Cj4+ICsKPj4gKyAgICBteSAkcmVzdWx0Owo+PiArICAgIGV2YWwgewo+PiArCXJ1bl9jb21tYW5k
KCRjbWQsIG91dGZ1bmMgPT4gc3ViIHsKPj4gKwkgICAgbXkgJGxpbmUgPSBzaGlmdDsKPj4gKwkg
ICAgJGxpbmUgPSB0cmltKCRsaW5lKTsKPj4gKwo+PiArCSAgICBteSAoJG5hbWUsICRhdXRvYWN0
aXZhdGlvbl9mbGFnKSA9IHNwbGl0KCc6JywgJGxpbmUpOwo+PiArCSAgICByZXR1cm4gaWYgISRu
YW1lOwo+PiArCj4+ICsJICAgICRyZXN1bHQtPnskbmFtZX0gPSAkYXV0b2FjdGl2YXRpb25fZmxh
ZyBlcSAnZW5hYmxlZCc7Cj4+ICsJfSk7Cj4+ICsgICAgfTsKPj4gKyAgICBkaWUgImNvdWxkIG5v
dCBsaXN0IExWTSBsb2dpY2FsIHZvbHVtZXM6ICRAXG4iIGlmICRAOwo+PiArICAgIHJldHVybiAk
cmVzdWx0Owo+PiArfTsKPj4gKwo+PiArbXkgJGZvcmVhY2hfbHZtX3ZnX3dpdGhfYXV0b2FjdGl2
YXRlZF9ndWVzdF92b2x1bWVzID0gc3ViIHsKPj4gKyAgICBteSAoJHdpdGhfbG9jaywgJGNvZGUp
ID0gQF87Cj4+ICsKPj4gKyAgICBteSAkY2ZnID0gUFZFOjpTdG9yYWdlOjpjb25maWcoKTsKPj4g
KyAgICBteSAkc3RvcmFnZV9pbmZvID0gUFZFOjpTdG9yYWdlOjpzdG9yYWdlX2luZm8oJGNmZyk7
Cj4+ICsKPj4gKyAgICBmb3IgbXkgJHN0b3JlaWQgKHNvcnQga2V5cyAlJHN0b3JhZ2VfaW5mbykg
ewo+PiArCW15ICRzY2ZnID0gUFZFOjpTdG9yYWdlOjpzdG9yYWdlX2NvbmZpZygkY2ZnLCAkc3Rv
cmVpZCk7Cj4+ICsJbXkgJHZnbmFtZSA9ICRzY2ZnLT57dmduYW1lfTsKPj4gKwlteSAkdHlwZSA9
ICRzY2ZnLT57dHlwZX07Cj4+ICsJbmV4dCBpZiAkdHlwZSBuZSAnbHZtJyAmJiAkdHlwZSBuZSAn
bHZtdGhpbic7Cj4+ICsKPj4gKwlteSAkaW5mbyA9ICRzdG9yYWdlX2luZm8tPnskc3RvcmVpZH07
Cj4+ICsJaWYgKCEkaW5mby0+e2VuYWJsZWR9IHx8ICEkaW5mby0+e2FjdGl2ZX0pIHsKPj4gKwkg
ICAgbG9nX3NraXAoInN0b3JhZ2UgJyRzdG9yZWlkJyAoJHR5cGUpIGlzIGRpc2FibGVkIG9yIGlu
YWN0aXZlIik7Cj4+ICsJICAgIG5leHQ7Cj4+ICsJfQo+PiArCj4+ICsJbXkgJGZpbmRfYXV0b2Fj
dGl2YXRlZF9sdnMgPSBzdWIgewo+PiArCSAgICBteSAkbHZzX2F1dG9hY3RpdmF0aW9uID0gJHF1
ZXJ5X2x2bV9sdl9hdXRvYWN0aXZhdGlvbi0+KCR2Z25hbWUpOwo+PiArCSAgICBteSAkdm9sbGlz
dCA9IFBWRTo6U3RvcmFnZTo6dm9sdW1lX2xpc3QoJGNmZywgJHN0b3JlaWQpOwo+PiArCj4+ICsJ
ICAgIG15ICRhdXRvYWN0aXZhdGVkX2d1ZXN0X2x2cyA9IFtdOwo+PiArCSAgICBmb3IgbXkgJHZv
bGluZm8gKEAkdm9sbGlzdCkgewo+PiArCQlteSAkdm9sbmFtZSA9IChQVkU6OlN0b3JhZ2U6OnBh
cnNlX3ZvbHVtZV9pZCgkdm9saW5mby0+e3ZvbGlkfSkpWzFdOwo+PiArCQlwdXNoIEAkYXV0b2Fj
dGl2YXRlZF9ndWVzdF9sdnMsICR2b2xuYW1lIGlmICRsdnNfYXV0b2FjdGl2YXRpb24tPnskdm9s
bmFtZX07Cj4+ICsJICAgIH0KPj4gKwo+PiArCSAgICAkY29kZS0+KCRzdG9yZWlkLCAkdmduYW1l
LCAkYXV0b2FjdGl2YXRlZF9ndWVzdF9sdnMpOwo+PiArCX07Cj4+ICsKPj4gKwlpZiAoJHdpdGhf
bG9jaykgewo+PiArCSAgICBteSAkcGx1Z2luID0gUFZFOjpTdG9yYWdlOjpQbHVnaW4tPmxvb2t1
cCgkc2NmZy0+e3R5cGV9KTsKPj4gKwkgICAgJHBsdWdpbi0+Y2x1c3Rlcl9sb2NrX3N0b3JhZ2Uo
JHN0b3JlaWQsICRzY2ZnLT57c2hhcmVkfSwgdW5kZWYsCj4+ICsJCSRmaW5kX2F1dG9hY3RpdmF0
ZWRfbHZzKTsKPj4gKwl9IGVsc2Ugewo+PiArCSAgICAkZmluZF9hdXRvYWN0aXZhdGVkX2x2cy0+
KCk7Cj4+ICsJfQo+PiArICAgIH07Cj4+ICt9Owo+PiArCj4+ICtzdWIgY2hlY2tfbHZtX2F1dG9h
Y3RpdmF0aW9uIHsKPj4gKyAgICBsb2dfaW5mbygiQ2hlY2sgZm9yIExWTSBhdXRvYWN0aXZhdGlv
biBzZXR0aW5ncyBvbiAnbHZtJyBhbmQgJ2x2bXRoaW4nIHN0b3JhZ2VzLi4uIik7Cj4+ICsKPj4g
KyAgICBteSAkbmVlZHNfZml4ID0gMDsKPj4gKyAgICAkZm9yZWFjaF9sdm1fdmdfd2l0aF9hdXRv
YWN0aXZhdGVkX2d1ZXN0X3ZvbHVtZXMtPigwLCBzdWIgewo+PiArCW15ICgkc3RvcmVpZCwgJHZn
bmFtZSwgJGF1dG9hY3RpdmF0ZWRfbHZzKSA9IEBfOwo+PiArCj4+ICsJaWYgKHNjYWxhcihAJGF1
dG9hY3RpdmF0ZWRfbHZzKSA+IDApIHsKPj4gKwkgICAgbG9nX3dhcm4oInN0b3JhZ2UgJyRzdG9y
ZWlkJyBoYXMgZ3Vlc3Qgdm9sdW1lcyB3aXRoIGF1dG9hY3RpdmF0aW9uIGVuYWJsZWQiKTsKPj4g
KwkgICAgJG5lZWRzX2ZpeCA9IDE7Cj4+ICsJfSBlbHNlIHsKPj4gKwkgICAgbG9nX3Bhc3MoImFs
bCBndWVzdCB2b2x1bWVzIG9uIHN0b3JhZ2UgJyRzdG9yZWlkJyBoYXZlIGF1dG9hY3RpdmF0aW9u
IGRpc2FibGVkIik7Cj4+ICsJfQo+PiArICAgIH0pOwo+PiArICAgIGxvZ193YXJuKCJwbGVhc2Ug
cnVuICdwdmU4dG85IHVwZGF0ZWx2bScgdG8gZGlzYWJsZSBhdXRvYWN0aXZhdGlvbiBvbiBMVk0g
Z3Vlc3Qgdm9sdW1lcyIpCj4gCj4gSSB0aGluayBmb3IgdXNlcnMgaXQgd291bGQgaGVscCBpZiBz
b21lIGFkZGl0aW9uYWwgaW5mbyB3YXMgYWRkZWQgdG8KPiB0aGlzIG1lc3NhZ2UuIERpc2FibGlu
ZyBhdXRvYWN0aXZhdGlvbiBzb3VuZHMgbGlrZSBpdCBtaWdodCBhZmZlY3QgaG93Cj4gTFZzIHdv
cmsgKGRvIEkgbmVlZCB0byBkbyBzb21ldGhpbmcgaWYgdGhleSdyZSBub3QgYXV0b2FjdGl2YXRl
ZD8sIGV0Yy4pCj4gaWYgeW91J3JlIG5vdCBmYW1pbGlhciB3aXRoIHRoZSBpbm5lciB3b3JraW5n
cy4gTWF5YmUgdGhpcyBjb3VsZCBhbHNvCj4gbWVudGlvbiB0aGF0IHRoZSBzdG9yYWdlIHN0YWNr
IHdpbGwgdGFrZSBjYXJlIG9mIGFjdGl2YXRpbmcvZGVhY3RpdmF0aW5nCj4gd2hlbiBuZWVkZWQ/
IEp1c3QgYSBzdWdnZXN0aW9uIHNpbmNlIEkgbm90aWNlZCBpdCBkdXJpbmcgbXkgdGVzdGluZy4K
Ck1ha2VzIHNlbnNlIC0tIGl0J3Mgbm90IHJlYWxseSBvYnZpb3VzIHRvIHVzZXJzIHRoYXQgZGlz
YWJsZWQKYXV0b2FjdGl2YXRpb24gaXMgdGhlIGRlc2lyZWQgc3RhdGUuCgpJIGd1ZXNzIHRoZSBg
cHZlOHRvOWAgb3V0cHV0IHNob3VsZG4ndCBiZSBjbHV0dGVyZWQgd2l0aCB0b28gbXVjaApkZXRh
aWwsIGJ1dCBtYXliZSBzb21ldGhpbmcgbGlrZSB0aGlzIGNvdWxkIHdvcms6Cgo+IFBWRSA5IHdp
bGwgZGlzYWJsZSBhdXRvYWN0aXZhdGlvbiBmb3IgYWxsIG5ld2x5IGNyZWF0ZWQgTFZNIGd1ZXN0
Cj4gdm9sdW1lcy4gUGxlYXNlIHJ1biAncHZlOHRvOSB1cGRhdGVsdm0nIHRvIGRpc2FibGUgYXV0
b2FjdGl2YXRpb24gZm9yCj4gZXhpc3RpbmcgTFZNIGd1ZXN0IHZvbHVtZXMKCkluIGFkZGl0aW9u
IHdlIGNhbiBwcm92aWRlIG1vcmUgZGV0YWlscyBpbiB0aGUgdXBncmFkZSBndWlkZS4KCj4gCj4+
ICsJaWYgJG5lZWRzX2ZpeDsKPj4gKwo+PiArICAgIHJldHVybiB1bmRlZjsKPj4gK30KPj4gKwo+
PiAgc3ViIGNoZWNrX21pc2Mgewo+PiAgICAgIHByaW50X2hlYWRlcigiTUlTQ0VMTEFORU9VUyBD
SEVDS1MiKTsKPj4gICAgICBteSAkc3NoX2NvbmZpZyA9IGV2YWwgeyBQVkU6OlRvb2xzOjpmaWxl
X2dldF9jb250ZW50cygnL3Jvb3QvLnNzaC9jb25maWcnKSB9Owo+PiBAQCAtMTQ3NCw2ICsxNTYz
LDcgQEAgc3ViIGNoZWNrX21pc2Mgewo+PiAgICAgIGNoZWNrX252aWRpYV92Z3B1X3NlcnZpY2Uo
KTsKPj4gICAgICBjaGVja19ib290bG9hZGVyKCk7Cj4+ICAgICAgY2hlY2tfZGttc19tb2R1bGVz
KCk7Cj4+ICsgICAgY2hlY2tfbHZtX2F1dG9hY3RpdmF0aW9uKCk7Cj4+ICB9Cj4+ICAKPj4gIG15
IHN1YiBjb2xvcmVkX2lmIHsKPj4gQEAgLTE1MzgsOCArMTYyOCw2OCBAQCBfX1BBQ0tBR0VfXy0+
cmVnaXN0ZXJfbWV0aG9kICh7Cj4+ICAJcmV0dXJuIHVuZGVmOwo+PiAgICAgIH19KTsKPj4gIAo+
PiArX19QQUNLQUdFX18tPnJlZ2lzdGVyX21ldGhvZCAoewo+PiArICAgIG5hbWUgPT4gJ3VwZGF0
ZWx2bScsCj4+ICsgICAgcGF0aCA9PiAndXBkYXRlbHZtJywKPj4gKyAgICBtZXRob2QgPT4gJ1BP
U1QnLAo+PiArICAgIGRlc2NyaXB0aW9uID0+ICdkaXNhYmxlIGF1dG9hY3RpdmF0aW9uIGZvciBh
bGwgTFZNIGd1ZXN0IHZvbHVtZXMnLAo+PiArICAgIHBhcmFtZXRlcnMgPT4gewo+PiArCWFkZGl0
aW9uYWxQcm9wZXJ0aWVzID0+IDAsCj4+ICsgICAgfSwKPj4gKyAgICByZXR1cm5zID0+IHsgdHlw
ZSA9PiAnbnVsbCcgfSwKPj4gKyAgICBjb2RlID0+IHN1YiB7Cj4+ICsJbXkgKCRwYXJhbSkgPSBA
XzsKPj4gKwo+PiArCW15ICRkaWRfd29yayA9IDA7Cj4+ICsJZXZhbCB7Cj4+ICsJICAgICRmb3Jl
YWNoX2x2bV92Z193aXRoX2F1dG9hY3RpdmF0ZWRfZ3Vlc3Rfdm9sdW1lcy0+KDEsIHN1YiB7Cj4+
ICsJCW15ICgkc3RvcmVpZCwgJHZnbmFtZSwgJGF1dG9hY3RpdmF0ZWRfbHZzKSA9IEBfOwo+PiAr
Cj4+ICsJCWlmIChzY2FsYXIoQCRhdXRvYWN0aXZhdGVkX2x2cykgPT0gMCkgewo+PiArCQkgICAg
bG9nX3Bhc3MoImFsbCBndWVzdCB2b2x1bWVzIG9uIHN0b3JhZ2UgJyRzdG9yZWlkJyBoYXZlIGF1
dG9hY3RpdmF0aW9uIGRpc2FibGVkIik7Cj4+ICsJCSAgICByZXR1cm47Cj4+ICsJCX0KPj4gKwo+
PiArCQlsb2dfaW5mbygiZGlzYWJsaW5nIGF1dG9hY3RpdmF0aW9uIG9uIHN0b3JhZ2UgJyRzdG9y
ZWlkJy4uLiIpOwo+PiArCQlkaWUgInVuZXhwZWN0ZWQgZW1wdHkgVkcgbmFtZSAoc3RvcmFnZSAn
JHN0b3JlaWQnKVxuIiBpZiAhJHZnbmFtZTsKPj4gKwo+PiArCQlmb3IgbXkgJGx2bmFtZSAoQCRh
dXRvYWN0aXZhdGVkX2x2cykgewo+PiArCQkgICAgbG9nX2luZm8oImRpc2FibGluZyBhdXRvYWN0
aXZhdGlvbiBmb3IgJHZnbmFtZS8kbHZuYW1lIgo+PiArCQkJLiIgb24gc3RvcmFnZSAnJHN0b3Jl
aWQnLi4uIik7Cj4+ICsJCSAgICBteSAkY21kID0gWwo+PiArCQkJJy9zYmluL2x2Y2hhbmdlJywK
Pj4gKwkJCSctLXNldGF1dG9hY3RpdmF0aW9uJywgJ24nLAo+PiArCQkJIiR2Z25hbWUvJGx2bmFt
ZSIsCj4+ICsJCSAgICBdOwo+PiArCj4+ICsJCSAgICBldmFsIHsgcnVuX2NvbW1hbmQoJGNtZCk7
IH07Cj4+ICsJCSAgICBteSAkZXJyID0gJEA7Cj4+ICsJCSAgICBkaWUgImNvdWxkIG5vdCBkaXNh
YmxlIGF1dG9hY3RpdmF0aW9uIG9uICR2Z25hbWUvJGx2bmFtZTogJGVyclxuIiBpZiAkZXJyOwo+
PiArCj4+ICsJCSAgICAkZGlkX3dvcmsgPSAxOwo+PiArCQl9Cj4+ICsJICAgIH0pOwo+PiArCX07
Cj4+ICsJbXkgJGVyciA9ICRAOwo+PiArCWlmICgkZXJyKSB7Cj4+ICsJICAgIGxvZ19mYWlsKCJj
b3VsZCBub3QgZGlzYWJsZSBhdXRvYWN0aXZhdGlvbiBvbiBlbmFibGVkIGFuZCBhY3RpdmUgTFZN
IHN0b3JhZ2VzIik7Cj4+ICsJICAgIGRpZSAkZXJyOwo+PiArCX0KPj4gKwo+PiArCWlmKCRkaWRf
d29yaykgewo+PiArCSAgICBsb2dfcGFzcygic3VjY2Vzc2Z1bGx5IGRpc2FibGVkIGF1dG9hY3Rp
dmF0aW9uIG9uIGd1ZXN0IHZvbHVtZXMgb24gYWxsIgo+PiArCQkuIiBlbmFibGVkIGFuZCBhY3Rp
dmUgTFZNIHN0b3JhZ2VzIik7Cj4+ICsJfSBlbHNlIHsKPj4gKwkgICAgbG9nX3Bhc3MoImFsbCBn
dWVzdCB2b2x1bWVzIG9uIGVuYWJsZWQgYW5kIGFjdGl2ZSBMVk0gc3RvcmFnZXMiCj4+ICsJCS4i
IGhhdmUgYXV0b2FjdGl2YXRpb24gZGlzYWJsZWQiKTsKPj4gKwl9Owo+PiArCj4+ICsJcmV0dXJu
IHVuZGVmOwo+PiArICAgIH19KTsKPj4gKwo+PiAgb3VyICRjbWRkZWYgPSB7Cj4+ICAgICAgY2hl
Y2tsaXN0ID0+IFsgX19QQUNLQUdFX18sICdjaGVja2xpc3QnLCBbXV0sCj4+ICsgICAgdXBkYXRl
bHZtID0+IFsgX19QQUNLQUdFX18sICd1cGRhdGVsdm0nLCBbXV0sCj4+ICB9Owo+PiAgCj4+ICAx
Owo+IAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpw
dmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczov
L2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK