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 1prd3h-0003PX-Cs for pgsql-hackers@arkaria.postgresql.org; Wed, 26 Apr 2023 11:11:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1prd3f-0004z3-O2 for pgsql-hackers@arkaria.postgresql.org; Wed, 26 Apr 2023 11:11:35 +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 1prd3f-0004yu-Ba for pgsql-hackers@lists.postgresql.org; Wed, 26 Apr 2023 11:11:35 +0000 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1prd3a-0059zy-ID for pgsql-hackers@lists.postgresql.org; Wed, 26 Apr 2023 11:11:34 +0000 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-3f1728c2a57so72393895e9.0 for ; Wed, 26 Apr 2023 04:11:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682507489; x=1685099489; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=rbktjr08w6F5TX84nlSpLfSEPm0YH10YmgG89De4swk=; b=Yzzic2lUhXAd/Nomw6tWnMjXIc9K8syX1jh+hXJn6VyaULwhnG4Nyo5Tv2V2dtpNPY J8/39B9IFkpzKrpq7fUxvzctG+eSODVt85yrlZOQHo8r852fhSe4tKDOPgXhCNOwpqqW yZUoEB1cf/EVun+bYXwAqdKBFFvym5gpM0W0RmeCk33vrzolwmIYkhx4DHzJnj6AN25p k671jbo0//VtMv2udtgcYySNKN5Z6dlKtEIFrepU0JrisM2+rOQqdC7rXvh0F7Rix4tX YrB5662v0bMTfIWfYQAd7GrpMZ+0b7LbED6DGDOPYrWbDwmD3Vu64jIhXdmwIWY9Bxa4 MLPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682507489; x=1685099489; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=rbktjr08w6F5TX84nlSpLfSEPm0YH10YmgG89De4swk=; b=I81mdJBSa0y7FDil680FGrclIRWwjkicQOA5WU/cDPWQN2LUV5awlLoKr0UAMtd/SZ JnAZDN+N2Em5wrZPiiIUTU1EoqJ+gC+1DpdXURk+DjhRcWRUMFtyrGG9AKjEo2O+qE6P tnIjAdR+lmQu4UHxh7N+fZ6KufYZp6qqKHHpocesOyRqLrBqeCxarWBmJ29E6qh04b4Q xe6IA8FcaQPErreTeG6732ttMQwqmn6mhLGVXxdyi94CdcH8CbuEcLGkuHIOmKhBPDV1 5rm8JYb4QBAT5FZph+oNzVPwebnArR3rpXuO8LdopaDS5Goa7h2Wgbk8jepwtYkOgQQq yNmA== X-Gm-Message-State: AAQBX9fdxA+19bG/rgl9v135GYdH2tb5fEiYGqx5tzqj7E7JvC0WkVsh 5jubxD7wvG4+KXq54H9T5l8= X-Google-Smtp-Source: AKy350YPTYmIg1g8Kwo+gQU5FQSEEP2qaztC598DDBY7g83eYFFob+uNDxky+dDWHVzcKSjJzgHUlQ== X-Received: by 2002:adf:f1d0:0:b0:2fa:eae8:afe9 with SMTP id z16-20020adff1d0000000b002faeae8afe9mr14276998wro.43.1682507488574; Wed, 26 Apr 2023 04:11:28 -0700 (PDT) Received: from [192.168.27.131] ([54.239.6.186]) by smtp.gmail.com with ESMTPSA id z2-20020a5d4c82000000b003021288a56dsm14613227wrs.115.2023.04.26.04.11.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Apr 2023 04:11:26 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------Kd8iqb80sM9aHLOrnxX0tpAQ" Message-ID: <19d8fa0d-e840-66eb-f5bc-4c3f9594ec8b@gmail.com> Date: Wed, 26 Apr 2023 13:10:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: Add two missing tests in 035_standby_logical_decoding.pl Content-Language: en-US To: Alvaro Herrera Cc: vignesh C , Amit Kapila , PostgreSQL Hackers References: <20230426102751.pkfs7gwvvrgta6p3@alvherre.pgsql> From: "Drouvot, Bertrand" In-Reply-To: <20230426102751.pkfs7gwvvrgta6p3@alvherre.pgsql> 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. --------------Kd8iqb80sM9aHLOrnxX0tpAQ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 4/26/23 12:27 PM, Alvaro Herrera wrote: >> diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm >> index 6f7f4e5de4..819667d42a 100644 >> --- a/src/test/perl/PostgreSQL/Test/Cluster.pm >> +++ b/src/test/perl/PostgreSQL/Test/Cluster.pm >> @@ -2644,7 +2644,16 @@ sub wait_for_catchup >> } >> if (!defined($target_lsn)) >> { >> - $target_lsn = $self->lsn('write'); >> + my $isrecovery = $self->safe_psql('postgres', "SELECT pg_is_in_recovery()"); >> + chomp($isrecovery); >> + if ($isrecovery eq 't') >> + { >> + $target_lsn = $self->lsn('replay'); >> + } >> + else >> + { >> + $target_lsn = $self->lsn('write'); >> + } > > Please modify the function's documentation to account for this code change. > Good point, thanks! Done in V6 attached. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------Kd8iqb80sM9aHLOrnxX0tpAQ Content-Type: text/plain; charset=UTF-8; name="v6-0001-Add-subscription-to-the-standby-test-in-035_stand.patch" Content-Disposition: attachment; filename*0="v6-0001-Add-subscription-to-the-standby-test-in-035_stand.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyYThiOGJkYzMyNjcxYjMzYjJiN2MwZmExYTc5ZjhkNzYyNGFlNGE2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJ0cmFuZCBEcm91dm90IDxiZXJ0cmFuZGRyb3V2 b3QucGdAZ21haWwuY29tPgpEYXRlOiBNb24sIDI0IEFwciAyMDIzIDA1OjEzOjIzICswMDAw ClN1YmplY3Q6IFtQQVRDSCB2Nl0gQWRkIHN1YnNjcmlwdGlvbiB0byB0aGUgc3RhbmRieSB0 ZXN0IGluCiAwMzVfc3RhbmRieV9sb2dpY2FsX2RlY29kaW5nLnBsCgpBZGRpbmcgb25lIHRl c3QsIHRvIHZlcmlmeSB0aGF0IHN1YnNjcmlwdGlvbiB0byB0aGUgc3RhbmRieSBpcyBwb3Nz aWJsZS4KLS0tCiBzcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtICAg ICAgfCAyMSArKysrLQogLi4uL3QvMDM1X3N0YW5kYnlfbG9naWNhbF9kZWNvZGluZy5wbCAg ICAgICAgIHwgOTEgKysrKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxMDcg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKICAxOC44JSBzcmMvdGVzdC9wZXJsL1Bv c3RncmVTUUwvVGVzdC8KICA4MS4xJSBzcmMvdGVzdC9yZWNvdmVyeS90LwoKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0gYi9zcmMvdGVz dC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtCmluZGV4IDZmN2Y0ZTVkZTQuLjkx MTc1NTRjMDcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0Ns dXN0ZXIucG0KKysrIGIvc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5w bQpAQCAtMjYxMSw4ICsyNjExLDE0IEBAIFdoZW4gZG9pbmcgcGh5c2ljYWwgcmVwbGljYXRp b24sIHRoZSBzdGFuZGJ5IGlzIHVzdWFsbHkgaWRlbnRpZmllZCBieQogcGFzc2luZyBpdHMg UG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlciBpbnN0YW5jZS4gIFdoZW4gZG9pbmcgbG9naWNh bAogcmVwbGljYXRpb24sIHN0YW5kYnlfbmFtZSBpZGVudGlmaWVzIGEgc3Vic2NyaXB0aW9u LgogCi1UaGUgZGVmYXVsdCB2YWx1ZSBvZiB0YXJnZXRfbHNuIGlzICRub2RlLT5sc24oJ3dy aXRlJyksIHdoaWNoIGVuc3VyZXMKLXRoYXQgdGhlIHN0YW5kYnkgaGFzIGNhdWdodCB1cCB0 byB3aGF0IGhhcyBiZWVuIGNvbW1pdHRlZCBvbiB0aGUgcHJpbWFyeS4KK1doZW4gbm90IGlu IHJlY292ZXJ5LCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0YXJnZXRfbHNuIGlzICRub2RlLT5s c24oJ3dyaXRlJyksCit3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHN0YW5kYnkgaGFzIGNhdWdo dCB1cCB0byB3aGF0IGhhcyBiZWVuIGNvbW1pdHRlZCBvbgordGhlIHByaW1hcnkuCisKK1do ZW4gaW4gcmVjb3ZlcnksIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRhcmdldF9sc24gaXMgJG5v ZGUtPmxzbigncmVwbGF5JykKK2luc3RlYWQuIFRoaXMgaXMgbmVlZGVkIHdoZW4gdGhlIHB1 Ymxpc2hlciBwYXNzZWQgdG8gd2FpdF9mb3Jfc3Vic2NyaXB0aW9uX3N5bmMoKQoraXMgYSBz dGFuZGJ5IG5vZGUuCisKIElmIHlvdSBwYXNzIGFuIGV4cGxpY2l0IHZhbHVlIG9mIHRhcmdl dF9sc24sIGl0IHNob3VsZCBhbG1vc3QgYWx3YXlzIGJlCiB0aGUgcHJpbWFyeSdzIHdyaXRl IExTTjsgc28gdGhpcyBwYXJhbWV0ZXIgaXMgc2VsZG9tIG5lZWRlZCBleGNlcHQgd2hlbgog cXVlcnlpbmcgc29tZSBpbnRlcm1lZGlhdGUgcmVwbGljYXRpb24gbm9kZSByYXRoZXIgdGhh biB0aGUgcHJpbWFyeS4KQEAgLTI2NDQsNyArMjY1MCwxNiBAQCBzdWIgd2FpdF9mb3JfY2F0 Y2h1cAogCX0KIAlpZiAoIWRlZmluZWQoJHRhcmdldF9sc24pKQogCXsKLQkJJHRhcmdldF9s c24gPSAkc2VsZi0+bHNuKCd3cml0ZScpOworCQlteSAkaXNyZWNvdmVyeSA9ICRzZWxmLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBwZ19pc19pbl9yZWNvdmVyeSgpIik7CisJ CWNob21wKCRpc3JlY292ZXJ5KTsKKwkJaWYgKCRpc3JlY292ZXJ5IGVxICd0JykKKwkJewor CQkJJHRhcmdldF9sc24gPSAkc2VsZi0+bHNuKCdyZXBsYXknKTsKKwkJfQorCQllbHNlCisJ CXsKKwkJCSR0YXJnZXRfbHNuID0gJHNlbGYtPmxzbignd3JpdGUnKTsKKwkJfQogCX0KIAlw cmludCAiV2FpdGluZyBmb3IgcmVwbGljYXRpb24gY29ubiAiCiAJICAuICRzdGFuZGJ5X25h bWUgLiAiJ3MgIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzVfc3RhbmRi eV9sb2dpY2FsX2RlY29kaW5nLnBsIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzVfc3RhbmRi eV9sb2dpY2FsX2RlY29kaW5nLnBsCmluZGV4IGI4ZjUzMTFmZTkuLmY2ZDY0NDc0MTIgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDM1X3N0YW5kYnlfbG9naWNhbF9kZWNv ZGluZy5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxf ZGVjb2RpbmcucGwKQEAgLTEwLDEyICsxMCwxNyBAQCB1c2UgUG9zdGdyZVNRTDo6VGVzdDo6 Q2x1c3RlcjsKIHVzZSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczsKIHVzZSBUZXN0OjpNb3Jl OwogCi1teSAoJHN0ZGluLCAkc3Rkb3V0LCAkc3RkZXJyLCAkY2FzY2FkaW5nX3N0ZG91dCwg JGNhc2NhZGluZ19zdGRlcnIsICRyZXQsICRoYW5kbGUsICRzbG90KTsKK215ICgkc3RkaW4s ICAgICAgICAgICAgICRzdGRvdXQsICAgICAgICAgICAgJHN0ZGVyciwKKwkkY2FzY2FkaW5n X3N0ZG91dCwgICRjYXNjYWRpbmdfc3RkZXJyLCAgJHN1YnNjcmliZXJfc3RkaW4sCisJJHN1 YnNjcmliZXJfc3Rkb3V0LCAkc3Vic2NyaWJlcl9zdGRlcnIsICRyZXQsCisJJGhhbmRsZSwg ICAgICAgICAgICAkc2xvdCk7CiAKIG15ICRub2RlX3ByaW1hcnkgPSBQb3N0Z3JlU1FMOjpU ZXN0OjpDbHVzdGVyLT5uZXcoJ3ByaW1hcnknKTsKIG15ICRub2RlX3N0YW5kYnkgPSBQb3N0 Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3N0YW5kYnknKTsKIG15ICRub2RlX2Nhc2Nh ZGluZ19zdGFuZGJ5ID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdjYXNjYWRp bmdfc3RhbmRieScpOworbXkgJG5vZGVfc3Vic2NyaWJlciA9IFBvc3RncmVTUUw6OlRlc3Q6 OkNsdXN0ZXItPm5ldygnc3Vic2NyaWJlcicpOwogbXkgJGRlZmF1bHRfdGltZW91dCA9ICRQ b3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6dGltZW91dF9kZWZhdWx0OworbXkgJHBzcWxfdGlt ZW91dCAgICA9IElQQzo6UnVuOjp0aW1lcigkZGVmYXVsdF90aW1lb3V0KTsKIG15ICRyZXM7 CiAKICMgTmFtZSBmb3IgdGhlIHBoeXNpY2FsIHNsb3Qgb24gcHJpbWFyeQpAQCAtMjY3LDcg KzI3Miw4IEBAICRub2RlX3N0YW5kYnktPmluaXRfZnJvbV9iYWNrdXAoCiAJaGFzX3N0cmVh bWluZyA9PiAxLAogCWhhc19yZXN0b3JpbmcgPT4gMSk7CiAkbm9kZV9zdGFuZGJ5LT5hcHBl bmRfY29uZigncG9zdGdyZXNxbC5jb25mJywKLQlxcVtwcmltYXJ5X3Nsb3RfbmFtZSA9ICck cHJpbWFyeV9zbG90bmFtZSddKTsKKwlxcVtwcmltYXJ5X3Nsb3RfbmFtZSA9ICckcHJpbWFy eV9zbG90bmFtZScKKyAgICAgICBtYXhfcmVwbGljYXRpb25fc2xvdHMgPSA1XSk7CiAkbm9k ZV9zdGFuZGJ5LT5zdGFydDsKICRub2RlX3ByaW1hcnktPndhaXRfZm9yX3JlcGxheV9jYXRj aHVwKCRub2RlX3N0YW5kYnkpOwogJG5vZGVfc3RhbmRieS0+c2FmZV9wc3FsKCd0ZXN0ZGIn LCBxcVtTRUxFQ1QgKiBGUk9NIHBnX2NyZWF0ZV9waHlzaWNhbF9yZXBsaWNhdGlvbl9zbG90 KCckc3RhbmRieV9waHlzaWNhbF9zbG90bmFtZScpO10pOwpAQCAtMjg1LDYgKzI5MSwyNiBA QCAkbm9kZV9jYXNjYWRpbmdfc3RhbmRieS0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwuY29u ZicsCiAkbm9kZV9jYXNjYWRpbmdfc3RhbmRieS0+c3RhcnQ7CiAkbm9kZV9zdGFuZGJ5LT53 YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cCgkbm9kZV9jYXNjYWRpbmdfc3RhbmRieSwgJG5vZGVf cHJpbWFyeSk7CiAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEluaXRpYWxpemUgc3Vi c2NyaWJlciBub2RlCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJG5vZGVfc3Vic2NyaWJl ci0+aW5pdChhbGxvd3Nfc3RyZWFtaW5nID0+ICdsb2dpY2FsJyk7Ciskbm9kZV9zdWJzY3Jp YmVyLT5zdGFydDsKKworbXkgJXBzcWxfc3Vic2NyaWJlciA9ICgKKwknc3Vic2NyaWJlcl9z dGRpbicgID0+ICcnLAorCSdzdWJzY3JpYmVyX3N0ZG91dCcgPT4gJycsCisJJ3N1YnNjcmli ZXJfc3RkZXJyJyA9PiAnJyk7CiskcHNxbF9zdWJzY3JpYmVye3J1bn0gPSBJUEM6OlJ1bjo6 c3RhcnQoCisJWyAncHNxbCcsICctWEEnLCAnLWYnLCAnLScsICctZCcsICRub2RlX3N1YnNj cmliZXItPmNvbm5zdHIoJ3Bvc3RncmVzJykgXSwKKwknPCcsCisJXCRwc3FsX3N1YnNjcmli ZXJ7c3Vic2NyaWJlcl9zdGRpbn0sCisJJz4nLAorCVwkcHNxbF9zdWJzY3JpYmVye3N1YnNj cmliZXJfc3Rkb3V0fSwKKwknMj4nLAorCVwkcHNxbF9zdWJzY3JpYmVye3N1YnNjcmliZXJf c3RkZXJyfSwKKwkkcHNxbF90aW1lb3V0KTsKKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVGVzdCB0aGF0IGxvZ2ljYWwgZGVjb2Rp bmcgb24gdGhlIHN0YW5kYnkKICMgYmVoYXZlcyBjb3JyZWN0bHkuCkBAIC0zNjUsNiArMzkx LDY3IEBAIGlzKCAkbm9kZV9wcmltYXJ5LT5wc3FsKAogICAgIDMsCiAgICAgJ3JlcGxheWlu ZyBsb2dpY2FsIHNsb3QgZnJvbSBhbm90aGVyIGRhdGFiYXNlIGZhaWxzJyk7CiAKKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRlc3Qg dGhhdCB3ZSBjYW4gc3Vic2NyaWJlIG9uIHRoZSBzdGFuZGJ5IHdpdGggdGhlIHB1YmxpY2F0 aW9uCisjIGNyZWF0ZWQgb24gdGhlIHByaW1hcnkuCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIENyZWF0ZSBhIHRhYmxlIG9uIHRo ZSBwcmltYXJ5Ciskbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JF QVRFIFRBQkxFIHRhYl9yZXAgKGEgaW50IHByaW1hcnkga2V5KSIpOworCisjIENyZWF0ZSBh IHRhYmxlIChzYW1lIHN0cnVjdHVyZSkgb24gdGhlIHN1YnNjcmliZXIgbm9kZQorJG5vZGVf c3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkNSRUFURSBUQUJMRSB0YWJf cmVwIChhIGludCBwcmltYXJ5IGtleSkiKTsKKworIyBDcmVhdGUgYSBwdWJsaWNhdGlvbiBv biB0aGUgcHJpbWFyeQorJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJ IkNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViIGZvciB0YWJsZSB0YWJfcmVwIik7CisKKyRu b2RlX3ByaW1hcnktPndhaXRfZm9yX3JlcGxheV9jYXRjaHVwKCRub2RlX3N0YW5kYnkpOwor CisjIFN1YnNjcmliZSBvbiB0aGUgc3RhbmRieQorbXkgJHN0YW5kYnlfY29ubnN0ciA9ICRu b2RlX3N0YW5kYnktPmNvbm5zdHIgLiAnIGRibmFtZT1wb3N0Z3Jlcyc7CisKKyMgTm90IHVz aW5nIHNhZmVfcHNxbCgpIGhlcmUgYXMgaXQgd291bGQgd2FpdCBmb3IgYWN0aXZpdHkgb24g dGhlIHByaW1hcnkKKyMgYW5kIHdlIHdvdWxkbid0IGJlIGFibGUgdG8gbGF1bmNoIHBnX2xv Z19zdGFuZGJ5X3NuYXBzaG90KCkgb24gdGhlIHByaW1hcnkKKyMgd2hpbGUgd2FpdGluZy4K KyMgcHNxbF9zdWJzY3JpYmVyKCkgYWxsb3dzIHRvIG5vdCB3YWl0IHN5bmNocm9ub3VzbHku CiskcHNxbF9zdWJzY3JpYmVye3N1YnNjcmliZXJfc3RkaW59IC49CisgIHFxW0NSRUFURSBT VUJTQ1JJUFRJT04gdGFwX3N1YgorICAgICBDT05ORUNUSU9OICckc3RhbmRieV9jb25uc3Ry JworICAgICBQVUJMSUNBVElPTiB0YXBfcHViCisgICAgIFdJVEggKGNvcHlfZGF0YSA9IG9m Zik7XTsKKyRwc3FsX3N1YnNjcmliZXJ7c3Vic2NyaWJlcl9zdGRpbn0gLj0gIlxuIjsKKwor JHBzcWxfc3Vic2NyaWJlcntydW59LT5wdW1wX25iKCk7CisKKyMgU3BlZWQgdXAgdGhlIHN1 YnNjcmlwdGlvbiBjcmVhdGlvbgorJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJTRUxFQ1QgcGdfbG9nX3N0YW5kYnlfc25hcHNob3QoKSIpOworCisjIEV4cGxpY2l0 bHkgc2h1dCBkb3duIHBzcWwgaW5zdGFuY2UgZ3JhY2VmdWxseSAtIHRvIGF2b2lkIGhhbmdz CisjIG9yIHdvcnNlIG9uIHdpbmRvd3MKKyRwc3FsX3N1YnNjcmliZXJ7c3Vic2NyaWJlcl9z dGRpbn0gLj0gIlxccVxuIjsKKyRwc3FsX3N1YnNjcmliZXJ7cnVufS0+ZmluaXNoOworCisk bm9kZV9zdWJzY3JpYmVyLT53YWl0X2Zvcl9zdWJzY3JpcHRpb25fc3luYygkbm9kZV9zdGFu ZGJ5LCAndGFwX3N1YicpOworCisjIEluc2VydCBzb21lIHJvd3Mgb24gdGhlIHByaW1hcnkK KyRub2RlX3ByaW1hcnktPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCXFxW0lOU0VSVCBJTlRP IHRhYl9yZXAgc2VsZWN0IGdlbmVyYXRlX3NlcmllcygxLDEwKTtdKTsKKworJG5vZGVfcHJp bWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVfc3RhbmRieSk7Ciskbm9kZV9z dGFuZGJ5LT53YWl0X2Zvcl9jYXRjaHVwKCd0YXBfc3ViJyk7CisKKyMgQ2hlY2sgdGhhdCB0 aGUgc3Vic2NyaWJlciBjYW4gc2VlIHRoZSByb3dzIGluc2VydGVkIGluIHRoZSBwcmltYXJ5 CiskcmVzdWx0ID0KKyAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs ICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWJfcmVwIik7CitpcygkcmVzdWx0LCBxcSgxMCks ICdjaGVjayByZXBsaWNhdGVkIGluc2VydHMgYWZ0ZXIgc3Vic2NyaXB0aW9uIG9uIHN0YW5k YnknKTsKKworIyBXZSBkbyBub3QgbmVlZCB0aGUgc3Vic2NyaXB0aW9uIGFuZCB0aGUgc3Vi c2NyaWJlciBhbnltb3JlCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgIkRST1AgU1VCU0NSSVBUSU9OIHRhcF9zdWIiKTsKKyRub2RlX3N1YnNjcmliZXItPnN0 b3A7CisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiAjIFJlY292ZXJ5IGNvbmZsaWN0OiBJbnZhbGlkYXRlIGNvbmZsaWN0aW5nIHNsb3Rz LCBpbmNsdWRpbmcgaW4tdXNlIHNsb3RzCiAjIFNjZW5hcmlvIDE6IGhvdF9zdGFuZGJ5X2Zl ZWRiYWNrIG9mZiBhbmQgdmFjdXVtIEZVTEwKLS0gCjIuMzQuMQoK --------------Kd8iqb80sM9aHLOrnxX0tpAQ--