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 1n9Q8P-0006BI-C4 for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Jan 2022 11:25:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1n9Q8O-0004Oo-3S for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Jan 2022 11:25:12 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n9Q8N-0004Mg-FH for pgsql-hackers@lists.postgresql.org; Mon, 17 Jan 2022 11:25:11 +0000 Received: from mxout4.routing.net ([2a03:2900:1:a::9]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n9Q8J-0006mP-Ax for pgsql-hackers@postgresql.org; Mon, 17 Jan 2022 11:25:10 +0000 Received: from mxbox4.masterlogin.de (unknown [192.168.10.79]) by mxout4.routing.net (Postfix) with ESMTP id A8D701007AD; Mon, 17 Jan 2022 11:25:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailerdienst.de; s=20200217; t=1642418702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=NBVOXU7m5uj7bDnNcKogilPQtTY5dM3Lfh0WObtuiuo=; b=bKAbujAx71lK44NtFU2f2YIZPHL0z9/GtvAAtG9znXgKEb4FWEnTz7X0T7xo0oID/tR4ri eI3egN7bdv9kCyZQb5nLrUyiRLU4IRUyyF6b5kVqxCzHoTRIVLUMI1Lw6vPDn/z4/R7K9P I95tobp3Vly+85pO++7olhKv9x15UT4= Received: from remote.index.de (i68970D96.versanet.de [104.151.13.150]) by mxbox4.masterlogin.de (Postfix) with ESMTPSA id 07558804FD; Mon, 17 Jan 2022 11:25:02 +0000 (UTC) Received: from acedia.index-gruppe.local (192.168.54.121) by invidia.index-gruppe.local (192.168.54.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Mon, 17 Jan 2022 12:25:01 +0100 Received: from acedia.index-gruppe.local ([fe80::501:b638:b4b6:57d1]) by acedia.index-gruppe.local ([fe80::501:b638:b4b6:57d1%13]) with mapi id 15.01.2308.021; Mon, 17 Jan 2022 12:25:01 +0100 From: Arne Roland To: Julien Rouhaud CC: pgsql-hackers Subject: Re: missing indexes in indexlist with partitioned tables Thread-Topic: missing indexes in indexlist with partitioned tables Thread-Index: AQHXsJoeXw6ojQG4NkOLdiX4KUBdD6vkTOpcgIAWJQCAA2SO7g== Date: Mon, 17 Jan 2022 11:25:01 +0000 Message-ID: <6709e1a28a95425d9b3cc2bc20e4f44d@index.de> References: ,<20220115083304.bnr45veimywcmrhk@jrouhaud> In-Reply-To: <20220115083304.bnr45veimywcmrhk@jrouhaud> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.255.1.33] Content-Type: multipart/mixed; boundary="_004_6709e1a28a95425d9b3cc2bc20e4f44dindexde_" MIME-Version: 1.0 X-Mail-ID: 8b1efe2a-99f1-48c6-a165-44819d1ac2a3 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_6709e1a28a95425d9b3cc2bc20e4f44dindexde_ Content-Type: multipart/alternative; boundary="_000_6709e1a28a95425d9b3cc2bc20e4f44dindexde_" --_000_6709e1a28a95425d9b3cc2bc20e4f44dindexde_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, thank you for the heads up! Those files ended up accidentally in the dump f= rom me running pg_indent. The file count was truly excessive, I should have= noticed this sooner. I attached the patch without the excessive modifications. That should be wa= y easier to read. Regards Arne --_000_6709e1a28a95425d9b3cc2bc20e4f44dindexde_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hi,

thank you for the heads up! Those files ended up accidentally in the dump f= rom me running pg_indent. The file count was truly excessive, I should have= noticed this sooner.
I attached the patch without the excessive modifications. That should be wa= y easier to read.


Regards
Arne

--_000_6709e1a28a95425d9b3cc2bc20e4f44dindexde_-- --_004_6709e1a28a95425d9b3cc2bc20e4f44dindexde_ Content-Type: text/x-patch; name="0002-partIndexlistClean.patch" Content-Description: 0002-partIndexlistClean.patch Content-Disposition: attachment; filename="0002-partIndexlistClean.patch"; size=14654; creation-date="Mon, 17 Jan 2022 11:23:38 GMT"; modification-date="Mon, 17 Jan 2022 11:23:38 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wYXRoL2luZHhwYXRoLmMgYi9zcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGF0aC9pbmR4cGF0aC5jCmluZGV4IDBlZjcwYWQ3ZjEuLmZlNTA5 MTk2MzcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wYXRoL2luZHhwYXRoLmMK KysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvaW5keHBhdGguYwpAQCAtMzUwNCw3ICsz NTA0LDcgQEAgcmVsYXRpb25faGFzX3VuaXF1ZV9pbmRleF9mb3IoUGxhbm5lckluZm8gKnJvb3Qs IFJlbE9wdEluZm8gKnJlbCwKIAlBc3NlcnQobGlzdF9sZW5ndGgoZXhwcmxpc3QpID09IGxpc3Rf bGVuZ3RoKG9wcmxpc3QpKTsKIAogCS8qIFNob3J0LWNpcmN1aXQgaWYgbm8gaW5kZXhlcy4uLiAq LwotCWlmIChyZWwtPmluZGV4bGlzdCA9PSBOSUwpCisJaWYgKHJlbC0+aW5kZXhsaXN0ID09IE5J TCAmJiByZWwtPnBhcnRJbmRleGxpc3QgPT0gTklMKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkvKgpA QCAtMzU0OSw3ICszNTQ5LDcgQEAgcmVsYXRpb25faGFzX3VuaXF1ZV9pbmRleF9mb3IoUGxhbm5l ckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKnJlbCwKIAkJcmV0dXJuIGZhbHNlOwogCiAJLyogRXhh bWluZSBlYWNoIGluZGV4IG9mIHRoZSByZWxhdGlvbiAuLi4gKi8KLQlmb3JlYWNoKGljLCByZWwt PmluZGV4bGlzdCkKKwlmb3JlYWNoKGljLCBsaXN0X2NvbmNhdChyZWwtPmluZGV4bGlzdCwgcmVs LT5wYXJ0SW5kZXhsaXN0KSkKIAl7CiAJCUluZGV4T3B0SW5mbyAqaW5kID0gKEluZGV4T3B0SW5m byAqKSBsZmlyc3QoaWMpOwogCQlpbnQJCQljOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3BsYW4vYW5hbHl6ZWpvaW5zLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9h bmFseXplam9pbnMuYwppbmRleCAzMzdmNDcwZDU4Li5iMDRiM2Y4OGFkIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9hbmFseXplam9pbnMuYworKysgYi9zcmMvYmFja2Vu ZC9vcHRpbWl6ZXIvcGxhbi9hbmFseXplam9pbnMuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1 ZGUgInBvc3RncmVzLmgiCiAKICNpbmNsdWRlICJub2Rlcy9ub2RlRnVuY3MuaCIKKyNpbmNsdWRl ICJub2Rlcy9ub2Rlcy5oIgogI2luY2x1ZGUgIm9wdGltaXplci9jbGF1c2VzLmgiCiAjaW5jbHVk ZSAib3B0aW1pemVyL2pvaW5pbmZvLmgiCiAjaW5jbHVkZSAib3B0aW1pemVyL29wdGltaXplci5o IgpAQCAtNTk4LDcgKzU5OSw3IEBAIHJlbF9zdXBwb3J0c19kaXN0aW5jdG5lc3MoUGxhbm5lcklu Zm8gKnJvb3QsIFJlbE9wdEluZm8gKnJlbCkKIAkJICovCiAJCUxpc3RDZWxsICAgKmxjOwogCi0J CWZvcmVhY2gobGMsIHJlbC0+aW5kZXhsaXN0KQorCQlmb3JlYWNoKGxjLCBsaXN0X2NvbmNhdChy ZWwtPmluZGV4bGlzdCwgcmVsLT5wYXJ0SW5kZXhsaXN0KSkKIAkJewogCQkJSW5kZXhPcHRJbmZv ICppbmQgPSAoSW5kZXhPcHRJbmZvICopIGxmaXJzdChsYyk7CiAKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL29wdGltaXplci91dGlsL3BsYW5jYXQuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91 dGlsL3BsYW5jYXQuYwppbmRleCA1MzVmYTA0MWFkLi44MDM1NjE2YzM1IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wbGFuY2F0LmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3V0aWwvcGxhbmNhdC5jCkBAIC0xMTcsNiArMTE3LDcgQEAgZ2V0X3JlbGF0aW9uX2lu Zm8oUGxhbm5lckluZm8gKnJvb3QsIE9pZCByZWxhdGlvbk9iamVjdElkLCBib29sIGluaHBhcmVu dCwKIAlSZWxhdGlvbglyZWxhdGlvbjsKIAlib29sCQloYXNpbmRleDsKIAlMaXN0CSAgICppbmRl eGluZm9zID0gTklMOworCUxpc3QJICAgKnBhcnRJbmRleGluZm9zID0gTklMOwogCiAJLyoKIAkg KiBXZSBuZWVkIG5vdCBsb2NrIHRoZSByZWxhdGlvbiBzaW5jZSBpdCB3YXMgYWxyZWFkeSBsb2Nr ZWQsIGVpdGhlciBieQpAQCAtMTYzLDcgKzE2NCw3IEBAIGdldF9yZWxhdGlvbl9pbmZvKFBsYW5u ZXJJbmZvICpyb290LCBPaWQgcmVsYXRpb25PYmplY3RJZCwgYm9vbCBpbmhwYXJlbnQsCiAJZWxz ZQogCQloYXNpbmRleCA9IHJlbGF0aW9uLT5yZF9yZWwtPnJlbGhhc2luZGV4OwogCi0JaWYgKGhh c2luZGV4KQorCWlmICghKElnbm9yZVN5c3RlbUluZGV4ZXMgJiYgIUlzU3lzdGVtUmVsYXRpb24o cmVsYXRpb24pKSAmJiByZWxhdGlvbi0+cmRfcmVsLT5yZWxoYXNpbmRleCkKIAl7CiAJCUxpc3QJ ICAgKmluZGV4b2lkbGlzdDsKIAkJTE9DS01PREUJbG1vZGU7CkBAIC0yMTIsMTAgKzIxMywxMiBA QCBnZXRfcmVsYXRpb25faW5mbyhQbGFubmVySW5mbyAqcm9vdCwgT2lkIHJlbGF0aW9uT2JqZWN0 SWQsIGJvb2wgaW5ocGFyZW50LAogCQkJfQogCiAJCQkvKgotCQkJICogSWdub3JlIHBhcnRpdGlv bmVkIGluZGV4ZXMsIHNpbmNlIHRoZXkgYXJlIG5vdCB1c2FibGUgZm9yCi0JCQkgKiBxdWVyaWVz LgorCQkJICogRG9uJ3QgYWRkIHBhcnRpdGlvbmVkIGluZGV4ZXMgdG8gdGhlIGluZGV4bGlzdCwg c2luY2UgdGhleSBhcmUKKwkJCSAqIG5vdCB1c2FibGUgYnkgdGhlIGV4ZWN1dG9yLiBJZiB0aGV5 IGFyZSB1bmlxdWUgYWRkIHRoZW0gdG8gdGhlCisJCQkgKiBwYXJ0aW5kZXhsaXN0IGluc3RlYWQs IHRvIHVzZSBmb3IgZnVydGhlciBwcnVuaW5nLiBJZiB0aGV5CisJCQkgKiBhcmVuJ3QgdGhhdCBl aXRoZXIsIHNpbXBseSBza2lwIHRoZW0uCiAJCQkgKi8KLQkJCWlmIChpbmRleFJlbGF0aW9uLT5y ZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9JTkRFWCkKKwkJCWlmIChpbmhw YXJlbnQgJiYgKCFpbmRleC0+aW5kaXN1bmlxdWUgfHwgaW5kZXhSZWxhdGlvbi0+cmRfcmVsLT5y ZWxraW5kICE9IFJFTEtJTkRfUEFSVElUSU9ORURfSU5ERVgpKQogCQkJewogCQkJCWluZGV4X2Ns b3NlKGluZGV4UmVsYXRpb24sIE5vTG9jayk7CiAJCQkJY29udGludWU7CkBAIC0yNjMsNyArMjY2 LDQwIEBAIGdldF9yZWxhdGlvbl9pbmZvKFBsYW5uZXJJbmZvICpyb290LCBPaWQgcmVsYXRpb25P YmplY3RJZCwgYm9vbCBpbmhwYXJlbnQsCiAJCQkJaW5mby0+aW5kZXhjb2xsYXRpb25zW2ldID0g aW5kZXhSZWxhdGlvbi0+cmRfaW5kY29sbGF0aW9uW2ldOwogCQkJfQogCi0JCQlpbmZvLT5yZWxh bSA9IGluZGV4UmVsYXRpb24tPnJkX3JlbC0+cmVsYW07CisJCQkvKgorCQkJICogRmV0Y2ggdGhl IGluZGV4IGV4cHJlc3Npb25zIGFuZCBwcmVkaWNhdGUsIGlmIGFueS4gIFdlIG11c3QKKwkJCSAq IG1vZGlmeSB0aGUgY29waWVzIHdlIG9idGFpbiBmcm9tIHRoZSByZWxjYWNoZSB0byBoYXZlIHRo ZQorCQkJICogY29ycmVjdCB2YXJubyBmb3IgdGhlIHBhcmVudCByZWxhdGlvbiwgc28gdGhhdCB0 aGV5IG1hdGNoIHVwCisJCQkgKiBjb3JyZWN0bHkgYWdhaW5zdCBxdWFsIGNsYXVzZXMuCisJCQkg Ki8KKwkJCWluZm8tPmluZGV4cHJzID0gUmVsYXRpb25HZXRJbmRleEV4cHJlc3Npb25zKGluZGV4 UmVsYXRpb24pOworCQkJaW5mby0+aW5kcHJlZCA9IFJlbGF0aW9uR2V0SW5kZXhQcmVkaWNhdGUo aW5kZXhSZWxhdGlvbik7CisJCQlpZiAoaW5mby0+aW5kZXhwcnMgJiYgdmFybm8gIT0gMSkKKwkJ CQlDaGFuZ2VWYXJOb2RlcygoTm9kZSAqKSBpbmZvLT5pbmRleHBycywgMSwgdmFybm8sIDApOwor CQkJaWYgKGluZm8tPmluZHByZWQgJiYgdmFybm8gIT0gMSkKKwkJCQlDaGFuZ2VWYXJOb2Rlcygo Tm9kZSAqKSBpbmZvLT5pbmRwcmVkLCAxLCB2YXJubywgMCk7CisKKwkJCWluZm8tPnVuaXF1ZSA9 IGluZGV4LT5pbmRpc3VuaXF1ZTsKKwkJCWluZm8tPmltbWVkaWF0ZSA9IGluZGV4LT5pbmRpbW1l ZGlhdGU7CisKKwkJCS8qCisJCQkgKiBEb24ndCBhZGQgcGFydGl0aW9uZWQgaW5kZXhlcyB0byB0 aGUgaW5kZXhsaXN0LCBhZGQgdGhlbSB0byB0aGUKKwkJCSAqIHBhcnRpbmRleGxpc3QgaW5zdGVh ZCwgc2luY2UgdGhleSBhcmUgbm90IHVzYWJsZSBieSB0aGUKKwkJCSAqIGV4ZWN1dG9yLgorCQkJ ICovCisJCQlpZiAoaW5kZXhSZWxhdGlvbi0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFS VElUSU9ORURfSU5ERVgpCisJCQl7CisJCQkJaW5kZXhfY2xvc2UoaW5kZXhSZWxhdGlvbiwgTm9M b2NrKTsKKwkJCQlwYXJ0SW5kZXhpbmZvcyA9IGxhcHBlbmQocGFydEluZGV4aW5mb3MsIGluZm8p OworCQkJCWNvbnRpbnVlOworCQkJfQorCisJCQlpbmZvLT5oeXBvdGhldGljYWwgPSBmYWxzZTsK KwkJCWluZm8tPmluZHJlc3RyaWN0aW5mbyA9IE5JTDsJLyogc2V0IGxhdGVyLCBpbiBpbmR4cGF0 aC5jICovCisJCQlpbmZvLT5wcmVkT0sgPSBmYWxzZTsJLyogc2V0IGxhdGVyLCBpbiBpbmR4cGF0 aC5jICovCisKKwkJCS8qIEJ1aWxkIHRhcmdldGxpc3QgdXNpbmcgdGhlIGNvbXBsZXRlZCBpbmRl eHBycyBkYXRhICovCisJCQlpbmZvLT5pbmRleHRsaXN0ID0gYnVpbGRfaW5kZXhfdGxpc3Qocm9v dCwgaW5mbywgcmVsYXRpb24pOwogCiAJCQkvKiBXZSBjb3B5IGp1c3QgdGhlIGZpZWxkcyB3ZSBu ZWVkLCBub3QgYWxsIG9mIHJkX2luZGFtICovCiAJCQlhbXJvdXRpbmUgPSBpbmRleFJlbGF0aW9u LT5yZF9pbmRhbTsKQEAgLTI4Myw2ICszMTksOCBAQCBnZXRfcmVsYXRpb25faW5mbyhQbGFubmVy SW5mbyAqcm9vdCwgT2lkIHJlbGF0aW9uT2JqZWN0SWQsIGJvb2wgaW5ocGFyZW50LAogCQkJLyog RmV0Y2ggaW5kZXggb3BjbGFzcyBvcHRpb25zICovCiAJCQlpbmZvLT5vcGNsYXNzb3B0aW9ucyA9 IFJlbGF0aW9uR2V0SW5kZXhBdHRPcHRpb25zKGluZGV4UmVsYXRpb24sIHRydWUpOwogCisJCQlp bmZvLT5yZWxhbSA9IGluZGV4UmVsYXRpb24tPnJkX3JlbC0+cmVsYW07CisKIAkJCS8qCiAJCQkg KiBGZXRjaCB0aGUgb3JkZXJpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBpbmRleCwgaWYgYW55Lgog CQkJICovCkBAIC0zNjksMjggKzQwNyw2IEBAIGdldF9yZWxhdGlvbl9pbmZvKFBsYW5uZXJJbmZv ICpyb290LCBPaWQgcmVsYXRpb25PYmplY3RJZCwgYm9vbCBpbmhwYXJlbnQsCiAJCQkJaW5mby0+ bnVsbHNfZmlyc3QgPSBOVUxMOwogCQkJfQogCi0JCQkvKgotCQkJICogRmV0Y2ggdGhlIGluZGV4 IGV4cHJlc3Npb25zIGFuZCBwcmVkaWNhdGUsIGlmIGFueS4gIFdlIG11c3QKLQkJCSAqIG1vZGlm eSB0aGUgY29waWVzIHdlIG9idGFpbiBmcm9tIHRoZSByZWxjYWNoZSB0byBoYXZlIHRoZQotCQkJ ICogY29ycmVjdCB2YXJubyBmb3IgdGhlIHBhcmVudCByZWxhdGlvbiwgc28gdGhhdCB0aGV5IG1h dGNoIHVwCi0JCQkgKiBjb3JyZWN0bHkgYWdhaW5zdCBxdWFsIGNsYXVzZXMuCi0JCQkgKi8KLQkJ CWluZm8tPmluZGV4cHJzID0gUmVsYXRpb25HZXRJbmRleEV4cHJlc3Npb25zKGluZGV4UmVsYXRp b24pOwotCQkJaW5mby0+aW5kcHJlZCA9IFJlbGF0aW9uR2V0SW5kZXhQcmVkaWNhdGUoaW5kZXhS ZWxhdGlvbik7Ci0JCQlpZiAoaW5mby0+aW5kZXhwcnMgJiYgdmFybm8gIT0gMSkKLQkJCQlDaGFu Z2VWYXJOb2RlcygoTm9kZSAqKSBpbmZvLT5pbmRleHBycywgMSwgdmFybm8sIDApOwotCQkJaWYg KGluZm8tPmluZHByZWQgJiYgdmFybm8gIT0gMSkKLQkJCQlDaGFuZ2VWYXJOb2RlcygoTm9kZSAq KSBpbmZvLT5pbmRwcmVkLCAxLCB2YXJubywgMCk7Ci0KLQkJCS8qIEJ1aWxkIHRhcmdldGxpc3Qg dXNpbmcgdGhlIGNvbXBsZXRlZCBpbmRleHBycyBkYXRhICovCi0JCQlpbmZvLT5pbmRleHRsaXN0 ID0gYnVpbGRfaW5kZXhfdGxpc3Qocm9vdCwgaW5mbywgcmVsYXRpb24pOwotCi0JCQlpbmZvLT5p bmRyZXN0cmljdGluZm8gPSBOSUw7CS8qIHNldCBsYXRlciwgaW4gaW5keHBhdGguYyAqLwotCQkJ aW5mby0+cHJlZE9LID0gZmFsc2U7CS8qIHNldCBsYXRlciwgaW4gaW5keHBhdGguYyAqLwotCQkJ aW5mby0+dW5pcXVlID0gaW5kZXgtPmluZGlzdW5pcXVlOwotCQkJaW5mby0+aW1tZWRpYXRlID0g aW5kZXgtPmluZGltbWVkaWF0ZTsKLQkJCWluZm8tPmh5cG90aGV0aWNhbCA9IGZhbHNlOwotCiAJ CQkvKgogCQkJICogRXN0aW1hdGUgdGhlIGluZGV4IHNpemUuICBJZiBpdCdzIG5vdCBhIHBhcnRp YWwgaW5kZXgsIHdlIGxvY2sKIAkJCSAqIHRoZSBudW1iZXItb2YtdHVwbGVzIGVzdGltYXRlIHRv IGVxdWFsIHRoZSBwYXJlbnQgdGFibGU7IGlmIGl0CkBAIC00NDAsNiArNDU2LDcgQEAgZ2V0X3Jl bGF0aW9uX2luZm8oUGxhbm5lckluZm8gKnJvb3QsIE9pZCByZWxhdGlvbk9iamVjdElkLCBib29s IGluaHBhcmVudCwKIAl9CiAKIAlyZWwtPmluZGV4bGlzdCA9IGluZGV4aW5mb3M7CisJcmVsLT5w YXJ0SW5kZXhsaXN0ID0gcGFydEluZGV4aW5mb3M7CiAKIAlyZWwtPnN0YXRsaXN0ID0gZ2V0X3Jl bGF0aW9uX3N0YXRpc3RpY3MocmVsLCByZWxhdGlvbik7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL25vZGVzL3BhdGhub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgKaW5k ZXggMWYzM2ZlMTNjMS4uZjRkOGJkOWU0YSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMv cGF0aG5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgKQEAgLTMzNCwx MSArMzM0LDExIEBAIHN0cnVjdCBQbGFubmVySW5mbwogCiAJTWVtb3J5Q29udGV4dCBwbGFubmVy X2N4dDsJLyogY29udGV4dCBob2xkaW5nIFBsYW5uZXJJbmZvICovCiAKLQlDYXJkaW5hbGl0eQl0 b3RhbF90YWJsZV9wYWdlczsJLyogIyBvZiBwYWdlcyBpbiBhbGwgbm9uLWR1bW15IHRhYmxlcyBv ZgorCUNhcmRpbmFsaXR5IHRvdGFsX3RhYmxlX3BhZ2VzOwkvKiAjIG9mIHBhZ2VzIGluIGFsbCBu b24tZHVtbXkgdGFibGVzIG9mCiAJCQkJCQkJCQkgKiBxdWVyeSAqLwogCi0JU2VsZWN0aXZpdHkJ dHVwbGVfZnJhY3Rpb247IC8qIHR1cGxlX2ZyYWN0aW9uIHBhc3NlZCB0byBxdWVyeV9wbGFubmVy ICovCi0JQ2FyZGluYWxpdHkJbGltaXRfdHVwbGVzOwkvKiBsaW1pdF90dXBsZXMgcGFzc2VkIHRv IHF1ZXJ5X3BsYW5uZXIgKi8KKwlTZWxlY3Rpdml0eSB0dXBsZV9mcmFjdGlvbjsgLyogdHVwbGVf ZnJhY3Rpb24gcGFzc2VkIHRvIHF1ZXJ5X3BsYW5uZXIgKi8KKwlDYXJkaW5hbGl0eSBsaW1pdF90 dXBsZXM7CS8qIGxpbWl0X3R1cGxlcyBwYXNzZWQgdG8gcXVlcnlfcGxhbm5lciAqLwogCiAJSW5k ZXgJCXF1YWxfc2VjdXJpdHlfbGV2ZWw7CS8qIG1pbmltdW0gc2VjdXJpdHlfbGV2ZWwgZm9yIHF1 YWxzICovCiAJLyogTm90ZTogcXVhbF9zZWN1cml0eV9sZXZlbCBpcyB6ZXJvIGlmIHRoZXJlIGFy ZSBubyBzZWN1cml0eVF1YWxzICovCkBAIC02ODEsNyArNjgxLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg UmVsT3B0SW5mbwogCVJlbGlkcwkJcmVsaWRzOwkJCS8qIHNldCBvZiBiYXNlIHJlbGlkcyAocmFu Z2V0YWJsZSBpbmRleGVzKSAqLwogCiAJLyogc2l6ZSBlc3RpbWF0ZXMgZ2VuZXJhdGVkIGJ5IHBs YW5uZXIgKi8KLQlDYXJkaW5hbGl0eQlyb3dzOwkJCS8qIGVzdGltYXRlZCBudW1iZXIgb2YgcmVz dWx0IHR1cGxlcyAqLworCUNhcmRpbmFsaXR5IHJvd3M7CQkJLyogZXN0aW1hdGVkIG51bWJlciBv ZiByZXN1bHQgdHVwbGVzICovCiAKIAkvKiBwZXItcmVsYXRpb24gcGxhbm5lciBjb250cm9sIGZs YWdzICovCiAJYm9vbAkJY29uc2lkZXJfc3RhcnR1cDsJLyoga2VlcCBjaGVhcC1zdGFydHVwLWNv c3QgcGF0aHM/ICovCkBAIC03MTYsOSArNzE2LDEwIEBAIHR5cGVkZWYgc3RydWN0IFJlbE9wdElu Zm8KIAlMaXN0CSAgICpsYXRlcmFsX3ZhcnM7CS8qIExBVEVSQUwgVmFycyBhbmQgUEhWcyByZWZl cmVuY2VkIGJ5IHJlbCAqLwogCVJlbGlkcwkJbGF0ZXJhbF9yZWZlcmVuY2VyczsJLyogcmVscyB0 aGF0IHJlZmVyZW5jZSBtZSBsYXRlcmFsbHkgKi8KIAlMaXN0CSAgICppbmRleGxpc3Q7CQkvKiBs aXN0IG9mIEluZGV4T3B0SW5mbyAqLworCUxpc3QJICAgKnBhcnRJbmRleGxpc3Q7CS8qIGxpc3Qg b2YgSW5kZXhPcHRJbmZvICovCiAJTGlzdAkgICAqc3RhdGxpc3Q7CQkvKiBsaXN0IG9mIFN0YXRp c3RpY0V4dEluZm8gKi8KIAlCbG9ja051bWJlciBwYWdlczsJCQkvKiBzaXplIGVzdGltYXRlcyBk ZXJpdmVkIGZyb20gcGdfY2xhc3MgKi8KLQlDYXJkaW5hbGl0eQl0dXBsZXM7CisJQ2FyZGluYWxp dHkgdHVwbGVzOwogCWRvdWJsZQkJYWxsdmlzZnJhYzsKIAlCaXRtYXBzZXQgICplY2xhc3NfaW5k ZXhlczsgLyogSW5kZXhlcyBpbiBQbGFubmVySW5mbydzIGVxX2NsYXNzZXMgbGlzdCBvZgogCQkJ CQkJCQkgKiBFQ3MgdGhhdCBtZW50aW9uIHRoaXMgcmVsICovCkBAIC04NDEsNyArODQyLDcgQEAg c3RydWN0IEluZGV4T3B0SW5mbwogCiAJLyogaW5kZXgtc2l6ZSBzdGF0aXN0aWNzIChmcm9tIHBn X2NsYXNzIGFuZCBlbHNld2hlcmUpICovCiAJQmxvY2tOdW1iZXIgcGFnZXM7CQkJLyogbnVtYmVy IG9mIGRpc2sgcGFnZXMgaW4gaW5kZXggKi8KLQlDYXJkaW5hbGl0eQl0dXBsZXM7CQkJLyogbnVt YmVyIG9mIGluZGV4IHR1cGxlcyBpbiBpbmRleCAqLworCUNhcmRpbmFsaXR5IHR1cGxlczsJCQkv KiBudW1iZXIgb2YgaW5kZXggdHVwbGVzIGluIGluZGV4ICovCiAJaW50CQkJdHJlZV9oZWlnaHQ7 CS8qIGluZGV4IHRyZWUgaGVpZ2h0LCBvciAtMSBpZiB1bmtub3duICovCiAKIAkvKiBpbmRleCBk ZXNjcmlwdG9yIGluZm9ybWF0aW9uICovCkBAIC0xMTM5LDcgKzExNDAsNyBAQCB0eXBlZGVmIHN0 cnVjdCBQYXJhbVBhdGhJbmZvCiAJTm9kZVRhZwkJdHlwZTsKIAogCVJlbGlkcwkJcHBpX3JlcV9v dXRlcjsJLyogcmVscyBzdXBwbHlpbmcgcGFyYW1ldGVycyB1c2VkIGJ5IHBhdGggKi8KLQlDYXJk aW5hbGl0eQlwcGlfcm93czsJCS8qIGVzdGltYXRlZCBudW1iZXIgb2YgcmVzdWx0IHR1cGxlcyAq LworCUNhcmRpbmFsaXR5IHBwaV9yb3dzOwkJLyogZXN0aW1hdGVkIG51bWJlciBvZiByZXN1bHQg dHVwbGVzICovCiAJTGlzdAkgICAqcHBpX2NsYXVzZXM7CS8qIGpvaW4gY2xhdXNlcyBhdmFpbGFi bGUgZnJvbSBvdXRlciByZWxzICovCiB9IFBhcmFtUGF0aEluZm87CiAKQEAgLTExODksNyArMTE5 MCw3IEBAIHR5cGVkZWYgc3RydWN0IFBhdGgKIAlpbnQJCQlwYXJhbGxlbF93b3JrZXJzOwkvKiBk ZXNpcmVkICMgb2Ygd29ya2VyczsgMCA9IG5vdCBwYXJhbGxlbCAqLwogCiAJLyogZXN0aW1hdGVk IHNpemUvY29zdHMgZm9yIHBhdGggKHNlZSBjb3N0c2l6ZS5jIGZvciBtb3JlIGluZm8pICovCi0J Q2FyZGluYWxpdHkJcm93czsJCQkvKiBlc3RpbWF0ZWQgbnVtYmVyIG9mIHJlc3VsdCB0dXBsZXMg Ki8KKwlDYXJkaW5hbGl0eSByb3dzOwkJCS8qIGVzdGltYXRlZCBudW1iZXIgb2YgcmVzdWx0IHR1 cGxlcyAqLwogCUNvc3QJCXN0YXJ0dXBfY29zdDsJLyogY29zdCBleHBlbmRlZCBiZWZvcmUgZmV0 Y2hpbmcgYW55IHR1cGxlcyAqLwogCUNvc3QJCXRvdGFsX2Nvc3Q7CQkvKiB0b3RhbCBjb3N0IChh c3N1bWluZyBhbGwgdHVwbGVzIGZldGNoZWQpICovCiAKQEAgLTE0NTIsNyArMTQ1Myw3IEBAIHR5 cGVkZWYgc3RydWN0IEFwcGVuZFBhdGgKIAlMaXN0CSAgICpzdWJwYXRoczsJCS8qIGxpc3Qgb2Yg Y29tcG9uZW50IFBhdGhzICovCiAJLyogSW5kZXggb2YgZmlyc3QgcGFydGlhbCBwYXRoIGluIHN1 YnBhdGhzOyBsaXN0X2xlbmd0aChzdWJwYXRocykgaWYgbm9uZSAqLwogCWludAkJCWZpcnN0X3Bh cnRpYWxfcGF0aDsKLQlDYXJkaW5hbGl0eQlsaW1pdF90dXBsZXM7CS8qIGhhcmQgbGltaXQgb24g b3V0cHV0IHR1cGxlcywgb3IgLTEgKi8KKwlDYXJkaW5hbGl0eSBsaW1pdF90dXBsZXM7CS8qIGhh cmQgbGltaXQgb24gb3V0cHV0IHR1cGxlcywgb3IgLTEgKi8KIH0gQXBwZW5kUGF0aDsKIAogI2Rl ZmluZSBJU19EVU1NWV9BUFBFTkQocCkgXApAQCAtMTQ3NCw3ICsxNDc1LDcgQEAgdHlwZWRlZiBz dHJ1Y3QgTWVyZ2VBcHBlbmRQYXRoCiB7CiAJUGF0aAkJcGF0aDsKIAlMaXN0CSAgICpzdWJwYXRo czsJCS8qIGxpc3Qgb2YgY29tcG9uZW50IFBhdGhzICovCi0JQ2FyZGluYWxpdHkJbGltaXRfdHVw bGVzOwkvKiBoYXJkIGxpbWl0IG9uIG91dHB1dCB0dXBsZXMsIG9yIC0xICovCisJQ2FyZGluYWxp dHkgbGltaXRfdHVwbGVzOwkvKiBoYXJkIGxpbWl0IG9uIG91dHB1dCB0dXBsZXMsIG9yIC0xICov CiB9IE1lcmdlQXBwZW5kUGF0aDsKIAogLyoKQEAgLTE3NzIsNyArMTc3Myw3IEBAIHR5cGVkZWYg c3RydWN0IEFnZ1BhdGgKIAlQYXRoCSAgICpzdWJwYXRoOwkJLyogcGF0aCByZXByZXNlbnRpbmcg aW5wdXQgc291cmNlICovCiAJQWdnU3RyYXRlZ3kgYWdnc3RyYXRlZ3k7CS8qIGJhc2ljIHN0cmF0 ZWd5LCBzZWUgbm9kZXMuaCAqLwogCUFnZ1NwbGl0CWFnZ3NwbGl0OwkJLyogYWdnLXNwbGl0dGlu ZyBtb2RlLCBzZWUgbm9kZXMuaCAqLwotCUNhcmRpbmFsaXR5CW51bUdyb3VwczsJCS8qIGVzdGlt YXRlZCBudW1iZXIgb2YgZ3JvdXBzIGluIGlucHV0ICovCisJQ2FyZGluYWxpdHkgbnVtR3JvdXBz OwkJLyogZXN0aW1hdGVkIG51bWJlciBvZiBncm91cHMgaW4gaW5wdXQgKi8KIAl1aW50NjQJCXRy YW5zaXRpb25TcGFjZTsJLyogZm9yIHBhc3MtYnktcmVmIHRyYW5zaXRpb24gZGF0YSAqLwogCUxp c3QJICAgKmdyb3VwQ2xhdXNlOwkvKiBhIGxpc3Qgb2YgU29ydEdyb3VwQ2xhdXNlJ3MgKi8KIAlM aXN0CSAgICpxdWFsOwkJCS8qIHF1YWxzIChIQVZJTkcgcXVhbHMpLCBpZiBhbnkgKi8KQEAgLTE3 ODYsNyArMTc4Nyw3IEBAIHR5cGVkZWYgc3RydWN0IEdyb3VwaW5nU2V0RGF0YQogewogCU5vZGVU YWcJCXR5cGU7CiAJTGlzdAkgICAqc2V0OwkJCS8qIGdyb3VwaW5nIHNldCBhcyBsaXN0IG9mIHNv cnRncm91cHJlZnMgKi8KLQlDYXJkaW5hbGl0eQludW1Hcm91cHM7CQkvKiBlc3QuIG51bWJlciBv ZiByZXN1bHQgZ3JvdXBzICovCisJQ2FyZGluYWxpdHkgbnVtR3JvdXBzOwkJLyogZXN0LiBudW1i ZXIgb2YgcmVzdWx0IGdyb3VwcyAqLwogfSBHcm91cGluZ1NldERhdGE7CiAKIHR5cGVkZWYgc3Ry dWN0IFJvbGx1cERhdGEKQEAgLTE3OTUsNyArMTc5Niw3IEBAIHR5cGVkZWYgc3RydWN0IFJvbGx1 cERhdGEKIAlMaXN0CSAgICpncm91cENsYXVzZTsJLyogYXBwbGljYWJsZSBzdWJzZXQgb2YgcGFy c2UtPmdyb3VwQ2xhdXNlICovCiAJTGlzdAkgICAqZ3NldHM7CQkJLyogbGlzdHMgb2YgaW50ZWdl ciBpbmRleGVzIGludG8gZ3JvdXBDbGF1c2UgKi8KIAlMaXN0CSAgICpnc2V0c19kYXRhOwkJLyog bGlzdCBvZiBHcm91cGluZ1NldERhdGEgKi8KLQlDYXJkaW5hbGl0eQludW1Hcm91cHM7CQkvKiBl c3QuIG51bWJlciBvZiByZXN1bHQgZ3JvdXBzICovCisJQ2FyZGluYWxpdHkgbnVtR3JvdXBzOwkJ LyogZXN0LiBudW1iZXIgb2YgcmVzdWx0IGdyb3VwcyAqLwogCWJvb2wJCWhhc2hhYmxlOwkJLyog Y2FuIGJlIGhhc2hlZCAqLwogCWJvb2wJCWlzX2hhc2hlZDsJCS8qIHRvIGJlIGltcGxlbWVudGVk IGFzIGEgaGFzaGFnZyAqLwogfSBSb2xsdXBEYXRhOwpAQCAtMTg0Niw3ICsxODQ3LDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgU2V0T3BQYXRoCiAJTGlzdAkgICAqZGlzdGluY3RMaXN0OwkvKiBTb3J0R3Jv dXBDbGF1c2VzIGlkZW50aWZ5aW5nIHRhcmdldCBjb2xzICovCiAJQXR0ck51bWJlcglmbGFnQ29s SWR4OwkJLyogd2hlcmUgaXMgdGhlIGZsYWcgY29sdW1uLCBpZiBhbnkgKi8KIAlpbnQJCQlmaXJz dEZsYWc7CQkvKiBmbGFnIHZhbHVlIGZvciBmaXJzdCBpbnB1dCByZWxhdGlvbiAqLwotCUNhcmRp bmFsaXR5CW51bUdyb3VwczsJCS8qIGVzdGltYXRlZCBudW1iZXIgb2YgZ3JvdXBzIGluIGlucHV0 ICovCisJQ2FyZGluYWxpdHkgbnVtR3JvdXBzOwkJLyogZXN0aW1hdGVkIG51bWJlciBvZiBncm91 cHMgaW4gaW5wdXQgKi8KIH0gU2V0T3BQYXRoOwogCiAvKgpAQCAtMTg1OSw3ICsxODYwLDcgQEAg dHlwZWRlZiBzdHJ1Y3QgUmVjdXJzaXZlVW5pb25QYXRoCiAJUGF0aAkgICAqcmlnaHRwYXRoOwog CUxpc3QJICAgKmRpc3RpbmN0TGlzdDsJLyogU29ydEdyb3VwQ2xhdXNlcyBpZGVudGlmeWluZyB0 YXJnZXQgY29scyAqLwogCWludAkJCXd0UGFyYW07CQkvKiBJRCBvZiBQYXJhbSByZXByZXNlbnRp bmcgd29yayB0YWJsZSAqLwotCUNhcmRpbmFsaXR5CW51bUdyb3VwczsJCS8qIGVzdGltYXRlZCBu dW1iZXIgb2YgZ3JvdXBzIGluIGlucHV0ICovCisJQ2FyZGluYWxpdHkgbnVtR3JvdXBzOwkJLyog ZXN0aW1hdGVkIG51bWJlciBvZiBncm91cHMgaW4gaW5wdXQgKi8KIH0gUmVjdXJzaXZlVW5pb25Q YXRoOwogCiAvKgpAQCAtMjYxNSw3ICsyNjE2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QKIHR5cGVkZWYg c3RydWN0CiB7CiAJYm9vbAkJbGltaXRfbmVlZGVkOwotCUNhcmRpbmFsaXR5CWxpbWl0X3R1cGxl czsKKwlDYXJkaW5hbGl0eSBsaW1pdF90dXBsZXM7CiAJaW50NjQJCWNvdW50X2VzdDsKIAlpbnQ2 NAkJb2Zmc2V0X2VzdDsKIH0gRmluYWxQYXRoRXh0cmFEYXRhOwpAQCAtMjY0NiwxNSArMjY0Nywx NSBAQCB0eXBlZGVmIHN0cnVjdCBKb2luQ29zdFdvcmtzcGFjZQogCUNvc3QJCWlubmVyX3Jlc2Nh bl9ydW5fY29zdDsKIAogCS8qIHByaXZhdGUgZm9yIGNvc3RfbWVyZ2Vqb2luIGNvZGUgKi8KLQlD YXJkaW5hbGl0eQlvdXRlcl9yb3dzOwotCUNhcmRpbmFsaXR5CWlubmVyX3Jvd3M7Ci0JQ2FyZGlu YWxpdHkJb3V0ZXJfc2tpcF9yb3dzOwotCUNhcmRpbmFsaXR5CWlubmVyX3NraXBfcm93czsKKwlD YXJkaW5hbGl0eSBvdXRlcl9yb3dzOworCUNhcmRpbmFsaXR5IGlubmVyX3Jvd3M7CisJQ2FyZGlu YWxpdHkgb3V0ZXJfc2tpcF9yb3dzOworCUNhcmRpbmFsaXR5IGlubmVyX3NraXBfcm93czsKIAog CS8qIHByaXZhdGUgZm9yIGNvc3RfaGFzaGpvaW4gY29kZSAqLwogCWludAkJCW51bWJ1Y2tldHM7 CiAJaW50CQkJbnVtYmF0Y2hlczsKLQlDYXJkaW5hbGl0eQlpbm5lcl9yb3dzX3RvdGFsOworCUNh cmRpbmFsaXR5IGlubmVyX3Jvd3NfdG90YWw7CiB9IEpvaW5Db3N0V29ya3NwYWNlOwogCiAvKgpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fam9pbi5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9qb2luLm91dAppbmRleCBiYjVi N2M0N2E0Li4xY2M3ZjgwOGNkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3BhcnRpdGlvbl9qb2luLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRp dGlvbl9qb2luLm91dApAQCAtNDU5LDYgKzQ1OSwxOSBAQCBTRUxFQ1QgdDEuYSwgc3MudDJhLCBz cy50MmMgRlJPTSBwcnQxIHQxIExFRlQgSk9JTiBMQVRFUkFMCiAgNTUwIHwgICAgIHwgCiAoMTIg cm93cykKIAorLS0gam9pbiBwcnVuaW5nCitDUkVBVEUgVU5JUVVFIElOREVYIHBydDFfcDFfYV9p ZHggT04gcHJ0MSAoYSk7CitFWFBMQUlOIChDT1NUUyBPRkYpCitTRUxFQ1QgdDEuYSBGUk9NIHBy dDEgdDEgTEVGVCBKT0lOIHBydDEgVVNJTkcgKGEpOworICAgICAgICAgICBRVUVSWSBQTEFOICAg ICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQXBwZW5kCisgICAt PiAgU2VxIFNjYW4gb24gcHJ0MV9wMSB0MV8xCisgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0 MV8yCisgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0MV8zCisoNCByb3dzKQorCitEUk9QIElO REVYIHBydDFfcDFfYV9pZHg7CiAtLSBidWcgd2l0aCBpbmFkZXF1YXRlIHNvcnQga2V5IHJlcHJl c2VudGF0aW9uCiBTRVQgZW5hYmxlX3BhcnRpdGlvbndpc2VfYWdncmVnYXRlIFRPIHRydWU7CiBT RVQgZW5hYmxlX2hhc2hqb2luIFRPIGZhbHNlOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvcGFydGl0aW9uX2pvaW4uc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9u X2pvaW4uc3FsCmluZGV4IDY3ZjUwNjM2MWYuLjVmNzBkNWQ4NTEgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9qb2luLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC9wYXJ0aXRpb25fam9pbi5zcWwKQEAgLTkwLDYgKzkwLDEzIEBAIFNFTEVDVCB0MS5hLCBz cy50MmEsIHNzLnQyYyBGUk9NIHBydDEgdDEgTEVGVCBKT0lOIExBVEVSQUwKIFNFTEVDVCB0MS5h LCBzcy50MmEsIHNzLnQyYyBGUk9NIHBydDEgdDEgTEVGVCBKT0lOIExBVEVSQUwKIAkJCSAgKFNF TEVDVCB0Mi5hIEFTIHQyYSwgdDMuYSBBUyB0M2EsIHQyLmIgdDJiLCB0Mi5jIHQyYywgbGVhc3Qo dDEuYSx0Mi5hLHQzLmEpIEZST00gcHJ0MSB0MiBKT0lOIHBydDIgdDMgT04gKHQyLmEgPSB0My5i KSkgc3MKIAkJCSAgT04gdDEuYyA9IHNzLnQyYyBXSEVSRSAodDEuYiArIGNvYWxlc2NlKHNzLnQy YiwgMCkpID0gMCBPUkRFUiBCWSB0MS5hOworLS0gam9pbiBwcnVuaW5nCitDUkVBVEUgVU5JUVVF IElOREVYIHBydDFfcDFfYV9pZHggT04gcHJ0MSAoYSk7CisKK0VYUExBSU4gKENPU1RTIE9GRikK K1NFTEVDVCB0MS5hIEZST00gcHJ0MSB0MSBMRUZUIEpPSU4gcHJ0MSBVU0lORyAoYSk7CisKK0RS T1AgSU5ERVggcHJ0MV9wMV9hX2lkeDsKIAogLS0gYnVnIHdpdGggaW5hZGVxdWF0ZSBzb3J0IGtl eSByZXByZXNlbnRhdGlvbgogU0VUIGVuYWJsZV9wYXJ0aXRpb253aXNlX2FnZ3JlZ2F0ZSBUTyB0 cnVlOwo= --_004_6709e1a28a95425d9b3cc2bc20e4f44dindexde_--