From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id E7C431FF163 for ; Thu, 21 Nov 2024 20:17:48 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 96F804CF0; Thu, 21 Nov 2024 20:17:56 +0100 (CET) Date: Thu, 21 Nov 2024 20:17:51 +0100 (CET) From: =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= To: Gabriel Goller , pbs-devel@lists.proxmox.com Message-ID: <2086615808.8058.1732216671890@webmail.proxmox.com> In-Reply-To: <20241121133509.289419-2-g.goller@proxmox.com> References: <20241121133509.289419-1-g.goller@proxmox.com> <20241121133509.289419-2-g.goller@proxmox.com> MIME-Version: 1.0 X-Priority: 3 Importance: Normal X-Mailer: Open-Xchange Mailer v7.10.6-Rev69 X-Originating-Client: open-xchange-appsuite X-SPAM-LEVEL: Spam detection results: 0 AWL 0.047 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. [manifest.rs, mod.rs, datastore.rs, verify.rs] Subject: Re: [pbs-devel] [PATCH proxmox-backup v4 1/4] snapshot: add helper function to retrieve verify_state X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" Cj4gR2FicmllbCBHb2xsZXIgPGcuZ29sbGVyQHByb3htb3guY29tPiBoYXQgYW0gMjEuMTEuMjAy NCAxNDozNSBDRVQgZ2VzY2hyaWViZW46Cj4gCj4gIAo+IEFkZCBoZWxwZXIgZnVuY3Rpb25zIHRv IHJldHJpZXZlIHRoZSB2ZXJpZnlfc3RhdGUgZnJvbSB0aGUgbWFuaWZlc3Qgb2YgYQo+IHNuYXBz aG90LiBSZXBsYWNlZCBhbGwgdGhlIG1hbnVhbCAidmVyaWZ5X3N0YXRlIiBwYXJzaW5nIHdpdGgg dGhlIGhlbHBlcgo+IGZ1bmN0aW9uLgo+IAo+IFN1Z2dlc3RlZC1ieTogRmFiaWFuIEdyw7xuYmlj aGxlciA8Zi5ncnVlbmJpY2hsZXJAcHJveG1veC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogR2Ficmll bCBHb2xsZXIgPGcuZ29sbGVyQHByb3htb3guY29tPgo+IC0tLQo+ICBwYnMtZGF0YXN0b3JlL3Ny Yy9iYWNrdXBfaW5mby5ycyB8IDE1ICsrKysrKysrKysrKystLQo+ICBwYnMtZGF0YXN0b3JlL3Ny Yy9tYW5pZmVzdC5ycyAgICB8IDE0ICsrKysrKysrKysrKystCj4gIHNyYy9hcGkyL2FkbWluL2Rh dGFzdG9yZS5ycyAgICAgIHwgMTYgKysrKysrKy0tLS0tLS0tLQo+ICBzcmMvYXBpMi9iYWNrdXAv bW9kLnJzICAgICAgICAgICB8IDEzICsrKysrKy0tLS0tLS0KPiAgc3JjL2JhY2t1cC92ZXJpZnku cnMgICAgICAgICAgICAgfCAgNyArKystLS0tCj4gIDUgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0 aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3Bicy1kYXRhc3RvcmUv c3JjL2JhY2t1cF9pbmZvLnJzIGIvcGJzLWRhdGFzdG9yZS9zcmMvYmFja3VwX2luZm8ucnMKPiBp bmRleCA2MmQxMmIxMTgzZGYuLjJkOGUwYTZkOTJkYSAxMDA2NDQKPiAtLS0gYS9wYnMtZGF0YXN0 b3JlL3NyYy9iYWNrdXBfaW5mby5ycwo+ICsrKyBiL3Bicy1kYXRhc3RvcmUvc3JjL2JhY2t1cF9p bmZvLnJzCj4gQEAgLTgsOCArOCw4IEBAIHVzZSBhbnlob3c6OntiYWlsLCBmb3JtYXRfZXJyLCBF cnJvcn07Cj4gIHVzZSBwcm94bW94X3N5czo6ZnM6Ontsb2NrX2Rpcl9ub2Jsb2NrLCByZXBsYWNl X2ZpbGUsIENyZWF0ZU9wdGlvbnN9Owo+ICAKPiAgdXNlIHBic19hcGlfdHlwZXM6OnsKPiAtICAg IEF1dGhpZCwgQmFja3VwR3JvdXBEZWxldGVTdGF0cywgQmFja3VwTmFtZXNwYWNlLCBCYWNrdXBU eXBlLCBHcm91cEZpbHRlciwgQkFDS1VQX0RBVEVfUkVHRVgsCj4gLSAgICBCQUNLVVBfRklMRV9S RUdFWCwKPiArICAgIEF1dGhpZCwgQmFja3VwR3JvdXBEZWxldGVTdGF0cywgQmFja3VwTmFtZXNw YWNlLCBCYWNrdXBUeXBlLCBHcm91cEZpbHRlciwgVmVyaWZ5U3RhdGUsCj4gKyAgICBCQUNLVVBf REFURV9SRUdFWCwgQkFDS1VQX0ZJTEVfUkVHRVgsCj4gIH07Cj4gIHVzZSBwYnNfY29uZmlnOjp7 b3Blbl9iYWNrdXBfbG9ja2ZpbGUsIEJhY2t1cExvY2tHdWFyZH07Cj4gIAo+IEBAIC01NTUsNiAr NTU1LDE3IEBAIGltcGwgQmFja3VwRGlyIHsKPiAgCj4gICAgICAgICAgT2soKCkpCj4gICAgICB9 Cj4gKwo+ICsgICAgLy8vIExvYWQgdGhlIHZlcmlmeSBzdGF0ZSBmcm9tIHRoZSBtYW5pZmVzdC4K PiArICAgIHB1YiBmbiB2ZXJpZnlfc3RhdGUoJnNlbGYpIC0+IFJlc3VsdDxPcHRpb248VmVyaWZ5 U3RhdGU+LCBhbnlob3c6OkVycm9yPiB7Cj4gKyAgICAgICAgbGV0IG1hbmlmZXN0ID0gc2VsZi5s b2FkX21hbmlmZXN0KCk/Owo+ICsgICAgICAgIE9rKG1hbmlmZXN0Cj4gKyAgICAgICAgICAgIC4w Cj4gKyAgICAgICAgICAgIC52ZXJpZnlfc3RhdGUoKQo+ICsgICAgICAgICAgICAub2soKQo+ICsg ICAgICAgICAgICAuZmxhdHRlbigpCj4gKyAgICAgICAgICAgIC5tYXAofHN2c3wgc3ZzLnN0YXRl KSkKCnRoaXMgc3RpbGwgbG9va3Mgc2xpZ2h0bHkgd3JvbmcgdG8gbWUgLSBpZiB2ZXJpZnlfc3Rh dGUoKSByZXR1cm5zIGFuIGVycm9yLCBpdCdzIG1hcHBlZCB0byBOb25lIChieSB0aGUgY2FsbCB0 byBgb2soKWApLCB3aGljaCB3b3VsZCBoaWRlIGFuIGlubmVyIHBhcnNlIGVycm9yIGZvciB0aGUg dmVyaWZpY2F0aW9uIHN0YXRlPwoKSSB0aGluayB0aGUgZm9sbG93aW5nIHNob3VsZCBiZSBjb3Jy ZWN0bHkgYnViYmxlIHVwIGVycm9ycyB3aGVuIGxvYWRpbmcgdGhlIG1hbmlmZXN0IG9yIHdoZW4g cGFyc2luZyB0aGUgY29udGFpbmVkIHZlcmlmeSBzdGF0ZSB3aGlsZSByZXR1cm5pbmcgT2soTm9u ZSkgaWYgbm8gc3RhdGUgaXMgY29udGFpbmVkIGluIHRoZSBtYW5pZmVzdDoKCk9rKHNlbGYubG9h ZF9tYW5pZmVzdCgpPy4wLnZlcmlmeV9zdGF0ZSgpPy5tYXAofHN2c3wgc3ZzLnN0YXRlKSkKCj4g KyAgICB9Cj4gIH0KPiAgCj4gIGltcGwgQXNSZWY8cGJzX2FwaV90eXBlczo6QmFja3VwTmFtZXNw YWNlPiBmb3IgQmFja3VwRGlyIHsKPiBkaWZmIC0tZ2l0IGEvcGJzLWRhdGFzdG9yZS9zcmMvbWFu aWZlc3QucnMgYi9wYnMtZGF0YXN0b3JlL3NyYy9tYW5pZmVzdC5ycwo+IGluZGV4IGMzZGYwMTQy NzJhMC4uMzAxM2ZhYjk3MjIxIDEwMDY0NAo+IC0tLSBhL3Bicy1kYXRhc3RvcmUvc3JjL21hbmlm ZXN0LnJzCj4gKysrIGIvcGJzLWRhdGFzdG9yZS9zcmMvbWFuaWZlc3QucnMKPiBAQCAtNSw3ICs1 LDcgQEAgdXNlIGFueWhvdzo6e2JhaWwsIGZvcm1hdF9lcnIsIEVycm9yfTsKPiAgdXNlIHNlcmRl Ojp7RGVzZXJpYWxpemUsIFNlcmlhbGl6ZX07Cj4gIHVzZSBzZXJkZV9qc29uOjp7anNvbiwgVmFs dWV9Owo+ICAKPiAtdXNlIHBic19hcGlfdHlwZXM6OntCYWNrdXBUeXBlLCBDcnlwdE1vZGUsIEZp bmdlcnByaW50fTsKPiArdXNlIHBic19hcGlfdHlwZXM6OntCYWNrdXBUeXBlLCBDcnlwdE1vZGUs IEZpbmdlcnByaW50LCBTbmFwc2hvdFZlcmlmeVN0YXRlfTsKPiAgdXNlIHBic190b29sczo6Y3J5 cHRfY29uZmlnOjpDcnlwdENvbmZpZzsKPiAgCj4gIHB1YiBjb25zdCBNQU5JRkVTVF9CTE9CX05B TUU6ICZzdHIgPSAiaW5kZXguanNvbi5ibG9iIjsKPiBAQCAtMjQyLDYgKzI0MiwxOCBAQCBpbXBs IEJhY2t1cE1hbmlmZXN0IHsKPiAgICAgICAgICBsZXQgbWFuaWZlc3Q6IEJhY2t1cE1hbmlmZXN0 ID0gc2VyZGVfanNvbjo6ZnJvbV92YWx1ZShqc29uKT87Cj4gICAgICAgICAgT2sobWFuaWZlc3Qp Cj4gICAgICB9Cj4gKwo+ICsgICAgLy8vIEdldCB0aGUgdmVyaWZ5IHN0YXRlIG9mIHRoZSBzbmFw c2hvdAo+ICsgICAgLy8vCj4gKyAgICAvLy8gTm90ZTogTmV3IHNuYXBzaG90cywgd2hpY2ggaGF2 ZSBub3QgYmVlbiB2ZXJpZmllZCB5ZXQsIGRvIG5vdCBoYXZlIGEgc3RhdHVzIGFuZCB0aGlzCj4g KyAgICAvLy8gZnVuY3Rpb24gd2lsbCByZXR1cm4gYE9rKE5vbmUpYC4KPiArICAgIHB1YiBmbiB2 ZXJpZnlfc3RhdGUoJnNlbGYpIC0+IFJlc3VsdDxPcHRpb248U25hcHNob3RWZXJpZnlTdGF0ZT4s IGFueWhvdzo6RXJyb3I+IHsKPiArICAgICAgICBsZXQgdmVyaWZ5ID0gc2VsZi51bnByb3RlY3Rl ZFsidmVyaWZ5X3N0YXRlIl0uY2xvbmUoKTsKPiArICAgICAgICBpZiB2ZXJpZnkuaXNfbnVsbCgp IHsKPiArICAgICAgICAgICAgcmV0dXJuIE9rKE5vbmUpOwo+ICsgICAgICAgIH0KPiArICAgICAg ICBPayhTb21lKHNlcmRlX2pzb246OmZyb21fdmFsdWU6OjxTbmFwc2hvdFZlcmlmeVN0YXRlPih2 ZXJpZnkpPykpCgp0aGlzIGxvb2tzIGdvb2QgdG8gbWUgbm93ISA6KQoKPiArICAgIH0KPiAgfQo+ ICAKPiAgaW1wbCBUcnlGcm9tPHN1cGVyOjpEYXRhQmxvYj4gZm9yIEJhY2t1cE1hbmlmZXN0IHsK PiBkaWZmIC0tZ2l0IGEvc3JjL2FwaTIvYWRtaW4vZGF0YXN0b3JlLnJzIGIvc3JjL2FwaTIvYWRt aW4vZGF0YXN0b3JlLnJzCj4gaW5kZXggOTliNTc5ZjAyYzUwLi4zNjI0ZGJhNDExOTkgMTAwNjQ0 Cj4gLS0tIGEvc3JjL2FwaTIvYWRtaW4vZGF0YXN0b3JlLnJzCj4gKysrIGIvc3JjL2FwaTIvYWRt aW4vZGF0YXN0b3JlLnJzCj4gQEAgLTUzNywxNSArNTM3LDEzIEBAIHVuc2FmZSBmbiBsaXN0X3Nu YXBzaG90c19ibG9ja2luZygKPiAgICAgICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICAgICAg ICAgICB9Owo+ICAKPiAtICAgICAgICAgICAgICAgIGxldCB2ZXJpZmljYXRpb24gPSBtYW5pZmVz dC51bnByb3RlY3RlZFsidmVyaWZ5X3N0YXRlIl0uY2xvbmUoKTsKPiAtICAgICAgICAgICAgICAg IGxldCB2ZXJpZmljYXRpb246IE9wdGlvbjxTbmFwc2hvdFZlcmlmeVN0YXRlPiA9Cj4gLSAgICAg ICAgICAgICAgICAgICAgbWF0Y2ggc2VyZGVfanNvbjo6ZnJvbV92YWx1ZSh2ZXJpZmljYXRpb24p IHsKPiAtICAgICAgICAgICAgICAgICAgICAgICAgT2sodmVyaWZ5KSA9PiB2ZXJpZnksCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgIEVycihlcnIpID0+IHsKPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVwcmludGxuISgiZXJyb3IgcGFyc2luZyB2ZXJpZmljYXRpb24gc3RhdGUgOiAn e30nIiwgZXJyKTsKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUKPiAtICAgICAg ICAgICAgICAgICAgICAgICAgfQo+IC0gICAgICAgICAgICAgICAgICAgIH07Cj4gKyAgICAgICAg ICAgICAgICBsZXQgdmVyaWZpY2F0aW9uOiBPcHRpb248U25hcHNob3RWZXJpZnlTdGF0ZT4gPSBt YXRjaCBtYW5pZmVzdC52ZXJpZnlfc3RhdGUoKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgT2so dmVyaWZ5KSA9PiB2ZXJpZnksCj4gKyAgICAgICAgICAgICAgICAgICAgRXJyKGVycikgPT4gewo+ ICsgICAgICAgICAgICAgICAgICAgICAgICBlcHJpbnRsbiEoImVycm9yIHBhcnNpbmcgdmVyaWZp Y2F0aW9uIHN0YXRlIDogJ3t9JyIsIGVycik7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIE5v bmUKPiArICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICB9OwoKdGhpcyBh cyB3ZWxsIQoKPiAgCj4gICAgICAgICAgICAgICAgICBsZXQgc2l6ZSA9IFNvbWUoZmlsZXMuaXRl cigpLm1hcCh8eHwgeC5zaXplLnVud3JhcF9vcigwKSkuc3VtKCkpOwo+ICAKPiBkaWZmIC0tZ2l0 IGEvc3JjL2FwaTIvYmFja3VwL21vZC5ycyBiL3NyYy9hcGkyL2JhY2t1cC9tb2QucnMKPiBpbmRl eCBlYTBkMDI5MmVjNTguLjYwNWM3NWUyZGZhOSAxMDA2NDQKPiAtLS0gYS9zcmMvYXBpMi9iYWNr dXAvbW9kLnJzCj4gKysrIGIvc3JjL2FwaTIvYmFja3VwL21vZC5ycwo+IEBAIC0xOSw5ICsxOSw5 IEBAIHVzZSBwcm94bW94X3NvcnRhYmxlX21hY3JvOjpzb3J0YWJsZTsKPiAgdXNlIHByb3htb3hf c3lzOjpmczo6bG9ja19kaXJfbm9ibG9ja19zaGFyZWQ7Cj4gIAo+ICB1c2UgcGJzX2FwaV90eXBl czo6ewo+IC0gICAgQXV0aGlkLCBCYWNrdXBOYW1lc3BhY2UsIEJhY2t1cFR5cGUsIE9wZXJhdGlv biwgU25hcHNob3RWZXJpZnlTdGF0ZSwgVmVyaWZ5U3RhdGUsCj4gLSAgICBCQUNLVVBfQVJDSElW RV9OQU1FX1NDSEVNQSwgQkFDS1VQX0lEX1NDSEVNQSwgQkFDS1VQX05BTUVTUEFDRV9TQ0hFTUEs IEJBQ0tVUF9USU1FX1NDSEVNQSwKPiAtICAgIEJBQ0tVUF9UWVBFX1NDSEVNQSwgQ0hVTktfRElH RVNUX1NDSEVNQSwgREFUQVNUT1JFX1NDSEVNQSwgUFJJVl9EQVRBU1RPUkVfQkFDS1VQLAo+ICsg ICAgQXV0aGlkLCBCYWNrdXBOYW1lc3BhY2UsIEJhY2t1cFR5cGUsIE9wZXJhdGlvbiwgVmVyaWZ5 U3RhdGUsIEJBQ0tVUF9BUkNISVZFX05BTUVfU0NIRU1BLAo+ICsgICAgQkFDS1VQX0lEX1NDSEVN QSwgQkFDS1VQX05BTUVTUEFDRV9TQ0hFTUEsIEJBQ0tVUF9USU1FX1NDSEVNQSwgQkFDS1VQX1RZ UEVfU0NIRU1BLAo+ICsgICAgQ0hVTktfRElHRVNUX1NDSEVNQSwgREFUQVNUT1JFX1NDSEVNQSwg UFJJVl9EQVRBU1RPUkVfQkFDS1VQLAo+ICB9Owo+ICB1c2UgcGJzX2NvbmZpZzo6Q2FjaGVkVXNl ckluZm87Cj4gIHVzZSBwYnNfZGF0YXN0b3JlOjppbmRleDo6SW5kZXhGaWxlOwo+IEBAIC0xNTks MTMgKzE1OSwxMiBAQCBmbiB1cGdyYWRlX3RvX2JhY2t1cF9wcm90b2NvbCgKPiAgICAgICAgICAg ICAgbGV0IGluZm8gPSBiYWNrdXBfZ3JvdXAubGFzdF9iYWNrdXAodHJ1ZSkudW53cmFwX29yKE5v bmUpOwo+ICAgICAgICAgICAgICBpZiBsZXQgU29tZShpbmZvKSA9IGluZm8gewo+ICAgICAgICAg ICAgICAgICAgbGV0IChtYW5pZmVzdCwgXykgPSBpbmZvLmJhY2t1cF9kaXIubG9hZF9tYW5pZmVz dCgpPzsKPiAtICAgICAgICAgICAgICAgIGxldCB2ZXJpZnkgPSBtYW5pZmVzdC51bnByb3RlY3Rl ZFsidmVyaWZ5X3N0YXRlIl0uY2xvbmUoKTsKPiAtICAgICAgICAgICAgICAgIG1hdGNoIHNlcmRl X2pzb246OmZyb21fdmFsdWU6OjxTbmFwc2hvdFZlcmlmeVN0YXRlPih2ZXJpZnkpIHsKPiAtICAg ICAgICAgICAgICAgICAgICBPayh2ZXJpZnkpID0+IG1hdGNoIHZlcmlmeS5zdGF0ZSB7Cj4gKyAg ICAgICAgICAgICAgICBtYXRjaCBtYW5pZmVzdC52ZXJpZnlfc3RhdGUoKSB7Cj4gKyAgICAgICAg ICAgICAgICAgICAgT2soU29tZSh2ZXJpZnkpKSA9PiBtYXRjaCB2ZXJpZnkuc3RhdGUgewo+ICAg ICAgICAgICAgICAgICAgICAgICAgICBWZXJpZnlTdGF0ZTo6T2sgPT4gU29tZShpbmZvKSwKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgVmVyaWZ5U3RhdGU6OkZhaWxlZCA9PiBOb25lLAo+ICAg ICAgICAgICAgICAgICAgICAgIH0sCj4gLSAgICAgICAgICAgICAgICAgICAgRXJyKF8pID0+IHsK PiArICAgICAgICAgICAgICAgICAgICBPayhOb25lKSB8IEVycihfKSA9PiB7Cj4gICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIG5vIHZlcmlmeSBzdGF0ZSBmb3VuZCwgdHJlYXQgYXMgdmFsaWQK CnRoaXMgYXMgd2VsbCwgYWx0aG91Z2ggaXQgbWlnaHQgbWFrZSBzZW5zZSB0byBsb2cgdGhpcyBo ZXJlIGFzIHdlbGwgKHByZS1leGlzdGluZykKCj4gICAgICAgICAgICAgICAgICAgICAgICAgIFNv bWUoaW5mbykKPiAgICAgICAgICAgICAgICAgICAgICB9Cj4gZGlmZiAtLWdpdCBhL3NyYy9iYWNr dXAvdmVyaWZ5LnJzIGIvc3JjL2JhY2t1cC92ZXJpZnkucnMKPiBpbmRleCA2ZWY3ZThlYjNlYmIu LjIwYzYwNWM0ZGRlNiAxMDA2NDQKPiAtLS0gYS9zcmMvYmFja3VwL3ZlcmlmeS5ycwo+ICsrKyBi L3NyYy9iYWNrdXAvdmVyaWZ5LnJzCj4gQEAgLTU1MywxMCArNTUzLDkgQEAgcHViIGZuIHZlcmlm eV9maWx0ZXIoCj4gICAgICAgICAgcmV0dXJuIHRydWU7Cj4gICAgICB9Cj4gIAo+IC0gICAgbGV0 IHJhd192ZXJpZnlfc3RhdGUgPSBtYW5pZmVzdC51bnByb3RlY3RlZFsidmVyaWZ5X3N0YXRlIl0u Y2xvbmUoKTsKPiAtICAgIG1hdGNoIHNlcmRlX2pzb246OmZyb21fdmFsdWU6OjxTbmFwc2hvdFZl cmlmeVN0YXRlPihyYXdfdmVyaWZ5X3N0YXRlKSB7Cj4gLSAgICAgICAgRXJyKF8pID0+IHRydWUs IC8vIG5vIGxhc3QgdmVyaWZpY2F0aW9uLCBhbHdheXMgaW5jbHVkZQo+IC0gICAgICAgIE9rKGxh c3RfdmVyaWZ5KSA9PiB7Cj4gKyAgICBtYXRjaCBtYW5pZmVzdC52ZXJpZnlfc3RhdGUoKSB7Cj4g KyAgICAgICAgT2soTm9uZSkgfCBFcnIoXykgPT4gdHJ1ZSwgLy8gbm8gbGFzdCB2ZXJpZmljYXRp b24sIGFsd2F5cyBpbmNsdWRlCgpzYW1lIGhlcmUhIEkgdGhpbmsvaG9wZSB0aGUgRXJyIHBhdGgg Zm9yIHRoZXNlIHNob3VsZCBvbmx5IHRyaWdnZXIgd2hlbiBzb21lYm9keSBtZXNzZXMgdXAgbWFu aWZlc3RzLCBidXQuLgoKPiArICAgICAgICBPayhTb21lKGxhc3RfdmVyaWZ5KSkgPT4gewo+ICAg ICAgICAgICAgICBtYXRjaCBvdXRkYXRlZF9hZnRlciB7Cj4gICAgICAgICAgICAgICAgICBOb25l ID0+IGZhbHNlLCAvLyBuZXZlciByZS12ZXJpZnkgaWYgaWdub3JlZCBhbmQgbm8gbWF4IGFnZQo+ ICAgICAgICAgICAgICAgICAgU29tZShtYXhfYWdlKSA9PiB7Cj4gLS0gCj4gMi4zOS41CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcGJzLWRldmVsIG1h aWxpbmcgbGlzdApwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94 bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCg==