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 1tVxyG-00D3fH-Rl for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Jan 2025 19:13:34 +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 1tVxyG-006efU-0F for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Jan 2025 19:13:31 +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 1tVxyF-006efM-Fd for pgsql-hackers@lists.postgresql.org; Thu, 09 Jan 2025 19:13:31 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tVxyC-000maT-13 for pgsql-hackers@postgresql.org; Thu, 09 Jan 2025 19:13:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1736450008; bh=a4O0zjs79AE7OdBaddll89IV/vdxiUNGFfLeouFGZiU=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=3gnvr1l3CBLxxilauehY2HpaBKtwzCXGqdgVDpKM5rB+ZcduwN0u8d92GVsOXI6oa rA/zp/YziOZn5EvjaEjJ2iCibOoO01J/+HcDinE0UTg18QYloCDuNZqgBLsOdi3fGB 3CHifLBRu6qtH/Xf5zlwGJTpC9rpDLwVowGk/8B8sgeY//y/LFR+A4XubbjAaxNu+s ITfek5bHHCtb34Jjh5i682fV3PHt5J5vPZuJ7jgL22Cf0hagsVPYzDTmMbzxoxkSG/ N3vf8wUYIv9s8E1qIU8e7YCvA5UqtvDBxqKHKr8/5KWsIztp+7Y9rKe7A5ra92JEXh z7pzZdc+2csGg== Received: from [172.20.10.4] (unknown [89.113.153.156]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: a.rybakina@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 9C56C608B3; Thu, 9 Jan 2025 22:13:27 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------kaTkFibhHkymjhc6ZxIm4cCG" Message-ID: Date: Thu, 9 Jan 2025 22:13:26 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Sample rate added to pg_stat_statements To: Ilia Evdokimov Cc: Alexander Korotkov , Michael Paquier , Greg Sabino Mullane , "Andrey M. Borodin" , Sami Imseih , pgsql-hackers References: <6707FCA9-FD1A-4609-A1A6-142456C14E0C@yandex-team.ru> <320a31e6-4c91-438b-ab17-8a1d72384727@tantorlabs.com> <52e5e3aa-066a-4daf-8d65-77c34a2f0d98@tantorlabs.com> <6482A576-4465-4E46-A42C-F1767E8DDE30@yandex-team.ru> <20994d10-ab44-4c6b-91bc-c4675cd2e58e@tantorlabs.com> <9D8A5BC8-A3A5-4DA9-9382-F30D343247D1@yandex-team.ru> <6cf6270b-e8fa-4d99-b74a-17e781cdf309@tantorlabs.com> Content-Language: en-US From: Alena Rybakina In-Reply-To: <6cf6270b-e8fa-4d99-b74a-17e781cdf309@tantorlabs.com> X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2025/01/09 16:59:00 #26963786 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------kaTkFibhHkymjhc6ZxIm4cCG Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi! Thank you for the work with this subject. I looked at your patch and noticed that this part of the code is repeated several times: if (nesting_level == 0)     {         if (!IsParallelWorker())             current_query_sampled = pg_prng_double(&pg_global_prng_state) < pgss_sample_rate;         else             current_query_sampled = false;     } I think you should put this in a function like update_current_query_sampled. I've attached a diff file with the changes. -- Regards, Alena Rybakina Postgres Professional --------------kaTkFibhHkymjhc6ZxIm4cCG Content-Type: text/x-patch; charset=UTF-8; name="Allow_setting_sample_ratio_for_pg_stat_statements.diff" Content-Disposition: attachment; filename="Allow_setting_sample_ratio_for_pg_stat_statements.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1lbnRzL2V4cGVjdGVkL3NlbGVj dC5vdXQgYi9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9leHBlY3RlZC9zZWxlY3Qub3V0 CmluZGV4IDM3YTMwYWYwMzRhLi41NThkOTNmYjQ2OCAxMDA2NDQKLS0tIGEvY29udHJpYi9w Z19zdGF0X3N0YXRlbWVudHMvZXhwZWN0ZWQvc2VsZWN0Lm91dAorKysgYi9jb250cmliL3Bn X3N0YXRfc3RhdGVtZW50cy9leHBlY3RlZC9zZWxlY3Qub3V0CkBAIC0xNTMsNiArMTUzLDgy IEBAIFNFTEVDVCBwZ19zdGF0X3N0YXRlbWVudHNfcmVzZXQoKSBJUyBOT1QgTlVMTCBBUyB0 OwogIHQKICgxIHJvdykKIAorLS0KKy0tIHNhbXBsZSBzdGF0ZW1lbnRzCistLQorU0VUIHBn X3N0YXRfc3RhdGVtZW50cy5zYW1wbGVfcmF0ZSA9IDAuMDsKK1NFTEVDVCAxIEFTICJpbnQi OworIGludCAKKy0tLS0tCisgICAxCisoMSByb3cpCisKK1NFTEVDVCBxdWVyeSwgY2FsbHMg RlJPTSBwZ19zdGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7Cisg ICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICAgICAgICAgICAgICAgICAgICAgICAgfCBj YWxscyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLQorIFNFTEVDVCBwZ19zdGF0X3N0YXRlbWVudHNfcmVzZXQoKSBJUyBO T1QgTlVMTCBBUyB0IHwgICAgIDEKKygxIHJvdykKKworU0VUIHBnX3N0YXRfc3RhdGVtZW50 cy5zYW1wbGVfcmF0ZSA9IDEuMDsKK1NFTEVDVCAxIEFTICJpbnQiOworIGludCAKKy0tLS0t CisgICAxCisoMSByb3cpCisKK1NFTEVDVCBxdWVyeSwgY2FsbHMgRlJPTSBwZ19zdGF0X3N0 YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBxdWVyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IGNhbGxzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBTRUxFQ1QgJDEgQVMg ImludCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgIDEKKyBTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCkgSVMgTk9U IE5VTEwgQVMgdCAgICAgICAgICAgICAgICAgICAgIHwgICAgIDEKKyBTRUxFQ1QgcXVlcnks IGNhbGxzIEZST00gcGdfc3RhdF9zdGF0ZW1lbnRzIE9SREVSIEJZIHF1ZXJ5IENPTExBVEUg IkMiIHwgICAgIDAKKygzIHJvd3MpCisKK1NFTEVDVCBwZ19zdGF0X3N0YXRlbWVudHNfcmVz ZXQoKSBJUyBOT1QgTlVMTCBBUyB0OworIHQgCistLS0KKyB0CisoMSByb3cpCisKK3NldCBw Z19zdGF0X3N0YXRlbWVudHMuc2FtcGxlX3JhdGUgPSAwLjA7CitzZWxlY3QgcGdfc3RhdF9z dGF0ZW1lbnRzX3Jlc2V0KCkgSVMgTk9UIE5VTEwgQVMgdDsKKyB0IAorLS0tCisgdAorKDEg cm93KQorCitTRUxFQ1QgMSBccGFyc2Ugc3RtdAorXGJpbmRfbmFtZWQgc3RtdCBcZworID9j b2x1bW4/IAorLS0tLS0tLS0tLQorICAgICAgICAxCisoMSByb3cpCisKK1NFTEVDVCBxdWVy eSwgY2FsbHMgRlJPTSBwZ19zdGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFU RSAiQyI7CisgcXVlcnkgfCBjYWxscyAKKy0tLS0tLS0rLS0tLS0tLQorKDAgcm93cykKKwor c2V0IHBnX3N0YXRfc3RhdGVtZW50cy5zYW1wbGVfcmF0ZSA9IDEuMDsKK1xiaW5kX25hbWVk IHN0bXQgXGcKKyA/Y29sdW1uPyAKKy0tLS0tLS0tLS0KKyAgICAgICAgMQorKDEgcm93KQor CitTRUxFQ1QgcXVlcnksIGNhbGxzIEZST00gcGdfc3RhdF9zdGF0ZW1lbnRzIE9SREVSIEJZ IHF1ZXJ5IENPTExBVEUgIkMiOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cXVlcnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBjYWxscyAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tCisgU0VMRUNUICQxICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAxCisgU0VM RUNUIHF1ZXJ5LCBjYWxscyBGUk9NIHBnX3N0YXRfc3RhdGVtZW50cyBPUkRFUiBCWSBxdWVy eSBDT0xMQVRFICJDIiB8ICAgICAwCisoMiByb3dzKQorCitzZWxlY3QgcGdfc3RhdF9zdGF0 ZW1lbnRzX3Jlc2V0KCkgSVMgTk9UIE5VTEwgQVMgdDsKKyB0IAorLS0tCisgdAorKDEgcm93 KQorCiAtLQogLS0gcXVlcmllcyB3aXRoIGxvY2tpbmcgY2xhdXNlcwogLS0KZGlmZiAtLWdp dCBhL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1lbnRzL3BnX3N0YXRfc3RhdGVtZW50cy5jIGIv Y29udHJpYi9wZ19zdGF0X3N0YXRlbWVudHMvcGdfc3RhdF9zdGF0ZW1lbnRzLmMKaW5kZXgg YmViZjgxMzRlYjAuLjczNzk1NDU4MzY0IDEwMDY0NAotLS0gYS9jb250cmliL3BnX3N0YXRf c3RhdGVtZW50cy9wZ19zdGF0X3N0YXRlbWVudHMuYworKysgYi9jb250cmliL3BnX3N0YXRf c3RhdGVtZW50cy9wZ19zdGF0X3N0YXRlbWVudHMuYwpAQCAtNTAsNiArNTAsNyBAQAogI2lu Y2x1ZGUgImFjY2Vzcy9wYXJhbGxlbC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfYXV0aGlk LmgiCiAjaW5jbHVkZSAiY29tbW9uL2ludC5oIgorI2luY2x1ZGUgImNvbW1vbi9wZ19wcm5n LmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvaW5zdHJ1bWVudC5oIgogI2luY2x1ZGUgImZ1bmNh cGkuaCIKICNpbmNsdWRlICJqaXQvaml0LmgiCkBAIC0yOTQsNiArMjk1LDEwIEBAIHN0YXRp YyBib29sIHBnc3NfdHJhY2tfdXRpbGl0eSA9IHRydWU7CS8qIHdoZXRoZXIgdG8gdHJhY2sg dXRpbGl0eSBjb21tYW5kcyAqLwogc3RhdGljIGJvb2wgcGdzc190cmFja19wbGFubmluZyA9 IGZhbHNlOwkvKiB3aGV0aGVyIHRvIHRyYWNrIHBsYW5uaW5nCiAJCQkJCQkJCQkJCSAqIGR1 cmF0aW9uICovCiBzdGF0aWMgYm9vbCBwZ3NzX3NhdmUgPSB0cnVlOwkvKiB3aGV0aGVyIHRv IHNhdmUgc3RhdHMgYWNyb3NzIHNodXRkb3duICovCitzdGF0aWMgZG91YmxlIHBnc3Nfc2Ft cGxlX3JhdGUgPSAxOworCisvKiBJcyB0aGUgY3VycmVudCB0b3AtbGV2ZWwgcXVlcnkgdG8g YmUgc2FtcGxlZD8gKi8KK3N0YXRpYyBib29sIGN1cnJlbnRfcXVlcnlfc2FtcGxlZCA9IGZh bHNlOwogCiAKICNkZWZpbmUgcGdzc19lbmFibGVkKGxldmVsKSBcCkBAIC00MTQsNiArNDE5 LDE5IEBAIF9QR19pbml0KHZvaWQpCiAJCQkJCQkJTlVMTCwKIAkJCQkJCQlOVUxMKTsKIAor CURlZmluZUN1c3RvbVJlYWxWYXJpYWJsZSgicGdfc3RhdF9zdGF0ZW1lbnRzLnNhbXBsZV9y YXRlIiwKKwkJCQkJCQkgIkZyYWN0aW9uIG9mIHF1ZXJpZXMgdG8gdHJhY2suIiwKKwkJCQkJ CQkgTlVMTCwKKwkJCQkJCQkgJnBnc3Nfc2FtcGxlX3JhdGUsCisJCQkJCQkJIDEuMCwKKwkJ CQkJCQkgMC4wLAorCQkJCQkJCSAxLjAsCisJCQkJCQkJIFBHQ19TVVNFVCwKKwkJCQkJCQkg MCwKKwkJCQkJCQkgTlVMTCwKKwkJCQkJCQkgTlVMTCwKKwkJCQkJCQkgTlVMTCk7CisKIAlE ZWZpbmVDdXN0b21FbnVtVmFyaWFibGUoInBnX3N0YXRfc3RhdGVtZW50cy50cmFjayIsCiAJ CQkJCQkJICJTZWxlY3RzIHdoaWNoIHN0YXRlbWVudHMgYXJlIHRyYWNrZWQgYnkgcGdfc3Rh dF9zdGF0ZW1lbnRzLiIsCiAJCQkJCQkJIE5VTEwsCkBAIC04NzcsNiArODk1LDE4IEBAIHBn c3NfcG9zdF9wYXJzZV9hbmFseXplKFBhcnNlU3RhdGUgKnBzdGF0ZSwgUXVlcnkgKnF1ZXJ5 LCBKdW1ibGVTdGF0ZSAqanN0YXRlKQogCQkJCSAgIDApOwogfQogCitzdGF0aWMgdm9pZAor dXBkYXRlX2N1cnJlbnRfcXVlcnlfc2FtcGxlZCgpCit7CisJaWYgKG5lc3RpbmdfbGV2ZWwg PT0gMCkKKwl7CisJCWlmICghSXNQYXJhbGxlbFdvcmtlcigpKQorCQkJY3VycmVudF9xdWVy eV9zYW1wbGVkID0gcGdfcHJuZ19kb3VibGUoJnBnX2dsb2JhbF9wcm5nX3N0YXRlKSA8IHBn c3Nfc2FtcGxlX3JhdGU7CisJCWVsc2UKKwkJCWN1cnJlbnRfcXVlcnlfc2FtcGxlZCA9IGZh bHNlOworCisJfQorfQogLyoKICAqIFBsYW5uZXIgaG9vazogZm9yd2FyZCB0byByZWd1bGFy IHBsYW5uZXIsIGJ1dCBtZWFzdXJlIHBsYW5uaW5nIHRpbWUKICAqIGlmIG5lZWRlZC4KQEAg LTg4OSwxMiArOTE5LDE1IEBAIHBnc3NfcGxhbm5lcihRdWVyeSAqcGFyc2UsCiB7CiAJUGxh bm5lZFN0bXQgKnJlc3VsdDsKIAorCWlmIChuZXN0aW5nX2xldmVsID09IDApCisJCXVwZGF0 ZV9jdXJyZW50X3F1ZXJ5X3NhbXBsZWQoKTsKKwogCS8qCiAJICogV2UgY2FuJ3QgcHJvY2Vz cyB0aGUgcXVlcnkgaWYgbm8gcXVlcnlfc3RyaW5nIGlzIHByb3ZpZGVkLCBhcwogCSAqIHBn c3Nfc3RvcmUgbmVlZHMgaXQuICBXZSBhbHNvIGlnbm9yZSBxdWVyeSB3aXRob3V0IHF1ZXJ5 aWQsIGFzIGl0IHdvdWxkCiAJICogYmUgdHJlYXRlZCBhcyBhIHV0aWxpdHkgc3RhdGVtZW50 LCB3aGljaCBtYXkgbm90IGJlIHRoZSBjYXNlLgogCSAqLwotCWlmIChwZ3NzX2VuYWJsZWQo bmVzdGluZ19sZXZlbCkKKwlpZiAocGdzc19lbmFibGVkKG5lc3RpbmdfbGV2ZWwpICYmIGN1 cnJlbnRfcXVlcnlfc2FtcGxlZAogCQkmJiBwZ3NzX3RyYWNrX3BsYW5uaW5nICYmIHF1ZXJ5 X3N0cmluZwogCQkmJiBwYXJzZS0+cXVlcnlJZCAhPSBVSU5UNjRDT05TVCgwKSkKIAl7CkBA IC05OTQsMTIgKzEwMjcsMTYgQEAgcGdzc19FeGVjdXRvclN0YXJ0KFF1ZXJ5RGVzYyAqcXVl cnlEZXNjLCBpbnQgZWZsYWdzKQogCWVsc2UKIAkJc3RhbmRhcmRfRXhlY3V0b3JTdGFydChx dWVyeURlc2MsIGVmbGFncyk7CiAKKwlpZiAobmVzdGluZ19sZXZlbCA9PSAwKQorCQl1cGRh dGVfY3VycmVudF9xdWVyeV9zYW1wbGVkKCk7CisKIAkvKgogCSAqIElmIHF1ZXJ5IGhhcyBx dWVyeUlkIHplcm8sIGRvbid0IHRyYWNrIGl0LiAgVGhpcyBwcmV2ZW50cyBkb3VibGUKIAkg KiBjb3VudGluZyBvZiBvcHRpbWl6YWJsZSBzdGF0ZW1lbnRzIHRoYXQgYXJlIGRpcmVjdGx5 IGNvbnRhaW5lZCBpbgogCSAqIHV0aWxpdHkgc3RhdGVtZW50cy4KIAkgKi8KLQlpZiAocGdz c19lbmFibGVkKG5lc3RpbmdfbGV2ZWwpICYmIHF1ZXJ5RGVzYy0+cGxhbm5lZHN0bXQtPnF1 ZXJ5SWQgIT0gVUlOVDY0Q09OU1QoMCkpCisJaWYgKHBnc3NfZW5hYmxlZChuZXN0aW5nX2xl dmVsKSAmJiBjdXJyZW50X3F1ZXJ5X3NhbXBsZWQgJiYKKwkJcXVlcnlEZXNjLT5wbGFubmVk c3RtdC0+cXVlcnlJZCAhPSBVSU5UNjRDT05TVCgwKSkKIAl7CiAJCS8qCiAJCSAqIFNldCB1 cCB0byB0cmFjayB0b3RhbCBlbGFwc2VkIHRpbWUgaW4gRXhlY3V0b3JSdW4uICBNYWtlIHN1 cmUgdGhlCkBAIC0xMTExLDcgKzExNDgsMTMgQEAgcGdzc19Qcm9jZXNzVXRpbGl0eShQbGFu bmVkU3RtdCAqcHN0bXQsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nLAogCXVpbnQ2NAkJc2F2 ZWRfcXVlcnlJZCA9IHBzdG10LT5xdWVyeUlkOwogCWludAkJCXNhdmVkX3N0bXRfbG9jYXRp b24gPSBwc3RtdC0+c3RtdF9sb2NhdGlvbjsKIAlpbnQJCQlzYXZlZF9zdG10X2xlbiA9IHBz dG10LT5zdG10X2xlbjsKLQlib29sCQllbmFibGVkID0gcGdzc190cmFja191dGlsaXR5ICYm IHBnc3NfZW5hYmxlZChuZXN0aW5nX2xldmVsKTsKKwlib29sCQllbmFibGVkOworCisJaWYg KG5lc3RpbmdfbGV2ZWwgPT0gMCkKKwkJdXBkYXRlX2N1cnJlbnRfcXVlcnlfc2FtcGxlZCgp OworCisJLyogY3VycmVudF9xdWVyeV9zYW1wbGVkIGlzIGluIHBnc3NfZW5hYmxlZCAqLwor CWVuYWJsZWQgPSBwZ3NzX3RyYWNrX3V0aWxpdHkgJiYgcGdzc19lbmFibGVkKG5lc3Rpbmdf bGV2ZWwpICYmIGN1cnJlbnRfcXVlcnlfc2FtcGxlZDsKIAogCS8qCiAJICogRm9yY2UgdXRp bGl0eSBzdGF0ZW1lbnRzIHRvIGdldCBxdWVyeUlkIHplcm8uICBXZSBkbyB0aGlzIGV2ZW4g aW4gY2FzZXMKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfc3RhdF9zdGF0ZW1lbnRzL3NxbC9z ZWxlY3Quc3FsIGIvY29udHJpYi9wZ19zdGF0X3N0YXRlbWVudHMvc3FsL3NlbGVjdC5zcWwK aW5kZXggZTBiZTU4ZDVlMjQuLjIxZjA5ZWY5NGE2IDEwMDY0NAotLS0gYS9jb250cmliL3Bn X3N0YXRfc3RhdGVtZW50cy9zcWwvc2VsZWN0LnNxbAorKysgYi9jb250cmliL3BnX3N0YXRf c3RhdGVtZW50cy9zcWwvc2VsZWN0LnNxbApAQCAtNTksNiArNTksMjcgQEAgREVBTExPQ0FU RSBwZ3NzX3Rlc3Q7CiBTRUxFQ1QgY2FsbHMsIHJvd3MsIHF1ZXJ5IEZST00gcGdfc3RhdF9z dGF0ZW1lbnRzIE9SREVSIEJZIHF1ZXJ5IENPTExBVEUgIkMiOwogU0VMRUNUIHBnX3N0YXRf c3RhdGVtZW50c19yZXNldCgpIElTIE5PVCBOVUxMIEFTIHQ7CiAKKy0tCistLSBzYW1wbGUg c3RhdGVtZW50cworLS0KK1NFVCBwZ19zdGF0X3N0YXRlbWVudHMuc2FtcGxlX3JhdGUgPSAw LjA7CitTRUxFQ1QgMSBBUyAiaW50IjsKK1NFTEVDVCBxdWVyeSwgY2FsbHMgRlJPTSBwZ19z dGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CitTRVQgcGdfc3Rh dF9zdGF0ZW1lbnRzLnNhbXBsZV9yYXRlID0gMS4wOworU0VMRUNUIDEgQVMgImludCI7CitT RUxFQ1QgcXVlcnksIGNhbGxzIEZST00gcGdfc3RhdF9zdGF0ZW1lbnRzIE9SREVSIEJZIHF1 ZXJ5IENPTExBVEUgIkMiOworU0VMRUNUIHBnX3N0YXRfc3RhdGVtZW50c19yZXNldCgpIElT IE5PVCBOVUxMIEFTIHQ7CisKK3NldCBwZ19zdGF0X3N0YXRlbWVudHMuc2FtcGxlX3JhdGUg PSAwLjA7CitzZWxlY3QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCkgSVMgTk9UIE5VTEwg QVMgdDsKK1NFTEVDVCAxIFxwYXJzZSBzdG10CitcYmluZF9uYW1lZCBzdG10IFxnCitTRUxF Q1QgcXVlcnksIGNhbGxzIEZST00gcGdfc3RhdF9zdGF0ZW1lbnRzIE9SREVSIEJZIHF1ZXJ5 IENPTExBVEUgIkMiOworc2V0IHBnX3N0YXRfc3RhdGVtZW50cy5zYW1wbGVfcmF0ZSA9IDEu MDsKK1xiaW5kX25hbWVkIHN0bXQgXGcKK1NFTEVDVCBxdWVyeSwgY2FsbHMgRlJPTSBwZ19z dGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CitzZWxlY3QgcGdf c3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCkgSVMgTk9UIE5VTEwgQVMgdDsKKwogLS0KIC0tIHF1 ZXJpZXMgd2l0aCBsb2NraW5nIGNsYXVzZXMKIC0tCg== --------------kaTkFibhHkymjhc6ZxIm4cCG--