Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t3KaH-00BwsI-JG for pgsql-hackers@arkaria.postgresql.org; Tue, 22 Oct 2024 19:30:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1t3KaF-002YBo-U0 for pgsql-hackers@arkaria.postgresql.org; Tue, 22 Oct 2024 19:30:24 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t3KaE-002YBg-Nj for pgsql-hackers@lists.postgresql.org; Tue, 22 Oct 2024 19:30:23 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t3Ka4-002KnT-Ro for pgsql-hackers@postgresql.org; Tue, 22 Oct 2024 19:30:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1729625410; bh=W4HdO8d1BvbBZfIb5Cx3pTjq8wAGtTmPjMs/J594EtA=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=oCo4+dgYjjU8niBSowtZS9VU3Orna7riWkMLTKk83nd3l5TMrpbf71AW3j1nw5MPm xSPWrU4+9vpKT63h5Qx1XPEYvppY7gNGP4OXLYLk87aTc4foxRdPPL2Cxt6tEEjXIW 8LJ6ytDa7mz38/6uNbPJ8VpgutXl9Ni7uhSvFGCCZu7prgek4dVTGK1LgUKSAIIy3S l3S+VPqygnh85lDuJzUUf7TJVYRIS2Bvt+4/YLZhiUFs7FiFg9HHz+wYaKRUoEycnV ZJC9cMXNtqSP5wD4yTfYSrmk3dWwyc81vE610r6CL3Cm4C60fHLn16EnxLFUfxm3kQ vO+abIe45djDQ== Received: from [172.30.33.154] (unknown [172.30.33.154]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: a.rybakina@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 8CB726084F; Tue, 22 Oct 2024 22:30:10 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------khoCiO40l67itgo2tWR709Ac" Message-ID: <995657bc-9966-47c0-b085-4c5e8886d249@postgrespro.ru> Date: Tue, 22 Oct 2024 22:30:10 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: Ilia Evdokimov , pgsql-hackers Cc: jian he , Alexander Korotkov , Andrei Zubkov , Alena Rybakina , a.lepikhov@postgrespro.ru References: <53c47c2d-72a5-44f2-900c-9973b2af1808@tantorlabs.com> <4a902cea-54fb-41b5-b208-b84731a5f577@postgrespro.ru> <092adec6-4eae-4bd4-bd0d-473a9df1282b@tantorlabs.com> <3deae1bd-ad84-4459-a26e-04c9136b84e9@postgrespro.ru> <9b10c6d3-52c4-4eef-b67c-c33442667729@postgrespro.ru> <30e2e941-b9f6-4ea1-aa3b-f0c406b8797d@postgrespro.ru> <1a960398-d12d-419a-af48-4acfe58d0c3a@tantorlabs.com> <8b2f3c20-02ac-4658-b78f-e9d7590f893b@postgrespro.ru> Content-Language: en-US From: Alena Rybakina In-Reply-To: <8b2f3c20-02ac-4658-b78f-e9d7590f893b@postgrespro.ru> X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2024/10/22 14:22:00 #26786294 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------khoCiO40l67itgo2tWR709Ac Content-Type: multipart/alternative; boundary="------------DSh4ApffyHiDs6XhDLONU651" --------------DSh4ApffyHiDs6XhDLONU651 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi! On 16.10.2024 14:01, Alena Rybakina wrote: >> >> Thank you for rebasing. >> >> I have noticed that when I create a table or an index on this table, >> there is no information about the table or index in >> pg_stat_vacuum_tables and pg_stat_vacuum_indexes until we perform a >> VACUUM. >> >> Example: >> >> CREATE TABLE t (i INT, j INT); >> INSERT INTO t SELECT i/10, i/100 FROM GENERATE_SERIES(1,1000000) i; >> SELECT * FROM pg_stat_vacuum_tables WHERE relname = 't'; >> .... >> (0 rows) >> CREATE INDEX ON t (i); >> SELECT * FROM pg_stat_vacuum_indexes WHERE relname = 't_i_idx'; >> ... >> (0 rows) >> >> I can see the entries after running VACUUM or executing >> autovacuum. or when autovacuum is executed. I would suggest adding a >> line about the relation even if it has not yet been processed by >> vacuum. Interestingly, this issue does not occur with >> pg_stat_vacuum_database: >> >> CREATE DATABASE example_db; >> SELECT * FROM pg_stat_vacuum_database WHERE dbname = 'example_db'; >> dboid |       dbname | ... >>  ...      | example_db | ... >> (1 row) >> >> BTW, I recommend renaming the view pg_stat_vacuum_database to >> pg_stat_vacuum_database_S_  for consistency with >> pg_stat_vacuum_tables and pg_stat_vacuum_indexes >> > Thanks for the review. I'm investigating this. I agree with the > renaming, I will do it in the next version of the patch. > I fixed it. I added the left outer join to the vacuum views and for converting the coalesce function from NULL to null values. I also fixed the code in getting database statistics - we can get it through the existing pgstat_fetch_stat_dbentry function and fixed couple of comments. I attached a diff file, as well as new versions of patches. -- Regards, Alena Rybakina Postgres Professional --------------DSh4ApffyHiDs6XhDLONU651 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hi!

On 16.10.2024 14:01, Alena Rybakina wrote:

Thank you for rebasing.

I have noticed that when I create a table or an index on this table, there is no information about the table or index in pg_stat_vacuum_tables and pg_stat_vacuum_indexes until we perform a VACUUM.

Example:

CREATE TABLE t (i INT, j INT);
INSERT INTO t SELECT i/10, i/100 FROM  GENERATE_SERIES(1,1000000) i;
SELECT * FROM pg_stat_vacuum_tables WHERE relname = 't';
....
(0 rows)
CREATE INDEX ON t (i);
SELECT * FROM pg_stat_vacuum_indexes WHERE relname = 't_i_idx';
...
(0 rows)

I can see the entries after running VACUUM or executing autovacuum. or when autovacuum is executed. I would suggest adding a line about the relation even if it has not yet been processed by vacuum. Interestingly, this issue does not occur with pg_stat_vacuum_database:

CREATE DATABASE example_db;
SELECT * FROM pg_stat_vacuum_database WHERE dbname = 'example_db';
dboid |       dbname | ...
 ...      | example_db | ...
(1 row)

BTW, I recommend renaming the view pg_stat_vacuum_database to pg_stat_vacuum_databaseS  for consistency with pg_stat_vacuum_tables and pg_stat_vacuum_indexes

Thanks for the review. I'm investigating this. I agree with the renaming, I will do it in the next version of the patch.


    

I fixed it. I added the left outer join to the vacuum views and for converting the coalesce function from NULL to null values.

I also fixed the code in getting database statistics - we can get it through the existing pgstat_fetch_stat_dbentry function and fixed couple of comments. 

I attached a diff file, as well as new versions of patches.

-- 
Regards,
Alena Rybakina
Postgres Professional
--------------DSh4ApffyHiDs6XhDLONU651-- --------------khoCiO40l67itgo2tWR709Ac Content-Type: text/x-patch; charset=UTF-8; name="v10-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v10-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA3NDhlMTk0ODE2ZjYyOTJhNmZmNWZjYjdkOGU3MzlhNTA1YTAzNzE5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA4IE9jdCAyMDI0IDE4OjMyOjU0ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzNdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGhlYXAgcmVsYXRpb25zLgoKVmFsdWUgb2YgdG90YWxfYmxr c19oaXQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19kaXJ0aWVkIGFyZSBudW1iZXIg b2YKaGl0dGVkLCBtaXNzZWQgYW5kIGRpcnRpZWQgcGFnZXMgaW4gc2hhcmVkIGJ1ZmZlcnMg ZHVyaW5nIGEgdmFjdXVtIG9wZXJhdGlvbgpyZXNwZWN0aXZlbHkuCgp0b3RhbF9ibGtzX2Rp cnRpZWQgbWVhbnMgJ2RpcnRpZWQgb25seSBieSB0aGlzIGFjdGlvbicuIFNvLCBpZiB0aGlz IHBhZ2Ugd2FzCmRpcnR5IGJlZm9yZSB0aGUgdmFjdXVtIG9wZXJhdGlvbiwgaXQgZG9lc24n dCBjb3VudCB0aGlzIHBhZ2UgYXMgJ2RpcnRpZWQnLgoKVGhlIHR1cGxlc19kZWxldGVkIHBh cmFtZXRlciBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcyBjbGVhbmVkIHVwIGJ5IHRoZSB2YWN1 dW0Kb3BlcmF0aW9uLgoKVGhlIGRlbGF5X3RpbWUgdmFsdWUgbWVhbnMgdG90YWwgdmFjdXVt IHNsZWVwIHRpbWUgaW4gdmFjdXVtIGRlbGF5IHBvaW50LgpUaGUgcGFnZXNfcmVtb3ZlZCB2 YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIGJ5IHdoaWNoIHRoZSBwaHlzaWNhbCBkYXRh CnN0b3JhZ2Ugb2YgdGhlIHJlbGF0aW9uIHdhcyByZWR1Y2VkLgpUaGUgdmFsdWUgb2YgcGFn ZXNfZGVsZXRlZCBwYXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiBmcmVlZCBwYWdlcyBpbiB0 aGUgdGFibGUKKGZpbGUgc2l6ZSBtYXkgbm90IGhhdmUgY2hhbmdlZCkuCgpJbnRlcnJ1cHRp b25zIG51bWJlciBvZiAoYXV0byl2YWN1dW0gcHJvY2VzcyBkdXJpbmcgdmFjdXVtaW5nIG9m IGEgcmVsYXRpb24uCldlIHJlcG9ydCBmcm9tIHRoZSB2YWN1dW1fZXJyb3JfY2FsbGJhY2sg cm91dGluZS4gU28gd2UgY2FuIGxvZyBhbGwgRVJST1IKcmVwb3J0cy4gSW4gdGhlIGNhc2Ug b2YgYXV0b3ZhY3V1bSB3ZSBjYW4gcmVwb3J0IFNJR0lOVCBzaWduYWxzIHRvby4KSXQgbWF5 YmUgZGFuZ2Vyb3VzIHRvIG1ha2Ugc3VjaCBjb21wbGV4IHRhc2sgKHNlbmQpIGluIGFuIGVy cm9yIGNhbGxiYWNrIC0Kd2UgY2FuIGNhdGNoIEVSUk9SIGluIEVSUk9SIHByb2JsZW0uIEJ1 dCBpdCBsb29rcyBsaWtlIHdlIGhhdmUgc28gc21hbGwKY2hhbmNlIHRvIHN0dWNrIGludG8g dGhpcyBwcm9ibGVtLiBTbywgbGV0J3MgdHJ5IHRvIHVzZS4KVGhpcyBwYXJhbWV0ZXIgcmVs YXRlcyB0byBhIHByb2JsZW0sIGNvdmVyZWQgYnkgYjE5ZTQyNTAuCgpUcmFja2luZyBvZiBJ TyBkdXJpbmcgYW4gKGF1dG8pdmFjdXVtIG9wZXJhdGlvbi4KSW50cm9kdWNlZCB2YXJpYWJs ZXMgYmxrX3JlYWRfdGltZSBhbmQgYmxrX3dyaXRlX3RpbWUgdHJhY2tzIG9ubHkgYWNjZXNz IHRvCmJ1ZmZlciBwYWdlcyBhbmQgZmx1c2hpbmcgdGhlbSB0byBkaXNrLiBSZWFkaW5nIG9w ZXJhdGlvbiBpcyB0cml2aWFsLCBidXQKd3JpdGluZyBtZWFzdXJlbWVudCB0ZWNobmlxdWUg aXMgbm90IG9idmlvdXMuClNvLCBkdXJpbmcgYSB2YWN1dW0gd3JpdGluZyB0aW1lIGNhbiBi ZSB6ZXJvIGluY3JlbWVudGVkIGJlY2F1c2Ugbm8gYW55IGZsdXNoaW5nCm9wZXJhdGlvbnMg d2VyZSBwZXJmb3JtZWQuCgpTeXN0ZW0gdGltZSBhbmQgdXNlciB0aW1lIGFyZSBwYXJhbWV0 ZXJzIHRoYXQgZGVzY3JpYmVzIGhvdyBtdWNoIHRpbWUgYSB2YWN1dW0Kb3BlcmF0aW9uIGhh cyBzcGVudCBpbiBleGVjdXRpbmcgb2YgY29kZSBpbiB1c2VyIHNwYWNlIGFuZCBrZXJuZWwg c3BhY2UKYWNjb3JkaW5nbHkuIEFsc28sIGFjY3VtdWxhdGUgdG90YWwgdGltZSBvZiBhIHZh Y3V1bSB0aGF0IGlzIGEgZGlmZiBiZXR3ZWVuCnRpbWVzdGFtcHMgaW4gc3RhcnQgYW5kIGZp bmlzaCBwb2ludHMgaW4gdGhlIHZhY3V1bSBjb2RlLgpSZW1lbWJlciBhYm91dCBpZGxlIHRp bWUsIHdoZW4gdmFjdXVtIHdhaXRlZCBmb3IgSU8gYW5kIGxvY2tzLCBzbyB0b3RhbCB0aW1l Cmlzbid0IGVxdWFsIGEgc3VtIG9mIHVzZXIgYW5kIHN5c3RlbSB0aW1lLCBidXQgbm8gbGVz cy4KCnBhZ2VzX2Zyb3plbiAtIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMg ZnJvemVuIGluIHZtIGR1cmluZyB2YWN1dW0uClRoaXMgcGFyYW1ldGVyIGlzIGluY3JlbWVu dGVkIGlmIHBhZ2UgaXMgbWFya2VkIGFzIGFsbC1mcm96ZW4uCnBhZ2VzX2FsbF92aXNpYmxl IC0gbnVtYmVyIG9mIHBhZ2VzIHRoYXQgYXJlIG1hcmtlZCBhcyBhbGwtdmlzaWJsZSBpbiB2 bSBkdXJpbmcKdmFjdXVtLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNr aW5hQHlhbmRleC5ydT4sCgkgQW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVz cHJvLnJ1PiwKCSBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0Z3Jlc3Byby5ydT4KUmV2 aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFpbC5jb20+LCBNYXNhaGlr byBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCgkgICAgIElsaWEgRXZkb2tpbW92 IDxpbHlhLmV2ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVy c2FsaXR5QGdtYWlsLmNvbT4sCgkgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBn bWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPgot LS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAgICAgICAgICB8IDE1 OSArKysrKysrKysrKystCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFw LmMgICAgICAgfCAgMTMgKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bCAgICAgICAgICB8ICA1MCArKysrKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMg ICAgICAgICAgICAgICAgIHwgICA0ICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBh cmFsbGVsLmMgICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXQuYyAgICAgICAgICAgfCAgMzIgKystCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNzIgKysrKystCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxNTYgKysrKysrKysrKysrKwogc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwgIDEzICsrCiBzcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDkgKwogc3Jj L2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICAgICAgICAgIHwgICAxICsKIHNy Yy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4MSArKysr KystCiBzcmMvaW5jbHVkZS91dGlscy9lbG9nLmggICAgICAgICAgICAgICAgICAgICAgfCAg IDEgKwogc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmggICAgICAgICAgIHwg ICAyICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgICAg fCAgNTMgKysrKysKIHNyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUgICAg ICAgICB8ICAgMSArCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5z cGVjICAgfCAgNTEgKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0 ICAgICAgICAgICB8ICAzMyArKysKIC4uLi9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRp c3RpY3Mub3V0ICAgICB8IDIwOSArKysrKysrKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jl c3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgNSArCiAuLi4vcmVncmVzcy9z cWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCAgfCAxNjAgKysrKysrKysrKysrKysK IDIxIGZpbGVzIGNoYW5nZWQsIDEwOTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1 bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQuc3BlYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMvYmFj a2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggZDgyYWEzZDQ4OTYuLmQ2MzMw M2M3ZmI3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5 LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCkBAIC0xNjcs NiArMTY3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCS8qIEVycm9yIHJlcG9y dGluZyBzdGF0ZSAqLwogCWNoYXIJICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxuYW1lc3Bh Y2U7CisJT2lkCQkJcmVsb2lkOwogCWNoYXIJICAgKnJlbG5hbWU7CiAJY2hhcgkgICAqaW5k bmFtZTsJCS8qIEN1cnJlbnQgaW5kZXggbmFtZSAqLwogCUJsb2NrTnVtYmVyIGJsa25vOwkJ CS8qIHVzZWQgb25seSBmb3IgaGVhcCBvcGVyYXRpb25zICovCkBAIC0xOTQsNiArMTk1LDgg QEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCUJsb2NrTnVtYmVyIGxwZGVhZF9pdGVt X3BhZ2VzOwkvKiAjIHBhZ2VzIHdpdGggTFBfREVBRCBpdGVtcyAqLwogCUJsb2NrTnVtYmVy IG1pc3NlZF9kZWFkX3BhZ2VzOwkvKiAjIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVz ICovCiAJQmxvY2tOdW1iZXIgbm9uZW1wdHlfcGFnZXM7IC8qIGFjdHVhbGx5LCBsYXN0IG5v bmVtcHR5IHBhZ2UgKyAxICovCisJQmxvY2tOdW1iZXIgc2V0X2Zyb3plbl9wYWdlczsgLyog cGFnZXMgYXJlIG1hcmtlZCBhcyBmcm96ZW4gaW4gdm0gZHVyaW5nIHZhY3V1bSAqLworCUJs b2NrTnVtYmVyIHNldF9hbGxfdmlzaWJsZV9wYWdlczsJLyogcGFnZXMgYXJlIG1hcmtlZCBh cyBhbGwtdmlzaWJsZSBpbiB2bSBkdXJpbmcgdmFjdXVtICovCiAKIAkvKiBTdGF0aXN0aWNz IG91dHB1dCBieSB1cywgZm9yIHRhYmxlICovCiAJZG91YmxlCQluZXdfcmVsX3R1cGxlczsg LyogbmV3IGVzdGltYXRlZCB0b3RhbCAjIG9mIHR1cGxlcyAqLwpAQCAtMjI2LDYgKzIyOSwy MiBAQCB0eXBlZGVmIHN0cnVjdCBMVlNhdmVkRXJySW5mbwogCVZhY0VyclBoYXNlIHBoYXNl OwogfSBMVlNhdmVkRXJySW5mbzsKIAorLyoKKyAqIEN1dC1vZmYgdmFsdWVzIG9mIHBhcmFt ZXRlcnMgd2hpY2ggY2hhbmdlcyBpbXBsaWNpdGx5IGR1cmluZyBhIHZhY3V1bQorICogcHJv Y2Vzcy4KKyAqIFZhY3V1bSBjYW4ndCBjb250cm9sIHRoZWlyIHZhbHVlcywgc28gd2Ugc2hv dWxkIHN0b3JlIHRoZW0gYmVmb3JlIGFuZCBhZnRlcgorICogdGhlIHByb2Nlc3NpbmcuCisg Ki8KK3R5cGVkZWYgc3RydWN0IExWRXh0U3RhdENvdW50ZXJzCit7CisJVGltZXN0YW1wVHog dGltZTsKKwlQR1JVc2FnZQlydTsKKwlXYWxVc2FnZQl3YWx1c2FnZTsKKwlCdWZmZXJVc2Fn ZSBidWZ1c2FnZTsKKwlkb3VibGUJCVZhY3V1bURlbGF5VGltZTsKKwlQZ1N0YXRfQ291bnRl ciBibG9ja3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0OworfSBMVkV4 dFN0YXRDb3VudGVyczsKIAogLyogbm9uLWV4cG9ydCBmdW5jdGlvbiBwcm90b3R5cGVzICov CiBzdGF0aWMgdm9pZCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwpOwpAQCAt Mjc5LDYgKzI5OCwxMTUgQEAgc3RhdGljIHZvaWQgdXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZv KExWUmVsU3RhdGUgKnZhY3JlbCwKIHN0YXRpYyB2b2lkIHJlc3RvcmVfdmFjdXVtX2Vycm9y X2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogCQkJCQkJCQkJICBjb25zdCBMVlNhdmVkRXJy SW5mbyAqc2F2ZWRfdmFjcmVsKTsKIAorLyogLS0tLS0tLS0tLQorICogZXh0dmFjX3N0YXRz X3N0YXJ0KCkgLQorICoKKyAqIFNhdmUgY3V0LW9mZiB2YWx1ZXMgb2YgZXh0ZW5kZWQgdmFj dXVtIGNvdW50ZXJzIGJlZm9yZSBzdGFydCBvZiBhIHJlbGF0aW9uCisgKiBwcm9jZXNzaW5n LgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZAorZXh0dmFjX3N0YXRzX3N0YXJ0 KFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNvdW50ZXJzKQoreworCVRpbWVz dGFtcFR6CXN0YXJ0dGltZTsKKwlQR1JVc2FnZQlydTA7CisKKwltZW1zZXQoY291bnRlcnMs IDAsIHNpemVvZihMVkV4dFN0YXRDb3VudGVycykpOworCisJcGdfcnVzYWdlX2luaXQoJnJ1 MCk7CisJc3RhcnR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOworCisJY291bnRlcnMt PnJ1ID0gcnUwOworCWNvdW50ZXJzLT50aW1lID0gc3RhcnR0aW1lOworCWNvdW50ZXJzLT53 YWx1c2FnZSA9IHBnV2FsVXNhZ2U7CisJY291bnRlcnMtPmJ1ZnVzYWdlID0gcGdCdWZmZXJV c2FnZTsKKwljb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lID0gVmFjdXVtRGVsYXlUaW1lOwor CWNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZCA9IDA7CisJY291bnRlcnMtPmJsb2Nrc19oaXQg PSAwOworCisJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFwZ3N0YXRfdHJhY2tfY291bnRz KQorCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBvciBhbiB1c2VyIGRvZXNu J3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5IC0ganVzdCBzdXBw cmVzcyBpdC4KKwkJICovCisJCXJldHVybjsKKworCWNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hl ZCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hlZDsKKwljb3VudGVy cy0+YmxvY2tzX2hpdCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0Owor fQorCisvKiAtLS0tLS0tLS0tCisgKiBleHR2YWNfc3RhdHNfZW5kKCkgLQorICoKKyAqCUNh bGxlZCB0byBmaW5pc2ggYW4gZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpYyBnYXRoZXJpbmcg YW5kIGZvcm0gYSByZXBvcnQuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkCitl eHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNvdW50 ZXJzLAorCQkJCSAgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJV2FsVXNhZ2UJd2FsdXNh Z2U7CisJQnVmZmVyVXNhZ2UJYnVmdXNhZ2U7CisJVGltZXN0YW1wVHogZW5kdGltZTsKKwls b25nCQlzZWNzOworCWludAkJCXVzZWNzOworCVBHUlVzYWdlCXJ1MTsKKworCS8qIENhbGN1 bGF0ZSBkaWZmcyBvZiBnbG9iYWwgc3RhdCBwYXJhbWV0ZXJzIG9uIFdBTCBhbmQgYnVmZmVy IHVzYWdlLiAqLworCW1lbXNldCgmd2FsdXNhZ2UsIDAsIHNpemVvZihXYWxVc2FnZSkpOwor CVdhbFVzYWdlQWNjdW1EaWZmKCZ3YWx1c2FnZSwgJnBnV2FsVXNhZ2UsICZjb3VudGVycy0+ d2FsdXNhZ2UpOworCisJbWVtc2V0KCZidWZ1c2FnZSwgMCwgc2l6ZW9mKEJ1ZmZlclVzYWdl KSk7CisJQnVmZmVyVXNhZ2VBY2N1bURpZmYoJmJ1ZnVzYWdlLCAmcGdCdWZmZXJVc2FnZSwg JmNvdW50ZXJzLT5idWZ1c2FnZSk7CisKKwllbmR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFt cCgpOworCVRpbWVzdGFtcERpZmZlcmVuY2UoY291bnRlcnMtPnRpbWUsIGVuZHRpbWUsICZz ZWNzLCAmdXNlY3MpOworCisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9y dCkpOworCisJLyoKKwkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGljcyBvbiBhIHZhY3V1 bSBwcm9jZXNzaW5nIG9wZXJhdGlvbi4KKwkgKi8KKwlyZXBvcnQtPnRvdGFsX2Jsa3NfcmVh ZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX3Jl YWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2hpdCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfaGl0 ICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfaGl0OworCXJlcG9ydC0+dG90YWxfYmxrc19kaXJ0 aWVkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hhcmVkX2Js a3NfZGlydGllZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiA9IGJ1ZnVzYWdlLnNo YXJlZF9ibGtzX3dyaXR0ZW47CisKKwlyZXBvcnQtPndhbF9yZWNvcmRzID0gd2FsdXNhZ2Uu d2FsX3JlY29yZHM7CisJcmVwb3J0LT53YWxfZnBpID0gd2FsdXNhZ2Uud2FsX2ZwaTsKKwly ZXBvcnQtPndhbF9ieXRlcyA9IHdhbHVzYWdlLndhbF9ieXRlczsKKworCXJlcG9ydC0+Ymxr X3JlYWRfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2FsX2Js a19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3JlYWRfdGltZSArPSBJTlNUUl9USU1FX0dF VF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3JlYWRfdGltZSk7CisJcmVwb3J0LT5i bGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2Fs X2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1lID0gSU5TVFJfVElN RV9HRVRfTUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa193cml0ZV90aW1lKTsKKwlyZXBv cnQtPmRlbGF5X3RpbWUgPSBWYWN1dW1EZWxheVRpbWUgLSBjb3VudGVycy0+VmFjdXVtRGVs YXlUaW1lOworCisJLyoKKwkgKiBHZXQgZGlmZmVyZW5jZSBvZiBhIHN5c3RlbSB0aW1lIGFu ZCB1c2VyIHRpbWUgdmFsdWVzIGluIG1pbGxpc2Vjb25kcy4KKwkgKiBVc2UgZmxvYXRpbmcg cG9pbnQgcmVwcmVzZW50YXRpb24gdG8gc2hvdyB0YWlscyBvZiB0aW1lIGRpZmZzLgorCSAq LworCXBnX3J1c2FnZV9pbml0KCZydTEpOworCXJlcG9ydC0+c3lzdGVtX3RpbWUgPQorCQko cnUxLnJ1LnJ1X3N0aW1lLnR2X3NlYyAtIGNvdW50ZXJzLT5ydS5ydS5ydV9zdGltZS50dl9z ZWMpICogMTAwMC4gKworCQkocnUxLnJ1LnJ1X3N0aW1lLnR2X3VzZWMgLSBjb3VudGVycy0+ cnUucnUucnVfc3RpbWUudHZfdXNlYykgKiAwLjAwMTsKKwlyZXBvcnQtPnVzZXJfdGltZSA9 CisJCShydTEucnUucnVfdXRpbWUudHZfc2VjIC0gY291bnRlcnMtPnJ1LnJ1LnJ1X3V0aW1l LnR2X3NlYykgKiAxMDAwLiArCisJCShydTEucnUucnVfdXRpbWUudHZfdXNlYyAtIGNvdW50 ZXJzLT5ydS5ydS5ydV91dGltZS50dl91c2VjKSAqIDAuMDAxOworCXJlcG9ydC0+dG90YWxf dGltZSA9IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8gMTAwMC47CisKKwlpZiAoIXJlbC0+cGdz dGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3VudHMpCisJCS8qCisJCSAqIGlmIHNvbWV0 aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0 YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKwkJcmV0 dXJuOworCisJcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQorCQlyZWwtPnBnc3RhdF9pbmZvLT5j b3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3VudGVycy0+YmxvY2tzX2ZldGNoZWQ7CisJcmVw b3J0LT5ibGtzX2hpdCA9CisJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0 IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7Cit9CiAKIC8qCiAgKgloZWFwX3ZhY3V1bV9yZWwo KSAtLSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24KQEAgLTMxMSw2ICs0 MzksOCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBh cmFtcywKIAlXYWxVc2FnZQlzdGFydHdhbHVzYWdlID0gcGdXYWxVc2FnZTsKIAlCdWZmZXJV c2FnZSBzdGFydGJ1ZmZlcnVzYWdlID0gcGdCdWZmZXJVc2FnZTsKIAlFcnJvckNvbnRleHRD YWxsYmFjayBlcnJjYWxsYmFjazsKKwlMVkV4dFN0YXRDb3VudGVycyBleHRWYWNDb3VudGVy czsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OwogCWNoYXIJICAqKmluZG5hbWVzID0g TlVMTDsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFDT1BUX1ZFUkJPU0Up ICE9IDA7CkBAIC0zMjksNyArNDU5LDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJl bCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29t bWFuZChQUk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBSZWxhdGlvbkdldFJl bGlkKHJlbCkpOwotCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmV4dFZhY0NvdW50ZXJz KTsKIAkvKgogCSAqIFNldHVwIGVycm9yIHRyYWNlYmFjayBzdXBwb3J0IGZvciBlcmVwb3J0 KCkgZmlyc3QuICBUaGUgaWRlYSBpcyB0byBzZXQKIAkgKiB1cCBhbiBlcnJvciBjb250ZXh0 IGNhbGxiYWNrIHRvIGRpc3BsYXkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBhbnkKQEAg LTM0Niw2ICs0NzYsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1Q YXJhbXMgKnBhcmFtcywKIAl2YWNyZWwtPmRibmFtZSA9IGdldF9kYXRhYmFzZV9uYW1lKE15 RGF0YWJhc2VJZCk7CiAJdmFjcmVsLT5yZWxuYW1lc3BhY2UgPSBnZXRfbmFtZXNwYWNlX25h bWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSk7CiAJdmFjcmVsLT5yZWxuYW1lID0gcHN0 cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKTsKKwl2YWNyZWwtPnJlbG9pZCA9 IFJlbGF0aW9uR2V0UmVsaWQocmVsKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBOVUxMOwogCXZh Y3JlbC0+cGhhc2UgPSBWQUNVVU1fRVJSQ0JfUEhBU0VfVU5LTk9XTjsKIAl2YWNyZWwtPnZl cmJvc2UgPSB2ZXJib3NlOwpAQCAtNDEzLDYgKzU0NCw4IEBAIGhlYXBfdmFjdXVtX3JlbChS ZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3JlbC0+bHBkZWFkX2l0 ZW1fcGFnZXMgPSAwOwogCXZhY3JlbC0+bWlzc2VkX2RlYWRfcGFnZXMgPSAwOwogCXZhY3Jl bC0+bm9uZW1wdHlfcGFnZXMgPSAwOworCXZhY3JlbC0+c2V0X2Zyb3plbl9wYWdlcyA9IDA7 CisJdmFjcmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXMgPSAwOwogCS8qIGRlYWRfaXRlbXNf YWxsb2MgYWxsb2NhdGVzIHZhY3JlbC0+ZGVhZF9pdGVtcyBsYXRlciBvbiAqLwogCiAJLyog QWxsb2NhdGUvaW5pdGlhbGl6ZSBvdXRwdXQgc3RhdGlzdGljcyBzdGF0ZSAqLwpAQCAtNTc0 LDYgKzcwNywxOSBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJh bXMgKnBhcmFtcywKIAkJCQkJCXZhY3JlbC0+TmV3UmVsZnJvemVuWGlkLCB2YWNyZWwtPk5l d1JlbG1pbk14aWQsCiAJCQkJCQkmZnJvemVueGlkX3VwZGF0ZWQsICZtaW5tdWx0aV91cGRh dGVkLCBmYWxzZSk7CiAKKwkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVtIHN0YXRz IHJlcG9ydCAqLworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRlcnMsICZl eHRWYWNSZXBvcnQpOworCisJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRz IGZpZWxkcyAqLworCWV4dFZhY1JlcG9ydC5wYWdlc19zY2FubmVkID0gdmFjcmVsLT5zY2Fu bmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1v dmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19mcm96ZW4gPSB2YWNyZWwtPnNldF9m cm96ZW5fcGFnZXM7CisJZXh0VmFjUmVwb3J0LnBhZ2VzX2FsbF92aXNpYmxlID0gdmFjcmVs LT5zZXRfYWxsX3Zpc2libGVfcGFnZXM7CisJZXh0VmFjUmVwb3J0LnR1cGxlc19kZWxldGVk ID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwlleHRWYWNSZXBvcnQudHVwbGVzX2Zyb3pl biA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwlleHRWYWNSZXBvcnQuZGVhZF90dXBsZXMg PSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsgdmFjcmVsLT5taXNzZWRfZGVhZF90 dXBsZXM7CisJZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9jb3VudCA9IHZhY3JlbC0+bnVt X2luZGV4X3NjYW5zOworCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0byB0aGUgY3VtdWxh dGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KIAkgKgpAQCAtNTg4LDcgKzczNCw4IEBAIGhlYXBf dmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCQkJCQkJ IHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKIAkJCQkJCSBNYXgodmFjcmVsLT5uZXdfbGl2 ZV90dXBsZXMsIDApLAogCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwot CQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzKTsKKwkJCQkJCSB2YWNyZWwtPm1p c3NlZF9kZWFkX3R1cGxlcywKKwkJCQkJCSAmZXh0VmFjUmVwb3J0KTsKIAlwZ3N0YXRfcHJv Z3Jlc3NfZW5kX2NvbW1hbmQoKTsKIAogCWlmIChpbnN0cnVtZW50KQpAQCAtMTM4MCw2ICsx NTI3LDggQEAgbGF6eV9zY2FuX25ld19vcl9lbXB0eShMVlJlbFN0YXRlICp2YWNyZWwsIEJ1 ZmZlciBidWYsIEJsb2NrTnVtYmVyIGJsa25vLAogCQkJCQkJCSAgdm1idWZmZXIsIEludmFs aWRUcmFuc2FjdGlvbklkLAogCQkJCQkJCSAgVklTSUJJTElUWU1BUF9BTExfVklTSUJMRSB8 IFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTik7CiAJCQlFTkRfQ1JJVF9TRUNUSU9OKCk7CisJ CQl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlcysrOworCQkJdmFjcmVsLT5zZXRfZnJv emVuX3BhZ2VzKys7CiAJCX0KIAogCQlmcmVlc3BhY2UgPSBQYWdlR2V0SGVhcEZyZWVTcGFj ZShwYWdlKTsKQEAgLTIyNzcsMTEgKzI0MjYsMTMgQEAgbGF6eV92YWN1dW1faGVhcF9wYWdl KExWUmVsU3RhdGUgKnZhY3JlbCwgQmxvY2tOdW1iZXIgYmxrbm8sIEJ1ZmZlciBidWZmZXIs CiAJCQkJCQkJCSAmYWxsX2Zyb3plbikpCiAJewogCQl1aW50OAkJZmxhZ3MgPSBWSVNJQklM SVRZTUFQX0FMTF9WSVNJQkxFOworCQl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlcysr OwogCiAJCWlmIChhbGxfZnJvemVuKQogCQl7CiAJCQlBc3NlcnQoIVRyYW5zYWN0aW9uSWRJ c1ZhbGlkKHZpc2liaWxpdHlfY3V0b2ZmX3hpZCkpOwogCQkJZmxhZ3MgfD0gVklTSUJJTElU WU1BUF9BTExfRlJPWkVOOworCQkJdmFjcmVsLT5zZXRfZnJvemVuX3BhZ2VzKys7CiAJCX0K IAogCQlQYWdlU2V0QWxsVmlzaWJsZShwYWdlKTsKQEAgLTMxMjIsNiArMzI3Myw4IEBAIHZh Y3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNoIChlcnJpbmZvLT5waGFz ZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVBUDoKKwkJCWlmKGdl dGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9y KGVycmluZm8tPnJlbG9pZCk7CiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8t PmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJpbmZvLT5v ZmZudW0pKQpAQCAtMzEzNyw2ICszMjkwLDggQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZv aWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VV TV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3Jl cG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkKTsKIAkJCWlmIChCbG9ja051bWJl cklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChPZmZzZXROdW1iZXJJ c1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92aXNpYmlsaXR5bWFwLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNp YmlsaXR5bWFwLmMKaW5kZXggOGIyNGU3YmMzM2MuLmQ3MmNhZGU2MGE0IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKKysrIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jCkBAIC05MSw2ICs5MSw3IEBACiAj aW5jbHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKICNpbmNsdWRlICJhY2Nlc3MveGxvZ3V0 aWxzLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAj aW5jbHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdy LmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zbWdyLmgiCkBAIC0xNjAsNiArMTYxLDE4IEBAIHZp c2liaWxpdHltYXBfY2xlYXIoUmVsYXRpb24gcmVsLCBCbG9ja051bWJlciBoZWFwQmxrLCBC dWZmZXIgdm1idWYsIHVpbnQ4IGZsYWdzCiAKIAlpZiAobWFwW21hcEJ5dGVdICYgbWFzaykK IAl7CisJCS8qCisJCSAqIEluaXRpYWxseSwgaXQgZGlkbid0IG1hdHRlciB3aGF0IHR5cGUg b2YgZmxhZ3MgKGFsbC12aXNpYmxlIG9yIGZyb3plbikgd2UgcmVjZWl2ZWQsCisJCSAqIHdl IGp1c3QgcGVyZm9ybWVkIGEgcmV2ZXJzZSBjb25jYXRlbmF0aW9uIG9wZXJhdGlvbi4gQnV0 IHRoaXMgaW5mb3JtYXRpb24gaXMgdmVyeSBpbXBvcnRhbnQKKwkJICogZm9yIHZhY3V1bSBz dGF0aXN0aWNzLiBXZSBuZWVkIHRvIGZpbmQgb3V0IHRoaXMgdXNpbmd0aGUgYml0IGNvbmNh dGVuYXRpb24gb3BlcmF0aW9uCisJCSAqIHdpdGggdGhlIFZJU0lCSUxJVFlNQVBfQUxMX1ZJ U0lCTEUgYW5kIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTiBtYXNrcywKKwkJICogYW5kIHdo ZXJlIHRoZSBkZXNpcmVkIG9uZSBtYXRjaGVzLCB3ZSBpbmNyZW1lbnQgdGhlIHZhbHVlIHRo ZXJlLgorCQkqLworCQlpZiAobWFwW21hcEJ5dGVdID4+IG1hcE9mZnNldCAmIGZsYWdzICYg VklTSUJJTElUWU1BUF9BTExfVklTSUJMRSkKKwkJCXBnc3RhdF9jb3VudF92bV9yZXZfYWxs X3Zpc2libGUocmVsKTsKKwkJaWYgKG1hcFttYXBCeXRlXSA+PiBtYXBPZmZzZXQgJiBmbGFn cyAmIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTikKKwkJCXBnc3RhdF9jb3VudF92bV9yZXZf YWxsX2Zyb3plbihyZWwpOworCiAJCW1hcFttYXBCeXRlXSAmPSB+bWFzazsKIAogCQlNYXJr QnVmZmVyRGlydHkodm1idWYpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3Fs CmluZGV4IDM0NTZiODIxYmM1Li40ZmE5ODg2ZjQwOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbApAQCAtMTM3OSwzICsxMzc5LDUzIEBAIENSRUFURSBWSUVXIHBn X3N0YXRfc3Vic2NyaXB0aW9uX3N0YXRzIEFTCiAKIENSRUFURSBWSUVXIHBnX3dhaXRfZXZl bnRzIEFTCiAgICAgU0VMRUNUICogRlJPTSBwZ19nZXRfd2FpdF9ldmVudHMoKTsKKy0tCist LSBTaG93IGV4dGVuZGVkIGN1bXVsYXRpdmUgc3RhdGlzdGljcyBvbiBhIHZhY3V1bSBvcGVy YXRpb24gb3ZlciBhbGwgdGFibGVzIGFuZAorLS0gZGF0YWJhc2VzIG9mIHRoZSBpbnN0YW5j ZS4KKy0tIFVzZSBJbnZhbGlkIE9pZCAiMCIgYXMgYW4gaW5wdXQgcmVsYXRpb24gaWQgdG8g Z2V0IHN0YXQgb24gZWFjaCB0YWJsZSBpbiBhCistLSBkYXRhYmFzZS4KKy0tCisKK0NSRUFU RSBWSUVXIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBBUworU0VMRUNUCisgIHJlbC5vaWQgYXMg cmVsaWQsCisgIG5zLm5zcG5hbWUgQVMgInNjaGVtYSIsCisgIHJlbC5yZWxuYW1lIEFTIHJl bG5hbWUsCisKKyAgQ09BTEVTQ0Uoc3RhdHMudG90YWxfYmxrc19yZWFkLCAwKSBBUyB0b3Rh bF9ibGtzX3JlYWQsCisgIENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3NfaGl0LCAwKSBBUyB0 b3RhbF9ibGtzX2hpdCwKKyAgQ09BTEVTQ0Uoc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLCAw KSBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgIENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3Nf d3JpdHRlbiwgMCkgQVMgdG90YWxfYmxrc193cml0dGVuLAorCisgIENPQUxFU0NFKHN0YXRz LnJlbF9ibGtzX3JlYWQsIDApIEFTIHJlbF9ibGtzX3JlYWQsCisgIENPQUxFU0NFKHN0YXRz LnJlbF9ibGtzX2hpdCwgMCkgQVMgcmVsX2Jsa3NfaGl0LAorCisgIENPQUxFU0NFKHN0YXRz LnBhZ2VzX3NjYW5uZWQsIDApIEFTIHBhZ2VzX3NjYW5uZWQsCisgIENPQUxFU0NFKHN0YXRz LnBhZ2VzX3JlbW92ZWQsIDApIEFTIHBhZ2VzX3JlbW92ZWQsCisgIENPQUxFU0NFKHN0YXRz LnBhZ2VzX2Zyb3plbiwgMCkgQVMgcGFnZXNfZnJvemVuLAorICBDT0FMRVNDRShzdGF0cy5w YWdlc19hbGxfdmlzaWJsZSwgMCkgQVMgcGFnZXNfYWxsX3Zpc2libGUsCisgIENPQUxFU0NF KHN0YXRzLnR1cGxlc19kZWxldGVkLCAwKSBBUyB0dXBsZXNfZGVsZXRlZCwKKyAgQ09BTEVT Q0Uoc3RhdHMudHVwbGVzX2Zyb3plbiwgMCkgQVMgdHVwbGVzX2Zyb3plbiwKKyAgQ09BTEVT Q0Uoc3RhdHMuZGVhZF90dXBsZXMsIDApIEFTIGRlYWRfdHVwbGVzLAorCisgIENPQUxFU0NF KHN0YXRzLmluZGV4X3ZhY3V1bV9jb3VudCwgMCkgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAor ICBDT0FMRVNDRShzdGF0cy5yZXZfYWxsX2Zyb3plbl9wYWdlcywgMCkgQVMgcmV2X2FsbF9m cm96ZW5fcGFnZXMsCisgIENPQUxFU0NFKHN0YXRzLnJldl9hbGxfdmlzaWJsZV9wYWdlcywg MCkgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzLAorCisgIENPQUxFU0NFKHN0YXRzLndhbF9y ZWNvcmRzLCAwKSBBUyB3YWxfcmVjb3JkcywKKyAgQ09BTEVTQ0Uoc3RhdHMud2FsX2ZwaSwg MCkgQVMgd2FsX2ZwaSwKKyAgQ09BTEVTQ0Uoc3RhdHMud2FsX2J5dGVzLCAwKSBBUyB3YWxf Ynl0ZXMsCisKKyAgQ09BTEVTQ0Uoc3RhdHMuYmxrX3JlYWRfdGltZSwgMCkgQVMgYmxrX3Jl YWRfdGltZSwKKyAgQ09BTEVTQ0Uoc3RhdHMuYmxrX3dyaXRlX3RpbWUsIDApIEFTIGJsa193 cml0ZV90aW1lLAorCisgIENPQUxFU0NFKHN0YXRzLmRlbGF5X3RpbWUsIDApIEFTIGRlbGF5 X3RpbWUsCisgIENPQUxFU0NFKHN0YXRzLnN5c3RlbV90aW1lLCAwKSBBUyBzeXN0ZW1fdGlt ZSwKKyAgQ09BTEVTQ0Uoc3RhdHMudXNlcl90aW1lLCAwKSBBUyB1c2VyX3RpbWUsCisgIENP QUxFU0NFKHN0YXRzLnRvdGFsX3RpbWUsIDApIEFTIHRvdGFsX3RpbWUsCisgIENPQUxFU0NF KHN0YXRzLmludGVycnVwdHMsIDApIEFTIGludGVycnVwdHMKKworRlJPTSBwZ19jbGFzcyBy ZWwKKyAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFj ZQorICBMRUZUIEpPSU4gcGdfc3RhdF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzIE9O IHRydWUKK1dIRVJFIHJlbC5yZWxraW5kID0gJ3InOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvdmFjdXVtLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwpp bmRleCBhYzhmNWQ5YzI1OS4uMzY5NDE5OTJiMDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5j CkBAIC0xMDMsNiArMTAzLDkgQEAgcGdfYXRvbWljX3VpbnQzMiAqVmFjdXVtU2hhcmVkQ29z dEJhbGFuY2UgPSBOVUxMOwogcGdfYXRvbWljX3VpbnQzMiAqVmFjdXVtQWN0aXZlTldvcmtl cnMgPSBOVUxMOwogaW50CQkJVmFjdXVtQ29zdEJhbGFuY2VMb2NhbCA9IDA7CiAKKy8qIEN1 bXVsYXRpdmUgc3RvcmFnZSB0byByZXBvcnQgdG90YWwgdmFjdXVtIGRlbGF5IHRpbWUuICov Citkb3VibGUgVmFjdXVtRGVsYXlUaW1lID0gMDsgLyogbXNlYy4gKi8KKwogLyogbm9uLWV4 cG9ydCBmdW5jdGlvbiBwcm90b3R5cGVzICovCiBzdGF0aWMgTGlzdCAqZXhwYW5kX3ZhY3V1 bV9yZWwoVmFjdXVtUmVsYXRpb24gKnZyZWwsCiAJCQkJCQkJICAgTWVtb3J5Q29udGV4dCB2 YWNfY29udGV4dCwgaW50IG9wdGlvbnMpOwpAQCAtMjQxOSw2ICsyNDIyLDcgQEAgdmFjdXVt X2RlbGF5X3BvaW50KHZvaWQpCiAJCQlleGl0KDEpOwogCiAJCVZhY3V1bUNvc3RCYWxhbmNl ID0gMDsKKwkJVmFjdXVtRGVsYXlUaW1lICs9IG1zZWM7CiAKIAkJLyoKIAkJICogQmFsYW5j ZSBhbmQgdXBkYXRlIGxpbWl0IHZhbHVlcyBmb3IgYXV0b3ZhY3V1bSB3b3JrZXJzLiBXZSBt dXN0IGRvCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxl bC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwppbmRleCA0ZmQ2 NTc0ZTEyOS4uN2Y3YzdjMTZlMjMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3ZhY3V1bXBhcmFsbGVsLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFy YWxsZWwuYwpAQCAtMTA0OCw2ICsxMDQ4LDcgQEAgcGFyYWxsZWxfdmFjdXVtX21haW4oZHNt X3NlZ21lbnQgKnNlZywgc2htX3RvYyAqdG9jKQogCS8qIFNldCBjb3N0LWJhc2VkIHZhY3V1 bSBkZWxheSAqLwogCVZhY3V1bVVwZGF0ZUNvc3RzKCk7CiAJVmFjdXVtQ29zdEJhbGFuY2Ug PSAwOworCVZhY3V1bURlbGF5VGltZSA9IDA7CiAJVmFjdXVtQ29zdEJhbGFuY2VMb2NhbCA9 IDA7CiAJVmFjdXVtU2hhcmVkQ29zdEJhbGFuY2UgPSAmKHNoYXJlZC0+Y29zdF9iYWxhbmNl KTsKIAlWYWN1dW1BY3RpdmVOV29ya2VycyA9ICYoc2hhcmVkLT5hY3RpdmVfbndvcmtlcnMp OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwppbmRleCBkMTc2OGE4OWY2ZS4u YzI4M2U0NDJmNmYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0x OTAsNyArMTkwLDcgQEAgc3RhdGljIHZvaWQgcGdzdGF0X3Jlc2V0X2FmdGVyX2ZhaWx1cmUo dm9pZCk7CiBzdGF0aWMgYm9vbCBwZ3N0YXRfZmx1c2hfcGVuZGluZ19lbnRyaWVzKGJvb2wg bm93YWl0KTsKIAogc3RhdGljIHZvaWQgcGdzdGF0X3ByZXBfc25hcHNob3Qodm9pZCk7Ci1z dGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRfc25hcHNob3Qodm9pZCk7CitzdGF0aWMgdm9pZCBw Z3N0YXRfYnVpbGRfc25hcHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQpOwogc3RhdGljIHZv aWQgcGdzdGF0X2J1aWxkX3NuYXBzaG90X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBz dGF0aWMgaW5saW5lIGJvb2wgcGdzdGF0X2lzX2tpbmRfdmFsaWQoUGdTdGF0X0tpbmQga2lu ZCk7CkBAIC0yNjAsNyArMjYwLDYgQEAgc3RhdGljIGJvb2wgcGdzdGF0X2lzX2luaXRpYWxp emVkID0gZmFsc2U7CiBzdGF0aWMgYm9vbCBwZ3N0YXRfaXNfc2h1dGRvd24gPSBmYWxzZTsK ICNlbmRpZgogCi0KIC8qCiAgKiBUaGUgZGlmZmVyZW50IGtpbmRzIG9mIGJ1aWx0LWluIHN0 YXRpc3RpY3MuCiAgKgpAQCAtODc5LDcgKzg3OCw2IEBAIHBnc3RhdF9yZXNldF9vZl9raW5k KFBnU3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9yZXNldF9lbnRyaWVzX29mX2tpbmQoa2lu ZCwgdHMpOwogfQogCi0KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogRmV0Y2hpbmcgb2Ygc3RhdHMKICAqIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQpAQCAtOTQ1LDcgKzk0Myw3IEBAIHBnc3RhdF9mZXRjaF9lbnRyeShQZ1N0YXRfS2lu ZCBraW5kLCBPaWQgZGJvaWQsIHVpbnQ2NCBvYmppZCkKIAogCS8qIGlmIHdlIG5lZWQgdG8g YnVpbGQgYSBmdWxsIHNuYXBzaG90LCBkbyBzbyAqLwogCWlmIChwZ3N0YXRfZmV0Y2hfY29u c2lzdGVuY3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBTSE9UKQotCQlwZ3N0 YXRfYnVpbGRfc25hcHNob3QoKTsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9L SU5EX0lOVkFMSUQpOwogCiAJLyogaWYgY2FjaGluZyBpcyBkZXNpcmVkLCBsb29rIHVwIGlu IGNhY2hlICovCiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA+IFBHU1RBVF9GRVRD SF9DT05TSVNURU5DWV9OT05FKQpAQCAtMTA2MSw3ICsxMDU5LDcgQEAgcGdzdGF0X3NuYXBz aG90X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9jbGVhcl9zbmFwc2hvdCgp OwogCiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9PSBQR1NUQVRfRkVUQ0hfQ09O U0lTVEVOQ1lfU05BUFNIT1QpCi0JCXBnc3RhdF9idWlsZF9zbmFwc2hvdCgpOworCQlwZ3N0 YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRfSU5WQUxJRCk7CiAJZWxzZQogCQlwZ3N0 YXRfYnVpbGRfc25hcHNob3RfZml4ZWQoa2luZCk7CiAKQEAgLTExMTEsOCArMTEwOSwzMCBA QCBwZ3N0YXRfcHJlcF9zbmFwc2hvdCh2b2lkKQogCQkJCQkJCSAgIE5VTEwpOwogfQogCisK Ky8qCisgKiBUcml2aWFsIGV4dGVybmFsIGludGVyZmFjZSB0byBidWlsZCBhIHNuYXBzaG90 IGZvciB0YWJsZSBzdGF0aXN0aWNzIG9ubHkuCisgKi8KK3ZvaWQKK3Bnc3RhdF91cGRhdGVf c25hcHNob3QoUGdTdGF0X0tpbmQga2luZCkKK3sKKwlpbnQgc2F2ZV9jb25zaXN0ZW5jeV9n dWMgPSBwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3k7CisJcGdzdGF0X2NsZWFyX3NuYXBzaG90 KCk7CisKKwlQR19UUlkoKTsKKwl7CisJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBH U1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVDsKKwkJcGdzdGF0X2J1aWxkX3NuYXBz aG90KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKKwl9CisJUEdfRklOQUxMWSgpOworCXsKKwkJ cGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID0gc2F2ZV9jb25zaXN0ZW5jeV9ndWM7CisJfQor CVBHX0VORF9UUlkoKTsKK30KKwogc3RhdGljIHZvaWQKLXBnc3RhdF9idWlsZF9zbmFwc2hv dCh2b2lkKQorcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKQog ewogCWRzaGFzaF9zZXFfc3RhdHVzIGhzdGF0OwogCVBnU3RhdFNoYXJlZF9IYXNoRW50cnkg KnA7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVs YXRpb24uYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5j CmluZGV4IDhhM2Y3ZDQzNGNmLi43OTFkNzc3ZmJjNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTQ4LDYgKzQ4LDggQEAgc3Rh dGljIHZvaWQgYWRkX3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBn c3RhdF9pbmZvLCBpbnQgbmVzdF9sZXYKIHN0YXRpYyB2b2lkIGVuc3VyZV90YWJzdGF0X3hh Y3RfbGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbyk7CiBzdGF0aWMgdm9p ZCBzYXZlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFu cywgYm9vbCBpc19kcm9wKTsKIHN0YXRpYyB2b2lkIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50 ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zKTsKK3N0YXRpYyB2b2lkIHBnc3Rh dF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVw b3J0ICpzcmMsCisJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNf aW5mbyk7CiAKIAogLyoKQEAgLTIwNCwxMiArMjA2LDQwIEBAIHBnc3RhdF9kcm9wX3JlbGF0 aW9uKFJlbGF0aW9uIHJlbCkKIAl9CiB9CiAKKy8qIC0tLS0tLS0tLQorICogcGdzdGF0X3Jl cG9ydF92YWN1dW1fZXJyb3IoKSAtCisgKgorICoJVGVsbCB0aGUgY29sbGVjdG9yIGFib3V0 IGFuIChhdXRvKXZhY3V1bSBpbnRlcnJ1cHRpb24uCisgKiAtLS0tLS0tLS0KKyAqLwordm9p ZAorcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKQoreworCVBnU3Rh dF9FbnRyeVJlZiAqZW50cnlfcmVmOworCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJl bnRyeTsKKwlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKKwlPaWQJCQlkYm9pZCA9 ICBNeURhdGFiYXNlSWQ7CisKKwlpZiAoIXBnc3RhdF90cmFja19jb3VudHMpCisJCXJldHVy bjsKKworCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tlZChQR1NUQVRf S0lORF9SRUxBVElPTiwKKwkJCQkJCQkJCQkJZGJvaWQsIHRhYmxlb2lkLCBmYWxzZSk7CisK KwlzaHRhYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqKSBlbnRyeV9yZWYtPnNo YXJlZF9zdGF0czsKKwl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5zdGF0czsKKworCXRhYmVu dHJ5LT52YWN1dW1fZXh0LmludGVycnVwdHMrKzsKKwlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVu dHJ5X3JlZik7Cit9CisKIC8qCiAgKiBSZXBvcnQgdGhhdCB0aGUgdGFibGUgd2FzIGp1c3Qg dmFjdXVtZWQgYW5kIGZsdXNoIElPIHN0YXRpc3RpY3MuCiAgKi8KIHZvaWQKIHBnc3RhdF9y ZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCi0JCQkJCSBQZ1N0YXRf Q291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVwbGVzKQorCQkJCQkg UGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywK KwkJCQkJIEV4dFZhY1JlcG9ydCAqcGFyYW1zKQogewogCVBnU3RhdF9FbnRyeVJlZiAqZW50 cnlfcmVmOwogCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKQEAgLTIzMyw2 ICsyNjMsOCBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hh cmVkLAogCXRhYmVudHJ5LT5saXZlX3R1cGxlcyA9IGxpdmV0dXBsZXM7CiAJdGFiZW50cnkt PmRlYWRfdHVwbGVzID0gZGVhZHR1cGxlczsKIAorCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZh Y19zdGF0cygmdGFiZW50cnktPnZhY3V1bV9leHQsIHBhcmFtcywgdHJ1ZSk7CisKIAkvKgog CSAqIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0g ZW5kZWQgdXAgc2tpcHBpbmcKIAkgKiB2YXJpb3VzIHBhZ2VzLCBob3dldmVyLCB3ZSdsbCB6 ZXJvIHRoZSBpbnNlcnQgY291bnRlciBoZXJlIHJlZ2FyZGxlc3MuCkBAIC04NjEsNiArODkz LDkgQEAgcGdzdGF0X3JlbGF0aW9uX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlf cmVmLCBib29sIG5vd2FpdCkKIAl0YWJlbnRyeS0+YmxvY2tzX2ZldGNoZWQgKz0gbHN0YXRz LT5jb3VudHMuYmxvY2tzX2ZldGNoZWQ7CiAJdGFiZW50cnktPmJsb2Nrc19oaXQgKz0gbHN0 YXRzLT5jb3VudHMuYmxvY2tzX2hpdDsKIAorCXRhYmVudHJ5LT5yZXZfYWxsX2Zyb3plbl9w YWdlcyArPSBsc3RhdHMtPmNvdW50cy5yZXZfYWxsX2Zyb3plbl9wYWdlczsKKwl0YWJlbnRy eS0+cmV2X2FsbF92aXNpYmxlX3BhZ2VzICs9IGxzdGF0cy0+Y291bnRzLnJldl9hbGxfdmlz aWJsZV9wYWdlczsKKwogCS8qIENsYW1wIGxpdmVfdHVwbGVzIGluIGNhc2Ugb2YgbmVnYXRp dmUgZGVsdGFfbGl2ZV90dXBsZXMgKi8KIAl0YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBNYXgo dGFiZW50cnktPmxpdmVfdHVwbGVzLCAwKTsKIAkvKiBMaWtld2lzZSBmb3IgZGVhZF90dXBs ZXMgKi8KQEAgLTk4NCwzICsxMDE5LDM4IEBAIHJlc3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJz KFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zKQogCQl0cmFucy0+dHVwbGVzX2RlbGV0 ZWQgPSB0cmFucy0+ZGVsZXRlZF9wcmVfdHJ1bmNkcm9wOwogCX0KIH0KKworc3RhdGljIHZv aWQKK3Bnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwg RXh0VmFjUmVwb3J0ICpzcmMsCisJCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVf c3BlY2lmaWNfaW5mbykKK3sKKwlkc3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFs X2Jsa3NfcmVhZDsKKwlkc3QtPnRvdGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19o aXQ7CisJZHN0LT50b3RhbF9ibGtzX2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRp ZWQ7CisJZHN0LT50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gc3JjLT50b3RhbF9ibGtzX3dyaXR0 ZW47CisJZHN0LT53YWxfYnl0ZXMgKz0gc3JjLT53YWxfYnl0ZXM7CisJZHN0LT53YWxfZnBp ICs9IHNyYy0+d2FsX2ZwaTsKKwlkc3QtPndhbF9yZWNvcmRzICs9IHNyYy0+d2FsX3JlY29y ZHM7CisJZHN0LT5ibGtfcmVhZF90aW1lICs9IHNyYy0+YmxrX3JlYWRfdGltZTsKKwlkc3Qt PmJsa193cml0ZV90aW1lICs9IHNyYy0+YmxrX3dyaXRlX3RpbWU7CisJZHN0LT5kZWxheV90 aW1lICs9IHNyYy0+ZGVsYXlfdGltZTsKKwlkc3QtPnN5c3RlbV90aW1lICs9IHNyYy0+c3lz dGVtX3RpbWU7CisJZHN0LT51c2VyX3RpbWUgKz0gc3JjLT51c2VyX3RpbWU7CisJZHN0LT50 b3RhbF90aW1lICs9IHNyYy0+dG90YWxfdGltZTsKKwlkc3QtPmludGVycnVwdHMgKz0gc3Jj LT5pbnRlcnJ1cHRzOworCisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5m bykKKwkJcmV0dXJuOworCisJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNo ZWQ7CisJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OworCisJZHN0LT5wYWdlc19z Y2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBhZ2VzX3JlbW92ZWQgKz0g c3JjLT5wYWdlc19yZW1vdmVkOworCWRzdC0+cGFnZXNfZnJvemVuICs9IHNyYy0+cGFnZXNf ZnJvemVuOworCWRzdC0+cGFnZXNfYWxsX3Zpc2libGUgKz0gc3JjLT5wYWdlc19hbGxfdmlz aWJsZTsKKwlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7CisJ ZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3plbjsKKwlkc3QtPmRlYWRf dHVwbGVzICs9IHNyYy0+ZGVhZF90dXBsZXM7CisJZHN0LT5pbmRleF92YWN1dW1fY291bnQg Kz0gc3JjLT5pbmRleF92YWN1dW1fY291bnQ7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBmN2I1MGUwYjVh Zi4uZWJhMTc4M2U1MWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0 YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBA IC0zMSw2ICszMSw0MiBAQAogI2luY2x1ZGUgInV0aWxzL2FjbC5oIgogI2luY2x1ZGUgInV0 aWxzL2J1aWx0aW5zLmgiCiAjaW5jbHVkZSAidXRpbHMvdGltZXN0YW1wLmgiCisjaW5jbHVk ZSAidXRpbHMvcGdzdGF0X2ludGVybmFsLmgiCisKKy8qIGhhc2ggdGFibGUgZm9yIHN0YXRp c3RpY3Mgc25hcHNob3RzIGVudHJ5ICovCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU25hcHNo b3RFbnRyeQoreworCVBnU3RhdF9IYXNoS2V5IGtleTsKKwljaGFyCQlzdGF0dXM7CQkJLyog Zm9yIHNpbXBsZWhhc2ggdXNlICovCisJdm9pZAkgICAqZGF0YTsJCQkvKiB0aGUgc3RhdHMg ZGF0YSBpdHNlbGYgKi8KK30gUGdTdGF0X1NuYXBzaG90RW50cnk7CisKKy8qIC0tLS0tLS0t LS0KKyAqIEJhY2tlbmQtbG9jYWwgSGFzaCBUYWJsZSBEZWZpbml0aW9ucworICogLS0tLS0t LS0tLQorICovCisKKy8qIGZvciBzdGF0cyBzbmFwc2hvdCBlbnRyaWVzICovCisjZGVmaW5l IFNIX1BSRUZJWCBwZ3N0YXRfc25hcHNob3QKKyNkZWZpbmUgU0hfRUxFTUVOVF9UWVBFIFBn U3RhdF9TbmFwc2hvdEVudHJ5CisjZGVmaW5lIFNIX0tFWV9UWVBFIFBnU3RhdF9IYXNoS2V5 CisjZGVmaW5lIFNIX0tFWSBrZXkKKyNkZWZpbmUgU0hfSEFTSF9LRVkodGIsIGtleSkgXAor CXBnc3RhdF9oYXNoX2hhc2hfa2V5KCZrZXksIHNpemVvZihQZ1N0YXRfSGFzaEtleSksIE5V TEwpCisjZGVmaW5lIFNIX0VRVUFMKHRiLCBhLCBiKSBcCisJcGdzdGF0X2NtcF9oYXNoX2tl eSgmYSwgJmIsIHNpemVvZihQZ1N0YXRfSGFzaEtleSksIE5VTEwpID09IDAKKyNkZWZpbmUg U0hfU0NPUEUgc3RhdGljIGlubGluZQorI2RlZmluZSBTSF9ERUZJTkUKKyNkZWZpbmUgU0hf REVDTEFSRQorI2luY2x1ZGUgImxpYi9zaW1wbGVoYXNoLmgiCisKK3R5cGVkZWYgcGdzdGF0 X3NuYXBzaG90X2l0ZXJhdG9yIFNuYXBzaG90SXRlcmF0b3I7CisKKyNkZWZpbmUgSW5pdFNu YXBzaG90SXRlcmF0b3IoaHRhYmxlLCBpdGVyKSBcCisJcGdzdGF0X3NuYXBzaG90X3N0YXJ0 X2l0ZXJhdGUoaHRhYmxlLCBpdGVyKTsKKyNkZWZpbmUgU2NhblN0YXRTbmFwc2hvdChodGFi bGUsIGl0ZXIpIFwKKwlwZ3N0YXRfc25hcHNob3RfaXRlcmF0ZShodGFibGUsIGl0ZXIpCisK IAogI2RlZmluZSBVSU5UMzJfQUNDRVNTX09OQ0UodmFyKQkJICgodWludDMyKSgqKCh2b2xh dGlsZSB1aW50MzIgKikmKHZhcikpKSkKIApAQCAtMjA2MywzICsyMDk5LDEyMyBAQCBwZ19z dGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykKIAogCVBHX1JFVFVSTl9CT09MKHBn c3RhdF9oYXZlX2VudHJ5KGtpbmQsIGRib2lkLCBvYmppZCkpOwogfQorCisjZGVmaW5lIEVY VFZBQ0hFQVBTVEFUX0NPTFVNTlMJMjcKKworc3RhdGljIHZvaWQKK3R1cGxlc3RvcmVfcHV0 X2Zvcl9yZWxhdGlvbihPaWQgcmVsaWQsIFJldHVyblNldEluZm8gKnJzaW5mbywKKwkJCQkJ CQlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeSkKK3sKKwlEYXR1bQkJdmFsdWVzW0VY VFZBQ0hFQVBTVEFUX0NPTFVNTlNdOworCWJvb2wJCW51bGxzW0VYVFZBQ0hFQVBTVEFUX0NP TFVNTlNdOworCWNoYXIJCWJ1ZlsyNTZdOworCWludAkJCWkgPSAwOworCisJbWVtc2V0KG51 bGxzLCAwLCBFWFRWQUNIRUFQU1RBVF9DT0xVTU5TICogc2l6ZW9mKGJvb2wpKTsKKworCXZh bHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1bShyZWxpZCk7CisKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQudG90YWxfYmxrc19yZWFkKTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQudG90 YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+ dmFjdXVtX2V4dC50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC50b3RhbF9ibGtzX3dyaXR0ZW4pOworCisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmJsa3Nf ZmV0Y2hlZCAtCisJCQkJCQkJCQl0YWJlbnRyeS0+dmFjdXVtX2V4dC5ibGtzX2hpdCk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmJsa3Nf aGl0KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVt X2V4dC5wYWdlc19zY2FubmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFi ZW50cnktPnZhY3V1bV9leHQucGFnZXNfcmVtb3ZlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnBhZ2VzX2Zyb3plbik7CisJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnBhZ2VzX2FsbF92 aXNpYmxlKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1 bV9leHQudHVwbGVzX2RlbGV0ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0 YWJlbnRyeS0+dmFjdXVtX2V4dC50dXBsZXNfZnJvemVuKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuZGVhZF90dXBsZXMpOworCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5pbmRleF92YWN1 dW1fY291bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+cmV2 X2FsbF9mcm96ZW5fcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJl bnRyeS0+cmV2X2FsbF92aXNpYmxlX3BhZ2VzKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LndhbF9mcGkpOworCisJ LyogQ29udmVydCB0byBudW1lcmljLCBsaWtlIHBnX3N0YXRfc3RhdGVtZW50cyAqLworCXNu cHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgdGFiZW50cnktPnZhY3V1 bV9leHQud2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDMo bnVtZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1ZiksCisJCQkJCQkJ CQkgIE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkgIEludDMyR2V0RGF0dW0oLTEp KTsKKworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9l eHQuYmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bSh0YWJl bnRyeS0+dmFjdXVtX2V4dC5ibGtfd3JpdGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9h dDhHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5kZWxheV90aW1lKTsKKwl2YWx1ZXNb aSsrXSA9IEZsb2F0OEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnN5c3RlbV90aW1l KTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0 LnVzZXJfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bSh0YWJlbnRyeS0+ dmFjdXVtX2V4dC50b3RhbF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0o dGFiZW50cnktPnZhY3V1bV9leHQuaW50ZXJydXB0cyk7CisKKwlBc3NlcnQoaSA9PSByc2lu Zm8tPnNldERlc2MtPm5hdHRzKTsKKwl0dXBsZXN0b3JlX3B1dHZhbHVlcyhyc2luZm8tPnNl dFJlc3VsdCwgcnNpbmZvLT5zZXREZXNjLCB2YWx1ZXMsIG51bGxzKTsKK30KKworLyoKKyAq IEdldCB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcyBvciBpbmRl eGVzLgorICovCitzdGF0aWMgdm9pZAorcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbElu Zm8gZmNpbmZvLCBpbnQgbmNvbHVtbnMpCit7CisJUmV0dXJuU2V0SW5mbwkJICAgKnJzaW5m byA9IChSZXR1cm5TZXRJbmZvICopIGZjaW5mby0+cmVzdWx0aW5mbzsKKwlPaWQJCQkJCQly ZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJUGdTdGF0X1N0YXRUYWJFbnRyeSAgICAqdGFi ZW50cnk7CisKKwlJbml0TWF0ZXJpYWxpemVkU1JGKGZjaW5mbywgMCk7CisKKwkvKiBDaGVj ayBpZiBjYWxsZXIgc3VwcG9ydHMgdXMgcmV0dXJuaW5nIGEgdHVwbGVzdG9yZSAqLworCWlm IChyc2luZm8gPT0gTlVMTCB8fCAhSXNBKHJzaW5mbywgUmV0dXJuU2V0SW5mbykpCisJCWVy ZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JU RUQpLAorCQkJCSBlcnJtc2coInNldC12YWx1ZWQgZnVuY3Rpb24gY2FsbGVkIGluIGNvbnRl eHQgdGhhdCBjYW5ub3QgYWNjZXB0IGEgc2V0IikpKTsKKwlBc3NlcnQocnNpbmZvLT5zZXRE ZXNjLT5uYXR0cyA9PSBuY29sdW1ucyk7CisJQXNzZXJ0KHJzaW5mby0+c2V0UmVzdWx0ICE9 IE5VTEwpOworCisJLyogTG9hZCB0YWJsZSBzdGF0aXN0aWNzIGZvciBzcGVjaWZpZWQgZGF0 YWJhc2UuICovCisJaWYgKE9pZElzVmFsaWQocmVsaWQpKQorCXsKKwkJdGFiZW50cnkgPSBw Z3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCk7CisJCWlmICh0YWJlbnRyeSA9PSBO VUxMKQorCQkJLyogVGFibGUgZG9uJ3QgZXhpc3RzIG9yIGlzbid0IGFuIGhlYXAgcmVsYXRp b24uICovCisJCQlyZXR1cm47CisKKwkJdHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKHJl bGlkLCByc2luZm8sIHRhYmVudHJ5KTsKKwl9CisJZWxzZQorCXsKKwkJU25hcHNob3RJdGVy YXRvcgkJaGFzaGl0ZXI7CisJCVBnU3RhdF9TbmFwc2hvdEVudHJ5ICAgKmVudHJ5OworCisJ CXBnc3RhdF91cGRhdGVfc25hcHNob3QoUEdTVEFUX0tJTkRfUkVMQVRJT04pOworCisJCS8q IEl0ZXJhdGUgdGhlIHNuYXBzaG90ICovCisJCUluaXRTbmFwc2hvdEl0ZXJhdG9yKHBnU3Rh dExvY2FsLnNuYXBzaG90LnN0YXRzLCAmaGFzaGl0ZXIpOworCisJCXdoaWxlICgoZW50cnkg PSBTY2FuU3RhdFNuYXBzaG90KHBnU3RhdExvY2FsLnNuYXBzaG90LnN0YXRzLCAmaGFzaGl0 ZXIpKSAhPSBOVUxMKQorCQl7CisJCQlDSEVDS19GT1JfSU5URVJSVVBUUygpOworCisJCQl0 YWJlbnRyeSA9IChQZ1N0YXRfU3RhdFRhYkVudHJ5ICopIGVudHJ5LT5kYXRhOworCisJCQlp ZiAodGFiZW50cnkgIT0gTlVMTCkKKwkJCQl0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24o ZW50cnktPmtleS5vYmppZCwgcnNpbmZvLCB0YWJlbnRyeSk7CisJCX0KKwl9Cit9CisKKy8q CisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaGVhcCB0YWJsZXMuCisg Ki8KK0RhdHVtCitwZ19zdGF0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKK3sK KwlwZ19zdGF0c192YWN1dW0oZmNpbmZvLCBFWFRWQUNIRUFQU1RBVF9DT0xVTU5TKTsKKwor CVBHX1JFVFVSTl9WT0lEKCk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvZXJyb3IvZWxvZy5jCmluZGV4IDhhY2NhM2UwYTBiLi5mZTU1NDU0N2Y1YiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwpAQCAtMTYxOSw2ICsxNjE5LDE5IEBAIGdldGludGVy bmFsZXJycG9zaXRpb24odm9pZCkKIAlyZXR1cm4gZWRhdGEtPmludGVybmFscG9zOwogfQog CisvKgorICogUmV0dXJuIGVsZXZlbCBvZiBlcnJvcnMKKyAqLworaW50CitnZXRlcnJlbGV2 ZWwodm9pZCkKK3sKKwlFcnJvckRhdGEgICplZGF0YSA9ICZlcnJvcmRhdGFbZXJyb3JkYXRh X3N0YWNrX2RlcHRoXTsKKworCS8qIHdlIGRvbid0IGJvdGhlciBpbmNyZW1lbnRpbmcgcmVj dXJzaW9uX2RlcHRoICovCisJQ0hFQ0tfU1RBQ0tfREVQVEgoKTsKKworCXJldHVybiBlZGF0 YS0+ZWxldmVsOworfQogCiAvKgogICogRnVuY3Rpb25zIHRvIGFsbG93IGNvbnN0cnVjdGlv biBvZiBlcnJvciBtZXNzYWdlIHN0cmluZ3Mgc2VwYXJhdGVseSBmcm9tCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19wcm9jLmRhdAppbmRleCA3YzBiNzRmZTA1NS4uNzc2YTczNDQyODUgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTIzNjMsNCArMTIzNjMsMTMgQEAKICAgcHJvYXJn dHlwZXMgPT4gJ2ludDInLAogICBwcm9zcmMgPT4gJ2dpc3Rfc3RyYXRudW1faWRlbnRpdHkn IH0sCiAKK3sgb2lkID0+ICc4MDAxJywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfdmFjdXVtX3Rh YmxlcyByZXR1cm4gc3RhdHMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF92YWN1 dW1fdGFibGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3Jl dHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4g J3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tv aWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxv YXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsaW50NH0nLAorICBwcm9h cmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90 YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9i bGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfc2Nhbm5lZCxw YWdlc19yZW1vdmVkLHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSx0dXBsZXNfZGVs ZXRlZCx0dXBsZXNfZnJvemVuLGRlYWRfdHVwbGVzLGluZGV4X3ZhY3V1bV9jb3VudCxyZXZf YWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMsd2FsX3JlY29yZHMsd2Fs X2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1l LHN5c3RlbV90aW1lLHVzZXJfdGltZSx0b3RhbF90aW1lLGludGVycnVwdHN9JywKKyAgcHJv c3JjID0+ICdwZ19zdGF0X3ZhY3V1bV90YWJsZXMnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1 bS5oCmluZGV4IDc1OWY5YTg3ZDM4Li4wN2IyOGIxNWQ5ZiAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFj dXVtLmgKQEAgLTMwOCw2ICszMDgsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgaW50IHZhY3V1 bV9tdWx0aXhhY3RfZmFpbHNhZmVfYWdlOwogZXh0ZXJuIFBHRExMSU1QT1JUIHBnX2F0b21p Y191aW50MzIgKlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlOwogZXh0ZXJuIFBHRExMSU1QT1JU IHBnX2F0b21pY191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3JrZXJzOwogZXh0ZXJuIFBHRExM SU1QT1JUIGludCBWYWN1dW1Db3N0QmFsYW5jZUxvY2FsOworZXh0ZXJuIFBHRExMSU1QT1JU IGRvdWJsZSBWYWN1dW1EZWxheVRpbWU7CiAKIGV4dGVybiBQR0RMTElNUE9SVCBib29sIFZh Y3V1bUZhaWxzYWZlQWN0aXZlOwogZXh0ZXJuIFBHRExMSU1QT1JUIGRvdWJsZSB2YWN1dW1f Y29zdF9kZWxheTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2lu Y2x1ZGUvcGdzdGF0LmgKaW5kZXggZGY1M2ZhMmQ0ZjkuLmU3NjRhOGM1MzI2IDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApA QCAtMTY5LDYgKzE2OSw1MiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfQmFja2VuZFN1YkVu dHJ5CiAJUGdTdGF0X0NvdW50ZXIgY29uZmxpY3RfY291bnRbQ09ORkxJQ1RfTlVNX1RZUEVT XTsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRyeTsKIAorLyogLS0tLS0tLS0tLQorICoKKyAq IEV4dFZhY1JlcG9ydAorICoKKyAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0g cHJvY2Vzc2luZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIHBhZ2VzX3JlbW92ZWQgaXMg dGhlIGFtb3VudCBieSB3aGljaCB0aGUgcGh5c2ljYWxseSBzaHJhbmssCisgKiBpZiBhbnkg KGllIHRoZSBjaGFuZ2UgaW4gaXRzIHRvdGFsIHNpemUgb24gZGlzaykKKyAqIHBhZ2VzX2Rl bGV0ZWQgcmVmZXIgdG8gZnJlZSBzcGFjZSB3aXRoaW4gdGhlIGluZGV4IGZpbGUKKyAqIC0t LS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0Cit7CisJaW50NjQJ CXRvdGFsX2Jsa3NfcmVhZDsgCS8qIG51bWJlciBvZiBwYWdlcyB0aGF0IHdlcmUgbWlzc2Vk IGluIHNoYXJlZCBidWZmZXJzIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlv biAqLworCWludDY0CQl0b3RhbF9ibGtzX2hpdDsgCS8qIG51bWJlciBvZiBwYWdlcyB0aGF0 IHdlcmUgZm91bmQgaW4gc2hhcmVkIGJ1ZmZlcnMgZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNp ZmljIHJlbGF0aW9uICovCisJaW50NjQJCXRvdGFsX2Jsa3NfZGlydGllZDsJLyogbnVtYmVy IG9mIHBhZ2VzIG1hcmtlZCBhcyAnRGlydHknIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZp YyByZWxhdGlvbi4gKi8KKwlpbnQ2NAkJdG90YWxfYmxrc193cml0dGVuOwkvKiBudW1iZXIg b2YgcGFnZXMgd3JpdHRlbiBkdXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVsYXRpb24u ICovCisKKwlpbnQ2NAkJYmxrc19mZXRjaGVkOyAJCS8qIG51bWJlciBvZiBhIHJlbGF0aW9u IGJsb2NrcywgZmV0Y2hlZCBkdXJpbmcgdGhlIHZhY3V1bS4gKi8KKwlpbnQ2NAkJYmxrc19o aXQ7CQkvKiBudW1iZXIgb2YgYSByZWxhdGlvbiBibG9ja3MsIGZvdW5kIGluIHNoYXJlZCBi dWZmZXJzIGR1cmluZyB0aGUgdmFjdXVtLiAqLworCisJLyogVmFjdXVtIFdBTCB1c2FnZSBz dGF0cyAqLworCWludDY0CQl3YWxfcmVjb3JkczsJLyogd2FsIHVzYWdlOiBudW1iZXIgb2Yg V0FMIHJlY29yZHMgKi8KKwlpbnQ2NAkJd2FsX2ZwaTsJCS8qIHdhbCB1c2FnZTogbnVtYmVy IG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIHByb2R1Y2VkICovCisJdWludDY0CQl3YWxfYnl0 ZXM7CQkvKiB3YWwgdXNhZ2U6IHNpemUgb2YgV0FMIHJlY29yZHMgcHJvZHVjZWQgKi8KKwor CS8qIFRpbWUgc3RhdHMuICovCisJZG91YmxlCQlibGtfcmVhZF90aW1lOwkvKiB0aW1lIHNw ZW50IHJlYWRpbmcgcGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWJsa193cml0ZV90aW1l OyAvKiB0aW1lIHNwZW50IHdyaXRpbmcgcGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWRl bGF5X3RpbWU7CQkvKiBob3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBv aW50LCBpbiBtc2VjICovCisJZG91YmxlCQlzeXN0ZW1fdGltZTsJLyogYW1vdW50IG9mIHRp bWUgdGhlIENQVSB3YXMgYnVzeSBleGVjdXRpbmcgdmFjdXVtIGNvZGUgaW4ga2VybmVsIHNw YWNlLCBpbiBtc2VjICovCisJZG91YmxlCQl1c2VyX3RpbWU7CQkvKiBhbW91bnQgb2YgdGlt ZSB0aGUgQ1BVIHdhcyBidXN5IGV4ZWN1dGluZyB2YWN1dW0gY29kZSBpbiB1c2VyIHNwYWNl LCBpbiBtc2VjICovCisJZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBh IHZhY3V1bSBvcGVyYXRpb24sIGluIG1zZWMgKi8KKworCS8qIEludGVycnVwdGlvbnMgb24g YW55IGVycm9ycy4gKi8KKwlpbnQzMgkJaW50ZXJydXB0czsKKworCWludDY0CQlwYWdlc19z Y2FubmVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIHdlIGV4YW1pbmVkICovCisJaW50NjQJCXBh Z2VzX3JlbW92ZWQ7CQkvKiBudW1iZXIgb2YgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gKi8K KwlpbnQ2NAkJcGFnZXNfZnJvemVuOwkJLyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBW TSBhcyBmcm96ZW4gKi8KKwlpbnQ2NAkJcGFnZXNfYWxsX3Zpc2libGU7CS8qIG51bWJlciBv ZiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgKi8KKwlpbnQ2NAkJdHVwbGVz X2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwlpbnQ2NAkJdHVw bGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJaW50NjQJ CWRlYWRfdHVwbGVzOwkJLyogbnVtYmVyIG9mIGRlbGV0ZWQgdHVwbGVzIHdoaWNoIHZhY3V1 bSBjYW5ub3QgY2xlYW4gdXAgYnkgdmFjdXVtIG9wZXJhdGlvbiAqLworCWludDY0CQlpbmRl eF92YWN1dW1fY291bnQ7CS8qIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdzICovCit9IEV4 dFZhY1JlcG9ydDsKKwogLyogLS0tLS0tLS0tLQogICogUGdTdGF0X1RhYmxlQ291bnRzCQkJ VGhlIGFjdHVhbCBwZXItdGFibGUgY291bnRzIGtlcHQgYnkgYSBiYWNrZW5kCiAgKgpAQCAt MjA5LDYgKzI1NSwxNiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVDb3VudHMKIAog CVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwogCVBnU3RhdF9Db3VudGVyIGJsb2Nr c19oaXQ7CisKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdT dGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisKKwkvKgorCSAqIEFkZGl0aW9u YWwgY3VtdWxhdGl2ZSBzdGF0IG9uIHZhY3V1bSBvcGVyYXRpb25zLgorCSAqIFVzZSBhbiBl eHBlbnNpdmUgc3RydWN0dXJlIGFzIGFuIGFic3RyYWN0aW9uIGZvciBkaWZmZXJlbnQgdHlw ZXMgb2YKKwkgKiByZWxhdGlvbnMuCisJICovCisJRXh0VmFjUmVwb3J0CXZhY3V1bV9leHQ7 CiB9IFBnU3RhdF9UYWJsZUNvdW50czsKIAogLyogLS0tLS0tLS0tLQpAQCAtMjY3LDcgKzMy Myw3IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMKICAqIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogICovCiAKLSNkZWZpbmUgUEdTVEFUX0ZJTEVfRk9STUFUX0lECTB4MDFBNUJDQUYKKyNk ZWZpbmUgUEdTVEFUX0ZJTEVfRk9STUFUX0lECTB4MDFBNUJDQjEKIAogdHlwZWRlZiBzdHJ1 Y3QgUGdTdGF0X0FyY2hpdmVyU3RhdHMKIHsKQEAgLTM4OCw2ICs0NDQsOCBAQCB0eXBlZGVm IHN0cnVjdCBQZ1N0YXRfU3RhdERCRW50cnkKIAlQZ1N0YXRfQ291bnRlciBzZXNzaW9uc19r aWxsZWQ7CiAKIAlUaW1lc3RhbXBUeiBzdGF0X3Jlc2V0X3RpbWVzdGFtcDsKKworCUV4dFZh Y1JlcG9ydCB2YWN1dW1fZXh0OwkJLyogZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3MgKi8K IH0gUGdTdGF0X1N0YXREQkVudHJ5OwogCiB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdEZ1 bmNFbnRyeQpAQCAtNDYxLDYgKzUxOSwxMSBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3Rh dFRhYkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgYW5hbHl6ZV9jb3VudDsKIAlUaW1lc3RhbXBU eiBsYXN0X2F1dG9hbmFseXplX3RpbWU7CS8qIGF1dG92YWN1dW0gaW5pdGlhdGVkICovCiAJ UGdTdGF0X0NvdW50ZXIgYXV0b2FuYWx5emVfY291bnQ7CisKKwlQZ1N0YXRfQ291bnRlciBy ZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5f cGFnZXM7CisKKwlFeHRWYWNSZXBvcnQgdmFjdXVtX2V4dDsKIH0gUGdTdGF0X1N0YXRUYWJF bnRyeTsKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1dhbFN0YXRzCkBAIC02MjYsMTAgKzY4 OSwxMiBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfYXNzb2NfcmVsYXRpb24oUmVsYXRpb24gcmVs KTsKIGV4dGVybiB2b2lkIHBnc3RhdF91bmxpbmtfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsK IAogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29s IHNoYXJlZCwKLQkJCQkJCQkJIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9D b3VudGVyIGRlYWR0dXBsZXMpOworCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxl cywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKKwkJCQkJCQkJIEV4dFZhY1JlcG9ydCAq cGFyYW1zKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiBy ZWwsCiAJCQkJCQkJCSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50 ZXIgZGVhZHR1cGxlcywKIAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRlcik7CitleHRlcm4g dm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQpOwogCiAvKgog ICogSWYgc3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0IGJlZW4g cHJlcGFyZWQgeWV0LCBjYWxsCkBAIC02NzcsNiArNzQyLDE3IEBAIGV4dGVybiB2b2lkIHBn c3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCWlmIChwZ3N0YXRfc2hvdWxk X2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAogCQkJKHJlbCktPnBnc3RhdF9pbmZvLT5j b3VudHMuYmxvY2tzX2hpdCsrOwkJCQlcCiAJfSB3aGlsZSAoMCkKKy8qIGFjY3VtdWxhdGUg dW5mcm96ZW4gYWxsLXZpc2libGUgYW5kIGFsbC1mcm96ZW4gcGFnZXMgKi8KKyNkZWZpbmUg cGdzdGF0X2NvdW50X3ZtX3Jldl9hbGxfdmlzaWJsZShyZWwpCQkJCQkJXAorCWRvIHsJCQkJ CQkJCQkJCQkJCQlcCisJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkp CQkJCQkJXAorCQkJKHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMucmV2X2FsbF92aXNpYmxl X3BhZ2VzKys7CVwKKwl9IHdoaWxlICgwKQorI2RlZmluZSBwZ3N0YXRfY291bnRfdm1fcmV2 X2FsbF9mcm96ZW4ocmVsKQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJCQkJCQkJXAorCQlpZiAo cGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKKwkJCShyZWwpLT5w Z3N0YXRfaW5mby0+Y291bnRzLnJldl9hbGxfZnJvemVuX3BhZ2VzKys7CVwKKwl9IHdoaWxl ICgwKQogCiBleHRlcm4gdm9pZCBwZ3N0YXRfY291bnRfaGVhcF9pbnNlcnQoUmVsYXRpb24g cmVsLCBQZ1N0YXRfQ291bnRlciBuKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9jb3VudF9oZWFw X3VwZGF0ZShSZWxhdGlvbiByZWwsIGJvb2wgaG90LCBib29sIG5ld3BhZ2UpOwpAQCAtNjk0 LDcgKzc3MCw2IEBAIGV4dGVybiBQZ1N0YXRfU3RhdFRhYkVudHJ5ICpwZ3N0YXRfZmV0Y2hf c3RhdF90YWJlbnRyeV9leHQoYm9vbCBzaGFyZWQsCiAJCQkJCQkJCQkJCQkJCSAgIE9pZCBy ZWxvaWQpOwogZXh0ZXJuIFBnU3RhdF9UYWJsZVN0YXR1cyAqZmluZF90YWJzdGF0X2VudHJ5 KE9pZCByZWxfaWQpOwogCi0KIC8qCiAgKiBGdW5jdGlvbnMgaW4gcGdzdGF0X3JlcGxzbG90 LmMKICAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oIGIvc3JjL2lu Y2x1ZGUvdXRpbHMvZWxvZy5oCmluZGV4IGU1NGVjYTViNDg5Li5lNzUyYzBjZTAxNSAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCisrKyBiL3NyYy9pbmNsdWRlL3V0 aWxzL2Vsb2cuaApAQCAtMjMwLDYgKzIzMCw3IEBAIGV4dGVybiBpbnQJZ2V0ZXJybGV2ZWwo dm9pZCk7CiBleHRlcm4gaW50CWdldGVycnBvc2l0aW9uKHZvaWQpOwogZXh0ZXJuIGludAln ZXRpbnRlcm5hbGVycnBvc2l0aW9uKHZvaWQpOwogCitleHRlcm4gaW50CWdldGVycmVsZXZl bCh2b2lkKTsKIAogLyotLS0tLS0tLS0tCiAgKiBPbGQtc3R5bGUgZXJyb3IgcmVwb3J0aW5n IEFQSTogdG8gYmUgdXNlZCBpbiB0aGlzIHdheToKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2lu dGVybmFsLmgKaW5kZXggNjFiMmUxZjk2YjIuLjJjMGU1NWQ2M2YzIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaAorKysgYi9zcmMvaW5jbHVkZS91 dGlscy9wZ3N0YXRfaW50ZXJuYWwuaApAQCAtNTczLDcgKzU3Myw3IEBAIGV4dGVybiBQZ1N0 YXRfRW50cnlSZWYgKnBnc3RhdF9mZXRjaF9wZW5kaW5nX2VudHJ5KFBnU3RhdF9LaW5kIGtp bmQsCiBleHRlcm4gdm9pZCAqcGdzdGF0X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQs IE9pZCBkYm9pZCwgdWludDY0IG9iamlkKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9zbmFwc2hv dF9maXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAotCitleHRlcm4gdm9pZCBwZ3N0YXRfdXBk YXRlX3NuYXBzaG90KFBnU3RhdF9LaW5kIGtpbmQpOwogLyoKICAqIEZ1bmN0aW9ucyBpbiBw Z3N0YXRfYXJjaGl2ZXIuYwogICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24v ZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMv dGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUt cmVhZC5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdjZGI3 OWMwZWM0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVk L3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC0wLDAgKzEsNTMg QEAKK3VudXNlZCBzdGVwIG5hbWU6IHMyX2RlbGV0ZQorUGFyc2VkIHRlc3Qgc3BlYyB3aXRo IDIgc2Vzc2lvbnMKKworc3RhcnRpbmcgcGVybXV0YXRpb246IHMyX2luc2VydCBzMl9wcmlu dF92YWN1dW1fc3RhdHNfdGFibGUgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkIHMyX3VwZGF0 ZSBzMl9pbnNlcnRfaW50ZXJydXB0IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1dW1fc3RhdHNf dGFibGUgczFfY29tbWl0IHMyX2NoZWNrcG9pbnQgczJfdmFjdXVtIHMyX3ByaW50X3ZhY3V1 bV9zdGF0c190YWJsZQorc3RlcCBzMl9pbnNlcnQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVt X3N0YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdl bmVyYXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9z dGF0c190YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2Rl bGV0ZWQsIHZ0LmRlYWRfdHVwbGVzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1l ID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsK KworcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBs ZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9pc29s YXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAgIDB8ICAgICAgICAgICAgMAorKDEgcm93 KQorCitzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZDogCisgIEJFR0lOIHRyYW5zYWN0 aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVjdCBjb3VudChp dmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsKKwor Y291bnQKKy0tLS0tCisgIDEwMAorKDEgcm93KQorCitzdGVwIHMyX3VwZGF0ZTogVVBEQVRF IHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFsID0gaXZhbCArIDIgd2hlcmUg aWQgPiA5MDA7CitzdGVwIHMyX2luc2VydF9pbnRlcnJ1cHQ6IElOU0VSVCBJTlRPIHRlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uIHZhbHVlcyAoMSwxKTsKK3N0ZXAgczJfdmFjdXVtOiBW QUNVVU0gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb247CitzdGVwIHMyX3ByaW50X3ZhY3V1 bV9zdGF0c190YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVz X2RlbGV0ZWQsIHZ0LmRlYWRfdHVwbGVzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxu YW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKKworcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90 dXBsZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAxMDB8ICAgICAgICAgICAgMAorKDEg cm93KQorCitzdGVwIHMxX2NvbW1pdDogQ09NTUlUOworc3RlcCBzMl9jaGVja3BvaW50OiBD SEVDS1BPSU5UOworc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbjsKK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKKyAgICBTRUxF Q1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMs IHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwg cGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworCityZWxuYW1lICAgICAgICAgICAg ICAgICAgIHx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgIDEwMHwg ICAgICAgIDEwMHwgICAgICAgICAgMTAxCisoMSByb3cpCisKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUgYi9zcmMvdGVzdC9pc29sYXRpb24v aXNvbGF0aW9uX3NjaGVkdWxlCmluZGV4IDE0MzEwOWFhNGRhLi5lOTNkZDRmNjI2YyAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQorKysgYi9z cmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCkBAIC05NSw2ICs5NSw3IEBA IHRlc3Q6IHRpbWVvdXRzCiB0ZXN0OiB2YWN1dW0tY29uY3VycmVudC1kcm9wCiB0ZXN0OiB2 YWN1dW0tY29uZmxpY3QKIHRlc3Q6IHZhY3V1bS1za2lwLWxvY2tlZAordGVzdDogdmFjdXVt LWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZAogdGVzdDogc3RhdHMKIHRlc3Q6IGhvcml6 b25zCiB0ZXN0OiBwcmVkaWNhdGUtaGFzaApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0 aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYyBiL3Ny Yy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1y ZWFkLnNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjVmYWNi MmM4NjJjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3Zh Y3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwpAQCAtMCwwICsxLDUxIEBA CisjIFRlc3QgZm9yIGNoZWNraW5nIGRlYWRfdHVwbGVzLCB0dXBsZXNfZGVsZXRlZCBhbmQg ZnJvemVuIHR1cGxlcyBpbiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMuCisjIERlYWRfdHVwbGVz IHZhbHVlcyBhcmUgY291bnRlZCB3aGVuIHZhY3V1bSBjYW5ub3QgY2xlYW4gdXAgdW51c2Vk IHR1cGxlcyB3aGlsZSBsb2NrIGlzIHVzaW5nIGFub3RoZXIgdHJhbnNhY3Rpb24uCisjIERl YWRfdHVwbGVzIGFyZW4ndCBpbmNyZWFzZWQgYWZ0ZXIgcmVsZWFzaW5nIGxvY2sgY29tcGFy ZWQgd2l0aCB0dXBsZXNfZGVsZXRlZCwgd2hpY2ggaW5jcmVhc2VkCisjIGJ5IHRoZSB2YWx1 ZSBvZiB0aGUgY2xlYXJlZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVtIG1hbmFnZWQgdG8gY2xl YXIuCisKK3NldHVwCit7CisgICAgQ1JFQVRFIFRBQkxFIHRlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9uKGlkIGludCwgaXZhbCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9m Zik7CisgICAgU0VUIHRyYWNrX2lvX3RpbWluZyA9IG9uOworfQorCit0ZWFyZG93bgorewor ICAgIERST1AgVEFCTEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gQ0FTQ0FERTsKKyAg ICBSRVNFVCB0cmFja19pb190aW1pbmc7Cit9CisKK3Nlc3Npb24gczEKK3N0ZXAgczFfYmVn aW5fcmVwZWF0YWJsZV9yZWFkICAgeworICBCRUdJTiB0cmFuc2FjdGlvbiBJU09MQVRJT04g TEVWRUwgUkVQRUFUQUJMRSBSRUFEOworICBzZWxlY3QgY291bnQoaXZhbCkgZnJvbSB0ZXN0 X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVyZSBpZD45MDA7CisgIH0KK3N0ZXAgczFfY29t bWl0ICAgICAgICAgICAgICAgICAgeyBDT01NSVQ7IH0KKworc2Vzc2lvbiBzMgorc3RlcCBz Ml9pbnNlcnQgICAgICAgICAgICAgICAgICB7IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVy YXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7IH0KK3N0ZXAgczJfdXBkYXRlICAgICAgICAg ICAgICAgICAgeyBVUERBVEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gU0VUIGl2YWwg PSBpdmFsICAyIHdoZXJlIGlkID4gOTAwOyB9CitzdGVwIHMyX2RlbGV0ZSAgICAgICAgICAg ICAgICAgIHsgREVMRVRFIEZST00gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUg aWQgPiA5MDA7IH0KK3N0ZXAgczJfaW5zZXJ0X2ludGVycnVwdCAgICAgICAgeyBJTlNFUlQg SU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB2YWx1ZXMgKDEsMSk7IH0KK3N0ZXAg czJfdmFjdXVtICAgICAgICAgICAgICAgICAgeyBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb247IH0KK3N0ZXAgczJfY2hlY2twb2ludCAgICAgICAgICAgICAgeyBDSEVDS1BP SU5UOyB9CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQoreworICAgIFNFTEVD VAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5kZWFkX3R1cGxlcywg dnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7Cit9CisKK3Blcm11dGF0aW9uCisgICAg czJfaW5zZXJ0CisgICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCisgICAgczFfYmVn aW5fcmVwZWF0YWJsZV9yZWFkCisgICAgczJfdXBkYXRlCisgICAgczJfaW5zZXJ0X2ludGVy cnVwdAorICAgIHMyX3ZhY3V1bQorICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQor ICAgIHMxX2NvbW1pdAorICAgIHMyX2NoZWNrcG9pbnQKKyAgICBzMl92YWN1dW0KKyAgICBz Ml9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDJiNDcwMTNmMTEzLi42 MWRmOWNmYzY0YyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxl cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIy MzcsNiArMjIzNywzOSBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAg ICAgYXV0b2FuYWx5emVfY291bnQKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdI RVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2lu Zm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9h c3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCByZWwub2lkIEFT IHJlbGlkLAorICAgIG5zLm5zcG5hbWUgQVMgc2NoZW1hLAorICAgIHJlbC5yZWxuYW1lLAor ICAgIENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwgKDApOjpiaWdpbnQpIEFTIHRv dGFsX2Jsa3NfcmVhZCwKKyAgICBDT0FMRVNDRShzdGF0cy50b3RhbF9ibGtzX2hpdCwgKDAp OjpiaWdpbnQpIEFTIHRvdGFsX2Jsa3NfaGl0LAorICAgIENPQUxFU0NFKHN0YXRzLnRvdGFs X2Jsa3NfZGlydGllZCwgKDApOjpiaWdpbnQpIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAg ICBDT0FMRVNDRShzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sICgwKTo6YmlnaW50KSBBUyB0 b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgQ09BTEVTQ0Uoc3RhdHMucmVsX2Jsa3NfcmVhZCwg KDApOjpiaWdpbnQpIEFTIHJlbF9ibGtzX3JlYWQsCisgICAgQ09BTEVTQ0Uoc3RhdHMucmVs X2Jsa3NfaGl0LCAoMCk6OmJpZ2ludCkgQVMgcmVsX2Jsa3NfaGl0LAorICAgIENPQUxFU0NF KHN0YXRzLnBhZ2VzX3NjYW5uZWQsICgwKTo6YmlnaW50KSBBUyBwYWdlc19zY2FubmVkLAor ICAgIENPQUxFU0NFKHN0YXRzLnBhZ2VzX3JlbW92ZWQsICgwKTo6YmlnaW50KSBBUyBwYWdl c19yZW1vdmVkLAorICAgIENPQUxFU0NFKHN0YXRzLnBhZ2VzX2Zyb3plbiwgKDApOjpiaWdp bnQpIEFTIHBhZ2VzX2Zyb3plbiwKKyAgICBDT0FMRVNDRShzdGF0cy5wYWdlc19hbGxfdmlz aWJsZSwgKDApOjpiaWdpbnQpIEFTIHBhZ2VzX2FsbF92aXNpYmxlLAorICAgIENPQUxFU0NF KHN0YXRzLnR1cGxlc19kZWxldGVkLCAoMCk6OmJpZ2ludCkgQVMgdHVwbGVzX2RlbGV0ZWQs CisgICAgQ09BTEVTQ0Uoc3RhdHMudHVwbGVzX2Zyb3plbiwgKDApOjpiaWdpbnQpIEFTIHR1 cGxlc19mcm96ZW4sCisgICAgQ09BTEVTQ0Uoc3RhdHMuZGVhZF90dXBsZXMsICgwKTo6Ymln aW50KSBBUyBkZWFkX3R1cGxlcywKKyAgICBDT0FMRVNDRShzdGF0cy5pbmRleF92YWN1dW1f Y291bnQsICgwKTo6YmlnaW50KSBBUyBpbmRleF92YWN1dW1fY291bnQsCisgICAgQ09BTEVT Q0Uoc3RhdHMucmV2X2FsbF9mcm96ZW5fcGFnZXMsICgwKTo6YmlnaW50KSBBUyByZXZfYWxs X2Zyb3plbl9wYWdlcywKKyAgICBDT0FMRVNDRShzdGF0cy5yZXZfYWxsX3Zpc2libGVfcGFn ZXMsICgwKTo6YmlnaW50KSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMsCisgICAgQ09BTEVT Q0Uoc3RhdHMud2FsX3JlY29yZHMsICgwKTo6YmlnaW50KSBBUyB3YWxfcmVjb3JkcywKKyAg ICBDT0FMRVNDRShzdGF0cy53YWxfZnBpLCAoMCk6OmJpZ2ludCkgQVMgd2FsX2ZwaSwKKyAg ICBDT0FMRVNDRShzdGF0cy53YWxfYnl0ZXMsICgwKTo6bnVtZXJpYykgQVMgd2FsX2J5dGVz LAorICAgIENPQUxFU0NFKHN0YXRzLmJsa19yZWFkX3RpbWUsICgwKTo6ZG91YmxlIHByZWNp c2lvbikgQVMgYmxrX3JlYWRfdGltZSwKKyAgICBDT0FMRVNDRShzdGF0cy5ibGtfd3JpdGVf dGltZSwgKDApOjpkb3VibGUgcHJlY2lzaW9uKSBBUyBibGtfd3JpdGVfdGltZSwKKyAgICBD T0FMRVNDRShzdGF0cy5kZWxheV90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIGRl bGF5X3RpbWUsCisgICAgQ09BTEVTQ0Uoc3RhdHMuc3lzdGVtX3RpbWUsICgwKTo6ZG91Ymxl IHByZWNpc2lvbikgQVMgc3lzdGVtX3RpbWUsCisgICAgQ09BTEVTQ0Uoc3RhdHMudXNlcl90 aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIHVzZXJfdGltZSwKKyAgICBDT0FMRVND RShzdGF0cy50b3RhbF90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIHRvdGFsX3Rp bWUsCisgICAgQ09BTEVTQ0Uoc3RhdHMuaW50ZXJydXB0cywgMCkgQVMgaW50ZXJydXB0cwor ICAgRlJPTSAoKHBnX2NsYXNzIHJlbAorICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiAo KG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UpKSkKKyAgICAgTEVGVCBKT0lOIExBVEVSQUwg cGdfc3RhdF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzKHJlbGlkLCB0b3RhbF9ibGtz X3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nf d3JpdHRlbiwgcmVsX2Jsa3NfcmVhZCwgcmVsX2Jsa3NfaGl0LCBwYWdlc19zY2FubmVkLCBw YWdlc19yZW1vdmVkLCBwYWdlc19mcm96ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCB0dXBsZXNf ZGVsZXRlZCwgdHVwbGVzX2Zyb3plbiwgZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9jb3Vu dCwgcmV2X2FsbF9mcm96ZW5fcGFnZXMsIHJldl9hbGxfdmlzaWJsZV9wYWdlcywgd2FsX3Jl Y29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3Rp bWUsIGRlbGF5X3RpbWUsIHN5c3RlbV90aW1lLCB1c2VyX3RpbWUsIHRvdGFsX3RpbWUsIGlu dGVycnVwdHMpIE9OICh0cnVlKSkKKyAgV0hFUkUgKHJlbC5yZWxraW5kID0gJ3InOjoiY2hh ciIpOwogcGdfc3RhdF93YWx8IFNFTEVDVCB3YWxfcmVjb3JkcywKICAgICB3YWxfZnBpLAog ICAgIHdhbF9ieXRlcywKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv dmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uMDY0MDY0ZTk0YjIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKQEAg LTAsMCArMSwyMDkgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5 c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1cmlu ZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBw YWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBw YWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3Qg ZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJs ZS4KKy0tCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291bnRzOyAg LS0gbXVzdCBiZSBvbgorIHRyYWNrX2NvdW50cyAKKy0tLS0tLS0tLS0tLS0tCisgb24KKygx IHJvdykKKworLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVz dCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKy0tIGVuc3VyZSBwZW5k aW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo KCk7CisgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAKKygxIHJvdykKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VUIHZhY3V1 bV9mcmVlemVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAw OworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFURSBU QUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZp bGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1NF TEVDVCBvaWQgQVMgcm9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWUgPSAndmVzdGF0 JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9y ZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVt cHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkLHJl bHBhZ2VzLHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBB TkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwgdHVwbGVz X2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAor LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8ICAgICAgICAgICAg MCB8ICAgICAgICAgICAgICAwIHwgICAgICA0NTUgfCAgICAgICAgICAgICAwIHwgICAgICAg ICAgICAgMAorKDEgcm93KQorCitTRUxFQ1QgcmVscGFnZXMgQVMgcnAKK0ZST00gcGdfY2xh c3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitWQUNVVU0gKFBBUkFMTEVM IDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7 CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVD S1BPSU5UOworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlz dGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBj bGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBi ZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJl bG5hbWUscGFnZXNfZnJvemVuID4gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQg PiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLTpycCA9IDAgQVMgcmVscGFnZXMscGFn ZXNfc2Nhbm5lZCA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkID0gMCBBUyBw YWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOwor IHJlbG5hbWUgfCBwYWdlc19mcm96ZW4gfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwg cGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0KKyB2ZXN0YXQgIHwgZiAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCB0 ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCBwYWdlc19m cm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2Vz X3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcg QU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdi LHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdCcgXGdzZXQKKy0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMu CitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRXUiwgd2FsX2J5dGVzID4gMCBBUyBkV0IK K0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsK KyBkd3IgfCBkd2IgCistLS0tLSstLS0tLQorIHQgICB8IHQKKygxIHJvdykKKworREVMRVRF IEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlU IDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0 byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBwYWdlc19yZW1v dmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4t OmZwID4gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID4gMCBBUyB0dXBs ZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVk LTpwcyA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA+IDAgQVMgcGFn ZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyBy ZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBh Z2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tCisgdmVzdGF0ICB8IGYgICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgZiAg ICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgcGFnZXNfZnJv emVuIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19z Y2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFO RCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2 YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3ciwgd2FsX2J5dGVzLTpo d2IgQVMgZHdiLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gV0FMIGFkdmFuY2Ug c2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpkd3IgPiAwIEFTIGRXUiwgOmR3YiA+IDAg QVMgZFdCOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisgdCAgIHwgdAorKDEgcm93KQor CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVj b3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitJTlNF UlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxl X3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0g VkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBh bnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgor VkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3 YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMiwgd2FsX2J5dGVz LTpod2IgQVMgZHdiMiwgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMgorRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLSBXQUwgYW5k IG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgorU0VM RUNUIDpkd3IyPTAgQVMgZFdSLCA6ZGZwaTI9MCBBUyBkRlBJLCA6ZHdiMj0wIEFTIGRXQjsK KyBkd3IgfCBkZnBpIHwgZHdiIAorLS0tLS0rLS0tLS0tKy0tLS0tCisgdCAgIHwgdCAgICB8 IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLTpmcCA9IDAg QVMgcGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0 ZWQscmVscGFnZXMgLTpycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAw IEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92 ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8 IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2Fu bmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQor IHZlc3RhdCAgfCB0ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgIHwg dCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBm cCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBB UyBwcyxwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2 dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxp ZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMK K1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFT IGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXQnIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNV VU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAg T0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0 aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3 YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjMsIHdhbF9ieXRlcy06aHdiIEFTIGR3YjMsIHdhbF9m cGktOmhmcGkgQVMgZGZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJl bG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitT RUxFQ1QgOmR3cjM+MCBBUyBkV1IsIDpkZnBpMz0wIEFTIGRGUEksIDpkd2IzPjAgQVMgZFdC OworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0rLS0tLS0KKyB0ICAgfCB0ICAg IHwgdAorKDEgcm93KQorCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNv bXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZh Y3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNf c2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVs bmFtZSxwYWdlc19mcm96ZW4tOmZwID0gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0 ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxw YWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1v dmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwgdHVwbGVzX2RlbGV0 ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IHQgICAgICAgICAgICB8IHQg ICAgICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQor CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6 c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKy0tIG11c3QgYmUgZW1wdHkK K1NFTEVDVCBwYWdlc19mcm96ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCByZXZfYWxsX2Zyb3pl bl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKyBwYWdlc19mcm96ZW4gfCBwYWdlc19h bGxfdmlzaWJsZSB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3Bh Z2VzIAorLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAwIHwgICAg ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAg ICAgICAgMAorKDEgcm93KQorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9M SU1JVCAxMjgpIHZlc3RhdDsKKy0tIGJhY2tlbmQgZGVmcmVlemVkIHBhZ2VzCitTRUxFQ1Qg cGFnZXNfZnJvemVuID4gMCBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPiAw IEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gMCBBUyByZXZf YWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAwIEFTIHJldl9hbGxf dmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnOworIHBhZ2VzX2Zyb3plbiB8IHBhZ2VzX2FsbF92aXNpYmxlIHwgcmV2 X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCistLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyBmICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgICB8 IHQgICAgICAgICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgcGFnZXNfZnJv emVuIEFTIHBmLCBwYWdlc19hbGxfdmlzaWJsZSBBUyBwdiwgcmV2X2FsbF9mcm96ZW5fcGFn ZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitVUERBVEUg dmVzdGF0IFNFVCB4ID0geDEwMDE7CitFUlJPUjogIGNvbHVtbiAieDEwMDEiIGRvZXMgbm90 IGV4aXN0CitMSU5FIDE6IFVQREFURSB2ZXN0YXQgU0VUIHggPSB4MTAwMTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VT QUdFX0xJTUlUIDEyOCkgdmVzdGF0OworU0VMRUNUIHBhZ2VzX2Zyb3plbiA+IDpwZiBBUyBw YWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPiA6cHYgQVMgcGFnZXNfYWxsX3Zpc2li bGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdl cyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFn ZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 JzsKKyBwYWdlc19mcm96ZW4gfCBwYWdlc19hbGxfdmlzaWJsZSB8IHJldl9hbGxfZnJvemVu X3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgZiAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgICAgICB8IGYKKygxIHJvdykKKworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBwZiwg cGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAs cmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSB2YWN1dW0gZnJlZXplZCBw YWdlcworU0VMRUNUIHBhZ2VzX2Zyb3plbiA9IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNf YWxsX3Zpc2libGUgPSA6cHYgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5f cGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVf cGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKyBwYWdlc19mcm96ZW4g fCBwYWdlc19hbGxfdmlzaWJsZSB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92 aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdCAgICAgICAg ICAgIHwgdCAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQKKygx IHJvdykKKworU0VMRUNUIG1pbihyZWxpZCkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMo MCkgd2hlcmUgcmVsaWQgPiAwOworIG1pbiAKKy0tLS0tCisgMTEyCisoMSByb3cpCisKK0RS T1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZQppbmRleCA4MWU0MjIyZDI2YS4uOTc3YTA0NzIwMjcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJh bGxlbF9zY2hlZHVsZQpAQCAtMTM2LDMgKzEzNiw4IEBAIHRlc3Q6IGZhc3RfZGVmYXVsdAog IyBydW4gdGFibGVzcGFjZSB0ZXN0IGF0IHRoZSBlbmQgYmVjYXVzZSBpdCBkcm9wcyB0aGUg dGFibGVzcGFjZSBjcmVhdGVkIGR1cmluZwogIyBzZXR1cCB0aGF0IG90aGVyIHRlc3RzIG1h eSB1c2UuCiB0ZXN0OiB0YWJsZXNwYWNlCisKKyMgLS0tLS0tLS0tLQorIyBDaGVjayB2YWN1 dW0gc3RhdGlzdGljcworIyAtLS0tLS0tLS0tCit0ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRp c3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYmM4ZDA1MWFlZmEKLS0tIC9kZXYvbnVsbAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3Fs CkBAIC0wLDAgKzEsMTYwIEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0 cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBk dXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2li bGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2li bGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMg bm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5z dGFibGUuCistLQorCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291 bnRzOyAgLS0gbXVzdCBiZSBvbgorLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdl IHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKwor CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCgpOworCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFj dXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9 IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRF IFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwg ZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdl bmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0Owor CitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zl c3RhdCcgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0t IEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3 IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLHR1cGxlc19kZWxl dGVkLHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCByZWxwYWdlcyBBUyBycAorRlJP TSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9G RikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlz dGljcworQ0hFQ0tQT0lOVDsKKworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2 YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVk IHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRo ZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAor U0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuID4gMCBBUyBwYWdlc19mcm96ZW4sdHVw bGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLTpycCA9IDAgQVMg cmVscGFnZXMscGFnZXNfc2Nhbm5lZCA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1v dmVkID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2 dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxp ZCA9IGMub2lkOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBB UyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3Zl ZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAor CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVj b3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0t IExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAw IEFTIGRXUiwgd2FsX2J5dGVzID4gMCBBUyBkV0IKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKworREVMRVRFIEZST00gdmVzdGF0OzsK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xF QU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2Fs IHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBp bmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPiAwIEFTIHBh Z2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZC06dGQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJl bHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID4gMCBBUyBw YWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID4gMCBBUyBwYWdlc19yZW1vdmVkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHBhZ2VzX2Zy b3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNf c2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBB TkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50 byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3ciwgd2FsX2J5dGVz LTpod2IgQVMgZHdiLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkKK0ZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLSBXQUwgYWR2 YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3ciA+IDAgQVMgZFdSLCA6ZHdi ID4gMCBBUyBkV0I7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwor U0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMg aGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCcgXGdzZXQKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVf c2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJF IHggJSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29s bGVjdG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUg ZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2Fy eSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3Jl IFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3Ig QVMgZHdyMiwgd2FsX2J5dGVzLTpod2IgQVMgZHdiMiwgd2FsX2ZwaS06aGZwaSBBUyBkZnBp MgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQn IFxnc2V0CisKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBu b3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpkZnBpMj0wIEFTIGRG UEksIDpkd2IyPTAgQVMgZFdCOworCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4t OmZwID0gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBs ZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVk LTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFn ZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NF TEVDVCBwYWdlc19mcm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMg QVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMscGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwg YWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2Fs X2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3Rh dDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vz c2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVw bGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IzLCB3 YWxfYnl0ZXMtOmh3YiBBUyBkd2IzLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkzCitGUk9NIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKwor LS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmR3cjM+MCBBUyBkV1IsIDpk ZnBpMz0wIEFTIGRGUEksIDpkd2IzPjAgQVMgZFdCOworCistLQorLS0gTm93LCB0aGUgdGFi bGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4g Q2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHBh Z2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQK Ky0tCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID0gMCBBUyBwYWdlc19m cm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdl cyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNf c2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworSU5TRVJUIElOVE8gdmVzdGF0 IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4Owor QU5BTFlaRSB2ZXN0YXQ7CisKKy0tIG11c3QgYmUgZW1wdHkKK1NFTEVDVCBwYWdlc19mcm96 ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zp c2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0JzsKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQg MTI4KSB2ZXN0YXQ7CisKKy0tIGJhY2tlbmQgZGVmcmVlemVkIHBhZ2VzCitTRUxFQ1QgcGFn ZXNfZnJvemVuID4gMCBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPiAwIEFT IHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gMCBBUyByZXZfYWxs X2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAwIEFTIHJldl9hbGxfdmlz aWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9 ICd2ZXN0YXQnOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2li bGUgQVMgcHYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxl X3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5h bWUgPSAndmVzdGF0JyBcZ3NldAorCitVUERBVEUgdmVzdGF0IFNFVCB4ID0geDEwMDE7CitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKwor U0VMRUNUIHBhZ2VzX2Zyb3plbiA+IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zp c2libGUgPiA6cHYgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMg PiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMg PiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKK1NFTEVDVCBwYWdlc19mcm96ZW4g QVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBB UyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfdmFj dXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworVkFDVVVNIChQ QVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKKy0tIHZhY3V1 bSBmcmVlemVkIHBhZ2VzCitTRUxFQ1QgcGFnZXNfZnJvemVuID0gOnBmIEFTIHBhZ2VzX2Zy b3plbixwYWdlc19hbGxfdmlzaWJsZSA9IDpwdiBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZf YWxsX2Zyb3plbl9wYWdlcyA9IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9h bGxfdmlzaWJsZV9wYWdlcyA9IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOworCitT RUxFQ1QgbWluKHJlbGlkKSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcygwKSB3aGVyZSBy ZWxpZCA+IDA7CisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQotLSAKMi4zNC4xCgo= --------------khoCiO40l67itgo2tWR709Ac Content-Type: text/x-patch; charset=UTF-8; name="v10-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v10-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA5MmM1NTVhYmVkNmUyNDdiYWUxNzE5OTBhMjczMTQ3YjdiMzMwMmNkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA4IE9jdCAyMDI0IDE5OjExOjE4ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAyLzNdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGhlYXAgYW5kIGluZGV4IHJlbGF0aW9ucy4gUmVtZW1iZXIs IHN0YXRpc3RpYyBvbiBoZWFwIGFuZCBpbmRleCByZWxhdGlvbnMgYQogYml0IGRpZmZlcmVu dCAoc2VlIEV4dFZhY1JlcG9ydCB0byBmaW5kIG91dCBtb3JlIGluZm9ybWF0aW9uKS4gVGhl IGNvbmNlcHQgb2YKIHRoZSBFeHRWYWNSZXBvcnQgc3RydWN0dXJlIGhhcyBiZWVuIGNvbXBs aWNhdGVkIHRvIHN0b3JlIHN0YXRpc3RpYwogaW5mb3JtYXRpb24gZm9yIHR3byBraW5kcyBv ZiByZWxhdGlvbnM6IGZvciBoZWFwIGFuZCBpbmRleCByZWxhdGlvbnMuCiBFeHRWYWNSZXBv cnRUeXBlIHZhcmlhYmxlIGhlbHBzIHRvIGRldGVybWluZSB3aGF0IHRoZSBraW5kIGlzIGNv bnNpZGVyaW5nCiBub3cuCgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYyAgICAgICAgICB8ICA5OSArKysrKysrKystLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDM1ICsrKysKIHNyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAgNyArLQogc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgIHwgIDQxICsrKy0tCiBzcmMvYmFja2Vu ZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxMDAgKysrKysrKy0tLS0K IHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICB8ICAgOSAr CiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTIg KysrKy0tCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgICAg fCAgIDcgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgICAgICAg ICB8ICAyNSArKysKIC4uLi9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQg ICAgICB8IDE2NSArKysrKysrKysrKysrKysrKysKIC4uLi9leHBlY3RlZC92YWN1dW1fdGFi bGVzX3N0YXRpc3RpY3Mub3V0ICAgICB8ICAgOCArLQogc3JjL3Rlc3QvcmVncmVzcy9wYXJh bGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3NxbC92YWN1 dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgICB8IDEzMCArKysrKysrKysrKysrKwogLi4uL3Jl Z3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgICAzICstCiAxNCBm aWxlcyBjaGFuZ2VkLCA2MDEgaW5zZXJ0aW9ucygrKSwgODEgZGVsZXRpb25zKC0pCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhf c3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3Nx bC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMKaW5kZXggZDYzMzAzYzdmYjcuLjljNTNkMGI0YzU3IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tl bmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCkBAIC0xNjgsNiArMTY4LDcgQEAgdHlwZWRl ZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCWNoYXIJICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxu YW1lc3BhY2U7CiAJT2lkCQkJcmVsb2lkOworCU9pZAkJCWluZG9pZDsKIAljaGFyCSAgICpy ZWxuYW1lOwogCWNoYXIJICAgKmluZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8K IAlCbG9ja051bWJlciBibGtubzsJCQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9u cyAqLwpAQCAtMjQ2LDYgKzI0NywxMyBAQCB0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRDb3Vu dGVycwogCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7CiB9IExWRXh0U3RhdENvdW50ZXJz OwogCit0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRDb3VudGVyc0lkeAoreworCUxWRXh0U3Rh dENvdW50ZXJzIGNvbW1vbjsKKwlpbnQ2NAkJcGFnZXNfZGVsZXRlZDsKKwlpbnQ2NAkJdHVw bGVzX3JlbW92ZWQ7Cit9IExWRXh0U3RhdENvdW50ZXJzSWR4OworCiAvKiBub24tZXhwb3J0 IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFwKExW UmVsU3RhdGUgKnZhY3JlbCk7CiBzdGF0aWMgYm9vbCBoZWFwX3ZhY19zY2FuX25leHRfYmxv Y2soTFZSZWxTdGF0ZSAqdmFjcmVsLCBCbG9ja051bWJlciAqYmxrbm8sCkBAIC00MDgsNiAr NDE2LDQ2IEBAIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3Vu dGVycyAqY291bnRlcnMsCiAJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0 IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7CiB9CiAKK3N0YXRpYyB2b2lkCitleHR2YWNfc3Rh dHNfc3RhcnRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0 cywKKwkJCQkJICAgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKQoreworCWV4dHZh Y19zdGF0c19zdGFydChyZWwsICZjb3VudGVycy0+Y29tbW9uKTsKKwljb3VudGVycy0+cGFn ZXNfZGVsZXRlZCA9IGNvdW50ZXJzLT50dXBsZXNfcmVtb3ZlZCA9IDA7CisKKwlpZiAoc3Rh dHMgIT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIFhYWDogV2h5IGRvIHdlIG5lZWQgdGhpcyBj b2RlIGhlcmU/IElmIGl0IGlzIG5lZWRlZCwgSSBmZWVsIGxhY2sgb2YKKwkJICogY29tbWVu dHMsIGRlc2NyaWJpbmcgdGhlIHJlYXNvbi4KKwkJICovCisJCWNvdW50ZXJzLT50dXBsZXNf cmVtb3ZlZCA9IHN0YXRzLT50dXBsZXNfcmVtb3ZlZDsKKwkJY291bnRlcnMtPnBhZ2VzX2Rl bGV0ZWQgPSBzdGF0cy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkCitl eHR2YWNfc3RhdHNfZW5kX2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3Vs dCAqc3RhdHMsCisJCQkJCSBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMsIEV4dFZh Y1JlcG9ydCAqcmVwb3J0KQoreworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmY291bnRlcnMt PmNvbW1vbiwgcmVwb3J0KTsKKwlyZXBvcnQtPnR5cGUgPSBQR1NUQVRfRVhUVkFDX0lOREVY OworCisJaWYgKHN0YXRzICE9IE5VTEwpCisJeworCQkvKgorCQkgKiBpZiBzb21ldGhpbmcg Z29lcyB3cm9uZyBvciBhbiB1c2VyIGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNl CisJCSAqIGFjdGl2aXR5IC0ganVzdCBzdXBwcmVzcyBpdC4KKwkJICovCisKKwkJLyogRmls bCBpbmRleC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KKwkJcmVwb3J0LT5p bmRleC50dXBsZXNfZGVsZXRlZCA9CisJCQkJCQkJc3RhdHMtPnR1cGxlc19yZW1vdmVkIC0g Y291bnRlcnMtPnR1cGxlc19yZW1vdmVkOworCQlyZXBvcnQtPmluZGV4LnBhZ2VzX2RlbGV0 ZWQgPQorCQkJCQkJCXN0YXRzLT5wYWdlc19kZWxldGVkIC0gY291bnRlcnMtPnBhZ2VzX2Rl bGV0ZWQ7CisJfQorfQorCiAvKgogICoJaGVhcF92YWN1dW1fcmVsKCkgLS0gcGVyZm9ybSBW QUNVVU0gZm9yIG9uZSBoZWFwIHJlbGF0aW9uCiAgKgpAQCAtNzExLDE0ICs3NTksMTUgQEAg aGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJ ZXh0dmFjX3N0YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7 CiAKIAkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCi0J ZXh0VmFjUmVwb3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7Ci0J ZXh0VmFjUmVwb3J0LnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRfcGFnZXM7Ci0J ZXh0VmFjUmVwb3J0LnBhZ2VzX2Zyb3plbiA9IHZhY3JlbC0+c2V0X2Zyb3plbl9wYWdlczsK LQlleHRWYWNSZXBvcnQucGFnZXNfYWxsX3Zpc2libGUgPSB2YWNyZWwtPnNldF9hbGxfdmlz aWJsZV9wYWdlczsKLQlleHRWYWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1 cGxlc19kZWxldGVkOwotCWV4dFZhY1JlcG9ydC50dXBsZXNfZnJvemVuID0gdmFjcmVsLT50 dXBsZXNfZnJvemVuOwotCWV4dFZhY1JlcG9ydC5kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVj ZW50bHlfZGVhZF90dXBsZXMgKyB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlczsKLQlleHRW YWNSZXBvcnQuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7 CisJZXh0VmFjUmVwb3J0LnR5cGUgPSBQR1NUQVRfRVhUVkFDX0hFQVA7CisJZXh0VmFjUmVw b3J0LmhlYXAucGFnZXNfc2Nhbm5lZCA9IHZhY3JlbC0+c2Nhbm5lZF9wYWdlczsKKwlleHRW YWNSZXBvcnQuaGVhcC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2VzOwor CWV4dFZhY1JlcG9ydC5oZWFwLnBhZ2VzX2Zyb3plbiA9IHZhY3JlbC0+c2V0X2Zyb3plbl9w YWdlczsKKwlleHRWYWNSZXBvcnQuaGVhcC5wYWdlc19hbGxfdmlzaWJsZSA9IHZhY3JlbC0+ c2V0X2FsbF92aXNpYmxlX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5oZWFwLnR1cGxlc19kZWxl dGVkID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwlleHRWYWNSZXBvcnQuaGVhcC50dXBs ZXNfZnJvemVuID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOworCWV4dFZhY1JlcG9ydC5oZWFw LmRlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlcyArIHZhY3JlbC0+ bWlzc2VkX2RlYWRfdHVwbGVzOworCWV4dFZhY1JlcG9ydC5oZWFwLmluZGV4X3ZhY3V1bV9j b3VudCA9IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOwogCiAJLyoKIAkgKiBSZXBvcnQgcmVz dWx0cyB0byB0aGUgY3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KQEAgLTI1ODMsNiAr MjYzMiwxMCBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRl eEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogewogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87 CiAJTFZTYXZlZEVyckluZm8gc2F2ZWRfZXJyX2luZm87CisJTFZFeHRTdGF0Q291bnRlcnNJ ZHggZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKworCWV4 dHZhY19zdGF0c19zdGFydF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzKTsK IAogCWl2aW5mby5pbmRleCA9IGluZHJlbDsKIAlpdmluZm8uaGVhcHJlbCA9IHZhY3JlbC0+ cmVsOwpAQCAtMjYwMSw2ICsyNjU0LDcgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0 aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAkgKi8KIAlBc3Nl cnQodmFjcmVsLT5pbmRuYW1lID09IE5VTEwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IHBzdHJk dXAoUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoaW5kcmVsKSk7CisJdmFjcmVsLT5pbmRvaWQg PSBSZWxhdGlvbkdldFJlbGlkKGluZHJlbCk7CiAJdXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZv KHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvLAogCQkJCQkJCSBWQUNVVU1fRVJSQ0JfUEhBU0Vf VkFDVVVNX0lOREVYLAogCQkJCQkJCSBJbnZhbGlkQmxvY2tOdW1iZXIsIEludmFsaWRPZmZz ZXROdW1iZXIpOwpAQCAtMjYwOSw2ICsyNjYzLDEzIEBAIGxhenlfdmFjdXVtX29uZV9pbmRl eChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJaXN0 YXQgPSB2YWNfYnVsa2RlbF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQsICh2b2lkICopIHZh Y3JlbC0+ZGVhZF9pdGVtcywKIAkJCQkJCQkJICB2YWNyZWwtPmRlYWRfaXRlbXNfaW5mbyk7 CiAKKwkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICov CisJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJz LCAmZXh0VmFjUmVwb3J0KTsKKworCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0 UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJ CQkJCQkJMCwgMCwgJmV4dFZhY1JlcG9ydCk7CisKIAkvKiBSZXZlcnQgdG8gdGhlIHByZXZp b3VzIHBoYXNlIGluZm9ybWF0aW9uIGZvciBlcnJvciB0cmFjZWJhY2sgKi8KIAlyZXN0b3Jl X3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvKTsKIAlwZnJlZSh2 YWNyZWwtPmluZG5hbWUpOwpAQCAtMjYzMyw2ICsyNjk0LDEwIEBAIGxhenlfY2xlYW51cF9v bmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0 LAogewogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJTFZTYXZlZEVyckluZm8gc2F2ZWRf ZXJyX2luZm87CisJTFZFeHRTdGF0Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7CisJRXh0 VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKworCWV4dHZhY19zdGF0c19zdGFydF9pZHgoaW5k cmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzKTsKIAogCWl2aW5mby5pbmRleCA9IGluZHJl bDsKIAlpdmluZm8uaGVhcHJlbCA9IHZhY3JlbC0+cmVsOwpAQCAtMjY1MiwxMiArMjcxNywy MCBAQCBsYXp5X2NsZWFudXBfb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxr RGVsZXRlUmVzdWx0ICppc3RhdCwKIAkgKi8KIAlBc3NlcnQodmFjcmVsLT5pbmRuYW1lID09 IE5VTEwpOwogCXZhY3JlbC0+aW5kbmFtZSA9IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxhdGlv bk5hbWUoaW5kcmVsKSk7CisJdmFjcmVsLT5pbmRvaWQgPSBSZWxhdGlvbkdldFJlbGlkKGlu ZHJlbCk7CiAJdXBkYXRlX3ZhY3V1bV9lcnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9p bmZvLAogCQkJCQkJCSBWQUNVVU1fRVJSQ0JfUEhBU0VfSU5ERVhfQ0xFQU5VUCwKIAkJCQkJ CQkgSW52YWxpZEJsb2NrTnVtYmVyLCBJbnZhbGlkT2Zmc2V0TnVtYmVyKTsKIAogCWlzdGF0 ID0gdmFjX2NsZWFudXBfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0KTsKIAorCS8qIE1ha2Ug ZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwlleHR2YWNfc3Rh dHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBv cnQpOworCisJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwp LAorCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkwLCAwLCAm ZXh0VmFjUmVwb3J0KTsKKwogCS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5m b3JtYXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vycm9y X2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwogCXBmcmVlKHZhY3JlbC0+aW5kbmFt ZSk7CkBAIC0zMjc0LDcgKzMzNDcsNyBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAq YXJnKQogCXsKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfU0NBTl9IRUFQOgogCQkJaWYo Z2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCi0JCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJy b3IoZXJyaW5mby0+cmVsb2lkKTsKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihl cnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRWQUNfSEVBUCk7CiAJCQlpZiAoQmxvY2tOdW1i ZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVy SXNWYWxpZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtMzI5MSw3ICszMzY0LDcgQEAgdmFjdXVt X2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFT RV9WQUNVVU1fSEVBUDoKIAkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQotCQkJCXBn c3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCk7CisJCQkJcGdzdGF0 X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX0hF QVApOwogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7 CiAJCQkJaWYgKE9mZnNldE51bWJlcklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkKQEAgLTMz MDcsMTYgKzMzODAsMjIgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJ CWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9JTkRFWDoKKwkJ CWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKGVycmluZm8tPmluZG9pZCwgUEdTVEFUX0VYVFZBQ19JTkRFWCk7CiAJCQllcnJj b250ZXh0KCJ3aGlsZSB2YWN1dW1pbmcgaW5kZXggXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXMu JXNcIiIsCiAJCQkJCSAgIGVycmluZm8tPmluZG5hbWUsIGVycmluZm8tPnJlbG5hbWVzcGFj ZSwgZXJyaW5mby0+cmVsbmFtZSk7CiAJCQlicmVhazsKIAogCQljYXNlIFZBQ1VVTV9FUlJD Ql9QSEFTRV9JTkRFWF9DTEVBTlVQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1Ip CisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+aW5kb2lkLCBQR1NU QVRfRVhUVkFDX0lOREVYKTsKIAkJCWVycmNvbnRleHQoIndoaWxlIGNsZWFuaW5nIHVwIGlu ZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzLiVzXCIiLAogCQkJCQkgICBlcnJpbmZvLT5p bmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmluZm8tPnJlbG5hbWUpOwogCQkJ YnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVFJVTkNBVEU6CisJCQlpZihn ZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJv cihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRWQUNfSEVBUCk7CiAJCQlpZiAoQmxvY2tO dW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJCQllcnJjb250ZXh0KCJ3aGlsZSB0 cnVuY2F0aW5nIHJlbGF0aW9uIFwiJXMuJXNcIiB0byAldSBibG9ja3MiLAogCQkJCQkJICAg ZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lLCBlcnJpbmZvLT5ibGtu byk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwg Yi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggNGZhOTg4NmY0 MDkuLjRkYTI3MWRhZTEwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3Rl bV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3Fs CkBAIC0xNDI5LDMgKzE0MjksMzggQEAgRlJPTSBwZ19jbGFzcyByZWwKICAgSk9JTiBwZ19u YW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZQogICBMRUZUIEpPSU4g cGdfc3RhdF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzIE9OIHRydWUKIFdIRVJFIHJl bC5yZWxraW5kID0gJ3InOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IEFTCitTRUxFQ1QKKyAgcmVsLm9pZCBhcyByZWxpZCwKKyAgbnMubnNwbmFtZSBBUyAic2No ZW1hIiwKKyAgcmVsLnJlbG5hbWUgQVMgcmVsbmFtZSwKKworICBDT0FMRVNDRSh0b3RhbF9i bGtzX3JlYWQsIDApIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgQ09BTEVTQ0UodG90YWxfYmxr c19oaXQsIDApIEFTIHRvdGFsX2Jsa3NfaGl0LAorICBDT0FMRVNDRSh0b3RhbF9ibGtzX2Rp cnRpZWQsIDApIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgQ09BTEVTQ0UodG90YWxfYmxr c193cml0dGVuLCAwKSBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAgQ09BTEVTQ0UocmVs X2Jsa3NfcmVhZCwgMCkgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgQ09BTEVTQ0UocmVsX2Jsa3Nf aGl0LCAwKSBBUyByZWxfYmxrc19oaXQsCisKKyAgQ09BTEVTQ0UocGFnZXNfZGVsZXRlZCwg MCkgQVMgcGFnZXNfZGVsZXRlZCwKKyAgQ09BTEVTQ0UodHVwbGVzX2RlbGV0ZWQsIDApIEFT IHR1cGxlc19kZWxldGVkLAorCisgIENPQUxFU0NFKHdhbF9yZWNvcmRzLCAwKSBBUyB3YWxf cmVjb3JkcywKKyAgQ09BTEVTQ0Uod2FsX2ZwaSwgMCkgQVMgd2FsX2ZwaSwKKyAgQ09BTEVT Q0Uod2FsX2J5dGVzLCAwKSBBUyB3YWxfYnl0ZXMsCisKKyAgQ09BTEVTQ0UoYmxrX3JlYWRf dGltZSwgMCkgQVMgYmxrX3JlYWRfdGltZSwKKyAgQ09BTEVTQ0UoYmxrX3dyaXRlX3RpbWUs IDApIEFTIGJsa193cml0ZV90aW1lLAorCisgIENPQUxFU0NFKGRlbGF5X3RpbWUsIDApIEFT IGRlbGF5X3RpbWUsCisgIENPQUxFU0NFKHN5c3RlbV90aW1lLCAwKSBBUyBzeXN0ZW1fdGlt ZSwKKyAgQ09BTEVTQ0UodXNlcl90aW1lLCAwKSBBUyB1c2VyX3RpbWUsCisgIENPQUxFU0NF KHRvdGFsX3RpbWUsIDApIEFTIHRvdGFsX3RpbWUsCisgIENPQUxFU0NFKGludGVycnVwdHMs IDApIEFTIGludGVycnVwdHMKK0ZST00KKyAgcGdfY2xhc3MgcmVsCisgIEpPSU4gcGdfbmFt ZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UKKyAgTEVGVCBKT0lOIHBn X3N0YXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMgT04gdHJ1ZQorV0hFUkUgcmVs LnJlbGtpbmQgPSAnaSc7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwppbmRleCBjMjgzZTQ0MmY2Zi4uODQzNjE3ZWJhMjUg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0xMTIyLDcgKzExMjIs OCBAQCBwZ3N0YXRfdXBkYXRlX3NuYXBzaG90KFBnU3RhdF9LaW5kIGtpbmQpCiAJUEdfVFJZ KCk7CiAJewogCQlwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09O U0lTVEVOQ1lfU05BUFNIT1Q7Ci0JCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lO RF9SRUxBVElPTik7CisJCWlmIChraW5kID09IFBHU1RBVF9LSU5EX1JFTEFUSU9OKQorCQkJ cGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKIAl9CiAJUEdf RklOQUxMWSgpOwogCXsKQEAgLTExNzcsNiArMTE3OCwxMCBAQCBwZ3N0YXRfYnVpbGRfc25h cHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQpCiAJCWlmIChwLT5kcm9wcGVkKQogCQkJY29u dGludWU7CiAKKwkJaWYgKHN0YXRLaW5kICE9IFBHU1RBVF9LSU5EX0lOVkFMSUQgJiYgc3Rh dEtpbmQgIT0gcC0+a2V5LmtpbmQpCisJCQkvKiBMb2FkIHN0YXQgb2Ygc3BlY2lmaWMgdHlw ZSwgaWYgZGVmaW5lZCAqLworCQkJY29udGludWU7CisKIAkJQXNzZXJ0KHBnX2F0b21pY19y ZWFkX3UzMigmcC0+cmVmY291bnQpID4gMCk7CiAKIAkJc3RhdHNfZGF0YSA9IGRzYV9nZXRf YWRkcmVzcyhwZ1N0YXRMb2NhbC5kc2EsIHAtPmJvZHkpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCA3OTFkNzc3ZmJjNi4uNWM5 NTM2M2MwNGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9y ZWxhdGlvbi5jCkBAIC0yMTMsNyArMjEzLDcgQEAgcGdzdGF0X2Ryb3BfcmVsYXRpb24oUmVs YXRpb24gcmVsKQogICogLS0tLS0tLS0tCiAgKi8KIHZvaWQKLXBnc3RhdF9yZXBvcnRfdmFj dXVtX2Vycm9yKE9pZCB0YWJsZW9pZCkKK3Bnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9p ZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpCiB7CiAJUGdTdGF0X0VudHJ5 UmVmICplbnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OwpA QCAtMjMwLDYgKzIzMCw3IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJs ZW9pZCkKIAl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5zdGF0czsKIAogCXRhYmVudHJ5LT52 YWN1dW1fZXh0LmludGVycnVwdHMrKzsKKwl0YWJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID0g bV90eXBlOwogCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKIH0KIApAQCAtMTA0 MiwxNSArMTA0MywzMSBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFj UmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCWlmICghYWNjdW11bGF0ZV9yZWx0 eXBlX3NwZWNpZmljX2luZm8pCiAJCXJldHVybjsKIAotCWRzdC0+Ymxrc19mZXRjaGVkICs9 IHNyYy0+Ymxrc19mZXRjaGVkOwotCWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsK LQotCWRzdC0+cGFnZXNfc2Nhbm5lZCArPSBzcmMtPnBhZ2VzX3NjYW5uZWQ7Ci0JZHN0LT5w YWdlc19yZW1vdmVkICs9IHNyYy0+cGFnZXNfcmVtb3ZlZDsKLQlkc3QtPnBhZ2VzX2Zyb3pl biArPSBzcmMtPnBhZ2VzX2Zyb3plbjsKLQlkc3QtPnBhZ2VzX2FsbF92aXNpYmxlICs9IHNy Yy0+cGFnZXNfYWxsX3Zpc2libGU7Ci0JZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1 cGxlc19kZWxldGVkOwotCWRzdC0+dHVwbGVzX2Zyb3plbiArPSBzcmMtPnR1cGxlc19mcm96 ZW47Ci0JZHN0LT5kZWFkX3R1cGxlcyArPSBzcmMtPmRlYWRfdHVwbGVzOwotCWRzdC0+aW5k ZXhfdmFjdXVtX2NvdW50ICs9IHNyYy0+aW5kZXhfdmFjdXVtX2NvdW50OworCWlmIChkc3Qt PnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEKQorCQlkc3QtPnR5cGUgPSBzcmMtPnR5 cGU7CisKKwlBc3NlcnQoc3JjLT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5WQUxJRCB8fCBz cmMtPnR5cGUgPT0gZHN0LT50eXBlKTsKKworCWlmIChkc3QtPnR5cGUgPT0gc3JjLT50eXBl KQorCXsKKwkJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJCWRz dC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsKKworCQlpZiAoZHN0LT50eXBlID09IFBH U1RBVF9FWFRWQUNfSEVBUCkKKwkJeworCQkJZHN0LT5oZWFwLnBhZ2VzX3NjYW5uZWQgKz0g c3JjLT5oZWFwLnBhZ2VzX3NjYW5uZWQ7CisJCQlkc3QtPmhlYXAucGFnZXNfcmVtb3ZlZCAr PSBzcmMtPmhlYXAucGFnZXNfcmVtb3ZlZDsKKwkJCWRzdC0+aGVhcC5wYWdlc19mcm96ZW4g Kz0gc3JjLT5oZWFwLnBhZ2VzX2Zyb3plbjsKKwkJCWRzdC0+aGVhcC5wYWdlc19hbGxfdmlz aWJsZSArPSBzcmMtPmhlYXAucGFnZXNfYWxsX3Zpc2libGU7CisJCQlkc3QtPmhlYXAudHVw bGVzX2RlbGV0ZWQgKz0gc3JjLT5oZWFwLnR1cGxlc19kZWxldGVkOworCQkJZHN0LT5oZWFw LnR1cGxlc19mcm96ZW4gKz0gc3JjLT5oZWFwLnR1cGxlc19mcm96ZW47CisJCQlkc3QtPmhl YXAuZGVhZF90dXBsZXMgKz0gc3JjLT5oZWFwLmRlYWRfdHVwbGVzOworCQkJZHN0LT5oZWFw LmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPmhlYXAuaW5kZXhfdmFjdXVtX2NvdW50Owor CQl9CisJCWVsc2UgaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOREVYKQorCQl7 CisJCQlkc3QtPmluZGV4LnBhZ2VzX2RlbGV0ZWQgKz0gc3JjLT5pbmRleC5wYWdlc19kZWxl dGVkOworCQkJZHN0LT5pbmRleC50dXBsZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnR1cGxl c19kZWxldGVkOworCQl9CisJfQogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggZWJhMTc4M2U1MWEuLjhmNWEx N2U3Mzc1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3Mu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjEwMSwx NyArMjEwMSwxOSBAQCBwZ19zdGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykKIH0K IAogI2RlZmluZSBFWFRWQUNIRUFQU1RBVF9DT0xVTU5TCTI3CisjZGVmaW5lIEVYVFZBQ0lE WFNUQVRfQ09MVU1OUwkxOQorI2RlZmluZSBFWFRWQUNTVEFUX0NPTFVNTlMgTWF4KEVYVFZB Q0hFQVBTVEFUX0NPTFVNTlMsIEVYVFZBQ0lEWFNUQVRfQ09MVU1OUykKIAogc3RhdGljIHZv aWQKIHR1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihPaWQgcmVsaWQsIFJldHVyblNldElu Zm8gKnJzaW5mbywKIAkJCQkJCQlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeSkKIHsK LQlEYXR1bQkJdmFsdWVzW0VYVFZBQ0hFQVBTVEFUX0NPTFVNTlNdOwotCWJvb2wJCW51bGxz W0VYVFZBQ0hFQVBTVEFUX0NPTFVNTlNdOworCURhdHVtCQl2YWx1ZXNbRVhUVkFDU1RBVF9D T0xVTU5TXTsKKwlib29sCQludWxsc1tFWFRWQUNTVEFUX0NPTFVNTlNdOwogCWNoYXIJCWJ1 ZlsyNTZdOwogCWludAkJCWkgPSAwOwogCi0JbWVtc2V0KG51bGxzLCAwLCBFWFRWQUNIRUFQ U1RBVF9DT0xVTU5TICogc2l6ZW9mKGJvb2wpKTsKKwltZW1zZXQobnVsbHMsIDAsIEVYVFZB Q1NUQVRfQ09MVU1OUyAqIHNpemVvZihib29sKSk7CiAKIAl2YWx1ZXNbaSsrXSA9IE9iamVj dElkR2V0RGF0dW0ocmVsaWQpOwogCkBAIC0yMTI0LDE2ICsyMTI2LDI1IEBAIHR1cGxlc3Rv cmVfcHV0X2Zvcl9yZWxhdGlvbihPaWQgcmVsaWQsIFJldHVyblNldEluZm8gKnJzaW5mbywK IAkJCQkJCQkJCXRhYmVudHJ5LT52YWN1dW1fZXh0LmJsa3NfaGl0KTsKIAl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuYmxrc19oaXQpOwogCi0J dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnBhZ2Vz X3NjYW5uZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFj dXVtX2V4dC5wYWdlc19yZW1vdmVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o dGFiZW50cnktPnZhY3V1bV9leHQucGFnZXNfZnJvemVuKTsKLQl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQucGFnZXNfYWxsX3Zpc2libGUpOwot CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC50dXBs ZXNfZGVsZXRlZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52 YWN1dW1fZXh0LnR1cGxlc19mcm96ZW4pOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5kZWFkX3R1cGxlcyk7Ci0JdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmluZGV4X3ZhY3V1bV9jb3VudCk7 Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT5yZXZfYWxsX2Zyb3pl bl9wYWdlcyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT5yZXZf YWxsX3Zpc2libGVfcGFnZXMpOworCWlmICh0YWJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID09 IFBHU1RBVF9FWFRWQUNfSEVBUCkKKwl7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5oZWFwLnBhZ2VzX3NjYW5uZWQpOworCQl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaGVhcC5wYWdlc19y ZW1vdmVkKTsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1 dW1fZXh0LmhlYXAucGFnZXNfZnJvemVuKTsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERh dHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmhlYXAucGFnZXNfYWxsX3Zpc2libGUpOworCQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaGVhcC50 dXBsZXNfZGVsZXRlZCk7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRy eS0+dmFjdXVtX2V4dC5oZWFwLnR1cGxlc19mcm96ZW4pOworCQl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaGVhcC5kZWFkX3R1cGxlcyk7CisJ CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5oZWFw LmluZGV4X3ZhY3V1bV9jb3VudCk7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0 YWJlbnRyeS0+cmV2X2FsbF9mcm96ZW5fcGFnZXMpOworCQl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0odGFiZW50cnktPnJldl9hbGxfdmlzaWJsZV9wYWdlcyk7CisKKwl9CisJZWxz ZSBpZiAodGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOREVY KQorCXsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1f ZXh0LmluZGV4LnBhZ2VzX2RlbGV0ZWQpOworCQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0odGFiZW50cnktPnZhY3V1bV9leHQuaW5kZXgudHVwbGVzX2RlbGV0ZWQpOworCX0KIAog CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC53YWxf cmVjb3Jkcyk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1 dW1fZXh0LndhbF9mcGkpOwpAQCAtMjE2MSwxMCArMjE3Miw5IEBAIHR1cGxlc3RvcmVfcHV0 X2Zvcl9yZWxhdGlvbihPaWQgcmVsaWQsIFJldHVyblNldEluZm8gKnJzaW5mbywKICAqIEdl dCB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcyBvciBpbmRleGVz LgogICovCiBzdGF0aWMgdm9pZAotcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8g ZmNpbmZvLCBpbnQgbmNvbHVtbnMpCitwZ19zdGF0c192YWN1dW0oRnVuY3Rpb25DYWxsSW5m byBmY2luZm8sIEV4dFZhY1JlcG9ydFR5cGUgdHlwZSwgaW50IG5jb2x1bW5zKQogewogCVJl dHVyblNldEluZm8JCSAgICpyc2luZm8gPSAoUmV0dXJuU2V0SW5mbyAqKSBmY2luZm8tPnJl c3VsdGluZm87Ci0JT2lkCQkJCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOwogCVBnU3Rh dF9TdGF0VGFiRW50cnkgICAgKnRhYmVudHJ5OwogCiAJSW5pdE1hdGVyaWFsaXplZFNSRihm Y2luZm8sIDApOwpAQCAtMjE3NywzNCArMjE4NywzOSBAQCBwZ19zdGF0c192YWN1dW0oRnVu Y3Rpb25DYWxsSW5mbyBmY2luZm8sIGludCBuY29sdW1ucykKIAlBc3NlcnQocnNpbmZvLT5z ZXREZXNjLT5uYXR0cyA9PSBuY29sdW1ucyk7CiAJQXNzZXJ0KHJzaW5mby0+c2V0UmVzdWx0 ICE9IE5VTEwpOwogCi0JLyogTG9hZCB0YWJsZSBzdGF0aXN0aWNzIGZvciBzcGVjaWZpZWQg ZGF0YWJhc2UuICovCi0JaWYgKE9pZElzVmFsaWQocmVsaWQpKQorCWlmICh0eXBlID09IFBH U1RBVF9FWFRWQUNfSU5ERVggfHwgdHlwZSA9PSBQR1NUQVRfRVhUVkFDX0hFQVApCiAJewot CQl0YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKLQkJaWYg KHRhYmVudHJ5ID09IE5VTEwpCi0JCQkvKiBUYWJsZSBkb24ndCBleGlzdHMgb3IgaXNuJ3Qg YW4gaGVhcCByZWxhdGlvbi4gKi8KLQkJCXJldHVybjsKKwkJT2lkCQkJCQlyZWxpZCA9IFBH X0dFVEFSR19PSUQoMCk7CiAKLQkJdHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKHJlbGlk LCByc2luZm8sIHRhYmVudHJ5KTsKLQl9Ci0JZWxzZQotCXsKLQkJU25hcHNob3RJdGVyYXRv cgkJaGFzaGl0ZXI7Ci0JCVBnU3RhdF9TbmFwc2hvdEVudHJ5ICAgKmVudHJ5OworCQkvKiBM b2FkIHRhYmxlIHN0YXRpc3RpY3MgZm9yIHNwZWNpZmllZCByZWxhdGlvbi4gKi8KKwkJaWYg KE9pZElzVmFsaWQocmVsaWQpKQorCQl7CisJCQl0YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9z dGF0X3RhYmVudHJ5KHJlbGlkKTsKKwkJCWlmICh0YWJlbnRyeSA9PSBOVUxMIHx8IHRhYmVu dHJ5LT52YWN1dW1fZXh0LnR5cGUgIT0gdHlwZSkKKwkJCQkvKiBUYWJsZSBkb24ndCBleGlz dHMgb3IgaXNuJ3QgYW4gaGVhcCByZWxhdGlvbi4gKi8KKwkJCQlyZXR1cm47CisKKwkJCXR1 cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihyZWxpZCwgcnNpbmZvLCB0YWJlbnRyeSk7CisJ CX0KKwkJZWxzZQorCQl7CisJCQlTbmFwc2hvdEl0ZXJhdG9yCQloYXNoaXRlcjsKKwkJCVBn U3RhdF9TbmFwc2hvdEVudHJ5ICAgKmVudHJ5OwogCi0JCXBnc3RhdF91cGRhdGVfc25hcHNo b3QoUEdTVEFUX0tJTkRfUkVMQVRJT04pOworCQkJcGdzdGF0X3VwZGF0ZV9zbmFwc2hvdChQ R1NUQVRfS0lORF9SRUxBVElPTik7CiAKLQkJLyogSXRlcmF0ZSB0aGUgc25hcHNob3QgKi8K LQkJSW5pdFNuYXBzaG90SXRlcmF0b3IocGdTdGF0TG9jYWwuc25hcHNob3Quc3RhdHMsICZo YXNoaXRlcik7CisJCQkvKiBJdGVyYXRlIHRoZSBzbmFwc2hvdCAqLworCQkJSW5pdFNuYXBz aG90SXRlcmF0b3IocGdTdGF0TG9jYWwuc25hcHNob3Quc3RhdHMsICZoYXNoaXRlcik7CiAK LQkJd2hpbGUgKChlbnRyeSA9IFNjYW5TdGF0U25hcHNob3QocGdTdGF0TG9jYWwuc25hcHNo b3Quc3RhdHMsICZoYXNoaXRlcikpICE9IE5VTEwpCi0JCXsKLQkJCUNIRUNLX0ZPUl9JTlRF UlJVUFRTKCk7CisJCQl3aGlsZSAoKGVudHJ5ID0gU2NhblN0YXRTbmFwc2hvdChwZ1N0YXRM b2NhbC5zbmFwc2hvdC5zdGF0cywgJmhhc2hpdGVyKSkgIT0gTlVMTCkKKwkJCXsKKwkJCQlD SEVDS19GT1JfSU5URVJSVVBUUygpOwogCi0JCQl0YWJlbnRyeSA9IChQZ1N0YXRfU3RhdFRh YkVudHJ5ICopIGVudHJ5LT5kYXRhOworCQkJCXRhYmVudHJ5ID0gKFBnU3RhdF9TdGF0VGFi RW50cnkgKikgZW50cnktPmRhdGE7CiAKLQkJCWlmICh0YWJlbnRyeSAhPSBOVUxMKQotCQkJ CXR1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihlbnRyeS0+a2V5Lm9iamlkLCByc2luZm8s IHRhYmVudHJ5KTsKKwkJCQlpZiAodGFiZW50cnkgIT0gTlVMTCAmJiB0YWJlbnRyeS0+dmFj dXVtX2V4dC50eXBlID09IHR5cGUpCisJCQkJCXR1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlv bihlbnRyeS0+a2V5Lm9iamlkLCByc2luZm8sIHRhYmVudHJ5KTsKKwkJCX0KIAkJfQogCX0K IH0KQEAgLTIyMTUsNyArMjIzMCwxOCBAQCBwZ19zdGF0c192YWN1dW0oRnVuY3Rpb25DYWxs SW5mbyBmY2luZm8sIGludCBuY29sdW1ucykKIERhdHVtCiBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMoUEdfRlVOQ1RJT05fQVJHUykKIHsKLQlwZ19zdGF0c192YWN1dW0oZmNpbmZvLCBFWFRW QUNIRUFQU1RBVF9DT0xVTU5TKTsKKwlwZ19zdGF0c192YWN1dW0oZmNpbmZvLCBQR1NUQVRf RVhUVkFDX0hFQVAsIEVYVFZBQ0hFQVBTVEFUX0NPTFVNTlMpOworCisJUEdfUkVUVVJOX1ZP SUQoKTsKK30KKworLyoKKyAqIEdldCB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBp bmRleGVzLgorICovCitEYXR1bQorcGdfc3RhdF92YWN1dW1faW5kZXhlcyhQR19GVU5DVElP Tl9BUkdTKQoreworCXBnX3N0YXRzX3ZhY3V1bShmY2luZm8sIFBHU1RBVF9FWFRWQUNfSU5E RVgsIEVYVFZBQ0lEWFNUQVRfQ09MVU1OUyk7CiAKIAlQR19SRVRVUk5fVk9JRCgpOwogfQpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0Cmlu ZGV4IDc3NmE3MzQ0Mjg1Li44NTZkMDRiOTg2ZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2Mu ZGF0CkBAIC0xMjM3Miw0ICsxMjM3MiwxMyBAQAogICBwcm9hcmdtb2RlcyA9PiAne2ksbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywK ICAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFs X2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Js a3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHBhZ2Vz X2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSx0dXBsZXNfZGVsZXRlZCx0dXBsZXNfZnJvemVu LGRlYWRfdHVwbGVzLGluZGV4X3ZhY3V1bV9jb3VudCxyZXZfYWxsX2Zyb3plbl9wYWdlcyxy ZXZfYWxsX3Zpc2libGVfcGFnZXMsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxr X3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHN5c3RlbV90aW1lLHVzZXJf dGltZSx0b3RhbF90aW1lLGludGVycnVwdHN9JywKICAgcHJvc3JjID0+ICdwZ19zdGF0X3Zh Y3V1bV90YWJsZXMnIH0sCit7IG9pZCA9PiAnODAwMicsCisgIGRlc2NyID0+ICdwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzIHJldHVybiBzdGF0cyB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdw Z19zdGF0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9 PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBw cm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJn dHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxv YXQ4LGZsb2F0OCxpbnQ0fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lk LHJlbGlkLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRp ZWQsdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0LHBhZ2Vz X2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMs YmxrX3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHN5c3RlbV90aW1lLHVz ZXJfdGltZSx0b3RhbF90aW1lLGludGVycnVwdHN9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzJyB9CiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQu aCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IGU3NjRhOGM1MzI2Li5iNzg0YmNjM2Vm ZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUv cGdzdGF0LmgKQEAgLTE2OSwxMSArMTY5LDE5IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9C YWNrZW5kU3ViRW50cnkKIAlQZ1N0YXRfQ291bnRlciBjb25mbGljdF9jb3VudFtDT05GTElD VF9OVU1fVFlQRVNdOwogfSBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5OwogCisvKiBUeXBlIG9m IEV4dFZhY1JlcG9ydCAqLwordHlwZWRlZiBlbnVtIEV4dFZhY1JlcG9ydFR5cGUKK3sKKwlQ R1NUQVRfRVhUVkFDX0lOVkFMSUQgPSAwLAorCVBHU1RBVF9FWFRWQUNfSEVBUCA9IDEsCisJ UEdTVEFUX0VYVFZBQ19JTkRFWCA9IDIKK30gRXh0VmFjUmVwb3J0VHlwZTsKKwogLyogLS0t LS0tLS0tLQogICoKICAqIEV4dFZhY1JlcG9ydAogICoKLSAqIEFkZGl0aW9uYWwgc3RhdGlz dGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIEFk ZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgcmVsYXRp b24uCiAgKiBwYWdlc19yZW1vdmVkIGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNp Y2FsbHkgc2hyYW5rLAogICogaWYgYW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBz aXplIG9uIGRpc2spCiAgKiBwYWdlc19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0 aGluIHRoZSBpbmRleCBmaWxlCkBAIC0yMDUsMTQgKzIxMywzOCBAQCB0eXBlZGVmIHN0cnVj dCBFeHRWYWNSZXBvcnQKIAkvKiBJbnRlcnJ1cHRpb25zIG9uIGFueSBlcnJvcnMuICovCiAJ aW50MzIJCWludGVycnVwdHM7CiAKLQlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8qIG51bWJl ciBvZiBwYWdlcyB3ZSBleGFtaW5lZCAqLwotCWludDY0CQlwYWdlc19yZW1vdmVkOwkJLyog bnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXBhZ2VzX2Zy b3plbjsJCS8qIG51bWJlciBvZiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJvemVuICovCi0J aW50NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkvKiBudW1iZXIgb2YgcGFnZXMgbWFya2VkIGlu IFZNIGFzIGFsbC12aXNpYmxlICovCi0JaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVw bGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0 dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLwotCWludDY0CQlkZWFkX3R1cGxlczsJCS8q IG51bWJlciBvZiBkZWxldGVkIHR1cGxlcyB3aGljaCB2YWN1dW0gY2Fubm90IGNsZWFuIHVw IGJ5IHZhY3V1bSBvcGVyYXRpb24gKi8KLQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50Owkv KiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworCUV4dFZhY1JlcG9ydFR5cGUgdHlw ZTsJCS8qIGhlYXAsIGluZGV4LCBldGMuICovCisKKwkvKiAtLS0tLS0tLS0tCisJICoKKwkg KiBUaGVyZSBhcmUgc2VwYXJhdGUgbWV0cmljcyBvZiBzdGF0aXN0aWMgZm9yIHRhYmxlcyBh bmQgaW5kZXhlcywKKwkgKiB3aGljaCBjb2xsZWN0IGR1cmluZyB2YWN1dW0uCisJICogVGhl IHVuaW9uIG9wZXJhdG9yIGFsbG93cyB0byBjb21iaW5lIHRoZXNlIHN0YXRpc3RpY3MKKwkg KiBzbyB0aGF0IGVhY2ggbWV0cmljIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMgY2xhc3Mg b2YgY29sbGVjdGVkIHN0YXRpc3RpY3MuCisJICogU3VjaCBhIGNvbWJpbmVkIHN0cnVjdHVy ZSB3YXMgY2FsbGVkIHBlcl90eXBlX3N0YXRzLgorCSAqIFRoZSBuYW1lIG9mIHRoZSBzdHJ1 Y3R1cmUgaXRzZWxmIGlzIG5vdCB1c2VkIGFueXdoZXJlLAorCSAqIGl0IGV4aXN0cyBvbmx5 IGZvciB1bmRlcnN0YW5kaW5nIHRoZSBjb2RlLgorCSAqIC0tLS0tLS0tLS0KKwkqLworCXVu aW9uCisJeworCQlzdHJ1Y3QKKwkJeworCQkJaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBu dW1iZXIgb2YgcGFnZXMgd2UgZXhhbWluZWQgKi8KKwkJCWludDY0CQlwYWdlc19yZW1vdmVk OwkJLyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJ cGFnZXNfZnJvemVuOwkJLyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96 ZW4gKi8KKwkJCWludDY0CQlwYWdlc19hbGxfdmlzaWJsZTsJLyogbnVtYmVyIG9mIHBhZ2Vz IG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXR1cGxlc19kZWxl dGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJdHVwbGVz X2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJ ZGVhZF90dXBsZXM7CQkvKiBudW1iZXIgb2YgZGVsZXRlZCB0dXBsZXMgd2hpY2ggdmFjdXVt IGNhbm5vdCBjbGVhbiB1cCBieSB2YWN1dW0gb3BlcmF0aW9uICovCisJCQlpbnQ2NAkJaW5k ZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworCQl9 CQkJaGVhcDsKKwkJc3RydWN0CisJCXsKKwkJCWludDY0CQlwYWdlc19kZWxldGVkOwkJLyog bnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJdHVwbGVz X2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwkJfQkJCWluZGV4 OworCX0gLyogcGVyX3R5cGVfc3RhdHMgKi87CiB9IEV4dFZhY1JlcG9ydDsKIAogLyogLS0t LS0tLS0tLQpAQCAtNjk0LDcgKzcyNiw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRf dmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9pZCBwZ3N0YXRf cmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVy IGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9v bCByZXNldGNvdW50ZXIpOwotZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJy b3IoT2lkIHRhYmxlb2lkKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vy cm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpOwogCiAvKgogICog SWYgc3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0IGJlZW4gcHJl cGFyZWQgeWV0LCBjYWxsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0 ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9p c29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5v dXQKaW5kZXggN2NkYjc5YzBlYzQuLjkzZmUxNWMwMWY5IDEwMDY0NAotLS0gYS9zcmMvdGVz dC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVh ZC5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRp bmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC05LDEwICs5LDkgQEAgc3RlcCBzMl9wcmlu dF92YWN1dW1fc3RhdHNfdGFibGU6CiAgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKICAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAotcmVsbmFtZSAgICAgICAg ICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLQotdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAg IDB8ICAgICAgICAgIDB8ICAgICAgICAgICAgMAotKDEgcm93KQorcmVsbmFtZXx0dXBsZXNf ZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCiAKIHN0ZXAgczFfYmVn aW5fcmVwZWF0YWJsZV9yZWFkOiAKICAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExF VkVMIFJFUEVBVEFCTEUgUkVBRDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQK aW5kZXggNjFkZjljZmM2NGMuLmIyNjExMzg2MjExIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3J1bGVzLm91dApAQCAtMjIzNyw2ICsyMjM3LDMxIEBAIHBnX3N0YXRfdXNlcl90YWJs ZXN8IFNFTEVDVCByZWxpZCwKICAgICBhdXRvYW5hbHl6ZV9jb3VudAogICAgRlJPTSBwZ19z dGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChzY2hlbWFuYW1lIDw+IEFMTCAoQVJSQVlbJ3Bn X2NhdGFsb2cnOjpuYW1lLCAnaW5mb3JtYXRpb25fc2NoZW1hJzo6bmFtZV0pKSBBTkQgKHNj aGVtYW5hbWUgIX4gJ15wZ190b2FzdCc6OnRleHQpKTsKK3BnX3N0YXRfdmFjdXVtX2luZGV4 ZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlkLAorICAgIG5zLm5zcG5hbWUgQVMgc2NoZW1h LAorICAgIHJlbC5yZWxuYW1lLAorICAgIENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3NfcmVh ZCwgKDApOjpiaWdpbnQpIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgICBDT0FMRVNDRShzdGF0 cy50b3RhbF9ibGtzX2hpdCwgKDApOjpiaWdpbnQpIEFTIHRvdGFsX2Jsa3NfaGl0LAorICAg IENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwgKDApOjpiaWdpbnQpIEFTIHRv dGFsX2Jsa3NfZGlydGllZCwKKyAgICBDT0FMRVNDRShzdGF0cy50b3RhbF9ibGtzX3dyaXR0 ZW4sICgwKTo6YmlnaW50KSBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgQ09BTEVTQ0Uo c3RhdHMucmVsX2Jsa3NfcmVhZCwgKDApOjpiaWdpbnQpIEFTIHJlbF9ibGtzX3JlYWQsCisg ICAgQ09BTEVTQ0Uoc3RhdHMucmVsX2Jsa3NfaGl0LCAoMCk6OmJpZ2ludCkgQVMgcmVsX2Js a3NfaGl0LAorICAgIENPQUxFU0NFKHN0YXRzLnBhZ2VzX2RlbGV0ZWQsICgwKTo6YmlnaW50 KSBBUyBwYWdlc19kZWxldGVkLAorICAgIENPQUxFU0NFKHN0YXRzLnR1cGxlc19kZWxldGVk LCAoMCk6OmJpZ2ludCkgQVMgdHVwbGVzX2RlbGV0ZWQsCisgICAgQ09BTEVTQ0Uoc3RhdHMu d2FsX3JlY29yZHMsICgwKTo6YmlnaW50KSBBUyB3YWxfcmVjb3JkcywKKyAgICBDT0FMRVND RShzdGF0cy53YWxfZnBpLCAoMCk6OmJpZ2ludCkgQVMgd2FsX2ZwaSwKKyAgICBDT0FMRVND RShzdGF0cy53YWxfYnl0ZXMsICgwKTo6bnVtZXJpYykgQVMgd2FsX2J5dGVzLAorICAgIENP QUxFU0NFKHN0YXRzLmJsa19yZWFkX3RpbWUsICgwKTo6ZG91YmxlIHByZWNpc2lvbikgQVMg YmxrX3JlYWRfdGltZSwKKyAgICBDT0FMRVNDRShzdGF0cy5ibGtfd3JpdGVfdGltZSwgKDAp Ojpkb3VibGUgcHJlY2lzaW9uKSBBUyBibGtfd3JpdGVfdGltZSwKKyAgICBDT0FMRVNDRShz dGF0cy5kZWxheV90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIGRlbGF5X3RpbWUs CisgICAgQ09BTEVTQ0Uoc3RhdHMuc3lzdGVtX3RpbWUsICgwKTo6ZG91YmxlIHByZWNpc2lv bikgQVMgc3lzdGVtX3RpbWUsCisgICAgQ09BTEVTQ0Uoc3RhdHMudXNlcl90aW1lLCAoMCk6 OmRvdWJsZSBwcmVjaXNpb24pIEFTIHVzZXJfdGltZSwKKyAgICBDT0FMRVNDRShzdGF0cy50 b3RhbF90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIHRvdGFsX3RpbWUsCisgICAg Q09BTEVTQ0Uoc3RhdHMuaW50ZXJydXB0cywgMCkgQVMgaW50ZXJydXB0cworICAgRlJPTSAo KHBnX2NsYXNzIHJlbAorICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9 IHJlbC5yZWxuYW1lc3BhY2UpKSkKKyAgICAgTEVGVCBKT0lOIExBVEVSQUwgcGdfc3RhdF92 YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0 b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4s IHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2Rl bGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUs IGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCBzeXN0ZW1fdGltZSwgdXNlcl90aW1lLCB0 b3RhbF90aW1lLCBpbnRlcnJ1cHRzKSBPTiAodHJ1ZSkpCisgIFdIRVJFIChyZWwucmVsa2lu ZCA9ICdpJzo6ImNoYXIiKTsKIHBnX3N0YXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIHJlbC5v aWQgQVMgcmVsaWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hlbWEsCiAgICAgcmVsLnJlbG5h bWUsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRl eF9zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3Mub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi4xNjZkZTE3NmUyOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0wLDAgKzEsMTY1IEBA CistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBD aGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJh dGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZh Y3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBi eSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0 aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29u ZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24K KyB0cmFja19jb3VudHMgCistLS0tLS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKKy0tIG5v dCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0 cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUg Zmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSBy b3cpCisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9h Z2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRz X2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4 IGludCBwcmltYXJ5IGtleSkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxs ZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJh dGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxF Q1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJl Zm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlz IGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBj CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19k ZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCAgICAgICAzMCB8ICAgICAgICAgICAgIDAg fCAgICAgICAgICAgICAgMAorKDEgcm93KQorCitTRUxFQ1QgcmVscGFnZXMgQVMgaXJwCitG Uk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFO VVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0 YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVuZGVk IHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBmcm96 ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQg dGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVw CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdl c19kZWxldGVkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBBUyB0 dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBj Lm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxl c19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQgICAgICAgICAg ICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxw YWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3Rh dF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2 ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBh ZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxf Ynl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tIExvb2sgaW50byBX QUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRpV1IsIHdh bF9ieXRlcyA+IDAgQVMgZGlXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0X3BrZXknOworIGRpd3IgfCBkaXdiIAorLS0tLS0tKy0tLS0t LQorIHQgICAgfCB0CisoMSByb3cpCisKK0RFTEVURSBGUk9NIHZlc3RhdDs7CitWQUNVVU0g KFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04p IHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3Rp Y3MKK0NIRUNLUE9JTlQ7CistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitT RUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19k ZWxldGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+ IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwg cGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJl bGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQg fCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAg ICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBB UyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9y ZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdy IEFTIGRpd3IsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IsIHdhbF9mcGktOmlmcGkgQVMgZGlm cGkKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBcZ3NldAorLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VM RUNUIDpkaXdyID4gMCBBUyBkaVdSLCA6ZGl3YiA+IDAgQVMgZGlXQjsKKyBkaXdyIHwgZGl3 YiAKKy0tLS0tLSstLS0tLS0KKyB0ICAgIHwgdAorKDEgcm93KQorCistLSBTdG9yZSBXQUwg YWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2Fs X2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRl eGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitJTlNFUlQgSU5UTyB2 ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFz IHg7CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZV TEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5j ZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZV TEwgdmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlz dGljcworQ0hFQ0tQT0lOVDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxl cworU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjIsIHdhbF9ieXRlcy06aXdiIEFT IGRpd2IyLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBXQUwgYW5k IG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgorU0VM RUNUIDpkaXdyMj0wIEFTIGRpV1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBBUyBk aVdCOworIGRpd3IgfCBpZnBpIHwgZGl3YiAKKy0tLS0tLSstLS0tLS0rLS0tLS0tCisgdCAg ICB8IHQgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTpp cnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVs ZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8 IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVz dGF0X3BrZXkgfCB0ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NF TEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0 dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwg cGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJl bGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxl cworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkg QVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXRfcGtleScgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3Rh dDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhf Q0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3 YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitT RUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyMywgd2FsX2J5dGVzLTppd2IgQVMgZGl3 YjMsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkzCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tVGhlcmUgYXJlIG5v dGhpbmcgY2hhbmdlZAorU0VMRUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBBUyBp RlBJLCA6ZGl3YjM9MCBBUyBkaVdCOworIGRpd3IgfCBpZnBpIHwgZGl3YiAKKy0tLS0tLSst LS0tLS0rLS0tLS0tCisgdCAgICB8IHQgICAgfCB0CisoMSByb3cpCisKKy0tCistLSBOb3cs IHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9m IHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCist LSBUaGUgcGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUg Y2hhbmdlZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJl bHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNf ZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwg cGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCBm ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCBtaW4ocmVs aWQpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcygwKTsKKyBtaW4gIAorLS0tLS0tCisg MTIzMgorKDEgcm93KQorCitEUk9QIFRBQkxFIHZlc3RhdDsKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dApp bmRleCAwNjQwNjRlOTRiMi4uOGJmNzA2ZmRmODYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKQEAg LTIzLDggKzIzLDYgQEAgU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOwogKDEg cm93KQogCiBcc2V0IHNhbXBsZV9zaXplIDEwMDAwCi1TRVQgdmFjdXVtX2ZyZWV6ZV9taW5f YWdlID0gMDsKLVNFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9IDA7CiAtLVNFVCBzdGF0 c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OwogQ1JFQVRFIFRBQkxFIHZlc3RhdCAo eCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEw KTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmllcygx LDpzYW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTIwMSw5ICsxOTksOSBAQCBGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CiAoMSByb3cpCiAKIFNF TEVDVCBtaW4ocmVsaWQpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzKDApIHdoZXJlIHJl bGlkID4gMDsKLSBtaW4gCi0tLS0tLQotIDExMgorIG1pbiAgCistLS0tLS0KKyAxMjEzCiAo MSByb3cpCiAKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJh bGxlbF9zY2hlZHVsZQppbmRleCA5NzdhMDQ3MjAyNy4uOTg0N2EzMzBlZDEgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTQwLDQgKzE0MCw1IEBAIHRlc3Q6IHRh Ymxlc3BhY2UKICMgLS0tLS0tLS0tLQogIyBDaGVjayB2YWN1dW0gc3RhdGlzdGljcwogIyAt LS0tLS0tLS0tCit0ZXN0OiB2YWN1dW1faW5kZXhfc3RhdGlzdGljcwogdGVzdDogdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3Fs IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43NWU1OTc0ZWI1OQotLS0g L2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0 aXN0aWNzLnNxbApAQCAtMCwwICsxLDEzMCBAQAorLS0KKy0tIFRlc3QgY3VtdWxhdGl2ZSB2 YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdhbGwgc3RhdGlzdGljcyBj b2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBudW1iZXIgb2YgZnJvemVu IGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBudW1iZXIgb2YgZnJvemVu IGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KKy0tIFN0YXRpc3RpYyB3 YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2 aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0 cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0 LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdh bGwnOworCisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1Qg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAK K1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFi bGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7 CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCBwcmltYXJ5IGtleSkgV0lUSCAoYXV0b3Zh Y3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVz dGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4 OworQU5BTFlaRSB2ZXN0YXQ7CisKK1NFTEVDVCBvaWQgQVMgaW9pZCBmcm9tIHBnX2NsYXNz IHdoZXJlIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0RFTEVURSBGUk9NIHZl c3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVj dXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1l LHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92 YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0 YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgcmVscGFnZXMgQVMgaXJw CitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0 CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhf Q0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3 YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBl eHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1 dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQg c3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xl YW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFn ZXMscGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCA+ IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwg cGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJl bGlkID0gYy5vaWQ7CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNf ZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZh bmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0 ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg V0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS0gTG9vayBpbnRvIFdB TCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZGlXUiwgd2Fs X2J5dGVzID4gMCBBUyBkaVdCCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXRfcGtleSc7CisKK0RFTEVURSBGUk9NIHZlc3RhdDs7CitWQUNV VU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAg T04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRp c3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFz ZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBh Z2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06 aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQg dnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxw YWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3Rh dF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2 ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBk aXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpCitG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgXGdzZXQKKworLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNU IDpkaXdyID4gMCBBUyBkaVdSLCA6ZGl3YiA+IDAgQVMgZGlXQjsKKworLS0gU3RvcmUgV0FM IGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdh bF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCitJTlNFUlQgSU5U TyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUp IGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVN IEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2 YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVN IEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3Rh dGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFy aWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyMiwgd2FsX2J5dGVzLTpp d2IgQVMgZGl3YjIsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkyCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS0g V0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3Rl ZC4KK1NFTEVDVCA6ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2Iy PTAgQVMgZGlXQjsKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMg cmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxl c19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFn ZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAor RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCist LSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jk cyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisK K0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxM RUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0 OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hF Q0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVy IHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jk cy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZw aSBBUyBkaWZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQK K1NFTEVDVCA6ZGl3cjM9MCBBUyBkaVdSLCA6ZGlmcGkzPTAgQVMgaUZQSSwgOmRpd2IzPTAg QVMgZGlXQjsKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVz c2VkIGludG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0g ZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRoZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5u ZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUs cmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBB UyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxl dGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJF IHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworCitT RUxFQ1QgbWluKHJlbGlkKSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMoMCk7CisKK0RS T1AgVEFCTEUgdmVzdGF0OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFj dXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKaW5kZXggYmM4ZDA1MWFlZmEuLmVkNDM1MjU2NmVl IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRp c3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5zcWwKQEAgLTE3LDggKzE3LDcgQEAgU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAn YWxsJzsKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKIAogXHNldCBzYW1w bGVfc2l6ZSAxMDAwMAotU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7Ci1TRVQgdmFj dXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOworCiAtLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0 ZW5jeSA9IHNuYXBzaG90OwogQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1 dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKIElOU0VSVCBJTlRP IHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkg YXMgeDsKLS0gCjIuMzQuMQoK --------------khoCiO40l67itgo2tWR709Ac Content-Type: text/x-patch; charset=UTF-8; name="v10-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v10-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBlODU2MGQyOTZmOTQ0MDU1OGFlOTJlOGM3NzUxODEzN2EzZGM5ZTU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCAyMiBPY3QgMjAyNCAyMTowMjoxNiArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMy8zXSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBkYXRhYmFzZXMuIEl0IHRyYW5zbWl0cyB2YWN1dW0gc3Rh dGlzdGljYWwgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCB0YWJsZSBhbmQKIGFjY3VtdWxhdGVz IGl0IGZvciB0aGUgZGF0YWJhc2Ugd2hpY2ggdGhlIHRhYmxlIGJlbG9uZ2VkLgoKLS0tCiBz cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAyOSArKysr KystCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAg MiArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYyAgfCAg MSArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAx NiArKysrCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAg fCA3NyArKysrKysrKysrKysrKysrKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQgICAgICAgICAgICAgICB8IDExICsrLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0ICAgICAgICAgICB8IDE4ICsrKysrCiAuLi51dCA9PiB2YWN1dW1fdGFibGVz X2FuZF9kYl9zdGF0aXN0aWNzLm91dH0gfCA4MSArKysrKysrKysrKysrKysrKystCiBzcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgMiArLQogLi4u cWwgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWx9IHwgNjYgKysrKysr KysrKysrKystCiAxMSBmaWxlcyBjaGFuZ2VkLCAyOTEgaW5zZXJ0aW9ucygrKSwgMTUgZGVs ZXRpb25zKC0pCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC97dmFjdXVtX3Rh Ymxlc19zdGF0aXN0aWNzLm91dCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNz Lm91dH0gKDc3JSkKIHJlbmFtZSBzcmMvdGVzdC9yZWdyZXNzL3NxbC97dmFjdXVtX3RhYmxl c19zdGF0aXN0aWNzLnNxbCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNx bH0gKDc5JSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3 cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggNGRh MjcxZGFlMTAuLmI2OGUwZjAwYWJkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9n L3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCkBAIC0xNDI0LDcgKzE0MjQsNiBAQCBTRUxFQ1QKICAgQ09BTEVTQ0Uoc3RhdHMu dXNlcl90aW1lLCAwKSBBUyB1c2VyX3RpbWUsCiAgIENPQUxFU0NFKHN0YXRzLnRvdGFsX3Rp bWUsIDApIEFTIHRvdGFsX3RpbWUsCiAgIENPQUxFU0NFKHN0YXRzLmludGVycnVwdHMsIDAp IEFTIGludGVycnVwdHMKLQogRlJPTSBwZ19jbGFzcyByZWwKICAgSk9JTiBwZ19uYW1lc3Bh Y2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZQogICBMRUZUIEpPSU4gcGdfc3Rh dF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzIE9OIHRydWUKQEAgLTE0NjMsNCArMTQ2 MiwzMCBAQCBGUk9NCiAgIHBnX2NsYXNzIHJlbAogICBKT0lOIHBnX25hbWVzcGFjZSBucyBP TiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlCiAgIExFRlQgSk9JTiBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRzIE9OIHRydWUKLVdIRVJFIHJlbC5yZWxraW5kID0g J2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK1dIRVJFIHJlbC5yZWxraW5kID0g J2knOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBBUworU0VMRUNU CisgIGRiLm9pZCBhcyBkYm9pZCwKKyAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisKKyAgQ09B TEVTQ0Uoc3RhdHMuZGJfYmxrc19yZWFkLCAwKSBBUyBkYl9ibGtzX3JlYWQsCisgIENPQUxF U0NFKHN0YXRzLmRiX2Jsa3NfaGl0LCAwKSBBUyBkYl9ibGtzX2hpdCwKKyAgQ09BTEVTQ0Uo c3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLCAwKSBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisg IENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwgMCkgQVMgdG90YWxfYmxrc193 cml0dGVuLAorCisgIENPQUxFU0NFKHN0YXRzLndhbF9yZWNvcmRzLCAwKSBBUyB3YWxfcmVj b3JkcywKKyAgQ09BTEVTQ0Uoc3RhdHMud2FsX2ZwaSwgMCkgQVMgd2FsX2ZwaSwKKyAgQ09B TEVTQ0Uoc3RhdHMud2FsX2J5dGVzLCAwKSBBUyB3YWxfYnl0ZXMsCisKKyAgQ09BTEVTQ0Uo c3RhdHMuYmxrX3JlYWRfdGltZSwgMCkgQVMgYmxrX3JlYWRfdGltZSwKKyAgQ09BTEVTQ0Uo c3RhdHMuYmxrX3dyaXRlX3RpbWUsIDApIEFTIGJsa193cml0ZV90aW1lLAorCisgIENPQUxF U0NFKHN0YXRzLmRlbGF5X3RpbWUsIDApIEFTIGRlbGF5X3RpbWUsCisgIENPQUxFU0NFKHN0 YXRzLnN5c3RlbV90aW1lLCAwKSBBUyBzeXN0ZW1fdGltZSwKKyAgQ09BTEVTQ0Uoc3RhdHMu dXNlcl90aW1lLCAwKSBBUyB1c2VyX3RpbWUsCisgIENPQUxFU0NFKHN0YXRzLnRvdGFsX3Rp bWUsIDApIEFTIHRvdGFsX3RpbWUsCisgIENPQUxFU0NFKHN0YXRzLmludGVycnVwdHMsIDAp IEFTIGludGVycnVwdHMKK0ZST00KKyAgcGdfZGF0YWJhc2UgZGIKKyAgTEVGVCBKT0lOIHBn X3N0YXRfdmFjdXVtX2RhdGFiYXNlKGRiLm9pZCkgc3RhdHMgT04gdHJ1ZTsKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCmlu ZGV4IDg0MzYxN2ViYTI1Li4yMWIyOTgwNDYyMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0LmMKQEAgLTExMjQsNiArMTEyNCw4IEBAIHBnc3RhdF91cGRhdGVfc25hcHNo b3QoUGdTdGF0X0tpbmQga2luZCkKIAkJcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID0gUEdT VEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBTSE9UOwogCQlpZiAoa2luZCA9PSBQR1NUQVRf S0lORF9SRUxBVElPTikKIAkJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9S RUxBVElPTik7CisJCWVsc2UgaWYgKGtpbmQgPT0gUEdTVEFUX0tJTkRfREFUQUJBU0UpCisJ CQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRfREFUQUJBU0UpOwogCX0KIAlQ R19GSU5BTExZKCk7CiAJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X2RhdGFiYXNlLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXRfZGF0YWJhc2UuYwppbmRleCAyOWJjMDkwOTc0OC4uYTA2MGQxYTQwNDIgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCkBAIC00MzAs NiArNDMwLDcgQEAgcGdzdGF0X2RhdGFiYXNlX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAq ZW50cnlfcmVmLCBib29sIG5vd2FpdCkKIAlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3Jl Zik7CiAKIAltZW1zZXQocGVuZGluZ2VudCwgMCwgc2l6ZW9mKCpwZW5kaW5nZW50KSk7CisJ bWVtc2V0KCYocGVuZGluZ2VudCktPnZhY3V1bV9leHQsIDAsIHNpemVvZihFeHRWYWNSZXBv cnQpKTsKIAogCXJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCA1Yzk1MzYzYzA0YS4uNzI1ZTI2NDIzZjIg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlv bi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5j CkBAIC0yMTksNiArMjE5LDcgQEAgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRh Ymxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSkKIAlQZ1N0YXRTaGFyZWRfUmVsYXRp b24gKnNodGFiZW50cnk7CiAJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7CiAJT2lk CQkJZGJvaWQgPSAgTXlEYXRhYmFzZUlkOworCVBnU3RhdF9TdGF0REJFbnRyeSAqZGJlbnRy eTsJLyogcGVuZGluZyBkYXRhYmFzZSBlbnRyeSAqLwogCiAJaWYgKCFwZ3N0YXRfdHJhY2tf Y291bnRzKQogCQlyZXR1cm47CkBAIC0yMzIsNiArMjMzLDEwIEBAIHBnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpCiAJ dGFiZW50cnktPnZhY3V1bV9leHQuaW50ZXJydXB0cysrOwogCXRhYmVudHJ5LT52YWN1dW1f ZXh0LnR5cGUgPSBtX3R5cGU7CiAJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOwor CisJZGJlbnRyeSA9IHBnc3RhdF9wcmVwX2RhdGFiYXNlX3BlbmRpbmcoZGJvaWQpOworCWRi ZW50cnktPnZhY3V1bV9leHQuaW50ZXJydXB0cysrOworCWRiZW50cnktPnZhY3V1bV9leHQu dHlwZSA9IG1fdHlwZTsKIH0KIAogLyoKQEAgLTI0NSw2ICsyNTAsNyBAQCBwZ3N0YXRfcmVw b3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCVBnU3RhdF9FbnRyeVJl ZiAqZW50cnlfcmVmOwogCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKIAlQ Z1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKKwlQZ1N0YXRTaGFyZWRfRGF0YWJhc2Ug KmRiZW50cnk7CiAJT2lkCQkJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0 YWJhc2VJZCk7CiAJVGltZXN0YW1wVHogdHM7CiAKQEAgLTI5OCw2ICszMDQsMTYgQEAgcGdz dGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAkgKiBWQUNV VU0gY29tbWFuZCBoYXMgcHJvY2Vzc2VkIGFsbCB0YWJsZXMgYW5kIGNvbW1pdHRlZC4KIAkg Ki8KIAlwZ3N0YXRfZmx1c2hfaW8oZmFsc2UpOworCWlmIChkYm9pZCAhPSBJbnZhbGlkT2lk KQorCXsKKwkJZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RB VF9LSU5EX0RBVEFCQVNFLAorCQkJCQkJCQkJCQlkYm9pZCwgSW52YWxpZE9pZCwgZmFsc2Up OworCQlkYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9EYXRhYmFzZSAqKSBlbnRyeV9yZWYtPnNo YXJlZF9zdGF0czsKKworCQlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoJmRiZW50 cnktPnN0YXRzLnZhY3V1bV9leHQsIHBhcmFtcywgZmFsc2UpOworCQlwZ3N0YXRfdW5sb2Nr X2VudHJ5KGVudHJ5X3JlZik7CisJfQorCiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9w Z3N0YXRmdW5jcy5jCmluZGV4IDhmNWExN2U3Mzc1Li5jYWMzNGZiZTY0ZiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTIxMDIsOCArMjEwMiw0OSBAQCBwZ19z dGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykKIAogI2RlZmluZSBFWFRWQUNIRUFQ U1RBVF9DT0xVTU5TCTI3CiAjZGVmaW5lIEVYVFZBQ0lEWFNUQVRfQ09MVU1OUwkxOQorI2Rl ZmluZSBFWFRWQUNEQlNUQVRfQ09MVU1OUwkxNQogI2RlZmluZSBFWFRWQUNTVEFUX0NPTFVN TlMgTWF4KEVYVFZBQ0hFQVBTVEFUX0NPTFVNTlMsIEVYVFZBQ0lEWFNUQVRfQ09MVU1OUykK IAorc3RhdGljIHZvaWQKK3R1cGxlc3RvcmVfcHV0X2Zvcl9kYXRhYmFzZShPaWQgZGJpZCwg UmV0dXJuU2V0SW5mbyAqcnNpbmZvLAorCQkJCQkJCVBnU3RhdF9TdGF0REJFbnRyeSAqZGJl bnRyeSkKK3sKKwlEYXR1bQkJdmFsdWVzW0VYVFZBQ0RCU1RBVF9DT0xVTU5TXTsKKwlib29s CQludWxsc1tFWFRWQUNEQlNUQVRfQ09MVU1OU107CisJY2hhcgkJYnVmWzI1Nl07CisJaW50 CQkJaSA9IDA7CisKKwltZW1zZXQobnVsbHMsIDAsIEVYVFZBQ0RCU1RBVF9DT0xVTU5TICog c2l6ZW9mKGJvb2wpKTsKKworCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1bShkYmlk KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShkYmVudHJ5LT52YWN1dW1fZXh0 LnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGRiZW50 cnktPnZhY3V1bV9leHQudG90YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShkYmVudHJ5LT52YWN1dW1fZXh0LnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnZhY3V1bV9leHQudG90YWxfYmxr c193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShkYmVudHJ5LT52 YWN1dW1fZXh0LndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZGJlbnRyeS0+dmFjdXVtX2V4dC53YWxfZnBpKTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJp YywgbGlrZSBwZ19zdGF0X3N0YXRlbWVudHMgKi8KKwlzbnByaW50ZihidWYsIHNpemVvZiBi dWYsIFVJTlQ2NF9GT1JNQVQsIGRiZW50cnktPnZhY3V1bV9leHQud2FsX2J5dGVzKTsKKwl2 YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDMobnVtZXJpY19pbiwKKwkJCQkJCQkJ CSAgQ1N0cmluZ0dldERhdHVtKGJ1ZiksCisJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0o MCksCisJCQkJCQkJCQkgIEludDMyR2V0RGF0dW0oLTEpKTsKKworCXZhbHVlc1tpKytdID0g RmxvYXQ4R2V0RGF0dW0oZGJlbnRyeS0+dmFjdXVtX2V4dC5ibGtfcmVhZF90aW1lKTsKKwl2 YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRiZW50cnktPnZhY3V1bV9leHQuYmxrX3dy aXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZGJlbnRyeS0+dmFj dXVtX2V4dC5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRi ZW50cnktPnZhY3V1bV9leHQuc3lzdGVtX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4 R2V0RGF0dW0oZGJlbnRyeS0+dmFjdXVtX2V4dC51c2VyX3RpbWUpOworCXZhbHVlc1tpKytd ID0gRmxvYXQ4R2V0RGF0dW0oZGJlbnRyeS0+dmFjdXVtX2V4dC50b3RhbF90aW1lKTsKKwl2 YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZGJlbnRyeS0+dmFjdXVtX2V4dC5pbnRlcnJ1 cHRzKTsKKworCUFzc2VydChpID09IHJzaW5mby0+c2V0RGVzYy0+bmF0dHMpOworCXR1cGxl c3RvcmVfcHV0dmFsdWVzKHJzaW5mby0+c2V0UmVzdWx0LCByc2luZm8tPnNldERlc2MsIHZh bHVlcywgbnVsbHMpOworfQorCiBzdGF0aWMgdm9pZAogdHVwbGVzdG9yZV9wdXRfZm9yX3Jl bGF0aW9uKE9pZCByZWxpZCwgUmV0dXJuU2V0SW5mbyAqcnNpbmZvLAogCQkJCQkJCVBnU3Rh dF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5KQpAQCAtMjE5NSw4ICsyMjM2LDkgQEAgcGdfc3Rh dHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZvLCBFeHRWYWNSZXBvcnRUeXBlIHR5 cGUsIGludCBuY29sdW1ucykKIAkJaWYgKE9pZElzVmFsaWQocmVsaWQpKQogCQl7CiAJCQl0 YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKLQkJCWlmICh0 YWJlbnRyeSA9PSBOVUxMIHx8IHRhYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgIT0gdHlwZSkK LQkJCQkvKiBUYWJsZSBkb24ndCBleGlzdHMgb3IgaXNuJ3QgYW4gaGVhcCByZWxhdGlvbi4g Ki8KKworCQkJaWYgKCh0YWJlbnRyeSA9PSBOVUxMIHx8IHRhYmVudHJ5LT52YWN1dW1fZXh0 LnR5cGUgIT0gdHlwZSkpCisJCQkJLyogVGFibGUgZG9uJ3QgZXhpc3RzIG9yIGlzbid0IGEg aGVhcCBvciBpbmRleCByZWxhdGlvbi4gKi8KIAkJCQlyZXR1cm47CiAKIAkJCXR1cGxlc3Rv cmVfcHV0X2Zvcl9yZWxhdGlvbihyZWxpZCwgcnNpbmZvLCB0YWJlbnRyeSk7CkBAIC0yMjA0 LDcgKzIyNDYsNyBAQCBwZ19zdGF0c192YWN1dW0oRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8s IEV4dFZhY1JlcG9ydFR5cGUgdHlwZSwgaW50IG5jb2x1bW5zKQogCQllbHNlCiAJCXsKIAkJ CVNuYXBzaG90SXRlcmF0b3IJCWhhc2hpdGVyOwotCQkJUGdTdGF0X1NuYXBzaG90RW50cnkg ICAqZW50cnk7CisJCQlQZ1N0YXRfU25hcHNob3RFbnRyeSAgICAqZW50cnk7CiAKIAkJCXBn c3RhdF91cGRhdGVfc25hcHNob3QoUEdTVEFUX0tJTkRfUkVMQVRJT04pOwogCkBAIC0yMjIy LDYgKzIyNjQsMjIgQEAgcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZv LCBFeHRWYWNSZXBvcnRUeXBlIHR5cGUsIGludCBuY29sdW1ucykKIAkJCX0KIAkJfQogCX0K KwllbHNlIGlmICh0eXBlID09IFBHU1RBVF9FWFRWQUNfREIpCisJeworCQlQZ1N0YXRfU3Rh dERCRW50cnkJICAgICpkYmVudHJ5OworCQlPaWQJCQkJCQlkYmlkID0gUEdfR0VUQVJHX09J RCgwKTsKKworCQlpZiAoT2lkSXNWYWxpZChkYmlkKSkKKwkJeworCQkJZGJlbnRyeSA9IHBn c3RhdF9mZXRjaF9zdGF0X2RiZW50cnkoZGJpZCk7CisKKwkJCWlmIChkYmVudHJ5ID09IE5V TEwpCisJCQkJLyogRGF0YWJhc2UgZG9lc24ndCBleGlzdCAqLworCQkJCXJldHVybjsKKwor CQkJdHVwbGVzdG9yZV9wdXRfZm9yX2RhdGFiYXNlKGRiaWQsIHJzaW5mbywgZGJlbnRyeSk7 CisJCX0KKwl9CiB9CiAKIC8qCkBAIC0yMjQ0LDQgKzIzMDIsMTUgQEAgcGdfc3RhdF92YWN1 dW1faW5kZXhlcyhQR19GVU5DVElPTl9BUkdTKQogCXBnX3N0YXRzX3ZhY3V1bShmY2luZm8s IFBHU1RBVF9FWFRWQUNfSU5ERVgsIEVYVFZBQ0lEWFNUQVRfQ09MVU1OUyk7CiAKIAlQR19S RVRVUk5fVk9JRCgpOwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30KKworLyoK KyAqIEdldCB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBkYXRhYmFzZS4KKyAqLwor RGF0dW0KK3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNlKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJ cGdfc3RhdHNfdmFjdXVtKGZjaW5mbywgUEdTVEFUX0VYVFZBQ19EQiwgRVhUVkFDREJTVEFU X0NPTFVNTlMpOworCisJUEdfUkVUVVJOX1ZPSUQoKTsKKyB9ClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggODU2ZDA0Yjk4NmYu LmY1Zjk3YTgwY2Y1IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2Mu ZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyMzgwLDUg KzEyMzgwLDE0IEBACiAgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgs aW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4 LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsaW50NH0nLAogICBwcm9hcmdt b2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAog ICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxf Ymxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxr c19yZWFkLHJlbF9ibGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLHdhbF9y ZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUs ZGVsYXlfdGltZSxzeXN0ZW1fdGltZSx1c2VyX3RpbWUsdG90YWxfdGltZSxpbnRlcnJ1cHRz fScsCi0gIHByb3NyYyA9PiAncGdfc3RhdF92YWN1dW1faW5kZXhlcycgfQorICBwcm9zcmMg PT4gJ3BnX3N0YXRfdmFjdXVtX2luZGV4ZXMnIH0sCit7IG9pZCA9PiAnODAwMycsCisgIGRl c2NyID0+ICdwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSByZXR1cm4gc3RhdHMgdmFsdWVzJywK KyAgcHJvbmFtZSA9PiAncGdfc3RhdF92YWN1dW1fZGF0YWJhc2UnLCBwcm9yb3dzID0+IDEw MDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0 cmljdCA9PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2FyZ3R5cGVzID0+ICdv aWQnLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50 OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4 LGZsb2F0OCxpbnQ0fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne2RiaWQsZGJvaWQsZGJfYmxr c19yZWFkLGRiX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0 ZW4sd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3Jp dGVfdGltZSxkZWxheV90aW1lLHN5c3RlbV90aW1lLHVzZXJfdGltZSx0b3RhbF90aW1lLGlu dGVycnVwdHN9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZScgfSwK IF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdz dGF0LmgKaW5kZXggYjc4NGJjYzNlZmUuLmM2ZDY2M2MxYzQ4IDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTc0LDcg KzE3NCw4IEBAIHR5cGVkZWYgZW51bSBFeHRWYWNSZXBvcnRUeXBlCiB7CiAJUEdTVEFUX0VY VFZBQ19JTlZBTElEID0gMCwKIAlQR1NUQVRfRVhUVkFDX0hFQVAgPSAxLAotCVBHU1RBVF9F WFRWQUNfSU5ERVggPSAyCisJUEdTVEFUX0VYVFZBQ19JTkRFWCA9IDIsCisJUEdTVEFUX0VY VFZBQ19EQiA9IDMsCiB9IEV4dFZhY1JlcG9ydFR5cGU7CiAKIC8qIC0tLS0tLS0tLS0KZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggYjI2MTEzODYyMTEuLmY4MTEy ZDU0ZjUyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjIzNyw2 ICsyMjM3LDI0IEBAIHBnX3N0YXRfdXNlcl90YWJsZXN8IFNFTEVDVCByZWxpZCwKICAgICBh dXRvYW5hbHl6ZV9jb3VudAogICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUg KChzY2hlbWFuYW1lIDw+IEFMTCAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpuYW1lLCAnaW5mb3Jt YXRpb25fc2NoZW1hJzo6bmFtZV0pKSBBTkQgKHNjaGVtYW5hbWUgIX4gJ15wZ190b2FzdCc6 OnRleHQpKTsKK3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNlfCBTRUxFQ1QgZGIub2lkIEFTIGRi b2lkLAorICAgIGRiLmRhdG5hbWUgQVMgZGJuYW1lLAorICAgIENPQUxFU0NFKHN0YXRzLmRi X2Jsa3NfcmVhZCwgKDApOjpiaWdpbnQpIEFTIGRiX2Jsa3NfcmVhZCwKKyAgICBDT0FMRVND RShzdGF0cy5kYl9ibGtzX2hpdCwgKDApOjpiaWdpbnQpIEFTIGRiX2Jsa3NfaGl0LAorICAg IENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwgKDApOjpiaWdpbnQpIEFTIHRv dGFsX2Jsa3NfZGlydGllZCwKKyAgICBDT0FMRVNDRShzdGF0cy50b3RhbF9ibGtzX3dyaXR0 ZW4sICgwKTo6YmlnaW50KSBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgQ09BTEVTQ0Uo c3RhdHMud2FsX3JlY29yZHMsICgwKTo6YmlnaW50KSBBUyB3YWxfcmVjb3JkcywKKyAgICBD T0FMRVNDRShzdGF0cy53YWxfZnBpLCAoMCk6OmJpZ2ludCkgQVMgd2FsX2ZwaSwKKyAgICBD T0FMRVNDRShzdGF0cy53YWxfYnl0ZXMsICgwKTo6bnVtZXJpYykgQVMgd2FsX2J5dGVzLAor ICAgIENPQUxFU0NFKHN0YXRzLmJsa19yZWFkX3RpbWUsICgwKTo6ZG91YmxlIHByZWNpc2lv bikgQVMgYmxrX3JlYWRfdGltZSwKKyAgICBDT0FMRVNDRShzdGF0cy5ibGtfd3JpdGVfdGlt ZSwgKDApOjpkb3VibGUgcHJlY2lzaW9uKSBBUyBibGtfd3JpdGVfdGltZSwKKyAgICBDT0FM RVNDRShzdGF0cy5kZWxheV90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIGRlbGF5 X3RpbWUsCisgICAgQ09BTEVTQ0Uoc3RhdHMuc3lzdGVtX3RpbWUsICgwKTo6ZG91YmxlIHBy ZWNpc2lvbikgQVMgc3lzdGVtX3RpbWUsCisgICAgQ09BTEVTQ0Uoc3RhdHMudXNlcl90aW1l LCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIHVzZXJfdGltZSwKKyAgICBDT0FMRVNDRShz dGF0cy50b3RhbF90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIHRvdGFsX3RpbWUs CisgICAgQ09BTEVTQ0Uoc3RhdHMuaW50ZXJydXB0cywgMCkgQVMgaW50ZXJydXB0cworICAg RlJPTSAocGdfZGF0YWJhc2UgZGIKKyAgICAgTEVGVCBKT0lOIExBVEVSQUwgcGdfc3RhdF92 YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhkYm9pZCwgZGJfYmxrc19yZWFkLCBkYl9i bGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHdhbF9y ZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90 aW1lLCBkZWxheV90aW1lLCBzeXN0ZW1fdGltZSwgdXNlcl90aW1lLCB0b3RhbF90aW1lLCBp bnRlcnJ1cHRzKSBPTiAodHJ1ZSkpOwogcGdfc3RhdF92YWN1dW1faW5kZXhlc3wgU0VMRUNU IHJlbC5vaWQgQVMgcmVsaWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hlbWEsCiAgICAgcmVs LnJlbG5hbWUsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Zh Y3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CnNpbWlsYXJpdHkgaW5kZXggNzcl CnJlbmFtZSBmcm9tIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19z dGF0aXN0aWNzLm91dApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dAppbmRleCA4YmY3MDZmZGY4Ni4uN2Ew YjNiYTk2ZTEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CkBAIC02LDYgKzYsOSBAQAog LS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tl bmQuCiAtLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVz dCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KIC0tCitDUkVBVEUgREFUQUJB U0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFCQVNFIHJl Z3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0YXRpc3Rp Y192YWN1dW1fZGI7CiAtLSBjb25kaXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291 bnRzOyAgLS0gbXVzdCBiZSBvbgogIHRyYWNrX2NvdW50cyAKQEAgLTE3NSwxMCArMTc4LDcg QEAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQn OwogCiBTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIHBmLCBwYWdlc19hbGxfdmlzaWJsZSBBUyBw diwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMg QVMgaGF2cAogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnIFxnc2V0Ci1VUERBVEUgdmVzdGF0IFNFVCB4ID0geDEwMDE7Ci1FUlJPUjogIGNv bHVtbiAieDEwMDEiIGRvZXMgbm90IGV4aXN0Ci1MSU5FIDE6IFVQREFURSB2ZXN0YXQgU0VU IHggPSB4MTAwMTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK1VQREFURSB2 ZXN0YXQgU0VUIHggPSB4KzEwMDE7CiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgpIHZlc3RhdDsKIFNFTEVDVCBwYWdlc19mcm96ZW4gPiA6cGYgQVMgcGFn ZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4gOnB2IEFTIHBhZ2VzX2FsbF92aXNpYmxl LHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMs cmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2Vz CiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7 CkBAIC0yMDQsNCArMjA0LDc3IEBAIFNFTEVDVCBtaW4ocmVsaWQpIEZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzKDApIHdoZXJlIHJlbGlkID4gMDsKICAxMjEzCiAoMSByb3cpCiAKKy0t IE5vdyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgY3VycmVudCBkYXRhYmFzZQorU0VM RUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisg ICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisg ICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisg ICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkg PiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisg ICAgICAgdXNlcl90aW1lID4gMCBBUyB1c2VyX3RpbWUsCisgICAgICAgdG90YWxfdGltZSA+ IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKK1dIRVJF IGRibmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKTsKKyAgICAgICAgICAgICBkYm5hbWUgICAg ICAgICAgICAgfCBkYl9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Js a3Nfd3JpdHRlbiB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IHVzZXJf dGltZSB8IHRvdGFsX3RpbWUgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLQorIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYiB8IHQgICAgICAgICAg IHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAg ICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdCAgICAgICAgIHwgdAorKDEgcm93KQorCitE Uk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJl IGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0 X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEg cm93KQorCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9l bmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNF TEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5B TFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0gMTAwMDE7CitWQUNVVU0gKFBB UkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKK1xjIHJlZ3Jlc3Np b25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3Rp Y3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQorU0VMRUNU IGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAg ICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAg ICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAg ICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAw IEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAg ICAgdXNlcl90aW1lID4gMCBBUyB1c2VyX3RpbWUsCisgICAgICAgdG90YWxfdGltZSA+IDAg QVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRi bmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGInOworICAgICAgICAgICAg IGRibmFtZSAgICAgICAgICAgICB8IGRiX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVk IHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5 dGVzIHwgdXNlcl90aW1lIHwgdG90YWxfdGltZSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiIHwg dCAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAg fCB0ICAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAgfCB0ICAgICAgICAgfCB0Ciso MSByb3cpCisKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYgogRFJPUCBUQUJM RSB2ZXN0YXQgQ0FTQ0FERTsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7 CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJhc2UgZAorQ1JPU1MgSk9JTiBwZ19z dGF0X3ZhY3V1bV90YWJsZXMoMCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAorIGNv dW50IAorLS0tLS0tLQorICAgICAwCisoMSByb3cpCisKK1NFTEVDVCBjb3VudCgqKQorRlJP TSBwZ19kYXRhYmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlKDAp CitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKyBjb3VudCAKKy0tLS0tLS0KKyAgICAg MAorKDEgcm93KQorCitcYyBwb3N0Z3JlcworRFJPUCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3Rp Y192YWN1dW1fZGI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3Nj aGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQppbmRleCA5ODQ3 YTMzMGVkMS4uMWJhMzJiODdjZjUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFy YWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZQpAQCAtMTQxLDQgKzE0MSw0IEBAIHRlc3Q6IHRhYmxlc3BhY2UKICMgQ2hlY2sgdmFjdXVt IHN0YXRpc3RpY3MKICMgLS0tLS0tLS0tLQogdGVzdDogdmFjdXVtX2luZGV4X3N0YXRpc3Rp Y3MKLXRlc3Q6IHZhY3V1bV90YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKK3Rlc3Q6IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3MKXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3Nx bC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKc2ltaWxhcml0eSBpbmRleCA3 OSUKcmVuYW1lIGZyb20gc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0 aXN0aWNzLnNxbApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxl c19hbmRfZGJfc3RhdGlzdGljcy5zcWwKaW5kZXggZWQ0MzUyNTY2ZWUuLmEzZGRjOTQxOWRl IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRp c3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5k X2RiX3N0YXRpc3RpY3Muc3FsCkBAIC03LDYgKzcsMTAgQEAKIC0tIFN0YXRpc3RpYyB3YWxf ZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9y IGlzIHVuc3RhYmxlLgogLS0KIAorQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlz dGljX3ZhY3V1bV9kYjsKK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192 YWN1dW1fZGIxOworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworCiAtLSBj b25kaXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBv bgogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4u LgpAQCAtMTQwLDcgKzE0NCw3IEBAIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0JzsKIFNFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2Vz X2FsbF92aXNpYmxlIEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9h bGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKIAotVVBEQVRFIHZlc3RhdCBTRVQgeCA9 IHgxMDAxOworVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHgrMTAwMTsKIFZBQ1VVTSAoUEFSQUxM RUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OwogCiBTRUxFQ1QgcGFnZXNf ZnJvemVuID4gOnBmIEFTIHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSA+IDpwdiBB UyBwYWdlc19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zyb3plbl9wYWdlcyA+IDpoYWZwIEFTIHJl dl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJl dl9hbGxfdmlzaWJsZV9wYWdlcwpAQCAtMTU2LDQgKzE2MCw2MiBAQCBGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CiAKIFNFTEVDVCBtaW4o cmVsaWQpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzKDApIHdoZXJlIHJlbGlkID4gMDsK IAotRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1cnJlbnQgZGF0YWJh c2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Jsa3Nf aGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0 aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193cml0 dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3 YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5 dGVzLAorICAgICAgIHVzZXJfdGltZSA+IDAgQVMgdXNlcl90aW1lLAorICAgICAgIHRvdGFs X3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNl CitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCk7CisKK0RST1AgVEFCTEUgdmVz dGF0IENBU0NBREU7CisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitT RUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKK0NSRUFURSBUQUJMRSB2ZXN0 YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3Ig PSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJp ZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2ZXN0 YXQgU0VUIHggPSAxMDAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJ TUlUIDEyOCkgdmVzdGF0OworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIx OworCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHBvc3RncmVzIGRhdGFi YXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9i bGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVk ID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVu ID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFT IHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAg d2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAgICAgdXNlcl90aW1lID4gMCBBUyB1 c2VyX3RpbWUsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQor cGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGInOworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGIKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKworXGMgcmVncmVzc2lvbl9zdGF0 aXN0aWNfdmFjdXVtX2RiMTsKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19kYXRhYmFzZSBk CitDUk9TUyBKT0lOIHBnX3N0YXRfdmFjdXVtX3RhYmxlcygwKQorV0hFUkUgb2lkID0gMDsg LS0gbXVzdCBiZSAwCisKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19kYXRhYmFzZSBkCitD Uk9TUyBKT0lOIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlKDApCitXSEVSRSBvaWQgPSAwOyAt LSBtdXN0IGJlIDAKKworXGMgcG9zdGdyZXMKK0RST1AgREFUQUJBU0UgcmVncmVzc2lvbl9z dGF0aXN0aWNfdmFjdXVtX2RiMTsKK0RST1AgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0 aWNfdmFjdXVtX2RiOwotLSAKMi4zNC4xCgo= --------------khoCiO40l67itgo2tWR709Ac Content-Type: text/x-patch; charset=UTF-8; name="v10-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v10-0004-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA1NWE2ZThjN2RjZDljYjNlYzljNGU4N2ExM2VlOWM1YmQ1NzE4M2JmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAyNCAxNzo0Nzo1NSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc0NyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NDcgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCA2MWQyOGU3MDFmMi4uOTNm ZTlmZTM2YzcgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTUwNjQsNCArNTA2NCw3 NTEgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXRzLXZhY3V1bS1kYXRhYmFzZSI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT48L3RpdGxlPgorCisgIDxpbmRleHRlcm0g em9uZT0idmlldy1wZy1zdGF0cy12YWN1dW0tZGF0YWJhc2UiPgorICAgPHByaW1hcnk+cGdf c3RhdF92YWN1dW1fZGF0YWJhc2U8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisgIDxw YXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fZGF0YWJhc2U8 L3N0cnVjdG5hbWU+IHdpbGwgY29udGFpbgorICAgb25lIHJvdyBmb3IgZWFjaCBkYXRhYmFz ZSBpbiB0aGUgY3VycmVudCBjbHVzdGVyLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQKKyAg IHZhY3V1bWluZyB0aGF0IGRhdGFiYXNlLgorICA8L3BhcmE+CisKKyAgPHRhYmxlPgorICAg PHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1l PiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5 PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ ZGJpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIE9JRCBvZiBhIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAg ICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2Yg dGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAgICAgIGJ1ZmZl ciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mg ZGlydGllZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX3dyaXR0ZW48L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mg d3JpdHRlbiBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVj b3Jkczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2Vu ZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlz IGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9ieXRl czwvc3RydWN0ZmllbGQ+IDx0eXBlPm51bWVyaWM8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgYW1vdW50IG9mIFdBTCBieXRlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+YmxrX3JlYWRfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tz IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFi YXNlLCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10 aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIFRpbWUgc3BlbnQgd3JpdGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9w ZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxp c2Vjb25kcyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBl bmFibGVkLAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRlbGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25z IHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMg KHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1lLWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29z dCIvPgorICAgICAgICBmb3IgZGV0YWlscykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1l IG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNlcl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vj b25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2Us IGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5p bnRlcnJ1cHRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgICAgd2VyZSBpbnRlcnJ1 cHRlZCBvbiBhbnkgZXJyb3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisK KyAgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXRzLXZhY3V1bS1pbmRleGVzIj4KKyAgPHRpdGxl PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2luZGV4ZXM8L3N0cnVjdG5hbWU+PC90aXRs ZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3RhdHMtdmFjdXVtLWluZGV4ZXMi PgorICAgPHByaW1hcnk+cGdfc3RhdF92YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9p bmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cg Zm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FT VAorICAgdGFibGUgaW5kZXhlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1p bmcgdGhhdCBzcGVjaWZpYyBpbmRleC4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBD b2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5Pgor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVs aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hl bWEgdGhpcyBpbmRleCBpcyBpbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIHRpbWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBi dWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9u IHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxf Ymxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tz IGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRo aXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg aW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVh ZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyBy ZWFkIGZyb20gdGhpcworICAgICAgICBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1l cyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4g dGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQg d2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGlu IHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5n IHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFn ZXMgZGVsZXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNf ZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBv cGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPndhbF9yZWNvcmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1i ZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAg ICAgIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwg ZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2Yg V0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJm b3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0 YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAg ICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10 cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8p CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAg ICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1 bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZh Y3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBt aWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4g aXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9h dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBz cGVudCBzbGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0 aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRz IChzZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNv c3QiLz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGlt ZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0 ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxs aXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW50ZXJydXB0 czwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMg cGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBh bnkgZXJyb3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90 Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisKKyA8c2VjdDEg aWQ9InZpZXctcGctc3RhdHMtdmFjdXVtLXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFt ZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5k ZXh0ZXJtIHpvbmU9InZpZXctcGctc3RhdHMtdmFjdXVtLXRhYmxlcyI+CisgICA8cHJpbWFy eT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisg IDxwYXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVz PC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggdGFibGUg aW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGVzKSwg c2hvd2luZyBzdGF0aXN0aWNzIGFib3V0IHZhY3V1bWluZyB0aGF0IHNwZWNpZmljIHRhYmxl LgorICA8L3BhcmE+CisKKyAgPHRhYmxlPgorICAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0 YXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT4gQ29sdW1uczwvdGl0bGU+CisgICA8dGdy b3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ b2lkPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9m IGEgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyB0YWJsZSBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0 YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19mcm96ZW48L3N0cnVjdGZp ZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBtYXJrZWQgcGFnZXMg b2YgdGhpcyB0YWJsZQorICAgICAgICBhcyBhbGwtZnJvemVuIGluIHRoZSB2aXNpYmlsaXR5 IG1hcAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19hbGxfdmlz aWJsZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZhY3V1bSBvcGVyYXRpb25z IG1hcmtlZCBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICAgIGFzIGFsbC12aXNpYmxlIGlu IHRoZSB2aXNpYmlsaXR5IG1hcAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVz IHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0aGlzIHRhYmxlCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1cGxlc19mcm96ZW48L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0dXBsZXMgb2YgdGhpcyB0YWJsZSB0aGF0IHZhY3V1bSBvcGVyYXRpb25z IG1hcmtlZCBhcworICAgICAgICBmcm96ZW4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+ZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkZWFkIHR1 cGxlcyB2YWN1dW0gb3BlcmF0aW9ucyBsZWZ0IGluIHRoaXMgdGFibGUgZHVlCisgICAgICAg IHRvIHRoZWlyIHZpc2liaWxpdHkgaW4gdHJhbnNhY3Rpb25zCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPmluZGV4X3ZhY3V1bV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIHRpbWVzIGluZGV4ZXMgb24gdGhpcyB0YWJsZSB3ZXJlIHZhY3V1bWVkCisg ICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5f ZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJldl9hbGxfZnJvemVuX3BhZ2Vz PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIGFsbC1mcm96ZW4gbWFyayBp biB0aGUgdmlzaWJpbGl0eSBtYXAKKyAgICAgICAgd2FzIHJlbW92ZWQgZm9yIHBhZ2VzIG9m IHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmV2X2Fs bF92aXNpYmxlX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIGFs bC12aXNpYmxlIG1hcmsgaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAgICAgIHdhcyByZW1v dmVkIGZvciBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPndhbF9yZWNvcmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2Yg V0FMIHJlY29yZHMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBl cmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPndhbF9mcGk8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBw YWdlIGltYWdlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5 dGVzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQg b24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisg ICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtf cmVhZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2Ug YmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlz IHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1p by10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIHRhYmxlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyB0YWJsZSwgaW4gbWlsbGlzZWNvbmRzIChzZWUg PHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4K KyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2 YWN1dW1pbmcgdGhpcyB0YWJsZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQ VSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVu dHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZp bml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW50ZXJydXB0czwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9y bWVkIG9uIHRoaXMgdGFibGUKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBhbnkgZXJy b3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90Ym9keT4K KyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVs ZD50b3RhbF8qPC9zdHJ1Y3RmaWVsZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0Zmll bGQ+CisgICAgYW5kIDxzdHJ1Y3RmaWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUg ZGF0YSBvbiB2YWN1dW1pbmcgaW5kZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5z CisgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1 Y3RmaWVsZD51c2VyX3RpbWU8L3N0cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAg IG9uIHZhY3V1bWluZyB0aGUgaGVhcC48L3BhcmE+CisgPC9zZWN0MT4KKwogPC9jaGFwdGVy PgotLSAKMi4zNC4xCgo= --------------khoCiO40l67itgo2tWR709Ac Content-Type: text/plain; charset=UTF-8; name="vacuum_stats_diff.no-cfbot" Content-Disposition: attachment; filename="vacuum_stats_diff.no-cfbot" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCBiNjNjMTgwNGI0MS4u YjY4ZTBmMDBhYmQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAg LTEzOTIsNDggKzEzOTIsNDIgQEAgU0VMRUNUCiAgIG5zLm5zcG5hbWUgQVMgInNjaGVtYSIs CiAgIHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUsCiAKLSAgc3RhdHMudG90YWxfYmxrc19yZWFk LAotICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKLSAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVk LAotICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCi0KLSAgc3RhdHMucmVsX2Jsa3NfcmVh ZCwKLSAgc3RhdHMucmVsX2Jsa3NfaGl0LAotCi0gIHN0YXRzLnBhZ2VzX3NjYW5uZWQsCi0g IHN0YXRzLnBhZ2VzX3JlbW92ZWQsCi0gIHN0YXRzLnBhZ2VzX2Zyb3plbiwKLSAgc3RhdHMu cGFnZXNfYWxsX3Zpc2libGUsCi0gIHN0YXRzLnR1cGxlc19kZWxldGVkLAotICBzdGF0cy50 dXBsZXNfZnJvemVuLAotICBzdGF0cy5kZWFkX3R1cGxlcywKLQotICBzdGF0cy5pbmRleF92 YWN1dW1fY291bnQsCi0gIHN0YXRzLnJldl9hbGxfZnJvemVuX3BhZ2VzLAotICBzdGF0cy5y ZXZfYWxsX3Zpc2libGVfcGFnZXMsCi0KLSAgc3RhdHMud2FsX3JlY29yZHMsCi0gIHN0YXRz LndhbF9mcGksCi0gIHN0YXRzLndhbF9ieXRlcywKLQotICBzdGF0cy5ibGtfcmVhZF90aW1l LAotICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKLQotICBzdGF0cy5kZWxheV90aW1lLAotICBz dGF0cy5zeXN0ZW1fdGltZSwKLSAgc3RhdHMudXNlcl90aW1lLAotICBzdGF0cy50b3RhbF90 aW1lLAotICBzdGF0cy5pbnRlcnJ1cHRzCi1GUk9NCi0gIHBnX2RhdGFiYXNlIGRiLAotICBw Z19jbGFzcyByZWwsCi0gIHBnX25hbWVzcGFjZSBucywKLSAgcGdfc3RhdF92YWN1dW1fdGFi bGVzKHJlbC5vaWQpIHN0YXRzCi1XSEVSRQotICBkYi5kYXRuYW1lID0gY3VycmVudF9kYXRh YmFzZSgpIEFORAotICByZWwub2lkID0gc3RhdHMucmVsaWQgQU5ECi0gIG5zLm9pZCA9IHJl bC5yZWxuYW1lc3BhY2UgQU5ECi0gIHJlbC5yZWxraW5kID0gJ3InOworICBDT0FMRVNDRShz dGF0cy50b3RhbF9ibGtzX3JlYWQsIDApIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgQ09BTEVT Q0Uoc3RhdHMudG90YWxfYmxrc19oaXQsIDApIEFTIHRvdGFsX2Jsa3NfaGl0LAorICBDT0FM RVNDRShzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsIDApIEFTIHRvdGFsX2Jsa3NfZGlydGll ZCwKKyAgQ09BTEVTQ0Uoc3RhdHMudG90YWxfYmxrc193cml0dGVuLCAwKSBBUyB0b3RhbF9i bGtzX3dyaXR0ZW4sCisKKyAgQ09BTEVTQ0Uoc3RhdHMucmVsX2Jsa3NfcmVhZCwgMCkgQVMg cmVsX2Jsa3NfcmVhZCwKKyAgQ09BTEVTQ0Uoc3RhdHMucmVsX2Jsa3NfaGl0LCAwKSBBUyBy ZWxfYmxrc19oaXQsCisKKyAgQ09BTEVTQ0Uoc3RhdHMucGFnZXNfc2Nhbm5lZCwgMCkgQVMg cGFnZXNfc2Nhbm5lZCwKKyAgQ09BTEVTQ0Uoc3RhdHMucGFnZXNfcmVtb3ZlZCwgMCkgQVMg cGFnZXNfcmVtb3ZlZCwKKyAgQ09BTEVTQ0Uoc3RhdHMucGFnZXNfZnJvemVuLCAwKSBBUyBw YWdlc19mcm96ZW4sCisgIENPQUxFU0NFKHN0YXRzLnBhZ2VzX2FsbF92aXNpYmxlLCAwKSBB UyBwYWdlc19hbGxfdmlzaWJsZSwKKyAgQ09BTEVTQ0Uoc3RhdHMudHVwbGVzX2RlbGV0ZWQs IDApIEFTIHR1cGxlc19kZWxldGVkLAorICBDT0FMRVNDRShzdGF0cy50dXBsZXNfZnJvemVu LCAwKSBBUyB0dXBsZXNfZnJvemVuLAorICBDT0FMRVNDRShzdGF0cy5kZWFkX3R1cGxlcywg MCkgQVMgZGVhZF90dXBsZXMsCisKKyAgQ09BTEVTQ0Uoc3RhdHMuaW5kZXhfdmFjdXVtX2Nv dW50LCAwKSBBUyBpbmRleF92YWN1dW1fY291bnQsCisgIENPQUxFU0NFKHN0YXRzLnJldl9h bGxfZnJvemVuX3BhZ2VzLCAwKSBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcywKKyAgQ09BTEVT Q0Uoc3RhdHMucmV2X2FsbF92aXNpYmxlX3BhZ2VzLCAwKSBBUyByZXZfYWxsX3Zpc2libGVf cGFnZXMsCisKKyAgQ09BTEVTQ0Uoc3RhdHMud2FsX3JlY29yZHMsIDApIEFTIHdhbF9yZWNv cmRzLAorICBDT0FMRVNDRShzdGF0cy53YWxfZnBpLCAwKSBBUyB3YWxfZnBpLAorICBDT0FM RVNDRShzdGF0cy53YWxfYnl0ZXMsIDApIEFTIHdhbF9ieXRlcywKKworICBDT0FMRVNDRShz dGF0cy5ibGtfcmVhZF90aW1lLCAwKSBBUyBibGtfcmVhZF90aW1lLAorICBDT0FMRVNDRShz dGF0cy5ibGtfd3JpdGVfdGltZSwgMCkgQVMgYmxrX3dyaXRlX3RpbWUsCisKKyAgQ09BTEVT Q0Uoc3RhdHMuZGVsYXlfdGltZSwgMCkgQVMgZGVsYXlfdGltZSwKKyAgQ09BTEVTQ0Uoc3Rh dHMuc3lzdGVtX3RpbWUsIDApIEFTIHN5c3RlbV90aW1lLAorICBDT0FMRVNDRShzdGF0cy51 c2VyX3RpbWUsIDApIEFTIHVzZXJfdGltZSwKKyAgQ09BTEVTQ0Uoc3RhdHMudG90YWxfdGlt ZSwgMCkgQVMgdG90YWxfdGltZSwKKyAgQ09BTEVTQ0Uoc3RhdHMuaW50ZXJydXB0cywgMCkg QVMgaW50ZXJydXB0cworRlJPTSBwZ19jbGFzcyByZWwKKyAgSk9JTiBwZ19uYW1lc3BhY2Ug bnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZQorICBMRUZUIEpPSU4gcGdfc3RhdF92 YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzIE9OIHRydWUKK1dIRVJFIHJlbC5yZWxraW5k ID0gJ3InOwogCiBDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIEFTCiBTRUxF Q1QKQEAgLTE0NDEsNjQgKzE0MzUsNTcgQEAgU0VMRUNUCiAgIG5zLm5zcG5hbWUgQVMgInNj aGVtYSIsCiAgIHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUsCiAKLSAgc3RhdHMudG90YWxfYmxr c19yZWFkLAotICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKLSAgc3RhdHMudG90YWxfYmxrc19k aXJ0aWVkLAotICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgIENPQUxFU0NFKHRvdGFs X2Jsa3NfcmVhZCwgMCkgQVMgdG90YWxfYmxrc19yZWFkLAorICBDT0FMRVNDRSh0b3RhbF9i bGtzX2hpdCwgMCkgQVMgdG90YWxfYmxrc19oaXQsCisgIENPQUxFU0NFKHRvdGFsX2Jsa3Nf ZGlydGllZCwgMCkgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICBDT0FMRVNDRSh0b3RhbF9i bGtzX3dyaXR0ZW4sIDApIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKIAotICBzdGF0cy5yZWxf Ymxrc19yZWFkLAotICBzdGF0cy5yZWxfYmxrc19oaXQsCisgIENPQUxFU0NFKHJlbF9ibGtz X3JlYWQsIDApIEFTIHJlbF9ibGtzX3JlYWQsCisgIENPQUxFU0NFKHJlbF9ibGtzX2hpdCwg MCkgQVMgcmVsX2Jsa3NfaGl0LAogCi0gIHN0YXRzLnBhZ2VzX2RlbGV0ZWQsCi0gIHN0YXRz LnR1cGxlc19kZWxldGVkLAorICBDT0FMRVNDRShwYWdlc19kZWxldGVkLCAwKSBBUyBwYWdl c19kZWxldGVkLAorICBDT0FMRVNDRSh0dXBsZXNfZGVsZXRlZCwgMCkgQVMgdHVwbGVzX2Rl bGV0ZWQsCiAKLSAgc3RhdHMud2FsX3JlY29yZHMsCi0gIHN0YXRzLndhbF9mcGksCi0gIHN0 YXRzLndhbF9ieXRlcywKKyAgQ09BTEVTQ0Uod2FsX3JlY29yZHMsIDApIEFTIHdhbF9yZWNv cmRzLAorICBDT0FMRVNDRSh3YWxfZnBpLCAwKSBBUyB3YWxfZnBpLAorICBDT0FMRVNDRSh3 YWxfYnl0ZXMsIDApIEFTIHdhbF9ieXRlcywKIAotICBzdGF0cy5ibGtfcmVhZF90aW1lLAot ICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAgQ09BTEVTQ0UoYmxrX3JlYWRfdGltZSwgMCkg QVMgYmxrX3JlYWRfdGltZSwKKyAgQ09BTEVTQ0UoYmxrX3dyaXRlX3RpbWUsIDApIEFTIGJs a193cml0ZV90aW1lLAogCi0gIHN0YXRzLmRlbGF5X3RpbWUsCi0gIHN0YXRzLnN5c3RlbV90 aW1lLAotICBzdGF0cy51c2VyX3RpbWUsCi0gIHN0YXRzLnRvdGFsX3RpbWUsCi0gIHN0YXRz LmludGVycnVwdHMKKyAgQ09BTEVTQ0UoZGVsYXlfdGltZSwgMCkgQVMgZGVsYXlfdGltZSwK KyAgQ09BTEVTQ0Uoc3lzdGVtX3RpbWUsIDApIEFTIHN5c3RlbV90aW1lLAorICBDT0FMRVND RSh1c2VyX3RpbWUsIDApIEFTIHVzZXJfdGltZSwKKyAgQ09BTEVTQ0UodG90YWxfdGltZSwg MCkgQVMgdG90YWxfdGltZSwKKyAgQ09BTEVTQ0UoaW50ZXJydXB0cywgMCkgQVMgaW50ZXJy dXB0cwogRlJPTQotICBwZ19kYXRhYmFzZSBkYiwKLSAgcGdfY2xhc3MgcmVsLAotICBwZ19u YW1lc3BhY2UgbnMsCi0gIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMK LVdIRVJFCi0gIGRiLmRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkgQU5ECi0gIHJlbC5v aWQgPSBzdGF0cy5yZWxpZCBBTkQKLSAgbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSBBTkQK LSAgcmVsLnJlbGtpbmQgPSAnaSc7CisgIHBnX2NsYXNzIHJlbAorICBKT0lOIHBnX25hbWVz cGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlCisgIExFRlQgSk9JTiBwZ19z dGF0X3ZhY3V1bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRzIE9OIHRydWUKK1dIRVJFIHJlbC5y ZWxraW5kID0gJ2knOwogCiBDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBB UwogU0VMRUNUCiAgIGRiLm9pZCBhcyBkYm9pZCwKICAgZGIuZGF0bmFtZSBBUyBkYm5hbWUs CiAKLSAgc3RhdHMuZGJfYmxrc19yZWFkLAotICBzdGF0cy5kYl9ibGtzX2hpdCwKLSAgc3Rh dHMudG90YWxfYmxrc19kaXJ0aWVkLAotICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCi0K LSAgc3RhdHMud2FsX3JlY29yZHMsCi0gIHN0YXRzLndhbF9mcGksCi0gIHN0YXRzLndhbF9i eXRlcywKKyAgQ09BTEVTQ0Uoc3RhdHMuZGJfYmxrc19yZWFkLCAwKSBBUyBkYl9ibGtzX3Jl YWQsCisgIENPQUxFU0NFKHN0YXRzLmRiX2Jsa3NfaGl0LCAwKSBBUyBkYl9ibGtzX2hpdCwK KyAgQ09BTEVTQ0Uoc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLCAwKSBBUyB0b3RhbF9ibGtz X2RpcnRpZWQsCisgIENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwgMCkgQVMg dG90YWxfYmxrc193cml0dGVuLAogCi0gIHN0YXRzLmJsa19yZWFkX3RpbWUsCi0gIHN0YXRz LmJsa193cml0ZV90aW1lLAorICBDT0FMRVNDRShzdGF0cy53YWxfcmVjb3JkcywgMCkgQVMg d2FsX3JlY29yZHMsCisgIENPQUxFU0NFKHN0YXRzLndhbF9mcGksIDApIEFTIHdhbF9mcGks CisgIENPQUxFU0NFKHN0YXRzLndhbF9ieXRlcywgMCkgQVMgd2FsX2J5dGVzLAogCi0gIHN0 YXRzLmRlbGF5X3RpbWUsCi0gIHN0YXRzLnN5c3RlbV90aW1lLAotICBzdGF0cy51c2VyX3Rp bWUsCi0gIHN0YXRzLnRvdGFsX3RpbWUsCisgIENPQUxFU0NFKHN0YXRzLmJsa19yZWFkX3Rp bWUsIDApIEFTIGJsa19yZWFkX3RpbWUsCisgIENPQUxFU0NFKHN0YXRzLmJsa193cml0ZV90 aW1lLCAwKSBBUyBibGtfd3JpdGVfdGltZSwKIAotICBzdGF0cy5pbnRlcnJ1cHRzCisgIENP QUxFU0NFKHN0YXRzLmRlbGF5X3RpbWUsIDApIEFTIGRlbGF5X3RpbWUsCisgIENPQUxFU0NF KHN0YXRzLnN5c3RlbV90aW1lLCAwKSBBUyBzeXN0ZW1fdGltZSwKKyAgQ09BTEVTQ0Uoc3Rh dHMudXNlcl90aW1lLCAwKSBBUyB1c2VyX3RpbWUsCisgIENPQUxFU0NFKHN0YXRzLnRvdGFs X3RpbWUsIDApIEFTIHRvdGFsX3RpbWUsCisgIENPQUxFU0NFKHN0YXRzLmludGVycnVwdHMs IDApIEFTIGludGVycnVwdHMKIEZST00KLSAgcGdfZGF0YWJhc2UgZGIgTEVGVCBKT0lOIHBn X3N0YXRfdmFjdXVtX2RhdGFiYXNlKGRiLm9pZCkgc3RhdHMKLU9OCi0gIGRiLm9pZCA9IHN0 YXRzLmRib2lkOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgcGdfZGF0YWJhc2Ug ZGIKKyAgTEVGVCBKT0lOIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlKGRiLm9pZCkgc3RhdHMg T04gdHJ1ZTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZ3N0YXRmdW5jcy5jCmluZGV4IDRkMWMwOTliMzdlLi5jYWMzNGZiZTY0ZiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTIxMDcsNyArMjEwNyw3IEBAIHBn X3N0YXRfaGF2ZV9zdGF0cyhQR19GVU5DVElPTl9BUkdTKQogCiBzdGF0aWMgdm9pZAogdHVw bGVzdG9yZV9wdXRfZm9yX2RhdGFiYXNlKE9pZCBkYmlkLCBSZXR1cm5TZXRJbmZvICpyc2lu Zm8sCi0JCQkJCQkJUGdTdGF0U2hhcmVkX0RhdGFiYXNlICpkYmVudHJ5KQorCQkJCQkJCVBn U3RhdF9TdGF0REJFbnRyeSAqZGJlbnRyeSkKIHsKIAlEYXR1bQkJdmFsdWVzW0VYVFZBQ0RC U1RBVF9DT0xVTU5TXTsKIAlib29sCQludWxsc1tFWFRWQUNEQlNUQVRfQ09MVU1OU107CkBA IC0yMTE4LDI4ICsyMTE4LDI4IEBAIHR1cGxlc3RvcmVfcHV0X2Zvcl9kYXRhYmFzZShPaWQg ZGJpZCwgUmV0dXJuU2V0SW5mbyAqcnNpbmZvLAogCiAJdmFsdWVzW2krK10gPSBPYmplY3RJ ZEdldERhdHVtKGRiaWQpOwogCi0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGRiZW50 cnktPnN0YXRzLnZhY3V1bV9leHQudG90YWxfYmxrc19yZWFkKTsKLQl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC50b3RhbF9ibGtzX2hp dCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1 bV9leHQudG90YWxfYmxrc19kaXJ0aWVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC50b3RhbF9ibGtzX3dyaXR0ZW4pOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShkYmVudHJ5LT52YWN1dW1fZXh0LnRvdGFsX2Js a3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnZhY3V1 bV9leHQudG90YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShk YmVudHJ5LT52YWN1dW1fZXh0LnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnZhY3V1bV9leHQudG90YWxfYmxrc193cml0dGVu KTsKIAotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1 dW1fZXh0LndhbF9yZWNvcmRzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZGJl bnRyeS0+c3RhdHMudmFjdXVtX2V4dC53YWxfZnBpKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZGJlbnRyeS0+dmFjdXVtX2V4dC53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnZhY3V1bV9leHQud2FsX2ZwaSk7CiAKIAkv KiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCi0Jc25w cmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBkYmVudHJ5LT5zdGF0cy52 YWN1dW1fZXh0LndhbF9ieXRlcyk7CisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5U NjRfRk9STUFULCBkYmVudHJ5LT52YWN1dW1fZXh0LndhbF9ieXRlcyk7CiAJdmFsdWVzW2kr K10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCiAJCQkJCQkJCQkgIENTdHJp bmdHZXREYXR1bShidWYpLAogCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAogCQkJ CQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CiAKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdl dERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQuYmxrX3JlYWRfdGltZSk7Ci0JdmFs dWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LmJs a193cml0ZV90aW1lKTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRiZW50cnkt PnN0YXRzLnZhY3V1bV9leHQuZGVsYXlfdGltZSk7Ci0JdmFsdWVzW2krK10gPSBGbG9hdDhH ZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LnN5c3RlbV90aW1lKTsKLQl2YWx1 ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQudXNl cl90aW1lKTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRiZW50cnktPnN0YXRz LnZhY3V1bV9leHQudG90YWxfdGltZSk7Ci0JdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVt KGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQuaW50ZXJydXB0cyk7CisJdmFsdWVzW2krK10g PSBGbG9hdDhHZXREYXR1bShkYmVudHJ5LT52YWN1dW1fZXh0LmJsa19yZWFkX3RpbWUpOwor CXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZGJlbnRyeS0+dmFjdXVtX2V4dC5ibGtf d3JpdGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShkYmVudHJ5LT52 YWN1dW1fZXh0LmRlbGF5X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0o ZGJlbnRyeS0+dmFjdXVtX2V4dC5zeXN0ZW1fdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9h dDhHZXREYXR1bShkYmVudHJ5LT52YWN1dW1fZXh0LnVzZXJfdGltZSk7CisJdmFsdWVzW2kr K10gPSBGbG9hdDhHZXREYXR1bShkYmVudHJ5LT52YWN1dW1fZXh0LnRvdGFsX3RpbWUpOwor CXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShkYmVudHJ5LT52YWN1dW1fZXh0LmludGVy cnVwdHMpOwogCiAJQXNzZXJ0KGkgPT0gcnNpbmZvLT5zZXREZXNjLT5uYXR0cyk7CiAJdHVw bGVzdG9yZV9wdXR2YWx1ZXMocnNpbmZvLT5zZXRSZXN1bHQsIHJzaW5mby0+c2V0RGVzYywg dmFsdWVzLCBudWxscyk7CkBAIC0yMjM2LDggKzIyMzYsOSBAQCBwZ19zdGF0c192YWN1dW0o RnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sIEV4dFZhY1JlcG9ydFR5cGUgdHlwZSwgaW50IG5j b2x1bW5zKQogCQlpZiAoT2lkSXNWYWxpZChyZWxpZCkpCiAJCXsKIAkJCXRhYmVudHJ5ID0g cGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQpOwotCQkJaWYgKHRhYmVudHJ5ID09 IE5VTEwgfHwgdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSAhPSB0eXBlKQotCQkJCS8qIFRh YmxlIGRvbid0IGV4aXN0cyBvciBpc24ndCBhbiBoZWFwIHJlbGF0aW9uLiAqLworCisJCQlp ZiAoKHRhYmVudHJ5ID09IE5VTEwgfHwgdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSAhPSB0 eXBlKSkKKwkJCQkvKiBUYWJsZSBkb24ndCBleGlzdHMgb3IgaXNuJ3QgYSBoZWFwIG9yIGlu ZGV4IHJlbGF0aW9uLiAqLwogCQkJCXJldHVybjsKIAogCQkJdHVwbGVzdG9yZV9wdXRfZm9y X3JlbGF0aW9uKHJlbGlkLCByc2luZm8sIHRhYmVudHJ5KTsKQEAgLTIyNDUsNyArMjI0Niw3 IEBAIHBnX3N0YXRzX3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywgRXh0VmFjUmVw b3J0VHlwZSB0eXBlLCBpbnQgbmNvbHVtbnMpCiAJCWVsc2UKIAkJewogCQkJU25hcHNob3RJ dGVyYXRvcgkJaGFzaGl0ZXI7Ci0JCQlQZ1N0YXRfU25hcHNob3RFbnRyeSAgICplbnRyeTsK KwkJCVBnU3RhdF9TbmFwc2hvdEVudHJ5ICAgICplbnRyeTsKIAogCQkJcGdzdGF0X3VwZGF0 ZV9zbmFwc2hvdChQR1NUQVRfS0lORF9SRUxBVElPTik7CiAKQEAgLTIyNjUsMjIgKzIyNjYs MTggQEAgcGdfc3RhdHNfdmFjdXVtKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZvLCBFeHRWYWNS ZXBvcnRUeXBlIHR5cGUsIGludCBuY29sdW1ucykKIAl9CiAJZWxzZSBpZiAodHlwZSA9PSBQ R1NUQVRfRVhUVkFDX0RCKQogCXsKLQkJUGdTdGF0U2hhcmVkX0RhdGFiYXNlCSAgICpkYmVu dHJ5OwotCQlQZ1N0YXRfRW50cnlSZWYgCQkgICAqZW50cnlfcmVmOwotCQlPaWQJCQkJCQkJ ZGJpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJCVBnU3RhdF9TdGF0REJFbnRyeQkgICAgKmRi ZW50cnk7CisJCU9pZAkJCQkJCWRiaWQgPSBQR19HRVRBUkdfT0lEKDApOwogCiAJCWlmIChP aWRJc1ZhbGlkKGRiaWQpKQogCQl7Ci0JCQllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5 X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfREFUQUJBU0UsCi0JCQkJCQkJCQkJCWRiaWQsIElu dmFsaWRPaWQsIGZhbHNlKTsKLQkJCWRiZW50cnkgPSAoUGdTdGF0U2hhcmVkX0RhdGFiYXNl ICopIGVudHJ5X3JlZi0+c2hhcmVkX3N0YXRzOworCQkJZGJlbnRyeSA9IHBnc3RhdF9mZXRj aF9zdGF0X2RiZW50cnkoZGJpZCk7CiAKIAkJCWlmIChkYmVudHJ5ID09IE5VTEwpCi0JCQkJ LyogVGFibGUgZG9lc24ndCBleGlzdCBvciBpc24ndCBhIGhlYXAgcmVsYXRpb24gKi8KKwkJ CQkvKiBEYXRhYmFzZSBkb2Vzbid0IGV4aXN0ICovCiAJCQkJcmV0dXJuOwogCiAJCQl0dXBs ZXN0b3JlX3B1dF9mb3JfZGF0YWJhc2UoZGJpZCwgcnNpbmZvLCBkYmVudHJ5KTsKLQkJCXBn c3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKIAkJfQogCX0KIH0KQEAgLTIzMTYsNCAr MjMxMyw0IEBAIHBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlKFBHX0ZVTkNUSU9OX0FSR1MpCiAJ cGdfc3RhdHNfdmFjdXVtKGZjaW5mbywgUEdTVEFUX0VYVFZBQ19EQiwgRVhUVkFDREJTVEFU X0NPTFVNTlMpOwogCiAJUEdfUkVUVVJOX1ZPSUQoKTsKLX0KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCisgfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggODM1OWNmM2U5ODQuLmY4MTEyZDU0ZjUyIDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjIzOSw4MiArMjIzOSw4 MCBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgIFdIRVJFICgoc2No ZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9u X3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0 KSk7CiBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZXwgU0VMRUNUIGRiLm9pZCBBUyBkYm9pZCwK ICAgICBkYi5kYXRuYW1lIEFTIGRibmFtZSwKLSAgICBzdGF0cy5kYl9ibGtzX3JlYWQsCi0g ICAgc3RhdHMuZGJfYmxrc19oaXQsCi0gICAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLAot ICAgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKLSAgICBzdGF0cy53YWxfcmVjb3JkcywK LSAgICBzdGF0cy53YWxfZnBpLAotICAgIHN0YXRzLndhbF9ieXRlcywKLSAgICBzdGF0cy5i bGtfcmVhZF90aW1lLAotICAgIHN0YXRzLmJsa193cml0ZV90aW1lLAotICAgIHN0YXRzLmRl bGF5X3RpbWUsCi0gICAgc3RhdHMuc3lzdGVtX3RpbWUsCi0gICAgc3RhdHMudXNlcl90aW1l LAotICAgIHN0YXRzLnRvdGFsX3RpbWUsCi0gICAgc3RhdHMuaW50ZXJydXB0cworICAgIENP QUxFU0NFKHN0YXRzLmRiX2Jsa3NfcmVhZCwgKDApOjpiaWdpbnQpIEFTIGRiX2Jsa3NfcmVh ZCwKKyAgICBDT0FMRVNDRShzdGF0cy5kYl9ibGtzX2hpdCwgKDApOjpiaWdpbnQpIEFTIGRi X2Jsa3NfaGl0LAorICAgIENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwgKDAp OjpiaWdpbnQpIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICBDT0FMRVNDRShzdGF0cy50 b3RhbF9ibGtzX3dyaXR0ZW4sICgwKTo6YmlnaW50KSBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4s CisgICAgQ09BTEVTQ0Uoc3RhdHMud2FsX3JlY29yZHMsICgwKTo6YmlnaW50KSBBUyB3YWxf cmVjb3JkcywKKyAgICBDT0FMRVNDRShzdGF0cy53YWxfZnBpLCAoMCk6OmJpZ2ludCkgQVMg d2FsX2ZwaSwKKyAgICBDT0FMRVNDRShzdGF0cy53YWxfYnl0ZXMsICgwKTo6bnVtZXJpYykg QVMgd2FsX2J5dGVzLAorICAgIENPQUxFU0NFKHN0YXRzLmJsa19yZWFkX3RpbWUsICgwKTo6 ZG91YmxlIHByZWNpc2lvbikgQVMgYmxrX3JlYWRfdGltZSwKKyAgICBDT0FMRVNDRShzdGF0 cy5ibGtfd3JpdGVfdGltZSwgKDApOjpkb3VibGUgcHJlY2lzaW9uKSBBUyBibGtfd3JpdGVf dGltZSwKKyAgICBDT0FMRVNDRShzdGF0cy5kZWxheV90aW1lLCAoMCk6OmRvdWJsZSBwcmVj aXNpb24pIEFTIGRlbGF5X3RpbWUsCisgICAgQ09BTEVTQ0Uoc3RhdHMuc3lzdGVtX3RpbWUs ICgwKTo6ZG91YmxlIHByZWNpc2lvbikgQVMgc3lzdGVtX3RpbWUsCisgICAgQ09BTEVTQ0Uo c3RhdHMudXNlcl90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIHVzZXJfdGltZSwK KyAgICBDT0FMRVNDRShzdGF0cy50b3RhbF90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24p IEFTIHRvdGFsX3RpbWUsCisgICAgQ09BTEVTQ0Uoc3RhdHMuaW50ZXJydXB0cywgMCkgQVMg aW50ZXJydXB0cwogICAgRlJPTSAocGdfZGF0YWJhc2UgZGIKLSAgICAgTEVGVCBKT0lOIExB VEVSQUwgcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhkYm9pZCwgZGJf Ymxrc19yZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtz X3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3Rp bWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCBzeXN0ZW1fdGltZSwgdXNlcl90aW1l LCB0b3RhbF90aW1lLCBpbnRlcnJ1cHRzKSBPTiAoKGRiLm9pZCA9IHN0YXRzLmRib2lkKSkp OworICAgICBMRUZUIEpPSU4gTEFURVJBTCBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZShkYi5v aWQpIHN0YXRzKGRib2lkLCBkYl9ibGtzX3JlYWQsIGRiX2Jsa3NfaGl0LCB0b3RhbF9ibGtz X2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdh bF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHN5 c3RlbV90aW1lLCB1c2VyX3RpbWUsIHRvdGFsX3RpbWUsIGludGVycnVwdHMpIE9OICh0cnVl KSk7CiBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwK ICAgICBucy5uc3BuYW1lIEFTIHNjaGVtYSwKICAgICByZWwucmVsbmFtZSwKLSAgICBzdGF0 cy50b3RhbF9ibGtzX3JlYWQsCi0gICAgc3RhdHMudG90YWxfYmxrc19oaXQsCi0gICAgc3Rh dHMudG90YWxfYmxrc19kaXJ0aWVkLAotICAgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwK LSAgICBzdGF0cy5yZWxfYmxrc19yZWFkLAotICAgIHN0YXRzLnJlbF9ibGtzX2hpdCwKLSAg ICBzdGF0cy5wYWdlc19kZWxldGVkLAotICAgIHN0YXRzLnR1cGxlc19kZWxldGVkLAotICAg IHN0YXRzLndhbF9yZWNvcmRzLAotICAgIHN0YXRzLndhbF9mcGksCi0gICAgc3RhdHMud2Fs X2J5dGVzLAotICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCi0gICAgc3RhdHMuYmxrX3dyaXRl X3RpbWUsCi0gICAgc3RhdHMuZGVsYXlfdGltZSwKLSAgICBzdGF0cy5zeXN0ZW1fdGltZSwK LSAgICBzdGF0cy51c2VyX3RpbWUsCi0gICAgc3RhdHMudG90YWxfdGltZSwKLSAgICBzdGF0 cy5pbnRlcnJ1cHRzCi0gICBGUk9NIHBnX2RhdGFiYXNlIGRiLAotICAgIHBnX2NsYXNzIHJl bCwKLSAgICBwZ19uYW1lc3BhY2UgbnMsCi0gICAgTEFURVJBTCBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzKHJlbC5vaWQpIHN0YXRzKHJlbGlkLCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Js a3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgcmVsX2Js a3NfcmVhZCwgcmVsX2Jsa3NfaGl0LCBwYWdlc19kZWxldGVkLCB0dXBsZXNfZGVsZXRlZCwg d2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dy aXRlX3RpbWUsIGRlbGF5X3RpbWUsIHN5c3RlbV90aW1lLCB1c2VyX3RpbWUsIHRvdGFsX3Rp bWUsIGludGVycnVwdHMpCi0gIFdIRVJFICgoZGIuZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJh c2UoKSkgQU5EIChyZWwub2lkID0gc3RhdHMucmVsaWQpIEFORCAobnMub2lkID0gcmVsLnJl bG5hbWVzcGFjZSkgQU5EIChyZWwucmVsa2luZCA9ICdpJzo6ImNoYXIiKSk7CisgICAgQ09B TEVTQ0Uoc3RhdHMudG90YWxfYmxrc19yZWFkLCAoMCk6OmJpZ2ludCkgQVMgdG90YWxfYmxr c19yZWFkLAorICAgIENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3NfaGl0LCAoMCk6OmJpZ2lu dCkgQVMgdG90YWxfYmxrc19oaXQsCisgICAgQ09BTEVTQ0Uoc3RhdHMudG90YWxfYmxrc19k aXJ0aWVkLCAoMCk6OmJpZ2ludCkgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAgIENPQUxF U0NFKHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwgKDApOjpiaWdpbnQpIEFTIHRvdGFsX2Js a3Nfd3JpdHRlbiwKKyAgICBDT0FMRVNDRShzdGF0cy5yZWxfYmxrc19yZWFkLCAoMCk6OmJp Z2ludCkgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgICBDT0FMRVNDRShzdGF0cy5yZWxfYmxrc19o aXQsICgwKTo6YmlnaW50KSBBUyByZWxfYmxrc19oaXQsCisgICAgQ09BTEVTQ0Uoc3RhdHMu cGFnZXNfZGVsZXRlZCwgKDApOjpiaWdpbnQpIEFTIHBhZ2VzX2RlbGV0ZWQsCisgICAgQ09B TEVTQ0Uoc3RhdHMudHVwbGVzX2RlbGV0ZWQsICgwKTo6YmlnaW50KSBBUyB0dXBsZXNfZGVs ZXRlZCwKKyAgICBDT0FMRVNDRShzdGF0cy53YWxfcmVjb3JkcywgKDApOjpiaWdpbnQpIEFT IHdhbF9yZWNvcmRzLAorICAgIENPQUxFU0NFKHN0YXRzLndhbF9mcGksICgwKTo6YmlnaW50 KSBBUyB3YWxfZnBpLAorICAgIENPQUxFU0NFKHN0YXRzLndhbF9ieXRlcywgKDApOjpudW1l cmljKSBBUyB3YWxfYnl0ZXMsCisgICAgQ09BTEVTQ0Uoc3RhdHMuYmxrX3JlYWRfdGltZSwg KDApOjpkb3VibGUgcHJlY2lzaW9uKSBBUyBibGtfcmVhZF90aW1lLAorICAgIENPQUxFU0NF KHN0YXRzLmJsa193cml0ZV90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFTIGJsa193 cml0ZV90aW1lLAorICAgIENPQUxFU0NFKHN0YXRzLmRlbGF5X3RpbWUsICgwKTo6ZG91Ymxl IHByZWNpc2lvbikgQVMgZGVsYXlfdGltZSwKKyAgICBDT0FMRVNDRShzdGF0cy5zeXN0ZW1f dGltZSwgKDApOjpkb3VibGUgcHJlY2lzaW9uKSBBUyBzeXN0ZW1fdGltZSwKKyAgICBDT0FM RVNDRShzdGF0cy51c2VyX3RpbWUsICgwKTo6ZG91YmxlIHByZWNpc2lvbikgQVMgdXNlcl90 aW1lLAorICAgIENPQUxFU0NFKHN0YXRzLnRvdGFsX3RpbWUsICgwKTo6ZG91YmxlIHByZWNp c2lvbikgQVMgdG90YWxfdGltZSwKKyAgICBDT0FMRVNDRShzdGF0cy5pbnRlcnJ1cHRzLCAw KSBBUyBpbnRlcnJ1cHRzCisgICBGUk9NICgocGdfY2xhc3MgcmVsCisgICAgIEpPSU4gcGdf bmFtZXNwYWNlIG5zIE9OICgobnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSkpKQorICAgICBM RUZUIEpPSU4gTEFURVJBTCBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRz KHJlbGlkLCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2Rp cnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgcmVsX2Jsa3NfcmVhZCwgcmVsX2Jsa3NfaGl0 LCBwYWdlc19kZWxldGVkLCB0dXBsZXNfZGVsZXRlZCwgd2FsX3JlY29yZHMsIHdhbF9mcGks IHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUs IHN5c3RlbV90aW1lLCB1c2VyX3RpbWUsIHRvdGFsX3RpbWUsIGludGVycnVwdHMpIE9OICh0 cnVlKSkKKyAgV0hFUkUgKHJlbC5yZWxraW5kID0gJ2knOjoiY2hhciIpOwogcGdfc3RhdF92 YWN1dW1fdGFibGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwKICAgICBucy5uc3BuYW1l IEFTIHNjaGVtYSwKICAgICByZWwucmVsbmFtZSwKLSAgICBzdGF0cy50b3RhbF9ibGtzX3Jl YWQsCi0gICAgc3RhdHMudG90YWxfYmxrc19oaXQsCi0gICAgc3RhdHMudG90YWxfYmxrc19k aXJ0aWVkLAotICAgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKLSAgICBzdGF0cy5yZWxf Ymxrc19yZWFkLAotICAgIHN0YXRzLnJlbF9ibGtzX2hpdCwKLSAgICBzdGF0cy5wYWdlc19z Y2FubmVkLAotICAgIHN0YXRzLnBhZ2VzX3JlbW92ZWQsCi0gICAgc3RhdHMucGFnZXNfZnJv emVuLAotICAgIHN0YXRzLnBhZ2VzX2FsbF92aXNpYmxlLAotICAgIHN0YXRzLnR1cGxlc19k ZWxldGVkLAotICAgIHN0YXRzLnR1cGxlc19mcm96ZW4sCi0gICAgc3RhdHMuZGVhZF90dXBs ZXMsCi0gICAgc3RhdHMuaW5kZXhfdmFjdXVtX2NvdW50LAotICAgIHN0YXRzLnJldl9hbGxf ZnJvemVuX3BhZ2VzLAotICAgIHN0YXRzLnJldl9hbGxfdmlzaWJsZV9wYWdlcywKLSAgICBz dGF0cy53YWxfcmVjb3JkcywKLSAgICBzdGF0cy53YWxfZnBpLAotICAgIHN0YXRzLndhbF9i eXRlcywKLSAgICBzdGF0cy5ibGtfcmVhZF90aW1lLAotICAgIHN0YXRzLmJsa193cml0ZV90 aW1lLAotICAgIHN0YXRzLmRlbGF5X3RpbWUsCi0gICAgc3RhdHMuc3lzdGVtX3RpbWUsCi0g ICAgc3RhdHMudXNlcl90aW1lLAotICAgIHN0YXRzLnRvdGFsX3RpbWUsCi0gICAgc3RhdHMu aW50ZXJydXB0cwotICAgRlJPTSBwZ19kYXRhYmFzZSBkYiwKLSAgICBwZ19jbGFzcyByZWws Ci0gICAgcGdfbmFtZXNwYWNlIG5zLAotICAgIExBVEVSQUwgcGdfc3RhdF92YWN1dW1fdGFi bGVzKHJlbC5vaWQpIHN0YXRzKHJlbGlkLCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3Nf aGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgcmVsX2Jsa3Nf cmVhZCwgcmVsX2Jsa3NfaGl0LCBwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCBwYWdl c19mcm96ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCB0dXBsZXNfZGVsZXRlZCwgdHVwbGVzX2Zy b3plbiwgZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9jb3VudCwgcmV2X2FsbF9mcm96ZW5f cGFnZXMsIHJldl9hbGxfdmlzaWJsZV9wYWdlcywgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdh bF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHN5 c3RlbV90aW1lLCB1c2VyX3RpbWUsIHRvdGFsX3RpbWUsIGludGVycnVwdHMpCi0gIFdIRVJF ICgoZGIuZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkgQU5EIChyZWwub2lkID0gc3Rh dHMucmVsaWQpIEFORCAobnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSkgQU5EIChyZWwucmVs a2luZCA9ICdyJzo6ImNoYXIiKSk7CisgICAgQ09BTEVTQ0Uoc3RhdHMudG90YWxfYmxrc19y ZWFkLCAoMCk6OmJpZ2ludCkgQVMgdG90YWxfYmxrc19yZWFkLAorICAgIENPQUxFU0NFKHN0 YXRzLnRvdGFsX2Jsa3NfaGl0LCAoMCk6OmJpZ2ludCkgQVMgdG90YWxfYmxrc19oaXQsCisg ICAgQ09BTEVTQ0Uoc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLCAoMCk6OmJpZ2ludCkgQVMg dG90YWxfYmxrc19kaXJ0aWVkLAorICAgIENPQUxFU0NFKHN0YXRzLnRvdGFsX2Jsa3Nfd3Jp dHRlbiwgKDApOjpiaWdpbnQpIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBDT0FMRVND RShzdGF0cy5yZWxfYmxrc19yZWFkLCAoMCk6OmJpZ2ludCkgQVMgcmVsX2Jsa3NfcmVhZCwK KyAgICBDT0FMRVNDRShzdGF0cy5yZWxfYmxrc19oaXQsICgwKTo6YmlnaW50KSBBUyByZWxf Ymxrc19oaXQsCisgICAgQ09BTEVTQ0Uoc3RhdHMucGFnZXNfc2Nhbm5lZCwgKDApOjpiaWdp bnQpIEFTIHBhZ2VzX3NjYW5uZWQsCisgICAgQ09BTEVTQ0Uoc3RhdHMucGFnZXNfcmVtb3Zl ZCwgKDApOjpiaWdpbnQpIEFTIHBhZ2VzX3JlbW92ZWQsCisgICAgQ09BTEVTQ0Uoc3RhdHMu cGFnZXNfZnJvemVuLCAoMCk6OmJpZ2ludCkgQVMgcGFnZXNfZnJvemVuLAorICAgIENPQUxF U0NFKHN0YXRzLnBhZ2VzX2FsbF92aXNpYmxlLCAoMCk6OmJpZ2ludCkgQVMgcGFnZXNfYWxs X3Zpc2libGUsCisgICAgQ09BTEVTQ0Uoc3RhdHMudHVwbGVzX2RlbGV0ZWQsICgwKTo6Ymln aW50KSBBUyB0dXBsZXNfZGVsZXRlZCwKKyAgICBDT0FMRVNDRShzdGF0cy50dXBsZXNfZnJv emVuLCAoMCk6OmJpZ2ludCkgQVMgdHVwbGVzX2Zyb3plbiwKKyAgICBDT0FMRVNDRShzdGF0 cy5kZWFkX3R1cGxlcywgKDApOjpiaWdpbnQpIEFTIGRlYWRfdHVwbGVzLAorICAgIENPQUxF U0NFKHN0YXRzLmluZGV4X3ZhY3V1bV9jb3VudCwgKDApOjpiaWdpbnQpIEFTIGluZGV4X3Zh Y3V1bV9jb3VudCwKKyAgICBDT0FMRVNDRShzdGF0cy5yZXZfYWxsX2Zyb3plbl9wYWdlcywg KDApOjpiaWdpbnQpIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLAorICAgIENPQUxFU0NFKHN0 YXRzLnJldl9hbGxfdmlzaWJsZV9wYWdlcywgKDApOjpiaWdpbnQpIEFTIHJldl9hbGxfdmlz aWJsZV9wYWdlcywKKyAgICBDT0FMRVNDRShzdGF0cy53YWxfcmVjb3JkcywgKDApOjpiaWdp bnQpIEFTIHdhbF9yZWNvcmRzLAorICAgIENPQUxFU0NFKHN0YXRzLndhbF9mcGksICgwKTo6 YmlnaW50KSBBUyB3YWxfZnBpLAorICAgIENPQUxFU0NFKHN0YXRzLndhbF9ieXRlcywgKDAp OjpudW1lcmljKSBBUyB3YWxfYnl0ZXMsCisgICAgQ09BTEVTQ0Uoc3RhdHMuYmxrX3JlYWRf dGltZSwgKDApOjpkb3VibGUgcHJlY2lzaW9uKSBBUyBibGtfcmVhZF90aW1lLAorICAgIENP QUxFU0NFKHN0YXRzLmJsa193cml0ZV90aW1lLCAoMCk6OmRvdWJsZSBwcmVjaXNpb24pIEFT IGJsa193cml0ZV90aW1lLAorICAgIENPQUxFU0NFKHN0YXRzLmRlbGF5X3RpbWUsICgwKTo6 ZG91YmxlIHByZWNpc2lvbikgQVMgZGVsYXlfdGltZSwKKyAgICBDT0FMRVNDRShzdGF0cy5z eXN0ZW1fdGltZSwgKDApOjpkb3VibGUgcHJlY2lzaW9uKSBBUyBzeXN0ZW1fdGltZSwKKyAg ICBDT0FMRVNDRShzdGF0cy51c2VyX3RpbWUsICgwKTo6ZG91YmxlIHByZWNpc2lvbikgQVMg dXNlcl90aW1lLAorICAgIENPQUxFU0NFKHN0YXRzLnRvdGFsX3RpbWUsICgwKTo6ZG91Ymxl IHByZWNpc2lvbikgQVMgdG90YWxfdGltZSwKKyAgICBDT0FMRVNDRShzdGF0cy5pbnRlcnJ1 cHRzLCAwKSBBUyBpbnRlcnJ1cHRzCisgICBGUk9NICgocGdfY2xhc3MgcmVsCisgICAgIEpP SU4gcGdfbmFtZXNwYWNlIG5zIE9OICgobnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSkpKQor ICAgICBMRUZUIEpPSU4gTEFURVJBTCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkg c3RhdHMocmVsaWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Js a3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxfYmxr c19oaXQsIHBhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHBhZ2VzX2Zyb3plbiwgcGFn ZXNfYWxsX3Zpc2libGUsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCBkZWFkX3R1 cGxlcywgaW5kZXhfdmFjdXVtX2NvdW50LCByZXZfYWxsX2Zyb3plbl9wYWdlcywgcmV2X2Fs bF92aXNpYmxlX3BhZ2VzLCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtf cmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlfdGltZSwgc3lzdGVtX3RpbWUsIHVz ZXJfdGltZSwgdG90YWxfdGltZSwgaW50ZXJydXB0cykgT04gKHRydWUpKQorICBXSEVSRSAo cmVsLnJlbGtpbmQgPSAncic6OiJjaGFyIik7CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdhbF9y ZWNvcmRzLAogICAgIHdhbF9mcGksCiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dApp bmRleCA0ZjZlMzA1NzEwZS4uMTY2ZGUxNzZlMjkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0z NSw5ICszNSwxMCBAQCBERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOwogU0VM RUNUIHZ0LnJlbG5hbWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAog RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCiBXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKLSByZWxuYW1l IHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCi0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQotKDAgcm93 cykKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19k ZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCAgICAgICAzMCB8ICAgICAgICAgICAgIDAg fCAgICAgICAgICAgICAgMAorKDEgcm93KQogCiBTRUxFQ1QgcmVscGFnZXMgQVMgaXJwCiBG Uk9NIHBnX2NsYXNzIGMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv dmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CmluZGV4IDk0 ZGQzMjE0MzQ5Li43YTBiM2JhOTZlMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mu b3V0CkBAIC0yNiw4ICsyNiw2IEBAIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKICgxIHJvdykKIAogXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAotU0VUIHZhY3V1bV9mcmVl emVfbWluX2FnZSA9IDA7Ci1TRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOwogLS1T RVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKIENSRUFURSBUQUJMRSB2 ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CkBAIC00MCw3ICszOCw4IEBAIEZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCiBXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAgcmVsbmFtZSB8IHBhZ2VzX2Zyb3pl biB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNf cmVtb3ZlZCAKIC0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQotKDAgcm93cykKKyB2 ZXN0YXQgIHwgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgIDQ1NSB8ICAg ICAgICAgICAgIDAgfCAgICAgICAgICAgICAwCisoMSByb3cpCiAKIFNFTEVDVCByZWxwYWdl cyBBUyBycAogRlJPTSBwZ19jbGFzcyBjCkBAIC0xNzksMTAgKzE3OCw3IEBAIEZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKIAogU0VMRUNU IHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxf ZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKIEZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3Nl dAotVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHgxMDAxOwotRVJST1I6ICBjb2x1bW4gIngxMDAx IiBkb2VzIG5vdCBleGlzdAotTElORSAxOiBVUERBVEUgdmVzdGF0IFNFVCB4ID0geDEwMDE7 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitVUERBVEUgdmVzdGF0IFNFVCB4 ID0geCsxMDAxOwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4 KSB2ZXN0YXQ7CiBTRUxFQ1QgcGFnZXNfZnJvemVuID4gOnBmIEFTIHBhZ2VzX2Zyb3plbixw YWdlc19hbGxfdmlzaWJsZSA+IDpwdiBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zy b3plbl9wYWdlcyA+IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlz aWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOwpAQCAtMjU5LDgg KzI1NSw2IEBAIFdIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGInOwogKDEgcm93KQogCiBcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIKLVJF U0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZTsKLVJFU0VUIHZhY3V1bV9mcmVlemVfdGFibGVf YWdlOwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKIFxjIHJlZ3Jlc3Npb25fc3RhdGlz dGljX3ZhY3V1bV9kYjE7CiBTRUxFQ1QgY291bnQoKikKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwK aW5kZXggYWYxMjgxYjNiNjMuLmEzZGRjOTQxOWRlIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNx bApAQCAtMjEsOCArMjEsNyBAQCBTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwogU0VM RUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOwogCiBcc2V0IHNhbXBsZV9zaXplIDEw MDAwCi1TRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKLVNFVCB2YWN1dW1fZnJlZXpl X3RhYmxlX2FnZSA9IDA7CisKIC0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25h cHNob3Q7CiBDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9l bmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNF TEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwpAQCAt MTQ1LDcgKzE0NCw3IEBAIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5h bWUgPSAndmVzdGF0JzsKIFNFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92 aXNpYmxlIEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlz aWJsZV9wYWdlcyBBUyBoYXZwCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSBy ZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKIAotVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHgxMDAx OworVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHgrMTAwMTsKIFZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OwogCiBTRUxFQ1QgcGFnZXNfZnJvemVu ID4gOnBmIEFTIHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSA+IDpwdiBBUyBwYWdl c19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zyb3plbl9wYWdlcyA+IDpoYWZwIEFTIHJldl9hbGxf ZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJldl9hbGxf dmlzaWJsZV9wYWdlcwpAQCAtMjA0LDggKzIwMyw2IEBAIFdIRVJFIGRibmFtZSA9ICdyZWdy ZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGInOwogCiBcYyByZWdyZXNzaW9uX3N0YXRpc3Rp Y192YWN1dW1fZGIKIAotUkVTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlOwotUkVTRVQgdmFj dXVtX2ZyZWV6ZV90YWJsZV9hZ2U7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwogCiBc YyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOwo= --------------khoCiO40l67itgo2tWR709Ac--