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 D15961FF15C for <inbox@lore.proxmox.com>; Wed, 19 Mar 2025 09:45:30 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id C7F694A18; Wed, 19 Mar 2025 09:45:19 +0100 (CET) Message-ID: <07f3fa30-7892-419b-b5ae-47e9de57ab9b@proxmox.com> Date: Wed, 19 Mar 2025 09:45:15 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta To: Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com>, Christian Ebner <c.ebner@proxmox.com> References: <20250306145252.565270-1-c.ebner@proxmox.com> <20250306145252.565270-4-c.ebner@proxmox.com> Content-Language: en-GB, de-AT From: Thomas Lamprecht <t.lamprecht@proxmox.com> Autocrypt: addr=t.lamprecht@proxmox.com; keydata= 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 DrEx In-Reply-To: <20250306145252.565270-4-c.ebner@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.040 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 v5 proxmox-backup 3/8] 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-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> QW0gMDYuMDMuMjUgdW0gMTU6NTIgc2NocmllYiBDaHJpc3RpYW4gRWJuZXI6Cj4gQ2hlY2sgaWYg dGhlIGZpbGVzeXN0ZW0gYmFja2luZyB0aGUgY2h1bmsgc3RvcmUgYWN0dWFsbHkgdXBkYXRlcyB0 aGUKPiBhdGltZSB0byBhdm9pZCBwb3RlbnRpYWwgZGF0YSBsb3NzIGluIHBoYXNlIDIgb2YgZ2Fy YmFnZSBjb2xsZWN0aW9uLAo+IGluIGNhc2UgdGhlIGF0aW1lIHVwZGF0ZSBpcyBub3QgaG9ub3Jl ZC4KPiAKPiBQZXJmb3JtIHRoZSBjaGVjayBiZWZvcmUgcGhhc2UgMSBvZiBnYXJiYWdlIGNvbGxl Y3Rpb24sIGFzIHdlbGwgYXMKPiBvbiBkYXRhc3RvcmUgY3JlYXRpb24uIFRoZSBsYXR0ZXIgdG8g ZWFybHkgZGV0ZWN0IGFuZCBkaXNhbGxvdwo+IGRhdGFzdG9yZSBjcmVhdGlvbiBvbiBmaWxlc3lz dGVtIGNvbmZpZ3VyYXRpb25zIHdoaWNoIG90aGVyd2lzZSBtb3N0Cj4gbGlrZWx5IHdvdWxkIGxl YWQgdG8gZGF0YSBsb3NzZXMuCj4gCj4gRW5hYmxlIHRoZSBhdGltZSB1cGRhdGUgY2hlY2sgYnkg ZGVmYXVsdCwgYnV0IGFsbG93IHRvIG9wdC1vdXQgYnkKPiBzZXR0aW5nIGEgZGF0YXN0b3JlIHR1 bmluZyBwYXJhbWV0ZXIgZmxhZyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCj4gVGhpcyBp cyBob25vcmVkIGJ5IGJvdGgsIGdhcmJhZ2UgY29sbGVjdGlvbiBhbmQgZGF0YXN0b3JlIGNyZWF0 aW9uLgo+IAo+IFRoZSBjaGVjayB1c2VzIGEgNCBNaUIgZml4ZWQgc2l6ZWQsIHVuZW5jeXB0ZWQg YW5kIGNvbXByZXNzZWQgY2h1bmsKPiBhcyB0ZXN0IG1hcmtlciwgaW5zZXJ0ZWQgaWYgbm90IHBy ZXNlbnQuIFRoaXMgYWxsIHplcm8tY2h1bmsgaXMgdmVyeQo+IGxpa2VseSBhbnl3YXlzIGZvciB1 bmVuY3J5cHRlZCBiYWNrdXAgY29udGVudHMgd2l0aCBsYXJnZSBhbGwtemVybwo+IHJlZ2lvbnMg dXNpbmcgZml4ZWQgc2l6ZSBjaHVua2luZyAoZS5nLiBWTXMpLgo+IAo+IFRvIGF2b2lkIGNhc2Vz IHdlcmUgdGhlIHRpbWVzdGFtcCB3aWxsIG5vdCBiZSB1cGRhdGVkIGJlY2F1c2Ugb2YgdGhlCj4g TGludXgga2VybmVscyB0aW1lc3RhbXAgZ3JhbnVsYXJpdHksIHNsZWVwIGluLWJldHdlZW4gc3Rh dGluZyBhbmQKPiB1dGltZW5zYXQgZm9yIDEgc2Vjb25kLgo+IAo+IEZpeGVzOiBodHRwczovL2J1 Z3ppbGxhLnByb3htb3guY29tL3Nob3dfYnVnLmNnaT9pZD01OTgyCj4gU2lnbmVkLW9mZi1ieTog Q2hyaXN0aWFuIEVibmVyIDxjLmVibmVyQHByb3htb3guY29tPgo+IC0tLQo+IGNoYW5nZXMgc2lu Y2UgdmVyc2lvbiA0Ogo+IC0gSW1wcm92ZSBsb2dnaW5nIG9mIHZhbHVlcyBpZiBhdGltZSB1cGRh dGUgZmFpbHMuCj4gLSBmaXggaW5jb3JyZWN0IGNvbW1lbnQKPiAKPiAgcGJzLWRhdGFzdG9yZS9z cmMvY2h1bmtfc3RvcmUucnMgfCAxMDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ ICBwYnMtZGF0YXN0b3JlL3NyYy9kYXRhc3RvcmUucnMgICB8ICAxMyArKysrCj4gIHNyYy9hcGky L2NvbmZpZy9kYXRhc3RvcmUucnMgICAgIHwgICAxICsKPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMDgg aW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvcGJzLWRhdGFz dG9yZS9zcmMvY2h1bmtfc3RvcmUucnMgYi9wYnMtZGF0YXN0b3JlL3NyYy9jaHVua19zdG9yZS5y cwo+IGluZGV4IDVlMDI5MDlhMS4uYThjODI2MzUzIDEwMDY0NAo+IC0tLSBhL3Bicy1kYXRhc3Rv cmUvc3JjL2NodW5rX3N0b3JlLnJzCj4gKysrIGIvcGJzLWRhdGFzdG9yZS9zcmMvY2h1bmtfc3Rv cmUucnMKPiBAQCAtMSw5ICsxLDExIEBACj4gK3VzZSBzdGQ6Om9zOjp1bml4Ojpmczo6TWV0YWRh dGFFeHQ7Cj4gIHVzZSBzdGQ6Om9zOjp1bml4Ojppbzo6QXNSYXdGZDsKPiAgdXNlIHN0ZDo6cGF0 aDo6e1BhdGgsIFBhdGhCdWZ9Owo+ICB1c2Ugc3RkOjpzeW5jOjp7QXJjLCBNdXRleH07Cj4gK3Vz ZSBzdGQ6OnRpbWU6OntEdXJhdGlvbiwgVU5JWF9FUE9DSH07Cj4gIAo+IC11c2UgYW55aG93Ojp7 YmFpbCwgZm9ybWF0X2VyciwgRXJyb3J9Owo+IC11c2UgdHJhY2luZzo6aW5mbzsKPiArdXNlIGFu eWhvdzo6e2JhaWwsIGZvcm1hdF9lcnIsIENvbnRleHQsIEVycm9yfTsKPiArdXNlIHRyYWNpbmc6 OntpbmZvLCB3YXJufTsKPiAgCj4gIHVzZSBwYnNfYXBpX3R5cGVzOjp7RGF0YXN0b3JlRlN5bmNM ZXZlbCwgR2FyYmFnZUNvbGxlY3Rpb25TdGF0dXN9Owo+ICB1c2UgcHJveG1veF9pbzo6UmVhZEV4 dDsKPiBAQCAtMTMsNiArMTUsNyBAQCB1c2UgcHJveG1veF9zeXM6OnByb2Nlc3NfbG9ja2VyOjp7 Cj4gIH07Cj4gIHVzZSBwcm94bW94X3dvcmtlcl90YXNrOjpXb3JrZXJUYXNrQ29udGV4dDsKPiAg Cj4gK3VzZSBjcmF0ZTo6ZGF0YV9ibG9iOjpEYXRhQ2h1bmtCdWlsZGVyOwo+ICB1c2UgY3JhdGU6 OmZpbGVfZm9ybWF0czo6ewo+ICAgICAgQ09NUFJFU1NFRF9CTE9CX01BR0lDXzFfMCwgRU5DUllQ VEVEX0JMT0JfTUFHSUNfMV8wLCBVTkNPTVBSRVNTRURfQkxPQl9NQUdJQ18xXzAsCj4gIH07Cj4g QEAgLTkzLDYgKzk2LDcgQEAgaW1wbCBDaHVua1N0b3JlIHsKPiAgICAgICAgICB1aWQ6IG5peDo6 dW5pc3RkOjpVaWQsCj4gICAgICAgICAgZ2lkOiBuaXg6OnVuaXN0ZDo6R2lkLAo+ICAgICAgICAg IHN5bmNfbGV2ZWw6IERhdGFzdG9yZUZTeW5jTGV2ZWwsCj4gKyAgICAgICAgYXRpbWVfc2FmZXR5 X2NoZWNrOiBib29sLAoKTm90IGEgaHVnZSBmYW4gb2YgYW5vdGhlciBmbGF0IHBhcmFtZXRlciBo ZXJlLCBhbGJlaXQgaXQncyBhIGJpdCBib3JkZXJsaW5lLgpJIGRvIG5vdCB3YW50IHRvIGFkZCBz Y29wZSBjcmVlcCwgYnV0IGlmIHdlIHJlYWxseSB3YW50IHRoaXMgaGVyZSwgdGhlbiBtb3ZpbmcK dGhvc2Ugb3B0aW9ucyBpbnRvIGEgc3RydWN0IG1pZ2h0IGJlIG5pY2VyLCBjb3VsZCBiZSBkb25l IGFmdGVyd2FyZCB0b28gdGhvdWdoLgoKQnV0IHN0ZXBwaW5nIGEgYml0IGJhY2ssIHdoeSBpcyB0 aGlzIGEgcGFyYW1ldGVyIGZvciB0aGUgZm4gY3JlYXRpbmcgYSBuZXcKY2h1bmtzdG9yZSBpbiB0 aGUgZmlyc3QgcGxhY2U/IFdoeSBjYW5ub3QgdGhlIGNhbGwgc2l0ZXMgdGhhdCBhcmUgaW50ZXJl c3RlZAppbiBkb2luZyB0aGlzIGNhbGwgY2hlY2tfZnNfYXRpbWVfdXBkYXRlcyB0aGVtc2VsdmVz IG9uIHRoZSBjaHVua3N0b3JlIGluc3RhbmNlCmFmdGVyIGdldHRpbmcgaXQgaW5zdGVhZCBvZiBo YXZpbmcgdG8gbG9vcCB0aHJvdWdoIGEgcGFyYW1ldGVyPwoKV2UgZG8gbm90IGhhdmUgbWFueSBw bGFjZXMgdGhhdCBjcmVhdGUgZGF0YXN0b3Jlcywgc28gSSBkbyBub3QgdGhpbmsgdGhlcmUncyBh CmhpZ2ggbGlrZWxpaG9vZCB0aGF0IHdlIGZvcmdldCB0byBjYWxsIGl0LgoKPiAgICAgICkgLT4g UmVzdWx0PFNlbGYsIEVycm9yPgo+ICAgICAgd2hlcmUKPiAgICAgICAgICBQOiBJbnRvPFBhdGhC dWY+LAo+IEBAIC0xNDcsNyArMTUxLDE3IEBAIGltcGwgQ2h1bmtTdG9yZSB7Cj4gICAgICAgICAg ICAgIH0KPiAgICAgICAgICB9Cj4gIAo+IC0gICAgICAgIFNlbGY6Om9wZW4obmFtZSwgYmFzZSwg c3luY19sZXZlbCkKPiArICAgICAgICBsZXQgY2h1bmtfc3RvcmUgPSBTZWxmOjpvcGVuKG5hbWUs IGJhc2UsIHN5bmNfbGV2ZWwpPzsKPiArICAgICAgICBpZiBhdGltZV9zYWZldHlfY2hlY2sgewo+ ICsgICAgICAgICAgICBjaHVua19zdG9yZQo+ICsgICAgICAgICAgICAgICAgLmNoZWNrX2ZzX2F0 aW1lX3VwZGF0ZXModHJ1ZSkKPiArICAgICAgICAgICAgICAgIC5tYXBfZXJyKHxlcnJ8IGZvcm1h dF9lcnIhKCJhY2Nlc3MgdGltZSBzYWZldHkgY2hlY2sgZmFpbGVkIC0ge2VycjojfSIpKT87Cj4g KyAgICAgICAgICAgIGluZm8hKCJBY2Nlc3MgdGltZSBzYWZldHkgY2hlY2sgc3VjY2Vzc2Z1bC4i KTsKPiArICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICBpbmZvISgiQWNjZXNzIHRpbWUg c2FmZXR5IGNoZWNrIHNraXBwZWQuIik7Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICBPayhj aHVua19zdG9yZSkKPiAgICAgIH0KPiAgCj4gICAgICBmbiBsb2NrZmlsZV9wYXRoPFA6IEludG88 UGF0aEJ1Zj4+KGJhc2U6IFApIC0+IFBhdGhCdWYgewo+IEBAIC00NDIsNiArNDU2LDY2IEBAIGlt cGwgQ2h1bmtTdG9yZSB7Cj4gICAgICAgICAgT2soKCkpCj4gICAgICB9Cj4gIAo+ICsgICAgLy8v IENoZWNrIGlmIGF0aW1lIHVwZGF0ZXMgYXJlIGhvbm9yZWQgYnkgdGhlIGZpbGVzeXN0ZW0gYmFj a2luZyB0aGUgY2h1bmsgc3RvcmUuCj4gKyAgICAvLy8KPiArICAgIC8vLyBDaGVja3MgaWYgdGhl IGF0aW1lIGlzIGFsd2F5cyB1cGRhdGVkIGJ5IHV0aW1lbnNhdCB0YWtpbmcgaW50byBjb25zaWRl cmF0aW9uIHRoZSBMaW51eAo+ICsgICAgLy8vIGtlcm5lbCB0aW1lc3RhbXAgZ3JhbnVsYXJpdHku Cj4gKyAgICAvLy8gSWYgYHJldHJ5X29uX2ZpbGVfY2hhbmdlZGAgaXMgc2V0IHRvIHRydWUsIHRo ZSBjaGVjayBpcyBwZXJmb3JtZWQgYWdhaW4gb24gdGhlIGNoYW5nZWQgZmlsZQo+ICsgICAgLy8v IGlmIGEgZmlsZSBjaGFuZ2Ugd2hpbGUgdGVzdGluZyBpcyBkZXRlY3RlZCBieSBkaWZmZXJlbmNl cyBpbiBiaXRoIHRpbWUgb3IgaW5vZGUgbnVtYmVyLgo+ICsgICAgLy8vIFVzZXMgYSA0IE1pQiBm aXhlZCBzaXplLCBjb21wcmVzc2VkIGJ1dCB1bmVuY3J5cHRlZCBjaHVuayB0byB0ZXN0LiBUaGUg Y2h1bmsgaXMgaW5zZXJ0ZWQgaW4KPiArICAgIC8vLyB0aGUgY2h1bmsgc3RvcmUgaWYgbm90IHll dCBwcmVzZW50Lgo+ICsgICAgLy8vIFJldHVybnMgd2l0aCBlcnJvciBpZiB0aGUgY2hlY2sgY291 bGQgbm90IGJlIHBlcmZvcm1lZC4KPiArICAgIHB1YiBmbiBjaGVja19mc19hdGltZV91cGRhdGVz KCZzZWxmLCByZXRyeV9vbl9maWxlX2NoYW5nZWQ6IGJvb2wpIC0+IFJlc3VsdDwoKSwgRXJyb3I+ IHsKPiArICAgICAgICBsZXQgKHplcm9fY2h1bmssIGRpZ2VzdCkgPSBEYXRhQ2h1bmtCdWlsZGVy OjpidWlsZF96ZXJvX2NodW5rKE5vbmUsIDQwOTYgKiAxMDI0LCB0cnVlKT87Cj4gKyAgICAgICAg bGV0IChwcmVfZXhpc3RpbmcsIF8pID0gc2VsZi5pbnNlcnRfY2h1bmsoJnplcm9fY2h1bmssICZk aWdlc3QpPzsKPiArICAgICAgICBsZXQgKHBhdGgsIF9kaWdlc3QpID0gc2VsZi5jaHVua19wYXRo KCZkaWdlc3QpOwo+ICsKPiArICAgICAgICAvLyBUYWtlIGludG8gYWNjb3VudCB0aW1lc3RhbXAg dXBkYXRlIGdyYW51bGFyaXR5IGluIHRoZSBrZXJuZWwKPiArICAgICAgICBzdGQ6OnRocmVhZDo6 c2xlZXAoRHVyYXRpb246OmZyb21fc2VjcygxKSk7CgpJZiB0aGVyZSdzIHRoZSBuZWVkIGZvciBh IHY2IEknZCBtYXliZSBhZGQgdG8gdGhlIGNvbW1lbnQgdGhhdCB0aGlzIG5vcm1hbGx5CnJ1bnMg aW4gYSB3b3JrZXIsIHNvIHNsZWVwIGJsb2NraW5nIHRoZSB3aG9sZSB0aHJlYWQgaXMgZmluZSBo ZXJlLgoKQWxzbywgeW91IHdyaXRlICJzbGVlcCBpbi1iZXR3ZWVuIHN0YXRpbmcgYW5kIHV0aW1l bnNhdCBmb3IgMSBzZWNvbmQiLCBidXQKdGhpcyBpcyBzbGVlcGluZyBiZWZvcmUgdGhlIHN0YXQg KyB0b3VjaCArIHN0YXQgY2FsbHMsIG9yIGFtIEkgb3Zlcmxvb2tpbmcKc29tZXRoaW5nPwoKPiAr ICAgICAgICBsZXQgbWV0YWRhdGFfYmVmb3JlID0KPiArICAgICAgICAgICAgc3RkOjpmczo6bWV0 YWRhdGEoJnBhdGgpLmNvbnRleHQoZm9ybWF0ISgiZmFpbGVkIHRvIGdldCBtZXRhZGF0YSBmb3Ig e3BhdGg6P30iKSk/Owo+ICsKPiArICAgICAgICAvLyBTZWNvbmQgYXRpbWUgdXBkYXRlIGlmIGNo dW5rIHByZS1leGlzdGVkLCBpbnNlcnRfY2h1bmsgYWxyZWFkeSB1cGRhdGVzIHByZS1leGlzdGlu ZyBvbmVzCj4gKyAgICAgICAgc2VsZi5jb25kX3RvdWNoX3BhdGgoJnBhdGgsIHRydWUpPzsKPiAr Cj4gKyAgICAgICAgbGV0IG1ldGFkYXRhX25vdyA9Cj4gKyAgICAgICAgICAgIHN0ZDo6ZnM6Om1l dGFkYXRhKCZwYXRoKS5jb250ZXh0KGZvcm1hdCEoImZhaWxlZCB0byBnZXQgbWV0YWRhdGEgZm9y IHtwYXRoOj99IikpPzsKCkFub3RoZXIgdGlueSBuaXQ6IG1heWJlIGVuY29kZSBub3cvYWZ0ZXIg aW4gdGhlIGNvbnRleHQgdG8gYmUgZWFzaWVyIGFibGUKdG8gZGlzdGluZ3Vpc2ggd2hpY2ggc3Rh dCBzeXNjYWxsIGZhaWxlZCDigJMgd2hpbGUgaXQncyB2ZXJ5IHVubGlrZWx5IHRoYXQKb25lIHN1 Y2NlZWRzIGFuZCB0aGUgb3RoZXIgZG9lc24ndCwgaXQgd291bGQgbm90IGh1cnQgdG8gYmUgYWJs ZSB0byB0ZWxsCnRoYXQgY2FzZSBhcGFydC4KCj4gKwo+ICsgICAgICAgIC8vIENoZWNrIGZvciB0 aGUgdW5saWtlbHkgY2FzZSB0aGF0IHRoZSBmaWxlIGNoYW5nZWQgaW4tYmV0d2VlbiB0aGUKPiAr ICAgICAgICAvLyB0d28gbWV0YWRhdGEgY2FsbHMsIHRyeSB0byBjaGVjayBvbmNlIGFnYWluIG9u IGNoYW5nZWQgZmlsZQo+ICsgICAgICAgIGlmIG1ldGFkYXRhX2JlZm9yZS5pbm8oKSAhPSBtZXRh ZGF0YV9ub3cuaW5vKCkgewo+ICsgICAgICAgICAgICBpZiByZXRyeV9vbl9maWxlX2NoYW5nZWQg ewo+ICsgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuY2hlY2tfZnNfYXRpbWVfdXBkYXRlcyhm YWxzZSk7Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgYmFpbCEoImNodW5rIHtwYXRo Oj99IGNoYW5nZWQgdHdpY2UgZHVyaW5nIGFjY2VzcyB0aW1lIHNhZmV0eSBjaGVjaywgY2Fubm90 IHByb2NlZWQuIik7Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICBpZiBtZXRhZGF0YV9iZWZv cmUuYWNjZXNzZWQoKT8gPj0gbWV0YWRhdGFfbm93LmFjY2Vzc2VkKCk/IHsKPiArICAgICAgICAg ICAgbGV0IGNodW5rX2luZm9fc3RyID0gaWYgcHJlX2V4aXN0aW5nIHsKPiArICAgICAgICAgICAg ICAgICJwcmUtZXhpc3RpbmciCj4gKyAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAg ICAgICAibmV3bHkgaW5zZXJ0ZWQiCj4gKyAgICAgICAgICAgIH07Cj4gKyAgICAgICAgICAgIHdh cm4hKCJDaHVuayBtZXRhZGF0YSB3YXMgbm90IGNvcnJlY3RseSB1cGRhdGVkIGR1cmluZyBhY2Nl c3MgdGltZSBzYWZldHkgY2hlY2s6Iik7Cj4gKyAgICAgICAgICAgIGluZm8hKAo+ICsgICAgICAg ICAgICAgICAgIlRpbWVzdGFtcHMgYmVmb3JlIHVwZGF0ZTogYWNjZXNzZWQgezo/fSwgbW9kaWZp ZWQgezo/fSwgY3JlYXRlZCB7Oj99IiwKPiArICAgICAgICAgICAgICAgIG1ldGFkYXRhX2JlZm9y ZS5hY2Nlc3NlZCgpLnVud3JhcF9vcihVTklYX0VQT0NIKSwKPiArICAgICAgICAgICAgICAgIG1l dGFkYXRhX2JlZm9yZS5tb2RpZmllZCgpLnVud3JhcF9vcihVTklYX0VQT0NIKSwKPiArICAgICAg ICAgICAgICAgIG1ldGFkYXRhX2JlZm9yZS5jcmVhdGVkKCkudW53cmFwX29yKFVOSVhfRVBPQ0gp LAo+ICsgICAgICAgICAgICApOwo+ICsgICAgICAgICAgICBpbmZvISgKPiArICAgICAgICAgICAg ICAgICJUaW1lc3RhbXBzIGFmdGVyIHVwZGF0ZTogYWNjZXNzZWQgezo/fSwgbW9kaWZpZWQgezo/ fSwgY3JlYXRlZCB7Oj99IiwKPiArICAgICAgICAgICAgICAgIG1ldGFkYXRhX25vdy5hY2Nlc3Nl ZCgpLnVud3JhcF9vcihVTklYX0VQT0NIKSwKPiArICAgICAgICAgICAgICAgIG1ldGFkYXRhX25v dy5tb2RpZmllZCgpLnVud3JhcF9vcihVTklYX0VQT0NIKSwKPiArICAgICAgICAgICAgICAgIG1l dGFkYXRhX25vdy5jcmVhdGVkKCkudW53cmFwX29yKFVOSVhfRVBPQ0gpLAo+ICsgICAgICAgICAg ICApOwo+ICsgICAgICAgICAgICBiYWlsISgiYWNjZXNzIHRpbWUgc2FmZXR5IGNoZWNrIHVzaW5n IHtjaHVua19pbmZvX3N0cn0gY2h1bmsgZmFpbGVkLCBhYm9ydGluZyBHQyEiKTsKPiArICAgICAg ICB9Cj4gKwo+ICsgICAgICAgIE9rKCgpKQo+ICsgICAgfQo+ICsKPiAgICAgIHB1YiBmbiBpbnNl cnRfY2h1bmsoJnNlbGYsIGNodW5rOiAmRGF0YUJsb2IsIGRpZ2VzdDogJlt1ODsgMzJdKSAtPiBS ZXN1bHQ8KGJvb2wsIHU2NCksIEVycm9yPiB7Cj4gICAgICAgICAgLy8gdW53cmFwOiBvbmx5IGBO b25lYCBpbiB1bml0IHRlc3RzCj4gICAgICAgICAgYXNzZXJ0IShzZWxmLmxvY2tlci5pc19zb21l KCkpOwoKCj4gZGlmZiAtLWdpdCBhL3Bicy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycyBiL3Bi cy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycwo+IGluZGV4IDc1YzBjMTZhYi4uNTU1OGJiMWFj IDEwMDY0NAo+IC0tLSBhL3Bicy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycwo+ICsrKyBiL3Bi cy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycwo+IEBAIC0xMTcwLDYgKzExNzAsMTkgQEAgaW1w bCBEYXRhU3RvcmUgewo+ICAgICAgICAgICAgICAgICAgdXBpZDogU29tZSh1cGlkLnRvX3N0cmlu ZygpKSwKPiAgICAgICAgICAgICAgICAgIC4uRGVmYXVsdDo6ZGVmYXVsdCgpCj4gICAgICAgICAg ICAgIH07Cj4gKyAgICAgICAgICAgIGxldCB0dW5pbmc6IERhdGFzdG9yZVR1bmluZyA9IHNlcmRl X2pzb246OmZyb21fdmFsdWUoCj4gKyAgICAgICAgICAgICAgICBEYXRhc3RvcmVUdW5pbmc6OkFQ SV9TQ0hFTUEKPiArICAgICAgICAgICAgICAgICAgICAucGFyc2VfcHJvcGVydHlfc3RyaW5nKGdj X3N0b3JlX2NvbmZpZy50dW5pbmcuYXNfZGVyZWYoKS51bndyYXBfb3IoIiIpKT8sCj4gKyAgICAg ICAgICAgICk/Owo+ICsgICAgICAgICAgICBpZiB0dW5pbmcuZ2NfYXRpbWVfc2FmZXR5X2NoZWNr LnVud3JhcF9vcih0cnVlKSB7Cj4gKyAgICAgICAgICAgICAgICBzZWxmLmlubmVyCj4gKyAgICAg ICAgICAgICAgICAgICAgLmNodW5rX3N0b3JlCj4gKyAgICAgICAgICAgICAgICAgICAgLmNoZWNr X2ZzX2F0aW1lX3VwZGF0ZXModHJ1ZSkKPiArICAgICAgICAgICAgICAgICAgICAubWFwX2Vycih8 ZXJyfCBmb3JtYXRfZXJyISgiYXRpbWUgc2FmZXR5IGNoZWNrIGZhaWxlZCAtIHtlcnI6I30iKSk/ Owo+ICsgICAgICAgICAgICAgICAgaW5mbyEoIkFjY2VzcyB0aW1lIHNhZmV0eSBjaGVjayBzdWNj ZXNzZnVsLCBwcm9jZWVkaW5nIHdpdGggR0MuIik7Cj4gKyAgICAgICAgICAgIH0gZWxzZSB7Cj4g KyAgICAgICAgICAgICAgICBpbmZvISgiRmlsZXN5c3RlbSBhdGltZSBzYWZldHkgY2hlY2sgZGlz YWJsZWQgYnkgZGF0YXN0b3JlIHR1bmluZyBvcHRpb25zLiIpOwoKU291bmRzIElNTyBzY2FyaWVy IHRoYW4gd2hhdCB0aGlzIGlzLCBpLmUuIGxpa2UgdGhlIHdob2xlIEdDIHdvdWxkIG5vdApiZSBz YWZlIGFueW1vcmUsIG9yIHdvdWxkIG5vdCB1c2UgYXRpbWUgc2FmZXR5IGNoZWNrcyBhbnltb3Jl LgoKSSdkIHJhdGhlciBlaXRoZXIgZHJvcCB0aGF0IG9yIHJld29yZCBpdCB0byBzb21ldGhpbmcg ZWxzZSwgbWF5YmUganVzdCBkb2luZwpzL3NhZmV0eS91cGRhdGUvIHdvdWxkIGJlIGVub3VnaC4K Cj4gKyAgICAgICAgICAgIH0KPiAgCj4gICAgICAgICAgICAgIGluZm8hKCJTdGFydCBHQyBwaGFz ZTEgKG1hcmsgdXNlZCBjaHVua3MpIik7Cj4gIAo+IGRpZmYgLS1naXQgYS9zcmMvYXBpMi9jb25m aWcvZGF0YXN0b3JlLnJzIGIvc3JjL2FwaTIvY29uZmlnL2RhdGFzdG9yZS5ycwo+IGluZGV4IGZl MzI2MGY2ZC4uMzU4NDdmYzQ1IDEwMDY0NAo+IC0tLSBhL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3Rv cmUucnMKPiArKysgYi9zcmMvYXBpMi9jb25maWcvZGF0YXN0b3JlLnJzCj4gQEAgLTExOSw2ICsx MTksNyBAQCBwdWIoY3JhdGUpIGZuIGRvX2NyZWF0ZV9kYXRhc3RvcmUoCj4gICAgICAgICAgICAg ICAgICBiYWNrdXBfdXNlci51aWQsCj4gICAgICAgICAgICAgICAgICBiYWNrdXBfdXNlci5naWQs Cj4gICAgICAgICAgICAgICAgICB0dW5pbmcuc3luY19sZXZlbC51bndyYXBfb3JfZGVmYXVsdCgp LAo+ICsgICAgICAgICAgICAgICAgdHVuaW5nLmdjX2F0aW1lX3NhZmV0eV9jaGVjay51bndyYXBf b3IodHJ1ZSksCj4gICAgICAgICAgICAgICkKPiAgICAgICAgICAgICAgLm1hcCh8X3wgKCkpCj4g ICAgICAgICAgfSBlbHNlIHsKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpwYnMtZGV2ZWwgbWFpbGluZyBsaXN0CnBicy1kZXZlbEBsaXN0cy5wcm94bW94 LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9w YnMtZGV2ZWwK