From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v6] xSplice v1 design and implementation. Date: Wed, 6 Apr 2016 23:49:19 -0400 Message-ID: <1460000983-28170-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ao0xJ-0004ev-KJ for xen-devel@lists.xenproject.org; Thu, 07 Apr 2016 03:50:05 +0000 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, konrad@kernel.org, ross.lagerwall@citrix.com, mpohlack@amazon.de, sasha.levin@oracle.com, andrew.cooper3@citrix.com List-Id: xen-devel@lists.xenproject.org SGV5IQoKQ2hhbmdlbG9nOgp2NTogaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94 ZW4tZGV2ZWwvMjAxNi0wMy9tc2cwMzI4Ni5odG1sCiAtIEFja2VkIG9uIEFMTCBjb21tZW50cyBm cm9tIEphbiwgbWVudGlvbmVkIHdoaWNoIG9uZXMgdGhpcyBvbmUKICAgZG9lcyBub3QgaGF2ZSAo cmFuIG91dCBvZiB0aW1lKS4KICAgIC0gdGVzdCBvbiA4IHNvY2tldCBtYWNoaW5lIHdpdGggdG9u cyBvZiBwYXRjaGVzCiAgICAtIGNoZWNrIHRoZSBFTEYgdHlwZXMsIG5vdCBqdXN0IHRoZSBuYW1l cywKICAgIC0gaW1wcm92ZSB0aGUgc3ltYm9sIGxvb2t1cCAtIGRvbid0IGRvIGxpbmVhciBsb29r dXAsCiAgICAtIGhhbmRsZSBtdWx0aXBsZSBzYW1lIHNlY3Rpb25zIChzYW1lIG5hbWVzKSBvciBt YXliZSBub3Q/CiAgICAtIHJlc29sdmUgd2hldGhlciBFTEYgTm90ZSBzaG91bGQgYmUgaW4gLm5v dGUgb3IgLnJvZGF0YSBieSBkZWZhdWx0CiAgICAtIGZpZ3VyZSBvdXQgd2h5IEVGSSBidWlsZCB3 aXRoIC0tYWxsLXN5bWJvbHMgc3Bld3MgZXJyb3JzCnY0OiBodHRwOi8vbGlzdHMueGVuLm9yZy9h cmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE2LTAzL21zZzAxNzc2Lmh0bWwKIC0gTG90cyBvZiBy ZXZpZXcuIExvdHMgb2YgcmV3b3JrLiBTb21lIHBhdGNoZXMgY2hlY2tlZCBpbi4KdjM6IGh0dHA6 Ly93d3cuZ29zc2FtZXItdGhyZWFkcy5jb20vbGlzdHMveGVuL2RldmVsLzQxODI2MgogICAgYW5k IAogICAgaHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVs LzIwMTYtMDIvbXNnMDQxMDYuaHRtbAogLSBBY3Qgb24gYWxsIHJldmlld3MuCiAtIFJlZG8gdGhl IGZsb3cgb2YgcGF0Y2hlcwp2MjogaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94 ZW4tZGV2ZWwvMjAxNi0wMS9tc2cwMTU5Ny5odG1sCiAtIFVwZGF0ZWQgY29kZS9kb2NzL2Rlc2ln biB3aXRoIHJldmlldyBjb21tZW50cy4KIC0gTWFrZSB4ZW4gYWxzbyBoYXZlIGFuIFBUX05PVEUK IC0gQWRkZWQgbW9yZSBvZiBSb3NzJ3MgcGF0Y2hlcwogLSBDb21iaW5lZCBidWlsZC1pZCBwYXRj aHNldCB3aXRoIHRoaXMuCihzaW5jZSB0aGUgUkZDIGFuZCB0aGUgU2VhdHRsZSBYZW4gcHJlc2Vu dGF0aW9uKQogLSBGaW5pc2hlZCBvZmYgc29tZSBvZiB0aGUgd29yayBhcm91bmQgdGhlIGJ1aWxk LWlkLgogLSBTZXR0bGVkIG9uIHRoZSBwcmVlbXB0aW9uIG1lY2hhbmlzbS4KIC0gQ2xlYW5lZCB0 aGUgcGF0Y2hlcyBhIGxvdCB1cCwgYnJva2UgdGhlbSB1cCB0byBlYXN5CiAgIHJldmlldyBmb3Ig bWFpbnRhaW5lcnMuCnYxOiBodHRwOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRt bC94ZW4tZGV2ZWwvMjAxNS0wOS9tc2cwMjExNi5odG1sCiAgLSBQdXQgYWxsIHRoZSBkZXNpZ24g Y29tbWVudHMgaW4gdGhlIGNvZGUKUHJvdG90eXBlOiBodHRwOi8vbGlzdHMueGVucHJvamVjdC5v cmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxNS0xMC9tc2cwMjU5NS5odG1sCltQb3N0aW5n IGJ5IFJvc3NdCiAtIFRvb2sgYWxsIHJldmlld3MgaW50byBhY2NvdW50LgogLSBSZWRpZCB0aGUg cGF0Y2hlcwoKCipUb29scyBNYWludGFpbmVycyoKCkFsbCBwYXRjaGVzIGFja2VkIGFuZCBoYXZl IG5vdCBjaGFuZ2VkIHNpbmNlIHY1IHBvc3RpbmcuCgoqSHlwZXJ2aXNvciBNYWludGFpbmVycyoK CkFsbCB0aGUgWFNNIHBhcnRzIGhhdmUgYmVlbiBBY2tlZC4KClRoZSBwYXRjaCByZWxhdGVkIHRv IFZFUlNJT05fYnVpbGRfaWQgaGFzIGJlZW4gQWNrZWQ6CiBIWVBFUkNBTExfdmVyc2lvbl9vcDog QWRkIFZFUlNJT05fYnVpbGRfaWQgdG8gcmV0cmlldmUgYnVpbGQtaWQuCgpUaGUgcmVzdCBvZiB0 aGUgcGF0Y2hlcyBuZWVkIEFja3MuCgpUaGVyZSBhcmUgdHdvIEFSTSByZWxhdGVkIHBhdGNoZXM6 CiAgYXJtL3g4NjogVXNlIHN0cnVjdCB2aXJ0dWFsX3JlZ2lvbiB0byBkbyBidWcsIHN5bWJvbCwg YW5kICh4ODYpIGV4Y2VwdGlvbiB0YWJsZXMgbG9va3VwLgogIGFybS94ODYvdm1hcDogQWRkIHZt YWxsb2NfdHlwZSBhbmQgdm1faW5pdF90eXBlCgpQYXRjaHNldCBoYXMgYmVlbiB0ZXN0ZWQgb24g QVJNICh0d2Vha2luZyB0aGUgS2NvbmZpZyB0byBidWlsZCB4U3BsaWNlIGFuZCB0aGVuCmJvb3Rp bmcgYW5kIHVzaW5nIGl0IHVuZGVyIEFSTSBDdWJpZVRydWNrKSwgQVJNNjQgKG9ubHkgYnVpbHQg aXQpLCBhbmQgeDg2CihsZWdhY3ksIG15IEVGSSBib3ggaGFzIGlzc3VlcykKCipXaGF0IGlzIHhT cGxpY2U/KgoKQSBtZWNoYW5pc20gdG8gYmluYXJpbHkgcGF0Y2ggdGhlIHJ1bm5pbmcgaHlwZXJ2 aXNvciB3aXRoIG5ldwpvcGNvZGVzIHRoYXQgaGF2ZSBjb21lIGFib3V0IGR1ZSB0byBwcmltYXJp bHkgc2VjdXJpdHkgdXBkYXRlcy4KCipXaGF0IHdpbGwgdGhpcyBwYXRjaHNldCBkbyBvbmNlIEkn dmUgaXQqCgpQYXRjaCB0aGUgaHlwZXJ2aXNvci4KCipXaHkgYXJlIHlvdSBlbWFpbGluZyBtZT8q CgpQbGVhc2UgcGxlYXNlIHJldmlldyBhcyBtYW55IHBhdGNoZXMgYXMgcG9zc2libGUuCgoqT0ss IHdoYXQgZG8geW91IGhhdmU/KgoKVGhleSBhcmUgbG9jYXRlZCBhdCBhIGdpdCB0cmVlOgogIGdp dDovL3hlbmJpdHMueGVuLm9yZy9wZW9wbGUva29ucmFkd2lsay94ZW4uZ2l0IHhzcGxpY2UudjYK CihDb3B5aW5nIGZyb20gUm9zcydzIGVtYWlsKToKCk11Y2ggb2YgdGhlIHdvcmsgaXMgaW1wbGVt ZW50aW5nIGEgYmFzaWMgdmVyc2lvbiBvZiB0aGUgTGludXgga2VybmVsIG1vZHVsZQpsb2FkZXIu IFRoZSBjb2RlOgoqIExvYWRpbmcgb2YgeFNwbGljZSBFTEYgcGF5bG9hZHMuCiogQ29weWluZyBh bGxvY2F0ZWQgc2VjdGlvbnMgaW50byBhIG5ldyBleGVjdXRhYmxlIHJlZ2lvbiBvZiBtZW1vcnku CiogUmVzb2x2aW5nIHN5bWJvbHMuCiogQXBwbHlpbmcgcmVsb2NhdGlvbnMuCiogUGF0Y2hpbmcg b2YgYWx0aW5zdHJ1Y3Rpb25zLgoqIFNwZWNpYWwgaGFuZGxpbmcgb2YgYnVnIGZyYW1lcyBhbmQg ZXhjZXB0aW9uIHRhYmxlcy4KKiBVbmxvYWRpbmcgb2YgeFNwbGljZSBFTEYgcGF5bG9hZHMuCiog Q29tcGlsaW5nIGEgc2FtcGxlIHhTcGxpY2UgRUxGIHBheWxvYWQKKiBSZXNvbHZpbmcgc3ltYm9s cwoqIFVzaW5nIGJ1aWxkLWlkIGRlcGVuZGVuY2llcwoqIFN1cHBvcnQgZm9yIHNoYWRvdyB2YXJp YWJsZSBmcmFtZXdvcmsKKiBTdXBwb3J0IGZvciBleGVjdXRpbmcgRUxGIHBheWxvYWQgZnVuY3Rp b25zIG9uIGxvYWQvdW5sb2FkLgoKVGhlIG90aGVyIG1haW4gYml0IG9mIHRoaXMgd29yayBpcyBh cHBseWluZyBhbmQgcmV2ZXJ0aW5nIHRoZSBwYXRjaGVzIHNhZmVseS4KQXMgaW1wbGVtZW50ZWQs IHRoZSBjb2RlIGlzIHBhdGNoZWQgd2l0aCBlYWNoIENQVSB3YWl0aW5nIGluIHRoZQpyZXR1cm4t dG8tZ3Vlc3QgcGF0aCAoaS5lLiB3aXRoIG5vIHN0YWNrKSBvciBvbiB0aGUgY3B1LWlkbGUgcGF0 aAp3aGljaCBhcHBlYXJzIHRvIGJlIHRoZSBzYWZlc3Qgd2F5IG9mIHBhdGNoaW5nLiBXaGlsZSBp dCBpcyBzYWZlIHdlIHNob3VsZApzdGlsbCAoaW4gdGhlIG5leHQgd2F2ZSBvZiBwYXRjaGVzKSB0 byB2ZXJpZnkgdG8gbm90IHBhdGNoIGNldGFpbiBjcml0aWNhbApzZWN0aW9ucyAoc2F5IHRoZSBj b2RlIGRvaW5nIHRoZSBwYXRjaGluZykKCkFsbCBvZiB0aGUgZm9sbG93aW5nIHNob3VsZCB3b3Jr OgoqIEFwcGx5aW5nIHBhdGNoZXMgc2FmZWx5LgoqIFJldmVydGluZyBwYXRjaGVzIHNhZmVseS4K KiBSZXBsYWNpbmcgcGF0Y2hlcyBzYWZlbHkgKGUuZy4gcmV2ZXJ0aW5nIGFueSBhcHBsaWVkIHBh dGNoZXMgYW5kIGFwcGx5aW5nCiAgIGEgbmV3IHBhdGNoKS4KKiBCdWcgZnJhbWVzIGFzIHBhcnQg b2YgbW9kdWxlcy4gVGhpcyBtZWFucyBhZGRpbmcgb3IKICBjaGFuZ2luZyBXQVJOLCBBU1NFUlQs IEJVRywgYW5kIHJ1bl9pbl9leGNlcHRpb25faGFuZGxlciB3b3JrcyBjb3JyZWN0bHkuCiAgTGlu ZSBudW1iZXIgb25seSBjaGFuZ2VzIF9hcmUgaWdub3JlZF8uCiogRXhjZXB0aW9uIHRhYmxlcyBh cyBwYXJ0IG9mIG1vZHVsZXMuIEUuZy4gd3Jtc3Jfc2FmZSBhbmQgY29weV90b191c2VyIHdvcmsK ICBjb3JyZWN0bHkgd2hlbiB1c2VkIGluIGEgcGF0Y2ggbW9kdWxlLgoqIFN0YWNraW5nIG9mIHBh dGNoZXMgb24gdG9wIG9mIGVhY2ggb3RoZXIKKiBSZXNvbHZpbmcgc3ltYm9scyAoZXZlbiBvZiBw YXRjaGVzKQoKKkxpbWl0YXRpb25zKgoKVGhlIGFib3ZlIGlzIGVub3VnaCB0byBmdWxseSBpbXBs ZW1lbnQgYW4gdXBkYXRlIHN5c3RlbSB3aGVyZSBtdWx0aXBsZSBzb3VyY2UKcGF0Y2hlcyBhcmUg Y29tYmluZWQgKHVzaW5nIGNvbWJpbmVkaWZmKSBhbmQgYnVpbHQgaW50byBhIHNpbmdsZSBiaW5h cnkKd2hpY2ggdGhlbiBhdG9taWNhbGx5IHJlcGxhY2VzIGFueSBleGlzdGluZyBsb2FkZWQgcGF0 Y2hlcwoodGhpcyBpcyB3aHkgUm9zcyBhZGRlZCBhIFJFUExBQ0Ugb3BlcmF0aW9uKS4gVGhpcyBp cyB0aGUgYXBwcm9hY2ggdXNlZApieSBrUGF0Y2ggYW5kIGtHcmFmdC4KCk11bHRpcGxlIGNvbXBs ZXRlbHkgaW5kZXBlbmRlbnQgcGF0Y2hlcyBjYW4gYWxzbyBiZSBsb2FkZWQgYnV0IHVuZXhwZWN0 ZWQKaW50ZXJhY3Rpb25zIG1heSBvY2N1ci4KCkFzIGl0IHN0YW5kcywgdGhlIHBhdGNoZXMgYXJl IHN0YXRpY2FsbHkgbGlua2VkIHdoaWNoIG1lYW5zIHRoYXQgaW5kZXBlbmRlbnQKcGF0Y2hlcyBj YW5ub3QgYmUgbGlua2VkIGFnYWluc3Qgb25lIGFub3RoZXIgKGUuZy4gaWYgb25lIGludHJvZHVj ZXMgYQpuZXcgc3ltYm9sKS4gVXNpbmcgdGhlIGNvbWJpbmVkaWZmIGFwcHJvYWNoIGFib3ZlIGZp eGVzIHRoaXMuCgpCYWNrdHJhY2VzIGNvbnRhaW5pbmcgZnVuY3Rpb25zIGZyb20gYSBwYXRjaCBt b2R1bGUgZG8gbm90IHNob3cgdGhlIHN5bWJvbCBuYW1lLgoKVGhlcmUgaXMgbm8gY2hlY2tpbmcg dGhhdCBhIHBhdGNoIHdoaWNoIGlzIGxvYWRlZCBpcyBidWlsdCBmb3IgdGhlCmNvcnJlY3QgaHlw ZXJ2aXNvciAobmVlZCB0byB1c2UgYnVpbGQtaWQpLgoKQmluYXJ5IHBhdGNoaW5nIHdvcmtzIGF0 IHRoZSBmdW5jdGlvbiBsZXZlbC4KCipUZXN0aW5nKgoKWW91IGNhbiB1c2UgdGhlIGV4YW1wbGUg Y29kZSBpbmNsdWRlZCBpbiB0aGlzIHBhdGNoc2V0OgoKIyB4bCBpbmZvIHwgZ3JlcCBleHRyYQp4 ZW5fZXh0cmEgICAgICAgICAgICAgIDogLXVuc3RhYmxlCiMgeGVuLXhzcGxpY2UgbG9hZCAvdXNy L2xpYi9kZWJ1Zy94ZW5faGVsbG9fd29ybGQueHNwbGljZQpVcGxvYWRpbmcgL3Vzci9saWIvZGVi dWcveGVuX2hlbGxvX3dvcmxkLnhzcGxpY2UgKDIwNzEgYnl0ZXMpClBlcmZvcm1pbmcgY2hlY2s6 IGNvbXBsZXRlZApQZXJmb3JtaW5nIGFwcGx5Oi4gY29tcGxldGVkCiMgeGwgaW5mbyB8IGdyZXAg ZXh0cmEKeGVuX2V4dHJhICAgICAgICAgICAgICA6IEhlbGxvIFdvcmxkCiMgeGVuLXhzcGxpY2Ug cmV2ZXJ0IHhlbl9oZWxsb193b3JsZApQZXJmb3JtaW5nIHJldmVydDouIGNvbXBsZXRlZAojIHhl bi14c3BsaWNlIHVubG9hZCB4ZW5faGVsbG9fd29ybGQKUGVyZm9ybWluZyB1bmxvYWQ6IGNvbXBs ZXRlZAojIHhsIGluZm8gfCBncmVwIGV4dHJhCnhlbl9leHRyYSAgICAgICAgICAgICAgOiAtdW5z dGFibGUKCk9yIHlvdSBjYW4gdXNlIGdpdDovL3hlbmJpdHMueGVuLm9yZy9wZW9wbGUva29ucmFk d2lsay94c3BsaWNlLWJ1aWxkLXRvb2xzLmdpdAp3aGljaCBnZW5lcmF0ZXMgdGhlIEVMRiBwYXls b2Fkcy4KClRoaXMgbGluayBoYXMgYSBuaWNlIGRlc2NyaXB0aW9uIG9mIGhvdyB0byB1c2UgdGhl IHRvb2w6Cmh0dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZl bC8yMDE1LTEwL21zZzAyNTk1Lmh0bWwKCiAuZ2l0aWdub3JlICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgIDUgKwogQ29uZmlnLm1rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDEyICsKIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAxMCArCiBkb2NzL21pc2MveHNwbGljZS5tYXJrZG93biAgICAgICAgICAg ICAgICAgICB8IDExMDggKysrKysrKysrKysrKysrKysrKwogdG9vbHMvZmxhc2svcG9saWN5L3Bv bGljeS9tb2R1bGVzL3hlbi94ZW4udGUgfCAgICAyICsKIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVu Y3RybC5oICAgICAgICAgICAgICAgIHwgICA2MiArKwogdG9vbHMvbGlieGMveGNfbWlzYy5jICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMzM3ICsrKysrKwogdG9vbHMvbGlieGwvbGlieGwuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE4ICstCiB0b29scy9saWJ4bC9saWJ4bC5oICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKwogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu aWRsICAgICAgICAgICAgICAgICAgfCAgICAxICsKIHRvb2xzL2xpYnhsL3hsX2NtZGltcGwuYyAg ICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiB0b29scy9taXNjL01ha2VmaWxlICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgIDQgKwogdG9vbHMvbWlzYy94ZW4teHNwbGljZS5jICAgICAg ICAgICAgICAgICAgICAgfCAgNDYzICsrKysrKysrCiB4ZW4vTWFrZWZpbGUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgIDggKy0KIHhlbi9hcmNoL2FybS9NYWtlZmlsZSAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgNSArLQogeGVuL2FyY2gvYXJtL2tlcm5lbC5jICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAyICstCiB4ZW4vYXJjaC9hcm0vbW0uYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIHhlbi9hcmNoL2FybS9zZXR1cC5jICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgNCArCiB4ZW4vYXJjaC9hcm0vdHJhcHMuYyAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMzkgKy0KIHhlbi9hcmNoL2FybS94ZW4ubGRzLlMgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxNiArLQogeGVuL2FyY2gvYXJtL3hzcGxpY2UuYyAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDg4ICsrCiB4ZW4vYXJjaC94ODYvTWFrZWZpbGUgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNTMgKy0KIHhlbi9hcmNoL3g4Ni9hbHRlcm5hdGl2ZS5jICAgICAgICAg ICAgICAgICAgIHwgICAzNyArLQogeGVuL2FyY2gveDg2L2Jvb3QvbWtlbGYzMi5jICAgICAgICAg ICAgICAgICAgfCAgMTI5ICsrLQogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAyICsKIHhlbi9hcmNoL3g4Ni9leHRhYmxlLmMgICAgICAgICAgICAgICAg ICAgICAgIHwgICA0MSArLQogeGVuL2FyY2gveDg2L21tLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAyICstCiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgIDYgKwogeGVuL2FyY2gveDg2L3Rlc3QvTWFrZWZpbGUgICAgICAgICAgICAgICAg ICAgfCAgIDgxICsrCiB4ZW4vYXJjaC94ODYvdGVzdC94ZW5fYnllX3dvcmxkLmMgICAgICAgICAg ICB8ICAgMzUgKwogeGVuL2FyY2gveDg2L3Rlc3QveGVuX2J5ZV93b3JsZF9mdW5jLmMgICAgICAg fCAgIDI0ICsKIHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxsb193b3JsZC5jICAgICAgICAgIHwg ICAzMyArCiB4ZW4vYXJjaC94ODYvdGVzdC94ZW5faGVsbG9fd29ybGRfZnVuYy5jICAgICB8ICAg MzggKwogeGVuL2FyY2gveDg2L3Rlc3QveGVuX3JlcGxhY2Vfd29ybGQuYyAgICAgICAgfCAgIDM0 ICsKIHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9yZXBsYWNlX3dvcmxkX2Z1bmMuYyAgIHwgICAyNCAr CiB4ZW4vYXJjaC94ODYvdHJhcHMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTEgKy0K IHhlbi9hcmNoL3g4Ni94ZW4ubGRzLlMgICAgICAgICAgICAgICAgICAgICAgIHwgICAyNyArCiB4 ZW4vYXJjaC94ODYveHNwbGljZS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyNzQgKysrKysK IHhlbi9jb21tb24vS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNiArCiB4 ZW4vY29tbW9uL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogeGVu L2NvbW1vbi9rZXJuZWwuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICsKIHhlbi9j b21tb24vc3ltYm9scy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0MyArLQogeGVuL2Nv bW1vbi9zeXNjdGwuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA3ICsKIHhlbi9jb21t b24vdmVyc2lvbi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3MCArKwogeGVuL2NvbW1v bi92aXJ0dWFsX3JlZ2lvbi5jICAgICAgICAgICAgICAgICAgfCAgMTQ4ICsrKwogeGVuL2NvbW1v bi92bWFwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTYwICstLQogeGVuL2NvbW1v bi92c3ByaW50Zi5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE5ICstCiB4ZW4vY29tbW9u L3hzcGxpY2UuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDE1MzAgKysrKysrKysrKysrKysr KysrKysrKysrKysKIHhlbi9jb21tb24veHNwbGljZV9lbGYuYyAgICAgICAgICAgICAgICAgICAg IHwgIDQ4MCArKysrKysrKwogeGVuL2RyaXZlcnMvYWNwaS9vc2wuYyAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAyICstCiB4ZW4vaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmggICAgICAg ICAgICB8ICAgIDQgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmggICAgICAgICAgICAg ICAgfCAgIDEwICstCiB4ZW4vaW5jbHVkZS9hc20teDg2L25taS5oICAgICAgICAgICAgICAgICAg ICB8ICAgIDQgKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzcy5oICAgICAgICAgICAgICAg IHwgICAgMiArCiB4ZW4vaW5jbHVkZS9wdWJsaWMvc3lzY3RsLmggICAgICAgICAgICAgICAgICB8 ICAxNjYgKysrCiB4ZW4vaW5jbHVkZS9wdWJsaWMvdmVyc2lvbi5oICAgICAgICAgICAgICAgICB8 ICAgIDMgKwogeGVuL2luY2x1ZGUveGVuL3N5bWJvbHMuaCAgICAgICAgICAgICAgICAgICAgfCAg IDExICsKIHhlbi9pbmNsdWRlL3hlbi92ZXJzaW9uLmggICAgICAgICAgICAgICAgICAgIHwgICAg NiArCiB4ZW4vaW5jbHVkZS94ZW4vdmlydHVhbF9yZWdpb24uaCAgICAgICAgICAgICB8ICAgNDcg KwogeGVuL2luY2x1ZGUveGVuL3ZtYXAuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQ3ICst CiB4ZW4vaW5jbHVkZS94ZW4veHNwbGljZS5oICAgICAgICAgICAgICAgICAgICB8ICAxMzggKysr CiB4ZW4vaW5jbHVkZS94ZW4veHNwbGljZV9lbGYuaCAgICAgICAgICAgICAgICB8ICAgNTYgKwog eGVuL2luY2x1ZGUveGVuL3hzcGxpY2VfcGF0Y2guaCAgICAgICAgICAgICAgfCAgIDI1ICsKIHhl bi94c20vZmxhc2svaG9va3MuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOSArCiB4ZW4v eHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycyAgICAgICAgICB8ICAgIDQgKwogNjUgZmls ZXMgY2hhbmdlZCwgNTkxNSBpbnNlcnRpb25zKCspLCAxODMgZGVsZXRpb25zKC0pCgpLb25yYWQg Unplc3p1dGVrIFdpbGsgKDE1KToKICAgICAgeHNwbGljZTogRGVzaWduIGRvY3VtZW50CiAgICAg IHhlbi94c3BsaWNlOiBIeXBlcnZpc29yIGltcGxlbWVudGF0aW9uIG9mIFhFTl9YU1BMSUNFX29w CiAgICAgIGxpYnhjOiBJbXBsZW1lbnRhdGlvbiBvZiBYRU5fWFNQTElDRV9vcCBpbiBsaWJ4Ywog ICAgICB4ZW4teHNwbGljZTogVG9vbCB0byBtYW5pcHVsYXRlIHhzcGxpY2UgcGF5bG9hZHMKICAg ICAgYXJtL3g4NjogVXNlIHN0cnVjdCB2aXJ0dWFsX3JlZ2lvbiB0byBkbyBidWcsIHN5bWJvbCwg YW5kICh4ODYpIGV4Y2VwdGlvbiB0YWJsZXMgbG9va3VwLgogICAgICB4ODY6IEFsdGVyIG5taV9j YWxsYmFja190IHR5cGVkZWYKICAgICAgYXJtL3g4Ni92bWFwOiBBZGQgdm1hbGxvY190eXBlIGFu ZCB2bV9pbml0X3R5cGUKICAgICAgeDg2L3hlbl9oZWxsb193b3JsZC54c3BsaWNlOiBUZXN0IHBh eWxvYWQgZm9yIHBhdGNoaW5nICd4ZW5fZXh0cmFfdmVyc2lvbicuCiAgICAgIGJ1aWxkX2lkOiBQ cm92aWRlIGxkLWVtYmVkZGVkIGJ1aWxkLWlkcwogICAgICBIWVBFUkNBTExfdmVyc2lvbl9vcDog QWRkIFZFUlNJT05fYnVpbGRfaWQgdG8gcmV0cmlldmUgYnVpbGQtaWQuCiAgICAgIGxpYnhsOiBp bmZvOiBEaXNwbGF5IGJ1aWxkX2lkIG9mIHRoZSBoeXBlcnZpc29yIHVzaW5nIFhFTl9WRVJTSU9O X2J1aWxkX2lkCiAgICAgIHhzcGxpY2U6IFByaW50IGJ1aWxkX2lkIGluIGtleWhhbmRsZXIgYW5k IG9uIGJvb3R1cC4KICAgICAgeHNwbGljZTogU3RhY2tpbmcgYnVpbGQtaWQgZGVwZW5kZW5jeSBj aGVja2luZy4KICAgICAgeHNwbGljZS94ZW5fcmVwbGFjZV93b3JsZDogVGVzdC1jYXNlIGZvciBY U1BMSUNFX0FDVElPTl9SRVBMQUNFCiAgICAgIE1BSU5UQUlORVJTL3hzcGxpY2U6IEFkZCBteXNl bGYgYW5kIFJvc3MgYXMgdGhlIG1haW50YWluZXJzLgoKUm9zcyBMYWdlcndhbGwgKDkpOgogICAg ICB4c3BsaWNlOiBBZGQgaGVscGVyIGVsZiByb3V0aW5lcwogICAgICB4c3BsaWNlOiBJbXBsZW1l bnQgcGF5bG9hZCBsb2FkaW5nCiAgICAgIHhzcGxpY2U6IEltcGxlbWVudCBzdXBwb3J0IGZvciBh cHBseWluZy9yZXZlcnRpbmcvcmVwbGFjaW5nIHBhdGNoZXMuCiAgICAgIHhzcGxpY2Usc3ltYm9s czogSW1wbGVtZW50IHN5bWJvbCBuYW1lIHJlc29sdXRpb24gb24gYWRkcmVzcy4KICAgICAgeDg2 LCB4c3BsaWNlOiBQcmludCBwYXlsb2FkJ3Mgc3ltYm9sIG5hbWUgYW5kIHBheWxvYWQgbmFtZSBp biBiYWNrdHJhY2VzCiAgICAgIHhzcGxpY2U6IEFkZCBzdXBwb3J0IGZvciBidWcgZnJhbWVzLgog ICAgICB4c3BsaWNlOiBBZGQgc3VwcG9ydCBmb3IgZXhjZXB0aW9uIHRhYmxlcy4KICAgICAgeHNw bGljZTogQWRkIHN1cHBvcnQgZm9yIGFsdGVybmF0aXZlcwogICAgICB4c3BsaWNlOiBQcmV2ZW50 IGR1cGxpY2F0ZSBwYXlsb2FkcyBmcm9tIGJlaW5nIGxvYWRlZC4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=