Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2dmi-000T3a-2O for pgsql-hackers@arkaria.postgresql.org; Tue, 17 Mar 2026 23:25:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2dmg-0062T2-11 for pgsql-hackers@arkaria.postgresql.org; Tue, 17 Mar 2026 23:25:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2dmf-0062St-2f for pgsql-hackers@lists.postgresql.org; Tue, 17 Mar 2026 23:25:10 +0000 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2dmd-00000000k1l-14wi for pgsql-hackers@lists.postgresql.org; Tue, 17 Mar 2026 23:25:09 +0000 Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-5a0ff30b240so7518241e87.0 for ; Tue, 17 Mar 2026 16:25:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773789906; cv=none; d=google.com; s=arc-20240605; b=DPjOTSjc9mUaonPyZhpIqQ954uw6Vusl68nO7JXE6t4Vu9SX+q0dILp9GP8OO+teTN BVCU3H0aiPRDr+UKmxPLzTj09fML2UG1tC7jJ6obIgsv9X6JTc57CiGl4bbUIsHl0wcV Exc1qRX3V0ype0fNl2ohVw+gSNNfKvbdy7afBid8eEPK/zCGznbMXOOXWdwWQm+skOpp SZF0Dapvnb6RDgSI3VaWZ5W4SunVdHdPTFq6KfiePCOeY7Y8Ex9GAYJ2g5Em6TR3KLql FcfEvAwwb3SxB0Xh6m7vBGtpp1+HbbhP2CNuWoqee7h5KpIw/+wNqKAEHleXLwj9HeFv JVlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=l7ZlDZcDYvieuJ1uRAXAVHoicORiOJUo0YQT/SECohI=; fh=xmJ/B0wOijIPfBVXrlu2tGHg+TKKNuckc4RRcrjrQ4c=; b=CUHQj5jlXj1zmJ/laFv1ncM2cMasuWpGNXW1g6TC+r18ctjjnDfwRph3+UhYKxDYmK i7sqr91p7xy9bblMuokI75y4Gf+W55opixIt5uMgis9ScwPoiAeKSVP6nrXVg8nRIsnK uvEVaeCug/jqJWtqmzcWZq8fBYZVaImYyONGvLukGt6ccM/tMoo9F5fKalL5PkRPLFOy wSSvLPW3slyGDjSlr7AIvXqHFmFeenm8ufAQvkXw4j21ICuYBRmYo3628MJSYyTFedYb R3r+3M6xwPLhHF/kMFvBDHLkNcjpYBL4JW0yiP3+9AgQBm0/x1g6Q81DcwjTlEbK/UZg PT3Q==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773789906; x=1774394706; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=l7ZlDZcDYvieuJ1uRAXAVHoicORiOJUo0YQT/SECohI=; b=D/bOHsEuHEkAvyCgPv3L9/ydr03iw7wUa41E/KmqAEgfve+V7ZaQmNAtEq8blFLoa1 5GP57m9xql/b6ltEuP7iPvUsPHnkCI+BEofl8eVElIBHHlVwq6400TbhQdvjkf8/Dwl3 q6lx5P23uosfocDDcCmJn6DnrReK2F6a+Y6F1omZ1SLmRjlzhkUlsQuMJuXaB6wWpWBW lLZZVGP+lxcXd8pWf5us+709WvLVXS+9nYnhF5GO3DuCdLwjLJbJ5f0ZJ4KHfcFY8/nS 4q7691VObIL6ETvc7zyBiYR3Ny34GJJQDW0YOsbEZBd/FogCsWKCfl9G+dVq+MdbUUn6 hM0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773789906; x=1774394706; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=l7ZlDZcDYvieuJ1uRAXAVHoicORiOJUo0YQT/SECohI=; b=GARpszvQMaTUT4LyInie3GZqOSccrmcGGo05mLxoiRCmDwqwYaXPKAXfw2mpYOOWTo /m2hNHmXi3YhTLS8bw1XWwYu+948bv5/kh343LiZaXTGWwSEkk9UTUmf96XXts5DZWtr J0YmvFCLw9BRwH7rKMVt5x4hIQJATrl6pa9vGGdvp0Sl1YA0ElKxZZTHpgQf8d4d1Jo3 d4zEKaR1WBJRSk11IDw447cAQxJRlOXl/L5WTeVPGgrGb3uDuKj0TGju8BomXwMYYW79 X7b7HoueGMTmQMAcsXwHRvdQEFmCkaN1APefPzKFBqWdnwg0BlAnNaR2vvhkKAQj8uup m2jQ== X-Forwarded-Encrypted: i=1; AJvYcCXIrp3m3HPXvrnuwO5lkzcyH4KRF6aOsWCH/1s43wKZrnb8Ff4SDeBrufk3ojwH6cgoF+3S6O9MNQJNTBGC@lists.postgresql.org X-Gm-Message-State: AOJu0YwOgp/YgyWE4wOkxwcMtFpRyWNkd22eAkVptwcXNG9EjIJmGynN qkzN5Af50UbKJCQmsJNVaavalqbuf+oEj12D5XXnslSQc2oIrSDo2F7qxA7W9/AGp+2kW8+VNBQ Sc/s3brwrEIRl3xtjptM5fwUPBkyMn8g= X-Gm-Gg: ATEYQzyC6TGcowOrYVQEgzwnOXbiaXesGOqWNE3YsqiwhY+OOhLb2r/5nKL0X/cI11J zBtJ395ny2JDMN9eX31i5X2gVjPMNyasP1bBC4E8v5RQJ+E8IBUUMyRJo4hGu0CtarvqGxmjKpv T1VzBmXUq73ec7HJHaFao1sjo6rgDd3168WPlm0xLk9snJtSUC+Pe/3IrwEUCSLWc3z9lqlUtnJ zMe20eHixk7QNNn8Wq0rA7eBjaXwkEBtyv7jJO4emUTN/tnrLVf0czgTuwE4nCboiBb/bdRX9q7 g9JS X-Received: by 2002:a05:6512:40cd:10b0:5a1:3eab:b4a0 with SMTP id 2adb3069b0e04-5a2795985a7mr347752e87.2.1773789905788; Tue, 17 Mar 2026 16:25:05 -0700 (PDT) MIME-Version: 1.0 References: <48261e54-c4f1-4bde-a4a9-4f3698a6b380@app.fastmail.com> In-Reply-To: From: Gyan Sreejith Date: Tue, 17 Mar 2026 19:24:53 -0400 X-Gm-Features: AaiRm51tqKUg-NyHzprsCoAM-WdqDjrwRLyXly4sGZQgglllmNXaIy_axRjEmqw Message-ID: Subject: Re: [Proposal] Adding Log File Capability to pg_createsubscriber To: Shlok Kyal Cc: vignesh C , Amit Kapila , Euler Taveira , "kuroda.hayato@fujitsu.com" , "pgsql-hackers@lists.postgresql.org" , Peter Smith Content-Type: multipart/mixed; boundary="0000000000003dbc82064d40a5b3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000003dbc82064d40a5b3 Content-Type: multipart/alternative; boundary="0000000000003dbc81064d40a5b1" --0000000000003dbc81064d40a5b1 Content-Type: text/plain; charset="UTF-8" Thanks a lot, Shlok, for all the changes. I have included the changes from topup.patch to my changes. I believe it handles all the review comments. Please take a look. Regards, Gyan --0000000000003dbc81064d40a5b1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks a lot, Shlok, for= all the changes. I have included the changes from topup.patch to my change= s.=C2=A0

I believe it hand= les all the review comments. Please take a look.

=
Regards,
Gyan
--0000000000003dbc81064d40a5b1-- --0000000000003dbc82064d40a5b3 Content-Type: application/octet-stream; name="v10-0001-Add-a-new-argument-l-logdir-to-pg_createsubscrib.patch" Content-Disposition: attachment; filename="v10-0001-Add-a-new-argument-l-logdir-to-pg_createsubscrib.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmv8p3lp0 RnJvbSAzN2VlMDU2ZDg5MDZkY2Y0NDVkMTZhYjIxZGQ0YjFmNDQ1ZTZkMjJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHeWFuIFNyZWVqaXRoIDxneWFuLnNyZWVqaXRoQGdtYWlsLmNv bT4KRGF0ZTogVHVlLCAxNyBNYXIgMjAyNiAxOToxMDoyOCAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg djEwXSBBZGQgYSBuZXcgYXJndW1lbnQgLWwgPGxvZ2Rpcj4gdG8gcGdfY3JlYXRlc3Vic2NyaWJl ci4KCkVuYWJsaW5nIHRoZSBvcHRpb24gdG8gd3JpdGUgbWVzc2FnZXMgdG8gbG9nIGZpbGVzIGlu IHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LgpBIG5ldyBkaXJlY3RvcnkgaXMgY3JlYXRlZCBpZiBy ZXF1aXJlZC4gQSBzdWJkaXJlY3RvcnkgaXMgY3JlYXRlZCB3aXRoIHRpbWVzdGFtcCBhcyBpdHMg bmFtZSwgYW5kIGl0IHdpbGwgY29udGFpbiB0d28gbmV3IGxvZ2ZpbGVzOgoxLiBwZ19jcmVhdGVz dWJzY3JpYmVyX3NlcnZlci5sb2cgIC0gY2FwdHVyZXMgbWVzc2FnZXMgcmVsYXRlZCB0byBzdGFy dGluZyBhbmQgc3RvcHBpbmcgdGhlIHN0YW5kYnkgc2VydmVyLgoyLiBwZ19jcmVhdGVzdWJzY3Jp YmVyX2ludGVybmFsLmxvZyAtIGNhcHR1cmVzIGludGVybmFsIGRpYWdub3N0aWMgb3V0cHV0IGZy b20gcGdfY3JlYXRlc3Vic2NyaWJlci4KCkZvciBleGFtcGxlLCBpZiB3ZSBzcGVjaWZ5IC1sIGFi YyBhcyBhbiBhcmd1bWVudCwgYW5kIGlmIHRoZSB0aW1lc3RhbXAgb24gcnVubmluZyBpdCBpcyAy MDI2MDExOVQyMDQzMTcuMjA0LCBhIGRpcmVjdG9yeSBhYmMgaXMgY3JlYXRlZCBpZiBpdCBkb2Vz bid0IGV4aXN0IGFscmVhZHksIHdpdGggMjAyNjAxMTlUMjA0MzE3LjIwNCBhcyBpdHMgc3ViZGly ZWN0b3J5IGFuZCBpdCB3aWxsIGNvbnRhaW4gdGhlIHR3byBsb2cgZmlsZXMgcGdfY3JlYXRlc3Vi c2NyaWJlcl9zZXJ2ZXIubG9nIGFuZCBwZ19jcmVhdGVzdWJzY3JpYmVyX2ludGVybmFsLmxvZwot LS0KIGRvYy9zcmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vic2NyaWJlci5zZ21sICAgICB8ICAyOCAr KysKIHNyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMgICB8IDIxNCAr KysrKysrKysrKysrKysrKy0KIC4uLi90LzA0MF9wZ19jcmVhdGVzdWJzY3JpYmVyLnBsICAgICAg ICAgICAgICB8ICA0MSArKystCiAzIGZpbGVzIGNoYW5nZWQsIDI3NCBpbnNlcnRpb25zKCspLCA5 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vi c2NyaWJlci5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9wZ19jcmVhdGVzdWJzY3JpYmVyLnNnbWwK aW5kZXggY2Y0NWZmMzU3M2QuLjI4OThhNWVhMTExIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwv cmVmL3BnX2NyZWF0ZXN1YnNjcmliZXIuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnX2Ny ZWF0ZXN1YnNjcmliZXIuc2dtbApAQCAtMTM2LDYgKzEzNiwzNCBAQCBQb3N0Z3JlU1FMIGRvY3Vt ZW50YXRpb24KICAgICAgPC9saXN0aXRlbT4KICAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgIDx2 YXJsaXN0ZW50cnk+CisgICAgIDx0ZXJtPjxvcHRpb24+LWwgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmRpcmVjdG9yeTwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgorICAgICA8 dGVybT48b3B0aW9uPi0tbG9nZGlyPTxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5kaXJl Y3Rvcnk8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVybT4KKyAgICAgPGxpc3RpdGVtPgorICAg ICAgPHBhcmE+CisgICAgICAgU3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgbG9nIGRpcmVjdG9yeS4g QSBuZXcgZGlyZWN0b3J5IGlzIGNyZWF0ZWQgd2l0aAorICAgICAgIHRoaXMgbmFtZSBpZiBpdCBk b2VzIG5vdCBleGlzdC4gQSBzdWJkaXJlY3Rvcnkgd2l0aCBhIHRpbWVzdGFtcAorICAgICAgIGlu ZGljYXRpbmcgdGhlIHRpbWUgYXQgd2hpY2ggcGdfY3JlYXRlc3Vic2NyaWJlciB3YXMgcnVuIHdp bGwgYmUgY3JlYXRlZC4KKyAgICAgICBUaGUgZm9sbG93aW5nIHR3byBsb2cgZmlsZXMgd2lsbCBi ZSBjcmVhdGVkIGluIHRoZSBzdWJkaXJlY3Rvcnkgd2l0aCBhCisgICAgICAgdW1hc2sgb2YgMDc3 IHNvIHRoYXQgYWNjZXNzIGlzIGRpc2FsbG93ZWQgdG8gb3RoZXIgdXNlcnMgYnkgZGVmYXVsdC4K KyAgICAgICA8aXRlbWl6ZWRsaXN0PgorICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFy YT4KKyAgICAgICAgICBwZ19jcmVhdGVzdWJzY3JpYmVyX3NlcnZlci5sb2cgd2hpY2ggY2FwdHVy ZXMgbG9ncyByZWxhdGVkIHRvIHN0b3BwaW5nCisgICAgICAgICAgYW5kIHN0YXJ0aW5nIHRoZSBz dGFuZGJ5IHNlcnZlciwKKyAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPC9saXN0aXRlbT4KKyAg ICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgPHBhcmE+CisgICAgICAgICAgcGdfY3JlYXRlc3Vi c2NyaWJlcl9pbnRlcm5hbC5sb2cgd2hpY2ggY2FwdHVyZXMgaW50ZXJuYWwgZGlhZ25vc3RpYwor ICAgICAgICAgIG91dHB1dCAodmFsaWRhdGlvbnMsIGNoZWNrcywgZXRjLikKKyAgICAgICAgIDwv cGFyYT4KKyAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICA8L2l0ZW1pemVkbGlzdD4KKyAgICAg IDwvcGFyYT4KKyAgICAgPC9saXN0aXRlbT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgIDx2 YXJsaXN0ZW50cnk+CiAgICAgIDx0ZXJtPjxvcHRpb24+LW48L29wdGlvbj48L3Rlcm0+CiAgICAg IDx0ZXJtPjxvcHRpb24+LS1kcnktcnVuPC9vcHRpb24+PC90ZXJtPgpkaWZmIC0tZ2l0IGEvc3Jj L2Jpbi9wZ19iYXNlYmFja3VwL3BnX2NyZWF0ZXN1YnNjcmliZXIuYyBiL3NyYy9iaW4vcGdfYmFz ZWJhY2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMKaW5kZXggMmJjODQ1MDVhYWIuLjQ0NTA4NDJk MmI1IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfY3JlYXRlc3Vic2NyaWJl ci5jCisrKyBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMKQEAg LTQ5LDEwICs0OSwxNCBAQAogI2RlZmluZSBJTkNMVURFRF9DT05GX0ZJTEUJCQkicGdfY3JlYXRl c3Vic2NyaWJlci5jb25mIgogI2RlZmluZSBJTkNMVURFRF9DT05GX0ZJTEVfRElTQUJMRUQJSU5D TFVERURfQ09ORl9GSUxFICIuZGlzYWJsZWQiCiAKKyNkZWZpbmUgU0VSVkVSX0xPR19GSUxFX05B TUUgInBnX2NyZWF0ZXN1YnNjcmliZXJfc2VydmVyIgorI2RlZmluZSBJTlRFUk5BTF9MT0dfRklM RV9OQU1FICJwZ19jcmVhdGVzdWJzY3JpYmVyX2ludGVybmFsIgorCiAvKiBDb21tYW5kLWxpbmUg b3B0aW9ucyAqLwogc3RydWN0IENyZWF0ZVN1YnNjcmliZXJPcHRpb25zCiB7CiAJY2hhcgkgICAq Y29uZmlnX2ZpbGU7CS8qIGNvbmZpZ3VyYXRpb24gZmlsZSAqLworCWNoYXIJICAgKmxvZ19kaXI7 CQkvKiBsb2cgZGlyZWN0b3J5IG5hbWUgKi8KIAljaGFyCSAgICpwdWJfY29ubmluZm9fc3RyOwkv KiBwdWJsaXNoZXIgY29ubmVjdGlvbiBzdHJpbmcgKi8KIAljaGFyCSAgICpzb2NrZXRfZGlyOwkJ LyogZGlyZWN0b3J5IGZvciBVbml4LWRvbWFpbiBzb2NrZXQsIGlmIGFueSAqLwogCWNoYXIJICAg KnN1Yl9wb3J0OwkJLyogc3Vic2NyaWJlciBwb3J0IG51bWJlciAqLwpAQCAtMTQ2LDYgKzE1MCwx MCBAQCBzdGF0aWMgdm9pZCBkcm9wX2V4aXN0aW5nX3N1YnNjcmlwdGlvbihQR2Nvbm4gKmNvbm4s IGNvbnN0IGNoYXIgKnN1Ym5hbWUsCiAJCQkJCQkJCQkgICBjb25zdCBjaGFyICpkYm5hbWUpOwog c3RhdGljIHZvaWQgZ2V0X3B1Ymxpc2hlcl9kYXRhYmFzZXMoc3RydWN0IENyZWF0ZVN1YnNjcmli ZXJPcHRpb25zICpvcHQsCiAJCQkJCQkJCQlib29sIGRibmFtZXNwZWNpZmllZCk7CitzdGF0aWMg dm9pZCBpbnRlcm5hbF9sb2dfZmlsZV93cml0ZShlbnVtIHBnX2xvZ19sZXZlbCBsZXZlbCwKKwkJ CQkJCQkJCWNvbnN0IGNoYXIgKmZvcm1hdCwuLi4pCisJCQlwZ19hdHRyaWJ1dGVfcHJpbnRmKDIs IDMpOworCiAKICNkZWZpbmUJV0FJVF9JTlRFUlZBTAkxCQkvKiAxIHNlY29uZCAqLwogCkBAIC0x NjcsNiArMTc1LDEwIEBAIHN0YXRpYyBwZ19wcm5nX3N0YXRlIHBybmdfc3RhdGU7CiBzdGF0aWMg Y2hhciAqcGdfY3RsX3BhdGggPSBOVUxMOwogc3RhdGljIGNoYXIgKnBnX3Jlc2V0d2FsX3BhdGgg PSBOVUxMOwogCitzdGF0aWMgRklMRSAqaW50ZXJuYWxfbG9nX2ZpbGVfZnAgPSBOVUxMOwkvKiBG aWxlIHB0ciB0byBsb2cgYWxsIG1lc3NhZ2VzIHRvICovCitzdGF0aWMgY2hhciAqbG9nX3RpbWVz dGFtcCA9IE5VTEw7CS8qIFRpbWVzdGFtcCB0byBiZSB1c2VkIGluIGFsbCBsb2cgZmlsZQorCQkJ CQkJCQkJICogbmFtZXMgKi8KKwogLyogc3RhbmRieSAvIHN1YnNjcmliZXIgZGF0YSBkaXJlY3Rv cnkgKi8KIHN0YXRpYyBjaGFyICpzdWJzY3JpYmVyX2RpciA9IE5VTEw7CiAKQEAgLTE3NCw2ICsx ODYsMTY0IEBAIHN0YXRpYyBib29sIHJlY292ZXJ5X2VuZGVkID0gZmFsc2U7CiBzdGF0aWMgYm9v bCBzdGFuZGJ5X3J1bm5pbmcgPSBmYWxzZTsKIHN0YXRpYyBib29sIHJlY292ZXJ5X3BhcmFtc19z ZXQgPSBmYWxzZTsKIAorI3VuZGVmIHBnX2xvZ193YXJuaW5nCisjZGVmaW5lIHBnX2xvZ193YXJu aW5nKC4uLikgXAorCWlmIChpbnRlcm5hbF9sb2dfZmlsZV9mcCAhPSBOVUxMKSBcCisJCWludGVy bmFsX2xvZ19maWxlX3dyaXRlKFBHX0xPR19XQVJOSU5HLCBfX1ZBX0FSR1NfXyk7IFwKKwlwZ19s b2dfZ2VuZXJpYyhQR19MT0dfV0FSTklORywgUEdfTE9HX1BSSU1BUlksIF9fVkFfQVJHU19fKQor CisjdW5kZWYgcGdfbG9nX3dhcm5pbmdfZGV0YWlsCisjZGVmaW5lIHBnX2xvZ193YXJuaW5nX2Rl dGFpbCguLi4pIFwKKwlpZiAoaW50ZXJuYWxfbG9nX2ZpbGVfZnAgIT0gTlVMTCkgXAorCQlpbnRl cm5hbF9sb2dfZmlsZV93cml0ZShQR19MT0dfV0FSTklORywgX19WQV9BUkdTX18pOyBcCisJcGdf bG9nX2dlbmVyaWMoUEdfTE9HX1dBUk5JTkcsIFBHX0xPR19ERVRBSUwsIF9fVkFfQVJHU19fKQor CisjdW5kZWYgcGdfbG9nX3dhcm5pbmdfaGludAorI2RlZmluZSBwZ19sb2dfd2FybmluZ19oaW50 KC4uLikgXAorCWlmIChpbnRlcm5hbF9sb2dfZmlsZV9mcCAhPSBOVUxMKSBcCisJCWludGVybmFs X2xvZ19maWxlX3dyaXRlKFBHX0xPR19XQVJOSU5HLCBfX1ZBX0FSR1NfXyk7IFwKKwlwZ19sb2df Z2VuZXJpYyhQR19MT0dfV0FSTklORywgUEdfTE9HX0hJTlQsIF9fVkFfQVJHU19fKQorCisjdW5k ZWYgcGdfbG9nX2luZm8KKyNkZWZpbmUgcGdfbG9nX2luZm8oLi4uKSBkbyB7IFwKKwlpZiAoaW50 ZXJuYWxfbG9nX2ZpbGVfZnAgIT0gTlVMTCkgXAorCQlpbnRlcm5hbF9sb2dfZmlsZV93cml0ZShQ R19MT0dfSU5GTywgX19WQV9BUkdTX18pOyBcCisJZWxzZSBcCisJCXBnX2xvZ19nZW5lcmljKFBH X0xPR19JTkZPLCBQR19MT0dfUFJJTUFSWSwgX19WQV9BUkdTX18pOyBcCit9IHdoaWxlKDApCisK KyN1bmRlZiBwZ19sb2dfaW5mb19oaW50CisjZGVmaW5lIHBnX2xvZ19pbmZvX2hpbnQoLi4uKSBk byB7IFwKKwlpZiAoaW50ZXJuYWxfbG9nX2ZpbGVfZnAgIT0gTlVMTCkgXAorCQlpbnRlcm5hbF9s b2dfZmlsZV93cml0ZShQR19MT0dfSU5GTywgX19WQV9BUkdTX18pOyBcCisJZWxzZSBcCisJCXBn X2xvZ19nZW5lcmljKFBHX0xPR19JTkZPLCBQR19MT0dfSElOVCwgX19WQV9BUkdTX18pOyBcCit9 IHdoaWxlKDApCisKKyN1bmRlZiBwZ19sb2dfZGVidWcKKyNkZWZpbmUgcGdfbG9nX2RlYnVnKC4u LikgZG8geyBcCisJaWYgKHVubGlrZWx5KF9fcGdfbG9nX2xldmVsIDw9IFBHX0xPR19ERUJVRykp IHsgXAorCQlpZiAoaW50ZXJuYWxfbG9nX2ZpbGVfZnAgIT0gTlVMTCkgXAorCQkJaW50ZXJuYWxf bG9nX2ZpbGVfd3JpdGUoUEdfTE9HX0RFQlVHLCBfX1ZBX0FSR1NfXyk7IFwKKwkJZWxzZSBcCisJ CQlwZ19sb2dfZ2VuZXJpYyhQR19MT0dfREVCVUcsIFBHX0xPR19QUklNQVJZLCBfX1ZBX0FSR1Nf Xyk7IFwKKwl9IFwKK30gd2hpbGUoMCkKKworI3VuZGVmIHBnX2ZhdGFsCisjZGVmaW5lIHBnX2Zh dGFsKC4uLikgZG8geyBcCisJaWYgKGludGVybmFsX2xvZ19maWxlX2ZwICE9IE5VTEwpIFwKKwkJ aW50ZXJuYWxfbG9nX2ZpbGVfd3JpdGUoUEdfTE9HX0VSUk9SLCBfX1ZBX0FSR1NfXyk7IFwKKwlw Z19sb2dfZ2VuZXJpYyhQR19MT0dfRVJST1IsIFBHX0xPR19QUklNQVJZLCBfX1ZBX0FSR1NfXyk7 IFwKKwlleGl0KDEpOyBcCit9IHdoaWxlKDApCisKK3N0YXRpYyB2b2lkCitpbnRlcm5hbF9sb2df ZmlsZV93cml0ZShlbnVtIHBnX2xvZ19sZXZlbCBsZXZlbCwgY29uc3QgY2hhciAqZm9ybWF0LC4u LikKK3sKKwl2YV9saXN0CQlhcmdzOworCisJaWYgKGxldmVsIDwgX19wZ19sb2dfbGV2ZWwpCisJ CXJldHVybjsKKworCWlmIChpbnRlcm5hbF9sb2dfZmlsZV9mcCA9PSBOVUxMKQorCQlyZXR1cm47 CisKKwl2YV9zdGFydChhcmdzLCBmb3JtYXQpOworCXZmcHJpbnRmKGludGVybmFsX2xvZ19maWxl X2ZwLCBmb3JtYXQsIGFyZ3MpOworCXZhX2VuZChhcmdzKTsKKworCWZwcmludGYoaW50ZXJuYWxf bG9nX2ZpbGVfZnAsICJcbiIpOworCWZmbHVzaChpbnRlcm5hbF9sb2dfZmlsZV9mcCk7Cit9CisK Ky8qCisgKiBPcGVuIGEgbmV3IGxvZ2ZpbGUgd2l0aCBwcm9wZXIgcGVybWlzc2lvbnMuCisgKiBG cm9tIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3lzbG9nZ2VyLmMKKyAqLworc3RhdGljIEZJTEUg KgorbG9nZmlsZV9vcGVuKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICptb2RlKQor eworCUZJTEUJICAgKmZoOworCW1vZGVfdAkJb3VtYXNrOworCisJb3VtYXNrID0gdW1hc2soKG1v ZGVfdCkgKCh+KFNfSVJVU1IgfCBTX0lXVVNSKSkgJiAoU19JUldYVSB8IFNfSVJXWEcgfCBTX0lS V1hPKSkpOworCWZoID0gZm9wZW4oZmlsZW5hbWUsIG1vZGUpOworCXVtYXNrKG91bWFzayk7CisK KwlpZiAoZmgpCisJeworCQlzZXR2YnVmKGZoLCBOVUxMLCBQR19JT0xCRiwgMCk7CisKKyNpZmRl ZiBXSU4zMgorCQkvKiB1c2UgQ1JMRiBsaW5lIGVuZGluZ3Mgb24gV2luZG93cyAqLworCQlfc2V0 bW9kZShfZmlsZW5vKGZoKSwgX09fVEVYVCk7CisjZW5kaWYKKwl9CisJZWxzZQorCQlwZ19mYXRh bCgiY291bGQgbm90IG9wZW4gbG9nIGZpbGUgXCIlc1wiOiAlbSIsCisJCQkJIGZpbGVuYW1lKTsK KworCXJldHVybiBmaDsKK30KKworc3RhdGljIHZvaWQKK21ha2VfZGlyKGNvbnN0IGNoYXIgKmRp cikKK3sKKwlzdHJ1Y3Qgc3RhdCBzdGF0YnVmOworCisJaWYgKHN0YXQoZGlyLCAmc3RhdGJ1Zikg PT0gMCkKKwkJcmV0dXJuOworCisJaWYgKGVycm5vICE9IEVOT0VOVCkKKwkJcGdfZmF0YWwoImNv dWxkIG5vdCBzdGF0IGRpcmVjdG9yeSBcIiVzXCI6ICVtIiwgZGlyKTsKKworCWlmIChta2Rpcihk aXIsIFNfSVJXWFUpID09IDApCisJeworCQlwZ19sb2dfaW5mbygiZGlyZWN0b3J5ICVzIGNyZWF0 ZWQiLCBkaXIpOworCQlyZXR1cm47CisJfQorCisJcGdfZmF0YWwoImNvdWxkIG5vdCBjcmVhdGUg bG9nIGRpcmVjdG9yeSBcIiVzXCI6ICVtIiwgZGlyKTsKK30KKworc3RhdGljIHZvaWQKK21ha2Vf b3V0cHV0X2RpcnMoY29uc3QgY2hhciAqbG9nX2RpcikKK3sKKwljaGFyCQl0aW1lc3RhbXBbMTI4 XTsKKwlzdHJ1Y3QgdGltZXZhbCB0dmFsOworCXRpbWVfdAkJbm93OworCXN0cnVjdCB0bQl0bWJ1 ZjsKKwljaGFyCQl0aW1lc3RhbXBfZGlyW01BWFBHUEFUSF07CisJaW50CQkJbGVuOworCisJLyog R2VuZXJhdGUgdGltZXN0YW1wICovCisJZ2V0dGltZW9mZGF5KCZ0dmFsLCBOVUxMKTsKKwlub3cg PSB0dmFsLnR2X3NlYzsKKworCXN0cmZ0aW1lKHRpbWVzdGFtcCwgc2l6ZW9mKHRpbWVzdGFtcCks ICIlWSVtJWRUJUglTSVTIiwKKwkJCSBsb2NhbHRpbWVfcigmbm93LCAmdG1idWYpKTsKKworCS8q IGFwcGVuZCBtaWxsaXNlY29uZHMgKi8KKwlzbnByaW50Zih0aW1lc3RhbXAgKyBzdHJsZW4odGlt ZXN0YW1wKSwKKwkJCSBzaXplb2YodGltZXN0YW1wKSAtIHN0cmxlbih0aW1lc3RhbXApLCAiLiUw M3UiLAorCQkJICh1bnNpZ25lZCBpbnQpICh0dmFsLnR2X3VzZWMgLyAxMDAwKSk7CisKKwlsb2df dGltZXN0YW1wID0gcGdfc3RyZHVwKHRpbWVzdGFtcCk7CisKKwkvKiBDcmVhdGUgYmFzZSBkaXJl Y3RvcnkgKGlnbm9yZSBpZiBleGlzdHMpICovCisJbWFrZV9kaXIobG9nX2Rpcik7CisKKwkvKiBC dWlsZCB0aW1lc3RhbXAgZGlyZWN0b3J5IHBhdGggKi8KKwlsZW4gPSBzbnByaW50Zih0aW1lc3Rh bXBfZGlyLCBNQVhQR1BBVEgsICIlcy8lcyIsIGxvZ19kaXIsIHRpbWVzdGFtcCk7CisKKwlpZiAo bGVuID49IE1BWFBHUEFUSCkKKwkJcGdfZmF0YWwoImRpcmVjdG9yeSBwYXRoIGZvciBsb2cgZmls ZXMsICVzLyVzLCBpcyB0b28gbG9uZyIsCisJCQkJIGxvZ19kaXIsIHRpbWVzdGFtcCk7CisKKwkv KiBDcmVhdGUgdGltZXN0YW1wIGRpcmVjdG9yeSAqLworCW1ha2VfZGlyKHRpbWVzdGFtcF9kaXIp OworfQogCiAvKgogICogQ2xlYW4gdXAgb2JqZWN0cyBjcmVhdGVkIGJ5IHBnX2NyZWF0ZXN1YnNj cmliZXIuCkBAIC0yNjksNiArNDM5LDEyIEBAIGNsZWFudXBfb2JqZWN0c19hdGV4aXQodm9pZCkK IAogCWlmIChzdGFuZGJ5X3J1bm5pbmcpCiAJCXN0b3Bfc3RhbmRieV9zZXJ2ZXIoc3Vic2NyaWJl cl9kaXIpOworCisJaWYgKGludGVybmFsX2xvZ19maWxlX2ZwICE9IE5VTEwpCisJeworCQlmY2xv c2UoaW50ZXJuYWxfbG9nX2ZpbGVfZnApOworCQlpbnRlcm5hbF9sb2dfZmlsZV9mcCA9IE5VTEw7 CisJfQogfQogCiBzdGF0aWMgdm9pZApAQCAtMjgzLDYgKzQ1OSw3IEBAIHVzYWdlKHZvaWQpCiAJ CQkgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZXMgYW5kIGRhdGFi YXNlcyB0aGF0IGRvbid0IGFsbG93IGNvbm5lY3Rpb25zXG4iKSk7CiAJcHJpbnRmKF8oIiAgLWQs IC0tZGF0YWJhc2U9REJOQU1FICAgICAgICAgICBkYXRhYmFzZSBpbiB3aGljaCB0byBjcmVhdGUg YSBzdWJzY3JpcHRpb25cbiIpKTsKIAlwcmludGYoXygiICAtRCwgLS1wZ2RhdGE9REFUQURJUiAg ICAgICAgICAgIGxvY2F0aW9uIGZvciB0aGUgc3Vic2NyaWJlciBkYXRhIGRpcmVjdG9yeVxuIikp OworCXByaW50ZihfKCIgIC1sLCAtLWxvZ2Rpcj1MT0dESVIgICAgICAgICAgICAgbG9jYXRpb24g Zm9yIHRoZSBuZXcgbG9nIGRpcmVjdG9yeVxuIikpOwogCXByaW50ZihfKCIgIC1uLCAtLWRyeS1y dW4gICAgICAgICAgICAgICAgICAgZHJ5IHJ1biwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9u ZVxuIikpOwogCXByaW50ZihfKCIgIC1wLCAtLXN1YnNjcmliZXItcG9ydD1QT1JUICAgICAgc3Vi c2NyaWJlciBwb3J0IG51bWJlciAoZGVmYXVsdCAlcylcbiIpLCBERUZBVUxUX1NVQl9QT1JUKTsK IAlwcmludGYoXygiICAtUCwgLS1wdWJsaXNoZXItc2VydmVyPUNPTk5TVFIgIHB1Ymxpc2hlciBj b25uZWN0aW9uIHN0cmluZ1xuIikpOwpAQCAtNzAyLDYgKzg3OSw3IEBAIG1vZGlmeV9zdWJzY3Jp YmVyX3N5c2lkKGNvbnN0IHN0cnVjdCBDcmVhdGVTdWJzY3JpYmVyT3B0aW9ucyAqb3B0KQogCWJv b2wJCWNyY19vazsKIAlzdHJ1Y3QgdGltZXZhbCB0djsKIAorCWNoYXIJICAgKm91dF9maWxlOwog CWNoYXIJICAgKmNtZF9zdHI7CiAKIAlwZ19sb2dfaW5mbygibW9kaWZ5aW5nIHN5c3RlbSBpZGVu dGlmaWVyIG9mIHN1YnNjcmliZXIiKTsKQEAgLTczNSw4ICs5MTMsMTQgQEAgbW9kaWZ5X3N1YnNj cmliZXJfc3lzaWQoY29uc3Qgc3RydWN0IENyZWF0ZVN1YnNjcmliZXJPcHRpb25zICpvcHQpCiAJ ZWxzZQogCQlwZ19sb2dfaW5mbygicnVubmluZyBwZ19yZXNldHdhbCBvbiB0aGUgc3Vic2NyaWJl ciIpOwogCi0JY21kX3N0ciA9IHBzcHJpbnRmKCJcIiVzXCIgLUQgXCIlc1wiID4gXCIlc1wiIiwg cGdfcmVzZXR3YWxfcGF0aCwKLQkJCQkJICAgc3Vic2NyaWJlcl9kaXIsIERFVk5VTEwpOworCisJ aWYgKG9wdC0+bG9nX2RpciAhPSBOVUxMKQorCQlvdXRfZmlsZSA9IHBzcHJpbnRmKCIlcy8lcy8l cy5sb2ciLCBvcHQtPmxvZ19kaXIsIGxvZ190aW1lc3RhbXAsIFNFUlZFUl9MT0dfRklMRV9OQU1F KTsKKwllbHNlCisJCW91dF9maWxlID0gREVWTlVMTDsKKworCWNtZF9zdHIgPSBwc3ByaW50Zigi XCIlc1wiIC1EIFwiJXNcIiA+PiBcIiVzXCIiLCBwZ19yZXNldHdhbF9wYXRoLAorCQkJCQkgICBz dWJzY3JpYmVyX2Rpciwgb3V0X2ZpbGUpOwogCiAJcGdfbG9nX2RlYnVnKCJwZ19yZXNldHdhbCBj b21tYW5kIGlzOiAlcyIsIGNtZF9zdHIpOwogCkBAIC0xNjUwLDYgKzE4MzQsOSBAQCBzdGFydF9z dGFuZGJ5X3NlcnZlcihjb25zdCBzdHJ1Y3QgQ3JlYXRlU3Vic2NyaWJlck9wdGlvbnMgKm9wdCwg Ym9vbCByZXN0cmljdGVkXwogCWlmIChyZXN0cmljdF9sb2dpY2FsX3dvcmtlcikKIAkJYXBwZW5k UFFFeHBCdWZmZXJTdHIocGdfY3RsX2NtZCwgIiAtbyBcIi1jIG1heF9sb2dpY2FsX3JlcGxpY2F0 aW9uX3dvcmtlcnM9MFwiIik7CiAKKwlpZiAob3B0LT5sb2dfZGlyICE9IE5VTEwpCisJCWFwcGVu ZFBRRXhwQnVmZmVyKHBnX2N0bF9jbWQsICIgLWwgJXMvJXMvJXMubG9nIiwgb3B0LT5sb2dfZGly LCBsb2dfdGltZXN0YW1wLCBTRVJWRVJfTE9HX0ZJTEVfTkFNRSk7CisKIAlwZ19sb2dfZGVidWco InBnX2N0bCBjb21tYW5kIGlzOiAlcyIsIHBnX2N0bF9jbWQtPmRhdGEpOwogCXJjID0gc3lzdGVt KHBnX2N0bF9jbWQtPmRhdGEpOwogCXBnX2N0bF9zdGF0dXMocGdfY3RsX2NtZC0+ZGF0YSwgcmMp OwpAQCAtMjE4MSw2ICsyMzY4LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCXsi YWxsIiwgbm9fYXJndW1lbnQsIE5VTEwsICdhJ30sCiAJCXsiZGF0YWJhc2UiLCByZXF1aXJlZF9h cmd1bWVudCwgTlVMTCwgJ2QnfSwKIAkJeyJwZ2RhdGEiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVM TCwgJ0QnfSwKKwkJeyJsb2dkaXIiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2wnfSwKIAkJ eyJkcnktcnVuIiwgbm9fYXJndW1lbnQsIE5VTEwsICduJ30sCiAJCXsic3Vic2NyaWJlci1wb3J0 IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdwJ30sCiAJCXsicHVibGlzaGVyLXNlcnZlciIs IHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnUCd9LApAQCAtMjIzOSw2ICsyNDI3LDcgQEAgbWFp bihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJLyogRGVmYXVsdCBzZXR0aW5ncyAqLwogCXN1YnNj cmliZXJfZGlyID0gTlVMTDsKIAlvcHQuY29uZmlnX2ZpbGUgPSBOVUxMOworCW9wdC5sb2dfZGly ID0gTlVMTDsKIAlvcHQucHViX2Nvbm5pbmZvX3N0ciA9IE5VTEw7CiAJb3B0LnNvY2tldF9kaXIg PSBOVUxMOwogCW9wdC5zdWJfcG9ydCA9IERFRkFVTFRfU1VCX1BPUlQ7CkBAIC0yMjY3LDcgKzI0 NTYsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAogCWdldF9yZXN0cmljdGVkX3Rv a2VuKCk7CiAKLQl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWQ6RDpucDpQ OnM6dDpUVTp2IiwKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWQ6RDps Om5wOlA6czp0OlRVOnYiLAogCQkJCQkJCWxvbmdfb3B0aW9ucywgJm9wdGlvbl9pbmRleCkpICE9 IC0xKQogCXsKIAkJc3dpdGNoIChjKQpAQCAtMjI4OCw2ICsyNDc3LDEwIEBAIG1haW4oaW50IGFy Z2MsIGNoYXIgKiphcmd2KQogCQkJCXN1YnNjcmliZXJfZGlyID0gcGdfc3RyZHVwKG9wdGFyZyk7 CiAJCQkJY2Fub25pY2FsaXplX3BhdGgoc3Vic2NyaWJlcl9kaXIpOwogCQkJCWJyZWFrOworCQkJ Y2FzZSAnbCc6CisJCQkJb3B0LmxvZ19kaXIgPSBwZ19zdHJkdXAob3B0YXJnKTsKKwkJCQljYW5v bmljYWxpemVfcGF0aChvcHQubG9nX2Rpcik7CisJCQkJYnJlYWs7CiAJCQljYXNlICduJzoKIAkJ CQlkcnlfcnVuID0gdHJ1ZTsKIAkJCQlicmVhazsKQEAgLTIzNTYsNiArMjU0OSwxOCBAQCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJfQogCX0KIAorCWlmIChvcHQubG9nX2RpciAhPSBO VUxMKQorCXsKKwkJY2hhcgkgICAqaW50ZXJuYWxfbG9nX2ZpbGU7CisKKwkJbWFrZV9vdXRwdXRf ZGlycyhvcHQubG9nX2Rpcik7CisJCWludGVybmFsX2xvZ19maWxlID0gcHNwcmludGYoIiVzLyVz LyVzLmxvZyIsIG9wdC5sb2dfZGlyLCBsb2dfdGltZXN0YW1wLAorCQkJCQkJCQkJIElOVEVSTkFM X0xPR19GSUxFX05BTUUpOworCisJCWlmICgoaW50ZXJuYWxfbG9nX2ZpbGVfZnAgPSBsb2dmaWxl X29wZW4oaW50ZXJuYWxfbG9nX2ZpbGUsICJhIikpID09IE5VTEwpCisJCQlwZ19mYXRhbCgiY291 bGQgbm90IG9wZW4gbG9nIGZpbGUgXCIlc1wiOiAlbSIsIGludGVybmFsX2xvZ19maWxlKTsKKwl9 CisKIAkvKiBWYWxpZGF0ZSB0aGF0IC0tYWxsIGlzIG5vdCB1c2VkIHdpdGggaW5jb21wYXRpYmxl IG9wdGlvbnMgKi8KIAlpZiAob3B0LmFsbF9kYnMpCiAJewpAQCAtMjYyMSw1ICsyODI2LDggQEAg bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKIAlwZ19sb2dfaW5mbygiRG9uZSEiKTsKIAor CWlmIChpbnRlcm5hbF9sb2dfZmlsZV9mcCAhPSBOVUxMKQorCQlmY2xvc2UoaW50ZXJuYWxfbG9n X2ZpbGVfZnApOworCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2Jhc2Vi YWNrdXAvdC8wNDBfcGdfY3JlYXRlc3Vic2NyaWJlci5wbCBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1 cC90LzA0MF9wZ19jcmVhdGVzdWJzY3JpYmVyLnBsCmluZGV4IDBjMjdmY2E3YmI3Li40ZGRmYjYy MWE1ZCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQwX3BnX2NyZWF0ZXN1 YnNjcmliZXIucGwKKysrIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQwX3BnX2NyZWF0ZXN1 YnNjcmliZXIucGwKQEAgLTE0LDYgKzE0LDcgQEAgcHJvZ3JhbV92ZXJzaW9uX29rKCdwZ19jcmVh dGVzdWJzY3JpYmVyJyk7CiBwcm9ncmFtX29wdGlvbnNfaGFuZGxpbmdfb2soJ3BnX2NyZWF0ZXN1 YnNjcmliZXInKTsKIAogbXkgJGRhdGFkaXIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6dGVt cGRpcjsKK215ICRsb2dkaXIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6dGVtcGRpciArICIv bG9nZGlyIjsKIAogIyBHZW5lcmF0ZSBhIGRhdGFiYXNlIHdpdGggYSBuYW1lIG1hZGUgb2YgYSBy YW5nZSBvZiBBU0NJSSBjaGFyYWN0ZXJzLgogIyBFeHRyYWN0ZWQgZnJvbSAwMDJfcGdfdXBncmFk ZS5wbC4KQEAgLTM2Miw5ICszNjMsMzUgQEAgY29tbWFuZF9vaygKIAkJJy0tc3Vic2NyaXB0aW9u JyA9PiAnc3ViMicsCiAJCSctLWRhdGFiYXNlJyA9PiAkZGIxLAogCQknLS1kYXRhYmFzZScgPT4g JGRiMiwKKwkJJy0tbG9nZGlyJyA9PiAkbG9nZGlyLAogCV0sCiAJJ3J1biBwZ19jcmVhdGVzdWJz Y3JpYmVyIC0tZHJ5LXJ1biBvbiBub2RlIFMnKTsKIAorIyBDaGVjayB0aGF0IHRoZSBsb2cgZmls ZXMgd2VyZSBjcmVhdGVkCitteSBAc2VydmVyX2xvZ19maWxlcyA9IGdsb2IgIiRsb2dkaXIvKi9w Z19jcmVhdGVzdWJzY3JpYmVyX3NlcnZlci5sb2ciOworaXMoIHNjYWxhcihAc2VydmVyX2xvZ19m aWxlcyksIDEsICIKKyAgICBwZ19jcmVhdGVzdWJzY3JpYmVyX3NlcnZlci5sb2cgZmlsZSB3YXMg Y3JlYXRlZCIpOworbXkgJHNlcnZlcl9sb2dfZmlsZV9zaXplID0gLXMgJHNlcnZlcl9sb2dfZmls ZXNbMF07Citpc250KCRzZXJ2ZXJfbG9nX2ZpbGVfc2l6ZSwgMCwKKwkicGdfY3JlYXRlc3Vic2Ny aWJlcl9zZXJ2ZXIubG9nIGZpbGUgbm90IGVtcHR5Iik7CitteSAkc2VydmVyX2xvZyA9IHNsdXJw X2ZpbGUoJHNlcnZlcl9sb2dfZmlsZXNbMF0pOworbGlrZSgKKwkkc2VydmVyX2xvZywKKwlxci9j b25zaXN0ZW50IHJlY292ZXJ5IHN0YXRlIHJlYWNoZWQvLAorCSJzZXJ2ZXIgcmVhY2hlZCBjb25z aXN0ZW50IHJlY292ZXJ5IHN0YXRlIik7CisKK215IEBpbnRlcm5hbF9sb2dfZmlsZXMgPSBnbG9i ICIkbG9nZGlyLyovcGdfY3JlYXRlc3Vic2NyaWJlcl9pbnRlcm5hbC5sb2ciOworaXMoIHNjYWxh cihAaW50ZXJuYWxfbG9nX2ZpbGVzKSwgMSwgIgorICAgIHBnX2NyZWF0ZXN1YnNjcmliZXJfaW50 ZXJuYWwubG9nIGZpbGUgd2FzIGNyZWF0ZWQiKTsKK215ICRpbnRlcm5hbF9sb2dfZmlsZV9zaXpl ID0gLXMgJGludGVybmFsX2xvZ19maWxlc1swXTsKK2lzbnQoJGludGVybmFsX2xvZ19maWxlX3Np emUsIDAsCisJInBnX2NyZWF0ZXN1YnNjcmliZXJfaW50ZXJuYWwubG9nIGZpbGUgbm90IGVtcHR5 Iik7CitteSAkaW50ZXJuYWxfbG9nID0gc2x1cnBfZmlsZSgkaW50ZXJuYWxfbG9nX2ZpbGVzWzBd KTsKK2xpa2UoCisJJGludGVybmFsX2xvZywKKwlxci90YXJnZXQgc2VydmVyIHJlYWNoZWQgdGhl IGNvbnNpc3RlbnQgc3RhdGUvLAorCSJsb2cgc2hvd3MgY29uc2lzdGVudCBzdGF0ZSByZWFjaGVk Iik7CisKICMgQ2hlY2sgaWYgbm9kZSBTIGlzIHN0aWxsIGEgc3RhbmRieQogJG5vZGVfcy0+c3Rh cnQ7CiBpcygkbm9kZV9zLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJ1NFTEVDVCBwZ19jYXRhbG9n LnBnX2lzX2luX3JlY292ZXJ5KCknKSwKQEAgLTQ0NCw3ICs0NzEsOCBAQCBpcyhzY2FsYXIoKCkg PSAkc3RkZXJyID1+IC93b3VsZCBjcmVhdGUgc3Vic2NyaXB0aW9uL2cpLAogCiAjIENyZWF0ZSBh IHVzZXItZGVmaW5lZCBwdWJsaWNhdGlvbiwgYW5kIGEgdGFibGUgdGhhdCBpcyBub3QgYSBtZW1i ZXIgb2YgdGhhdAogIyBwdWJsaWNhdGlvbi4KLSRub2RlX3AtPnNhZmVfcHNxbCgkZGIxLCBxcSgK KyRub2RlX3AtPnNhZmVfcHNxbCgKKwkkZGIxLCBxcSgKIAlDUkVBVEUgUFVCTElDQVRJT04gdGVz dF9wdWIzIEZPUiBUQUJMRSB0YmwxOwogCUNSRUFURSBUQUJMRSBub3RfcmVwbGljYXRlZCAoYSBp bnQpOwogKSk7CkBAIC01NDAsOCArNTY4LDcgQEAgc2Vjb25kIHJvdwogdGhpcmQgcm93KSwKIAki bG9naWNhbCByZXBsaWNhdGlvbiB3b3JrcyBpbiBkYXRhYmFzZSAkZGIxIik7CiAkcmVzdWx0ID0g JG5vZGVfcy0+c2FmZV9wc3FsKCRkYjEsICdTRUxFQ1QgKiBGUk9NIG5vdF9yZXBsaWNhdGVkJyk7 Ci1pcygkcmVzdWx0LCBxcSgpLAotCSJ0YWJsZSBpcyBub3QgcmVwbGljYXRlZCBpbiBkYXRhYmFz ZSAkZGIxIik7CitpcygkcmVzdWx0LCBxcSgpLCAidGFibGUgaXMgbm90IHJlcGxpY2F0ZWQgaW4g ZGF0YWJhc2UgJGRiMSIpOwogCiAjIENoZWNrIHJlc3VsdCBpbiBkYXRhYmFzZSAkZGIyCiAkcmVz dWx0ID0gJG5vZGVfcy0+c2FmZV9wc3FsKCRkYjIsICdTRUxFQ1QgKiBGUk9NIHRibDInKTsKQEAg LTU1NSw4ICs1ODIsMTAgQEAgbXkgJHN5c2lkX3MgPSAkbm9kZV9zLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywKIGlzbnQoJHN5c2lkX3AsICRzeXNpZF9zLCAnc3lzdGVtIGlkZW50aWZpZXIgd2FzIGNo YW5nZWQnKTsKIAogIyBWZXJpZnkgdGhhdCBwdWIyIHdhcyBjcmVhdGVkIGluICRkYjIKLWlzKCRu b2RlX3AtPnNhZmVfcHNxbCgkZGIyLCAiU0VMRUNUIENPVU5UKCopIEZST00gcGdfcHVibGljYXRp b24gV0hFUkUgcHVibmFtZSA9ICdwdWIyJyIpLAotCScxJywgInB1YmxpY2F0aW9uIHB1YjIgd2Fz IGNyZWF0ZWQgaW4gJGRiMiIpOworaXMoICRub2RlX3AtPnNhZmVfcHNxbCgKKwkJJGRiMiwgIlNF TEVDVCBDT1VOVCgqKSBGUk9NIHBnX3B1YmxpY2F0aW9uIFdIRVJFIHB1Ym5hbWUgPSAncHViMici KSwKKwknMScsCisJInB1YmxpY2F0aW9uIHB1YjIgd2FzIGNyZWF0ZWQgaW4gJGRiMiIpOwogCiAj IEdldCBzdWJzY3JpcHRpb24gYW5kIHB1YmxpY2F0aW9uIG5hbWVzCiAkcmVzdWx0ID0gJG5vZGVf cy0+c2FmZV9wc3FsKApAQCAtNTgxLDcgKzYxMCw3IEBAICRyZXN1bHQgPSAkbm9kZV9zLT5zYWZl X3BzcWwoCiAgICAgKQogKTsKIAotaXMoJHJlc3VsdCwgcXEoJGRiMXx7dGVzdF9wdWIzfQoraXMo ICRyZXN1bHQsIHFxKCRkYjF8e3Rlc3RfcHViM30KICRkYjJ8e3B1YjJ9KSwKIAkic3Vic2NyaXB0 aW9ucyB1c2UgdGhlIGNvcnJlY3QgcHVibGljYXRpb25zIik7CiAKLS0gCjIuNDMuMAoK --0000000000003dbc82064d40a5b3--