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.96) (envelope-from ) id 1wDVLL-0032mH-18 for pgpool-hackers@arkaria.postgresql.org; Thu, 16 Apr 2026 22:37:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wDVLJ-006z1Y-14 for pgpool-hackers@arkaria.postgresql.org; Thu, 16 Apr 2026 22:37:49 +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.96) (envelope-from ) id 1wDVLJ-006z1Q-0P for pgpool-hackers@lists.postgresql.org; Thu, 16 Apr 2026 22:37:49 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wDVLG-00000001Tf6-1rf6 for pgpool-hackers@lists.postgresql.org; Thu, 16 Apr 2026 22:37:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Content-Transfer-Encoding:Content-Type: Mime-Version:References:In-Reply-To:From:Subject:Cc:To:Message-Id:Date:Sender :Reply-To:Content-ID:Content-Description; bh=v2QDso1jiY2svJzg72oHZ1St6ebQVr//7o9I+1vQhKU=; b=0Z/WDWwOkjIrRw/jQLfadjihnr Zle+1ChMZyR0K0IEjgzC0Xojp0C+TrpZ7tdrZD69Pd8LDVNgJNLdWMwhn84/kfeqZmagS/D3Q3JjP fckK0DdIpE+qoOvXHq+vgSv6rV6SlgGg4oI2MOCjm+4e/oYmwWNIDFFw9xwky0/q3KtInBu1ur6to xFy8u7CvmE3UtbHXn9LDF2uAKEUkLg8JHauL+Wwa60PPFqzVjfqAxdxKn62lTUXumBc4Zwjj1jCOM SkxDyWSqurElPDpl/JVXRplCAXtbAnboiAndObSG0r1akkTZ9/rxtDE0SzWN96fQ61wtmB7ivVwfr 36/Lva+A==; Received: from [2409:11:4120:300:2ec9:5cca:cb5f:6e86] (helo=localhost) by meldrar.postgresql.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wDVLE-003iv7-0r; Thu, 16 Apr 2026 22:37:46 +0000 Date: Fri, 17 Apr 2026 07:37:33 +0900 (JST) Message-Id: <20260417.073733.1428537764192913774.ishii@postgresql.org> To: bob.ross.19821@gmail.com Cc: pgpool-hackers@lists.postgresql.org Subject: Re: Rotate SSL certificates on reload (SIGHUP) without restart From: Tatsuo Ishii In-Reply-To: References: <20260416.193138.2156629846536617464.ishii@postgresql.org> X-Mailer: Mew version 6.8 on Emacs 29.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=utf-8 Content-Transfer-Encoding: base64 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2409:11:4120:300:2ec9:5cca:cb5f:6e86 (failed) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk SGkgQm9iLA0KDQpUaGFuayB5b3UgZm9yIHRoZSBuZXcgcGF0Y2guIFRoaXMgdGltZSBpdCBmYWls ZWQgd2l0aCBkaWZmZXJlbnQgcGdwb29sLmxvZy4gDQpzcmMvdGVzdC9yZWdyZXNzaW9uL2xvZy8w NDIuc3NsX3JlbG9hZCB3YXMgc2FtZS4NCg0KMjAyNi0wNC0xNyAwNzozMDo0Ni44OTM6IGNoaWxk IHBpZCAxNDc1MDQxOiBERUJVRzogIGF0dGVtcHRpbmcgdG8gbmVnb3RpYXRlIGEgc2VjdXJlIGNv bm5lY3Rpb24NCjIwMjYtMDQtMTcgMDc6MzA6NDYuODkzOiBjaGlsZCBwaWQgMTQ3NTA0MTogREVU QUlMOiAgc2VuZGluZyBjbGllbnQtPnNlcnZlciBTU0wgcmVxdWVzdA0KMjAyNi0wNC0xNyAwNzoz MDo0Ni44OTM6IGNoaWxkIHBpZCAxNDc1MDQxOiBERUJVRzogIHBvb2xfZmx1c2hfaXQ6IGZsdXNo IHNpemU6IDgNCjIwMjYtMDQtMTcgMDc6MzA6NDYuODk0OiBjaGlsZCBwaWQgMTQ3NTA0MTogREVC VUc6ICBwb29sX3JlYWQ6IHJlYWQgMSBieXRlcyBmcm9tIGJhY2tlbmQgMA0KMjAyNi0wNC0xNyAw NzozMDo0Ni44OTQ6IGNoaWxkIHBpZCAxNDc1MDQxOiBERUJVRzogIGF0dGVtcHRpbmcgdG8gbmVn b3RpYXRlIGEgc2VjdXJlIGNvbm5lY3Rpb24NCjIwMjYtMDQtMTcgMDc6MzA6NDYuODk0OiBjaGls ZCBwaWQgMTQ3NTA0MTogREVUQUlMOiAgY2xpZW50LT5zZXJ2ZXIgU1NMIHJlc3BvbnNlOiBTDQoy MDI2LTA0LTE3IDA3OjMwOjQ2Ljg5OTogY2hpbGQgcGlkIDE0NzUwNDE6IExPRzogIHBvb2xfc3Ns OiAiU1NMX2Nvbm5lY3QiOiAiY2VydGlmaWNhdGUgdmVyaWZ5IGZhaWxlZCINCjIwMjYtMDQtMTcg MDc6MzA6NDYuODk5OiBjaGlsZCBwaWQgMTQ3NTA0MTogREVCVUc6ICBwb29sX2ZsdXNoX2l0OiBm bHVzaCBzaXplOiA1OA0KMjAyNi0wNC0xNyAwNzozMDo0Ni44OTk6IGNoaWxkIHBpZCAxNDc1MDQx OiBERUJVRzogIHBvb2xfcmVhZDogcmVhZCAzNjAgYnl0ZXMgZnJvbSBiYWNrZW5kIDANCjIwMjYt MDQtMTcgMDc6MzA6NDYuOTAwOiBjaGlsZCBwaWQgMTQ3NTA0MTogRVJST1I6ICBiYWNrZW5kIGF1 dGhlbnRpY2F0aW9uIGZhaWxlZA0KMjAyNi0wNC0xNyAwNzozMDo0Ni45MDA6IGNoaWxkIHBpZCAx NDc1MDQxOiBERVRBSUw6ICBiYWNrZW5kIHJlc3BvbnNlIHdpdGgga2luZCAnFycgd2hlbiBleHBl Y3RpbmcgJ1InDQoyMDI2LTA0LTE3IDA3OjMwOjQ2LjkwMDogY2hpbGQgcGlkIDE0NzUwNDE6IERF QlVHOiAgcG9vbF93cml0ZTogdG8gZnJvbnRlbmQ6IGtpbmQ6RSBwbzowDQoyMDI2LTA0LTE3IDA3 OjMwOjQ2LjkwMDogY2hpbGQgcGlkIDE0NzUwNDE6IERFQlVHOiAgcG9vbF93cml0ZTogdG8gZnJv bnRlbmQ6IGxlbmd0aDo0IHBvOjENCjIwMjYtMDQtMTcgMDc6MzA6NDYuOTAwOiBjaGlsZCBwaWQg MTQ3NTA0MTogREVCVUc6ICBwb29sX3dyaXRlOiB0byBmcm9udGVuZDogbGVuZ3RoOjExNSBwbzo1 DQoyMDI2LTA0LTE3IDA3OjMwOjQ2LjkwMDogY2hpbGQgcGlkIDE0NzUwNDE6IERFQlVHOiAgcG9v bF9mbHVzaF9pdDogZmx1c2ggc2l6ZTogMTIwDQoNCj4gSGkgVGF0c3VvLA0KPiANCj4gVGhhbmsg eW91IGZvciB0aGUgcmVwb3J0IGFuZCB0aGUgbG9nLCB0aGF0IHdhcyB2ZXJ5IGhlbHBmdWwuDQo+ IA0KPiBUaGUgYnVnIHdhcyBpbiB0aGUgdGVzdCwgbm90IGluIHRoZSBjb3JlIHBhdGNoLiBUZXN0 IDQgaW4gMDQyLnNzbF9yZWxvYWQNCj4gc2V0IFBHU1NMUk9PVENFUlQ9IiRDQURJUi9jYTEuY3J0 IiBvbiBib3RoIHBzcWwgaW52b2NhdGlvbnMuIFRoZSBpbnRlbnQgd2FzDQo+IHRvIHVzZSBjYTEu Y3J0IGZvciBzZXJ2ZXItc2lkZSBjbGllbnQtY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uLCBidXQN Cj4gUEdTU0xST09UQ0VSVCBhY3R1YWxseSBjb250cm9scyBjbGllbnQtc2lkZSBzZXJ2ZXIgY2Vy dGlmaWNhdGUNCj4gdmVyaWZpY2F0aW9uLCBhbmQgY2ExLmNydCBpcyBhIGZyZXNobHkgZ2VuZXJh dGVkIENBIHRoYXQgbmV2ZXIgc2lnbmVkDQo+IHBncG9vbCdzIHNlcnZlci5jcnQuIEJlY2F1c2Ug bGlicHEgdXBncmFkZXMgc3NsbW9kZT1yZXF1aXJlIHRvIHZlcmlmeS1jYQ0KPiBiZWhhdmlvciB3 aGVuIGEgcm9vdCBDQSBmaWxlIGlzIHByb3ZpZGVkLCBwc3FsIGltbWVkaWF0ZWx5IHNlbnQgdW5r bm93bl9jYQ0KPiBiYWNrIHRvIHBncG9vbCBhbmQgYWJvcnRlZCB0aGUgaGFuZHNoYWtlIGJlZm9y ZSBzZXJ2ZXItc2lkZSBjbGllbnQtY2VydA0KPiB2ZXJpZmljYXRpb24gZXZlciByYW4uDQo+IA0K PiBGaXg6IGJvdGggbGluZXMgbm93IHVzZSBQR1NTTFJPT1RDRVJUPSJldGMvJFNTTF9DUlQiLiBT aW5jZSBzZXJ2ZXIuY3J0IGlzDQo+IHNlbGYtc2lnbmVkIGl0IGFjdHMgYXMgaXRzIG93biByb290 LCBzbyBwc3FsIGFjY2VwdHMgcGdwb29sJ3Mgc2VydmVyIGNlcnQsDQo+IHRoZSBoYW5kc2hha2Ug Y29tcGxldGVzLCBhbmQgdGhlIHRlc3QgZXhlcmNpc2VzIHdoYXQgaXQgd2FzIGFsd2F5cyBtZWFu dCB0bw0KPiB0ZXN0OiB3aGV0aGVyIHBncG9vbCBlbmZvcmNlcyB0aGUgbmV3IHNzbF9jYV9jZXJ0 IGFmdGVyIHJlbG9hZC4NCj4gDQo+IE5vIGNoYW5nZXMgdG8gdGhlIGNvcmUgcGF0Y2guDQo+IA0K PiBQbGVhc2UgZmluZCB2MyBhdHRhY2hlZC4gUGxlYXNlIGxldCBtZSBrbm93IGlmIGl0IGZpeGVz IHRoZSB0ZXN0IGlzc3VlLg0KPiANCj4gQmVzdCByZWdhcmRzLA0KPiBCb2INCj4gDQo+IE9uIFRo dSwgQXByIDE2LCAyMDI2IGF0IDEyOjMx4oCvUE0gVGF0c3VvIElzaGlpIDxpc2hpaUBwb3N0Z3Jl c3FsLm9yZz4gd3JvdGU6DQo+IA0KPj4gSGkgQm9iLA0KPj4NCj4+IFRoYW5rIHlvdSBmb3IgdGhl IHBhdGNoIQ0KPj4NCj4+IFVuZm9ydHVuYXRlbHkgYWZ0ZXIgYXBwbHlpbmcgdGhlIHBhdGNoLCB0 aGUgdGVzdCBmYWlsZWQuIEZyb20NCj4+IHNyYy90ZXN0L3JlZ3Jlc3Npb24vbG9nLzA0Mi5zc2xf cmVsb2FkOg0KPj4NCj4+ID09PT09IHNzbF9jYV9jZXJ0IHN3YXAgKGNsaWVudCBjZXJ0IGF1dGgg cmVsb2FkKSA9PT09PQ0KPj4gd2FpdGluZyBmb3Igc2VydmVyIHRvIHN0YXJ0Li4uLjE0NjIyODkg MjAyNi0wNC0xNiAxOToyNTo0OS40OTAgSlNUIExPRzoNCj4+IHJlZGlyZWN0aW5nIGxvZyBvdXRw dXQgdG8gbG9nZ2luZyBjb2xsZWN0b3IgcHJvY2Vzcw0KPj4gMTQ2MjI4OSAyMDI2LTA0LTE2IDE5 OjI1OjQ5LjQ5MCBKU1QgSElOVDogIEZ1dHVyZSBsb2cgb3V0cHV0IHdpbGwgYXBwZWFyDQo+PiBp biBkaXJlY3RvcnkgImxvZyIuDQo+PiAgZG9uZQ0KPj4gc2VydmVyIHN0YXJ0ZWQNCj4+IENBIGNl cnQgc3dhcDogQ0ExLXNpZ25lZCBjbGllbnQgY2VydCByZWplY3RlZCBiZWZvcmUgcmVsb2FkIOKA kyB1bmV4cGVjdGVkLg0KPj4NCj4+IEZyb20gcGdwb29sLmxvZzoNCj4+DQo+PiAyMDI2LTA0LTE2 IDE5OjI2OjEwLjE1MDogY2hpbGQgcGlkIDE0NjIzMzE6IERFVEFJTDogIFByb3RvY29sIE1ham9y OiAxMjM0DQo+PiBNaW5vcjogNTY3OSBkYXRhYmFzZTogIHVzZXI6DQo+PiAyMDI2LTA0LTE2IDE5 OjI2OjEwLjE1MDogY2hpbGQgcGlkIDE0NjIzMzE6IERFQlVHOiAgc2VsZWN0aW5nIGJhY2tlbmQN Cj4+IGNvbm5lY3Rpb24NCj4+IDIwMjYtMDQtMTYgMTk6MjY6MTAuMTUwOiBjaGlsZCBwaWQgMTQ2 MjMzMTogREVUQUlMOiAgU1NMUmVxdWVzdCBmcm9tIGNsaWVudA0KPj4gMjAyNi0wNC0xNiAxOToy NjoxMC4xNTA6IGNoaWxkIHBpZCAxNDYyMzMxOiBERUJVRzogIHBvb2xfd3JpdGU6IHRvDQo+PiBm cm9udGVuZDoga2luZDpTIHBvOjANCj4+IDIwMjYtMDQtMTYgMTk6MjY6MTAuMTUwOiBjaGlsZCBw aWQgMTQ2MjMzMTogREVCVUc6ICBwb29sX2ZsdXNoX2l0OiBmbHVzaA0KPj4gc2l6ZTogMQ0KPj4g MjAyNi0wNC0xNiAxOToyNjoxMC4xNjc6IGNoaWxkIHBpZCAxNDYyMzMxOiBMT0c6ICBwb29sX3Nz bDogIlNTTF9hY2NlcHQiOg0KPj4gInRsc3YxIGFsZXJ0IHVua25vd24gY2EiDQo+PiAyMDI2LTA0 LTE2IDE5OjI2OjEwLjE2NzogY2hpbGQgcGlkIDE0NjIzMzE6IERFQlVHOiAgdW5hYmxlIHRvIHJl YWQgZGF0YQ0KPj4gZnJvbSBmcm9udGVuZA0KPj4gMjAyNi0wNC0xNiAxOToyNjoxMC4xNjc6IGNo aWxkIHBpZCAxNDYyMzMxOiBERVRBSUw6ICBzb2NrZXQgcmVhZCBmYWlsZWQNCj4+IHdpdGggZXJy b3IgIkNvbm5lY3Rpb24gcmVzZXQgYnkgcGVlciINCj4+DQo+PiBQbGVhc2UgbGV0IG1lIGtub3cg aWYgeW91IG5lZWQgbW9yZSBpbmZvLg0KPj4NCj4+IFJlZ2FyZHMsDQo+PiAtLQ0KPj4gVGF0c3Vv IElzaGlpDQo+PiBTUkEgT1NTIEsuSy4NCj4+IEVuZ2xpc2g6IGh0dHA6Ly93d3cuc3Jhb3NzLmNv LmpwL2luZGV4X2VuLw0KPj4gSmFwYW5lc2U6aHR0cDovL3d3dy5zcmFvc3MuY28uanANCj4+DQo+ PiA+IEhpIFRhdHN1bywNCj4+ID4NCj4+ID4gUGxlYXNlIHNlZSBhdHRhY2hlZCB2Mi4gSXQgYWRk cyByZWdyZXNzaW9uIGNvdmVyYWdlIGZvciBTU0wgY2VydCByZWxvYWQNCj4+ID4gd2l0aCBjbGll bnQgY2VydGlmaWNhdGUgYXV0aGVudGljYXRpb247IHRoZXJlIGFyZSBubyBmdW5jdGlvbmFsIGNv ZGUNCj4+ID4gY2hhbmdlcy4NCj4+ID4NCj4+ID4gQmVzdCByZWdhcmRzLA0KPj4gPiBCb2INCj4+ ID4NCj4+ID4NCj4+ID4gT24gVHVlLCBBcHIgMTQsIDIwMjYgYXQgMTA6MDLigK9BTSBUYXRzdW8g SXNoaWkgPGlzaGlpQHBvc3RncmVzcWwub3JnPg0KPj4gd3JvdGU6DQo+PiA+DQo+PiA+PiBIaSBC b2IsDQo+PiA+Pg0KPj4gPj4gPiBIaSBUYXRzdW8sDQo+PiA+PiA+DQo+PiA+PiA+IFBsZWFzZSBs ZXQgbWUga25vdyBpZiB5b3UgbmVlZCBhbnkgYXNzaXN0YW5jZSB3aXRoIHVwZGF0aW5nIHlvdXIg dGVzdA0KPj4gPj4gPiBjYXNlcy4gSSBhbSBiZSBoYXBweSB0byBoZWxwLg0KPj4gPj4gPg0KPj4g Pj4gPiBUaGFua3MsDQo+PiA+PiA+IEJvYg0KPj4gPj4NCj4+ID4+IFNvcnJ5IGZvciBsYXRlLiBJ IHdhcyBidXN5IHdpdGggcGVyc29uYWwgYWZmYWlycyBhbmQgc29tZSBvdGhlcg0KPj4gPj4gcHJv amVjdHMuDQo+PiA+Pg0KPj4gPj4gPiBPbiBUaHUsIEFwciAyLCAyMDI2IGF0IDk6NTfigK9QTSBC b2IgUm9zcyA8Ym9iLnJvc3MuMTk4MjFAZ21haWwuY29tPg0KPj4gPj4gd3JvdGU6DQo+PiA+PiA+ DQo+PiA+PiA+PiBIaSBUYXRzdW8sDQo+PiA+PiA+Pg0KPj4gPj4gPj4gVGhhbmtzIGZvciBwdXR0 aW5nIHRvZ2V0aGVyIHRoZSByZWdyZXNzaW9uIHRlc3RzLg0KPj4gPj4gPj4NCj4+ID4+ID4+IFRo b3VnaHRzIG9uIHlvdXIgcXVlc3Rpb25zOg0KPj4gPj4gPj4gLSBDQSBDZXJ0aWZpY2F0ZXMgLSBZ ZXMsIGFkZGluZyBhIGNlcnQgYXV0aCB0ZXN0IGlzIGhpZ2hseQ0KPj4gcmVjb21tZW5kZWQuDQo+ PiA+PiBXZQ0KPj4gPj4gPj4gY291bGQgdGVzdCB0aGlzIGJ5IGdlbmVyYXRpbmcgdHdvIGRpZmZl cmVudCBkdW1teSBDQSBjZXJ0aWZpY2F0ZXMuDQo+PiBTdGFydA0KPj4gPj4gPj4gcGdwb29sIHRy dXN0aW5nIENBICMxLCBzd2FwIHRoZSBjb25maWcgdG8gQ0EgIzIsIHJlbG9hZCBhbmQgdmVyaWZ5 IGlmDQo+PiA+PiA+PiBjbGllbnQgY29ubmVjdGlvbiBjb3JyZWN0bHkgZ2V0cyByZWplY3RlZC4N Cj4+ID4+DQo+PiA+PiBJZiB5b3UgY291bGQgZXh0ZW5kIHRoZSB0ZXN0IGZpbGUgSSBwb3N0ZWQg c28gdGhhdCBpdCBwZXJmb3JtcyBhIGNlcnQNCj4+ID4+IGF1dGggdGVzdCwgdGhhdCB3b3VsZCBi ZSBoZWxwZnVsLg0KPj4gPj4NCj4+ID4+ID4+IC0gREggcGFyYW1ldGVycyAtIHBlcmhhcHMgd2Ug Y2FuIHRlc3QgdGhpcyBieSBwcm92aWRpbmcgYQ0KPj4gbm9uLWV4aXN0ZW50DQo+PiA+PiA+PiBm aWxlIHBhdGggYW5kIHRoZW4gdXNlIGdyZXAgdG8gY2hlY2sgcGdwb29sLmxvZyBmb3Igc3BlY2lm aWMgd2FybmluZw0KPj4gPj4gPj4gbWVzc2FnZSAocGVyIHBvb2xfc3NsLmMgaXTigJlzIOKAnERI OiBjb3VsZCBub3QgbG9hZCBESCBwYXJhbWV0ZXJz4oCdKSB3aGVuDQo+PiA+PiA+PiBwZ3Bvb2wg dHJpZXMgdG8gbG9hZCB0aGUgZmlsZS4NCj4+ID4+DQo+PiA+PiBJIHRoaW5rIGl0IHdpbGwgbm90 IHdvcmsuDQo+PiA+Pg0KPj4gPj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPj4gPj4gc3RhdGljIGJvb2wNCj4+ID4+ IGluaXRpYWxpemVfZGgoU1NMX0NUWCAqY29udGV4dCkNCj4+ID4+IHsNCj4+ID4+ICAgICAgICAg REggICAgICAgICAgICAgICAgICpkaCA9IE5VTEw7DQo+PiA+Pg0KPj4gPj4gICAgICAgICBTU0xf Q1RYX3NldF9vcHRpb25zKGNvbnRleHQsIFNTTF9PUF9TSU5HTEVfREhfVVNFKTsNCj4+ID4+DQo+ PiA+PiAgICAgICAgIGlmIChwb29sX2NvbmZpZy0+c3NsX2RoX3BhcmFtc19maWxlWzBdKQ0KPj4g Pj4gICAgICAgICAgICAgICAgIGRoID0gbG9hZF9kaF9maWxlKHBvb2xfY29uZmlnLT5zc2xfZGhf cGFyYW1zX2ZpbGUpOw0KPj4gPj4gICAgICAgICBpZiAoIWRoKQ0KPj4gPj4gICAgICAgICAgICAg ICAgIGRoID0gbG9hZF9kaF9idWZmZXIoRklMRV9ESDIwNDgsIHNpemVvZihGSUxFX0RIMjA0OCkp Ow0KPj4gPj4gICAgICAgICBpZiAoIWRoKQ0KPj4gPj4gICAgICAgICB7DQo+PiA+PiAgICAgICAg ICAgICAgICAgZXJlcG9ydChXQVJOSU5HLA0KPj4gPj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoZXJybXNnKCJESDogY291bGQgbm90IGxvYWQgREgNCj4+ID4+IHBhcmFtZXRlcnMi KSkpOw0KPj4gPj4gICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCj4+ID4+ICAgICAgICAg fQ0KPj4gPj4gOg0KPj4gPj4gOg0KPj4gPj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPj4gPj4NCj4+ID4+IFRoZSBl cmVwb3J0IG1lc3NhZ2UgaXMgcHJpbnRlZCB3aGVuIHRoZSBidWlsdC1pbiBESCBwYXJhbWV0ZXIg ZmlsZSBpcw0KPj4gPj4gYnJva2VuLiBCdXQgYXMgbG9uZyBhcyB0aGUgc291cmNlIGZpbGUgaXMg ZmluZSwgaXQgd291bGQgbmV2ZXIgaGFwcGVuLg0KPj4gPj4NCj4+ID4+IE1heWJlIHdlIHNob3Vs ZCBmaXggdGhlIGNvZGUgYWJvdmUgc28gdGhhdCBpdCBlbWl0cyBlcmVwb3J0IHdoZW4gaXQNCj4+ ID4+IGZhaWxzIHRvIGxvYWQgdGhlIERIIHBhcmFtZXRlciBmaWxlIHNwZWNpZmllZCBieSBzc2xf ZGhfcGFyYW1zX2ZpbGU/DQo+PiA+Pg0KPj4gPj4gUmVnYXJkcywNCj4+ID4+IC0tDQo+PiA+PiBU YXRzdW8gSXNoaWkNCj4+ID4+IFNSQSBPU1MgSy5LLg0KPj4gPj4gRW5nbGlzaDogaHR0cDovL3d3 dy5zcmFvc3MuY28uanAvaW5kZXhfZW4vDQo+PiA+PiBKYXBhbmVzZTpodHRwOi8vd3d3LnNyYW9z cy5jby5qcA0KPj4gPj4NCj4+DQo=