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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5726FC47258 for ; Tue, 23 Jan 2024 20:55:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jQPmL+H6KvrSZ/43f/IlIQFBM+PrVmJeOOirerc5VJI=; b=NIcyt5AaweIAdG HQLHoZof9P+O3tWQzVct9Kn34GmRYAAzCH2EYhCiGZ+SC+m1P4ZmIy1iYUSguicQNyXvYRNUT9gix /OZuMKaPga8KBKjY87kkAI7CV+kN9au/+JErCI7J8nmkLg4NiWNY7u5e66CsZLJY/nErvvT41xRiF b8A/O1jt6cJL/RzPTjNyaYKELwoSGXhN6Rtt7di4pVPvS54eAZDYXldabrLqGMjbkkVowuGPf2rW/ JONrOyNDGKs9nADxTv+lAVV4FzocP6FhXKsAbaIMYMkAI6/pXBrbwGnpaN0+lwWZ9ZwCE+jcqZD7M OKVvCyYxAeuwfn1yz7rQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSNni-000Rg9-1M; Tue, 23 Jan 2024 20:55:18 +0000 Received: from linux.microsoft.com ([13.77.154.182]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSNnd-000RfJ-0R for kexec@lists.infradead.org; Tue, 23 Jan 2024 20:55:16 +0000 Received: from [192.168.86.69] (unknown [50.46.228.62]) by linux.microsoft.com (Postfix) with ESMTPSA id 7728F20E34C3; Tue, 23 Jan 2024 12:55:11 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 7728F20E34C3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1706043311; bh=fp/mOR6UlKwzcVLrxmAzd8xaNmbMcW4EzHgfg6PZazk=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=risDRtgSLWE5mAGAWl7sLKBFqrFWvCzja2OETSS0czBtR2pPYZdQn7sUwEpT1v+rN 7sCWej0R1ftf0KHxE9giCXcF6jzb5SMrrF9Ry38qfANWpz9BZaJmVOrkovUNf+yqgm ZVSflWzJVacnVM+DEkuP3fJ/9OJYXY3wdR/0IEr4= Message-ID: <50f4e0ad-54ca-4727-abdc-5f3406ddb971@linux.microsoft.com> Date: Tue, 23 Jan 2024 12:55:10 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 5/7] ima: suspend measurements during buffer copy at kexec execute Content-Language: en-US To: Stefan Berger , zohar@linux.ibm.com, roberto.sassu@huaweicloud.com, roberto.sassu@huawei.com, eric.snowberg@oracle.com, ebiederm@xmission.com, noodles@fb.com, bauermann@kolabnow.com, linux-integrity@vger.kernel.org, kexec@lists.infradead.org Cc: code@tyhicks.com, nramas@linux.microsoft.com, paul@paul-moore.com References: <20240122183804.3293904-1-tusharsu@linux.microsoft.com> <20240122183804.3293904-6-tusharsu@linux.microsoft.com> <45afcefe-2e12-4e38-906b-cc7c1bc32dcc@linux.ibm.com> From: Tushar Sugandhi In-Reply-To: <45afcefe-2e12-4e38-906b-cc7c1bc32dcc@linux.ibm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240123_125514_205402_BE30991B X-CRM114-Status: GOOD ( 25.14 ) X-BeenThere: kexec@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "kexec" Errors-To: kexec-bounces+kexec=archiver.kernel.org@lists.infradead.org CgpPbiAxLzIzLzI0IDEwOjE4LCBTdGVmYW4gQmVyZ2VyIHdyb3RlOgo+IAo+IAo+IE9uIDEvMjIv MjQgMTM6MzgsIFR1c2hhciBTdWdhbmRoaSB3cm90ZToKPj4gTmV3IG1lYXN1cmVtZW50cyBhZGRl ZCB0byB0aGUgSU1BIGxvZyB3aGlsZSB0aGUgbG9nIGlzIGJlaW5nIGNvcGllZAo+PiBkdXJpbmcg dGhlIGtleGVjICdleGVjdXRlJyBtYXkgbm90IGdldCBjb3BpZWQgb3Zlci7CoCBUaGlzIGNhbiBj YXVzZSB0aGUKPj4gbWVhc3VyZW1lbnQgbG9nIHRvIGJlIG91dCBvZiBzeW5jIHdpdGggdGhlIElN QSBUUE0gUENSLCB3aGljaCBjb3VsZAo+IAo+IEl0IGNvdWxkIGJlIG91dCBvZiBzeW5jIHdpdGgg YW55IFBDUiB0aGF0IElNQSBleHRlbmRzLCBtb3N0IG9mdGVuIG9ubHkgCj4gdGhlIElNQSBUUE0g UENSLgo+IApBZ3JlZWQuICBUaGF0J3Mgd2hhdCBJIG1lYW50LiBCdXQgSSBjYW4gc2VlIG15IGFi b3ZlIHdvcmRpbmcgY291bGQgYmUgCm1pc2xlYWRpbmcuCkkgd2lsbCByZXdvcmQgaXQgdG8gIlRo aXMgY2FuIGNhdXNlIHRoZSBtZWFzdXJlbWVudCBsb2cgdG8gYmUgb3V0IG9mIApzeW5jIHdpdGgg dGhlIFRQTSBQQ1JzIHRoYXQgSU1BIGV4dGVuZHMsIHdoaWNoIGNvdWxkIHJlc3VsdCBpbi4uLiIK Cj4+IHJlc3VsdCBpbiBicmVha2luZyB0aGUgaW50ZWdyaXR5IG9mIHRoZSBtZWFzdXJlbWVudHMg YWZ0ZXIga2V4ZWMgc29mdAo+PiByZWJvb3QuCj4+Cj4+IEltcGxlbWVudCBhbmQgY2FsbCB0aGUg ZnVuY3Rpb25zIGltYV9tZWFzdXJlbWVudHNfc3VzcGVuZCgpIGFuZAo+PiBpbWFfbWVhc3VyZW1l bnRzX3Jlc3VtZSgpIGZyb20gaW1hX3VwZGF0ZV9rZXhlY19idWZmZXIoKS4KPj4KPj4gQWRkIGEg Y2hlY2sgaW4gdGhlIGltYV9hZGRfdGVtcGxhdGVfZW50cnkoKSBmdW5jdGlvbiBub3QgdG8gbWVh c3VyZQo+PiBldmVudHMgd2hlbiAnc3VzcGVuZF9pbWFfbWVhc3VyZW1lbnRzJyBmbGFnIGlzIHNl dC4KPj4KPj4gVGhpcyBlbnN1cmVzIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIElNQSBsb2cgd2hpbGUg aXQgaXMgYmVpbmcgY29waWVkIG92ZXIKPj4gdG8gdGhlIG5ldyBLZXJuZWwgZHVyaW5nIGtleGVj ICdleGVjdXRlJy4KPj4KPj4gU2lnbmVkLW9mZi1ieTogVHVzaGFyIFN1Z2FuZGhpIDx0dXNoYXJz dUBsaW51eC5taWNyb3NvZnQuY29tPgo+IAo+IFJldmlld2VkLWJ5OiBTdGVmYW4gQmVyZ2VyIDxz dGVmYW5iQGxpbnV4LmlibS5jb20+Cj4gClRoYW5rcyBmb3IgdGhlIHRhZy4gSSB3aWxsIGFkZCBp dCB0byB0aGlzIHBhdGNoIGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiAKdGhlIHNlcmllcy4KUGxl YXNlIGxldCBtZSBrbm93IGlmIHlvdSB3YW50IGl0IHRvIGJlIGFkZGVkIHRvIGFueSBvdGhlciBw YXRjaGVzLgoKflR1c2hhcgo+PiAtLS0KPj4gwqAgc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWEu aMKgwqDCoMKgwqDCoCB8wqAgMiArKwo+PiDCoCBzZWN1cml0eS9pbnRlZ3JpdHkvaW1hL2ltYV9r ZXhlYy5jIHzCoCA3ICsrKysrKysKPj4gwqAgc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFfcXVl dWUuYyB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiDCoCAzIGZpbGVzIGNo YW5nZWQsIDQxIGluc2VydGlvbnMoKykKPj4KPj4gZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2ludGVn cml0eS9pbWEvaW1hLmggYi9zZWN1cml0eS9pbnRlZ3JpdHkvaW1hL2ltYS5oCj4+IGluZGV4IGMy OWRiNjk5Yzk5Ni4uNDlhNjA0N2RkOGViIDEwMDY0NAo+PiAtLS0gYS9zZWN1cml0eS9pbnRlZ3Jp dHkvaW1hL2ltYS5oCj4+ICsrKyBiL3NlY3VyaXR5L2ludGVncml0eS9pbWEvaW1hLmgKPj4gQEAg LTE2MSw2ICsxNjEsOCBAQCBib29sIGltYV90ZW1wbGF0ZV9oYXNfbW9kc2lnKGNvbnN0IHN0cnVj dCAKPj4gaW1hX3RlbXBsYXRlX2Rlc2MgKmltYV90ZW1wbGF0ZSk7Cj4+IMKgIGludCBpbWFfcmVz dG9yZV9tZWFzdXJlbWVudF9lbnRyeShzdHJ1Y3QgaW1hX3RlbXBsYXRlX2VudHJ5ICplbnRyeSk7 Cj4+IMKgIGludCBpbWFfcmVzdG9yZV9tZWFzdXJlbWVudF9saXN0KGxvZmZfdCBidWZzaXplLCB2 b2lkICpidWYpOwo+PiDCoCBpbnQgaW1hX21lYXN1cmVtZW50c19zaG93KHN0cnVjdCBzZXFfZmls ZSAqbSwgdm9pZCAqdik7Cj4+ICt2b2lkIGltYV9tZWFzdXJlbWVudHNfc3VzcGVuZCh2b2lkKTsK Pj4gK3ZvaWQgaW1hX21lYXN1cmVtZW50c19yZXN1bWUodm9pZCk7Cj4+IMKgIHVuc2lnbmVkIGxv bmcgaW1hX2dldF9iaW5hcnlfcnVudGltZV9zaXplKHZvaWQpOwo+PiDCoCBpbnQgaW1hX2luaXRf dGVtcGxhdGUodm9pZCk7Cj4+IMKgIHZvaWQgaW1hX2luaXRfdGVtcGxhdGVfbGlzdCh2b2lkKTsK Pj4gZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2ludGVncml0eS9pbWEvaW1hX2tleGVjLmMgCj4+IGIv c2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFfa2V4ZWMuYwo+PiBpbmRleCAyNTE1MGJmYzcxMjku LmYyNmI1YjM0MmQ4NCAxMDA2NDQKPj4gLS0tIGEvc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFf a2V4ZWMuYwo+PiArKysgYi9zZWN1cml0eS9pbnRlZ3JpdHkvaW1hL2ltYV9rZXhlYy5jCj4+IEBA IC0xNzksNiArMTc5LDcgQEAgc3RhdGljIGludCBpbWFfdXBkYXRlX2tleGVjX2J1ZmZlcihzdHJ1 Y3QgCj4+IG5vdGlmaWVyX2Jsb2NrICpzZWxmLAo+PiDCoMKgwqDCoMKgIHZvaWQgKmJ1ZiA9IE5V TEw7Cj4+IMKgwqDCoMKgwqAgc2l6ZV90IGJ1Zl9zaXplOwo+PiDCoMKgwqDCoMKgIGludCByZXQg PSBOT1RJRllfT0s7Cj4+ICvCoMKgwqAgYm9vbCByZXN1bWUgPSBmYWxzZTsKPj4gwqDCoMKgwqDC oCBpZiAoIWtleGVjX2luX3Byb2dyZXNzKSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBwcl9pbmZv KCIlczogTm8ga2V4ZWMgaW4gcHJvZ3Jlc3MuXG4iLCBfX2Z1bmNfXyk7Cj4+IEBAIC0xOTAsMTIg KzE5MSwxNSBAQCBzdGF0aWMgaW50IGltYV91cGRhdGVfa2V4ZWNfYnVmZmVyKHN0cnVjdCAKPj4g bm90aWZpZXJfYmxvY2sgKnNlbGYsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+ PiDCoMKgwqDCoMKgIH0KPj4gK8KgwqDCoCBpbWFfbWVhc3VyZW1lbnRzX3N1c3BlbmQoKTsKPj4g Kwo+PiDCoMKgwqDCoMKgIHJldCA9IGltYV9kdW1wX21lYXN1cmVtZW50X2xpc3QoJmJ1Zl9zaXpl LCAmYnVmLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2V4 ZWNfc2VnbWVudF9zaXplKTsKPj4gwqDCoMKgwqDCoCBpZiAoIWJ1Zikgewo+PiDCoMKgwqDCoMKg wqDCoMKgwqAgcHJfZXJyKCIlczogRHVtcCBtZWFzdXJlbWVudHMgZmFpbGVkLiBFcnJvcjolZFxu IiwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19mdW5jX18sIHJldCk7Cj4+ ICvCoMKgwqDCoMKgwqDCoCByZXN1bWUgPSB0cnVlOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ290 byBvdXQ7Cj4+IMKgwqDCoMKgwqAgfQo+PiDCoMKgwqDCoMKgIG1lbWNweShpbWFfa2V4ZWNfYnVm ZmVyLCBidWYsIGJ1Zl9zaXplKTsKPj4gQEAgLTIwMyw2ICsyMDcsOSBAQCBzdGF0aWMgaW50IGlt YV91cGRhdGVfa2V4ZWNfYnVmZmVyKHN0cnVjdCAKPj4gbm90aWZpZXJfYmxvY2sgKnNlbGYsCj4+ IMKgwqDCoMKgwqAga2ltYWdlX3VubWFwX3NlZ21lbnQoaW1hX2tleGVjX2J1ZmZlcik7Cj4+IMKg wqDCoMKgwqAgaW1hX2tleGVjX2J1ZmZlciA9IE5VTEw7Cj4+ICvCoMKgwqAgaWYgKHJlc3VtZSkK Pj4gK8KgwqDCoMKgwqDCoMKgIGltYV9tZWFzdXJlbWVudHNfcmVzdW1lKCk7Cj4+ICsKPj4gwqDC oMKgwqDCoCByZXR1cm4gcmV0Owo+PiDCoCB9Cj4+IGRpZmYgLS1naXQgYS9zZWN1cml0eS9pbnRl Z3JpdHkvaW1hL2ltYV9xdWV1ZS5jIAo+PiBiL3NlY3VyaXR5L2ludGVncml0eS9pbWEvaW1hX3F1 ZXVlLmMKPj4gaW5kZXggNTMyZGE4N2NlNTE5Li41OTQ2YTI2YTI4NDkgMTAwNjQ0Cj4+IC0tLSBh L3NlY3VyaXR5L2ludGVncml0eS9pbWEvaW1hX3F1ZXVlLmMKPj4gKysrIGIvc2VjdXJpdHkvaW50 ZWdyaXR5L2ltYS9pbWFfcXVldWUuYwo+PiBAQCAtNDQsNiArNDQsMTEgQEAgc3RydWN0IGltYV9o X3RhYmxlIGltYV9odGFibGUgPSB7Cj4+IMKgwqAgKi8KPj4gwqAgc3RhdGljIERFRklORV9NVVRF WChpbWFfZXh0ZW5kX2xpc3RfbXV0ZXgpOwo+PiArLyoKPj4gKyAqIFVzZWQgaW50ZXJuYWxseSBi eSB0aGUga2VybmVsIHRvIHN1c3BlbmQtcmVzdW1lIGltYSBtZWFzdXJlbWVudHMuCj4+ICsgKi8K Pj4gK3N0YXRpYyBhdG9taWNfdCBzdXNwZW5kX2ltYV9tZWFzdXJlbWVudHM7Cj4+ICsKPj4gwqAg LyogbG9va3VwIHVwIHRoZSBkaWdlc3QgdmFsdWUgaW4gdGhlIGhhc2ggdGFibGUsIGFuZCByZXR1 cm4gdGhlIAo+PiBlbnRyeSAqLwo+PiDCoCBzdGF0aWMgc3RydWN0IGltYV9xdWV1ZV9lbnRyeSAq aW1hX2xvb2t1cF9kaWdlc3RfZW50cnkodTggCj4+ICpkaWdlc3RfdmFsdWUsCj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg aW50IHBjcikKPj4gQEAgLTE0OCw2ICsxNTMsMjAgQEAgc3RhdGljIGludCBpbWFfcGNyX2V4dGVu ZChzdHJ1Y3QgdHBtX2RpZ2VzdCAKPj4gKmRpZ2VzdHNfYXJnLCBpbnQgcGNyKQo+PiDCoMKgwqDC oMKgIHJldHVybiByZXN1bHQ7Cj4+IMKgIH0KPj4gK3ZvaWQgaW1hX21lYXN1cmVtZW50c19zdXNw ZW5kKHZvaWQpCj4+ICt7Cj4+ICvCoMKgwqAgbXV0ZXhfbG9jaygmaW1hX2V4dGVuZF9saXN0X211 dGV4KTsKPj4gK8KgwqDCoCBhdG9taWNfc2V0KCZzdXNwZW5kX2ltYV9tZWFzdXJlbWVudHMsIDEp Owo+PiArwqDCoMKgIG11dGV4X3VubG9jaygmaW1hX2V4dGVuZF9saXN0X211dGV4KTsKPj4gK30K Pj4gKwo+PiArdm9pZCBpbWFfbWVhc3VyZW1lbnRzX3Jlc3VtZSh2b2lkKQo+PiArewo+PiArwqDC oMKgIG11dGV4X2xvY2soJmltYV9leHRlbmRfbGlzdF9tdXRleCk7Cj4+ICvCoMKgwqAgYXRvbWlj X3NldCgmc3VzcGVuZF9pbWFfbWVhc3VyZW1lbnRzLCAwKTsKPj4gK8KgwqDCoCBtdXRleF91bmxv Y2soJmltYV9leHRlbmRfbGlzdF9tdXRleCk7Cj4+ICt9Cj4+ICsKPj4gwqAgLyoKPj4gwqDCoCAq IEFkZCB0ZW1wbGF0ZSBlbnRyeSB0byB0aGUgbWVhc3VyZW1lbnQgbGlzdCBhbmQgaGFzaCB0YWJs ZSwgYW5kCj4+IMKgwqAgKiBleHRlbmQgdGhlIHBjci4KPj4gQEAgLTE3Niw2ICsxOTUsMTkgQEAg aW50IGltYV9hZGRfdGVtcGxhdGVfZW50cnkoc3RydWN0IAo+PiBpbWFfdGVtcGxhdGVfZW50cnkg KmVudHJ5LCBpbnQgdmlvbGF0aW9uLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+PiDCoMKgwqDC oMKgIH0KPj4gK8KgwqDCoCAvKgo+PiArwqDCoMKgwqAgKiBzdXNwZW5kX2ltYV9tZWFzdXJlbWVu dHMgd2lsbCBiZSBzZXQgaWYgdGhlIHN5c3RlbSBpcwo+PiArwqDCoMKgwqAgKiB1bmRlcmdvaW5n IGtleGVjIHNvZnQgYm9vdCB0byBhIG5ldyBrZXJuZWwuCj4+ICvCoMKgwqDCoCAqIHN1c3BlbmRp bmcgbWVhc3VyZW1lbnRzIGluIHRoaXMgc2hvcnQgd2luZG93IGVuc3VyZXMgdGhlCj4+ICvCoMKg wqDCoCAqIGNvbnNpc3RlbmN5IG9mIHRoZSBJTUEgbWVhc3VyZW1lbnQgbGlzdCBkdXJpbmcgY29w eWluZwo+PiArwqDCoMKgwqAgKiBvZiB0aGUga2V4ZWMgYnVmZmVyLgo+PiArwqDCoMKgwqAgKi8K Pj4gK8KgwqDCoCBpZiAoYXRvbWljX3JlYWQoJnN1c3BlbmRfaW1hX21lYXN1cmVtZW50cykpIHsK Pj4gK8KgwqDCoMKgwqDCoMKgIGF1ZGl0X2NhdXNlID0gIm1lYXN1cmVtZW50c19zdXNwZW5kZWQi Owo+PiArwqDCoMKgwqDCoMKgwqAgYXVkaXRfaW5mbyA9IDA7Cj4+ICvCoMKgwqDCoMKgwqDCoCBn b3RvIG91dDsKPj4gK8KgwqDCoCB9Cj4+ICsKPj4gwqDCoMKgwqDCoCByZXN1bHQgPSBpbWFfYWRk X2RpZ2VzdF9lbnRyeShlbnRyeSwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAhSVNfRU5BQkxFRChDT05GSUdfSU1BX0RJU0FCTEVfSFRBQkxFKSk7Cj4+ IMKgwqDCoMKgwqAgaWYgKHJlc3VsdCA8IDApIHsKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmtleGVjIG1haWxpbmcgbGlzdAprZXhlY0BsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8va2V4 ZWMK