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 1sltiw-001oZE-5j for pgsql-hackers@arkaria.postgresql.org; Wed, 04 Sep 2024 17:23:19 +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 1sltit-00CggI-U0 for pgsql-hackers@arkaria.postgresql.org; Wed, 04 Sep 2024 17:23:16 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sltis-00CgfJ-Nw for pgsql-hackers@lists.postgresql.org; Wed, 04 Sep 2024 17:23:15 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sltii-00090i-7U for pgsql-hackers@postgresql.org; Wed, 04 Sep 2024 17:23:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1725470580; bh=mE2Yc8Qz1AlvLRzKYcapsufbciB1LY8kGUlnMyvr9cM=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=Vmr7NkE/aLid/a22Y65LXC8VsTHSUsubsCqI9g7Ne9LaRtu4XRad8bo8HtW+aIuG+ T/xm0Fjf4hRE53PhBtQrRbAFgnbwR8YomrHKDfHVPFez5TdCddjhsXB1LUELL6keOu q7XX10ya2CUVmkavaBHZ9MWn00+spxhWN2TAdyc0Nx0pwg2MWIQIfuzz7iYjPS7aQd TdRM8WttNASqKPp0BAfbdCN4Gcvp1uc/GDs0BMZtD6ngFpw79HznUq77i+RsUTE29Z g0TXOxu9SbwtDE1mwmXEOfM86F2ss/ux4+yVk49J0VAgTJ/7ZJrWgXqQubHM2IcCUf j9lznmzijQ1Sg== 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 5AED660419; Wed, 4 Sep 2024 20:23:00 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------KTO0Lkx3jeSP1KiShSAtFyX3" Message-ID: Date: Wed, 4 Sep 2024 20:23:00 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: Alexander Korotkov , jian he , Ilia Evdokimov Cc: Andrei Zubkov , Alena Rybakina , pgsql-hackers , a.lepikhov@postgrespro.ru References: <53c47c2d-72a5-44f2-900c-9973b2af1808@tantorlabs.com> <4a902cea-54fb-41b5-b208-b84731a5f577@postgrespro.ru> <092adec6-4eae-4bd4-bd0d-473a9df1282b@tantorlabs.com> <3deae1bd-ad84-4459-a26e-04c9136b84e9@postgrespro.ru> Content-Language: en-US From: Alena Rybakina In-Reply-To: X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2024/09/04 15:46:00 #26520951 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. --------------KTO0Lkx3jeSP1KiShSAtFyX3 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, all! I noticed that the pgstat_accumulate_extvac_stats function may be declared as static in the pgstat_relation.c file rather than in the pgstat.h file. I fixed part of the code with interrupt counters. I believe that it is not worth taking into account the number of interrupts if its level is greater than ERROR, for example PANIC. Our server will no longer be available to us and statistics data will not help us. I have attached the new version of the code and the diff files (minor-vacuum.no-cbot). --------------KTO0Lkx3jeSP1KiShSAtFyX3 Content-Type: text/x-patch; charset=UTF-8; name="v7-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v7-0001-Machinery-for-grabbing-an-extended-vacuum-statistics"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSAxMjQ3YzhkYTQ5NjRiMjQyNmQ5MDE5NWU4MjRlM2I4MjA3YjhiZmYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogV2VkLCA0IFNlcCAyMDI0IDE4OjUyOjQwICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzNdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGhlYXAgcmVsYXRpb25zLgoKVmFsdWUgb2YgdG90YWxfYmxr c19oaXQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19kaXJ0aWVkIGFyZSBudW1iZXIg b2YKaGl0dGVkLCBtaXNzZWQgYW5kIGRpcnRpZWQgcGFnZXMgaW4gc2hhcmVkIGJ1ZmZlcnMg ZHVyaW5nIGEgdmFjdXVtIG9wZXJhdGlvbgpyZXNwZWN0aXZlbHkuCgp0b3RhbF9ibGtzX2Rp cnRpZWQgbWVhbnMgJ2RpcnRpZWQgb25seSBieSB0aGlzIGFjdGlvbicuIFNvLCBpZiB0aGlz IHBhZ2Ugd2FzCmRpcnR5IGJlZm9yZSB0aGUgdmFjdXVtIG9wZXJhdGlvbiwgaXQgZG9lc24n dCBjb3VudCB0aGlzIHBhZ2UgYXMgJ2RpcnRpZWQnLgoKVGhlIHR1cGxlc19kZWxldGVkIHBh cmFtZXRlciBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcyBjbGVhbmVkIHVwIGJ5IHRoZSB2YWN1 dW0Kb3BlcmF0aW9uLgoKVGhlIGRlbGF5X3RpbWUgdmFsdWUgbWVhbnMgdG90YWwgdmFjdXVt IHNsZWVwIHRpbWUgaW4gdmFjdXVtIGRlbGF5IHBvaW50LgpUaGUgcGFnZXNfcmVtb3ZlZCB2 YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIGJ5IHdoaWNoIHRoZSBwaHlzaWNhbCBkYXRh CnN0b3JhZ2Ugb2YgdGhlIHJlbGF0aW9uIHdhcyByZWR1Y2VkLgpUaGUgdmFsdWUgb2YgcGFn ZXNfZGVsZXRlZCBwYXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiBmcmVlZCBwYWdlcyBpbiB0 aGUgdGFibGUKKGZpbGUgc2l6ZSBtYXkgbm90IGhhdmUgY2hhbmdlZCkuCgpJbnRlcnJ1cHRp b25zIG51bWJlciBvZiAoYXV0byl2YWN1dW0gcHJvY2VzcyBkdXJpbmcgdmFjdXVtaW5nIG9m IGEgcmVsYXRpb24uCldlIHJlcG9ydCBmcm9tIHRoZSB2YWN1dW1fZXJyb3JfY2FsbGJhY2sg cm91dGluZS4gU28gd2UgY2FuIGxvZyBhbGwgRVJST1IKcmVwb3J0cy4gSW4gdGhlIGNhc2Ug b2YgYXV0b3ZhY3V1bSB3ZSBjYW4gcmVwb3J0IFNJR0lOVCBzaWduYWxzIHRvby4KSXQgbWF5 YmUgZGFuZ2Vyb3VzIHRvIG1ha2Ugc3VjaCBjb21wbGV4IHRhc2sgKHNlbmQpIGluIGFuIGVy cm9yIGNhbGxiYWNrIC0Kd2UgY2FuIGNhdGNoIEVSUk9SIGluIEVSUk9SIHByb2JsZW0uIEJ1 dCBpdCBsb29rcyBsaWtlIHdlIGhhdmUgc28gc21hbGwKY2hhbmNlIHRvIHN0dWNrIGludG8g dGhpcyBwcm9ibGVtLiBTbywgbGV0J3MgdHJ5IHRvIHVzZS4KVGhpcyBwYXJhbWV0ZXIgcmVs YXRlcyB0byBhIHByb2JsZW0sIGNvdmVyZWQgYnkgYjE5ZTQyNTAuCgpUcmFja2luZyBvZiBJ TyBkdXJpbmcgYW4gKGF1dG8pdmFjdXVtIG9wZXJhdGlvbi4KSW50cm9kdWNlZCB2YXJpYWJs ZXMgYmxrX3JlYWRfdGltZSBhbmQgYmxrX3dyaXRlX3RpbWUgdHJhY2tzIG9ubHkgYWNjZXNz IHRvCmJ1ZmZlciBwYWdlcyBhbmQgZmx1c2hpbmcgdGhlbSB0byBkaXNrLiBSZWFkaW5nIG9w ZXJhdGlvbiBpcyB0cml2aWFsLCBidXQKd3JpdGluZyBtZWFzdXJlbWVudCB0ZWNobmlxdWUg aXMgbm90IG9idmlvdXMuClNvLCBkdXJpbmcgYSB2YWN1dW0gd3JpdGluZyB0aW1lIGNhbiBi ZSB6ZXJvIGluY3JlbWVudGVkIGJlY2F1c2Ugbm8gYW55IGZsdXNoaW5nCm9wZXJhdGlvbnMg d2VyZSBwZXJmb3JtZWQuCgpTeXN0ZW0gdGltZSBhbmQgdXNlciB0aW1lIGFyZSBwYXJhbWV0 ZXJzIHRoYXQgZGVzY3JpYmVzIGhvdyBtdWNoIHRpbWUgYSB2YWN1dW0Kb3BlcmF0aW9uIGhh cyBzcGVudCBpbiBleGVjdXRpbmcgb2YgY29kZSBpbiB1c2VyIHNwYWNlIGFuZCBrZXJuZWwg c3BhY2UKYWNjb3JkaW5nbHkuIEFsc28sIGFjY3VtdWxhdGUgdG90YWwgdGltZSBvZiBhIHZh Y3V1bSB0aGF0IGlzIGEgZGlmZiBiZXR3ZWVuCnRpbWVzdGFtcHMgaW4gc3RhcnQgYW5kIGZp bmlzaCBwb2ludHMgaW4gdGhlIHZhY3V1bSBjb2RlLgpSZW1lbWJlciBhYm91dCBpZGxlIHRp bWUsIHdoZW4gdmFjdXVtIHdhaXRlZCBmb3IgSU8gYW5kIGxvY2tzLCBzbyB0b3RhbCB0aW1l Cmlzbid0IGVxdWFsIGEgc3VtIG9mIHVzZXIgYW5kIHN5c3RlbSB0aW1lLCBidXQgbm8gbGVz cy4KCnBhZ2VzX2Zyb3plbiAtIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMg ZnJvemVuIGluIHZtIGR1cmluZyB2YWN1dW0uClRoaXMgcGFyYW1ldGVyIGlzIGluY3JlbWVu dGVkIGlmIHBhZ2UgaXMgbWFya2VkIGFzIGFsbC1mcm96ZW4uCnBhZ2VzX2FsbF92aXNpYmxl IC0gbnVtYmVyIG9mIHBhZ2VzIHRoYXQgYXJlIG1hcmtlZCBhcyBhbGwtdmlzaWJsZSBpbiB2 bSBkdXJpbmcKdmFjdXVtLgoKQXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNr aW5hQHlhbmRleC5ydT4sCgkgQW5kcmVpIExlcGlraG92IDxhLmxlcGlraG92QHBvc3RncmVz cHJvLnJ1PiwKCSBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0Z3Jlc3Byby5ydT4KUmV2 aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFpbC5jb20+LCBNYXNhaGlr byBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCgkgICAgIElsaWEgRXZkb2tpbW92 IDxpbHlhLmV2ZG9raW1vdkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVy c2FsaXR5QGdtYWlsLmNvbT4sCgkgICAgIEtpcmlsbCBSZXNoa2UgPHJlc2hrZWtpcmlsbEBn bWFpbC5jb20+LCBBbGV4YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPgot LS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAgICAgICAgICB8IDE1 OSArKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1h cC5jICAgICAgIHwgIDEzICsrCiBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwgICAgICAgICAgfCAgNTQgKysrKysKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5j ICAgICAgICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1w YXJhbGxlbC5jICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0LmMgICAgICAgICAgIHwgIDMyICsrLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3JlbGF0aW9uLmMgIHwgIDcyICsrKysrKy0KIHNyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8IDE1NyArKysrKysrKysrKysrKwogc3Jj L2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwgIDEzICsrCiBz cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgMTAgKy0K IHNyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAgICB8ICAgMSAr CiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgODEg KysrKysrLQogc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oICAgICAgICAgICAgICAgICAgICAg IHwgICAxICsKIHNyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oICAgICAgICAg ICB8ICAgMiArLQogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0 ICAgIHwgIDUzICsrKysrCiBzcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxl ICAgICAgICAgfCAgIDEgKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJl YWQuc3BlYyAgIHwgIDUxICsrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29wcl9z YW5pdHkub3V0ICAgICAgfCAgIDcgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVs ZXMub3V0ICAgICAgICAgICB8ICAzNCArKysKIC4uLi9leHBlY3RlZC92YWN1dW1fdGFibGVz X3N0YXRpc3RpY3Mub3V0ICAgICB8IDIwMCArKysrKysrKysrKysrKysrKysKIHNyYy90ZXN0 L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgNSArCiAuLi4vcmVn cmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCAgfCAxNTggKysrKysrKysr KysrKysKIDIyIGZpbGVzIGNoYW5nZWQsIDEwOTIgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVk L3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVw ZXRhYmxlLXJlYWQuc3BlYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9z cmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggZDgyYWEzZDQ4OTYu LmQ2MzMwM2M3ZmI3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1 dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCkBA IC0xNjcsNiArMTY3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCS8qIEVycm9y IHJlcG9ydGluZyBzdGF0ZSAqLwogCWNoYXIJICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxu YW1lc3BhY2U7CisJT2lkCQkJcmVsb2lkOwogCWNoYXIJICAgKnJlbG5hbWU7CiAJY2hhcgkg ICAqaW5kbmFtZTsJCS8qIEN1cnJlbnQgaW5kZXggbmFtZSAqLwogCUJsb2NrTnVtYmVyIGJs a25vOwkJCS8qIHVzZWQgb25seSBmb3IgaGVhcCBvcGVyYXRpb25zICovCkBAIC0xOTQsNiAr MTk1LDggQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCUJsb2NrTnVtYmVyIGxwZGVh ZF9pdGVtX3BhZ2VzOwkvKiAjIHBhZ2VzIHdpdGggTFBfREVBRCBpdGVtcyAqLwogCUJsb2Nr TnVtYmVyIG1pc3NlZF9kZWFkX3BhZ2VzOwkvKiAjIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQg dHVwbGVzICovCiAJQmxvY2tOdW1iZXIgbm9uZW1wdHlfcGFnZXM7IC8qIGFjdHVhbGx5LCBs YXN0IG5vbmVtcHR5IHBhZ2UgKyAxICovCisJQmxvY2tOdW1iZXIgc2V0X2Zyb3plbl9wYWdl czsgLyogcGFnZXMgYXJlIG1hcmtlZCBhcyBmcm96ZW4gaW4gdm0gZHVyaW5nIHZhY3V1bSAq LworCUJsb2NrTnVtYmVyIHNldF9hbGxfdmlzaWJsZV9wYWdlczsJLyogcGFnZXMgYXJlIG1h cmtlZCBhcyBhbGwtdmlzaWJsZSBpbiB2bSBkdXJpbmcgdmFjdXVtICovCiAKIAkvKiBTdGF0 aXN0aWNzIG91dHB1dCBieSB1cywgZm9yIHRhYmxlICovCiAJZG91YmxlCQluZXdfcmVsX3R1 cGxlczsgLyogbmV3IGVzdGltYXRlZCB0b3RhbCAjIG9mIHR1cGxlcyAqLwpAQCAtMjI2LDYg KzIyOSwyMiBAQCB0eXBlZGVmIHN0cnVjdCBMVlNhdmVkRXJySW5mbwogCVZhY0VyclBoYXNl IHBoYXNlOwogfSBMVlNhdmVkRXJySW5mbzsKIAorLyoKKyAqIEN1dC1vZmYgdmFsdWVzIG9m IHBhcmFtZXRlcnMgd2hpY2ggY2hhbmdlcyBpbXBsaWNpdGx5IGR1cmluZyBhIHZhY3V1bQor ICogcHJvY2Vzcy4KKyAqIFZhY3V1bSBjYW4ndCBjb250cm9sIHRoZWlyIHZhbHVlcywgc28g d2Ugc2hvdWxkIHN0b3JlIHRoZW0gYmVmb3JlIGFuZCBhZnRlcgorICogdGhlIHByb2Nlc3Np bmcuCisgKi8KK3R5cGVkZWYgc3RydWN0IExWRXh0U3RhdENvdW50ZXJzCit7CisJVGltZXN0 YW1wVHogdGltZTsKKwlQR1JVc2FnZQlydTsKKwlXYWxVc2FnZQl3YWx1c2FnZTsKKwlCdWZm ZXJVc2FnZSBidWZ1c2FnZTsKKwlkb3VibGUJCVZhY3V1bURlbGF5VGltZTsKKwlQZ1N0YXRf Q291bnRlciBibG9ja3NfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0Owor fSBMVkV4dFN0YXRDb3VudGVyczsKIAogLyogbm9uLWV4cG9ydCBmdW5jdGlvbiBwcm90b3R5 cGVzICovCiBzdGF0aWMgdm9pZCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwp OwpAQCAtMjc5LDYgKzI5OCwxMTUgQEAgc3RhdGljIHZvaWQgdXBkYXRlX3ZhY3V1bV9lcnJv cl9pbmZvKExWUmVsU3RhdGUgKnZhY3JlbCwKIHN0YXRpYyB2b2lkIHJlc3RvcmVfdmFjdXVt X2Vycm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogCQkJCQkJCQkJICBjb25zdCBMVlNh dmVkRXJySW5mbyAqc2F2ZWRfdmFjcmVsKTsKIAorLyogLS0tLS0tLS0tLQorICogZXh0dmFj X3N0YXRzX3N0YXJ0KCkgLQorICoKKyAqIFNhdmUgY3V0LW9mZiB2YWx1ZXMgb2YgZXh0ZW5k ZWQgdmFjdXVtIGNvdW50ZXJzIGJlZm9yZSBzdGFydCBvZiBhIHJlbGF0aW9uCisgKiBwcm9j ZXNzaW5nLgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZAorZXh0dmFjX3N0YXRz X3N0YXJ0KFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNvdW50ZXJzKQorewor CVRpbWVzdGFtcFR6CXN0YXJ0dGltZTsKKwlQR1JVc2FnZQlydTA7CisKKwltZW1zZXQoY291 bnRlcnMsIDAsIHNpemVvZihMVkV4dFN0YXRDb3VudGVycykpOworCisJcGdfcnVzYWdlX2lu aXQoJnJ1MCk7CisJc3RhcnR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOworCisJY291 bnRlcnMtPnJ1ID0gcnUwOworCWNvdW50ZXJzLT50aW1lID0gc3RhcnR0aW1lOworCWNvdW50 ZXJzLT53YWx1c2FnZSA9IHBnV2FsVXNhZ2U7CisJY291bnRlcnMtPmJ1ZnVzYWdlID0gcGdC dWZmZXJVc2FnZTsKKwljb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lID0gVmFjdXVtRGVsYXlU aW1lOworCWNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZCA9IDA7CisJY291bnRlcnMtPmJsb2Nr c19oaXQgPSAwOworCisJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFwZ3N0YXRfdHJhY2tf Y291bnRzKQorCQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBvciBhbiB1c2Vy IGRvZXNuJ3Qgd2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5IC0ganVz dCBzdXBwcmVzcyBpdC4KKwkJICovCisJCXJldHVybjsKKworCWNvdW50ZXJzLT5ibG9ja3Nf ZmV0Y2hlZCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hlZDsKKwlj b3VudGVycy0+YmxvY2tzX2hpdCA9IHJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3Nf aGl0OworfQorCisvKiAtLS0tLS0tLS0tCisgKiBleHR2YWNfc3RhdHNfZW5kKCkgLQorICoK KyAqCUNhbGxlZCB0byBmaW5pc2ggYW4gZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpYyBnYXRo ZXJpbmcgYW5kIGZvcm0gYSByZXBvcnQuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2 b2lkCitleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMg KmNvdW50ZXJzLAorCQkJCSAgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJV2FsVXNhZ2UJ d2FsdXNhZ2U7CisJQnVmZmVyVXNhZ2UJYnVmdXNhZ2U7CisJVGltZXN0YW1wVHogZW5kdGlt ZTsKKwlsb25nCQlzZWNzOworCWludAkJCXVzZWNzOworCVBHUlVzYWdlCXJ1MTsKKworCS8q IENhbGN1bGF0ZSBkaWZmcyBvZiBnbG9iYWwgc3RhdCBwYXJhbWV0ZXJzIG9uIFdBTCBhbmQg YnVmZmVyIHVzYWdlLiAqLworCW1lbXNldCgmd2FsdXNhZ2UsIDAsIHNpemVvZihXYWxVc2Fn ZSkpOworCVdhbFVzYWdlQWNjdW1EaWZmKCZ3YWx1c2FnZSwgJnBnV2FsVXNhZ2UsICZjb3Vu dGVycy0+d2FsdXNhZ2UpOworCisJbWVtc2V0KCZidWZ1c2FnZSwgMCwgc2l6ZW9mKEJ1ZmZl clVzYWdlKSk7CisJQnVmZmVyVXNhZ2VBY2N1bURpZmYoJmJ1ZnVzYWdlLCAmcGdCdWZmZXJV c2FnZSwgJmNvdW50ZXJzLT5idWZ1c2FnZSk7CisKKwllbmR0aW1lID0gR2V0Q3VycmVudFRp bWVzdGFtcCgpOworCVRpbWVzdGFtcERpZmZlcmVuY2UoY291bnRlcnMtPnRpbWUsIGVuZHRp bWUsICZzZWNzLCAmdXNlY3MpOworCisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZh Y1JlcG9ydCkpOworCisJLyoKKwkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGljcyBvbiBh IHZhY3V1bSBwcm9jZXNzaW5nIG9wZXJhdGlvbi4KKwkgKi8KKwlyZXBvcnQtPnRvdGFsX2Js a3NfcmVhZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9i bGtzX3JlYWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2hpdCA9IGJ1ZnVzYWdlLmxvY2FsX2Js a3NfaGl0ICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfaGl0OworCXJlcG9ydC0+dG90YWxfYmxr c19kaXJ0aWVkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hh cmVkX2Jsa3NfZGlydGllZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiA9IGJ1ZnVz YWdlLnNoYXJlZF9ibGtzX3dyaXR0ZW47CisKKwlyZXBvcnQtPndhbF9yZWNvcmRzID0gd2Fs dXNhZ2Uud2FsX3JlY29yZHM7CisJcmVwb3J0LT53YWxfZnBpID0gd2FsdXNhZ2Uud2FsX2Zw aTsKKwlyZXBvcnQtPndhbF9ieXRlcyA9IHdhbHVzYWdlLndhbF9ieXRlczsKKworCXJlcG9y dC0+YmxrX3JlYWRfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxv Y2FsX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3JlYWRfdGltZSArPSBJTlNUUl9U SU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3JlYWRfdGltZSk7CisJcmVw b3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdl LmxvY2FsX2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1lID0gSU5T VFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa193cml0ZV90aW1lKTsK KwlyZXBvcnQtPmRlbGF5X3RpbWUgPSBWYWN1dW1EZWxheVRpbWUgLSBjb3VudGVycy0+VmFj dXVtRGVsYXlUaW1lOworCisJLyoKKwkgKiBHZXQgZGlmZmVyZW5jZSBvZiBhIHN5c3RlbSB0 aW1lIGFuZCB1c2VyIHRpbWUgdmFsdWVzIGluIG1pbGxpc2Vjb25kcy4KKwkgKiBVc2UgZmxv YXRpbmcgcG9pbnQgcmVwcmVzZW50YXRpb24gdG8gc2hvdyB0YWlscyBvZiB0aW1lIGRpZmZz LgorCSAqLworCXBnX3J1c2FnZV9pbml0KCZydTEpOworCXJlcG9ydC0+c3lzdGVtX3RpbWUg PQorCQkocnUxLnJ1LnJ1X3N0aW1lLnR2X3NlYyAtIGNvdW50ZXJzLT5ydS5ydS5ydV9zdGlt ZS50dl9zZWMpICogMTAwMC4gKworCQkocnUxLnJ1LnJ1X3N0aW1lLnR2X3VzZWMgLSBjb3Vu dGVycy0+cnUucnUucnVfc3RpbWUudHZfdXNlYykgKiAwLjAwMTsKKwlyZXBvcnQtPnVzZXJf dGltZSA9CisJCShydTEucnUucnVfdXRpbWUudHZfc2VjIC0gY291bnRlcnMtPnJ1LnJ1LnJ1 X3V0aW1lLnR2X3NlYykgKiAxMDAwLiArCisJCShydTEucnUucnVfdXRpbWUudHZfdXNlYyAt IGNvdW50ZXJzLT5ydS5ydS5ydV91dGltZS50dl91c2VjKSAqIDAuMDAxOworCXJlcG9ydC0+ dG90YWxfdGltZSA9IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8gMTAwMC47CisKKwlpZiAoIXJl bC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3VudHMpCisJCS8qCisJCSAqIGlm IHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3YW50IHRvIHRyYWNr IGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0LgorCQkgKi8K KwkJcmV0dXJuOworCisJcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQorCQlyZWwtPnBnc3RhdF9p bmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3VudGVycy0+YmxvY2tzX2ZldGNoZWQ7 CisJcmVwb3J0LT5ibGtzX2hpdCA9CisJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9j a3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7Cit9CiAKIC8qCiAgKgloZWFwX3ZhY3V1 bV9yZWwoKSAtLSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24KQEAgLTMx MSw2ICs0MzksOCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJh bXMgKnBhcmFtcywKIAlXYWxVc2FnZQlzdGFydHdhbHVzYWdlID0gcGdXYWxVc2FnZTsKIAlC dWZmZXJVc2FnZSBzdGFydGJ1ZmZlcnVzYWdlID0gcGdCdWZmZXJVc2FnZTsKIAlFcnJvckNv bnRleHRDYWxsYmFjayBlcnJjYWxsYmFjazsKKwlMVkV4dFN0YXRDb3VudGVycyBleHRWYWND b3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OwogCWNoYXIJICAqKmluZG5h bWVzID0gTlVMTDsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFDT1BUX1ZF UkJPU0UpICE9IDA7CkBAIC0zMjksNyArNDU5LDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0 aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3Rh cnRfY29tbWFuZChQUk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBSZWxhdGlv bkdldFJlbGlkKHJlbCkpOwotCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmV4dFZhY0Nv dW50ZXJzKTsKIAkvKgogCSAqIFNldHVwIGVycm9yIHRyYWNlYmFjayBzdXBwb3J0IGZvciBl cmVwb3J0KCkgZmlyc3QuICBUaGUgaWRlYSBpcyB0byBzZXQKIAkgKiB1cCBhbiBlcnJvciBj b250ZXh0IGNhbGxiYWNrIHRvIGRpc3BsYXkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBh bnkKQEAgLTM0Niw2ICs0NzYsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBW YWN1dW1QYXJhbXMgKnBhcmFtcywKIAl2YWNyZWwtPmRibmFtZSA9IGdldF9kYXRhYmFzZV9u YW1lKE15RGF0YWJhc2VJZCk7CiAJdmFjcmVsLT5yZWxuYW1lc3BhY2UgPSBnZXRfbmFtZXNw YWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSk7CiAJdmFjcmVsLT5yZWxuYW1l ID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKTsKKwl2YWNyZWwtPnJl bG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQocmVsKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBOVUxM OwogCXZhY3JlbC0+cGhhc2UgPSBWQUNVVU1fRVJSQ0JfUEhBU0VfVU5LTk9XTjsKIAl2YWNy ZWwtPnZlcmJvc2UgPSB2ZXJib3NlOwpAQCAtNDEzLDYgKzU0NCw4IEBAIGhlYXBfdmFjdXVt X3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3JlbC0+bHBk ZWFkX2l0ZW1fcGFnZXMgPSAwOwogCXZhY3JlbC0+bWlzc2VkX2RlYWRfcGFnZXMgPSAwOwog CXZhY3JlbC0+bm9uZW1wdHlfcGFnZXMgPSAwOworCXZhY3JlbC0+c2V0X2Zyb3plbl9wYWdl cyA9IDA7CisJdmFjcmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXMgPSAwOwogCS8qIGRlYWRf aXRlbXNfYWxsb2MgYWxsb2NhdGVzIHZhY3JlbC0+ZGVhZF9pdGVtcyBsYXRlciBvbiAqLwog CiAJLyogQWxsb2NhdGUvaW5pdGlhbGl6ZSBvdXRwdXQgc3RhdGlzdGljcyBzdGF0ZSAqLwpA QCAtNTc0LDYgKzcwNywxOSBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1 dW1QYXJhbXMgKnBhcmFtcywKIAkJCQkJCXZhY3JlbC0+TmV3UmVsZnJvemVuWGlkLCB2YWNy ZWwtPk5ld1JlbG1pbk14aWQsCiAJCQkJCQkmZnJvemVueGlkX3VwZGF0ZWQsICZtaW5tdWx0 aV91cGRhdGVkLCBmYWxzZSk7CiAKKwkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVt IHN0YXRzIHJlcG9ydCAqLworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRl cnMsICZleHRWYWNSZXBvcnQpOworCisJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVk IHN0YXRzIGZpZWxkcyAqLworCWV4dFZhY1JlcG9ydC5wYWdlc19zY2FubmVkID0gdmFjcmVs LT5zY2FubmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVs LT5yZW1vdmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19mcm96ZW4gPSB2YWNyZWwt PnNldF9mcm96ZW5fcGFnZXM7CisJZXh0VmFjUmVwb3J0LnBhZ2VzX2FsbF92aXNpYmxlID0g dmFjcmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXM7CisJZXh0VmFjUmVwb3J0LnR1cGxlc19k ZWxldGVkID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwlleHRWYWNSZXBvcnQudHVwbGVz X2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwlleHRWYWNSZXBvcnQuZGVhZF90 dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsgdmFjcmVsLT5taXNzZWRf ZGVhZF90dXBsZXM7CisJZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9jb3VudCA9IHZhY3Jl bC0+bnVtX2luZGV4X3NjYW5zOworCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0byB0aGUg Y3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KIAkgKgpAQCAtNTg4LDcgKzczNCw4IEBA IGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAog CQkJCQkJIHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKIAkJCQkJCSBNYXgodmFjcmVsLT5u ZXdfbGl2ZV90dXBsZXMsIDApLAogCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBs ZXMgKwotCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzKTsKKwkJCQkJCSB2YWNy ZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKKwkJCQkJCSAmZXh0VmFjUmVwb3J0KTsKIAlwZ3N0 YXRfcHJvZ3Jlc3NfZW5kX2NvbW1hbmQoKTsKIAogCWlmIChpbnN0cnVtZW50KQpAQCAtMTM4 MCw2ICsxNTI3LDggQEAgbGF6eV9zY2FuX25ld19vcl9lbXB0eShMVlJlbFN0YXRlICp2YWNy ZWwsIEJ1ZmZlciBidWYsIEJsb2NrTnVtYmVyIGJsa25vLAogCQkJCQkJCSAgdm1idWZmZXIs IEludmFsaWRUcmFuc2FjdGlvbklkLAogCQkJCQkJCSAgVklTSUJJTElUWU1BUF9BTExfVklT SUJMRSB8IFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTik7CiAJCQlFTkRfQ1JJVF9TRUNUSU9O KCk7CisJCQl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlcysrOworCQkJdmFjcmVsLT5z ZXRfZnJvemVuX3BhZ2VzKys7CiAJCX0KIAogCQlmcmVlc3BhY2UgPSBQYWdlR2V0SGVhcEZy ZWVTcGFjZShwYWdlKTsKQEAgLTIyNzcsMTEgKzI0MjYsMTMgQEAgbGF6eV92YWN1dW1faGVh cF9wYWdlKExWUmVsU3RhdGUgKnZhY3JlbCwgQmxvY2tOdW1iZXIgYmxrbm8sIEJ1ZmZlciBi dWZmZXIsCiAJCQkJCQkJCSAmYWxsX2Zyb3plbikpCiAJewogCQl1aW50OAkJZmxhZ3MgPSBW SVNJQklMSVRZTUFQX0FMTF9WSVNJQkxFOworCQl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9w YWdlcysrOwogCiAJCWlmIChhbGxfZnJvemVuKQogCQl7CiAJCQlBc3NlcnQoIVRyYW5zYWN0 aW9uSWRJc1ZhbGlkKHZpc2liaWxpdHlfY3V0b2ZmX3hpZCkpOwogCQkJZmxhZ3MgfD0gVklT SUJJTElUWU1BUF9BTExfRlJPWkVOOworCQkJdmFjcmVsLT5zZXRfZnJvemVuX3BhZ2VzKys7 CiAJCX0KIAogCQlQYWdlU2V0QWxsVmlzaWJsZShwYWdlKTsKQEAgLTMxMjIsNiArMzI3Myw4 IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNoIChlcnJpbmZv LT5waGFzZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVBUDoKKwkJ CWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKGVycmluZm8tPnJlbG9pZCk7CiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVy cmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJp bmZvLT5vZmZudW0pKQpAQCAtMzEzNyw2ICszMjkwLDggQEAgdmFjdXVtX2Vycm9yX2NhbGxi YWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNF X1ZBQ1VVTV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdz dGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkKTsKIAkJCWlmIChCbG9j a051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChPZmZzZXRO dW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC92aXNpYmlsaXR5bWFwLmMKaW5kZXggOGIyNGU3YmMzM2MuLmQ3MmNhZGU2MGE0IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKKysrIGIv c3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jCkBAIC05MSw2ICs5MSw3 IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKICNpbmNsdWRlICJhY2Nlc3Mv eGxvZ3V0aWxzLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0 LmgiCiAjaW5jbHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUgInN0b3JhZ2Uv YnVmbWdyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zbWdyLmgiCkBAIC0xNjAsNiArMTYxLDE4 IEBAIHZpc2liaWxpdHltYXBfY2xlYXIoUmVsYXRpb24gcmVsLCBCbG9ja051bWJlciBoZWFw QmxrLCBCdWZmZXIgdm1idWYsIHVpbnQ4IGZsYWdzCiAKIAlpZiAobWFwW21hcEJ5dGVdICYg bWFzaykKIAl7CisJCS8qCisJCSAqIEluaXRpYWxseSwgaXQgZGlkbid0IG1hdHRlciB3aGF0 IHR5cGUgb2YgZmxhZ3MgKGFsbC12aXNpYmxlIG9yIGZyb3plbikgd2UgcmVjZWl2ZWQsCisJ CSAqIHdlIGp1c3QgcGVyZm9ybWVkIGEgcmV2ZXJzZSBjb25jYXRlbmF0aW9uIG9wZXJhdGlv bi4gQnV0IHRoaXMgaW5mb3JtYXRpb24gaXMgdmVyeSBpbXBvcnRhbnQKKwkJICogZm9yIHZh Y3V1bSBzdGF0aXN0aWNzLiBXZSBuZWVkIHRvIGZpbmQgb3V0IHRoaXMgdXNpbmd0aGUgYml0 IGNvbmNhdGVuYXRpb24gb3BlcmF0aW9uCisJCSAqIHdpdGggdGhlIFZJU0lCSUxJVFlNQVBf QUxMX1ZJU0lCTEUgYW5kIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTiBtYXNrcywKKwkJICog YW5kIHdoZXJlIHRoZSBkZXNpcmVkIG9uZSBtYXRjaGVzLCB3ZSBpbmNyZW1lbnQgdGhlIHZh bHVlIHRoZXJlLgorCQkqLworCQlpZiAobWFwW21hcEJ5dGVdID4+IG1hcE9mZnNldCAmIGZs YWdzICYgVklTSUJJTElUWU1BUF9BTExfVklTSUJMRSkKKwkJCXBnc3RhdF9jb3VudF92bV9y ZXZfYWxsX3Zpc2libGUocmVsKTsKKwkJaWYgKG1hcFttYXBCeXRlXSA+PiBtYXBPZmZzZXQg JiBmbGFncyAmIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTikKKwkJCXBnc3RhdF9jb3VudF92 bV9yZXZfYWxsX2Zyb3plbihyZWwpOworCiAJCW1hcFttYXBCeXRlXSAmPSB+bWFzazsKIAog CQlNYXJrQnVmZmVyRGlydHkodm1idWYpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCmluZGV4IDdmZDVkMjU2YTE4Li4zMWJlN2YwNDQ3NiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtMTM3NywzICsxMzc3LDU3IEBAIENSRUFURSBW SUVXIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3N0YXRzIEFTCiAKIENSRUFURSBWSUVXIHBnX3dh aXRfZXZlbnRzIEFTCiAgICAgU0VMRUNUICogRlJPTSBwZ19nZXRfd2FpdF9ldmVudHMoKTsK Ky0tCistLSBTaG93IGV4dGVuZGVkIGN1bXVsYXRpdmUgc3RhdGlzdGljcyBvbiBhIHZhY3V1 bSBvcGVyYXRpb24gb3ZlciBhbGwgdGFibGVzIGFuZAorLS0gZGF0YWJhc2VzIG9mIHRoZSBp bnN0YW5jZS4KKy0tIFVzZSBJbnZhbGlkIE9pZCAiMCIgYXMgYW4gaW5wdXQgcmVsYXRpb24g aWQgdG8gZ2V0IHN0YXQgb24gZWFjaCB0YWJsZSBpbiBhCistLSBkYXRhYmFzZS4KKy0tCisK K0NSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBBUworU0VMRUNUCisgIHJlbC5v aWQgYXMgcmVsaWQsCisgIG5zLm5zcG5hbWUgQVMgInNjaGVtYSIsCisgIHJlbC5yZWxuYW1l IEFTIHJlbG5hbWUsCisKKyAgc3RhdHMudG90YWxfYmxrc19yZWFkLAorICBzdGF0cy50b3Rh bF9ibGtzX2hpdCwKKyAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLAorICBzdGF0cy50b3Rh bF9ibGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMucmVsX2Jsa3NfcmVhZCwKKyAgc3RhdHMucmVs X2Jsa3NfaGl0LAorCisgIHN0YXRzLnBhZ2VzX3NjYW5uZWQsCisgIHN0YXRzLnBhZ2VzX3Jl bW92ZWQsCisgIHN0YXRzLnBhZ2VzX2Zyb3plbiwKKyAgc3RhdHMucGFnZXNfYWxsX3Zpc2li bGUsCisgIHN0YXRzLnR1cGxlc19kZWxldGVkLAorICBzdGF0cy50dXBsZXNfZnJvemVuLAor ICBzdGF0cy5kZWFkX3R1cGxlcywKKworICBzdGF0cy5pbmRleF92YWN1dW1fY291bnQsCisg IHN0YXRzLnJldl9hbGxfZnJvemVuX3BhZ2VzLAorICBzdGF0cy5yZXZfYWxsX3Zpc2libGVf cGFnZXMsCisKKyAgc3RhdHMud2FsX3JlY29yZHMsCisgIHN0YXRzLndhbF9mcGksCisgIHN0 YXRzLndhbF9ieXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lLAorICBzdGF0cy5ibGtf d3JpdGVfdGltZSwKKworICBzdGF0cy5kZWxheV90aW1lLAorICBzdGF0cy5zeXN0ZW1fdGlt ZSwKKyAgc3RhdHMudXNlcl90aW1lLAorICBzdGF0cy50b3RhbF90aW1lLAorICBzdGF0cy5p bnRlcnJ1cHRzCitGUk9NCisgIHBnX2RhdGFiYXNlIGRiLAorICBwZ19jbGFzcyByZWwsCisg IHBnX25hbWVzcGFjZSBucywKKyAgcGdfc3RhdF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0 YXRzCitXSEVSRQorICBkYi5kYXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpIEFORAorICBy ZWwub2lkID0gc3RhdHMucmVsaWQgQU5ECisgIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2U7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCmluZGV4IDdkOGU5ZDIwNDU0Li4zNjM5MjRkMDBkYiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKKysrIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKQEAgLTEwMyw2ICsxMDMsOSBAQCBwZ19hdG9taWNf dWludDMyICpWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZSA9IE5VTEw7CiBwZ19hdG9taWNfdWlu dDMyICpWYWN1dW1BY3RpdmVOV29ya2VycyA9IE5VTEw7CiBpbnQJCQlWYWN1dW1Db3N0QmFs YW5jZUxvY2FsID0gMDsKIAorLyogQ3VtdWxhdGl2ZSBzdG9yYWdlIHRvIHJlcG9ydCB0b3Rh bCB2YWN1dW0gZGVsYXkgdGltZS4gKi8KK2RvdWJsZSBWYWN1dW1EZWxheVRpbWUgPSAwOyAv KiBtc2VjLiAqLworCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0 YXRpYyBMaXN0ICpleHBhbmRfdmFjdXVtX3JlbChWYWN1dW1SZWxhdGlvbiAqdnJlbCwKIAkJ CQkJCQkgICBNZW1vcnlDb250ZXh0IHZhY19jb250ZXh0LCBpbnQgb3B0aW9ucyk7CkBAIC0y Mzk0LDYgKzIzOTcsNyBAQCB2YWN1dW1fZGVsYXlfcG9pbnQodm9pZCkKIAkJCWV4aXQoMSk7 CiAKIAkJVmFjdXVtQ29zdEJhbGFuY2UgPSAwOworCQlWYWN1dW1EZWxheVRpbWUgKz0gbXNl YzsKIAogCQkvKgogCQkgKiBCYWxhbmNlIGFuZCB1cGRhdGUgbGltaXQgdmFsdWVzIGZvciBh dXRvdmFjdXVtIHdvcmtlcnMuIFdlIG11c3QgZG8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1 dW1wYXJhbGxlbC5jCmluZGV4IDIyYzA1N2ZlNjFiLi4xM2FiNjMzMDg2YSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC0xMDQzLDYgKzEwNDMsNyBAQCBw YXJhbGxlbF92YWN1dW1fbWFpbihkc21fc2VnbWVudCAqc2VnLCBzaG1fdG9jICp0b2MpCiAJ LyogU2V0IGNvc3QtYmFzZWQgdmFjdXVtIGRlbGF5ICovCiAJVmFjdXVtVXBkYXRlQ29zdHMo KTsKIAlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJVmFjdXVtRGVsYXlUaW1lID0gMDsKIAlW YWN1dW1Db3N0QmFsYW5jZUxvY2FsID0gMDsKIAlWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZSA9 ICYoc2hhcmVkLT5jb3N0X2JhbGFuY2UpOwogCVZhY3V1bUFjdGl2ZU5Xb3JrZXJzID0gJihz aGFyZWQtPmFjdGl2ZV9ud29ya2Vycyk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dC5jCmluZGV4IGIyY2EzZjM5YjdhLi44MDhhNWYxNWM4MiAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0LmMKQEAgLTE5MCw3ICsxOTAsNyBAQCBzdGF0aWMgdm9pZCBwZ3N0 YXRfcmVzZXRfYWZ0ZXJfZmFpbHVyZSh2b2lkKTsKIHN0YXRpYyBib29sIHBnc3RhdF9mbHVz aF9wZW5kaW5nX2VudHJpZXMoYm9vbCBub3dhaXQpOwogCiBzdGF0aWMgdm9pZCBwZ3N0YXRf cHJlcF9zbmFwc2hvdCh2b2lkKTsKLXN0YXRpYyB2b2lkIHBnc3RhdF9idWlsZF9zbmFwc2hv dCh2b2lkKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9idWlsZF9zbmFwc2hvdChQZ1N0YXRfS2lu ZCBzdGF0S2luZCk7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRfc25hcHNob3RfZml4ZWQo UGdTdGF0X0tpbmQga2luZCk7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBwZ3N0YXRfaXNfa2lu ZF92YWxpZChQZ1N0YXRfS2luZCBraW5kKTsKQEAgLTI2MCw3ICsyNjAsNiBAQCBzdGF0aWMg Ym9vbCBwZ3N0YXRfaXNfaW5pdGlhbGl6ZWQgPSBmYWxzZTsKIHN0YXRpYyBib29sIHBnc3Rh dF9pc19zaHV0ZG93biA9IGZhbHNlOwogI2VuZGlmCiAKLQogLyoKICAqIFRoZSBkaWZmZXJl bnQga2luZHMgb2YgYnVpbHQtaW4gc3RhdGlzdGljcy4KICAqCkBAIC04MzAsNyArODI5LDYg QEAgcGdzdGF0X3Jlc2V0X29mX2tpbmQoUGdTdGF0X0tpbmQga2luZCkKIAkJcGdzdGF0X3Jl c2V0X2VudHJpZXNfb2Zfa2luZChraW5kLCB0cyk7CiB9CiAKLQogLyogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBG ZXRjaGluZyBvZiBzdGF0cwogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC04OTYsNyArODk0LDcgQEAgcGdzdGF0 X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9pZCwgT2lkIG9iam9pZCkK IAogCS8qIGlmIHdlIG5lZWQgdG8gYnVpbGQgYSBmdWxsIHNuYXBzaG90LCBkbyBzbyAqLwog CWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJU1RF TkNZX1NOQVBTSE9UKQotCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoKTsKKwkJcGdzdGF0X2J1 aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX0lOVkFMSUQpOwogCiAJLyogaWYgY2FjaGluZyBp cyBkZXNpcmVkLCBsb29rIHVwIGluIGNhY2hlICovCiAJaWYgKHBnc3RhdF9mZXRjaF9jb25z aXN0ZW5jeSA+IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9OT05FKQpAQCAtMTAxMiw3ICsx MDEwLDcgQEAgcGdzdGF0X3NuYXBzaG90X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpCiAJCXBn c3RhdF9jbGVhcl9zbmFwc2hvdCgpOwogCiAJaWYgKHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5j eSA9PSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05BUFNIT1QpCi0JCXBnc3RhdF9idWls ZF9zbmFwc2hvdCgpOworCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRfSU5W QUxJRCk7CiAJZWxzZQogCQlwZ3N0YXRfYnVpbGRfc25hcHNob3RfZml4ZWQoa2luZCk7CiAK QEAgLTEwNjIsOCArMTA2MCwzMCBAQCBwZ3N0YXRfcHJlcF9zbmFwc2hvdCh2b2lkKQogCQkJ CQkJCSAgIE5VTEwpOwogfQogCisKKy8qCisgKiBUcml2aWFsIGV4dGVybmFsIGludGVyZmFj ZSB0byBidWlsZCBhIHNuYXBzaG90IGZvciB0YWJsZSBzdGF0aXN0aWNzIG9ubHkuCisgKi8K K3ZvaWQKK3Bnc3RhdF91cGRhdGVfc25hcHNob3QoUGdTdGF0X0tpbmQga2luZCkKK3sKKwlp bnQgc2F2ZV9jb25zaXN0ZW5jeV9ndWMgPSBwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3k7CisJ cGdzdGF0X2NsZWFyX3NuYXBzaG90KCk7CisKKwlQR19UUlkoKTsKKwl7CisJCXBnc3RhdF9m ZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVDsK KwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKKwl9CisJ UEdfRklOQUxMWSgpOworCXsKKwkJcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID0gc2F2ZV9j b25zaXN0ZW5jeV9ndWM7CisJfQorCVBHX0VORF9UUlkoKTsKK30KKwogc3RhdGljIHZvaWQK LXBnc3RhdF9idWlsZF9zbmFwc2hvdCh2b2lkKQorcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBn U3RhdF9LaW5kIHN0YXRLaW5kKQogewogCWRzaGFzaF9zZXFfc3RhdHVzIGhzdGF0OwogCVBn U3RhdFNoYXJlZF9IYXNoRW50cnkgKnA7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IDhhM2Y3ZDQzNGNmLi43OTFkNzc3ZmJjNiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9u LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMK QEAgLTQ4LDYgKzQ4LDggQEAgc3RhdGljIHZvaWQgYWRkX3RhYnN0YXRfeGFjdF9sZXZlbChQ Z1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvLCBpbnQgbmVzdF9sZXYKIHN0YXRpYyB2 b2lkIGVuc3VyZV90YWJzdGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0 YXRfaW5mbyk7CiBzdGF0aWMgdm9pZCBzYXZlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRf VGFibGVYYWN0U3RhdHVzICp0cmFucywgYm9vbCBpc19kcm9wKTsKIHN0YXRpYyB2b2lkIHJl c3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5z KTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNS ZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJCQkJCQkJICAgYm9vbCBhY2N1bXVs YXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbyk7CiAKIAogLyoKQEAgLTIwNCwxMiArMjA2LDQw IEBAIHBnc3RhdF9kcm9wX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkKIAl9CiB9CiAKKy8qIC0t LS0tLS0tLQorICogcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKSAtCisgKgorICoJVGVs bCB0aGUgY29sbGVjdG9yIGFib3V0IGFuIChhdXRvKXZhY3V1bSBpbnRlcnJ1cHRpb24uCisg KiAtLS0tLS0tLS0KKyAqLwordm9pZAorcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lk IHRhYmxlb2lkKQoreworCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOworCVBnU3RhdFNo YXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKKwlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJl bnRyeTsKKwlPaWQJCQlkYm9pZCA9ICBNeURhdGFiYXNlSWQ7CisKKwlpZiAoIXBnc3RhdF90 cmFja19jb3VudHMpCisJCXJldHVybjsKKworCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50 cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9SRUxBVElPTiwKKwkJCQkJCQkJCQkJZGJvaWQs IHRhYmxlb2lkLCBmYWxzZSk7CisKKwlzaHRhYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9SZWxh dGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKwl0YWJlbnRyeSA9ICZzaHRhYmVu dHJ5LT5zdGF0czsKKworCXRhYmVudHJ5LT52YWN1dW1fZXh0LmludGVycnVwdHMrKzsKKwlw Z3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7Cit9CisKIC8qCiAgKiBSZXBvcnQgdGhh dCB0aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5kIGZsdXNoIElPIHN0YXRpc3RpY3Mu CiAgKi8KIHZvaWQKIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBz aGFyZWQsCi0JCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291bnRl ciBkZWFkdHVwbGVzKQorCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0 X0NvdW50ZXIgZGVhZHR1cGxlcywKKwkJCQkJIEV4dFZhY1JlcG9ydCAqcGFyYW1zKQogewog CVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAq c2h0YWJlbnRyeTsKQEAgLTIzMyw2ICsyNjMsOCBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShP aWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCXRhYmVudHJ5LT5saXZlX3R1cGxlcyA9IGxp dmV0dXBsZXM7CiAJdGFiZW50cnktPmRlYWRfdHVwbGVzID0gZGVhZHR1cGxlczsKIAorCXBn c3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFiZW50cnktPnZhY3V1bV9leHQsIHBh cmFtcywgdHJ1ZSk7CisKIAkvKgogCSAqIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQgYSBu b24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tpcHBpbmcKIAkgKiB2YXJpb3VzIHBh Z2VzLCBob3dldmVyLCB3ZSdsbCB6ZXJvIHRoZSBpbnNlcnQgY291bnRlciBoZXJlIHJlZ2Fy ZGxlc3MuCkBAIC04NjEsNiArODkzLDkgQEAgcGdzdGF0X3JlbGF0aW9uX2ZsdXNoX2NiKFBn U3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCkKIAl0YWJlbnRyeS0+Ymxv Y2tzX2ZldGNoZWQgKz0gbHN0YXRzLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQ7CiAJdGFiZW50 cnktPmJsb2Nrc19oaXQgKz0gbHN0YXRzLT5jb3VudHMuYmxvY2tzX2hpdDsKIAorCXRhYmVu dHJ5LT5yZXZfYWxsX2Zyb3plbl9wYWdlcyArPSBsc3RhdHMtPmNvdW50cy5yZXZfYWxsX2Zy b3plbl9wYWdlczsKKwl0YWJlbnRyeS0+cmV2X2FsbF92aXNpYmxlX3BhZ2VzICs9IGxzdGF0 cy0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9wYWdlczsKKwogCS8qIENsYW1wIGxpdmVfdHVw bGVzIGluIGNhc2Ugb2YgbmVnYXRpdmUgZGVsdGFfbGl2ZV90dXBsZXMgKi8KIAl0YWJlbnRy eS0+bGl2ZV90dXBsZXMgPSBNYXgodGFiZW50cnktPmxpdmVfdHVwbGVzLCAwKTsKIAkvKiBM aWtld2lzZSBmb3IgZGVhZF90dXBsZXMgKi8KQEAgLTk4NCwzICsxMDE5LDM4IEBAIHJlc3Rv cmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zKQog CQl0cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSB0cmFucy0+ZGVsZXRlZF9wcmVfdHJ1bmNkcm9w OwogCX0KIH0KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0 cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCisJCQkJCQkJICAgYm9v bCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKK3sKKwlkc3QtPnRvdGFsX2Js a3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsKKwlkc3QtPnRvdGFsX2Jsa3NfaGl0 ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7CisJZHN0LT50b3RhbF9ibGtzX2RpcnRpZWQgKz0g c3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7CisJZHN0LT50b3RhbF9ibGtzX3dyaXR0ZW4gKz0g c3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJZHN0LT53YWxfYnl0ZXMgKz0gc3JjLT53YWxf Ynl0ZXM7CisJZHN0LT53YWxfZnBpICs9IHNyYy0+d2FsX2ZwaTsKKwlkc3QtPndhbF9yZWNv cmRzICs9IHNyYy0+d2FsX3JlY29yZHM7CisJZHN0LT5ibGtfcmVhZF90aW1lICs9IHNyYy0+ YmxrX3JlYWRfdGltZTsKKwlkc3QtPmJsa193cml0ZV90aW1lICs9IHNyYy0+YmxrX3dyaXRl X3RpbWU7CisJZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ZGVsYXlfdGltZTsKKwlkc3QtPnN5 c3RlbV90aW1lICs9IHNyYy0+c3lzdGVtX3RpbWU7CisJZHN0LT51c2VyX3RpbWUgKz0gc3Jj LT51c2VyX3RpbWU7CisJZHN0LT50b3RhbF90aW1lICs9IHNyYy0+dG90YWxfdGltZTsKKwlk c3QtPmludGVycnVwdHMgKz0gc3JjLT5pbnRlcnJ1cHRzOworCisJaWYgKCFhY2N1bXVsYXRl X3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKKwkJcmV0dXJuOworCisJZHN0LT5ibGtzX2ZldGNo ZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7CisJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3Nf aGl0OworCisJZHN0LT5wYWdlc19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKKwlk c3QtPnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19yZW1vdmVkOworCWRzdC0+cGFnZXNf ZnJvemVuICs9IHNyYy0+cGFnZXNfZnJvemVuOworCWRzdC0+cGFnZXNfYWxsX3Zpc2libGUg Kz0gc3JjLT5wYWdlc19hbGxfdmlzaWJsZTsKKwlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNy Yy0+dHVwbGVzX2RlbGV0ZWQ7CisJZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVz X2Zyb3plbjsKKwlkc3QtPmRlYWRfdHVwbGVzICs9IHNyYy0+ZGVhZF90dXBsZXM7CisJZHN0 LT5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5pbmRleF92YWN1dW1fY291bnQ7Cit9Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVu Y3MuYwppbmRleCA5N2RjMDlhYzBkOS4uMDk2NmMwYmYyOGIgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0zMSw2ICszMSw0MiBAQAogI2luY2x1ZGUgInV0aWxz L2FjbC5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCiAjaW5jbHVkZSAidXRpbHMv dGltZXN0YW1wLmgiCisjaW5jbHVkZSAidXRpbHMvcGdzdGF0X2ludGVybmFsLmgiCisKKy8q IGhhc2ggdGFibGUgZm9yIHN0YXRpc3RpY3Mgc25hcHNob3RzIGVudHJ5ICovCit0eXBlZGVm IHN0cnVjdCBQZ1N0YXRfU25hcHNob3RFbnRyeQoreworCVBnU3RhdF9IYXNoS2V5IGtleTsK KwljaGFyCQlzdGF0dXM7CQkJLyogZm9yIHNpbXBsZWhhc2ggdXNlICovCisJdm9pZAkgICAq ZGF0YTsJCQkvKiB0aGUgc3RhdHMgZGF0YSBpdHNlbGYgKi8KK30gUGdTdGF0X1NuYXBzaG90 RW50cnk7CisKKy8qIC0tLS0tLS0tLS0KKyAqIEJhY2tlbmQtbG9jYWwgSGFzaCBUYWJsZSBE ZWZpbml0aW9ucworICogLS0tLS0tLS0tLQorICovCisKKy8qIGZvciBzdGF0cyBzbmFwc2hv dCBlbnRyaWVzICovCisjZGVmaW5lIFNIX1BSRUZJWCBwZ3N0YXRfc25hcHNob3QKKyNkZWZp bmUgU0hfRUxFTUVOVF9UWVBFIFBnU3RhdF9TbmFwc2hvdEVudHJ5CisjZGVmaW5lIFNIX0tF WV9UWVBFIFBnU3RhdF9IYXNoS2V5CisjZGVmaW5lIFNIX0tFWSBrZXkKKyNkZWZpbmUgU0hf SEFTSF9LRVkodGIsIGtleSkgXAorCXBnc3RhdF9oYXNoX2hhc2hfa2V5KCZrZXksIHNpemVv ZihQZ1N0YXRfSGFzaEtleSksIE5VTEwpCisjZGVmaW5lIFNIX0VRVUFMKHRiLCBhLCBiKSBc CisJcGdzdGF0X2NtcF9oYXNoX2tleSgmYSwgJmIsIHNpemVvZihQZ1N0YXRfSGFzaEtleSks IE5VTEwpID09IDAKKyNkZWZpbmUgU0hfU0NPUEUgc3RhdGljIGlubGluZQorI2RlZmluZSBT SF9ERUZJTkUKKyNkZWZpbmUgU0hfREVDTEFSRQorI2luY2x1ZGUgImxpYi9zaW1wbGVoYXNo LmgiCisKK3R5cGVkZWYgcGdzdGF0X3NuYXBzaG90X2l0ZXJhdG9yIFNuYXBzaG90SXRlcmF0 b3I7CisKKyNkZWZpbmUgSW5pdFNuYXBzaG90SXRlcmF0b3IoaHRhYmxlLCBpdGVyKSBcCisJ cGdzdGF0X3NuYXBzaG90X3N0YXJ0X2l0ZXJhdGUoaHRhYmxlLCBpdGVyKTsKKyNkZWZpbmUg U2NhblN0YXRTbmFwc2hvdChodGFibGUsIGl0ZXIpIFwKKwlwZ3N0YXRfc25hcHNob3RfaXRl cmF0ZShodGFibGUsIGl0ZXIpCisKIAogI2RlZmluZSBVSU5UMzJfQUNDRVNTX09OQ0UodmFy KQkJICgodWludDMyKSgqKCh2b2xhdGlsZSB1aW50MzIgKikmKHZhcikpKSkKIApAQCAtMjA1 MSwzICsyMDg3LDEyNCBAQCBwZ19zdGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykK IAogCVBHX1JFVFVSTl9CT09MKHBnc3RhdF9oYXZlX2VudHJ5KGtpbmQsIGRib2lkLCBvYmpv aWQpKTsKIH0KKworI2RlZmluZSBFWFRWQUNIRUFQU1RBVF9DT0xVTU5TCTI3CisKK3N0YXRp YyB2b2lkCit0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24oT2lkIHJlbGlkLCBSZXR1cm5T ZXRJbmZvICpyc2luZm8sCisJCQkJCQkJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnkp Cit7CisJRGF0dW0JCXZhbHVlc1tFWFRWQUNIRUFQU1RBVF9DT0xVTU5TXTsKKwlib29sCQlu dWxsc1tFWFRWQUNIRUFQU1RBVF9DT0xVTU5TXTsKKwljaGFyCQlidWZbMjU2XTsKKwlpbnQJ CQlpID0gMDsKKworCW1lbXNldChudWxscywgMCwgRVhUVkFDSEVBUFNUQVRfQ09MVU1OUyAq IHNpemVvZihib29sKSk7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0ocmVs aWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1f ZXh0LnRvdGFsX2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRh YmVudHJ5LT52YWN1dW1fZXh0LnRvdGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQudG90YWxfYmxrc19kaXJ0aWVkKTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQudG90 YWxfYmxrc193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJl bnRyeS0+dmFjdXVtX2V4dC5ibGtzX2ZldGNoZWQgLQorCQkJCQkJCQkJdGFiZW50cnktPnZh Y3V1bV9leHQuYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJl bnRyeS0+dmFjdXVtX2V4dC5ibGtzX2hpdCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQucGFnZXNfc2Nhbm5lZCk7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnBhZ2VzX3JlbW92ZWQp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5w YWdlc19mcm96ZW4pOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+ dmFjdXVtX2V4dC5wYWdlc19hbGxfdmlzaWJsZSk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnR1cGxlc19kZWxldGVkKTsKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQudHVwbGVzX2Zyb3pl bik7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0 LmRlYWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnkt PnZhY3V1bV9leHQuaW5kZXhfdmFjdXVtX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0odGFiZW50cnktPnJldl9hbGxfZnJvemVuX3BhZ2VzKTsKKwl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnJldl9hbGxfdmlzaWJsZV9wYWdlcyk7CisK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQud2Fs X3JlY29yZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFj dXVtX2V4dC53YWxfZnBpKTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlrZSBwZ19z dGF0X3N0YXRlbWVudHMgKi8KKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9G T1JNQVQsIHRhYmVudHJ5LT52YWN1dW1fZXh0LndhbF9ieXRlcyk7CisJdmFsdWVzW2krK10g PSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJpbmdH ZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJ CQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERh dHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmJsa19yZWFkX3RpbWUpOworCXZhbHVlc1tpKytd ID0gRmxvYXQ4R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuYmxrX3dyaXRlX3RpbWUp OworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQu ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bSh0YWJlbnRyeS0+ dmFjdXVtX2V4dC5zeXN0ZW1fdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1 bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC51c2VyX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxv YXQ4R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQudG90YWxfdGltZSk7CisJdmFsdWVz W2krK10gPSBJbnQzMkdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmludGVycnVwdHMp OworCisJQXNzZXJ0KGkgPT0gcnNpbmZvLT5zZXREZXNjLT5uYXR0cyk7CisJdHVwbGVzdG9y ZV9wdXR2YWx1ZXMocnNpbmZvLT5zZXRSZXN1bHQsIHJzaW5mby0+c2V0RGVzYywgdmFsdWVz LCBudWxscyk7Cit9CisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0 aGUgaGVhcCB0YWJsZXMgb3IgaW5kZXhlcy4KKyAqLworc3RhdGljIHZvaWQKK3BnX3N0YXRz X3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywgaW50IG5jb2x1bW5zKQoreworCVJl dHVyblNldEluZm8JCSAgICpyc2luZm8gPSAoUmV0dXJuU2V0SW5mbyAqKSBmY2luZm8tPnJl c3VsdGluZm87CisJT2lkCQkJCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOworCVBnU3Rh dF9TdGF0VGFiRW50cnkgICAgKnRhYmVudHJ5OworCisJSW5pdE1hdGVyaWFsaXplZFNSRihm Y2luZm8sIDApOworCisJLyogQ2hlY2sgaWYgY2FsbGVyIHN1cHBvcnRzIHVzIHJldHVybmlu ZyBhIHR1cGxlc3RvcmUgKi8KKwlpZiAocnNpbmZvID09IE5VTEwgfHwgIUlzQShyc2luZm8s IFJldHVyblNldEluZm8pKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNP REVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJzZXQtdmFsdWVkIGZ1 bmN0aW9uIGNhbGxlZCBpbiBjb250ZXh0IHRoYXQgY2Fubm90IGFjY2VwdCBhIHNldCIpKSk7 CisJQXNzZXJ0KHJzaW5mby0+c2V0RGVzYy0+bmF0dHMgPT0gbmNvbHVtbnMpOworCUFzc2Vy dChyc2luZm8tPnNldFJlc3VsdCAhPSBOVUxMKTsKKworCS8qIExvYWQgdGFibGUgc3RhdGlz dGljcyBmb3Igc3BlY2lmaWVkIGRhdGFiYXNlLiAqLworCWlmIChPaWRJc1ZhbGlkKHJlbGlk KSkKKwl7CisJCXRhYmVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQp OworCQlpZiAodGFiZW50cnkgPT0gTlVMTCkKKwkJCS8qIFRhYmxlIGRvbid0IGV4aXN0cyBv ciBpc24ndCBhbiBoZWFwIHJlbGF0aW9uLiAqLworCQkJcmV0dXJuOworCisJCXR1cGxlc3Rv cmVfcHV0X2Zvcl9yZWxhdGlvbihyZWxpZCwgcnNpbmZvLCB0YWJlbnRyeSk7CisJfQorCWVs c2UKKwl7CisJCVNuYXBzaG90SXRlcmF0b3IJCWhhc2hpdGVyOworCQlQZ1N0YXRfU25hcHNo b3RFbnRyeSAgICplbnRyeTsKKworCQkvKiBJdGVyYXRlIHRoZSBzbmFwc2hvdCAqLworCQlJ bml0U25hcHNob3RJdGVyYXRvcihwZ1N0YXRMb2NhbC5zbmFwc2hvdC5zdGF0cywgJmhhc2hp dGVyKTsKKworCQl3aGlsZSAoKGVudHJ5ID0gU2NhblN0YXRTbmFwc2hvdChwZ1N0YXRMb2Nh bC5zbmFwc2hvdC5zdGF0cywgJmhhc2hpdGVyKSkgIT0gTlVMTCkKKwkJeworCQkJT2lkCXJl bG9pZDsKKworCQkJQ0hFQ0tfRk9SX0lOVEVSUlVQVFMoKTsKKworCQkJdGFiZW50cnkgPSAo UGdTdGF0X1N0YXRUYWJFbnRyeSAqKSBlbnRyeS0+ZGF0YTsKKwkJCXJlbG9pZCA9IGVudHJ5 LT5rZXkub2Jqb2lkOworCisJCQlpZiAodGFiZW50cnkgIT0gTlVMTCkKKwkJCQl0dXBsZXN0 b3JlX3B1dF9mb3JfcmVsYXRpb24ocmVsb2lkLCByc2luZm8sIHRhYmVudHJ5KTsKKwkJfQor CX0KK30KKworLyoKKyAqIEdldCB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFw IHRhYmxlcy4KKyAqLworRGF0dW0KK3BnX3N0YXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElP Tl9BUkdTKQoreworCXBnX3N0YXRzX3ZhY3V1bShmY2luZm8sIEVYVFZBQ0hFQVBTVEFUX0NP TFVNTlMpOworCisJUEdfUkVUVVJOX1ZPSUQoKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cu YwppbmRleCA1Y2JiNWI1NDE2OC4uNWVhZDJhOGFmZjggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9l bG9nLmMKQEAgLTE2MTksNiArMTYxOSwxOSBAQCBnZXRpbnRlcm5hbGVycnBvc2l0aW9uKHZv aWQpCiAJcmV0dXJuIGVkYXRhLT5pbnRlcm5hbHBvczsKIH0KIAorLyoKKyAqIFJldHVybiBl bGV2ZWwgb2YgZXJyb3JzCisgKi8KK2ludAorZ2V0ZXJyZWxldmVsKHZvaWQpCit7CisJRXJy b3JEYXRhICAqZWRhdGEgPSAmZXJyb3JkYXRhW2Vycm9yZGF0YV9zdGFja19kZXB0aF07CisK KwkvKiB3ZSBkb24ndCBib3RoZXIgaW5jcmVtZW50aW5nIHJlY3Vyc2lvbl9kZXB0aCAqLwor CUNIRUNLX1NUQUNLX0RFUFRIKCk7CisKKwlyZXR1cm4gZWRhdGEtPmVsZXZlbDsKK30KIAog LyoKICAqIEZ1bmN0aW9ucyB0byBhbGxvdyBjb25zdHJ1Y3Rpb24gb2YgZXJyb3IgbWVzc2Fn ZSBzdHJpbmdzIHNlcGFyYXRlbHkgZnJvbQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5k ZXggZmY1NDM2YWNhY2YuLjhjNmRiZDQ3MzZhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKQEAgLTEyMjU0LDUgKzEyMjU0LDEzIEBACiAgIHByb2FsbGFyZ3R5cGVzID0+ICd7aW50 OCxwZ19sc24scGdfbHNuLGludDR9JywgcHJvYXJnbW9kZXMgPT4gJ3tvLG8sbyxvfScsCiAg IHByb2FyZ25hbWVzID0+ICd7c3VtbWFyaXplZF90bGksc3VtbWFyaXplZF9sc24scGVuZGlu Z19sc24sc3VtbWFyaXplcl9waWR9JywKICAgcHJvc3JjID0+ICdwZ19nZXRfd2FsX3N1bW1h cml6ZXJfc3RhdGUnIH0sCi0KK3sgb2lkID0+ICc4MDAxJywKKyAgZGVzY3IgPT4gJ3BnX3N0 YXRfdmFjdXVtX3RhYmxlcyByZXR1cm4gc3RhdHMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAn cGdfc3RhdF92YWN1dW1fdGFibGVzJywgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBl ID0+ICdyZWNvcmQnLHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0JywK KyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9p ZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxm bG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGludDR9JywKKyAgcHJvYXJnbW9k ZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJlbGlkLHRvdGFsX2Js a3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxfYmxrc193 cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0LHBhZ2VzX3NjYW5uZWQscGFnZXNf cmVtb3ZlZCxwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUsdHVwbGVzX2RlbGV0ZWQs dHVwbGVzX2Zyb3plbixkZWFkX3R1cGxlcyxpbmRleF92YWN1dW1fY291bnQscmV2X2FsbF9m cm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzLHdhbF9yZWNvcmRzLHdhbF9mcGks d2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSxzeXN0 ZW1fdGltZSx1c2VyX3RpbWUsdG90YWxfdGltZSxpbnRlcnJ1cHRzfScsCisgIHByb3NyYyA9 PiAncGdfc3RhdF92YWN1dW1fdGFibGVzJyB9LAogXQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvY29tbWFuZHMvdmFjdXVtLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaApp bmRleCA3NTlmOWE4N2QzOC4uMDdiMjhiMTVkOWYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3ZhY3V1bS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5o CkBAIC0zMDgsNiArMzA4LDcgQEAgZXh0ZXJuIFBHRExMSU1QT1JUIGludCB2YWN1dW1fbXVs dGl4YWN0X2ZhaWxzYWZlX2FnZTsKIGV4dGVybiBQR0RMTElNUE9SVCBwZ19hdG9taWNfdWlu dDMyICpWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZTsKIGV4dGVybiBQR0RMTElNUE9SVCBwZ19h dG9taWNfdWludDMyICpWYWN1dW1BY3RpdmVOV29ya2VyczsKIGV4dGVybiBQR0RMTElNUE9S VCBpbnQgVmFjdXVtQ29zdEJhbGFuY2VMb2NhbDsKK2V4dGVybiBQR0RMTElNUE9SVCBkb3Vi bGUgVmFjdXVtRGVsYXlUaW1lOwogCiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCBWYWN1dW1G YWlsc2FmZUFjdGl2ZTsKIGV4dGVybiBQR0RMTElNUE9SVCBkb3VibGUgdmFjdXVtX2Nvc3Rf ZGVsYXk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRl L3Bnc3RhdC5oCmluZGV4IGJlMmM5MTE2OGExLi44YWI4MGRmZTE3ZSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAgLTE2 OSw2ICsxNjksNTIgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0JhY2tlbmRTdWJFbnRyeQog CVBnU3RhdF9Db3VudGVyIGNvbmZsaWN0X2NvdW50W0NPTkZMSUNUX05VTV9UWVBFU107CiB9 IFBnU3RhdF9CYWNrZW5kU3ViRW50cnk7CiAKKy8qIC0tLS0tLS0tLS0KKyAqCisgKiBFeHRW YWNSZXBvcnQKKyAqCisgKiBBZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHByb2Nl c3Npbmcgb3ZlciBhIGhlYXAgcmVsYXRpb24uCisgKiBwYWdlc19yZW1vdmVkIGlzIHRoZSBh bW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2FsbHkgc2hyYW5rLAorICogaWYgYW55IChpZSB0 aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXplIG9uIGRpc2spCisgKiBwYWdlc19kZWxldGVk IHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGluIHRoZSBpbmRleCBmaWxlCisgKiAtLS0tLS0t LS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IEV4dFZhY1JlcG9ydAoreworCWludDY0CQl0b3Rh bF9ibGtzX3JlYWQ7IAkvKiBudW1iZXIgb2YgcGFnZXMgdGhhdCB3ZXJlIG1pc3NlZCBpbiBz aGFyZWQgYnVmZmVycyBkdXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVsYXRpb24gKi8K KwlpbnQ2NAkJdG90YWxfYmxrc19oaXQ7IAkvKiBudW1iZXIgb2YgcGFnZXMgdGhhdCB3ZXJl IGZvdW5kIGluIHNoYXJlZCBidWZmZXJzIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyBy ZWxhdGlvbiAqLworCWludDY0CQl0b3RhbF9ibGtzX2RpcnRpZWQ7CS8qIG51bWJlciBvZiBw YWdlcyBtYXJrZWQgYXMgJ0RpcnR5JyBkdXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lmaWMgcmVs YXRpb24uICovCisJaW50NjQJCXRvdGFsX2Jsa3Nfd3JpdHRlbjsJLyogbnVtYmVyIG9mIHBh Z2VzIHdyaXR0ZW4gZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uLiAqLwor CisJaW50NjQJCWJsa3NfZmV0Y2hlZDsgCQkvKiBudW1iZXIgb2YgYSByZWxhdGlvbiBibG9j a3MsIGZldGNoZWQgZHVyaW5nIHRoZSB2YWN1dW0uICovCisJaW50NjQJCWJsa3NfaGl0OwkJ LyogbnVtYmVyIG9mIGEgcmVsYXRpb24gYmxvY2tzLCBmb3VuZCBpbiBzaGFyZWQgYnVmZmVy cyBkdXJpbmcgdGhlIHZhY3V1bS4gKi8KKworCS8qIFZhY3V1bSBXQUwgdXNhZ2Ugc3RhdHMg Ki8KKwlpbnQ2NAkJd2FsX3JlY29yZHM7CS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCBy ZWNvcmRzICovCisJaW50NjQJCXdhbF9mcGk7CQkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBX QUwgZnVsbCBwYWdlIGltYWdlcyBwcm9kdWNlZCAqLworCXVpbnQ2NAkJd2FsX2J5dGVzOwkJ Lyogd2FsIHVzYWdlOiBzaXplIG9mIFdBTCByZWNvcmRzIHByb2R1Y2VkICovCisKKwkvKiBU aW1lIHN0YXRzLiAqLworCWRvdWJsZQkJYmxrX3JlYWRfdGltZTsJLyogdGltZSBzcGVudCBy ZWFkaW5nIHBhZ2VzLCBpbiBtc2VjICovCisJZG91YmxlCQlibGtfd3JpdGVfdGltZTsgLyog dGltZSBzcGVudCB3cml0aW5nIHBhZ2VzLCBpbiBtc2VjICovCisJZG91YmxlCQlkZWxheV90 aW1lOwkJLyogaG93IGxvbmcgdmFjdXVtIHNsZXB0IGluIHZhY3V1bSBkZWxheSBwb2ludCwg aW4gbXNlYyAqLworCWRvdWJsZQkJc3lzdGVtX3RpbWU7CS8qIGFtb3VudCBvZiB0aW1lIHRo ZSBDUFUgd2FzIGJ1c3kgZXhlY3V0aW5nIHZhY3V1bSBjb2RlIGluIGtlcm5lbCBzcGFjZSwg aW4gbXNlYyAqLworCWRvdWJsZQkJdXNlcl90aW1lOwkJLyogYW1vdW50IG9mIHRpbWUgdGhl IENQVSB3YXMgYnVzeSBleGVjdXRpbmcgdmFjdXVtIGNvZGUgaW4gdXNlciBzcGFjZSwgaW4g bXNlYyAqLworCWRvdWJsZQkJdG90YWxfdGltZTsJCS8qIHRvdGFsIHRpbWUgb2YgYSB2YWN1 dW0gb3BlcmF0aW9uLCBpbiBtc2VjICovCisKKwkvKiBJbnRlcnJ1cHRpb25zIG9uIGFueSBl cnJvcnMuICovCisJaW50MzIJCWludGVycnVwdHM7CisKKwlpbnQ2NAkJcGFnZXNfc2Nhbm5l ZDsJCS8qIG51bWJlciBvZiBwYWdlcyB3ZSBleGFtaW5lZCAqLworCWludDY0CQlwYWdlc19y ZW1vdmVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCisJaW50 NjQJCXBhZ2VzX2Zyb3plbjsJCS8qIG51bWJlciBvZiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMg ZnJvemVuICovCisJaW50NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkvKiBudW1iZXIgb2YgcGFn ZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCisJaW50NjQJCXR1cGxlc19kZWxl dGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJaW50NjQJCXR1cGxlc19m cm96ZW47CQkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLworCWludDY0CQlkZWFk X3R1cGxlczsJCS8qIG51bWJlciBvZiBkZWxldGVkIHR1cGxlcyB3aGljaCB2YWN1dW0gY2Fu bm90IGNsZWFuIHVwIGJ5IHZhY3V1bSBvcGVyYXRpb24gKi8KKwlpbnQ2NAkJaW5kZXhfdmFj dXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworfSBFeHRWYWNS ZXBvcnQ7CisKIC8qIC0tLS0tLS0tLS0KICAqIFBnU3RhdF9UYWJsZUNvdW50cwkJCVRoZSBh Y3R1YWwgcGVyLXRhYmxlIGNvdW50cyBrZXB0IGJ5IGEgYmFja2VuZAogICoKQEAgLTIwOSw2 ICsyNTUsMTYgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1RhYmxlQ291bnRzCiAKIAlQZ1N0 YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0 OworCisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF92aXNpYmxlX3BhZ2VzOworCVBnU3RhdF9D b3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2VzOworCisJLyoKKwkgKiBBZGRpdGlvbmFsIGN1 bXVsYXRpdmUgc3RhdCBvbiB2YWN1dW0gb3BlcmF0aW9ucy4KKwkgKiBVc2UgYW4gZXhwZW5z aXZlIHN0cnVjdHVyZSBhcyBhbiBhYnN0cmFjdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9m CisJICogcmVsYXRpb25zLgorCSAqLworCUV4dFZhY1JlcG9ydAl2YWN1dW1fZXh0OwogfSBQ Z1N0YXRfVGFibGVDb3VudHM7CiAKIC8qIC0tLS0tLS0tLS0KQEAgLTI2Nyw3ICszMjMsNyBA QCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVYYWN0U3RhdHVzCiAgKiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAq LwogCi0jZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkweDAxQTVCQ0FFCisjZGVmaW5l IFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkweDAxQTVCQ0FGCiAKIHR5cGVkZWYgc3RydWN0IFBn U3RhdF9BcmNoaXZlclN0YXRzCiB7CkBAIC0zODYsNiArNDQyLDggQEAgdHlwZWRlZiBzdHJ1 Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgc2Vzc2lvbnNfa2lsbGVk OwogCiAJVGltZXN0YW1wVHogc3RhdF9yZXNldF90aW1lc3RhbXA7CisKKwlFeHRWYWNSZXBv cnQgdmFjdXVtX2V4dDsJCS8qIGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzICovCiB9IFBn U3RhdF9TdGF0REJFbnRyeTsKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRGdW5jRW50 cnkKQEAgLTQ1OSw2ICs1MTcsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRUYWJF bnRyeQogCVBnU3RhdF9Db3VudGVyIGFuYWx5emVfY291bnQ7CiAJVGltZXN0YW1wVHogbGFz dF9hdXRvYW5hbHl6ZV90aW1lOwkvKiBhdXRvdmFjdXVtIGluaXRpYXRlZCAqLwogCVBnU3Rh dF9Db3VudGVyIGF1dG9hbmFseXplX2NvdW50OworCisJUGdTdGF0X0NvdW50ZXIgcmV2X2Fs bF92aXNpYmxlX3BhZ2VzOworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2Vz OworCisJRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CiB9IFBnU3RhdF9TdGF0VGFiRW50cnk7 CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9XYWxTdGF0cwpAQCAtNjI0LDEwICs2ODcsMTIg QEAgZXh0ZXJuIHZvaWQgcGdzdGF0X2Fzc29jX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCk7CiBl eHRlcm4gdm9pZCBwZ3N0YXRfdW5saW5rX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCk7CiAKIGV4 dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFy ZWQsCi0JCQkJCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291bnRl ciBkZWFkdHVwbGVzKTsKKwkJCQkJCQkJIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBn U3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCisJCQkJCQkJCSBFeHRWYWNSZXBvcnQgKnBhcmFt cyk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAog CQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRl YWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNldGNvdW50ZXIpOworZXh0ZXJuIHZvaWQg cGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKTsKIAogLyoKICAqIElm IHN0YXRzIGFyZSBlbmFibGVkLCBidXQgcGVuZGluZyBkYXRhIGhhc24ndCBiZWVuIHByZXBh cmVkIHlldCwgY2FsbApAQCAtNjc1LDYgKzc0MCwxNyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRf cmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQlpZiAocGdzdGF0X3Nob3VsZF9jb3Vu dF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKIAkJCShyZWwpLT5wZ3N0YXRfaW5mby0+Y291bnRz LmJsb2Nrc19oaXQrKzsJCQkJXAogCX0gd2hpbGUgKDApCisvKiBhY2N1bXVsYXRlIHVuZnJv emVuIGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuIHBhZ2VzICovCisjZGVmaW5lIHBnc3Rh dF9jb3VudF92bV9yZXZfYWxsX3Zpc2libGUocmVsKQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJ CQkJCQkJXAorCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJ CVwKKwkJCShyZWwpLT5wZ3N0YXRfaW5mby0+Y291bnRzLnJldl9hbGxfdmlzaWJsZV9wYWdl cysrOwlcCisJfSB3aGlsZSAoMCkKKyNkZWZpbmUgcGdzdGF0X2NvdW50X3ZtX3Jldl9hbGxf ZnJvemVuKHJlbCkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJCQkJCVwKKwkJaWYgKHBnc3Rh dF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCisJCQkocmVsKS0+cGdzdGF0 X2luZm8tPmNvdW50cy5yZXZfYWxsX2Zyb3plbl9wYWdlcysrOwlcCisJfSB3aGlsZSAoMCkK IAogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfaW5zZXJ0KFJlbGF0aW9uIHJlbCwg UGdTdGF0X0NvdW50ZXIgbik7CiBleHRlcm4gdm9pZCBwZ3N0YXRfY291bnRfaGVhcF91cGRh dGUoUmVsYXRpb24gcmVsLCBib29sIGhvdCwgYm9vbCBuZXdwYWdlKTsKQEAgLTY5Miw3ICs3 NjgsNiBAQCBleHRlcm4gUGdTdGF0X1N0YXRUYWJFbnRyeSAqcGdzdGF0X2ZldGNoX3N0YXRf dGFiZW50cnlfZXh0KGJvb2wgc2hhcmVkLAogCQkJCQkJCQkJCQkJCQkgICBPaWQgcmVsb2lk KTsKIGV4dGVybiBQZ1N0YXRfVGFibGVTdGF0dXMgKmZpbmRfdGFic3RhdF9lbnRyeShPaWQg cmVsX2lkKTsKIAotCiAvKgogICogRnVuY3Rpb25zIGluIHBnc3RhdF9yZXBsc2xvdC5jCiAg Ki8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCBiL3NyYy9pbmNsdWRl L3V0aWxzL2Vsb2cuaAppbmRleCBlNTRlY2E1YjQ4OS4uZTc1MmMwY2UwMTUgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9l bG9nLmgKQEAgLTIzMCw2ICsyMzAsNyBAQCBleHRlcm4gaW50CWdldGVycmxldmVsKHZvaWQp OwogZXh0ZXJuIGludAlnZXRlcnJwb3NpdGlvbih2b2lkKTsKIGV4dGVybiBpbnQJZ2V0aW50 ZXJuYWxlcnJwb3NpdGlvbih2b2lkKTsKIAorZXh0ZXJuIGludAlnZXRlcnJlbGV2ZWwodm9p ZCk7CiAKIC8qLS0tLS0tLS0tLQogICogT2xkLXN0eWxlIGVycm9yIHJlcG9ydGluZyBBUEk6 IHRvIGJlIHVzZWQgaW4gdGhpcyB3YXk6CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGls cy9wZ3N0YXRfaW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5h bC5oCmluZGV4IGZiMTMyZTQzOWRjLi4yNGFiM2NlYjcxNyAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMv cGdzdGF0X2ludGVybmFsLmgKQEAgLTU0OSw3ICs1NDksNyBAQCBleHRlcm4gUGdTdGF0X0Vu dHJ5UmVmICpwZ3N0YXRfZmV0Y2hfcGVuZGluZ19lbnRyeShQZ1N0YXRfS2luZCBraW5kLCBP aWQgZGJvaWQsCiAKIGV4dGVybiB2b2lkICpwZ3N0YXRfZmV0Y2hfZW50cnkoUGdTdGF0X0tp bmQga2luZCwgT2lkIGRib2lkLCBPaWQgb2Jqb2lkKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9z bmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBraW5kKTsKLQorZXh0ZXJuIHZvaWQgcGdzdGF0 X3VwZGF0ZV9zbmFwc2hvdChQZ1N0YXRfS2luZCBraW5kKTsKIAogLyoKICAqIEZ1bmN0aW9u cyBpbiBwZ3N0YXRfYXJjaGl2ZXIuYwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9u L2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0IGIvc3Jj L3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43Y2Ri NzljMGVjNAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3Rl ZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dApAQCAtMCwwICsxLDUz IEBACit1bnVzZWQgc3RlcCBuYW1lOiBzMl9kZWxldGUKK1BhcnNlZCB0ZXN0IHNwZWMgd2l0 aCAyIHNlc3Npb25zCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMl9pbnNlcnQgczJfcHJp bnRfdmFjdXVtX3N0YXRzX3RhYmxlIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZCBzMl91cGRh dGUgczJfaW5zZXJ0X2ludGVycnVwdCBzMl92YWN1dW0gczJfcHJpbnRfdmFjdXVtX3N0YXRz X3RhYmxlIHMxX2NvbW1pdCBzMl9jaGVja3BvaW50IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1 dW1fc3RhdHNfdGFibGUKK3N0ZXAgczJfaW5zZXJ0OiBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1 bV9zdGF0X2lzb2xhdGlvbihpZCwgaXZhbCkgU0VMRUNUIGl2YWwsIGl2YWwlMTAgRlJPTSBn ZW5lcmF0ZV9zZXJpZXMoMSwxMDAwKSBBcyBpdmFsOworc3RlcCBzMl9wcmludF92YWN1dW1f c3RhdHNfdGFibGU6IAorICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19k ZWxldGVkLCB2dC5kZWFkX3R1cGxlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFt ZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7 CisKK3JlbG5hbWUgICAgICAgICAgICAgICAgICAgfHR1cGxlc19kZWxldGVkfGRlYWRfdHVw bGVzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAgICAwfCAgICAgICAgICAgIDAKKygxIHJv dykKKworc3RlcCBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQ6IAorICBCRUdJTiB0cmFuc2Fj dGlvbiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworICBzZWxlY3QgY291bnQo aXZhbCkgZnJvbSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVyZSBpZD45MDA7CisK K2NvdW50CistLS0tLQorICAxMDAKKygxIHJvdykKKworc3RlcCBzMl91cGRhdGU6IFVQREFU RSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBTRVQgaXZhbCA9IGl2YWwgKyAyIHdoZXJl IGlkID4gOTAwOworc3RlcCBzMl9pbnNlcnRfaW50ZXJydXB0OiBJTlNFUlQgSU5UTyB0ZXN0 X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB2YWx1ZXMgKDEsMSk7CitzdGVwIHMyX3ZhY3V1bTog VkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uOworc3RlcCBzMl9wcmludF92YWN1 dW1fc3RhdHNfdGFibGU6IAorICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxl c19kZWxldGVkLCB2dC5kZWFkX3R1cGxlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVs bmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CisKK3JlbG5hbWUgICAgICAgICAgICAgICAgICAgfHR1cGxlc19kZWxldGVkfGRlYWRf dHVwbGVzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAgMTAwfCAgICAgICAgICAgIDAKKygx IHJvdykKKworc3RlcCBzMV9jb21taXQ6IENPTU1JVDsKK3N0ZXAgczJfY2hlY2twb2ludDog Q0hFQ0tQT0lOVDsKK3N0ZXAgczJfdmFjdXVtOiBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb247CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAgU0VM RUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LmRlYWRfdHVwbGVz LCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAgICAg ICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAxMDB8 ICAgICAgICAxMDB8ICAgICAgICAgIDEwMQorKDEgcm93KQorCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlIGIvc3JjL3Rlc3QvaXNvbGF0aW9u L2lzb2xhdGlvbl9zY2hlZHVsZQppbmRleCAxNDMxMDlhYTRkYS4uZTkzZGQ0ZjYyNmMgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUKKysrIGIv c3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQpAQCAtOTUsNiArOTUsNyBA QCB0ZXN0OiB0aW1lb3V0cwogdGVzdDogdmFjdXVtLWNvbmN1cnJlbnQtZHJvcAogdGVzdDog dmFjdXVtLWNvbmZsaWN0CiB0ZXN0OiB2YWN1dW0tc2tpcC1sb2NrZWQKK3Rlc3Q6IHZhY3V1 bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQKIHRlc3Q6IHN0YXRzCiB0ZXN0OiBob3Jp em9ucwogdGVzdDogcHJlZGljYXRlLWhhc2gKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xh dGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMgYi9z cmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUt cmVhZC5zcGVjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43ZDMx ZGRiZWNlOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92 YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKQEAgLTAsMCArMSw1MSBA QAorIyBUZXN0IGZvciBjaGVja2luZyBkZWFkX3R1cGxlcywgdHVwbGVzX2RlbGV0ZWQgYW5k IGZyb3plbiB0dXBsZXMgaW4gcGdfc3RhdF92YWN1dW1fdGFibGVzLgorIyBEZWFkX3R1cGxl cyB2YWx1ZXMgYXJlIGNvdW50ZWQgd2hlbiB2YWN1dW0gY2Fubm90IGNsZWFuIHVwIHVudXNl ZCB0dXBsZXMgd2hpbGUgbG9jayBpcyB1c2luZyBhbm90aGVyIHRyYW5zYWN0aW9uLgorIyBE ZWFkX3R1cGxlcyBhcmVuJ3QgaW5jcmVhc2VkIGFmdGVyIHJlbGVhc2luZyBsb2NrIGNvbXBh cmVkIHdpdGggdHVwbGVzX2RlbGV0ZWQsIHdoaWNoIGluY3JlYXNlZAorIyBieSB0aGUgdmFs dWUgb2YgdGhlIGNsZWFyZWQgdHVwbGVzIHRoYXQgdGhlIHZhY3V1bSBtYW5hZ2VkIHRvIGNs ZWFyLgorCitzZXR1cAoreworICAgIENSRUFURSBUQUJMRSB0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbihpZCBpbnQsIGl2YWwgaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBv ZmYpOworICAgIFNFVCB0cmFja19pb190aW1pbmcgPSBvbjsKK30KKwordGVhcmRvd24KK3sK KyAgICBEUk9QIFRBQkxFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIENBU0NBREU7Cisg ICAgUkVTRVQgdHJhY2tfaW9fdGltaW5nOworfQorCitzZXNzaW9uIHMxCitzdGVwIHMxX2Jl Z2luX3JlcGVhdGFibGVfcmVhZCAgIHsKKyAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9O IExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKKyAgc2VsZWN0IGNvdW50KGl2YWwpIGZyb20gdGVz dF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQ+OTAwOworICB9CitzdGVwIHMxX2Nv bW1pdCAgICAgICAgICAgICAgICAgIHsgQ09NTUlUOyB9CisKK3Nlc3Npb24gczIKK3N0ZXAg czJfaW5zZXJ0ICAgICAgICAgICAgICAgICAgeyBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9z dGF0X2lzb2xhdGlvbihpZCwgaXZhbCkgU0VMRUNUIGl2YWwsIGl2YWwlMTAgRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSwxMDAwKSBBcyBpdmFsOyB9CitzdGVwIHMyX3VwZGF0ZSAgICAgICAg ICAgICAgICAgIHsgVVBEQVRFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFs ID0gaXZhbCArIDIgd2hlcmUgaWQgPiA5MDA7IH0KK3N0ZXAgczJfZGVsZXRlICAgICAgICAg ICAgICAgICAgeyBERUxFVEUgRlJPTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVy ZSBpZCA+IDkwMDsgfQorc3RlcCBzMl9pbnNlcnRfaW50ZXJydXB0ICAgICAgICB7IElOU0VS VCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHZhbHVlcyAoMSwxKTsgfQorc3Rl cCBzMl92YWN1dW0gICAgICAgICAgICAgICAgICB7IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbjsgfQorc3RlcCBzMl9jaGVja3BvaW50ICAgICAgICAgICAgICB7IENIRUNL UE9JTlQ7IH0KK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCit7CisgICAgU0VM RUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LmRlYWRfdHVwbGVz LCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK30KKworcGVybXV0YXRpb24KKyAg ICBzMl9pbnNlcnQKKyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKKyAgICBzMV9i ZWdpbl9yZXBlYXRhYmxlX3JlYWQKKyAgICBzMl91cGRhdGUKKyAgICBzMl9pbnNlcnRfaW50 ZXJydXB0CisgICAgczJfdmFjdXVtCisgICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxl CisgICAgczFfY29tbWl0CisgICAgczJfY2hlY2twb2ludAorICAgIHMyX3ZhY3V1bQorICAg IHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9vcHJfc2FuaXR5Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvb3ByX3Nhbml0eS5vdXQKaW5kZXggMGQ3MzQxNjlmMTEuLjlhZTc0M2VhZTBjIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29wcl9zYW5pdHkub3V0CisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb3ByX3Nhbml0eS5vdXQKQEAgLTMyLDkgKzMy LDEwIEBAIFdIRVJFIHAxLnByb2xhbmcgPSAwIE9SIHAxLnByb3JldHR5cGUgPSAwIE9SCiAg ICAgICAgcHJva2luZCBOT1QgSU4gKCdmJywgJ2EnLCAndycsICdwJykgT1IKICAgICAgICBw cm92b2xhdGlsZSBOT1QgSU4gKCdpJywgJ3MnLCAndicpIE9SCiAgICAgICAgcHJvcGFyYWxs ZWwgTk9UIElOICgncycsICdyJywgJ3UnKTsKLSBvaWQgfCBwcm9uYW1lIAotLS0tLS0rLS0t LS0tLS0tCi0oMCByb3dzKQorIG9pZCAgfCAgICAgICAgcHJvbmFtZSAgICAgICAgCistLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyA4MDAxIHwgcGdfc3RhdF92YWN1dW1fdGFi bGVzCisoMSByb3cpCiAKIC0tIHByb3NyYyBzaG91bGQgbmV2ZXIgYmUgbnVsbDsgaXQgY2Fu IGJlIGVtcHR5IG9ubHkgaWYgcHJvc3FsYm9keSBpc24ndCBudWxsCiBTRUxFQ1QgcDEub2lk LCBwMS5wcm9uYW1lCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1 bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IGEx NjI2ZjNmYWU5Li4xMGE3YTZhNjg3MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxl cy5vdXQKQEAgLTIyMzUsNiArMjIzNSw0MCBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxF Q1QgcmVsaWQsCiAgICAgYXV0b2FuYWx5emVfY291bnQKICAgIEZST00gcGdfc3RhdF9hbGxf dGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9n Jzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1l ICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVD VCByZWwub2lkIEFTIHJlbGlkLAorICAgIG5zLm5zcG5hbWUgQVMgc2NoZW1hLAorICAgIHJl bC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50b3Rh bF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgc3RhdHMu dG90YWxfYmxrc193cml0dGVuLAorICAgIHN0YXRzLnJlbF9ibGtzX3JlYWQsCisgICAgc3Rh dHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnBhZ2VzX3NjYW5uZWQsCisgICAgc3RhdHMu cGFnZXNfcmVtb3ZlZCwKKyAgICBzdGF0cy5wYWdlc19mcm96ZW4sCisgICAgc3RhdHMucGFn ZXNfYWxsX3Zpc2libGUsCisgICAgc3RhdHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMu dHVwbGVzX2Zyb3plbiwKKyAgICBzdGF0cy5kZWFkX3R1cGxlcywKKyAgICBzdGF0cy5pbmRl eF92YWN1dW1fY291bnQsCisgICAgc3RhdHMucmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAg c3RhdHMucmV2X2FsbF92aXNpYmxlX3BhZ2VzLAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAor ICAgIHN0YXRzLndhbF9mcGksCisgICAgc3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJs a19yZWFkX3RpbWUsCisgICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVs YXlfdGltZSwKKyAgICBzdGF0cy5zeXN0ZW1fdGltZSwKKyAgICBzdGF0cy51c2VyX3RpbWUs CisgICAgc3RhdHMudG90YWxfdGltZSwKKyAgICBzdGF0cy5pbnRlcnJ1cHRzCisgICBGUk9N IHBnX2RhdGFiYXNlIGRiLAorICAgIHBnX2NsYXNzIHJlbCwKKyAgICBwZ19uYW1lc3BhY2Ug bnMsCisgICAgTEFURVJBTCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3RhdHMo cmVsaWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGly dGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxfYmxrc19oaXQs IHBhZ2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHBhZ2VzX2Zyb3plbiwgcGFnZXNfYWxs X3Zpc2libGUsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCBkZWFkX3R1cGxlcywg aW5kZXhfdmFjdXVtX2NvdW50LCByZXZfYWxsX2Zyb3plbl9wYWdlcywgcmV2X2FsbF92aXNp YmxlX3BhZ2VzLCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVhZF90 aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlfdGltZSwgc3lzdGVtX3RpbWUsIHVzZXJfdGlt ZSwgdG90YWxfdGltZSwgaW50ZXJydXB0cykKKyAgV0hFUkUgKChkYi5kYXRuYW1lID0gY3Vy cmVudF9kYXRhYmFzZSgpKSBBTkQgKHJlbC5vaWQgPSBzdGF0cy5yZWxpZCkgQU5EIChucy5v aWQgPSByZWwucmVsbmFtZXNwYWNlKSk7CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdhbF9yZWNv cmRzLAogICAgIHdhbF9mcGksCiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0Cm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xYTdkMDRiMDU5MAotLS0g L2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxl c19zdGF0aXN0aWNzLm91dApAQCAtMCwwICsxLDIwMCBAQAorLS0KKy0tIFRlc3QgY3VtdWxh dGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdhbGwgc3RhdGlz dGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBudW1iZXIgb2Yg ZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBudW1iZXIgb2Yg ZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KKy0tIFN0YXRp c3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRz IGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgor U0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfY291bnRzIAorLS0t LS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0 LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdh bGwnOworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitcc2V0IHNhbXBsZV9z aXplIDEwMDAwCitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NFVCB2YWN1dW1f ZnJlZXplX3RhYmxlX2FnZSA9IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9 IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1 dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3Rh dCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsK K0FOQUxZWkUgdmVzdGF0OworU0VMRUNUIG9pZCBBUyByb2lkIGZyb20gcGdfY2xhc3Mgd2hl cmUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUg eCAlIDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVu ZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96 ZW4sdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVk CitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCBw YWdlc19mcm96ZW4gfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5l ZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2 ZXN0YXQgIHwgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgIDQ1NSB8ICAg ICAgICAgICAgIDAgfCAgICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVDVCByZWxwYWdl cyBBUyBycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdz ZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhf Q0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUg d2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4 dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1 bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBz dGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVh bmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4gPiAwIEFTIHBhZ2VzX2Zy b3plbix0dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMtOnJw ID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkID4gMCBBUyBwYWdlc19zY2FubmVkLHBh Z2VzX3JlbW92ZWQgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5E IHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19k ZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCBmICAgICAgICAgICAg fCB0ICAgICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJv dykKKworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxy ZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBw cgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3Rv cmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMg aHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1 dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gTG9vayBpbnRv IFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZFdSLCB3 YWxfYnl0ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXQnOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisgdCAgIHwg dAorKDEgcm93KQorCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0Owor LS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQ T0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5y ZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPiAwIEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVs ZXRlZC06dGQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJl bHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3Jl bW92ZWQtOnByID4gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3Rh YmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2 dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCBwYWdlc19mcm96ZW4gfCB0dXBsZXNfZGVs ZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgZiAgICAgICAgICAgIHwg dCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cp CisKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVs cGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIK K0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3Jl IFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3Ig QVMgZHdyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IsIHdhbF9mcGktOmhmcGkgQVMgZGZwaQor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxn c2V0CistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3ciA+ IDAgQVMgZFdSLCA6ZHdiID4gMCBBUyBkV0I7CisgZHdyIHwgZHdiIAorLS0tLS0rLS0tLS0K KyB0ICAgfCB0CisoMSByb3cpCisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlh YmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9m cGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdCcgXGdzZXQKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVy YXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBX SEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0 IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0g YXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNl c3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3Rv cmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3 ciBBUyBkd3IyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpoZnBpIEFTIGRm cGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCcgXGdzZXQKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBu b3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpkZnBpMj0wIEFTIGRG UEksIDpkd2IyPTAgQVMgZFdCOworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0r LS0tLS0KKyB0ICAgfCB0ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxw YWdlc19mcm96ZW4tOmZwID0gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRk ID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwIDwgMCBBUyByZWxwYWdlcyxw YWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpw ciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKKyByZWxuYW1lIHwgcGFnZXNfZnJvemVuIHwgdHVwbGVzX2RlbGV0ZWQgfCBy ZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IHQgICAgICAgICAgICB8IHQgICAgICAg ICAgICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxF Q1QgcGFnZXNfZnJvemVuIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFT IHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZh bmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0 ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RS VU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlU IDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0 byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwg YWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9t IHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMywgd2FsX2J5dGVz LTpod2IgQVMgZHdiMywgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMworRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLVRoZXJlIGFy ZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZHdyMz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMg ZEZQSSwgOmR3YjM+MCBBUyBkV0I7CisgZHdyIHwgZGZwaSB8IGR3YiAKKy0tLS0tKy0tLS0t LSstLS0tLQorIHQgICB8IHQgICAgfCB0CisoMSByb3cpCisKKy0tCistLSBOb3csIHRoZSB0 YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2Vz LiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUg cGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdl ZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPSAwIEFTIHBhZ2Vz X2Zyb3plbix0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBh Z2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdl c19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCBwYWdlc19m cm96ZW4gfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBh Z2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQg IHwgdCAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAg ICAgICAgfCB0CisoMSByb3cpCisKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9N IGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0 OworLS0gbXVzdCBiZSBlbXB0eQorU0VMRUNUIHBhZ2VzX2Zyb3plbiwgcGFnZXNfYWxsX3Zp c2libGUsIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOworIHBh Z2VzX2Zyb3plbiB8IHBhZ2VzX2FsbF92aXNpYmxlIHwgcmV2X2FsbF9mcm96ZW5fcGFnZXMg fCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAg ICAwIHwgICAgICAgICAgICAgICAgICAgICAwCisoMSByb3cpCisKK1ZBQ1VVTSAoUEFSQUxM RUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gYmFja2VuZCBkZWZy ZWV6ZWQgcGFnZXMKK1NFTEVDVCBwYWdlc19mcm96ZW4gPiAwIEFTIHBhZ2VzX2Zyb3plbixw YWdlc19hbGxfdmlzaWJsZSA+IDAgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96 ZW5fcGFnZXMgPSAwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9w YWdlcyA9IDAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCc7CisgcGFnZXNfZnJvemVuIHwgcGFn ZXNfYWxsX3Zpc2libGUgfCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJs ZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0CisoMSByb3cp CisKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2 LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBB UyBoYXZwCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdCcgXGdzZXQKK1VQREFURSB2ZXN0YXQgU0VUIHggPSB4KzEwMDE7CitWQUNVVU0gKFBB UkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKK1NFTEVDVCBwYWdl c19mcm96ZW4gPiA6cGYgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4gOnB2 IEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMg cmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMg cmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdCc7CisgcGFnZXNfZnJvemVuIHwgcGFnZXNfYWxsX3Zpc2li bGUgfCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgICAgfCBmCisoMSByb3cpCisKK1NFTEVDVCBw YWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2LCByZXZfYWxsX2Zy b3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCitGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0Owor LS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMKK1NFTEVDVCBwYWdlc19mcm96ZW4gPSA6cGYgQVMg cGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID0gOnB2IEFTIHBhZ2VzX2FsbF92aXNp YmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFn ZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3Bh Z2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dCc7CisgcGFnZXNfZnJvemVuIHwgcGFnZXNfYWxsX3Zpc2libGUgfCByZXZfYWxsX2Zyb3pl bl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorIHQgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgIHwgdCAgICAgICAg ICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7 CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3Jj L3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQppbmRleCA3YTVhOTEwNTYyZS4uMjA2 NDBjZDcyZjQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1 bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTM2LDMg KzEzNiw4IEBAIHRlc3Q6IGZhc3RfZGVmYXVsdAogIyBydW4gdGFibGVzcGFjZSB0ZXN0IGF0 IHRoZSBlbmQgYmVjYXVzZSBpdCBkcm9wcyB0aGUgdGFibGVzcGFjZSBjcmVhdGVkIGR1cmlu ZwogIyBzZXR1cCB0aGF0IG90aGVyIHRlc3RzIG1heSB1c2UuCiB0ZXN0OiB0YWJsZXNwYWNl CisKKyMgLS0tLS0tLS0tLQorIyBDaGVjayB2YWN1dW0gc3RhdGlzdGljcworIyAtLS0tLS0t LS0tCit0ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRpc3RpY3MKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFi bGVzX3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxl c19zdGF0aXN0aWNzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uNDFlMzg3ZGQzMDQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCkBAIC0wLDAgKzEsMTU4IEBACistLQor LS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0 aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoK Ky0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsK Ky0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNr ZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRl c3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorCistLSBjb25kaXRp byBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgorLS0g bm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgorU0VU IHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKworCistLSBlbnN1cmUgcGVuZGluZyBzdGF0 cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworCitc c2V0IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsK K1NFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9IDA7CistLVNFVCBzdGF0c19mZXRjaF9j b25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJ VEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VS VCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVf c2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJv bSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworREVMRVRFIEZS T00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVt IGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJl bG5hbWUscGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLHBhZ2VzX3NjYW5u ZWQscGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKK1NFTEVDVCByZWxwYWdlcyBBUyBycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNB R0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVj ZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0g VGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQg c2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdl cywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5v dCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNf ZnJvemVuID4gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxl c19kZWxldGVkLHJlbHBhZ2VzLTpycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZCA+ IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkID0gMCBBUyBwYWdlc19yZW1vdmVk CitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHBhZ2Vz X2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFn ZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMg aW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFT IGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUg cmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tIExvb2sgaW50byBXQUwgcmVjb3JkcyBk ZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRXUiwgd2FsX2J5dGVzID4gMCBB UyBkV0IKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVz dGF0JzsKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVG RkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0 IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7 CisKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxu YW1lLHBhZ2VzX2Zyb3plbi06ZnAgPiAwIEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRl ZC06dGQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBh Z2VzLHBhZ2VzX3NjYW5uZWQtOnBzID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92 ZWQtOnByID4gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5y ZWxpZCA9IGMub2lkOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRl ZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVt b3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3Nl dAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxf cmVjb3Jkcy06aHdyIEFTIGR3ciwgd2FsX2J5dGVzLTpod2IgQVMgZHdiLCB3YWxfZnBpLTpo ZnBpIEFTIGRmcGkKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0JyBcZ3NldAorCistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQu CitTRUxFQ1QgOmR3ciA+IDAgQVMgZFdSLCA6ZHdiID4gMCBBUyBkV0I7CisKKy0tIFN0b3Jl IFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3 cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBG VUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFu Y2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBG VUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRp c3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlh YmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMiwgd2FsX2J5dGVzLTpod2Ig QVMgZHdiMiwgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tIFdBTCBhbmQgb3Ro ZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1Qg OmR3cjI9MCBBUyBkV1IsIDpkZnBpMj0wIEFTIGRGUEksIDpkd2IyPTAgQVMgZFdCOworCitT RUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID0gMCBBUyBwYWdlc19mcm96ZW4s dHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJw IDwgMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5l ZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgZnAs dHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMg cHMscGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQg PSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMK K1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFT IGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXQnIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZB Q1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5V UCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0 YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZh cmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitTRUxF Q1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IzLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IzLCB3 YWxfZnBpLTpoZnBpIEFTIGRmcGkzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworLS1UaGVyZSBhcmUgbm90aGluZyBjaGFu Z2VkCitTRUxFQ1QgOmR3cjM+MCBBUyBkV1IsIDpkZnBpMz0wIEFTIGRGUEksIDpkd2IzPjAg QVMgZFdCOworCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNz ZWQgaW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBl eHRlbmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5l ZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxw YWdlc19mcm96ZW4tOmZwID0gMCBBUyBwYWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRk ID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxw YWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpw ciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVf c2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CisKKy0tIG11 c3QgYmUgZW1wdHkKK1NFTEVDVCBwYWdlc19mcm96ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCBy ZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKworVkFDVVVNIChQ QVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKKy0tIGJhY2tl bmQgZGVmcmVlemVkIHBhZ2VzCitTRUxFQ1QgcGFnZXNfZnJvemVuID4gMCBBUyBwYWdlc19m cm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPiAwIEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9h bGxfZnJvemVuX3BhZ2VzID0gMCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zp c2libGVfcGFnZXMgPSAwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOworU0VMRUNUIHBhZ2Vz X2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxfZnJvemVu X3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitV UERBVEUgdmVzdGF0IFNFVCB4ID0geCsxMDAxOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZG RVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKK1NFTEVDVCBwYWdlc19mcm96ZW4gPiA6 cGYgQVMgcGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4gOnB2IEFTIHBhZ2VzX2Fs bF92aXNpYmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96 ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNp YmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdCc7CitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIHBmLCBwYWdlc19hbGxfdmlzaWJs ZSBBUyBwdiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVf cGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnIFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCkgdmVzdGF0OworCistLSB2YWN1dW0gZnJlZXplZCBwYWdlcworU0VMRUNU IHBhZ2VzX2Zyb3plbiA9IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUg PSA6cHYgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFm cCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2 cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FE RTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi0tIAoyLjM0LjEKCg== --------------KTO0Lkx3jeSP1KiShSAtFyX3 Content-Type: text/x-patch; charset=UTF-8; name="v7-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v7-0002-Machinery-for-grabbing-an-extended-vacuum-statistics"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBkNzM3MTM0YzhjODJjMjA1OTU3N2Y0N2VlYmYxZjE0MmVmYzE4ZTU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAyNCAxNzowOToyMSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMi8zXSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBoZWFwIGFuZCBpbmRleCByZWxhdGlvbnMuIFJlbWVtYmVy LCBzdGF0aXN0aWMgb24gaGVhcCBhbmQgaW5kZXggcmVsYXRpb25zIGEKIGJpdCBkaWZmZXJl bnQgKHNlZSBFeHRWYWNSZXBvcnQgdG8gZmluZCBvdXQgbW9yZSBpbmZvcm1hdGlvbikuIFRo ZSBjb25jZXB0IG9mCiB0aGUgRXh0VmFjUmVwb3J0IHN0cnVjdHVyZSBoYXMgYmVlbiBjb21w bGljYXRlZCB0byBzdG9yZSBzdGF0aXN0aWMKIGluZm9ybWF0aW9uIGZvciB0d28ga2luZHMg b2YgcmVsYXRpb25zOiBmb3IgaGVhcCBhbmQgaW5kZXggcmVsYXRpb25zLgogRXh0VmFjUmVw b3J0VHlwZSB2YXJpYWJsZSBoZWxwcyB0byBkZXRlcm1pbmUgd2hhdCB0aGUga2luZCBpcyBj b25zaWRlcmluZwogbm93LgoKLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1s YXp5LmMgICAgICAgICAgfCAgOTkgKysrKysrKysrLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8ICA0MSArKysrKwogc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMgICAgICAgICAgIHwgICA3ICstCiBzcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDEgKysrLS0KIHNyYy9iYWNr ZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8ICA5OSArKysrKystLS0t LQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAgIHwgICA5 ICsKIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1 MiArKysrLS0KIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCAg ICB8ICAgNyArLQogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3Bl YyAgIHwgICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29wcl9zYW5pdHkub3V0 ICAgICAgfCAgIDcgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAg ICAgICAgICB8ICAyNiArKysKIC4uLi9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGlj cy5vdXQgICAgICB8IDE1OCArKysrKysrKysrKysrKysrKysKIC4uLi9leHBlY3RlZC92YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0ICAgICB8ICAgMyArLQogc3JjL3Rlc3QvcmVncmVz cy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3Nx bC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgICB8IDEyOCArKysrKysrKysrKysrKwog MTUgZmlsZXMgY2hhbmdlZCwgNTk5IGluc2VydGlvbnMoKyksIDgxIGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVz cy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hl YXAvdmFjdXVtbGF6eS5jCmluZGV4IGQ2MzMwM2M3ZmI3Li45YzUzZDBiNGM1NyAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCisrKyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwpAQCAtMTY4LDYgKzE2OCw3IEBAIHR5 cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAljaGFyCSAgICpkYm5hbWU7CiAJY2hhcgkgICAq cmVsbmFtZXNwYWNlOwogCU9pZAkJCXJlbG9pZDsKKwlPaWQJCQlpbmRvaWQ7CiAJY2hhcgkg ICAqcmVsbmFtZTsKIAljaGFyCSAgICppbmRuYW1lOwkJLyogQ3VycmVudCBpbmRleCBuYW1l ICovCiAJQmxvY2tOdW1iZXIgYmxrbm87CQkJLyogdXNlZCBvbmx5IGZvciBoZWFwIG9wZXJh dGlvbnMgKi8KQEAgLTI0Niw2ICsyNDcsMTMgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0 Q291bnRlcnMKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0OwogfSBMVkV4dFN0YXRDb3Vu dGVyczsKIAordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnNJZHgKK3sKKwlMVkV4 dFN0YXRDb3VudGVycyBjb21tb247CisJaW50NjQJCXBhZ2VzX2RlbGV0ZWQ7CisJaW50NjQJ CXR1cGxlc19yZW1vdmVkOworfSBMVkV4dFN0YXRDb3VudGVyc0lkeDsKKwogLyogbm9uLWV4 cG9ydCBmdW5jdGlvbiBwcm90b3R5cGVzICovCiBzdGF0aWMgdm9pZCBsYXp5X3NjYW5faGVh cChMVlJlbFN0YXRlICp2YWNyZWwpOwogc3RhdGljIGJvb2wgaGVhcF92YWNfc2Nhbl9uZXh0 X2Jsb2NrKExWUmVsU3RhdGUgKnZhY3JlbCwgQmxvY2tOdW1iZXIgKmJsa25vLApAQCAtNDA4 LDYgKzQxNiw0NiBAQCBleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0 Q291bnRlcnMgKmNvdW50ZXJzLAogCQlyZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tz X2hpdCAtIGNvdW50ZXJzLT5ibG9ja3NfaGl0OwogfQogCitzdGF0aWMgdm9pZAorZXh0dmFj X3N0YXRzX3N0YXJ0X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAq c3RhdHMsCisJCQkJCSAgIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycykKK3sKKwll eHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmY291bnRlcnMtPmNvbW1vbik7CisJY291bnRlcnMt PnBhZ2VzX2RlbGV0ZWQgPSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQgPSAwOworCisJaWYg KHN0YXRzICE9IE5VTEwpCisJeworCQkvKgorCQkgKiBYWFg6IFdoeSBkbyB3ZSBuZWVkIHRo aXMgY29kZSBoZXJlPyBJZiBpdCBpcyBuZWVkZWQsIEkgZmVlbCBsYWNrIG9mCisJCSAqIGNv bW1lbnRzLCBkZXNjcmliaW5nIHRoZSByZWFzb24uCisJCSAqLworCQljb3VudGVycy0+dHVw bGVzX3JlbW92ZWQgPSBzdGF0cy0+dHVwbGVzX3JlbW92ZWQ7CisJCWNvdW50ZXJzLT5wYWdl c19kZWxldGVkID0gc3RhdHMtPnBhZ2VzX2RlbGV0ZWQ7CisJfQorfQorCitzdGF0aWMgdm9p ZAorZXh0dmFjX3N0YXRzX2VuZF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVS ZXN1bHQgKnN0YXRzLAorCQkJCQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzLCBF eHRWYWNSZXBvcnQgKnJlcG9ydCkKK3sKKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmNvdW50 ZXJzLT5jb21tb24sIHJlcG9ydCk7CisJcmVwb3J0LT50eXBlID0gUEdTVEFUX0VYVFZBQ19J TkRFWDsKKworCWlmIChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogaWYgc29tZXRo aW5nIGdvZXMgd3Jvbmcgb3IgYW4gdXNlciBkb2Vzbid0IHdhbnQgdG8gdHJhY2sgYSBkYXRh YmFzZQorCQkgKiBhY3Rpdml0eSAtIGp1c3Qgc3VwcHJlc3MgaXQuCisJCSAqLworCisJCS8q IEZpbGwgaW5kZXgtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCisJCXJlcG9y dC0+aW5kZXgudHVwbGVzX2RlbGV0ZWQgPQorCQkJCQkJCXN0YXRzLT50dXBsZXNfcmVtb3Zl ZCAtIGNvdW50ZXJzLT50dXBsZXNfcmVtb3ZlZDsKKwkJcmVwb3J0LT5pbmRleC5wYWdlc19k ZWxldGVkID0KKwkJCQkJCQlzdGF0cy0+cGFnZXNfZGVsZXRlZCAtIGNvdW50ZXJzLT5wYWdl c19kZWxldGVkOworCX0KK30KKwogLyoKICAqCWhlYXBfdmFjdXVtX3JlbCgpIC0tIHBlcmZv cm0gVkFDVVVNIGZvciBvbmUgaGVhcCByZWxhdGlvbgogICoKQEAgLTcxMSwxNCArNzU5LDE1 IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1z LAogCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBv cnQpOwogCiAJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAq LwotCWV4dFZhY1JlcG9ydC5wYWdlc19zY2FubmVkID0gdmFjcmVsLT5zY2FubmVkX3BhZ2Vz OwotCWV4dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0gdmFjcmVsLT5yZW1vdmVkX3BhZ2Vz OwotCWV4dFZhY1JlcG9ydC5wYWdlc19mcm96ZW4gPSB2YWNyZWwtPnNldF9mcm96ZW5fcGFn ZXM7Ci0JZXh0VmFjUmVwb3J0LnBhZ2VzX2FsbF92aXNpYmxlID0gdmFjcmVsLT5zZXRfYWxs X3Zpc2libGVfcGFnZXM7Ci0JZXh0VmFjUmVwb3J0LnR1cGxlc19kZWxldGVkID0gdmFjcmVs LT50dXBsZXNfZGVsZXRlZDsKLQlleHRWYWNSZXBvcnQudHVwbGVzX2Zyb3plbiA9IHZhY3Jl bC0+dHVwbGVzX2Zyb3plbjsKLQlleHRWYWNSZXBvcnQuZGVhZF90dXBsZXMgPSB2YWNyZWwt PnJlY2VudGx5X2RlYWRfdHVwbGVzICsgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7Ci0J ZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9jb3VudCA9IHZhY3JlbC0+bnVtX2luZGV4X3Nj YW5zOworCWV4dFZhY1JlcG9ydC50eXBlID0gUEdTVEFUX0VYVFZBQ19IRUFQOworCWV4dFZh Y1JlcG9ydC5oZWFwLnBhZ2VzX3NjYW5uZWQgPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7CisJ ZXh0VmFjUmVwb3J0LmhlYXAucGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+cmVtb3ZlZF9wYWdl czsKKwlleHRWYWNSZXBvcnQuaGVhcC5wYWdlc19mcm96ZW4gPSB2YWNyZWwtPnNldF9mcm96 ZW5fcGFnZXM7CisJZXh0VmFjUmVwb3J0LmhlYXAucGFnZXNfYWxsX3Zpc2libGUgPSB2YWNy ZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlczsKKwlleHRWYWNSZXBvcnQuaGVhcC50dXBsZXNf ZGVsZXRlZCA9IHZhY3JlbC0+dHVwbGVzX2RlbGV0ZWQ7CisJZXh0VmFjUmVwb3J0LmhlYXAu dHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwlleHRWYWNSZXBvcnQu aGVhcC5kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKyB2YWNy ZWwtPm1pc3NlZF9kZWFkX3R1cGxlczsKKwlleHRWYWNSZXBvcnQuaGVhcC5pbmRleF92YWN1 dW1fY291bnQgPSB2YWNyZWwtPm51bV9pbmRleF9zY2FuczsKIAogCS8qCiAJICogUmVwb3J0 IHJlc3VsdHMgdG8gdGhlIGN1bXVsYXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCkBAIC0yNTgz LDYgKzI2MzIsMTAgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwg SW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIHsKIAlJbmRleFZhY3V1bUluZm8gaXZp bmZvOwogCUxWU2F2ZWRFcnJJbmZvIHNhdmVkX2Vycl9pbmZvOworCUxWRXh0U3RhdENvdW50 ZXJzSWR4IGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CisK KwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVy cyk7CiAKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNy ZWwtPnJlbDsKQEAgLTI2MDEsNiArMjY1NCw3IEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChS ZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJICovCiAJ QXNzZXJ0KHZhY3JlbC0+aW5kbmFtZSA9PSBOVUxMKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBw c3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGluZHJlbCkpOworCXZhY3JlbC0+aW5k b2lkID0gUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpOwogCXVwZGF0ZV92YWN1dW1fZXJyb3Jf aW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbywKIAkJCQkJCQkgVkFDVVVNX0VSUkNCX1BI QVNFX1ZBQ1VVTV9JTkRFWCwKIAkJCQkJCQkgSW52YWxpZEJsb2NrTnVtYmVyLCBJbnZhbGlk T2Zmc2V0TnVtYmVyKTsKQEAgLTI2MDksNiArMjY2MywxMyBAQCBsYXp5X3ZhY3V1bV9vbmVf aW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAog CWlzdGF0ID0gdmFjX2J1bGtkZWxfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0LCAodm9pZCAq KSB2YWNyZWwtPmRlYWRfaXRlbXMsCiAJCQkJCQkJCSAgdmFjcmVsLT5kZWFkX2l0ZW1zX2lu Zm8pOwogCisJLyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRl eCAqLworCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3Vu dGVycywgJmV4dFZhY1JlcG9ydCk7CisKKwlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlv bkdldFJlbGlkKGluZHJlbCksCisJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVk LAorCQkJCQkJCTAsIDAsICZleHRWYWNSZXBvcnQpOworCiAJLyogUmV2ZXJ0IHRvIHRoZSBw cmV2aW91cyBwaGFzZSBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgdHJhY2ViYWNrICovCiAJcmVz dG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbyk7CiAJcGZy ZWUodmFjcmVsLT5pbmRuYW1lKTsKQEAgLTI2MzMsNiArMjY5NCwxMCBAQCBsYXp5X2NsZWFu dXBfb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpp c3RhdCwKIHsKIAlJbmRleFZhY3V1bUluZm8gaXZpbmZvOwogCUxWU2F2ZWRFcnJJbmZvIHNh dmVkX2Vycl9pbmZvOworCUxWRXh0U3RhdENvdW50ZXJzSWR4IGV4dFZhY0NvdW50ZXJzOwor CUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CisKKwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4 KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CiAKIAlpdmluZm8uaW5kZXggPSBp bmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNyZWwtPnJlbDsKQEAgLTI2NTIsMTIgKzI3 MTcsMjAgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4 QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJICovCiAJQXNzZXJ0KHZhY3JlbC0+aW5kbmFt ZSA9PSBOVUxMKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBwc3RyZHVwKFJlbGF0aW9uR2V0UmVs YXRpb25OYW1lKGluZHJlbCkpOworCXZhY3JlbC0+aW5kb2lkID0gUmVsYXRpb25HZXRSZWxp ZChpbmRyZWwpOwogCXVwZGF0ZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9l cnJfaW5mbywKIAkJCQkJCQkgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVAsCiAJ CQkJCQkJIEludmFsaWRCbG9ja051bWJlciwgSW52YWxpZE9mZnNldE51bWJlcik7CiAKIAlp c3RhdCA9IHZhY19jbGVhbnVwX29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCk7CiAKKwkvKiBN YWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCisJZXh0dmFj X3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFj UmVwb3J0KTsKKworCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQoaW5k cmVsKSwKKwkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJMCwg MCwgJmV4dFZhY1JlcG9ydCk7CisKIAkvKiBSZXZlcnQgdG8gdGhlIHByZXZpb3VzIHBoYXNl IGluZm9ybWF0aW9uIGZvciBlcnJvciB0cmFjZWJhY2sgKi8KIAlyZXN0b3JlX3ZhY3V1bV9l cnJvcl9pbmZvKHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvKTsKIAlwZnJlZSh2YWNyZWwtPmlu ZG5hbWUpOwpAQCAtMzI3NCw3ICszMzQ3LDcgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZv aWQgKmFyZykKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVBUDoKIAkJ CWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQotCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKGVycmluZm8tPnJlbG9pZCk7CisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJy b3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX0hFQVApOwogCQkJaWYgKEJsb2Nr TnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CiAJCQkJaWYgKE9mZnNldE51 bWJlcklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkKQEAgLTMyOTEsNyArMzM2NCw3IEBAIHZh Y3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0Jf UEhBU0VfVkFDVVVNX0hFQVA6CiAJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKLQkJ CQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQpOworCQkJCXBn c3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZB Q19IRUFQKTsKIAkJCWlmIChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQog CQkJewogCQkJCWlmIChPZmZzZXROdW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCkBA IC0zMzA3LDE2ICszMzgwLDIyIEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcp CiAJCQlicmVhazsKIAogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9WQUNVVU1fSU5ERVg6 CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3Zh Y3V1bV9lcnJvcihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOwogCQkJ ZXJyY29udGV4dCgid2hpbGUgdmFjdXVtaW5nIGluZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBc IiVzLiVzXCIiLAogCQkJCQkgICBlcnJpbmZvLT5pbmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1l c3BhY2UsIGVycmluZm8tPnJlbG5hbWUpOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1f RVJSQ0JfUEhBU0VfSU5ERVhfQ0xFQU5VUDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVS Uk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPmluZG9pZCwg UEdTVEFUX0VYVFZBQ19JTkRFWCk7CiAJCQllcnJjb250ZXh0KCJ3aGlsZSBjbGVhbmluZyB1 cCBpbmRleCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5m by0+aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsK IAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1RSVU5DQVRFOgorCQkJ aWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1f ZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX0hFQVApOwogCQkJaWYgKEJs b2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQkJZXJyY29udGV4dCgid2hp bGUgdHJ1bmNhdGluZyByZWxhdGlvbiBcIiVzLiVzXCIgdG8gJXUgYmxvY2tzIiwKIAkJCQkJ CSAgIGVycmluZm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFtZSwgZXJyaW5mby0+ Ymxrbm8pOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Mu c3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IDMxYmU3 ZjA0NDc2Li5iYmM4YTQzMDcxMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbApAQCAtMTQzMSwzICsxNDMxLDQ0IEBAIFdIRVJFCiAgIGRiLmRhdG5hbWUgPSBjdXJy ZW50X2RhdGFiYXNlKCkgQU5ECiAgIHJlbC5vaWQgPSBzdGF0cy5yZWxpZCBBTkQKICAgbnMu b2lkID0gcmVsLnJlbG5hbWVzcGFjZTsKKworQ1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1dW1f aW5kZXhlcyBBUworU0VMRUNUCisgIHJlbC5vaWQgYXMgcmVsaWQsCisgIG5zLm5zcG5hbWUg QVMgInNjaGVtYSIsCisgIHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUsCisKKyAgc3RhdHMudG90 YWxfYmxrc19yZWFkLAorICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgc3RhdHMudG90YWxf Ymxrc19kaXJ0aWVkLAorICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMu cmVsX2Jsa3NfcmVhZCwKKyAgc3RhdHMucmVsX2Jsa3NfaGl0LAorCisgIHN0YXRzLnBhZ2Vz X2RlbGV0ZWQsCisgIHN0YXRzLnR1cGxlc19kZWxldGVkLAorCisgIHN0YXRzLndhbF9yZWNv cmRzLAorICBzdGF0cy53YWxfZnBpLAorICBzdGF0cy53YWxfYnl0ZXMsCisKKyAgc3RhdHMu YmxrX3JlYWRfdGltZSwKKyAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisKKyAgc3RhdHMuZGVs YXlfdGltZSwKKyAgc3RhdHMuc3lzdGVtX3RpbWUsCisgIHN0YXRzLnVzZXJfdGltZSwKKyAg c3RhdHMudG90YWxfdGltZSwKKworICBzdGF0cy5pbnRlcnJ1cHRzCitGUk9NCisgIHBnX2Rh dGFiYXNlIGRiLAorICBwZ19jbGFzcyByZWwsCisgIHBnX25hbWVzcGFjZSBucywKKyAgcGdf c3RhdF92YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0cworV0hFUkUKKyAgZGIuZGF0bmFt ZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSBBTkQKKyAgcmVsLm9pZCA9IHN0YXRzLnJlbGlkIEFO RAorICBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlOworCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdC5jCmluZGV4IDgwOGE1ZjE1YzgyLi5mYjE4M2Q1YjczMyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTEwNzMsNyArMTA3Myw4IEBAIHBnc3Rh dF91cGRhdGVfc25hcHNob3QoUGdTdGF0X0tpbmQga2luZCkKIAlQR19UUlkoKTsKIAl7CiAJ CXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9T TkFQU0hPVDsKLQkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX1JFTEFUSU9O KTsKKwkJaWYgKGtpbmQgPT0gUEdTVEFUX0tJTkRfUkVMQVRJT04pCisJCQlwZ3N0YXRfYnVp bGRfc25hcHNob3QoUEdTVEFUX0tJTkRfUkVMQVRJT04pOwogCX0KIAlQR19GSU5BTExZKCk7 CiAJewpAQCAtMTEyOCw2ICsxMTI5LDEwIEBAIHBnc3RhdF9idWlsZF9zbmFwc2hvdChQZ1N0 YXRfS2luZCBzdGF0S2luZCkKIAkJaWYgKHAtPmRyb3BwZWQpCiAJCQljb250aW51ZTsKIAor CQlpZiAoc3RhdEtpbmQgIT0gUEdTVEFUX0tJTkRfSU5WQUxJRCAmJiBzdGF0S2luZCAhPSBw LT5rZXkua2luZCkKKwkJCS8qIExvYWQgc3RhdCBvZiBzcGVjaWZpYyB0eXBlLCBpZiBkZWZp bmVkICovCisJCQljb250aW51ZTsKKwogCQlBc3NlcnQocGdfYXRvbWljX3JlYWRfdTMyKCZw LT5yZWZjb3VudCkgPiAwKTsKIAogCQlzdGF0c19kYXRhID0gZHNhX2dldF9hZGRyZXNzKHBn U3RhdExvY2FsLmRzYSwgcC0+Ym9keSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IDc5MWQ3NzdmYmM2Li41Yzk1MzYzYzA0YSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9u LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMK QEAgLTIxMyw3ICsyMTMsNyBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwp CiAgKiAtLS0tLS0tLS0KICAqLwogdm9pZAotcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3Io T2lkIHRhYmxlb2lkKQorcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lk LCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSkKIHsKIAlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5 X3JlZjsKIAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50cnk7CkBAIC0yMzAsNiAr MjMwLDcgQEAgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKQogCXRh YmVudHJ5ID0gJnNodGFiZW50cnktPnN0YXRzOwogCiAJdGFiZW50cnktPnZhY3V1bV9leHQu aW50ZXJydXB0cysrOworCXRhYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7CiAJ cGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOwogfQogCkBAIC0xMDQyLDE1ICsxMDQz LDMxIEBAIHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRz dCwgRXh0VmFjUmVwb3J0ICpzcmMsCiAJaWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lm aWNfaW5mbykKIAkJcmV0dXJuOwogCi0JZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3JjLT5ibGtz X2ZldGNoZWQ7Ci0JZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OwotCi0JZHN0LT5w YWdlc19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKLQlkc3QtPnBhZ2VzX3JlbW92 ZWQgKz0gc3JjLT5wYWdlc19yZW1vdmVkOwotCWRzdC0+cGFnZXNfZnJvemVuICs9IHNyYy0+ cGFnZXNfZnJvemVuOwotCWRzdC0+cGFnZXNfYWxsX3Zpc2libGUgKz0gc3JjLT5wYWdlc19h bGxfdmlzaWJsZTsKLQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0 ZWQ7Ci0JZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3plbjsKLQlkc3Qt PmRlYWRfdHVwbGVzICs9IHNyYy0+ZGVhZF90dXBsZXM7Ci0JZHN0LT5pbmRleF92YWN1dW1f Y291bnQgKz0gc3JjLT5pbmRleF92YWN1dW1fY291bnQ7CisJaWYgKGRzdC0+dHlwZSA9PSBQ R1NUQVRfRVhUVkFDX0lOVkFMSUQpCisJCWRzdC0+dHlwZSA9IHNyYy0+dHlwZTsKKworCUFz c2VydChzcmMtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEIHx8IHNyYy0+dHlwZSA9 PSBkc3QtPnR5cGUpOworCisJaWYgKGRzdC0+dHlwZSA9PSBzcmMtPnR5cGUpCisJeworCQlk c3QtPmJsa3NfZmV0Y2hlZCArPSBzcmMtPmJsa3NfZmV0Y2hlZDsKKwkJZHN0LT5ibGtzX2hp dCArPSBzcmMtPmJsa3NfaGl0OworCisJCWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZB Q19IRUFQKQorCQl7CisJCQlkc3QtPmhlYXAucGFnZXNfc2Nhbm5lZCArPSBzcmMtPmhlYXAu cGFnZXNfc2Nhbm5lZDsKKwkJCWRzdC0+aGVhcC5wYWdlc19yZW1vdmVkICs9IHNyYy0+aGVh cC5wYWdlc19yZW1vdmVkOworCQkJZHN0LT5oZWFwLnBhZ2VzX2Zyb3plbiArPSBzcmMtPmhl YXAucGFnZXNfZnJvemVuOworCQkJZHN0LT5oZWFwLnBhZ2VzX2FsbF92aXNpYmxlICs9IHNy Yy0+aGVhcC5wYWdlc19hbGxfdmlzaWJsZTsKKwkJCWRzdC0+aGVhcC50dXBsZXNfZGVsZXRl ZCArPSBzcmMtPmhlYXAudHVwbGVzX2RlbGV0ZWQ7CisJCQlkc3QtPmhlYXAudHVwbGVzX2Zy b3plbiArPSBzcmMtPmhlYXAudHVwbGVzX2Zyb3plbjsKKwkJCWRzdC0+aGVhcC5kZWFkX3R1 cGxlcyArPSBzcmMtPmhlYXAuZGVhZF90dXBsZXM7CisJCQlkc3QtPmhlYXAuaW5kZXhfdmFj dXVtX2NvdW50ICs9IHNyYy0+aGVhcC5pbmRleF92YWN1dW1fY291bnQ7CisJCX0KKwkJZWxz ZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCisJCXsKKwkJCWRzdC0+ aW5kZXgucGFnZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnBhZ2VzX2RlbGV0ZWQ7CisJCQlk c3QtPmluZGV4LnR1cGxlc19kZWxldGVkICs9IHNyYy0+aW5kZXgudHVwbGVzX2RlbGV0ZWQ7 CisJCX0KKwl9CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCAwOTY2YzBiZjI4Yi4uODQzODc1MDdjZTcgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMDg5LDE3ICsyMDg5LDE5 IEBAIHBnX3N0YXRfaGF2ZV9zdGF0cyhQR19GVU5DVElPTl9BUkdTKQogfQogCiAjZGVmaW5l IEVYVFZBQ0hFQVBTVEFUX0NPTFVNTlMJMjcKKyNkZWZpbmUgRVhUVkFDSURYU1RBVF9DT0xV TU5TCTE5CisjZGVmaW5lIEVYVFZBQ1NUQVRfQ09MVU1OUyBNYXgoRVhUVkFDSEVBUFNUQVRf Q09MVU1OUywgRVhUVkFDSURYU1RBVF9DT0xVTU5TKQogCiBzdGF0aWMgdm9pZAogdHVwbGVz dG9yZV9wdXRfZm9yX3JlbGF0aW9uKE9pZCByZWxpZCwgUmV0dXJuU2V0SW5mbyAqcnNpbmZv LAogCQkJCQkJCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5KQogewotCURhdHVtCQl2 YWx1ZXNbRVhUVkFDSEVBUFNUQVRfQ09MVU1OU107Ci0JYm9vbAkJbnVsbHNbRVhUVkFDSEVB UFNUQVRfQ09MVU1OU107CisJRGF0dW0JCXZhbHVlc1tFWFRWQUNTVEFUX0NPTFVNTlNdOwor CWJvb2wJCW51bGxzW0VYVFZBQ1NUQVRfQ09MVU1OU107CiAJY2hhcgkJYnVmWzI1Nl07CiAJ aW50CQkJaSA9IDA7CiAKLQltZW1zZXQobnVsbHMsIDAsIEVYVFZBQ0hFQVBTVEFUX0NPTFVN TlMgKiBzaXplb2YoYm9vbCkpOworCW1lbXNldChudWxscywgMCwgRVhUVkFDU1RBVF9DT0xV TU5TICogc2l6ZW9mKGJvb2wpKTsKIAogCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1 bShyZWxpZCk7CiAKQEAgLTIxMTIsMTYgKzIxMTQsMjUgQEAgdHVwbGVzdG9yZV9wdXRfZm9y X3JlbGF0aW9uKE9pZCByZWxpZCwgUmV0dXJuU2V0SW5mbyAqcnNpbmZvLAogCQkJCQkJCQkJ dGFiZW50cnktPnZhY3V1bV9leHQuYmxrc19oaXQpOwogCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5ibGtzX2hpdCk7CiAKLQl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQucGFnZXNfc2Nhbm5lZCk7 Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnBh Z2VzX3JlbW92ZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+ dmFjdXVtX2V4dC5wYWdlc19mcm96ZW4pOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5wYWdlc19hbGxfdmlzaWJsZSk7Ci0JdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LnR1cGxlc19kZWxldGVk KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQu dHVwbGVzX2Zyb3plbik7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5 LT52YWN1dW1fZXh0LmRlYWRfdHVwbGVzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0odGFiZW50cnktPnZhY3V1bV9leHQuaW5kZXhfdmFjdXVtX2NvdW50KTsKLQl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnJldl9hbGxfZnJvemVuX3BhZ2VzKTsK LQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnJldl9hbGxfdmlzaWJs ZV9wYWdlcyk7CisJaWYgKHRhYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPT0gUEdTVEFUX0VY VFZBQ19IRUFQKQorCXsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5 LT52YWN1dW1fZXh0LmhlYXAucGFnZXNfc2Nhbm5lZCk7CisJCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5oZWFwLnBhZ2VzX3JlbW92ZWQpOwor CQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaGVh cC5wYWdlc19mcm96ZW4pOworCQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50 cnktPnZhY3V1bV9leHQuaGVhcC5wYWdlc19hbGxfdmlzaWJsZSk7CisJCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5oZWFwLnR1cGxlc19kZWxl dGVkKTsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1f ZXh0LmhlYXAudHVwbGVzX2Zyb3plbik7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bSh0YWJlbnRyeS0+dmFjdXVtX2V4dC5oZWFwLmRlYWRfdHVwbGVzKTsKKwkJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LmhlYXAuaW5kZXhfdmFj dXVtX2NvdW50KTsKKwkJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT5y ZXZfYWxsX2Zyb3plbl9wYWdlcyk7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0 YWJlbnRyeS0+cmV2X2FsbF92aXNpYmxlX3BhZ2VzKTsKKworCX0KKwllbHNlIGlmICh0YWJl bnRyeS0+dmFjdXVtX2V4dC50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCisJeworCQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQuaW5kZXgu cGFnZXNfZGVsZXRlZCk7CisJCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bSh0YWJlbnRy eS0+dmFjdXVtX2V4dC5pbmRleC50dXBsZXNfZGVsZXRlZCk7CisJfQogCiAJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKHRhYmVudHJ5LT52YWN1dW1fZXh0LndhbF9yZWNvcmRzKTsK IAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0odGFiZW50cnktPnZhY3V1bV9leHQud2Fs X2ZwaSk7CkBAIC0yMTQ5LDEwICsyMTYwLDkgQEAgdHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0 aW9uKE9pZCByZWxpZCwgUmV0dXJuU2V0SW5mbyAqcnNpbmZvLAogICogR2V0IHRoZSB2YWN1 dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgdGFibGVzIG9yIGluZGV4ZXMuCiAgKi8KIHN0 YXRpYyB2b2lkCi1wZ19zdGF0c192YWN1dW0oRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sIGlu dCBuY29sdW1ucykKK3BnX3N0YXRzX3ZhY3V1bShGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywg RXh0VmFjUmVwb3J0VHlwZSB0eXBlLCBpbnQgbmNvbHVtbnMpCiB7CiAJUmV0dXJuU2V0SW5m bwkJICAgKnJzaW5mbyA9IChSZXR1cm5TZXRJbmZvICopIGZjaW5mby0+cmVzdWx0aW5mbzsK LQlPaWQJCQkJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CiAJUGdTdGF0X1N0YXRUYWJF bnRyeSAgICAqdGFiZW50cnk7CiAKIAlJbml0TWF0ZXJpYWxpemVkU1JGKGZjaW5mbywgMCk7 CkBAIC0yMTY1LDM1ICsyMTc1LDM3IEBAIHBnX3N0YXRzX3ZhY3V1bShGdW5jdGlvbkNhbGxJ bmZvIGZjaW5mbywgaW50IG5jb2x1bW5zKQogCUFzc2VydChyc2luZm8tPnNldERlc2MtPm5h dHRzID09IG5jb2x1bW5zKTsKIAlBc3NlcnQocnNpbmZvLT5zZXRSZXN1bHQgIT0gTlVMTCk7 CiAKLQkvKiBMb2FkIHRhYmxlIHN0YXRpc3RpY3MgZm9yIHNwZWNpZmllZCBkYXRhYmFzZS4g Ki8KLQlpZiAoT2lkSXNWYWxpZChyZWxpZCkpCisJaWYgKHR5cGUgPT0gUEdTVEFUX0VYVFZB Q19JTkRFWCB8fCB0eXBlID09IFBHU1RBVF9FWFRWQUNfSEVBUCkKIAl7Ci0JCXRhYmVudHJ5 ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQpOwotCQlpZiAodGFiZW50cnkg PT0gTlVMTCkKLQkJCS8qIFRhYmxlIGRvbid0IGV4aXN0cyBvciBpc24ndCBhbiBoZWFwIHJl bGF0aW9uLiAqLwotCQkJcmV0dXJuOworCQlPaWQJCQkJCXJlbGlkID0gUEdfR0VUQVJHX09J RCgwKTsKIAotCQl0dXBsZXN0b3JlX3B1dF9mb3JfcmVsYXRpb24ocmVsaWQsIHJzaW5mbywg dGFiZW50cnkpOwotCX0KLQllbHNlCi0JewotCQlTbmFwc2hvdEl0ZXJhdG9yCQloYXNoaXRl cjsKLQkJUGdTdGF0X1NuYXBzaG90RW50cnkgICAqZW50cnk7Ci0KLQkJLyogSXRlcmF0ZSB0 aGUgc25hcHNob3QgKi8KLQkJSW5pdFNuYXBzaG90SXRlcmF0b3IocGdTdGF0TG9jYWwuc25h cHNob3Quc3RhdHMsICZoYXNoaXRlcik7CisJCS8qIExvYWQgdGFibGUgc3RhdGlzdGljcyBm b3Igc3BlY2lmaWVkIHJlbGF0aW9uLiAqLworCQlpZiAoT2lkSXNWYWxpZChyZWxpZCkpCisJ CXsKKwkJCXRhYmVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQpOwor CQkJaWYgKHRhYmVudHJ5ID09IE5VTEwgfHwgdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSAh PSB0eXBlKQorCQkJCS8qIFRhYmxlIGRvbid0IGV4aXN0cyBvciBpc24ndCBhbiBoZWFwIHJl bGF0aW9uLiAqLworCQkJCXJldHVybjsKIAotCQl3aGlsZSAoKGVudHJ5ID0gU2NhblN0YXRT bmFwc2hvdChwZ1N0YXRMb2NhbC5zbmFwc2hvdC5zdGF0cywgJmhhc2hpdGVyKSkgIT0gTlVM TCkKKwkJCXR1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihyZWxpZCwgcnNpbmZvLCB0YWJl bnRyeSk7CisJCX0KKwkJZWxzZQogCQl7Ci0JCQlPaWQJcmVsb2lkOworCQkJU25hcHNob3RJ dGVyYXRvcgkJaGFzaGl0ZXI7CisJCQlQZ1N0YXRfU25hcHNob3RFbnRyeSAgICplbnRyeTsK KworCQkJLyogSXRlcmF0ZSB0aGUgc25hcHNob3QgKi8KKwkJCUluaXRTbmFwc2hvdEl0ZXJh dG9yKHBnU3RhdExvY2FsLnNuYXBzaG90LnN0YXRzLCAmaGFzaGl0ZXIpOwogCi0JCQlDSEVD S19GT1JfSU5URVJSVVBUUygpOworCQkJd2hpbGUgKChlbnRyeSA9IFNjYW5TdGF0U25hcHNo b3QocGdTdGF0TG9jYWwuc25hcHNob3Quc3RhdHMsICZoYXNoaXRlcikpICE9IE5VTEwpCisJ CQl7CisJCQkJQ0hFQ0tfRk9SX0lOVEVSUlVQVFMoKTsKIAotCQkJdGFiZW50cnkgPSAoUGdT dGF0X1N0YXRUYWJFbnRyeSAqKSBlbnRyeS0+ZGF0YTsKLQkJCXJlbG9pZCA9IGVudHJ5LT5r ZXkub2Jqb2lkOworCQkJCXRhYmVudHJ5ID0gKFBnU3RhdF9TdGF0VGFiRW50cnkgKikgZW50 cnktPmRhdGE7CiAKLQkJCWlmICh0YWJlbnRyeSAhPSBOVUxMKQotCQkJCXR1cGxlc3RvcmVf cHV0X2Zvcl9yZWxhdGlvbihyZWxvaWQsIHJzaW5mbywgdGFiZW50cnkpOworCQkJCWlmICh0 YWJlbnRyeSAhPSBOVUxMICYmIHRhYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPT0gdHlwZSkK KwkJCQkJdHVwbGVzdG9yZV9wdXRfZm9yX3JlbGF0aW9uKHJlbGlkLCByc2luZm8sIHRhYmVu dHJ5KTsKKwkJCX0KIAkJfQogCX0KIH0KQEAgLTIyMDQsNyArMjIxNiwxOCBAQCBwZ19zdGF0 c192YWN1dW0oRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sIGludCBuY29sdW1ucykKIERhdHVt CiBwZ19zdGF0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKIHsKLQlwZ19zdGF0 c192YWN1dW0oZmNpbmZvLCBFWFRWQUNIRUFQU1RBVF9DT0xVTU5TKTsKKwlwZ19zdGF0c192 YWN1dW0oZmNpbmZvLCBQR1NUQVRfRVhUVkFDX0hFQVAsIEVYVFZBQ0hFQVBTVEFUX0NPTFVN TlMpOwogCiAJUEdfUkVUVVJOX1ZPSUQoKTsKIH0KKworLyoKKyAqIEdldCB0aGUgdmFjdXVt IHN0YXRpc3RpY3MgZm9yIHRoZSBpbmRleGVzLgorICovCitEYXR1bQorcGdfc3RhdF92YWN1 dW1faW5kZXhlcyhQR19GVU5DVElPTl9BUkdTKQoreworCXBnX3N0YXRzX3ZhY3V1bShmY2lu Zm8sIFBHU1RBVF9FWFRWQUNfSU5ERVgsIEVYVFZBQ0lEWFNUQVRfQ09MVU1OUyk7CisKKyAJ UEdfUkVUVVJOX1ZPSUQoKTsKKyB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggOGM2ZGJkNDczNmEuLmMzMzQxOTU1MmZlIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyMjYzLDQgKzEyMjYzLDEzIEBACiAg IHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sb30nLAogICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxyZWxp ZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRv dGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9ibGtzX2hpdCxwYWdlc19zY2Fu bmVkLHBhZ2VzX3JlbW92ZWQscGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlLHR1cGxl c19kZWxldGVkLHR1cGxlc19mcm96ZW4sZGVhZF90dXBsZXMsaW5kZXhfdmFjdXVtX2NvdW50 LHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyx3YWxfcmVjb3Jk cyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1lLGJsa193cml0ZV90aW1lLGRlbGF5 X3RpbWUsc3lzdGVtX3RpbWUsdXNlcl90aW1lLHRvdGFsX3RpbWUsaW50ZXJydXB0c30nLAog ICBwcm9zcmMgPT4gJ3BnX3N0YXRfdmFjdXVtX3RhYmxlcycgfSwKK3sgb2lkID0+ICc4MDAy JywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJuIHN0YXRzIHZh bHVlcycsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfdmFjdXVtX2luZGV4ZXMnLCBwcm92b2xh dGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2Yn LAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJv YWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9h dDgsZmxvYXQ4LGZsb2F0OCxpbnQ0fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7 cmVsb2lkLHJlbGlkLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtz X2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0 LHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxf Ynl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHN5c3RlbV90 aW1lLHVzZXJfdGltZSx0b3RhbF90aW1lLGludGVycnVwdHN9JywKKyAgcHJvc3JjID0+ICdw Z19zdGF0X3ZhY3V1bV9pbmRleGVzJyB9CiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9w Z3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDhhYjgwZGZlMTdlLi4yZTk5 YmVmZTVkMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2lu Y2x1ZGUvcGdzdGF0LmgKQEAgLTE2OSwxMSArMTY5LDE5IEBAIHR5cGVkZWYgc3RydWN0IFBn U3RhdF9CYWNrZW5kU3ViRW50cnkKIAlQZ1N0YXRfQ291bnRlciBjb25mbGljdF9jb3VudFtD T05GTElDVF9OVU1fVFlQRVNdOwogfSBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5OwogCisvKiBU eXBlIG9mIEV4dFZhY1JlcG9ydCAqLwordHlwZWRlZiBlbnVtIEV4dFZhY1JlcG9ydFR5cGUK K3sKKwlQR1NUQVRfRVhUVkFDX0lOVkFMSUQgPSAwLAorCVBHU1RBVF9FWFRWQUNfSEVBUCA9 IDEsCisJUEdTVEFUX0VYVFZBQ19JTkRFWCA9IDIKK30gRXh0VmFjUmVwb3J0VHlwZTsKKwog LyogLS0tLS0tLS0tLQogICoKICAqIEV4dFZhY1JlcG9ydAogICoKLSAqIEFkZGl0aW9uYWwg c3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4K KyAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEg cmVsYXRpb24uCiAgKiBwYWdlc19yZW1vdmVkIGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhl IHBoeXNpY2FsbHkgc2hyYW5rLAogICogaWYgYW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0 b3RhbCBzaXplIG9uIGRpc2spCiAgKiBwYWdlc19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3Bh Y2Ugd2l0aGluIHRoZSBpbmRleCBmaWxlCkBAIC0yMDUsMTQgKzIxMywzOCBAQCB0eXBlZGVm IHN0cnVjdCBFeHRWYWNSZXBvcnQKIAkvKiBJbnRlcnJ1cHRpb25zIG9uIGFueSBlcnJvcnMu ICovCiAJaW50MzIJCWludGVycnVwdHM7CiAKLQlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8q IG51bWJlciBvZiBwYWdlcyB3ZSBleGFtaW5lZCAqLwotCWludDY0CQlwYWdlc19yZW1vdmVk OwkJLyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXBh Z2VzX2Zyb3plbjsJCS8qIG51bWJlciBvZiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJvemVu ICovCi0JaW50NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkvKiBudW1iZXIgb2YgcGFnZXMgbWFy a2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCi0JaW50NjQJCXR1cGxlc19kZWxldGVkOwkJ LyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXR1cGxlc19mcm96ZW47 CQkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLwotCWludDY0CQlkZWFkX3R1cGxl czsJCS8qIG51bWJlciBvZiBkZWxldGVkIHR1cGxlcyB3aGljaCB2YWN1dW0gY2Fubm90IGNs ZWFuIHVwIGJ5IHZhY3V1bSBvcGVyYXRpb24gKi8KLQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2Nv dW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworCUV4dFZhY1JlcG9ydFR5 cGUgdHlwZTsJCS8qIGhlYXAsIGluZGV4LCBldGMuICovCisKKwkvKiAtLS0tLS0tLS0tCisJ ICoKKwkgKiBUaGVyZSBhcmUgc2VwYXJhdGUgbWV0cmljcyBvZiBzdGF0aXN0aWMgZm9yIHRh YmxlcyBhbmQgaW5kZXhlcywKKwkgKiB3aGljaCBjb2xsZWN0IGR1cmluZyB2YWN1dW0uCisJ ICogVGhlIHVuaW9uIG9wZXJhdG9yIGFsbG93cyB0byBjb21iaW5lIHRoZXNlIHN0YXRpc3Rp Y3MKKwkgKiBzbyB0aGF0IGVhY2ggbWV0cmljIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMg Y2xhc3Mgb2YgY29sbGVjdGVkIHN0YXRpc3RpY3MuCisJICogU3VjaCBhIGNvbWJpbmVkIHN0 cnVjdHVyZSB3YXMgY2FsbGVkIHBlcl90eXBlX3N0YXRzLgorCSAqIFRoZSBuYW1lIG9mIHRo ZSBzdHJ1Y3R1cmUgaXRzZWxmIGlzIG5vdCB1c2VkIGFueXdoZXJlLAorCSAqIGl0IGV4aXN0 cyBvbmx5IGZvciB1bmRlcnN0YW5kaW5nIHRoZSBjb2RlLgorCSAqIC0tLS0tLS0tLS0KKwkq LworCXVuaW9uCisJeworCQlzdHJ1Y3QKKwkJeworCQkJaW50NjQJCXBhZ2VzX3NjYW5uZWQ7 CQkvKiBudW1iZXIgb2YgcGFnZXMgd2UgZXhhbWluZWQgKi8KKwkJCWludDY0CQlwYWdlc19y ZW1vdmVkOwkJLyogbnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCisJCQlp bnQ2NAkJcGFnZXNfZnJvemVuOwkJLyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBh cyBmcm96ZW4gKi8KKwkJCWludDY0CQlwYWdlc19hbGxfdmlzaWJsZTsJLyogbnVtYmVyIG9m IHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXR1cGxl c19kZWxldGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJ dHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJCQlp bnQ2NAkJZGVhZF90dXBsZXM7CQkvKiBudW1iZXIgb2YgZGVsZXRlZCB0dXBsZXMgd2hpY2gg dmFjdXVtIGNhbm5vdCBjbGVhbiB1cCBieSB2YWN1dW0gb3BlcmF0aW9uICovCisJCQlpbnQ2 NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAq LworCQl9CQkJaGVhcDsKKwkJc3RydWN0CisJCXsKKwkJCWludDY0CQlwYWdlc19kZWxldGVk OwkJLyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJ dHVwbGVzX2RlbGV0ZWQ7CQkvKiB0dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwkJfQkJ CWluZGV4OworCX0gLyogcGVyX3R5cGVfc3RhdHMgKi87CiB9IEV4dFZhY1JlcG9ydDsKIAog LyogLS0tLS0tLS0tLQpAQCAtNjkyLDcgKzcyNCw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9y ZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9pZCBw Z3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9D b3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJ CSAgYm9vbCByZXNldGNvdW50ZXIpOwotZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1 dW1fZXJyb3IoT2lkIHRhYmxlb2lkKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFj dXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpOwogCiAv KgogICogSWYgc3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0IGJl ZW4gcHJlcGFyZWQgeWV0LCBjYWxsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24v ZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMv dGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUt cmVhZC5vdXQKaW5kZXggN2NkYjc5YzBlYzQuLjkzZmUxNWMwMWY5IDEwMDY0NAotLS0gYS9z cmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1l eHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC05LDEwICs5LDkgQEAgc3RlcCBz Ml9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6CiAgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgdnQsIHBnX2NsYXNzIGMKICAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFj dXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIAotcmVsbmFtZSAg ICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zy b3plbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLQotdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAg ICAgICAgIDB8ICAgICAgICAgIDB8ICAgICAgICAgICAgMAotKDEgcm93KQorcmVsbmFtZXx0 dXBsZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCiAKIHN0ZXAg czFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkOiAKICAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFU SU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xh dGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMgYi9z cmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUt cmVhZC5zcGVjCmluZGV4IDdkMzFkZGJlY2U5Li5iY2EzZTg1MTZiMiAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQuc3BlYworKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVu ZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVjCkBAIC00OCw0ICs0OCw0IEBAIHBlcm11dGF0 aW9uCiAgICAgczFfY29tbWl0CiAgICAgczJfY2hlY2twb2ludAogICAgIHMyX3ZhY3V1bQot ICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQorICAgIHMyX3ByaW50X3ZhY3V1bV9z dGF0c190YWJsZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb3ByX3Nhbml0eS5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL29wcl9zYW5pdHkub3V0CmluZGV4IDlhZTc0M2VhZTBjLi41ZDcyYjk3 MGIwMyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vcHJfc2FuaXR5 Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29wcl9zYW5pdHkub3V0CkBA IC0zMiwxMCArMzIsMTEgQEAgV0hFUkUgcDEucHJvbGFuZyA9IDAgT1IgcDEucHJvcmV0dHlw ZSA9IDAgT1IKICAgICAgICBwcm9raW5kIE5PVCBJTiAoJ2YnLCAnYScsICd3JywgJ3AnKSBP UgogICAgICAgIHByb3ZvbGF0aWxlIE5PVCBJTiAoJ2knLCAncycsICd2JykgT1IKICAgICAg ICBwcm9wYXJhbGxlbCBOT1QgSU4gKCdzJywgJ3InLCAndScpOwotIG9pZCAgfCAgICAgICAg cHJvbmFtZSAgICAgICAgCi0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBvaWQg IHwgICAgICAgIHByb25hbWUgICAgICAgICAKKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KICA4MDAxIHwgcGdfc3RhdF92YWN1dW1fdGFibGVzCi0oMSByb3cpCisgODAwMiB8 IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMKKygyIHJvd3MpCiAKIC0tIHByb3NyYyBzaG91bGQg bmV2ZXIgYmUgbnVsbDsgaXQgY2FuIGJlIGVtcHR5IG9ubHkgaWYgcHJvc3FsYm9keSBpc24n dCBudWxsCiBTRUxFQ1QgcDEub2lkLCBwMS5wcm9uYW1lCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0CmluZGV4IDEwYTdhNmE2ODcwLi5mMzlhOWY2ZTVhMCAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyMzUsNiArMjIzNSwzMiBAQCBwZ19z dGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgYXV0b2FuYWx5emVfY291bnQK ICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBB TEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5h bWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwKKyAgICBucy5uc3Bu YW1lIEFTIHNjaGVtYSwKKyAgICByZWwucmVsbmFtZSwKKyAgICBzdGF0cy50b3RhbF9ibGtz X3JlYWQsCisgICAgc3RhdHMudG90YWxfYmxrc19oaXQsCisgICAgc3RhdHMudG90YWxfYmxr c19kaXJ0aWVkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzdGF0cy5y ZWxfYmxrc19yZWFkLAorICAgIHN0YXRzLnJlbF9ibGtzX2hpdCwKKyAgICBzdGF0cy5wYWdl c19kZWxldGVkLAorICAgIHN0YXRzLnR1cGxlc19kZWxldGVkLAorICAgIHN0YXRzLndhbF9y ZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAgc3RhdHMud2FsX2J5dGVzLAorICAg IHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisgICAg c3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy5zeXN0ZW1fdGltZSwKKyAgICBzdGF0cy51 c2VyX3RpbWUsCisgICAgc3RhdHMudG90YWxfdGltZSwKKyAgICBzdGF0cy5pbnRlcnJ1cHRz CisgICBGUk9NIHBnX2RhdGFiYXNlIGRiLAorICAgIHBnX2NsYXNzIHJlbCwKKyAgICBwZ19u YW1lc3BhY2UgbnMsCisgICAgTEFURVJBTCBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzKGRiLm9p ZCwgcmVsLm9pZCkgc3RhdHMocmVsaWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19o aXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19y ZWFkLCByZWxfYmxrc19oaXQsIHBhZ2VzX2RlbGV0ZWQsIHR1cGxlc19kZWxldGVkLCB3YWxf cmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVhZF90aW1lLCBibGtfd3JpdGVf dGltZSwgZGVsYXlfdGltZSwgc3lzdGVtX3RpbWUsIHVzZXJfdGltZSwgdG90YWxfdGltZSwg aW50ZXJydXB0cykKKyAgV0hFUkUgKChkYi5kYXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgp KSBBTkQgKHJlbC5vaWQgPSBzdGF0cy5yZWxpZCkgQU5EIChucy5vaWQgPSByZWwucmVsbmFt ZXNwYWNlKSk7CiBwZ19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCByZWwub2lkIEFTIHJl bGlkLAogICAgIG5zLm5zcG5hbWUgQVMgc2NoZW1hLAogICAgIHJlbC5yZWxuYW1lLApkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlz dGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0 aXN0aWNzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTBk YThkMjVmMWEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dApAQCAtMCwwICsxLDE1OCBAQAorLS0KKy0t IFRlc3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhl IHdhbGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246Cist LSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07Cist LSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2Vu ZC4KKy0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0 IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNp bmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tf Y291bnRzIAorLS0tLS0tLS0tLS0tLS0KKyBvbgorKDEgcm93KQorCistLSBub3QgZW5hYmxl ZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tfZnVu Y3Rpb25zIFRPICdhbGwnOworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQK K1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25l eHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitc c2V0IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsK K1NFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9IDA7CistLVNFVCBzdGF0c19mZXRjaF9j b25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQgcHJp bWFyeSBrZXkpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9 IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworU0VMRUNUIG9pZCBB UyBpb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdz ZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhl IGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4K K1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0 ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVs bmFtZSB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKygw IHJvd3MpCisKK1NFTEVDVCByZWxwYWdlcyBBUyBpcnAKK0ZST00gcGdfY2xhc3MgYworV0hF UkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0g aXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lO VDsKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mg c2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4g dXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQorLS0gYmVjYXVz ZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NFTEVDVCB2dC5yZWxuYW1l LHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAg IHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2 ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKwor U0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBk LHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0 LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQu cmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2Zw aSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBcZ3NldAorLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4K K1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdC CitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRf cGtleSc7CisgZGl3ciB8IGRpd2IgCistLS0tLS0rLS0tLS0tCisgdCAgICB8IHQKKygxIHJv dykKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVS X1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMg bmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0t IHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHJl bHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMg cGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRl ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyAgIHJl bG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAor LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tCisgdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSBy b3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVk IEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg QU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3ciwgd2FsX2J5dGVz LTppd2IgQVMgZGl3Yiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaQorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBX QUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IgPiAwIEFTIGRp V1IsIDpkaXdiID4gMCBBUyBkaVdCOworIGRpd3IgfCBkaXdiIAorLS0tLS0tKy0tLS0tLQor IHQgICAgfCB0CisoMSByb3cpCisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlh YmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9m cGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgXGdzZXQKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9N IGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZl c3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0 byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGlj cworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBp cyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOwor LS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29y ZHMtOml3ciBBUyBkaXdyMiwgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9mcGktOmlm cGkgQVMgZGlmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBh ZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRpd3IyPTAgQVMgZGlX UiwgOmRpZnBpMj0wIEFTIGlGUEksIDpkaXdiMj0wIEFTIGRpV0I7CisgZGl3ciB8IGlmcGkg fCBkaXdiIAorLS0tLS0tKy0tLS0tLSstLS0tLS0KKyB0ICAgIHwgdCAgICB8IHQKKygxIHJv dykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMgcmVscGFnZXMs cGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVk LTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFO RCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19k ZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAgICAg IHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVs cGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0 ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAor LS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29y ZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3Rh dF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAor REVMRVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExF TCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7 CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVD S1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJl bW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jkcy06 aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBB UyBkaWZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0g J3Zlc3RhdF9wa2V5JyBcZ3NldAorLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxF Q1QgOmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFTIGlGUEksIDpkaXdiMz0wIEFTIGRp V0I7CisgZGl3ciB8IGlmcGkgfCBkaXdiIAorLS0tLS0tKy0tLS0tLSstLS0tLS0KKyB0ICAg IHwgdCAgICB8IHQKKygxIHJvdykKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBpbmRl eCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0Cist LSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRoZSBwYWdlc19mcm96ZW4s IHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VMRUNU IHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRl ZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFT IHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2Ns YXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9 IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVw bGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IGYgICAgICAgIHwgdCAgICAgICAg ICAgICB8IHQKKygxIHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQ7CmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5v dXQKaW5kZXggMWE3ZDA0YjA1OTAuLmI4NWE1Y2FiOWFmIDEwMDY0NAotLS0gYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0 CkBAIC0zNyw4ICszNyw3IEBAIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19j bGFzcyBjCiBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CiAgcmVsbmFtZSB8IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFn ZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKIC0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLQotIHZlc3RhdCAgfCAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAg MCB8ICAgICAgNDU1IHwgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgIDAKLSgxIHJvdykK KygwIHJvd3MpCiAKIFNFTEVDVCByZWxwYWdlcyBBUyBycAogRlJPTSBwZ19jbGFzcyBjCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rl c3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQppbmRleCAyMDY0MGNkNzJmNC4uMjU3NTRm ZjZiZDEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTQwLDQgKzE0 MCw1IEBAIHRlc3Q6IHRhYmxlc3BhY2UKICMgLS0tLS0tLS0tLQogIyBDaGVjayB2YWN1dW0g c3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCit0ZXN0OiB2YWN1dW1faW5kZXhfc3RhdGlzdGlj cwogdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4 X3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3Muc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45 MTEzZmQyNmU2ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Zh Y3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApAQCAtMCwwICsxLDEyOCBAQAorLS0KKy0tIFRl c3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdh bGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBu dW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBu dW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4K Ky0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJl Y2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNpbmUg cXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCistLSBub3QgZW5h YmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tf ZnVuY3Rpb25zIFRPICdhbGwnOworCisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBm bHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKK1xzZXQgc2Ft cGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZh Y3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3Rl bmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCBwcmltYXJ5IGtl eSkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOwor SU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNh bXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CisKK1NFTEVDVCBvaWQgQVMgaW9p ZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisK K0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZp cnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NF TEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQK K0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1Qg cmVscGFnZXMgQVMgaXJwCitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJ TUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5 IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gVGhlIHRh YmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1 cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0 IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxs IHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmly cCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0 dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1 dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRf cGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdl cyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0t IFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRz IEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKwor LS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+ IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdCCitGUk9NIHBnX3N0YXRfdmFjdXVt X2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleSc7CisKK0RFTEVURSBGUk9N IHZlc3RhdDs7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgs IElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVj ayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIHBhZ2VzX3JlbW92ZWQg bXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAw IEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMgcGFnZXNfZGVsZXRlZCx0 dXBsZXNfZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJl bHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBp dGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQK KworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiLCB3YWxfZnBpLTpp ZnBpIEFTIGRpZnBpCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRl dGVjdGVkLgorU0VMRUNUIDpkaXdyID4gMCBBUyBkaVdSLCA6ZGl3YiA+IDAgQVMgZGlXQjsK KworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3Nl dAorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMo MSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIg PSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3Iu IFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3Rl ZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNo ZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFk dmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdy Miwgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkyCitG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgXGdzZXQKKworLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxk IG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAg QVMgaUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFn ZXMtOmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdl c19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0 LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19k ZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBj Lm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NF TEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlm cGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xF QU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwg c3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8g dmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NF TEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdi Mywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhl cyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLVRoZXJlIGFyZSBu b3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZGl3cjM9MCBBUyBkaVdSLCA6ZGlmcGkzPTAgQVMg aUZQSSwgOmRpd2IzPTAgQVMgZGlXQjsKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBp bmRleCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0 CistLSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRoZSBwYWdlc19mcm96 ZW4sIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VM RUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVs ZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAw IEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBn X2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxp ZCA9IGMub2lkOworCitEUk9QIFRBQkxFIHZlc3RhdDsKLS0gCjIuMzQuMQoK --------------KTO0Lkx3jeSP1KiShSAtFyX3 Content-Type: text/x-patch; charset=UTF-8; name="v7-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v7-0003-Machinery-for-grabbing-an-extended-vacuum-statistics"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSAyM2E2MjMzZjE4MmVhMWRlYTdhOWRmYTViMzk4NGQxN2ViN2JiM2I2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAyNCAxNzo0MjoyOCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMy8zXSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uCiBkYXRhYmFzZXMuIEl0IHRyYW5zbWl0cyB2YWN1dW0gc3Rh dGlzdGljYWwgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCB0YWJsZSBhbmQKIGFjY3VtdWxhdGVz IGl0IGZvciB0aGUgZGF0YWJhc2Ugd2hpY2ggdGhlIHRhYmxlIGJlbG9uZ2VkLgoKLS0tCiBz cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAyOCArKysr KysrCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAg MiArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYyAgfCAg MSArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAx NiArKysrCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAg fCA3NSArKysrKysrKysrKysrKysrKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQgICAgICAgICAgICAgICB8IDExICsrLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv b3ByX3Nhbml0eS5vdXQgICAgICB8ICA3ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dCAgICAgICAgICAgfCAyMCArKysrLQogLi4udXQgPT4gdmFjdXVtX3RhYmxl c19hbmRfZGJfc3RhdGlzdGljcy5vdXR9IHwgNzggKysrKysrKysrKysrKysrKysrKwogc3Jj L3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgIDIgKy0KIC4u LnFsID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsfSB8IDY2ICsrKysr KysrKysrKysrKy0KIDEyIGZpbGVzIGNoYW5nZWQsIDMwMCBpbnNlcnRpb25zKCspLCA5IGRl bGV0aW9ucygtKQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQve3ZhY3V1bV90 YWJsZXNfc3RhdGlzdGljcy5vdXQgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGlj cy5vdXR9ICg3NiUpCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9zcWwve3ZhY3V1bV90YWJs ZXNfc3RhdGlzdGljcy5zcWwgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5z cWx9ICg3OCUpCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGJi YzhhNDMwNzEyLi5mOGNlZTVlNzljNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbApAQCAtMTQ3MiwzICsxNDcyLDMxIEBAIFdIRVJFCiAgIHJlbC5vaWQgPSBzdGF0 cy5yZWxpZCBBTkQKICAgbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZTsKIAorQ1JFQVRFIFZJ RVcgcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UgQVMKK1NFTEVDVAorICBkYi5vaWQgYXMgZGJv aWQsCisgIGRiLmRhdG5hbWUgQVMgZGJuYW1lLAorCisgIHN0YXRzLmRiX2Jsa3NfcmVhZCwK KyAgc3RhdHMuZGJfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAg c3RhdHMudG90YWxfYmxrc193cml0dGVuLAorCisgIHN0YXRzLndhbF9yZWNvcmRzLAorICBz dGF0cy53YWxfZnBpLAorICBzdGF0cy53YWxfYnl0ZXMsCisKKyAgc3RhdHMuYmxrX3JlYWRf dGltZSwKKyAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCisKKyAgc3RhdHMuZGVsYXlfdGltZSwK KyAgc3RhdHMuc3lzdGVtX3RpbWUsCisgIHN0YXRzLnVzZXJfdGltZSwKKyAgc3RhdHMudG90 YWxfdGltZSwKKworICBzdGF0cy5pbnRlcnJ1cHRzCitGUk9NCisgIHBnX2RhdGFiYXNlIGRi IExFRlQgSk9JTiBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZShkYi5vaWQpIHN0YXRzCitPTgor ICBkYi5vaWQgPSBzdGF0cy5kYm9pZDsKKwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXQuYwppbmRleCBmYjE4M2Q1YjczMy4uNTgzYzNmZjBmMDMgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0xMDc1LDYgKzEwNzUsOCBAQCBwZ3N0YXRfdXBkYXRl X3NuYXBzaG90KFBnU3RhdF9LaW5kIGtpbmQpCiAJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5j eSA9IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVDsKIAkJaWYgKGtpbmQgPT0g UEdTVEFUX0tJTkRfUkVMQVRJT04pCiAJCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFU X0tJTkRfUkVMQVRJT04pOworCQllbHNlIGlmIChraW5kID09IFBHU1RBVF9LSU5EX0RBVEFC QVNFKQorCQkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX0RBVEFCQVNFKTsK IAl9CiAJUEdfRklOQUxMWSgpOwogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X2RhdGFiYXNlLmMKaW5kZXggMjliYzA5MDk3NDguLmEwNjBkMWE0MDQyIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2Uu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwpA QCAtNDMwLDYgKzQzMCw3IEBAIHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQZ1N0YXRfRW50 cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9ja19lbnRyeShl bnRyeV9yZWYpOwogCiAJbWVtc2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigqcGVuZGluZ2Vu dCkpOworCW1lbXNldCgmKHBlbmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBzaXplb2YoRXh0 VmFjUmVwb3J0KSk7CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggNWM5NTM2M2MwNGEuLjcyNWUy NjQyM2YyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf cmVsYXRpb24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVs YXRpb24uYwpAQCAtMjE5LDYgKzIxOSw3IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9y KE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpCiAJUGdTdGF0U2hhcmVk X1JlbGF0aW9uICpzaHRhYmVudHJ5OwogCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5 OwogCU9pZAkJCWRib2lkID0gIE15RGF0YWJhc2VJZDsKKwlQZ1N0YXRfU3RhdERCRW50cnkg KmRiZW50cnk7CS8qIHBlbmRpbmcgZGF0YWJhc2UgZW50cnkgKi8KIAogCWlmICghcGdzdGF0 X3RyYWNrX2NvdW50cykKIAkJcmV0dXJuOwpAQCAtMjMyLDYgKzIzMywxMCBAQCBwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90 eXBlKQogCXRhYmVudHJ5LT52YWN1dW1fZXh0LmludGVycnVwdHMrKzsKIAl0YWJlbnRyeS0+ dmFjdXVtX2V4dC50eXBlID0gbV90eXBlOwogCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlf cmVmKTsKKworCWRiZW50cnkgPSBwZ3N0YXRfcHJlcF9kYXRhYmFzZV9wZW5kaW5nKGRib2lk KTsKKwlkYmVudHJ5LT52YWN1dW1fZXh0LmludGVycnVwdHMrKzsKKwlkYmVudHJ5LT52YWN1 dW1fZXh0LnR5cGUgPSBtX3R5cGU7CiB9CiAKIC8qCkBAIC0yNDUsNiArMjUwLDcgQEAgcGdz dGF0X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAlQZ1N0YXRf RW50cnlSZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50 cnk7CiAJUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7CisJUGdTdGF0U2hhcmVkX0Rh dGFiYXNlICpkYmVudHJ5OwogCU9pZAkJCWRib2lkID0gKHNoYXJlZCA/IEludmFsaWRPaWQg OiBNeURhdGFiYXNlSWQpOwogCVRpbWVzdGFtcFR6IHRzOwogCkBAIC0yOTgsNiArMzA0LDE2 IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJ ICogVkFDVVVNIGNvbW1hbmQgaGFzIHByb2Nlc3NlZCBhbGwgdGFibGVzIGFuZCBjb21taXR0 ZWQuCiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKKwlpZiAoZGJvaWQgIT0gSW52 YWxpZE9pZCkKKwl7CisJCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tl ZChQR1NUQVRfS0lORF9EQVRBQkFTRSwKKwkJCQkJCQkJCQkJZGJvaWQsIEludmFsaWRPaWQs IGZhbHNlKTsKKwkJZGJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfRGF0YWJhc2UgKikgZW50cnlf cmVmLT5zaGFyZWRfc3RhdHM7CisKKwkJcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRz KCZkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LCBwYXJhbXMsIGZhbHNlKTsKKwkJcGdzdGF0 X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworCX0KKwogfQogCiAvKgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCA4NDM4NzUwN2NlNy4uMTE4MjBhNTc5MWMgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMDkwLDggKzIwOTAsNDkg QEAgcGdfc3RhdF9oYXZlX3N0YXRzKFBHX0ZVTkNUSU9OX0FSR1MpCiAKICNkZWZpbmUgRVhU VkFDSEVBUFNUQVRfQ09MVU1OUwkyNwogI2RlZmluZSBFWFRWQUNJRFhTVEFUX0NPTFVNTlMJ MTkKKyNkZWZpbmUgRVhUVkFDREJTVEFUX0NPTFVNTlMJMTUKICNkZWZpbmUgRVhUVkFDU1RB VF9DT0xVTU5TIE1heChFWFRWQUNIRUFQU1RBVF9DT0xVTU5TLCBFWFRWQUNJRFhTVEFUX0NP TFVNTlMpCiAKK3N0YXRpYyB2b2lkCit0dXBsZXN0b3JlX3B1dF9mb3JfZGF0YWJhc2UoT2lk IGRiaWQsIFJldHVyblNldEluZm8gKnJzaW5mbywKKwkJCQkJCQlQZ1N0YXRTaGFyZWRfRGF0 YWJhc2UgKmRiZW50cnkpCit7CisJRGF0dW0JCXZhbHVlc1tFWFRWQUNEQlNUQVRfQ09MVU1O U107CisJYm9vbAkJbnVsbHNbRVhUVkFDREJTVEFUX0NPTFVNTlNdOworCWNoYXIJCWJ1Zlsy NTZdOworCWludAkJCWkgPSAwOworCisJbWVtc2V0KG51bGxzLCAwLCBFWFRWQUNEQlNUQVRf Q09MVU1OUyAqIHNpemVvZihib29sKSk7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0 RGF0dW0oZGJpZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZGJlbnRyeS0+ c3RhdHMudmFjdXVtX2V4dC50b3RhbF9ibGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LnRvdGFsX2Jsa3NfaGl0KTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4 dC50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShk YmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dC53YWxf cmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGRiZW50cnktPnN0YXRz LnZhY3V1bV9leHQud2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2Ug cGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5U NjRfRk9STUFULCBkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LndhbF9ieXRlcyk7CisJdmFs dWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkg IENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDAp LAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZs b2F0OEdldERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQuYmxrX3JlYWRfdGltZSk7 CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1f ZXh0LmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRi ZW50cnktPnN0YXRzLnZhY3V1bV9leHQuZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBG bG9hdDhHZXREYXR1bShkYmVudHJ5LT5zdGF0cy52YWN1dW1fZXh0LnN5c3RlbV90aW1lKTsK Kwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9l eHQudXNlcl90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGRiZW50cnkt PnN0YXRzLnZhY3V1bV9leHQudG90YWxfdGltZSk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdl dERhdHVtKGRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQuaW50ZXJydXB0cyk7CisKKwlBc3Nl cnQoaSA9PSByc2luZm8tPnNldERlc2MtPm5hdHRzKTsKKwl0dXBsZXN0b3JlX3B1dHZhbHVl cyhyc2luZm8tPnNldFJlc3VsdCwgcnNpbmZvLT5zZXREZXNjLCB2YWx1ZXMsIG51bGxzKTsK K30KKwogc3RhdGljIHZvaWQKIHR1cGxlc3RvcmVfcHV0X2Zvcl9yZWxhdGlvbihPaWQgcmVs aWQsIFJldHVyblNldEluZm8gKnJzaW5mbywKIAkJCQkJCQlQZ1N0YXRfU3RhdFRhYkVudHJ5 ICp0YWJlbnRyeSkKQEAgLTIyMDgsNiArMjI0OSwyNiBAQCBwZ19zdGF0c192YWN1dW0oRnVu Y3Rpb25DYWxsSW5mbyBmY2luZm8sIEV4dFZhY1JlcG9ydFR5cGUgdHlwZSwgaW50IG5jb2x1 bW5zKQogCQkJfQogCQl9CiAJfQorCWVsc2UgaWYgKHR5cGUgPT0gUEdTVEFUX0VYVFZBQ19E QikKKwl7CisJCVBnU3RhdFNoYXJlZF9EYXRhYmFzZQkgICAqZGJlbnRyeTsKKwkJUGdTdGF0 X0VudHJ5UmVmIAkJICAgKmVudHJ5X3JlZjsKKwkJT2lkCQkJCQkJCWRiaWQgPSBQR19HRVRB UkdfT0lEKDApOworCisJCWlmIChPaWRJc1ZhbGlkKGRiaWQpKQorCQl7CisJCQllbnRyeV9y ZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfREFUQUJBU0Us CisJCQkJCQkJCQkJCWRiaWQsIEludmFsaWRPaWQsIGZhbHNlKTsKKwkJCWRiZW50cnkgPSAo UGdTdGF0U2hhcmVkX0RhdGFiYXNlICopIGVudHJ5X3JlZi0+c2hhcmVkX3N0YXRzOworCisJ CQlpZiAoZGJlbnRyeSA9PSBOVUxMKQorCQkJCS8qIFRhYmxlIGRvZXNuJ3QgZXhpc3Qgb3Ig aXNuJ3QgYSBoZWFwIHJlbGF0aW9uICovCisJCQkJcmV0dXJuOworCisJCQl0dXBsZXN0b3Jl X3B1dF9mb3JfZGF0YWJhc2UoZGJpZCwgcnNpbmZvLCBkYmVudHJ5KTsKKwkJCXBnc3RhdF91 bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKKwkJfQorCX0KIH0KIAogLyoKQEAgLTIyMzAsNCAr MjI5MSwxNiBAQCBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJ cGdfc3RhdHNfdmFjdXVtKGZjaW5mbywgUEdTVEFUX0VYVFZBQ19JTkRFWCwgRVhUVkFDSURY U1RBVF9DT0xVTU5TKTsKIAogIAlQR19SRVRVUk5fVk9JRCgpOwotIH0KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCisgfQorCisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0 aWNzIGZvciB0aGUgZGF0YWJhc2UuCisgKi8KK0RhdHVtCitwZ19zdGF0X3ZhY3V1bV9kYXRh YmFzZShQR19GVU5DVElPTl9BUkdTKQoreworCXBnX3N0YXRzX3ZhY3V1bShmY2luZm8sIFBH U1RBVF9FWFRWQUNfREIsIEVYVFZBQ0RCU1RBVF9DT0xVTU5TKTsKKworCVBHX1JFVFVSTl9W T0lEKCk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf cHJvYy5kYXQKaW5kZXggYzMzNDE5NTUyZmUuLmIwNDcxMWJiMGEzIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQKQEAgLTEyMjcxLDUgKzEyMjcxLDE0IEBACiAgIHByb2FsbGFyZ3R5 cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0 OCxmbG9hdDgsaW50NH0nLAogICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAogICBwcm9hcmduYW1lcyA9PiAne3JlbG9pZCxy ZWxpZCx0b3RhbF9ibGtzX3JlYWQsdG90YWxfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVk LHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLHJlbF9ibGtzX2hpdCxwYWdlc19k ZWxldGVkLHR1cGxlc19kZWxldGVkLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJs a19yZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSxzeXN0ZW1fdGltZSx1c2Vy X3RpbWUsdG90YWxfdGltZSxpbnRlcnJ1cHRzfScsCi0gIHByb3NyYyA9PiAncGdfc3RhdF92 YWN1dW1faW5kZXhlcycgfQorICBwcm9zcmMgPT4gJ3BnX3N0YXRfdmFjdXVtX2luZGV4ZXMn IH0sCit7IG9pZCA9PiAnODAwMycsCisgIGRlc2NyID0+ICdwZ19zdGF0X3ZhY3V1bV9kYXRh YmFzZSByZXR1cm4gc3RhdHMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF92YWN1 dW1fZGF0YWJhc2UnLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29y ZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3QnLAorICBwcm9hcmd0 eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50 OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxv YXQ4LGZsb2F0OCxmbG9hdDgsaW50NH0nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tkYmlkLGRi b2lkLGRiX2Jsa3NfcmVhZCxkYl9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxf Ymxrc193cml0dGVuLHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3Rp bWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSxzeXN0ZW1fdGltZSx1c2VyX3RpbWUsdG90 YWxfdGltZSxpbnRlcnJ1cHRzfScsCisgIHByb3NyYyA9PiAncGdfc3RhdF92YWN1dW1fZGF0 YWJhc2UnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9p bmNsdWRlL3Bnc3RhdC5oCmluZGV4IDJlOTliZWZlNWQwLi40YzhiMGE0NTMzMSAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgK QEAgLTE3NCw3ICsxNzQsOCBAQCB0eXBlZGVmIGVudW0gRXh0VmFjUmVwb3J0VHlwZQogewog CVBHU1RBVF9FWFRWQUNfSU5WQUxJRCA9IDAsCiAJUEdTVEFUX0VYVFZBQ19IRUFQID0gMSwK LQlQR1NUQVRfRVhUVkFDX0lOREVYID0gMgorCVBHU1RBVF9FWFRWQUNfSU5ERVggPSAyLAor CVBHU1RBVF9FWFRWQUNfREIgPSAzLAogfSBFeHRWYWNSZXBvcnRUeXBlOwogCiAvKiAtLS0t LS0tLS0tCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29wcl9zYW5p dHkub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vcHJfc2FuaXR5Lm91dAppbmRl eCA1ZDcyYjk3MGIwMy4uNzAyNmRlMTU3ZTQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvb3ByX3Nhbml0eS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9vcHJfc2FuaXR5Lm91dApAQCAtMzIsMTEgKzMyLDEyIEBAIFdIRVJFIHAxLnByb2xh bmcgPSAwIE9SIHAxLnByb3JldHR5cGUgPSAwIE9SCiAgICAgICAgcHJva2luZCBOT1QgSU4g KCdmJywgJ2EnLCAndycsICdwJykgT1IKICAgICAgICBwcm92b2xhdGlsZSBOT1QgSU4gKCdp JywgJ3MnLCAndicpIE9SCiAgICAgICAgcHJvcGFyYWxsZWwgTk9UIElOICgncycsICdyJywg J3UnKTsKLSBvaWQgIHwgICAgICAgIHByb25hbWUgICAgICAgICAKLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyBvaWQgIHwgICAgICAgICBwcm9uYW1lICAgICAgICAgCist LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIDgwMDEgfCBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMKICA4MDAyIHwgcGdfc3RhdF92YWN1dW1faW5kZXhlcwotKDIgcm93cykKKyA4 MDAzIHwgcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKKygzIHJvd3MpCiAKIC0tIHByb3NyYyBz aG91bGQgbmV2ZXIgYmUgbnVsbDsgaXQgY2FuIGJlIGVtcHR5IG9ubHkgaWYgcHJvc3FsYm9k eSBpc24ndCBudWxsCiBTRUxFQ1QgcDEub2lkLCBwMS5wcm9uYW1lCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IGYzOWE5ZjZlNWEwLi5iZWRjYWU0NmZjNyAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIyMzUsNiArMjIzNSwyNCBA QCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgYXV0b2FuYWx5emVf Y291bnQKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFt ZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVt YSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7Citw Z19zdGF0X3ZhY3V1bV9kYXRhYmFzZXwgU0VMRUNUIGRiLm9pZCBBUyBkYm9pZCwKKyAgICBk Yi5kYXRuYW1lIEFTIGRibmFtZSwKKyAgICBzdGF0cy5kYl9ibGtzX3JlYWQsCisgICAgc3Rh dHMuZGJfYmxrc19oaXQsCisgICAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLAorICAgIHN0 YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzdGF0cy53YWxfcmVjb3JkcywKKyAgICBz dGF0cy53YWxfZnBpLAorICAgIHN0YXRzLndhbF9ieXRlcywKKyAgICBzdGF0cy5ibGtfcmVh ZF90aW1lLAorICAgIHN0YXRzLmJsa193cml0ZV90aW1lLAorICAgIHN0YXRzLmRlbGF5X3Rp bWUsCisgICAgc3RhdHMuc3lzdGVtX3RpbWUsCisgICAgc3RhdHMudXNlcl90aW1lLAorICAg IHN0YXRzLnRvdGFsX3RpbWUsCisgICAgc3RhdHMuaW50ZXJydXB0cworICAgRlJPTSAocGdf ZGF0YWJhc2UgZGIKKyAgICAgTEVGVCBKT0lOIExBVEVSQUwgcGdfc3RhdF92YWN1dW1fZGF0 YWJhc2UoZGIub2lkKSBzdGF0cyhkYm9pZCwgZGJfYmxrc19yZWFkLCBkYl9ibGtzX2hpdCwg dG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3 YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxh eV90aW1lLCBzeXN0ZW1fdGltZSwgdXNlcl90aW1lLCB0b3RhbF90aW1lLCBpbnRlcnJ1cHRz KSBPTiAoKGRiLm9pZCA9IHN0YXRzLmRib2lkKSkpOwogcGdfc3RhdF92YWN1dW1faW5kZXhl c3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hlbWEs CiAgICAgcmVsLnJlbG5hbWUsCkBAIC0yMjU5LDcgKzIyNzcsNyBAQCBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwKICAgIEZST00gcGdfZGF0YWJh c2UgZGIsCiAgICAgcGdfY2xhc3MgcmVsLAogICAgIHBnX25hbWVzcGFjZSBucywKLSAgICBM QVRFUkFMIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMoZGIub2lkLCByZWwub2lkKSBzdGF0cyhy ZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0 aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwg cGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3 YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCBz eXN0ZW1fdGltZSwgdXNlcl90aW1lLCB0b3RhbF90aW1lLCBpbnRlcnJ1cHRzKQorICAgIExB VEVSQUwgcGdfc3RhdF92YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90 YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3Rh bF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfZGVs ZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMs IGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCBzeXN0ZW1fdGlt ZSwgdXNlcl90aW1lLCB0b3RhbF90aW1lLCBpbnRlcnJ1cHRzKQogICBXSEVSRSAoKGRiLmRh dG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkpIEFORCAocmVsLm9pZCA9IHN0YXRzLnJlbGlk KSBBTkQgKG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UpKTsKIHBnX3N0YXRfdmFjdXVtX3Rh Ymxlc3wgU0VMRUNUIHJlbC5vaWQgQVMgcmVsaWQsCiAgICAgbnMubnNwbmFtZSBBUyBzY2hl bWEsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJs ZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90 YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CnNpbWlsYXJpdHkgaW5kZXggNzYlCnJlbmFt ZSBmcm9tIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzLm91dApyZW5hbWUgdG8gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFi bGVzX2FuZF9kYl9zdGF0aXN0aWNzLm91dAppbmRleCBiODVhNWNhYjlhZi4uZWMwY2Y5N2Uy ZGEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxl c19zdGF0aXN0aWNzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1 bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CkBAIC02LDYgKzYsOSBAQAogLS0gbnVt YmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCiAt LSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNh dXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KIC0tCitDUkVBVEUgREFUQUJBU0UgcmVn cmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Np b25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1 dW1fZGI7CiAtLSBjb25kaXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAg LS0gbXVzdCBiZSBvbgogIHRyYWNrX2NvdW50cyAKQEAgLTE5Niw0ICsxOTksNzkgQEAgRlJP TSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOwogIHQg ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAg fCB0CiAoMSByb3cpCiAKKy0tIE5vdyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgY3Vy cmVudCBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAg QVMgZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3Rh bF9ibGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3Rh bF9ibGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRz LAorICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4g MCBBUyB3YWxfYnl0ZXMsCisgICAgICAgdXNlcl90aW1lID4gMCBBUyB1c2VyX3RpbWUsCisg ICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1 dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKTsKKyAgICAg ICAgICAgICBkYm5hbWUgICAgICAgICAgICAgfCBkYl9ibGtzX2hpdCB8IHRvdGFsX2Jsa3Nf ZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8 IHdhbF9ieXRlcyB8IHVzZXJfdGltZSB8IHRvdGFsX3RpbWUgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1 bV9kYiB8IHQgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAg ICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdCAgICAgICAg IHwgdAorKDEgcm93KQorCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworLS0gZW5zdXJl IHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRf Zmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIAorKDEgcm93KQorCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkg V0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5T RVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBs ZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0g MTAwMDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZl c3RhdDsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CistLSBOb3cgY2hl Y2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhl ciBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMg ZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9i bGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9i bGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAor ICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBB UyB3YWxfYnl0ZXMsCisgICAgICAgdXNlcl90aW1lID4gMCBBUyB1c2VyX3RpbWUsCisgICAg ICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1f ZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGInOworICAgICAgICAgICAgIGRibmFtZSAgICAgICAgICAgICB8IGRiX2Jsa3NfaGl0IHwg dG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVuIHwgd2FsX3JlY29yZHMg fCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgdXNlcl90aW1lIHwgdG90YWxfdGltZSAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgcmVncmVzc2lvbl9zdGF0 aXN0aWNfdmFjdXVtX2RiIHwgdCAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgfCB0 ICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICB8IHQgICAgICAgfCB0ICAgICAgICAg fCB0ICAgICAgICAgfCB0CisoMSByb3cpCisKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3Zh Y3V1bV9kYgorUkVTRVQgdmFjdXVtX2ZyZWV6ZV9taW5fYWdlOworUkVTRVQgdmFjdXVtX2Zy ZWV6ZV90YWJsZV9hZ2U7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworXGMgcmVncmVz c2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19k YXRhYmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfdmFjdXVtX3RhYmxlcygwKQorV0hFUkUg b2lkID0gMDsgLS0gbXVzdCBiZSAwCisgY291bnQgCistLS0tLS0tCisgICAgIDAKKygxIHJv dykKKworU0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2RhdGFiYXNlIGQKK0NST1NTIEpPSU4g cGdfc3RhdF92YWN1dW1fZGF0YWJhc2UoMCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUg MAorIGNvdW50IAorLS0tLS0tLQorICAgICAwCisoMSByb3cpCisKK1xjIHBvc3RncmVzCitE Uk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitEUk9QIERB VEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlCmluZGV4IDI1NzU0ZmY2YmQxLi4zMDFiZTA0YTNkNiAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVz dC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBAIC0xNDEsNCArMTQxLDQgQEAgdGVzdDog dGFibGVzcGFjZQogIyBDaGVjayB2YWN1dW0gc3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCiB0 ZXN0OiB2YWN1dW1faW5kZXhfc3RhdGlzdGljcwotdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0 aXN0aWNzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQordGVzdDogdmFjdXVtX3RhYmxl c19hbmRfZGJfc3RhdGlzdGljcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5z cWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0 aWNzLnNxbApzaW1pbGFyaXR5IGluZGV4IDc4JQpyZW5hbWUgZnJvbSBzcmMvdGVzdC9yZWdy ZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCnJlbmFtZSB0byBzcmMvdGVz dC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbAppbmRl eCA0MWUzODdkZDMwNC4uZWQ5YmI4NTI2MjUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWwKQEAgLTcsNiAr NywxMCBAQAogLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlz IHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCiAtLQogCitDUkVBVEUg REFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOworQ1JFQVRFIERBVEFC QVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitcYyByZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGI7CisKIC0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgogU0hPVyB0 cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCiAtLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0 LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCkBAIC0xNTUsNCArMTU5LDY0IEBAIFZBQ1VV TSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OwogU0VMRUNU IHBhZ2VzX2Zyb3plbiA9IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUg PSA6cHYgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6aGFm cCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6aGF2 cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKIAotRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FE RTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0 YXRpc3RpY3MgZm9yIGN1cnJlbnQgZGF0YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAg ZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGly dGllZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3Jp dHRlbiA+IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4g MCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAg ICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzLAorICAgICAgIHVzZXJfdGltZSA+IDAg QVMgdXNlcl90aW1lLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZS T00KK3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50X2Rh dGFiYXNlKCk7CisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CisKKy0tIGVuc3VyZSBw ZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2Zs dXNoKCk7CisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVt X2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQg U0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitB TkFMWVpFIHZlc3RhdDsKK1VQREFURSB2ZXN0YXQgU0VUIHggPSAxMDAwMTsKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCitcYyByZWdy ZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0 YXRpc3RpY3MgZm9yIHBvc3RncmVzIGRhdGFiYXNlIGZyb20gYW5vdGhlciBkYXRhYmFzZQor U0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMgZGJfYmxrc19oaXQs CisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQs CisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4s CisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAorICAgICAgIHdhbF9m cGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBBUyB3YWxfYnl0ZXMs CisgICAgICAgdXNlcl90aW1lID4gMCBBUyB1c2VyX3RpbWUsCisgICAgICAgdG90YWxfdGlt ZSA+IDAgQVMgdG90YWxfdGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKK1dI RVJFIGRibmFtZSA9ICdyZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGInOworCitcYyBy ZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIKKworUkVTRVQgdmFjdXVtX2ZyZWV6ZV9t aW5fYWdlOworUkVTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2U7CitEUk9QIFRBQkxFIHZl c3RhdCBDQVNDQURFOworCitcYyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOwor U0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2RhdGFiYXNlIGQKK0NST1NTIEpPSU4gcGdfc3Rh dF92YWN1dW1fdGFibGVzKDApCitXSEVSRSBvaWQgPSAwOyAtLSBtdXN0IGJlIDAKKworU0VM RUNUIGNvdW50KCopCitGUk9NIHBnX2RhdGFiYXNlIGQKK0NST1NTIEpPSU4gcGdfc3RhdF92 YWN1dW1fZGF0YWJhc2UoMCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAorCitcYyBw b3N0Z3JlcworRFJPUCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIx OworRFJPUCBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7Ci0tIAoy LjM0LjEKCg== --------------KTO0Lkx3jeSP1KiShSAtFyX3 Content-Type: text/x-patch; charset=UTF-8; name="v7-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v7-0004-Add-documentation-about-the-system-views-that-are-us"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSA2ODk4OGUyNWRlYjY4YTk0NGRjMzYyMGExMzM2MDE3MmUyM2JjYTY4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAyNCAxNzo0Nzo1NSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc0NyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NDcgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCA2MzRhNGMwZmFiNC4uOGNi Y2NkYzRhNGQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTUwNjQsNCArNTA2NCw3 NTEgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXRzLXZhY3V1bS1kYXRhYmFzZSI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT48L3RpdGxlPgorCisgIDxpbmRleHRlcm0g em9uZT0idmlldy1wZy1zdGF0cy12YWN1dW0tZGF0YWJhc2UiPgorICAgPHByaW1hcnk+cGdf c3RhdF92YWN1dW1fZGF0YWJhc2U8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisgIDxw YXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fZGF0YWJhc2U8 L3N0cnVjdG5hbWU+IHdpbGwgY29udGFpbgorICAgb25lIHJvdyBmb3IgZWFjaCBkYXRhYmFz ZSBpbiB0aGUgY3VycmVudCBjbHVzdGVyLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQKKyAg IHZhY3V1bWluZyB0aGF0IGRhdGFiYXNlLgorICA8L3BhcmE+CisKKyAgPHRhYmxlPgorICAg PHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1l PiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5 PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ ZGJpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIE9JRCBvZiBhIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAg ICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2Yg dGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAgICAgIGJ1ZmZl ciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mg ZGlydGllZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX3dyaXR0ZW48L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mg d3JpdHRlbiBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVj b3Jkczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2Vu ZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlz IGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9ieXRl czwvc3RydWN0ZmllbGQ+IDx0eXBlPm51bWVyaWM8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgYW1vdW50IG9mIFdBTCBieXRlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+YmxrX3JlYWRfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tz IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFi YXNlLCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10 aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIFRpbWUgc3BlbnQgd3JpdGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9w ZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxp c2Vjb25kcyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBl bmFibGVkLAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRlbGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25z IHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMg KHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1lLWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29z dCIvPgorICAgICAgICBmb3IgZGV0YWlscykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1l IG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNlcl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vj b25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2Us IGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5p bnRlcnJ1cHRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgICAgd2VyZSBpbnRlcnJ1 cHRlZCBvbiBhbnkgZXJyb3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisK KyAgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXRzLXZhY3V1bS1pbmRleGVzIj4KKyAgPHRpdGxl PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2luZGV4ZXM8L3N0cnVjdG5hbWU+PC90aXRs ZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3RhdHMtdmFjdXVtLWluZGV4ZXMi PgorICAgPHByaW1hcnk+cGdfc3RhdF92YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9p bmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cg Zm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FT VAorICAgdGFibGUgaW5kZXhlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1p bmcgdGhhdCBzcGVjaWZpYyBpbmRleC4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBD b2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5Pgor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVs aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAg ICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hl bWEgdGhpcyBpbmRleCBpcyBpbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIHRpbWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBi dWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9u IHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxf Ymxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tz IGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRo aXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg aW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVh ZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyBy ZWFkIGZyb20gdGhpcworICAgICAgICBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1l cyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4g dGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQg d2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGlu IHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5n IHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFn ZXMgZGVsZXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNf ZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBv cGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPndhbF9yZWNvcmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1i ZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAg ICAgIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwg ZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2Yg V0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJm b3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0 YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAg ICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10 cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8p CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAg ICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1 bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZh Y3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBt aWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4g aXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9h dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBz cGVudCBzbGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0 aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRz IChzZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNv c3QiLz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGlt ZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0 ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxs aXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW50ZXJydXB0 czwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMg cGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBh bnkgZXJyb3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90 Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisKKyA8c2VjdDEg aWQ9InZpZXctcGctc3RhdHMtdmFjdXVtLXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFt ZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5k ZXh0ZXJtIHpvbmU9InZpZXctcGctc3RhdHMtdmFjdXVtLXRhYmxlcyI+CisgICA8cHJpbWFy eT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisg IDxwYXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVz PC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggdGFibGUg aW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGVzKSwg c2hvd2luZyBzdGF0aXN0aWNzIGFib3V0IHZhY3V1bWluZyB0aGF0IHNwZWNpZmljIHRhYmxl LgorICA8L3BhcmE+CisKKyAgPHRhYmxlPgorICAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0 YXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT4gQ29sdW1uczwvdGl0bGU+CisgICA8dGdy b3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ b2lkPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9m IGEgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyB0YWJsZSBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0 YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIHBhZ2VzIHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19mcm96ZW48L3N0cnVjdGZp ZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBtYXJrZWQgcGFnZXMg b2YgdGhpcyB0YWJsZQorICAgICAgICBhcyBhbGwtZnJvemVuIGluIHRoZSB2aXNpYmlsaXR5 IG1hcAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19hbGxfdmlz aWJsZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZhY3V1bSBvcGVyYXRpb25z IG1hcmtlZCBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICAgIGFzIGFsbC12aXNpYmxlIGlu IHRoZSB2aXNpYmlsaXR5IG1hcAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVz IHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0aGlzIHRhYmxlCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1cGxlc19mcm96ZW48L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0dXBsZXMgb2YgdGhpcyB0YWJsZSB0aGF0IHZhY3V1bSBvcGVyYXRpb25z IG1hcmtlZCBhcworICAgICAgICBmcm96ZW4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+ZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkZWFkIHR1 cGxlcyB2YWN1dW0gb3BlcmF0aW9ucyBsZWZ0IGluIHRoaXMgdGFibGUgZHVlCisgICAgICAg IHRvIHRoZWlyIHZpc2liaWxpdHkgaW4gdHJhbnNhY3Rpb25zCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPmluZGV4X3ZhY3V1bV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIHRpbWVzIGluZGV4ZXMgb24gdGhpcyB0YWJsZSB3ZXJlIHZhY3V1bWVkCisg ICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5f ZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJldl9hbGxfZnJvemVuX3BhZ2Vz PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIGFsbC1mcm96ZW4gbWFyayBp biB0aGUgdmlzaWJpbGl0eSBtYXAKKyAgICAgICAgd2FzIHJlbW92ZWQgZm9yIHBhZ2VzIG9m IHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmV2X2Fs bF92aXNpYmxlX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIGFs bC12aXNpYmxlIG1hcmsgaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAgICAgIHdhcyByZW1v dmVkIGZvciBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAg ICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3Rh YmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPndhbF9yZWNvcmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2Yg V0FMIHJlY29yZHMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBl cmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPndhbF9mcGk8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBw YWdlIGltYWdlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+d2FsX2J5dGVzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5 dGVzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQg b24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisg ICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtf cmVhZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2Ug YmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlz IHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1p by10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIHRhYmxlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyB0YWJsZSwgaW4gbWlsbGlzZWNvbmRzIChzZWUg PHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4K KyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2 YWN1dW1pbmcgdGhpcyB0YWJsZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJj YXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQ VSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVu dHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZp bml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW50ZXJydXB0czwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9y bWVkIG9uIHRoaXMgdGFibGUKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBhbnkgZXJy b3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90Ym9keT4K KyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVs ZD50b3RhbF8qPC9zdHJ1Y3RmaWVsZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0Zmll bGQ+CisgICAgYW5kIDxzdHJ1Y3RmaWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUg ZGF0YSBvbiB2YWN1dW1pbmcgaW5kZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5z CisgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1 Y3RmaWVsZD51c2VyX3RpbWU8L3N0cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAg IG9uIHZhY3V1bWluZyB0aGUgaGVhcC48L3BhcmE+CisgPC9zZWN0MT4KKwogPC9jaGFwdGVy PgotLSAKMi4zNC4xCgo= --------------KTO0Lkx3jeSP1KiShSAtFyX3 Content-Type: text/plain; charset=UTF-8; name="minor-vacuum.no-cbot" Content-Disposition: attachment; filename="minor-vacuum.no-cbot" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCA0ZTJhZTc4ZDI1NS4u OWM1M2QwYjRjNTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1 bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAg LTMzNDYsNyArMzM0Niw3IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJ c3dpdGNoIChlcnJpbmZvLT5waGFzZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNF X1NDQU5fSEVBUDoKLQkJCWlmKGdldGVycmVsZXZlbCgpID49IEVSUk9SKQorCQkJaWYoZ2V0 ZXJyZWxldmVsKCkgPT0gRVJST1IpCiAJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3Io ZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX0hFQVApOwogCQkJaWYgKEJsb2NrTnVt YmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CkBAIC0zMzYzLDcgKzMzNjMsNyBA QCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJnKQogCQkJYnJlYWs7CiAKIAkJY2Fz ZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFDVVVNX0hFQVA6Ci0JCQlpZihnZXRlcnJlbGV2ZWwo KSA+PSBFUlJPUikKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQogCQkJCXBnc3Rh dF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19I RUFQKTsKIAkJCWlmIChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJ ewpAQCAtMzM4MCwyMSArMzM4MCwyMSBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAq YXJnKQogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFDVVVNX0lO REVYOgotCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPj0gRVJST1IpCisJCQlpZihnZXRlcnJlbGV2 ZWwoKSA9PSBFUlJPUikKIAkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZv LT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOwogCQkJZXJyY29udGV4dCgid2hpbGUg dmFjdXVtaW5nIGluZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzLiVzXCIiLAogCQkJCQkg ICBlcnJpbmZvLT5pbmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmluZm8tPnJl bG5hbWUpOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfSU5ERVhf Q0xFQU5VUDoKLQkJCWlmKGdldGVycmVsZXZlbCgpID49IEVSUk9SKQorCQkJaWYoZ2V0ZXJy ZWxldmVsKCkgPT0gRVJST1IpCiAJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJy aW5mby0+aW5kb2lkLCBQR1NUQVRfRVhUVkFDX0lOREVYKTsKIAkJCWVycmNvbnRleHQoIndo aWxlIGNsZWFuaW5nIHVwIGluZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzLiVzXCIiLAog CQkJCQkgICBlcnJpbmZvLT5pbmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmlu Zm8tPnJlbG5hbWUpOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0Vf VFJVTkNBVEU6Ci0JCQlpZihnZXRlcnJlbGV2ZWwoKSA+PSBFUlJPUikKKwkJCWlmKGdldGVy cmVsZXZlbCgpID09IEVSUk9SKQogCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVy cmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19IRUFQKTsKIAkJCWlmIChCbG9ja051bWJl cklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJCWVycmNvbnRleHQoIndoaWxlIHRydW5j YXRpbmcgcmVsYXRpb24gXCIlcy4lc1wiIHRvICV1IGJsb2NrcyIsCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IGI2MzM0MDg3NzdlLi41ODNjM2ZmMGYwMyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTgyOSw1NyArODI5LDYgQEAg cGdzdGF0X3Jlc2V0X29mX2tpbmQoUGdTdGF0X0tpbmQga2luZCkKIAkJcGdzdGF0X3Jlc2V0 X2VudHJpZXNfb2Zfa2luZChraW5kLCB0cyk7CiB9CiAKLXZvaWQKLXBnc3RhdF9hY2N1bXVs YXRlX2V4dHZhY19zdGF0cyhFeHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMs Ci0JCQkJCQkJICAgYm9vbCBhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKLXsK LQlkc3QtPnRvdGFsX2Jsa3NfcmVhZCArPSBzcmMtPnRvdGFsX2Jsa3NfcmVhZDsKLQlkc3Qt PnRvdGFsX2Jsa3NfaGl0ICs9IHNyYy0+dG90YWxfYmxrc19oaXQ7Ci0JZHN0LT50b3RhbF9i bGtzX2RpcnRpZWQgKz0gc3JjLT50b3RhbF9ibGtzX2RpcnRpZWQ7Ci0JZHN0LT50b3RhbF9i bGtzX3dyaXR0ZW4gKz0gc3JjLT50b3RhbF9ibGtzX3dyaXR0ZW47Ci0JZHN0LT53YWxfYnl0 ZXMgKz0gc3JjLT53YWxfYnl0ZXM7Ci0JZHN0LT53YWxfZnBpICs9IHNyYy0+d2FsX2ZwaTsK LQlkc3QtPndhbF9yZWNvcmRzICs9IHNyYy0+d2FsX3JlY29yZHM7Ci0JZHN0LT5ibGtfcmVh ZF90aW1lICs9IHNyYy0+YmxrX3JlYWRfdGltZTsKLQlkc3QtPmJsa193cml0ZV90aW1lICs9 IHNyYy0+YmxrX3dyaXRlX3RpbWU7Ci0JZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ZGVsYXlf dGltZTsKLQlkc3QtPnN5c3RlbV90aW1lICs9IHNyYy0+c3lzdGVtX3RpbWU7Ci0JZHN0LT51 c2VyX3RpbWUgKz0gc3JjLT51c2VyX3RpbWU7Ci0JZHN0LT50b3RhbF90aW1lICs9IHNyYy0+ dG90YWxfdGltZTsKLQlkc3QtPmludGVycnVwdHMgKz0gc3JjLT5pbnRlcnJ1cHRzOwotCi0J aWYgKCFhY2N1bXVsYXRlX3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKLQkJcmV0dXJuOwotCi0J aWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOVkFMSUQpCi0JCWRzdC0+dHlwZSA9 IHNyYy0+dHlwZTsKLQotCUFzc2VydChzcmMtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZB TElEIHx8IHNyYy0+dHlwZSA9PSBkc3QtPnR5cGUpOwotCi0JaWYgKGRzdC0+dHlwZSA9PSBz cmMtPnR5cGUpCi0JewotCQlkc3QtPmJsa3NfZmV0Y2hlZCArPSBzcmMtPmJsa3NfZmV0Y2hl ZDsKLQkJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OwotCi0JCWlmIChkc3QtPnR5 cGUgPT0gUEdTVEFUX0VYVFZBQ19IRUFQKQotCQl7Ci0JCQlkc3QtPmhlYXAucGFnZXNfc2Nh bm5lZCArPSBzcmMtPmhlYXAucGFnZXNfc2Nhbm5lZDsKLQkJCWRzdC0+aGVhcC5wYWdlc19y ZW1vdmVkICs9IHNyYy0+aGVhcC5wYWdlc19yZW1vdmVkOwotCQkJZHN0LT5oZWFwLnBhZ2Vz X2Zyb3plbiArPSBzcmMtPmhlYXAucGFnZXNfZnJvemVuOwotCQkJZHN0LT5oZWFwLnBhZ2Vz X2FsbF92aXNpYmxlICs9IHNyYy0+aGVhcC5wYWdlc19hbGxfdmlzaWJsZTsKLQkJCWRzdC0+ aGVhcC50dXBsZXNfZGVsZXRlZCArPSBzcmMtPmhlYXAudHVwbGVzX2RlbGV0ZWQ7Ci0JCQlk c3QtPmhlYXAudHVwbGVzX2Zyb3plbiArPSBzcmMtPmhlYXAudHVwbGVzX2Zyb3plbjsKLQkJ CWRzdC0+aGVhcC5kZWFkX3R1cGxlcyArPSBzcmMtPmhlYXAuZGVhZF90dXBsZXM7Ci0JCQlk c3QtPmhlYXAuaW5kZXhfdmFjdXVtX2NvdW50ICs9IHNyYy0+aGVhcC5pbmRleF92YWN1dW1f Y291bnQ7Ci0JCX0KLQkJZWxzZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5E RVgpCi0JCXsKLQkJCWRzdC0+aW5kZXgucGFnZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnBh Z2VzX2RlbGV0ZWQ7Ci0JCQlkc3QtPmluZGV4LnR1cGxlc19kZWxldGVkICs9IHNyYy0+aW5k ZXgudHVwbGVzX2RlbGV0ZWQ7Ci0JCX0KLQl9Ci19Ci0KIC8qIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogRmV0Y2hp bmcgb2Ygc3RhdHMKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCBjYzA5YWJhNTcxZi4uZTA1ZGU2M2IyZjAgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCkBA IC00OCw2ICs0OCw4IEBAIHN0YXRpYyB2b2lkIGFkZF90YWJzdGF0X3hhY3RfbGV2ZWwoUGdT dGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbywgaW50IG5lc3RfbGV2CiBzdGF0aWMgdm9p ZCBlbnN1cmVfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0 X2luZm8pOwogc3RhdGljIHZvaWQgc2F2ZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0X1Rh YmxlWGFjdFN0YXR1cyAqdHJhbnMsIGJvb2wgaXNfZHJvcCk7CiBzdGF0aWMgdm9pZCByZXN0 b3JlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFucyk7 CitzdGF0aWMgdm9pZCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVw b3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAorCQkJCQkJCSAgIGJvb2wgYWNjdW11bGF0 ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pOwogCiAKIC8qCkBAIC0xMDM0LDMgKzEwMzYsNjYg QEAgcmVzdG9yZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAq dHJhbnMpCiAJCXRyYW5zLT50dXBsZXNfZGVsZXRlZCA9IHRyYW5zLT5kZWxldGVkX3ByZV90 cnVuY2Ryb3A7CiAJfQogfQorCitzdGF0aWMgdm9pZAorcGdzdGF0X2FjY3VtdWxhdGVfZXh0 dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKKwkJCQkJ CQkgICBib29sIGFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQoreworCWRzdC0+ dG90YWxfYmxrc19yZWFkICs9IHNyYy0+dG90YWxfYmxrc19yZWFkOworCWRzdC0+dG90YWxf Ymxrc19oaXQgKz0gc3JjLT50b3RhbF9ibGtzX2hpdDsKKwlkc3QtPnRvdGFsX2Jsa3NfZGly dGllZCArPSBzcmMtPnRvdGFsX2Jsa3NfZGlydGllZDsKKwlkc3QtPnRvdGFsX2Jsa3Nfd3Jp dHRlbiArPSBzcmMtPnRvdGFsX2Jsa3Nfd3JpdHRlbjsKKwlkc3QtPndhbF9ieXRlcyArPSBz cmMtPndhbF9ieXRlczsKKwlkc3QtPndhbF9mcGkgKz0gc3JjLT53YWxfZnBpOworCWRzdC0+ d2FsX3JlY29yZHMgKz0gc3JjLT53YWxfcmVjb3JkczsKKwlkc3QtPmJsa19yZWFkX3RpbWUg Kz0gc3JjLT5ibGtfcmVhZF90aW1lOworCWRzdC0+YmxrX3dyaXRlX3RpbWUgKz0gc3JjLT5i bGtfd3JpdGVfdGltZTsKKwlkc3QtPmRlbGF5X3RpbWUgKz0gc3JjLT5kZWxheV90aW1lOwor CWRzdC0+c3lzdGVtX3RpbWUgKz0gc3JjLT5zeXN0ZW1fdGltZTsKKwlkc3QtPnVzZXJfdGlt ZSArPSBzcmMtPnVzZXJfdGltZTsKKwlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90 aW1lOworCWRzdC0+aW50ZXJydXB0cyArPSBzcmMtPmludGVycnVwdHM7CisKKwlpZiAoIWFj Y3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQorCQlyZXR1cm47CisKKwlkc3QtPmJs a3NfZmV0Y2hlZCArPSBzcmMtPmJsa3NfZmV0Y2hlZDsKKwlkc3QtPmJsa3NfaGl0ICs9IHNy Yy0+Ymxrc19oaXQ7CisKKwlkc3QtPnBhZ2VzX3NjYW5uZWQgKz0gc3JjLT5wYWdlc19zY2Fu bmVkOworCWRzdC0+cGFnZXNfcmVtb3ZlZCArPSBzcmMtPnBhZ2VzX3JlbW92ZWQ7CisJZHN0 LT5wYWdlc19mcm96ZW4gKz0gc3JjLT5wYWdlc19mcm96ZW47CisJZHN0LT5wYWdlc19hbGxf dmlzaWJsZSArPSBzcmMtPnBhZ2VzX2FsbF92aXNpYmxlOworCWRzdC0+dHVwbGVzX2RlbGV0 ZWQgKz0gc3JjLT50dXBsZXNfZGVsZXRlZDsKKwlkc3QtPnR1cGxlc19mcm96ZW4gKz0gc3Jj LT50dXBsZXNfZnJvemVuOworCWRzdC0+ZGVhZF90dXBsZXMgKz0gc3JjLT5kZWFkX3R1cGxl czsKKwlkc3QtPmluZGV4X3ZhY3V1bV9jb3VudCArPSBzcmMtPmluZGV4X3ZhY3V1bV9jb3Vu dDsKKworCWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEKQorCQkJZHN0 LT50eXBlID0gc3JjLT50eXBlOworCisJQXNzZXJ0KHNyYy0+dHlwZSA9PSBQR1NUQVRfRVhU VkFDX0lOVkFMSUQgfHwgc3JjLT50eXBlID09IGRzdC0+dHlwZSk7CisKKwlpZiAoZHN0LT50 eXBlID09IHNyYy0+dHlwZSkKKwl7CisJCWRzdC0+Ymxrc19mZXRjaGVkICs9IHNyYy0+Ymxr c19mZXRjaGVkOworCQlkc3QtPmJsa3NfaGl0ICs9IHNyYy0+Ymxrc19oaXQ7CisKKwkJaWYg KGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0hFQVApCisJCXsKKwkJCWRzdC0+aGVhcC5w YWdlc19zY2FubmVkICs9IHNyYy0+aGVhcC5wYWdlc19zY2FubmVkOworCQkJZHN0LT5oZWFw LnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5oZWFwLnBhZ2VzX3JlbW92ZWQ7CisJCQlkc3QtPmhl YXAucGFnZXNfZnJvemVuICs9IHNyYy0+aGVhcC5wYWdlc19mcm96ZW47CisJCQlkc3QtPmhl YXAucGFnZXNfYWxsX3Zpc2libGUgKz0gc3JjLT5oZWFwLnBhZ2VzX2FsbF92aXNpYmxlOwor CQkJZHN0LT5oZWFwLnR1cGxlc19kZWxldGVkICs9IHNyYy0+aGVhcC50dXBsZXNfZGVsZXRl ZDsKKwkJCWRzdC0+aGVhcC50dXBsZXNfZnJvemVuICs9IHNyYy0+aGVhcC50dXBsZXNfZnJv emVuOworCQkJZHN0LT5oZWFwLmRlYWRfdHVwbGVzICs9IHNyYy0+aGVhcC5kZWFkX3R1cGxl czsKKwkJCWRzdC0+aGVhcC5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5oZWFwLmluZGV4 X3ZhY3V1bV9jb3VudDsKKwkJfQorCQllbHNlIGlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VY VFZBQ19JTkRFWCkKKwkJeworCQkJZHN0LT5pbmRleC5wYWdlc19kZWxldGVkICs9IHNyYy0+ aW5kZXgucGFnZXNfZGVsZXRlZDsKKwkJCWRzdC0+aW5kZXgudHVwbGVzX2RlbGV0ZWQgKz0g c3JjLT5pbmRleC50dXBsZXNfZGVsZXRlZDsKKwkJfQorCX0KK30KXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9p bmNsdWRlL3Bnc3RhdC5oCmluZGV4IGM1NmM1NGRlM2I0Li5lYWNiZWU1NzliMyAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgK QEAgLTY0Niw3ICs2NDYsNyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShP aWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9h bmFseXplKFJlbGF0aW9uIHJlbCwKIAkJCQkJCQkJICBQZ1N0YXRfQ291bnRlciBsaXZldHVw bGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVwbGVzLAogCQkJCQkJCQkgIGJvb2wgcmVzZXRj b3VudGVyKTsKLWV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0 YWJsZW9pZCk7CitleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQg dGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90eXBlKTsKIAogLyoKICAqIElmIHN0YXRz IGFyZSBlbmFibGVkLCBidXQgcGVuZGluZyBkYXRhIGhhc24ndCBiZWVuIHByZXBhcmVkIHll dCwgY2FsbApAQCAtNzIxLDkgKzcyMSw2IEBAIGV4dGVybiBQZ1N0YXRfU3RhdFRhYkVudHJ5 ICpwZ3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShPaWQgcmVsaWQpOwogZXh0ZXJuIFBnU3Rh dF9TdGF0VGFiRW50cnkgKnBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5X2V4dChib29sIHNo YXJlZCwKIAkJCQkJCQkJCQkJCQkJICAgT2lkIHJlbG9pZCk7CiBleHRlcm4gUGdTdGF0X1Rh YmxlU3RhdHVzICpmaW5kX3RhYnN0YXRfZW50cnkoT2lkIHJlbF9pZCk7Ci1leHRlcm4gdm9p ZAotcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBF eHRWYWNSZXBvcnQgKnNyYywKLQkJCQkJCQkgICBib29sIGFjY3VtdWxhdGVfcmVsdHlwZV9z cGVjaWZpY19pbmZvKTsKIAogLyoKICAqIEZ1bmN0aW9ucyBpbiBwZ3N0YXRfcmVwbHNsb3Qu Ywo= --------------KTO0Lkx3jeSP1KiShSAtFyX3--