From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 13530C3F2CD for ; Wed, 4 Mar 2020 11:32:57 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DE2C120848 for ; Wed, 4 Mar 2020 11:32:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DE2C120848 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j9SGQ-0004FH-Lt; Wed, 04 Mar 2020 11:32:34 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j9SGP-0004FA-It for xen-devel@lists.xenproject.org; Wed, 04 Mar 2020 11:32:33 +0000 X-Inumbo-ID: d61343d2-5e0b-11ea-b74d-bc764e2007e4 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id d61343d2-5e0b-11ea-b74d-bc764e2007e4; Wed, 04 Mar 2020 11:32:32 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id BCF00AD85; Wed, 4 Mar 2020 11:32:30 +0000 (UTC) To: Juergen Gross References: <20200226124705.29212-1-jgross@suse.com> <20200226124705.29212-10-jgross@suse.com> From: Jan Beulich Message-ID: <61640156-0e35-6808-829a-2eb8accbfb94@suse.com> Date: Wed, 4 Mar 2020 12:32:29 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <20200226124705.29212-10-jgross@suse.com> Content-Language: en-US Subject: Re: [Xen-devel] [PATCH v6 09/12] xen: add runtime parameter access support to hypfs X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Kevin Tian , Stefano Stabellini , Julien Grall , Wei Liu , Konrad Rzeszutek Wilk , Andrew Cooper , Ian Jackson , George Dunlap , Jun Nakajima , xen-devel@lists.xenproject.org, Volodymyr Babchuk , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gMjYuMDIuMjAyMCAxMzo0NywgSnVlcmdlbiBHcm9zcyB3cm90ZToKPiAtLS0gYS94ZW4vYXJj aC94ODYvaHZtL3ZteC92bWNzLmMKPiArKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMK PiBAQCAtNzAsNiArNzAsMzAgQEAgaW50ZWdlcl9wYXJhbSgicGxlX3dpbmRvdyIsIHBsZV93aW5k b3cpOwo+ICBzdGF0aWMgYm9vbCBfX3JlYWRfbW9zdGx5IG9wdF9lcHRfcG1sID0gdHJ1ZTsKPiAg c3RhdGljIHM4IF9fcmVhZF9tb3N0bHkgb3B0X2VwdF9hZCA9IC0xOwo+ICBpbnQ4X3QgX19yZWFk X21vc3RseSBvcHRfZXB0X2V4ZWNfc3AgPSAtMTsKPiArc3RhdGljIGNoYXIgb3B0X2VwdF9zZXR0 aW5nWzE2XTsKCkkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBxdWl0ZSBiaWcgZW5vdWdoLgoKPiArc3Rh dGljIHZvaWQgdXBkYXRlX2VwdF9wYXJhbV9hcHBlbmQoY29uc3QgY2hhciAqc3RyLCBpbnQgdmFs KQo+ICt7Cj4gKyAgICBjaGFyICpwb3MgPSBvcHRfZXB0X3NldHRpbmcgKyBzdHJsZW4ob3B0X2Vw dF9zZXR0aW5nKTsKPiArCj4gKyAgICBzbnByaW50Zihwb3MsIHNpemVvZihvcHRfZXB0X3NldHRp bmcpIC0gKHBvcyAtIG9wdF9lcHRfc2V0dGluZyksCj4gKyAgICAgICAgICAgICAiLCVzPSVkIiwg c3RyLCB2YWwpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB1cGRhdGVfZXB0X3BhcmFtKHZvaWQp Cj4gK3sKPiArICAgIHNucHJpbnRmKG9wdF9lcHRfc2V0dGluZywgc2l6ZW9mKG9wdF9lcHRfc2V0 dGluZyksICJwbWw9JWQiLCBvcHRfZXB0X3BtbCk7Cj4gKyAgICBpZiAoIG9wdF9lcHRfYWQgPj0g MCApCj4gKyAgICAgICAgdXBkYXRlX2VwdF9wYXJhbV9hcHBlbmQoImFkIiwgb3B0X2VwdF9hZCk7 CgpUaGlzIHdvbid0IGNvcnJlY3RseSByZWZsZWN0IHJlYWxpdHk6IElmIHlvdSBsb29rIGF0CnZt eF9pbml0X3ZtY3NfY29uZmlnKCksIGV2ZW4gYSBuZWdhdGl2ZSB2YWx1ZSBtZWFucyAidHJ1ZSIg aGVyZSwKdW5sZXNzIG9uIGEgc3BlY2lmaWMgQXRvbSBtb2RlbC4gSSB0aGluayBpbml0X2VwdF9w YXJhbSgpIHdhbnRzCnRvIGhhdmUgdGhhdCBlcnJhdHVtIHdvcmthcm91bmQgbG9naWMgbW92ZWQg dGhlcmUsIHN1Y2ggdGhhdAp5b3UgY2FuIHRoZW4gYXNzbWUgdGhlIHZhbHVlIHRvIGJlIG5vbi1u ZWdhdGl2ZSBoZXJlLgoKPiArICAgIGlmICggb3B0X2VwdF9leGVjX3NwID49IDAgKQo+ICsgICAg ICAgIHVwZGF0ZV9lcHRfcGFyYW1fYXBwZW5kKCJleGVjLXNwIiwgb3B0X2VwdF9leGVjX3NwKTsK CkkgYWdyZWUgZm9yIHRoaXMgb25lIC0gaWYgdGhlIHZhbHVlIGlzIHN0aWxsIC0xLCBpdCBoYXMg bmVpdGhlcgpiZWVuIHNldCBub3IgaXMgaXRzIHZhbHVlIG9mIGFueSBpbnRlcmVzdC4KCj4gK3N0 YXRpYyB2b2lkIF9faW5pdCBpbml0X2VwdF9wYXJhbShzdHJ1Y3QgcGFyYW1faHlwZnMgKnBhcikK PiArewo+ICsgICAgY3VzdG9tX3J1bnRpbWVfc2V0X3ZhcihwYXIsIG9wdF9lcHRfc2V0dGluZyk7 Cj4gKyAgICB1cGRhdGVfZXB0X3BhcmFtKCk7Cj4gK30KPiAgCj4gIHN0YXRpYyBpbnQgX19pbml0 IHBhcnNlX2VwdF9wYXJhbShjb25zdCBjaGFyICpzKQo+ICB7Cj4gQEAgLTkzLDYgKzExNyw4IEBA IHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2VwdF9wYXJhbShjb25zdCBjaGFyICpzKQo+ICAgICAg ICAgIHMgPSBzcyArIDE7Cj4gICAgICB9IHdoaWxlICggKnNzICk7Cj4gIAo+ICsgICAgdXBkYXRl X2VwdF9wYXJhbSgpOwoKSXNuJ3QgdGhpcyByZWR1bmRhbnQgd2l0aCB0aGUgdXNlIGluIGluaXRf ZXB0X3BhcmFtKCkgKG9yIHRoZQpvdGhlciB3YXkgYXJvdW5kIC0gdGhlcmUgc2hvdWxkIGJlIGNs ZWFyIG9yZGVyaW5nIGJldHdlZW4gdGhlCmNvbW1hbmQgbGluZSBwYXJzaW5nIGZ1bmN0aW9ucyBh bmQgdGhlIHBhcmFtLWluaXQgb25lcywgSSB3b3VsZApzdXBwb3NlKT8KCj4gLS0tIGEveGVuL2Fy Y2gveDg2L3B2L2RvbWFpbi5jCj4gKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCj4gQEAg LTIwLDggKzIwLDI3IEBAIHN0YXRpYyBfX3JlYWRfbW9zdGx5IGVudW0gewo+ICAgICAgUENJRF9P RkYsCj4gICAgICBQQ0lEX0FMTCwKPiAgICAgIFBDSURfWFBUSSwKPiAtICAgIFBDSURfTk9YUFRJ Cj4gKyAgICBQQ0lEX05PWFBUSSwKPiArICAgIFBDSURfRU5ECj4gIH0gb3B0X3BjaWQgPSBQQ0lE X1hQVEk7Cj4gK3N0YXRpYyBjb25zdCBjaGFyICpvcHRfcGNpZF8yX3N0cmluZ1tQQ0lEX0VORF0g PSB7CgpZb3UgZWl0aGVyIHdhbnQgYW5vdGhlciBjb25zdCBoZXJlLCBvciAobW9yZSBzcGFjZSBl ZmZpY2llbnQpIHlvdQp3YW50IHRvIHVzZSBjb25zdCBjaGFyW1BDSURfRU5EXVs3XS4KCj4gKyAg ICBbUENJRF9PRkZdID0gIm9mZiIsCj4gKyAgICBbUENJRF9BTExdID0gIm9uIiwKPiArICAgIFtQ Q0lEX1hQVEldID0gInhwdGkiLAo+ICsgICAgW1BDSURfTk9YUFRJXSA9ICJub3hwdGkiCj4gK307 Cj4gK3N0YXRpYyBjaGFyIG9wdF9wY2lkX3ZhbFs3XTsKPiArCj4gK3N0YXRpYyB2b2lkIHVwZGF0 ZV9vcHRfcGNpZCh2b2lkKQo+ICt7Cj4gKyAgICBzdHJsY3B5KG9wdF9wY2lkX3ZhbCwgb3B0X3Bj aWRfMl9zdHJpbmdbb3B0X3BjaWRdLCBzaXplb2Yob3B0X3BjaWRfdmFsKSk7CgpJbnN0ZWFkIG9m IGNvcHlpbmcsIGNvdWxkbid0IHlvdSBtYWtlIHRoZSBoeXBmcyBlbnRyeSBwb2ludAppbnRvIHRo ZSBhcnJheSBhYm92ZSwgYnkgdXNpbmcgY3VzdG9tX3J1bnRpbWVfc2V0X3ZhcigpIGhlcmU/Cgo+ IEBAIC01NSw5ICs3NCwxMiBAQCBzdGF0aWMgaW50IHBhcnNlX3BjaWQoY29uc3QgY2hhciAqcykK PiAgICAgICAgICBicmVhazsKPiAgICAgIH0KPiAgCj4gKyAgICBpZiAoICFyYyApCj4gKyAgICAg ICAgdXBkYXRlX29wdF9wY2lkKCk7CgpQZXJzb25hbGx5IEknZCBhdm9pZCB0aGUgaWYoKSBoZXJl IC0gdGhlcmUncyBubyBoYXJtIHVwZGF0aW5nCnRoZSBoeXBmcyBlbnRyeSBhbnl3YXkuCgo+IC0t LSBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYwo+ICsrKyBiL3hlbi9jb21tb24vZ3JhbnRfdGFi bGUuYwo+IEBAIC04NSw4ICs4NSwxMCBAQCBzdHJ1Y3QgZ3JhbnRfdGFibGUgewo+ICAgICAgc3Ry dWN0IGdyYW50X3RhYmxlX2FyY2ggYXJjaDsKPiAgfTsKPiAgCj4gLXN0YXRpYyBpbnQgcGFyc2Vf Z250dGFiX2xpbWl0KGNvbnN0IGNoYXIgKnBhcmFtLCBjb25zdCBjaGFyICphcmcsCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqdmFscCkKPiArI2RlZmluZSBH UkFOVF9DVVNUT01fVkFMX1NaICAxMgo+ICsKPiArc3RhdGljIGludCBwYXJzZV9nbnR0YWJfbGlt aXQoY29uc3QgY2hhciAqYXJnLCB1bnNpZ25lZCBpbnQgKnZhbHAsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNoYXIgKnBhcnZhbCkKPiAgewo+ICAgICAgY29uc3QgY2hhciAqZTsK PiAgICAgIHVuc2lnbmVkIGxvbmcgdmFsOwo+IEBAIC05OSwyOCArMTAxLDQ3IEBAIHN0YXRpYyBp bnQgcGFyc2VfZ250dGFiX2xpbWl0KGNvbnN0IGNoYXIgKnBhcmFtLCBjb25zdCBjaGFyICphcmcs Cj4gICAgICAgICAgcmV0dXJuIC1FUkFOR0U7Cj4gIAo+ICAgICAgKnZhbHAgPSB2YWw7Cj4gKyAg ICBzbnByaW50ZihwYXJ2YWwsIEdSQU5UX0NVU1RPTV9WQUxfU1osICIlbHUiLCB2YWwpOwo+ICAK PiAgICAgIHJldHVybiAwOwo+ICB9Cj4gIAo+ICB1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSBv cHRfbWF4X2dyYW50X2ZyYW1lcyA9IDY0Owo+ICtzdGF0aWMgY2hhciBfX3JlYWRfbW9zdGx5IG9w dF9tYXhfZ3JhbnRfZnJhbWVzX3ZhbFtHUkFOVF9DVVNUT01fVkFMX1NaXTsKPiArCj4gK3N0YXRp YyB2b2lkIF9faW5pdCBnbnR0YWJfbWF4X2ZyYW1lc19pbml0KHN0cnVjdCBwYXJhbV9oeXBmcyAq cGFyKQo+ICt7Cj4gKyAgICBjdXN0b21fcnVudGltZV9zZXRfdmFyKHBhciwgb3B0X21heF9ncmFu dF9mcmFtZXNfdmFsKTsKCllvdSBzdGlsbCB1c2UgYSBjdXN0b20gc3RyaW5nIGJ1ZmZlciBoZXJl LiBDYW4gdGhpcyAic2V0LXZhciIKb3BlcmF0aW9uIHJlY29yZCB0aGF0IHRoZSB2YXJpYWJsZSAo Zm9yIHByZXNlbnRhdGlvbiBwdXJwb3NlcykKaXMgc2ltcGx5IG9mIFVJTlQgdHlwZSwgaGFuZGlu ZyBhIHBvaW50ZXIgdG8gdGhlIGFjdHVhbAp2YXJpYWJsZT8KCj4gLS0tIGEveGVuL2NvbW1vbi9o eXBmcy5jCj4gKysrIGIveGVuL2NvbW1vbi9oeXBmcy5jCj4gQEAgLTEwLDYgKzEwLDcgQEAKPiAg I2luY2x1ZGUgPHhlbi9oeXBlcmNhbGwuaD4KPiAgI2luY2x1ZGUgPHhlbi9oeXBmcy5oPgo+ICAj aW5jbHVkZSA8eGVuL2xpYi5oPgo+ICsjaW5jbHVkZSA8eGVuL3BhcmFtLmg+Cj4gICNpbmNsdWRl IDx4ZW4vcndsb2NrLmg+Cj4gICNpbmNsdWRlIDxwdWJsaWMvaHlwZnMuaD4KPiAgCj4gQEAgLTI4 MSw2ICsyODIsMzMgQEAgaW50IGh5cGZzX3dyaXRlX2Jvb2woc3RydWN0IGh5cGZzX2VudHJ5X2xl YWYgKmxlYWYsCj4gICAgICByZXR1cm4gMDsKPiAgfQo+ICAKPiAraW50IGh5cGZzX3dyaXRlX2N1 c3RvbShzdHJ1Y3QgaHlwZnNfZW50cnlfbGVhZiAqbGVhZiwKPiArICAgICAgICAgICAgICAgICAg ICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIHVhZGRyLCB1bnNpZ25lZCBsb25nIHVs ZW4pCj4gK3sKPiArICAgIHN0cnVjdCBwYXJhbV9oeXBmcyAqcDsKPiArICAgIGNoYXIgKmJ1ZjsK PiArICAgIGludCByZXQ7Cj4gKwo+ICsgICAgYnVmID0geHphbGxvY19hcnJheShjaGFyLCB1bGVu KTsKPiArICAgIGlmICggIWJ1ZiApCj4gKyAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsg ICAgcmV0ID0gLUVGQVVMVDsKPiArICAgIGlmICggY29weV9mcm9tX2d1ZXN0KGJ1ZiwgdWFkZHIs IHVsZW4pICkKPiArICAgICAgICBnb3RvIG91dDsKPiArCj4gKyAgICByZXQgPSAtRURPTTsKPiAr ICAgIGlmICggIW1lbWNocihidWYsIDAsIHVsZW4pICkKCk9uY2UgYWdhaW4gIiAhPSBidWYgKyB1 bGVuIC0gMSI/IChFRE9NIGFsc28gbG9va3MgbGlrZSBhbiBvZGQKZXJyb3IgY29kZSB0byB1c2Ug aW4gdGhpcyBjYXNlLCBidXQgSSBndWVzcyB0aGVyZSdzIG5vIHJlYWxseQpnb29kIG9uZS4pCgo+ IC0tLSBhL3hlbi9kcml2ZXJzL2NoYXIvY29uc29sZS5jCj4gKysrIGIveGVuL2RyaXZlcnMvY2hh ci9jb25zb2xlLmMKPiBAQCAtNzUsMTIgKzc1LDM2IEBAIGVudW0gY29uX3RpbWVzdGFtcF9tb2Rl Cj4gICAgICBUU01fREFURV9NUywgICAgICAgLyogW1lZWVktTU0tREQgSEg6TU06U1MubW1tXSAq Lwo+ICAgICAgVFNNX0JPT1QsICAgICAgICAgIC8qIFtTU1NTU1MudXV1dXV1XSAqLwo+ICAgICAg VFNNX1JBVywgICAgICAgICAgIC8qIFtYWFhYWFhYWFhYWFhYWFhYXSAqLwo+ICsgICAgVFNNX0VO RAo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IGNoYXIgKmNvbl90aW1lc3RhbXBfbW9kZV8yX3N0 cmluZ1tUU01fRU5EXSA9IHsKPiArICAgIFtUU01fTk9ORV0gPSAibm9uZSIsCj4gKyAgICBbVFNN X0RBVEVdID0gImRhdGUiLAo+ICsgICAgW1RTTV9EQVRFX01TXSA9ICJkYXRlbXMiLAo+ICsgICAg W1RTTV9CT09UXSA9ICJib290IiwKPiArICAgIFtUU01fUkFXXSA9ICJyYXciCj4gIH07Cj4gIAo+ ICBzdGF0aWMgZW51bSBjb25fdGltZXN0YW1wX21vZGUgX19yZWFkX21vc3RseSBvcHRfY29uX3Rp bWVzdGFtcF9tb2RlID0gVFNNX05PTkU7Cj4gK3N0YXRpYyBjaGFyIGNvbl90aW1lc3RhbXBfbW9k ZV92YWxbN107Cj4gKwo+ICtzdGF0aWMgdm9pZCB1cGRhdGVfY29uX3RpbWVzdGFtcF9tb2RlKHZv aWQpCj4gK3sKPiArICAgIHN0cmxjcHkoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCwKPiArICAgICAg ICAgICAgY29uX3RpbWVzdGFtcF9tb2RlXzJfc3RyaW5nW29wdF9jb25fdGltZXN0YW1wX21vZGVd LAo+ICsgICAgICAgICAgICBzaXplb2YoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCkpOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgdm9pZCBfX2luaXQgY29uX3RpbWVzdGFtcF9tb2RlX2luaXQoc3RydWN0IHBh cmFtX2h5cGZzICpwYXIpCj4gK3sKPiArICAgIGN1c3RvbV9ydW50aW1lX3NldF92YXIocGFyLCBj b25fdGltZXN0YW1wX21vZGVfdmFsKTsKPiArICAgIHVwZGF0ZV9jb25fdGltZXN0YW1wX21vZGUo KTsKPiArfQo+ICAKPiAgc3RhdGljIGludCBwYXJzZV9jb25zb2xlX3RpbWVzdGFtcHMoY29uc3Qg Y2hhciAqcyk7Cj4gLWN1c3RvbV9ydW50aW1lX3BhcmFtKCJjb25zb2xlX3RpbWVzdGFtcHMiLCBw YXJzZV9jb25zb2xlX3RpbWVzdGFtcHMpOwo+ICtjdXN0b21fcnVudGltZV9wYXJhbSgiY29uc29s ZV90aW1lc3RhbXBzIiwgcGFyc2VfY29uc29sZV90aW1lc3RhbXBzLAo+ICsgICAgICAgICAgICAg ICAgICAgICBjb25fdGltZXN0YW1wX21vZGVfaW5pdCk7CgpTYW1lIHJlbWFyayBhcyBmb3IgdGhl IFBDSUQgb3B0aW9uLCBhbmQgdGhlbiBhbHNvIGZvciB0aGUgbG9nIGxldmVsCm9uZXMgZnVydGhl ciBkb3duLiBNeSBtYWluIGNvbmNlcm4gd2l0aCBob3cgdGhpbmdzIGFyZSBjdXJyZW50bHkgaXMK dGhhdCB0aGUgYW1vdW50IG9mIGxvZ2ljIG5lZWRlZCBmb3IgY3VzdG9tIHBhcmFtcyBzZWVtcyBv dmVybHkKbGFyZ2UuCgo+IEBAIC03OSw0MSArODgsOTQgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBr ZXJuZWxfcGFyYW0gX19wYXJhbV9zdGFydFtdLCBfX3BhcmFtX2VuZFtdOwo+ICAgICAgICAgICAg LnR5cGUgPSBPUFRfSUdOT1JFIH0KPiAgCj4gICNkZWZpbmUgX19ydHBhcmFtICAgICAgICAgX19w YXJhbShfX2RhdGFwYXJhbSkKPiArI2RlZmluZSBfX3BhcmFtZnMgICAgICAgICBzdGF0aWMgX19w YXJhbWh5cGZzIFwKPiArICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKHNpemVvZih2b2lk ICopKSkpIHN0cnVjdCBwYXJhbV9oeXBmcwo+ICAKPiAtI2RlZmluZSBjdXN0b21fcnVudGltZV9v bmx5X3BhcmFtKF9uYW1lLCBfdmFyKSBcCj4gKyNkZWZpbmUgY3VzdG9tX3J1bnRpbWVfc2V0X3Zh cihwYXJmcywgdmFyKSBcCj4gKyAgICB7IFwKPiArICAgICAgICAocGFyZnMpLT5oeXBmcy53cml0 ZV9wdHIgPSAmKHZhcik7IFwKPiArICAgICAgICAocGFyZnMpLT5oeXBmcy5lLnNpemUgPSBzaXpl b2YodmFyKTsgXAoKQWxsIHVzZXJzIG9mIHRoaXMgdXNlIGNoYXJbXS4gV2h5IHNpemVvZigpIHJh dGhlciB0aGFuIHN0cmxlbigpLAphbmQgd2h5IHRha2luZyB0aGUgYWRkcmVzcyBpbnN0ZWFkIG9m IGVuZm9yY2luZyB0aGlzIHRvIGJlIG9mCihhdCBsZWFzdCkgYXJyYXkgKHBvdGVudGlhbGx5IGFs c28gIm9mIGNoYXIiKSB0eXBlPyBEbyB5b3UKZW52aXNpb24gdGhpcyB0byBiZSBuZWVkZWQgZm9y IGFueXRoaW5nIHdoZXJlIHRoZSB2YWx1ZSBpc24ndAppbiBzdHJpbmcgZm9ybSwgYnV0IHN0aWxs IG5lZWRzIGR5bmFtaWNhbGx5IGNhbGN1bGF0aW5nPyAoQXMgcGVyCmFib3ZlIHRoZXJlIG1heSBh bHJlYWR5IGJlIGNhc2VzIHdoZXJlIG5vbi1zdHJpbmcgdmFyaWFibGVzIG1heQp3YW50IHBhc3Np bmcgaW50byBoZXJlLikKCkphbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJv amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hl bi1kZXZlbA==