From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fengguang Wu Subject: Re: [kbuild-all] [PATCH] drm: Convert all helpers to drm_connector_list_iter Date: Fri, 16 Dec 2016 15:41:09 +0800 Message-ID: <20161216074109.otpuhtnjgbkns2ir@wfg-t540p.sh.intel.com> References: <20161215155843.13408-1-daniel.vetter@ffwll.ch> <201612160608.pIHFGnGj%fengguang.wu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Intel Graphics Development , Harry Wentland , kbuild-all@01.org, DRI Development , Ye Xiaolong List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKT24gRnJpLCBEZWMgMTYsIDIwMTYgYXQgMDg6Mjk6NDNBTSArMDEwMCwgRGFu aWVsIFZldHRlciB3cm90ZToKPkhpIEtidWlsZCBmb2xrcwo+Cj5TbyB5ZWFoIHRoaXMgZG9lc24n dCBhcHBseSBiZWNhdXNlIGl0J3MganVzdCAxIHBhdGNoIHJlc2VudCBvdXQgb2YgYQo+YmlnIHBh dGNoIHNlcmllcywgaW4tcmVwbHktdG8gdGhlIHBhdGNoIGl0IHJlcGxhY2VzLiBTbyBhcHBseWlu ZyB0aGlzCj5hbG9uZSBhbmQgdGVsbGluZyBtZSAoYW5kIGFsbCB0aGUgbWFpbGluZyBsaXN0cykg dGhhdCBpdCBkb2Vzbid0IGFwcGx5Cj5pc24ndCBhbGwgdGhhdCB1c2VmdWwuCj4KPkFuZCBpdCBz aG91bGRuJ3QgYmUgdG9vIGhhcmQgdG8gZGV0ZWN0IHRoaXMsIHNpbmNlIHRoZSBmZG8gcGF0Y2h3 b3JrCj5pbnN0YW5jZSBkb2VzIGNhdGNoIG1vc3Qgb2YgdGhlc2UgcGFydGlhbCByZXNlbmRzIHN1 Y2Nlc3NmdWxseSBhbmQKPmNvcnJlY3RseSwgYW5kIHdpbGwgcmV0ZXN0IHRoZSBlbnRpcmUgcGF0 Y2ggc2VyaWVzLgoKR29vZCBwb2ludCEgQ0MgWGlhb2xvbmcuIFRoaXMgc2NlbmFyaW8gc2VlbXMg aGFwcGVuIGZyZXF1ZW50IGVub3VnaCBpbgpMS01MIHRvIHdvcnRoIHRoZSBlZmZvcnRzIHRvIGFk ZCBhdXRvIGRldGVjdCBsb2dpYyBmb3IuCgpUaGFua3MsCkZlbmdndWFuZwoKPk9uIFRodSwgRGVj IDE1LCAyMDE2IGF0IDExOjU5IFBNLCBrYnVpbGQgdGVzdCByb2JvdCA8bGtwQGludGVsLmNvbT4g d3JvdGU6Cj4+IEhpIERhbmllbCwKPj4KPj4gW2F1dG8gYnVpbGQgdGVzdCBFUlJPUiBvbiBkcm0v ZHJtLW5leHRdCj4+IFthbHNvIGJ1aWxkIHRlc3QgRVJST1Igb24gbmV4dC0yMDE2MTIxNV0KPj4g W2Nhbm5vdCBhcHBseSB0byB2NC45XQo+PiBbaWYgeW91ciBwYXRjaCBpcyBhcHBsaWVkIHRvIHRo ZSB3cm9uZyBnaXQgdHJlZSwgcGxlYXNlIGRyb3AgdXMgYSBub3RlIHRvIGhlbHAgaW1wcm92ZSB0 aGUgc3lzdGVtXQo+Pgo+PiB1cmw6ICAgIGh0dHBzOi8vZ2l0aHViLmNvbS8wZGF5LWNpL2xpbnV4 L2NvbW1pdHMvRGFuaWVsLVZldHRlci9kcm0tQ29udmVydC1hbGwtaGVscGVycy10by1kcm1fY29u bmVjdG9yX2xpc3RfaXRlci8yMDE2MTIxNi0wNjE1MDgKPj4gYmFzZTogICBnaXQ6Ly9wZW9wbGUu ZnJlZWRlc2t0b3Aub3JnL35haXJsaWVkL2xpbnV4LmdpdCBkcm0tbmV4dAo+PiBjb25maWc6IGkz ODYtcmFuZGNvbmZpZy14MDAzLTIwMTY1MCAoYXR0YWNoZWQgYXMgLmNvbmZpZykKPj4gY29tcGls ZXI6IGdjYy02IChEZWJpYW4gNi4yLjAtMykgNi4yLjAgMjAxNjA5MDEKPj4gcmVwcm9kdWNlOgo+ PiAgICAgICAgICMgc2F2ZSB0aGUgYXR0YWNoZWQgLmNvbmZpZyB0byBsaW51eCBidWlsZCB0cmVl Cj4+ICAgICAgICAgbWFrZSBBUkNIPWkzODYKPj4KPj4gQWxsIGVycm9yL3dhcm5pbmdzIChuZXcg b25lcyBwcmVmaXhlZCBieSA+Pik6Cj4+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19o ZWxwZXIuYzogSW4gZnVuY3Rpb24gJ2RybV9oZWxwZXJfZW5jb2Rlcl9pbl91c2UnOgo+Pj4+IGRy aXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzo5MTozMzogZXJyb3I6IHN0b3JhZ2Ugc2l6 ZSBvZiAnY29ubl9pdGVyJyBpc24ndCBrbm93bgo+PiAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9y X2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fgo+Pj4+IGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzoxMDQ6 MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdkcm1fY29ubmVjdG9y X2xpc3RfaXRlcl9nZXQnIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+ PiAgICAgIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChkZXYsICZjb25uX2l0ZXIpOwo+PiAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo+Pj4+IGRyaXZlcnMvZ3B1L2RybS9kcm1f Y3J0Y19oZWxwZXIuYzoxMDU6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0 aW9uICdkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXInIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0 aW9uLWRlY2xhcmF0aW9uXQo+PiAgICAgIGRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25u ZWN0b3IsICZjb25uX2l0ZXIpIHsKPj4gICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K Pj4+PiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmM6MTA1OjUzOiBlcnJvcjogZXhw ZWN0ZWQgJzsnIGJlZm9yZSAneycgdG9rZW4KPj4gICAgICBkcm1fZm9yX2VhY2hfY29ubmVjdG9y X2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgo+PiAgICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGNfaGVscGVyLmM6OTE6MzM6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnY29ubl9p dGVyJyBbLVd1bnVzZWQtdmFyaWFibGVdCj4+ICAgICAgc3RydWN0IGRybV9jb25uZWN0b3JfbGlz dF9pdGVyIGNvbm5faXRlcjsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzogSW4gZnVu Y3Rpb24gJ2RybV9jcnRjX2hlbHBlcl9kaXNhYmxlJzoKPj4gICAgZHJpdmVycy9ncHUvZHJtL2Ry bV9jcnRjX2hlbHBlci5jOjQ0NjozNDogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnY29ubl9pdGVy JyBpc24ndCBrbm93bgo+PiAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29u bl9pdGVyOwo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzo0NTI6NTQ6IGVycm9yOiBl eHBlY3RlZCAnOycgYmVmb3JlICd7JyB0b2tlbgo+PiAgICAgICBkcm1fZm9yX2VhY2hfY29ubmVj dG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7Cj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KPj4gICAgZHJpdmVycy9ncHUv ZHJtL2RybV9jcnRjX2hlbHBlci5jOjQ0NjozNDogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdj b25uX2l0ZXInIFstV3VudXNlZC12YXJpYWJsZV0KPj4gICAgICAgc3RydWN0IGRybV9jb25uZWN0 b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmM6 IEluIGZ1bmN0aW9uICdkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZyc6Cj4+ICAgIGRyaXZlcnMv Z3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzo1MjE6MzM6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg J2Nvbm5faXRlcicgaXNuJ3Qga25vd24KPj4gICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXIgY29ubl9pdGVyOwo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn4KPj4+PiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmM6NTg4OjM6IGVy cm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICdzYXZlX2Nvbm5lY3Rvcl9lbmNvZGVycycKPj4gICAg ICAgc2F2ZV9jb25uZWN0b3JfZW5jb2RlcnNbY291bnQrK10gPSBjb25uZWN0b3ItPmVuY29kZXI7 Cj4+ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cj4+Pj4gZHJpdmVycy9ncHUvZHJtL2Ry bV9jcnRjX2hlbHBlci5jOjU4OToyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24gJ2RybV9jb25uZWN0b3JfbGlzdF9pdGVyX3B1dCcgWy1XZXJyb3I9aW1wbGljaXQtZnVu Y3Rpb24tZGVjbGFyYXRpb25dCj4+ICAgICAgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZj b25uX2l0ZXIpOwo+PiAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo+PiAgICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmM6NjMzOjUzOiBlcnJvcjogZXhwZWN0ZWQgJzsn IGJlZm9yZSAneycgdG9rZW4KPj4gICAgICBkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29u bmVjdG9yLCAmY29ubl9pdGVyKSB7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNf aGVscGVyLmM6Njc1OjUzOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAneycgdG9rZW4KPj4g ICAgICBkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7 Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgo+Pj4+IGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzo3Njc6MzogZXJyb3I6 IGV4cGVjdGVkICc7JyBiZWZvcmUgJ2Nvbm5lY3RvcicKPj4gICAgICAgY29ubmVjdG9yLT5lbmNv ZGVyID0gc2F2ZV9jb25uZWN0b3JfZW5jb2RlcnNbY291bnQrK107Cj4+ICAgICAgIF5+fn5+fn5+ fgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmM6NTIxOjMzOiB3YXJuaW5n OiB1bnVzZWQgdmFyaWFibGUgJ2Nvbm5faXRlcicgWy1XdW51c2VkLXZhcmlhYmxlXQo+PiAgICAg IHN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgo+PiAgICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGNfaGVscGVyLmM6NTE3OjQ5OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ25ld19l bmNvZGVyJyBbLVd1bnVzZWQtdmFyaWFibGVdCj4+ICAgICAgc3RydWN0IGRybV9lbmNvZGVyICoq c2F2ZV9jb25uZWN0b3JfZW5jb2RlcnMsICpuZXdfZW5jb2RlciwgKmVuY29kZXI7Cj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmM6NTE2OjQxOiB3YXJuaW5n OiB1bnVzZWQgdmFyaWFibGUgJ25ld19jcnRjJyBbLVd1bnVzZWQtdmFyaWFibGVdCj4+ICAgICAg c3RydWN0IGRybV9jcnRjICoqc2F2ZV9lbmNvZGVyX2NydGNzLCAqbmV3X2NydGM7Cj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn4KPj4gICAgZHJp dmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jOiBJbiBmdW5jdGlvbiAnZHJtX2hlbHBlcl9j aG9vc2VfZW5jb2Rlcl9kcG1zJzoKPj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBl ci5jOjc5NTozMzogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnY29ubl9pdGVyJyBpc24ndCBrbm93 bgo+PiAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgo+PiAgICBJbiBmaWxl IGluY2x1ZGVkIGZyb20gaW5jbHVkZS9saW51eC9saW5rYWdlLmg6NDowLAo+PiAgICAgICAgICAg ICAgICAgICAgIGZyb20gaW5jbHVkZS9saW51eC9rZXJuZWwuaDo2LAo+PiAgICAgICAgICAgICAg ICAgICAgIGZyb20gZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jOjMyOgo+Pj4+IGlu Y2x1ZGUvbGludXgvY29tcGlsZXIuaDoxNDk6MjogZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUg J2lmJwo+PiAgICAgIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcCghIShjb25kKSkgPyAhIShjb25k KSA6ICAgXAo+PiAgICAgIF4KPj4gICAgaW5jbHVkZS9saW51eC9jb21waWxlci5oOjE0NzoyMzog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfX3RyYWNlX2lmJwo+PiAgICAgI2RlZmluZSBp Zihjb25kLCAuLi4pIF9fdHJhY2VfaWYoIChjb25kICwgIyMgX19WQV9BUkdTX18pICkKPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+Cj4+Pj4gZHJpdmVycy9ncHUvZHJtL2Ry bV9jcnRjX2hlbHBlci5jOjgwMDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2lmJwo+ PiAgICAgICBpZiAoY29ubmVjdG9yLT5lbmNvZGVyID09IGVuY29kZXIpCj4+ICAgICAgIF5+Cj4+ ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzo3OTU6MzM6IHdhcm5pbmc6IHVu dXNlZCB2YXJpYWJsZSAnY29ubl9pdGVyJyBbLVd1bnVzZWQtdmFyaWFibGVdCj4+ICAgICAgc3Ry dWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1f Y3J0Y19oZWxwZXIuYzogSW4gZnVuY3Rpb24gJ2RybV9oZWxwZXJfY2hvb3NlX2NydGNfZHBtcyc6 Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzo4MzY6MzM6IGVycm9yOiBz dG9yYWdlIHNpemUgb2YgJ2Nvbm5faXRlcicgaXNuJ3Qga25vd24KPj4gICAgICBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn4KPj4gICAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGluY2x1 ZGUvbGludXgvbGlua2FnZS5oOjQ6MCwKPj4gICAgICAgICAgICAgICAgICAgICBmcm9tIGluY2x1 ZGUvbGludXgva2VybmVsLmg6NiwKPj4gICAgICAgICAgICAgICAgICAgICBmcm9tIGRyaXZlcnMv Z3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzozMjoKPj4+PiBpbmNsdWRlL2xpbnV4L2NvbXBpbGVy Lmg6MTQ5OjI6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICdpZicKPj4gICAgICBpZiAoX19i dWlsdGluX2NvbnN0YW50X3AoISEoY29uZCkpID8gISEoY29uZCkgOiAgIFwKPj4gICAgICBeCj4+ ICAgIGluY2x1ZGUvbGludXgvY29tcGlsZXIuaDoxNDc6MjM6IG5vdGU6IGluIGV4cGFuc2lvbiBv ZiBtYWNybyAnX190cmFjZV9pZicKPj4gICAgICNkZWZpbmUgaWYoY29uZCwgLi4uKSBfX3RyYWNl X2lmKCAoY29uZCAsICMjIF9fVkFfQVJHU19fKSApCj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmM6ODQx OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnaWYnCj4+ICAgICAgIGlmIChjb25uZWN0 b3ItPmVuY29kZXIgJiYgY29ubmVjdG9yLT5lbmNvZGVyLT5jcnRjID09IGNydGMpCj4+ICAgICAg IF5+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYzo4MzY6MzM6IHdhcm5p bmc6IHVudXNlZCB2YXJpYWJsZSAnY29ubl9pdGVyJyBbLVd1bnVzZWQtdmFyaWFibGVdCj4+ICAg ICAgc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cj4+ICAgIGNjMTogc29tZSB3YXJu aW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwo+PiAtLQo+PiAgICBkcml2ZXJzL2dwdS9kcm0v ZHJtX3Byb2JlX2hlbHBlci5jOiBJbiBmdW5jdGlvbiAnZHJtX2ttc19oZWxwZXJfcG9sbF9lbmFi bGVfbG9ja2VkJzoKPj4+PiBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jOjEzMjoz MzogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnY29ubl9pdGVyJyBpc24ndCBrbm93bgo+PiAgICAg IHN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgo+Pj4+IGRyaXZlcnMvZ3B1L2RybS9k cm1fcHJvYmVfaGVscGVyLmM6MTQwOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBm dW5jdGlvbiAnZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0JyBbLVdlcnJvcj1pbXBsaWNpdC1m dW5jdGlvbi1kZWNsYXJhdGlvbl0KPj4gICAgICBkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQo ZGV2LCAmY29ubl9pdGVyKTsKPj4gICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPj4+ PiBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jOjE0MToyOiBlcnJvcjogaW1wbGlj aXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2RybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcicg Wy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCj4+ICAgICAgZHJtX2Zvcl9l YWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewo+PiAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo+Pj4+IGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVs cGVyLmM6MTQxOjUzOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAneycgdG9rZW4KPj4gICAg ICBkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7Cj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jOjEzMjozMzogd2Fybmlu ZzogdW51c2VkIHZhcmlhYmxlICdjb25uX2l0ZXInIFstV3VudXNlZC12YXJpYWJsZV0KPj4gICAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KPj4gICAgZHJpdmVycy9ncHUvZHJt L2RybV9wcm9iZV9oZWxwZXIuYzogSW4gZnVuY3Rpb24gJ291dHB1dF9wb2xsX2V4ZWN1dGUnOgo+ PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jOjM4ODozMzogZXJyb3I6IHN0 b3JhZ2Ugc2l6ZSBvZiAnY29ubl9pdGVyJyBpc24ndCBrbm93bgo+PiAgICAgIHN0cnVjdCBkcm1f Y29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hl bHBlci5jOjQwNTo1MzogZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUgJ3snIHRva2VuCj4+ICAg ICAgZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewo+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KPj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYzozODk6Mjg6IHdhcm5p bmc6IHVudXNlZCB2YXJpYWJsZSAnb2xkX3N0YXR1cycgWy1XdW51c2VkLXZhcmlhYmxlXQo+PiAg ICAgIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgb2xkX3N0YXR1czsKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn4KPj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9w cm9iZV9oZWxwZXIuYzozODg6MzM6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnY29ubl9pdGVy JyBbLVd1bnVzZWQtdmFyaWFibGVdCj4+ICAgICAgc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9p dGVyIGNvbm5faXRlcjsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmM6IEluIGZ1bmN0 aW9uICdkcm1faGVscGVyX2hwZF9pcnFfZXZlbnQnOgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJt X3Byb2JlX2hlbHBlci5jOjU3MDozMzogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnY29ubl9pdGVy JyBpc24ndCBrbm93bgo+PiAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25u X2l0ZXI7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgo+ PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jOjU3OTo1MzogZXJyb3I6IGV4 cGVjdGVkICc7JyBiZWZvcmUgJ3snIHRva2VuCj4+ICAgICAgZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rv cl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KPj4gICAgZHJpdmVycy9ncHUvZHJt L2RybV9wcm9iZV9oZWxwZXIuYzo1NzE6Mjg6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnb2xk X3N0YXR1cycgWy1XdW51c2VkLXZhcmlhYmxlXQo+PiAgICAgIGVudW0gZHJtX2Nvbm5lY3Rvcl9z dGF0dXMgb2xkX3N0YXR1czsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn4KPj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYzo1NzA6MzM6IHdh cm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnY29ubl9pdGVyJyBbLVd1bnVzZWQtdmFyaWFibGVdCj4+ ICAgICAgc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cj4+ICAgIGNjMTogc29tZSB3 YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwo+PiAtLQo+PiAgICBkcml2ZXJzL2dwdS9k cm0vZHJtX3BsYW5lX2hlbHBlci5jOiBJbiBmdW5jdGlvbiAnZ2V0X2Nvbm5lY3RvcnNfZm9yX2Ny dGMnOgo+Pj4+IGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmM6Nzc6MzM6IGVycm9y OiBzdG9yYWdlIHNpemUgb2YgJ2Nvbm5faXRlcicgaXNuJ3Qga25vd24KPj4gICAgICBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn4KPj4+PiBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5l X2hlbHBlci5jOjg3OjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAn ZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0JyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1k ZWNsYXJhdGlvbl0KPj4gICAgICBkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQoZGV2LCAmY29u bl9pdGVyKTsKPj4gICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPj4+PiBkcml2ZXJz L2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jOjg4OjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJh dGlvbiBvZiBmdW5jdGlvbiAnZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyJyBbLVdlcnJvcj1p bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KPj4gICAgICBkcm1fZm9yX2VhY2hfY29ubmVj dG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7Cj4+ICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Cj4+Pj4gZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYzo4ODo1 MzogZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUgJ3snIHRva2VuCj4+ICAgICAgZHJtX2Zvcl9l YWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KPj4gICAgZHJp dmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYzo3NzozMzogd2FybmluZzogdW51c2VkIHZh cmlhYmxlICdjb25uX2l0ZXInIFstV3VudXNlZC12YXJpYWJsZV0KPj4gICAgICBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn4KPj4gICAgY2MxOiBzb21lIHdhcm5pbmdzIGJlaW5nIHRy ZWF0ZWQgYXMgZXJyb3JzCj4+IC0tCj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hl bHBlci5jOiBJbiBmdW5jdGlvbiAnaGFuZGxlX2NvbmZsaWN0aW5nX2VuY29kZXJzJzoKPj4+PiBk cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYzo5NzozMzogZXJyb3I6IHN0b3JhZ2Ug c2l6ZSBvZiAnY29ubl9pdGVyJyBpc24ndCBrbm93bgo+PiAgICAgIHN0cnVjdCBkcm1fY29ubmVj dG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fgo+Pj4+IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5j OjE0ODoyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2RybV9jb25u ZWN0b3JfbGlzdF9pdGVyX2dldCcgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp b25dCj4+ICAgICAgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KHN0YXRlLT5kZXYsICZjb25u X2l0ZXIpOwo+PiAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo+Pj4+IGRyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jOjE0OToyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24gJ2RybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcicgWy1XZXJyb3I9 aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCj4+ICAgICAgZHJtX2Zvcl9lYWNoX2Nvbm5l Y3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewo+PiAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgo+Pj4+IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jOjE0 OTo1MzogZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUgJ3snIHRva2VuCj4+ICAgICAgZHJtX2Zv cl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KPj4gICAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmM6OTg6MjI6IHdhcm5pbmc6IHVudXNl ZCB2YXJpYWJsZSAnZW5jb2RlcicgWy1XdW51c2VkLXZhcmlhYmxlXQo+PiAgICAgIHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlcjsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4K Pj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmM6OTc6MzM6IHdhcm5pbmc6 IHVudXNlZCB2YXJpYWJsZSAnY29ubl9pdGVyJyBbLVd1bnVzZWQtdmFyaWFibGVdCj4+ICAgICAg c3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jOiBJbiBmdW5jdGlvbiAnZHJtX2F0b21pY19oZWxwZXJfZGlzYWJs ZV9hbGwnOgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYzoyNDUyOjMz OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mICdjb25uX2l0ZXInIGlzbid0IGtub3duCj4+ICAgICAg c3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jOjI0NjI6NDg6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICd7 JyB0b2tlbgo+PiAgICAgIGRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uLCAmY29ubl9p dGVyKSB7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KPj4+PiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYzoyNDgwOjI6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfcHV0JyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KPj4gICAg ICBkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoJmNvbm5faXRlcik7Cj4+ICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hl bHBlci5jOjI0Nzk6MTogd2FybmluZzogbGFiZWwgJ2ZyZWUnIGRlZmluZWQgYnV0IG5vdCB1c2Vk IFstV3VudXNlZC1sYWJlbF0KPj4gICAgIGZyZWU6Cj4+ICAgICBefn5+Cj4+ICAgIGRyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jOjI0NTI6MzM6IHdhcm5pbmc6IHVudXNlZCB2YXJp YWJsZSAnY29ubl9pdGVyJyBbLVd1bnVzZWQtdmFyaWFibGVdCj4+ICAgICAgc3RydWN0IGRybV9j b25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hl bHBlci5jOiBJbiBmdW5jdGlvbiAnZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2RwbXMnOgo+ PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYzoyODUzOjMzOiBlcnJvcjog c3RvcmFnZSBzaXplIG9mICdjb25uX2l0ZXInIGlzbid0IGtub3duCj4+ICAgICAgc3RydWN0IGRy bV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+Cj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X2hlbHBlci5jOjI4ODI6NTc6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICd7JyB0b2tlbgo+ PiAgICAgIGRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcih0bXBfY29ubmVjdG9yLCAmY29ubl9p dGVyKSB7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KPj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmM6 Mjg1MzozMzogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdjb25uX2l0ZXInIFstV3VudXNlZC12 YXJpYWJsZV0KPj4gICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVy Owo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KPj4gICAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmM6IEluIGZ1bmN0aW9uICdkcm1fYXRv bWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUnOgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYzozMjY5OjMzOiBlcnJvcjogc3RvcmFnZSBzaXplIG9mICdjb25uX2l0ZXIn IGlzbid0IGtub3duCj4+ICAgICAgc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5f aXRlcjsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cj4+ ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jOjMzMDE6NDg6IGVycm9yOiBl eHBlY3RlZCAnOycgYmVmb3JlICd7JyB0b2tlbgo+PiAgICAgIGRybV9mb3JfZWFjaF9jb25uZWN0 b3JfaXRlcihjb25uLCAmY29ubl9pdGVyKSB7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KPj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmM6MzI2OTozMzogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdjb25uX2l0ZXIn IFstV3VudXNlZC12YXJpYWJsZV0KPj4gICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0 ZXIgY29ubl9pdGVyOwo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn4KPj4gICAgY2MxOiBzb21lIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCj4+ IC0tCj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXNldF9oZWxwZXIuYzogSW4gZnVuY3Rp b24gJ2RybV9oZWxwZXJfbW92ZV9wYW5lbF9jb25uZWN0b3JzX3RvX2hlYWQnOgo+Pj4+IGRyaXZl cnMvZ3B1L2RybS9kcm1fbW9kZXNldF9oZWxwZXIuYzo1MTozMzogZXJyb3I6ICdzdHJ1Y3QgZHJt X21vZGVfY29uZmlnJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdjb25uZWN0b3JfbGlzdF9sb2NrJzsg ZGlkIHlvdSBtZWFuICdjb25uZWN0b3JfbGlzdCc/Cj4+ICAgICAgc3Bpbl9sb2NrX2lycSgmZGV2 LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdF9sb2NrKTsKPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfaGVs cGVyLmM6NjE6MzU6IGVycm9yOiAnc3RydWN0IGRybV9tb2RlX2NvbmZpZycgaGFzIG5vIG1lbWJl ciBuYW1lZCAnY29ubmVjdG9yX2xpc3RfbG9jayc7IGRpZCB5b3UgbWVhbiAnY29ubmVjdG9yX2xp c3QnPwo+PiAgICAgIHNwaW5fdW5sb2NrX2lycSgmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3Jf bGlzdF9sb2NrKTsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCj4+ IC0tCj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmM6IEluIGZ1bmN0aW9uICdk cm1fZmJfaGVscGVyX3NpbmdsZV9hZGRfYWxsX2Nvbm5lY3RvcnMnOgo+Pj4+IGRyaXZlcnMvZ3B1 L2RybS9kcm1fZmJfaGVscGVyLmM6MTIzOjMzOiBlcnJvcjogc3RvcmFnZSBzaXplIG9mICdjb25u X2l0ZXInIGlzbid0IGtub3duCj4+ICAgICAgc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVy IGNvbm5faXRlcjsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+Cj4+Pj4gZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYzoxMzA6MjogZXJyb3I6IGlt cGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9n ZXQnIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+PiAgICAgIGRybV9j b25uZWN0b3JfbGlzdF9pdGVyX2dldChkZXYsICZjb25uX2l0ZXIpOwo+PiAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgo+Pj4+IGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmM6 MTMxOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZHJtX2Zvcl9l YWNoX2Nvbm5lY3Rvcl9pdGVyJyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlv bl0KPj4gICAgICBkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9p dGVyKSB7Cj4+ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cj4+Pj4gZHJpdmVycy9n cHUvZHJtL2RybV9mYl9oZWxwZXIuYzoxMzE6NTM6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3Jl ICd7JyB0b2tlbgo+PiAgICAgIGRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3Is ICZjb25uX2l0ZXIpIHsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCj4+Pj4gZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYzox NTE6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdkcm1fY29ubmVj dG9yX2xpc3RfaXRlcl9wdXQnIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9u XQo+PiAgICAgIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKPj4gICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPj4gICAgZHJpdmVycy9ncHUvZHJtL2RybV9m Yl9oZWxwZXIuYzoxNTA6MTogd2FybmluZzogbGFiZWwgJ291dCcgZGVmaW5lZCBidXQgbm90IHVz ZWQgWy1XdW51c2VkLWxhYmVsXQo+PiAgICAgb3V0Ogo+PiAgICAgXn5+Cj4+ICAgIGRyaXZlcnMv Z3B1L2RybS9kcm1fZmJfaGVscGVyLmM6MTM5OjE6IHdhcm5pbmc6IGxhYmVsICdmYWlsJyBkZWZp bmVkIGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtbGFiZWxdCj4+ICAgICBmYWlsOgo+PiAgICAgXn5+ fgo+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jOjEyMzozMzogd2FybmluZzog dW51c2VkIHZhcmlhYmxlICdjb25uX2l0ZXInIFstV3VudXNlZC12YXJpYWJsZV0KPj4gICAgICBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KPj4gICAgY2MxOiBzb21lIHdhcm5pbmdz IGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCj4+Cj4+IHZpbSArOTEgZHJpdmVycy9ncHUvZHJtL2Ry bV9jcnRjX2hlbHBlci5jCj4+Cj4+ICAgICAyNiAgICogICAgICBLZWl0aCBQYWNrYXJkCj4+ICAg ICAyNyAgICogICAgICBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0Pgo+PiAgICAgMjggICAq ICAgICAgRGF2ZSBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+Cj4+ICAgICAyOSAgICogICAgICBK ZXNzZSBCYXJuZXMgPGplc3NlLmJhcm5lc0BpbnRlbC5jb20+Cj4+ICAgICAzMCAgICovCj4+ICAg ICAzMQo+PiAgID4gMzIgICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPj4gICAgIDMzICAjaW5j bHVkZSA8bGludXgvZXhwb3J0Lmg+Cj4+ICAgICAzNCAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBh cmFtLmg+Cj4+ICAgICAzNQo+PiAgICAgMzYgICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+PiAgICAg MzcgICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pYy5oPgo+PiAgICAgMzggICNpbmNsdWRlIDxkcm0v ZHJtX2NydGMuaD4KPj4gICAgIDM5ICAjaW5jbHVkZSA8ZHJtL2RybV9mb3VyY2MuaD4KPj4gICAg IDQwICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgo+PiAgICAgNDEgICNpbmNsdWRl IDxkcm0vZHJtX2ZiX2hlbHBlci5oPgo+PiAgICAgNDIgICNpbmNsdWRlIDxkcm0vZHJtX3BsYW5l X2hlbHBlci5oPgo+PiAgICAgNDMgICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4K Pj4gICAgIDQ0ICAjaW5jbHVkZSA8ZHJtL2RybV9lZGlkLmg+Cj4+ICAgICA0NQo+PiAgICAgNDYg IC8qKgo+PiAgICAgNDcgICAqIERPQzogb3ZlcnZpZXcKPj4gICAgIDQ4ICAgKgo+PiAgICAgNDkg ICAqIFRoZSBDUlRDIG1vZGVzZXQgaGVscGVyIGxpYnJhcnkgcHJvdmlkZXMgYSBkZWZhdWx0IHNl dF9jb25maWcgaW1wbGVtZW50YXRpb24KPj4gICAgIDUwICAgKiBpbiBkcm1fY3J0Y19oZWxwZXJf c2V0X2NvbmZpZygpLiBQbHVzIGEgZmV3IG90aGVyIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyB1c2lu Zwo+PiAgICAgNTEgICAqIHRoZSBzYW1lIGNhbGxiYWNrcyB3aGljaCBkcml2ZXJzIGNhbiB1c2Ug dG8gZS5nLiByZXN0b3JlIHRoZSBtb2Rlc2V0Cj4+ICAgICA1MiAgICogY29uZmlndXJhdGlvbiBv biByZXN1bWUgd2l0aCBkcm1faGVscGVyX3Jlc3VtZV9mb3JjZV9tb2RlKCkuCj4+ICAgICA1MyAg ICoKPj4gICAgIDU0ICAgKiBOb3RlIHRoYXQgdGhpcyBoZWxwZXIgbGlicmFyeSBkb2Vzbid0IHRy YWNrIHRoZSBjdXJyZW50IHBvd2VyIHN0YXRlIG9mIENSVENzCj4+ICAgICA1NSAgICogYW5kIGVu Y29kZXJzLiBJdCBjYW4gY2FsbCBjYWxsYmFja3MgbGlrZSAtPmRwbXMoKSBldmVuIHRob3VnaCB0 aGUgaGFyZHdhcmUgaXMKPj4gICAgIDU2ICAgKiBhbHJlYWR5IGluIHRoZSBkZXNpcmVkIHN0YXRl LiBUaGlzIGRlZmljaWVuY3kgaGFzIGJlZW4gZml4ZWQgaW4gdGhlIGF0b21pYwo+PiAgICAgNTcg ICAqIGhlbHBlcnMuCj4+ICAgICA1OCAgICoKPj4gICAgIDU5ICAgKiBUaGUgZHJpdmVyIGNhbGxi YWNrcyBhcmUgbW9zdGx5IGNvbXBhdGlibGUgd2l0aCB0aGUgYXRvbWljIG1vZGVzZXQgaGVscGVy cywKPj4gICAgIDYwICAgKiBleGNlcHQgZm9yIHRoZSBoYW5kbGluZyBvZiB0aGUgcHJpbWFyeSBw bGFuZTogQXRvbWljIGhlbHBlcnMgcmVxdWlyZSB0aGF0IHRoZQo+PiAgICAgNjEgICAqIHByaW1h cnkgcGxhbmUgaXMgaW1wbGVtZW50ZWQgYXMgYSByZWFsIHN0YW5kYWxvbmUgcGxhbmUgYW5kIG5v dCBkaXJlY3RseSB0aWVkCj4+ICAgICA2MiAgICogdG8gdGhlIENSVEMgc3RhdGUuIEZvciBlYXNp ZXIgdHJhbnNpdGlvbiB0aGlzIGxpYnJhcnkgcHJvdmlkZXMgZnVuY3Rpb25zIHRvCj4+ICAgICA2 MyAgICogaW1wbGVtZW50IHRoZSBvbGQgc2VtYW50aWNzIHJlcXVpcmVkIGJ5IHRoZSBDUlRDIGhl bHBlcnMgdXNpbmcgdGhlIG5ldyBwbGFuZQo+PiAgICAgNjQgICAqIGFuZCBhdG9taWMgaGVscGVy IGNhbGxiYWNrcy4KPj4gICAgIDY1ICAgKgo+PiAgICAgNjYgICAqIERyaXZlcnMgYXJlIHN0cm9u Z2x5IHVyZ2VkIHRvIGNvbnZlcnQgdG8gdGhlIGF0b21pYyBoZWxwZXJzIChieSB3YXkgb2YgZmly c3QKPj4gICAgIDY3ICAgKiBjb252ZXJ0aW5nIHRvIHRoZSBwbGFuZSBoZWxwZXJzKS4gTmV3IGRy aXZlcnMgbXVzdCBub3QgdXNlIHRoZXNlIGZ1bmN0aW9ucwo+PiAgICAgNjggICAqIGJ1dCBuZWVk IHRvIGltcGxlbWVudCB0aGUgYXRvbWljIGludGVyZmFjZSBpbnN0ZWFkLCBwb3RlbnRpYWxseSB1 c2luZyB0aGUKPj4gICAgIDY5ICAgKiBhdG9taWMgaGVscGVycyBmb3IgdGhhdC4KPj4gICAgIDcw ICAgKgo+PiAgICAgNzEgICAqIFRoZXNlIGxlZ2FjeSBtb2Rlc2V0IGhlbHBlcnMgdXNlIHRoZSBz YW1lIGZ1bmN0aW9uIHRhYmxlIHN0cnVjdHVyZXMgYXMKPj4gICAgIDcyICAgKiBhbGwgb3RoZXIg bW9kZXNldHRpbmcgaGVscGVycy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uIGZvciBzdHJ1Y3QKPj4g ICAgIDczICAgKiAmZHJtX2NydGNfaGVscGVyX2Z1bmNzLCBzdHJ1Y3QgJmRybV9lbmNvZGVyX2hl bHBlcl9mdW5jcyBhbmQgc3RydWN0Cj4+ICAgICA3NCAgICogJmRybV9jb25uZWN0b3JfaGVscGVy X2Z1bmNzLgo+PiAgICAgNzUgICAqLwo+PiAgICAgNzYKPj4gICAgIDc3ICAvKioKPj4gICAgIDc4 ICAgKiBkcm1faGVscGVyX2VuY29kZXJfaW5fdXNlIC0gY2hlY2sgaWYgYSBnaXZlbiBlbmNvZGVy IGlzIGluIHVzZQo+PiAgICAgNzkgICAqIEBlbmNvZGVyOiBlbmNvZGVyIHRvIGNoZWNrCj4+ICAg ICA4MCAgICoKPj4gICAgIDgxICAgKiBDaGVja3Mgd2hldGhlciBAZW5jb2RlciBpcyB3aXRoIHRo ZSBjdXJyZW50IG1vZGUgc2V0dGluZyBvdXRwdXQgY29uZmlndXJhdGlvbgo+PiAgICAgODIgICAq IGluIHVzZSBieSBhbnkgY29ubmVjdG9yLiBUaGlzIGRvZXNuJ3QgbWVhbiB0aGF0IGl0IGlzIGFj dHVhbGx5IGVuYWJsZWQgc2luY2UKPj4gICAgIDgzICAgKiB0aGUgRFBNUyBzdGF0ZSBpcyB0cmFj a2VkIHNlcGFyYXRlbHkuCj4+ICAgICA4NCAgICoKPj4gICAgIDg1ICAgKiBSZXR1cm5zOgo+PiAg ICAgODYgICAqIFRydWUgaWYgQGVuY29kZXIgaXMgdXNlZCwgZmFsc2Ugb3RoZXJ3aXNlLgo+PiAg ICAgODcgICAqLwo+PiAgICAgODggIGJvb2wgZHJtX2hlbHBlcl9lbmNvZGVyX2luX3VzZShzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4+ICAgICA4OSAgewo+PiAgICAgOTAgICAgICAgICAg c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKPj4gICA+IDkxICAgICAgICAgIHN0cnVj dCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4+ICAgICA5MiAgICAgICAgICBz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2Owo+PiAgICAgOTMKPj4gICAgIDk0 ICAgICAgICAgIC8qCj4+ICAgICA5NSAgICAgICAgICAgKiBXZSBjYW4gZXhwZWN0IHRoaXMgbXV0 ZXggdG8gYmUgbG9ja2VkIGlmIHdlIGFyZSBub3QgcGFuaWNraW5nLgo+PiAgICAgOTYgICAgICAg ICAgICogTG9ja2luZyBpcyBjdXJyZW50bHkgZnViYXIgaW4gdGhlIHBhbmljIGhhbmRsZXIuCj4+ ICAgICA5NyAgICAgICAgICAgKi8KPj4gICAgIDk4ICAgICAgICAgIGlmICghb29wc19pbl9wcm9n cmVzcykgewo+PiAgICAgOTkgICAgICAgICAgICAgICAgICBXQVJOX09OKCFtdXRleF9pc19sb2Nr ZWQoJmRldi0+bW9kZV9jb25maWcubXV0ZXgpKTsKPj4gICAgMTAwICAgICAgICAgICAgICAgICAg V0FSTl9PTighZHJtX21vZGVzZXRfaXNfbG9ja2VkKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rp b25fbXV0ZXgpKTsKPj4gICAgMTAxICAgICAgICAgIH0KPj4gICAgMTAyCj4+ICAgIDEwMwo+PiAg PiAxMDQgICAgICAgICAgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRl cik7Cj4+ICA+IDEwNSAgICAgICAgICBkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVj dG9yLCAmY29ubl9pdGVyKSB7Cj4+ICAgIDEwNiAgICAgICAgICAgICAgICAgIGlmIChjb25uZWN0 b3ItPmVuY29kZXIgPT0gZW5jb2Rlcikgewo+PiAgICAxMDcgICAgICAgICAgICAgICAgICAgICAg ICAgIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKPj4gICAgMTA4ICAg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPj4KPj4gLS0tCj4+IDAtREFZIGtl cm5lbCB0ZXN0IGluZnJhc3RydWN0dXJlICAgICAgICAgICAgICAgIE9wZW4gU291cmNlIFRlY2hu b2xvZ3kgQ2VudGVyCj4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL3BpcGVybWFpbC9rYnVpbGQtYWxs ICAgICAgICAgICAgICAgICAgIEludGVsIENvcnBvcmF0aW9uCj4KPgo+Cj4tLSAKPkRhbmllbCBW ZXR0ZXIKPlNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+KzQxICgwKSA3OSAz NjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaAo+X19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPmtidWlsZC1hbGwgbWFpbGluZyBsaXN0Cj5rYnVpbGQt YWxsQGxpc3RzLjAxLm9yZwo+aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9r YnVpbGQtYWxsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=