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.94.2) (envelope-from ) id 1taaMt-003AH8-7v for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Jan 2025 13:02:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1taaMq-00Gqwm-EX for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Jan 2025 13:02:00 +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.94.2) (envelope-from ) id 1taaMq-00GqwV-32 for pgsql-hackers@lists.postgresql.org; Wed, 22 Jan 2025 13:02:00 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1taaMl-000uSg-0q for pgsql-hackers@lists.postgresql.org; Wed, 22 Jan 2025 13:01:58 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id 11CE06063B; Wed, 22 Jan 2025 22:01:48 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_a7ddd5efc238a354bc65e6df3e4b86f2" Content-Transfer-Encoding: 7bit Date: Wed, 22 Jan 2025 22:01:48 +0900 From: Shinya Kato To: Tom Lane Cc: Robert Treat , Yugo Nagata , "David G. Johnston" , PostgreSQL Hackers Subject: Re: Set AUTOCOMMIT to on in script output by pg_dump In-Reply-To: <2328259.1737144670@sss.pgh.pa.us> References: <96ff23a5d858ff72ca8e823a014d16fe@oss.nttdata.com> <20241009120314.118a641fa25148c3d564a6ae@sraoss.co.jp> <2351827.1728447022@sss.pgh.pa.us> <20241009151508.eb37141e5ad29d0ca1e44eb9@sraoss.co.jp> <18f52adc395bece3c9d4373890560bbd@oss.nttdata.com> <2328259.1737144670@sss.pgh.pa.us> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: Shinya11.Kato@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_a7ddd5efc238a354bc65e6df3e4b86f2 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Hi, thank you for the reviews. On 2025-01-18 00:45, Robert Treat wrote: > This looks pretty good to me. I think there are a couple of minor > grammar changes that could be made, and I think the pg_dumpall section > could use a couple tweaks, specifically 1) not all incantations of > pg_dumpall emit psql meta commands (-g comes to mind quickly) and ISTR > some non-psql clients honor psql meta commands, so I would lessen the > language around incompatibility, and 2) I think adding an explicit -f > for the database name in the pg_dumpall is clearer, and mirrors the > pg_dump example. Thanks, I had no reason to oppose it, so I reflected that in the patch. On 2025-01-18 05:11, Tom Lane wrote: > Robert Treat writes: >> suggested diffs attached, let me know if you would like a consolidated >> patch > > Sadly, the cfbot is now confused since it doesn't understand the idea > of an incremental patch. Somebody please post a consolidated patch. I've attached new consolidated patch. > For myself, I'd suggest writing the examples with -X not --no-psqlrc. > -X is shorter, it's more likely to be what people would actually > type, and it's not jarringly inconsistent with the adjacent use > of -h and other short-form switches. We can write the added > paragraphs like > > It is generally recommended to use the > () option when restoring a database ... > > to provide clarity about what the switch does. I agree to it and fixed the patch. -- Regards, Shinya Kato NTT DATA GROUP CORPORATION --=_a7ddd5efc238a354bc65e6df3e4b86f2 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v3-0001-doc-Add-no-psqlrc-in-pg_dump-pg_dumpall-docs.patch Content-Disposition: attachment; filename=v3-0001-doc-Add-no-psqlrc-in-pg_dump-pg_dumpall-docs.patch; size=6720 RnJvbSA2NjRmODlmODQ2N2YzNTYwMjRmZTZlNGU0YWMwMzY5YjY1MjM4ZDQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaGlueWEgS2F0byA8U2hpbnlhMTEuS2F0b0Bvc3MubnR0ZGF0 YS5jb20+CkRhdGU6IFdlZCwgMjIgSmFuIDIwMjUgMjE6NTM6MTkgKzA5MDAKU3ViamVjdDogW1BB VENIIHYzXSBkb2M6IEFkZCAtLW5vLXBzcWxyYyBpbiBwZ19kdW1wIHBnX2R1bXBhbGwgZG9jcwoK LS0tCiBkb2Mvc3JjL3NnbWwvYmFja3VwLnNnbWwgICAgICAgICB8IDE2ICsrKysrKysrKy0tLS0t LS0KIGRvYy9zcmMvc2dtbC9yZWYvcGdfZHVtcC5zZ21sICAgIHwgMTAgKysrKysrKysrLQogZG9j L3NyYy9zZ21sL3JlZi9wZ19kdW1wYWxsLnNnbWwgfCAxNCArKysrKysrKysrKystLQogMyBmaWxl cyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kb2Mvc3JjL3NnbWwvYmFja3VwLnNnbWwgYi9kb2Mvc3JjL3NnbWwvYmFja3VwLnNnbWwKaW5k ZXggZTRlNGM1NmNmMS4uZGQzOGE4YjIyMCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2JhY2t1 cC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9iYWNrdXAuc2dtbApAQCAtMTA2LDEwICsxMDYsMTAg QEAgcGdfZHVtcCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGJuYW1lPC9yZXBsYWNl YWJsZT4gJmd0OyA8cmVwbGFjZWFibGUgY2wKIAogICAgPHBhcmE+CiAgICAgVGV4dCBmaWxlcyBj cmVhdGVkIGJ5IDxhcHBsaWNhdGlvbj5wZ19kdW1wPC9hcHBsaWNhdGlvbj4gYXJlIGludGVuZGVk IHRvCi0gICAgYmUgcmVhZCBpbiBieSB0aGUgPGFwcGxpY2F0aW9uPnBzcWw8L2FwcGxpY2F0aW9u PiBwcm9ncmFtLiBUaGUKLSAgICBnZW5lcmFsIGNvbW1hbmQgZm9ybSB0byByZXN0b3JlIGEgZHVt cCBpcworICAgIGJlIHJlYWQgaW4gYnkgdGhlIDxhcHBsaWNhdGlvbj5wc3FsPC9hcHBsaWNhdGlv bj4gcHJvZ3JhbSB1c2luZyBpdHMgZGVmYXVsdAorICAgIHNldHRpbmdzLiBUaGUgZ2VuZXJhbCBj b21tYW5kIGZvcm0gdG8gcmVzdG9yZSBhIGR1bXAgaXMKIDxzeW5vcHNpcz4KLXBzcWwgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRibmFtZTwvcmVwbGFjZWFibGU+ICZsdDsgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmR1bXBmaWxlPC9yZXBsYWNlYWJsZT4KK3BzcWwgLVgg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRibmFtZTwvcmVwbGFjZWFibGU+ICZsdDsg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmR1bXBmaWxlPC9yZXBsYWNlYWJsZT4KIDwv c3lub3BzaXM+CiAgICAgd2hlcmUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmR1bXBm aWxlPC9yZXBsYWNlYWJsZT4gaXMgdGhlCiAgICAgZmlsZSBvdXRwdXQgYnkgdGhlIDxhcHBsaWNh dGlvbj5wZ19kdW1wPC9hcHBsaWNhdGlvbj4gY29tbWFuZC4gVGhlIGRhdGFiYXNlIDxyZXBsYWNl YWJsZQpAQCAtMTE3LDcgKzExNyw5IEBAIHBzcWwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmRibmFtZTwvcmVwbGFjZWFibGU+ICZsdDsgPHJlcGxhY2VhYmxlIGNsYXNzCiAgICAgY29t bWFuZCwgc28geW91IG11c3QgY3JlYXRlIGl0IHlvdXJzZWxmIGZyb20gPGxpdGVyYWw+dGVtcGxh dGUwPC9saXRlcmFsPgogICAgIGJlZm9yZSBleGVjdXRpbmcgPGFwcGxpY2F0aW9uPnBzcWw8L2Fw cGxpY2F0aW9uPiAoZS5nLiwgd2l0aAogICAgIDxsaXRlcmFsPmNyZWF0ZWRiIC1UIHRlbXBsYXRl MCA8cmVwbGFjZWFibGUKLSAgICBjbGFzcz0icGFyYW1ldGVyIj5kYm5hbWU8L3JlcGxhY2VhYmxl PjwvbGl0ZXJhbD4pLiAgPGFwcGxpY2F0aW9uPnBzcWw8L2FwcGxpY2F0aW9uPgorICAgIGNsYXNz PSJwYXJhbWV0ZXIiPmRibmFtZTwvcmVwbGFjZWFibGU+PC9saXRlcmFsPikuIFRvIHVzZQorICAg IDxhcHBsaWNhdGlvbj5wc3FsPC9hcHBsaWNhdGlvbj4gd2l0aCBpdHMgZGVmYXVsdCBzZXR0aW5n cywgdXNlIHRoZQorICAgIDxvcHRpb24+LVg8L29wdGlvbj4gKDxvcHRpb24+LS1uby1wc3FscmM8 L29wdGlvbj4pIG9wdGlvbi4gPGFwcGxpY2F0aW9uPnBzcWw8L2FwcGxpY2F0aW9uPgogICAgIHN1 cHBvcnRzIG9wdGlvbnMgc2ltaWxhciB0byA8YXBwbGljYXRpb24+cGdfZHVtcDwvYXBwbGljYXRp b24+IGZvciBzcGVjaWZ5aW5nCiAgICAgdGhlIGRhdGFiYXNlIHNlcnZlciB0byBjb25uZWN0IHRv IGFuZCB0aGUgdXNlciBuYW1lIHRvIHVzZS4gU2VlCiAgICAgdGhlIDx4cmVmIGxpbmtlbmQ9ImFw cC1wc3FsIi8+IHJlZmVyZW5jZSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uLgpAQCAtMTQxLDcg KzE0Myw3IEBAIHBzcWwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRibmFtZTwvcmVw bGFjZWFibGU+ICZsdDsgPHJlcGxhY2VhYmxlIGNsYXNzCiAgICAgYmVoYXZpb3IgYW5kIGhhdmUg PGFwcGxpY2F0aW9uPnBzcWw8L2FwcGxpY2F0aW9uPiBleGl0IHdpdGggYW4KICAgICBleGl0IHN0 YXR1cyBvZiAzIGlmIGFuIFNRTCBlcnJvciBvY2N1cnM6CiA8cHJvZ3JhbWxpc3Rpbmc+Ci1wc3Fs IC0tc2V0IE9OX0VSUk9SX1NUT1A9b24gPHJlcGxhY2VhYmxlPmRibmFtZTwvcmVwbGFjZWFibGU+ ICZsdDsgPHJlcGxhY2VhYmxlPmR1bXBmaWxlPC9yZXBsYWNlYWJsZT4KK3BzcWwgLVggLS1zZXQg T05fRVJST1JfU1RPUD1vbiA8cmVwbGFjZWFibGU+ZGJuYW1lPC9yZXBsYWNlYWJsZT4gJmx0OyA8 cmVwbGFjZWFibGU+ZHVtcGZpbGU8L3JlcGxhY2VhYmxlPgogPC9wcm9ncmFtbGlzdGluZz4KICAg ICBFaXRoZXIgd2F5LCB5b3Ugd2lsbCBvbmx5IGhhdmUgYSBwYXJ0aWFsbHkgcmVzdG9yZWQgZGF0 YWJhc2UuCiAgICAgQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBzcGVjaWZ5IHRoYXQgdGhlIHdob2xl IGR1bXAgc2hvdWxkIGJlCkBAIC0xNjAsNyArMTYyLDcgQEAgcHNxbCAtLXNldCBPTl9FUlJPUl9T VE9QPW9uIDxyZXBsYWNlYWJsZT5kYm5hbWU8L3JlcGxhY2VhYmxlPiAmbHQ7IDxyZXBsYWNlYWJs ZT4KICAgICB3cml0ZSB0byBvciByZWFkIGZyb20gcGlwZXMgbWFrZXMgaXQgcG9zc2libGUgdG8g ZHVtcCBhIGRhdGFiYXNlCiAgICAgZGlyZWN0bHkgZnJvbSBvbmUgc2VydmVyIHRvIGFub3RoZXIs IGZvciBleGFtcGxlOgogPHByb2dyYW1saXN0aW5nPgotcGdfZHVtcCAtaCA8cmVwbGFjZWFibGU+ aG9zdDE8L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGU+ZGJuYW1lPC9yZXBsYWNlYWJsZT4gfCBw c3FsIC1oIDxyZXBsYWNlYWJsZT5ob3N0MjwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZT5kYm5h bWU8L3JlcGxhY2VhYmxlPgorcGdfZHVtcCAtaCA8cmVwbGFjZWFibGU+aG9zdDE8L3JlcGxhY2Vh YmxlPiA8cmVwbGFjZWFibGU+ZGJuYW1lPC9yZXBsYWNlYWJsZT4gfCBwc3FsIC1YIC1oIDxyZXBs YWNlYWJsZT5ob3N0MjwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZT5kYm5hbWU8L3JlcGxhY2Vh YmxlPgogPC9wcm9ncmFtbGlzdGluZz4KICAgIDwvcGFyYT4KIApAQCAtMjA1LDcgKzIwNyw3IEBA IHBnX2R1bXBhbGwgJmd0OyA8cmVwbGFjZWFibGU+ZHVtcGZpbGU8L3JlcGxhY2VhYmxlPgogPC9z eW5vcHNpcz4KICAgICBUaGUgcmVzdWx0aW5nIGR1bXAgY2FuIGJlIHJlc3RvcmVkIHdpdGggPGFw cGxpY2F0aW9uPnBzcWw8L2FwcGxpY2F0aW9uPjoKIDxzeW5vcHNpcz4KLXBzcWwgLWYgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmR1bXBmaWxlPC9yZXBsYWNlYWJsZT4gcG9zdGdyZXMK K3BzcWwgLVggLWYgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmR1bXBmaWxlPC9yZXBs YWNlYWJsZT4gcG9zdGdyZXMKIDwvc3lub3BzaXM+CiAgICAgKEFjdHVhbGx5LCB5b3UgY2FuIHNw ZWNpZnkgYW55IGV4aXN0aW5nIGRhdGFiYXNlIG5hbWUgdG8gc3RhcnQgZnJvbSwKICAgICBidXQg aWYgeW91IGFyZSBsb2FkaW5nIGludG8gYW4gZW1wdHkgY2x1c3RlciB0aGVuIDxsaXRlcmFsPnBv c3RncmVzPC9saXRlcmFsPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9wZ19kdW1wLnNn bWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXAuc2dtbAppbmRleCBkNjZlOTAxZjUxLi44YjU3 MmNkZWMwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXAuc2dtbAorKysgYi9k b2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXAuc2dtbApAQCAtMTYzNiw2ICsxNjM2LDE0IEBAIENSRUFU RSBEQVRBQkFTRSBmb28gV0lUSCBURU1QTEFURSB0ZW1wbGF0ZTA7CiAgICBvcHRpb24gd2lsbCBi ZSBhdXRvbWF0aWNhbGx5IGVuYWJsZWQgYnkgdGhlIHN1YnNjcmliZXIgaWYgdGhlIHN1YnNjcmlw dGlvbgogICAgaGFkIGJlZW4gb3JpZ2luYWxseSBjcmVhdGVkIHdpdGggPGxpdGVyYWw+dHdvX3Bo YXNlID0gdHJ1ZTwvbGl0ZXJhbD4gb3B0aW9uLgogICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBJ dCBpcyBnZW5lcmFsbHkgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSA8b3B0aW9uPi1YPC9vcHRpb24+ CisgICAoPG9wdGlvbj4tLW5vLXBzcWxyYzwvb3B0aW9uPikgb3B0aW9uIHdoZW4gcmVzdG9yaW5n IGEgZGF0YWJhc2UgZnJvbSBhCisgICA8YXBwbGljYXRpb24+cGdfZHVtcDwvYXBwbGljYXRpb24+ IHNjcmlwdCB0byBlbnN1cmUgYSBjbGVhbiByZXN0b3JlIHByb2Nlc3MKKyAgIGFuZCBwcmV2ZW50 IHBvdGVudGlhbCBjb25mbGljdHMgd2l0aCBleGlzdGluZyA8YXBwbGljYXRpb24+cHNxbDwvYXBw bGljYXRpb24+CisgICBjb25maWd1cmF0aW9ucy4KKyAgPC9wYXJhPgogIDwvcmVmc2VjdDE+CiAK ICA8cmVmc2VjdDEgaWQ9InBnLWR1bXAtZXhhbXBsZXMiIHhyZWZsYWJlbD0iRXhhbXBsZXMiPgpA QCAtMTY1Myw3ICsxNjYxLDcgQEAgQ1JFQVRFIERBVEFCQVNFIGZvbyBXSVRIIFRFTVBMQVRFIHRl bXBsYXRlMDsKICAgIDxsaXRlcmFsPm5ld2RiPC9saXRlcmFsPjoKIAogPHNjcmVlbj4KLTxwcm9t cHQ+JDwvcHJvbXB0PiA8dXNlcmlucHV0PnBzcWwgLWQgbmV3ZGIgLWYgZGIuc3FsPC91c2VyaW5w dXQ+Cis8cHJvbXB0PiQ8L3Byb21wdD4gPHVzZXJpbnB1dD5wc3FsIC1YIC1kIG5ld2RiIC1mIGRi LnNxbDwvdXNlcmlucHV0PgogPC9zY3JlZW4+CiAgIDwvcGFyYT4KIApkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3JlZi9wZ19kdW1wYWxsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXBh bGwuc2dtbAppbmRleCAwMTRmMjc5MjU4Li5iZmJlMzA1YjA4IDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvcmVmL3BnX2R1bXBhbGwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXBh bGwuc2dtbApAQCAtODE3LDYgKzgxNywxNiBAQCBleGNsdWRlIGRhdGFiYXNlIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5QQVRURVJOPC9yZXBsYWNlYWJsZT4KICAgIGRhdGFiYXNlIGNy ZWF0aW9uIHdpbGwgZmFpbCBmb3IgZGF0YWJhc2VzIGluIG5vbi1kZWZhdWx0CiAgICBsb2NhdGlv bnMuCiAgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIEl0IGlzIGdlbmVyYWxseSByZWNvbW1lbmRl ZCB0byB1c2UgdGhlIDxvcHRpb24+LVg8L29wdGlvbj4KKyAgICg8b3B0aW9uPi0tbm8tcHNxbHJj PC9vcHRpb24+KSBvcHRpb24gd2hlbiByZXN0b3JpbmcgYSBkYXRhYmFzZSBmcm9tIGEKKyAgIDxh cHBsaWNhdGlvbj5wZ19kdW1wYWxsPC9hcHBsaWNhdGlvbj4gc2NyaXB0IHRvIGVuc3VyZSBhIGNs ZWFuIHJlc3RvcmUKKyAgIHByb2Nlc3MgYW5kIHByZXZlbnQgcG90ZW50aWFsIGNvbmZsaWN0cyB3 aXRoIGV4aXN0aW5nCisgICA8YXBwbGljYXRpb24+cHNxbDwvYXBwbGljYXRpb24+IGNvbmZpZ3Vy YXRpb25zLiBBZGRpdGlvbmFsbHksCisgICBiZWNhdXNlIHRoZSBzY3JpcHQgY2FuIGluY2x1ZGUg PGFwcGxpY2F0aW9uPnBzcWw8L2FwcGxpY2F0aW9uPiBtZXRhLWNvbW1hbmRzLAorICAgaXQgbWF5 IGJlIGluY29tcGF0aWJsZSB3aXRoIGNsaWVudHMgb3RoZXIgdGhhbiA8YXBwbGljYXRpb24+cHNx bDwvYXBwbGljYXRpb24+LgorICA8L3BhcmE+CiAgPC9yZWZzZWN0MT4KIAogCkBAIC04MzMsOSAr ODQzLDkgQEAgZXhjbHVkZSBkYXRhYmFzZSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ UEFUVEVSTjwvcmVwbGFjZWFibGU+CiAgIDxwYXJhPgogICAgVG8gcmVzdG9yZSBkYXRhYmFzZShz KSBmcm9tIHRoaXMgZmlsZSwgeW91IGNhbiB1c2U6CiA8c2NyZWVuPgotPHByb21wdD4kPC9wcm9t cHQ+IDx1c2VyaW5wdXQ+cHNxbCAtZiBkYi5vdXQgcG9zdGdyZXM8L3VzZXJpbnB1dD4KKzxwcm9t cHQ+JDwvcHJvbXB0PiA8dXNlcmlucHV0PnBzcWwgLVggLWYgZGIub3V0IC1kIHBvc3RncmVzPC91 c2VyaW5wdXQ+CiA8L3NjcmVlbj4KLSAgIEl0IGlzIG5vdCBpbXBvcnRhbnQgdG8gd2hpY2ggZGF0 YWJhc2UgeW91IGNvbm5lY3QgaGVyZSBzaW5jZSB0aGUKKyAgIEl0IGlzIG5vdCBpbXBvcnRhbnQg d2hpY2ggZGF0YWJhc2UgeW91IGNvbm5lY3QgdG8gaGVyZSBzaW5jZSB0aGUKICAgIHNjcmlwdCBm aWxlIGNyZWF0ZWQgYnkgPGFwcGxpY2F0aW9uPnBnX2R1bXBhbGw8L2FwcGxpY2F0aW9uPiB3aWxs CiAgICBjb250YWluIHRoZSBhcHByb3ByaWF0ZSBjb21tYW5kcyB0byBjcmVhdGUgYW5kIGNvbm5l Y3QgdG8gdGhlIHNhdmVkCiAgICBkYXRhYmFzZXMuICBBbiBleGNlcHRpb24gaXMgdGhhdCBpZiB5 b3Ugc3BlY2lmaWVkIDxvcHRpb24+LS1jbGVhbjwvb3B0aW9uPiwKLS0gCjIuMzkuMwoK --=_a7ddd5efc238a354bc65e6df3e4b86f2--