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 1s7uSl-008Env-7g for pgsql-hackers@arkaria.postgresql.org; Fri, 17 May 2024 10:05:20 +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 1s7uSk-009lzH-5A for pgsql-hackers@arkaria.postgresql.org; Fri, 17 May 2024 10:05:18 +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.94.2) (envelope-from ) id 1s7uSj-009lz5-J9 for pgsql-hackers@lists.postgresql.org; Fri, 17 May 2024 10:05:17 +0000 Received: from mail-yb1-xb30.google.com ([2607:f8b0:4864:20::b30]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1s7uSg-000dxj-Ko for pgsql-hackers@lists.postgresql.org; Fri, 17 May 2024 10:05:16 +0000 Received: by mail-yb1-xb30.google.com with SMTP id 3f1490d57ef6-df1cfa7f124so3163313276.3 for ; Fri, 17 May 2024 03:05:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715940313; x=1716545113; 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=plic0LET2H9WyYrBY+Zx6EA9pC8Q1mGyH1BAOW/ZEJU=; b=T89sB0AFBVXGQoPXOoPR9oy0quX9PmGd+jF5yhXQO3O5iRPFQxgfEI/4PfBBbpXDz/ ZBX2WodYgW9aubGnj/txzTArAxj/JB0gqB2vephvmcoTk/FG3H3Nh/YUKr1AUWqpvqds IZr5FaBw0lDOGu3VxCfrZukrR1CCDYMCdKJCnuIiAYRxzC31kqNBQKGRFhfPNol0LUIC ltRLdhLjL0i96HUsPZp5gfRhPwrfYW2QLYYqYqVW9tT3B9j8pQJipHtbeHywG7Gr+2sY xruaKdjpjjHM2LHiVlU+q+fqcIgofleOkbAWN0Nyz/ygGFrQMla+JdpWUfgiVVTNUZdE NyRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715940313; x=1716545113; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=plic0LET2H9WyYrBY+Zx6EA9pC8Q1mGyH1BAOW/ZEJU=; b=XdSY2RjjOwXOzn6WlgcbJCVmPh32gNMi8ye4FdcwExlTQYrUtBRZS3gofTH2+Iqdsu BBzUOGKn4Z8H1nQHDkmXR9mrWl2QB6Vxlv+8AB06R+1X6w5MmEMuYN6ftOxl7E+1RMzS XzVzOBYvRMhLRNoEajzQqNCn6A8o63/pi3yB3dP1EkDF5fr9h9D0vJe69ZiNFQiN69dG AA5MuzN3lpgc8yRi6ldUrk+Nlw2DRupPAf7OxfGu9BjDU/XC5wICcIf+n3pCCZa37Cwe Fw81txRjJ/a10QgnweVhKuK/B+3KBBQ7EtB7XvYlywMCKoZInKJqhEBep/aiz7VlEJS+ EovQ== X-Forwarded-Encrypted: i=1; AJvYcCW0iUjzef9hN/YpfGAKZ5KqWCr+5hFMyz1s+bVh6dExK/5Qbr45lloNVp12xMukArbQMfky7F+LT7MVSLJxuPqA5nigA08be2f98CYyz7i4P2gU X-Gm-Message-State: AOJu0Yw4sKoHoLNlAzr6yjhB6TgQbwIQrMQwcENq+yi8x/8c7P6Mw2B0 TH+bAqRmen71Yu7pBkprvfk4BA4dgL4Iy75Gvj5uNK7IH9C9PibpRHrKFmSrbI5MnViRM4QsSg9 9MePspWDz72xAIdCoLFJ+6rd/wgw= X-Google-Smtp-Source: AGHT+IGnjPxM9XOyl9kV4NCA79R/rm/I2oiPAZ3mNn+phoUDasGRBtgnuhFng6/nqHBB/toWqrtg6uHT5aqLOAxI/So= X-Received: by 2002:a05:6902:2:b0:dc7:43aa:5c0b with SMTP id 3f1490d57ef6-dee4f2cfa1emr19806993276.21.1715940313062; Fri, 17 May 2024 03:05:13 -0700 (PDT) MIME-Version: 1.0 References: <0f655bcd-6487-4179-f9cf-c248efbad510@gmail.com> <41117807-3bea-45bc-a9c0-743c29abff2d@postgrespro.ru> In-Reply-To: From: Alexander Korotkov Date: Fri, 17 May 2024 13:05:01 +0300 Message-ID: Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands To: Justin Pryzby Cc: Dmitry Koval , Alexander Lakhin , pgsql-hackers@lists.postgresql.org, Tomas Vondra , Alvaro Herrera Content-Type: multipart/mixed; boundary="000000000000d102ec0618a37c4b" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000d102ec0618a37c4b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, May 14, 2024 at 5:49=E2=80=AFPM Justin Pryzby wrote: > On Thu, May 09, 2024 at 12:51:32AM +0300, Alexander Korotkov wrote: > > > > However, parent's table extended statistics already covers all its > > > > children. > > > > > > =3D> That's the wrong explanation. It's not that "stats on the paren= t > > > table cover its children". It's that there are two types of stats: > > > stats for the "table hierarchy" and stats for the individual table. > > > That's true for single-column stats as well as for extended stats. > > > In both cases, that's indicated by the inh flag in the code and in th= e > > > catalog. > > > > > > The right explanation is that extended stats on partitioned tables ar= e > > > not similar to indexes. Indexes on parent table are nothing other th= an > > > a mechanism to create indexes on the child tables. That's not true f= or > > > stats. > > > > > > See also my prior messages > > > ZiJW1g2nbQs9ekwK@pryzbyj2023 > > > Zi5Msg74C61DjJKW@pryzbyj2023 > > > > Yes, I understand that parents pg_statistic entry with stainherit =3D= =3D > > true includes statistics for the children. I tried to express this by > > word "covers". But you're right, this is the wrong explanation. > > > > Can I, please, ask you to revise the patch? > > I tried to make this clear but it'd be nice if someone (Tomas/Alvaro?) > would check that this says what's wanted. Thank you! I've assembled the patches with the pending fixes. 0001 =E2=80=93 The patch by Dmitry Koval for fixing detection of name collision in SPLIT partition operation. Also, I found that name collision detection doesn't work well for MERGE partitions. I've added fix for that to this patch as well. 0002 -=E2=80=93 Patch for skipping copy of extended statistics. I would appreciate more feedback about wording, but I'd like to get a correct behavior into the source tree sooner. If the docs and/or comments need further improvements, we can fix that later. I'm going to push both if no objections. Links. 1. https://www.postgresql.org/message-id/147426d9-b793-4571-a5e5-7438affeeb= 5a%40postgrespro.ru ------ Regards, Alexander Korotkov Supabase --000000000000d102ec0618a37c4b Content-Type: application/octet-stream; name="v2-0001-Fix-the-name-collision-detection-in-MERGE-SPLIT-p.patch" Content-Disposition: attachment; filename="v2-0001-Fix-the-name-collision-detection-in-MERGE-SPLIT-p.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lwaicign0 RnJvbSBlYjIxZGNkYmEzMjYzYmM0NzAyNTY3YjBhZjE4ZTNiYTMyYzRhMjgwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS29yb3Rrb3YgPGFrb3JvdGtvdkBwb3N0Z3Jl c3FsLm9yZz4KRGF0ZTogRnJpLCAxNyBNYXkgMjAyNCAxMjo0NDowOSArMDMwMApTdWJqZWN0OiBb UEFUQ0ggdjIgMS8yXSBGaXggdGhlIG5hbWUgY29sbGlzaW9uIGRldGVjdGlvbiBpbiBNRVJHRS9T UExJVAogcGFydGl0aW9uIG9wZXJhdGlvbnMKCkJvdGggTUVSR0UgYW5kIFNQTElUIHBhcnRpdGlv biBvcGVyYXRpb25zIHN1cHBvcnQgdGhlIGNhc2Ugd2hlbiB0aGUgbmFtZSBvZiB0aGUKbmV3IHBh cnRpdGlvbiBtYXRjaGVzIHRoZSBuYW1lIG9mIHRoZSBleGlzdGluZyBwYXJ0aXRpb24gdG8gYmUg bWVyZ2VkL3NwbGl0LgpCdXQgdGhlIG5hbWUgY29sbGlzaW9uIGRldGVjdGlvbiBkb2Vzbid0IGFs d2F5cyB3b3JrIGFzIGludGVuZGVkLiAgVGhlIFNQTElUCnBhcnRpdGlvbiBvcGVyYXRpb24gZmlu ZHMgdGhlIG5hbWVzcGFjZSB0byBzZWFyY2ggZm9yIGFuIGV4aXN0aW5nIHBhcnRpdGlvbgp3aXRo b3V0IHRha2luZyBpbnRvIGFjY291bnQgdGhlIHBhcmVudCdzIHBlcnNpc3RlbmNlLiAgVGhlIE1F UkdFIHBhcnRpdGlvbgpvcGVyYXRpb24gY2hlY2tzIGZvciB0aGUgbmFtZSBjb2xsaXNpb24gd2l0 aCBzaW1wbGUgZXF1YWwoKSBvbiBSYW5nZVZhcidzCnNpbXBseSBpZ25vcmluZyB0aGUgc2VhcmNo X3BhdGguCgpUaGlzIGNvbW1pdCBmaXhlcyB0aGlzIGJlaGF2aW9yIGFzIGZvbGxvd3MuCiAxLiBU aGUgU1BMSVQgcGFydGl0aW9uIG9wZXJhdGlvbiBub3cgZmluZHMgdGhlIG5hbWVzcGFjZSB0byBz ZWFyY2ggZm9yCiAgICBhbiBleGlzdGluZyBwYXJ0aXRpb24gYWNjb3JkaW5nIHRvIHRoZSBwYXJl bnQncyBwZXJzaXN0ZW5jZS4KIDIuIFRoZSBNRVJHRSBwYXJ0aXRpb24gb3BlcmF0aW9uIG5vdyBj aGVja3MgZm9yIHRoZSBuYW1lIGNvbGxpc2lvbiBzaW1pbGFybHkKICAgIHRvIHRoZSBTUExJVCBw YXJ0aXRpb24gb3BlcmF0aW9uIHVzaW5nCiAgICBSYW5nZVZhckdldEFuZENoZWNrQ3JlYXRpb25O YW1lc3BhY2UoKSBhbmQgZ2V0X3JlbG5hbWVfcmVsaWQoKS4KClJlcG9ydGVkLWJ5OiBBbGV4YW5k ZXIgTGFraGluCkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vODZiNGYxZTMtMGI1ZC0z MTVjLTkyMjUtMTk4NjBkNjRkNjg1JTQwZ21haWwuY29tCkF1dGhvcjogRG1pdHJ5IEtvdmFsLCBB bGV4YW5kZXIgS29yb3Rrb3YKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAg ICAgICAgICAgICAgfCA2MiArKysrKysrKysrKysrKystLS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQgfCAgMyArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0IHwgIDggKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9w YXJ0aXRpb25fbWVyZ2Uuc3FsICAgICAgfCAgMyArLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFy dGl0aW9uX3NwbGl0LnNxbCAgICAgIHwgIDkgKysrCiA1IGZpbGVzIGNoYW5nZWQsIDcyIGluc2Vy dGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5kZXgg MzEzYzc4MmNhZTIuLjdhMDYzY2E4YWUwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5k cy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpAQCAt MjA0MDksNiArMjA0MDksNyBAQCBBVEV4ZWNTcGxpdFBhcnRpdGlvbihMaXN0ICoqd3F1ZXVlLCBB bHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkJICogYWdhaW5zdCBjb25jdXJy ZW50IGRyb3AsIGFuZCBtYXJrIHN0bXQtPnJlbGF0aW9uIGFzCiAJCSAqIFJFTFBFUlNJU1RFTkNF X1RFTVAgaWYgYSB0ZW1wb3JhcnkgbmFtZXNwYWNlIGlzIHNlbGVjdGVkLgogCQkgKi8KKwkJc3Bz LT5uYW1lLT5yZWxwZXJzaXN0ZW5jZSA9IHJlbC0+cmRfcmVsLT5yZWxwZXJzaXN0ZW5jZTsKIAkJ bmFtZXNwYWNlSWQgPQogCQkJUmFuZ2VWYXJHZXRBbmRDaGVja0NyZWF0aW9uTmFtZXNwYWNlKHNw cy0+bmFtZSwgTm9Mb2NrLCBOVUxMKTsKIApAQCAtMjA2MDEsNiArMjA2MDIsOCBAQCBBVEV4ZWNN ZXJnZVBhcnRpdGlvbnMoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxh dGlvbiByZWwsCiAJTGlzdENlbGwgICAqbGlzdHB0cjsKIAlMaXN0CSAgICptZXJnaW5nUGFydGl0 aW9uc0xpc3QgPSBOSUw7CiAJT2lkCQkJZGVmYXVsdFBhcnRPaWQ7CisJT2lkCQkJbmFtZXNwYWNl SWQ7CisJT2lkCQkJZXhpc3RpbmdSZWxpZDsKIAogCS8qCiAJICogTG9jayBhbGwgbWVyZ2VkIHBh cnRpdGlvbnMsIGNoZWNrIHRoZW0gYW5kIGNyZWF0ZSBsaXN0IHdpdGggcGFydGl0aW9ucwpAQCAt MjA2MTcsMTMgKzIwNjIwLDQ4IEBAIEFURXhlY01lcmdlUGFydGl0aW9ucyhMaXN0ICoqd3F1ZXVl LCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkJICovCiAJCW1lcmdpbmdQ YXJ0aXRpb24gPSB0YWJsZV9vcGVucnYobmFtZSwgQWNjZXNzRXhjbHVzaXZlTG9jayk7CiAKLQkJ LyoKLQkJICogQ2hlY2tpbmcgdGhhdCB0d28gcGFydGl0aW9ucyBoYXZlIHRoZSBzYW1lIG5hbWUg d2FzIGJlZm9yZSwgaW4KLQkJICogZnVuY3Rpb24gdHJhbnNmb3JtUGFydGl0aW9uQ21kRm9yTWVy Z2UoKS4KLQkJICovCi0JCWlmIChlcXVhbChuYW1lLCBjbWQtPm5hbWUpKQorCQkvKiBTdG9yZSBh IG5leHQgbWVyZ2luZyBwYXJ0aXRpb24gaW50byB0aGUgbGlzdC4gKi8KKwkJbWVyZ2luZ1BhcnRp dGlvbnNMaXN0ID0gbGFwcGVuZChtZXJnaW5nUGFydGl0aW9uc0xpc3QsCisJCQkJCQkJCQkJbWVy Z2luZ1BhcnRpdGlvbik7CisJfQorCisJLyoKKwkgKiBMb29rIHVwIHRoZSBuYW1lc3BhY2UgaW4g d2hpY2ggd2UgYXJlIHN1cHBvc2VkIHRvIGNyZWF0ZSB0aGUgcGFydGl0aW9uLAorCSAqIGNoZWNr IHdlIGhhdmUgcGVybWlzc2lvbiB0byBjcmVhdGUgdGhlcmUsIGxvY2sgaXQgYWdhaW5zdCBjb25j dXJyZW50CisJICogZHJvcCwgYW5kIG1hcmsgc3RtdC0+cmVsYXRpb24gYXMgUkVMUEVSU0lTVEVO Q0VfVEVNUCBpZiBhIHRlbXBvcmFyeQorCSAqIG5hbWVzcGFjZSBpcyBzZWxlY3RlZC4KKwkgKi8K KwljbWQtPm5hbWUtPnJlbHBlcnNpc3RlbmNlID0gcmVsLT5yZF9yZWwtPnJlbHBlcnNpc3RlbmNl OworCW5hbWVzcGFjZUlkID0KKwkJUmFuZ2VWYXJHZXRBbmRDaGVja0NyZWF0aW9uTmFtZXNwYWNl KGNtZC0+bmFtZSwgTm9Mb2NrLCBOVUxMKTsKKworCS8qCisJICogQ2hlY2sgaWYgdGhpcyBuYW1l IGlzIGFscmVhZHkgdGFrZW4uICBUaGlzIGhlbHBzIHVzIHRvIGRldGVjdCB0aGUKKwkgKiBzaXR1 YXRpb24gd2hlbiBvbmUgb2YgdGhlIG1lcmdpbmcgcGFydGl0aW9ucyBoYXMgdGhlIHNhbWUgbmFt ZSBhcyB0aGUKKwkgKiBuZXcgcGFydGl0aW9uLiAgT3RoZXJ3aXNlLCB0aGlzIHdvdWxkIGZhaWwg bGF0ZXIgb24gYW55d2F5IGJ1dCBjYXRjaGluZworCSAqIHRoaXMgaGVyZSBhbGxvd3MgdXMgdG8g ZW1pdCBhIG5pY2VyIGVycm9yIG1lc3NhZ2UuCisJICovCisJZXhpc3RpbmdSZWxpZCA9IGdldF9y ZWxuYW1lX3JlbGlkKGNtZC0+bmFtZS0+cmVsbmFtZSwgbmFtZXNwYWNlSWQpOworCisJaWYgKE9p ZElzVmFsaWQoZXhpc3RpbmdSZWxpZCkpCisJeworCQlSZWxhdGlvbglzYW1lTmFtZVBhcnRpdGlv biA9IE5VTEw7CisKKwkJZm9yZWFjaF9wdHIoUmVsYXRpb25EYXRhLCBtZXJnaW5nUGFydGl0aW9u LCBtZXJnaW5nUGFydGl0aW9uc0xpc3QpCiAJCXsKLQkJCS8qIE9uZSBuZXcgcGFydGl0aW9uIGNh biBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgbWVyZ2VkIHBhcnRpdGlvbi4gKi8KKwkJCWlmIChSZWxh dGlvbkdldFJlbGlkKG1lcmdpbmdQYXJ0aXRpb24pID09IGV4aXN0aW5nUmVsaWQpCisJCQl7CisJ CQkJc2FtZU5hbWVQYXJ0aXRpb24gPSBtZXJnaW5nUGFydGl0aW9uOworCQkJCWJyZWFrOworCQkJ fQorCQl9CisKKwkJaWYgKHNhbWVOYW1lUGFydGl0aW9uKQorCQl7CisJCQkvKgorCQkJICogVGhl IG5ldyBwYXJ0aXRpb24gaGFzIHRoZSBzYW1lIG5hbWUgYXMgb25lIG9mIG1lcmdpbmcKKwkJCSAq IHBhcnRpdGlvbnMuCisJCQkgKi8KIAkJCWNoYXIJCXRtcFJlbE5hbWVbTkFNRURBVEFMRU5dOwog CiAJCQkvKiBHZW5lcmF0ZSB0ZW1wb3JhcnkgbmFtZS4gKi8KQEAgLTIwNjM1LDcgKzIwNjczLDcg QEAgQVRFeGVjTWVyZ2VQYXJ0aXRpb25zKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8g KnRhYiwgUmVsYXRpb24gcmVsLAogCQkJICogaW4gdGhlIGZ1dHVyZSBiZWNhdXNlIHdlJ3JlIGdv aW5nIHRvIGV2ZW50dWFsbHkgZHJvcCB0aGUKIAkJCSAqIGV4aXN0aW5nIHBhcnRpdGlvbiBhbnl3 YXkuCiAJCQkgKi8KLQkJCVJlbmFtZVJlbGF0aW9uSW50ZXJuYWwoUmVsYXRpb25HZXRSZWxpZCht ZXJnaW5nUGFydGl0aW9uKSwKKwkJCVJlbmFtZVJlbGF0aW9uSW50ZXJuYWwoUmVsYXRpb25HZXRS ZWxpZChzYW1lTmFtZVBhcnRpdGlvbiksCiAJCQkJCQkJCSAgIHRtcFJlbE5hbWUsIGZhbHNlLCBm YWxzZSk7CiAKIAkJCS8qCkBAIC0yMDY0NCwxMCArMjA2ODIsMTIgQEAgQVRFeGVjTWVyZ2VQYXJ0 aXRpb25zKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVsYXRpb24gcmVs LAogCQkJICovCiAJCQlDb21tYW5kQ291bnRlckluY3JlbWVudCgpOwogCQl9Ci0KLQkJLyogU3Rv cmUgYSBuZXh0IG1lcmdpbmcgcGFydGl0aW9uIGludG8gdGhlIGxpc3QuICovCi0JCW1lcmdpbmdQ YXJ0aXRpb25zTGlzdCA9IGxhcHBlbmQobWVyZ2luZ1BhcnRpdGlvbnNMaXN0LAotCQkJCQkJCQkJ CW1lcmdpbmdQYXJ0aXRpb24pOworCQllbHNlCisJCXsKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJ CShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX1RBQkxFKSwKKwkJCQkJIGVycm1zZygicmVsYXRp b24gXCIlc1wiIGFscmVhZHkgZXhpc3RzIiwgY21kLT5uYW1lLT5yZWxuYW1lKSkpOworCQl9CiAJ fQogCiAJLyogRGV0YWNoIGFsbCBtZXJnZWQgcGFydGl0aW9ucy4gKi8KZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX21lcmdlLm91dCBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX21lcmdlLm91dAppbmRleCA2MzYxNzMyZDEwNC4uOWM2 N2E0YThiMTUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9u X21lcmdlLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJn ZS5vdXQKQEAgLTIxNCw3ICsyMTQsOCBAQCBJTlNFUlQgSU5UTyBzYWxlc19yYW5nZSBWQUxVRVMg KDEzLCAnR2FuZGknLCAgICAzNzcsICAnMjAyMi0wMS0wOScpOwogSU5TRVJUIElOVE8gc2FsZXNf cmFuZ2UgVkFMVUVTICgxNCwgJ1NtaXRoJywgICAgNTEwLCAgJzIwMjItMDUtMDQnKTsKIC0tIE1l cmdlIHBhcnRpdGlvbnMgKGluY2x1ZGUgREVGQVVMVCBwYXJ0aXRpb24pIGludG8gcGFydGl0aW9u IHdpdGggdGhlIHNhbWUKIC0tIG5hbWUKLUFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBB UlRJVElPTlMgKHNhbGVzX2phbjIwMjIsIHNhbGVzX21hcjIwMjIsIHNhbGVzX290aGVycykgSU5U TyBzYWxlc19vdGhlcnM7CitBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05T CisgIChzYWxlc19qYW4yMDIyLCBzYWxlc19tYXIyMDIyLCBwYXJ0aXRpb25zX21lcmdlX3NjaGVt YS5zYWxlc19vdGhlcnMpIElOVE8gc2FsZXNfb3RoZXJzOwogc2VsZWN0ICogZnJvbSBzYWxlc19v dGhlcnM7CiAgc2FsZXNwZXJzb25faWQgfCBzYWxlc3BlcnNvbl9uYW1lIHwgc2FsZXNfYW1vdW50 IHwgc2FsZXNfZGF0ZSAKIC0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0 aXRpb25fc3BsaXQub3V0CmluZGV4IDE0YzRmOTdjOWZmLi42MzY5ZjA2Yjg0MSAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0CisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3NwbGl0Lm91dApAQCAtMTU0Nyw2ICsx NTQ3LDE0IEBAIFJFVk9LRSBBTEwgT04gU0NIRU1BIHBhcnRpdGlvbl9zcGxpdF9zY2hlbWEgRlJP TSByZWdyZXNzX3BhcnRpdGlvbl9zcGxpdF9hbGljZTsKIFJFVk9LRSBBTEwgT04gU0NIRU1BIHBh cnRpdGlvbl9zcGxpdF9zY2hlbWEgRlJPTSByZWdyZXNzX3BhcnRpdGlvbl9zcGxpdF9ib2I7CiBE Uk9QIFJPTEUgcmVncmVzc19wYXJ0aXRpb25fc3BsaXRfYWxpY2U7CiBEUk9QIFJPTEUgcmVncmVz c19wYXJ0aXRpb25fc3BsaXRfYm9iOworLS0gQ2hlY2sgdGhhdCBkZXRlY3Rpb24sIHRoYXQgdGhl IG5ldyBwYXJ0aXRpb24gaGFzIHRoZSBzYW1lIG5hbWUgYXMgb25lIG9mCistLSB0aGUgbWVyZ2Vk IHBhcnRpdGlvbnMsIHdvcmtzIGNvcnJlY3RseSBmb3IgdGVtcG9yYXJ5IHBhcnRpdGlvbnMKK0NS RUFURSBURU1QIFRBQkxFIHQgKGEgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UgKGEpOworQ1JFQVRF IFRFTVAgVEFCTEUgdHBfMCBQQVJUSVRJT04gT0YgdCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgy KTsKK0FMVEVSIFRBQkxFIHQgU1BMSVQgUEFSVElUSU9OIHRwXzAgSU5UTworICAoUEFSVElUSU9O IHRwXzAgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMSksCisgICBQQVJUSVRJT04gdHBfMSBGT1Ig VkFMVUVTIEZST00gKDEpIFRPICgyKSk7CitEUk9QIFRBQkxFIHQ7CiBSRVNFVCBzZWFyY2hfcGF0 aDsKIC0tCiBEUk9QIFNDSEVNQSBwYXJ0aXRpb25fc3BsaXRfc2NoZW1hOwpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdlLnNxbCBiL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKaW5kZXggNWE3NDFlZmEwOWIuLjU2MjQ5NzMyMDAy IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fbWVyZ2Uuc3FsCisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKQEAgLTE0MCw3ICsx NDAsOCBAQCBJTlNFUlQgSU5UTyBzYWxlc19yYW5nZSBWQUxVRVMgKDE0LCAnU21pdGgnLCAgICA1 MTAsICAnMjAyMi0wNS0wNCcpOwogCiAtLSBNZXJnZSBwYXJ0aXRpb25zIChpbmNsdWRlIERFRkFV TFQgcGFydGl0aW9uKSBpbnRvIHBhcnRpdGlvbiB3aXRoIHRoZSBzYW1lCiAtLSBuYW1lCi1BTFRF UiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19qYW4yMDIyLCBzYWxl c19tYXIyMDIyLCBzYWxlc19vdGhlcnMpIElOVE8gc2FsZXNfb3RoZXJzOworQUxURVIgVEFCTEUg c2FsZXNfcmFuZ2UgTUVSR0UgUEFSVElUSU9OUworICAoc2FsZXNfamFuMjAyMiwgc2FsZXNfbWFy MjAyMiwgcGFydGl0aW9uc19tZXJnZV9zY2hlbWEuc2FsZXNfb3RoZXJzKSBJTlRPIHNhbGVzX290 aGVyczsKIAogc2VsZWN0ICogZnJvbSBzYWxlc19vdGhlcnM7CiAKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9wYXJ0aXRpb25fc3BsaXQuc3FsCmluZGV4IDcwZDcwNDk5ZWM2Li42N2VkMjc0ZjUyOSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX3NwbGl0LnNxbAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQuc3FsCkBAIC05MzEsNiArOTMxLDE1 IEBAIFJFVk9LRSBBTEwgT04gU0NIRU1BIHBhcnRpdGlvbl9zcGxpdF9zY2hlbWEgRlJPTSByZWdy ZXNzX3BhcnRpdGlvbl9zcGxpdF9ib2I7CiBEUk9QIFJPTEUgcmVncmVzc19wYXJ0aXRpb25fc3Bs aXRfYWxpY2U7CiBEUk9QIFJPTEUgcmVncmVzc19wYXJ0aXRpb25fc3BsaXRfYm9iOwogCistLSBD aGVjayB0aGF0IGRldGVjdGlvbiwgdGhhdCB0aGUgbmV3IHBhcnRpdGlvbiBoYXMgdGhlIHNhbWUg bmFtZSBhcyBvbmUgb2YKKy0tIHRoZSBtZXJnZWQgcGFydGl0aW9ucywgd29ya3MgY29ycmVjdGx5 IGZvciB0ZW1wb3JhcnkgcGFydGl0aW9ucworQ1JFQVRFIFRFTVAgVEFCTEUgdCAoYSBpbnQpIFBB UlRJVElPTiBCWSBSQU5HRSAoYSk7CitDUkVBVEUgVEVNUCBUQUJMRSB0cF8wIFBBUlRJVElPTiBP RiB0IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDIpOworQUxURVIgVEFCTEUgdCBTUExJVCBQQVJU SVRJT04gdHBfMCBJTlRPCisgIChQQVJUSVRJT04gdHBfMCBGT1IgVkFMVUVTIEZST00gKDApIFRP ICgxKSwKKyAgIFBBUlRJVElPTiB0cF8xIEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpKTsKK0RS T1AgVEFCTEUgdDsKKwogUkVTRVQgc2VhcmNoX3BhdGg7CiAKIC0tCi0tIAoyLjM5LjMgKEFwcGxl IEdpdC0xNDUpCgo= --000000000000d102ec0618a37c4b Content-Type: application/octet-stream; name="v2-0002-Don-t-copy-extended-statistics-during-MERGE-SPLIT.patch" Content-Disposition: attachment; filename="v2-0002-Don-t-copy-extended-statistics-during-MERGE-SPLIT.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lwaicigz1 RnJvbSBhNTQ0MzM2YWFiZTVkYWVlN2UyMTI0OTI3ZGUwMTc2NDRhMDFiYzMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS29yb3Rrb3YgPGFrb3JvdGtvdkBwb3N0Z3Jl c3FsLm9yZz4KRGF0ZTogRnJpLCAxNyBNYXkgMjAyNCAxMjo1Njo0NiArMDMwMApTdWJqZWN0OiBb UEFUQ0ggdjIgMi8yXSBEb24ndCBjb3B5IGV4dGVuZGVkIHN0YXRpc3RpY3MgZHVyaW5nIE1FUkdF L1NQTElUCiBwYXJ0aXRpb24gb3BlcmF0aW9ucwoKV2hlbiBNRVJHRS9TUExJVCBjcmVhdGVkIG5l dyBwYXJ0aXRpb25zLCBpdCB3YXMgY2xvbmluZyB0aGUgZXh0ZW5kZWQKc3RhdGlzdGljcyBvZiB0 aGUgcGFyZW50IHRhYmxlLgoKSG93ZXZlciwgZXh0ZW5kZWQgc3RhdHMgb24gcGFydGl0aW9uZWQg dGFibGVzIGFyZSBub3QgYW5hbGdvdXMgdG8KaW5kZXhlcyBvbiBwYXJ0aXRpb25lZCB0YWJsZXMg KHdoaWNoIGV4aXN0IG9ubHkgdG8gY3JlYXRlIHBoeXNpY2FsCmluZGV4ZXMgb24gY2hpbGQgdGFi bGVzKS4gIFJhdGhlciwgZXh0ZW5kZWQgc3RhdHMgb24gYSBwYXJlbnQgMSkgY2F1c2UKZXh0ZW5k ZWQgc3RhdHMgdG8gYmUgY29sbGVjdGVkIGFuZCBjb21wdXRlZCBhY3Jvc3MgdGhlIHdob2xlIHBh cnRpdGlvbgpoZWlyYXJjaHksIGFuZCAyKSBkbyBub3QgY2F1c2UgZXh0ZW5kZWQgc3RhdHMgdG8g YmUgY29tcHV0ZWQgZm9yIHRoZQppbmRpdmlkdWFsIHBhcnRpdGlvbnMuCgoiQ1JFQVRFIFRBQkxF IC4uLiBQQVJUSVRJT04gT0YiIGNvbW1hbmQgZG9lc24ndCBjb3B5IGV4dGVuZGVkCnN0YXRpc3Rp Y3MuICBUaGlzIGNvbW1pdCBtYWtlcyBjcmVhdGVQYXJ0aXRpb25UYWJsZSgpIGJlaGF2ZQpjb25z aXN0ZW50bHkuCgpSZXBvcnRlZC1ieTogSnVzdGluIFByeXpieQpEaXNjdXNzaW9uOiBodHRwczov L3Bvc3Rnci5lcy9tL1ppSlcxZzJuYlFzOWVrd0slNDBwcnl6YnlqMjAyMwpBdXRob3I6IEFsZXhh bmRlciBLb3JvdGtvdiwgSnVzdGluIFByeXpieQotLS0KIGRvYy9zcmMvc2dtbC9yZWYvYWx0ZXJf dGFibGUuc2dtbCB8IDkgKysrKysrKy0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMu YyAgfCA4ICsrKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDUgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl90YWJsZS5zZ21s IGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl90YWJsZS5zZ21sCmluZGV4IDVkMzUyYWJmOTkxLi5j MDYyYTM2ODgwZCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl90YWJsZS5zZ21s CisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfdGFibGUuc2dtbApAQCAtMTE1NCw5ICsxMTU0 LDEyIEBAIFdJVEggKCBNT0RVTFVTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1l cmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVNCiAgICAgIDwvcGFyYT4KICAgICAgPHBhcmE+ CiAgICAgICBUaGUgbmV3IHBhcnRpdGlvbnMgd2lsbCBiZSBjcmVhdGVkIHRoZSBzYW1lIGFzIHRh YmxlcyBjcmVhdGVkIHdpdGggdGhlCi0gICAgICBTUUwgY29tbWFuZCA8bGl0ZXJhbD5DUkVBVEUg VEFCTEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhcnRpdGlvbl9uYW1lTjwvcmVw bGFjZWFibGU+IChMSUtFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBs YWNlYWJsZT4gSU5DTFVESU5HIEFMTCBFWENMVURJTkcgSU5ERVhFUyBFWENMVURJTkcgSURFTlRJ VFkpPC9saXRlcmFsPi4KKyAgICAgIFNRTCBjb21tYW5kIDxsaXRlcmFsPkNSRUFURSBUQUJMRSA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGFydGl0aW9uX25hbWVOPC9yZXBsYWNlYWJs ZT4gKExJS0UgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxl PiBJTkNMVURJTkcgQUxMIEVYQ0xVRElORyBJTkRFWEVTIEVYQ0xVRElORyBJREVOVElUWSBFWENM VURJTkcgU1RBVElTVElDUyk8L2xpdGVyYWw+LgogICAgICAgVGhlIGluZGV4ZXMgYW5kIGlkZW50 aXR5IGFyZSBjcmVhdGVkIGxhdGVyLCBhZnRlciBtb3ZpbmcgdGhlIGRhdGEKICAgICAgIGludG8g dGhlIG5ldyBwYXJ0aXRpb25zLgorICAgICAgRXh0ZW5kZWQgc3RhdGlzdGljcyBhcmVuJ3QgY29w aWVkIGZyb20gdGhlIHBhcmVudCB0YWJsZSwgZm9yIGNvbnNpc3RlbmN5IHdpdGgKKyAgICAgIDxj b21tYW5kPkNSRUFURSBUQUJMRSBQQVJUSVRJT04gT0Y8L2NvbW1hbmQ+LgorCiAgICAgICBOZXcg cGFydGl0aW9ucyB3aWxsIGhhdmUgdGhlIHNhbWUgdGFibGUgYWNjZXNzIG1ldGhvZCBhcyB0aGUg cGFyZW50LgogICAgICAgSWYgdGhlIHBhcmVudCB0YWJsZSBpcyBwZXJzaXN0ZW50IHRoZW4gbmV3 IHBhcnRpdGlvbnMgYXJlIGNyZWF0ZWQKICAgICAgIHBlcnNpc3RlbnQuICBJZiB0aGUgcGFyZW50 IHRhYmxlIGlzIHRlbXBvcmFyeSB0aGVuIG5ldyBwYXJ0aXRpb25zCkBAIC0xMjI0LDkgKzEyMjcs MTEgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVy aWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAgPC9wYXJhPgogICAgICA8cGFyYT4K ICAgICAgIFRoZSBuZXcgcGFydGl0aW9uIHdpbGwgYmUgY3JlYXRlZCB0aGUgc2FtZSBhcyBhIHRh YmxlIGNyZWF0ZWQgd2l0aCB0aGUKLSAgICAgIFNRTCBjb21tYW5kIDxsaXRlcmFsPkNSRUFURSBU QUJMRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGFydGl0aW9uX25hbWU8L3JlcGxh Y2VhYmxlPiAoTElLRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFj ZWFibGU+IElOQ0xVRElORyBBTEwgRVhDTFVESU5HIElOREVYRVMgRVhDTFVESU5HIElERU5USVRZ KTwvbGl0ZXJhbD4uCisgICAgICBTUUwgY29tbWFuZCA8bGl0ZXJhbD5DUkVBVEUgVEFCTEUgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhcnRpdGlvbl9uYW1lPC9yZXBsYWNlYWJsZT4g KExJS0UgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBJ TkNMVURJTkcgQUxMIEVYQ0xVRElORyBJTkRFWEVTIEVYQ0xVRElORyBJREVOVElUWSBFWENMVURJ TkcgU1RBVElTVElDUyk8L2xpdGVyYWw+LgogICAgICAgVGhlIGluZGV4ZXMgYW5kIGlkZW50aXR5 IGFyZSBjcmVhdGVkIGxhdGVyLCBhZnRlciBtb3ZpbmcgdGhlIGRhdGEKICAgICAgIGludG8gdGhl IG5ldyBwYXJ0aXRpb24uCisgICAgICBFeHRlbmRlZCBzdGF0aXN0aWNzIGFyZW4ndCBjb3BpZWQg ZnJvbSB0aGUgcGFyZW50IHRhYmxlLCBmb3IgY29uc2lzdGVuY3kgd2l0aAorICAgICAgPGNvbW1h bmQ+Q1JFQVRFIFRBQkxFIFBBUlRJVElPTiBPRjwvY29tbWFuZD4uCiAgICAgICBUaGUgbmV3IHBh cnRpdGlvbiB3aWxsIGhhdmUgdGhlIHNhbWUgdGFibGUgYWNjZXNzIG1ldGhvZCBhcyB0aGUgcGFy ZW50LgogICAgICAgSWYgdGhlIHBhcmVudCB0YWJsZSBpcyBwZXJzaXN0ZW50IHRoZW4gdGhlIG5l dyBwYXJ0aXRpb24gaXMgY3JlYXRlZAogICAgICAgcGVyc2lzdGVudC4gIElmIHRoZSBwYXJlbnQg dGFibGUgaXMgdGVtcG9yYXJ5IHRoZW4gdGhlIG5ldyBwYXJ0aXRpb24KZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFi bGVjbWRzLmMKaW5kZXggN2EwNjNjYThhZTAuLjdiNmM2OWI3YTUyIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90 YWJsZWNtZHMuYwpAQCAtMjAyNjksNyArMjAyNjksNyBAQCBtb3ZlU3BsaXRUYWJsZVJvd3MoUmVs YXRpb24gcmVsLCBSZWxhdGlvbiBzcGxpdFJlbCwgTGlzdCAqcGFydGxpc3QsIExpc3QgKm5ld1Bh cgogICogKG5ld1BhcnROYW1lKSBsaWtlIHRhYmxlIChtb2RlbFJlbCkKICAqCiAgKiBFbXVsYXRl cyBjb21tYW5kOiBDUkVBVEUgW1RFTVBdIFRBQkxFIDxuZXdQYXJ0TmFtZT4gKExJS0UgPG1vZGVs UmVsJ3MgbmFtZT4KLSAqIElOQ0xVRElORyBBTEwgRVhDTFVESU5HIElOREVYRVMgRVhDTFVESU5H IElERU5USVRZKQorICogSU5DTFVESU5HIEFMTCBFWENMVURJTkcgSU5ERVhFUyBFWENMVURJTkcg SURFTlRJVFkgRVhDTFVESU5HIFNUQVRJU1RJQ1MpCiAgKgogICogQWxzbywgdGhpcyBmdW5jdGlv biBzZXRzIHRoZSBuZXcgcGFydGl0aW9uIGFjY2VzcyBtZXRob2Qgc2FtZSBhcyBwYXJlbnQKICAq IHRhYmxlIGFjY2VzcyBtZXRob2RzIChzaW1pbGFybHkgdG8gQ1JFQVRFIFRBQkxFIC4uLiBQQVJU SVRJT04gT0YpLiAgSXQKQEAgLTIwMzEzLDkgKzIwMzEzLDExIEBAIGNyZWF0ZVBhcnRpdGlvblRh YmxlKFJhbmdlVmFyICpuZXdQYXJ0TmFtZSwgUmVsYXRpb24gbW9kZWxSZWwsCiAKIAkvKgogCSAq IEluZGV4ZXMgd2lsbCBiZSBpbmhlcml0ZWQgb24gImF0dGFjaCBuZXcgcGFydGl0aW9ucyIgc3Rh Z2UsIGFmdGVyIGRhdGEKLQkgKiBtb3ZpbmcuCisJICogbW92aW5nLiAgV2UgYWxzbyBkb24ndCBj b3B5IHRoZSBleHRlbmRlZCBzdGF0aXN0aWNzIGZvciBjb25zaXN0ZW5jeQorCSAqIHdpdGggQ1JF QVRFIFRBQkxFIFBBUlRJVElPTiBPRi4KIAkgKi8KLQl0bGMtPm9wdGlvbnMgPSBDUkVBVEVfVEFC TEVfTElLRV9BTEwgJiB+KENSRUFURV9UQUJMRV9MSUtFX0lOREVYRVMgfCBDUkVBVEVfVEFCTEVf TElLRV9JREVOVElUWSk7CisJdGxjLT5vcHRpb25zID0gQ1JFQVRFX1RBQkxFX0xJS0VfQUxMICYK KwkJfihDUkVBVEVfVEFCTEVfTElLRV9JTkRFWEVTIHwgQ1JFQVRFX1RBQkxFX0xJS0VfSURFTlRJ VFkgfCBDUkVBVEVfVEFCTEVfTElLRV9TVEFUSVNUSUNTKTsKIAl0bGMtPnJlbGF0aW9uT2lkID0g SW52YWxpZE9pZDsKIAljcmVhdGVTdG10LT50YWJsZUVsdHMgPSBsYXBwZW5kKGNyZWF0ZVN0bXQt PnRhYmxlRWx0cywgdGxjKTsKIAotLSAKMi4zOS4zIChBcHBsZSBHaXQtMTQ1KQoK --000000000000d102ec0618a37c4b--