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 1jqVbX-00048Z-1C for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Jul 2020 05:48:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jqVbU-00026x-M4 for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Jul 2020 05:48:16 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jqVbU-00026p-CQ for pgsql-hackers@lists.postgresql.org; Wed, 01 Jul 2020 05:48:16 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jqVbL-0001Tq-93 for pgsql-hackers@postgresql.org; Wed, 01 Jul 2020 05:48:15 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTP id 56ABE6028C; Wed, 1 Jul 2020 14:48:02 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.102.3 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_ad2f4c7a143f2c921640c0482f457f2c" Date: Wed, 01 Jul 2020 14:48:02 +0900 From: torikoshia To: Fujii Masao Cc: pgsql-hackers@postgresql.org Subject: Re: Creating a function for exposing memory usage of backend process In-Reply-To: <78268b5f-53ed-4645-1abb-23c1030cce0a@oss.nttdata.com> References: <72a656e0f71d0860161e0b3f67e4d771@oss.nttdata.com> <398eb7cd-5f75-be1c-3897-36865b7bfabf@oss.nttdata.com> <3193c7d590f3212e543b63df977da758@oss.nttdata.com> <78268b5f-53ed-4645-1abb-23c1030cce0a@oss.nttdata.com> Message-ID: <6c828f3a1d44dba81999fc7990b8f1c5@oss.nttdata.com> X-Sender: torikoshia@oss.nttdata.com User-Agent: Roundcube Webmail/1.1.9 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --=_ad2f4c7a143f2c921640c0482f457f2c Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On Mon, Jun 29, 2020 at 3:13 PM Fujii Masao wrote: > Could you add this patch to Commitfest 2020-07? Thanks for notifying, I've added it. BTW, I registered you as an author because this patch used lots of pg_cheat_funcs' codes. https://commitfest.postgresql.org/28/2622/ > This patch provides only the function, but isn't it convenient to > provide the view like pg_shmem_allocations? > Sounds good. But isn't it better to document each column? > Otherwise, users cannot undersntad what "ident" column indicates. Agreed. Attached a patch for creating a view for local memory context and its explanation on the document. Regards, -- Atsushi Torikoshi NTT DATA CORPORATION --=_ad2f4c7a143f2c921640c0482f457f2c Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0002-Adding-a-function-exposing-memory-usage-of-local-backend.patch Content-Disposition: attachment; filename*0*=UTF-8''0002-Adding-a-function-exposing-memory-usage-of-local-; filename*1*=backend.patch; size=15812 RnJvbSAwNTVhZjkwM2EzZGJmMTQ2ZDk3ZGQzZmIwMWE2YTdkM2QzYmQyYWUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IFdlZCwgMjkgSnVsIDIwMjAgMTM6MDI6MjkgKzA5MDAKU3ViamVjdDog W1BBVENIXSBBZGQgYSBmdW5jdGlvbiBleHBvc2luZyBtZW1vcnkgdXNhZ2Ugb2YgbG9jYWwgYmFj a2VuZC4KCkJhY2tlbmQgcHJvY2Vzc2VzIHNvbWV0aW1lcyB1c2UgYSBsb3Qgb2YgbWVtb3J5IGJl Y2F1c2Ugb2YgdmFyaW91cwpyZWFzb25zIGxpa2UgY2FjaGVzLCBwcmVwYXJlZCBzdGF0ZW1lbnRz IGFuZCBjdXJzb3JzLgoKUHJldmlvdXNseSwgdGhlIG9ubHkgd2F5IHRvIGV4YW1pbmUgdGhlIHVz YWdlIG9mIGJhY2tlbmQgcHJvY2Vzc2VzCndhcyBhdHRhY2hpbmcgYSBkZWJ1Z2dlciBhbmQgY2Fs bCBNZW1vcnlDb250ZXh0U3RhdHMoKSBhbmQgaXQgd2FzCm5vdCBzbyBjb252ZW5pZW50IGluIHNv bWUgY2FzZXMuCgpUaGlzIHBhdGNoIGltcGxlbWVudHMgYSBuZXcgU1FMLWNhbGxhYmxlIGZ1bmN0 aW9uCnBnX3N0YXRfZ2V0X21lbW9yeV9jb250ZXh0cyB3aGljaCBleHBvc2VzIG1lbW9yeSB1c2Fn ZSBvZiB0aGUKbG9jYWwgYmFja2VuZC4KSXQgYWxzbyBhZGRzIGEgbmV3IHZpZXcgcGdfc3RhdF9s b2NhbF9tZW1vcnlfY29udGV4dHMgZm9yIGV4cG9zaW5nCmxvY2FsIGJhY2tlbmQgbWVtb3J5IGNv bnRleHRzLgotLS0KIGRvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgICAgICAgICB8IDEzNyAr KysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbCB8ICAxMyArKysKIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdzdGF0LmMgICAgICB8 ICA4MCArKysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YyAgfCAgNDUgKysrKysrKysrCiBzcmMvaW5jbHVkZS9jYXRhbG9nL2NhdHZlcnNpb24uaCAgICAg fCAgIDIgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICB8ICAgOSArKwog c3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgIHwgICA2ICstCiBzcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCAgfCAgMTAgKysKIDggZmlsZXMgY2hhbmdlZCwgMzAw IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L21vbml0b3Jpbmcuc2dtbCBiL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKaW5kZXggZGZh OWQwZDY0MS4uOWI4MmFmNTRkMCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcu c2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCkBAIC0zNTAsNiArMzUwLDE1 IEBAIHBvc3RncmVzICAgMjcwOTMgIDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBTcyAg IDExOjM0ICAgMDowMCBwb3N0Z3Jlczogc2VyCiAgICAgICA8L2VudHJ5PgogICAgICA8L3Jvdz4K IAorICAgICA8cm93PgorICAgICAgPGVudHJ5PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfbG9jYWxfbWVt b3J5X2NvbnRleHRzPC9zdHJ1Y3RuYW1lPjxpbmRleHRlcm0+PHByaW1hcnk+cGdfc3RhdF9sb2Nh bF9tZW1vcnlfY29udGV4dHM8L3ByaW1hcnk+PC9pbmRleHRlcm0+PC9lbnRyeT4KKyAgICAgIDxl bnRyeT5PbmUgcm93IHBlciBtZW1vcnkgY29udGV4dCwgc2hvd2luZyBpbmZvcm1hdGlvbiBhYm91 dAorICAgICAgIHRoZSBjdXJyZW50IG1lbW9yeSBjb250ZXh0IG9uIHRoZSBsb2NhbCBiYWNrZW5k LgorICAgICAgIFNlZSA8bGluayBsaW5rZW5kPSJtb25pdG9yaW5nLXBnLXN0YXQtbG9jYWwtbWVt b3J5LWNvbnRleHRzLXZpZXciPgorICAgICAgIDxzdHJ1Y3RuYW1lPnBnX3N0YXRfbG9jYWxfbWVt b3J5X2NvbnRleHRzPC9zdHJ1Y3RuYW1lPjwvbGluaz4gZm9yIGRldGFpbHMuCisgICAgICA8L2Vu dHJ5PgorICAgICA8L3Jvdz4KKwogICAgICA8cm93PgogICAgICAgPGVudHJ5PjxzdHJ1Y3RuYW1l PnBnX3N0YXRfcHJvZ3Jlc3NfYW5hbHl6ZTwvc3RydWN0bmFtZT48aW5kZXh0ZXJtPjxwcmltYXJ5 PnBnX3N0YXRfcHJvZ3Jlc3NfYW5hbHl6ZTwvcHJpbWFyeT48L2luZGV4dGVybT48L2VudHJ5Pgog ICAgICAgPGVudHJ5Pk9uZSByb3cgZm9yIGVhY2ggYmFja2VuZCAoaW5jbHVkaW5nIGF1dG92YWN1 dW0gd29ya2VyIHByb2Nlc3NlcykgcnVubmluZwpAQCAtMzA1Myw2ICszMDYyLDEyMCBAQCBTRUxF Q1QgcGlkLCB3YWl0X2V2ZW50X3R5cGUsIHdhaXRfZXZlbnQgRlJPTSBwZ19zdGF0X2FjdGl2aXR5 IFdIRVJFIHdhaXRfZXZlbnQgaQogCiAgPC9zZWN0Mj4KIAorIDxzZWN0MiBpZD0ibW9uaXRvcmlu Zy1wZy1zdGF0LWxvY2FsLW1lbW9yeS1jb250ZXh0cyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5w Z19zdGF0X2xvY2FsX21lbW9yeV9jb250ZXh0czwvc3RydWN0bmFtZT48L3RpdGxlPgorCisgIDxp bmRleHRlcm0+CisgICA8cHJpbWFyeT5wZ19zdGF0X2xvY2FsX21lbW9yeV9jb250ZXh0czwvcHJp bWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgPHN0cnVjdG5hbWU+cGdf c3RhdF9sb2NhbF9tZW1vcnlfY29udGV4dHM8L3N0cnVjdG5hbWU+IHZpZXcgd2lsbAorICAgY29u dGFpbiBvbmUgcm93IHBlciBtZW1vcnkgY29udGV4dCwgc2hvd2luZyBpbmZvcm1hdGlvbiBhYm91 dCB0aGUKKyAgIGN1cnJlbnQgbWVtb3J5IGNvbnRleHQgb24gdGhlIGxvY2FsIGJhY2tlbmQuCisg IDwvcGFyYT4KKworICA8dGFibGUgaWQ9Im1vbml0b3JpbmctcGctc3RhdC1sb2NhbC1tZW1vcnkt Y29udGV4dHMtdmlldyIgeHJlZmxhYmVsPSJwZ19zdGF0X2xvY2FsX21lbW9yeV9jb250ZXh0cyI+ CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF9sb2NhbF9tZW1vcnlfY29udGV4dHM8L3N0 cnVjdG5hbWU+IFZpZXc8L3RpdGxlPgorICAgPHRncm91cCBjb2xzPSIxIj4KKyAgICA8dGhlYWQ+ CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIENvbHVtbiBUeXBlCisgICAgICA8 L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBEZXNjcmlwdGlvbgorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGhlYWQ+CisKKyAgICA8dGJvZHk+CisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5uYW1lPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+dGV4dDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhlIGNvbnRleHQKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aWRlbnQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT50ZXh0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgSWRlbnRpZmljYXRpb24gaW5mb3JtYXRpb24gb2YgdGhlIGNvbnRleHQuIFRo aXMgZmllbGQgaXMgdHJ1bmNhdGVkIGlmIHRoZSBpZGVudGlmaWNhdGlvbiBmaWVsZCBpcyBsb25n ZXIgdGhhbiA8c3ltYm9sPk1FTU9SWV9DT05URVhUX0lERU5UX1NJWkU8L3N5bWJvbD4gKDEwMjQg Y2hhcmFjdGVycyBpbiBhIHN0YW5kYXJkIGJ1aWxkKQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5wYXJlbnQ8L3N0cnVjdGZpZWxkPiA8dHlwZT50ZXh0PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGUgcGFyZW50IG9mIHRoaXMgY29udGV4 dAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5sZXZlbDwvc3RydWN0ZmllbGQ+IDx0eXBl PmludGVnZXI8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBEaXN0 YW5jZSBmcm9tIFRvcE1lbW9yeUNvbnRleHQgaW4gY29udGV4dCB0cmVlCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnRvdGFsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVG90YWwgYnl0ZXMgcmVx dWVzdGVkIGZyb20gbWFsbG9jCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX25i bG9ja3M8L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICBUb3RhbCBudW1iZXIgb2YgbWFsbG9jIGJsb2NrcworICAgICAg PC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5mcmVlX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+Ymln aW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRnJlZSBzcGFj ZSBpbiBieXRlcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5mcmVlX2NodW5rczwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgIFRvdGFsIG51bWJlciBvZiBmcmVlIGNodW5rcworICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD51c2VkX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVXNlZCBzcGFjZSBpbiBieXRlcwor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGJvZHk+CisgICA8L3Rn cm91cD4KKyAgPC90YWJsZT4KKworIDwvc2VjdDI+CisKICA8c2VjdDIgaWQ9Im1vbml0b3Jpbmct cGctc3RhdC1hcmNoaXZlci12aWV3Ij4KICAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRfYXJj aGl2ZXI8L3N0cnVjdG5hbWU+PC90aXRsZT4KIApAQCAtNDYxNyw2ICs0NzQwLDIwIEBAIFNFTEVD VCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2FpdF9ldmVudCBGUk9NIHBnX3N0YXRfYWN0aXZpdHkg V0hFUkUgd2FpdF9ldmVudCBpCiAgICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgICA8L3Jvdz4K IAorICAgICAgPHJvdz4KKyAgICAgICA8ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgorICAgICAgICA8aW5kZXh0ZXJtPgorICAgICAgICAg PHByaW1hcnk+cGdfc3RhdF9nZXRfbWVtb3J5X2NvbnRleHRzPC9wcmltYXJ5PgorICAgICAgICA8 L2luZGV4dGVybT4KKyAgICAgICAgPGZ1bmN0aW9uPnBnX3N0YXRfZ2V0X21lbW9yeV9jb250ZXh0 czwvZnVuY3Rpb24+ICgpCisgICAgICAgIDxyZXR1cm52YWx1ZT5zZXRvZiByZWNvcmQ8L3JldHVy bnZhbHVlPgorICAgICAgIDwvcGFyYT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgUmV0dXJucyBy ZWNvcmRzIG9mIGluZm9ybWF0aW9uIGFib3V0IGFsbCBtZW1vcnkgY29udGV4dHMgb2YgdGhlCisg ICAgICAgIGxvY2FsIGJhY2tlbmQuCisgICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgICA8L3Jv dz4KKwogICAgICAgPHJvdz4KICAgICAgICA8ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgogICAgICAgICA8aW5kZXh0ZXJtPgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IDUzMTRlOTM0OGYuLjEzNGIyMGYxM2YgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMv YmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTc5Myw2ICs3OTMsMTkgQEAgQ1JF QVRFIFZJRVcgcGdfc3RhdF9yZXBsaWNhdGlvbiBBUwogICAgICAgICBKT0lOIHBnX3N0YXRfZ2V0 X3dhbF9zZW5kZXJzKCkgQVMgVyBPTiAoUy5waWQgPSBXLnBpZCkKICAgICAgICAgTEVGVCBKT0lO IHBnX2F1dGhpZCBBUyBVIE9OIChTLnVzZXN5c2lkID0gVS5vaWQpOwogCitDUkVBVEUgVklFVyBw Z19zdGF0X2xvY2FsX21lbW9yeV9jb250ZXh0cyBBUworICAgIFNFTEVDVAorICAgICAgICAgICAg cy5uYW1lLAorICAgICAgICAgICAgcy5pZGVudCwKKyAgICAgICAgICAgIHMucGFyZW50LAorICAg ICAgICAgICAgcy5sZXZlbCwKKyAgICAgICAgICAgIHMudG90YWxfYnl0ZXMsCisgICAgICAgICAg ICBzLnRvdGFsX25ibG9ja3MsCisgICAgICAgICAgICBzLmZyZWVfYnl0ZXMsCisgICAgICAgICAg ICBzLmZyZWVfY2h1bmtzLAorICAgICAgICAgICAgcy51c2VkX2J5dGVzCisgICAgRlJPTSBwZ19z dGF0X2dldF9tZW1vcnlfY29udGV4dHMoKSBzOworCiBDUkVBVEUgVklFVyBwZ19zdGF0X3NscnUg QVMKICAgICBTRUxFQ1QKICAgICAgICAgICAgIHMubmFtZSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3Bvc3RtYXN0ZXIvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bnc3RhdC5j CmluZGV4IGMwMjI1OTdiYzAuLjE0MGYxMTE2NTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYwpA QCAtNjIsNiArNjIsNyBAQAogI2luY2x1ZGUgInN0b3JhZ2UvcHJvY3NpZ25hbC5oIgogI2luY2x1 ZGUgInN0b3JhZ2Uvc2ludmFsYWR0LmgiCiAjaW5jbHVkZSAidXRpbHMvYXNjaWkuaCIKKyNpbmNs dWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUg InV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvcHNfc3RhdHVzLmgiCkBAIC0xNjcs NiArMTY4LDEzIEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzbHJ1X25hbWVzW10gPSB7CiAg Ki8KIHN0YXRpYyBQZ1N0YXRfTXNnU0xSVSBTTFJVU3RhdHNbU0xSVV9OVU1fRUxFTUVOVFNdOwog CisvKiAtLS0tLS0tLS0tCisgKiBUaGUgbWF4IGJ5dGVzIGZvciBzaG93aW5nIGlkZW50aWZpZXJz IG9mIE1lbW9yeUNvbnRleHQuCisgKiAtLS0tLS0tLS0tCisgKi8KKyNkZWZpbmUgTUVNT1JZX0NP TlRFWFRfSURFTlRfU0laRQkxMDI0CisKKwogLyogLS0tLS0tLS0tLQogICogTG9jYWwgZGF0YQog ICogLS0tLS0tLS0tLQpAQCAtMjY5MSw2ICsyNjk5LDc4IEBAIHBnc3RhdF9mZXRjaF9zbHJ1KHZv aWQpCiAJcmV0dXJuIHNscnVTdGF0czsKIH0KIAordm9pZAorcGdzdGF0X3B1dF9tZW1vcnlfY29u dGV4dHNfdHVwbGVzdG9yZShUdXBsZXN0b3Jlc3RhdGUgKnR1cHN0b3JlLAorCQkJCQkJCQkgIFR1 cGxlRGVzYyB0dXBkZXNjLCBNZW1vcnlDb250ZXh0IGNvbnRleHQsCisJCQkJCQkJCSAgTWVtb3J5 Q29udGV4dCBwYXJlbnQsIGludCBsZXZlbCkKK3sKKyNkZWZpbmUgUEdfU1RBVF9HRVRfTUVNT1JZ X0NPTlRFWFRfQ09MUwk5CisJRGF0dW0JCXZhbHVlc1tQR19TVEFUX0dFVF9NRU1PUllfQ09OVEVY VF9DT0xTXTsKKwlib29sCQludWxsc1tQR19TVEFUX0dFVF9NRU1PUllfQ09OVEVYVF9DT0xTXTsK KwlNZW1vcnlDb250ZXh0Q291bnRlcnMgc3RhdDsKKwlNZW1vcnlDb250ZXh0IGNoaWxkOworCWNv bnN0IGNoYXIgKm5hbWUgPSBjb250ZXh0LT5uYW1lOworCWNvbnN0IGNoYXIgKmlkZW50ID0gY29u dGV4dC0+aWRlbnQ7CisKKwlpZiAoY29udGV4dCA9PSBOVUxMKQorCQlyZXR1cm47CisKKwkvKgor CSAqIEl0IHNlZW1zIHByZWZlcmFibGUgdG8gbGFiZWwgZHluYWhhc2ggY29udGV4dHMgd2l0aCBq dXN0IHRoZSBoYXNoIHRhYmxlCisJICogbmFtZS4gIFRob3NlIGFyZSBhbHJlYWR5IHVuaXF1ZSBl bm91Z2gsIHNvIHRoZSAiZHluYWhhc2giIHBhcnQgaXNuJ3QKKwkgKiB2ZXJ5IGhlbHBmdWwsIGFu ZCB0aGlzIHdheSBpcyBtb3JlIGNvbnNpc3RlbnQgd2l0aCBwcmUtdjExIHByYWN0aWNlLgorCSAq LworCWlmIChpZGVudCAmJiBzdHJjbXAobmFtZSwgImR5bmFoYXNoIikgPT0gMCkKKwl7CisJCW5h bWUgPSBpZGVudDsKKwkJaWRlbnQgPSBOVUxMOworCX0KKworCS8qIEV4YW1pbmUgdGhlIGNvbnRl eHQgaXRzZWxmICovCisJbWVtc2V0KCZzdGF0LCAwLCBzaXplb2Yoc3RhdCkpOworCSgqY29udGV4 dC0+bWV0aG9kcy0+c3RhdHMpIChjb250ZXh0LCBOVUxMLCAodm9pZCAqKSAmbGV2ZWwsICZzdGF0 KTsKKworCW1lbXNldChudWxscywgMCwgc2l6ZW9mKG51bGxzKSk7CisJdmFsdWVzWzBdID0gQ1N0 cmluZ0dldFRleHREYXR1bShuYW1lKTsKKworCWlmIChpZGVudCkKKwl7CisJCWludAkJaWRsZW4g PSBzdHJsZW4oaWRlbnQpOworCQljaGFyCQljbGlwcGVkX2lkZW50W01FTU9SWV9DT05URVhUX0lE RU5UX1NJWkVdOworCisJCS8qCisJCSAqIFNvbWUgaWRlbnRpZmllcnMgc3VjaCBhcyBTUUwgcXVl cnkgc3RyaW5nIGNhbiBiZSB2ZXJ5IGxvbmcsCisJCSAqIHRydW5jYXRlIG92ZXJzaXplIGlkZW50 aWZpZXJzLgorCQkgKi8KKwkJaWYgKGlkbGVuID49IE1FTU9SWV9DT05URVhUX0lERU5UX1NJWkUp CisJCQlpZGxlbiA9IHBnX21iY2xpcGxlbihpZGVudCwgaWRsZW4sIE1FTU9SWV9DT05URVhUX0lE RU5UX1NJWkUgLSAxKTsKKworCQltZW1jcHkoY2xpcHBlZF9pZGVudCwgaWRlbnQsIGlkbGVuKTsK KwkJY2xpcHBlZF9pZGVudFtpZGxlbl0gPSAnXDAnOworCQl2YWx1ZXNbMV0gPSBDU3RyaW5nR2V0 VGV4dERhdHVtKGNsaXBwZWRfaWRlbnQpOworCX0KKwllbHNlCisJCW51bGxzWzFdID0gdHJ1ZTsK KworCWlmIChwYXJlbnQgPT0gTlVMTCkKKwkJbnVsbHNbMl0gPSB0cnVlOworCWVsc2UKKwkJdmFs dWVzWzJdID0gQ1N0cmluZ0dldFRleHREYXR1bShwYXJlbnQtPm5hbWUpOworCXZhbHVlc1szXSA9 IEludDMyR2V0RGF0dW0obGV2ZWwpOworCXZhbHVlc1s0XSA9IEludDY0R2V0RGF0dW0oc3RhdC50 b3RhbHNwYWNlKTsKKwl2YWx1ZXNbNV0gPSBJbnQ2NEdldERhdHVtKHN0YXQubmJsb2Nrcyk7CisJ dmFsdWVzWzZdID0gSW50NjRHZXREYXR1bShzdGF0LmZyZWVzcGFjZSk7CisJdmFsdWVzWzddID0g SW50NjRHZXREYXR1bShzdGF0LmZyZWVjaHVua3MpOworCXZhbHVlc1s4XSA9IEludDY0R2V0RGF0 dW0oc3RhdC50b3RhbHNwYWNlIC0gc3RhdC5mcmVlc3BhY2UpOworCXR1cGxlc3RvcmVfcHV0dmFs dWVzKHR1cHN0b3JlLCB0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKTsKKworCWZvciAoY2hpbGQgPSBj b250ZXh0LT5maXJzdGNoaWxkOyBjaGlsZCAhPSBOVUxMOyBjaGlsZCA9IGNoaWxkLT5uZXh0Y2hp bGQpCisJeworCQlwZ3N0YXRfcHV0X21lbW9yeV9jb250ZXh0c190dXBsZXN0b3JlKHR1cHN0b3Jl LCB0dXBkZXNjLAorCQkJCQkJCQkJICBjaGlsZCwgY29udGV4dCwgbGV2ZWwgKyAxKTsKKwl9Cit9 CisKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiAgKiBGdW5jdGlvbnMgZm9yIG1hbmFnZW1lbnQgb2YgdGhlIHNoYXJlZC1t ZW1vcnkgUGdCYWNrZW5kU3RhdHVzIGFycmF5CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5j CmluZGV4IDJhZmY3Mzk0NjYuLjNlMjFiNDdiNjMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRm dW5jcy5jCkBAIC0xMTgyLDYgKzExODIsNTEgQEAgcGdfc3RhdF9nZXRfYmFja2VuZF9jbGllbnRf YWRkcihQR19GVU5DVElPTl9BUkdTKQogCQkJCQkJCQkJCSBDU3RyaW5nR2V0RGF0dW0ocmVtb3Rl X2hvc3QpKSk7CiB9CiAKK0RhdHVtCitwZ19zdGF0X2dldF9tZW1vcnlfY29udGV4dHMoUEdfRlVO Q1RJT05fQVJHUykKK3sKKwlSZXR1cm5TZXRJbmZvICpyc2luZm8gPSAoUmV0dXJuU2V0SW5mbyAq KSBmY2luZm8tPnJlc3VsdGluZm87CisJVHVwbGVEZXNjCXR1cGRlc2M7CisJVHVwbGVzdG9yZXN0 YXRlICp0dXBzdG9yZTsKKwlNZW1vcnlDb250ZXh0IHBlcl9xdWVyeV9jdHg7CisJTWVtb3J5Q29u dGV4dCBvbGRjb250ZXh0OworCisJLyogY2hlY2sgdG8gc2VlIGlmIGNhbGxlciBzdXBwb3J0cyB1 cyByZXR1cm5pbmcgYSB0dXBsZXN0b3JlICovCisJaWYgKHJzaW5mbyA9PSBOVUxMIHx8ICFJc0Eo cnNpbmZvLCBSZXR1cm5TZXRJbmZvKSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShF UlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJIGVycm1zZygic2V0LXZhbHVlZCBm dW5jdGlvbiBjYWxsZWQgaW4gY29udGV4dCB0aGF0IGNhbm5vdCBhY2NlcHQgYSBzZXQiKSkpOwor CWlmICghKHJzaW5mby0+YWxsb3dlZE1vZGVzICYgU0ZSTV9NYXRlcmlhbGl6ZSkpCisJCWVyZXBv cnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAor CQkJCSBlcnJtc2coIm1hdGVyaWFsaXplIG1vZGUgcmVxdWlyZWQsIGJ1dCBpdCBpcyBub3QgYWxs b3dlZCBpbiB0aGlzIGNvbnRleHQiKSkpOworCisJLyogQnVpbGQgYSB0dXBsZSBkZXNjcmlwdG9y IGZvciBvdXIgcmVzdWx0IHR5cGUgKi8KKwlpZiAoZ2V0X2NhbGxfcmVzdWx0X3R5cGUoZmNpbmZv LCBOVUxMLCAmdHVwZGVzYykgIT0gVFlQRUZVTkNfQ09NUE9TSVRFKQorCQllbG9nKEVSUk9SLCAi cmV0dXJuIHR5cGUgbXVzdCBiZSBhIHJvdyB0eXBlIik7CisKKwlwZXJfcXVlcnlfY3R4ID0gcnNp bmZvLT5lY29udGV4dC0+ZWN4dF9wZXJfcXVlcnlfbWVtb3J5OworCW9sZGNvbnRleHQgPSBNZW1v cnlDb250ZXh0U3dpdGNoVG8ocGVyX3F1ZXJ5X2N0eCk7CisKKwl0dXBzdG9yZSA9IHR1cGxlc3Rv cmVfYmVnaW5faGVhcCh0cnVlLCBmYWxzZSwgd29ya19tZW0pOworCXJzaW5mby0+cmV0dXJuTW9k ZSA9IFNGUk1fTWF0ZXJpYWxpemU7CisJcnNpbmZvLT5zZXRSZXN1bHQgPSB0dXBzdG9yZTsKKwly c2luZm8tPnNldERlc2MgPSB0dXBkZXNjOworCisJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGNv bnRleHQpOworCisJdHVwZGVzYyA9IHJzaW5mby0+c2V0RGVzYzsKKwl0dXBzdG9yZSA9IHJzaW5m by0+c2V0UmVzdWx0OworCisJcGdzdGF0X3B1dF9tZW1vcnlfY29udGV4dHNfdHVwbGVzdG9yZSh0 dXBzdG9yZSwgdHVwZGVzYywKKwkJCQkJCQkJCQkgIFRvcE1lbW9yeUNvbnRleHQsIE5VTEwsIDAp OworCisJLyogY2xlYW4gdXAgYW5kIHJldHVybiB0aGUgdHVwbGVzdG9yZSAqLworCXR1cGxlc3Rv cmVfZG9uZXN0b3JpbmcodHVwc3RvcmUpOworCisJcmV0dXJuIChEYXR1bSkgMDsKK30KKwogRGF0 dW0KIHBnX3N0YXRfZ2V0X2JhY2tlbmRfY2xpZW50X3BvcnQoUEdfRlVOQ1RJT05fQVJHUykKIHsK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0dmVyc2lvbi5oIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9jYXR2ZXJzaW9uLmgKaW5kZXggNzY0NDE0N2NmNS4uNTBhYTNlMDFjMCAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXR2ZXJzaW9uLmgKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9jYXR2ZXJzaW9uLmgKQEAgLTUzLDYgKzUzLDYgQEAKICAqLwogCiAvKgkJCQkJ CQl5eXl5bW1kZE4gKi8KLSNkZWZpbmUgQ0FUQUxPR19WRVJTSU9OX05PCTIwMjAwNjE1MQorI2Rl ZmluZSBDQVRBTE9HX1ZFUlNJT05fTk8JMjAyMDA3MDExCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf cHJvYy5kYXQKaW5kZXggNjFmMmMyZjViNC4uOGQxZTYzZmJjYSAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0CkBAIC01MzI5LDYgKzUzMjksMTUgQEAKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRf ZGJfYmxvY2tzX2hpdCcsIHByb3ZvbGF0aWxlID0+ICdzJywKICAgcHJvcGFyYWxsZWwgPT4gJ3In LCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCiAgIHByb3NyYyA9 PiAncGdfc3RhdF9nZXRfZGJfYmxvY2tzX2hpdCcgfSwKK3sgb2lkID0+ICcyMjgyJywgcHJvcm93 cyA9PiAnMTAwJywgcHJvcmV0c2V0ID0+ICd0JywKKyAgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGlu Zm9ybWF0aW9uIGFib3V0IGFsbCBtZW1vcnkgY29udGV4dHMgb2YgbG9jYWwgYmFja2VuZCcsCisg IHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X21lbW9yeV9jb250ZXh0cycsIHByb3ZvbGF0aWxlID0+ ICd2JywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLCBwcm9h cmd0eXBlcyA9PiAnJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3t0ZXh0LHRleHQsdGV4dCxpbnQ0 LGludDgsaW50OCxpbnQ4LGludDgsaW50OH0nLAorICBwcm9hcmdtb2RlcyA9PiAne28sbyxvLG8s byxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7bmFtZSwgaWRlbnQsIHBhcmVudCwgbGV2 ZWwsIHRvdGFsX2J5dGVzLCB0b3RhbF9uYmxvY2tzLCBmcmVlX2J5dGVzLCBmcmVlX2NodW5rcywg dXNlZF9ieXRlc30nLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X21lbW9yeV9jb250ZXh0cycg fSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cycgfSwK IHsgb2lkID0+ICcyNzU4JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IHR1cGxlcyByZXR1cm5lZCBm b3IgZGF0YWJhc2UnLAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9kYl90dXBsZXNfcmV0dXJu ZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlw ZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCAxMzg3MjAxMzgyLi42YTQz YmQ4ZTYwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVk ZS9wZ3N0YXQuaApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgInN0b3JhZ2UvcHJvYy5oIgog I2luY2x1ZGUgInV0aWxzL2hzZWFyY2guaCIKICNpbmNsdWRlICJ1dGlscy9yZWxjYWNoZS5oIgor I2luY2x1ZGUgInV0aWxzL3R1cGxlc3RvcmUuaCIKIAogCiAvKiAtLS0tLS0tLS0tCkBAIC0xNDc0 LDcgKzE0NzUsMTAgQEAgZXh0ZXJuIGludAlwZ3N0YXRfZmV0Y2hfc3RhdF9udW1iYWNrZW5kcyh2 b2lkKTsKIGV4dGVybiBQZ1N0YXRfQXJjaGl2ZXJTdGF0cyAqcGdzdGF0X2ZldGNoX3N0YXRfYXJj aGl2ZXIodm9pZCk7CiBleHRlcm4gUGdTdGF0X0dsb2JhbFN0YXRzICpwZ3N0YXRfZmV0Y2hfZ2xv YmFsKHZvaWQpOwogZXh0ZXJuIFBnU3RhdF9TTFJVU3RhdHMgKnBnc3RhdF9mZXRjaF9zbHJ1KHZv aWQpOwotCitleHRlcm4gdm9pZCBwZ3N0YXRfcHV0X21lbW9yeV9jb250ZXh0c190dXBsZXN0b3Jl KFR1cGxlc3RvcmVzdGF0ZSAqdHVwc3RvcmUsCisJCQkJCQkJCQlUdXBsZURlc2MgdHVwZGVzYywK KwkJCQkJCQkJCU1lbW9yeUNvbnRleHQgY29udGV4dCwKKwkJCQkJCQkJCU1lbW9yeUNvbnRleHQg cGFyZW50LCBpbnQgbGV2ZWwpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X3NscnVfcGFnZV96 ZXJvZWQoaW50IHNscnVfaWR4KTsKIGV4dGVybiB2b2lkIHBnc3RhdF9jb3VudF9zbHJ1X3BhZ2Vf aGl0KGludCBzbHJ1X2lkeCk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfY291bnRfc2xydV9wYWdlX3Jl YWQoaW50IHNscnVfaWR4KTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggYjgx M2UzMjIxNS4uZDFkOTg5ZDFkZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAg LTE4NTcsNiArMTg1NywxNiBAQCBwZ19zdGF0X2dzc2FwaXwgU0VMRUNUIHMucGlkLAogICAgIHMu Z3NzX2VuYyBBUyBlbmNyeXB0ZWQKICAgIEZST00gcGdfc3RhdF9nZXRfYWN0aXZpdHkoTlVMTDo6 aW50ZWdlcikgcyhkYXRpZCwgcGlkLCB1c2VzeXNpZCwgYXBwbGljYXRpb25fbmFtZSwgc3RhdGUs IHF1ZXJ5LCB3YWl0X2V2ZW50X3R5cGUsIHdhaXRfZXZlbnQsIHhhY3Rfc3RhcnQsIHF1ZXJ5X3N0 YXJ0LCBiYWNrZW5kX3N0YXJ0LCBzdGF0ZV9jaGFuZ2UsIGNsaWVudF9hZGRyLCBjbGllbnRfaG9z dG5hbWUsIGNsaWVudF9wb3J0LCBiYWNrZW5kX3hpZCwgYmFja2VuZF94bWluLCBiYWNrZW5kX3R5 cGUsIHNzbCwgc3NsdmVyc2lvbiwgc3NsY2lwaGVyLCBzc2xiaXRzLCBzc2xjb21wcmVzc2lvbiwg c3NsX2NsaWVudF9kbiwgc3NsX2NsaWVudF9zZXJpYWwsIHNzbF9pc3N1ZXJfZG4sIGdzc19hdXRo LCBnc3NfcHJpbmMsIGdzc19lbmMsIGxlYWRlcl9waWQpCiAgIFdIRVJFIChzLmNsaWVudF9wb3J0 IElTIE5PVCBOVUxMKTsKK3BnX3N0YXRfbG9jYWxfbWVtb3J5X2NvbnRleHRzfCBTRUxFQ1Qgcy5u YW1lLAorICAgIHMuaWRlbnQsCisgICAgcy5wYXJlbnQsCisgICAgcy5sZXZlbCwKKyAgICBzLnRv dGFsX2J5dGVzLAorICAgIHMudG90YWxfbmJsb2NrcywKKyAgICBzLmZyZWVfYnl0ZXMsCisgICAg cy5mcmVlX2NodW5rcywKKyAgICBzLnVzZWRfYnl0ZXMKKyAgIEZST00gcGdfc3RhdF9nZXRfbWVt b3J5X2NvbnRleHRzKCkgcyhuYW1lLCBpZGVudCwgcGFyZW50LCBsZXZlbCwgdG90YWxfYnl0ZXMs IHRvdGFsX25ibG9ja3MsIGZyZWVfYnl0ZXMsIGZyZWVfY2h1bmtzLCB1c2VkX2J5dGVzKTsKIHBn X3N0YXRfcHJvZ3Jlc3NfYW5hbHl6ZXwgU0VMRUNUIHMucGlkLAogICAgIHMuZGF0aWQsCiAgICAg ZC5kYXRuYW1lLAotLSAKMi4xOC4xCgo= --=_ad2f4c7a143f2c921640c0482f457f2c--