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 1pQ85U-0003zp-Mm for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Feb 2023 14:39:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pQ85T-0001ia-J1 for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Feb 2023 14:39:47 +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 1pQ85S-0001iR-Sf for pgsql-hackers@lists.postgresql.org; Thu, 09 Feb 2023 14:39:47 +0000 Received: from esa16.fujitsucc.c3s2.iphmx.com ([216.71.158.33]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pQ85P-0002yt-0H for pgsql-hackers@lists.postgresql.org; Thu, 09 Feb 2023 14:39:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1675953583; x=1707489583; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=QEFqpVbk3uhBDUbTsf4glSvO/+olHHoXQAd3/WR6omw=; b=g9DDbjd9l0Itdetmzeo87tElSdZLnKevkhpqgZ5pP53uXturBHD3K05C 5qlcBAfzzLzauwipQGXi6JrOUxy5LNTCqcMs/6wDp/Yo4Rg6a8MU4gX/C N0htfh0qlq+D8icmCwKnJJUAMmqqds989/LUCR4a3tLUcDya+iXZ6AmlX f2N5DJs2REH4ywCPq2YfzxNp2MLSXBRFbu6n3zSCextFnJnk4UV50k+Nk WxCz6hZWpF0/caDonPPSBP+h4yOno9xiS9ncz0Hj0yhqiCkcJF1jrzFkc hXZY9Y+L4W30wal7kAm1vhQyAQgEz2E/pkkvH0+dGK0el/j9/uOoyfw1L Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="76508141" X-IronPort-AV: E=Sophos;i="5.97,283,1669042800"; d="scan'208,223";a="76508141" Received: from mail-psaapc01lp2042.outbound.protection.outlook.com (HELO APC01-PSA-obe.outbound.protection.outlook.com) ([104.47.26.42]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2023 23:39:37 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CmMl3oiP4JWxEuCX8vt9t8WQGgko9z6I1YaC/Z1SFx0NtlpInihlJk143qbC5Jzfbs68HhqS3vpnRt1HgG4NcUIo4ajQqRhL2FZQ5GSbA9I3HhP2BfsXA82OU4VkhsHNWQzv4DiIOIx6AKwHHlJmiNNg76n356oCxTuYyBGhNN0Dc9NrqqB0eEkHYpEMrFWzbJ+tCXuHeAK9Ql/gHjMdqvD2kpdmNZW+5q3PvTWNThdf70M9ewbHcO04U+CQkoP3DW55yGu2dnWpp3QCTMcqX2Yurcin/ORuAx/nnato5dXCCRiqux7MIvYVuqlM2FcVNOXduyHHHxZ7AKWQR0xFtw== 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=I5sa+bWTEoxhxgxkx37pAgJlMhDQd11cY2VLuFqjFhU=; b=naq7gdXlVDj9HfJpExt1lJcqWDSpt4N4gG8y7ymdeBm9FS3hRxFqC2C1m0cxaGR6O+o0PTqLXg1YkowRREvUHq1QTiQ4VgO1fP/kQJltlwKE2uPQ4c/VsWMxVF8ujyj2gT3od57gzbyXvzdaU+tVTPiVMxovgOy6dL9A4s/iQzlJPH4SAc++ECeHY4pGyY7FJIBxWlfo+gIgkkNgruIDcDcgE7/6yeQO7bSkrz/ilhLW9uI3Vf103TfCfmM5vF2iiZULoR5i6vmjlNRUzsReEMQEzQtr2N7Ha2nqZXGUbU/KtWf9ShzZM/HeiSMmjovc/P5+An1gji6bYRWR5zW0gw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com (2603:1096:404:8056::13) by TY3PR01MB11296.jpnprd01.prod.outlook.com (2603:1096:400:36f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.18; Thu, 9 Feb 2023 14:39:34 +0000 Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::30c6:f973:2d10:5130]) by TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::30c6:f973:2d10:5130%3]) with mapi id 15.20.6086.019; Thu, 9 Feb 2023 14:39:34 +0000 From: "Hayato Kuroda (Fujitsu)" To: 'Katsuragi Yuta' CC: 'Ted Yu' , Tom Lane , vignesh C , "pgsql-hackers@lists.postgresql.org" , =?utf-8?B?w5ZuZGVyIEthbGFjxLE=?= , Fujii Masao , "Shinya11.Kato@oss.nttdata.com" , Kyotaro Horiguchi Subject: RE: [Proposal] Add foreign-server health checks infrastructure Thread-Topic: [Proposal] Add foreign-server health checks infrastructure Thread-Index: AdfNNjec7xk22WznTt+52qg+YpAmvANdE8aAAG+tXeAALaEGgADyvFSgAOXdLoAAHbFoIAAJMQQAAVzrX4ABVSpkgAcm+qGAAFKrs2AALpHaMABlDPQAAZXPwNAAQjmEAALZMWcAADGlIkAAC7y9AADsTM0AAAZl5AAAATiOkAAEa8NQAAKKo4AAWAdDgAGbNSLQJuCMuwAAoOugoAI4TMiAACGQ9/AAAsDDgAABIZnQAAoMxAAAF66VEAGrPlUAAOu0qvAAeBgsAAKNT0GQAe1YiIACwRN2kAI41iQAABfOBaAChYGx0ALSd9iAAVF24eAAAY4aAAAYCjbwAAGTDIAAHpfZEAAF6AnAAcX2foAAM4kSQAACpiCAAFMwRkAAbPeWAAAFpxUwAFRsd8AABDA30AJfjcaAADnGdYA= Date: Thu, 9 Feb 2023 14:39:34 +0000 Message-ID: References: <20221206182638.w3vrfal4qix4hf2w@awork3.anarazel.de> <204604.1673324688@sss.pgh.pa.us> <20a2c622cd4d763cf0b09b395a953ccc@oss.nttdata.com> <986867cac0ff331911da5990f054790c@oss.nttdata.com> In-Reply-To: <986867cac0ff331911da5990f054790c@oss.nttdata.com> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjMtMDItMDlUMTA6NDQ6?= =?utf-8?B?NTZaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD02MTNmOTE3Yi0yYmY0LTQ1YjQt?= =?utf-8?B?OGMwOC0xYThiMTdjMzcxMzc7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYAPR01MB5866:EE_|TY3PR01MB11296:EE_ x-ms-office365-filtering-correlation-id: d87d592c-f5d9-4dfb-8d95-08db0aab7642 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4LU5IKOCgNysRxsE4hTVm6Fy1zE63Bn/TG8oWPzFEC6HvC55OPChEa04/B8TheU95w5g+Y478GA3ejUoNw9IP3Z1FgsjIFa2iSNoAqntmpDaZOxKDdjOEP9d1snTLsSZsoO6PW5y4I+IvqKYQcSauwjDKw0hikOZt32VCYEay/nDbAL4yvMG7UWFDCBsTDCl1omiNiI4hGi5Nh2gUn1qR9ZgibA0TipkR7HYrqGBCI9l5upSVEtg1Qc+mIfDX4xlz1uNa7LUjji94poS9T+fzT7i5Jhtvgz4Rg6YvTBjWs006RNlnRg8xIeRS4YdcUiHWl3fuAT2MOVFzdeX+scikHOQOQ3Fq4DNE4DVZ4TZwiY9ybngveB4ocDjsniiDVMfnlVCJT7Y+Cx2KuUAuGWJiEz1HfX+kAAtLjEFn4g6diHAhrhjWogAxraG1oWROH/vFNACOOvaYRzmZuWuB0DV+0zlHbg2CUeubAb9VG/PvtquIANhDxkuqvXBGeHR+6L6Rdzdx6WqYk+52AYKKvLeyPKOhHsvOMHeJK3Q8LQqxCpHXE/5+u1dT+hPyKoGrRPpFR3mCxjJ478iLXddc2HH7gqU5ig+XhSqiN+pUBs3YPyVGhe+wC/R9JAVwi2C0NIDLKyYY2fui8smNu/kWnzcjkOn7A59FXjm82Og7/XkvzXE2pFwyKAz048e5o0k+EmKfg0y93HP97GWffViYfVwWmslPW1i1gTQA7wxwMtXuo/UAWZV8/I9gWV+MBZH8Bp6zX1E94hQBK6aqxyx2hdWVw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYAPR01MB5866.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(366004)(136003)(376002)(39860400002)(346002)(1590799015)(451199018)(45080400002)(1580799012)(83380400001)(85182001)(5660300002)(2906002)(38070700005)(186003)(26005)(41300700001)(6506007)(478600001)(54906003)(9686003)(52536014)(33656002)(966005)(86362001)(7696005)(71200400001)(99936003)(122000001)(316002)(8936002)(55016003)(38100700002)(76116006)(66556008)(66476007)(66946007)(64756008)(66446008)(4326008)(8676002)(6916009)(82960400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ODV5ZGJBalNhdGJaVWRQTXBmOW9PNlhvaVpwTFRtT1F0Q3RrVkVHajdWTlhh?= =?utf-8?B?U2lDejBITm1XUE5uUFROaGcvSndHeG9WandNazFlYTVyRlA0VWRtWGkyUlFz?= =?utf-8?B?Ti9XSjdmUEI3cEVzOXJvdHhCUHFwTzBZOXNyTEhqYmNRRW1QVUNqOVFQazF1?= =?utf-8?B?SEJwNW1Bd0RoUFRCeGdQeitKOWpYclg5SERFTDBhZGtFWnNvd2hxREtHSDBq?= =?utf-8?B?SkRUeUYwRTNEVEEvcmZXaXEvekd0ZjdxZXNXNG9GNnBVRTNzRDBQSjhCUEo4?= =?utf-8?B?ekVxV1ZsVFNEYlNGQnBOajdZVmtHL2RmSlJlaXEyYSs2Und2SktPT0J5aG11?= =?utf-8?B?OVozNGMvMnlMa2puQnh0Wm1MaUtBNTlZeW55SHdvb2wxLzdxODMrOUd0aFVG?= =?utf-8?B?TFlscmlzdWIrZXVJLzNwd3pTRHJEOWp5ZkdxMlhQdS9IUU54S24zSU5kVUFB?= =?utf-8?B?UGpjTDMwTkMvRDJ0dm00UmNZOWZmalc2ZWtSaTViUmpjbkIxNHp0VjlWcm56?= =?utf-8?B?U3Faak5DaUN2cFJMOXBMZGdTT09wQldmRDcyTko4c0pkeTFiRHdHZ2lwRzFW?= =?utf-8?B?eE8xaUdZMWVMN0ZzUFUyM2tHK0dqZkZBRzNoZ04zK3ZxNFFtL0MxdjZhczYv?= =?utf-8?B?NkF5ampSUnByVEpDSEQvdC9ZLzFlbmNybmYzbmVXZG1ETzM0b2JacW9HalJj?= =?utf-8?B?VVJ6RVBlejBOVGYvQjIrTThUL0VqV3FzT3gvWTdwZUpQUGROMWFJcEVxbStC?= =?utf-8?B?RWx2elI0aGVIL0s3OFVVbjh5M2Q2aDZRZHlyWG0yajNQQnJINUx4UkFtMEQ0?= =?utf-8?B?SUhIUTgxL3d2UGZ0Vjg4NWpDN3ZkRTVuN1FIUERJYkxiYkE3dGo2clBadHpM?= =?utf-8?B?aUtQWWl3L0NvS25OaHNxWXhzM0JRbjVxSEVVTmFnaVpPaXFnQW90V1pKSi9W?= =?utf-8?B?aXZwZ1FOSlprMk4wVFIxMnhmZUFZV09wUDZ1OGh5VnFTUXBMb1oreDRWenY3?= =?utf-8?B?Z016UG5aOVZ2Wm1WT3ZMV2tZdmQvaHFkVHBtV0NTbDBucndIVnNkaWV6eHQy?= =?utf-8?B?dTVTTlJZZnR6RVMrQXR6TkdSSDVxWTNqVHpiL2FRRGtVczlCVmQ3eUdCYmpt?= =?utf-8?B?ZGNoTjRubnF3U1Y5SEFKNFdZWTA0OUhuVTZDQXZEWmJ5QlRwUG1kblhRcWc0?= =?utf-8?B?TWlKSlorcFg4ZHhtVFE2eVlnajAxQTV6b0RENUp1WnFlT2xFbEVJeHd4OEhP?= =?utf-8?B?MHpZdTlPUXNMSWFNRnRjVVVtS1hIRHM3ZlhSZnRHRGhma3VDM2dHVTB0cTFV?= =?utf-8?B?MTNsRlhYMkpiRS9SUzIyNHhvUklQOVFCRmVndlhxQ1h4UjUwU3dMU2EydUZX?= =?utf-8?B?RnBHaHVaaXFPMkRkRGV4ZitTeHFKSzE4bCt6TDZZOHlzeURUMUxmeEFIZkEv?= =?utf-8?B?bGZTK3g1S2VXV0ZSOStua2RrZzhWRFc4M2ZRcUNTc0dXMkxTR2hiNjlZNXZR?= =?utf-8?B?UUJEQ2hBaUh5ZW4yVXdRMjZQdDcwQ1ExZmNjRmVRNzBZL1J1cnRrMEdxSERO?= =?utf-8?B?Y3kvaFRmclhLLzRJclVVaFJqdGNoWjBnelYyYUExZGR6WVF3U1J0U0dwd0x4?= =?utf-8?B?eDVYS1FIVng2VlZ3RnB3NVgrdXBnMVhDNExLMTVNb1hPck9yTWkxWktXdjF6?= =?utf-8?B?VlRCZTRudGduRTZtRXJaTldQTDhaa2QyS3RzYWc0WXFuOFZZbjcvMU5SWjBL?= =?utf-8?B?VXFldVA5REp4TUlROXhXTEpkVFUrS2hXQitvbTlDdEV4MFpzc1lmcC8reHdY?= =?utf-8?B?TWU1YXo0Y3ZhUUxjRzRsbmpjQTF2bGZtL3FVVyt4WUhhSUJmcThTSnZnVjVs?= =?utf-8?B?U1h1NXBPbHNVOHJ2UjFJTk1YMUgzRi80SW15M2NxQWZXbHdHQ2dNc3lvTnQ4?= =?utf-8?B?cHpVb0lEZWlsYjVneDl6VWJVSGdpOXhETEFyaDluTEIrY0YzRk1SOWU1TEo3?= =?utf-8?B?aWVSRmlhSHB1b3RFR29nSTZUSi9tMlBxNTlQVUhpdU5Ob2lSUkdoa3FRa0JI?= =?utf-8?B?V2tYTm9lNWwvRHdEZURXQ3FzTE9mZzlEM3RvRjYzUDhzQUNHTTdSWGd3Q3V3?= =?utf-8?B?SHF0VkRPRUdHOFNPS2VHbWhza2hETE5UVWZJWk5BTkZYWEFCUmw2L2xlQ0Uz?= =?utf-8?B?dXc9PQ==?= Content-Type: multipart/mixed; boundary="_005_TYAPR01MB58669EAAC02493BFF9F39B06F5D99TYAPR01MB5866jpnp_" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: af8wl7RPZovuF38Vz83EGFRXwK19FIh5tovROXky2/jr9eQkHlWKVrf6qmR2ZPwzjAct21uZf19RvXT1CZrEnTONxVAWon8ouaVqXGJCA8NmyfN8TYWvEWOiSWRr9rdNOZygpNaBJcN20tKGNpazaHYxYwA+rlxo5IRKvxmcUSQsbJVPkzlnw7as31a/m0DqxO1Ga1C0IM8RCSvRe4/e+s0OmZky0UWfDPdB7qdZYCMmSLlXQnNySd22yUkohhwntrK7LMEP5H49uAkSvVVe0PgRfivFKE2CgB4jVxWz+UX59a0/qiSGftzC3DYta4HlQQq2iMz4XB+S1UEDZeqciFhV1jno5QA2zqeFjsnUvV8ZWPjRS7zhDVC74kDZj8auDT/Vl1tF/Lf98GNnRKuKEDrqYdTZhBZoLvdaPztQCLXyTC2YPCm0moRtd/Es5lT6oRTQixotxzCcDuTZfK5oYV80Bz7HWcgMgRygpRVVNl4oGVMyQLGTb18UnTjzIvRkK0N0AOTjVfBNg9Jhvo7C/s7FVi6rhsSDxWzYP5lU/jUIOfkqwuf10Do+vmA/o1wsA6eiGCbr1yggXJJTgGOkseWw/nEV4Vbrx81lD3vgDbhif3tqNguaadfUGzO+3UsPujZUTo2i+KXOk6sB7f+WjutyfTm0cHR/CDSDqQEnEImsM+kR4N0QCnD4Waz60ZbJ//KJ/8HESCD8yjeiYBPUKMOjgu1sPv587QuIDLiQYQn6RT03RdVc55qst/d11lvb3hLf/tVsKikbC4Mq22nlXzjQN/JzFfPyc914fBG0TomLt7D+OkmqC01Arh/8WfjEYFbteJvvnAKPHE3jAXAbqgOLfLhnkQKCE4mpUfSfYASZi0S+cygTeDhZPiOcNO8WLrS/pQslfCuSJQzQfNP7PA== X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYAPR01MB5866.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d87d592c-f5d9-4dfb-8d95-08db0aab7642 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2023 14:39:34.2658 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LduewczdKFi86ye5hB+e4JtKJSqk0Io98jxIS7q748axhe0/Jexp681Wa2SxfepG7QqJ+ruAHycJrOXai/toeHK8VF5qDxk6y3XEQ0taI/o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB11296 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_005_TYAPR01MB58669EAAC02493BFF9F39B06F5D99TYAPR01MB5866jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 RGVhciBLYXRzdXJhZ2ktc2FuLA0KDQpUaGFuayB5b3UgZm9yIHJldmlld2luZyEgUFNBIG5ldyB2 ZXJzaW9uIHBhdGNoZXMuDQoNCj4gMDAwMToNCj4gKyAgICAgICB3aGlsZSAocmVzdWx0IDwgMCAm JiBlcnJubyA9PSBFSU5UUik7DQo+ICsNCj4gKyAgICAgICBpZiAocmVzdWx0IDwgMCkNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiANCj4gdGhpcyBgcmV0dXJuIC0xYCBp cyBub3QgaW5kZW50ZWQgcHJvcGVybHkuDQoNClRoaXMgcGFydCBpcyBubyBsb25nZXIgbmVlZGVk LiBQbGVhc2Ugc2VlIGFub3RoZXIgZGlzY3Vzc2lvblsxXS4NCg0KPiAwMDAyOg0KPiArICAgIDx0 ZXJtPjxmdW5jdGlvbj5wb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzKHNlcnZl cl9uYW1lDQo+IHRleHQpIHJldHVybnMgYm9vbGVhbjwvZnVuY3Rpb24+PC90ZXJtPg0KPiAuLi4N Cj4gKyAgICAgIGV4dGVuc2lvbiB0byB0aGUgPHN5bWJvbD5wb2xsPC9zeW1ib2w+IHN5c3RlbSBj YWxsLCBpbmNsdWRpbmcNCj4gTGludXguIFRoaXMNCj4gKyAgICAgIHJldHVybnMgPGxpdGVyYWw+ dHJ1ZTwvbGl0ZXJhbD4gaWYgY2hlY2tlZCBjb25uZWN0aW9ucyBhcmUgc3RpbGwNCj4gdmFsaWQs DQo+ICsgICAgICBvciB0aGUgY2hlY2tpbmcgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRm b3JtLg0KPiA8bGl0ZXJhbD5mYWxzZTwvbGl0ZXJhbD4NCj4gKyAgICAgIGlzIHJldHVybmVkIGlm IHRoZSBsb2NhbCBzZXNzaW9uIHNlZW1zIHRvIGJlIGRpc2Nvbm5lY3RlZCBmcm9tDQo+IG90aGVy DQo+ICsgICAgICBzZXJ2ZXJzLiBFeGFtcGxlIHVzYWdlIG9mIHRoZSBmdW5jdGlvbjoNCj4gDQo+ IEhlcmUsICdzdGlsbCB2YWxpZCcgc2VlbXMgYSBsaXR0bGUgYml0IGNvbmZ1c2luZyBiZWNhdXNl IHRoaXMgJ3ZhbGlkJyBpcw0KPiBub3QNCj4gdGhlIHNhbWUgYXMgcG9zdGdyZXNfZmR3X2dldF9j b25uZWN0aW9ucydzICd2YWxpZCcgWzFdLg0KPiANCj4gU2hvdWxkICdzdGlsbCB2YWxpZCcgYmUg J2V4aXN0aW5nIGNvbm5lY3Rpb24gaXMgbm90IGNsb3NlZCBieSB0aGUgcmVtb3RlDQo+IHBlZXIn Pw0KPiBCdXQgdGhpcyBkZXNjcmlwdGlvbiBkb2VzIG5vdCBjb3ZlciBhbGwgdGhlIGNhc2VzIHdo ZXJlIHRoaXMgZnVuY3Rpb24NCj4gcmV0dXJucyB0cnVlLi4uDQo+IEkgdGhpbmsgb25lIGNob2lj ZSBpcyB0byB3cml0ZSBhbGwgdGhlIGNhc2VzIGxpa2UgJ3JldHVybnMgdHJ1ZSBpZiBhbnkNCj4g b2YgdGhlDQo+IGZvbGxvd2luZyBjb25kaXRpb24gaXMgc2F0aXNmaWVkLiAxKSBleGlzdGluZyBj b25uZWN0aW9uIGlzIG5vdCBjbG9zZWQNCj4gYnkgdGhlDQo+IHJlbW90ZSBwZWVyIDIpIHRoZXJl IGlzIG5vIGNvbm5lY3Rpb24gZm9yIHNwZWNpZmllZCBzZXJ2ZXIgeWV0IDMpIHRoZQ0KPiBjaGVj a2luZw0KPiBpcyBub3Qgc3VwcG9ydGVkLi4uJy4gSWYgbXkgdW5kZXJzdGFuZGluZyBpcyBub3Qg Y29ycmVjdCwgcGxlYXNlIHBvaW50DQo+IGl0IG91dC4NCg0KTW9kaWZpZWQgbGlrZSB5b3UgcG9p bnRlZCBvdXQuDQoNCj4gQlRXLCBpcyBpdCByZWFzb25hYmxlIHRvIHJldHVybiB0cnVlIGlmIENv bm5lY3Rpb25IYXNoIGlzIG5vdA0KPiBpbml0aWFsaXplZCBvcg0KPiB0aGVyZSBpcyBubyBDb25u Q2FjaGVFbnRyeSBmb3Igc3BlY2lmaWVkIHJlbW90ZSBzZXJ2ZXI/IFdoYXQgZG8geW91DQo+IHRo aW5rDQo+IGFib3V0IHJldHVybmluZyBOVUxMIGluIHRoYXQgY2FzZT8NCg0KSSdtIG5vdCBzdXJl IHdoaWNoIG9uZSBpcyBiZXR0ZXIsIGJ1dCBtb2RpZmllZCBhY2NvcmRpbmdseS4NCg0KPiAwMDAz Og0KPiBJIHRoaW5rIGl0IGlzIGJldHRlciB0aGF0IHRoZSB0ZXN0IGNvdmVycyBhbGwgdGhlIG5l dyBmdW5jdGlvbnMuDQo+IEhvdyBhYm91dCBhZGRpbmcgYSB0ZXN0IGZvciBwb3N0Z3Jlc19mZHdf dmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzX2FsbD8NCj4gDQo+IA0KPiArLS0NCj4gPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID09PT09PT09PT09 PT09PT0NCj4gKy0tIHRlc3QgZm9yIHBvc3RncmVzX2Zkd192ZXJpZnlfZm9yZWlnbl9zZXJ2ZXJz IGZ1bmN0aW9uDQo+ICstLQ0KPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCj4gPT09PT09PT09PT09PT09PQ0KPiANCj4gV3JpdGluZyBhbGwgdGhl IGZ1bmN0aW9ucycgbmFtZSBsaWtlICd0ZXN0IGZvcg0KPiBwb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nv bm5lY3Rpb25fc3RhdGVzDQo+IGFuZCBwb3N0Z3Jlc19mZHdfY2FuX3ZlcmlmeV9jb25uZWN0aW9u X3N0YXRlcycgbG9va3Mgc3RyYWlnaHRmb3J3YXJkLg0KPiBXaGF0IGRvIHlvdSB0aGluayBhYm91 dCB0aGlzPw0KDQpBZGRlZC4NCg0KPiAwMDA0Og0KPiBTb3JyeSwgSSBoYXZlIG5vdCByZWFkIDAw MDQuIEkgd2lsbCByZWFkLg0KDQpObyBwcm9ibGVtOi0pLg0KDQpbMV06IGh0dHBzOi8vd3d3LnBv c3RncmVzcWwub3JnL21lc3NhZ2UtaWQvVFlBUFIwMU1CNTg2NjRFMDM5RjQ1OTU5QUIzMjFGQTFG RjVEOTklNDBUWUFQUjAxTUI1ODY2LmpwbnByZDAxLnByb2Qub3V0bG9vay5jb20NCg0KQmVzdCBS ZWdhcmRzLA0KSGF5YXRvIEt1cm9kYQ0KRlVKSVRTVSBMSU1JVEVEDQoNCg== --_005_TYAPR01MB58669EAAC02493BFF9F39B06F5D99TYAPR01MB5866jpnp_ Content-Type: application/octet-stream; name="v31-0001-Add-PQconnCheck-and-PQcanConnCheck-to-libpq.patch" Content-Description: v31-0001-Add-PQconnCheck-and-PQcanConnCheck-to-libpq.patch Content-Disposition: attachment; filename="v31-0001-Add-PQconnCheck-and-PQcanConnCheck-to-libpq.patch"; size=7257; creation-date="Thu, 09 Feb 2023 14:23:08 GMT"; modification-date="Thu, 09 Feb 2023 14:38:14 GMT" Content-Transfer-Encoding: base64 RnJvbSBmMzYzMzkzMTM4Zjc4ZDA4N2Q4ZTMxOWQwZWNjZGYwNGFkYzJiYzAwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYXlhdG8gS3Vyb2RhIDxrdXJvZGEuaGF5YXRvQGZ1aml0c3Uu Y29tPgpEYXRlOiBGcmksIDI3IEphbiAyMDIzIDAzOjE3OjE4ICswMDAwClN1YmplY3Q6IFtQQVRD SCB2MzEgMS80XSBBZGQgUFFjb25uQ2hlY2sgYW5kIFBRY2FuQ29ubkNoZWNrIHRvIGxpYnBxCgpQ UWNvbm5DaGVjaygpIGZ1bmN0aW9uIGFsbG93cyB0byBjaGVjayB0aGUgc3RhdHVzIG9mIHNvY2tl dCBieSBwb2xsaW5nCnRoZSBzb2NrZXQuIFRoaXMgZnVuY3Rpb24gaXMgY3VycmVudGx5IGF2YWls YWJsZSBvbmx5IG9uIHN5c3RlbXMgdGhhdApzdXBwb3J0IHRoZSBub24tc3RhbmRhcmQgUE9MTFJE SFVQIGV4dGVuc2lvbiB0byB0aGUgcG9sbCBzeXN0ZW0gY2FsbCwKaW5jbHVkaW5nIExpbnV4LgoK UFFjYW5Db25uQ2hlY2soKSBjaGVja3Mgd2hldGhlciBhYm92ZSBmdW5jdGlvbiBpcyBhdmFpbGFi bGUgb3Igbm90LgotLS0KIGRvYy9zcmMvc2dtbC9saWJwcS5zZ21sICAgICAgICAgIHwgNDEgKysr KysrKysrKysrKysrKysrKysrCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9leHBvcnRzLnR4dCB8ICAy ICsrCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1taXNjLmMgICB8IDYxICsrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9saWJwcS1mZS5oICB8ICA0 ICsrKwogNCBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21sIGIvZG9jL3NyYy9zZ21sL2xpYnBx LnNnbWwKaW5kZXggMGU3YWU3MGM3MC4uZjQ5YjZlNzQ1MiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL2xpYnBxLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWwKQEAgLTI2NzksNiAr MjY3OSw0NyBAQCB2b2lkICpQUWdldHNzbChjb25zdCBQR2Nvbm4gKmNvbm4pOwogICAgICA8L2xp c3RpdGVtPgogICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAgPHZhcmxpc3RlbnRyeSBpZD0ibGli cHEtUFFjb25uQ2hlY2siPgorICAgICA8dGVybT48ZnVuY3Rpb24+UFFjb25uQ2hlY2s8L2Z1bmN0 aW9uPjxpbmRleHRlcm0+PHByaW1hcnk+UFFjb25uQ2hlY2s8L3ByaW1hcnk+PC9pbmRleHRlcm0+ PC90ZXJtPgorICAgICA8bGlzdGl0ZW0+CisgICAgICA8cGFyYT4KKyAgICAgICBSZXR1cm5zIHRo ZSBoZWFsdGggb2YgdGhlIHNvY2tldC4KKworPHN5bm9wc2lzPgoraW50IFBRY29ubkNoZWNrKFBH Y29ubiAqY29ubik7Cis8L3N5bm9wc2lzPgorICAgICAgPC9wYXJhPgorCisgICAgICA8cGFyYT4K KyAgICAgICBVbmxpa2UgPHhyZWYgbGlua2VuZD0ibGlicHEtUFFzdGF0dXMiLz4sIHRoaXMgZnVu Y3Rpb24gY2hlY2tzIHNvY2tldAorICAgICAgIGhlYWx0aC4gVGhpcyBjaGVjayBpcyBwZXJmb3Jt ZWQgYnkgcG9sbGluZyB0aGUgc29ja2V0LiBUaGlzIGZ1bmN0aW9uIGlzCisgICAgICAgY3VycmVu dGx5IGF2YWlsYWJsZSBvbmx5IG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHRoZSBub24tc3RhbmRh cmQKKyAgICAgICA8c3ltYm9sPlBPTExSREhVUDwvc3ltYm9sPiBleHRlbnNpb24gdG8gdGhlIDxz eW1ib2w+cG9sbDwvc3ltYm9sPiBzeXN0ZW0KKyAgICAgICBjYWxsLCBpbmNsdWRpbmcgTGludXgu IDx4cmVmIGxpbmtlbmQ9ImxpYnBxLVBRY29ubkNoZWNrIi8+IHJldHVybnMKKyAgICAgICBncmVh dGVyIHRoYW4gemVybyBpZiB0aGUgcmVtb3RlIHBlZXIgc2VlbXMgdG8gYmUgY2xvc2VkLCByZXR1 cm5zCisgICAgICAgPGxpdGVyYWw+MDwvbGl0ZXJhbD4gaWYgdGhlIHNvY2tldCBpcyB2YWxpZCwg YW5kIHJldHVybnMKKyAgICAgICA8bGl0ZXJhbD4tMTwvbGl0ZXJhbD4gaWYgdGhlIGNvbm5lY3Rp b24gaGFzIGJlZW4gYWxyZWFkeSBpbnZhbGlkIG9yCisgICAgICAgYW4gZXJyb3IgaXMgZXJyb3Ig b2NjdXJyZWQuCisgICAgICA8L3BhcmE+CisgICAgIDwvbGlzdGl0ZW0+CisgICAgPC92YXJsaXN0 ZW50cnk+CisKKyAgICA8dmFybGlzdGVudHJ5IGlkPSJsaWJwcS1QUWNhbkNvbm5DaGVjayI+Cisg ICAgIDx0ZXJtPjxmdW5jdGlvbj5QUWNhbkNvbm5DaGVjazwvZnVuY3Rpb24+PGluZGV4dGVybT48 cHJpbWFyeT5QUWNhbkNvbm5DaGVjazwvcHJpbWFyeT48L2luZGV4dGVybT48L3Rlcm0+CisgICAg IDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIFJldHVybnMgd2hldGhlciA8eHJlZiBs aW5rZW5kPSJsaWJwcS1QUWNvbm5DaGVjayIvPiBpcyBhdmFpbGFibGUgb24KKyAgICAgICB0aGlz IHBsYXRmb3JtLiA8eHJlZiBsaW5rZW5kPSJsaWJwcS1QUWNhbkNvbm5DaGVjayIvPiByZXR1cm5z CisgICAgICAgPGxpdGVyYWw+MTwvbGl0ZXJhbD4gaWYgdGhlIGZ1bmN0aW9uIGlzIHN1cHBvcnRl ZCwgb3RoZXJ3aXNlIHJldHVybnMKKyAgICAgICA8bGl0ZXJhbD4wPC9saXRlcmFsPi4KKworPHN5 bm9wc2lzPgoraW50IFBRY2FuQ29ubkNoZWNrKHZvaWQpOworPC9zeW5vcHNpcz4KKyAgICAgIDwv cGFyYT4KKyAgICAgPC9saXN0aXRlbT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgPC92YXJp YWJsZWxpc3Q+CiAgIDwvcGFyYT4KIApkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEv ZXhwb3J0cy50eHQgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9leHBvcnRzLnR4dAppbmRleCBlOGJj Yzg4MzcwLi41YzkwOGJmZTZlIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9leHBv cnRzLnR4dAorKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9leHBvcnRzLnR4dApAQCAtMTg2LDMg KzE4Niw1IEBAIFBRcGlwZWxpbmVTdGF0dXMgICAgICAgICAgMTgzCiBQUXNldFRyYWNlRmxhZ3Mg ICAgICAgICAgIDE4NAogUFFtYmxlbkJvdW5kZWQgICAgICAgICAgICAxODUKIFBRc2VuZEZsdXNo UmVxdWVzdCAgICAgICAgMTg2CitQUWNvbm5DaGVjayAgICAgICAgICAgICAgIDE4NworUFFjYW5D b25uQ2hlY2sgICAgICAgICAgICAxODgKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBx L2ZlLW1pc2MuYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLW1pc2MuYwppbmRleCAzNjUzYTFh OGE2Li4zYmNkNzYwY2Q3IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1taXNj LmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtbWlzYy5jCkBAIC01Myw4ICs1Myw4IEBA CiAKIHN0YXRpYyBpbnQJcHFQdXRNc2dCeXRlcyhjb25zdCB2b2lkICpidWYsIHNpemVfdCBsZW4s IFBHY29ubiAqY29ubik7CiBzdGF0aWMgaW50CXBxU2VuZFNvbWUoUEdjb25uICpjb25uLCBpbnQg bGVuKTsKLXN0YXRpYyBpbnQJcHFTb2NrZXRDaGVjayhQR2Nvbm4gKmNvbm4sIGludCBmb3JSZWFk LCBpbnQgZm9yV3JpdGUsCi0JCQkJCQkgIHRpbWVfdCBlbmRfdGltZSk7CitzdGF0aWMgaW50CXBx U29ja2V0SXNSZWFkYWJsZU9yV3JpdGFibGVPclZhbGlkKFBHY29ubiAqY29ubiwgaW50IGZvclJl YWQsCisJCQkJCQkJCQkJCQlpbnQgZm9yV3JpdGUsIHRpbWVfdCBlbmRfdGltZSk7CiBzdGF0aWMg aW50CXBxU29ja2V0UG9sbChpbnQgc29jaywgaW50IGZvclJlYWQsIGludCBmb3JXcml0ZSwgdGlt ZV90IGVuZF90aW1lKTsKIAogLyoKQEAgLTk5Myw3ICs5OTMsNyBAQCBwcVdhaXRUaW1lZChpbnQg Zm9yUmVhZCwgaW50IGZvcldyaXRlLCBQR2Nvbm4gKmNvbm4sIHRpbWVfdCBmaW5pc2hfdGltZSkK IHsKIAlpbnQJCQlyZXN1bHQ7CiAKLQlyZXN1bHQgPSBwcVNvY2tldENoZWNrKGNvbm4sIGZvclJl YWQsIGZvcldyaXRlLCBmaW5pc2hfdGltZSk7CisJcmVzdWx0ID0gcHFTb2NrZXRJc1JlYWRhYmxl T3JXcml0YWJsZU9yVmFsaWQoY29ubiwgZm9yUmVhZCwgZm9yV3JpdGUsIGZpbmlzaF90aW1lKTsK IAogCWlmIChyZXN1bHQgPCAwKQogCQlyZXR1cm4gLTE7CQkJCS8qIGVycm9yTWVzc2FnZSBpcyBh bHJlYWR5IHNldCAqLwpAQCAtMTAxNCw3ICsxMDE0LDcgQEAgcHFXYWl0VGltZWQoaW50IGZvclJl YWQsIGludCBmb3JXcml0ZSwgUEdjb25uICpjb25uLCB0aW1lX3QgZmluaXNoX3RpbWUpCiBpbnQK IHBxUmVhZFJlYWR5KFBHY29ubiAqY29ubikKIHsKLQlyZXR1cm4gcHFTb2NrZXRDaGVjayhjb25u LCAxLCAwLCAodGltZV90KSAwKTsKKwlyZXR1cm4gcHFTb2NrZXRJc1JlYWRhYmxlT3JXcml0YWJs ZU9yVmFsaWQoY29ubiwgMSwgMCwgKHRpbWVfdCkgMCk7CiB9CiAKIC8qCkBAIC0xMDI0LDcgKzEw MjQsNyBAQCBwcVJlYWRSZWFkeShQR2Nvbm4gKmNvbm4pCiBpbnQKIHBxV3JpdGVSZWFkeShQR2Nv bm4gKmNvbm4pCiB7Ci0JcmV0dXJuIHBxU29ja2V0Q2hlY2soY29ubiwgMCwgMSwgKHRpbWVfdCkg MCk7CisJcmV0dXJuIHBxU29ja2V0SXNSZWFkYWJsZU9yV3JpdGFibGVPclZhbGlkKGNvbm4sIDAs IDEsICh0aW1lX3QpIDApOwogfQogCiAvKgpAQCAtMTAzNCw5ICsxMDM0LDEzIEBAIHBxV3JpdGVS ZWFkeShQR2Nvbm4gKmNvbm4pCiAgKgogICogSWYgU1NMIGlzIGluIHVzZSwgdGhlIFNTTCBidWZm ZXIgaXMgY2hlY2tlZCBwcmlvciB0byBjaGVja2luZyB0aGUgc29ja2V0CiAgKiBmb3IgcmVhZCBk YXRhIGRpcmVjdGx5LgorICoKKyAqIE1vcmVvdmVyLCB3aGVuIG5laXRoZXIgZm9yUmVhZCBub3Ig Zm9yV3JpdGUgaXMgcmVxdWVzdGVkIGFuZCB0aW1lb3V0IGlzCisgKiBkaXNhYmxlZCwgdHJ5IHRv IGNoZWNrIHRoZSBoZWFsdGggb2Ygc29ja2V0LgogICovCiBzdGF0aWMgaW50Ci1wcVNvY2tldENo ZWNrKFBHY29ubiAqY29ubiwgaW50IGZvclJlYWQsIGludCBmb3JXcml0ZSwgdGltZV90IGVuZF90 aW1lKQorcHFTb2NrZXRJc1JlYWRhYmxlT3JXcml0YWJsZU9yVmFsaWQoUEdjb25uICpjb25uLCBp bnQgZm9yUmVhZCwgaW50IGZvcldyaXRlLAorCQkJCQkJCQkJdGltZV90IGVuZF90aW1lKQogewog CWludAkJCXJlc3VsdDsKIApAQCAtMTA4MiwyMCArMTA4NiwzMyBAQCBwcVNvY2tldENoZWNrKFBH Y29ubiAqY29ubiwgaW50IGZvclJlYWQsIGludCBmb3JXcml0ZSwgdGltZV90IGVuZF90aW1lKQog ICoKICAqIFRpbWVvdXQgaXMgaW5maW5pdGUgaWYgZW5kX3RpbWUgaXMgLTEuICBUaW1lb3V0IGlz IGltbWVkaWF0ZSAobm8gYmxvY2tpbmcpCiAgKiBpZiBlbmRfdGltZSBpcyAwIChvciBpbmRlZWQs IGFueSB0aW1lIGJlZm9yZSBub3cpLgorICoKKyAqIE1vcmVvdmVyLCB3aGVuIG5laXRoZXIgZm9y UmVhZCBub3IgZm9yV3JpdGUgaXMgcmVxdWVzdGVkIGFuZCB0aW1lb3V0IGlzCisgKiBkaXNhYmxl ZCwgdHJ5IHRvIGNoZWNrIHRoZSBoZWFsdGggb2Ygc29ja2V0LgogICovCiBzdGF0aWMgaW50CiBw cVNvY2tldFBvbGwoaW50IHNvY2ssIGludCBmb3JSZWFkLCBpbnQgZm9yV3JpdGUsIHRpbWVfdCBl bmRfdGltZSkKIHsKIAkvKiBXZSB1c2UgcG9sbCgyKSBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBz ZWxlY3QoMikgKi8KICNpZmRlZiBIQVZFX1BPTEwKLQlzdHJ1Y3QgcG9sbGZkIGlucHV0X2ZkOwor CXN0cnVjdCBwb2xsZmQgaW5wdXRfZmQgPSB7MH07CiAJaW50CQkJdGltZW91dF9tczsKIAogCWlm ICghZm9yUmVhZCAmJiAhZm9yV3JpdGUpCi0JCXJldHVybiAwOworCXsKKwkJLyogVHJ5IHRvIGNo ZWNrIHRoZSBoZWFsdGggaWYgcmVxdWVzdGVkICovCisJCWlmIChlbmRfdGltZSA9PSAwKQorI2lm IGRlZmluZWQoUE9MTFJESFVQKQorCQkJaW5wdXRfZmQuZXZlbnRzID0gUE9MTFJESFVQIHwgUE9M TEhVUCB8IFBPTExOVkFMOworI2Vsc2UKKwkJCXJldHVybiAwOworI2VuZGlmIC8qIGRlZmluZWQo UE9MTFJESFVQKSAqLworCQllbHNlCisJCQlyZXR1cm4gMDsKKwl9CiAKIAlpbnB1dF9mZC5mZCA9 IHNvY2s7Ci0JaW5wdXRfZmQuZXZlbnRzID0gUE9MTEVSUjsKKwlpbnB1dF9mZC5ldmVudHMgfD0g UE9MTEVSUjsKIAlpbnB1dF9mZC5yZXZlbnRzID0gMDsKIAogCWlmIChmb3JSZWFkKQpAQCAtMTIx OCw2ICsxMjM1LDMyIEBAIFBRZW52MmVuY29kaW5nKHZvaWQpCiAJcmV0dXJuIGVuY29kaW5nOwog fQogCisvKgorICogQ2hlY2sgd2hldGhlciB0aGUgc29ja2V0IHBlZXIgY2xvc2VkIGNvbm5lY3Rp b24gb3Igbm90LgorICoKKyAqIFJldHVybnMgPjAgaWYgcmVtb3RlIHBlZXIgc2VlbXMgdG8gYmUg Y2xvc2VkLCAwIGlmIGl0IGlzIHZhbGlkLAorICogLTEgaWYgdGhlIGlucHV0IGNvbm5lY3Rpb24g aXMgYmFkIG9yIGFuIGVycm9yIG9jY3VycmVkLgorICovCitpbnQKK1BRY29ubkNoZWNrKFBHY29u biAqY29ubikKK3sKKwlyZXR1cm4gcHFTb2NrZXRJc1JlYWRhYmxlT3JXcml0YWJsZU9yVmFsaWQo Y29ubiwgMCwgMCwgKHRpbWVfdCkgMCk7Cit9CisKKy8qCisgKiBDaGVjayB3aGV0aGVyIFBRY29u bkNoZWNrKCkgY2FuIHdvcmsgd2VsbCBvbiB0aGlzIHBsYXRmb3JtLgorICoKKyAqIFJldHVybnMg MSBpZiB0aGlzIGNhbiB1c2UgUFFjb25uQ2hlY2soKSwgb3RoZXJ3aXNlIDAuCisgKi8KK2ludAor UFFjYW5Db25uQ2hlY2sodm9pZCkKK3sKKyNpZiAoZGVmaW5lZChIQVZFX1BPTEwpICYmIGRlZmlu ZWQoUE9MTFJESFVQKSkKKwlyZXR1cm4gdHJ1ZTsKKyNlbHNlCisJcmV0dXJuIGZhbHNlOworI2Vu ZGlmCit9CiAKICNpZmRlZiBFTkFCTEVfTkxTCiAKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2Vz L2xpYnBxL2xpYnBxLWZlLmggYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9saWJwcS1mZS5oCmluZGV4 IGYzZDkyMjA0OTYuLjA0YTAzOTVlZmIgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBx L2xpYnBxLWZlLmgKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtZmUuaApAQCAtNjQ4 LDYgKzY0OCwxMCBAQCBleHRlcm4gaW50CVBRZHNwbGVuKGNvbnN0IGNoYXIgKnMsIGludCBlbmNv ZGluZyk7CiAvKiBHZXQgZW5jb2RpbmcgaWQgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZSBQR0NM SUVOVEVOQ09ESU5HICovCiBleHRlcm4gaW50CVBRZW52MmVuY29kaW5nKHZvaWQpOwogCisvKiBD aGVjayB3aGV0aGVyIHRoZSBwb3N0Z3JlcyBzZXJ2ZXIgaXMgc3RpbGwgYWxpdmUgb3Igbm90ICov CitleHRlcm4gaW50IFBRY29ubkNoZWNrKFBHY29ubiAqY29ubik7CitleHRlcm4gaW50IFBRY2Fu Q29ubkNoZWNrKHZvaWQpOworCiAvKiA9PT0gaW4gZmUtYXV0aC5jID09PSAqLwogCiBleHRlcm4g Y2hhciAqUFFlbmNyeXB0UGFzc3dvcmQoY29uc3QgY2hhciAqcGFzc3dkLCBjb25zdCBjaGFyICp1 c2VyKTsKLS0gCjIuMjcuMAoK --_005_TYAPR01MB58669EAAC02493BFF9F39B06F5D99TYAPR01MB5866jpnp_ Content-Type: application/octet-stream; name="v31-0002-postgres_fdw-add-postgres_fdw_verify_connection_.patch" Content-Description: v31-0002-postgres_fdw-add-postgres_fdw_verify_connection_.patch Content-Disposition: attachment; filename="v31-0002-postgres_fdw-add-postgres_fdw_verify_connection_.patch"; size=12012; creation-date="Thu, 09 Feb 2023 14:23:08 GMT"; modification-date="Thu, 09 Feb 2023 14:38:14 GMT" Content-Transfer-Encoding: base64 RnJvbSBhZmM4MzEwNWI2ZDczNGU5M2Q1NDUwNGRmOWJlNzczNDM4NmE1N2IxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYXlhdG8gS3Vyb2RhIDxrdXJvZGEuaGF5YXRvQGZ1aml0c3Uu Y29tPgpEYXRlOiBGcmksIDI3IEphbiAyMDIzIDAzOjE3OjMwICswMDAwClN1YmplY3Q6IFtQQVRD SCB2MzEgMi80XSBwb3N0Z3Jlc19mZHc6IGFkZAogcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0 aW9uX3N0YXRlcwoKVGhpcyBmdW5jdGlvbiBjYW4gdmVyaWZ5IHRoZSBzdGF0dXMgb2YgY29ubmVj dGlvbnMgdGhhdCBhcmUgZXN0YWJsaWVzaGVkIGJ5CnBvc3RncmVzX2Zkdy4gVGhpcyBjaGVjayB3 aWwgYmUgZG9uZSBieSBQUWNvbm5DaGVjaygpLCB3aGljaCBtZWFucyB0aGlzIGlzCmF2YWlsYWJs ZSBvbmx5IG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHRoZSBub24tc3RhbmRhcmQgUE9MTFJESFVQ IGV4dGVuc2lvbgp0byB0aGUgcG9sbCBzeXN0ZW0gY2FsbCwgaW5jbHVkaW5nIExpbnV4LgoKVGhp cyByZXR1cm5zIHRydWUgaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGlzIHNhdGlz ZmllZDogMSkgZXhpc3RpbmcKY29ubmVjdGlvbiBpcyBub3QgY2xvc2VkIGJ5IHRoZSByZW1vdGUg cGVlciwgMikgdGhlcmUgaXMgbm8gY29ubmVjdGlvbiBmb3Igc3BlY2lmaWVkCnNlcnZlciB5ZXQs IGFuZCAzKSB0aGUgY2hlY2tpbmcgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLgot LS0KIGNvbnRyaWIvcG9zdGdyZXNfZmR3L01ha2VmaWxlICAgICAgICAgICAgICAgICB8ICAgMiAr LQogY29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlvbi5jICAgICAgICAgICAgIHwgMTMxICsr KysrKysrKysrKysrKysrKwogY29udHJpYi9wb3N0Z3Jlc19mZHcvbWVzb24uYnVpbGQgICAgICAg ICAgICAgIHwgICAxICsKIC4uLi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNfZmR3LS0xLjEtLTEuMi5z cWwgICB8ICAxOSArKysKIGNvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5jb250cm9s ICAgICB8ICAgMiArLQogZG9jL3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5zZ21sICAgICAgICAgICAg ICAgIHwgIDc0ICsrKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgMjI3IGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgY29udHJpYi9wb3N0Z3Jlc19mZHcv cG9zdGdyZXNfZmR3LS0xLjEtLTEuMi5zcWwKCmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVz X2Zkdy9NYWtlZmlsZSBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L01ha2VmaWxlCmluZGV4IGMxYjBj YWQ0NTMuLjZkMjM3NjgzODkgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L01ha2Vm aWxlCisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L01ha2VmaWxlCkBAIC0xNCw3ICsxNCw3IEBA IFBHX0NQUEZMQUdTID0gLUkkKGxpYnBxX3NyY2RpcikKIFNITElCX0xJTktfSU5URVJOQUwgPSAk KGxpYnBxKQogCiBFWFRFTlNJT04gPSBwb3N0Z3Jlc19mZHcKLURBVEEgPSBwb3N0Z3Jlc19mZHct LTEuMC5zcWwgcG9zdGdyZXNfZmR3LS0xLjAtLTEuMS5zcWwKK0RBVEEgPSBwb3N0Z3Jlc19mZHct LTEuMC5zcWwgcG9zdGdyZXNfZmR3LS0xLjAtLTEuMS5zcWwgcG9zdGdyZXNfZmR3LS0xLjEtLTEu Mi5zcWwKIAogUkVHUkVTUyA9IHBvc3RncmVzX2ZkdwogCmRpZmYgLS1naXQgYS9jb250cmliL3Bv c3RncmVzX2Zkdy9jb25uZWN0aW9uLmMgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9jb25uZWN0aW9u LmMKaW5kZXggNzc2MDM4MGYwMC4uNjAyZDgxMGMwOCAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0 Z3Jlc19mZHcvY29ubmVjdGlvbi5jCisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2Nvbm5lY3Rp b24uYwpAQCAtODcsNiArODcsOSBAQCBzdGF0aWMgYm9vbCB4YWN0X2dvdF9jb25uZWN0aW9uID0g ZmFsc2U7CiBQR19GVU5DVElPTl9JTkZPX1YxKHBvc3RncmVzX2Zkd19nZXRfY29ubmVjdGlvbnMp OwogUEdfRlVOQ1RJT05fSU5GT19WMShwb3N0Z3Jlc19mZHdfZGlzY29ubmVjdCk7CiBQR19GVU5D VElPTl9JTkZPX1YxKHBvc3RncmVzX2Zkd19kaXNjb25uZWN0X2FsbCk7CitQR19GVU5DVElPTl9J TkZPX1YxKHBvc3RncmVzX2Zkd192ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXMpOworUEdfRlVOQ1RJ T05fSU5GT19WMShwb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzX2FsbCk7CitQ R19GVU5DVElPTl9JTkZPX1YxKHBvc3RncmVzX2Zkd19jYW5fdmVyaWZ5X2Nvbm5lY3Rpb25fc3Rh dGVzKTsKIAogLyogcHJvdG90eXBlcyBvZiBwcml2YXRlIGZ1bmN0aW9ucyAqLwogc3RhdGljIHZv aWQgbWFrZV9uZXdfY29ubmVjdGlvbihDb25uQ2FjaGVFbnRyeSAqZW50cnksIFVzZXJNYXBwaW5n ICp1c2VyKTsKQEAgLTExNyw2ICsxMjAsNyBAQCBzdGF0aWMgdm9pZCBwZ2Zkd19maW5pc2hfcHJl X3N1YmNvbW1pdF9jbGVhbnVwKExpc3QgKnBlbmRpbmdfZW50cmllcywKIAkJCQkJCQkJCQkJICAg aW50IGN1cmxldmVsKTsKIHN0YXRpYyBib29sIFVzZXJNYXBwaW5nUGFzc3dvcmRSZXF1aXJlZChV c2VyTWFwcGluZyAqdXNlcik7CiBzdGF0aWMgYm9vbCBkaXNjb25uZWN0X2NhY2hlZF9jb25uZWN0 aW9ucyhPaWQgc2VydmVyaWQpOworc3RhdGljIGJvb2wgdmVyaWZ5X2NhY2hlZF9jb25uZWN0aW9u cyhPaWQgc2VydmVyaWQpOwogCiAvKgogICogR2V0IGEgUEdjb25uIHdoaWNoIGNhbiBiZSB1c2Vk IHRvIGV4ZWN1dGUgcXVlcmllcyBvbiB0aGUgcmVtb3RlIFBvc3RncmVTUUwKQEAgLTE4MzIsMyAr MTgzNiwxMzAgQEAgZGlzY29ubmVjdF9jYWNoZWRfY29ubmVjdGlvbnMoT2lkIHNlcnZlcmlkKQog CiAJcmV0dXJuIHJlc3VsdDsKIH0KKworLyoKKyAqIFdvcmtob3JzZSB0byB2ZXJpZnkgY2FjaGVk IGNvbm5lY3Rpb25zLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2NhbnMgYWxsIHRoZSBjb25uZWN0 aW9uIGNhY2hlIGVudHJpZXMgYW5kIHZlcmlmaWVzIHRoZQorICogY29ubmVjdGlvbnMgd2hvc2Ug Zm9yZWlnbiBzZXJ2ZXIgT0lEIG1hdGNoZXMgd2l0aCB0aGUgc3BlY2lmaWVkIG9uZS4gSWYKKyAq IEludmFsaWRPaWQgaXMgc3BlY2lmaWVkLCBpdCB2ZXJpZmllcyBhbGwgdGhlIGNhY2hlZCBjb25u ZWN0aW9ucy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGVtaXRzIHdhcm5pbmdzIGlmIGEgZGlzY29u bmVjdGlvbiBpcyBmb3VuZCwgYW5kIHRoaXMgcmV0dXJucworICogZmFsc2Ugb25seSB3aGVuIHRo ZSBsYXN0bHkgdmVyaWZpZWQgc2VydmVyIHNlZW1zIHRvIGJlIGRpc2Nvbm5lY3RlZC4KKyAqCisg KiBOb3RlIHRoYXQgdGhlIHZlcmlmaWNhdGlvbiBjYW4gYmUgdXNlZCBvbiBzb21lIGxpbWl0ZWQg cGxhdGZvcm1zLiBJZiB0aGlzCisgKiBzZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBpdCwgdGhpcyBm dW5jdGlvbiBhbHdheXNlIHJldHVybnMgdHJ1ZS4KKyAqLworc3RhdGljIGJvb2wKK3ZlcmlmeV9j YWNoZWRfY29ubmVjdGlvbnMoT2lkIHNlcnZlcmlkKQoreworCUhBU0hfU0VRX1NUQVRVUyBzY2Fu OworCUNvbm5DYWNoZUVudHJ5ICplbnRyeTsKKwlib29sCQlhbGwgPSAhT2lkSXNWYWxpZChzZXJ2 ZXJpZCk7CisJYm9vbAkJcmVzdWx0ID0gdHJ1ZTsKKwlTdHJpbmdJbmZvRGF0YSBzdHI7CisKKwlB c3NlcnQoQ29ubmVjdGlvbkhhc2gpOworCisJaGFzaF9zZXFfaW5pdCgmc2NhbiwgQ29ubmVjdGlv bkhhc2gpOworCXdoaWxlICgoZW50cnkgPSAoQ29ubkNhY2hlRW50cnkgKikgaGFzaF9zZXFfc2Vh cmNoKCZzY2FuKSkpCisJeworCQkvKiBJZ25vcmUgY2FjaGUgZW50cnkgaWYgbm8gb3BlbiBjb25u ZWN0aW9uIHJpZ2h0IG5vdy4gKi8KKwkJaWYgKCFlbnRyeS0+Y29ubikKKwkJCWNvbnRpbnVlOwor CisJCS8qIFNraXAgaWYgdGhlIGVudHJ5IGlzIGludmFsaWRhdGVkLiAqLworCQlpZiAoZW50cnkt PmludmFsaWRhdGVkKQorCQkJY29udGludWU7CisKKwkJaWYgKGFsbCB8fCBlbnRyeS0+c2VydmVy aWQgPT0gc2VydmVyaWQpCisJCXsKKwkJCWlmIChQUWNvbm5DaGVjayhlbnRyeS0+Y29ubikpCisJ CQl7CisJCQkJLyogQSBmb3JlaWduIHNlcnZlciBtaWdodCBiZSBkb3duLCBzbyBjb25zdHJ1Y3Qg YSBtZXNzYWdlLiAqLworCQkJCUZvcmVpZ25TZXJ2ZXIgKnNlcnZlciA9IEdldEZvcmVpZ25TZXJ2 ZXIoZW50cnktPnNlcnZlcmlkKTsKKworCQkJCWlmIChyZXN1bHQpCisJCQkJeworCQkJCQkvKgor CQkJCQkgKiBJbml0aWFsaXplIGFuZCBhZGQgYSBwcmVmaXggaWYgdGhpcyBpcyB0aGUgZmlyc3QK KwkJCQkJICogZGlzY29ubmVjdGlvbiB3ZSBmb3VuZC4KKwkJCQkJICovCisJCQkJCWluaXRTdHJp bmdJbmZvKCZzdHIpOworCQkJCQlhcHBlbmRTdHJpbmdJbmZvKCZzdHIsICJjb3VsZCBub3QgY29u bmVjdCB0byBzZXJ2ZXIgIik7CisKKwkJCQkJcmVzdWx0ID0gZmFsc2U7CisJCQkJfQorCQkJCWVs c2UKKwkJCQkJYXBwZW5kU3RyaW5nSW5mbygmc3RyLCAiLCAiKTsKKworCQkJCWFwcGVuZFN0cmlu Z0luZm8oJnN0ciwgIlwiJXNcIiIsIHNlcnZlci0+c2VydmVybmFtZSk7CisJCQl9CisJCX0KKwl9 CisKKwkvKiBSYWlzZSBhIHdhcm5pbmcgaWYgZGlzY29ubmVjdGlvbnMgYXJlIGZvdW5kLiAqLwor CWlmICghcmVzdWx0KQorCXsKKwkJQXNzZXJ0KHN0ci5sZW4pOworCQllcmVwb3J0KFdBUk5JTkcs CisJCQkJKGVycmNvZGUoRVJSQ09ERV9DT05ORUNUSU9OX0ZBSUxVUkUpLAorCQkJCSBlcnJtc2co IiVzIiwgc3RyLmRhdGEpLAorCQkJCSBlcnJkZXRhaWwoIlNvY2tldCBjbG9zZSBpcyBkZXRlY3Rl ZC4iKSwKKwkJCQkgZXJyaGludCgiUGxzZWFzZSBjaGVjayB0aGUgaGVhbHRoIG9mIHNlcnZlci4i KSkpOworCQlwZnJlZShzdHIuZGF0YSk7CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30KKworLyoK KyAqIFZlcmlmeSB0aGUgc3BlY2lmaWVkIGNhY2hlZCBjb25uZWN0aW9ucy4KKyAqCisgKiBUaGlz IGZ1bmN0aW9uIHZlcmlmaWVzIHRoZSBjb25uZWN0aW9ucyB0aGF0IGFyZSBlc3RhYmxpc2hlZCBi eSBwb3N0Z3Jlc19mZHcKKyAqIGZyb20gdGhlIGxvY2FsIHNlc3Npb24gdG8gdGhlIGZvcmVpZ24g c2VydmVyIHdpdGggdGhlIGdpdmVuIG5hbWUuCisgKgorICogVGhpcyBmdW5jdGlvbiBlbWl0cyBh IHdhcm5pbmcgaWYgYSBkaXNjb25uZWN0aW9uIGlzIGZvdW5kLiBUaGlzIHJldHVybnMKKyAqIGZh bHNlIG9ubHkgd2hlbiB0aGUgdmVyaWZpZWQgc2VydmVyIHNlZW1zIHRvIGJlIGRpc2Nvbm5lY3Rl ZCwgYW5kIHJldXRybnMKKyAqIE5VTEwgaWYgdGhlIGNvbm5lY3Rpb24gY2FjaGUgaGFzIG5vdCBi ZWVuIGluaXRpYWxpemVkIHlldC4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIHZlcmlmaWNhdGlvbiBj YW4gYmUgdXNlZCBvbiBzb21lIGxpbWl0ZWQgcGxhdGZvcm1zLiBJZiB0aGlzCisgKiBzZXJ2ZXIg ZG9lcyBub3Qgc3VwcG9ydCBpdCwgdGhpcyBmdW5jdGlvbiBhbHdheXNlIHJldHVybnMgdHJ1ZS4K KyAqLworRGF0dW0KK3Bvc3RncmVzX2Zkd192ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXMoUEdfRlVO Q1RJT05fQVJHUykKK3sKKwlGb3JlaWduU2VydmVyICpzZXJ2ZXI7CisJY2hhcgkgICAqc2VydmVy bmFtZTsKKworCS8qIHF1aWNrIGV4aXQgaWYgY29ubmVjdGlvbiBjYWNoZSBoYXMgbm90IGJlZW4g aW5pdGlhbGl6ZWQgeWV0LiAqLworCWlmICghQ29ubmVjdGlvbkhhc2gpCisJCVBHX1JFVFVSTl9O VUxMKCk7CisKKwlzZXJ2ZXJuYW1lID0gdGV4dF90b19jc3RyaW5nKFBHX0dFVEFSR19URVhUX1BQ KDApKTsKKwlzZXJ2ZXIgPSBHZXRGb3JlaWduU2VydmVyQnlOYW1lKHNlcnZlcm5hbWUsIGZhbHNl KTsKKworCVBHX1JFVFVSTl9CT09MKHZlcmlmeV9jYWNoZWRfY29ubmVjdGlvbnMoc2VydmVyLT5z ZXJ2ZXJpZCkpOworfQorCisvKgorICogVmVyaWZ5IGFsbCB0aGUgY2FjaGVkIGNvbm5lY3Rpb25z LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gdmVyaWZpZXMgYWxsIHRoZSBjb25uZWN0aW9ucyB0aGF0 IGFyZSBlc3RhYmxpc2hlZCBieSBwb3N0Z3Jlc19mZHcKKyAqIGZyb20gdGhlIGxvY2FsIHNlc3Np b24gdG8gdGhlIGZvcmVpZ24gc2VydmVycy4KKyAqLworRGF0dW0KK3Bvc3RncmVzX2Zkd192ZXJp ZnlfY29ubmVjdGlvbl9zdGF0ZXNfYWxsKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJLyogcXVpY2sg ZXhpdCBpZiBjb25uZWN0aW9uIGNhY2hlIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCB5ZXQuICov CisJaWYgKCFDb25uZWN0aW9uSGFzaCkKKwkJUEdfUkVUVVJOX05VTEwoKTsKKworCVBHX1JFVFVS Tl9CT09MKHZlcmlmeV9jYWNoZWRfY29ubmVjdGlvbnMoSW52YWxpZE9pZCkpOworfQorCitEYXR1 bQorcG9zdGdyZXNfZmR3X2Nhbl92ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXMoUEdfRlVOQ1RJT05f QVJHUykKK3sKKwlQR19SRVRVUk5fQk9PTChQUWNhbkNvbm5DaGVjaygpKTsKK30KZGlmZiAtLWdp dCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L21lc29uLmJ1aWxkIGIvY29udHJpYi9wb3N0Z3Jlc19m ZHcvbWVzb24uYnVpbGQKaW5kZXggMmI0NTFmMTY1ZS4uMjkxMThkNDdiYiAxMDA2NDQKLS0tIGEv Y29udHJpYi9wb3N0Z3Jlc19mZHcvbWVzb24uYnVpbGQKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19m ZHcvbWVzb24uYnVpbGQKQEAgLTI2LDYgKzI2LDcgQEAgaW5zdGFsbF9kYXRhKAogICAncG9zdGdy ZXNfZmR3LmNvbnRyb2wnLAogICAncG9zdGdyZXNfZmR3LS0xLjAuc3FsJywKICAgJ3Bvc3RncmVz X2Zkdy0tMS4wLS0xLjEuc3FsJywKKyAgJ3Bvc3RncmVzX2Zkdy0tMS4xLS0xLjIuc3FsJywKICAg a3dhcmdzOiBjb250cmliX2RhdGFfYXJncywKICkKIApkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0 Z3Jlc19mZHcvcG9zdGdyZXNfZmR3LS0xLjEtLTEuMi5zcWwgYi9jb250cmliL3Bvc3RncmVzX2Zk dy9wb3N0Z3Jlc19mZHctLTEuMS0tMS4yLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwLi5hODU1NmI0YzlmCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9wb3N0Z3Jl c19mZHcvcG9zdGdyZXNfZmR3LS0xLjEtLTEuMi5zcWwKQEAgLTAsMCArMSwxOSBAQAorLyogY29u dHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNfZmR3LS0xLjEtLTEuMi5zcWwgKi8KKworLS0gY29t cGxhaW4gaWYgc2NyaXB0IGlzIHNvdXJjZWQgaW4gcHNxbCwgcmF0aGVyIHRoYW4gdmlhIEFMVEVS IEVYVEVOU0lPTgorXGVjaG8gVXNlICJBTFRFUiBFWFRFTlNJT04gcG9zdGdyZXNfZmR3IFVQREFU RSBUTyAnMS4yJyIgdG8gbG9hZCB0aGlzIGZpbGUuIFxxdWl0CisKK0NSRUFURSBGVU5DVElPTiBw b3N0Z3Jlc19mZHdfdmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzICh0ZXh0KQorUkVUVVJOUyBib29s CitBUyAnTU9EVUxFX1BBVEhOQU1FJworTEFOR1VBR0UgQyBTVFJJQ1QgUEFSQUxMRUwgUkVTVFJJ Q1RFRDsKKworQ1JFQVRFIEZVTkNUSU9OIHBvc3RncmVzX2Zkd192ZXJpZnlfY29ubmVjdGlvbl9z dGF0ZXNfYWxsICgpCitSRVRVUk5TIGJvb2wKK0FTICdNT0RVTEVfUEFUSE5BTUUnCitMQU5HVUFH RSBDIFNUUklDVCBQQVJBTExFTCBSRVNUUklDVEVEOworCitDUkVBVEUgRlVOQ1RJT04gcG9zdGdy ZXNfZmR3X2Nhbl92ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXMgKCkKK1JFVFVSTlMgYm9vbAorQVMg J01PRFVMRV9QQVRITkFNRScKK0xBTkdVQUdFIEMgU1RSSUNUIFBBUkFMTEVMIFNBRkU7CmRpZmYg LS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHcuY29udHJvbCBiL2NvbnRy aWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5jb250cm9sCmluZGV4IGQ0ODkzODIwNjQuLmE0 YjgwMGJlNGYgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5j b250cm9sCisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5jb250cm9sCkBA IC0xLDUgKzEsNSBAQAogIyBwb3N0Z3Jlc19mZHcgZXh0ZW5zaW9uCiBjb21tZW50ID0gJ2ZvcmVp Z24tZGF0YSB3cmFwcGVyIGZvciByZW1vdGUgUG9zdGdyZVNRTCBzZXJ2ZXJzJwotZGVmYXVsdF92 ZXJzaW9uID0gJzEuMScKK2RlZmF1bHRfdmVyc2lvbiA9ICcxLjInCiBtb2R1bGVfcGF0aG5hbWUg PSAnJGxpYmRpci9wb3N0Z3Jlc19mZHcnCiByZWxvY2F0YWJsZSA9IHRydWUKZGlmZiAtLWdpdCBh L2RvYy9zcmMvc2dtbC9wb3N0Z3Jlcy1mZHcuc2dtbCBiL2RvYy9zcmMvc2dtbC9wb3N0Z3Jlcy1m ZHcuc2dtbAppbmRleCA2NDRmNTE4MzViLi5lMWFiZGIzOGNiIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvcG9zdGdyZXMtZmR3LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5z Z21sCkBAIC04MjYsNiArODI2LDgwIEBAIHBvc3RncmVzPSMgU0VMRUNUIHBvc3RncmVzX2Zkd19k aXNjb25uZWN0X2FsbCgpOwogICAgICA8L3BhcmE+CiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFy bGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxmdW5jdGlvbj5wb3N0 Z3Jlc19mZHdfdmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzKHNlcnZlcl9uYW1lIHRleHQpIHJldHVy bnMgYm9vbGVhbjwvZnVuY3Rpb24+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+ CisgICAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB0aGUgc3RhdHVzIG9mIHJlbW90ZSBjb25uZWN0 aW9ucyBlc3RhYmxpc2hlZCBieQorICAgICAgPGZpbGVuYW1lPnBvc3RncmVzX2ZkdzwvZmlsZW5h bWU+IGZyb20gdGhlIGxvY2FsIHNlc3Npb24gdG8gdGhlIGZvcmVpZ24KKyAgICAgIHNlcnZlciB3 aXRoIHRoZSBnaXZlbiBuYW1lLiBUaGlzIGNoZWNrIGlzIHBlcmZvcm1lZCBieSBwb2xsaW5nIHRo ZSBzb2NrZXQKKyAgICAgIGFuZCBhbGxvd3MgbG9uZy1ydW5uaW5nIHRyYW5zYWN0aW9ucyB0byBi ZSBhYm9ydGVkIHNvb25lciBpZiB0aGUga2VybmVsCisgICAgICByZXBvcnRzIHRoYXQgdGhlIGNv bm5lY3Rpb24gaXMgY2xvc2VkLiBUaGlzIGZ1bmN0aW9uIGlzIGN1cnJlbnRseQorICAgICAgYXZh aWxhYmxlIG9ubHkgb24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgdGhlIG5vbi1zdGFuZGFyZCA8c3lt Ym9sPlBPTExSREhVUDwvc3ltYm9sPgorICAgICAgZXh0ZW5zaW9uIHRvIHRoZSA8c3ltYm9sPnBv bGw8L3N5bWJvbD4gc3lzdGVtIGNhbGwsIGluY2x1ZGluZyBMaW51eC4gVGhpcworICAgICAgcmV0 dXJucyA8bGl0ZXJhbD50cnVlPC9saXRlcmFsPiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25k aXRpb24gaXMKKyAgICAgIHNhdGlzZmllZDogMSkgZXhpc3RpbmcgY29ubmVjdGlvbiBpcyBub3Qg Y2xvc2VkIGJ5IHRoZSByZW1vdGUgcGVlciwgMikKKyAgICAgIHRoZXJlIGlzIG5vIGNvbm5lY3Rp b24gZm9yIHNwZWNpZmllZCBzZXJ2ZXIgeWV0LCBhbmQgMykgdGhlIGNoZWNraW5nIGlzCisgICAg ICBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uIDxsaXRlcmFsPmZhbHNlPC9saXRlcmFs PgorICAgICAgaXMgcmV0dXJuZWQgaWYgdGhlIGxvY2FsIHNlc3Npb24gc2VlbXMgdG8gYmUgZGlz Y29ubmVjdGVkIGZyb20gb3RoZXIKKyAgICAgIHNlcnZlcnMuIDxsaXRlcmFsPk5VTEw8L2xpdGVy YWw+IGlzIHJldHVybmVkIGlmIHRoZSBsb2NhbCBzZXNzaW9uIGRvZXMKKyAgICAgIG5vdCBoYXZl IGEgY29ubmVjdGlvbiBjYWNoZS4gRXhhbXBsZSB1c2FnZSBvZiB0aGUgZnVuY3Rpb246Cis8c2Ny ZWVuPgorcG9zdGdyZXM9IyBTRUxFQ1QgcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0 YXRlcygnbG9vcGJhY2sxJyk7CisgcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRl cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdAorPC9zY3JlZW4+ CisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisgICA8 dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxmdW5jdGlvbj5wb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nv bm5lY3Rpb25fc3RhdGVzX2FsbCgpIHJldHVybnMgYm9vbGVhbjwvZnVuY3Rpb24+PC90ZXJtPgor ICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB0 aGUgc3RhdHVzIG9mIGFsbCB0aGUgcmVtb3RlIGNvbm5lY3Rpb25zIGVzdGFibGlzaGVkCisgICAg ICBieSA8ZmlsZW5hbWU+cG9zdGdyZXNfZmR3PC9maWxlbmFtZT4gZnJvbSB0aGUgbG9jYWwgc2Vz c2lvbiB0byB0aGUKKyAgICAgIGZvcmVpZ24gc2VydmVycy4gVGhpcyBjaGVjayBpcyBwZXJmb3Jt ZWQgYnkgcG9sbGluZyB0aGUgc29ja2V0IGFuZCBhbGxvd3MKKyAgICAgIGxvbmctcnVubmluZyB0 cmFuc2FjdGlvbnMgdG8gYmUgYWJvcnRlZCBzb29uZXIgaWYgdGhlIGtlcm5lbCByZXBvcnRzCisg ICAgICB0aGF0IHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZC4gVGhpcyBmdW5jdGlvbiBpcyBjdXJy ZW50bHkgYXZhaWxhYmxlIG9ubHkKKyAgICAgIG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHRoZSBu b24tc3RhbmRhcmQgPHN5bWJvbD5QT0xMUkRIVVA8L3N5bWJvbD4KKyAgICAgIGV4dGVuc2lvbiB0 byB0aGUgPHN5bWJvbD5wb2xsPC9zeW1ib2w+IHN5c3RlbSBjYWxsLCBpbmNsdWRpbmcgTGludXgu IFRoaXMKKyAgICAgIHJldHVybnMgPGxpdGVyYWw+dHJ1ZTwvbGl0ZXJhbD4gaWYgYW55IG9mIHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9uIGlzCisgICAgICBzYXRpc2ZpZWQ6IDEpIGFsbCBjb25uZWN0 aW9ucyBhcmUgbm90IGNsb3NlZCBieSB0aGUgcmVtb3RlIHBlZXIsIDIpCisgICAgICB0aGVyZSBh cmUgbm8gY29ubmVjdGlvbnMgeWV0LCBhbmQgMykgdGhlIGNoZWNraW5nIGlzCisgICAgICBub3Qg c3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uIDxsaXRlcmFsPmZhbHNlPC9saXRlcmFsPiBpcyBy ZXR1cm5lZCBpZgorICAgICAgdGhlIGxvY2FsIHNlc3Npb24gc2VlbXMgdG8gYmUgZGlzY29ubmVj dGVkIGZyb20gYXQgbGVhc3Qgb25lIHJlbW90ZQorICAgICAgc2VydmVyLiA8bGl0ZXJhbD5OVUxM PC9saXRlcmFsPiBpcyByZXR1cm5lZCBpZiB0aGUgbG9jYWwgc2Vzc2lvbiBkb2VzCisgICAgICBu b3QgaGF2ZSBhIGNvbm5lY3Rpb24gY2FjaGUuIEV4YW1wbGUgdXNhZ2Ugb2YgdGhlIGZ1bmN0aW9u OgorPHNjcmVlbj4KK3Bvc3RncmVzPSMgU0VMRUNUIHBvc3RncmVzX2Zkd192ZXJpZnlfY29ubmVj dGlvbl9zdGF0ZXNfYWxsKCk7CisgcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRl c19hbGwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0Cis8 L3NjcmVlbj4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRy eT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48ZnVuY3Rpb24+cG9zdGdyZXNfZmR3 X2Nhbl92ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXMoKSByZXR1cm5zIGJvb2xlYW48L2Z1bmN0aW9u PjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhpcyBmdW5jdGlv biBjaGVja3Mgd2hldGhlciBmdW5jdGlvbnMgdGhlIGhlYWx0aCBvZiByZW1vdGUgY29ubmVjdGlv CisgICAgICB3b3JrIHdlbGwgb3Igbm90LiBUaGlzIHJldHVybnMgPGxpdGVyYWw+dHJ1ZTwvbGl0 ZXJhbD4gaWYgaXQgY2FuIGJlIHVzZWQsCisgICAgICBvdGhlcndpc2UgcmV0dXJucyA8bGl0ZXJh bD5mYWxzZTwvbGl0ZXJhbD4uIEV4YW1wbGUgdXNhZ2Ugb2YgdGhlIGZ1bmN0aW9uOgorCis8c2Ny ZWVuPgorcG9zdGdyZXM9IyBTRUxFQ1QgcG9zdGdyZXNfZmR3X2Nhbl92ZXJpZnlfY29ubmVjdGlv bl9zdGF0ZXMoKTsKKyBwb3N0Z3Jlc19mZHdfY2FuX3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRlcwor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHQKKzwvc2NyZWVu PgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCiAg ICA8L3ZhcmlhYmxlbGlzdD4KIAogPC9zZWN0Mj4KLS0gCjIuMjcuMAoK --_005_TYAPR01MB58669EAAC02493BFF9F39B06F5D99TYAPR01MB5866jpnp_ Content-Type: application/octet-stream; name="v31-0003-add-test.patch" Content-Description: v31-0003-add-test.patch Content-Disposition: attachment; filename="v31-0003-add-test.patch"; size=5444; creation-date="Thu, 09 Feb 2023 14:23:08 GMT"; modification-date="Thu, 09 Feb 2023 14:38:14 GMT" Content-Transfer-Encoding: base64 RnJvbSAzZWQwNTFkZDdlNmM3NTE5NGEwNDNlYWE2NDNmNzBmMmZkNmY1MTRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYXlhdG8gS3Vyb2RhIDxrdXJvZGEuaGF5YXRvQGZ1aml0c3Uu Y29tPgpEYXRlOiBGcmksIDI3IEphbiAyMDIzIDAzOjE3OjM2ICswMDAwClN1YmplY3Q6IFtQQVRD SCB2MzEgMy80XSBhZGQgdGVzdAoKLS0tCiAuLi4vcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3Rn cmVzX2Zkdy5vdXQgICAgfCA2NCArKysrKysrKysrKysrKysrKysrCiBjb250cmliL3Bvc3RncmVz X2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbCAgICAgfCA2MiArKysrKysrKysrKysrKysrKysKIDIg ZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9jb250cmliL3Bv c3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0IGIvY29udHJpYi9wb3N0Z3Jlc19m ZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dAppbmRleCBkNWZjNjE0NDZhLi5kOTkyNmIzODU3 IDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcu b3V0CisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQK QEAgLTExNzk4LDMgKzExNzk4LDY3IEBAIEFOQUxZWkUgYW5hbHl6ZV90YWJsZTsKIC0tIGNsZWFu dXAKIERST1AgRk9SRUlHTiBUQUJMRSBhbmFseXplX2Z0YWJsZTsKIERST1AgVEFCTEUgYW5hbHl6 ZV90YWJsZTsKKy0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tIHRlc3QgZm9yIHBvc3RncmVzX2Zkd192ZXJpZnlf Zm9yZWlnbl9zZXJ2ZXJzIGZ1bmN0aW9uCistLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLSBEaXNhYmxlIGRlYnVn X2Rpc2NhcmRfY2FjaGVzIGluIG9yZGVyIHRvIG1hbmFnZSByZW1vdGUgY29ubmVjdGlvbnMKK1NF VCBkZWJ1Z19kaXNjYXJkX2NhY2hlcyBUTyAnMCc7CistLSAtLSBUaGUgdGV4dCBvZiB0aGUgZXJy b3IgbWlnaHQgdmFyeSBhY3Jvc3MgcGxhdGZvcm1zLCBzbyBvbmx5IHNob3cgU1FMU1RBVEUuCitc c2V0IFZFUkJPU0lUWSBzcWxzdGF0ZQorLS0gRGlzY29ubmVjdCBvbmNlIGFuZCBzZXQgYXBwbGlj YXRpb25fbmFtZSB0byBhbiBhcmJpdHJhcnkgdmFsdWUKK1NFTEVDVCAxIEZST00gcG9zdGdyZXNf ZmR3X2Rpc2Nvbm5lY3RfYWxsKCk7CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgICAgICAgIDEK KygxIHJvdykKKworQUxURVIgU0VSVkVSIGxvb3BiYWNrIE9QVElPTlMgKFNFVCBhcHBsaWNhdGlv bl9uYW1lICdoZWFsdGhjaGVjaycpOworLS0gRGVmaW5lIHByb2NlZHVyZSBmb3IgdGVzdGluZyB2 ZXJpZnkgZnVuY3Rpb25zCitDUkVBVEUgUFJPQ0VEVVJFIHRlc3RfdmVyaWZ5X2Z1bmN0aW9uKHVz ZV9hbGwgYm9vbGVhbikgQVMgJCQKK0RFQ0xBUkUKKwljYW5fdmVyaWZ5IGJvb2xlYW47CisJcmVz dWx0IGJvb2xlYW47CitCRUdJTgorCVBFUkZPUk0gMSBGUk9NIGZ0MSBMSU1JVCAxOworCisJLS0g VGVybWluYXRlIHRoZSByZW1vdGUgYmFja2VuZCBwcm9jZXNzCisJUEVSRk9STSBwZ190ZXJtaW5h dGVfYmFja2VuZChwaWQsIDE4MDAwMCkgRlJPTSBwZ19zdGF0X2FjdGl2aXR5CisJCVdIRVJFIGFw cGxpY2F0aW9uX25hbWUgPSAnaGVhbHRoY2hlY2snOworCisJLS0gQ2hlY2sgd2hldGhlciB3ZSBj YW4gZG8gaGVhbHRoIGNoZWNrIG9uIHRoaXMgcGxhdGZvcm0KKwlTRUxFQ1QgSU5UTyBjYW5fdmVy aWZ5IHBvc3RncmVzX2Zkd19jYW5fdmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzKCk7CisKKwktLSBJ ZiB0aGUgY2hlY2tpbmcgY2FuIGJlIGRvbmUgb24gdGhpcyBwbGF0Zm9ybSwgY2FsbCBpdAorCUlG IGNhbl92ZXJpZnkgSVMgVFJVRSBUSEVOCisJCS0tIFNldCBjbGllbnRfbWluX21lc3NhZ2VzIHRv IEVSUk9SIHRlbXBvcmFyeSBiZWNhdXNlIHRoZSBmb2xsb3dpbmcKKwkJLS0gZnVuY3Rpb24gb25s eSB0aHJvd3MgYSBXQVJOSU5HIG9uIHRoZSBzdXBwb3J0ZWQgcGxhdGZvcm0uCisJCVNFVCBMT0NB TCBjbGllbnRfbWluX21lc3NhZ2VzIFRPIEVSUk9SOworCisJCUlGIHVzZV9hbGwgSVMgVFJVRSBU SEVOCisJCQlTRUxFQ1QgSU5UTyByZXN1bHQgcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9u X3N0YXRlc19hbGwoKTsKKwkJRUxTRQorCQkJU0VMRUNUIElOVE8gcmVzdWx0IHBvc3RncmVzX2Zk d192ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXMoJ2xvb3BiYWNrJyk7CisJCUVORCBJRjsKKworCQlS RVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOworCUVMU0UKKwkJcmVzdWx0ID0gZmFsc2U7CisJRU5E IElGOworCisJLS0gSWYgcmVzdWx0IGlzIEZBTFNFLCB3ZSBzdWNjZWVkZWQgdG8gZGV0ZWN0IHRo ZSBkaXNjb25uZWN0aW9uIG9yIGl0IGNvdWxkCisJLS0gbm90IGJlIGRvbmUgb24gdGhpcyBwbGF0 Zm9ybS4gUmFpc2UgYW4gbWVzc2FnZS4KKwlJRiByZXN1bHQgSVMgRkFMU0UgVEhFTgorCQlSQUlT RSBJTkZPICdwb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nvbm5lY3Rpb25fc3RhdGVzX2FsbCgpIGNvdWxk IGRldGVjdCB0aGUgZGlzY29ubmVjdGlvbiwgb3IgaGVhbHRoIGNoZWNrIGNhbm5vdCBiZSB1c2Vk IG9uIHRoaXMgcGxhdGZvcm0nOworCUVORCBJRjsKK0VORDsKKyQkIExBTkdVQUdFIHBscGdzcWw7 CistLSAuLkFuZCBjYWxsIGFib3ZlIGZ1bmN0aW9uCitDQUxMIHRlc3RfdmVyaWZ5X2Z1bmN0aW9u KGZhbHNlKTsKK0lORk86ICAwMDAwMAorRVJST1I6ICAwODAwNgorQ0FMTCB0ZXN0X3ZlcmlmeV9m dW5jdGlvbih0cnVlKTsKK0lORk86ICAwMDAwMAorRVJST1I6ICAwODAwNgorLS0gQ2xlYW4gdXAK K1xzZXQgVkVSQk9TSVRZIGRlZmF1bHQKK1JFU0VUIGRlYnVnX2Rpc2NhcmRfY2FjaGVzOwpkaWZm IC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwgYi9jb250 cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbAppbmRleCAxZTUwYmUxMzdiLi44 MWMwM2QwODY5IDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdyZXNf ZmR3LnNxbAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbApA QCAtMzk3NCwzICszOTc0LDY1IEBAIEFOQUxZWkUgYW5hbHl6ZV90YWJsZTsKIC0tIGNsZWFudXAK IERST1AgRk9SRUlHTiBUQUJMRSBhbmFseXplX2Z0YWJsZTsKIERST1AgVEFCTEUgYW5hbHl6ZV90 YWJsZTsKKworLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0gdGVzdCBmb3IgcG9zdGdyZXNfZmR3X3ZlcmlmeV9m b3JlaWduX3NlcnZlcnMgZnVuY3Rpb24KKy0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLS0gRGlzYWJsZSBkZWJ1 Z19kaXNjYXJkX2NhY2hlcyBpbiBvcmRlciB0byBtYW5hZ2UgcmVtb3RlIGNvbm5lY3Rpb25zCitT RVQgZGVidWdfZGlzY2FyZF9jYWNoZXMgVE8gJzAnOworCistLSAtLSBUaGUgdGV4dCBvZiB0aGUg ZXJyb3IgbWlnaHQgdmFyeSBhY3Jvc3MgcGxhdGZvcm1zLCBzbyBvbmx5IHNob3cgU1FMU1RBVEUu Citcc2V0IFZFUkJPU0lUWSBzcWxzdGF0ZQorCistLSBEaXNjb25uZWN0IG9uY2UgYW5kIHNldCBh cHBsaWNhdGlvbl9uYW1lIHRvIGFuIGFyYml0cmFyeSB2YWx1ZQorU0VMRUNUIDEgRlJPTSBwb3N0 Z3Jlc19mZHdfZGlzY29ubmVjdF9hbGwoKTsKK0FMVEVSIFNFUlZFUiBsb29wYmFjayBPUFRJT05T IChTRVQgYXBwbGljYXRpb25fbmFtZSAnaGVhbHRoY2hlY2snKTsKKworLS0gRGVmaW5lIHByb2Nl ZHVyZSBmb3IgdGVzdGluZyB2ZXJpZnkgZnVuY3Rpb25zCitDUkVBVEUgUFJPQ0VEVVJFIHRlc3Rf dmVyaWZ5X2Z1bmN0aW9uKHVzZV9hbGwgYm9vbGVhbikgQVMgJCQKK0RFQ0xBUkUKKwljYW5fdmVy aWZ5IGJvb2xlYW47CisJcmVzdWx0IGJvb2xlYW47CitCRUdJTgorCVBFUkZPUk0gMSBGUk9NIGZ0 MSBMSU1JVCAxOworCisJLS0gVGVybWluYXRlIHRoZSByZW1vdGUgYmFja2VuZCBwcm9jZXNzCisJ UEVSRk9STSBwZ190ZXJtaW5hdGVfYmFja2VuZChwaWQsIDE4MDAwMCkgRlJPTSBwZ19zdGF0X2Fj dGl2aXR5CisJCVdIRVJFIGFwcGxpY2F0aW9uX25hbWUgPSAnaGVhbHRoY2hlY2snOworCisJLS0g Q2hlY2sgd2hldGhlciB3ZSBjYW4gZG8gaGVhbHRoIGNoZWNrIG9uIHRoaXMgcGxhdGZvcm0KKwlT RUxFQ1QgSU5UTyBjYW5fdmVyaWZ5IHBvc3RncmVzX2Zkd19jYW5fdmVyaWZ5X2Nvbm5lY3Rpb25f c3RhdGVzKCk7CisKKwktLSBJZiB0aGUgY2hlY2tpbmcgY2FuIGJlIGRvbmUgb24gdGhpcyBwbGF0 Zm9ybSwgY2FsbCBpdAorCUlGIGNhbl92ZXJpZnkgSVMgVFJVRSBUSEVOCisJCS0tIFNldCBjbGll bnRfbWluX21lc3NhZ2VzIHRvIEVSUk9SIHRlbXBvcmFyeSBiZWNhdXNlIHRoZSBmb2xsb3dpbmcK KwkJLS0gZnVuY3Rpb24gb25seSB0aHJvd3MgYSBXQVJOSU5HIG9uIHRoZSBzdXBwb3J0ZWQgcGxh dGZvcm0uCisJCVNFVCBMT0NBTCBjbGllbnRfbWluX21lc3NhZ2VzIFRPIEVSUk9SOworCisJCUlG IHVzZV9hbGwgSVMgVFJVRSBUSEVOCisJCQlTRUxFQ1QgSU5UTyByZXN1bHQgcG9zdGdyZXNfZmR3 X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRlc19hbGwoKTsKKwkJRUxTRQorCQkJU0VMRUNUIElOVE8g cmVzdWx0IHBvc3RncmVzX2Zkd192ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXMoJ2xvb3BiYWNrJyk7 CisJCUVORCBJRjsKKworCQlSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOworCUVMU0UKKwkJcmVz dWx0ID0gZmFsc2U7CisJRU5EIElGOworCisJLS0gSWYgcmVzdWx0IGlzIEZBTFNFLCB3ZSBzdWNj ZWVkZWQgdG8gZGV0ZWN0IHRoZSBkaXNjb25uZWN0aW9uIG9yIGl0IGNvdWxkCisJLS0gbm90IGJl IGRvbmUgb24gdGhpcyBwbGF0Zm9ybS4gUmFpc2UgYW4gbWVzc2FnZS4KKwlJRiByZXN1bHQgSVMg RkFMU0UgVEhFTgorCQlSQUlTRSBJTkZPICdwb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nvbm5lY3Rpb25f c3RhdGVzX2FsbCgpIGNvdWxkIGRldGVjdCB0aGUgZGlzY29ubmVjdGlvbiwgb3IgaGVhbHRoIGNo ZWNrIGNhbm5vdCBiZSB1c2VkIG9uIHRoaXMgcGxhdGZvcm0nOworCUVORCBJRjsKK0VORDsKKyQk IExBTkdVQUdFIHBscGdzcWw7CisKKy0tIC4uQW5kIGNhbGwgYWJvdmUgZnVuY3Rpb24KK0NBTEwg dGVzdF92ZXJpZnlfZnVuY3Rpb24oZmFsc2UpOworQ0FMTCB0ZXN0X3ZlcmlmeV9mdW5jdGlvbih0 cnVlKTsKKworLS0gQ2xlYW4gdXAKK1xzZXQgVkVSQk9TSVRZIGRlZmF1bHQKK1JFU0VUIGRlYnVn X2Rpc2NhcmRfY2FjaGVzOwotLSAKMi4yNy4wCgo= --_005_TYAPR01MB58669EAAC02493BFF9F39B06F5D99TYAPR01MB5866jpnp_ Content-Type: application/octet-stream; name="v31-0004-add-kqueue-support-for-PQconnCheck-and-PQcanConn.patch" Content-Description: v31-0004-add-kqueue-support-for-PQconnCheck-and-PQcanConn.patch Content-Disposition: attachment; filename="v31-0004-add-kqueue-support-for-PQconnCheck-and-PQcanConn.patch"; size=9051; creation-date="Thu, 09 Feb 2023 14:23:08 GMT"; modification-date="Thu, 09 Feb 2023 14:38:14 GMT" Content-Transfer-Encoding: base64 RnJvbSBmODdjZjhiZmJjZjk0M2IyMWZkODRjOGIxMmIwMGQ5MmY1MzY3YjFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYXlhdG8gS3Vyb2RhIDxrdXJvZGEuaGF5YXRvQGZ1aml0c3Uu Y29tPgpEYXRlOiBUaHUsIDkgRmViIDIwMjMgMTE6NTg6MzUgKzAwMDAKU3ViamVjdDogW1BBVENI IHYzMSA0LzRdIGFkZCBrcXVldWUgc3VwcG9ydCBmb3IgUFFjb25uQ2hlY2sgYW5kIFBRY2FuQ29u bkNoZWNrCgotLS0KIGRvYy9zcmMvc2dtbC9saWJwcS5zZ21sICAgICAgICB8IDE2ICsrKy0tLS0K IGRvYy9zcmMvc2dtbC9wb3N0Z3Jlcy1mZHcuc2dtbCB8IDM0ICsrKysrKystLS0tLS0tCiBzcmMv aW50ZXJmYWNlcy9saWJwcS9mZS1taXNjLmMgfCA4NCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbCBiL2RvYy9zcmMvc2dt bC9saWJwcS5zZ21sCmluZGV4IGY0OWI2ZTc0NTIuLjJhYmMyZWQ1MDggMTAwNjQ0Ci0tLSBhL2Rv Yy9zcmMvc2dtbC9saWJwcS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21sCkBAIC0y NjkyLDE0ICsyNjkyLDE0IEBAIGludCBQUWNvbm5DaGVjayhQR2Nvbm4gKmNvbm4pOwogCiAgICAg ICA8cGFyYT4KICAgICAgICBVbmxpa2UgPHhyZWYgbGlua2VuZD0ibGlicHEtUFFzdGF0dXMiLz4s IHRoaXMgZnVuY3Rpb24gY2hlY2tzIHNvY2tldAotICAgICAgIGhlYWx0aC4gVGhpcyBjaGVjayBp cyBwZXJmb3JtZWQgYnkgcG9sbGluZyB0aGUgc29ja2V0LiBUaGlzIGZ1bmN0aW9uIGlzCi0gICAg ICAgY3VycmVudGx5IGF2YWlsYWJsZSBvbmx5IG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHRoZSBu b24tc3RhbmRhcmQKLSAgICAgICA8c3ltYm9sPlBPTExSREhVUDwvc3ltYm9sPiBleHRlbnNpb24g dG8gdGhlIDxzeW1ib2w+cG9sbDwvc3ltYm9sPiBzeXN0ZW0KLSAgICAgICBjYWxsLCBpbmNsdWRp bmcgTGludXguIDx4cmVmIGxpbmtlbmQ9ImxpYnBxLVBRY29ubkNoZWNrIi8+IHJldHVybnMKLSAg ICAgICBncmVhdGVyIHRoYW4gemVybyBpZiB0aGUgcmVtb3RlIHBlZXIgc2VlbXMgdG8gYmUgY2xv c2VkLCByZXR1cm5zCi0gICAgICAgPGxpdGVyYWw+MDwvbGl0ZXJhbD4gaWYgdGhlIHNvY2tldCBp cyB2YWxpZCwgYW5kIHJldHVybnMKLSAgICAgICA8bGl0ZXJhbD4tMTwvbGl0ZXJhbD4gaWYgdGhl IGNvbm5lY3Rpb24gaGFzIGJlZW4gYWxyZWFkeSBpbnZhbGlkIG9yCi0gICAgICAgYW4gZXJyb3Ig aXMgZXJyb3Igb2NjdXJyZWQuCisgICAgICAgaGVhbHRoLiBUaGlzIGNoZWNrIGlzIHBlcmZvcm1l ZCBieSBwb2xsaW5nIHRoZSBzb2NrZXQuIFRoaXMgY2hlY2sgaXMKKyAgICAgICBwZXJmb3JtZWQg YnkgcG9sbGluZyB0aGUgc29ja2V0LiBUaGlzIG9wdGlvbiByZWxpZXMgb24ga2VybmVsIGV2ZW50 cworICAgICAgIGV4cG9zZWQgYnkgTGludXgsIG1hY09TLCBpbGx1bW9zIGFuZCB0aGUgQlNEIGZh bWlseSBvZiBvcGVyYXRpbmcKKyAgICAgICBzeXN0ZW1zLCBhbmQgaXMgbm90IGN1cnJlbnRseSBh dmFpbGFibGUgb24gb3RoZXIgc3lzdGVtcworICAgICAgIDx4cmVmIGxpbmtlbmQ9ImxpYnBxLVBR Y29ubkNoZWNrIi8+IHJldHVybnMgZ3JlYXRlciB0aGFuIHplcm8gaWYgdGhlCisgICAgICAgcmVt b3RlIHBlZXIgc2VlbXMgdG8gYmUgY2xvc2VkLCByZXR1cm5zIDxsaXRlcmFsPjA8L2xpdGVyYWw+ IGlmIHRoZQorICAgICAgIHNvY2tldCBpcyB2YWxpZCwgYW5kIHJldHVybnMgPGxpdGVyYWw+LTE8 L2xpdGVyYWw+IGlmIHRoZSBjb25uZWN0aW9uCisgICAgICAgaGFzIGJlZW4gYWxyZWFkeSBpbnZh bGlkIG9yIGFuIGVycm9yIGlzIGVycm9yIG9jY3VycmVkLgogICAgICAgPC9wYXJhPgogICAgICA8 L2xpc3RpdGVtPgogICAgIDwvdmFybGlzdGVudHJ5PgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L3Bvc3RncmVzLWZkdy5zZ21sIGIvZG9jL3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5zZ21sCmluZGV4 IGUxYWJkYjM4Y2IuLjc1Y2E3NGExNmUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9wb3N0Z3Jl cy1mZHcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcG9zdGdyZXMtZmR3LnNnbWwKQEAgLTgzNSwx MyArODM1LDEzIEBAIHBvc3RncmVzPSMgU0VMRUNUIHBvc3RncmVzX2Zkd19kaXNjb25uZWN0X2Fs bCgpOwogICAgICAgPGZpbGVuYW1lPnBvc3RncmVzX2ZkdzwvZmlsZW5hbWU+IGZyb20gdGhlIGxv Y2FsIHNlc3Npb24gdG8gdGhlIGZvcmVpZ24KICAgICAgIHNlcnZlciB3aXRoIHRoZSBnaXZlbiBu YW1lLiBUaGlzIGNoZWNrIGlzIHBlcmZvcm1lZCBieSBwb2xsaW5nIHRoZSBzb2NrZXQKICAgICAg IGFuZCBhbGxvd3MgbG9uZy1ydW5uaW5nIHRyYW5zYWN0aW9ucyB0byBiZSBhYm9ydGVkIHNvb25l ciBpZiB0aGUga2VybmVsCi0gICAgICByZXBvcnRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gaXMgY2xv c2VkLiBUaGlzIGZ1bmN0aW9uIGlzIGN1cnJlbnRseQotICAgICAgYXZhaWxhYmxlIG9ubHkgb24g c3lzdGVtcyB0aGF0IHN1cHBvcnQgdGhlIG5vbi1zdGFuZGFyZCA8c3ltYm9sPlBPTExSREhVUDwv c3ltYm9sPgotICAgICAgZXh0ZW5zaW9uIHRvIHRoZSA8c3ltYm9sPnBvbGw8L3N5bWJvbD4gc3lz dGVtIGNhbGwsIGluY2x1ZGluZyBMaW51eC4gVGhpcwotICAgICAgcmV0dXJucyA8bGl0ZXJhbD50 cnVlPC9saXRlcmFsPiBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb24gaXMKLSAgICAg IHNhdGlzZmllZDogMSkgZXhpc3RpbmcgY29ubmVjdGlvbiBpcyBub3QgY2xvc2VkIGJ5IHRoZSBy ZW1vdGUgcGVlciwgMikKLSAgICAgIHRoZXJlIGlzIG5vIGNvbm5lY3Rpb24gZm9yIHNwZWNpZmll ZCBzZXJ2ZXIgeWV0LCBhbmQgMykgdGhlIGNoZWNraW5nIGlzCi0gICAgICBub3Qgc3VwcG9ydGVk IG9uIHRoaXMgcGxhdGZvcm0uIDxsaXRlcmFsPmZhbHNlPC9saXRlcmFsPgorICAgICAgcmVwb3J0 cyB0aGF0IHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZC4gVGhpcyBjaGVjayBpcyBwZXJmb3JtZWQg YnkgcG9sbGluZworICAgICAgdGhlIHNvY2tldC4gVGhpcyBvcHRpb24gcmVsaWVzIG9uIGtlcm5l bCBldmVudHMgZXhwb3NlZCBieSBMaW51eCwgbWFjT1MsCisgICAgICBpbGx1bW9zIGFuZCB0aGUg QlNEIGZhbWlseSBvZiBvcGVyYXRpbmcgc3lzdGVtcywgYW5kIGlzIG5vdCBjdXJyZW50bHkKKyAg ICAgIGF2YWlsYWJsZSBvbiBvdGhlciBzeXN0ZW1zLiBUaGlzIHJldHVybnMgPGxpdGVyYWw+dHJ1 ZTwvbGl0ZXJhbD4gaWYgYW55CisgICAgICBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBpcyBz YXRpc2ZpZWQ6IDEpIGV4aXN0aW5nIGNvbm5lY3Rpb24gaXMgbm90CisgICAgICBjbG9zZWQgYnkg dGhlIHJlbW90ZSBwZWVyLCAyKSB0aGVyZSBpcyBubyBjb25uZWN0aW9uIGZvciBzcGVjaWZpZWQg c2VydmVyCisgICAgICB5ZXQsIGFuZCAzKSB0aGUgY2hlY2tpbmcgaXMgbm90IHN1cHBvcnRlZCBv biB0aGlzIHBsYXRmb3JtLiA8bGl0ZXJhbD5mYWxzZTwvbGl0ZXJhbD4KICAgICAgIGlzIHJldHVy bmVkIGlmIHRoZSBsb2NhbCBzZXNzaW9uIHNlZW1zIHRvIGJlIGRpc2Nvbm5lY3RlZCBmcm9tIG90 aGVyCiAgICAgICBzZXJ2ZXJzLiA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiBpcyByZXR1cm5lZCBp ZiB0aGUgbG9jYWwgc2Vzc2lvbiBkb2VzCiAgICAgICBub3QgaGF2ZSBhIGNvbm5lY3Rpb24gY2Fj aGUuIEV4YW1wbGUgdXNhZ2Ugb2YgdGhlIGZ1bmN0aW9uOgpAQCAtODYyLDE2ICs4NjIsMTYgQEAg cG9zdGdyZXM9IyBTRUxFQ1QgcG9zdGdyZXNfZmR3X3ZlcmlmeV9jb25uZWN0aW9uX3N0YXRlcygn bG9vcGJhY2sxJyk7CiAgICAgICBieSA8ZmlsZW5hbWU+cG9zdGdyZXNfZmR3PC9maWxlbmFtZT4g ZnJvbSB0aGUgbG9jYWwgc2Vzc2lvbiB0byB0aGUKICAgICAgIGZvcmVpZ24gc2VydmVycy4gVGhp cyBjaGVjayBpcyBwZXJmb3JtZWQgYnkgcG9sbGluZyB0aGUgc29ja2V0IGFuZCBhbGxvd3MKICAg ICAgIGxvbmctcnVubmluZyB0cmFuc2FjdGlvbnMgdG8gYmUgYWJvcnRlZCBzb29uZXIgaWYgdGhl IGtlcm5lbCByZXBvcnRzCi0gICAgICB0aGF0IHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZC4gVGhp cyBmdW5jdGlvbiBpcyBjdXJyZW50bHkgYXZhaWxhYmxlIG9ubHkKLSAgICAgIG9uIHN5c3RlbXMg dGhhdCBzdXBwb3J0IHRoZSBub24tc3RhbmRhcmQgPHN5bWJvbD5QT0xMUkRIVVA8L3N5bWJvbD4K LSAgICAgIGV4dGVuc2lvbiB0byB0aGUgPHN5bWJvbD5wb2xsPC9zeW1ib2w+IHN5c3RlbSBjYWxs LCBpbmNsdWRpbmcgTGludXguIFRoaXMKLSAgICAgIHJldHVybnMgPGxpdGVyYWw+dHJ1ZTwvbGl0 ZXJhbD4gaWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGlzCi0gICAgICBzYXRpc2Zp ZWQ6IDEpIGFsbCBjb25uZWN0aW9ucyBhcmUgbm90IGNsb3NlZCBieSB0aGUgcmVtb3RlIHBlZXIs IDIpCi0gICAgICB0aGVyZSBhcmUgbm8gY29ubmVjdGlvbnMgeWV0LCBhbmQgMykgdGhlIGNoZWNr aW5nIGlzCi0gICAgICBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uIDxsaXRlcmFsPmZh bHNlPC9saXRlcmFsPiBpcyByZXR1cm5lZCBpZgotICAgICAgdGhlIGxvY2FsIHNlc3Npb24gc2Vl bXMgdG8gYmUgZGlzY29ubmVjdGVkIGZyb20gYXQgbGVhc3Qgb25lIHJlbW90ZQotICAgICAgc2Vy dmVyLiA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiBpcyByZXR1cm5lZCBpZiB0aGUgbG9jYWwgc2Vz c2lvbiBkb2VzCi0gICAgICBub3QgaGF2ZSBhIGNvbm5lY3Rpb24gY2FjaGUuIEV4YW1wbGUgdXNh Z2Ugb2YgdGhlIGZ1bmN0aW9uOgorICAgICAgdGhhdCB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQu IFRoaXMgY2hlY2sgaXMgcGVyZm9ybWVkIGJ5IHBvbGxpbmcgdGhlCisgICAgICBzb2NrZXQuIFRo aXMgb3B0aW9uIHJlbGllcyBvbiBrZXJuZWwgZXZlbnRzIGV4cG9zZWQgYnkgTGludXgsIG1hY09T LAorICAgICAgaWxsdW1vcyBhbmQgdGhlIEJTRCBmYW1pbHkgb2Ygb3BlcmF0aW5nIHN5c3RlbXMs IGFuZCBpcyBub3QgY3VycmVudGx5CisgICAgICBhdmFpbGFibGUgb24gb3RoZXIgc3lzdGVtcy4g VGhpcyByZXR1cm5zIDxsaXRlcmFsPnRydWU8L2xpdGVyYWw+IGlmIGFueQorICAgICAgb2YgdGhl IGZvbGxvd2luZyBjb25kaXRpb24gaXMgc2F0aXNmaWVkOiAxKSBhbGwgY29ubmVjdGlvbnMgYXJl IG5vdAorICAgICAgY2xvc2VkIGJ5IHRoZSByZW1vdGUgcGVlciwgMikgdGhlcmUgYXJlIG5vIGNv bm5lY3Rpb25zIHlldCwgYW5kIDMpIHRoZQorICAgICAgY2hlY2tpbmcgaXMgbm90IHN1cHBvcnRl ZCBvbiB0aGlzIHBsYXRmb3JtLiA8bGl0ZXJhbD5mYWxzZTwvbGl0ZXJhbD4gaXMKKyAgICAgIHJl dHVybmVkIGlmIHRoZSBsb2NhbCBzZXNzaW9uIHNlZW1zIHRvIGJlIGRpc2Nvbm5lY3RlZCBmcm9t IGF0IGxlYXN0IG9uZQorICAgICAgcmVtb3RlIHNlcnZlci4gPGxpdGVyYWw+TlVMTDwvbGl0ZXJh bD4gaXMgcmV0dXJuZWQgaWYgdGhlIGxvY2FsIHNlc3Npb24KKyAgICAgIGRvZXMgbm90IGhhdmUg YSBjb25uZWN0aW9uIGNhY2hlLiBFeGFtcGxlIHVzYWdlIG9mIHRoZSBmdW5jdGlvbjoKIDxzY3Jl ZW4+CiBwb3N0Z3Jlcz0jIFNFTEVDVCBwb3N0Z3Jlc19mZHdfdmVyaWZ5X2Nvbm5lY3Rpb25fc3Rh dGVzX2FsbCgpOwogIHBvc3RncmVzX2Zkd192ZXJpZnlfY29ubmVjdGlvbl9zdGF0ZXNfYWxsCmRp ZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1taXNjLmMgYi9zcmMvaW50ZXJmYWNl cy9saWJwcS9mZS1taXNjLmMKaW5kZXggM2JjZDc2MGNkNy4uY2FhMzNjZDJlNCAxMDA2NDQKLS0t IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtbWlzYy5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xp YnBxL2ZlLW1pc2MuYwpAQCAtNDUsNiArNDUsMTggQEAKICNpbmNsdWRlIDxwb2xsLmg+CiAjZW5k aWYKIAorLyogV2UgdXNlIHBvbGwoMikgZm9yIGNoZWNraW5nIHRoZSBoZWFsdGggb2YgYSBzb2Nr ZXQsIG90aGVyd2lzZSBrcXVldWUoMikgKi8KKyNpZiAoIShkZWZpbmVkKEhBVkVfUE9MTCkgJiYg ZGVmaW5lZChQT0xMUkRIVVApKSAmJiBcCisJIGRlZmluZWQoSEFWRV9LUVVFVUUpKQorI2RlZmlu ZSBDSEVDS19VU0VfS1FVRVVFCisjZW5kaWYKKworI2lmIGRlZmluZWQoQ0hFQ0tfVVNFX0tRVUVV RSkKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvZXZlbnQuaD4KKyNpbmNs dWRlIDxzeXMvdGltZS5oPgorI2VuZGlmCisKICNpbmNsdWRlICJsaWJwcS1mZS5oIgogI2luY2x1 ZGUgImxpYnBxLWludC5oIgogI2luY2x1ZGUgIm1iL3BnX3djaGFyLmgiCkBAIC01Nyw2ICs2OSwx MCBAQCBzdGF0aWMgaW50CXBxU29ja2V0SXNSZWFkYWJsZU9yV3JpdGFibGVPclZhbGlkKFBHY29u biAqY29ubiwgaW50IGZvclJlYWQsCiAJCQkJCQkJCQkJCQlpbnQgZm9yV3JpdGUsIHRpbWVfdCBl bmRfdGltZSk7CiBzdGF0aWMgaW50CXBxU29ja2V0UG9sbChpbnQgc29jaywgaW50IGZvclJlYWQs IGludCBmb3JXcml0ZSwgdGltZV90IGVuZF90aW1lKTsKIAorI2lmIGRlZmluZWQoQ0hFQ0tfVVNF X0tRVUVVRSkKK3N0YXRpYyBpbnQJcHFTb2NrZXRLcXVldWUoaW50IHNvY2spOworI2VuZGlmCisK IC8qCiAgKiBQUWxpYlZlcnNpb246IHJldHVybiB0aGUgbGlicHEgdmVyc2lvbiBudW1iZXIKICAq LwpAQCAtMTEwNCw5ICsxMTIwLDEyIEBAIHBxU29ja2V0UG9sbChpbnQgc29jaywgaW50IGZvclJl YWQsIGludCBmb3JXcml0ZSwgdGltZV90IGVuZF90aW1lKQogCQlpZiAoZW5kX3RpbWUgPT0gMCkK ICNpZiBkZWZpbmVkKFBPTExSREhVUCkKIAkJCWlucHV0X2ZkLmV2ZW50cyA9IFBPTExSREhVUCB8 IFBPTExIVVAgfCBQT0xMTlZBTDsKKyNlbGlmIGRlZmluZWQoQ0hFQ0tfVVNFX0tRVUVVRSkKKwkJ CS8qIFVzZSBrcXVldWUoMikgaW5zdGVhZCAqLworCQkJcmV0dXJuIHBxU29ja2V0S3F1ZXVlKHNv Y2spOwogI2Vsc2UKIAkJCXJldHVybiAwOwotI2VuZGlmIC8qIGRlZmluZWQoUE9MTFJESFVQKSAq LworI2VuZGlmCiAJCWVsc2UKIAkJCXJldHVybiAwOwogCX0KQEAgLTExNDMsNyArMTE2MiwyMiBA QCBwcVNvY2tldFBvbGwoaW50IHNvY2ssIGludCBmb3JSZWFkLCBpbnQgZm9yV3JpdGUsIHRpbWVf dCBlbmRfdGltZSkKIAlzdHJ1Y3QgdGltZXZhbCAqcHRyX3RpbWVvdXQ7CiAKIAlpZiAoIWZvclJl YWQgJiYgIWZvcldyaXRlKQotCQlyZXR1cm4gMDsKKwl7CisJCS8qCisJCSAqIFRyeSB0byBjaGVj ayB0aGUgaGVhbHRoIGlmIHJlcXVlc3RlZAorCQkgKgorCQkgKiBYWFg6IElzIHRoZXJlIGFueSBz eXN0ZW1zIHRoYXQgY2Fubm90IHVzZSBwb2xsKDIpIGJ1dCBoYXZlCisJCSAqIGtxdWV1ZSgyKSBz eXN0ZW0gY2FsbD8KKwkJICovCisJCWlmIChlbmRfdGltZSA9PSAwKQorI2lmIGRlZmluZWQoQ0hF Q0tfVVNFX0tRVUVVRSkKKwkJCXJldHVybiBwcVNvY2tldEtxdWV1ZShzb2NrKTsKKyNlbHNlCisJ CQlyZXR1cm4gMDsKKyNlbmRpZgkJCQkJCQkvKiBkZWZpbmVkKENIRUNLX1VTRV9LUVVFVUUpICov CisJCWVsc2UKKwkJCXJldHVybiAwOworCX0KIAogCUZEX1pFUk8oJmlucHV0X21hc2spOwogCUZE X1pFUk8oJm91dHB1dF9tYXNrKTsKQEAgLTExNzUsNiArMTIwOSw0OSBAQCBwcVNvY2tldFBvbGwo aW50IHNvY2ssIGludCBmb3JSZWFkLCBpbnQgZm9yV3JpdGUsIHRpbWVfdCBlbmRfdGltZSkKICNl bmRpZgkJCQkJCQkvKiBIQVZFX1BPTEwgKi8KIH0KIAorI2lmIGRlZmluZWQoQ0hFQ0tfVVNFX0tR VUVVRSkKK3N0YXRpYyBpbnQKK3BxU29ja2V0S3F1ZXVlKGludCBzb2NrKQoreworCXN0cnVjdCBr ZXZlbnQga2V2LAorCQkJCXJldDsKKwlzdHJ1Y3QgdGltZXNwZWMgdGltZW91dCA9IHswfTsKKwlz dGF0aWMgaW50CWtxID0gLTE7CisJaW50CQkJcmVzdWx0OworCisJLyogSWYgdGhpcyBmdW5jdGlv biBoYXMgbmV2ZXIgY2FsbGVkIHlldCwgY3JlYXRlIGEga2VybmVsIGV2ZW50IHF1ZXVlICovCisJ aWYgKGtxIDwgMCkKKwl7CisJCWtxID0ga3F1ZXVlKCk7CisJCWlmIChrcSA8IDApCisJCQlyZXR1 cm4gLTE7CisJfQorCisJLyogUHJlcGFyZSBrZXZlbnQgc3RydWN0dXJlICovCisJRVZfU0VUKCZr ZXYsIHNvY2ssIEVWRklMVF9SRUFELCBFVl9BREQsIDAsIDAsIE5VTEwpOworCWlmIChrZXZlbnQo a3EsICZrZXYsIDEsIE5VTEwsIDAsIE5VTEwpKQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIENo ZWNrIHRoZSBzdGF0dXMgb2Ygc29ja2V0LiBOb3RlIHRoYXQgd2Ugd2lsbCByZXRyeSBhcyBsb25n IGFzIHdlIGdldAorCSAqIEVJTlRSLgorCSAqLworCWRvCisJCXJlc3VsdCA9IGtldmVudChrcSwg TlVMTCwgMCwgJnJldCwgMSwgJnRpbWVvdXQpOworCXdoaWxlIChyZXN1bHQgPCAwICYmIGVycm5v ID09IEVJTlRSKTsKKworCS8qIENsZWFuIHVwIHRoZSBxdWV1ZSAqLworCUVWX1NFVCgma2V2LCBz b2NrLCBFVkZJTFRfUkVBRCwgRVZfREVMRVRFLCAwLCAwLCBOVUxMKTsKKwlrZXZlbnQoa3EsICZr ZXYsIDEsIE5VTEwsIDAsIE5VTEwpOworCisJaWYgKHJlc3VsdCA8IDApCisJCXJldHVybiAtMTsK KworCXByaW50ZigiZGVidWcgcHJpbnQiKTsKKworCXJldHVybiByZXQuZmxhZ3MgJiBFVl9FT0Y7 Cit9CisjZW5kaWYJCQkJCQkJLyogZGVmaW5lZChDSEVDS19VU0VfS1FVRVVFKSAqLwogCiAvKgog ICogQSBjb3VwbGUgb2YgIm1pc2NlbGxhbmVvdXMiIG11bHRpYnl0ZSByZWxhdGVkIGZ1bmN0aW9u cy4gVGhleSB1c2VkCkBAIC0xMjU1LDcgKzEzMzIsOCBAQCBQUWNvbm5DaGVjayhQR2Nvbm4gKmNv bm4pCiBpbnQKIFBRY2FuQ29ubkNoZWNrKHZvaWQpCiB7Ci0jaWYgKGRlZmluZWQoSEFWRV9QT0xM KSAmJiBkZWZpbmVkKFBPTExSREhVUCkpCisjaWYgKChkZWZpbmVkKEhBVkVfUE9MTCkgJiYgZGVm aW5lZChQT0xMUkRIVVApKSB8fCBcCisJIGRlZmluZWQoQ0hFQ0tfVVNFX0tRVUVVRSkpCiAJcmV0 dXJuIHRydWU7CiAjZWxzZQogCXJldHVybiBmYWxzZTsKLS0gCjIuMjcuMAoK --_005_TYAPR01MB58669EAAC02493BFF9F39B06F5D99TYAPR01MB5866jpnp_--