Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1px49c-00048E-L7 for pgsql-hackers@arkaria.postgresql.org; Thu, 11 May 2023 11:08:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1px49a-0006zv-G0 for pgsql-hackers@arkaria.postgresql.org; Thu, 11 May 2023 11:08:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1px49Z-0006zj-Jx for pgsql-hackers@lists.postgresql.org; Thu, 11 May 2023 11:08:10 +0000 Received: from wnew4-smtp.messagingengine.com ([64.147.123.18]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1px49T-001xb4-Rj for pgsql-hackers@lists.postgresql.org; Thu, 11 May 2023 11:08:08 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.west.internal (Postfix) with ESMTP id 0DC8F2B0695E; Thu, 11 May 2023 07:07:59 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Thu, 11 May 2023 07:08:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1683803279; x=1683810479; bh=EbDGtB8fDB7rk NBMvEWWOs+eE+u+KbJ9IT1+kKfRx4k=; b=Y3tuOr3nfHjqmC0bLR+M+4jfQ0GE1 B35ENa8M+MfniGJQ1AdIXrn4HBU7Why0UCIC/JiAZywDowfDsKWiPiecozFDo664 BHLYUkX2FR42/ALBX4rLOCjdA7NxE95le3/gtkw6v9EGePAnlEP6nZjdaTMgVnht kJHTnjqJcKTFG5kYvnrtDkLm+eia/TtNIKHmwHV0qCHWI8s4x/AH6Ox21JmXLKp6 ZzA7MsPzp67/kZPDBt5/l/3zVkUiDpWp6LRLpH7ZG2rkRWl65iezn1rj1oQJSnn2 kMf2FHWawwM/XfdWteXDv33roN0QSXkCWCUx92MfT5Y6DduNhX72fGdsA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeegkedgfeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfgfuvfevfhfhjgesmhdtreertdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvg hrphhrihhsvggusgdrtghomheqnecuggftrfgrthhtvghrnhepuedtkeehueehtddvgfff heelteefhfeifeduiedtffeitdeludejhfejudefffffnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhht segvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 11 May 2023 07:07:55 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------OJUu8nVwy3lhpjTEvfkjDkNP" Message-ID: <05ad2b39-3d0f-e0aa-e0a3-086b998a26e8@enterprisedb.com> Date: Thu, 11 May 2023 13:07:53 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: Order changes in PG16 since ICU introduction Content-Language: en-US To: Alvaro Herrera Cc: Sandro Santilli , Tom Lane , Regina Obe , pgsql-hackers@lists.postgresql.org, Jeff Davis References: <20230509082553.yjikrxn54mi6hezc@alvherre.pgsql> From: Peter Eisentraut In-Reply-To: <20230509082553.yjikrxn54mi6hezc@alvherre.pgsql> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------OJUu8nVwy3lhpjTEvfkjDkNP Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 09.05.23 10:25, Alvaro Herrera wrote: > On 2023-Apr-24, Peter Eisentraut wrote: > >> The GUC settings lc_collate and lc_ctype are from a time when those locale >> settings were cluster-global. When we made those locale settings >> per-database (PG 8.4), we kept them as read-only. As of PG 15, you can use >> ICU as the per-database locale provider, so what is being attempted in the >> above example is already meaningless before PG 16, since you need to look >> into pg_database to find out what is really happening. >> >> I think we should just remove the GUC parameters lc_collate and lc_ctype. > > I agree with removing these in v16, since they are going to become more > meaningless and confusing. Here is my proposed patch for this. --------------OJUu8nVwy3lhpjTEvfkjDkNP Content-Type: text/plain; charset=UTF-8; name="0001-Remove-read-only-server-settings-lc_collate-and-lc_c.patch" Content-Disposition: attachment; filename*0="0001-Remove-read-only-server-settings-lc_collate-and-lc_c.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBiNTQ4YTY3MWFkMDJhNWM4NTFhNDk4NGRiNmU0NTM1YTBiNzBmODgxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAxMSBNYXkgMjAyMyAxMzowMjowMiArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIFJlbW92ZSByZWFkLW9ubHkgc2VydmVyIHNldHRpbmdzIGxjX2NvbGxhdGUg YW5kIGxjX2N0eXBlCgpUaGUgR1VDIHNldHRpbmdzIGxjX2NvbGxhdGUgYW5kIGxjX2N0eXBl IGFyZSBmcm9tIGEgdGltZSB3aGVuIHRob3NlCmxvY2FsZSBzZXR0aW5ncyB3ZXJlIGNsdXN0 ZXItZ2xvYmFsLiAgV2hlbiB0aG9zZSBsb2NhbGUgc2V0dGluZ3Mgd2VyZQptYWRlIHBlci1k YXRhYmFzZSAoUEcgOC40KSwgdGhlIHNldHRpbmdzIHdlcmUga2VwdCBhcyByZWFkLW9ubHku ICBBcwpvZiBQRyAxNSwgeW91IGNhbiB1c2UgSUNVIGFzIHRoZSBwZXItZGF0YWJhc2UgbG9j YWxlIHByb3ZpZGVyLCBzbwpleGFtaW5pbmcgdGhlc2Ugc2V0dGluZ3MgaXMgYWxyZWFkeSBt ZWFuaW5nbGVzcywgc2luY2UgeW91IG5lZWQgdG8KbG9vayBpbnRvIHBnX2RhdGFiYXNlIHRv IGZpbmQgb3V0IHdoYXQgaXMgcmVhbGx5IGhhcHBlbmluZy4KCkRpc2N1c3Npb246IGh0dHBz Oi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvNjk2MDU0ZDEtYmM4OC1iNmFiLTEy OWEtMThiOGJjZTZhNmYwQGVudGVycHJpc2VkYi5jb20KLS0tCiBjb250cmliL2NpdGV4dC9l eHBlY3RlZC9jaXRleHRfdXRmOC5vdXQgICAgICAgfCAgNCArLS0KIGNvbnRyaWIvY2l0ZXh0 L2V4cGVjdGVkL2NpdGV4dF91dGY4XzEub3V0ICAgICB8ICA0ICstLQogY29udHJpYi9jaXRl eHQvc3FsL2NpdGV4dF91dGY4LnNxbCAgICAgICAgICAgIHwgIDQgKy0tCiBkb2Mvc3JjL3Nn bWwvY29uZmlnLnNnbWwgICAgICAgICAgICAgICAgICAgICAgfCAzMiAtLS0tLS0tLS0tLS0t LS0tLS0tCiBzcmMvYmFja2VuZC91dGlscy9pbml0L3Bvc3Rpbml0LmMgICAgICAgICAgICAg fCAgNCAtLS0KIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAg ICB8IDI2IC0tLS0tLS0tLS0tLS0tLQogLi4uL3JlZ3Jlc3MvZXhwZWN0ZWQvY29sbGF0ZS5p Y3UudXRmOC5vdXQgICAgIHwgIDQgKy0tCiAuLi4vcmVncmVzcy9leHBlY3RlZC9jb2xsYXRl LmxpbnV4LnV0Zjgub3V0ICAgfCAgNiArKy0tCiAuLi4vZXhwZWN0ZWQvY29sbGF0ZS53aW5k b3dzLndpbjEyNTIub3V0ICAgICAgfCAgNiArKy0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9j b2xsYXRlLmljdS51dGY4LnNxbCAgICAgfCAgNCArLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L2NvbGxhdGUubGludXgudXRmOC5zcWwgICB8ICA2ICsrLS0KIC4uLi9yZWdyZXNzL3NxbC9j b2xsYXRlLndpbmRvd3Mud2luMTI1Mi5zcWwgICB8ICA2ICsrLS0KIDEyIGZpbGVzIGNoYW5n ZWQsIDIyIGluc2VydGlvbnMoKyksIDg0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Nv bnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dF91dGY4Lm91dCBiL2NvbnRyaWIvY2l0ZXh0 L2V4cGVjdGVkL2NpdGV4dF91dGY4Lm91dAppbmRleCA3N2I0NTg2ZDhmLi42NjMwZTA5YTRk IDEwMDY0NAotLS0gYS9jb250cmliL2NpdGV4dC9leHBlY3RlZC9jaXRleHRfdXRmOC5vdXQK KysrIGIvY29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0X3V0Zjgub3V0CkBAIC04LDgg KzgsOCBAQAogICogdG8gdGhlICJ0ci1UUi14LWljdSIgY29sbGF0aW9uIHdoZXJlIGl0IHdp bGwgc3VjY2VlZC4KICAqLwogU0VMRUNUIGdldGRhdGFiYXNlZW5jb2RpbmcoKSA8PiAnVVRG OCcgT1IKLSAgICAgICBjdXJyZW50X3NldHRpbmcoJ2xjX2N0eXBlJykgPSAnQycgT1IKLSAg ICAgICAoU0VMRUNUIGRhdGxvY3Byb3ZpZGVyPSdpJyBGUk9NIHBnX2RhdGFiYXNlCisgICAg ICAgKFNFTEVDVCAoZGF0bG9jcHJvdmlkZXIgPSAnYycgQU5EIGRhdGN0eXBlID0gJ0MnKSBP UiBkYXRsb2Nwcm92aWRlciA9ICdpJworICAgICAgICBGUk9NIHBnX2RhdGFiYXNlCiAgICAg ICAgIFdIRVJFIGRhdG5hbWU9Y3VycmVudF9kYXRhYmFzZSgpKQogICAgICAgIEFTIHNraXBf dGVzdCBcZ3NldAogXGlmIDpza2lwX3Rlc3QKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY2l0ZXh0 L2V4cGVjdGVkL2NpdGV4dF91dGY4XzEub3V0IGIvY29udHJpYi9jaXRleHQvZXhwZWN0ZWQv Y2l0ZXh0X3V0ZjhfMS5vdXQKaW5kZXggZDFlMWZlMWE5ZC4uM2NhYTdhMDBkNCAxMDA2NDQK LS0tIGEvY29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0X3V0ZjhfMS5vdXQKKysrIGIv Y29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0X3V0ZjhfMS5vdXQKQEAgLTgsOCArOCw4 IEBACiAgKiB0byB0aGUgInRyLVRSLXgtaWN1IiBjb2xsYXRpb24gd2hlcmUgaXQgd2lsbCBz dWNjZWVkLgogICovCiBTRUxFQ1QgZ2V0ZGF0YWJhc2VlbmNvZGluZygpIDw+ICdVVEY4JyBP UgotICAgICAgIGN1cnJlbnRfc2V0dGluZygnbGNfY3R5cGUnKSA9ICdDJyBPUgotICAgICAg IChTRUxFQ1QgZGF0bG9jcHJvdmlkZXI9J2knIEZST00gcGdfZGF0YWJhc2UKKyAgICAgICAo U0VMRUNUIChkYXRsb2Nwcm92aWRlciA9ICdjJyBBTkQgZGF0Y3R5cGUgPSAnQycpIE9SIGRh dGxvY3Byb3ZpZGVyID0gJ2knCisgICAgICAgIEZST00gcGdfZGF0YWJhc2UKICAgICAgICAg V0hFUkUgZGF0bmFtZT1jdXJyZW50X2RhdGFiYXNlKCkpCiAgICAgICAgQVMgc2tpcF90ZXN0 IFxnc2V0CiBcaWYgOnNraXBfdGVzdApkaWZmIC0tZ2l0IGEvY29udHJpYi9jaXRleHQvc3Fs L2NpdGV4dF91dGY4LnNxbCBiL2NvbnRyaWIvY2l0ZXh0L3NxbC9jaXRleHRfdXRmOC5zcWwK aW5kZXggODUzMGM2OGRkNy4uMWY1MWRmMTM0YiAxMDA2NDQKLS0tIGEvY29udHJpYi9jaXRl eHQvc3FsL2NpdGV4dF91dGY4LnNxbAorKysgYi9jb250cmliL2NpdGV4dC9zcWwvY2l0ZXh0 X3V0Zjguc3FsCkBAIC05LDggKzksOCBAQAogICovCiAKIFNFTEVDVCBnZXRkYXRhYmFzZWVu Y29kaW5nKCkgPD4gJ1VURjgnIE9SCi0gICAgICAgY3VycmVudF9zZXR0aW5nKCdsY19jdHlw ZScpID0gJ0MnIE9SCi0gICAgICAgKFNFTEVDVCBkYXRsb2Nwcm92aWRlcj0naScgRlJPTSBw Z19kYXRhYmFzZQorICAgICAgIChTRUxFQ1QgKGRhdGxvY3Byb3ZpZGVyID0gJ2MnIEFORCBk YXRjdHlwZSA9ICdDJykgT1IgZGF0bG9jcHJvdmlkZXIgPSAnaScKKyAgICAgICAgRlJPTSBw Z19kYXRhYmFzZQogICAgICAgICBXSEVSRSBkYXRuYW1lPWN1cnJlbnRfZGF0YWJhc2UoKSkK ICAgICAgICBBUyBza2lwX3Rlc3QgXGdzZXQKIFxpZiA6c2tpcF90ZXN0CmRpZmYgLS1naXQg YS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwK aW5kZXggOTA5YTNmMjhjNy4uM2U5MDMwZTNkNyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L2NvbmZpZy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbApAQCAtMTA3ODgs MzggKzEwNzg4LDYgQEAgPHRpdGxlPlByZXNldCBPcHRpb25zPC90aXRsZT4KICAgICAgIDwv bGlzdGl0ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5PgogCi0gICAgIDx2YXJsaXN0ZW50cnkg aWQ9Imd1Yy1sYy1jb2xsYXRlIiB4cmVmbGFiZWw9ImxjX2NvbGxhdGUiPgotICAgICAgPHRl cm0+PHZhcm5hbWU+bGNfY29sbGF0ZTwvdmFybmFtZT4gKDx0eXBlPnN0cmluZzwvdHlwZT4p Ci0gICAgICA8aW5kZXh0ZXJtPgotICAgICAgIDxwcmltYXJ5Pjx2YXJuYW1lPmxjX2NvbGxh dGU8L3Zhcm5hbWU+IGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyPC9wcmltYXJ5PgotICAgICAg PC9pbmRleHRlcm0+Ci0gICAgICA8L3Rlcm0+Ci0gICAgICA8bGlzdGl0ZW0+Ci0gICAgICAg PHBhcmE+Ci0gICAgICAgIFJlcG9ydHMgdGhlIGxvY2FsZSBpbiB3aGljaCBzb3J0aW5nIG9m IHRleHR1YWwgZGF0YSBpcyBkb25lLgotICAgICAgICBTZWUgPHhyZWYgbGlua2VuZD0ibG9j YWxlIi8+IGZvciBtb3JlIGluZm9ybWF0aW9uLgotICAgICAgICBUaGlzIHZhbHVlIGlzIGRl dGVybWluZWQgd2hlbiBhIGRhdGFiYXNlIGlzIGNyZWF0ZWQuCi0gICAgICAgPC9wYXJhPgot ICAgICAgPC9saXN0aXRlbT4KLSAgICAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgICAgPHZhcmxp c3RlbnRyeSBpZD0iZ3VjLWxjLWN0eXBlIiB4cmVmbGFiZWw9ImxjX2N0eXBlIj4KLSAgICAg IDx0ZXJtPjx2YXJuYW1lPmxjX2N0eXBlPC92YXJuYW1lPiAoPHR5cGU+c3RyaW5nPC90eXBl PikKLSAgICAgIDxpbmRleHRlcm0+Ci0gICAgICAgPHByaW1hcnk+PHZhcm5hbWU+bGNfY3R5 cGU8L3Zhcm5hbWU+IGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyPC9wcmltYXJ5PgotICAgICAg PC9pbmRleHRlcm0+Ci0gICAgICA8L3Rlcm0+Ci0gICAgICA8bGlzdGl0ZW0+Ci0gICAgICAg PHBhcmE+Ci0gICAgICAgIFJlcG9ydHMgdGhlIGxvY2FsZSB0aGF0IGRldGVybWluZXMgY2hh cmFjdGVyIGNsYXNzaWZpY2F0aW9ucy4KLSAgICAgICAgU2VlIDx4cmVmIGxpbmtlbmQ9Imxv Y2FsZSIvPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLSAgICAgICAgVGhpcyB2YWx1ZSBpcyBk ZXRlcm1pbmVkIHdoZW4gYSBkYXRhYmFzZSBpcyBjcmVhdGVkLgotICAgICAgICBPcmRpbmFy aWx5IHRoaXMgd2lsbCBiZSB0aGUgc2FtZSBhcyA8dmFybmFtZT5sY19jb2xsYXRlPC92YXJu YW1lPiwKLSAgICAgICAgYnV0IGZvciBzcGVjaWFsIGFwcGxpY2F0aW9ucyBpdCBtaWdodCBi ZSBzZXQgZGlmZmVyZW50bHkuCi0gICAgICAgPC9wYXJhPgotICAgICAgPC9saXN0aXRlbT4K LSAgICAgPC92YXJsaXN0ZW50cnk+Ci0KICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iZ3VjLW1h eC1mdW5jdGlvbi1hcmdzIiB4cmVmbGFiZWw9Im1heF9mdW5jdGlvbl9hcmdzIj4KICAgICAg IDx0ZXJtPjx2YXJuYW1lPm1heF9mdW5jdGlvbl9hcmdzPC92YXJuYW1lPiAoPHR5cGU+aW50 ZWdlcjwvdHlwZT4pCiAgICAgICA8aW5kZXh0ZXJtPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvdXRpbHMvaW5pdC9wb3N0aW5pdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9wb3N0 aW5pdC5jCmluZGV4IDUzNDIwZjQ5NzQuLmRmODFlMzVlYjggMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL2luaXQvcG9zdGluaXQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9p bml0L3Bvc3Rpbml0LmMKQEAgLTQ4MywxMCArNDgzLDYgQEAgQ2hlY2tNeURhdGFiYXNlKGNv bnN0IGNoYXIgKm5hbWUsIGJvb2wgYW1fc3VwZXJ1c2VyLCBib29sIG92ZXJyaWRlX2FsbG93 X2Nvbm5lY3QKIAkJCQkJCQkgcXVvdGVfaWRlbnRpZmllcihuYW1lKSkpKTsKIAl9CiAKLQkv KiBNYWtlIHRoZSBsb2NhbGUgc2V0dGluZ3MgdmlzaWJsZSBhcyBHVUMgdmFyaWFibGVzLCB0 b28gKi8KLQlTZXRDb25maWdPcHRpb24oImxjX2NvbGxhdGUiLCBjb2xsYXRlLCBQR0NfSU5U RVJOQUwsIFBHQ19TX0RZTkFNSUNfREVGQVVMVCk7Ci0JU2V0Q29uZmlnT3B0aW9uKCJsY19j dHlwZSIsIGN0eXBlLCBQR0NfSU5URVJOQUwsIFBHQ19TX0RZTkFNSUNfREVGQVVMVCk7Ci0K IAlSZWxlYXNlU3lzQ2FjaGUodHVwKTsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190 YWJsZXMuYwppbmRleCA1ZjkwYWVjZDQ3Li4yM2Q0YjM4ZTcyIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYworKysgYi9zcmMvYmFja2VuZC91dGls cy9taXNjL2d1Y190YWJsZXMuYwpAQCAtNTYzLDggKzU2Myw2IEBAIHN0YXRpYyBjaGFyICpz eXNsb2dfaWRlbnRfc3RyOwogc3RhdGljIGRvdWJsZSBwaG9ueV9yYW5kb21fc2VlZDsKIHN0 YXRpYyBjaGFyICpjbGllbnRfZW5jb2Rpbmdfc3RyaW5nOwogc3RhdGljIGNoYXIgKmRhdGVz dHlsZV9zdHJpbmc7Ci1zdGF0aWMgY2hhciAqbG9jYWxlX2NvbGxhdGU7Ci1zdGF0aWMgY2hh ciAqbG9jYWxlX2N0eXBlOwogc3RhdGljIGNoYXIgKnNlcnZlcl9lbmNvZGluZ19zdHJpbmc7 CiBzdGF0aWMgY2hhciAqc2VydmVyX3ZlcnNpb25fc3RyaW5nOwogc3RhdGljIGludAlzZXJ2 ZXJfdmVyc2lvbl9udW07CkBAIC00MDUwLDMwICs0MDQ4LDYgQEAgc3RydWN0IGNvbmZpZ19z dHJpbmcgQ29uZmlndXJlTmFtZXNTdHJpbmdbXSA9CiAJCU5VTEwsIE5VTEwsIE5VTEwKIAl9 LAogCi0JLyogU2VlIG1haW4uYyBhYm91dCB3aHkgZGVmYXVsdHMgZm9yIExDX2ZvbyBhcmUg bm90IGFsbCBhbGlrZSAqLwotCi0JewotCQl7ImxjX2NvbGxhdGUiLCBQR0NfSU5URVJOQUws IFBSRVNFVF9PUFRJT05TLAotCQkJZ2V0dGV4dF9ub29wKCJTaG93cyB0aGUgY29sbGF0aW9u IG9yZGVyIGxvY2FsZS4iKSwKLQkJCU5VTEwsCi0JCQlHVUNfTk9UX0lOX1NBTVBMRSB8IEdV Q19ESVNBTExPV19JTl9GSUxFCi0JCX0sCi0JCSZsb2NhbGVfY29sbGF0ZSwKLQkJIkMiLAot CQlOVUxMLCBOVUxMLCBOVUxMCi0JfSwKLQotCXsKLQkJeyJsY19jdHlwZSIsIFBHQ19JTlRF Uk5BTCwgUFJFU0VUX09QVElPTlMsCi0JCQlnZXR0ZXh0X25vb3AoIlNob3dzIHRoZSBjaGFy YWN0ZXIgY2xhc3NpZmljYXRpb24gYW5kIGNhc2UgY29udmVyc2lvbiBsb2NhbGUuIiksCi0J CQlOVUxMLAotCQkJR1VDX05PVF9JTl9TQU1QTEUgfCBHVUNfRElTQUxMT1dfSU5fRklMRQot CQl9LAotCQkmbG9jYWxlX2N0eXBlLAotCQkiQyIsCi0JCU5VTEwsIE5VTEwsIE5VTEwKLQl9 LAotCiAJewogCQl7ImxjX21lc3NhZ2VzIiwgUEdDX1NVU0VULCBDTElFTlRfQ09OTl9MT0NB TEUsCiAJCQlnZXR0ZXh0X25vb3AoIlNldHMgdGhlIGxhbmd1YWdlIGluIHdoaWNoIG1lc3Nh Z2VzIGFyZSBkaXNwbGF5ZWQuIiksCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2NvbGxhdGUuaWN1LnV0Zjgub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9jb2xsYXRlLmljdS51dGY4Lm91dAppbmRleCBiNWEyMjFiMDMwLi4yMTg0MDgxNWM5IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NvbGxhdGUuaWN1LnV0Zjgu b3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29sbGF0ZS5pY3UudXRmOC5v dXQKQEAgLTEwMjMsNyArMTAyMyw3IEBAIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzIFRPIFdB Uk5JTkc7CiBkbyAkJAogQkVHSU4KICAgRVhFQ1VURSAnQ1JFQVRFIENPTExBVElPTiB0ZXN0 MCAocHJvdmlkZXIgPSBpY3UsIGxvY2FsZSA9ICcgfHwKLSAgICAgICAgICBxdW90ZV9saXRl cmFsKGN1cnJlbnRfc2V0dGluZygnbGNfY29sbGF0ZScpKSB8fCAnKTsnOworICAgICAgICAg IHF1b3RlX2xpdGVyYWwoKFNFTEVDVCBkYXRpY3Vsb2NhbGUgRlJPTSBwZ19kYXRhYmFzZSBX SEVSRSBkYXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpKSkgfHwgJyk7JzsKIEVORAogJCQ7 CiBDUkVBVEUgQ09MTEFUSU9OIHRlc3QwIEZST00gIkMiOyAtLSBmYWlsLCBkdXBsaWNhdGUg bmFtZQpAQCAtMTAzMSw3ICsxMDMxLDcgQEAgRVJST1I6ICBjb2xsYXRpb24gInRlc3QwIiBh bHJlYWR5IGV4aXN0cwogZG8gJCQKIEJFR0lOCiAgIEVYRUNVVEUgJ0NSRUFURSBDT0xMQVRJ T04gdGVzdDEgKHByb3ZpZGVyID0gaWN1LCBsb2NhbGUgPSAnIHx8Ci0gICAgICAgICAgcXVv dGVfbGl0ZXJhbChjdXJyZW50X3NldHRpbmcoJ2xjX2NvbGxhdGUnKSkgfHwgJyk7JzsKKyAg ICAgICAgICBxdW90ZV9saXRlcmFsKChTRUxFQ1QgZGF0aWN1bG9jYWxlIEZST00gcGdfZGF0 YWJhc2UgV0hFUkUgZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8ICcpOyc7CiBF TkQKICQkOwogUkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29sbGF0ZS5saW51eC51dGY4Lm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvY29sbGF0ZS5saW51eC51dGY4Lm91dAppbmRleCA2ZDM0NjY3 Y2ViLi4wMTY2NGY3YzFiIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2NvbGxhdGUubGludXgudXRmOC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9jb2xsYXRlLmxpbnV4LnV0Zjgub3V0CkBAIC0xMDI3LDcgKzEwMjcsNyBAQCBDUkVBVEUg U0NIRU1BIHRlc3Rfc2NoZW1hOwogZG8gJCQKIEJFR0lOCiAgIEVYRUNVVEUgJ0NSRUFURSBD T0xMQVRJT04gdGVzdDAgKGxvY2FsZSA9ICcgfHwKLSAgICAgICAgICBxdW90ZV9saXRlcmFs KGN1cnJlbnRfc2V0dGluZygnbGNfY29sbGF0ZScpKSB8fCAnKTsnOworICAgICAgICAgIHF1 b3RlX2xpdGVyYWwoKFNFTEVDVCBkYXRjb2xsYXRlIEZST00gcGdfZGF0YWJhc2UgV0hFUkUg ZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8ICcpOyc7CiBFTkQKICQkOwogQ1JF QVRFIENPTExBVElPTiB0ZXN0MCBGUk9NICJDIjsgLS0gZmFpbCwgZHVwbGljYXRlIG5hbWUK QEAgLTEwMzksOSArMTAzOSw5IEBAIE5PVElDRTogIGNvbGxhdGlvbiAidGVzdDAiIGZvciBl bmNvZGluZyAiVVRGOCIgYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nCiBkbyAkJAogQkVHSU4K ICAgRVhFQ1VURSAnQ1JFQVRFIENPTExBVElPTiB0ZXN0MSAobGNfY29sbGF0ZSA9ICcgfHwK LSAgICAgICAgICBxdW90ZV9saXRlcmFsKGN1cnJlbnRfc2V0dGluZygnbGNfY29sbGF0ZScp KSB8fAorICAgICAgICAgIHF1b3RlX2xpdGVyYWwoKFNFTEVDVCBkYXRjb2xsYXRlIEZST00g cGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8CiAg ICAgICAgICAgJywgbGNfY3R5cGUgPSAnIHx8Ci0gICAgICAgICAgcXVvdGVfbGl0ZXJhbChj dXJyZW50X3NldHRpbmcoJ2xjX2N0eXBlJykpIHx8ICcpOyc7CisgICAgICAgICAgcXVvdGVf bGl0ZXJhbCgoU0VMRUNUIGRhdGN0eXBlIEZST00gcGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFt ZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8ICcpOyc7CiBFTkQKICQkOwogQ1JFQVRFIENP TExBVElPTiB0ZXN0MyAobGNfY29sbGF0ZSA9ICdlbl9VUy51dGY4Jyk7IC0tIGZhaWwsIG5l ZWQgbGNfY3R5cGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29s bGF0ZS53aW5kb3dzLndpbjEyNTIub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9j b2xsYXRlLndpbmRvd3Mud2luMTI1Mi5vdXQKaW5kZXggNjFiNDIxMTYxZi4uYjdiOTM5NTlk ZSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb2xsYXRlLndpbmRv d3Mud2luMTI1Mi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb2xsYXRl LndpbmRvd3Mud2luMTI1Mi5vdXQKQEAgLTg2Myw3ICs4NjMsNyBAQCBDUkVBVEUgU0NIRU1B IHRlc3Rfc2NoZW1hOwogZG8gJCQKIEJFR0lOCiAgIEVYRUNVVEUgJ0NSRUFURSBDT0xMQVRJ T04gdGVzdDAgKGxvY2FsZSA9ICcgfHwKLSAgICAgICAgICBxdW90ZV9saXRlcmFsKGN1cnJl bnRfc2V0dGluZygnbGNfY29sbGF0ZScpKSB8fCAnKTsnOworICAgICAgICAgIHF1b3RlX2xp dGVyYWwoKFNFTEVDVCBkYXRjb2xsYXRlIEZST00gcGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFt ZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8ICcpOyc7CiBFTkQKICQkOwogQ1JFQVRFIENP TExBVElPTiB0ZXN0MCBGUk9NICJDIjsgLS0gZmFpbCwgZHVwbGljYXRlIG5hbWUKQEAgLTg3 NSw5ICs4NzUsOSBAQCBOT1RJQ0U6ICBjb2xsYXRpb24gInRlc3QwIiBmb3IgZW5jb2Rpbmcg IldJTjEyNTIiIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZwogZG8gJCQKIEJFR0lOCiAgIEVY RUNVVEUgJ0NSRUFURSBDT0xMQVRJT04gdGVzdDEgKGxjX2NvbGxhdGUgPSAnIHx8Ci0gICAg ICAgICAgcXVvdGVfbGl0ZXJhbChjdXJyZW50X3NldHRpbmcoJ2xjX2NvbGxhdGUnKSkgfHwK KyAgICAgICAgICBxdW90ZV9saXRlcmFsKChTRUxFQ1QgZGF0Y29sbGF0ZSBGUk9NIHBnX2Rh dGFiYXNlIFdIRVJFIGRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkpKSB8fAogICAgICAg ICAgICcsIGxjX2N0eXBlID0gJyB8fAotICAgICAgICAgIHF1b3RlX2xpdGVyYWwoY3VycmVu dF9zZXR0aW5nKCdsY19jdHlwZScpKSB8fCAnKTsnOworICAgICAgICAgIHF1b3RlX2xpdGVy YWwoKFNFTEVDVCBkYXRjdHlwZSBGUk9NIHBnX2RhdGFiYXNlIFdIRVJFIGRhdG5hbWUgPSBj dXJyZW50X2RhdGFiYXNlKCkpKSB8fCAnKTsnOwogRU5ECiAkJDsKIENSRUFURSBDT0xMQVRJ T04gdGVzdDMgKGxjX2NvbGxhdGUgPSAnZW5fVVMudXRmOCcpOyAtLSBmYWlsLCBuZWVkIGxj X2N0eXBlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jb2xsYXRlLmljdS51 dGY4LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvbGxhdGUuaWN1LnV0Zjguc3FsCmlu ZGV4IDg1ZTI2OTUxYjYuLmM5YzJhYjhmYTYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2NvbGxhdGUuaWN1LnV0Zjguc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L2NvbGxhdGUuaWN1LnV0Zjguc3FsCkBAIC0zNjIsMTQgKzM2MiwxNCBAQCBDUkVBVEUgU0NI RU1BIHRlc3Rfc2NoZW1hOwogZG8gJCQKIEJFR0lOCiAgIEVYRUNVVEUgJ0NSRUFURSBDT0xM QVRJT04gdGVzdDAgKHByb3ZpZGVyID0gaWN1LCBsb2NhbGUgPSAnIHx8Ci0gICAgICAgICAg cXVvdGVfbGl0ZXJhbChjdXJyZW50X3NldHRpbmcoJ2xjX2NvbGxhdGUnKSkgfHwgJyk7JzsK KyAgICAgICAgICBxdW90ZV9saXRlcmFsKChTRUxFQ1QgZGF0aWN1bG9jYWxlIEZST00gcGdf ZGF0YWJhc2UgV0hFUkUgZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8ICcpOyc7 CiBFTkQKICQkOwogQ1JFQVRFIENPTExBVElPTiB0ZXN0MCBGUk9NICJDIjsgLS0gZmFpbCwg ZHVwbGljYXRlIG5hbWUKIGRvICQkCiBCRUdJTgogICBFWEVDVVRFICdDUkVBVEUgQ09MTEFU SU9OIHRlc3QxIChwcm92aWRlciA9IGljdSwgbG9jYWxlID0gJyB8fAotICAgICAgICAgIHF1 b3RlX2xpdGVyYWwoY3VycmVudF9zZXR0aW5nKCdsY19jb2xsYXRlJykpIHx8ICcpOyc7Cisg ICAgICAgICAgcXVvdGVfbGl0ZXJhbCgoU0VMRUNUIGRhdGljdWxvY2FsZSBGUk9NIHBnX2Rh dGFiYXNlIFdIRVJFIGRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkpKSB8fCAnKTsnOwog RU5ECiAkJDsKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29sbGF0ZS5s aW51eC51dGY4LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvbGxhdGUubGludXgudXRm OC5zcWwKaW5kZXggMmI3ODc1MDdjNS4uMTMyZDEzYWYwYSAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9zcWwvY29sbGF0ZS5saW51eC51dGY4LnNxbAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9jb2xsYXRlLmxpbnV4LnV0Zjguc3FsCkBAIC0zNTksNyArMzU5LDcgQEAg Q1JFQVRFIFNDSEVNQSB0ZXN0X3NjaGVtYTsKIGRvICQkCiBCRUdJTgogICBFWEVDVVRFICdD UkVBVEUgQ09MTEFUSU9OIHRlc3QwIChsb2NhbGUgPSAnIHx8Ci0gICAgICAgICAgcXVvdGVf bGl0ZXJhbChjdXJyZW50X3NldHRpbmcoJ2xjX2NvbGxhdGUnKSkgfHwgJyk7JzsKKyAgICAg ICAgICBxdW90ZV9saXRlcmFsKChTRUxFQ1QgZGF0Y29sbGF0ZSBGUk9NIHBnX2RhdGFiYXNl IFdIRVJFIGRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkpKSB8fCAnKTsnOwogRU5ECiAk JDsKIENSRUFURSBDT0xMQVRJT04gdGVzdDAgRlJPTSAiQyI7IC0tIGZhaWwsIGR1cGxpY2F0 ZSBuYW1lCkBAIC0zNjgsOSArMzY4LDkgQEAgQ1JFQVRFIENPTExBVElPTiBJRiBOT1QgRVhJ U1RTIHRlc3QwIChsb2NhbGUgPSAnZm9vJyk7IC0tIG9rLCBza2lwcGVkCiBkbyAkJAogQkVH SU4KICAgRVhFQ1VURSAnQ1JFQVRFIENPTExBVElPTiB0ZXN0MSAobGNfY29sbGF0ZSA9ICcg fHwKLSAgICAgICAgICBxdW90ZV9saXRlcmFsKGN1cnJlbnRfc2V0dGluZygnbGNfY29sbGF0 ZScpKSB8fAorICAgICAgICAgIHF1b3RlX2xpdGVyYWwoKFNFTEVDVCBkYXRjb2xsYXRlIEZS T00gcGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8 CiAgICAgICAgICAgJywgbGNfY3R5cGUgPSAnIHx8Ci0gICAgICAgICAgcXVvdGVfbGl0ZXJh bChjdXJyZW50X3NldHRpbmcoJ2xjX2N0eXBlJykpIHx8ICcpOyc7CisgICAgICAgICAgcXVv dGVfbGl0ZXJhbCgoU0VMRUNUIGRhdGN0eXBlIEZST00gcGdfZGF0YWJhc2UgV0hFUkUgZGF0 bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8ICcpOyc7CiBFTkQKICQkOwogQ1JFQVRF IENPTExBVElPTiB0ZXN0MyAobGNfY29sbGF0ZSA9ICdlbl9VUy51dGY4Jyk7IC0tIGZhaWws IG5lZWQgbGNfY3R5cGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvbGxh dGUud2luZG93cy53aW4xMjUyLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvbGxhdGUu d2luZG93cy53aW4xMjUyLnNxbAppbmRleCBiNWM0NWUxODEwLi4zNTNkNzY5YTViIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jb2xsYXRlLndpbmRvd3Mud2luMTI1Mi5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29sbGF0ZS53aW5kb3dzLndpbjEyNTIu c3FsCkBAIC0zMTAsNyArMzEwLDcgQEAgQ1JFQVRFIFNDSEVNQSB0ZXN0X3NjaGVtYTsKIGRv ICQkCiBCRUdJTgogICBFWEVDVVRFICdDUkVBVEUgQ09MTEFUSU9OIHRlc3QwIChsb2NhbGUg PSAnIHx8Ci0gICAgICAgICAgcXVvdGVfbGl0ZXJhbChjdXJyZW50X3NldHRpbmcoJ2xjX2Nv bGxhdGUnKSkgfHwgJyk7JzsKKyAgICAgICAgICBxdW90ZV9saXRlcmFsKChTRUxFQ1QgZGF0 Y29sbGF0ZSBGUk9NIHBnX2RhdGFiYXNlIFdIRVJFIGRhdG5hbWUgPSBjdXJyZW50X2RhdGFi YXNlKCkpKSB8fCAnKTsnOwogRU5ECiAkJDsKIENSRUFURSBDT0xMQVRJT04gdGVzdDAgRlJP TSAiQyI7IC0tIGZhaWwsIGR1cGxpY2F0ZSBuYW1lCkBAIC0zMTksOSArMzE5LDkgQEAgQ1JF QVRFIENPTExBVElPTiBJRiBOT1QgRVhJU1RTIHRlc3QwIChsb2NhbGUgPSAnZm9vJyk7IC0t IG9rLCBza2lwcGVkCiBkbyAkJAogQkVHSU4KICAgRVhFQ1VURSAnQ1JFQVRFIENPTExBVElP TiB0ZXN0MSAobGNfY29sbGF0ZSA9ICcgfHwKLSAgICAgICAgICBxdW90ZV9saXRlcmFsKGN1 cnJlbnRfc2V0dGluZygnbGNfY29sbGF0ZScpKSB8fAorICAgICAgICAgIHF1b3RlX2xpdGVy YWwoKFNFTEVDVCBkYXRjb2xsYXRlIEZST00gcGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFtZSA9 IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8CiAgICAgICAgICAgJywgbGNfY3R5cGUgPSAnIHx8 Ci0gICAgICAgICAgcXVvdGVfbGl0ZXJhbChjdXJyZW50X3NldHRpbmcoJ2xjX2N0eXBlJykp IHx8ICcpOyc7CisgICAgICAgICAgcXVvdGVfbGl0ZXJhbCgoU0VMRUNUIGRhdGN0eXBlIEZS T00gcGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8 ICcpOyc7CiBFTkQKICQkOwogQ1JFQVRFIENPTExBVElPTiB0ZXN0MyAobGNfY29sbGF0ZSA9 ICdlbl9VUy51dGY4Jyk7IC0tIGZhaWwsIG5lZWQgbGNfY3R5cGUKLS0gCjIuNDAuMAoK --------------OJUu8nVwy3lhpjTEvfkjDkNP--