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 8181F1FF16E
	for <inbox@lore.proxmox.com>; Mon, 12 May 2025 09:48:13 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id EED9F366F9;
	Mon, 12 May 2025 09:48:33 +0200 (CEST)
Message-ID: <8c214e1c-9878-41e6-a988-706eab6601a1@proxmox.com>
Date: Mon, 12 May 2025 09:47:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com>,
 =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
References: <20250508130555.494782-1-c.ebner@proxmox.com>
 <20250508130555.494782-11-c.ebner@proxmox.com>
 <1746793154.56dzxckyhs.astroid@yuna.none>
Content-Language: en-US, de-DE
From: Christian Ebner <c.ebner@proxmox.com>
In-Reply-To: <1746793154.56dzxckyhs.astroid@yuna.none>
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.372 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_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible
 spam tricks
 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. [proxmox.com, datastore.rs, namespace.rs, pull.rs]
Subject: Re: [pbs-devel] [RFC v2 proxmox-backup 10/21] datastore: mark
 namespace as trash instead of deleting it
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>

T24gNS85LzI1IDE0OjI3LCBGYWJpYW4gR3LDvG5iaWNobGVyIHdyb3RlOgo+IE9uIE1heSA4LCAy
MDI1IDM6MDUgcG0sIENocmlzdGlhbiBFYm5lciB3cm90ZToKPj4gQXMgZm9yIGJhY2t1cCBzbmFw
c2hvdHMgYW5kIGdyb3VwcywgbWFyayB0aGUgbmFtZXNwYWNlIGFzIHRyYXNoCj4+IGluc3RlYWQg
b2YgcmVtb3ZpbmcgaXQgYW5kIHRoZSBjb250ZW50cyByaWdodCBhd2F5LCBpZiB0aGUgdHJhc2gK
Pj4gc2hvdWxkIG5vdCBiZSBieXBhc3NlZC4KPj4KPj4gQWN0dWFsIHJlbW92YWwgb2YgdGhlIGhp
cmFyY2hpY2FsIGZvbGRlciBzdHJ1Y3R1cmUgaGFzIHRvIGJlIHRha2VuCj4+IGNhcmUgb2YgYnkg
dGhlIGdhcmJhZ2UgY29sbGVjdGlvbi4KPj4KPj4gSW4gb3JkZXIgdG8gYXZvaWQgcmFjZXMgZHVy
aW5nIHJlbW92YWwsIGZpcnN0IG1hcmsgdGhlIG5hbWVzcGFjZXMgYXMKPj4gdHJhc2ggcGVuZGlu
ZywgbWFyayB0aGUgc25hcHNob3RzIGFuZCBncm91cHMgYXMgdHJhc2ggYW5kIG9ubHkgYWZ0ZXIK
Pj4gcmVuYW1lIHRoZSBwZW5kaW5nIG1hcmtlciBmaWxlIHRvIHRoZSB0cmFzaCBtYXJrZXIgZmls
ZS4gQnkgdGhpcywKPj4gY29uY3VycmVudCBiYWNrdXBzIGNhbiByZW1vdmUgdGhlIHRyYXNoIHBl
bmRpbmcgbWFya2VyIHRvIGF2b2lkIHRoZQo+PiBuYW1lc3BhY2UgYmVpbmcgdHJhc2hlZC4KPj4K
Pj4gT24gcmUtY3JlYXRpb24gb2YgYSB0cmFzaGVkIG5hbWVzcGFjZSByZW1vdmUgdGhlIG1hcmtl
ciBmaWxlIG9uIGl0c2VsZgo+PiBhbmQgYW55IHBhcmVudCBjb21wb25lbnQgZnJvbSBkZWVwZXN0
IHRvIHNoYWxsb3dlc3QuIEFzIHRyYXNoaW5nIGEgZnVsbAo+PiBuYW1lc3BhY2UgY2FuIGFsc28g
c2V0IHRoZSB0cmFzaCBwZW5kaW5nIHN0YXRlIGZvciByZWN1cnNpdmUgbmFtZXNwYWNlCj4+IGNs
ZWFudXAsIHJlbW92ZSBlbmNvdW50ZXJzIG9mIHRoYXQgbWFya2VyIGZpbGUgYXMgd2VsbCB0byBh
dm9pZCB0aGUKPj4gbmFtZXNwYWNlIG9yIGl0cyBwYXJlbnQgYmVpbmcgdHJhc2hlZC4KPiAKPiB0
aGlzIGlzIGZhaXJseSBpbnZvbHZlZCBzaW5jZSB3ZSBkb24ndCBoYXZlIGxvY2tzIG9uIG5hbWVz
cGFjZXMuLgo+IAo+IHNob3VsZCB3ZSBoYXZlIHRoZW0gZm9yIGNyZWF0aW9uL3JlbW92YWwvdHJh
c2hpbmcvdW50cmFzaGluZz8KClRoYXQgaXMgd2hhdCBJIGRpZCB0cnkgdG8gYXZvaWQgYXQgYWxs
IGNvc3Qgd2l0aCB0aGUgdHdvLW1hcmtlciAKYXBwcm9hY2gsIGFzIGxvY2tpbmcgdGhlIG5hbWVz
cGFjZSBtaWdodCBiZSByYXRoZXIgaW52YXNpdmUuIEJ1dCBpZiB0aGF0IApkb2VzIG5vdCB3b3Jr
IG91dCBhcyBpbnRlbmRlZCwgSSBzZWUgbm8gb3RoZXIgd2F5IGFzIHRvIGFkZCBleGNsdXNpdmUg
CmxvY2tpbmcgZm9yIG5hbWVzcGFjZXMgYXMgd2VsbCwgeWVzLgoKPiAKPiBJIGFzc3VtZSB0aG9z
ZSBhcmUgZmFpcmx5IHJhcmUgb2NjdXJyZW5jZXMsIEkgaGF2ZW4ndCB5ZXQgYW5hbHl6ZWQgdGhl
Cj4gaW50ZXJhY3Rpb25zIGhlcmUgdG8gc2VlIHdoZXRoZXIgdGhlIHR3by1tYXJrZXIgYXBwcm9h
Y2ggaXMgYWN0dWFsbHkKPiByYWNlLWZyZWUuLgo+IAo+IE9UT0gsIGRvIHdlIHJlYWxseSBuZWVk
IHRvIChiZSBhYmxlIHRvKSB0cmFzaCBuYW1lc3BhY2VzPwoKWWVzLCBJIHRoaW5rIHdlIGRvIG5l
ZWQgdGhhdCBhcyB3ZWxsIHNpbmNlIHRoZSBkYXRhc3RvcmUncyBoaWVyYXJjaHkgCnNob3VsZCBy
ZW1haW4gaW4gcGxhY2UsIGFuZCB0aGUgbmFtZXNwYWNlIGl0ZXJhdG9yIHJlcXVpcmVzIGEgd2F5
IHRvIApkaXN0aW5ndWlzaCBiZXR3ZWVuIGEgbmFtZXNwYWNlIHdoaWNoIGhhcyBiZWVuIHRyYXNo
ZWQvZGVsZXRlZCBhbmQgYSAKbmFtZXNwYWNlIHdoaWNoIGhhcyBub3QsIGJ1dCBtaWdodCBjb250
YWluIHRyYXNoZWQgaXRlbXMuIE90aGVyd2lzZSBhIAp1c2VyIHJlcXVlc3RpbmcgdG8gZm9yZ2V0
IGEgbmFtZXNwYWNlLCBzdGlsbCBzZWVzIHRoZSAoZW1wdHkgYXMgb25seSAKdHJhc2hlZCBjb250
ZW50cykgbmFtZXNwYWNlIHRyZWUgYWZ0ZXIgdGhlIG9wZXJhdGlvbi4gV2hpY2ggd291bGQgYmUg
CnJhdGhlciB1bmV4cGVjdGVkPwoKPiAKPj4KPj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEVi
bmVyIDxjLmVibmVyQHByb3htb3guY29tPgo+PiAtLS0KPj4gICBwYnMtZGF0YXN0b3JlL3NyYy9k
YXRhc3RvcmUucnMgfCAxMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4+ICAg
c3JjL2FwaTIvYWRtaW4vbmFtZXNwYWNlLnJzICAgIHwgICAyICstCj4+ICAgc3JjL3NlcnZlci9w
dWxsLnJzICAgICAgICAgICAgIHwgICAyICstCj4+ICAgMyBmaWxlcyBjaGFuZ2VkLCAxMjMgaW5z
ZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9wYnMtZGF0YXN0
b3JlL3NyYy9kYXRhc3RvcmUucnMgYi9wYnMtZGF0YXN0b3JlL3NyYy9kYXRhc3RvcmUucnMKPj4g
aW5kZXggMDIzYTZhMTJlLi5iMWQ4MWUxOTkgMTAwNjQ0Cj4+IC0tLSBhL3Bicy1kYXRhc3RvcmUv
c3JjL2RhdGFzdG9yZS5ycwo+PiArKysgYi9wYnMtZGF0YXN0b3JlL3NyYy9kYXRhc3RvcmUucnMK
Pj4gQEAgLTI4LDcgKzI4LDkgQEAgdXNlIHBic19hcGlfdHlwZXM6OnsKPj4gICB9Owo+PiAgIHVz
ZSBwYnNfY29uZmlnOjpCYWNrdXBMb2NrR3VhcmQ7Cj4+ICAgCj4+IC11c2UgY3JhdGU6OmJhY2t1
cF9pbmZvOjp7QmFja3VwRGlyLCBCYWNrdXBHcm91cCwgQmFja3VwSW5mbywgTGlzdEJhY2t1cEZp
bHRlciwgT0xEX0xPQ0tJTkd9Owo+PiArdXNlIGNyYXRlOjpiYWNrdXBfaW5mbzo6ewo+PiArICAg
IEJhY2t1cERpciwgQmFja3VwR3JvdXAsIEJhY2t1cEluZm8sIExpc3RCYWNrdXBGaWx0ZXIsIE9M
RF9MT0NLSU5HLCBUUkFTSF9NQVJLRVJfRklMRU5BTUUsCj4+ICt9Owo+PiAgIHVzZSBjcmF0ZTo6
Y2h1bmtfc3RvcmU6OkNodW5rU3RvcmU7Cj4+ICAgdXNlIGNyYXRlOjpkeW5hbWljX2luZGV4Ojp7
RHluYW1pY0luZGV4UmVhZGVyLCBEeW5hbWljSW5kZXhXcml0ZXJ9Owo+PiAgIHVzZSBjcmF0ZTo6
Zml4ZWRfaW5kZXg6OntGaXhlZEluZGV4UmVhZGVyLCBGaXhlZEluZGV4V3JpdGVyfTsKPj4gQEAg
LTQyLDYgKzQ0LDggQEAgdXNlIGNyYXRlOjpEYXRhQmxvYjsKPj4gICBzdGF0aWMgREFUQVNUT1JF
X01BUDogTGF6eUxvY2s8TXV0ZXg8SGFzaE1hcDxTdHJpbmcsIEFyYzxEYXRhU3RvcmVJbXBsPj4+
PiA9Cj4+ICAgICAgIExhenlMb2NrOjpuZXcofHwgTXV0ZXg6Om5ldyhIYXNoTWFwOjpuZXcoKSkp
Owo+PiAgIAo+PiArY29uc3QgVFJBU0hfUEVORElOR19NQVJLRVJfRklMRU5BTUU6ICZzdHIgPSAi
LnBlbmRpbmciOwo+PiArCj4+ICAgLy8vIGNoZWNrcyBpZiBhdXRoX2lkIGlzIG93bmVyLCBvciwg
aWYgb3duZXIgaXMgYSB0b2tlbiwgaWYKPj4gICAvLy8gYXV0aF9pZCBpcyB0aGUgdXNlciBvZiB0
aGUgdG9rZW4KPj4gICBwdWIgZm4gY2hlY2tfYmFja3VwX293bmVyKG93bmVyOiAmQXV0aGlkLCBh
dXRoX2lkOiAmQXV0aGlkKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4+IEBAIC01NTQsNiArNTU4
LDcgQEAgaW1wbCBEYXRhU3RvcmUgewo+PiAgICAgICAgICAgbnNfZnVsbF9wYXRoLnB1c2gobnMu
cGF0aCgpKTsKPj4gICAKPj4gICAgICAgICAgIHN0ZDo6ZnM6OmNyZWF0ZV9kaXJfYWxsKG5zX2Z1
bGxfcGF0aCk/Owo+PiArICAgICAgICBzZWxmLnVudHJhc2hfbmFtZXNwYWNlKCZucyk/Owo+PiAg
IAo+PiAgICAgICAgICAgT2sobnMpCj4+ICAgICAgIH0KPj4gQEAgLTU2NSw2ICs1NzAsMzQgQEAg
aW1wbCBEYXRhU3RvcmUgewo+PiAgICAgICAgICAgcGF0aC5leGlzdHMoKQo+PiAgICAgICB9Cj4+
ICAgCj4+ICsgICAgLy8vIFJlbW92ZSB0aGUgbmFtZXNwYWNlIGFuZCBhbGwgaXQncyBwYXJlbnQg
Y29tcG9uZW50cyBmcm9tIHRoZSB0cmFzaCBieSByZW1vdmluZyB0aGUgdHJhc2ggb3IKPj4gKyAg
ICAvLy8gdHJhc2gtcGVuZGluZyBtYXJrZXIgZmlsZSBmb3IgZWFjaCBuYW1lc3BhY2UgbGV2ZWwg
ZnJvbSBkZWVwZXN0IHRvIHNoYWxsb3dlc3QuIE1pc3NpbmcgZmlsZXMKPj4gKyAgICAvLy8gYXJl
IGlnbm9yZWQuCj4+ICsgICAgcHViIGZuIHVudHJhc2hfbmFtZXNwYWNlKCZzZWxmLCBuYW1lc3Bh
Y2U6ICZCYWNrdXBOYW1lc3BhY2UpIC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKPj4gKyAgICAgICAg
bGV0IG11dCBuYW1lc3BhY2UgPSBuYW1lc3BhY2UuY2xvbmUoKTsKPj4gKyAgICAgICAgd2hpbGUg
bmFtZXNwYWNlLmRlcHRoKCkgPiAwIHsKPj4gKyAgICAgICAgICAgIGxldCBtdXQgdHJhc2hfZmls
ZV9wYXRoID0gc2VsZi5iYXNlX3BhdGgoKTsKPj4gKyAgICAgICAgICAgIHRyYXNoX2ZpbGVfcGF0
aC5wdXNoKG5hbWVzcGFjZS5wYXRoKCkpOwo+PiArICAgICAgICAgICAgbGV0IG11dCBwZW5kaW5n
X2ZpbGVfcGF0aCA9IHRyYXNoX2ZpbGVfcGF0aC5jbG9uZSgpOwo+PiArICAgICAgICAgICAgcGVu
ZGluZ19maWxlX3BhdGgucHVzaChUUkFTSF9QRU5ESU5HX01BUktFUl9GSUxFTkFNRSk7Cj4+ICsg
ICAgICAgICAgICBpZiBsZXQgRXJyKGVycikgPSBzdGQ6OmZzOjpyZW1vdmVfZmlsZSgmcGVuZGlu
Z19maWxlX3BhdGgpIHsKPj4gKyAgICAgICAgICAgICAgICAvLyBpZ25vcmUgbm90IGZvdW5kLCBl
aXRoZXIgbm90IHRyYXNoZWQgb3IgdW4tdHJhc2hlZCBieSBjb25jdXJyZW50IG9wZXJhdGlvbgo+
PiArICAgICAgICAgICAgICAgIGlmIGVyci5raW5kKCkgIT0gc3RkOjppbzo6RXJyb3JLaW5kOjpO
b3RGb3VuZCB7Cj4+ICsgICAgICAgICAgICAgICAgICAgIGJhaWwhKCJmYWlsZWQgdG8gcmVtb3Zl
IHRyYXNoLXBlbmRpbmcgZmlsZSB7dHJhc2hfZmlsZV9wYXRoOj99OiB7ZXJyfSIpOwo+PiArICAg
ICAgICAgICAgICAgIH0KPj4gKyAgICAgICAgICAgIH0KPj4gKyAgICAgICAgICAgIHRyYXNoX2Zp
bGVfcGF0aC5wdXNoKFRSQVNIX01BUktFUl9GSUxFTkFNRSk7Cj4+ICsgICAgICAgICAgICBpZiBs
ZXQgRXJyKGVycikgPSBzdGQ6OmZzOjpyZW1vdmVfZmlsZSgmdHJhc2hfZmlsZV9wYXRoKSB7Cj4+
ICsgICAgICAgICAgICAgICAgLy8gaWdub3JlIG5vdCBmb3VuZCwgZWl0aGVyIG5vdCB0cmFzaGVk
IG9yIHVuLXRyYXNoZWQgYnkgY29uY3VycmVudCBvcGVyYXRpb24KPj4gKyAgICAgICAgICAgICAg
ICBpZiBlcnIua2luZCgpICE9IHN0ZDo6aW86OkVycm9yS2luZDo6Tm90Rm91bmQgewo+PiArICAg
ICAgICAgICAgICAgICAgICBiYWlsISgiZmFpbGVkIHRvIHJlbW92ZSB0cmFzaCBmaWxlIHt0cmFz
aF9maWxlX3BhdGg6P306IHtlcnJ9Iik7Cj4+ICsgICAgICAgICAgICAgICAgfQo+PiArICAgICAg
ICAgICAgfQo+PiArICAgICAgICAgICAgbmFtZXNwYWNlLnBvcCgpOwo+PiArICAgICAgICB9Cj4+
ICsgICAgICAgIE9rKCgpKQo+PiArICAgIH0KPj4gKwo+PiAgICAgICAvLy8gUmVtb3ZlIGFsbCBi
YWNrdXAgZ3JvdXBzIG9mIGEgc2luZ2xlIG5hbWVzcGFjZSBsZXZlbCBidXQgbm90IHRoZSBuYW1l
c3BhY2UgaXRzZWxmLgo+PiAgICAgICAvLy8KPj4gICAgICAgLy8vIERvZXMgKm5vdCogZGVzY2Vu
ZHMgaW50byBjaGlsZC1uYW1lc3BhY2VzIGFuZCBkb2Vzbid0IHJlbW9lcyB0aGUgbmFtZXNwYWNl
IGl0c2VsZiBlaXRoZXIuCj4+IEBAIC01NzQsNiArNjA3LDcgQEAgaW1wbCBEYXRhU3RvcmUgewo+
PiAgICAgICBwdWIgZm4gcmVtb3ZlX25hbWVzcGFjZV9ncm91cHMoCj4+ICAgICAgICAgICBzZWxm
OiAmQXJjPFNlbGY+LAo+PiAgICAgICAgICAgbnM6ICZCYWNrdXBOYW1lc3BhY2UsCj4+ICsgICAg
ICAgIHNraXBfdHJhc2g6IGJvb2wsCj4+ICAgICAgICkgLT4gUmVzdWx0PChib29sLCBCYWNrdXBH
cm91cERlbGV0ZVN0YXRzKSwgRXJyb3I+IHsKPj4gICAgICAgICAgIC8vIEZJWE1FOiBsb2NraW5n
PyBUaGUgc2luZ2xlIGdyb3Vwcy9zbmFwc2hvdHMgYXJlIGFscmVhZHkgcHJvdGVjdGVkLCBzbyBt
YXkgbm90IGJlCj4+ICAgICAgICAgICAvLyBuZWNlc3NhcnkgKGRlcGVuZHMgb24gd2hhdCB3ZSBh
bGwgYWxsb3cgdG8gZG8gd2l0aCBuYW1lc3BhY2VzKQo+PiBAQCAtNTgzLDIwICs2MTcsMjIgQEAg
aW1wbCBEYXRhU3RvcmUgewo+PiAgICAgICAgICAgbGV0IG11dCBzdGF0cyA9IEJhY2t1cEdyb3Vw
RGVsZXRlU3RhdHM6OmRlZmF1bHQoKTsKPj4gICAKPj4gICAgICAgICAgIGZvciBncm91cCBpbiBz
ZWxmLml0ZXJfYmFja3VwX2dyb3Vwcyhucy50b19vd25lZCgpKT8gewo+PiAtICAgICAgICAgICAg
bGV0IGRlbGV0ZV9zdGF0cyA9IGdyb3VwPy5kZXN0cm95KHRydWUpPzsKPj4gKyAgICAgICAgICAg
IGxldCBkZWxldGVfc3RhdHMgPSBncm91cD8uZGVzdHJveShza2lwX3RyYXNoKT87Cj4+ICAgICAg
ICAgICAgICAgc3RhdHMuYWRkKCZkZWxldGVfc3RhdHMpOwo+PiAgICAgICAgICAgICAgIHJlbW92
ZWRfYWxsX2dyb3VwcyA9IHJlbW92ZWRfYWxsX2dyb3VwcyAmJiBkZWxldGVfc3RhdHMuYWxsX3Jl
bW92ZWQoKTsKPj4gICAgICAgICAgIH0KPj4gICAKPj4gLSAgICAgICAgbGV0IGJhc2VfZmlsZSA9
IHN0ZDo6ZnM6OkZpbGU6Om9wZW4oc2VsZi5iYXNlX3BhdGgoKSk/Owo+PiAtICAgICAgICBsZXQg
YmFzZV9mZCA9IGJhc2VfZmlsZS5hc19yYXdfZmQoKTsKPj4gLSAgICAgICAgZm9yIHR5IGluIEJh
Y2t1cFR5cGU6Oml0ZXIoKSB7Cj4+IC0gICAgICAgICAgICBsZXQgbXV0IHR5X2RpciA9IG5zLnBh
dGgoKTsKPj4gLSAgICAgICAgICAgIHR5X2Rpci5wdXNoKHR5LnRvX3N0cmluZygpKTsKPj4gLSAg
ICAgICAgICAgIC8vIGJlc3QgZWZmb3J0IG9ubHksIGJ1dCB3ZSBwcm9iYWJseSBzaG91bGQgbG9n
IHRoZSBlcnJvcgo+PiAtICAgICAgICAgICAgaWYgbGV0IEVycihlcnIpID0gdW5saW5rYXQoU29t
ZShiYXNlX2ZkKSwgJnR5X2RpciwgVW5saW5rYXRGbGFnczo6UmVtb3ZlRGlyKSB7Cj4+IC0gICAg
ICAgICAgICAgICAgaWYgZXJyICE9IG5peDo6ZXJybm86OkVycm5vOjpFTk9FTlQgewo+PiAtICAg
ICAgICAgICAgICAgICAgICBsb2c6OmVycm9yISgiZmFpbGVkIHRvIHJlbW92ZSBiYWNrdXAgdHlw
ZSB7dHl9IGluIHtuc30gLSB7ZXJyfSIpOwo+PiArICAgICAgICBpZiBza2lwX3RyYXNoIHsKPj4g
KyAgICAgICAgICAgIGxldCBiYXNlX2ZpbGUgPSBzdGQ6OmZzOjpGaWxlOjpvcGVuKHNlbGYuYmFz
ZV9wYXRoKCkpPzsKPj4gKyAgICAgICAgICAgIGxldCBiYXNlX2ZkID0gYmFzZV9maWxlLmFzX3Jh
d19mZCgpOwo+PiArICAgICAgICAgICAgZm9yIHR5IGluIEJhY2t1cFR5cGU6Oml0ZXIoKSB7Cj4+
ICsgICAgICAgICAgICAgICAgbGV0IG11dCB0eV9kaXIgPSBucy5wYXRoKCk7Cj4+ICsgICAgICAg
ICAgICAgICAgdHlfZGlyLnB1c2godHkudG9fc3RyaW5nKCkpOwo+PiArICAgICAgICAgICAgICAg
IC8vIGJlc3QgZWZmb3J0IG9ubHksIGJ1dCB3ZSBwcm9iYWJseSBzaG91bGQgbG9nIHRoZSBlcnJv
cgo+PiArICAgICAgICAgICAgICAgIGlmIGxldCBFcnIoZXJyKSA9IHVubGlua2F0KFNvbWUoYmFz
ZV9mZCksICZ0eV9kaXIsIFVubGlua2F0RmxhZ3M6OlJlbW92ZURpcikgewo+PiArICAgICAgICAg
ICAgICAgICAgICBpZiBlcnIgIT0gbml4OjplcnJubzo6RXJybm86OkVOT0VOVCB7Cj4+ICsgICAg
ICAgICAgICAgICAgICAgICAgICBsb2c6OmVycm9yISgiZmFpbGVkIHRvIHJlbW92ZSBiYWNrdXAg
dHlwZSB7dHl9IGluIHtuc30gLSB7ZXJyfSIpOwo+PiArICAgICAgICAgICAgICAgICAgICB9Cj4+
ICAgICAgICAgICAgICAgICAgIH0KPj4gICAgICAgICAgICAgICB9Cj4+ICAgICAgICAgICB9Cj4+
IEBAIC02MTMsNiArNjQ5LDcgQEAgaW1wbCBEYXRhU3RvcmUgewo+PiAgICAgICAgICAgc2VsZjog
JkFyYzxTZWxmPiwKPj4gICAgICAgICAgIG5zOiAmQmFja3VwTmFtZXNwYWNlLAo+PiAgICAgICAg
ICAgZGVsZXRlX2dyb3VwczogYm9vbCwKPj4gKyAgICAgICAgc2tpcF90cmFzaDogYm9vbCwKPj4g
ICAgICAgKSAtPiBSZXN1bHQ8KGJvb2wsIEJhY2t1cEdyb3VwRGVsZXRlU3RhdHMpLCBFcnJvcj4g
ewo+PiAgICAgICAgICAgbGV0IHN0b3JlID0gc2VsZi5uYW1lKCk7Cj4+ICAgICAgICAgICBsZXQg
bXV0IHJlbW92ZWRfYWxsX3JlcXVlc3RlZCA9IHRydWU7Cj4+IEBAIC02MjAsMTYgKzY1Nyw2OCBA
QCBpbXBsIERhdGFTdG9yZSB7Cj4+ICAgICAgICAgICBpZiBkZWxldGVfZ3JvdXBzIHsKPj4gICAg
ICAgICAgICAgICBsb2c6OmluZm8hKCJyZW1vdmluZyB3aG9sZSBuYW1lc3BhY2UgcmVjdXJzaXZl
bHkgYmVsb3cge3N0b3JlfTove25zfSIsKTsKPj4gICAgICAgICAgICAgICBmb3IgbnMgaW4gc2Vs
Zi5yZWN1cnNpdmVfaXRlcl9iYWNrdXBfbnMobnMudG9fb3duZWQoKSwgTmFtZXNwYWNlTGlzdEZp
bHRlcjo6QWN0aXZlKT8gewo+PiAtICAgICAgICAgICAgICAgIGxldCAocmVtb3ZlZF9uc19ncm91
cHMsIGRlbGV0ZV9zdGF0cykgPSBzZWxmLnJlbW92ZV9uYW1lc3BhY2VfZ3JvdXBzKCZucz8pPzsK
Pj4gKyAgICAgICAgICAgICAgICBsZXQgbmFtZXNwYWNlID0gbnM/Owo+PiArCj4+ICsgICAgICAg
ICAgICAgICAgaWYgIXNraXBfdHJhc2ggewo+PiArICAgICAgICAgICAgICAgICAgICBsZXQgbXV0
IHBhdGggPSBzZWxmLmJhc2VfcGF0aCgpOwo+PiArICAgICAgICAgICAgICAgICAgICBwYXRoLnB1
c2gobmFtZXNwYWNlLnBhdGgoKSk7Cj4+ICsgICAgICAgICAgICAgICAgICAgIHBhdGgucHVzaChU
UkFTSF9QRU5ESU5HX01BUktFUl9GSUxFTkFNRSk7Cj4+ICsgICAgICAgICAgICAgICAgICAgIGlm
IGxldCBFcnIoZXJyKSA9IHN0ZDo6ZnM6OkZpbGU6OmNyZWF0ZSgmcGF0aCkgewo+IAo+IHBlbmRp
bmcgbWFya2VyIGNyZWF0ZWQgaGVyZSBpZmYgZGVsZXRlX2dyb3VwcyAmJiAhc2tpcF90cmFzaAo+
IAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXJyLmtpbmQoKSAhPSBzdGQ6OmlvOjpF
cnJvcktpbmQ6OkFscmVhZHlFeGlzdHMgewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBFcnIoZXJyKS5jb250ZXh0KCJmYWlsZWQgdG8gc2V0IHRyYXNoIHBlbmRpbmcgbWFy
a2VyIGZpbGUiKTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIH0KPj4gKyAgICAgICAgICAg
ICAgICAgICAgfQo+PiArICAgICAgICAgICAgICAgIH0KPj4gKwo+PiArICAgICAgICAgICAgICAg
IGxldCAocmVtb3ZlZF9uc19ncm91cHMsIGRlbGV0ZV9zdGF0cykgPQo+PiArICAgICAgICAgICAg
ICAgICAgICBzZWxmLnJlbW92ZV9uYW1lc3BhY2VfZ3JvdXBzKCZuYW1lc3BhY2UsIHNraXBfdHJh
c2gpPzsKPj4gICAgICAgICAgICAgICAgICAgc3RhdHMuYWRkKCZkZWxldGVfc3RhdHMpOwo+PiAg
ICAgICAgICAgICAgICAgICByZW1vdmVkX2FsbF9yZXF1ZXN0ZWQgPSByZW1vdmVkX2FsbF9yZXF1
ZXN0ZWQgJiYgcmVtb3ZlZF9uc19ncm91cHM7Cj4+ICsKPj4gKyAgICAgICAgICAgICAgICBpZiAh
c2tpcF90cmFzaCAmJiAhcmVtb3ZlZF9uc19ncm91cHMgewo+PiArICAgICAgICAgICAgICAgICAg
ICBzZWxmLnVudHJhc2hfbmFtZXNwYWNlKCZuYW1lc3BhY2UpPzsKPj4gKyAgICAgICAgICAgICAg
ICB9Cj4+ICAgICAgICAgICAgICAgfQo+PiAgICAgICAgICAgfSBlbHNlIHsKPj4gICAgICAgICAg
ICAgICBsb2c6OmluZm8hKCJwcnVuaW5nIGVtcHR5IG5hbWVzcGFjZSByZWN1cnNpdmVseSBiZWxv
dyB7c3RvcmV9Oi97bnN9Iik7Cj4+ICAgICAgICAgICB9Cj4+ICAgCj4+IC0gICAgICAgIHJlbW92
ZWRfYWxsX3JlcXVlc3RlZCA9Cj4+IC0gICAgICAgICAgICByZW1vdmVkX2FsbF9yZXF1ZXN0ZWQg
JiYgc2VsZi5kZXN0cm95X25hbWVzcGFjZV9yZWN1cnNpdmUobnMsIGRlbGV0ZV9ncm91cHMpPzsK
Pj4gKyAgICAgICAgaWYgc2tpcF90cmFzaCB7Cj4+ICsgICAgICAgICAgICByZW1vdmVkX2FsbF9y
ZXF1ZXN0ZWQgPQo+PiArICAgICAgICAgICAgICAgIHJlbW92ZWRfYWxsX3JlcXVlc3RlZCAmJiBz
ZWxmLmRlc3Ryb3lfbmFtZXNwYWNlX3JlY3Vyc2l2ZShucywgZGVsZXRlX2dyb3Vwcyk/Owo+PiAr
ICAgICAgICAgICAgcmV0dXJuIE9rKChyZW1vdmVkX2FsbF9yZXF1ZXN0ZWQsIHN0YXRzKSk7Cj4g
Cj4gZWFybHkgcmV0dXJuIGhlcmUgaWZmIHNraXBfdHJhc2gKPiAKPj4gKyAgICAgICAgfQo+PiAr
Cj4+ICsgICAgICAgIGxldCBtdXQgY2hpbGRyZW4gPSBzZWxmCj4+ICsgICAgICAgICAgICAucmVj
dXJzaXZlX2l0ZXJfYmFja3VwX25zKG5zLnRvX293bmVkKCksIE5hbWVzcGFjZUxpc3RGaWx0ZXI6
OkFjdGl2ZSk/Cj4+ICsgICAgICAgICAgICAuY29sbGVjdDo6PFJlc3VsdDxWZWM8QmFja3VwTmFt
ZXNwYWNlPiwgRXJyb3I+PigpPzsKPj4gKwo+PiArICAgICAgICBjaGlsZHJlbi5zb3J0X2J5X2tl
eSh8Ynwgc3RkOjpjbXA6OlJldmVyc2UoYi5kZXB0aCgpKSk7Cj4+ICsKPj4gKyAgICAgICAgbGV0
IG11dCBhbGxfdHJhc2hlZCA9IHRydWU7Cj4+ICsgICAgICAgIGZvciBucyBpbiBjaGlsZHJlbi5p
dGVyKCkgewo+PiArICAgICAgICAgICAgbGV0IG11dCBuc19kaXIgPSBucy5wYXRoKCk7Cj4+ICsg
ICAgICAgICAgICBuc19kaXIucHVzaCgibnMiKTsKPj4gKwo+PiArICAgICAgICAgICAgaWYgIW5z
LmlzX3Jvb3QoKSB7Cj4+ICsgICAgICAgICAgICAgICAgbGV0IG11dCBwYXRoID0gc2VsZi5iYXNl
X3BhdGgoKTsKPj4gKyAgICAgICAgICAgICAgICBwYXRoLnB1c2gobnMucGF0aCgpKTsKPj4gKwo+
PiArICAgICAgICAgICAgICAgIGxldCBwZW5kaW5nX3BhdGggPSBwYXRoLmpvaW4oVFJBU0hfUEVO
RElOR19NQVJLRVJfRklMRU5BTUUpOwo+PiArICAgICAgICAgICAgICAgIHBhdGgucHVzaChUUkFT
SF9NQVJLRVJfRklMRU5BTUUpOwo+PiArICAgICAgICAgICAgICAgIGlmIGxldCBFcnIoZXJyKSA9
IHN0ZDo6ZnM6OnJlbmFtZShwZW5kaW5nX3BhdGgsIHBhdGgpIHsKPiAKPiBwZW5kaW5nIG1hcmtl
ciBhc3N1bWVkIHRvIGV4aXN0IGhlcmUgaWZmICFza2lwX3RyYXNoCj4gCj4+ICsgICAgICAgICAg
ICAgICAgICAgIGlmIGVyci5raW5kKCkgPT0gc3RkOjppbzo6RXJyb3JLaW5kOjpOb3RGb3VuZCB7
Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBhbGxfdHJhc2hlZCA9IGZhbHNlOwo+PiArICAg
ICAgICAgICAgICAgICAgICB9IGVsc2Ugewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIEVycihlcnIpLmNvbnRleHQoIlJlbmFtaW5nIHBlbmRpbmcgbWFya2VyIHRvIHRyYXNoIG1h
cmtlciBmYWlsZWQiKTsKPj4gKyAgICAgICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAg
ICAgIH0KPj4gKyAgICAgICAgICAgIH0KPj4gKyAgICAgICAgfQo+PiArCj4+ICsgICAgICAgIGlm
ICFhbGxfdHJhc2hlZCB7Cj4+ICsgICAgICAgICAgICBiYWlsISgiZmFpbGVkIHRvIHBydW5lIG5h
bWVzcGFjZSwgbm90IGVtcHR5Iik7Cj4gCj4gd3JvbmcgZXJyb3IgcmV0dXJuZWQgYXMgYSByZXN1
bHQuLgoKQWggZ29vZCBjYXRjaCEgSW5kZWVkIHRoZSBsb2dpYyBkb2VzIG5vdCB3b3JrIHdoZW4g
YGRlbGV0ZV9ncm91cHNgIGFuZCAKYHNraXBfdHJhc2hgIGlzIGZhbHNlLCBhbmQgdGhlIG5hbWVz
cGFjZSB0byBkZWxldGUgYmVpbmcgZW1wdHkuIFdpbGwgZml4IAp0aGlzIGluIGFuIHVwY29taW5n
IGl0ZXJhdGlvbiBvZiB0aGUgcGF0Y2hlcy4KCj4gCj4+ICsgICAgICAgIH0KPj4gICAKPj4gICAg
ICAgICAgIE9rKChyZW1vdmVkX2FsbF9yZXF1ZXN0ZWQsIHN0YXRzKSkKPj4gICAgICAgfQo+PiBA
QCAtNjU3LDYgKzc0NiwyNCBAQCBpbXBsIERhdGFTdG9yZSB7Cj4+ICAgICAgICAgICAgICAgbGV0
IF8gPSB1bmxpbmthdChTb21lKGJhc2VfZmQpLCAmbnNfZGlyLCBVbmxpbmthdEZsYWdzOjpSZW1v
dmVEaXIpOwo+PiAgIAo+PiAgICAgICAgICAgICAgIGlmICFucy5pc19yb290KCkgewo+PiArICAg
ICAgICAgICAgICAgIGxldCByZWxfdHJhc2hfcGF0aCA9IG5zLnBhdGgoKS5qb2luKFRSQVNIX01B
UktFUl9GSUxFTkFNRSk7Cj4+ICsgICAgICAgICAgICAgICAgaWYgbGV0IEVycihlcnIpID0KPj4g
KyAgICAgICAgICAgICAgICAgICAgdW5saW5rYXQoU29tZShiYXNlX2ZkKSwgJnJlbF90cmFzaF9w
YXRoLCBVbmxpbmthdEZsYWdzOjpOb1JlbW92ZURpcikKPj4gKyAgICAgICAgICAgICAgICB7Cj4+
ICsgICAgICAgICAgICAgICAgICAgIGlmIGVyciAhPSBuaXg6OmVycm5vOjpFcnJubzo6RU5PRU5U
IHsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGJhaWwhKCJyZW1vdmluZyB0aGUgdHJhc2gg
ZmlsZSAne3JlbF90cmFzaF9wYXRoOj99JyBmYWlsZWQgLSB7ZXJyfSIpCj4+ICsgICAgICAgICAg
ICAgICAgICAgIH0KPj4gKyAgICAgICAgICAgICAgICB9Cj4+ICsgICAgICAgICAgICAgICAgbGV0
IHJlbF9wZW5kaW5nX3BhdGggPSBucy5wYXRoKCkuam9pbihUUkFTSF9QRU5ESU5HX01BUktFUl9G
SUxFTkFNRSk7Cj4+ICsgICAgICAgICAgICAgICAgaWYgbGV0IEVycihlcnIpID0KPj4gKyAgICAg
ICAgICAgICAgICAgICAgdW5saW5rYXQoU29tZShiYXNlX2ZkKSwgJnJlbF9wZW5kaW5nX3BhdGgs
IFVubGlua2F0RmxhZ3M6Ok5vUmVtb3ZlRGlyKQo+PiArICAgICAgICAgICAgICAgIHsKPj4gKyAg
ICAgICAgICAgICAgICAgICAgaWYgZXJyICE9IG5peDo6ZXJybm86OkVycm5vOjpFTk9FTlQgewo+
PiArICAgICAgICAgICAgICAgICAgICAgICAgYmFpbCEoCj4+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInJlbW92aW5nIHRoZSB0cmFzaCBwZW5kaW5nIGZpbGUgJ3tyZWxfcGVuZGluZ19w
YXRoOj99JyBmYWlsZWQgLSB7ZXJyfSIKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICkKPj4g
KyAgICAgICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAgICAgIH0KPj4gICAgICAgICAg
ICAgICAgICAgbWF0Y2ggdW5saW5rYXQoU29tZShiYXNlX2ZkKSwgJm5zLnBhdGgoKSwgVW5saW5r
YXRGbGFnczo6UmVtb3ZlRGlyKSB7Cj4+ICAgICAgICAgICAgICAgICAgICAgICBPaygoKSkgPT4g
bG9nOjpkZWJ1ZyEoInJlbW92ZWQgbmFtZXNwYWNlIHtuc30iKSwKPj4gICAgICAgICAgICAgICAg
ICAgICAgIEVycihuaXg6OmVycm5vOjpFcnJubzo6RU5PRU5UKSA9PiB7Cj4+IGRpZmYgLS1naXQg
YS9zcmMvYXBpMi9hZG1pbi9uYW1lc3BhY2UucnMgYi9zcmMvYXBpMi9hZG1pbi9uYW1lc3BhY2Uu
cnMKPj4gaW5kZXggZTU0NjM1MjRhLi5hMTJkOTc4ODMgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9hcGky
L2FkbWluL25hbWVzcGFjZS5ycwo+PiArKysgYi9zcmMvYXBpMi9hZG1pbi9uYW1lc3BhY2UucnMK
Pj4gQEAgLTE2Niw3ICsxNjYsNyBAQCBwdWIgZm4gZGVsZXRlX25hbWVzcGFjZSgKPj4gICAKPj4g
ICAgICAgbGV0IGRhdGFzdG9yZSA9IERhdGFTdG9yZTo6bG9va3VwX2RhdGFzdG9yZSgmc3RvcmUs
IFNvbWUoT3BlcmF0aW9uOjpXcml0ZSkpPzsKPj4gICAKPj4gLSAgICBsZXQgKHJlbW92ZWRfYWxs
LCBzdGF0cykgPSBkYXRhc3RvcmUucmVtb3ZlX25hbWVzcGFjZV9yZWN1cnNpdmUoJm5zLCBkZWxl
dGVfZ3JvdXBzKT87Cj4+ICsgICAgbGV0IChyZW1vdmVkX2FsbCwgc3RhdHMpID0gZGF0YXN0b3Jl
LnJlbW92ZV9uYW1lc3BhY2VfcmVjdXJzaXZlKCZucywgZGVsZXRlX2dyb3VwcywgdHJ1ZSk/Owo+
PiAgICAgICBpZiAhcmVtb3ZlZF9hbGwgewo+PiAgICAgICAgICAgbGV0IGVycl9tc2cgPSBpZiBk
ZWxldGVfZ3JvdXBzIHsKPj4gICAgICAgICAgICAgICBpZiBkYXRhc3RvcmUub2xkX2xvY2tpbmco
KSB7Cj4+IGRpZmYgLS1naXQgYS9zcmMvc2VydmVyL3B1bGwucnMgYi9zcmMvc2VydmVyL3B1bGwu
cnMKPj4gaW5kZXggZDNjNmZjZjZhLi5hNjBjY2JmMTAgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9zZXJ2
ZXIvcHVsbC5ycwo+PiArKysgYi9zcmMvc2VydmVyL3B1bGwucnMKPj4gQEAgLTcyOSw3ICs3Mjks
NyBAQCBmbiBjaGVja19hbmRfcmVtb3ZlX25zKHBhcmFtczogJlB1bGxQYXJhbWV0ZXJzLCBsb2Nh
bF9uczogJkJhY2t1cE5hbWVzcGFjZSkgLT4gUgo+PiAgICAgICBsZXQgKHJlbW92ZWRfYWxsLCBf
ZGVsZXRlX3N0YXRzKSA9IHBhcmFtcwo+PiAgICAgICAgICAgLnRhcmdldAo+PiAgICAgICAgICAg
LnN0b3JlCj4+IC0gICAgICAgIC5yZW1vdmVfbmFtZXNwYWNlX3JlY3Vyc2l2ZShsb2NhbF9ucywg
dHJ1ZSk/Owo+PiArICAgICAgICAucmVtb3ZlX25hbWVzcGFjZV9yZWN1cnNpdmUobG9jYWxfbnMs
IHRydWUsIHRydWUpPzsKPj4gICAKPj4gICAgICAgT2socmVtb3ZlZF9hbGwpCj4+ICAgfQo+PiAt
LSAKPj4gMi4zOS41Cj4+Cj4+Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCj4+IHBicy1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gcGJzLWRldmVsQGxp
c3RzLnByb3htb3guY29tCj4+IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWls
bWFuL2xpc3RpbmZvL3Bicy1kZXZlbAo+Pgo+Pgo+Pgo+IAo+IAo+IF9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gcGJzLWRldmVsIG1haWxpbmcgbGlzdAo+
IHBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20v
Y2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bicy1kZXZlbAo+IAo+IAoKCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwYnMtZGV2ZWwgbWFpbGluZyBsaXN0
CnBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2Nn
aS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwK