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 6E7851FF16B
	for <inbox@lore.proxmox.com>; Thu,  3 Apr 2025 16:06:00 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id A7ED7388D;
	Thu,  3 Apr 2025 16:05:48 +0200 (CEST)
Mime-Version: 1.0
Date: Thu, 03 Apr 2025 16:05:14 +0200
Message-Id: <D8X27CNS8UVI.OJ5BZRP2N01J@proxmox.com>
To: "Proxmox VE development discussion" <pve-devel@lists.proxmox.com>
From: "Max Carrara" <m.carrara@proxmox.com>
X-Mailer: aerc 0.18.2-0-ge037c095a049
References: <20250326142059.261938-1-m.carrara@proxmox.com>
 <20250326142059.261938-3-m.carrara@proxmox.com>
 <1743421835.hd6pyusvlb.astroid@yuna.none>
 <D8WAOUZPCMO5.37G29XB8M94OE@proxmox.com>
 <1743662987.9zy3v4thrh.astroid@yuna.none>
In-Reply-To: <1743662987.9zy3v4thrh.astroid@yuna.none>
X-SPAM-LEVEL: Spam detection results:  0
 AWL -1.422 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
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLACK 3 Contains an URL listed in the URIBL blacklist [plugin.pm]
Subject: Re: [pve-devel] [PATCH v1 pve-storage 2/8] pluginbase: add
 high-level plugin API description
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>

T24gVGh1IEFwciAzLCAyMDI1IGF0IDk6MTIgQU0gQ0VTVCwgRmFiaWFuIEdyw7xuYmljaGxlciB3
cm90ZToKPiBPbiBBcHJpbCAyLCAyMDI1IDY6MzEgcG0sIE1heCBDYXJyYXJhIHdyb3RlOgo+ID4g
T24gTW9uIE1hciAzMSwgMjAyNSBhdCA1OjEzIFBNIENFU1QsIEZhYmlhbiBHcsO8bmJpY2hsZXIg
d3JvdGU6Cj4gPj4gT24gTWFyY2ggMjYsIDIwMjUgMzoyMCBwbSwgTWF4IENhcnJhcmEgd3JvdGU6
Cj4gPj4gPiBBZGQgYSBzaG9ydCBwYXJhZ3JhcGggaW4gREVTQ1JJUFRJT04gc2VydmluZyBhcyBh
biBpbnRyb2R1Y3Rpb24gYXMKPiA+PiA+IHdlbGwgYXMgdGhlIEdFTkVSQUwgUEFSQU1FVEVSUyBh
bmQgQ0FDSElORyBFWFBFTlNJVkUgT1BFUkFUSU9OUwo+ID4+ID4gc2VjdGlvbnMuCj4gPj4gPiAK
PiA+PiA+IFRoZXNlIHNlY3Rpb25zIGFyZSBhZGRlZCBpbiBvcmRlciB0byBhdm9pZCByZXBlYXRl
ZGx5IGRlc2NyaWJpbmcgdGhlCj4gPj4gPiBzYW1lIHBhcmFtZXRlcnMgYXMgd2VsbCBhcyB0byBl
bGFib3JhdGUgb24gLyBjbGFyaWZ5IGEgY291cGxlIHRlcm1zLAo+ID4+ID4gZS5nLiB3aGF0IHRo
ZSAkY2FjaGUgcGFyYW1ldGVyIGRvZXMgb3Igd2hhdCBhIHZvbHVtZSBpbiBvdXIgY2FzZSBpcy4K
PiA+PiA+IAo+ID4+ID4gU2lnbmVkLW9mZi1ieTogTWF4IENhcnJhcmEgPG0uY2FycmFyYUBwcm94
bW94LmNvbT4KPiA+PiA+IC0tLQo+ID4+ID4gIHNyYy9QVkUvU3RvcmFnZS9QbHVnaW5CYXNlLnBt
IHwgNzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+PiA+ICAxIGZpbGUg
Y2hhbmdlZCwgNzcgaW5zZXJ0aW9ucygrKQo+ID4+ID4gCj4gPj4gPiBkaWZmIC0tZ2l0IGEvc3Jj
L1BWRS9TdG9yYWdlL1BsdWdpbkJhc2UucG0gYi9zcmMvUFZFL1N0b3JhZ2UvUGx1Z2luQmFzZS5w
bQo+ID4+ID4gaW5kZXggZTU2YWE3Mi4uMTY5NzdmMyAxMDA2NDQKPiA+PiA+IC0tLSBhL3NyYy9Q
VkUvU3RvcmFnZS9QbHVnaW5CYXNlLnBtCj4gPj4gPiArKysgYi9zcmMvUFZFL1N0b3JhZ2UvUGx1
Z2luQmFzZS5wbQo+ID4+ID4gQEAgLTQsNiArNCw4MyBAQCBDPFBWRTo6U3RvcmFnZTo6UGx1Z2lu
QmFzZT4gLSBTdG9yYWdlIFBsdWdpbiBBUEkgSW50ZXJmYWNlCj4gPj4gPiAgCj4gPj4gPiAgPWhl
YWQxIERFU0NSSVBUSU9OCj4gPj4gPiAgCj4gPj4gPiArVGhpcyBtb2R1bGUgZG9jdW1lbnRzIHRo
ZSBwdWJsaWMgU3RvcmFnZSBQbHVnaW4gQVBJIG9mIFBWRSBhbmQgc2VydmVzCj4gPj4gPiArYXMg
YSBiYXNlIGZvciBDPEw8UFZFOjpTdG9yYWdlOjpQbHVnaW4+Pi4gUGx1Z2lucyBtdXN0IEI8YWx3
YXlzPiBpbmhlcml0IGZyb20KPiA+PiA+ICtDPEw8UFZFOjpTdG9yYWdlOjpQbHVnaW4+PiwgYXMg
dGhpcyBtb2R1bGUgaXMgZm9yIGRvY3VtZW50YXRpb24gcHVycG9zZXMKPiA+PiA+ICtvbmx5Lgo+
ID4+Cj4gPj4gZG9lcyB0aGlzIG1ha2Ugc2Vuc2U/IGlmIHdlIG5vdyBwcm92aWRlIGEgY2xlYW4g
YmFzZSBmb3IgdGhlIHN0cnVjdHVyZQo+ID4+IG9mIHBsdWdpbnMsIHdoeSBzaG91bGRuJ3QgcGx1
Z2lucyBiZSBhYmxlIHRvIHVzZSB0aGF0LCBidXQgaW5zdGVhZCBoYXZlCj4gPj4gdG8gaW5oZXJp
dCBmcm9tIFBWRTo6U3RvcmFnZTo6UGx1Z2luIHdoaWNoIGhhcyBhIGxvdCBvZiBleHRyYSBzdHVm
ZiB0aGF0Cj4gPj4gbWFrZXMgdGhpbmdzIG1lc3N5Pwo+ID4+Cj4gPj4gZ3JhbnRlZCwgc3dpdGNo
aW5nIG92ZXIgdG8gbG9hZCBmcm9tIFBsdWdpbkJhc2UgY291bGQgYmUgZG9uZSBhcyBhCj4gPj4g
Zm9sbG93IHVwIG9yIHdpdGggOS4wIChvciBub3QgYXQgYWxsLCBpZiB0aGVyZSBpcyBhIHJhdGlv
bmFsZSkuLgo+ID4+Cj4gPj4gYWZ0ZXIgdGhpcyBzZXJpZXMgd2UgaGF2ZToKPiA+Pgo+ID4+IFNl
Y3Rpb25Db25maWcKPiA+PiAtPiBQbHVnaW5CYXNlIChub3QgYW4gYWN0dWFsIGJhc2UgcGx1Z2lu
IHcuci50LiBTZWN0aW9uQ29uZmlnLCBhbmQgbm90Cj4gPj4gc29tZXRoaW5nIHlvdSBiYXNlIHBs
dWdpbnMgb24gYXMgYSByZXN1bHQpCj4gPj4gLS0+IFBsdWdpbiAoYSBjb21iaW5hdGlvbiBvZiBi
YXNlIHBsdWdpbiBhbmQgYmFzZSBvZiBhbGwgb3VyCj4gPj4gZGlyZWN0b3J5LWJhc2VkIHBsdWdp
bnMpCj4gPj4gLS0tPiBvdGhlciBwbHVnaW5zLCBpbmNsdWRpbmcgdGhpcmQgcGFydHkgb25lcwo+
ID4+Cj4gPj4gd2hpY2ggc2VlbXMgdW5mb3J0dW5hdGUsIGV2ZW4gaWYgdGhlIGNvbnRlbnRzIG9m
IFBsdWdpbkJhc2UgYXJlIGhlbHBmdWwKPiA+PiB3aGVuIGltcGxlbWVudGluZyB5b3VyIG93bi4u
Cj4gPj4KPiA+PiBJTUhPIHRoaXMgc2hvdWxkIGVpdGhlciBiZQo+ID4+Cj4gPj4gU2VjdGlvbkNv
bmZpZwo+ID4+IC0+IFBsdWdpbkJhc2UgKGFjdHVhbCBiYXNlIHBsdWdpbiwgd2l0aCBTZWN0aW9u
Q29uZmlnIGltcGxlbWVudGF0aW9ucwo+ID4+IG1vdmVkIG92ZXIgZnJvbSBjdXJyZW50IFBsdWdp
bi5wbSBhcyBuZWVkZWQpCj4gPj4gLS0+IFBsdWdpblRlbXBsYXRlICh3aGF0J3MgY3VycmVudGx5
IFBsdWdpbkJhc2UgaW4gdGhpcyBzZXJpZXMgLSBuaWNlbHkKPiA+PiBkb2N1bWVudGVkIHBhcmVu
dCBvZiB0aGlyZCBwYXJ0eSBwbHVnaW5zLCBub3QgYWN0dWFsbHkgcmVnaXN0ZXJlZCwganVzdAo+
ID4+IGNvbnRhaW5zIHRoZSBzdG9yYWdlLmNmZyBpbnRlcmZhY2Ugd2l0aG91dCB0aGUgbG93LWxl
dmVsIFNlY3Rpb25Db25maWcKPiA+PiB0aGluZ3MpCj4gPj4gLS0tPiBOZXdUaGlyZFBhcnR5UGx1
Z2luIChjbGVhbiBzbGF0ZSBpbXBsZW1lbnRhdGlvbiBqdXN0IHVzaW5nIHRoZQo+ID4+IG5pY2Vs
eSBkb2N1bWVudGVkIGludGVyZmFjZXMsIGd1YXJhbnRlZWQgdG8gbm90IHVzZSBhbnkgaGVscGVy
cyBmcm9tCj4gPj4gUGx1Z2luIHNpbmNlIGl0J3Mgbm90IGEgKGdyYW5kKXBhcmVudCkKPiA+PiAt
LT4gUGx1Z2luIChiYXNlIG9mIGJ1aWx0LWluIHBsdWdpbnMsIHByb2JhYmx5IGJhc2Ugb2YgZXhp
c3RpbmcgdGhpcmQKPiA+PiBwYXJ0eSBwbHVnaW5zLCBzaG91bGQgaWRlYWxseSBoYXZlIGEgZGlm
ZmVyZW50IG5hbWUgaW4gdGhlIGZ1dHVyZSEpCj4gPj4gLS0tPiBEaXJQbHVnaW4KPiA+PiAtLS0+
IC4uLgo+ID4+IC0tLT4gRXhpc3RpbmdUaGlyZFBhcnR5UGx1Z2luICh0aGlzIG1pZ2h0IHJlbHkg
b24gaGVscGVycyBmcm9tIFBsdWdpbiwKPiA+PiBzbyB3ZSBjYW4ndCBqdXN0IHJlbmFtZSB0aGF0
IG9uZSB1bmxlc3Mgd2Ugd2FpdCBmb3IgOS4wKQo+ID4+Cj4gPj4gb3IKPiA+Pgo+ID4+IFNlY3Rp
b25Db25maWcKPiA+PiAtPiBQbHVnaW5CYXNlIChhY3R1YWwgYmFzZSBwbHVnaW4gKyBkb2NzIG9m
IFBsdWdpbiBBUEkpCj4gPj4gLS0+IFBsdWdpbiAoYmFzZSBvZiBvdXIgcGx1Z2lucyBhbmQgZXhp
c3RpbmcgdGhpcmQgcGFydHkgb25lcywgZGlyLXJlbGF0ZWQgaGVscGVycywgLi4pCj4gPj4gLS0t
PiBvdGhlciBwbHVnaW5zLCBpbmNsdWRpbmcgdGhpcmQgcGFydHkgb25lcwo+ID4+IC0tPiBOZXdU
aGlyZFBhcnR5UGx1Z2luIChjbGVhbiBzbGF0ZSBhcyBhYm92ZSkKPiA+IAo+ID4gSSBhZ3JlZSB3
aXRoIHlvdXIgcG9pbnQgaGVyZSAtLSBmb3Igbm93LCBgOjpQbHVnaW5CYXNlYCBzaG91bGQgSU1P
IHN0aWxsCj4gPiBvbmx5IGJlIGFib3V0IGRvY3VtZW50YXRpb24gYW5kIGVudW1lcmF0aW5nIHdo
YXQncyBwYXJ0IG9mIHRoZSBQbHVnaW4KPiA+IEFQSSwgKmJ1dCogYWRkaW5nIG1vcmUgbGF5ZXJz
IGluYmV0d2VlbiBjYW4gc3RpbGwgYmUgZG9uZSBldmVudHVhbGx5Lgo+ID4gCj4gPiBIb3dldmVy
LCBJIHRoaW5rIHdlIHNob3VsZG4ndCBoYXZlIHR3byBkaWZmZXJlbnQgcGFyZW50cyBmb3IgaW50
ZXJuYWwKPiA+IGFuZCBleHRlcm5hbCBwbHVnaW5zLCBhcyBpdCB3b3VsZCBpbnRyb2R1Y2UgeWV0
IGFub3RoZXIgdGhpbmcgd2UnZCBoYXZlCj4gPiB0byB0cmFjayB3cnQuIEFQSUFHRSByZXNldHMg
ZXRjLiBNYXliZSBpdCdzIG5vdCBhY3R1YWxseSBhbiBpc3N1ZSBpbgo+ID4gdGhpcyBjYXNlLCBi
dXQgLi4uCj4KPiB0aGUgQVBJIHdvdWxkIGJlIGRlZmluZWQgYnkgdGhlICJwdWJsaWMiL2V4dGVy
bmFsL3RvcC1sZXZlbCBiYXNlCj4gb2J2aW91c2x5LCBub3QgYnkgb3VyIGludGVybWVkaWF0ZSBz
aGFyZWQgYmFzZSA7KQoKRmFpciBwb2ludCA6UAoKPgo+ID4gVGhhdCBhY3R1YWxseSBnaXZlcyBt
ZSBhbiBpZGVhIHRoYXQncyBzaW1pbGFyIHRvIHlvdXIgZmlyc3Qgc3VnZ2VzdGlvbjoKPiA+IAo+
ID4gQXMgb2YgdGhpcyBzZXJpZXMsIHRoZSBoaWVyYXJjaHkgd291bGQgYmUgYXMgZm9sbG93czoK
PiA+IAo+ID4gUGx1Z2luQmFzZQo+ID4g4pSU4pSA4pSAIFBsdWdpbgo+ID4gICAgIOKUnOKUgOKU
gCBFeGlzdGluZ1RoaXJkUGFydHlQbHVnaW4KPiA+ICAgICDilJzilIDilIAgRGlyUGx1Z2luCj4g
PiAgICAg4pSU4pSA4pSAIC4uLgo+ID4gCj4gPiBXZSBjb3VsZCBrZWVwIGBQbHVnaW5CYXNlYCBh
cyBpdCBpcywgc2luY2UgSU1PIGhhdmluZyB0aGUgZG9jcyBhbmQgdGhlCj4gPiBTZWN0aW9uQ29u
ZmlnLXJlbGF0ZWQgc3R1ZmYgaW4gb25lIHBsYWNlIGlzIGZpbmUsIHVubGVzcyB3ZSByZWFsbHkg
d2FudAo+ID4gdG8ga2VlcCB0aGUgZG9jcyBzZXBhcmF0ZSBmcm9tIHRoZSByZXN0IG9mIHRoZSBj
b2RlLiAoV291bGQgc2VlbSBhIGJpdAo+ID4gcmVkdW5kYW50IHRvIGludHJvZHVjZSBhbm90aGVy
IGluaGVyaXRhbmNlIGxheWVyIGluIHRoYXQgY2FzZSwgYnV0IEkKPiA+IHBlcnNvbmFsbHkgZG9u
J3QgbWluZC4pCj4KPiBJIGRvbid0IG1pbmQgaGF2aW5nIHRoZSBTZWN0aW9uQ29uZmlnIGFuZCB0
aGUgInNrZWxldG9uIiBpbiBvbmUgbW9kdWxlLAo+IHByb3ZpZGVkIHRoZXkgYXJlIGNsZWFybHkg
c2VwYXJhdGVkLiB0aGUgU2VjdGlvbkNvbmZpZyBtZXRob2RzIGFyZQo+IGluaGVyaXRlZCBhbnl3
YXkgYW5kIGFueSB0aGlyZCBwYXJ0eSBwbHVnaW4gbXVzdCB1cGhvbGQgdGhlIGludmFyaWFudCBv
Zgo+IG5vdCBtZXNzaW5nIHdpdGggdGhlbS4uCj4KPiA+IFRoZW4sIHdlIGV2ZW50dWFsbHkgaW50
cm9kdWNlIGBQbHVnaW5UZW1wbGF0ZWAgb24gdGhlIHNhbWUgbGF5ZXIgYXMKPiA+IGBQbHVnaW5g
LiBgUGx1Z2luVGVtcGxhdGVgIHdvdWxkIG9ubHkgY29udGFpbiBpbXBsZW1lbnRhdGlvbnMgZm9y
IHRoZQo+ID4gbW9zdCBiYXNpYyBtZXRob2RzIChhbmQgbm90IHByb3ZpZGUgZGVmYXVsdHMgZm9y
IGZpbGUtYmFzZWQgc3RvcmFnZXMpLgo+Cj4gZG8geW91IGhhdmUgc29tZXRoaW5nIGluIG1pbmQg
Zm9yIHRoaXMgIlRlbXBsYXRlIj8gYW5kIGlmIHRob3NlIG1ldGhvZHMKPiB3ZXJlIHNvIGdlbmVy
aWMgYW5kIGJhc2ljIGF0IHRoZSBzYW1lIHRpbWUsIHdoeSBzaG91bGRuJ3QgdGhleSBsaXZlIGlu
Cj4gUGx1Z2luQmFzZSBpdHNlbGY/IDspIEkgYW0gbm90IHlldCBjb252aW5jZWQgYW4gZXh0cmEg
bGF5ZXIgbGlrZSB0aGlzCj4gbWFrZXMgbXVjaCBzZW5zZSwgYnV0IEkgYW0gaGFwcHkgdG8gbGlz
dGVuIHRvIChjb25jcmV0ZSkgYXJndW1lbnRzIHdoeQo+IGl0IHNob3VsZCBleGlzdC4gSU1ITyB0
aGUgbGVzcyBjb2RlIGluaGVyaXRlZCBieSBleHRlcm5hbCBwbHVnaW5zIHRoZQo+IGJldHRlciwg
ZWxzZSB3ZSBhbHdheXMgaGF2ZSB0byBub3QgdG91Y2ggdGhhdCBjb2RlIGZvciBhZ2VzIHRvIGF2
b2lkCj4gYnJlYWtpbmcgdGhlbS4uCgpObyB0aGF0J3MgYSBnb29kIHBvaW50OyB0aGlzIGVudGly
ZSBpZGVhIGhlcmUgY291bGQgYWN0dWFsbHkgYWxzbyBiZQpkb25lIHdpdGhvdXQgaW50cm9kdWNp
bmcgYFBsdWdpblRlbXBsYXRlYC4KCj4KPiA+IFBsdWdpbkJhc2UKPiA+IOKUnOKUgOKUgCBQbHVn
aW4KPiA+IOKUgsKgwqAg4pSc4pSA4pSAIEV4aXN0aW5nVGhpcmRQYXJ0eVBsdWdpbgo+ID4g4pSC
wqDCoCDilJzilIDilIAgRGlyUGx1Z2luCj4gPiDilILCoMKgIOKUlOKUgOKUgCAuLi4KPiA+IOKU
lOKUgOKUgCBQbHVnaW5UZW1wbGF0ZQo+ID4gCj4gPiBUaGUgaWRlYSBiZWhpbmQgdGhpcyBpcyB0
aGF0IHdlIGNvdWxkIHRoZW4gIm1pZ3JhdGUiIGVhY2ggcGx1Z2luIGFuZAo+ID4gYmFzZSBpdCBv
ZmYgYFBsdWdpblRlbXBsYXRlYCBpbnN0ZWFkLiBIZWxwZXJzIHRoYXQgYXJlIHNoYXJlZCBiZXR3
ZWVuCj4gPiBwbHVnaW5zIGNvdWxkIGdvIGludG8gYFBWRTo6U3RvcmFnZTo6Q29tbW9uOjoqYCBp
bnN0ZWFkIG9mIGJlaW5nCj4gPiBpbXBsaWNpdGx5IGJlY29taW5nIHBhcnQgb2YgcGx1Z2lucycg
bW9kdWxlcyBkdWUgdG8gaW5oZXJpdGFuY2UuCj4KPiB0aGUgaXNzdWUgd2l0aCB0aGF0IGlzIHRo
YXQgd2UndmUgbm93IGp1c3QgbW92ZWQgdGhlIHByb2JsZW0gLSB3aGF0IGFyZQo+IHRoZSBzdGFi
aWxpdHkgZ3VhcmFudGVlcyBmb3IgUFZFOjpTdG9yYWdlOjpDb21tb246OiogPyBhcmUgZXh0ZXJu
YWwKPiBwbHVnaW5zIGFsbG93ZWQvc3VwcG9zZWQgdG8gdXNlIHRoZW0/IEkgZG8gdGhpbmsgd2Ug
d2FudCB0byBrZWVwIHNvbWUKPiBhbW91bnQgb2YgIlBWRS1zcGVjaWZpYywgaW50ZXJuYWwiIGhl
bHBlciBjb2RlICh3aGV0aGVyIGluIHRoZSBwbHVnaW5zCj4gdGhlbXNlbHZlcyBvciBpbiBzb21l
IHN0YW5kYWxvbmUgaGVscGVyIG1vZHVsZSkgdGhhdCBhcmUgb2ZmLWxpbWl0cyBmb3IKPiBleHRl
cm5hbCBwbHVnaW5zLCBpZiBqdXN0IHRvIGF2b2lkIHdyaXRpbmcgdXMgaW50byBhIGNvcm5lci4g
dGhlIGVhc2llc3QKPiB3YXkgdG8gYWNoaWV2ZSB0aGF0IGlzIHRvIG1pZ3JhdGUgZXh0ZXJuYWwg
cGx1Z2lucyBhd2F5IGZyb20gUGx1Z2luLnBtCj4gKHdoaWNoIHdlIGNhbiBlbmZvcmNlIGF0IHBs
dWdpbiBsb2FkaW5nIHRpbWUgYXQgc29tZSBwb2ludCBhZnRlciBhCj4gZGVwcmVjYXRpb24gcGVy
aW9kKS4KClllYWggSSBhZ3JlZSwgSSdtIGp1c3Qgbm90IGVudGlyZWx5IHN1cmUgeWV0IHdoaWNo
ICpleGFjdCogYXBwcm9hY2ggaGVyZQp3b3VsZCBiZSB0aGUgYmVzdC4KCklmIHlvdSdkIGxpa2Us
IHdlIGNhbiByZXZpc2l0IHRoaXMgdG9waWMgb25jZSBpdCBiZWNvbWVzIHJlbGV2YW50OyBmb3IK
bm93IEkgdGhpbmsgd2UgY2FuIG1vdmUgZm9yd2FyZCB3aXRoIHRoZSBpbmhlcml0YW5jZSBzdHJ1
Y3R1cmUgdGhhdCB0aGlzCnNlcmllcyBwcm9wb3NlcywgdGhhdCBpczoKClNlY3Rpb25Db25maWcK
4pSU4pSA4pSAIFBsdWdpbkJhc2UKICAgIOKUlOKUgOKUgCBQbHVnaW4KICAgICAgICDilJzilIDi
lIAgRGlyUGx1Z2luCiAgICAgICAg4pSc4pSA4pSAIC4uLgogICAgICAgIOKUnOKUgOKUgCBFeGlz
dGluZ1RoaXJkUGFydHlQbHVnaW4KICAgICAgICDilJTilIDilIAgLi4uCgpJbiBhIGZ1dHVyZSBz
ZXJpZXMsIEknZCB0aGVuIHByb2NlZWQgd2l0aCBtb3ZpbmcgdGhlClNlY3Rpb25Db25maWctcmVs
YXRlZCBzdHVmZiB0byBQbHVnaW5CYXNlIChhbmQgcGVyaGFwcyBvdGhlcgoiZnVuZGFtZW50YWwi
IHN0dWZmOyB5ZXQgdG8gYmUgZGVjaWRlZCB3aGF0KS4gV2hlbiB0aGF0IGhhcHBlbnMsIEknbGwK
YWxzbyBzZWUgd2hhdCAibWlncmF0aW9uIGFwcHJvYWNoIiB3b3VsZCBiZSB0aGUgYmVzdCwgd2hh
dCBpbnRlcm5hbCAvCmV4dGVybmFsIGhlbHBlcnMgdG8gaGF2ZSwgc3RhYmlsaXR5IGd1YXJhbnRl
ZXMsIGV0Yy4KClRoZSBvbmx5IHRoaW5nIEkgd291bGQgZGVmaW5pdGVseSB3YW50IHRvIGF2b2lk
IGlzIGludHJvZHVjaW5nIGFub3RoZXIKaW5oZXJpdGFuY2UgbGF5ZXIgc29tZXdoZXJlLCBhcyBp
dCdzIGFscmVhZHkgc29tZXdoYXQgaGFyZCB0byBrZWVwIHRyYWNrCm9mIHRoaW5ncy4KCj4KPiBv
YnZpb3VzbHkgZm9yIGhlbHBlcnMgdGhhdCB3ZSBkZWVtIHN0YWJsZSBlbm91Z2ggbW92aW5nIHRo
ZW0gdG8gQ29tbW9uCj4gYW5kIHdyYXBwaW5nIHRoZW0gaW4gdGhlaXIgb2xkIGxvY2F0aW9uIGlu
IFBsdWdpbiB3b3VsZCBiZSBhIHZpYWJsZQo+IG1pZ3JhdGlvbiBzdHJhdGVneS4KCkkgYWdyZWUg
aGVyZSBhcyB3ZWxsOyB0aGF0J3Mgc29tZXRoaW5nIEkgYXR0ZW1wdGVkIGEgbG9uZyB3aGlsZSBh
Z28uCkknbSBsb29raW5nIGZvcndhcmQgdG8gcmV2aXNpdGluZyB0aGF0IPCfkYAKCj4KPiA+IFBs
dWdpbkJhc2UKPiA+IOKUnOKUgOKUgCBQbHVnaW4KPiA+IOKUgsKgwqAg4pSc4pSA4pSAIC4uLgo+
ID4g4pSCwqDCoCDilJTilIDilIAgRXhpc3RpbmdUaGlyZFBhcnR5UGx1Z2luCj4gPiDilJTilIDi
lIAgUGx1Z2luVGVtcGxhdGUKPiA+ICAgICDilJzilIDilIAgLi4uCj4gPiAgICAg4pSU4pSA4pSA
IERpclBsdWdpbiAoY2xlYW5lZCB1cCkKPiA+IAo+ID4gVGhhdCB3YXkgd2UgY291bGQgc3RlcCBi
eSBzdGVwICJkaXNlbnRhbmdsZSIgdGhlIGV4aXN0aW5nIHBsdWdpbnMgZnJvbQo+ID4gZWFjaCBv
dGhlciB3aXRob3V0IGhhdmluZyB0byBjb25zdGFudGx5IGtlZXAgdGhlIG9yaWdpbmFsIGJlaGF2
aW91cihzKQo+ID4gb2YgYFBsdWdpbmAgaW4gdGhlIGJhY2sgb2Ygb25lJ3MgaGVhZCBhbmQgYWNj
b3VudCBmb3IgdGhlbS4gSW5zdGVhZCwKPiA+IGVhY2ggcGx1Z2luIHdvdWxkIGltcGxlbWVudCBw
cmVjaXNlbHkgd2hhdCBpdCBpdHNlbGYgbmVlZHMuCj4gPiAKPiA+IFNpbmNlIGJvdGggdGhlIG9s
ZCBgUGx1Z2luYCBhbmQgdGhlIG5ldyBgUGx1Z2luVGVtcGxhdGVgIHNoYXJlIHRoZSBzYW1lCj4g
PiBpbnRlcmZhY2UsIG5hbWVseSBgUGx1Z2luQmFzZWAsIHdlIGNvdWxkIHN0aWxsIHN1cHBvcnQg
dGhlIG9sZCBgUGx1Z2luYAo+ID4gdW50aWwgZXZlcnl0aGluZydzIGJlZW4gbW92ZWQgb3ZlciBh
bmQgdGhpcmQtcGFydHkgZGV2cyBoYXZlIGhhZCBlbm91Z2gKPiA+IHRpbWUgdG8gYWRhcHQgdGhl
aXIgb3duIGNvZGUsIHRvby4KPgo+IHNlZSBhYm92ZSAtIHdlIGNhbiBkbyBhbGwgb2YgdGhhdCB3
aXRob3V0IGludHJvZHVjaW5nIFBsdWdpblRlbXBsYXRlIGFzCj4gd2VsbCwgaW5jbHVkaW5nIGF0
IHNvbWUgcG9pbnQgbm8gbG9uZ2VyIGFsbG93aW5nIHRoaXJkIHBhcnR5IHBsdWdpbnMgdG8KPiBy
ZS11c2UgUGx1Z2luIGJ1dCBmb3JjZSB0aGVtIHRvIGJlIGJhc2VkIG9mIFBsdWdpbkJhc2UuCj4K
PiA+IFdoaWxlIGRvaW5nIGFsbCB0aGlzLCB3ZSBjb3VsZCBhbHNvIHJld29yayBwYXJ0cyBvZiB0
aGUgQVBJIHRoYXQgZGlkbid0Cj4gPiBhZ2UgdGhhdCBncmFjZWZ1bGx5LCBwZXJoYXBzIGRlcHJl
Y2F0ZSBjZXJ0YWluIG9sZCBtZXRob2RzLCBpbnRyb2R1Y2UKPiA+IG5ldyBtZXRob2RzLCBldGMu
IGFzIHdlJ2QgaGF2ZSBhICJjbGVhbiIgYnJlYWssIHNvdG9zcGVhay4KPgo+IHRoaXMgY291bGQg
YWxzbyBiZSBkb25lIHdpdGhvdXQgbW92aW5nIGFsbCBwbHVnaW5zIG92ZXIgdG8KPiBQbHVnaW5U
ZW1wbGF0ZSwgYWx0aG91Z2ggaXQgbWlnaHQgYmUgYSBiaXQgbW9yZSBtZXNzeS9kYW5nZXJvdXMu
Cj4KPiA+IFNvLCB0byBzdW1tYXJpemUgbXkgaWRlYToKPiA+IC0gS2VlcCBgUGx1Z2luQmFzZWAg
YXMgaXQgaXMgcmlnaHQgbm93LCBidXQgYWxzbyBpbmNsdWRlCj4gPiAgIFNlY3Rpb25Db25maWct
cmVsYXRlZCBjb2RlCj4gPiAtIEludHJvZHVjZSBgUGx1Z2luVGVtcGxhdGVgIHdpdGggbWluaW1h
bCBpbXBsZW1lbnRhdGlvbiBsYXRlciBkb3duIHRoZQo+ID4gICBsaW5lIG9uIHRoZSBzYW1lIGlu
aGVyaXRhbmNlIGxheWVyIGFzIGBQbHVnaW5gCj4gPiAtIFNsb3dseSBtaWdyYXRlIG91ciBwbHVn
aW5zLCBiYXNpbmcgdGhlbSBvZmYgb2YgYFBsdWdpblRlbXBsYXRlYCB3aGlsZQo+ID4gICB0b3Nz
aW5nIG91dCBvbGQgY29kZSwgbWFraW5nIHRoZW0gaW5kZXBlbmRlbnQgZnJvbSBvbmUgYW5vdGhl
ciwgYW5kCj4gPiAgIGNvbGxlY3Rpbmcgc2hhcmVkIGhlbHBlcnMgaW4gYFBWRTo6U3RvcmFnZTo6
Q29tbW9uOjoqYAo+ID4gCj4gPiBJJ2QgcmVhbGx5IGxpa2UgdG8gaGVhciB5b3VyIHRob3VnaHRz
IG9uIHRoaXMsIGJlY2F1c2UgSSdtIG5vdCBzdXJlIGlmCj4gPiB0aGlzIGlzICphY3R1YWxseSog
ZmVhc2libGUgb3IgcHJvdmlkZXMgYW55IFJPSSBkb3duIHRoZSBsaW5lLiBPbmUKPiA+IGFsdGVy
bmF0aXZlIHRoYXQgSSBjYW4gdGhpbmsgb2YgaXMgdG8ganVzdCBrZWVwIHRoZSBpbmhlcml0YW5j
ZQo+ID4gaGllcmFyY2h5IGFzIGl0IGlzIChhcyBpbiB0aGlzIHNlcmllcykgYW5kIGRpc2VudGFu
Z2xlIHRoZSBwbHVnaW5zIGFzCj4gPiB0aGV5IGFyZSByaWdodCBub3csIHdpdGhvdXQgY2hhbmdp
bmcgdGhlaXIgcGFyZW50IChzbywgYWxtb3N0IHRoZSBzYW1lCj4gPiBhcyB5b3VyIHNlY29uZCBp
ZGVhKS4gSSBkaWQgc3RhcnQgYnJlYWtpbmcgYXBhcnQgb3VyIHBsdWdpbnMgbGlrZSB0aGF0Cj4g
PiBsYXN0IHllYXIsIGJ1dCB0aGF0IHdhcyB0b28gbXVjaCBhbGwgYXQgb25jZSBbMV0uCj4gPiAK
PiA+IFsxXTogaHR0cHM6Ly9sb3JlLnByb3htb3guY29tL3B2ZS1kZXZlbC8yMDI0MDcxNzA5NDAz
NC4xMjQ4NTctMS1tLmNhcnJhcmFAcHJveG1veC5jb20vCj4KPgo+IF9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gcHZlLWRldmVsIG1haWxpbmcgbGlzdAo+
IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20v
Y2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbAoKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1k
ZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4v
bWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK