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 1tBG7c-002lOz-Ft for pgsql-hackers@arkaria.postgresql.org; Wed, 13 Nov 2024 16:21:37 +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 1tBG7Z-00FRXt-PU for pgsql-hackers@arkaria.postgresql.org; Wed, 13 Nov 2024 16:21:34 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tBG7Z-00FRXg-2J for pgsql-hackers@lists.postgresql.org; Wed, 13 Nov 2024 16:21:33 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tBG7R-001kAH-QY for pgsql-hackers@postgresql.org; Wed, 13 Nov 2024 16:21:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1731514885; bh=7oJtO9lYgEuBSXWOpXMOuFCJ+mu3Pip9JC4wRIwEIOU=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=p87c1iyzdTTllrv+ZU07v6MDzASPoL7ZdYvgd16AcZXBEnlPC7Q3Od4SeDQrpIk4k xHCgT4MuTTpAtjltMaSso/wfpBFZXGnxPaJBci7CdywBAUmBymSBYO7Kik0vg0cDP3 xPfKSYACPLJcuxHlfe+kaS8ajgXo16KMkVC1dzUK4OB7rSHpbMlw2md9+k4yOj66k5 FO0JnOyh/+L7utexqQd89nd8euoePJMe857xXw7LfaiRmVnaYRcwtf890MxDST5a3K AWKAr2XABXJ2hD26tcDJz2A+Oubp6HVszhjGL8TR+3lC/KPHk+mYaG+Dd9zW77XrmM UstmiP8cpwEdA== 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 816DE5FFDE; Wed, 13 Nov 2024 19:21:25 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------kd8DjLx19v5OmgCxvflJ9UQh" Message-ID: <2d493cf9-9ba7-4cc1-a3f2-67afd7c163ee@postgrespro.ru> Date: Wed, 13 Nov 2024 19:21:25 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: Jim Nasby Cc: Andrei Zubkov , Alexander Korotkov , Masahiko Sawada , Melanie Plageman , jian he , pgsql-hackers , a.lepikhov@postgrespro.ru References: <9b10c6d3-52c4-4eef-b67c-c33442667729@postgrespro.ru> <9485d892-fd04-4e3a-ac24-7dd767cb7333@postgrespro.ru> <0B6CBF4C-CC2A-4200-9126-CE3A390D938B@upgrade.com> <6732acf8ce0f31025b535ae1a64568750924a887.camel@moonset.ru> <5AA8FFD5-6DE2-4A31-8E00-AE98F738F5D1@upgrade.com> <85b963fe-5977-43aa-9241-75b862abcc69@postgrespro.ru> <9C7A167C-DCDE-4A17-9ABE-6276723FEC50@upgrade.com> Content-Language: en-US From: Alena Rybakina In-Reply-To: <9C7A167C-DCDE-4A17-9ABE-6276723FEC50@upgrade.com> X-KSMG-AntiPhishing: NotDetected, bases: 2024/11/13 12:32:00 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/11/13 14:24:00 #26854191 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. --------------kd8DjLx19v5OmgCxvflJ9UQh Content-Type: multipart/alternative; boundary="------------lxEaMV71AQcgfa0oeaYQJs29" --------------lxEaMV71AQcgfa0oeaYQJs29 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi! Thank you for your contribution to this thread! On 13.11.2024 03:24, Jim Nasby wrote: > On Nov 10, 2024, at 2:09 PM, Alena Rybakina > wrote: >> >> On 08.11.2024 22:34, Jim Nasby wrote: >>> >>>> On Nov 2, 2024, at 7:22 AM, Alena Rybakina >>>> wrote: >>>> >>>>>> The second is the interrupts field. It is needed for monitoring to know >>>>>> do we have them or not, so tracking them on the database level will do >>>>>> the trick. Interrupt is quite rare event, so once the monitoring system >>>>>> will catch one the DBA can go to the server log for the details. >>>>> Just to confirm… by “interrupt” you mean vacuum encountered an error? >>>> Yes it is. >>> In that case I feel rather strongly that we should label that as >>> “errors”. “Interrupt” could mean a few different things, but “error” >>> is very clear. >>>> >>>> I updated patches. I excluded system and user time statistics and >>>> save number of interrupts only for database.I removed the ability >>>> to get statistics for all tables, now they can only be obtained for >>>> an oid table [0], as suggested here. I also renamed the statistics >>>> from pg_stat_vacuum_tables to pg_stat_get_vacuum_tables and >>>> similarly for indexes and databases. I noticed that that’s what >>>> they’re mostly called. Ready for discussion. >>>> >>> I think it’s better that the views follow the existing naming >>> conventions (which don’t include “_get_”; only the functions have >>> that in their names). Assuming that, the only question becomes >>> pg_stat_vacuum_* vs pg_stat_*_vacuum. Given the existing precedent >>> of pg_statio_*, I’m inclined to go with pg_stat_vacuum_*. >> I have fixed it. > > I’ve reviewed and made some cosmetic changes to patch 1, though of > note it looks like an effort has been made to keep > stat_reset_timestamp at the end of PgStat_StatDBEntry, so I > re-arranged that. I also removed some obviously dead code. It appears > that pgstat_update_snapshot(), InitSnapshotIterator() and > ScanStatSnapshot() are also dead, but I’ve left it in incase I’m > missing something. The tests are also failing for me because a number > of psql variables aren’t set. Thank you! Yes, I have deleted them. > > I do think we should separate out the counts for deleted but still > visible tuples vs tuples where we couldn’t get a cleanup lock (in > other words, recently_dead_tuples and missed_dead_tuples > from LVRelState). I realize that’s a departure from how some of the > existing reporting works, but IMO combining them together isn’t a > pattern we should be repeating since they mean completely different > things. Towards that end I did remove missed_dead_tuples from the > reporting, and renamed ExtVacReport.dead_tuples to > recently_dead_tuples, but I stopped short of creating a separate entry > for missed_dead_tuples. Note that while recently_dead_tuples is really > a global thing (so only needs to be reported at a global (or at most > per-database) level, but missed_dead_tuples should really be at a > per-table level. I am willing to agree with your idea. But we need to think about how clearly describe them in the documentation. > > Updated 0001-v13 attached, as well as the diff between v12 and v13. Thank you) And I agree with your changes. And included them in patches. --- Regards, Alena Rybakina Postgres Professional --------------lxEaMV71AQcgfa0oeaYQJs29 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hi! Thank you for your contribution to this thread!

On 13.11.2024 03:24, Jim Nasby wrote:
On Nov 10, 2024, at 2:09 PM, Alena Rybakina <a.rybakina@postgrespro.ru> wrote:

On 08.11.2024 22:34, Jim Nasby wrote:

On Nov 2, 2024, at 7:22 AM, Alena Rybakina <a.rybakina@postgrespro.ru> wrote:

The second is the interrupts field. It is needed for monitoring to know
do we have them or not, so tracking them on the database level will do
the trick. Interrupt is quite rare event, so once the monitoring system
will catch one the DBA can go to the server log for the details.
Just to confirm… by “interrupt” you mean vacuum encountered an error?
Yes it is.
In that case I feel rather strongly that we should label that as “errors”. “Interrupt” could mean a few different things, but “error” is very clear.

I updated patches. I excluded system and user time statistics and save number of interrupts only for database. I removed the ability to get statistics for all tables, now they can only be obtained for an oid table [0], as suggested here. I also renamed the statistics from pg_stat_vacuum_tables to pg_stat_get_vacuum_tables and similarly for indexes and databases. I noticed that that’s what they’re mostly called. Ready for discussion.

I think it’s better that the views follow the existing naming conventions (which don’t include “_get_”; only the functions have that in their names). Assuming that, the only question becomes pg_stat_vacuum_* vs pg_stat_*_vacuum. Given the existing precedent of pg_statio_*, I’m inclined to go with pg_stat_vacuum_*.
I have fixed it.

I’ve reviewed and made some cosmetic changes to patch 1, though of note it looks like an effort has been made to keep stat_reset_timestamp at the end of PgStat_StatDBEntry, so I re-arranged that. I also removed some obviously dead code. It appears that pgstat_update_snapshot(), InitSnapshotIterator() and ScanStatSnapshot() are also dead, but I’ve left it in incase I’m missing something. The tests are also failing for me because a number of psql variables aren’t set.
Thank you! Yes, I have deleted them.

I do think we should separate out the counts for deleted but still visible tuples vs tuples where we couldn’t get a cleanup lock (in other words, recently_dead_tuples and missed_dead_tuples from LVRelState). I realize that’s a departure from how some of the existing reporting works, but IMO combining them together isn’t a pattern we should be repeating since they mean completely different things. Towards that end I did remove missed_dead_tuples from the reporting, and renamed ExtVacReport.dead_tuples to recently_dead_tuples, but I stopped short of creating a separate entry for missed_dead_tuples. Note that while recently_dead_tuples is really a global thing (so only needs to be reported at a global (or at most per-database) level, but missed_dead_tuples should really be at a per-table level.
I am willing to agree with your idea. But we need to think about how clearly describe them in the documentation.

Updated 0001-v13 attached, as well as the diff between v12 and v13.
Thank you)

And I agree with your changes. And included them in patches.
---
Regards,
Alena Rybakina
Postgres Professional
--------------lxEaMV71AQcgfa0oeaYQJs29-- --------------kd8DjLx19v5OmgCxvflJ9UQh Content-Type: text/x-patch; charset=UTF-8; name="v13-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v13-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA2MzNjMjEyMGVjYTU3NzRjNzg4MThmMzZiNDFlY2JmNDdkMzBiODc5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogV2VkLCAxMyBOb3YgMjAyNCAxNjo1NjoxNSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMS8zXSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uIAogaGVhcCByZWxhdGlvbnMuCgpWYWx1ZSBvZiB0b3RhbF9i bGtzX2hpdCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2RpcnRpZWQgYXJlIG51bWJl ciBvZgpoaXR0ZWQsIG1pc3NlZCBhbmQgZGlydGllZCBwYWdlcyBpbiBzaGFyZWQgYnVmZmVy cyBkdXJpbmcgYSB2YWN1dW0gb3BlcmF0aW9uCnJlc3BlY3RpdmVseS4KCnRvdGFsX2Jsa3Nf ZGlydGllZCBtZWFucyAnZGlydGllZCBvbmx5IGJ5IHRoaXMgYWN0aW9uJy4gU28sIGlmIHRo aXMgcGFnZSB3YXMKZGlydHkgYmVmb3JlIHRoZSB2YWN1dW0gb3BlcmF0aW9uLCBpdCBkb2Vz bid0IGNvdW50IHRoaXMgcGFnZSBhcyAnZGlydGllZCcuCgpUaGUgdHVwbGVzX2RlbGV0ZWQg cGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgb2YgdHVwbGVzIGNsZWFuZWQgdXAgYnkgdGhlIHZh Y3V1bQpvcGVyYXRpb24uCgpUaGUgZGVsYXlfdGltZSB2YWx1ZSBtZWFucyB0b3RhbCB2YWN1 dW0gc2xlZXAgdGltZSBpbiB2YWN1dW0gZGVsYXkgcG9pbnQuClRoZSBwYWdlc19yZW1vdmVk IHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgcGFnZXMgYnkgd2hpY2ggdGhlIHBoeXNpY2FsIGRh dGEKc3RvcmFnZSBvZiB0aGUgcmVsYXRpb24gd2FzIHJlZHVjZWQuClRoZSB2YWx1ZSBvZiBw YWdlc19kZWxldGVkIHBhcmFtZXRlciBpcyB0aGUgbnVtYmVyIG9mIGZyZWVkIHBhZ2VzIGlu IHRoZSB0YWJsZQooZmlsZSBzaXplIG1heSBub3QgaGF2ZSBjaGFuZ2VkKS4KCkludGVycnVw dGlvbnMgbnVtYmVyIG9mIChhdXRvKXZhY3V1bSBwcm9jZXNzIGR1cmluZyB2YWN1dW1pbmcg b2YgYSByZWxhdGlvbi4KV2UgcmVwb3J0IGZyb20gdGhlIHZhY3V1bV9lcnJvcl9jYWxsYmFj ayByb3V0aW5lLiBTbyB3ZSBjYW4gbG9nIGFsbCBFUlJPUgpyZXBvcnRzLiBJbiB0aGUgY2Fz ZSBvZiBhdXRvdmFjdXVtIHdlIGNhbiByZXBvcnQgU0lHSU5UIHNpZ25hbHMgdG9vLgpJdCBt YXliZSBkYW5nZXJvdXMgdG8gbWFrZSBzdWNoIGNvbXBsZXggdGFzayAoc2VuZCkgaW4gYW4g ZXJyb3IgY2FsbGJhY2sgLQp3ZSBjYW4gY2F0Y2ggRVJST1IgaW4gRVJST1IgcHJvYmxlbS4g QnV0IGl0IGxvb2tzIGxpa2Ugd2UgaGF2ZSBzbyBzbWFsbApjaGFuY2UgdG8gc3R1Y2sgaW50 byB0aGlzIHByb2JsZW0uIFNvLCBsZXQncyB0cnkgdG8gdXNlLgpUaGlzIHBhcmFtZXRlciBy ZWxhdGVzIHRvIGEgcHJvYmxlbSwgY292ZXJlZCBieSBiMTllNDI1MC4KClRyYWNraW5nIG9m IElPIGR1cmluZyBhbiAoYXV0byl2YWN1dW0gb3BlcmF0aW9uLgpJbnRyb2R1Y2VkIHZhcmlh YmxlcyBibGtfcmVhZF90aW1lIGFuZCBibGtfd3JpdGVfdGltZSB0cmFja3Mgb25seSBhY2Nl c3MgdG8KYnVmZmVyIHBhZ2VzIGFuZCBmbHVzaGluZyB0aGVtIHRvIGRpc2suIFJlYWRpbmcg b3BlcmF0aW9uIGlzIHRyaXZpYWwsIGJ1dAp3cml0aW5nIG1lYXN1cmVtZW50IHRlY2huaXF1 ZSBpcyBub3Qgb2J2aW91cy4KU28sIGR1cmluZyBhIHZhY3V1bSB3cml0aW5nIHRpbWUgY2Fu IGJlIHplcm8gaW5jcmVtZW50ZWQgYmVjYXVzZSBubyBhbnkgZmx1c2hpbmcKb3BlcmF0aW9u cyB3ZXJlIHBlcmZvcm1lZC4KClN5c3RlbSB0aW1lIGFuZCB1c2VyIHRpbWUgYXJlIHBhcmFt ZXRlcnMgdGhhdCBkZXNjcmliZXMgaG93IG11Y2ggdGltZSBhIHZhY3V1bQpvcGVyYXRpb24g aGFzIHNwZW50IGluIGV4ZWN1dGluZyBvZiBjb2RlIGluIHVzZXIgc3BhY2UgYW5kIGtlcm5l bCBzcGFjZQphY2NvcmRpbmdseS4gQWxzbywgYWNjdW11bGF0ZSB0b3RhbCB0aW1lIG9mIGEg dmFjdXVtIHRoYXQgaXMgYSBkaWZmIGJldHdlZW4KdGltZXN0YW1wcyBpbiBzdGFydCBhbmQg ZmluaXNoIHBvaW50cyBpbiB0aGUgdmFjdXVtIGNvZGUuClJlbWVtYmVyIGFib3V0IGlkbGUg dGltZSwgd2hlbiB2YWN1dW0gd2FpdGVkIGZvciBJTyBhbmQgbG9ja3MsIHNvIHRvdGFsIHRp bWUKaXNuJ3QgZXF1YWwgYSBzdW0gb2YgdXNlciBhbmQgc3lzdGVtIHRpbWUsIGJ1dCBubyBs ZXNzLgoKcGFnZXNfZnJvemVuIC0gbnVtYmVyIG9mIHBhZ2VzIHRoYXQgYXJlIG1hcmtlZCBh cyBmcm96ZW4gaW4gdm0gZHVyaW5nIHZhY3V1bS4KVGhpcyBwYXJhbWV0ZXIgaXMgaW5jcmVt ZW50ZWQgaWYgcGFnZSBpcyBtYXJrZWQgYXMgYWxsLWZyb3plbi4KcGFnZXNfYWxsX3Zpc2li bGUgLSBudW1iZXIgb2YgcGFnZXMgdGhhdCBhcmUgbWFya2VkIGFzIGFsbC12aXNpYmxlIGlu IHZtIGR1cmluZwp2YWN1dW0uCgpBdXRob3JzOiBBbGVuYSBSeWJha2luYSA8bGVuYS5yaWJh Y2tpbmFAeWFuZGV4LnJ1PiwKCSBBbmRyZWkgTGVwaWtob3YgPGEubGVwaWtob3ZAcG9zdGdy ZXNwcm8ucnU+LAoJIEFuZHJlaSBadWJrb3YgPGEuenVia292QHBvc3RncmVzcHJvLnJ1PgpS ZXZpZXdlZC1ieTogRGlsaXAgS3VtYXIgPGRpbGlwYmFsYXV0QGdtYWlsLmNvbT4sIE1hc2Fo aWtvIFNhd2FkYSA8c2F3YWRhLm1zaGtAZ21haWwuY29tPiwKCSAgICAgSWxpYSBFdmRva2lt b3YgPGlseWEuZXZkb2tpbW92QHRhbnRvcmxhYnMuY29tPiwgamlhbiBoZSA8amlhbi51bml2 ZXJzYWxpdHlAZ21haWwuY29tPiwKCSAgICAgS2lyaWxsIFJlc2hrZSA8cmVzaGtla2lyaWxs QGdtYWlsLmNvbT4sIEFsZXhhbmRlciBLb3JvdGtvdiA8YWVrb3JvdGtvdkBnbWFpbC5jb20+ Ci0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgICAgICAgIHwg MTQwICsrKysrKysrKysrLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1h cC5jICAgICAgIHwgIDEwICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bCAgICAgICAgICB8ICA0OCArKysrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMg ICAgICAgICAgICAgICAgIHwgICA0ICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBh cmFsbGVsLmMgICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXQuYyAgICAgICAgICAgfCAgMzIgKystCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNzAgKysrKystCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxMzUgKysrKysrKysrKysrCiBzcmMvYmFj a2VuZC91dGlscy9lcnJvci9lbG9nLmMgICAgICAgICAgICAgICAgfCAgMTMgKysKIHNyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICB8ICAxOCArKwogc3Jj L2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICAgICAgICAgIHwgICAxICsKIHNy Yy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4MSArKysr KystCiBzcmMvaW5jbHVkZS91dGlscy9lbG9nLmggICAgICAgICAgICAgICAgICAgICAgfCAg IDEgKwogc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmggICAgICAgICAgIHwg ICAyICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgICAg fCAgNTMgKysrKysKIHNyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUgICAg ICAgICB8ICAgMSArCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5z cGVjICAgfCAgNTEgKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0 ICAgICAgICAgICB8ICA0MCArKystCiAuLi4vZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0 aXN0aWNzLm91dCAgICAgfCAyMDMgKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdy ZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgIDUgKwogLi4uL3JlZ3Jlc3Mv c3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgMTU4ICsrKysrKysrKysrKysr CiAyMiBmaWxlcyBjaGFuZ2VkLCAxMTAzIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1 dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJs ZS1yZWFkLnNwZWMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCgpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IDc5M2JkMzNjYjRkLi4xMjAy M2ZkMTY0YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6 eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwpAQCAtMTY1 LDYgKzE2NSw3IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAkvKiBFcnJvciByZXBv cnRpbmcgc3RhdGUgKi8KIAljaGFyCSAgICpkYm5hbWU7CiAJY2hhcgkgICAqcmVsbmFtZXNw YWNlOworCU9pZAkJCXJlbG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwogCWNoYXIJICAgKmlu ZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051bWJlciBibGtubzsJ CQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAtMTkyLDYgKzE5Myw4 IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlCbG9ja051bWJlciBscGRlYWRfaXRl bV9wYWdlczsJLyogIyBwYWdlcyB3aXRoIExQX0RFQUQgaXRlbXMgKi8KIAlCbG9ja051bWJl ciBtaXNzZWRfZGVhZF9wYWdlczsJLyogIyBwYWdlcyB3aXRoIG1pc3NlZCBkZWFkIHR1cGxl cyAqLwogCUJsb2NrTnVtYmVyIG5vbmVtcHR5X3BhZ2VzOyAvKiBhY3R1YWxseSwgbGFzdCBu b25lbXB0eSBwYWdlICsgMSAqLworCUJsb2NrTnVtYmVyIHNldF9mcm96ZW5fcGFnZXM7IC8q IHBhZ2VzIGFyZSBtYXJrZWQgYXMgZnJvemVuIGluIHZtIGR1cmluZyB2YWN1dW0gKi8KKwlC bG9ja051bWJlciBzZXRfYWxsX3Zpc2libGVfcGFnZXM7CS8qIHBhZ2VzIGFyZSBtYXJrZWQg YXMgYWxsLXZpc2libGUgaW4gdm0gZHVyaW5nIHZhY3V1bSAqLwogCiAJLyogU3RhdGlzdGlj cyBvdXRwdXQgYnkgdXMsIGZvciB0YWJsZSAqLwogCWRvdWJsZQkJbmV3X3JlbF90dXBsZXM7 IC8qIG5ldyBlc3RpbWF0ZWQgdG90YWwgIyBvZiB0dXBsZXMgKi8KQEAgLTIyNCw2ICsyMjcs MTggQEAgdHlwZWRlZiBzdHJ1Y3QgTFZTYXZlZEVyckluZm8KIAlWYWNFcnJQaGFzZSBwaGFz ZTsKIH0gTFZTYXZlZEVyckluZm87CiAKKy8qCisgKiBDb3VudGVycyBhbmQgdXNhZ2UgZGF0 YSBmb3IgZXh0ZW5kZWQgc3RhdHMgdHJhY2tpbmcuCisgKi8KK3R5cGVkZWYgc3RydWN0IExW RXh0U3RhdENvdW50ZXJzCit7CisJVGltZXN0YW1wVHogc3RhcnR0aW1lOworCVdhbFVzYWdl CXdhbHVzYWdlOworCUJ1ZmZlclVzYWdlIGJ1ZnVzYWdlOworCWRvdWJsZQkJVmFjdXVtRGVs YXlUaW1lOworCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3Vu dGVyIGJsb2Nrc19oaXQ7Cit9IExWRXh0U3RhdENvdW50ZXJzOwogCiAvKiBub24tZXhwb3J0 IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFwKExW UmVsU3RhdGUgKnZhY3JlbCk7CkBAIC0yNzcsNiArMjkyLDEwMCBAQCBzdGF0aWMgdm9pZCB1 cGRhdGVfdmFjdXVtX2Vycm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogc3RhdGljIHZv aWQgcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyhMVlJlbFN0YXRlICp2YWNyZWwsCiAJCQkJ CQkJCQkgIGNvbnN0IExWU2F2ZWRFcnJJbmZvICpzYXZlZF92YWNyZWwpOwogCisvKiAtLS0t LS0tLS0tCisgKiBleHR2YWNfc3RhdHNfc3RhcnQoKSAtCisgKgorICogU2F2ZSBjdXQtb2Zm IHZhbHVlcyBvZiBleHRlbmRlZCB2YWN1dW0gY291bnRlcnMgYmVmb3JlIHN0YXJ0IG9mIGEg cmVsYXRpb24KKyAqIHByb2Nlc3NpbmcuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2 b2lkCitleHR2YWNfc3RhdHNfc3RhcnQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVy cyAqY291bnRlcnMpCit7CisJVGltZXN0YW1wVHoJc3RhcnR0aW1lOworCisJbWVtc2V0KGNv dW50ZXJzLCAwLCBzaXplb2YoTFZFeHRTdGF0Q291bnRlcnMpKTsKKworCXN0YXJ0dGltZSA9 IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKKworCWNvdW50ZXJzLT5zdGFydHRpbWUgPSBzdGFy dHRpbWU7CisJY291bnRlcnMtPndhbHVzYWdlID0gcGdXYWxVc2FnZTsKKwljb3VudGVycy0+ YnVmdXNhZ2UgPSBwZ0J1ZmZlclVzYWdlOworCWNvdW50ZXJzLT5WYWN1dW1EZWxheVRpbWUg PSBWYWN1dW1EZWxheVRpbWU7CisJY291bnRlcnMtPmJsb2Nrc19mZXRjaGVkID0gMDsKKwlj b3VudGVycy0+YmxvY2tzX2hpdCA9IDA7CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwg IXBnc3RhdF90cmFja19jb3VudHMpCisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdy b25nIG9yIHVzZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0 aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKwkJcmV0dXJuOworCisJY291bnRl cnMtPmJsb2Nrc19mZXRjaGVkID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19m ZXRjaGVkOworCWNvdW50ZXJzLT5ibG9ja3NfaGl0ID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291 bnRzLmJsb2Nrc19oaXQ7Cit9CisKKy8qIC0tLS0tLS0tLS0KKyAqIGV4dHZhY19zdGF0c19l bmQoKSAtCisgKgorICoJQ2FsbGVkIHRvIGZpbmlzaCBhbiBleHRlbmRlZCB2YWN1dW0gc3Rh dGlzdGljIGdhdGhlcmluZyBhbmQgZm9ybSBhIHJlcG9ydC4KKyAqIC0tLS0tLS0tLS0KKyAq Lworc3RhdGljIHZvaWQKK2V4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0 YXRDb3VudGVycyAqY291bnRlcnMsCisJCQkJICBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKK3sK KwlXYWxVc2FnZQl3YWx1c2FnZTsKKwlCdWZmZXJVc2FnZQlidWZ1c2FnZTsKKwlUaW1lc3Rh bXBUeiBlbmR0aW1lOworCWxvbmcJCXNlY3M7CisJaW50CQkJdXNlY3M7CisKKwkvKiBDYWxj dWxhdGUgZGlmZnMgb2YgZ2xvYmFsIHN0YXQgcGFyYW1ldGVycyBvbiBXQUwgYW5kIGJ1ZmZl ciB1c2FnZS4gKi8KKwltZW1zZXQoJndhbHVzYWdlLCAwLCBzaXplb2YoV2FsVXNhZ2UpKTsK KwlXYWxVc2FnZUFjY3VtRGlmZigmd2FsdXNhZ2UsICZwZ1dhbFVzYWdlLCAmY291bnRlcnMt PndhbHVzYWdlKTsKKworCW1lbXNldCgmYnVmdXNhZ2UsIDAsIHNpemVvZihCdWZmZXJVc2Fn ZSkpOworCUJ1ZmZlclVzYWdlQWNjdW1EaWZmKCZidWZ1c2FnZSwgJnBnQnVmZmVyVXNhZ2Us ICZjb3VudGVycy0+YnVmdXNhZ2UpOworCisJZW5kdGltZSA9IEdldEN1cnJlbnRUaW1lc3Rh bXAoKTsKKwlUaW1lc3RhbXBEaWZmZXJlbmNlKGNvdW50ZXJzLT5zdGFydHRpbWUsIGVuZHRp bWUsICZzZWNzLCAmdXNlY3MpOworCisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZh Y1JlcG9ydCkpOworCisJLyoKKwkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGljcyBvbiBh IHZhY3V1bSBwcm9jZXNzaW5nIG9wZXJhdGlvbi4KKwkgKi8KKwlyZXBvcnQtPnRvdGFsX2Js a3NfcmVhZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9i bGtzX3JlYWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2hpdCA9IGJ1ZnVzYWdlLmxvY2FsX2Js a3NfaGl0ICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfaGl0OworCXJlcG9ydC0+dG90YWxfYmxr c19kaXJ0aWVkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hh cmVkX2Jsa3NfZGlydGllZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiA9IGJ1ZnVz YWdlLnNoYXJlZF9ibGtzX3dyaXR0ZW47CisKKwlyZXBvcnQtPndhbF9yZWNvcmRzID0gd2Fs dXNhZ2Uud2FsX3JlY29yZHM7CisJcmVwb3J0LT53YWxfZnBpID0gd2FsdXNhZ2Uud2FsX2Zw aTsKKwlyZXBvcnQtPndhbF9ieXRlcyA9IHdhbHVzYWdlLndhbF9ieXRlczsKKworCXJlcG9y dC0+YmxrX3JlYWRfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxv Y2FsX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3JlYWRfdGltZSArPSBJTlNUUl9U SU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3JlYWRfdGltZSk7CisJcmVw b3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdl LmxvY2FsX2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1lID0gSU5T VFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa193cml0ZV90aW1lKTsK KwlyZXBvcnQtPmRlbGF5X3RpbWUgPSBWYWN1dW1EZWxheVRpbWUgLSBjb3VudGVycy0+VmFj dXVtRGVsYXlUaW1lOworCisJcmVwb3J0LT50b3RhbF90aW1lID0gc2VjcyAqIDEwMDAuICsg dXNlY3MgLyAxMDAwLjsKKworCWlmICghcmVsLT5wZ3N0YXRfaW5mbyB8fCAhcGdzdGF0X3Ry YWNrX2NvdW50cykKKwkJLyoKKwkJICogaWYgc29tZXRoaW5nIGdvZXMgd3Jvbmcgb3IgYW4g dXNlciBkb2Vzbid0IHdhbnQgdG8gdHJhY2sgYSBkYXRhYmFzZQorCQkgKiBhY3Rpdml0eSAt IGp1c3Qgc3VwcHJlc3MgaXQuCisJCSAqLworCQlyZXR1cm47CisKKwlyZXBvcnQtPmJsa3Nf ZmV0Y2hlZCA9CisJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hlZCAt IGNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZDsKKwlyZXBvcnQtPmJsa3NfaGl0ID0KKwkJcmVs LT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19oaXQgLSBjb3VudGVycy0+YmxvY2tzX2hp dDsKK30KIAogLyoKICAqCWhlYXBfdmFjdXVtX3JlbCgpIC0tIHBlcmZvcm0gVkFDVVVNIGZv ciBvbmUgaGVhcCByZWxhdGlvbgpAQCAtMzA5LDYgKzQxOCw4IEBAIGhlYXBfdmFjdXVtX3Jl bChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCVdhbFVzYWdlCXN0YXJ0 d2FsdXNhZ2UgPSBwZ1dhbFVzYWdlOwogCUJ1ZmZlclVzYWdlIHN0YXJ0YnVmZmVydXNhZ2Ug PSBwZ0J1ZmZlclVzYWdlOwogCUVycm9yQ29udGV4dENhbGxiYWNrIGVycmNhbGxiYWNrOwor CUxWRXh0U3RhdENvdW50ZXJzIGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRW YWNSZXBvcnQ7CiAJY2hhcgkgICoqaW5kbmFtZXMgPSBOVUxMOwogCiAJdmVyYm9zZSA9IChw YXJhbXMtPm9wdGlvbnMgJiBWQUNPUFRfVkVSQk9TRSkgIT0gMDsKQEAgLTMyNyw3ICs0Mzgs NyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFt cywKIAogCXBnc3RhdF9wcm9ncmVzc19zdGFydF9jb21tYW5kKFBST0dSRVNTX0NPTU1BTkRf VkFDVVVNLAogCQkJCQkJCQkgIFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7Ci0KKwlleHR2YWNf c3RhdHNfc3RhcnQocmVsLCAmZXh0VmFjQ291bnRlcnMpOwogCS8qCiAJICogU2V0dXAgZXJy b3IgdHJhY2ViYWNrIHN1cHBvcnQgZm9yIGVyZXBvcnQoKSBmaXJzdC4gIFRoZSBpZGVhIGlz IHRvIHNldAogCSAqIHVwIGFuIGVycm9yIGNvbnRleHQgY2FsbGJhY2sgdG8gZGlzcGxheSBh ZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIGFueQpAQCAtMzQ0LDYgKzQ1NSw3IEBAIGhlYXBf dmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3Jl bC0+ZGJuYW1lID0gZ2V0X2RhdGFiYXNlX25hbWUoTXlEYXRhYmFzZUlkKTsKIAl2YWNyZWwt PnJlbG5hbWVzcGFjZSA9IGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFj ZShyZWwpKTsKIAl2YWNyZWwtPnJlbG5hbWUgPSBwc3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRp b25OYW1lKHJlbCkpOworCXZhY3JlbC0+cmVsb2lkID0gUmVsYXRpb25HZXRSZWxpZChyZWwp OwogCXZhY3JlbC0+aW5kbmFtZSA9IE5VTEw7CiAJdmFjcmVsLT5waGFzZSA9IFZBQ1VVTV9F UlJDQl9QSEFTRV9VTktOT1dOOwogCXZhY3JlbC0+dmVyYm9zZSA9IHZlcmJvc2U7CkBAIC00 MTEsNiArNTIzLDggQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFy YW1zICpwYXJhbXMsCiAJdmFjcmVsLT5scGRlYWRfaXRlbV9wYWdlcyA9IDA7CiAJdmFjcmVs LT5taXNzZWRfZGVhZF9wYWdlcyA9IDA7CiAJdmFjcmVsLT5ub25lbXB0eV9wYWdlcyA9IDA7 CisJdmFjcmVsLT5zZXRfZnJvemVuX3BhZ2VzID0gMDsKKwl2YWNyZWwtPnNldF9hbGxfdmlz aWJsZV9wYWdlcyA9IDA7CiAJLyogZGVhZF9pdGVtc19hbGxvYyBhbGxvY2F0ZXMgdmFjcmVs LT5kZWFkX2l0ZW1zIGxhdGVyIG9uICovCiAKIAkvKiBBbGxvY2F0ZS9pbml0aWFsaXplIG91 dHB1dCBzdGF0aXN0aWNzIHN0YXRlICovCkBAIC01NzIsNiArNjg2LDE5IEBAIGhlYXBfdmFj dXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCQkJCQkJdmFj cmVsLT5OZXdSZWxmcm96ZW5YaWQsIHZhY3JlbC0+TmV3UmVsbWluTXhpZCwKIAkJCQkJCSZm cm96ZW54aWRfdXBkYXRlZCwgJm1pbm11bHRpX3VwZGF0ZWQsIGZhbHNlKTsKIAorCS8qIE1h a2UgZ2VuZXJpYyBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0ICovCisJZXh0dmFjX3N0 YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisKKwkvKiBG aWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCisJZXh0VmFjUmVw b3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7CisJZXh0VmFjUmVw b3J0LnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRfcGFnZXM7CisJZXh0VmFjUmVw b3J0LnBhZ2VzX2Zyb3plbiA9IHZhY3JlbC0+c2V0X2Zyb3plbl9wYWdlczsKKwlleHRWYWNS ZXBvcnQucGFnZXNfYWxsX3Zpc2libGUgPSB2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdl czsKKwlleHRWYWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxl dGVkOworCWV4dFZhY1JlcG9ydC50dXBsZXNfZnJvemVuID0gdmFjcmVsLT50dXBsZXNfZnJv emVuOworCWV4dFZhY1JlcG9ydC5yZWNlbnRseV9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVj ZW50bHlfZGVhZF90dXBsZXM7CisJZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9jb3VudCA9 IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOworCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0 byB0aGUgY3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KIAkgKgpAQCAtNTg2LDcgKzcx Myw4IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFy YW1zLAogCQkJCQkJIHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKIAkJCQkJCSBNYXgodmFj cmVsLT5uZXdfbGl2ZV90dXBsZXMsIDApLAogCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVh ZF90dXBsZXMgKwotCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzKTsKKwkJCQkJ CSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKKwkJCQkJCSAmZXh0VmFjUmVwb3J0KTsK IAlwZ3N0YXRfcHJvZ3Jlc3NfZW5kX2NvbW1hbmQoKTsKIAogCWlmIChpbnN0cnVtZW50KQpA QCAtMTM3OCw2ICsxNTA2LDggQEAgbGF6eV9zY2FuX25ld19vcl9lbXB0eShMVlJlbFN0YXRl ICp2YWNyZWwsIEJ1ZmZlciBidWYsIEJsb2NrTnVtYmVyIGJsa25vLAogCQkJCQkJCSAgdm1i dWZmZXIsIEludmFsaWRUcmFuc2FjdGlvbklkLAogCQkJCQkJCSAgVklTSUJJTElUWU1BUF9B TExfVklTSUJMRSB8IFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTik7CiAJCQlFTkRfQ1JJVF9T RUNUSU9OKCk7CisJCQl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlcysrOworCQkJdmFj cmVsLT5zZXRfZnJvemVuX3BhZ2VzKys7CiAJCX0KIAogCQlmcmVlc3BhY2UgPSBQYWdlR2V0 SGVhcEZyZWVTcGFjZShwYWdlKTsKQEAgLTIyNzUsMTEgKzI0MDUsMTMgQEAgbGF6eV92YWN1 dW1faGVhcF9wYWdlKExWUmVsU3RhdGUgKnZhY3JlbCwgQmxvY2tOdW1iZXIgYmxrbm8sIEJ1 ZmZlciBidWZmZXIsCiAJCQkJCQkJCSAmYWxsX2Zyb3plbikpCiAJewogCQl1aW50OAkJZmxh Z3MgPSBWSVNJQklMSVRZTUFQX0FMTF9WSVNJQkxFOworCQl2YWNyZWwtPnNldF9hbGxfdmlz aWJsZV9wYWdlcysrOwogCiAJCWlmIChhbGxfZnJvemVuKQogCQl7CiAJCQlBc3NlcnQoIVRy YW5zYWN0aW9uSWRJc1ZhbGlkKHZpc2liaWxpdHlfY3V0b2ZmX3hpZCkpOwogCQkJZmxhZ3Mg fD0gVklTSUJJTElUWU1BUF9BTExfRlJPWkVOOworCQkJdmFjcmVsLT5zZXRfZnJvemVuX3Bh Z2VzKys7CiAJCX0KIAogCQlQYWdlU2V0QWxsVmlzaWJsZShwYWdlKTsKQEAgLTMxMjAsNiAr MzI1Miw4IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNoIChl cnJpbmZvLT5waGFzZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVB UDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCk7CiAJCQlpZiAoQmxvY2tOdW1iZXJJc1Zh bGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxp ZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtMzEzNSw2ICszMjY5LDggQEAgdmFjdXVtX2Vycm9y X2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNC X1BIQVNFX1ZBQ1VVTV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJ CQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkKTsKIAkJCWlm IChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChP ZmZzZXROdW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMgYi9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKaW5kZXggOGIyNGU3YmMzM2MuLmQyNWM5YTM2Nzlk IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMK KysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jCkBAIC05MSw2 ICs5MSw3IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKICNpbmNsdWRlICJh Y2Nlc3MveGxvZ3V0aWxzLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAi cGdzdGF0LmgiCiAjaW5jbHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUgInN0 b3JhZ2UvYnVmbWdyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zbWdyLmgiCkBAIC0xNjAsNiAr MTYxLDE1IEBAIHZpc2liaWxpdHltYXBfY2xlYXIoUmVsYXRpb24gcmVsLCBCbG9ja051bWJl ciBoZWFwQmxrLCBCdWZmZXIgdm1idWYsIHVpbnQ4IGZsYWdzCiAKIAlpZiAobWFwW21hcEJ5 dGVdICYgbWFzaykKIAl7CisJCS8qCisJCSAqIEFzIHBhcnQgb2YgdmFjdXVtIHN0YXRzLCB0 cmFjayBob3cgb2Z0ZW4gYWxsLXZpc2libGUgb3IgYWxsLWZyb3plbgorCQkgKiBiaXRzIGFy ZSBjbGVhcmVkLgorCQkgKi8KKwkJaWYgKG1hcFttYXBCeXRlXSA+PiBtYXBPZmZzZXQgJiBm bGFncyAmIFZJU0lCSUxJVFlNQVBfQUxMX1ZJU0lCTEUpCisJCQlwZ3N0YXRfY291bnRfdm1f cmV2X2FsbF92aXNpYmxlKHJlbCk7CisJCWlmIChtYXBbbWFwQnl0ZV0gPj4gbWFwT2Zmc2V0 ICYgZmxhZ3MgJiBWSVNJQklMSVRZTUFQX0FMTF9GUk9aRU4pCisJCQlwZ3N0YXRfY291bnRf dm1fcmV2X2FsbF9mcm96ZW4ocmVsKTsKKwogCQltYXBbbWFwQnl0ZV0gJj0gfm1hc2s7CiAK IAkJTWFya0J1ZmZlckRpcnR5KHZtYnVmKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nh dGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbAppbmRleCBkYTlhOGZlOTlmMi4uMzNmZjdjODFhYTAgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9j YXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTY5MSw3ICs2OTEsOSBAQCBDUkVBVEUgVklF VyBwZ19zdGF0X2FsbF90YWJsZXMgQVMKICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1 bV9jb3VudChDLm9pZCkgQVMgdmFjdXVtX2NvdW50LAogICAgICAgICAgICAgcGdfc3RhdF9n ZXRfYXV0b3ZhY3V1bV9jb3VudChDLm9pZCkgQVMgYXV0b3ZhY3V1bV9jb3VudCwKICAgICAg ICAgICAgIHBnX3N0YXRfZ2V0X2FuYWx5emVfY291bnQoQy5vaWQpIEFTIGFuYWx5emVfY291 bnQsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9hdXRvYW5hbHl6ZV9jb3VudChDLm9pZCkg QVMgYXV0b2FuYWx5emVfY291bnQKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2F1dG9hbmFs eXplX2NvdW50KEMub2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudCwKKyAgICAgICAgICAgIHBn X3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzKEMub2lkKSBBUyByZXZfYWxsX2Zyb3pl bl9wYWdlcywKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdl cyhDLm9pZCkgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICAgRlJPTSBwZ19jbGFzcyBD IExFRlQgSk9JTgogICAgICAgICAgcGdfaW5kZXggSSBPTiBDLm9pZCA9IEkuaW5kcmVsaWQK ICAgICAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgTiBPTiAoTi5vaWQgPSBDLnJlbG5h bWVzcGFjZSkKQEAgLTEzODEsMyArMTM4Myw0NyBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3N1 YnNjcmlwdGlvbl9zdGF0cyBBUwogCiBDUkVBVEUgVklFVyBwZ193YWl0X2V2ZW50cyBBUwog ICAgIFNFTEVDVCAqIEZST00gcGdfZ2V0X3dhaXRfZXZlbnRzKCk7CistLQorLS0gU2hvdyBl eHRlbmRlZCBjdW11bGF0aXZlIHN0YXRpc3RpY3Mgb24gYSB2YWN1dW0gb3BlcmF0aW9uIG92 ZXIgYWxsIHRhYmxlcyBhbmQKKy0tIGRhdGFiYXNlcyBvZiB0aGUgaW5zdGFuY2UuCistLSBV c2UgSW52YWxpZCBPaWQgIjAiIGFzIGFuIGlucHV0IHJlbGF0aW9uIGlkIHRvIGdldCBzdGF0 IG9uIGVhY2ggdGFibGUgaW4gYQorLS0gZGF0YWJhc2UuCistLQorCitDUkVBVEUgVklFVyBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgQVMKK1NFTEVDVAorICBucy5uc3BuYW1lIEFTICJzY2hl bWEiLAorICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAorICBzdGF0cy5yZWxpZCBhcyByZWxp ZCwKKworICBzdGF0cy50b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxfYmxrc19yZWFkLAorICBz dGF0cy50b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hpdCwKKyAgc3RhdHMudG90YWxf Ymxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgc3RhdHMudG90YWxfYmxr c193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICBzdGF0cy5yZWxfYmxrc19y ZWFkIEFTIHJlbF9ibGtzX3JlYWQsCisgIHN0YXRzLnJlbF9ibGtzX2hpdCBBUyByZWxfYmxr c19oaXQsCisKKyAgc3RhdHMucGFnZXNfc2Nhbm5lZCBBUyBwYWdlc19zY2FubmVkLAorICBz dGF0cy5wYWdlc19yZW1vdmVkIEFTIHBhZ2VzX3JlbW92ZWQsCisgIHN0YXRzLnBhZ2VzX2Zy b3plbiBBUyBwYWdlc19mcm96ZW4sCisgIHN0YXRzLnBhZ2VzX2FsbF92aXNpYmxlIEFTIHBh Z2VzX2FsbF92aXNpYmxlLAorICBzdGF0cy50dXBsZXNfZGVsZXRlZCBBUyB0dXBsZXNfZGVs ZXRlZCwKKyAgc3RhdHMudHVwbGVzX2Zyb3plbiBBUyB0dXBsZXNfZnJvemVuLAorICBzdGF0 cy5kZWFkX3R1cGxlcyBBUyBkZWFkX3R1cGxlcywKKworICBzdGF0cy5pbmRleF92YWN1dW1f Y291bnQgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAorICBzdGF0cy53YWxfcmVjb3JkcyBBUyB3 YWxfcmVjb3JkcywKKyAgc3RhdHMud2FsX2ZwaSBBUyB3YWxfZnBpLAorICBzdGF0cy53YWxf Ynl0ZXMgQVMgd2FsX2J5dGVzLAorCisgIHN0YXRzLmJsa19yZWFkX3RpbWUgQVMgYmxrX3Jl YWRfdGltZSwKKyAgc3RhdHMuYmxrX3dyaXRlX3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisK KyAgc3RhdHMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1lLAorICBzdGF0cy50b3RhbF90aW1l IEFTIHRvdGFsX3RpbWUKKworRlJPTSBwZ19jbGFzcyByZWwKKyAgSk9JTiBwZ19uYW1lc3Bh Y2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKKyAgTEFURVJBTCBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzCitXSEVSRSByZWwucmVsa2luZCA9 ICdyJzsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKaW5kZXggODZmMzZiMzY5NTQuLjFjZmY0NDZm YjkyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYworKysgYi9z cmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwpAQCAtMTAyLDYgKzEwMiw5IEBAIHBnX2F0 b21pY191aW50MzIgKlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlID0gTlVMTDsKIHBnX2F0b21p Y191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3JrZXJzID0gTlVMTDsKIGludAkJCVZhY3V1bUNv c3RCYWxhbmNlTG9jYWwgPSAwOwogCisvKiBDdW11bGF0aXZlIHN0b3JhZ2UgdG8gcmVwb3J0 IHRvdGFsIHZhY3V1bSBkZWxheSB0aW1lLiAqLworZG91YmxlIFZhY3V1bURlbGF5VGltZSA9 IDA7IC8qIG1zZWMuICovCisKIC8qIG5vbi1leHBvcnQgZnVuY3Rpb24gcHJvdG90eXBlcyAq Lwogc3RhdGljIExpc3QgKmV4cGFuZF92YWN1dW1fcmVsKFZhY3V1bVJlbGF0aW9uICp2cmVs LAogCQkJCQkJCSAgIE1lbW9yeUNvbnRleHQgdmFjX2NvbnRleHQsIGludCBvcHRpb25zKTsK QEAgLTI0MTgsNiArMjQyMSw3IEBAIHZhY3V1bV9kZWxheV9wb2ludCh2b2lkKQogCQkJZXhp dCgxKTsKIAogCQlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJCVZhY3V1bURlbGF5VGltZSAr PSBtc2VjOwogCiAJCS8qCiAJCSAqIEJhbGFuY2UgYW5kIHVwZGF0ZSBsaW1pdCB2YWx1ZXMg Zm9yIGF1dG92YWN1dW0gd29ya2Vycy4gV2UgbXVzdCBkbwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggNGZkNjU3NGUxMjkuLjdmN2M3YzE2ZTIzIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCisrKyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTEwNDgsNiArMTA0OCw3 IEBAIHBhcmFsbGVsX3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50ICpzZWcsIHNobV90b2MgKnRv YykKIAkvKiBTZXQgY29zdC1iYXNlZCB2YWN1dW0gZGVsYXkgKi8KIAlWYWN1dW1VcGRhdGVD b3N0cygpOwogCVZhY3V1bUNvc3RCYWxhbmNlID0gMDsKKwlWYWN1dW1EZWxheVRpbWUgPSAw OwogCVZhY3V1bUNvc3RCYWxhbmNlTG9jYWwgPSAwOwogCVZhY3V1bVNoYXJlZENvc3RCYWxh bmNlID0gJihzaGFyZWQtPmNvc3RfYmFsYW5jZSk7CiAJVmFjdXVtQWN0aXZlTldvcmtlcnMg PSAmKHNoYXJlZC0+YWN0aXZlX253b3JrZXJzKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0LmMKaW5kZXggZWE4YzU2OTFlODcuLjNmMmU5ZjU0Njg1IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTg5LDcgKzE4OSw3IEBAIHN0YXRpYyB2b2lk IHBnc3RhdF9yZXNldF9hZnRlcl9mYWlsdXJlKHZvaWQpOwogc3RhdGljIGJvb2wgcGdzdGF0 X2ZsdXNoX3BlbmRpbmdfZW50cmllcyhib29sIG5vd2FpdCk7CiAKIHN0YXRpYyB2b2lkIHBn c3RhdF9wcmVwX3NuYXBzaG90KHZvaWQpOwotc3RhdGljIHZvaWQgcGdzdGF0X2J1aWxkX3Nu YXBzaG90KHZvaWQpOworc3RhdGljIHZvaWQgcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBnU3Rh dF9LaW5kIHN0YXRLaW5kKTsKIHN0YXRpYyB2b2lkIHBnc3RhdF9idWlsZF9zbmFwc2hvdF9m aXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAogc3RhdGljIGlubGluZSBib29sIHBnc3RhdF9p c19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwpAQCAtMjU5LDcgKzI1OSw2IEBAIHN0 YXRpYyBib29sIHBnc3RhdF9pc19pbml0aWFsaXplZCA9IGZhbHNlOwogc3RhdGljIGJvb2wg cGdzdGF0X2lzX3NodXRkb3duID0gZmFsc2U7CiAjZW5kaWYKIAotCiAvKgogICogVGhlIGRp ZmZlcmVudCBraW5kcyBvZiBidWlsdC1pbiBzdGF0aXN0aWNzLgogICoKQEAgLTg3OCw3ICs4 NzcsNiBAQCBwZ3N0YXRfcmVzZXRfb2Zfa2luZChQZ1N0YXRfS2luZCBraW5kKQogCQlwZ3N0 YXRfcmVzZXRfZW50cmllc19vZl9raW5kKGtpbmQsIHRzKTsKIH0KIAotCiAvKiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K ICAqIEZldGNoaW5nIG9mIHN0YXRzCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk0Nyw3ICs5NDUsNyBAQCBw Z3N0YXRfZmV0Y2hfZW50cnkoUGdTdGF0X0tpbmQga2luZCwgT2lkIGRib2lkLCB1aW50NjQg b2JqaWQpCiAKIAkvKiBpZiB3ZSBuZWVkIHRvIGJ1aWxkIGEgZnVsbCBzbmFwc2hvdCwgZG8g c28gKi8KIAlpZiAocGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID09IFBHU1RBVF9GRVRDSF9D T05TSVNURU5DWV9TTkFQU0hPVCkKLQkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KCk7CisJCXBn c3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9JTlZBTElEKTsKIAogCS8qIGlmIGNh Y2hpbmcgaXMgZGVzaXJlZCwgbG9vayB1cCBpbiBjYWNoZSAqLwogCWlmIChwZ3N0YXRfZmV0 Y2hfY29uc2lzdGVuY3kgPiBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfTk9ORSkKQEAgLTEw NjMsNyArMTA2MSw3IEBAIHBnc3RhdF9zbmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBraW5k KQogCQlwZ3N0YXRfY2xlYXJfc25hcHNob3QoKTsKIAogCWlmIChwZ3N0YXRfZmV0Y2hfY29u c2lzdGVuY3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBTSE9UKQotCQlwZ3N0 YXRfYnVpbGRfc25hcHNob3QoKTsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9L SU5EX0lOVkFMSUQpOwogCWVsc2UKIAkJcGdzdGF0X2J1aWxkX3NuYXBzaG90X2ZpeGVkKGtp bmQpOwogCkBAIC0xMTEzLDggKzExMTEsMzAgQEAgcGdzdGF0X3ByZXBfc25hcHNob3Qodm9p ZCkKIAkJCQkJCQkgICBOVUxMKTsKIH0KIAorCisvKgorICogVHJpdmlhbCBleHRlcm5hbCBp bnRlcmZhY2UgdG8gYnVpbGQgYSBzbmFwc2hvdCBmb3IgdGFibGUgc3RhdGlzdGljcyBvbmx5 LgorICovCit2b2lkCitwZ3N0YXRfdXBkYXRlX3NuYXBzaG90KFBnU3RhdF9LaW5kIGtpbmQp Cit7CisJaW50IHNhdmVfY29uc2lzdGVuY3lfZ3VjID0gcGdzdGF0X2ZldGNoX2NvbnNpc3Rl bmN5OworCXBnc3RhdF9jbGVhcl9zbmFwc2hvdCgpOworCisJUEdfVFJZKCk7CisJeworCQlw Z3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05B UFNIT1Q7CisJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9SRUxBVElPTik7 CisJfQorCVBHX0ZJTkFMTFkoKTsKKwl7CisJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9 IHNhdmVfY29uc2lzdGVuY3lfZ3VjOworCX0KKwlQR19FTkRfVFJZKCk7Cit9CisKIHN0YXRp YyB2b2lkCi1wZ3N0YXRfYnVpbGRfc25hcHNob3Qodm9pZCkKK3Bnc3RhdF9idWlsZF9zbmFw c2hvdChQZ1N0YXRfS2luZCBzdGF0S2luZCkKIHsKIAlkc2hhc2hfc2VxX3N0YXR1cyBoc3Rh dDsKIAlQZ1N0YXRTaGFyZWRfSGFzaEVudHJ5ICpwOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCBmYWJhOGI2NGQyMy4uODFlNDFi NzJmOTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9y ZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxh dGlvbi5jCkBAIC00Nyw2ICs0Nyw4IEBAIHN0YXRpYyB2b2lkIGFkZF90YWJzdGF0X3hhY3Rf bGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbywgaW50IG5lc3RfbGV2CiBz dGF0aWMgdm9pZCBlbnN1cmVfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1 cyAqcGdzdGF0X2luZm8pOwogc3RhdGljIHZvaWQgc2F2ZV90cnVuY2Ryb3BfY291bnRlcnMo UGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMsIGJvb2wgaXNfZHJvcCk7CiBzdGF0aWMg dm9pZCByZXN0b3JlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVz ICp0cmFucyk7CitzdGF0aWMgdm9pZCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMo RXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAorCQkJCQkJCSAgIGJvb2wg YWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pOwogCiAKIC8qCkBAIC0yMDMsMTIg KzIwNSw0MCBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwpCiAJfQogfQog CisvKiAtLS0tLS0tLS0KKyAqIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKCkgLQorICoK KyAqCVRlbGwgdGhlIGNvbGxlY3RvciBhYm91dCBhbiAoYXV0byl2YWN1dW0gaW50ZXJydXB0 aW9uLgorICogLS0tLS0tLS0tCisgKi8KK3ZvaWQKK3Bnc3RhdF9yZXBvcnRfdmFjdXVtX2Vy cm9yKE9pZCB0YWJsZW9pZCkKK3sKKwlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKKwlQ Z1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50cnk7CisJUGdTdGF0X1N0YXRUYWJFbnRy eSAqdGFiZW50cnk7CisJT2lkCQkJZGJvaWQgPSAgTXlEYXRhYmFzZUlkOworCisJaWYgKCFw Z3N0YXRfdHJhY2tfY291bnRzKQorCQlyZXR1cm47CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRf Z2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfUkVMQVRJT04sCisJCQkJCQkJCQkJ CWRib2lkLCB0YWJsZW9pZCwgZmFsc2UpOworCisJc2h0YWJlbnRyeSA9IChQZ1N0YXRTaGFy ZWRfUmVsYXRpb24gKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisJdGFiZW50cnkgPSAm c2h0YWJlbnRyeS0+c3RhdHM7CisKKwl0YWJlbnRyeS0+dmFjdXVtX2V4dC5lcnJvcnMrKzsK KwlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7Cit9CisKIC8qCiAgKiBSZXBvcnQg dGhhdCB0aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5kIGZsdXNoIElPIHN0YXRpc3Rp Y3MuCiAgKi8KIHZvaWQKIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9v bCBzaGFyZWQsCi0JCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291 bnRlciBkZWFkdHVwbGVzKQorCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdT dGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKKwkJCQkJIEV4dFZhY1JlcG9ydCAqcGFyYW1zKQog ewogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBnU3RhdFNoYXJlZF9SZWxhdGlv biAqc2h0YWJlbnRyeTsKQEAgLTIzMiw2ICsyNjIsOCBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1 bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCXRhYmVudHJ5LT5saXZlX3R1cGxlcyA9 IGxpdmV0dXBsZXM7CiAJdGFiZW50cnktPmRlYWRfdHVwbGVzID0gZGVhZHR1cGxlczsKIAor CXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFiZW50cnktPnZhY3V1bV9leHQs IHBhcmFtcywgdHJ1ZSk7CisKIAkvKgogCSAqIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQg YSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tpcHBpbmcKIAkgKiB2YXJpb3Vz IHBhZ2VzLCBob3dldmVyLCB3ZSdsbCB6ZXJvIHRoZSBpbnNlcnQgY291bnRlciBoZXJlIHJl Z2FyZGxlc3MuCkBAIC04NTcsNiArODg5LDkgQEAgcGdzdGF0X3JlbGF0aW9uX2ZsdXNoX2Ni KFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkKIAl0YWJlbnRyeS0+ YmxvY2tzX2ZldGNoZWQgKz0gbHN0YXRzLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQ7CiAJdGFi ZW50cnktPmJsb2Nrc19oaXQgKz0gbHN0YXRzLT5jb3VudHMuYmxvY2tzX2hpdDsKIAorCXRh YmVudHJ5LT5yZXZfYWxsX2Zyb3plbl9wYWdlcyArPSBsc3RhdHMtPmNvdW50cy5yZXZfYWxs X2Zyb3plbl9wYWdlczsKKwl0YWJlbnRyeS0+cmV2X2FsbF92aXNpYmxlX3BhZ2VzICs9IGxz dGF0cy0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9wYWdlczsKKwogCS8qIENsYW1wIGxpdmVf dHVwbGVzIGluIGNhc2Ugb2YgbmVnYXRpdmUgZGVsdGFfbGl2ZV90dXBsZXMgKi8KIAl0YWJl bnRyeS0+bGl2ZV90dXBsZXMgPSBNYXgodGFiZW50cnktPmxpdmVfdHVwbGVzLCAwKTsKIAkv KiBMaWtld2lzZSBmb3IgZGVhZF90dXBsZXMgKi8KQEAgLTk4MCwzICsxMDE1LDM2IEBAIHJl c3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5z KQogCQl0cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSB0cmFucy0+ZGVsZXRlZF9wcmVfdHJ1bmNk cm9wOwogCX0KIH0KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19z dGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJCQkJCQkJICAg Ym9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKK3sKKwlkc3QtPnRvdGFs X2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsKKwlkc3QtPnRvdGFsX2Jsa3Nf aGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CisJZHN0LT50b3RhbF9ibGtzX2RpcnRpZWQg Kz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJZHN0LT50b3RhbF9ibGtzX3dyaXR0ZW4g Kz0gc3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJZHN0LT53YWxfYnl0ZXMgKz0gc3JjLT53 YWxfYnl0ZXM7CisJZHN0LT53YWxfZnBpICs9IHNyYy0+d2FsX2ZwaTsKKwlkc3QtPndhbF9y ZWNvcmRzICs9IHNyYy0+d2FsX3JlY29yZHM7CisJZHN0LT5ibGtfcmVhZF90aW1lICs9IHNy Yy0+YmxrX3JlYWRfdGltZTsKKwlkc3QtPmJsa193cml0ZV90aW1lICs9IHNyYy0+YmxrX3dy aXRlX3RpbWU7CisJZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ZGVsYXlfdGltZTsKKwlkc3Qt PnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1lOworCWRzdC0+ZXJyb3JzICs9IHNyYy0+ ZXJyb3JzOworCisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKKwkJ cmV0dXJuOworCisJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJ ZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OworCisJZHN0LT5wYWdlc19zY2FubmVk ICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5w YWdlc19yZW1vdmVkOworCWRzdC0+cGFnZXNfZnJvemVuICs9IHNyYy0+cGFnZXNfZnJvemVu OworCWRzdC0+cGFnZXNfYWxsX3Zpc2libGUgKz0gc3JjLT5wYWdlc19hbGxfdmlzaWJsZTsK Kwlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7CisJZHN0LT50 dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3plbjsKKwlkc3QtPnJlY2VudGx5X2Rl YWRfdHVwbGVzICs9IHNyYy0+cmVjZW50bHlfZGVhZF90dXBsZXM7CisJZHN0LT5pbmRleF92 YWN1dW1fY291bnQgKz0gc3JjLT5pbmRleF92YWN1dW1fY291bnQ7Cit9ClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bn c3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRl eCA2MGEzOTdkYzU2MS4uNDczYWY0NWYxOTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0 YXRmdW5jcy5jCkBAIC0xMDYsNiArMTA2LDEyIEBAIFBHX1NUQVRfR0VUX1JFTEVOVFJZX0lO VDY0KHR1cGxlc191cGRhdGVkKQogLyogcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50ICovCiBQ R19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh2YWN1dW1fY291bnQpCiAKKy8qIHBnX3N0YXRf Z2V0X3Jldl9mcm96ZW5fcGFnZXMgKi8KK1BHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KHJl dl9hbGxfZnJvemVuX3BhZ2VzKQorCisvKiBwZ19zdGF0X2dldF9yZXZfYWxsX3Zpc2libGVf cGFnZXMgKi8KK1BHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KHJldl9hbGxfdmlzaWJsZV9w YWdlcykKKwogI2RlZmluZSBQR19TVEFUX0dFVF9SRUxFTlRSWV9USU1FU1RBTVBUWihzdGF0 KQkJCQkJXAogRGF0dW0JCQkJCQkJCQkJCQkJCQlcCiBDcHBDb25jYXQocGdfc3RhdF9nZXRf LHN0YXQpKFBHX0ZVTkNUSU9OX0FSR1MpCQkJCQlcCkBAIC0yMDY5LDMgKzIwNzUsMTMyIEBA IHBnX3N0YXRfaGF2ZV9zdGF0cyhQR19GVU5DVElPTl9BUkdTKQogCiAJUEdfUkVUVVJOX0JP T0wocGdzdGF0X2hhdmVfZW50cnkoa2luZCwgZGJvaWQsIG9iamlkKSk7CiB9CisKKworLyoK KyAqIEdldCB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcy4KKyAq LworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykK K3sKKwkjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyAyMgor CisJT2lkCQkJCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0VGFi RW50cnkgICAgICp0YWJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlU dXBsZURlc2MJCQkJIHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRf VkFDVVVNX1RBQkxFU19TVEFUU19DT0xTXSA9IHswfTsKKwlib29sCQkJCQkgbnVsbHNbUEdf U1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkg YnVmWzI1Nl07CisJaW50CQkJCQkJIGkgPSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOwor CisJLyogSW5pdGlhbGlzZSBhdHRyaWJ1dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBk ZXNjcmlwdG9yICovCisJdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NU QVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbGlkIiwKKwkJCQkJICAgSU5UNE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAidG90YWxfYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxr c19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQiLAorCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJyZWxfYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfaGl0 IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNfc2Nhbm5lZCIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInBhZ2VzX3JlbW92ZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19mcm96 ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19hbGxfdmlzaWJsZSIsCisJCQkJCSAg IElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpICsraSwgInR1cGxlc19kZWxldGVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDAp OworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVw bGVzX2Zyb3plbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRlYWRfdHVwbGVzIiwKKwkJCQkJ ICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAiaW5kZXhfdmFjdXVtX2NvdW50IiwKKwkJCQkJICAgSU5UOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAid2FsX3JlY29yZHMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfZnBpIiwKKwkJCQkJ ICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwKKwkJCQkJICAgTlVNRVJJQ09JRCwgLTEsIDAp OworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJi bGtfcmVhZF90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfd3JpdGVfdGltZSIs CisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxheV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4 T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJ0b3RhbF90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlB c3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOworCisJ Qmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisKKwl0YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9z dGF0X3RhYmVudHJ5KHJlbGlkKTsKKworCWlmICh0YWJlbnRyeSA9PSBOVUxMKQorCXsKKwkJ LyogSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBub3QgZm91bmQsIGluaXRpYWxpc2UgaXRzIHN0 YXRzICovCisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwor CQlleHR2YWN1dW0gPSAmYWxsemVybzsKKwl9CisJZWxzZQorCXsKKwkJZXh0dmFjdXVtID0g Jih0YWJlbnRyeS0+dmFjdXVtX2V4dCk7CisJfQorCisJaSA9IDA7CisKKwl2YWx1ZXNbaSsr XSA9IE9iamVjdElkR2V0RGF0dW0ocmVsaWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19yZWFkKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2hpdCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19kaXJ0aWVkKTsKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX3dyaXR0ZW4p OworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19mZXRj aGVkIC0KKwkJCQkJCQkJCWV4dHZhY3V1bS0+Ymxrc19oaXQpOworCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfaGl0KTsKKworCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX3NjYW5uZWQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX3JlbW92ZWQpOworCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX2Zyb3plbik7CisJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNfYWxsX3Zpc2libGUpOwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19kZWxldGVk KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZnJv emVuKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5yZWNlbnRs eV9kZWFkX3R1cGxlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+aW5kZXhfdmFjdXVtX2NvdW50KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT53YWxfZnBpKTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlr ZSBwZ19zdGF0X3N0YXRlbWVudHMgKi8KKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJ TlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+d2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERp cmVjdEZ1bmN0aW9uQ2FsbDMobnVtZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERh dHVtKGJ1ZiksCisJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkg IEludDMyR2V0RGF0dW0oLTEpKTsKKworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0o ZXh0dmFjdXVtLT5ibGtfcmVhZF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERh dHVtKGV4dHZhY3V1bS0+YmxrX3dyaXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4 R2V0RGF0dW0oZXh0dmFjdXVtLT5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0 OEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfdGltZSk7CisKKwlBc3NlcnQoaSA9PSBQR19T VEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOworCisJLyogUmV0dXJucyB0aGUg cmVjb3JkIGFzIERhdHVtICovCisJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVt KGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vy cm9yL2Vsb2cuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwppbmRleCA4YWNj YTNlMGEwYi4uZmU1NTQ1NDdmNWIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vy cm9yL2Vsb2cuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKQEAgLTE2 MTksNiArMTYxOSwxOSBAQCBnZXRpbnRlcm5hbGVycnBvc2l0aW9uKHZvaWQpCiAJcmV0dXJu IGVkYXRhLT5pbnRlcm5hbHBvczsKIH0KIAorLyoKKyAqIFJldHVybiBlbGV2ZWwgb2YgZXJy b3JzCisgKi8KK2ludAorZ2V0ZXJyZWxldmVsKHZvaWQpCit7CisJRXJyb3JEYXRhICAqZWRh dGEgPSAmZXJyb3JkYXRhW2Vycm9yZGF0YV9zdGFja19kZXB0aF07CisKKwkvKiB3ZSBkb24n dCBib3RoZXIgaW5jcmVtZW50aW5nIHJlY3Vyc2lvbl9kZXB0aCAqLworCUNIRUNLX1NUQUNL X0RFUFRIKCk7CisKKwlyZXR1cm4gZWRhdGEtPmVsZXZlbDsKK30KIAogLyoKICAqIEZ1bmN0 aW9ucyB0byBhbGxvdyBjb25zdHJ1Y3Rpb24gb2YgZXJyb3IgbWVzc2FnZSBzdHJpbmdzIHNl cGFyYXRlbHkgZnJvbQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9j LmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggY2JiZThhY2Qz ODIuLmFhY2JiZmFiYWViIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyNDAy LDQgKzEyNDAyLDIyIEBACiAgIHByb2FyZ3R5cGVzID0+ICdpbnQyJywKICAgcHJvc3JjID0+ ICdnaXN0X3N0cmF0bnVtX2lkZW50aXR5JyB9LAogCit7IG9pZCA9PiAnODAwMScsCisgIGRl c2NyID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHJldHVybiBzdGF0cyB2YWx1ZXMn LAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzJywgcHJvcm93cyA9 PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJv aXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9 PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50 OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDh9JywKKyAg cHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxr c19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dy aXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfc2Nhbm5lZCxwYWdlc19y ZW1vdmVkLHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSx0dXBsZXNfZGVsZXRlZCx0 dXBsZXNfZnJvemVuLGRlYWRfdHVwbGVzLGluZGV4X3ZhY3V1bV9jb3VudCx3YWxfcmVjb3Jk cyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1lLGJsa193cml0ZV90aW1lLGRlbGF5 X3RpbWUsdG90YWxfdGltZX0nLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMnIH0sCisKKyAgeyBvaWQgPT4gJzgwMDInLCBkZXNjciA9PiAnc3RhdGlzdGljczog bnVtYmVyIG9mIHRpbWVzIHRoZSBhbGwtdmlzaWJsZSBwYWdlcyBpbiB0aGUgdmlzaWJpbGl0 eSBtYXAgd2FzIHJlbW92ZWQgZm9yIHBhZ2VzIG9mIHRhYmxlJywKKyAgcHJvbmFtZSA9PiAn cGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzJywgcHJvdm9sYXRpbGUgPT4gJ3Mn LAorICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0 eXBlcyA9PiAnb2lkJywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX3Zpc2li bGVfcGFnZXMnIH0sCisgIHsgb2lkID0+ICc4MDAzJywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6 IG51bWJlciBvZiB0aW1lcyB0aGUgYWxsLWZyb3plbiBwYWdlcyBpbiB0aGUgdmlzaWJpbGl0 eSBtYXAgd2FzIHJlbW92ZWQgZm9yIHBhZ2VzIG9mIHRhYmxlJywKKyAgcHJvbmFtZSA9PiAn cGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMnLCBwcm92b2xhdGlsZSA9PiAncycs CisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5 cGVzID0+ICdvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVu X3BhZ2VzJyB9LAogXQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVt LmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaAppbmRleCA3NTlmOWE4N2QzOC4u MDdiMjhiMTVkOWYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5o CisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCkBAIC0zMDgsNiArMzA4LDcg QEAgZXh0ZXJuIFBHRExMSU1QT1JUIGludCB2YWN1dW1fbXVsdGl4YWN0X2ZhaWxzYWZlX2Fn ZTsKIGV4dGVybiBQR0RMTElNUE9SVCBwZ19hdG9taWNfdWludDMyICpWYWN1dW1TaGFyZWRD b3N0QmFsYW5jZTsKIGV4dGVybiBQR0RMTElNUE9SVCBwZ19hdG9taWNfdWludDMyICpWYWN1 dW1BY3RpdmVOV29ya2VyczsKIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgVmFjdXVtQ29zdEJh bGFuY2VMb2NhbDsKK2V4dGVybiBQR0RMTElNUE9SVCBkb3VibGUgVmFjdXVtRGVsYXlUaW1l OwogCiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCBWYWN1dW1GYWlsc2FmZUFjdGl2ZTsKIGV4 dGVybiBQR0RMTElNUE9SVCBkb3VibGUgdmFjdXVtX2Nvc3RfZGVsYXk7CmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDU5 YzI4YjRhY2E4Li5iYmZkMTNiMmQ1NSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0 LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAgLTE2OSw2ICsxNjksNTIgQEAgdHlw ZWRlZiBzdHJ1Y3QgUGdTdGF0X0JhY2tlbmRTdWJFbnRyeQogCVBnU3RhdF9Db3VudGVyIGNv bmZsaWN0X2NvdW50W0NPTkZMSUNUX05VTV9UWVBFU107CiB9IFBnU3RhdF9CYWNrZW5kU3Vi RW50cnk7CiAKKy8qIC0tLS0tLS0tLS0KKyAqCisgKiBFeHRWYWNSZXBvcnQKKyAqCisgKiBB ZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcgb3ZlciBhIGhlYXAg cmVsYXRpb24uCisgKiBwYWdlc19yZW1vdmVkIGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhl IHBoeXNpY2FsbHkgc2hyYW5rLAorICogaWYgYW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0 b3RhbCBzaXplIG9uIGRpc2spCisgKiBwYWdlc19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3Bh Y2Ugd2l0aGluIHRoZSBpbmRleCBmaWxlCisgKiAtLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYg c3RydWN0IEV4dFZhY1JlcG9ydAoreworCS8qIG51bWJlciBvZiBibG9ja3MgbWlzc2VkLCBo aXQsIGRpcnRpZWQgYW5kIHdyaXR0ZW4gZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJl bGF0aW9uICovCisJaW50NjQJCXRvdGFsX2Jsa3NfcmVhZDsKKwlpbnQ2NAkJdG90YWxfYmxr c19oaXQ7CisJaW50NjQJCXRvdGFsX2Jsa3NfZGlydGllZDsKKwlpbnQ2NAkJdG90YWxfYmxr c193cml0dGVuOworCisJLyogYmxvY2tzIG1pc3NlZCBhbmQgaGl0IGZvciBqdXN0IHRoZSBo ZWFwIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbiAqLworCWludDY0CQli bGtzX2ZldGNoZWQ7CisJaW50NjQJCWJsa3NfaGl0OworCisJLyogVmFjdXVtIFdBTCB1c2Fn ZSBzdGF0cyAqLworCWludDY0CQl3YWxfcmVjb3JkczsJLyogd2FsIHVzYWdlOiBudW1iZXIg b2YgV0FMIHJlY29yZHMgKi8KKwlpbnQ2NAkJd2FsX2ZwaTsJCS8qIHdhbCB1c2FnZTogbnVt YmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIHByb2R1Y2VkICovCisJdWludDY0CQl3YWxf Ynl0ZXM7CQkvKiB3YWwgdXNhZ2U6IHNpemUgb2YgV0FMIHJlY29yZHMgcHJvZHVjZWQgKi8K KworCS8qIFRpbWUgc3RhdHMuICovCisJZG91YmxlCQlibGtfcmVhZF90aW1lOwkvKiB0aW1l IHNwZW50IHJlYWRpbmcgcGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWJsa193cml0ZV90 aW1lOyAvKiB0aW1lIHNwZW50IHdyaXRpbmcgcGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJ CWRlbGF5X3RpbWU7CQkvKiBob3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5 IHBvaW50LCBpbiBtc2VjICovCisJZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGlt ZSBvZiBhIHZhY3V1bSBvcGVyYXRpb24sIGluIG1zZWMgKi8KKworCS8qIEludGVycnVwdGlv bnMgb24gYW55IGVycm9ycy4gKi8KKwlpbnQzMgkJZXJyb3JzOworCisJaW50NjQJCXBhZ2Vz X3NjYW5uZWQ7CQkvKiBoZWFwIHBhZ2VzIGV4YW1pbmVkIChub3Qgc2tpcHBlZCBieSBWTSkg Ki8KKwlpbnQ2NAkJcGFnZXNfcmVtb3ZlZDsJCS8qIGhlYXAgcGFnZXMgcmVtb3ZlZCBieSB2 YWN1dW0gInRydW5jYXRpb24iICovCisJaW50NjQJCXBhZ2VzX2Zyb3plbjsJCS8qIHBhZ2Vz IG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KKwlpbnQ2NAkJcGFnZXNfYWxsX3Zpc2libGU7 CS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCWludDY0CQl0dXBs ZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLworCWludDY0CQl0 dXBsZXNfZnJvemVuOwkJLyogdHVwbGVzIGZyb3plbiB1cCBieSB2YWN1dW0gKi8KKwlpbnQ2 NAkJcmVjZW50bHlfZGVhZF90dXBsZXM7CS8qIGRlbGV0ZWQgdHVwbGVzIHRoYXQgYXJlIHN0 aWxsIHZpc2libGUgdG8gc29tZSB0cmFuc2FjdGlvbiAqLworCWludDY0CQlpbmRleF92YWN1 dW1fY291bnQ7CS8qIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdzICovCit9IEV4dFZhY1Jl cG9ydDsKKwogLyogLS0tLS0tLS0tLQogICogUGdTdGF0X1RhYmxlQ291bnRzCQkJVGhlIGFj dHVhbCBwZXItdGFibGUgY291bnRzIGtlcHQgYnkgYSBiYWNrZW5kCiAgKgpAQCAtMjA5LDYg KzI1NSwxNiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVDb3VudHMKIAogCVBnU3Rh dF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwogCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7 CisKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0Nv dW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisKKwkvKgorCSAqIEFkZGl0aW9uYWwgY3Vt dWxhdGl2ZSBzdGF0IG9uIHZhY3V1bSBvcGVyYXRpb25zLgorCSAqIFVzZSBhbiBleHBlbnNp dmUgc3RydWN0dXJlIGFzIGFuIGFic3RyYWN0aW9uIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YK KwkgKiByZWxhdGlvbnMuCisJICovCisJRXh0VmFjUmVwb3J0CXZhY3V1bV9leHQ7CiB9IFBn U3RhdF9UYWJsZUNvdW50czsKIAogLyogLS0tLS0tLS0tLQpAQCAtMjY3LDcgKzMyMyw3IEBA IHR5cGVkZWYgc3RydWN0IFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMKICAqIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICov CiAKLSNkZWZpbmUgUEdTVEFUX0ZJTEVfRk9STUFUX0lECTB4MDFBNUJDQUYKKyNkZWZpbmUg UEdTVEFUX0ZJTEVfRk9STUFUX0lECTB4MDFBNUJDQjEKIAogdHlwZWRlZiBzdHJ1Y3QgUGdT dGF0X0FyY2hpdmVyU3RhdHMKIHsKQEAgLTM5MCw2ICs0NDYsOCBAQCB0eXBlZGVmIHN0cnVj dCBQZ1N0YXRfU3RhdERCRW50cnkKIAlQZ1N0YXRfQ291bnRlciBwYXJhbGxlbF93b3JrZXJz X2xhdW5jaGVkOwogCiAJVGltZXN0YW1wVHogc3RhdF9yZXNldF90aW1lc3RhbXA7CisKKwlF eHRWYWNSZXBvcnQgdmFjdXVtX2V4dDsJCS8qIGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNz ICovCiB9IFBnU3RhdF9TdGF0REJFbnRyeTsKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0 YXRGdW5jRW50cnkKQEAgLTQ2Myw2ICs1MjEsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0 X1N0YXRUYWJFbnRyeQogCVBnU3RhdF9Db3VudGVyIGFuYWx5emVfY291bnQ7CiAJVGltZXN0 YW1wVHogbGFzdF9hdXRvYW5hbHl6ZV90aW1lOwkvKiBhdXRvdmFjdXVtIGluaXRpYXRlZCAq LwogCVBnU3RhdF9Db3VudGVyIGF1dG9hbmFseXplX2NvdW50OworCisJUGdTdGF0X0NvdW50 ZXIgcmV2X2FsbF92aXNpYmxlX3BhZ2VzOworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJv emVuX3BhZ2VzOworCisJRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CiB9IFBnU3RhdF9TdGF0 VGFiRW50cnk7CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9XYWxTdGF0cwpAQCAtNjMwLDEw ICs2OTMsMTIgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X2Fzc29jX3JlbGF0aW9uKFJlbGF0aW9u IHJlbCk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfdW5saW5rX3JlbGF0aW9uKFJlbGF0aW9uIHJl bCk7CiAKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwg Ym9vbCBzaGFyZWQsCi0JCQkJCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0 YXRfQ291bnRlciBkZWFkdHVwbGVzKTsKKwkJCQkJCQkJIFBnU3RhdF9Db3VudGVyIGxpdmV0 dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCisJCQkJCQkJCSBFeHRWYWNSZXBv cnQgKnBhcmFtcyk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRp b24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9D b3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNldGNvdW50ZXIpOworZXh0 ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKTsKIAog LyoKICAqIElmIHN0YXRzIGFyZSBlbmFibGVkLCBidXQgcGVuZGluZyBkYXRhIGhhc24ndCBi ZWVuIHByZXBhcmVkIHlldCwgY2FsbApAQCAtNjgxLDYgKzc0NiwxNyBAQCBleHRlcm4gdm9p ZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQlpZiAocGdzdGF0X3No b3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKIAkJCShyZWwpLT5wZ3N0YXRfaW5m by0+Y291bnRzLmJsb2Nrc19oaXQrKzsJCQkJXAogCX0gd2hpbGUgKDApCisvKiBhY2N1bXVs YXRlIHVuZnJvemVuIGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuIHBhZ2VzICovCisjZGVm aW5lIHBnc3RhdF9jb3VudF92bV9yZXZfYWxsX3Zpc2libGUocmVsKQkJCQkJCVwKKwlkbyB7 CQkJCQkJCQkJCQkJCQkJXAorCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihy ZWwpKQkJCQkJCVwKKwkJCShyZWwpLT5wZ3N0YXRfaW5mby0+Y291bnRzLnJldl9hbGxfdmlz aWJsZV9wYWdlcysrOwlcCisJfSB3aGlsZSAoMCkKKyNkZWZpbmUgcGdzdGF0X2NvdW50X3Zt X3Jldl9hbGxfZnJvemVuKHJlbCkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJCQkJCVwKKwkJ aWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCisJCQkocmVs KS0+cGdzdGF0X2luZm8tPmNvdW50cy5yZXZfYWxsX2Zyb3plbl9wYWdlcysrOwlcCisJfSB3 aGlsZSAoMCkKIAogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfaW5zZXJ0KFJlbGF0 aW9uIHJlbCwgUGdTdGF0X0NvdW50ZXIgbik7CiBleHRlcm4gdm9pZCBwZ3N0YXRfY291bnRf aGVhcF91cGRhdGUoUmVsYXRpb24gcmVsLCBib29sIGhvdCwgYm9vbCBuZXdwYWdlKTsKQEAg LTY5OCw3ICs3NzQsNiBAQCBleHRlcm4gUGdTdGF0X1N0YXRUYWJFbnRyeSAqcGdzdGF0X2Zl dGNoX3N0YXRfdGFiZW50cnlfZXh0KGJvb2wgc2hhcmVkLAogCQkJCQkJCQkJCQkJCQkgICBP aWQgcmVsb2lkKTsKIGV4dGVybiBQZ1N0YXRfVGFibGVTdGF0dXMgKmZpbmRfdGFic3RhdF9l bnRyeShPaWQgcmVsX2lkKTsKIAotCiAvKgogICogRnVuY3Rpb25zIGluIHBnc3RhdF9yZXBs c2xvdC5jCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCBiL3Ny Yy9pbmNsdWRlL3V0aWxzL2Vsb2cuaAppbmRleCBlNTRlY2E1YjQ4OS4uZTc1MmMwY2UwMTUg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaAorKysgYi9zcmMvaW5jbHVk ZS91dGlscy9lbG9nLmgKQEAgLTIzMCw2ICsyMzAsNyBAQCBleHRlcm4gaW50CWdldGVycmxl dmVsKHZvaWQpOwogZXh0ZXJuIGludAlnZXRlcnJwb3NpdGlvbih2b2lkKTsKIGV4dGVybiBp bnQJZ2V0aW50ZXJuYWxlcnJwb3NpdGlvbih2b2lkKTsKIAorZXh0ZXJuIGludAlnZXRlcnJl bGV2ZWwodm9pZCk7CiAKIC8qLS0tLS0tLS0tLQogICogT2xkLXN0eWxlIGVycm9yIHJlcG9y dGluZyBBUEk6IHRvIGJlIHVzZWQgaW4gdGhpcyB3YXk6CmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3Rh dF9pbnRlcm5hbC5oCmluZGV4IDYxYjJlMWY5NmIyLi4yYzBlNTVkNjNmMyAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKKysrIGIvc3JjL2luY2x1 ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKQEAgLTU3Myw3ICs1NzMsNyBAQCBleHRlcm4g UGdTdGF0X0VudHJ5UmVmICpwZ3N0YXRfZmV0Y2hfcGVuZGluZ19lbnRyeShQZ1N0YXRfS2lu ZCBraW5kLAogZXh0ZXJuIHZvaWQgKnBnc3RhdF9mZXRjaF9lbnRyeShQZ1N0YXRfS2luZCBr aW5kLCBPaWQgZGJvaWQsIHVpbnQ2NCBvYmppZCk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfc25h cHNob3RfZml4ZWQoUGdTdGF0X0tpbmQga2luZCk7CiAKLQorZXh0ZXJuIHZvaWQgcGdzdGF0 X3VwZGF0ZV9zbmFwc2hvdChQZ1N0YXRfS2luZCBraW5kKTsKIC8qCiAgKiBGdW5jdGlvbnMg aW4gcGdzdGF0X2FyY2hpdmVyLmMKICAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0 aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0IGIv c3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRh YmxlLXJlYWQub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43 Y2RiNzljMGVjNAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBl Y3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dApAQCAtMCwwICsx LDUzIEBACit1bnVzZWQgc3RlcCBuYW1lOiBzMl9kZWxldGUKK1BhcnNlZCB0ZXN0IHNwZWMg d2l0aCAyIHNlc3Npb25zCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMl9pbnNlcnQgczJf cHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZCBzMl91 cGRhdGUgczJfaW5zZXJ0X2ludGVycnVwdCBzMl92YWN1dW0gczJfcHJpbnRfdmFjdXVtX3N0 YXRzX3RhYmxlIHMxX2NvbW1pdCBzMl9jaGVja3BvaW50IHMyX3ZhY3V1bSBzMl9wcmludF92 YWN1dW1fc3RhdHNfdGFibGUKK3N0ZXAgczJfaW5zZXJ0OiBJTlNFUlQgSU5UTyB0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbihpZCwgaXZhbCkgU0VMRUNUIGl2YWwsIGl2YWwlMTAgRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSwxMDAwKSBBcyBpdmFsOworc3RlcCBzMl9wcmludF92YWN1 dW1fc3RhdHNfdGFibGU6IAorICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxl c19kZWxldGVkLCB2dC5kZWFkX3R1cGxlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVs bmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CisKK3JlbG5hbWUgICAgICAgICAgICAgICAgICAgfHR1cGxlc19kZWxldGVkfGRlYWRf dHVwbGVzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAgICAwfCAgICAgICAgICAgIDAKKygx IHJvdykKKworc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQ6IAorICBCRUdJTiB0cmFu c2FjdGlvbiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworICBzZWxlY3QgY291 bnQoaXZhbCkgZnJvbSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVyZSBpZD45MDA7 CisKK2NvdW50CistLS0tLQorICAxMDAKKygxIHJvdykKKworc3RlcCBzMl91cGRhdGU6IFVQ REFURSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBTRVQgaXZhbCA9IGl2YWwgKyAyIHdo ZXJlIGlkID4gOTAwOworc3RlcCBzMl9pbnNlcnRfaW50ZXJydXB0OiBJTlNFUlQgSU5UTyB0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB2YWx1ZXMgKDEsMSk7CitzdGVwIHMyX3ZhY3V1 bTogVkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uOworc3RlcCBzMl9wcmludF92 YWN1dW1fc3RhdHNfdGFibGU6IAorICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1 cGxlc19kZWxldGVkLCB2dC5kZWFkX3R1cGxlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQu cmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0g Yy5vaWQ7CisKK3JlbG5hbWUgICAgICAgICAgICAgICAgICAgfHR1cGxlc19kZWxldGVkfGRl YWRfdHVwbGVzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAgMTAwfCAgICAgICAgICAgIDAK KygxIHJvdykKKworc3RlcCBzMV9jb21taXQ6IENPTU1JVDsKK3N0ZXAgczJfY2hlY2twb2lu dDogQ0hFQ0tQT0lOVDsKK3N0ZXAgczJfdmFjdXVtOiBWQUNVVU0gdGVzdF92YWN1dW1fc3Rh dF9pc29sYXRpb247CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAg U0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LmRlYWRfdHVw bGVzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAg ICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAx MDB8ICAgICAgICAxMDB8ICAgICAgICAgIDEwMQorKDEgcm93KQorCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlIGIvc3JjL3Rlc3QvaXNvbGF0 aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQppbmRleCAxNDMxMDlhYTRkYS4uZTkzZGQ0ZjYyNmMg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUKKysr IGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQpAQCAtOTUsNiArOTUs NyBAQCB0ZXN0OiB0aW1lb3V0cwogdGVzdDogdmFjdXVtLWNvbmN1cnJlbnQtZHJvcAogdGVz dDogdmFjdXVtLWNvbmZsaWN0CiB0ZXN0OiB2YWN1dW0tc2tpcC1sb2NrZWQKK3Rlc3Q6IHZh Y3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQKIHRlc3Q6IHN0YXRzCiB0ZXN0OiBo b3Jpem9ucwogdGVzdDogcHJlZGljYXRlLWhhc2gKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lz b2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMg Yi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5zcGVjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41 ZmFjYjJjODYyYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVj cy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKQEAgLTAsMCArMSw1 MSBAQAorIyBUZXN0IGZvciBjaGVja2luZyBkZWFkX3R1cGxlcywgdHVwbGVzX2RlbGV0ZWQg YW5kIGZyb3plbiB0dXBsZXMgaW4gcGdfc3RhdF92YWN1dW1fdGFibGVzLgorIyBEZWFkX3R1 cGxlcyB2YWx1ZXMgYXJlIGNvdW50ZWQgd2hlbiB2YWN1dW0gY2Fubm90IGNsZWFuIHVwIHVu dXNlZCB0dXBsZXMgd2hpbGUgbG9jayBpcyB1c2luZyBhbm90aGVyIHRyYW5zYWN0aW9uLgor IyBEZWFkX3R1cGxlcyBhcmVuJ3QgaW5jcmVhc2VkIGFmdGVyIHJlbGVhc2luZyBsb2NrIGNv bXBhcmVkIHdpdGggdHVwbGVzX2RlbGV0ZWQsIHdoaWNoIGluY3JlYXNlZAorIyBieSB0aGUg dmFsdWUgb2YgdGhlIGNsZWFyZWQgdHVwbGVzIHRoYXQgdGhlIHZhY3V1bSBtYW5hZ2VkIHRv IGNsZWFyLgorCitzZXR1cAoreworICAgIENSRUFURSBUQUJMRSB0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbihpZCBpbnQsIGl2YWwgaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQg PSBvZmYpOworICAgIFNFVCB0cmFja19pb190aW1pbmcgPSBvbjsKK30KKwordGVhcmRvd24K K3sKKyAgICBEUk9QIFRBQkxFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIENBU0NBREU7 CisgICAgUkVTRVQgdHJhY2tfaW9fdGltaW5nOworfQorCitzZXNzaW9uIHMxCitzdGVwIHMx X2JlZ2luX3JlcGVhdGFibGVfcmVhZCAgIHsKKyAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFU SU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKKyAgc2VsZWN0IGNvdW50KGl2YWwpIGZyb20g dGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQ+OTAwOworICB9CitzdGVwIHMx X2NvbW1pdCAgICAgICAgICAgICAgICAgIHsgQ09NTUlUOyB9CisKK3Nlc3Npb24gczIKK3N0 ZXAgczJfaW5zZXJ0ICAgICAgICAgICAgICAgICAgeyBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1 bV9zdGF0X2lzb2xhdGlvbihpZCwgaXZhbCkgU0VMRUNUIGl2YWwsIGl2YWwlMTAgRlJPTSBn ZW5lcmF0ZV9zZXJpZXMoMSwxMDAwKSBBcyBpdmFsOyB9CitzdGVwIHMyX3VwZGF0ZSAgICAg ICAgICAgICAgICAgIHsgVVBEQVRFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIFNFVCBp dmFsID0gaXZhbCAgMiB3aGVyZSBpZCA+IDkwMDsgfQorc3RlcCBzMl9kZWxldGUgICAgICAg ICAgICAgICAgICB7IERFTEVURSBGUk9NIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdo ZXJlIGlkID4gOTAwOyB9CitzdGVwIHMyX2luc2VydF9pbnRlcnJ1cHQgICAgICAgIHsgSU5T RVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gdmFsdWVzICgxLDEpOyB9Citz dGVwIHMyX3ZhY3V1bSAgICAgICAgICAgICAgICAgIHsgVkFDVVVNIHRlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uOyB9CitzdGVwIHMyX2NoZWNrcG9pbnQgICAgICAgICAgICAgIHsgQ0hF Q0tQT0lOVDsgfQorc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKK3sKKyAgICBT RUxFQ1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBs ZXMsIHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2 dCwgcGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3Rh dF9pc29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworfQorCitwZXJtdXRhdGlvbgor ICAgIHMyX2luc2VydAorICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQorICAgIHMx X2JlZ2luX3JlcGVhdGFibGVfcmVhZAorICAgIHMyX3VwZGF0ZQorICAgIHMyX2luc2VydF9p bnRlcnJ1cHQKKyAgICBzMl92YWN1dW0KKyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFi bGUKKyAgICBzMV9jb21taXQKKyAgICBzMl9jaGVja3BvaW50CisgICAgczJfdmFjdXVtCisg ICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAppbmRleCAzMDE0ZDA0N2Zl Zi4uYThhOGJmZmNkNGIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBA IC0xODA0LDcgKzE4MDQsOSBAQCBwZ19zdGF0X2FsbF90YWJsZXN8IFNFTEVDVCBjLm9pZCBB UyByZWxpZCwKICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQoYy5vaWQpIEFTIHZhY3V1 bV9jb3VudCwKICAgICBwZ19zdGF0X2dldF9hdXRvdmFjdXVtX2NvdW50KGMub2lkKSBBUyBh dXRvdmFjdXVtX2NvdW50LAogICAgIHBnX3N0YXRfZ2V0X2FuYWx5emVfY291bnQoYy5vaWQp IEFTIGFuYWx5emVfY291bnQsCi0gICAgcGdfc3RhdF9nZXRfYXV0b2FuYWx5emVfY291bnQo Yy5vaWQpIEFTIGF1dG9hbmFseXplX2NvdW50CisgICAgcGdfc3RhdF9nZXRfYXV0b2FuYWx5 emVfY291bnQoYy5vaWQpIEFTIGF1dG9hbmFseXplX2NvdW50LAorICAgIHBnX3N0YXRfZ2V0 X3Jldl9hbGxfZnJvemVuX3BhZ2VzKGMub2lkKSBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcywK KyAgICBwZ19zdGF0X2dldF9yZXZfYWxsX3Zpc2libGVfcGFnZXMoYy5vaWQpIEFTIHJldl9h bGxfdmlzaWJsZV9wYWdlcwogICAgRlJPTSAoKHBnX2NsYXNzIGMKICAgICAgTEVGVCBKT0lO IHBnX2luZGV4IGkgT04gKChjLm9pZCA9IGkuaW5kcmVsaWQpKSkKICAgICAgTEVGVCBKT0lO IHBnX25hbWVzcGFjZSBuIE9OICgobi5vaWQgPSBjLnJlbG5hbWVzcGFjZSkpKQpAQCAtMjE4 OCw3ICsyMTkwLDkgQEAgcGdfc3RhdF9zeXNfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAg dmFjdXVtX2NvdW50LAogICAgIGF1dG92YWN1dW1fY291bnQsCiAgICAgYW5hbHl6ZV9jb3Vu dCwKLSAgICBhdXRvYW5hbHl6ZV9jb3VudAorICAgIGF1dG9hbmFseXplX2NvdW50LAorICAg IHJldl9hbGxfZnJvemVuX3BhZ2VzLAorICAgIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogICAg RlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChzY2hlbWFuYW1lID0gQU5ZIChB UlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkp IE9SIChzY2hlbWFuYW1lIH4gJ15wZ190b2FzdCc6OnRleHQpKTsKIHBnX3N0YXRfdXNlcl9m dW5jdGlvbnN8IFNFTEVDVCBwLm9pZCBBUyBmdW5jaWQsCkBAIC0yMjM2LDkgKzIyNDAsMzkg QEAgcGdfc3RhdF91c2VyX3RhYmxlc3wgU0VMRUNUIHJlbGlkLAogICAgIHZhY3V1bV9jb3Vu dCwKICAgICBhdXRvdmFjdXVtX2NvdW50LAogICAgIGFuYWx5emVfY291bnQsCi0gICAgYXV0 b2FuYWx5emVfY291bnQKKyAgICBhdXRvYW5hbHl6ZV9jb3VudCwKKyAgICByZXZfYWxsX2Zy b3plbl9wYWdlcywKKyAgICByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gcGdfc3Rh dF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19j YXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hl bWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV90YWJsZXN8 IFNFTEVDVCBucy5uc3BuYW1lIEFTIHNjaGVtYSwKKyAgICByZWwucmVsbmFtZSwKKyAgICBz dGF0cy5yZWxpZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX3JlYWQsCisgICAgc3RhdHMudG90 YWxfYmxrc19oaXQsCisgICAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLAorICAgIHN0YXRz LnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzdGF0cy5yZWxfYmxrc19yZWFkLAorICAgIHN0 YXRzLnJlbF9ibGtzX2hpdCwKKyAgICBzdGF0cy5wYWdlc19zY2FubmVkLAorICAgIHN0YXRz LnBhZ2VzX3JlbW92ZWQsCisgICAgc3RhdHMucGFnZXNfZnJvemVuLAorICAgIHN0YXRzLnBh Z2VzX2FsbF92aXNpYmxlLAorICAgIHN0YXRzLnR1cGxlc19kZWxldGVkLAorICAgIHN0YXRz LnR1cGxlc19mcm96ZW4sCisgICAgc3RhdHMuZGVhZF90dXBsZXMsCisgICAgc3RhdHMuaW5k ZXhfdmFjdXVtX2NvdW50LAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndh bF9mcGksCisgICAgc3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUs CisgICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAg ICBzdGF0cy50b3RhbF90aW1lCisgICBGUk9NIChwZ19jbGFzcyByZWwKKyAgICAgSk9JTiBw Z19uYW1lc3BhY2UgbnMgT04gKChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSkpLAorICAg IExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cyhyZWxp ZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVk LCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFn ZXNfc2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgcGFnZXNfZnJvemVuLCBwYWdlc19hbGxfdmlz aWJsZSwgdHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIGRlYWRfdHVwbGVzLCBpbmRl eF92YWN1dW1fY291bnQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19y ZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBX SEVSRSAocmVsLnJlbGtpbmQgPSAncic6OiJjaGFyIik7CiBwZ19zdGF0X3dhbHwgU0VMRUNU IHdhbF9yZWNvcmRzLAogICAgIHdhbF9mcGksCiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Mub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45MDcxNTM5 ZGRkYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFj dXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dApAQCAtMCwwICsxLDIwMyBAQAorLS0KKy0tIFRl c3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdh bGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBu dW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBu dW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4K Ky0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJl Y2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNpbmUg cXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfY291 bnRzIAorLS0tLS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCistLSBub3QgZW5hYmxlZCBi eSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rp b25zIFRPICdhbGwnOworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NF TEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRf Zmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitcc2V0 IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NF VCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25z aXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEgg KGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJ TlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6 ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworU0VMRUNUIG9pZCBBUyByb2lkIGZyb20gcGdf Y2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0 YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0 aW9uIGV4dGVuZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSxw YWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdl c19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYwor V0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJl bG5hbWUgfCBwYWdlc19mcm96ZW4gfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFn ZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0KKyB2ZXN0YXQgIHwgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAg IDQ1NSB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVD VCByZWxwYWdlcyBBUyBycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdCcgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEy OCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBj aGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBUaGUgdGFibGUgYW5k IGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQK Ky0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNf cmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUg aGF2ZSBjbGVhbmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4gPiAwIEFT IHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVs cGFnZXMtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkID4gMCBBUyBwYWdlc19z Y2FubmVkLHBhZ2VzX3JlbW92ZWQgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zl c3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8 IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVt b3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCBmICAg ICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8 IHQKKygxIHJvdykKKworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRl ZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVt b3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3Nl dAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0g TG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAg QVMgZFdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0t CisgdCAgIHwgdAorKDEgcm93KQorCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQ QVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikg dmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGlj cworQ0hFQ0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NF TEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPiAwIEFTIHBhZ2VzX2Zyb3plbix0 dXBsZXNfZGVsZXRlZC06dGQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAg PSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID4gMCBBUyBwYWdlc19zY2FubmVk LHBhZ2VzX3JlbW92ZWQtOnByID4gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0 YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCBwYWdlc19mcm96ZW4gfCB0 dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92 ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgZiAgICAg ICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0 CisoMSByb3cpCisKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQg QVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92 ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNv cmRzLTpod3IgQVMgZHdyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkg QVMgZGZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnIFxnc2V0CistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxF Q1QgOmR3ciA+IDAgQVMgZFdSLCA6ZHdiID4gMCBBUyBkV0I7CisgZHdyIHwgZHdiIAorLS0t LS0rLS0tLS0KKyB0ICAgfCB0CisoMSByb3cpCisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBp bnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMg aHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSBy ZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBG Uk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9N IHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9y dCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlz dGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJ dCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5U OworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMtOmh3ciBBUyBkd3IyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpo ZnBpIEFTIGRmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNl IHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpkZnBp Mj0wIEFTIGRGUEksIDpkd2IyPTAgQVMgZFdCOworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0t LSstLS0tLS0rLS0tLS0KKyB0ICAgfCB0ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQu cmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID0gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2Rl bGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwIDwgMCBBUyBy ZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19y ZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQg dnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwgdHVwbGVzX2Rl bGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IHQgICAgICAgICAgICB8 IHQgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93 KQorCitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJl bHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLHBhZ2VzX3JlbW92ZWQgQVMgcHIK K0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3Jl IFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3 cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZl c3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VT QUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5l Y2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBT dG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1 cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMywg d2FsX2J5dGVzLTpod2IgQVMgZHdiMywgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMworRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0Cist LVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZHdyMz4wIEFTIGRXUiwgOmRm cGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBBUyBkV0I7CisgZHdyIHwgZGZwaSB8IGR3YiAKKy0t LS0tKy0tLS0tLSstLS0tLQorIHQgICB8IHQgICAgfCB0CisoMSByb3cpCisKKy0tCistLSBO b3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVy IG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3Mu CistLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3Qg YmUgY2hhbmdlZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPSAw IEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxl dGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0g MCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1v dmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUg fCBwYWdlc19mcm96ZW4gfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nh bm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0K KyB2ZXN0YXQgIHwgdCAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8 IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxF Q1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZ WkUgdmVzdGF0OworLS0gbXVzdCBiZSBlbXB0eQorU0VMRUNUIHBhZ2VzX2Zyb3plbiwgcGFn ZXNfYWxsX3Zpc2libGUsIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9w YWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBX SEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19z dGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7Cisg cGFnZXNfZnJvemVuIHwgcGFnZXNfYWxsX3Zpc2libGUgfCByZXZfYWxsX2Zyb3plbl9wYWdl cyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAg ICAgIDAgfCAgICAgICAgICAgICAgICAgICAgIDAKKygxIHJvdykKKworVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSBiYWNrZW5kIGRl ZnJlZXplZCBwYWdlcworU0VMRUNUIHBhZ2VzX2Zyb3plbiA+IDAgQVMgcGFnZXNfZnJvemVu LHBhZ2VzX2FsbF92aXNpYmxlID4gMCBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zy b3plbl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxl X3BhZ2VzID0gMCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFi bGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlk ID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHBhZ2VzX2Zyb3plbiB8IHBhZ2VzX2Fs bF92aXNpYmxlIHwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFn ZXMgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBmICAgICAgICAgICAgfCBmICAg ICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitT RUxFQ1QgcGFnZXNfZnJvemVuIEFTIHBmLCBwYWdlc19hbGxfdmlzaWJsZSBBUyBwdiwgcmV2 X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2 cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVS RSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQK K1VQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsgMTAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworU0VMRUNUIHBhZ2VzX2Zyb3plbiA+ IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPiA6cHYgQVMgcGFnZXNf YWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zy b3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zp c2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90 YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBh bmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJl bGlkOworIHBhZ2VzX2Zyb3plbiB8IHBhZ2VzX2FsbF92aXNpYmxlIHwgcmV2X2FsbF9mcm96 ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCistLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyBmICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgICB8IHQgICAgICAg ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIHBm LCBwYWdlc19hbGxfdmlzaWJsZSBBUyBwdiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFm cCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBc Z3NldAorRVJST1I6ICBjb2x1bW4gInJldl9hbGxfZnJvemVuX3BhZ2VzIiBkb2VzIG5vdCBl eGlzdAorTElORSAxOiAuLi5MRUNUIHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zp c2libGUgQVMgcHYsIHJldl9hbGxfZnIuLi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitWQUNVVU0gKFBBUkFMTEVM IDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKy0tIHZhY3V1bSBmcmVlemVk IHBhZ2VzCitTRUxFQ1QgcGFnZXNfZnJvemVuID0gOnBmIEFTIHBhZ2VzX2Zyb3plbixwYWdl c19hbGxfdmlzaWJsZSA9IDpwdiBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zyb3pl bl9wYWdlcyA9IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJs ZV9wYWdlcyA9IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisgcGFnZXNfZnJvemVuIHwgcGFn ZXNfYWxsX3Zpc2libGUgfCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJs ZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHQgICAgICAgICAgICB8 IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgICAgfCBmCisoMSByb3cp CisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9z Y2hlZHVsZQppbmRleCA4MWU0MjIyZDI2YS4uOTc3YTA0NzIwMjcgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTM2LDMgKzEzNiw4IEBAIHRlc3Q6IGZhc3RfZGVm YXVsdAogIyBydW4gdGFibGVzcGFjZSB0ZXN0IGF0IHRoZSBlbmQgYmVjYXVzZSBpdCBkcm9w cyB0aGUgdGFibGVzcGFjZSBjcmVhdGVkIGR1cmluZwogIyBzZXR1cCB0aGF0IG90aGVyIHRl c3RzIG1heSB1c2UuCiB0ZXN0OiB0YWJsZXNwYWNlCisKKyMgLS0tLS0tLS0tLQorIyBDaGVj ayB2YWN1dW0gc3RhdGlzdGljcworIyAtLS0tLS0tLS0tCit0ZXN0OiB2YWN1dW1fdGFibGVz X3N0YXRpc3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDQ2Mzk3M2NlMGIKLS0tIC9kZXYv bnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Muc3FsCkBAIC0wLDAgKzEsMTU4IEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1 bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxl Y3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5k IHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5k IHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9m cGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3Ig aXMgdW5zdGFibGUuCistLQorCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJh Y2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgorLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwg YnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxs JzsKKworCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBn X3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCitT RVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NFVCB2YWN1dW1fZnJlZXplX3RhYmxl X2FnZSA9IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90Owor Q1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9 IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBG Uk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVz dGF0OworCitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0g MDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0 cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLHR1cGxl c19kZWxldGVkLHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZAorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCByZWxwYWdlcyBBUyBy cAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKwor VkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVB TlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwg c3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRl bmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0g ZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3Rh eWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5l ZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuID4gMCBBUyBwYWdlc19mcm96 ZW4sdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLTpycCA9 IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZCA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdl c19yZW1vdmVkID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3Rh YmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2 dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVs ZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNf cmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNz IGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBc Z3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3 YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0 CisKKy0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29y ZHMgPiAwIEFTIGRXUiwgd2FsX2J5dGVzID4gMCBBUyBkV0IKK0ZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKworREVMRVRFIEZST00gdmVz dGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5E RVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0 aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIHBhZ2VzX3JlbW92ZWQgbXVz dCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPiAw IEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRlZC06dGQgPiAwIEFTIHR1cGxlc19kZWxl dGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID4g MCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID4gMCBBUyBwYWdlc19yZW1v dmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHBh Z2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwg cGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5j ZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3ciwgd2Fs X2J5dGVzLTpod2IgQVMgZHdiLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkKK0ZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLSBX QUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3ciA+IDAgQVMgZFdS LCA6ZHdiID4gMCBBUyBkV0I7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlh YmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9m cGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdCcgXGdzZXQKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00gdmVzdGF0 IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0 YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNzCist LSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5l Y2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0t IFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRz LTpod3IgQVMgZHdyMiwgd2FsX2J5dGVzLTpod2IgQVMgZHdiMiwgd2FsX2ZwaS06aGZwaSBB UyBkZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnIFxnc2V0CisKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNo b3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpkZnBpMj0w IEFTIGRGUEksIDpkd2IyPTAgQVMgZFdCOworCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19m cm96ZW4tOmZwID0gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBB UyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19z Y2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAg QVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVs cGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMscGFnZXNfcmVtb3ZlZCBBUyBwcgor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9y ZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBo d3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBGUk9N IHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVS X1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlz IG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBh bGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBk d3IzLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IzLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkzCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdz ZXQKKworLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1QgOmR3cjM+MCBBUyBk V1IsIDpkZnBpMz0wIEFTIGRGUEksIDpkd2IzPjAgQVMgZFdCOworCistLQorLS0gTm93LCB0 aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBvZiBw YWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgorLS0g VGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNo YW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID0gMCBBUyBw YWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxy ZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMg cGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OworQU5BTFlaRSB2ZXN0YXQ7CisKKy0tIG11c3QgYmUgZW1wdHkKK1NFTEVDVCBwYWdl c19mcm96ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZf YWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0 X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVz dGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFi bGVzLnJlbGlkOworCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAx MjgpIHZlc3RhdDsKKworLS0gYmFja2VuZCBkZWZyZWV6ZWQgcGFnZXMKK1NFTEVDVCBwYWdl c19mcm96ZW4gPiAwIEFTIHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSA+IDAgQVMg cGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSAwIEFTIHJldl9hbGxf ZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDAgQVMgcmV2X2FsbF92aXNp YmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFi bGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5k IHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxp ZDsKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2 LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBB UyBoYXZwCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVz IFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBc Z3NldAorCitVUERBVEUgdmVzdGF0IFNFVCB4ID0geCArIDEwMDE7CitWQUNVVU0gKFBBUkFM TEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworU0VMRUNUIHBhZ2Vz X2Zyb3plbiA+IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPiA6cHYg QVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyBy ZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyBy ZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19z dGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAn dmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxf dGFibGVzLnJlbGlkOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zp c2libGUgQVMgcHYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNp YmxlX3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKKy0tIHZh Y3V1bSBmcmVlemVkIHBhZ2VzCitTRUxFQ1QgcGFnZXNfZnJvemVuID0gOnBmIEFTIHBhZ2Vz X2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSA9IDpwdiBBUyBwYWdlc19hbGxfdmlzaWJsZSxy ZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJl dl9hbGxfdmlzaWJsZV9wYWdlcyA9IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisKK0RST1Ag VEFCTEUgdmVzdGF0IENBU0NBREU7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotLSAK Mi4zNC4xCgo= --------------kd8DjLx19v5OmgCxvflJ9UQh Content-Type: text/x-patch; charset=UTF-8; name="v13-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v13-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBjOTllZjAxMTc1MGY0N2M3YTFjYTZlZmM2MmE0NjJiNTRkZDViYmU3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogV2VkLCAxMyBOb3YgMjAyNCAxNjo1NzoyMiArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMi8zXSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uIAogaGVhcCBhbmQgaW5kZXggcmVsYXRpb25zLiBSZW1lbWJl ciwgc3RhdGlzdGljIG9uIGhlYXAgYW5kIGluZGV4IHJlbGF0aW9ucyBhIAogYml0IGRpZmZl cmVudCAoc2VlIEV4dFZhY1JlcG9ydCB0byBmaW5kIG91dCBtb3JlIGluZm9ybWF0aW9uKS4g VGhlIGNvbmNlcHQgb2YKICB0aGUgRXh0VmFjUmVwb3J0IHN0cnVjdHVyZSBoYXMgYmVlbiBj b21wbGljYXRlZCB0byBzdG9yZSBzdGF0aXN0aWMgCiBpbmZvcm1hdGlvbiBmb3IgdHdvIGtp bmRzIG9mIHJlbGF0aW9uczogZm9yIGhlYXAgYW5kIGluZGV4IHJlbGF0aW9ucy4gCiBFeHRW YWNSZXBvcnRUeXBlIHZhcmlhYmxlIGhlbHBzIHRvIGRldGVybWluZSB3aGF0IHRoZSBraW5k IGlzIGNvbnNpZGVyaW5nIAogbm93LgoKLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMgICAgICAgICAgfCAgOTkgKysrKysrKysrLS0KIHNyYy9iYWNrZW5kL2Nh dGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8ICAzMiArKysrCiBzcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgIDcgKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0MSArKystLQogc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwgMTI2ICsrKysr KysrKysrKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAg ICB8ICAgOSArCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNTIgKysrKy0tCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVh ZC5vdXQgICAgfCAgIDcgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0 ICAgICAgICAgICB8ICAyMiArKysKIC4uLi9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlz dGljcy5vdXQgICAgICB8IDE2NSArKysrKysrKysrKysrKysrKysKIC4uLi9leHBlY3RlZC92 YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0ICAgICB8ICAxNCArLQogc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAxICsKIC4uLi9yZWdyZXNz L3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgICB8IDEzMCArKysrKysrKysrKysr KwogLi4uL3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgIDEw ICstCiAxNCBmaWxlcyBjaGFuZ2VkLCA2NjEgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9y ZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggMTIwMjNmZDE2NGEuLjVhODQ0YWNmODc4IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKKysrIGIv c3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCkBAIC0xNjYsNiArMTY2LDcg QEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCWNoYXIJICAgKmRibmFtZTsKIAljaGFy CSAgICpyZWxuYW1lc3BhY2U7CiAJT2lkCQkJcmVsb2lkOworCU9pZAkJCWluZG9pZDsKIAlj aGFyCSAgICpyZWxuYW1lOwogCWNoYXIJICAgKmluZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4 IG5hbWUgKi8KIAlCbG9ja051bWJlciBibGtubzsJCQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAg b3BlcmF0aW9ucyAqLwpAQCAtMjQwLDYgKzI0MSwxMyBAQCB0eXBlZGVmIHN0cnVjdCBMVkV4 dFN0YXRDb3VudGVycwogCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7CiB9IExWRXh0U3Rh dENvdW50ZXJzOwogCit0eXBlZGVmIHN0cnVjdCBMVkV4dFN0YXRDb3VudGVyc0lkeAorewor CUxWRXh0U3RhdENvdW50ZXJzIGNvbW1vbjsKKwlpbnQ2NAkJcGFnZXNfZGVsZXRlZDsKKwlp bnQ2NAkJdHVwbGVzX3JlbW92ZWQ7Cit9IExWRXh0U3RhdENvdW50ZXJzSWR4OworCiAvKiBu b24tZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIGxhenlfc2Nh bl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCk7CiBzdGF0aWMgYm9vbCBoZWFwX3ZhY19zY2Fu X25leHRfYmxvY2soTFZSZWxTdGF0ZSAqdmFjcmVsLCBCbG9ja051bWJlciAqYmxrbm8sCkBA IC0zODcsNiArMzk1LDQ2IEBAIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4 dFN0YXRDb3VudGVycyAqY291bnRlcnMsCiAJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5i bG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7CiB9CiAKK3N0YXRpYyB2b2lkCitl eHR2YWNfc3RhdHNfc3RhcnRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVz dWx0ICpzdGF0cywKKwkJCQkJICAgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKQor eworCWV4dHZhY19zdGF0c19zdGFydChyZWwsICZjb3VudGVycy0+Y29tbW9uKTsKKwljb3Vu dGVycy0+cGFnZXNfZGVsZXRlZCA9IGNvdW50ZXJzLT50dXBsZXNfcmVtb3ZlZCA9IDA7CisK KwlpZiAoc3RhdHMgIT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIFhYWDogV2h5IGRvIHdlIG5l ZWQgdGhpcyBjb2RlIGhlcmU/IElmIGl0IGlzIG5lZWRlZCwgSSBmZWVsIGxhY2sgb2YKKwkJ ICogY29tbWVudHMsIGRlc2NyaWJpbmcgdGhlIHJlYXNvbi4KKwkJICovCisJCWNvdW50ZXJz LT50dXBsZXNfcmVtb3ZlZCA9IHN0YXRzLT50dXBsZXNfcmVtb3ZlZDsKKwkJY291bnRlcnMt PnBhZ2VzX2RlbGV0ZWQgPSBzdGF0cy0+cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKK3N0YXRp YyB2b2lkCitleHR2YWNfc3RhdHNfZW5kX2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0Rl bGV0ZVJlc3VsdCAqc3RhdHMsCisJCQkJCSBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRl cnMsIEV4dFZhY1JlcG9ydCAqcmVwb3J0KQoreworCWV4dHZhY19zdGF0c19lbmQocmVsLCAm Y291bnRlcnMtPmNvbW1vbiwgcmVwb3J0KTsKKwlyZXBvcnQtPnR5cGUgPSBQR1NUQVRfRVhU VkFDX0lOREVYOworCisJaWYgKHN0YXRzICE9IE5VTEwpCisJeworCQkvKgorCQkgKiBpZiBz b21ldGhpbmcgZ29lcyB3cm9uZyBvciBhbiB1c2VyIGRvZXNuJ3Qgd2FudCB0byB0cmFjayBh IGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5IC0ganVzdCBzdXBwcmVzcyBpdC4KKwkJICovCisK KwkJLyogRmlsbCBpbmRleC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KKwkJ cmVwb3J0LT5pbmRleC50dXBsZXNfZGVsZXRlZCA9CisJCQkJCQkJc3RhdHMtPnR1cGxlc19y ZW1vdmVkIC0gY291bnRlcnMtPnR1cGxlc19yZW1vdmVkOworCQlyZXBvcnQtPmluZGV4LnBh Z2VzX2RlbGV0ZWQgPQorCQkJCQkJCXN0YXRzLT5wYWdlc19kZWxldGVkIC0gY291bnRlcnMt PnBhZ2VzX2RlbGV0ZWQ7CisJfQorfQorCiAvKgogICoJaGVhcF92YWN1dW1fcmVsKCkgLS0g cGVyZm9ybSBWQUNVVU0gZm9yIG9uZSBoZWFwIHJlbGF0aW9uCiAgKgpAQCAtNjkwLDE0ICs3 MzgsMTUgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpw YXJhbXMsCiAJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZh Y1JlcG9ydCk7CiAKIAkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmll bGRzICovCi0JZXh0VmFjUmVwb3J0LnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRf cGFnZXM7Ci0JZXh0VmFjUmVwb3J0LnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRf cGFnZXM7Ci0JZXh0VmFjUmVwb3J0LnBhZ2VzX2Zyb3plbiA9IHZhY3JlbC0+c2V0X2Zyb3pl bl9wYWdlczsKLQlleHRWYWNSZXBvcnQucGFnZXNfYWxsX3Zpc2libGUgPSB2YWNyZWwtPnNl dF9hbGxfdmlzaWJsZV9wYWdlczsKLQlleHRWYWNSZXBvcnQudHVwbGVzX2RlbGV0ZWQgPSB2 YWNyZWwtPnR1cGxlc19kZWxldGVkOwotCWV4dFZhY1JlcG9ydC50dXBsZXNfZnJvemVuID0g dmFjcmVsLT50dXBsZXNfZnJvemVuOwotCWV4dFZhY1JlcG9ydC5yZWNlbnRseV9kZWFkX3R1 cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7Ci0JZXh0VmFjUmVwb3J0Lmlu ZGV4X3ZhY3V1bV9jb3VudCA9IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOworCWV4dFZhY1Jl cG9ydC50eXBlID0gUEdTVEFUX0VYVFZBQ19IRUFQOworCWV4dFZhY1JlcG9ydC5oZWFwLnBh Z2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7CisJZXh0VmFjUmVwb3J0Lmhl YXAucGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+cmVtb3ZlZF9wYWdlczsKKwlleHRWYWNSZXBv cnQuaGVhcC5wYWdlc19mcm96ZW4gPSB2YWNyZWwtPnNldF9mcm96ZW5fcGFnZXM7CisJZXh0 VmFjUmVwb3J0LmhlYXAucGFnZXNfYWxsX3Zpc2libGUgPSB2YWNyZWwtPnNldF9hbGxfdmlz aWJsZV9wYWdlczsKKwlleHRWYWNSZXBvcnQuaGVhcC50dXBsZXNfZGVsZXRlZCA9IHZhY3Jl bC0+dHVwbGVzX2RlbGV0ZWQ7CisJZXh0VmFjUmVwb3J0LmhlYXAudHVwbGVzX2Zyb3plbiA9 IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwlleHRWYWNSZXBvcnQuaGVhcC5yZWNlbnRseV9k ZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CisJZXh0VmFjUmVw b3J0LmhlYXAuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7 CiAKIAkvKgogCSAqIFJlcG9ydCByZXN1bHRzIHRvIHRoZSBjdW11bGF0aXZlIHN0YXRzIHN5 c3RlbSwgdG9vLgpAQCAtMjU2Miw2ICsyNjExLDEwIEBAIGxhenlfdmFjdXVtX29uZV9pbmRl eChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiB7CiAJ SW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJfaW5m bzsKKwlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBv cnQgZXh0VmFjUmVwb3J0OworCisJZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChpbmRyZWwsIGlz dGF0LCAmZXh0VmFjQ291bnRlcnMpOwogCiAJaXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2 aW5mby5oZWFwcmVsID0gdmFjcmVsLT5yZWw7CkBAIC0yNTgwLDYgKzI2MzMsNyBAQCBsYXp5 X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKmlzdGF0LAogCSAqLwogCUFzc2VydCh2YWNyZWwtPmluZG5hbWUgPT0gTlVMTCk7CiAJ dmFjcmVsLT5pbmRuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRy ZWwpKTsKKwl2YWNyZWwtPmluZG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKTsKIAl1 cGRhdGVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8sCiAJCQkJ CQkJIFZBQ1VVTV9FUlJDQl9QSEFTRV9WQUNVVU1fSU5ERVgsCiAJCQkJCQkJIEludmFsaWRC bG9ja051bWJlciwgSW52YWxpZE9mZnNldE51bWJlcik7CkBAIC0yNTg4LDYgKzI2NDIsMTMg QEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICppc3RhdCwKIAlpc3RhdCA9IHZhY19idWxrZGVsX29uZV9pbmRleCgmaXZp bmZvLCBpc3RhdCwgKHZvaWQgKikgdmFjcmVsLT5kZWFkX2l0ZW1zLAogCQkJCQkJCQkgIHZh Y3JlbC0+ZGVhZF9pdGVtc19pbmZvKTsKIAorCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0 YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWws IGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCisJcGdzdGF0X3Jl cG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCWluZHJlbC0+ cmRfcmVsLT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkwLCAwLCAmZXh0VmFjUmVwb3J0KTsKKwog CS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9y IHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2 ZWRfZXJyX2luZm8pOwogCXBmcmVlKHZhY3JlbC0+aW5kbmFtZSk7CkBAIC0yNjEyLDYgKzI2 NzMsMTAgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4 QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiB7CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsK IAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRDb3VudGVyc0lk eCBleHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCisJZXh0 dmFjX3N0YXRzX3N0YXJ0X2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMpOwog CiAJaXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2aW5mby5oZWFwcmVsID0gdmFjcmVsLT5y ZWw7CkBAIC0yNjMxLDEyICsyNjk2LDIwIEBAIGxhenlfY2xlYW51cF9vbmVfaW5kZXgoUmVs YXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCSAqLwogCUFz c2VydCh2YWNyZWwtPmluZG5hbWUgPT0gTlVMTCk7CiAJdmFjcmVsLT5pbmRuYW1lID0gcHN0 cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRyZWwpKTsKKwl2YWNyZWwtPmluZG9p ZCA9IFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKTsKIAl1cGRhdGVfdmFjdXVtX2Vycm9yX2lu Zm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8sCiAJCQkJCQkJIFZBQ1VVTV9FUlJDQl9QSEFT RV9JTkRFWF9DTEVBTlVQLAogCQkJCQkJCSBJbnZhbGlkQmxvY2tOdW1iZXIsIEludmFsaWRP ZmZzZXROdW1iZXIpOwogCiAJaXN0YXQgPSB2YWNfY2xlYW51cF9vbmVfaW5kZXgoJml2aW5m bywgaXN0YXQpOwogCisJLyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZv ciBpbmRleCAqLworCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRW YWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisKKwlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShS ZWxhdGlvbkdldFJlbGlkKGluZHJlbCksCisJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlz c2hhcmVkLAorCQkJCQkJCTAsIDAsICZleHRWYWNSZXBvcnQpOworCiAJLyogUmV2ZXJ0IHRv IHRoZSBwcmV2aW91cyBwaGFzZSBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgdHJhY2ViYWNrICov CiAJcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbyk7 CiAJcGZyZWUodmFjcmVsLT5pbmRuYW1lKTsKQEAgLTMyNTMsNyArMzMyNiw3IEBAIHZhY3V1 bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJewogCQljYXNlIFZBQ1VVTV9FUlJDQl9Q SEFTRV9TQ0FOX0hFQVA6CiAJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKLQkJCQlw Z3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQpOworCQkJCXBnc3Rh dF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19I RUFQKTsKIAkJCWlmIChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJ ewogCQkJCWlmIChPZmZzZXROdW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCkBAIC0z MjcwLDcgKzMzNDMsNyBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJnKQogCiAJ CWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9IRUFQOgogCQkJaWYoZ2V0ZXJyZWxl dmVsKCkgPT0gRVJST1IpCi0JCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5m by0+cmVsb2lkKTsKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5y ZWxvaWQsIFBHU1RBVF9FWFRWQUNfSEVBUCk7CiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlk KGVycmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChl cnJpbmZvLT5vZmZudW0pKQpAQCAtMzI4NiwxNiArMzM1OSwyMiBAQCB2YWN1dW1fZXJyb3Jf Y2FsbGJhY2sodm9pZCAqYXJnKQogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0Jf UEhBU0VfVkFDVVVNX0lOREVYOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJ CQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+aW5kb2lkLCBQR1NUQVRf RVhUVkFDX0lOREVYKTsKIAkJCWVycmNvbnRleHQoIndoaWxlIHZhY3V1bWluZyBpbmRleCBc IiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFt ZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFr OwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVA6CisJCQlpZihn ZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJv cihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOwogCQkJZXJyY29udGV4 dCgid2hpbGUgY2xlYW5pbmcgdXAgaW5kZXggXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXMuJXNc IiIsCiAJCQkJCSAgIGVycmluZm8tPmluZG5hbWUsIGVycmluZm8tPnJlbG5hbWVzcGFjZSwg ZXJyaW5mby0+cmVsbmFtZSk7CiAJCQlicmVhazsKIAogCQljYXNlIFZBQ1VVTV9FUlJDQl9Q SEFTRV9UUlVOQ0FURToKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBn c3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZB Q19IRUFQKTsKIAkJCWlmIChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQog CQkJCWVycmNvbnRleHQoIndoaWxlIHRydW5jYXRpbmcgcmVsYXRpb24gXCIlcy4lc1wiIHRv ICV1IGJsb2NrcyIsCiAJCQkJCQkgICBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmluZm8t PnJlbG5hbWUsIGVycmluZm8tPmJsa25vKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nh dGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbAppbmRleCAzM2ZmN2M4MWFhMC4uYmViZjc5MzUxNGEgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9j YXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTE0MjcsMyArMTQyNywzNSBAQCBGUk9NIHBn X2NsYXNzIHJlbAogICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVs bmFtZXNwYWNlLAogICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMocmVsLm9p ZCkgc3RhdHMKIFdIRVJFIHJlbC5yZWxraW5kID0gJ3InOworCitDUkVBVEUgVklFVyBwZ19z dGF0X2dldF92YWN1dW1faW5kZXhlcyBBUworU0VMRUNUCisgIHJlbC5vaWQgYXMgcmVsaWQs CisgIG5zLm5zcG5hbWUgQVMgInNjaGVtYSIsCisgIHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUs CisKKyAgdG90YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgdG90YWxfYmxr c19oaXQgQVMgdG90YWxfYmxrc19oaXQsCisgIHRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3Rh bF9ibGtzX2RpcnRpZWQsCisgIHRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dy aXR0ZW4sCisKKyAgcmVsX2Jsa3NfcmVhZCBBUyByZWxfYmxrc19yZWFkLAorICByZWxfYmxr c19oaXQgQVMgcmVsX2Jsa3NfaGl0LAorCisgIHBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNfZGVs ZXRlZCwKKyAgdHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCisKKyAgd2FsX3Jl Y29yZHMgQVMgd2FsX3JlY29yZHMsCisgIHdhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgd2FsX2J5 dGVzIEFTIHdhbF9ieXRlcywKKworICBibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUs CisgIGJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIGRlbGF5X3RpbWUg QVMgZGVsYXlfdGltZSwKKyAgdG90YWxfdGltZSBBUyB0b3RhbF90aW1lCitGUk9NCisgIHBn X2NsYXNzIHJlbAorICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVs bmFtZXNwYWNlLAorICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKHJlbC5v aWQpIHN0YXRzCitXSEVSRSByZWwucmVsa2luZCA9ICdpJzsKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IDNmMmU5 ZjU0Njg1Li41NTFkY2ZhMzE5OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0 LmMKQEAgLTExMjQsNyArMTEyNCw4IEBAIHBnc3RhdF91cGRhdGVfc25hcHNob3QoUGdTdGF0 X0tpbmQga2luZCkKIAlQR19UUlkoKTsKIAl7CiAJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5j eSA9IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVDsKLQkJcGdzdGF0X2J1aWxk X3NuYXBzaG90KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKKwkJaWYgKGtpbmQgPT0gUEdTVEFU X0tJTkRfUkVMQVRJT04pCisJCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRf UkVMQVRJT04pOwogCX0KIAlQR19GSU5BTExZKCk7CiAJewpAQCAtMTE3OSw2ICsxMTgwLDEw IEBAIHBnc3RhdF9idWlsZF9zbmFwc2hvdChQZ1N0YXRfS2luZCBzdGF0S2luZCkKIAkJaWYg KHAtPmRyb3BwZWQpCiAJCQljb250aW51ZTsKIAorCQlpZiAoc3RhdEtpbmQgIT0gUEdTVEFU X0tJTkRfSU5WQUxJRCAmJiBzdGF0S2luZCAhPSBwLT5rZXkua2luZCkKKwkJCS8qIExvYWQg c3RhdCBvZiBzcGVjaWZpYyB0eXBlLCBpZiBkZWZpbmVkICovCisJCQljb250aW51ZTsKKwog CQlBc3NlcnQocGdfYXRvbWljX3JlYWRfdTMyKCZwLT5yZWZjb3VudCkgPiAwKTsKIAogCQlz dGF0c19kYXRhID0gZHNhX2dldF9hZGRyZXNzKHBnU3RhdExvY2FsLmRzYSwgcC0+Ym9keSk7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRp b24uYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmlu ZGV4IDgxZTQxYjcyZjkyLi5jOTIzOGUzZjY1MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTIxMiw3ICsyMTIsNyBAQCBwZ3N0 YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwpCiAgKiAtLS0tLS0tLS0KICAqLwogdm9p ZAotcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKQorcGdzdGF0X3Jl cG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlw ZSkKIHsKIAlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRTaGFyZWRfUmVs YXRpb24gKnNodGFiZW50cnk7CkBAIC0yMjksNiArMjI5LDcgQEAgcGdzdGF0X3JlcG9ydF92 YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKQogCXRhYmVudHJ5ID0gJnNodGFiZW50cnktPnN0 YXRzOwogCiAJdGFiZW50cnktPnZhY3V1bV9leHQuZXJyb3JzKys7CisJdGFiZW50cnktPnZh Y3V1bV9leHQudHlwZSA9IG1fdHlwZTsKIAlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3Jl Zik7CiB9CiAKQEAgLTEwMzYsMTUgKzEwMzcsMzEgQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0 dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAlpZiAo IWFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQogCQlyZXR1cm47CiAKLQlkc3Qt PmJsa3NfZmV0Y2hlZCArPSBzcmMtPmJsa3NfZmV0Y2hlZDsKLQlkc3QtPmJsa3NfaGl0ICs9 IHNyYy0+Ymxrc19oaXQ7Ci0KLQlkc3QtPnBhZ2VzX3NjYW5uZWQgKz0gc3JjLT5wYWdlc19z Y2FubmVkOwotCWRzdC0+cGFnZXNfcmVtb3ZlZCArPSBzcmMtPnBhZ2VzX3JlbW92ZWQ7Ci0J ZHN0LT5wYWdlc19mcm96ZW4gKz0gc3JjLT5wYWdlc19mcm96ZW47Ci0JZHN0LT5wYWdlc19h bGxfdmlzaWJsZSArPSBzcmMtPnBhZ2VzX2FsbF92aXNpYmxlOwotCWRzdC0+dHVwbGVzX2Rl bGV0ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsKLQlkc3QtPnR1cGxlc19mcm96ZW4gKz0g c3JjLT50dXBsZXNfZnJvemVuOwotCWRzdC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKz0gc3Jj LT5yZWNlbnRseV9kZWFkX3R1cGxlczsKLQlkc3QtPmluZGV4X3ZhY3V1bV9jb3VudCArPSBz cmMtPmluZGV4X3ZhY3V1bV9jb3VudDsKKwlpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRW QUNfSU5WQUxJRCkKKwkJZHN0LT50eXBlID0gc3JjLT50eXBlOworCisJQXNzZXJ0KHNyYy0+ dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOVkFMSUQgfHwgc3JjLT50eXBlID09IGRzdC0+dHlw ZSk7CisKKwlpZiAoZHN0LT50eXBlID09IHNyYy0+dHlwZSkKKwl7CisJCWRzdC0+Ymxrc19m ZXRjaGVkICs9IHNyYy0+Ymxrc19mZXRjaGVkOworCQlkc3QtPmJsa3NfaGl0ICs9IHNyYy0+ Ymxrc19oaXQ7CisKKwkJaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0hFQVApCisJ CXsKKwkJCWRzdC0+aGVhcC5wYWdlc19zY2FubmVkICs9IHNyYy0+aGVhcC5wYWdlc19zY2Fu bmVkOworCQkJZHN0LT5oZWFwLnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5oZWFwLnBhZ2VzX3Jl bW92ZWQ7CisJCQlkc3QtPmhlYXAucGFnZXNfZnJvemVuICs9IHNyYy0+aGVhcC5wYWdlc19m cm96ZW47CisJCQlkc3QtPmhlYXAucGFnZXNfYWxsX3Zpc2libGUgKz0gc3JjLT5oZWFwLnBh Z2VzX2FsbF92aXNpYmxlOworCQkJZHN0LT5oZWFwLnR1cGxlc19kZWxldGVkICs9IHNyYy0+ aGVhcC50dXBsZXNfZGVsZXRlZDsKKwkJCWRzdC0+aGVhcC50dXBsZXNfZnJvemVuICs9IHNy Yy0+aGVhcC50dXBsZXNfZnJvemVuOworCQkJZHN0LT5oZWFwLnJlY2VudGx5X2RlYWRfdHVw bGVzICs9IHNyYy0+aGVhcC5yZWNlbnRseV9kZWFkX3R1cGxlczsKKwkJCWRzdC0+aGVhcC5p bmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5oZWFwLmluZGV4X3ZhY3V1bV9jb3VudDsKKwkJ fQorCQllbHNlIGlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTkRFWCkKKwkJewor CQkJZHN0LT5pbmRleC5wYWdlc19kZWxldGVkICs9IHNyYy0+aW5kZXgucGFnZXNfZGVsZXRl ZDsKKwkJCWRzdC0+aW5kZXgudHVwbGVzX2RlbGV0ZWQgKz0gc3JjLT5pbmRleC50dXBsZXNf ZGVsZXRlZDsKKwkJfQorCX0KIH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IDQ3M2FmNDVmMTk0Li5mNzk3Y2Yy ZDdmMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTIxNzUsMTQg KzIxNzUsMTQgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdT KQogCQkJCQkJCQkJZXh0dmFjdXVtLT5ibGtzX2hpdCk7CiAJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19oaXQpOwogCi0JdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNfc2Nhbm5lZCk7Ci0JdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNfcmVtb3ZlZCk7Ci0JdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNfZnJvemVuKTsKLQl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5wYWdlc19hbGxfdmlzaWJsZSk7Ci0JdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2RlbGV0ZWQpOwot CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19mcm96ZW4p OwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnJlY2VudGx5X2Rl YWRfdHVwbGVzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5p bmRleF92YWN1dW1fY291bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPmhlYXAucGFnZXNfc2Nhbm5lZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERh dHVtKGV4dHZhY3V1bS0+aGVhcC5wYWdlc19yZW1vdmVkKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5oZWFwLnBhZ2VzX2Zyb3plbik7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+aGVhcC5wYWdlc19hbGxfdmlzaWJsZSk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+aGVhcC50dXBsZXNf ZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+aGVh cC50dXBsZXNfZnJvemVuKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT5oZWFwLnJlY2VudGx5X2RlYWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT5oZWFwLmluZGV4X3ZhY3V1bV9jb3VudCk7CiAKIAl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CiAJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CkBAIC0yMjAx LDYgKzIyMDEsMTE2IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05f QVJHUykKIAogCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNf Q09MUyk7CiAKKwkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KKwlQR19SRVRV Uk5fREFUVU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZh bHVlcywgbnVsbHMpKSk7Cit9CisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0aWNz IGZvciB0aGUgaGVhcCB0YWJsZXMuCisgKi8KK0RhdHVtCitwZ19zdGF0X2dldF92YWN1dW1f aW5kZXhlcyhQR19GVU5DVElPTl9BUkdTKQoreworCSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFD VVVNX0lOREVYX1NUQVRTX0NPTFMJMTYKKworCU9pZAkJCQkJCXJlbGlkID0gUEdfR0VUQVJH X09JRCgwKTsKKwlQZ1N0YXRfU3RhdFRhYkVudHJ5ICAgICAqdGFiZW50cnk7CisJRXh0VmFj UmVwb3J0IAkJCSpleHR2YWN1dW07CisJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOworCURhdHVt CQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTXSA9IHsw fTsKKwlib29sCQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NP TFNdID0gezB9OworCWNoYXIJCQkJCSBidWZbMjU2XTsKKwlpbnQJCQkJCQkgaSA9IDA7CisJ RXh0VmFjUmVwb3J0IGFsbHplcm87CisKKwkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMgaW5m b3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KKwl0dXBkZXNjID0gQ3JlYXRl VGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMp OworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJy ZWxpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsXyBibGtzX3JlYWQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRv dGFsX2Jsa3NfZGlydGllZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nfd3Jp dHRlbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX3JlYWQiLAorCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJyZWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19k ZWxldGVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVzX2RlbGV0ZWQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ3YWxfcmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9m cGkiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1FUklD T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgImJsa19yZWFkX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193 cml0ZV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAorCQkJ CQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0x LCAwKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19D T0xTKTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCisJdGFiZW50cnkgPSBwZ3N0 YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCk7CisKKwlpZiAodGFiZW50cnkgPT0gTlVM TCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFs aXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNS ZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UKKwl7CisJCWV4 dHZhY3V1bSA9ICYodGFiZW50cnktPnZhY3V1bV9leHQpOworCX0KKworCWkgPSAwOworCisJ dmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKHJlbGlkKTsKKworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19oaXQpOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGlydGll ZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxr c193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleC5wYWdlc19kZWxldGVk KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleC50dXBs ZXNfZGVsZXRlZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9z dGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFU LCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlv bkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAor CQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERh dHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1 dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4 dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShl eHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFD VVVNX0lOREVYX1NUQVRTX0NPTFMpOworCiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERh dHVtICovCiAJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90 dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKSkpOwogfQpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQg Yi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IGFhY2JiZmFiYWViLi5i ZThhMTA1MzNiYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjQyMCw0ICsx MjQyMCwxMyBAQAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9w YWdlcycsIHByb3ZvbGF0aWxlID0+ICdzJywKICAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9y ZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCiAgIHByb3NyYyA9PiAn cGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMnIH0sCit7IG9pZCA9PiAnODAwNCcs CisgIGRlc2NyID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyByZXR1cm4gc3RhdHMg dmFsdWVzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMnLCBw cm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVj b3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2Fy Z3R5cGVzID0+ICdvaWQnLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZs b2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OH0nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne3Jl bG9pZCxyZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90YWxfYmxrc19k aXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9ibGtzX2hpdCxw YWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5 dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90aW1l fScsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMnIH0KIF0KZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgK aW5kZXggYmJmZDEzYjJkNTUuLmE0N2RlYmRjMzUxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTY5LDExICsxNjks MTkgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0JhY2tlbmRTdWJFbnRyeQogCVBnU3RhdF9D b3VudGVyIGNvbmZsaWN0X2NvdW50W0NPTkZMSUNUX05VTV9UWVBFU107CiB9IFBnU3RhdF9C YWNrZW5kU3ViRW50cnk7CiAKKy8qIFR5cGUgb2YgRXh0VmFjUmVwb3J0ICovCit0eXBlZGVm IGVudW0gRXh0VmFjUmVwb3J0VHlwZQoreworCVBHU1RBVF9FWFRWQUNfSU5WQUxJRCA9IDAs CisJUEdTVEFUX0VYVFZBQ19IRUFQID0gMSwKKwlQR1NUQVRfRVhUVkFDX0lOREVYID0gMgor fSBFeHRWYWNSZXBvcnRUeXBlOworCiAvKiAtLS0tLS0tLS0tCiAgKgogICogRXh0VmFjUmVw b3J0CiAgKgotICogQWRkaXRpb25hbCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5n IG92ZXIgYSBoZWFwIHJlbGF0aW9uLgorICogQWRkaXRpb25hbCBzdGF0aXN0aWNzIG9mIHZh Y3V1bSBwcm9jZXNzaW5nIG92ZXIgYSByZWxhdGlvbi4KICAqIHBhZ2VzX3JlbW92ZWQgaXMg dGhlIGFtb3VudCBieSB3aGljaCB0aGUgcGh5c2ljYWxseSBzaHJhbmssCiAgKiBpZiBhbnkg KGllIHRoZSBjaGFuZ2UgaW4gaXRzIHRvdGFsIHNpemUgb24gZGlzaykKICAqIHBhZ2VzX2Rl bGV0ZWQgcmVmZXIgdG8gZnJlZSBzcGFjZSB3aXRoaW4gdGhlIGluZGV4IGZpbGUKQEAgLTIw NSwxNCArMjEzLDM4IEBAIHR5cGVkZWYgc3RydWN0IEV4dFZhY1JlcG9ydAogCS8qIEludGVy cnVwdGlvbnMgb24gYW55IGVycm9ycy4gKi8KIAlpbnQzMgkJZXJyb3JzOwogCi0JaW50NjQJ CXBhZ2VzX3NjYW5uZWQ7CQkvKiBoZWFwIHBhZ2VzIGV4YW1pbmVkIChub3Qgc2tpcHBlZCBi eSBWTSkgKi8KLQlpbnQ2NAkJcGFnZXNfcmVtb3ZlZDsJCS8qIGhlYXAgcGFnZXMgcmVtb3Zl ZCBieSB2YWN1dW0gInRydW5jYXRpb24iICovCi0JaW50NjQJCXBhZ2VzX2Zyb3plbjsJCS8q IHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KLQlpbnQ2NAkJcGFnZXNfYWxsX3Zp c2libGU7CS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLwotCWludDY0 CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLwotCWlu dDY0CQl0dXBsZXNfZnJvemVuOwkJLyogdHVwbGVzIGZyb3plbiB1cCBieSB2YWN1dW0gKi8K LQlpbnQ2NAkJcmVjZW50bHlfZGVhZF90dXBsZXM7CS8qIGRlbGV0ZWQgdHVwbGVzIHRoYXQg YXJlIHN0aWxsIHZpc2libGUgdG8gc29tZSB0cmFuc2FjdGlvbiAqLwotCWludDY0CQlpbmRl eF92YWN1dW1fY291bnQ7CS8qIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdzICovCisJRXh0 VmFjUmVwb3J0VHlwZSB0eXBlOwkJLyogaGVhcCwgaW5kZXgsIGV0Yy4gKi8KKworCS8qIC0t LS0tLS0tLS0KKwkgKgorCSAqIFRoZXJlIGFyZSBzZXBhcmF0ZSBtZXRyaWNzIG9mIHN0YXRp c3RpYyBmb3IgdGFibGVzIGFuZCBpbmRleGVzLAorCSAqIHdoaWNoIGNvbGxlY3QgZHVyaW5n IHZhY3V1bS4KKwkgKiBUaGUgdW5pb24gb3BlcmF0b3IgYWxsb3dzIHRvIGNvbWJpbmUgdGhl c2Ugc3RhdGlzdGljcworCSAqIHNvIHRoYXQgZWFjaCBtZXRyaWMgaXMgYXNzaWduZWQgdG8g YSBzcGVjaWZpYyBjbGFzcyBvZiBjb2xsZWN0ZWQgc3RhdGlzdGljcy4KKwkgKiBTdWNoIGEg Y29tYmluZWQgc3RydWN0dXJlIHdhcyBjYWxsZWQgcGVyX3R5cGVfc3RhdHMuCisJICogVGhl IG5hbWUgb2YgdGhlIHN0cnVjdHVyZSBpdHNlbGYgaXMgbm90IHVzZWQgYW55d2hlcmUsCisJ ICogaXQgZXhpc3RzIG9ubHkgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIGNvZGUuCisJICogLS0t LS0tLS0tLQorCSovCisJdW5pb24KKwl7CisJCXN0cnVjdAorCQl7CisJCQlpbnQ2NAkJcGFn ZXNfc2Nhbm5lZDsJCS8qIGhlYXAgcGFnZXMgZXhhbWluZWQgKG5vdCBza2lwcGVkIGJ5IFZN KSAqLworCQkJaW50NjQJCXBhZ2VzX3JlbW92ZWQ7CQkvKiBoZWFwIHBhZ2VzIHJlbW92ZWQg YnkgdmFjdXVtICJ0cnVuY2F0aW9uIiAqLworCQkJaW50NjQJCXBhZ2VzX2Zyb3plbjsJCS8q IHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KKwkJCWludDY0CQlwYWdlc19hbGxf dmlzaWJsZTsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCisJCQlp bnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8K KwkJCWludDY0CQl0dXBsZXNfZnJvemVuOwkJLyogdHVwbGVzIGZyb3plbiB1cCBieSB2YWN1 dW0gKi8KKwkJCWludDY0CQlyZWNlbnRseV9kZWFkX3R1cGxlczsJLyogZGVsZXRlZCB0dXBs ZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJsZSB0byBzb21lIHRyYW5zYWN0aW9uICovCisJCQlp bnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5n cyAqLworCQl9CQkJaGVhcDsKKwkJc3RydWN0CisJCXsKKwkJCWludDY0CQlwYWdlc19kZWxl dGVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2 NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwkJ fQkJCWluZGV4OworCX0gLyogcGVyX3R5cGVfc3RhdHMgKi87CiB9IEV4dFZhY1JlcG9ydDsK IAogLyogLS0tLS0tLS0tLQpAQCAtNjk4LDcgKzczMCw3IEBAIGV4dGVybiB2b2lkIHBnc3Rh dF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9p ZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3Rh dF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJ CQkJCSAgYm9vbCByZXNldGNvdW50ZXIpOwotZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92 YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpOwog CiAvKgogICogSWYgc3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0 IGJlZW4gcHJlcGFyZWQgeWV0LCBjYWxsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRp b24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9z cmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5vdXQKaW5kZXggN2NkYjc5YzBlYzQuLjkzZmUxNWMwMWY5IDEwMDY0NAotLS0g YS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1 bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC05LDEwICs5LDkgQEAgc3Rl cCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6CiAgICAgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKICAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAotcmVsbmFt ZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVz X2Zyb3plbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAg ICAgICAgICAgIDB8ICAgICAgICAgIDB8ICAgICAgICAgICAgMAotKDEgcm93KQorcmVsbmFt ZXx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tKy0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCiAKIHN0 ZXAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkOiAKICAgQkVHSU4gdHJhbnNhY3Rpb24gSVNP TEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQKaW5kZXggYThhOGJmZmNkNGIuLmJlZGU4ODcyMWMwIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMTg4Myw2ICsxODgzLDI4IEBAIHBnX3N0YXRf ZGF0YWJhc2VfY29uZmxpY3RzfCBTRUxFQ1Qgb2lkIEFTIGRhdGlkLAogICAgIHBnX3N0YXRf Z2V0X2RiX2NvbmZsaWN0X3N0YXJ0dXBfZGVhZGxvY2sob2lkKSBBUyBjb25mbF9kZWFkbG9j aywKICAgICBwZ19zdGF0X2dldF9kYl9jb25mbGljdF9sb2dpY2Fsc2xvdChvaWQpIEFTIGNv bmZsX2FjdGl2ZV9sb2dpY2Fsc2xvdAogICAgRlJPTSBwZ19kYXRhYmFzZSBkOworcGdfc3Rh dF9nZXRfdmFjdXVtX2luZGV4ZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlkLAorICAgIG5z Lm5zcG5hbWUgQVMgc2NoZW1hLAorICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFs X2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3Rh bF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0 YXRzLnJlbF9ibGtzX3JlYWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRz LnBhZ2VzX2RlbGV0ZWQsCisgICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMu d2FsX3JlY29yZHMsCisgICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMs CisgICAgc3RhdHMuYmxrX3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwK KyAgICBzdGF0cy5kZWxheV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUKKyAgIEZST00g KHBnX2NsYXNzIHJlbAorICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9 IHJlbC5yZWxuYW1lc3BhY2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1f aW5kZXhlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9i bGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9i bGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQs IHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193 cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJlbGtp bmQgPSAnaSc6OiJjaGFyIik7CiBwZ19zdGF0X2dzc2FwaXwgU0VMRUNUIHBpZCwKICAgICBn c3NfYXV0aCBBUyBnc3NfYXV0aGVudGljYXRlZCwKICAgICBnc3NfcHJpbmMgQVMgcHJpbmNp cGFsLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5k ZXhfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9p bmRleF9zdGF0aXN0aWNzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uM2ExYWU2NDhkMGUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dApAQCAtMCwwICsxLDE2NSBA QAorLS0KKy0tIFRlc3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0g Q2hlY2sgdGhlIHdhbGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVy YXRpb246CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2 YWN1dW07CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQg YnkgYmFja2VuZC4KKy0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4g dGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNv bmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9u CisgdHJhY2tfY291bnRzIAorLS0tLS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCistLSBu b3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQg dHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJl IGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0 X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEg cm93KQorCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5f YWdlID0gMDsKK1NFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9IDA7CistLVNFVCBzdGF0 c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAo eCBpbnQgcHJpbWFyeSBrZXkpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmls bGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVy YXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworU0VM RUNUIG9pZCBBUyBpb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXRf cGtleScgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBC ZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBp cyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQsdHVw bGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9 IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVw bGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8ICAgICAgIDMwIHwgICAgICAgICAg ICAgMCB8ICAgICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVDVCByZWxwYWdlcyBBUyBp cnAKK0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdz ZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhf Q0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3 YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0 ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVt IGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0 YXllZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFu ZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2Vz LHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAw IEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRl ZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQg ICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2Vz IEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZS T00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0Cist LSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jk cyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0 X2dldF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3Jk cyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdCCitGUk9NIHBnX3N0YXRfZ2V0 X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknOworIGRpd3Ig fCBkaXdiIAorLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0CisoMSByb3cpCisKK0RFTEVURSBG Uk9NIHZlc3RhdDs7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAx MjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBj aGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBwYWdlc19yZW1vdmVk IG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0g MCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQs dHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3Rh dF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwg cmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0 YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VM RUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1 cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2 dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0 LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlh YmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2Ig QVMgZGl3Yiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaQorRlJPTSBwZ19zdGF0X2dldF92YWN1 dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS0gV0FM IGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpkaXdyID4gMCBBUyBkaVdS LCA6ZGl3YiA+IDAgQVMgZGlXQjsKKyBkaXdyIHwgZGl3YiAKKy0tLS0tLSstLS0tLS0KKyB0 ICAgIHwgdAorKDEgcm93KQorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBp IEFTIGlmcGkgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZS T00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00g dmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0 IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0 aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0 IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7 CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVj b3Jkcy06aXdyIEFTIGRpd3IyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMiwgd2FsX2ZwaS06 aWZwaSBBUyBkaWZwaTIKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlz dGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IyPTAg QVMgZGlXUiwgOmRpZnBpMj0wIEFTIGlGUEksIDpkaXdiMj0wIEFTIGRpV0I7CisgZGl3ciB8 IGlmcGkgfCBkaXdiIAorLS0tLS0tKy0tLS0tLSstLS0tLS0KKyB0ICAgIHwgdCAgICB8IHQK KygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMgcmVs cGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19k ZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfZ2V0X3Zh Y3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2Vz IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkg fCB0ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5y ZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVs ZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9 IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NF TEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlm cGkgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0 OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9D TEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdh bCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8g dmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NF TEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdi Mywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2lu ZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tVGhlcmUgYXJl IG5vdGhpbmcgY2hhbmdlZAorU0VMRUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBB UyBpRlBJLCA6ZGl3YjM9MCBBUyBkaVdCOworIGRpd3IgfCBpZnBpIHwgZGl3YiAKKy0tLS0t LSstLS0tLS0rLS0tLS0tCisgdCAgICB8IHQgICAgfCB0CisoMSByb3cpCisKKy0tCistLSBO b3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVy IG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3Mu CistLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3Qg YmUgY2hhbmdlZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFT IHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X2dl dF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2 ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxw YWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9w a2V5IHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qg bWluKHJlbGlkKSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKDApOworIG1pbiAK Ky0tLS0tCisgICAwCisoMSByb3cpCisKK0RST1AgVEFCTEUgdmVzdGF0OwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Mub3V0CmluZGV4IDkwNzE1MzlkZGRjLi5lZWU0NjhhNTBkNSAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNz Lm91dApAQCAtMjMsOCArMjMsNiBAQCBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo KCk7CiAoMSByb3cpCiAKIFxzZXQgc2FtcGxlX3NpemUgMTAwMDAKLVNFVCB2YWN1dW1fZnJl ZXplX21pbl9hZ2UgPSAwOwotU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKIC0t U0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CiBDUkVBVEUgVEFCTEUg dmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFj dG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVf c2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwpAQCAtMTU2LDYgKzE1NCwxNCBAQCBXSEVS RSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAgdmVzdGF0 ICB8IHQgICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAg ICAgICAgIHwgdAogKDEgcm93KQogCitEUk9QIFRBQkxFIHZlc3RhdDsKK1NFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitDUkVBVEUgVEFCTEUg dmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFj dG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVf c2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwogQU5BTFlaRSB2ZXN0YXQ7CiAtLSBtdXN0 IGJlIGVtcHR5CkBAIC0xODMsNyArMTg5LDcgQEAgU0VMRUNUIHBhZ2VzX2Zyb3plbiA+IDpw ZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPiA6cHYgQVMgcGFnZXNfYWxs X3YKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hF UkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3Rh dF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOwogIHBh Z2VzX2Zyb3plbiB8IHBhZ2VzX2FsbF92aXNpYmxlIHwgcmV2X2FsbF9mcm96ZW5fcGFnZXMg fCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCiAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K LSBmICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAg ICAgIHwgdAorIGYgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICAgICAgfCBmCiAoMSByb3cpCiAKIFNFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYs IHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZw LHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCkBAIC0xOTcsNyArMjAzLDcgQEAgU0VM RUNUIHBhZ2VzX2Zyb3plbiA9IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2li bGUgPSA6cHYgQVMgcGFnZXNfYWxsX3YKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBw Z19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUg PSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9h bGxfdGFibGVzLnJlbGlkOwogIHBhZ2VzX2Zyb3plbiB8IHBhZ2VzX2FsbF92aXNpYmxlIHwg cmV2X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCiAtLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSB0ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAg ICB8IGYgICAgICAgICAgICAgICAgICAgIHwgZgorIHQgICAgICAgICAgICB8IHQgICAgICAg ICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKIERST1Ag VEFCTEUgdmVzdGF0IENBU0NBREU7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpp bmRleCA5NzdhMDQ3MjAyNy4uOTg0N2EzMzBlZDEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxl bF9zY2hlZHVsZQpAQCAtMTQwLDQgKzE0MCw1IEBAIHRlc3Q6IHRhYmxlc3BhY2UKICMgLS0t LS0tLS0tLQogIyBDaGVjayB2YWN1dW0gc3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCit0ZXN0 OiB2YWN1dW1faW5kZXhfc3RhdGlzdGljcwogdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lM2NkZGVlNjYwMQotLS0gL2Rldi9udWxsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApAQCAt MCwwICsxLDEzMCBAQAorLS0KKy0tIFRlc3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lz dGVtCistLQorLS0gQ2hlY2sgdGhlIHdhbGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5n IHZhY3V1bSBvcGVyYXRpb246CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBh Z2VzIHNldCBieSB2YWN1dW07CistLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBh Z2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KKy0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBk aXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxl LgorLS0KKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAt LSBtdXN0IGJlIG9uCistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0 byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOworCisKKy0tIGVu c3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9u ZXh0X2ZsdXNoKCk7CisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1fZnJl ZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKKy0t U0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUg dmVzdGF0ICh4IGludCBwcmltYXJ5IGtleSkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0g b2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZS T00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0 YXQ7CisKK1NFTEVDVCBvaWQgQVMgaW9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWUg PSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUg MiA9IDA7CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQg c3RhdHMgdmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLHBhZ2Vz X2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4 ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFO RCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHJlbHBhZ2VzIEFTIGlycAorRlJPTSBwZ19j bGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCitWQUNVVU0g KFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04p IHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3Rp Y3MKK0NIRUNLUE9JTlQ7CisKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBw YWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUg c2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NF TEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2Rl bGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxl c19kZWxldGVkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBj Lm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVk IEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVt X2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNl cyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMg QVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKKy0tIExvb2sgaW50byBX QUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRpV1IsIHdh bF9ieXRlcyA+IDAgQVMgZGlXQgorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JzsKKworREVMRVRFIEZST00gdmVzdGF0OzsK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xF QU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwg c3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGlu Y3JlYXNlZAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFn ZXMscGFnZXNfZGVsZXRlZC06aXBkID4gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxl dGVkLTppdGQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1 bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2Vz IEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZS T00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNv cmRzLTppd3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2FsX2ZwaS06aWZw aSBBUyBkaWZwaQorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUg ZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBkaVdC OworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxf cmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBw Z19zdGF0X2dldF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBcZ3NldAorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUg eCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xs ZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBk ZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5 IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUg V0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBB UyBkaXdyMiwgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9mcGktOmlmcGkgQVMgZGlm cGkyCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIFxnc2V0CisKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZh bmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IyPTAgQVMgZGlXUiwg OmRpZnBpMj0wIEFTIGlGUEksIDpkaXdiMj0wIEFTIGRpV0I7CisKK1NFTEVDVCB2dC5yZWxu YW1lLHJlbHBhZ2VzLTppcnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9 IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNf ZGVsZXRlZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBB UyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9p bmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMg aW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFT IGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCitERUxFVEUgRlJPTSB2ZXN0 YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vz c2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVw bGVzIGZyb20gdGhlIHRhYmxlCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyMywg d2FsX2J5dGVzLTppd2IgQVMgZGl3YjMsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkzCitGUk9N IHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIFxnc2V0CisKKy0tVGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAorU0VMRUNUIDpkaXdy Mz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBkaVdCOworCist LQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJv IG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0 aXN0aWNzLgorLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hv dWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJw ID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0 ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworCitTRUxFQ1QgbWlu KHJlbGlkKSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKDApOworCitEUk9QIFRB QkxFIHZlc3RhdDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFi bGVzX3N0YXRpc3RpY3Muc3FsCmluZGV4IDA0NjM5NzNjZTBiLi5lZTc0YmIzYTk1OCAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNz LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Muc3FsCkBAIC0xNyw4ICsxNyw3IEBAIFNFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7 CiBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CiAKIFxzZXQgc2FtcGxlX3Np emUgMTAwMDAKLVNFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOwotU0VUIHZhY3V1bV9m cmVlemVfdGFibGVfYWdlID0gMDsKKwogLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kg PSBzbmFwc2hvdDsKIENSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFj dXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2ZXN0 YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7 CkBAIC0xMjYsMTMgKzEyNSwxNiBAQCBTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4t OmZwID0gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUwogRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKIFdIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAorRFJPUCBUQUJMRSB2ZXN0 YXQ7CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CitDUkVBVEUgVEFCTEUg dmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFj dG9yID0gMTApOworCiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0 ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CiBBTkFMWVpFIHZlc3RhdDsKIAogLS0g bXVzdCBiZSBlbXB0eQogU0VMRUNUIHBhZ2VzX2Zyb3plbiwgcGFnZXNfYWxsX3Zpc2libGUs IHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcwogRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7Ci0KIFZBQ1VVTSAoUEFSQUxM RUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OwogCiAtLSBiYWNrZW5kIGRl ZnJlZXplZCBwYWdlcwpAQCAtMTQzLDE0ICsxNDUsMTIgQEAgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMucmVsbmEKIAogVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHggKyAxMDAxOwogVkFDVVVNIChQ QVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7Ci0KIFNFTEVDVCBw YWdlc19mcm96ZW4gPiA6cGYgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4g OnB2IEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAg QVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAg QVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywg cGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1l ID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRf YWxsX3RhYmxlcy5yZWxpZDsKIFNFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2Fs bF92aXNpYmxlIEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxf dmlzaWJsZV9wYWdlcyBBUyBoYXZwCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVS RSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CiAKIFZB Q1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OwotCiAt LSB2YWN1dW0gZnJlZXplZCBwYWdlcwogU0VMRUNUIHBhZ2VzX2Zyb3plbiA9IDpwZiBBUyBw YWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPSA6cHYgQVMgcGFnZXNfYWxsX3Zpc2li bGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdl cyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFn ZXMKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hF UkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3Rh dF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOwotLSAK Mi4zNC4xCgo= --------------kd8DjLx19v5OmgCxvflJ9UQh Content-Type: text/x-patch; charset=UTF-8; name="v13-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v13-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBmNzQ2ZmNjNmFmMTJkNTU3MTg5YmM0ZDUzZTRhYThlM2E0Zjg3ZTMxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogV2VkLCAxMyBOb3YgMjAyNCAxNjo1ODoxNiArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMy8zXSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uIAogZGF0YWJhc2VzLiBJdCB0cmFuc21pdHMgdmFjdXVtIHN0 YXRpc3RpY2FsIGluZm9ybWF0aW9uIGFib3V0IGVhY2ggdGFibGUgYW5kIAogYWNjdW11bGF0 ZXMgaXQgZm9yIHRoZSBkYXRhYmFzZSB3aGljaCB0aGUgdGFibGUgYmVsb25nZWQuCgotLS0K IHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8IDI2ICsr KystCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAg MiArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYyAgfCAg MSArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAx NiArKysrCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAg fCA5NSArKysrKysrKysrKysrKysrKysrCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2Mu ZGF0ICAgICAgICAgICAgICAgfCAxNSArKy0KIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAzICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCAgICAgICAgICAgfCAxNiArKysrCiAuLi51dCA9PiB2YWN1dW1fdGFibGVz X2FuZF9kYl9zdGF0aXN0aWNzLm91dH0gfCA4MSArKysrKysrKysrKysrKystCiBzcmMvdGVz dC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgMiArLQogLi4ucWwg PT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWx9IHwgNjYgKysrKysrKysr KysrLQogMTEgZmlsZXMgY2hhbmdlZCwgMzA5IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9u cygtKQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQve3ZhY3V1bV90YWJsZXNf c3RhdGlzdGljcy5vdXQgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXR9 ICg3NyUpCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9zcWwve3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5zcWwgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWx9ICg3 OSUpCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3Fs IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGJlYmY3OTM1 MTRhLi5mMzM3NzY4ZWE1NSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bApAQCAtMTQ1OCw0ICsxNDU4LDI4IEBAIEZST00KICAgcGdfY2xhc3MgcmVsCiAgIEpPSU4g cGdfbmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCiAgIExBVEVS QUwgcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJl bC5yZWxraW5kID0gJ2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK1dIRVJFIHJl bC5yZWxraW5kID0gJ2knOworCitDUkVBVEUgVklFVyBwZ19zdGF0X2dldF92YWN1dW1fZGF0 YWJhc2UgQVMKK1NFTEVDVAorICBkYi5vaWQgYXMgZGJvaWQsCisgIGRiLmRhdG5hbWUgQVMg ZGJuYW1lLAorCisgIHN0YXRzLmRiX2Jsa3NfcmVhZCBBUyBkYl9ibGtzX3JlYWQsCisgIHN0 YXRzLmRiX2Jsa3NfaGl0IEFTIGRiX2Jsa3NfaGl0LAorICBzdGF0cy50b3RhbF9ibGtzX2Rp cnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0 ZW4gQVMgdG90YWxfYmxrc193cml0dGVuLAorCisgIHN0YXRzLndhbF9yZWNvcmRzIEFTIHdh bF9yZWNvcmRzLAorICBzdGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCisgIHN0YXRzLndhbF9i eXRlcyBBUyB3YWxfYnl0ZXMsCisKKyAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVh ZF90aW1lLAorICBzdGF0cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKKwor ICBzdGF0cy5kZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCisgIHN0YXRzLnRvdGFsX3RpbWUg QVMgdG90YWxfdGltZSwKKyAgc3RhdHMuZXJyb3JzIEFTIGVycm9ycworRlJPTQorICBwZ19k YXRhYmFzZSBkYiwKKyAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZGIu b2lkKSBzdGF0czsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IDU1MWRjZmEzMTk4Li41YjgxZmJiYTEyYSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTExMjYsNiArMTEyNiw4IEBA IHBnc3RhdF91cGRhdGVfc25hcHNob3QoUGdTdGF0X0tpbmQga2luZCkKIAkJcGdzdGF0X2Zl dGNoX2NvbnNpc3RlbmN5ID0gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBTSE9UOwog CQlpZiAoa2luZCA9PSBQR1NUQVRfS0lORF9SRUxBVElPTikKIAkJCXBnc3RhdF9idWlsZF9z bmFwc2hvdChQR1NUQVRfS0lORF9SRUxBVElPTik7CisJCWVsc2UgaWYgKGtpbmQgPT0gUEdT VEFUX0tJTkRfREFUQUJBU0UpCisJCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJ TkRfREFUQUJBU0UpOwogCX0KIAlQR19GSU5BTExZKCk7CiAJewpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwppbmRleCA3NzU3ZDJhY2U3NC4u ODQwZDg0OGE3NTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdF9kYXRhYmFzZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF9kYXRhYmFzZS5jCkBAIC00NDksNiArNDQ5LDcgQEAgcGdzdGF0X2RhdGFiYXNlX2ZsdXNo X2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkKIAlwZ3N0YXRf dW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CiAKIAltZW1zZXQocGVuZGluZ2VudCwgMCwgc2l6 ZW9mKCpwZW5kaW5nZW50KSk7CisJbWVtc2V0KCYocGVuZGluZ2VudCktPnZhY3V1bV9leHQs IDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKIAogCXJldHVybiB0cnVlOwogfQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCBjOTIz OGUzZjY1MC4uODUzZWU1MTBiYjUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCkBAIC0yMTgsNiArMjE4LDcgQEAgcGdzdGF0X3JlcG9y dF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSkK IAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50cnk7CiAJUGdTdGF0X1N0YXRUYWJF bnRyeSAqdGFiZW50cnk7CiAJT2lkCQkJZGJvaWQgPSAgTXlEYXRhYmFzZUlkOworCVBnU3Rh dF9TdGF0REJFbnRyeSAqZGJlbnRyeTsJLyogcGVuZGluZyBkYXRhYmFzZSBlbnRyeSAqLwog CiAJaWYgKCFwZ3N0YXRfdHJhY2tfY291bnRzKQogCQlyZXR1cm47CkBAIC0yMzEsNiArMjMy LDEwIEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFj UmVwb3J0VHlwZSBtX3R5cGUpCiAJdGFiZW50cnktPnZhY3V1bV9leHQuZXJyb3JzKys7CiAJ dGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKIAlwZ3N0YXRfdW5sb2NrX2Vu dHJ5KGVudHJ5X3JlZik7CisKKwlkYmVudHJ5ID0gcGdzdGF0X3ByZXBfZGF0YWJhc2VfcGVu ZGluZyhkYm9pZCk7CisJZGJlbnRyeS0+dmFjdXVtX2V4dC5lcnJvcnMrKzsKKwlkYmVudHJ5 LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7CiB9CiAKIC8qCkBAIC0yNDQsNiArMjQ5LDcg QEAgcGdzdGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAlQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNo dGFiZW50cnk7CiAJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7CisJUGdTdGF0U2hh cmVkX0RhdGFiYXNlICpkYmVudHJ5OwogCU9pZAkJCWRib2lkID0gKHNoYXJlZCA/IEludmFs aWRPaWQgOiBNeURhdGFiYXNlSWQpOwogCVRpbWVzdGFtcFR6IHRzOwogCkBAIC0yOTcsNiAr MzAzLDE2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFy ZWQsCiAJICogVkFDVVVNIGNvbW1hbmQgaGFzIHByb2Nlc3NlZCBhbGwgdGFibGVzIGFuZCBj b21taXR0ZWQuCiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKKwlpZiAoZGJvaWQg IT0gSW52YWxpZE9pZCkKKwl7CisJCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVm X2xvY2tlZChQR1NUQVRfS0lORF9EQVRBQkFTRSwKKwkJCQkJCQkJCQkJZGJvaWQsIEludmFs aWRPaWQsIGZhbHNlKTsKKwkJZGJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfRGF0YWJhc2UgKikg ZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisKKwkJcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFj X3N0YXRzKCZkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LCBwYXJhbXMsIGZhbHNlKTsKKwkJ cGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworCX0KKwogfQogCiAvKgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBmNzk3Y2YyZDdmMy4uMzJlMzhkNDMw NjIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMzExLDYgKzIz MTEsMTAxIEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1Mp CiAKIAlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUyk7 CiAKKwkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KKwlQR19SRVRVUk5fREFU VU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywg bnVsbHMpKSk7Cit9CisKK0RhdHVtCitwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoUEdf RlVOQ1RJT05fQVJHUykKK3sKKwkjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFT RV9TVEFUU19DT0xTCTEzCisKKwlPaWQJCQkJCQkgZGJpZCA9IFBHX0dFVEFSR19PSUQoMCk7 CisJUGdTdGF0X1N0YXREQkVudHJ5IAkJKmRiZW50cnk7CisJRXh0VmFjUmVwb3J0IAkJCSpl eHR2YWN1dW07CisJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOworCURhdHVtCQkJCQkgdmFsdWVz W1BHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTXSA9IHswfTsKKwlib29s CQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFNdID0g ezB9OworCWNoYXIJCQkJCSBidWZbMjU2XTsKKwlpbnQJCQkJCQkgaSA9IDA7CisJRXh0VmFj UmVwb3J0IGFsbHplcm87CisKKwkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMgaW5mb3JtYXRp b24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KKwl0dXBkZXNjID0gQ3JlYXRlVGVtcGxh dGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMpOwor CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkYmlk IiwKKwkJCQkJICAgSU5UNE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfIGJsa3NfcmVhZCIsCisJCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxf Ymxrc19kaXJ0aWVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc193cml0dGVu IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAorCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJ3YWxfZnBpIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwKKwkJCQkJ ICAgTlVNRVJJQ09JRCwgLTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2Ms IChBdHRyTnVtYmVyKSArK2ksICJibGtfcmVhZF90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJibGtfd3JpdGVfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxheV90 aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKKwkJCQkJICAgRkxP QVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJlcnJvcnMiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisKKwlBc3Nl cnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlC bGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKKworCWRiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3Rh dF9kYmVudHJ5KGRiaWQpOworCisJaWYgKGRiZW50cnkgPT0gTlVMTCkKKwl7CisJCS8qIElm IHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAq LworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0 dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9ICYoZGJl bnRyeS0+dmFjdXVtX2V4dCk7CisJfQorCisJaSA9IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9i amVjdElkR2V0RGF0dW0oZGJpZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT50b3RhbF9ibGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkv KiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25w cmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9i eXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4s CisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJ ZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1 ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJ dmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1l KTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGlt ZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3Rp bWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5lcnJvcnMp OworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NP TFMpOworCiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCiAJUEdfUkVUVVJO X0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1 ZXMsIG51bGxzKSkpOwogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0CmluZGV4IGJlOGExMDUzM2JiLi5lMTJkNzdmMWUzYiAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjQwMyw3ICsxMjQwMyw3IEBACiAgIHByb3Ny YyA9PiAnZ2lzdF9zdHJhdG51bV9pZGVudGl0eScgfSwKIAogeyBvaWQgPT4gJzgwMDEnLAot ICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyByZXR1cm4gc3RhdHMgdmFs dWVzJywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgcmV0dXJucyB2 YWN1dW0gc3RhdHMgdmFsdWVzIGZvciB0YWJsZScsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRf Z2V0X3ZhY3V1bV90YWJsZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdz JywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3Jl dHNldCA9PiAndCcsCiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLApAQCAtMTI0MjEsMTIgKzEy NDIxLDIxIEBACiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcs IHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9h bGxfZnJvemVuX3BhZ2VzJyB9LAogeyBvaWQgPT4gJzgwMDQnLAotICBkZXNjciA9PiAncGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJuIHN0YXRzIHZhbHVlcycsCisgIGRlc2Ny ID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyByZXR1cm5zIHZhY3V1bSBzdGF0cyB2 YWx1ZXMgZm9yIGluZGV4JywKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2lu ZGV4ZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlw ZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHNldCA9PiAndCcs CiAgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxv aWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxu dW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OH0nLAogICBwcm9hcmdtb2RlcyA9 PiAne2ksbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAogICBwcm9hcmduYW1l cyA9PiAne3JlbG9pZCxyZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90 YWxfYmxrc19kaXJ0aWVkLHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9i bGtzX2hpdCxwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLHdhbF9yZWNvcmRzLHdhbF9m cGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0 b3RhbF90aW1lfScsCi0gIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMn IH0KKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycgfSwKK3sgb2lk ID0+ICc4MDA1JywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZSBy ZXR1cm5zIHZhY3V1bSBzdGF0cyB2YWx1ZXMgZm9yIGRhdGFiYXNlJywKKyAgcHJvbmFtZSA9 PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJywgcHJvcm93cyA9PiAxMDAwLCBwcm92 b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4g J2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAg cHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGludDR9JywKKyAgcHJv YXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJn bmFtZXMgPT4gJ3tkYmlkLGRib2lkLGRiX2Jsa3NfcmVhZCxkYl9ibGtzX2hpdCx0b3RhbF9i bGtzX2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHdhbF9yZWNvcmRzLHdhbF9mcGksd2Fs X2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90 aW1lLGVycm9yc30nLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFz ZScgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1 ZGUvcGdzdGF0LmgKaW5kZXggYTQ3ZGViZGMzNTEuLjYyNzFkOTZiNDE1IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAt MTc0LDcgKzE3NCw4IEBAIHR5cGVkZWYgZW51bSBFeHRWYWNSZXBvcnRUeXBlCiB7CiAJUEdT VEFUX0VYVFZBQ19JTlZBTElEID0gMCwKIAlQR1NUQVRfRVhUVkFDX0hFQVAgPSAxLAotCVBH U1RBVF9FWFRWQUNfSU5ERVggPSAyCisJUEdTVEFUX0VYVFZBQ19JTkRFWCA9IDIsCisJUEdT VEFUX0VYVFZBQ19EQiA9IDMsCiB9IEV4dFZhY1JlcG9ydFR5cGU7CiAKIC8qIC0tLS0tLS0t LS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggYmVkZTg4NzIxYzAu LjA1YmUwOTQ5ODcxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1 bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAt MTg4Myw2ICsxODgzLDIyIEBAIHBnX3N0YXRfZGF0YWJhc2VfY29uZmxpY3RzfCBTRUxFQ1Qg b2lkIEFTIGRhdGlkLAogICAgIHBnX3N0YXRfZ2V0X2RiX2NvbmZsaWN0X3N0YXJ0dXBfZGVh ZGxvY2sob2lkKSBBUyBjb25mbF9kZWFkbG9jaywKICAgICBwZ19zdGF0X2dldF9kYl9jb25m bGljdF9sb2dpY2Fsc2xvdChvaWQpIEFTIGNvbmZsX2FjdGl2ZV9sb2dpY2Fsc2xvdAogICAg RlJPTSBwZ19kYXRhYmFzZSBkOworcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlfCBTRUxF Q1QgZGIub2lkIEFTIGRib2lkLAorICAgIGRiLmRhdG5hbWUgQVMgZGJuYW1lLAorICAgIHN0 YXRzLmRiX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy5kYl9ibGtzX2hpdCwKKyAgICBzdGF0cy50 b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAg IHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAgc3RhdHMud2Fs X2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMuYmxrX3dyaXRl X3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy50b3RhbF90aW1lLAor ICAgIHN0YXRzLmVycm9ycworICAgRlJPTSBwZ19kYXRhYmFzZSBkYiwKKyAgICBMQVRFUkFM IHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShkYi5vaWQpIHN0YXRzKGRib2lkLCBkYl9i bGtzX3JlYWQsIGRiX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nf d3JpdHRlbiwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGlt ZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUsIGVycm9ycyk7CiBw Z19zdGF0X2dldF92YWN1dW1faW5kZXhlc3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAg ICAgbnMubnNwbmFtZSBBUyBzY2hlbWEsCiAgICAgcmVsLnJlbG5hbWUsCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0 YXRpc3RpY3Mub3V0CnNpbWlsYXJpdHkgaW5kZXggNzclCnJlbmFtZSBmcm9tIHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dApyZW5hbWUg dG8gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0 aXN0aWNzLm91dAppbmRleCBlZWU0NjhhNTBkNS4uODQ2OGY3ZWRhZWIgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5kX2Ri X3N0YXRpc3RpY3Mub3V0CkBAIC02LDYgKzYsOSBAQAogLS0gbnVtYmVyIG9mIGZyb3plbiBh bmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCiAtLSBTdGF0aXN0aWMgd2Fs X2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlv ciBpcyB1bnN0YWJsZS4KIC0tCitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0 aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3Zh Y3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CiAtLSBjb25k aXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgog IHRyYWNrX2NvdW50cyAKQEAgLTE4Myw3ICsxODYsNyBAQCBGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxl cy5yZWxuYQogCiBTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIHBmLCBwYWdlc19hbGxfdmlzaWJs ZSBBUyBwdiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVf cGFnZXMgQVMgaGF2cAogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxs X3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQn IGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMu cmVsaWQgXGdzZXQKLVVQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsgMTAwMTsKK1VQREFURSB2 ZXN0YXQgU0VUIHggPSB4KzEwMDE7CiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgpIHZlc3RhdDsKIFNFTEVDVCBwYWdlc19mcm96ZW4gPiA6cGYgQVMgcGFn ZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4gOnB2IEFTIHBhZ2VzX2FsbF92aXNpYmxl LHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMs cmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2Vz CiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJF IHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRf dmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKQEAgLTE5 MywxMCArMTk2LDcgQEAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxs X3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmEKICgxIHJvdykKIAog U0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJl dl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhh dnAKLUZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3Rh Ymxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKLUVSUk9SOiAgY29sdW1uICJyZXZfYWxs X2Zyb3plbl9wYWdlcyIgZG9lcyBub3QgZXhpc3QKLUxJTkUgMTogLi4uTEVDVCBwYWdlc19m cm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2LCByZXZfYWxsX2ZyLi4uCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxl cyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBw Z19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQg XGdzZXQKIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVz dGF0OwogLS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMKIFNFTEVDVCBwYWdlc19mcm96ZW4gPSA6 cGYgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID0gOnB2IEFTIHBhZ2VzX2Fs bF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96 ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92aXNp YmxlX3BhZ2VzCkBAIC0yMDYsNCArMjA2LDc1IEBAIEZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJl bG5hCiAgdCAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAg ICAgICAgICB8IHQKICgxIHJvdykKIAorLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNz IGZvciBjdXJyZW50IGRhdGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3Nf aGl0ID4gMCBBUyBkYl9ibGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAw IEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAw IEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2Fs X3JlY29yZHMsCisgICAgICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxf Ynl0ZXMgPiAwIEFTIHdhbF9ieXRlcywKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3Rh bF90aW1lCitGUk9NCitwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFt ZSA9IGN1cnJlbnRfZGF0YWJhc2UoKTsKKyAgICAgICAgICAgICBkYm5hbWUgICAgICAgICAg ICAgfCBkYl9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3Jp dHRlbiB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IHRvdGFsX3RpbWUg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb25fc3RhdGlzdGlj X3ZhY3V1bV9kYiB8IHQgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAg ICAgICAgICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdAor KDEgcm93KQorCiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworLS0gZW5zdXJlIHBlbmRp bmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIAorKDEgcm93KQorCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAo YXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElO VE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXpl KSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0gMTAwMDE7 CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsK K1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CistLSBOb3cgY2hlY2sgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRh YmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxr c19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2Rp cnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dy aXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAg IHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxf Ynl0ZXMsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdf c3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSAncmVncmVzc2lvbl9z dGF0aXN0aWNfdmFjdXVtX2RiJzsKKyAgICAgICAgICAgICBkYm5hbWUgICAgICAgICAgICAg fCBkYl9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRl biB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IHRvdGFsX3RpbWUgCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3Zh Y3V1bV9kYiB8IHQgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAg ICAgICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdAorKDEg cm93KQorCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIKK0RST1AgVEFCTEUg dmVzdGF0IENBU0NBREU7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOwor U0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2RhdGFiYXNlIGQKK0NST1NTIEpPSU4gcGdfc3Rh dF9nZXRfdmFjdXVtX3RhYmxlcygwKQorV0hFUkUgb2lkID0gMDsgLS0gbXVzdCBiZSAwCisg Y291bnQgCistLS0tLS0tCisgICAgIDAKKygxIHJvdykKKworU0VMRUNUIGNvdW50KCopCitG Uk9NIHBnX2RhdGFiYXNlIGQKK0NST1NTIEpPSU4gcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFi YXNlKDApCitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKyBjb3VudCAKKy0tLS0tLS0K KyAgICAgMAorKDEgcm93KQorCitcYyBwb3N0Z3JlcworRFJPUCBEQVRBQkFTRSByZWdyZXNz aW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworRFJPUCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFs bGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQppbmRl eCA5ODQ3YTMzMGVkMS4uMWJhMzJiODdjZjUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9z Y2hlZHVsZQpAQCAtMTQxLDQgKzE0MSw0IEBAIHRlc3Q6IHRhYmxlc3BhY2UKICMgQ2hlY2sg dmFjdXVtIHN0YXRpc3RpY3MKICMgLS0tLS0tLS0tLQogdGVzdDogdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3MKLXRlc3Q6IHZhY3V1bV90YWJsZXNfc3RhdGlzdGljcwpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKK3Rlc3Q6IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3MK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdy ZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKc2ltaWxhcml0eSBp bmRleCA3OSUKcmVuYW1lIGZyb20gc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxl c19zdGF0aXN0aWNzLnNxbApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVt X3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKaW5kZXggZWU3NGJiM2E5NTguLjQ3ZGYx MDU2YWQ4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVz X3N0YXRpc3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJs ZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsCkBAIC03LDYgKzcsMTAgQEAKIC0tIFN0YXRpc3Rp YyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJl aGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KIAorQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25f c3RhdGlzdGljX3ZhY3V1bV9kYjsKK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRp c3RpY192YWN1dW1fZGIxOworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOwor CiAtLSBjb25kaXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVz dCBiZSBvbgogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVz dCBpdC4uLgpAQCAtMTQzLDE2ICsxNDcsNzIgQEAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVs bmEKIFNFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2 LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBB UyBoYXZwCiBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVz IFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBc Z3NldAogCi1VUERBVEUgdmVzdGF0IFNFVCB4ID0geCArIDEwMDE7CitVUERBVEUgdmVzdGF0 IFNFVCB4ID0geCsxMDAxOwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4KSB2ZXN0YXQ7CiBTRUxFQ1QgcGFnZXNfZnJvemVuID4gOnBmIEFTIHBhZ2VzX2Zy b3plbixwYWdlc19hbGxfdmlzaWJsZSA+IDpwdiBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZf YWxsX2Zyb3plbl9wYWdlcyA+IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9h bGxfdmlzaWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CiBTRUxFQ1QgcGFn ZXNfZnJvemVuIEFTIHBmLCBwYWdlc19hbGxfdmlzaWJsZSBBUyBwdiwgcmV2X2FsbF9mcm96 ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAotRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5h bWUgPSAndmVzdGF0JyBcZ3NldAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0 YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2 ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90 YWJsZXMucmVsaWQgXGdzZXQKIAogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0Vf TElNSVQgMTI4KSB2ZXN0YXQ7CiAtLSB2YWN1dW0gZnJlZXplZCBwYWdlcwogU0VMRUNUIHBh Z2VzX2Zyb3plbiA9IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPSA6 cHYgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFmcCBB UyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2cCBB UyByZXZfYWxsX3Zpc2libGVfcGFnZXMKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBw Z19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUg PSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9h bGxfdGFibGVzLnJlbGlkOwogCi1EUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKKy0tIE5vdyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBm b3IgY3VycmVudCBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hp dCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBB UyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBB UyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9y ZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5 dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxf dGltZQorRlJPTQorcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUg PSBjdXJyZW50X2RhdGFiYXNlKCk7CisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CisK Ky0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9m b3JjZV9uZXh0X2ZsdXNoKCk7CisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRI IChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQg SU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3Np emUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2ZXN0YXQgU0VUIHggPSAxMDAw MTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0 OworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworCistLSBOb3cgY2hl Y2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhl ciBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMg ZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9i bGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9i bGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAor ICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBB UyB3YWxfYnl0ZXMsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJP TQorcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSAncmVncmVz c2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiJzsKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNf dmFjdXVtX2RiCisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CisKK1xjIHJlZ3Jlc3Np b25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0 YWJhc2UgZAorQ1JPU1MgSk9JTiBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKDApCitXSEVS RSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKworU0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2Rh dGFiYXNlIGQKK0NST1NTIEpPSU4gcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKDApCitX SEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKworXGMgcG9zdGdyZXMKK0RST1AgREFUQUJB U0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK0RST1AgREFUQUJBU0UgcmVn cmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKLS0gCjIuMzQuMQoK --------------kd8DjLx19v5OmgCxvflJ9UQh Content-Type: text/x-patch; charset=UTF-8; name="v13-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v13-0004-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA0MTM0YzA0N2M2M2YyYjZhY2MzZmUxMTlmN2ZiZDNkNjZjMDg1YmVhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAyNCAxNzo0Nzo1NSArMDMwMApTdWJq ZWN0OiBbUEFUQ0hdIEFkZCBkb2N1bWVudGF0aW9uIGFib3V0IHRoZSBzeXN0ZW0gdmlld3Mg dGhhdCBhcmUgdXNlZCBpbiB0aGUKIG1hY2hpbmVyeSBvZiB2YWN1dW0gc3RhdGlzdGljcy4K Ci0tLQogZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sICAgICAgICAgICAgICAgIHwg NzQ3ICsrKysrKysrKysrKysrKysrKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRh YmxlLXJlYWQub3V0ICAgIHwgICA2ICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5zcGVjICAgfCAgIDQgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNzUyIGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3N5 c3RlbS12aWV3cy5zZ21sIGIvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCmluZGV4 IDYxZDI4ZTcwMWYyLi5iNzRjNTNiYjAwMCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3N5 c3RlbS12aWV3cy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbApA QCAtNTA2NCw0ICs1MDY0LDc1MSBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBsIExFRlQg Sk9JTiBwZ19wcmVwYXJlZF94YWN0cyBwcHgKICAgPC90YWJsZT4KICA8L3NlY3QxPgogCis8 c2VjdDEgaWQ9InZpZXctcGctc3RhdC1nZXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxl PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT48 L3RpdGxlPgorCisgIDxpbmRleHRlcm0gem9uZT0idmlldy1wZy1zdGF0LWdldC12YWN1dW0t ZGF0YWJhc2UiPgorICAgPHByaW1hcnk+cGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlPC9w cmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFyYT4KKyAgIFRoZSB2aWV3IDxzdHJ1 Y3RuYW1lPnBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT4gd2lsbCBj b250YWluCisgICBvbmUgcm93IGZvciBlYWNoIGRhdGFiYXNlIGluIHRoZSBjdXJyZW50IGNs dXN0ZXIsIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dAorICAgdmFjdXVtaW5nIHRoYXQgZGF0 YWJhc2UuCisgIDwvcGFyYT4KKworICA8dGFibGU+CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+ cGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRs ZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGJpZDwvc3RydWN0Zmll bGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgIE9JRCBvZiBhIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNl IGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBv biB0aGlzIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRv dGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgZGF0YWJhc2Ug YmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAgICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2RpcnRpZWQ8L3N0 cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3MgZGlydGllZCBieSB2YWN1 dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3dyaXR0ZW48L3N0 cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mgd3JpdHRlbiBieSB2YWN1 dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVjb3Jkczwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVyYXRlZCBieSB2YWN1dW0g b3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAgICAg PC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50 cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmlu aXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBU b3RhbCBudW1iZXIgb2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1 bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFiYXNlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9ieXRlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPm51bWVyaWM8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgYW1vdW50IG9mIFdBTCBieXRlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+YmxrX3JlYWRfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3Bl bnQgd3JpdGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9y bWVkIG9uCisgICAgICAgIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhy ZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAg ICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ ZGVsYXlfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEg dmFjdXVtIGRlbGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgor ICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5r ZW5kPSJydW50aW1lLWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBm b3IgZGV0YWlscykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVt X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0 aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dXNlcl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUg b2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRvdGFsIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vjb25k cworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbnRlcnJ1cHRzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVk IG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBhbnkgZXJy b3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90Ym9keT4K KyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisKKyAgPHNlY3QxIGlkPSJ2 aWV3LXBnLXN0YXQtZ2V0LXZhY3V1bS1pbmRleGVzIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1l PnBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAg PGluZGV4dGVybSB6b25lPSJ2aWV3LXBnLXN0YXQtZ2V0LXZhY3V1bS1pbmRleGVzIj4KKyAg IDxwcmltYXJ5PnBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzPC9wcmltYXJ5PgorICA8L2lu ZGV4dGVybT4KKworICA8cGFyYT4KKyAgIFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3N0YXRf Z2V0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSBy b3cgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBU T0FTVAorICAgdGFibGUgaW5kZXhlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1 dW1pbmcgdGhhdCBzcGVjaWZpYyBpbmRleC4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAg IDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X2dldF92YWN1dW1faW5kZXhlczwvc3RydWN0 bmFtZT4gQ29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVh ZD4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUK KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0 Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9mIGFuIGluZGV4CisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnNjaGVtYTwvc3RydWN0ZmllbGQ+IDx0eXBlPm5hbWU8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTmFtZSBvZiB0 aGUgc2NoZW1hIHRoaXMgaW5kZXggaXMgaW4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cmVsbmFtZTwvc3RydWN0ZmllbGQ+IDx0eXBlPm5hbWU8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOYW1lIG9mIHRoaXMgaW5kZXgKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19yZWFkPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHJlYWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0aW1lcyBkYXRhYmFzZSBibG9ja3Mgd2VyZSBmb3VuZCBpbiB0aGUKKyAg ICAgICAgYnVmZmVyIGNhY2hlIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZv cm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnRvdGFsX2Jsa3NfZGlydGllZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNl IGJsb2NrcyBkaXJ0aWVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1l ZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRv dGFsX2Jsa3Nfd3JpdHRlbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJs b2NrcyB3cml0dGVuIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBv biB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJlbF9i bGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBibG9ja3MgdmFjdXVtIG9wZXJh dGlvbnMgcmVhZCBmcm9tIHRoaXMKKyAgICAgICAgaW5kZXgKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIg b2YgdGltZXMgYmxvY2tzIG9mIHRoaXMgaW5kZXggd2VyZSBhbHJlYWR5IGZvdW5kCisgICAg ICAgIGluIHRoZSBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMsIHNvIHRoYXQg YSByZWFkIHdhcyBub3QgbmVjZXNzYXJ5CisgICAgICAgICh0aGlzIG9ubHkgaW5jbHVkZXMg aGl0cyBpbiB0aGUKKyAgICAgICAgcHJvamVjdDsgYnVmZmVyIGNhY2hlLCBub3QgdGhlIG9w ZXJhdGluZyBzeXN0ZW0ncyBmaWxlIHN5c3RlbSBjYWNoZSkKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cGFnZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9y bWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ dHVwbGVzX2RlbGV0ZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkZWFkIHR1cGxlcyB2 YWN1dW0gb3BlcmF0aW9ucyBkZWxldGVkIGZyb20gdGhpcyBpbmRleAorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVjb3Jkczwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVG90 YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIg b2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25z CisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPndhbF9ieXRlczwvc3RydWN0ZmllbGQ+IDx0eXBlPm51bWVyaWM8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgYW1v dW50IG9mIFdBTCBieXRlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+YmxrX3JlYWRfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCByZWFk aW5nIGRhdGFiYXNlIGJsb2NrcyBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24K KyAgICAgICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5k PSJndWMtdHJhY2staW8tdGltaW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lz ZSB6ZXJvKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfd3JpdGVf dGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCB3cml0aW5nIGRhdGFiYXNlIGJsb2Nr cyBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBpbmRl eCwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5kPSJndWMtdHJhY2staW8tdGlt aW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lzZSB6ZXJvKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5kZWxheV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRpbWUgc3BlbnQgc2xlZXBpbmcgaW4gYSB2YWN1dW0gZGVsYXkgcG9pbnQgYnkgdmFjdXVt IG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgaW5kZXgsIGluIG1pbGxp c2Vjb25kcyAoc2VlIDx4cmVmIGxpbmtlbmQ9InJ1bnRpbWUtY29uZmlnLXJlc291cmNlLXZh Y3V1bS1jb3N0Ii8+CisgICAgICAgIGZvciBkZXRhaWxzKQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD5zeXN0ZW1fdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBTeXN0ZW0g Q1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgaW5kZXgsIGluIG1pbGxpc2Vjb25kcworICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD51c2VyX3RpbWU8L3N0cnVjdGZpZWxk PiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVXNlciBDUFUgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwgaW4gbWlsbGlz ZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJv dz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xl PSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX3RpbWU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgVG90YWwgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwg aW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmlu dGVycnVwdHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3Bh cmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICAgIHdlcmUgaW50ZXJydXB0 ZWQgb24gYW55IGVycm9ycworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor ICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAgPC90YWJsZT4KKyA8L3NlY3QxPgorCisg PHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXQtZ2V0LXZhY3V1bS10YWJsZXMiPgorICA8dGl0bGU+ PHN0cnVjdG5hbWU+cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT48L3Rp dGxlPgorCisgIDxpbmRleHRlcm0gem9uZT0idmlldy1wZy1zdGF0LWdldC12YWN1dW0tdGFi bGVzIj4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXM8L3ByaW1hcnk+ CisgIDwvaW5kZXh0ZXJtPgorCisgIDxwYXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+ cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT4gd2lsbCBjb250YWluCisg ICBvbmUgcm93IGZvciBlYWNoIHRhYmxlIGluIHRoZSBjdXJyZW50IGRhdGFiYXNlIChpbmNs dWRpbmcgVE9BU1QKKyAgIHRhYmxlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1 dW1pbmcgdGhhdCBzcGVjaWZpYyB0YWJsZS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAg IDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X2dldF92YWN1dW1fdGFibGVzPC9zdHJ1Y3Ru YW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFk PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRi b2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSB0YWJsZQorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5zY2hlbWE8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE5hbWUgb2YgdGhl IHNjaGVtYSB0aGlzIHRhYmxlIGlzIGluCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnJlbG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGlzIHRhYmxlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0 ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVy YXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAg ICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50 b3RhbF9ibGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgZGlydGllZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQg b24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisg ICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3Rh bF9ibGtzX3dyaXR0ZW48L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9j a3Mgd3JpdHRlbiBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxr c19yZWFkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4K KyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgYmxvY2tzIHZhY3V1bSBvcGVyYXRp b25zIHJlYWQgZnJvbSB0aGlzCisgICAgICAgIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnJlbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9m IHRpbWVzIGJsb2NrcyBvZiB0aGlzIHRhYmxlIHdlcmUgYWxyZWFkeSBmb3VuZAorICAgICAg ICBpbiB0aGUgYnVmZmVyIGNhY2hlIGJ5IHZhY3V1bSBvcGVyYXRpb25zLCBzbyB0aGF0IGEg cmVhZCB3YXMgbm90IG5lY2Vzc2FyeQorICAgICAgICAodGhpcyBvbmx5IGluY2x1ZGVzIGhp dHMgaW4gdGhlCisgICAgICAgIHByb2plY3Q7IGJ1ZmZlciBjYWNoZSwgbm90IHRoZSBvcGVy YXRpbmcgc3lzdGVtJ3MgZmlsZSBzeXN0ZW0gY2FjaGUpCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnBhZ2VzX3NjYW5uZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBv ZiBwYWdlcyBleGFtaW5lZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5w YWdlc19yZW1vdmVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgcmVtb3ZlZCBm cm9tIHRoZSBwaHlzaWNhbCBzdG9yYWdlIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAg IHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnBhZ2VzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZh Y3V1bSBvcGVyYXRpb25zIG1hcmtlZCBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICAgIGFz IGFsbC1mcm96ZW4gaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnBhZ2VzX2FsbF92aXNpYmxlPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1i ZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgbWFya2VkIHBhZ2VzIG9mIHRoaXMgdGFi bGUKKyAgICAgICAgYXMgYWxsLXZpc2libGUgaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1cGxlc19kZWxldGVkPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdmFjdXVtIG9wZXJhdGlvbnMgZGVsZXRl ZCBmcm9tIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8 L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHR1cGxlcyBvZiB0aGlz IHRhYmxlIHRoYXQgdmFjdXVtIG9wZXJhdGlvbnMgbWFya2VkIGFzCisgICAgICAgIGZyb3pl bgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5kZWFkX3R1cGxlczwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGxl ZnQgaW4gdGhpcyB0YWJsZSBkdWUKKyAgICAgICAgdG8gdGhlaXIgdmlzaWJpbGl0eSBpbiB0 cmFuc2FjdGlvbnMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW5kZXhf dmFjdXVtX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgaW5kZXhlcyBv biB0aGlzIHRhYmxlIHdlcmUgdmFjdXVtZWQKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cmV2X2FsbF9mcm96ZW5fcGFnZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBv ZiB0aW1lcyB0aGUgYWxsLWZyb3plbiBtYXJrIGluIHRoZSB2aXNpYmlsaXR5IG1hcAorICAg ICAgICB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMgb2YgdGhpcyB0YWJsZQorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZXZfYWxsX3Zpc2libGVfcGFnZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIE51bWJlciBvZiB0aW1lcyB0aGUgYWxsLXZpc2libGUgbWFyayBpbiB0aGUgdmlz aWJpbGl0eSBtYXAKKyAgICAgICAgd2FzIHJlbW92ZWQgZm9yIHBhZ2VzIG9mIHRoaXMgdGFi bGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8L3N0 cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0ZWQgYnkg dmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZpZWxk PiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBv cGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRpbWUgc3BlbnQgcmVhZGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlv bnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAo aWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAor ICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+YmxrX3dyaXRlX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3BlbnQgd3JpdGlu ZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisg ICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhyZWYgbGlua2VuZD0i Z3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAgICBvdGhlcndpc2Ug emVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGltZTwv c3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRlbGF5 IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlz IHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1lLWNv bmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBmb3IgZGV0YWlscykKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVjdGZp ZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBt aWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNlcl90 aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgor ICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMg dGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFjdXVt aW5nIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+ CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAg IDxzdHJ1Y3RmaWVsZD5pbnRlcnJ1cHRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0 aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAgICAg ICB3ZXJlIGludGVycnVwdGVkIG9uIGFueSBlcnJvcnMKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+ CisgIDxwYXJhPkNvbHVtbnMgPHN0cnVjdGZpZWxkPnRvdGFsXyo8L3N0cnVjdGZpZWxkPiwg PHN0cnVjdGZpZWxkPndhbF8qPC9zdHJ1Y3RmaWVsZD4KKyAgICBhbmQgPHN0cnVjdGZpZWxk PmJsa18qPC9zdHJ1Y3RmaWVsZD4gaW5jbHVkZSBkYXRhIG9uIHZhY3V1bWluZyBpbmRleGVz IG9uIHRoaXMgdGFibGUsIHdoaWxlIGNvbHVtbnMKKyAgICA8c3RydWN0ZmllbGQ+c3lzdGVt X3RpbWU8L3N0cnVjdGZpZWxkPiBhbmQgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0 ZmllbGQ+IG9ubHkgaW5jbHVkZSBkYXRhCisgICAgb24gdmFjdXVtaW5nIHRoZSBoZWFwLjwv cGFyYT4KKyA8L3NlY3QxPgorCiA8L2NoYXB0ZXI+CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9p c29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5v dXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1y ZXBldGFibGUtcmVhZC5vdXQKaW5kZXggOTNmZTE1YzAxZjkuLmE3Nzk0MDIzNTA4IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVk L3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC02LDcgKzYsNyBA QCBzdGVwIHMyX2luc2VydDogSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRp b24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBpdgogc3RlcCBzMl9wcmludF92YWN1dW1fc3Rh dHNfdGFibGU6IAogICAgIFNFTEVDVAogICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxl dGVkLCB2dC5kZWFkX3R1cGxlcywgdnQudHVwbGVzX2Zyb3plbgotICAgIEZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgRlJPTSBwZ19zdGF0X2dldF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCiAgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAKIHJl bG5hbWV8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgpAQCAtMjgs NyArMjgsNyBAQCBzdGVwIHMyX3ZhY3V1bTogVkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9uOwogc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6IAogICAgIFNFTEVD VAogICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5kZWFkX3R1cGxlcywg dnQudHVwbGVzX2Zyb3plbgotICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCisgICAgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19j bGFzcyBjCiAgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAKIHJlbG5hbWUgICAgICAgICAgICAgICAg ICAgfHR1cGxlc19kZWxldGVkfGRlYWRfdHVwbGVzfHR1cGxlc19mcm96ZW4KQEAgLTQyLDcg KzQyLDcgQEAgc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbjsKIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKICAgICBTRUxFQ1QK ICAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMsIHZ0 LnR1cGxlc19mcm96ZW4KLSAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdf Y2xhc3MgYworICAgIEZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xh c3MgYwogICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRp b24nIEFORCB2dC5yZWxpZCA9IGMub2lkOwogCiByZWxuYW1lICAgICAgICAgICAgICAgICAg IHx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5zcGVjIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRp bmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwppbmRleCA1ZmFjYjJjODYyYy4uNmUzM2RmNDY0 ODAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5k aW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3Nw ZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwpAQCAtMSw0ICsx LDQgQEAKLSMgVGVzdCBmb3IgY2hlY2tpbmcgZGVhZF90dXBsZXMsIHR1cGxlc19kZWxldGVk IGFuZCBmcm96ZW4gdHVwbGVzIGluIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy4KKyMgVGVzdCBm b3IgY2hlY2tpbmcgZGVhZF90dXBsZXMsIHR1cGxlc19kZWxldGVkIGFuZCBmcm96ZW4gdHVw bGVzIGluIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMuCiAjIERlYWRfdHVwbGVzIHZhbHVl cyBhcmUgY291bnRlZCB3aGVuIHZhY3V1bSBjYW5ub3QgY2xlYW4gdXAgdW51c2VkIHR1cGxl cyB3aGlsZSBsb2NrIGlzIHVzaW5nIGFub3RoZXIgdHJhbnNhY3Rpb24uCiAjIERlYWRfdHVw bGVzIGFyZW4ndCBpbmNyZWFzZWQgYWZ0ZXIgcmVsZWFzaW5nIGxvY2sgY29tcGFyZWQgd2l0 aCB0dXBsZXNfZGVsZXRlZCwgd2hpY2ggaW5jcmVhc2VkCiAjIGJ5IHRoZSB2YWx1ZSBvZiB0 aGUgY2xlYXJlZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVtIG1hbmFnZWQgdG8gY2xlYXIuCkBA IC0zMyw3ICszMyw3IEBAIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCiB7CiAg ICAgU0VMRUNUCiAgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LmRlYWRf dHVwbGVzLCB2dC50dXBsZXNfZnJvemVuCi0gICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKICAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIH0KIAotLSAKMi4zNC4xCgo= --------------kd8DjLx19v5OmgCxvflJ9UQh--