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 [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id D30F11FF16E for <inbox@lore.proxmox.com>; Mon, 3 Mar 2025 17:09:18 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 656DBF84F; Mon, 3 Mar 2025 17:09:15 +0100 (CET) Message-ID: <5e23c5cf-8cc6-48b5-9d92-a9828d95053e@proxmox.com> Date: Mon, 3 Mar 2025 17:09:10 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>, Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com> References: <20250219164847.757184-1-c.ebner@proxmox.com> <20250219164847.757184-5-c.ebner@proxmox.com> <1741007036.5kgeh44pj2.astroid@yuna.none> <55eb0814-8237-43d5-bd3e-b1d771bbfab9@proxmox.com> <1741016392.vckcqyi01l.astroid@yuna.none> Content-Language: en-US, de-DE From: Christian Ebner <c.ebner@proxmox.com> In-Reply-To: <1741016392.vckcqyi01l.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.030 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 Subject: Re: [pbs-devel] [PATCH proxmox-backup 4/9] fix #5982: garbage collection: check atime updates are honored 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> T24gMy8zLzI1IDE2OjUwLCBGYWJpYW4gR3LDvG5iaWNobGVyIHdyb3RlOgo+IE9uIE1hcmNoIDMs IDIwMjUgNDoyMyBwbSwgQ2hyaXN0aWFuIEVibmVyIHdyb3RlOgo+PiBPbiAzLzMvMjUgMTQ6NTEs IEZhYmlhbiBHcsO8bmJpY2hsZXIgd3JvdGU6Cj4+PiBPbiBGZWJydWFyeSAxOSwgMjAyNSA1OjQ4 IHBtLCBDaHJpc3RpYW4gRWJuZXIgd3JvdGU6Cj4+Pj4gQ2hlY2sgaWYgdGhlIGZpbGVzeXN0ZW0g YmFja2luZyB0aGUgY2h1bmsgc3RvcmUgYWN0dWFsbHkgdXBkYXRlcyB0aGUKPj4+PiBhdGltZSB0 byBhdm9pZCBwb3RlbnRpYWwgZGF0YSBsb3NzIGluIHBoYXNlIDIgb2YgZ2FyYmFnZSBjb2xsZWN0 aW9uCj4+Pj4gaW4gY2FzZSB0aGUgYXRpbWUgdXBkYXRlIGlzIG5vdCBob25vcmVkLgo+Pj4+Cj4+ Pj4gUGVyZm9ybSB0aGUgY2hlY2sgYmVmb3JlIHBoYXNlIDEgb2YgZ2FyYmFnZSBjb2xsZWN0aW9u LCBhcyB3ZWxsIGFzCj4+Pj4gb24gZGF0YXN0b3JlIGNyZWF0aW9uLiBUaGUgbGF0dGVyIHRvIGVh cmx5IGRldGVjdCBhbmQgZGlzYWxsb3cKPj4+PiBkYXRhc3RvcmUgY3JlYXRpb24gb24gZmlsZXN5 c3RlbSBjb25maWd1cmF0aW9ucyB3aGljaCBvdGhlcndpc2UgbW9zdAo+Pj4+IGxpa2VseSB3b3Vs ZCBsZWFkIHRvIGRhdGEgbG9zc2VzLgo+Pj4+Cj4+Pj4gRW5hYmxlIHRoZSBhdGltZSB1cGRhdGUg Y2hlY2sgYnkgZGVmYXVsdCwgYnV0IGFsbG93IHRvIG9wdC1vdXQgYnkKPj4+PiBzZXR0aW5nIGEg ZGF0YXN0b3JlIHR1bmluZyBwYXJhbWV0ZXIgZmxhZyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxp dHkuCj4+Pj4gVGhpcyBpcyBob25vcmVkIGJ5IGJvdGgsIGdhcmJhZ2UgY29sbGVjdGlvbiBhbmQg ZGF0YXN0b3JlIGNyZWF0aW9uLgo+Pj4+Cj4+Pj4gVGhlIGNoZWNrIHVzZXMgYSA0IE1pQiBmaXhl ZCBzaXplZCwgdW5lbmN5cHRlZCBhbmQgY29tcHJlc3NlZCBjaHVuawo+Pj4+IGFzIHRlc3QgbWFy a2VyLCBpbnNlcnRlZCBpZiBub3QgcHJlc2VudC4gVGhpcyBhbGwgemVyby1jaHVuayBpcyB2ZXJ5 Cj4+Pj4gbGlrZWx5IGFueXdheXMgZm9yIHVuZW5jcnlwdGVkIGJhY2t1cCBjb250ZW50cyB3aXRo IGxhcmdlIGFsbC16ZXJvCj4+Pj4gcmVnaW9ucyB1c2luZyBmaXhlZCBzaXplIGNodW5raW5nIChl LmcuIFZNcykuCj4+Pj4KPj4+PiBUaGUgY2hlY2sgc2V0cyB0aGUgY2h1bmsncyBhdGltZSB0d2lj ZSwgb25jZSB0byBzZXQgaXQgdG8gMSBzZWNvbmQKPj4+PiBpbnRvIHRoZSBwYXN0LCBhbmQgb25j ZSB0byBzZXQgaXQgdG8gbm93LiBCeSB0aGlzIG9uZSBjYW4gZGV0ZWN0IGlmCj4+Pj4gdGhlIGF0 aW1lIGlzIHNldCBhdCBhbGwgYW5kIGlmIGl0IGFsc28gc2V0IGlmIHRoZSBmaWxlc3lzdGVtIGlz IGUuZy4KPj4+PiBtb3VudGVkIHZpYSByZWxhdGltZSwgd2hpY2ggaXMgaW50ZW5kZWQgdG8gZGVm ZXJyIHRoZSBhdGltZSB1cGRhdGUuCj4+Pgo+Pj4gdGhhdCdzIG5vdCBob3cgcmVsYXRpbWUgd29y a3M/IHNlZSBiZWxvdy4uCj4+Pgo+Pj4+Cj4+Pj4gRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEucHJv eG1veC5jb20vc2hvd19idWcuY2dpP2lkPTU5ODIKPj4+PiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3Rp YW4gRWJuZXIgPGMuZWJuZXJAcHJveG1veC5jb20+Cj4+Pj4gLS0tCj4+Pj4gY2hhbmdlcyBzaW5j ZSB2ZXJzaW9uIDE6Cj4+Pj4gLSBVc2UgYWxsLXplcm8gZml4ZWQgc2l6ZSBjaHVuayBmb3IgYXRp bWUgdXBkYXRlIHRlc3QKPj4+PiAtIFRlc3Qgb24gZGF0YXN0b3JlIGNyZWF0aW9uIGFuZCBiZWZv cmUgZ2FyYmFnZSBjb2xsZWN0aW9uIHBoYXNlIDEKPj4+PiAtIGZhaWwgZGF0YXN0b3JlIGNyZWF0 aW9uIGFuZCBnYXJiYWdlIGNvbGxlY3Rpb24gam9icyBpZiBjaGVjayBmYWlscywKPj4+PiAgICAg YnV0IGtlZXAgb3B0LW91dAo+Pj4+Cj4+Pj4gICAgcGJzLWRhdGFzdG9yZS9zcmMvY2h1bmtfc3Rv cmUucnMgfCA4MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+Pj4+ICAgIHBicy1k YXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycyAgIHwgMTAgKysrKwo+Pj4+ICAgIHNyYy9hcGkyL2Nv bmZpZy9kYXRhc3RvcmUucnMgICAgIHwgIDEgKwo+Pj4+ICAgIDMgZmlsZXMgY2hhbmdlZCwgODYg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9wYnMt ZGF0YXN0b3JlL3NyYy9jaHVua19zdG9yZS5ycyBiL3Bicy1kYXRhc3RvcmUvc3JjL2NodW5rX3N0 b3JlLnJzCj4+Pj4gaW5kZXggN2JkY2IwMjk3Li5iZTU3ZTNjODcgMTAwNjQ0Cj4+Pj4gLS0tIGEv cGJzLWRhdGFzdG9yZS9zcmMvY2h1bmtfc3RvcmUucnMKPj4+PiArKysgYi9wYnMtZGF0YXN0b3Jl L3NyYy9jaHVua19zdG9yZS5ycwo+Pj4+IEBAIC0xLDYgKzEsNyBAQAo+Pj4+ICAgIHVzZSBzdGQ6 Om9zOjp1bml4Ojppbzo6QXNSYXdGZDsKPj4+PiAgICB1c2Ugc3RkOjpwYXRoOjp7UGF0aCwgUGF0 aEJ1Zn07Cj4+Pj4gICAgdXNlIHN0ZDo6c3luYzo6e0FyYywgTXV0ZXh9Owo+Pj4+ICt1c2Ugc3Rk Ojp0aW1lOjp7RHVyYXRpb24sIFN5c3RlbVRpbWUsIFVOSVhfRVBPQ0h9Owo+Pj4+ICAgIAo+Pj4+ ICAgIHVzZSBhbnlob3c6OntiYWlsLCBmb3JtYXRfZXJyLCBFcnJvcn07Cj4+Pj4gICAgdXNlIHRy YWNpbmc6OmluZm87Cj4+Pj4gQEAgLTEzLDYgKzE0LDcgQEAgdXNlIHByb3htb3hfc3lzOjpwcm9j ZXNzX2xvY2tlcjo6ewo+Pj4+ICAgIH07Cj4+Pj4gICAgdXNlIHByb3htb3hfd29ya2VyX3Rhc2s6 OldvcmtlclRhc2tDb250ZXh0Owo+Pj4+ICAgIAo+Pj4+ICt1c2UgY3JhdGU6OmRhdGFfYmxvYjo6 RGF0YUNodW5rQnVpbGRlcjsKPj4+PiAgICB1c2UgY3JhdGU6OmZpbGVfZm9ybWF0czo6ewo+Pj4+ ICAgICAgICBDT01QUkVTU0VEX0JMT0JfTUFHSUNfMV8wLCBFTkNSWVBURURfQkxPQl9NQUdJQ18x XzAsIFVOQ09NUFJFU1NFRF9CTE9CX01BR0lDXzFfMCwKPj4+PiAgICB9Owo+Pj4+IEBAIC05Niw2 ICs5OCw3IEBAIGltcGwgQ2h1bmtTdG9yZSB7Cj4+Pj4gICAgICAgICAgICB1aWQ6IG5peDo6dW5p c3RkOjpVaWQsCj4+Pj4gICAgICAgICAgICBnaWQ6IG5peDo6dW5pc3RkOjpHaWQsCj4+Pj4gICAg ICAgICAgICBzeW5jX2xldmVsOiBEYXRhc3RvcmVGU3luY0xldmVsLAo+Pj4+ICsgICAgICAgIGF0 aW1lX3VwZGF0ZV9jaGVjazogYm9vbCwKPj4+PiAgICAgICAgKSAtPiBSZXN1bHQ8U2VsZiwgRXJy b3I+Cj4+Pj4gICAgICAgIHdoZXJlCj4+Pj4gICAgICAgICAgICBQOiBJbnRvPFBhdGhCdWY+LAo+ Pj4+IEBAIC0xNTAsNyArMTUzLDE2IEBAIGltcGwgQ2h1bmtTdG9yZSB7Cj4+Pj4gICAgICAgICAg ICAgICAgfQo+Pj4+ICAgICAgICAgICAgfQo+Pj4+ICAgIAo+Pj4+IC0gICAgICAgIFNlbGY6Om9w ZW4obmFtZSwgYmFzZSwgc3luY19sZXZlbCkKPj4+PiArICAgICAgICBsZXQgY2h1bmtfc3RvcmUg PSBTZWxmOjpvcGVuKG5hbWUsIGJhc2UsIHN5bmNfbGV2ZWwpPzsKPj4+PiArICAgICAgICBpZiBh dGltZV91cGRhdGVfY2hlY2sgewo+Pj4+ICsgICAgICAgICAgICBjaHVua19zdG9yZQo+Pj4+ICsg ICAgICAgICAgICAgICAgLmNoZWNrX2ZzX2F0aW1lX3VwZGF0ZSgpCj4+Pj4gKyAgICAgICAgICAg ICAgICAubWFwKHwoKXwgaW5mbyEoImF0aW1lIHVwZGF0ZSBjaGVjayBzdWNjZXNzZnVsLiIpKT87 Cj4+Pj4gKyAgICAgICAgfSBlbHNlIHsKPj4+PiArICAgICAgICAgICAgaW5mbyEoImF0aW1lIHVw ZGF0ZSBjaGVjayBza2lwcGVkLiIpOwo+Pj4+ICsgICAgICAgIH0KPj4+PiArCj4+Pj4gKyAgICAg ICAgT2soY2h1bmtfc3RvcmUpCj4+Pj4gICAgICAgIH0KPj4+PiAgICAKPj4+PiAgICAgICAgZm4g bG9ja2ZpbGVfcGF0aDxQOiBJbnRvPFBhdGhCdWY+PihiYXNlOiBQKSAtPiBQYXRoQnVmIHsKPj4+ PiBAQCAtNDQ1LDYgKzQ1Nyw1MSBAQCBpbXBsIENodW5rU3RvcmUgewo+Pj4+ICAgICAgICAgICAg T2soKCkpCj4+Pj4gICAgICAgIH0KPj4+PiAgICAKPj4+PiArICAgIC8vLyBDaGVjayBpZiBhdGlt ZSB1cGRhdGVzIGFyZSBob25vcmVkIGJ5IHRoZSBmaWxlc3lzdGVtIGJhY2tpbmcgdGhlIGNodW5r IHN0b3JlLgo+Pj4+ICsgICAgLy8vCj4+Pj4gKyAgICAvLy8gU2V0cyB0aGUgYXRpbWUgdHdpY2Us IG9uY2UgaW50byB0aGUgcGFzdCBieSBvbmUgc2Vjb25kLCBjaGVja2luZyB0aGF0IHRoaXMgd2Fz IGhvbm9yZWQgYW5kCj4+Pj4gKyAgICAvLy8gdGhlbiB0byBub3cgYWdhaW4sIGFzIG90aGVyd2lz ZSBpdCBpcyBub3QgZ3VhcmFudGVlZCB0byBhbHNvIGNvdmVyIHRpbWUgcmFuZ2VzIGJ5IGByZWxh dGltZWAuCj4+Pj4gKyAgICAvLy8gVXNlcyBhIDQgTWlCIGZpeGVkIHNpemUsIGNvbXByZXNzZWQg YnV0IHVuZW5jcnlwdGVkIGNodW5rIHRvIHRlc3QuIFRoZSBjaHVuayBpcyBpbnNlcnRlZCBpbgo+ Pj4+ICsgICAgLy8vIHRoZSBjaHVuayBzdG9yZSBpZiBub3QgeWV0IHByZXNlbnQuCj4+Pj4gKyAg ICBwdWIgZm4gY2hlY2tfZnNfYXRpbWVfdXBkYXRlKCZzZWxmKSAtPiBSZXN1bHQ8KCksIEVycm9y PiB7Cj4+Pj4gKyAgICAgICAgbGV0ICh6ZXJvX2NodW5rLCBkaWdlc3QpID0gRGF0YUNodW5rQnVp bGRlcjo6YnVpbGRfemVyb19jaHVuayhOb25lLCA0MDk2ICogMTAyNCwgdHJ1ZSk/Owo+Pj4+ICsg ICAgICAgIHNlbGYuaW5zZXJ0X2NodW5rKCZ6ZXJvX2NodW5rLCAmZGlnZXN0KT87Cj4+Pj4gKwo+ Pj4+ICsgICAgICAgIGxldCBwYXN0ID0gU3lzdGVtVGltZTo6bm93KCkuZHVyYXRpb25fc2luY2Uo VU5JWF9FUE9DSCk/IC0gRHVyYXRpb246OmZyb21fc2VjcygxKTsKPj4+PiArICAgICAgICBsZXQg dGltZXM6IFtsaWJjOjp0aW1lc3BlYzsgMl0gPSBbCj4+Pj4gKyAgICAgICAgICAgIGxpYmM6OnRp bWVzcGVjIHsKPj4+PiArICAgICAgICAgICAgICAgIHR2X3NlYzogcGFzdC5hc19zZWNzKCkudHJ5 X2ludG8oKT8sCj4+Pj4gKyAgICAgICAgICAgICAgICB0dl9uc2VjOiBwYXN0LnN1YnNlY19uYW5v cygpLmludG8oKSwKPj4+PiArICAgICAgICAgICAgfSwKPj4+PiArICAgICAgICAgICAgbGliYzo6 dGltZXNwZWMgewo+Pj4+ICsgICAgICAgICAgICAgICAgdHZfc2VjOiAwLAo+Pj4+ICsgICAgICAg ICAgICAgICAgdHZfbnNlYzogVVRJTUVfT01JVCwKPj4+PiArICAgICAgICAgICAgfSwKPj4+PiAr ICAgICAgICBdOwo+Pj4KPj4+IHRoaXMgc2V0cyAqYXRpbWUqIG9uZSBzZWNvbmQgaW4gdGhlIHBh c3QsIHdoaWxlIG5vdCB0b3VjaGluZyAqbXRpbWUqLgo+Pj4gdGhpcyBpcyBub3Qgc29tZXRoaW5n IHdlIGV2ZXIgbmVlZD8gaWYgdGhpcyBmYWlscywgc29tZXRoaW5nIGlzIHdlaXJkLAo+Pj4gYnV0 IGl0IHdvdWxkbid0IG1lYW4gdGhhdCBhdGltZSBoYW5kbGluZyB3YXMgYnJva2VuIGZvciBvdXIg dXNlIGNhc2UuLgo+Pj4KPj4+PiArCj4+Pj4gKyAgICAgICAgdXNlIG5peDo6Tml4UGF0aDsKPj4+ PiArICAgICAgICBsZXQgKHBhdGgsIF9kaWdlc3QpID0gc2VsZi5jaHVua19wYXRoKCZkaWdlc3Qp Owo+Pj4+ICsgICAgICAgIHBhdGgud2l0aF9uaXhfcGF0aCh8Y3N0cnwgdW5zYWZlIHsKPj4+PiAr ICAgICAgICAgICAgbGV0IHRtcCA9IGxpYmM6OnV0aW1lbnNhdCgtMSwgY3N0ci5hc19wdHIoKSwg JnRpbWVzWzBdLCBsaWJjOjpBVF9TWU1MSU5LX05PRk9MTE9XKTsKPj4+PiArICAgICAgICAgICAg bml4OjplcnJubzo6RXJybm86OnJlc3VsdCh0bXApCj4+Pj4gKyAgICAgICAgfSk/PzsKPj4+PiAr Cj4+Pj4gKyAgICAgICAgbGV0IG1ldGFkYXRhX3Bhc3QgPSBzdGQ6OmZzOjptZXRhZGF0YSgmcGF0 aCkubWFwX2VycihFcnJvcjo6ZnJvbSk/Owo+Pj4+ICsgICAgICAgIGxldCBhdGltZV9wYXN0ID0g bWV0YWRhdGFfcGFzdC5hY2Nlc3NlZCgpPzsKPj4+PiArICAgICAgICBpZiBwYXN0ICE9IGF0aW1l X3Bhc3QuZHVyYXRpb25fc2luY2UoVU5JWF9FUE9DSCk/IHsKPj4+PiArICAgICAgICAgICAgYmFp bCEoInNldHRpbmcgYXRpbWUgdG8gdGhlIHBhc3QgZmFpbGVkLCBpcyBhdGltZSBzdXBwb3J0IGVu YWJsZWQgb24gZGF0YXN0b3JlIGJhY2tpbmcgZmlsZXN5c3RlbT8iKTsKPj4+PiArICAgICAgICB9 Cj4+Pj4gKwo+Pj4+ICsgICAgICAgIHNlbGYuY29uZF90b3VjaF9jaHVuaygmZGlnZXN0LCB0cnVl KT87Cj4+Pj4gKwo+Pj4+ICsgICAgICAgIGxldCBtZXRhZGF0YV9ub3cgPSBzdGQ6OmZzOjptZXRh ZGF0YSgmcGF0aCkubWFwX2VycihFcnJvcjo6ZnJvbSk/Owo+Pj4+ICsgICAgICAgIGxldCBhdGlt ZV9ub3cgPSBtZXRhZGF0YV9ub3cuYWNjZXNzZWQoKT87Cj4+Pj4gKyAgICAgICAgaWYgYXRpbWVf cGFzdCA+PSBhdGltZV9ub3cgewo+Pj4+ICsgICAgICAgICAgICBiYWlsISgiYXRpbWUgdXBkYXRl IGNoZWNrIGZhaWxlZCwgaXMgYXRpbWUgc3VwcG9ydCBlbmFibGVkIG9uIGRhdGFzdG9yZSBiYWNr aW5nIGZpbGVzeXN0ZW0/Iik7Cj4+Pj4gKyAgICAgICAgfQo+Pj4KPj4+IGlmIHNvbWV0aGluZyBp bXBsZW1lbnRzIGV4cGxpY2l0IHRpbWVzdGFtcCB1cGRhdGVzIHRvIHdvcmsgbGlrZSByZWxhdGlt ZQo+Pj4gZG9lcyBmb3IgcmVhZC10cmlnZ2VyZWQgdXBkYXRlcywgdGhpcyB3b3VsZCBzdGlsbCBw b3RlbnRpYWxseSBmYWlsIC0KPj4+IHJlbGF0aW1lIGNvdmVycyBjaGVja2luZyAqbXRpbWUqICh3 aGljaCB3ZSBoYXZlbid0IHVwZGF0ZWQgYWJvdmUhKSBmaXJzdAo+Pj4gdG8gc2VlIGlmICphdGlt ZSogc2hvdWxkIGJlIHVwZGF0ZWQgd2hlbiBkb2luZyByZWFkcy4gaXQncyBiYXNpY2FsbHkgYQo+ Pj4gcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIChza2lwIG1vc3QgYXRpbWUgdXBkYXRlcyBmb3Ig cmVhZC1oZWF2eSB3b3JrCj4+PiBsb2Fkcykgd2l0aG91dCBicmVha2luZyBhIHZlcnkgc3BlY2lm aWMgdXNlIGNhc2UgKHRoYXQgb2YgbXV0dCBhYnVzaW5nCj4+PiBhdGltZSB0byBrbm93IHdoZW4g aXQgbGFzdCByZWFkIGEgbG9jYWwgbWFpbGJveFswXSwgd2hpY2ggd291bGQgYnJlYWsgaWYKPj4+ IGF0aW1lIHdlcmUgbmV2ZXIgdXBkYXRlZCBvbiByZWFkcykuCj4+Cj4+IFRoYW5rcyBhIGxvdCBm b3IgdGhlIHBvaW50ZXIhIE5lZWQgdG8gZGlnIGEgYml0IGRlZXBlciBpbnRvIGhvdyByZWxhdGlt ZQo+PiB3b3JrcywgYXMgbXkgdW5kZXJzdGFuZGluZyBvZiBpdCBpcyBjbGVhcmx5IGZsYXdlZC4K Pj4KPj4+IEkgdGhpbmsgd2hhdCB3ZSBhY3R1YWxseSB3YW50IHRvIGRvIGF0IEdDIHRpbWUgaXM6 Cj4+Pgo+Pj4gKHBvdGVudGlhbGx5KSBpbnNlcnQgdGhlIGNodW5rCj4+PiBzdGF0IHRoZSBjaHVu awo+Pj4gdG91Y2ggdGhlIGNodW5rIChyZWd1bGFybHkpCj4+PiBzdGF0IHRoZSBjaHVuayBhZ2Fp bgo+Pj4gY29tcGFyZSB0aGUgdGltZXN0YW1wcwo+Pgo+PiBUaGF0IHdhcyBteSBpbml0aWFsIGFw cHJvYWNoLCB3aGljaCBmYWlsZWQgYmVjYXVzZSBvZiB0aGUgdGltZXN0YW1wCj4+IGdyYW51bGFy aXR5IGFuZCBzaW5jZSBJIGRpZG4ndCB3YW50IHRvIHdhaXQgaW4tYmV0d2VlbiB0aGUgc3RhdCBh bmQKPj4gdG91Y2ggdGhlIGFwcHJvYWNoIHdpdGggc2V0dGluZyB0aGUgYXRpbWUgaW50byB0aGUg cGFzdCBmaXJzdCBjYW1lIHRvCj4+IG1pbmQsIHRoZXJlZm9yZSBteSBpbXBsZW1lbnRhdGlvbi4g QnV0IEkgc2VlIHRoYXQgdGhpcyBkb2VzIG5vdCB3b3JrCj4+IGJhc2VkIG9uIHlvdXIgZmVlZGJh Y2suCj4gCj4gZGlkIHlvdSBhY3R1YWxseSBoaXQgdGhlIGdyYW51bGFyaXR5IGlzc3VlIGluIHBy YWN0aWNlPyB3aXRoIHdoaWNoCj4gc3RvcmFnZS9maWxlIHN5c3RlbT8KCkhtbSwgaGFkIGEgZGF0 YXN0b3JlIG9uIFpGUyB3aXRoIGF0aW1lIG9uLCB3aGljaCB0cmlnZ2VyZWQgdGhlIGNoZWNrIGZv ciAKbWUgb24gZ2FyYmFnZSBjb2xsZWN0aW9uLCB3aXRoIGFuIGFkZGl0aW9uYWwgZGVsYXkgb2Yg MSBzZWNvbmQgaG93ZXZlciAKaXQgd29ya2VkLi4uIE1pZ2h0IGhhdmUgYmVlbiBhbiBpbXBsZW1l bnRhdGlvbiBlcnJvciB0b3VnaC4uLgoKPiAKPiBiZWNhdXNlIGV2ZW4gd2l0aCByZWxhdGltZSBv ciBub2F0aW1lIG9uIGV4dDQgYSBzZXF1ZW5jZSBvZgo+IAo+IHN0YXQgZm9vYmFyOyB0b3VjaCAt YSBmb29iYXI7IHN0YXQgZm9vYmFyOyB0b3VjaCAtYSBmb29iYXI7IHN0YXQgZm9vYmFyCj4gCj4g d2lsbCBnaXZlIG1lIGRpZmZlcmVudCBhdGltZXMgZm9yIGVhY2ggc3RhdC4gdGhlIHNhbWUgaXMg dHJ1ZSBmb3IgWkZTIG5vCj4gbWF0dGVyIHdoaWNoIGF0aW1lIHNldHRpbmdzIEkgZ2l2ZSB0aGUg ZGF0YXNldC4KPiAKPj4+IHdlIG5vdyBoYXZlIHRocmVlIGNhc2VzOgo+Pj4KPj4+IEEpIHRoZSBv bGQgYXRpbWUgaXMgYmVmb3JlIHRoZSBuZXcgYXRpbWUgPT4gdGhlIHN0b3JhZ2UgZG9lc24ndCBk aXNjYXJkCj4+PiAqYWxsKiBhdGltZSB1cGRhdGVzIGFuZCB3ZSBjYW4gcHJvY2VlZAo+Pj4gQikg dGhlIG9sZCBhdGltZSBhbmQgdGhlIG5ldyBhdGltZSBhcmUgaWRlbnRpY2FsIGFuZCBhdGltZSBp cyAqYmVmb3JlKgo+Pj4gbXRpbWUgYW5kIGN0aW1lID0+IGF0aW1lIHNob3VsZCBoYXZlIGJlZW4g dXBkYXRlZCBldmVuIHVuZGVyCj4+PiAicmVsYXRpbWUtbGlrZSIgc2VtYW50aWNzLCB2ZXJ5IGxp a2VseSB0aGlzIHN0b3JhZ2UgaXMgZGlzY2FyZGluZyBhbGwKPj4+IGF0aW1lIHVwZGF0ZXMsIHdl IHNob3VsZCBhYm9ydCB3aXRoIGFuIGVycm9yCj4+PiBDKSB0aGUgb2xkIGF0aW1lIGFuZCB0aGUg bmV3IGF0aW1lIGFyZSBpZGVudGljYWwsIGJ1dCBhdGltZSBpcyAqYWZ0ZXIqCj4+PiBjdGltZS9t dGltZSA9PiB3ZSBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgd2UganVzdCByYW4gaW50byByZWxhdGlt ZS1saWtlCj4+PiBiZWhhdmlvdXIKPj4+Cj4+PiBDIG1lYW5zIHdlIGVpdGhlciBhYm9ydCBhcyB3 ZWxsIChpZiB3ZSBkb24ndCB3YW50IHRvIHN1cHBvcnQgc3VjaAo+Pj4gc2V0dXBzKSwgb3Igd2Ug dHJ5IHRvIGRldGVjdCBpZiBzZXR0aW5nIGJvdGggbXRpbWUgYW5kIGF0aW1lIHdvcmtzLCBhbmQK Pj4+IGZvcmNlIHRoZSBHQyBpbnRvIGRvaW5nIHRoYXQKPj4+Cj4+PiB3ZSBtaWdodCB3YW50IHRv IGFkZCBhICJ3YWl0IGEgc2Vjb25kIiBiZXR3ZWVuIHRoZSBmaXJzdCBzdGF0IGFuZCB0aGUKPj4+ IHRvdWNoaW5nIHRvIGFjY291bnQgZm9yIGZpbGVzeXN0ZW1zIHdpdGggbW9yZSBncmFudWxhciB0 aW1lc3RhbXBzCj4+PiAoaW5zZXJ0aW5nIHRvdWNoZXMsIGFuZCBvdGhlciB0YXNrcyBtaWdodCB0 b3VjaCBhdCAidGhlIHNhbWUgdGltZSIgYXMKPj4+IHdlbGwgYnkgYWNjaWRlbnQpLCBzaW5jZSB0 aGUgcmVxdWVzdGVkIHRpbWVzdGFtcHMgbWlnaHQgYmUgbW9kaWZpZWQgdG8KPj4+IGJlY29tZSAi dGhlIGdyZWF0ZXN0IHZhbHVlIHN1cHBvcnRlZCBieSB0aGUgZmlsZXN5c3RlbSB0aGF0IGlzIG5v dAo+Pj4gZ3JlYXRlciB0aGFuIHRoZSBzcGVjaWZpZWQgdGltZSIgKHV0aW1lbnNhdCgyKSksIGFu ZCBvbmUgc2Vjb25kIGRvZXNuJ3QKPj4+IHJlYWxseSBodXJ0IGlzIGluIHRoZSBzY29wZSBvZiBh IEdDLi4KPj4+Cj4+PiBub3RlIHRoYXQgdGhlIDI0aCBncmFjZSBwZXJpb2QgaXMgdG90YWxseSBp bmRlcGVuZGVudCBvZiB0aGlzIC0gaXQgY29tZXMKPj4+IGZyb20gbGF6eXRpbWUgYW5kIHJlbGF0 ZXMgdG8gaG93IG9mdGVuIGNoYW5nZXMgb2YgdGltZXN0YW1wcyBhcmUKPj4+ICpwZXJzaXN0ZWQg b24gZGlzayouIHRoYXQgc2hvdWxkbid0IGFmZmVjdCB1cyBmb3IgbG9jYWwgc3RvcmFnZXMgKHNp bmNlCj4+PiB3ZSB0YWxrIHRvIHRoZSBrZXJuZWwgYW5kIGFsd2F5cyBnZXQgdGhlIHVwZGF0ZWQg dmlldyBhbnl3YXksIG5vIG1hdHRlcgo+Pj4gaWYgaXQgaXMgaW4tbWVtb3J5IG9yIG9uLWRpc2su IGlmIHRoZSBQQlMgc3lzdGVtIGNyYXNoZXMgR0MgaXMgZ29uZSBhcwo+Pj4gd2VsbCBhbmQgbmVl ZHMgdG8gc3RhcnQgb3Zlciwgbm8gcmlzayBvZiBpbmNvbnNpc3RlbmN5KS4KPj4+Cj4+PiB3ZSBt aWdodCBoYXZlIGEgcHJvYmxlbSBpZiB0aGUgc3RvcmFnZSB1c2VzIGxhenl0aW1lIGludGVybmFs bHkgYW5kCj4+PiBsaXZlcyBzb21ld2hlcmUgZWxzZQo+Pj4gLSBHQyBzdGFydHMgcGhhc2UxCj4+ PiAtIHVwZGF0ZXMgYSBmZXcgYXRpbWVzCj4+PiAtIHN0b3JhZ2UgY3Jhc2hlcyBhbmQgbG9zZXMg c29tZSBvZiB0aGUgdXBkYXRlcyB3aGlsZSBJL08gdG8gaXQgYmxvY2tzCj4+PiAtIHN0b3JhZ2Ug Y29tZXMgYmFjayB1cAo+Pj4gLSBHQyBjb250aW51ZXMgbm90IGtub3dpbmcgdGhhdCBzb21lIG9m IHRoZSBhdGltZSB1cGRhdGVzIGhhdmUgYmVlbiBsb3N0Cj4+PiAgICAgaW4gdGhlIGV0aGVyCj4+ PiAtIEdDIGVudGVycyBwaGFzZTIKPj4+IC0gY2h1bmsgdGltZXN0YW1wIG1ha2VzIGl0IGVsaWdp YmxlIGZvciBkZWxldGlvbiwgZXZlbiB0aG91Z2ggaXQgd2FzCj4+PiAgICAgdG91Y2hlZCBpbiBw aGFzZTEKPj4+IC0gZGF0YSBsb3NzCj4+Pgo+Pj4gSSBkb24ndCB0aGluayB3ZSBjYW4gcmVhbGx5 IHByZXZlbnQgdGhpcyBvdGhlciB0aGFuIGJ5IGRpdGNoaW5nIHRoZQo+Pj4gd2hvbGUgYXRpbWUg bWVjaGFuaXNtIGFuZCBpbnN0ZWFkIGtlZXAgYSBsaXN0IG9mIHdyaXR0ZW4gY2h1bmtzIGluIGVh Y2gKPj4+IGJhY2t1cCB3cml0ZXIsIGFuZCBnZW5lcmF0ZSBzdWNoIGEgbGlzdCBpbiBwaGFzZTEs IG1lcmdpbmcgdGhlbSBhbGwgYW5kCj4+PiB1c2luZyB0aGF0IGZvciBwaGFzZTIgKHdoaWNoIGlz IHJlYWxseSBleHBlbnNpdmUgYXMgaXQgc2NhbGVzIHdpdGggdGhlCj4+PiBudW1iZXIgb2YgdG91 Y2hlZCBjaHVua3MgYW5kIHdvdWxkIHJlcXVpcmUgc3luY2luZyB1cCB3cml0ZXJzIGFuZCBHQyku Cj4+PiB0aGFua2Z1bGx5IEknZCBleHBlY3QgbW9zdCBzdWNoIGZhaWx1cmUgc2NlbmFyaW9zIHRv IGFjdHVhbGx5IGFib3J0IHRoZQo+Pj4gR0MgYW55d2F5IGZvciBJL08gZXJyb3IgcmVhc29ucy4u Cj4+Cj4+IE1heWJlIG9uZSBjb3VsZCB1c2UgYHN0YXRtb3VudGAgdG8gZGV0ZXJtaW5lIGlmIHRo ZSBgU0JfTEFaWVRJTUVgIGZsYWcKPj4gaW4gYHNtYnVmLnNiX2ZsYWdzYCBpcyBzZXQ/IEJ1dCBJ IGFzc3VtZSB0aGF0IHlvdSBtZWFudCB0aGUgaXNzdWUgYmVpbmcKPj4gdGhpcyBub3QgZXhwb3Nl ZCBieSB0aGUgZmlsZXN5c3RlbS4uLgo+IAo+IHRoZSBsb2NhbCBtb3VudCBoYXZpbmcgbGF6eXRp bWUgZG9lc24ndCBtYXR0ZXIgKGlmIGl0IGRvZXMsIHRoYXQgbWVhbnMKPiB0aGUgbG9jYWwga2Vy bmVsIGhhbmRsZXMgdGhlIGNvbnNpc3RlbmN5IGFuZCBpZiB0aGUga2VybmVsIGdvZXMKPiBhd2F5 L2NyYXNoZXMsIHNvIGRvZXMgdGhlIEdDKS4gdGhlIGlzc3VlIHdvdWxkIGJlIHNvbWUgc3RvcmFn ZSBhcHBsaWFuY2UKPiB1c2luZyBpdCAob3Igc29tZXRoaW5nIHdpdGggc2ltaWxhciBzZW1hbnRp Y3MpIGludGVybmFsbHkgdGhhdCB3b3VsZAo+IGNhdXNlIGF0aW1lIHVwZGF0ZXMgdG8gIndvcmsi IGJ1dCB0aGVuIGRpc2FwcGVhciBsYXRlciB3aXRob3V0Cj4gaW50ZXJydXB0aW5nIHRoZSBHQy4g SSBkb24ndCBzZWUgaG93IHdlIGNhbiBwcm90ZWN0IGFnYWluc3QgdGhhdCB3aXRob3V0Cj4gc3dp dGNoaW5nIHRvIGEgZGlmZmVyZW50LCBtb3JlIGV4cGVuc2l2ZSBtZWNoYW5pc20uCgpIbW0sIG9r YXkuIEJ1dCBhdCBsZWFzdCBvbmUgc2hvdWxkIGJlIGFibGUgdG8gZGlzdGluZ3Vpc2ggbG9jYWwg CmZpbGVzeXN0ZW1zIGZyb20gTkFTIGJ5IGNoZWNraW5nIC9wcm9jL21vdW50cyBvdXRwdXQsIHNv IG5vdCB0byBhZGQgdGhpcyAKcGVuYWx0eSB0byB1c2VycyBydW5uaW5nIGRhdGFzdG9yZXMgb24g bG9jYWwgZmlsZXN5c3RlbXMuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KcGJzLWRldmVsIG1haWxpbmcgbGlzdApwYnMtZGV2ZWxAbGlzdHMucHJveG1v eC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8v cGJzLWRldmVsCg==