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 336A31FF18C
	for <inbox@lore.proxmox.com>; Mon, 12 May 2025 12:02:48 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 7454016DD;
	Mon, 12 May 2025 12:03:09 +0200 (CEST)
Date: Mon, 12 May 2025 12:03:03 +0200
From: Fabian =?iso-8859-1?q?Gr=FCnbichler?= <f.gruenbichler@proxmox.com>
To: Christian Ebner <c.ebner@proxmox.com>,
 Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com>
References: <20250508130555.494782-1-c.ebner@proxmox.com>
 <20250508130555.494782-19-c.ebner@proxmox.com>
 <1746793013.k8qdvp27bh.astroid@yuna.none>
 <39b85c49-8a09-4702-8a76-2d7bdbc500e5@proxmox.com>
In-Reply-To: <39b85c49-8a09-4702-8a76-2d7bdbc500e5@proxmox.com>
MIME-Version: 1.0
User-Agent: astroid/0.16.0 (https://github.com/astroidmail/astroid)
Message-Id: <1747042049.qdgxw6i7os.astroid@yuna.none>
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.504 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
 POISEN_SPAM_PILL          0.1 Meta: its spam
 POISEN_SPAM_PILL_1        0.1 random spam to be learned in bayes
 POISEN_SPAM_PILL_3        0.1 random spam to be learned in bayes
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: Re: [pbs-devel] [RFC v2 proxmox-backup 18/21] api: admin: implement
 endpoints to restore trashed contents
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-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: pbs-devel-bounces@lists.proxmox.com
Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com>

T24gTWF5IDksIDIwMjUgMjo1OSBwbSwgQ2hyaXN0aWFuIEVibmVyIHdyb3RlOgo+IFRoYW5rcyBm
b3IgZmVlZGJhY2ssIHdpbGwgaGF2ZSBhIGNsb3NlciBsb29rIG5leHQgd2Vlay4KPiAKPiBBbGxv
dyBtZSB0d28gcXVpY2sgcXVlc3Rpb25zIGlubGluZSB0aG91Z2guLi4KPiAKPiBPbiA1LzkvMjUg
MTQ6MjcsIEZhYmlhbiBHcsO8bmJpY2hsZXIgd3JvdGU6Cj4+IE9uIE1heSA4LCAyMDI1IDM6MDUg
cG0sIENocmlzdGlhbiBFYm5lciB3cm90ZToKPj4+IEltcGxlbWVudHMgdGhlIGFwaSBlbmRwb2lu
dHMgdG8gcmVzdG9yZSB0cmFzaGVkIGNvbnRlbnRzIGNvbnRhaW5lZAo+Pj4gd2l0aGluIG5hbWVz
cGFjZXMsIGJhY2t1cCBncm91cHMgb3IgaW5kaXZpZHVhbCBzbmFwc2hvdHMuCj4+Pgo+Pj4gU2ln
bmVkLW9mZi1ieTogQ2hyaXN0aWFuIEVibmVyIDxjLmVibmVyQHByb3htb3guY29tPgo+Pj4gLS0t
Cj4+PiAgIHNyYy9hcGkyL2FkbWluL2RhdGFzdG9yZS5ycyB8IDE3MyArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKy0KPj4+ICAgMSBmaWxlIGNoYW5nZWQsIDE3MiBpbnNlcnRpb25z
KCspLCAxIGRlbGV0aW9uKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL3NyYy9hcGkyL2FkbWluL2Rh
dGFzdG9yZS5ycyBiL3NyYy9hcGkyL2FkbWluL2RhdGFzdG9yZS5ycwo+Pj4gaW5kZXggY2JkMjRj
NzI5Li5lYjAzM2MzZmMgMTAwNjQ0Cj4+PiAtLS0gYS9zcmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUu
cnMKPj4+ICsrKyBiL3NyYy9hcGkyL2FkbWluL2RhdGFzdG9yZS5ycwo+Pj4gQEAgLTUxLDcgKzUx
LDcgQEAgdXNlIHBic19hcGlfdHlwZXM6OnsKPj4+ICAgfTsKPj4+ICAgdXNlIHBic19jbGllbnQ6
OnB4YXI6OntjcmVhdGVfdGFyLCBjcmVhdGVfemlwfTsKPj4+ICAgdXNlIHBic19jb25maWc6OkNh
Y2hlZFVzZXJJbmZvOwo+Pj4gLXVzZSBwYnNfZGF0YXN0b3JlOjpiYWNrdXBfaW5mbzo6e0JhY2t1
cEluZm8sIExpc3RCYWNrdXBGaWx0ZXJ9Owo+Pj4gK3VzZSBwYnNfZGF0YXN0b3JlOjpiYWNrdXBf
aW5mbzo6e0JhY2t1cEluZm8sIExpc3RCYWNrdXBGaWx0ZXIsIFRSQVNIX01BUktFUl9GSUxFTkFN
RX07Cj4+PiAgIHVzZSBwYnNfZGF0YXN0b3JlOjpjYWNoZWRfY2h1bmtfcmVhZGVyOjpDYWNoZWRD
aHVua1JlYWRlcjsKPj4+ICAgdXNlIHBic19kYXRhc3RvcmU6OmNhdGFsb2c6OntBcmNoaXZlRW50
cnksIENhdGFsb2dSZWFkZXJ9Owo+Pj4gICB1c2UgcGJzX2RhdGFzdG9yZTo6ZGF0YV9ibG9iOjpE
YXRhQmxvYjsKPj4+IEBAIC0yNzI3LDYgKzI3MjcsMTY1IEBAIHB1YiBhc3luYyBmbiB1bm1vdW50
KHN0b3JlOiBTdHJpbmcsIHJwY2VudjogJm11dCBkeW4gUnBjRW52aXJvbm1lbnQpIC0+IFJlc3Vs
dDxWCj4+PiAgICAgICBPayhqc29uISh1cGlkKSkKPj4+ICAgfQo+Pj4gICAKPj4+ICsjW2FwaSgK
Pj4+ICsgICAgaW5wdXQ6IHsKPj4+ICsgICAgICAgIHByb3BlcnRpZXM6IHsKPj4+ICsgICAgICAg
ICAgICBzdG9yZTogeyBzY2hlbWE6IERBVEFTVE9SRV9TQ0hFTUEgfSwKPj4+ICsgICAgICAgICAg
ICBuczogeyB0eXBlOiBCYWNrdXBOYW1lc3BhY2UsIH0sCj4+PiArICAgICAgICB9LAo+Pj4gKyAg
ICB9LAo+Pj4gKyAgICBhY2Nlc3M6IHsKPj4+ICsgICAgICAgIHBlcm1pc3Npb246ICZQZXJtaXNz
aW9uOjpBbnlib2R5LAo+Pj4gKyAgICAgICAgZGVzY3JpcHRpb246ICJSZXF1aXJlcyBvbiAvZGF0
YXN0b3JlL3tzdG9yZX1bL3tuYW1lc3BhY2V9XSBlaXRoZXIgREFUQVNUT1JFX01PRElGWSBmb3Ig
YW55IFwKPj4+ICsgICAgICAgICAgICBvciBEQVRBU1RPUkVfQkFDS1VQIGFuZCBiZWluZyB0aGUg
b3duZXIgb2YgdGhlIGdyb3VwIiwKPj4+ICsgICAgfSwKPj4+ICspXQo+Pj4gKy8vLyBSZWNvdmVy
IHRyYXNoZWQgY29udGVudHMgb2YgYSBuYW1lc3BhY2UuCj4+PiArcHViIGZuIHJlY292ZXJfbmFt
ZXNwYWNlKAo+Pj4gKyAgICBzdG9yZTogU3RyaW5nLAo+Pj4gKyAgICBuczogQmFja3VwTmFtZXNw
YWNlLAo+Pj4gKyAgICBycGNlbnY6ICZtdXQgZHluIFJwY0Vudmlyb25tZW50LAo+Pj4gKykgLT4g
UmVzdWx0PCgpLCBFcnJvcj4gewo+Pj4gKyAgICBsZXQgYXV0aF9pZDogQXV0aGlkID0gcnBjZW52
LmdldF9hdXRoX2lkKCkudW53cmFwKCkucGFyc2UoKT87Cj4+PiArICAgIGxldCBsaW1pdGVkID0g
Y2hlY2tfbnNfcHJpdnNfZnVsbCgKPj4+ICsgICAgICAgICZzdG9yZSwKPj4+ICsgICAgICAgICZu
cywKPj4+ICsgICAgICAgICZhdXRoX2lkLAo+Pj4gKyAgICAgICAgUFJJVl9EQVRBU1RPUkVfTU9E
SUZZLAo+Pj4gKyAgICAgICAgUFJJVl9EQVRBU1RPUkVfQkFDS1VQLAo+Pj4gKyAgICApPzsKPj4+
ICsKPj4+ICsgICAgbGV0IGRhdGFzdG9yZSA9IERhdGFTdG9yZTo6bG9va3VwX2RhdGFzdG9yZSgm
c3RvcmUsIFNvbWUoT3BlcmF0aW9uOjpXcml0ZSkpPzsKPj4+ICsKPj4+ICsgICAgZm9yIGJhY2t1
cF9ncm91cCBpbiBkYXRhc3RvcmUuaXRlcl9iYWNrdXBfZ3JvdXBzKG5zLmNsb25lKCkpPyB7Cj4+
PiArICAgICAgICBsZXQgYmFja3VwX2dyb3VwID0gYmFja3VwX2dyb3VwPzsKPj4+ICsgICAgICAg
IGlmIGxpbWl0ZWQgewo+Pj4gKyAgICAgICAgICAgIGxldCBvd25lciA9IGRhdGFzdG9yZS5nZXRf
b3duZXIoJm5zLCBiYWNrdXBfZ3JvdXAuZ3JvdXAoKSk/Owo+Pj4gKyAgICAgICAgICAgIGlmIGNo
ZWNrX2JhY2t1cF9vd25lcigmb3duZXIsICZhdXRoX2lkKS5pc19lcnIoKSB7Cj4+PiArICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwo+Pj4gKyAgICAgICAgICAgIH0KPj4+ICsgICAgICAgIH0KPj4+
ICsgICAgICAgIGRvX3JlY292ZXJfZ3JvdXAoJmJhY2t1cF9ncm91cCk/Owo+Pj4gKyAgICB9Cj4+
PiArCj4+PiArICAgIE9rKCgpKQo+Pj4gK30KPj4+ICsKPj4+ICsjW2FwaSgKPj4+ICsgICAgaW5w
dXQ6IHsKPj4+ICsgICAgICAgIHByb3BlcnRpZXM6IHsKPj4+ICsgICAgICAgICAgICBzdG9yZTog
eyBzY2hlbWE6IERBVEFTVE9SRV9TQ0hFTUEgfSwKPj4+ICsgICAgICAgICAgICBncm91cDogewo+
Pj4gKyAgICAgICAgICAgICAgICB0eXBlOiBwYnNfYXBpX3R5cGVzOjpCYWNrdXBHcm91cCwKPj4+
ICsgICAgICAgICAgICAgICAgZmxhdHRlbjogdHJ1ZSwKPj4+ICsgICAgICAgICAgICB9LAo+Pj4g
KyAgICAgICAgICAgIG5zOiB7Cj4+PiArICAgICAgICAgICAgICAgIHR5cGU6IEJhY2t1cE5hbWVz
cGFjZSwKPj4+ICsgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsCj4+PiArICAgICAgICAg
ICAgfSwKPj4+ICsgICAgICAgIH0sCj4+PiArICAgIH0sCj4+PiArICAgIGFjY2Vzczogewo+Pj4g
KyAgICAgICAgcGVybWlzc2lvbjogJlBlcm1pc3Npb246OkFueWJvZHksCj4+PiArICAgICAgICBk
ZXNjcmlwdGlvbjogIlJlcXVpcmVzIG9uIC9kYXRhc3RvcmUve3N0b3JlfVsve25hbWVzcGFjZX1d
IGVpdGhlciBEQVRBU1RPUkVfTU9ESUZZIGZvciBhbnkgXAo+Pj4gKyAgICAgICAgICAgIG9yIERB
VEFTVE9SRV9CQUNLVVAgYW5kIGJlaW5nIHRoZSBvd25lciBvZiB0aGUgZ3JvdXAiLAo+Pj4gKyAg
ICB9LAo+Pj4gKyldCj4+PiArLy8vIFJlY292ZXIgdHJhc2hlZCBjb250ZW50cyBvZiBhIGJhY2t1
cCBncm91cC4KPj4+ICtwdWIgZm4gcmVjb3Zlcl9ncm91cCgKPj4+ICsgICAgc3RvcmU6IFN0cmlu
ZywKPj4+ICsgICAgZ3JvdXA6IHBic19hcGlfdHlwZXM6OkJhY2t1cEdyb3VwLAo+Pj4gKyAgICBu
czogT3B0aW9uPEJhY2t1cE5hbWVzcGFjZT4sCj4+PiArICAgIHJwY2VudjogJm11dCBkeW4gUnBj
RW52aXJvbm1lbnQsCj4+PiArKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4+PiArICAgIGxldCBh
dXRoX2lkOiBBdXRoaWQgPSBycGNlbnYuZ2V0X2F1dGhfaWQoKS51bndyYXAoKS5wYXJzZSgpPzsK
Pj4+ICsgICAgbGV0IG5zID0gbnMudW53cmFwX29yX2RlZmF1bHQoKTsKPj4+ICsgICAgbGV0IGRh
dGFzdG9yZSA9IGNoZWNrX3ByaXZzX2FuZF9sb2FkX3N0b3JlKAo+Pj4gKyAgICAgICAgJnN0b3Jl
LAo+Pj4gKyAgICAgICAgJm5zLAo+Pj4gKyAgICAgICAgJmF1dGhfaWQsCj4+PiArICAgICAgICBQ
UklWX0RBVEFTVE9SRV9NT0RJRlksCj4+PiArICAgICAgICBQUklWX0RBVEFTVE9SRV9CQUNLVVAs
Cj4+PiArICAgICAgICBTb21lKE9wZXJhdGlvbjo6V3JpdGUpLAo+Pj4gKyAgICAgICAgJmdyb3Vw
LAo+Pj4gKyAgICApPzsKPj4+ICsKPj4+ICsgICAgbGV0IGJhY2t1cF9ncm91cCA9IGRhdGFzdG9y
ZS5iYWNrdXBfZ3JvdXAobnMsIGdyb3VwKTsKPj4+ICsgICAgZG9fcmVjb3Zlcl9ncm91cCgmYmFj
a3VwX2dyb3VwKT87Cj4+PiArCj4+PiArICAgIE9rKCgpKQo+Pj4gK30KPj4+ICsKPj4+ICtmbiBk
b19yZWNvdmVyX2dyb3VwKGJhY2t1cF9ncm91cDogJkJhY2t1cEdyb3VwKSAtPiBSZXN1bHQ8KCks
IEVycm9yPiB7Cj4+IAo+PiBtaXNzaW5nIGxvY2tpbmcgZm9yIHRoZSBncm91cD8KPiAKPiBOb3Qg
c3VyZSBhYm91dCB0aGF0IG9uZS4gQWZ0ZXIgYWxsIHRoZSBncm91cCBpcyB0cmFzaGVkIGF0IGxl
YXN0IGFzIGxvbmcgCj4gYXMgYWxsIHRoZSBzbmFwc2hvdHMgYXJlIHRyYXNoZWQuIEFuZCBHQyB3
aWxsIG9ubHkgZXZlciBjbGVhbiB1cCB0aGUgCj4gZ3JvdXAgZm9sZGVyIGlmIHRoZSB0cmFzaCBt
YXJrZXIgaXMgbm90IHNldC4gU28gSSBkbyBub3Qgc2VlIGEgcmVhc29uIAo+IHdoeSB0aGlzIHNo
b3VsZCBiZSBsb2NrZWQuCgpiZWNhdXNlIGxvZ2ljYWxseSwgdGhpcyBpcyB0aGUgaW52ZXJzZSBv
ZiBCYWNrdXBHcm91cDo6ZGVzdHJveSB3aXRoCnNraXBfdHJhc2g9ZmFsc2UsIGFuZCB0aGF0IGxv
Y2tzIHRoZSBncm91cC4uCgplbHNlIHlvdSBjb3VsZCBoYXZlIGEgcmVjb3ZlcnkgYW5kIGEgZnVs
bCBkZWxldGlvbiBydW5uaW5nIGNvbmN1cnJlbnRseQpmb3IgdGhlIHNhbWUgZ3JvdXAuIGFsc28s
IHdoaWxlIHlvdSBhcmUgcmVjb3ZlcmluZyB0aGUgZ3JvdXAgeW91CnByb2JhYmx5IGRvbid0IHdh
bnQgdG8gc3RhcnQgYSBuZXcgYmFja3VwIHNuYXBzaG90LCB3aGljaCB3b3VsZCBhbHNvIGJlCnBv
c3NpYmxlIHdpdGggdGhlIG1pc3NpbmcgbG9jay4KCj4+PiArICAgIGxldCB0cmFzaGVkX3NuYXBz
aG90cyA9IGJhY2t1cF9ncm91cC5saXN0X2JhY2t1cHMoTGlzdEJhY2t1cEZpbHRlcjo6VHJhc2hl
ZCk/Owo+Pj4gKyAgICBmb3Igc25hcHNob3QgaW4gdHJhc2hlZF9zbmFwc2hvdHMgewo+Pj4gKyAg
ICAgICAgZG9fcmVjb3Zlcl9zbmFwc2hvdCgmc25hcHNob3QuYmFja3VwX2Rpcik/Owo+Pj4gKyAg
ICB9Cj4+PiArCj4+PiArICAgIGxldCBncm91cF90cmFzaF9wYXRoID0gYmFja3VwX2dyb3VwLmZ1
bGxfZ3JvdXBfcGF0aCgpLmpvaW4oVFJBU0hfTUFSS0VSX0ZJTEVOQU1FKTsKPj4+ICsgICAgaWYg
bGV0IEVycihlcnIpID0gc3RkOjpmczo6cmVtb3ZlX2ZpbGUoJmdyb3VwX3RyYXNoX3BhdGgpIHsK
Pj4+ICsgICAgICAgIGlmIGVyci5raW5kKCkgIT0gc3RkOjppbzo6RXJyb3JLaW5kOjpOb3RGb3Vu
ZCB7Cj4+PiArICAgICAgICAgICAgYmFpbCEoImZhaWxlZCB0byByZW1vdmUgZ3JvdXAgdHJhc2gg
ZmlsZSB7Z3JvdXBfdHJhc2hfcGF0aDo/fSAtIHtlcnJ9Iik7Cj4+PiArICAgICAgICB9Cj4+PiAr
ICAgIH0KPj4+ICsgICAgT2soKCkpCj4+PiArfQo+Pj4gKwo+Pj4gKyNbYXBpKAo+Pj4gKyAgICBp
bnB1dDogewo+Pj4gKyAgICAgICAgcHJvcGVydGllczogewo+Pj4gKyAgICAgICAgICAgIHN0b3Jl
OiB7IHNjaGVtYTogREFUQVNUT1JFX1NDSEVNQSB9LAo+Pj4gKyAgICAgICAgICAgIGJhY2t1cF9k
aXI6IHsKPj4+ICsgICAgICAgICAgICAgICAgdHlwZTogcGJzX2FwaV90eXBlczo6QmFja3VwRGly
LAo+Pj4gKyAgICAgICAgICAgICAgICBmbGF0dGVuOiB0cnVlLAo+Pj4gKyAgICAgICAgICAgIH0s
Cj4+PiArICAgICAgICAgICAgbnM6IHsKPj4+ICsgICAgICAgICAgICAgICAgdHlwZTogQmFja3Vw
TmFtZXNwYWNlLAo+Pj4gKyAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSwKPj4+ICsgICAg
ICAgICAgICB9LAo+Pj4gKyAgICAgICAgfSwKPj4+ICsgICAgfSwKPj4+ICsgICAgYWNjZXNzOiB7
Cj4+PiArICAgICAgICBwZXJtaXNzaW9uOiAmUGVybWlzc2lvbjo6QW55Ym9keSwKPj4+ICsgICAg
ICAgIGRlc2NyaXB0aW9uOiAiUmVxdWlyZXMgb24gL2RhdGFzdG9yZS97c3RvcmV9Wy97bmFtZXNw
YWNlfV0gZWl0aGVyIERBVEFTVE9SRV9NT0RJRlkgZm9yIGFueSBcCj4+PiArICAgICAgICAgICAg
b3IgREFUQVNUT1JFX0JBQ0tVUCBhbmQgYmVpbmcgdGhlIG93bmVyIG9mIHRoZSBncm91cCIsCj4+
PiArICAgIH0sCj4+PiArKV0KPj4+ICsvLy8gUmVjb3ZlciB0cmFzaGVkIGNvbnRlbnRzIG9mIGEg
YmFja3VwIHNuYXBzaG90Lgo+Pj4gK3B1YiBmbiByZWNvdmVyX3NuYXBzaG90KAo+Pj4gKyAgICBz
dG9yZTogU3RyaW5nLAo+Pj4gKyAgICBiYWNrdXBfZGlyOiBwYnNfYXBpX3R5cGVzOjpCYWNrdXBE
aXIsCj4+PiArICAgIG5zOiBPcHRpb248QmFja3VwTmFtZXNwYWNlPiwKPj4+ICsgICAgcnBjZW52
OiAmbXV0IGR5biBScGNFbnZpcm9ubWVudCwKPj4+ICspIC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsK
Pj4+ICsgICAgbGV0IGF1dGhfaWQ6IEF1dGhpZCA9IHJwY2Vudi5nZXRfYXV0aF9pZCgpLnVud3Jh
cCgpLnBhcnNlKCk/Owo+Pj4gKyAgICBsZXQgbnMgPSBucy51bndyYXBfb3JfZGVmYXVsdCgpOwo+
Pj4gKyAgICBsZXQgZGF0YXN0b3JlID0gY2hlY2tfcHJpdnNfYW5kX2xvYWRfc3RvcmUoCj4+PiAr
ICAgICAgICAmc3RvcmUsCj4+PiArICAgICAgICAmbnMsCj4+PiArICAgICAgICAmYXV0aF9pZCwK
Pj4+ICsgICAgICAgIFBSSVZfREFUQVNUT1JFX01PRElGWSwKPj4+ICsgICAgICAgIFBSSVZfREFU
QVNUT1JFX0JBQ0tVUCwKPj4+ICsgICAgICAgIFNvbWUoT3BlcmF0aW9uOjpXcml0ZSksCj4+PiAr
ICAgICAgICAmYmFja3VwX2Rpci5ncm91cCwKPj4+ICsgICAgKT87Cj4+PiArCj4+PiArICAgIGxl
dCBzbmFwc2hvdCA9IGRhdGFzdG9yZS5iYWNrdXBfZGlyKG5zLCBiYWNrdXBfZGlyKT87Cj4+PiAr
ICAgIGRvX3JlY292ZXJfc25hcHNob3QoJnNuYXBzaG90KT87Cj4+PiArCj4+PiArICAgIE9rKCgp
KQo+Pj4gK30KPj4+ICsKPj4+ICtmbiBkb19yZWNvdmVyX3NuYXBzaG90KHNuYXBzaG90X2Rpcjog
JkJhY2t1cERpcikgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewo+PiAKPj4gbWlzc2luZyBsb2NraW5n
IGZvciB0aGUgc25hcHNob3Q/Cj4gCj4gV2h5PyByZW1vdmVfZmlsZSgpIHNob3VsZCBiZSBhdG9t
aWM/CgpidXQgYSBza2lwX3RyYXNoPXRydWUgZGVsZXRpb24gbWlnaHQgYmUgZ29pbmcgb24gYWxy
ZWFkeSBvciBzb21lIG90aGVyCm9wZXJhdGlvbiBob2xkaW5nIGEgbG9jayBvbiB0aGUgc25hcHNo
b3QgdGhhdCBkb2Vzbid0IHdhbnQgdGhlICd0cmFzaCcKc3RhdHVzIGJlaW5nIGNoYW5nZWQgdW5k
ZXJuZWF0aCBpdD8KCj4+IAo+Pj4gKyAgICBsZXQgdHJhc2hfcGF0aCA9IHNuYXBzaG90X2Rpci5m
dWxsX3BhdGgoKS5qb2luKFRSQVNIX01BUktFUl9GSUxFTkFNRSk7Cj4+PiArICAgIGlmIGxldCBF
cnIoZXJyKSA9IHN0ZDo6ZnM6OnJlbW92ZV9maWxlKCZ0cmFzaF9wYXRoKSB7Cj4+PiArICAgICAg
ICBpZiBlcnIua2luZCgpICE9IHN0ZDo6aW86OkVycm9yS2luZDo6Tm90Rm91bmQgewo+Pj4gKyAg
ICAgICAgICAgIGJhaWwhKCJmYWlsZWQgdG8gcmVtb3ZlIHRyYXNoIGZpbGUge3RyYXNoX3BhdGg6
P30gLSB7ZXJyfSIpOwo+Pj4gKyAgICAgICAgfQo+Pj4gKyAgICB9Cj4+PiArICAgIE9rKCgpKQo+
Pj4gK30KPj4+ICsKPj4+ICAgI1tzb3J0YWJsZV0KPj4+ICAgY29uc3QgREFUQVNUT1JFX0lORk9f
U1VCRElSUzogU3ViZGlyTWFwID0gJlsKPj4+ICAgICAgICgKPj4+IEBAIC0yNzkyLDYgKzI5NTEs
MTggQEAgY29uc3QgREFUQVNUT1JFX0lORk9fU1VCRElSUzogU3ViZGlyTWFwID0gJlsKPj4+ICAg
ICAgICAgICAicHhhci1maWxlLWRvd25sb2FkIiwKPj4+ICAgICAgICAgICAmUm91dGVyOjpuZXco
KS5kb3dubG9hZCgmQVBJX01FVEhPRF9QWEFSX0ZJTEVfRE9XTkxPQUQpLAo+Pj4gICAgICAgKSwK
Pj4+ICsgICAgKAo+Pj4gKyAgICAgICAgInJlY292ZXItZ3JvdXAiLAo+Pj4gKyAgICAgICAgJlJv
dXRlcjo6bmV3KCkucG9zdCgmQVBJX01FVEhPRF9SRUNPVkVSX0dST1VQKSwKPj4gCj4+IEkgYW0g
bm90IHN1cmUgd2hldGhlciB0aG9zZSBzaG91bGQgYmUgUE9TVCBvciBQVVQsIHRoZXkgYXJlIG1v
ZGlmeWluZyBhbgo+PiBleGlzdGluZyAodHJhc2hlZCkgZ3JvdXAvc25hcHNob3QvLi4gYWZ0ZXIg
YWxsPwo+PiAKPj4+ICsgICAgKSwKPj4+ICsgICAgKAo+Pj4gKyAgICAgICAgInJlY292ZXItbmFt
ZXNwYWNlIiwKPj4+ICsgICAgICAgICZSb3V0ZXI6Om5ldygpLnBvc3QoJkFQSV9NRVRIT0RfUkVD
T1ZFUl9OQU1FU1BBQ0UpLAo+Pj4gKyAgICApLAo+Pj4gKyAgICAoCj4+PiArICAgICAgICAicmVj
b3Zlci1zbmFwc2hvdCIsCj4+PiArICAgICAgICAmUm91dGVyOjpuZXcoKS5wb3N0KCZBUElfTUVU
SE9EX1JFQ09WRVJfU05BUFNIT1QpLAo+Pj4gKyAgICApLAo+Pj4gICAgICAgKCJycmQiLCAmUm91
dGVyOjpuZXcoKS5nZXQoJkFQSV9NRVRIT0RfR0VUX1JSRF9TVEFUUykpLAo+Pj4gICAgICAgKAo+
Pj4gICAgICAgICAgICJzbmFwc2hvdHMiLAo+Pj4gLS0gCj4+PiAyLjM5LjUKPj4+Cj4+Pgo+Pj4K
Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+PiBw
YnMtZGV2ZWwgbWFpbGluZyBsaXN0Cj4+PiBwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KPj4+
IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bicy1k
ZXZlbAo+Pj4KPj4+Cj4+Pgo+PiAKPj4gCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCj4+IHBicy1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gcGJzLWRldmVs
QGxpc3RzLnByb3htb3guY29tCj4+IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9t
YWlsbWFuL2xpc3RpbmZvL3Bicy1kZXZlbAo+PiAKPj4gCj4gCj4gCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcGJzLWRldmVsIG1haWxpbmcgbGlzdApw
YnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2kt
YmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCg==