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 1rrxQs-003pOP-IK for pgsql-hackers@arkaria.postgresql.org; Wed, 03 Apr 2024 10:01:28 +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 1rrxQr-00HZWo-1Q for pgsql-hackers@arkaria.postgresql.org; Wed, 03 Apr 2024 10:01:25 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rrxQp-00HZWg-Nn for pgsql-hackers@lists.postgresql.org; Wed, 03 Apr 2024 10:01:24 +0000 Received: from mail-roabra01olkn2034.outbound.protection.outlook.com ([40.92.96.34] helo=BRA01-ROA-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rrxQi-000OxV-5a for pgsql-hackers@postgresql.org; Wed, 03 Apr 2024 10:01:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WfXtC60h3gBYIrG3BWOcUxJQaeI2tk9jT9qfN9R653uq7jdcBHtw63Zy/g2Px/CjKh/jmoko+IHsURykyw043QnyZWutNYrnbDZVDYew/gaKibm2aOSXH3VmIp1l+vr0uXglcUNyECjPt3FPHjZ9RalwhV5N+MMvxmGfG79/0AAFmDK28TV53nzgCeXc0KjZV3mzmbwHJwdFazwCKDI9IvA6gy+gF8DnCtVrDoK79oTRmubr2STL33Wai4uoafvObadX8KCGR2U5pVaY6wmeNuflZsbpezLWBafsXwi9XIxkRoxYnVw1HHq+ZNzNqPUJ1wdvwnqeZ9+xvPXHSba4bQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DppFylk5LU+jB55+q2EEoRKMQpjx8wvm5x8hBfRNf14=; b=JCWQRWRlQlQLpbZ2W+y5OY3zEpl2C6pysuAlM+6Qb37OeYlTcLk5eyODeXVx6p+2R5W+6MZ0OE6G21kyrRNR0OGj5BnKanborLk9OqSvMxbQt6mf8enNL2iL7pR+UsqawmCyhenfBMl5s+AsWtb8Ohd1qmMmwxJ1/Pm+/BppcHeN3+vKmaJkGsTsZ83u2tfay9P0qowb22mWzc45a9+KOTaAWsY40QxcraiwtP7qY61LXYWjBRfbM3l+0eY4aA6W4Rmlrq2RedeepjzUS/Jh3wcaidTz89W2EMT/fCGEwTgY83dkX2OAy8+OPW5M+RnPizvVPYqCUGKmoDIMrsOVCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=HOTMAIL.COM.BR; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DppFylk5LU+jB55+q2EEoRKMQpjx8wvm5x8hBfRNf14=; b=JDwRG5DweVTThMU3cli14+zpzmQ9spNAqpnrhhsreEI418jrbmaMhyhg84ZG6vRiJZj6Vgv1aKLB/ihKCVDKVvbwZs9nzqztBRXpQ81MdUxd00TGvLC4RjPOm8egjod2r7017TnkQ/flHr8NQ5CqC/Dl9pDy0cdmlh6XCsHbGn/X7VbdeFIqHfGrCrabnmlXew61OWU9F4JG1Ya8Eu3QhIn2zBgDXpLbP6sDjCd2cnA8CGV0fTcdec2CHbm6icGz4JuR30tPL5eDWm5g0Avi8CeUUT5ampbfLFL9vnjMquoY2hooHAXMeEigq8zffSEUhyz90GlVMfDCAChr55RTDg== Received: from CP8P284MB2496.BRAP284.PROD.OUTLOOK.COM (2603:10d6:103:2dc::11) by CP5P284MB1920.BRAP284.PROD.OUTLOOK.COM (2603:10d6:103:c3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr 2024 10:01:08 +0000 Received: from CP8P284MB2496.BRAP284.PROD.OUTLOOK.COM ([fe80::ce6:bf75:3d4a:97cf]) by CP8P284MB2496.BRAP284.PROD.OUTLOOK.COM ([fe80::ce6:bf75:3d4a:97cf%2]) with mapi id 15.20.7409.042; Wed, 3 Apr 2024 10:01:08 +0000 From: Maiquel Grassi To: "Imseih (AWS), Sami" , Alvaro Herrera CC: Nathan Bossart , Jim Jones , Pavel Luzanov , Erik Wienhold , "pgsql-hackers@postgresql.org" Subject: RE: Psql meta-command conninfo+ Thread-Topic: Psql meta-command conninfo+ Thread-Index: AQHaWRQuU7L2MD2CX0quiO/hLxQK8bD9n9eAgAAOagCAABlrgoAABsOAgAABrYCAAAkRMoAAAaIAgABfmwKAAJe3AIAAHVoLgAAnEwCAADA+O4ABA4CAgAA4UGOAASa0gIAFGF5sgAMAW4CAAhkLZoAAKvw7gADbloCAAE0igIABWfsIgAuJhgCAB/CkKIAAC8uAgBw7NcOADZap04AAUMWAgAGR1mOAAHdjgIACiLFvgAAUk4CAAdeovIAA42QAgABCwhyAABnUgIAAM/Z8///N7oCAArae4A== Date: Wed, 3 Apr 2024 10:01:08 +0000 Message-ID: References: <202404011622.eppdne4344lo@alvherre.pgsql> In-Reply-To: Accept-Language: pt-BR, en-US Content-Language: pt-BR X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [yCmKIPSM9747nqrlCb4joP+7QCXr7L7XnfQMpXKL8Y82+7e70uw+fgFvW5HbJGLy] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CP8P284MB2496:EE_|CP5P284MB1920:EE_ x-ms-office365-filtering-correlation-id: 4e7f88d8-e46a-492a-b848-08dc53c4fc08 x-ms-exchange-slblob-mailprops: gMiuAN0LASImtm32ll6+3/IvMwcJwWfZfhEJBlVTVxpxJGA7k0pIhCsw2Rjb+xeH7w7GfLdCyc5cQgLTfc4orQnbOnBVOL2pY452hD69hft0nzMUOIvYbHH+H5U9rMIPMSbA6tlAxyIxpJOgYQIQKI+WPaYZYVihcS/PopGaxAO92QnCYzQ3tEldchR/C7zsSXbIy4by3wSTPxeKRTwYwZroNxchc6TScFfP9AVof0I6dmvw5h9/bY4MepNHpiSBno2YeAyaXgh9CNsgOIK7G6fR0yo/hdX9pE/qCUeXH6+utPrirCpB1LCz8vtcx+x8M/Q7ACviGmHKaUX3MtGMWRhAqM5Z8rp9hkSLZXE+0ZkD9jp9k1Vm4OFXrOxg1zzorBTtDMTYYgVvMXeLEq+12wi69Ms5D9SmsIe+MrU8EVepk8IDl9cp0+uGmfnuSit5JyId1KSNev9JFFq4hxZNASHvUSmxK4QDhQW+Rv6hZenk2F1vv4sNYPwEHREZiLhvKP35G5BBypWNGUBRlmfPsI8ynieoS/AM6LyhS7mQ6hO+O0WreS+lK9ZOWs5YyiHGziFtFS6mWU8N3gxcWbvluq+NISbhaxMR3Xn77GU52OW7LDVvfVHEm35x3s8HtdE1Busio4nHTtDjh4rnNrqYK0JUmiotUPeoi7vAmEBmtGItiZDQxGw5NzsI5yCpsp2WaCEBvQ9fE+z/JyIWXVLXww== x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PMv0GqVM+guuIjQGY8Fqf0sLqIsCUxcsRUYKw0+g8ci2/drfUsZmN8f4LNIKW0sYvLoE8iLf7pbKy8If6xTZy0bDZeN5apQVwSuWpd7g3rGVjfKWhXX7ULd6SBPCkDqh9dd0AyJUDSk1+LOvOTm8rxLEWAj3T9N1gSef69sinj6QCGJJZqHXyINm+lg6YNhXmKgnl45CwTtJOBnZhPNg+kdFfH9h8tnPZTyZOU6FbN/S8nfyEf9araCLCp2AmRICdU9cL6nHDIkvLyVyn0I4pluYAWRxbp1GtVRhSPBbTmjv0DKTD3V/V2mJ3qeyyZ0SK/kX8tAF04Ew/Yo/qCC7e01PEwU82PoEh5kWPXKFKpQvm7kU1nrjMwexRX56glZUydV4dnWHcdCjIKlNXXbcfFJ1IwZ4mreuu1gH9eqEgkULz0UZ7QGQEJqcqHQBW5PiJNh+4BH4Yrk1IPv9bkERZb9E6lyGyiDUCxdLHuaSdVHRiMWesD58S2vcIRbtOFaTSyjWWb4D66BmsK4rTpj3sCA1I8TmvEuTHlvqOFBaio+EP5G1oKZ9lxVvvJsMz8wNU5pGvOl8rGz1BEWhstaNsi1OWh8o2BYdizDlw4hCYR9CV1UoZXzw9g81AUeotsVZ x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?ZvL205VDsLxeBHTXXH0Y1XCcZFA31zlGINjMpUlMbi/8jh1CDbMRoFt8J5?= =?iso-8859-1?Q?TqDAvcsgL0mwLALp/9s/pkQ4j5PQTBvNWrdWQN6BvR5VIbaCv2duc64V0d?= =?iso-8859-1?Q?eG9Y70lLwFw4K/pbjw9FUhAC4nDo5AdL6l/81epWc1N9I4UWSrDCbrquZZ?= =?iso-8859-1?Q?drKzYuLsImmVf1CIvtZlkO1P2TlzYEfi5THTIpPaAQRaYyrWBvMGaRWSmf?= =?iso-8859-1?Q?1KIEj4gJAQ0c4qPiG60A/8vqMcd77r4FIzRTJiTWOO9hNV3ph5fgDRYV+w?= =?iso-8859-1?Q?q+qQeCH/YM4gtPQMEVPOa5LIPV7nGTWWwFrAU7IuEMxPiT9i7+WDrDnnYo?= =?iso-8859-1?Q?8cejr/Us871m4N+vVDgN1OcGaEwin5MuP3rrb38j3u3+vm4JyH5ri5d5hW?= =?iso-8859-1?Q?0Uqyw1uJogrM7Y+Ik5qtt7mYaCe+e4WbZfVtZ4J9W8b/sGkDtf7VkkZR+n?= =?iso-8859-1?Q?AfPGwr9UDZ+WU8u/96rz5T8+8QZwVwxPUHbofBZplxS+zleNYTKpMmOFbu?= =?iso-8859-1?Q?d9b8Y12farDrhsevgzqwzf0IJ9WHKreOKG3ndBcIUKc69bbSnS2T9utEEb?= =?iso-8859-1?Q?U+dcNE3CCDHqzCBJjZGLQEuj3vPKgwYcNMgDZut0pfHlhYKGHNnl3g4lBC?= =?iso-8859-1?Q?AzJpo2muTxvtQRvCI2SCwrol15MXNpgnvrO5GieLRfchMqDKIFk1Yv839t?= =?iso-8859-1?Q?0xEW8vwIge28jxVx69eFla+o0ZHfCzx2Z/aEt2YD4uvdlXtGMePIk21yzO?= =?iso-8859-1?Q?cl2a3mtGo097p3WeSWGH9rOaAcdAZ7ncYlnwD58HKQ+KUxHHam5QXQ8+xT?= =?iso-8859-1?Q?Tq1IlFimwC0SC2I+/N8uN0SXhWBlkaIr4kHKXFm6wmt0QSkggXvfUrtO6c?= =?iso-8859-1?Q?yf+VK8j/HS+kYWY5M4UsG90u7ldcJyMSY+LTFkDJjdME57CqTCIWP/paTV?= =?iso-8859-1?Q?w+PHxJ7DvvuGmVJoYKuoHG+g8wTOYxdhdmlzqDITrE1CaTbiuDr4s76lrk?= =?iso-8859-1?Q?BlF9rk2TyLjz1k7Vz/IFljVa7D/nYMO45CeaWYSMDJ+9vfIxUEAUCnwza7?= =?iso-8859-1?Q?AZAJoL0ZkUTyD/8T7Ts5QqZxeydpsCksdMbVp5WvIfanD6/C17N8cwzj2z?= =?iso-8859-1?Q?kypsxrM6qMl8pej+ATie8fLuNqM1Dy9Nc8xq3MQpRDQwzdtkp3NH8j1vWO?= =?iso-8859-1?Q?FSJ/Urivy8WqDTpMdV/cmPdftLCgo7/AAnuoMMB+XwXm/EVrHg43WNAwEC?= =?iso-8859-1?Q?piOesUWs0863WhTfdy2dDiCUejGLRmfxaFk5v5wBWVx4gncHGWwmjVU2+0?= =?iso-8859-1?Q?R+gxjgMkyiCMviYrgs3yPgOJ0kgetpvud05S5qLD36GpJmI=3D?= Content-Type: multipart/mixed; boundary="_004_CP8P284MB24966A436D371CE347E97CFFEC3D2CP8P284MB2496BRAP_" MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-7dc52.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CP8P284MB2496.BRAP284.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 4e7f88d8-e46a-492a-b848-08dc53c4fc08 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Apr 2024 10:01:08.6607 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CP5P284MB1920 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_CP8P284MB24966A436D371CE347E97CFFEC3D2CP8P284MB2496BRAP_ Content-Type: multipart/alternative; boundary="_000_CP8P284MB24966A436D371CE347E97CFFEC3D2CP8P284MB2496BRAP_" --_000_CP8P284MB24966A436D371CE347E97CFFEC3D2CP8P284MB2496BRAP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello Sami, (v26) > Here is an example [1] where the session information functions are refer= enced. > The public doc for this example is in [2]. > Something similar can be done here. For example: > The session user's name; see the session_user() fun= ction in > for more details. I updated the patch. Thank you for this help. Regards, Maiquel Grassi. --_000_CP8P284MB24966A436D371CE347E97CFFEC3D2CP8P284MB2496BRAP_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello Sami,

(v26)

>  Here is an example [1] where the session information functions a= re referenced.

>  The public doc for t= his example is in [2].


>  Something similar can be done here. For example:

The session user's n= ame; see the <function>session_user()</function> function in

>  <xref linkend=3D"functions-info-session-table"/>= for more details.


I updated the patch.

Thank you for this help.

Regards,
Maiquel Grassi.

--_000_CP8P284MB24966A436D371CE347E97CFFEC3D2CP8P284MB2496BRAP_-- --_004_CP8P284MB24966A436D371CE347E97CFFEC3D2CP8P284MB2496BRAP_ Content-Type: application/octet-stream; name="v26-0001-psql-meta-command-conninfo-plus.patch" Content-Description: v26-0001-psql-meta-command-conninfo-plus.patch Content-Disposition: attachment; filename="v26-0001-psql-meta-command-conninfo-plus.patch"; size=16316; creation-date="Wed, 03 Apr 2024 09:58:27 GMT"; modification-date="Wed, 03 Apr 2024 09:58:33 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dtbCBiL2RvYy9zcmMvc2dt bC9yZWYvcHNxbC1yZWYuc2dtbAppbmRleCBjYzdkNzk3Li5hNzkzZjUzIDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wc3Fs LXJlZi5zZ21sCkBAIC0xMDI5LDEyICsxMDI5LDEyNCBAQCBJTlNFUlQgSU5UTyB0YmwxIFZBTFVF UyAoJDEsICQyKSBcYmluZCAnZmlyc3QgdmFsdWUnICdzZWNvbmQgdmFsdWUnIFxnCiAgICAgICA8 L3Zhcmxpc3RlbnRyeT4KIAogICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iYXBwLXBzcWwtbWV0YS1j b21tYW5kLWNvbm5pbmZvIj4KLSAgICAgICAgPHRlcm0+PGxpdGVyYWw+XGNvbm5pbmZvPC9saXRl cmFsPjwvdGVybT4KLSAgICAgICAgPGxpc3RpdGVtPgotICAgICAgICA8cGFyYT4KLSAgICAgICAg T3V0cHV0cyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBkYXRhYmFzZSBjb25uZWN0aW9u LgotICAgICAgICA8L3BhcmE+Ci0gICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgPHRlcm0+PGxp dGVyYWw+XGNvbm5pbmZvWytdPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICAgPGxpc3RpdGVtPgor ICAgICAgICBPdXRwdXRzIGEgc3RyaW5nIGRpc3BsYXlpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhl IGN1cnJlbnQKKyAgICAgICAgZGF0YWJhc2UgY29ubmVjdGlvbi4gV2hlbiA8bGl0ZXJhbD4rPC9s aXRlcmFsPiBpcyBhcHBlbmRlZCwKKyAgICAgICAgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBjb25u ZWN0aW9uIGFyZSBkaXNwbGF5ZWQgaW4gdGFibGUKKyAgICAgICAgZm9ybWF0OgorCisgICAgICAg IDxzaW1wbGVsaXN0PgorICAgICAgICAgPG1lbWJlcj4KKyAgICAgICAgICA8dGVybT5EYXRhYmFz ZTo8L3Rlcm0+IFRoZSBkYXRhYmFzZSBuYW1lIG9mIHRoZSBjb25uZWN0aW9uLgorICAgICAgICAg PC9tZW1iZXI+CisKKyAgICAgICAgIDxtZW1iZXI+CisgICAgICAgICAgPHRlcm0+QXV0aGVudGlj YXRlZCBVc2VyOjwvdGVybT4gVGhlIGF1dGhlbnRpY2F0ZWQgZGF0YWJhc2UKKyAgICAgICAgICB1 c2VyIG9mIHRoZSBjb25uZWN0aW9uLgorICAgICAgICAgPC9tZW1iZXI+CisKKyAgICAgICAgIDxt ZW1iZXI+CisgICAgICAgICAgPHRlcm0+U29ja2V0IERpcmVjdG9yeTo8L3Rlcm0+IFRoZSBVbml4 IHNvY2tldCBkaXJlY3Rvcnkgb2YKKyAgICAgICAgICB0aGUgY29ubmVjdGlvbi4gTlVMTCBpZiBo b3N0IG9yIGhvc3RhZGRyIGFyZSBzcGVjaWZpZWQuCisgICAgICAgICA8L21lbWJlcj4KKworICAg ICAgICAgPG1lbWJlcj4KKyAgICAgICAgICA8dGVybT5Ib3N0OjwvdGVybT4gVGhlIGhvc3QgbmFt ZSBvciBhZGRyZXNzIG9mIHRoZSBjb25uZWN0aW9uLgorICAgICAgICAgIE5VTEwgaWYgYSBVbml4 IHNvY2tldCBpcyB1c2VkLgorICAgICAgICAgPC9tZW1iZXI+CisKKyAgICAgICAgIDxtZW1iZXI+ CisgICAgICAgICAgPHRlcm0+U2VydmVyIFBvcnQ6PC90ZXJtPiBUaGUgSVAgYWRkcmVzcyBvZiB0 aGUgY29ubmVjdGlvbi4KKyAgICAgICAgICBOVUxMIGlmIGEgVW5peCBzb2NrZXQgaXMgdXNlZC4K KyAgICAgICAgIDwvbWVtYmVyPgorCisgICAgICAgICA8bWVtYmVyPgorICAgICAgICAgIDx0ZXJt PlNlcnZlciBBZGRyZXNzOjwvdGVybT4gVGhlIElQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgbmFtZS4K KyAgICAgICAgICBOVUxMIGlmIGEgVW5peCBzb2NrZXQgaXMgdXNlZC4KKyAgICAgICAgIDwvbWVt YmVyPgorCisgICAgICAgICA8bWVtYmVyPgorICAgICAgICAgIDx0ZXJtPkNsaWVudCBBZGRyZXNz OjwvdGVybT4gVGhlIElQIGFkZHJlc3Mgb2YgdGhlIGNsaWVudCBjb25uZWN0ZWQKKyAgICAgICAg ICB0byB0aGlzIGJhY2tlbmQuIE5VTEwgaWYgYSBVbml4IHNvY2tldCBpcyB1c2VkLgorICAgICAg ICAgPC9tZW1iZXI+CisKKyAgICAgICAgIDxtZW1iZXI+CisgICAgICAgICAgPHRlcm0+Q2xpZW50 IFBvcnQ6PC90ZXJtPiBUaGUgcG9ydCBvZiB0aGUgY2xpZW50IGNvbm5lY3RlZCB0byB0aGlzCisg ICAgICAgICAgYmFja2VuZC4gTlVMTCBpZiBhIFVuaXggc29ja2V0IGlzIHVzZWQuCisgICAgICAg ICA8L21lbWJlcj4KKworICAgICAgICAgPG1lbWJlcj4KKyAgICAgICAgICA8dGVybT5CYWNrZW5k IFBJRDo8L3Rlcm0+IFRoZSBwcm9jZXNzIGlkIG9mIHRoZSBiYWNrZW5kIGZvciB0aGUgY29ubmVj dGlvbi4KKyAgICAgICAgIDwvbWVtYmVyPgorCisgICAgICAgICA8bWVtYmVyPgorICAgICAgICAg IDx0ZXJtPlN5c3RlbSBVc2VyOjwvdGVybT4gVGhlIGF1dGhlbnRpY2F0aW9uIGRhdGEgcHJvdmlk ZWQgZm9yIHRoaXMKKyAgICAgICAgICBjb25uZWN0aW9uOyBzZWUgdGhlIDxmdW5jdGlvbj5zeXN0 ZW1fdXNlcigpPC9mdW5jdGlvbj4gZnVuY3Rpb24gaW4KKyAgICAgICAgICA8eHJlZiBsaW5rZW5k PSJmdW5jdGlvbnMtaW5mby1zZXNzaW9uLXRhYmxlIi8+IGZvciBtb3JlIGRldGFpbHMuCisgICAg ICAgICA8L21lbWJlcj4KKworICAgICAgICAgPG1lbWJlcj4KKyAgICAgICAgICA8dGVybT5DdXJy ZW50IFVzZXI6PC90ZXJtPiBUaGUgdXNlciBuYW1lIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBj b250ZXh0OworICAgICAgICAgIHNlZSB0aGUgPGZ1bmN0aW9uPmN1cnJlbnRfdXNlcigpPC9mdW5j dGlvbj4gZnVuY3Rpb24gaW4KKyAgICAgICAgICA8eHJlZiBsaW5rZW5kPSJmdW5jdGlvbnMtaW5m by1zZXNzaW9uLXRhYmxlIi8+IGZvciBtb3JlIGRldGFpbHMuCisgICAgICAgICA8L21lbWJlcj4K KworICAgICAgICAgPG1lbWJlcj4KKyAgICAgICAgICA8dGVybT5TZXNzaW9uIFVzZXI6PC90ZXJt PiBUaGUgc2Vzc2lvbiB1c2VyJ3MgbmFtZTsgc2VlIHRoZQorICAgICAgICAgIDxmdW5jdGlvbj5z ZXNzaW9uX3VzZXIoKTwvZnVuY3Rpb24+IGZ1bmN0aW9uIGluIDx4cmVmIGxpbmtlbmQ9ImZ1bmN0 aW9ucy1pbmZvLXNlc3Npb24tdGFibGUiLz4KKyAgICAgICAgICBmb3IgbW9yZSBkZXRhaWxzLgor ICAgICAgICAgPC9tZW1iZXI+CisKKyAgICAgICAgIDxtZW1iZXI+CisgICAgICAgICAgPHRlcm0+ QXBwbGljYXRpb24gTmFtZTo8L3Rlcm0+IDxsaXRlcmFsPnBzcWw8L2xpdGVyYWw+IGlzIHRoZQor ICAgICAgICAgIGRlZmF1bHQgZm9yIGEgcHNxbCBjb25uZWN0aW9uIHVubGVzcyBvdGhlcndpc2Ug c3BlY2lmaWVkIGluCisgICAgICAgICAgdGhlIDx4cmVmIGxpbmtlbmQ9Imd1Yy1hcHBsaWNhdGlv bi1uYW1lIi8+IGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyLgorICAgICAgICAgPC9tZW1iZXI+CisK KyAgICAgICAgIDxtZW1iZXI+CisgICAgICAgICAgPHRlcm0+U1NMIENvbm5lY3Rpb246PC90ZXJt PiBUcnVlIGlmIHRoZSBjdXJyZW50IGNvbm5lY3Rpb24gdG8gdGhlCisgICAgICAgICAgc2VydmVy IHVzZXMgU1NMLCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLgorICAgICAgICAgPC9tZW1iZXI+CisKKyAg ICAgICAgIDxtZW1iZXI+CisgICAgICAgICAgPHRlcm0+U1NMIFByb3RvY29sOjwvdGVybT4gVGhl IG5hbWUgb2YgdGhlIHByb3RvY29sIHVzZWQgZm9yIHRoZSBTU0wKKyAgICAgICAgICBjb25uZWN0 aW9uIChlLmcuLCBUTFN2MS4wLCBUTFN2MS4xLCBUTFN2MS4yIG9yIFRMU3YxLjMpLgorICAgICAg ICAgPC9tZW1iZXI+CisKKyAgICAgICAgIDxtZW1iZXI+CisgICAgICAgICAgPHRlcm0+U1NMIENp cGhlcjo8L3Rlcm0+IERpc3BsYXlzIHRoZSBuYW1lIG9mIHRoZSBjaXBoZXIgdXNlZAorICAgICAg ICAgIGZvciB0aGUgU1NMIGNvbm5lY3Rpb24gKGUuZy4sIERIRS1SU0EtQUVTMjU2LVNIQSkuCisg ICAgICAgICA8L21lbWJlcj4KKworICAgICAgICAgPG1lbWJlcj4KKyAgICAgICAgICA8dGVybT5T TEwgQ29tcHJlc3Npb246PC90ZXJtPiBPbiBpZiBTU0wgY29tcHJlc3Npb24gaXMgaW4gdXNlLCBv ZmYKKyAgICAgICAgICBpZiBub3QsIG9yIE5VTEwgaWYgU1NMIGlzIG5vdCBpbiB1c2Ugb24gdGhp cyBjb25uZWN0aW9uLgorICAgICAgICAgPC9tZW1iZXI+CisKKyAgICAgICAgIDxtZW1iZXI+Cisg ICAgICAgICAgPHRlcm0+R1NTQVBJIEF1dGhlbnRpY2F0ZWQ6PC90ZXJtPiBUcnVlIGlmIEdTU0FQ SSBpcyBpbiB1c2UsIG9yIGZhbHNlCisgICAgICAgICAgaWYgR1NTQVBJIGlzIG5vdCBpbiB1c2Ug b24gdGhpcyBjb25uZWN0aW9uLgorICAgICAgICAgPC9tZW1iZXI+CisKKyAgICAgICAgIDxtZW1i ZXI+CisgICAgICAgICAgPHRlcm0+R1NTQVBJIFByaW5jaXBhbDo8L3Rlcm0+ICJQcmluY2lwYWwi IHVzZWQgdG8gYXV0aGVudGljYXRlIHRoaXMKKyAgICAgICAgICBjb25uZWN0aW9uLCBvciBOVUxM IGlmIEdTU0FQSSB3YXMgbm90IHVzZWQgdG8gYXV0aGVudGljYXRlIHRoaXMgY29ubmVjdGlvbi4K KyAgICAgICAgICBUaGlzIGZpZWxkIGlzIHRydW5jYXRlZCBpZiB0aGUgcHJpbmNpcGFsIGlzIGxv bmdlciB0aGFuIE5BTUVEQVRBTEVOCisgICAgICAgICAgKDY0IGNoYXJhY3RlcnMgaW4gYSBzdGFu ZGFyZCBidWlsZCkuCisgICAgICAgICA8L21lbWJlcj4KKworICAgICAgICAgPG1lbWJlcj4KKyAg ICAgICAgICA8dGVybT5HU1NBUEkgRW5jcnlwdGVkOjwvdGVybT4gVHJ1ZSBpZiBHU1NBUEkgZW5j cnlwdGlvbiBpcyBpbiB1c2Ugb24KKyAgICAgICAgICB0aGlzIGNvbm5lY3Rpb24sIG9yIGZhbHNl IGlmIGVuY3J5cHRpb24gaXMgbm90IGluIHVzZS4KKyAgICAgICAgIDwvbWVtYmVyPgorCisgICAg ICAgICA8bWVtYmVyPgorICAgICAgICAgIDx0ZXJtPkdTU0FQSSBDcmVkZW50aWFscyBEZWxlZ2F0 ZWQ6PC90ZXJtPiBUcnVlIGlmIEdTU0FQSSBjcmVkZW50aWFscworICAgICAgICAgIHdlcmUgZGVs ZWdhdGVkIG9uIHRoaXMgY29ubmVjdGlvbiwgb3IgZmFsc2UgaWYgd2VyZSBub3QgZGVsZWdhdGVk LgorICAgICAgICAgPC9tZW1iZXI+CisgICAgICAgIDwvc2ltcGxlbGlzdD4KKyAgICAgICA8L2xp c3RpdGVtPgogICAgICAgPC92YXJsaXN0ZW50cnk+CiAKICAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9 ImFwcC1wc3FsLW1ldGEtY29tbWFuZHMtY29weSI+CmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwv Y29tbWFuZC5jIGIvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYwppbmRleCBjMDA1NjI0Li40M2NlNTBl IDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvY29tbWFuZC5jCisrKyBiL3NyYy9iaW4vcHNxbC9j b21tYW5kLmMKQEAgLTY4LDcgKzY4LDggQEAgc3RhdGljIGJhY2tzbGFzaFJlc3VsdCBleGVjX2Nv bW1hbmRfQyhQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZlX2JyYW4KIHN0YXRp YyBiYWNrc2xhc2hSZXN1bHQgZXhlY19jb21tYW5kX2Nvbm5lY3QoUHNxbFNjYW5TdGF0ZSBzY2Fu X3N0YXRlLCBib29sIGFjdGl2ZV9icmFuY2gpOwogc3RhdGljIGJhY2tzbGFzaFJlc3VsdCBleGVj X2NvbW1hbmRfY2QoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2ZV9icmFuY2gs CiAJCQkJCQkJCQkgICBjb25zdCBjaGFyICpjbWQpOwotc3RhdGljIGJhY2tzbGFzaFJlc3VsdCBl eGVjX2NvbW1hbmRfY29ubmluZm8oUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2 ZV9icmFuY2gpOworc3RhdGljIGJhY2tzbGFzaFJlc3VsdCBleGVjX2NvbW1hbmRfY29ubmluZm8o UHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2ZV9icmFuY2gsCisJCQkJCQkJCQkJ CSBjb25zdCBjaGFyICpjbWQpOwogc3RhdGljIGJhY2tzbGFzaFJlc3VsdCBleGVjX2NvbW1hbmRf Y29weShQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCk7CiBzdGF0 aWMgYmFja3NsYXNoUmVzdWx0IGV4ZWNfY29tbWFuZF9jb3B5cmlnaHQoUHNxbFNjYW5TdGF0ZSBz Y2FuX3N0YXRlLCBib29sIGFjdGl2ZV9icmFuY2gpOwogc3RhdGljIGJhY2tzbGFzaFJlc3VsdCBl eGVjX2NvbW1hbmRfY3Jvc3N0YWJ2aWV3KFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBh Y3RpdmVfYnJhbmNoKTsKQEAgLTMxOCw4ICszMTksOCBAQCBleGVjX2NvbW1hbmQoY29uc3QgY2hh ciAqY21kLAogCQlzdGF0dXMgPSBleGVjX2NvbW1hbmRfY29ubmVjdChzY2FuX3N0YXRlLCBhY3Rp dmVfYnJhbmNoKTsKIAllbHNlIGlmIChzdHJjbXAoY21kLCAiY2QiKSA9PSAwKQogCQlzdGF0dXMg PSBleGVjX2NvbW1hbmRfY2Qoc2Nhbl9zdGF0ZSwgYWN0aXZlX2JyYW5jaCwgY21kKTsKLQllbHNl IGlmIChzdHJjbXAoY21kLCAiY29ubmluZm8iKSA9PSAwKQotCQlzdGF0dXMgPSBleGVjX2NvbW1h bmRfY29ubmluZm8oc2Nhbl9zdGF0ZSwgYWN0aXZlX2JyYW5jaCk7CisJZWxzZSBpZiAoc3RyY21w KGNtZCwgImNvbm5pbmZvIikgPT0gMCB8fCBzdHJjbXAoY21kLCAiY29ubmluZm8rIikgPT0gMCkK KwkJc3RhdHVzID0gZXhlY19jb21tYW5kX2Nvbm5pbmZvKHNjYW5fc3RhdGUsIGFjdGl2ZV9icmFu Y2gsIGNtZCk7CiAJZWxzZSBpZiAocGdfc3RyY2FzZWNtcChjbWQsICJjb3B5IikgPT0gMCkKIAkJ c3RhdHVzID0gZXhlY19jb21tYW5kX2NvcHkoc2Nhbl9zdGF0ZSwgYWN0aXZlX2JyYW5jaCk7CiAJ ZWxzZSBpZiAoc3RyY21wKGNtZCwgImNvcHlyaWdodCIpID09IDApCkBAIC02NDQsNDcgKzY0NSw3 OSBAQCBleGVjX2NvbW1hbmRfY2QoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2 ZV9icmFuY2gsIGNvbnN0IGNoYXIgKmNtZCkKIH0KIAogLyoKLSAqIFxjb25uaW5mbyAtLSBkaXNw bGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IGNvbm5lY3Rpb24KKyAqIFxjb25uaW5m bywgXGNvbm5pbmZvKyAtLSBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IGNv bm5lY3Rpb24KICAqLwogc3RhdGljIGJhY2tzbGFzaFJlc3VsdAotZXhlY19jb21tYW5kX2Nvbm5p bmZvKFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBhY3RpdmVfYnJhbmNoKQorZXhlY19j b21tYW5kX2Nvbm5pbmZvKFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBhY3RpdmVfYnJh bmNoLCBjb25zdCBjaGFyICpjbWQpCiB7CisJYm9vbAkJc3VjY2VzcyA9IHRydWU7CisKIAlpZiAo YWN0aXZlX2JyYW5jaCkKIAl7CiAJCWNoYXIJICAgKmRiID0gUFFkYihwc2V0LmRiKTsKKwkJYm9v bAkJc2hvd192ZXJib3NlOworCisJCXNob3dfdmVyYm9zZSA9IHN0cmNocihjbWQsICcrJykgPyB0 cnVlIDogZmFsc2U7CiAKLQkJaWYgKGRiID09IE5VTEwpCi0JCQlwcmludGYoXygiWW91IGFyZSBj dXJyZW50bHkgbm90IGNvbm5lY3RlZCB0byBhIGRhdGFiYXNlLlxuIikpOworCQkvKgorCQkgKiBc Y29ubmluZm8rCisJCSAqLworCQlpZiAoc2hvd192ZXJib3NlKQorCQkJc3VjY2VzcyA9IGxpc3RD b25uZWN0aW9uSW5mb3JtYXRpb24oKTsKKworCQkvKgorCQkgKiBcY29ubmluZm8KKwkJICovCiAJ CWVsc2UKIAkJewotCQkJY2hhcgkgICAqaG9zdCA9IFBRaG9zdChwc2V0LmRiKTsKLQkJCWNoYXIJ ICAgKmhvc3RhZGRyID0gUFFob3N0YWRkcihwc2V0LmRiKTsKKwkJCVBHcmVzdWx0ICAgKnJlczsK KwkJCVBRRXhwQnVmZmVyRGF0YSBidWY7CiAKLQkJCWlmIChpc191bml4c29ja19wYXRoKGhvc3Qp KQotCQkJewotCQkJCS8qIGhvc3RhZGRyIG92ZXJyaWRlcyBob3N0ICovCi0JCQkJaWYgKGhvc3Rh ZGRyICYmICpob3N0YWRkcikKLQkJCQkJcHJpbnRmKF8oIllvdSBhcmUgY29ubmVjdGVkIHRvIGRh dGFiYXNlIFwiJXNcIiBhcyB1c2VyIFwiJXNcIiBvbiBhZGRyZXNzIFwiJXNcIiBhdCBwb3J0IFwi JXNcIi5cbiIpLAotCQkJCQkJICAgZGIsIFBRdXNlcihwc2V0LmRiKSwgaG9zdGFkZHIsIFBRcG9y dChwc2V0LmRiKSk7Ci0JCQkJZWxzZQotCQkJCQlwcmludGYoXygiWW91IGFyZSBjb25uZWN0ZWQg dG8gZGF0YWJhc2UgXCIlc1wiIGFzIHVzZXIgXCIlc1wiIHZpYSBzb2NrZXQgaW4gXCIlc1wiIGF0 IHBvcnQgXCIlc1wiLlxuIiksCi0JCQkJCQkgICBkYiwgUFF1c2VyKHBzZXQuZGIpLCBob3N0LCBQ UXBvcnQocHNldC5kYikpOwotCQkJfQorCQkJaW5pdFBRRXhwQnVmZmVyKCZidWYpOworCisJCQlw cmludGZQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJCSAgIlNFTEVDVCBpbmV0X3NlcnZlcl9hZGRy KCk7Iik7CisKKwkJCXJlcyA9IFBTUUxleGVjKGJ1Zi5kYXRhKTsKKworCQkJdGVybVBRRXhwQnVm ZmVyKCZidWYpOworCisJCQlpZiAoIXJlcykKKwkJCQlyZXR1cm4gUFNRTF9DTURfRVJST1I7CiAJ CQllbHNlCiAJCQl7Ci0JCQkJaWYgKGhvc3RhZGRyICYmICpob3N0YWRkciAmJiBzdHJjbXAoaG9z dCwgaG9zdGFkZHIpICE9IDApCi0JCQkJCXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0byBk YXRhYmFzZSBcIiVzXCIgYXMgdXNlciBcIiVzXCIgb24gaG9zdCBcIiVzXCIgKGFkZHJlc3MgXCIl c1wiKSBhdCBwb3J0IFwiJXNcIi5cbiIpLAotCQkJCQkJICAgZGIsIFBRdXNlcihwc2V0LmRiKSwg aG9zdCwgaG9zdGFkZHIsIFBRcG9ydChwc2V0LmRiKSk7CisJCQkJY2hhcgkgICAqaG9zdCA9IFBR aG9zdChwc2V0LmRiKTsKKwkJCQljaGFyCSAgICpob3N0YWRkciA9IFBRaG9zdGFkZHIocHNldC5k Yik7CisKKwkJCQlpZiAoaXNfdW5peHNvY2tfcGF0aChob3N0KSkKKwkJCQl7CisJCQkJCS8qIGhv c3RhZGRyIG92ZXJyaWRlcyBob3N0ICovCisJCQkJCWlmIChob3N0YWRkciAmJiAqaG9zdGFkZHIp CisJCQkJCQlwcmludGYoXygiWW91IGFyZSBjb25uZWN0ZWQgdG8gZGF0YWJhc2UgXCIlc1wiIGFz IHVzZXIgXCIlc1wiIG9uIGFkZHJlc3MgXCIlc1wiIGF0IHBvcnQgXCIlc1wiLlxuIiksCisJCQkJ CQkJICAgZGIsIFBRdXNlcihwc2V0LmRiKSwgUFFnZXR2YWx1ZShyZXMsIDAsIDApLCBQUXBvcnQo cHNldC5kYikpOworCQkJCQllbHNlCisJCQkJCQlwcmludGYoXygiWW91IGFyZSBjb25uZWN0ZWQg dG8gZGF0YWJhc2UgXCIlc1wiIGFzIHVzZXIgXCIlc1wiIHZpYSBzb2NrZXQgaW4gXCIlc1wiIGF0 IHBvcnQgXCIlc1wiLlxuIiksCisJCQkJCQkJICAgZGIsIFBRdXNlcihwc2V0LmRiKSwgaG9zdCwg UFFwb3J0KHBzZXQuZGIpKTsKKwkJCQl9CiAJCQkJZWxzZQotCQkJCQlwcmludGYoXygiWW91IGFy ZSBjb25uZWN0ZWQgdG8gZGF0YWJhc2UgXCIlc1wiIGFzIHVzZXIgXCIlc1wiIG9uIGhvc3QgXCIl c1wiIGF0IHBvcnQgXCIlc1wiLlxuIiksCi0JCQkJCQkgICBkYiwgUFF1c2VyKHBzZXQuZGIpLCBo b3N0LCBQUXBvcnQocHNldC5kYikpOworCQkJCXsKKwkJCQkJaWYgKGhvc3RhZGRyICYmICpob3N0 YWRkciAmJiBzdHJjbXAoaG9zdCwgaG9zdGFkZHIpICE9IDApCisJCQkJCQlwcmludGYoXygiWW91 IGFyZSBjb25uZWN0ZWQgdG8gZGF0YWJhc2UgXCIlc1wiIGFzIHVzZXIgXCIlc1wiIG9uIGhvc3Qg XCIlc1wiIChhZGRyZXNzIFwiJXNcIikgYXQgcG9ydCBcIiVzXCIuXG4iKSwKKwkJCQkJCQkgICBk YiwgUFF1c2VyKHBzZXQuZGIpLCBob3N0LCBQUWdldHZhbHVlKHJlcywgMCwgMCksIFBRcG9ydChw c2V0LmRiKSk7CisJCQkJCWVsc2UKKwkJCQkJCXByaW50ZihfKCJZb3UgYXJlIGNvbm5lY3RlZCB0 byBkYXRhYmFzZSBcIiVzXCIgYXMgdXNlciBcIiVzXCIgb24gaG9zdCBcIiVzXCIgYXQgcG9ydCBc IiVzXCIuXG4iKSwKKwkJCQkJCQkgICBkYiwgUFF1c2VyKHBzZXQuZGIpLCBob3N0LCBQUXBvcnQo cHNldC5kYikpOworCQkJCX0KKwkJCQlQUWNsZWFyKHJlcyk7CisJCQkJcHJpbnRTU0xJbmZvKCk7 CisJCQkJcHJpbnRHU1NJbmZvKCk7CiAJCQl9Ci0JCQlwcmludFNTTEluZm8oKTsKLQkJCXByaW50 R1NTSW5mbygpOwogCQl9CiAJfQorCWVsc2UKKwkJaWdub3JlX3NsYXNoX29wdGlvbnMoc2Nhbl9z dGF0ZSk7CiAKLQlyZXR1cm4gUFNRTF9DTURfU0tJUF9MSU5FOworCXJldHVybiBzdWNjZXNzID8g UFNRTF9DTURfU0tJUF9MSU5FIDogUFNRTF9DTURfRVJST1I7CiB9CiAKIC8qCmRpZmYgLS1naXQg YS9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCmluZGV4 IDY0MzM0OTcuLjYxNzBjODggMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCisr KyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAi ZmVfdXRpbHMvbWJwcmludC5oIgogI2luY2x1ZGUgImZlX3V0aWxzL3ByaW50LmgiCiAjaW5jbHVk ZSAiZmVfdXRpbHMvc3RyaW5nX3V0aWxzLmgiCisjaW5jbHVkZSAibGlicHEvcHFjb21tLmgiCiAj aW5jbHVkZSAic2V0dGluZ3MuaCIKICNpbmNsdWRlICJ2YXJpYWJsZXMuaCIKIApAQCAtOTAxLDYg KzkwMiwxNjUgQEAgZXJyb3JfcmV0dXJuOgogCXJldHVybiBmYWxzZTsKIH0KIAorLyoKKyAqIGxp c3RDb25uZWN0aW9uSW5mb3JtYXRpb24KKyAqCisgKiBmb3IgXGNvbm5pbmZvKworICovCitib29s CitsaXN0Q29ubmVjdGlvbkluZm9ybWF0aW9uKHZvaWQpCit7CisJUEdyZXN1bHQgICAqcmVzOwor CVBRRXhwQnVmZmVyRGF0YSBidWY7CisJcHJpbnRRdWVyeU9wdCBteW9wdCA9IHBzZXQucG9wdDsK KworCWNoYXIJICAgKmhvc3QgPSBQUWhvc3QocHNldC5kYik7CisJY2hhcgkgICAqaG9zdGFkZHIg PSBQUWhvc3RhZGRyKHBzZXQuZGIpOworCisJaW5pdFBRRXhwQnVmZmVyKCZidWYpOworCisJcHJp bnRmUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJICAiU0VMRUNUXG4iCisJCQkJCSAgIiAgcGdfY2F0 YWxvZy5jdXJyZW50X2RhdGFiYXNlKCkgQVMgXCIlc1wiLFxuIgorCQkJCQkgICIgICclcycgQVMg XCIlc1wiLFxuIiwKKwkJCQkJICBfKCJEYXRhYmFzZSIpLAorCQkJCQkgIFBRdXNlcihwc2V0LmRi KSwKKwkJCQkJICBfKCJBdXRoZW50aWNhdGVkIFVzZXIiKSk7CisJaWYgKGlzX3VuaXhzb2NrX3Bh dGgoaG9zdCkgJiYgIShob3N0YWRkciAmJiAqaG9zdGFkZHIpKQorCQlhcHBlbmRQUUV4cEJ1ZmZl cigmYnVmLAorCQkJCQkgICIgICclcycgQVMgXCIlc1wiLFxuIiwKKwkJCQkJICBob3N0LAorCQkJ CQkgIF8oIlNvY2tldCBEaXJlY3RvcnkiKSk7CisJZWxzZQorCQlhcHBlbmRQUUV4cEJ1ZmZlcigm YnVmLAorCQkJCQkgICIgIE5VTEwgQVMgXCIlc1wiLFxuIiwKKwkJCQkJICBfKCJTb2NrZXQgRGly ZWN0b3J5IikpOworCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCSAgIiAgQ0FTRVxuIgor CQkJCQkgICIgICAgV0hFTlxuIgorCQkJCQkgICIgICAgICBwZ19jYXRhbG9nLmluZXRfc2VydmVy X2FkZHIoKSBJUyBOVUxMXG4iCisJCQkJCSAgIiAgICAgIEFORCBwZ19jYXRhbG9nLmluZXRfY2xp ZW50X2FkZHIoKSBJUyBOVUxMXG4iCisJCQkJCSAgIiAgICBUSEVOIE5VTExcbiIKKwkJCQkJICAi ICAgIEVMU0UgJyVzJ1xuIgorCQkJCQkgICIgIEVORCBBUyBcIiVzXCIsXG4iLAorCQkJCQkgIF8o Ikhvc3QiKSwKKwkJCQkJICBob3N0KTsKKwlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkg ICIgIHBnX2NhdGFsb2cuY3VycmVudF9zZXR0aW5nKCdwb3J0JykgQVMgXCIlc1wiLFxuIgorCQkJ CQkgICIgIHBnX2NhdGFsb2cuaW5ldF9zZXJ2ZXJfYWRkcigpIEFTIFwiJXNcIixcbiIKKwkJCQkJ ICAiICBwZ19jYXRhbG9nLmluZXRfY2xpZW50X2FkZHIoKSBBUyBcIiVzXCIsXG4iCisJCQkJCSAg IiAgcGdfY2F0YWxvZy5pbmV0X2NsaWVudF9wb3J0KCkgQVMgXCIlc1wiLFxuIgorCQkJCQkgICIg IHBnX2NhdGFsb2cucGdfYmFja2VuZF9waWQoKSBBUyBcIiVzXCIsXG4iLAorCQkJCQkgIF8oIlNl cnZlciBQb3J0IiksCisJCQkJCSAgXygiU2VydmVyIEFkZHJlc3MiKSwKKwkJCQkJICBfKCJDbGll bnQgQWRkcmVzcyIpLAorCQkJCQkgIF8oIkNsaWVudCBQb3J0IiksCisJCQkJCSAgXygiQmFja2Vu ZCBQSUQiKSk7CisJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTYwMDAwKQorCQlhcHBlbmRQUUV4cEJ1 ZmZlcigmYnVmLAorCQkJCQkJICAiICBwZ19jYXRhbG9nLnN5c3RlbV91c2VyKCkgQVMgXCIlc1wi LFxuIiwKKwkJCQkJCSAgXygiU3lzdGVtIFVzZXIiKSk7CisJZWxzZQorCQlhcHBlbmRQUUV4cEJ1 ZmZlcigmYnVmLAorCQkJCQkJICAiICBOVUxMIEFTIFwiJXNcIixcbiIsCisJCQkJCQkgIF8oIlN5 c3RlbSBVc2VyIikpOworCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCSAgIiAgcGdfY2F0 YWxvZy5jdXJyZW50X3VzZXIoKSBBUyBcIiVzXCIsXG4iCisJCQkJCSAgIiAgcGdfY2F0YWxvZy5z ZXNzaW9uX3VzZXIoKSBBUyBcIiVzXCIsXG4iCisJCQkJCSAgIiAgcGdfY2F0YWxvZy5jdXJyZW50 X3NldHRpbmcoJ2FwcGxpY2F0aW9uX25hbWUnKSBBUyBcIiVzXCIsXG4iLAorCQkJCQkgIF8oIkN1 cnJlbnQgVXNlciIpLAorCQkJCQkgIF8oIlNlc3Npb24gVXNlciIpLAorCQkJCQkgIF8oIkFwcGxp Y2F0aW9uIE5hbWUiKSk7CisJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTQwMDAwKQorCQlhcHBlbmRQ UUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJICAiICBzc2wuc3NsIEFTIFwiJXNcIixcbiIKKwkJCQkJ CSAgIiAgc3NsLnZlcnNpb24gQVMgXCIlc1wiLFxuIgorCQkJCQkJICAiICBzc2wuY2lwaGVyIEFT IFwiJXNcIixcbiIKKwkJCQkJCSAgIiAgTlVMTCBBUyBcIiVzXCIsXG4iLAorCQkJCQkJICBfKCJT U0wgQ29ubmVjdGlvbiIpLAorCQkJCQkJICBfKCJTU0wgUHJvdG9jb2wiKSwKKwkJCQkJCSAgXygi U1NMIENpcGhlciIpLAorCQkJCQkJICBfKCJTU0wgQ29tcHJlc3Npb24iKSk7CisJZWxzZSBpZiAo cHNldC5zdmVyc2lvbiA+PSA5MDUwMCkKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJ CSAgIiAgc3NsLnNzbCBBUyBcIiVzXCIsXG4iCisJCQkJCQkgICIgIHNzbC52ZXJzaW9uIEFTIFwi JXNcIixcbiIKKwkJCQkJCSAgIiAgc3NsLmNpcGhlciBBUyBcIiVzXCIsXG4iCisJCQkJCQkgICIg IHNzbC5jb21wcmVzc2lvbiBBUyBcIiVzXCIsXG4iLAorCQkJCQkJICBfKCJTU0wgQ29ubmVjdGlv biIpLAorCQkJCQkJICBfKCJTU0wgUHJvdG9jb2wiKSwKKwkJCQkJCSAgXygiU1NMIENpcGhlciIp LAorCQkJCQkJICBfKCJTU0wgQ29tcHJlc3Npb24iKSk7CisJZWxzZQorCQlhcHBlbmRQUUV4cEJ1 ZmZlcigmYnVmLAorCQkJCQkJICAiICBOVUxMIEFTIFwiJXNcIixcbiIKKwkJCQkJCSAgIiAgTlVM TCBBUyBcIiVzXCIsXG4iCisJCQkJCQkgICIgIE5VTEwgQVMgXCIlc1wiLFxuIgorCQkJCQkJICAi ICBOVUxMIEFTIFwiJXNcIixcbiIsCisJCQkJCQkgIF8oIlNTTCBDb25uZWN0aW9uIiksCisJCQkJ CQkgIF8oIlNTTCBQcm90b2NvbCIpLAorCQkJCQkJICBfKCJTU0wgQ2lwaGVyIiksCisJCQkJCQkg IF8oIlNTTCBDb21wcmVzc2lvbiIpKTsKKwlpZiAocHNldC5zdmVyc2lvbiA+PSAxNjAwMDApCisJ CWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCQkgICIgIGdzc2FwaS5nc3NfYXV0aGVudGlj YXRlZCBBUyBcIiVzXCIsXG4iCisJCQkJCQkgICIgIGdzc2FwaS5wcmluY2lwYWwgQVMgXCIlc1wi LFxuIgorCQkJCQkJICAiICBnc3NhcGkuXCJlbmNyeXB0ZWRcIiBBUyBcIiVzXCIsXG4iCisJCQkJ CQkgICIgIGdzc2FwaS5jcmVkZW50aWFsc19kZWxlZ2F0ZWQgQVMgXCIlc1wiXG4iLAorCQkJCQkJ ICBfKCJHU1NBUEkgQXV0aGVudGljYXRlZCIpLAorCQkJCQkJICBfKCJHU1NBUEkgUHJpbmNpcGFs IiksCisJCQkJCQkgIF8oIkdTU0FQSSBFbmNyeXB0ZWQiKSwKKwkJCQkJCSAgXygiR1NTQVBJIENy ZWRlbnRpYWxzIERlbGVnYXRlZCIpKTsKKwllbHNlIGlmIChwc2V0LnN2ZXJzaW9uID49IDEyMDAw MCkKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJCSAgIiAgZ3NzYXBpLmdzc19hdXRo ZW50aWNhdGVkIEFTIFwiJXNcIixcbiIKKwkJCQkJCSAgIiAgZ3NzYXBpLnByaW5jaXBhbCBBUyBc IiVzXCIsXG4iCisJCQkJCQkgICIgIGdzc2FwaS5cImVuY3J5cHRlZFwiIEFTIFwiJXNcIixcbiIK KwkJCQkJCSAgIiAgTlVMTCBBUyBcIiVzXCJcbiIsCisJCQkJCQkgIF8oIkdTU0FQSSBBdXRoZW50 aWNhdGVkIiksCisJCQkJCQkgIF8oIkdTU0FQSSBQcmluY2lwYWwiKSwKKwkJCQkJCSAgXygiR1NT QVBJIEVuY3J5cHRlZCIpLAorCQkJCQkJICBfKCJHU1NBUEkgQ3JlZGVudGlhbHMgRGVsZWdhdGVk IikpOworCWVsc2UKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJCSAgIiAgTlVMTCBB UyBcIiVzXCIsXG4iCisJCQkJCQkgICIgIE5VTEwgQVMgXCIlc1wiLFxuIgorCQkJCQkJICAiICBO VUxMIEFTIFwiJXNcIixcbiIKKwkJCQkJCSAgIiAgTlVMTCBBUyBcIiVzXCJcbiIsCisJCQkJCQkg IF8oIkdTU0FQSSBBdXRoZW50aWNhdGVkIiksCisJCQkJCQkgIF8oIkdTU0FQSSBQcmluY2lwYWwi KSwKKwkJCQkJCSAgXygiR1NTQVBJIEVuY3J5cHRlZCIpLAorCQkJCQkJICBfKCJHU1NBUEkgQ3Jl ZGVudGlhbHMgRGVsZWdhdGVkIikpOworCWlmIChwc2V0LnN2ZXJzaW9uID49IDEyMDAwMCkKKwkJ YXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJCSAgIkZST01cbiIKKwkJCQkJCSAgIiAgcGdf Y2F0YWxvZy5wZ19zdGF0X3NzbCBzc2xcbiIKKwkJCQkJCSAgIkxFRlQgSk9JTlxuIgorCQkJCQkJ ICAiICBwZ19jYXRhbG9nLnBnX3N0YXRfZ3NzYXBpIGdzc2FwaSBPTiBzc2wucGlkID0gZ3NzYXBp LnBpZFxuIgorCQkJCQkJICAiV0hFUkVcbiIKKwkJCQkJCSAgIiAgc3NsLnBpZCA9IHBnX2NhdGFs b2cucGdfYmFja2VuZF9waWQoKVxuIik7CisJaWYgKHBzZXQuc3ZlcnNpb24gPj0gOTA1MDAgJiYg cHNldC5zdmVyc2lvbiA8IDEyMDAwMCkKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJ CSAgIkZST01cbiIKKwkJCQkJCSAgIiAgcGdfY2F0YWxvZy5wZ19zdGF0X3NzbCBzc2xcbiIKKwkJ CQkJCSAgIldIRVJFXG4iCisJCQkJCQkgICIgIHNzbC5waWQgPSBwZ19jYXRhbG9nLnBnX2JhY2tl bmRfcGlkKClcbiIpOworCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCSAgIjsiKTsKKwor CXJlcyA9IFBTUUxleGVjKGJ1Zi5kYXRhKTsKKwl0ZXJtUFFFeHBCdWZmZXIoJmJ1Zik7CisJaWYg KCFyZXMpCisJCXJldHVybiBmYWxzZTsKKworCW15b3B0LnRpdGxlID0gXygiQ3VycmVudCBDb25u ZWN0aW9uIEluZm9ybWF0aW9uIik7CisJbXlvcHQudHJhbnNsYXRlX2hlYWRlciA9IHRydWU7CisK KwlwcmludFF1ZXJ5KHJlcywgJm15b3B0LCBwc2V0LnF1ZXJ5Rm91dCwgZmFsc2UsIHBzZXQubG9n ZmlsZSk7CisKKwlQUWNsZWFyKHJlcyk7CisJcmV0dXJuIHRydWU7Cit9CiAKIC8qCiAgKiBsaXN0 QWxsRGJzCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvZGVzY3JpYmUuaCBiL3NyYy9iaW4vcHNx bC9kZXNjcmliZS5oCmluZGV4IDI3M2Y5NzQuLjhhNGU4M2YgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cHNxbC9kZXNjcmliZS5oCisrKyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5oCkBAIC02NCw2ICs2 NCw5IEBAIGV4dGVybiBib29sIGxpc3RUU0RpY3Rpb25hcmllcyhjb25zdCBjaGFyICpwYXR0ZXJu LCBib29sIHZlcmJvc2UpOwogLyogXGRGdCAqLwogZXh0ZXJuIGJvb2wgbGlzdFRTVGVtcGxhdGVz KGNvbnN0IGNoYXIgKnBhdHRlcm4sIGJvb2wgdmVyYm9zZSk7CiAKKy8qIFxjb25uaW5mbyAqLwor ZXh0ZXJuIGJvb2wgbGlzdENvbm5lY3Rpb25JbmZvcm1hdGlvbih2b2lkKTsKKwogLyogXGwgKi8K IGV4dGVybiBib29sIGxpc3RBbGxEYnMoY29uc3QgY2hhciAqcGF0dGVybiwgYm9vbCB2ZXJib3Nl KTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2hlbHAuYyBiL3NyYy9iaW4vcHNxbC9oZWxw LmMKaW5kZXggNGU3OWE4MS4uMmM1NDI2ZCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2hlbHAu YworKysgYi9zcmMvYmluL3BzcWwvaGVscC5jCkBAIC0zMTAsNyArMzEwLDcgQEAgc2xhc2hVc2Fn ZSh1bnNpZ25lZCBzaG9ydCBpbnQgcGFnZXIpCiAJZWxzZQogCQlIRUxQMCgiICBcXGNbb25uZWN0 XSB7W0RCTkFNRXwtIFVTRVJ8LSBIT1NUfC0gUE9SVHwtXSB8IGNvbm5pbmZvfVxuIgogCQkJICAi ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3QgdG8gbmV3IGRhdGFiYXNlIChjdXJyZW50 bHkgbm8gY29ubmVjdGlvbilcbiIpOwotCUhFTFAwKCIgIFxcY29ubmluZm8gICAgICAgICAgICAg IGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY3VycmVudCBjb25uZWN0aW9uXG4iKTsKKwlIRUxQ MCgiICBcXGNvbm5pbmZvWytdICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGN1 cnJlbnQgY29ubmVjdGlvblxuIik7CiAJSEVMUDAoIiAgXFxlbmNvZGluZyBbRU5DT0RJTkddICAg c2hvdyBvciBzZXQgY2xpZW50IGVuY29kaW5nXG4iKTsKIAlIRUxQMCgiICBcXHBhc3N3b3JkIFtV U0VSTkFNRV0gICBzZWN1cmVseSBjaGFuZ2UgdGhlIHBhc3N3b3JkIGZvciBhIHVzZXJcbiIpOwog CUhFTFAwKCJcbiIpOwo= --_004_CP8P284MB24966A436D371CE347E97CFFEC3D2CP8P284MB2496BRAP_--