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 1o2HnU-0001fT-0s for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Jun 2022 19:38:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1o2HnS-0006jz-Aw for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Jun 2022 19:38:22 +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 1o2HnR-0006jp-Lc for pgsql-hackers@lists.postgresql.org; Fri, 17 Jun 2022 19:38:21 +0000 Received: from mail-oa1-x2f.google.com ([2001:4860:4864:20::2f]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1o2HnN-00048b-Su for pgsql-hackers@lists.postgresql.org; Fri, 17 Jun 2022 19:38:21 +0000 Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-1013ecaf7e0so6686954fac.13 for ; Fri, 17 Jun 2022 12:38:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=80qQ7QRxplodun+x4wix2QEFXnM2NcRhLa0755eh+kY=; b=OlA38QPmz10D0yjUyOdrbxQtTidH4iZYL+iuxfTt5FlKuuudZX9qUTYOC3x0yTKQD6 oKxk7qTxAB8Y/fPQkXnaSA6hac40PGGi3tUvU+vTIoTb/2/UvROdNohxh65n/EtRNfJD 6GBYpJ/8WHyKTeSWL7MRShWdgV3tC0Da7MR8k7KnX9kQR8b4TAhWNvkFI5xCOPYN1MgP L5827bBH3SIEohVPxG8Hn1Wp5W+dmQ/Tn2OBhP1vQdK0C5mpIYOLGDQ0Cs/5bvFItXxI QhoHj4e3xd6GiyL8gYHon+Jz1HoT1vPkXXbSMAzUGWvwcUZ1jzEORz1yuETrDEVs1F94 HxFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=80qQ7QRxplodun+x4wix2QEFXnM2NcRhLa0755eh+kY=; b=uiFWOs1shDE6xcUa1hEzttzpq3FDzxtWD+04IOgEdhMx0+Lf94mHgS6uHVevRCpIOH G1pI869UWcbiFFQBaOW6KckgVqqc8dv8rZr7SGDUKcRpaXDIRFE6TjTGuOxD12KX3Wk9 9O+QhtdbGs01tpjtCMFQVJdKauCnBWJkr489lH+Ky3c3/wWmalzWDYC8LseRJOcbRhrh brFP+K3YN8f0T84eQmZP+IiTkOyjrhFhq80XuSIbyJdKK5sHG/mwlv+Q8KwxIGwvxMLW 1jSzjBHIH0n98kQBDBSmYa2ccodp/ECKLrfuyBb/iN7MC3M4fLcK1vPbrBnGXJJ6jT98 X3Qg== X-Gm-Message-State: AJIora/bvDMS1zo0wrRY2dr5Pi6keJ2IttKf2GYryNNVI6sGAJagFy3h G1SFgqweMIAjhhbzuxZ+ennDV07FAl5iUo5xq6s= X-Google-Smtp-Source: AGRyM1tRE/76JNHSgCMBb/F9ZQTLlJadmwasPRUL6URtzHo7taTxBqiFpidmVG/SZU2/GETUSFQjYs8OdjdxHrJyepc= X-Received: by 2002:a05:6871:85:b0:fe:29a0:4a2c with SMTP id u5-20020a056871008500b000fe29a04a2cmr12354133oaa.249.1655494695226; Fri, 17 Jun 2022 12:38:15 -0700 (PDT) MIME-Version: 1.0 References: <202203162206.7spggyktx63e@alvherre.pgsql> In-Reply-To: From: Zheng Li Date: Fri, 17 Jun 2022 15:38:03 -0400 Message-ID: Subject: Re: Support logical replication of DDLs To: Amit Kapila Cc: "houzj.fnst@fujitsu.com" , Masahiko Sawada , Japin Li , Alvaro Herrera , Dilip Kumar , rajesh singarapu , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000003d077705e1a9e535" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000003d077705e1a9e535 Content-Type: text/plain; charset="UTF-8" On Wed, Jun 15, 2022 at 12:00 AM Amit Kapila wrote: > > On Wed, Jun 15, 2022 at 5:44 AM Zheng Li wrote: > > > > > > While I agree that the deparser is needed to handle the potential > > syntax differences between > > the pub/sub, I think it's only relevant for the use cases where only a > > subset of tables in the database > > are replicated. For other use cases where all tables, functions and > > other objects need to be replicated, > > (for example, creating a logical replica for major version upgrade) > > there won't be any syntax difference to > > handle and the schemas are supposed to match exactly between the > > pub/sub. In other words the user seeks to create an identical replica > > of the source database and the DDLs should be replicated > > as is in this case. > > > > I think even for database-level replication we can't assume that > source and target will always have the same data in which case "Create > Table As ..", "Alter Table .. " kind of statements can't be replicated > as it is because that can lead to different results. "Create Table As .." is already handled by setting the skipData flag of the statement parsetreee before replay: /* * Force skipping data population to avoid data inconsistency. * Data should be replicated from the publisher instead. */ castmt->into->skipData = true; "Alter Table .. " that rewrites with volatile expressions can also be handled without any syntax change, by enabling the table rewrite replication and converting the rewrite inserts to updates. ZJ's patch introduced this solution. I've also adopted this approach in my latest patch 0012-Support-replication-of-ALTER-TABLE-commands-that-rew.patch > The other point > is tomorrow we can extend the database level option/syntax to exclude > a few objects (something like [1]) as well in which case we again need > to filter at the publisher level I think for such cases it's not full database replication and we could treat it as table level DDL replication, i.e. use the the deparser format. > > So I think it's better to define DDL replication levels [1] to tailor > > for the two different use cases. We can use different logging format > > based on the DDL replication level. For example, > > we can simply log the DDL query string and the search_path for > > database level DDL replication. But for table level DDL replication we > > need to use the deparser format in order to > > handle the potential syntax differences and schema mapping requests. > > > > I think having different logging formats is worth considering but I am > not sure we can distinguish it for database and table level > replication because of the reasons mentioned above. One thing which > may need a different format is the replication of global objects like > roles, tablespace, etc. but we haven't analyzed them in detail about > those. I feel we may also need a different syntax altogether to > replicate such objects. Yes, global objects are not schema qualified so we probably don't need to use the deparser format for these. We plan to do some evaluation on replication of global objects. > Also, I think we may want to optimize the > current format in some cases so that the WAL amount could be reduced. > > I feel if we think that deparsing is required for this project then > probably at this stage it would be a good idea to explore ways to have > independent ways to test it. One way is to do testing via the logical > replication of DDL (aka via this patch) and the other is to write an > independent test suite as Sawada-San seems to be speculating above > [2]. I am not sure if there is any progress yet on the independent > test suite front yet. Testing DDL deparsing support has been discussed before in [1], we will also take a close look on it. [1] https://www.postgresql.org/message-id/5477FD78.1060306%402ndquadrant.com Regards, Zheng --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0003-Logical-replication-of-DDL-messages.patch" Content-Disposition: attachment; filename="0003-Logical-replication-of-DDL-messages.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhl2 RnJvbSBiMTkzZTI5YzM2MmFhZjM3OTAxMmMyZmM2YzJlNGU2NDhkMWMwYmIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTggTWFyIDIwMjIgMTc6MTc6MzkgKzAwMDAKU3ViamVjdDogW1BBVENIIDAz LzEyXSBMb2dpY2FsIHJlcGxpY2F0aW9uIG9mIERETCBtZXNzYWdlcwoKSW50ZWdyYXRpb24gd2l0 aCBwZ291dHB1dDoKU3VwcG9ydHMgc2VuZGluZyBhbmQgcmVjZWl2aW5nIHRoZSBEREwgbWVzc2Fn ZSB1c2luZyB0aGUgbG9naWNhbApyZXBsaWNhdGlvbiB3aXJlIHByb3RvY29sLiBBIG5ldyBMb2dp Y2FsUmVwTXNnVHlwZSBpcyBpbnRyb2R1Y2VkCmZvciB0aGlzIHB1cnBvc2U6IExPR0lDQUxfUkVQ X01TR19ERExNRVNTQUdFID0gJ0wnLgoKTG9naWNhbCByZXBsaWNhdGlvbiB3b3JrZXIgY2hhbmdl OgpTdXBwb3J0cyBleGVjdXRpb24gb2YgdGhlIERETCBjb21tYW5kIGluIHRoZSBvcmlnaW5hbCB1 c2VyIHJvbGUgYW5kCnNlYXJjaF9wYXRoLiBGb3IgYW55IG5ldyB0YWJsZSBjcmVhdGVkIHRoaXMg d2F5LCB3ZSBhbHNvIHNldCBpdHMKc3JzdWJzdGF0ZSBpbiB0aGUgcGdfc3Vic2NyaXB0aW9uX3Jl bCBjYXRhbG9nIHRvIFNVQlJFTF9TVEFURV9JTklULApTbyB0aGF0IERNTCByZXBsaWNhdGlvbiBj YW4gcHJvZ3Jlc3Mgb24gdGhpcyBuZXcgdGFibGUgd2l0aG91dAptYW51YWxseSBydW5uaW5nICJB TFRFUiBTVUJTQ1JJUFRJT04gLi4uIFJFRlJFU0ggUFVCTElDQVRJT04iLgoKVEFQIHRlc3Q6CkEg bmV3IFRBUCB0ZXN0IDAzMF9yZXBfZGRsLnBsIGlzIGFkZGVkLiBXZSBtYWlubHkgZm9jdXNlZCBv bgp0ZXN0aW5nIHRoZSBoYXBweSBwYXRoIG9mIGRhdGFiYXNlIGxldmVsIHJlcGxpY2F0aW9uIHNv IGZhci4KQ29ybmVyIGNhc2UgRERMcyBhbmQgdGFibGUgbGV2ZWwgRERMIHJlcGxpY2F0aW9uIGFy ZSBzdGlsbCB0byBiZQpjYXJlZnVsbHkgdGVzdGVkLgotLS0KIC4uLi90ZXN0X2RlY29kaW5nL2V4 cGVjdGVkL2RkbG1lc3NhZ2VzLm91dCAgICB8ICAyNiArLQogY29udHJpYi90ZXN0X2RlY29kaW5n L3NxbC9kZGxtZXNzYWdlcy5zcWwgICAgIHwgICA1ICstCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL3Byb3RvLmMgICAgICAgfCAgNjMgKysrKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvd29ya2VyLmMgICAgICB8IDI2NCArKysrKysrKysrKysrKysrKysKIHNyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMgICB8ICA4MiArKysrKy0KIHNy Yy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jICAgICAgICAgICAgICAgICAgICB8ICAxNCArLQogc3Jj L2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHByb3RvLmggICAgICAgIHwgIDEwICstCiBzcmMv dGVzdC9zdWJzY3JpcHRpb24vdC8wMDRfc3luYy5wbCAgICAgICAgICAgfCAgIDIgKy0KIHNyYy90 ZXN0L3N1YnNjcmlwdGlvbi90LzAwNl9yZXdyaXRlLnBsICAgICAgICB8ICAgMiArLQogc3JjL3Rl c3Qvc3Vic2NyaXB0aW9uL3QvMDA4X2RpZmZfc2NoZW1hLnBsICAgIHwgICAyICstCiBzcmMvdGVz dC9zdWJzY3JpcHRpb24vdC8wMDlfbWF0dmlld3MucGwgICAgICAgfCAgIDIgKy0KIHNyYy90ZXN0 L3N1YnNjcmlwdGlvbi90LzAxMl9jb2xsYXRpb24ucGwgICAgICB8ICAgMiArLQogc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDEzX3BhcnRpdGlvbi5wbCAgICAgIHwgICA4ICstCiBzcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgICAgICAgfCAyMzcgKysrKysrKysrKysrKysr KwogMTQgZmlsZXMgY2hhbmdlZCwgNjg0IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5w bAoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9leHBlY3RlZC9kZGxtZXNzYWdl cy5vdXQgYi9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0ZWQvZGRsbWVzc2FnZXMub3V0Cmlu ZGV4IDc5Mjg0ZjlkZWYuLjAzNzZmMzZjMjQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvdGVzdF9kZWNv ZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQKKysrIGIvY29udHJpYi90ZXN0X2RlY29kaW5n L2V4cGVjdGVkL2RkbG1lc3NhZ2VzLm91dApAQCAtMiw2ICsyLDkgQEAKIFNFVCBzeW5jaHJvbm91 c19jb21taXQgPSBvbjsKIC0tIHR1cm4gb24gbG9naWNhbCBkZGwgbWVzc2FnZSBsb2dnaW5nCiBD UkVBVEUgcHVibGljYXRpb24gbXlwdWIgRk9SIEFMTCBUQUJMRVMgd2l0aCAoZGRsID0gJ2RhdGFi YXNlJyk7CistLSBTRVQgVVNFUgorQ1JFQVRFIFJPTEUgZGRsX3JlcGxpY2F0aW9uX3VzZXIgTE9H SU4gU1VQRVJVU0VSOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiAnZGRsX3JlcGxpY2F0aW9u X3VzZXInOwogU0VMRUNUICdpbml0JyBGUk9NIHBnX2NyZWF0ZV9sb2dpY2FsX3JlcGxpY2F0aW9u X3Nsb3QoJ3JlZ3Jlc3Npb25fc2xvdCcsICd0ZXN0X2RlY29kaW5nJyk7CiAgP2NvbHVtbj8gCiAt LS0tLS0tLS0tCkBAIC0yMCwyMyArMjMsMjIgQEAgQkVHSU47CiBDUkVBVEUgVEFCTEUgdGVzdF9k ZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVlLCBkYXRhIGludCk7CiBBTFRFUiBUQUJMRSB0ZXN0 X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CiBDT01NSVQ7Ci1cbyB8IHNlZCAncy9yb2xlLipz ZWFyY2hfcGF0aC9yb2xlOiByZWRhY3RlZCwgc2VhcmNoX3BhdGgvZycKIFNFTEVDVCBkYXRhIEZS T00gcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdyZXNzaW9uX3Nsb3QnLCBOVUxMLCBO VUxMLCAnaW5jbHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0eS14YWN0cycsICcxJyk7Ci1TRUxF Q1QgcGdfZHJvcF9yZXBsaWNhdGlvbl9zbG90KCdyZWdyZXNzaW9uX3Nsb3QnKTsKLURST1AgVEFC TEUgdGVzdF9kZGxtZXNzYWdlOwotRFJPUCBwdWJsaWNhdGlvbiBteXB1YjsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHBy ZWZpeDogIHJvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejog NTggY29udGVudDpDUkVBVEUgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVl LCBkYXRhIGludCk7Ci0gRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9s ZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA0MyBjb250ZW50 OkFMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSBhZGQgYzMgdmFyY2hhcjsKLSBEREwgbWVzc2Fn ZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiByZWRhY3RlZCwgc2VhcmNoX3BhdGg6 ICIkdXNlciIsIHB1YmxpYywgc3o6IDM2IGNvbnRlbnQ6QUxURVIgVEFCTEUgdGVzdF9kZGxtZXNz YWdlIGRyb3AgYzM7Ci0gRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9s ZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiAyNyBjb250ZW50 OkRST1AgVEFCTEUgdGVzdF9kZGxtZXNzYWdlOwotIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFs OiAxIHByZWZpeDogIHJvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGlj LCBzejogNTggY29udGVudDpDUkVBVEUgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwg dW5pcXVlLCBkYXRhIGludCk7Ci0gRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4 OiAgcm9sZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA0MyBj b250ZW50OkFMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSBhZGQgYzMgdmFyY2hhcjsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGlj YXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDU4IGNvbnRlbnQ6 Q1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQp OworIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IGRkbF9yZXBs aWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogNDMgY29udGVu dDpBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CisgRERMIG1lc3Nh Z2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9sZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIs IHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiAzNiBjb250ZW50OkFMVEVSIFRBQkxF IHRlc3RfZGRsbWVzc2FnZSBkcm9wIGMzOworIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAx IHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2Vy IiwgcHVibGljLCBzejogMjcgY29udGVudDpEUk9QIFRBQkxFIHRlc3RfZGRsbWVzc2FnZTsKKyBE REwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGljYXRp b25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDU4IGNvbnRlbnQ6Q1JF QVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOwor IERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNh dGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogNDMgY29udGVudDpB TFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CiAoNiByb3dzKQogCitT RUxFQ1QgcGdfZHJvcF9yZXBsaWNhdGlvbl9zbG90KCdyZWdyZXNzaW9uX3Nsb3QnKTsKICBwZ19k cm9wX3JlcGxpY2F0aW9uX3Nsb3QgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIAogKDEg cm93KQogCitEUk9QIFRBQkxFIHRlc3RfZGRsbWVzc2FnZTsKK0RST1AgcHVibGljYXRpb24gbXlw dWI7CmRpZmYgLS1naXQgYS9jb250cmliL3Rlc3RfZGVjb2Rpbmcvc3FsL2RkbG1lc3NhZ2VzLnNx bCBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2FnZXMuc3FsCmluZGV4IDIxMTQ5 N2VlMjIuLmMyMzYxMGY5YjQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwv ZGRsbWVzc2FnZXMuc3FsCisrKyBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2Fn ZXMuc3FsCkBAIC0zLDYgKzMsMTAgQEAgU0VUIHN5bmNocm9ub3VzX2NvbW1pdCA9IG9uOwogLS0g dHVybiBvbiBsb2dpY2FsIGRkbCBtZXNzYWdlIGxvZ2dpbmcKIENSRUFURSBwdWJsaWNhdGlvbiBt eXB1YiBGT1IgQUxMIFRBQkxFUyB3aXRoIChkZGwgPSAnZGF0YWJhc2UnKTsKIAorLS0gU0VUIFVT RVIKK0NSRUFURSBST0xFIGRkbF9yZXBsaWNhdGlvbl91c2VyIExPR0lOIFNVUEVSVVNFUjsKK1NF VCBTRVNTSU9OIEFVVEhPUklaQVRJT04gJ2RkbF9yZXBsaWNhdGlvbl91c2VyJzsKKwogU0VMRUNU ICdpbml0JyBGUk9NIHBnX2NyZWF0ZV9sb2dpY2FsX3JlcGxpY2F0aW9uX3Nsb3QoJ3JlZ3Jlc3Np b25fc2xvdCcsICd0ZXN0X2RlY29kaW5nJyk7CiAKIENSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3Nh Z2UgKGlkIHNlcmlhbCB1bmlxdWUsIGRhdGEgaW50KTsKQEAgLTIwLDcgKzI0LDYgQEAgQ1JFQVRF IFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOwogQUxU RVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOwogQ09NTUlUOwogCi1cbyB8 IHNlZCAncy9yb2xlLipzZWFyY2hfcGF0aC9yb2xlOiByZWRhY3RlZCwgc2VhcmNoX3BhdGgvZycK IFNFTEVDVCBkYXRhIEZST00gcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdyZXNzaW9u X3Nsb3QnLCBOVUxMLCBOVUxMLCAnaW5jbHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0eS14YWN0 cycsICcxJyk7CiBTRUxFQ1QgcGdfZHJvcF9yZXBsaWNhdGlvbl9zbG90KCdyZWdyZXNzaW9uX3Ns b3QnKTsKIERST1AgVEFCTEUgdGVzdF9kZGxtZXNzYWdlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC9wcm90by5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC9wcm90by5jCmluZGV4IGZmODUxM2UyZDIuLjNjZmE5NGRkOGMgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8uYworKysgYi9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Byb3RvLmMKQEAgLTY0MCw4ICs2NDAsOCBAQCBsb2dpY2Fs cmVwX3JlYWRfdHJ1bmNhdGUoU3RyaW5nSW5mbyBpbiwKICAqLwogdm9pZAogbG9naWNhbHJlcF93 cml0ZV9tZXNzYWdlKFN0cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwgWExvZ1JlY1B0 ciBsc24sCi0JCQkJCQkgYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsIFNp emUgc3osCi0JCQkJCQkgY29uc3QgY2hhciAqbWVzc2FnZSkKKwkJCQkJCSBib29sIHRyYW5zYWN0 aW9uYWwsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkJCSBTaXplIHN6LCBjb25zdCBjaGFyICpt ZXNzYWdlKQogewogCXVpbnQ4CQlmbGFncyA9IDA7CiAKQEAgLTY2Miw2ICs2NjIsNjMgQEAgbG9n aWNhbHJlcF93cml0ZV9tZXNzYWdlKFN0cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwg WExvZ1JlY1B0ciBsc24sCiAJcHFfc2VuZGJ5dGVzKG91dCwgbWVzc2FnZSwgc3opOwogfQogCisv KgorICogUmVhZCBEREwgTUVTU0FHRSBmcm9tIHN0cmVhbQorICovCitjb25zdCBjaGFyICoKK2xv Z2ljYWxyZXBfcmVhZF9kZGxtZXNzYWdlKFN0cmluZ0luZm8gaW4sIFhMb2dSZWNQdHIgKmxzbiwK KwkJCQkJCSAgIGNvbnN0IGNoYXIgKipwcmVmaXgsCisJCQkJCQkgICBjb25zdCBjaGFyICoqcm9s ZSwKKwkJCQkJCSAgIGNvbnN0IGNoYXIgKipzZWFyY2hfcGF0aCwKKwkJCQkJCSAgIGJvb2wgKnRy YW5zYWN0aW9uYWwsCisJCQkJCQkgICBTaXplICpzeikKK3sKKwl1aW50OCBmbGFnczsKKwljb25z dCBjaGFyICptc2c7CisKKwkvL1RPRE8gZG91YmxlIGNoZWNrIHdoZW4gZG8gd2UgbmVlZCB0byBn ZXQgVHJhbnNhY3Rpb25JZC4KKworCWZsYWdzID0gcHFfZ2V0bXNnaW50KGluLCAxKTsKKwkqdHJh bnNhY3Rpb25hbCA9IChmbGFncyAmIE1FU1NBR0VfVFJBTlNBQ1RJT05BTCkgPiAwOworCSpsc24g PSBwcV9nZXRtc2dpbnQ2NChpbik7CisJKnByZWZpeCA9IHBxX2dldG1zZ3N0cmluZyhpbik7CisJ KnJvbGUgPSBwcV9nZXRtc2dzdHJpbmcoaW4pOworCSpzZWFyY2hfcGF0aCA9IHBxX2dldG1zZ3N0 cmluZyhpbik7CisJKnN6ID0gcHFfZ2V0bXNnaW50KGluLCA0KTsKKwltc2cgPSBwcV9nZXRtc2di eXRlcyhpbiwgKnN6KTsKKworCXJldHVybiBtc2c7Cit9CisKKy8qCisgKiBXcml0ZSBEREwgTUVT U0FHRSB0byBzdHJlYW0KKyAqLwordm9pZAorbG9naWNhbHJlcF93cml0ZV9kZGxtZXNzYWdlKFN0 cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwgWExvZ1JlY1B0ciBsc24sCisJCQkJCQkg Ym9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUs CisJCQkJCQkgY29uc3QgY2hhciAqc2VhcmNoX3BhdGgsIFNpemUgc3osIGNvbnN0IGNoYXIgKm1l c3NhZ2UpCit7CisJdWludDgJCWZsYWdzID0gMDsKKworCXBxX3NlbmRieXRlKG91dCwgTE9HSUNB TF9SRVBfTVNHX0RETE1FU1NBR0UpOworCisJLyogZW5jb2RlIGFuZCBzZW5kIG1lc3NhZ2UgZmxh Z3MgKi8KKwlpZiAodHJhbnNhY3Rpb25hbCkKKwkJZmxhZ3MgfD0gTUVTU0FHRV9UUkFOU0FDVElP TkFMOworCisJLyogdHJhbnNhY3Rpb24gSUQgKGlmIG5vdCB2YWxpZCwgd2UncmUgbm90IHN0cmVh bWluZykgKi8KKwlpZiAoVHJhbnNhY3Rpb25JZElzVmFsaWQoeGlkKSkKKwkJcHFfc2VuZGludDMy KG91dCwgeGlkKTsKKworCXBxX3NlbmRpbnQ4KG91dCwgZmxhZ3MpOworCXBxX3NlbmRpbnQ2NChv dXQsIGxzbik7CisJcHFfc2VuZHN0cmluZyhvdXQsIHByZWZpeCk7CisJcHFfc2VuZHN0cmluZyhv dXQsIHJvbGUpOworCXBxX3NlbmRzdHJpbmcob3V0LCBzZWFyY2hfcGF0aCk7CisJcHFfc2VuZGlu dDMyKG91dCwgc3opOworCXBxX3NlbmRieXRlcyhvdXQsIG1lc3NhZ2UsIHN6KTsKK30KKwogLyoK ICAqIFdyaXRlIHJlbGF0aW9uIGRlc2NyaXB0aW9uIHRvIHRoZSBvdXRwdXQgc3RyZWFtLgogICov CkBAIC0xMjE4LDYgKzEyNzUsOCBAQCBsb2dpY2FscmVwX21lc3NhZ2VfdHlwZShMb2dpY2FsUmVw TXNnVHlwZSBhY3Rpb24pCiAJCQlyZXR1cm4gIlRZUEUiOwogCQljYXNlIExPR0lDQUxfUkVQX01T R19NRVNTQUdFOgogCQkJcmV0dXJuICJNRVNTQUdFIjsKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0df RERMTUVTU0FHRToKKwkJCXJldHVybiAiRERMIjsKIAkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQkVH SU5fUFJFUEFSRToKIAkJCXJldHVybiAiQkVHSU4gUFJFUEFSRSI7CiAJCWNhc2UgTE9HSUNBTF9S RVBfTVNHX1BSRVBBUkU6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp Y2FsL3dvcmtlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpp bmRleCA2MDdmNzE5ZmQ2Li4yMTQ5YTk4OTRlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xv Z2ljYWwvd29ya2VyLmMKQEAgLTE1Niw2ICsxNTYsNyBAQAogI2luY2x1ZGUgIm1pc2NhZG1pbi5o IgogI2luY2x1ZGUgIm5vZGVzL21ha2VmdW5jcy5oIgogI2luY2x1ZGUgIm9wdGltaXplci9vcHRp bWl6ZXIuaCIKKyNpbmNsdWRlICJwYXJzZXIvYW5hbHl6ZS5oIgogI2luY2x1ZGUgInBnc3RhdC5o IgogI2luY2x1ZGUgInBvc3RtYXN0ZXIvYmd3b3JrZXIuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVy L2ludGVycnVwdC5oIgpAQCAtMTgwLDYgKzE4MSw4IEBACiAjaW5jbHVkZSAic3RvcmFnZS9wcm9j LmgiCiAjaW5jbHVkZSAic3RvcmFnZS9wcm9jYXJyYXkuaCIKICNpbmNsdWRlICJ0Y29wL3Rjb3Bw cm90LmgiCisjaW5jbHVkZSAidGNvcC9wcXVlcnkuaCIKKyNpbmNsdWRlICJ0Y29wL3V0aWxpdHku aCIKICNpbmNsdWRlICJ1dGlscy9hY2wuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgog I2luY2x1ZGUgInV0aWxzL2NhdGNhY2hlLmgiCkBAIC0zNDYsNiArMzQ5LDEwIEBAIHN0YXRpYyB2 b2lkIGFwcGx5X2hhbmRsZV90dXBsZV9yb3V0aW5nKEFwcGx5RXhlY3V0aW9uRGF0YSAqZWRhdGEs CiAJCQkJCQkJCQkgICBUdXBsZVRhYmxlU2xvdCAqcmVtb3Rlc2xvdCwKIAkJCQkJCQkJCSAgIExv Z2ljYWxSZXBUdXBsZURhdGEgKm5ld3R1cCwKIAkJCQkJCQkJCSAgIENtZFR5cGUgb3BlcmF0aW9u KTsKK3N0YXRpYyB2b2lkIGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21k c3RyLAorCQkJCQkJCQkJICBjb25zdCBjaGFyKiByb2xlLAorCQkJCQkJCQkJICBjb25zdCBjaGFy KiBzZWFyY2hfcGF0aCwKKwkJCQkJCQkJCSAgYm9vbCBpc1RvcExldmVsKTsKIAogLyogQ29tcHV0 ZSBHSUQgZm9yIHR3b19waGFzZSB0cmFuc2FjdGlvbnMgKi8KIHN0YXRpYyB2b2lkIFR3b1BoYXNl VHJhbnNhY3Rpb25HaWQoT2lkIHN1YmlkLCBUcmFuc2FjdGlvbklkIHhpZCwgY2hhciAqZ2lkLCBp bnQgc3pnaWQpOwpAQCAtMjQ0OCw2ICsyNDU1LDI1OSBAQCBhcHBseV9oYW5kbGVfdHJ1bmNhdGUo U3RyaW5nSW5mbyBzKQogCWVuZF9yZXBsaWNhdGlvbl9zdGVwKCk7CiB9CiAKKy8qCisgKiBIYW5k bGUgZ2VuZXJpYyBtZXNzYWdlcy4KKyAqLworc3RhdGljIHZvaWQKK2FwcGx5X2hhbmRsZV9kZGxt ZXNzYWdlKFN0cmluZ0luZm8gcykKK3sKKwlYTG9nUmVjUHRyIGxzbjsKKwlib29sIHRyYW5zYWN0 aW9uYWw7CisJU2l6ZSBzejsKKwljb25zdCBjaGFyICpwcmVmaXg7CisJY29uc3QgY2hhciAqcm9s ZTsKKwljb25zdCBjaGFyICpzZWFyY2hfcGF0aDsKKwljb25zdCBjaGFyICptc2c7CisKKwltc2cg PSBsb2dpY2FscmVwX3JlYWRfZGRsbWVzc2FnZShzLCAmbHNuLCAmcHJlZml4LCAmcm9sZSwgJnNl YXJjaF9wYXRoLCAmdHJhbnNhY3Rpb25hbCwgJnN6KTsKKworCWFwcGx5X2V4ZWN1dGVfc3FsX2Nv bW1hbmQobXNnLCByb2xlLCBzZWFyY2hfcGF0aCwgdHJ1ZSk7Cit9CisKKy8qCisgKiBBZGQgY29u dGV4dCB0byB0aGUgZXJyb3JzIHByb2R1Y2VkIGJ5IGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQo KS4KKyAqLworc3RhdGljIHZvaWQKK2V4ZWN1dGVfc3FsX2NvbW1hbmRfZXJyb3JfY2Iodm9pZCAq YXJnKQoreworCWVycmNvbnRleHQoImR1cmluZyBleGVjdXRpb24gb2YgU1FMIHN0YXRlbWVudDog JXMiLCAoY2hhciAqKSBhcmcpOworfQorCisvKgorICogRXhlY3V0ZSBhbiBTUUwgY29tbWFuZC4g VGhpcyBjYW4gYmUgbXVsdGlwbGUgcXVlcmllcy4KKyAqIFRoaXMgaXMgbW9kaWZpZWQgYmFzZWQg b24gcGdsb2dpY2FsX2V4ZWN1dGVfc3FsX2NvbW1hbmQoKS4KKyAqLworc3RhdGljIHZvaWQKK2Fw cGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21kc3RyLCBjb25zdCBjaGFyICpy b2xlLCBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwKKwkJCQkJCSAgYm9vbCBpc1RvcExldmVsKQor eworCWNvbnN0IGNoYXIgKnNhdmVfZGVidWdfcXVlcnlfc3RyaW5nID0gZGVidWdfcXVlcnlfc3Ry aW5nOworCUxpc3QJICAgKnBhcnNldHJlZV9saXN0OworCUxpc3RDZWxsICAgKnBhcnNldHJlZV9p dGVtOworCU1lbW9yeUNvbnRleHQgb2xkY29udGV4dDsKKwlFcnJvckNvbnRleHRDYWxsYmFjayBl cnJjYWxsYmFjazsKKwlpbnQJCQlzYXZlX25lc3RsZXZlbDsKKworCS8qCisJICogU3dpdGNoIHRv IGFwcHJvcHJpYXRlIGNvbnRleHQgZm9yIGNvbnN0cnVjdGluZyBwYXJzZXRyZWVzLgorCSAqLwor CW9sZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oQXBwbHlNZXNzYWdlQ29udGV4dCk7 CisJYmVnaW5fcmVwbGljYXRpb25fc3RlcCgpOworCisJLyoKKwkgKiBTZXQgdGhlIGN1cnJlbnQg cm9sZSB0byB0aGUgdXNlciB0aGF0IGV4ZWN1dGVkIHRoZSBjb21tYW5kIG9uIHRoZQorCSAqIHB1 YmxpY2F0aW9uIHNlcnZlci4KKwkgKiBTZXQgdGhlIGN1cnJlbnQgc2VhcmNoX3BhdGggdG8gdGhl IHNlYXJjaF9wYXRoIG9uIHRoZSBwdWJsaWNhdGlvbgorCSAqIHNlcnZlciB3aGVuIHRoZSBjb21t YW5kIHdhcyBleGVjdXRlZC4KKwkgKi8KKwlzYXZlX25lc3RsZXZlbCA9IE5ld0dVQ05lc3RMZXZl bCgpOworCVNldENvbmZpZ09wdGlvbigicm9sZSIsIHJvbGUsIFBHQ19JTlRFUk5BTCwgUEdDX1Nf T1ZFUlJJREUpOworCVNldENvbmZpZ09wdGlvbigic2VhcmNoX3BhdGgiLCBzZWFyY2hfcGF0aCwg UEdDX0lOVEVSTkFMLCBQR0NfU19PVkVSUklERSk7CisKKwllcnJjYWxsYmFjay5jYWxsYmFjayA9 IGV4ZWN1dGVfc3FsX2NvbW1hbmRfZXJyb3JfY2I7CisJZXJyY2FsbGJhY2suYXJnID0gKGNoYXIg KikgY21kc3RyOworCWVycmNhbGxiYWNrLnByZXZpb3VzID0gZXJyb3JfY29udGV4dF9zdGFjazsK KwllcnJvcl9jb250ZXh0X3N0YWNrID0gJmVycmNhbGxiYWNrOworCisJZGVidWdfcXVlcnlfc3Ry aW5nID0gY21kc3RyOworCisJcGFyc2V0cmVlX2xpc3QgPSBwZ19wYXJzZV9xdWVyeShjbWRzdHIp OworCisJLyoKKwkgKiBEbyBhIGxpbWl0ZWQgYW1vdW50IG9mIHNhZmV0eSBjaGVja2luZyBhZ2Fp bnN0IENPTkNVUlJFTlRMWSBjb21tYW5kcworCSAqIGV4ZWN1dGVkIGluIHNpdHVhdGlvbnMgd2hl cmUgdGhleSBhcmVuJ3QgYWxsb3dlZC4gVGhlIHNlbmRlciBzaWRlIHNob3VsZAorCSAqIHByb3Zp ZGUgcHJvdGVjdGlvbiwgYnV0IGJldHRlciBiZSBzYWZlIHRoYW4gc29ycnkuCisJICovCisJaXNU b3BMZXZlbCA9IGlzVG9wTGV2ZWwgJiYgKGxpc3RfbGVuZ3RoKHBhcnNldHJlZV9saXN0KSA9PSAx KTsKKworCS8qCisJICogU3dpdGNoIGJhY2sgdG8gdHJhbnNhY3Rpb24gY29udGV4dCB0byBlbnRl ciB0aGUgbG9vcC4KKwkgKi8KKwlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7CisK Kwlmb3JlYWNoKHBhcnNldHJlZV9pdGVtLCBwYXJzZXRyZWVfbGlzdCkKKwl7CisJCUxpc3QJICAg KnBsYW50cmVlX2xpc3Q7CisJCUxpc3QJICAgKnF1ZXJ5dHJlZV9saXN0OworCQlSYXdTdG10CSAg ICpjb21tYW5kID0gKFJhd1N0bXQgKikgbGZpcnN0KHBhcnNldHJlZV9pdGVtKTsKKwkJQ29tbWFu ZFRhZwljb21tYW5kVGFnOworCQlNZW1vcnlDb250ZXh0IHBlcl9wYXJzZXRyZWVfY29udGV4dCA9 IE5VTEw7CisJCVBvcnRhbAkJcG9ydGFsOworCQlEZXN0UmVjZWl2ZXIgKnJlY2VpdmVyOworCQli b29sCQkgc25hcHNob3Rfc2V0ID0gZmFsc2U7CisJCWNoYXIgCQkgKnNjaGVtYW5hbWUgPSBOVUxM OyAvKiBGb3IgQ1JFQVRFIFRBQkxFIHN0bXQgb25seSAqLworCQljaGFyCQkgKnJlbG5hbWUgPSBO VUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIHN0bXQgb25seSAqLworCisJCWNvbW1hbmRUYWcgPSBD cmVhdGVDb21tYW5kVGFnKChOb2RlICopY29tbWFuZCk7CisKKwkJLyoKKwkJICogUmVtZW1iZXIg dGhlIHNjaGVtYW5hbWUgYW5kIHJlbG5hbWUgaWYgaXQncyBhIENSRUFURSBUQUJMRSBzdG10CisJ CSAqIGJlY2F1c2Ugd2Ugd2lsbCBuZWVkIHRoZW0gZm9yIHNvbWUgcG9zdC1wcm9jZXNzaW5nIGFm dGVyIHdlCisJCSAqIGV4ZWN1dGUgdGhlIHN0bXQuIEF0IHRoYXQgcG9pbnQsIENyZWF0ZVN0bXQg bWF5IGhhdmUgYmVlbiBmcmVlZWQgdXAuCisJCSAqLworCQlpZiAoY29tbWFuZFRhZyA9PSBDTURU QUdfQ1JFQVRFX1RBQkxFKQorCQl7CisJCQlDcmVhdGVTdG10ICpjc3RtdCA9IChDcmVhdGVTdG10 ICopY29tbWFuZC0+c3RtdDsKKwkJCVJhbmdlVmFyICpydiA9IGNzdG10LT5yZWxhdGlvbjsKKwkJ CXNjaGVtYW5hbWUgPSBydi0+c2NoZW1hbmFtZTsKKwkJCXJlbG5hbWUgPSBydi0+cmVsbmFtZTsK KwkJfQorCisJCS8qCisJCSAqIFNldCB1cCBhIHNuYXBzaG90IGlmIHBhcnNlIGFuYWx5c2lzL3Bs YW5uaW5nIHdpbGwgbmVlZCBvbmUuCisJCSAqLworCQlpZiAoYW5hbHl6ZV9yZXF1aXJlc19zbmFw c2hvdChjb21tYW5kKSkKKwkJeworCQkJUHVzaEFjdGl2ZVNuYXBzaG90KEdldFRyYW5zYWN0aW9u U25hcHNob3QoKSk7CisJCQlzbmFwc2hvdF9zZXQgPSB0cnVlOworCQl9CisKKwkJLyoKKwkJICog T0sgdG8gYW5hbHl6ZSwgcmV3cml0ZSwgYW5kIHBsYW4gdGhpcyBxdWVyeS4KKwkJICoKKwkJICog U3dpdGNoIHRvIGFwcHJvcHJpYXRlIGNvbnRleHQgZm9yIGNvbnN0cnVjdGluZyBxdWVyeSBhbmQg cGxhbiB0cmVlcworCQkgKiAodGhlc2UgY2FuJ3QgYmUgaW4gdGhlIHRyYW5zYWN0aW9uIGNvbnRl eHQsIGFzIHRoYXQgd2lsbCBnZXQgcmVzZXQKKwkJICogd2hlbiB0aGUgY29tbWFuZCBpcyBDT01N SVQvUk9MTEJBQ0spLiAgSWYgd2UgaGF2ZSBtdWx0aXBsZQorCQkgKiBwYXJzZXRyZWVzLCB3ZSB1 c2UgYSBzZXBhcmF0ZSBjb250ZXh0IGZvciBlYWNoIG9uZSwgc28gdGhhdCB3ZSBjYW4KKwkJICog ZnJlZSB0aGF0IG1lbW9yeSBiZWZvcmUgbW92aW5nIG9uIHRvIHRoZSBuZXh0IG9uZS4gIEJ1dCBm b3IgdGhlCisJCSAqIGxhc3QgKG9yIG9ubHkpIHBhcnNldHJlZSwganVzdCB1c2UgTWVzc2FnZUNv bnRleHQsIHdoaWNoIHdpbGwgYmUKKwkJICogcmVzZXQgc2hvcnRseSBhZnRlciBjb21wbGV0aW9u IGFueXdheS4gIEluIGV2ZW50IG9mIGFuIGVycm9yLCB0aGUKKwkJICogcGVyX3BhcnNldHJlZV9j b250ZXh0IHdpbGwgYmUgZGVsZXRlZCB3aGVuIE1lc3NhZ2VDb250ZXh0IGlzIHJlc2V0LgorCQkg Ki8KKwkJaWYgKGxuZXh0KHBhcnNldHJlZV9saXN0LCBwYXJzZXRyZWVfaXRlbSkgIT0gTlVMTCkK KwkJeworCQkJcGVyX3BhcnNldHJlZV9jb250ZXh0ID0KKwkJCQlBbGxvY1NldENvbnRleHRDcmVh dGUoTWVzc2FnZUNvbnRleHQsCisJCQkJCQkJCQkgICJwZXItcGFyc2V0cmVlIG1lc3NhZ2UgY29u dGV4dCIsCisJCQkJCQkJCQkgIEFMTE9DU0VUX0RFRkFVTFRfU0laRVMpOworCQkJb2xkY29udGV4 dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhwZXJfcGFyc2V0cmVlX2NvbnRleHQpOworCQl9CisJ CWVsc2UKKwkJCW9sZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oQXBwbHlNZXNzYWdl Q29udGV4dCk7CisKKwkJcXVlcnl0cmVlX2xpc3QgPSBwZ19hbmFseXplX2FuZF9yZXdyaXRlX2Zp eGVkcGFyYW1zKAorCQkJY29tbWFuZCwKKwkJCWNtZHN0ciwKKwkJCU5VTEwsIDAsIE5VTEwpOwor CisJCXBsYW50cmVlX2xpc3QgPSBwZ19wbGFuX3F1ZXJpZXMoCisJCQlxdWVyeXRyZWVfbGlzdCwg Y21kc3RyLCAwLCBOVUxMKTsKKworCQkvKgorCQkgKiBEb25lIHdpdGggdGhlIHNuYXBzaG90IHVz ZWQgZm9yIHBhcnNpbmcvcGxhbm5pbmcuCisJCSAqCisJCSAqIFdoaWxlIGl0IGxvb2tzIHByb21p c2luZyB0byByZXVzZSB0aGUgc2FtZSBzbmFwc2hvdCBmb3IgcXVlcnkKKwkJICogZXhlY3V0aW9u IChhdCBsZWFzdCBmb3Igc2ltcGxlIHByb3RvY29sKSwgdW5mb3J0dW5hdGVseSBpdCBjYXVzZXMK KwkJICogZXhlY3V0aW9uIHRvIHVzZSBhIHNuYXBzaG90IHRoYXQgaGFzIGJlZW4gYWNxdWlyZWQg YmVmb3JlIGxvY2tpbmcKKwkJICogYW55IG9mIHRoZSB0YWJsZXMgbWVudGlvbmVkIGluIHRoZSBx dWVyeS4gIFRoaXMgY3JlYXRlcyB1c2VyLQorCQkgKiB2aXNpYmxlIGFub21hbGllcywgc28gcmVm cmFpbi4gIFJlZmVyIHRvCisJCSAqIGh0dHBzOi8vcG9zdGdyLmVzL20vZmxhdC81MDc1RDhERi42 MDUwNTAwQGZ1enp5LmN6IGZvciBkZXRhaWxzLgorCQkgKi8KKwkJaWYgKHNuYXBzaG90X3NldCkK KwkJCVBvcEFjdGl2ZVNuYXBzaG90KCk7CisKKwkJcG9ydGFsID0gQ3JlYXRlUG9ydGFsKCJsb2dp Y2FsIHJlcGxpY2F0aW9uIiwgdHJ1ZSwgdHJ1ZSk7CisKKwkJLyoKKwkJICogV2UgZG9uJ3QgaGF2 ZSB0byBjb3B5IGFueXRoaW5nIGludG8gdGhlIHBvcnRhbCwgYmVjYXVzZSBldmVyeXRoaW5nCisJ CSAqIHdlIGFyZSBwYXNzaW5nIGhlcmUgaXMgaW4gTWVzc2FnZUNvbnRleHQgb3IgdGhlCisJCSAq IHBlcl9wYXJzZXRyZWVfY29udGV4dCwgYW5kIHNvIHdpbGwgb3V0bGl2ZSB0aGUgcG9ydGFsIGFu eXdheS4KKwkJICovCisJCVBvcnRhbERlZmluZVF1ZXJ5KHBvcnRhbCwKKwkJCQkJCSAgTlVMTCwK KwkJCQkJCSAgY21kc3RyLAorCQkJCQkJICBjb21tYW5kVGFnLAorCQkJCQkJICBwbGFudHJlZV9s aXN0LAorCQkJCQkJICBOVUxMKTsKKworCQkvKgorCQkgKiBTdGFydCB0aGUgcG9ydGFsLiAgTm8g cGFyYW1ldGVycyBoZXJlLgorCQkgKi8KKwkJUG9ydGFsU3RhcnQocG9ydGFsLCBOVUxMLCAwLCBJ bnZhbGlkU25hcHNob3QpOworCisJCS8qIERlc3ROb25lIGZvciBsb2dpY2FsIHJlcGxpY2F0aW9u ICovCisJCXJlY2VpdmVyID0gQ3JlYXRlRGVzdFJlY2VpdmVyKERlc3ROb25lKTsKKworCQkvKgor CQkgKiBTd2l0Y2ggYmFjayB0byB0cmFuc2FjdGlvbiBjb250ZXh0IGZvciBleGVjdXRpb24uCisJ CSAqLworCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7CisKKwkJKHZvaWQpIFBv cnRhbFJ1bihwb3J0YWwsCisJCQkJCQkgRkVUQ0hfQUxMLAorCQkJCQkJIGlzVG9wTGV2ZWwsCisJ CQkJCQkgdHJ1ZSwKKwkJCQkJCSByZWNlaXZlciwKKwkJCQkJCSByZWNlaXZlciwKKwkJCQkJCSBO VUxMKTsKKwkJKCpyZWNlaXZlci0+ckRlc3Ryb3kpIChyZWNlaXZlcik7CisKKwkJUG9ydGFsRHJv cChwb3J0YWwsIGZhbHNlKTsKKworCQlDb21tYW5kQ291bnRlckluY3JlbWVudCgpOworCisJCS8q CisJCSAqIFRhYmxlIGNyZWF0ZWQgYnkgRERMIHJlcGxpY2F0aW9uIChkYXRhYmFzZSBsZXZlbCkg aXMgYXV0b21hdGljYWxseQorCQkgKiBhZGRlZCB0byB0aGUgc3Vic2NyaXB0aW9uIGhlcmUuCisJ CSAqCisJCSAqIENhbGwgQWRkU3Vic2NyaXB0aW9uUmVsU3RhdGUgZm9yIENSRUFURSBUQUJFTCBj b21tYW5kIHRvIHNldAorCQkgKiB0aGUgcmVsc3RhdGUgdG8gU1VCUkVMX1NUQVRFX0lOSVQgc28g RE1MIGNoYW5nZXMgb24gdGhpcworCQkgKiBuZXcgdGFibGUgY2FuIGJlIHJlcGxpY2F0ZWQgd2l0 aG91dCBoYXZpbmcgdG8gbWFudWFsbHkgcnVuCisJCSAqICJhbHRlciBzdWJzY3JpcHRpb24gLi4u IHJlZnJlc2ggcHVibGljYXRpb24iCisJCSAqLworCQlpZiAoY29tbWFuZFRhZyA9PSBDTURUQUdf Q1JFQVRFX1RBQkxFKQorCQl7CisJCQlPaWQgcmVsaWQ7CisJCQlPaWQgcmVsbmFtZXNwYWNlID0g SW52YWxpZE9pZDsKKworCQkJaWYgKHNjaGVtYW5hbWUgIT0gTlVMTCkKKwkJCQlyZWxuYW1lc3Bh Y2UgPSBnZXRfbmFtZXNwYWNlX29pZChzY2hlbWFuYW1lLCBmYWxzZSk7CisJCQlpZiAocmVsbmFt ZXNwYWNlICE9IEludmFsaWRPaWQpCisJCQkJcmVsaWQgPSBnZXRfcmVsbmFtZV9yZWxpZChyZWxu YW1lLCByZWxuYW1lc3BhY2UpOworCQkJZWxzZQorCQkJeworCQkJCS8qCisJCQkJICogVHJ5IHRv IHJlc29sdmUgdW5xdWFsaWZpZWQgcmVsbmFtZS4KKwkJCQkgKiBOb3RpY2Ugd2UgaGF2ZSBzZXQg dGhlIHNlYXJjaF9wYXRoIHRvIHRoZSBvcmlnaW5hbCBzZWFyY2hfcGF0aCBvbiB0aGUgcHVibGlz aGVyCisJCQkJICogYXQgdGhlIGJlZ2lubmluZyBvZiB0aGlzIGZ1bmN0aW9uLgorCQkJCSAqLwor CQkJCXJlbGlkID0gUmVsbmFtZUdldFJlbGlkKHJlbG5hbWUpOworCQkJfQorCisJCQlpZiAocmVs aWQgIT0gSW52YWxpZE9pZCkKKwkJCXsKKwkJCQlBZGRTdWJzY3JpcHRpb25SZWxTdGF0ZShNeVN1 YnNjcmlwdGlvbi0+b2lkLCByZWxpZCwKKwkJCQkJCQkJCQlTVUJSRUxfU1RBVEVfSU5JVCwKKwkJ CQkJCQkJCQlJbnZhbGlkWExvZ1JlY1B0cik7CisJCQkJZXJlcG9ydChERUJVRzEsCisJCQkJCQko ZXJybXNnX2ludGVybmFsKCJ0YWJsZSBcIiVzXCIgYWRkZWQgdG8gc3Vic2NyaXB0aW9uIFwiJXNc IiIsCisJCQkJCQkJCQkJIHJlbG5hbWUsIE15U3Vic2NyaXB0aW9uLT5uYW1lKSkpOworCQkJfQor CQl9CisJfQorCisJLyoKKwkgKiBSZXN0b3JlIHRoZSBHVUMgdmFyaWFibGVzIHdlIHNldCBhYm92 ZS4KKwkgKi8KKwlBdEVPWGFjdF9HVUModHJ1ZSwgc2F2ZV9uZXN0bGV2ZWwpOworCisJLyogcHJv dGVjdCBhZ2FpbnN0IHN0YWNrIHJlc2V0cyBkdXJpbmcgQ09OQ1VSUkVOVExZIHByb2Nlc3Npbmcg Ki8KKwlpZiAoZXJyb3JfY29udGV4dF9zdGFjayA9PSAmZXJyY2FsbGJhY2spCisJCWVycm9yX2Nv bnRleHRfc3RhY2sgPSBlcnJjYWxsYmFjay5wcmV2aW91czsKKworCWRlYnVnX3F1ZXJ5X3N0cmlu ZyA9IHNhdmVfZGVidWdfcXVlcnlfc3RyaW5nOworCWVuZF9yZXBsaWNhdGlvbl9zdGVwKCk7Cit9 CiAKIC8qCiAgKiBMb2dpY2FsIHJlcGxpY2F0aW9uIHByb3RvY29sIG1lc3NhZ2UgZGlzcGF0Y2hl ci4KQEAgLTI1MTMsNiArMjc3MywxMCBAQCBhcHBseV9kaXNwYXRjaChTdHJpbmdJbmZvIHMpCiAJ CQkgKi8KIAkJCWJyZWFrOwogCisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX0RETE1FU1NBR0U6CisJ CQlhcHBseV9oYW5kbGVfZGRsbWVzc2FnZShzKTsKKwkJCWJyZWFrOworCiAJCWNhc2UgTE9HSUNB TF9SRVBfTVNHX1NUUkVBTV9TVEFSVDoKIAkJCWFwcGx5X2hhbmRsZV9zdHJlYW1fc3RhcnQocyk7 CiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0 L3Bnb3V0cHV0LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5j CmluZGV4IDhkZWFlNTcxNDMuLmRiMjIxYzdlOGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRp b24vcGdvdXRwdXQvcGdvdXRwdXQuYwpAQCAtNTQsNiArNTQsMTAgQEAgc3RhdGljIHZvaWQgcGdv dXRwdXRfbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCiAJCQkJCQkJIFJlb3Jk ZXJCdWZmZXJUWE4gKnR4biwgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwKIAkJCQkJCQkgYm9vbCB0 cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkJCQkJIFNpemUgc3osIGNvbnN0 IGNoYXIgKm1lc3NhZ2UpOworc3RhdGljIHZvaWQgcGdvdXRwdXRfZGRsbWVzc2FnZShMb2dpY2Fs RGVjb2RpbmdDb250ZXh0ICpjdHgsCisJCQkJCQkJCVJlb3JkZXJCdWZmZXJUWE4gKnR4biwgWExv Z1JlY1B0ciBtZXNzYWdlX2xzbiwKKwkJCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBj aGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsCisJCQkJCQkJCWNvbnN0IGNoYXIgKnNlYXJj aF9wYXRoLCBTaXplIHN6LCBjb25zdCBjaGFyICptZXNzYWdlKTsKIHN0YXRpYyBib29sIHBnb3V0 cHV0X29yaWdpbl9maWx0ZXIoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCQkJCQkJCQkg ICBSZXBPcmlnaW5JZCBvcmlnaW5faWQpOwogc3RhdGljIHZvaWQgcGdvdXRwdXRfYmVnaW5fcHJl cGFyZV90eG4oTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LApAQCAtMjU2LDYgKzI2MCw3IEBA IF9QR19vdXRwdXRfcGx1Z2luX2luaXQoT3V0cHV0UGx1Z2luQ2FsbGJhY2tzICpjYikKIAljYi0+ Y2hhbmdlX2NiID0gcGdvdXRwdXRfY2hhbmdlOwogCWNiLT50cnVuY2F0ZV9jYiA9IHBnb3V0cHV0 X3RydW5jYXRlOwogCWNiLT5tZXNzYWdlX2NiID0gcGdvdXRwdXRfbWVzc2FnZTsKKwljYi0+ZGRs bWVzc2FnZV9jYiA9IHBnb3V0cHV0X2RkbG1lc3NhZ2U7CiAJY2ItPmNvbW1pdF9jYiA9IHBnb3V0 cHV0X2NvbW1pdF90eG47CiAKIAljYi0+YmVnaW5fcHJlcGFyZV9jYiA9IHBnb3V0cHV0X2JlZ2lu X3ByZXBhcmVfdHhuOwpAQCAtMjcyLDYgKzI3Nyw3IEBAIF9QR19vdXRwdXRfcGx1Z2luX2luaXQo T3V0cHV0UGx1Z2luQ2FsbGJhY2tzICpjYikKIAljYi0+c3RyZWFtX2NvbW1pdF9jYiA9IHBnb3V0 cHV0X3N0cmVhbV9jb21taXQ7CiAJY2ItPnN0cmVhbV9jaGFuZ2VfY2IgPSBwZ291dHB1dF9jaGFu Z2U7CiAJY2ItPnN0cmVhbV9tZXNzYWdlX2NiID0gcGdvdXRwdXRfbWVzc2FnZTsKKwljYi0+c3Ry ZWFtX2RkbG1lc3NhZ2VfY2IgPSBwZ291dHB1dF9kZGxtZXNzYWdlOwogCWNiLT5zdHJlYW1fdHJ1 bmNhdGVfY2IgPSBwZ291dHB1dF90cnVuY2F0ZTsKIAkvKiB0cmFuc2FjdGlvbiBzdHJlYW1pbmcg LSB0d28tcGhhc2UgY29tbWl0ICovCiAJY2ItPnN0cmVhbV9wcmVwYXJlX2NiID0gcGdvdXRwdXRf c3RyZWFtX3ByZXBhcmVfdHhuOwpAQCAtMTY1Niw4ICsxNjYyLDggQEAgcGdvdXRwdXRfdHJ1bmNh dGUoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAK IHN0YXRpYyB2b2lkCiBwZ291dHB1dF9tZXNzYWdlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0 eCwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAotCQkJCSBYTG9nUmVjUHRyIG1lc3NhZ2VfbHNuLCBi b29sIHRyYW5zYWN0aW9uYWwsIGNvbnN0IGNoYXIgKnByZWZpeCwgU2l6ZSBzeiwKLQkJCQkgY29u c3QgY2hhciAqbWVzc2FnZSkKKwkJCQkgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgYm9vbCB0cmFu c2FjdGlvbmFsLAorCQkJCSBjb25zdCBjaGFyICpwcmVmaXgsIFNpemUgc3osIGNvbnN0IGNoYXIg Km1lc3NhZ2UpCiB7CiAJUEdPdXRwdXREYXRhICpkYXRhID0gKFBHT3V0cHV0RGF0YSAqKSBjdHgt Pm91dHB1dF9wbHVnaW5fcHJpdmF0ZTsKIAlUcmFuc2FjdGlvbklkIHhpZCA9IEludmFsaWRUcmFu c2FjdGlvbklkOwpAQCAtMTY5Nyw2ICsxNzAzLDcwIEBAIHBnb3V0cHV0X21lc3NhZ2UoTG9naWNh bERlY29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJT3V0cHV0UGx1 Z2luV3JpdGUoY3R4LCB0cnVlKTsKIH0KIAorc3RhdGljIHZvaWQKK3Bnb3V0cHV0X2RkbG1lc3Nh Z2UoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCisJ CQkJIFhMb2dSZWNQdHIgbWVzc2FnZV9sc24sIGJvb2wgdHJhbnNhY3Rpb25hbCwKKwkJCQkgY29u c3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICogcm9sZSwKKwkJCQkgY29uc3QgY2hhciAqc2Vh cmNoX3BhdGgsIFNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCit7CisJUEdPdXRwdXREYXRh ICpkYXRhID0gKFBHT3V0cHV0RGF0YSAqKSBjdHgtPm91dHB1dF9wbHVnaW5fcHJpdmF0ZTsKKwlU cmFuc2FjdGlvbklkIHhpZCA9IEludmFsaWRUcmFuc2FjdGlvbklkOworCUxpc3RDZWxsICpsYzsK KworCS8qIFJlbG9hZCBwdWJsaWNhdGlvbnMgaWYgbmVlZGVkIGJlZm9yZSB1c2UuICovCisJaWYg KCFwdWJsaWNhdGlvbnNfdmFsaWQpCisJeworCQlNZW1vcnlDb250ZXh0IG9sZGN0eCA9IE1lbW9y eUNvbnRleHRTd2l0Y2hUbyhDYWNoZU1lbW9yeUNvbnRleHQpOworCQlpZiAoZGF0YS0+cHVibGlj YXRpb25zKQorCQkJbGlzdF9mcmVlX2RlZXAoZGF0YS0+cHVibGljYXRpb25zKTsKKworCQlkYXRh LT5wdWJsaWNhdGlvbnMgPSBMb2FkUHVibGljYXRpb25zKGRhdGEtPnB1YmxpY2F0aW9uX25hbWVz KTsKKwkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CisJCXB1YmxpY2F0aW9uc192YWxp ZCA9IHRydWU7CisJfQorCisJLyogQ2hlY2sgaWYgZGRsIHJlcGxpY2F0aW9uIGlzIHR1cm5lZCBv biBmb3IgdGhlIHB1YmxpY2F0aW9ucyAqLworCWZvcmVhY2gobGMsIGRhdGEtPnB1YmxpY2F0aW9u cykKKwl7CisJCVB1YmxpY2F0aW9uICpwdWIgPSAoUHVibGljYXRpb24gKikgbGZpcnN0KGxjKTsK KwkJLyogVE9ETyBuZWVkIHRvIGNoZWNrIHJlbGlkIGZvciB0YWJsZSBsZXZlbCBERExzICovCisJ CWlmICghcHViLT5wdWJhY3Rpb25zLnB1YmRkbF9kYXRhYmFzZSAmJiAhcHViLT5wdWJhY3Rpb25z LnB1YmRkbF90YWJsZSkKKwkJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIFJlbWVtYmVyIHRoZSB4 aWQgZm9yIHRoZSBtZXNzYWdlIGluIHN0cmVhbWluZyBtb2RlLiBTZWUKKwkgKiBwZ291dHB1dF9j aGFuZ2UuCisJICovCisJaWYgKGluX3N0cmVhbWluZykKKwkJeGlkID0gdHhuLT54aWQ7CisKKwkv KgorCSAqIE91dHB1dCBCRUdJTiBpZiB3ZSBoYXZlbid0IHlldC4gQXZvaWQgZm9yIG5vbi10cmFu c2FjdGlvbmFsCisJICogbWVzc2FnZXMuCisJICovCisJaWYgKHRyYW5zYWN0aW9uYWwpCisJewor CQlQR091dHB1dFR4bkRhdGEgKnR4bmRhdGEgPSAoUEdPdXRwdXRUeG5EYXRhICopIHR4bi0+b3V0 cHV0X3BsdWdpbl9wcml2YXRlOworCisJCS8qIFNlbmQgQkVHSU4gaWYgd2UgaGF2ZW4ndCB5ZXQg Ki8KKwkJaWYgKHR4bmRhdGEgJiYgIXR4bmRhdGEtPnNlbnRfYmVnaW5fdHhuKQorCQkJcGdvdXRw dXRfc2VuZF9iZWdpbihjdHgsIHR4bik7CisJfQorCisJT3V0cHV0UGx1Z2luUHJlcGFyZVdyaXRl KGN0eCwgdHJ1ZSk7CisJbG9naWNhbHJlcF93cml0ZV9kZGxtZXNzYWdlKGN0eC0+b3V0LAorCQkJ CQkJCSB4aWQsCisJCQkJCQkJIG1lc3NhZ2VfbHNuLAorCQkJCQkJCSB0cmFuc2FjdGlvbmFsLAor CQkJCQkJCSBwcmVmaXgsCisJCQkJCQkJIHJvbGUsCisJCQkJCQkJIHNlYXJjaF9wYXRoLAorCQkJ CQkJCSBzeiwKKwkJCQkJCQkgbWVzc2FnZSk7CisJT3V0cHV0UGx1Z2luV3JpdGUoY3R4LCB0cnVl KTsKK30KKwogLyoKICAqIEN1cnJlbnRseSB3ZSBhbHdheXMgZm9yd2FyZC4KICAqLwpAQCAtMTk4 Miw3ICsyMDUyLDkgQEAgZ2V0X3JlbF9zeW5jX2VudHJ5KFBHT3V0cHV0RGF0YSAqZGF0YSwgUmVs YXRpb24gcmVsYXRpb24pCiAJCWVudHJ5LT5zY2hlbWFfc2VudCA9IGZhbHNlOwogCQllbnRyeS0+ c3RyZWFtZWRfdHhucyA9IE5JTDsKIAkJZW50cnktPnB1YmFjdGlvbnMucHViaW5zZXJ0ID0gZW50 cnktPnB1YmFjdGlvbnMucHVidXBkYXRlID0KLQkJCWVudHJ5LT5wdWJhY3Rpb25zLnB1YmRlbGV0 ZSA9IGVudHJ5LT5wdWJhY3Rpb25zLnB1YnRydW5jYXRlID0gZmFsc2U7CisJCQllbnRyeS0+cHVi YWN0aW9ucy5wdWJkZWxldGUgPSBlbnRyeS0+cHViYWN0aW9ucy5wdWJ0cnVuY2F0ZSA9CisJCQll bnRyeS0+cHViYWN0aW9ucy5wdWJkZGxfZGF0YWJhc2UgPQorCQkJZW50cnktPnB1YmFjdGlvbnMu cHViZGRsX3RhYmxlID0gZmFsc2U7CiAJCWVudHJ5LT5uZXdfc2xvdCA9IE5VTEw7CiAJCWVudHJ5 LT5vbGRfc2xvdCA9IE5VTEw7CiAJCW1lbXNldChlbnRyeS0+ZXhwcnN0YXRlLCAwLCBzaXplb2Yo ZW50cnktPmV4cHJzdGF0ZSkpOwpAQCAtMjA0MCw2ICsyMTEyLDggQEAgZ2V0X3JlbF9zeW5jX2Vu dHJ5KFBHT3V0cHV0RGF0YSAqZGF0YSwgUmVsYXRpb24gcmVsYXRpb24pCiAJCWVudHJ5LT5wdWJh Y3Rpb25zLnB1YnVwZGF0ZSA9IGZhbHNlOwogCQllbnRyeS0+cHViYWN0aW9ucy5wdWJkZWxldGUg PSBmYWxzZTsKIAkJZW50cnktPnB1YmFjdGlvbnMucHVidHJ1bmNhdGUgPSBmYWxzZTsKKwkJZW50 cnktPnB1YmFjdGlvbnMucHViZGRsX2RhdGFiYXNlID0gZmFsc2U7CisJCWVudHJ5LT5wdWJhY3Rp b25zLnB1YmRkbF90YWJsZSA9IGZhbHNlOwogCiAJCS8qCiAJCSAqIFR1cGxlIHNsb3RzIGNsZWFu dXBzLiAoV2lsbCBiZSByZWJ1aWx0IGxhdGVyIGlmIG5lZWRlZCkuCkBAIC0yMTUzLDYgKzIyMjcs OCBAQCBnZXRfcmVsX3N5bmNfZW50cnkoUEdPdXRwdXREYXRhICpkYXRhLCBSZWxhdGlvbiByZWxh dGlvbikKIAkJCQllbnRyeS0+cHViYWN0aW9ucy5wdWJ1cGRhdGUgfD0gcHViLT5wdWJhY3Rpb25z LnB1YnVwZGF0ZTsKIAkJCQllbnRyeS0+cHViYWN0aW9ucy5wdWJkZWxldGUgfD0gcHViLT5wdWJh Y3Rpb25zLnB1YmRlbGV0ZTsKIAkJCQllbnRyeS0+cHViYWN0aW9ucy5wdWJ0cnVuY2F0ZSB8PSBw dWItPnB1YmFjdGlvbnMucHVidHJ1bmNhdGU7CisJCQkJZW50cnktPnB1YmFjdGlvbnMucHViZGRs X2RhdGFiYXNlIHw9IHB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfZGF0YWJhc2U7CisJCQkJZW50cnkt PnB1YmFjdGlvbnMucHViZGRsX3RhYmxlIHw9IHB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfdGFibGU7 CiAKIAkJCQkvKgogCQkJCSAqIFdlIHdhbnQgdG8gcHVibGlzaCB0aGUgY2hhbmdlcyBhcyB0aGUg dG9wLW1vc3QgYW5jZXN0b3IKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5j IGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggNWZlNTRmNzQyYS4uZDBiYjIzMmFm NiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tl bmQvdGNvcC91dGlsaXR5LmMKQEAgLTEyNjgsMTMgKzEyNjgsNiBAQCBQcm9jZXNzVXRpbGl0eVNs b3coUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQlpZiAoaXNDb21wbGV0ZVF1ZXJ5KQogCQkJRXZlbnRU cmlnZ2VyRERMQ29tbWFuZFN0YXJ0KHBhcnNldHJlZSk7CiAKLQkJLyoKLQkJICogQ29uc2lkZXIg bG9nZ2luZyB0aGUgRERMIGNvbW1hbmQgaWYgbG9naWNhbCBsb2dnaW5nIGlzIGVuYWJsZWQgYW5k IHRoaXMgaXMKLQkJICogYSB0b3AgbGV2ZWwgcXVlcnkuCi0JCSAqLwotCQlpZiAoWExvZ0xvZ2lj YWxJbmZvQWN0aXZlKCkgJiYgaXNUb3BMZXZlbCkKLQkJCUxvZ0xvZ2ljYWxERExDb21tYW5kKHBh cnNldHJlZSwgcXVlcnlTdHJpbmcpOwotCiAJCXN3aXRjaCAobm9kZVRhZyhwYXJzZXRyZWUpKQog CQl7CiAJCQkJLyoKQEAgLTIxMTAsNiArMjEwMywxMyBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFy c2VTdGF0ZSAqcHN0YXRlLAogCiAJCWlmIChpc0NvbXBsZXRlUXVlcnkpCiAJCXsKKwkJCS8qCisJ CQkgKiBDb25zaWRlciBsb2dnaW5nIHRoZSBEREwgY29tbWFuZCBpZiBsb2dpY2FsIGxvZ2dpbmcg aXMgZW5hYmxlZCBhbmQgdGhpcyBpcworCQkJICogYSBjb21wbGV0ZSB0b3AgbGV2ZWwgcXVlcnku CisJCQkgKi8KKwkJCWlmIChYTG9nTG9naWNhbEluZm9BY3RpdmUoKSAmJiBpc1RvcExldmVsKQor CQkJCUxvZ0xvZ2ljYWxERExDb21tYW5kKHBhcnNldHJlZSwgcXVlcnlTdHJpbmcpOworCiAJCQlF dmVudFRyaWdnZXJTUUxEcm9wKHBhcnNldHJlZSk7CiAJCQlFdmVudFRyaWdnZXJERExDb21tYW5k RW5kKHBhcnNldHJlZSk7CiAJCX0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L2xvZ2ljYWxwcm90by5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHByb3RvLmgK aW5kZXggYTc3MWFiOGZmMy4uMjhmZjU2MmQ2MiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVw bGljYXRpb24vbG9naWNhbHByb3RvLmgKKysrIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9n aWNhbHByb3RvLmgKQEAgLTYxLDYgKzYxLDcgQEAgdHlwZWRlZiBlbnVtIExvZ2ljYWxSZXBNc2dU eXBlCiAJTE9HSUNBTF9SRVBfTVNHX1JFTEFUSU9OID0gJ1InLAogCUxPR0lDQUxfUkVQX01TR19U WVBFID0gJ1knLAogCUxPR0lDQUxfUkVQX01TR19NRVNTQUdFID0gJ00nLAorCUxPR0lDQUxfUkVQ X01TR19ERExNRVNTQUdFID0gJ0wnLAogCUxPR0lDQUxfUkVQX01TR19CRUdJTl9QUkVQQVJFID0g J2InLAogCUxPR0lDQUxfUkVQX01TR19QUkVQQVJFID0gJ1AnLAogCUxPR0lDQUxfUkVQX01TR19D T01NSVRfUFJFUEFSRUQgPSAnSycsCkBAIC0yMjksNyArMjMwLDE0IEBAIGV4dGVybiB2b2lkIGxv Z2ljYWxyZXBfd3JpdGVfdHJ1bmNhdGUoU3RyaW5nSW5mbyBvdXQsIFRyYW5zYWN0aW9uSWQgeGlk LAogZXh0ZXJuIExpc3QgKmxvZ2ljYWxyZXBfcmVhZF90cnVuY2F0ZShTdHJpbmdJbmZvIGluLAog CQkJCQkJCQkJICBib29sICpjYXNjYWRlLCBib29sICpyZXN0YXJ0X3NlcXMpOwogZXh0ZXJuIHZv aWQgbG9naWNhbHJlcF93cml0ZV9tZXNzYWdlKFN0cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklk IHhpZCwgWExvZ1JlY1B0ciBsc24sCi0JCQkJCQkJCQkgYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25z dCBjaGFyICpwcmVmaXgsIFNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworCQkJCQkJCQkJ IGJvb2wgdHJhbnNhY3Rpb25hbCwgY29uc3QgY2hhciAqcHJlZml4LAorCQkJCQkJCQkJIFNpemUg c3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworZXh0ZXJuIHZvaWQgbG9naWNhbHJlcF93cml0ZV9k ZGxtZXNzYWdlKFN0cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwgWExvZ1JlY1B0ciBs c24sCisJCQkJCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsIGNv bnN0IGNoYXIgKnJvbGUsCisJCQkJCQkJCQkJY29uc3QgY2hhciAqc2VhcmNoX3BhdGgsIFNpemUg c3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmxvZ2ljYWxyZXBf cmVhZF9kZGxtZXNzYWdlKFN0cmluZ0luZm8gaW4sIFhMb2dSZWNQdHIgKmxzbiwgY29uc3QgY2hh ciAqKnByZWZpeCwKKwkJCQkJCQkJCQkJICBjb25zdCBjaGFyICoqcm9sZSwgY29uc3QgY2hhciAq KnNlYXJjaF9wYXRoLAorCQkJCQkJCQkJCQkgIGJvb2wgKnRyYW5zYWN0aW9uYWwsIFNpemUgKnN6 KTsKIGV4dGVybiB2b2lkIGxvZ2ljYWxyZXBfd3JpdGVfcmVsKFN0cmluZ0luZm8gb3V0LCBUcmFu c2FjdGlvbklkIHhpZCwKIAkJCQkJCQkJIFJlbGF0aW9uIHJlbCwgQml0bWFwc2V0ICpjb2x1bW5z KTsKIGV4dGVybiBMb2dpY2FsUmVwUmVsYXRpb24gKmxvZ2ljYWxyZXBfcmVhZF9yZWwoU3RyaW5n SW5mbyBpbik7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMDRfc3luYy5w bCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwNF9zeW5jLnBsCmluZGV4IGNmNjFmYzFlMGYu LjY5OGM1MTE0ZTYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwNF9zeW5j LnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwNF9zeW5jLnBsCkBAIC0zMyw3ICsz Myw3IEBAICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogIyBTZXR1cCBs b2dpY2FsIHJlcGxpY2F0aW9uCiBteSAkcHVibGlzaGVyX2Nvbm5zdHIgPSAkbm9kZV9wdWJsaXNo ZXItPmNvbm5zdHIgLiAnIGRibmFtZT1wb3N0Z3Jlcyc7CiAkbm9kZV9wdWJsaXNoZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLAotCSJDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1YiBGT1IgQUxMIFRB QkxFUyIpOworCSJDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1YiBGT1IgQUxMIFRBQkxFUyBXSVRI IChkZGwgPSAnJykiKTsKIAogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs CiAJIkNSRUFURSBTVUJTQ1JJUFRJT04gdGFwX3N1YiBDT05ORUNUSU9OICckcHVibGlzaGVyX2Nv bm5zdHInIFBVQkxJQ0FUSU9OIHRhcF9wdWIiCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3Jp cHRpb24vdC8wMDZfcmV3cml0ZS5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwNl9yZXdy aXRlLnBsCmluZGV4IGM5MjRmZjM1ZjcuLjZjOWIwNTVlYjAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3N1YnNjcmlwdGlvbi90LzAwNl9yZXdyaXRlLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAwNl9yZXdyaXRlLnBsCkBAIC0yMyw3ICsyMyw3IEBAICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAkZGRsKTsKIG15ICRwdWJsaXNoZXJfY29ubnN0ciA9ICRub2Rl X3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPXBvc3RncmVzJzsKIAogJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLQkiQ1JFQVRFIFBVQkxJQ0FUSU9OIG15cHViIEZP UiBBTEwgVEFCTEVTOyIpOworCSJDUkVBVEUgUFVCTElDQVRJT04gbXlwdWIgRk9SIEFMTCBUQUJM RVMgV0lUSCAoZGRsID0gJycpOyIpOwogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsCiAJIkNSRUFURSBTVUJTQ1JJUFRJT04gbXlzdWIgQ09OTkVDVElPTiAnJHB1Ymxpc2hl cl9jb25uc3RyJyBQVUJMSUNBVElPTiBteXB1YjsiCiApOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDA4X2RpZmZfc2NoZW1hLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDA4X2RpZmZfc2NoZW1hLnBsCmluZGV4IDY3YjQwMjZhZmEuLjI5MDJlNmZjMzQgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwOF9kaWZmX3NjaGVtYS5wbAorKysgYi9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMDhfZGlmZl9zY2hlbWEucGwKQEAgLTMyLDcgKzMyLDcg QEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAjIFNldHVwIGxvZ2lj YWwgcmVwbGljYXRpb24KIG15ICRwdWJsaXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hlci0+ Y29ubnN0ciAuICcgZGJuYW1lPXBvc3RncmVzJzsKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCi0JIkNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViIEZPUiBBTEwgVEFCTEVT Iik7CisJIkNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViIEZPUiBBTEwgVEFCTEVTIFdJVEggKGRk bCA9ICcnKSIpOwogCiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAki Q1JFQVRFIFNVQlNDUklQVElPTiB0YXBfc3ViIENPTk5FQ1RJT04gJyRwdWJsaXNoZXJfY29ubnN0 cicgUFVCTElDQVRJT04gdGFwX3B1YiIKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAwOV9tYXR2aWV3cy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwOV9tYXR2aWV3 cy5wbAppbmRleCAxY2U2OTZkNGE0Li42YzU4Njg3N2ExIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMDlfbWF0dmlld3MucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDA5X21hdHZpZXdzLnBsCkBAIC0xOSw3ICsxOSw3IEBAICRub2RlX3N1YnNjcmliZXItPnN0 YXJ0OwogbXkgJHB1Ymxpc2hlcl9jb25uc3RyID0gJG5vZGVfcHVibGlzaGVyLT5jb25uc3RyIC4g JyBkYm5hbWU9cG9zdGdyZXMnOwogCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLAotCSJDUkVBVEUgUFVCTElDQVRJT04gbXlwdWIgRk9SIEFMTCBUQUJMRVM7Iik7CisJIkNS RUFURSBQVUJMSUNBVElPTiBteXB1YiBGT1IgQUxMIFRBQkxFUyBXSVRIIChkZGwgPSAnJyk7Iik7 CiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFNVQlND UklQVElPTiBteXN1YiBDT05ORUNUSU9OICckcHVibGlzaGVyX2Nvbm5zdHInIFBVQkxJQ0FUSU9O IG15cHViOyIKICk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMTJfY29s bGF0aW9uLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDEyX2NvbGxhdGlvbi5wbAppbmRl eCAyMTgyZjc5NDhlLi5lMWI1MDUwNjYzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMTJfY29sbGF0aW9uLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAxMl9j b2xsYXRpb24ucGwKQEAgLTc2LDcgKzc2LDcgQEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAjIHNldCB1cCBwdWJsaWNhdGlvbiwgc3Vic2NyaXB0aW9uCiAKICRub2Rl X3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCi0JcXtDUkVBVEUgUFVCTElDQVRJT04g cHViMSBGT1IgQUxMIFRBQkxFU30pOworCXF7Q1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjEgRk9SIEFM TCBUQUJMRVMgV0lUSCAoZGRsID0gJycpfSk7CiAKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLAogCXFxe0NSRUFURSBTVUJTQ1JJUFRJT04gc3ViMSBDT05ORUNUSU9OICck cHVibGlzaGVyX2Nvbm5zdHInIFBVQkxJQ0FUSU9OIHB1YjEgV0lUSCAoY29weV9kYXRhID0gZmFs c2UpfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDEzX3BhcnRpdGlvbi5w bCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAxM19wYXJ0aXRpb24ucGwKaW5kZXggNjlmNDAw OWExNC4uYWYwMjhlMDI1OCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDEz X3BhcnRpdGlvbi5wbAorKysgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMTNfcGFydGl0aW9u LnBsCkBAIC0yNSw5ICsyNSw5IEBAICRub2RlX3N1YnNjcmliZXIyLT5zdGFydDsKIG15ICRwdWJs aXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPXBvc3Rn cmVzJzsKIAogIyBwdWJsaXNoZXIKLSRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJDUkVBVEUgUFVCTElDQVRJT04gcHViMSIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywgIkNSRUFURSBQVUJMSUNBVElPTiBwdWIxIFdJVEggKGRkbCA9ICcnKSIp OwogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLQkiQ1JFQVRFIFBVQkxJ Q0FUSU9OIHB1Yl9hbGwgRk9SIEFMTCBUQUJMRVMiKTsKKwkiQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1 Yl9hbGwgRk9SIEFMTCBUQUJMRVMgV0lUSCAoZGRsID0gJycpIik7CiAkbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJDUkVBVEUgVEFCTEUgdGFiMSAoYSBpbnQgUFJJTUFS WSBLRVksIGIgdGV4dCkgUEFSVElUSU9OIEJZIExJU1QgKGEpIik7CiAkbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLApAQCAtNDI1LDEyICs0MjUsMTIgQEAgJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKICMgYW5kIGNoaWxkIHRhYmxlcyBhcmUgcHJlc2Vu dCBidXQgY2hhbmdlcyB3aWxsIGJlIHJlcGxpY2F0ZWQgdmlhIHRoZSBwYXJlbnQncwogIyBpZGVu dGl0eSBhbmQgb25seSBvbmNlLgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywKLQkiQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1Yl92aWFyb290IEZPUiBUQUJMRSB0YWIyLCB0YWIy XzEsIHRhYjNfMSBXSVRIIChwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCA9IHRydWUpIgorCSJD UkVBVEUgUFVCTElDQVRJT04gcHViX3ZpYXJvb3QgRk9SIFRBQkxFIHRhYjIsIHRhYjJfMSwgdGFi M18xIFdJVEggKHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290ID0gdHJ1ZSwgZGRsID0gJycpIgog KTsKIAogIyBmb3IgdGFiNCwgd2UgcHVibGlzaCBjaGFuZ2VzIHRocm91Z2ggdGhlICJtaWRkbGUi IHBhcnRpdGlvbmVkIHRhYmxlCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LAotCSJDUkVBVEUgUFVCTElDQVRJT04gcHViX2xvd2VyX2xldmVsIEZPUiBUQUJMRSB0YWI0XzEg V0lUSCAocHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSB0cnVlKSIKKwkiQ1JFQVRFIFBVQkxJ Q0FUSU9OIHB1Yl9sb3dlcl9sZXZlbCBGT1IgVEFCTEUgdGFiNF8xIFdJVEggKHB1Ymxpc2hfdmlh X3BhcnRpdGlvbl9yb290ID0gdHJ1ZSwgZGRsID0gJycpIgogKTsKIAogIyBwcmVwYXJlIGRhdGEg Zm9yIHRoZSBpbml0aWFsIHN5bmMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90 LzAzMF9yZXBfZGRscy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5w bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5jODhjNGVhMWMwCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsCkBA IC0wLDAgKzEsMjM3IEBACisKKyMgQ29weXJpZ2h0IChjKSAyMDIyLCBQb3N0Z3JlU1FMIEdsb2Jh bCBEZXZlbG9wbWVudCBHcm91cAorCisjIFJlZ3Jlc3Npb24gdGVzdHMgZm9yIGxvZ2ljYWwgcmVw bGljYXRpb24gb2YgRERMcwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKK3VzZSBQb3N0Z3Jl U1FMOjpUZXN0OjpDbHVzdGVyOwordXNlIFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOwordXNlIFRl c3Q6Ok1vcmU7CisKK215ICRub2RlX3B1Ymxpc2hlciA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0 ZXItPm5ldygncHVibGlzaGVyJyk7Ciskbm9kZV9wdWJsaXNoZXItPmluaXQoYWxsb3dzX3N0cmVh bWluZyA9PiAnbG9naWNhbCcpOworJG5vZGVfcHVibGlzaGVyLT5hcHBlbmRfY29uZigncG9zdGdy ZXNxbC5jb25mJywgJ2F1dG92YWN1dW0gPSBvZmYnKTsKKyRub2RlX3B1Ymxpc2hlci0+c3RhcnQ7 CisKK215ICRub2RlX3N1YnNjcmliZXIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXco J3N1YnNjcmliZXInKTsKKyRub2RlX3N1YnNjcmliZXItPmluaXQoYWxsb3dzX3N0cmVhbWluZyA9 PiAnbG9naWNhbCcpOworJG5vZGVfc3Vic2NyaWJlci0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwu Y29uZicsICdhdXRvdmFjdXVtID0gb2ZmJyk7Ciskbm9kZV9zdWJzY3JpYmVyLT5zdGFydDsKKwor bXkgJG5vZGVfc3Vic2NyaWJlcjIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3N1 YnNjcmliZXIyJyk7Ciskbm9kZV9zdWJzY3JpYmVyMi0+aW5pdChhbGxvd3Nfc3RyZWFtaW5nID0+ ICdsb2dpY2FsJyk7Ciskbm9kZV9zdWJzY3JpYmVyMi0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwu Y29uZicsICdhdXRvdmFjdXVtID0gb2ZmJyk7Ciskbm9kZV9zdWJzY3JpYmVyMi0+c3RhcnQ7CisK K215ICRkZGwgPSAiQ1JFQVRFIFRBQkxFIHRlc3RfcmVwKGlkIGludCBwcmltYXJ5IGtleSwgbmFt ZSB2YXJjaGFyKTsiOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGRk bCk7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiSU5TRVJUIElOVE8g dGVzdF9yZXAgVkFMVUVTICgxLCAnZGF0YTEnKTsiKTsKKyRub2RlX3N1YnNjcmliZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLCAkZGRsKTsKKyRub2RlX3N1YnNjcmliZXIyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgJGRkbCk7CisKK215ICRwdWJsaXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hl ci0+Y29ubnN0ciAuICcgZGJuYW1lPXBvc3RncmVzJzsKKworIyBteXB1YiBoYXMgcHViZGRsX2Rh dGFiYXNlIG9uCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVB VEUgUFVCTElDQVRJT04gbXlwdWIgRk9SIEFMTCBUQUJMRVM7Iik7Ciskbm9kZV9zdWJzY3JpYmVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFNVQlNDUklQVElPTiBteXN1YiBDT05O RUNUSU9OICckcHVibGlzaGVyX2Nvbm5zdHInIFBVQkxJQ0FUSU9OIG15cHViOyIKKyk7CisjIG15 cHViMiBoYXMgcHViZGRsX2RhdGFiYXNlIG9mZgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKKwkiQ1JFQVRFIFBVQkxJQ0FUSU9OIG15cHViMiBGT1IgQUxMIFRBQkxFUyB3 aXRoIChkZGwgPSAnJyk7Iik7Ciskbm9kZV9zdWJzY3JpYmVyMi0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsCisJIkNSRUFURSBTVUJTQ1JJUFRJT04gbXlzdWIyIENPTk5FQ1RJT04gJyRwdWJsaXNoZXJf Y29ubnN0cicgUFVCTElDQVRJT04gbXlwdWIyOyIKKyk7CisKKyRub2RlX3B1Ymxpc2hlci0+d2Fp dF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworIyBUZXN0IHNpbXBsZSBDUkVBVEUgVEFCTEUgY29t bWFuZCBpcyByZXBsaWNhdGVkIHRvIHN1YnNjcmliZXIKKyMgVGVzdCBzbWFlIHNpbXBsZSBDUkVB VEUgVEFCTEUgY29tbWFuZCBpcyBub3QgcmVwbGljYXRlZCB0byBzdWJzY3JpYmVyMiAoZGRsIG9m ZikKKyMgVGVzdCBBTFRFUiBUQUJMRSBjb21tYW5kIGlzIHJlcGxpY2F0ZWQgb24gdGFibGUgdGVz dF9yZXAKKyMgVGVzdCBDUkVBVEUgSU5ERVggaXMgcmVwbGljYXRlZCB0byBzdWJzY3JpYmVyCisj IFRlc3QgQ1JFQVRFIEZVTkNUSU9OIGNvbW1hbmQgaXMgcmVwbGljYXRlZCB0byBzdWJzY3JpYmVy Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRBQkxFIHQx IChhIGludCwgYiB2YXJjaGFyKTsiKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsICJBTFRFUiBUQUJMRSB0ZXN0X3JlcCBBREQgYzMgaW50OyIpOworJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIklOU0VSVCBJTlRPIHRlc3RfcmVwIFZBTFVFUyAo MiwgJ2RhdGEyJywgMik7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAiQ1JFQVRFIElOREVYIG5hbWVpbmRleCBvbiB0ZXN0X3JlcCAobmFtZSkiKTsKKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsIHFxe0NSRUFURSBPUiBSRVBMQUNFIEZVTkNU SU9OIHRvdGFsUmVjb3JkcygpCitSRVRVUk5TIGludGVnZXIgQVMgXCR0b3RhbFwkCitkZWNsYXJl CisJdG90YWwgaW50ZWdlcjsKK0JFR0lOCisgICBTRUxFQ1QgY291bnQoKikgaW50byB0b3RhbCBG Uk9NIHRlc3RfcmVwOworICAgUkVUVVJOIHRvdGFsOworRU5EOworXCR0b3RhbFwkIExBTkdVQUdF IHBscGdzcWw7fSk7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWIn KTsKKworbXkgJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAiU0VMRUNUIGNvdW50KCopIGZyb20gdDEiKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnQ1JFQVRF IG9mIHQxIHJlcGxpY2F0ZWQgdG8gc3Vic2NyaWJlcicpOworJHJlc3VsdCA9ICRub2RlX3N1YnNj cmliZXIyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHBnX3Rh YmxlcyB3aGVyZSB0YWJsZW5hbWUgPSAndDEnOyIpOworaXMoJHJlc3VsdCwgcXEoMCksICdDUkVB VEUgb2YgdDEgaXMgbm90IHJlcGxpY2F0ZWQgdG8gc3Vic2NyaWJlcjInKTsKKyRyZXN1bHQgPSAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBG Uk9NIHRlc3RfcmVwIFdIRVJFIGMzID0yOyIpOworaXMoJHJlc3VsdCwgcXEoMSksICdBTFRFUiB0 ZXN0X3JlcCBBREQgcmVwbGljYXRlZCcpOworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gcGdfY2xhc3Mgd2hlcmUg cmVsbmFtZSA9ICduYW1laW5kZXgnIik7CitpcygkcmVzdWx0LCBxcSgxKSwgJ0NSRUFURSBJTkRF WCBuYW1laW5kZXggcmVwbGljYXRlZCcpOworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIHRvdGFsUmVjb3JkcygpOyIpOworaXMoJHJlc3Vs dCwgcXEoMiksICdDUkVBVEUgb2YgZnVuY3Rpb24gdG90YWxSZWNvcmRzIHJlcGxpY2F0ZWQgdG8g c3Vic2NyaWJlcicpOworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXIyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHBnX3Byb2Mgd2hlcmUgcHJvbmFtZSA9ICd0 b3RhbHJlY29yZHMnOyIpOworaXMoJHJlc3VsdCwgcXEoMCksICdDUkVBVEUgRlVOQ1RJT04gdG90 YWxyZWNvcmRzIGlzIG5vdCByZXBsaWNhdGVkIHRvIHN1YnNjcmliZXIyJyk7CisKKyMgVGVzdCBB TFRFUiBUQUJMRSBEUk9QCisjIFRlc3QgRFJPUCBJTkRFWAorIyBUZXN0IERST1AgRlVOQ1RJT04K KyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJBTFRFUiBUQUJMRSB0ZXN0 X3JlcCBEUk9QIGMzOyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IkRFTEVURSBGUk9NIHRlc3RfcmVwIHdoZXJlIGlkID0gMjsiKTsKKyRub2RlX3B1Ymxpc2hlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJEUk9QIElOREVYIG5hbWVpbmRleDsiKTsKKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJEUk9QIEZVTkNUSU9OIHRvdGFsUmVjb3Jk czsiKTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCisk cmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1Qg Y291bnQoKikgZnJvbSB0ZXN0X3JlcDsiKTsKK2lzKCRyZXN1bHQsIHFxKDEpLCAnQUxURVIgdGVz dF9yZXAgRFJPUCByZXBsaWNhdGVkJyk7CiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSBwZ19jbGFzcyB3aGVyZSBy ZWxuYW1lID0gJ25hbWVpbmRleCciKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnRFJPUCBJTkRFWCBu YW1laW5kZXggcmVwbGljYXRlZCcpOworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gcGdfcHJvYyB3aGVyZSBwcm9u YW1lID0gJ3RvdGFscmVjb3Jkcyc7Iik7CitpcygkcmVzdWx0LCBxcSgwKSwgJ0RST1AgRlVOQ1RJ T04gdG90YWxyZWNvcmRzIHJlcGxpY2F0ZWQnKTsKKworCisjIFRPRE8gZmlndXJlIG91dCBob3cg dG8gc2V0IE9OX0VSUk9SX1NUT1AgPSAwIGluIHRoaXMgdGVzdAorIyBUZXN0IGZhaWxlZCBDUkVB VEUvQUxURVIgVEFCTEUgb24gcHVibGlzaGVyIGRvZXNuJ3QgYnJlYWsgcmVwbGljYXRpb24KKyMg VGFibGUgdDEgYWxyZWFkeSBleGl0cyBzbyBleHBlY3QgdGhlIGNvbW1hbmQgdG8gZmFpbAorIyRu b2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdDEgKGEg aW50LCBiIHZhcmNoYXIpOyIpOworIyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJBTFRFUiBUQUJMRSB0ZXN0X3JlcCBEUk9QIGMzOyIpOworIyRub2RlX3B1Ymxpc2hlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJJTlNFUlQgSU5UTyB0ZXN0X3JlcCBWQUxVRVMgKDEwMywg J2RhdGExMDMnLCAxMDEzKTsiKTsKKworIyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1 cCgnbXlzdWInKTsKKyMgVmVyaWZ5IHJlcGxpY2F0aW9uIHN0aWxsIHdvcmtzCisjJHJlc3VsdCA9 ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCop IGZyb20gdGVzdF9yZXA7Iik7CisjaXMoJHJlc3VsdCwgcXEoMSksICdERUxFVEUgZnJvbSB0ZXN0 X3JlcCByZXBsaWNhdGVkJyk7CisKKyMgVGVzdCBERExzIGluc2lkZSB0eG4gYmxvY2sKKyRub2Rl X3B1Ymxpc2hlci0+c2FmZV9wc3FsKAorCSdwb3N0Z3JlcycsIHF7CitCRUdJTjsKK0NSRUFURSBU QUJMRSB0MiAoYSBpbnQsIGIgdmFyY2hhcik7CitBTFRFUiBUQUJMRSB0ZXN0X3JlcCBBREQgYzMg aW50OworSU5TRVJUIElOVE8gdGVzdF9yZXAgVkFMVUVTICgzLCAnZGF0YTMnLCAzKTsKK0NPTU1J VDt9KTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCisk cmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1Qg Y291bnQoKikgZnJvbSB0MjsiKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnQ1JFQVRFIHQyIHJlcGxp Y2F0ZWQnKTsKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHRlc3RfcmVwOyIpOworaXMoJHJlc3VsdCwgcXEoMiks ICdBTFRFUiB0ZXN0X3JlcCBBREQgcmVwbGljYXRlZCcpOworCisjIFRlc3QgdG9nZ2xpbmcgcHVi ZGRsX2RhdGFiYXNlIG9wdGlvbiBvZmYKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsICJBTFRFUiBQVUJMSUNBVElPTiBteXB1YiBzZXQgKGRkbCA9ICcnKTsiKTsKKyRyZXN1 bHQgPSAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIHB1YmRk bF9kYXRhYmFzZSwgcHViZGRsX3RhYmxlIGZyb20gcGdfcHVibGljYXRpb24gd2hlcmUgcHVibmFt ZSA9ICdteXB1Yic7Iik7CitpcygkcmVzdWx0LCBxcShmfGYpLCAncHViZGRsX2RhdGFiYXNlIHR1 cm5lZCBvZmYgb24gbXlwdWInKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJDUkVBVEUgVEFCTEUgdDMgKGEgaW50LCBiIHZhcmNoYXIpOyIpOworCiskbm9kZV9wdWJs aXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHBnX3Rh YmxlcyB3aGVyZSB0YWJsZW5hbWUgPSAndDMnOyIpOworaXMoJHJlc3VsdCwgcXEoMCksICdDUkVB VEUgdDMgaXMgbm90IHJlcGxpY2F0ZWQnKTsKKworIyBUZXN0IHRvZ2dsaW5nIHB1YmRkbF9kYXRh YmFzZSBvcHRpb24gb24KKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJB TFRFUiBQVUJMSUNBVElPTiBteXB1YiBzZXQgKGRkbCA9ICdkYXRhYmFzZScpOyIpOworJHJlc3Vs dCA9ICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgcHViZGRs X2RhdGFiYXNlLCBwdWJkZGxfdGFibGUgZnJvbSBwZ19wdWJsaWNhdGlvbiB3aGVyZSBwdWJuYW1l ID0gJ215cHViJzsiKTsKK2lzKCRyZXN1bHQsIHFxKHR8dCksICdwdWJkZGxfZGF0YWJhc2UgdHVy bmVkIG9uIG9uIG15cHViJyk7CisKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJDUkVBVEUgVEFCTEUgdDQgKGEgaW50LCBiIHZhcmNoYXIpOyIpOworCiskbm9kZV9wdWJs aXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHBnX3Rh YmxlcyB3aGVyZSB0YWJsZW5hbWUgPSAndDQnOyIpOworaXMoJHJlc3VsdCwgcXEoMSksICdDUkVB VEUgdDQgaXMgcmVwbGljYXRlZCcpOworCisjIFRlc3QgRE1MIGNoYW5nZXMgb24gdGhlIG5ldyB0 YWJsZSB0NCBhcmUgcmVwbGljYXRlZAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIklOU0VSVCBJTlRPIHQ0IHZhbHVlcyAoMSwgJ2EnKSIpOworJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIklOU0VSVCBJTlRPIHQ0IHZhbHVlcyAoMiwgJ2InKSIp OworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1 bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3Vu dCgqKSBmcm9tIHQ0OyIpOworaXMoJHJlc3VsdCwgcXEoMiksICdETUwgQ2hhbmdlcyB0byB0NCBh cmUgcmVwbGljYXRlZCcpOworCisjIEEgc29tZXdoYXQgY29tcGxpY2F0ZWQgdGVzdCBpbiBwbHBn c3FsIGJsb2NrIHdpdGggdHJpZ2dlcgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCisJJ3Bv c3RncmVzJywgcXsKK0JFR0lOOworQ1JFQVRFIFRBQkxFIGZvbyAoYSBpbnQpOworQ1JFQVRFIElO REVYIGZvb19pZHggT04gZm9vIChhKTsKK0FMVEVSIFRBQkxFIGZvbyBBREQgQ09MVU1OIGIgdGlt ZXN0YW1wdHo7CitDUkVBVEUgRlVOQ1RJT04gZm9vX3RzKCkKK1JFVFVSTlMgdHJpZ2dlciBBUyAk JAorQkVHSU4KK05FVy5iIDo9IGN1cnJlbnRfdGltZXN0YW1wOworUkVUVVJOIE5FVzsKK0VORDsK KyQkCitMQU5HVUFHRSBwbHBnc3FsOworQ1JFQVRFIFRSSUdHRVIgZm9vX3RzIEJFRk9SRSBJTlNF UlQgT1IgVVBEQVRFIE9OIGZvbworRk9SIEVBQ0ggUk9XIEVYRUNVVEUgRlVOQ1RJT04gZm9vX3Rz KCk7CitJTlNFUlQgSU5UTyBmb28gVkFMVUVTICgxKTsKK0NPTU1JVDt9KTsKKyRyZXN1bHQgPSAk bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGIgZnJvbSBmb28g d2hlcmUgYSA9IDE7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlz dWInKTsKKworbXkgJHJlc3VsdF9zdWIgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgIlNFTEVDVCBiIGZyb20gZm9vIHdoZXJlIGEgPSAxOyIpOworaXMoJHJlc3VsdCwg cXEoJHJlc3VsdF9zdWIpLCAndGltZXN0YW1wIG9mIGluc2VydCBtYXRjaGVzJyk7CisKKyMgVGVz dCBDUkVBVEUgU0NIRU1BIHN0bXQgaXMgcmVwbGljYXRlZAorJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBTQ0hFTUEgczEiKTsKKyRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gcGdfY2F0YWxvZy5w Z19uYW1lc3BhY2UgV0hFUkUgbnNwbmFtZSA9ICdzMSc7Iik7CitpcygkcmVzdWx0LCBxcSgxKSwg J0NSRUFURSBTQ0hFTUEgczEgaXMgcmVwbGljYXRlZCcpOworCisjIFRlc3QgQ1JFQVRFIFRBQkxF IGluIG5ldyBzY2hlbWEgczEgZm9sbG93ZWQgYnkgaW5zZXJ0Ciskbm9kZV9wdWJsaXNoZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRBQkxFIHMxLnQxIChhIGludCwgYiB2YXJjaGFy KTsiKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJJTlNFUlQgSU5U TyBzMS50MSBWQUxVRVMgKDEsICdhJyk7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgn cG9zdGdyZXMnLCAiSU5TRVJUIElOVE8gczEudDEgVkFMVUVTICgyLCAnYicpOyIpOworCiskbm9k ZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9k ZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9N IHMxLnQxOyIpOworaXMoJHJlc3VsdCwgcXEoMiksICdDUkVBVEUgVEFCTEUgczEudDEgaXMgcmVw bGljYXRlZCcpOworCisjIFRlc3QgcmVwbGljYXRpb24gd29ya3MgYXMgZXhwZWN0ZWQgd2l0aCBt aXNtYXRjaGVkIHNlYXJjaF9wYXRoIG9uIHB1Ymxpc2hlciBhbmQgc3Vic2NyaWJlcgorJG5vZGVf cHVibGlzaGVyLT5hcHBlbmRfY29uZigncG9zdGdyZXNxbC5jb25mJywgJ3NlYXJjaF9wYXRoID0g XCdzMSwgcHVibGljXCcnKTsKKyRub2RlX3B1Ymxpc2hlci0+cmVzdGFydDsKKyMgQ1JFQVRFIHVu cXVhbGlmaWVkIHRhYmxlIHQyLCBpdCBpcyBzMS50MiB1bmRlciB0aGUgbW9kaWZpZWQgc2VhcmNo X3BhdGgKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFC TEUgdDIgKGEgaW50LCBiIHZhcmNoYXIpOyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgIklOU0VSVCBJTlRPIHQyIFZBTFVFUyAoMSwgJ2EnKTsiKTsKKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJJTlNFUlQgSU5UTyB0MiBWQUxVRVMgKDIs ICdiJyk7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiSU5TRVJU IElOVE8gdDIgVkFMVUVTICgzLCAnYycpOyIpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9y X2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHMxLnQyOyIpOworaXMoJHJlc3Vs dCwgcXEoMyksICdDUkVBVEUgVEFCTEUgczEudDIgaXMgcmVwbGljYXRlZCcpOworCisjIFRlc3Qg b3duZXIgb2YgbmV3IHRhYmxlIG9uIHN1YnNjcmliZXIgbWF0Y2hlcyB0aGUgb3duZXIgb24gcHVi bGlzaGVyCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFJP TEUgZGRsX3JlcGxpY2F0aW9uX3VzZXIgTE9HSU4gU1VQRVJVU0VSOyIpOworCiskbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBST0xFIGRkbF9yZXBsaWNhdGlv bl91c2VyIExPR0lOIFNVUEVSVVNFUjsiKTsKKworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgIlNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gJ2RkbF9yZXBsaWNhdGlvbl91 c2VyJzsgQ1JFQVRFIFRBQkxFIHQ1IChhIGludCwgYiB2YXJjaGFyKTsiKTsKKyRub2RlX3B1Ymxp c2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNj cmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIHRhYmxlb3duZXIgZnJvbSBwZ19j YXRhbG9nLnBnX3RhYmxlcyB3aGVyZSB0YWJsZW5hbWUgPSAndDUnOyIpOworaXMoJHJlc3VsdCwg cXEoZGRsX3JlcGxpY2F0aW9uX3VzZXIpLCAnT3duZXIgb2YgdDUgaXMgY29ycmVjdCcpOworCisj VE9ETyBURVNUIGNlcnRhaW4gRERMcyBhcmUgbm90IHJlcGxpY2F0ZWQKKworcGFzcyAiRERMIHJl cGxpY2F0aW9uIHRlc3RzIHBhc3NlZCEiOworCiskbm9kZV9zdWJzY3JpYmVyLT5zdG9wOworJG5v ZGVfc3Vic2NyaWJlcjItPnN0b3A7Ciskbm9kZV9wdWJsaXNoZXItPnN0b3A7CisKK2RvbmVfdGVz dGluZygpOwotLSAKMi4zMi4wCgo= --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0005-Support-replication-of-CREATE-.-AS-.-and-SELECT-.-IN.patch" Content-Disposition: attachment; filename="0005-Support-replication-of-CREATE-.-AS-.-and-SELECT-.-IN.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhn4 RnJvbSA0OTM4YmFkZjEyYmViZjQ2MWRhZTI3Y2Q3NmI2MDE1YzI3ZmI2ZjUzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IFRodSwgMjQgTWFyIDIwMjIgMTc6NDY6NTUgKzAwMDAKU3ViamVjdDogW1BBVENIIDA1 LzEyXSBTdXBwb3J0IHJlcGxpY2F0aW9uIG9mIENSRUFURSAuLi4gQVMgLi4gYW5kIFNFTEVDVCAu Li4KIElOVE8gLi4uIHN0YXRlbWVudHMuCgpUaGUgaWRlYSBpcyB0byBmb3JjZSBza2lwcGluZyB0 aGUgZGlyZWN0IGRhdGEgcG9wdWxhdGlvbgood2hpY2ggY291bGQgcG90ZW50aWFsbHkgY2F1c2Ug ZGF0YSBtaXNtYXRjaCBjb21wYXJlZCB0byB0aGUgcHVibGlzaGVyKQp3aXRoIHRoZXNlIGNvbW1h bmQgb24gdGhlIHN1YnNjcmliZXIgYnkgZm9yY2Ugc2V0dGluZyB0aGUgc2tpcERhdGEgZmxhZwpp biB0aGUgaW50b0NsYXVzZSBvZiB0aGUgcGFyc2V0cmVlIGFmdGVyIHRoZSBsb2dpY2FsIHJlcGxp Y2F0aW9uIHdvcmtlcgpwYXJzZXMgdGhlIGNvbW1hbmQuIFRoZSBkYXRhIHN5bmMgd2lsbCBiZSB0 YWtlbiBjYXJlIG9mIGJ5IERNTCByZXBsaWNhdGlvbgphZnRlciB0aGUgcmVwbGljYXRpb24gb2Yg dGhlIERETCBjb21tYW5kLgotLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29y a2VyLmMgfCA1MSArKysrKysrKysrKysrKysrKysrKy0tLS0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRp bGl0eS5jICAgICAgICAgICAgICAgfCA0MSArKysrKysrKysrKy0tLS0tLS0tCiBzcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgIHwgMjQgKysrKysrKysrKysKIDMgZmlsZXMg Y2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggMjE0OWE5ODk0ZS4uNzI3MTFiMDZkNiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0yNTQ1LDIzICsy NTQ1LDU4IEBAIGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21kc3RyLCBj b25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyCiAJCVBvcnRhbAkJcG9ydGFsOwogCQlE ZXN0UmVjZWl2ZXIgKnJlY2VpdmVyOwogCQlib29sCQkgc25hcHNob3Rfc2V0ID0gZmFsc2U7Ci0J CWNoYXIgCQkgKnNjaGVtYW5hbWUgPSBOVUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIHN0bXQgb25s eSAqLwotCQljaGFyCQkgKnJlbG5hbWUgPSBOVUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIHN0bXQg b25seSAqLworCQljaGFyIAkJICpzY2hlbWFuYW1lID0gTlVMTDsgLyogRm9yIENSRUFURSBUQUJM RSBhbmQgQ1JFQVRFIFRBQkxFIEFTIHN0bXQgb25seSAqLworCQljaGFyCQkgKnJlbG5hbWUgPSBO VUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIGFuZCBDUkVBVEUgVEFCTEUgQVMgc3RtdCBvbmx5ICov CiAKIAkJY29tbWFuZFRhZyA9IENyZWF0ZUNvbW1hbmRUYWcoKE5vZGUgKiljb21tYW5kKTsKIAog CQkvKgotCQkgKiBSZW1lbWJlciB0aGUgc2NoZW1hbmFtZSBhbmQgcmVsbmFtZSBpZiBpdCdzIGEg Q1JFQVRFIFRBQkxFIHN0bXQKKwkJICogUmVtZW1iZXIgdGhlIHNjaGVtYW5hbWUgYW5kIHJlbG5h bWUgaWYgdGhlIGNtZCBpcyBnb2luZyB0byBjcmVhdGUgYSB0YWJsZQogCQkgKiBiZWNhdXNlIHdl IHdpbGwgbmVlZCB0aGVtIGZvciBzb21lIHBvc3QtcHJvY2Vzc2luZyBhZnRlciB3ZQotCQkgKiBl eGVjdXRlIHRoZSBzdG10LiBBdCB0aGF0IHBvaW50LCBDcmVhdGVTdG10IG1heSBoYXZlIGJlZW4g ZnJlZWVkIHVwLgorCQkgKiBleGVjdXRlIHRoZSBzdG10LiBBdCB0aGF0IHBvaW50LCBjb21tYW5k LT5zdG10IG1heSBoYXZlIGJlZW4gZnJlZWVkIHVwLgogCQkgKi8KIAkJaWYgKGNvbW1hbmRUYWcg PT0gQ01EVEFHX0NSRUFURV9UQUJMRSkKIAkJewotCQkJQ3JlYXRlU3RtdCAqY3N0bXQgPSAoQ3Jl YXRlU3RtdCAqKWNvbW1hbmQtPnN0bXQ7CisJCQlDcmVhdGVTdG10ICpjc3RtdCA9IChDcmVhdGVT dG10ICopIGNvbW1hbmQtPnN0bXQ7CiAJCQlSYW5nZVZhciAqcnYgPSBjc3RtdC0+cmVsYXRpb247 CiAJCQlzY2hlbWFuYW1lID0gcnYtPnNjaGVtYW5hbWU7CiAJCQlyZWxuYW1lID0gcnYtPnJlbG5h bWU7CiAJCX0KKwkJZWxzZSBpZiAoY29tbWFuZFRhZyA9PSBDTURUQUdfQ1JFQVRFX1RBQkxFX0FT KQorCQl7CisJCQlDcmVhdGVUYWJsZUFzU3RtdCAqY2FzdG10ID0gKENyZWF0ZVRhYmxlQXNTdG10 ICopIGNvbW1hbmQtPnN0bXQ7CisKKwkJCWlmIChjYXN0bXQtPm9ianR5cGUgPT0gT0JKRUNUX1RB QkxFKQorCQkJeworCQkJCVJhbmdlVmFyICpydiA9IGNhc3RtdC0+aW50by0+cmVsOworCQkJCXNj aGVtYW5hbWUgPSBydi0+c2NoZW1hbmFtZTsKKwkJCQlyZWxuYW1lID0gcnYtPnJlbG5hbWU7CisK KwkJCQkvKgorCQkJCSAqIEZvcmNlIHNraXBwaW5nIGRhdGEgcG9wdWxhdGlvbiB0byBhdm9pZCBk YXRhIGluY29uc2lzdGVuY3kuCisJCQkJICogRGF0YSBzaG91bGQgYmUgcmVwbGljYXRlZCBmcm9t IHRoZSBwdWJsaXNoZXIgaW5zdGVhZC4KKwkJCQkgKi8KKwkJCQljYXN0bXQtPmludG8tPnNraXBE YXRhID0gdHJ1ZTsKKwkJCX0KKwkJfQorCQkvKiBTRUxFQ1QgSU5UTyAqLworCQllbHNlIGlmIChj b21tYW5kVGFnID09IENNRFRBR19TRUxFQ1QpCisJCXsKKwkJCVNlbGVjdFN0bXQgKnNzdG10ID0g KFNlbGVjdFN0bXQgKikgY29tbWFuZC0+c3RtdDsKKworCQkJaWYgKHNzdG10LT5pbnRvQ2xhdXNl ICE9IE5VTEwpCisJCQl7CisJCQkJUmFuZ2VWYXIgKnJ2ID0gc3N0bXQtPmludG9DbGF1c2UtPnJl bDsKKwkJCQlzY2hlbWFuYW1lID0gcnYtPnNjaGVtYW5hbWU7CisJCQkJcmVsbmFtZSA9IHJ2LT5y ZWxuYW1lOworCisJCQkJLyoKKwkJCQkgKiBGb3JjZSBza2lwcGluZyBkYXRhIHBvcHVsYXRpb24g dG8gYXZvaWQgZGF0YSBpbmNvbnNpc3RlbmN5LgorCQkJCSAqIERhdGEgc2hvdWxkIGJlIHJlcGxp Y2F0ZWQgZnJvbSB0aGUgcHVibGlzaGVyIGluc3RlYWQuCisJCQkJICovCisJCQkJc3N0bXQtPmlu dG9DbGF1c2UtPnNraXBEYXRhID0gdHJ1ZTsKKwkJCX0KKwkJfQogCiAJCS8qCiAJCSAqIFNldCB1 cCBhIHNuYXBzaG90IGlmIHBhcnNlIGFuYWx5c2lzL3BsYW5uaW5nIHdpbGwgbmVlZCBvbmUuCkBA IC0yNjYwLDEyICsyNjk1LDEyIEBAIGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hh ciAqY21kc3RyLCBjb25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyCiAJCSAqIFRhYmxl IGNyZWF0ZWQgYnkgRERMIHJlcGxpY2F0aW9uIChkYXRhYmFzZSBsZXZlbCkgaXMgYXV0b21hdGlj YWxseQogCQkgKiBhZGRlZCB0byB0aGUgc3Vic2NyaXB0aW9uIGhlcmUuCiAJCSAqCi0JCSAqIENh bGwgQWRkU3Vic2NyaXB0aW9uUmVsU3RhdGUgZm9yIENSRUFURSBUQUJFTCBjb21tYW5kIHRvIHNl dAotCQkgKiB0aGUgcmVsc3RhdGUgdG8gU1VCUkVMX1NUQVRFX0lOSVQgc28gRE1MIGNoYW5nZXMg b24gdGhpcworCQkgKiBDYWxsIEFkZFN1YnNjcmlwdGlvblJlbFN0YXRlIGZvciBDUkVBVEUgVEFC RUwgYW5kIENSRUFURSBUQUJMRSBBUworCQkgKiBjb21tYW5kIHRvIHNldCB0aGUgcmVsc3RhdGUg dG8gU1VCUkVMX1NUQVRFX0lOSVQgc28gRE1MIGNoYW5nZXMgb24gdGhpcwogCQkgKiBuZXcgdGFi bGUgY2FuIGJlIHJlcGxpY2F0ZWQgd2l0aG91dCBoYXZpbmcgdG8gbWFudWFsbHkgcnVuCiAJCSAq ICJhbHRlciBzdWJzY3JpcHRpb24gLi4uIHJlZnJlc2ggcHVibGljYXRpb24iCiAJCSAqLwotCQlp ZiAoY29tbWFuZFRhZyA9PSBDTURUQUdfQ1JFQVRFX1RBQkxFKQorCQlpZiAocmVsbmFtZSAhPSBO VUxMKQogCQl7CiAJCQlPaWQgcmVsaWQ7CiAJCQlPaWQgcmVsbmFtZXNwYWNlID0gSW52YWxpZE9p ZDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQv dGNvcC91dGlsaXR5LmMKaW5kZXggNzliNWZhY2NjMC4uMjkzODFiNTNiNiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5 LmMKQEAgLTExNDIsMjQgKzExNDIsMzEgQEAgTG9nTG9naWNhbERETENvbW1hbmQoTm9kZSAqcGFy c2V0cmVlLCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykKIAogCQkvKgogCQkgKiBDcmVhdGVUYWJs ZUFzU3RtdCBjYW4gY3JlYXRlIGVpdGhlciBhIHRhYmxlIGEgbWF0ZXJpYWxpemVkIHZpZXcKLQkJ ICogYW5kIHRoZXkgYXJlIGhhbmRsZWQgZGlmZmVyZW50bHkuCiAJCSAqLwogCQljYXNlIFRfQ3Jl YXRlVGFibGVBc1N0bXQ6CiAJCXsKIAkJCUNyZWF0ZVRhYmxlQXNTdG10ICpzdG10ID0gKENyZWF0 ZVRhYmxlQXNTdG10ICopIHBhcnNldHJlZTsKKwogCQkJc3dpdGNoKHN0bXQtPm9ianR5cGUpCiAJ CQl7CisJCQkJLyoKKwkJCQkgKiBFaXRoZXIgQ1JFQVRFIFRBQkxFIEFTIG9yIFNFTEVDVCAuLi4g SU5UTyBzdG10CisJCQkJICogVGhlIHN0YXRlbWVudCBpcyBsb2dnZWQgYXMgaXMsIGJ1dCB3aGVu IHdlIGFwcGx5IHRoZQorCQkJCSAqIENSRUFURSBUQUJMRSBBUyBvciBTRUxFQ1QgLi4uIElOVE8g c3RhdGVtdG5zIG9uIHRoZSBsb2dpY2FsCisJCQkJICogcmVwbGljYXRpb24gd29ya2VyLCB3ZSB3 aWxsIGZvcmNlIHRoZSBza2lwRGF0YSBmbGFnIGluIHRoZQorCQkJCSAqIGludG9DbGF1c2UuIFRo aXMgd2F5IHdlIGF2b2lkIGRpcmVjdCBkYXRhIHBvcHVsYXRpb24gb24gdGhlCisJCQkJICogc3Vi c3JpYmVyIHdpdGggdGhlIGV4ZWN1dGlvbiBvZiB0aGVzZSBjb21tYW5kcyB3aGljaCBjYW4KKwkJ CQkgKiBwb3RlbnRpYWxseSBjYXVzZSBkYXRhIG1pc21hdGNoIGJld3RlZW4gdGhlIHB1Ymxpc2hl ci4KKwkJCQkgKgorCQkJCSAqIFRoZSBkYXRhIHN5bmMgd2lsbCBiZSBoYW5kbGVkIGJ5IERNTCBy ZXBsaWNhdGlvbiBhZnRlciB0aGUKKwkJCQkgKiB0YXJnZXQgdGFibGUgaGFzIGJlZW4gY3JlYXRl ZC4KKwkJCQkgKi8KIAkJCQljYXNlIE9CSkVDVF9UQUJMRToKLQkJCQkJLyoKLQkJCQkJICogRklY TUUgQ1JFQVRFIFRBQkxFIEFTIHN0bXQgbmVlZHMgdG8gYmUgYnJva2VuIGRvd24gaW50byB0d28g cGFydHMKLQkJCQkJICogMS4gQSBub3JtYWwgQ1JFQVRFIFRBQkxFIHN0cmluZyB0aGF0IGdldCdz IGxvZ2dlZCBhbmQgcmVwbGljYXRlZCB2aWEKLQkJCQkJICoJICBEREwgcmVwbGljYXRpb24uCi0J CQkJCSAqIDIuIEluc2VydGlvbnMgdGhhdCBnZXQgcmVwbGljYXRlZCBieSBETUwgcmVwbGljYXRp b24uCi0JCQkJCSAqLwotCQkJCQlicmVhazsKKworCQkJCS8qIENSRUFURSBNQVRFUklBTElaRUQg VklFVyAqLwogCQkJCWNhc2UgT0JKRUNUX01BVFZJRVc6CiAJCQkJCS8qCi0JCQkJCSAqIExvZyBD UkVBVEUgTUFURVJJQUxJWkVEIFZJRVcgQVMgc3RtdCBmb3IgbG9naWNhbCByZXBsaWNhdGlvbiBp ZgorCQkJCQkgKiBMb2cgdGhlc2Ugc3RtdCBmb3IgbG9naWNhbCByZXBsaWNhdGlvbiBpZgogCQkJ CQkgKiB0aGVyZSBpcyBhbnkgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24gd2l0aCBwdWJkZGxf ZGF0YWJhc2Ugb24uCiAJCQkJCSAqIGkuZS4gRGF0YWJhc2UgbGV2ZWwgRERMIHJlcGxpY2F0aW9u IGlzIG9uIGZvciBzb21lIHB1YmxpY2F0aW9uLgogCQkJCQkgKi8KQEAgLTEzMDQsOCArMTMxMSwx NyBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAqcHN0YXRlLAogCVBHX1RSWSgpOwog CXsKIAkJaWYgKGlzQ29tcGxldGVRdWVyeSkKKwkJewogCQkJRXZlbnRUcmlnZ2VyRERMQ29tbWFu ZFN0YXJ0KHBhcnNldHJlZSk7CiAKKwkJCS8qCisJCQkgKiBDb25zaWRlciBsb2dnaW5nIHRoZSBE REwgY29tbWFuZCBpZiBsb2dpY2FsIGxvZ2dpbmcgaXMgZW5hYmxlZCBhbmQgdGhpcyBpcworCQkJ ICogYSBjb21wbGV0ZSB0b3AgbGV2ZWwgcXVlcnkuCisJCQkgKi8KKwkJCWlmIChYTG9nTG9naWNh bEluZm9BY3RpdmUoKSAmJiBpc1RvcExldmVsKQorCQkJCUxvZ0xvZ2ljYWxERExDb21tYW5kKHBh cnNldHJlZSwgcXVlcnlTdHJpbmcpOworCQl9CisKIAkJc3dpdGNoIChub2RlVGFnKHBhcnNldHJl ZSkpCiAJCXsKIAkJCQkvKgpAQCAtMjE0MSwxMyArMjE1Nyw2IEBAIFByb2Nlc3NVdGlsaXR5U2xv dyhQYXJzZVN0YXRlICpwc3RhdGUsCiAKIAkJaWYgKGlzQ29tcGxldGVRdWVyeSkKIAkJewotCQkJ LyoKLQkJCSAqIENvbnNpZGVyIGxvZ2dpbmcgdGhlIERETCBjb21tYW5kIGlmIGxvZ2ljYWwgbG9n Z2luZyBpcyBlbmFibGVkIGFuZCB0aGlzIGlzCi0JCQkgKiBhIGNvbXBsZXRlIHRvcCBsZXZlbCBx dWVyeS4KLQkJCSAqLwotCQkJaWYgKFhMb2dMb2dpY2FsSW5mb0FjdGl2ZSgpICYmIGlzVG9wTGV2 ZWwpCi0JCQkJTG9nTG9naWNhbERETENvbW1hbmQocGFyc2V0cmVlLCBxdWVyeVN0cmluZyk7Ci0K IAkJCUV2ZW50VHJpZ2dlclNRTERyb3AocGFyc2V0cmVlKTsKIAkJCUV2ZW50VHJpZ2dlckRETENv bW1hbmRFbmQocGFyc2V0cmVlKTsKIAkJfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3Vic2NyaXB0 aW9uL3QvMDMwX3JlcF9kZGxzLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9k ZGxzLnBsCmluZGV4IDU2MmVmZTJjZjcuLjNiMTVjNmQ5ZjAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5wbAorKysgYi9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMzBfcmVwX2RkbHMucGwKQEAgLTI0NCw2ICsyNDQsMzAgQEAgJG5vZGVfcHVibGlzaGVy LT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOwogJHJlc3VsdF9zdWIgPSAkbm9kZV9zdWJzY3Jp YmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHMxLnZpZXcx OyIpOwogaXMoJHJlc3VsdCwgcXEoJHJlc3VsdF9zdWIpLCAnQ1JFQVRFIG9mIHMxLnZpZXcxIGlz IHJlcGxpY2F0ZWQnKTsKIAorIyBURVNUIENSRUFURSBUQUJMRSBBUyBzdG10Ciskbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRBQkxFIHMxLnQzIEFTIFNFTEVD VCBhLCBiIGZyb20gczEudDE7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1 cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9z dGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gczEudDM7Iik7CitpcygkcmVzdWx0LCBxcSgy KSwgJ0NSRUFURSBUQUJMRSBzMS50MyBBUyBpcyByZXBsaWNhdGVkIHdpdGggZGF0YScpOworCisj IFRFU1QgQ1JFQVRFIFRBQkxFIEFTIHN0bXQgLi4uIFdJVEggTk8gREFUQQorJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSBzMS50NCBBUyBTRUxFQ1Qg YSwgYiBmcm9tIHMxLnQxIFdJVEggTk8gREFUQTsiKTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0 X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBzMS50NDsiKTsKK2lzKCRy ZXN1bHQsIHFxKDApLCAnQ1JFQVRFIFRBQkxFIHMxLnQ0IEFTIGlzIHJlcGxpY2F0ZWQgd2l0aCBu byBkYXRhJyk7CisKKyMgVEVTVCBTRUxFQ1QgSU5UTyBzdG10Ciskbm9kZV9wdWJsaXNoZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGIgaW50byBzMS50NiBmcm9tIHMxLnQxIHdoZXJl IGEgPiAxIik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsK KworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VM RUNUIGNvdW50KCopIGZyb20gczEudDY7Iik7CitpcygkcmVzdWx0LCBxcSgxKSwgJ1NFTEVDVCBJ TlRPIHMxLnQ2IGlzIHJlcGxpY2F0ZWQgd2l0aCBkYXRhJyk7CisKICNUT0RPIFRFU1QgY2VydGFp biBERExzIGFyZSBub3QgcmVwbGljYXRlZAogCiBwYXNzICJEREwgcmVwbGljYXRpb24gdGVzdHMg cGFzc2VkISI7Ci0tIAoyLjMyLjAKCg== --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0002-Support-logical-logging-and-decoding-of-DDL-command-.patch" Content-Disposition: attachment; filename="0002-Support-logical-logging-and-decoding-of-DDL-command-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhk1 RnJvbSA3YWIxZmQ0MzI0ODlmM2RiZDA1NmZhODk3Nzg2Y2M1MzE1YzdkOGFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTggTWFyIDIwMjIgMTY6NTc6MjMgKzAwMDAKU3ViamVjdDogW1BBVENIIDAy LzEyXSBTdXBwb3J0IGxvZ2ljYWwgbG9nZ2luZyBhbmQgZGVjb2Rpbmcgb2YgRERMIGNvbW1hbmQK IHN0cmluZy4KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkEgbmV3IFdBTCByZWNv cmQgdHlwZSB4bF9sb2dpY2FsX2RkbF9tZXNzYWdlIGlzIGludHJvZHVjZWQgdG8Kc3VwcG9ydCBs b2dpY2FsIGxvZ2dpbmcgb2YgRERMIGNvbW1hbmQuIHhsX2xvZ2ljYWxfZGRsX21lc3NhZ2UgaXMK c2ltaWxhciB0byB0aGUgZXhpc3RpbmcgeGxfbG9naWNhbF9tZXNzYWdlIGZvciBnZW5lcmljIG1l c3NhZ2UKbG9nZ2luZy4gVGhlIHJlYXNvbiBmb3Igbm90IHVzaW5nIHhsX2xvZ2ljYWxfbWVzc2Fn ZSBkaXJlY3RseSBhcwpwcm9wb3NlZCBpbml0aWFsbHkgaXMgSSBmb3VuZCBvdXQgd2UgbmVlZCB0 byBsb2cgbW9yZSBpbmZvcm1hdGlvbgooc3VjaCBhcyB1c2VyIHJvbGUsIHNlYXJjaCBwYXRoIGFu ZCBwb3RlbnRpYWxseSBtb3JlIGluIHRoZSBmdXR1cmUpCnRoYW4ganVzdCBvbmUgc3RyaW5nLCBh bmQgd2UgZG9u4oCZdCB3YW50IHRvIG1ha2UgdG9vIG11Y2ggY2hhbmdlcyB0bwp0aGUgZXhpc3Rp bmcgeGxfbG9naWNhbF9tZXNzYWdlIHdoaWNoIG1heSBicmVhayBpdHMgY3VycmVudCBjb25zdW1l cnMuCgpUaGUgbG9nZ2luZyBvZiBEREwgY29tbWFuZCBzdHJpbmcgaXMgcHJvY2Vzc2VkIGluIGZ1 bmN0aW9uCkxvZ0xvZ2ljYWxERExDb21tYW5kLiBXZSBjYXRlZ29yaXplIERETCBjb21tYW5kIHR5 cGVzIGludG8gdGhyZWUKY2F0ZWdvcmllcyBpbiB0aGlzIGZ1bmN0aW9uOgoxLiByZXBsaWNhdGVk IGluIGRhdGFiYXNlIGxldmVsIHJlcGxpY2F0aW9uIG9ubHkgKHN1Y2ggYXMgQ1JFQVRFClRBQkxF LCBDUkVBVEUgRlVOQ1RJT04pLgoyLiByZXBsaWNhdGVkIGluIGRhdGFiYXNlIG9yIHRhYmxlIGxl dmVsIHJlcGxpY2F0aW9uIGRlcGVuZGluZyBvbgp0aGUgY29uZmlndXJhdGlvbiAoc3VjaCBhcyBB TFRFUiBUQUJMRSkuCjMuIG5vdCBzdXBwb3J0ZWQgZm9yIHJlcGxpY2F0aW9uIG9yIHBlbmRpbmcg aW52ZXN0aWdhdGlvbi4KClN1cHBvcnQgbG9naWNhbCBkZWNvZGluZyBvZiB0aGUgbmV3IFdBTCBy ZWNvcmQgeGxfbG9naWNhbF9kZGxfbWVzc2FnZS4KVGhpcyBpcyBzaW1pbGFyIHRvIHRoZSBsb2dp Y2FsIGRlY29kaW5nIG9mIHhsX2xvZ2ljYWxfbWVzc2FnZS4gVGVzdHMKZm9yIHRoaXMgY2hhbmdl IGFyZSBhZGRlZCBpbiB0aGUgdGVzdF9kZWNvZGluZyBwbHVnaW4uCi0tLQogY29udHJpYi90ZXN0 X2RlY29kaW5nL01ha2VmaWxlICAgICAgICAgICAgICAgIHwgICA0ICstCiAuLi4vdGVzdF9kZWNv ZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQgICAgfCAgNDIgKysrKwogY29udHJpYi90ZXN0 X2RlY29kaW5nL3NxbC9kZGxtZXNzYWdlcy5zcWwgICAgIHwgIDI4ICsrKwogY29udHJpYi90ZXN0 X2RlY29kaW5nL3Rlc3RfZGVjb2RpbmcuYyAgICAgICAgIHwgIDYxICsrKysrLQogc3JjL2JhY2tl bmQvYWNjZXNzL3JtZ3JkZXNjL01ha2VmaWxlICAgICAgICAgIHwgICAxICsKIC4uLi9hY2Nlc3Mv cm1ncmRlc2MvbG9naWNhbGRkbG1zZ2Rlc2MuYyAgICAgICB8ICA1NCArKysrKwogc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0vcm1nci5jICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyAgICAgICAgICB8ICA1MiArKysrKwogc3JjL2JhY2tl bmQvY29tbWFuZHMvdGFibGVjbWRzLmMgICAgICAgICAgICAgIHwgIDQzICsrKy0KIHNyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvTWFrZWZpbGUgICAgICB8ICAgMSArCiBzcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RkbG1lc3NhZ2UuYyAgfCAgOTkgKysrKysrKysrCiBzcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RlY29kZS5jICAgICAgfCAgNTYgKysrKysKIHNy Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvbG9naWNhbC5jICAgICB8ICA5MSArKysrKysr KwogLi4uL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcmVvcmRlcmJ1ZmZlci5jICAgICAgIHwgMjA0ICsr KysrKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAg ICAgICAgIHwgMjAxICsrKysrKysrKysrKysrKystCiBzcmMvYmluL3BnX3dhbGR1bXAvcm1ncmRl c2MuYyAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvYWNjZXNzL3JtZ3JsaXN0 LmggICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21k cy5oICAgICAgICAgICAgICB8ICAgMyArLQogc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vZGRsbWVz c2FnZS5oICAgICAgICAgIHwgIDQ3ICsrKysKIHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2RlY29k ZS5oICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9vdXRwdXRf cGx1Z2luLmggICAgICAgfCAgMjkgKysrCiBzcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9yZW9yZGVy YnVmZmVyLmggICAgICAgfCAgMzkgKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJs aWNhdGlvbi5vdXQgICAgIHwgIDE2ICstCiAyMyBmaWxlcyBjaGFuZ2VkLCAxMDU0IGluc2VydGlv bnMoKyksIDIxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbnRyaWIvdGVzdF9k ZWNvZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBjb250 cmliL3Rlc3RfZGVjb2Rpbmcvc3FsL2RkbG1lc3NhZ2VzLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyYy9iYWNrZW5kL2FjY2Vzcy9ybWdyZGVzYy9sb2dpY2FsZGRsbXNnZGVzYy5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZGxtZXNzYWdlLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZGxtZXNzYWdlLmgK CmRpZmYgLS1naXQgYS9jb250cmliL3Rlc3RfZGVjb2RpbmcvTWFrZWZpbGUgYi9jb250cmliL3Rl c3RfZGVjb2RpbmcvTWFrZWZpbGUKaW5kZXggYjIyMDkwNjQ3OS4uZTU4YTc2ZDNmMSAxMDA2NDQK LS0tIGEvY29udHJpYi90ZXN0X2RlY29kaW5nL01ha2VmaWxlCisrKyBiL2NvbnRyaWIvdGVzdF9k ZWNvZGluZy9NYWtlZmlsZQpAQCAtNSw3ICs1LDkgQEAgUEdGSUxFREVTQyA9ICJ0ZXN0X2RlY29k aW5nIC0gZXhhbXBsZSBvZiBhIGxvZ2ljYWwgZGVjb2Rpbmcgb3V0cHV0IHBsdWdpbiIKIAogUkVH UkVTUyA9IGRkbCB4YWN0IHJld3JpdGUgdG9hc3QgcGVybWlzc2lvbnMgZGVjb2RpbmdfaW5feGFj dCBcCiAJZGVjb2RpbmdfaW50b19yZWwgYmluYXJ5IHByZXBhcmVkIHJlcGxvcmlnaW4gdGltZSBt ZXNzYWdlcyBcCi0Jc3BpbGwgc2xvdCB0cnVuY2F0ZSBzdHJlYW0gc3RhdHMgdHdvcGhhc2UgdHdv cGhhc2Vfc3RyZWFtCisJc3BpbGwgc2xvdCB0cnVuY2F0ZSBzdHJlYW0gc3RhdHMgdHdvcGhhc2Ug dHdvcGhhc2Vfc3RyZWFtIFwKKwlkZGxtZXNzYWdlcworCiBJU09MQVRJT04gPSBteGFjdCBkZWxh eWVkX3N0YXJ0dXAgb25kaXNrX3N0YXJ0dXAgY29uY3VycmVudF9kZGxfZG1sIFwKIAlvbGRlc3Rf eG1pbiBzbmFwc2hvdF90cmFuc2ZlciBzdWJ4YWN0X3dpdGhvdXRfdG9wIGNvbmN1cnJlbnRfc3Ry ZWFtIFwKIAl0d29waGFzZV9zbmFwc2hvdCBzbG90X2NyZWF0aW9uX2Vycm9yCmRpZmYgLS1naXQg YS9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0ZWQvZGRsbWVzc2FnZXMub3V0IGIvY29udHJp Yi90ZXN0X2RlY29kaW5nL2V4cGVjdGVkL2RkbG1lc3NhZ2VzLm91dApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwLi43OTI4NGY5ZGVmCi0tLSAvZGV2L251bGwKKysrIGIvY29u dHJpYi90ZXN0X2RlY29kaW5nL2V4cGVjdGVkL2RkbG1lc3NhZ2VzLm91dApAQCAtMCwwICsxLDQy IEBACistLSBwcmVkaWN0YWJpbGl0eQorU0VUIHN5bmNocm9ub3VzX2NvbW1pdCA9IG9uOworLS0g dHVybiBvbiBsb2dpY2FsIGRkbCBtZXNzYWdlIGxvZ2dpbmcKK0NSRUFURSBwdWJsaWNhdGlvbiBt eXB1YiBGT1IgQUxMIFRBQkxFUyB3aXRoIChkZGwgPSAnZGF0YWJhc2UnKTsKK1NFTEVDVCAnaW5p dCcgRlJPTSBwZ19jcmVhdGVfbG9naWNhbF9yZXBsaWNhdGlvbl9zbG90KCdyZWdyZXNzaW9uX3Ns b3QnLCAndGVzdF9kZWNvZGluZycpOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorIGluaXQKKygx IHJvdykKKworQ1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwg ZGF0YSBpbnQpOworQUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOwor QUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGRyb3AgYzM7CitEUk9QIFRBQkxFIHRlc3RfZGRs bWVzc2FnZTsKK0JFR0lOOworQ1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFs IHVuaXF1ZSwgZGF0YSBpbnQpOworQUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2 YXJjaGFyOworUk9MTEJBQ0s7CitCRUdJTjsKK0NSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2Ug KGlkIHNlcmlhbCB1bmlxdWUsIGRhdGEgaW50KTsKK0FMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2Fn ZSBhZGQgYzMgdmFyY2hhcjsKK0NPTU1JVDsKK1xvIHwgc2VkICdzL3JvbGUuKnNlYXJjaF9wYXRo L3JvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0aC9nJworU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dp Y2FsX3Nsb3RfZ2V0X2NoYW5nZXMoJ3JlZ3Jlc3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmNs dWRlLXhpZHMnLCAnMCcsICdza2lwLWVtcHR5LXhhY3RzJywgJzEnKTsKK1NFTEVDVCBwZ19kcm9w X3JlcGxpY2F0aW9uX3Nsb3QoJ3JlZ3Jlc3Npb25fc2xvdCcpOworRFJPUCBUQUJMRSB0ZXN0X2Rk bG1lc3NhZ2U7CitEUk9QIHB1YmxpY2F0aW9uIG15cHViOworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk YXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9s ZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA1OCBjb250ZW50 OkNSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgKGlkIHNlcmlhbCB1bmlxdWUsIGRhdGEgaW50 KTsKKyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiByZWRhY3Rl ZCwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDQzIGNvbnRlbnQ6QUxURVIgVEFC TEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOworIERETCBtZXNzYWdlOiB0cmFuc2Fj dGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwg cHVibGljLCBzejogMzYgY29udGVudDpBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgZHJvcCBj MzsKKyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiByZWRhY3Rl ZCwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDI3IGNvbnRlbnQ6RFJPUCBUQUJM RSB0ZXN0X2RkbG1lc3NhZ2U7CisgRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4 OiAgcm9sZTogcmVkYWN0ZWQsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA1OCBj b250ZW50OkNSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgKGlkIHNlcmlhbCB1bmlxdWUsIGRh dGEgaW50KTsKKyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBy ZWRhY3RlZCwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDQzIGNvbnRlbnQ6QUxU RVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOworKDYgcm93cykKKworIHBn X2Ryb3BfcmVwbGljYXRpb25fc2xvdCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCiso MSByb3cpCisKZGlmZiAtLWdpdCBhL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2Fn ZXMuc3FsIGIvY29udHJpYi90ZXN0X2RlY29kaW5nL3NxbC9kZGxtZXNzYWdlcy5zcWwKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMjExNDk3ZWUyMgotLS0gL2Rldi9udWxs CisrKyBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2FnZXMuc3FsCkBAIC0wLDAg KzEsMjggQEAKKy0tIHByZWRpY3RhYmlsaXR5CitTRVQgc3luY2hyb25vdXNfY29tbWl0ID0gb247 CistLSB0dXJuIG9uIGxvZ2ljYWwgZGRsIG1lc3NhZ2UgbG9nZ2luZworQ1JFQVRFIHB1YmxpY2F0 aW9uIG15cHViIEZPUiBBTEwgVEFCTEVTIHdpdGggKGRkbCA9ICdkYXRhYmFzZScpOworCitTRUxF Q1QgJ2luaXQnIEZST00gcGdfY3JlYXRlX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdCgncmVncmVz c2lvbl9zbG90JywgJ3Rlc3RfZGVjb2RpbmcnKTsKKworQ1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVz c2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOworQUxURVIgVEFCTEUgdGVzdF9kZGxt ZXNzYWdlIGFkZCBjMyB2YXJjaGFyOworQUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGRyb3Ag YzM7CitEUk9QIFRBQkxFIHRlc3RfZGRsbWVzc2FnZTsKKworQkVHSU47CitDUkVBVEUgVEFCTEUg dGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVlLCBkYXRhIGludCk7CitBTFRFUiBUQUJM RSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CitST0xMQkFDSzsKKworQkVHSU47CitD UkVBVEUgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVlLCBkYXRhIGludCk7 CitBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CitDT01NSVQ7CisK K1xvIHwgc2VkICdzL3JvbGUuKnNlYXJjaF9wYXRoL3JvbGU6IHJlZGFjdGVkLCBzZWFyY2hfcGF0 aC9nJworU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXMoJ3JlZ3Jl c3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmNsdWRlLXhpZHMnLCAnMCcsICdza2lwLWVtcHR5 LXhhY3RzJywgJzEnKTsKK1NFTEVDVCBwZ19kcm9wX3JlcGxpY2F0aW9uX3Nsb3QoJ3JlZ3Jlc3Np b25fc2xvdCcpOworRFJPUCBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2U7CitEUk9QIHB1YmxpY2F0aW9u IG15cHViOworCmRpZmYgLS1naXQgYS9jb250cmliL3Rlc3RfZGVjb2RpbmcvdGVzdF9kZWNvZGlu Zy5jIGIvY29udHJpYi90ZXN0X2RlY29kaW5nL3Rlc3RfZGVjb2RpbmcuYwppbmRleCAzNzM2ZGE2 Nzg0Li5hNDRlMWY3OWUzIDEwMDY0NAotLS0gYS9jb250cmliL3Rlc3RfZGVjb2RpbmcvdGVzdF9k ZWNvZGluZy5jCisrKyBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy90ZXN0X2RlY29kaW5nLmMKQEAg LTc2LDYgKzc2LDExIEBAIHN0YXRpYyB2b2lkIHBnX2RlY29kZV9tZXNzYWdlKExvZ2ljYWxEZWNv ZGluZ0NvbnRleHQgKmN0eCwKIAkJCQkJCQkgIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwgWExvZ1Jl Y1B0ciBtZXNzYWdlX2xzbiwKIAkJCQkJCQkgIGJvb2wgdHJhbnNhY3Rpb25hbCwgY29uc3QgY2hh ciAqcHJlZml4LAogCQkJCQkJCSAgU2l6ZSBzeiwgY29uc3QgY2hhciAqbWVzc2FnZSk7CitzdGF0 aWMgdm9pZCBwZ19kZWNvZGVfZGRsbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgs CisJCQkJCQkJCSBSZW9yZGVyQnVmZmVyVFhOICp0eG4sIFhMb2dSZWNQdHIgbWVzc2FnZV9sc24s CisJCQkJCQkJCSBib29sIHRyYW5zYWN0aW9uYWwsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkJ CQkJIGNvbnN0IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAorCQkJCQkJCQkg U2l6ZSBzeiwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiBzdGF0aWMgYm9vbCBwZ19kZWNvZGVfZmls dGVyX3ByZXBhcmUoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCQkJCQkJCQkJIFRyYW5z YWN0aW9uSWQgeGlkLAogCQkJCQkJCQkJIGNvbnN0IGNoYXIgKmdpZCk7CkBAIC0xMTYsNiArMTIx LDExIEBAIHN0YXRpYyB2b2lkIHBnX2RlY29kZV9zdHJlYW1fbWVzc2FnZShMb2dpY2FsRGVjb2Rp bmdDb250ZXh0ICpjdHgsCiAJCQkJCQkJCQkgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLCBYTG9nUmVj UHRyIG1lc3NhZ2VfbHNuLAogCQkJCQkJCQkJIGJvb2wgdHJhbnNhY3Rpb25hbCwgY29uc3QgY2hh ciAqcHJlZml4LAogCQkJCQkJCQkJIFNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworc3Rh dGljIHZvaWQgcGdfZGVjb2RlX3N0cmVhbV9kZGxtZXNzYWdlKExvZ2ljYWxEZWNvZGluZ0NvbnRl eHQgKmN0eCwKKwkJCQkJCQkJCQlSZW9yZGVyQnVmZmVyVFhOICp0eG4sIFhMb2dSZWNQdHIgbWVz c2FnZV9sc24sCisJCQkJCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVm aXgsCisJCQkJCQkJCQkJY29uc3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAqc2VhcmNoX3BhdGgs CisJCQkJCQkJCQkJU2l6ZSBzeiwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiBzdGF0aWMgdm9pZCBw Z19kZWNvZGVfc3RyZWFtX3RydW5jYXRlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKIAkJ CQkJCQkJCSAgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkJCQkJICBpbnQgbnJlbGF0aW9u cywgUmVsYXRpb24gcmVsYXRpb25zW10sCkBAIC0xNDEsNiArMTUxLDcgQEAgX1BHX291dHB1dF9w bHVnaW5faW5pdChPdXRwdXRQbHVnaW5DYWxsYmFja3MgKmNiKQogCWNiLT5maWx0ZXJfYnlfb3Jp Z2luX2NiID0gcGdfZGVjb2RlX2ZpbHRlcjsKIAljYi0+c2h1dGRvd25fY2IgPSBwZ19kZWNvZGVf c2h1dGRvd247CiAJY2ItPm1lc3NhZ2VfY2IgPSBwZ19kZWNvZGVfbWVzc2FnZTsKKwljYi0+ZGRs bWVzc2FnZV9jYiA9IHBnX2RlY29kZV9kZGxtZXNzYWdlOwogCWNiLT5maWx0ZXJfcHJlcGFyZV9j YiA9IHBnX2RlY29kZV9maWx0ZXJfcHJlcGFyZTsKIAljYi0+YmVnaW5fcHJlcGFyZV9jYiA9IHBn X2RlY29kZV9iZWdpbl9wcmVwYXJlX3R4bjsKIAljYi0+cHJlcGFyZV9jYiA9IHBnX2RlY29kZV9w cmVwYXJlX3R4bjsKQEAgLTE1Myw2ICsxNjQsNyBAQCBfUEdfb3V0cHV0X3BsdWdpbl9pbml0KE91 dHB1dFBsdWdpbkNhbGxiYWNrcyAqY2IpCiAJY2ItPnN0cmVhbV9jb21taXRfY2IgPSBwZ19kZWNv ZGVfc3RyZWFtX2NvbW1pdDsKIAljYi0+c3RyZWFtX2NoYW5nZV9jYiA9IHBnX2RlY29kZV9zdHJl YW1fY2hhbmdlOwogCWNiLT5zdHJlYW1fbWVzc2FnZV9jYiA9IHBnX2RlY29kZV9zdHJlYW1fbWVz c2FnZTsKKwljYi0+c3RyZWFtX2RkbG1lc3NhZ2VfY2IgPSBwZ19kZWNvZGVfc3RyZWFtX2RkbG1l c3NhZ2U7CiAJY2ItPnN0cmVhbV90cnVuY2F0ZV9jYiA9IHBnX2RlY29kZV9zdHJlYW1fdHJ1bmNh dGU7CiB9CiAKQEAgLTc0Nyw3ICs3NTksOCBAQCBwZ19kZWNvZGVfdHJ1bmNhdGUoTG9naWNhbERl Y29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiBzdGF0aWMgdm9pZAog cGdfZGVjb2RlX21lc3NhZ2UoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCQkJCSAgUmVv cmRlckJ1ZmZlclRYTiAqdHhuLCBYTG9nUmVjUHRyIGxzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAot CQkJCSAgY29uc3QgY2hhciAqcHJlZml4LCBTaXplIHN6LCBjb25zdCBjaGFyICptZXNzYWdlKQor CQkJCSAgY29uc3QgY2hhciAqcHJlZml4LCBTaXplIHN6LAorCQkJCSAgY29uc3QgY2hhciAqbWVz c2FnZSkKIHsKIAlPdXRwdXRQbHVnaW5QcmVwYXJlV3JpdGUoY3R4LCB0cnVlKTsKIAlhcHBlbmRT dHJpbmdJbmZvKGN0eC0+b3V0LCAibWVzc2FnZTogdHJhbnNhY3Rpb25hbDogJWQgcHJlZml4OiAl cywgc3o6ICV6dSBjb250ZW50OiIsCkBAIC03NTYsNiArNzY5LDE5IEBAIHBnX2RlY29kZV9tZXNz YWdlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKIAlPdXRwdXRQbHVnaW5Xcml0ZShjdHgs IHRydWUpOwogfQogCitzdGF0aWMgdm9pZAorcGdfZGVjb2RlX2RkbG1lc3NhZ2UoTG9naWNhbERl Y29kaW5nQ29udGV4dCAqY3R4LAorCQkJCSAgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLCBYTG9nUmVj UHRyIGxzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCSAgY29uc3QgY2hhciAqcHJlZml4LCBj b25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwKKwkJCQkgIFNpemUgc3os IGNvbnN0IGNoYXIgKm1lc3NhZ2UpCit7CisJT3V0cHV0UGx1Z2luUHJlcGFyZVdyaXRlKGN0eCwg dHJ1ZSk7CisJYXBwZW5kU3RyaW5nSW5mbyhjdHgtPm91dCwgIkRETCBtZXNzYWdlOiB0cmFuc2Fj dGlvbmFsOiAlZCBwcmVmaXg6ICVzIHJvbGU6ICVzLCBzZWFyY2hfcGF0aDogJXMsIHN6OiAlenUg Y29udGVudDoiLAorCQkJCQkgdHJhbnNhY3Rpb25hbCwgcHJlZml4LCByb2xlLCBzZWFyY2hfcGF0 aCwgc3opOworCWFwcGVuZEJpbmFyeVN0cmluZ0luZm8oY3R4LT5vdXQsIG1lc3NhZ2UsIHN6KTsK KwlPdXRwdXRQbHVnaW5Xcml0ZShjdHgsIHRydWUpOworfQorCiBzdGF0aWMgdm9pZAogcGdfZGVj b2RlX3N0cmVhbV9zdGFydChMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCiAJCQkJCSAgIFJl b3JkZXJCdWZmZXJUWE4gKnR4bikKQEAgLTkzNiw3ICs5NjIsOCBAQCBwZ19kZWNvZGVfc3RyZWFt X2NoYW5nZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCiBzdGF0aWMgdm9pZAogcGdfZGVj b2RlX3N0cmVhbV9tZXNzYWdlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKIAkJCQkJCSBS ZW9yZGVyQnVmZmVyVFhOICp0eG4sIFhMb2dSZWNQdHIgbHNuLCBib29sIHRyYW5zYWN0aW9uYWws Ci0JCQkJCQkgY29uc3QgY2hhciAqcHJlZml4LCBTaXplIHN6LCBjb25zdCBjaGFyICptZXNzYWdl KQorCQkJCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwgU2l6ZSBzeiwKKwkJCQkJCSBjb25zdCBjaGFy ICptZXNzYWdlKQogewogCU91dHB1dFBsdWdpblByZXBhcmVXcml0ZShjdHgsIHRydWUpOwogCkBA IC05NDgsNyArOTc1LDM1IEBAIHBnX2RlY29kZV9zdHJlYW1fbWVzc2FnZShMb2dpY2FsRGVjb2Rp bmdDb250ZXh0ICpjdHgsCiAJZWxzZQogCXsKIAkJYXBwZW5kU3RyaW5nSW5mbyhjdHgtPm91dCwg InN0cmVhbWluZyBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAlZCBwcmVmaXg6ICVzLCBzejogJXp1 IGNvbnRlbnQ6IiwKLQkJCQkJCSB0cmFuc2FjdGlvbmFsLCBwcmVmaXgsIHN6KTsKKwkJCQkJCQkg dHJhbnNhY3Rpb25hbCwgcHJlZml4LCBzeik7CisJCWFwcGVuZEJpbmFyeVN0cmluZ0luZm8oY3R4 LT5vdXQsIG1lc3NhZ2UsIHN6KTsKKwl9CisKKwlPdXRwdXRQbHVnaW5Xcml0ZShjdHgsIHRydWUp OworfQorCisvKgorICogSW4gc3RyZWFtaW5nIG1vZGUsIHdlIGRvbid0IGRpc3BsYXkgdGhlIGNv bnRlbnRzIGZvciB0cmFuc2FjdGlvbmFsIG1lc3NhZ2VzCisgKiBhcyB0aGUgdHJhbnNhY3Rpb24g Y2FuIGFib3J0IGF0IGEgbGF0ZXIgcG9pbnQgaW4gdGltZS4gIFdlIGRvbid0IHdhbnQgdXNlcnMg dG8KKyAqIHNlZSB0aGUgbWVzc2FnZSBjb250ZW50cyB1bnRpbCB0aGUgdHJhbnNhY3Rpb24gaXMg Y29tbWl0dGVkLgorICovCitzdGF0aWMgdm9pZAorcGdfZGVjb2RlX3N0cmVhbV9kZGxtZXNzYWdl KExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKKwkJCQkJCQlSZW9yZGVyQnVmZmVyVFhOICp0 eG4sIFhMb2dSZWNQdHIgbHNuLCBib29sIHRyYW5zYWN0aW9uYWwsCisJCQkJCQkJY29uc3QgY2hh ciAqcHJlZml4LCBjb25zdCBjaGFyICogcm9sZSwgY29uc3QgY2hhciAqIHNlYXJjaF9wYXRoLAor CQkJCQkJCVNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCit7CisJT3V0cHV0UGx1Z2luUHJl cGFyZVdyaXRlKGN0eCwgdHJ1ZSk7CisKKwlpZiAodHJhbnNhY3Rpb25hbCkKKwl7CisJCWFwcGVu ZFN0cmluZ0luZm8oY3R4LT5vdXQsICJzdHJlYW1pbmcgRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9u YWw6ICVkIHByZWZpeDogJXMgcm9sZTogJXMsIHNlYXJjaF9wYXRoOiAlcywgc3o6ICV6dSIsCisJ CQkJCQkgdHJhbnNhY3Rpb25hbCwgcHJlZml4LCByb2xlLCBzZWFyY2hfcGF0aCwgc3opOworCX0K KwllbHNlCisJeworCQlhcHBlbmRTdHJpbmdJbmZvKGN0eC0+b3V0LCAic3RyZWFtaW5nIERETCBt ZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAlZCBwcmVmaXg6ICVzIHJvbGU6ICVzLCBzZWFyY2hfcGF0 aDogJXMsIHN6OiAlenUgY29udGVudDoiLAorCQkJCQkJIHRyYW5zYWN0aW9uYWwsIHByZWZpeCwg cm9sZSwgc2VhcmNoX3BhdGgsIHN6KTsKIAkJYXBwZW5kQmluYXJ5U3RyaW5nSW5mbyhjdHgtPm91 dCwgbWVzc2FnZSwgc3opOwogCX0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3Jt Z3JkZXNjL01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3JtZ3JkZXNjL01ha2VmaWxlCmlu ZGV4IGY4OGQ3MmZkODYuLmI4ZTI5ZThkZjMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vz cy9ybWdyZGVzYy9NYWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC9hY2Nlc3Mvcm1ncmRlc2MvTWFr ZWZpbGUKQEAgLTE5LDYgKzE5LDcgQEAgT0JKUyA9IFwKIAloYXNoZGVzYy5vIFwKIAloZWFwZGVz Yy5vIFwKIAlsb2dpY2FsbXNnZGVzYy5vIFwKKwlsb2dpY2FsZGRsbXNnZGVzYy5vIFwKIAlteGFj dGRlc2MubyBcCiAJbmJ0ZGVzYy5vIFwKIAlyZWxtYXBkZXNjLm8gXApkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvYWNjZXNzL3JtZ3JkZXNjL2xvZ2ljYWxkZGxtc2dkZXNjLmMgYi9zcmMvYmFja2Vu ZC9hY2Nlc3Mvcm1ncmRlc2MvbG9naWNhbGRkbG1zZ2Rlc2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwLi43YTM1MmQ1NDBhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL3JtZ3JkZXNjL2xvZ2ljYWxkZGxtc2dkZXNjLmMKQEAgLTAsMCArMSw1NCBA QAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogbG9naWNhbGRkbG1zZ2Rlc2MuYworICoJICBy bWdyIGRlc2NyaXB0b3Igcm91dGluZXMgZm9yIHJlcGxpY2F0aW9uL2xvZ2ljYWwvZGRsbWVzc2Fn ZS5jCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDE1LTIwMjIsIFBvc3RncmVTUUwg R2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKgorICoKKyAqIElERU5USUZJQ0FUSU9OCisgKgkg IHNyYy9iYWNrZW5kL2FjY2Vzcy9ybWdyZGVzYy9sb2dpY2FsZGRsbXNnZGVzYy5jCisgKgorICot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgKi8KKyNpbmNsdWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAi cmVwbGljYXRpb24vZGRsbWVzc2FnZS5oIgorCit2b2lkCitsb2dpY2FsZGRsbXNnX2Rlc2MoU3Ry aW5nSW5mbyBidWYsIFhMb2dSZWFkZXJTdGF0ZSAqcmVjb3JkKQoreworCWNoYXIJICAgKnJlYyA9 IFhMb2dSZWNHZXREYXRhKHJlY29yZCk7CisJdWludDgJCWluZm8gPSBYTG9nUmVjR2V0SW5mbyhy ZWNvcmQpICYgflhMUl9JTkZPX01BU0s7CisKKwlpZiAoaW5mbyA9PSBYTE9HX0xPR0lDQUxfRERM X01FU1NBR0UpCisJeworCQl4bF9sb2dpY2FsX2RkbF9tZXNzYWdlICp4bHJlYyA9ICh4bF9sb2dp Y2FsX2RkbF9tZXNzYWdlICopIHJlYzsKKwkJY2hhcgkgICAqcHJlZml4ID0geGxyZWMtPm1lc3Nh Z2U7CisJCWNoYXIgICAgICAgKnJvbGUgPSB4bHJlYy0+bWVzc2FnZSArIHhscmVjLT5wcmVmaXhf c2l6ZTsKKwkJY2hhciAgICAgICAqc2VhcmNoX3BhdGggPSB4bHJlYy0+bWVzc2FnZSArIHhscmVj LT5wcmVmaXhfc2l6ZSArIHhscmVjLT5yb2xlX3NpemU7CisJCWNoYXIJICAgKm1lc3NhZ2UgPSB4 bHJlYy0+bWVzc2FnZSArIHhscmVjLT5wcmVmaXhfc2l6ZSArIHhscmVjLT5yb2xlX3NpemUgKyB4 bHJlYy0+c2VhcmNoX3BhdGhfc2l6ZTsKKwkJY2hhcgkgICAqc2VwID0gIiI7CisKKwkJQXNzZXJ0 KHByZWZpeFt4bHJlYy0+cHJlZml4X3NpemVdICE9ICdcMCcpOworCisJCWFwcGVuZFN0cmluZ0lu Zm8oYnVmLCAiJXMsIHByZWZpeCBcIiVzXCI7IHJvbGUgXCIlc1wiOyBzZWFyY2hfcGF0aCBcIiVz XCI7IHBheWxvYWQgKCV6dSBieXRlcyk6ICIsCisJCQkJCQkgeGxyZWMtPnRyYW5zYWN0aW9uYWwg PyAidHJhbnNhY3Rpb25hbCIgOiAibm9uLXRyYW5zYWN0aW9uYWwiLAorCQkJCQkJIHByZWZpeCwg cm9sZSwgc2VhcmNoX3BhdGgsIHhscmVjLT5tZXNzYWdlX3NpemUpOworCQkvKiBXcml0ZSBtZXNz YWdlIHBheWxvYWQgYXMgYSBzZXJpZXMgb2YgaGV4IGJ5dGVzICovCisJCWZvciAoaW50IGNudCA9 IDA7IGNudCA8IHhscmVjLT5tZXNzYWdlX3NpemU7IGNudCsrKQorCQl7CisJCQlhcHBlbmRTdHJp bmdJbmZvKGJ1ZiwgIiVzJTAyWCIsIHNlcCwgKHVuc2lnbmVkIGNoYXIpIG1lc3NhZ2VbY250XSk7 CisJCQlzZXAgPSAiICI7CisJCX0KKwl9Cit9CisKK2NvbnN0IGNoYXIgKgorbG9naWNhbGRkbG1z Z19pZGVudGlmeSh1aW50OCBpbmZvKQoreworCWlmICgoaW5mbyAmIH5YTFJfSU5GT19NQVNLKSA9 PSBYTE9HX0xPR0lDQUxfRERMX01FU1NBR0UpCisJCXJldHVybiAiRERMIE1FU1NBR0UiOworCisJ cmV0dXJuIE5VTEw7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9y bWdyLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9ybWdyLmMKaW5kZXggOGVkNjkyNDRl My4uNmRiOWE1OTNiOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vcm1n ci5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3JtZ3IuYwpAQCAtMjksNiArMjks NyBAQAogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL2RlY29k ZS5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL21lc3NhZ2UuaCIKKyNpbmNsdWRlICJyZXBsaWNh dGlvbi9kZGxtZXNzYWdlLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vb3JpZ2luLmgiCiAjaW5j bHVkZSAic3RvcmFnZS9zdGFuZGJ5LmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwppbmRleCBiOGFiMWQ4MTQxLi5mYWQyMWEzMWQw IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKKysrIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCkBAIC0xMjA2LDMgKzEyMDYsNTUg QEAgcGdfZ2V0X3B1YmxpY2F0aW9uX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCiAJU1JGX1JF VFVSTl9ET05FKGZ1bmNjdHgpOwogfQorCisvKgorICogQ2hlY2tzIGlmIERETCBvbiByZWxhdGlv biAocmVsaWQpIG5lZWQgeGxvZyBmb3IgbG9naWNhbCByZXBsaWNhdGlvbgorICovCitib29sCitk ZGxfbmVlZF94bG9nKE9pZCByZWxpZCwgYm9vbCBmb3JBbGxUYWJQdWJPbmx5LCBib29sIGlzVG9w TGV2ZWwpCit7CisJTGlzdCAqYWxsVGFibGVQdWJzID0gTklMOworCUxpc3QgKnRhYmxlUHVicyA9 IE5JTDsKKwlMaXN0Q2VsbCAqbGM7CisKKwkvKiBPbmx5IHJlcGxpY2F0ZSB0b3BsZXZlbCBEREwg Y29tbWFuZCAqLworCWlmICghaXNUb3BMZXZlbCkKKwkJcmV0dXJuIGZhbHNlOworCWlmIChyZWxp ZCA9PSBJbnZhbGlkT2lkICYmICFmb3JBbGxUYWJQdWJPbmx5KQorCQlyZXR1cm4gZmFsc2U7CisK KwkvKgorCSAqIExvZyB0aGUgRERMIGNvbW1hbmQgaWYKKwkgKiB0aGVyZSBpcyBhbnkgRk9SIEFM TCBUQUJMRVMgcHVibGljYXRpb24gd2l0aCBwdWJkZGxfZGF0YWJhc2Ugb24KKwkgKiBvcgorCSAq IHRoaXMgVEFCTEUgYmVsb25ncyB0byBhbnkgbm9uIEZPUiBBTEwgcHVibGljYXRpb25zIHdpdGgg cHViZGRsX3RhYmxlIG9uCisJICovCisJYWxsVGFibGVQdWJzID0gR2V0QWxsVGFibGVzUHVibGlj YXRpb25zKCk7CisJZm9yZWFjaChsYywgYWxsVGFibGVQdWJzKQorCXsKKwkJT2lkIHB1YmlkID0g bGZpcnN0X29pZChsYyk7CisJCVB1YmxpY2F0aW9uICpwdWIgPSBHZXRQdWJsaWNhdGlvbihwdWJp ZCk7CisKKwkJaWYgKHB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfZGF0YWJhc2UpCisJCQlyZXR1cm4g dHJ1ZTsKKwl9CisKKwkvKgorCSAqIElmIGZvckFsbFRhYlB1Yk9ubHkgaXMgdHJ1ZSAoaS5lLiBk YXRhYmFzZSBsZXZlbCByZXBsaWNhdGlvbiBpcyByZXF1aXJlZCBmb3IgdGhlIERETAorCSAqIHRv IGJlIGxvZ2dlZCksIHdlIGNhbiBiYWlsIG5vdyBzaW5jZSBubyBwdWJsaWNhdGlvbiBoYXMgYmVl biBmb3VuZCB3aXRoIHB1YmRkbF9kYXRhYmFzZSBvbgorCSAqLworCWlmIChmb3JBbGxUYWJQdWJP bmx5KQorCQlyZXR1cm4gZmFsc2U7CisKKwl0YWJsZVB1YnMgPSBHZXRSZWxhdGlvblB1YmxpY2F0 aW9ucyhyZWxpZCk7CisJZm9yZWFjaChsYywgdGFibGVQdWJzKQorCXsKKwkJT2lkIHB1YmlkID0g bGZpcnN0X29pZChsYyk7CisJCVB1YmxpY2F0aW9uICpwdWIgPSBHZXRQdWJsaWNhdGlvbihwdWJp ZCk7CisKKwkJaWYgKHB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfdGFibGUpCisJCQlyZXR1cm4gdHJ1 ZTsKKwl9CisKKwlyZXR1cm4gZmFsc2U7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4 IDJkZTBlYmFjZWMuLjZkMTQ4Nzk1MWYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC04 MCw2ICs4MCw3IEBACiAjaW5jbHVkZSAicGFydGl0aW9uaW5nL3BhcnRib3VuZHMuaCIKICNpbmNs dWRlICJwYXJ0aXRpb25pbmcvcGFydGRlc2MuaCIKICNpbmNsdWRlICJwZ3N0YXQuaCIKKyNpbmNs dWRlICJyZXBsaWNhdGlvbi9kZGxtZXNzYWdlLmgiCiAjaW5jbHVkZSAicmV3cml0ZS9yZXdyaXRl RGVmaW5lLmgiCiAjaW5jbHVkZSAicmV3cml0ZS9yZXdyaXRlSGFuZGxlci5oIgogI2luY2x1ZGUg InJld3JpdGUvcmV3cml0ZU1hbmlwLmgiCkBAIC0xMzMyLDEzICsxMzMzLDE0IEBAIERyb3BFcnJv ck1zZ1dyb25nVHlwZShjb25zdCBjaGFyICpyZWxuYW1lLCBjaGFyIHdyb25na2luZCwgY2hhciBy aWdodGtpbmQpCiAgKgkJRFJPUCBNQVRFUklBTElaRUQgVklFVywgRFJPUCBGT1JFSUdOIFRBQkxF CiAgKi8KIHZvaWQKLVJlbW92ZVJlbGF0aW9ucyhEcm9wU3RtdCAqZHJvcCkKK1JlbW92ZVJlbGF0 aW9ucyhQYXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpkcm9wLCBib29sIGlzVG9wTGV2ZWwp CiB7CiAJT2JqZWN0QWRkcmVzc2VzICpvYmplY3RzOwogCWNoYXIJCXJlbGtpbmQ7CiAJTGlzdENl bGwgICAqY2VsbDsKIAlpbnQJCQlmbGFncyA9IDA7CiAJTE9DS01PREUJbG9ja21vZGUgPSBBY2Nl c3NFeGNsdXNpdmVMb2NrOworCWJvb2wJCWRkbHhsb2cgPSBYTG9nTG9naWNhbEluZm9BY3RpdmUo KTsKIAogCS8qIERST1AgQ09OQ1VSUkVOVExZIHVzZXMgYSB3ZWFrZXIgbG9jaywgYW5kIGhhcyBz b21lIHJlc3RyaWN0aW9ucyAqLwogCWlmIChkcm9wLT5jb25jdXJyZW50KQpAQCAtMTQzNywxMCAr MTQzOSwzNyBAQCBSZW1vdmVSZWxhdGlvbnMoRHJvcFN0bXQgKmRyb3ApCiAJCS8qIE5vdCB0aGVy ZT8gKi8KIAkJaWYgKCFPaWRJc1ZhbGlkKHJlbE9pZCkpCiAJCXsKKwkJCWRkbHhsb2cgPSBmYWxz ZTsKIAkJCURyb3BFcnJvck1zZ05vbkV4aXN0ZW50KHJlbCwgcmVsa2luZCwgZHJvcC0+bWlzc2lu Z19vayk7CiAJCQljb250aW51ZTsKIAkJfQogCisJCS8qCisJCSAqIE9ubHkgbG9nIERST1AgUkVM QVRJT04gY21kIGZvciBsb2dpY2FsIHJlcGxpY2F0aW9uIGlmCisJCSAqIHRoZXJlIGlzIGFueSBG T1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbiB3aXRoIHB1YmRkbF9kYXRhYmFzZSBvbiBvcgorCQkg KiBldmVyeSByZWxhdGlvbiB0byBiZSBkcm9wcGVkIGJlbG9uZ3MgdG8gYW55IG5vbiBGT1IgQUxM IHB1YmxpY2F0aW9ucyB3aXRoIHB1YmRkbF90YWJsZSBvbgorCQkgKi8KKwkJaWYgKGRkbHhsb2cp CisJCXsKKwkJCU9pZCB0YWJsZU9pZCA9IEludmFsaWRPaWQ7CisKKwkJCWlmIChyZWxraW5kID09 IFJFTEtJTkRfUkVMQVRJT04pCisJCQkJdGFibGVPaWQgPSByZWxPaWQ7CisJCQllbHNlIGlmIChy ZWxraW5kID09IFJFTEtJTkRfSU5ERVgpCisJCQkJdGFibGVPaWQgPSBJbmRleEdldFJlbGF0aW9u KHJlbE9pZCwgdHJ1ZSk7CisJCQkvKgorCQkJICogT3RoZXIgcmVsYXRpb24gdHlwZXMgcmVxdWly ZSBkYXRhYmFzZSBsZXZlbCBkZGwgcmVwbGljYXRpb24gYW5kIGFyZQorCQkJICogYWxyZWFkeSBs b2dnZWQgaW4gTG9nTG9naWNhbERETENvbW1hbmQoKSBpZiBuZWVkZWQuCisJCQkgKi8KKwkJCWVs c2UKKwkJCQlkZGx4bG9nID0gZmFsc2U7CisKKwkJCS8qIERST1AgUkVMQVRJT04gb3IgSU5ERVgg YXJlIGFsbG93ZWQgaW4gdGFibGUgbGV2ZWwgRERMIHJlcGxpY2F0aW9uICovCisJCQlpZiAodGFi bGVPaWQgIT0gSW52YWxpZE9pZCAmJgorCQkJCSFkZGxfbmVlZF94bG9nKHRhYmxlT2lkLCBmYWxz ZSwgaXNUb3BMZXZlbCkpCisJCQkJZGRseGxvZyA9IGZhbHNlOworCQl9CisKIAkJLyoKIAkJICog RGVjaWRlIGlmIGNvbmN1cnJlbnQgbW9kZSBuZWVkcyB0byBiZSB1c2VkIGhlcmUgb3Igbm90LiAg VGhlCiAJCSAqIGNhbGxiYWNrIHJldHJpZXZlZCB0aGUgcmVsJ3MgcGVyc2lzdGVuY2UgZm9yIHVz LgpAQCAtMTQ4NCw2ICsxNTEzLDE4IEBAIFJlbW92ZVJlbGF0aW9ucyhEcm9wU3RtdCAqZHJvcCkK IAkJYWRkX2V4YWN0X29iamVjdF9hZGRyZXNzKCZvYmosIG9iamVjdHMpOwogCX0KIAorCS8qIExv ZyB0aGUgRHJvcCBjb21tYW5kIGZvciBsb2dpY2FsIHJlcGxpY2F0aW9uICovCisJaWYgKGRkbHhs b2cpCisJeworCQlib29sIHRyYW5zYWN0aW9uYWwgPSB0cnVlOworCQljb25zdCBjaGFyKiBwcmVm aXggPSAiIjsKKwkJTG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4LAorCQkJCQkJCSBHZXRVc2Vy SWQoKSwKKwkJCQkJCQkgcHN0YXRlLT5wX3NvdXJjZXRleHQsCisJCQkJCQkJIHN0cmxlbihwc3Rh dGUtPnBfc291cmNldGV4dCksCisJCQkJCQkJIHRyYW5zYWN0aW9uYWwpOworCX0KKwogCXBlcmZv cm1NdWx0aXBsZURlbGV0aW9ucyhvYmplY3RzLCBkcm9wLT5iZWhhdmlvciwgZmxhZ3MpOwogCiAJ ZnJlZV9vYmplY3RfYWRkcmVzc2VzKG9iamVjdHMpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xv Z2ljYWwvTWFrZWZpbGUKaW5kZXggYzRlMmZkZWI3MS4uZjNlZWI2NzMxMiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9NYWtlZmlsZQorKysgYi9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL01ha2VmaWxlCkBAIC0xNiw2ICsxNiw3IEBAIG92ZXJyaWRl IENQUEZMQUdTIDo9IC1JJChzcmNkaXIpICQoQ1BQRkxBR1MpCiAKIE9CSlMgPSBcCiAJZGVjb2Rl Lm8gXAorCWRkbG1lc3NhZ2Uub1wKIAlsYXVuY2hlci5vIFwKIAlsb2dpY2FsLm8gXAogCWxvZ2lj YWxmdW5jcy5vIFwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwv ZGRsbWVzc2FnZS5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZGxtZXNzYWdl LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZjkzNTczMDc5YQotLS0g L2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvZGRsbWVzc2Fn ZS5jCkBAIC0wLDAgKzEsOTkgQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIGRkbG1lc3Nh Z2UuYworICoJICBMb2dpY2FsIERETCBtZXNzYWdlcy4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIw MjIsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKgorICogSURFTlRJRklD QVRJT04KKyAqCSAgc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZGxtZXNzYWdlLmMK KyAqCisgKiBOT1RFUworICoKKyAqIExvZ2ljYWwgRERMIG1lc3NhZ2VzIGFsbG93IFhMT0cgbG9n Z2luZyBvZiBEREwgY29tbWFuZCBzdHJpbmdzIHRoYXQKKyAqIGdldCBwYXNzZWQgdG8gdGhlIGxv Z2ljYWwgZGVjb2RpbmcgcGx1Z2luLiBJbiBub3JtYWwgWExPRyBwcm9jZXNzaW5nIHRoZXkKKyAq IGFyZSBzYW1lIGFzIE5PT1AuCisgKgorICogU2ltaWFybCB0byB0aGUgZ2VuZXJpYyBsb2dpY2Fs IG1lc3NhZ2VzLCBUaGVzZSBEREwgbWVzc2FnZXMgY2FuIGJlIGVpdGhlcgorICogdHJhbnNhY3Rp b25hbCBvciBub24tdHJhbnNhY3Rpb25hbC4gTm90ZSBieSBkZWZhdWx0IERETHMgaW4gUG9zdGdy ZVNRTCBhcmUKKyAqIHRyYW5zYWN0aW9uYWwuCisgKiBUcmFuc2FjdGlvbmFsIG1lc3NhZ2VzIGFy ZSBwYXJ0IG9mIGN1cnJlbnQgdHJhbnNhY3Rpb24gYW5kIHdpbGwgYmUgc2VudCB0bworICogZGVj b2RpbmcgcGx1Z2luIHVzaW5nIGluIGEgc2FtZSB3YXkgYXMgRE1MIG9wZXJhdGlvbnMuCisgKiBO b24tdHJhbnNhY3Rpb25hbCBtZXNzYWdlcyBhcmUgc2VudCB0byB0aGUgcGx1Z2luIGF0IHRoZSB0 aW1lIHdoZW4gdGhlCisgKiBsb2dpY2FsIGRlY29kaW5nIHJlYWRzIHRoZW0gZnJvbSBYTE9HLiBU aGlzIGFsc28gbWVhbnMgdGhhdCB0cmFuc2FjdGlvbmFsCisgKiBtZXNzYWdlcyB3b24ndCBiZSBk ZWxpdmVyZWQgaWYgdGhlIHRyYW5zYWN0aW9uIHdhcyByb2xsZWQgYmFjayBidXQgdGhlCisgKiBu b24tdHJhbnNhY3Rpb25hbCBvbmUgd2lsbCBhbHdheXMgYmUgZGVsaXZlcmVkLgorICoKKyAqIEV2 ZXJ5IG1lc3NhZ2UgY2FycmllcyBwcmVmaXggdG8gYXZvaWQgY29uZmxpY3RzIGJldHdlZW4gZGlm ZmVyZW50IGRlY29kaW5nCisgKiBwbHVnaW5zLiBUaGUgcGx1Z2luIGF1dGhvcnMgbXVzdCB0YWtl IGV4dHJhIGNhcmUgdG8gdXNlIHVuaXF1ZSBwcmVmaXgsCisgKiBnb29kIG9wdGlvbnMgc2VlbXMg dG8gYmUgZm9yIGV4YW1wbGUgdG8gdXNlIHRoZSBuYW1lIG9mIHRoZSBleHRlbnNpb24uCisgKgor ICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2luY2x1ZGUgInBvc3RncmVzLmgiCisKKyNp bmNsdWRlICJhY2Nlc3MveGFjdC5oIgorI2luY2x1ZGUgImFjY2Vzcy94bG9naW5zZXJ0LmgiCisj aW5jbHVkZSAiY2F0YWxvZy9uYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNp bmNsdWRlICJub2Rlcy9leGVjbm9kZXMuaCIKKyNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2Fs LmgiCisjaW5jbHVkZSAicmVwbGljYXRpb24vZGRsbWVzc2FnZS5oIgorI2luY2x1ZGUgInV0aWxz L21lbXV0aWxzLmgiCisKKy8qCisgKiBXcml0ZSBsb2dpY2FsIGRlY29kaW5nIERETCBtZXNzYWdl IGludG8gWExvZy4KKyAqLworWExvZ1JlY1B0cgorTG9nTG9naWNhbERETE1lc3NhZ2UoY29uc3Qg Y2hhciAqcHJlZml4LCBPaWQgcm9sZW9pZCwgY29uc3QgY2hhciAqbWVzc2FnZSwKKwkJCQkJIHNp emVfdCBzaXplLCBib29sIHRyYW5zYWN0aW9uYWwpCit7CisJeGxfbG9naWNhbF9kZGxfbWVzc2Fn ZSB4bHJlYzsKKwljb25zdCBjaGFyICpyb2xlOworCisJcm9sZSA9ICBHZXRVc2VyTmFtZUZyb21J ZChyb2xlb2lkLCBmYWxzZSk7CisKKwkvKgorCSAqIEZvcmNlIHhpZCB0byBiZSBhbGxvY2F0ZWQg aWYgd2UncmUgZW1pdHRpbmcgYSB0cmFuc2FjdGlvbmFsIG1lc3NhZ2UuCisJICovCisJaWYgKHRy YW5zYWN0aW9uYWwpCisJeworCQlBc3NlcnQoSXNUcmFuc2FjdGlvblN0YXRlKCkpOworCQlHZXRD dXJyZW50VHJhbnNhY3Rpb25JZCgpOworCX0KKworCXhscmVjLmRiSWQgPSBNeURhdGFiYXNlSWQ7 CisJeGxyZWMudHJhbnNhY3Rpb25hbCA9IHRyYW5zYWN0aW9uYWw7CisJLyogdHJhaWxpbmcgemVy byBpcyBjcml0aWNhbDsgc2VlIGxvZ2ljYWxkZGxtc2dfZGVzYyAqLworCXhscmVjLnByZWZpeF9z aXplID0gc3RybGVuKHByZWZpeCkgKyAxOworCXhscmVjLnJvbGVfc2l6ZSA9IHN0cmxlbihyb2xl KSArIDE7CisJeGxyZWMuc2VhcmNoX3BhdGhfc2l6ZSA9IHN0cmxlbihuYW1lc3BhY2Vfc2VhcmNo X3BhdGgpICsgMTsKKwl4bHJlYy5tZXNzYWdlX3NpemUgPSBzaXplOworCisJWExvZ0JlZ2luSW5z ZXJ0KCk7CisJWExvZ1JlZ2lzdGVyRGF0YSgoY2hhciAqKSAmeGxyZWMsIFNpemVPZkxvZ2ljYWxE RExNZXNzYWdlKTsKKwlYTG9nUmVnaXN0ZXJEYXRhKHVuY29uc3RpZnkoY2hhciAqLCBwcmVmaXgp LCB4bHJlYy5wcmVmaXhfc2l6ZSk7CisJWExvZ1JlZ2lzdGVyRGF0YSh1bmNvbnN0aWZ5KGNoYXIg Kiwgcm9sZSksIHhscmVjLnJvbGVfc2l6ZSk7CisJWExvZ1JlZ2lzdGVyRGF0YShuYW1lc3BhY2Vf c2VhcmNoX3BhdGgsIHhscmVjLnNlYXJjaF9wYXRoX3NpemUpOworCVhMb2dSZWdpc3RlckRhdGEo dW5jb25zdGlmeShjaGFyICosIG1lc3NhZ2UpLCBzaXplKTsKKworCS8qIGFsbG93IG9yaWdpbiBm aWx0ZXJpbmcgKi8KKwlYTG9nU2V0UmVjb3JkRmxhZ3MoWExPR19JTkNMVURFX09SSUdJTik7CisK KwlyZXR1cm4gWExvZ0luc2VydChSTV9MT0dJQ0FMRERMTVNHX0lELCBYTE9HX0xPR0lDQUxfRERM X01FU1NBR0UpOworfQorCisvKgorICogUmVkbyBpcyBiYXNpY2FsbHkganVzdCBub29wIGZvciBs b2dpY2FsIGRlY29kaW5nIGRkbCBtZXNzYWdlcy4KKyAqLwordm9pZAorbG9naWNhbGRkbG1zZ19y ZWRvKFhMb2dSZWFkZXJTdGF0ZSAqcmVjb3JkKQoreworCXVpbnQ4CQlpbmZvID0gWExvZ1JlY0dl dEluZm8ocmVjb3JkKSAmIH5YTFJfSU5GT19NQVNLOworCisJaWYgKGluZm8gIT0gWExPR19MT0dJ Q0FMX0RETF9NRVNTQUdFKQorCQllbG9nKFBBTklDLCAibG9naWNhbGRkbG1zZ19yZWRvOiB1bmtu b3duIG9wIGNvZGUgJXUiLCBpbmZvKTsKKworCS8qIFRoaXMgaXMgb25seSBpbnRlcmVzdGluZyBm b3IgbG9naWNhbCBkZWNvZGluZywgc2VlIGRlY29kZS5jLiAqLworfQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZWNvZGUuYyBiL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvZGVjb2RlLmMKaW5kZXggYWEyNDI3YmE3My4uMDM0YzdmMjQxMyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZWNvZGUuYworKysgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RlY29kZS5jCkBAIC0zNiw2ICszNiw3IEBA CiAjaW5jbHVkZSAiYWNjZXNzL3hsb2d1dGlscy5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfY29u dHJvbC5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL2RlY29kZS5oIgorI2luY2x1ZGUgInJlcGxp Y2F0aW9uL2RkbG1lc3NhZ2UuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2FsLmgiCiAj aW5jbHVkZSAicmVwbGljYXRpb24vbWVzc2FnZS5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL29y aWdpbi5oIgpAQCAtNjAzLDYgKzYwNCw2MSBAQCBsb2dpY2FsbXNnX2RlY29kZShMb2dpY2FsRGVj b2RpbmdDb250ZXh0ICpjdHgsIFhMb2dSZWNvcmRCdWZmZXIgKmJ1ZikKIAkJCQkJCQkgIG1lc3Nh Z2UtPm1lc3NhZ2UgKyBtZXNzYWdlLT5wcmVmaXhfc2l6ZSk7CiB9CiAKKy8qCisgKiBIYW5kbGUg cm1nciBMT0dJQ0FMRERMTVNHX0lEIHJlY29yZHMgZm9yIERlY29kZVJlY29yZEludG9SZW9yZGVy QnVmZmVyKCkuCisgKi8KK3ZvaWQKK2xvZ2ljYWxkZGxtc2dfZGVjb2RlKExvZ2ljYWxEZWNvZGlu Z0NvbnRleHQgKmN0eCwgWExvZ1JlY29yZEJ1ZmZlciAqYnVmKQoreworCVNuYXBCdWlsZCAgKmJ1 aWxkZXIgPSBjdHgtPnNuYXBzaG90X2J1aWxkZXI7CisJWExvZ1JlYWRlclN0YXRlICpyID0gYnVm LT5yZWNvcmQ7CisJVHJhbnNhY3Rpb25JZCB4aWQgPSBYTG9nUmVjR2V0WGlkKHIpOworCXVpbnQ4 CQlpbmZvID0gWExvZ1JlY0dldEluZm8ocikgJiB+WExSX0lORk9fTUFTSzsKKwlSZXBPcmlnaW5J ZCBvcmlnaW5faWQgPSBYTG9nUmVjR2V0T3JpZ2luKHIpOworCVNuYXBzaG90CXNuYXBzaG90Owor CXhsX2xvZ2ljYWxfZGRsX21lc3NhZ2UgKm1lc3NhZ2U7CisKKwlpZiAoaW5mbyAhPSBYTE9HX0xP R0lDQUxfRERMX01FU1NBR0UpCisJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIFJNX0xPR0lDQUxE RExNU0dfSUQgcmVjb3JkIHR5cGU6ICV1IiwgaW5mbyk7CisKKwlSZW9yZGVyQnVmZmVyUHJvY2Vz c1hpZChjdHgtPnJlb3JkZXIsIFhMb2dSZWNHZXRYaWQociksIGJ1Zi0+b3JpZ3B0cik7CisKKwkv KgorCSAqIElmIHdlIGRvbid0IGhhdmUgc25hcHNob3Qgb3Igd2UgYXJlIGp1c3QgZmFzdC1mb3J3 YXJkaW5nLCB0aGVyZSBpcyBubworCSAqIHBvaW50IGluIGRlY29kaW5nIGRkbCBtZXNzYWdlcy4K KwkgKi8KKwlpZiAoU25hcEJ1aWxkQ3VycmVudFN0YXRlKGJ1aWxkZXIpIDwgU05BUEJVSUxEX0ZV TExfU05BUFNIT1QgfHwKKwkJY3R4LT5mYXN0X2ZvcndhcmQpCisJCXJldHVybjsKKworCW1lc3Nh Z2UgPSAoeGxfbG9naWNhbF9kZGxfbWVzc2FnZSAqKSBYTG9nUmVjR2V0RGF0YShyKTsKKworCWlm IChtZXNzYWdlLT5kYklkICE9IGN0eC0+c2xvdC0+ZGF0YS5kYXRhYmFzZSB8fAorCQlGaWx0ZXJC eU9yaWdpbihjdHgsIG9yaWdpbl9pZCkpCisJCXJldHVybjsKKworCWlmIChtZXNzYWdlLT50cmFu c2FjdGlvbmFsICYmCisJCSFTbmFwQnVpbGRQcm9jZXNzQ2hhbmdlKGJ1aWxkZXIsIHhpZCwgYnVm LT5vcmlncHRyKSkKKwkJcmV0dXJuOworCWVsc2UgaWYgKCFtZXNzYWdlLT50cmFuc2FjdGlvbmFs ICYmCisJCQkgKFNuYXBCdWlsZEN1cnJlbnRTdGF0ZShidWlsZGVyKSAhPSBTTkFQQlVJTERfQ09O U0lTVEVOVCB8fAorCQkJICBTbmFwQnVpbGRYYWN0TmVlZHNTa2lwKGJ1aWxkZXIsIGJ1Zi0+b3Jp Z3B0cikpKQorCQlyZXR1cm47CisKKwlzbmFwc2hvdCA9IFNuYXBCdWlsZEdldE9yQnVpbGRTbmFw c2hvdChidWlsZGVyLCB4aWQpOworCVJlb3JkZXJCdWZmZXJRdWV1ZURETE1lc3NhZ2UoY3R4LT5y ZW9yZGVyLCB4aWQsIHNuYXBzaG90LCBidWYtPmVuZHB0ciwKKwkJCQkJCQkgIG1lc3NhZ2UtPnRy YW5zYWN0aW9uYWwsCisJCQkJCQkJICBtZXNzYWdlLT5tZXNzYWdlLAorCQkJCQkJCSAgLyogZmly c3QgcGFydCBvZiBtZXNzYWdlIGlzIHByZWZpeCAqLworCQkJCQkJCSAgbWVzc2FnZS0+bWVzc2Fn ZSArIG1lc3NhZ2UtPnByZWZpeF9zaXplLAorCQkJCQkJCSAgLyogU2Vjb25kIHBhcnQgb2YgbWVz c2FnZSBpcyByb2xlKi8KKwkJCQkJCQkgIG1lc3NhZ2UtPm1lc3NhZ2UgKyBtZXNzYWdlLT5wcmVm aXhfc2l6ZSArIG1lc3NhZ2UtPnJvbGVfc2l6ZSwKKwkJCQkJCQkgIC8qIFRoaXJkIHBhcnQgb2Yg bWVzc2FnZSBpcyBzZWFyY2hfcGF0aCAqLworCQkJCQkJCSAgbWVzc2FnZS0+bWVzc2FnZV9zaXpl LAorCQkJCQkJCSAgbWVzc2FnZS0+bWVzc2FnZSArIG1lc3NhZ2UtPnByZWZpeF9zaXplICsKKwkJ CQkJCQkgIG1lc3NhZ2UtPnJvbGVfc2l6ZSArIG1lc3NhZ2UtPnNlYXJjaF9wYXRoX3NpemUpOwor fQorCiAvKgogICogQ29uc29saWRhdGVkIGNvbW1pdCByZWNvcmQgaGFuZGxpbmcgYmV0d2VlbiB0 aGUgZGlmZmVyZW50IGZvcm0gb2YgY29tbWl0CiAgKiByZWNvcmRzLgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9sb2dpY2FsLmMgYi9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYwppbmRleCA2MjVhN2Y0MjczLi4zMDA0ZjAyNDMzIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYwpAQCAtNzMsNiArNzMs MTAgQEAgc3RhdGljIHZvaWQgdHJ1bmNhdGVfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVyICpjYWNo ZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogc3RhdGljIHZvaWQgbWVzc2FnZV9jYl93cmFwcGVy KFJlb3JkZXJCdWZmZXIgKmNhY2hlLCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJCQkJCQkJICAg WExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAogCQkJCQkJCSAgIGNv bnN0IGNoYXIgKnByZWZpeCwgU2l6ZSBtZXNzYWdlX3NpemUsIGNvbnN0IGNoYXIgKm1lc3NhZ2Up Oworc3RhdGljIHZvaWQgZGRsbWVzc2FnZV9jYl93cmFwcGVyKFJlb3JkZXJCdWZmZXIgKmNhY2hl LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCisJCQkJCQkJCSAgWExvZ1JlY1B0ciBtZXNzYWdlX2xz biwgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCQkJCQkgIGNvbnN0IGNoYXIgKnByZWZpeCwgY29u c3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAqc2VhcmNoX3BhdGgsCisJCQkJCQkJCSAgU2l6ZSBt ZXNzYWdlX3NpemUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogCiAvKiBzdHJlYW1pbmcgY2FsbGJh Y2tzICovCiBzdGF0aWMgdm9pZCBzdHJlYW1fc3RhcnRfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVy ICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLApAQCAtOTAsNiArOTQsMTAgQEAgc3RhdGlj IHZvaWQgc3RyZWFtX2NoYW5nZV9jYl93cmFwcGVyKFJlb3JkZXJCdWZmZXIgKmNhY2hlLCBSZW9y ZGVyQnVmZmVyVFhOICp0eG4KIHN0YXRpYyB2b2lkIHN0cmVhbV9tZXNzYWdlX2NiX3dyYXBwZXIo UmVvcmRlckJ1ZmZlciAqY2FjaGUsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCQkJCQkJCSAg WExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAogCQkJCQkJCQkJICBj b25zdCBjaGFyICpwcmVmaXgsIFNpemUgbWVzc2FnZV9zaXplLCBjb25zdCBjaGFyICptZXNzYWdl KTsKK3N0YXRpYyB2b2lkIHN0cmVhbV9kZGxtZXNzYWdlX2NiX3dyYXBwZXIoUmVvcmRlckJ1ZmZl ciAqY2FjaGUsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKKwkJCQkJCQkJCQkgWExvZ1JlY1B0ciBt ZXNzYWdlX2xzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCQkJCQkJCSBjb25zdCBjaGFyICpw cmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAorCQkJCQkJ CQkJCSBTaXplIG1lc3NhZ2Vfc2l6ZSwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiBzdGF0aWMgdm9p ZCBzdHJlYW1fdHJ1bmNhdGVfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVyICpjYWNoZSwgUmVvcmRl ckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkJCQkJICAgaW50IG5yZWxhdGlvbnMsIFJlbGF0aW9uIHJl bGF0aW9uc1tdLCBSZW9yZGVyQnVmZmVyQ2hhbmdlICpjaGFuZ2UpOwogCkBAIC0yMTgsNiArMjI2 LDcgQEAgU3RhcnR1cERlY29kaW5nQ29udGV4dChMaXN0ICpvdXRwdXRfcGx1Z2luX29wdGlvbnMs CiAJY3R4LT5yZW9yZGVyLT5hcHBseV90cnVuY2F0ZSA9IHRydW5jYXRlX2NiX3dyYXBwZXI7CiAJ Y3R4LT5yZW9yZGVyLT5jb21taXQgPSBjb21taXRfY2Jfd3JhcHBlcjsKIAljdHgtPnJlb3JkZXIt Pm1lc3NhZ2UgPSBtZXNzYWdlX2NiX3dyYXBwZXI7CisJY3R4LT5yZW9yZGVyLT5kZGxtZXNzYWdl ID0gZGRsbWVzc2FnZV9jYl93cmFwcGVyOwogCiAJLyoKIAkgKiBUbyBzdXBwb3J0IHN0cmVhbWlu Zywgd2UgcmVxdWlyZSBzdGFydC9zdG9wL2Fib3J0L2NvbW1pdC9jaGFuZ2UKQEAgLTIzNCw2ICsy NDMsNyBAQCBTdGFydHVwRGVjb2RpbmdDb250ZXh0KExpc3QgKm91dHB1dF9wbHVnaW5fb3B0aW9u cywKIAkJKGN0eC0+Y2FsbGJhY2tzLnN0cmVhbV9jb21taXRfY2IgIT0gTlVMTCkgfHwKIAkJKGN0 eC0+Y2FsbGJhY2tzLnN0cmVhbV9jaGFuZ2VfY2IgIT0gTlVMTCkgfHwKIAkJKGN0eC0+Y2FsbGJh Y2tzLnN0cmVhbV9tZXNzYWdlX2NiICE9IE5VTEwpIHx8CisJCShjdHgtPmNhbGxiYWNrcy5zdHJl YW1fZGRsbWVzc2FnZV9jYiAhPSBOVUxMKSB8fAogCQkoY3R4LT5jYWxsYmFja3Muc3RyZWFtX3Ry dW5jYXRlX2NiICE9IE5VTEwpOwogCiAJLyoKQEAgLTI1MSw2ICsyNjEsNyBAQCBTdGFydHVwRGVj b2RpbmdDb250ZXh0KExpc3QgKm91dHB1dF9wbHVnaW5fb3B0aW9ucywKIAljdHgtPnJlb3JkZXIt PnN0cmVhbV9jb21taXQgPSBzdHJlYW1fY29tbWl0X2NiX3dyYXBwZXI7CiAJY3R4LT5yZW9yZGVy LT5zdHJlYW1fY2hhbmdlID0gc3RyZWFtX2NoYW5nZV9jYl93cmFwcGVyOwogCWN0eC0+cmVvcmRl ci0+c3RyZWFtX21lc3NhZ2UgPSBzdHJlYW1fbWVzc2FnZV9jYl93cmFwcGVyOworCWN0eC0+cmVv cmRlci0+c3RyZWFtX2RkbG1lc3NhZ2UgPSBzdHJlYW1fZGRsbWVzc2FnZV9jYl93cmFwcGVyOwog CWN0eC0+cmVvcmRlci0+c3RyZWFtX3RydW5jYXRlID0gc3RyZWFtX3RydW5jYXRlX2NiX3dyYXBw ZXI7CiAKIApAQCAtMTIyMCw2ICsxMjMxLDQ0IEBAIG1lc3NhZ2VfY2Jfd3JhcHBlcihSZW9yZGVy QnVmZmVyICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCWVycm9yX2NvbnRleHRfc3Rh Y2sgPSBlcnJjYWxsYmFjay5wcmV2aW91czsKIH0KIAorc3RhdGljIHZvaWQKK2RkbG1lc3NhZ2Vf Y2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVyICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAor CQkJCQkgIFhMb2dSZWNQdHIgbWVzc2FnZV9sc24sIGJvb2wgdHJhbnNhY3Rpb25hbCwKKwkJCQkJ ICBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsCisJCQkJCSAgY29uc3QgY2hh ciAqc2VhcmNoX3BhdGgsIFNpemUgbWVzc2FnZV9zaXplLAorCQkJCQkgIGNvbnN0IGNoYXIgKm1l c3NhZ2UpCit7CisJTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4ID0gY2FjaGUtPnByaXZhdGVf ZGF0YTsKKwlMb2dpY2FsRXJyb3JDYWxsYmFja1N0YXRlIHN0YXRlOworCUVycm9yQ29udGV4dENh bGxiYWNrIGVycmNhbGxiYWNrOworCisJQXNzZXJ0KCFjdHgtPmZhc3RfZm9yd2FyZCk7CisKKwlp ZiAoY3R4LT5jYWxsYmFja3MuZGRsbWVzc2FnZV9jYiA9PSBOVUxMKQorCQlyZXR1cm47CisKKwkv KiBQdXNoIGNhbGxiYWNrICsgaW5mbyBvbiB0aGUgZXJyb3IgY29udGV4dCBzdGFjayAqLworCXN0 YXRlLmN0eCA9IGN0eDsKKwlzdGF0ZS5jYWxsYmFja19uYW1lID0gImRkbG1lc3NhZ2UiOworCXN0 YXRlLnJlcG9ydF9sb2NhdGlvbiA9IG1lc3NhZ2VfbHNuOworCWVycmNhbGxiYWNrLmNhbGxiYWNr ID0gb3V0cHV0X3BsdWdpbl9lcnJvcl9jYWxsYmFjazsKKwllcnJjYWxsYmFjay5hcmcgPSAodm9p ZCAqKSAmc3RhdGU7CisJZXJyY2FsbGJhY2sucHJldmlvdXMgPSBlcnJvcl9jb250ZXh0X3N0YWNr OworCWVycm9yX2NvbnRleHRfc3RhY2sgPSAmZXJyY2FsbGJhY2s7CisKKwkvKiBzZXQgb3V0cHV0 IHN0YXRlICovCisJY3R4LT5hY2NlcHRfd3JpdGVzID0gdHJ1ZTsKKwljdHgtPndyaXRlX3hpZCA9 IHR4biAhPSBOVUxMID8gdHhuLT54aWQgOiBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKKwljdHgtPndy aXRlX2xvY2F0aW9uID0gbWVzc2FnZV9sc247CisKKwkvKiBkbyB0aGUgYWN0dWFsIHdvcms6IGNh bGwgY2FsbGJhY2sgKi8KKwljdHgtPmNhbGxiYWNrcy5kZGxtZXNzYWdlX2NiKGN0eCwgdHhuLCBt ZXNzYWdlX2xzbiwgdHJhbnNhY3Rpb25hbCwgcHJlZml4LAorCQkJCQkJCQkgcm9sZSwgc2VhcmNo X3BhdGgsIG1lc3NhZ2Vfc2l6ZSwgbWVzc2FnZSk7CisKKwkvKiBQb3AgdGhlIGVycm9yIGNvbnRl eHQgc3RhY2sgKi8KKwllcnJvcl9jb250ZXh0X3N0YWNrID0gZXJyY2FsbGJhY2sucHJldmlvdXM7 Cit9CisKIHN0YXRpYyB2b2lkCiBzdHJlYW1fc3RhcnRfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVy ICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkJWExvZ1JlY1B0ciBmaXJzdF9s c24pCkBAIC0xNTM1LDYgKzE1ODQsNDggQEAgc3RyZWFtX21lc3NhZ2VfY2Jfd3JhcHBlcihSZW9y ZGVyQnVmZmVyICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCWVycm9yX2NvbnRleHRf c3RhY2sgPSBlcnJjYWxsYmFjay5wcmV2aW91czsKIH0KIAorc3RhdGljIHZvaWQKK3N0cmVhbV9k ZGxtZXNzYWdlX2NiX3dyYXBwZXIoUmVvcmRlckJ1ZmZlciAqY2FjaGUsIFJlb3JkZXJCdWZmZXJU WE4gKnR4biwKKwkJCQkJCQkgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgYm9vbCB0cmFuc2FjdGlv bmFsLAorCQkJCQkJCSBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsCisJCQkJ CQkJIGNvbnN0IGNoYXIqIHNlYXJjaF9wYXRoLCBTaXplIG1lc3NhZ2Vfc2l6ZSwKKwkJCQkJCQkg Y29uc3QgY2hhciAqbWVzc2FnZSkKK3sKKwlMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHggPSBj YWNoZS0+cHJpdmF0ZV9kYXRhOworCUxvZ2ljYWxFcnJvckNhbGxiYWNrU3RhdGUgc3RhdGU7CisJ RXJyb3JDb250ZXh0Q2FsbGJhY2sgZXJyY2FsbGJhY2s7CisKKwlBc3NlcnQoIWN0eC0+ZmFzdF9m b3J3YXJkKTsKKworCS8qIFdlJ3JlIG9ubHkgc3VwcG9zZWQgdG8gY2FsbCB0aGlzIHdoZW4gc3Ry ZWFtaW5nIGlzIHN1cHBvcnRlZC4gKi8KKwlBc3NlcnQoY3R4LT5zdHJlYW1pbmcpOworCisJLyog dGhpcyBjYWxsYmFjayBpcyBvcHRpb25hbCAqLworCWlmIChjdHgtPmNhbGxiYWNrcy5zdHJlYW1f ZGRsbWVzc2FnZV9jYiA9PSBOVUxMKQorCQlyZXR1cm47CisKKwkvKiBQdXNoIGNhbGxiYWNrICsg aW5mbyBvbiB0aGUgZXJyb3IgY29udGV4dCBzdGFjayAqLworCXN0YXRlLmN0eCA9IGN0eDsKKwlz dGF0ZS5jYWxsYmFja19uYW1lID0gInN0cmVhbV9kZGxtZXNzYWdlIjsKKwlzdGF0ZS5yZXBvcnRf bG9jYXRpb24gPSBtZXNzYWdlX2xzbjsKKwllcnJjYWxsYmFjay5jYWxsYmFjayA9IG91dHB1dF9w bHVnaW5fZXJyb3JfY2FsbGJhY2s7CisJZXJyY2FsbGJhY2suYXJnID0gKHZvaWQgKikgJnN0YXRl OworCWVycmNhbGxiYWNrLnByZXZpb3VzID0gZXJyb3JfY29udGV4dF9zdGFjazsKKwllcnJvcl9j b250ZXh0X3N0YWNrID0gJmVycmNhbGxiYWNrOworCisJLyogc2V0IG91dHB1dCBzdGF0ZSAqLwor CWN0eC0+YWNjZXB0X3dyaXRlcyA9IHRydWU7CisJY3R4LT53cml0ZV94aWQgPSB0eG4gIT0gTlVM TCA/IHR4bi0+eGlkIDogSW52YWxpZFRyYW5zYWN0aW9uSWQ7CisJY3R4LT53cml0ZV9sb2NhdGlv biA9IG1lc3NhZ2VfbHNuOworCisJLyogZG8gdGhlIGFjdHVhbCB3b3JrOiBjYWxsIGNhbGxiYWNr ICovCisJY3R4LT5jYWxsYmFja3Muc3RyZWFtX2RkbG1lc3NhZ2VfY2IoY3R4LCB0eG4sIG1lc3Nh Z2VfbHNuLCB0cmFuc2FjdGlvbmFsLCBwcmVmaXgsCisJCQkJCQkJCQkJcm9sZSwgc2VhcmNoX3Bh dGgsIG1lc3NhZ2Vfc2l6ZSwgbWVzc2FnZSk7CisKKwkvKiBQb3AgdGhlIGVycm9yIGNvbnRleHQg c3RhY2sgKi8KKwllcnJvcl9jb250ZXh0X3N0YWNrID0gZXJyY2FsbGJhY2sucHJldmlvdXM7Cit9 CisKIHN0YXRpYyB2b2lkCiBzdHJlYW1fdHJ1bmNhdGVfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVy ICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkJICAgaW50IG5yZWxhdGlvbnMs IFJlbGF0aW9uIHJlbGF0aW9uc1tdLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRp b24vbG9naWNhbC9yZW9yZGVyYnVmZmVyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp Y2FsL3Jlb3JkZXJidWZmZXIuYwppbmRleCA4ZGE1ZjkwODljLi5jYTAxMzM2NjA0IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Jlb3JkZXJidWZmZXIuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Jlb3JkZXJidWZmZXIuYwpAQCAtNTEy LDYgKzUxMiwyMCBAQCBSZW9yZGVyQnVmZmVyUmV0dXJuQ2hhbmdlKFJlb3JkZXJCdWZmZXIgKnJi LCBSZW9yZGVyQnVmZmVyQ2hhbmdlICpjaGFuZ2UsCiAJCQkJcGZyZWUoY2hhbmdlLT5kYXRhLm1z Zy5tZXNzYWdlKTsKIAkJCWNoYW5nZS0+ZGF0YS5tc2cubWVzc2FnZSA9IE5VTEw7CiAJCQlicmVh azsKKwkJY2FzZSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfRERMTUVTU0FHRToKKwkJCWlmIChjaGFu Z2UtPmRhdGEuZGRsbXNnLnByZWZpeCAhPSBOVUxMKQorCQkJCXBmcmVlKGNoYW5nZS0+ZGF0YS5k ZGxtc2cucHJlZml4KTsKKwkJCWNoYW5nZS0+ZGF0YS5kZGxtc2cucHJlZml4ID0gTlVMTDsKKwkJ CWlmIChjaGFuZ2UtPmRhdGEuZGRsbXNnLnJvbGUgIT0gTlVMTCkKKwkJCQlwZnJlZShjaGFuZ2Ut PmRhdGEuZGRsbXNnLnJvbGUpOworCQkJY2hhbmdlLT5kYXRhLmRkbG1zZy5yb2xlID0gTlVMTDsK KwkJCWlmIChjaGFuZ2UtPmRhdGEuZGRsbXNnLnNlYXJjaF9wYXRoICE9IE5VTEwpCisJCQkJcGZy ZWUoY2hhbmdlLT5kYXRhLmRkbG1zZy5zZWFyY2hfcGF0aCk7CisJCQljaGFuZ2UtPmRhdGEuZGRs bXNnLnNlYXJjaF9wYXRoID0gTlVMTDsKKwkJCWlmIChjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3Nh Z2UgIT0gTlVMTCkKKwkJCQlwZnJlZShjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2UpOworCQkJ Y2hhbmdlLT5kYXRhLmRkbG1zZy5tZXNzYWdlID0gTlVMTDsKKwkJCWJyZWFrOwogCQljYXNlIFJF T1JERVJfQlVGRkVSX0NIQU5HRV9JTlZBTElEQVRJT046CiAJCQlpZiAoY2hhbmdlLT5kYXRhLmlu dmFsLmludmFsaWRhdGlvbnMpCiAJCQkJcGZyZWUoY2hhbmdlLT5kYXRhLmludmFsLmludmFsaWRh dGlvbnMpOwpAQCAtODY2LDYgKzg4MCw2NCBAQCBSZW9yZGVyQnVmZmVyUXVldWVNZXNzYWdlKFJl b3JkZXJCdWZmZXIgKnJiLCBUcmFuc2FjdGlvbklkIHhpZCwKIAl9CiB9CiAKKy8qCisgKiBBIHRy YW5zYWN0aW9uYWwgRERMIG1lc3NhZ2UgaXMgcXVldWVkIHRvIGJlIHByb2Nlc3NlZCB1cG9uIGNv bW1pdCBhbmQgYQorICogbm9uLXRyYW5zYWN0aW9uYWwgRERMIG1lc3NhZ2UgZ2V0cyBwcm9jZXNz ZWQgaW1tZWRpYXRlbHkuCisgKi8KK3ZvaWQKK1Jlb3JkZXJCdWZmZXJRdWV1ZURETE1lc3NhZ2Uo UmVvcmRlckJ1ZmZlciAqcmIsIFRyYW5zYWN0aW9uSWQgeGlkLAorCQkJCQkJICBTbmFwc2hvdCBz bmFwc2hvdCwgWExvZ1JlY1B0ciBsc24sCisJCQkJCQkgIGJvb2wgdHJhbnNhY3Rpb25hbCwgY29u c3QgY2hhciAqcHJlZml4LAorCQkJCQkJICBjb25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpz ZWFyY2hfcGF0aCwKKwkJCQkJCSAgU2l6ZSBtZXNzYWdlX3NpemUsIGNvbnN0IGNoYXIgKm1lc3Nh Z2UpCit7CisJaWYgKHRyYW5zYWN0aW9uYWwpCisJeworCQlNZW1vcnlDb250ZXh0IG9sZGNvbnRl eHQ7CisJCVJlb3JkZXJCdWZmZXJDaGFuZ2UgKmNoYW5nZTsKKworCQlBc3NlcnQoeGlkICE9IElu dmFsaWRUcmFuc2FjdGlvbklkKTsKKworCQlvbGRjb250ZXh0ID0gTWVtb3J5Q29udGV4dFN3aXRj aFRvKHJiLT5jb250ZXh0KTsKKworCQljaGFuZ2UgPSBSZW9yZGVyQnVmZmVyR2V0Q2hhbmdlKHJi KTsKKwkJY2hhbmdlLT5hY3Rpb24gPSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfRERMTUVTU0FHRTsK KwkJY2hhbmdlLT5kYXRhLmRkbG1zZy5wcmVmaXggPSBwc3RyZHVwKHByZWZpeCk7CisJCWNoYW5n ZS0+ZGF0YS5kZGxtc2cucm9sZSA9IHBzdHJkdXAocm9sZSk7CisJCWNoYW5nZS0+ZGF0YS5kZGxt c2cuc2VhcmNoX3BhdGggPSBwc3RyZHVwKHNlYXJjaF9wYXRoKTsKKwkJY2hhbmdlLT5kYXRhLmRk bG1zZy5tZXNzYWdlX3NpemUgPSBtZXNzYWdlX3NpemU7CisJCWNoYW5nZS0+ZGF0YS5kZGxtc2cu bWVzc2FnZSA9IHBhbGxvYyhtZXNzYWdlX3NpemUpOworCQltZW1jcHkoY2hhbmdlLT5kYXRhLmRk bG1zZy5tZXNzYWdlLCBtZXNzYWdlLCBtZXNzYWdlX3NpemUpOworCisJCVJlb3JkZXJCdWZmZXJR dWV1ZUNoYW5nZShyYiwgeGlkLCBsc24sIGNoYW5nZSwgZmFsc2UpOworCisJCU1lbW9yeUNvbnRl eHRTd2l0Y2hUbyhvbGRjb250ZXh0KTsKKwl9CisJZWxzZQorCXsKKwkJUmVvcmRlckJ1ZmZlclRY TiAqdHhuID0gTlVMTDsKKwkJdm9sYXRpbGUgU25hcHNob3Qgc25hcHNob3Rfbm93ID0gc25hcHNo b3Q7CisKKwkJaWYgKHhpZCAhPSBJbnZhbGlkVHJhbnNhY3Rpb25JZCkKKwkJCXR4biA9IFJlb3Jk ZXJCdWZmZXJUWE5CeVhpZChyYiwgeGlkLCB0cnVlLCBOVUxMLCBsc24sIHRydWUpOworCisJCS8q IHNldHVwIHNuYXBzaG90IHRvIGFsbG93IGNhdGFsb2cgYWNjZXNzICovCisJCVNldHVwSGlzdG9y aWNTbmFwc2hvdChzbmFwc2hvdF9ub3csIE5VTEwpOworCQlQR19UUlkoKTsKKwkJeworCQkJcmIt PmRkbG1lc3NhZ2UocmIsIHR4biwgbHNuLCBmYWxzZSwgcHJlZml4LCByb2xlLCBzZWFyY2hfcGF0 aCwgbWVzc2FnZV9zaXplLCBtZXNzYWdlKTsKKworCQkJVGVhcmRvd25IaXN0b3JpY1NuYXBzaG90 KGZhbHNlKTsKKwkJfQorCQlQR19DQVRDSCgpOworCQl7CisJCQlUZWFyZG93bkhpc3RvcmljU25h cHNob3QodHJ1ZSk7CisJCQlQR19SRV9USFJPVygpOworCQl9CisJCVBHX0VORF9UUlkoKTsKKwl9 Cit9CisKIC8qCiAgKiBBc3NlcnRUWE5Mc25PcmRlcgogICoJCVZlcmlmeSBMU04gb3JkZXJpbmcg b2YgdHJhbnNhY3Rpb24gbGlzdHMgaW4gdGhlIHJlb3JkZXJidWZmZXIKQEAgLTE5NTcsNiArMjAy OSwyOSBAQCBSZW9yZGVyQnVmZmVyQXBwbHlNZXNzYWdlKFJlb3JkZXJCdWZmZXIgKnJiLCBSZW9y ZGVyQnVmZmVyVFhOICp0eG4sCiAJCQkJCWNoYW5nZS0+ZGF0YS5tc2cubWVzc2FnZSk7CiB9CiAK Ky8qCisgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIFJlb3JkZXJCdWZmZXJQcm9jZXNzVFhOIGZvciBh cHBseWluZyB0aGUgRERMIG1lc3NhZ2UuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZAorUmVvcmRl ckJ1ZmZlckFwcGx5RERMTWVzc2FnZShSZW9yZGVyQnVmZmVyICpyYiwgUmVvcmRlckJ1ZmZlclRY TiAqdHhuLAorCQkJCQkJCSBSZW9yZGVyQnVmZmVyQ2hhbmdlICpjaGFuZ2UsIGJvb2wgc3RyZWFt aW5nKQoreworCWlmIChzdHJlYW1pbmcpCisJCXJiLT5zdHJlYW1fZGRsbWVzc2FnZShyYiwgdHhu LCBjaGFuZ2UtPmxzbiwgdHJ1ZSwKKwkJCQkJCQkgIGNoYW5nZS0+ZGF0YS5kZGxtc2cucHJlZml4 LAorCQkJCQkJCSAgY2hhbmdlLT5kYXRhLmRkbG1zZy5yb2xlLAorCQkJCQkJCSAgY2hhbmdlLT5k YXRhLmRkbG1zZy5zZWFyY2hfcGF0aCwKKwkJCQkJCQkgIGNoYW5nZS0+ZGF0YS5kZGxtc2cubWVz c2FnZV9zaXplLAorCQkJCQkJCSAgY2hhbmdlLT5kYXRhLmRkbG1zZy5tZXNzYWdlKTsKKwllbHNl CisJCXJiLT5kZGxtZXNzYWdlKHJiLCB0eG4sIGNoYW5nZS0+bHNuLCB0cnVlLAorCQkJCQkgICBj aGFuZ2UtPmRhdGEuZGRsbXNnLnByZWZpeCwKKwkJCQkJICAgY2hhbmdlLT5kYXRhLmRkbG1zZy5y b2xlLAorCQkJCQkgICBjaGFuZ2UtPmRhdGEuZGRsbXNnLnNlYXJjaF9wYXRoLAorCQkJCQkgICBj aGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2Vfc2l6ZSwKKwkJCQkJICAgY2hhbmdlLT5kYXRhLmRk bG1zZy5tZXNzYWdlKTsKK30KKwogLyoKICAqIEZ1bmN0aW9uIHRvIHN0b3JlIHRoZSBjb21tYW5k IGlkIGFuZCBzbmFwc2hvdCBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50CiAgKiBzdHJlYW0gc28g dGhhdCB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgd2hpbGUgc2VuZGluZyB0aGUgbmV4dCBzdHJlYW0u CkBAIC0yMzM1LDYgKzI0MzAsMTAgQEAgUmVvcmRlckJ1ZmZlclByb2Nlc3NUWE4oUmVvcmRlckJ1 ZmZlciAqcmIsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCQkJUmVvcmRlckJ1ZmZlckFwcGx5 TWVzc2FnZShyYiwgdHhuLCBjaGFuZ2UsIHN0cmVhbWluZyk7CiAJCQkJCWJyZWFrOwogCisJCQkJ Y2FzZSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfRERMTUVTU0FHRToKKwkJCQkJUmVvcmRlckJ1ZmZl ckFwcGx5RERMTWVzc2FnZShyYiwgdHhuLCBjaGFuZ2UsIHN0cmVhbWluZyk7CisJCQkJCWJyZWFr OworCiAJCQkJY2FzZSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfSU5WQUxJREFUSU9OOgogCQkJCQkv KiBFeGVjdXRlIHRoZSBpbnZhbGlkYXRpb24gbWVzc2FnZXMgbG9jYWxseSAqLwogCQkJCQlSZW9y ZGVyQnVmZmVyRXhlY3V0ZUludmFsaWRhdGlvbnMoY2hhbmdlLT5kYXRhLmludmFsLm5pbnZhbGlk YXRpb25zLApAQCAtMzcwOCw2ICszODA3LDUzIEBAIFJlb3JkZXJCdWZmZXJTZXJpYWxpemVDaGFu Z2UoUmVvcmRlckJ1ZmZlciAqcmIsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCQkJICAgY2hh bmdlLT5kYXRhLm1zZy5tZXNzYWdlX3NpemUpOwogCQkJCWRhdGEgKz0gY2hhbmdlLT5kYXRhLm1z Zy5tZXNzYWdlX3NpemU7CiAKKwkJCQlicmVhazsKKwkJCX0KKwkJY2FzZSBSRU9SREVSX0JVRkZF Ul9DSEFOR0VfRERMTUVTU0FHRToKKwkJCXsKKwkJCQljaGFyCSAgICpkYXRhOworCQkJCVNpemUJ CXByZWZpeF9zaXplID0gc3RybGVuKGNoYW5nZS0+ZGF0YS5kZGxtc2cucHJlZml4KSArIDE7CisJ CQkJU2l6ZQkJcm9sZV9zaXplID0gc3RybGVuKGNoYW5nZS0+ZGF0YS5kZGxtc2cucm9sZSkgKyAx OworCQkJCVNpemUJCXNlYXJjaF9wYXRoX3NpemUgPSBzdHJsZW4oY2hhbmdlLT5kYXRhLmRkbG1z Zy5zZWFyY2hfcGF0aCkgKyAxOworCisJCQkJc3ogKz0gcHJlZml4X3NpemUgKyByb2xlX3NpemUg KyBzZWFyY2hfcGF0aF9zaXplICsKKwkJCQkJICBjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2Vf c2l6ZSArCisJCQkJCSAgc2l6ZW9mKFNpemUpICsgc2l6ZW9mKFNpemUpICsgc2l6ZW9mKFNpemUp ICsgc2l6ZW9mKFNpemUpOworCQkJCVJlb3JkZXJCdWZmZXJTZXJpYWxpemVSZXNlcnZlKHJiLCBz eik7CisKKwkJCQlkYXRhID0gKChjaGFyICopIHJiLT5vdXRidWYpICsgc2l6ZW9mKFJlb3JkZXJC dWZmZXJEaXNrQ2hhbmdlKTsKKworCQkJCS8qIG1pZ2h0IGhhdmUgYmVlbiByZWFsbG9jYXRlZCBh Ym92ZSAqLworCQkJCW9uZGlzayA9IChSZW9yZGVyQnVmZmVyRGlza0NoYW5nZSAqKSByYi0+b3V0 YnVmOworCisJCQkJLyogd3JpdGUgdGhlIHByZWZpeCBpbmNsdWRpbmcgdGhlIHNpemUgKi8KKwkJ CQltZW1jcHkoZGF0YSwgJnByZWZpeF9zaXplLCBzaXplb2YoU2l6ZSkpOworCQkJCWRhdGEgKz0g c2l6ZW9mKFNpemUpOworCQkJCW1lbWNweShkYXRhLCBjaGFuZ2UtPmRhdGEuZGRsbXNnLnByZWZp eCwKKwkJCQkJICAgcHJlZml4X3NpemUpOworCQkJCWRhdGEgKz0gcHJlZml4X3NpemU7CisKKwkJ CQkvKiB3cml0ZSB0aGUgcm9sZSBpbmNsdWRpbmcgdGhlIHNpemUgKi8KKwkJCQltZW1jcHkoZGF0 YSwgJnJvbGVfc2l6ZSwgc2l6ZW9mKFNpemUpKTsKKwkJCQlkYXRhICs9IHNpemVvZihTaXplKTsK KwkJCQltZW1jcHkoZGF0YSwgY2hhbmdlLT5kYXRhLmRkbG1zZy5yb2xlLAorCQkJCQkgICByb2xl X3NpemUpOworCQkJCWRhdGEgKz0gcm9sZV9zaXplOworCisJCQkJLyogd3JpdGUgdGhlIHNlYXJj aF9wYXRoIGluY2x1ZGluZyB0aGUgc2l6ZSAqLworCQkJCW1lbWNweShkYXRhLCAmc2VhcmNoX3Bh dGhfc2l6ZSwgc2l6ZW9mKFNpemUpKTsKKwkJCQlkYXRhICs9IHNpemVvZihTaXplKTsKKwkJCQlt ZW1jcHkoZGF0YSwgY2hhbmdlLT5kYXRhLmRkbG1zZy5zZWFyY2hfcGF0aCwKKwkJCQkJICAgc2Vh cmNoX3BhdGhfc2l6ZSk7CisJCQkJZGF0YSArPSBzZWFyY2hfcGF0aF9zaXplOworCisJCQkJLyog d3JpdGUgdGhlIG1lc3NhZ2UgaW5jbHVkaW5nIHRoZSBzaXplICovCisJCQkJbWVtY3B5KGRhdGEs ICZjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2Vfc2l6ZSwgc2l6ZW9mKFNpemUpKTsKKwkJCQlk YXRhICs9IHNpemVvZihTaXplKTsKKwkJCQltZW1jcHkoZGF0YSwgY2hhbmdlLT5kYXRhLmRkbG1z Zy5tZXNzYWdlLAorCQkJCQkgICBjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2Vfc2l6ZSk7CisJ CQkJZGF0YSArPSBjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2Vfc2l6ZTsKKwogCQkJCWJyZWFr OwogCQkJfQogCQljYXNlIFJFT1JERVJfQlVGRkVSX0NIQU5HRV9JTlZBTElEQVRJT046CkBAIC00 MDIyLDYgKzQxNjgsMTggQEAgUmVvcmRlckJ1ZmZlckNoYW5nZVNpemUoUmVvcmRlckJ1ZmZlckNo YW5nZSAqY2hhbmdlKQogCQkJCXN6ICs9IHByZWZpeF9zaXplICsgY2hhbmdlLT5kYXRhLm1zZy5t ZXNzYWdlX3NpemUgKwogCQkJCQlzaXplb2YoU2l6ZSkgKyBzaXplb2YoU2l6ZSk7CiAKKwkJCQli cmVhazsKKwkJCX0KKwkJY2FzZSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfRERMTUVTU0FHRToKKwkJ CXsKKwkJCQlTaXplCQlwcmVmaXhfc2l6ZSA9IHN0cmxlbihjaGFuZ2UtPmRhdGEuZGRsbXNnLnBy ZWZpeCkgKyAxOworCQkJCVNpemUJCXJvbGVfc2l6ZSA9IHN0cmxlbihjaGFuZ2UtPmRhdGEuZGRs bXNnLnJvbGUpICsgMTsKKwkJCQlTaXplCQlzZWFyY2hfcGF0aF9zaXplID0gc3RybGVuKGNoYW5n ZS0+ZGF0YS5kZGxtc2cuc2VhcmNoX3BhdGgpICsgMTsKKworCQkJCXN6ICs9IHByZWZpeF9zaXpl ICsgcm9sZV9zaXplICsgc2VhcmNoX3BhdGhfc2l6ZSArCisJCQkJCWNoYW5nZS0+ZGF0YS5kZGxt c2cubWVzc2FnZV9zaXplICsKKwkJCQkJc2l6ZW9mKFNpemUpICsgc2l6ZW9mKFNpemUpICsgc2l6 ZW9mKFNpemUpICsgc2l6ZW9mKFNpemUpOworCiAJCQkJYnJlYWs7CiAJCQl9CiAJCWNhc2UgUkVP UkRFUl9CVUZGRVJfQ0hBTkdFX0lOVkFMSURBVElPTjoKQEAgLTQyODIsOCArNDQ0MCw3IEBAIFJl b3JkZXJCdWZmZXJSZXN0b3JlQ2hhbmdlKFJlb3JkZXJCdWZmZXIgKnJiLCBSZW9yZGVyQnVmZmVy VFhOICp0eG4sCiAJCQkJLyogcmVhZCBwcmVmaXggKi8KIAkJCQltZW1jcHkoJnByZWZpeF9zaXpl LCBkYXRhLCBzaXplb2YoU2l6ZSkpOwogCQkJCWRhdGEgKz0gc2l6ZW9mKFNpemUpOwotCQkJCWNo YW5nZS0+ZGF0YS5tc2cucHJlZml4ID0gTWVtb3J5Q29udGV4dEFsbG9jKHJiLT5jb250ZXh0LAot CQkJCQkJCQkJCQkJCQkJIHByZWZpeF9zaXplKTsKKwkJCQljaGFuZ2UtPmRhdGEubXNnLnByZWZp eCA9IE1lbW9yeUNvbnRleHRBbGxvYyhyYi0+Y29udGV4dCwgcHJlZml4X3NpemUpOwogCQkJCW1l bWNweShjaGFuZ2UtPmRhdGEubXNnLnByZWZpeCwgZGF0YSwgcHJlZml4X3NpemUpOwogCQkJCUFz c2VydChjaGFuZ2UtPmRhdGEubXNnLnByZWZpeFtwcmVmaXhfc2l6ZSAtIDFdID09ICdcMCcpOwog CQkJCWRhdGEgKz0gcHJlZml4X3NpemU7CkBAIC00Mjk3LDYgKzQ0NTQsNDkgQEAgUmVvcmRlckJ1 ZmZlclJlc3RvcmVDaGFuZ2UoUmVvcmRlckJ1ZmZlciAqcmIsIFJlb3JkZXJCdWZmZXJUWE4gKnR4 biwKIAkJCQkJICAgY2hhbmdlLT5kYXRhLm1zZy5tZXNzYWdlX3NpemUpOwogCQkJCWRhdGEgKz0g Y2hhbmdlLT5kYXRhLm1zZy5tZXNzYWdlX3NpemU7CiAKKwkJCQlicmVhazsKKwkJCX0KKwkJY2Fz ZSBSRU9SREVSX0JVRkZFUl9DSEFOR0VfRERMTUVTU0FHRToKKwkJCXsKKwkJCQlTaXplCQlwcmVm aXhfc2l6ZTsKKwkJCQlTaXplCQlyb2xlX3NpemU7CisJCQkJU2l6ZQkJc2VhcmNoX3BhdGhfc2l6 ZTsKKworCQkJCS8qIHJlYWQgcHJlZml4ICovCisJCQkJbWVtY3B5KCZwcmVmaXhfc2l6ZSwgZGF0 YSwgc2l6ZW9mKFNpemUpKTsKKwkJCQlkYXRhICs9IHNpemVvZihTaXplKTsKKwkJCQljaGFuZ2Ut PmRhdGEuZGRsbXNnLnByZWZpeCA9IE1lbW9yeUNvbnRleHRBbGxvYyhyYi0+Y29udGV4dCwgcHJl Zml4X3NpemUpOworCQkJCW1lbWNweShjaGFuZ2UtPmRhdGEuZGRsbXNnLnByZWZpeCwgZGF0YSwg cHJlZml4X3NpemUpOworCQkJCUFzc2VydChjaGFuZ2UtPmRhdGEuZGRsbXNnLnByZWZpeFtwcmVm aXhfc2l6ZSAtIDFdID09ICdcMCcpOworCQkJCWRhdGEgKz0gcHJlZml4X3NpemU7CisKKwkJCQkv KiByZWFkIHJvbGUgKi8KKwkJCQltZW1jcHkoJnJvbGVfc2l6ZSwgZGF0YSwgc2l6ZW9mKFNpemUp KTsKKwkJCQlkYXRhICs9IHNpemVvZihTaXplKTsKKwkJCQljaGFuZ2UtPmRhdGEuZGRsbXNnLnJv bGUgPSBNZW1vcnlDb250ZXh0QWxsb2MocmItPmNvbnRleHQsCisJCQkJCQkJCQkJCQkJCQkgIHJv bGVfc2l6ZSk7CisJCQkJbWVtY3B5KGNoYW5nZS0+ZGF0YS5kZGxtc2cucm9sZSwgZGF0YSwgcm9s ZV9zaXplKTsKKwkJCQlBc3NlcnQoY2hhbmdlLT5kYXRhLmRkbG1zZy5yb2xlW3JvbGVfc2l6ZSAt IDFdID09ICdcMCcpOworCQkJCWRhdGEgKz0gcm9sZV9zaXplOworCisJCQkJLyogcmVhZCBzZWFy Y2hfcGF0aCAqLworCQkJCW1lbWNweSgmc2VhcmNoX3BhdGhfc2l6ZSwgZGF0YSwgc2l6ZW9mKFNp emUpKTsKKwkJCQlkYXRhICs9IHNpemVvZihTaXplKTsKKwkJCQljaGFuZ2UtPmRhdGEuZGRsbXNn LnNlYXJjaF9wYXRoID0gTWVtb3J5Q29udGV4dEFsbG9jKHJiLT5jb250ZXh0LAorCQkJCQkJCQkJ CQkJCQkJCQkgc2VhcmNoX3BhdGhfc2l6ZSk7CisJCQkJbWVtY3B5KGNoYW5nZS0+ZGF0YS5kZGxt c2cuc2VhcmNoX3BhdGgsIGRhdGEsIHNlYXJjaF9wYXRoX3NpemUpOworCQkJCUFzc2VydChjaGFu Z2UtPmRhdGEuZGRsbXNnLnNlYXJjaF9wYXRoW3NlYXJjaF9wYXRoX3NpemUgLSAxXSA9PSAnXDAn KTsKKwkJCQlkYXRhICs9IHNlYXJjaF9wYXRoX3NpemU7CisKKwkJCQkvKiByZWFkIHRoZSBtZXNz YWdlICovCisJCQkJbWVtY3B5KCZjaGFuZ2UtPmRhdGEubXNnLm1lc3NhZ2Vfc2l6ZSwgZGF0YSwg c2l6ZW9mKFNpemUpKTsKKwkJCQlkYXRhICs9IHNpemVvZihTaXplKTsKKwkJCQljaGFuZ2UtPmRh dGEubXNnLm1lc3NhZ2UgPSBNZW1vcnlDb250ZXh0QWxsb2MocmItPmNvbnRleHQsCisJCQkJCQkJ CQkJCQkJCQkgIGNoYW5nZS0+ZGF0YS5tc2cubWVzc2FnZV9zaXplKTsKKwkJCQltZW1jcHkoY2hh bmdlLT5kYXRhLm1zZy5tZXNzYWdlLCBkYXRhLAorCQkJCQkgICBjaGFuZ2UtPmRhdGEubXNnLm1l c3NhZ2Vfc2l6ZSk7CisJCQkJZGF0YSArPSBjaGFuZ2UtPmRhdGEubXNnLm1lc3NhZ2Vfc2l6ZTsK KwogCQkJCWJyZWFrOwogCQkJfQogCQljYXNlIFJFT1JERVJfQlVGRkVSX0NIQU5HRV9JTlZBTElE QVRJT046CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYyBiL3NyYy9iYWNr ZW5kL3Rjb3AvdXRpbGl0eS5jCmluZGV4IDZhNWJjZGVkNTUuLjVmZTU0Zjc0MmEgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvdXRp bGl0eS5jCkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVk ZSAicGFyc2VyL3BhcnNlX3V0aWxjbWQuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2Jnd3JpdGVy LmgiCisjaW5jbHVkZSAicmVwbGljYXRpb24vZGRsbWVzc2FnZS5oIgogI2luY2x1ZGUgInJld3Jp dGUvcmV3cml0ZURlZmluZS5oIgogI2luY2x1ZGUgInJld3JpdGUvcmV3cml0ZVJlbW92ZS5oIgog I2luY2x1ZGUgInN0b3JhZ2UvZmQuaCIKQEAgLTg2LDcgKzg3LDcgQEAgc3RhdGljIHZvaWQgUHJv Y2Vzc1V0aWxpdHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCQkgICBRdWVyeUVudmly b25tZW50ICpxdWVyeUVudiwKIAkJCQkJCQkgICBEZXN0UmVjZWl2ZXIgKmRlc3QsCiAJCQkJCQkJ ICAgUXVlcnlDb21wbGV0aW9uICpxYyk7Ci1zdGF0aWMgdm9pZCBFeGVjRHJvcFN0bXQoRHJvcFN0 bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZlbCk7CitzdGF0aWMgdm9pZCBFeGVjRHJvcFN0bXQoUGFy c2VTdGF0ZSAqcHN0YXRlLCBEcm9wU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKTsKIAogLyoK ICAqIENvbW1hbmRJc1JlYWRPbmx5OiBpcyBhbiBleGVjdXRhYmxlIHF1ZXJ5IHJlYWQtb25seT8K QEAgLTk4Nyw3ICs5ODgsNyBAQCBzdGFuZGFyZF9Qcm9jZXNzVXRpbGl0eShQbGFubmVkU3RtdCAq cHN0bXQsCiAJCQkJCQkJCQkgICBjb250ZXh0LCBwYXJhbXMsIHF1ZXJ5RW52LAogCQkJCQkJCQkJ ICAgZGVzdCwgcWMpOwogCQkJCWVsc2UKLQkJCQkJRXhlY0Ryb3BTdG10KHN0bXQsIGlzVG9wTGV2 ZWwpOworCQkJCQlFeGVjRHJvcFN0bXQocHN0YXRlLCBzdG10LCBpc1RvcExldmVsKTsKIAkJCX0K IAkJCWJyZWFrOwogCkBAIC0xMDg3LDYgKzEwODgsMTU0IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGls aXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAlDb21tYW5kQ291bnRlckluY3JlbWVudCgpOwogfQog CisvKgorICogTG9nIGEgRERMIGNvbW1hbmQgZm9yIGxvZ2ljYWwgcmVwbGljYXRpb24KKyAqIFNv bWUgRERMcyBhcmUgb25seSByZXBsaWNhdGVkIGluIERhdGFiYXNlIExldmVsIERETCByZXBsaWNh dGlvbgorICogU29tZSBjYW4gYmUgcmVwbGljYXRlZCBpbiBUYWJsZSBMZXZlbCBEREwgcmVwbGlj YXRpb24uCisgKgorICogQ3VycmVudGx5IHdlIGZvY3VzIG9uIHN1cHBvcnRpbmcgRGF0YWJhc2Ug TGV2ZWwgRERMIHJlcGxpY2F0aW9uCisgKi8KK3N0YXRpYyB2b2lkCitMb2dMb2dpY2FsRERMQ29t bWFuZChOb2RlICpwYXJzZXRyZWUsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQoreworCXN3aXRj aCAobm9kZVRhZyhwYXJzZXRyZWUpKQorCXsKKwkJLyogRmlzcnRseSwgY29tbWFuZHMgdGhhdCBh cmUgb25seSBzdXBwb3J0ZWQgaW4gRGF0YWJhc2UgbGV2ZWwgRERMIHJlcGxpY2F0aW9uICovCisJ CWNhc2UgVF9DcmVhdGVTY2hlbWFTdG10OgorCQljYXNlIFRfQ3JlYXRlU3RtdDoKKwkJY2FzZSBU X0NyZWF0ZUZvcmVpZ25UYWJsZVN0bXQ6CisJCWNhc2UgVF9BbHRlckRvbWFpblN0bXQ6CisJCWNh c2UgVF9EZWZpbmVTdG10OgorCQljYXNlIFRfQ29tcG9zaXRlVHlwZVN0bXQ6CisJCWNhc2UgVF9D cmVhdGVFbnVtU3RtdDoKKwkJY2FzZSBUX0NyZWF0ZVJhbmdlU3RtdDoKKwkJY2FzZSBUX0FsdGVy RW51bVN0bXQ6CisJCWNhc2UgVF9WaWV3U3RtdDoKKwkJY2FzZSBUX0NyZWF0ZUZ1bmN0aW9uU3Rt dDoKKwkJY2FzZSBUX0FsdGVyRnVuY3Rpb25TdG10OgorCQljYXNlIFRfQ3JlYXRlVHJpZ1N0bXQ6 CisJCWNhc2UgVF9DcmVhdGVEb21haW5TdG10OgorCQljYXNlIFRfQ3JlYXRlQ2FzdFN0bXQ6CisJ CWNhc2UgVF9DcmVhdGVPcENsYXNzU3RtdDoKKwkJY2FzZSBUX0NyZWF0ZU9wRmFtaWx5U3RtdDoK KwkJY2FzZSBUX0FsdGVyT3BGYW1pbHlTdG10OgorCQljYXNlIFRfQWx0ZXJPcGVyYXRvclN0bXQ6 CisJCWNhc2UgVF9BbHRlclR5cGVTdG10OgorCQljYXNlIFRfR3JhbnRTdG10OgorCQljYXNlIFRf QWx0ZXJDb2xsYXRpb25TdG10OgorCQkJLyoKKwkJCSAqIExvZyB0aGVzZSBzdG10IGZvciBsb2dp Y2FsIHJlcGxpY2F0aW9uIGlmCisJCQkgKiB0aGVyZSBpcyBhbnkgRk9SIEFMTCBUQUJMRVMgcHVi bGljYXRpb24gd2l0aCBwdWJkZGxfZGF0YWJhc2Ugb24uCisJCQkgKiBpLmUuIERhdGFiYXNlIGxl dmVsIERETCByZXBsaWNhdGlvbiBpcyBvbiBmb3Igc29tZSBwdWJsaWNhdGlvbi4KKwkJCSAqLwor CQkJaWYgKGRkbF9uZWVkX3hsb2coSW52YWxpZE9pZCwgdHJ1ZSwgdHJ1ZSkpCisJCQl7CisJCQkJ Ym9vbCB0cmFuc2FjdGlvbmFsID0gdHJ1ZTsKKwkJCQljb25zdCBjaGFyKiBwcmVmaXggPSAiIjsK KwkJCQlMb2dMb2dpY2FsRERMTWVzc2FnZShwcmVmaXgsCisJCQkJCQkJCQkgR2V0VXNlcklkKCks CisJCQkJCQkJCQkgcXVlcnlTdHJpbmcsCisJCQkJCQkJCQkgc3RybGVuKHF1ZXJ5U3RyaW5nKSwK KwkJCQkJCQkJCSB0cmFuc2FjdGlvbmFsKTsKKwkJCX0KKwkJCWJyZWFrOworCisJCS8qCisJCSAq IFNlY29uZGx5LCBjb21tYW5kcyB0aGF0IG1heSBiZSBhbGxvd2VkIGluIFRhYmxlIGxldmVsIERE TCByZXBsaWNhdGlvbi4KKwkJICogVGhlc2UgYXJlIGN1cnJlbnRseSBoYW5kbGVkIGluIHRoZSBs YXRlciBleGVjdXRpb24gcGF0aCBvZiB0aGUgY29tbWFuZC4KKwkJICogQmVjYXVzZSB3ZSBuZWVk IHRvIGdldCB0aGUgcmVsYXRpb24gaWQgd2hpY2ggcmVhZGlseSBhdmFpbGFibGUgaW4gbGF0ZXIK KwkJICogY29kZSBwYXRoLgorCQkgKi8KKwkJY2FzZSBUX0FsdGVyVGFibGVTdG10OgorCQljYXNl IFRfSW5kZXhTdG10OgorCQljYXNlIFRfUmVuYW1lU3RtdDogLyogVE9ETyAqLworCQljYXNlIFRf QWx0ZXJPd25lclN0bXQ6IC8qIFRPRE8gKi8KKwkJCWJyZWFrOworCisJCS8qIERyb3BTdG10IGRl cGVuZHMgb24gdGhlIHJlbW92ZVR5cGUgKi8KKwkJY2FzZSBUX0Ryb3BTdG10OgorCQl7CisJCQlE cm9wU3RtdCogc3RtdCA9IChEcm9wU3RtdCopIHBhcnNldHJlZTsKKwkJCXN3aXRjaCAoc3RtdC0+ cmVtb3ZlVHlwZSkKKwkJCXsKKwkJCQkvKiBNYXliZSBhbGxvd2VkIGluIFRhYmxlIGxldmVsIERE TCByZXBsaWNhdGlvbiwgaGFuZGxlZCBpbiBsYXRlciBjb2RlIHBhdGggKi8KKwkJCQljYXNlIE9C SkVDVF9JTkRFWDoKKwkJCQljYXNlIE9CSkVDVF9UQUJMRToKKwkJCQkJYnJlYWs7CisJCQkJLyog RHJvcCBvZiBzZXF1ZW5jZSBpcyBieSBsb2dpY2FsIHJlcGxpY2F0aW9uIG9mIHNlcXVlbmNlcyBz ZXBhcmF0ZWx5ICovCisJCQkJY2FzZSBPQkpFQ1RfU0VRVUVOQ0U6CisJCQkJCWJyZWFrOworCQkJ CS8qIERyb3Agb2Ygb3RoZXIgb2JqZWN0cyBhcmUgYWxsb3dlZCBpbiBEYXRhYmFzZSBsZXZlbCBE REwgcmVwbGljYXRpb24gb25seSAqLworCQkJCWNhc2UgT0JKRUNUX1ZJRVc6CisJCQkJY2FzZSBP QkpFQ1RfTUFUVklFVzoKKwkJCQljYXNlIE9CSkVDVF9GT1JFSUdOX1RBQkxFOgorCQkJCWRlZmF1 bHQ6CisJCQkJCS8qCisJCQkJCSAqIExvZyB0aGVzZSBEcm9wU3RtdCBmb3IgbG9naWNhbCByZXBs aWNhdGlvbiBpZgorCQkJCQkgKiB0aGVyZSBpcyBhbnkgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRp b24gd2l0aCBwdWJkZGxfZGF0YWJhc2Ugb24uCisJCQkJCSAqIGkuZS4gRGF0YWJhc2UgbGV2ZWwg RERMIHJlcGxpY2F0aW9uIGlzIG9uIGZvciBzb21lIHB1YmxpY2F0aW9uLgorCQkJCQkgKi8KKwkJ CQkJaWYgKGRkbF9uZWVkX3hsb2coSW52YWxpZE9pZCwgdHJ1ZSwgdHJ1ZSkpCisJCQkJCXsKKwkJ CQkJCWJvb2wgdHJhbnNhY3Rpb25hbCA9IHRydWU7CisJCQkJCQljb25zdCBjaGFyKiBwcmVmaXgg PSAiIjsKKwkJCQkJCUxvZ0xvZ2ljYWxERExNZXNzYWdlKHByZWZpeCwKKwkJCQkJCQkJCQkJIEdl dFVzZXJJZCgpLAorCQkJCQkJCQkJCQkgcXVlcnlTdHJpbmcsCisJCQkJCQkJCQkJCSBzdHJsZW4o cXVlcnlTdHJpbmcpLAorCQkJCQkJCQkJCQkgdHJhbnNhY3Rpb25hbCk7CisJCQkJCX0KKwkJCQkJ YnJlYWs7CisJCQl9CisJCX0KKwkJLyoKKwkJICogTGFzdGx5LCBydWxlIG91dCBERExzIHdlIGRv bid0IHJlcGxpY2F0ZSB5ZXQgaW4gRERMIHJlcGxpY2F0aW9uCisJCSAqIFNvbWUgb2YgdGhlc2Ug Y2FuIGJlIHN1cHBvcnRlZCwgd2UganVzdCBuZWVkIHRvIGludmVzdGlnYXRlIGFuZCBydW4gdGVz dHMuCisJCSAqLworCQljYXNlIFRfQ3JlYXRlRXh0ZW5zaW9uU3RtdDoKKwkJY2FzZSBUX0FsdGVy RXh0ZW5zaW9uU3RtdDoKKwkJY2FzZSBUX0FsdGVyRXh0ZW5zaW9uQ29udGVudHNTdG10OgorCQlj YXNlIFRfQ3JlYXRlRmR3U3RtdDoKKwkJY2FzZSBUX0FsdGVyRmR3U3RtdDoKKwkJY2FzZSBUX0Ny ZWF0ZUZvcmVpZ25TZXJ2ZXJTdG10OgorCQljYXNlIFRfQWx0ZXJGb3JlaWduU2VydmVyU3RtdDoK KwkJY2FzZSBUX0NyZWF0ZVVzZXJNYXBwaW5nU3RtdDoKKwkJY2FzZSBUX0FsdGVyVXNlck1hcHBp bmdTdG10OgorCQljYXNlIFRfRHJvcFVzZXJNYXBwaW5nU3RtdDoKKwkJY2FzZSBUX0ltcG9ydEZv cmVpZ25TY2hlbWFTdG10OgorCQljYXNlIFRfUnVsZVN0bXQ6CisJCWNhc2UgVF9DcmVhdGVTZXFT dG10OgorCQljYXNlIFRfQWx0ZXJTZXFTdG10OgorCQljYXNlIFRfQ3JlYXRlVGFibGVBc1N0bXQ6 CisJCWNhc2UgVF9SZWZyZXNoTWF0Vmlld1N0bXQ6CisJCWNhc2UgVF9DcmVhdGVQTGFuZ1N0bXQ6 CisJCWNhc2UgVF9DcmVhdGVDb252ZXJzaW9uU3RtdDoKKwkJY2FzZSBUX0NyZWF0ZVRyYW5zZm9y bVN0bXQ6CisJCWNhc2UgVF9BbHRlclRTRGljdGlvbmFyeVN0bXQ6CisJCWNhc2UgVF9BbHRlclRT Q29uZmlndXJhdGlvblN0bXQ6CisJCWNhc2UgVF9BbHRlclRhYmxlTW92ZUFsbFN0bXQ6CisJCWNh c2UgVF9BbHRlck9iamVjdERlcGVuZHNTdG10OgorCQljYXNlIFRfQWx0ZXJPYmplY3RTY2hlbWFT dG10OgorCQljYXNlIFRfQ29tbWVudFN0bXQ6CisJCWNhc2UgVF9Ecm9wT3duZWRTdG10OgorCQlj YXNlIFRfQWx0ZXJEZWZhdWx0UHJpdmlsZWdlc1N0bXQ6CisJCWNhc2UgVF9DcmVhdGVQb2xpY3lT dG10OgorCQljYXNlIFRfQWx0ZXJQb2xpY3lTdG10OgorCQljYXNlIFRfU2VjTGFiZWxTdG10Ogor CQljYXNlIFRfQ3JlYXRlQW1TdG10OgorCQljYXNlIFRfQ3JlYXRlUHVibGljYXRpb25TdG10Ogor CQljYXNlIFRfQWx0ZXJQdWJsaWNhdGlvblN0bXQ6CisJCWNhc2UgVF9DcmVhdGVTdWJzY3JpcHRp b25TdG10OgorCQljYXNlIFRfQWx0ZXJTdWJzY3JpcHRpb25TdG10OgorCQljYXNlIFRfRHJvcFN1 YnNjcmlwdGlvblN0bXQ6CisJCWNhc2UgVF9DcmVhdGVTdGF0c1N0bXQ6CisJCWNhc2UgVF9BbHRl clN0YXRzU3RtdDoKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJfQorfQorCiAv KgogICogVGhlICJTbG93IiB2YXJpYW50IG9mIFByb2Nlc3NVdGlsaXR5IHNob3VsZCBvbmx5IHJl Y2VpdmUgc3RhdGVtZW50cwogICogc3VwcG9ydGVkIGJ5IHRoZSBldmVudCB0cmlnZ2VycyBmYWNp bGl0eS4gIFRoZXJlZm9yZSwgd2UgYWx3YXlzCkBAIC0xMTE5LDYgKzEyNjgsMTMgQEAgUHJvY2Vz c1V0aWxpdHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJaWYgKGlzQ29tcGxldGVRdWVyeSkK IAkJCUV2ZW50VHJpZ2dlckRETENvbW1hbmRTdGFydChwYXJzZXRyZWUpOwogCisJCS8qCisJCSAq IENvbnNpZGVyIGxvZ2dpbmcgdGhlIERETCBjb21tYW5kIGlmIGxvZ2ljYWwgbG9nZ2luZyBpcyBl bmFibGVkIGFuZCB0aGlzIGlzCisJCSAqIGEgdG9wIGxldmVsIHF1ZXJ5LgorCQkgKi8KKwkJaWYg KFhMb2dMb2dpY2FsSW5mb0FjdGl2ZSgpICYmIGlzVG9wTGV2ZWwpCisJCQlMb2dMb2dpY2FsRERM Q29tbWFuZChwYXJzZXRyZWUsIHF1ZXJ5U3RyaW5nKTsKKwogCQlzd2l0Y2ggKG5vZGVUYWcocGFy c2V0cmVlKSkKIAkJewogCQkJCS8qCkBAIC0xMzIxLDYgKzE0NzcsMjMgQEAgUHJvY2Vzc1V0aWxp dHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCUV2ZW50VHJpZ2dlckFsdGVyVGFibGVT dGFydChwYXJzZXRyZWUpOwogCQkJCQkJRXZlbnRUcmlnZ2VyQWx0ZXJUYWJsZVJlbGlkKHJlbGlk KTsKIAorCQkJCQkJLyoKKwkJCQkJCSAqIExvZyB0aGUgQUxURVIgVEFCTEUgY29tbWFuZCBpZgor CQkJCQkJICogVGhlcmUgaXMgYW55IHB1YmxpY2F0aW9uIHdpdGggZGF0YWJhc2UgbGV2ZWwgZGRs IG9uIG9yCisJCQkJCQkgKiB0aGlzIFRBQkxFIGJlbG9uZ3MgdG8gYW55IHB1YmxpY2F0aW9uIHdp dGggdGFibGUgbGV2ZWwgZGRsIG9uCisJCQkJCQkgKi8KKwkJCQkJCWlmIChYTG9nTG9naWNhbElu Zm9BY3RpdmUoKSAmJgorCQkJCQkJCWRkbF9uZWVkX3hsb2cocmVsaWQsIGZhbHNlLCBpc1RvcExl dmVsKSkKKwkJCQkJCXsKKwkJCQkJCQlib29sIHRyYW5zYWN0aW9uYWwgPSB0cnVlOworCQkJCQkJ CWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOworCQkJCQkJCUxvZ0xvZ2ljYWxERExNZXNzYWdlKHBy ZWZpeCwKKwkJCQkJCQkJCQkJCSBHZXRVc2VySWQoKSwKKwkJCQkJCQkJCQkJCSBxdWVyeVN0cmlu ZywKKwkJCQkJCQkJCQkJCSBzdHJsZW4ocXVlcnlTdHJpbmcpLAorCQkJCQkJCQkJCQkJIHRyYW5z YWN0aW9uYWwpOworCQkJCQkJfQorCiAJCQkJCQkvKiAuLi4gYW5kIGRvIGl0ICovCiAJCQkJCQlB bHRlclRhYmxlKGF0c3RtdCwgbG9ja21vZGUsICZhdGNvbnRleHQpOwogCkBAIC0xNTM5LDYgKzE3 MTIsMjQgQEAgUHJvY2Vzc1V0aWxpdHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAogCQkJCQkv KiAuLi4gYW5kIGRvIGl0ICovCiAJCQkJCUV2ZW50VHJpZ2dlckFsdGVyVGFibGVTdGFydChwYXJz ZXRyZWUpOworCisJCQkJCS8qCisJCQkJCSAqIExvZyBDUkVBVEUgSU5ERVggY21kIGZvciBsb2dp Y2FsIHJlcGxpY2F0aW9uIGlmCisJCQkJCSAqIHRoZXJlIGlzIGFueSBwdWJsaWNhdGlvbiB3aXRo IGRhdGFiYXNlIGxldmVsIGRkbCBvbiBvcgorCQkJCQkgKiB0aGlzIFRBQkxFIGJlbG9uZ3MgdG8g YW55IHB1YmxpY2F0aW9uIHdpdGggdGFibGUgbGV2ZWwgZGRsIG9uLgorCQkJCQkgKi8KKwkJCQkJ aWYgKFhMb2dMb2dpY2FsSW5mb0FjdGl2ZSgpICYmCisJCQkJCQlkZGxfbmVlZF94bG9nKHJlbGlk LCBmYWxzZSwgaXNUb3BMZXZlbCkpCisJCQkJCXsKKwkJCQkJCWJvb2wgdHJhbnNhY3Rpb25hbCA9 IHRydWU7CisJCQkJCQljb25zdCBjaGFyKiBwcmVmaXggPSAiIjsKKwkJCQkJCUxvZ0xvZ2ljYWxE RExNZXNzYWdlKHByZWZpeCwKKwkJCQkJCQkJCQkJIEdldFVzZXJJZCgpLAorCQkJCQkJCQkJCQkg cXVlcnlTdHJpbmcsCisJCQkJCQkJCQkJCSBzdHJsZW4ocXVlcnlTdHJpbmcpLAorCQkJCQkJCQkJ CQkgdHJhbnNhY3Rpb25hbCk7CisJCQkJCX0KKwogCQkJCQlhZGRyZXNzID0KIAkJCQkJCURlZmlu ZUluZGV4KHJlbGlkLAkvKiBPSUQgb2YgaGVhcCByZWxhdGlvbiAqLwogCQkJCQkJCQkJc3RtdCwK QEAgLTE3NjEsNyArMTk1Miw3IEBAIFByb2Nlc3NVdGlsaXR5U2xvdyhQYXJzZVN0YXRlICpwc3Rh dGUsCiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgVF9Ecm9wU3RtdDoKLQkJCQlFeGVjRHJvcFN0bXQo KERyb3BTdG10ICopIHBhcnNldHJlZSwgaXNUb3BMZXZlbCk7CisJCQkJRXhlY0Ryb3BTdG10KHBz dGF0ZSwgKERyb3BTdG10ICopIHBhcnNldHJlZSwgaXNUb3BMZXZlbCk7CiAJCQkJLyogbm8gY29t bWFuZHMgc3Rhc2hlZCBmb3IgRFJPUCAqLwogCQkJCWNvbW1hbmRDb2xsZWN0ZWQgPSB0cnVlOwog CQkJCWJyZWFrOwpAQCAtMTk4Miw3ICsyMTczLDcgQEAgUHJvY2Vzc1V0aWxpdHlGb3JBbHRlclRh YmxlKE5vZGUgKnN0bXQsIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCkKICAqIERp c3BhdGNoIGZ1bmN0aW9uIGZvciBEcm9wU3RtdAogICovCiBzdGF0aWMgdm9pZAotRXhlY0Ryb3BT dG10KERyb3BTdG10ICpzdG10LCBib29sIGlzVG9wTGV2ZWwpCitFeGVjRHJvcFN0bXQoUGFyc2VT dGF0ZSAqcHN0YXRlLCBEcm9wU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKQogewogCXN3aXRj aCAoc3RtdC0+cmVtb3ZlVHlwZSkKIAl7CkBAIC0xOTk3LDcgKzIxODgsNyBAQCBFeGVjRHJvcFN0 bXQoRHJvcFN0bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZlbCkKIAkJY2FzZSBPQkpFQ1RfVklFVzoK IAkJY2FzZSBPQkpFQ1RfTUFUVklFVzoKIAkJY2FzZSBPQkpFQ1RfRk9SRUlHTl9UQUJMRToKLQkJ CVJlbW92ZVJlbGF0aW9ucyhzdG10KTsKKwkJCVJlbW92ZVJlbGF0aW9ucyhwc3RhdGUsIHN0bXQs IGlzVG9wTGV2ZWwpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQlSZW1vdmVPYmplY3RzKHN0 bXQpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ193YWxkdW1wL3JtZ3JkZXNjLmMgYi9zcmMvYmlu L3BnX3dhbGR1bXAvcm1ncmRlc2MuYwppbmRleCA2YjhjMTdiYjRjLi43OTJmNDM4OTU5IDEwMDY0 NAotLS0gYS9zcmMvYmluL3BnX3dhbGR1bXAvcm1ncmRlc2MuYworKysgYi9zcmMvYmluL3BnX3dh bGR1bXAvcm1ncmRlc2MuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgImNvbW1hbmRzL3Nl cXVlbmNlLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvdGFibGVzcGFjZS5oIgogI2luY2x1ZGUgInJl cGxpY2F0aW9uL21lc3NhZ2UuaCIKKyNpbmNsdWRlICJyZXBsaWNhdGlvbi9kZGxtZXNzYWdlLmgi CiAjaW5jbHVkZSAicmVwbGljYXRpb24vb3JpZ2luLmgiCiAjaW5jbHVkZSAicm1ncmRlc2MuaCIK ICNpbmNsdWRlICJzdG9yYWdlL3N0YW5kYnlkZWZzLmgiCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9hY2Nlc3Mvcm1ncmxpc3QuaCBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9ybWdybGlzdC5oCmluZGV4 IDlhNzQ3MjFjOTcuLjlkZTNiOGYyZWIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy9y bWdybGlzdC5oCisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9ybWdybGlzdC5oCkBAIC00NywzICs0 Nyw0IEBAIFBHX1JNR1IoUk1fQ09NTUlUX1RTX0lELCAiQ29tbWl0VHMiLCBjb21taXRfdHNfcmVk bywgY29tbWl0X3RzX2Rlc2MsIGNvbW1pdF90c19pCiBQR19STUdSKFJNX1JFUExPUklHSU5fSUQs ICJSZXBsaWNhdGlvbk9yaWdpbiIsIHJlcGxvcmlnaW5fcmVkbywgcmVwbG9yaWdpbl9kZXNjLCBy ZXBsb3JpZ2luX2lkZW50aWZ5LCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKQogUEdfUk1HUihSTV9H RU5FUklDX0lELCAiR2VuZXJpYyIsIGdlbmVyaWNfcmVkbywgZ2VuZXJpY19kZXNjLCBnZW5lcmlj X2lkZW50aWZ5LCBOVUxMLCBOVUxMLCBnZW5lcmljX21hc2ssIE5VTEwpCiBQR19STUdSKFJNX0xP R0lDQUxNU0dfSUQsICJMb2dpY2FsTWVzc2FnZSIsIGxvZ2ljYWxtc2dfcmVkbywgbG9naWNhbG1z Z19kZXNjLCBsb2dpY2FsbXNnX2lkZW50aWZ5LCBOVUxMLCBOVUxMLCBOVUxMLCBsb2dpY2FsbXNn X2RlY29kZSkKK1BHX1JNR1IoUk1fTE9HSUNBTERETE1TR19JRCwgIkxvZ2ljYWxERExNZXNzYWdl IiwgbG9naWNhbGRkbG1zZ19yZWRvLCBsb2dpY2FsZGRsbXNnX2Rlc2MsIGxvZ2ljYWxkZGxtc2df aWRlbnRpZnksIE5VTEwsIE5VTEwsIE5VTEwsIGxvZ2ljYWxkZGxtc2dfZGVjb2RlKQpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmggYi9zcmMvaW5jbHVkZS9jb21t YW5kcy90YWJsZWNtZHMuaAppbmRleCA1ZDQwMzdmMjZlLi42ODc4MTM2NWRlIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaAorKysgYi9zcmMvaW5jbHVkZS9jb21t YW5kcy90YWJsZWNtZHMuaApAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvZGVw ZW5kZW5jeS5oIgogI2luY2x1ZGUgImNhdGFsb2cvb2JqZWN0YWRkcmVzcy5oIgogI2luY2x1ZGUg Im5vZGVzL3BhcnNlbm9kZXMuaCIKKyNpbmNsdWRlICJwYXJzZXIvcGFyc2Vfbm9kZS5oIgogI2lu Y2x1ZGUgInN0b3JhZ2UvbG9jay5oIgogI2luY2x1ZGUgInV0aWxzL3JlbGNhY2hlLmgiCiAKQEAg LTI3LDcgKzI4LDcgQEAgc3RydWN0IEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dDsJLyogYXZvaWQg aW5jbHVkaW5nIHRjb3AvdXRpbGl0eS5oIGhlcmUgKi8KIGV4dGVybiBPYmplY3RBZGRyZXNzIERl ZmluZVJlbGF0aW9uKENyZWF0ZVN0bXQgKnN0bXQsIGNoYXIgcmVsa2luZCwgT2lkIG93bmVySWQs CiAJCQkJCQkJCQlPYmplY3RBZGRyZXNzICp0eXBhZGRyZXNzLCBjb25zdCBjaGFyICpxdWVyeVN0 cmluZyk7CiAKLWV4dGVybiB2b2lkIFJlbW92ZVJlbGF0aW9ucyhEcm9wU3RtdCAqZHJvcCk7Citl eHRlcm4gdm9pZCBSZW1vdmVSZWxhdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBEcm9wU3RtdCAq ZHJvcCwgYm9vbCBpc1RvcExldmVsKTsKIAogZXh0ZXJuIE9pZAlBbHRlclRhYmxlTG9va3VwUmVs YXRpb24oQWx0ZXJUYWJsZVN0bXQgKnN0bXQsIExPQ0tNT0RFIGxvY2ttb2RlKTsKIApkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vZGRsbWVzc2FnZS5oIGIvc3JjL2luY2x1ZGUv cmVwbGljYXRpb24vZGRsbWVzc2FnZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLjFlOGVmMjIyOTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW5jbHVkZS9yZXBsaWNh dGlvbi9kZGxtZXNzYWdlLmgKQEAgLTAsMCArMSw0NyBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg KiBkZGxtZXNzYWdlLmgKKyAqCSAgIEV4cG9ydHMgZnJvbSByZXBsaWNhdGlvbi9sb2dpY2FsL2Rk bG1lc3NhZ2UuYworICoKKyAqIENvcHlyaWdodCAoYykgMjAyMiwgUG9zdGdyZVNRTCBHbG9iYWwg RGV2ZWxvcG1lbnQgR3JvdXAKKyAqCisgKiBzcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZGxtZXNz YWdlLmgKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaWZuZGVmIFBHX0xPR0lDQUxfRERMX01F U1NBR0VfSAorI2RlZmluZSBQR19MT0dJQ0FMX0RETF9NRVNTQUdFX0gKKworI2luY2x1ZGUgImFj Y2Vzcy94bG9nLmgiCisjaW5jbHVkZSAiYWNjZXNzL3hsb2dkZWZzLmgiCisjaW5jbHVkZSAiYWNj ZXNzL3hsb2dyZWFkZXIuaCIKKworLyoKKyAqIEdlbmVyaWMgbG9naWNhbCBkZWNvZGluZyBEREwg bWVzc2FnZSB3YWwgcmVjb3JkLgorICovCit0eXBlZGVmIHN0cnVjdCB4bF9sb2dpY2FsX2RkbF9t ZXNzYWdlCit7CisJT2lkCQkJZGJJZDsJCQkvKiBkYXRhYmFzZSBPaWQgZW1pdHRlZCBmcm9tICov CisJYm9vbAkJdHJhbnNhY3Rpb25hbDsJLyogaXMgbWVzc2FnZSB0cmFuc2FjdGlvbmFsPyAqLwor CVNpemUJCXByZWZpeF9zaXplOwkvKiBsZW5ndGggb2YgcHJlZml4ICovCisJU2l6ZQkJcm9sZV9z aXplOyAgICAgIC8qIGxlbmd0aCBvZiB0aGUgcm9sZSB0aGF0IGV4ZWN1dGVzIHRoZSBEREwgY29t bWFuZCAqLworCVNpemUJCXNlYXJjaF9wYXRoX3NpemU7IC8qIGxlbmd0aCBvZiB0aGUgc2VhcmNo IHBhdGggKi8KKwlTaXplCQltZXNzYWdlX3NpemU7CSAgLyogc2l6ZSBvZiB0aGUgbWVzc2FnZSAq LworCS8qCisJICogcGF5bG9hZCwgaW5jbHVkaW5nIG51bGwtdGVybWluYXRlZCBwcmVmaXggb2Yg bGVuZ3RoIHByZWZpeF9zaXplCisJICogYW5kIG51bGwtdGVybWluYXRlZCByb2xlIG9mIGxlbmd0 aCByb2xlX3NpemUKKwkgKiBhbmQgbnVsbC10ZXJtaW5hdGVkIHNlYXJjaF9wYXRoIG9mIGxlbmd0 aCBzZWFyY2hfcGF0aF9zaXplCisJICovCisJY2hhcgkJbWVzc2FnZVtGTEVYSUJMRV9BUlJBWV9N RU1CRVJdOworfSB4bF9sb2dpY2FsX2RkbF9tZXNzYWdlOworCisjZGVmaW5lIFNpemVPZkxvZ2lj YWxERExNZXNzYWdlCShvZmZzZXRvZih4bF9sb2dpY2FsX2RkbF9tZXNzYWdlLCBtZXNzYWdlKSkK KworZXh0ZXJuIFhMb2dSZWNQdHIgTG9nTG9naWNhbERETE1lc3NhZ2UoY29uc3QgY2hhciAqcHJl Zml4LCBPaWQgcm9sZW9pZCwgY29uc3QgY2hhciAqZGRsX21lc3NhZ2UsCisJCQkJCQkJCQkgICBz aXplX3Qgc2l6ZSwgYm9vbCB0cmFuc2FjdGlvbmFsKTsKKworLyogUk1HUiBBUEkqLworI2RlZmlu ZSBYTE9HX0xPR0lDQUxfRERMX01FU1NBR0UJMHgwMAordm9pZAkJbG9naWNhbGRkbG1zZ19yZWRv KFhMb2dSZWFkZXJTdGF0ZSAqcmVjb3JkKTsKK3ZvaWQJCWxvZ2ljYWxkZGxtc2dfZGVzYyhTdHJp bmdJbmZvIGJ1ZiwgWExvZ1JlYWRlclN0YXRlICpyZWNvcmQpOworY29uc3QgY2hhciAqbG9naWNh bGRkbG1zZ19pZGVudGlmeSh1aW50OCBpbmZvKTsKKworI2VuZGlmCQkJCQkJCS8qIFBHX0xPR0lD QUxfRERMX01FU1NBR0VfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24v ZGVjb2RlLmggYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZWNvZGUuaAppbmRleCA3NDFiZjY1 Y2Y3Li40MjdhN2I5OTdkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZWNv ZGUuaAorKysgYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZWNvZGUuaApAQCAtMjcsNiArMjcs NyBAQCBleHRlcm4gdm9pZCBoZWFwMl9kZWNvZGUoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4 LCBYTG9nUmVjb3JkQnVmZmVyICpidWYpOwogZXh0ZXJuIHZvaWQgeGFjdF9kZWNvZGUoTG9naWNh bERlY29kaW5nQ29udGV4dCAqY3R4LCBYTG9nUmVjb3JkQnVmZmVyICpidWYpOwogZXh0ZXJuIHZv aWQgc3RhbmRieV9kZWNvZGUoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LCBYTG9nUmVjb3Jk QnVmZmVyICpidWYpOwogZXh0ZXJuIHZvaWQgbG9naWNhbG1zZ19kZWNvZGUoTG9naWNhbERlY29k aW5nQ29udGV4dCAqY3R4LCBYTG9nUmVjb3JkQnVmZmVyICpidWYpOworZXh0ZXJuIHZvaWQgbG9n aWNhbGRkbG1zZ19kZWNvZGUoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LCBYTG9nUmVjb3Jk QnVmZmVyICpidWYpOwogCiBleHRlcm4gdm9pZCBMb2dpY2FsRGVjb2RpbmdQcm9jZXNzUmVjb3Jk KExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKIAkJCQkJCQkJCQkgWExvZ1JlYWRlclN0YXRl ICpyZWNvcmQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vb3V0cHV0X3Bs dWdpbi5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vb3V0cHV0X3BsdWdpbi5oCmluZGV4IDUz OWRjOGU2OTcuLjViMWMyNDViNzIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L291dHB1dF9wbHVnaW4uaAorKysgYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9vdXRwdXRfcGx1 Z2luLmgKQEAgLTg4LDYgKzg4LDE5IEBAIHR5cGVkZWYgdm9pZCAoKkxvZ2ljYWxEZWNvZGVNZXNz YWdlQ0IpIChzdHJ1Y3QgTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCQkJCQkJCQkJCVNp emUgbWVzc2FnZV9zaXplLAogCQkJCQkJCQkJCWNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogCisvKgor ICogQ2FsbGVkIGZvciB0aGUgbG9naWNhbCBkZWNvZGluZyBEREwgbWVzc2FnZXMuCisgKi8KK3R5 cGVkZWYgdm9pZCAoKkxvZ2ljYWxEZWNvZGVERExNZXNzYWdlQ0IpIChzdHJ1Y3QgTG9naWNhbERl Y29kaW5nQ29udGV4dCAqY3R4LAorCQkJCQkJCQkJCSAgIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwK KwkJCQkJCQkJCQkgICBYTG9nUmVjUHRyIG1lc3NhZ2VfbHNuLAorCQkJCQkJCQkJCSAgIGJvb2wg dHJhbnNhY3Rpb25hbCwKKwkJCQkJCQkJCQkgICBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkJCQkJ CQkJICAgY29uc3QgY2hhciAqcm9sZSwKKwkJCQkJCQkJCQkgICBjb25zdCBjaGFyICpzZWFyY2hf cGF0aCwKKwkJCQkJCQkJCQkgICBTaXplIG1lc3NhZ2Vfc2l6ZSwKKwkJCQkJCQkJCQkgICBjb25z dCBjaGFyICptZXNzYWdlKTsKKwogLyoKICAqIEZpbHRlciBjaGFuZ2VzIGJ5IG9yaWdpbi4KICAq LwpAQCAtMTk5LDYgKzIxMiwyMCBAQCB0eXBlZGVmIHZvaWQgKCpMb2dpY2FsRGVjb2RlU3RyZWFt TWVzc2FnZUNCKSAoc3RydWN0IExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eAogCQkJCQkJCQkJ CQkgIFNpemUgbWVzc2FnZV9zaXplLAogCQkJCQkJCQkJCQkgIGNvbnN0IGNoYXIgKm1lc3NhZ2Up OwogCisvKgorICogQ2FsbGJhY2sgZm9yIHN0cmVhbWluZyBsb2dpY2FsIGRlY29kaW5nIERETCBt ZXNzYWdlcyBmcm9tIGluLXByb2dyZXNzCisgKiB0cmFuc2FjdGlvbnMuCisgKi8KK3R5cGVkZWYg dm9pZCAoKkxvZ2ljYWxEZWNvZGVTdHJlYW1ERExNZXNzYWdlQ0IpIChzdHJ1Y3QgTG9naWNhbERl Y29kaW5nQ29udGV4dCAqY3R4LAorCQkJCQkJCQkJCQkJIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwK KwkJCQkJCQkJCQkJCSBYTG9nUmVjUHRyIG1lc3NhZ2VfbHNuLAorCQkJCQkJCQkJCQkJIGJvb2wg dHJhbnNhY3Rpb25hbCwKKwkJCQkJCQkJCQkJCSBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkJCQkJ CQkJCQkgY29uc3QgY2hhciAqcm9sZSwKKwkJCQkJCQkJCQkJCSBjb25zdCBjaGFyICpzZWFyY2hf cGF0aCwKKwkJCQkJCQkJCQkJCSBTaXplIG1lc3NhZ2Vfc2l6ZSwKKwkJCQkJCQkJCQkJCSBjb25z dCBjaGFyICptZXNzYWdlKTsKKwogLyoKICAqIENhbGxiYWNrIGZvciBzdHJlYW1pbmcgdHJ1bmNh dGVzIGZyb20gaW4tcHJvZ3Jlc3MgdHJhbnNhY3Rpb25zLgogICovCkBAIC0yMTksNiArMjQ2LDcg QEAgdHlwZWRlZiBzdHJ1Y3QgT3V0cHV0UGx1Z2luQ2FsbGJhY2tzCiAJTG9naWNhbERlY29kZVRy dW5jYXRlQ0IgdHJ1bmNhdGVfY2I7CiAJTG9naWNhbERlY29kZUNvbW1pdENCIGNvbW1pdF9jYjsK IAlMb2dpY2FsRGVjb2RlTWVzc2FnZUNCIG1lc3NhZ2VfY2I7CisJTG9naWNhbERlY29kZURETE1l c3NhZ2VDQiBkZGxtZXNzYWdlX2NiOwogCUxvZ2ljYWxEZWNvZGVGaWx0ZXJCeU9yaWdpbkNCIGZp bHRlcl9ieV9vcmlnaW5fY2I7CiAJTG9naWNhbERlY29kZVNodXRkb3duQ0Igc2h1dGRvd25fY2I7 CiAKQEAgLTIzNyw2ICsyNjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBPdXRwdXRQbHVnaW5DYWxsYmFj a3MKIAlMb2dpY2FsRGVjb2RlU3RyZWFtQ29tbWl0Q0Igc3RyZWFtX2NvbW1pdF9jYjsKIAlMb2dp Y2FsRGVjb2RlU3RyZWFtQ2hhbmdlQ0Igc3RyZWFtX2NoYW5nZV9jYjsKIAlMb2dpY2FsRGVjb2Rl U3RyZWFtTWVzc2FnZUNCIHN0cmVhbV9tZXNzYWdlX2NiOworCUxvZ2ljYWxEZWNvZGVTdHJlYW1E RExNZXNzYWdlQ0Igc3RyZWFtX2RkbG1lc3NhZ2VfY2I7CiAJTG9naWNhbERlY29kZVN0cmVhbVRy dW5jYXRlQ0Igc3RyZWFtX3RydW5jYXRlX2NiOwogfSBPdXRwdXRQbHVnaW5DYWxsYmFja3M7CiAK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Jlb3JkZXJidWZmZXIuaCBiL3Ny Yy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Jlb3JkZXJidWZmZXIuaAppbmRleCA0YTAxZjg3N2U1Li5k ZDg5ZTA4ZWZjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9yZW9yZGVyYnVm ZmVyLmgKKysrIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vcmVvcmRlcmJ1ZmZlci5oCkBAIC01 Niw2ICs1Niw3IEBAIHR5cGVkZWYgZW51bSBSZW9yZGVyQnVmZmVyQ2hhbmdlVHlwZQogCVJFT1JE RVJfQlVGRkVSX0NIQU5HRV9JTlNFUlQsCiAJUkVPUkRFUl9CVUZGRVJfQ0hBTkdFX1VQREFURSwK IAlSRU9SREVSX0JVRkZFUl9DSEFOR0VfREVMRVRFLAorCVJFT1JERVJfQlVGRkVSX0NIQU5HRV9E RExNRVNTQUdFLAogCVJFT1JERVJfQlVGRkVSX0NIQU5HRV9NRVNTQUdFLAogCVJFT1JERVJfQlVG RkVSX0NIQU5HRV9JTlZBTElEQVRJT04sCiAJUkVPUkRFUl9CVUZGRVJfQ0hBTkdFX0lOVEVSTkFM X1NOQVBTSE9ULApAQCAtMTMwLDYgKzEzMSwxNiBAQCB0eXBlZGVmIHN0cnVjdCBSZW9yZGVyQnVm ZmVyQ2hhbmdlCiAJCQljaGFyCSAgICptZXNzYWdlOwogCQl9CQkJbXNnOwogCisJCS8qIERETCBN ZXNzYWdlLiAqLworCQlzdHJ1Y3QKKwkJeworCQkJY2hhcgkgICAqcHJlZml4OworCQkJY2hhcgkg ICAqcm9sZTsKKwkJCWNoYXIJICAgKnNlYXJjaF9wYXRoOworCQkJU2l6ZQkJbWVzc2FnZV9zaXpl OworCQkJY2hhcgkgICAqbWVzc2FnZTsKKwkJfQkJCWRkbG1zZzsKKwogCQkvKiBOZXcgc25hcHNo b3QsIHNldCB3aGVuIGFjdGlvbiA9PSAqX0lOVEVSTkFMX1NOQVBTSE9UICovCiAJCVNuYXBzaG90 CXNuYXBzaG90OwogCkBAIC00MzAsNiArNDQxLDE3IEBAIHR5cGVkZWYgdm9pZCAoKlJlb3JkZXJC dWZmZXJNZXNzYWdlQ0IpIChSZW9yZGVyQnVmZmVyICpyYiwKIAkJCQkJCQkJCQljb25zdCBjaGFy ICpwcmVmaXgsIFNpemUgc3osCiAJCQkJCQkJCQkJY29uc3QgY2hhciAqbWVzc2FnZSk7CiAKKy8q IERETCBtZXNzYWdlIGNhbGxiYWNrIHNpZ25hdHVyZSAqLwordHlwZWRlZiB2b2lkICgqUmVvcmRl ckJ1ZmZlckRETE1lc3NhZ2VDQikgKFJlb3JkZXJCdWZmZXIgKnJiLAorCQkJCQkJCQkJCSAgIFJl b3JkZXJCdWZmZXJUWE4gKnR4biwKKwkJCQkJCQkJCQkgICBYTG9nUmVjUHRyIG1lc3NhZ2VfbHNu LAorCQkJCQkJCQkJCSAgIGJvb2wgdHJhbnNhY3Rpb25hbCwKKwkJCQkJCQkJCQkgICBjb25zdCBj aGFyICpwcmVmaXgsCisJCQkJCQkJCQkJICAgY29uc3QgY2hhciAqcm9sZSwKKwkJCQkJCQkJCQkg ICBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwKKwkJCQkJCQkJCQkgICBTaXplIHN6LAorCQkJCQkJ CQkJCSAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworCiAvKiBiZWdpbiBwcmVwYXJlIGNhbGxiYWNr IHNpZ25hdHVyZSAqLwogdHlwZWRlZiB2b2lkICgqUmVvcmRlckJ1ZmZlckJlZ2luUHJlcGFyZUNC KSAoUmVvcmRlckJ1ZmZlciAqcmIsCiAJCQkJCQkJCQkJCSBSZW9yZGVyQnVmZmVyVFhOICp0eG4p OwpAQCAtNDk2LDYgKzUxOCwxOCBAQCB0eXBlZGVmIHZvaWQgKCpSZW9yZGVyQnVmZmVyU3RyZWFt TWVzc2FnZUNCKSAoCiAJCQkJCQkJCQkJCSAgY29uc3QgY2hhciAqcHJlZml4LCBTaXplIHN6LAog CQkJCQkJCQkJCQkgIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogCisvKiBzdHJlYW0gRERMIG1lc3Nh Z2UgY2FsbGJhY2sgc2lnbmF0dXJlICovCit0eXBlZGVmIHZvaWQgKCpSZW9yZGVyQnVmZmVyU3Ry ZWFtRERMTWVzc2FnZUNCKSAoCisJCQkJCQkJCQkJCQkgUmVvcmRlckJ1ZmZlciAqcmIsCisJCQkJ CQkJCQkJCQkgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAorCQkJCQkJCQkJCQkJIFhMb2dSZWNQdHIg bWVzc2FnZV9sc24sCisJCQkJCQkJCQkJCQkgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCQkJCQkJ CQkJIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkJCQkJCQkJCSBjb25zdCBjaGFyICpyb2xlLAor CQkJCQkJCQkJCQkJIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAorCQkJCQkJCQkJCQkJIFNpemUg c3osCisJCQkJCQkJCQkJCQkgY29uc3QgY2hhciAqbWVzc2FnZSk7CisKIC8qIHN0cmVhbSB0cnVu Y2F0ZSBjYWxsYmFjayBzaWduYXR1cmUgKi8KIHR5cGVkZWYgdm9pZCAoKlJlb3JkZXJCdWZmZXJT dHJlYW1UcnVuY2F0ZUNCKSAoCiAJCQkJCQkJCQkJCSAgIFJlb3JkZXJCdWZmZXIgKnJiLApAQCAt NTQxLDYgKzU3NSw3IEBAIHN0cnVjdCBSZW9yZGVyQnVmZmVyCiAJUmVvcmRlckJ1ZmZlckFwcGx5 VHJ1bmNhdGVDQiBhcHBseV90cnVuY2F0ZTsKIAlSZW9yZGVyQnVmZmVyQ29tbWl0Q0IgY29tbWl0 OwogCVJlb3JkZXJCdWZmZXJNZXNzYWdlQ0IgbWVzc2FnZTsKKwlSZW9yZGVyQnVmZmVyRERMTWVz c2FnZUNCIGRkbG1lc3NhZ2U7CiAKIAkvKgogCSAqIENhbGxiYWNrcyB0byBiZSBjYWxsZWQgd2hl biBzdHJlYW1pbmcgYSB0cmFuc2FjdGlvbiBhdCBwcmVwYXJlIHRpbWUuCkBAIC01NjAsNiArNTk1 LDcgQEAgc3RydWN0IFJlb3JkZXJCdWZmZXIKIAlSZW9yZGVyQnVmZmVyU3RyZWFtQ29tbWl0Q0Ig c3RyZWFtX2NvbW1pdDsKIAlSZW9yZGVyQnVmZmVyU3RyZWFtQ2hhbmdlQ0Igc3RyZWFtX2NoYW5n ZTsKIAlSZW9yZGVyQnVmZmVyU3RyZWFtTWVzc2FnZUNCIHN0cmVhbV9tZXNzYWdlOworCVJlb3Jk ZXJCdWZmZXJTdHJlYW1ERExNZXNzYWdlQ0Igc3RyZWFtX2RkbG1lc3NhZ2U7CiAJUmVvcmRlckJ1 ZmZlclN0cmVhbVRydW5jYXRlQ0Igc3RyZWFtX3RydW5jYXRlOwogCiAJLyoKQEAgLTYzNSw2ICs2 NzEsOSBAQCBleHRlcm4gdm9pZCBSZW9yZGVyQnVmZmVyUXVldWVDaGFuZ2UoUmVvcmRlckJ1ZmZl ciAqLCBUcmFuc2FjdGlvbklkLAogZXh0ZXJuIHZvaWQgUmVvcmRlckJ1ZmZlclF1ZXVlTWVzc2Fn ZShSZW9yZGVyQnVmZmVyICosIFRyYW5zYWN0aW9uSWQsIFNuYXBzaG90IHNuYXBzaG90LCBYTG9n UmVjUHRyIGxzbiwKIAkJCQkJCQkJCSAgYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpw cmVmaXgsCiAJCQkJCQkJCQkgIFNpemUgbWVzc2FnZV9zaXplLCBjb25zdCBjaGFyICptZXNzYWdl KTsKK2V4dGVybiB2b2lkIFJlb3JkZXJCdWZmZXJRdWV1ZURETE1lc3NhZ2UoUmVvcmRlckJ1ZmZl ciAqLCBUcmFuc2FjdGlvbklkLCBTbmFwc2hvdCBzbmFwc2hvdCwgWExvZ1JlY1B0ciBsc24sCisJ CQkJCQkJCQkJIGJvb2wgdHJhbnNhY3Rpb25hbCwgY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBj aGFyICpyb2xlLAorCQkJCQkJCQkJCSBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwgU2l6ZSBtZXNz YWdlX3NpemUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogZXh0ZXJuIHZvaWQgUmVvcmRlckJ1ZmZl ckNvbW1pdChSZW9yZGVyQnVmZmVyICosIFRyYW5zYWN0aW9uSWQsCiAJCQkJCQkJCVhMb2dSZWNQ dHIgY29tbWl0X2xzbiwgWExvZ1JlY1B0ciBlbmRfbHNuLAogCQkJCQkJCQlUaW1lc3RhbXBUeiBj b21taXRfdGltZSwgUmVwT3JpZ2luSWQgb3JpZ2luX2lkLCBYTG9nUmVjUHRyIG9yaWdpbl9sc24p OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dAppbmRleCBlOWNlYTEx YTViLi41YjRiZWU3NGNiIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1 YmxpY2F0aW9uLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9u Lm91dApAQCAtNjc2LDEwICs2NzYsMTAgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfdGFi bGVfaW5zIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCB0cnVuY2F0ZScpOwogUkVTRVQgY2xpZW50 X21pbl9tZXNzYWdlczsKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfdGFibGVfaW5zIEFERCBU QUJMRSB0ZXN0cHViX3RibDUgKGEpOwkJLS0gb2sKIFxkUnArIHRlc3RwdWJfdGFibGVfaW5zCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl90YWJsZV9p bnMKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVw ZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAg ICAgfCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0 ZXN0cHViX3RhYmxlX2lucworICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMg fCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERh dGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisg cmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCBmICAgICAg IHwgZiAgICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwg ZgogVGFibGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl90Ymw1IiAoYSkKIApAQCAtODIxLDEwICs4 MjEsMTAgQEAgQ1JFQVRFIFRBQkxFIHRlc3RwdWJfdGJsX2JvdGhfZmlsdGVycyAoYSBpbnQsIGIg aW50LCBjIGludCwgUFJJTUFSWSBLRVkgKGEsYykpOwogQUxURVIgVEFCTEUgdGVzdHB1Yl90Ymxf Ym90aF9maWx0ZXJzIFJFUExJQ0EgSURFTlRJVFkgVVNJTkcgSU5ERVggdGVzdHB1Yl90YmxfYm90 aF9maWx0ZXJzX3BrZXk7CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2JvdGhfZmlsdGVycyBB REQgVEFCTEUgdGVzdHB1Yl90YmxfYm90aF9maWx0ZXJzIChhLGMpIFdIRVJFIChjICE9IDEpOwog XGRScCsgdGVzdHB1Yl9ib3RoX2ZpbHRlcnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWJfYm90aF9maWx0ZXJzCi0gICAgICAgICAgT3duZXIgICAgICAg ICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRl cyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfYm90aF9maWx0ZXJzCisgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVs ZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUg bGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIg fCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwg ZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgInB1YmxpYy50 ZXN0cHViX3RibF9ib3RoX2ZpbHRlcnMiIChhLCBjKSBXSEVSRSAoYyA8PiAxKQogCi0tIAoyLjMy LjAKCg== --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0001-Define-DDL-replication-levels-via-the-CREATE-PUBLICA.patch" Content-Disposition: attachment; filename="0001-Define-DDL-replication-levels-via-the-CREATE-PUBLICA.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhg0 RnJvbSAwMTg4ZGJiZTI1MGE0ZTgwOWVkZjU1NmZhZDM0ZGQzN2NhNDZhNGViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTggTWFyIDIwMjIgMTY6NDc6MTYgKzAwMDAKU3ViamVjdDogW1BBVENIIDAx LzEyXSBEZWZpbmUgRERMIHJlcGxpY2F0aW9uIGxldmVscyB2aWEgdGhlIENSRUFURQogUFVCTElD QVRJT04gY29tbWFuZCwgY3VycmVudGx5IGFsbG93IERhdGFiYXNlIG9yIFRhYmxlIGxldmVsIERE TCByZXBsaWNhdGlvbi4KCkFsbG93IHRoZSB1c2VyIHRvIGNvbmZpZ3VyZSBlaXRoZXIgZGF0YWJh c2UgbGV2ZWwgb3IgdGFibGUgbGV2ZWwKRERMIHJlcGxpY2F0aW9uIHZpYSB0aGUgQ1JFQVRFIFBV QkxJQ0FUSU9OIGNvbW1hbmQgYXMgaW4gbXkgZmlyc3QKZW1haWwuIFR3byBuZXcgY29sdW1ucyBh cmUgYWRkZWQgdG8gdGhlIHBnX3B1YmxpY2F0aW9uIGNhdGFsb2cgdG8Kc2hvdyB0aGUgRERMIHJl cGxpY2F0aW9uIGxldmVscywgdGVzdCBvdXRwdXQgcHVibGljYXRpb24ub3V0IGlzCnVwZGF0ZWQg YWNjb3JkaW5nbHkuIHBnX2R1bXAgaXMgYWxzbyBtb2RpZmllZCB0byBhY2NvbW1vZGF0ZSB0aGUK cGdfcHVibGljYXRpb24gY2F0YWxvZyBjaGFuZ2UuCi0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9w Z19wdWJsaWNhdGlvbi5jICAgICAgfCAgIDIgKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvcHVibGlj YXRpb25jbWRzLmMgICAgfCAgODkgKysrKystCiBzcmMvYmFja2VuZC91dGlscy9jYWNoZS9yZWxj YWNoZS5jICAgICAgICB8ICAgMiArCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jICAgICAgICAg ICAgICAgICB8ICA0NSArKy0KIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmggICAgICAgICAgICAg ICAgIHwgICAyICsKIHNyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsICAgICAgICAgIHwg IDEwICstCiBzcmMvYmluL3BzcWwvZGVzY3JpYmUuYyAgICAgICAgICAgICAgICAgICB8ICAzMCAr LQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oICAgICAgfCAgMTAgKwogc3Jj L2luY2x1ZGUvY29tbWFuZHMvZGVmcmVtLmggICAgICAgICAgICAgfCAgIDEgKwogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQgfCAzNzIgKysrKysrKysrKystLS0tLS0t LS0tLQogMTAgZmlsZXMgY2hhbmdlZCwgMzY0IGluc2VydGlvbnMoKyksIDE5OSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMgYi9z cmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKaW5kZXggOGM3ZmNhNjJkZS4uYjhh YjFkODE0MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5j CisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwpAQCAtMTAwNiw2ICsx MDA2LDggQEAgR2V0UHVibGljYXRpb24oT2lkIHB1YmlkKQogCXB1Yi0+cHViYWN0aW9ucy5wdWJk ZWxldGUgPSBwdWJmb3JtLT5wdWJkZWxldGU7CiAJcHViLT5wdWJhY3Rpb25zLnB1YnRydW5jYXRl ID0gcHViZm9ybS0+cHVidHJ1bmNhdGU7CiAJcHViLT5wdWJ2aWFyb290ID0gcHViZm9ybS0+cHVi dmlhcm9vdDsKKwlwdWItPnB1YmFjdGlvbnMucHViZGRsX2RhdGFiYXNlID0gcHViZm9ybS0+cHVi ZGRsX2RhdGFiYXNlOworCXB1Yi0+cHViYWN0aW9ucy5wdWJkZGxfdGFibGUgPSBwdWJmb3JtLT5w dWJkZGxfdGFibGU7CiAKIAlSZWxlYXNlU3lzQ2FjaGUodHVwKTsKIApkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY29tbWFuZHMvcHVibGljYXRpb25jbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5k cy9wdWJsaWNhdGlvbmNtZHMuYwppbmRleCA4ZTY0NTc0MWU0Li5lZGNlYWEwYzRlIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9wdWJsaWNhdGlvbmNtZHMuYwpAQCAtODAsMTUgKzgwLDE4IEBAIHN0YXRp YyB2b2lkIFB1YmxpY2F0aW9uRHJvcFNjaGVtYXMoT2lkIHB1YmlkLCBMaXN0ICpzY2hlbWFzLCBi b29sIG1pc3Npbmdfb2spOwogc3RhdGljIHZvaWQKIHBhcnNlX3B1YmxpY2F0aW9uX29wdGlvbnMo UGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJICBMaXN0ICpvcHRpb25zLAorCQkJCQkJICBib29s IGZvcl9hbGxfdGFibGVzLAogCQkJCQkJICBib29sICpwdWJsaXNoX2dpdmVuLAogCQkJCQkJICBQ dWJsaWNhdGlvbkFjdGlvbnMgKnB1YmFjdGlvbnMsCiAJCQkJCQkgIGJvb2wgKnB1Ymxpc2hfdmlh X3BhcnRpdGlvbl9yb290X2dpdmVuLAotCQkJCQkJICBib29sICpwdWJsaXNoX3ZpYV9wYXJ0aXRp b25fcm9vdCkKKwkJCQkJCSAgYm9vbCAqcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QsCisJCQkJ CQkgIGJvb2wgKmRkbF9sZXZlbF9naXZlbikKIHsKIAlMaXN0Q2VsbCAgICpsYzsKIAogCSpwdWJs aXNoX2dpdmVuID0gZmFsc2U7CiAJKnB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290X2dpdmVuID0g ZmFsc2U7CisJKmRkbF9sZXZlbF9naXZlbiA9IGZhbHNlOwogCiAJLyogZGVmYXVsdHMgKi8KIAlw dWJhY3Rpb25zLT5wdWJpbnNlcnQgPSB0cnVlOwpAQCAtOTYsNiArOTksMTYgQEAgcGFyc2VfcHVi bGljYXRpb25fb3B0aW9ucyhQYXJzZVN0YXRlICpwc3RhdGUsCiAJcHViYWN0aW9ucy0+cHViZGVs ZXRlID0gdHJ1ZTsKIAlwdWJhY3Rpb25zLT5wdWJ0cnVuY2F0ZSA9IHRydWU7CiAJKnB1Ymxpc2hf dmlhX3BhcnRpdGlvbl9yb290ID0gZmFsc2U7CisJaWYgKGZvcl9hbGxfdGFibGVzKQorCXsKKwkJ cHViYWN0aW9ucy0+cHViZGRsX2RhdGFiYXNlID0gdHJ1ZTsKKwkJcHViYWN0aW9ucy0+cHViZGRs X3RhYmxlID0gdHJ1ZTsKKwl9CisJZWxzZQorCXsKKwkJcHViYWN0aW9ucy0+cHViZGRsX2RhdGFi YXNlID0gZmFsc2U7CisJCXB1YmFjdGlvbnMtPnB1YmRkbF90YWJsZSA9IGZhbHNlOworCX0KIAog CS8qIFBhcnNlIG9wdGlvbnMgKi8KIAlmb3JlYWNoKGxjLCBvcHRpb25zKQpAQCAtMTU0LDYgKzE2 Nyw1NSBAQCBwYXJzZV9wdWJsaWNhdGlvbl9vcHRpb25zKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJ CSpwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdF9naXZlbiA9IHRydWU7CiAJCQkqcHVibGlzaF92 aWFfcGFydGl0aW9uX3Jvb3QgPSBkZWZHZXRCb29sZWFuKGRlZmVsKTsKIAkJfQorCQllbHNlIGlm IChzdHJjbXAoZGVmZWwtPmRlZm5hbWUsICJkZGwiKSA9PSAwKQorCQl7CisJCQljaGFyCSAgICpk ZGxfbGV2ZWw7CisJCQlMaXN0CSAgICpkZGxfbGlzdDsKKwkJCUxpc3RDZWxsICAgKmxjOworCisJ CQlpZiAoKmRkbF9sZXZlbF9naXZlbikKKwkJCQllcnJvckNvbmZsaWN0aW5nRGVmRWxlbShkZWZl bCwgcHN0YXRlKTsKKworCQkJLyoKKwkJCSAqIElmIHB1Ymxpc2ggb3B0aW9uIHdhcyBnaXZlbiBv bmx5IHRoZSBleHBsaWNpdGx5IGxpc3RlZCBhY3Rpb25zCisJCQkgKiBzaG91bGQgYmUgcHVibGlz aGVkLgorCQkJICovCisJCQlwdWJhY3Rpb25zLT5wdWJkZGxfZGF0YWJhc2UgPSBmYWxzZTsKKwkJ CXB1YmFjdGlvbnMtPnB1YmRkbF90YWJsZSA9IGZhbHNlOworCisJCQkqZGRsX2xldmVsX2dpdmVu ID0gdHJ1ZTsKKwkJCWRkbF9sZXZlbCA9IGRlZkdldFN0cmluZyhkZWZlbCk7CisKKwkJCWlmICgh U3BsaXRJZGVudGlmaWVyU3RyaW5nKGRkbF9sZXZlbCwgJywnLCAmZGRsX2xpc3QpKQorCQkJCWVy ZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJ CQkgZXJybXNnKCJpbnZhbGlkIGxpc3Qgc3ludGF4IGZvciBcImRkbFwiIG9wdGlvbiIpKSk7CisK KwkJCS8qIFByb2Nlc3MgdGhlIG9wdGlvbiBsaXN0LiAqLworCQkJZm9yZWFjaChsYywgZGRsX2xp c3QpCisJCQl7CisJCQkJY2hhcgkgICAqcHVibGlzaF9vcHQgPSAoY2hhciAqKSBsZmlyc3QobGMp OworCisJCQkJaWYgKHN0cmNtcChwdWJsaXNoX29wdCwgImRhdGFiYXNlIikgPT0gMCkKKwkJCQl7 CisJCQkJCWlmICghZm9yX2FsbF90YWJsZXMpCisJCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJ CQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCQkJCSBlcnJtc2coIkRETCBy ZXBsaWNhdGlvbiBvbiB0aGUgZGF0YWJhc2UgbGV2ZWwgaXMgb25seSBzdXBwb3J0ZWQgaW4gRk9S IEFMTCBUQUJMRVMgcHVibGljYXRpb24iKSkpOworCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCXB1 YmFjdGlvbnMtPnB1YmRkbF9kYXRhYmFzZSA9IHRydWU7CisJCQkJCQlwdWJhY3Rpb25zLT5wdWJk ZGxfdGFibGUgPSB0cnVlOworCQkJCQl9CisJCQkJfQorCQkJCWVsc2UgaWYgKHN0cmNtcChwdWJs aXNoX29wdCwgInRhYmxlIikgPT0gMCkKKwkJCQkJcHViYWN0aW9ucy0+cHViZGRsX3RhYmxlID0g dHJ1ZTsKKwkJCQllbHNlCisJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJKGVycmNvZGUoRVJS Q09ERV9TWU5UQVhfRVJST1IpLAorCQkJCQkJCSBlcnJtc2coInVucmVjb2duaXplZCBcImRkbFwi IHZhbHVlOiBcIiVzXCIiLCBwdWJsaXNoX29wdCkpKTsKKwkJCX0KKwkJfQogCQllbHNlCiAJCQll cmVwb3J0KEVSUk9SLAogCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCkBAIC03 NjEsNiArODIzLDcgQEAgQ3JlYXRlUHVibGljYXRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVh dGVQdWJsaWNhdGlvblN0bXQgKnN0bXQpCiAJRGF0dW0JCXZhbHVlc1tOYXR0c19wZ19wdWJsaWNh dGlvbl07CiAJSGVhcFR1cGxlCXR1cDsKIAlib29sCQlwdWJsaXNoX2dpdmVuOworCWJvb2wJCWRk bF9sZXZlbF9naXZlbjsKIAlQdWJsaWNhdGlvbkFjdGlvbnMgcHViYWN0aW9uczsKIAlib29sCQlw dWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdF9naXZlbjsKIAlib29sCQlwdWJsaXNoX3ZpYV9wYXJ0 aXRpb25fcm9vdDsKQEAgLTgwMyw5ICs4NjYsMTEgQEAgQ3JlYXRlUHVibGljYXRpb24oUGFyc2VT dGF0ZSAqcHN0YXRlLCBDcmVhdGVQdWJsaWNhdGlvblN0bXQgKnN0bXQpCiAKIAlwYXJzZV9wdWJs aWNhdGlvbl9vcHRpb25zKHBzdGF0ZSwKIAkJCQkJCQkgIHN0bXQtPm9wdGlvbnMsCisJCQkJCQkJ ICBzdG10LT5mb3JfYWxsX3RhYmxlcywKIAkJCQkJCQkgICZwdWJsaXNoX2dpdmVuLCAmcHViYWN0 aW9ucywKIAkJCQkJCQkgICZwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdF9naXZlbiwKLQkJCQkJ CQkgICZwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCk7CisJCQkJCQkJICAmcHVibGlzaF92aWFf cGFydGl0aW9uX3Jvb3QsCisJCQkJCQkJICAmZGRsX2xldmVsX2dpdmVuKTsKIAogCXB1Ym9pZCA9 IEdldE5ld09pZFdpdGhJbmRleChyZWwsIFB1YmxpY2F0aW9uT2JqZWN0SW5kZXhJZCwKIAkJCQkJ CQkJQW51bV9wZ19wdWJsaWNhdGlvbl9vaWQpOwpAQCAtODIyLDYgKzg4NywxMCBAQCBDcmVhdGVQ dWJsaWNhdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVB1YmxpY2F0aW9uU3RtdCAqc3Rt dCkKIAkJQm9vbEdldERhdHVtKHB1YmFjdGlvbnMucHVidHJ1bmNhdGUpOwogCXZhbHVlc1tBbnVt X3BnX3B1YmxpY2F0aW9uX3B1YnZpYXJvb3QgLSAxXSA9CiAJCUJvb2xHZXREYXR1bShwdWJsaXNo X3ZpYV9wYXJ0aXRpb25fcm9vdCk7CisJdmFsdWVzW0FudW1fcGdfcHVibGljYXRpb25fcHViZGRs X2RhdGFiYXNlIC0gMV0gPQorCQlCb29sR2V0RGF0dW0ocHViYWN0aW9ucy5wdWJkZGxfZGF0YWJh c2UpOworCXZhbHVlc1tBbnVtX3BnX3B1YmxpY2F0aW9uX3B1YmRkbF90YWJsZSAtIDFdID0KKwkJ Qm9vbEdldERhdHVtKHB1YmFjdGlvbnMucHViZGRsX3RhYmxlKTsKIAogCXR1cCA9IGhlYXBfZm9y bV90dXBsZShSZWxhdGlvbkdldERlc2NyKHJlbCksIHZhbHVlcywgbnVsbHMpOwogCkBAIC05MDgs NiArOTc3LDcgQEAgQWx0ZXJQdWJsaWNhdGlvbk9wdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBB bHRlclB1YmxpY2F0aW9uU3RtdCAqc3RtdCwKIAlib29sCQlyZXBsYWNlc1tOYXR0c19wZ19wdWJs aWNhdGlvbl07CiAJRGF0dW0JCXZhbHVlc1tOYXR0c19wZ19wdWJsaWNhdGlvbl07CiAJYm9vbAkJ cHVibGlzaF9naXZlbjsKKwlib29sICAgICAgICBkZGxfbGV2ZWxfZ2l2ZW47CiAJUHVibGljYXRp b25BY3Rpb25zIHB1YmFjdGlvbnM7CiAJYm9vbAkJcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Rf Z2l2ZW47CiAJYm9vbAkJcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3Q7CkBAIC05MTYsMTEgKzk4 NiwxNSBAQCBBbHRlclB1YmxpY2F0aW9uT3B0aW9ucyhQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVy UHVibGljYXRpb25TdG10ICpzdG10LAogCUxpc3QJICAgKnJvb3RfcmVsaWRzID0gTklMOwogCUxp c3RDZWxsICAgKmxjOwogCisJcHViZm9ybSA9IChGb3JtX3BnX3B1YmxpY2F0aW9uKSBHRVRTVFJV Q1QodHVwKTsKKwogCXBhcnNlX3B1YmxpY2F0aW9uX29wdGlvbnMocHN0YXRlLAogCQkJCQkJCSAg c3RtdC0+b3B0aW9ucywKKwkJCQkJCQkgIHB1YmZvcm0tPnB1YmFsbHRhYmxlcywKIAkJCQkJCQkg ICZwdWJsaXNoX2dpdmVuLCAmcHViYWN0aW9ucywKIAkJCQkJCQkgICZwdWJsaXNoX3ZpYV9wYXJ0 aXRpb25fcm9vdF9naXZlbiwKLQkJCQkJCQkgICZwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCk7 CisJCQkJCQkJICAmcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QsCisJCQkJCQkJICAmZGRsX2xl dmVsX2dpdmVuKTsKIAogCXB1YmZvcm0gPSAoRm9ybV9wZ19wdWJsaWNhdGlvbikgR0VUU1RSVUNU KHR1cCk7CiAKQEAgLTEwMjQsNiArMTA5OCwxNSBAQCBBbHRlclB1YmxpY2F0aW9uT3B0aW9ucyhQ YXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyUHVibGljYXRpb25TdG10ICpzdG10LAogCQlyZXBsYWNl c1tBbnVtX3BnX3B1YmxpY2F0aW9uX3B1YnRydW5jYXRlIC0gMV0gPSB0cnVlOwogCX0KIAorCWlm IChkZGxfbGV2ZWxfZ2l2ZW4pCisJeworCQl2YWx1ZXNbQW51bV9wZ19wdWJsaWNhdGlvbl9wdWJk ZGxfZGF0YWJhc2UgLSAxXSA9IEJvb2xHZXREYXR1bShwdWJhY3Rpb25zLnB1YmRkbF9kYXRhYmFz ZSk7CisJCXJlcGxhY2VzW0FudW1fcGdfcHVibGljYXRpb25fcHViZGRsX2RhdGFiYXNlIC0gMV0g PSB0cnVlOworCisJCXZhbHVlc1tBbnVtX3BnX3B1YmxpY2F0aW9uX3B1YmRkbF90YWJsZSAtIDFd ID0gQm9vbEdldERhdHVtKHB1YmFjdGlvbnMucHViZGRsX3RhYmxlKTsKKwkJcmVwbGFjZXNbQW51 bV9wZ19wdWJsaWNhdGlvbl9wdWJkZGxfdGFibGUgLSAxXSA9IHRydWU7CisJfQorCiAJaWYgKHB1 Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290X2dpdmVuKQogCXsKIAkJdmFsdWVzW0FudW1fcGdfcHVi bGljYXRpb25fcHVidmlhcm9vdCAtIDFdID0gQm9vbEdldERhdHVtKHB1Ymxpc2hfdmlhX3BhcnRp dGlvbl9yb290KTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3JlbGNhY2hl LmMgYi9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9yZWxjYWNoZS5jCmluZGV4IDBlOGZkYTk3Zjgu LmZjYzY1MWRhZTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3JlbGNhY2hl LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvcmVsY2FjaGUuYwpAQCAtNTYyNyw2ICs1 NjI3LDggQEAgUmVsYXRpb25CdWlsZFB1YmxpY2F0aW9uRGVzYyhSZWxhdGlvbiByZWxhdGlvbiwg UHVibGljYXRpb25EZXNjICpwdWJkZXNjKQogCQlwdWJkZXNjLT5wdWJhY3Rpb25zLnB1YnVwZGF0 ZSB8PSBwdWJmb3JtLT5wdWJ1cGRhdGU7CiAJCXB1YmRlc2MtPnB1YmFjdGlvbnMucHViZGVsZXRl IHw9IHB1YmZvcm0tPnB1YmRlbGV0ZTsKIAkJcHViZGVzYy0+cHViYWN0aW9ucy5wdWJ0cnVuY2F0 ZSB8PSBwdWJmb3JtLT5wdWJ0cnVuY2F0ZTsKKwkJcHViZGVzYy0+cHViYWN0aW9ucy5wdWJkZGxf ZGF0YWJhc2UgfD0gcHViZm9ybS0+cHViZGRsX2RhdGFiYXNlOworCQlwdWJkZXNjLT5wdWJhY3Rp b25zLnB1YmRkbF90YWJsZSB8PSBwdWJmb3JtLT5wdWJkZGxfdGFibGU7CiAKIAkJLyoKIAkJICog Q2hlY2sgaWYgYWxsIGNvbHVtbnMgcmVmZXJlbmNlZCBpbiB0aGUgZmlsdGVyIGV4cHJlc3Npb24g YXJlIHBhcnQKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDdjYzljNzJlNDkuLjg4NjA1MTBhYzEgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuYwpAQCAtMzg2OCw2ICszODY4LDggQEAgZ2V0UHVibGljYXRpb25zKEFyY2hpdmUgKmZvdXQs IGludCAqbnVtUHVibGljYXRpb25zKQogCWludAkJCWlfcHViZGVsZXRlOwogCWludAkJCWlfcHVi dHJ1bmNhdGU7CiAJaW50CQkJaV9wdWJ2aWFyb290OworCWludAkJCWlfcHViZGRsX2RhdGFiYXNl OworCWludAkJCWlfcHViZGRsX3RhYmxlOwogCWludAkJCWksCiAJCQkJbnR1cHM7CiAKQEAgLTM4 ODIsMjMgKzM4ODQsMjkgQEAgZ2V0UHVibGljYXRpb25zKEFyY2hpdmUgKmZvdXQsIGludCAqbnVt UHVibGljYXRpb25zKQogCXJlc2V0UFFFeHBCdWZmZXIocXVlcnkpOwogCiAJLyogR2V0IHRoZSBw dWJsaWNhdGlvbnMuICovCi0JaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTMwMDAwKQorCWlm IChmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE1MDAwMCkKKwkJYXBwZW5kUFFFeHBCdWZmZXIocXVl cnksCisJCQkJCQkgICJTRUxFQ1QgcC50YWJsZW9pZCwgcC5vaWQsIHAucHVibmFtZSwgIgorCQkJ CQkJICAicC5wdWJvd25lciwgIgorCQkJCQkJICAicC5wdWJhbGx0YWJsZXMsIHAucHViaW5zZXJ0 LCBwLnB1YnVwZGF0ZSwgcC5wdWJkZWxldGUsIHAucHVidHJ1bmNhdGUsIHAucHVidmlhcm9vdCwg cC5wdWJkZGxfZGF0YWJhc2UsIHAucHViZGRsX3RhYmxlICIKKwkJCQkJCSAgIkZST00gcGdfcHVi bGljYXRpb24gcCIpOworCWVsc2UgaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTMwMDAwKQog CQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwKIAkJCQkJCSAgIlNFTEVDVCBwLnRhYmxlb2lkLCBw Lm9pZCwgcC5wdWJuYW1lLCAiCiAJCQkJCQkgICJwLnB1Ym93bmVyLCAiCi0JCQkJCQkgICJwLnB1 YmFsbHRhYmxlcywgcC5wdWJpbnNlcnQsIHAucHVidXBkYXRlLCBwLnB1YmRlbGV0ZSwgcC5wdWJ0 cnVuY2F0ZSwgcC5wdWJ2aWFyb290ICIKKwkJCQkJCSAgInAucHViYWxsdGFibGVzLCBwLnB1Ymlu c2VydCwgcC5wdWJ1cGRhdGUsIHAucHViZGVsZXRlLCBwLnB1YnRydW5jYXRlLCBwLnB1YnZpYXJv b3QsIGZhbHNlIEFTIHB1YmRkbF9kYXRhYmFzZSwgZmFsc2UgQVMgcHViZGRsX3RhYmxlICIKIAkJ CQkJCSAgIkZST00gcGdfcHVibGljYXRpb24gcCIpOwogCWVsc2UgaWYgKGZvdXQtPnJlbW90ZVZl cnNpb24gPj0gMTEwMDAwKQogCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwKIAkJCQkJCSAgIlNF TEVDVCBwLnRhYmxlb2lkLCBwLm9pZCwgcC5wdWJuYW1lLCAiCiAJCQkJCQkgICJwLnB1Ym93bmVy LCAiCi0JCQkJCQkgICJwLnB1YmFsbHRhYmxlcywgcC5wdWJpbnNlcnQsIHAucHVidXBkYXRlLCBw LnB1YmRlbGV0ZSwgcC5wdWJ0cnVuY2F0ZSwgZmFsc2UgQVMgcHVidmlhcm9vdCAiCisJCQkJCQkg ICJwLnB1YmFsbHRhYmxlcywgcC5wdWJpbnNlcnQsIHAucHVidXBkYXRlLCBwLnB1YmRlbGV0ZSwg cC5wdWJ0cnVuY2F0ZSwgZmFsc2UgQVMgcHVidmlhcm9vdCwgZmFsc2UgQVMgcHViZGRsX2RhdGFi YXNlLCBmYWxzZSBBUyBwdWJkZGxfdGFibGUgIgogCQkJCQkJICAiRlJPTSBwZ19wdWJsaWNhdGlv biBwIik7CiAJZWxzZQogCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwKIAkJCQkJCSAgIlNFTEVD VCBwLnRhYmxlb2lkLCBwLm9pZCwgcC5wdWJuYW1lLCAiCiAJCQkJCQkgICJwLnB1Ym93bmVyLCAi Ci0JCQkJCQkgICJwLnB1YmFsbHRhYmxlcywgcC5wdWJpbnNlcnQsIHAucHVidXBkYXRlLCBwLnB1 YmRlbGV0ZSwgZmFsc2UgQVMgcHVidHJ1bmNhdGUsIGZhbHNlIEFTIHB1YnZpYXJvb3QgIgorCQkJ CQkJICAicC5wdWJhbGx0YWJsZXMsIHAucHViaW5zZXJ0LCBwLnB1YnVwZGF0ZSwgcC5wdWJkZWxl dGUsIGZhbHNlIEFTIHB1YnRydW5jYXRlLCBmYWxzZSBBUyBwdWJ2aWFyb290LCBmYWxzZSBBUyBw dWJkZGxfZGF0YWJhc2UsIGZhbHNlIEFTIHB1YmRkbF90YWJsZSAiCiAJCQkJCQkgICJGUk9NIHBn X3B1YmxpY2F0aW9uIHAiKTsKIAogCXJlcyA9IEV4ZWN1dGVTcWxRdWVyeShmb3V0LCBxdWVyeS0+ ZGF0YSwgUEdSRVNfVFVQTEVTX09LKTsKQEAgLTM5MTUsNiArMzkyMyw4IEBAIGdldFB1YmxpY2F0 aW9ucyhBcmNoaXZlICpmb3V0LCBpbnQgKm51bVB1YmxpY2F0aW9ucykKIAlpX3B1YmRlbGV0ZSA9 IFBRZm51bWJlcihyZXMsICJwdWJkZWxldGUiKTsKIAlpX3B1YnRydW5jYXRlID0gUFFmbnVtYmVy KHJlcywgInB1YnRydW5jYXRlIik7CiAJaV9wdWJ2aWFyb290ID0gUFFmbnVtYmVyKHJlcywgInB1 YnZpYXJvb3QiKTsKKwlpX3B1YmRkbF9kYXRhYmFzZSA9IFBRZm51bWJlcihyZXMsICJwdWJkZGxf ZGF0YWJhc2UiKTsKKwlpX3B1YmRkbF90YWJsZSA9IFBRZm51bWJlcihyZXMsICJwdWJkZGxfdGFi bGUiKTsKIAogCXB1YmluZm8gPSBwZ19tYWxsb2MobnR1cHMgKiBzaXplb2YoUHVibGljYXRpb25J bmZvKSk7CiAKQEAgLTM5MzksNiArMzk0OSwxMCBAQCBnZXRQdWJsaWNhdGlvbnMoQXJjaGl2ZSAq Zm91dCwgaW50ICpudW1QdWJsaWNhdGlvbnMpCiAJCQkoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCBp LCBpX3B1YnRydW5jYXRlKSwgInQiKSA9PSAwKTsKIAkJcHViaW5mb1tpXS5wdWJ2aWFyb290ID0K IAkJCShzdHJjbXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfcHVidmlhcm9vdCksICJ0IikgPT0gMCk7 CisJCXB1YmluZm9baV0ucHViZGRsX2RhdGFiYXNlID0KKwkJCShzdHJjbXAoUFFnZXR2YWx1ZShy ZXMsIGksIGlfcHViZGRsX2RhdGFiYXNlKSwgInQiKSA9PSAwKTsKKwkJcHViaW5mb1tpXS5wdWJk ZGxfdGFibGUgPQorCQkJKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgaV9wdWJkZGxfdGFibGUp LCAidCIpID09IDApOwogCiAJCS8qIERlY2lkZSB3aGV0aGVyIHdlIHdhbnQgdG8gZHVtcCBpdCAq LwogCQlzZWxlY3REdW1wYWJsZU9iamVjdCgmKHB1YmluZm9baV0uZG9iaiksIGZvdXQpOwpAQCAt NDAxOCw2ICs0MDMyLDI5IEBAIGR1bXBQdWJsaWNhdGlvbihBcmNoaXZlICpmb3V0LCBjb25zdCBQ dWJsaWNhdGlvbkluZm8gKnB1YmluZm8pCiAKIAlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwg IiciKTsKIAorCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiLCBkZGwgPSAnIik7CisJZmly c3QgPSB0cnVlOworCisJaWYgKHB1YmluZm8tPnB1YmRkbF9kYXRhYmFzZSkKKwl7CisJCWlmICgh Zmlyc3QpCisJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiwgIik7CisKKwkJYXBwZW5k UFFFeHBCdWZmZXJTdHIocXVlcnksICJkYXRhYmFzZSIpOworCQlmaXJzdCA9IGZhbHNlOworCX0K KworCWlmIChwdWJpbmZvLT5wdWJkZGxfdGFibGUpCisJeworCQlpZiAoIWZpcnN0KQorCQkJYXBw ZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIsICIpOworCisJCWFwcGVuZFBRRXhwQnVmZmVyU3Ry KHF1ZXJ5LCAidGFibGUiKTsKKwkJZmlyc3QgPSBmYWxzZTsKKwl9CisKKwlhcHBlbmRQUUV4cEJ1 ZmZlclN0cihxdWVyeSwgIiciKTsKKwogCWlmIChwdWJpbmZvLT5wdWJ2aWFyb290KQogCQlhcHBl bmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiwgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSB0 cnVlIik7CiAKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmggYi9zcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5oCmluZGV4IDFkMjFjMjkwNmYuLjhjNWVmMDFjYjAgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuaApAQCAtNjIwLDYgKzYyMCw4IEBAIHR5cGVkZWYgc3RydWN0IF9QdWJsaWNhdGlvbkluZm8K IAlib29sCQlwdWJkZWxldGU7CiAJYm9vbAkJcHVidHJ1bmNhdGU7CiAJYm9vbAkJcHVidmlhcm9v dDsKKwlib29sCQlwdWJkZGxfZGF0YWJhc2U7CisJYm9vbAkJcHViZGRsX3RhYmxlOwogfSBQdWJs aWNhdGlvbkluZm87CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdf ZHVtcC5wbCBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCmluZGV4IDFmMDg3MTZm NjkuLmNiZmNhYmNmYTggMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1w LnBsCisrKyBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCkBAIC0yNDIwLDcgKzI0 MjAsNyBAQCBteSAldGVzdHMgPSAoCiAJCWNyZWF0ZV9vcmRlciA9PiA1MCwKIAkJY3JlYXRlX3Nx bCAgID0+ICdDUkVBVEUgUFVCTElDQVRJT04gcHViMTsnLAogCQlyZWdleHAgICAgICAgPT4gcXIv XgotCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViMSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwg dXBkYXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUKKwkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1 YjEgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0cnVuY2F0ZScsIGRk bCA9ICcnKTtcRQogCQkJL3htLAogCQlsaWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wb3N0 X2RhdGEgPT4gMSwgfSwKIAl9LApAQCAtMjQyOSw5ICsyNDI5LDkgQEAgbXkgJXRlc3RzID0gKAog CQljcmVhdGVfb3JkZXIgPT4gNTAsCiAJCWNyZWF0ZV9zcWwgICA9PiAnQ1JFQVRFIFBVQkxJQ0FU SU9OIHB1YjIKIAkJCQkJCSBGT1IgQUxMIFRBQkxFUwotCQkJCQkJIFdJVEggKHB1Ymxpc2ggPSBc J1wnKTsnLAorCQkJCQkJIFdJVEggKHB1Ymxpc2ggPSBcJ1wnLCBkZGwgPSBcJ1wnKTsnLAogCQly ZWdleHAgPT4gcXIvXgotCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViMiBGT1IgQUxMIFRBQkxF UyBXSVRIIChwdWJsaXNoID0gJycpO1xFCisJCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWIyIEZP UiBBTEwgVEFCTEVTIFdJVEggKHB1Ymxpc2ggPSAnJywgZGRsID0gJycpO1xFCiAJCQkveG0sCiAJ CWxpa2UgPT4geyAlZnVsbF9ydW5zLCBzZWN0aW9uX3Bvc3RfZGF0YSA9PiAxLCB9LAogCX0sCkBA IC0yNDQwLDcgKzI0NDAsNyBAQCBteSAldGVzdHMgPSAoCiAJCWNyZWF0ZV9vcmRlciA9PiA1MCwK IAkJY3JlYXRlX3NxbCAgID0+ICdDUkVBVEUgUFVCTElDQVRJT04gcHViMzsnLAogCQlyZWdleHAg ICAgICAgPT4gcXIvXgotCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViMyBXSVRIIChwdWJsaXNo ID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUKKwkJCVxRQ1JFQVRFIFBV QkxJQ0FUSU9OIHB1YjMgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0 cnVuY2F0ZScsIGRkbCA9ICcnKTtcRQogCQkJL3htLAogCQlsaWtlID0+IHsgJWZ1bGxfcnVucywg c2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwgfSwKIAl9LApAQCAtMjQ0OSw3ICsyNDQ5LDcgQEAgbXkg JXRlc3RzID0gKAogCQljcmVhdGVfb3JkZXIgPT4gNTAsCiAJCWNyZWF0ZV9zcWwgICA9PiAnQ1JF QVRFIFBVQkxJQ0FUSU9OIHB1YjQ7JywKIAkJcmVnZXhwICAgICAgID0+IHFyL14KLQkJCVxRQ1JF QVRFIFBVQkxJQ0FUSU9OIHB1YjQgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVs ZXRlLCB0cnVuY2F0ZScpO1xFCisJCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWI0IFdJVEggKHB1 Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnLCBkZGwgPSAnJyk7XEUK IAkJCS94bSwKIAkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rpb25fcG9zdF9kYXRhID0+IDEs IH0sCiAJfSwKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jIGIvc3JjL2Jpbi9w c3FsL2Rlc2NyaWJlLmMKaW5kZXggMWE1ZDkyNGEyMy4uYjA3YzZiMTg0MSAxMDA2NDQKLS0tIGEv c3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKKysrIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKQEAg LTYwNTAsNyArNjA1MCw3IEBAIGxpc3RQdWJsaWNhdGlvbnMoY29uc3QgY2hhciAqcGF0dGVybikK IAlQUUV4cEJ1ZmZlckRhdGEgYnVmOwogCVBHcmVzdWx0ICAgKnJlczsKIAlwcmludFF1ZXJ5T3B0 IG15b3B0ID0gcHNldC5wb3B0OwotCXN0YXRpYyBjb25zdCBib29sIHRyYW5zbGF0ZV9jb2x1bW5z W10gPSB7ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlfTsKKwlzdGF0aWMgY29uc3QgYm9vbCB0cmFuc2xhdGVfY29sdW1uc1tdID0ge2ZhbHNlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlfTsKIAogCWlmIChwc2V0LnN2ZXJzaW9uIDwgMTAwMDAwKQogCXsKQEAgLTYwODUsNiArNjA4 NSwxNSBAQCBsaXN0UHVibGljYXRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4pCiAJCWFwcGVuZFBR RXhwQnVmZmVyKCZidWYsCiAJCQkJCQkgICIsXG4gIHB1YnZpYXJvb3QgQVMgXCIlc1wiIiwKIAkJ CQkJCSAgZ2V0dGV4dF9ub29wKCJWaWEgcm9vdCIpKTsKKwlpZiAocHNldC5zdmVyc2lvbiA+PSAx NDAwMDApCisJeworCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJICAiLFxuICBwdWJk ZGxfZGF0YWJhc2UgQVMgXCIlc1wiIiwKKwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJEYXRhYmFzZSBs ZXZlbCBERExzIikpOworCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAorCQkJCQkJICAiLFxuICBw dWJkZGxfdGFibGUgQVMgXCIlc1wiIiwKKwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJUYWJsZSBsZXZl bCBERExzIikpOworCX0KIAogCWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZidWYsCiAJCQkJCQkgIlxu RlJPTSBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uXG4iKTsKQEAgLTYxNzIsNiArNjE4MSw3IEBA IGRlc2NyaWJlUHVibGljYXRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4pCiAJUEdyZXN1bHQgICAq cmVzOwogCWJvb2wJCWhhc19wdWJ0cnVuY2F0ZTsKIAlib29sCQloYXNfcHVidmlhcm9vdDsKKwli b29sCQloYXNfcHViZGRsOwogCiAJUFFFeHBCdWZmZXJEYXRhIHRpdGxlOwogCXByaW50VGFibGVD b250ZW50IGNvbnQ7CkBAIC02MTg4LDYgKzYxOTgsNyBAQCBkZXNjcmliZVB1YmxpY2F0aW9ucyhj b25zdCBjaGFyICpwYXR0ZXJuKQogCiAJaGFzX3B1YnRydW5jYXRlID0gKHBzZXQuc3ZlcnNpb24g Pj0gMTEwMDAwKTsKIAloYXNfcHVidmlhcm9vdCA9IChwc2V0LnN2ZXJzaW9uID49IDEzMDAwMCk7 CisJaGFzX3B1YmRkbCA9IChwc2V0LnN2ZXJzaW9uID49IDE1MDAwMCk7CiAKIAlpbml0UFFFeHBC dWZmZXIoJmJ1Zik7CiAKQEAgLTYyMDEsNiArNjIxMiwxMSBAQCBkZXNjcmliZVB1YmxpY2F0aW9u cyhjb25zdCBjaGFyICpwYXR0ZXJuKQogCWlmIChoYXNfcHVidmlhcm9vdCkKIAkJYXBwZW5kUFFF eHBCdWZmZXJTdHIoJmJ1ZiwKIAkJCQkJCQkgIiwgcHVidmlhcm9vdCIpOworCWlmIChoYXNfcHVi ZGRsKQorCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwKKwkJCQkJCQkgIiwgcHViZGRs X2RhdGFiYXNlLCBwdWJkZGxfdGFibGUiKTsKKwl9CiAJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1 ZiwKIAkJCQkJCSAiXG5GUk9NIHBnX2NhdGFsb2cucGdfcHVibGljYXRpb25cbiIpOwogCkBAIC02 MjQ5LDYgKzYyNjUsOCBAQCBkZXNjcmliZVB1YmxpY2F0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJu KQogCQkJbmNvbHMrKzsKIAkJaWYgKGhhc19wdWJ2aWFyb290KQogCQkJbmNvbHMrKzsKKwkJaWYg KGhhc19wdWJkZGwpCisJCQluY29scyArPSAyOwogCiAJCWluaXRQUUV4cEJ1ZmZlcigmdGl0bGUp OwogCQlwcmludGZQUUV4cEJ1ZmZlcigmdGl0bGUsIF8oIlB1YmxpY2F0aW9uICVzIiksIHB1Ym5h bWUpOwpAQCAtNjI2Myw2ICs2MjgxLDExIEBAIGRlc2NyaWJlUHVibGljYXRpb25zKGNvbnN0IGNo YXIgKnBhdHRlcm4pCiAJCQlwcmludFRhYmxlQWRkSGVhZGVyKCZjb250LCBnZXR0ZXh0X25vb3Ao IlRydW5jYXRlcyIpLCB0cnVlLCBhbGlnbik7CiAJCWlmIChoYXNfcHVidmlhcm9vdCkKIAkJCXBy aW50VGFibGVBZGRIZWFkZXIoJmNvbnQsIGdldHRleHRfbm9vcCgiVmlhIHJvb3QiKSwgdHJ1ZSwg YWxpZ24pOworCQlpZiAoaGFzX3B1YmRkbCkKKwkJeworCQkJcHJpbnRUYWJsZUFkZEhlYWRlcigm Y29udCwgZ2V0dGV4dF9ub29wKCJEYXRhYmFzZSBsZXZlbCBEREwiKSwgdHJ1ZSwgYWxpZ24pOwor CQkJcHJpbnRUYWJsZUFkZEhlYWRlcigmY29udCwgZ2V0dGV4dF9ub29wKCJUYWJsZSBsZXZlbCBE REwiKSwgdHJ1ZSwgYWxpZ24pOworCQl9CiAKIAkJcHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIFBR Z2V0dmFsdWUocmVzLCBpLCAyKSwgZmFsc2UsIGZhbHNlKTsKIAkJcHJpbnRUYWJsZUFkZENlbGwo JmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCAzKSwgZmFsc2UsIGZhbHNlKTsKQEAgLTYyNzMsNiAr NjI5NiwxMSBAQCBkZXNjcmliZVB1YmxpY2F0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJuKQogCQkJ cHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCA3KSwgZmFsc2UsIGZh bHNlKTsKIAkJaWYgKGhhc19wdWJ2aWFyb290KQogCQkJcHJpbnRUYWJsZUFkZENlbGwoJmNvbnQs IFBRZ2V0dmFsdWUocmVzLCBpLCA4KSwgZmFsc2UsIGZhbHNlKTsKKwkJaWYgKGhhc19wdWJkZGwp CisJCXsKKwkJCXByaW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywgaSwgOSks IGZhbHNlLCBmYWxzZSk7CisJCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShy ZXMsIGksIDEwKSwgZmFsc2UsIGZhbHNlKTsKKwkJfQogCiAJCWlmICghcHViYWxsdGFibGVzKQog CQl7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmggYi9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgKaW5kZXggNDgyMDViYTQyOS4uYTk0 ZTE1MjI1NiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5o CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb24uaApAQCAtMjAsNiArMjAs NyBAQAogI2luY2x1ZGUgImNhdGFsb2cvZ2VuYmtpLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmpl Y3RhZGRyZXNzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9kLmgiCisjaW5j bHVkZSAidGNvcC91dGlsaXR5LmgiCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0KICAqCQlwZ19wdWJs aWNhdGlvbiBkZWZpbml0aW9uLiAgY3BwIHR1cm5zIHRoaXMgaW50bwpAQCAtNTQsNiArNTUsMTIg QEAgQ0FUQUxPRyhwZ19wdWJsaWNhdGlvbiw2MTA0LFB1YmxpY2F0aW9uUmVsYXRpb25JZCkKIAog CS8qIHRydWUgaWYgcGFydGl0aW9uIGNoYW5nZXMgYXJlIHB1Ymxpc2hlZCB1c2luZyByb290IHNj aGVtYSAqLwogCWJvb2wJCXB1YnZpYXJvb3Q7CisKKwkvKiB0cnVlIGlmIGRhdGFiYXNlIGxldmVs IGRkbHMgYXJlIHB1Ymxpc2hlZCAqLworCWJvb2wJCXB1YmRkbF9kYXRhYmFzZTsKKworCS8qIHRy dWUgaWYgdGFibGUgbGV2ZWwgZGRscyBhcmUgcHVibGlzaGVkICovCisJYm9vbAkJcHViZGRsX3Rh YmxlOwogfSBGb3JtRGF0YV9wZ19wdWJsaWNhdGlvbjsKIAogLyogLS0tLS0tLS0tLS0tLS0tLQpA QCAtNzIsNiArNzksOCBAQCB0eXBlZGVmIHN0cnVjdCBQdWJsaWNhdGlvbkFjdGlvbnMKIAlib29s CQlwdWJ1cGRhdGU7CiAJYm9vbAkJcHViZGVsZXRlOwogCWJvb2wJCXB1YnRydW5jYXRlOworCWJv b2wJCXB1YmRkbF9kYXRhYmFzZTsKKwlib29sCQlwdWJkZGxfdGFibGU7CiB9IFB1YmxpY2F0aW9u QWN0aW9uczsKIAogdHlwZWRlZiBzdHJ1Y3QgUHVibGljYXRpb25EZXNjCkBAIC0xNTcsNSArMTY2 LDYgQEAgZXh0ZXJuIEJpdG1hcHNldCAqcHViX2NvbGxpc3RfdG9fYml0bWFwc2V0KEJpdG1hcHNl dCAqY29sdW1ucywgRGF0dW0gcHViY29scywKIAogZXh0ZXJuIE9pZAlnZXRfcHVibGljYXRpb25f b2lkKGNvbnN0IGNoYXIgKnB1Ym5hbWUsIGJvb2wgbWlzc2luZ19vayk7CiBleHRlcm4gY2hhciAq Z2V0X3B1YmxpY2F0aW9uX25hbWUoT2lkIHB1YmlkLCBib29sIG1pc3Npbmdfb2spOworZXh0ZXJu IGJvb2wgZGRsX25lZWRfeGxvZyhPaWQgcmVsaWQsIGJvb2wgZm9yQWxsVGFiUHViT25seSwgYm9v bCBpc1RvcExldmVsKTsKIAogI2VuZGlmCQkJCQkJCS8qIFBHX1BVQkxJQ0FUSU9OX0ggKi8KZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL2RlZnJlbS5oIGIvc3JjL2luY2x1ZGUvY29t bWFuZHMvZGVmcmVtLmgKaW5kZXggNTZkMmJiNjYxNi4uMDczZjQ2ZWYxYSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvY29tbWFuZHMvZGVmcmVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv ZGVmcmVtLmgKQEAgLTE1LDYgKzE1LDcgQEAKICNkZWZpbmUgREVGUkVNX0gKIAogI2luY2x1ZGUg ImNhdGFsb2cvb2JqZWN0YWRkcmVzcy5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcHVibGljYXRp b24uaCIKICNpbmNsdWRlICJub2Rlcy9wYXJhbXMuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2Vf bm9kZS5oIgogI2luY2x1ZGUgInRjb3AvZGVzdC5oIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3B1YmxpY2F0aW9uLm91dAppbmRleCAyNzRiMzdkZmU1Li5lOWNlYTExYTViIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dApAQCAtMzAsMjAgKzMwLDIwIEBAIEVS Uk9SOiAgY29uZmxpY3Rpbmcgb3IgcmVkdW5kYW50IG9wdGlvbnMKIExJTkUgMTogLi4udWJfeHh4 IFdJVEggKHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290ID0gJ3RydWUnLCBwdWJsaXNoX3ZpLi4u CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgogXGRScAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2YgcHVibGljYXRpb25zCi0gICAgICAgIE5hbWUgICAgICAgIHwgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRl cyB8IFRydW5jYXRlcyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSB0ZXN0cGliX2luc190cnVuY3QgfCByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAg ICAgIHwgZiAgICAgICAgIHwgZgotIHRlc3RwdWJfZGVmYXVsdCAgICB8IHJlZ3Jlc3NfcHVibGlj YXRpb25fdXNlciB8IGYgICAgICAgICAgfCBmICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBm ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBwdWJsaWNhdGlvbnMKKyAgICAgICAgTmFt ZSAgICAgICAgfCAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0 cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBs ZXZlbCBERExzIHwgVGFibGUgbGV2ZWwgRERMcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0KKyB0ZXN0cGliX2luc190cnVuY3QgfCByZWdyZXNzX3B1YmxpY2F0aW9u X3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAgICAgIHwgZiAgICAg ICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgIHwgZgorIHRlc3RwdWJfZGVmYXVs dCAgICB8IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCBmICAgICAgIHwg dCAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAg ICAgICAgfCBmCiAoMiByb3dzKQogCiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2RlZmF1bHQg U0VUIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUnKTsKIFxkUnAKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHB1YmxpY2F0aW9u cwotICAgICAgICBOYW1lICAgICAgICB8ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0 YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9v dCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tCi0gdGVzdHBpYl9pbnNfdHJ1bmN0IHwgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAg ICAgICAgICB8IHQgICAgICAgfCBmICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgICB8IGYKLSB0 ZXN0cHViX2RlZmF1bHQgICAgfCByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAg IHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2YgcHVibGljYXRpb25zCisgICAgICAgIE5hbWUgICAgICAgIHwgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMcyB8IFRhYmxlIGxldmVs IERETHMgCistLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tCisgdGVzdHBp Yl9pbnNfdHJ1bmN0IHwgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQg ICAgICAgfCBmICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAg ICAgICAgICAgICAgICB8IGYKKyB0ZXN0cHViX2RlZmF1bHQgICAgfCByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAg ICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgIHwgZgogKDIgcm93cykKIAog LS0tIGFkZGluZyB0YWJsZXMKQEAgLTg3LDEwICs4NywxMCBAQCBSRVNFVCBjbGllbnRfbWluX21l c3NhZ2VzOwogLS0gc2hvdWxkIGJlIGFibGUgdG8gYWRkIHNjaGVtYSB0byAnRk9SIFRBQkxFJyBw dWJsaWNhdGlvbgogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBBREQgQUxMIFRB QkxFUyBJTiBTQ0hFTUEgcHViX3Rlc3Q7CiBcZFJwKyB0ZXN0cHViX2ZvcnRhYmxlCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9ydGFibGUKLSAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMg fCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHVi X2ZvcnRhYmxlCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2Vy dHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2Ug bGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJs ZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3RibDEiCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgpAQCAt OTksMjAgKzk5LDIwIEBAIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiAtLSBzaG91bGQgYmUgYWJsZSB0 byBkcm9wIHNjaGVtYSBmcm9tICdGT1IgVEFCTEUnIHB1YmxpY2F0aW9uCiBBTFRFUiBQVUJMSUNB VElPTiB0ZXN0cHViX2ZvcnRhYmxlIERST1AgQUxMIFRBQkxFUyBJTiBTQ0hFTUEgcHViX3Rlc3Q7 CiBcZFJwKyB0ZXN0cHViX2ZvcnRhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9ydGFibGUKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRhYmxlCisgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwg RERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHVi X3RibDEiCiAKIC0tIHNob3VsZCBiZSBhYmxlIHRvIHNldCBzY2hlbWEgdG8gJ0ZPUiBUQUJMRScg cHVibGljYXRpb24KIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBU QUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0OwogXGRScCsgdGVzdHB1Yl9mb3J0YWJsZQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRhYmxlCi0g ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVz IHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwg dCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1 Yl9mb3J0YWJsZQorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNl cnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNl IGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVz c19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFi bGVzIGZyb20gc2NoZW1hczoKICAgICAicHViX3Rlc3QiCiAKQEAgLTEzNCwxMCArMTM0LDEwIEBA IEVSUk9SOiAgcmVsYXRpb24gInRlc3RwdWJfbm9wayIgaXMgbm90IHBhcnQgb2YgdGhlIHB1Ymxp Y2F0aW9uCiAtLSBzaG91bGQgYmUgYWJsZSB0byBzZXQgdGFibGUgdG8gc2NoZW1hIHB1YmxpY2F0 aW9uCiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgVEFCTEUgcHViX3Rl c3QudGVzdHB1Yl9ub3BrOwogXGRScCsgdGVzdHB1Yl9mb3JzY2hlbWEKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnNjaGVtYQotICAgICAgICAg IE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0 ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9yc2No ZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBV cGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwg RERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1Ymxp Y2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwg dCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAg ICAgInB1Yl90ZXN0LnRlc3RwdWJfbm9wayIKIApAQCAtMTU5LDEwICsxNTksMTAgQEAgUHVibGlj YXRpb25zOgogICAgICJ0ZXN0cHViX2ZvcmFsbHRhYmxlcyIKIAogXGRScCsgdGVzdHB1Yl9mb3Jh bGx0YWJsZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3Rw dWJfZm9yYWxsdGFibGVzCi0gICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8 IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IAotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0aW9uX3Vz ZXIgfCB0ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCBmICAgICAgIHwgZiAgICAgICAg IHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1 YmxpY2F0aW9uIHRlc3RwdWJfZm9yYWxsdGFibGVzCisgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8 IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCB0ICAgICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgfCBmICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAg ICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKIERST1AgVEFCTEUgdGVzdHB1Yl90YmwyOwpAQCAt MTc0LDE5ICsxNzQsMTkgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWIzIEZPUiBUQUJMRSB0 ZXN0cHViX3RibDM7CiBDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjQgRk9SIFRBQkxFIE9OTFkg dGVzdHB1Yl90YmwzOwogUkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKIFxkUnArIHRlc3RwdWIz Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHVi MwotICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBk YXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlv biB0ZXN0cHViMworICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNl cnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNl IGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVz c19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFi bGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl90YmwzIgogICAgICJwdWJsaWMudGVzdHB1Yl90Ymwz YSIKIAogXGRScCsgdGVzdHB1YjQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWI0Ci0gICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRh YmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290 IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWI0CisgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8 IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAg ICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3RibDMiCiAKQEAg LTIwNywxMCArMjA3LDEwIEBAIFVQREFURSB0ZXN0cHViX3BhcnRlZDEgU0VUIGEgPSAxOwogLS0g b25seSBwYXJlbnQgaXMgbGlzdGVkIGFzIGJlaW5nIGluIHB1YmxpY2F0aW9uLCBub3QgdGhlIHBh cnRpdGlvbgogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JwYXJ0ZWQgQUREIFRBQkxFIHRl c3RwdWJfcGFydGVkOwogXGRScCsgdGVzdHB1Yl9mb3JwYXJ0ZWQKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnBhcnRlZAotICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMg fCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9ycGFydGVk CisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRh dGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERM IHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAg InB1YmxpYy50ZXN0cHViX3BhcnRlZCIKIApAQCAtMjIzLDEwICsyMjMsMTAgQEAgQUxURVIgVEFC TEUgdGVzdHB1Yl9wYXJ0ZWQgREVUQUNIIFBBUlRJVElPTiB0ZXN0cHViX3BhcnRlZDE7CiBVUERB VEUgdGVzdHB1Yl9wYXJ0ZWQxIFNFVCBhID0gMTsKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJf Zm9ycGFydGVkIFNFVCAocHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgPSB0cnVlKTsKIFxkUnAr IHRlc3RwdWJfZm9ycGFydGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGlj YXRpb24gdGVzdHB1Yl9mb3JwYXJ0ZWQKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwg dGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJv b3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGlj YXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgICAgfCB0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnBhcnRlZAorICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVu Y2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQgICAgICAgIHwg ZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl9wYXJ0 ZWQiCiAKQEAgLTI1NSwxMCArMjU1LDEwIEBAIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VS Uk9SJzsKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNSBGT1IgVEFCTEUgdGVzdHB1Yl9yZl90 YmwxLCB0ZXN0cHViX3JmX3RibDIgV0hFUkUgKGMgPD4gJ3Rlc3QnIEFORCBkIDwgNSkgV0lUSCAo cHVibGlzaCA9ICdpbnNlcnQnKTsKIFJFU0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CiBcZFJwKyB0 ZXN0cHViNQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24g dGVzdHB1YjUKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0 cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYg ICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVi bGljYXRpb24gdGVzdHB1YjUKKyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVz IHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgfCBE YXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQor IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAg ICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8 IGYKIFRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfcmZfdGJsMSIKICAgICAicHVibGljLnRl c3RwdWJfcmZfdGJsMiIgV0hFUkUgKChjIDw+ICd0ZXN0Jzo6dGV4dCkgQU5EIChkIDwgNSkpCkBA IC0yNzEsMTAgKzI3MSwxMCBAQCBUYWJsZXM6CiAKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1 IEFERCBUQUJMRSB0ZXN0cHViX3JmX3RibDMgV0hFUkUgKGUgPiAxMDAwIEFORCBlIDwgMjAwMCk7 CiBcZFJwKyB0ZXN0cHViNQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVi bGljYXRpb24gdGVzdHB1YjUKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVz IHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25f dXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAg ICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUHVibGljYXRpb24gdGVzdHB1YjUKKyAgICAgICAgICBPd25lciAgICAgICAgICAgfCBB bGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlh IHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAg IHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAg ICAgICAgICB8IGYKIFRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfcmZfdGJsMSIKICAgICAi cHVibGljLnRlc3RwdWJfcmZfdGJsMiIgV0hFUkUgKChjIDw+ICd0ZXN0Jzo6dGV4dCkgQU5EIChk IDwgNSkpCkBAIC0yOTAsMTAgKzI5MCwxMCBAQCBQdWJsaWNhdGlvbnM6CiAKIEFMVEVSIFBVQkxJ Q0FUSU9OIHRlc3RwdWI1IERST1AgVEFCTEUgdGVzdHB1Yl9yZl90YmwyOwogXGRScCsgdGVzdHB1 YjUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3Rw dWI1Ci0gICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBV cGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAg ICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAgICAgIHwgZiAgICAgICAgIHwgZgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0 aW9uIHRlc3RwdWI1CisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IElu c2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJh c2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBm ICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBU YWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3JmX3RibDEiCiAgICAgInB1YmxpYy50ZXN0cHVi X3JmX3RibDMiIFdIRVJFICgoZSA+IDEwMDApIEFORCAoZSA8IDIwMDApKQpAQCAtMzAxLDEwICsz MDEsMTAgQEAgVGFibGVzOgogLS0gcmVtb3ZlIHRlc3RwdWJfcmZfdGJsMSBhbmQgYWRkIHRlc3Rw dWJfcmZfdGJsMyBhZ2FpbiAoYW5vdGhlciBXSEVSRSBleHByZXNzaW9uKQogQUxURVIgUFVCTElD QVRJT04gdGVzdHB1YjUgU0VUIFRBQkxFIHRlc3RwdWJfcmZfdGJsMyBXSEVSRSAoZSA+IDMwMCBB TkQgZSA8IDUwMCk7CiBcZFJwKyB0ZXN0cHViNQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjUKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAg ICAgfCBmICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjUKKyAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1 bmNhdGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAg ICAgfCB0ICAgICAgIHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmICAgICAgICB8 IGYgICAgICAgICAgICAgICAgICB8IGYKIFRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfcmZf dGJsMyIgV0hFUkUgKChlID4gMzAwKSBBTkQgKGUgPCA1MDApKQogCkBAIC0zMzcsMTAgKzMzNywx MCBAQCBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7CiBDUkVBVEUgUFVCTElDQVRJ T04gdGVzdHB1Yl9zeW50YXgxIEZPUiBUQUJMRSB0ZXN0cHViX3JmX3RibDEsIE9OTFkgdGVzdHB1 Yl9yZl90YmwzIFdIRVJFIChlIDwgOTk5KSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCcpOwogUkVT RVQgY2xpZW50X21pbl9tZXNzYWdlczsKIFxkUnArIHRlc3RwdWJfc3ludGF4MQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX3N5bnRheDEKLSAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBE ZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAg ICAgIHwgZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9z eW50YXgxCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMg fCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2 ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1 YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAgICAg IHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6 CiAgICAgInB1YmxpYy50ZXN0cHViX3JmX3RibDEiCiAgICAgInB1YmxpYy50ZXN0cHViX3JmX3Ri bDMiIFdIRVJFIChlIDwgOTk5KQpAQCAtMzUwLDEwICszNTAsMTAgQEAgU0VUIGNsaWVudF9taW5f bWVzc2FnZXMgPSAnRVJST1InOwogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfc3ludGF4MiBG T1IgVEFCTEUgdGVzdHB1Yl9yZl90YmwxLCB0ZXN0cHViX3JmX3NjaGVtYTEudGVzdHB1Yl9yZl90 Ymw1IFdIRVJFIChoIDwgOTk5KSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCcpOwogUkVTRVQgY2xp ZW50X21pbl9tZXNzYWdlczsKIFxkUnArIHRlc3RwdWJfc3ludGF4MgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX3N5bnRheDIKLSAgICAgICAgICBP d25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVz IHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwg ZiAgICAgICB8IGYgICAgICAgfCBmICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9zeW50YXgy CisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRh dGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERM IHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IGYgICAgICAgfCBmICAgICAgIHwgZiAg ICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAg InB1YmxpYy50ZXN0cHViX3JmX3RibDEiCiAgICAgInRlc3RwdWJfcmZfc2NoZW1hMS50ZXN0cHVi X3JmX3RibDUiIFdIRVJFIChoIDwgOTk5KQpAQCAtMTAyOSwxMCArMTAyOSwxMCBAQCBFUlJPUjog IHJlbGF0aW9uICJ0ZXN0cHViX3RibDEiIGlzIGFscmVhZHkgbWVtYmVyIG9mIHB1YmxpY2F0aW9u ICJ0ZXN0cHViX2ZvcnRibAogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGJsIEZPUiBU QUJMRSB0ZXN0cHViX3RibDE7CiBFUlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViX2ZvcnRibCIg YWxyZWFkeSBleGlzdHMKIFxkUnArIHRlc3RwdWJfZm9ydGJsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRibAotICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBU cnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t Ci0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRibAorICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8 IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRh YmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91 c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg ICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVzOgogICAgICJwdWJf dGVzdC50ZXN0cHViX25vcGsiCiAgICAgInB1YmxpYy50ZXN0cHViX3RibDEiCkBAIC0xMDcwLDEw ICsxMDcwLDEwIEBAIFB1YmxpY2F0aW9uczoKICAgICAidGVzdHB1Yl9mb3J0YmwiCiAKIFxkUnAr IHRlc3RwdWJfZGVmYXVsdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNh dGlvbiB0ZXN0cHViX2RlZmF1bHQKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFi bGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3Qg Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRp b25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCBmICAg ICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9kZWZhdWx0CisgICAgICAgICAgT3duZXIgICAgICAg ICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRl cyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwg dCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAg ICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgInB1Yl90ZXN0LnRlc3RwdWJfbm9wayIK ICAgICAicHVibGljLnRlc3RwdWJfdGJsMSIKQEAgLTExNTEsMTAgKzExNTEsMTAgQEAgUkVWT0tF IENSRUFURSBPTiBEQVRBQkFTRSByZWdyZXNzaW9uIEZST00gcmVncmVzc19wdWJsaWNhdGlvbl91 c2VyMjsKIERST1AgVEFCTEUgdGVzdHB1Yl9wYXJ0ZWQ7CiBEUk9QIFRBQkxFIHRlc3RwdWJfdGJs MTsKIFxkUnArIHRlc3RwdWJfZGVmYXVsdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQdWJsaWNhdGlvbiB0ZXN0cHViX2RlZmF1bHQKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCBmICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9kZWZhdWx0CisgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwg RERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiAoMSByb3cpCiAKIC0tIGZhaWwgLSBtdXN0IGJl IG93bmVyIG9mIHB1YmxpY2F0aW9uCkBAIC0xMTY0LDIwICsxMTY0LDIwIEBAIEVSUk9SOiAgbXVz dCBiZSBvd25lciBvZiBwdWJsaWNhdGlvbiB0ZXN0cHViX2RlZmF1bHQKIFJFU0VUIFJPTEU7CiBB TFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2RlZmF1bHQgUkVOQU1FIFRPIHRlc3RwdWJfZm9vOwog XGRScCB0ZXN0cHViX2ZvbwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2YgcHVibGljYXRpb25zCi0gICAgTmFtZSAgICAgfCAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1 bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tCi0gdGVzdHB1Yl9mb28gfCByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBm ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBwdWJsaWNhdGlvbnMKKyAgICBOYW1lICAgICB8ICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBU cnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETHMgfCBUYWJsZSBsZXZlbCBE RExzIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tCisgdGVzdHB1Yl9mb28gfCBy ZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgIHwg ZgogKDEgcm93KQogCiAtLSByZW5hbWUgYmFjayB0byBrZWVwIHRoZSByZXN0IHNpbXBsZQogQUxU RVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb28gUkVOQU1FIFRPIHRlc3RwdWJfZGVmYXVsdDsKIEFM VEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZGVmYXVsdCBPV05FUiBUTyByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIyOwogXGRScCB0ZXN0cHViX2RlZmF1bHQKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgcHVibGljYXRpb25zCi0gICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwg VXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHRlc3RwdWJfZGVmYXVs dCB8IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlcjIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQg ICAgICAgfCB0ICAgICAgIHwgZiAgICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBwdWJsaWNh dGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxs IHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSBy b290IHwgRGF0YWJhc2UgbGV2ZWwgRERMcyB8IFRhYmxlIGxldmVsIERETHMgCistLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQorIHRlc3RwdWJfZGVmYXVsdCB8IHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlcjIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAg ICAgIHwgZiAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgIHwgZgogKDEg cm93KQogCiAtLSBhZGRpbmcgc2NoZW1hcyBhbmQgdGFibGVzCkBAIC0xMTkzLDE5ICsxMTkzLDE5 IEBAIENSRUFURSBUQUJMRSAiQ1VSUkVOVF9TQ0hFTUEiLiJDVVJSRU5UX1NDSEVNQSIoaWQgaW50 KTsKIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKIENSRUFURSBQVUJMSUNBVElP TiB0ZXN0cHViMV9mb3JzY2hlbWEgRk9SIEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MTsK IFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMg fCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVz c19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCisgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRl cyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2 ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBm ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAg ICJwdWJfdGVzdDEiCiAKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViMl9mb3JzY2hlbWEgRk9S IEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MSwgcHViX3Rlc3QyLCBwdWJfdGVzdDM7CiBc ZFJwKyB0ZXN0cHViMl9mb3JzY2hlbWEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ dWJsaWNhdGlvbiB0ZXN0cHViMl9mb3JzY2hlbWEKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIyX2ZvcnNjaGVtYQorICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMg fCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVs IERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAg ICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYgICAg ICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVzIGZyb20gc2NoZW1hczoKICAgICAi cHViX3Rlc3QxIgogICAgICJwdWJfdGVzdDIiCkBAIC0xMjE5LDQ0ICsxMjE5LDQ0IEBAIENSRUFU RSBQVUJMSUNBVElPTiB0ZXN0cHViNl9mb3JzY2hlbWEgRk9SIEFMTCBUQUJMRVMgSU4gU0NIRU1B ICJDVVJSRU5UX1NDSEVNQSIsCiBDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBG T1IgVEFCTEUgIkNVUlJFTlRfU0NIRU1BIi4iQ1VSUkVOVF9TQ0hFTUEiOwogUkVTRVQgY2xpZW50 X21pbl9tZXNzYWdlczsKIFxkUnArIHRlc3RwdWIzX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIzX2ZvcnNjaGVtYQotICAgICAgICAg IE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0 ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjNfZm9yc2No ZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBV cGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwg RERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1Ymxp Y2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwg dCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJv bSBzY2hlbWFzOgogICAgICJwdWJsaWMiCiAKIFxkUnArIHRlc3RwdWI0X2ZvcnNjaGVtYQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWI0X2ZvcnNjaGVt YQotICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBk YXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVz dHB1YjRfZm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8 IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0 YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyBy ZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBm CiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJDVVJSRU5UX1NDSEVNQSIKIAogXGRScCsgdGVz dHB1YjVfZm9yc2NoZW1hCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRp b24gdGVzdHB1YjVfZm9yc2NoZW1hCi0gICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRh YmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290 IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViNV9mb3JzY2hlbWEKKyAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNh dGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwgCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmICAgICAgICB8IGYg ICAgICAgICAgICAgICAgICB8IGYKIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiAgICAgIkNVUlJFTlRf U0NIRU1BIgogICAgICJwdWJsaWMiCiAKIFxkUnArIHRlc3RwdWI2X2ZvcnNjaGVtYQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWI2X2ZvcnNjaGVtYQot ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRl cyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8 IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1 YjZfZm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IElu c2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJh c2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBU YWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJDVVJSRU5UX1NDSEVNQSIKICAgICAicHVibGljIgog CiBcZFJwKyB0ZXN0cHViX2ZvcnRhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWJfZm9ydGFibGUKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcnRhYmxlCisgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwg RERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXM6CiAgICAgIkNVUlJFTlRfU0NIRU1B LkNVUlJFTlRfU0NIRU1BIgogCkBAIC0xMjkwLDEwICsxMjkwLDEwIEBAIEVSUk9SOiAgc2NoZW1h ICJ0ZXN0cHViX3ZpZXciIGRvZXMgbm90IGV4aXN0CiAtLSBkcm9wcGluZyB0aGUgc2NoZW1hIHNo b3VsZCByZWZsZWN0IHRoZSBjaGFuZ2UgaW4gcHVibGljYXRpb24KIERST1AgU0NIRU1BIHB1Yl90 ZXN0MzsKIFxkUnArIHRlc3RwdWIyX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIyX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVu Y2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0g cmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAg IHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjJfZm9yc2NoZW1hCisgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwg RGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFi bGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3Vz ZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAg IHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFz OgogICAgICJwdWJfdGVzdDEiCiAgICAgInB1Yl90ZXN0MiIKQEAgLTEzMDEsMjAgKzEzMDEsMjAg QEAgVGFibGVzIGZyb20gc2NoZW1hczoKIC0tIHJlbmFtaW5nIHRoZSBzY2hlbWEgc2hvdWxkIHJl ZmxlY3QgdGhlIGNoYW5nZSBpbiBwdWJsaWNhdGlvbgogQUxURVIgU0NIRU1BIHB1Yl90ZXN0MSBS RU5BTUUgdG8gcHViX3Rlc3QxX3JlbmFtZWQ7CiBcZFJwKyB0ZXN0cHViMl9mb3JzY2hlbWEKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMl9mb3JzY2hl bWEKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVw ZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAg ICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRl c3RwdWIyX2ZvcnNjaGVtYQorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMg fCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERh dGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisg cmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAg IHwgdCAgICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwg ZgogVGFibGVzIGZyb20gc2NoZW1hczoKICAgICAicHViX3Rlc3QxX3JlbmFtZWQiCiAgICAgInB1 Yl90ZXN0MiIKIAogQUxURVIgU0NIRU1BIHB1Yl90ZXN0MV9yZW5hbWVkIFJFTkFNRSB0byBwdWJf dGVzdDE7CiBcZFJwKyB0ZXN0cHViMl9mb3JzY2hlbWEKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMl9mb3JzY2hlbWEKLSAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1 bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQot IHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIyX2ZvcnNjaGVtYQorICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8 IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRh YmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91 c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg ICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVzIGZyb20gc2NoZW1h czoKICAgICAicHViX3Rlc3QxIgogICAgICJwdWJfdGVzdDIiCkBAIC0xMzIyLDEwICsxMzIyLDEw IEBAIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiAtLSBhbHRlciBwdWJsaWNhdGlvbiBhZGQgc2NoZW1h CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViMV9mb3JzY2hlbWEgQUREIEFMTCBUQUJMRVMgSU4g U0NIRU1BIHB1Yl90ZXN0MjsKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERl bGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9y c2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMg fCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2 ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1 YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAg IHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMg ZnJvbSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAgICAgInB1Yl90ZXN0MiIKQEAgLTEzMzQs MTAgKzEzMzQsMTAgQEAgVGFibGVzIGZyb20gc2NoZW1hczoKIEFMVEVSIFBVQkxJQ0FUSU9OIHRl c3RwdWIxX2ZvcnNjaGVtYSBBREQgQUxMIFRBQkxFUyBJTiBTQ0hFTUEgbm9uX2V4aXN0ZW50X3Nj aGVtYTsKIEVSUk9SOiAgc2NoZW1hICJub25fZXhpc3RlbnRfc2NoZW1hIiBkb2VzIG5vdCBleGlz dAogXGRScCsgdGVzdHB1YjFfZm9yc2NoZW1hCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCi0gICAgICAgICAgT3duZXIgICAgICAg ICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRl cyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMV9mb3JzY2hlbWEKKyAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxl dGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBs ZXZlbCBEREwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8 IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBm ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8IGYKIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiAg ICAgInB1Yl90ZXN0MSIKICAgICAicHViX3Rlc3QyIgpAQCAtMTM0NiwxMCArMTM0NiwxMCBAQCBU YWJsZXMgZnJvbSBzY2hlbWFzOgogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjFfZm9yc2NoZW1h IEFERCBBTEwgVEFCTEVTIElOIFNDSEVNQSBwdWJfdGVzdDE7CiBFUlJPUjogIHNjaGVtYSAicHVi X3Rlc3QxIiBpcyBhbHJlYWR5IG1lbWJlciBvZiBwdWJsaWNhdGlvbiAidGVzdHB1YjFfZm9yc2No ZW1hIgogXGRScCsgdGVzdHB1YjFfZm9yc2NoZW1hCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCi0gICAgICAgICAgT3duZXIgICAg ICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5j YXRlcyB8IFZpYSByb290IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSBy ZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICAgIHwgZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMV9mb3JzY2hlbWEKKyAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBE ZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJs ZSBsZXZlbCBEREwgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNl ciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAg fCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8IGYKIFRhYmxlcyBmcm9tIHNjaGVtYXM6 CiAgICAgInB1Yl90ZXN0MSIKICAgICAicHViX3Rlc3QyIgpAQCAtMTM1NywxMCArMTM1NywxMCBA QCBUYWJsZXMgZnJvbSBzY2hlbWFzOgogLS0gYWx0ZXIgcHVibGljYXRpb24gZHJvcCBzY2hlbWEK IEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVtYSBEUk9QIEFMTCBUQUJMRVMgSU4g U0NIRU1BIHB1Yl90ZXN0MjsKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERl bGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9y c2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMg fCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2 ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1 YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAg IHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMg ZnJvbSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAKQEAgLTEzNjgsMTAgKzEzNjgsMTAgQEAg VGFibGVzIGZyb20gc2NoZW1hczoKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVt YSBEUk9QIEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MjsKIEVSUk9SOiAgdGFibGVzIGZy b20gc2NoZW1hICJwdWJfdGVzdDIiIGFyZSBub3QgcGFydCBvZiB0aGUgcHVibGljYXRpb24KIFxk UnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1 YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAgICAgICB8 IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBW aWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19w dWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAg ICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCisgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8 IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwg RERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAg ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJw dWJfdGVzdDEiCiAKQEAgLTEzNzksMjkgKzEzNzksMjkgQEAgVGFibGVzIGZyb20gc2NoZW1hczoK IEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVtYSBEUk9QIEFMTCBUQUJMRVMgSU4g U0NIRU1BIG5vbl9leGlzdGVudF9zY2hlbWE7CiBFUlJPUjogIHNjaGVtYSAibm9uX2V4aXN0ZW50 X3NjaGVtYSIgZG9lcyBub3QgZXhpc3QKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQot ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRl cyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8 IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1 YjFfZm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IElu c2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJh c2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0 ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBU YWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAKIC0tIGRyb3AgYWxsIHNjaGVt YXMKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVtYSBEUk9QIEFMTCBUQUJMRVMg SU4gU0NIRU1BIHB1Yl90ZXN0MTsKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8 IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQg ICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFf Zm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2Vy dHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2Ug bGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiAoMSBy b3cpCiAKIC0tIGFsdGVyIHB1YmxpY2F0aW9uIHNldCBtdWx0aXBsZSBzY2hlbWEKIEFMVEVSIFBV QkxJQ0FUSU9OIHRlc3RwdWIxX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUyBJTiBTQ0hFTUEgcHVi X3Rlc3QxLCBwdWJfdGVzdDI7CiBcZFJwKyB0ZXN0cHViMV9mb3JzY2hlbWEKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViMV9mb3JzY2hlbWEKLSAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBE ZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2Zv cnNjaGVtYQorICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRz IHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxl dmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19w dWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAg ICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogVGFibGVz IGZyb20gc2NoZW1hczoKICAgICAicHViX3Rlc3QxIgogICAgICJwdWJfdGVzdDIiCkBAIC0xNDEw LDEwICsxNDEwLDEwIEBAIFRhYmxlcyBmcm9tIHNjaGVtYXM6CiBBTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViMV9mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgSU4gU0NIRU1BIG5vbl9leGlzdGVudF9z Y2hlbWE7CiBFUlJPUjogIHNjaGVtYSAibm9uX2V4aXN0ZW50X3NjaGVtYSIgZG9lcyBub3QgZXhp c3QKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0 ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVn cmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwg dCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjFfZm9yc2NoZW1hCisgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVs ZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUg bGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIg fCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwg ZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgog ICAgICJwdWJfdGVzdDEiCiAgICAgInB1Yl90ZXN0MiIKQEAgLTE0MjIsMTAgKzE0MjIsMTAgQEAg VGFibGVzIGZyb20gc2NoZW1hczoKIC0tIHJlbW92aW5nIHRoZSBkdXBsaWNhdGUgc2NoZW1hcwog QUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjFfZm9yc2NoZW1hIFNFVCBBTEwgVEFCTEVTIElOIFND SEVNQSBwdWJfdGVzdDEsIHB1Yl90ZXN0MTsKIFxkUnArIHRlc3RwdWIxX2ZvcnNjaGVtYQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIxX2ZvcnNjaGVt YQotICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBk YXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAg ICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVz dHB1YjFfZm9yc2NoZW1hCisgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8 IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0 YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyBy ZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBmICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg fCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBm CiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAKQEAgLTE1MDQsMTggKzE1 MDQsMTggQEAgU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwogQ1JFQVRFIFBVQkxJ Q0FUSU9OIHRlc3RwdWIzX2ZvcnNjaGVtYTsKIFJFU0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CiBc ZFJwKyB0ZXN0cHViM19mb3JzY2hlbWEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ dWJsaWNhdGlvbiB0ZXN0cHViM19mb3JzY2hlbWEKLSAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf cHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAg ICAgfCB0ICAgICAgICAgfCBmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWIzX2ZvcnNjaGVtYQorICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMg fCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVs IERETCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAg ICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYgICAg ICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgZgogKDEgcm93KQogCiBBTFRFUiBQVUJMSUNBVElP TiB0ZXN0cHViM19mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MTsK IFxkUnArIHRlc3RwdWIzX2ZvcnNjaGVtYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFB1YmxpY2F0aW9uIHRlc3RwdWIzX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMg fCBWaWEgcm9vdCAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVz c19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAg ICAgICB8IHQgICAgICAgICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1YjNfZm9yc2NoZW1hCisgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRl cyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2UgbGV2ZWwgRERMIHwgVGFibGUgbGV2 ZWwgRERMIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIgfCBm ICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgZiAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCBmCiBUYWJsZXMgZnJvbSBzY2hlbWFzOgogICAg ICJwdWJfdGVzdDEiCiAKQEAgLTE1MjUsMjAgKzE1MjUsMjAgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9O IHRlc3RwdWJfZm9yc2NoZW1hX2ZvcnRhYmxlIEZPUiBBTEwgVEFCTEVTIElOIFNDSEVNQSBwdWJf dGVzdDEKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnRhYmxlX2ZvcnNjaGVtYSBGT1Ig VEFCTEUgcHViX3Rlc3QyLnRibDEsIEFMTCBUQUJMRVMgSU4gU0NIRU1BIHB1Yl90ZXN0MTsKIFJF U0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CiBcZFJwKyB0ZXN0cHViX2ZvcnNjaGVtYV9mb3J0YWJs ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gdGVzdHB1Yl9mb3JzY2hl bWFfZm9ydGFibGUKLSAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgSW5z ZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgVmlhIHJvb3QgCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8 IGYgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBm CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRp b24gdGVzdHB1Yl9mb3JzY2hlbWFfZm9ydGFibGUKKyAgICAgICAgICBPd25lciAgICAgICAgICAg fCBBbGwgdGFibGVzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwg VmlhIHJvb3QgfCBEYXRhYmFzZSBsZXZlbCBEREwgfCBUYWJsZSBsZXZlbCBEREwgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLQorIHJlZ3Jlc3NfcHVibGljYXRpb25fdXNlciB8IGYgICAgICAgICAgfCB0ICAg ICAgIHwgdCAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICB8IGYKIFRhYmxlczoKICAgICAicHViX3Rlc3QyLnRibDEiCiBUYWJsZXMgZnJv bSBzY2hlbWFzOgogICAgICJwdWJfdGVzdDEiCiAKIFxkUnArIHRlc3RwdWJfZm9ydGFibGVfZm9y c2NoZW1hCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2Zv cnRhYmxlX2ZvcnNjaGVtYQotICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMg fCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc19wdWJsaWNhdGlvbl91 c2VyIHwgZiAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAg ICB8IGYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJs aWNhdGlvbiB0ZXN0cHViX2ZvcnRhYmxlX2ZvcnNjaGVtYQorICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0 ZXMgfCBWaWEgcm9vdCB8IERhdGFiYXNlIGxldmVsIERETCB8IFRhYmxlIGxldmVsIERETCAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyIHwgZiAgICAgICAgICB8 IHQgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IGYgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgZgogVGFibGVzOgogICAgICJwdWJfdGVzdDIudGJsMSIKIFRhYmxl cyBmcm9tIHNjaGVtYXM6Ci0tIAoyLjMyLjAKCg== --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0004-Enable-replication-of-CREATE-MATERIALIZED-VIEW-AS-st.patch" Content-Disposition: attachment; filename="0004-Enable-replication-of-CREATE-MATERIALIZED-VIEW-AS-st.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhm3 RnJvbSBiOWIzY2E5ZjdlNTc0OWNhMGM4OWE4OGFiNWI1YmQ5OTBhODU5OGEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IFR1ZSwgMjIgTWFyIDIwMjIgMjM6NDc6NTIgKzAwMDAKU3ViamVjdDogW1BBVENIIDA0 LzEyXSBFbmFibGUgcmVwbGljYXRpb24gb2YgQ1JFQVRFIE1BVEVSSUFMSVpFRCBWSUVXIEFTIHN0 bXQuCiBBZGQgdGVzdHMgZm9yIGJvdGggQ1JFQVRFIE1BVEVSSUFMSVpFRCBWSUVXIGFuZCBDUkVB VEUgVklFVy4KCi0tLQogc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAgIHwg NDIgKysrKysrKysrKysrKysrKysrKysrKystLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMw X3JlcF9kZGxzLnBsIHwgMTggKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC90Y29wL3V0 aWxpdHkuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCmluZGV4IGQwYmIyMzJhZjYuLjc5 YjVmYWNjYzAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCisrKyBiL3Ny Yy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCkBAIC0xMTQwLDYgKzExNDAsNDUgQEAgTG9nTG9naWNh bERETENvbW1hbmQoTm9kZSAqcGFyc2V0cmVlLCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykKIAkJ CX0KIAkJCWJyZWFrOwogCisJCS8qCisJCSAqIENyZWF0ZVRhYmxlQXNTdG10IGNhbiBjcmVhdGUg ZWl0aGVyIGEgdGFibGUgYSBtYXRlcmlhbGl6ZWQgdmlldworCQkgKiBhbmQgdGhleSBhcmUgaGFu ZGxlZCBkaWZmZXJlbnRseS4KKwkJICovCisJCWNhc2UgVF9DcmVhdGVUYWJsZUFzU3RtdDoKKwkJ eworCQkJQ3JlYXRlVGFibGVBc1N0bXQgKnN0bXQgPSAoQ3JlYXRlVGFibGVBc1N0bXQgKikgcGFy c2V0cmVlOworCQkJc3dpdGNoKHN0bXQtPm9ianR5cGUpCisJCQl7CisJCQkJY2FzZSBPQkpFQ1Rf VEFCTEU6CisJCQkJCS8qCisJCQkJCSAqIEZJWE1FIENSRUFURSBUQUJMRSBBUyBzdG10IG5lZWRz IHRvIGJlIGJyb2tlbiBkb3duIGludG8gdHdvIHBhcnRzCisJCQkJCSAqIDEuIEEgbm9ybWFsIENS RUFURSBUQUJMRSBzdHJpbmcgdGhhdCBnZXQncyBsb2dnZWQgYW5kIHJlcGxpY2F0ZWQgdmlhCisJ CQkJCSAqCSAgRERMIHJlcGxpY2F0aW9uLgorCQkJCQkgKiAyLiBJbnNlcnRpb25zIHRoYXQgZ2V0 IHJlcGxpY2F0ZWQgYnkgRE1MIHJlcGxpY2F0aW9uLgorCQkJCQkgKi8KKwkJCQkJYnJlYWs7CisJ CQkJY2FzZSBPQkpFQ1RfTUFUVklFVzoKKwkJCQkJLyoKKwkJCQkJICogTG9nIENSRUFURSBNQVRF UklBTElaRUQgVklFVyBBUyBzdG10IGZvciBsb2dpY2FsIHJlcGxpY2F0aW9uIGlmCisJCQkJCSAq IHRoZXJlIGlzIGFueSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbiB3aXRoIHB1YmRkbF9kYXRh YmFzZSBvbi4KKwkJCQkJICogaS5lLiBEYXRhYmFzZSBsZXZlbCBEREwgcmVwbGljYXRpb24gaXMg b24gZm9yIHNvbWUgcHVibGljYXRpb24uCisJCQkJCSAqLworCQkJCQlpZiAoZGRsX25lZWRfeGxv ZyhJbnZhbGlkT2lkLCB0cnVlLCB0cnVlKSkKKwkJCQkJeworCQkJCQkJYm9vbCB0cmFuc2FjdGlv bmFsID0gdHJ1ZTsKKwkJCQkJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOworCQkJCQkJTG9nTG9n aWNhbERETE1lc3NhZ2UocHJlZml4LAorCQkJCQkJCQkJCQkgR2V0VXNlcklkKCksCisJCQkJCQkJ CQkJCSBxdWVyeVN0cmluZywKKwkJCQkJCQkJCQkJIHN0cmxlbihxdWVyeVN0cmluZyksCisJCQkJ CQkJCQkJCSB0cmFuc2FjdGlvbmFsKTsKKwkJCQkJfQorCQkJCWRlZmF1bHQ6CisJCQkJCWJyZWFr OworCQkJfQorCQkJYnJlYWs7CisJCX0KKwogCQkvKgogCQkgKiBTZWNvbmRseSwgY29tbWFuZHMg dGhhdCBtYXkgYmUgYWxsb3dlZCBpbiBUYWJsZSBsZXZlbCBEREwgcmVwbGljYXRpb24uCiAJCSAq IFRoZXNlIGFyZSBjdXJyZW50bHkgaGFuZGxlZCBpbiB0aGUgbGF0ZXIgZXhlY3V0aW9uIHBhdGgg b2YgdGhlIGNvbW1hbmQuCkBAIC0xMTU1LDcgKzExOTQsNyBAQCBMb2dMb2dpY2FsRERMQ29tbWFu ZChOb2RlICpwYXJzZXRyZWUsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQogCQkvKiBEcm9wU3Rt dCBkZXBlbmRzIG9uIHRoZSByZW1vdmVUeXBlICovCiAJCWNhc2UgVF9Ecm9wU3RtdDoKIAkJewot CQkJRHJvcFN0bXQqIHN0bXQgPSAoRHJvcFN0bXQqKSBwYXJzZXRyZWU7CisJCQlEcm9wU3RtdCAq c3RtdCA9IChEcm9wU3RtdCAqKSBwYXJzZXRyZWU7CiAJCQlzd2l0Y2ggKHN0bXQtPnJlbW92ZVR5 cGUpCiAJCQl7CiAJCQkJLyogTWF5YmUgYWxsb3dlZCBpbiBUYWJsZSBsZXZlbCBEREwgcmVwbGlj YXRpb24sIGhhbmRsZWQgaW4gbGF0ZXIgY29kZSBwYXRoICovCkBAIC0xMjA2LDcgKzEyNDUsNiBA QCBMb2dMb2dpY2FsRERMQ29tbWFuZChOb2RlICpwYXJzZXRyZWUsIGNvbnN0IGNoYXIgKnF1ZXJ5 U3RyaW5nKQogCQljYXNlIFRfUnVsZVN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVTZXFTdG10OgogCQlj YXNlIFRfQWx0ZXJTZXFTdG10OgotCQljYXNlIFRfQ3JlYXRlVGFibGVBc1N0bXQ6CiAJCWNhc2Ug VF9SZWZyZXNoTWF0Vmlld1N0bXQ6CiAJCWNhc2UgVF9DcmVhdGVQTGFuZ1N0bXQ6CiAJCWNhc2Ug VF9DcmVhdGVDb252ZXJzaW9uU3RtdDoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAzMF9yZXBfZGRscy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRs cy5wbAppbmRleCBjODhjNGVhMWMwLi41NjJlZmUyY2Y3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDMwX3JlcF9kZGxzLnBsCkBAIC0yMjYsNiArMjI2LDI0IEBAICRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCB0YWJsZW93bmVyIGZyb20gcGdfY2F0YWxvZy5w Z190YWJsZXMgd2hlcmUgdGFibGVuYW1lID0gJ3Q1JzsiKTsKIGlzKCRyZXN1bHQsIHFxKGRkbF9y ZXBsaWNhdGlvbl91c2VyKSwgJ093bmVyIG9mIHQ1IGlzIGNvcnJlY3QnKTsKIAorIyBUZXN0IENS RUFURSBNQVRFUklBTElaRUQgVklFVyBzdG10IGlzIHJlcGxpY2F0ZWQKKyRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgTUFURVJJQUxJWkVEIFZJRVcgczEubWF0 dmlldzEgQVMgU0VMRUNUIGEsIGIgZnJvbSBzMS50MTsiKTsKKyRyZXN1bHQgPSAkbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gczEubWF0 dmlldzE7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsK KworJHJlc3VsdF9zdWIgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IlNFTEVDVCBjb3VudCgqKSBmcm9tIHMxLm1hdHZpZXcxOyIpOworaXMoJHJlc3VsdCwgcXEoJHJl c3VsdF9zdWIpLCAnQ1JFQVRFIG9mIHMxLm1hdHZpZXcxIGlzIHJlcGxpY2F0ZWQnKTsKKworIyBU ZXN0IENSRUFURSBWSUVXIHN0bXQgaXMgcmVwbGljYXRlZAorJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBWSUVXIHMxLnZpZXcxIEFTIFNFTEVDVCBhLCBiIGZy b20gczEudDE7Iik7CiskcmVzdWx0ID0gJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHMxLnZpZXcxOyIpOworCiskbm9kZV9wdWJsaXNo ZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHRfc3ViID0gJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBzMS52 aWV3MTsiKTsKK2lzKCRyZXN1bHQsIHFxKCRyZXN1bHRfc3ViKSwgJ0NSRUFURSBvZiBzMS52aWV3 MSBpcyByZXBsaWNhdGVkJyk7CisKICNUT0RPIFRFU1QgY2VydGFpbiBERExzIGFyZSBub3QgcmVw bGljYXRlZAogCiBwYXNzICJEREwgcmVwbGljYXRpb24gdGVzdHMgcGFzc2VkISI7Ci0tIAoyLjMy LjAKCg== --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0008-Fail-replication-worker-on-DDL-command-that-rewrites.patch" Content-Disposition: attachment; filename="0008-Fail-replication-worker-on-DDL-command-that-rewrites.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhq7 RnJvbSAxYzI0MGQ5ODEzMGJkNjc1NjhiNjMxZDNjMDZiMDg3N2FlODJlOWY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMjkgQXByIDIwMjIgMTY6NTc6MDMgKzAwMDAKU3ViamVjdDogW1BBVENIIDA4 LzEyXSBGYWlsIHJlcGxpY2F0aW9uIHdvcmtlciBvbiBEREwgY29tbWFuZCB0aGF0IHJld3JpdGVz CiB0YWJsZSB1c2luZyB2b2xhdGlsZSBmdW5jdGlvbnMsIHN1Y2ggYXMgQUxURVIgVEFCTEUgdGFi IEFERCBDT0xVTU4gY29sCiBERUZBVUxUIHZvbGF0aWxlX2V4cHIuIFRoaXMgaXMgdG8gYXZvaWQg ZGF0YSBtaXNtYXRjaCBjb21wYXJlZCB0byB0aGUKIHB1Ymxpc2hlci4gV2UgY2FuIHBvdGVudGlh bGx5IHVuYmxvY2sgdGhpcyB0eXBlIG9mIGNvbW1hbmQgd2hlbiB0YWJsZSByZXdyaXRlCiBpcyBz dXBwb3J0ZWQgaW4gbG9naWNhbCByZXBsaWNhdGlvbi4KCi0tLQogc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC93b3JrZXIuYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKwogc3Jj L3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsICB8IDIyICsrKysrKysrKysrKwog MiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggNzI3MTFiMDZkNi4uMzk3MDJmNGEwZiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYworKysgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0xNTcsNiArMTU3LDcgQEAKICNp bmNsdWRlICJub2Rlcy9tYWtlZnVuY3MuaCIKICNpbmNsdWRlICJvcHRpbWl6ZXIvb3B0aW1pemVy LmgiCiAjaW5jbHVkZSAicGFyc2VyL2FuYWx5emUuaCIKKyNpbmNsdWRlICJwYXJzZXIvcGFyc2Vf ZXhwci5oIgogI2luY2x1ZGUgInBnc3RhdC5oIgogI2luY2x1ZGUgInBvc3RtYXN0ZXIvYmd3b3Jr ZXIuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2ludGVycnVwdC5oIgpAQCAtMjU1MCw2ICsyNTUx LDggQEAgYXBwbHlfZXhlY3V0ZV9zcWxfY29tbWFuZChjb25zdCBjaGFyICpjbWRzdHIsIGNvbnN0 IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXIKIAogCQljb21tYW5kVGFnID0gQ3JlYXRlQ29t bWFuZFRhZygoTm9kZSAqKWNvbW1hbmQpOwogCisJCS8qIFRoZSBmb2xsb3dpbmcgRERMIGNvbW1h bmRzIG5lZWQgc3BlY2lhbCBoYW5kbGluZyAqLworCiAJCS8qCiAJCSAqIFJlbWVtYmVyIHRoZSBz Y2hlbWFuYW1lIGFuZCByZWxuYW1lIGlmIHRoZSBjbWQgaXMgZ29pbmcgdG8gY3JlYXRlIGEgdGFi bGUKIAkJICogYmVjYXVzZSB3ZSB3aWxsIG5lZWQgdGhlbSBmb3Igc29tZSBwb3N0LXByb2Nlc3Np bmcgYWZ0ZXIgd2UKQEAgLTI1OTcsNiArMjYwMCw0NyBAQCBhcHBseV9leGVjdXRlX3NxbF9jb21t YW5kKGNvbnN0IGNoYXIgKmNtZHN0ciwgY29uc3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAqc2Vh cgogCQkJCXNzdG10LT5pbnRvQ2xhdXNlLT5za2lwRGF0YSA9IHRydWU7CiAJCQl9CiAJCX0KKwkJ LyoKKwkJICogQUxURVIgVEFCTEUgQUREIENPTFVNTiBjb2wgREVGQVVMVCB2b2xhdGlsZV9leHBy IGlzIG5vdCBzdXBwb3J0ZWQuCisJCSAqIFVudGlsIHdlIHN1cHBvcnQgbG9naWNhbCByZXBsaWNh dGlvbiBvZiB0YWJsZSByZXdyaXRlLCBzZWUgQVRSZXdyaXRlVGFibGVzKCkKKwkJICogZm9yIGRl dGFpbHMgb24gdGFibGUgcmV3cml0ZS4KKwkJICovCisJCWVsc2UgaWYgKGNvbW1hbmRUYWcgPT0g Q01EVEFHX0FMVEVSX1RBQkxFKQorCQl7CisJCQlBbHRlclRhYmxlU3RtdCAqYXRzdG10ID0gKEFs dGVyVGFibGVTdG10ICopIGNvbW1hbmQtPnN0bXQ7CisJCQlMaXN0Q2VsbCAqbGM7CisKKwkJCWZv cmVhY2gobGMsIGF0c3RtdC0+Y21kcykKKwkJCXsKKwkJCQlBbHRlclRhYmxlQ21kICpjbWQgPSBs Zmlyc3Rfbm9kZShBbHRlclRhYmxlQ21kLCBsYyk7CisKKwkJCQlpZiAoY21kLT5zdWJ0eXBlID09 IEFUX0FkZENvbHVtbikKKwkJCQl7CisJCQkJCUNvbHVtbkRlZiAqY29sRGVmOworCQkJCQlMaXN0 Q2VsbCAqYzsKKworCQkJCQljb2xEZWYgPSBjYXN0Tm9kZShDb2x1bW5EZWYsIGNtZC0+ZGVmKTsK KwkJCQkJZm9yZWFjaChjLCBjb2xEZWYtPmNvbnN0cmFpbnRzKQorCQkJCQl7CisJCQkJCQlDb25z dHJhaW50ICpjb24gPSBsZmlyc3Rfbm9kZShDb25zdHJhaW50LCBjKTsKKworCQkJCQkJaWYgKGNv bi0+Y29udHlwZSA9PSBDT05TVFJfREVGQVVMVCkKKwkJCQkJCXsKKwkJCQkJCQlOb2RlICpleHBy OworCQkJCQkJCVBhcnNlU3RhdGUgKnBzdGF0ZSA9IG1ha2VfcGFyc2VzdGF0ZShOVUxMKTsKKwor CQkJCQkJCWV4cHIgPSB0cmFuc2Zvcm1FeHByKHBzdGF0ZSwgY29weU9iamVjdChjb24tPnJhd19l eHByKSwgRVhQUl9LSU5EX0NPTFVNTl9ERUZBVUxUKTsKKwkJCQkJCQlpZiAoY29udGFpbl92b2xh dGlsZV9mdW5jdGlvbnMoZXhwcikpCisJCQkJCQkJeworCQkJCQkJCQllbG9nKEVSUk9SLAorCQkJ CQkJCQkJIkRvIG5vdCBzdXBwb3J0IHJlcGxpY2F0aW9uIG9mIERETCBzdGF0ZW1lbnQgdGhhdCBy ZXdyaXRlcyB0YWJsZSB1c2luZyB2b2xhdGlsZSBmdW5jdGlvbnM6ICVzIiwKKwkJCQkJCQkJCWNt ZHN0cik7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCQkJfQorCQl9CiAKIAkJ LyoKIAkJICogU2V0IHVwIGEgc25hcHNob3QgaWYgcGFyc2UgYW5hbHlzaXMvcGxhbm5pbmcgd2ls bCBuZWVkIG9uZS4KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBf ZGRscy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5wbAppbmRleCAz NGI5ZDUxZWIxLi5iNGRmMWJmZWZkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24v dC8wMzBfcmVwX2RkbHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9k ZGxzLnBsCkBAIC0zODYsNyArMzg2LDI5IEBAICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0 Y2h1cCgnbXlzdWInKTsKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHMxLnByb2NfdGFibGUgd2hlcmUgYzMgPSAy MjsiKTsKIGlzKCRyZXN1bHQsIHFxKDEpLCAnRERMcyBpbiBwcm9jZWR1cmUgYXJlIHJlcGxpY2F0 ZWQnKTsKIAorIyBUZXN0IEFsdGVyIHRhYmxlIGFsdGVyIGNvbHVtbiB0eXBlIHN0bXQgaXMgcmVw bGljYXRlZAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkFMVEVSIFRB QkxFIHRlc3RfcmVwIEFMVEVSIENPTFVNTiBuYW1lIHR5cGUgVEVYVDsiKTsKKworJG5vZGVfcHVi bGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgZGF0YV90eXBlIEZST00gaW5m b3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgV0hFUkUgdGFibGVfbmFtZSA9ICd0ZXN0X3JlcCcgYW5k IGNvbHVtbl9uYW1lID0gJ25hbWUnOyIpOworaXMoJHJlc3VsdCwgcXEodGV4dCksICdBbHRlciB0 YWJsZSBjb2x1bW4gdHlwZSBzdG10IGlzIHJlcGxpY2F0ZWQnKTsKKworIyBUZXN0IEFsdGVyIHRh YmxlIGFkZCBjb2x1bW4gZGVmYXVsdCAwLjAxIGlzIHJlcGxpY2F0ZWQKKyRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJBTFRFUiBUQUJMRSB0ZXN0X3JlcCBBREQgQ09MVU1O IG5vbl92b2xhdGlsZSBkb3VibGUgcHJlY2lzaW9uIERFRkFVTFQgMC4wMTsiKTsKKworJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVf c3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSB0 ZXN0X3JlcCB3aGVyZSBub25fdm9sYXRpbGUgPSAwLjAxOyIpOworaXMoJHJlc3VsdCwgcXEoMiks ICdBbHRlciB0YWJsZSBhZGQgY29sdW1uIGRlZmF1bHQgMC4wMSBpcyByZXBsaWNhdGVkJyk7CisK ICNUT0RPIFRFU1QgY2VydGFpbiBERExzIGFyZSBub3QgcmVwbGljYXRlZAorIyBUZXN0IERETCBz dGF0ZW1lbnQgdGhhdCByZXdyaXRlcyB0YWJsZSB3aXRoIHZvbGF0aWxlIGZ1bmN0aW9ucyBhcmUg bm90IHJlcGxpY2F0ZWQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJB TFRFUiBUQUJMRSB0ZXN0X3JlcCBBREQgQ09MVU1OIHZvbGF0aWxlIGRvdWJsZSBwcmVjaXNpb24g REVGQVVMVCAzICogcmFuZG9tKCk7Iik7CiskcmVzdWx0ID0gJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIGluZm9ybWF0aW9uX3NjaGVt YS5jb2x1bW5zIFdIRVJFIHRhYmxlX25hbWUgPSAndGVzdF9yZXAnIGFuZCBjb2x1bW5fbmFtZSA9 ICd2b2xhdGlsZSc7Iik7CitpcygkcmVzdWx0LCBxcSgxKSwgJ0FsdGVyIHRhYmxlIGFkZCBjb2x1 bW4gZGVmYXVsdCByYW5kb20oKSBpcyBleGVjdXRlZCBvbiB0aGUgcHVibGlzaGVyIERCLicpOwor CiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+d2FpdF9mb3JfbG9nKCJEbyBub3Qgc3VwcG9y dCByZXBsaWNhdGlvbiBvZiBEREwgc3RhdGVtZW50IHRoYXQgcmV3cml0ZXMgdGFibGUgdXNpbmcg dm9sYXRpbGUgZnVuY3Rpb25zIiwgJHJlc3VsdCk7CiAKIHBhc3MgIkRETCByZXBsaWNhdGlvbiB0 ZXN0cyBwYXNzZWQhIjsKIAotLSAKMi4zMi4wCgo= --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0009-Support-replication-of-DDL-type-T_RenameStmt-table-r.patch" Content-Disposition: attachment; filename="0009-Support-replication-of-DDL-type-T_RenameStmt-table-r.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhr8 RnJvbSBhYzY3NzhmYTMzNDhkYjg1MjJjMzE3NzgzOTY1OWEyYzM4NDg0NDk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQb255Ym95WWJyIDw5NGJvcmVseWFuZ0BnbWFpbC5jb20+CkRh dGU6IFdlZCwgMTEgTWF5IDIwMjIgMTU6NDY6NDAgLTA3MDAKU3ViamVjdDogW1BBVENIIDA5LzEy XSBTdXBwb3J0IHJlcGxpY2F0aW9uIG9mIERETCB0eXBlIFRfUmVuYW1lU3RtdDogdGFibGUKIHJl bmFtZSBpcyBhbGxvd2VkIGluIGJvdGggZGF0YWJhc2UgbGV2ZWwgYW5kIHRhYmxlIGxldmVsIERE TCByZXBsaWNhdGlvbi4KIFJlbmFtZSBvZiBvdGhlciBvYmplY3RzIGFyZSBvbmx5IGFsbG93ZWQg aW4gZGF0YWJhc2UgbGV2ZWwgRERMIHJlcGxpY2F0aW9uLgoKQ28tYXV0aG9yZWQtYnk6IEJvcnVp IFlhbmcgPGJvcnVpeWFuQGFtYXpvbi5jb20+Ci0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvYWx0 ZXIuYyAgICAgICAgICAgIHwgIDUgKystLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRz LmMgICAgICAgIHwgMTUgKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jICAg ICAgICAgICAgICB8IDIwICsrKysrKysrKysrKy0tLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvYWx0 ZXIuaCAgICAgICAgICAgIHwgIDMgKystCiBzcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMu aCAgICAgICAgfCAgMiArLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBs IHwgMzMgKysrKysrKysrKysrKysrKysrKysrKystLQogNiBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNl cnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy9hbHRlci5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvYWx0ZXIuYwppbmRleCA1NDU2Yjgy MjJiLi4xY2E4Zjk5ZTBjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9hbHRlci5j CisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FsdGVyLmMKQEAgLTMyOCw3ICszMjgsOCBAQCBB bHRlck9iamVjdFJlbmFtZV9pbnRlcm5hbChSZWxhdGlvbiByZWwsIE9pZCBvYmplY3RJZCwgY29u c3QgY2hhciAqbmV3X25hbWUpCiAgKiBSZXR1cm4gdmFsdWUgaXMgdGhlIGFkZHJlc3Mgb2YgdGhl IHJlbmFtZWQgb2JqZWN0LgogICovCiBPYmplY3RBZGRyZXNzCi1FeGVjUmVuYW1lU3RtdChSZW5h bWVTdG10ICpzdG10KQorRXhlY1JlbmFtZVN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBSZW5hbWVT dG10ICpzdG10LAorCQkJCWJvb2wgaXNDb21wbGV0ZVF1ZXJ5KQogewogCXN3aXRjaCAoc3RtdC0+ cmVuYW1lVHlwZSkKIAl7CkBAIC0zNTQsNyArMzU1LDcgQEAgRXhlY1JlbmFtZVN0bXQoUmVuYW1l U3RtdCAqc3RtdCkKIAkJY2FzZSBPQkpFQ1RfTUFUVklFVzoKIAkJY2FzZSBPQkpFQ1RfSU5ERVg6 CiAJCWNhc2UgT0JKRUNUX0ZPUkVJR05fVEFCTEU6Ci0JCQlyZXR1cm4gUmVuYW1lUmVsYXRpb24o c3RtdCk7CisJCQlyZXR1cm4gUmVuYW1lUmVsYXRpb24ocHN0YXRlLCBzdG10LCBpc0NvbXBsZXRl UXVlcnkpOwogCiAJCWNhc2UgT0JKRUNUX0NPTFVNTjoKIAkJY2FzZSBPQkpFQ1RfQVRUUklCVVRF OgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCAzYzliNjQwOWNhLi42NTM4NmYyNjQxIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpAQCAtMzgyMCwxMSArMzgyMCwxMiBAQCBSZW5hbWVD b25zdHJhaW50KFJlbmFtZVN0bXQgKnN0bXQpCiAgKiBSRU5BTUUKICAqLwogT2JqZWN0QWRkcmVz cwotUmVuYW1lUmVsYXRpb24oUmVuYW1lU3RtdCAqc3RtdCkKK1JlbmFtZVJlbGF0aW9uKFBhcnNl U3RhdGUgKnBzdGF0ZSwgUmVuYW1lU3RtdCAqc3RtdCwgYm9vbCBpc0NvbXBsZXRlUXVlcnkpCiB7 CiAJYm9vbAkJaXNfaW5kZXhfc3RtdCA9IHN0bXQtPnJlbmFtZVR5cGUgPT0gT0JKRUNUX0lOREVY OwogCU9pZAkJCXJlbGlkOwogCU9iamVjdEFkZHJlc3MgYWRkcmVzczsKKwlib29sCQlkZGx4bG9n ID0gWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYgaXNDb21wbGV0ZVF1ZXJ5OwogCiAJLyoKIAkg KiBHcmFiIGFuIGV4Y2x1c2l2ZSBsb2NrIG9uIHRoZSB0YXJnZXQgdGFibGUsIGluZGV4LCBzZXF1 ZW5jZSwgdmlldywKQEAgLTM4NzIsNiArMzg3MywxOCBAQCBSZW5hbWVSZWxhdGlvbihSZW5hbWVT dG10ICpzdG10KQogCQlpc19pbmRleF9zdG10ID0gb2JqX2lzX2luZGV4OwogCX0KIAorCWlmIChk ZGx4bG9nICYmCisJCWRkbF9uZWVkX3hsb2cocmVsaWQsIGZhbHNlKSkKKwl7CisJCWJvb2wgdHJh bnNhY3Rpb25hbCA9IHRydWU7CisJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOworCQlMb2dMb2dp Y2FsRERMTWVzc2FnZShwcmVmaXgsCisJCQkJCQkJIEdldFVzZXJJZCgpLAorCQkJCQkJCSBwc3Rh dGUtPnBfc291cmNldGV4dCwKKwkJCQkJCQkgc3RybGVuKHBzdGF0ZS0+cF9zb3VyY2V0ZXh0KSwK KwkJCQkJCQkgdHJhbnNhY3Rpb25hbCk7CisJfQorCiAJLyogRG8gdGhlIHdvcmsgKi8KIAlSZW5h bWVSZWxhdGlvbkludGVybmFsKHJlbGlkLCBzdG10LT5uZXduYW1lLCBmYWxzZSwgaXNfaW5kZXhf c3RtdCk7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2Jh Y2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggZTllNzU2NzIwOS4uMWFiZDc3YTYwZSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91 dGlsaXR5LmMKQEAgLTEwMDIsNyArMTAwMiw3IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBs YW5uZWRTdG10ICpwc3RtdCwKIAkJCQkJCQkJCSAgIGNvbnRleHQsIHBhcmFtcywgcXVlcnlFbnYs CiAJCQkJCQkJCQkgICBkZXN0LCBxYyk7CiAJCQkJZWxzZQotCQkJCQlFeGVjUmVuYW1lU3RtdChz dG10KTsKKwkJCQkJRXhlY1JlbmFtZVN0bXQocHN0YXRlLCBzdG10LCBjb250ZXh0ICE9IFBST0NF U1NfVVRJTElUWV9TVUJDT01NQU5EKTsKIAkJCX0KIAkJCWJyZWFrOwogCkBAIC0xMTk1LDggKzEx OTUsMjAgQEAgTG9nTG9naWNhbERETENvbW1hbmQoTm9kZSAqcGFyc2V0cmVlLCBjb25zdCBjaGFy ICpxdWVyeVN0cmluZykKIAkJICovCiAJCWNhc2UgVF9BbHRlclRhYmxlU3RtdDoKIAkJY2FzZSBU X0luZGV4U3RtdDoKLQkJY2FzZSBUX1JlbmFtZVN0bXQ6IC8qIFRPRE8gKi8KLQkJY2FzZSBUX0Fs dGVyT3duZXJTdG10OiAvKiBUT0RPICovCisJCWNhc2UgVF9SZW5hbWVTdG10OgorCQl7CisJCQlS ZW5hbWVTdG10ICpzdG10ID0gKFJlbmFtZVN0bXQgKikgcGFyc2V0cmVlOworCQkJaWYoIXN0bXQt PnJlbGF0aW9uICYmIGRkbF9uZWVkX3hsb2coSW52YWxpZE9pZCwgdHJ1ZSkpeworCQkJCWJvb2wg dHJhbnNhY3Rpb25hbCA9IHRydWU7CisJCQkJY29uc3QgY2hhciogcHJlZml4ID0gIiI7CisJCQkJ TG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4LAorCQkJCQkJCQkJR2V0VXNlcklkKCksCisJCQkJ CQkJCQlxdWVyeVN0cmluZywKKwkJCQkJCQkJCXN0cmxlbihxdWVyeVN0cmluZyksCisJCQkJCQkJ CQl0cmFuc2FjdGlvbmFsKTsKKwkJCX0KKwkJfQorCQljYXNlIFRfQWx0ZXJPd25lclN0bXQ6IC8q IFRPRE8sIGl0IGlzIGRhdGEgY29udHJvbCBjYXNlLCBzYXZlIGZvciBsYXRlciB1cGRhdGUgKi8K IAkJCWJyZWFrOwogCiAJCS8qIERyb3BTdG10IGRlcGVuZHMgb24gdGhlIHJlbW92ZVR5cGUgKi8K QEAgLTIwMDgsNyArMjAyMCw3IEBAIFByb2Nlc3NVdGlsaXR5U2xvdyhQYXJzZVN0YXRlICpwc3Rh dGUsCiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgVF9SZW5hbWVTdG10OgotCQkJCWFkZHJlc3MgPSBF eGVjUmVuYW1lU3RtdCgoUmVuYW1lU3RtdCAqKSBwYXJzZXRyZWUpOworCQkJCWFkZHJlc3MgPSBF eGVjUmVuYW1lU3RtdChwc3RhdGUsIChSZW5hbWVTdG10ICopIHBhcnNldHJlZSwgaXNDb21wbGV0 ZVF1ZXJ5KTsKIAkJCQlicmVhazsKIAogCQkJY2FzZSBUX0FsdGVyT2JqZWN0RGVwZW5kc1N0bXQ6 CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9hbHRlci5oIGIvc3JjL2luY2x1ZGUv Y29tbWFuZHMvYWx0ZXIuaAppbmRleCA1MmY1ZTZmNmQyLi5kZjkzMzNlYjkzIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9jb21tYW5kcy9hbHRlci5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRz L2FsdGVyLmgKQEAgLTE3LDkgKzE3LDEwIEBACiAjaW5jbHVkZSAiY2F0YWxvZy9kZXBlbmRlbmN5 LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNzLmgiCiAjaW5jbHVkZSAibm9kZXMv cGFyc2Vub2Rlcy5oIgorI2luY2x1ZGUgInBhcnNlci9wYXJzZV9ub2RlLmgiCiAjaW5jbHVkZSAi dXRpbHMvcmVsY2FjaGUuaCIKIAotZXh0ZXJuIE9iamVjdEFkZHJlc3MgRXhlY1JlbmFtZVN0bXQo UmVuYW1lU3RtdCAqc3RtdCk7CitleHRlcm4gT2JqZWN0QWRkcmVzcyBFeGVjUmVuYW1lU3RtdChQ YXJzZVN0YXRlICpwc3RhdGUsIFJlbmFtZVN0bXQgKnN0bXQsIGJvb2wgaXNDb21wbGV0ZVF1ZXJ5 KTsKIAogZXh0ZXJuIE9iamVjdEFkZHJlc3MgRXhlY0FsdGVyT2JqZWN0RGVwZW5kc1N0bXQoQWx0 ZXJPYmplY3REZXBlbmRzU3RtdCAqc3RtdCwKIAkJCQkJCQkJCQkJCU9iamVjdEFkZHJlc3MgKnJl ZkFkZHJlc3MpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaAppbmRleCAyNDEwNmRlMmU1Li5mOTZi YjU3ZDU2IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaAorKysg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaApAQCAtNzQsNyArNzQsNyBAQCBleHRl cm4gT2JqZWN0QWRkcmVzcyByZW5hbWVhdHQoUmVuYW1lU3RtdCAqc3RtdCk7CiAKIGV4dGVybiBP YmplY3RBZGRyZXNzIFJlbmFtZUNvbnN0cmFpbnQoUmVuYW1lU3RtdCAqc3RtdCk7CiAKLWV4dGVy biBPYmplY3RBZGRyZXNzIFJlbmFtZVJlbGF0aW9uKFJlbmFtZVN0bXQgKnN0bXQpOworZXh0ZXJu IE9iamVjdEFkZHJlc3MgUmVuYW1lUmVsYXRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBSZW5hbWVT dG10ICpzdG10LCBib29sIGlzQ29tcGxldGVRdWVyeSk7CiAKIGV4dGVybiB2b2lkIFJlbmFtZVJl bGF0aW9uSW50ZXJuYWwoT2lkIG15cmVsaWQsCiAJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKm5ld3Jl bG5hbWUsIGJvb2wgaXNfaW50ZXJuYWwsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMzBfcmVwX2RkbHMucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2Rk bHMucGwKaW5kZXggYjRkZjFiZmVmZC4uNTExMjZiNDg5YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAzMF9yZXBfZGRscy5wbApAQCAtMzAsNyArMzAsNiBAQCAkbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgJGRkbCk7CiAkbm9kZV9zdWJzY3JpYmVyMi0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICRkZGwpOwogCiBteSAkcHVibGlzaGVyX2Nvbm5zdHIgPSAkbm9kZV9wdWJs aXNoZXItPmNvbm5zdHIgLiAnIGRibmFtZT1wb3N0Z3Jlcyc7Ci0KICMgbXlwdWIgaGFzIHB1YmRk bF9kYXRhYmFzZSBvbgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAki Q1JFQVRFIFBVQkxJQ0FUSU9OIG15cHViIEZPUiBBTEwgVEFCTEVTOyIpOwpAQCAtMjY5LDcgKzI2 OCw3IEBAICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IlNFTEVDVCBjb3VudCgqKSBmcm9tIHMxLnQ2OyIpCiBpcygkcmVzdWx0LCBxcSgxKSwgJ1NFTEVD VCBJTlRPIHMxLnQ2IGlzIHJlcGxpY2F0ZWQgd2l0aCBkYXRhJyk7CiAKICMgVEVTVCBDcmVhdGUg RG9tYWluU3RtdAotJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFU RSBET01BSU4gczEuc3BhY2VfY2hlY2sgQVMgVkFSQ0hBUiBOT1QgTlVMTCBDSEVDSyAodmFsdWUg IX4gJ1xzJyk7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JF QVRFIERPTUFJTiBzMS5zcGFjZV9jaGVjayBBUyBWQVJDSEFSIE5PVCBOVUxMIENIRUNLICh2YWx1 ZSAhfiAnXFxzJyk7Iik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlz dWInKTsKIApAQCAtMzQ4LDYgKzM0NywzNiBAQCAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2Nh dGNodXAoJ215c3ViJyk7CiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSBwZ19jYXRhbG9nLnBnX2Nhc3QgYywgcGdf Y2F0YWxvZy5wZ19wcm9jIHAgV0hFUkUgcC5wcm9uYW1lPSdhZGQnIEFORCBjLmNhc3RmdW5jPXAu b2lkOyIpOwogaXMoJHJlc3VsdCwgcXEoMSksICdDcmVhdGVDYXN0IFN0bXQgaXMgcmVwbGljYXRl ZCcpOwogCisjVEVTVCBSZW5hbWVTdG10IGZvciBGVU5DVElPTgorJG5vZGVfcHVibGlzaGVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgIkFMVEVSIEZVTkNUSU9OIGFkZCBSRU5BTUUgVE8gcGx1czsi KTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVz dWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291 bnQoKikgZnJvbSBwZ19jYXRhbG9nLnBnX3Byb2MgcCB3aGVyZSBwLnByb25hbWU9J3BsdXMnOyIp OworaXMoJHJlc3VsdCwgcXEoMSksICdSRU5BTUUgRlVOQ1RJT04gU3RtdCBpcyByZXBsaWNhdGVk Jyk7CisKKyNURVNUIFJlbmFtZVN0bXQgZm9yIHRhYmxlCiskbm9kZV9wdWJsaXNoZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIERBVEFCQVNFIGRiMTsiKTsKKyRub2RlX3B1Ymxpc2hl ci0+c2FmZV9wc3FsKCdkYjEnLCAiQ1JFQVRFIFRBQkxFIHQ3IChpZCBpbnQgcHJpbWFyeSBrZXks IG5hbWUgdmFyY2hhcik7Iik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgnZGIxJywgIkNS RUFURSBUQUJMRSB0OCAoaWQgaW50IHByaW1hcnkga2V5LCBuYW1lIHZhcmNoYXIpOyIpOworJG5v ZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ2RiMScsCisJIkNSRUFURSBQVUJMSUNBVElPTiBteXB1 YjMgRk9SIFRBQkxFIHQ3IHdpdGggKGRkbCA9ICd0YWJsZScpOyIpOworbXkgJHB1Ymxpc2hlcl9j b25uc3RyX2RiMSA9ICRub2RlX3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPWRiMSc7Cisk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBEQVRBQkFTRSBk YjE7Iik7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ2RiMScsICJDUkVBVEUgVEFCTEUg dDcgKGlkIGludCBwcmltYXJ5IGtleSwgbmFtZSB2YXJjaGFyKTsiKTsKKyRub2RlX3N1YnNjcmli ZXItPnNhZmVfcHNxbCgnZGIxJywgIkNSRUFURSBUQUJMRSB0OCAoaWQgaW50IHByaW1hcnkga2V5 LCBuYW1lIHZhcmNoYXIpOyIpOworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdkYjEnLAor CSJDUkVBVEUgU1VCU0NSSVBUSU9OIG15c3ViMyBDT05ORUNUSU9OICckcHVibGlzaGVyX2Nvbm5z dHJfZGIxJyBQVUJMSUNBVElPTiBteXB1YjM7IgorKTsKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9m b3JfY2F0Y2h1cCgnbXlzdWIzJyk7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgnZGIxJywg IkFMVEVSIFRBQkxFIHQ3IFJFTkFNRSBUTyBuZXd0NzsiKTsKKyRub2RlX3B1Ymxpc2hlci0+c2Fm ZV9wc3FsKCdkYjEnLCAiQUxURVIgVEFCTEUgdDggUkVOQU1FIFRPIG5ld3Q4OyIpOworJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YjMnKTsKKyRyZXN1bHQgPSAkbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ2RiMScsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ190YWJs ZXMgd2hlcmUgdGFibGVuYW1lID0gJ25ld3Q3JzsiKTsKK2lzKCRyZXN1bHQsIHFxKDEpLCAnUmVu YW1lIHQ3IHRvIG5ld3Q3IGlzIHJlcGxpY2F0ZWQnKTsKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3Jp YmVyLT5zYWZlX3BzcWwoJ2RiMScsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ190YWJsZXMgd2hl cmUgdGFibGVuYW1lID0gJ25ld3Q4JzsiKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnUmVuYW1lIHQ4 IHRvIG5ld3Q4IGlzIG5vdCByZXBsaWNhdGVkJyk7CisKICNURVNUIERETCBpbiBmdW5jdGlvbgog JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcXF7CiBDUkVBVEUgT1IgUkVQ TEFDRSBGVU5DVElPTiBmdW5jX2RkbCAodG5hbWUgdmFyY2hhcigyMCkpCi0tIAoyLjMyLjAKCg== --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0007-Enable-logging-and-replication-of-DDLs-executed-insi.patch" Content-Disposition: attachment; filename="0007-Enable-logging-and-replication-of-DDLs-executed-insi.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhp6 RnJvbSAyMmViY2NlMDdiNTJkY2ZkZTAwNTU2NDkzMjI3M2IyMWYxZDRiYWY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTUgQXByIDIwMjIgMDI6MDI6MTAgKzAwMDAKU3ViamVjdDogW1BBVENIIDA3 LzEyXSBFbmFibGUgbG9nZ2luZyBhbmQgcmVwbGljYXRpb24gb2YgRERMcyBleGVjdXRlZCBpbnNp ZGUKIGZ1bmN0aW9uIGFuZCBwcm9jZWR1cmVzLiBBbHNvIGZpeGVkIGEgYnVnIHdoZXJlIERETCB3 aXRoIFNVQkNPTU1BTkQgZ2V0cwogbG9nZ2VkIHR3aWNlLgoKLS0tCiAuLi4vdGVzdF9kZWNvZGlu Zy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQgICAgfCA0NyArKysrKysrKysrKysrKysrKy0tCiBj b250cmliL3Rlc3RfZGVjb2Rpbmcvc3FsL2RkbG1lc3NhZ2VzLnNxbCAgICAgfCAxOSArKysrKysr LQogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jICAgICAgICAgIHwgIDUgKy0K IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgICAgICAgICAgICB8ICA2ICstLQog c3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAgICAgICAgIHwgMjYgKysrKyst LS0tLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oICAgICAgICAgIHwgIDIg Ky0KIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5oICAgICAgICAgICAgICB8ICAzICst CiBzcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgICAgICAgfCAzOCArKysr KysrKysrKysrKysKIDggZmlsZXMgY2hhbmdlZCwgMTIxIGluc2VydGlvbnMoKyksIDI1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9leHBlY3RlZC9kZGxt ZXNzYWdlcy5vdXQgYi9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0ZWQvZGRsbWVzc2FnZXMu b3V0CmluZGV4IDAzNzZmMzZjMjQuLjgyMzAyOWQwM2QgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvdGVz dF9kZWNvZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQKKysrIGIvY29udHJpYi90ZXN0X2Rl Y29kaW5nL2V4cGVjdGVkL2RkbG1lc3NhZ2VzLm91dApAQCAtMTEsNyArMTEsNyBAQCBTRUxFQ1Qg J2luaXQnIEZST00gcGdfY3JlYXRlX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdCgncmVncmVzc2lv bl9zbG90JywgJ3Rlc3RfZAogIGluaXQKICgxIHJvdykKIAotQ1JFQVRFIFRBQkxFIHRlc3RfZGRs bWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOworQ1JFQVRFIFRBQkxFIHRlc3Rf ZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1ZSBwcmltYXJ5IGtleSwgZGF0YSBpbnQpOwogQUxU RVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOwogQUxURVIgVEFCTEUgdGVz dF9kZGxtZXNzYWdlIGRyb3AgYzM7CiBEUk9QIFRBQkxFIHRlc3RfZGRsbWVzc2FnZTsKQEAgLTI0 LDkgKzI0LDkgQEAgQ1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1 ZSwgZGF0YSBpbnQpOwogQUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFy OwogQ09NTUlUOwogU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXMo J3JlZ3Jlc3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmNsdWRlLXhpZHMnLCAnMCcsICdza2lw LWVtcHR5LXhhY3RzJywgJzEnKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDog MSBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGljYXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNl ciIsIHB1YmxpYywgc3o6IDU4IGNvbnRlbnQ6Q1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAo aWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IGRkbF9yZXBs aWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogNzAgY29udGVu dDpDUkVBVEUgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVlIHByaW1hcnkg a2V5LCBkYXRhIGludCk7CiAgRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAg cm9sZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMs IHN6OiA0MyBjb250ZW50OkFMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSBhZGQgYzMgdmFyY2hh cjsKICBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBkZGxfcmVw bGljYXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDM2IGNvbnRl bnQ6QUxURVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGRyb3AgYzM7CiAgRERMIG1lc3NhZ2U6IHRy YW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9sZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIsIHNlYXJj aF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiAyNyBjb250ZW50OkRST1AgVEFCTEUgdGVzdF9k ZGxtZXNzYWdlOwpAQCAtMzQsNiArMzQsNDQgQEAgU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dpY2Fs X3Nsb3RfZ2V0X2NoYW5nZXMoJ3JlZ3Jlc3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmMKICBE REwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGljYXRp b25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDQzIGNvbnRlbnQ6QUxU RVIgVEFCTEUgdGVzdF9kZGxtZXNzYWdlIGFkZCBjMyB2YXJjaGFyOwogKDYgcm93cykKIAorLS0g VGVzdCBsb2dnaW5nIERETCBpbiBmdW5jdGlvbgorQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04g ZnVuY19kZGwgKHRuYW1lIHZhcmNoYXIoMjApKQorUkVUVVJOUyBWT0lEIEFTICQkCitCRUdJTgor ICAgIGV4ZWN1dGUgZm9ybWF0KCdDUkVBVEUgVEFCTEUgJUkoaWQgaW50IHByaW1hcnkga2V5LCBu YW1lIHZhcmNoYXIpOycsIHRuYW1lKTsKKyAgICBleGVjdXRlIGZvcm1hdCgnQUxURVIgVEFCTEUg JUkgQUREIGMzIGludCcsIHRuYW1lKTsKKyAgICBleGVjdXRlIGZvcm1hdCgnSU5TRVJUIElOVE8g JUkgVkFMVUVTICgxLCAnJ2EnJyk7JywgdG5hbWUpOworICAgIGV4ZWN1dGUgZm9ybWF0KCdJTlNF UlQgSU5UTyAlSSBWQUxVRVMgKDIsICcnYicnLCAyMik7JywgdG5hbWUpOworRU5EOworJCQKK0xB TkdVQUdFIHBscGdzcWw7CitTRUxFQ1QgZnVuY19kZGwgKCd0YWJfZnJvbV9mdW5jJyk7CisgZnVu Y19kZGwgCistLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCBkYXRhIEZST00gcGdfbG9n aWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdyZXNzaW9uX3Nsb3QnLCBOVUxMLCBOVUxMLCAnaW5j bHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0eS14YWN0cycsICcxJyk7CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg RERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9sZTogZGRsX3JlcGxpY2F0 aW9uX3VzZXIsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiAzNzUgY29udGVudDpD UkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiBmdW5jX2RkbCAodG5hbWUgdmFyY2hhcigyMCkpICAg ICArCisgUkVUVVJOUyBWT0lEIEFTICQkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICArCisgQkVHSU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICArCisgICAgIGV4ZWN1dGUgZm9ybWF0KCdDUkVBVEUgVEFCTEUgJUkoaWQg aW50IHByaW1hcnkga2V5LCBuYW1lIHZhcmNoYXIpOycsIHRuYW1lKTsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICArCisgICAgIGV4ZWN1dGUgZm9ybWF0KCdBTFRFUiBUQUJMRSAl SSBBREQgYzMgaW50JywgdG5hbWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgIGV4ZWN1dGUgZm9ybWF0KCdJTlNFUlQg SU5UTyAlSSBWQUxVRVMgKDEsICcnYScnKTsnLCB0bmFtZSk7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgIGV4ZWN1dGUgZm9ybWF0KCdJ TlNFUlQgSU5UTyAlSSBWQUxVRVMgKDIsICcnYicnLCAyMik7JywgdG5hbWUpOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgRU5EOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgJCQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgTEFO R1VBR0UgcGxwZ3NxbDsKKyBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICBy b2xlOiBkZGxfcmVwbGljYXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywg c3o6IDYxIGNvbnRlbnQ6Q1JFQVRFIFRBQkxFIHRhYl9mcm9tX2Z1bmMoaWQgaW50IHByaW1hcnkg a2V5LCBuYW1lIHZhcmNoYXIpOworIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZp eDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVi bGljLCBzejogMzYgY29udGVudDpBTFRFUiBUQUJMRSB0YWJfZnJvbV9mdW5jIEFERCBjMyBpbnQK KyBCRUdJTgorIHRhYmxlIHB1YmxpYy50YWJfZnJvbV9mdW5jOiBJTlNFUlQ6IGlkW2ludGVnZXJd OjEgbmFtZVtjaGFyYWN0ZXIgdmFyeWluZ106J2EnIGMzW2ludGVnZXJdOm51bGwKKyB0YWJsZSBw dWJsaWMudGFiX2Zyb21fZnVuYzogSU5TRVJUOiBpZFtpbnRlZ2VyXToyIG5hbWVbY2hhcmFjdGVy IHZhcnlpbmddOidiJyBjM1tpbnRlZ2VyXToyMgorIENPTU1JVAorKDcgcm93cykKKwogU0VMRUNU IHBnX2Ryb3BfcmVwbGljYXRpb25fc2xvdCgncmVncmVzc2lvbl9zbG90Jyk7CiAgcGdfZHJvcF9y ZXBsaWNhdGlvbl9zbG90IAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTQxLDQgKzc5 LDUgQEAgU0VMRUNUIHBnX2Ryb3BfcmVwbGljYXRpb25fc2xvdCgncmVncmVzc2lvbl9zbG90Jyk7 CiAoMSByb3cpCiAKIERST1AgVEFCTEUgdGVzdF9kZGxtZXNzYWdlOworRFJPUCBUQUJMRSB0YWJf ZnJvbV9mdW5jOwogRFJPUCBwdWJsaWNhdGlvbiBteXB1YjsKZGlmZiAtLWdpdCBhL2NvbnRyaWIv dGVzdF9kZWNvZGluZy9zcWwvZGRsbWVzc2FnZXMuc3FsIGIvY29udHJpYi90ZXN0X2RlY29kaW5n L3NxbC9kZGxtZXNzYWdlcy5zcWwKaW5kZXggYzIzNjEwZjliNC4uMzA4MjY3MTQ4OCAxMDA2NDQK LS0tIGEvY29udHJpYi90ZXN0X2RlY29kaW5nL3NxbC9kZGxtZXNzYWdlcy5zcWwKKysrIGIvY29u dHJpYi90ZXN0X2RlY29kaW5nL3NxbC9kZGxtZXNzYWdlcy5zcWwKQEAgLTksNyArOSw3IEBAIFNF VCBTRVNTSU9OIEFVVEhPUklaQVRJT04gJ2RkbF9yZXBsaWNhdGlvbl91c2VyJzsKIAogU0VMRUNU ICdpbml0JyBGUk9NIHBnX2NyZWF0ZV9sb2dpY2FsX3JlcGxpY2F0aW9uX3Nsb3QoJ3JlZ3Jlc3Np b25fc2xvdCcsICd0ZXN0X2RlY29kaW5nJyk7CiAKLUNSRUFURSBUQUJMRSB0ZXN0X2RkbG1lc3Nh Z2UgKGlkIHNlcmlhbCB1bmlxdWUsIGRhdGEgaW50KTsKK0NSRUFURSBUQUJMRSB0ZXN0X2RkbG1l c3NhZ2UgKGlkIHNlcmlhbCB1bmlxdWUgcHJpbWFyeSBrZXksIGRhdGEgaW50KTsKIEFMVEVSIFRB QkxFIHRlc3RfZGRsbWVzc2FnZSBhZGQgYzMgdmFyY2hhcjsKIEFMVEVSIFRBQkxFIHRlc3RfZGRs bWVzc2FnZSBkcm9wIGMzOwogRFJPUCBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2U7CkBAIC0yNSw3ICsy NSwyNCBAQCBBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMzIHZhcmNoYXI7CiBDT01N SVQ7CiAKIFNFTEVDVCBkYXRhIEZST00gcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdyZWdy ZXNzaW9uX3Nsb3QnLCBOVUxMLCBOVUxMLCAnaW5jbHVkZS14aWRzJywgJzAnLCAnc2tpcC1lbXB0 eS14YWN0cycsICcxJyk7CisKKy0tIFRlc3QgbG9nZ2luZyBEREwgaW4gZnVuY3Rpb24KK0NSRUFU RSBPUiBSRVBMQUNFIEZVTkNUSU9OIGZ1bmNfZGRsICh0bmFtZSB2YXJjaGFyKDIwKSkKK1JFVFVS TlMgVk9JRCBBUyAkJAorQkVHSU4KKyAgICBleGVjdXRlIGZvcm1hdCgnQ1JFQVRFIFRBQkxFICVJ KGlkIGludCBwcmltYXJ5IGtleSwgbmFtZSB2YXJjaGFyKTsnLCB0bmFtZSk7CisgICAgZXhlY3V0 ZSBmb3JtYXQoJ0FMVEVSIFRBQkxFICVJIEFERCBjMyBpbnQnLCB0bmFtZSk7CisgICAgZXhlY3V0 ZSBmb3JtYXQoJ0lOU0VSVCBJTlRPICVJIFZBTFVFUyAoMSwgJydhJycpOycsIHRuYW1lKTsKKyAg ICBleGVjdXRlIGZvcm1hdCgnSU5TRVJUIElOVE8gJUkgVkFMVUVTICgyLCAnJ2InJywgMjIpOycs IHRuYW1lKTsKK0VORDsKKyQkCitMQU5HVUFHRSBwbHBnc3FsOworCitTRUxFQ1QgZnVuY19kZGwg KCd0YWJfZnJvbV9mdW5jJyk7CitTRUxFQ1QgZGF0YSBGUk9NIHBnX2xvZ2ljYWxfc2xvdF9nZXRf Y2hhbmdlcygncmVncmVzc2lvbl9zbG90JywgTlVMTCwgTlVMTCwgJ2luY2x1ZGUteGlkcycsICcw JywgJ3NraXAtZW1wdHkteGFjdHMnLCAnMScpOworCiBTRUxFQ1QgcGdfZHJvcF9yZXBsaWNhdGlv bl9zbG90KCdyZWdyZXNzaW9uX3Nsb3QnKTsKIERST1AgVEFCTEUgdGVzdF9kZGxtZXNzYWdlOwor RFJPUCBUQUJMRSB0YWJfZnJvbV9mdW5jOwogRFJPUCBwdWJsaWNhdGlvbiBteXB1YjsKIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCmluZGV4IGZhZDIxYTMxZDAuLmQ1ZTRmMzcxM2Qg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYworKysgYi9z cmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKQEAgLTEyMTEsMTUgKzEyMTEsMTIg QEAgcGdfZ2V0X3B1YmxpY2F0aW9uX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogICogQ2hlY2tz IGlmIERETCBvbiByZWxhdGlvbiAocmVsaWQpIG5lZWQgeGxvZyBmb3IgbG9naWNhbCByZXBsaWNh dGlvbgogICovCiBib29sCi1kZGxfbmVlZF94bG9nKE9pZCByZWxpZCwgYm9vbCBmb3JBbGxUYWJQ dWJPbmx5LCBib29sIGlzVG9wTGV2ZWwpCitkZGxfbmVlZF94bG9nKE9pZCByZWxpZCwgYm9vbCBm b3JBbGxUYWJQdWJPbmx5KQogewogCUxpc3QgKmFsbFRhYmxlUHVicyA9IE5JTDsKIAlMaXN0ICp0 YWJsZVB1YnMgPSBOSUw7CiAJTGlzdENlbGwgKmxjOwogCi0JLyogT25seSByZXBsaWNhdGUgdG9w bGV2ZWwgRERMIGNvbW1hbmQgKi8KLQlpZiAoIWlzVG9wTGV2ZWwpCi0JCXJldHVybiBmYWxzZTsK IAlpZiAocmVsaWQgPT0gSW52YWxpZE9pZCAmJiAhZm9yQWxsVGFiUHViT25seSkKIAkJcmV0dXJu IGZhbHNlOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4IDZkMTQ4Nzk1MWYuLjNjOWI2 NDA5Y2EgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCisrKyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0xMzMzLDE0ICsxMzMzLDE0IEBA IERyb3BFcnJvck1zZ1dyb25nVHlwZShjb25zdCBjaGFyICpyZWxuYW1lLCBjaGFyIHdyb25na2lu ZCwgY2hhciByaWdodGtpbmQpCiAgKgkJRFJPUCBNQVRFUklBTElaRUQgVklFVywgRFJPUCBGT1JF SUdOIFRBQkxFCiAgKi8KIHZvaWQKLVJlbW92ZVJlbGF0aW9ucyhQYXJzZVN0YXRlICpwc3RhdGUs IERyb3BTdG10ICpkcm9wLCBib29sIGlzVG9wTGV2ZWwpCitSZW1vdmVSZWxhdGlvbnMoUGFyc2VT dGF0ZSAqcHN0YXRlLCBEcm9wU3RtdCAqZHJvcCwgYm9vbCBpc0NvbXBsZXRlUXVlcnkpCiB7CiAJ T2JqZWN0QWRkcmVzc2VzICpvYmplY3RzOwogCWNoYXIJCXJlbGtpbmQ7CiAJTGlzdENlbGwgICAq Y2VsbDsKIAlpbnQJCQlmbGFncyA9IDA7CiAJTE9DS01PREUJbG9ja21vZGUgPSBBY2Nlc3NFeGNs dXNpdmVMb2NrOwotCWJvb2wJCWRkbHhsb2cgPSBYTG9nTG9naWNhbEluZm9BY3RpdmUoKTsKKwli b29sCQlkZGx4bG9nID0gWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYgaXNDb21wbGV0ZVF1ZXJ5 OwogCiAJLyogRFJPUCBDT05DVVJSRU5UTFkgdXNlcyBhIHdlYWtlciBsb2NrLCBhbmQgaGFzIHNv bWUgcmVzdHJpY3Rpb25zICovCiAJaWYgKGRyb3AtPmNvbmN1cnJlbnQpCkBAIC0xNDY2LDcgKzE0 NjYsNyBAQCBSZW1vdmVSZWxhdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBEcm9wU3RtdCAqZHJv cCwgYm9vbCBpc1RvcExldmVsKQogCiAJCQkvKiBEUk9QIFJFTEFUSU9OIG9yIElOREVYIGFyZSBh bGxvd2VkIGluIHRhYmxlIGxldmVsIERETCByZXBsaWNhdGlvbiAqLwogCQkJaWYgKHRhYmxlT2lk ICE9IEludmFsaWRPaWQgJiYKLQkJCQkhZGRsX25lZWRfeGxvZyh0YWJsZU9pZCwgZmFsc2UsIGlz VG9wTGV2ZWwpKQorCQkJCSFkZGxfbmVlZF94bG9nKHRhYmxlT2lkLCBmYWxzZSkpCiAJCQkJZGRs eGxvZyA9IGZhbHNlOwogCQl9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0 eS5jIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggMjkzODFiNTNiNi4uZTllNzU2 NzIwOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2Jh Y2tlbmQvdGNvcC91dGlsaXR5LmMKQEAgLTg3LDcgKzg3LDggQEAgc3RhdGljIHZvaWQgUHJvY2Vz c1V0aWxpdHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCQkgICBRdWVyeUVudmlyb25t ZW50ICpxdWVyeUVudiwKIAkJCQkJCQkgICBEZXN0UmVjZWl2ZXIgKmRlc3QsCiAJCQkJCQkJICAg UXVlcnlDb21wbGV0aW9uICpxYyk7Ci1zdGF0aWMgdm9pZCBFeGVjRHJvcFN0bXQoUGFyc2VTdGF0 ZSAqcHN0YXRlLCBEcm9wU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKTsKK3N0YXRpYyB2b2lk IEV4ZWNEcm9wU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpzdG10LCBib29sIGlz VG9wTGV2ZWwsCisJCQkJCQkgYm9vbCBpc0NvbXBsZXRlUXVlcnkpOwogCiAvKgogICogQ29tbWFu ZElzUmVhZE9ubHk6IGlzIGFuIGV4ZWN1dGFibGUgcXVlcnkgcmVhZC1vbmx5PwpAQCAtOTg4LDcg Kzk4OSw3IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAkJ CQkJCQkJCSAgIGNvbnRleHQsIHBhcmFtcywgcXVlcnlFbnYsCiAJCQkJCQkJCQkgICBkZXN0LCBx Yyk7CiAJCQkJZWxzZQotCQkJCQlFeGVjRHJvcFN0bXQocHN0YXRlLCBzdG10LCBpc1RvcExldmVs KTsKKwkJCQkJRXhlY0Ryb3BTdG10KHBzdGF0ZSwgc3RtdCwgaXNUb3BMZXZlbCwgY29udGV4dCAh PSBQUk9DRVNTX1VUSUxJVFlfU1VCQ09NTUFORCk7CiAJCQl9CiAJCQlicmVhazsKIApAQCAtMTEy OCw3ICsxMTI5LDcgQEAgTG9nTG9naWNhbERETENvbW1hbmQoTm9kZSAqcGFyc2V0cmVlLCBjb25z dCBjaGFyICpxdWVyeVN0cmluZykKIAkJCSAqIHRoZXJlIGlzIGFueSBGT1IgQUxMIFRBQkxFUyBw dWJsaWNhdGlvbiB3aXRoIHB1YmRkbF9kYXRhYmFzZSBvbi4KIAkJCSAqIGkuZS4gRGF0YWJhc2Ug bGV2ZWwgRERMIHJlcGxpY2F0aW9uIGlzIG9uIGZvciBzb21lIHB1YmxpY2F0aW9uLgogCQkJICov Ci0JCQlpZiAoZGRsX25lZWRfeGxvZyhJbnZhbGlkT2lkLCB0cnVlLCB0cnVlKSkKKwkJCWlmIChk ZGxfbmVlZF94bG9nKEludmFsaWRPaWQsIHRydWUpKQogCQkJewogCQkJCWJvb2wgdHJhbnNhY3Rp b25hbCA9IHRydWU7CiAJCQkJY29uc3QgY2hhciogcHJlZml4ID0gIiI7CkBAIC0xMTcwLDcgKzEx NzEsNyBAQCBMb2dMb2dpY2FsRERMQ29tbWFuZChOb2RlICpwYXJzZXRyZWUsIGNvbnN0IGNoYXIg KnF1ZXJ5U3RyaW5nKQogCQkJCQkgKiB0aGVyZSBpcyBhbnkgRk9SIEFMTCBUQUJMRVMgcHVibGlj YXRpb24gd2l0aCBwdWJkZGxfZGF0YWJhc2Ugb24uCiAJCQkJCSAqIGkuZS4gRGF0YWJhc2UgbGV2 ZWwgRERMIHJlcGxpY2F0aW9uIGlzIG9uIGZvciBzb21lIHB1YmxpY2F0aW9uLgogCQkJCQkgKi8K LQkJCQkJaWYgKGRkbF9uZWVkX3hsb2coSW52YWxpZE9pZCwgdHJ1ZSwgdHJ1ZSkpCisJCQkJCWlm IChkZGxfbmVlZF94bG9nKEludmFsaWRPaWQsIHRydWUpKQogCQkJCQl7CiAJCQkJCQlib29sIHRy YW5zYWN0aW9uYWwgPSB0cnVlOwogCQkJCQkJY29uc3QgY2hhciogcHJlZml4ID0gIiI7CkBAIC0x MjIxLDcgKzEyMjIsNyBAQCBMb2dMb2dpY2FsRERMQ29tbWFuZChOb2RlICpwYXJzZXRyZWUsIGNv bnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQogCQkJCQkgKiB0aGVyZSBpcyBhbnkgRk9SIEFMTCBUQUJM RVMgcHVibGljYXRpb24gd2l0aCBwdWJkZGxfZGF0YWJhc2Ugb24uCiAJCQkJCSAqIGkuZS4gRGF0 YWJhc2UgbGV2ZWwgRERMIHJlcGxpY2F0aW9uIGlzIG9uIGZvciBzb21lIHB1YmxpY2F0aW9uLgog CQkJCQkgKi8KLQkJCQkJaWYgKGRkbF9uZWVkX3hsb2coSW52YWxpZE9pZCwgdHJ1ZSwgdHJ1ZSkp CisJCQkJCWlmIChkZGxfbmVlZF94bG9nKEludmFsaWRPaWQsIHRydWUpKQogCQkJCQl7CiAJCQkJ CQlib29sIHRyYW5zYWN0aW9uYWwgPSB0cnVlOwogCQkJCQkJY29uc3QgY2hhciogcHJlZml4ID0g IiI7CkBAIC0xMzE4LDcgKzEzMTksNyBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAq cHN0YXRlLAogCQkJICogQ29uc2lkZXIgbG9nZ2luZyB0aGUgRERMIGNvbW1hbmQgaWYgbG9naWNh bCBsb2dnaW5nIGlzIGVuYWJsZWQgYW5kIHRoaXMgaXMKIAkJCSAqIGEgY29tcGxldGUgdG9wIGxl dmVsIHF1ZXJ5LgogCQkJICovCi0JCQlpZiAoWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYgaXNU b3BMZXZlbCkKKwkJCWlmIChYTG9nTG9naWNhbEluZm9BY3RpdmUoKSkKIAkJCQlMb2dMb2dpY2Fs RERMQ29tbWFuZChwYXJzZXRyZWUsIHF1ZXJ5U3RyaW5nKTsKIAkJfQogCkBAIC0xNTMwLDcgKzE1 MzEsOCBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJICog dGhpcyBUQUJMRSBiZWxvbmdzIHRvIGFueSBwdWJsaWNhdGlvbiB3aXRoIHRhYmxlIGxldmVsIGRk bCBvbgogCQkJCQkJICovCiAJCQkJCQlpZiAoWExvZ0xvZ2ljYWxJbmZvQWN0aXZlKCkgJiYKLQkJ CQkJCQlkZGxfbmVlZF94bG9nKHJlbGlkLCBmYWxzZSwgaXNUb3BMZXZlbCkpCisJCQkJCQkJaXND b21wbGV0ZVF1ZXJ5ICYmCisJCQkJCQkJZGRsX25lZWRfeGxvZyhyZWxpZCwgZmFsc2UpKQogCQkJ CQkJewogCQkJCQkJCWJvb2wgdHJhbnNhY3Rpb25hbCA9IHRydWU7CiAJCQkJCQkJY29uc3QgY2hh ciogcHJlZml4ID0gIiI7CkBAIC0xNzY2LDcgKzE3NjgsOCBAQCBQcm9jZXNzVXRpbGl0eVNsb3co UGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkgKiB0aGlzIFRBQkxFIGJlbG9uZ3MgdG8gYW55IHB1 YmxpY2F0aW9uIHdpdGggdGFibGUgbGV2ZWwgZGRsIG9uLgogCQkJCQkgKi8KIAkJCQkJaWYgKFhM b2dMb2dpY2FsSW5mb0FjdGl2ZSgpICYmCi0JCQkJCQlkZGxfbmVlZF94bG9nKHJlbGlkLCBmYWxz ZSwgaXNUb3BMZXZlbCkpCisJCQkJCQlpc0NvbXBsZXRlUXVlcnkgJiYKKwkJCQkJCWRkbF9uZWVk X3hsb2cocmVsaWQsIGZhbHNlKSkKIAkJCQkJewogCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsID0g dHJ1ZTsKIAkJCQkJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOwpAQCAtMTk5OSw3ICsyMDAyLDcg QEAgUHJvY2Vzc1V0aWxpdHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQlicmVhazsKIAog CQkJY2FzZSBUX0Ryb3BTdG10OgotCQkJCUV4ZWNEcm9wU3RtdChwc3RhdGUsIChEcm9wU3RtdCAq KSBwYXJzZXRyZWUsIGlzVG9wTGV2ZWwpOworCQkJCUV4ZWNEcm9wU3RtdChwc3RhdGUsIChEcm9w U3RtdCAqKSBwYXJzZXRyZWUsIGlzVG9wTGV2ZWwsIGlzQ29tcGxldGVRdWVyeSk7CiAJCQkJLyog bm8gY29tbWFuZHMgc3Rhc2hlZCBmb3IgRFJPUCAqLwogCQkJCWNvbW1hbmRDb2xsZWN0ZWQgPSB0 cnVlOwogCQkJCWJyZWFrOwpAQCAtMjIyMCw3ICsyMjIzLDggQEAgUHJvY2Vzc1V0aWxpdHlGb3JB bHRlclRhYmxlKE5vZGUgKnN0bXQsIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCkK ICAqIERpc3BhdGNoIGZ1bmN0aW9uIGZvciBEcm9wU3RtdAogICovCiBzdGF0aWMgdm9pZAotRXhl Y0Ryb3BTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgRHJvcFN0bXQgKnN0bXQsIGJvb2wgaXNUb3BM ZXZlbCkKK0V4ZWNEcm9wU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpzdG10LCBi b29sIGlzVG9wTGV2ZWwsCisJCQkgYm9vbCBpc0NvbXBsZXRlUXVlcnkpCiB7CiAJc3dpdGNoIChz dG10LT5yZW1vdmVUeXBlKQogCXsKQEAgLTIyMzUsNyArMjIzOSw3IEBAIEV4ZWNEcm9wU3RtdChQ YXJzZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpzdG10LCBib29sIGlzVG9wTGV2ZWwpCiAJCWNh c2UgT0JKRUNUX1ZJRVc6CiAJCWNhc2UgT0JKRUNUX01BVFZJRVc6CiAJCWNhc2UgT0JKRUNUX0ZP UkVJR05fVEFCTEU6Ci0JCQlSZW1vdmVSZWxhdGlvbnMocHN0YXRlLCBzdG10LCBpc1RvcExldmVs KTsKKwkJCVJlbW92ZVJlbGF0aW9ucyhwc3RhdGUsIHN0bXQsIGlzQ29tcGxldGVRdWVyeSk7CiAJ CQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCVJlbW92ZU9iamVjdHMoc3RtdCk7CmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmggYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3B1YmxpY2F0aW9uLmgKaW5kZXggYTk0ZTE1MjI1Ni4uOGMxMTRiMjQ0NyAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oCisrKyBiL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb24uaApAQCAtMTY2LDYgKzE2Niw2IEBAIGV4dGVybiBC aXRtYXBzZXQgKnB1Yl9jb2xsaXN0X3RvX2JpdG1hcHNldChCaXRtYXBzZXQgKmNvbHVtbnMsIERh dHVtIHB1YmNvbHMsCiAKIGV4dGVybiBPaWQJZ2V0X3B1YmxpY2F0aW9uX29pZChjb25zdCBjaGFy ICpwdWJuYW1lLCBib29sIG1pc3Npbmdfb2spOwogZXh0ZXJuIGNoYXIgKmdldF9wdWJsaWNhdGlv bl9uYW1lKE9pZCBwdWJpZCwgYm9vbCBtaXNzaW5nX29rKTsKLWV4dGVybiBib29sIGRkbF9uZWVk X3hsb2coT2lkIHJlbGlkLCBib29sIGZvckFsbFRhYlB1Yk9ubHksIGJvb2wgaXNUb3BMZXZlbCk7 CitleHRlcm4gYm9vbCBkZGxfbmVlZF94bG9nKE9pZCByZWxpZCwgYm9vbCBmb3JBbGxUYWJQdWJP bmx5KTsKIAogI2VuZGlmCQkJCQkJCS8qIFBHX1BVQkxJQ0FUSU9OX0ggKi8KZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv dGFibGVjbWRzLmgKaW5kZXggNjg3ODEzNjVkZS4uMjQxMDZkZTJlNSAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv dGFibGVjbWRzLmgKQEAgLTI4LDcgKzI4LDggQEAgc3RydWN0IEFsdGVyVGFibGVVdGlsaXR5Q29u dGV4dDsJLyogYXZvaWQgaW5jbHVkaW5nIHRjb3AvdXRpbGl0eS5oIGhlcmUgKi8KIGV4dGVybiBP YmplY3RBZGRyZXNzIERlZmluZVJlbGF0aW9uKENyZWF0ZVN0bXQgKnN0bXQsIGNoYXIgcmVsa2lu ZCwgT2lkIG93bmVySWQsCiAJCQkJCQkJCQlPYmplY3RBZGRyZXNzICp0eXBhZGRyZXNzLCBjb25z dCBjaGFyICpxdWVyeVN0cmluZyk7CiAKLWV4dGVybiB2b2lkIFJlbW92ZVJlbGF0aW9ucyhQYXJz ZVN0YXRlICpwc3RhdGUsIERyb3BTdG10ICpkcm9wLCBib29sIGlzVG9wTGV2ZWwpOworZXh0ZXJu IHZvaWQgUmVtb3ZlUmVsYXRpb25zKFBhcnNlU3RhdGUgKnBzdGF0ZSwgRHJvcFN0bXQgKmRyb3As CisJCQkJCQkJYm9vbCBpc0NvbXBsZXRlUXVlcnkpOwogCiBleHRlcm4gT2lkCUFsdGVyVGFibGVM b29rdXBSZWxhdGlvbihBbHRlclRhYmxlU3RtdCAqc3RtdCwgTE9DS01PREUgbG9ja21vZGUpOwog CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgYi9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwKaW5kZXggNGUwNTIxMjA2OC4u MzRiOWQ1MWViMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9k ZGxzLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5wbApAQCAt MzQ4LDYgKzM0OCw0NCBAQCAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3Vi Jyk7CiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJT RUxFQ1QgY291bnQoKikgRlJPTSBwZ19jYXRhbG9nLnBnX2Nhc3QgYywgcGdfY2F0YWxvZy5wZ19w cm9jIHAgV0hFUkUgcC5wcm9uYW1lPSdhZGQnIEFORCBjLmNhc3RmdW5jPXAub2lkOyIpOwogaXMo JHJlc3VsdCwgcXEoMSksICdDcmVhdGVDYXN0IFN0bXQgaXMgcmVwbGljYXRlZCcpOwogCisjVEVT VCBEREwgaW4gZnVuY3Rpb24KKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs IHFxeworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gZnVuY19kZGwgKHRuYW1lIHZhcmNoYXIo MjApKQorUkVUVVJOUyBWT0lEIEFTIFwkXCQKK0JFR0lOCisgICAgZXhlY3V0ZSBmb3JtYXQoJ0NS RUFURSBUQUJMRSAlSShpZCBpbnQgcHJpbWFyeSBrZXksIG5hbWUgdmFyY2hhcik7JywgdG5hbWUp OworICAgIGV4ZWN1dGUgZm9ybWF0KCdBTFRFUiBUQUJMRSAlSSBBREQgYzMgaW50JywgdG5hbWUp OworICAgIGV4ZWN1dGUgZm9ybWF0KCdJTlNFUlQgSU5UTyAlSSBWQUxVRVMgKDEsICcnYScnKTsn LCB0bmFtZSk7CisgICAgZXhlY3V0ZSBmb3JtYXQoJ0lOU0VSVCBJTlRPICVJIFZBTFVFUyAoMiwg JydiJycsIDIyKTsnLCB0bmFtZSk7CitFTkQ7CitcJFwkCitMQU5HVUFHRSBwbHBnc3FsO30pOwor Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGZ1bmNfZGRs KCdmdW5jX3RhYmxlJyk7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgn bXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gczEuZnVuY190YWJsZSB3aGVyZSBjMyA9IDIyOyIp OworaXMoJHJlc3VsdCwgcXEoMSksICdERExzIGluIGZ1bmN0aW9uIGFyZSByZXBsaWNhdGVkJyk7 CisKKyNURVNUIERETCBpbiBwcm9jZWR1cmUKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsIHFxeworQ1JFQVRFIE9SIFJFUExBQ0UgcHJvY2VkdXJlIHByb2NfZGRsICh0bmFt ZSB2YXJjaGFyKDIwKSkKK0xBTkdVQUdFIHBscGdzcWwgQVMgXCRcJAorQkVHSU4KKyAgICBleGVj dXRlIGZvcm1hdCgnQ1JFQVRFIFRBQkxFICVJKGlkIGludCBwcmltYXJ5IGtleSwgbmFtZSB2YXJj aGFyKTsnLCB0bmFtZSk7CisgICAgZXhlY3V0ZSBmb3JtYXQoJ0FMVEVSIFRBQkxFICVJIEFERCBj MyBpbnQnLCB0bmFtZSk7CisgICAgZXhlY3V0ZSBmb3JtYXQoJ0lOU0VSVCBJTlRPICVJIFZBTFVF UyAoMSwgJydhJycpOycsIHRuYW1lKTsKKyAgICBleGVjdXRlIGZvcm1hdCgnSU5TRVJUIElOVE8g JUkgVkFMVUVTICgyLCAnJ2InJywgMjIpOycsIHRuYW1lKTsKK0VORCBcJFwkO30pOworCiskbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ0FMTCBwcm9jX2RkbCgncHJvY190 YWJsZScpOyIpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7 CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNF TEVDVCBjb3VudCgqKSBGUk9NIHMxLnByb2NfdGFibGUgd2hlcmUgYzMgPSAyMjsiKTsKK2lzKCRy ZXN1bHQsIHFxKDEpLCAnRERMcyBpbiBwcm9jZWR1cmUgYXJlIHJlcGxpY2F0ZWQnKTsKKwogI1RP RE8gVEVTVCBjZXJ0YWluIERETHMgYXJlIG5vdCByZXBsaWNhdGVkCiAKIHBhc3MgIkRETCByZXBs aWNhdGlvbiB0ZXN0cyBwYXNzZWQhIjsKLS0gCjIuMzIuMAoK --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0010-Handle-partitioned-table-creation-on-the-apply-worke.patch" Content-Disposition: attachment; filename="0010-Handle-partitioned-table-creation-on-the-apply-worke.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhr9 RnJvbSAxOWEzOTUyZTdkYjcyNWE0MWQ3MjZiYmZlNTRiYmRhNmJmNDAxOTc1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IEZyaSwgMTMgTWF5IDIwMjIgMTk6NDc6NDQgKzAwMDAKU3ViamVjdDogW1BBVENIIDEw LzEyXSBIYW5kbGUgcGFydGl0aW9uZWQgdGFibGUgY3JlYXRpb24gb24gdGhlIGFwcGx5IHdvcmtl cjoKIHdoZXRoZXIgYSBwYXJ0aXRpb25lZCB0YWJsZSBzaG91bGQgYmUgYWRkZWQgdG8gcGdfc3Vi c2NyaXB0aW9uX3JlbCBjYXRhbG9nCiBkZXBlbmRzIG9uIHRoZSBzZXR0aW5nIG9mIHB1Ymxpc2hf dmlhX3BhcnRpdGlvbl9yb290IG9mIHRoZSBwdWJsaWNhdGlvbi4gVGh1cwogd2UgbmVlZCB0byBj b25uZWN0IHRvIHRoZSBzb3VyY2UgREIgYW5kIGNoZWNrIHdoZWh0ZXIgdGhlIHBhcnRpdGlvbmVk IHRhYmxlCiBzaG91bGQgYmUgc3Vic2NyaWJlZC4KCi0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMv c3Vic2NyaXB0aW9uY21kcy5jICB8IDU0ICsrKysrKysrKysrKysrKysrKysrKy0KIHNyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgfCAzNSArKysrKysrKysrKystLS0KIHNy Yy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaCAgfCAgMyArKwogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wc3FsLm91dCAgICAgICB8ICA2ICstLQogc3JjL3Rlc3Qvc3Vic2Ny aXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKwog NSBmaWxlcyBjaGFuZ2VkLCAxNDUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCmluZGV4IDgzZTZlYWU4NTUuLjI1ZDBh MjNkYjkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKQEAgLTIzLDcg KzIzLDYgQEAKICNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFjZS5oIgogI2luY2x1ZGUgImNhdGFs b2cvb2JqZWN0YWNjZXNzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNzLmgiCi0j aW5jbHVkZSAiY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X3N1YnNjcmlwdGlvbl9yZWwuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKICNpbmNs dWRlICJjb21tYW5kcy9kZWZyZW0uaCIKQEAgLTc0Niw2ICs3NDUsNTkgQEAgQ3JlYXRlU3Vic2Ny aXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwK IAlyZXR1cm4gbXlzZWxmOwogfQogCisvKgorICogQ2hlY2sgaWYgYSBwYXJ0aXRpb25lZCB0YWJs ZSBpcyBiZWluZyBwdWJsaXNoZWQgYnkgYW55IHB1YmxpY2F0aW9uIHN1YnNjaXJiZWQgYnkgdGhl IHN1YnNjcmlwdGlvbi4KKyAqIFdoZXRoZXIgYSBwYXJ0aXRpb25lZCB0YWJsZSBpcyBwdWJsaXNo ZWQgYWxzbyBkZXBlbmRzIG9uIHRoZSBwdWJsaWNhdGlvbiBvcHRpb24KKyAqIHB1Ymxpc2hfdmlh X3BhcnRpdGlvbl9yb290LiBCdXQgdGhlIHN1YnNjcmliZXIgZG9lc24ndCBrbm93IHRoZSBzZXR0 aW5nIG9mIHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290LAorICogdGhpcyBpcyB3aHkgd2UgbmVl ZCB0byBjaGVjayB0aGUgc291cmNlIERCIHNvIHRoYXQgd2UgY2FuIGRlY2lkZSB3aGV0aGVyIHRv IHN1YnNjcmliZSB0byB0aGUgcGFydGl0aW9uZWQKKyAqIHRhYmxlIChjb3VsZCBiZSBlaXRoZXIg cm9vdCBvciBsZWFmIHRhYmxlKSBkdXJpbmcgcmVwbGljYXRpb24gb2YgY3JlYXRlIHBhcnRpdGlv bmVkIHRhYmxlLgorICovCitib29sCitJc1BhcnRpdGlvbmVkVGFibGVQdWJsaXNoZWRPblNvdXJj ZShTdWJzY3JpcHRpb24gKnN1YiwgY2hhciAqc2NoZW1hX25hbWUsIGNoYXIgKnRhYmxlX25hbWUp Cit7CisJY2hhciAqZXJyOworCVdhbFJjdkV4ZWNSZXN1bHQgKnJlczsKKwlTdHJpbmdJbmZvRGF0 YSBjbWQ7CisJT2lkIHRhYmxlUm93WzFdID0ge0JPT0xPSUR9OworCWJvb2wgcmVzdWx0OworCisJ V2FsUmVjZWl2ZXJDb25uICp3cmNvbm47CisJLyogTG9hZCB0aGUgbGlicmFyeSBwcm92aWRpbmcg dXMgbGlicHEgY2FsbHMuICovCisJbG9hZF9maWxlKCJsaWJwcXdhbHJlY2VpdmVyIiwgZmFsc2Up OworCisJLyogVHJ5IHRvIGNvbm5lY3QgdG8gdGhlIHB1Ymxpc2hlci4gKi8KKwl3cmNvbm4gPSB3 YWxyY3ZfY29ubmVjdChzdWItPmNvbm5pbmZvLCB0cnVlLCBzdWItPm5hbWUsICZlcnIpOworCWlm ICghd3Jjb25uKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfQ09OTkVD VElPTl9GQUlMVVJFKSwKKwkJCQkgZXJybXNnKCJjb3VsZCBub3QgY29ubmVjdCB0byB0aGUgcHVi bGlzaGVyOiAlcyIsIGVycikpKTsKKworCVBHX1RSWSgpOworCXsKKwkJaW5pdFN0cmluZ0luZm8o JmNtZCk7CisJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmNtZCwgIlNFTEVDVCBUUlVFXG4iCisJ CQkJCQkJICAgIiAgRlJPTSBwZ19jYXRhbG9nLnBnX3B1YmxpY2F0aW9uX3RhYmxlcyB0XG4iCisJ CQkJCQkJICAgIiBXSEVSRSB0LnB1Ym5hbWUgSU4gKCIpOworCQlnZXRfcHVibGljYXRpb25zX3N0 cihzdWItPnB1YmxpY2F0aW9ucywgJmNtZCwgdHJ1ZSk7CisJCWFwcGVuZFN0cmluZ0luZm9TdHJp bmcoJmNtZCwgIikgQU5EIHQuc2NoZW1hbmFtZSA9ICciKTsKKwkJYXBwZW5kU3RyaW5nSW5mb1N0 cmluZygmY21kLCBzY2hlbWFfbmFtZSk7CisJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmNtZCwg IicgQU5EIHQudGFibGVuYW1lID0gJyIpOworCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQs IHRhYmxlX25hbWUpOworCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQsICInIik7CisKKwkJ cmVzID0gd2FscmN2X2V4ZWMod3Jjb25uLCBjbWQuZGF0YSwgMSwgdGFibGVSb3cpOworCQlwZnJl ZShjbWQuZGF0YSk7CisJCXJlc3VsdCA9IHR1cGxlc3RvcmVfdHVwbGVfY291bnQocmVzLT50dXBs ZXN0b3JlKSA+IDA7CisJfQorCVBHX0ZJTkFMTFkoKTsKKwl7CisJCXdhbHJjdl9kaXNjb25uZWN0 KHdyY29ubik7CisJfQorCVBHX0VORF9UUlkoKTsKKworCXJldHVybiByZXN1bHQ7Cit9CisKIHN0 YXRpYyB2b2lkCiBBbHRlclN1YnNjcmlwdGlvbl9yZWZyZXNoKFN1YnNjcmlwdGlvbiAqc3ViLCBi b29sIGNvcHlfZGF0YSwKIAkJCQkJCSAgTGlzdCAqdmFsaWRhdGVfcHVibGljYXRpb25zKQpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggMzk3MDJmNGEwZi4uMTEw ODAzMDE3OSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3Jr ZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0x NDMsNiArMTQzLDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvcGdfc3Vic2NyaXB0aW9uX3JlbC5oIgogI2luY2x1ZGUgImNhdGFsb2cv cGdfdGFibGVzcGFjZS5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaCIK ICNpbmNsdWRlICJjb21tYW5kcy90YWJsZWNtZHMuaCIKICNpbmNsdWRlICJjb21tYW5kcy90YWJs ZXNwYWNlLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvdHJpZ2dlci5oIgpAQCAtMjU0OCw2ICsyNTQ5 LDcgQEAgYXBwbHlfZXhlY3V0ZV9zcWxfY29tbWFuZChjb25zdCBjaGFyICpjbWRzdHIsIGNvbnN0 IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXIKIAkJYm9vbAkJIHNuYXBzaG90X3NldCA9IGZh bHNlOwogCQljaGFyIAkJICpzY2hlbWFuYW1lID0gTlVMTDsgLyogRm9yIENSRUFURSBUQUJMRSBh bmQgQ1JFQVRFIFRBQkxFIEFTIHN0bXQgb25seSAqLwogCQljaGFyCQkgKnJlbG5hbWUgPSBOVUxM OyAvKiBGb3IgQ1JFQVRFIFRBQkxFIGFuZCBDUkVBVEUgVEFCTEUgQVMgc3RtdCBvbmx5ICovCisJ CWJvb2wJCSBpc19wYXJ0aXRpb25lZF90YWJsZSA9IGZhbHNlOwogCiAJCWNvbW1hbmRUYWcgPSBD cmVhdGVDb21tYW5kVGFnKChOb2RlICopY29tbWFuZCk7CiAKQEAgLTI1NjQsNiArMjU2Niw4IEBA IGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21kc3RyLCBjb25zdCBjaGFy ICpyb2xlLCBjb25zdCBjaGFyICpzZWFyCiAJCQlSYW5nZVZhciAqcnYgPSBjc3RtdC0+cmVsYXRp b247CiAJCQlzY2hlbWFuYW1lID0gcnYtPnNjaGVtYW5hbWU7CiAJCQlyZWxuYW1lID0gcnYtPnJl bG5hbWU7CisJCQlpZiAoY3N0bXQtPmluaFJlbGF0aW9ucyAhPSBOSUwgfHwgY3N0bXQtPnBhcnRz cGVjICE9IE5VTEwpCisJCQkJaXNfcGFydGl0aW9uZWRfdGFibGUgPSB0cnVlOwogCQl9CiAJCWVs c2UgaWYgKGNvbW1hbmRUYWcgPT0gQ01EVEFHX0NSRUFURV9UQUJMRV9BUykKIAkJewpAQCAtMjc2 NSwxMiArMjc2OSwzMSBAQCBhcHBseV9leGVjdXRlX3NxbF9jb21tYW5kKGNvbnN0IGNoYXIgKmNt ZHN0ciwgY29uc3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAqc2VhcgogCiAJCQlpZiAocmVsaWQg IT0gSW52YWxpZE9pZCkKIAkJCXsKLQkJCQlBZGRTdWJzY3JpcHRpb25SZWxTdGF0ZShNeVN1YnNj cmlwdGlvbi0+b2lkLCByZWxpZCwKLQkJCQkJCQkJCQlTVUJSRUxfU1RBVEVfSU5JVCwKLQkJCQkJ CQkJCQlJbnZhbGlkWExvZ1JlY1B0cik7Ci0JCQkJZXJlcG9ydChERUJVRzEsCi0JCQkJCQkoZXJy bXNnX2ludGVybmFsKCJ0YWJsZSBcIiVzXCIgYWRkZWQgdG8gc3Vic2NyaXB0aW9uIFwiJXNcIiIs Ci0JCQkJCQkJCQkJIHJlbG5hbWUsIE15U3Vic2NyaXB0aW9uLT5uYW1lKSkpOworCQkJCWJvb2wg c3Vic2NyaWJlX3RhYmxlID0gdHJ1ZTsKKworCQkJCWlmIChpc19wYXJ0aXRpb25lZF90YWJsZSkK KwkJCQl7CisJCQkJCVJlbGF0aW9uIHJlbCA9IFJlbGF0aW9uSWRHZXRSZWxhdGlvbihyZWxpZCk7 CisJCQkJCWNoYXIgKnRhYmxlX25hbWUgPSBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpOwor CQkJCQljaGFyICpzY2hlbWFfbmFtZSA9IGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5h bWVzcGFjZShyZWwpKTsKKwkJCQkJLyoKKwkJCQkJICogQ29ubmVjdCB0byB0aGUgc291cmNlIERC IGFuZCBjaGVjayB3aGVodGVyIHRoZSBwYXJ0aXRpb25lZCB0YWJsZSBzaG91bGQgYmUgc3Vic2Ny aWJlZC4KKwkJCQkJICogQmVjYXVzZSBpdCBkZXBlbmRzIG9uIHRoZSBzZXR0aW5nIG9mIHB1Ymxp c2hfdmlhX3BhcnRpdGlvbl9yb290LCB3aGljaCB0aGUgc3Vic2NyaXB0aW9uCisJCQkJCSAqIGRv ZXNuJ3Qga25vdy4KKwkJCQkJICovCisJCQkJCXN1YnNjcmliZV90YWJsZSA9IElzUGFydGl0aW9u ZWRUYWJsZVB1Ymxpc2hlZE9uU291cmNlKE15U3Vic2NyaXB0aW9uLCBzY2hlbWFfbmFtZSwgdGFi bGVfbmFtZSk7CisJCQkJCVJlbGF0aW9uQ2xvc2UocmVsKTsKKwkJCQl9CisKKwkJCQlpZiAoc3Vi c2NyaWJlX3RhYmxlKQorCQkJCXsKKwkJCQkJQWRkU3Vic2NyaXB0aW9uUmVsU3RhdGUoTXlTdWJz Y3JpcHRpb24tPm9pZCwgcmVsaWQsCisJCQkJCQkJCQkJCVNVQlJFTF9TVEFURV9JTklULAorCQkJ CQkJCQkJCQlJbnZhbGlkWExvZ1JlY1B0cik7CisJCQkJCWVyZXBvcnQoREVCVUcxLAorCQkJCQkJ CShlcnJtc2dfaW50ZXJuYWwoInRhYmxlIFwiJXNcIiBhZGRlZCB0byBzdWJzY3JpcHRpb24gXCIl c1wiIiwKKwkJCQkJCQkJCQkJIHJlbG5hbWUsIE15U3Vic2NyaXB0aW9uLT5uYW1lKSkpOworCQkJ CX0KIAkJCX0KIAkJfQogCX0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNj cmlwdGlvbmNtZHMuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaApp bmRleCAyY2JlN2Q3YjY1Li40NTE5NTNhZjYwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21t YW5kcy9zdWJzY3JpcHRpb25jbWRzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vic2Ny aXB0aW9uY21kcy5oCkBAIC0xNiw2ICsxNiw3IEBACiAjZGVmaW5lIFNVQlNDUklQVElPTkNNRFNf SAogCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNzLmgiCisjaW5jbHVkZSAiY2F0YWxv Zy9wZ19zdWJzY3JpcHRpb24uaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2Vfbm9kZS5oIgogCiBl eHRlcm4gT2JqZWN0QWRkcmVzcyBDcmVhdGVTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRl LCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10LApAQCAtMjYsNCArMjcsNiBAQCBleHRlcm4g dm9pZCBEcm9wU3Vic2NyaXB0aW9uKERyb3BTdWJzY3JpcHRpb25TdG10ICpzdG10LCBib29sIGlz VG9wTGV2ZWwpOwogZXh0ZXJuIE9iamVjdEFkZHJlc3MgQWx0ZXJTdWJzY3JpcHRpb25Pd25lcihj b25zdCBjaGFyICpuYW1lLCBPaWQgbmV3T3duZXJJZCk7CiBleHRlcm4gdm9pZCBBbHRlclN1YnNj cmlwdGlvbk93bmVyX29pZChPaWQgc3ViaWQsIE9pZCBuZXdPd25lcklkKTsKIAorZXh0ZXJuIGJv b2wgSXNQYXJ0aXRpb25lZFRhYmxlUHVibGlzaGVkT25Tb3VyY2UoU3Vic2NyaXB0aW9uICpzdWIs IGNoYXIgKnNjaGVtYV9uYW1lLCBjaGFyICp0YWJsZV9uYW1lKTsKKwogI2VuZGlmCQkJCQkJCS8q IFNVQlNDUklQVElPTkNNRFNfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wc3FsLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHNxbC5vdXQKaW5kZXgg NjBhY2JkMTI0MS4uMzQyOWUzNDMzOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wc3FsLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BzcWwub3V0CkBA IC01OTY5LDkgKzU5NjksOSBAQCBMaXN0IG9mIHNjaGVtYXMKICgwIHJvd3MpCiAKIFxkUnAgIm5v LnN1Y2gucHVibGljYXRpb24iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9m IHB1YmxpY2F0aW9ucwotIE5hbWUgfCBPd25lciB8IEFsbCB0YWJsZXMgfCBJbnNlcnRzIHwgVXBk YXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBWaWEgcm9vdCAKLS0tLS0tLSstLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2YgcHVibGljYXRpb25zCisgTmFtZSB8IE93bmVyIHwgQWxsIHRhYmxlcyB8IEluc2Vy dHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IFZpYSByb290IHwgRGF0YWJhc2Ug bGV2ZWwgRERMcyB8IFRhYmxlIGxldmVsIERETHMgCistLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tCiAoMCByb3dzKQogCiBcZFJz ICJuby5zdWNoLnN1YnNjcmlwdGlvbiIKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlv bi90LzAzMF9yZXBfZGRscy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRs cy5wbAppbmRleCA1MTEyNmI0ODliLi5hMDNkNTk4MjY2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9z dWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDMwX3JlcF9kZGxzLnBsCkBAIC00MzEsNiArNDMxLDYzIEBAICRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHRlc3RfcmVwIHdoZXJl IG5vbl92b2xhdGlsZSA9IDAuMDE7Iik7CiBpcygkcmVzdWx0LCBxcSgyKSwgJ0FsdGVyIHRhYmxl IGFkZCBjb2x1bW4gZGVmYXVsdCAwLjAxIGlzIHJlcGxpY2F0ZWQnKTsKIAorIyBUZXN0IHBhcnRp dGlvbmVkIHRhYmxlIGNyZWF0aW9uIGlzIHJlcGxpY2F0ZWQgYmFzZWQgb24gdGhlIHNldHRpbmcg b2YgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsIHFxKAorICAgIENSRUFURSBUQUJMRSBzMS50ZXN0X3BhcnRfYSAoYSBpbnQs IGIgaW50LCBjIGludCkgUEFSVElUSU9OIEJZIExJU1QgKGEpOworCisgICAgQ1JFQVRFIFRBQkxF IHMxLnRlc3RfcGFydF9hXzEgUEFSVElUSU9OIE9GIHMxLnRlc3RfcGFydF9hIEZPUiBWQUxVRVMg SU4gKDEsMiwzLDQsNSk7CisgICAgQUxURVIgVEFCTEUgczEudGVzdF9wYXJ0X2FfMSBBREQgUFJJ TUFSWSBLRVkgKGEpOworICAgIEFMVEVSIFRBQkxFIHMxLnRlc3RfcGFydF9hXzEgUkVQTElDQSBJ REVOVElUWSBVU0lORyBJTkRFWCB0ZXN0X3BhcnRfYV8xX3BrZXk7CisKKyAgICBDUkVBVEUgVEFC TEUgczEudGVzdF9wYXJ0X2FfMiBQQVJUSVRJT04gT0YgczEudGVzdF9wYXJ0X2EgRk9SIFZBTFVF UyBJTiAoNiw3LDgsOSwxMCk7CisgICAgQUxURVIgVEFCTEUgczEudGVzdF9wYXJ0X2FfMiBBREQg UFJJTUFSWSBLRVkgKGIpOworICAgIEFMVEVSIFRBQkxFIHMxLnRlc3RfcGFydF9hXzIgUkVQTElD QSBJREVOVElUWSBVU0lORyBJTkRFWCB0ZXN0X3BhcnRfYV8yX3BrZXk7CisKKyAgICAtLSBpbml0 aWFsIGRhdGEsIG9uZSByb3cgaW4gZWFjaCBwYXJ0aXRpb24KKyAgICBJTlNFUlQgSU5UTyBzMS50 ZXN0X3BhcnRfYSBWQUxVRVMgKDEsIDMpOworICAgIElOU0VSVCBJTlRPIHMxLnRlc3RfcGFydF9h IFZBTFVFUyAoNiwgNCk7CispKTsKKyRyZXN1bHQgPSAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gczEudGVzdF9wYXJ0X2E7Iik7Citp cygkcmVzdWx0LCBxcSgyKSwgJ1BhcnRpdGlvbmVkIHRhYmxlIGlzIGNyZWF0ZWQgYW5kIHBvcHVs YXRlZCcpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CisK KyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVD VCBjb3VudCgqKSBmcm9tIHMxLnRlc3RfcGFydF9hOyIpOworaXMoJHJlc3VsdCwgcXEoMiksICdQ YXJ0aXRpb25lZCB0YWJsZSBhbmQgZGF0YSBpcyByZXBsaWNhdGVkJyk7CisKKyRyZXN1bHQgPSAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBm cm9tIHBnX3N1YnNjcmlwdGlvbl9yZWwgd2hlcmUgc3JyZWxpZCA9ICdzMS50ZXN0X3BhcnRfYSc6 OnJlZ2NsYXNzOjpvaWQ7Iik7CitpcygkcmVzdWx0LCBxcSgwKSwgJ1Jvb3QgdGFibGUgb2YgdGhl IHBhcnRpdGlvbmVkIHRhYmxlIGlzIG5vdCBzdWJzY3JpYmVkIHNpbmNlIHB1Ymxpc2hfdmlhX3Bh cnRpdGlvbl9yb290IGlzIGZhbHNlIGJ5IGRlZmF1bHQnKTsKKworJHJlc3VsdCA9ICRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdf c3Vic2NyaXB0aW9uX3JlbCB3aGVyZSBzcnJlbGlkID0gJ3MxLnRlc3RfcGFydF9hXzEnOjpyZWdj bGFzczo6b2lkIE9SIHNycmVsaWQgPSAnczEudGVzdF9wYXJ0X2FfMic6OnJlZ2NsYXNzOjpvaWQ7 Iik7CitpcygkcmVzdWx0LCBxcSgyKSwgJ09ubHkgbGVhZiB0YWJsZXMgb2YgdGhlIHBhcnRpdGlv bmVkIHRhYmxlIGFyZSBzdWJzY3JpYmVkIHNpbmNlIHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290 IGlzIGZhbHNlIGJ5IGRlZmF1bHQnKTsKKworIyBUZXN0IG9ubHkgcm9vdCBwYXJ0aXRpb24gdGFi bGUgaXMgc3Vic2NyaWJlZCB3aGVuIHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9yb290IGlzIGVuYWJs ZWQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsIHFxKAorCURST1AgVEFC TEUgczEudGVzdF9wYXJ0X2E7CisJQUxURVIgUFVCTElDQVRJT04gbXlwdWIgU0VUIChwdWJsaXNo X3ZpYV9wYXJ0aXRpb25fcm9vdCA9IHRydWUpOworICAgIENSRUFURSBUQUJMRSBzMS50ZXN0X3Bh cnRfYSAoYSBpbnQsIGIgaW50LCBjIGludCkgUEFSVElUSU9OIEJZIExJU1QgKGEpOworCisgICAg Q1JFQVRFIFRBQkxFIHMxLnRlc3RfcGFydF9hXzEgUEFSVElUSU9OIE9GIHMxLnRlc3RfcGFydF9h IEZPUiBWQUxVRVMgSU4gKDEsMiwzLDQsNSk7CisgICAgQUxURVIgVEFCTEUgczEudGVzdF9wYXJ0 X2FfMSBBREQgUFJJTUFSWSBLRVkgKGEpOworICAgIEFMVEVSIFRBQkxFIHMxLnRlc3RfcGFydF9h XzEgUkVQTElDQSBJREVOVElUWSBVU0lORyBJTkRFWCB0ZXN0X3BhcnRfYV8xX3BrZXk7CisKKyAg ICBDUkVBVEUgVEFCTEUgczEudGVzdF9wYXJ0X2FfMiBQQVJUSVRJT04gT0YgczEudGVzdF9wYXJ0 X2EgRk9SIFZBTFVFUyBJTiAoNiw3LDgsOSwxMCk7CisgICAgQUxURVIgVEFCTEUgczEudGVzdF9w YXJ0X2FfMiBBREQgUFJJTUFSWSBLRVkgKGIpOworICAgIEFMVEVSIFRBQkxFIHMxLnRlc3RfcGFy dF9hXzIgUkVQTElDQSBJREVOVElUWSBVU0lORyBJTkRFWCB0ZXN0X3BhcnRfYV8yX3BrZXk7CisK KyAgICAtLSBpbml0aWFsIGRhdGEsIG9uZSByb3cgaW4gZWFjaCBwYXJ0aXRpb24KKyAgICBJTlNF UlQgSU5UTyBzMS50ZXN0X3BhcnRfYSBWQUxVRVMgKDEsIDMpOworICAgIElOU0VSVCBJTlRPIHMx LnRlc3RfcGFydF9hIFZBTFVFUyAoNiwgNCk7CispKTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0 X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ19zdWJzY3JpcHRpb25f cmVsIHdoZXJlIHNycmVsaWQgPSAnczEudGVzdF9wYXJ0X2EnOjpyZWdjbGFzczo6b2lkOyIpOwor aXMoJHJlc3VsdCwgcXEoMSksICdPbmx5IHJvb3QgdGFibGUgb2YgdGhlIHBhcnRpdGlvbmVkIHRh YmxlIGlzIHN1YnNjcmliZWQgc2luY2UgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgaXMgZW5h YmxlZCcpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ19zdWJzY3JpcHRpb25fcmVsIHdoZXJlIHNycmVs aWQgPSAnczEudGVzdF9wYXJ0X2FfMSc6OnJlZ2NsYXNzOjpvaWQgT1Igc3JyZWxpZCA9ICdzMS50 ZXN0X3BhcnRfYV8yJzo6cmVnY2xhc3M6Om9pZDsiKTsKK2lzKCRyZXN1bHQsIHFxKDApLCAnTGVh ZiB0YWJsZXMgb2YgdGhlIHBhcnRpdGlvbmVkIHRhYmxlIGFyZSBub3Qgc3Vic2NyaWJlZCBzaW5j ZSBwdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdCBpcyBlbmFibGVkJyk7CisKICNUT0RPIFRFU1Qg Y2VydGFpbiBERExzIGFyZSBub3QgcmVwbGljYXRlZAogIyBUZXN0IERETCBzdGF0ZW1lbnQgdGhh dCByZXdyaXRlcyB0YWJsZSB3aXRoIHZvbGF0aWxlIGZ1bmN0aW9ucyBhcmUgbm90IHJlcGxpY2F0 ZWQKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJBTFRFUiBUQUJMRSB0 ZXN0X3JlcCBBREQgQ09MVU1OIHZvbGF0aWxlIGRvdWJsZSBwcmVjaXNpb24gREVGQVVMVCAzICog cmFuZG9tKCk7Iik7Ci0tIAoyLjMyLjAKCg== --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0006-Add-couple-tests-for-DDL-replication-case.patch" Content-Disposition: attachment; filename="0006-Add-couple-tests-for-DDL-replication-case.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuho5 RnJvbSA4NWY5NTY4ZmI1MjQ5MGU4Y2VmMGYzZmQ0YjdmNWIyZGYwNzYwYWEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCb3J1aSBZYW5nIDxib3J1aXlhbkBhbWF6b24uY29tPgpEYXRl OiBNb24sIDExIEFwciAyMDIyIDE4OjAyOjIxICswMDAwClN1YmplY3Q6IFtQQVRDSCAwNi8xMl0g QWRkIGNvdXBsZSB0ZXN0cyBmb3IgRERMIHJlcGxpY2F0aW9uIGNhc2UKCi0tLQogc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsIHwgODAgKysrKysrKysrKysrKysrKysrKysr KysrKwogMSBmaWxlIGNoYW5nZWQsIDgwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMzBfcmVwX2RkbHMucGwKaW5kZXggM2IxNWM2ZDlmMC4uNGUwNTIxMjA2OCAxMDA2NDQK LS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsCisrKyBiL3NyYy90 ZXN0L3N1YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5wbApAQCAtMjY4LDYgKzI2OCw4NiBAQCAk bm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CiAkcmVzdWx0ID0gJG5v ZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJv bSBzMS50NjsiKTsKIGlzKCRyZXN1bHQsIHFxKDEpLCAnU0VMRUNUIElOVE8gczEudDYgaXMgcmVw bGljYXRlZCB3aXRoIGRhdGEnKTsKIAorIyBURVNUIENyZWF0ZSBEb21haW5TdG10Ciskbm9kZV9w dWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIERPTUFJTiBzMS5zcGFjZV9j aGVjayBBUyBWQVJDSEFSIE5PVCBOVUxMIENIRUNLICh2YWx1ZSAhfiAnXHMnKTsiKTsKKworJG5v ZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5v ZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgdC50eXBub3RudWxs IGZyb20gcGdfY2F0YWxvZy5wZ190eXBlIHQgd2hlcmUgdC50eXBuYW1lPSdzcGFjZV9jaGVjayc7 Iik7CitpcygkcmVzdWx0LCBxcSh0KSwgJ0NyZWF0ZURvbWFpbiBTdG10IGlzIHJlcGxpY2F0dGVk Jyk7CisKKyMgVEVTVCBBbHRlckRvbWFpblN0bXQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICJBbHRlciBkb21haW4gczEuc3BhY2VfY2hlY2sgZHJvcCBub3QgbnVsbDsi KTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVz dWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgdC50 eXBub3RudWxsIGZyb20gcGdfY2F0YWxvZy5wZ190eXBlIHQgd2hlcmUgdC50eXBuYW1lPSdzcGFj ZV9jaGVjayc7Iik7CitpcygkcmVzdWx0LCBxcShmKSwgJ0FMVEVSIERPTUFJTiBTdG10IGlzIHJl cGxpY2F0ZWQnKTsKKworI1RFU1QgREVGSU5FIFN0bXQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgQUdHUkVHQVRFIHMxLmluY19zdW0oaW50KSAoc2Z1bmMg PSBpbnQ0cGwsc3R5cGUgPSBpbnQsaW5pdGNvbmQgPSAxMCk7Iik7CisKKyRub2RlX3B1Ymxpc2hl ci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmli ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdfY2F0YWxv Zy5wZ19wcm9jIHAgd2hlcmUgcC5wcm9uYW1lPSdpbmNfc3VtJzsiKTsKK2lzKCRyZXN1bHQsIHFx KDEpLCAnRGVmaW5lIHN0bXQgaXMgcmVwbGljYXRlZCcpOworCisjVEVTVCBDb21wb3NpdGVUeXBl U3RtdAorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUWVBF IHMxLmNvbXBmb28gQVMgKGYxIGludCwgZjIgdGV4dCk7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+ d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdfY2F0YWxvZy5w Z190eXBlIHQgd2hlcmUgdC50eXBuYW1lPSdjb21wZm9vJzsiKTsKK2lzKCRyZXN1bHQsIHFxKDEp LCAnQ29tcG9zaXRlVHlwZSBTdG10IGlzIHJlcGxpY2F0ZWQnKTsKKworI1RFU1QgQ3JlYXRlRW51 bSBTdG10Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRZ UEUgczEubW9vZCBBUyBFTlVNICgnc2FkJywgJ29rJywgJ2hhcHB5Jyk7Iik7CisKKyRub2RlX3B1 Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdf Y2F0YWxvZy5wZ190eXBlIHQgd2hlcmUgdC50eXBuYW1lPSdtb29kJzsiKTsKK2lzKCRyZXN1bHQs IHFxKDEpLCAnQ3JlYXRlRW51bVR5cGUgU3RtdCBpcyByZXBsaWNhdGVkJyk7CisKKyNURVNUIEFs dGVyRW51bSBTdG10Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQUxU RVIgVFlQRSBzMS5tb29kIFJFTkFNRSBWQUxVRSAnc2FkJyB0byAnZmluZSc7Iik7CisKKyRub2Rl X3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2Rl X3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00g cGdfY2F0YWxvZy5wZ19lbnVtIGUsIHBnX2NhdGFsb2cucGdfdHlwZSB0ICBXSEVSRSBlLmVudW10 eXBpZCA9IHQub2lkIEFORCB0LnR5cG5hbWU9J21vb2QnIEFORCBlLmVudW1sYWJlbD0nZmluZSc7 Iik7CitpcygkcmVzdWx0LCBxcSgxKSwgJ0FsdGVyRW51bVR5cGUgU3RtdCBpcyByZXBsaWNhdGVk Jyk7CisKKyNURVNUIENyZWF0ZVJhbmdlIFN0bXQKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICJDUkVBVEUgVFlQRSBmbG9hdHJhbmdlIEFTIFJBTkdFIChzdWJ0eXBlID0g ZmxvYXQ4LHN1YnR5cGVfZGlmZiA9IGZsb2F0OG1pKTsiKTsKKworJG5vZGVfcHVibGlzaGVyLT53 YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgZnJvbSBwZ19jYXRhbG9nLnBn X3R5cGUgdCB3aGVyZSB0LnR5cG5hbWU9J2Zsb2F0cmFuZ2UnOyIpOworaXMoJHJlc3VsdCwgcXEo MSksICdDcmVhdGVSYW5nZSBTdG10IGlzIHJlcGxpY2F0ZWQnKTsKKworI1RFU1QgVklFVyBTdG10 Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFZJRVcgczEu dmlzdGEgQVMgU0VMRUNUICdIZWxsbyBXb3JsZCc7Iik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2Fp dF9mb3JfY2F0Y2h1cCgnbXlzdWInKTsKKworJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdfY2F0YWxvZy5wZ19j bGFzcyBjIHdoZXJlIGMucmVsbmFtZT0ndmlzdGEnOyIpOworaXMoJHJlc3VsdCwgcXEoMSksICdW SUVXIFN0bXQgaXMgcmVwbGljYXRlZCcpOworCisjVEVTVCBDcmVhdGVGdW5jdGlvbiBTdG10Cisk bm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIEZVTkNUSU9OIHMx LmFkZChhIGludGVnZXIsIGIgaW50ZWdlcikgUkVUVVJOUyBpbnRlZ2VyIExBTkdVQUdFIFNRTCBJ TU1VVEFCTEUgUkVUVVJOIGEgKyBiOyIpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2Nh dGNodXAoJ215c3ViJyk7CisKKyRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBmcm9tIHBnX2NhdGFsb2cucGdfcHJvYyBwIHdo ZXJlIHAucHJvbmFtZT0nYWRkJzsiKTsKK2lzKCRyZXN1bHQsIHFxKDEpLCAnQ3JlYXRlRnVuY3Rp b24gU3RtdCBpcyByZXBsaWNhdGVkJyk7CisKKyNURVNUIENyZWF0ZUNhc3QgU3RtdAorJG5vZGVf cHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBDQVNUIChpbnQgQVMgaW50 NCkgV0lUSCBGVU5DVElPTiBhZGQoaW50LGludCkgQVMgQVNTSUdOTUVOVDsiKTsKKworJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdteXN1YicpOworCiskcmVzdWx0ID0gJG5vZGVf c3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSBw Z19jYXRhbG9nLnBnX2Nhc3QgYywgcGdfY2F0YWxvZy5wZ19wcm9jIHAgV0hFUkUgcC5wcm9uYW1l PSdhZGQnIEFORCBjLmNhc3RmdW5jPXAub2lkOyIpOworaXMoJHJlc3VsdCwgcXEoMSksICdDcmVh dGVDYXN0IFN0bXQgaXMgcmVwbGljYXRlZCcpOworCiAjVE9ETyBURVNUIGNlcnRhaW4gRERMcyBh cmUgbm90IHJlcGxpY2F0ZWQKIAogcGFzcyAiRERMIHJlcGxpY2F0aW9uIHRlc3RzIHBhc3NlZCEi OwotLSAKMi4zMi4wCgo= --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0012-Support-replication-of-ALTER-TABLE-commands-that-rew.patch" Content-Disposition: attachment; filename="0012-Support-replication-of-ALTER-TABLE-commands-that-rew.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuht11 RnJvbSA3YTk0ODk5ZjhkOTJiNTg3OGQ5NTUxZTdjMGIzZWI2MjBjOWU4YTRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IFRodSwgMTYgSnVuIDIwMjIgMDU6MjU6NDAgKzAwMDAKU3ViamVjdDogW1BBVENIIDEy LzEyXSBTdXBwb3J0IHJlcGxpY2F0aW9uIG9mIEFMVEVSIFRBQkxFIGNvbW1hbmRzIHRoYXQKIHJl d3JpdGUgdGFibGUgd2l0aCBwb3RlbnRpYWxseSB2b2xhdGlsZSBmdW5jdGlvbnMuIFRoaXMgaXMg ZG9uZSBieSBlbmFibGluZwogbG9naWNhbCByZXBsaWNhdGlvbiBvZiB0YWJsZSByZXdyaXRlIGFu ZCBjb252ZXJ0aW5nIHRoZSByZXdyaXRlIGluc2VydHMgdG8KIHVwZGF0ZXMgd2hpY2ggY2FuIGJl IHJlcGxheWVkIG9uIHRoZSBzdWJzY3JpYmVyIHdpdGhvdXQgdmlvbGF0aW5nIHByaW1hcnkga2V5 CiBjb25zdHJhaW50LgoKQW4gaW1wcm92ZW1lbnQgaXMgdG8gb25seSByZXBsaWNhdGUgdGhlIHJl d3JpdGUgaW5zZXJ0L3VwZGF0ZXMgd2hlbgphIHZvbGF0aWxlIGZ1bmN0aW9uIGlzIHVzZWQgdG8g Z2VuZXJhdGUgdGhlIHJld3JpdHRlbiB2YWx1ZS4KLS0tCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL3dvcmtlci5jICAgIHwgNDEgLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYyB8IDQ1ICsrKysrKysrKysrKysrKysr KystLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsICAgICB8IDE0ICsr KystLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBi L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggZWY3OWQxMDEx NS4uNjk4YWUxNDI3MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC93b3JrZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5j CkBAIC0yNTQ4LDQ3ICsyNTQ4LDYgQEAgcHJlcHJvY2Vzc19kZGwoUmF3U3RtdCAqY29tbWFuZCwg Y2hhciAqKnNjaGVtYW5hbWUsIGNoYXIgKipyZWxuYW1lLCBib29sICppc19wYXIKIAkJCX0KIAkJ CWJyZWFrOwogCQl9Ci0JCS8qCi0JCSAqIEFMVEVSIFRBQkxFIEFERCBDT0xVTU4gY29sIERFRkFV TFQgdm9sYXRpbGVfZXhwciBpcyBub3Qgc3VwcG9ydGVkLgotCQkgKiBVbnRpbCB3ZSBzdXBwb3J0 IGxvZ2ljYWwgcmVwbGljYXRpb24gb2YgdGFibGUgcmV3cml0ZSwgc2VlIEFUUmV3cml0ZVRhYmxl cygpCi0JCSAqIGZvciBkZXRhaWxzIG9uIHRhYmxlIHJld3JpdGUuCi0JCSAqLwotCQljYXNlIFRf QWx0ZXJUYWJsZVN0bXQ6Ci0JCXsKLQkJCUFsdGVyVGFibGVTdG10ICphdHN0bXQgPSAoQWx0ZXJU YWJsZVN0bXQgKikgY29tbWFuZC0+c3RtdDsKLQkJCUxpc3RDZWxsICpsYzsKLQotCQkJZm9yZWFj aChsYywgYXRzdG10LT5jbWRzKQotCQkJewotCQkJCUFsdGVyVGFibGVDbWQgKmNtZCA9IGxmaXJz dF9ub2RlKEFsdGVyVGFibGVDbWQsIGxjKTsKLQotCQkJCWlmIChjbWQtPnN1YnR5cGUgPT0gQVRf QWRkQ29sdW1uKQotCQkJCXsKLQkJCQkJQ29sdW1uRGVmICpjb2xEZWY7Ci0JCQkJCUxpc3RDZWxs ICpjOwotCi0JCQkJCWNvbERlZiA9IGNhc3ROb2RlKENvbHVtbkRlZiwgY21kLT5kZWYpOwotCQkJ CQlmb3JlYWNoKGMsIGNvbERlZi0+Y29uc3RyYWludHMpCi0JCQkJCXsKLQkJCQkJCUNvbnN0cmFp bnQgKmNvbiA9IGxmaXJzdF9ub2RlKENvbnN0cmFpbnQsIGMpOwotCi0JCQkJCQlpZiAoY29uLT5j b250eXBlID09IENPTlNUUl9ERUZBVUxUKQotCQkJCQkJewotCQkJCQkJCU5vZGUgKmV4cHI7Ci0J CQkJCQkJUGFyc2VTdGF0ZSAqcHN0YXRlID0gbWFrZV9wYXJzZXN0YXRlKE5VTEwpOwotCi0JCQkJ CQkJZXhwciA9IHRyYW5zZm9ybUV4cHIocHN0YXRlLCBjb3B5T2JqZWN0KGNvbi0+cmF3X2V4cHIp LCBFWFBSX0tJTkRfQ09MVU1OX0RFRkFVTFQpOwotCQkJCQkJCWlmIChjb250YWluX3ZvbGF0aWxl X2Z1bmN0aW9ucyhleHByKSkKLQkJCQkJCQl7Ci0JCQkJCQkJCWVsb2coRVJST1IsCi0JCQkJCQkJ CQkiRG8gbm90IHN1cHBvcnQgcmVwbGljYXRpb24gb2YgRERMIHN0YXRlbWVudCB0aGF0IHJld3Jp dGVzIHRhYmxlIHVzaW5nIHZvbGF0aWxlIGZ1bmN0aW9ucyIpOwotCQkJCQkJCX0KLQkJCQkJCX0K LQkJCQkJfQotCQkJCX0KLQkJCX0KLQkJCWJyZWFrOwotCQl9CiAJCWNhc2UgVF9Ecm9wU3RtdDoK IAkJewogCQkJRHJvcFN0bXQgKmRzdG10ID0gKERyb3BTdG10ICopIGNvbW1hbmQtPnN0bXQ7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYwppbmRleCBhNjYzNjdm ZTdhLi5mZDQxNDA0ODRjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291 dHB1dC9wZ291dHB1dC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bn b3V0cHV0LmMKQEAgLTQxMyw2ICs0MTMsNyBAQCBwZ291dHB1dF9zdGFydHVwKExvZ2ljYWxEZWNv ZGluZ0NvbnRleHQgKmN0eCwgT3V0cHV0UGx1Z2luT3B0aW9ucyAqb3B0LAogCiAJLyogVGhpcyBw bHVnaW4gdXNlcyBiaW5hcnkgcHJvdG9jb2wuICovCiAJb3B0LT5vdXRwdXRfdHlwZSA9IE9VVFBV VF9QTFVHSU5fQklOQVJZX09VVFBVVDsKKwlvcHQtPnJlY2VpdmVfcmV3cml0ZXMgPSB0cnVlOwog CiAJLyoKIAkgKiBUaGlzIGlzIHJlcGxpY2F0aW9uIHN0YXJ0IGFuZCBub3Qgc2xvdCBpbml0aWFs aXphdGlvbi4KQEAgLTEzNjgsOSArMTM2OSwyMiBAQCBwZ291dHB1dF9jaGFuZ2UoTG9naWNhbERl Y29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJUmVvcmRlckJ1ZmZl ckNoYW5nZVR5cGUgYWN0aW9uID0gY2hhbmdlLT5hY3Rpb247CiAJVHVwbGVUYWJsZVNsb3QgKm9s ZF9zbG90ID0gTlVMTDsKIAlUdXBsZVRhYmxlU2xvdCAqbmV3X3Nsb3QgPSBOVUxMOworCWJvb2wg dGFibGVfcmV3cml0ZSA9IGZhbHNlOwogCiAJdXBkYXRlX3JlcGxpY2F0aW9uX3Byb2dyZXNzKGN0 eCwgZmFsc2UpOwogCisJLyoKKwkJKiBGb3IgaGVhcCByZXdyaXRlcywgd2UgbWlnaHQgbmVlZCB0 byByZXBsaWNhdGUgdGhlbSBpZiB0aGUgcmV3cml0dGVuCisJCSogdGFibGUgcHVibGlzaGVzIHJl d3JpdGUgZGRsIG1lc3NhZ2UuIFNvIGdldCB0aGUgYWN0dWFsIHJlbGF0aW9uIGhlcmUgYW5kCisJ CSogY2hlY2sgdGhlIHB1YmFjdGlvbiBsYXRlci4KKwkJKi8KKwlpZiAocmVsYXRpb24tPnJkX3Jl bC0+cmVscmV3cml0ZSkKKwl7CisJCXRhYmxlX3Jld3JpdGUgPSB0cnVlOworCQlyZWxhdGlvbiA9 IFJlbGF0aW9uSWRHZXRSZWxhdGlvbihyZWxhdGlvbi0+cmRfcmVsLT5yZWxyZXdyaXRlKTsKKwkJ dGFyZ2V0cmVsID0gcmVsYXRpb247CisJfQorCiAJaWYgKCFpc19wdWJsaXNoYWJsZV9yZWxhdGlv bihyZWxhdGlvbikpCiAJCXJldHVybjsKIApAQCAtMTQwNCw2ICsxNDE4LDE0IEBAIHBnb3V0cHV0 X2NoYW5nZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsIFJlb3JkZXJCdWZmZXJUWE4gKnR4 biwKIAkJCUFzc2VydChmYWxzZSk7CiAJfQogCisJLyoKKwkgKiBXZSBkb24ndCBwdWJsaXNoIHRh YmxlIHJld3JpdGUgY2hhbmdlIHVubGVzcyB3ZSBwdWJsaXNoIHRoZSByZXdyaXRlIGRkbAorCSAq IG1lc3NhZ2UuCisJICovCisJaWYgKHRhYmxlX3Jld3JpdGUgJiYKKwkJKCFyZWxlbnRyeS0+cHVi YWN0aW9ucy5wdWJkZGxfZGF0YWJhc2UgfHwgIXJlbGVudHJ5LT5wdWJhY3Rpb25zLnB1YmRkbF90 YWJsZSkpCisJCXJldHVybjsKKwogCS8qIEF2b2lkIGxlYWtpbmcgbWVtb3J5IGJ5IHVzaW5nIGFu ZCByZXNldHRpbmcgb3VyIG93biBjb250ZXh0ICovCiAJb2xkID0gTWVtb3J5Q29udGV4dFN3aXRj aFRvKGRhdGEtPmNvbnRleHQpOwogCkBAIC0xNDMzLDggKzE0NTUsOCBAQCBwZ291dHB1dF9jaGFu Z2UoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJ CQl9CiAKIAkJCS8qIENoZWNrIHJvdyBmaWx0ZXIgKi8KLQkJCWlmICghcGdvdXRwdXRfcm93X2Zp bHRlcih0YXJnZXRyZWwsIE5VTEwsICZuZXdfc2xvdCwgcmVsZW50cnksCi0JCQkJCQkJCQkgJmFj dGlvbikpCisJCQlpZiAoIXRhYmxlX3Jld3JpdGUgJiYKKwkJCQkhcGdvdXRwdXRfcm93X2ZpbHRl cih0YXJnZXRyZWwsIE5VTEwsICZuZXdfc2xvdCwgcmVsZW50cnksICZhY3Rpb24pKQogCQkJCWJy ZWFrOwogCiAJCQkvKgpAQCAtMTQ1NCw4ICsxNDc2LDIwIEBAIHBnb3V0cHV0X2NoYW5nZShMb2dp Y2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCW1heWJl X3NlbmRfc2NoZW1hKGN0eCwgY2hhbmdlLCByZWxhdGlvbiwgcmVsZW50cnkpOwogCiAJCQlPdXRw dXRQbHVnaW5QcmVwYXJlV3JpdGUoY3R4LCB0cnVlKTsKLQkJCWxvZ2ljYWxyZXBfd3JpdGVfaW5z ZXJ0KGN0eC0+b3V0LCB4aWQsIHRhcmdldHJlbCwgbmV3X3Nsb3QsCi0JCQkJCQkJCQlkYXRhLT5i aW5hcnksIHJlbGVudHJ5LT5jb2x1bW5zKTsKKworCQkJLyoKKwkJCSAqIENvbnZlcnQgdGhlIHJl d3JpdGUgaW5zZXJ0cyB0byB1cGRhdGVzIHNvIHRoYXQgdGhlIHN1YnNjcmliZXIKKwkJCSAqIGNh biByZXBsYXkgaXQuIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2Ugc3VyZSB0aGUgZGF0YSBiZXR3ZWVu CisJCQkgKiBwdWJsaXNoZXIgYW5kIHN1YnNjcmliZXIgaXMgY29uc2lzdGVudC4KKwkJCSAqLwor CQkJaWYgKHRhYmxlX3Jld3JpdGUpCisJCQkJbG9naWNhbHJlcF93cml0ZV91cGRhdGUoY3R4LT5v dXQsIHhpZCwgdGFyZ2V0cmVsLAorCQkJCQkJCQkJCU5VTEwsIG5ld19zbG90LCBkYXRhLT5iaW5h cnksCisJCQkJCQkJCQkJcmVsZW50cnktPmNvbHVtbnMpOworCQkJZWxzZQorCQkJCWxvZ2ljYWxy ZXBfd3JpdGVfaW5zZXJ0KGN0eC0+b3V0LCB4aWQsIHRhcmdldHJlbCwgbmV3X3Nsb3QsCisJCQkJ CQkJCQkJZGF0YS0+YmluYXJ5LCByZWxlbnRyeS0+Y29sdW1ucyk7CisKIAkJCU91dHB1dFBsdWdp bldyaXRlKGN0eCwgdHJ1ZSk7CiAJCQlicmVhazsKIAkJY2FzZSBSRU9SREVSX0JVRkZFUl9DSEFO R0VfVVBEQVRFOgpAQCAtMTU4NSw2ICsxNjE5LDkgQEAgcGdvdXRwdXRfY2hhbmdlKExvZ2ljYWxE ZWNvZGluZ0NvbnRleHQgKmN0eCwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQlhbmNlc3RvciA9 IE5VTEw7CiAJfQogCisJaWYgKHRhYmxlX3Jld3JpdGUpCisJCVJlbGF0aW9uQ2xvc2UocmVsYXRp b24pOworCiAJLyogQ2xlYW51cCAqLwogCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGQpOwogCU1l bW9yeUNvbnRleHRSZXNldChkYXRhLT5jb250ZXh0KTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1 YnNjcmlwdGlvbi90LzAzMF9yZXBfZGRscy5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAz MF9yZXBfZGRscy5wbAppbmRleCBhMDNkNTk4MjY2Li5mNWM1MGZmZTg4IDEwMDY0NAotLS0gYS9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzBfcmVwX2RkbHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vi c2NyaXB0aW9uL3QvMDMwX3JlcF9kZGxzLnBsCkBAIC00ODgsMTMgKzQ4OCwxNyBAQCBpcygkcmVz dWx0LCBxcSgxKSwgJ09ubHkgcm9vdCB0YWJsZSBvZiB0aGUgcGFydGl0aW9uZWQgdGFibGUgaXMg c3Vic2NyaWJlZCBzaW5jZQogJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgn cG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIGZyb20gcGdfc3Vic2NyaXB0aW9uX3JlbCB3aGVy ZSBzcnJlbGlkID0gJ3MxLnRlc3RfcGFydF9hXzEnOjpyZWdjbGFzczo6b2lkIE9SIHNycmVsaWQg PSAnczEudGVzdF9wYXJ0X2FfMic6OnJlZ2NsYXNzOjpvaWQ7Iik7CiBpcygkcmVzdWx0LCBxcSgw KSwgJ0xlYWYgdGFibGVzIG9mIHRoZSBwYXJ0aXRpb25lZCB0YWJsZSBhcmUgbm90IHN1YnNjcmli ZWQgc2luY2UgcHVibGlzaF92aWFfcGFydGl0aW9uX3Jvb3QgaXMgZW5hYmxlZCcpOwogCi0jVE9E TyBURVNUIGNlcnRhaW4gRERMcyBhcmUgbm90IHJlcGxpY2F0ZWQKLSMgVGVzdCBEREwgc3RhdGVt ZW50IHRoYXQgcmV3cml0ZXMgdGFibGUgd2l0aCB2b2xhdGlsZSBmdW5jdGlvbnMgYXJlIG5vdCBy ZXBsaWNhdGVkCisjIFRlc3QgRERMIHN0YXRlbWVudCB0aGF0IHJld3JpdGVzIHRhYmxlIHdpdGgg dm9sYXRpbGUgZnVuY3Rpb25zIGFyZSByZXBsaWNhdGVkIHdpdGggdGhlIHNhbWUgdmFsdWVzIGZy b20gdGhlIHB1Ymxpc2hlcgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywg IkFMVEVSIFRBQkxFIHRlc3RfcmVwIEFERCBDT0xVTU4gdm9sYXRpbGUgZG91YmxlIHByZWNpc2lv biBERUZBVUxUIDMgKiByYW5kb20oKTsiKTsKLSRyZXN1bHQgPSAkbm9kZV9wdWJsaXNoZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gaW5mb3JtYXRpb25fc2No ZW1hLmNvbHVtbnMgV0hFUkUgdGFibGVfbmFtZSA9ICd0ZXN0X3JlcCcgYW5kIGNvbHVtbl9uYW1l ID0gJ3ZvbGF0aWxlJzsiKTsKLWlzKCRyZXN1bHQsIHFxKDEpLCAnQWx0ZXIgdGFibGUgYWRkIGNv bHVtbiBkZWZhdWx0IHJhbmRvbSgpIGlzIGV4ZWN1dGVkIG9uIHRoZSBwdWJsaXNoZXIgREIuJyk7 CiskcmVzdWx0ID0gJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVD VCBhdmcodm9sYXRpbGUpIEZST00gdGVzdF9yZXA7OyIpOworCiskbm9kZV9wdWJsaXNoZXItPndh aXRfZm9yX2NhdGNodXAoJ215c3ViJyk7CiAKLSRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT53 YWl0X2Zvcl9sb2coIkRvIG5vdCBzdXBwb3J0IHJlcGxpY2F0aW9uIG9mIERETCBzdGF0ZW1lbnQg dGhhdCByZXdyaXRlcyB0YWJsZSB1c2luZyB2b2xhdGlsZSBmdW5jdGlvbnMiLCAkcmVzdWx0KTsK KyRyZXN1bHRfc3ViID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJT RUxFQ1QgYXZnKHZvbGF0aWxlKSBGUk9NIHRlc3RfcmVwOzsiKTsKK2lzKCRyZXN1bHQsIHFxKCRy ZXN1bHRfc3ViKSwgJ0FsdGVyIHRhYmxlIGFkZCBjb2x1bW4gZGVmYXVsdCByYW5kb20oKSBpcyBy ZXBsaWNhdGVkIGNvcnJlY3RseScpOworCisjVE9ETyBURVNUIGNlcnRhaW4gRERMcyBhcmUgbm90 IHJlcGxpY2F0ZWQKKyMkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+d2FpdF9mb3JfbG9nKCJE byBub3Qgc3VwcG9ydCByZXBsaWNhdGlvbiBvZiBEREwgc3RhdGVtZW50IHRoYXQgcmV3cml0ZXMg dGFibGUgdXNpbmcgdm9sYXRpbGUgZnVuY3Rpb25zIiwgJHJlc3VsdCk7CiAKIHBhc3MgIkRETCBy ZXBsaWNhdGlvbiB0ZXN0cyBwYXNzZWQhIjsKIAotLSAKMi4zMi4wCgo= --0000000000003d077705e1a9e535 Content-Type: application/octet-stream; name="0011-Remove-non-transactional-ddl-message-decoding-becaus.patch" Content-Disposition: attachment; filename="0011-Remove-non-transactional-ddl-message-decoding-becaus.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4iupuhs10 RnJvbSA0ZTk3MDZiZjk0MjFlYzI0ZDdmZTJlNGI5ODVkNDRkNDU2ZmE1ZTNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiWmhlbmcgKFphbmUpIExpIiA8emhlbGxpQGFtYXpvbi5jb20+ CkRhdGU6IFR1ZSwgMjQgTWF5IDIwMjIgMTU6Mzc6MzQgKzAwMDAKU3ViamVjdDogW1BBVENIIDEx LzEyXSBSZW1vdmUgbm9uLXRyYW5zYWN0aW9uYWwgZGRsIG1lc3NhZ2UgZGVjb2RpbmcgYmVjYXVz ZQogdGhlIHVzZSBjYXNlIGlzIHVuY2xlYXIgYW5kIGl0IGhhcyB1bnJlc29sdmVkIGlzc3VlcyB1 bmRlciBjb25jdXJyZW5jeS4gU29tZQogY29kZSBjbGVhbnVwLgoKLS0tCiAuLi4vdGVzdF9kZWNv ZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQgICAgfCAgNDIgKy0tCiBjb250cmliL3Rlc3Rf ZGVjb2RpbmcvdGVzdF9kZWNvZGluZy5jICAgICAgICAgfCAgMjUgKy0KIC4uLi9hY2Nlc3Mvcm1n cmRlc2MvbG9naWNhbGRkbG1zZ2Rlc2MuYyAgICAgICB8ICAgMyArLQogc3JjL2JhY2tlbmQvY29t bWFuZHMvdGFibGVjbWRzLmMgICAgICAgICAgICAgIHwgICA4ICstCiBzcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL2RkbG1lc3NhZ2UuYyAgfCAgMTIgKy0KIHNyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvZGVjb2RlLmMgICAgICB8ICAxMyArLQogc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC9sb2dpY2FsLmMgICAgIHwgIDI2ICstCiBzcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL3Byb3RvLmMgICAgICAgfCAgMTIgKy0KIC4uLi9yZXBsaWNhdGlvbi9sb2dp Y2FsL3Jlb3JkZXJidWZmZXIuYyAgICAgICB8ICA2NCArLS0tCiBzcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL3dvcmtlci5jICAgICAgfCAzMDkgKysrKysrKysrKy0tLS0tLS0tCiBzcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jICAgfCAgMTcgKy0KIHNyYy9i YWNrZW5kL3Rjb3AvdXRpbGl0eS5jICAgICAgICAgICAgICAgICAgICB8ICAzNSArLQogc3JjL2lu Y2x1ZGUvcmVwbGljYXRpb24vZGRsbWVzc2FnZS5oICAgICAgICAgIHwgICAzICstCiBzcmMvaW5j bHVkZS9yZXBsaWNhdGlvbi9sb2dpY2FscHJvdG8uaCAgICAgICAgfCAgIDQgKy0KIHNyYy9pbmNs dWRlL3JlcGxpY2F0aW9uL291dHB1dF9wbHVnaW4uaCAgICAgICB8ICAgMiAtCiBzcmMvaW5jbHVk ZS9yZXBsaWNhdGlvbi9yZW9yZGVyYnVmZmVyLmggICAgICAgfCAgIDYgKy0KIDE2IGZpbGVzIGNo YW5nZWQsIDI2NCBpbnNlcnRpb25zKCspLCAzMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv Y29udHJpYi90ZXN0X2RlY29kaW5nL2V4cGVjdGVkL2RkbG1lc3NhZ2VzLm91dCBiL2NvbnRyaWIv dGVzdF9kZWNvZGluZy9leHBlY3RlZC9kZGxtZXNzYWdlcy5vdXQKaW5kZXggODIzMDI5ZDAzZC4u NTZjYmFmYTRjZiAxMDA2NDQKLS0tIGEvY29udHJpYi90ZXN0X2RlY29kaW5nL2V4cGVjdGVkL2Rk bG1lc3NhZ2VzLm91dAorKysgYi9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0ZWQvZGRsbWVz c2FnZXMub3V0CkBAIC0yNCwxNCArMjQsMTQgQEAgQ1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2Fn ZSAoaWQgc2VyaWFsIHVuaXF1ZSwgZGF0YSBpbnQpOwogQUxURVIgVEFCTEUgdGVzdF9kZGxtZXNz YWdlIGFkZCBjMyB2YXJjaGFyOwogQ09NTUlUOwogU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dpY2Fs X3Nsb3RfZ2V0X2NoYW5nZXMoJ3JlZ3Jlc3Npb25fc2xvdCcsIE5VTEwsIE5VTEwsICdpbmNsdWRl LXhpZHMnLCAnMCcsICdza2lwLWVtcHR5LXhhY3RzJywgJzEnKTsKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xl OiBkZGxfcmVwbGljYXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6 IDcwIGNvbnRlbnQ6Q1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2VyaWFsIHVuaXF1 ZSBwcmltYXJ5IGtleSwgZGF0YSBpbnQpOwotIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAx IHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2Vy IiwgcHVibGljLCBzejogNDMgY29udGVudDpBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRk IGMzIHZhcmNoYXI7Ci0gRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9uYWw6IDEgcHJlZml4OiAgcm9s ZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6 OiAzNiBjb250ZW50OkFMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSBkcm9wIGMzOwotIERETCBt ZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91 c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogMjcgY29udGVudDpEUk9QIFRB QkxFIHRlc3RfZGRsbWVzc2FnZTsKLSBEREwgbWVzc2FnZTogdHJhbnNhY3Rpb25hbDogMSBwcmVm aXg6ICByb2xlOiBkZGxfcmVwbGljYXRpb25fdXNlciwgc2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1 YmxpYywgc3o6IDU4IGNvbnRlbnQ6Q1JFQVRFIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSAoaWQgc2Vy aWFsIHVuaXF1ZSwgZGF0YSBpbnQpOwotIERETCBtZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHBy ZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwg cHVibGljLCBzejogNDMgY29udGVudDpBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2UgYWRkIGMz IHZhcmNoYXI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBEREwgbWVzc2FnZTogcHJlZml4OiAgcm9sZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIs IHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA3MCBjb250ZW50OkNSRUFURSBUQUJM RSB0ZXN0X2RkbG1lc3NhZ2UgKGlkIHNlcmlhbCB1bmlxdWUgcHJpbWFyeSBrZXksIGRhdGEgaW50 KTsKKyBEREwgbWVzc2FnZTogcHJlZml4OiAgcm9sZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIsIHNl YXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiA0MyBjb250ZW50OkFMVEVSIFRBQkxFIHRl c3RfZGRsbWVzc2FnZSBhZGQgYzMgdmFyY2hhcjsKKyBEREwgbWVzc2FnZTogcHJlZml4OiAgcm9s ZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6 OiAzNiBjb250ZW50OkFMVEVSIFRBQkxFIHRlc3RfZGRsbWVzc2FnZSBkcm9wIGMzOworIERETCBt ZXNzYWdlOiBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGljYXRpb25fdXNlciwgc2VhcmNoX3BhdGg6 ICIkdXNlciIsIHB1YmxpYywgc3o6IDI3IGNvbnRlbnQ6RFJPUCBUQUJMRSB0ZXN0X2RkbG1lc3Nh Z2U7CisgRERMIG1lc3NhZ2U6IHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91c2VyLCBz ZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogNTggY29udGVudDpDUkVBVEUgVEFCTEUg dGVzdF9kZGxtZXNzYWdlIChpZCBzZXJpYWwgdW5pcXVlLCBkYXRhIGludCk7CisgRERMIG1lc3Nh Z2U6IHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0aDogIiR1 c2VyIiwgcHVibGljLCBzejogNDMgY29udGVudDpBTFRFUiBUQUJMRSB0ZXN0X2RkbG1lc3NhZ2Ug YWRkIGMzIHZhcmNoYXI7CiAoNiByb3dzKQogCiAtLSBUZXN0IGxvZ2dpbmcgRERMIGluIGZ1bmN0 aW9uCkBAIC01MiwyMCArNTIsMjAgQEAgU0VMRUNUIGZ1bmNfZGRsICgndGFiX2Zyb21fZnVuYycp OwogKDEgcm93KQogCiBTRUxFQ1QgZGF0YSBGUk9NIHBnX2xvZ2ljYWxfc2xvdF9nZXRfY2hhbmdl cygncmVncmVzc2lvbl9zbG90JywgTlVMTCwgTlVMTCwgJ2luY2x1ZGUteGlkcycsICcwJywgJ3Nr aXAtZW1wdHkteGFjdHMnLCAnMScpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIERETCBtZXNzYWdlOiB0cmFuc2Fj dGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91c2VyLCBzZWFyY2hfcGF0 aDogIiR1c2VyIiwgcHVibGljLCBzejogMzc1IGNvbnRlbnQ6Q1JFQVRFIE9SIFJFUExBQ0UgRlVO Q1RJT04gZnVuY19kZGwgKHRuYW1lIHZhcmNoYXIoMjApKSAgICAgKwotIFJFVFVSTlMgVk9JRCBB UyAkJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKwotIEJFR0lOICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKwotICAg ICBleGVjdXRlIGZvcm1hdCgnQ1JFQVRFIFRBQkxFICVJKGlkIGludCBwcmltYXJ5IGtleSwgbmFt ZSB2YXJjaGFyKTsnLCB0bmFtZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KwotICAgICBleGVjdXRlIGZvcm1hdCgnQUxURVIgVEFCTEUgJUkgQUREIGMzIGludCcsIHRuYW1l KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKwotICAgICBleGVjdXRlIGZvcm1hdCgnSU5TRVJUIElOVE8gJUkgVkFMVUVTICgxLCAn J2EnJyk7JywgdG5hbWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKwotICAgICBleGVjdXRlIGZvcm1hdCgnSU5TRVJUIElOVE8gJUkgVkFMVUVT ICgyLCAnJ2InJywgMjIpOycsIHRuYW1lKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKwotIEVORDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKwotICQkICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgRERMIG1lc3NhZ2U6IHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91 c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogMzc1IGNvbnRlbnQ6Q1JFQVRF IE9SIFJFUExBQ0UgRlVOQ1RJT04gZnVuY19kZGwgKHRuYW1lIHZhcmNoYXIoMjApKSAgICAgKwor IFJFVFVSTlMgVk9JRCBBUyAkJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyBCRUdJTiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArCisgICAgIGV4ZWN1dGUgZm9ybWF0KCdD UkVBVEUgVEFCTEUgJUkoaWQgaW50IHByaW1hcnkga2V5LCBuYW1lIHZhcmNoYXIpOycsIHRuYW1l KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKworICAgICBleGVjdXRlIGZvcm1hdCgnQUxURVIgVEFCTEUg JUkgQUREIGMzIGludCcsIHRuYW1lKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICsKKyAgICAgZXhlY3V0ZSBmb3JtYXQoJ0lOU0VSVCBJTlRPICVJIFZBTFVFUyAo MSwgJydhJycpOycsIHRuYW1lKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAr CisgICAgIGV4ZWN1dGUgZm9ybWF0KCdJTlNFUlQgSU5UTyAlSSBWQUxVRVMgKDIsICcnYicnLCAy Mik7JywgdG5hbWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKworIEVORDsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsKKyAkJCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICArCiAgTEFOR1VBR0UgcGxwZ3NxbDsKLSBEREwgbWVzc2Fn ZTogdHJhbnNhY3Rpb25hbDogMSBwcmVmaXg6ICByb2xlOiBkZGxfcmVwbGljYXRpb25fdXNlciwg c2VhcmNoX3BhdGg6ICIkdXNlciIsIHB1YmxpYywgc3o6IDYxIGNvbnRlbnQ6Q1JFQVRFIFRBQkxF IHRhYl9mcm9tX2Z1bmMoaWQgaW50IHByaW1hcnkga2V5LCBuYW1lIHZhcmNoYXIpOwotIERETCBt ZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAxIHByZWZpeDogIHJvbGU6IGRkbF9yZXBsaWNhdGlvbl91 c2VyLCBzZWFyY2hfcGF0aDogIiR1c2VyIiwgcHVibGljLCBzejogMzYgY29udGVudDpBTFRFUiBU QUJMRSB0YWJfZnJvbV9mdW5jIEFERCBjMyBpbnQKKyBEREwgbWVzc2FnZTogcHJlZml4OiAgcm9s ZTogZGRsX3JlcGxpY2F0aW9uX3VzZXIsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6 OiA2MSBjb250ZW50OkNSRUFURSBUQUJMRSB0YWJfZnJvbV9mdW5jKGlkIGludCBwcmltYXJ5IGtl eSwgbmFtZSB2YXJjaGFyKTsKKyBEREwgbWVzc2FnZTogcHJlZml4OiAgcm9sZTogZGRsX3JlcGxp Y2F0aW9uX3VzZXIsIHNlYXJjaF9wYXRoOiAiJHVzZXIiLCBwdWJsaWMsIHN6OiAzNiBjb250ZW50 OkFMVEVSIFRBQkxFIHRhYl9mcm9tX2Z1bmMgQUREIGMzIGludAogIEJFR0lOCiAgdGFibGUgcHVi bGljLnRhYl9mcm9tX2Z1bmM6IElOU0VSVDogaWRbaW50ZWdlcl06MSBuYW1lW2NoYXJhY3RlciB2 YXJ5aW5nXTonYScgYzNbaW50ZWdlcl06bnVsbAogIHRhYmxlIHB1YmxpYy50YWJfZnJvbV9mdW5j OiBJTlNFUlQ6IGlkW2ludGVnZXJdOjIgbmFtZVtjaGFyYWN0ZXIgdmFyeWluZ106J2InIGMzW2lu dGVnZXJdOjIyCmRpZmYgLS1naXQgYS9jb250cmliL3Rlc3RfZGVjb2RpbmcvdGVzdF9kZWNvZGlu Zy5jIGIvY29udHJpYi90ZXN0X2RlY29kaW5nL3Rlc3RfZGVjb2RpbmcuYwppbmRleCBhNDRlMWY3 OWUzLi5lYjNkZDc2NzgyIDEwMDY0NAotLS0gYS9jb250cmliL3Rlc3RfZGVjb2RpbmcvdGVzdF9k ZWNvZGluZy5jCisrKyBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy90ZXN0X2RlY29kaW5nLmMKQEAg LTc4LDcgKzc4LDcgQEAgc3RhdGljIHZvaWQgcGdfZGVjb2RlX21lc3NhZ2UoTG9naWNhbERlY29k aW5nQ29udGV4dCAqY3R4LAogCQkJCQkJCSAgU2l6ZSBzeiwgY29uc3QgY2hhciAqbWVzc2FnZSk7 CiBzdGF0aWMgdm9pZCBwZ19kZWNvZGVfZGRsbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0 ICpjdHgsCiAJCQkJCQkJCSBSZW9yZGVyQnVmZmVyVFhOICp0eG4sIFhMb2dSZWNQdHIgbWVzc2Fn ZV9sc24sCi0JCQkJCQkJCSBib29sIHRyYW5zYWN0aW9uYWwsIGNvbnN0IGNoYXIgKnByZWZpeCwK KwkJCQkJCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCQkJCQkJIGNvbnN0IGNoYXIgKnJvbGUs IGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAogCQkJCQkJCQkgU2l6ZSBzeiwgY29uc3QgY2hhciAq bWVzc2FnZSk7CiBzdGF0aWMgYm9vbCBwZ19kZWNvZGVfZmlsdGVyX3ByZXBhcmUoTG9naWNhbERl Y29kaW5nQ29udGV4dCAqY3R4LApAQCAtMTIzLDcgKzEyMyw3IEBAIHN0YXRpYyB2b2lkIHBnX2Rl Y29kZV9zdHJlYW1fbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCiAJCQkJCQkJ CQkgU2l6ZSBzeiwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiBzdGF0aWMgdm9pZCBwZ19kZWNvZGVf c3RyZWFtX2RkbG1lc3NhZ2UoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCQkJCQkJCQkJ CVJlb3JkZXJCdWZmZXJUWE4gKnR4biwgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwKLQkJCQkJCQkJ CQlib29sIHRyYW5zYWN0aW9uYWwsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkJCQkJCQljb25z dCBjaGFyICpwcmVmaXgsCiAJCQkJCQkJCQkJY29uc3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAq c2VhcmNoX3BhdGgsCiAJCQkJCQkJCQkJU2l6ZSBzeiwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiBz dGF0aWMgdm9pZCBwZ19kZWNvZGVfc3RyZWFtX3RydW5jYXRlKExvZ2ljYWxEZWNvZGluZ0NvbnRl eHQgKmN0eCwKQEAgLTc3MSwxMyArNzcxLDEzIEBAIHBnX2RlY29kZV9tZXNzYWdlKExvZ2ljYWxE ZWNvZGluZ0NvbnRleHQgKmN0eCwKIAogc3RhdGljIHZvaWQKIHBnX2RlY29kZV9kZGxtZXNzYWdl KExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKLQkJCQkgIFJlb3JkZXJCdWZmZXJUWE4gKnR4 biwgWExvZ1JlY1B0ciBsc24sIGJvb2wgdHJhbnNhY3Rpb25hbCwKKwkJCQkgIFJlb3JkZXJCdWZm ZXJUWE4gKnR4biwgWExvZ1JlY1B0ciBsc24sCiAJCQkJICBjb25zdCBjaGFyICpwcmVmaXgsIGNv bnN0IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAogCQkJCSAgU2l6ZSBzeiwg Y29uc3QgY2hhciAqbWVzc2FnZSkKIHsKIAlPdXRwdXRQbHVnaW5QcmVwYXJlV3JpdGUoY3R4LCB0 cnVlKTsKLQlhcHBlbmRTdHJpbmdJbmZvKGN0eC0+b3V0LCAiRERMIG1lc3NhZ2U6IHRyYW5zYWN0 aW9uYWw6ICVkIHByZWZpeDogJXMgcm9sZTogJXMsIHNlYXJjaF9wYXRoOiAlcywgc3o6ICV6dSBj b250ZW50OiIsCi0JCQkJCSB0cmFuc2FjdGlvbmFsLCBwcmVmaXgsIHJvbGUsIHNlYXJjaF9wYXRo LCBzeik7CisJYXBwZW5kU3RyaW5nSW5mbyhjdHgtPm91dCwgIkRETCBtZXNzYWdlOiBwcmVmaXg6 ICVzIHJvbGU6ICVzLCBzZWFyY2hfcGF0aDogJXMsIHN6OiAlenUgY29udGVudDoiLAorCQkJCQkg cHJlZml4LCByb2xlLCBzZWFyY2hfcGF0aCwgc3opOwogCWFwcGVuZEJpbmFyeVN0cmluZ0luZm8o Y3R4LT5vdXQsIG1lc3NhZ2UsIHN6KTsKIAlPdXRwdXRQbHVnaW5Xcml0ZShjdHgsIHRydWUpOwog fQpAQCAtOTg5LDIzICs5ODksMTQgQEAgcGdfZGVjb2RlX3N0cmVhbV9tZXNzYWdlKExvZ2ljYWxE ZWNvZGluZ0NvbnRleHQgKmN0eCwKICAqLwogc3RhdGljIHZvaWQKIHBnX2RlY29kZV9zdHJlYW1f ZGRsbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCi0JCQkJCQkJUmVvcmRlckJ1 ZmZlclRYTiAqdHhuLCBYTG9nUmVjUHRyIGxzbiwgYm9vbCB0cmFuc2FjdGlvbmFsLAorCQkJCQkJ CVJlb3JkZXJCdWZmZXJUWE4gKnR4biwgWExvZ1JlY1B0ciBsc24sCiAJCQkJCQkJY29uc3QgY2hh ciAqcHJlZml4LCBjb25zdCBjaGFyICogcm9sZSwgY29uc3QgY2hhciAqIHNlYXJjaF9wYXRoLAog CQkJCQkJCVNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCiB7CiAJT3V0cHV0UGx1Z2luUHJl cGFyZVdyaXRlKGN0eCwgdHJ1ZSk7CiAKLQlpZiAodHJhbnNhY3Rpb25hbCkKLQl7Ci0JCWFwcGVu ZFN0cmluZ0luZm8oY3R4LT5vdXQsICJzdHJlYW1pbmcgRERMIG1lc3NhZ2U6IHRyYW5zYWN0aW9u YWw6ICVkIHByZWZpeDogJXMgcm9sZTogJXMsIHNlYXJjaF9wYXRoOiAlcywgc3o6ICV6dSIsCi0J CQkJCQkgdHJhbnNhY3Rpb25hbCwgcHJlZml4LCByb2xlLCBzZWFyY2hfcGF0aCwgc3opOwotCX0K LQllbHNlCi0JewotCQlhcHBlbmRTdHJpbmdJbmZvKGN0eC0+b3V0LCAic3RyZWFtaW5nIERETCBt ZXNzYWdlOiB0cmFuc2FjdGlvbmFsOiAlZCBwcmVmaXg6ICVzIHJvbGU6ICVzLCBzZWFyY2hfcGF0 aDogJXMsIHN6OiAlenUgY29udGVudDoiLAotCQkJCQkJIHRyYW5zYWN0aW9uYWwsIHByZWZpeCwg cm9sZSwgc2VhcmNoX3BhdGgsIHN6KTsKLQkJYXBwZW5kQmluYXJ5U3RyaW5nSW5mbyhjdHgtPm91 dCwgbWVzc2FnZSwgc3opOwotCX0KKwlhcHBlbmRTdHJpbmdJbmZvKGN0eC0+b3V0LCAic3RyZWFt aW5nIERETCBtZXNzYWdlOiBwcmVmaXg6ICVzIHJvbGU6ICVzLCBzZWFyY2hfcGF0aDogJXMsIHN6 OiAlenUiLAorCQkJCQkgcHJlZml4LCByb2xlLCBzZWFyY2hfcGF0aCwgc3opOwogCiAJT3V0cHV0 UGx1Z2luV3JpdGUoY3R4LCB0cnVlKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vz cy9ybWdyZGVzYy9sb2dpY2FsZGRsbXNnZGVzYy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3JtZ3Jk ZXNjL2xvZ2ljYWxkZGxtc2dkZXNjLmMKaW5kZXggN2EzNTJkNTQwYS4uMGFhZWJmOGEwOCAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3JtZ3JkZXNjL2xvZ2ljYWxkZGxtc2dkZXNjLmMK KysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3JtZ3JkZXNjL2xvZ2ljYWxkZGxtc2dkZXNjLmMKQEAg LTMyLDggKzMyLDcgQEAgbG9naWNhbGRkbG1zZ19kZXNjKFN0cmluZ0luZm8gYnVmLCBYTG9nUmVh ZGVyU3RhdGUgKnJlY29yZCkKIAogCQlBc3NlcnQocHJlZml4W3hscmVjLT5wcmVmaXhfc2l6ZV0g IT0gJ1wwJyk7CiAKLQkJYXBwZW5kU3RyaW5nSW5mbyhidWYsICIlcywgcHJlZml4IFwiJXNcIjsg cm9sZSBcIiVzXCI7IHNlYXJjaF9wYXRoIFwiJXNcIjsgcGF5bG9hZCAoJXp1IGJ5dGVzKTogIiwK LQkJCQkJCSB4bHJlYy0+dHJhbnNhY3Rpb25hbCA/ICJ0cmFuc2FjdGlvbmFsIiA6ICJub24tdHJh bnNhY3Rpb25hbCIsCisJCWFwcGVuZFN0cmluZ0luZm8oYnVmLCAicHJlZml4IFwiJXNcIjsgcm9s ZSBcIiVzXCI7IHNlYXJjaF9wYXRoIFwiJXNcIjsgcGF5bG9hZCAoJXp1IGJ5dGVzKTogIiwKIAkJ CQkJCSBwcmVmaXgsIHJvbGUsIHNlYXJjaF9wYXRoLCB4bHJlYy0+bWVzc2FnZV9zaXplKTsKIAkJ LyogV3JpdGUgbWVzc2FnZSBwYXlsb2FkIGFzIGEgc2VyaWVzIG9mIGhleCBieXRlcyAqLwogCQlm b3IgKGludCBjbnQgPSAwOyBjbnQgPCB4bHJlYy0+bWVzc2FnZV9zaXplOyBjbnQrKykKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvdGFibGVjbWRzLmMKaW5kZXggNjUzODZmMjY0MS4uOTRlMzUwYjgwZCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvdGFibGVjbWRzLmMKQEAgLTE1MTYsMTMgKzE1MTYsMTEgQEAgUmVtb3ZlUmVsYXRpb25z KFBhcnNlU3RhdGUgKnBzdGF0ZSwgRHJvcFN0bXQgKmRyb3AsIGJvb2wgaXNDb21wbGV0ZVF1ZXJ5 KQogCS8qIExvZyB0aGUgRHJvcCBjb21tYW5kIGZvciBsb2dpY2FsIHJlcGxpY2F0aW9uICovCiAJ aWYgKGRkbHhsb2cpCiAJewotCQlib29sIHRyYW5zYWN0aW9uYWwgPSB0cnVlOwogCQljb25zdCBj aGFyKiBwcmVmaXggPSAiIjsKIAkJTG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4LAogCQkJCQkJ CSBHZXRVc2VySWQoKSwKIAkJCQkJCQkgcHN0YXRlLT5wX3NvdXJjZXRleHQsCi0JCQkJCQkJIHN0 cmxlbihwc3RhdGUtPnBfc291cmNldGV4dCksCi0JCQkJCQkJIHRyYW5zYWN0aW9uYWwpOworCQkJ CQkJCSBzdHJsZW4ocHN0YXRlLT5wX3NvdXJjZXRleHQpKTsKIAl9CiAKIAlwZXJmb3JtTXVsdGlw bGVEZWxldGlvbnMob2JqZWN0cywgZHJvcC0+YmVoYXZpb3IsIGZsYWdzKTsKQEAgLTM4NzYsMTMg KzM4NzQsMTEgQEAgUmVuYW1lUmVsYXRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBSZW5hbWVTdG10 ICpzdG10LCBib29sIGlzQ29tcGxldGVRdWVyeSkKIAlpZiAoZGRseGxvZyAmJgogCQlkZGxfbmVl ZF94bG9nKHJlbGlkLCBmYWxzZSkpCiAJewotCQlib29sIHRyYW5zYWN0aW9uYWwgPSB0cnVlOwog CQljb25zdCBjaGFyKiBwcmVmaXggPSAiIjsKIAkJTG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4 LAogCQkJCQkJCSBHZXRVc2VySWQoKSwKIAkJCQkJCQkgcHN0YXRlLT5wX3NvdXJjZXRleHQsCi0J CQkJCQkJIHN0cmxlbihwc3RhdGUtPnBfc291cmNldGV4dCksCi0JCQkJCQkJIHRyYW5zYWN0aW9u YWwpOworCQkJCQkJCSBzdHJsZW4ocHN0YXRlLT5wX3NvdXJjZXRleHQpKTsKIAl9CiAKIAkvKiBE byB0aGUgd29yayAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9kZGxtZXNzYWdlLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RkbG1lc3Nh Z2UuYwppbmRleCBmOTM1NzMwNzlhLi41Zjg5YWZlYzQ5IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RkbG1lc3NhZ2UuYworKysgYi9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL2RkbG1lc3NhZ2UuYwpAQCAtNDcsNyArNDcsNyBAQAogICovCiBYTG9n UmVjUHRyCiBMb2dMb2dpY2FsRERMTWVzc2FnZShjb25zdCBjaGFyICpwcmVmaXgsIE9pZCByb2xl b2lkLCBjb25zdCBjaGFyICptZXNzYWdlLAotCQkJCQkgc2l6ZV90IHNpemUsIGJvb2wgdHJhbnNh Y3Rpb25hbCkKKwkJCQkJIHNpemVfdCBzaXplKQogewogCXhsX2xvZ2ljYWxfZGRsX21lc3NhZ2Ug eGxyZWM7CiAJY29uc3QgY2hhciAqcm9sZTsKQEAgLTU1LDE2ICs1NSwxMiBAQCBMb2dMb2dpY2Fs RERMTWVzc2FnZShjb25zdCBjaGFyICpwcmVmaXgsIE9pZCByb2xlb2lkLCBjb25zdCBjaGFyICpt ZXNzYWdlLAogCXJvbGUgPSAgR2V0VXNlck5hbWVGcm9tSWQocm9sZW9pZCwgZmFsc2UpOwogCiAJ LyoKLQkgKiBGb3JjZSB4aWQgdG8gYmUgYWxsb2NhdGVkIGlmIHdlJ3JlIGVtaXR0aW5nIGEgdHJh bnNhY3Rpb25hbCBtZXNzYWdlLgorCSAqIEZvcmNlIHhpZCB0byBiZSBhbGxvY2F0ZWQgc2luY2Ug d2UncmUgZW1pdHRpbmcgYSB0cmFuc2FjdGlvbmFsIG1lc3NhZ2UuCiAJICovCi0JaWYgKHRyYW5z YWN0aW9uYWwpCi0JewotCQlBc3NlcnQoSXNUcmFuc2FjdGlvblN0YXRlKCkpOwotCQlHZXRDdXJy ZW50VHJhbnNhY3Rpb25JZCgpOwotCX0KKwlBc3NlcnQoSXNUcmFuc2FjdGlvblN0YXRlKCkpOwor CUdldEN1cnJlbnRUcmFuc2FjdGlvbklkKCk7CiAKIAl4bHJlYy5kYklkID0gTXlEYXRhYmFzZUlk OwotCXhscmVjLnRyYW5zYWN0aW9uYWwgPSB0cmFuc2FjdGlvbmFsOwogCS8qIHRyYWlsaW5nIHpl cm8gaXMgY3JpdGljYWw7IHNlZSBsb2dpY2FsZGRsbXNnX2Rlc2MgKi8KIAl4bHJlYy5wcmVmaXhf c2l6ZSA9IHN0cmxlbihwcmVmaXgpICsgMTsKIAl4bHJlYy5yb2xlX3NpemUgPSBzdHJsZW4ocm9s ZSkgKyAxOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZWNv ZGUuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvZGVjb2RlLmMKaW5kZXggMDM0 YzdmMjQxMy4uY2U1YjU5NTMyNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC9kZWNvZGUuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2Rl Y29kZS5jCkBAIC02MTUsNyArNjE1LDYgQEAgbG9naWNhbGRkbG1zZ19kZWNvZGUoTG9naWNhbERl Y29kaW5nQ29udGV4dCAqY3R4LCBYTG9nUmVjb3JkQnVmZmVyICpidWYpCiAJVHJhbnNhY3Rpb25J ZCB4aWQgPSBYTG9nUmVjR2V0WGlkKHIpOwogCXVpbnQ4CQlpbmZvID0gWExvZ1JlY0dldEluZm8o cikgJiB+WExSX0lORk9fTUFTSzsKIAlSZXBPcmlnaW5JZCBvcmlnaW5faWQgPSBYTG9nUmVjR2V0 T3JpZ2luKHIpOwotCVNuYXBzaG90CXNuYXBzaG90OwogCXhsX2xvZ2ljYWxfZGRsX21lc3NhZ2Ug Km1lc3NhZ2U7CiAKIAlpZiAoaW5mbyAhPSBYTE9HX0xPR0lDQUxfRERMX01FU1NBR0UpCkBAIC02 MzcsMTcgKzYzNiw3IEBAIGxvZ2ljYWxkZGxtc2dfZGVjb2RlKExvZ2ljYWxEZWNvZGluZ0NvbnRl eHQgKmN0eCwgWExvZ1JlY29yZEJ1ZmZlciAqYnVmKQogCQlGaWx0ZXJCeU9yaWdpbihjdHgsIG9y aWdpbl9pZCkpCiAJCXJldHVybjsKIAotCWlmIChtZXNzYWdlLT50cmFuc2FjdGlvbmFsICYmCi0J CSFTbmFwQnVpbGRQcm9jZXNzQ2hhbmdlKGJ1aWxkZXIsIHhpZCwgYnVmLT5vcmlncHRyKSkKLQkJ cmV0dXJuOwotCWVsc2UgaWYgKCFtZXNzYWdlLT50cmFuc2FjdGlvbmFsICYmCi0JCQkgKFNuYXBC dWlsZEN1cnJlbnRTdGF0ZShidWlsZGVyKSAhPSBTTkFQQlVJTERfQ09OU0lTVEVOVCB8fAotCQkJ ICBTbmFwQnVpbGRYYWN0TmVlZHNTa2lwKGJ1aWxkZXIsIGJ1Zi0+b3JpZ3B0cikpKQotCQlyZXR1 cm47Ci0KLQlzbmFwc2hvdCA9IFNuYXBCdWlsZEdldE9yQnVpbGRTbmFwc2hvdChidWlsZGVyLCB4 aWQpOwotCVJlb3JkZXJCdWZmZXJRdWV1ZURETE1lc3NhZ2UoY3R4LT5yZW9yZGVyLCB4aWQsIHNu YXBzaG90LCBidWYtPmVuZHB0ciwKLQkJCQkJCQkgIG1lc3NhZ2UtPnRyYW5zYWN0aW9uYWwsCisJ UmVvcmRlckJ1ZmZlclF1ZXVlRERMTWVzc2FnZShjdHgtPnJlb3JkZXIsIHhpZCwgYnVmLT5lbmRw dHIsCiAJCQkJCQkJICBtZXNzYWdlLT5tZXNzYWdlLAogCQkJCQkJCSAgLyogZmlyc3QgcGFydCBv ZiBtZXNzYWdlIGlzIHByZWZpeCAqLwogCQkJCQkJCSAgbWVzc2FnZS0+bWVzc2FnZSArIG1lc3Nh Z2UtPnByZWZpeF9zaXplLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9sb2dpY2FsLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwu YwppbmRleCAzMDA0ZjAyNDMzLi5jMDJlYTZmYjk5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL2xvZ2ljYWwuYwpAQCAtNzQsOCArNzQsOCBAQCBzdGF0aWMgdm9pZCBtZXNzYWdl X2NiX3dyYXBwZXIoUmVvcmRlckJ1ZmZlciAqY2FjaGUsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwK IAkJCQkJCQkgICBYTG9nUmVjUHRyIG1lc3NhZ2VfbHNuLCBib29sIHRyYW5zYWN0aW9uYWwsCiAJ CQkJCQkJICAgY29uc3QgY2hhciAqcHJlZml4LCBTaXplIG1lc3NhZ2Vfc2l6ZSwgY29uc3QgY2hh ciAqbWVzc2FnZSk7CiBzdGF0aWMgdm9pZCBkZGxtZXNzYWdlX2NiX3dyYXBwZXIoUmVvcmRlckJ1 ZmZlciAqY2FjaGUsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKLQkJCQkJCQkJICBYTG9nUmVjUHRy IG1lc3NhZ2VfbHNuLCBib29sIHRyYW5zYWN0aW9uYWwsCi0JCQkJCQkJCSAgY29uc3QgY2hhciAq cHJlZml4LCBjb25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwKKwkJCQkJ CQkJICBYTG9nUmVjUHRyIG1lc3NhZ2VfbHNuLCBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkJCQkJ CSAgY29uc3QgY2hhciAqcm9sZSwgY29uc3QgY2hhciAqc2VhcmNoX3BhdGgsCiAJCQkJCQkJCSAg U2l6ZSBtZXNzYWdlX3NpemUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogCiAvKiBzdHJlYW1pbmcg Y2FsbGJhY2tzICovCkBAIC05NSw4ICs5NSw4IEBAIHN0YXRpYyB2b2lkIHN0cmVhbV9tZXNzYWdl X2NiX3dyYXBwZXIoUmVvcmRlckJ1ZmZlciAqY2FjaGUsIFJlb3JkZXJCdWZmZXJUWE4gKnR4CiAJ CQkJCQkJCQkgIFhMb2dSZWNQdHIgbWVzc2FnZV9sc24sIGJvb2wgdHJhbnNhY3Rpb25hbCwKIAkJ CQkJCQkJCSAgY29uc3QgY2hhciAqcHJlZml4LCBTaXplIG1lc3NhZ2Vfc2l6ZSwgY29uc3QgY2hh ciAqbWVzc2FnZSk7CiBzdGF0aWMgdm9pZCBzdHJlYW1fZGRsbWVzc2FnZV9jYl93cmFwcGVyKFJl b3JkZXJCdWZmZXIgKmNhY2hlLCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCi0JCQkJCQkJCQkJIFhM b2dSZWNQdHIgbWVzc2FnZV9sc24sIGJvb2wgdHJhbnNhY3Rpb25hbCwKLQkJCQkJCQkJCQkgY29u c3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyY2hfcGF0 aCwKKwkJCQkJCQkJCQkgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgY29uc3QgY2hhciAqcHJlZml4 LAorCQkJCQkJCQkJCSBjb25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwK IAkJCQkJCQkJCQkgU2l6ZSBtZXNzYWdlX3NpemUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogc3Rh dGljIHZvaWQgc3RyZWFtX3RydW5jYXRlX2NiX3dyYXBwZXIoUmVvcmRlckJ1ZmZlciAqY2FjaGUs IFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCQkJCQkJCSAgIGludCBucmVsYXRpb25zLCBSZWxh dGlvbiByZWxhdGlvbnNbXSwgUmVvcmRlckJ1ZmZlckNoYW5nZSAqY2hhbmdlKTsKQEAgLTEyMzMs MTAgKzEyMzMsOSBAQCBtZXNzYWdlX2NiX3dyYXBwZXIoUmVvcmRlckJ1ZmZlciAqY2FjaGUsIFJl b3JkZXJCdWZmZXJUWE4gKnR4biwKIAogc3RhdGljIHZvaWQKIGRkbG1lc3NhZ2VfY2Jfd3JhcHBl cihSZW9yZGVyQnVmZmVyICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAotCQkJCQkgIFhM b2dSZWNQdHIgbWVzc2FnZV9sc24sIGJvb2wgdHJhbnNhY3Rpb25hbCwKLQkJCQkJICBjb25zdCBj aGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsCi0JCQkJCSAgY29uc3QgY2hhciAqc2VhcmNo X3BhdGgsIFNpemUgbWVzc2FnZV9zaXplLAotCQkJCQkgIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCisJ CQkJCSAgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwgY29uc3QgY2hhciAqcHJlZml4LAorCQkJCQkg IGNvbnN0IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAorCQkJCQkgIFNpemUg bWVzc2FnZV9zaXplLCBjb25zdCBjaGFyICptZXNzYWdlKQogewogCUxvZ2ljYWxEZWNvZGluZ0Nv bnRleHQgKmN0eCA9IGNhY2hlLT5wcml2YXRlX2RhdGE7CiAJTG9naWNhbEVycm9yQ2FsbGJhY2tT dGF0ZSBzdGF0ZTsKQEAgLTEyNjIsNyArMTI2MSw3IEBAIGRkbG1lc3NhZ2VfY2Jfd3JhcHBlcihS ZW9yZGVyQnVmZmVyICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCWN0eC0+d3JpdGVf bG9jYXRpb24gPSBtZXNzYWdlX2xzbjsKIAogCS8qIGRvIHRoZSBhY3R1YWwgd29yazogY2FsbCBj YWxsYmFjayAqLwotCWN0eC0+Y2FsbGJhY2tzLmRkbG1lc3NhZ2VfY2IoY3R4LCB0eG4sIG1lc3Nh Z2VfbHNuLCB0cmFuc2FjdGlvbmFsLCBwcmVmaXgsCisJY3R4LT5jYWxsYmFja3MuZGRsbWVzc2Fn ZV9jYihjdHgsIHR4biwgbWVzc2FnZV9sc24sIHByZWZpeCwKIAkJCQkJCQkJIHJvbGUsIHNlYXJj aF9wYXRoLCBtZXNzYWdlX3NpemUsIG1lc3NhZ2UpOwogCiAJLyogUG9wIHRoZSBlcnJvciBjb250 ZXh0IHN0YWNrICovCkBAIC0xNTg2LDEwICsxNTg1LDkgQEAgc3RyZWFtX21lc3NhZ2VfY2Jfd3Jh cHBlcihSZW9yZGVyQnVmZmVyICpjYWNoZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCiBzdGF0 aWMgdm9pZAogc3RyZWFtX2RkbG1lc3NhZ2VfY2Jfd3JhcHBlcihSZW9yZGVyQnVmZmVyICpjYWNo ZSwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAotCQkJCQkJCSBYTG9nUmVjUHRyIG1lc3NhZ2VfbHNu LCBib29sIHRyYW5zYWN0aW9uYWwsCi0JCQkJCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3Qg Y2hhciAqcm9sZSwKLQkJCQkJCQkgY29uc3QgY2hhciogc2VhcmNoX3BhdGgsIFNpemUgbWVzc2Fn ZV9zaXplLAotCQkJCQkJCSBjb25zdCBjaGFyICptZXNzYWdlKQorCQkJCQkJCSBYTG9nUmVjUHRy IG1lc3NhZ2VfbHNuLCBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkJCQkJIGNvbnN0IGNoYXIgKnJv bGUsIGNvbnN0IGNoYXIqIHNlYXJjaF9wYXRoLAorCQkJCQkJCSBTaXplIG1lc3NhZ2Vfc2l6ZSwg Y29uc3QgY2hhciAqbWVzc2FnZSkKIHsKIAlMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHggPSBj YWNoZS0+cHJpdmF0ZV9kYXRhOwogCUxvZ2ljYWxFcnJvckNhbGxiYWNrU3RhdGUgc3RhdGU7CkBA IC0xNjE5LDcgKzE2MTcsNyBAQCBzdHJlYW1fZGRsbWVzc2FnZV9jYl93cmFwcGVyKFJlb3JkZXJC dWZmZXIgKmNhY2hlLCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJY3R4LT53cml0ZV9sb2NhdGlv biA9IG1lc3NhZ2VfbHNuOwogCiAJLyogZG8gdGhlIGFjdHVhbCB3b3JrOiBjYWxsIGNhbGxiYWNr ICovCi0JY3R4LT5jYWxsYmFja3Muc3RyZWFtX2RkbG1lc3NhZ2VfY2IoY3R4LCB0eG4sIG1lc3Nh Z2VfbHNuLCB0cmFuc2FjdGlvbmFsLCBwcmVmaXgsCisJY3R4LT5jYWxsYmFja3Muc3RyZWFtX2Rk bG1lc3NhZ2VfY2IoY3R4LCB0eG4sIG1lc3NhZ2VfbHNuLCBwcmVmaXgsCiAJCQkJCQkJCQkJcm9s ZSwgc2VhcmNoX3BhdGgsIG1lc3NhZ2Vfc2l6ZSwgbWVzc2FnZSk7CiAKIAkvKiBQb3AgdGhlIGVy cm9yIGNvbnRleHQgc3RhY2sgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvcHJvdG8uYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8u YwppbmRleCAzY2ZhOTRkZDhjLi4yMDcyMjA3NjQ3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL3Byb3RvLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC9wcm90by5jCkBAIC02NzAsMTYgKzY3MCwxMiBAQCBsb2dpY2FscmVwX3JlYWRfZGRs bWVzc2FnZShTdHJpbmdJbmZvIGluLCBYTG9nUmVjUHRyICpsc24sCiAJCQkJCQkgICBjb25zdCBj aGFyICoqcHJlZml4LAogCQkJCQkJICAgY29uc3QgY2hhciAqKnJvbGUsCiAJCQkJCQkgICBjb25z dCBjaGFyICoqc2VhcmNoX3BhdGgsCi0JCQkJCQkgICBib29sICp0cmFuc2FjdGlvbmFsLAogCQkJ CQkJICAgU2l6ZSAqc3opCiB7Ci0JdWludDggZmxhZ3M7CiAJY29uc3QgY2hhciAqbXNnOwogCiAJ Ly9UT0RPIGRvdWJsZSBjaGVjayB3aGVuIGRvIHdlIG5lZWQgdG8gZ2V0IFRyYW5zYWN0aW9uSWQu CiAKLQlmbGFncyA9IHBxX2dldG1zZ2ludChpbiwgMSk7Ci0JKnRyYW5zYWN0aW9uYWwgPSAoZmxh Z3MgJiBNRVNTQUdFX1RSQU5TQUNUSU9OQUwpID4gMDsKIAkqbHNuID0gcHFfZ2V0bXNnaW50NjQo aW4pOwogCSpwcmVmaXggPSBwcV9nZXRtc2dzdHJpbmcoaW4pOwogCSpyb2xlID0gcHFfZ2V0bXNn c3RyaW5nKGluKTsKQEAgLTY5NSwyMiArNjkxLDE2IEBAIGxvZ2ljYWxyZXBfcmVhZF9kZGxtZXNz YWdlKFN0cmluZ0luZm8gaW4sIFhMb2dSZWNQdHIgKmxzbiwKICAqLwogdm9pZAogbG9naWNhbHJl cF93cml0ZV9kZGxtZXNzYWdlKFN0cmluZ0luZm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwgWExv Z1JlY1B0ciBsc24sCi0JCQkJCQkgYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVm aXgsIGNvbnN0IGNoYXIgKnJvbGUsCisJCQkJCQkgY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBj aGFyICpyb2xlLAogCQkJCQkJIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLCBTaXplIHN6LCBjb25z dCBjaGFyICptZXNzYWdlKQogewotCXVpbnQ4CQlmbGFncyA9IDA7CiAKIAlwcV9zZW5kYnl0ZShv dXQsIExPR0lDQUxfUkVQX01TR19ERExNRVNTQUdFKTsKIAotCS8qIGVuY29kZSBhbmQgc2VuZCBt ZXNzYWdlIGZsYWdzICovCi0JaWYgKHRyYW5zYWN0aW9uYWwpCi0JCWZsYWdzIHw9IE1FU1NBR0Vf VFJBTlNBQ1RJT05BTDsKLQogCS8qIHRyYW5zYWN0aW9uIElEIChpZiBub3QgdmFsaWQsIHdlJ3Jl IG5vdCBzdHJlYW1pbmcpICovCiAJaWYgKFRyYW5zYWN0aW9uSWRJc1ZhbGlkKHhpZCkpCiAJCXBx X3NlbmRpbnQzMihvdXQsIHhpZCk7CiAKLQlwcV9zZW5kaW50OChvdXQsIGZsYWdzKTsKIAlwcV9z ZW5kaW50NjQob3V0LCBsc24pOwogCXBxX3NlbmRzdHJpbmcob3V0LCBwcmVmaXgpOwogCXBxX3Nl bmRzdHJpbmcob3V0LCByb2xlKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvcmVvcmRlcmJ1ZmZlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9yZW9yZGVyYnVmZmVyLmMKaW5kZXggY2EwMTMzNjYwNC4uZjVhMzI0NzM0OCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9yZW9yZGVyYnVmZmVyLmMKKysrIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9yZW9yZGVyYnVmZmVyLmMKQEAgLTg4MSw2 MSArODgxLDMzIEBAIFJlb3JkZXJCdWZmZXJRdWV1ZU1lc3NhZ2UoUmVvcmRlckJ1ZmZlciAqcmIs IFRyYW5zYWN0aW9uSWQgeGlkLAogfQogCiAvKgotICogQSB0cmFuc2FjdGlvbmFsIERETCBtZXNz YWdlIGlzIHF1ZXVlZCB0byBiZSBwcm9jZXNzZWQgdXBvbiBjb21taXQgYW5kIGEKLSAqIG5vbi10 cmFuc2FjdGlvbmFsIERETCBtZXNzYWdlIGdldHMgcHJvY2Vzc2VkIGltbWVkaWF0ZWx5LgorICog QSB0cmFuc2FjdGlvbmFsIERETCBtZXNzYWdlIGlzIHF1ZXVlZCB0byBiZSBwcm9jZXNzZWQgdXBv biBjb21taXQKICAqLwogdm9pZAogUmVvcmRlckJ1ZmZlclF1ZXVlRERMTWVzc2FnZShSZW9yZGVy QnVmZmVyICpyYiwgVHJhbnNhY3Rpb25JZCB4aWQsCi0JCQkJCQkgIFNuYXBzaG90IHNuYXBzaG90 LCBYTG9nUmVjUHRyIGxzbiwKLQkJCQkJCSAgYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFy ICpwcmVmaXgsCisJCQkJCQkgIFhMb2dSZWNQdHIgbHNuLCBjb25zdCBjaGFyICpwcmVmaXgsCiAJ CQkJCQkgIGNvbnN0IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAogCQkJCQkJ ICBTaXplIG1lc3NhZ2Vfc2l6ZSwgY29uc3QgY2hhciAqbWVzc2FnZSkKIHsKLQlpZiAodHJhbnNh Y3Rpb25hbCkKLQl7Ci0JCU1lbW9yeUNvbnRleHQgb2xkY29udGV4dDsKLQkJUmVvcmRlckJ1ZmZl ckNoYW5nZSAqY2hhbmdlOwotCi0JCUFzc2VydCh4aWQgIT0gSW52YWxpZFRyYW5zYWN0aW9uSWQp OwotCi0JCW9sZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8ocmItPmNvbnRleHQpOwot Ci0JCWNoYW5nZSA9IFJlb3JkZXJCdWZmZXJHZXRDaGFuZ2UocmIpOwotCQljaGFuZ2UtPmFjdGlv biA9IFJFT1JERVJfQlVGRkVSX0NIQU5HRV9ERExNRVNTQUdFOwotCQljaGFuZ2UtPmRhdGEuZGRs bXNnLnByZWZpeCA9IHBzdHJkdXAocHJlZml4KTsKLQkJY2hhbmdlLT5kYXRhLmRkbG1zZy5yb2xl ID0gcHN0cmR1cChyb2xlKTsKLQkJY2hhbmdlLT5kYXRhLmRkbG1zZy5zZWFyY2hfcGF0aCA9IHBz dHJkdXAoc2VhcmNoX3BhdGgpOwotCQljaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2Vfc2l6ZSA9 IG1lc3NhZ2Vfc2l6ZTsKLQkJY2hhbmdlLT5kYXRhLmRkbG1zZy5tZXNzYWdlID0gcGFsbG9jKG1l c3NhZ2Vfc2l6ZSk7Ci0JCW1lbWNweShjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2UsIG1lc3Nh Z2UsIG1lc3NhZ2Vfc2l6ZSk7CisJTWVtb3J5Q29udGV4dCBvbGRjb250ZXh0OworCVJlb3JkZXJC dWZmZXJDaGFuZ2UgKmNoYW5nZTsKIAotCQlSZW9yZGVyQnVmZmVyUXVldWVDaGFuZ2UocmIsIHhp ZCwgbHNuLCBjaGFuZ2UsIGZhbHNlKTsKKwlBc3NlcnQoeGlkICE9IEludmFsaWRUcmFuc2FjdGlv bklkKTsKIAotCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7Ci0JfQotCWVsc2UK LQl7Ci0JCVJlb3JkZXJCdWZmZXJUWE4gKnR4biA9IE5VTEw7Ci0JCXZvbGF0aWxlIFNuYXBzaG90 IHNuYXBzaG90X25vdyA9IHNuYXBzaG90OworCW9sZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0U3dp dGNoVG8ocmItPmNvbnRleHQpOwogCi0JCWlmICh4aWQgIT0gSW52YWxpZFRyYW5zYWN0aW9uSWQp Ci0JCQl0eG4gPSBSZW9yZGVyQnVmZmVyVFhOQnlYaWQocmIsIHhpZCwgdHJ1ZSwgTlVMTCwgbHNu LCB0cnVlKTsKKwljaGFuZ2UgPSBSZW9yZGVyQnVmZmVyR2V0Q2hhbmdlKHJiKTsKKwljaGFuZ2Ut PmFjdGlvbiA9IFJFT1JERVJfQlVGRkVSX0NIQU5HRV9ERExNRVNTQUdFOworCWNoYW5nZS0+ZGF0 YS5kZGxtc2cucHJlZml4ID0gcHN0cmR1cChwcmVmaXgpOworCWNoYW5nZS0+ZGF0YS5kZGxtc2cu cm9sZSA9IHBzdHJkdXAocm9sZSk7CisJY2hhbmdlLT5kYXRhLmRkbG1zZy5zZWFyY2hfcGF0aCA9 IHBzdHJkdXAoc2VhcmNoX3BhdGgpOworCWNoYW5nZS0+ZGF0YS5kZGxtc2cubWVzc2FnZV9zaXpl ID0gbWVzc2FnZV9zaXplOworCWNoYW5nZS0+ZGF0YS5kZGxtc2cubWVzc2FnZSA9IHBhbGxvYyht ZXNzYWdlX3NpemUpOworCW1lbWNweShjaGFuZ2UtPmRhdGEuZGRsbXNnLm1lc3NhZ2UsIG1lc3Nh Z2UsIG1lc3NhZ2Vfc2l6ZSk7CiAKLQkJLyogc2V0dXAgc25hcHNob3QgdG8gYWxsb3cgY2F0YWxv ZyBhY2Nlc3MgKi8KLQkJU2V0dXBIaXN0b3JpY1NuYXBzaG90KHNuYXBzaG90X25vdywgTlVMTCk7 Ci0JCVBHX1RSWSgpOwotCQl7Ci0JCQlyYi0+ZGRsbWVzc2FnZShyYiwgdHhuLCBsc24sIGZhbHNl LCBwcmVmaXgsIHJvbGUsIHNlYXJjaF9wYXRoLCBtZXNzYWdlX3NpemUsIG1lc3NhZ2UpOworCVJl b3JkZXJCdWZmZXJRdWV1ZUNoYW5nZShyYiwgeGlkLCBsc24sIGNoYW5nZSwgZmFsc2UpOwogCi0J CQlUZWFyZG93bkhpc3RvcmljU25hcHNob3QoZmFsc2UpOwotCQl9Ci0JCVBHX0NBVENIKCk7Ci0J CXsKLQkJCVRlYXJkb3duSGlzdG9yaWNTbmFwc2hvdCh0cnVlKTsKLQkJCVBHX1JFX1RIUk9XKCk7 Ci0JCX0KLQkJUEdfRU5EX1RSWSgpOwotCX0KKwlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29u dGV4dCk7CiB9CiAKIC8qCkBAIC0yMDM3LDE0ICsyMDA5LDE0IEBAIFJlb3JkZXJCdWZmZXJBcHBs eURETE1lc3NhZ2UoUmVvcmRlckJ1ZmZlciAqcmIsIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJ CQkJCQkgUmVvcmRlckJ1ZmZlckNoYW5nZSAqY2hhbmdlLCBib29sIHN0cmVhbWluZykKIHsKIAlp ZiAoc3RyZWFtaW5nKQotCQlyYi0+c3RyZWFtX2RkbG1lc3NhZ2UocmIsIHR4biwgY2hhbmdlLT5s c24sIHRydWUsCisJCXJiLT5zdHJlYW1fZGRsbWVzc2FnZShyYiwgdHhuLCBjaGFuZ2UtPmxzbiwK IAkJCQkJCQkgIGNoYW5nZS0+ZGF0YS5kZGxtc2cucHJlZml4LAogCQkJCQkJCSAgY2hhbmdlLT5k YXRhLmRkbG1zZy5yb2xlLAogCQkJCQkJCSAgY2hhbmdlLT5kYXRhLmRkbG1zZy5zZWFyY2hfcGF0 aCwKIAkJCQkJCQkgIGNoYW5nZS0+ZGF0YS5kZGxtc2cubWVzc2FnZV9zaXplLAogCQkJCQkJCSAg Y2hhbmdlLT5kYXRhLmRkbG1zZy5tZXNzYWdlKTsKIAllbHNlCi0JCXJiLT5kZGxtZXNzYWdlKHJi LCB0eG4sIGNoYW5nZS0+bHNuLCB0cnVlLAorCQlyYi0+ZGRsbWVzc2FnZShyYiwgdHhuLCBjaGFu Z2UtPmxzbiwKIAkJCQkJICAgY2hhbmdlLT5kYXRhLmRkbG1zZy5wcmVmaXgsCiAJCQkJCSAgIGNo YW5nZS0+ZGF0YS5kZGxtc2cucm9sZSwKIAkJCQkJICAgY2hhbmdlLT5kYXRhLmRkbG1zZy5zZWFy Y2hfcGF0aCwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29y a2VyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IDEx MDgwMzAxNzkuLmVmNzlkMTAxMTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvd29ya2VyLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93 b3JrZXIuYwpAQCAtMjQ2NCwxNCArMjQ2NCwxMyBAQCBzdGF0aWMgdm9pZAogYXBwbHlfaGFuZGxl X2RkbG1lc3NhZ2UoU3RyaW5nSW5mbyBzKQogewogCVhMb2dSZWNQdHIgbHNuOwotCWJvb2wgdHJh bnNhY3Rpb25hbDsKIAlTaXplIHN6OwogCWNvbnN0IGNoYXIgKnByZWZpeDsKIAljb25zdCBjaGFy ICpyb2xlOwogCWNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoOwogCWNvbnN0IGNoYXIgKm1zZzsKIAot CW1zZyA9IGxvZ2ljYWxyZXBfcmVhZF9kZGxtZXNzYWdlKHMsICZsc24sICZwcmVmaXgsICZyb2xl LCAmc2VhcmNoX3BhdGgsICZ0cmFuc2FjdGlvbmFsLCAmc3opOworCW1zZyA9IGxvZ2ljYWxyZXBf cmVhZF9kZGxtZXNzYWdlKHMsICZsc24sICZwcmVmaXgsICZyb2xlLCAmc2VhcmNoX3BhdGgsICZz eik7CiAKIAlhcHBseV9leGVjdXRlX3NxbF9jb21tYW5kKG1zZywgcm9sZSwgc2VhcmNoX3BhdGgs IHRydWUpOwogfQpAQCAtMjQ4Niw5OCArMjQ4NSw0MSBAQCBleGVjdXRlX3NxbF9jb21tYW5kX2Vy cm9yX2NiKHZvaWQgKmFyZykKIH0KIAogLyoKLSAqIEV4ZWN1dGUgYW4gU1FMIGNvbW1hbmQuIFRo aXMgY2FuIGJlIG11bHRpcGxlIHF1ZXJpZXMuCi0gKiBUaGlzIGlzIG1vZGlmaWVkIGJhc2VkIG9u IHBnbG9naWNhbF9leGVjdXRlX3NxbF9jb21tYW5kKCkuCisgKiBQcmVwcm9jZXNzIGNlcnRhaW4g RERMIGNvbW1hbmRzIGJlZm9yZSBhcHBseQorICogLVJlbW92ZSBkYXRhIHBvcHVsYXRpb24gZm9y IHRhYmxlIGNyZWF0aW9uCisgKiAtRW5hYmxlIG1pc3Npbmdfb2sgZm9yIGRyb3Agc3RtdAorICog LURpc2FsbG93IHRhYmxlIHJld3JpdGVzIHVzaW5nIHZvbGF0aWxlIGZ1bmN0aW9ucwogICovCiBz dGF0aWMgdm9pZAotYXBwbHlfZXhlY3V0ZV9zcWxfY29tbWFuZChjb25zdCBjaGFyICpjbWRzdHIs IGNvbnN0IGNoYXIgKnJvbGUsIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLAotCQkJCQkJICBib29s IGlzVG9wTGV2ZWwpCitwcmVwcm9jZXNzX2RkbChSYXdTdG10ICpjb21tYW5kLCBjaGFyICoqc2No ZW1hbmFtZSwgY2hhciAqKnJlbG5hbWUsIGJvb2wgKmlzX3BhcnRpdGlvbmVkX3RhYmxlKQogewot CWNvbnN0IGNoYXIgKnNhdmVfZGVidWdfcXVlcnlfc3RyaW5nID0gZGVidWdfcXVlcnlfc3RyaW5n OwotCUxpc3QJICAgKnBhcnNldHJlZV9saXN0OwotCUxpc3RDZWxsICAgKnBhcnNldHJlZV9pdGVt OwotCU1lbW9yeUNvbnRleHQgb2xkY29udGV4dDsKLQlFcnJvckNvbnRleHRDYWxsYmFjayBlcnJj YWxsYmFjazsKLQlpbnQJCQlzYXZlX25lc3RsZXZlbDsKLQotCS8qCi0JICogU3dpdGNoIHRvIGFw cHJvcHJpYXRlIGNvbnRleHQgZm9yIGNvbnN0cnVjdGluZyBwYXJzZXRyZWVzLgotCSAqLwotCW9s ZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oQXBwbHlNZXNzYWdlQ29udGV4dCk7Ci0J YmVnaW5fcmVwbGljYXRpb25fc3RlcCgpOwotCi0JLyoKLQkgKiBTZXQgdGhlIGN1cnJlbnQgcm9s ZSB0byB0aGUgdXNlciB0aGF0IGV4ZWN1dGVkIHRoZSBjb21tYW5kIG9uIHRoZQotCSAqIHB1Ymxp Y2F0aW9uIHNlcnZlci4KLQkgKiBTZXQgdGhlIGN1cnJlbnQgc2VhcmNoX3BhdGggdG8gdGhlIHNl YXJjaF9wYXRoIG9uIHRoZSBwdWJsaWNhdGlvbgotCSAqIHNlcnZlciB3aGVuIHRoZSBjb21tYW5k IHdhcyBleGVjdXRlZC4KLQkgKi8KLQlzYXZlX25lc3RsZXZlbCA9IE5ld0dVQ05lc3RMZXZlbCgp OwotCVNldENvbmZpZ09wdGlvbigicm9sZSIsIHJvbGUsIFBHQ19JTlRFUk5BTCwgUEdDX1NfT1ZF UlJJREUpOwotCVNldENvbmZpZ09wdGlvbigic2VhcmNoX3BhdGgiLCBzZWFyY2hfcGF0aCwgUEdD X0lOVEVSTkFMLCBQR0NfU19PVkVSUklERSk7Ci0KLQllcnJjYWxsYmFjay5jYWxsYmFjayA9IGV4 ZWN1dGVfc3FsX2NvbW1hbmRfZXJyb3JfY2I7Ci0JZXJyY2FsbGJhY2suYXJnID0gKGNoYXIgKikg Y21kc3RyOwotCWVycmNhbGxiYWNrLnByZXZpb3VzID0gZXJyb3JfY29udGV4dF9zdGFjazsKLQll cnJvcl9jb250ZXh0X3N0YWNrID0gJmVycmNhbGxiYWNrOwotCi0JZGVidWdfcXVlcnlfc3RyaW5n ID0gY21kc3RyOwotCi0JcGFyc2V0cmVlX2xpc3QgPSBwZ19wYXJzZV9xdWVyeShjbWRzdHIpOwot Ci0JLyoKLQkgKiBEbyBhIGxpbWl0ZWQgYW1vdW50IG9mIHNhZmV0eSBjaGVja2luZyBhZ2FpbnN0 IENPTkNVUlJFTlRMWSBjb21tYW5kcwotCSAqIGV4ZWN1dGVkIGluIHNpdHVhdGlvbnMgd2hlcmUg dGhleSBhcmVuJ3QgYWxsb3dlZC4gVGhlIHNlbmRlciBzaWRlIHNob3VsZAotCSAqIHByb3ZpZGUg cHJvdGVjdGlvbiwgYnV0IGJldHRlciBiZSBzYWZlIHRoYW4gc29ycnkuCi0JICovCi0JaXNUb3BM ZXZlbCA9IGlzVG9wTGV2ZWwgJiYgKGxpc3RfbGVuZ3RoKHBhcnNldHJlZV9saXN0KSA9PSAxKTsK LQotCS8qCi0JICogU3dpdGNoIGJhY2sgdG8gdHJhbnNhY3Rpb24gY29udGV4dCB0byBlbnRlciB0 aGUgbG9vcC4KLQkgKi8KLQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7Ci0KLQlm b3JlYWNoKHBhcnNldHJlZV9pdGVtLCBwYXJzZXRyZWVfbGlzdCkKKwlzd2l0Y2gobm9kZVRhZyhj b21tYW5kLT5zdG10KSkKIAl7Ci0JCUxpc3QJICAgKnBsYW50cmVlX2xpc3Q7Ci0JCUxpc3QJICAg KnF1ZXJ5dHJlZV9saXN0OwotCQlSYXdTdG10CSAgICpjb21tYW5kID0gKFJhd1N0bXQgKikgbGZp cnN0KHBhcnNldHJlZV9pdGVtKTsKLQkJQ29tbWFuZFRhZwljb21tYW5kVGFnOwotCQlNZW1vcnlD b250ZXh0IHBlcl9wYXJzZXRyZWVfY29udGV4dCA9IE5VTEw7Ci0JCVBvcnRhbAkJcG9ydGFsOwot CQlEZXN0UmVjZWl2ZXIgKnJlY2VpdmVyOwotCQlib29sCQkgc25hcHNob3Rfc2V0ID0gZmFsc2U7 Ci0JCWNoYXIgCQkgKnNjaGVtYW5hbWUgPSBOVUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIGFuZCBD UkVBVEUgVEFCTEUgQVMgc3RtdCBvbmx5ICovCi0JCWNoYXIJCSAqcmVsbmFtZSA9IE5VTEw7IC8q IEZvciBDUkVBVEUgVEFCTEUgYW5kIENSRUFURSBUQUJMRSBBUyBzdG10IG9ubHkgKi8KLQkJYm9v bAkJIGlzX3BhcnRpdGlvbmVkX3RhYmxlID0gZmFsc2U7Ci0KLQkJY29tbWFuZFRhZyA9IENyZWF0 ZUNvbW1hbmRUYWcoKE5vZGUgKiljb21tYW5kKTsKLQotCQkvKiBUaGUgZm9sbG93aW5nIERETCBj b21tYW5kcyBuZWVkIHNwZWNpYWwgaGFuZGxpbmcgKi8KLQotCQkvKgotCQkgKiBSZW1lbWJlciB0 aGUgc2NoZW1hbmFtZSBhbmQgcmVsbmFtZSBpZiB0aGUgY21kIGlzIGdvaW5nIHRvIGNyZWF0ZSBh IHRhYmxlCi0JCSAqIGJlY2F1c2Ugd2Ugd2lsbCBuZWVkIHRoZW0gZm9yIHNvbWUgcG9zdC1wcm9j ZXNzaW5nIGFmdGVyIHdlCi0JCSAqIGV4ZWN1dGUgdGhlIHN0bXQuIEF0IHRoYXQgcG9pbnQsIGNv bW1hbmQtPnN0bXQgbWF5IGhhdmUgYmVlbiBmcmVlZWQgdXAuCi0JCSAqLwotCQlpZiAoY29tbWFu ZFRhZyA9PSBDTURUQUdfQ1JFQVRFX1RBQkxFKQorCQljYXNlIFRfQ3JlYXRlU3RtdDoKIAkJewor CQkJLyoKKwkJCSAqIFJlbWVtYmVyIHRoZSBzY2hlbWFuYW1lIGFuZCByZWxuYW1lIGlmIHRoZSBj bWQgaXMgZ29pbmcgdG8gY3JlYXRlIGEgdGFibGUKKwkJCSAqIGJlY2F1c2Ugd2Ugd2lsbCBuZWVk IHRoZW0gZm9yIHNvbWUgcG9zdC1wcm9jZXNzaW5nIGFmdGVyIHdlCisJCQkgKiBleGVjdXRlIHRo ZSBzdG10LiBBdCB0aGF0IHBvaW50LCBjb21tYW5kLT5zdG10IG1heSBoYXZlIGJlZW4gZnJlZWVk IHVwLgorCQkJICovCiAJCQlDcmVhdGVTdG10ICpjc3RtdCA9IChDcmVhdGVTdG10ICopIGNvbW1h bmQtPnN0bXQ7CiAJCQlSYW5nZVZhciAqcnYgPSBjc3RtdC0+cmVsYXRpb247Ci0JCQlzY2hlbWFu YW1lID0gcnYtPnNjaGVtYW5hbWU7Ci0JCQlyZWxuYW1lID0gcnYtPnJlbG5hbWU7CisJCQkqc2No ZW1hbmFtZSA9IHJ2LT5zY2hlbWFuYW1lOworCQkJKnJlbG5hbWUgPSBydi0+cmVsbmFtZTsKIAkJ CWlmIChjc3RtdC0+aW5oUmVsYXRpb25zICE9IE5JTCB8fCBjc3RtdC0+cGFydHNwZWMgIT0gTlVM TCkKLQkJCQlpc19wYXJ0aXRpb25lZF90YWJsZSA9IHRydWU7CisJCQkJKmlzX3BhcnRpdGlvbmVk X3RhYmxlID0gdHJ1ZTsKKworCQkJYnJlYWs7CiAJCX0KLQkJZWxzZSBpZiAoY29tbWFuZFRhZyA9 PSBDTURUQUdfQ1JFQVRFX1RBQkxFX0FTKQorCQljYXNlIFRfQ3JlYXRlVGFibGVBc1N0bXQ6CiAJ CXsKIAkJCUNyZWF0ZVRhYmxlQXNTdG10ICpjYXN0bXQgPSAoQ3JlYXRlVGFibGVBc1N0bXQgKikg Y29tbWFuZC0+c3RtdDsKIAogCQkJaWYgKGNhc3RtdC0+b2JqdHlwZSA9PSBPQkpFQ1RfVEFCTEUp CiAJCQl7CiAJCQkJUmFuZ2VWYXIgKnJ2ID0gY2FzdG10LT5pbnRvLT5yZWw7Ci0JCQkJc2NoZW1h bmFtZSA9IHJ2LT5zY2hlbWFuYW1lOwotCQkJCXJlbG5hbWUgPSBydi0+cmVsbmFtZTsKKwkJCQkq c2NoZW1hbmFtZSA9IHJ2LT5zY2hlbWFuYW1lOworCQkJCSpyZWxuYW1lID0gcnYtPnJlbG5hbWU7 CiAKIAkJCQkvKgogCQkJCSAqIEZvcmNlIHNraXBwaW5nIGRhdGEgcG9wdWxhdGlvbiB0byBhdm9p ZCBkYXRhIGluY29uc2lzdGVuY3kuCkBAIC0yNTg1LDE3ICsyNTI3LDE4IEBAIGFwcGx5X2V4ZWN1 dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21kc3RyLCBjb25zdCBjaGFyICpyb2xlLCBjb25z dCBjaGFyICpzZWFyCiAJCQkJICovCiAJCQkJY2FzdG10LT5pbnRvLT5za2lwRGF0YSA9IHRydWU7 CiAJCQl9CisJCQlicmVhazsKIAkJfQogCQkvKiBTRUxFQ1QgSU5UTyAqLwotCQllbHNlIGlmIChj b21tYW5kVGFnID09IENNRFRBR19TRUxFQ1QpCisJCWNhc2UgVF9TZWxlY3RTdG10OgogCQl7CiAJ CQlTZWxlY3RTdG10ICpzc3RtdCA9IChTZWxlY3RTdG10ICopIGNvbW1hbmQtPnN0bXQ7CiAKIAkJ CWlmIChzc3RtdC0+aW50b0NsYXVzZSAhPSBOVUxMKQogCQkJewogCQkJCVJhbmdlVmFyICpydiA9 IHNzdG10LT5pbnRvQ2xhdXNlLT5yZWw7Ci0JCQkJc2NoZW1hbmFtZSA9IHJ2LT5zY2hlbWFuYW1l OwotCQkJCXJlbG5hbWUgPSBydi0+cmVsbmFtZTsKKwkJCQkqc2NoZW1hbmFtZSA9IHJ2LT5zY2hl bWFuYW1lOworCQkJCSpyZWxuYW1lID0gcnYtPnJlbG5hbWU7CiAKIAkJCQkvKgogCQkJCSAqIEZv cmNlIHNraXBwaW5nIGRhdGEgcG9wdWxhdGlvbiB0byBhdm9pZCBkYXRhIGluY29uc2lzdGVuY3ku CkBAIC0yNjAzLDEzICsyNTQ2LDE0IEBAIGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3Qg Y2hhciAqY21kc3RyLCBjb25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyCiAJCQkJICov CiAJCQkJc3N0bXQtPmludG9DbGF1c2UtPnNraXBEYXRhID0gdHJ1ZTsKIAkJCX0KKwkJCWJyZWFr OwogCQl9CiAJCS8qCiAJCSAqIEFMVEVSIFRBQkxFIEFERCBDT0xVTU4gY29sIERFRkFVTFQgdm9s YXRpbGVfZXhwciBpcyBub3Qgc3VwcG9ydGVkLgogCQkgKiBVbnRpbCB3ZSBzdXBwb3J0IGxvZ2lj YWwgcmVwbGljYXRpb24gb2YgdGFibGUgcmV3cml0ZSwgc2VlIEFUUmV3cml0ZVRhYmxlcygpCiAJ CSAqIGZvciBkZXRhaWxzIG9uIHRhYmxlIHJld3JpdGUuCiAJCSAqLwotCQllbHNlIGlmIChjb21t YW5kVGFnID09IENNRFRBR19BTFRFUl9UQUJMRSkKKwkJY2FzZSBUX0FsdGVyVGFibGVTdG10Ogog CQl7CiAJCQlBbHRlclRhYmxlU3RtdCAqYXRzdG10ID0gKEFsdGVyVGFibGVTdG10ICopIGNvbW1h bmQtPnN0bXQ7CiAJCQlMaXN0Q2VsbCAqbGM7CkBAIC0yNjM3LDE1ICsyNTgxLDE1MyBAQCBhcHBs eV9leGVjdXRlX3NxbF9jb21tYW5kKGNvbnN0IGNoYXIgKmNtZHN0ciwgY29uc3QgY2hhciAqcm9s ZSwgY29uc3QgY2hhciAqc2VhcgogCQkJCQkJCWlmIChjb250YWluX3ZvbGF0aWxlX2Z1bmN0aW9u cyhleHByKSkKIAkJCQkJCQl7CiAJCQkJCQkJCWVsb2coRVJST1IsCi0JCQkJCQkJCQkiRG8gbm90 IHN1cHBvcnQgcmVwbGljYXRpb24gb2YgRERMIHN0YXRlbWVudCB0aGF0IHJld3JpdGVzIHRhYmxl IHVzaW5nIHZvbGF0aWxlIGZ1bmN0aW9uczogJXMiLAotCQkJCQkJCQkJY21kc3RyKTsKKwkJCQkJ CQkJCSJEbyBub3Qgc3VwcG9ydCByZXBsaWNhdGlvbiBvZiBEREwgc3RhdGVtZW50IHRoYXQgcmV3 cml0ZXMgdGFibGUgdXNpbmcgdm9sYXRpbGUgZnVuY3Rpb25zIik7CiAJCQkJCQkJfQogCQkJCQkJ fQogCQkJCQl9CiAJCQkJfQogCQkJfQorCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBUX0Ryb3BTdG10 OgorCQl7CisJCQlEcm9wU3RtdCAqZHN0bXQgPSAoRHJvcFN0bXQgKikgY29tbWFuZC0+c3RtdDsK KwkJCWRzdG10LT5taXNzaW5nX29rID0gdHJ1ZTsKKwkJCWJyZWFrOworCQl9CisJCWRlZmF1bHQ6 CisJCQlicmVhazsKKwl9Cit9CisKKy8qCisqIFRhYmxlIGNyZWF0ZWQgYnkgRERMIHJlcGxpY2F0 aW9uIChkYXRhYmFzZSBsZXZlbCkgaXMgYXV0b21hdGljYWxseQorKiBhZGRlZCB0byB0aGUgc3Vi c2NyaXB0aW9uIGhlcmUuCisqCisqIENhbGwgQWRkU3Vic2NyaXB0aW9uUmVsU3RhdGUgZm9yIENS RUFURSBUQUJFTCBhbmQgQ1JFQVRFIFRBQkxFIEFTCisqIGNvbW1hbmQgdG8gc2V0IHRoZSByZWxz dGF0ZSB0byBTVUJSRUxfU1RBVEVfSU5JVCBzbyBETUwgY2hhbmdlcyBvbiB0aGlzCisqIG5ldyB0 YWJsZSBjYW4gYmUgcmVwbGljYXRlZCB3aXRob3V0IGhhdmluZyB0byBtYW51YWxseSBydW4KKyog ImFsdGVyIHN1YnNjcmlwdGlvbiAuLi4gcmVmcmVzaCBwdWJsaWNhdGlvbiIKKyovCitzdGF0aWMg dm9pZAoraGFuZGxlX2NyZWF0ZV90YWJsZShjaGFyKiByZWxuYW1lLCBjaGFyKiBzY2hlbWFuYW1l LCBib29sIGlzX3BhcnRpdGlvbmVkX3RhYmxlKQoreworCU9pZCByZWxpZDsKKwlPaWQgcmVsbmFt ZXNwYWNlID0gSW52YWxpZE9pZDsKKworCWlmIChzY2hlbWFuYW1lICE9IE5VTEwpCisJCXJlbG5h bWVzcGFjZSA9IGdldF9uYW1lc3BhY2Vfb2lkKHNjaGVtYW5hbWUsIGZhbHNlKTsKKwlpZiAocmVs bmFtZXNwYWNlICE9IEludmFsaWRPaWQpCisJCXJlbGlkID0gZ2V0X3JlbG5hbWVfcmVsaWQocmVs bmFtZSwgcmVsbmFtZXNwYWNlKTsKKwllbHNlCisJeworCQkvKgorCQkqIFRyeSB0byByZXNvbHZl IHVucXVhbGlmaWVkIHJlbG5hbWUuCisJCSogTm90aWNlIHdlIGhhdmUgc2V0IHRoZSBzZWFyY2hf cGF0aCB0byB0aGUgb3JpZ2luYWwgc2VhcmNoX3BhdGggb24gdGhlIHB1Ymxpc2hlcgorCQkqIGF0 IHRoZSBiZWdpbm5pbmcgb2YgdGhpcyBmdW5jdGlvbi4KKwkJKi8KKwkJcmVsaWQgPSBSZWxuYW1l R2V0UmVsaWQocmVsbmFtZSk7CisJfQorCisJaWYgKHJlbGlkICE9IEludmFsaWRPaWQpCisJewor CQlib29sIHN1YnNjcmliZV90YWJsZSA9IHRydWU7CisKKwkJaWYgKGlzX3BhcnRpdGlvbmVkX3Rh YmxlKQorCQl7CisJCQlSZWxhdGlvbiByZWwgPSBSZWxhdGlvbklkR2V0UmVsYXRpb24ocmVsaWQp OworCQkJY2hhciAqdGFibGVfbmFtZSA9IFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCk7CisJ CQljaGFyICpzY2hlbWFfbmFtZSA9IGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVz cGFjZShyZWwpKTsKKwkJCS8qCisJCQkqIENvbm5lY3QgdG8gdGhlIHNvdXJjZSBEQiBhbmQgY2hl Y2sgd2hlaHRlciB0aGUgcGFydGl0aW9uZWQgdGFibGUgc2hvdWxkIGJlIHN1YnNjcmliZWQuCisJ CQkqIEJlY2F1c2UgaXQgZGVwZW5kcyBvbiB0aGUgc2V0dGluZyBvZiBwdWJsaXNoX3ZpYV9wYXJ0 aXRpb25fcm9vdCwgd2hpY2ggdGhlIHN1YnNjcmlwdGlvbgorCQkJKiBkb2Vzbid0IGtub3cuCisJ CQkqLworCQkJc3Vic2NyaWJlX3RhYmxlID0gSXNQYXJ0aXRpb25lZFRhYmxlUHVibGlzaGVkT25T b3VyY2UoTXlTdWJzY3JpcHRpb24sIHNjaGVtYV9uYW1lLCB0YWJsZV9uYW1lKTsKKwkJCVJlbGF0 aW9uQ2xvc2UocmVsKTsKIAkJfQogCisJCWlmIChzdWJzY3JpYmVfdGFibGUpCisJCXsKKwkJCUFk ZFN1YnNjcmlwdGlvblJlbFN0YXRlKE15U3Vic2NyaXB0aW9uLT5vaWQsIHJlbGlkLAorCQkJCQkJ CQkJU1VCUkVMX1NUQVRFX0lOSVQsCisJCQkJCQkJCQlJbnZhbGlkWExvZ1JlY1B0cik7CisJCQll cmVwb3J0KERFQlVHMSwKKwkJCQkJKGVycm1zZ19pbnRlcm5hbCgidGFibGUgXCIlc1wiIGFkZGVk IHRvIHN1YnNjcmlwdGlvbiBcIiVzXCIiLAorCQkJCQkJCQkJCQkJCXJlbG5hbWUsIE15U3Vic2Ny aXB0aW9uLT5uYW1lKSkpOworCQl9CisJfQorfQorCisvKgorICogRXhlY3V0ZSBhbiBTUUwgY29t bWFuZC4gVGhpcyBjYW4gYmUgbXVsdGlwbGUgcXVlcmllcy4KKyAqIFRoaXMgaXMgbW9kaWZpZWQg YmFzZWQgb24gcGdsb2dpY2FsX2V4ZWN1dGVfc3FsX2NvbW1hbmQoKS4KKyAqLworc3RhdGljIHZv aWQKK2FwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21kc3RyLCBjb25zdCBj aGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwKKwkJCQkJCSAgYm9vbCBpc1RvcExl dmVsKQoreworCWNvbnN0IGNoYXIgKnNhdmVfZGVidWdfcXVlcnlfc3RyaW5nID0gZGVidWdfcXVl cnlfc3RyaW5nOworCUxpc3QJICAgKnBhcnNldHJlZV9saXN0OworCUxpc3RDZWxsICAgKnBhcnNl dHJlZV9pdGVtOworCU1lbW9yeUNvbnRleHQgb2xkY29udGV4dDsKKwlFcnJvckNvbnRleHRDYWxs YmFjayBlcnJjYWxsYmFjazsKKwlpbnQJCQlzYXZlX25lc3RsZXZlbDsKKworCS8qCisJICogU3dp dGNoIHRvIGFwcHJvcHJpYXRlIGNvbnRleHQgZm9yIGNvbnN0cnVjdGluZyBwYXJzZXRyZWVzLgor CSAqLworCW9sZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oQXBwbHlNZXNzYWdlQ29u dGV4dCk7CisJYmVnaW5fcmVwbGljYXRpb25fc3RlcCgpOworCisJLyoKKwkgKiBTZXQgdGhlIGN1 cnJlbnQgcm9sZSB0byB0aGUgdXNlciB0aGF0IGV4ZWN1dGVkIHRoZSBjb21tYW5kIG9uIHRoZQor CSAqIHB1YmxpY2F0aW9uIHNlcnZlci4KKwkgKiBTZXQgdGhlIGN1cnJlbnQgc2VhcmNoX3BhdGgg dG8gdGhlIHNlYXJjaF9wYXRoIG9uIHRoZSBwdWJsaWNhdGlvbgorCSAqIHNlcnZlciB3aGVuIHRo ZSBjb21tYW5kIHdhcyBleGVjdXRlZC4KKwkgKi8KKwlzYXZlX25lc3RsZXZlbCA9IE5ld0dVQ05l c3RMZXZlbCgpOworCVNldENvbmZpZ09wdGlvbigicm9sZSIsIHJvbGUsIFBHQ19JTlRFUk5BTCwg UEdDX1NfT1ZFUlJJREUpOworCVNldENvbmZpZ09wdGlvbigic2VhcmNoX3BhdGgiLCBzZWFyY2hf cGF0aCwgUEdDX0lOVEVSTkFMLCBQR0NfU19PVkVSUklERSk7CisKKwllcnJjYWxsYmFjay5jYWxs YmFjayA9IGV4ZWN1dGVfc3FsX2NvbW1hbmRfZXJyb3JfY2I7CisJZXJyY2FsbGJhY2suYXJnID0g KGNoYXIgKikgY21kc3RyOworCWVycmNhbGxiYWNrLnByZXZpb3VzID0gZXJyb3JfY29udGV4dF9z dGFjazsKKwllcnJvcl9jb250ZXh0X3N0YWNrID0gJmVycmNhbGxiYWNrOworCisJZGVidWdfcXVl cnlfc3RyaW5nID0gY21kc3RyOworCisJcGFyc2V0cmVlX2xpc3QgPSBwZ19wYXJzZV9xdWVyeShj bWRzdHIpOworCisJLyoKKwkgKiBEbyBhIGxpbWl0ZWQgYW1vdW50IG9mIHNhZmV0eSBjaGVja2lu ZyBhZ2FpbnN0IENPTkNVUlJFTlRMWSBjb21tYW5kcworCSAqIGV4ZWN1dGVkIGluIHNpdHVhdGlv bnMgd2hlcmUgdGhleSBhcmVuJ3QgYWxsb3dlZC4gVGhlIHNlbmRlciBzaWRlIHNob3VsZAorCSAq IHByb3ZpZGUgcHJvdGVjdGlvbiwgYnV0IGJldHRlciBiZSBzYWZlIHRoYW4gc29ycnkuCisJICov CisJaXNUb3BMZXZlbCA9IGlzVG9wTGV2ZWwgJiYgKGxpc3RfbGVuZ3RoKHBhcnNldHJlZV9saXN0 KSA9PSAxKTsKKworCS8qCisJICogU3dpdGNoIGJhY2sgdG8gdHJhbnNhY3Rpb24gY29udGV4dCB0 byBlbnRlciB0aGUgbG9vcC4KKwkgKi8KKwlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4 dCk7CisKKwlmb3JlYWNoKHBhcnNldHJlZV9pdGVtLCBwYXJzZXRyZWVfbGlzdCkKKwl7CisJCUxp c3QJICAgKnBsYW50cmVlX2xpc3Q7CisJCUxpc3QJICAgKnF1ZXJ5dHJlZV9saXN0OworCQlSYXdT dG10CSAgICpjb21tYW5kID0gKFJhd1N0bXQgKikgbGZpcnN0KHBhcnNldHJlZV9pdGVtKTsKKwkJ Q29tbWFuZFRhZwljb21tYW5kVGFnOworCQlNZW1vcnlDb250ZXh0IHBlcl9wYXJzZXRyZWVfY29u dGV4dCA9IE5VTEw7CisJCVBvcnRhbAkJcG9ydGFsOworCQlEZXN0UmVjZWl2ZXIgKnJlY2VpdmVy OworCQlib29sCQkgc25hcHNob3Rfc2V0ID0gZmFsc2U7CisJCWNoYXIgCQkgKnNjaGVtYW5hbWUg PSBOVUxMOyAvKiBGb3IgQ1JFQVRFIFRBQkxFIGFuZCBDUkVBVEUgVEFCTEUgQVMgc3RtdCBvbmx5 ICovCisJCWNoYXIJCSAqcmVsbmFtZSA9IE5VTEw7IC8qIEZvciBDUkVBVEUgVEFCTEUgYW5kIENS RUFURSBUQUJMRSBBUyBzdG10IG9ubHkgKi8KKwkJYm9vbAkJIGlzX3BhcnRpdGlvbmVkX3RhYmxl ID0gZmFsc2U7CisKKwkJY29tbWFuZFRhZyA9IENyZWF0ZUNvbW1hbmRUYWcoKE5vZGUgKiljb21t YW5kKTsKKwkJcHJlcHJvY2Vzc19kZGwoY29tbWFuZCwgJnNjaGVtYW5hbWUsICZyZWxuYW1lLCAm aXNfcGFydGl0aW9uZWRfdGFibGUpOworCiAJCS8qCiAJCSAqIFNldCB1cCBhIHNuYXBzaG90IGlm IHBhcnNlIGFuYWx5c2lzL3BsYW5uaW5nIHdpbGwgbmVlZCBvbmUuCiAJCSAqLwpAQCAtMjczOSw2 MyArMjgyMSw4IEBAIGFwcGx5X2V4ZWN1dGVfc3FsX2NvbW1hbmQoY29uc3QgY2hhciAqY21kc3Ry LCBjb25zdCBjaGFyICpyb2xlLCBjb25zdCBjaGFyICpzZWFyCiAKIAkJQ29tbWFuZENvdW50ZXJJ bmNyZW1lbnQoKTsKIAotCQkvKgotCQkgKiBUYWJsZSBjcmVhdGVkIGJ5IERETCByZXBsaWNhdGlv biAoZGF0YWJhc2UgbGV2ZWwpIGlzIGF1dG9tYXRpY2FsbHkKLQkJICogYWRkZWQgdG8gdGhlIHN1 YnNjcmlwdGlvbiBoZXJlLgotCQkgKgotCQkgKiBDYWxsIEFkZFN1YnNjcmlwdGlvblJlbFN0YXRl IGZvciBDUkVBVEUgVEFCRUwgYW5kIENSRUFURSBUQUJMRSBBUwotCQkgKiBjb21tYW5kIHRvIHNl dCB0aGUgcmVsc3RhdGUgdG8gU1VCUkVMX1NUQVRFX0lOSVQgc28gRE1MIGNoYW5nZXMgb24gdGhp cwotCQkgKiBuZXcgdGFibGUgY2FuIGJlIHJlcGxpY2F0ZWQgd2l0aG91dCBoYXZpbmcgdG8gbWFu dWFsbHkgcnVuCi0JCSAqICJhbHRlciBzdWJzY3JpcHRpb24gLi4uIHJlZnJlc2ggcHVibGljYXRp b24iCi0JCSAqLwogCQlpZiAocmVsbmFtZSAhPSBOVUxMKQotCQl7Ci0JCQlPaWQgcmVsaWQ7Ci0J CQlPaWQgcmVsbmFtZXNwYWNlID0gSW52YWxpZE9pZDsKLQotCQkJaWYgKHNjaGVtYW5hbWUgIT0g TlVMTCkKLQkJCQlyZWxuYW1lc3BhY2UgPSBnZXRfbmFtZXNwYWNlX29pZChzY2hlbWFuYW1lLCBm YWxzZSk7Ci0JCQlpZiAocmVsbmFtZXNwYWNlICE9IEludmFsaWRPaWQpCi0JCQkJcmVsaWQgPSBn ZXRfcmVsbmFtZV9yZWxpZChyZWxuYW1lLCByZWxuYW1lc3BhY2UpOwotCQkJZWxzZQotCQkJewot CQkJCS8qCi0JCQkJICogVHJ5IHRvIHJlc29sdmUgdW5xdWFsaWZpZWQgcmVsbmFtZS4KLQkJCQkg KiBOb3RpY2Ugd2UgaGF2ZSBzZXQgdGhlIHNlYXJjaF9wYXRoIHRvIHRoZSBvcmlnaW5hbCBzZWFy Y2hfcGF0aCBvbiB0aGUgcHVibGlzaGVyCi0JCQkJICogYXQgdGhlIGJlZ2lubmluZyBvZiB0aGlz IGZ1bmN0aW9uLgotCQkJCSAqLwotCQkJCXJlbGlkID0gUmVsbmFtZUdldFJlbGlkKHJlbG5hbWUp OwotCQkJfQotCi0JCQlpZiAocmVsaWQgIT0gSW52YWxpZE9pZCkKLQkJCXsKLQkJCQlib29sIHN1 YnNjcmliZV90YWJsZSA9IHRydWU7Ci0KLQkJCQlpZiAoaXNfcGFydGl0aW9uZWRfdGFibGUpCi0J CQkJewotCQkJCQlSZWxhdGlvbiByZWwgPSBSZWxhdGlvbklkR2V0UmVsYXRpb24ocmVsaWQpOwot CQkJCQljaGFyICp0YWJsZV9uYW1lID0gUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKTsKLQkJ CQkJY2hhciAqc2NoZW1hX25hbWUgPSBnZXRfbmFtZXNwYWNlX25hbWUoUmVsYXRpb25HZXROYW1l c3BhY2UocmVsKSk7Ci0JCQkJCS8qCi0JCQkJCSAqIENvbm5lY3QgdG8gdGhlIHNvdXJjZSBEQiBh bmQgY2hlY2sgd2hlaHRlciB0aGUgcGFydGl0aW9uZWQgdGFibGUgc2hvdWxkIGJlIHN1YnNjcmli ZWQuCi0JCQkJCSAqIEJlY2F1c2UgaXQgZGVwZW5kcyBvbiB0aGUgc2V0dGluZyBvZiBwdWJsaXNo X3ZpYV9wYXJ0aXRpb25fcm9vdCwgd2hpY2ggdGhlIHN1YnNjcmlwdGlvbgotCQkJCQkgKiBkb2Vz bid0IGtub3cuCi0JCQkJCSAqLwotCQkJCQlzdWJzY3JpYmVfdGFibGUgPSBJc1BhcnRpdGlvbmVk VGFibGVQdWJsaXNoZWRPblNvdXJjZShNeVN1YnNjcmlwdGlvbiwgc2NoZW1hX25hbWUsIHRhYmxl X25hbWUpOwotCQkJCQlSZWxhdGlvbkNsb3NlKHJlbCk7Ci0JCQkJfQotCi0JCQkJaWYgKHN1YnNj cmliZV90YWJsZSkKLQkJCQl7Ci0JCQkJCUFkZFN1YnNjcmlwdGlvblJlbFN0YXRlKE15U3Vic2Ny aXB0aW9uLT5vaWQsIHJlbGlkLAotCQkJCQkJCQkJCQlTVUJSRUxfU1RBVEVfSU5JVCwKLQkJCQkJ CQkJCQkJSW52YWxpZFhMb2dSZWNQdHIpOwotCQkJCQllcmVwb3J0KERFQlVHMSwKLQkJCQkJCQko ZXJybXNnX2ludGVybmFsKCJ0YWJsZSBcIiVzXCIgYWRkZWQgdG8gc3Vic2NyaXB0aW9uIFwiJXNc IiIsCi0JCQkJCQkJCQkJCSByZWxuYW1lLCBNeVN1YnNjcmlwdGlvbi0+bmFtZSkpKTsKLQkJCQl9 Ci0JCQl9Ci0JCX0KKwkJCWhhbmRsZV9jcmVhdGVfdGFibGUocmVsbmFtZSwgc2NoZW1hbmFtZSwg aXNfcGFydGl0aW9uZWRfdGFibGUpOwogCX0KIAogCS8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRp b24vcGdvdXRwdXQvcGdvdXRwdXQuYwppbmRleCBkYjIyMWM3ZThkLi5hNjYzNjdmZTdhIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jCisrKyBi L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMKQEAgLTU2LDcgKzU2 LDcgQEAgc3RhdGljIHZvaWQgcGdvdXRwdXRfbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0 ICpjdHgsCiAJCQkJCQkJIFNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogc3RhdGljIHZv aWQgcGdvdXRwdXRfZGRsbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCiAJCQkJ CQkJCVJlb3JkZXJCdWZmZXJUWE4gKnR4biwgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwKLQkJCQkJ CQkJYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJv bGUsCisJCQkJCQkJCWNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqcm9sZSwKIAkJCQkJ CQkJY29uc3QgY2hhciAqc2VhcmNoX3BhdGgsIFNpemUgc3osIGNvbnN0IGNoYXIgKm1lc3NhZ2Up Owogc3RhdGljIGJvb2wgcGdvdXRwdXRfb3JpZ2luX2ZpbHRlcihMb2dpY2FsRGVjb2RpbmdDb250 ZXh0ICpjdHgsCiAJCQkJCQkJCSAgIFJlcE9yaWdpbklkIG9yaWdpbl9pZCk7CkBAIC0xNzA1LDEz ICsxNzA1LDE0IEBAIHBnb3V0cHV0X21lc3NhZ2UoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4 LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAKIHN0YXRpYyB2b2lkCiBwZ291dHB1dF9kZGxtZXNz YWdlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAot CQkJCSBYTG9nUmVjUHRyIG1lc3NhZ2VfbHNuLCBib29sIHRyYW5zYWN0aW9uYWwsCisJCQkJIFhM b2dSZWNQdHIgbWVzc2FnZV9sc24sCiAJCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hh ciAqIHJvbGUsCiAJCQkJIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLCBTaXplIHN6LCBjb25zdCBj aGFyICptZXNzYWdlKQogewogCVBHT3V0cHV0RGF0YSAqZGF0YSA9IChQR091dHB1dERhdGEgKikg Y3R4LT5vdXRwdXRfcGx1Z2luX3ByaXZhdGU7CiAJVHJhbnNhY3Rpb25JZCB4aWQgPSBJbnZhbGlk VHJhbnNhY3Rpb25JZDsKIAlMaXN0Q2VsbCAqbGM7CisJUEdPdXRwdXRUeG5EYXRhICp0eG5kYXRh OwogCiAJLyogUmVsb2FkIHB1YmxpY2F0aW9ucyBpZiBuZWVkZWQgYmVmb3JlIHVzZS4gKi8KIAlp ZiAoIXB1YmxpY2F0aW9uc192YWxpZCkKQEAgLTE3NDUsMjAgKzE3NDYsMTYgQEAgcGdvdXRwdXRf ZGRsbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsIFJlb3JkZXJCdWZmZXJUWE4g KnR4biwKIAkgKiBPdXRwdXQgQkVHSU4gaWYgd2UgaGF2ZW4ndCB5ZXQuIEF2b2lkIGZvciBub24t dHJhbnNhY3Rpb25hbAogCSAqIG1lc3NhZ2VzLgogCSAqLwotCWlmICh0cmFuc2FjdGlvbmFsKQot CXsKLQkJUEdPdXRwdXRUeG5EYXRhICp0eG5kYXRhID0gKFBHT3V0cHV0VHhuRGF0YSAqKSB0eG4t Pm91dHB1dF9wbHVnaW5fcHJpdmF0ZTsKKwl0eG5kYXRhID0gKFBHT3V0cHV0VHhuRGF0YSAqKSB0 eG4tPm91dHB1dF9wbHVnaW5fcHJpdmF0ZTsKIAotCQkvKiBTZW5kIEJFR0lOIGlmIHdlIGhhdmVu J3QgeWV0ICovCi0JCWlmICh0eG5kYXRhICYmICF0eG5kYXRhLT5zZW50X2JlZ2luX3R4bikKLQkJ CXBnb3V0cHV0X3NlbmRfYmVnaW4oY3R4LCB0eG4pOwotCX0KKwkvKiBTZW5kIEJFR0lOIGlmIHdl IGhhdmVuJ3QgeWV0ICovCisJaWYgKHR4bmRhdGEgJiYgIXR4bmRhdGEtPnNlbnRfYmVnaW5fdHhu KQorCQlwZ291dHB1dF9zZW5kX2JlZ2luKGN0eCwgdHhuKTsKIAogCU91dHB1dFBsdWdpblByZXBh cmVXcml0ZShjdHgsIHRydWUpOwogCWxvZ2ljYWxyZXBfd3JpdGVfZGRsbWVzc2FnZShjdHgtPm91 dCwKIAkJCQkJCQkgeGlkLAogCQkJCQkJCSBtZXNzYWdlX2xzbiwKLQkJCQkJCQkgdHJhbnNhY3Rp b25hbCwKIAkJCQkJCQkgcHJlZml4LAogCQkJCQkJCSByb2xlLAogCQkJCQkJCSBzZWFyY2hfcGF0 aCwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQv dGNvcC91dGlsaXR5LmMKaW5kZXggMWFiZDc3YTYwZS4uN2NmOGZlMGJhMyAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5 LmMKQEAgLTExMzEsMTMgKzExMzEsMTEgQEAgTG9nTG9naWNhbERETENvbW1hbmQoTm9kZSAqcGFy c2V0cmVlLCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykKIAkJCSAqLwogCQkJaWYgKGRkbF9uZWVk X3hsb2coSW52YWxpZE9pZCwgdHJ1ZSkpCiAJCQl7Ci0JCQkJYm9vbCB0cmFuc2FjdGlvbmFsID0g dHJ1ZTsKIAkJCQljb25zdCBjaGFyKiBwcmVmaXggPSAiIjsKIAkJCQlMb2dMb2dpY2FsRERMTWVz c2FnZShwcmVmaXgsCiAJCQkJCQkJCQkgR2V0VXNlcklkKCksCiAJCQkJCQkJCQkgcXVlcnlTdHJp bmcsCi0JCQkJCQkJCQkgc3RybGVuKHF1ZXJ5U3RyaW5nKSwKLQkJCQkJCQkJCSB0cmFuc2FjdGlv bmFsKTsKKwkJCQkJCQkJCSBzdHJsZW4ocXVlcnlTdHJpbmcpKTsKIAkJCX0KIAkJCWJyZWFrOwog CkBAIC0xMTczLDEzICsxMTcxLDExIEBAIExvZ0xvZ2ljYWxERExDb21tYW5kKE5vZGUgKnBhcnNl dHJlZSwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcpCiAJCQkJCSAqLwogCQkJCQlpZiAoZGRsX25l ZWRfeGxvZyhJbnZhbGlkT2lkLCB0cnVlKSkKIAkJCQkJewotCQkJCQkJYm9vbCB0cmFuc2FjdGlv bmFsID0gdHJ1ZTsKIAkJCQkJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOwogCQkJCQkJTG9nTG9n aWNhbERETE1lc3NhZ2UocHJlZml4LAogCQkJCQkJCQkJCQkgR2V0VXNlcklkKCksCiAJCQkJCQkJ CQkJCSBxdWVyeVN0cmluZywKLQkJCQkJCQkJCQkJIHN0cmxlbihxdWVyeVN0cmluZyksCi0JCQkJ CQkJCQkJCSB0cmFuc2FjdGlvbmFsKTsKKwkJCQkJCQkJCQkJIHN0cmxlbihxdWVyeVN0cmluZykp OwogCQkJCQl9CiAJCQkJZGVmYXVsdDoKIAkJCQkJYnJlYWs7CkBAIC0xMTk1LDE4ICsxMTkxLDI1 IEBAIExvZ0xvZ2ljYWxERExDb21tYW5kKE5vZGUgKnBhcnNldHJlZSwgY29uc3QgY2hhciAqcXVl cnlTdHJpbmcpCiAJCSAqLwogCQljYXNlIFRfQWx0ZXJUYWJsZVN0bXQ6CiAJCWNhc2UgVF9JbmRl eFN0bXQ6CisJCQlicmVhazsKKwkJLyoKKwkJICogUmVuYW1lIG9mIG9iamVjdHMgb3RoZXIgdGhh biB0YWJsZSBpcyBvbmx5IGFsbG93ZWQgaW4gZGF0YWJhc2UgbGV2ZWwKKwkJICogcmVwbGljYXRp b24uCisJCSAqIFJlbmFtZSBvZiB0YWJsZSBpcyBhbGxvd2VkIGluIGJvdGggdGFibGUgbGV2ZWwg YW5kIGRhdGFiYXNlIGxldmVsCisJCSAqIHJlcGxpY2F0aW9uLgorCQkgKi8KIAkJY2FzZSBUX1Jl bmFtZVN0bXQ6CiAJCXsKIAkJCVJlbmFtZVN0bXQgKnN0bXQgPSAoUmVuYW1lU3RtdCAqKSBwYXJz ZXRyZWU7Ci0JCQlpZighc3RtdC0+cmVsYXRpb24gJiYgZGRsX25lZWRfeGxvZyhJbnZhbGlkT2lk LCB0cnVlKSl7Ci0JCQkJYm9vbCB0cmFuc2FjdGlvbmFsID0gdHJ1ZTsKKwkJCWlmKCFzdG10LT5y ZWxhdGlvbiAmJiBkZGxfbmVlZF94bG9nKEludmFsaWRPaWQsIHRydWUpKQorCQkJewogCQkJCWNv bnN0IGNoYXIqIHByZWZpeCA9ICIiOwogCQkJCUxvZ0xvZ2ljYWxERExNZXNzYWdlKHByZWZpeCwK IAkJCQkJCQkJCUdldFVzZXJJZCgpLAogCQkJCQkJCQkJcXVlcnlTdHJpbmcsCi0JCQkJCQkJCQlz dHJsZW4ocXVlcnlTdHJpbmcpLAotCQkJCQkJCQkJdHJhbnNhY3Rpb25hbCk7CisJCQkJCQkJCQlz dHJsZW4ocXVlcnlTdHJpbmcpKTsKIAkJCX0KKwkJCWJyZWFrOwogCQl9CiAJCWNhc2UgVF9BbHRl ck93bmVyU3RtdDogLyogVE9ETywgaXQgaXMgZGF0YSBjb250cm9sIGNhc2UsIHNhdmUgZm9yIGxh dGVyIHVwZGF0ZSAqLwogCQkJYnJlYWs7CkBAIC0xMjM2LDEzICsxMjM5LDExIEBAIExvZ0xvZ2lj YWxERExDb21tYW5kKE5vZGUgKnBhcnNldHJlZSwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcpCiAJ CQkJCSAqLwogCQkJCQlpZiAoZGRsX25lZWRfeGxvZyhJbnZhbGlkT2lkLCB0cnVlKSkKIAkJCQkJ ewotCQkJCQkJYm9vbCB0cmFuc2FjdGlvbmFsID0gdHJ1ZTsKIAkJCQkJCWNvbnN0IGNoYXIqIHBy ZWZpeCA9ICIiOwogCQkJCQkJTG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4LAogCQkJCQkJCQkJ CQkgR2V0VXNlcklkKCksCiAJCQkJCQkJCQkJCSBxdWVyeVN0cmluZywKLQkJCQkJCQkJCQkJIHN0 cmxlbihxdWVyeVN0cmluZyksCi0JCQkJCQkJCQkJCSB0cmFuc2FjdGlvbmFsKTsKKwkJCQkJCQkJ CQkJIHN0cmxlbihxdWVyeVN0cmluZykpOwogCQkJCQl9CiAJCQkJCWJyZWFrOwogCQkJfQpAQCAt MTU0NiwxMyArMTU0NywxMSBAQCBQcm9jZXNzVXRpbGl0eVNsb3coUGFyc2VTdGF0ZSAqcHN0YXRl LAogCQkJCQkJCWlzQ29tcGxldGVRdWVyeSAmJgogCQkJCQkJCWRkbF9uZWVkX3hsb2cocmVsaWQs IGZhbHNlKSkKIAkJCQkJCXsKLQkJCQkJCQlib29sIHRyYW5zYWN0aW9uYWwgPSB0cnVlOwogCQkJ CQkJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIiOwogCQkJCQkJCUxvZ0xvZ2ljYWxERExNZXNzYWdl KHByZWZpeCwKIAkJCQkJCQkJCQkJCSBHZXRVc2VySWQoKSwKIAkJCQkJCQkJCQkJCSBxdWVyeVN0 cmluZywKLQkJCQkJCQkJCQkJCSBzdHJsZW4ocXVlcnlTdHJpbmcpLAotCQkJCQkJCQkJCQkJIHRy YW5zYWN0aW9uYWwpOworCQkJCQkJCQkJCQkJIHN0cmxlbihxdWVyeVN0cmluZykpOwogCQkJCQkJ fQogCiAJCQkJCQkvKiAuLi4gYW5kIGRvIGl0ICovCkBAIC0xNzgzLDEzICsxNzgyLDExIEBAIFBy b2Nlc3NVdGlsaXR5U2xvdyhQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQlpc0NvbXBsZXRlUXVl cnkgJiYKIAkJCQkJCWRkbF9uZWVkX3hsb2cocmVsaWQsIGZhbHNlKSkKIAkJCQkJewotCQkJCQkJ Ym9vbCB0cmFuc2FjdGlvbmFsID0gdHJ1ZTsKIAkJCQkJCWNvbnN0IGNoYXIqIHByZWZpeCA9ICIi OwogCQkJCQkJTG9nTG9naWNhbERETE1lc3NhZ2UocHJlZml4LAogCQkJCQkJCQkJCQkgR2V0VXNl cklkKCksCiAJCQkJCQkJCQkJCSBxdWVyeVN0cmluZywKLQkJCQkJCQkJCQkJIHN0cmxlbihxdWVy eVN0cmluZyksCi0JCQkJCQkJCQkJCSB0cmFuc2FjdGlvbmFsKTsKKwkJCQkJCQkJCQkJIHN0cmxl bihxdWVyeVN0cmluZykpOwogCQkJCQl9CiAKIAkJCQkJYWRkcmVzcyA9CmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9kZGxtZXNzYWdlLmggYi9zcmMvaW5jbHVkZS9yZXBsaWNh dGlvbi9kZGxtZXNzYWdlLmgKaW5kZXggMWU4ZWYyMjI5Ni4uMDQxOGQxNmRjYSAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vZGRsbWVzc2FnZS5oCisrKyBiL3NyYy9pbmNsdWRl L3JlcGxpY2F0aW9uL2RkbG1lc3NhZ2UuaApAQCAtMjAsNyArMjAsNiBAQAogdHlwZWRlZiBzdHJ1 Y3QgeGxfbG9naWNhbF9kZGxfbWVzc2FnZQogewogCU9pZAkJCWRiSWQ7CQkJLyogZGF0YWJhc2Ug T2lkIGVtaXR0ZWQgZnJvbSAqLwotCWJvb2wJCXRyYW5zYWN0aW9uYWw7CS8qIGlzIG1lc3NhZ2Ug dHJhbnNhY3Rpb25hbD8gKi8KIAlTaXplCQlwcmVmaXhfc2l6ZTsJLyogbGVuZ3RoIG9mIHByZWZp eCAqLwogCVNpemUJCXJvbGVfc2l6ZTsgICAgICAvKiBsZW5ndGggb2YgdGhlIHJvbGUgdGhhdCBl eGVjdXRlcyB0aGUgRERMIGNvbW1hbmQgKi8KIAlTaXplCQlzZWFyY2hfcGF0aF9zaXplOyAvKiBs ZW5ndGggb2YgdGhlIHNlYXJjaCBwYXRoICovCkBAIC0zNiw3ICszNSw3IEBAIHR5cGVkZWYgc3Ry dWN0IHhsX2xvZ2ljYWxfZGRsX21lc3NhZ2UKICNkZWZpbmUgU2l6ZU9mTG9naWNhbERETE1lc3Nh Z2UJKG9mZnNldG9mKHhsX2xvZ2ljYWxfZGRsX21lc3NhZ2UsIG1lc3NhZ2UpKQogCiBleHRlcm4g WExvZ1JlY1B0ciBMb2dMb2dpY2FsRERMTWVzc2FnZShjb25zdCBjaGFyICpwcmVmaXgsIE9pZCBy b2xlb2lkLCBjb25zdCBjaGFyICpkZGxfbWVzc2FnZSwKLQkJCQkJCQkJCSAgIHNpemVfdCBzaXpl LCBib29sIHRyYW5zYWN0aW9uYWwpOworCQkJCQkJCQkJICAgc2l6ZV90IHNpemUpOwogCiAvKiBS TUdSIEFQSSovCiAjZGVmaW5lIFhMT0dfTE9HSUNBTF9ERExfTUVTU0FHRQkweDAwCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2FscHJvdG8uaCBiL3NyYy9pbmNsdWRl L3JlcGxpY2F0aW9uL2xvZ2ljYWxwcm90by5oCmluZGV4IDI4ZmY1NjJkNjIuLmNjMGJhNjA5MDUg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWxwcm90by5oCisrKyBi L3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWxwcm90by5oCkBAIC0yMzMsMTEgKzIzMywx MSBAQCBleHRlcm4gdm9pZCBsb2dpY2FscmVwX3dyaXRlX21lc3NhZ2UoU3RyaW5nSW5mbyBvdXQs IFRyYW5zYWN0aW9uSWQgeGlkLCBYTG9nUmVjUAogCQkJCQkJCQkJIGJvb2wgdHJhbnNhY3Rpb25h bCwgY29uc3QgY2hhciAqcHJlZml4LAogCQkJCQkJCQkJIFNpemUgc3osIGNvbnN0IGNoYXIgKm1l c3NhZ2UpOwogZXh0ZXJuIHZvaWQgbG9naWNhbHJlcF93cml0ZV9kZGxtZXNzYWdlKFN0cmluZ0lu Zm8gb3V0LCBUcmFuc2FjdGlvbklkIHhpZCwgWExvZ1JlY1B0ciBsc24sCi0JCQkJCQkJCQkJYm9v bCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnJvbGUsCisJ CQkJCQkJCQkJY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpyb2xlLAogCQkJCQkJCQkJ CWNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLCBTaXplIHN6LCBjb25zdCBjaGFyICptZXNzYWdlKTsK IGV4dGVybiBjb25zdCBjaGFyICpsb2dpY2FscmVwX3JlYWRfZGRsbWVzc2FnZShTdHJpbmdJbmZv IGluLCBYTG9nUmVjUHRyICpsc24sIGNvbnN0IGNoYXIgKipwcmVmaXgsCiAJCQkJCQkJCQkJCSAg Y29uc3QgY2hhciAqKnJvbGUsIGNvbnN0IGNoYXIgKipzZWFyY2hfcGF0aCwKLQkJCQkJCQkJCQkJ ICBib29sICp0cmFuc2FjdGlvbmFsLCBTaXplICpzeik7CisJCQkJCQkJCQkJCSAgU2l6ZSAqc3op OwogZXh0ZXJuIHZvaWQgbG9naWNhbHJlcF93cml0ZV9yZWwoU3RyaW5nSW5mbyBvdXQsIFRyYW5z YWN0aW9uSWQgeGlkLAogCQkJCQkJCQkgUmVsYXRpb24gcmVsLCBCaXRtYXBzZXQgKmNvbHVtbnMp OwogZXh0ZXJuIExvZ2ljYWxSZXBSZWxhdGlvbiAqbG9naWNhbHJlcF9yZWFkX3JlbChTdHJpbmdJ bmZvIGluKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL291dHB1dF9wbHVn aW4uaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL291dHB1dF9wbHVnaW4uaAppbmRleCA1YjFj MjQ1YjcyLi40NDRiNzViZWYwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9v dXRwdXRfcGx1Z2luLmgKKysrIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vb3V0cHV0X3BsdWdp bi5oCkBAIC05NCw3ICs5NCw2IEBAIHR5cGVkZWYgdm9pZCAoKkxvZ2ljYWxEZWNvZGVNZXNzYWdl Q0IpIChzdHJ1Y3QgTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogdHlwZWRlZiB2b2lkICgq TG9naWNhbERlY29kZURETE1lc3NhZ2VDQikgKHN0cnVjdCBMb2dpY2FsRGVjb2RpbmdDb250ZXh0 ICpjdHgsCiAJCQkJCQkJCQkJICAgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkJCQkJCQkJCSAg IFhMb2dSZWNQdHIgbWVzc2FnZV9sc24sCi0JCQkJCQkJCQkJICAgYm9vbCB0cmFuc2FjdGlvbmFs LAogCQkJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCQkJCQkJCQkgICBjb25zdCBj aGFyICpyb2xlLAogCQkJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoLApAQCAtMjE5 LDcgKzIxOCw2IEBAIHR5cGVkZWYgdm9pZCAoKkxvZ2ljYWxEZWNvZGVTdHJlYW1NZXNzYWdlQ0Ip IChzdHJ1Y3QgTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4CiB0eXBlZGVmIHZvaWQgKCpMb2dp Y2FsRGVjb2RlU3RyZWFtRERMTWVzc2FnZUNCKSAoc3RydWN0IExvZ2ljYWxEZWNvZGluZ0NvbnRl eHQgKmN0eCwKIAkJCQkJCQkJCQkJCSBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJCQkJCQkJCQkJ CQkgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwKLQkJCQkJCQkJCQkJCSBib29sIHRyYW5zYWN0aW9u YWwsCiAJCQkJCQkJCQkJCQkgY29uc3QgY2hhciAqcHJlZml4LAogCQkJCQkJCQkJCQkJIGNvbnN0 IGNoYXIgKnJvbGUsCiAJCQkJCQkJCQkJCQkgY29uc3QgY2hhciAqc2VhcmNoX3BhdGgsCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9yZW9yZGVyYnVmZmVyLmggYi9zcmMvaW5j bHVkZS9yZXBsaWNhdGlvbi9yZW9yZGVyYnVmZmVyLmgKaW5kZXggZGQ4OWUwOGVmYy4uY2Q4YzY5 Y2ViOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vcmVvcmRlcmJ1ZmZlci5o CisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Jlb3JkZXJidWZmZXIuaApAQCAtNDQ1LDcg KzQ0NSw2IEBAIHR5cGVkZWYgdm9pZCAoKlJlb3JkZXJCdWZmZXJNZXNzYWdlQ0IpIChSZW9yZGVy QnVmZmVyICpyYiwKIHR5cGVkZWYgdm9pZCAoKlJlb3JkZXJCdWZmZXJERExNZXNzYWdlQ0IpIChS ZW9yZGVyQnVmZmVyICpyYiwKIAkJCQkJCQkJCQkgICBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJ CQkJCQkJCQkJICAgWExvZ1JlY1B0ciBtZXNzYWdlX2xzbiwKLQkJCQkJCQkJCQkgICBib29sIHRy YW5zYWN0aW9uYWwsCiAJCQkJCQkJCQkJICAgY29uc3QgY2hhciAqcHJlZml4LAogCQkJCQkJCQkJ CSAgIGNvbnN0IGNoYXIgKnJvbGUsCiAJCQkJCQkJCQkJICAgY29uc3QgY2hhciAqc2VhcmNoX3Bh dGgsCkBAIC01MjMsNyArNTIyLDYgQEAgdHlwZWRlZiB2b2lkICgqUmVvcmRlckJ1ZmZlclN0cmVh bURETE1lc3NhZ2VDQikgKAogCQkJCQkJCQkJCQkJIFJlb3JkZXJCdWZmZXIgKnJiLAogCQkJCQkJ CQkJCQkJIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCQkJCQkJCQkJCSBYTG9nUmVjUHRyIG1l c3NhZ2VfbHNuLAotCQkJCQkJCQkJCQkJIGJvb2wgdHJhbnNhY3Rpb25hbCwKIAkJCQkJCQkJCQkJ CSBjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkJCQkJCQkJCQkgY29uc3QgY2hhciAqcm9sZSwKIAkJ CQkJCQkJCQkJCSBjb25zdCBjaGFyICpzZWFyY2hfcGF0aCwKQEAgLTY3MSw4ICs2NjksOCBAQCBl eHRlcm4gdm9pZCBSZW9yZGVyQnVmZmVyUXVldWVDaGFuZ2UoUmVvcmRlckJ1ZmZlciAqLCBUcmFu c2FjdGlvbklkLAogZXh0ZXJuIHZvaWQgUmVvcmRlckJ1ZmZlclF1ZXVlTWVzc2FnZShSZW9yZGVy QnVmZmVyICosIFRyYW5zYWN0aW9uSWQsIFNuYXBzaG90IHNuYXBzaG90LCBYTG9nUmVjUHRyIGxz biwKIAkJCQkJCQkJCSAgYm9vbCB0cmFuc2FjdGlvbmFsLCBjb25zdCBjaGFyICpwcmVmaXgsCiAJ CQkJCQkJCQkgIFNpemUgbWVzc2FnZV9zaXplLCBjb25zdCBjaGFyICptZXNzYWdlKTsKLWV4dGVy biB2b2lkIFJlb3JkZXJCdWZmZXJRdWV1ZURETE1lc3NhZ2UoUmVvcmRlckJ1ZmZlciAqLCBUcmFu c2FjdGlvbklkLCBTbmFwc2hvdCBzbmFwc2hvdCwgWExvZ1JlY1B0ciBsc24sCi0JCQkJCQkJCQkJ IGJvb2wgdHJhbnNhY3Rpb25hbCwgY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpyb2xl LAorZXh0ZXJuIHZvaWQgUmVvcmRlckJ1ZmZlclF1ZXVlRERMTWVzc2FnZShSZW9yZGVyQnVmZmVy ICosIFRyYW5zYWN0aW9uSWQsIFhMb2dSZWNQdHIgbHNuLAorCQkJCQkJCQkJCWNvbnN0IGNoYXIg KnByZWZpeCwgY29uc3QgY2hhciAqcm9sZSwKIAkJCQkJCQkJCQkgY29uc3QgY2hhciAqc2VhcmNo X3BhdGgsIFNpemUgbWVzc2FnZV9zaXplLCBjb25zdCBjaGFyICptZXNzYWdlKTsKIGV4dGVybiB2 b2lkIFJlb3JkZXJCdWZmZXJDb21taXQoUmVvcmRlckJ1ZmZlciAqLCBUcmFuc2FjdGlvbklkLAog CQkJCQkJCQlYTG9nUmVjUHRyIGNvbW1pdF9sc24sIFhMb2dSZWNQdHIgZW5kX2xzbiwKLS0gCjIu MzIuMAoK --0000000000003d077705e1a9e535--