From: Juergen Gross Subject: [PATCH 5/7] doc: correct livepatch.markdown syntax Date: Tue, 24 Apr 2018 08:44:57 +0200 Message-ID: <20180424064459.23645-6-jgross@suse.com> References: <20180424064459.23645-1-jgross@suse.com> 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 1fArhM-0008Qj-4c for xen-devel@lists.xenproject.org; Tue, 24 Apr 2018 06:45:08 +0000 In-Reply-To: <20180424064459.23645-1-jgross@suse.com> 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 , sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, ross.lagerwall@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org Im1ha2UgLUMgZG9jcyBhbGwiIGZhaWxzIGR1ZSB0byBpbmNvcnJlY3QgbWFya2Rvd24gc3ludGF4 IGluCmxpdmVwYXRjaC5tYXJrZG93bi4gQ29ycmVjdCBpdC4KClNpZ25lZC1vZmYtYnk6IEp1ZXJn ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0tCiBkb2NzL21pc2MvbGl2ZXBhdGNoLm1hcmtk b3duIHwgNTg5ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAyNzIgaW5zZXJ0aW9ucygrKSwgMzE3IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RvY3MvbWlzYy9saXZlcGF0Y2gubWFya2Rvd24gYi9kb2NzL21pc2MvbGl2ZXBhdGNo Lm1hcmtkb3duCmluZGV4IDU0YTZiODUwY2IuLmYzYzEzMjBlNWEgMTAwNjQ0Ci0tLSBhL2RvY3Mv bWlzYy9saXZlcGF0Y2gubWFya2Rvd24KKysrIGIvZG9jcy9taXNjL2xpdmVwYXRjaC5tYXJrZG93 bgpAQCAtODksMzMgKzg5LDI2IEBAIEFzIGV4YW1wbGUgd2Ugd2lsbCBhc3N1bWUgdGhlIGh5cGVy dmlzb3IgZG9lcyBub3QgaGF2ZSBYU0EtMTMyIChzZWUKIDRmZjM0NDlmMGU5ZDE3NWNlYjk1NTFk M2YyYWVjYjU5MjczZjYzOWQpIGFuZCB3ZSB3b3VsZCBsaWtlIHRvIGJpbmFyeSBwYXRjaAogdGhl IGh5cGVydmlzb3Igd2l0aCBpdC4gVGhlIG9yaWdpbmFsIGNvZGUgbG9va3MgYXMgc286CiAKLTxw cmU+Ci0gICA0OCA4OSBlMCAgICAgICAgICAgICAgICAgIG1vdiAgICAlcnNwLCVyYXggIAotICAg NDggMjUgMDAgODAgZmYgZmYgICAgICAgICBhbmQgICAgJDB4ZmZmZmZmZmZmZmZmODAwMCwlcmF4 ICAKLTwvcHJlPgorICAgICAgIDQ4IDg5IGUwICAgICAgICAgICAgICAgICAgbW92ICAgICVyc3As JXJheCAgCisgICAgICAgNDggMjUgMDAgODAgZmYgZmYgICAgICAgICBhbmQgICAgJDB4ZmZmZmZm ZmZmZmZmODAwMCwlcmF4ICAKIAogd2hpbGUgdGhlIG5ldyBwYXRjaGVkIGh5cGVydmlzb3Igd291 bGQgYmU6CiAKLTxwcmU+Ci0gICA0OCBjNyA0NSBiOCAwMCAwMCAwMCAwMCAgIG1vdnEgICAkMHgw LC0weDQ4KCVyYnApICAKLSAgIDQ4IGM3IDQ1IGMwIDAwIDAwIDAwIDAwICAgbW92cSAgICQweDAs LTB4NDAoJXJicCkgIAotICAgNDggYzcgNDUgYzggMDAgMDAgMDAgMDAgICBtb3ZxICAgJDB4MCwt MHgzOCglcmJwKSAgCi0gICA0OCA4OSBlMCAgICAgICAgICAgICAgICAgIG1vdiAgICAlcnNwLCVy YXggIAotICAgNDggMjUgMDAgODAgZmYgZmYgICAgICAgICBhbmQgICAgJDB4ZmZmZmZmZmZmZmZm ODAwMCwlcmF4ICAKLTwvcHJlPgorICAgICAgIDQ4IGM3IDQ1IGMwIDAwIDAwIDAwIDAwICAgbW92 cSAgICQweDAsLTB4NDAoJXJicCkgIAorICAgICAgIDQ4IGM3IDQ1IGM4IDAwIDAwIDAwIDAwICAg bW92cSAgICQweDAsLTB4MzgoJXJicCkgIAorICAgICAgIDQ4IDg5IGUwICAgICAgICAgICAgICAg ICAgbW92ICAgICVyc3AsJXJheCAgCisgICAgICAgNDggMjUgMDAgODAgZmYgZmYgICAgICAgICBh bmQgICAgJDB4ZmZmZmZmZmZmZmZmODAwMCwlcmF4ICAKIAotVGhpcyBpcyBpbnNpZGUgdGhlIGFy Y2hfZG9fZG9tY3RsLiBUaGlzIG5ldyBjaGFuZ2UgYWRkcyAyMSBleHRyYQorVGhpcyBpcyBpbnNp ZGUgdGhlIGFyY2hcX2RvXF9kb21jdGwuIFRoaXMgbmV3IGNoYW5nZSBhZGRzIDIxIGV4dHJhCiBi eXRlcyBvZiBjb2RlIHdoaWNoIGFsdGVycyBhbGwgdGhlIG9mZnNldHMgaW5zaWRlIHRoZSBmdW5j dGlvbi4gVG8gYWx0ZXIKIHRoZXNlIG9mZnNldHMgYW5kIGFkZCB0aGUgZXh0cmEgMjEgYnl0ZXMg b2YgY29kZSB3ZSBtaWdodCBub3QgaGF2ZSBlbm91Z2gKIHNwYWNlIGluIC50ZXh0IHRvIHNxdWVl emUgdGhpcyBpbi4KIAogQXMgc3VjaCB3ZSBjb3VsZCBzaW1wbGlmeSB0aGlzIHByb2JsZW0gYnkg b25seSBwYXRjaGluZyB0aGUgc2l0ZQotd2hpY2ggY2FsbHMgYXJjaF9kb19kb21jdGw6Cit3aGlj aCBjYWxscyBhcmNoXF9kb1xfZG9tY3RsOgogCi08cHJlPgotZG9fZG9tY3RsOiAgCi0gZTggNGIg YjEgMDUgMDAgICAgICAgICAgY2FsbHEgIGZmZmY4MmQwODAxNWZiYjkgPGFyY2hfZG9fZG9tY3Rs PiAgCi08L3ByZT4KKyAgICBkb19kb21jdGw6ICAKKyAgICAgZTggNGIgYjEgMDUgMDAgICAgICAg ICAgY2FsbHEgIGZmZmY4MmQwODAxNWZiYjkgPGFyY2hfZG9fZG9tY3RsPiAgCiAKIHdpdGggYSBu ZXcgYWRkcmVzcyBmb3Igd2hlcmUgdGhlIG5ldyBgYXJjaF9kb19kb21jdGxgIHdvdWxkIGJlICh0 aGlzCiBhcmVhIHdvdWxkIGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseSkuCkBAIC0xMjMsMTUgKzEx NiwxMyBAQCBhcmVhIHdvdWxkIGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseSkuCiBBc3R1dGUgcmVh ZGVycyB3aWxsIHdvbmRlciB3aGF0IHdlIG5lZWQgdG8gZG8gaWYgd2Ugd2VyZSB0byBwYXRjaCBg ZG9fZG9tY3RsYAogLSB3aGljaCBpcyBub3QgY2FsbGVkIGRpcmVjdGx5IGJ5IGh5cGVydmlzb3Ig YnV0IG9uIGJlaGFsZiBvZiB0aGUgZ3Vlc3RzIHZpYQogdGhlIGBjb21wYXRfaHlwZXJjYWxsX3Rh YmxlYCBhbmQgYGh5cGVyY2FsbF90YWJsZWAuCi1QYXRjaGluZyB0aGUgb2Zmc2V0IGluIGBoeXBl cmNhbGxfdGFibGVgIGZvciBgZG9fZG9tY3RsOgotKGZmZmY4MmQwODAxMDMwNzkgPGRvX2RvbWN0 bD46KQorUGF0Y2hpbmcgdGhlIG9mZnNldCBpbiBgaHlwZXJjYWxsX3RhYmxlYCBmb3IgYGRvX2Rv bWN0bGA6CisoZmZmZjgyZDA4MDEwMzA3OSAmbHQ7ZG9cX2RvbWN0bCZndDs6KQogCi08cHJlPgot Ci0gZmZmZjgyZDA4MDI0ZDQ5MDogICA3OSAzMCAgCi0gZmZmZjgyZDA4MDI0ZDQ5MjogICAxMCA4 MCBkMCA4MiBmZiBmZiAgIAotCi08L3ByZT4KKyAgICAKKyAgICAgZmZmZjgyZDA4MDI0ZDQ5MDog ICA3OSAzMCAgCisgICAgIGZmZmY4MmQwODAyNGQ0OTI6ICAgMTAgODAgZDAgODIgZmYgZmYgICAK KyAgICAKIAogd2l0aCB0aGUgbmV3IGFkZHJlc3Mgd2hlcmUgdGhlIG5ldyBgZG9fZG9tY3RsYCBp cyBwb3NzaWJsZS4gVGhlIG90aGVyCiBwbGFjZSB3aGVyZSBpdCBpcyB1c2VkIGlzIGluIGBodm1f aHlwZXJjYWxsNjRfdGFibGVgIHdoaWNoIHdvdWxkIG5lZWQKQEAgLTE2NCwxOSArMTU1LDE3IEBA IENQVSBicmFuY2hpbmcgbG9naWMgKEktY2FjaGUsIGJ1dCBpdCBpcyBqdXN0IG9uZSB1bmNvbmRp dGlvbmFsIGp1bXApLgogCiBGb3IgdGhpcyBleGFtcGxlIHdlIHdpbGwgYXNzdW1lIHRoYXQgdGhl IGh5cGVydmlzb3IgaGFzIG5vdCBiZWVuIGNvbXBpbGVkCiB3aXRoIGZlMmUwNzlmNjQyZWZmYjNk MjRhNmUxYTcwOTZlZjI2ZTY5MWQ5M2UgKFhTQS0xMjU6ICpwcmUtZmlsbCBzdHJ1Y3R1cmVzCi1m b3IgY2VydGFpbiBIWVBFUlZJU09SX3hlbl92ZXJzaW9uIHN1Yi1vcHMqKSB3aGljaCBtZW0tc2V0 cyBhbiBzdHJ1Y3R1cmUKK2ZvciBjZXJ0YWluIEhZUEVSVklTT1JcX3hlblxfdmVyc2lvbiBzdWIt b3BzKikgd2hpY2ggbWVtLXNldHMgYW4gc3RydWN0dXJlCiBpbiBgeGVuX3ZlcnNpb25gIGh5cGVy Y2FsbC4gVGhpcyBmdW5jdGlvbiBpcyBub3QgY2FsbGVkICoqYW55d2hlcmUqKiBpbgogdGhlIGh5 cGVydmlzb3IgKGl0IGlzIGNhbGxlZCBieSB0aGUgZ3Vlc3QpIGJ1dCByZWZlcmVuY2VkIGluIHRo ZQogYGNvbXBhdF9oeXBlcmNhbGxfdGFibGVgIGFuZCBgaHlwZXJjYWxsX3RhYmxlYCAoYW5kIGlu ZGlyZWN0bHkgY2FsbGVkCiBmcm9tIHRoYXQpLiBQYXRjaGluZyB0aGUgb2Zmc2V0IGluIGBoeXBl cmNhbGxfdGFibGVgIGZvciB0aGUgb2xkCi1gZG9feGVuX3ZlcnNpb25gIChmZmZmODJkMDgwMTEy ZjllIDxkb194ZW5fdmVyc2lvbj4pCi0KLTwvcHJlPgotIGZmZmY4MmQwODAyNGIyNzAgPGh5cGVy Y2FsbF90YWJsZT46ICAgCi0gLi4uICAKLSBmZmZmODJkMDgwMjRiMmY4OiAgIDllIDJmIDExIDgw IGQwIDgyIGZmIGZmICAKK2Bkb194ZW5fdmVyc2lvbmAgKGZmZmY4MmQwODAxMTJmOWUgJmx0O2Rv XF94ZW5cX3ZlcnNpb24mZ3Q7KQogCi08L3ByZT4KKyAgICAgZmZmZjgyZDA4MDI0YjI3MCA8aHlw ZXJjYWxsX3RhYmxlPjogICAKKyAgICAgLi4uICAKKyAgICAgZmZmZjgyZDA4MDI0YjJmODogICA5 ZSAyZiAxMSA4MCBkMCA4MiBmZiBmZiAgCisgICAgCiAKIHdpdGggdGhlIG5ldyBhZGRyZXNzIHdo ZXJlIHRoZSBuZXcgYGRvX3hlbl92ZXJzaW9uYCBpcyBwb3NzaWJsZS4gVGhlIG90aGVyCiBwbGFj ZSB3aGVyZSBpdCBpcyB1c2VkIGlzIGluIGBodm1faHlwZXJjYWxsNjRfdGFibGVgIHdoaWNoIHdv dWxkIG5lZWQKQEAgLTE4NCwyMSArMTczLDE3IEBAIHRvIGJlIHBhdGNoZWQgaW4gYSBzaW1pbGFy IHdheS4gVGhpcyB3b3VsZCByZXF1aXJlIGFuIGluLXBsYWNlIHNwbGljaW5nCiBvZiB0aGUgbmV3 IHZpcnR1YWwgYWRkcmVzcyBvZiBgZG9feGVuX3ZlcnNpb25gLgogCiBBbiBhbHRlcm5hdGl2ZSBz b2x1dGlvbiB3b3VsZCBiZSB0byBwYXRjaCBpbnNlcnQgYSB0cmFtcG9saW5lIGluIHRoZQotb2xk IGBkb194ZW5fdmVyc2lvbicgZnVuY3Rpb24gdG8gZGlyZWN0bHkganVtcCB0byB0aGUgbmV3IGBk b194ZW5fdmVyc2lvbmAuCitvbGQgYGRvX3hlbl92ZXJzaW9uYCBmdW5jdGlvbiB0byBkaXJlY3Rs eSBqdW1wIHRvIHRoZSBuZXcgYGRvX3hlbl92ZXJzaW9uYC4KIAotPHByZT4KLSBmZmZmODJkMDgw MTEyZjllIGRvX3hlbl92ZXJzaW9uOiAgCi0gZmZmZjgyZDA4MDExMmY5ZTogICAgICAgNDggYzcg YzAgZGEgZmYgZmYgZmYgICAgbW92ICAgICQweGZmZmZmZmZmZmZmZmZmZGEsJXJheCAgCi0gZmZm ZjgyZDA4MDExMmZhNTogICAgICAgODMgZmYgMDkgICAgICAgICAgICAgICAgY21wICAgICQweDks JWVkaSAgCi0gZmZmZjgyZDA4MDExMmZhODogICAgICAgMGYgODcgMjQgMDUgMDAgMDAgICAgICAg amEgICAgIGZmZmY4MmQwODAxMTM0ZDIgOyBkb194ZW5fdmVyc2lvbisweDUzNCAgCi08L3ByZT4K KyAgICAgZmZmZjgyZDA4MDExMmY5ZSBkb194ZW5fdmVyc2lvbjogIAorICAgICBmZmZmODJkMDgw MTEyZjllOiAgICAgICA0OCBjNyBjMCBkYSBmZiBmZiBmZiAgICBtb3YgICAgJDB4ZmZmZmZmZmZm ZmZmZmZkYSwlcmF4ICAKKyAgICAgZmZmZjgyZDA4MDExMmZhNTogICAgICAgODMgZmYgMDkgICAg ICAgICAgICAgICAgY21wICAgICQweDksJWVkaSAgCisgICAgIGZmZmY4MmQwODAxMTJmYTg6ICAg ICAgIDBmIDg3IDI0IDA1IDAwIDAwICAgICAgIGphICAgICBmZmZmODJkMDgwMTEzNGQyIDsgZG9f eGVuX3ZlcnNpb24rMHg1MzQgIAogCiB3aXRoOgogCi08cHJlPgotIGZmZmY4MmQwODAxMTJmOWUg ZG9feGVuX3ZlcnNpb246ICAKLSBmZmZmODJkMDgwMTEyZjllOiAgICAgICBlOSBYWCBZWSBaWiBR USAgICAgICAgICBqbXBxICAgW25ldyBkb194ZW5fdmVyc2lvbl0gIAotPC9wcmU+CisgICAgIGZm ZmY4MmQwODAxMTJmOWUgZG9feGVuX3ZlcnNpb246ICAKKyAgICAgZmZmZjgyZDA4MDExMmY5ZTog ICAgICAgZTkgWFggWVkgWlogUVEgICAgICAgICAgam1wcSAgIFtuZXcgZG9feGVuX3ZlcnNpb25d ICAKIAogd2hpY2ggd291bGQgbGVzc2VuIHRoZSBhbW91bnQgb2YgcGF0Y2hpbmcgdG8ganVzdCBv bmUgbG9jYXRpb24uCiAKQEAgLTIwOCw3ICsxOTMsNyBAQCBuZXcgcmVwbGFjZW1lbnQgZnVuY3Rp b24gd2hpY2ggcmVxdWlyZWQ6CiAgKiBpbnNlcnRpbmcgdHJhbXBvbGluZSB3aXRoIG5ldyBvZmZz ZXQgaW4gdGhlIG9sZCBmdW5jdGlvbiB0byBwb2ludCB0byB0aGUKICAgIG5ldyBmdW5jdGlvbi4K ICAqIE9wdGlvbmFsbHkgd2UgY2FuIGluc2VydCBpbiB0aGUgb2xkIGZ1bmN0aW9uIGEgdHJhbXBv bGluZSBqdW1wIHRvIGFuIGZ1bmN0aW9uCi0gICBwcm92aWRpbmcgYW4gQlVHX09OIHRvIGNhdGNo IGVycmFudCBjb2RlLgorICAgcHJvdmlkaW5nIGFuIEJVR1xfT04gdG8gY2F0Y2ggZXJyYW50IGNv ZGUuCiAKIFRoZSBkaXNhZHZhbnRhZ2Ugb2YgdGhpcyBhcmUgdGhhdCB0aGUgdW5jb25kaXRpb25h bCBqdW1wIHdpbGwgY29uc3VtZSBhIHNtYWxsCiBJLWNhY2hlIHBlbmFsdHkuIEhvd2V2ZXIgdGhl IHNpbXBsaWNpdHkgb2YgdGhlIHBhdGNoaW5nIGFuZCBoaWdoZXIgY2hhbmNlCkBAIC0yNjAsNyAr MjQ1LDcgQEAgTm90ZSB0aGF0IGV2ZXJ5IHN0cnVjdHVyZSBoYXMgcGFkZGluZy4gVGhpcyBpcyBh ZGRlZCBzbyB0aGF0IHRoZSBoeXBlcnZpc29yCiBjYW4gcmUtdXNlIHRob3NlIGZpZWxkcyBhcyBp dCBzZWVzIGZpdC4KIAogRWFybGllciBkZXNpZ24gYXR0ZW1wdGVkIHRvIGluZXB0bHkgZXhwbGFp biB0aGUgcmVsYXRpb25zIG9mIHRoZSBFTEYgc2VjdGlvbnMKLXRvIGVhY2ggb3RoZXIgd2l0aG91 dCB1c2luZyBwcm9wZXIgRUxGIG1lY2hhbmlzbSAoc2hfaW5mbywgc2hfbGluaywgZGF0YQordG8g ZWFjaCBvdGhlciB3aXRob3V0IHVzaW5nIHByb3BlciBFTEYgbWVjaGFuaXNtIChzaFxfaW5mbywg c2hcX2xpbmssIGRhdGEKIHN0cnVjdHVyZXMgdXNpbmcgRWxmIHR5cGVzLCBldGMpLiBUaGlzIGRl c2lnbiB3aWxsIGV4cGxhaW4gdGhlIHN0cnVjdHVyZXMKIGFuZCBob3cgdGhleSBhcmUgdXNlZCB0 b2dldGhlciBhbmQgbm90IGRpZyBpbiB0aGUgRUxGIGZvcm1hdCAtIGV4Y2VwdCBtZW50aW9uCiB0 aGF0IHRoZSBzZWN0aW9uIG5hbWVzIHNob3VsZCBtYXRjaCB0aGUgc3RydWN0dXJlIG5hbWVzLgpA QCAtMjg1LDI3ICsyNzAsMjUgQEAgbGlrZSB3aGF0IHRoZSBMaW51eCBrZXJuZWwgbW9kdWxlIGxv YWRlciBkb2VzLgogCiBUaGUgcGF5bG9hZCBjb250YWlucyBhdCBsZWFzdCB0aHJlZSBzZWN0aW9u czoKIAotICogYC5saXZlcGF0Y2guZnVuY3NgIC0gd2hpY2ggaXMgYW4gYXJyYXkgb2YgbGl2ZXBh dGNoX2Z1bmMgc3RydWN0dXJlcy4KKyAqIGAubGl2ZXBhdGNoLmZ1bmNzYCAtIHdoaWNoIGlzIGFu IGFycmF5IG9mIGxpdmVwYXRjaFxfZnVuYyBzdHJ1Y3R1cmVzLgogICogYC5saXZlcGF0Y2guZGVw ZW5kc2AgLSB3aGljaCBpcyBhbiBFTEYgTm90ZSB0aGF0IGRlc2NyaWJlcyB3aGF0IHRoZSBwYXls b2FkCiAgICAgZGVwZW5kcyBvbi4gKipNVVNUKiogaGF2ZSBvbmUuCiAgKiAgYC5ub3RlLmdudS5i dWlsZC1pZGAgLSB0aGUgYnVpbGQtaWQgb2YgdGhpcyBwYXlsb2FkLiAqKk1VU1QqKiBoYXZlIG9u ZS4KIAogIyMjIC5saXZlcGF0Y2guZnVuY3MKIAotVGhlIGAubGl2ZXBhdGNoLmZ1bmNzYCBjb250 YWlucyBhbiBhcnJheSBvZiBsaXZlcGF0Y2hfZnVuYyBzdHJ1Y3R1cmVzCitUaGUgYC5saXZlcGF0 Y2guZnVuY3NgIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxpdmVwYXRjaFxfZnVuYyBzdHJ1Y3R1cmVz CiB3aGljaCBkZXNjcmliZSB0aGUgZnVuY3Rpb25zIHRvIGJlIHBhdGNoZWQ6CiAKLTxwcmU+Ci1z dHJ1Y3QgbGl2ZXBhdGNoX2Z1bmMgeyAgCi0gICAgY29uc3QgY2hhciAqbmFtZTsgIAotICAgIHZv aWQgKm5ld19hZGRyOyAgCi0gICAgdm9pZCAqb2xkX2FkZHI7ICAKLSAgICB1aW50MzJfdCBuZXdf c2l6ZTsgIAotICAgIHVpbnQzMl90IG9sZF9zaXplOyAgCi0gICAgdWludDhfdCB2ZXJzaW9uOyAg Ci0gICAgdWludDhfdCBvcGFxdWVbMzFdOyAgCi19OyAgCi08L3ByZT4KKyAgICBzdHJ1Y3QgbGl2 ZXBhdGNoX2Z1bmMgeyAgCisgICAgICAgIGNvbnN0IGNoYXIgKm5hbWU7ICAKKyAgICAgICAgdm9p ZCAqbmV3X2FkZHI7ICAKKyAgICAgICAgdm9pZCAqb2xkX2FkZHI7ICAKKyAgICAgICAgdWludDMy X3QgbmV3X3NpemU7ICAKKyAgICAgICAgdWludDMyX3Qgb2xkX3NpemU7ICAKKyAgICAgICAgdWlu dDhfdCB2ZXJzaW9uOyAgCisgICAgICAgIHVpbnQ4X3Qgb3BhcXVlWzMxXTsgIAorICAgIH07ICAK IAogVGhlIHNpemUgb2YgdGhlIHN0cnVjdHVyZSBpcyA2NCBieXRlcyBvbiA2NC1iaXQgaHlwZXJ2 aXNvcnMuIEl0IHdpbGwgYmUKIDUyIG9uIDMyLWJpdCBoeXBlcnZpc29ycy4KQEAgLTM2MiwzNiAr MzQ1LDM0IEBAIGJlaW5nIGFwcGxpZWQgYW5kIGFmdGVyIGJlaW5nIHJldmVydGVkOgogCiBBIHNp bXBsZSBleGFtcGxlIG9mIHdoYXQgYSBwYXlsb2FkIGZpbGUgY2FuIGJlOgogCi08cHJlPgotLyog TVVTVCBiZSBpbiBzeW5jIHdpdGggaHlwZXJ2aXNvci4gKi8gIAotc3RydWN0IGxpdmVwYXRjaF9m dW5jIHsgIAotICAgIGNvbnN0IGNoYXIgKm5hbWU7ICAKLSAgICB2b2lkICpuZXdfYWRkcjsgIAot ICAgIHZvaWQgKm9sZF9hZGRyOyAgCi0gICAgdWludDMyX3QgbmV3X3NpemU7ICAKLSAgICB1aW50 MzJfdCBvbGRfc2l6ZTsgIAotICAgIHVpbnQ4X3QgdmVyc2lvbjsKLSAgICB1aW50OF90IHBhZFsz MV07ICAKLX07ICAKLQotLyogT3VyIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciB4ZW5fZXh0cmFf dmVyc2lvbi4gKi8gIAotY29uc3QgY2hhciAqeGVuX2hlbGxvX3dvcmxkKHZvaWQpICAKLXsgIAot ICAgIHJldHVybiAiSGVsbG8gV29ybGQiOyAgCi19ICAKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIg cGF0Y2hfdGhpc19mbmNbXSA9ICJ4ZW5fZXh0cmFfdmVyc2lvbiI7ICAKLQotc3RydWN0IGxpdmVw YXRjaF9mdW5jIGxpdmVwYXRjaF9oZWxsb193b3JsZCA9IHsgIAotICAgIC52ZXJzaW9uID0gTElW RVBBVENIX1BBWUxPQURfVkVSU0lPTiwKLSAgICAubmFtZSA9IHBhdGNoX3RoaXNfZm5jLCAgCi0g ICAgLm5ld19hZGRyID0geGVuX2hlbGxvX3dvcmxkLCAgCi0gICAgLm9sZF9hZGRyID0gKHZvaWQg KikweGZmZmY4MmQwODAxMzk2M2MsIC8qIEV4dHJhY3RlZCBmcm9tIHhlbi1zeW1zLiAqLyAgCi0g ICAgLm5ld19zaXplID0gMTMsIC8qIFRvIGJlIGJlIGNvbXB1dGVkIGJ5IHNjcmlwdHMuICovICAK LSAgICAub2xkX3NpemUgPSAxMywgLyogLS0tLS0tLS0tLS0iIi0tLS0tLS0tLS0tLS0tLSAgKi8g IAotfSBfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmxpdmVwYXRjaC5mdW5jcyIpKSk7ICAK LQotPC9wcmU+CisgICAgLyogTVVTVCBiZSBpbiBzeW5jIHdpdGggaHlwZXJ2aXNvci4gKi8gIAor ICAgIHN0cnVjdCBsaXZlcGF0Y2hfZnVuYyB7ICAKKyAgICAgICAgY29uc3QgY2hhciAqbmFtZTsg IAorICAgICAgICB2b2lkICpuZXdfYWRkcjsgIAorICAgICAgICB2b2lkICpvbGRfYWRkcjsgIAor ICAgICAgICB1aW50MzJfdCBuZXdfc2l6ZTsgIAorICAgICAgICB1aW50MzJfdCBvbGRfc2l6ZTsg IAorICAgICAgICB1aW50OF90IHZlcnNpb247CisgICAgICAgIHVpbnQ4X3QgcGFkWzMxXTsgIAor ICAgIH07ICAKKyAgICAKKyAgICAvKiBPdXIgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yIHhlbl9l eHRyYV92ZXJzaW9uLiAqLyAgCisgICAgY29uc3QgY2hhciAqeGVuX2hlbGxvX3dvcmxkKHZvaWQp ICAKKyAgICB7ICAKKyAgICAgICAgcmV0dXJuICJIZWxsbyBXb3JsZCI7ICAKKyAgICB9ICAKKyAg ICAKKyAgICBzdGF0aWMgdW5zaWduZWQgY2hhciBwYXRjaF90aGlzX2ZuY1tdID0gInhlbl9leHRy YV92ZXJzaW9uIjsgIAorICAgIAorICAgIHN0cnVjdCBsaXZlcGF0Y2hfZnVuYyBsaXZlcGF0Y2hf aGVsbG9fd29ybGQgPSB7ICAKKyAgICAgICAgLnZlcnNpb24gPSBMSVZFUEFUQ0hfUEFZTE9BRF9W RVJTSU9OLAorICAgICAgICAubmFtZSA9IHBhdGNoX3RoaXNfZm5jLCAgCisgICAgICAgIC5uZXdf YWRkciA9IHhlbl9oZWxsb193b3JsZCwgIAorICAgICAgICAub2xkX2FkZHIgPSAodm9pZCAqKTB4 ZmZmZjgyZDA4MDEzOTYzYywgLyogRXh0cmFjdGVkIGZyb20geGVuLXN5bXMuICovICAKKyAgICAg ICAgLm5ld19zaXplID0gMTMsIC8qIFRvIGJlIGJlIGNvbXB1dGVkIGJ5IHNjcmlwdHMuICovICAK KyAgICAgICAgLm9sZF9zaXplID0gMTMsIC8qIC0tLS0tLS0tLS0tIiItLS0tLS0tLS0tLS0tLS0g ICovICAKKyAgICB9IF9fYXR0cmlidXRlX18oKF9fc2VjdGlvbl9fKCIubGl2ZXBhdGNoLmZ1bmNz IikpKTsgIAorICAgIAogCiBDb2RlIG11c3QgYmUgY29tcGlsZWQgd2l0aCAtZlBJQy4KIApAQCAt NDA2LDEwICszODcsOCBAQCBFYWNoIGVudHJ5IGluIHRoaXMgYXJyYXkgaXMgZWlnaHQgYnl0ZXMu CiAKIFRoZSB0eXBlIGRlZmluaXRpb24gb2YgdGhlIGZ1bmN0aW9uIGFyZSBhcyBmb2xsb3c6CiAK LTxwcmU+Ci10eXBlZGVmIHZvaWQgKCpsaXZlcGF0Y2hfbG9hZGNhbGxfdCkodm9pZCk7ICAKLXR5 cGVkZWYgdm9pZCAoKmxpdmVwYXRjaF91bmxvYWRjYWxsX3QpKHZvaWQpOyAgIAotPC9wcmU+Cisg ICAgdHlwZWRlZiB2b2lkICgqbGl2ZXBhdGNoX2xvYWRjYWxsX3QpKHZvaWQpOyAgCisgICAgdHlw ZWRlZiB2b2lkICgqbGl2ZXBhdGNoX3VubG9hZGNhbGxfdCkodm9pZCk7ICAgCiAKICMjIyAubGl2 ZXBhdGNoLmRlcGVuZHMgYW5kIC5ub3RlLmdudS5idWlsZC1pZAogCkBAIC00MjMsNyArNDAyLDcg QEAgd2hpY2ggZm9sbG93cyB0aGUgZm9ybWF0IG9mIGFuIEVMRiBOb3RlLiBUaGUgY29udGVudHMg b2YgdGhpcwogYnVpbGQgdGhlIGh5cGV2aXNvciBhbmQgcGF5bG9hZC4KIAogSWYgR05VIGxpbmtl ciBpcyB1c2VkIHRoZW4gdGhlIG5hbWUgaXMgYEdOVWAgYW5kIHRoZSBkZXNjcmlwdGlvbgotaXMg YSBOVF9HTlVfQlVJTERfSUQgdHlwZSBJRC4gVGhlIGRlc2NyaXB0aW9uIGNhbiBiZSBhbiBTSEEx CitpcyBhIE5UXF9HTlVcX0JVSUxEXF9JRCB0eXBlIElELiBUaGUgZGVzY3JpcHRpb24gY2FuIGJl IGFuIFNIQTEKIGNoZWNrc3VtLCBNRDUgY2hlY2tzdW0gb3IgYW55IHVuaXF1ZSB2YWx1ZS4KIAog VGhlIHNpemUgb2YgdGhlc2Ugc3RydWN0dXJlcyB2YXJpZXMgd2l0aCB0aGUgLS1idWlsZC1pZCBs aW5rZXIgb3B0aW9uLgpAQCAtNDU0LDIyICs0MzMsMjAgQEAgRnVydGhlcm1vcmUgaXQgaXMgcG9z c2libGUgdG8gaGF2ZSBtdWx0aXBsZSBkaWZmZXJlbnQgcGF5bG9hZHMgZm9yIHRoZSBzYW1lCiBm dW5jdGlvbi4gQXMgc3VjaCBhbiB1bmlxdWUgbmFtZSBwZXIgcGF5bG9hZCBoYXMgdG8gYmUgdmlz aWJsZSB0byBhbGxvdyBwcm9wZXIgbWFuaXB1bGF0aW9uLgogCiBUaGUgaHlwZXJjYWxsIGlzIHBh cnQgb2YgdGhlIGB4ZW5fc3lzY3RsYC4gVGhlIHRvcCBsZXZlbCBzdHJ1Y3R1cmUgY29udGFpbnMK LW9uZSB1aW50MzJfdCB0byBkZXRlcm1pbmUgdGhlIHN1Yi1vcGVyYXRpb25zIGFuZCBvbmUgcGFk ZGluZyBmaWVsZCB3aGljaAorb25lIHVpbnQzMlxfdCB0byBkZXRlcm1pbmUgdGhlIHN1Yi1vcGVy YXRpb25zIGFuZCBvbmUgcGFkZGluZyBmaWVsZCB3aGljaAogKk1VU1QqIGFsd2F5cyBiZSB6ZXJv LgogCi08cHJlPgotc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX29wIHsgIAotICAgIHVpbnQz Ml90IGNtZDsgICAgICAgICAgICAgICAgICAgLyogSU46IFhFTl9TWVNDVExfTElWRVBBVENIXyou ICovICAKLSAgICB1aW50MzJfdCBwYWQ7ICAgICAgICAgICAgICAgICAgIC8qIElOOiBBbHdheXMg emVyby4gKi8gIAotCXVuaW9uIHsgIAotICAgICAgICAgIC4uLiBzZWUgYmVsb3cgLi4uICAKLSAg ICAgICAgfSB1OyAgCi19OyAgCi0KLTwvcHJlPgorICAgIHN0cnVjdCB4ZW5fc3lzY3RsX2xpdmVw YXRjaF9vcCB7ICAKKyAgICAgICAgdWludDMyX3QgY21kOyAgICAgICAgICAgICAgICAgICAvKiBJ TjogWEVOX1NZU0NUTF9MSVZFUEFUQ0hfKi4gKi8gIAorICAgICAgICB1aW50MzJfdCBwYWQ7ICAg ICAgICAgICAgICAgICAgIC8qIElOOiBBbHdheXMgemVyby4gKi8gIAorCSAgICB1bmlvbiB7ICAK KyAgICAgICAgICAgICAgLi4uIHNlZSBiZWxvdyAuLi4gIAorICAgICAgICAgICAgfSB1OyAgCisg ICAgfTsgIAorICAgIAogd2hpbGUgdGhlIHJlc3Qgb2YgaHlwZXJjYWxsIHNwZWNpZmljIHN0cnVj dHVyZXMgYXJlIHBhcnQgb2YgdGhlIHRoaXMgc3RydWN0dXJlLgogCi0jIyMgQmFzaWMgdHlwZTog c3RydWN0IHhlbl9saXZlcGF0Y2hfbmFtZQorIyMjIEJhc2ljIHR5cGU6IHN0cnVjdCB4ZW5cX2xp dmVwYXRjaFxfbmFtZQogCiBNb3N0IG9mIHRoZSBoeXBlcmNhbGxzIGVtcGxveSBhbiBzaGFyZWQg c3RydWN0dXJlIGNhbGxlZCBgc3RydWN0IHhlbl9saXZlcGF0Y2hfbmFtZWAKIHdoaWNoIGNvbnRh aW5zOgpAQCAtNDgwLDI2ICs0NTcsMjQgQEAgd2hpY2ggY29udGFpbnM6CiAKIFRoZSBzdHJ1Y3R1 cmUgaXMgYXMgZm9sbG93OgogCi08cHJlPgotLyogIAotICogIFVuaXF1ZWx5IGlkZW50aWZpZXMg dGhlIHBheWxvYWQuICBTaG91bGQgYmUgaHVtYW4gcmVhZGFibGUuICAKLSAqIEluY2x1ZGVzIHRo ZSBOVUwgdGVybWluYXRvciAgCi0gKi8gIAotI2RlZmluZSBYRU5fTElWRVBBVENIX05BTUVfU0la RSAxMjggIAotc3RydWN0IHhlbl9saXZlcGF0Y2hfbmFtZSB7ICAKLSAgICBYRU5fR1VFU1RfSEFO RExFXzY0KGNoYXIpIG5hbWU7ICAgICAgICAgLyogSU4sIHBvaW50ZXIgdG8gbmFtZS4gKi8gIAot ICAgIHVpbnQxNl90IHNpemU7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTiwgc2l6ZSBv ZiBuYW1lLiBNYXkgYmUgdXB0byAgIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBYRU5fTElWRVBBVENIX05BTUVfU0laRS4gKi8gIAotICAgIHVpbnQxNl90 IHBhZFszXTsgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTjogTVVTVCBiZSB6ZXJvLiAqLyAK LX07ICAKLTwvcHJlPgotCi0jIyMgWEVOX1NZU0NUTF9MSVZFUEFUQ0hfVVBMT0FEICgwKQorICAg IC8qICAKKyAgICAgKiAgVW5pcXVlbHkgaWRlbnRpZmllcyB0aGUgcGF5bG9hZC4gIFNob3VsZCBi ZSBodW1hbiByZWFkYWJsZS4gIAorICAgICAqIEluY2x1ZGVzIHRoZSBOVUwgdGVybWluYXRvciAg CisgICAgICovICAKKyAgICAjZGVmaW5lIFhFTl9MSVZFUEFUQ0hfTkFNRV9TSVpFIDEyOCAgCisg ICAgc3RydWN0IHhlbl9saXZlcGF0Y2hfbmFtZSB7ICAKKyAgICAgICAgWEVOX0dVRVNUX0hBTkRM RV82NChjaGFyKSBuYW1lOyAgICAgICAgIC8qIElOLCBwb2ludGVyIHRvIG5hbWUuICovICAKKyAg ICAgICAgdWludDE2X3Qgc2l6ZTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIElOLCBzaXpl IG9mIG5hbWUuIE1heSBiZSB1cHRvICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBYRU5fTElWRVBBVENIX05BTUVfU0laRS4gKi8gIAorICAgICAg ICB1aW50MTZfdCBwYWRbM107ICAgICAgICAgICAgICAgICAgICAgICAgLyogSU46IE1VU1QgYmUg emVyby4gKi8gCisgICAgfTsgIAorCisjIyMgWEVOXF9TWVNDVExcX0xJVkVQQVRDSFxfVVBMT0FE ICgwKQogCiBVcGxvYWQgYSBwYXlsb2FkIHRvIHRoZSBoeXBlcnZpc29yLiBUaGUgcGF5bG9hZCBp cyB2ZXJpZmllZAogYWdhaW5zdCBiYXNpYyBjaGVja3MgYW5kIGlmIHRoZXJlIGFyZSBhbnkgaXNz dWVzIHRoZSBwcm9wZXIgcmV0dXJuIGNvZGUKIHdpbGwgYmUgcmV0dXJuZWQuIFRoZSBwYXlsb2Fk IGlzIG5vdCBhcHBsaWVkIGF0IHRoaXMgdGltZSAtIHRoYXQgaXMKLWNvbnRyb2xsZWQgYnkgKlhF Tl9TWVNDVExfTElWRVBBVENIX0FDVElPTiouCitjb250cm9sbGVkIGJ5ICpYRU5cX1NZU0NUTFxf TElWRVBBVENIXF9BQ1RJT04qLgogCiBUaGUgY2FsbGVyIHByb3ZpZGVzOgogCkBAIC01MTIsMjEg KzQ4NywxOSBAQCBwYXlsb2FkLiBJdCBjYW4gYmUgZW1iZWRkZWQgaW50byB0aGUgRUxGIHBheWxv YWQgYXQgY3JlYXRpb24gdGltZQogYW5kIGV4dHJhY3RlZCBieSB0b29scy4KIAogVGhlIHJldHVy biB2YWx1ZSBpcyB6ZXJvIGlmIHRoZSBwYXlsb2FkIHdhcyBzdWNjZXNmdWxseSB1cGxvYWRlZC4K LU90aGVyd2lzZSBhbiAtWEVOX0VYWCByZXR1cm4gdmFsdWUgaXMgcHJvdmlkZWQuIER1cGxpY2F0 ZSBgbmFtZWAgYXJlIG5vdCBzdXBwb3J0ZWQuCitPdGhlcndpc2UgYW4gLVhFTlxfRVhYIHJldHVy biB2YWx1ZSBpcyBwcm92aWRlZC4gRHVwbGljYXRlIGBuYW1lYCBhcmUgbm90IHN1cHBvcnRlZC4K IAogVGhlIGBwYXlsb2FkYCBpcyB0aGUgRUxGIHBheWxvYWQgYXMgbWVudGlvbmVkIGluIHRoZSBg UGF5bG9hZCBmb3JtYXRgIHNlY3Rpb24uCiAKIFRoZSBzdHJ1Y3R1cmUgaXMgYXMgZm9sbG93Ogog Ci08cHJlPgotc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX3VwbG9hZCB7ICAKLSAgICB4ZW5f bGl2ZXBhdGNoX25hbWVfdCBuYW1lOyAgICAgICAgICAvKiBJTiwgbmFtZSBvZiB0aGUgcGF0Y2gu ICovICAKLSAgICB1aW50NjRfdCBzaXplOyAgICAgICAgICAgICAgICAgICAgICAvKiBJTiwgc2l6 ZSBvZiB0aGUgRUxGIGZpbGUuICovICAKLSAgICBYRU5fR1VFU1RfSEFORExFXzY0KHVpbnQ4KSBw YXlsb2FkOyAvKiBJTjogRUxGIGZpbGUuICovICAKLX07ICAKLTwvcHJlPgorICAgIHN0cnVjdCB4 ZW5fc3lzY3RsX2xpdmVwYXRjaF91cGxvYWQgeyAgCisgICAgICAgIHhlbl9saXZlcGF0Y2hfbmFt ZV90IG5hbWU7ICAgICAgICAgIC8qIElOLCBuYW1lIG9mIHRoZSBwYXRjaC4gKi8gIAorICAgICAg ICB1aW50NjRfdCBzaXplOyAgICAgICAgICAgICAgICAgICAgICAvKiBJTiwgc2l6ZSBvZiB0aGUg RUxGIGZpbGUuICovICAKKyAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV82NCh1aW50OCkgcGF5bG9h ZDsgLyogSU46IEVMRiBmaWxlLiAqLyAgCisgICAgfTsgIAogCi0jIyMgWEVOX1NZU0NUTF9MSVZF UEFUQ0hfR0VUICgxKQorIyMjIFhFTlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX0dFVCAoMSkKIAogUmV0 cmlldmUgYW4gc3RhdHVzIG9mIGFuIHNwZWNpZmljIHBheWxvYWQuIFRoaXMgY2FsbGVyIHByb3Zp ZGVzOgogCkBAIC01MzcsMzMgKzUxMCwyOSBAQCBSZXRyaWV2ZSBhbiBzdGF0dXMgb2YgYW4gc3Bl Y2lmaWMgcGF5bG9hZC4gVGhpcyBjYWxsZXIgcHJvdmlkZXM6CiBVcG9uIGNvbXBsZXRpb24gdGhl IGBzdHJ1Y3QgeGVuX2xpdmVwYXRjaF9zdGF0dXNgIGlzIHVwZGF0ZWQuCiAKICAqIGBzdGF0dXNg IC0gaW5kaWNhdGVzIHRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgcGF5bG9hZDoKLSAgICogKkxJ VkVQQVRDSF9TVEFUVVNfQ0hFQ0tFRCogICgxKSBsb2FkZWQgYW5kIHRoZSBFTEYgcGF5bG9hZCBz YWZldHkgY2hlY2tzIHBhc3NlZC4KLSAgICogKkxJVkVQQVRDSF9TVEFUVVNfQVBQTElFRCogKDIp IGxvYWRlZCwgY2hlY2tlZCwgYW5kIGFwcGxpZWQuCisgICAqICpMSVZFUEFUQ0hcX1NUQVRVU1xf Q0hFQ0tFRCogICgxKSBsb2FkZWQgYW5kIHRoZSBFTEYgcGF5bG9hZCBzYWZldHkgY2hlY2tzIHBh c3NlZC4KKyAgICogKkxJVkVQQVRDSFxfU1RBVFVTXF9BUFBMSUVEKiAoMikgbG9hZGVkLCBjaGVj a2VkLCBhbmQgYXBwbGllZC4KICAgICogIE5vIG90aGVyIHZhbHVlIGlzIHBvc3NpYmxlLgotICog YHJjYCAtIC1YRU5fRVhYIHR5cGUgZXJyb3JzIGVuY291bnRlcmVkIHdoaWxlIHBlcmZvcm1pbmcg dGhlIGxhc3QKLSAgIExJVkVQQVRDSF9BQ1RJT05fKiBvcGVyYXRpb24uIFRoZSBub3JtYWwgdmFs dWVzIGNhbiBiZSB6ZXJvIG9yIC1YRU5fRUFHQUlOIHdoaWNoCisgKiBgcmNgIC0gLVhFTlxfRVhY IHR5cGUgZXJyb3JzIGVuY291bnRlcmVkIHdoaWxlIHBlcmZvcm1pbmcgdGhlIGxhc3QKKyAgIExJ VkVQQVRDSFxfQUNUSU9OXF9cKiBvcGVyYXRpb24uIFRoZSBub3JtYWwgdmFsdWVzIGNhbiBiZSB6 ZXJvIG9yIC1YRU5cX0VBR0FJTiB3aGljaAogICAgcmVzcGVjdGl2ZWx5IG1lYW46IHN1Y2Nlc3Mg b3Igb3BlcmF0aW9uIGluIHByb2dyZXNzLiBPdGhlciB2YWx1ZXMKICAgIGltcGx5IGFuIGVycm9y IG9jY3VycmVkLiBJZiB0aGVyZSBpcyBhbiBlcnJvciBpbiBgcmNgLCBgc3RhdHVzYCB3aWxsICoq Tk9UKioKICAgIGhhdmUgY2hhbmdlZC4KIAotVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgaHlwZXJj YWxsIGlzIHplcm8gb24gc3VjY2VzcyBhbmQgLVhFTl9FWFggb24gZmFpbHVyZS4KLShOb3RlIHRo YXQgdGhlIGByY2BgIHZhbHVlIGNhbiBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgcmV0dXJuIHZhbHVl LCBhcyBpbgotcmM9LVhFTl9FQUdBSU4gYW5kIHJldHVybiB2YWx1ZSBjYW4gYmUgMCkuCitUaGUg cmV0dXJuIHZhbHVlIG9mIHRoZSBoeXBlcmNhbGwgaXMgemVybyBvbiBzdWNjZXNzIGFuZCAtWEVO XF9FWFggb24gZmFpbHVyZS4KKyhOb3RlIHRoYXQgdGhlIGByY2AgdmFsdWUgY2FuIGJlIGRpZmZl cmVudCBmcm9tIHRoZSByZXR1cm4gdmFsdWUsIGFzIGluCityYz0tWEVOXF9FQUdBSU4gYW5kIHJl dHVybiB2YWx1ZSBjYW4gYmUgMCkuCiAKIEZvciBleGFtcGxlLCBzdXBwb3NpbmcgdGhlcmUgaXMg YW4gcGF5bG9hZDoKIAotPHByZT4KLSBzdGF0dXM6IExJVkVQQVRDSF9TVEFUVVNfQ0hFQ0tFRAot IHJjOiAwCi08L3ByZT4KKyAgICAgc3RhdHVzOiBMSVZFUEFUQ0hfU1RBVFVTX0NIRUNLRUQKKyAg ICAgcmM6IDAKIAotV2UgYXBwbHkgYW4gYWN0aW9uIC0gTElWRVBBVENIX0FDVElPTl9SRVZFUlQg LSB0byByZXZlcnQgaXQgKHdoaWNoIHdvbid0IHdvcmsKK1dlIGFwcGx5IGFuIGFjdGlvbiAtIExJ VkVQQVRDSFxfQUNUSU9OXF9SRVZFUlQgLSB0byByZXZlcnQgaXQgKHdoaWNoIHdvbid0IHdvcmsK IGFzIHdlIGhhdmUgbm90IGV2ZW4gYXBwbGllZCBpdC4gQWZ0ZXJ3YXJkcyB3ZSB3aWxsIGhhdmU6 CiAKLTxwcmU+Ci0gc3RhdHVzOiBMSVZFUEFUQ0hfU1RBVFVTX0NIRUNLRUQKLSByYzogLVhFTl9F SU5WQUwKLTwvcHJlPgorICAgICBzdGF0dXM6IExJVkVQQVRDSF9TVEFUVVNfQ0hFQ0tFRAorICAg ICByYzogLVhFTl9FSU5WQUwKIAogSXQgaGFzIGZhaWxlZCBidXQgaXQgcmVtYWlucyBsb2FkZWQu CiAKQEAgLTU3MSwyMSArNTQwLDE5IEBAIFRoaXMgb3BlcmF0aW9uIGlzIHN5bmNocm9ub3VzIGFu ZCBkb2VzIG5vdCByZXF1aXJlIHByZWVtcHRpb24uCiAKIFRoZSBzdHJ1Y3R1cmUgaXMgYXMgZm9s bG93OgogCi08cHJlPgotc3RydWN0IHhlbl9saXZlcGF0Y2hfc3RhdHVzIHsgIAotI2RlZmluZSBM SVZFUEFUQ0hfU1RBVFVTX0NIRUNLRUQgICAgICAxICAKLSNkZWZpbmUgTElWRVBBVENIX1NUQVRV U19BUFBMSUVEICAgICAgMiAgCi0gICAgdWludDMyX3Qgc3RhdGU7ICAgICAgICAgICAgICAgICAv KiBPVVQ6IExJVkVQQVRDSF9TVEFURV8qLiAqLyAgCi0gICAgaW50MzJfdCByYzsgICAgICAgICAg ICAgICAgICAgICAvKiBPVVQ6IDAgaWYgbm8gZXJyb3IsIG90aGVyd2lzZSAtWEVOX0VYWC4gKi8g IAotfTsgIAorICAgIHN0cnVjdCB4ZW5fbGl2ZXBhdGNoX3N0YXR1cyB7ICAKKyAgICAjZGVmaW5l IExJVkVQQVRDSF9TVEFUVVNfQ0hFQ0tFRCAgICAgIDEgIAorICAgICNkZWZpbmUgTElWRVBBVENI X1NUQVRVU19BUFBMSUVEICAgICAgMiAgCisgICAgICAgIHVpbnQzMl90IHN0YXRlOyAgICAgICAg ICAgICAgICAgLyogT1VUOiBMSVZFUEFUQ0hfU1RBVEVfKi4gKi8gIAorICAgICAgICBpbnQzMl90 IHJjOyAgICAgICAgICAgICAgICAgICAgIC8qIE9VVDogMCBpZiBubyBlcnJvciwgb3RoZXJ3aXNl IC1YRU5fRVhYLiAqLyAgCisgICAgfTsgIAorICAgIAorICAgIHN0cnVjdCB4ZW5fc3lzY3RsX2xp dmVwYXRjaF9nZXQgeyAgCisgICAgICAgIHhlbl9saXZlcGF0Y2hfbmFtZV90IG5hbWU7ICAgICAg LyogSU4sIHRoZSBuYW1lIG9mIHRoZSBwYXlsb2FkLiAqLyAgCisgICAgICAgIHhlbl9saXZlcGF0 Y2hfc3RhdHVzX3Qgc3RhdHVzOyAgLyogSU4vT1VUOiBzdGF0dXMgb2YgdGhlIHBheWxvYWQuICov ICAKKyAgICB9OyAgCiAKLXN0cnVjdCB4ZW5fc3lzY3RsX2xpdmVwYXRjaF9nZXQgeyAgCi0gICAg eGVuX2xpdmVwYXRjaF9uYW1lX3QgbmFtZTsgICAgICAvKiBJTiwgdGhlIG5hbWUgb2YgdGhlIHBh eWxvYWQuICovICAKLSAgICB4ZW5fbGl2ZXBhdGNoX3N0YXR1c190IHN0YXR1czsgIC8qIElOL09V VDogc3RhdHVzIG9mIHRoZSBwYXlsb2FkLiAqLyAgCi19OyAgCi08L3ByZT4KLQotIyMjIFhFTl9T WVNDVExfTElWRVBBVENIX0xJU1QgKDIpCisjIyMgWEVOXF9TWVNDVExcX0xJVkVQQVRDSFxfTElT VCAoMikKIAogUmV0cmlldmUgYW4gYXJyYXkgb2YgYWJicmV2aWF0ZWQgc3RhdHVzIGFuZCBuYW1l cyBvZiBwYXlsb2FkcyB0aGF0IGFyZSBsb2FkZWQgaW4gdGhlCiBoeXBlcnZpc29yLgpAQCAtNjA2 LDIwICs1NzMsMjAgQEAgVGhlIGNhbGxlciBwcm92aWRlczoKICAgIHN0cnVjdHVyZXMuIENhbGxl ciAqTVVTVCogYWxsb2NhdGUgdXAgdG8gYG5yYCBvZiB0aGVtLgogICogYG5hbWVgIC0gdmlydHVh bCBhZGRyZXNzIG9mIHdoZXJlIHRvIHdyaXRlIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgcGF5bG9h ZC4KICAgIENhbGxlciAqTVVTVCogYWxsb2NhdGUgdXAgdG8gYG5yYCBvZiB0aGVtLiBFYWNoICpN VVNUKiBiZSBvZgotICAgKipYRU5fTElWRVBBVENIX05BTUVfU0laRSoqIHNpemUuIE5vdGUgdGhh dCAqKlhFTl9MSVZFUEFUQ0hfTkFNRV9TSVpFKiogaW5jbHVkZXMKKyAgICoqWEVOXF9MSVZFUEFU Q0hcX05BTUVcX1NJWkUqKiBzaXplLiBOb3RlIHRoYXQgKipYRU5cX0xJVkVQQVRDSFxfTkFNRVxf U0laRSoqIGluY2x1ZGVzCiAgICB0aGUgTlVMIHRlcm1pbmF0b3IuCiAgKiBgbGVuYCAtIHZpcnR1 YWwgYWRkcmVzcyBvZiB3aGVyZSB0byB3cml0ZSB0aGUgbGVuZ3RoIG9mIGVhY2ggdW5pcXVlIG5h bWUKICAgIG9mIHRoZSBwYXlsb2FkLiBDYWxsZXIgKk1VU1QqIGFsbG9jYXRlIHVwIHRvIGBucmAg b2YgdGhlbS4gRWFjaCAqTVVTVCogYmUKLSAgIG9mIHNpemVvZih1aW50MzJfdCkgKDQgYnl0ZXMp LgorICAgb2Ygc2l6ZW9mKHVpbnQzMlxfdCkgKDQgYnl0ZXMpLgogCiBJZiB0aGUgaHlwZXJjYWxs IHJldHVybnMgYW4gcG9zaXRpdmUgbnVtYmVyLCBpdCBpcyB0aGUgbnVtYmVyICh1cHRvIGBucmAK IHByb3ZpZGVkIHRvIHRoZSBoeXBlcmNhbGwpIG9mIHRoZSBwYXlsb2FkcyByZXR1cm5lZCwgYWxv bmcgd2l0aCBgbnJgIHVwZGF0ZWQKIHdpdGggdGhlIG51bWJlciBvZiByZW1haW5pbmcgcGF5bG9h ZHMsIGB2ZXJzaW9uYCB1cGRhdGVkIChpdCBtYXkgYmUgdGhlIHNhbWUKIGFjcm9zcyBoeXBlcmNh bGxzIC0gaWYgaXQgdmFyaWVzIHRoZSBkYXRhIGlzIHN0YWxlIGFuZCBmdXJ0aGVyIGNhbGxzIGNv dWxkCi1mYWlsKS4gVGhlIGBzdGF0dXNgLCBgbmFtZWAsIGFuZCBgbGVuYCcgYXJlIHVwZGF0ZWQg YXQgdGhlaXIgZGVzaWduZWQgaW5kZXgKK2ZhaWwpLiBUaGUgYHN0YXR1c2AsIGBuYW1lYCwgYW5k IGBsZW5gIGFyZSB1cGRhdGVkIGF0IHRoZWlyIGRlc2lnbmVkIGluZGV4CiB2YWx1ZSAoYGlkeGAp IHdpdGggdGhlIHJldHVybmVkIHZhbHVlIG9mIGRhdGEuCiAKLUlmIHRoZSBoeXBlcmNhbGwgcmV0 dXJucyAtWEVOX0UyQklHIHRoZSBgbnJgIGlzIHRvbyBiaWcgYW5kIHNob3VsZCBiZQorSWYgdGhl IGh5cGVyY2FsbCByZXR1cm5zIC1YRU5cX0UyQklHIHRoZSBgbnJgIGlzIHRvbyBiaWcgYW5kIHNo b3VsZCBiZQogbG93ZXJlZC4KIAogSWYgdGhlIGh5cGVyY2FsbCByZXR1cm5zIGFuIHplcm8gdmFs dWUgdGhlcmUgYXJlIG5vIG1vcmUgcGF5bG9hZHMuCkBAIC02MzQsNjEgKzYwMSw1OSBAQCBkYXRh IGFuZCBzdGFydCBmcm9tIHNjcmF0Y2guIEl0IGlzIE9LIGZvciB0aGUgdG9vbHN0YWNrIHRvIHVz ZSB0aGUgbmV3CiBUaGUgYHN0cnVjdCB4ZW5fbGl2ZXBhdGNoX3N0YXR1c2Agc3RydWN0dXJlIGNv bnRhaW5zIGFuIHN0YXR1cyBvZiBwYXlsb2FkIHdoaWNoIGluY2x1ZGVzOgogCiAgKiBgc3RhdHVz YCAtIGluZGljYXRlcyB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHBheWxvYWQ6Ci0gICAqICpM SVZFUEFUQ0hfU1RBVFVTX0NIRUNLRUQqICAoMSkgbG9hZGVkIGFuZCB0aGUgRUxGIHBheWxvYWQg c2FmZXR5IGNoZWNrcyBwYXNzZWQuCi0gICAqICpMSVZFUEFUQ0hfU1RBVFVTX0FQUExJRUQqICgy KSBsb2FkZWQsIGNoZWNrZWQsIGFuZCBhcHBsaWVkLgorICAgKiAqTElWRVBBVENIXF9TVEFUVVNc X0NIRUNLRUQqICAoMSkgbG9hZGVkIGFuZCB0aGUgRUxGIHBheWxvYWQgc2FmZXR5IGNoZWNrcyBw YXNzZWQuCisgICAqICpMSVZFUEFUQ0hcX1NUQVRVU1xfQVBQTElFRCogKDIpIGxvYWRlZCwgY2hl Y2tlZCwgYW5kIGFwcGxpZWQuCiAgICAqICBObyBvdGhlciB2YWx1ZSBpcyBwb3NzaWJsZS4KLSAq IGByY2AgLSAtWEVOX0VYWCB0eXBlIGVycm9ycyBlbmNvdW50ZXJlZCB3aGlsZSBwZXJmb3JtaW5n IHRoZSBsYXN0Ci0gICBMSVZFUEFUQ0hfQUNUSU9OXyogb3BlcmF0aW9uLiBUaGUgbm9ybWFsIHZh bHVlcyBjYW4gYmUgemVybyBvciAtWEVOX0VBR0FJTiB3aGljaAorICogYHJjYCAtIC1YRU5cX0VY WCB0eXBlIGVycm9ycyBlbmNvdW50ZXJlZCB3aGlsZSBwZXJmb3JtaW5nIHRoZSBsYXN0CisgICBM SVZFUEFUQ0hcX0FDVElPTlxfXCogb3BlcmF0aW9uLiBUaGUgbm9ybWFsIHZhbHVlcyBjYW4gYmUg emVybyBvciAtWEVOXF9FQUdBSU4gd2hpY2gKICAgIHJlc3BlY3RpdmVseSBtZWFuOiBzdWNjZXNz IG9yIG9wZXJhdGlvbiBpbiBwcm9ncmVzcy4gT3RoZXIgdmFsdWVzCiAgICBpbXBseSBhbiBlcnJv ciBvY2N1cnJlZC4gSWYgdGhlcmUgaXMgYW4gZXJyb3IgaW4gYHJjYCwgYHN0YXR1c2Agd2lsbCAq Kk5PVCoqCiAgICBoYXZlIGNoYW5nZWQuCiAKIFRoZSBzdHJ1Y3R1cmUgaXMgYXMgZm9sbG93Ogog Ci08cHJlPgotc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX2xpc3QgeyAgCi0gICAgdWludDMy X3QgdmVyc2lvbjsgICAgICAgICAgICAgICAgICAgICAgIC8qIE9VVDogSHlwZXJ2aXNvciBzdGFt cHMgdmFsdWUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIHZhcmllcyBiZXR3ZWVuIGNhbGxzLCB3ZSBhcmUgIAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnZXR0aW5nIHN0YWxlIGRhdGEuICovICAKLSAgICB1 aW50MzJfdCBpZHg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSU46IEluZGV4IGludG8g aHlwZXJ2aXNvciBsaXN0LiAqLwotICAgIHVpbnQzMl90IG5yOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiBJTjogSG93IG1hbnkgc3RhdHVzLCBuYW1lcywgYW5kIGxlbiAgCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZCBiZSBmaWxsZWQg b3V0LiBDYW4gYmUgemVybyB0byBnZXQgIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhbW91bnQgb2YgcGF5bG9hZHMgYW5kIHZlcnNpb24uICAKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1VUOiBIb3cgbWFueSBw YXlsb2FkcyBsZWZ0LiAqLyAgCi0gICAgdWludDMyX3QgcGFkOyAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8qIElOOiBNdXN0IGJlIHplcm8uICovICAKLSAgICBYRU5fR1VFU1RfSEFORExFXzY0 KHhlbl9saXZlcGF0Y2hfc3RhdHVzX3QpIHN0YXR1czsgIC8qIE9VVC4gTXVzdCBoYXZlIGVub3Vn aCAgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNl IGFsbG9jYXRlIGZvciBuciBvZiB0aGVtLiAqLyAgCi0gICAgWEVOX0dVRVNUX0hBTkRMRV82NChj aGFyKSBpZDsgICAgICAgICAgIC8qIE9VVDogQXJyYXkgb2YgbmFtZXMuIEVhY2ggbWVtYmVyICAK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVVTVCBYRU5f TElWRVBBVENIX05BTUVfU0laRSBpbiBzaXplLiAgCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE11c3QgaGF2ZSBuciBvZiB0aGVtLiAqLyAgCi0gICAgWEVO X0dVRVNUX0hBTkRMRV82NCh1aW50MzIpIGxlbjsgICAgICAgIC8qIE9VVDogQXJyYXkgb2YgbGVu Z3RocyBvZiBuYW1lJ3MuICAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTXVzdCBoYXZlIG5yIG9mIHRoZW0uICovICAKLX07ICAKLTwvcHJlPgotCi0jIyMg WEVOX1NZU0NUTF9MSVZFUEFUQ0hfQUNUSU9OICgzKQorICAgIHN0cnVjdCB4ZW5fc3lzY3RsX2xp dmVwYXRjaF9saXN0IHsgIAorICAgICAgICB1aW50MzJfdCB2ZXJzaW9uOyAgICAgICAgICAgICAg ICAgICAgICAgLyogT1VUOiBIeXBlcnZpc29yIHN0YW1wcyB2YWx1ZS4KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHZhcmllcyBiZXR3ZWVuIGNh bGxzLCB3ZSBhcmUgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ2V0dGluZyBzdGFsZSBkYXRhLiAqLyAgCisgICAgICAgIHVpbnQzMl90IGlkeDsg ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTjogSW5kZXggaW50byBoeXBlcnZpc29yIGxp c3QuICovCisgICAgICAgIHVpbnQzMl90IG5yOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv KiBJTjogSG93IG1hbnkgc3RhdHVzLCBuYW1lcywgYW5kIGxlbiAgCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGQgYmUgZmlsbGVkIG91dC4g Q2FuIGJlIHplcm8gdG8gZ2V0ICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGFtb3VudCBvZiBwYXlsb2FkcyBhbmQgdmVyc2lvbi4gIAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1VUOiBIb3cgbWFu eSBwYXlsb2FkcyBsZWZ0LiAqLyAgCisgICAgICAgIHVpbnQzMl90IHBhZDsgICAgICAgICAgICAg ICAgICAgICAgICAgICAvKiBJTjogTXVzdCBiZSB6ZXJvLiAqLyAgCisgICAgICAgIFhFTl9HVUVT VF9IQU5ETEVfNjQoeGVuX2xpdmVwYXRjaF9zdGF0dXNfdCkgc3RhdHVzOyAgLyogT1VULiBNdXN0 IGhhdmUgZW5vdWdoICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNwYWNlIGFsbG9jYXRlIGZvciBuciBvZiB0aGVtLiAqLyAgCisgICAgICAgIFhF Tl9HVUVTVF9IQU5ETEVfNjQoY2hhcikgaWQ7ICAgICAgICAgICAvKiBPVVQ6IEFycmF5IG9mIG5h bWVzLiBFYWNoIG1lbWJlciAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBNVVNUIFhFTl9MSVZFUEFUQ0hfTkFNRV9TSVpFIGluIHNpemUuICAKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11c3QgaGF2 ZSBuciBvZiB0aGVtLiAqLyAgCisgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQodWludDMyKSBs ZW47ICAgICAgICAvKiBPVVQ6IEFycmF5IG9mIGxlbmd0aHMgb2YgbmFtZSdzLiAgCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdXN0IGhhdmUgbnIg b2YgdGhlbS4gKi8gIAorICAgIH07ICAKKworIyMjIFhFTlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX0FD VElPTiAoMykKIAogUGVyZm9ybSBhbiBvcGVyYXRpb24gb24gdGhlIHBheWxvYWQgc3RydWN0dXJl IHJlZmVyZW5jZWQgYnkgdGhlIGBuYW1lYCBmaWVsZC4KIFRoZSBvcGVyYXRpb24gcmVxdWVzdCBp cyBhc3luY2hyb25vdXMgYW5kIHRoZSBzdGF0dXMgc2hvdWxkIGJlIHJldHJpZXZlZAotYnkgdXNp bmcgZWl0aGVyICoqWEVOX1NZU0NUTF9MSVZFUEFUQ0hfR0VUKiogb3IgKipYRU5fU1lTQ1RMX0xJ VkVQQVRDSF9MSVNUKiogaHlwZXJjYWxsLgorYnkgdXNpbmcgZWl0aGVyICoqWEVOXF9TWVNDVExc X0xJVkVQQVRDSFxfR0VUKiogb3IgKipYRU5cX1NZU0NUTFxfTElWRVBBVENIXF9MSVNUKiogaHlw ZXJjYWxsLgogCiBUaGUgY2FsbGVyIHByb3ZpZGVzOgogCi0gKiBBICdzdHJ1Y3QgeGVuX2xpdmVw YXRjaF9uYW1lYCBgbmFtZWAgY29udGFpbmluZyB0aGUgdW5pcXVlIG5hbWUuCisgKiBBIGBzdHJ1 Y3QgeGVuX2xpdmVwYXRjaF9uYW1lYCBgbmFtZWAgY29udGFpbmluZyB0aGUgdW5pcXVlIG5hbWUu CiAgKiBgY21kYCB0aGUgY29tbWFuZCByZXF1ZXN0ZWQ6Ci0gICogKkxJVkVQQVRDSF9BQ1RJT05f VU5MT0FEKiAoMSkgdW5sb2FkIHRoZSBwYXlsb2FkLgorICAqICpMSVZFUEFUQ0hcX0FDVElPTlxf VU5MT0FEKiAoMSkgdW5sb2FkIHRoZSBwYXlsb2FkLgogICAgQW55IGZ1cnRoZXIgaHlwZXJjYWxs cyBhZ2FpbnN0IHRoZSBgbmFtZWAgd2lsbCByZXN1bHQgaW4gZmFpbHVyZSB1bmxlc3MKLSAgICoq WEVOX1NZU0NUTF9MSVZFUEFUQ0hfVVBMT0FEKiogaHlwZXJjYWxsIGlzIHBlcmZvbWVkIHdpdGgg c2FtZSBgbmFtZWAuCi0gICogKkxJVkVQQVRDSF9BQ1RJT05fUkVWRVJUKiAoMikgcmV2ZXJ0IHRo ZSBwYXlsb2FkLiBJZiB0aGUgb3BlcmF0aW9uIHRha2VzCi0gIG1vcmUgdGltZSB0aGFuIHRoZSB1 cHBlciBib3VuZCBvZiB0aW1lIHRoZSBgcmNgIGluIGB4ZW5fbGl2ZXBhdGNoX3N0YXR1cycKLSAg cmV0cmlldmVkIHZpYSAqKlhFTl9TWVNDVExfTElWRVBBVENIX0dFVCoqIHdpbGwgYmUgLVhFTl9F QlVTWS4KLSAgKiAqTElWRVBBVENIX0FDVElPTl9BUFBMWSogKDMpIGFwcGx5IHRoZSBwYXlsb2Fk LiBJZiB0aGUgb3BlcmF0aW9uIHRha2VzCi0gIG1vcmUgdGltZSB0aGFuIHRoZSB1cHBlciBib3Vu ZCBvZiB0aW1lIHRoZSBgcmNgIGluIGB4ZW5fbGl2ZXBhdGNoX3N0YXR1cycKLSAgcmV0cmlldmVk IHZpYSAqKlhFTl9TWVNDVExfTElWRVBBVENIX0dFVCoqIHdpbGwgYmUgLVhFTl9FQlVTWS4KLSAg KiAqTElWRVBBVENIX0FDVElPTl9SRVBMQUNFKiAoNCkgcmV2ZXJ0IGFsbCBhcHBsaWVkIHBheWxv YWRzIGFuZCBhcHBseSB0aGlzCisgICAqKlhFTlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX1VQTE9BRCoq IGh5cGVyY2FsbCBpcyBwZXJmb21lZCB3aXRoIHNhbWUgYG5hbWVgLgorICAqICpMSVZFUEFUQ0hc X0FDVElPTlxfUkVWRVJUKiAoMikgcmV2ZXJ0IHRoZSBwYXlsb2FkLiBJZiB0aGUgb3BlcmF0aW9u IHRha2VzCisgIG1vcmUgdGltZSB0aGFuIHRoZSB1cHBlciBib3VuZCBvZiB0aW1lIHRoZSBgcmNg IGluIGB4ZW5fbGl2ZXBhdGNoX3N0YXR1c2AKKyAgcmV0cmlldmVkIHZpYSAqKlhFTlxfU1lTQ1RM XF9MSVZFUEFUQ0hcX0dFVCoqIHdpbGwgYmUgLVhFTlxfRUJVU1kuCisgICogKkxJVkVQQVRDSFxf QUNUSU9OXF9BUFBMWSogKDMpIGFwcGx5IHRoZSBwYXlsb2FkLiBJZiB0aGUgb3BlcmF0aW9uIHRh a2VzCisgIG1vcmUgdGltZSB0aGFuIHRoZSB1cHBlciBib3VuZCBvZiB0aW1lIHRoZSBgcmNgIGlu IGB4ZW5fbGl2ZXBhdGNoX3N0YXR1c2AKKyAgcmV0cmlldmVkIHZpYSAqKlhFTlxfU1lTQ1RMXF9M SVZFUEFUQ0hcX0dFVCoqIHdpbGwgYmUgLVhFTlxfRUJVU1kuCisgICogKkxJVkVQQVRDSFxfQUNU SU9OXF9SRVBMQUNFKiAoNCkgcmV2ZXJ0IGFsbCBhcHBsaWVkIHBheWxvYWRzIGFuZCBhcHBseSB0 aGlzCiAgIHBheWxvYWQuIElmIHRoZSBvcGVyYXRpb24gdGFrZXMgbW9yZSB0aW1lIHRoYW4gdGhl IHVwcGVyIGJvdW5kIG9mIHRpbWUKLSAgdGhlIGByY2AgaW4gYHhlbl9saXZlcGF0Y2hfc3RhdHVz JyByZXRyaWV2ZWQgdmlhICoqWEVOX1NZU0NUTF9MSVZFUEFUQ0hfR0VUKioKLSAgd2lsbCBiZSAt WEVOX0VCVVNZLgorICB0aGUgYHJjYCBpbiBgeGVuX2xpdmVwYXRjaF9zdGF0dXNgIHJldHJpZXZl ZCB2aWEgKipYRU5cX1NZU0NUTFxfTElWRVBBVENIXF9HRVQqKgorICB3aWxsIGJlIC1YRU5cX0VC VVNZLgogICogYHRpbWVgIHRoZSB1cHBlciBib3VuZCBvZiB0aW1lIChucykgdGhlIGNtZCBzaG91 bGQgdGFrZS4gWmVybyBtZWFucyB0byB1c2UKICAgIHRoZSBoeXBlcnZpc29yIGRlZmF1bHQuIElm IHdpdGhpbiB0aGUgdGltZSB0aGUgb3BlcmF0aW9uIGRvZXMgbm90IHN1Y2NlZWQKICAgIHRoZSBv cGVyYXRpb24gd291bGQgZ28gaW4gZXJyb3Igc3RhdGUuCkBAIC02OTgsNzEgKzY2Myw2NSBAQCBU aGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgemVybyB1bmxlc3MgdGhlIHByb3ZpZGVkIGZpZWxkcyBh cmUgaW5jb3JyZWN0LgogCiBUaGUgc3RydWN0dXJlIGlzIGFzIGZvbGxvdzoKIAotPHByZT4KLSNk ZWZpbmUgTElWRVBBVENIX0FDVElPTl9VTkxPQUQgIDEgIAotI2RlZmluZSBMSVZFUEFUQ0hfQUNU SU9OX1JFVkVSVCAgMiAgCi0jZGVmaW5lIExJVkVQQVRDSF9BQ1RJT05fQVBQTFkgICAzICAKLSNk ZWZpbmUgTElWRVBBVENIX0FDVElPTl9SRVBMQUNFIDQgIAotc3RydWN0IHhlbl9zeXNjdGxfbGl2 ZXBhdGNoX2FjdGlvbiB7ICAKLSAgICB4ZW5fbGl2ZXBhdGNoX25hbWVfdCBuYW1lOyAgICAgICAg ICAgICAgLyogSU4sIG5hbWUgb2YgdGhlIHBhdGNoLiAqLyAgCi0gICAgdWludDMyX3QgY21kOyAg ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIElOOiBMSVZFUEFUQ0hfQUNUSU9OXyogKi8gIAot ICAgIHVpbnQzMl90IHRpbWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTjogSWYgemVy byB0aGVuIHVzZXMgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyogaHlwZXJ2aXNvciBkZWZhdWx0LiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvKiBPciB1cHBlciBib3VuZCBvZiB0aW1lIChucykgKi8KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZm9yIG9wZXJhdGlvbiB0 byB0YWtlLiAqLwotfTsgIAotCi08L3ByZT4KLQotIyMgU3RhdGUgZGlhZ3JhbXMgb2YgTElWRVBB VENIX0FDVElPTiBjb21tYW5kcy4KKyAgICAjZGVmaW5lIExJVkVQQVRDSF9BQ1RJT05fVU5MT0FE ICAxICAKKyAgICAjZGVmaW5lIExJVkVQQVRDSF9BQ1RJT05fUkVWRVJUICAyICAKKyAgICAjZGVm aW5lIExJVkVQQVRDSF9BQ1RJT05fQVBQTFkgICAzICAKKyAgICAjZGVmaW5lIExJVkVQQVRDSF9B Q1RJT05fUkVQTEFDRSA0ICAKKyAgICBzdHJ1Y3QgeGVuX3N5c2N0bF9saXZlcGF0Y2hfYWN0aW9u IHsgIAorICAgICAgICB4ZW5fbGl2ZXBhdGNoX25hbWVfdCBuYW1lOyAgICAgICAgICAgICAgLyog SU4sIG5hbWUgb2YgdGhlIHBhdGNoLiAqLyAgCisgICAgICAgIHVpbnQzMl90IGNtZDsgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiBJTjogTElWRVBBVENIX0FDVElPTl8qICovICAKKyAgICAg ICAgdWludDMyX3QgdGltZTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIElOOiBJZiB6ZXJv IHRoZW4gdXNlcyAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyogaHlwZXJ2aXNvciBkZWZhdWx0LiAqLworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLyogT3IgdXBwZXIgYm91bmQgb2YgdGltZSAobnMpICov CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmb3Ig b3BlcmF0aW9uIHRvIHRha2UuICovCisgICAgfTsgIAorICAgIAorCisjIyBTdGF0ZSBkaWFncmFt cyBvZiBMSVZFUEFUQ0hcX0FDVElPTiBjb21tYW5kcy4KIAogVGhlcmUgaXMgYSBzdHJpY3Qgb3Jk ZXJpbmcgc3RhdGUgb2Ygd2hhdCB0aGUgY29tbWFuZHMgY2FuIGJlLgotVGhlIExJVkVQQVRDSF9B Q1RJT04gcHJlZml4IGhhcyBiZWVuIGRyb3BwZWQgdG8gZWFzeSByZWFkaW5nIGFuZAotZG9lcyBu b3QgaW5jbHVkZSB0aGUgTElWRVBBVENIX1NUQVRFUzoKK1RoZSBMSVZFUEFUQ0hcX0FDVElPTiBw cmVmaXggaGFzIGJlZW4gZHJvcHBlZCB0byBlYXN5IHJlYWRpbmcgYW5kCitkb2VzIG5vdCBpbmNs dWRlIHRoZSBMSVZFUEFUQ0hcX1NUQVRFUzoKIAotPHByZT4KLSAgICAgICAgICAgICAgLy0+XCAg Ci0gICAgICAgICAgICAgIFwgIC8gIAotIFVOTE9BRCA8LS0tIENIRUNLIC0tLT4gUkVQTEFDRXxB UFBMWSAtLT4gUkVWRVJUIC0tXCAgCi0gICAgICAgICAgICAgICAgXCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAKLSAgICAgICAgICAgICAgICAgXC0tLS0tLS0tLS0tLS0tLS0t LS08LS0tLS0tLS0tLS0tLS8gIAotCi08L3ByZT4KLSMjIFN0YXRlIHRyYW5zaXRpb24gdGFibGUg b2YgTElWRVBBVENIX0FDVElPTiBjb21tYW5kcyBhbmQgTElWRVBBVENIX1NUQVRVUy4KKyAgICAg ICAgICAgICAgICAgIC8tPlwgIAorICAgICAgICAgICAgICAgICAgXCAgLyAgCisgICAgIFVOTE9B RCA8LS0tIENIRUNLIC0tLT4gUkVQTEFDRXxBUFBMWSAtLT4gUkVWRVJUIC0tXCAgCisgICAgICAg ICAgICAgICAgICAgIFwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgCisgICAg ICAgICAgICAgICAgICAgICBcLS0tLS0tLS0tLS0tLS0tLS0tLTwtLS0tLS0tLS0tLS0tLyAgCisg ICAgCisjIyBTdGF0ZSB0cmFuc2l0aW9uIHRhYmxlIG9mIExJVkVQQVRDSFxfQUNUSU9OIGNvbW1h bmRzIGFuZCBMSVZFUEFUQ0hcX1NUQVRVUy4KIAogTm90ZSB0aGF0OgogCi0gLSBUaGUgQ0hFQ0tF RCBzdGF0ZSBpcyB0aGUgc3RhcnRpbmcgb25lIGFjaGlldmVkIHdpdGggKlhFTl9TWVNDVExfTElW RVBBVENIX1VQTE9BRCogaHlwZXJjYWxsLgorIC0gVGhlIENIRUNLRUQgc3RhdGUgaXMgdGhlIHN0 YXJ0aW5nIG9uZSBhY2hpZXZlZCB3aXRoICpYRU5cX1NZU0NUTFxfTElWRVBBVENIXF9VUExPQUQq IGh5cGVyY2FsbC4KICAtIFRoZSBSRVZFUlQgb3BlcmF0aW9uIG9uIHN1Y2Nlc3Mgd2lsbCBhdXRv bWF0aWNhbGx5IG1vdmUgdG8gdGhlIENIRUNLRUQgc3RhdGUuCiAgLSBUaGVyZSBhcmUgdHdvIFNU QVRFUzogQ0hFQ0tFRCBhbmQgQVBQTElFRC4KICAtIFRoZXJlIGFyZSBmb3VyIGFjdGlvbnMgKGFr YSBjb21tYW5kcyk6IEFQUExZLCBSRVBMQUNFLCBSRVZFUlQsIGFuZCBVTkxPQUQuCiAKIFRoZSBz dGF0ZSB0cmFuc2l0aW9uIHRhYmxlIG9mIHZhbGlkIHN0YXRlcyBhbmQgYWN0aW9uIHN0YXRlczoK IAotPHByZT4KLQotKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLSsKLXwgQUNUSU9OICB8IEN1cnJlbnQgfCBSZXN1bHQg ICAgICAgICAgICAgICAgICAgICAgICAgfCBOZXh0IFNUQVRFOiAgICB8Ci18IEFDVElPTiAgfCBT VEFURSAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxDSEVDS0VEfEFQUExJRUQg fAotKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLSstLS0tLS0tLSsKLXwgVU5MT0FEICB8IENIRUNLRUQgfCBVbmxvYWQgcGF5bG9hZC4g QWx3YXlzIHdvcmtzLiAgfCAgICAgICB8ICAgICAgICB8Ci18ICAgICAgICAgfCAgICAgICAgIHwg Tm8gbmV4dCBzdGF0ZXMuICAgICAgICAgICAgICAgIHwgICAgICAgfCAgICAgICAgfAotKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSst LS0tLS0tLSsKLXwgQVBQTFkgICB8IENIRUNLRUQgfCBBcHBseSBwYXlsb2FkIChzdWNjZXNzKS4g ICAgICAgfCAgICAgICB8ICAgeCAgICB8Ci0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tKwotfCBBUFBMWSAgIHwgQ0hF Q0tFRCB8IEFwcGx5IHBheWxvYWQgKGVycm9yfHRpbWVvdXQpICB8ICAgeCAgIHwgICAgICAgIHwK LSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0rLS0tLS0tLS0rCi18IFJFUExBQ0UgfCBDSEVDS0VEIHwgUmV2ZXJ0IHBheWxvYWRzIGFu ZCBhcHBseSBuZXcgIHwgICAgICAgfCAgIHggICAgfAotfCAgICAgICAgIHwgICAgICAgICB8IHBh eWxvYWQgd2l0aCBzdWNjZXNzLiAgICAgICAgICB8ICAgICAgIHwgICAgICAgIHwKLSstLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0t LS0tLS0rCi18IFJFUExBQ0UgfCBDSEVDS0VEIHwgUmV2ZXJ0IHBheWxvYWRzIGFuZCBhcHBseSBu ZXcgIHwgICB4ICAgfCAgICAgICAgfAotfCAgICAgICAgIHwgICAgICAgICB8IHBheWxvYWQgd2l0 aCBlcnJvci4gICAgICAgICAgICB8ICAgICAgIHwgICAgICAgIHwKLSstLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rCi18 IFJFVkVSVCAgfCBBUFBMSUVEIHwgUmV2ZXJ0IHBheWxvYWQgKHN1Y2Nlc3MpLiAgICAgIHwgICB4 ICAgfCAgICAgICAgfAotKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLSsKLXwgUkVWRVJUICB8IEFQUExJRUQgfCBSZXZl cnQgcGF5bG9hZCAoZXJyb3J8dGltZW91dCkgfCAgICAgICB8ICAgeCAgICB8Ci0rLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0t LS0tKwotPC9wcmU+CisgICAgCisgICAgKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLSsKKyAgICB8IEFDVElPTiAgfCBD dXJyZW50IHwgUmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHwgTmV4dCBTVEFURTogICAg fAorICAgIHwgQUNUSU9OICB8IFNUQVRFICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfENIRUNLRUR8QVBQTElFRCB8CisgICAgKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLSsKKyAgICB8IFVOTE9BRCAg fCBDSEVDS0VEIHwgVW5sb2FkIHBheWxvYWQuIEFsd2F5cyB3b3Jrcy4gIHwgICAgICAgfCAgICAg ICAgfAorICAgIHwgICAgICAgICB8ICAgICAgICAgfCBObyBuZXh0IHN0YXRlcy4gICAgICAgICAg ICAgICAgfCAgICAgICB8ICAgICAgICB8CisgICAgKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLSsKKyAgICB8IEFQUExZ ICAgfCBDSEVDS0VEIHwgQXBwbHkgcGF5bG9hZCAoc3VjY2VzcykuICAgICAgIHwgICAgICAgfCAg IHggICAgfAorICAgICstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rCisgICAgfCBBUFBMWSAgIHwgQ0hFQ0tFRCB8IEFw cGx5IHBheWxvYWQgKGVycm9yfHRpbWVvdXQpICB8ICAgeCAgIHwgICAgICAgIHwKKyAgICArLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t Ky0tLS0tLS0tKworICAgIHwgUkVQTEFDRSB8IENIRUNLRUQgfCBSZXZlcnQgcGF5bG9hZHMgYW5k IGFwcGx5IG5ldyAgfCAgICAgICB8ICAgeCAgICB8CisgICAgfCAgICAgICAgIHwgICAgICAgICB8 IHBheWxvYWQgd2l0aCBzdWNjZXNzLiAgICAgICAgICB8ICAgICAgIHwgICAgICAgIHwKKyAgICAr LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tKy0tLS0tLS0tKworICAgIHwgUkVQTEFDRSB8IENIRUNLRUQgfCBSZXZlcnQgcGF5bG9hZHMg YW5kIGFwcGx5IG5ldyAgfCAgIHggICB8ICAgICAgICB8CisgICAgfCAgICAgICAgIHwgICAgICAg ICB8IHBheWxvYWQgd2l0aCBlcnJvci4gICAgICAgICAgICB8ICAgICAgIHwgICAgICAgIHwKKyAg ICArLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tKy0tLS0tLS0tKworICAgIHwgUkVWRVJUICB8IEFQUExJRUQgfCBSZXZlcnQgcGF5bG9h ZCAoc3VjY2VzcykuICAgICAgfCAgIHggICB8ICAgICAgICB8CisgICAgKy0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLSsK KyAgICB8IFJFVkVSVCAgfCBBUFBMSUVEIHwgUmV2ZXJ0IHBheWxvYWQgKGVycm9yfHRpbWVvdXQp IHwgICAgICAgfCAgIHggICAgfAorICAgICstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rCiAKIEFsbCB0aGUgb3RoZXIg c3RhdGUgdHJhbnNpdGlvbnMgYXJlIGludmFsaWQuCiAKQEAgLTc3MCwxMCArNzI5LDEwIEBAIEFs bCB0aGUgb3RoZXIgc3RhdGUgdHJhbnNpdGlvbnMgYXJlIGludmFsaWQuCiAKIFRoZSBub3JtYWwg c2VxdWVuY2Ugb2YgZXZlbnRzIGlzIHRvOgogCi0gMS4gKlhFTl9TWVNDVExfTElWRVBBVENIX1VQ TE9BRCogdG8gdXBsb2FkIHRoZSBwYXlsb2FkLiBJZiB0aGVyZSBhcmUgZXJyb3JzICpTVE9QKiBo ZXJlLgotIDIuICpYRU5fU1lTQ1RMX0xJVkVQQVRDSF9HRVQqIHRvIGNoZWNrIHRoZSBgLT5yY2Au IElmICotWEVOX0VBR0FJTiogc3Bpbi4gSWYgemVybyBnbyB0byBuZXh0IHN0ZXAuCi0gMy4gKlhF Tl9TWVNDVExfTElWRVBBVENIX0FDVElPTiogd2l0aCAqTElWRVBBVENIX0FDVElPTl9BUFBMWSog dG8gYXBwbHkgdGhlIHBhdGNoLgotIDQuICpYRU5fU1lTQ1RMX0xJVkVQQVRDSF9HRVQqIHRvIGNo ZWNrIHRoZSBgLT5yY2AuIElmIGluICotWEVOX0VBR0FJTiogc3Bpbi4gSWYgemVybyBleGl0IHdp dGggc3VjY2Vzcy4KKyAxLiAqWEVOXF9TWVNDVExcX0xJVkVQQVRDSFxfVVBMT0FEKiB0byB1cGxv YWQgdGhlIHBheWxvYWQuIElmIHRoZXJlIGFyZSBlcnJvcnMgKlNUT1AqIGhlcmUuCisgMi4gKlhF TlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX0dFVCogdG8gY2hlY2sgdGhlIGAtPnJjYC4gSWYgKi1YRU5c X0VBR0FJTiogc3Bpbi4gSWYgemVybyBnbyB0byBuZXh0IHN0ZXAuCisgMy4gKlhFTlxfU1lTQ1RM XF9MSVZFUEFUQ0hcX0FDVElPTiogd2l0aCAqTElWRVBBVENIXF9BQ1RJT05cX0FQUExZKiB0byBh cHBseSB0aGUgcGF0Y2guCisgNC4gKlhFTlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX0dFVCogdG8gY2hl Y2sgdGhlIGAtPnJjYC4gSWYgaW4gKi1YRU5cX0VBR0FJTiogc3Bpbi4gSWYgemVybyBleGl0IHdp dGggc3VjY2Vzcy4KIAogCiAjIyBBZGRlbmR1bQpAQCAtODA3LDE4ICs3NjYsMTggQEAgbWluaW1p emUgdGhlIGNoYW5jZSBvZiB0aGUgcGF0Y2ggbm90IGJlaW5nIGFwcGxpZWQgZHVlIHRvIHNhZmV0 eQogY2hlY2tzIGZhaWxpbmcuIFNhZmV0eSBjaGVja3Mgc3VjaCBhcyBub3QgcGF0Y2hpbmcgY29k ZSB3aGljaAogaXMgb24gdGhlIHN0YWNrIC0gd2hpY2ggY2FuIGxlYWQgdG8gY29ycnVwdGlvbi4K IAotIyMjIyBSZW5kZXp2b3VzIGNvZGUgaW5zdGVhZCBvZiBzdG9wX21hY2hpbmUgZm9yIHBhdGNo aW5nCisjIyMjIFJlbmRlenZvdXMgY29kZSBpbnN0ZWFkIG9mIHN0b3BcX21hY2hpbmUgZm9yIHBh dGNoaW5nCiAKIFRoZSBoeXBlcnZpc29yJ3MgdGltZSByZW5kZXp2b3VzIGNvZGUgcnVucyBzeW5j aHJvbm91c2x5IGFjcm9zcyBhbGwgQ1BVcwotZXZlcnkgc2Vjb25kLiBVc2luZyB0aGUgc3RvcF9t YWNoaW5lIHRvIHBhdGNoIGNhbiBzdGFsbCB0aGUgdGltZSByZW5kZXp2b3VzCitldmVyeSBzZWNv bmQuIFVzaW5nIHRoZSBzdG9wXF9tYWNoaW5lIHRvIHBhdGNoIGNhbiBzdGFsbCB0aGUgdGltZSBy ZW5kZXp2b3VzCiBjb2RlIGFuZCByZXN1bHQgaW4gTk1JLiBBcyBzdWNoIGhhdmluZyB0aGUgcGF0 Y2hpbmcgYmUgZG9uZSBhdCB0aGUgdGFpbAogb2YgcmVuZGV6dm91cyBjb2RlIHNob3VsZCBhdm9p ZCB0aGlzIHByb2JsZW0uCiAKIEhvd2V2ZXIgdGhlIGVudHJhbmNlIHBvaW50IGZvciB0aGF0IGNv ZGUgaXMKLWRvX3NvZnRpcnEtPnRpbWVyX3NvZnRpcnFfYWN0aW9uLT50aW1lX2NhbGlicmF0aW9u Ci13aGljaCBlbmRzIHVwIGNhbGxpbmcgb25fc2VsZWN0ZWRfY3B1cyBvbiByZW1vdGUgQ1BVcy4K K2RvXF9zb2Z0aXJxLSZndDt0aW1lclxfc29mdGlycVxfYWN0aW9uLSZndDt0aW1lXF9jYWxpYnJh dGlvbgord2hpY2ggZW5kcyB1cCBjYWxsaW5nIG9uXF9zZWxlY3RlZFxfY3B1cyBvbiByZW1vdGUg Q1BVcy4KIAotVGhlIHJlbW90ZSBDUFVzIHJlY2VpdmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IgSVBJ IGFuZCBleGVjdXRlIHRoZQorVGhlIHJlbW90ZSBDUFVzIHJlY2VpdmUgQ0FMTFxfRlVOQ1RJT05c X1ZFQ1RPUiBJUEkgYW5kIGV4ZWN1dGUgdGhlCiBkZXNpcmVkIGZ1bmN0aW9uLgogCiAjIyMjIEJl Zm9yZSBlbnRlcmluZyB0aGUgZ3Vlc3QgY29kZS4KQEAgLTgzMiw3ICs3OTEsNyBAQCBjb3VsZCBi ZSBhZGp1c3RlZCksIGNvbWJpbmVkIHdpdGggZm9yY2luZyBhbGwgb3RoZXIgQ1BVcyB0aHJvdWdo IHRoZQogaHlwZXJ2aXNvciB3aXRoIElQSXMsIGNhbiBiZSB1dGlsaXplZCB0byBleGVjdXRlIGxv Y2tzdGVwIGluc3RydWN0aW9ucwogb24gYWxsIENQVXMuCiAKLVRoZSBhcHByb2FjaCBpcyBzaW1p bGFyIGluIGNvbmNlcHQgdG8gc3RvcF9tYWNoaW5lIGFuZCB0aGUgdGltZSByZW5kZXp2b3VzCitU aGUgYXBwcm9hY2ggaXMgc2ltaWxhciBpbiBjb25jZXB0IHRvIHN0b3BcX21hY2hpbmUgYW5kIHRo ZSB0aW1lIHJlbmRlenZvdXMKIGJ1dCBpcyB0aW1lLWJvdW5kLiBIb3dldmVyIHRoZSBsb2NhbCBD UFUgc3RhY2sgaXMgbXVjaCBzaG9ydGVyIGFuZAogYSBsb3QgbW9yZSBkZXRlcm1pbmlzdGljLgog CkBAIC05NjcsMTAgKzkyNiwxMCBAQCBUaGUgaW1wbGVtZW50YXRpb24gbXVzdCBhbHNvIGhhdmUg YSBtZWNoYW5pc20gZm9yIChpbiBubyBwYXJ0aWN1bGFyIG9yZGVyKToKICAgIHRoZSBzdGFjaywg bWFrZSBzdXJlIHRoZSBwYXlsb2FkIGlzIGJ1aWx0IHdpdGggc2FtZSBjb21waWxlciBhcyBoeXBl cnZpc29yKS4KICAgIFNwZWNpZmljYWxseSB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGF0IGxpdmUg cGF0Y2hpbmcgY29kZXBhdGhzIGNhbm5vdCBiZSBwYXRjaGVkLgogICogTk9QIG91dCB0aGUgY29k ZSBzZXF1ZW5jZSBpZiBgbmV3X3NpemVgIGlzIHplcm8uCi0gKiBEZWFsIHdpdGggb3RoZXIgcmVs b2NhdGlvbiB0eXBlczogIFJfWDg2XzY0X1s4LDE2LDMyLDMyU10sIFJfWDg2XzY0X1BDWzgsMTYs NjRdCisgKiBEZWFsIHdpdGggb3RoZXIgcmVsb2NhdGlvbiB0eXBlczogIFJcX1g4NlxfNjRcX1s4 LDE2LDMyLDMyU10sIFJcX1g4NlxfNjRcX1BDWzgsMTYsNjRdCiAgICBpbiBwYXlsb2FkIGZpbGUu CiAKLSMjIyBIYW5kbGUgaW5saW5lZCBfX0xJTkVfXworIyMjIEhhbmRsZSBpbmxpbmVkIFxfXF9M SU5FXF9cXwogCiBUaGlzIHByb2JsZW0gaXMgcmVsYXRlZCB0byBob3RwYXRjaCBjb25zdHJ1Y3Rp b24KIGFuZCBwb3RlbnRpYWxseSBoYXMgaW5mbHVlbmNlIG9uIHRoZSBkZXNpZ24gb2YgdGhlIGhv dHBhdGNoaW5nCkBAIC0xMDMwLDcgKzk4OSw3IEBAIE9wdGlvbnM6CiBGb3IgQlVHKCksIFdBUk4o KSwgZXRjLiwgdGhlIGxpbmUgbnVtYmVyIGlzIGVtYmVkZGVkIGludG8gdGhlIGJ1ZyBmcmFtZSwg bm90CiB0aGUgZnVuY3Rpb24gaXRzZWxmLgogCi1TaW1pbGFyIGNvbnNpZGVyYXRpb25zIGFyZSB0 cnVlIHRvIGEgbGVzc2VyIGV4dGVudCBmb3IgX19GSUxFX18sIGJ1dCBpdAorU2ltaWxhciBjb25z aWRlcmF0aW9ucyBhcmUgdHJ1ZSB0byBhIGxlc3NlciBleHRlbnQgZm9yIFxfXF9GSUxFXF9cXywg YnV0IGl0CiBjb3VsZCBiZSBhcmd1ZWQgdGhhdCBmaWxlIHJlbmFtaW5nIHNob3VsZCBiZSBkb25l IG91dHNpZGUgb2YgaG90cGF0Y2hlcy4KIAogIyMgU2lnbmF0dXJlIGNoZWNraW5nIHJlcXVpcmVt ZW50cy4KQEAgLTEwNDIsNDkgKzEwMDEsNDcgQEAgZXhwZWN0aW5nIHN1Y2ggdGhhdCBpdCBjYW4g cHJvcGVybHkgZG8gc2lnbmF0dXJlIHZlcmlmaWNhdGlvbi4KIAogVGhlIHNpZ25hdHVyZSBpcyBi YXNlZCBvbiB0aGUgYWxsIG9mIHRoZSBwYXlsb2FkcyBjb250aW51b3VzbHkgbGFpZCBvdXQKIGlu IG1lbW9yeS4gVGhlIHNpZ25hdHVyZSBpcyB0byBiZSBhcHBlbmRlZCBhdCB0aGUgZW5kIG9mIHRo ZSBFTEYgcGF5bG9hZAotcHJlZml4ZWQgd2l0aCB0aGUgc3RyaW5nIGAnfk1vZHVsZSBzaWduYXR1 cmUgYXBwZW5kZWR+XG4nYCwgZm9sbG93ZWQgYnkKK3ByZWZpeGVkIHdpdGggdGhlIHN0cmluZyAn YH5Nb2R1bGUgc2lnbmF0dXJlIGFwcGVuZGVkflxuYCcsIGZvbGxvd2VkIGJ5CiBhbiBzaWduYXR1 cmUgaGVhZGVyIHRoZW4gZm9sbG93ZWQgYnkgdGhlIHNpZ25hdHVyZSwga2V5IGlkZW50aWZpZXIs IGFuZCBzaWduZXJzCiBuYW1lLgogCiBTcGVjaWZpY2FsbHkgdGhlIHNpZ25hdHVyZSBoZWFkZXIg d291bGQgYmU6CiAKLTxwcmU+Ci0jZGVmaW5lIFBLRVlfQUxHT19EU0EgICAgICAgMCAgCi0jZGVm aW5lIFBLRVlfQUxHT19SU0EgICAgICAgMSAgCi0KLSNkZWZpbmUgUEtFWV9JRF9QR1AgICAgICAg ICAwIC8qIE9wZW5QR1AgZ2VuZXJhdGVkIGtleSBJRCAqLyAgCi0jZGVmaW5lIFBLRVlfSURfWDUw OSAgICAgICAgMSAvKiBYLjUwOSBhcmJpdHJhcnkgc3ViamVjdEtleUlkZW50aWZpZXIgKi8gIAot Ci0jZGVmaW5lIEhBU0hfQUxHT19NRDQgICAgICAgICAgMCAgCi0jZGVmaW5lIEhBU0hfQUxHT19N RDUgICAgICAgICAgMSAgCi0jZGVmaW5lIEhBU0hfQUxHT19TSEExICAgICAgICAgMiAgCi0jZGVm aW5lIEhBU0hfQUxHT19SSVBFX01EXzE2MCAgMyAgCi0jZGVmaW5lIEhBU0hfQUxHT19TSEEyNTYg ICAgICAgNCAgCi0jZGVmaW5lIEhBU0hfQUxHT19TSEEzODQgICAgICAgNSAgCi0jZGVmaW5lIEhB U0hfQUxHT19TSEE1MTIgICAgICAgNiAgCi0jZGVmaW5lIEhBU0hfQUxHT19TSEEyMjQgICAgICAg NyAgCi0jZGVmaW5lIEhBU0hfQUxHT19SSVBFX01EXzEyOCAgOCAgCi0jZGVmaW5lIEhBU0hfQUxH T19SSVBFX01EXzI1NiAgOSAgCi0jZGVmaW5lIEhBU0hfQUxHT19SSVBFX01EXzMyMCAxMCAgCi0j ZGVmaW5lIEhBU0hfQUxHT19XUF8yNTYgICAgICAxMSAgCi0jZGVmaW5lIEhBU0hfQUxHT19XUF8z ODQgICAgICAxMiAgCi0jZGVmaW5lIEhBU0hfQUxHT19XUF81MTIgICAgICAxMyAgCi0jZGVmaW5l IEhBU0hfQUxHT19UR1JfMTI4ICAgICAxNCAgCi0jZGVmaW5lIEhBU0hfQUxHT19UR1JfMTYwICAg ICAxNSAgCi0jZGVmaW5lIEhBU0hfQUxHT19UR1JfMTkyICAgICAxNiAgCi0KLQotc3RydWN0IGVs Zl9wYXlsb2FkX3NpZ25hdHVyZSB7ICAKLQl1OAlhbGdvOwkJLyogUHVibGljLWtleSBjcnlwdG8g YWxnb3JpdGhtIFBLRVlfQUxHT18qLiAqLyAgCi0JdTgJaGFzaDsJCS8qIERpZ2VzdCBhbGdvcml0 aG06IEhBU0hfQUxHT18qLiAqLyAgCi0JdTgJaWRfdHlwZTsJLyogS2V5IGlkZW50aWZpZXIgdHlw ZSBQS0VZX0lEKi4gKi8gIAotCXU4CXNpZ25lcl9sZW47CS8qIExlbmd0aCBvZiBzaWduZXIncyBu YW1lICovICAKLQl1OAlrZXlfaWRfbGVuOwkvKiBMZW5ndGggb2Yga2V5IGlkZW50aWZpZXIgKi8g IAotCXU4CV9fcGFkWzNdOyAgCi0JX19iZTMyCXNpZ19sZW47CS8qIExlbmd0aCBvZiBzaWduYXR1 cmUgZGF0YSAqLyAgCi19OwotCi08L3ByZT4KKyAgICAjZGVmaW5lIFBLRVlfQUxHT19EU0EgICAg ICAgMCAgCisgICAgI2RlZmluZSBQS0VZX0FMR09fUlNBICAgICAgIDEgIAorICAgIAorICAgICNk ZWZpbmUgUEtFWV9JRF9QR1AgICAgICAgICAwIC8qIE9wZW5QR1AgZ2VuZXJhdGVkIGtleSBJRCAq LyAgCisgICAgI2RlZmluZSBQS0VZX0lEX1g1MDkgICAgICAgIDEgLyogWC41MDkgYXJiaXRyYXJ5 IHN1YmplY3RLZXlJZGVudGlmaWVyICovICAKKyAgICAKKyAgICAjZGVmaW5lIEhBU0hfQUxHT19N RDQgICAgICAgICAgMCAgCisgICAgI2RlZmluZSBIQVNIX0FMR09fTUQ1ICAgICAgICAgIDEgIAor ICAgICNkZWZpbmUgSEFTSF9BTEdPX1NIQTEgICAgICAgICAyICAKKyAgICAjZGVmaW5lIEhBU0hf QUxHT19SSVBFX01EXzE2MCAgMyAgCisgICAgI2RlZmluZSBIQVNIX0FMR09fU0hBMjU2ICAgICAg IDQgIAorICAgICNkZWZpbmUgSEFTSF9BTEdPX1NIQTM4NCAgICAgICA1ICAKKyAgICAjZGVmaW5l IEhBU0hfQUxHT19TSEE1MTIgICAgICAgNiAgCisgICAgI2RlZmluZSBIQVNIX0FMR09fU0hBMjI0 ICAgICAgIDcgIAorICAgICNkZWZpbmUgSEFTSF9BTEdPX1JJUEVfTURfMTI4ICA4ICAKKyAgICAj ZGVmaW5lIEhBU0hfQUxHT19SSVBFX01EXzI1NiAgOSAgCisgICAgI2RlZmluZSBIQVNIX0FMR09f UklQRV9NRF8zMjAgMTAgIAorICAgICNkZWZpbmUgSEFTSF9BTEdPX1dQXzI1NiAgICAgIDExICAK KyAgICAjZGVmaW5lIEhBU0hfQUxHT19XUF8zODQgICAgICAxMiAgCisgICAgI2RlZmluZSBIQVNI X0FMR09fV1BfNTEyICAgICAgMTMgIAorICAgICNkZWZpbmUgSEFTSF9BTEdPX1RHUl8xMjggICAg IDE0ICAKKyAgICAjZGVmaW5lIEhBU0hfQUxHT19UR1JfMTYwICAgICAxNSAgCisgICAgI2RlZmlu ZSBIQVNIX0FMR09fVEdSXzE5MiAgICAgMTYgIAorICAgIAorICAgIAorICAgIHN0cnVjdCBlbGZf cGF5bG9hZF9zaWduYXR1cmUgeyAgCisJICAgIHU4CWFsZ287CQkvKiBQdWJsaWMta2V5IGNyeXB0 byBhbGdvcml0aG0gUEtFWV9BTEdPXyouICovICAKKwkgICAgdTgJaGFzaDsJCS8qIERpZ2VzdCBh bGdvcml0aG06IEhBU0hfQUxHT18qLiAqLyAgCisJICAgIHU4CWlkX3R5cGU7CS8qIEtleSBpZGVu dGlmaWVyIHR5cGUgUEtFWV9JRCouICovICAKKwkgICAgdTgJc2lnbmVyX2xlbjsJLyogTGVuZ3Ro IG9mIHNpZ25lcidzIG5hbWUgKi8gIAorCSAgICB1OAlrZXlfaWRfbGVuOwkvKiBMZW5ndGggb2Yg a2V5IGlkZW50aWZpZXIgKi8gIAorCSAgICB1OAlfX3BhZFszXTsgIAorCSAgICBfX2JlMzIJc2ln X2xlbjsJLyogTGVuZ3RoIG9mIHNpZ25hdHVyZSBkYXRhICovICAKKyAgICB9OworICAgIAogKE5v dGUgdGhhdCB0aGlzIGhhcyBiZWVuIGJvcnJvd2VkIGZyb20gTGludXggbW9kdWxlIHNpZ25hdHVy ZSBjb2RlLikuCiAKIApAQCAtMTEyOCwxNSArMTA4NSwxMyBAQCBhdCBsZWFzdCBmaXZlIGJ5dGVz IGlmIHBhdGNoaW5nIGluIHRyYW1wb2xpbmUuCiBEZXBlbmRpbmcgb24gY29tcGlsZXIgc2V0dGlu Z3MsIHRoZXJlIGFyZSBzZXZlcmFsIGZ1bmN0aW9ucyBpbiBYZW4gdGhhdAogYXJlIHNtYWxsZXIg KHdpdGhvdXQgaW50ZXItZnVuY3Rpb24gcGFkZGluZykuCiAKLTxwcmU+IAotcmVhZGVsZiAtc1cg eGVuLXN5bXMgfCBncmVwICIgRlVOQyAiIHwgXAotICAgIGF3ayAneyBpZiAoJDMgPCA1KSBwcmlu dCAkMywgJDQsICQ1LCAkOCB9JwotCi0uLi4KLTMgRlVOQyBMT0NBTCB3YmludmRfaXBpCi0zIEZV TkMgTE9DQUwgc2hhZG93X2wxX2luZGV4Ci0uLi4KLTwvcHJlPgorICAgIHJlYWRlbGYgLXNXIHhl bi1zeW1zIHwgZ3JlcCAiIEZVTkMgIiB8IFwKKyAgICAgICAgYXdrICd7IGlmICgkMyA8IDUpIHBy aW50ICQzLCAkNCwgJDUsICQ4IH0nCisgICAgCisgICAgLi4uCisgICAgMyBGVU5DIExPQ0FMIHdi aW52ZF9pcGkKKyAgICAzIEZVTkMgTE9DQUwgc2hhZG93X2wxX2luZGV4CisgICAgLi4uCiBBIGNv bXBpbGUtdGltZSBjaGVjayBmb3IsIGUuZy4sIGEgbWluaW11bSBhbGlnbm1lbnQgb2YgZnVuY3Rp b25zIG9yIGEKIHJ1bnRpbWUgY2hlY2sgdGhhdCB2ZXJpZmllcyBzeW1ib2wgc2l6ZSAoKyBwYWRk aW5nIHRvIG5leHQgc3ltYm9scykgZm9yCiB0aGF0IGluIHRoZSBoeXBlcnZpc29yIGlzIGFkdmlz ZWQuCi0tIAoyLjEzLjYKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0 Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRl dmVs