From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v10 23/25] tools: L2 CAT: support show cbm for L2 CAT. Date: Sat, 1 Apr 2017 21:53:54 +0800 Message-ID: <1491054836-30488-24-git-send-email-yi.y.sun@linux.intel.com> References: <1491054836-30488-1-git-send-email-yi.y.sun@linux.intel.com> 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 1cuJUK-0006Ud-QS for xen-devel@lists.xenproject.org; Sat, 01 Apr 2017 13:54:44 +0000 In-Reply-To: <1491054836-30488-1-git-send-email-yi.y.sun@linux.intel.com> 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: kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, he.chen@linux.intel.com, ian.jackson@eu.citrix.com, Yi Sun , mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGNoYW5nZXMgaW4geGwveGMgY2hhbmdlcyB0byBzdXBwb3J0 CnNob3dpbmcgQ0JNIG9mIEwyIENBVC4KClRoZSBuZXcgbGV2ZWwgb3B0aW9uIGlzIGludHJvZHVj ZWQgdG8gb3JpZ2luYWwgQ0FUIHNob3dpbmcKY29tbWFuZCBpbiBvcmRlciB0byBzaG93IENCTSBm b3Igc3BlY2lmaWVkIGxldmVsIENBVC4KLSAneGwgcHNyLWNhdC1zaG93JyBpcyB1cGRhdGVkIHRv IHNob3cgQ0JNIG9mIGEgZG9tYWluCiAgYWNjb3JkaW5nIHRvIGlucHV0IGNhY2hlIGxldmVsLgoK RXhhbXBsZXM6CnJvb3RAOn4kIHhsIHBzci1jYXQtc2hvdyAtbDIgMQpTb2NrZXQgSUQgICAgICAg OiAwCkRlZmF1bHQgQ0JNICAgICA6IDB4ZmYKICAgSUQgICAgICAgICAgICAgICAgICAgICBOQU1F ICAgICAgICAgICAgIENCTQogICAgMSAgICAgICAgICAgICAgICAgdWJ1bnR1MTQgICAgICAgICAg ICAweDdmCgpTaWduZWQtb2ZmLWJ5OiBIZSBDaGVuIDxoZS5jaGVuQGxpbnV4LmludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBsaW51eC5pbnRlbC5jb20+Ci0tLQp2OToK ICAgIC0gbW92ZSB4bF9jbWRpbXBsLmMgY2hhbmdlcyBpbnRvIHhsL3hsX3Bzci5jLgogICAgLSBt b3ZlIHhsX2NtZHRhYmxlLmMgY2hhbmdlcyBpbnRvIHhsL3hsX2NtZHRhYmxlLmMuCnY2OgogICAg LSBjaGVjayBpZiBpbnB1dCBsZXZlbCBpcyBjb3JyZWN0LgogICAgLSBhZGp1c3QgJ3snIHBvc3Rp b24gZm9yICdpZicuCiAgICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkKdjU6CiAgICAtIHJlbW92 ZSAnTDJfQ0JNJyBpbiBpZGwgYmVjYXVzZSBpdCBoYXMgYmVlbiBtb3ZlZCB0byBwYXRjaCAyMToK ICAgICAgInRvb2xzOiBMMiBDQVQ6IHN1cHBvcnQgZ2V0IEhXIGluZm8gZm9yIEwyIENBVCIuCiAg ICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIGJl Y2F1c2Ugb2YgY29kZXMgYXJjaGl0ZWN0dXJlIGNoYW5nZS4KLS0tCiB0b29scy9saWJ4Yy9pbmNs dWRlL3hlbmN0cmwuaCB8ICAxICsKIHRvb2xzL2xpYnhjL3hjX3Bzci5jICAgICAgICAgIHwgIDMg KysKIHRvb2xzL3hsL3hsX2NtZHRhYmxlLmMgICAgICAgIHwgIDMgKy0KIHRvb2xzL3hsL3hsX3Bz ci5jICAgICAgICAgICAgIHwgODUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xp YnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IDk5YzZmYTUuLjBmZDkzMjYgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisrKyBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUv eGVuY3RybC5oCkBAIC0yNDE4LDYgKzI0MTgsNyBAQCBlbnVtIHhjX3Bzcl9jYXRfdHlwZSB7CiAg ICAgWENfUFNSX0NBVF9MM19DQk0gICAgICA9IDEsCiAgICAgWENfUFNSX0NBVF9MM19DQk1fQ09E RSA9IDIsCiAgICAgWENfUFNSX0NBVF9MM19DQk1fREFUQSA9IDMsCisgICAgWENfUFNSX0NBVF9M Ml9DQk0gICAgICA9IDQsCiB9OwogdHlwZWRlZiBlbnVtIHhjX3Bzcl9jYXRfdHlwZSB4Y19wc3Jf Y2F0X3R5cGU7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX3Bzci5jIGIvdG9vbHMvbGli eGMveGNfcHNyLmMKaW5kZXggODRhMDhjNC4uMDRmNTkyNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGli eGMveGNfcHNyLmMKKysrIGIvdG9vbHMvbGlieGMveGNfcHNyLmMKQEAgLTI5OSw2ICsyOTksOSBA QCBpbnQgeGNfcHNyX2NhdF9nZXRfZG9tYWluX2RhdGEoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQz Ml90IGRvbWlkLAogICAgIGNhc2UgWENfUFNSX0NBVF9MM19DQk1fREFUQToKICAgICAgICAgY21k ID0gWEVOX0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19EQVRBOwogICAgICAgICBicmVhazsKKyAg ICBjYXNlIFhDX1BTUl9DQVRfTDJfQ0JNOgorICAgICAgICBjbWQgPSBYRU5fRE9NQ1RMX1BTUl9D QVRfT1BfR0VUX0wyX0NCTTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg ZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVybiAtMTsKZGlmZiAtLWdpdCBhL3Rvb2xzL3hs L3hsX2NtZHRhYmxlLmMgYi90b29scy94bC94bF9jbWR0YWJsZS5jCmluZGV4IDEyMTliMzMuLmFi N2FkNjAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX2NtZHRhYmxlLmMKKysrIGIvdG9vbHMveGwv eGxfY21kdGFibGUuYwpAQCAtNTU2LDcgKzU1Niw4IEBAIHN0cnVjdCBjbWRfc3BlYyBjbWRfdGFi bGVbXSA9IHsKICAgICB7ICJwc3ItY2F0LXNob3ciLAogICAgICAgJm1haW5fcHNyX2NhdF9zaG93 LCAwLCAxLAogICAgICAgIlNob3cgQ2FjaGUgQWxsb2NhdGlvbiBUZWNobm9sb2d5IGluZm9ybWF0 aW9uIiwKLSAgICAgICI8RG9tYWluPiIsCisgICAgICAiW29wdGlvbnNdIDxEb21haW4+IiwKKyAg ICAgICItbCA8bGV2ZWw+ICAgICAgICBTcGVjaWZ5IHRoZSBjYWNoZSBsZXZlbCB0byBwcm9jZXNz LCBvdGhlcndpc2UgTDMgY2FjaGUgaXMgcHJvY2Vzc2VkXG4iCiAgICAgfSwKIAogI2VuZGlmCmRp ZmYgLS1naXQgYS90b29scy94bC94bF9wc3IuYyBiL3Rvb2xzL3hsL3hsX3Bzci5jCmluZGV4IDI3 MWI4OGYuLjU3NWY0YTAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX3Bzci5jCisrKyBiL3Rvb2xz L3hsL3hsX3Bzci5jCkBAIC0zNDIsNyArMzQyLDcgQEAgc3RhdGljIHZvaWQgcHNyX2NhdF9wcmlu dF9vbmVfZG9tYWluX2NibV90eXBlKHVpbnQzMl90IGRvbWlkLCB1aW50MzJfdCBzb2NrZXRpZCwK IH0KIAogc3RhdGljIHZvaWQgcHNyX2NhdF9wcmludF9vbmVfZG9tYWluX2NibSh1aW50MzJfdCBk b21pZCwgdWludDMyX3Qgc29ja2V0aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgY2RwX2VuYWJsZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2wgY2RwX2VuYWJsZWQsIHVuc2lnbmVkIGludCBsdmwpCiB7CiAgICAg Y2hhciAqZG9tYWluX25hbWU7CiAKQEAgLTM1MCwyNyArMzUwLDM4IEBAIHN0YXRpYyB2b2lkIHBz cl9jYXRfcHJpbnRfb25lX2RvbWFpbl9jYm0odWludDMyX3QgZG9taWQsIHVpbnQzMl90IHNvY2tl dGlkLAogICAgIHByaW50ZigiJTVkJTI1cyIsIGRvbWlkLCBkb21haW5fbmFtZSk7CiAgICAgZnJl ZShkb21haW5fbmFtZSk7CiAKLSAgICBpZiAoIWNkcF9lbmFibGVkKSB7Ci0gICAgICAgIHBzcl9j YXRfcHJpbnRfb25lX2RvbWFpbl9jYm1fdHlwZShkb21pZCwgc29ja2V0aWQsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTF9QU1JfQ0JNX1RZUEVfTDNfQ0JN KTsKLSAgICB9IGVsc2UgewotICAgICAgICBwc3JfY2F0X3ByaW50X29uZV9kb21haW5fY2JtX3R5 cGUoZG9taWQsIHNvY2tldGlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTElCWExfUFNSX0NCTV9UWVBFX0wzX0NCTV9DT0RFKTsKKyAgICBzd2l0Y2ggKGx2bCkg eworICAgIGNhc2UgMzoKKyAgICAgICAgaWYgKCFjZHBfZW5hYmxlZCkgeworICAgICAgICAgICAg cHNyX2NhdF9wcmludF9vbmVfZG9tYWluX2NibV90eXBlKGRvbWlkLCBzb2NrZXRpZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTF9QU1JfQ0JNX1RZ UEVfTDNfQ0JNKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHBzcl9jYXRfcHJpbnRf b25lX2RvbWFpbl9jYm1fdHlwZShkb21pZCwgc29ja2V0aWQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfUFNSX0NCTV9UWVBFX0wzX0NCTV9DT0RF KTsKKyAgICAgICAgICAgIHBzcl9jYXRfcHJpbnRfb25lX2RvbWFpbl9jYm1fdHlwZShkb21pZCwg c29ja2V0aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TElCWExfUFNSX0NCTV9UWVBFX0wzX0NCTV9EQVRBKTsKKyAgICAgICAgfQorICAgICAgICBicmVh azsKKyAgICBjYXNlIDI6CiAgICAgICAgIHBzcl9jYXRfcHJpbnRfb25lX2RvbWFpbl9jYm1fdHlw ZShkb21pZCwgc29ja2V0aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMSUJYTF9QU1JfQ0JNX1RZUEVfTDNfQ0JNX0RBVEEpOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfUFNSX0NCTV9UWVBFX0wyX0NCTSk7CisgICAg ICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHByaW50ZigiSW5wdXQgbHZsICVkIGlz IHdyb25nISIsIGx2bCk7CisgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIHByaW50ZigiXG4i KTsKIH0KIAogc3RhdGljIGludCBwc3JfY2F0X3ByaW50X2RvbWFpbl9jYm0odWludDMyX3QgZG9t aWQsIHVpbnQzMl90IHNvY2tldGlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm9vbCBjZHBfZW5hYmxlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2wgY2RwX2VuYWJsZWQsIHVuc2lnbmVkIGludCBsdmwpCiB7CiAgICAgaW50IGksIG5yX2Rv bWFpbnM7CiAgICAgbGlieGxfZG9taW5mbyAqbGlzdDsKIAogICAgIGlmIChkb21pZCAhPSBJTlZB TElEX0RPTUlEKSB7Ci0gICAgICAgIHBzcl9jYXRfcHJpbnRfb25lX2RvbWFpbl9jYm0oZG9taWQs IHNvY2tldGlkLCBjZHBfZW5hYmxlZCk7CisgICAgICAgIHBzcl9jYXRfcHJpbnRfb25lX2RvbWFp bl9jYm0oZG9taWQsIHNvY2tldGlkLCBjZHBfZW5hYmxlZCwgbHZsKTsKICAgICAgICAgcmV0dXJu IDA7CiAgICAgfQogCkBAIC0zODAsNDkgKzM5MSw1OSBAQCBzdGF0aWMgaW50IHBzcl9jYXRfcHJp bnRfZG9tYWluX2NibSh1aW50MzJfdCBkb21pZCwgdWludDMyX3Qgc29ja2V0aWQsCiAgICAgfQog CiAgICAgZm9yIChpID0gMDsgaSA8IG5yX2RvbWFpbnM7IGkrKykKLSAgICAgICAgcHNyX2NhdF9w cmludF9vbmVfZG9tYWluX2NibShsaXN0W2ldLmRvbWlkLCBzb2NrZXRpZCwgY2RwX2VuYWJsZWQp OworICAgICAgICBwc3JfY2F0X3ByaW50X29uZV9kb21haW5fY2JtKGxpc3RbaV0uZG9taWQsIHNv Y2tldGlkLCBjZHBfZW5hYmxlZCwgbHZsKTsKICAgICBsaWJ4bF9kb21pbmZvX2xpc3RfZnJlZShs aXN0LCBucl9kb21haW5zKTsKIAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHBzcl9j YXRfcHJpbnRfc29ja2V0KHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9wc3JfY2F0X2luZm8gKmluZm8p CitzdGF0aWMgaW50IHBzcl9jYXRfcHJpbnRfc29ja2V0KHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9w c3JfY2F0X2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCBsdmwpCiB7CiAgICAgaW50IHJjOwogICAgIHVpbnQzMl90IGwzX2NhY2hlX3NpemU7 CiAKLSAgICByYyA9IGxpYnhsX3Bzcl9jbXRfZ2V0X2wzX2NhY2hlX3NpemUoY3R4LCBpbmZvLT5p ZCwgJmwzX2NhY2hlX3NpemUpOwotICAgIGlmIChyYykgewotICAgICAgICBmcHJpbnRmKHN0ZGVy ciwgIkZhaWxlZCB0byBnZXQgbDMgY2FjaGUgc2l6ZSBmb3Igc29ja2V0OiVkXG4iLAotICAgICAg ICAgICAgICAgIGluZm8tPmlkKTsKLSAgICAgICAgcmV0dXJuIC0xOworICAgIHByaW50ZigiJS0x NnM6ICV1XG4iLCAiU29ja2V0IElEIiwgaW5mby0+aWQpOworCisgICAgLyogU28gZmFyLCBDTVQg b25seSBzdXBwb3J0cyBMMyBjYWNoZS4gKi8KKyAgICBpZiAobHZsID09IDMpIHsKKyAgICAgICAg cmMgPSBsaWJ4bF9wc3JfY210X2dldF9sM19jYWNoZV9zaXplKGN0eCwgaW5mby0+aWQsICZsM19j YWNoZV9zaXplKTsKKyAgICAgICAgaWYgKHJjKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVy ciwgIkZhaWxlZCB0byBnZXQgbDMgY2FjaGUgc2l6ZSBmb3Igc29ja2V0OiVkXG4iLAorICAgICAg ICAgICAgICAgICAgICBpbmZvLT5pZCk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAg IH0KKyAgICAgICAgcHJpbnRmKCIlLTE2czogJXVLQlxuIiwgIkwzIENhY2hlIiwgbDNfY2FjaGVf c2l6ZSk7CiAgICAgfQogCi0gICAgcHJpbnRmKCIlLTE2czogJXVcbiIsICJTb2NrZXQgSUQiLCBp bmZvLT5pZCk7Ci0gICAgcHJpbnRmKCIlLTE2czogJXVLQlxuIiwgIkwzIENhY2hlIiwgbDNfY2Fj aGVfc2l6ZSk7CiAgICAgcHJpbnRmKCIlLTE2czogJSNsbHhcbiIsICJEZWZhdWx0IENCTSIsICgx dWxsIDw8IGluZm8tPmNibV9sZW4pIC0gMSk7CiAgICAgaWYgKGluZm8tPmNkcF9lbmFibGVkKQog ICAgICAgICBwcmludGYoIiU1cyUyNXMlMTZzJTE2c1xuIiwgIklEIiwgIk5BTUUiLCAiQ0JNIChj b2RlKSIsICJDQk0gKGRhdGEpIik7CiAgICAgZWxzZQogICAgICAgICBwcmludGYoIiU1cyUyNXMl MTZzXG4iLCAiSUQiLCAiTkFNRSIsICJDQk0iKTsKIAotICAgIHJldHVybiBwc3JfY2F0X3ByaW50 X2RvbWFpbl9jYm0oZG9taWQsIGluZm8tPmlkLCBpbmZvLT5jZHBfZW5hYmxlZCk7CisgICAgcmV0 dXJuIHBzcl9jYXRfcHJpbnRfZG9tYWluX2NibShkb21pZCwgaW5mby0+aWQsIGluZm8tPmNkcF9l bmFibGVkLCBsdmwpOwogfQogCi1zdGF0aWMgaW50IHBzcl9jYXRfc2hvdyh1aW50MzJfdCBkb21p ZCkKK3N0YXRpYyBpbnQgcHNyX2NhdF9zaG93KHVpbnQzMl90IGRvbWlkLCB1bnNpZ25lZCBpbnQg bHZsKQogewogICAgIGludCBpLCBucjsKICAgICBpbnQgcmM7CiAgICAgbGlieGxfcHNyX2NhdF9p bmZvICppbmZvOwogCi0gICAgcmMgPSBsaWJ4bF9wc3JfY2F0X2dldF9pbmZvKGN0eCwgJmluZm8s ICZuciwgMyk7CisgICAgaWYgKGx2bCAhPSAyICYmIGx2bCAhPSAzKSB7CisgICAgICAgIGZwcmlu dGYoc3RkZXJyLCAiSW5wdXQgbHZsICVkIGlzIHdyb25nXG4iLCBsdmwpOworICAgICAgICByZXR1 cm4gRVhJVF9GQUlMVVJFOworICAgIH0KKworICAgIHJjID0gbGlieGxfcHNyX2NhdF9nZXRfaW5m byhjdHgsICZpbmZvLCAmbnIsIGx2bCk7CiAgICAgaWYgKHJjKSB7Ci0gICAgICAgIGZwcmludGYo c3RkZXJyLCAiRmFpbGVkIHRvIGdldCBjYXQgaW5mb1xuIik7CisgICAgICAgIGZwcmludGYoc3Rk ZXJyLCAiRmFpbGVkIHRvIGdldCAlcyBjYXQgaW5mb1xuIiwgKGx2bCA9PSAzKT8iTDMiOiJMMiIp OwogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogCiAgICAgZm9yIChpID0gMDsgaSA8IG5yOyBp KyspIHsKLSAgICAgICAgcmMgPSBwc3JfY2F0X3ByaW50X3NvY2tldChkb21pZCwgaW5mbyArIGkp OworICAgICAgICByYyA9IHBzcl9jYXRfcHJpbnRfc29ja2V0KGRvbWlkLCBpbmZvICsgaSwgbHZs KTsKICAgICAgICAgaWYgKHJjKQogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgfQpAQCAtNTMz LDExICs1NTQsMTkgQEAgaW50IG1haW5fcHNyX2NhdF9jYm1fc2V0KGludCBhcmdjLCBjaGFyICoq YXJndikKIAogaW50IG1haW5fcHNyX2NhdF9zaG93KGludCBhcmdjLCBjaGFyICoqYXJndikKIHsK LSAgICBpbnQgb3B0OworICAgIGludCBvcHQgPSAwOwogICAgIHVpbnQzMl90IGRvbWlkOworICAg IHVuc2lnbmVkIGludCBsdmwgPSAzOwogCi0gICAgU1dJVENIX0ZPUkVBQ0hfT1BUKG9wdCwgIiIs IE5VTEwsICJwc3ItY2F0LXNob3ciLCAwKSB7Ci0gICAgICAgIC8qIE5vIG9wdGlvbnMgKi8KKyAg ICBzdGF0aWMgc3RydWN0IG9wdGlvbiBvcHRzW10gPSB7CisgICAgICAgIHsibGV2ZWwiLCAxLCAw LCAnbCd9LAorICAgICAgICBDT01NT05fTE9OR19PUFRTCisgICAgfTsKKworICAgIFNXSVRDSF9G T1JFQUNIX09QVChvcHQsICJsOiIsIG9wdHMsICJwc3ItY2F0LXNob3ciLCAwKSB7CisgICAgY2Fz ZSAnbCc6CisgICAgICAgIGx2bCA9IGF0b2kob3B0YXJnKTsKKyAgICAgICAgYnJlYWs7CiAgICAg fQogCiAgICAgaWYgKG9wdGluZCA+PSBhcmdjKQpAQCAtNTQ5LDcgKzU3OCw3IEBAIGludCBtYWlu X3Bzcl9jYXRfc2hvdyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIHJldHVybiAyOwog ICAgIH0KIAotICAgIHJldHVybiBwc3JfY2F0X3Nob3coZG9taWQpOworICAgIHJldHVybiBwc3Jf Y2F0X3Nob3coZG9taWQsIGx2bCk7CiB9CiAKIGludCBtYWluX3Bzcl9od2luZm8oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK