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 CD2EB1FF15C for <inbox@lore.proxmox.com>; Fri, 4 Apr 2025 17:42:27 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id EF22E363AA; Fri, 4 Apr 2025 17:42:15 +0200 (CEST) Mime-Version: 1.0 Date: Fri, 04 Apr 2025 17:41:40 +0200 Message-Id: <D8XYVQETUYDL.NA06AOPJ6WDK@proxmox.com> To: "Proxmox Backup Server development discussion" <pbs-devel@lists.proxmox.com> From: "Max Carrara" <m.carrara@proxmox.com> X-Mailer: aerc 0.18.2-0-ge037c095a049 References: <20250321080254.68931-1-c.ebner@proxmox.com> <20250321080254.68931-5-c.ebner@proxmox.com> In-Reply-To: <20250321080254.68931-5-c.ebner@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.044 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 KAM_LOTSOFHASH 0.25 Emails with lots of hash-like gibberish 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 v8 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-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> T24gRnJpIE1hciAyMSwgMjAyNSBhdCA5OjAyIEFNIENFVCwgQ2hyaXN0aWFuIEVibmVyIHdyb3Rl Ogo+IENoZWNrIGlmIHRoZSBmaWxlc3lzdGVtIGJhY2tpbmcgdGhlIGNodW5rIHN0b3JlIGFjdHVh bGx5IHVwZGF0ZXMgdGhlCj4gYXRpbWUgdG8gYXZvaWQgcG90ZW50aWFsIGRhdGEgbG9zcyBpbiBw aGFzZSAyIG9mIGdhcmJhZ2UgY29sbGVjdGlvbiwKPiBpbiBjYXNlIHRoZSBhdGltZSB1cGRhdGUg aXMgbm90IGhvbm9yZWQuCj4KPiBQZXJmb3JtIHRoZSBjaGVjayBiZWZvcmUgcGhhc2UgMSBvZiBn YXJiYWdlIGNvbGxlY3Rpb24sIGFzIHdlbGwgYXMKPiBvbiBkYXRhc3RvcmUgY3JlYXRpb24uIFRo ZSBsYXR0ZXIgdG8gZWFybHkgZGV0ZWN0IGFuZCBkaXNhbGxvdwo+IGRhdGFzdG9yZSBjcmVhdGlv biBvbiBmaWxlc3lzdGVtIGNvbmZpZ3VyYXRpb25zIHdoaWNoIG90aGVyd2lzZSBtb3N0Cj4gbGlr ZWx5IHdvdWxkIGxlYWQgdG8gZGF0YSBsb3NzZXMuIFRvIHBlcmZvcm0gdGhlIGNoZWNrIGFsc28g d2hlbgo+IHJldXNpbmcgYW4gZXhpc3RpbmcgZGF0YXN0b3JlLCBvcGVuIHRoZSBjaHVua3Mgc3Rv cmUgYWxzbyBvbiByZXVzZS4KPgo+IEVuYWJsZSB0aGUgYXRpbWUgdXBkYXRlIGNoZWNrIGJ5IGRl ZmF1bHQsIGJ1dCBhbGxvdyB0byBvcHQtb3V0IGJ5Cj4gc2V0dGluZyBhIGRhdGFzdG9yZSB0dW5p bmcgcGFyYW1ldGVyIGZsYWcgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5Lgo+IFRoaXMgaXMg aG9ub3JlZCBieSBib3RoLCBnYXJiYWdlIGNvbGxlY3Rpb24gYW5kIGRhdGFzdG9yZSBjcmVhdGlv bi4KPgo+IFRoZSBjaGVjayB1c2VzIGEgNCBNaUIgZml4ZWQgc2l6ZWQsIHVuZW5jeXB0ZWQgYW5k IGNvbXByZXNzZWQgY2h1bmsKPiBhcyB0ZXN0IG1hcmtlciwgaW5zZXJ0ZWQgaWYgbm90IHByZXNl bnQuIFRoaXMgYWxsIHplcm8tY2h1bmsgaXMgdmVyeQo+IGxpa2VseSBhbnl3YXlzIGZvciB1bmVu Y3J5cHRlZCBiYWNrdXAgY29udGVudHMgd2l0aCBsYXJnZSBhbGwtemVybwo+IHJlZ2lvbnMgdXNp bmcgZml4ZWQgc2l6ZSBjaHVua2luZyAoZS5nLiBWTXMpLgo+Cj4gVG8gYXZvaWQgY2FzZXMgd2Vy ZSB0aGUgdGltZXN0YW1wIHdpbGwgbm90IGJlIHVwZGF0ZWQgYmVjYXVzZSBvZiB0aGUKPiBMaW51 eCBrZXJuZWxzIHRpbWVzdGFtcCBncmFudWxhcml0eSwgc2xlZXAgaW4tYmV0d2VlbiBjaHVuayBp bnNlcnQKPiAoaW5jbHVkaW5nIGFuIGF0aW1lIHVwZGF0ZSBpZiBwcmUtZXhpc3RpbmcpIGFuZCB0 aGUgc3Vic2VxdWVudAo+IHN0YXRpbmcgKyB1dGltZW5zYXQgZm9yIDEgc2Vjb25kLgo+Cj4gRml4 ZXM6IGh0dHBzOi8vYnVnemlsbGEucHJveG1veC5jb20vc2hvd19idWcuY2dpP2lkPTU5ODIKPiBT aWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gRWJuZXIgPGMuZWJuZXJAcHJveG1veC5jb20+Cj4gLS0t Cj4gY2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDc6Cj4gLSByZWJhc2VkIG9uIGN1cnJlbnQgbWFzdGVy Cj4gLSByZW1vdmVkIHVudXNlZCBpbXBvcnQKPgo+ICBwYnMtZGF0YXN0b3JlL3NyYy9jaHVua19z dG9yZS5ycyB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gIHBicy1kYXRh c3RvcmUvc3JjL2RhdGFzdG9yZS5ycyAgIHwgMTUgKysrKysrLQo+ICBzcmMvYXBpMi9jb25maWcv ZGF0YXN0b3JlLnJzICAgICB8IDI4ICsrKysrKysrKystLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAx MDUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvcGJzLWRh dGFzdG9yZS9zcmMvY2h1bmtfc3RvcmUucnMgYi9wYnMtZGF0YXN0b3JlL3NyYy9jaHVua19zdG9y ZS5ycwo+IGluZGV4IGRjMjY3ZDc1Mi4uZmQ1ZjIxNWUyIDEwMDY0NAo+IC0tLSBhL3Bicy1kYXRh c3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzCj4gKysrIGIvcGJzLWRhdGFzdG9yZS9zcmMvY2h1bmtf c3RvcmUucnMKPiBAQCAtMSw5ICsxLDExIEBACj4gK3VzZSBzdGQ6Om9zOjp1bml4Ojpmczo6TWV0 YWRhdGFFeHQ7Cj4gIHVzZSBzdGQ6Om9zOjp1bml4Ojppbzo6QXNSYXdGZDsKPiAgdXNlIHN0ZDo6 cGF0aDo6e1BhdGgsIFBhdGhCdWZ9Owo+ICB1c2Ugc3RkOjpzeW5jOjp7QXJjLCBNdXRleH07Cj4g K3VzZSBzdGQ6OnRpbWU6OkR1cmF0aW9uOwo+Cj4gLXVzZSBhbnlob3c6OntiYWlsLCBmb3JtYXRf ZXJyLCBFcnJvcn07Cj4gLXVzZSB0cmFjaW5nOjppbmZvOwo+ICt1c2UgYW55aG93Ojp7YmFpbCwg Zm9ybWF0X2VyciwgQ29udGV4dCwgRXJyb3J9Owo+ICt1c2UgdHJhY2luZzo6e2luZm8sIHdhcm59 Owo+Cj4gIHVzZSBwYnNfYXBpX3R5cGVzOjp7RGF0YXN0b3JlRlN5bmNMZXZlbCwgR2FyYmFnZUNv bGxlY3Rpb25TdGF0dXN9Owo+ICB1c2UgcHJveG1veF9pbzo6UmVhZEV4dDsKPiBAQCAtMTMsNiAr MTUsNyBAQCB1c2UgcHJveG1veF9zeXM6OnByb2Nlc3NfbG9ja2VyOjp7Cj4gIH07Cj4gIHVzZSBw cm94bW94X3dvcmtlcl90YXNrOjpXb3JrZXJUYXNrQ29udGV4dDsKPgo+ICt1c2UgY3JhdGU6OmRh dGFfYmxvYjo6RGF0YUNodW5rQnVpbGRlcjsKPiAgdXNlIGNyYXRlOjpmaWxlX2Zvcm1hdHM6OnsK PiAgICAgIENPTVBSRVNTRURfQkxPQl9NQUdJQ18xXzAsIEVOQ1JZUFRFRF9CTE9CX01BR0lDXzFf MCwgVU5DT01QUkVTU0VEX0JMT0JfTUFHSUNfMV8wLAo+ICB9Owo+IEBAIC0xNzcsNyArMTgwLDcg QEAgaW1wbCBDaHVua1N0b3JlIHsKPiAgICAgIC8vLyBOb3RlIHRoYXQgdGhpcyBtdXN0IGJlIHVz ZWQgd2l0aCBjYXJlLCBhcyBpdCdzIGRhbmdlcm91cyB0byBjcmVhdGUgdHdvIGluc3RhbmNlcyBv biB0aGUKPiAgICAgIC8vLyBzYW1lIGJhc2UgcGF0aCwgYXMgY2xvc2luZyB0aGUgdW5kZXJseWlu ZyBQcm9jZXNzTG9ja2VyIGRyb3BzIGFsbCBsb2NrcyBmcm9tIHRoaXMgcHJvY2Vzcwo+ICAgICAg Ly8vIG9uIHRoZSBsb2NrZmlsZSAoZXZlbiBpZiBzZXBhcmF0ZSBGRHMpCj4gLSAgICBwdWIoY3Jh dGUpIGZuIG9wZW48UDogSW50bzxQYXRoQnVmPj4oCj4gKyAgICBwdWIgZm4gb3BlbjxQOiBJbnRv PFBhdGhCdWY+PigKPiAgICAgICAgICBuYW1lOiAmc3RyLAo+ICAgICAgICAgIGJhc2U6IFAsCj4g ICAgICAgICAgc3luY19sZXZlbDogRGF0YXN0b3JlRlN5bmNMZXZlbCwKPiBAQCAtNDQyLDYgKzQ0 NSw2OSBAQCBpbXBsIENodW5rU3RvcmUgewo+ICAgICAgICAgIE9rKCgpKQo+ICAgICAgfQo+Cj4g KyAgICAvLy8gQ2hlY2sgaWYgYXRpbWUgdXBkYXRlcyBhcmUgaG9ub3JlZCBieSB0aGUgZmlsZXN5 c3RlbSBiYWNraW5nIHRoZSBjaHVuayBzdG9yZS4KPiArICAgIC8vLwo+ICsgICAgLy8vIENoZWNr cyBpZiB0aGUgYXRpbWUgaXMgYWx3YXlzIHVwZGF0ZWQgYnkgdXRpbWVuc2F0IHRha2luZyBpbnRv IGNvbnNpZGVyYXRpb24gdGhlIExpbnV4Cj4gKyAgICAvLy8ga2VybmVsIHRpbWVzdGFtcCBncmFu dWxhcml0eS4KPiArICAgIC8vLyBJZiBgcmV0cnlfb25fZmlsZV9jaGFuZ2VkYCBpcyBzZXQgdG8g dHJ1ZSwgdGhlIGNoZWNrIGlzIHBlcmZvcm1lZCBhZ2FpbiBvbiB0aGUgY2hhbmdlZCBmaWxlCj4g KyAgICAvLy8gaWYgYSBmaWxlIGNoYW5nZSB3aGlsZSB0ZXN0aW5nIGlzIGRldGVjdGVkIGJ5IGRp ZmZlcmVuY2VzIGluIGJpdGggdGltZSBvciBpbm9kZSBudW1iZXIuCj4gKyAgICAvLy8gVXNlcyBh IDQgTWlCIGZpeGVkIHNpemUsIGNvbXByZXNzZWQgYnV0IHVuZW5jcnlwdGVkIGNodW5rIHRvIHRl c3QuIFRoZSBjaHVuayBpcyBpbnNlcnRlZCBpbgo+ICsgICAgLy8vIHRoZSBjaHVuayBzdG9yZSBp ZiBub3QgeWV0IHByZXNlbnQuCj4gKyAgICAvLy8gUmV0dXJucyB3aXRoIGVycm9yIGlmIHRoZSBj aGVjayBjb3VsZCBub3QgYmUgcGVyZm9ybWVkLgo+ICsgICAgcHViIGZuIGNoZWNrX2ZzX2F0aW1l X3VwZGF0ZXMoJnNlbGYsIHJldHJ5X29uX2ZpbGVfY2hhbmdlZDogYm9vbCkgLT4gUmVzdWx0PCgp LCBFcnJvcj4gewo+ICsgICAgICAgIGxldCAoemVyb19jaHVuaywgZGlnZXN0KSA9IERhdGFDaHVu a0J1aWxkZXI6OmJ1aWxkX3plcm9fY2h1bmsoTm9uZSwgNDA5NiAqIDEwMjQsIHRydWUpPzsKPiAr ICAgICAgICBsZXQgKHByZV9leGlzdGluZywgXykgPSBzZWxmLmluc2VydF9jaHVuaygmemVyb19j aHVuaywgJmRpZ2VzdCk/Owo+ICsgICAgICAgIGxldCAocGF0aCwgX2RpZ2VzdCkgPSBzZWxmLmNo dW5rX3BhdGgoJmRpZ2VzdCk7Cj4gKwo+ICsgICAgICAgIC8vIFRha2UgaW50byBhY2NvdW50IHRp bWVzdGFtcCB1cGRhdGUgZ3JhbnVsYXJpdHkgaW4gdGhlIGtlcm5lbAo+ICsgICAgICAgIC8vIEJs b2NraW5nIHRoZSB0aHJlYWQgaXMgZmluZSBoZXJlIHNpbmNlIHRoaXMgcnVucyBpbiBhIHdvcmtl ci4KPiArICAgICAgICBzdGQ6OnRocmVhZDo6c2xlZXAoRHVyYXRpb246OmZyb21fc2VjcygxKSk7 Cj4gKwo+ICsgICAgICAgIGxldCBtZXRhZGF0YV9iZWZvcmUgPSBzdGQ6OmZzOjptZXRhZGF0YSgm cGF0aCkuY29udGV4dChmb3JtYXQhKAo+ICsgICAgICAgICAgICAiZmFpbGVkIHRvIGdldCBtZXRh ZGF0YSBmb3Ige3BhdGg6P30gYmVmb3JlIGF0aW1lIHVwZGF0ZSIKPiArICAgICAgICApKT87Cj4g Kwo+ICsgICAgICAgIC8vIFNlY29uZCBhdGltZSB1cGRhdGUgaWYgY2h1bmsgcHJlLWV4aXN0ZWQs IGluc2VydF9jaHVuayBhbHJlYWR5IHVwZGF0ZXMgcHJlLWV4aXN0aW5nIG9uZXMKPiArICAgICAg ICBzZWxmLmNvbmRfdG91Y2hfcGF0aCgmcGF0aCwgdHJ1ZSk/OwoKUmVnYXJkaW5nIG15IGNvbW1l bnQgaW4gdGhlIGNvdmVyIGxldHRlcjogVGhlIGNhbGwgdG8KYHNlbGYuY29uZF90b3VjaF9wYXRo YCBhYm92ZSB3aWxsIGZhaWwgb24gYSBkaXJlY3RvcnktYmFzZWQgZGF0YXN0b3JlCmJhY2tlZCBi eSBleHQ0IG1vdW50ZWQgd2l0aCAtbyBydyxyZWxhdGltZToKCiAgICAyMDI1LTA0LTA0VDE2OjI1 OjQ0KzAyOjAwOiBUQVNLIEVSUk9SOiBhdGltZSBzYWZldHkgY2hlY2sgZmFpbGVkOiB1cGRhdGUg YXRpbWUgZmFpbGVkIGZvciBjaHVuay9maWxlICIvbW50L2RhdGFzdG9yZS90ZXN0LW5vYXRpbWUv LmNodW5rcy9iYjlmL2JiOWY4ZGY2MTQ3NGQyNWU3MWZhMDA3MjIzMThjZDM4NzM5NmNhMTczNjYw NWUxMjQ4ODIxY2MwZGUzZDNhZjgiIC0gRVBFUk06IE9wZXJhdGlvbiBub3QgcGVybWl0dGVkCgpG cm9tIGBtYW4gMiB1dGltZW5zYXRgIChmb3JtYXR0ZWQgZm9yIHlvdXIgcmVhZGluZyBwbGVhc3Vy ZSk6CgpFUEVSTQogICAgVGhlIGNhbGxlciBhdHRlbXB0ZWQgdG8gY2hhbmdlIG9uZSBvciBib3Ro IHRpbWVzdGFtcHMgdG8gYSB2YWx1ZQogICAgb3RoZXIgdGhhbiB0aGUgY3VycmVudCB0aW1lLCBv ciB0byBjaGFuZ2Ugb25lIG9mIHRoZSB0aW1lc3RhbXBzIHRvCiAgICB0aGUgY3VycmVudCB0aW1l IHdoaWxlIGxlYXZpbmcgdGhlIG90aGVyIHRpbWVzdGFtcCB1bmNoYW5nZWQsIChpLmUuLAogICAg dGltZXMgIGlzICBub3QgTlVMTCwgbmVpdGhlciB0dl9uc2VjIGZpZWxkIGlzIFVUSU1FX05PVywg YW5kIG5laXRoZXIKICAgIHR2X25zZWMgZmllbGQgaXMgVVRJTUVfT01JVCkgYW5kIGVpdGhlcjoK CiAgICDigKIgIHRoZSBjYWxsZXIncyBlZmZlY3RpdmUgdXNlciBJRCBkb2VzIG5vdCBtYXRjaCB0 aGUgb3duZXIgb2YgZmlsZSwKICAgICAgIGFuZCB0aGUgY2FsbGVyIGlzIG5vdCBwcml2aWxlZ2Vk IChMaW51eDogZG9lcyBub3QgaGF2ZSB0aGUKICAgICAgIENBUF9GT1dORVIgY2FwYWJpbGl0eSk7 IG9yLAoKICAgIOKAoiAgdGhlIGZpbGUgaXMgbWFya2VkIGFwcGVuZC1vbmx5IG9yIGltbXV0YWJs ZSAoc2VlIGNoYXR0cigxKSkuCgpTb29vLCBJIGludmVzdGlnYXRlZCBhIGxpdHRsZSBtb3JlLCBz aW5jZSB0aGUgRVBFUk0gaGVyZSBpbml0aWFsbHkKZGlkbid0IG1ha2UgYW55IHNlbnNlIHRvIG1l LCBiZWNhdXNlIHRoZSBzYW1lIGF0aW1lIGNoZWNrIGFjdHVhbGx5CnBhc3NlcyB3aGVuIGNyZWF0 aW5nIHRoZSBkYXRhc3RvcmUuCgpGdXJ0aGVybW9yZSwgdGhlIGZpbGUgKGNodW5rKSB1c2VkIGZv ciB0aGlzIGNoZWNrIGlzbid0IGFwcGVuZC1vbmx5IG9yCmltbXV0YWJsZSAob3RoZXJ3aXNlIHlv dSdkIHNlZSBhbiBgYWAgb3IgYGlgIGRvd24gdGhlcmUpOgoKICAgICQgbHNhdHRyIC5jaHVua3Mv YmI5Zi9iYjlmOGRmNjE0NzRkMjVlNzFmYTAwNzIyMzE4Y2QzODczOTZjYTE3MzY2MDVlMTI0ODgy MWNjMGRlM2QzYWY4CiAgICAtLS0tLS0tLS0tLS0tLWUtLS0tLS0tIC5jaHVua3MvYmI5Zi9iYjlm OGRmNjE0NzRkMjVlNzFmYTAwNzIyMzE4Y2QzODczOTZjYTE3MzY2MDVlMTI0ODgyMWNjMGRlM2Qz YWY4CgoKQW5kIGZpbmFsbHksIGp1c3QgZm9yIGNvbXBsZXRlbmVzcycgc2FrZSwgd2UncmUgdXNp bmcgYm90aCBVVElNRV9OT1cgYW5kClVUSU1FX09NSVQgaW4gYGNvbmRfdG91Y2hfcGF0aGA6Cgog ICAgbGV0IHRpbWVzOiBbbGliYzo6dGltZXNwZWM7IDJdID0gWwogICAgICAgIC8vIGFjY2VzcyB0 aW1lIC0+IHVwZGF0ZSB0byBub3cKICAgICAgICBsaWJjOjp0aW1lc3BlYyB7CiAgICAgICAgICAg IHR2X3NlYzogMCwKICAgICAgICAgICAgdHZfbnNlYzogbGliYzo6VVRJTUVfTk9XLAogICAgICAg IH0sCiAgICAgICAgLy8gbW9kaWZpY2F0aW9uIHRpbWUgLT4ga2VlcCBhcyBpcwogICAgICAgIGxp YmM6OnRpbWVzcGVjIHsKICAgICAgICAgICAgdHZfc2VjOiAwLAogICAgICAgICAgICB0dl9uc2Vj OiBsaWJjOjpVVElNRV9PTUlULAogICAgICAgIH0sCiAgICBdOwoKCkFjY29yZGluZyB0byB0aGUg ZG9jcyBvZiBgbWFuIDIgdXRpbWVuc2F0YCwgdGhpcyB3b3VsZCBzdWdnZXN0IHRoYXQKd2UncmUg bm90IHJ1bm5pbmcgdW5kZXIgdGhlIGV4cGVjdGVkIGVmZmVjdGl2ZSBVSUQgYW5kIGRvbid0IGhh dmUKdGhlIENBUF9GT1dORVIgY2FwYWJpbGl0eS4KClRoaXMgaXMgdGhlIGFjdHVhbCBjcnV4IG9m IHRoZSBpc3N1ZSwgc2luY2UgdGhlIGNodW5rIGlzIG93bmVkIGJ5CmByb290YDoKCiAgICAkIGxz IC1hbGggLmNodW5rcy9iYjlmCiAgICB0b3RhbCAxLjFNCiAgICBkcnd4ci14LS0tIDIgYmFja3Vw IGJhY2t1cCA0LjBLIEFwciAgNCAxNzoxMSAuCiAgICBkcnd4ci14LS0tIDEgYmFja3VwIGJhY2t1 cCAxLjFNIEFwciAgNCAxNzoxMSAuLgogICAgLXJ3LXItLXItLSAxIHJvb3QgICByb290ICAgIDE1 OSBBcHIgIDQgMTc6MTEgYmI5ZjhkZjYxNDc0ZDI1ZTcxZmEwMDcyMjMxOGNkMzg3Mzk2Y2ExNzM2 NjA1ZTEyNDg4MjFjYzBkZTNkM2FmOAoKCkp1c3QgdG8gYWRkIHNvbWUgYWRkaXRpb25hbCBmaW5k aW5ncyAtLSB3aGVuIHRoZSAqY2hlY2sgaXMgdHVybmVkIG9mZiosCkdDIG9uIHRoYXQgc2luZ2xl IGNodW5rIChubyBiYWNrdXBzIG1hZGUgeWV0ISkgcnVucyBqdXN0IGZpbmU6CgogICAgMjAyNS0w NC0wNFQxNzowMDo1MiswMjowMDogc3RhcnRpbmcgZ2FyYmFnZSBjb2xsZWN0aW9uIG9uIHN0b3Jl IHRlc3Qtbm9hdGltZQogICAgMjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogQWNjZXNzIHRpbWUg dXBkYXRlIGNoZWNrIGRpc2FibGVkIGJ5IGRhdGFzdG9yZSB0dW5pbmcgb3B0aW9ucy4KICAgIDIw MjUtMDQtMDRUMTc6MDA6NTIrMDI6MDA6IFVzaW5nIGFjY2VzcyB0aW1lIGN1dG9mZiAxZCA1bSwg bWluaW11bSBhY2Nlc3MgdGltZSBpcyAyMDI1LTA0LTAzVDE0OjU1OjUyWgogICAgMjAyNS0wNC0w NFQxNzowMDo1MiswMjowMDogU3RhcnQgR0MgcGhhc2UxIChtYXJrIHVzZWQgY2h1bmtzKQogICAg MjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogU3RhcnQgR0MgcGhhc2UyIChzd2VlcCB1bnVzZWQg Y2h1bmtzKQogICAgMjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogcHJvY2Vzc2VkIDczJSAoMCBj aHVua3MpCiAgICAyMDI1LTA0LTA0VDE3OjAwOjUyKzAyOjAwOiBSZW1vdmVkIGdhcmJhZ2U6IDAg QgogICAgMjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogUmVtb3ZlZCBjaHVua3M6IDAKICAgIDIw MjUtMDQtMDRUMTc6MDA6NTIrMDI6MDA6IFBlbmRpbmcgcmVtb3ZhbHM6IDE1OSBCIChpbiAxIGNo dW5rcykKICAgIDIwMjUtMDQtMDRUMTc6MDA6NTIrMDI6MDA6IE9yaWdpbmFsIGRhdGEgdXNhZ2U6 IDAgQgogICAgMjAyNS0wNC0wNFQxNzowMDo1MiswMjowMDogT24tRGlzayBjaHVua3M6IDAKICAg IDIwMjUtMDQtMDRUMTc6MDA6NTIrMDI6MDA6IERlZHVwbGljYXRpb24gZmFjdG9yOiAxLjAwCiAg ICAyMDI1LTA0LTA0VDE3OjAwOjUyKzAyOjAwOiBxdWV1ZWQgbm90aWZpY2F0aW9uIChpZD00YmFi MDc1NS0zZjI0LTRiMWEtOTliMC1kZThlOTYxM2RiOWIpCiAgICAyMDI1LTA0LTA0VDE3OjAwOjUy KzAyOjAwOiBUQVNLIE9LCgoqQlVUKiwgd2hlbiBjcmVhdGluZyBhIGJhY2t1cCB2aWEgUFZFLCB0 aGUgY2hlY2sgYWN0dWFsbHkgcnVucywgZGVzcGl0ZQpiZWluZyB0dXJuZWQgb2ZmIC0tIHRoaXMg YXBwZWFycyB0byBiZSBzb21ldGhpbmcgc2VwYXJhdGUgdGhhdCB5b3UgbWlnaHQKd2FudCB0byBj aGVjayBhcyB3ZWxsOgoKICAgIElORk86IHN0YXJ0aW5nIG5ldyBiYWNrdXAgam9iOiB2emR1bXAg MTAwIC0tbW9kZSBzbmFwc2hvdCAtLW5vdGVzLXRlbXBsYXRlICd7e2d1ZXN0bmFtZX19JyAtLXJl bW92ZSAwIC0tbm9kZSByb3h5IC0tbm90aWZpY2F0aW9uLW1vZGUgYXV0byAtLXN0b3JhZ2UgcGJz LWRldi10ZXN0LWF0aW1lCiAgICBJTkZPOiBTdGFydGluZyBCYWNrdXAgb2YgVk0gMTAwIChxZW11 KQogICAgSU5GTzogQmFja3VwIHN0YXJ0ZWQgYXQgMjAyNS0wNC0wNCAxNzowMjo0OQogICAgSU5G Tzogc3RhdHVzID0gcnVubmluZwogICAgSU5GTzogVk0gTmFtZTogZG5zCiAgICBJTkZPOiBpbmNs dWRlIGRpc2sgJ3Njc2kwJyAnbG9jYWwtemZzLW1haW46dm0tMTAwLWRpc2stMCcgMTZHCiAgICBJ TkZPOiBiYWNrdXAgbW9kZTogc25hcHNob3QKICAgIElORk86IGlvbmljZSBwcmlvcml0eTogNwog ICAgSU5GTzogc25hcHNob3RzIGZvdW5kIChub3QgaW5jbHVkZWQgaW50byBiYWNrdXApCiAgICBJ TkZPOiBjcmVhdGluZyBQcm94bW94IEJhY2t1cCBTZXJ2ZXIgYXJjaGl2ZSAndm0vMTAwLzIwMjUt MDQtMDRUMTU6MDI6NDlaJwogICAgSU5GTzogaXNzdWluZyBndWVzdC1hZ2VudCAnZnMtZnJlZXpl JyBjb21tYW5kCiAgICBJTkZPOiBpc3N1aW5nIGd1ZXN0LWFnZW50ICdmcy10aGF3JyBjb21tYW5k CiAgICBFUlJPUjogVk0gMTAwIHFtcCBjb21tYW5kICdiYWNrdXAnIGZhaWxlZCAtIGJhY2t1cCBy ZWdpc3RlciBpbWFnZSBmYWlsZWQ6IGNvbW1hbmQgZXJyb3I6IHVwZGF0ZSBhdGltZSBmYWlsZWQg Zm9yIGNodW5rL2ZpbGUgIi9tbnQvZGF0YXN0b3JlL3Rlc3Qtbm9hdGltZS8uY2h1bmtzL2JiOWYv YmI5ZjhkZjYxNDc0ZDI1ZTcxZmEwMDcyMjMxOGNkMzg3Mzk2Y2ExNzM2NjA1ZTEyNDg4MjFjYzBk ZTNkM2FmOCIgLSBFUEVSTTogT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQKICAgIElORk86IGFib3J0 aW5nIGJhY2t1cCBqb2IKICAgIElORk86IHJlc3VtaW5nIFZNIGFnYWluCiAgICBFUlJPUjogQmFj a3VwIG9mIFZNIDEwMCBmYWlsZWQgLSBWTSAxMDAgcW1wIGNvbW1hbmQgJ2JhY2t1cCcgZmFpbGVk IC0gYmFja3VwIHJlZ2lzdGVyIGltYWdlIGZhaWxlZDogY29tbWFuZCBlcnJvcjogdXBkYXRlIGF0 aW1lIGZhaWxlZCBmb3IgY2h1bmsvZmlsZSAiL21udC9kYXRhc3RvcmUvdGVzdC1ub2F0aW1lLy5j aHVua3MvYmI5Zi9iYjlmOGRmNjE0NzRkMjVlNzFmYTAwNzIyMzE4Y2QzODczOTZjYTE3MzY2MDVl MTI0ODgyMWNjMGRlM2QzYWY4IiAtIEVQRVJNOiBPcGVyYXRpb24gbm90IHBlcm1pdHRlZAogICAg SU5GTzogRmFpbGVkIGF0IDIwMjUtMDQtMDQgMTc6MDI6NDkKICAgIElORk86IEJhY2t1cCBqb2Ig ZmluaXNoZWQgd2l0aCBlcnJvcnMKICAgIFRBU0sgRVJST1I6IGpvYiBlcnJvcnMKCkp1c3QgdG8g YmUgc3VyZToKCiAgICAkIGNhdCAvZXRjL3Byb3htb3gtYmFja3VwL2RhdGFzdG9yZS5jZmcKICAg ICMgWy4uLl0KICAgIGRhdGFzdG9yZTogdGVzdC1ub2F0aW1lCiAgICAgICAgICAgIGNvbW1lbnQK ICAgICAgICAgICAgZ2Mtc2NoZWR1bGUgZGFpbHkKICAgICAgICAgICAgbm90aWZpY2F0aW9uLW1v ZGUgbm90aWZpY2F0aW9uLXN5c3RlbQogICAgICAgICAgICBwYXRoIC9tbnQvZGF0YXN0b3JlL3Rl c3Qtbm9hdGltZQogICAgICAgICAgICB0dW5pbmcgZ2MtYXRpbWUtc2FmZXR5LWNoZWNrPTAKCgoK U28sIGZpeGluZyB0aGUgcGVybWlzc2lvbnMgd2l0aDoKCiAgICAjIGNob3duIGJhY2t1cDogLmNo dW5rcy9iYjlmL2JiOWY4ZGY2MTQ3NGQyNWU3MWZhMDA3MjIzMThjZDM4NzM5NmNhMTczNjYwNWUx MjQ4ODIxY2MwZGUzZDNhZjgKCi4uIGFsbG93cyB0aGUgY2hlY2sgdG8gcGFzczoKCiAgICAyMDI1 LTA0LTA0VDE3OjE0OjM0KzAyOjAwOiBzdGFydGluZyBnYXJiYWdlIGNvbGxlY3Rpb24gb24gc3Rv cmUgdGVzdC1ub2F0aW1lCiAgICAyMDI1LTA0LTA0VDE3OjE0OjM1KzAyOjAwOiBBY2Nlc3MgdGlt ZSB1cGRhdGUgY2hlY2sgc3VjY2Vzc2Z1bCwgcHJvY2VlZGluZyB3aXRoIEdDLgogICAgMjAyNS0w NC0wNFQxNzoxNDozNSswMjowMDogVXNpbmcgYWNjZXNzIHRpbWUgY3V0b2ZmIDFkIDVtLCBtaW5p bXVtIGFjY2VzcyB0aW1lIGlzIDIwMjUtMDQtMDNUMTU6MDk6MzRaCiAgICAyMDI1LTA0LTA0VDE3 OjE0OjM1KzAyOjAwOiBTdGFydCBHQyBwaGFzZTEgKG1hcmsgdXNlZCBjaHVua3MpCiAgICAyMDI1 LTA0LTA0VDE3OjE0OjM1KzAyOjAwOiBTdGFydCBHQyBwaGFzZTIgKHN3ZWVwIHVudXNlZCBjaHVu a3MpCiAgICAyMDI1LTA0LTA0VDE3OjE0OjM1KzAyOjAwOiBwcm9jZXNzZWQgNzMlICgwIGNodW5r cykKICAgIDIwMjUtMDQtMDRUMTc6MTQ6MzUrMDI6MDA6IFJlbW92ZWQgZ2FyYmFnZTogMCBCCiAg ICAyMDI1LTA0LTA0VDE3OjE0OjM1KzAyOjAwOiBSZW1vdmVkIGNodW5rczogMAogICAgMjAyNS0w NC0wNFQxNzoxNDozNSswMjowMDogT3JpZ2luYWwgZGF0YSB1c2FnZTogMCBCCiAgICAyMDI1LTA0 LTA0VDE3OjE0OjM1KzAyOjAwOiBPbi1EaXNrIGNodW5rczogMQogICAgMjAyNS0wNC0wNFQxNzox NDozNSswMjowMDogRGVkdXBsaWNhdGlvbiBmYWN0b3I6IDAuMDAKICAgIDIwMjUtMDQtMDRUMTc6 MTQ6MzUrMDI6MDA6IEF2ZXJhZ2UgY2h1bmsgc2l6ZTogMTU5IEIKICAgIDIwMjUtMDQtMDRUMTc6 MTQ6MzUrMDI6MDA6IHF1ZXVlZCBub3RpZmljYXRpb24gKGlkPTA2ZDc2MzQ5LTI2YWYtNDNkYS05 ZGRiLTViMGVlMmZhYmZhOCkKICAgIDIwMjUtMDQtMDRUMTc6MTQ6MzUrMDI6MDA6IFRBU0sgT0sK ClNvLCBndWVzcyB5b3UganVzdCBoYXZlIHRvIGNoYW5nZSB0aGUgVUlEIGFuZCBHSUQgd2hlbiBj cmVhdGluZyB0aGUKdGVzdCBjaHVuayA7UAoKPiArCj4gKyAgICAgICAgbGV0IG1ldGFkYXRhX25v dyA9IHN0ZDo6ZnM6Om1ldGFkYXRhKCZwYXRoKS5jb250ZXh0KGZvcm1hdCEoCj4gKyAgICAgICAg ICAgICJmYWlsZWQgdG8gZ2V0IG1ldGFkYXRhIGZvciB7cGF0aDo/fSBhZnRlciBhdGltZSB1cGRh dGUiCj4gKyAgICAgICAgKSk/Owo+ICsKPiArICAgICAgICAvLyBDaGVjayBmb3IgdGhlIHVubGlr ZWx5IGNhc2UgdGhhdCB0aGUgZmlsZSBjaGFuZ2VkIGluLWJldHdlZW4gdGhlCj4gKyAgICAgICAg Ly8gdHdvIG1ldGFkYXRhIGNhbGxzLCB0cnkgdG8gY2hlY2sgb25jZSBhZ2FpbiBvbiBjaGFuZ2Vk IGZpbGUKPiArICAgICAgICBpZiBtZXRhZGF0YV9iZWZvcmUuaW5vKCkgIT0gbWV0YWRhdGFfbm93 LmlubygpIHsKPiArICAgICAgICAgICAgaWYgcmV0cnlfb25fZmlsZV9jaGFuZ2VkIHsKPiArICAg ICAgICAgICAgICAgIHJldHVybiBzZWxmLmNoZWNrX2ZzX2F0aW1lX3VwZGF0ZXMoZmFsc2UpOwo+ ICsgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgIGJhaWwhKCJjaHVuayB7cGF0aDo/fSBjaGFu Z2VkIHR3aWNlIGR1cmluZyBhY2Nlc3MgdGltZSBzYWZldHkgY2hlY2ssIGNhbm5vdCBwcm9jZWVk LiIpOwo+ICsgICAgICAgIH0KPiArCj4gKyAgICAgICAgaWYgbWV0YWRhdGFfYmVmb3JlLmFjY2Vz c2VkKCk/ID49IG1ldGFkYXRhX25vdy5hY2Nlc3NlZCgpPyB7Cj4gKyAgICAgICAgICAgIGxldCBj aHVua19pbmZvX3N0ciA9IGlmIHByZV9leGlzdGluZyB7Cj4gKyAgICAgICAgICAgICAgICAicHJl LWV4aXN0aW5nIgo+ICsgICAgICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICAgICAgIm5l d2x5IGluc2VydGVkIgo+ICsgICAgICAgICAgICB9Owo+ICsgICAgICAgICAgICB3YXJuISgiQ2h1 bmsgbWV0YWRhdGEgd2FzIG5vdCBjb3JyZWN0bHkgdXBkYXRlZCBkdXJpbmcgYWNjZXNzIHRpbWUg c2FmZXR5IGNoZWNrOiIpOwo+ICsgICAgICAgICAgICBpbmZvISgKPiArICAgICAgICAgICAgICAg ICJUaW1lc3RhbXBzIGJlZm9yZSB1cGRhdGU6IGFjY2Vzc2VkIHs6P30sIG1vZGlmaWVkIHs6P30s IGNyZWF0ZWQgezo/fSIsCj4gKyAgICAgICAgICAgICAgICBtZXRhZGF0YV9iZWZvcmUuYWNjZXNz ZWQoKS5vaygpLAo+ICsgICAgICAgICAgICAgICAgbWV0YWRhdGFfYmVmb3JlLm1vZGlmaWVkKCku b2soKSwKPiArICAgICAgICAgICAgICAgIG1ldGFkYXRhX2JlZm9yZS5jcmVhdGVkKCkub2soKSwK PiArICAgICAgICAgICAgKTsKPiArICAgICAgICAgICAgaW5mbyEoCj4gKyAgICAgICAgICAgICAg ICAiVGltZXN0YW1wcyBhZnRlciB1cGRhdGU6IGFjY2Vzc2VkIHs6P30sIG1vZGlmaWVkIHs6P30s IGNyZWF0ZWQgezo/fSIsCj4gKyAgICAgICAgICAgICAgICBtZXRhZGF0YV9ub3cuYWNjZXNzZWQo KS5vaygpLAo+ICsgICAgICAgICAgICAgICAgbWV0YWRhdGFfbm93Lm1vZGlmaWVkKCkub2soKSwK PiArICAgICAgICAgICAgICAgIG1ldGFkYXRhX25vdy5jcmVhdGVkKCkub2soKSwKPiArICAgICAg ICAgICAgKTsKPiArICAgICAgICAgICAgYmFpbCEoImFjY2VzcyB0aW1lIHNhZmV0eSBjaGVjayB1 c2luZyB7Y2h1bmtfaW5mb19zdHJ9IGNodW5rIGZhaWxlZCwgYWJvcnRpbmcgR0MhIik7Cj4gKyAg ICAgICAgfQo+ICsKPiArICAgICAgICBPaygoKSkKPiArICAgIH0KPiArCj4gICAgICBwdWIgZm4g aW5zZXJ0X2NodW5rKCZzZWxmLCBjaHVuazogJkRhdGFCbG9iLCBkaWdlc3Q6ICZbdTg7IDMyXSkg LT4gUmVzdWx0PChib29sLCB1NjQpLCBFcnJvcj4gewo+ICAgICAgICAgIC8vIHVud3JhcDogb25s eSBgTm9uZWAgaW4gdW5pdCB0ZXN0cwo+ICAgICAgICAgIGFzc2VydCEoc2VsZi5sb2NrZXIuaXNf c29tZSgpKTsKPiBkaWZmIC0tZ2l0IGEvcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzIGIv cGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4gaW5kZXggYTZhOTFjYTc5Li45YmRiOTZi MTggMTAwNjQ0Cj4gLS0tIGEvcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4gKysrIGIv cGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4gQEAgLTUsNyArNSw3IEBAIHVzZSBzdGQ6 Om9zOjp1bml4Ojppbzo6QXNSYXdGZDsKPiAgdXNlIHN0ZDo6cGF0aDo6e1BhdGgsIFBhdGhCdWZ9 Owo+ICB1c2Ugc3RkOjpzeW5jOjp7QXJjLCBMYXp5TG9jaywgTXV0ZXh9Owo+Cj4gLXVzZSBhbnlo b3c6OntiYWlsLCBmb3JtYXRfZXJyLCBFcnJvcn07Cj4gK3VzZSBhbnlob3c6OntiYWlsLCBmb3Jt YXRfZXJyLCBDb250ZXh0LCBFcnJvcn07Cj4gIHVzZSBuaXg6OnVuaXN0ZDo6e3VubGlua2F0LCBV bmxpbmthdEZsYWdzfTsKPiAgdXNlIHRyYWNpbmc6OntpbmZvLCB3YXJufTsKPgo+IEBAIC0xMTcw LDYgKzExNzAsMTkgQEAgaW1wbCBEYXRhU3RvcmUgewo+ICAgICAgICAgICAgICAgICAgdXBpZDog U29tZSh1cGlkLnRvX3N0cmluZygpKSwKPiAgICAgICAgICAgICAgICAgIC4uRGVmYXVsdDo6ZGVm YXVsdCgpCj4gICAgICAgICAgICAgIH07Cj4gKyAgICAgICAgICAgIGxldCB0dW5pbmc6IERhdGFz dG9yZVR1bmluZyA9IHNlcmRlX2pzb246OmZyb21fdmFsdWUoCj4gKyAgICAgICAgICAgICAgICBE YXRhc3RvcmVUdW5pbmc6OkFQSV9TQ0hFTUEKPiArICAgICAgICAgICAgICAgICAgICAucGFyc2Vf cHJvcGVydHlfc3RyaW5nKGdjX3N0b3JlX2NvbmZpZy50dW5pbmcuYXNfZGVyZWYoKS51bndyYXBf b3IoIiIpKT8sCj4gKyAgICAgICAgICAgICk/Owo+ICsgICAgICAgICAgICBpZiB0dW5pbmcuZ2Nf YXRpbWVfc2FmZXR5X2NoZWNrLnVud3JhcF9vcih0cnVlKSB7Cj4gKyAgICAgICAgICAgICAgICBz ZWxmLmlubmVyCj4gKyAgICAgICAgICAgICAgICAgICAgLmNodW5rX3N0b3JlCj4gKyAgICAgICAg ICAgICAgICAgICAgLmNoZWNrX2ZzX2F0aW1lX3VwZGF0ZXModHJ1ZSkKPiArICAgICAgICAgICAg ICAgICAgICAuY29udGV4dCgiYXRpbWUgc2FmZXR5IGNoZWNrIGZhaWxlZCIpPzsKPiArICAgICAg ICAgICAgICAgIGluZm8hKCJBY2Nlc3MgdGltZSB1cGRhdGUgY2hlY2sgc3VjY2Vzc2Z1bCwgcHJv Y2VlZGluZyB3aXRoIEdDLiIpOwo+ICsgICAgICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAg ICAgICAgaW5mbyEoIkFjY2VzcyB0aW1lIHVwZGF0ZSBjaGVjayBkaXNhYmxlZCBieSBkYXRhc3Rv cmUgdHVuaW5nIG9wdGlvbnMuIik7Cj4gKyAgICAgICAgICAgIH0KPgo+ICAgICAgICAgICAgICBp bmZvISgiU3RhcnQgR0MgcGhhc2UxIChtYXJrIHVzZWQgY2h1bmtzKSIpOwo+Cj4gZGlmZiAtLWdp dCBhL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3RvcmUucnMgYi9zcmMvYXBpMi9jb25maWcvZGF0YXN0 b3JlLnJzCj4gaW5kZXggNThhY2FhODYxLi4yZGY4MzAxZGYgMTAwNjQ0Cj4gLS0tIGEvc3JjL2Fw aTIvY29uZmlnL2RhdGFzdG9yZS5ycwo+ICsrKyBiL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3RvcmUu cnMKPiBAQCAtMSwxMCArMSwxMCBAQAo+ICB1c2Ugc3RkOjpwYXRoOjp7UGF0aCwgUGF0aEJ1Zn07 Cj4KPiAgdXNlIDo6c2VyZGU6OntEZXNlcmlhbGl6ZSwgU2VyaWFsaXplfTsKPiAtdXNlIGFueWhv dzo6e2JhaWwsIEVycm9yfTsKPiArdXNlIGFueWhvdzo6e2JhaWwsIENvbnRleHQsIEVycm9yfTsK PiAgdXNlIGhleDo6RnJvbUhleDsKPiAgdXNlIHNlcmRlX2pzb246OlZhbHVlOwo+IC11c2UgdHJh Y2luZzo6d2FybjsKPiArdXNlIHRyYWNpbmc6OntpbmZvLCB3YXJufTsKPgo+ICB1c2UgcHJveG1v eF9yb3V0ZXI6OntodHRwX2JhaWwsIFBlcm1pc3Npb24sIFJvdXRlciwgUnBjRW52aXJvbm1lbnQs IFJwY0Vudmlyb25tZW50VHlwZX07Cj4gIHVzZSBwcm94bW94X3NjaGVtYTo6e2FwaSwgcGFyYW1f YmFpbCwgQXBpVHlwZX07Cj4gQEAgLTEyMiw4ICsxMjIsMTYgQEAgcHViKGNyYXRlKSBmbiBkb19j cmVhdGVfZGF0YXN0b3JlKAo+ICAgICAgICAgIFVubW91bnRHdWFyZDo6bmV3KE5vbmUpCj4gICAg ICB9Owo+Cj4gLSAgICBpZiByZXVzZV9kYXRhc3RvcmUgewo+IC0gICAgICAgIENodW5rU3RvcmU6 OnZlcmlmeV9jaHVua3N0b3JlKCZwYXRoKT87Cj4gKyAgICBsZXQgY2h1bmtfc3RvcmUgPSBpZiBy ZXVzZV9kYXRhc3RvcmUgewo+ICsgICAgICAgIENodW5rU3RvcmU6OnZlcmlmeV9jaHVua3N0b3Jl KCZwYXRoKS5hbmRfdGhlbih8X3wgewo+ICsgICAgICAgICAgICAvLyBNdXN0IGJlIHRoZSBvbmx5 IGluc3RhbmNlIGFjY2Vzc2luZyBhbmQgbG9ja2luZyB0aGUgY2h1bmsgc3RvcmUsCj4gKyAgICAg ICAgICAgIC8vIGRyb3BwaW5nIHdpbGwgY2xvc2UgYWxsIG90aGVyIGxvY2tzIGZyb20gdGhpcyBw cm9jZXNzIG9uIHRoZSBsb2NrZmlsZSBhcyB3ZWxsLgo+ICsgICAgICAgICAgICBDaHVua1N0b3Jl OjpvcGVuKAo+ICsgICAgICAgICAgICAgICAgJmRhdGFzdG9yZS5uYW1lLAo+ICsgICAgICAgICAg ICAgICAgJnBhdGgsCj4gKyAgICAgICAgICAgICAgICB0dW5pbmcuc3luY19sZXZlbC51bndyYXBf b3JfZGVmYXVsdCgpLAo+ICsgICAgICAgICAgICApCj4gKyAgICAgICAgfSk/Cj4gICAgICB9IGVs c2Ugewo+ICAgICAgICAgIGlmIGxldCBPayhkaXIpID0gc3RkOjpmczo6cmVhZF9kaXIoJnBhdGgp IHsKPiAgICAgICAgICAgICAgZm9yIGZpbGUgaW4gZGlyIHsKPiBAQCAtMTQxLDEwICsxNDksMTgg QEAgcHViKGNyYXRlKSBmbiBkb19jcmVhdGVfZGF0YXN0b3JlKAo+ICAgICAgICAgICAgICBiYWNr dXBfdXNlci51aWQsCj4gICAgICAgICAgICAgIGJhY2t1cF91c2VyLmdpZCwKPiAgICAgICAgICAg ICAgdHVuaW5nLnN5bmNfbGV2ZWwudW53cmFwX29yX2RlZmF1bHQoKSwKPiAtICAgICAgICApCj4g LSAgICAgICAgLm1hcCh8X3wgKCkpPzsKPiArICAgICAgICApPwo+ICAgICAgfTsKPgo+ICsgICAg aWYgdHVuaW5nLmdjX2F0aW1lX3NhZmV0eV9jaGVjay51bndyYXBfb3IodHJ1ZSkgewo+ICsgICAg ICAgIGNodW5rX3N0b3JlCj4gKyAgICAgICAgICAgIC5jaGVja19mc19hdGltZV91cGRhdGVzKHRy dWUpCj4gKyAgICAgICAgICAgIC5jb250ZXh0KCJhY2Nlc3MgdGltZSBzYWZldHkgY2hlY2sgZmFp bGVkIik/Owo+ICsgICAgICAgIGluZm8hKCJBY2Nlc3MgdGltZSB1cGRhdGUgY2hlY2sgc3VjY2Vz c2Z1bC4iKTsKPiArICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgaW5mbyEoIkFjY2VzcyB0aW1lIHVw ZGF0ZSBjaGVjayBza2lwcGVkLiIpOwo+ICsgICAgfQo+ICsKPiAgICAgIGNvbmZpZy5zZXRfZGF0 YSgmZGF0YXN0b3JlLm5hbWUsICJkYXRhc3RvcmUiLCAmZGF0YXN0b3JlKT87Cj4KPiAgICAgIHBi c19jb25maWc6OmRhdGFzdG9yZTo6c2F2ZV9jb25maWcoJmNvbmZpZyk/OwoKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwYnMtZGV2ZWwgbWFpbGluZyBs aXN0CnBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29t L2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwK