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 1lyWwe-0004Jc-GX for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 09:55:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lyWwd-0007k6-13 for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 09:55:47 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lyWwc-0007jy-O9 for pgsql-hackers@lists.postgresql.org; Wed, 30 Jun 2021 09:55:46 +0000 Received: from sfr-1.cri.mines-paristech.fr ([77.158.180.225] helo=smtp.cri.ensmp.fr) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lyWwW-0001Iv-7c for pgsql-hackers@postgresql.org; Wed, 30 Jun 2021 09:55:46 +0000 Received: from pseudo (nat-5.mines-paristech.fr [77.158.173.12]) by smtp.cri.ensmp.fr (Postfix) with ESMTPSA id BE5C9C019D; Wed, 30 Jun 2021 11:57:37 +0200 (CEST) Date: Wed, 30 Jun 2021 11:55:38 +0200 (CEST) From: Fabien COELHO X-X-Sender: fabien@pseudo Reply-To: Fabien COELHO To: Thomas Munro cc: Michael Paquier , Andrew Dunstan , Alvaro Herrera , Gregory Smith , PostgreSQL-development , david.christensen@crunchydata.com Subject: Re: pgbench logging broken by time logic changes In-Reply-To: Message-ID: References: <202106231308.lxr26cahwxuc@alvherre.pgsql> User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="2056645051-1895956428-1625046939=:1875747" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --2056645051-1895956428-1625046939=:1875747 Content-Type: text/plain; charset=US-ASCII; format=flowed >> Fabien, thanks for the updated patch, I'm looking at it. After looking at it again, here is an update which ensure 64 bits on epoch_shift computation. -- Fabien. --2056645051-1895956428-1625046939=:1875747 Content-Type: text/x-diff; name=pgbench-log-fix-13.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=pgbench-log-fix-13.patch ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdiZW5jaC9wZ2JlbmNoLmMgYi9zcmMv YmluL3BnYmVuY2gvcGdiZW5jaC5jDQppbmRleCA0YWVjY2Q5M2FmLi43NzUw YjVkNjYwIDEwMDY0NA0KLS0tIGEvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2gu Yw0KKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2guYw0KQEAgLTM0Myw2 ICszNDMsMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgU3RhdHNEYXRhDQogCVNpbXBs ZVN0YXRzIGxhZzsNCiB9IFN0YXRzRGF0YTsNCiANCisvKg0KKyAqIEZvciBk aXNwbGF5aW5nIGVwb2NoIHRpbWVzdGFtcCwgYXMgc29tZSB0aW1lIGZ1bmN0 aW9ucyBtYXkgaGF2ZQ0KKyAqIGFub3RoZXIgcmVmZXJlbmNlLg0KKyAqLw0K K3BnX3RpbWVfdXNlY190IGVwb2NoX3NoaWZ0Ow0KKw0KIC8qDQogICogU3Ry dWN0IHRvIGtlZXAgcmFuZG9tIHN0YXRlLg0KICAqLw0KQEAgLTY0OSw3ICs2 NTUsNyBAQCBzdGF0aWMgdm9pZCBzZXREb3VibGVWYWx1ZShQZ0JlbmNoVmFs dWUgKnB2LCBkb3VibGUgZHZhbCk7DQogc3RhdGljIGJvb2wgZXZhbHVhdGVF eHByKENTdGF0ZSAqc3QsIFBnQmVuY2hFeHByICpleHByLA0KIAkJCQkJCSBQ Z0JlbmNoVmFsdWUgKnJldHZhbCk7DQogc3RhdGljIENvbm5lY3Rpb25TdGF0 ZUVudW0gZXhlY3V0ZU1ldGFDb21tYW5kKENTdGF0ZSAqc3QsIHBnX3RpbWVf dXNlY190ICpub3cpOw0KLXN0YXRpYyB2b2lkIGRvTG9nKFRTdGF0ZSAqdGhy ZWFkLCBDU3RhdGUgKnN0LA0KK3N0YXRpYyB2b2lkIGRvTG9nKFRTdGF0ZSAq dGhyZWFkLCBDU3RhdGUgKnN0LCBib29sIHR4LA0KIAkJCQkgIFN0YXRzRGF0 YSAqYWdnLCBib29sIHNraXBwZWQsIGRvdWJsZSBsYXRlbmN5LCBkb3VibGUg bGFnKTsNCiBzdGF0aWMgdm9pZCBwcm9jZXNzWGFjdFN0YXRzKFRTdGF0ZSAq dGhyZWFkLCBDU3RhdGUgKnN0LCBwZ190aW1lX3VzZWNfdCAqbm93LA0KIAkJ CQkJCQkgYm9vbCBza2lwcGVkLCBTdGF0c0RhdGEgKmFnZyk7DQpAQCAtMzc2 OCwxNiArMzc3NCw0NyBAQCBleGVjdXRlTWV0YUNvbW1hbmQoQ1N0YXRlICpz dCwgcGdfdGltZV91c2VjX3QgKm5vdykNCiAJcmV0dXJuIENTVEFURV9FTkRf Q09NTUFORDsNCiB9DQogDQorLyogcHJpbnQgYWdncmVnYXRlZCByZXBvcnQg dG8gbG9nZmlsZSAqLw0KK3N0YXRpYyB2b2lkDQorbG9nQWdnKEZJTEUgKmxv Z2ZpbGUsIFN0YXRzRGF0YSAqYWdnKQ0KK3sNCisJZnByaW50Zihsb2dmaWxl LCBJTlQ2NF9GT1JNQVQgIiAiIElOVDY0X0ZPUk1BVCAiICUuMGYgJS4wZiAl LjBmICUuMGYiLA0KKwkJCShhZ2ctPnN0YXJ0X3RpbWUgKyBlcG9jaF9zaGlm dCkgLyAxMDAwMDAwLA0KKwkJCWFnZy0+Y250LA0KKwkJCWFnZy0+bGF0ZW5j eS5zdW0sDQorCQkJYWdnLT5sYXRlbmN5LnN1bTIsDQorCQkJYWdnLT5sYXRl bmN5Lm1pbiwNCisJCQlhZ2ctPmxhdGVuY3kubWF4KTsNCisJaWYgKHRocm90 dGxlX2RlbGF5KQ0KKwl7DQorCQlmcHJpbnRmKGxvZ2ZpbGUsICIgJS4wZiAl LjBmICUuMGYgJS4wZiIsDQorCQkJCWFnZy0+bGFnLnN1bSwNCisJCQkJYWdn LT5sYWcuc3VtMiwNCisJCQkJYWdnLT5sYWcubWluLA0KKwkJCQlhZ2ctPmxh Zy5tYXgpOw0KKwkJaWYgKGxhdGVuY3lfbGltaXQpDQorCQkJZnByaW50Zihs b2dmaWxlLCAiICIgSU5UNjRfRk9STUFULCBhZ2ctPnNraXBwZWQpOw0KKwl9 DQorCWZwdXRjKCdcbicsIGxvZ2ZpbGUpOw0KK30NCisNCiAvKg0KICAqIFBy aW50IGxvZyBlbnRyeSBhZnRlciBjb21wbGV0aW5nIG9uZSB0cmFuc2FjdGlv bi4NCiAgKg0KKyAqIFBhcmFtIHR4IHRlbGxzIHdoZXRoZXIgdGhlIGNhbGwg YWN0dWFsbHkgcmVwcmVzZW50cyBhIHRyYW5zYWN0aW9uLA0KKyAqIG9yIGlm IGl0IGlzIHVzZWQgdG8gZmx1c2ggYWdncmVnYXRlZCBsb2dzLg0KKyAqDQor ICogVGhlIGZ1bmN0aW9uIGJlaGF2aW9yIGNoYW5nZXMgZGVwZW5kaW5nIG9u IHNhbXBsZV9yYXRlIChhIGZyYWN0aW9uIG9mDQorICogdHJhbnNhY3Rpb24g aXMgcmVwb3J0ZWQpIGFuZCBhZ2dfaW50ZXJ2YWwgKHRyYW5zYWN0aW9ucyBh cmUgYWdncmVnYXRlZA0KKyAqIGFuZCByZXBvcnRlZCBvbmNlIGV2ZXJ5IGFn Z19pbnRlcnZhbCBzZWNvbmRzKS4NCisgKg0KICAqIFdlIHByaW50IFVuaXgt ZXBvY2ggdGltZXN0YW1wcyBpbiB0aGUgbG9nLCBzbyB0aGF0IGVudHJpZXMg Y2FuIGJlDQogICogY29ycmVsYXRlZCBhZ2FpbnN0IG90aGVyIGxvZ3MuICBP biBzb21lIHBsYXRmb3JtcyB0aGlzIGNvdWxkIGJlIG9idGFpbmVkDQogICog ZnJvbSB0aGUgY2FsbGVyLCBidXQgcmF0aGVyIHRoYW4gZ2V0IGVudGFuZ2xl ZCB3aXRoIHRoYXQsIHdlIGp1c3QgZWF0DQogICogdGhlIGNvc3Qgb2YgYW4g ZXh0cmEgc3lzY2FsbCBpbiBhbGwgY2FzZXMuDQogICovDQogc3RhdGljIHZv aWQNCi1kb0xvZyhUU3RhdGUgKnRocmVhZCwgQ1N0YXRlICpzdCwNCitkb0xv ZyhUU3RhdGUgKnRocmVhZCwgQ1N0YXRlICpzdCwgYm9vbCB0eCwNCiAJICBT dGF0c0RhdGEgKmFnZywgYm9vbCBza2lwcGVkLCBkb3VibGUgbGF0ZW5jeSwg ZG91YmxlIGxhZykNCiB7DQogCUZJTEUJICAgKmxvZ2ZpbGUgPSB0aHJlYWQt PmxvZ2ZpbGU7DQpAQCAtMzc5Niw0MyArMzgzMywzNiBAQCBkb0xvZyhUU3Rh dGUgKnRocmVhZCwgQ1N0YXRlICpzdCwNCiAJLyogc2hvdWxkIHdlIGFnZ3Jl Z2F0ZSB0aGUgcmVzdWx0cyBvciBub3Q/ICovDQogCWlmIChhZ2dfaW50ZXJ2 YWwgPiAwKQ0KIAl7DQorCQlwZ190aW1lX3VzZWNfdAluZXh0Ow0KKw0KIAkJ LyoNCiAJCSAqIExvb3AgdW50aWwgd2UgcmVhY2ggdGhlIGludGVydmFsIG9m IHRoZSBjdXJyZW50IG1vbWVudCwgYW5kIHByaW50DQogCQkgKiBhbnkgZW1w dHkgaW50ZXJ2YWxzIGluIGJldHdlZW4gKHRoaXMgbWF5IGhhcHBlbiB3aXRo IHZlcnkgbG93IHRwcywNCiAJCSAqIGUuZy4gLS1yYXRlPTAuMSkuDQogCQkg Ki8NCi0NCi0JCXdoaWxlIChhZ2ctPnN0YXJ0X3RpbWUgKyBhZ2dfaW50ZXJ2 YWwgPD0gbm93KQ0KKwkJd2hpbGUgKChuZXh0ID0gYWdnLT5zdGFydF90aW1l ICsgYWdnX2ludGVydmFsICogSU5UNjRDT05TVCgxMDAwMDAwKSkgPD0gbm93 KQ0KIAkJew0KLQkJCS8qIHByaW50IGFnZ3JlZ2F0ZWQgcmVwb3J0IHRvIGxv Z2ZpbGUgKi8NCi0JCQlmcHJpbnRmKGxvZ2ZpbGUsIElOVDY0X0ZPUk1BVCAi ICIgSU5UNjRfRk9STUFUICIgJS4wZiAlLjBmICUuMGYgJS4wZiIsDQotCQkJ CQlhZ2ctPnN0YXJ0X3RpbWUsDQotCQkJCQlhZ2ctPmNudCwNCi0JCQkJCWFn Zy0+bGF0ZW5jeS5zdW0sDQotCQkJCQlhZ2ctPmxhdGVuY3kuc3VtMiwNCi0J CQkJCWFnZy0+bGF0ZW5jeS5taW4sDQotCQkJCQlhZ2ctPmxhdGVuY3kubWF4 KTsNCi0JCQlpZiAodGhyb3R0bGVfZGVsYXkpDQotCQkJew0KLQkJCQlmcHJp bnRmKGxvZ2ZpbGUsICIgJS4wZiAlLjBmICUuMGYgJS4wZiIsDQotCQkJCQkJ YWdnLT5sYWcuc3VtLA0KLQkJCQkJCWFnZy0+bGFnLnN1bTIsDQotCQkJCQkJ YWdnLT5sYWcubWluLA0KLQkJCQkJCWFnZy0+bGFnLm1heCk7DQotCQkJCWlm IChsYXRlbmN5X2xpbWl0KQ0KLQkJCQkJZnByaW50Zihsb2dmaWxlLCAiICIg SU5UNjRfRk9STUFULCBhZ2ctPnNraXBwZWQpOw0KLQkJCX0NCi0JCQlmcHV0 YygnXG4nLCBsb2dmaWxlKTsNCisJCQlsb2dBZ2cobG9nZmlsZSwgYWdnKTsN CiANCiAJCQkvKiByZXNldCBkYXRhIGFuZCBtb3ZlIHRvIG5leHQgaW50ZXJ2 YWwgKi8NCi0JCQlpbml0U3RhdHMoYWdnLCBhZ2ctPnN0YXJ0X3RpbWUgKyBh Z2dfaW50ZXJ2YWwpOw0KKwkJCWluaXRTdGF0cyhhZ2csIG5leHQpOw0KIAkJ fQ0KIA0KLQkJLyogYWNjdW11bGF0ZSB0aGUgY3VycmVudCB0cmFuc2FjdGlv biAqLw0KLQkJYWNjdW1TdGF0cyhhZ2csIHNraXBwZWQsIGxhdGVuY3ksIGxh Zyk7DQorCQlpZiAodHgpDQorCQkJLyogYWNjdW11bGF0ZSB0aGUgY3VycmVu dCB0cmFuc2FjdGlvbiAqLw0KKwkJCWFjY3VtU3RhdHMoYWdnLCBza2lwcGVk LCBsYXRlbmN5LCBsYWcpOw0KKwkJZWxzZQ0KKwkJCS8qIGZpbmFsIGNhbGwg dG8gc2hvdyB0aGUgbGFzdCBhZ2dyZWdhdGUgKi8NCisJCQlsb2dBZ2cobG9n ZmlsZSwgYWdnKTsNCiAJfQ0KIAllbHNlDQogCXsNCisJCS8qIHN3aXRjaCB0 byBlcG9jaCAqLw0KKwkJbm93ICs9IGVwb2NoX3NoaWZ0Ow0KKw0KKwkJLyog IXR4IG9ubHkgdXNlZCBmb3IgYWdncmVnYXRlZCBkYXRhICovDQorCQlBc3Nl cnQodHgpOw0KKw0KIAkJLyogbm8sIHByaW50IHJhdyB0cmFuc2FjdGlvbnMg Ki8NCiAJCWlmIChza2lwcGVkKQ0KIAkJCWZwcmludGYobG9nZmlsZSwgIiVk ICIgSU5UNjRfRk9STUFUICIgc2tpcHBlZCAlZCAiIElOVDY0X0ZPUk1BVCAi ICINCkBAIC0zODkyLDcgKzM5MjIsNyBAQCBwcm9jZXNzWGFjdFN0YXRzKFRT dGF0ZSAqdGhyZWFkLCBDU3RhdGUgKnN0LCBwZ190aW1lX3VzZWNfdCAqbm93 LA0KIAlzdC0+Y250Kys7DQogDQogCWlmICh1c2VfbG9nKQ0KLQkJZG9Mb2co dGhyZWFkLCBzdCwgYWdnLCBza2lwcGVkLCBsYXRlbmN5LCBsYWcpOw0KKwkJ ZG9Mb2codGhyZWFkLCBzdCwgdHJ1ZSwgYWdnLCBza2lwcGVkLCBsYXRlbmN5 LCBsYWcpOw0KIA0KIAkvKiBYWFggY291bGQgdXNlIGEgbXV0ZXggaGVyZSwg YnV0IHdlIGNob29zZSBub3QgdG8gKi8NCiAJaWYgKHBlcl9zY3JpcHRfc3Rh dHMpDQpAQCAtNTQ1OCw3ICs1NDg4LDcgQEAgcHJpbnRQcm9ncmVzc1JlcG9y dChUU3RhdGUgKnRocmVhZHMsIGludDY0IHRlc3Rfc3RhcnQsIHBnX3RpbWVf dXNlY190IG5vdywNCiANCiAJaWYgKHByb2dyZXNzX3RpbWVzdGFtcCkNCiAJ ew0KLQkJc25wcmludGYodGJ1Ziwgc2l6ZW9mKHRidWYpLCAiJS4zZiBzIiwg UEdfVElNRV9HRVRfRE9VQkxFKG5vdykpOw0KKwkJc25wcmludGYodGJ1Ziwg c2l6ZW9mKHRidWYpLCAiJS4zZiBzIiwgUEdfVElNRV9HRVRfRE9VQkxFKG5v dyArIGVwb2NoX3NoaWZ0KSk7DQogCX0NCiAJZWxzZQ0KIAl7DQpAQCAtNTgw OCw2ICs1ODM4LDExIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0K IAljaGFyCSAgICplbnY7DQogDQogCWludAkJCWV4aXRfY29kZSA9IDA7DQor CXN0cnVjdCB0aW1ldmFsIHR2Ow0KKw0KKwkvKiByZWNvcmQgc2hpZnQgYmV0 d2VlbiBlcG9jaCBhbmQgbm93KCkgKi8NCisJZ2V0dGltZW9mZGF5KCZ0diwg TlVMTCk7DQorCWVwb2NoX3NoaWZ0ID0gdHYudHZfc2VjICogSU5UNjRDT05T VCgxMDAwMDAwKSArIHR2LnR2X3VzZWMgLSBwZ190aW1lX25vdygpOw0KIA0K IAlwZ19sb2dnaW5nX2luaXQoYXJndlswXSk7DQogCXByb2duYW1lID0gZ2V0 X3Byb2duYW1lKGFyZ3ZbMF0pOw0KQEAgLTY4MzAsOCArNjg2NSw5IEBAIGRv bmU6DQogCQlpZiAoYWdnX2ludGVydmFsID4gMCkNCiAJCXsNCiAJCQkvKiBs b2cgYWdncmVnYXRlZCBidXQgbm90IHlldCByZXBvcnRlZCB0cmFuc2FjdGlv bnMgKi8NCi0JCQlkb0xvZyh0aHJlYWQsIHN0YXRlLCAmYWdncywgZmFsc2Us IDAsIDApOw0KKwkJCWRvTG9nKHRocmVhZCwgc3RhdGUsIGZhbHNlLCAmYWdn cywgZmFsc2UsIDAuMCwgMC4wKTsNCiAJCX0NCisNCiAJCWZjbG9zZSh0aHJl YWQtPmxvZ2ZpbGUpOw0KIAkJdGhyZWFkLT5sb2dmaWxlID0gTlVMTDsNCiAJ fQ0KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdiZW5jaC90LzAwMV9wZ2JlbmNo X3dpdGhfc2VydmVyLnBsIGIvc3JjL2Jpbi9wZ2JlbmNoL3QvMDAxX3BnYmVu Y2hfd2l0aF9zZXJ2ZXIucGwNCmluZGV4IDNhYTlkNWQ3NTMuLjQxMjUwYmY5 MWQgMTAwNjQ0DQotLS0gYS9zcmMvYmluL3BnYmVuY2gvdC8wMDFfcGdiZW5j aF93aXRoX3NlcnZlci5wbA0KKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3QvMDAx X3BnYmVuY2hfd2l0aF9zZXJ2ZXIucGwNCkBAIC04LDYgKzgsNyBAQCB1c2Ug UG9zdGdyZXNOb2RlOw0KIHVzZSBUZXN0TGliOw0KIHVzZSBUZXN0OjpNb3Jl Ow0KIHVzZSBDb25maWc7DQordXNlIFRpbWU6OkhpUmVzIHF3KCB0aW1lICk7 DQogDQogIyBzdGFydCBhIHBnYmVuY2ggc3BlY2lmaWMgc2VydmVyDQogbXkg JG5vZGUgPSBnZXRfbmV3X25vZGUoJ21haW4nKTsNCkBAIC01NCwxMiArNTUs MTQgQEAgc3ViIHBnYmVuY2gNCiANCiAJcHVzaCBAY21kLCBAYXJnczsNCiAN CisJbXkgJHN0YXJ0ID0gdGltZSgpOw0KIAkkbm9kZS0+Y29tbWFuZF9jaGVj a3NfYWxsKFxAY21kLCAkc3RhdCwgJG91dCwgJGVyciwgJG5hbWUpOw0KKwlt eSAkc3RvcCA9IHRpbWUoKTsNCiANCiAJIyBjbGVhbnVwPw0KIAkjdW5saW5r IEBmaWxlbmFtZXMgb3IgZGllICJjYW5ub3QgdW5saW5rIGZpbGVzIChAZmls ZW5hbWVzKTogJCEiOw0KIA0KLQlyZXR1cm47DQorCXJldHVybiAkc3RvcCAt ICRzdGFydDsNCiB9DQogDQogIyB0YWJsZXNwYWNlIGZvciB0ZXN0aW5nLCBi ZWNhdXNlIHBhcnRpdGlvbmVkIHRhYmxlcyBjYW5ub3QgdXNlIHBnX2RlZmF1 bHQNCkBAIC0xMTg3LDcgKzExOTAsNyBAQCBzdWIgY2hlY2tfcGdiZW5jaF9s b2dzDQogDQogCSMgJHByZWZpeCBpcyBzaW1wbGUgZW5vdWdoLCB0aHVzIGRv ZXMgbm90IG5lZWQgZXNjYXBpbmcNCiAJbXkgQGxvZ3MgPSBsaXN0X2ZpbGVz KCRkaXIsIHFye14kcHJlZml4XC4uKiR9KTsNCi0Jb2soQGxvZ3MgPT0gJG5i LCAibnVtYmVyIG9mIGxvZyBmaWxlcyIpOw0KKwlvayhAbG9ncyA9PSAkbmIs ICJudW1iZXIgb2YgbG9nIGZpbGVzIChAbG9ncykiKTsNCiAJb2soZ3JlcCgv XC8kcHJlZml4XC5cZCsoXC5cZCspPyQvLCBAbG9ncykgPT0gJG5iLCAiZmls ZSBuYW1lIGZvcm1hdCIpOw0KIA0KIAlteSAkbG9nX251bWJlciA9IDA7DQpA QCAtMTIyMCw2ICsxMjIzLDU4IEBAIHN1YiBjaGVja19wZ2JlbmNoX2xvZ3MN CiBteSAkYmRpciA9ICRub2RlLT5iYXNlZGlyOw0KIA0KICMgUnVuIHdpdGgg c2FtcGxpbmcgcmF0ZSwgMiBjbGllbnRzIHdpdGggNTAgdHJhbnNhY3Rpb25z IGVhY2guDQorIw0KKyMgVGVzdCB0aW1lLXNlbnNpdGl2ZSBmZWF0dXJlcyBv biBhIGxpZ2h0IHJlYWQtb25seSB0cmFuc2FjdGlvbjoNCisjDQorIyAgIC1U OiBiZW5jaCBkdXJhdGlvbiwgMiBzZWNvbmRzIHRvIGV4ZXJjaXNlIHByb2dy ZXNzICYgbG9ncw0KKyMgICAtUDogcHJvZ3Jlc3MgcmVwb3J0DQorIyAgIC0t YWdncmVnYXRlLWludGVydmFsOiBwZXJpb2RpYyBhZ2dyZWdhdGVkIGxvZ3MN CisjICAgLS1yYXRlOiBzY2hlZHVsZSBsb2FkDQorIyAgIC0tbGF0ZW5jeS1s aW1pdDogbWF4IGRlbGF5LCBub3QgZGVlcGx5IGV4ZXJjaWNlDQorIw0KKyMg bm90ZTogdGhlIC0tcmF0ZSBiZWhhdmlvciBpcyBwcm9iYWJpbGlzdGljIGlu IG5hdHVyZS4NCisjIG5vdGU6IC0tcHJvZ3Jlc3MtdGltZXN0YW1wIGlzIG5v dCB0ZXN0ZWQuDQorbXkgJGRlbGF5ID0gcGdiZW5jaCgNCisJJy1UIDIgLVAg MSAtbCAtLWFnZ3JlZ2F0ZS1pbnRlcnZhbD0xIC1TIC1iIHNlQDInDQorCS4g JyAtLXJhdGU9MjAgLS1sYXRlbmN5LWxpbWl0PTEwMDAgLWogJyAuICRudGhy ZWFkcw0KKwkuICcgLWMgMyAtcicsDQorCTAsDQorCVsgICBxcnt0eXBlOiBt dWx0aXBsZX0sDQorCQlxcntjbGllbnRzOiAzfSwNCisJCXFye3RocmVhZHM6 ICRudGhyZWFkc30sDQorCQlxcntkdXJhdGlvbjogMiBzfSwNCisJCXFye3Nj cmlwdCAxOiAuKiBzZWxlY3Qgb25seX0sDQorCQlxcntzY3JpcHQgMjogLiog c2VsZWN0IG9ubHl9LA0KKwkJcXJ7c3RhdGVtZW50IGxhdGVuY2llcyBpbiBt aWxsaXNlY29uZHN9LA0KKwkJcXJ7RlJPTSBwZ2JlbmNoX2FjY291bnRzfSBd LA0KKwlbIHFye3ZhY3V1bX0sIHFye3Byb2dyZXNzOiAxXGJ9IF0sDQorCSdw Z2JlbmNoIHByb2dyZXNzJywgdW5kZWYsDQorCSItLWxvZy1wcmVmaXg9JGJk aXIvMDAxX3BnYmVuY2hfbG9nXzEiKTsNCisNCisjIGNvb2wgY2hlY2sgdGhh dCB3ZSBhcmUgYXJvdW5kIDIgc2Vjb25kcw0KKw0KK1RPRE86IHsNCisJbG9j YWwgJFRPRE8gPSAicG9zc2libHkgdW5yZWxpYWJsZSBvbiBzbG93IGhvc3Rz IG9yIHVubHVja3kgcnVucyI7DQorDQorCSMgVGhlIHJhdGUgbWF5IHJlc3Vs dHMgaW4gYW4gdW5sdWNreSBzY2hlZHVsZSB3aGljaCB0cmlnZ2Vycw0KKwkj IGFuIGVhcmx5IGV4aXQsIGhlbmNlIHRoZSBsb29zZSBib3VuZC4NCisNCisJ IyBhbHNvLCB0aGUgZGVsYXkgbWF5IHRvdGFsbHkgZmFpbCBvbiB2ZXJ5IHNs b3cgb3Igb3ZlcmxvYXJkIGhvc3RzLA0KKwkjIHZhbGdyaW5kIHJ1bnMuLi4N CisNCisJb2soMS41IDwgJGRlbGF5ICYmICRkZWxheSA8IDIuNSwgIi1UIDIg cnVuIGFyb3VuZCAyIHNlY29uZHMiKTsNCit9DQorDQorIyAkbnRocmVhZHMg dGhyZWFkcywgMiBzZWNvbmRzLCBidXQgZHVlIHRvIHRpbWluZyBpbXByZWNp c2lvbiB3ZSBtaWdodCBnZXQNCisjIG9ubHkgMSBvciBhcyBtYW55IGFzIDMg cHJvZ3Jlc3MgcmVwb3J0cyBwZXIgdGhyZWFkLg0KKyMgYWdncmVnYXRlIGxv ZyBmb3JtYXQgaXM6DQorIyAgIGVwb2NoICN0eCBzdW0gc3VtMiBtaW4gbWF4 IFtzdW0gc3VtMiBtaW4gbWF4IFtza2lwcGVkXV0NCisjIGZpcnN0IHNlcmll IGFib3V0IGxhdGVuY3kgOyBzZWNvbmQgYWJvdXQgbGFnICgtLXJhdGUpIDsN CisjIHNraXBwZWQgb25seSBpZiAtLWxhdGVuY3ktbGltaXQgaXMgc2V0Lg0K K2NoZWNrX3BnYmVuY2hfbG9ncygkYmRpciwgJzAwMV9wZ2JlbmNoX2xvZ18x JywgJG50aHJlYWRzLCAxLCAzLA0KKwlxcnteXGR7MTAsfSBcZHsxLDJ9IFxk KyBcZCsgXGQrIFxkKyBcZCsgXGQrIFxkKyBcZCsgXGQrJH0pOw0KKw0KKyMg d2l0aCBzYW1wbGluZyByYXRlLCAyIGNsaWVudHMgd2l0aCA1MCB0eCBlYWNo DQogcGdiZW5jaCgNCiAJIi1uIC1TIC10IDUwIC1jIDIgLS1sb2cgLS1zYW1w bGluZy1yYXRlPTAuNSIsIDAsDQogCVsgcXJ7c2VsZWN0IG9ubHl9LCBxcntw cm9jZXNzZWQ6IDEwMC8xMDB9IF0sIFtxcnteJH1dLA0K --2056645051-1895956428-1625046939=:1875747--