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 05D5F1FF13F for ; Wed, 14 Jan 2026 13:47:40 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5B28E11EBB; Wed, 14 Jan 2026 13:47:35 +0100 (CET) Message-ID: Date: Wed, 14 Jan 2026 13:47:30 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox Backup Server development discussion , =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= References: <20251215132454.628090-1-c.ebner@proxmox.com> <1768301804.ishtgwpbqe.astroid@yuna.none> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: <1768301804.ishtgwpbqe.astroid@yuna.none> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1768394805340 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.354 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] Subject: Re: [pbs-devel] [PATCH proxmox-backup] GC: log progress output for phase 2 on datastores backed by s3 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" T24gMS8xMy8yNiAxMjoxOCBQTSwgRmFiaWFuIEdyw7xuYmljaGxlciB3cm90ZToKPiBPbiBEZWNl bWJlciAxNSwgMjAyNSAyOjI0IHBtLCBDaHJpc3RpYW4gRWJuZXIgd3JvdGU6Cj4+IEN1cnJlbnRs eSB0aGVyZSBpcyBubyBwcm9ncmVzcyBvdXRwdXQgZm9yIHBoYXNlIDIgb2YgZ2FyYmFnZQo+PiBj b2xsZWN0aW9uIG9uIGRhdGFzdG9yZXMgd2l0aCBzMyBiYWNrZW5kLgo+Pgo+PiBTaW5jZSBzcGFt bWluZyBvZiB0aGUgdGFzayBsb2cgbXVzdCBiZSBhdm9pZGVkIGFuZCB0aGUgbnVtYmVyIG9mCj4+ IGNodW5rcyB0byBiZSBwcm9jZXNzZWQgY2Fubm90IGJlIGluZmVycmVkIG5laXRoZXIgZHVyaW5n IHBoYXNlIDEsIG5vcgo+PiBieSB0aGUgUzMgQVBJLCB1c2UgYSB0aW1lIGJhc2VkIGFwcHJvYWNo IGZvciB0aGlzLgo+Pgo+PiBTcGF3biBhIG5ldyB0aHJlYWQgZm9yIGxvZ2dpbmcgYW5kIGtlZXAg dHJhY2sgb2YgdGhlIHByb2Nlc3NlZCBjaHVua3MKPj4gYnkgYW4gYXRvbWljIGNvdW50ZXIuIFRo ZSBwcm9ncmVzcyBoYW5kbGUgYW5kIGEgY2hhbm5lbCBhcmUgdXNlZCB0bwo+PiBhYm9ydCB0aGUg bG9nZ2luZyB0aHJlYWQgaW4gY2FzZSBnYXJiYWdlIGNvbGxlY3Rpb24gaXMgZmluaXNoZWQgb3Ig YW4KPj4gYWJvcnQgaGFzIGJlZW4gdHJpZ2dlcmVkLgo+IAo+IHRoZSByZWFzb24gKndoeSogd2Ug bmVlZCBhIHNlcGFyYXRlIHRocmVhZCBpcyBtaXNzaW5nLiBJIGd1ZXNzIGl0IGlzIHRvCj4gYmVj YXVzZSBpbmxpbmUgbG9nZ2luZyB3b3VsZCBub3QgaGFwcGVuIHdoaWxlIFMzIHJlcXVlc3RzIGFy ZSBibG9ja2luZz8KClllcywgdGhlIGlkZWEgd2FzIHRvIGhhdmUgcHJvZ3Jlc3Mgc3RhdHVzIG91 dHB1dCBvbiByZWd1bGFyIHRpbWUgaW50ZXJ2YWxzLgo+IGJ1dCBnaXZlbiB0aGF0IGlmIGFuIFMz IHJlcXVlc3QgaXMgY3VycmVudGx5IGJsb2NraW5nLCB0aGVyZSBjYW4ndCBiZQo+IGFueSBwcm9n cmVzcyBhbnl3YXksIEkgYW0gbm90IHN1cmUgdGhlIG92ZXJoZWFkIGlzIHdvcnRoIGl0Li4KPiAK PiB0aGUgdGltZW91dCBmb3IgbGlzdCBvciBkZWxldGUgY2FsbHMgaXMgMTgwMHMsIGFuZCBhZnRl ciB0aGUgZmlyc3QgaG91cgo+IHlvdXIgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBiZWxvdyBhbHJl YWR5IHN3aXRjaGVzIHRvIG9uY2UtcGVyLWhvdXIKPiBsb2dnaW5nIGFueXdheS4uIGJ1dCBzZWUg YmVsb3cgZm9yIHRoYXQuLgo+IAo+IGJ1dCBtYXliZSBzb21lYm9keSBlbHNlIGhhcyBhbiBvcGlu aW9uIGFib3V0IHRoZSB0aHJlYWQtb3Itbm90IHBhcnQ/CgpSZXRoaW5raW5nIHRoaXMgbm93IEkg YWxzbyBkbyBub3Qgc2VlIHdoeSBydW5uaW5nIHRoaXMgb24gaXQncyBvd24gCnRocmVhZCBpcyB3 b3J0aCBpdCBhbmQgc2hvdWxkIGJlIGJldHRlciB0aGFuIHNpbXBseSBkb2luZyB0aGUgbG9nZ2lu ZyBvbiAKdGhlIHNhbWUgdGhyZWFkLCB3aXRoIHByb2dyZXNzIG91dHB1dCBvbmx5IHdyaXR0ZW4g d2hlbiBhY3R1YWxseSBkb25lLgoKU28gSSB3aWxsIHB1bGwgdGhpcyBvdXQgYW5kIGFkYXB0IHRo ZSBvdXRwdXQgcmF0ZSBjaGFuZ2VzIHRvIHRoZSB2YWx1ZXMgCmFzIHN1Z2dlc3RlZCwgdGhlc2Ug ZG8gbWFrZSBzZW5zZSB0byBtZS4gQWxzbyBhZGRpbmcgdGhlIGFkZGl0aW9uYWwgCnN1Z2dlc3Rl ZCB2YWx1ZXMgdG8gYmUgbG9nZ2VkIGlzIGEgZ29vZCBpZGVhIChhdCBsZWFzdCBmb3IgdGhlIGxp c3QgCm9iamVjdCBjYWxscywgbm90IHNvIHN1cmUgYWJvdXQgdGhlIGRlbGV0ZSBvYmplY3QgY2Fs bHMgYXMgdGhlcmUgaXQgCm1pZ2h0IGRlcGVuZCBvbiB0aGUgbnVtYmVyIG9mIGtleXMgdG8gYmUg ZGVsZXRlZCwgaG93IG1hbnkgY2FsbHMgYXJlIApiZWluZyBkb25lIGVjYy4sIHNvIHRoZSB2YXJp YW5jZSBpcyBwcm9iYWJseSBoaWdoKS4KCj4gCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlh biBFYm5lciA8Yy5lYm5lckBwcm94bW94LmNvbT4KPj4gLS0tCj4+ICAgcGJzLWRhdGFzdG9yZS9D YXJnby50b21sICAgICAgIHwgIDEgKwo+PiAgIHBicy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5y cyB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPj4gICAyIGZpbGVzIGNo YW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQg YS9wYnMtZGF0YXN0b3JlL0NhcmdvLnRvbWwgYi9wYnMtZGF0YXN0b3JlL0NhcmdvLnRvbWwKPj4g aW5kZXggOGNlOTMwYTk0Li44MGUwNmNiMGUgMTAwNjQ0Cj4+IC0tLSBhL3Bicy1kYXRhc3RvcmUv Q2FyZ28udG9tbAo+PiArKysgYi9wYnMtZGF0YXN0b3JlL0NhcmdvLnRvbWwKPj4gQEAgLTM4LDYg KzM4LDcgQEAgcHJveG1veC1odHRwLndvcmtzcGFjZSA9IHRydWUKPj4gICBwcm94bW94LWh1bWFu LWJ5dGUud29ya3NwYWNlID0gdHJ1ZQo+PiAgIHByb3htb3gtaW8ud29ya3NwYWNlID0gdHJ1ZQo+ PiAgIHByb3htb3gtbGFuZy53b3Jrc3BhY2U9dHJ1ZQo+PiArcHJveG1veC1sb2cud29ya3NwYWNl PXRydWUKPj4gICBwcm94bW94LXMzLWNsaWVudCA9IHsgd29ya3NwYWNlID0gdHJ1ZSwgZmVhdHVy ZXMgPSBbICJpbXBsIiBdIH0KPj4gICBwcm94bW94LXNjaGVtYSA9IHsgd29ya3NwYWNlID0gdHJ1 ZSwgZmVhdHVyZXMgPSBbICJhcGktbWFjcm8iIF0gfQo+PiAgIHByb3htb3gtc2VyZGUgPSB7IHdv cmtzcGFjZSA9IHRydWUsIGZlYXR1cmVzID0gWyAic2VyZGVfanNvbiIgXSB9Cj4+IGRpZmYgLS1n aXQgYS9wYnMtZGF0YXN0b3JlL3NyYy9kYXRhc3RvcmUucnMgYi9wYnMtZGF0YXN0b3JlL3NyYy9k YXRhc3RvcmUucnMKPj4gaW5kZXggOWM1N2FhYWMxLi44NDg2NmE1MjkgMTAwNjQ0Cj4+IC0tLSBh L3Bicy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycwo+PiArKysgYi9wYnMtZGF0YXN0b3JlL3Ny Yy9kYXRhc3RvcmUucnMKPj4gQEAgLTMsNiArMyw4IEBAIHVzZSBzdGQ6OmlvOjp7c2VsZiwgV3Jp dGV9Owo+PiAgIHVzZSBzdGQ6Om9zOjp1bml4OjpmZmk6Ok9zU3RyRXh0Owo+PiAgIHVzZSBzdGQ6 Om9zOjp1bml4Ojppbzo6QXNSYXdGZDsKPj4gICB1c2Ugc3RkOjpwYXRoOjp7UGF0aCwgUGF0aEJ1 Zn07Cj4+ICt1c2Ugc3RkOjpzeW5jOjphdG9taWM6OntBdG9taWNVc2l6ZSwgT3JkZXJpbmd9Owo+ PiArdXNlIHN0ZDo6c3luYzo6bXBzYzo6UmVjdlRpbWVvdXRFcnJvcjsKPj4gICB1c2Ugc3RkOjpz eW5jOjp7QXJjLCBMYXp5TG9jaywgTXV0ZXh9Owo+PiAgIHVzZSBzdGQ6OnRpbWU6OntEdXJhdGlv biwgU3lzdGVtVGltZX07Cj4+ICAgCj4+IEBAIC0xNSw2ICsxNyw3IEBAIHVzZSB0b2tpbzo6aW86 OkFzeW5jV3JpdGVFeHQ7Cj4+ICAgdXNlIHRyYWNpbmc6OntpbmZvLCB3YXJufTsKPj4gICAKPj4g ICB1c2UgcHJveG1veF9odW1hbl9ieXRlOjpIdW1hbkJ5dGU7Cj4+ICt1c2UgcHJveG1veF9sb2c6 OkxvZ0NvbnRleHQ7Cj4+ICAgdXNlIHByb3htb3hfczNfY2xpZW50Ojp7Cj4+ICAgICAgIFMzQ2xp ZW50LCBTM0NsaWVudENvbmYsIFMzQ2xpZW50T3B0aW9ucywgUzNPYmplY3RLZXksIFMzUGF0aFBy ZWZpeCwgUzNSYXRlTGltaXRlck9wdGlvbnMsCj4+ICAgfTsKPj4gQEAgLTE2ODIsNyArMTY4NSw3 IEBAIGltcGwgRGF0YVN0b3JlIHsKPj4gICAgICAgICAgIGluZm8hKCJTdGFydCBHQyBwaGFzZTIg KHN3ZWVwIHVudXNlZCBjaHVua3MpIik7Cj4+ICAgCj4+ICAgICAgICAgICBpZiBsZXQgU29tZShy ZWYgczNfY2xpZW50KSA9IHMzX2NsaWVudCB7Cj4+IC0gICAgICAgICAgICBsZXQgbXV0IGNodW5r X2NvdW50ID0gMDsKPj4gKyAgICAgICAgICAgIGxldCBjaHVua19jb3VudCA9IEFyYzo6bmV3KEF0 b21pY1VzaXplOjpuZXcoMCkpOwo+PiAgICAgICAgICAgICAgIGxldCBwcmVmaXggPSBTM1BhdGhQ cmVmaXg6OlNvbWUoIi5jaHVua3MvIi50b19zdHJpbmcoKSk7Cj4+ICAgICAgICAgICAgICAgLy8g T3BlcmF0ZXMgaW4gYmF0Y2hlcyBvZiAxMDAwIG9iamVjdHMgbWF4IHBlciByZXF1ZXN0Cj4+ICAg ICAgICAgICAgICAgbGV0IG11dCBsaXN0X2J1Y2tldF9yZXN1bHQgPQo+PiBAQCAtMTY5Miw2ICsx Njk1LDM0IEBAIGltcGwgRGF0YVN0b3JlIHsKPj4gICAgICAgICAgICAgICBsZXQgbXV0IGRlbGV0 ZV9saXN0ID0gVmVjOjp3aXRoX2NhcGFjaXR5KFMzX0RFTEVURV9CQVRDSF9MSU1JVCk7Cj4+ICAg ICAgICAgICAgICAgbGV0IG11dCBkZWxldGVfbGlzdF9hZ2UgPSBlcG9jaF9pNjQoKTsKPj4gICAK Pj4gKyAgICAgICAgICAgIGxldCAoYWJvcnRfdHgsIGFib3J0X3J4KSA9IHN0ZDo6c3luYzo6bXBz Yzo6Y2hhbm5lbCgpOwo+PiArICAgICAgICAgICAgbGV0IGNvdW50ZXIgPSBBcmM6OmNsb25lKCZj aHVua19jb3VudCk7Cj4+ICsgICAgICAgICAgICBsZXQgbG9nX2NvbnRleHQgPSBMb2dDb250ZXh0 OjpjdXJyZW50KCk7Cj4+ICsKPj4gKyAgICAgICAgICAgIGxldCBwcm9ncmVzc19sb2dfaGFuZGxl ID0gc3RkOjp0aHJlYWQ6OnNwYXduKG1vdmUgfHwgewo+PiArICAgICAgICAgICAgICAgIGlmIGxl dCBTb21lKGxvZ19jb250ZXh0KSA9IGxvZ19jb250ZXh0IHsKPj4gKyAgICAgICAgICAgICAgICAg ICAgbG9nX2NvbnRleHQuc3luY19zY29wZSh8fCB7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICBsZXQgbXV0IHRpbWVvdXQgPSBEdXJhdGlvbjo6ZnJvbV9zZWNzKDYwKTsKPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgIGxldCBtdXQgaXRlcmF0aW9ucyA9IDA7Cj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICB3aGlsZSBsZXQgRXJyKFJlY3ZUaW1lb3V0RXJyb3I6OlRpbWVvdXQpID0gYWJv cnRfcngucmVjdl90aW1lb3V0KHRpbWVvdXQpIHsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsZXQgY291bnQgPSBjb3VudGVyLmxvYWQoT3JkZXJpbmc6OlNlcUNzdCk7Cj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW5mbyEoInN3ZWVwZWQgY2h1bmtzOiB7Y291bnR9Iik7 Cj4+ICsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zICs9IDE7Cj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXRlcmF0aW9ucyA+PSA2MCAmJiB0aW1l b3V0IDwgRHVyYXRpb246OmZyb21fc2Vjcyg2MCAqIDYwKSB7Cj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRpbWVvdXQgPSB0aW1lb3V0LnNhdHVyYXRpbmdfbXVsKDYwKTsKPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mbyEoImxvZyBvdXRwdXQgcmVkdWNl ZCB0byBvbmNlIHBlciBob3VyIik7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBl bHNlIGlmIGl0ZXJhdGlvbnMgPj0gNjAgKiA2MAo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmJiB0aW1lb3V0IDwgRHVyYXRpb246OmZyb21fc2VjcygyNCAqIDYwICogNjApCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgewo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0aW1lb3V0ID0gdGltZW91dC5zYXR1cmF0aW5nX211bCgyNCk7Cj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8hKCJsb2cgb3V0cHV0IHJlZHVjZWQgdG8g b25jZSBwZXIgZGF5Iik7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+IAo+IEkg dGhpbmsgdGhpcyBpcyBhIGJpdCBhZ2dyZXNzaXZlLi4gdGhlIHB1cnBvc2Ugb2YgYmFja2luZyBv ZmYgaXMgdG8gbm90Cj4gbWFrZSBsb2cgZmlsZXMgZXhwbG9kZSB3aGlsZSBzdGlsbCBnaXZpbmcg dmFsdWFibGUgaW5mb3JtYXRpb24uIGFuCj4gdXBkYXRlIG9uY2UgcGVyIGhvdXIgaXMgYWxyZWFk eSBub3QgdmVyeSBoZWxwZnVsLCBhbiB1cGRhdGUgb25jZSBwZXIgZGF5Cj4gaXMgdXNlbGVzcyAo ZXZlbiBpZiB0aGUgdGFzayB0YWtlcyA1IGRheXMpLgo+IAo+IElNSE8gYSBwcm9ncmVzc2lvbiBs aWtlOgo+IC0gZXZlcnkgMzBzIGZvciB0aGUgZmlyc3QgaG91ciAoMTIwIGxpbmVzLCBzdGlsbCBn aXZlcyBtZWFuaW5nZnVsCj4gICAgcHJvZ3Jlc3MgaWYgdGhlIEdDIHByb2NlZWRzIGZhc3QpCj4g LSBldmVyeSBtaW51dGUgZm9yIHRoZSBzZWNvbmQgaG91ciAoKzYwIGxpbmVzKQo+IC0gZXZlcnkg NSBtaW51dGVzIGZvciBob3VycyAzLi4yNCAoKzEyIGxpbmVzIHBlciBob3VyLCArMjY0IGxpbmVz IHRvdGFsKQo+IAo+IGlzIHRvdGFsbHkgZmluZS4gdGhhdCBtZWFucyBhIEdDIHJ1bm5pbmcgYSBm dWxsIGRheSB3aWxsIGxvZyA0NDQgbGluZXMKPiAoZm9yIHRoaXMgcGFydCkuIHRoZW4gbWF5YmUg YWZ0ZXIgdGhlIGZpcnN0IGRheSB3ZSBjb3VsZCBzd2l0Y2ggdG8gZXZlcnkKPiAxNSBtaW51dGVz ICh3aGljaCBhZGRzIDk2IGxpbmVzIHBlciBhZGRpdGlvbmFsIGRheSkuCj4gCj4gd2UgY291bGQg b2YgY291cnNlIGFsc28gaW5jbHVkZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uOgo+IC0gaGFuZGxl ZCBjaHVuayBjb3VudAo+IC0gY3VycmVudCBsaXN0IGJhdGNoIHNpemUKPiAtIGN1cnJlbnQgZGVs ZXRlIGxpc3Qgc2l6ZQo+IAo+IGFuZCBtYXliZSBldmVuIGtlZXAgdHJhY2sgb2YgdGhvc2UgdHdv IHNpemVzIGFuZCBsaXN0L2RlbGV0ZSByZXF1ZXN0Cj4gdGltZXMgYW5kIHByaW50IGF2ZXJhZ2Vz PyB0aG9zZSB3b3VsZCBiZSBoZWxwZnVsIHdoZW4gZGVidWdnaW5nIFMzIEdDCj4gcGVyZm9ybWFu Y2UgSSB0aGluaz8KPiAKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIH0KPj4gKyAgICAgICAg ICAgICAgICAgICAgfSkKPj4gKyAgICAgICAgICAgICAgICB9Cj4+ICsgICAgICAgICAgICB9KTsK Pj4gKwo+PiAgICAgICAgICAgICAgIGxldCBzM19kZWxldGVfYmF0Y2ggPSB8ZGVsZXRlX2xpc3Q6 ICZtdXQgVmVjPChTM09iamVjdEtleSwgQmFja3VwTG9ja0d1YXJkKT4sCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzM19jbGllbnQ6ICZBcmM8UzNDbGllbnQ+fAo+PiAg ICAgICAgICAgICAgICAtPiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4+IEBAIC0xODAwLDcgKzE4MzEs NyBAQCBpbXBsIERhdGFTdG9yZSB7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKPj4g ICAgICAgICAgICAgICAgICAgICAgIH0KPj4gICAKPj4gLSAgICAgICAgICAgICAgICAgICAgY2h1 bmtfY291bnQgKz0gMTsKPj4gKyAgICAgICAgICAgICAgICAgICAgY2h1bmtfY291bnQuZmV0Y2hf YWRkKDEsIE9yZGVyaW5nOjpTZXFDc3QpOwo+PiAgIAo+PiAgICAgICAgICAgICAgICAgICAgICAg Ly8gZHJvcCBndWFyZCBiZWNhdXNlIG9mIGFzeW5jIFMzIGNhbGwgYmVsb3cKPj4gICAgICAgICAg ICAgICAgICAgICAgIGRyb3AoX2d1YXJkKTsKPj4gQEAgLTE4MzEsNyArMTg2MiwxNyBAQCBpbXBs IERhdGFTdG9yZSB7Cj4+ICAgICAgICAgICAgICAgICAgIHMzX2RlbGV0ZV9iYXRjaCgmbXV0IGRl bGV0ZV9saXN0LCBzM19jbGllbnQpPzsKPj4gICAgICAgICAgICAgICB9Cj4+ICAgCj4+IC0gICAg ICAgICAgICBpbmZvISgicHJvY2Vzc2VkIHtjaHVua19jb3VudH0gdG90YWwgY2h1bmtzIik7Cj4+ ICsgICAgICAgICAgICBhYm9ydF90eAo+PiArICAgICAgICAgICAgICAgIC5zZW5kKCgpKQo+PiAr ICAgICAgICAgICAgICAgIC5jb250ZXh0KCJmYWlsZWQgdG8gYWJvcnQgcHJvZ3Jlc3MgbG9nZ2lu ZyIpPzsKPj4gKyAgICAgICAgICAgIHByb2dyZXNzX2xvZ19oYW5kbGUKPj4gKyAgICAgICAgICAg ICAgICAuam9pbigpCj4+ICsgICAgICAgICAgICAgICAgLm1hcF9lcnIofF9lcnJ8IGZvcm1hdF9l cnIhKCJmYWlsZWQgdG8gam9pbiBwcm9ncmVzcyBsb2cgaGFuZGxlIikpPzsKPj4gKwo+PiArICAg ICAgICAgICAgaW5mbyEoCj4+ICsgICAgICAgICAgICAgICAgInByb2Nlc3NlZCB7fSB0b3RhbCBj aHVua3MiLAo+PiArICAgICAgICAgICAgICAgIGNodW5rX2NvdW50LmxvYWQoT3JkZXJpbmc6OlNl cUNzdCksCj4+ICsgICAgICAgICAgICApOwo+PiAgIAo+PiAgICAgICAgICAgICAgIC8vIFBoYXNl IDIgR0Mgb2YgRmlsZXN5c3RlbSBiYWNrZWQgc3RvcmFnZSBpcyBwaGFzZSAzIGZvciBTMyBiYWNr ZWQgR0MKPj4gICAgICAgICAgICAgICBpbmZvISgiU3RhcnQgR0MgcGhhc2UzIChzd2VlcCB1bnVz ZWQgY2h1bmsgbWFya2VycykiKTsKPj4gLS0gCj4+IDIuNDcuMwo+Pgo+Pgo+Pgo+PiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBwYnMtZGV2ZWwgbWFp bGluZyBsaXN0Cj4+IHBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+PiBodHRwczovL2xpc3Rz LnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwKPj4KPj4KPj4K PiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IHBicy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KPiBo dHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2 ZWwKPiAKPiAKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KcGJzLWRldmVsIG1haWxpbmcgbGlzdApwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0 cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVs Cg==