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 1wMh7K-000H9l-0x for pgsql-hackers@arkaria.postgresql.org; Tue, 12 May 2026 07:01:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wMh7I-003ZhC-2m for pgsql-hackers@arkaria.postgresql.org; Tue, 12 May 2026 07:01:21 +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 1wMh7I-003Zh2-1N for pgsql-hackers@lists.postgresql.org; Tue, 12 May 2026 07:01:20 +0000 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wMh7F-00000000B3Y-4334 for pgsql-hackers@lists.postgresql.org; Tue, 12 May 2026 07:01:20 +0000 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-43fe608cb92so3209089f8f.2 for ; Tue, 12 May 2026 00:01:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1778569277; cv=none; d=google.com; s=arc-20240605; b=G/NYscVHrRML9OF3c8bFEtpT1dbWZcPxakDD2h7FK7S74BXTuGTJvgqeC4ApZbqLmf lhzWbXwEuix1uZFc5WT5hTektgF/enitPaIqrUIp9nGnTxspLf3PNzcVoGPu6cTIYOj+ JF5sE2wt1458UGec/0IV5G0pCfuJ/iOdr0Bz9oue+7TXO6U7m6SwyoN616jYMBpinDZ1 5uE86BwHAsR00JJmVSEVos+qSPxA4Dksho4w0sEqHlKtl8/ZUqutsFuQrmR9fywqYHL0 1Wgcd7gxdtQpJ9YKS3Jb1Jw92eNebairjogquxtmxtTNCzc1phhg/YNchzRgaMTadOQp 738A== 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=TCtC/y+nYxcRtTXRcCse7eFOdH5mZGZ/a3oWo9kiJTk=; fh=ExpYL7ABQS8StcwqXnS/hvM7P4B+y/1XovBMEDSChsg=; b=JG+mlIelVyAISEK+M+aLE8B7/GXVtLw2xbWJVAMvImmEqQVdKse37DBnLW60iz2Jgv Q/YXohgCP3PBoyJGw7IX9i2sbl1exADClzSMKxYvDbbNne2py0wkRM0c6q3xdLcvyJtA 4uPgjhVcIhnJcZIp5bsgwr1IOIN7Csz4Fp8pHTxpQANV/B07OpeZkCY8SgH4jMR2T4U7 Muxv/7r+PGmLsKhgLQ0tqBed+7qVmn+OEsN039ewJ9YDXnK1/bVPneYVk6Fisw1zOtrs MzsvDZPpsPF6RfBH/LhMpNjqFxblkCOfh44/n3hVERn1PL5xH8ndWmcJ5axhSeQHYkc1 3HiQ==; 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=20251104; t=1778569277; x=1779174077; 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=TCtC/y+nYxcRtTXRcCse7eFOdH5mZGZ/a3oWo9kiJTk=; b=YcEv2EP7K2l0s99UDK8yFmnUnBElmutsGnRcJxzAeue3oZ01pWULOOTe27qVRy+ZE9 cSZ7sx1GfO7P3+Fp1/X5AbxUrggWXhsqBA8OlxQx15wFv7KhB9tSnVFzM/JNkcH7N/7F yDES0q8bAweAhlOD5yqOwZr0Bvkp2Qv0wbt8TvTIHL67hZgH3eWr+DFugCQLhMOtTAOj m+ySdGTe2HvFEzLpxRfRHQuMuIinHyz8CYWdqfESmIkj7zN1qEL8NSRhwY2bMbkxmr28 4EXgNMlGh2uoEj2tnijH7tIFsallnX1klwOGipETLYQxX+YLJi8LV+EiFYGEOaCiyx1m 7jcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778569277; x=1779174077; 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=TCtC/y+nYxcRtTXRcCse7eFOdH5mZGZ/a3oWo9kiJTk=; b=qj303XlD8R6vXnME/ILl///zKrjg4XjATe9z6hAbHDIVvvQAeBSvNbrASwVYhUPE5o mQYnbkwC4OrlSAS9tMIJY98ifiuVYvWVMhCq6MoQy8StDZ7n5maG1ULXWKEkp39Ym89I 9aQE6IY9BrBDISbYgs0HIQSQFGtsFGW+9U/mbTE/MJxRrnUA2jbL1Px/AZb/lwMLwl4o 0uKE21zLNXEH+I8XtaIS9IzUevAfk+md9Kof2yBEeK2Q/n1ZRWBEQAIUE98W3+tDcEQz INOgIGowq/pzLPb1A6NmK5KrPliGQFsE6VptelQpOzI5O78mKMLEvCtYAv1Nxw5dfgm+ Yp+w== X-Forwarded-Encrypted: i=1; AFNElJ8eWTq0+GQ+iQmECSRUoZa9GXFyMnES9fV1W8A4n9qmv2/Ak/Cp0uge8BxGVgEZ4rovcjGFOYEjl4PEfsWd@lists.postgresql.org X-Gm-Message-State: AOJu0Yx5ftQCDCL246Cc87QI/2Bh0cUyKcTv3MQ8TJK+JJLYLG7WUPGY WrPH+6T2hegvti5qpVvwOSapcfZS4E5lpq61lb4ee3vAV/SP0o0muvG+nKniEvOeoU/PQVERYCS MOCDxvCIprrmY+Ghes/FvT+g1Gg4woW0= X-Gm-Gg: Acq92OGmU/MTP7BZoD4sukB5vJBlxwED/D/RHqkuXKY8f35mx6SHLLljjkxhpO+eWyl vmvZP6Kq3nDhJdZ8XU2Yj/u/OCqbRz6qBhUXDlw67FYUeRae1J2zQBJw0aDQFs2+72JQt3MyNv2 43eEHLIdVEQ1eQXfE27N5RpxXKMwy+Nga4Q8ncd3pDeAaZBLXKbnR0dVeGRrCBWytjDm288XVqa uabYRqSnCsEKzKFFHWUn0nqEpzFE1x+2cZreEx7uiHSHddzqZwWmbhiYfAt78+J7Vs0CZzu4nMr 81ydsa2obNAs5Mk/iLQwYmz36rRDEAL5v5xHfHRb/eEUxSArnrWv X-Received: by 2002:adf:ed87:0:b0:454:9655:43af with SMTP id ffacd0b85a97d-4549655460dmr19882402f8f.0.1778569276543; Tue, 12 May 2026 00:01:16 -0700 (PDT) MIME-Version: 1.0 References: <3762a2e0-d3be-40e7-83d2-52dc3e1a21b2@eisentraut.org> In-Reply-To: From: Ashutosh Bapat Date: Tue, 12 May 2026 12:31:03 +0530 X-Gm-Features: AVHnY4KAt8CBVLC3NSWNDGYY__l6oSWUNV4VNb-g-nHnFTsMOYRwJ7xpIFOdzW8 Message-ID: Subject: Re: [Bug][patch]: After dropping the last label from a property graph element, invoking pg_get_propgraphdef() triggers an assertion failure To: Peter Eisentraut Cc: SATYANARAYANA NARLAPURAM , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000f0c43a0651996d73" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000f0c43a0651996d73 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, May 12, 2026 at 7:05=E2=80=AFAM Ashutosh Bapat wrote: > > On Mon, May 4, 2026 at 8:16=E2=80=AFPM Peter Eisentraut wrote: > > > > On 28.04.26 17:02, Ashutosh Bapat wrote: > > > We are looking up element label catalogs twice in this patch - first > > > to find the label to be dropped and then to find the number of labels > > > associated with the given element. I combined these two into a single > > > while loop. > > > > That looks okay, but I think the names of the local variables are now a > > bit off. I would expect elrel and elscan to refer to > > pg_propgraph_element, not pg_propgraph_element_label. Maybe use > > ellabelrel etc. > > Done. > > > > > Also, I think this code needs to think a bit about locking to handle th= e > > situation where more than one DROP LABEL operation happens concurrently= . > > > > AlterPropGraph already takes ShareRowExclusiveLock at the beginning so > only one label can be dropped at a time. I have added an isolation > test to test the scenario. We could further add some more tests to > make sure that properties can not be added to a label being dropped, > adding label to an element being dropped, adding label to an element > being added etc. Would that be an overkill? Here's the patchset without the extra tests. --=20 Best Wishes, Ashutosh Bapat --000000000000f0c43a0651996d73 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260512-0001-Prevent-dropping-the-last-label-from-a-pro.patch" Content-Disposition: attachment; filename="v20260512-0001-Prevent-dropping-the-last-label-from-a-pro.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mp2a7qub1 RnJvbSBkYWZkNjg4ZDMzNWQ0MTdjN2MxZTA1NDE4NjQ2MDAwZmI2MzVkODdmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBzYXR5YW5hcmF5YW5hIG5hcmxhcHVyYW0gPHNhdHlhbmFybGFw dXJhbUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjEgQXByIDIwMjYgMDc6NTI6NTYgKzAwMDAKU3Vi amVjdDogW1BBVENIIHYyMDI2MDUxMiAxLzRdIFByZXZlbnQgZHJvcHBpbmcgdGhlIGxhc3QgbGFi ZWwgZnJvbSBhIHByb3BlcnR5CiBncmFwaCBlbGVtZW50CgpQZXIgU1FML1BHUSBzdGFuZGFyZCwg ZXZlcnkgZ3JhcGggZWxlbWVudCBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGxhYmVsLiBXaGVuCmRy b3BwaW5nIGEgbGFiZWwgZnJvbSBhIGdyYXBoIGVsZW1lbnQsIGVuc3VyZSB0aGF0IHRoZXJlIGV4 aXN0cyBhdCBsZWFzdCBvbmUKb3RoZXIgbGFiZWwgb24gdGhlIGVsZW1lbnQuIElmIHRoZSBsYWJl bCBiZWluZyBkcm9wcGVkIGlzIHRoZSBvbmx5IGxhYmVsIG9uIHRoZQplbGVtZW50LCByYWlzZSBh biBlcnJvci4KCkFkZCBhIHRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgZHJvcHBpbmcgbGFiZWxzIGNv bmN1cnJlbnRseSBmcm9tIHRoZSBzYW1lCmVsZW1lbnQgaGFzIHRoZSBzYW1lIGVmZmVjdC4KClJl cG9ydGVkIEJ5OiBTYXR5YW5hcmF5YW5hIE5hcmxhcHVyYW0gPHNhdHlhbmFybGFwdXJhbUBnbWFp bC5jb20+CkF1dGhvcjogQXNodXRvc2ggQmFwYXQgPGFzaHV0b3NoLmJhcGF0Lm9zc0BnbWFpbC5j b20+CkF1dGhvcjogU2F0eWFuYXJheWFuYSBOYXJsYXB1cmFtIDxzYXR5YW5hcmxhcHVyYW1AZ21h aWwuY29tPgpSZXZpZXdlZCBieTogQXNodXRvc2ggQmFwYXQgPGFzaHV0b3NoLmJhcGF0Lm9zc0Bn bWFpbC5jb20+CkRpc2N1c3Npb246IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2Ut aWQvQ0FIZytRRGVQPW1USFRWNDhSMjN6S015MVNCbUNLWl9MNy16NXpLbll5dytLMHgtZ0NnQG1h aWwuZ21haWwuY29tCi0tLQogZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9wcm9wZXJ0eV9ncmFwaC5z Z21sICAgIHwgIDQgKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Byb3BncmFwaGNtZHMuYyAgICAg ICAgICB8IDU0ICsrKysrKysrKysrKysrKysrLS0KIC4uLi9kcm9wLXByb3BncmFwaC1sYWJlbC1j b25jdXJyZW50bHkub3V0ICAgICB8IDIwICsrKysrKysKIHNyYy90ZXN0L2lzb2xhdGlvbi9pc29s YXRpb25fc2NoZWR1bGUgICAgICAgICB8ICAxICsKIC4uLi9kcm9wLXByb3BncmFwaC1sYWJlbC1j b25jdXJyZW50bHkuc3BlYyAgICB8IDM2ICsrKysrKysrKysrKysKIC4uLi9leHBlY3RlZC9jcmVh dGVfcHJvcGVydHlfZ3JhcGgub3V0ICAgICAgICB8ICA2ICsrKwogLi4uL3JlZ3Jlc3Mvc3FsL2Ny ZWF0ZV9wcm9wZXJ0eV9ncmFwaC5zcWwgICAgIHwgIDQgKysKIDcgZmlsZXMgY2hhbmdlZCwgMTE5 IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rl c3QvaXNvbGF0aW9uL2V4cGVjdGVkL2Ryb3AtcHJvcGdyYXBoLWxhYmVsLWNvbmN1cnJlbnRseS5v dXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvZHJvcC1wcm9w Z3JhcGgtbGFiZWwtY29uY3VycmVudGx5LnNwZWMKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwv cmVmL2FsdGVyX3Byb3BlcnR5X2dyYXBoLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3By b3BlcnR5X2dyYXBoLnNnbWwKaW5kZXggZjUxN2YyYjJkN2EuLjJmZDBjMTM4ZTEyIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3Byb3BlcnR5X2dyYXBoLnNnbWwKKysrIGIvZG9j L3NyYy9zZ21sL3JlZi9hbHRlcl9wcm9wZXJ0eV9ncmFwaC5zZ21sCkBAIC05OSw3ICs5OSw5IEBA IEFMVEVSIFBST1BFUlRZIEdSQVBIIFsgSUYgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhCiAgICAgIDx0ZXJtPjxsaXRlcmFsPkFMVEVSIHtWRVJU RVh8Tk9ERXxFREdFfFJFTEFUSU9OU0hJUH0gVEFCTEUgLi4uIERST1AgTEFCRUw8L2xpdGVyYWw+ PC90ZXJtPgogICAgICA8bGlzdGl0ZW0+CiAgICAgICA8cGFyYT4KLSAgICAgICBUaGlzIGZvcm0g cmVtb3ZlcyBhIGxhYmVsIGZyb20gYW4gZXhpc3RpbmcgdmVydGV4IG9yIGVkZ2UgdGFibGUuCisg ICAgICAgVGhpcyBmb3JtIHJlbW92ZXMgYSBsYWJlbCBmcm9tIGFuIGV4aXN0aW5nIHZlcnRleCBv ciBlZGdlIHRhYmxlLiBUaGUKKyAgICAgICBsYXN0IGxhYmVsIG9uIGFuIGVsZW1lbnQgdGFibGUg Y2Fubm90IGJlIGRyb3BwZWQ7IGV2ZXJ5IHZlcnRleCBvciBlZGdlCisgICAgICAgdGFibGUgbXVz dCBoYXZlIGF0IGxlYXN0IG9uZSBsYWJlbC4KICAgICAgIDwvcGFyYT4KICAgICAgPC9saXN0aXRl bT4KICAgICA8L3Zhcmxpc3RlbnRyeT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3Byb3BncmFwaGNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Byb3BncmFwaGNtZHMuYwpp bmRleCBjYzUxNmUyNzAyMC4uNTliMmY3NmNhNGYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3Byb3BncmFwaGNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9wcm9wZ3Jh cGhjbWRzLmMKQEAgLTE0OTEsOCArMTQ5MSwxNCBAQCBBbHRlclByb3BHcmFwaChQYXJzZVN0YXRl ICpwc3RhdGUsIGNvbnN0IEFsdGVyUHJvcEdyYXBoU3RtdCAqc3RtdCkKIAl7CiAJCU9pZAkJCXBl b2lkOwogCQlPaWQJCQlsYWJlbG9pZDsKLQkJT2lkCQkJZWxsYWJlbG9pZDsKKwkJT2lkCQkJZWxs YWJlbG9pZCA9IEludmFsaWRPaWQ7CiAJCU9iamVjdEFkZHJlc3Mgb2JqOworCQlSZWxhdGlvbgll bGxhYmVscmVsOworCQlTeXNTY2FuRGVzYyBlbGxhYmVsc2NhbjsKKwkJU2NhbktleURhdGEgZWxs YWJlbGtleVsxXTsKKwkJaW50CQkJbmxhYmVscyA9IDA7CisJCUhlYXBUdXBsZQl0dXBsZTsKKwog CiAJCWlmIChzdG10LT5lbGVtZW50X2tpbmQgPT0gUFJPUEdSQVBIX0VMRU1FTlRfS0lORF9WRVJU RVgpCiAJCQlwZW9pZCA9IGdldF92ZXJ0ZXhfb2lkKHBzdGF0ZSwgcGdyZWxpZCwgc3RtdC0+ZWxl bWVudF9hbGlhcywgLTEpOwpAQCAtMTUxMCwxMSArMTUxNiwzOCBAQCBBbHRlclByb3BHcmFwaChQ YXJzZVN0YXRlICpwc3RhdGUsIGNvbnN0IEFsdGVyUHJvcEdyYXBoU3RtdCAqc3RtdCkKIAkJCQkJ CSAgIGdldF9yZWxfbmFtZShwZ3JlbGlkKSwgc3RtdC0+ZWxlbWVudF9hbGlhcywgc3RtdC0+ZHJv cF9sYWJlbCksCiAJCQkJCXBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIC0xKSk7CiAKLQkJZWxs YWJlbG9pZCA9IEdldFN5c0NhY2hlT2lkMihQUk9QR1JBUEhFTEVNRU5UTEFCRUxFTEVNRU5UTEFC RUwsCi0JCQkJCQkJCQkgQW51bV9wZ19wcm9wZ3JhcGhfZWxlbWVudF9sYWJlbF9vaWQsCi0JCQkJ CQkJCQkgT2JqZWN0SWRHZXREYXR1bShwZW9pZCksCi0JCQkJCQkJCQkgT2JqZWN0SWRHZXREYXR1 bShsYWJlbG9pZCkpOworCQkvKgorCQkgKiBJcyB0aGUgZ2l2ZW4gbGFiZWwgYXNzb2NpYXRlZCB3 aXRoIHRoZSBlbGVtZW50PyBJcyB0aGlzIHRoZSBvbmx5CisJCSAqIGxhYmVsIGFzc29jaWF0ZWQg d2l0aCB0aGUgZWxlbWVudD8KKwkJICovCisJCWVsbGFiZWxyZWwgPSB0YWJsZV9vcGVuKFByb3Bn cmFwaEVsZW1lbnRMYWJlbFJlbGF0aW9uSWQsIEFjY2Vzc1NoYXJlTG9jayk7CisJCVNjYW5LZXlJ bml0KCZlbGxhYmVsa2V5WzBdLAorCQkJCQlBbnVtX3BnX3Byb3BncmFwaF9lbGVtZW50X2xhYmVs X3BnZWxlbGlkLAorCQkJCQlCVEVxdWFsU3RyYXRlZ3lOdW1iZXIsIEZfT0lERVEsCisJCQkJCU9i amVjdElkR2V0RGF0dW0ocGVvaWQpKTsKKwkJZWxsYWJlbHNjYW4gPSBzeXN0YWJsZV9iZWdpbnNj YW4oZWxsYWJlbHJlbCwgUHJvcGdyYXBoRWxlbWVudExhYmVsRWxlbWVudExhYmVsSW5kZXhJZCwK KwkJCQkJCQkJCQkgdHJ1ZSwgTlVMTCwgMSwgZWxsYWJlbGtleSk7CisJCXdoaWxlIChIZWFwVHVw bGVJc1ZhbGlkKHR1cGxlID0gc3lzdGFibGVfZ2V0bmV4dChlbGxhYmVsc2NhbikpKQorCQl7CisJ CQlGb3JtX3BnX3Byb3BncmFwaF9lbGVtZW50X2xhYmVsIGVsbGFiZWxmb3JtID0gKEZvcm1fcGdf cHJvcGdyYXBoX2VsZW1lbnRfbGFiZWwpIEdFVFNUUlVDVCh0dXBsZSk7CisKKwkJCW5sYWJlbHMr KzsKIAorCQkJaWYgKGVsbGFiZWxmb3JtLT5wZ2VsbGFiZWxpZCA9PSBsYWJlbG9pZCkKKwkJCQll bGxhYmVsb2lkID0gZWxsYWJlbGZvcm0tPm9pZDsKKworCQkJLyoKKwkJCSAqIElmIHdlIGZpbmQg bW9yZSB0aGFuIG9uZSBsYWJlbCBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuCisJCQkgKiBlbGVt ZW50IGFuZCBhbHNvIGZvdW5kIHRoZSBsYWJlbCB3ZSBhcmUgZ29pbmcgdG8gZHJvcCwgd2UgYXJl CisJCQkgKiBkb25lLgorCQkJICovCisJCQlpZiAobmxhYmVscyA+IDEgJiYgZWxsYWJlbG9pZCkK KwkJCQlicmVhazsKKwkJfQorCQlzeXN0YWJsZV9lbmRzY2FuKGVsbGFiZWxzY2FuKTsKKwkJdGFi bGVfY2xvc2UoZWxsYWJlbHJlbCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCQkvKiBHaXZlbiBsYWJl bCBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBlbGVtZW50LiAqLwogCQlpZiAoIWVsbGFiZWxv aWQpCiAJCQllcmVwb3J0KEVSUk9SLAogCQkJCQllcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09C SkVDVCksCkBAIC0xNTIyLDYgKzE1NTUsMTcgQEAgQWx0ZXJQcm9wR3JhcGgoUGFyc2VTdGF0ZSAq cHN0YXRlLCBjb25zdCBBbHRlclByb3BHcmFwaFN0bXQgKnN0bXQpCiAJCQkJCQkgICBnZXRfcmVs X25hbWUocGdyZWxpZCksIHN0bXQtPmVsZW1lbnRfYWxpYXMsIHN0bXQtPmRyb3BfbGFiZWwpLAog CQkJCQlwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCAtMSkpOwogCisJCS8qCisJCSAqIFByZXZl bnQgZHJvcHBpbmcgdGhlIGxhc3QgbGFiZWwgZnJvbSBhbiBlbGVtZW50LiBFdmVyeSBlbGVtZW50 IG11c3QKKwkJICogaGF2ZSBhdCBsZWFzdCBvbmUgbGFiZWwuCisJCSAqLworCQlpZiAobmxhYmVs cyA9PSAxKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9PQkpFQ1Rf Tk9UX0lOX1BSRVJFUVVJU0lURV9TVEFURSksCisJCQkJCSBlcnJtc2coImNhbm5vdCBkcm9wIHRo ZSBsYXN0IGxhYmVsIGZyb20gZWxlbWVudCBcIiVzXCIiLAorCQkJCQkJCXN0bXQtPmVsZW1lbnRf YWxpYXMpLAorCQkJCQkgZXJyaGludCgiRXZlcnkgZWxlbWVudCBtdXN0IGhhdmUgYXQgbGVhc3Qg b25lIGxhYmVsLiIpKSk7CisKIAkJT2JqZWN0QWRkcmVzc1NldChvYmosIFByb3BncmFwaEVsZW1l bnRMYWJlbFJlbGF0aW9uSWQsIGVsbGFiZWxvaWQpOwogCQlwZXJmb3JtRGVsZXRpb24oJm9iaiwg c3RtdC0+ZHJvcF9iZWhhdmlvciwgMCk7CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlv bi9leHBlY3RlZC9kcm9wLXByb3BncmFwaC1sYWJlbC1jb25jdXJyZW50bHkub3V0IGIvc3JjL3Rl c3QvaXNvbGF0aW9uL2V4cGVjdGVkL2Ryb3AtcHJvcGdyYXBoLWxhYmVsLWNvbmN1cnJlbnRseS5v dXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmEzZmM4OWZiYWMxCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL2Ryb3AtcHJvcGdy YXBoLWxhYmVsLWNvbmN1cnJlbnRseS5vdXQKQEAgLTAsMCArMSwyMCBAQAorUGFyc2VkIHRlc3Qg c3BlYyB3aXRoIDIgc2Vzc2lvbnMKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxYiBzMWRyb3Ax IHMyYiBzMmRyb3AyIHMxYyBzMmMKK3N0ZXAgczFiOiBCRUdJTjsKK3N0ZXAgczFkcm9wMTogQUxU RVIgUFJPUEVSVFkgR1JBUEggcGdnMSBBTFRFUiBWRVJURVggVEFCTEUgcGd0MSBEUk9QIExBQkVM IHBnbDE7CitzdGVwIHMyYjogQkVHSU47CitzdGVwIHMyZHJvcDI6IEFMVEVSIFBST1BFUlRZIEdS QVBIIHBnZzEgQUxURVIgVkVSVEVYIFRBQkxFIHBndDEgRFJPUCBMQUJFTCBwZ2wyOyA8d2FpdGlu ZyAuLi4+CitzdGVwIHMxYzogQ09NTUlUOworc3RlcCBzMmRyb3AyOiA8Li4uIGNvbXBsZXRlZD4K K0VSUk9SOiAgY2Fubm90IGRyb3AgdGhlIGxhc3QgbGFiZWwgZnJvbSBlbGVtZW50ICJwZ3QxIgor c3RlcCBzMmM6IENPTU1JVDsKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMxYiBzMWRyb3AxIHMy YiBzMmRyb3AyIHMxciBzMmMKK3N0ZXAgczFiOiBCRUdJTjsKK3N0ZXAgczFkcm9wMTogQUxURVIg UFJPUEVSVFkgR1JBUEggcGdnMSBBTFRFUiBWRVJURVggVEFCTEUgcGd0MSBEUk9QIExBQkVMIHBn bDE7CitzdGVwIHMyYjogQkVHSU47CitzdGVwIHMyZHJvcDI6IEFMVEVSIFBST1BFUlRZIEdSQVBI IHBnZzEgQUxURVIgVkVSVEVYIFRBQkxFIHBndDEgRFJPUCBMQUJFTCBwZ2wyOyA8d2FpdGluZyAu Li4+CitzdGVwIHMxcjogUk9MTEJBQ0s7CitzdGVwIHMyZHJvcDI6IDwuLi4gY29tcGxldGVkPgor c3RlcCBzMmM6IENPTU1JVDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRp b25fc2NoZWR1bGUgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCmluZGV4 IDE1NzhiYTE5MWM4Li45YzY0ZWU0MzY0MSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvaXNvbGF0aW9u L2lzb2xhdGlvbl9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3Nj aGVkdWxlCkBAIC0xMjYsMyArMTI2LDQgQEAgdGVzdDogc2VyaWFsaXphYmxlLXBhcmFsbGVsLTMK IHRlc3Q6IG1hdHZpZXctd3JpdGUtc2tldwogdGVzdDogbG9jay1ub3dhaXQKIHRlc3Q6IGZvci1w b3J0aW9uLW9mCit0ZXN0OiBkcm9wLXByb3BncmFwaC1sYWJlbC1jb25jdXJyZW50bHkKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9kcm9wLXByb3BncmFwaC1sYWJlbC1jb25j dXJyZW50bHkuc3BlYyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9kcm9wLXByb3BncmFwaC1s YWJlbC1jb25jdXJyZW50bHkuc3BlYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uY2U4ZjQzNTEzNjQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9pc29sYXRpb24v c3BlY3MvZHJvcC1wcm9wZ3JhcGgtbGFiZWwtY29uY3VycmVudGx5LnNwZWMKQEAgLTAsMCArMSwz NiBAQAorIyBBTFRFUiBQUk9QRVJUWSBHUkFQSCAuLi4gRFJPUCBMQUJFTCAtIGNvbmN1cnJlbnQK KyMKKyMgVmVyaWZ5IHRoYXQgdHdvIGNvbmN1cnJlbnQgdHJhbnNhY3Rpb25zIGNhbm5vdCBib3Ro IGRyb3AgYSBsYWJlbCBmcm9tCisjIHRoZSBzYW1lIGVsZW1lbnQgc3VjaCB0aGF0IHRoZSBlbGVt ZW50IGVuZHMgdXAgd2l0aCBubyBsYWJlbHMuCisKK3NldHVwCit7CisgQ1JFQVRFIFRBQkxFIHBn dDEgKGEgaW50LCBiIGludCk7CisgQ1JFQVRFIFBST1BFUlRZIEdSQVBIIHBnZzEKKyAgIFZFUlRF WCBUQUJMRVMgKHBndDEgS0VZIChhKQorICAgICAgICAgICAgICAgICAgTEFCRUwgcGdsMSBQUk9Q RVJUSUVTIChiKQorICAgICAgICAgICAgICAgICAgTEFCRUwgcGdsMiBQUk9QRVJUSUVTIChhLCBi KSk7Cit9CisKK3RlYXJkb3duCit7CisgRFJPUCBQUk9QRVJUWSBHUkFQSCBJRiBFWElTVFMgcGdn MTsKKyBEUk9QIFRBQkxFIHBndDE7Cit9CisKK3Nlc3Npb24gczEKK3N0ZXAgczFiCXsgQkVHSU47 IH0KK3N0ZXAgczFkcm9wMQl7IEFMVEVSIFBST1BFUlRZIEdSQVBIIHBnZzEgQUxURVIgVkVSVEVY IFRBQkxFIHBndDEgRFJPUCBMQUJFTCBwZ2wxOyB9CitzdGVwIHMxYwl7IENPTU1JVDsgfQorc3Rl cCBzMXIJeyBST0xMQkFDSzsgfQorCitzZXNzaW9uIHMyCitzdGVwIHMyYgl7IEJFR0lOOyB9Citz dGVwIHMyZHJvcDIJeyBBTFRFUiBQUk9QRVJUWSBHUkFQSCBwZ2cxIEFMVEVSIFZFUlRFWCBUQUJM RSBwZ3QxIERST1AgTEFCRUwgcGdsMjsgfQorc3RlcCBzMmMJeyBDT01NSVQ7IH0KKworIyBzMmRy b3AyIGZhaWxzIHNpbmNlIGJ5IHRoZW4gcGdsMiBpcyB0aGUgb25seSByZW1haW5pbmcgbGFiZWwg b24gcGd0MQorcGVybXV0YXRpb24gczFiIHMxZHJvcDEgczJiIHMyZHJvcDIgczFjIHMyYworCisj IHMyZHJvcDIgc3VjY2VlZHMgc2luY2Ugcm9sbGJhY2sgbGVhdmVzIHBnbDEgYmVoaW5kCitwZXJt dXRhdGlvbiBzMWIgczFkcm9wMSBzMmIgczJkcm9wMiBzMXIgczJjCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9wcm9wZXJ0eV9ncmFwaC5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9wcm9wZXJ0eV9ncmFwaC5vdXQKaW5kZXggZjYyNTUy NGFiY2UuLmRkNmM2NzE2N2U1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2NyZWF0ZV9wcm9wZXJ0eV9ncmFwaC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9jcmVhdGVfcHJvcGVydHlfZ3JhcGgub3V0CkBAIC01Nyw2ICs1NywxMiBAQCBBTFRFUiBQUk9Q RVJUWSBHUkFQSCBnMwogQUxURVIgUFJPUEVSVFkgR1JBUEggZzMgQUxURVIgVkVSVEVYIFRBQkxF IHQzIERST1AgTEFCRUwgdDNsM3g7ICAtLSBlcnJvcgogRVJST1I6ICBwcm9wZXJ0eSBncmFwaCAi ZzMiIGVsZW1lbnQgInQzIiBoYXMgbm8gbGFiZWwgInQzbDN4IgogQUxURVIgUFJPUEVSVFkgR1JB UEggZzMgQUxURVIgVkVSVEVYIFRBQkxFIHQzIERST1AgTEFCRUwgdDNsMzsKKy0tIFRlc3QgdGhh dCB0aGUgbGFzdCBsYWJlbCBvbiBhbiBlbGVtZW50IGNhbm5vdCBiZSBkcm9wcGVkCitBTFRFUiBQ Uk9QRVJUWSBHUkFQSCBnMyBBTFRFUiBWRVJURVggVEFCTEUgdDMgRFJPUCBMQUJFTCB0M2wyOwor QUxURVIgUFJPUEVSVFkgR1JBUEggZzMgQUxURVIgVkVSVEVYIFRBQkxFIHQzIERST1AgTEFCRUwg dDNsMTsgIC0tIGVycm9yOiBsYXN0IGxhYmVsCitFUlJPUjogIGNhbm5vdCBkcm9wIHRoZSBsYXN0 IGxhYmVsIGZyb20gZWxlbWVudCAidDMiCitISU5UOiAgRXZlcnkgZWxlbWVudCBtdXN0IGhhdmUg YXQgbGVhc3Qgb25lIGxhYmVsLgorQUxURVIgUFJPUEVSVFkgR1JBUEggZzMgQUxURVIgVkVSVEVY IFRBQkxFIHQzIEFERCBMQUJFTCB0M2wyIFBST1BFUlRJRVMgQUxMIENPTFVNTlM7CiBBTFRFUiBQ Uk9QRVJUWSBHUkFQSCBnMyBEUk9QIFZFUlRFWCBUQUJMRVMgKHQyKTsgIC0tIGZhaWwKIEVSUk9S OiAgY2Fubm90IGRyb3AgdmVydGV4IHQyIG9mIHByb3BlcnR5IGdyYXBoIGczIGJlY2F1c2Ugb3Ro ZXIgb2JqZWN0cyBkZXBlbmQgb24gaXQKIERFVEFJTDogIGVkZ2UgZTEgb2YgcHJvcGVydHkgZ3Jh cGggZzMgZGVwZW5kcyBvbiB2ZXJ0ZXggdDIgb2YgcHJvcGVydHkgZ3JhcGggZzMKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9wcm9wZXJ0eV9ncmFwaC5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfcHJvcGVydHlfZ3JhcGguc3FsCmluZGV4IDI0MWY5M2Rm MzAyLi40Y2Y3NzE1OTZhOCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRl X3Byb3BlcnR5X2dyYXBoLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfcHJv cGVydHlfZ3JhcGguc3FsCkBAIC01Miw2ICs1MiwxMCBAQCBBTFRFUiBQUk9QRVJUWSBHUkFQSCBn MwogICAgICAgICBBREQgTEFCRUwgdDNsMyBQUk9QRVJUSUVTIEFMTCBDT0xVTU5TOwogQUxURVIg UFJPUEVSVFkgR1JBUEggZzMgQUxURVIgVkVSVEVYIFRBQkxFIHQzIERST1AgTEFCRUwgdDNsM3g7 ICAtLSBlcnJvcgogQUxURVIgUFJPUEVSVFkgR1JBUEggZzMgQUxURVIgVkVSVEVYIFRBQkxFIHQz IERST1AgTEFCRUwgdDNsMzsKKy0tIFRlc3QgdGhhdCB0aGUgbGFzdCBsYWJlbCBvbiBhbiBlbGVt ZW50IGNhbm5vdCBiZSBkcm9wcGVkCitBTFRFUiBQUk9QRVJUWSBHUkFQSCBnMyBBTFRFUiBWRVJU RVggVEFCTEUgdDMgRFJPUCBMQUJFTCB0M2wyOworQUxURVIgUFJPUEVSVFkgR1JBUEggZzMgQUxU RVIgVkVSVEVYIFRBQkxFIHQzIERST1AgTEFCRUwgdDNsMTsgIC0tIGVycm9yOiBsYXN0IGxhYmVs CitBTFRFUiBQUk9QRVJUWSBHUkFQSCBnMyBBTFRFUiBWRVJURVggVEFCTEUgdDMgQUREIExBQkVM IHQzbDIgUFJPUEVSVElFUyBBTEwgQ09MVU1OUzsKIEFMVEVSIFBST1BFUlRZIEdSQVBIIGczIERS T1AgVkVSVEVYIFRBQkxFUyAodDIpOyAgLS0gZmFpbAogQUxURVIgUFJPUEVSVFkgR1JBUEggZzMg RFJPUCBWRVJURVggVEFCTEVTICh0MikgQ0FTQ0FERTsKIEFMVEVSIFBST1BFUlRZIEdSQVBIIGcz IERST1AgRURHRSBUQUJMRVMgKGUyKTsKCmJhc2UtY29tbWl0OiA4MjY4ZTQxYWNhMjNhZTM0MTQz NjBiMGExZGM2YWU5OWVhN2I0M2Y0Ci0tIAoyLjM0LjEKCg== --000000000000f0c43a0651996d73 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260512-0002-Dropping-a-property-not-associated-with-th.patch" Content-Disposition: attachment; filename="v20260512-0002-Dropping-a-property-not-associated-with-th.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mp2a7qu60 RnJvbSBjYWIwOTM3NmJjOGY1YjY3MjllNzViNjcxMjRhZGIzZmM3NmM3Y2Q4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBc2h1dG9zaCBCYXBhdCA8YXNodXRvc2guYmFwYXQub3NzQGdt YWlsLmNvbT4KRGF0ZTogVHVlLCAyOCBBcHIgMjAyNiAxMjo0Mzo0MCArMDUzMApTdWJqZWN0OiBb UEFUQ0ggdjIwMjYwNTEyIDIvNF0gRHJvcHBpbmcgYSBwcm9wZXJ0eSBub3QgYXNzb2NpYXRlZCB3 aXRoIHRoZQogZ2l2ZW4gbGFiZWwKCldoZW4gZHJvcHBpbmcgYSBwcm9wZXJ0eSBieSBuYW1lIGZy b20gYSBsYWJlbCwgdGhlIGNvZGUgY2hlY2tlZCBvbmx5CndoZXRoZXIgdGhlIHByb3BlcnR5IGV4 aXN0ZWQgaW4gdGhlIGdyYXBoJ3MgcHJvcGVydHkgY2F0YWxvZy4gSXQgZGlkIG5vdAp2ZXJpZnkg dGhhdCB0aGUgcHJvcGVydHkgd2FzIGFjdHVhbGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4g bGFiZWwsCnJlc3VsdGluZyBpbiBwYXNzaW5nIEludmFsaWRPaWQgdG8gcGVyZm9ybURlbGV0aW9u KCkuIEZpeCBpdCBieQpleHBsaWNpbHR5IGNoZWNraW5nIHRoZSBsYWJlbCBwcm9wZXJ0eSBhc3Nv Y2lhdGlvbi4KCldoaWxlIGF0IGl0IGFsc28gcmVhcnJhbmdlIHRoZSBjb2RlIHNvIGFzIHRvIGF2 b2lkIG11bHRpcGxlIGVyZXBvcnQKY2FsbHMgZm9yIHRoZSBzYW1lIGVycm9yIGluIHRoZSBzYW1l IGJsb2NrLgoKUmVwb3J0ZWQgYnk6IENoYW8gTGkgPGxpY0BoaWdoZ28uY29tPgpBdXRob3I6IENo YW8gTGkgPGxpY0BoaWdoZ28uY29tPgpSZXZpZXdlZCBieTogQXNodXRvc2ggQmFwYXQgPGFzaHV0 b3NoLmJhcGF0Lm9zc0BnbWFpbC5jb20+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20v MURBNUQ1MkEtNEFGQS00MjZFLTgzRjctNDJFRDk3NEQ2ODJCQGdtYWlsLmNvbQotLS0KIHNyYy9i YWNrZW5kL2NvbW1hbmRzL3Byb3BncmFwaGNtZHMuYyAgICAgICAgICB8IDQ3ICsrKysrKysrLS0t LS0tLS0tLS0KIC4uLi9leHBlY3RlZC9jcmVhdGVfcHJvcGVydHlfZ3JhcGgub3V0ICAgICAgICB8 ICAyICsKIC4uLi9yZWdyZXNzL3NxbC9jcmVhdGVfcHJvcGVydHlfZ3JhcGguc3FsICAgICB8ICAx ICsKIDMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHJvcGdyYXBoY21kcy5jIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvcHJvcGdyYXBoY21kcy5jCmluZGV4IDU5YjJmNzZjYTRmLi5mYzk5OGIz ZTI0NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHJvcGdyYXBoY21kcy5jCisr KyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Byb3BncmFwaGNtZHMuYwpAQCAtMTU4Miw3ICsxNTgy LDcgQEAgQWx0ZXJQcm9wR3JhcGgoUGFyc2VTdGF0ZSAqcHN0YXRlLCBjb25zdCBBbHRlclByb3BH cmFwaFN0bXQgKnN0bXQpCiAJCU9pZAkJCXBlb2lkOwogCQlPaWQJCQlwZ2VyZWxpZDsKIAkJT2lk CQkJbGFiZWxvaWQ7Ci0JCU9pZAkJCWVsbGFiZWxvaWQ7CisJCU9pZAkJCWVsbGFiZWxvaWQgPSBJ bnZhbGlkT2lkOwogCiAJCWlmIChzdG10LT5lbGVtZW50X2tpbmQgPT0gUFJPUEdSQVBIX0VMRU1F TlRfS0lORF9WRVJURVgpCiAJCQlwZW9pZCA9IGdldF92ZXJ0ZXhfb2lkKHBzdGF0ZSwgcGdyZWxp ZCwgc3RtdC0+ZWxlbWVudF9hbGlhcywgLTEpOwpAQCAtMTU5MywxNyArMTU5MywxMSBAQCBBbHRl clByb3BHcmFwaChQYXJzZVN0YXRlICpwc3RhdGUsIGNvbnN0IEFsdGVyUHJvcEdyYXBoU3RtdCAq c3RtdCkKIAkJCQkJCQkJICAgQW51bV9wZ19wcm9wZ3JhcGhfbGFiZWxfb2lkLAogCQkJCQkJCQkg ICBPYmplY3RJZEdldERhdHVtKHBncmVsaWQpLAogCQkJCQkJCQkgICBDU3RyaW5nR2V0RGF0dW0o c3RtdC0+YWx0ZXJfbGFiZWwpKTsKLQkJaWYgKCFsYWJlbG9pZCkKLQkJCWVyZXBvcnQoRVJST1Is Ci0JCQkJCWVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfT0JKRUNUKSwKLQkJCQkJZXJybXNnKCJw cm9wZXJ0eSBncmFwaCBcIiVzXCIgZWxlbWVudCBcIiVzXCIgaGFzIG5vIGxhYmVsIFwiJXNcIiIs Ci0JCQkJCQkgICBnZXRfcmVsX25hbWUocGdyZWxpZCksIHN0bXQtPmVsZW1lbnRfYWxpYXMsIHN0 bXQtPmFsdGVyX2xhYmVsKSwKLQkJCQkJcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwgLTEpKTsK LQotCQllbGxhYmVsb2lkID0gR2V0U3lzQ2FjaGVPaWQyKFBST1BHUkFQSEVMRU1FTlRMQUJFTEVM RU1FTlRMQUJFTCwKLQkJCQkJCQkJCSBBbnVtX3BnX3Byb3BncmFwaF9lbGVtZW50X2xhYmVsX29p ZCwKLQkJCQkJCQkJCSBPYmplY3RJZEdldERhdHVtKHBlb2lkKSwKLQkJCQkJCQkJCSBPYmplY3RJ ZEdldERhdHVtKGxhYmVsb2lkKSk7CisJCWlmIChsYWJlbG9pZCkKKwkJCWVsbGFiZWxvaWQgPSBH ZXRTeXNDYWNoZU9pZDIoUFJPUEdSQVBIRUxFTUVOVExBQkVMRUxFTUVOVExBQkVMLAorCQkJCQkJ CQkJCSBBbnVtX3BnX3Byb3BncmFwaF9lbGVtZW50X2xhYmVsX29pZCwKKwkJCQkJCQkJCQkgT2Jq ZWN0SWRHZXREYXR1bShwZW9pZCksCisJCQkJCQkJCQkJIE9iamVjdElkR2V0RGF0dW0obGFiZWxv aWQpKTsKIAkJaWYgKCFlbGxhYmVsb2lkKQogCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJZXJyY29k ZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLApAQCAtMTYyNCw3ICsxNjE4LDcgQEAgQWx0ZXJQ cm9wR3JhcGgoUGFyc2VTdGF0ZSAqcHN0YXRlLCBjb25zdCBBbHRlclByb3BHcmFwaFN0bXQgKnN0 bXQpCiAJewogCQlPaWQJCQlwZW9pZDsKIAkJT2lkCQkJbGFiZWxvaWQ7Ci0JCU9pZAkJCWVsbGFi ZWxvaWQ7CisJCU9pZAkJCWVsbGFiZWxvaWQgPSBJbnZhbGlkT2lkOwogCQlPYmplY3RBZGRyZXNz IG9iajsKIAogCQlpZiAoc3RtdC0+ZWxlbWVudF9raW5kID09IFBST1BHUkFQSF9FTEVNRU5UX0tJ TkRfVkVSVEVYKQpAQCAtMTYzNiwxNyArMTYzMCwxMSBAQCBBbHRlclByb3BHcmFwaChQYXJzZVN0 YXRlICpwc3RhdGUsIGNvbnN0IEFsdGVyUHJvcEdyYXBoU3RtdCAqc3RtdCkKIAkJCQkJCQkJICAg QW51bV9wZ19wcm9wZ3JhcGhfbGFiZWxfb2lkLAogCQkJCQkJCQkgICBPYmplY3RJZEdldERhdHVt KHBncmVsaWQpLAogCQkJCQkJCQkgICBDU3RyaW5nR2V0RGF0dW0oc3RtdC0+YWx0ZXJfbGFiZWwp KTsKLQkJaWYgKCFsYWJlbG9pZCkKLQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCWVycmNvZGUoRVJS Q09ERV9VTkRFRklORURfT0JKRUNUKSwKLQkJCQkJZXJybXNnKCJwcm9wZXJ0eSBncmFwaCBcIiVz XCIgZWxlbWVudCBcIiVzXCIgaGFzIG5vIGxhYmVsIFwiJXNcIiIsCi0JCQkJCQkgICBnZXRfcmVs X25hbWUocGdyZWxpZCksIHN0bXQtPmVsZW1lbnRfYWxpYXMsIHN0bXQtPmFsdGVyX2xhYmVsKSwK LQkJCQkJcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwgLTEpKTsKLQotCQllbGxhYmVsb2lkID0g R2V0U3lzQ2FjaGVPaWQyKFBST1BHUkFQSEVMRU1FTlRMQUJFTEVMRU1FTlRMQUJFTCwKLQkJCQkJ CQkJCSBBbnVtX3BnX3Byb3BncmFwaF9lbGVtZW50X2xhYmVsX29pZCwKLQkJCQkJCQkJCSBPYmpl Y3RJZEdldERhdHVtKHBlb2lkKSwKLQkJCQkJCQkJCSBPYmplY3RJZEdldERhdHVtKGxhYmVsb2lk KSk7CisJCWlmIChsYWJlbG9pZCkKKwkJCWVsbGFiZWxvaWQgPSBHZXRTeXNDYWNoZU9pZDIoUFJP UEdSQVBIRUxFTUVOVExBQkVMRUxFTUVOVExBQkVMLAorCQkJCQkJCQkJCSBBbnVtX3BnX3Byb3Bn cmFwaF9lbGVtZW50X2xhYmVsX29pZCwKKwkJCQkJCQkJCQkgT2JqZWN0SWRHZXREYXR1bShwZW9p ZCksCisJCQkJCQkJCQkJIE9iamVjdElkR2V0RGF0dW0obGFiZWxvaWQpKTsKIAogCQlpZiAoIWVs bGFiZWxvaWQpCiAJCQllcmVwb3J0KEVSUk9SLApAQCAtMTY1OSwyMSArMTY0NywyNCBAQCBBbHRl clByb3BHcmFwaChQYXJzZVN0YXRlICpwc3RhdGUsIGNvbnN0IEFsdGVyUHJvcEdyYXBoU3RtdCAq c3RtdCkKIAkJewogCQkJY2hhcgkgICAqcHJvcG5hbWUgPSBzdHJWYWwobGZpcnN0KGxjKSk7CiAJ CQlPaWQJCQlwcm9wb2lkOwotCQkJT2lkCQkJcGxwb2lkOworCQkJT2lkCQkJcGxwb2lkID0gSW52 YWxpZE9pZDsKIAogCQkJcHJvcG9pZCA9IEdldFN5c0NhY2hlT2lkMihQUk9QR1JBUEhQUk9QTkFN RSwKIAkJCQkJCQkJCSAgQW51bV9wZ19wcm9wZ3JhcGhfcHJvcGVydHlfb2lkLAogCQkJCQkJCQkJ ICBPYmplY3RJZEdldERhdHVtKHBncmVsaWQpLAogCQkJCQkJCQkJICBDU3RyaW5nR2V0RGF0dW0o cHJvcG5hbWUpKTsKLQkJCWlmICghcHJvcG9pZCkKKwkJCWlmIChwcm9wb2lkKQorCQkJCXBscG9p ZCA9IEdldFN5c0NhY2hlT2lkMihQUk9QR1JBUEhMQUJFTFBST1AsCisJCQkJCQkJCQkJIEFudW1f cGdfcHJvcGdyYXBoX2xhYmVsX3Byb3BlcnR5X29pZCwKKwkJCQkJCQkJCQkgT2JqZWN0SWRHZXRE YXR1bShlbGxhYmVsb2lkKSwKKwkJCQkJCQkJCQkgT2JqZWN0SWRHZXREYXR1bShwcm9wb2lkKSk7 CisJCQlpZiAoIXBscG9pZCkKIAkJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkJZXJyY29kZShFUlJD T0RFX1VOREVGSU5FRF9PQkpFQ1QpLAogCQkJCQkJZXJybXNnKCJwcm9wZXJ0eSBncmFwaCBcIiVz XCIgZWxlbWVudCBcIiVzXCIgbGFiZWwgXCIlc1wiIGhhcyBubyBwcm9wZXJ0eSBcIiVzXCIiLAog CQkJCQkJCSAgIGdldF9yZWxfbmFtZShwZ3JlbGlkKSwgc3RtdC0+ZWxlbWVudF9hbGlhcywgc3Rt dC0+YWx0ZXJfbGFiZWwsIHByb3BuYW1lKSwKIAkJCQkJCXBhcnNlcl9lcnJwb3NpdGlvbihwc3Rh dGUsIC0xKSk7CiAKLQkJCXBscG9pZCA9IEdldFN5c0NhY2hlT2lkMihQUk9QR1JBUEhMQUJFTFBS T1AsIEFudW1fcGdfcHJvcGdyYXBoX2xhYmVsX3Byb3BlcnR5X29pZCwgT2JqZWN0SWRHZXREYXR1 bShlbGxhYmVsb2lkKSwgT2JqZWN0SWRHZXREYXR1bShwcm9wb2lkKSk7Ci0KIAkJCU9iamVjdEFk ZHJlc3NTZXQob2JqLCBQcm9wZ3JhcGhMYWJlbFByb3BlcnR5UmVsYXRpb25JZCwgcGxwb2lkKTsK IAkJCXBlcmZvcm1EZWxldGlvbigmb2JqLCBzdG10LT5kcm9wX2JlaGF2aW9yLCAwKTsKIAkJfQpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfcHJvcGVydHlfZ3Jh cGgub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfcHJvcGVydHlfZ3JhcGgu b3V0CmluZGV4IGRkNmM2NzE2N2U1Li5kMjk0YjhiOWE3ZSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9jcmVhdGVfcHJvcGVydHlfZ3JhcGgub3V0CisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLm91dApAQCAtODgsNiArODgs OCBAQCBDUkVBVEUgUFJPUEVSVFkgR1JBUEggZzQKICAgICApOwogQUxURVIgUFJPUEVSVFkgR1JB UEggZzQgQUxURVIgVkVSVEVYIFRBQkxFIHQyIEFMVEVSIExBQkVMIHQyIEFERCBQUk9QRVJUSUVT IChrICogMiBBUyBrayk7CiBBTFRFUiBQUk9QRVJUWSBHUkFQSCBnNCBBTFRFUiBWRVJURVggVEFC TEUgdDIgQUxURVIgTEFCRUwgdDIgRFJPUCBQUk9QRVJUSUVTIChrKTsKK0FMVEVSIFBST1BFUlRZ IEdSQVBIIGc0IEFMVEVSIFZFUlRFWCBUQUJMRSB0MiBBTFRFUiBMQUJFTCB0MiBEUk9QIFBST1BF UlRJRVMgKHl5KTsgIC0tIGVycm9yCitFUlJPUjogIHByb3BlcnR5IGdyYXBoICJnNCIgZWxlbWVu dCAidDIiIGxhYmVsICJ0MiIgaGFzIG5vIHByb3BlcnR5ICJ5eSIKIENSRUFURSBUQUJMRSB0MTEg KGEgaW50IFBSSU1BUlkgS0VZKTsKIENSRUFURSBUQUJMRSB0MTIgKGIgaW50IFBSSU1BUlkgS0VZ KTsKIENSRUFURSBUQUJMRSB0MTMgKApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv Y3JlYXRlX3Byb3BlcnR5X2dyYXBoLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9w cm9wZXJ0eV9ncmFwaC5zcWwKaW5kZXggNGNmNzcxNTk2YTguLjE5MTQxMmE2YTMzIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfcHJvcGVydHlfZ3JhcGguc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9wcm9wZXJ0eV9ncmFwaC5zcWwKQEAgLTc5LDYg Kzc5LDcgQEAgQ1JFQVRFIFBST1BFUlRZIEdSQVBIIGc0CiAKIEFMVEVSIFBST1BFUlRZIEdSQVBI IGc0IEFMVEVSIFZFUlRFWCBUQUJMRSB0MiBBTFRFUiBMQUJFTCB0MiBBREQgUFJPUEVSVElFUyAo ayAqIDIgQVMga2spOwogQUxURVIgUFJPUEVSVFkgR1JBUEggZzQgQUxURVIgVkVSVEVYIFRBQkxF IHQyIEFMVEVSIExBQkVMIHQyIERST1AgUFJPUEVSVElFUyAoayk7CitBTFRFUiBQUk9QRVJUWSBH UkFQSCBnNCBBTFRFUiBWRVJURVggVEFCTEUgdDIgQUxURVIgTEFCRUwgdDIgRFJPUCBQUk9QRVJU SUVTICh5eSk7ICAtLSBlcnJvcgogCiBDUkVBVEUgVEFCTEUgdDExIChhIGludCBQUklNQVJZIEtF WSk7CiBDUkVBVEUgVEFCTEUgdDEyIChiIGludCBQUklNQVJZIEtFWSk7Ci0tIAoyLjM0LjEKCg== --000000000000f0c43a0651996d73--