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 1vfDB0-005L7k-1S for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jan 2026 08:21:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vfDAz-00DjmR-0B for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jan 2026 08:21:25 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vfDAy-00DjmI-1a for pgsql-hackers@lists.postgresql.org; Mon, 12 Jan 2026 08:21:25 +0000 Received: from mail-ua1-x934.google.com ([2607:f8b0:4864:20::934]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vfDAx-005gtP-01 for pgsql-hackers@postgresql.org; Mon, 12 Jan 2026 08:21:24 +0000 Received: by mail-ua1-x934.google.com with SMTP id a1e0cc1a2514c-94120e0acbeso3808611241.2 for ; Mon, 12 Jan 2026 00:21:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768206082; x=1768810882; darn=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=o13YAhgp6+hIQ1PBBSXKQhjKSkXawZa+h8LR99KwOE8=; b=jylesT8+OturLQ0wxiLWJW8RmiKIiDdcTDfdxIIxMKVwZxvzive9fm8DjS0Y9Klfrs mLdPg+lRrE53OaJuby67A2ov0kaNMIqb8GzTlrUF5fi36SKUa/63fKv28SwEXohzj+56 gzrSsR8V8O9ifIqvqKHX2gVo2WXX5VWlhwVXe6gCaYBiIClzgL11IM0g2Bvf9Ou/KRYx TZIKvmynv6tnZ6SxpLlJl4Cyo3tNQvlyLzMgEg5R/sSvTlPUloQuPzGBxWc7iaqxaMYI U6Xudhlyiwk7hbxQlyMTuFslFZn//tTusUhcal7i9/IrjfG/IsuBuMStEXLIfdoR+HgO dnnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768206082; x=1768810882; 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=o13YAhgp6+hIQ1PBBSXKQhjKSkXawZa+h8LR99KwOE8=; b=J+n8Fc9FaWMAOuKB61YpeiyD2rCtdJAZiFUfUFDRDqJPT8CcGb+8w55Tbrm/pf1DXe wBJrOamEq/NtBaCTY8VtnSQ94ZZbLLtNGRdPYJ25qUJhxU32wmJGr2Sg3Kx+N2ZsMr8W e4MPpC4TsOWmFeiCxRMg8iLgdRAAQPFQf98p30uTgH6bwg+byorCpQrIemQfhmBoGOi8 /O3iq7T5IBJdtS1I9KtVQrdgKWjGDpZZSFK0TS48qC0SWatkhO3YttsX2N8T0pugeIHP 0+8n3OCloXQ2rqKkfL2FLsYgMNATQVZFxAem6C8TQu1rmhmLBPHs1Q28CIEfNJlvBaru ZICg== X-Forwarded-Encrypted: i=1; AJvYcCVjBdryoWP2Tb6YFwLfZO23GDwfsCwISPEjzPGwFwpb4RnsC7KfKV9JKxHqa10DRcO8ArQNPSPP5XMl5525@postgresql.org X-Gm-Message-State: AOJu0YwQIv5OVwJXhz/8z5/0jLpZd1QmveAwLwsE47sSHfakUbECyZMm Q5UNvSfJA6mRkR4Zr3jFFiE9dAZWZnSoQjoUd1gLDTB9gATw3t4uzd+71H6SBj9YRQiTyhzYM5z /a6AXYylJani1+UmBbbCY44BZjJZn710= X-Gm-Gg: AY/fxX67FtLtBQZ0yp7HjeZ+MRhWrvH1+TJtNpJcwI8WpAdH16VEUtxrv7KA+MIwIL/ ydOxy/N3/yDdZm9BfBDvw+zYd874YCumZK2Uad+OQL/lEPet7BvdpOZd4gc2bih+fNeeIvN8X+N aau17BMNSK47r5DlOKqTi7ommxnl3NqnAz67UVp7Ft2Ls8Ax0wN2IqgZtltUXx/U+RgGhAvefnt r32LxmQYZLNwOgHXfdezUljkHNwroDSXEZ4XJ1EjYAtIaMHNIEEf49xiaDx5JMnJ1Rv41yA87zc ZzKjBj0iaYVMuBAZpVCgXeCYHCYYsuqm7Ij4PbsPBf44QOQTJ++ghZhIpRgystUgaccGTkEjO9M EO+1jcEpriV2nnGR84hDNPSu25qOiAAoLh+sKAzGaFUvwVZWv4rx3H1UREXC4BIPqNofPejYoGI OgKHyDH6C4 X-Google-Smtp-Source: AGHT+IG6eGJKXH2ttJCLsBmnM3uxEOOJ1S9XJvQvJIthXmuo+DuxXcFfVoioPWoSyB24bN8IjgnF82ptPSveINjqamo= X-Received: by 2002:a05:6102:6f0a:b0:5ed:8e3:b66a with SMTP id ada2fe7eead31-5ed08e3bd00mr6864651137.28.1768206081487; Mon, 12 Jan 2026 00:21:21 -0800 (PST) MIME-Version: 1.0 References: <2546766.1768063587@sss.pgh.pa.us> <3354376.1768148370@sss.pgh.pa.us> In-Reply-To: <3354376.1768148370@sss.pgh.pa.us> From: jian he Date: Mon, 12 Jan 2026 16:20:44 +0800 X-Gm-Features: AZwV_QgwvHmqcQ-YcU8tWqUi2xTjRClCkNhv6qfKt-HwhbgJ-r1cXSqWJvyCzEg Message-ID: Subject: Re: JumbleQuery ma treat different GROUP BY expr as the same To: Tom Lane Cc: Michael Paquier , PostgreSQL-development , Richard Guo Content-Type: multipart/mixed; boundary="00000000000060898006482c8f67" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000060898006482c8f67 Content-Type: text/plain; charset="UTF-8" hi. while working on it, I guess I found another bug, below JumbleQuery will return the same result: SELECT FROM (VALUES (1::INT, 2::INT)) AS t(a, b) ORDER BY a, b; SELECT a FROM (VALUES (1::INT, 2::INT)) AS t(a, b) ORDER BY a, b; SELECT a, b FROM (VALUES (1::INT, 2::INT)) AS t(a, b) ORDER BY a, b; so I think TargetEntry.resjunk should not be marked as query_jumble_ignore. addRangeTableEntryForGroup will make RangeTblEntry(RTE_GROUP) have a newly copied original groupexprs. Query->targetList also has the original groupexprs. but after parseCheckAggregates->substitute_grouped_columns. Query->targetList Var node will point to the offset of the RTE_GROUP, not the RTE_RELATION. see src/backend/parser/parse_agg.c line 1543. After parseCheckAggregates, JumbleQuery(Query->targetList) will produce the same result as long as the grouping columns have the same list of data types. JumbleQuery(Query->groupClause) will also produce the same result as long as the grouping columns have the same list of data types. Since only the RangeTblEntry(RTE_GROUP) have the original grouping expressions, we can not mark the RangeTblEntry->groupexprs as query_jumble_ignore. looking at, transformUpdateTargetList->transformTargetList so i think it's OK to remove query_jumble_ignore from TargetEntry.resjunk for INSERT/UPDATE/DELETE. -- jian https://www.enterprisedb.com/ --00000000000060898006482c8f67 Content-Type: text/x-patch; charset="US-ASCII"; name="v1-0001-Remove-query_jumble_ignore-from-the-fields-in-RangeTblEntry-and-T.patch" Content-Disposition: attachment; filename="v1-0001-Remove-query_jumble_ignore-from-the-fields-in-RangeTblEntry-and-T.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mkaw4gu60 RnJvbSAxNTYyM2YxYmVhNGI3ZWQ2YmY3NzgxMTNhZDYyNzc2NWVmMmY4NmE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMTIgSmFuIDIwMjYgMTY6MTc6MzcgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx IDEvMV0gUmVtb3ZlIHF1ZXJ5X2p1bWJsZV9pZ25vcmUgZnJvbSB0aGUgZmllbGRzIGluCiBSYW5n ZVRibEVudHJ5IGFuZCBUYXJnZXRFbnRyeQoKZGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMv bS9DQUNKdWZ4RXkyVyt0Q3FDN1h1Sjk0cjNpdldzTT1vbktKcDk0a1JGeDNob0FSakJlRlFAbWFp bC5nbWFpbC5jb20KLS0tCiAuLi4vcGdfc3RhdF9zdGF0ZW1lbnRzL2V4cGVjdGVkL3NlbGVjdC5v dXQgICAgfCAxMTIgKysrKysrKysrKysrKysrKystCiBjb250cmliL3BnX3N0YXRfc3RhdGVtZW50 cy9zcWwvc2VsZWN0LnNxbCAgICAgfCAgMTggKysrCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5v ZGVzLmggICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rl cy5oICAgICAgICAgICAgICAgICB8ICAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCAxMzAgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmliL3BnX3N0YXRfc3Rh dGVtZW50cy9leHBlY3RlZC9zZWxlY3Qub3V0IGIvY29udHJpYi9wZ19zdGF0X3N0YXRlbWVudHMv ZXhwZWN0ZWQvc2VsZWN0Lm91dAppbmRleCA3NWM4OTZmMzg4NS4uZWFmYzU0OTY0ZGMgMTAwNjQ0 Ci0tLSBhL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1lbnRzL2V4cGVjdGVkL3NlbGVjdC5vdXQKKysr IGIvY29udHJpYi9wZ19zdGF0X3N0YXRlbWVudHMvZXhwZWN0ZWQvc2VsZWN0Lm91dApAQCAtOTks NiArOTksMjIgQEAgU0VMRUNUIDIgQVMgImludCIgT1JERVIgQlkgMTsKICAgIDIKICgxIHJvdykK IAorU0VMRUNUIEZST00gKFZBTFVFUyAoMTo6SU5ULCAyOjpJTlQpKSBBUyB0KGEsIGIpIE9SREVS IEJZIGEsIGI7CistLQorKDEgcm93KQorCitTRUxFQ1QgYSBGUk9NIChWQUxVRVMgKDE6OklOVCwg Mjo6SU5UKSkgQVMgdChhLCBiKSBPUkRFUiBCWSBhLCBiOworIGEgCistLS0KKyAxCisoMSByb3cp CisKK1NFTEVDVCBhLCBiIEZST00gKFZBTFVFUyAoMTo6SU5ULCAyOjpJTlQpKSBBUyB0KGEsIGIp IE9SREVSIEJZIGEsIGI7CisgYSB8IGIgCistLS0rLS0tCisgMSB8IDIKKygxIHJvdykKKwogLyog dGhpcyBjb21tZW50IHNob3VsZCBub3QgYXBwZWFyIGluIHRoZSBvdXRwdXQgKi8KIFNFTEVDVCAn aGVsbG8nCiAgIC0tIGJ1dCB0aGlzIG9uZSB3aWxsIGFwcGVhcgpAQCAtMjIzLDYgKzIzOSw5IEBA IFNFTEVDVCBjYWxscywgcm93cywgcXVlcnkgRlJPTSBwZ19zdGF0X3N0YXRlbWVudHMgT1JERVIg QlkgcXVlcnkgQ09MTEFURSAiQyI7CiAgICAgIDEgfCAgICAyIHwgU0VMRUNUICQxIEFTIGkgVU5J T04gU0VMRUNUICQyIE9SREVSIEJZIGkKICAgICAgMSB8ICAgIDEgfCBTRUxFQ1QgJDEgfHwgJDIK ICAgICAgMiB8ICAgIDIgfCBTRUxFQ1QgRElTVElOQ1QgJDEgQVMgImludCIKKyAgICAgMSB8ICAg IDEgfCBTRUxFQ1QgRlJPTSAoVkFMVUVTICgkMTo6SU5ULCAkMjo6SU5UKSkgQVMgdChhLCBiKSBP UkRFUiBCWSBhLCBiCisgICAgIDEgfCAgICAxIHwgU0VMRUNUIGEgRlJPTSAoVkFMVUVTICgkMTo6 SU5ULCAkMjo6SU5UKSkgQVMgdChhLCBiKSBPUkRFUiBCWSBhLCBiCisgICAgIDEgfCAgICAxIHwg U0VMRUNUIGEsIGIgRlJPTSAoVkFMVUVTICgkMTo6SU5ULCAkMjo6SU5UKSkgQVMgdChhLCBiKSBP UkRFUiBCWSBhLCBiCiAgICAgIDAgfCAgICAwIHwgU0VMRUNUIGNhbGxzLCByb3dzLCBxdWVyeSBG Uk9NIHBnX3N0YXRfc3RhdGVtZW50cyBPUkRFUiBCWSBxdWVyeSBDT0xMQVRFICJDIgogICAgICAx IHwgICAgMSB8IFNFTEVDVCBwZ19zdGF0X3N0YXRlbWVudHNfcmVzZXQoKSBJUyBOT1QgTlVMTCBB UyB0CiAgICAgIDEgfCAgICAyIHwgV0lUSCB0KGYpIEFTICggICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKQEAgLTIzMCw3ICsyNDks NyBAQCBTRUxFQ1QgY2FsbHMsIHJvd3MsIHF1ZXJ5IEZST00gcGdfc3RhdF9zdGF0ZW1lbnRzIE9S REVSIEJZIHF1ZXJ5IENPTExBVEUgIkMiOwogICAgICAgIHwgICAgICB8ICkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICArCiAgICAgICAgfCAgICAgIHwgICBTRUxFQ1QgZiBGUk9NIHQgT1JERVIgQlkgZgogICAg ICAxIHwgICAgMSB8IHNlbGVjdCAkMTo6anNvbmIgPyAkMgotKDE3IHJvd3MpCisoMjAgcm93cykK IAogU0VMRUNUIHBnX3N0YXRfc3RhdGVtZW50c19yZXNldCgpIElTIE5PVCBOVUxMIEFTIHQ7CiAg dCAKQEAgLTQ1OSw2ICs0NzgsOTUgQEAgU0VMRUNUIENPVU5UKCopIEZST00gcGdfc3RhdF9zdGF0 ZW1lbnRzIFdIRVJFIHF1ZXJ5IExJS0UgJyVGRVRDSCBGSVJTVCUnOwogICAgICAyCiAoMSByb3cp CiAKKy0tIEdST1VQIEJZLCBIQVZJTkcsIEdST1VQSU5HCitTRUxFQ1QgQ09VTlQoKikgRlJPTSAo VkFMVUVTICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgYTsKKyBjb3VudCAK Ky0tLS0tLS0KKyAgICAgMQorKDEgcm93KQorCitTRUxFQ1QgQ09VTlQoKikgRlJPTSAoVkFMVUVT ICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgYjsKKyBjb3VudCAKKy0tLS0t LS0KKyAgICAgMQorKDEgcm93KQorCitTRUxFQ1QgQ09VTlQoKikgRlJPTSAoVkFMVUVTICgxOjpJ TlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgR1JPVVBJTkcgU0VUUyhhLCAoKSk7Cisg Y291bnQgCistLS0tLS0tCisgICAgIDEKKyAgICAgMQorKDIgcm93cykKKworU0VMRUNUIENPVU5U KCopIEZST00gKFZBTFVFUyAoMTo6SU5ULCAyOjpJTlQpKSBBUyB0KGEsIGIpIEdST1VQIEJZIEdS T1VQSU5HIFNFVFMoYiwgKCkpOworIGNvdW50IAorLS0tLS0tLQorICAgICAxCisgICAgIDEKKygy IHJvd3MpCisKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIChWQUxVRVMgKDE6OklOVCwgMjo6SU5UKSkg QVMgdChhLCBiKSBHUk9VUCBCWSBhIEhBVklORyBhID0gMTsKKyBjb3VudCAKKy0tLS0tLS0KKyAg ICAgMQorKDEgcm93KQorCitTRUxFQ1QgQ09VTlQoKikgRlJPTSAoVkFMVUVTICgxOjpJTlQsIDI6 OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgYiBIQVZJTkcgYiA9IDE7CisgY291bnQgCistLS0t LS0tCisoMCByb3dzKQorCitTRUxFQ1QgQ09VTlQoKiksIGEgRlJPTSAoVkFMVUVTICgxOjpJTlQs IDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgYSBIQVZJTkcgYSA9IDE7CisgY291bnQgfCBh IAorLS0tLS0tLSstLS0KKyAgICAgMSB8IDEKKygxIHJvdykKKworU0VMRUNUIENPVU5UKCopLCBi IEZST00gKFZBTFVFUyAoMTo6SU5ULCAyOjpJTlQpKSBBUyB0KGEsIGIpIEdST1VQIEJZIGIgSEFW SU5HIGIgPSAxOworIGNvdW50IHwgYiAKKy0tLS0tLS0rLS0tCisoMCByb3dzKQorCitTRUxFQ1Qg Q09VTlQoKiksIGEgRlJPTSAoVkFMVUVTICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JP VVAgQlkgYSBIQVZJTkcgYSA9IDEgT1JERVIgQlkgYTsKKyBjb3VudCB8IGEgCistLS0tLS0tKy0t LQorICAgICAxIHwgMQorKDEgcm93KQorCitTRUxFQ1QgQ09VTlQoKiksIGIgRlJPTSAoVkFMVUVT ICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgYiBIQVZJTkcgYiA9IDEgT1JE RVIgQlkgYjsKKyBjb3VudCB8IGIgCistLS0tLS0tKy0tLQorKDAgcm93cykKKworU0VMRUNUIEdS T1VQSU5HKGEpIEZST00gKFZBTFVFUyAoMTo6SU5ULCAyOjpJTlQpKSBBUyB0KGEsIGIpIEdST1VQ IEJZIGE7CisgZ3JvdXBpbmcgCistLS0tLS0tLS0tCisgICAgICAgIDAKKygxIHJvdykKKworU0VM RUNUIEdST1VQSU5HKGIpIEZST00gKFZBTFVFUyAoMTo6SU5ULCAyOjpJTlQpKSBBUyB0KGEsIGIp IEdST1VQIEJZIGI7CisgZ3JvdXBpbmcgCistLS0tLS0tLS0tCisgICAgICAgIDAKKygxIHJvdykK KworU0VMRUNUIGNhbGxzLCBxdWVyeSBGUk9NIHBnX3N0YXRfc3RhdGVtZW50cyBXSEVSRSBxdWVy eSBMSUtFICclR1JPVVAgQlklJyBPUkRFUiBCWSBxdWVyeSBDT0xMQVRFICJDIjsKKyBjYWxscyB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgIDEgfCBTRUxFQ1Qg Q09VTlQoKikgRlJPTSAoVkFMVUVTICgkMTo6SU5ULCAkMjo6SU5UKSkgQVMgdChhLCBiKSBHUk9V UCBCWSBHUk9VUElORyBTRVRTKGEsICgpKQorICAgICAxIHwgU0VMRUNUIENPVU5UKCopIEZST00g KFZBTFVFUyAoJDE6OklOVCwgJDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgR1JPVVBJTkcg U0VUUyhiLCAoKSkKKyAgICAgMSB8IFNFTEVDVCBDT1VOVCgqKSBGUk9NIChWQUxVRVMgKCQxOjpJ TlQsICQyOjpJTlQpKSBBUyB0KGEsIGIpIEdST1VQIEJZIGEKKyAgICAgMSB8IFNFTEVDVCBDT1VO VCgqKSBGUk9NIChWQUxVRVMgKCQxOjpJTlQsICQyOjpJTlQpKSBBUyB0KGEsIGIpIEdST1VQIEJZ IGEgSEFWSU5HIGEgPSAkMworICAgICAxIHwgU0VMRUNUIENPVU5UKCopIEZST00gKFZBTFVFUyAo JDE6OklOVCwgJDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgYgorICAgICAxIHwgU0VMRUNU IENPVU5UKCopIEZST00gKFZBTFVFUyAoJDE6OklOVCwgJDI6OklOVCkpIEFTIHQoYSwgYikgR1JP VVAgQlkgYiBIQVZJTkcgYiA9ICQzCisgICAgIDEgfCBTRUxFQ1QgQ09VTlQoKiksIGEgRlJPTSAo VkFMVUVTICgkMTo6SU5ULCAkMjo6SU5UKSkgQVMgdChhLCBiKSBHUk9VUCBCWSBhIEhBVklORyBh ID0gJDMKKyAgICAgMSB8IFNFTEVDVCBDT1VOVCgqKSwgYSBGUk9NIChWQUxVRVMgKCQxOjpJTlQs ICQyOjpJTlQpKSBBUyB0KGEsIGIpIEdST1VQIEJZIGEgSEFWSU5HIGEgPSAkMyBPUkRFUiBCWSBh CisgICAgIDEgfCBTRUxFQ1QgQ09VTlQoKiksIGIgRlJPTSAoVkFMVUVTICgkMTo6SU5ULCAkMjo6 SU5UKSkgQVMgdChhLCBiKSBHUk9VUCBCWSBiIEhBVklORyBiID0gJDMKKyAgICAgMSB8IFNFTEVD VCBDT1VOVCgqKSwgYiBGUk9NIChWQUxVRVMgKCQxOjpJTlQsICQyOjpJTlQpKSBBUyB0KGEsIGIp IEdST1VQIEJZIGIgSEFWSU5HIGIgPSAkMyBPUkRFUiBCWSBiCisgICAgIDEgfCBTRUxFQ1QgR1JP VVBJTkcoYSkgRlJPTSAoVkFMVUVTICgkMTo6SU5ULCAkMjo6SU5UKSkgQVMgdChhLCBiKSBHUk9V UCBCWSBhCisgICAgIDEgfCBTRUxFQ1QgR1JPVVBJTkcoYikgRlJPTSAoVkFMVUVTICgkMTo6SU5U LCAkMjo6SU5UKSkgQVMgdChhLCBiKSBHUk9VUCBCWSBiCisoMTIgcm93cykKKwogLS0gR1JPVVAg QlkgW0RJU1RJTkNUXQogU0VMRUNUIGEsIGIsIGMKIEZST00gKFZBTFVFUyAoMSwgMiwgMyksICg0 LCBOVUxMLCA2KSwgKDcsIDgsIDkpKSBBUyB0IChhLCBiLCBjKQpAQCAtNTQ4LDcgKzY1Niw3IEBA IFNFTEVDVCAoCiBTRUxFQ1QgQ09VTlQoKikgRlJPTSBwZ19zdGF0X3N0YXRlbWVudHMgV0hFUkUg cXVlcnkgTElLRSAnJVNFTEVDVCBHUk9VUElORyUnOwogIGNvdW50IAogLS0tLS0tLQotICAgICAy CisgICAgIDQKICgxIHJvdykKIAogU0VMRUNUIHBnX3N0YXRfc3RhdGVtZW50c19yZXNldCgpIElT IE5PVCBOVUxMIEFTIHQ7CmRpZmYgLS1naXQgYS9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9z cWwvc2VsZWN0LnNxbCBiL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1lbnRzL3NxbC9zZWxlY3Quc3Fs CmluZGV4IDExNjYyY2RlMDhjLi4zM2UwZTYzY2QxZSAxMDA2NDQKLS0tIGEvY29udHJpYi9wZ19z dGF0X3N0YXRlbWVudHMvc3FsL3NlbGVjdC5zcWwKKysrIGIvY29udHJpYi9wZ19zdGF0X3N0YXRl bWVudHMvc3FsL3NlbGVjdC5zcWwKQEAgLTMxLDYgKzMxLDkgQEAgU0VMRUNUIERJU1RJTkNUIDEg QVMgImludCI7CiBTRUxFQ1QgRElTVElOQ1QgMiBBUyAiaW50IjsKIFNFTEVDVCAxIEFTICJpbnQi IE9SREVSIEJZIDE7CiBTRUxFQ1QgMiBBUyAiaW50IiBPUkRFUiBCWSAxOworU0VMRUNUIEZST00g KFZBTFVFUyAoMTo6SU5ULCAyOjpJTlQpKSBBUyB0KGEsIGIpIE9SREVSIEJZIGEsIGI7CitTRUxF Q1QgYSBGUk9NIChWQUxVRVMgKDE6OklOVCwgMjo6SU5UKSkgQVMgdChhLCBiKSBPUkRFUiBCWSBh LCBiOworU0VMRUNUIGEsIGIgRlJPTSAoVkFMVUVTICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwg YikgT1JERVIgQlkgYSwgYjsKIAogLyogdGhpcyBjb21tZW50IHNob3VsZCBub3QgYXBwZWFyIGlu IHRoZSBvdXRwdXQgKi8KIFNFTEVDVCAnaGVsbG8nCkBAIC0xNTgsNiArMTYxLDIxIEBAIEZFVENI IEZJUlNUIDIgUk9XIE9OTFk7CiAKIFNFTEVDVCBDT1VOVCgqKSBGUk9NIHBnX3N0YXRfc3RhdGVt ZW50cyBXSEVSRSBxdWVyeSBMSUtFICclRkVUQ0ggRklSU1QlJzsKIAorLS0gR1JPVVAgQlksIEhB VklORywgR1JPVVBJTkcKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIChWQUxVRVMgKDE6OklOVCwgMjo6 SU5UKSkgQVMgdChhLCBiKSBHUk9VUCBCWSBhOworU0VMRUNUIENPVU5UKCopIEZST00gKFZBTFVF UyAoMTo6SU5ULCAyOjpJTlQpKSBBUyB0KGEsIGIpIEdST1VQIEJZIGI7CitTRUxFQ1QgQ09VTlQo KikgRlJPTSAoVkFMVUVTICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgR1JP VVBJTkcgU0VUUyhhLCAoKSk7CitTRUxFQ1QgQ09VTlQoKikgRlJPTSAoVkFMVUVTICgxOjpJTlQs IDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgR1JPVVBJTkcgU0VUUyhiLCAoKSk7CitTRUxF Q1QgQ09VTlQoKikgRlJPTSAoVkFMVUVTICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JP VVAgQlkgYSBIQVZJTkcgYSA9IDE7CitTRUxFQ1QgQ09VTlQoKikgRlJPTSAoVkFMVUVTICgxOjpJ TlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgYiBIQVZJTkcgYiA9IDE7CitTRUxFQ1Qg Q09VTlQoKiksIGEgRlJPTSAoVkFMVUVTICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JP VVAgQlkgYSBIQVZJTkcgYSA9IDE7CitTRUxFQ1QgQ09VTlQoKiksIGIgRlJPTSAoVkFMVUVTICgx OjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgYiBIQVZJTkcgYiA9IDE7CitTRUxF Q1QgQ09VTlQoKiksIGEgRlJPTSAoVkFMVUVTICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikg R1JPVVAgQlkgYSBIQVZJTkcgYSA9IDEgT1JERVIgQlkgYTsKK1NFTEVDVCBDT1VOVCgqKSwgYiBG Uk9NIChWQUxVRVMgKDE6OklOVCwgMjo6SU5UKSkgQVMgdChhLCBiKSBHUk9VUCBCWSBiIEhBVklO RyBiID0gMSBPUkRFUiBCWSBiOworU0VMRUNUIEdST1VQSU5HKGEpIEZST00gKFZBTFVFUyAoMTo6 SU5ULCAyOjpJTlQpKSBBUyB0KGEsIGIpIEdST1VQIEJZIGE7CitTRUxFQ1QgR1JPVVBJTkcoYikg RlJPTSAoVkFMVUVTICgxOjpJTlQsIDI6OklOVCkpIEFTIHQoYSwgYikgR1JPVVAgQlkgYjsKK1NF TEVDVCBjYWxscywgcXVlcnkgRlJPTSBwZ19zdGF0X3N0YXRlbWVudHMgV0hFUkUgcXVlcnkgTElL RSAnJUdST1VQIEJZJScgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CisKIC0tIEdST1VQIEJZ IFtESVNUSU5DVF0KIFNFTEVDVCBhLCBiLCBjCiBGUk9NIChWQUxVRVMgKDEsIDIsIDMpLCAoNCwg TlVMTCwgNiksICg3LCA4LCA5KSkgQVMgdCAoYSwgYiwgYykKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApp bmRleCBhYWM0YmZjNzBkOS4uNjQ2ZDZjZWQ3NjMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25v ZGVzL3BhcnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAg LTEyOTQsNyArMTI5NCw3IEBAIHR5cGVkZWYgc3RydWN0IFJhbmdlVGJsRW50cnkKIAkgKiBGaWVs ZHMgdmFsaWQgZm9yIGEgR1JPVVAgUlRFIChlbHNlIE5JTCk6CiAJICovCiAJLyogbGlzdCBvZiBn cm91cGluZyBleHByZXNzaW9ucyAqLwotCUxpc3QJICAgKmdyb3VwZXhwcnMgcGdfbm9kZV9hdHRy KHF1ZXJ5X2p1bWJsZV9pZ25vcmUpOworCUxpc3QJICAgKmdyb3VwZXhwcnM7CiAKIAkvKgogCSAq IEZpZWxkcyB2YWxpZCBpbiBhbGwgUlRFczoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVz L3ByaW1ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgKaW5kZXggNTIxMWNh ZGMyNTguLjE3NGViZTkyOTM5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9k ZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaApAQCAtMjI0OCw3ICsyMjQ4 LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVGFyZ2V0RW50cnkKIAkvKiBjb2x1bW4ncyBudW1iZXIgaW4g c291cmNlIHRhYmxlICovCiAJQXR0ck51bWJlcglyZXNvcmlnY29sIHBnX25vZGVfYXR0cihxdWVy eV9qdW1ibGVfaWdub3JlKTsKIAkvKiBzZXQgdG8gdHJ1ZSB0byBlbGltaW5hdGUgdGhlIGF0dHJp YnV0ZSBmcm9tIGZpbmFsIHRhcmdldCBsaXN0ICovCi0JYm9vbAkJcmVzanVuayBwZ19ub2RlX2F0 dHIocXVlcnlfanVtYmxlX2lnbm9yZSk7CisJYm9vbAkJcmVzanVuazsKIH0gVGFyZ2V0RW50cnk7 CiAKIAotLSAKMi4zNC4xCgo= --00000000000060898006482c8f67--