From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 313056E2E0 for ; Tue, 6 Nov 2018 14:26:38 +0000 (UTC) From: Petri Latvala Date: Tue, 6 Nov 2018 16:26:29 +0200 Message-Id: <20181106142629.30952-1-petri.latvala@intel.com> Subject: [igt-dev] [PATCH i-g-t v4 1/1] runner: Implement --abort-on-monitored-error List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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@lists.freedesktop.org Cc: Petri Latvala , Martin Peres , Tomi Sarvela List-ID: RGV2aWF0aW5nIGEgYml0IGZyb20gdGhlIHBpZ2xpdCBjb21tYW5kIGxpbmUgZmxhZywgaWd0X3J1 bm5lciB0YWtlcyBhbgpvcHRpb25hbCBjb21tYS1zZXBhcmF0ZWQgbGlzdCBhcyBhbiBhcmd1bWVu dCB0bwotLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvciBmb3IgdGhlIGxpc3Qgb2YgY29uZGl0aW9u cyB0byBhYm9ydApvbi4gV2l0aG91dCBhIGxpc3QgYWxsIHBvc3NpYmxlIGNvbmRpdGlvbnMgd2ls bCBiZSBjaGVja2VkLgoKVHdvIGNvbmRpdGlvbnMgaW1wbGVtZW50ZWQ6CiAtICJ0YWludCIgY2hl Y2tzIHRoZSBrZXJuZWwgdGFpbnQgbGV2ZWwgZm9yIFRBSU5UX1BBR0UsIFRBSU5UX0RJRSBhbmQK IFRBSU5UX09PUFMKIC0gImxvY2tkZXAiIGNoZWNrcyB0aGUga2VybmVsIGxvY2tkZXAgc3RhdHVz CgpDaGVja2luZyBpcyBkb25lIGFmdGVyIGV2ZXJ5IHRlc3QgYmluYXJ5IGV4ZWN1dGlvbiwgYW5k IGlmIGFuIGFib3J0CmNvbmRpdGlvbiBpcyBtZXQsIHRoZSByZWFzb24gaXMgcHJpbnRlZCB0byBz dGRlcnIgKHVubGVzcyBsb2cgbGV2ZWwgaXMKcXVpZXQpIGFuZCB0aGUgcnVubmVyIGRvZXNuJ3Qg ZXhlY3V0ZSBhbnkgZnVydGhlciB0ZXN0cy4gQWJvcnRpbmcKYmV0d2VlbiBzdWJ0ZXN0cyAod2hl biBydW5uaW5nIGluIC0tbXVsdGlwbGUtbW9kZSkgaXMgbm90IGRvbmUuCgpBIFRPRE8gaXRlbSBm b3IgdGhlIGZ1dHVyZSBpcyBoYXZpbmcgYWJvcnRpbmcgYXBwZWFyIGluIHRoZSB0ZXN0CnJlc3Vs dHMuCgp2MjoKIC0gUmVtZW1iZXIgdG8gZmNsb3NlCiAtIFRhaW50cyBhcmUgdW5zaWduZWQgbG9u ZyAoQ2hyaXMpCiAtIFVzZSBnZXRsaW5lIGluc3RlYWQgb2YgZmdldHMgKENocmlzKQp2MzoKIC0g Rml4IGJyYWluZmFydCB3aXRoIGxvY2tkZXAKdjQ6CiAtIFJlYmFzZQogLSBSZWZhY3RvciB0aGUg YWJvcnQgY29uZGl0aW9uIGNoZWNraW5nIHRvIHBhc3MgZG93biBzdHJpbmdzCiAtIFByZXNlbnQg dGhlIGFib3J0IHJlc3VsdCBpbiByZXN1bHRzLmpzb24gYXMgYSBwc2V1ZG8gdGVzdCByZXN1bHQK IC0gVW5pdCB0ZXN0cyBmb3IgdGhlIHBzZXVkbyByZXN1bHQKClNpZ25lZC1vZmYtYnk6IFBldHJp IExhdHZhbGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPgpDYzogQXJrYWRpdXN6IEhpbGVyIDxh cmthZGl1c3ouaGlsZXJAaW50ZWwuY29tPgpDYzogVG9taSBTYXJ2ZWxhIDx0b21pLnAuc2FydmVs YUBpbnRlbC5jb20+CkNjOiBNYXJ0aW4gUGVyZXMgPG1hcnRpbi5wZXJlc0BsaW51eC5pbnRlbC5j b20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogcnVubmVyL2V4ZWN1dG9yLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTg5ICsrKysrKysrKysrKysrKystLQogcnVu bmVyL2V4ZWN1dG9yLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9h Ym9ydGVkLWFmdGVyLWEtdGVzdC8wL2RtZXNnLnR4dCAgICAgICAgICB8ICAgNSArCiAuLi4vYWJv cnRlZC1hZnRlci1hLXRlc3QvMC9lcnIudHh0ICAgICAgICAgICAgfCAgIDIgKwogLi4uL2Fib3J0 ZWQtYWZ0ZXItYS10ZXN0LzAvam91cm5hbC50eHQgICAgICAgIHwgICAyICsKIC4uLi9hYm9ydGVk LWFmdGVyLWEtdGVzdC8wL291dC50eHQgICAgICAgICAgICB8ICAgMyArCiAuLi4vYWJvcnRlZC1h ZnRlci1hLXRlc3QvUkVBRE1FLnR4dCAgICAgICAgICAgfCAgIDEgKwogLi4uL2Fib3J0ZWQtYWZ0 ZXItYS10ZXN0L2Fib3J0ZWQudHh0ICAgICAgICAgIHwgICAzICsKIC4uLi9hYm9ydGVkLWFmdGVy LWEtdGVzdC9lbmR0aW1lLnR4dCAgICAgICAgICB8ICAgMSArCiAuLi4vYWJvcnRlZC1hZnRlci1h LXRlc3Qvam9ibGlzdC50eHQgICAgICAgICAgfCAgIDUgKwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10 ZXN0L21ldGFkYXRhLnR4dCAgICAgICAgIHwgIDEyICsrCiAuLi4vYWJvcnRlZC1hZnRlci1hLXRl c3QvcmVmZXJlbmNlLmpzb24gICAgICAgfCAgOTAgKysrKysrKysrCiAuLi4vYWJvcnRlZC1hZnRl ci1hLXRlc3Qvc3RhcnR0aW1lLnR4dCAgICAgICAgfCAgIDEgKwogLi4uL2Fib3J0ZWQtYWZ0ZXIt YS10ZXN0L3VuYW1lLnR4dCAgICAgICAgICAgIHwgICAxICsKIC4uLi9hYm9ydGVkLW9uLWJvb3Qv UkVBRE1FLnR4dCAgICAgICAgICAgICAgICB8ICAgMSArCiAuLi4vYWJvcnRlZC1vbi1ib290L2Fi b3J0ZWQudHh0ICAgICAgICAgICAgICAgfCAgIDMgKwogLi4uL2Fib3J0ZWQtb24tYm9vdC9lbmR0 aW1lLnR4dCAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9hYm9ydGVkLW9uLWJvb3Qvam9ibGlz dC50eHQgICAgICAgICAgICAgICB8ICAgNSArCiAuLi4vYWJvcnRlZC1vbi1ib290L21ldGFkYXRh LnR4dCAgICAgICAgICAgICAgfCAgMTIgKysKIC4uLi9hYm9ydGVkLW9uLWJvb3QvcmVmZXJlbmNl Lmpzb24gICAgICAgICAgICB8ICA1OSArKysrKysKIC4uLi9hYm9ydGVkLW9uLWJvb3Qvc3RhcnR0 aW1lLnR4dCAgICAgICAgICAgICB8ICAgMSArCiAuLi4vanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQt b24tYm9vdC91bmFtZS50eHQgfCAgIDEgKwogLi4uL2RtZXNnLXJlc3VsdHMvbWV0YWRhdGEudHh0 ICAgICAgICAgICAgICAgIHwgICAyICstCiAuLi4vbWV0YWRhdGEudHh0ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDIgKy0KIC4uLi9qc29uX3Rlc3RzX2RhdGEvbm9ybWFsLXJ1bi9t ZXRhZGF0YS50eHQgICB8ICAgMiArLQogLi4uL3BpZ2xpdC1zdHlsZS1kbWVzZy9tZXRhZGF0YS50 eHQgICAgICAgICAgIHwgICAyICstCiAuLi4vd2FybmluZ3Mtd2l0aC1kbWVzZy13YXJucy9tZXRh ZGF0YS50eHQgICAgfCAgIDIgKy0KIHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvd2FybmluZ3MvbWV0 YWRhdGEudHh0ICB8ICAgMiArLQogcnVubmVyL3Jlc3VsdGdlbi5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDQ4ICsrKystCiBydW5uZXIvcnVubmVyX2pzb25fdGVzdHMuYyAgICAgICAg ICAgICAgICAgICAgfCAgIDIgKwogcnVubmVyL3J1bm5lcl90ZXN0cy5jICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDQ5ICsrKystCiBydW5uZXIvc2V0dGluZ3MuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNzkgKysrKysrKy0KIHJ1bm5lci9zZXR0aW5ncy5oICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgOCArLQogMzMgZmlsZXMgY2hhbmdlZCwgNTU2IGluc2VydGlv bnMoKyksIDQxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rl c3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9kbWVzZy50eHQKIGNyZWF0ZSBtb2RlIDEw MDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvZXJyLnR4 dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRl ci1hLXRlc3QvMC9qb3VybmFsLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rl c3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9vdXQudHh0CiBjcmVhdGUgbW9kZSAxMDA2 NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9SRUFETUUudHh0 CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVy LWEtdGVzdC9hYm9ydGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3Rz X2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvZW5kdGltZS50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L2pvYmxpc3QudHh0 CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVy LWEtdGVzdC9tZXRhZGF0YS50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0 c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3JlZmVyZW5jZS5qc29uCiBjcmVhdGUgbW9kZSAx MDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9zdGFydHRp bWUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVk LWFmdGVyLWEtdGVzdC91bmFtZS50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90 ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9SRUFETUUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQg cnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvYWJvcnRlZC50eHQKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9lbmR0 aW1lLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRl ZC1vbi1ib290L2pvYmxpc3QudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVz dHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvbWV0YWRhdGEudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQg cnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvcmVmZXJlbmNlLmpzb24KIGNy ZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9z dGFydHRpbWUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9h Ym9ydGVkLW9uLWJvb3QvdW5hbWUudHh0CgpkaWZmIC0tZ2l0IGEvcnVubmVyL2V4ZWN1dG9yLmMg Yi9ydW5uZXIvZXhlY3V0b3IuYwppbmRleCAwMDdiNzJjZS4uZWQ0NDRhOWEgMTAwNjQ0Ci0tLSBh L3J1bm5lci9leGVjdXRvci5jCisrKyBiL3J1bm5lci9leGVjdXRvci5jCkBAIC0xMDgsNiArMTA4 LDkwIEBAIHN0YXRpYyB2b2lkIHBpbmdfd2F0Y2hkb2dzKHZvaWQpCiAJfQogfQogCitzdGF0aWMg Y2hhciAqaGFuZGxlX2xvY2tkZXAodm9pZCkKK3sKKwlGSUxFICpmID0gZm9wZW4oIi9wcm9jL2xv Y2tkZXBfc3RhdHMiLCAiciIpOworCWNvbnN0IGNoYXIgKmRlYnVnX2xvY2tzX2xpbmUgPSAiIGRl YnVnX2xvY2tzOiI7CisJY2hhciAqYnVmID0gTlVMTDsKKwlzaXplX3QgYnVmc2l6ZSA9IDA7CisJ aW50IHZhbDsKKwljaGFyICpyZWFzb24gPSBOVUxMOworCisJaWYgKCFmKQorCQlyZXR1cm4gcmVh c29uOworCisJd2hpbGUgKGdldGxpbmUoJmJ1ZiwgJmJ1ZnNpemUsIGYpID4gMCkgeworCQlpZiAo IXN0cm5jbXAoYnVmLCBkZWJ1Z19sb2Nrc19saW5lLCBzdHJsZW4oZGVidWdfbG9ja3NfbGluZSkp KSB7CisJCQljaGFyICpwID0gYnVmICsgc3RybGVuKGRlYnVnX2xvY2tzX2xpbmUpOworCQkJaWYg KHNzY2FuZihwLCAiJWQiLCAmdmFsKSA9PSAxICYmCisJCQkgICAgdmFsICE9IDEpCisJCQkJYXNw cmludGYoJnJlYXNvbiwgIkxvY2tkZXAgdHJpZ2dlcmVkXG4iKTsKKworCQkJYnJlYWs7CisJCX0K Kwl9CisKKwlmY2xvc2UoZik7CisJZnJlZShidWYpOworCXJldHVybiByZWFzb247Cit9CisKK3N0 YXRpYyBjaGFyICpoYW5kbGVfdGFpbnQodm9pZCkKK3sKKwlGSUxFICpmID0gZm9wZW4oIi9wcm9j L3N5cy9rZXJuZWwvdGFpbnRlZCIsICJyIik7CisJaW50IHM7CisJdW5zaWduZWQgbG9uZyB0YWlu dDsKKwl1bnNpZ25lZCBsb25nIGJhZF90YWludHMgPQorCQkweDIwICB8IC8qIFRBSU5UX1BBR0Ug Ki8KKwkJMHg4MCAgfCAvKiBUQUlOVF9ESUUgKi8KKwkJMHgyMDA7IC8qIFRBSU5UX09PUFMgKi8K KworCWlmICghZikKKwkJcmV0dXJuIE5VTEw7CisKKwlzID0gZnNjYW5mKGYsICIlbHUiLCAmdGFp bnQpOworCWZjbG9zZShmKTsKKworCWlmIChzICE9IDEpCisJCXJldHVybiBOVUxMOworCisJaWYg KHRhaW50ICYgYmFkX3RhaW50cykgeworCQljaGFyICpyZWFzb247CisKKwkJYXNwcmludGYoJnJl YXNvbiwgIktlcm5lbCB0YWludGVkICgweCVseClcbiIsIHRhaW50KTsKKworCQlyZXR1cm4gcmVh c29uOworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgc3RydWN0IHsKKwlpbnQgY29u ZGl0aW9uOworCWNoYXIgKigqaGFuZGxlcikodm9pZCk7Cit9IGFib3J0X2hhbmRsZXJzW10gPSB7 CisJeyBBQk9SVF9MT0NLREVQLCBoYW5kbGVfbG9ja2RlcCB9LAorCXsgQUJPUlRfVEFJTlQsIGhh bmRsZV90YWludCB9LAorCXsgMCwgMCB9LAorfTsKKworc3RhdGljIGNoYXIgKm5lZWRfdG9fYWJv cnQoc3RydWN0IHNldHRpbmdzKiBzZXR0aW5ncykKK3sKKwl0eXBlb2YoKmFib3J0X2hhbmRsZXJz KSAqaXQ7CisJY2hhciAqcmV0ID0gTlVMTDsKKworCWZvciAoaXQgPSBhYm9ydF9oYW5kbGVyczsg aXQtPmNvbmRpdGlvbjsgaXQrKykgeworCQlpZiAoc2V0dGluZ3MtPmFib3J0X21hc2sgJiBpdC0+ Y29uZGl0aW9uICYmCisJCSAgICAocmV0ID0gaXQtPmhhbmRsZXIoKSkgIT0gTlVMTCkgeworCQkJ aWYgKHNldHRpbmdzLT5sb2dfbGV2ZWwgPj0gTE9HX0xFVkVMX05PUk1BTCkKKwkJCQlmcHJpbnRm KHN0ZGVyciwgIiVzIiwgcmV0KTsKKwkJfQorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmV0Owor fQorCiBzdGF0aWMgdm9pZCBwcnVuZV9zdWJ0ZXN0KHN0cnVjdCBqb2JfbGlzdF9lbnRyeSAqZW50 cnksIGNoYXIgKnN1YnRlc3QpCiB7CiAJY2hhciAqZXhjbDsKQEAgLTcxNCw2ICs3OTgsMzcgQEAg c3RhdGljIHZvaWQgcHJpbnRfdGltZV9sZWZ0KHN0cnVjdCBleGVjdXRlX3N0YXRlICpzdGF0ZSwK IAlwcmludGYoIiglKi4wZnMgbGVmdCkgIiwgd2lkdGgsIHN0YXRlLT50aW1lX2xlZnQpOwogfQog CitzdGF0aWMgY2hhciAqZW50cnlfZGlzcGxheV9uYW1lKHN0cnVjdCBqb2JfbGlzdF9lbnRyeSAq ZW50cnkpCit7CisJc2l6ZV90IHNpemUgPSBzdHJsZW4oZW50cnktPmJpbmFyeSkgKyAxOworCWNo YXIgKnJldCA9IG1hbGxvYyhzaXplKTsKKworCXNwcmludGYocmV0LCAiJXMiLCBlbnRyeS0+Ymlu YXJ5KTsKKworCWlmIChlbnRyeS0+c3VidGVzdF9jb3VudCA+IDApIHsKKwkJc2l6ZV90IGk7CisJ CWNvbnN0IGNoYXIgKmRlbGltID0gIiI7CisKKwkJc2l6ZSArPSAzOyAvKiBzdHJsZW4oIiAoIikg KyBzdHJsZW4oIikiKSAqLworCQlyZXQgPSByZWFsbG9jKHJldCwgc2l6ZSk7CisJCXN0cmNhdChy ZXQsICIgKCIpOworCisJCWZvciAoaSA9IDA7IGkgPCBlbnRyeS0+c3VidGVzdF9jb3VudDsgaSsr KSB7CisJCQlzaXplICs9IHN0cmxlbihkZWxpbSkgKyBzdHJsZW4oZW50cnktPnN1YnRlc3RzW2ld KTsKKwkJCXJldCA9IHJlYWxsb2MocmV0LCBzaXplKTsKKworCQkJc3RyY2F0KHJldCwgZGVsaW0p OworCQkJc3RyY2F0KHJldCwgZW50cnktPnN1YnRlc3RzW2ldKTsKKworCQkJZGVsaW0gPSAiLCAi OworCQl9CisJCS8qIFRoZXJlJ3MgYWxyZWFkeSByb29tIGZvciB0aGlzICovCisJCXN0cmNhdChy ZXQsICIpIik7CisJfQorCisJcmV0dXJuIHJldDsKK30KKwogLyoKICAqIFJldHVybnM6CiAgKiAg PTAgLSBTdWNjZXNzCkBAIC03OTcsMjQgKzkxMiwxNSBAQCBzdGF0aWMgaW50IGV4ZWN1dGVfbmV4 dF9lbnRyeShzdHJ1Y3QgZXhlY3V0ZV9zdGF0ZSAqc3RhdGUsCiAJfQogCiAJaWYgKHNldHRpbmdz LT5sb2dfbGV2ZWwgPj0gTE9HX0xFVkVMX05PUk1BTCkgeworCQljaGFyICpkaXNwbGF5bmFtZTsK IAkJaW50IHdpZHRoID0gZGlnaXRzKHRvdGFsKTsKIAkJcHJpbnRmKCJbJTAqemQvJTAqemRdICIs IHdpZHRoLCBpZHggKyAxLCB3aWR0aCwgdG90YWwpOwogCiAJCXByaW50X3RpbWVfbGVmdChzdGF0 ZSwgc2V0dGluZ3MpOwogCi0JCXByaW50ZigiJXMiLCBlbnRyeS0+YmluYXJ5KTsKLQotCQlpZiAo ZW50cnktPnN1YnRlc3RfY291bnQgPiAwKSB7Ci0JCQlzaXplX3QgaTsKLQkJCWNvbnN0IGNoYXIg KmRlbGltID0gIiI7Ci0KLQkJCXByaW50ZigiICgiKTsKLQkJCWZvciAoaSA9IDA7IGkgPCBlbnRy eS0+c3VidGVzdF9jb3VudDsgaSsrKSB7Ci0JCQkJcHJpbnRmKCIlcyVzIiwgZGVsaW0sIGVudHJ5 LT5zdWJ0ZXN0c1tpXSk7Ci0JCQkJZGVsaW0gPSAiLCAiOwotCQkJfQotCQkJcHJpbnRmKCIpIik7 Ci0JCX0KKwkJZGlzcGxheW5hbWUgPSBlbnRyeV9kaXNwbGF5X25hbWUoZW50cnkpOworCQlwcmlu dGYoIiVzIiwgZGlzcGxheW5hbWUpOworCQlmcmVlKGRpc3BsYXluYW1lKTsKIAogCQlwcmludGYo IlxuIik7CiAJfQpAQCAtODk2LDcgKzEwMDIsOCBAQCBzdGF0aWMgYm9vbCBjbGVhcl9vbGRfcmVz dWx0cyhjaGFyICpwYXRoKQogCiAJaWYgKHJlbW92ZV9maWxlKGRpcmZkLCAidW5hbWUudHh0Iikg fHwKIAkgICAgcmVtb3ZlX2ZpbGUoZGlyZmQsICJzdGFydHRpbWUudHh0IikgfHwKLQkgICAgcmVt b3ZlX2ZpbGUoZGlyZmQsICJlbmR0aW1lLnR4dCIpKSB7CisJICAgIHJlbW92ZV9maWxlKGRpcmZk LCAiZW5kdGltZS50eHQiKSB8fAorCSAgICByZW1vdmVfZmlsZShkaXJmZCwgImFib3J0ZWQudHh0 IikpIHsKIAkJY2xvc2UoZGlyZmQpOwogCQlmcHJpbnRmKHN0ZGVyciwgIkVycm9yIGNsZWFyaW5n IG9sZCByZXN1bHRzOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKIAkJcmV0dXJuIGZhbHNlOwpA QCAtOTU3LDYgKzEwNjQsNyBAQCBib29sIGluaXRpYWxpemVfZXhlY3V0ZV9zdGF0ZV9mcm9tX3Jl c3VtZShpbnQgZGlyZmQsCiAJZnJlZV9zZXR0aW5ncyhzZXR0aW5ncyk7CiAJZnJlZV9qb2JfbGlz dChsaXN0KTsKIAltZW1zZXQoc3RhdGUsIDAsIHNpemVvZigqc3RhdGUpKTsKKwlzdGF0ZS0+cmVz dW1pbmcgPSB0cnVlOwogCiAJaWYgKCFyZWFkX3NldHRpbmdzKHNldHRpbmdzLCBkaXJmZCkgfHwK IAkgICAgIXJlYWRfam9iX2xpc3QobGlzdCwgZGlyZmQpKSB7CkBAIC0xMDQ0LDYgKzExNTIsMjIg QEAgc3RhdGljIGJvb2wgb3ZlcmFsbF90aW1lb3V0X2V4Y2VlZGVkKHN0cnVjdCBleGVjdXRlX3N0 YXRlICpzdGF0ZSkKIAlyZXR1cm4gc3RhdGUtPnRpbWVfbGVmdCA9PSAwLjA7CiB9CiAKK3N0YXRp YyB2b2lkIHdyaXRlX2Fib3J0X2ZpbGUoaW50IHJlc2RpcmZkLCBjb25zdCBjaGFyICpyZWFzb24s IGNvbnN0IGNoYXIgKnRlc3RuYW1lKQoreworCWludCBhYm9ydGZkOworCisJaWYgKChhYm9ydGZk ID0gb3BlbmF0KHJlc2RpcmZkLCAiYWJvcnRlZC50eHQiLCBPX0NSRUFUIHwgT19XUk9OTFkgfCBP X0VYQ0wsIDA2NjYpKSA+PSAwKSB7CisJCS8qCisJCSAqIElnbm9yZSBmYWlsdXJlIHRvIG9wZW4s IHRoZXJlJ3MKKwkJICogYWxyZWFkeSBhbiBhYm9ydCBwcm9iYWJseSAoaWYgdGhpcworCQkgKiBp cyBhIHJlc3VtZSkKKwkJICovCisJCWRwcmludGYoYWJvcnRmZCwgIkFib3J0ZWQgYWZ0ZXI6ICVz XG5cbiIsIHRlc3RuYW1lKTsKKwkJd3JpdGUoYWJvcnRmZCwgcmVhc29uLCBzdHJsZW4ocmVhc29u KSk7CisJCWNsb3NlKGFib3J0ZmQpOworCX0KK30KKwogYm9vbCBleGVjdXRlKHN0cnVjdCBleGVj dXRlX3N0YXRlICpzdGF0ZSwKIAkgICAgIHN0cnVjdCBzZXR0aW5ncyAqc2V0dGluZ3MsCiAJICAg ICBzdHJ1Y3Qgam9iX2xpc3QgKmpvYl9saXN0KQpAQCAtMTEwMCwxNCArMTIyNCwyOSBAQCBib29s IGV4ZWN1dGUoc3RydWN0IGV4ZWN1dGVfc3RhdGUgKnN0YXRlLAogCX0KIAljbG9zZSh1bmFtZWZk KTsKIAorCS8qIENoZWNrIGlmIHdlJ3JlIGFscmVhZHkgaW4gYWJvcnQtc3RhdGUgYXQgYm9vdHVw ICovCisJaWYgKCFzdGF0ZS0+cmVzdW1pbmcpIHsKKwkJY2hhciAqcmVhc29uOworCisJCWlmICgo cmVhc29uID0gbmVlZF90b19hYm9ydChzZXR0aW5ncykpICE9IE5VTEwpIHsKKwkJCXdyaXRlX2Fi b3J0X2ZpbGUocmVzZGlyZmQsIHJlYXNvbiwgInN0YXJ0dXAiKTsKKwkJCWZyZWUocmVhc29uKTsK KworCQkJZ290byBlbmQ7CisJCX0KKwl9CisKIAlmb3IgKDsgc3RhdGUtPm5leHQgPCBqb2JfbGlz dC0+c2l6ZTsKIAkgICAgIHN0YXRlLT5uZXh0KyspIHsKLQkJaW50IHJlc3VsdCA9IGV4ZWN1dGVf bmV4dF9lbnRyeShzdGF0ZSwKLQkJCQkJCWpvYl9saXN0LT5zaXplLAotCQkJCQkJJnRpbWVfc3Bl bnQsCi0JCQkJCQlzZXR0aW5ncywKLQkJCQkJCSZqb2JfbGlzdC0+ZW50cmllc1tzdGF0ZS0+bmV4 dF0sCi0JCQkJCQl0ZXN0ZGlyZmQsIHJlc2RpcmZkKTsKKwkJY2hhciAqcmVhc29uOworCQlpbnQg cmVzdWx0OworCisJCXJlc3VsdCA9IGV4ZWN1dGVfbmV4dF9lbnRyeShzdGF0ZSwKKwkJCQkJICAg IGpvYl9saXN0LT5zaXplLAorCQkJCQkgICAgJnRpbWVfc3BlbnQsCisJCQkJCSAgICBzZXR0aW5n cywKKwkJCQkJICAgICZqb2JfbGlzdC0+ZW50cmllc1tzdGF0ZS0+bmV4dF0sCisJCQkJCSAgICB0 ZXN0ZGlyZmQsIHJlc2RpcmZkKTsKIAogCQlpZiAocmVzdWx0IDwgMCkgewogCQkJc3RhdHVzID0g ZmFsc2U7CkBAIC0xMTI0LDYgKzEyNjMsMTUgQEAgYm9vbCBleGVjdXRlKHN0cnVjdCBleGVjdXRl X3N0YXRlICpzdGF0ZSwKIAkJCWJyZWFrOwogCQl9CiAKKwkJaWYgKChyZWFzb24gPSBuZWVkX3Rv X2Fib3J0KHNldHRpbmdzKSkgIT0gTlVMTCkgeworCQkJY2hhciAqZGlzcGxheW5hbWUgPSBlbnRy eV9kaXNwbGF5X25hbWUoJmpvYl9saXN0LT5lbnRyaWVzW3N0YXRlLT5uZXh0XSk7CisJCQl3cml0 ZV9hYm9ydF9maWxlKHJlc2RpcmZkLCByZWFzb24sIGRpc3BsYXluYW1lKTsKKwkJCWZyZWUoZGlz cGxheW5hbWUpOworCQkJZnJlZShyZWFzb24pOworCQkJc3RhdHVzID0gZmFsc2U7CisJCQlicmVh azsKKwkJfQorCiAJCWlmIChyZXN1bHQgPiAwKSB7CiAJCQlkb3VibGUgdGltZV9sZWZ0ID0gc3Rh dGUtPnRpbWVfbGVmdDsKIApAQCAtMTE0MCw2ICsxMjg4LDcgQEAgYm9vbCBleGVjdXRlKHN0cnVj dCBleGVjdXRlX3N0YXRlICpzdGF0ZSwKIAkJY2xvc2UodGltZWZkKTsKIAl9CiAKKyBlbmQ6CiAJ Y2xvc2UodGVzdGRpcmZkKTsKIAljbG9zZShyZXNkaXJmZCk7CiAJY2xvc2Vfd2F0Y2hkb2dzKHNl dHRpbmdzKTsKZGlmZiAtLWdpdCBhL3J1bm5lci9leGVjdXRvci5oIGIvcnVubmVyL2V4ZWN1dG9y LmgKaW5kZXggMjUyMzM5YWIuLjEyODgzZjE1IDEwMDY0NAotLS0gYS9ydW5uZXIvZXhlY3V0b3Iu aAorKysgYi9ydW5uZXIvZXhlY3V0b3IuaApAQCAtMTMsNiArMTMsNyBAQCBzdHJ1Y3QgZXhlY3V0 ZV9zdGF0ZQogCSAqID4gMCA6IFRpbWVvdXQgaW4gdXNlLCB0aW1lIGxlZnQuCiAJICovCiAJZG91 YmxlIHRpbWVfbGVmdDsKKwlkb3VibGUgcmVzdW1pbmc7CiB9OwogCiBlbnVtIHsKZGlmZiAtLWdp dCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9kbWVzZy50 eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvZG1lc2cu dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5hMTg5ZTcwNAotLS0gL2Rl di9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qv MC9kbWVzZy50eHQKQEAgLTAsMCArMSw1IEBACis2LDk1MSwzMjE2MTg2MDk1MDgzLC07Q29uc29s ZTogc3dpdGNoaW5nIHRvIGNvbG91ciBkdW1teSBkZXZpY2UgODB4MjUKKzE0LDk1MiwzMjE2MTg2 MDk1MDk3LC07W0lHVF0gc3VjY2Vzc3Rlc3Q6IGV4ZWN1dGluZworMTQsOTUzLDMyMTYxODYxMDEx MTUsLTtbSUdUXSBzdWNjZXNzdGVzdDogc3RhcnRpbmcgc3VidGVzdCBmaXJzdC1zdWJ0ZXN0Cisx NCw5NTQsMzIxNjE4NjEwMTE2MCwtO1tJR1RdIHN1Y2Nlc3N0ZXN0OiBleGl0aW5nLCByZXQ9MAor Niw5NTUsMzIxNjE4NjEwMTI5OSwtO0NvbnNvbGU6IHN3aXRjaGluZyB0byBjb2xvdXIgZnJhbWUg YnVmZmVyIGRldmljZSAyNDB4NzUKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEv YWJvcnRlZC1hZnRlci1hLXRlc3QvMC9lcnIudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9h Ym9ydGVkLWFmdGVyLWEtdGVzdC8wL2Vyci50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAuLjVkYzc4MDU3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNf ZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL2Vyci50eHQKQEAgLTAsMCArMSwyIEBACitTdGFy dGluZyBzdWJ0ZXN0OiBmaXJzdC1zdWJ0ZXN0CitTdWJ0ZXN0IGZpcnN0LXN1YnRlc3Q6IFNVQ0NF U1MgKDAuMDAwcykKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1h ZnRlci1hLXRlc3QvMC9qb3VybmFsLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRl ZC1hZnRlci1hLXRlc3QvMC9qb3VybmFsLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMC4uODZhMzBlMDcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19k YXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvam91cm5hbC50eHQKQEAgLTAsMCArMSwyIEBACitm aXJzdC1zdWJ0ZXN0CitleGl0OjAgKDAuMDE0cykKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rl c3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9vdXQudHh0IGIvcnVubmVyL2pzb25fdGVz dHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL291dC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAuLjU5NDZiZjMxCi0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pz b25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL291dC50eHQKQEAgLTAsMCArMSwz IEBACitJR1QtVmVyc2lvbjogMS4yMy1nMGM3NjNiZmQgKHg4Nl82NCkgKExpbnV4OiA0LjE4LjAt MS1hbWQ2NCB4ODZfNjQpCitTdGFydGluZyBzdWJ0ZXN0OiBmaXJzdC1zdWJ0ZXN0CitTdWJ0ZXN0 IGZpcnN0LXN1YnRlc3Q6IFNVQ0NFU1MgKDAuMDAwcykKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29u X3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvUkVBRE1FLnR4dCBiL3J1bm5lci9qc29u X3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvUkVBRE1FLnR4dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMC4uMWFkODkwNTMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5u ZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L1JFQURNRS50eHQKQEAgLTAs MCArMSBAQAorQSBydW4gdGhhdCBhYm9ydGVkIGFmdGVyIHJ1bm5pbmcgdGhlIGZpcnN0IHRlc3Qu CmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0 L2Fib3J0ZWQudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVz dC9hYm9ydGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uM2M4ZjI3 MDcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0 ZXItYS10ZXN0L2Fib3J0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQWJvcnRlZCBhZnRlcjogc3Vj Y2Vzc3Rlc3QgKGZpcnN0LXN1YnRlc3QpCisKK0tlcm5lbCB0YWludGVkICgweDIwMCkKZGlmZiAt LWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvZW5kdGlt ZS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L2VuZHRp bWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi42MzVmNmFlOQotLS0g L2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRl c3QvZW5kdGltZS50eHQKQEAgLTAsMCArMSBAQAorMTUzOTk1MzczNS4xNzIzNzMKZGlmZiAtLWdp dCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qvam9ibGlzdC50 eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L2pvYmxpc3Qu dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi4zMWVmODQxMwotLS0gL2Rl di9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qv am9ibGlzdC50eHQKQEAgLTAsMCArMSw1IEBACitzdWNjZXNzdGVzdCBmaXJzdC1zdWJ0ZXN0Citz dWNjZXNzdGVzdCBzZWNvbmQtc3VidGVzdAorbm8tc3VidGVzdHMKK3NraXBwZXJzIHNraXAtb25l Citza2lwcGVycyBza2lwLXR3bwpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9h Ym9ydGVkLWFmdGVyLWEtdGVzdC9tZXRhZGF0YS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRh L2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L21ldGFkYXRhLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMC4uNzg1MDc2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90 ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L21ldGFkYXRhLnR4dApAQCAtMCwwICsxLDEy IEBACithYm9ydF9tYXNrIDogMworbmFtZSA6IG5vcm1hbC1ydW4KK2RyeV9ydW4gOiAwCitzeW5j IDogMAorbG9nX2xldmVsIDogMAorb3ZlcndyaXRlIDogMAorbXVsdGlwbGVfbW9kZSA6IDAKK2lu YWN0aXZpdHlfdGltZW91dCA6IDAKK3VzZV93YXRjaGRvZyA6IDAKK3BpZ2xpdF9zdHlsZV9kbWVz ZyA6IDAKK3Rlc3Rfcm9vdCA6IC9wYXRoL2RvZXMvbm90L2V4aXN0CityZXN1bHRzX3BhdGggOiAv cGF0aC9kb2VzL25vdC9leGlzdApkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9h Ym9ydGVkLWFmdGVyLWEtdGVzdC9yZWZlcmVuY2UuanNvbiBiL3J1bm5lci9qc29uX3Rlc3RzX2Rh dGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvcmVmZXJlbmNlLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAuLjM3Zjc5MjJjCi0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pz b25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9yZWZlcmVuY2UuanNvbgpAQCAtMCww ICsxLDkwIEBACit7CisgICJfX3R5cGVfXyI6IlRlc3RydW5SZXN1bHQiLAorICAicmVzdWx0c192 ZXJzaW9uIjo5LAorICAibmFtZSI6Im5vcm1hbC1ydW4iLAorICAidW5hbWUiOiJMaW51eCBob3N0 bmFtZSA0LjE4LjAtMS1hbWQ2NCAjMSBTTVAgRGViaWFuIDQuMTguNi0xICgyMDE4LTA5LTA2KSB4 ODZfNjQiLAorICAidGltZV9lbGFwc2VkIjp7CisgICAgIl9fdHlwZV9fIjoiVGltZUF0dHJpYnV0 ZSIsCisgICAgInN0YXJ0IjoxNTM5OTUzNzM1LjExMTAzODksCisgICAgImVuZCI6MTUzOTk1Mzcz NS4xNzIzNzMxCisgIH0sCisgICJ0ZXN0cyI6eworICAgICJpZ3RAc3VjY2Vzc3Rlc3RAZmlyc3Qt c3VidGVzdCI6eworICAgICAgIm91dCI6IlN0YXJ0aW5nIHN1YnRlc3Q6IGZpcnN0LXN1YnRlc3Rc blN1YnRlc3QgZmlyc3Qtc3VidGVzdDogU1VDQ0VTUyAoMC4wMDBzKVxuIiwKKyAgICAgICJpZ3Qt dmVyc2lvbiI6IklHVC1WZXJzaW9uOiAxLjIzLWcwYzc2M2JmZCAoeDg2XzY0KSAoTGludXg6IDQu MTguMC0xLWFtZDY0IHg4Nl82NCkiLAorICAgICAgInJlc3VsdCI6InBhc3MiLAorICAgICAgInRp bWUiOnsKKyAgICAgICAgIl9fdHlwZV9fIjoiVGltZUF0dHJpYnV0ZSIsCisgICAgICAgICJzdGFy dCI6MCwKKyAgICAgICAgImVuZCI6MAorICAgICAgfSwKKyAgICAgICJlcnIiOiJTdGFydGluZyBz dWJ0ZXN0OiBmaXJzdC1zdWJ0ZXN0XG5TdWJ0ZXN0IGZpcnN0LXN1YnRlc3Q6IFNVQ0NFU1MgKDAu MDAwcylcbiIsCisgICAgICAiZG1lc2ciOiI8Nj4gWzMyMTYxODYuMDk1MDgzXSBDb25zb2xlOiBz d2l0Y2hpbmcgdG8gY29sb3VyIGR1bW15IGRldmljZSA4MHgyNVxuPDY+IFszMjE2MTg2LjA5NTA5 N10gW0lHVF0gc3VjY2Vzc3Rlc3Q6IGV4ZWN1dGluZ1xuPDY+IFszMjE2MTg2LjEwMTExNV0gW0lH VF0gc3VjY2Vzc3Rlc3Q6IHN0YXJ0aW5nIHN1YnRlc3QgZmlyc3Qtc3VidGVzdFxuPDY+IFszMjE2 MTg2LjEwMTE2MF0gW0lHVF0gc3VjY2Vzc3Rlc3Q6IGV4aXRpbmcsIHJldD0wXG48Nj4gWzMyMTYx ODYuMTAxMjk5XSBDb25zb2xlOiBzd2l0Y2hpbmcgdG8gY29sb3VyIGZyYW1lIGJ1ZmZlciBkZXZp Y2UgMjQweDc1XG4iCisgICAgfSwKKyAgICAiaWd0QHBzZXVkb3Jlc3VsdEBhYm9ydGVkIjp7CisJ Im91dCI6IkFib3J0ZWQgYWZ0ZXI6IHN1Y2Nlc3N0ZXN0IChmaXJzdC1zdWJ0ZXN0KVxuXG5LZXJu ZWwgdGFpbnRlZCAoMHgyMDApXG4iLAorCSJyZXN1bHQiOiJmYWlsIiwKKwkiZXJyIjoiIiwKKwki ZG1lc2ciOiIiLAorICAgIH0KKyAgfSwKKyAgInRvdGFscyI6eworICAgICIiOnsKKyAgICAgICJj cmFzaCI6MCwKKyAgICAgICJwYXNzIjoxLAorICAgICAgImRtZXNnLWZhaWwiOjAsCisgICAgICAi ZG1lc2ctd2FybiI6MCwKKyAgICAgICJza2lwIjowLAorICAgICAgImluY29tcGxldGUiOjAsCisg ICAgICAidGltZW91dCI6MCwKKyAgICAgICJub3RydW4iOjAsCisgICAgICAiZmFpbCI6MSwKKyAg ICAgICJ3YXJuIjowCisgICAgfSwKKyAgICAicm9vdCI6eworICAgICAgImNyYXNoIjowLAorICAg ICAgInBhc3MiOjEsCisgICAgICAiZG1lc2ctZmFpbCI6MCwKKyAgICAgICJkbWVzZy13YXJuIjow LAorICAgICAgInNraXAiOjAsCisgICAgICAiaW5jb21wbGV0ZSI6MCwKKyAgICAgICJ0aW1lb3V0 IjowLAorICAgICAgIm5vdHJ1biI6MCwKKyAgICAgICJmYWlsIjoxLAorICAgICAgIndhcm4iOjAK KyAgICB9LAorICAgICJpZ3RAc3VjY2Vzc3Rlc3QiOnsKKyAgICAgICJjcmFzaCI6MCwKKyAgICAg ICJwYXNzIjoxLAorICAgICAgImRtZXNnLWZhaWwiOjAsCisgICAgICAiZG1lc2ctd2FybiI6MCwK KyAgICAgICJza2lwIjowLAorICAgICAgImluY29tcGxldGUiOjAsCisgICAgICAidGltZW91dCI6 MCwKKyAgICAgICJub3RydW4iOjAsCisgICAgICAiZmFpbCI6MCwKKyAgICAgICJ3YXJuIjowCisg ICAgfSwKKyAgICAiaWd0QHBzZXVkb3Jlc3VsdCI6eworICAgICAgImNyYXNoIjowLAorICAgICAg InBhc3MiOjAsCisgICAgICAiZG1lc2ctZmFpbCI6MCwKKyAgICAgICJkbWVzZy13YXJuIjowLAor ICAgICAgInNraXAiOjAsCisgICAgICAiaW5jb21wbGV0ZSI6MCwKKyAgICAgICJ0aW1lb3V0Ijow LAorICAgICAgIm5vdHJ1biI6MCwKKyAgICAgICJmYWlsIjoxLAorICAgICAgIndhcm4iOjAKKyAg ICB9LAorICB9LAorICAicnVudGltZXMiOnsKKyAgICAiaWd0QHN1Y2Nlc3N0ZXN0Ijp7CisgICAg ICAidGltZSI6eworICAgICAgICAiX190eXBlX18iOiJUaW1lQXR0cmlidXRlIiwKKyAgICAgICAg InN0YXJ0IjowLAorICAgICAgICAiZW5kIjowLjAxNAorICAgICAgfQorICAgIH0sCisgIH0KK30K ZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qv c3RhcnR0aW1lLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRl c3Qvc3RhcnR0aW1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYWUw MzhmMTgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQt YWZ0ZXItYS10ZXN0L3N0YXJ0dGltZS50eHQKQEAgLTAsMCArMSBAQAorMTUzOTk1MzczNS4xMTEw MzkKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRl c3QvdW5hbWUudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVz dC91bmFtZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmE3YWVmNmY3 Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVy LWEtdGVzdC91bmFtZS50eHQKQEAgLTAsMCArMSBAQAorTGludXggaG9zdG5hbWUgNC4xOC4wLTEt YW1kNjQgIzEgU01QIERlYmlhbiA0LjE4LjYtMSAoMjAxOC0wOS0wNikgeDg2XzY0CmRpZmYgLS1n aXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9SRUFETUUudHh0IGIv cnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvUkVBRE1FLnR4dApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZTk1N2M0MGYKLS0tIC9kZXYvbnVsbAorKysg Yi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9SRUFETUUudHh0CkBAIC0w LDAgKzEgQEAKK0EgcnVuIHRoYXQgYWJvcnRlZCBiZWZvcmUgcnVubmluZyBhbnkgdGVzdHMuCmRp ZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9hYm9ydGVk LnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2Fib3J0ZWQudHh0 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi40YTFjMWEzMgotLS0gL2Rldi9u dWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2Fib3J0ZWQu dHh0CkBAIC0wLDAgKzEsMyBAQAorQWJvcnRlZCBhZnRlcjogc3RhcnR1cAorCitLZXJuZWwgdGFp bnRlZCAoMHgyMDApCmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQt b24tYm9vdC9lbmR0aW1lLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1i b290L2VuZHRpbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi42MzVm NmFlOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1v bi1ib290L2VuZHRpbWUudHh0CkBAIC0wLDAgKzEgQEAKKzE1Mzk5NTM3MzUuMTcyMzczCmRpZmYg LS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9qb2JsaXN0LnR4 dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2pvYmxpc3QudHh0Cm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi4zMWVmODQxMwotLS0gL2Rldi9udWxs CisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2pvYmxpc3QudHh0 CkBAIC0wLDAgKzEsNSBAQAorc3VjY2Vzc3Rlc3QgZmlyc3Qtc3VidGVzdAorc3VjY2Vzc3Rlc3Qg c2Vjb25kLXN1YnRlc3QKK25vLXN1YnRlc3RzCitza2lwcGVycyBza2lwLW9uZQorc2tpcHBlcnMg c2tpcC10d28KZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1i b290L21ldGFkYXRhLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290 L21ldGFkYXRhLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uNzg1MDc2 ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24t Ym9vdC9tZXRhZGF0YS50eHQKQEAgLTAsMCArMSwxMiBAQAorYWJvcnRfbWFzayA6IDMKK25hbWUg OiBub3JtYWwtcnVuCitkcnlfcnVuIDogMAorc3luYyA6IDAKK2xvZ19sZXZlbCA6IDAKK292ZXJ3 cml0ZSA6IDAKK211bHRpcGxlX21vZGUgOiAwCitpbmFjdGl2aXR5X3RpbWVvdXQgOiAwCit1c2Vf d2F0Y2hkb2cgOiAwCitwaWdsaXRfc3R5bGVfZG1lc2cgOiAwCit0ZXN0X3Jvb3QgOiAvcGF0aC9k b2VzL25vdC9leGlzdAorcmVzdWx0c19wYXRoIDogL3BhdGgvZG9lcy9ub3QvZXhpc3QKZGlmZiAt LWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L3JlZmVyZW5jZS5q c29uIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvcmVmZXJlbmNlLmpz b24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjQ0ZjI2NjY0Ci0tLSAvZGV2 L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvcmVmZXJl bmNlLmpzb24KQEAgLTAsMCArMSw1OSBAQAoreworICAiX190eXBlX18iOiJUZXN0cnVuUmVzdWx0 IiwKKyAgInJlc3VsdHNfdmVyc2lvbiI6OSwKKyAgIm5hbWUiOiJub3JtYWwtcnVuIiwKKyAgInVu YW1lIjoiTGludXggaG9zdG5hbWUgNC4xOC4wLTEtYW1kNjQgIzEgU01QIERlYmlhbiA0LjE4LjYt MSAoMjAxOC0wOS0wNikgeDg2XzY0IiwKKyAgInRpbWVfZWxhcHNlZCI6eworICAgICJfX3R5cGVf XyI6IlRpbWVBdHRyaWJ1dGUiLAorICAgICJzdGFydCI6MTUzOTk1MzczNS4xMTEwMzg5LAorICAg ICJlbmQiOjE1Mzk5NTM3MzUuMTcyMzczMQorICB9LAorICAidGVzdHMiOnsKKyAgICAiaWd0QHBz ZXVkb3Jlc3VsdEBhYm9ydGVkIjp7CisJIm91dCI6IkFib3J0ZWQgYWZ0ZXI6IHN0YXJ0dXBcblxu S2VybmVsIHRhaW50ZWQgKDB4MjAwKVxuIiwKKwkicmVzdWx0IjoiZmFpbCIsCisJImVyciI6IiIs CisJImRtZXNnIjoiIiwKKyAgICB9CisgIH0sCisgICJ0b3RhbHMiOnsKKyAgICAiIjp7CisgICAg ICAiY3Jhc2giOjAsCisgICAgICAicGFzcyI6MCwKKyAgICAgICJkbWVzZy1mYWlsIjowLAorICAg ICAgImRtZXNnLXdhcm4iOjAsCisgICAgICAic2tpcCI6MCwKKyAgICAgICJpbmNvbXBsZXRlIjow LAorICAgICAgInRpbWVvdXQiOjAsCisgICAgICAibm90cnVuIjowLAorICAgICAgImZhaWwiOjEs CisgICAgICAid2FybiI6MAorICAgIH0sCisgICAgInJvb3QiOnsKKyAgICAgICJjcmFzaCI6MCwK KyAgICAgICJwYXNzIjowLAorICAgICAgImRtZXNnLWZhaWwiOjAsCisgICAgICAiZG1lc2ctd2Fy biI6MCwKKyAgICAgICJza2lwIjowLAorICAgICAgImluY29tcGxldGUiOjAsCisgICAgICAidGlt ZW91dCI6MCwKKyAgICAgICJub3RydW4iOjAsCisgICAgICAiZmFpbCI6MSwKKyAgICAgICJ3YXJu IjowCisgICAgfSwKKyAgICAiaWd0QHBzZXVkb3Jlc3VsdCI6eworICAgICAgImNyYXNoIjowLAor ICAgICAgInBhc3MiOjAsCisgICAgICAiZG1lc2ctZmFpbCI6MCwKKyAgICAgICJkbWVzZy13YXJu IjowLAorICAgICAgInNraXAiOjAsCisgICAgICAiaW5jb21wbGV0ZSI6MCwKKyAgICAgICJ0aW1l b3V0IjowLAorICAgICAgIm5vdHJ1biI6MCwKKyAgICAgICJmYWlsIjoxLAorICAgICAgIndhcm4i OjAKKyAgICB9LAorICB9LAorICAicnVudGltZXMiOnsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qvc3RhcnR0aW1lLnR4dCBiL3J1bm5l ci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L3N0YXJ0dGltZS50eHQKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmFlMDM4ZjE4Ci0tLSAvZGV2L251bGwKKysrIGIv cnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qvc3RhcnR0aW1lLnR4dApAQCAt MCwwICsxIEBACisxNTM5OTUzNzM1LjExMTAzOQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVz dHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvdW5hbWUudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0 YS9hYm9ydGVkLW9uLWJvb3QvdW5hbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwLi5hN2FlZjZmNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2Rh dGEvYWJvcnRlZC1vbi1ib290L3VuYW1lLnR4dApAQCAtMCwwICsxIEBACitMaW51eCBob3N0bmFt ZSA0LjE4LjAtMS1hbWQ2NCAjMSBTTVAgRGViaWFuIDQuMTguNi0xICgyMDE4LTA5LTA2KSB4ODZf NjQKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvZG1lc2ctcmVzdWx0cy9tZXRh ZGF0YS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2RtZXNnLXJlc3VsdHMvbWV0YWRhdGEu dHh0CmluZGV4IDEzMTY1NjBkLi5jNTAxYWUwZSAxMDA2NDQKLS0tIGEvcnVubmVyL2pzb25fdGVz dHNfZGF0YS9kbWVzZy1yZXN1bHRzL21ldGFkYXRhLnR4dAorKysgYi9ydW5uZXIvanNvbl90ZXN0 c19kYXRhL2RtZXNnLXJlc3VsdHMvbWV0YWRhdGEudHh0CkBAIC0xLDQgKzEsNCBAQAotYWJvcnRf b25fZXJyb3IgOiAwCithYm9ydF9tYXNrIDogMAogbmFtZSA6IG5vcm1hbC1ydW4KIGRyeV9ydW4g OiAwCiBzeW5jIDogMApkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9pbmNvbXBs ZXRlLWJlZm9yZS1hbnktc3VidGVzdHMvbWV0YWRhdGEudHh0IGIvcnVubmVyL2pzb25fdGVzdHNf ZGF0YS9pbmNvbXBsZXRlLWJlZm9yZS1hbnktc3VidGVzdHMvbWV0YWRhdGEudHh0CmluZGV4IDEz MTY1NjBkLi5jNTAxYWUwZSAxMDA2NDQKLS0tIGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9pbmNv bXBsZXRlLWJlZm9yZS1hbnktc3VidGVzdHMvbWV0YWRhdGEudHh0CisrKyBiL3J1bm5lci9qc29u X3Rlc3RzX2RhdGEvaW5jb21wbGV0ZS1iZWZvcmUtYW55LXN1YnRlc3RzL21ldGFkYXRhLnR4dApA QCAtMSw0ICsxLDQgQEAKLWFib3J0X29uX2Vycm9yIDogMAorYWJvcnRfbWFzayA6IDAKIG5hbWUg OiBub3JtYWwtcnVuCiBkcnlfcnVuIDogMAogc3luYyA6IDAKZGlmZiAtLWdpdCBhL3J1bm5lci9q c29uX3Rlc3RzX2RhdGEvbm9ybWFsLXJ1bi9tZXRhZGF0YS50eHQgYi9ydW5uZXIvanNvbl90ZXN0 c19kYXRhL25vcm1hbC1ydW4vbWV0YWRhdGEudHh0CmluZGV4IDEzMTY1NjBkLi5jNTAxYWUwZSAx MDA2NDQKLS0tIGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9ub3JtYWwtcnVuL21ldGFkYXRhLnR4 dAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL25vcm1hbC1ydW4vbWV0YWRhdGEudHh0CkBA IC0xLDQgKzEsNCBAQAotYWJvcnRfb25fZXJyb3IgOiAwCithYm9ydF9tYXNrIDogMAogbmFtZSA6 IG5vcm1hbC1ydW4KIGRyeV9ydW4gOiAwCiBzeW5jIDogMApkaWZmIC0tZ2l0IGEvcnVubmVyL2pz b25fdGVzdHNfZGF0YS9waWdsaXQtc3R5bGUtZG1lc2cvbWV0YWRhdGEudHh0IGIvcnVubmVyL2pz b25fdGVzdHNfZGF0YS9waWdsaXQtc3R5bGUtZG1lc2cvbWV0YWRhdGEudHh0CmluZGV4IDdmMTM3 MmMxLi4zZWNhNzhjZCAxMDA2NDQKLS0tIGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9waWdsaXQt c3R5bGUtZG1lc2cvbWV0YWRhdGEudHh0CisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvcGln bGl0LXN0eWxlLWRtZXNnL21ldGFkYXRhLnR4dApAQCAtMSw0ICsxLDQgQEAKLWFib3J0X29uX2Vy cm9yIDogMAorYWJvcnRfbWFzayA6IDAKIG5hbWUgOiBub3JtYWwtcnVuCiBkcnlfcnVuIDogMAog c3luYyA6IDAKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvd2FybmluZ3Mtd2l0 aC1kbWVzZy13YXJucy9tZXRhZGF0YS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3dhcm5p bmdzLXdpdGgtZG1lc2ctd2FybnMvbWV0YWRhdGEudHh0CmluZGV4IDEzMTY1NjBkLi5jNTAxYWUw ZSAxMDA2NDQKLS0tIGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS93YXJuaW5ncy13aXRoLWRtZXNn LXdhcm5zL21ldGFkYXRhLnR4dAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3dhcm5pbmdz LXdpdGgtZG1lc2ctd2FybnMvbWV0YWRhdGEudHh0CkBAIC0xLDQgKzEsNCBAQAotYWJvcnRfb25f ZXJyb3IgOiAwCithYm9ydF9tYXNrIDogMAogbmFtZSA6IG5vcm1hbC1ydW4KIGRyeV9ydW4gOiAw CiBzeW5jIDogMApkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS93YXJuaW5ncy9t ZXRhZGF0YS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3dhcm5pbmdzL21ldGFkYXRhLnR4 dAppbmRleCAxMzE2NTYwZC4uYzUwMWFlMGUgMTAwNjQ0Ci0tLSBhL3J1bm5lci9qc29uX3Rlc3Rz X2RhdGEvd2FybmluZ3MvbWV0YWRhdGEudHh0CisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEv d2FybmluZ3MvbWV0YWRhdGEudHh0CkBAIC0xLDQgKzEsNCBAQAotYWJvcnRfb25fZXJyb3IgOiAw CithYm9ydF9tYXNrIDogMAogbmFtZSA6IG5vcm1hbC1ydW4KIGRyeV9ydW4gOiAwCiBzeW5jIDog MApkaWZmIC0tZ2l0IGEvcnVubmVyL3Jlc3VsdGdlbi5jIGIvcnVubmVyL3Jlc3VsdGdlbi5jCmlu ZGV4IGE2MmU0MDBlLi4yODYzYWIzYiAxMDA2NDQKLS0tIGEvcnVubmVyL3Jlc3VsdGdlbi5jCisr KyBiL3J1bm5lci9yZXN1bHRnZW4uYwpAQCAtNjQ5LDYgKzY0OSw3IEBAIHN0YXRpYyBib29sIGZp bGxfZnJvbV9kbWVzZyhpbnQgZmQsCiAJCWFwcGVuZF9saW5lKCZkbWVzZywgJmRtZXNnbGVuLCBm b3JtYXR0ZWQpOwogCQlmcmVlKGZvcm1hdHRlZCk7CiAJfQorCWZyZWUobGluZSk7CiAKIAlpZiAo Y3VycmVudF90ZXN0ICE9IE5VTEwpIHsKIAkJYWRkX2RtZXNnKGN1cnJlbnRfdGVzdCwgZG1lc2cs IGRtZXNnbGVuLCB3YXJuaW5ncywgd2FybmluZ3NsZW4pOwpAQCAtNzE3LDYgKzcxOCwxNSBAQCBz dGF0aWMgdm9pZCBhZGRfc3VidGVzdChzdHJ1Y3Qgc3VidGVzdHMgKnN1YnRlc3RzLCBjaGFyICpz dWJ0ZXN0KQogCXN1YnRlc3RzLT5uYW1lc1tzdWJ0ZXN0cy0+c2l6ZSAtIDFdID0gc3VidGVzdDsK IH0KIAorc3RhdGljIHZvaWQgZnJlZV9zdWJ0ZXN0cyhzdHJ1Y3Qgc3VidGVzdHMgKnN1YnRlc3Rz KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IHN1YnRlc3RzLT5zaXplOyBpKysp CisJCWZyZWUoc3VidGVzdHMtPm5hbWVzW2ldKTsKKwlmcmVlKHN1YnRlc3RzLT5uYW1lcyk7Cit9 CisKIHN0YXRpYyB2b2lkIGZpbGxfZnJvbV9qb3VybmFsKGludCBmZCwKIAkJCSAgICAgIHN0cnVj dCBqb2JfbGlzdF9lbnRyeSAqZW50cnksCiAJCQkgICAgICBzdHJ1Y3Qgc3VidGVzdHMgKnN1YnRl c3RzLApAQCAtOTAyLDcgKzkxMiw3IEBAIHN0YXRpYyB2b2lkIGFkZF9yZXN1bHRfdG9fdG90YWxz KHN0cnVjdCBqc29uX29iamVjdCAqdG90YWxzLAogCWpzb25fb2JqZWN0X29iamVjdF9hZGQodG90 YWxzLCByZXN1bHQsIGpzb25fb2JqZWN0X25ld19pbnQob2xkICsgMSkpOwogfQogCi1zdGF0aWMg dm9pZCBhZGRfdG9fdG90YWxzKGNoYXIgKmJpbmFyeSwKK3N0YXRpYyB2b2lkIGFkZF90b190b3Rh bHMoY29uc3QgY2hhciAqYmluYXJ5LAogCQkJICBzdHJ1Y3Qgc3VidGVzdHMgKnN1YnRlc3RzLAog CQkJICBzdHJ1Y3QgcmVzdWx0cyAqcmVzdWx0cykKIHsKQEAgLTk1MCw2ICs5NjAsNyBAQCBzdGF0 aWMgYm9vbCBwYXJzZV90ZXN0X2RpcmVjdG9yeShpbnQgZGlyZmQsCiB7CiAJaW50IGZkc1tfRl9M QVNUXTsKIAlzdHJ1Y3Qgc3VidGVzdHMgc3VidGVzdHMgPSB7fTsKKwlib29sIHN0YXR1cyA9IHRy dWU7CiAKIAlpZiAoIW9wZW5fb3V0cHV0X2ZpbGVzKGRpcmZkLCBmZHMsIGZhbHNlKSkgewogCQlm cHJpbnRmKHN0ZGVyciwgIkVycm9yIG9wZW5pbmcgb3V0cHV0IGZpbGVzXG4iKTsKQEAgLTk2Niwx NSArOTc3LDE4IEBAIHN0YXRpYyBib29sIHBhcnNlX3Rlc3RfZGlyZWN0b3J5KGludCBkaXJmZCwK IAkgICAgIWZpbGxfZnJvbV9vdXRwdXQoZmRzW19GX0VSUl0sIGVudHJ5LT5iaW5hcnksICJlcnIi LCAmc3VidGVzdHMsIHJlc3VsdHMtPnRlc3RzKSB8fAogCSAgICAhZmlsbF9mcm9tX2RtZXNnKGZk c1tfRl9ETUVTR10sIHNldHRpbmdzLCBlbnRyeS0+YmluYXJ5LCAmc3VidGVzdHMsIHJlc3VsdHMt PnRlc3RzKSkgewogCQlmcHJpbnRmKHN0ZGVyciwgIkVycm9yIHBhcnNpbmcgb3V0cHV0IGZpbGVz XG4iKTsKLQkJcmV0dXJuIGZhbHNlOworCQlzdGF0dXMgPSBmYWxzZTsKKwkJZ290byBwYXJzZV9v dXRwdXRfZW5kOwogCX0KIAogCW92ZXJyaWRlX3Jlc3VsdHMoZW50cnktPmJpbmFyeSwgJnN1YnRl c3RzLCByZXN1bHRzLT50ZXN0cyk7CiAJYWRkX3RvX3RvdGFscyhlbnRyeS0+YmluYXJ5LCAmc3Vi dGVzdHMsIHJlc3VsdHMpOwogCisgcGFyc2Vfb3V0cHV0X2VuZDoKIAljbG9zZV9vdXRwdXRzKGZk cyk7CisJZnJlZV9zdWJ0ZXN0cygmc3VidGVzdHMpOwogCi0JcmV0dXJuIHRydWU7CisJcmV0dXJu IHN0YXR1czsKIH0KIAogc3RhdGljIHZvaWQgY3JlYXRlX3Jlc3VsdF9yb290X25vZGVzKHN0cnVj dCBqc29uX29iamVjdCAqcm9vdCwKQEAgLTEwNzcsNiArMTA5MSwzNCBAQCBzdHJ1Y3QganNvbl9v YmplY3QgKmdlbmVyYXRlX3Jlc3VsdHNfanNvbihpbnQgZGlyZmQpCiAJCWNsb3NlKHRlc3RkaXJm ZCk7CiAJfQogCisJaWYgKChmZCA9IG9wZW5hdChkaXJmZCwgImFib3J0ZWQudHh0IiwgT19SRE9O TFkpKSA+PSAwKSB7CisJCWNoYXIgYnVmWzQwOTZdOworCQljaGFyIHBpZ2xpdF9uYW1lW10gPSAi aWd0QHBzZXVkb3Jlc3VsdEBhYm9ydGVkIjsKKwkJc3RydWN0IHN1YnRlc3RzIGFib3J0c3ViID0g e307CisJCXN0cnVjdCBqc29uX29iamVjdCAqYWJvcnR0ZXN0ID0gZ2V0X29yX2NyZWF0ZV9qc29u X29iamVjdChyZXN1bHRzLnRlc3RzLCBwaWdsaXRfbmFtZSk7CisJCXNzaXplX3QgczsKKworCQlh ZGRfc3VidGVzdCgmYWJvcnRzdWIsIHN0cmR1cCgiYWJvcnRlZCIpKTsKKworCQlzID0gcmVhZChm ZCwgYnVmLCBzaXplb2YoYnVmKSk7CisKKwkJanNvbl9vYmplY3Rfb2JqZWN0X2FkZChhYm9ydHRl c3QsICJvdXQiLAorCQkJCSAgICAgICBqc29uX29iamVjdF9uZXdfc3RyaW5nX2xlbihidWYsIHMp KTsKKwkJanNvbl9vYmplY3Rfb2JqZWN0X2FkZChhYm9ydHRlc3QsICJlcnIiLAorCQkJCSAgICAg ICBqc29uX29iamVjdF9uZXdfc3RyaW5nKCIiKSk7CisJCWpzb25fb2JqZWN0X29iamVjdF9hZGQo YWJvcnR0ZXN0LCAiZG1lc2ciLAorCQkJCSAgICAgICBqc29uX29iamVjdF9uZXdfc3RyaW5nKCIi KSk7CisJCWpzb25fb2JqZWN0X29iamVjdF9hZGQoYWJvcnR0ZXN0LCAicmVzdWx0IiwKKwkJCQkg ICAgICAganNvbl9vYmplY3RfbmV3X3N0cmluZygiZmFpbCIpKTsKKworCQlhZGRfdG9fdG90YWxz KCJwc2V1ZG9yZXN1bHQiLCAmYWJvcnRzdWIsICZyZXN1bHRzKTsKKworCQlmcmVlX3N1YnRlc3Rz KCZhYm9ydHN1Yik7CisJfQorCisJZnJlZV9zZXR0aW5ncygmc2V0dGluZ3MpOworCWZyZWVfam9i X2xpc3QoJmpvYl9saXN0KTsKKwogCXJldHVybiBvYmo7CiB9CiAKZGlmZiAtLWdpdCBhL3J1bm5l ci9ydW5uZXJfanNvbl90ZXN0cy5jIGIvcnVubmVyL3J1bm5lcl9qc29uX3Rlc3RzLmMKaW5kZXgg NzU4NzAwZDQuLjc1ZDYyMzdmIDEwMDY0NAotLS0gYS9ydW5uZXIvcnVubmVyX2pzb25fdGVzdHMu YworKysgYi9ydW5uZXIvcnVubmVyX2pzb25fdGVzdHMuYwpAQCAtMTU0LDYgKzE1NCw4IEBAIHN0 YXRpYyBjb25zdCBjaGFyICpkaXJuYW1lc1tdID0gewogCSJwaWdsaXQtc3R5bGUtZG1lc2ciLAog CSJpbmNvbXBsZXRlLWJlZm9yZS1hbnktc3VidGVzdHMiLAogCSJkbWVzZy1yZXN1bHRzIiwKKwki YWJvcnRlZC1vbi1ib290IiwKKwkiYWJvcnRlZC1hZnRlci1hLXRlc3QiLAogfTsKIAogaWd0X21h aW4KZGlmZiAtLWdpdCBhL3J1bm5lci9ydW5uZXJfdGVzdHMuYyBiL3J1bm5lci9ydW5uZXJfdGVz dHMuYwppbmRleCBkMDdlNmYzNy4uNjIxM2I4ZTcgMTAwNjQ0Ci0tLSBhL3J1bm5lci9ydW5uZXJf dGVzdHMuYworKysgYi9ydW5uZXIvcnVubmVyX3Rlc3RzLmMKQEAgLTE0Miw3ICsxNDIsNyBAQCBz dGF0aWMgdm9pZCBhc3NlcnRfc2V0dGluZ3NfZXF1YWwoc3RydWN0IHNldHRpbmdzICpvbmUsIHN0 cnVjdCBzZXR0aW5ncyAqdHdvKQogCSAqIFJlZ2V4IGxpc3RzIGFyZSBub3Qgc2VyaWFsaXplZCwg YW5kIHRodXMgd29uJ3QgYmUgY29tcGFyZWQKIAkgKiBoZXJlLgogCSAqLwotCWlndF9hc3NlcnRf ZXEob25lLT5hYm9ydF9vbl9lcnJvciwgdHdvLT5hYm9ydF9vbl9lcnJvcik7CisJaWd0X2Fzc2Vy dF9lcShvbmUtPmFib3J0X21hc2ssIHR3by0+YWJvcnRfbWFzayk7CiAJaWd0X2Fzc2VydF9lcXN0 cihvbmUtPnRlc3RfbGlzdCwgdHdvLT50ZXN0X2xpc3QpOwogCWlndF9hc3NlcnRfZXFzdHIob25l LT5uYW1lLCB0d28tPm5hbWUpOwogCWlndF9hc3NlcnRfZXEob25lLT5kcnlfcnVuLCB0d28tPmRy eV9ydW4pOwpAQCAtMjA4LDcgKzIwOCw3IEBAIGlndF9tYWluCiAKIAkJaWd0X2Fzc2VydChwYXJz ZV9vcHRpb25zKEFSUkFZX1NJWkUoYXJndiksIChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CiAK LQkJaWd0X2Fzc2VydCghc2V0dGluZ3MuYWJvcnRfb25fZXJyb3IpOworCQlpZ3RfYXNzZXJ0X2Vx KHNldHRpbmdzLmFib3J0X21hc2ssIDApOwogCQlpZ3RfYXNzZXJ0KCFzZXR0aW5ncy50ZXN0X2xp c3QpOwogCQlpZ3RfYXNzZXJ0X2Vxc3RyKHNldHRpbmdzLm5hbWUsICJwYXRoLXRvLXJlc3VsdHMi KTsKIAkJaWd0X2Fzc2VydCghc2V0dGluZ3MuZHJ5X3J1bik7CkBAIC0zMjMsNyArMzIzLDcgQEAg aWd0X21haW4KIAkJc2V0ZW52KCJJR1RfVEVTVF9ST09UIiwgdGVzdGRhdGFkaXIsIDEpOwogCQlp Z3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlfU0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAm c2V0dGluZ3MpKTsKIAotCQlpZ3RfYXNzZXJ0KCFzZXR0aW5ncy5hYm9ydF9vbl9lcnJvcik7CisJ CWlndF9hc3NlcnRfZXEoc2V0dGluZ3MuYWJvcnRfbWFzaywgMCk7CiAJCWlndF9hc3NlcnQoIXNl dHRpbmdzLnRlc3RfbGlzdCk7CiAJCWlndF9hc3NlcnRfZXFzdHIoc2V0dGluZ3MubmFtZSwgInBh dGgtdG8tcmVzdWx0cyIpOwogCQlpZ3RfYXNzZXJ0KCFzZXR0aW5ncy5kcnlfcnVuKTsKQEAgLTM0 OCw3ICszNDgsNyBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJwYXJzZS1hbGwtc2V0dGluZ3Mi KSB7CiAJCWNvbnN0IGNoYXIgKmFyZ3ZbXSA9IHsgInJ1bm5lciIsCiAJCQkJICAgICAgICItbiIs ICJmb28iLAotCQkJCSAgICAgICAiLS1hYm9ydC1vbi1tb25pdG9yZWQtZXJyb3IiLAorCQkJCSAg ICAgICAiLS1hYm9ydC1vbi1tb25pdG9yZWQtZXJyb3I9dGFpbnQsbG9ja2RlcCIsCiAJCQkJICAg ICAgICItLXRlc3QtbGlzdCIsICJwYXRoLXRvLXRlc3QtbGlzdCIsCiAJCQkJICAgICAgICItLWln bm9yZS1taXNzaW5nIiwKIAkJCQkgICAgICAgIi0tZHJ5LXJ1biIsCkBAIC0zNzAsNyArMzcwLDcg QEAgaWd0X21haW4KIAogCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlfU0laRShhcmd2 KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKIAotCQlpZ3RfYXNzZXJ0KHNldHRpbmdzLmFi b3J0X29uX2Vycm9yKTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy5hYm9ydF9tYXNrLCBBQk9S VF9UQUlOVCB8IEFCT1JUX0xPQ0tERVApOwogCQlpZ3RfYXNzZXJ0KHN0cnN0cihzZXR0aW5ncy50 ZXN0X2xpc3QsICJwYXRoLXRvLXRlc3QtbGlzdCIpICE9IE5VTEwpOwogCQlpZ3RfYXNzZXJ0X2Vx c3RyKHNldHRpbmdzLm5hbWUsICJmb28iKTsKIAkJaWd0X2Fzc2VydChzZXR0aW5ncy5kcnlfcnVu KTsKQEAgLTQyOCw2ICs0MjgsNDUgQEAgaWd0X21haW4KIAkJaWd0X2Fzc2VydF9lcShzZXR0aW5n cy5sb2dfbGV2ZWwsIExPR19MRVZFTF9WRVJCT1NFKTsKIAl9CiAKKwlpZ3Rfc3VidGVzdCgiYWJv cnQtY29uZGl0aW9ucyIpIHsKKwkJY29uc3QgY2hhciAqYXJndltdID0geyAicnVubmVyIiwKKwkJ CQkgICAgICAgIi0tYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yPXRhaW50IiwKKwkJCQkgICAgICAg InRlc3Qtcm9vdC1kaXIiLAorCQkJCSAgICAgICAicmVzdWx0cy1wYXRoIiwKKwkJfTsKKworCQlp Z3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlfU0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAm c2V0dGluZ3MpKTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy5hYm9ydF9tYXNrLCBBQk9SVF9U QUlOVCk7CisKKwkJYXJndlsxXSA9ICItLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvcj1sb2NrZGVw IjsKKwkJaWd0X2Fzc2VydChwYXJzZV9vcHRpb25zKEFSUkFZX1NJWkUoYXJndiksIChjaGFyKiop YXJndiwgJnNldHRpbmdzKSk7CisJCWlndF9hc3NlcnRfZXEoc2V0dGluZ3MuYWJvcnRfbWFzaywg QUJPUlRfTE9DS0RFUCk7CisKKwkJYXJndlsxXSA9ICItLWFib3J0LW9uLW1vbml0b3JlZC1lcnJv cj10YWludCI7CisJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAo Y2hhcioqKWFyZ3YsICZzZXR0aW5ncykpOworCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLmFib3J0 X21hc2ssIEFCT1JUX1RBSU5UKTsKKworCQlhcmd2WzFdID0gIi0tYWJvcnQtb24tbW9uaXRvcmVk LWVycm9yPWxvY2tkZXAsdGFpbnQiOworCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlf U0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKKwkJaWd0X2Fzc2VydF9lcShz ZXR0aW5ncy5hYm9ydF9tYXNrLCBBQk9SVF9UQUlOVCB8IEFCT1JUX0xPQ0tERVApOworCisJCWFy Z3ZbMV0gPSAiLS1hYm9ydC1vbi1tb25pdG9yZWQtZXJyb3I9dGFpbnQsbG9ja2RlcCI7CisJCWln dF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZz ZXR0aW5ncykpOworCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLmFib3J0X21hc2ssIEFCT1JUX1RB SU5UIHwgQUJPUlRfTE9DS0RFUCk7CisKKwkJYXJndlsxXSA9ICItLWFib3J0LW9uLW1vbml0b3Jl ZC1lcnJvcj1hbGwiOworCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlfU0laRShhcmd2 KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy5h Ym9ydF9tYXNrLCBBQk9SVF9BTEwpOworCisJCWFyZ3ZbMV0gPSAiLS1hYm9ydC1vbi1tb25pdG9y ZWQtZXJyb3I9IjsKKwkJaWd0X2Fzc2VydChwYXJzZV9vcHRpb25zKEFSUkFZX1NJWkUoYXJndiks IChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CisJCWlndF9hc3NlcnRfZXEoc2V0dGluZ3MuYWJv cnRfbWFzaywgMCk7CisKKwkJYXJndlsxXSA9ICItLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvcj1k b2Vzbm90ZXhpc3QiOworCQlpZ3RfYXNzZXJ0KCFwYXJzZV9vcHRpb25zKEFSUkFZX1NJWkUoYXJn diksIChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CisKKwl9CisKIAlpZ3Rfc3VidGVzdCgicGFy c2UtY2xlYXJzLW9sZC1kYXRhIikgewogCQljb25zdCBjaGFyICphcmd2W10gPSB7ICJydW5uZXIi LAogCQkJCSAgICAgICAiLW4iLCAiZm9vIiwKZGlmZiAtLWdpdCBhL3J1bm5lci9zZXR0aW5ncy5j IGIvcnVubmVyL3NldHRpbmdzLmMKaW5kZXggZTI0MDE0NTUuLmU2NDI0NGU2IDEwMDY0NAotLS0g YS9ydW5uZXIvc2V0dGluZ3MuYworKysgYi9ydW5uZXIvc2V0dGluZ3MuYwpAQCAtNDEsNiArNDEs MTYgQEAgc3RhdGljIHN0cnVjdCB7CiAJeyAwLCAwIH0sCiB9OwogCitzdGF0aWMgc3RydWN0IHsK KwlpbnQgdmFsdWU7CisJY29uc3QgY2hhciAqbmFtZTsKK30gYWJvcnRfY29uZGl0aW9uc1tdID0g eworCXsgQUJPUlRfVEFJTlQsICJ0YWludCIgfSwKKwl7IEFCT1JUX0xPQ0tERVAsICJsb2NrZGVw IiB9LAorCXsgQUJPUlRfQUxMLCAiYWxsIiB9LAorCXsgMCwgMCB9LAorfTsKKwogc3RhdGljIGJv b2wgc2V0X2xvZ19sZXZlbChzdHJ1Y3Qgc2V0dGluZ3MqIHNldHRpbmdzLCBjb25zdCBjaGFyICps ZXZlbCkKIHsKIAl0eXBlb2YoKmxvZ19sZXZlbHMpICppdDsKQEAgLTU1LDYgKzY1LDU2IEBAIHN0 YXRpYyBib29sIHNldF9sb2dfbGV2ZWwoc3RydWN0IHNldHRpbmdzKiBzZXR0aW5ncywgY29uc3Qg Y2hhciAqbGV2ZWwpCiAJcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgYm9vbCBzZXRfYWJvcnRf Y29uZGl0aW9uKHN0cnVjdCBzZXR0aW5ncyogc2V0dGluZ3MsIGNvbnN0IGNoYXIgKmNvbmQpCit7 CisJdHlwZW9mKCphYm9ydF9jb25kaXRpb25zKSAqaXQ7CisKKwlpZiAoIWNvbmQpIHsKKwkJc2V0 dGluZ3MtPmFib3J0X21hc2sgPSBBQk9SVF9BTEw7CisJCXJldHVybiB0cnVlOworCX0KKworCWlm IChzdHJsZW4oY29uZCkgPT0gMCkgeworCQlzZXR0aW5ncy0+YWJvcnRfbWFzayA9IDA7CisJCXJl dHVybiB0cnVlOworCX0KKworCWZvciAoaXQgPSBhYm9ydF9jb25kaXRpb25zOyBpdC0+bmFtZTsg aXQrKykgeworCQlpZiAoIXN0cmNtcChjb25kLCBpdC0+bmFtZSkpIHsKKwkJCXNldHRpbmdzLT5h Ym9ydF9tYXNrIHw9IGl0LT52YWx1ZTsKKwkJCXJldHVybiB0cnVlOworCQl9CisJfQorCisJcmV0 dXJuIGZhbHNlOworfQorCitzdGF0aWMgYm9vbCBwYXJzZV9hYm9ydF9jb25kaXRpb25zKHN0cnVj dCBzZXR0aW5ncyAqc2V0dGluZ3MsIGNvbnN0IGNoYXIgKm9wdGFyZykKK3sKKwljaGFyICpkdXAs ICpvcmlnZHVwLCAqcDsKKwlpZiAoIW9wdGFyZykKKwkJcmV0dXJuIHNldF9hYm9ydF9jb25kaXRp b24oc2V0dGluZ3MsIE5VTEwpOworCisJb3JpZ2R1cCA9IGR1cCA9IHN0cmR1cChvcHRhcmcpOwor CXdoaWxlIChkdXApIHsKKwkJaWYgKChwID0gc3RyY2hyKGR1cCwgJywnKSkgIT0gTlVMTCkgewor CQkJKnAgPSAnXDAnOworCQkJcCsrOworCQl9CisKKwkJaWYgKCFzZXRfYWJvcnRfY29uZGl0aW9u KHNldHRpbmdzLCBkdXApKSB7CisJCQlmcmVlKG9yaWdkdXApOworCQkJcmV0dXJuIGZhbHNlOwor CQl9CisKKwkJZHVwID0gcDsKKwl9CisKKwlmcmVlKG9yaWdkdXApOworCisJcmV0dXJuIHRydWU7 Cit9CisKIHN0YXRpYyBjb25zdCBjaGFyICp1c2FnZV9zdHIgPQogCSJ1c2FnZTogcnVubmVyIFtv cHRpb25zXSBbdGVzdF9yb290XSByZXN1bHRzLXBhdGhcblxuIgogCSJPcHRpb25zOlxuIgpAQCAt NjcsOSArMTI3LDE1IEBAIHN0YXRpYyBjb25zdCBjaGFyICp1c2FnZV9zdHIgPQogCSIgICAgICAg ICAgICAgICAgICAgICAgICBSdW4gb25seSBtYXRjaGluZyB0ZXN0cyAoY2FuIGJlIHVzZWQgbW9y ZSB0aGFuIG9uY2UpXG4iCiAJIiAgLXggPHJlZ2V4PiwgLS1leGNsdWRlLXRlc3RzIDxyZWdleD5c biIKIAkiICAgICAgICAgICAgICAgICAgICAgICAgRXhjbHVkZSBtYXRjaGluZyB0ZXN0cyAoY2Fu IGJlIHVzZWQgbW9yZSB0aGFuIG9uY2UpXG4iCi0JIiAgLS1hYm9ydC1vbi1tb25pdG9yZWQtZXJy b3JcbiIKKwkiICAtLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvcls9bGlzdF1cbiIKIAkiICAgICAg ICAgICAgICAgICAgICAgICAgQWJvcnQgZXhlY3V0aW9uIHdoZW4gYSBmYXRhbCBjb25kaXRpb24g aXMgZGV0ZWN0ZWQuXG4iCi0JIiAgICAgICAgICAgICAgICAgICAgICAgIDxUT0RPPlxuIgorCSIg ICAgICAgICAgICAgICAgICAgICAgICBBIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGNvbmRpdGlv bnMgdG8gY2hlY2sgY2FuIGJlXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgIGdpdmVuLiBJ ZiBub3QgZ2l2ZW4sIGFsbCBjb25kaXRpb25zIGFyZSBjaGVja2VkLiBBblxuIgorCSIgICAgICAg ICAgICAgICAgICAgICAgICBlbXB0eSBzdHJpbmcgYXMgYSBjb25kaXRpb24gZGlzYWJsZXMgYWJv cnRpbmdcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgUG9zc2libGUgY29uZGl0aW9uczpc biIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2tkZXAgLSBhYm9ydCB3aGVuIGtlcm5l bCBsb2NrZGVwIGhhcyBiZWVuIGFuZ2VyZWQuXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAg ICB0YWludCAgIC0gYWJvcnQgd2hlbiBrZXJuZWwgYmVjb21lcyBmYXRhbGx5IHRhaW50ZWQuXG4i CisJIiAgICAgICAgICAgICAgICAgICAgICAgICBhbGwgICAgIC0gYWJvcnQgZm9yIGFsbCBvZiB0 aGUgYWJvdmUuXG4iCiAJIiAgLXMsIC0tc3luYyAgICAgICAgICAgIFN5bmMgcmVzdWx0cyB0byBk aXNrIGFmdGVyIGV2ZXJ5IHRlc3RcbiIKIAkiICAtbCB7cXVpZXQsdmVyYm9zZSxkdW1teX0sIC0t bG9nLWxldmVsIHtxdWlldCx2ZXJib3NlLGR1bW15fVxuIgogCSIgICAgICAgICAgICAgICAgICAg ICAgICBTZXQgdGhlIGxvZ2dlciB2ZXJib3NpdHkgbGV2ZWxcbiIKQEAgLTE5Myw3ICsyNTksNyBA QCBib29sIHBhcnNlX29wdGlvbnMoaW50IGFyZ2MsIGNoYXIgKiphcmd2LAogCQl7ImRyeS1ydW4i LCBub19hcmd1bWVudCwgTlVMTCwgT1BUX0RSWV9SVU59LAogCQl7ImluY2x1ZGUtdGVzdHMiLCBy ZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0lOQ0xVREV9LAogCQl7ImV4Y2x1ZGUtdGVzdHMi LCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0VYQ0xVREV9LAotCQl7ImFib3J0LW9uLW1v bml0b3JlZC1lcnJvciIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfQUJPUlRfT05fRVJST1J9LAor CQl7ImFib3J0LW9uLW1vbml0b3JlZC1lcnJvciIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBP UFRfQUJPUlRfT05fRVJST1J9LAogCQl7InN5bmMiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1NZ TkN9LAogCQl7ImxvZy1sZXZlbCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfTE9HX0xF VkVMfSwKIAkJeyJ0ZXN0LWxpc3QiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX1RFU1Rf TElTVH0sCkBAIC0yMzEsNyArMjk3LDggQEAgYm9vbCBwYXJzZV9vcHRpb25zKGludCBhcmdjLCBj aGFyICoqYXJndiwKIAkJCQlnb3RvIGVycm9yOwogCQkJYnJlYWs7CiAJCWNhc2UgT1BUX0FCT1JU X09OX0VSUk9SOgotCQkJc2V0dGluZ3MtPmFib3J0X29uX2Vycm9yID0gdHJ1ZTsKKwkJCWlmICgh cGFyc2VfYWJvcnRfY29uZGl0aW9ucyhzZXR0aW5ncywgb3B0YXJnKSkKKwkJCQlnb3RvIGVycm9y OwogCQkJYnJlYWs7CiAJCWNhc2UgT1BUX1NZTkM6CiAJCQlzZXR0aW5ncy0+c3luYyA9IHRydWU7 CkBAIC00NDQsNyArNTExLDcgQEAgYm9vbCBzZXJpYWxpemVfc2V0dGluZ3Moc3RydWN0IHNldHRp bmdzICpzZXR0aW5ncykKIAkJcmV0dXJuIGZhbHNlOwogCX0KIAotCVNFUklBTElaRV9MSU5FKGYs IHNldHRpbmdzLCBhYm9ydF9vbl9lcnJvciwgIiVkIik7CisJU0VSSUFMSVpFX0xJTkUoZiwgc2V0 dGluZ3MsIGFib3J0X21hc2ssICIlZCIpOwogCWlmIChzZXR0aW5ncy0+dGVzdF9saXN0KQogCQlT RVJJQUxJWkVfTElORShmLCBzZXR0aW5ncywgdGVzdF9saXN0LCAiJXMiKTsKIAlpZiAoc2V0dGlu Z3MtPm5hbWUpCkBAIC01MDEsNyArNTY4LDcgQEAgYm9vbCByZWFkX3NldHRpbmdzKHN0cnVjdCBz ZXR0aW5ncyAqc2V0dGluZ3MsIGludCBkaXJmZCkKIAogCXdoaWxlIChmc2NhbmYoZiwgIiVtcyA6 ICVtcyIsICZuYW1lLCAmdmFsKSA9PSAyKSB7CiAJCWludCBudW12YWwgPSBhdG9pKHZhbCk7Ci0J CVBBUlNFX0xJTkUoc2V0dGluZ3MsIG5hbWUsIHZhbCwgYWJvcnRfb25fZXJyb3IsIG51bXZhbCk7 CisJCVBBUlNFX0xJTkUoc2V0dGluZ3MsIG5hbWUsIHZhbCwgYWJvcnRfbWFzaywgbnVtdmFsKTsK IAkJUEFSU0VfTElORShzZXR0aW5ncywgbmFtZSwgdmFsLCB0ZXN0X2xpc3QsIHZhbCA/IHN0cmR1 cCh2YWwpIDogTlVMTCk7CiAJCVBBUlNFX0xJTkUoc2V0dGluZ3MsIG5hbWUsIHZhbCwgbmFtZSwg dmFsID8gc3RyZHVwKHZhbCkgOiBOVUxMKTsKIAkJUEFSU0VfTElORShzZXR0aW5ncywgbmFtZSwg dmFsLCBkcnlfcnVuLCBudW12YWwpOwpkaWZmIC0tZ2l0IGEvcnVubmVyL3NldHRpbmdzLmggYi9y dW5uZXIvc2V0dGluZ3MuaAppbmRleCBiNDg5YWJjNS4uMjY3ZDcyY2YgMTAwNjQ0Ci0tLSBhL3J1 bm5lci9zZXR0aW5ncy5oCisrKyBiL3J1bm5lci9zZXR0aW5ncy5oCkBAIC0xMiw2ICsxMiwxMiBA QCBlbnVtIHsKIAlMT0dfTEVWRUxfVkVSQk9TRSA9IDEsCiB9OwogCisjZGVmaW5lIEFCT1JUX1RB SU5UICAgKDEgPDwgMCkKKyNkZWZpbmUgQUJPUlRfTE9DS0RFUCAoMSA8PCAxKQorI2RlZmluZSBB Qk9SVF9BTEwgICAgIChBQk9SVF9UQUlOVCB8IEFCT1JUX0xPQ0tERVApCisKK19TdGF0aWNfYXNz ZXJ0KEFCT1JUX0FMTCA9PSAoQUJPUlRfVEFJTlQgfCBBQk9SVF9MT0NLREVQKSwgIkFCT1JUX0FM TCBtdXN0IGJlIGFsbCBjb25kaXRpb25zIGJpdHdpc2Ugb3InZCIpOworCiBzdHJ1Y3QgcmVnZXhf bGlzdCB7CiAJY2hhciAqKnJlZ2V4X3N0cmluZ3M7CiAJcmVnZXhfdCoqIHJlZ2V4ZXM7CkBAIC0x OSw3ICsyNSw3IEBAIHN0cnVjdCByZWdleF9saXN0IHsKIH07CiAKIHN0cnVjdCBzZXR0aW5ncyB7 Ci0JYm9vbCBhYm9ydF9vbl9lcnJvcjsKKwlpbnQgYWJvcnRfbWFzazsKIAljaGFyICp0ZXN0X2xp c3Q7CiAJY2hhciAqbmFtZTsKIAlib29sIGRyeV9ydW47Ci0tIAoyLjE4LjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=