From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pbs-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id E305A1FF164
	for <inbox@lore.proxmox.com>; Fri, 28 Feb 2025 09:19:29 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 23C517D5C;
	Fri, 28 Feb 2025 09:19:28 +0100 (CET)
Message-ID: <2eba7340-531c-40a9-a470-386aa6b2aad3@proxmox.com>
Date: Fri, 28 Feb 2025 09:18:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Christian Ebner <c.ebner@proxmox.com>,
 Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com>
References: <20250116064543.74619-1-h.laimer@proxmox.com>
 <20250116064543.74619-4-h.laimer@proxmox.com>
 <1235fc69-3d69-4a16-a273-a9270a6a3afb@proxmox.com>
Content-Language: en-US
From: Hannes Laimer <h.laimer@proxmox.com>
In-Reply-To: <1235fc69-3d69-4a16-a273-a9270a6a3afb@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.026 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
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [job.store, datastore.name, datastore.rs, sync.rs]
Subject: Re: [pbs-devel] [PATCH proxmox-backup 3/7] api: admin: run
 configured sync jobs when a datastore is mounted
X-BeenThere: pbs-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Backup Server development discussion
 <pbs-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/>
List-Post: <mailto:pbs-devel@lists.proxmox.com>
List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox Backup Server development discussion
 <pbs-devel@lists.proxmox.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: pbs-devel-bounces@lists.proxmox.com
Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com>

CgpPbiAyLzQvMjUgMTU6MzMsIENocmlzdGlhbiBFYm5lciB3cm90ZToKPiBUaGlzIHBhdGNoIG5l
ZWRzIHRvIGJlIHJlYmFzZWQgb24gY3VycmVudCBtYXN0ZXIuCj4gCj4gSGlnaCBsZXZlbCBjb21t
ZW50Ogo+IE1peGluZyB0aGUgbW91bnQgYXBpIGhhbmRsZXIgd2l0aCB0aGUgZXhlY3V0aW9uIGxv
Z2ljIGZvciB0aGUgc3luYyBqb2JzIAo+IGlzIG5vdCB0aGUgYmVzdCBhcHByb2FjaCBoZXJlIEkg
dGhpbmsuIFRoaXMgbWl4ZXMgdW5yZWxhdGVkIGNvZGUgYW5kIAo+IG1ha2VzIGl0IGhhcmRlciB0
byBmdXJ0aGVyIGV4dGVuZMKgIHRoaXMgdG8gZS5nLiBhbHNvIHJ1biB2ZXJpZnksIHBydW5lIAo+
IG9yIGdhcmJhZ2UgY29sbGVjdGlvbiBpbiB0aGUgZnV0dXJlLgo+IAoKVGhlIGVuZHBvaW50IHN0
YXJ0cyB0aGUgdGFzayB0aGF0IGRvZXMgdGhlIG1vdW50aW5nLCBhbmQgaXQgc3RhcnRzIHRoZQp0
YXNrcyB0aGF0IG1hbmFnZXMgcG9zc2libGUgc3luYyBqb2JzLiBJIGRvbid0IHRoaW5rIHRoaXMg
cmVhbGx5IGRvZXMKYW55dGhpbmcgdG8gdGhlIGxvZ2ljIG9mIHRoZSBzeW5jIGpvYiBpdHNlbGYu
IFN1cmUsIHRoaXMKInJ1biB0aGVzZSBqb2JzIGluIHNlcXVlbmNlIiB3b3VsZCBtYWtlIHNlbnNl
LCBidXQgY3VycmVudGx5IHdlIGNhbid0IGRvCnRoYXQsIHdlIGRvbid0IGhhdmUgYW4gaW50ZXJm
YWNlIGZvciBqb2JzLiBOb3QgZXZlbiBqb2ItaWRzIGFyZSB1bmlxdWUKYWNyb3NzIGRpZmZlcmVu
dCBqb2IgdHlwZXMuIEkgYW0gbm90IHN1cmUgd2VhdGhlciB0aGVyZSB3b3VsZCBiZSBhIGxvdApv
ZiB2YWx1ZSBpbiB0cnlpbmcgdG8gaGF2ZSBhIG1vcmUgYWJzdHJhY3Qgam9iIHRoaW5ncy4gVGhl
IG9ubHkgdGhpbmcKSSBjb3VsZCB0aGluayBvZiBpcyBqb2JzIHRyaWdnZXJpbmcgZWFjaCBvdGhl
ci4gQnV0IEkgZmVlbCBsaWtlIHRoYXQKbWlnaHQgYmUgb3V0IG9mIHNjb3BlIGZvciB0aGlzIGhl
cmUuCgoKPiBKdXN0IGFuIGlkZWE6IE1heWJlIGl0IHdvdWxkIGJlIHBvc3NpYmxlIHRvIGxldCB0
aGUgbW91bnQgd29ya2VyIHRhc2sgCj4gc2lnbmFsIHRoZSBtb3VudCBldmVudCB2aWEgZS5nLiBh
IHN0ZDo6c3luYzo6bXBzYzo6Y2hhbm5lbCgpIG9yIHRoZSAKPiBjb21tYW5kIHNvY2tldCAoYWxy
ZWFkeSB1c2VkIHRvIHJlcXVlc3QgZGF0YXN0b3JlIGNhY2hlIHVwZGF0ZXMgb24gCj4gdW5tb3Vu
dCkgdG8gc2NoZWR1bGUgYSBtYW5hZ2luZyB0YXNrIGluIHRoZSBwcm94bW94LWJhY2t1cC1wcm94
eT8KPiAKClRoaXMgaXMgYSBwcml2aWxlZ2VkIGVuZHBvaW50LCBpdCBydW5zIG9uIHRoZSBhcGkg
cHJvY2Vzcywgc28gd2UKY2FuJ3QgcmVhbGx5IHVzZSBjaGFubmVscyBoZXJlLiBBbmQgaXQgZG9u
J3QgdGhpbmsgdGhlIGNvbW1hbmQgc29ja2V0CmlzIHRoZSByaWdodCB0b29sIGZvciB0aGlzLCBv
bmUgcmVhc29uIGJlaW5nIGl0IGlzIG1vcmUgb2YgYSBoaXQgb3IgbWlzcwoodGVjaG5pY2FsbHkp
IHdoaWNoIGlzIG5vdCByZWFsbHkgd2hhdCB3ZSB3YW50IGhlcmUuIEFsc28gaGF2aW5nIHRoZSBh
cGkKcHJvY2VzcyBoYW5kbGUgdGhpcyBpcyBJTUhPIG5vdCB3aGF0IHdlIHdhbnQuCgoKPiBmdXJ0
aGVyIGNvbW1lbnRzIGlubGluZS4KPiAKPiBPbiAxLzE2LzI1IDA3OjQ1LCBIYW5uZXMgTGFpbWVy
IHdyb3RlOgo+PiBXaGVuIGEgZGF0YXN0b3JlIGlzIG1vdW50ZWQsIHNwYXduIGEgbmV3IHRhc2sg
dG8gcnVuIGFsbCBzeW5jIGpvYnMKPj4gbWFya2VkIHdpdGggYHJ1bi1vbi1tb3VudGAuIFRoZXNl
IGpvYnMgcnVuIHNlcXVlbnRpYWxseSBhbmQgaW5jbHVkZQo+PiBhbnkgam9iIGZvciB3aGljaCB0
aGUgbW91bnRlZCBkYXRhc3RvcmUgaXM6Cj4+Cj4+IC0gVGhlIHNvdXJjZSBvciB0YXJnZXQgaW4g
YSBsb2NhbCBwdXNoL3B1bGwgam9iCj4+IC0gVGhlIHNvdXJjZSBpbiBhIHB1c2ggam9iIHRvIGEg
cmVtb3RlIGRhdGFzdG9yZQo+PiAtIFRoZSB0YXJnZXQgaW4gYSBwdWxsIGpvYiBmcm9tIGEgcmVt
b3RlIGRhdGFzdG9yZQo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBIYW5uZXMgTGFpbWVyIDxoLmxhaW1l
ckBwcm94bW94LmNvbT4KPj4gLS0tCj4+IMKgIHNyYy9hcGkyL2FkbWluL2RhdGFzdG9yZS5ycyB8
IDkwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPj4gwqAgc3JjL2FwaTIv
YWRtaW4vc3luYy5yc8KgwqDCoMKgwqAgfMKgIDIgKy0KPj4gwqAgc3JjL3NlcnZlci9zeW5jLnJz
wqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA3ICstLQo+PiDCoCAzIGZpbGVzIGNoYW5nZWQsIDkwIGlu
c2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9zcmMvYXBpMi9h
ZG1pbi9kYXRhc3RvcmUucnMgYi9zcmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUucnMKPj4gaW5kZXgg
ZjVkODBkNjEwLi4yMWI1ODM5MWQgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9hcGkyL2FkbWluL2RhdGFz
dG9yZS5ycwo+PiArKysgYi9zcmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUucnMKPj4gQEAgLTQxLDgg
KzQxLDggQEAgdXNlIHBic19hcGlfdHlwZXM6OnsKPj4gwqDCoMKgwqDCoCBEYXRhU3RvcmVDb25m
aWcsIERhdGFTdG9yZUxpc3RJdGVtLCBEYXRhU3RvcmVNb3VudFN0YXR1cywgCj4+IERhdGFTdG9y
ZVN0YXR1cywKPj4gwqDCoMKgwqDCoCBHYXJiYWdlQ29sbGVjdGlvbkpvYlN0YXR1cywgR3JvdXBM
aXN0SXRlbSwgSm9iU2NoZWR1bGVTdGF0dXMsIAo+PiBLZWVwT3B0aW9ucywgTWFpbnRlbmFuY2VN
b2RlLAo+PiDCoMKgwqDCoMKgIE1haW50ZW5hbmNlVHlwZSwgT3BlcmF0aW9uLCBQcnVuZUpvYk9w
dGlvbnMsIFNuYXBzaG90TGlzdEl0ZW0sIAo+PiBTbmFwc2hvdFZlcmlmeVN0YXRlLAo+PiAtwqDC
oMKgIEJBQ0tVUF9BUkNISVZFX05BTUVfU0NIRU1BLCBCQUNLVVBfSURfU0NIRU1BLCAKPj4gQkFD
S1VQX05BTUVTUEFDRV9TQ0hFTUEsIEJBQ0tVUF9USU1FX1NDSEVNQSwKPj4gLcKgwqDCoCBCQUNL
VVBfVFlQRV9TQ0hFTUEsIENBVEFMT0dfTkFNRSwgQ0xJRU5UX0xPR19CTE9CX05BTUUsIAo+PiBE
QVRBU1RPUkVfU0NIRU1BLAo+PiArwqDCoMKgIFN5bmNKb2JDb25maWcsIEJBQ0tVUF9BUkNISVZF
X05BTUVfU0NIRU1BLCBCQUNLVVBfSURfU0NIRU1BLCAKPj4gQkFDS1VQX05BTUVTUEFDRV9TQ0hF
TUEsCj4+ICvCoMKgwqAgQkFDS1VQX1RJTUVfU0NIRU1BLCBCQUNLVVBfVFlQRV9TQ0hFTUEsIENB
VEFMT0dfTkFNRSwgCj4+IENMSUVOVF9MT0dfQkxPQl9OQU1FLCBEQVRBU1RPUkVfU0NIRU1BLAo+
PiDCoMKgwqDCoMKgIElHTk9SRV9WRVJJRklFRF9CQUNLVVBTX1NDSEVNQSwgTUFOSUZFU1RfQkxP
Ql9OQU1FLCAKPj4gTUFYX05BTUVTUEFDRV9ERVBUSCwgTlNfTUFYX0RFUFRIX1NDSEVNQSwKPj4g
wqDCoMKgwqDCoCBQUklWX0RBVEFTVE9SRV9BVURJVCwgUFJJVl9EQVRBU1RPUkVfQkFDS1VQLCAK
Pj4gUFJJVl9EQVRBU1RPUkVfTU9ESUZZLCBQUklWX0RBVEFTVE9SRV9QUlVORSwKPj4gwqDCoMKg
wqDCoCBQUklWX0RBVEFTVE9SRV9SRUFELCBQUklWX0RBVEFTVE9SRV9WRVJJRlksIFBSSVZfU1lT
X01PRElGWSwgCj4+IFVQSUQsIFVQSURfU0NIRU1BLAo+PiBAQCAtMjUwMCw2ICsyNTAwLDUxIEBA
IHB1YiBmbiBkb19tb3VudF9kZXZpY2UoZGF0YXN0b3JlOiAKPj4gRGF0YVN0b3JlQ29uZmlnKSAt
PiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4+IMKgwqDCoMKgwqAgT2soKCkpCj4+IMKgIH0KPj4gK2Fz
eW5jIGZuIGRvX3N5bmNfam9icygKPiAKPiBuaXQ6IHRoaXMgaGVscGVyIGZ1bmN0aW9uIG1ha2Vz
IG1vcmUgc2Vuc2UgdG8gYmUgcGxhY2VkIGludG8gYHNyYy9hcGkyLyAKPiBhZG1pbi9zeW5jLnJz
YCBJIHdvdWxkIHNheSwgYXMgaXQgcHVyZWx5IGhhbmRsZXMgZXhlY3V0aW9uIG9mIHN5bmMgam9i
cy4KPiAKPj4gK8KgwqDCoCBqb2JzX3RvX3J1bjogVmVjPFN5bmNKb2JDb25maWc+LAo+PiArwqDC
oMKgIHdvcmtlcjogQXJjPFdvcmtlclRhc2s+LAo+PiArKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7
Cj4+ICvCoMKgwqAgbGV0IGNvdW50ID0gam9ic190b19ydW4ubGVuKCk7Cj4+ICvCoMKgwqAgaW5m
byEoCj4+ICvCoMKgwqDCoMKgwqDCoCAid2lsbCBydW4ge30gc3luYyBqb2JzOiB7fSIsCj4+ICvC
oMKgwqDCoMKgwqDCoCBjb3VudCwKPiAKPiBuaXQ6IHRoaXMgdmFyaWFibGUgY2FuIGJlIGluLWxp
bmVkIGludG8gdGhlIGZvcm1hdCBzdHJpbmcuCj4gCj4+ICvCoMKgwqDCoMKgwqDCoCBqb2JzX3Rv
X3J1bgo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuaXRlcigpCj4+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIC5tYXAofGp8IGouaWQuY2xvbmUoKSkKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgLmNvbGxlY3Q6OjxWZWM8U3RyaW5nPj4oKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAu
am9pbigiLCAiKQo+IAo+IG5pdDogbm90IHN1cmUgaWYgaXQgaXMgcmVxdWlyZWQgdG8gbGlzdCBh
bGwgc3luYyBqb2JzIGEtcHJpb3JpLCAKPiBlc3BlY2lhbGx5IHNpbmNlIHRoYXQgbGluZSBtaWdo
dCBnZXQgcmF0aGVyIGxvbmcgaWYgbWFueSBzeW5jIGpvYnMgYXJlIAo+IHRvIGJlIGV4ZWN1dGVk
PyBBbHNvLCB0aGF0IHdvdWxkIGF2b2lkIHRoZSBkb3VibGUgaXRlcmF0aW9uIGFuZCBpZCBjbG9u
aW5nLgo+IAo+PiArwqDCoMKgICk7Cj4+ICsKPj4gK8KgwqDCoCBmb3IgKGksIGpvYl9jb25maWcp
IGluIGpvYnNfdG9fcnVuLmludG9faXRlcigpLmVudW1lcmF0ZSgpIHsKPj4gK8KgwqDCoMKgwqDC
oMKgIGlmIHdvcmtlci5hYm9ydF9yZXF1ZXN0ZWQoKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIGJhaWwhKCJhYm9ydGVkIGR1ZSB0byB1c2VyIHJlcXVlc3QiKTsKPj4gK8KgwqDCoMKgwqDC
oMKgIH0KPj4gK8KgwqDCoMKgwqDCoMKgIGxldCBqb2JfaWQgPSBqb2JfY29uZmlnLmlkLmNsb25l
KCk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBsZXQgT2soam9iKSA9IEpvYjo6bmV3KCJzeW5jam9iIiwg
JmpvYl9pZCkgZWxzZSB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnRpbnVlOwo+PiAr
wqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgIGxldCBhdXRoX2lkID0gQXV0aGlk
Ojpyb290X2F1dGhfaWQoKS5jbG9uZSgpOwo+PiArwqDCoMKgwqDCoMKgwqAgaW5mbyEoIlt7fS97
Y291bnR9XSBzdGFydGluZyAne2pvYl9pZH0nLi4uIiwgaSArIDEpOwo+PiArwqDCoMKgwqDCoMKg
wqAgbWF0Y2ggY3JhdGU6OnNlcnZlcjo6ZG9fc3luY19qb2IoCj4+ICvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIGpvYiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgam9iX2NvbmZpZywKPj4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgJmF1dGhfaWQsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IFNvbWUoIm1vdW50Ii50b19zdHJpbmcoKSksCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZh
bHNlLAo+PiArwqDCoMKgwqDCoMKgwqAgKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE9r
KChfdXBpZCwgaGFuZGxlKSkgPT4gewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHRva2lvOjpzZWxlY3QhIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIHN5bmNfZG9uZSA9IGhhbmRsZS5mdXNlKCkgPT4gaWYgbGV0IEVycihlcnIpID0gCj4+IHN5
bmNfZG9uZSB7IHdhcm4hKCJjb3VsZCBub3Qgd2FpdCBmb3Igam9iIHRvIGZpbmlzaDoge2Vycn0i
KTsgfSwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9hYm9ydCA9
IHdvcmtlci5hYm9ydF9mdXR1cmUoKSA9PiBiYWlsISgiYWJvcnRlZCAKPj4gZHVlIHRvIHVzZXIg
cmVxdWVzdCIpLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRXJyKGVycikg
PT4gd2FybiEoInVuYWJsZSB0byBzdGFydCBzeW5jIGpvYiB7am9iX2lkfSAtIAo+PiB7ZXJyfSIp
LAo+PiArwqDCoMKgwqDCoMKgwqAgfQo+PiArwqDCoMKgIH0KPj4gKwo+PiArwqDCoMKgIE9rKCgp
KQo+PiArfQo+PiArCj4+IMKgICNbYXBpKAo+PiDCoMKgwqDCoMKgIHByb3RlY3RlZDogdHJ1ZSwK
Pj4gwqDCoMKgwqDCoCBpbnB1dDogewo+PiBAQCAtMjUzMSwxMiArMjU3Niw0NyBAQCBwdWIgZm4g
bW91bnQoc3RvcmU6IFN0cmluZywgcnBjZW52OiAmbXV0IGR5biAKPj4gUnBjRW52aXJvbm1lbnQp
IC0+IFJlc3VsdDxWYWx1ZSwgRXIKPj4gwqDCoMKgwqDCoCBsZXQgYXV0aF9pZDogQXV0aGlkID0g
cnBjZW52LmdldF9hdXRoX2lkKCkudW53cmFwKCkucGFyc2UoKT87Cj4+IMKgwqDCoMKgwqAgbGV0
IHRvX3N0ZG91dCA9IHJwY2Vudi5lbnZfdHlwZSgpID09IFJwY0Vudmlyb25tZW50VHlwZTo6Q0xJ
Owo+PiAtwqDCoMKgIGxldCB1cGlkID0gV29ya2VyVGFzazo6bmV3X3RocmVhZCgKPj4gK8KgwqDC
oCBsZXQgdXBpZCA9IFdvcmtlclRhc2s6OnNwYXduKAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgIm1v
dW50LWRldmljZSIsCj4+IC3CoMKgwqDCoMKgwqDCoCBTb21lKHN0b3JlKSwKPj4gK8KgwqDCoMKg
wqDCoMKgIFNvbWUoc3RvcmUuY2xvbmUoKSksCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBhdXRoX2lk
LnRvX3N0cmluZygpLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgdG9fc3Rkb3V0LAo+PiAtwqDCoMKg
wqDCoMKgwqAgbW92ZSB8X3dvcmtlcnwgZG9fbW91bnRfZGV2aWNlKGRhdGFzdG9yZSksCj4+ICvC
oMKgwqDCoMKgwqDCoCBtb3ZlIHxfd29ya2VyfCBhc3luYyBtb3ZlIHsKPj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgZG9fbW91bnRfZGV2aWNlKGRhdGFzdG9yZS5jbG9uZSgpKT87Cj4+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIGxldCBPaygoc3luY19jb25maWcsIF9kaWdlc3QpKSA9IAo+PiBw
YnNfY29uZmlnOjpzeW5jOjpjb25maWcoKSBlbHNlIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCB3YXJuISgidW5hYmxlIHRvIHJlYWQgc3luYyBqb2IgY29uZmlnLCB3b24ndCBy
dW4gYW55IAo+PiBzeW5jIGpvYnMiKTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCByZXR1cm4gT2soKCkpOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBsZXQgT2sobGlzdCkgPSBzeW5jX2NvbmZpZy5jb252ZXJ0X3RvX3R5
cGVkX2FycmF5KCJzeW5jIikgCj4+IGVsc2Ugewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHdhcm4hKCJ1bmFibGUgdG8gcGFyc2Ugc3luYyBqb2IgY29uZmlnLCB3b24ndCBydW4g
YW55IAo+PiBzeW5jIGpvYnMiKTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBy
ZXR1cm4gT2soKCkpOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBsZXQgam9ic190b19ydW46IFZlYzxTeW5jSm9iQ29uZmlnPiA9IGxpc3QK
Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuaW50b19pdGVyKCkKPj4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuZmlsdGVyKHxqb2I6ICZTeW5jSm9iQ29uZmlnfCB7
Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvLyBhZGQgam9iIGlm
ZiBhbnkgb2YgdGhlc2UgYXBwbHkKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIC8vwqDCoCAtIHRoZSBqb2JzIGlzIGxvY2FsIGFuZCB3ZSBhcmUgc291cmNlIG9yIHRh
cmdldAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy/CoMKgIC0g
d2UgYXJlIHRoZSBzb3VyY2Ugb2YgYSBwdXNoIHRvIGEgcmVtb3RlCj4+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvL8KgwqAgLSB3ZSBhcmUgdGhlIHRhcmdldCBvZiBh
IHB1bGwgZnJvbSBhIHJlbW90ZQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgLy8KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8vIGBq
b2Iuc3RvcmUgPT0gZGF0YXN0b3JlLm5hbWVgIGlmZiB3ZSBhcmUgdGhlIAo+PiB0YXJnZXQgZm9y
IHB1bGwgZnJvbSByZW1vdGUgb3Igd2UKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIC8vIGFyZSB0aGUgc291cmNlIGZvciBwdXNoIHRvIHJlbW90ZSwgdGhlcmVmb3Jl
IAo+PiB3ZSBkb24ndCBoYXZlIHRvIGNoZWNrIGZvciB0aGUKPj4gK8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8vIGRpcmVjdGlvbiBvZiB0aGUgam9iLgo+IAo+IFRoaXMg
bWlzc2VzIGEgY2hlY2sgZm9yIHRoZSBgcnVuX29uX21vdW50YCBmbGFnIGhlcmUgSSB0aGluaywg
YXMgaXQgaXMgCj4gbmV2ZXIgcmVhZCBpbiB0aGUgcmVzdCBvZiB0aGUgcGF0Y2ggc2VyaWVzPwo+
IAoKSSB0aGluayB5b3UgYXJlIHJpZ2h0LCBJIGFjdHVhbGx5IG1pc3NlZCBjaGVja2luZyB0aGF0
Li4uCgo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgam9iLnJlbW90
ZS5pc19ub25lKCkgJiYgam9iLnJlbW90ZV9zdG9yZSA9PSAKPj4gZGF0YXN0b3JlLm5hbWUKPj4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfHwgam9iLnN0
b3JlID09IGRhdGFzdG9yZS5uYW1lCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
fSkKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuY29sbGVjdCgpOwo+PiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAham9ic190b19ydW4uaXNfZW1wdHkoKSB7Cj4+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGV0IF8gPSBXb3JrZXJUYXNrOjpzcGF3bigKPj4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJtb3VudC1zeW5jLWpvYnMi
LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgU29tZShzdG9yZSks
Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhdXRoX2lkLnRvX3N0
cmluZygpLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmFsc2Us
Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtb3ZlIHx3b3JrZXJ8
IGFzeW5jIG1vdmUgCj4+IHsgZG9fc3luY19qb2JzKGpvYnNfdG9fcnVuLCB3b3JrZXIpLmF3YWl0
IH0sCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKTsKPj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgfQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBPaygoKSkKPj4gK8KgwqDC
oMKgwqDCoMKgIH0sCj4+IMKgwqDCoMKgwqAgKT87Cj4+IMKgwqDCoMKgwqAgT2soanNvbiEodXBp
ZCkpCj4+IGRpZmYgLS1naXQgYS9zcmMvYXBpMi9hZG1pbi9zeW5jLnJzIGIvc3JjL2FwaTIvYWRt
aW4vc3luYy5ycwo+PiBpbmRleCA2NzIyZWJlYTAuLjAxZGVhNTEyNiAxMDA2NDQKPj4gLS0tIGEv
c3JjL2FwaTIvYWRtaW4vc3luYy5ycwo+PiArKysgYi9zcmMvYXBpMi9hZG1pbi9zeW5jLnJzCj4+
IEBAIC0xNjEsNyArMTYxLDcgQEAgcHViIGZuIHJ1bl9zeW5jX2pvYigKPj4gwqDCoMKgwqDCoCBs
ZXQgdG9fc3Rkb3V0ID0gcnBjZW52LmVudl90eXBlKCkgPT0gUnBjRW52aXJvbm1lbnRUeXBlOjpD
TEk7Cj4+IC3CoMKgwqAgbGV0IHVwaWRfc3RyID0gZG9fc3luY19qb2Ioam9iLCBzeW5jX2pvYiwg
JmF1dGhfaWQsIE5vbmUsIAo+PiB0b19zdGRvdXQpPzsKPj4gK8KgwqDCoCBsZXQgKHVwaWRfc3Ry
LCBfKSA9IGRvX3N5bmNfam9iKGpvYiwgc3luY19qb2IsICZhdXRoX2lkLCBOb25lLCAKPj4gdG9f
c3Rkb3V0KT87Cj4+IMKgwqDCoMKgwqAgT2sodXBpZF9zdHIpCj4+IMKgIH0KPj4gZGlmZiAtLWdp
dCBhL3NyYy9zZXJ2ZXIvc3luYy5ycyBiL3NyYy9zZXJ2ZXIvc3luYy5ycwo+PiBpbmRleCAwYmQ3
YTdhODUuLjJhMjkwYThlZSAxMDA2NDQKPj4gLS0tIGEvc3JjL3NlcnZlci9zeW5jLnJzCj4+ICsr
KyBiL3NyYy9zZXJ2ZXIvc3luYy5ycwo+PiBAQCAtMTEsNiArMTEsNyBAQCB1c2UgYW55aG93Ojp7
YmFpbCwgZm9ybWF0X2VyciwgQ29udGV4dCwgRXJyb3J9Owo+PiDCoCB1c2UgZnV0dXJlczo6e2Z1
dHVyZTo6RnV0dXJlRXh0LCBzZWxlY3R9Owo+PiDCoCB1c2UgaHR0cDo6U3RhdHVzQ29kZTsKPj4g
wqAgdXNlIHNlcmRlX2pzb246Ompzb247Cj4+ICt1c2UgdG9raW86OnRhc2s6OkpvaW5IYW5kbGU7
Cj4+IMKgIHVzZSB0cmFjaW5nOjp7aW5mbywgd2Fybn07Cj4+IMKgIHVzZSBwcm94bW94X2h1bWFu
X2J5dGU6Okh1bWFuQnl0ZTsKPj4gQEAgLTU5OCw3ICs1OTksNyBAQCBwdWIgZm4gZG9fc3luY19q
b2IoCj4+IMKgwqDCoMKgwqAgYXV0aF9pZDogJkF1dGhpZCwKPj4gwqDCoMKgwqDCoCBzY2hlZHVs
ZTogT3B0aW9uPFN0cmluZz4sCj4+IMKgwqDCoMKgwqAgdG9fc3Rkb3V0OiBib29sLAo+PiAtKSAt
PiBSZXN1bHQ8U3RyaW5nLCBFcnJvcj4gewo+PiArKSAtPiBSZXN1bHQ8KFN0cmluZywgSm9pbkhh
bmRsZTwoKT4pLCBFcnJvcj4gewo+PiDCoMKgwqDCoMKgIGxldCBqb2JfaWQgPSBmb3JtYXQhKAo+
PiDCoMKgwqDCoMKgwqDCoMKgwqAgInt9Ont9Ont9Ont9Ont9IiwKPj4gwqDCoMKgwqDCoMKgwqDC
oMKgIHN5bmNfam9iLnJlbW90ZS5hc19kZXJlZigpLnVud3JhcF9vcigiLSIpLAo+PiBAQCAtNjE0
LDcgKzYxNSw3IEBAIHB1YiBmbiBkb19zeW5jX2pvYigKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGJh
aWwhKCJjYW4ndCBzeW5jIHRvIHNhbWUgZGF0YXN0b3JlIik7Cj4+IMKgwqDCoMKgwqAgfQo+PiAt
wqDCoMKgIGxldCB1cGlkX3N0ciA9IFdvcmtlclRhc2s6OnNwYXduKAo+PiArwqDCoMKgIGxldCAo
dXBpZF9zdHIsIGhhbmRsZSkgPSBXb3JrZXJUYXNrOjpzcGF3bl93aXRoX2hhbmRsZSgKPj4gwqDC
oMKgwqDCoMKgwqDCoMKgICZ3b3JrZXJfdHlwZSwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIFNvbWUo
am9iX2lkLmNsb25lKCkpLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgYXV0aF9pZC50b19zdHJpbmco
KSwKPj4gQEAgLTcyOCw1ICs3MjksNSBAQCBwdWIgZm4gZG9fc3luY19qb2IoCj4+IMKgwqDCoMKg
wqDCoMKgwqDCoCB9LAo+PiDCoMKgwqDCoMKgICk/Owo+PiAtwqDCoMKgIE9rKHVwaWRfc3RyKQo+
PiArwqDCoMKgIE9rKCh1cGlkX3N0ciwgaGFuZGxlKSkKPj4gwqAgfQo+IAoKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwYnMtZGV2ZWwgbWFpbGluZyBs
aXN0CnBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29t
L2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwK