From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from 6.mo68.mail-out.ovh.net (6.mo68.mail-out.ovh.net [46.105.63.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0AAC46EA0E for ; Fri, 5 Apr 2019 01:26:04 +0000 (UTC) Received: from player696.ha.ovh.net (unknown [10.109.159.157]) by mo68.mail-out.ovh.net (Postfix) with ESMTP id 580E511F07B for ; Fri, 5 Apr 2019 03:08:30 +0200 (CEST) From: Andi Shyti Date: Fri, 5 Apr 2019 04:07:37 +0300 Message-Id: <20190405010737.19111-8-andi@etezian.org> In-Reply-To: <20190405010737.19111-1-andi@etezian.org> References: <20190405010737.19111-1-andi@etezian.org> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v17 7/7] test: perf_pmu: use the gem_engine_topology library List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: IGT dev Cc: Andi Shyti List-ID: RnJvbTogQW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+CgpSZXBsYWNlIHRoZSBsZWdh Y3kgZm9yX2VhY2hfZW5naW5lKiBkZWZpbmVzIHdpdGggdGhlIG9uZXMKaW1wbGVtZW50ZWQgaW4g dGhlIGdlbV9lbmdpbmVfdG9wb2xvZ3kgbGlicmFyeS4KClVzZSB3aGVuZXZlciBwb3NzaWJsZSBn ZW1fZW5naW5lX2Nhbl9zdG9yZV9kd29yZCgpIHRoYXQgY2hlY2tzCmNsYXNzIGluc3RlYWQgb2Yg ZmxhZ3MuCgpOb3cgdGhlIF9fZm9yX2VhY2hfZW5naW5lX2NsYXNzX2luc3RhbmNlIGFuZApmb3Jf ZWFjaF9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgYXJlIHVudXNlZCwgcmVtb3ZlIHRoZW0uCgpTaWdu ZWQtb2ZmLWJ5OiBBbmRpIFNoeXRpIDxhbmRpLnNoeXRpQGludGVsLmNvbT4KQ2M6IFR2cnRrbyBV cnN1bGluIDx0dnJ0a28udXJzdWxpbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogbGliL2lndF9ndC5o ICAgICB8ICA3IC0tLS0tLS0KIHRlc3RzL3BlcmZfcG11LmMgfCA1MyArKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5z ZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9ndC5oIGIv bGliL2lndF9ndC5oCmluZGV4IGFmNGNjMzhhMWVmNy4uYzJjYTA3ZTAzNzM4IDEwMDY0NAotLS0g YS9saWIvaWd0X2d0LmgKKysrIGIvbGliL2lndF9ndC5oCkBAIC0xMTksMTEgKzExOSw0IEBAIHZv aWQgZ2VtX3JlcXVpcmVfZW5naW5lKGludCBnZW1fZmQsCiAJaWd0X3JlcXVpcmUoZ2VtX2hhc19l bmdpbmUoZ2VtX2ZkLCBjbGFzcywgaW5zdGFuY2UpKTsKIH0KIAotI2RlZmluZSBfX2Zvcl9lYWNo X2VuZ2luZV9jbGFzc19pbnN0YW5jZShlX18pIFwKLQlmb3IgKChlX18pID0gaW50ZWxfZXhlY3V0 aW9uX2VuZ2luZXMyOyAoZV9fKS0+bmFtZTsgKGVfXykrKykKLQotI2RlZmluZSBmb3JfZWFjaF9l bmdpbmVfY2xhc3NfaW5zdGFuY2UoZmRfXywgZV9fKSBcCi0JZm9yICgoZV9fKSA9IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmVzMjsgKGVfXyktPm5hbWU7IChlX18pKyspIFwKLQkJZm9yX2lmIChnZW1f aGFzX2VuZ2luZSgoZmRfXyksIChlX18pLT5jbGFzcywgKGVfXyktPmluc3RhbmNlKSkKLQogI2Vu ZGlmIC8qIElHVF9HVF9IICovCmRpZmYgLS1naXQgYS90ZXN0cy9wZXJmX3BtdS5jIGIvdGVzdHMv cGVyZl9wbXUuYwppbmRleCA0ZjU1MmJjMmFlMjguLmM5NTRhMGQ1NGI3MiAxMDA2NDQKLS0tIGEv dGVzdHMvcGVyZl9wbXUuYworKysgYi90ZXN0cy9wZXJmX3BtdS5jCkBAIC0xNTgsMTEgKzE1OCw2 IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbWVhc3VyZWRfdXNsZWVwKHVuc2lnbmVkIGludCB1c2Vj KQogCXJldHVybiBpZ3RfbnNlY19lbGFwc2VkKCZ0cyk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBp bnQgZTJyaW5nKGludCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5l MiAqZSkKLXsKLQlyZXR1cm4gZ2VtX2NsYXNzX2luc3RhbmNlX3RvX2ViX2ZsYWdzKGdlbV9mZCwg ZS0+Y2xhc3MsIGUtPmluc3RhbmNlKTsKLX0KLQogI2RlZmluZSBURVNUX0JVU1kgKDEpCiAjZGVm aW5lIEZMQUdfU1lOQyAoMikKICNkZWZpbmUgVEVTVF9UUkFJTElOR19JRExFICg0KQpAQCAtMTc3 LDcgKzE3Miw3IEBAIHN0YXRpYyBpZ3Rfc3Bpbl90ICogX19zcGluX3BvbGwoaW50IGZkLCB1aW50 MzJfdCBjdHgsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJCS5lbmdpbmUgPSBmbGFncywKIAl9Owog Ci0JaWYgKGdlbV9jYW5fc3RvcmVfZHdvcmQoZmQsIGZsYWdzKSkKKwlpZiAoZ2VtX2NsYXNzX2Nh bl9zdG9yZV9kd29yZChmZCwgZmxhZ3MpKQogCQlvcHRzLmZsYWdzIHw9IElHVF9TUElOX1BPTExf UlVOOwogCiAJcmV0dXJuIF9faWd0X3NwaW5fYmF0Y2hfZmFjdG9yeShmZCwgJm9wdHMpOwpAQCAt MjY3LDcgKzI2Miw3IEBAIHNpbmdsZShpbnQgZ2VtX2ZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhl Y3V0aW9uX2VuZ2luZTIgKmUsIHVuc2lnbmVkIGludCBmbGFncykKIAlmZCA9IG9wZW5fcG11KEk5 MTVfUE1VX0VOR0lORV9CVVNZKGUtPmNsYXNzLCBlLT5pbnN0YW5jZSkpOwogCiAJaWYgKGZsYWdz ICYgVEVTVF9CVVNZKQotCQlzcGluID0gc3Bpbl9zeW5jKGdlbV9mZCwgMCwgZTJyaW5nKGdlbV9m ZCwgZSkpOworCQlzcGluID0gc3Bpbl9zeW5jKGdlbV9mZCwgMCwgZS0+ZmxhZ3MpOwogCWVsc2UK IAkJc3BpbiA9IE5VTEw7CiAKQEAgLTMxNiw3ICszMTEsNyBAQCBidXN5X3N0YXJ0KGludCBnZW1f ZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSkKIAkgKi8KIAlzbGVl cCgyKTsKIAotCXNwaW4gPSBfX3NwaW5fc3luYyhnZW1fZmQsIDAsIGUycmluZyhnZW1fZmQsIGUp KTsKKwlzcGluID0gX19zcGluX3N5bmMoZ2VtX2ZkLCAwLCBlLT5mbGFncyk7CiAKIAlmZCA9IG9w ZW5fcG11KEk5MTVfUE1VX0VOR0lORV9CVVNZKGUtPmNsYXNzLCBlLT5pbnN0YW5jZSkpOwogCkBA IC0zNTksMTEgKzM1NCwxMSBAQCBidXN5X2RvdWJsZV9zdGFydChpbnQgZ2VtX2ZkLCBjb25zdCBz dHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUpCiAJICogcmUtc3VibWlzc2lvbiBpbiBl eGVjbGlzdHMgbW9kZS4gTWFrZSBzdXJlIGJ1c3luZXNzIGlzIGNvcnJlY3RseQogCSAqIHJlcG9y dGVkIHdpdGggdGhlIGVuZ2luZSBidXN5LCBhbmQgYWZ0ZXIgdGhlIGVuZ2luZSB3ZW50IGlkbGUu CiAJICovCi0Jc3BpblswXSA9IF9fc3Bpbl9zeW5jKGdlbV9mZCwgMCwgZTJyaW5nKGdlbV9mZCwg ZSkpOworCXNwaW5bMF0gPSBfX3NwaW5fc3luYyhnZW1fZmQsIDAsIGUtPmZsYWdzKTsKIAl1c2xl ZXAoNTAwZTMpOwogCXNwaW5bMV0gPSBfX2lndF9zcGluX2JhdGNoX25ldyhnZW1fZmQsCiAJCQkJ ICAgICAgIC5jdHggPSBjdHgsCi0JCQkJICAgICAgIC5lbmdpbmUgPSBlMnJpbmcoZ2VtX2ZkLCBl KSk7CisJCQkJICAgICAgIC5lbmdpbmUgPSBlLT5mbGFncyk7CiAKIAkvKgogCSAqIE9wZW4gUE1V IGFzIGZhc3QgYXMgcG9zc2libGUgYWZ0ZXIgdGhlIHNlY29uZCBzcGluIGJhdGNoIGluIGF0dGVt cHQKQEAgLTQzNCw4ICs0MjksOCBAQCBidXN5X2NoZWNrX2FsbChpbnQgZ2VtX2ZkLCBjb25zdCBz dHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUsCiAKIAlpID0gMDsKIAlmZFswXSA9IC0x OwotCWZvcl9lYWNoX2VuZ2luZV9jbGFzc19pbnN0YW5jZShnZW1fZmQsIGVfKSB7Ci0JCWlmIChl ID09IGVfKQorCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGdlbV9mZCwgZV8pIHsKKwkJaWYg KGUtPmNsYXNzID09IGVfLT5jbGFzcyAmJiBlLT5pbnN0YW5jZSA9PSBlXy0+aW5zdGFuY2UpCiAJ CQlidXN5X2lkeCA9IGk7CiAKIAkJZmRbaSsrXSA9IG9wZW5fZ3JvdXAoSTkxNV9QTVVfRU5HSU5F X0JVU1koZV8tPmNsYXNzLApAQCAtNDQ1LDcgKzQ0MCw3IEBAIGJ1c3lfY2hlY2tfYWxsKGludCBn ZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAogCWlndF9h c3NlcnRfZXEoaSwgbnVtX2VuZ2luZXMpOwogCi0Jc3BpbiA9IHNwaW5fc3luYyhnZW1fZmQsIDAs IGUycmluZyhnZW1fZmQsIGUpKTsKKwlzcGluID0gc3Bpbl9zeW5jKGdlbV9mZCwgMCwgZS0+Zmxh Z3MpOwogCXBtdV9yZWFkX211bHRpKGZkWzBdLCBudW1fZW5naW5lcywgdHZhbFswXSk7CiAJc2xl cHQgPSBtZWFzdXJlZF91c2xlZXAoYmF0Y2hfZHVyYXRpb25fbnMgLyAxMDAwKTsKIAlpZiAoZmxh Z3MgJiBURVNUX1RSQUlMSU5HX0lETEUpCkBAIC00NzgsNyArNDczLDcgQEAgX19zdWJtaXRfc3Bp bl9iYXRjaChpbnQgZ2VtX2ZkLCBpZ3Rfc3Bpbl90ICpzcGluLAogCXN0cnVjdCBkcm1faTkxNV9n ZW1fZXhlY2J1ZmZlcjIgZWIgPSBzcGluLT5leGVjYnVmOwogCiAJZWIuZmxhZ3MgJj0gfigweDNm IHwgSTkxNV9FWEVDX0JTRF9NQVNLKTsKLQllYi5mbGFncyB8PSBlMnJpbmcoZ2VtX2ZkLCBlKSB8 IEk5MTVfRVhFQ19OT19SRUxPQzsKKwllYi5mbGFncyB8PSBlLT5mbGFncyB8IEk5MTVfRVhFQ19O T19SRUxPQzsKIAllYi5iYXRjaF9zdGFydF9vZmZzZXQgKz0gb2Zmc2V0OwogCiAJZ2VtX2V4ZWNi dWYoZ2VtX2ZkLCAmZWIpOwpAQCAtNDk3LDEzICs0OTIsMTMgQEAgbW9zdF9idXN5X2NoZWNrX2Fs bChpbnQgZ2VtX2ZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUsCiAJ dW5zaWduZWQgaW50IGlkbGVfaWR4LCBpOwogCiAJaSA9IDA7Ci0JZm9yX2VhY2hfZW5naW5lX2Ns YXNzX2luc3RhbmNlKGdlbV9mZCwgZV8pIHsKLQkJaWYgKGUgPT0gZV8pCisJX19mb3JfZWFjaF9w aHlzaWNhbF9lbmdpbmUoZ2VtX2ZkLCBlXykgeworCQlpZiAoZS0+Y2xhc3MgPT0gZV8tPmNsYXNz ICYmIGUtPmluc3RhbmNlID09IGVfLT5pbnN0YW5jZSkKIAkJCWlkbGVfaWR4ID0gaTsKIAkJZWxz ZSBpZiAoc3BpbikKIAkJCV9fc3VibWl0X3NwaW5fYmF0Y2goZ2VtX2ZkLCBzcGluLCBlXywgNjQp OwogCQllbHNlCi0JCQlzcGluID0gX19zcGluX3BvbGwoZ2VtX2ZkLCAwLCBlMnJpbmcoZ2VtX2Zk LCBlXykpOworCQkJc3BpbiA9IF9fc3Bpbl9wb2xsKGdlbV9mZCwgMCwgZS0+ZmxhZ3MpOwogCiAJ CXZhbFtpKytdID0gSTkxNV9QTVVfRU5HSU5FX0JVU1koZV8tPmNsYXNzLCBlXy0+aW5zdGFuY2Up OwogCX0KQEAgLTU1NCwxMSArNTQ5LDExIEBAIGFsbF9idXN5X2NoZWNrX2FsbChpbnQgZ2VtX2Zk LCBjb25zdCB1bnNpZ25lZCBpbnQgbnVtX2VuZ2luZXMsCiAJdW5zaWduZWQgaW50IGk7CiAKIAlp ID0gMDsKLQlmb3JfZWFjaF9lbmdpbmVfY2xhc3NfaW5zdGFuY2UoZ2VtX2ZkLCBlKSB7CisJX19m b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZ2VtX2ZkLCBlKSB7CiAJCWlmIChzcGluKQogCQkJX19z dWJtaXRfc3Bpbl9iYXRjaChnZW1fZmQsIHNwaW4sIGUsIDY0KTsKIAkJZWxzZQotCQkJc3BpbiA9 IF9fc3Bpbl9wb2xsKGdlbV9mZCwgMCwgZTJyaW5nKGdlbV9mZCwgZSkpOworCQkJc3BpbiA9IF9f c3Bpbl9wb2xsKGdlbV9mZCwgMCwgZS0+ZmxhZ3MpOwogCiAJCXZhbFtpKytdID0gSTkxNV9QTVVf RU5HSU5FX0JVU1koZS0+Y2xhc3MsIGUtPmluc3RhbmNlKTsKIAl9CkBAIC02MDIsNyArNTk3LDcg QEAgbm9fc2VtYShpbnQgZ2VtX2ZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2lu ZTIgKmUsIHVuc2lnbmVkIGludCBmbGFncykKIAlvcGVuX2dyb3VwKEk5MTVfUE1VX0VOR0lORV9X QUlUKGUtPmNsYXNzLCBlLT5pbnN0YW5jZSksIGZkKTsKIAogCWlmIChmbGFncyAmIFRFU1RfQlVT WSkKLQkJc3BpbiA9IHNwaW5fc3luYyhnZW1fZmQsIDAsIGUycmluZyhnZW1fZmQsIGUpKTsKKwkJ c3BpbiA9IHNwaW5fc3luYyhnZW1fZmQsIDAsIGUtPmZsYWdzKTsKIAllbHNlCiAJCXNwaW4gPSBO VUxMOwogCkBAIC02ODksNyArNjg0LDcgQEAgc2VtYV93YWl0KGludCBnZW1fZmQsIGNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAogCWViLmJ1ZmZlcl9jb3VudCA9IDI7 CiAJZWIuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIob2JqKTsKLQllYi5mbGFncyA9IGUy cmluZyhnZW1fZmQsIGUpOworCWViLmZsYWdzID0gZS0+ZmxhZ3M7CiAKIAkvKioKIAkgKiBTdGFy dCB0aGUgc2VtYXBob3JlIHdhaXQgUE1VIGFuZCBhZnRlciBzb21lIGtub3duIHRpbWUgbGV0IHRo ZSBhYm92ZQpAQCAtODQ1LDcgKzg0MCw3IEBAIGV2ZW50X3dhaXQoaW50IGdlbV9mZCwgY29uc3Qg c3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplKQogCiAJZWIuYnVmZmVyX2NvdW50ID0g MTsKIAllYi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmb2JqKTsKLQllYi5mbGFncyA9 IGUycmluZyhnZW1fZmQsIGUpIHwgSTkxNV9FWEVDX1NFQ1VSRTsKKwllYi5mbGFncyA9IGUtPmZs YWdzIHwgSTkxNV9FWEVDX1NFQ1VSRTsKIAogCWZvcl9lYWNoX3BpcGVfd2l0aF92YWxpZF9vdXRw dXQoJmRhdGEuZGlzcGxheSwgcCwgb3V0cHV0KSB7CiAJCXN0cnVjdCBpZ3RfaGVscGVyX3Byb2Nl c3Mgd2FpdGVyID0geyB9OwpAQCAtOTM2LDcgKzkzMSw3IEBAIG11bHRpX2NsaWVudChpbnQgZ2Vt X2ZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUpCiAJICovCiAJZmRb MV0gPSBvcGVuX3BtdShjb25maWcpOwogCi0Jc3BpbiA9IHNwaW5fc3luYyhnZW1fZmQsIDAsIGUy cmluZyhnZW1fZmQsIGUpKTsKKwlzcGluID0gc3Bpbl9zeW5jKGdlbV9mZCwgMCwgZS0+ZmxhZ3Mp OwogCiAJdmFsWzBdID0gdmFsWzFdID0gX19wbXVfcmVhZF9zaW5nbGUoZmRbMF0sICZ0c1swXSk7 CiAJc2xlcHRbMV0gPSBtZWFzdXJlZF91c2xlZXAoYmF0Y2hfZHVyYXRpb25fbnMgLyAxMDAwKTsK QEAgLTE0NjUsNyArMTQ2MCw3IEBAIHRlc3RfZW5hYmxlX3JhY2UoaW50IGdlbV9mZCwgY29uc3Qg c3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplKQogCiAJZWIuYnVmZmVyX2NvdW50ID0g MTsKIAllYi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmb2JqKTsKLQllYi5mbGFncyA9 IGUycmluZyhnZW1fZmQsIGUpOworCWViLmZsYWdzID0gZS0+ZmxhZ3M7CiAKIAkvKgogCSAqIFRo aXMgdGVzdCBpcyBwcm9iYWJpbGlzdGljIHNvIHJ1biBpbiBhIGZldyB0aW1lcyB0byBpbmNyZWFz ZSB0aGUKQEAgLTE1NzAsNyArMTU2NSw3IEBAIGFjY3VyYWN5KGludCBnZW1fZmQsIGNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAkJaWd0X3NwaW5fdCAqc3BpbjsKIAog CQkvKiBBbGxvY2F0ZSBvdXIgc3BpbiBiYXRjaCBhbmQgaWRsZSBpdC4gKi8KLQkJc3BpbiA9IGln dF9zcGluX2JhdGNoX25ldyhnZW1fZmQsIC5lbmdpbmUgPSBlMnJpbmcoZ2VtX2ZkLCBlKSk7CisJ CXNwaW4gPSBpZ3Rfc3Bpbl9iYXRjaF9uZXcoZ2VtX2ZkLCAuZW5naW5lID0gZS0+ZmxhZ3MpOwog CQlpZ3Rfc3Bpbl9iYXRjaF9lbmQoc3Bpbik7CiAJCWdlbV9zeW5jKGdlbV9mZCwgc3Bpbi0+aGFu ZGxlKTsKIApAQCAtMTY3NCw3ICsxNjY5LDcgQEAgaWd0X21haW4KIAkJCQlJOTE1X1BNVV9MQVNU IC0gX19JOTE1X1BNVV9PVEhFUigwKSArIDE7CiAJdW5zaWduZWQgaW50IG51bV9lbmdpbmVzID0g MDsKIAlpbnQgZmQgPSAtMTsKLQljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIg KmU7CisJc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplOwogCXVuc2lnbmVkIGludCBp OwogCiAJaWd0X2ZpeHR1cmUgewpAQCAtMTY4Myw3ICsxNjc4LDcgQEAgaWd0X21haW4KIAkJaWd0 X3JlcXVpcmVfZ2VtKGZkKTsKIAkJaWd0X3JlcXVpcmUoaTkxNV90eXBlX2lkKCkgPiAwKTsKIAot CQlmb3JfZWFjaF9lbmdpbmVfY2xhc3NfaW5zdGFuY2UoZmQsIGUpCisJCV9fZm9yX2VhY2hfcGh5 c2ljYWxfZW5naW5lKGZkLCBlKQogCQkJbnVtX2VuZ2luZXMrKzsKIAl9CiAKQEAgLTE2OTMsNyAr MTY4OCw3IEBAIGlndF9tYWluCiAJaWd0X3N1YnRlc3QoImludmFsaWQtaW5pdCIpCiAJCWludmFs aWRfaW5pdCgpOwogCi0JX19mb3JfZWFjaF9lbmdpbmVfY2xhc3NfaW5zdGFuY2UoZSkgeworCV9f Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CiAJCWNvbnN0IHVuc2lnbmVkIGludCBw Y3RbXSA9IHsgMiwgNTAsIDk4IH07CiAKIAkJLyoqCkBAIC0xODk3LDcgKzE4OTIsNyBAQCBpZ3Rf bWFpbgogCQkJZ2VtX3F1aWVzY2VudF9ncHUoZmQpOwogCQl9CiAKLQkJX19mb3JfZWFjaF9lbmdp bmVfY2xhc3NfaW5zdGFuY2UoZSkgeworCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwg ZSkgewogCQkJaWd0X3N1YnRlc3RfZ3JvdXAgewogCQkJCWlndF9maXh0dXJlIHsKIAkJCQkJZ2Vt X3JlcXVpcmVfZW5naW5lKHJlbmRlcl9mZCwKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRl dkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pZ3QtZGV2