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 1pXK7G-000794-BQ for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Mar 2023 10:55:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pXK7F-0003ok-78 for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Mar 2023 10:55:21 +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 1pXK7E-0003ob-Gh for pgsql-hackers@lists.postgresql.org; Wed, 01 Mar 2023 10:55:20 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pXK7A-0003t1-UX for pgsql-hackers@lists.postgresql.org; Wed, 01 Mar 2023 10:55:19 +0000 Received: from [192.168.0.104] (unknown [62.217.188.29]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail.postgrespro.ru (Postfix) with ESMTPSA id A852021CCCD1; Wed, 1 Mar 2023 13:55:13 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1677668113; bh=N9+SVOgn9ehh0k4sQZTwZSj5hS7SzJNXs8FwB1JlhQc=; h=Date:Subject:From:To:Cc:References:In-Reply-To; b=RmiTpyFUnYGkUD+vZCil+yGoCiNUz5e8xK9xM0kcXC7tq9tTXXAloBDhlZt3avqYz t9gx8G9/2/blnJv2KZDgojYkqAU+7l3+YqzQuzV+PomfJ7SBnHGPb6gFQhPoIBIAxo 1VODuw7HCSj9aiw369Ref8/n2rdG44lFMSLzMZIw= Content-Type: multipart/mixed; boundary="------------Au0Okrmcm0JFTD00czKpyL0s" Message-ID: <2ec6cc5b-430d-6223-1469-75ff90d7082d@postgrespro.ru> Date: Wed, 1 Mar 2023 13:55:13 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: psql: Add role's membership options to the \du+ command Content-Language: en-US From: Pavel Luzanov To: "David G. Johnston" Cc: David Zhang , "pgsql-hackers@lists.postgresql.org" References: <01620d6b-9efe-b199-b619-8450d865ec83@postgrespro.ru> <94ce7392-fa90-bc1c-4dc2-677161bbff58@postgrespro.ru> <22110b1f-dac6-d812-1742-7e915b60f893@postgrespro.ru> In-Reply-To: <22110b1f-dac6-d812-1742-7e915b60f893@postgrespro.ru> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------Au0Okrmcm0JFTD00czKpyL0s Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Next version (v3) addresses complains from cfbot. Changed only tests. -- Pavel Luzanov Postgres Professional: https://postgrespro.com --------------Au0Okrmcm0JFTD00czKpyL0s Content-Type: text/x-patch; charset=UTF-8; name="v3-0001-psql-du-shows-memberships-options.patch" Content-Disposition: attachment; filename="v3-0001-psql-du-shows-memberships-options.patch" Content-Transfer-Encoding: base64 RnJvbSA2ZGI2Mjk5M2Q0YjdhZmJjYmNlM2U2M2NlM2ZiZTM5NDZlYzUwY2ZmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXZlbCBMdXphbm92IDxwLmx1emFub3ZAcG9zdGdy ZXNwcm8ucnU+CkRhdGU6IFdlZCwgMSBNYXIgMjAyMyAxMzoyOToxMCArMDMwMApTdWJqZWN0 OiBbUEFUQ0ggdjNdIHBzcWw6IFxkdSBzaG93cyBtZW1iZXJzaGlwcyBvcHRpb25zCgotLS0K IGRvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dtbCAgICAgfCAxMiArKysrKysrKwogc3Jj L2Jpbi9wc3FsL2Rlc2NyaWJlLmMgICAgICAgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHNxbC5vdXQgfCA0OCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Bz cWwuc3FsICAgICAgfCAyOSArKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwg MTE4IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYu c2dtbAppbmRleCBkYzY1MjhkYzExLi5jOTRhMjI4N2YwIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wc3FsLXJl Zi5zZ21sCkBAIC0xNzI0LDYgKzE3MjQsMTIgQEAgSU5TRVJUIElOVE8gdGJsMSBWQUxVRVMg KCQxLCAkMikgXGJpbmQgJ2ZpcnN0IHZhbHVlJyAnc2Vjb25kIHZhbHVlJyBcZwogICAgICAg ICA8bGl0ZXJhbD5TPC9saXRlcmFsPiBtb2RpZmllciB0byBpbmNsdWRlIHN5c3RlbSByb2xl cy4KICAgICAgICAgSWYgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhdHRlcm48 L3JlcGxhY2VhYmxlPiBpcyBzcGVjaWZpZWQsCiAgICAgICAgIG9ubHkgdGhvc2Ugcm9sZXMg d2hvc2UgbmFtZXMgbWF0Y2ggdGhlIHBhdHRlcm4gYXJlIGxpc3RlZC4KKyAgICAgICAgRm9y IGVhY2ggbWVtYmVyc2hpcCBpbiB0aGUgcm9sZSwgdGhlIG1lbWJlcnNoaXAgb3B0aW9ucyBh bmQKKyAgICAgICAgdGhlIHJvbGUgdGhhdCBncmFudGVkIHRoZSBtZW1iZXJzaGlwIGFyZSBk aXNwbGF5ZWQuCisgICAgICAgINCebmUtbGV0dGVyIGFiYnJldmlhdGlvbnMgYXJlIHVzZWQg Zm9yIG1lbWJlcnNoaXAgb3B0aW9uczoKKyAgICAgICAgPGxpdGVyYWw+YTwvbGl0ZXJhbD4g Jm1kYXNoOyBhZG1pbiBvcHRpb24sIDxsaXRlcmFsPmk8L2xpdGVyYWw+ICZtZGFzaDsgaW5o ZXJpdCBvcHRpb24sCisgICAgICAgIDxsaXRlcmFsPnM8L2xpdGVyYWw+ICZtZGFzaDsgc2V0 IG9wdGlvbiBhbmQgPGxpdGVyYWw+ZW1wdHk8L2xpdGVyYWw+IGlmIG5vIG9uZSBpcyBzZXQu CisgICAgICAgIFNlZSA8bGluayBsaW5rZW5kPSJzcWwtZ3JhbnQiPjxjb21tYW5kPkdSQU5U PC9jb21tYW5kPjwvbGluaz4gY29tbWFuZCBmb3IgdGhlaXIgbWVhbmluZy4KICAgICAgICAg SWYgdGhlIGZvcm0gPGxpdGVyYWw+XGRnKzwvbGl0ZXJhbD4gaXMgdXNlZCwgYWRkaXRpb25h bCBpbmZvcm1hdGlvbgogICAgICAgICBpcyBzaG93biBhYm91dCBlYWNoIHJvbGU7IGN1cnJl bnRseSB0aGlzIGFkZHMgdGhlIGNvbW1lbnQgZm9yIGVhY2gKICAgICAgICAgcm9sZS4KQEAg LTE5NjYsNiArMTk3MiwxMiBAQCBJTlNFUlQgSU5UTyB0YmwxIFZBTFVFUyAoJDEsICQyKSBc YmluZCAnZmlyc3QgdmFsdWUnICdzZWNvbmQgdmFsdWUnIFxnCiAgICAgICAgIDxsaXRlcmFs PlM8L2xpdGVyYWw+IG1vZGlmaWVyIHRvIGluY2x1ZGUgc3lzdGVtIHJvbGVzLgogICAgICAg ICBJZiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0dGVybjwvcmVwbGFjZWFi bGU+IGlzIHNwZWNpZmllZCwKICAgICAgICAgb25seSB0aG9zZSByb2xlcyB3aG9zZSBuYW1l cyBtYXRjaCB0aGUgcGF0dGVybiBhcmUgbGlzdGVkLgorICAgICAgICBGb3IgZWFjaCBtZW1i ZXJzaGlwIGluIHRoZSByb2xlLCB0aGUgbWVtYmVyc2hpcCBvcHRpb25zIGFuZAorICAgICAg ICB0aGUgcm9sZSB0aGF0IGdyYW50ZWQgdGhlIG1lbWJlcnNoaXAgYXJlIGRpc3BsYXllZC4K KyAgICAgICAg0J5uZS1sZXR0ZXIgYWJicmV2aWF0aW9ucyBhcmUgdXNlZCBmb3IgbWVtYmVy c2hpcCBvcHRpb25zOgorICAgICAgICA8bGl0ZXJhbD5hPC9saXRlcmFsPiAmbWRhc2g7IGFk bWluIG9wdGlvbiwgPGxpdGVyYWw+aTwvbGl0ZXJhbD4gJm1kYXNoOyBpbmhlcml0IG9wdGlv biwKKyAgICAgICAgPGxpdGVyYWw+czwvbGl0ZXJhbD4gJm1kYXNoOyBzZXQgb3B0aW9uIGFu ZCA8bGl0ZXJhbD5lbXB0eTwvbGl0ZXJhbD4gaWYgbm8gb25lIGlzIHNldC4KKyAgICAgICAg U2VlIDxsaW5rIGxpbmtlbmQ9InNxbC1ncmFudCI+PGNvbW1hbmQ+R1JBTlQ8L2NvbW1hbmQ+ PC9saW5rPiBjb21tYW5kIGZvciB0aGVpciBtZWFuaW5nLgogICAgICAgICBJZiB0aGUgZm9y bSA8bGl0ZXJhbD5cZHUrPC9saXRlcmFsPiBpcyB1c2VkLCBhZGRpdGlvbmFsIGluZm9ybWF0 aW9uCiAgICAgICAgIGlzIHNob3duIGFib3V0IGVhY2ggcm9sZTsgY3VycmVudGx5IHRoaXMg YWRkcyB0aGUgY29tbWVudCBmb3IgZWFjaAogICAgICAgICByb2xlLgpkaWZmIC0tZ2l0IGEv c3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwppbmRl eCBjOGEwYmI3YjNhLi4yN2E4NjgwZGRmIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvZGVz Y3JpYmUuYworKysgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwpAQCAtMzYyMywyMiArMzYy MywzNiBAQCBkZXNjcmliZVJvbGVzKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGJvb2wgdmVyYm9z ZSwgYm9vbCBzaG93U3lzdGVtKQogCQkJCQkgICJTRUxFQ1Qgci5yb2xuYW1lLCByLnJvbHN1 cGVyLCByLnJvbGluaGVyaXQsXG4iCiAJCQkJCSAgIiAgci5yb2xjcmVhdGVyb2xlLCByLnJv bGNyZWF0ZWRiLCByLnJvbGNhbmxvZ2luLFxuIgogCQkJCQkgICIgIHIucm9sY29ubmxpbWl0 LCByLnJvbHZhbGlkdW50aWwsXG4iCi0JCQkJCSAgIiAgQVJSQVkoU0VMRUNUIGIucm9sbmFt ZVxuIgotCQkJCQkgICIgICAgICAgIEZST00gcGdfY2F0YWxvZy5wZ19hdXRoX21lbWJlcnMg bVxuIgotCQkJCQkgICIgICAgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19yb2xlcyBiIE9OICht LnJvbGVpZCA9IGIub2lkKVxuIgotCQkJCQkgICIgICAgICAgIFdIRVJFIG0ubWVtYmVyID0g ci5vaWQpIGFzIG1lbWJlcm9mIik7CisJCQkJCSAgIiAgci5yb2xyZXBsaWNhdGlvbiwgci5y b2xieXBhc3NybHMsXG4iKTsKKworCWlmIChwc2V0LnN2ZXJzaW9uID49IDE2MDAwMCkKKwkJ YXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwKKwkJCQkJCQkgIiAgKFNFTEVDVCBwZ19jYXRh bG9nLnN0cmluZ19hZ2coXG4iCisJCQkJCQkJICIgICAgcGdfY2F0YWxvZy5mb3JtYXQoJyVJ IGZyb20gJUkgKCVzKScsXG4iCisJCQkJCQkJICIgICAgICBiLnJvbG5hbWUsIG0uZ3JhbnRv cjo6cGdfY2F0YWxvZy5yZWdyb2xlOjpwZ19jYXRhbG9nLnRleHQsXG4iCisJCQkJCQkJICIg ICAgICBwZ19jYXRhbG9nLnJlZ2V4cF9yZXBsYWNlKFxuIgorCQkJCQkJCSAiICAgICAgICBw Z19jYXRhbG9nLmNvbmNhdF93cygnLCAnLFxuIgorCQkJCQkJCSAiICAgICAgICAgIENBU0Ug V0hFTiBtLmFkbWluX29wdGlvbiBUSEVOICdhJyBFTkQsXG4iCisJCQkJCQkJICIgICAgICAg ICAgQ0FTRSBXSEVOIG0uaW5oZXJpdF9vcHRpb24gVEhFTiAnaScgRU5ELFxuIgorCQkJCQkJ CSAiICAgICAgICAgIENBU0UgV0hFTiBtLnNldF9vcHRpb24gVEhFTiAncycgRU5EKSxcbiIK KwkJCQkJCQkgIiAgICAgICdeJCcsICdlbXB0eScpXG4iCisJCQkJCQkJICIgICAgKSwgRSdc XG4nXG4iCisJCQkJCQkJICIgICAgT1JERVIgQlkgYi5yb2xuYW1lLCBtLmdyYW50b3I6OnBn X2NhdGFsb2cucmVncm9sZTo6cGdfY2F0YWxvZy50ZXh0KVxuIgorCQkJCQkJCSAiICBGUk9N IHBnX2NhdGFsb2cucGdfYXV0aF9tZW1iZXJzIG1cbiIKKwkJCQkJCQkgIiAgICAgICBKT0lO IHBnX2NhdGFsb2cucGdfcm9sZXMgYiBPTiAobS5yb2xlaWQgPSBiLm9pZClcbiIKKwkJCQkJ CQkgIiAgV0hFUkUgbS5tZW1iZXIgPSByLm9pZCkgYXMgbWVtYmVyb2YiKTsKKwllbHNlCisJ CWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZidWYsCisJCQkJCQkJICIgIEFSUkFZKFNFTEVDVCBi LnJvbG5hbWVcbiIKKwkJCQkJCQkgIiAgICAgICAgRlJPTSBwZ19jYXRhbG9nLnBnX2F1dGhf bWVtYmVycyBtXG4iCisJCQkJCQkJICIgICAgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19yb2xl cyBiIE9OIChtLnJvbGVpZCA9IGIub2lkKVxuIgorCQkJCQkJCSAiICAgICAgICBXSEVSRSBt Lm1lbWJlciA9IHIub2lkKSBhcyBtZW1iZXJvZiIpOwogCiAJaWYgKHZlcmJvc2UpCiAJewog CQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmYnVmLCAiXG4sIHBnX2NhdGFsb2cuc2hvYmpfZGVz Y3JpcHRpb24oci5vaWQsICdwZ19hdXRoaWQnKSBBUyBkZXNjcmlwdGlvbiIpOwogCQluY29s cysrOwogCX0KLQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmYnVmLCAiXG4sIHIucm9scmVwbGlj YXRpb24iKTsKLQotCWlmIChwc2V0LnN2ZXJzaW9uID49IDkwNTAwKQotCXsKLQkJYXBwZW5k UFFFeHBCdWZmZXJTdHIoJmJ1ZiwgIlxuLCByLnJvbGJ5cGFzc3JscyIpOwotCX0KIAogCWFw cGVuZFBRRXhwQnVmZmVyU3RyKCZidWYsICJcbkZST00gcGdfY2F0YWxvZy5wZ19yb2xlcyBy XG4iKTsKIApAQCAtMzY5MiwxMiArMzcwNiwxMSBAQCBkZXNjcmliZVJvbGVzKGNvbnN0IGNo YXIgKnBhdHRlcm4sIGJvb2wgdmVyYm9zZSwgYm9vbCBzaG93U3lzdGVtKQogCQlpZiAoc3Ry Y21wKFBRZ2V0dmFsdWUocmVzLCBpLCA1KSwgInQiKSAhPSAwKQogCQkJYWRkX3JvbGVfYXR0 cmlidXRlKCZidWYsIF8oIkNhbm5vdCBsb2dpbiIpKTsKIAotCQlpZiAoc3RyY21wKFBRZ2V0 dmFsdWUocmVzLCBpLCAodmVyYm9zZSA/IDEwIDogOSkpLCAidCIpID09IDApCisJCWlmIChz dHJjbXAoUFFnZXR2YWx1ZShyZXMsIGksIDgpLCAidCIpID09IDApCiAJCQlhZGRfcm9sZV9h dHRyaWJ1dGUoJmJ1ZiwgXygiUmVwbGljYXRpb24iKSk7CiAKLQkJaWYgKHBzZXQuc3ZlcnNp b24gPj0gOTA1MDApCi0JCQlpZiAoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCBpLCAodmVyYm9z ZSA/IDExIDogMTApKSwgInQiKSA9PSAwKQotCQkJCWFkZF9yb2xlX2F0dHJpYnV0ZSgmYnVm LCBfKCJCeXBhc3MgUkxTIikpOworCQlpZiAoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCBpLCA5 KSwgInQiKSA9PSAwKQorCQkJYWRkX3JvbGVfYXR0cmlidXRlKCZidWYsIF8oIkJ5cGFzcyBS TFMiKSk7CiAKIAkJY29ubnMgPSBhdG9pKFBRZ2V0dmFsdWUocmVzLCBpLCA2KSk7CiAJCWlm IChjb25ucyA+PSAwKQpAQCAtMzcyNiwxMCArMzczOSwxMCBAQCBkZXNjcmliZVJvbGVzKGNv bnN0IGNoYXIgKnBhdHRlcm4sIGJvb2wgdmVyYm9zZSwgYm9vbCBzaG93U3lzdGVtKQogCiAJ CXByaW50VGFibGVBZGRDZWxsKCZjb250LCBhdHRyW2ldLCBmYWxzZSwgZmFsc2UpOwogCi0J CXByaW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywgaSwgOCksIGZhbHNl LCBmYWxzZSk7CisJCXByaW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywg aSwgMTApLCBmYWxzZSwgZmFsc2UpOwogCiAJCWlmICh2ZXJib3NlKQotCQkJcHJpbnRUYWJs ZUFkZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCA5KSwgZmFsc2UsIGZhbHNlKTsK KwkJCXByaW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywgaSwgMTEpLCBm YWxzZSwgZmFsc2UpOwogCX0KIAl0ZXJtUFFFeHBCdWZmZXIoJmJ1Zik7CiAKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHNxbC5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3BzcWwub3V0CmluZGV4IDhmYzYyY2ViZDIuLjU4NGQ2NDQyNjEgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHNxbC5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wc3FsLm91dApAQCAtNjU3OCwzICs2NTc4LDUxIEBA IGNyb3NzLWRhdGFiYXNlIHJlZmVyZW5jZXMgYXJlIG5vdCBpbXBsZW1lbnRlZDogIm5vLnN1 Y2guZGF0YWJhc2UiLiJuby5zdWNoLnNjaGVtCiBjcm9zcy1kYXRhYmFzZSByZWZlcmVuY2Vz IGFyZSBub3QgaW1wbGVtZW50ZWQ6ICJuby5zdWNoLmRhdGFiYXNlIi4ibm8uc3VjaC5zY2hl bWEiLiJuby5zdWNoLmRhdGEudHlwZSIKIFxkWCAibm8uc3VjaC5kYXRhYmFzZSIuIm5vLnN1 Y2guc2NoZW1hIi4ibm8uc3VjaC5leHRlbmRlZC5zdGF0aXN0aWNzIgogY3Jvc3MtZGF0YWJh c2UgcmVmZXJlbmNlcyBhcmUgbm90IGltcGxlbWVudGVkOiAibm8uc3VjaC5kYXRhYmFzZSIu Im5vLnN1Y2guc2NoZW1hIi4ibm8uc3VjaC5leHRlbmRlZC5zdGF0aXN0aWNzIgorLS0gY2hl Y2sgXGR1CitDUkVBVEUgUk9MRSByZWdyZXNzX2R1X3JvbGUwOworQ1JFQVRFIFJPTEUgcmVn cmVzc19kdV9yb2xlMTsKK0NSRUFURSBST0xFIHJlZ3Jlc3NfZHVfcm9sZTI7CitDUkVBVEUg Uk9MRSByZWdyZXNzX2R1X2FkbWluOworQ09NTUVOVCBPTiBST0xFIHJlZ3Jlc3NfZHVfcm9s ZTAgSVMgJ0Rlc2NyaXB0aW9uIGZvciByZWdyZXNzX2R1X3JvbGUwJzsKK0NPTU1FTlQgT04g Uk9MRSByZWdyZXNzX2R1X3JvbGUxIElTICdEZXNjcmlwdGlvbiBmb3IgcmVncmVzc19kdV9y b2xlMSc7CitDT01NRU5UIE9OIFJPTEUgcmVncmVzc19kdV9yb2xlMiBJUyAnRGVzY3JpcHRp b24gZm9yIHJlZ3Jlc3NfZHVfcm9sZTInOworR1JBTlQgcmVncmVzc19kdV9yb2xlMCBUTyBy ZWdyZXNzX2R1X2FkbWluIFdJVEggQURNSU4gVFJVRTsKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9s ZTEgVE8gcmVncmVzc19kdV9hZG1pbiBXSVRIIEFETUlOIFRSVUU7CitHUkFOVCByZWdyZXNz X2R1X3JvbGUyIFRPIHJlZ3Jlc3NfZHVfYWRtaW4gV0lUSCBBRE1JTiBUUlVFOworR1JBTlQg cmVncmVzc19kdV9yb2xlMCBUTyByZWdyZXNzX2R1X3JvbGUxIFdJVEggQURNSU4gVFJVRSwg IElOSEVSSVQgVFJVRSwgIFNFVCBUUlVFICBHUkFOVEVEIEJZIHJlZ3Jlc3NfZHVfYWRtaW47 CitHUkFOVCByZWdyZXNzX2R1X3JvbGUwIFRPIHJlZ3Jlc3NfZHVfcm9sZTIgV0lUSCBBRE1J TiBUUlVFLCAgSU5IRVJJVCBGQUxTRSwgU0VUIEZBTFNFIEdSQU5URUQgQlkgcmVncmVzc19k dV9hZG1pbjsKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9sZTEgVE8gcmVncmVzc19kdV9yb2xlMiBX SVRIIEFETUlOIFRSVUUgLCBJTkhFUklUIEZBTFNFLCBTRVQgVFJVRSAgR1JBTlRFRCBCWSBy ZWdyZXNzX2R1X2FkbWluOworR1JBTlQgcmVncmVzc19kdV9yb2xlMCBUTyByZWdyZXNzX2R1 X3JvbGUxIFdJVEggQURNSU4gRkFMU0UsIElOSEVSSVQgVFJVRSwgIFNFVCBGQUxTRSBHUkFO VEVEIEJZIHJlZ3Jlc3NfZHVfcm9sZTE7CitHUkFOVCByZWdyZXNzX2R1X3JvbGUwIFRPIHJl Z3Jlc3NfZHVfcm9sZTIgV0lUSCBBRE1JTiBGQUxTRSwgSU5IRVJJVCBUUlVFICwgU0VUIFRS VUUgIEdSQU5URUQgQlkgcmVncmVzc19kdV9yb2xlMTsKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9s ZTAgVE8gcmVncmVzc19kdV9yb2xlMSBXSVRIIEFETUlOIEZBTFNFLCBJTkhFUklUIEZBTFNF LCBTRVQgVFJVRSAgR1JBTlRFRCBCWSByZWdyZXNzX2R1X3JvbGUyOworR1JBTlQgcmVncmVz c19kdV9yb2xlMCBUTyByZWdyZXNzX2R1X3JvbGUyIFdJVEggQURNSU4gRkFMU0UsIElOSEVS SVQgRkFMU0UsIFNFVCBGQUxTRSBHUkFOVEVEIEJZIHJlZ3Jlc3NfZHVfcm9sZTI7CitcZHUg cmVncmVzc19kdV9yb2xlKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aXN0IG9mIHJvbGVzCisgICAgUm9sZSBuYW1lICAgICB8ICBBdHRyaWJ1dGVzICB8ICAgICAg ICAgICAgICAgICAgICBNZW1iZXIgb2YgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVfcm9sZTAgfCBDYW5ub3QgbG9n aW4gfCAKKyByZWdyZXNzX2R1X3JvbGUxIHwgQ2Fubm90IGxvZ2luIHwgcmVncmVzc19kdV9y b2xlMCBmcm9tIHJlZ3Jlc3NfZHVfYWRtaW4gKGEsIGksIHMpKworICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgfCByZWdyZXNzX2R1X3JvbGUwIGZyb20gcmVncmVzc19kdV9y b2xlMSAoaSkgICAgICArCisgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8IHJl Z3Jlc3NfZHVfcm9sZTAgZnJvbSByZWdyZXNzX2R1X3JvbGUyIChzKQorIHJlZ3Jlc3NfZHVf cm9sZTIgfCBDYW5ub3QgbG9naW4gfCByZWdyZXNzX2R1X3JvbGUwIGZyb20gcmVncmVzc19k dV9hZG1pbiAoYSkgICAgICArCisgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8 IHJlZ3Jlc3NfZHVfcm9sZTAgZnJvbSByZWdyZXNzX2R1X3JvbGUxIChpLCBzKSAgICsKKyAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgIHwgcmVncmVzc19kdV9yb2xlMCBmcm9t IHJlZ3Jlc3NfZHVfcm9sZTIgKGVtcHR5KSAgKworICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgfCByZWdyZXNzX2R1X3JvbGUxIGZyb20gcmVncmVzc19kdV9hZG1pbiAoYSwg cykKKworXGR1KyByZWdyZXNzX2R1X3JvbGUqCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygcm9sZXMKKyAgICBSb2xlIG5h bWUgICAgIHwgIEF0dHJpYnV0ZXMgIHwgICAgICAgICAgICAgICAgICAgIE1lbWJlciBvZiAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgIERlc2NyaXB0aW9uICAgICAgICAgICAg CistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVfcm9sZTAgfCBDYW5ub3QgbG9naW4gfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlw dGlvbiBmb3IgcmVncmVzc19kdV9yb2xlMAorIHJlZ3Jlc3NfZHVfcm9sZTEgfCBDYW5ub3Qg bG9naW4gfCByZWdyZXNzX2R1X3JvbGUwIGZyb20gcmVncmVzc19kdV9hZG1pbiAoYSwgaSwg cykrfCBEZXNjcmlwdGlvbiBmb3IgcmVncmVzc19kdV9yb2xlMQorICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgfCByZWdyZXNzX2R1X3JvbGUwIGZyb20gcmVncmVzc19kdV9y b2xlMSAoaSkgICAgICArfCAKKyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgIHwg cmVncmVzc19kdV9yb2xlMCBmcm9tIHJlZ3Jlc3NfZHVfcm9sZTIgKHMpICAgICAgIHwgCisg cmVncmVzc19kdV9yb2xlMiB8IENhbm5vdCBsb2dpbiB8IHJlZ3Jlc3NfZHVfcm9sZTAgZnJv bSByZWdyZXNzX2R1X2FkbWluIChhKSAgICAgICt8IERlc2NyaXB0aW9uIGZvciByZWdyZXNz X2R1X3JvbGUyCisgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8IHJlZ3Jlc3Nf ZHVfcm9sZTAgZnJvbSByZWdyZXNzX2R1X3JvbGUxIChpLCBzKSAgICt8IAorICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgfCByZWdyZXNzX2R1X3JvbGUwIGZyb20gcmVncmVz c19kdV9yb2xlMiAoZW1wdHkpICArfCAKKyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgIHwgcmVncmVzc19kdV9yb2xlMSBmcm9tIHJlZ3Jlc3NfZHVfYWRtaW4gKGEsIHMpICAg IHwgCisKK0RST1AgUk9MRSByZWdyZXNzX2R1X3JvbGUwOworRFJPUCBST0xFIHJlZ3Jlc3Nf ZHVfcm9sZTE7CitEUk9QIFJPTEUgcmVncmVzc19kdV9yb2xlMjsKK0RST1AgUk9MRSByZWdy ZXNzX2R1X2FkbWluOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHNxbC5z cWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wc3FsLnNxbAppbmRleCAyZGE5NjY1YTE5Li5l NTRhOTRjOTZhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wc3FsLnNxbAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wc3FsLnNxbApAQCAtMTc5MSwzICsxNzkxLDMy IEBAIERST1AgRlVOQ1RJT04gcHNxbF9lcnJvcjsKIFxkUCAibm8uc3VjaC5kYXRhYmFzZSIu Im5vLnN1Y2guc2NoZW1hIi4ibm8uc3VjaC5wYXJ0aXRpb25lZC5yZWxhdGlvbiIKIFxkVCAi bm8uc3VjaC5kYXRhYmFzZSIuIm5vLnN1Y2guc2NoZW1hIi4ibm8uc3VjaC5kYXRhLnR5cGUi CiBcZFggIm5vLnN1Y2guZGF0YWJhc2UiLiJuby5zdWNoLnNjaGVtYSIuIm5vLnN1Y2guZXh0 ZW5kZWQuc3RhdGlzdGljcyIKKworLS0gY2hlY2sgXGR1CitDUkVBVEUgUk9MRSByZWdyZXNz X2R1X3JvbGUwOworQ1JFQVRFIFJPTEUgcmVncmVzc19kdV9yb2xlMTsKK0NSRUFURSBST0xF IHJlZ3Jlc3NfZHVfcm9sZTI7CitDUkVBVEUgUk9MRSByZWdyZXNzX2R1X2FkbWluOworQ09N TUVOVCBPTiBST0xFIHJlZ3Jlc3NfZHVfcm9sZTAgSVMgJ0Rlc2NyaXB0aW9uIGZvciByZWdy ZXNzX2R1X3JvbGUwJzsKK0NPTU1FTlQgT04gUk9MRSByZWdyZXNzX2R1X3JvbGUxIElTICdE ZXNjcmlwdGlvbiBmb3IgcmVncmVzc19kdV9yb2xlMSc7CitDT01NRU5UIE9OIFJPTEUgcmVn cmVzc19kdV9yb2xlMiBJUyAnRGVzY3JpcHRpb24gZm9yIHJlZ3Jlc3NfZHVfcm9sZTInOwor CitHUkFOVCByZWdyZXNzX2R1X3JvbGUwIFRPIHJlZ3Jlc3NfZHVfYWRtaW4gV0lUSCBBRE1J TiBUUlVFOworR1JBTlQgcmVncmVzc19kdV9yb2xlMSBUTyByZWdyZXNzX2R1X2FkbWluIFdJ VEggQURNSU4gVFJVRTsKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9sZTIgVE8gcmVncmVzc19kdV9h ZG1pbiBXSVRIIEFETUlOIFRSVUU7CisKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9sZTAgVE8gcmVn cmVzc19kdV9yb2xlMSBXSVRIIEFETUlOIFRSVUUsICBJTkhFUklUIFRSVUUsICBTRVQgVFJV RSAgR1JBTlRFRCBCWSByZWdyZXNzX2R1X2FkbWluOworR1JBTlQgcmVncmVzc19kdV9yb2xl MCBUTyByZWdyZXNzX2R1X3JvbGUyIFdJVEggQURNSU4gVFJVRSwgIElOSEVSSVQgRkFMU0Us IFNFVCBGQUxTRSBHUkFOVEVEIEJZIHJlZ3Jlc3NfZHVfYWRtaW47CitHUkFOVCByZWdyZXNz X2R1X3JvbGUxIFRPIHJlZ3Jlc3NfZHVfcm9sZTIgV0lUSCBBRE1JTiBUUlVFICwgSU5IRVJJ VCBGQUxTRSwgU0VUIFRSVUUgIEdSQU5URUQgQlkgcmVncmVzc19kdV9hZG1pbjsKK0dSQU5U IHJlZ3Jlc3NfZHVfcm9sZTAgVE8gcmVncmVzc19kdV9yb2xlMSBXSVRIIEFETUlOIEZBTFNF LCBJTkhFUklUIFRSVUUsICBTRVQgRkFMU0UgR1JBTlRFRCBCWSByZWdyZXNzX2R1X3JvbGUx OworR1JBTlQgcmVncmVzc19kdV9yb2xlMCBUTyByZWdyZXNzX2R1X3JvbGUyIFdJVEggQURN SU4gRkFMU0UsIElOSEVSSVQgVFJVRSAsIFNFVCBUUlVFICBHUkFOVEVEIEJZIHJlZ3Jlc3Nf ZHVfcm9sZTE7CitHUkFOVCByZWdyZXNzX2R1X3JvbGUwIFRPIHJlZ3Jlc3NfZHVfcm9sZTEg V0lUSCBBRE1JTiBGQUxTRSwgSU5IRVJJVCBGQUxTRSwgU0VUIFRSVUUgIEdSQU5URUQgQlkg cmVncmVzc19kdV9yb2xlMjsKK0dSQU5UIHJlZ3Jlc3NfZHVfcm9sZTAgVE8gcmVncmVzc19k dV9yb2xlMiBXSVRIIEFETUlOIEZBTFNFLCBJTkhFUklUIEZBTFNFLCBTRVQgRkFMU0UgR1JB TlRFRCBCWSByZWdyZXNzX2R1X3JvbGUyOworCitcZHUgcmVncmVzc19kdV9yb2xlKgorXGR1 KyByZWdyZXNzX2R1X3JvbGUqCisKK0RST1AgUk9MRSByZWdyZXNzX2R1X3JvbGUwOworRFJP UCBST0xFIHJlZ3Jlc3NfZHVfcm9sZTE7CitEUk9QIFJPTEUgcmVncmVzc19kdV9yb2xlMjsK K0RST1AgUk9MRSByZWdyZXNzX2R1X2FkbWluOwotLSAKMi4zNC4xCgo= --------------Au0Okrmcm0JFTD00czKpyL0s--