From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Manthey Subject: [PATCH SpectreV1+L1TF v7 3/9] spec: add l1tf-barrier Date: Thu, 21 Feb 2019 09:16:37 +0100 Message-ID: <1550737003-25779-4-git-send-email-nmanthey@amazon.de> References: <1550737003-25779-1-git-send-email-nmanthey@amazon.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gwjaB-0000yo-WF for xen-devel@lists.xenproject.org; Thu, 21 Feb 2019 08:19:52 +0000 In-Reply-To: <1550737003-25779-1-git-send-email-nmanthey@amazon.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Dario Faggioli , Martin Pohlack , Pawel Wieczorkiewicz , Julien Grall , David Woodhouse , Jan Beulich , Martin Mazein , Julian Stecklina , Bjoern Doebel , Norbert Manthey List-Id: xen-devel@lists.xenproject.org VG8gY29udHJvbCB0aGUgcnVudGltZSBiZWhhdmlvciBvbiBMMVRGIHZ1bG5lcmFibGUgcGxhdGZv cm1zIGJldHRlciwgdGhlCmNvbW1hbmQgbGluZSBvcHRpb24gbDF0Zi1iYXJyaWVyIGlzIGludHJv ZHVjZWQuIFRoaXMgb3B0aW9uIGNvbnRyb2xzCndoZXRoZXIgb24gdnVsbmVyYWJsZSB4ODYgcGxh dGZvcm1zIHRoZSBsZmVuY2UgaW5zdHJ1Y3Rpb24gaXMgdXNlZCB0bwpwcmV2ZW50IHNwZWN1bGF0 aXZlIGV4ZWN1dGlvbiBmcm9tIGJ5cGFzc2luZyB0aGUgZXZhbHVhdGlvbiBvZgpjb25kaXRpb25h bHMgdGhhdCBhcmUgcHJvdGVjdGVkIHdpdGggdGhlIGV2YWx1YXRlX25vc3BlYyBtYWNyby4KCkJ5 IG5vdywgWGVuIGlzIGNhcGFibGUgb2YgaWRlbnRpZnlpbmcgTDFURiB2dWxuZXJhYmxlIGhhcmR3 YXJlLiBIb3dldmVyLAp0aGlzIGluZm9ybWF0aW9uIGNhbm5vdCBiZSB1c2VkIGZvciBhbHRlcm5h dGl2ZSBwYXRjaGluZywgYXMgYSBDUFUgZmVhdHVyZQppcyByZXF1aXJlZC4gVG8gY29udHJvbCBh bHRlcm5hdGl2ZSBwYXRjaGluZyB3aXRoIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9uLAphIG5ldyB4 ODYgZmVhdHVyZSAiWDg2X0ZFQVRVUkVfU0NfTDFURl9WVUxOIiBpcyBpbnRyb2R1Y2VkLiBUaGlz IGZlYXR1cmUKaXMgdXNlZCB0byBwYXRjaCB0aGUgbGZlbmNlIGluc3RydWN0aW9uIGludG8gdGhl IGFyY2hfYmFycmllcl9ub3NwZWNfdHJ1ZQpmdW5jdGlvbi4gVGhlIGZlYXR1cmUgaXMgZW5hYmxl ZCBvbmx5IGlmIEwxVEYgdnVsbmVyYWJsZSBoYXJkd2FyZSBpcwpkZXRlY3RlZCBhbmQgdGhlIGNv bW1hbmQgbGluZSBvcHRpb24gZG9lcyBub3QgcHJldmVudCB1c2luZyB0aGlzIGZlYXR1cmUuCgpU aGUgc3RhdHVzIG9mIGh5cGVydGhyZWFkaW5nIGlzIGNvbnNpZGVyZWQgd2hlbiBhdXRvbWF0aWNh bGx5IGVuYWJsaW5nCmFkZGluZyB0aGUgbGZlbmNlIGluc3RydWN0aW9uLiBTaW5jZSBwbGF0Zm9y bXMgd2l0aG91dCBoeXBlcnRocmVhZGluZyBjYW4Kc3RpbGwgYmUgdnVsbmVyYWJsZSB0byBMMVRG IGluIGNhc2UgdGhlIEwxIGNhY2hlIGlzIG5vdCBmbHVzaGVkIHByb3Blcmx5LAp0aGUgYWRkaXRp b25hbCBsZmVuY2UgaW5zdHJ1Y3Rpb25zIGFyZSBwYXRjaGVkIGluIGlmIGVpdGhlciBoeXBlcnRo cmVhZGluZwppcyBlbmFibGVkLCBvciBMMSBjYWNoZSBmbHVzaGluZyBpcyBtaXNzaW5nLgoKVGhp cyBpcyBwYXJ0IG9mIHRoZSBzcGVjdWxhdGl2ZSBoYXJkZW5pbmcgZWZmb3J0LgoKU2lnbmVkLW9m Zi1ieTogTm9yYmVydCBNYW50aGV5IDxubWFudGhleUBhbWF6b24uZGU+CgotLS0KCk5vdGVzOgog IHY3OiBtZW50aW9uIHNwZWN1bGF0aXZlIGhhcmRlbmluZyBpbiBjb21taXQgbWVzc2FnZQogICAg ICBjb25zaWRlciBzbXQgYW5kIGwxZGZsdXNoIGluIGF1dG8gc2V0dGluZyBmb3IgbDF0Zi1iYXJy aWVyCgogZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jIHwgMTQgKysrKysrKysrKy0t LS0KIHhlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyAgICAgICAgICB8IDE3ICsrKysrKysrKysrKysr Ky0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVzLmggfCAgMSArCiB4ZW4vaW5jbHVk ZS9hc20teDg2L3NwZWNfY3RybC5oICAgfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDI3IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbi1jb21t YW5kLWxpbmUucGFuZG9jIGIvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCi0tLSBh L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYworKysgYi9kb2NzL21pc2MveGVuLWNv bW1hbmQtbGluZS5wYW5kb2MKQEAgLTQ4Myw5ICs0ODMsOSBAQCBhY2NvdW50aW5nIGZvciBoYXJk d2FyZSBjYXBhYmlsaXRpZXMgYXMgZW51bWVyYXRlZCB2aWEgQ1BVSUQuCiAKIEN1cnJlbnRseSBh Y2NlcHRlZDoKIAotVGhlIFNwZWN1bGF0aW9uIENvbnRyb2wgaGFyZHdhcmUgZmVhdHVyZXMgYGli cnNiYCwgYHN0aWJwYCwgYGlicGJgLAotYGwxZC1mbHVzaGAgYW5kIGBzc2JkYCBhcmUgdXNlZCBi eSBkZWZhdWx0IGlmIGF2YWlsYWJsZSBhbmQgYXBwbGljYWJsZS4gIFRoZXkgY2FuCi1iZSBpZ25v cmVkLCBlLmcuIGBuby1pYnJzYmAsIGF0IHdoaWNoIHBvaW50IFhlbiB3b24ndCB1c2UgdGhlbSBp dHNlbGYsIGFuZAorVGhlIFNwZWN1bGF0aW9uIENvbnRyb2wgaGFyZHdhcmUgZmVhdHVyZXMgYGli cnNiYCwgYHN0aWJwYCwgYGlicGJgLCBgbDFkLWZsdXNoYCwKK2BsMXRmLWJhcnJpZXJgIGFuZCBg c3NiZGAgYXJlIHVzZWQgYnkgZGVmYXVsdCBpZiBhdmFpbGFibGUgYW5kIGFwcGxpY2FibGUuICBU aGV5CitjYW4gYmUgaWdub3JlZCwgZS5nLiBgbm8taWJyc2JgLCBhdCB3aGljaCBwb2ludCBYZW4g d29uJ3QgdXNlIHRoZW0gaXRzZWxmLCBhbmQKIHdvbid0IG9mZmVyIHRoZW0gdG8gZ3Vlc3RzLgog CiAjIyMgY3B1aWRfbWFza19jcHUKQEAgLTE4OTYsNyArMTg5Niw3IEBAIEJ5IGRlZmF1bHQgU1NC RCB3aWxsIGJlIG1pdGlnYXRlZCBhdCBydW50aW1lIChpLmUgYHNzYmQ9cnVudGltZWApLgogIyMj IHNwZWMtY3RybCAoeDg2KQogPiBgPSBMaXN0IG9mIFsgPGJvb2w+LCB4ZW49PGJvb2w+LCB7cHYs aHZtLG1zci1zYyxyc2J9PTxib29sPiwKID4gICAgICAgICAgICAgIGJ0aS10aHVuaz1yZXRwb2xp bmV8bGZlbmNlfGptcCwge2licnMsaWJwYixzc2JkLGVhZ2VyLWZwdSwKLT4gICAgICAgICAgICAg IGwxZC1mbHVzaH09PGJvb2w+IF1gCis+ICAgICAgICAgICAgICBsMWQtZmx1c2gsbDF0Zi1iYXJy aWVyfT08Ym9vbD4gXWAKIAogQ29udHJvbHMgZm9yIHNwZWN1bGF0aXZlIGV4ZWN1dGlvbiBzaWRl Y2hhbm5lbCBtaXRpZ2F0aW9ucy4gIEJ5IGRlZmF1bHQsIFhlbgogd2lsbCBwaWNrIHRoZSBtb3N0 IGFwcHJvcHJpYXRlIG1pdGlnYXRpb25zIGJhc2VkIG9uIGNvbXBpbGVkIGluIHN1cHBvcnQsCkBA IC0xOTYyLDYgKzE5NjIsMTIgQEAgSXJyZXNwZWN0aXZlIG9mIFhlbidzIHNldHRpbmcsIHRoZSBm ZWF0dXJlIGlzIHZpcnR1YWxpc2VkIGZvciBIVk0gZ3Vlc3RzIHRvCiB1c2UuICBCeSBkZWZhdWx0 LCBYZW4gd2lsbCBlbmFibGUgdGhpcyBtaXRpZ2F0aW9uIG9uIGhhcmR3YXJlIGJlbGlldmVkIHRv IGJlCiB2dWxuZXJhYmxlIHRvIEwxVEYuCiAKK09uIGhhcmR3YXJlIHZ1bG5lcmFibGUgdG8gTDFU RiwgdGhlIGBsMXRmLWJhcnJpZXI9YCBvcHRpb24gY2FuIGJlIHVzZWQgdG8gZm9yY2UKK29yIHBy ZXZlbnQgWGVuIGZyb20gcHJvdGVjdGluZyBldmFsdWF0aW9ucyBpbnNpZGUgdGhlIGh5cGVydmlz b3Igd2l0aCBhIGJhcnJpZXIKK2luc3RydWN0aW9uIHRvIG5vdCBsb2FkIHBvdGVudGlhbGx5IHNl Y3JldCBpbmZvcm1hdGlvbiBpbnRvIEwxIGNhY2hlLiAgQnkKK2RlZmF1bHQsIFhlbiB3aWxsIGVu YWJsZSB0aGlzIG1pdGlnYXRpb24gb24gaGFyZHdhcmUgYmVsaWV2ZWQgdG8gYmUgdnVsbmVyYWJs ZQordG8gTDFURi4KKwogIyMjIHN5bmNfY29uc29sZQogPiBgPSA8Ym9vbGVhbj5gCiAKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwu YwotLS0gYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKKysrIGIveGVuL2FyY2gveDg2L3NwZWNf Y3RybC5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8eGVuL2xpYi5oPgogI2luY2x1ZGUg PHhlbi93YXJuaW5nLmg+CiAKKyNpbmNsdWRlIDxhc20vY3B1aWQuaD4KICNpbmNsdWRlIDxhc20v bWljcm9jb2RlLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNz b3IuaD4KQEAgLTUwLDYgKzUxLDcgQEAgYm9vbCBfX3JlYWRfbW9zdGx5IG9wdF9pYnBiID0gdHJ1 ZTsKIGJvb2wgX19yZWFkX21vc3RseSBvcHRfc3NiZCA9IGZhbHNlOwogaW50OF90IF9fcmVhZF9t b3N0bHkgb3B0X2VhZ2VyX2ZwdSA9IC0xOwogaW50OF90IF9fcmVhZF9tb3N0bHkgb3B0X2wxZF9m bHVzaCA9IC0xOworaW50OF90IF9fcmVhZF9tb3N0bHkgb3B0X2wxdGZfYmFycmllciA9IC0xOwog CiBib29sIF9faW5pdGRhdGEgYnNwX2RlbGF5X3NwZWNfY3RybDsKIHVpbnQ4X3QgX19yZWFkX21v c3RseSBkZWZhdWx0X3hlbl9zcGVjX2N0cmw7CkBAIC05MSw2ICs5Myw4IEBAIHN0YXRpYyBpbnQg X19pbml0IHBhcnNlX3NwZWNfY3RybChjb25zdCBjaGFyICpzKQogICAgICAgICAgICAgaWYgKCBv cHRfcHZfbDF0Zl9kb211IDwgMCApCiAgICAgICAgICAgICAgICAgb3B0X3B2X2wxdGZfZG9tdSA9 IDA7CiAKKyAgICAgICAgICAgIG9wdF9sMXRmX2JhcnJpZXIgPSAwOworCiAgICAgICAgIGRpc2Fi bGVfY29tbW9uOgogICAgICAgICAgICAgb3B0X3JzYl9wdiA9IGZhbHNlOwogICAgICAgICAgICAg b3B0X3JzYl9odm0gPSBmYWxzZTsKQEAgLTE1Nyw2ICsxNjEsOCBAQCBzdGF0aWMgaW50IF9faW5p dCBwYXJzZV9zcGVjX2N0cmwoY29uc3QgY2hhciAqcykKICAgICAgICAgICAgIG9wdF9lYWdlcl9m cHUgPSB2YWw7CiAgICAgICAgIGVsc2UgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigibDFkLWZs dXNoIiwgcywgc3MpKSA+PSAwICkKICAgICAgICAgICAgIG9wdF9sMWRfZmx1c2ggPSB2YWw7Cisg ICAgICAgIGVsc2UgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigibDF0Zi1iYXJyaWVyIiwgcywg c3MpKSA+PSAwICkKKyAgICAgICAgICAgIG9wdF9sMXRmX2JhcnJpZXIgPSB2YWw7CiAgICAgICAg IGVsc2UKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKIApAQCAtMjQ4LDcgKzI1NCw3IEBAIHN0 YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVudW0gaW5kX3RodW5rIHRodW5rLCB1aW50 NjRfdCBjYXBzKQogICAgICAgICAgICAgICAgIlxuIik7CiAKICAgICAvKiBTZXR0aW5ncyBmb3Ig WGVuJ3MgcHJvdGVjdGlvbiwgaXJyZXNwZWN0aXZlIG9mIGd1ZXN0cy4gKi8KLSAgICBwcmludGso IiAgWGVuIHNldHRpbmdzOiBCVEktVGh1bmsgJXMsIFNQRUNfQ1RSTDogJXMlcywgT3RoZXI6JXMl c1xuIiwKKyAgICBwcmludGsoIiAgWGVuIHNldHRpbmdzOiBCVEktVGh1bmsgJXMsIFNQRUNfQ1RS TDogJXMlcywgT3RoZXI6JXMlcyVzXG4iLAogICAgICAgICAgICB0aHVuayA9PSBUSFVOS19OT05F ICAgICAgPyAiTi9BIiA6CiAgICAgICAgICAgIHRodW5rID09IFRIVU5LX1JFVFBPTElORSA/ICJS RVRQT0xJTkUiIDoKICAgICAgICAgICAgdGh1bmsgPT0gVEhVTktfTEZFTkNFICAgID8gIkxGRU5D RSIgOgpAQCAtMjU4LDcgKzI2NCw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxz KGVudW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAgICAgICAhYm9vdF9j cHVfaGFzKFg4Nl9GRUFUVVJFX1NTQkQpICAgICAgICAgICA/ICIiIDoKICAgICAgICAgICAgKGRl ZmF1bHRfeGVuX3NwZWNfY3RybCAmIFNQRUNfQ1RSTF9TU0JEKSAgPyAiIFNTQkQrIiA6ICIgU1NC RC0iLAogICAgICAgICAgICBvcHRfaWJwYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA/ICIgSUJQQiIgIDogIiIsCi0gICAgICAgICAgIG9wdF9sMWRfZmx1c2ggICAgICAgICAgICAg ICAgICAgICAgICAgICAgID8gIiBMMURfRkxVU0giIDogIiIpOworICAgICAgICAgICBvcHRfbDFk X2ZsdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgTDFEX0ZMVVNIIiA6ICIiLAor ICAgICAgICAgICBvcHRfbDF0Zl9iYXJyaWVyICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIg TDFURl9CQVJSSUVSIiA6ICIiKTsKIAogICAgIC8qIEwxVEYgZGlhZ25vc3RpY3MsIHByaW50ZWQg aWYgdnVsbmVyYWJsZSBvciBQViBzaGFkb3dpbmcgaXMgaW4gdXNlLiAqLwogICAgIGlmICggY3B1 X2hhc19idWdfbDF0ZiB8fCBvcHRfcHZfbDF0Zl9od2RvbSB8fCBvcHRfcHZfbDF0Zl9kb211ICkK QEAgLTg0Miw2ICs4NDksMTIgQEAgdm9pZCBfX2luaXQgaW5pdF9zcGVjdWxhdGlvbl9taXRpZ2F0 aW9ucyh2b2lkKQogICAgIGVsc2UgaWYgKCBvcHRfbDFkX2ZsdXNoID09IC0xICkKICAgICAgICAg b3B0X2wxZF9mbHVzaCA9IGNwdV9oYXNfYnVnX2wxdGYgJiYgIShjYXBzICYgQVJDSF9DQVBTX1NL SVBfTDFERkwpOwogCisgICAgLyogQnkgZGVmYXVsdCwgZW5hYmxlIEwxVEZfVlVMTiBvbiBMMVRG LXZ1bG5lcmFibGUgaGFyZHdhcmUgKi8KKyAgICBpZiAoIG9wdF9sMXRmX2JhcnJpZXIgPT0gLTEg KQorICAgICAgICBvcHRfbDF0Zl9iYXJyaWVyID0gY3B1X2hhc19idWdfbDF0ZiAmJiAob3B0X3Nt dCAhPSAwIHx8IG9wdF9sMWRfZmx1c2ggPT0gMCk7CisgICAgaWYgKCBvcHRfbDF0Zl9iYXJyaWVy ID4gMCApCisgICAgICAgIHNldHVwX2ZvcmNlX2NwdV9jYXAoWDg2X0ZFQVRVUkVfU0NfTDFURl9W VUxOKTsKKwogICAgIC8qCiAgICAgICogV2UgZG8gbm90IGRpc2FibGUgSFQgYnkgZGVmYXVsdCBv biBhZmZlY3RlZCBoYXJkd2FyZS4KICAgICAgKgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9jcHVmZWF0dXJlcy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCi0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZXMuaAorKysgYi94ZW4vaW5jbHVkZS9h c20teDg2L2NwdWZlYXR1cmVzLmgKQEAgLTI1LDYgKzI1LDcgQEAgWEVOX0NQVUZFQVRVUkUoWEVO X1NNQVAsICAgICAgICAoRlNDQVBJTlRTKzApKjMyKzExKSAvKiBTTUFQIGdldHMgdXNlZCBieSBY ZW4gaXQKIFhFTl9DUFVGRUFUVVJFKExGRU5DRV9ESVNQQVRDSCwgKEZTQ0FQSU5UUyswKSozMisx MikgLyogbGZlbmNlIHNldCBhcyBEaXNwYXRjaCBTZXJpYWxpc2luZyAqLwogWEVOX0NQVUZFQVRV UkUoSU5EX1RIVU5LX0xGRU5DRSwoRlNDQVBJTlRTKzApKjMyKzEzKSAvKiBVc2UgSU5EX1RIVU5L X0xGRU5DRSAqLwogWEVOX0NQVUZFQVRVUkUoSU5EX1RIVU5LX0pNUCwgICAoRlNDQVBJTlRTKzAp KjMyKzE0KSAvKiBVc2UgSU5EX1RIVU5LX0pNUCAqLworWEVOX0NQVUZFQVRVUkUoU0NfTDFURl9W VUxOLCAgICAoRlNDQVBJTlRTKzApKjMyKzE1KSAvKiBMMVRGIHByb3RlY3Rpb24gcmVxdWlyZWQg Ki8KIFhFTl9DUFVGRUFUVVJFKFNDX01TUl9QViwgICAgICAgKEZTQ0FQSU5UUyswKSozMisxNikg LyogTVNSX1NQRUNfQ1RSTCB1c2VkIGJ5IFhlbiBmb3IgUFYgKi8KIFhFTl9DUFVGRUFUVVJFKFND X01TUl9IVk0sICAgICAgKEZTQ0FQSU5UUyswKSozMisxNykgLyogTVNSX1NQRUNfQ1RSTCB1c2Vk IGJ5IFhlbiBmb3IgSFZNICovCiBYRU5fQ1BVRkVBVFVSRShTQ19SU0JfUFYsICAgICAgIChGU0NB UElOVFMrMCkqMzIrMTgpIC8qIFJTQiBvdmVyd3JpdGUgbmVlZGVkIGZvciBQViAqLwpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaCBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvc3BlY19jdHJsLmgKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaAorKysg Yi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybC5oCkBAIC0zNyw2ICszNyw3IEBAIGV4dGVy biBib29sIG9wdF9pYnBiOwogZXh0ZXJuIGJvb2wgb3B0X3NzYmQ7CiBleHRlcm4gaW50OF90IG9w dF9lYWdlcl9mcHU7CiBleHRlcm4gaW50OF90IG9wdF9sMWRfZmx1c2g7CitleHRlcm4gaW50OF90 IG9wdF9sMXRmX2JhcnJpZXI7CiAKIGV4dGVybiBib29sIGJzcF9kZWxheV9zcGVjX2N0cmw7CiBl eHRlcm4gdWludDhfdCBkZWZhdWx0X3hlbl9zcGVjX2N0cmw7Ci0tIAoyLjcuNAoKCgoKQW1hem9u IERldmVsb3BtZW50IENlbnRlciBHZXJtYW55IEdtYkgKS3JhdXNlbnN0ci4gMzgKMTAxMTcgQmVy bGluCkdlc2NoYWVmdHNmdWVocmVyOiBDaHJpc3RpYW4gU2NobGFlZ2VyLCBSYWxmIEhlcmJyaWNo ClVzdC1JRDogREUgMjg5IDIzNyA4NzkKRWluZ2V0cmFnZW4gYW0gQW10c2dlcmljaHQgQ2hhcmxv dHRlbmJ1cmcgSFJCIDE0OTE3MyBCCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=