From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 00/27 v10] SBSA UART emulation support in Xen Date: Fri, 22 Sep 2017 13:52:59 +0530 Message-ID: <1506068606-17066-1-git-send-email-bhupinder.thakur@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvJFK-0003c6-En for xen-devel@lists.xenproject.org; Fri, 22 Sep 2017 08:23:38 +0000 Received: by mail-pg0-f45.google.com with SMTP id b11so238064pgn.12 for ; Fri, 22 Sep 2017 01:23:35 -0700 (PDT) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Andre Przywara List-Id: xen-devel@lists.xenproject.org U0JTQSBVQVJUIGVtdWxhdGlvbiBmb3IgZ3Vlc3RzIGluIFhlbgo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQpMaW5hcm8gaGFzIHB1Ymxpc2hlZCBWTSBTeXN0ZW0gc3BlY2lm aWNhdGlvbiBmb3IgQVJNIFByb2Nlc3NvcnMsIHdoaWNoCnByb3ZpZGVzIGEgc2V0IG9mIGd1aWRl bGluZXMgZm9yIGJvdGggZ3Vlc3QgT1MgYW5kIGh5cGVydmlzb3IgaW1wbGVtZW50YXRpb25zLCAK c3VjaCB0aGF0IGJ1aWxkaW5nIE9TIGltYWdlcyBhY2NvcmRpbmcgdG8gdGhlc2UgZ3VpZGVsaW5l cyBndWFyYW50ZWVzCnRoYXQgdGhvc2UgaW1hZ2VzIGNhbiBhbHNvIHJ1biBvbiBoeXBlcnZpc29y cyBjb21wbGlhbnQgd2l0aCB0aGlzIHNwZWNpZmljYXRpb24uCgpPbmUgb2YgdGhlIHNwZWMgcmVx dWlyZW1lbnRzIGlzIHRoYXQgdGhlIGh5cGVydmlzb3IgbXVzdCBwcm92aWRlIGFuCmVtdWxhdGVk IFNCU0EgVUFSVCBhcyBhIHNlcmlhbCBjb25zb2xlIHdoaWNoIG1lZXRzIHRoZSBtaW5pbXVtIHJl cXVpcmVtZW50cyBpbiAKU0JTQSBVQVJUIGFzIGRlZmluZWQgaW4gYXBwZW5kaXggQiBvZiB0aGUg Zm9sbG93aW5nIApBUk0gU2VydmVyIEJhc2UgQXJjaGl0ZWN0dXJlIERvY3VtZW50OgoKaHR0cHM6 Ly9zdGF0aWMuZG9jcy5hcm0uY29tL2RlbjAwMjkvYS9TZXJ2ZXJfQmFzZV9TeXN0ZW1fQXJjaGl0 ZWN0dXJlX3YzXzFfQVJNX0RFTl8wMDI5QS5wZGYuCgpUaGlzIGZlYXR1cmUgYWxsb3dzIHRoZSBY ZW4gZ3Vlc3RzIHRvIHVzZSBTQlNBIGNvbXBsaWFudCBVQVJUIGFzIAphcyBhIGNvbnNvbGUuIAoK Tm90ZSB0aGF0IFNCU0EgVUFSVCBpcyBhIHN1YnNldCBvZiBmdWxsIGZlYXR1cmVkIEFSTSBwbDAx MSBVQVJUIGFuZApzdXBwb3J0cyBvbmx5IGEgc3Vic2V0IG9mIHJlZ2lzdGVycyBhcyBtZW50aW9u ZWQgYmVsb3cuIEl0IGRvZXMgbm90IHN1cHBvcnQKcngvdHggRE1BLgoKQ3VycmVudGx5LCBYZW4g c3VwcG9ydHMgcGFyYXZpcnR1YWxpemVkIChha2EgUFYgY29uc29sZSkgYW5kIGFuIGVtdWxhdGVk IHNlcmlhbCAKY29uc29sZXMuIFRoaXMgZmVhdHVyZSB3aWxsIGV4cG9zZSBhbiBlbXVsYXRlZCBT QlNBIFVBUlQgY29uc29sZSB0byB0aGUKZ3Vlc3QsIHdoaWNoIGEgdXNlciBjYW4gYWNjZXNzIHVz aW5nIHhlbmNvbnNvbGUuCgpUaGUgZGV2aWNlIHRyZWUgcGFzc2VkIHRvIHRoZSBndWVzdCBWTSB3 aWxsIGNvbnRhaW4gdGhlIFNCU0EgVUFSVCBNTUlPIGFkZHJlc3MgCnJhbmdlIGFuZCBhbiBpcnEg Zm9yIHJlY2VpdmluZyByeC90eCBpbnRlcnJ1cHRzLiBUaGUgZGV2aWNlIHRyZWUgZm9ybWF0IApp cyBzcGVjaWZpZWQgaW4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NlcmlhbC9h cm1fc2JzYV91YXJ0LnR4dC4KClRoZSBYZW4gaHlwZXJ2aXNvciB3aWxsIGV4cG9zZSB0d28gdHlw ZXMgb2YgaW50ZXJmYWNlcyB0byB0aGUgYmFja2VuZCBhbmQgZG9tVS4gCgpUaGUgaW50ZXJmYWNl IGV4cG9zZWQgdG8gZG9tVSB3aWxsIGJlIGFuIGVtdWxhdGVkIFNCU0EgVUFSVCBieSBlbXVsYXRp bmcgdGhlIAphY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyByZWdpc3RlcnMgYnkgdGhlIGd1ZXN0LgoK LSBEYXRhIHJlZ2lzdGVyIChEUikgICAgICAgICAgICAtIFJXCi0gUmF3IGludGVycnVwdCBzdGF0 dXMgcmVnaXN0ZXIgKFJJUykgICAtIFJPCi0gTWFza2VkIGludGVycnVwdCBzdGF0dXMgcmVnaXN0 ZXIgKE1JUyktIFJPCi0gSW50ZXJydXB0IE1hc2sgKElNU0MpICAgICAgICAgLSBSVwotIEludGVy cnVwdCBDbGVhciAoSUNSKSAgICAgICAgIC0gV08KCkl0IHdpbGwgYWxzbyBpbmplY3QgdGhlIGlu dGVycnVwdHMgdG8gdGhlIGd1ZXN0IGluIHRoZSBmb2xsb3dpbmcgCmNvbmRpdGlvbnM6CgotIGlu Y29taW5nIGRhdGEgaW4gdGhlIHJ4IGJ1ZmZlciBmb3IgdGhlIGd1ZXN0Ci0gdGhlcmUgaXMgc3Bh Y2UgaW4gdGhlIHR4IGJ1ZmZlciBmb3IgdGhlIGd1ZXN0IHRvIHdyaXRlIG1vcmUgZGF0YQoKVGhl IGludGVyZmFjZSBleHBvc2VkIHRvIHRoZSBiYWNrZW5kIHdpbGwgYmUgdGhlIHNhbWUgUFYgY29u c29sZSBpbnRlcmZhY2UsIAp3aGljaCBtaW5pbWl6ZXMgdGhlIGNoYW5nZXMgcmVxdWlyZWQgaW4g eGVuY29uc29sZSB0byBzdXBwb3J0IGEgbmV3IFNCU0EgVUFSVApjb25zb2xlLgoKVGhpcyBpbnRl cmZhY2UgaGFzIHJ4IGFuZCB0eCByaW5nIGJ1ZmZlcnMgYW5kIGFuIGV2ZW50IGNoYW5uZWwgZm9y IApzZW5kaW5nL3JlY2VpdmluZyBldmVudHMgZnJvbSB0aGUgYmFja2VuZC4gCgpTbyBlc3NlbnRp YWxseSBYZW4gaGFuZGxlcyB0aGUgZGF0YSBvbiBiZWhhbGYgb2YgZG9tVSBhbmQgdGhlIGJhY2tl bmQuIEFueSBkYXRhIAp3cml0dGVuIGJ5IGRvbVUgaXMgY2FwdHVyZWQgYnkgWGVuIGFuZCB3cml0 dGVuIHRvIHRoZSBUWCAoT1VUKSByaW5nIGJ1ZmZlciAKYW5kIGFuIGV2ZW50IGlzIHJhaXNlZCB0 byB0aGUgYmFja2VuZCB0byByZWFkIHRoZSBUWCByaW5nIGJ1ZmZlci4KIApTaW1pbGFybHkgb24g cmVjaXZpbmcgYW4gZXZlbnQgZnJvbSB4ZW5jb25zb2xlLCBYZW4gaW5qZWN0cyBhbiBpbnRlcnJ1 cHQgdG8gZ3Vlc3QgdG8KaW5kaWNhdGUgdGhlcmUgaXMgZGF0YSBhdmFpbGFibGUgaW4gdGhlIFJY IChJTikgcmluZyBidWZmZXIuCgpUaGUgU0JTQSBVQVJUIHN0YXRlIGlzIGNvbXBsZXRlbHkgY2Fw dHVyZWQgaW4gdGhlIHNldCBvZiByZWdpc3RlcnMgCm1lbnRpb25lZCBhYm92ZSBhbmQgdGhpcyBz dGF0ZSBpcyB1cGRhdGVkIGV2ZXJ5dGltZSB0aGVyZSBpcyBhbiBldmVudCBmcm9tIAp0aGUgYmFj a2VuZCBvciB0aGVyZSBpcyByZWdpc3RlciByZWFkL3dyaXRlIGFjY2VzcyBmcm9tIGRvbVUuIAoK Rm9yIGV4YW1wbGUsIGlmIGRvbVUgaGFzIG1hc2tlZCB0aGUgcnggaW50ZXJydXB0IGluIHRoZSBJ TVNDIHJlZ2lzdGVyLCB0aGVuIFhlbiAKd2lsbCBub3QgaW5qZWN0IGFuIGludGVycnVwdCB0byBn dWVzdCBhbmQgd2lsbCBqdXN0IHVwZGF0ZSB0aGUgUklTIHJlZ2lzdGVyLiAKT25jZSB0aGUgaW50 ZXJydXB0IGlzIHVubWFza2VkIGJ5IGd1ZXN0LCB0aGUgaW50ZXJydXB0IHdpbGwgYmUgZGVsaXZl cmVkIHRvIHRoZSAKZ3Vlc3QuCgpDaGFuZ2VzIHN1bW1hcnk6CgpYZW4gSHlwZXJ2aXNvcgo9PT09 PT09PT09PT09PT0KCjEuIEFkZCBlbXVsYXRpb24gY29kZSB0byBlbXVsYXRlIHJlYWQvd3JpdGUg YWNjZXNzIHRvIFNCU0EgVUFSVCByZWdpc3RlcnMgYW5kIAogICBpbnRlcnJ1cHRzOgogICAgLSBJ dCBlbXVsYXRlcyBEUiByZWFkL3dyaXRlIGJ5IHJlYWRpbmcgYW5kIHdyaXRpbmcgZnJvbS90byB0 aGUgSU4gYW5kIAogICAgICBPVVQgcmluZyBidWZmZXJzIGFuZCByYWlzaW5nIGFuIGV2ZW50IHRv IGRvbTAgd2hlbiB0aGVyZSBpcyBkYXRhIGluIAogICAgICB0aGUgT1VUIHJpbmcgYnVmZmVyIGFu ZCBpbmplY3RpbmcgYW4gaW50ZXJydXB0IHRvIHRoZSBndWVzdCB3aGVuIHRoZXJlIAogICAgICBp cyBkYXRhIGluIHRoZSBJTiByaW5nIGJ1ZmZlci4KICAgIC0gT3RoZXIgcmVnaXN0ZXJzIGFyZSBy ZWxhdGVkIHRvIGludGVycnVwdCBtYW5hZ2VtZW50IGFuZCBlc3NlbnRpYWxseSAKICAgICAgY29u dHJvbCB3aGVuIGludGVycnVwdHMgYXJlIGRlbGl2ZXJlZCB0byB0aGUgZ3Vlc3QuCgoyLiBBZGQg YSBuZXcgZG9tY3RsIEFQSSB0byBpbml0aWFsaXplIFNCU0EgVUFSVCBlbXVsYXRpb24gaW4gWGVu LgoKMy4gRW5hYmxlIFNCU0EgVUFSVCBlbXVsYXRpb24gZm9yIGEgZG9tYWluIGJhc2VkIG9uIGEg bGlieGwgb3B0aW9uIHBhc3NlZCBkdXJpbmcgCiAgIGRvbWFpbiBjcmVhdGlvbi4KClRvb2xzdGFj awo9PT09PT09PT09CgoxLiBBZGQgYSBuZXcgb3B0aW9uICJ2dWFydCIgaW4gdGhlIGRvbVUgY29u ZmlndXJhdGlvbiBmaWxlIHRvIGVuYWJsZS9kaXNhYmxlIHZ1YXJ0LgoKMi4gQ3JlYXRlIGEgU0JT QSBVQVJUIERUIG5vZGUgaW4gdGhlIGd1ZXN0IGRldmljZSB0cmVlLiBJdCB1c2VzIGEgZml4ZWQK ICAgU1BJIElSUSBudW1iZXIgYW5kIE1NSU8gYWRkcmVzcyByYW5nZSBmb3IgU0JTQSBVQVJULgoK My4gQ2FsbCB2dWFydCBpbml0IERPTUNUTCBBUEkgdG8gZW5hYmxlIFNCU0EgVUFSVCBlbXVsYXRp b24uCgo1LiBBZGQgYSBuZXcgdnVhcnQgeGVuc3RvcmUgbm9kZSwgd2hpY2ggY29udGFpbnM6CiAg ICAtIHJpbmctcmVmCiAgICAtIGV2ZW50IGNoYW5uZWwKICAgIC0gYnVmZmVyIGxpbWl0CiAgICAt IHR5cGUKClhlbmNvbnNvbGVkCj09PT09PT09PT09PQoKMS4gU3BsaXQgdGhlIGRvbWFpbiBzdHJ1 Y3R1cmUgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb25zb2xlcy4KCjIuIE1vZGlmeSBkaWZmZXJlbnQg QVBJcyBzdWNoIGFzIGJ1ZmZlcl9hcHBlbmQoKSBldGMuIHRvIG9wZXJhdGUgb24gdGhlIAogICBj b25zb2xlIHN0cnVjdHVyZS4KICAgCjMuIEFkZCBzdXBwb3J0IGZvciBoYW5kbGluZyBtdWx0aXBs ZSBjb25zb2xlcy4KCjQuIEFkZCBzdXBwb3J0IGZvciB2dWFydCBjb25zb2xlOgoKVGhlIHZwbDAx MSBjaGFuZ2VzIGF2YWlsYWJsZSBhdCB0aGUgZm9sbG93aW5nIHJlcG86Cgp1cmw6IGh0dHBzOi8v Z2l0QGdpdC5saW5hcm8ub3JnOi9wZW9wbGUvYmh1cGluZGVyLnRoYWt1ci94ZW4uZ2l0CmJyYW5j aDogdnBsMDExX3YxMAoKVGhlcmUgYXJlIHNvbWUgVEJEIGl0ZW1zIHdoaWNoIG5lZWQgdG8gYmUg bG9va2VkIGF0IGluIHRoZSBmdXR1cmU6CgoxLiBDdXJyZW50bHkgVUVGSSBmaXJtd2FyZSBsb2dz IHRoZSBvdXRwdXQgdG8gaHZjIGNvbnNvbGUgb25seS4gSG93IGNhbiAKICAgVUVGSSBmaXJtd2Fy ZSBiZSBtYWRlIGF3YXJlIG9mIHBsMDExIGNvbnNvbGUgYW5kIGhvdyBpdCBjYW4gdXNlIGl0CiAg IGFzIGEgY29uc29sZSBpbnN0ZWFkIG9mIGh2Yy4KCiAgIFRoZXJlIHdhcyBhIGRpc2N1c3Npb24g b24gdGhpcyBhbmQgaXQgd2FzIGRlY2lkZWQgdGhhdCBTQlNBIFVBUlQgc2hvdWxkIAogICBiZSB1 c2VkIGFzIGEgZGVidWcgcG9ydCBieSB0aGUgVUVGSSBmaXJtd2FyZSBzbyB0aGF0IGFsbCBkZWJ1 ZyBvdXRwdXQKICAgaXMgcmVkaXJlY3RlZCB0byB0aGlzIHBvcnQuCgoyLiBMaW51eCBzZWVtcyB0 byBoYXZlIGh2YyBjb25zb2xlIGFzIHRoZSBkZWZhdWx0IGNvbnNvbGUgaS5lLiBpZiBubwogICBj b25zb2xlIGlzIHNwZWNpZmllZCB0aGVuIGl0IHVzZXMgaHZjIGFzIHRoZSBjb25zb2xlLiBIb3cg Y2FuIGFuIAogICBvcHRpb24gYmUgcHJvdmlkZWQgaW4gTGludXggdG8gc2VsZWN0IGVpdGhlciBo dmMgb3IgcGwwMTEgYXMgdGhlIAogICBkZWZhdWx0IGNvbnNvbGUuCgogICBJdCB3YXMgc3VnZ2V0 ZWQgdG8gdXNlIHRoZSBTUENSIGluIEFDUEkgYW5kIHRoZSBzdGRvdXQtcGF0aCBvcHRpb24gaW4g dGhlCiAgIGRldmljZSB0cmVlIHRvIHNwZWNpZnkgdGhlIGRlZmF1bHQgY29uc29sZS4gSG93ZXZl ciwgY3VycmVudGx5IGh2YyBjb25zb2xlCiAgIGlzIG5vdCBkZXNjcmliYWJsZSBpbiB0aGUgQUNQ SS9kZXZpY2UgdHJlZS4gVGhpcyBzdXBwb3J0IHdpbGwgaGF2ZSB0byBiZQogICBhZGRlZCB0byBh bGxvdyB0aGUgdXNlciB0byBzcGVjaWZ5IHRoZSBkZWZhdWx0IGNvbnNvbGUuCgozLiBBQ1BJIHN1 cHBvcnQgZm9yIHBsMDExIGRldmljZS4KCkNDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVy M0BjaXRyaXguY29tPgpDQzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5jaXRyaXgu Y29tPgpDQzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNDOiBKYW4g QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNDOiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtv bnJhZC53aWxrQG9yYWNsZS5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5p QGtlcm5lbC5vcmc+CkNDOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KQ0M6IFdlaSBMaXUgPHdl aS5saXUyQGNpdHJpeC5jb20+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29t PgpDQzogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+CgoKQmh1cGluZGVy IFRoYWt1ciAoMjcpOgogIHhlbi9hcm06IHZwbDAxMTogRGVmaW5lIGNvbW1vbiByaW5nIGJ1ZmZl ciBoZWxwZXIgZnVuY3Rpb25zIGluCiAgICBjb25zb2xlLmgKICB4ZW4vYXJtOiB2cGwwMTE6IEFk ZCBTQlNBIFVBUlQgZW11bGF0aW9uIGluIFhlbgogIHhlbi9hcm06IHZwbDAxMTogQWxsb2NhdGUg YSBuZXcgR0ZOIGluIHRoZSB0b29sc3RhY2sgZm9yIHZ1YXJ0CiAgeGVuL2FybTogdnBsMDExOiBB ZGQgc3VwcG9ydCBmb3IgdnVhcnQgaW4gbGlieGwKICB4ZW4vYXJtOiB2cGwwMTE6IFJlYXJyYW5n ZSB4ZW4gaGVhZGVyIGluY2x1ZGVzIGluIGFscGhhYmV0aWNhbCBvcmRlcgogICAgaW4gZG9tY3Rs LmMKICB4ZW4vYXJtOiB2cGwwMTE6IEFkZCBhIG5ldyBkb21jdGwgQVBJIHRvIGluaXRpYWxpemUg dnBsMDExCiAgeGVuL2FybTogdnBsMDExOiBBZGQgYSBuZXcgdnVhcnQgbm9kZSBpbiB0aGUgeGVu c3RvcmUKICB4ZW4vYXJtOiB2cGwwMTE6IE1vZGlmeSB4ZW5jb25zb2xlIHRvIGRlZmluZSBhbmQg dXNlIGEgbmV3IGNvbnNvbGUgICAgCiAgICBzdHJ1Y3R1cmUKICB4ZW4vYXJtOiB2cGwwMTE6IFJl bmFtZSB0aGUgY29uc29sZSBzdHJ1Y3R1cmUgZmllbGQgY29uc3BhdGggdG8geHNwYXRoCiAgeGVu L2FybTogdnBsMDExOiBNb2RpZnkgeGVuY29uc29sZSBmdW5jdGlvbnMgdG8gdGFrZSBjb25zb2xl IHN0cnVjdHVyZQogICAgYXMgaW5wdXQKICB4ZW4vYXJtOiB2cGwwMTE6IEFkZCBhIG5ldyBjb25z b2xlX2luaXQgZnVuY3Rpb24gaW4geGVuY29uc29sZQogIHhlbi9hcm06IHZwbDAxMTogQWRkIGEg bmV3IGJ1ZmZlcl9hdmFpbGFibGUgZnVuY3Rpb24gaW4geGVuY29uc29sZQogIHhlbi9hcm06IHZw bDAxMTogQWRkIGEgbmV3IG1heWJlX2FkZF9jb25zb2xlX2V2dGNobl9mZCBmdW5jdGlvbiBpbgog ICAgeGVuY29uc29sZQogIHhlbi9hcm06IHZwbDAxMTogQWRkIGEgbmV3IG1heWJlX2FkZF9jb25z b2xlX3R0eV9mZCBmdW5jdGlvbiBpbgogICAgeGVuY29uc29sZQogIHhlbi9hcm06IHZwbDAxMTog QWRkIGEgbmV3IGNvbnNvbGVfZXZ0Y2huX3VubWFzayBmdW5jdGlvbiBpbgogICAgeGVuY29uc29s ZQogIHhlbi9hcm06IHZwbDAxMTogQWRkIGEgbmV3IGhhbmRsZV9jb25zb2xlX3JpbmcgZnVuY3Rp b24gaW4geGVuY29uc29sZQogIHhlbi9hcm06IHZwbDAxMTogQWRkIGEgbmV3IGhhbmRsZV9jb25z b2xlX3R0eSBmdW5jdGlvbiBpbiB4ZW5jb25zb2xlCiAgeGVuL2FybTogdnBsMDExOiBBZGQgYSBu ZXcgY29uc29sZV9jbGVhbnVwIGZ1bmN0aW9uIGluIHhlbmNvbnNvbGUKICB4ZW4vYXJtOiB2cGww MTE6IEFkZCBhIG5ldyBjb25zb2xlX29wZW5fbG9nIGZ1bmN0aW9uIGluIHhlbmNvbnNvbGUKICB4 ZW4vYXJtOiB2cGwwMTE6IEFkZCBhIG5ldyBjb25zb2xlX2Nsb3NlX2V2dGNobiBmdW5jdGlvbiBp biB4ZW5jb25zb2xlCiAgeGVuL2FybTogdnBsMDExOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUg Y29uc29sZXMgaW4geGVuY29uc29sZQogIHhlbi9hcm06IHZwbDAxMTogQWRkIHN1cHBvcnQgZm9y IHZ1YXJ0IGNvbnNvbGUgaW4geGVuY29uc29sZQogIHhlbi9hcm06IHZwbDAxMTogQWRkIGEgbmV3 IHZ1YXJ0IGNvbnNvbGUgdHlwZSB0byB4ZW5jb25zb2xlIGNsaWVudAogIHhlbi9hcm06IHZwbDAx MTogQWRkIGEgcGwwMTEgdWFydCBEVCBub2RlIGluIHRoZSBndWVzdCBkZXZpY2UgdHJlZQogIHhl bi9hcm06IHZwbDAxMTogVXBkYXRlIGRvY3VtZW50YXRpb24gZm9yIHZ1YXJ0IGNvbnNvbGUgc3Vw cG9ydAogIHhlbi9hcm06IHZwbDAxMTogRml4IHRoZSBzbG93IGVhcmx5IGNvbnNvbGUgU0JTQSBV QVJUIG91dHB1dAogIHhlbi9hcm06IHZwbDAxMTogQ29ycmVjdCB0aGUgbG9naWMgZm9yIGFzc2Vy dGluZy9kZS1hc3NlcnRpbmcgU0JTQQogICAgVUFSVCBUWCBpbnRlcnJ1cHQKCiBkb2NzL21hbi94 bC5jZmcucG9kLjUuaW4gICAgICAgICAgICAgfCAgMTIgKwogZG9jcy9taXNjL2NvbnNvbGUudHh0 ICAgICAgICAgICAgICAgIHwgIDQ0ICsrLQogdG9vbHMvY29uc29sZS9NYWtlZmlsZSAgICAgICAg ICAgICAgIHwgICAzICstCiB0b29scy9jb25zb2xlL2NsaWVudC9tYWluLmMgICAgICAgICAgfCAg MTMgKy0KIHRvb2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMgICAgICAgICAgICB8IDY2MSArKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20u aCAgICAgICAgIHwgICAyICsKIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAgICAgICB8 ICAyMCArKwogdG9vbHMvbGlieGMveGNfZG9tX2FybS5jICAgICAgICAgICAgIHwgICA1ICstCiB0 b29scy9saWJ4Yy94Y19kb21fYm9vdC5jICAgICAgICAgICAgfCAgIDIgKwogdG9vbHMvbGlieGMv eGNfZG9tYWluLmMgICAgICAgICAgICAgIHwgIDI3ICsrCiB0b29scy9saWJ4bC9saWJ4bC5oICAg ICAgICAgICAgICAgICAgfCAgIDcgKwogdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oICAgICAgICAg ICAgIHwgICA3ICsKIHRvb2xzL2xpYnhsL2xpYnhsX2FybS5jICAgICAgICAgICAgICB8ICA4OSAr KysrKwogdG9vbHMvbGlieGwvbGlieGxfY29uc29sZS5jICAgICAgICAgIHwgIDQ3ICsrKwogdG9v bHMvbGlieGwvbGlieGxfY3JlYXRlLmMgICAgICAgICAgIHwgICA5ICstCiB0b29scy9saWJ4bC9s aWJ4bF9kZXZpY2UuYyAgICAgICAgICAgfCAgIDkgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5j ICAgICAgICAgICAgICB8ICAgNSArCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgICAg ICAgfCAgIDYgKwogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgICAgIHwgICA3ICsK IHRvb2xzL2xpYnhsL2xpYnhsX3R5cGVzX2ludGVybmFsLmlkbCB8ICAgMSArCiB0b29scy9saWJ4 bC9saWJ4bF94ODYuYyAgICAgICAgICAgICAgfCAgIDggKwogdG9vbHMveGwveGxfY21kdGFibGUu YyAgICAgICAgICAgICAgIHwgICAyICstCiB0b29scy94bC94bF9jb25zb2xlLmMgICAgICAgICAg ICAgICAgfCAgIDUgKy0KIHRvb2xzL3hsL3hsX3BhcnNlLmMgICAgICAgICAgICAgICAgICB8ICAg OCArCiB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAgICAgICAgICAgICAgfCAgIDcgKwogeGVuL2Fy Y2gvYXJtL01ha2VmaWxlICAgICAgICAgICAgICAgIHwgICAxICsKIHhlbi9hcmNoL2FybS9kb21h aW4uYyAgICAgICAgICAgICAgICB8ICAgNiArCiB4ZW4vYXJjaC9hcm0vZG9tY3RsLmMgICAgICAg ICAgICAgICAgfCAgNTggKystCiB4ZW4vYXJjaC9hcm0vdnBsMDExLmMgICAgICAgICAgICAgICAg fCA0OTYgKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS1hcm0vZG9t YWluLmggICAgICAgICB8ICAgNiArCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3BsMDExLXVhcnQuaCAg ICAgfCAgIDIgKwogeGVuL2luY2x1ZGUvYXNtLWFybS92cGwwMTEuaCAgICAgICAgIHwgIDc0ICsr KysKIHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oICAgICAgICB8ICAgNiArCiB4ZW4vaW5j bHVkZS9wdWJsaWMvZG9tY3RsLmggICAgICAgICAgfCAgMjYgKysKIHhlbi9pbmNsdWRlL3B1Ymxp Yy9pby9jb25zb2xlLmggICAgICB8ICAgNCArCiAzNSBmaWxlcyBjaGFuZ2VkLCAxNDQ0IGluc2Vy dGlvbnMoKyksIDI0MSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC9h cm0vdnBsMDExLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9hc20tYXJtL3ZwbDAx MS5oCgotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK