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 1pype1-0007pS-NN for pgsql-hackers@arkaria.postgresql.org; Tue, 16 May 2023 08:02:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pype0-0000nY-I1 for pgsql-hackers@arkaria.postgresql.org; Tue, 16 May 2023 08:02:52 +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 1pypdz-0000lE-Ru for pgsql-hackers@lists.postgresql.org; Tue, 16 May 2023 08:02:52 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1pypdv-0005Lu-T3 for pgsql-hackers@postgresql.org; Tue, 16 May 2023 08:02:50 +0000 Received: from mail.postgrespro.ru (webmail.mstn.postgrespro.ru [192.168.2.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id D4954E20FF1; Tue, 16 May 2023 11:03:19 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1684224199; bh=30MFlNaRAF/hwJc8LikfW5fi0NfqKtTBk/pUsRo19EM=; h=Date:From:To:Cc:Subject:In-Reply-To:References:User-Agent: Message-ID:From; b=WKXVBp1On3t1RRwCseLjf3ITBJu0ArzrhONa18+sntYe2LJ5afVmC+THoXbScZ/2I npbxlq/6SNjOcDtSAmRTCHOK934C7NHQbaKjzacqtEUvuezfkHwVULH8masaR5DL/5 Xz0Q4G4tFx5No1O3Hyt7cbvcFVhJ/Rq8/WjWjmflwvFklwpECleRgMoMoou3P6Ld0I A+Qvwwy4YjVffpA1mqkpQfY+iopefbS/+g57iQM/puGUwggw2E1AtkAcF/t7tySUOK TdpG5oAye77FFD9FqRsApZACRgz257sQcafV0WQbRhfB/rDwSfEh4KrPD+O5LrUrlU QTY82Y/pQtegw== MIME-Version: 1.0 Date: Tue, 16 May 2023 11:02:45 +0300 From: Marina Polyakova To: Michael Paquier Cc: Tom Lane , pgsql-hackers@postgresql.org, Noah Misch , exclusion@gmail.com Subject: Re: Conflict between regression tests namespace & transactions due to recent changes In-Reply-To: References: <80d0201636665d82185942e7112257b4@postgrespro.ru> <2165312.1684167368@sss.pgh.pa.us> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: m.polyakova@postgrespro.ru Organization: Postgres Professional Content-Type: multipart/mixed; boundary="=_adf6286e35a35bc11a1d95b0fadc6017" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_adf6286e35a35bc11a1d95b0fadc6017 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2023-05-16 02:19, Michael Paquier wrote: > On Mon, May 15, 2023 at 11:23:18PM +0300, Marina Polyakova wrote: >> Maybe use a separate schema for all new objects in the transaction >> test?.. >> See diff_set_tx_schema.patch. > > Sure, you could do that to bypass the failure (without the "public" > actually?), leaving non-generic names around. Still I'd agree with > Tom here and just rename the objects to something more in line with > the context of the test to make things a bit more greppable. These > could be renamed as transaction_tab or transaction_view, for example. > -- > Michael It confuses me a little that different methods are used for the same purpose. But the namespace test checks schemas. So see diff_abc_to_txn_table.patch which replaces abc with txn_table in the transaction test. -- Marina Polyakova Postgres Professional: http://www.postgrespro.com The Russian Postgres Company --=_adf6286e35a35bc11a1d95b0fadc6017 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=diff_abc_to_txn_table.patch Content-Disposition: attachment; filename=diff_abc_to_txn_table.patch; size=15686 ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdHJhbnNhY3Rpb25zLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdHJhbnNhY3Rpb25zLm91dAppbmRleCAyYjJjZmY3 ZDkxMjBhMTM5NTMyZDFhNmEyZjJiYzc5ZTQ2M2JjNGZhLi4yMWVmYjkwMGVmMWJjMzAzMzhmMTEw MmY2YTQwZjFkMjViZTBkYjljIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3RyYW5zYWN0aW9ucy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90cmFuc2Fj dGlvbnMub3V0CkBAIC02MDksMTAgKzYwOSwxMCBAQCBkcm9wIGZ1bmN0aW9uIGludmVyc2UoaW50 KTsKIC0tIHBlcmZvcm1lZCBpbiB0aGUgYWJvcnRlZCBzdWJ0cmFuc2FjdGlvbgogYmVnaW47CiBz YXZlcG9pbnQgeDsKLWNyZWF0ZSB0YWJsZSBhYmMgKGEgaW50KTsKLWluc2VydCBpbnRvIGFiYyB2 YWx1ZXMgKDUpOwotaW5zZXJ0IGludG8gYWJjIHZhbHVlcyAoMTApOwotZGVjbGFyZSBmb28gY3Vy c29yIGZvciBzZWxlY3QgKiBmcm9tIGFiYzsKK2NyZWF0ZSB0YWJsZSB0eG5fdGFibGUgKGEgaW50 KTsKK2luc2VydCBpbnRvIHR4bl90YWJsZSB2YWx1ZXMgKDUpOworaW5zZXJ0IGludG8gdHhuX3Rh YmxlIHZhbHVlcyAoMTApOworZGVjbGFyZSBmb28gY3Vyc29yIGZvciBzZWxlY3QgKiBmcm9tIHR4 bl90YWJsZTsKIGZldGNoIGZyb20gZm9vOwogIGEgCiAtLS0KQEAgLTYyNSwxMSArNjI1LDExIEBA IGZldGNoIGZyb20gZm9vOwogRVJST1I6ICBjdXJzb3IgImZvbyIgZG9lcyBub3QgZXhpc3QKIGNv bW1pdDsKIGJlZ2luOwotY3JlYXRlIHRhYmxlIGFiYyAoYSBpbnQpOwotaW5zZXJ0IGludG8gYWJj IHZhbHVlcyAoNSk7Ci1pbnNlcnQgaW50byBhYmMgdmFsdWVzICgxMCk7Ci1pbnNlcnQgaW50byBh YmMgdmFsdWVzICgxNSk7Ci1kZWNsYXJlIGZvbyBjdXJzb3IgZm9yIHNlbGVjdCAqIGZyb20gYWJj OworY3JlYXRlIHRhYmxlIHR4bl90YWJsZSAoYSBpbnQpOworaW5zZXJ0IGludG8gdHhuX3RhYmxl IHZhbHVlcyAoNSk7CitpbnNlcnQgaW50byB0eG5fdGFibGUgdmFsdWVzICgxMCk7CitpbnNlcnQg aW50byB0eG5fdGFibGUgdmFsdWVzICgxNSk7CitkZWNsYXJlIGZvbyBjdXJzb3IgZm9yIHNlbGVj dCAqIGZyb20gdHhuX3RhYmxlOwogZmV0Y2ggZnJvbSBmb287CiAgYSAKIC0tLQpAQCAtNjk4LDcg KzY5OCw3IEBAIENPTU1JVDsKIERST1AgRlVOQ1RJT04gY3JlYXRlX3RlbXBfdGFiKCk7CiBEUk9Q IEZVTkNUSU9OIGludmVydCh4IGZsb2F0OCk7CiAtLSBUZXN0cyBmb3IgQU5EIENIQUlOCi1DUkVB VEUgVEFCTEUgYWJjIChhIGludCk7CitDUkVBVEUgVEFCTEUgdHhuX3RhYmxlIChhIGludCk7CiAt LSBzZXQgbm9uZGVmYXVsdCB2YWx1ZSBzbyB3ZSBoYXZlIHNvbWV0aGluZyB0byBvdmVycmlkZSBi ZWxvdwogU0VUIGRlZmF1bHRfdHJhbnNhY3Rpb25fcmVhZF9vbmx5ID0gb247CiBTVEFSVCBUUkFO U0FDVElPTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFELCBSRUFEIFdSSVRFLCBERUZF UlJBQkxFOwpAQCAtNzIwLDggKzcyMCw4IEBAIFNIT1cgdHJhbnNhY3Rpb25fZGVmZXJyYWJsZTsK ICBvbgogKDEgcm93KQogCi1JTlNFUlQgSU5UTyBhYmMgVkFMVUVTICgxKTsKLUlOU0VSVCBJTlRP IGFiYyBWQUxVRVMgKDIpOworSU5TRVJUIElOVE8gdHhuX3RhYmxlIFZBTFVFUyAoMSk7CitJTlNF UlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICgyKTsKIENPTU1JVCBBTkQgQ0hBSU47ICAtLSBUQkxP Q0tfRU5ECiBTSE9XIHRyYW5zYWN0aW9uX2lzb2xhdGlvbjsKICB0cmFuc2FjdGlvbl9pc29sYXRp b24gCkBAIC03NDEsMTEgKzc0MSwxMSBAQCBTSE9XIHRyYW5zYWN0aW9uX2RlZmVycmFibGU7CiAg b24KICgxIHJvdykKIAotSU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoJ2Vycm9yJyk7CitJTlNFUlQg SU5UTyB0eG5fdGFibGUgVkFMVUVTICgnZXJyb3InKTsKIEVSUk9SOiAgaW52YWxpZCBpbnB1dCBz eW50YXggZm9yIHR5cGUgaW50ZWdlcjogImVycm9yIgotTElORSAxOiBJTlNFUlQgSU5UTyBhYmMg VkFMVUVTICgnZXJyb3InKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgotSU5T RVJUIElOVE8gYWJjIFZBTFVFUyAoMyk7ICAtLSBjaGVjayBpdCdzIHJlYWxseSBhYm9ydGVkCitM SU5FIDE6IElOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKCdlcnJvcicpOworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitJTlNFUlQgSU5UTyB0eG5fdGFibGUgVkFM VUVTICgzKTsgIC0tIGNoZWNrIGl0J3MgcmVhbGx5IGFib3J0ZWQKIEVSUk9SOiAgY3VycmVudCB0 cmFuc2FjdGlvbiBpcyBhYm9ydGVkLCBjb21tYW5kcyBpZ25vcmVkIHVudGlsIGVuZCBvZiB0cmFu c2FjdGlvbiBibG9jawogQ09NTUlUIEFORCBDSEFJTjsgIC0tIFRCTE9DS19BQk9SVF9FTkQKIFNI T1cgdHJhbnNhY3Rpb25faXNvbGF0aW9uOwpAQCAtNzY2LDcgKzc2Niw3IEBAIFNIT1cgdHJhbnNh Y3Rpb25fZGVmZXJyYWJsZTsKICBvbgogKDEgcm93KQogCi1JTlNFUlQgSU5UTyBhYmMgVkFMVUVT ICg0KTsKK0lOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKDQpOwogQ09NTUlUOwogU1RBUlQg VFJBTlNBQ1RJT04gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRCwgUkVBRCBXUklURSwg REVGRVJSQUJMRTsKIFNIT1cgdHJhbnNhY3Rpb25faXNvbGF0aW9uOwpAQCAtNzg4LDEwICs3ODgs MTAgQEAgU0hPVyB0cmFuc2FjdGlvbl9kZWZlcnJhYmxlOwogKDEgcm93KQogCiBTQVZFUE9JTlQg eDsKLUlOU0VSVCBJTlRPIGFiYyBWQUxVRVMgKCdlcnJvcicpOworSU5TRVJUIElOVE8gdHhuX3Rh YmxlIFZBTFVFUyAoJ2Vycm9yJyk7CiBFUlJPUjogIGludmFsaWQgaW5wdXQgc3ludGF4IGZvciB0 eXBlIGludGVnZXI6ICJlcnJvciIKLUxJTkUgMTogSU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoJ2Vy cm9yJyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK0xJTkUgMTogSU5TRVJU IElOVE8gdHhuX3RhYmxlIFZBTFVFUyAoJ2Vycm9yJyk7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KIENPTU1JVCBBTkQgQ0hBSU47ICAtLSBUQkxPQ0tfQUJPUlRfUEVO RElORwogU0hPVyB0cmFuc2FjdGlvbl9pc29sYXRpb247CiAgdHJhbnNhY3Rpb25faXNvbGF0aW9u IApAQCAtODExLDcgKzgxMSw3IEBAIFNIT1cgdHJhbnNhY3Rpb25fZGVmZXJyYWJsZTsKICBvbgog KDEgcm93KQogCi1JTlNFUlQgSU5UTyBhYmMgVkFMVUVTICg1KTsKK0lOU0VSVCBJTlRPIHR4bl90 YWJsZSBWQUxVRVMgKDUpOwogQ09NTUlUOwogU1RBUlQgVFJBTlNBQ1RJT04gSVNPTEFUSU9OIExF VkVMIFJFUEVBVEFCTEUgUkVBRCwgUkVBRCBXUklURSwgREVGRVJSQUJMRTsKIFNIT1cgdHJhbnNh Y3Rpb25faXNvbGF0aW9uOwpAQCAtODczLDcgKzg3Myw3IEBAIFNIT1cgdHJhbnNhY3Rpb25fZGVm ZXJyYWJsZTsKICBvZmYKICgxIHJvdykKIAotSU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoNik7CitJ TlNFUlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICg2KTsKIFJPTExCQUNLIEFORCBDSEFJTjsgIC0t IFRCTE9DS19BQk9SVF9QRU5ESU5HCiBTSE9XIHRyYW5zYWN0aW9uX2lzb2xhdGlvbjsKICB0cmFu c2FjdGlvbl9pc29sYXRpb24gCkBAIC04OTMsMTAgKzg5MywxMCBAQCBTSE9XIHRyYW5zYWN0aW9u X2RlZmVycmFibGU7CiAgb2ZmCiAoMSByb3cpCiAKLUlOU0VSVCBJTlRPIGFiYyBWQUxVRVMgKCdl cnJvcicpOworSU5TRVJUIElOVE8gdHhuX3RhYmxlIFZBTFVFUyAoJ2Vycm9yJyk7CiBFUlJPUjog IGludmFsaWQgaW5wdXQgc3ludGF4IGZvciB0eXBlIGludGVnZXI6ICJlcnJvciIKLUxJTkUgMTog SU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoJ2Vycm9yJyk7Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KK0xJTkUgMTogSU5TRVJUIElOVE8gdHhuX3RhYmxlIFZBTFVFUyAoJ2Vycm9y Jyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KIFJPTExCQUNLIEFO RCBDSEFJTjsgIC0tIFRCTE9DS19BQk9SVF9FTkQKIFNIT1cgdHJhbnNhY3Rpb25faXNvbGF0aW9u OwogIHRyYW5zYWN0aW9uX2lzb2xhdGlvbiAKQEAgLTkyMiw3ICs5MjIsNyBAQCBDT01NSVQgQU5E IENIQUlOOyAgLS0gZXJyb3IKIEVSUk9SOiAgQ09NTUlUIEFORCBDSEFJTiBjYW4gb25seSBiZSB1 c2VkIGluIHRyYW5zYWN0aW9uIGJsb2NrcwogUk9MTEJBQ0sgQU5EIENIQUlOOyAgLS0gZXJyb3IK IEVSUk9SOiAgUk9MTEJBQ0sgQU5EIENIQUlOIGNhbiBvbmx5IGJlIHVzZWQgaW4gdHJhbnNhY3Rp b24gYmxvY2tzCi1TRUxFQ1QgKiBGUk9NIGFiYyBPUkRFUiBCWSAxOworU0VMRUNUICogRlJPTSB0 eG5fdGFibGUgT1JERVIgQlkgMTsKICBhIAogLS0tCiAgMQpAQCAtOTMyLDcgKzkzMiw3IEBAIFNF TEVDVCAqIEZST00gYWJjIE9SREVSIEJZIDE7CiAoNCByb3dzKQogCiBSRVNFVCBkZWZhdWx0X3Ry YW5zYWN0aW9uX3JlYWRfb25seTsKLURST1AgVEFCTEUgYWJjOworRFJPUCBUQUJMRSB0eG5fdGFi bGU7CiAtLSBUZXN0IGFzc29ydGVkIGJlaGF2aW9ycyBhcm91bmQgdGhlIGltcGxpY2l0IHRyYW5z YWN0aW9uIGJsb2NrIGNyZWF0ZWQKIC0tIHdoZW4gbXVsdGlwbGUgU1FMIGNvbW1hbmRzIGFyZSBz ZW50IGluIGEgc2luZ2xlIFF1ZXJ5IG1lc3NhZ2UuICBUaGVzZQogLS0gdGVzdHMgcmVseSBvbiB0 aGUgZmFjdCB0aGF0IHBzcWwgd2lsbCBub3QgYnJlYWsgU1FMIGNvbW1hbmRzIGFwYXJ0IGF0IGEK QEAgLTEwOTAsMjEgKzEwOTAsMjEgQEAgU0hPVyB0cmFuc2FjdGlvbl9yZWFkX29ubHk7CiAgb2Zm CiAoMSByb3cpCiAKLUNSRUFURSBUQUJMRSBhYmMgKGEgaW50KTsKK0NSRUFURSBUQUJMRSB0eG5f dGFibGUgKGEgaW50KTsKIC0tIENPTU1JVC9ST0xMQkFDSyArIENPTU1JVC9ST0xMQkFDSyBBTkQg Q0hBSU4KLUlOU0VSVCBJTlRPIGFiYyBWQUxVRVMgKDcpXDsgQ09NTUlUXDsgSU5TRVJUIElOVE8g YWJjIFZBTFVFUyAoOClcOyBDT01NSVQgQU5EIENIQUlOOyAgLS0gNyBjb21taXQsIDggZXJyb3IK K0lOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKDcpXDsgQ09NTUlUXDsgSU5TRVJUIElOVE8g dHhuX3RhYmxlIFZBTFVFUyAoOClcOyBDT01NSVQgQU5EIENIQUlOOyAgLS0gNyBjb21taXQsIDgg ZXJyb3IKIFdBUk5JTkc6ICB0aGVyZSBpcyBubyB0cmFuc2FjdGlvbiBpbiBwcm9ncmVzcwogRVJS T1I6ICBDT01NSVQgQU5EIENIQUlOIGNhbiBvbmx5IGJlIHVzZWQgaW4gdHJhbnNhY3Rpb24gYmxv Y2tzCi1JTlNFUlQgSU5UTyBhYmMgVkFMVUVTICg5KVw7IFJPTExCQUNLXDsgSU5TRVJUIElOVE8g YWJjIFZBTFVFUyAoMTApXDsgUk9MTEJBQ0sgQU5EIENIQUlOOyAgLS0gOSByb2xsYmFjaywgMTAg ZXJyb3IKK0lOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKDkpXDsgUk9MTEJBQ0tcOyBJTlNF UlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICgxMClcOyBST0xMQkFDSyBBTkQgQ0hBSU47ICAtLSA5 IHJvbGxiYWNrLCAxMCBlcnJvcgogV0FSTklORzogIHRoZXJlIGlzIG5vIHRyYW5zYWN0aW9uIGlu IHByb2dyZXNzCiBFUlJPUjogIFJPTExCQUNLIEFORCBDSEFJTiBjYW4gb25seSBiZSB1c2VkIGlu IHRyYW5zYWN0aW9uIGJsb2NrcwogLS0gQ09NTUlUL1JPTExCQUNLIEFORCBDSEFJTiArIENPTU1J VC9ST0xMQkFDSwotSU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoMTEpXDsgQ09NTUlUIEFORCBDSEFJ Tlw7IElOU0VSVCBJTlRPIGFiYyBWQUxVRVMgKDEyKVw7IENPTU1JVDsgIC0tIDExIGVycm9yLCAx MiBub3QgcmVhY2hlZAorSU5TRVJUIElOVE8gdHhuX3RhYmxlIFZBTFVFUyAoMTEpXDsgQ09NTUlU IEFORCBDSEFJTlw7IElOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKDEyKVw7IENPTU1JVDsg IC0tIDExIGVycm9yLCAxMiBub3QgcmVhY2hlZAogRVJST1I6ICBDT01NSVQgQU5EIENIQUlOIGNh biBvbmx5IGJlIHVzZWQgaW4gdHJhbnNhY3Rpb24gYmxvY2tzCi1JTlNFUlQgSU5UTyBhYmMgVkFM VUVTICgxMylcOyBST0xMQkFDSyBBTkQgQ0hBSU5cOyBJTlNFUlQgSU5UTyBhYmMgVkFMVUVTICgx NClcOyBST0xMQkFDSzsgIC0tIDEzIGVycm9yLCAxNCBub3QgcmVhY2hlZAorSU5TRVJUIElOVE8g dHhuX3RhYmxlIFZBTFVFUyAoMTMpXDsgUk9MTEJBQ0sgQU5EIENIQUlOXDsgSU5TRVJUIElOVE8g dHhuX3RhYmxlIFZBTFVFUyAoMTQpXDsgUk9MTEJBQ0s7ICAtLSAxMyBlcnJvciwgMTQgbm90IHJl YWNoZWQKIEVSUk9SOiAgUk9MTEJBQ0sgQU5EIENIQUlOIGNhbiBvbmx5IGJlIHVzZWQgaW4gdHJh bnNhY3Rpb24gYmxvY2tzCiAtLSBTVEFSVCBUUkFOU0FDVElPTiArIENPTU1JVC9ST0xMQkFDSyBB TkQgQ0hBSU4KLVNUQVJUIFRSQU5TQUNUSU9OIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJF QURcOyBJTlNFUlQgSU5UTyBhYmMgVkFMVUVTICgxNSlcOyBDT01NSVQgQU5EIENIQUlOOyAgLS0g MTUgb2sKK1NUQVJUIFRSQU5TQUNUSU9OIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQURc OyBJTlNFUlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICgxNSlcOyBDT01NSVQgQU5EIENIQUlOOyAg LS0gMTUgb2sKIFNIT1cgdHJhbnNhY3Rpb25faXNvbGF0aW9uOyAgLS0gdHJhbnNhY3Rpb24gaXMg YWN0aXZlIGF0IHRoaXMgcG9pbnQKICB0cmFuc2FjdGlvbl9pc29sYXRpb24gCiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQpAQCAtMTExMiw3ICsxMTEyLDcgQEAgU0hPVyB0cmFuc2FjdGlvbl9pc29s YXRpb247ICAtLSB0cmFuc2FjdGlvbiBpcyBhY3RpdmUgYXQgdGhpcyBwb2ludAogKDEgcm93KQog CiBDT01NSVQ7Ci1TVEFSVCBUUkFOU0FDVElPTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBS RUFEXDsgSU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoMTYpXDsgUk9MTEJBQ0sgQU5EIENIQUlOOyAg LS0gMTYgb2sKK1NUQVJUIFRSQU5TQUNUSU9OIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJF QURcOyBJTlNFUlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICgxNilcOyBST0xMQkFDSyBBTkQgQ0hB SU47ICAtLSAxNiBvawogU0hPVyB0cmFuc2FjdGlvbl9pc29sYXRpb247ICAtLSB0cmFuc2FjdGlv biBpcyBhY3RpdmUgYXQgdGhpcyBwb2ludAogIHRyYW5zYWN0aW9uX2lzb2xhdGlvbiAKIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xMTIyLDcgKzExMjIsNyBAQCBTSE9XIHRyYW5zYWN0aW9u X2lzb2xhdGlvbjsgIC0tIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZSBhdCB0aGlzIHBvaW50CiBST0xM QkFDSzsKIFNFVCBkZWZhdWx0X3RyYW5zYWN0aW9uX2lzb2xhdGlvbiA9ICdyZWFkIGNvbW1pdHRl ZCc7CiAtLSBTVEFSVCBUUkFOU0FDVElPTiArIENPTU1JVC9ST0xMQkFDSyArIENPTU1JVC9ST0xM QkFDSyBBTkQgQ0hBSU4KLVNUQVJUIFRSQU5TQUNUSU9OIElTT0xBVElPTiBMRVZFTCBSRVBFQVRB QkxFIFJFQURcOyBJTlNFUlQgSU5UTyBhYmMgVkFMVUVTICgxNylcOyBDT01NSVRcOyBJTlNFUlQg SU5UTyBhYmMgVkFMVUVTICgxOClcOyBDT01NSVQgQU5EIENIQUlOOyAgLS0gMTcgY29tbWl0LCAx OCBlcnJvcgorU1RBUlQgVFJBTlNBQ1RJT04gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVB RFw7IElOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKDE3KVw7IENPTU1JVFw7IElOU0VSVCBJ TlRPIHR4bl90YWJsZSBWQUxVRVMgKDE4KVw7IENPTU1JVCBBTkQgQ0hBSU47ICAtLSAxNyBjb21t aXQsIDE4IGVycm9yCiBFUlJPUjogIENPTU1JVCBBTkQgQ0hBSU4gY2FuIG9ubHkgYmUgdXNlZCBp biB0cmFuc2FjdGlvbiBibG9ja3MKIFNIT1cgdHJhbnNhY3Rpb25faXNvbGF0aW9uOyAgLS0gb3V0 IG9mIHRyYW5zYWN0aW9uIGJsb2NrCiAgdHJhbnNhY3Rpb25faXNvbGF0aW9uIApAQCAtMTEzMCw3 ICsxMTMwLDcgQEAgU0hPVyB0cmFuc2FjdGlvbl9pc29sYXRpb247ICAtLSBvdXQgb2YgdHJhbnNh Y3Rpb24gYmxvY2sKICByZWFkIGNvbW1pdHRlZAogKDEgcm93KQogCi1TVEFSVCBUUkFOU0FDVElP TiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEXDsgSU5TRVJUIElOVE8gYWJjIFZBTFVF UyAoMTkpXDsgUk9MTEJBQ0tcOyBJTlNFUlQgSU5UTyBhYmMgVkFMVUVTICgyMClcOyBST0xMQkFD SyBBTkQgQ0hBSU47ICAtLSAxOSByb2xsYmFjaywgMjAgZXJyb3IKK1NUQVJUIFRSQU5TQUNUSU9O IElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQURcOyBJTlNFUlQgSU5UTyB0eG5fdGFibGUg VkFMVUVTICgxOSlcOyBST0xMQkFDS1w7IElOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKDIw KVw7IFJPTExCQUNLIEFORCBDSEFJTjsgIC0tIDE5IHJvbGxiYWNrLCAyMCBlcnJvcgogRVJST1I6 ICBST0xMQkFDSyBBTkQgQ0hBSU4gY2FuIG9ubHkgYmUgdXNlZCBpbiB0cmFuc2FjdGlvbiBibG9j a3MKIFNIT1cgdHJhbnNhY3Rpb25faXNvbGF0aW9uOyAgLS0gb3V0IG9mIHRyYW5zYWN0aW9uIGJs b2NrCiAgdHJhbnNhY3Rpb25faXNvbGF0aW9uIApAQCAtMTEzOSw3ICsxMTM5LDcgQEAgU0hPVyB0 cmFuc2FjdGlvbl9pc29sYXRpb247ICAtLSBvdXQgb2YgdHJhbnNhY3Rpb24gYmxvY2sKICgxIHJv dykKIAogUkVTRVQgZGVmYXVsdF90cmFuc2FjdGlvbl9pc29sYXRpb247Ci1TRUxFQ1QgKiBGUk9N IGFiYyBPUkRFUiBCWSAxOworU0VMRUNUICogRlJPTSB0eG5fdGFibGUgT1JERVIgQlkgMTsKICBh ICAKIC0tLS0KICAgNwpAQCAtMTE0Nyw3ICsxMTQ3LDcgQEAgU0VMRUNUICogRlJPTSBhYmMgT1JE RVIgQlkgMTsKICAxNwogKDMgcm93cykKIAotRFJPUCBUQUJMRSBhYmM7CitEUk9QIFRBQkxFIHR4 bl90YWJsZTsKIC0tIFRlc3QgZm9yIHN1Y2Nlc3NmdWwgY2xlYW51cCBvZiBhbiBhYm9ydGVkIHRy YW5zYWN0aW9uIGF0IHNlc3Npb24gZXhpdC4KIC0tIFRISVMgTVVTVCBCRSBUSEUgTEFTVCBURVNU IElOIFRISVMgRklMRS4KIGJlZ2luOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dHJhbnNhY3Rpb25zLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RyYW5zYWN0aW9ucy5zcWwK aW5kZXggN2VlNWY2YWFhNTVhNjg2ZjU0ODQ2NjRjM2ZhZTIyNGMwOGJkZTQyYS4uZmQxYjY0NTQw Mzg2OGRhMThmOWY3OWI0YmE4YTAzYTNmN2QxZGE2YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdHJhbnNhY3Rpb25zLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC90cmFu c2FjdGlvbnMuc3FsCkBAIC0zNzgsMTAgKzM3OCwxMCBAQCBkcm9wIGZ1bmN0aW9uIGludmVyc2Uo aW50KTsKIGJlZ2luOwogCiBzYXZlcG9pbnQgeDsKLWNyZWF0ZSB0YWJsZSBhYmMgKGEgaW50KTsK LWluc2VydCBpbnRvIGFiYyB2YWx1ZXMgKDUpOwotaW5zZXJ0IGludG8gYWJjIHZhbHVlcyAoMTAp OwotZGVjbGFyZSBmb28gY3Vyc29yIGZvciBzZWxlY3QgKiBmcm9tIGFiYzsKK2NyZWF0ZSB0YWJs ZSB0eG5fdGFibGUgKGEgaW50KTsKK2luc2VydCBpbnRvIHR4bl90YWJsZSB2YWx1ZXMgKDUpOwor aW5zZXJ0IGludG8gdHhuX3RhYmxlIHZhbHVlcyAoMTApOworZGVjbGFyZSBmb28gY3Vyc29yIGZv ciBzZWxlY3QgKiBmcm9tIHR4bl90YWJsZTsKIGZldGNoIGZyb20gZm9vOwogcm9sbGJhY2sgdG8g eDsKIApAQCAtMzkxLDExICszOTEsMTEgQEAgY29tbWl0OwogCiBiZWdpbjsKIAotY3JlYXRlIHRh YmxlIGFiYyAoYSBpbnQpOwotaW5zZXJ0IGludG8gYWJjIHZhbHVlcyAoNSk7Ci1pbnNlcnQgaW50 byBhYmMgdmFsdWVzICgxMCk7Ci1pbnNlcnQgaW50byBhYmMgdmFsdWVzICgxNSk7Ci1kZWNsYXJl IGZvbyBjdXJzb3IgZm9yIHNlbGVjdCAqIGZyb20gYWJjOworY3JlYXRlIHRhYmxlIHR4bl90YWJs ZSAoYSBpbnQpOworaW5zZXJ0IGludG8gdHhuX3RhYmxlIHZhbHVlcyAoNSk7CitpbnNlcnQgaW50 byB0eG5fdGFibGUgdmFsdWVzICgxMCk7CitpbnNlcnQgaW50byB0eG5fdGFibGUgdmFsdWVzICgx NSk7CitkZWNsYXJlIGZvbyBjdXJzb3IgZm9yIHNlbGVjdCAqIGZyb20gdHhuX3RhYmxlOwogCiBm ZXRjaCBmcm9tIGZvbzsKIApAQCAtNDQxLDcgKzQ0MSw3IEBAIERST1AgRlVOQ1RJT04gaW52ZXJ0 KHggZmxvYXQ4KTsKIAogLS0gVGVzdHMgZm9yIEFORCBDSEFJTgogCi1DUkVBVEUgVEFCTEUgYWJj IChhIGludCk7CitDUkVBVEUgVEFCTEUgdHhuX3RhYmxlIChhIGludCk7CiAKIC0tIHNldCBub25k ZWZhdWx0IHZhbHVlIHNvIHdlIGhhdmUgc29tZXRoaW5nIHRvIG92ZXJyaWRlIGJlbG93CiBTRVQg ZGVmYXVsdF90cmFuc2FjdGlvbl9yZWFkX29ubHkgPSBvbjsKQEAgLTQ1MCwxOSArNDUwLDE5IEBA IFNUQVJUIFRSQU5TQUNUSU9OIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQsIFJFQUQg V1JJVEUsIERFRkVSUkFCTEU7CiBTSE9XIHRyYW5zYWN0aW9uX2lzb2xhdGlvbjsKIFNIT1cgdHJh bnNhY3Rpb25fcmVhZF9vbmx5OwogU0hPVyB0cmFuc2FjdGlvbl9kZWZlcnJhYmxlOwotSU5TRVJU IElOVE8gYWJjIFZBTFVFUyAoMSk7Ci1JTlNFUlQgSU5UTyBhYmMgVkFMVUVTICgyKTsKK0lOU0VS VCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKDEpOworSU5TRVJUIElOVE8gdHhuX3RhYmxlIFZBTFVF UyAoMik7CiBDT01NSVQgQU5EIENIQUlOOyAgLS0gVEJMT0NLX0VORAogU0hPVyB0cmFuc2FjdGlv bl9pc29sYXRpb247CiBTSE9XIHRyYW5zYWN0aW9uX3JlYWRfb25seTsKIFNIT1cgdHJhbnNhY3Rp b25fZGVmZXJyYWJsZTsKLUlOU0VSVCBJTlRPIGFiYyBWQUxVRVMgKCdlcnJvcicpOwotSU5TRVJU IElOVE8gYWJjIFZBTFVFUyAoMyk7ICAtLSBjaGVjayBpdCdzIHJlYWxseSBhYm9ydGVkCitJTlNF UlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICgnZXJyb3InKTsKK0lOU0VSVCBJTlRPIHR4bl90YWJs ZSBWQUxVRVMgKDMpOyAgLS0gY2hlY2sgaXQncyByZWFsbHkgYWJvcnRlZAogQ09NTUlUIEFORCBD SEFJTjsgIC0tIFRCTE9DS19BQk9SVF9FTkQKIFNIT1cgdHJhbnNhY3Rpb25faXNvbGF0aW9uOwog U0hPVyB0cmFuc2FjdGlvbl9yZWFkX29ubHk7CiBTSE9XIHRyYW5zYWN0aW9uX2RlZmVycmFibGU7 Ci1JTlNFUlQgSU5UTyBhYmMgVkFMVUVTICg0KTsKK0lOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxV RVMgKDQpOwogQ09NTUlUOwogCiBTVEFSVCBUUkFOU0FDVElPTiBJU09MQVRJT04gTEVWRUwgUkVQ RUFUQUJMRSBSRUFELCBSRUFEIFdSSVRFLCBERUZFUlJBQkxFOwpAQCAtNDcwLDEyICs0NzAsMTIg QEAgU0hPVyB0cmFuc2FjdGlvbl9pc29sYXRpb247CiBTSE9XIHRyYW5zYWN0aW9uX3JlYWRfb25s eTsKIFNIT1cgdHJhbnNhY3Rpb25fZGVmZXJyYWJsZTsKIFNBVkVQT0lOVCB4OwotSU5TRVJUIElO VE8gYWJjIFZBTFVFUyAoJ2Vycm9yJyk7CitJTlNFUlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICgn ZXJyb3InKTsKIENPTU1JVCBBTkQgQ0hBSU47ICAtLSBUQkxPQ0tfQUJPUlRfUEVORElORwogU0hP VyB0cmFuc2FjdGlvbl9pc29sYXRpb247CiBTSE9XIHRyYW5zYWN0aW9uX3JlYWRfb25seTsKIFNI T1cgdHJhbnNhY3Rpb25fZGVmZXJyYWJsZTsKLUlOU0VSVCBJTlRPIGFiYyBWQUxVRVMgKDUpOwor SU5TRVJUIElOVE8gdHhuX3RhYmxlIFZBTFVFUyAoNSk7CiBDT01NSVQ7CiAKIFNUQVJUIFRSQU5T QUNUSU9OIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQsIFJFQUQgV1JJVEUsIERFRkVS UkFCTEU7CkBAIC00OTQsMTIgKzQ5NCwxMiBAQCBTVEFSVCBUUkFOU0FDVElPTiBJU09MQVRJT04g TEVWRUwgU0VSSUFMSVpBQkxFLCBSRUFEIFdSSVRFLCBOT1QgREVGRVJSQUJMRTsKIFNIT1cgdHJh bnNhY3Rpb25faXNvbGF0aW9uOwogU0hPVyB0cmFuc2FjdGlvbl9yZWFkX29ubHk7CiBTSE9XIHRy YW5zYWN0aW9uX2RlZmVycmFibGU7Ci1JTlNFUlQgSU5UTyBhYmMgVkFMVUVTICg2KTsKK0lOU0VS VCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKDYpOwogUk9MTEJBQ0sgQU5EIENIQUlOOyAgLS0gVEJM T0NLX0FCT1JUX1BFTkRJTkcKIFNIT1cgdHJhbnNhY3Rpb25faXNvbGF0aW9uOwogU0hPVyB0cmFu c2FjdGlvbl9yZWFkX29ubHk7CiBTSE9XIHRyYW5zYWN0aW9uX2RlZmVycmFibGU7Ci1JTlNFUlQg SU5UTyBhYmMgVkFMVUVTICgnZXJyb3InKTsKK0lOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxVRVMg KCdlcnJvcicpOwogUk9MTEJBQ0sgQU5EIENIQUlOOyAgLS0gVEJMT0NLX0FCT1JUX0VORAogU0hP VyB0cmFuc2FjdGlvbl9pc29sYXRpb247CiBTSE9XIHRyYW5zYWN0aW9uX3JlYWRfb25seTsKQEAg LTUxMCwxMSArNTEwLDExIEBAIFJPTExCQUNLOwogQ09NTUlUIEFORCBDSEFJTjsgIC0tIGVycm9y CiBST0xMQkFDSyBBTkQgQ0hBSU47ICAtLSBlcnJvcgogCi1TRUxFQ1QgKiBGUk9NIGFiYyBPUkRF UiBCWSAxOworU0VMRUNUICogRlJPTSB0eG5fdGFibGUgT1JERVIgQlkgMTsKIAogUkVTRVQgZGVm YXVsdF90cmFuc2FjdGlvbl9yZWFkX29ubHk7CiAKLURST1AgVEFCTEUgYWJjOworRFJPUCBUQUJM RSB0eG5fdGFibGU7CiAKIAogLS0gVGVzdCBhc3NvcnRlZCBiZWhhdmlvcnMgYXJvdW5kIHRoZSBp bXBsaWNpdCB0cmFuc2FjdGlvbiBibG9jayBjcmVhdGVkCkBAIC01NzksMzkgKzU3OSwzOSBAQCBT SE9XIHRyYW5zYWN0aW9uX3JlYWRfb25seTsKIFNFVCBUUkFOU0FDVElPTiBSRUFEIE9OTFlcOyBS T0xMQkFDSyBBTkQgQ0hBSU47ICAtLSBlcnJvcgogU0hPVyB0cmFuc2FjdGlvbl9yZWFkX29ubHk7 CiAKLUNSRUFURSBUQUJMRSBhYmMgKGEgaW50KTsKK0NSRUFURSBUQUJMRSB0eG5fdGFibGUgKGEg aW50KTsKIAogLS0gQ09NTUlUL1JPTExCQUNLICsgQ09NTUlUL1JPTExCQUNLIEFORCBDSEFJTgot SU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoNylcOyBDT01NSVRcOyBJTlNFUlQgSU5UTyBhYmMgVkFM VUVTICg4KVw7IENPTU1JVCBBTkQgQ0hBSU47ICAtLSA3IGNvbW1pdCwgOCBlcnJvcgotSU5TRVJU IElOVE8gYWJjIFZBTFVFUyAoOSlcOyBST0xMQkFDS1w7IElOU0VSVCBJTlRPIGFiYyBWQUxVRVMg KDEwKVw7IFJPTExCQUNLIEFORCBDSEFJTjsgIC0tIDkgcm9sbGJhY2ssIDEwIGVycm9yCitJTlNF UlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICg3KVw7IENPTU1JVFw7IElOU0VSVCBJTlRPIHR4bl90 YWJsZSBWQUxVRVMgKDgpXDsgQ09NTUlUIEFORCBDSEFJTjsgIC0tIDcgY29tbWl0LCA4IGVycm9y CitJTlNFUlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICg5KVw7IFJPTExCQUNLXDsgSU5TRVJUIElO VE8gdHhuX3RhYmxlIFZBTFVFUyAoMTApXDsgUk9MTEJBQ0sgQU5EIENIQUlOOyAgLS0gOSByb2xs YmFjaywgMTAgZXJyb3IKIAogLS0gQ09NTUlUL1JPTExCQUNLIEFORCBDSEFJTiArIENPTU1JVC9S T0xMQkFDSwotSU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoMTEpXDsgQ09NTUlUIEFORCBDSEFJTlw7 IElOU0VSVCBJTlRPIGFiYyBWQUxVRVMgKDEyKVw7IENPTU1JVDsgIC0tIDExIGVycm9yLCAxMiBu b3QgcmVhY2hlZAotSU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoMTMpXDsgUk9MTEJBQ0sgQU5EIENI QUlOXDsgSU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoMTQpXDsgUk9MTEJBQ0s7ICAtLSAxMyBlcnJv ciwgMTQgbm90IHJlYWNoZWQKK0lOU0VSVCBJTlRPIHR4bl90YWJsZSBWQUxVRVMgKDExKVw7IENP TU1JVCBBTkQgQ0hBSU5cOyBJTlNFUlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICgxMilcOyBDT01N SVQ7ICAtLSAxMSBlcnJvciwgMTIgbm90IHJlYWNoZWQKK0lOU0VSVCBJTlRPIHR4bl90YWJsZSBW QUxVRVMgKDEzKVw7IFJPTExCQUNLIEFORCBDSEFJTlw7IElOU0VSVCBJTlRPIHR4bl90YWJsZSBW QUxVRVMgKDE0KVw7IFJPTExCQUNLOyAgLS0gMTMgZXJyb3IsIDE0IG5vdCByZWFjaGVkCiAKIC0t IFNUQVJUIFRSQU5TQUNUSU9OICsgQ09NTUlUL1JPTExCQUNLIEFORCBDSEFJTgotU1RBUlQgVFJB TlNBQ1RJT04gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRFw7IElOU0VSVCBJTlRPIGFi YyBWQUxVRVMgKDE1KVw7IENPTU1JVCBBTkQgQ0hBSU47ICAtLSAxNSBvaworU1RBUlQgVFJBTlNB Q1RJT04gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRFw7IElOU0VSVCBJTlRPIHR4bl90 YWJsZSBWQUxVRVMgKDE1KVw7IENPTU1JVCBBTkQgQ0hBSU47ICAtLSAxNSBvawogU0hPVyB0cmFu c2FjdGlvbl9pc29sYXRpb247ICAtLSB0cmFuc2FjdGlvbiBpcyBhY3RpdmUgYXQgdGhpcyBwb2lu dAogQ09NTUlUOwogCi1TVEFSVCBUUkFOU0FDVElPTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJM RSBSRUFEXDsgSU5TRVJUIElOVE8gYWJjIFZBTFVFUyAoMTYpXDsgUk9MTEJBQ0sgQU5EIENIQUlO OyAgLS0gMTYgb2sKK1NUQVJUIFRSQU5TQUNUSU9OIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxF IFJFQURcOyBJTlNFUlQgSU5UTyB0eG5fdGFibGUgVkFMVUVTICgxNilcOyBST0xMQkFDSyBBTkQg Q0hBSU47ICAtLSAxNiBvawogU0hPVyB0cmFuc2FjdGlvbl9pc29sYXRpb247ICAtLSB0cmFuc2Fj dGlvbiBpcyBhY3RpdmUgYXQgdGhpcyBwb2ludAogUk9MTEJBQ0s7CiAKIFNFVCBkZWZhdWx0X3Ry YW5zYWN0aW9uX2lzb2xhdGlvbiA9ICdyZWFkIGNvbW1pdHRlZCc7CiAKIC0tIFNUQVJUIFRSQU5T QUNUSU9OICsgQ09NTUlUL1JPTExCQUNLICsgQ09NTUlUL1JPTExCQUNLIEFORCBDSEFJTgotU1RB UlQgVFJBTlNBQ1RJT04gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRFw7IElOU0VSVCBJ TlRPIGFiYyBWQUxVRVMgKDE3KVw7IENPTU1JVFw7IElOU0VSVCBJTlRPIGFiYyBWQUxVRVMgKDE4 KVw7IENPTU1JVCBBTkQgQ0hBSU47ICAtLSAxNyBjb21taXQsIDE4IGVycm9yCitTVEFSVCBUUkFO U0FDVElPTiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEXDsgSU5TRVJUIElOVE8gdHhu X3RhYmxlIFZBTFVFUyAoMTcpXDsgQ09NTUlUXDsgSU5TRVJUIElOVE8gdHhuX3RhYmxlIFZBTFVF UyAoMTgpXDsgQ09NTUlUIEFORCBDSEFJTjsgIC0tIDE3IGNvbW1pdCwgMTggZXJyb3IKIFNIT1cg dHJhbnNhY3Rpb25faXNvbGF0aW9uOyAgLS0gb3V0IG9mIHRyYW5zYWN0aW9uIGJsb2NrCiAKLVNU QVJUIFRSQU5TQUNUSU9OIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQURcOyBJTlNFUlQg SU5UTyBhYmMgVkFMVUVTICgxOSlcOyBST0xMQkFDS1w7IElOU0VSVCBJTlRPIGFiYyBWQUxVRVMg KDIwKVw7IFJPTExCQUNLIEFORCBDSEFJTjsgIC0tIDE5IHJvbGxiYWNrLCAyMCBlcnJvcgorU1RB UlQgVFJBTlNBQ1RJT04gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRFw7IElOU0VSVCBJ TlRPIHR4bl90YWJsZSBWQUxVRVMgKDE5KVw7IFJPTExCQUNLXDsgSU5TRVJUIElOVE8gdHhuX3Rh YmxlIFZBTFVFUyAoMjApXDsgUk9MTEJBQ0sgQU5EIENIQUlOOyAgLS0gMTkgcm9sbGJhY2ssIDIw IGVycm9yCiBTSE9XIHRyYW5zYWN0aW9uX2lzb2xhdGlvbjsgIC0tIG91dCBvZiB0cmFuc2FjdGlv biBibG9jawogCiBSRVNFVCBkZWZhdWx0X3RyYW5zYWN0aW9uX2lzb2xhdGlvbjsKIAotU0VMRUNU ICogRlJPTSBhYmMgT1JERVIgQlkgMTsKK1NFTEVDVCAqIEZST00gdHhuX3RhYmxlIE9SREVSIEJZ IDE7CiAKLURST1AgVEFCTEUgYWJjOworRFJPUCBUQUJMRSB0eG5fdGFibGU7CiAKIAogLS0gVGVz dCBmb3Igc3VjY2Vzc2Z1bCBjbGVhbnVwIG9mIGFuIGFib3J0ZWQgdHJhbnNhY3Rpb24gYXQgc2Vz c2lvbiBleGl0Lgo= --=_adf6286e35a35bc11a1d95b0fadc6017--