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=-0.9 required=3.0 tests=DKIM_ADSP_ALL,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,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 B71BCC43603 for ; Thu, 19 Dec 2019 22:12:08 +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 88342227BF for ; Thu, 19 Dec 2019 22:12:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="RfXl4fZ8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 88342227BF Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.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 1ii41V-0005l5-GZ; Thu, 19 Dec 2019 22:11:57 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ii41U-0005kv-69 for xen-devel@lists.xenproject.org; Thu, 19 Dec 2019 22:11:56 +0000 X-Inumbo-ID: 9135ca2c-22ac-11ea-a914-bc764e2007e4 Received: from smtp-fw-4101.amazon.com (unknown [72.21.198.25]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 9135ca2c-22ac-11ea-a914-bc764e2007e4; Thu, 19 Dec 2019 22:11:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1576793516; x=1608329516; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=DXRbV3KZHSUvHdCDU0MLab4MWV7Dc9ie2fgZovj3Fx4=; b=RfXl4fZ8yG83kk3j3MBNCTXi/bn5UJ5Ek6JC5kkRaTUWC2xrjLuAvUQC E50/NRlYoo1Tyu5oEbuB4K9CSYHlPDUXfC8BzKbtoYbPnx6oij4kEtWJs QU/MwzElpddxN0mGvkNwXdvqBOrmPcgcp9Bhz7KaV46ha+2pHIGb05jI9 A=; IronPort-SDR: qTR9EZJyA2J8ASPXvFae06ePe2di88FjlGbGoaLYlpu2Ku8U8Fu/KytxlWQrS/daGIB7eomXbm 8L8H+BpCRcsA== X-IronPort-AV: E=Sophos;i="5.69,333,1571702400"; d="scan'208";a="9266885" Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-1e-303d0b0e.us-east-1.amazon.com) ([10.43.8.6]) by smtp-border-fw-out-4101.iad4.amazon.com with ESMTP; 19 Dec 2019 22:11:54 +0000 Received: from EX13MTAUEA001.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan3.iad.amazon.com [10.40.159.166]) by email-inbound-relay-1e-303d0b0e.us-east-1.amazon.com (Postfix) with ESMTPS id 76D56A25F3; Thu, 19 Dec 2019 22:11:51 +0000 (UTC) Received: from EX13D03EUA002.ant.amazon.com (10.43.165.166) by EX13MTAUEA001.ant.amazon.com (10.43.61.243) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 19 Dec 2019 22:11:50 +0000 Received: from a483e73f63b0.ant.amazon.com (10.43.160.109) by EX13D03EUA002.ant.amazon.com (10.43.165.166) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 19 Dec 2019 22:11:45 +0000 To: Jan Beulich References: <729be010-5721-3eca-8a95-63987b61d897@suse.com> From: Eslam Elnikety Message-ID: Date: Thu, 19 Dec 2019 23:11:40 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.3.0 MIME-Version: 1.0 In-Reply-To: <729be010-5721-3eca-8a95-63987b61d897@suse.com> Content-Language: en-US X-Originating-IP: [10.43.160.109] X-ClientProxiedBy: EX13D06UWA002.ant.amazon.com (10.43.160.143) To EX13D03EUA002.ant.amazon.com (10.43.165.166) Precedence: Bulk Subject: Re: [Xen-devel] [PATCH v2 4/4] x86/microcode: Support builtin CPU microcode X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Julien Grall , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Paul Durrant , xen-devel@lists.xenproject.org, David Woodhouse Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gMTguMTIuMTkgMTM6NDIsIEphbiBCZXVsaWNoIHdyb3RlOgo+IE9uIDE4LjEyLjIwMTkgMDI6 MzIsIEVzbGFtIEVsbmlrZXR5IHdyb3RlOgo+PiArfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KPj4gKwo+PiArWGVuIGNhbiBidW5kbGUgbWljcm9jb2RlIHVwZGF0 ZXMgd2l0aGluIGl0cyBpbWFnZS4gVGhpcyBzdXBwb3J0IGlzIGNvbmRpdGlvbmFsCj4+ICtvbiB0 aGUgYnVpbGQgY29uZmlndXJhdGlvbiBCVUlMVElOX1VDT0RFIGJlaW5nIGVuYWJsZWQuIEJ1aWx0 aW4gbWljcm9jb2RlIGlzCj4+ICt1c2VmdWwgdG8gZW5zdXJlIHRoYXQsIGJ5IGRlZmF1bHQsIGEg bWluaW11bSBtaWNyb2NvZGUgcGF0Y2ggbGV2ZWwgd2lsbCBiZQo+PiArYXBwbGllZCB0byB0aGUg dW5kZXJseWluZyBDUFUuCj4+ICsKPj4gK1RvIHVzZSBtaWNyb2NvZGUgdXBkYXRlcyBhdmFpbGFi bGUgb24gdGhlIGJ1aWxkIHN5c3RlbSBhcyBidWlsdGluLAo+PiArdXNlIEJVSUxUSU5fVUNPREVf RElSIHRvIHJlZmVyIHRvIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgZmlybXdhcmUgdXBk YXRlcwo+PiArYW5kIHNwZWNpZnkgdGhlIGluZGl2aWR1YWwgbWljcm9jb2RlIHBhdGNoZXMgdmlh IGVpdGhlciBCVUlMVElOX1VDT0RFX0FNRCBvcgo+PiArQlVJTFRJTl9VQ09ERV9JTlRFTCBmb3Ig QU1EIG1pY3JvY29kZSBvciBJTlRFTCBtaWNyb2NvZGUsIHJlc3BlY3RpdmVseS4gRm9yCj4+ICtp bnN0YW5jZSwgdGhlIGNvbmZpZ3VyYXRpb24gYmVsb3cgaXMgc3VpdGFibGUgZm9yIGEgYnVpbGQg c3lzdGVtIHdoaWNoIGhhcyBhCj4+ICtgYC9saWIvZmlybXdhcmUvYGAgZGlyZWN0b3J5IHdoaWNo LCBpbiB0dXJuLCBpbmNsdWRlcyB0aGUgaW5kaXZpZHVhbCBtaWNyb2NvZGUKPj4gK3BhdGNoZXMg YGBhbWQtdWNvZGUvbWljcm9jb2RlX2FtZF9mYW0xNWguYmluYGAsIGBgaW50ZWwtdWNvZGUvMDYt M2EtMDlgYCwgYW5kCj4+ICtgYGludGVsLXVjb2RlLzA2LTJmLTAyYGAuCj4+ICsKPj4gKyAgQ09O RklHX0JVSUxUSU5fVUNPREU9eQo+PiArICBDT05GSUdfQlVJTFRJTl9VQ09ERV9ESVI9Ii9saWIv ZmlybXdhcmUvIgo+PiArICBDT05GSUdfQlVJTFRJTl9VQ09ERV9BTUQ9ImFtZC11Y29kZS9taWNy b2NvZGVfYW1kX2ZhbTE1aC5iaW4iCj4+ICsgIENPTkZJR19CVUlMVElOX1VDT0RFX0lOVEVMPSJp bnRlbC11Y29kZS8wNi0zYS0wOSBpbnRlbC11Y29kZS8wNi0yZi0wMiIKPiAKPiBSYXRoZXIgdGhh biBhIGJsYW5rIGFzIHNlcGFyYXRvciwgdGhlIG1vcmUgY29udmVudGlvbmFsIG9uZSBvbgo+IFVu aXggYW5kIGFsaWtlIHdvdWxkIGJlIDogSSB0aGluay4gT2YgY291cnNlIGlkZWFsbHkgdGhlcmUg d291bGRuJ3QKPiBiZSBhbnkgcmVzdHJpY3Rpb24gYXQgYWxsIG9uIHRoZSBjaGFyYWN0ZXJzIHVz YWJsZSBoZXJlIGZvciBmaWxlCj4gbmFtZXMuCj4gCgpJdCB3b3VsZCBiZSBncmVhdCBpZiB0aGVy ZSBpcyBhIHBhcnRpY3VsYXIgY29udmVudGlvbi4gVGhlIGJsYW5rIApzZXBhcmF0b3IgaXMgYWxp Z25lZCB3aXRoIExpbnV4IHdheSBvZiBkb2luZyBidWlsdGluIG1pY3JvY29kZS4KCj4+IC0tLSBh L3hlbi9hcmNoL3g4Ni9LY29uZmlnCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9LY29uZmlnCj4+IEBA IC0yMTgsNiArMjE4LDM2IEBAIGNvbmZpZyBNRU1fU0hBUklORwo+PiAgIAlib29sICJYZW4gbWVt b3J5IHNoYXJpbmcgc3VwcG9ydCIgaWYgRVhQRVJUID0gInkiCj4+ICAgCWRlcGVuZHMgb24gSFZN Cj4+ICAgCj4+ICtjb25maWcgQlVJTFRJTl9VQ09ERQo+PiArCWJvb2wgIlN1cHBvcnQgZm9yIEJ1 aWx0aW4gTWljcm9jb2RlIgo+PiArCS0tLWhlbHAtLS0KPj4gKwkgIEluY2x1ZGUgdGhlIENQVSBt aWNyb2NvZGUgdXBkYXRlIGluIHRoZSBYZW4gaW1hZ2UgaXRzZWxmLiBXaXRoIHRoaXMKPj4gKwkg IHN1cHBvcnQsIFhlbiBjYW4gdXBkYXRlIHRoZSBDUFUgbWljcm9jb2RlIHVwb24gYm9vdCB1c2lu ZyB0aGUgYnVpbHRpbgo+PiArCSAgbWljcm9jb2RlLCB3aXRoIG5vIG5lZWQgZm9yIGFuIGFkZGl0 aW9uYWwgbWljcm9jb2RlIGJvb3QgbW9kdWxlcy4KPj4gKwo+PiArCSAgSWYgdW5zdXJlLCBzYXkg Ti4KPiAKPiBJIGNvbnRpbnVlIHRvIGJlIHVuY29udmluY2VkIHRoYXQgdGhpcyBzZXBhcmF0ZSBv cHRpb24gaXMgbmVlZGVkLgo+IEFsYmVpdCBjb21wYXJlZCB0byB0aGUgdjEgYXBwcm9hY2ggSSB3 aWxsIGFncmVlIHRoYXQgaGFuZGxpbmcKPiB3b3VsZCBiZWNvbWUgbW9yZSBjb21wbGljYXRlZCB3 aXRob3V0Lgo+IAoKQW55IHBhcnRpY3VsYXIgcHJlZmVyZW5jZSBiZXR3ZWVuIHRoZSB2MSB2cyB2 MiBhcHByb2FjaD8KCj4+IEBAIC03MDEsNyArNzQ3LDEzIEBAIHN0YXRpYyBpbnQgX19pbml0IG1p Y3JvY29kZV9pbml0KHZvaWQpCj4+ICAgICAgICAqLwo+PiAgICAgICBpZiAoIHVjb2RlX2Jsb2Iu c2l6ZSApCj4+ICAgICAgIHsKPj4gKyNpZmRlZiBDT05GSUdfQlVJTFRJTl9VQ09ERQo+PiArICAg ICAgICAvKiBObyBuZWVkIHRvIGRlc3Ryb3kgbW9kdWxlIG1hcHBpbmdzIGlmIGJ1aWx0aW4gd2Fz IHVzZWQgKi8KPj4gKyAgICAgICAgaWYgKCAhdWNvZGVfYnVpbHRpbiApCj4+ICsgICAgICAgICAg ICBib290c3RyYXBfbWFwKE5VTEwpOwo+PiArI2Vsc2UKPj4gICAgICAgICAgIGJvb3RzdHJhcF9t YXAoTlVMTCk7Cj4+ICsjZW5kaWYKPiAKPiBGaXJzdCBvZiBhbGwgLSBpcyB0aGVyZSBubyB1Y29k ZSB1bnJlbGF0ZWQgc2lkZSBlZmZlY3Qgb2YgdGhpcwo+IGludm9jYXRpb24/IEkuZS4gY2FuIGl0 IHNhZmVseSBiZSBza2lwcGVkPwoKTWF5YmUgSSBhbSBtaXNzaW5nIHNvbWV0aGluZy4gQXJlIHlv dSBhc2tpbmcgaWYgd2UgY2FuIHNhZmVseSBza2lwIHRoZSAKYm9vdHN0cmFwX21hcChOVUxMKT8g KFF1b3RpbmcgeW91ciByZXNwb25zZSBvbiBQQVRDSCB2MiAyLzQgIkFuZCBvZiAKY291cnNlIHdl IHJlYWxseSB3YW50IHRoZXNlIG1hcHBpbmdzIHRvIGJlIGdvbmUiKQoKPiBJZiB5ZXMsIHRoZW4g SSB0aGluawo+IHlvdSB3YW50IHRvIGdldCBhd2F5IHdpdGhvdXQgI2lmZGVmIGhlcmUsIGJ5IGhh dmluZyBhIHN1aXRhYmx5Cj4gcGxhY2VkCj4gCj4gI2RlZmluZSB1Y29kZV9idWlsdGluIGZhbHNl Cj4gCj4gc29tZXdoZXJlIHVwIHRoZSBmaWxlLgo+IAoKQWdyZWVkLiBUaGF0IHdpbGwgbWFrZSB0 aGUgY29kZSBzbmlwcGV0IG1vcmUgcmVhZGFibGUgaW5kZWVkLgoKPj4gLS0tIC9kZXYvbnVsbAo+ PiArKysgYi94ZW4vYXJjaC94ODYvbWljcm9jb2RlL01ha2VmaWxlCj4+IEBAIC0wLDAgKzEsNDYg QEAKPj4gKyMgQ29weXJpZ2h0IChDKSAyMDE5IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmls aWF0ZXMuCj4+ICsjIEF1dGhvcjogRXNsYW0gRWxuaWtldHkgPGVsbmlrZXR5QGFtYXpvbi5jb20+ Cj4+ICsjCj4+ICsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4+ICsjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cj4+ICsjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y Cj4+ICsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4+ICsjCj4+ICsjIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+PiArIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+PiArIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4+ICsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCj4+ICsKPj4gKyMgUmVtb3ZlIHF1b3RlcyBhbmQgZXhjZXNz IHNwYWNlcyBmcm9tIGNvbmZpZ3VyYXRpb24gc3RyaW5ncwo+PiArVUNPREVfRElSPSQoc3RyaXAg JChzdWJzdCAkXCIsLCQoQ09ORklHX0JVSUxUSU5fVUNPREVfRElSKSkpCj4+ICtVQ09ERV9BTUQ9 JChzdHJpcCAkKHN1YnN0ICRcIiwsJChDT05GSUdfQlVJTFRJTl9VQ09ERV9BTUQpKSkKPj4gK1VD T0RFX0lOVEVMPSQoc3RyaXAgJChzdWJzdCAkXCIsLCQoQ09ORklHX0JVSUxUSU5fVUNPREVfSU5U RUwpKSkKPj4gKwo+PiArIyBBTUQgYW5kIElOVEVMIG1pY3JvY29kZSBibG9icy4gVXNlICd3aWxk Y2FyZCcgdG8gZmlsdGVyIGZvciBleGlzdGluZyBibG9icy4KPj4gK2FtZC1ibG9icyA6PSAkKHdp bGRjYXJkICQoYWRkcHJlZml4ICQoVUNPREVfRElSKSwkKFVDT0RFX0FNRCkpKQo+PiAraW50ZWwt YmxvYnMgOj0gJCh3aWxkY2FyZCAkKGFkZHByZWZpeCAkKFVDT0RFX0RJUiksJChVQ09ERV9JTlRF TCkpKQo+PiArCj4+ICtpZm5lcSAoJChhbWQtYmxvYnMpLCkKPj4gK29iai15ICs9IHVjb2RlX2Ft ZC5vCj4+ICtlbmRpZgo+PiArCj4+ICtpZm5lcSAoJChpbnRlbC1ibG9icyksKQo+PiArb2JqLXkg Kz0gdWNvZGVfaW50ZWwubwo+PiArZW5kaWYKPj4gKwo+PiAraWZlcSAoJChhbWQtYmxvYnMpJChp bnRlbC1ibG9icyksKQo+PiArb2JqLXkgKz0gdWNvZGVfZHVtbXkubwo+PiArZW5kaWYKPj4gKwo+ PiArdWNvZGVfYW1kLm86IE1ha2VmaWxlICQoYW1kLWJsb2JzKQo+PiArCWNhdCAkKGFtZC1ibG9i cykgPiAkQC5iaW4KPj4gKwkkKE9CSkNPUFkpIC1JIGJpbmFyeSAtTyBlbGY2NC14ODYtNjQgLUIg aTM4Njp4ODYtNjQgLS1yZW5hbWUtc2VjdGlvbiAuZGF0YT0uYnVpbHRpbl9hbWRfdWNvZGUsYWxs b2MsbG9hZCxyZWFkb25seSxkYXRhLGNvbnRlbnRzICRALmJpbiAkQAo+PiArCXJtIC1mICRALmJp bgo+PiArCj4+ICt1Y29kZV9pbnRlbC5vOiBNYWtlZmlsZSAkKGludGVsLWJsb2JzKQo+PiArCWNh dCAkKGludGVsLWJsb2JzKSA+ICRALmJpbgo+PiArCSQoT0JKQ09QWSkgLUkgYmluYXJ5IC1PIGVs ZjY0LXg4Ni02NCAtQiBpMzg2Ong4Ni02NCAtLXJlbmFtZS1zZWN0aW9uIC5kYXRhPS5idWlsdGlu X2ludGVsX3Vjb2RlLGFsbG9jLGxvYWQscmVhZG9ubHksZGF0YSxjb250ZW50cyAkQC5iaW4gJEAK Pj4gKwlybSAtZiAkQC5iaW4KPiAKPiBUaGlzIGNhbiBiZSBoYWQgd2l0aCBhIHBhdHRlcm4gcnVs ZSAod2l0aCB0aGUgdmVuZG9yIGJlaW5nIHRoZSBzdGVtKQo+IGFuZCBoZW5jZSB3aXRob3V0IGR1 cGxpY2F0aW9uLCBJIHRoaW5rLgo+IAo+IEFsc28gLSBpcyBzaW1wbHkgY29uY2F0ZW5hdGluZyB0 aGUgYmxvYnMgcmVsaWFibGUgZW5vdWdoPyBUaGVyZSdzIG5vCj4gYnVpbGQgdGltZSBkaWFnbm9z dGljIHRoYXQgdGhlIHJlc3VsdCB3b3VsZCBhY3R1YWxseSBiZSB1bmRlcnN0b29kCj4gYXQgcnVu dGltZS4KPiAKCkNvbmNhdGVuYXRpb24gaXMgcmVsaWFibGUgKGFzIGxvbmcgYXMgdGhlIGluZGl2 aWR1YWwgbWljcm9jb2RlIGJsb2JzIGFyZSAKbm90IG1hbGZvcm1lZCwgYW5kIGluIHRoYXQgY2Fz ZSB0aGUgYnVpbHRpbiBpcyBub3QgbWFraW5nIG1hdHRlcnMgd29yc2UgCmNvbXBhcmVkIHRvIHBy ZXNlbnRpbmcgdGhlIG1hbGZvcm1lZCB1cGRhdGUgdmlhIDxpbnRlZ2VyPiB8IHNjYW4pLgoKPj4g K3Vjb2RlX2R1bW15Lm86IE1ha2VmaWxlCj4+ICsJJChDQykgJChDRkxBR1MpIC1jIC14IGMgL2Rl di9udWxsIC1vICRAOwo+IAo+IFNpbmNlIHRoZSBjb21taXQgbWVzc2FnZSBkb2Vzbid0IGV4cGxh aW4gd2h5IHRoaXMgaXMgbmVlZGVkLCBJCj4gaGF2ZSB0byBhc2sgKEkgZ3Vlc3Mgd2Ugc29tZXdo ZXJlIGhhdmUgYSBkZXBlbmRlbmN5IG9uICQob2JqLXkpCj4gbm90IGJlaW5nIGVtcHR5KS4KCllv dXIgZ3Vlc3MgaXMgY29ycmVjdC4gQWxsIHN1Yi1kaXJlY3RvcmllcyBvZiB4ZW4vYXJjaC94ODYg YXJlIGV4cGVjdGVkIAp0byBwcm9kdWNlIGJ1aWx0X2luLm8uIElmIHRoZXJlIGFyZSBub3QgYW1k IG5vciBpbnRlbCBtaWNyb2NvZGUgYmxvYnMsIAp0aGVyZSB3aWxsIGJlIG5vIGJ1aWxkIGRlcGVu ZGVuY2llcyBhbmQgdGhlIGJ1aWxkIGZhaWxzIHByZXBhcmluZyB0aGUgCmJ1aWx0X2luLm8KCj4g X0lmXyBpdCBpcyBuZWVkZWQsIEkgZG9uJ3Qgc2VlIHdoeSB5b3UgbmVlZAo+IGlmZXEoKSBhcm91 bmQgaXRzIHVzZS4gSW4gZmFjdCB5b3UgY291bGQgaGF2ZQo+IAo+IG9iai15IDo9IHVjb2RlLWR1 bW15Lm8KPiAKPiByaWdodCBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlLgo+IAo+IEZ1cnRoZXJtb3Jl IEkgZG9uJ3QgcmVhbGx5IHVuZGVyc3RhbmQgd2h5IHlvdSBuZWVkIHRoaXMgaW4gdGhlCj4gZmly c3QgcGxhY2UuIFdoaWxlIGNhdCB3b24ndCBkbyB3aGF0IHlvdSB3YW50IHdpdGggYW4gZW1wdHkK PiBhcmd1bWVudCBsaXN0LCBjYW4ndCB5b3Ugc2ltcGx5IHByZXBlbmQgLyBhcHBlbmQgL2Rldi9u dWxsPwo+IAoKVG8gbWFrZSBzdXJlIHdlIGFyZSBvbiB0aGUgc2FtZSBwYWdlLiBZb3UgYXJlIHN1 Z2dlc3RpbmcgdXNpbmcgCiIvZGV2L251bGwiIGluIGNhc2UgdGhlcmUgYXJlIG5vIGFtZC9pbnRl bCB1Y29kZSB0byBnZW5lcmF0ZSB0aGUgCnVjb2RlX2FtZC9pbnRlbC5vPyBJZiBzbywgb2JqY29w eSBkb2VzIG5vdCBhbGxvdyB1c2luZyAvZGV2L251bGwgYXMgCmlucHV0IChjb21wbGFpbnMgYWJv dXQgZW1wdHkgYmluYXJ5KS4KCihJIGFncmVlIHdpdGggeW91ciBvdGhlciBpbmxpbmUgc3VnZ2Vz dGlvbnMgdGhhdCBJIGhhdmUgb21pdHRlZC4gVGhvc2UgSSAKd2lsbCBhZGRyZXNzIGluIHYzKS4K ClRoYW5rcywKRXNsYW0KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2 ZWw=