From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FBAB379EE8 for ; Thu, 25 Jun 2026 08:21:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782375673; cv=none; b=GiS1iYbjLsugKoD9xW8oeW6Rt+vpzPVbJMz/97NLFrUKQelwyFLgxoO28DsxS5RG2OGNoO67CA+MB7zncqHkUJPF+zCP5bmtU1zT2caeGu8lFlT8OwnVqVFtopbFmjMSFUjPcXhUT1sFgMXFQ8ZH+EB+9CFntuiMmyEDeuAkV7M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782375673; c=relaxed/simple; bh=lCB+E8DSdWQv1eWTst4zSKROxBva2X55zLB5xobJq50=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=UKmwssAv0w8YDPZ7jTYXEPqc5QAImyWIoHT4WrP+5U5TjRMoibf247rWxzgU+FAW0db+PQGGLZMhcXwcV6yItWET42S4PKENsp3dheJ3ucdTceGlzjv5mMON3+LHkigxzDFXwl6ZsvdTGOAGn0t3dboeUmJWKNqMlffwDndHSX8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=N4tQes42; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=WQnzD5WJ; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="N4tQes42"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="WQnzD5WJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1782375670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lCB+E8DSdWQv1eWTst4zSKROxBva2X55zLB5xobJq50=; b=N4tQes42U9knzBTUAPt3LcZWMtBfmjlK7bMl6jGpCP8mcFuRTM6Ld8J3tCZjoTowNsvT3z e+eQqd1inlf46CDrVoYTMo4gocajLB1hDizf7kzjqEQbQxtCVaPdwrjPGdM4vA1CqVllmm 8Z2I1aiOxW6lcjFB7aL6pbRsFohkci8= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-612-E3ktpLSjN-Kp0WoWZi5yaQ-1; Thu, 25 Jun 2026 04:21:09 -0400 X-MC-Unique: E3ktpLSjN-Kp0WoWZi5yaQ-1 X-Mimecast-MFC-AGG-ID: E3ktpLSjN-Kp0WoWZi5yaQ_1782375668 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-46db5d470bfso445951f8f.2 for ; Thu, 25 Jun 2026 01:21:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1782375668; x=1782980468; darn=vger.kernel.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=lCB+E8DSdWQv1eWTst4zSKROxBva2X55zLB5xobJq50=; b=WQnzD5WJ8gxswJS3LoV0207pXUPELyhTYkgJSbdEcxjKDvTS4pkFWTRhk7BXXIGJuA HsrRDBgoNWlQsehVtHBqCf6hJOebIpV28LYQywAwMTBMN/roMbWtGoA0zBSW8fAxmUry VweDGfB9gYQrXFUGan2Wwgiuzm3lYi1UBVk1Og9HU3RvXJ2xZsv61m1amf4GRyNgGGbv uwf/XyDX9tu+0GdYQ7o5D5/qUoJEf0hlpFlU/9usBbwLATQQl2/D69VTn2pLPaQJyIAG 6rZl89HF3hNHwQWJvex3IPRAED3UtqwYFWmqO0cCYUUMmxu/47WnUkkP/jf94iMRIcQJ jKJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782375668; x=1782980468; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=lCB+E8DSdWQv1eWTst4zSKROxBva2X55zLB5xobJq50=; b=I5QaF8MeLof876r9NsFHK52mDI7BAs7M+unMU2oIt6XMw8I16u7Raxte5Kg60JctuX ugS7KLJ+EqTcClbc8xFvxomxUjZEjEROjVdqWz5CAdx6Y0WlCZuC360QnH1toaDociAI GKuCy33ASL1IV4s/1rgYx1yQqrIiU3Nuz+X4GqIkT9LMNkvCT2WquVSYAwd10QeuhhcU Y/jEr5WRDeQJa2r+05SnZ3L05leNeUJvxaAysrfkgUgAUYAjnHMJXZIAHXzq4fTtcHRW O7//bfy1ni9F8GqmaKFJAfeC9gXwP85TG0wZYM0NsOhpohlxLLnuxZv8Y12en8XahxHe 2yYw== X-Forwarded-Encrypted: i=1; AHgh+RqUT9fSlN6QAklUzJRtXS/roMzjXoE5vxKWHHlAUT4exOs57L2ZZiLmMTP5EwMDn1Xc1734hCgWgAMly0s=@vger.kernel.org X-Gm-Message-State: AOJu0YwJqBDheq9iekf3gr+TLSua+fU+7VMvfCT7jOklDGKJbqekh1c2 vV0ZeT+KCcBeh67b7y1YD1m2DAnUKvXzmFTFoXGmR/cJrHZivHdaj+Jh8jdN46Z7ujk6thvCLoq Tm10H8t54xFuph+BotYWqFdVJ/lWlFOT7y3ON/9vElEUM8NnLGa96bf/uI4/krehtZA== X-Gm-Gg: AfdE7cnxwtY7fPd+C+AzHHQ+JjK1yXBeR3A8lVLlKyGf9tkNrxwI1tuAFEdoLfjFDPW nyrxPJrBXrjhq9SZ1mJLxJBe9aV9EpcztOBZQ1f6t0zwY1a+J1RNt5l5JjExK4//aeaVDLcn/s2 wf13ch21vwEw2mxKtglop+9AfogOrGyQLIlcXSNGpN2N8iRS3NTXIz0rokLdMya56n83F+ybja8 xRKjS5KSELM/k0XYMXctIDbhGYT5qPj5LYTNyOtsbp26quiliXLSd2uMeRCqJOn53HqEWnPa15i W3H8GJNKVidoeMsPRTTcDwH+llcEyIFgIsyopHunYAy6HEN+L1qv+JfXvEfQ1mdapCQgSEabjO+ btGLXyS6y1E8jtz4= X-Received: by 2002:a05:6000:40cf:b0:46d:1433:77ec with SMTP id ffacd0b85a97d-46dbf021840mr2193457f8f.2.1782375667751; Thu, 25 Jun 2026 01:21:07 -0700 (PDT) X-Received: by 2002:a05:6000:40cf:b0:46d:1433:77ec with SMTP id ffacd0b85a97d-46dbf021840mr2193403f8f.2.1782375667348; Thu, 25 Jun 2026 01:21:07 -0700 (PDT) Received: from [192.168.1.167] ([185.168.96.228]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46c1ee01d46sm13314200f8f.13.2026.06.25.01.21.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jun 2026 01:21:06 -0700 (PDT) Message-ID: <5bd5c857c5130dd7b122112c69baf793bcf45090.camel@redhat.com> Subject: Re: [PATCH v4 09/13] verification/rvgen: Delete __parse_constraint() From: Gabriele Monaco To: Nam Cao Cc: Steven Rostedt , Wander Lairson Costa , linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org Date: Thu, 25 Jun 2026 10:21:05 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.60.2 (3.60.2-1.fc44) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 T24gRnJpLCAyMDI2LTA2LTE5IGF0IDA3OjUyICswMjAwLCBOYW0gQ2FvIHdyb3RlOgo+IEFsbCBw cmV2aW91cyB1c2VycyBvZiBzZWxmLmludmFyaWFudHMgYW5kIHNlbGYuZ3VhcmRzIGhhdmUgYmVl bgo+IGNvbnZlcnRlZAo+IHRvIHRoZSBMYXJrIHBhcnNlciwgZGVsZXRlIF9fcGFyc2VfY29uc3Ry YWludHMoKSBhbmQgaXRzIGFzc29jaWF0ZXMuCj4gCj4gU2lnbmVkLW9mZi1ieTogTmFtIENhbyA8 bmFtY2FvQGxpbnV0cm9uaXguZGU+CgpUaGlzIG9uZSB3YXMgbWlzc2luZyB0aGUKClJldmlld2Vk LWJ5OiBHYWJyaWVsZSBNb25hY28gPGdtb25hY29AcmVkaGF0LmNvbT4KClRoZSBzZXJpZXMgbG9v a3MgcmVhZHkgZm9yIGluY2x1c2lvbiB0byBtZSwgdGhhbmtzIQoKR2FicmllbGUKCj4gLS0tCj4g wqB0b29scy92ZXJpZmljYXRpb24vcnZnZW4vcnZnZW4vZG90MmsucHkgfCA2NyArKy0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+IC0tCj4gwqAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA2 MyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvdmVyaWZpY2F0aW9uL3J2Z2Vu L3J2Z2VuL2RvdDJrLnB5Cj4gYi90b29scy92ZXJpZmljYXRpb24vcnZnZW4vcnZnZW4vZG90Mmsu cHkKPiBpbmRleCA0ZWExZWNjNTVjODAuLmYxZjVmYTI5N2FkYiAxMDA2NDQKPiAtLS0gYS90b29s cy92ZXJpZmljYXRpb24vcnZnZW4vcnZnZW4vZG90MmsucHkKPiArKysgYi90b29scy92ZXJpZmlj YXRpb24vcnZnZW4vcnZnZW4vZG90MmsucHkKPiBAQCAtMTc3LDcgKzE3Nyw2IEBAIGNsYXNzIGhh MmsoZG90MmspOgo+IMKgwqDCoMKgwqDCoMKgwqAgaWYgbm90IHNlbGYuaXNfaHlicmlkX2F1dG9t YXRhKCk6Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJhaXNlIEF1dG9tYXRhRXJyb3IoIkRl dGVjdGVkIGRldGVybWluaXN0aWMgYXV0b21hdG9uLAo+IHVzZSB0aGUgJ2RhJyBjbGFzcyIpCj4g wqDCoMKgwqDCoMKgwqDCoCBzZWxmLnRyYWNlX2ggPSBzZWxmLl9yZWFkX3RlbXBsYXRlX2ZpbGUo InRyYWNlX2h5YnJpZC5oIikKPiAtwqDCoMKgwqDCoMKgwqAgc2VsZi5fX3BhcnNlX2NvbnN0cmFp bnRzKCkKPiDCoMKgwqDCoMKgwqDCoMKgIHNlbGYuaGFzX2ludmFyaWFudCA9IEZhbHNlCj4gwqDC oMKgwqDCoMKgwqDCoCBzZWxmLmhhc19ndWFyZCA9IEZhbHNlCj4gwqDCoMKgwqDCoMKgwqDCoCBm b3Igc3RhdGUgaW4gc2VsZi5fc3RhdGVzOgo+IEBAIC0zMDgsNjQgKzMwNyw2IEBAIGNsYXNzIGhh MmsoZG90MmspOgo+IMKgwqDCoMKgwqDCoMKgwqAgc2VwYXJhdG9yID0gIlxuXHRcdMKgwqDCoMKg wqAgIiBpZiBzdW0obGVuKHIpIGZvciByIGluIHJ1bGVzKSA+Cj4gODAgZWxzZSAiICIKPiDCoMKg wqDCoMKgwqDCoMKgIHJldHVybiBbInJlcyA9ICIgKyBzZXBhcmF0b3Iuam9pbihydWxlcykgKyAi OyJdCj4gwqAKPiAtwqDCoMKgIGRlZiBfX3ZhbGlkYXRlX2NvbnN0cmFpbnQoc2VsZiwga2V5OiB0 dXBsZVtpbnQsIGludF0gfCBpbnQsCj4gY29uc3RyOiBzdHIsCj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcnVsZSwgcmVzZXQpIC0+ IE5vbmU6Cj4gLcKgwqDCoMKgwqDCoMKgICMgZXZlbnQgY29uc3RyYWlucyBhcmUgdHVwbGVzIGFu ZCBhbGxvdyBib3RoIHJ1bGVzIGFuZCByZXNldAo+IC3CoMKgwqDCoMKgwqDCoCAjIHN0YXRlIGNv bnN0cmFpbnRzIGFyZSBvbmx5IHVzZWQgZm9yIGV4cGlyYXRpb25zIChlLmcuCj4gY2xrPE4pCj4g LcKgwqDCoMKgwqDCoMKgIGlmIHNlbGYuaXNfZXZlbnRfY29uc3RyYWludChrZXkpOgo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGlmIG5vdCBydWxlIGFuZCBub3QgcmVzZXQ6Cj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByYWlzZSBBdXRvbWF0YUVycm9yKCJVbnJlY29nbmlzZWQg ZXZlbnQgY29uc3RyYWludCAiCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBmIih7c2VsZi5zdGF0ZXNba2V5 WzBdXX0ve3NlbGYuZXZlbnRzW2tleVsxXV19OiB7Y29uc3RyfSkiKQo+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGlmIHJ1bGUgYW5kIChydWxlWyJlbnYiXSBpbiBzZWxmLmVudl90eXBlcyBhbmQK PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJ1bGVb ImVudiJdIG5vdCBpbiBzZWxmLmVudl9zdG9yZWQpOgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgcmFpc2UgQXV0b21hdGFFcnJvcigiQ2xvY2tzIGluIGh5YnJpZCBhdXRvbWF0YQo+ IGFsd2F5cyByZXF1aXJlIGEgc3RvcmFnZSIKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmIiAoe3J1bGVbImVu diJdfSkiKQo+IC3CoMKgwqDCoMKgwqDCoCBlbHNlOgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGlmIG5vdCBydWxlOgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmFpc2UgQXV0 b21hdGFFcnJvcigiVW5yZWNvZ25pc2VkIHN0YXRlIGNvbnN0cmFpbnQgIgo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGYiKHtzZWxmLnN0YXRlc1trZXldfToKPiB7Y29uc3RyfSkiKQo+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGlmIHJ1bGVbImVudiJdIG5vdCBpbiBzZWxmLmVudl9zdG9yZWQ6Cj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByYWlzZSBBdXRvbWF0YUVycm9yKCJTdGF0ZSBjb25z dHJhaW50cyBhbHdheXMKPiByZXF1aXJlIGEgc3RvcmFnZSAiCj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZiIo e3J1bGVbImVudiJdfSkiKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIHJ1bGVbIm9wIl0g bm90IGluIFsiPCIsICI8PSJdOgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmFp c2UgQXV0b21hdGFFcnJvcigiU3RhdGUgY29uc3RyYWludHMgbXVzdCBiZSBjbG9jawo+IGV4cGly YXRpb25zIGxpa2UiCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZiIgY2xrPE4gKHtydWxlLnN0cmluZ30pIikK PiAtCj4gLcKgwqDCoCBkZWYgX19wYXJzZV9jb25zdHJhaW50cyhzZWxmKSAtPiBOb25lOgo+IC3C oMKgwqDCoMKgwqDCoCBzZWxmLmd1YXJkczogZGljdFtfRXZlbnRDb25zdHJhaW50S2V5LCBzdHJd ID0ge30KPiAtwqDCoMKgwqDCoMKgwqAgc2VsZi5pbnZhcmlhbnRzOiBkaWN0W19TdGF0ZUNvbnN0 cmFpbnRLZXksIHN0cl0gPSB7fQo+IC3CoMKgwqDCoMKgwqDCoCBmb3Iga2V5LCBjb25zdHJhaW50 IGluIHNlbGYuY29uc3RyYWludHMuaXRlbXMoKToKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBy dWxlcyA9IFtdCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVzZXRzID0gW10KPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBmb3IgYywgc2VwIGluIHNlbGYuX3NwbGl0X2NvbnN0cmFpbnRfZXhw cihjb25zdHJhaW50KToKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJ1bGUgPSBz ZWxmLmNvbnN0cmFpbnRfcnVsZS5zZWFyY2goYykKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHJlc2V0ID0gc2VsZi5jb25zdHJhaW50X3Jlc2V0LnNlYXJjaChjKQo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2VsZi5fX3ZhbGlkYXRlX2NvbnN0cmFpbnQoa2V5LCBj LCBydWxlLCByZXNldCkKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIHJ1bGU6 Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhbHVlID0gcnVsZVsi dmFsIl0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFsdWVfbGVu ID0gbGVuKHJ1bGVbInZhbCJdKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB1bml0ID0gTm9uZQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBpZiBydWxlLmdyb3VwZGljdCgpLmdldCgidW5pdCIpOgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhbHVlX2xlbiArPSBsZW4ocnVsZVsidW5pdCJd KQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuaXQg PSBydWxlWyJ1bml0Il0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg YyA9IGNbOi0odmFsdWVfbGVuKV0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgdmFsdWUgPSBzZWxmLl9fYWRqdXN0X3ZhbHVlKHZhbHVlLCB1bml0KQo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBzZWxmLmlzX2V2ZW50X2NvbnN0cmFp bnQoa2V5KToKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBjID0gc2VsZi5fX3BhcnNlX3NpbmdsZV9jb25zdHJhaW50KHJ1bGUsCj4gdmFsdWUpCj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgc2VwOgo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYyAr PSBmIiB7c2VwfSIKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZWxz ZToKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjID0g c2VsZi5fX3BhcnNlX3RpbWVyX2NvbnN0cmFpbnQocnVsZSwKPiB2YWx1ZSkKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcnVsZXMuYXBwZW5kKGMpCj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiByZXNldDoKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgYyA9IGYiaGFfcmVzZXRfZW52KGhhX21vbiwKPiB7cmVzZXRbImVu diJdfXtzZWxmLmVudW1fc3VmZml4fSwgdGltZV9ucykiCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHJlc2V0cy5hcHBlbmQoYykKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBpZiBzZWxmLmlzX2V2ZW50X2NvbnN0cmFpbnQoa2V5KToKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHJlcyA9IHNlbGYuX19mb3JtYXRfZ3VhcmRfcnVsZXMocnVsZXMpICsg cmVzZXRzCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZWxmLmd1YXJkc1trZXld ID0gIjsiLmpvaW4ocmVzKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVsc2U6Cj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZWxmLmludmFyaWFudHNba2V5XSA9IHJ1bGVzWzBd Cj4gLQo+IMKgwqDCoMKgIGRlZiBfX2ZpbGxfdmVyaWZ5X2ludmFyaWFudHNfZnVuYyhzZWxmKSAt PiBsaXN0W3N0cl06Cj4gwqDCoMKgwqDCoMKgwqDCoCBpZiBub3Qgc2VsZi5oYXNfaW52YXJpYW50 Ogo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gW10KPiBAQCAtNDkwLDE1ICs0MzEs MTUgQEAgZiIiInN0YXRpYyBib29sIGhhX3ZlcmlmeV9jb25zdHJhaW50KHN0cnVjdAo+IGhhX21v bml0b3IgKmhhX21vbiwKPiDCoFx0XHRcdFx0IGVudW0ge3NlbGYuZW51bV9zdGF0ZXNfZGVmfSBu ZXh0X3N0YXRlLCB1NjQgdGltZV9ucykKPiDCoHt7IiIiKQo+IMKgCj4gLcKgwqDCoMKgwqDCoMKg IGlmIHNlbGYuaW52YXJpYW50czoKPiArwqDCoMKgwqDCoMKgwqAgaWYgc2VsZi5oYXNfaW52YXJp YW50Ogo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBidWZmLmFwcGVuZCgiXHRpZiAoIWhhX3Zl cmlmeV9pbnZhcmlhbnRzKGhhX21vbiwKPiBjdXJyX3N0YXRlLCAiCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJldmVudCwgbmV4dF9zdGF0ZSwgdGlt ZV9ucykpXG5cdFx0cmV0dXJuCj4gZmFsc2U7XG4iKQo+IMKgCj4gLcKgwqDCoMKgwqDCoMKgIGlm IHNlbGYuZ3VhcmRzOgo+ICvCoMKgwqDCoMKgwqDCoCBpZiBzZWxmLmhhc19ndWFyZDoKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgYnVmZi5hcHBlbmQoIlx0aWYgKCFoYV92ZXJpZnlfZ3VhcmRz KGhhX21vbiwgY3Vycl9zdGF0ZSwKPiBldmVudCwgIgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAibmV4dF9zdGF0ZSwgdGltZV9ucykpXG5cdFx0cmV0 dXJuCj4gZmFsc2U7XG4iKQo+IMKgCj4gLcKgwqDCoMKgwqDCoMKgIGlmIHNlbGYuaW52YXJpYW50 czoKPiArwqDCoMKgwqDCoMKgwqAgaWYgc2VsZi5oYXNfaW52YXJpYW50Ogo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBidWZmLmFwcGVuZCgiXHRoYV9zZXR1cF9pbnZhcmlhbnRzKGhhX21vbiwg Y3Vycl9zdGF0ZSwKPiBldmVudCwgbmV4dF9zdGF0ZSwgdGltZV9ucyk7XG4iKQo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoCBidWZmLmFwcGVuZCgiXHRyZXR1cm4gdHJ1ZTtcbn1cbiIpCj4gQEAgLTU3 NSw3ICs1MTYsNyBAQCBmIiIic3RhdGljIGJvb2wgaGFfdmVyaWZ5X2NvbnN0cmFpbnQoc3RydWN0 Cj4gaGFfbW9uaXRvciAqaGFfbW9uLAo+IMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHNlbGYuX19m aWxsX2h5YnJpZF9nZXRfcmVzZXRfZnVuY3Rpb25zKCkgKwo+IHNlbGYuX19maWxsX2NvbnN0cl9m dW5jKCkKPiDCoAo+IMKgwqDCoMKgIGRlZiBfZmlsbF90aW1lcl90eXBlKHNlbGYpIC0+IGxpc3Q6 Cj4gLcKgwqDCoMKgwqDCoMKgIGlmIHNlbGYuaW52YXJpYW50czoKPiArwqDCoMKgwqDCoMKgwqAg aWYgc2VsZi5oYXNfaW52YXJpYW50Ogo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4g Wwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIi8qIFhYWDogSWYg dGhlIG1vbml0b3IgaGFzIHNldmVyYWwgaW5zdGFuY2VzLAo+IGNvbnNpZGVyIEhBX1RJTUVSX1dI RUVMICovIiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIjZGVm aW5lIEhBX1RJTUVSX1RZUEUgSEFfVElNRVJfSFJUSU1FUiIK