From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BE9EFC43458 for ; Mon, 13 Jul 2026 12:54:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=EnFmKEW+rTjJjSrhwOqwDaS6ENbHs+eIx9MIx7iPtUY=; b=1jONDvv3BSiYoK t/d1rZiUdjy3X8rzzZ6gd7mx0CmHy/sNagqVc8yK6GDxn/hVELW1bDkx93KQa29MboxpWTLerNFVE +5+dXF/UX/vohJxES/pZV29vSVsmGRPTAN4VqgDDfH8WzKxAmDoHC2KFYtHiGZOucYERuLkhPVJrf KXfI6v3xriIvpNoAEy579aSJd0JIg/d42cHGtsvF3Eft8WyclmDaOoa8t3w2UQJ0l+8VerpEbjfeO MCx2jiN7xpIMuBrkqncQLmOo/QHcHzeBSW3dgISaSJLcqerrRwboRxYyFbK2zX/V6Hz8XqLzF1LPq LY16gH5doH1WNfqFcxsg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wjGBJ-00000009Fqg-3L1t; Mon, 13 Jul 2026 12:54:45 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wjGBI-00000009Fpu-0Mws for linux-amlogic@lists.infradead.org; Mon, 13 Jul 2026 12:54:44 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id D3A8D411BD; Mon, 13 Jul 2026 12:54:43 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F1031F00A3D; Mon, 13 Jul 2026 12:54:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783947283; bh=qzX7WoC3qvXqkDe9glXp9hxIbPF/2xEOQoFZ6eRB9qs=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=fZE+7puUdRkn6rpP0JIKN9WXG1RbYZ0sW4PDWjzDFhdhJ3KQzBCw4bSUVk/z+pdU9 hVsC6TfBJwiR/RZ0Hqw17gEwTG4zaidOh9QsZfFeRVe2kFafhlqn5ib8KqwQccqHq/ 5V5ZP41yFKzYa2ojGxp3s9HFIzq6h6AOZz3Z4BgnrcqV7814vPl6vO7p+38Sl0EDYK KUggPuGJMi5ppmwmbvFTIqFpE1QH6iO7V9yg0SO3duZODwtz/5ygqKl+AFUfBWJL2D 55kTz59aKrEbQgdq08DeT8ayJ5nXJpJ2nRzEbZOY+zdfjJkdcDBCNM20w+z3zciHqj 6dLpoZqNgM+eQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v7 12/19] media: meson: vdec: Coordinate m2m task execution inside async loop To: "Anand Moon" Cc: dri-devel@lists.freedesktop.org, neil.armstrong@linaro.org, linux-amlogic@lists.infradead.org In-Reply-To: <20260713120840.17427-13-linux.amoon@gmail.com> References: <20260713120840.17427-1-linux.amoon@gmail.com> <20260713120840.17427-13-linux.amoon@gmail.com> Date: Mon, 13 Jul 2026 12:54:43 +0000 Message-Id: <20260713125443.7F1031F00A3D@smtp.kernel.org> X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpOZXcgaXNzdWVzOgotIFtDcml0aWNh bF0gQW4gQUItQkEgZGVhZGxvY2sgb2NjdXJzIGJldHdlZW4gdGhlIFY0TDIgYFZJRElPQ19TVFJF QU1PRkZgIGlvY3RsIGFuZCB0aGUgd29ya3F1ZXVlIHdvcmtlciBgZXNwYXJzZXJfcXVldWVfYWxs X3NyY2Agb3ZlciBgc2Vzcy0+bG9ja2AuCi0gW0NyaXRpY2FsXSBBIHJlY3Vyc2l2ZSBtdXRleCBz ZWxmLWRlYWRsb2NrIG9jY3VycyBiZWNhdXNlIGBjb3JlLT5sb2NrYCBpcyBtYW51YWxseSBhY3F1 aXJlZCBpbnNpZGUgZnVuY3Rpb25zIGFscmVhZHkgcHJvdGVjdGVkIGJ5IHRoZSBWNEwyIGNvcmUu Ci0gW0hpZ2hdIFRoZSBgZXNwYXJzZXJfcXVldWVfYWxsX3NyY2Agd29ya3F1ZXVlIHRocmVhZCBl bnRlcnMgYSAxMDAlIENQVSBpbmZpbml0ZSBidXN5LWxvb3Agb24gZW1wdHkgcXVldWVzLCBlbmQt b2Ytc3RyZWFtIGJ1ZmZlcnMsIG9yIGhhcmR3YXJlIEZJRk8gZnVsbCBjb25kaXRpb25zLgotIFtI aWdoXSBUaGUgVjRMMiBNMk0gZnJhbWV3b3JrIHBlcm1hbmVudGx5IHN0YWxscyBkdWUgdG8gYSBs ZWFrZWQgam9iIGNvbnRleHQgd2hlbiBgZXNwYXJzZXJfcXVldWVfYWxsX3NyY2AgZXhpdHMgZWFy bHkgb3IgaGl0cyBsb29wIGJyZWFrIGNvbmRpdGlvbnMgd2l0aG91dCBjYWxsaW5nIGB2NGwyX20y bV9qb2JfZmluaXNoKClgLgotIFtIaWdoXSBDbG9zaW5nIGFueSBzZWNvbmRhcnkgZmlsZSBkZXNj cmlwdG9yIHVuY29uZGl0aW9uYWxseSBjbGVhcnMgYGNvcmUtPmN1cl9zZXNzYCwgc3RyaXBwaW5n IGhhcmR3YXJlIG93bmVyc2hpcCBmcm9tIHRoZSBhY3RpdmUgc2Vzc2lvbiBhbmQgY2F1c2luZyBw ZXJtYW5lbnQgRE1BIG1lbW9yeSBsZWFrcy4KClByZS1leGlzdGluZyBpc3N1ZXM6Ci0gW0NyaXRp Y2FsXSBBbiB1bmNvbmRpdGlvbmFsIG91dC1vZi1ib3VuZHMgaGVhcCB3cml0ZSBvY2N1cnMgd2hl biBwYWRkaW5nIGFydGlmaWNpYWxseSBzbWFsbCwgdXNlci1jb250cm9sbGVkIGJ1ZmZlcnMgaW4g YGVzcGFyc2VyX3BhZF9zdGFydF9jb2RlKClgLgotIFtDcml0aWNhbF0gQW4gaW50ZWdlciBvdmVy ZmxvdyBkdXJpbmcgVlA5IHN1Yi1mcmFtZSBsZW5ndGggcGFyc2luZyBhbGxvd3MgYXR0YWNrZXJz IHRvIGJ5cGFzcyBzaXplIGJvdW5kYXJpZXMgYW5kIHRyaWdnZXIgYW4gb3V0LW9mLWJvdW5kcyBg bWVtbW92ZWAgY29weS4KLS0KCi0tLSBQYXRjaCBbMTJdOiBbUEFUQ0ggdjcgMTIvMTldIG1lZGlh OiBtZXNvbjogdmRlYzogQ29vcmRpbmF0ZSBtMm0gdGFzayBleGVjdXRpb24gaW5zaWRlIGFzeW5j IGxvb3AgLS0tCmNvbW1pdCA4ZjhmZmI0NDkyNTczZDZkODJlZTIwOWVjYjM4MmE5ZjVmYmVkOWU0 CkF1dGhvcjogQW5hbmQgTW9vbiA8bGludXguYW1vb25AZ21haWwuY29tPgoKbWVkaWE6IG1lc29u OiB2ZGVjOiBDb29yZGluYXRlIG0ybSB0YXNrIGV4ZWN1dGlvbiBpbnNpZGUgYXN5bmMgbG9vcAoK VGhpcyBjb21taXQgaW50cm9kdWNlcyBwcm9wZXIgVjRMMiBNZW1vcnktdG8tTWVtb3J5IChtMm0p IHNjaGVkdWxlciBwaXBlbGluZSAKdHJhY2tpbmcgYnkgaGFuZGxpbmcgam9iIGZpbmFsaXNhdGlv biBpbnNpZGUgdGhlIGFzeW5jaHJvbm91cyBlc3BhcnNlciAKd29ya3F1ZXVlLiBJdCBkZWZlcnMg dGhlIHNjaGVkdWxpbmcgY2FsbCB0byB2NGwyX20ybV9qb2JfZmluaXNoKCkgdG8gZXhlY3V0ZSAK d2l0aGluIHRoZSB3b3JrZXIgcm91dGluZS4KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9tZXNvbi92ZGVjL2VzcGFyc2VyLmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvbWVz b24vdmRlYy9lc3BhcnNlci5jCj4gaW5kZXggYjlmMzZmZWY0YmUxMi4uOTM5YjIzOWMyYWY0NyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy9lc3BhcnNlci5j Cj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL21lc29uL3ZkZWMvZXNwYXJzZXIuYwpbIC4u LiBdCj4gQEAgLTQzNyw2ICs0MzgsOSBAQCB2b2lkIGVzcGFyc2VyX3F1ZXVlX2FsbF9zcmMoc3Ry dWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAJCQllbHNlCj4gIAkJCQl2NGwyX20ybV9idWZfZG9u ZSh2YnVmLCBWQjJfQlVGX1NUQVRFX0RPTkUpOwo+ICAKPiArCQkJLyogU2FmZWx5IG5vdGlmeSB0 aGUgVjRMMiBjb3JlIHN1Yi1mcmFtZXdvcmsgKi8KPiArCQkJdjRsMl9tMm1fam9iX2ZpbmlzaChj b3JlLT5tMm1fZGV2LCBzZXNzLT5tMm1fY3R4KTsKPiArCj4gIAkJCS8qIFNldCB0cmFja2luZyBm bGFnIGluZGljYXRpbmcgdHJhbnNhY3Rpb24gY29tcGxldGlvbiAqLwo+ICAJCQlwcm9jZXNzZWRf ZnJhbWUgPSB0cnVlOwo+ICAJCX0KCltTZXZlcml0eTogSGlnaF0KRG9lcyB0aGlzIHdvcmtlciB0 aHJlYWQgcnVuIGludG8gYW4gaW5maW5pdGUgYnVzeS1sb29wIG9uIGVtcHR5IHF1ZXVlcyBvciAK ZW5kLW9mLXN0cmVhbSBidWZmZXJzPwoKSW4gZXNwYXJzZXJfcXVldWVfYWxsX3NyYygpLCB0aGUg Y29kZSB1c2VzIGEgc2NvcGVkX2d1YXJkIGZvciB0aGUgbG9jazoKCgl3aGlsZSAoMSkgewoJCS4u LgoJCXNjb3BlZF9ndWFyZChtdXRleCwgJnNlc3MtPmxvY2spIHsKCQkJaWYgKCF2YnVmKQoJCQkJ YnJlYWs7CgkJfQoJfQoKU2luY2Ugc2NvcGVkX2d1YXJkIGV4cGFuZHMgaW50byBhIGhpZGRlbiBm b3ItbG9vcCwgdGhlIGJyZWFrIHN0YXRlbWVudCBvbmx5IApleGl0cyB0aGUgc2NvcGVkX2d1YXJk J3MgbG9vcCwgbm90IHRoZSBvdXRlciB3aGlsZSAoMSkgbG9vcC4gVGhpcyBjb3VsZCB0cmFwIApl eGVjdXRpb24gaW5kZWZpbml0ZWx5LCBjb25zdW1pbmcgMTAwJSBDUFUgd2hlbiB0aGUgcXVldWUg aXMgZW1wdHksIGhpdHMgYW4gCkVPUyBidWZmZXIsIG9yIHRoZSBoYXJkd2FyZSBGSUZPIGlzIGZ1 bGwuCgpbU2V2ZXJpdHk6IEhpZ2hdCkNvdWxkIHRoZSBWNEwyIE0yTSBqb2IgY29udGV4dCBwZXJt YW5lbnRseSBsZWFrIGlmIHRoZSBzZXNzaW9uIHNodXRzIGRvd24/CgpMb29raW5nIGF0IGVzcGFy c2VyX3F1ZXVlX2FsbF9zcmMoKToKCglzY29wZWRfZ3VhcmQobXV0ZXgsICZzZXNzLT5sb2NrKSB7 CgkJLyogU2FmZSBhdG9taWMgdHJhY2tpbmcgY2hlY2s6IGV4aXQgbG9vcCBpZiBzZXNzaW9uIGlz IHNodXR0aW5nIGRvd24gKi8KCQlpZiAoUkVBRF9PTkNFKHNlc3MtPnNob3VsZF9zdG9wKSkKCQkJ cmV0dXJuOwoKUmV0dXJuaW5nIGVhcmx5IGRpcmVjdGx5IGJ5cGFzc2VzIHRoZSBuZXdseSBhZGRl ZCB2NGwyX20ybV9qb2JfZmluaXNoKCkgY2FsbC4KVGhpcyBjb3VsZCBwZXJtYW5lbnRseSBoYW5n IHRoZSBWNEwyIG1lbW9yeS10by1tZW1vcnkgZnJhbWV3b3JrIGJlY2F1c2UgaXQgCmNvbnNpZGVy cyB0aGUgZGV2aWNlIGJ1c3kgZm9yZXZlciwgcHJldmVudGluZyBmdXJ0aGVyIGRlY29kaW5nIGpv YnMuCgpbU2V2ZXJpdHk6IENyaXRpY2FsXQpJcyB0aGVyZSBhIHJpc2sgb2YgYW4gQUItQkEgZGVh ZGxvY2sgYmV0d2VlbiB0aGUgVjRMMiBWSURJT0NfU1RSRUFNT0ZGIGlvY3RsIAphbmQgdGhlIHdv cmtxdWV1ZSB3b3JrZXI/CgpUaGUgVjRMMiBjb3JlIGZyYW1ld29yayBhY3F1aXJlcyBzZXNzLT5s b2NrIGR1cmluZyBWSURJT0NfU1RSRUFNT0ZGIGFuZCB0aGVuIApjYWxscyB2ZGVjX3N0b3Bfc3Ry ZWFtaW5nKCksIHdoaWNoIHdhaXRzIGZvciB0aGUgYWN0aXZlIHdvcmtlciB0aHJlYWQ6Cgpkcml2 ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy92ZGVjLmM6dmRlY19zdG9wX3N0cmVhbWluZygp IHsKCS4uLgoJY2FuY2VsX3dvcmtfc3luYygmc2Vzcy0+ZXNwYXJzZXJfcXVldWVfd29yayk7Cn0K CkNvbmN1cnJlbnRseSwgdGhlIHdvcmtlciB0aHJlYWQgZXNwYXJzZXJfcXVldWVfYWxsX3NyYyBz cGlucyB1cCBhbmQgYmxvY2tzIAphdHRlbXB0aW5nIHRvIGFjcXVpcmUgdGhlIGlkZW50aWNhbCBz ZXNzLT5sb2NrOgoKZHJpdmVycy9zdGFnaW5nL21lZGlhL21lc29uL3ZkZWMvZXNwYXJzZXIuYzpl c3BhcnNlcl9xdWV1ZV9hbGxfc3JjKCkgewoJLi4uCglzY29wZWRfZ3VhcmQobXV0ZXgsICZzZXNz LT5sb2NrKSB7Cn0KClRoaXMgc2VxdWVuY2Ugd291bGQgZW50aXJlbHkgZGVhZGxvY2sgdGhlIHN5 c3RlbSB3aGVuIHN0b3BwaW5nIHRoZSB2aWRlbyBzdHJlYW0uCgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy92ZGVjLmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVk aWEvbWVzb24vdmRlYy92ZGVjLmMKPiBpbmRleCAwZWIzOWFhNjAxNGVlLi5iM2UxZDk5ZTg4ODlm IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9tZXNvbi92ZGVjL3ZkZWMuYwo+ ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9tZXNvbi92ZGVjL3ZkZWMuYwo+IEBAIC0xNDks NiArMTQ5LDE3IEBAIHZkZWNfcXVldWVfcmVjeWNsZShzdHJ1Y3QgYW12ZGVjX3Nlc3Npb24gKnNl c3MsIHN0cnVjdCB2YjJfYnVmZmVyICp2YikKPiAgc3RhdGljIHZvaWQgdmRlY19tMm1fZGV2aWNl X3J1bih2b2lkICpwcml2KQo+ICB7Cj4gIAlzdHJ1Y3QgYW12ZGVjX3Nlc3Npb24gKnNlc3MgPSBw cml2Owo+ICsJc3RydWN0IGFtdmRlY19jb3JlICpjb3JlID0gc2Vzcy0+Y29yZTsKPiArCj4gKwlp ZiAoUkVBRF9PTkNFKHNlc3MtPnNob3VsZF9zdG9wKSkgewo+ICsJCXY0bDJfbTJtX2pvYl9maW5p c2goY29yZS0+bTJtX2Rldiwgc2Vzcy0+bTJtX2N0eCk7Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICsK PiArCW11dGV4X2xvY2soJmNvcmUtPmxvY2spOwo+ICsJaWYgKCFjb3JlLT5jdXJfc2VzcykKPiAr CQljb3JlLT5jdXJfc2VzcyA9IHNlc3M7Cj4gKwltdXRleF91bmxvY2soJmNvcmUtPmxvY2spOwo+ ICAKPiAgCXNjaGVkdWxlX3dvcmsoJnNlc3MtPmVzcGFyc2VyX3F1ZXVlX3dvcmspOwo+ICB9Cgpb U2V2ZXJpdHk6IENyaXRpY2FsXQpXaWxsIGFjcXVpcmluZyBjb3JlLT5sb2NrIG1hbnVhbGx5IGhl cmUgYW5kIGluIHZkZWNfc3RhcnRfc3RyZWFtaW5nIHJlc3VsdCAKaW4gYSByZWN1cnNpdmUgbXV0 ZXggc2VsZi1kZWFkbG9jaz8KCkJlY2F1c2UgdmRldi0+cXVldWUgaXMgaW50ZW50aW9uYWxseSBs ZWZ0IE5VTEwgZm9yIE0yTSBkZXZpY2VzLCB0aGUgVjRMMiBjb3JlIAppb2N0bCB3cmFwcGVyIHVu Y29uZGl0aW9uYWxseSBhY3F1aXJlcyB2ZGV2LT5sb2NrICh3aGljaCBpcyBtYXBwZWQgdG8gCiZj b3JlLT5sb2NrKSBiZWZvcmUgZGVsZWdhdGluZyBleGVjdXRpb24gdG8gdGhlIGlvY3RsIGltcGxl bWVudGF0aW9ucy4KClRoZSB1bmRlcmx5aW5nIGRyaXZlciBjYWxsYmFjayB2ZGVjX3N0YXJ0X3N0 cmVhbWluZyB0aGVuIGF0dGVtcHRzIHRvIG1hbnVhbGx5IAphY3F1aXJlIGl0IGFnYWluOgoKZHJp dmVycy9zdGFnaW5nL21lZGlhL21lc29uL3ZkZWMvdmRlYy5jOnZkZWNfc3RhcnRfc3RyZWFtaW5n KCkgewoJLi4uCgltdXRleF9sb2NrKCZjb3JlLT5sb2NrKTsKCWlmIChjb3JlLT5jdXJfc2VzcyAm JiBjb3JlLT5jdXJfc2VzcyAhPSBzZXNzKSB7Cn0KClRoaXMgd291bGQgaW1tZWRpYXRlbHkgc2Vs Zi1kZWFkbG9jayB0aGUga2VybmVsIHRocmVhZCBwcm9jZXNzaW5nIApWSURJT0NfU1RSRUFNT04g b3IgVklESU9DX1NUUkVBTU9GRi4KCltTZXZlcml0eTogSGlnaF0KRG9lcyBjbG9zaW5nIGEgc2Vj b25kYXJ5IGZpbGUgZGVzY3JpcHRvciB1bmludGVudGlvbmFsbHkgc3RyaXAgaGFyZHdhcmUgCm93 bmVyc2hpcCBmcm9tIHRoZSBhY3RpdmUgc2Vzc2lvbj8KCkluIHZkZWNfY2xvc2UoKSwgdGhlIHN0 YXRlIG1vZGlmaWNhdGlvbiBpcyBwbGFjZWQgb3V0c2lkZSB0aGUgYWN0aXZlIHNlc3Npb24gCmNo ZWNrIGJsb2NrOgoKZHJpdmVycy9zdGFnaW5nL21lZGlhL21lc29uL3ZkZWMvdmRlYy5jOnZkZWNf Y2xvc2UoKSB7CgkuLi4KCS8qIFNhZmVseSBjbGVhciBoYXJkd2FyZSBvd25lcnNoaXAgc2luY2Ug d2Ugd2VyZSBjb25maXJtZWQgYXMgdGhlIG93bmVyICovCglzbXBfc3RvcmVfcmVsZWFzZSgmY29y ZS0+Y3VyX3Nlc3MsIE5VTEwpOwp9CgpJZiBhIHVzZXItc3BhY2UgcHJvY2VzcyBvcGVucyB0aGUg dmlkZW8gbm9kZSB0d2ljZSwgc3RyZWFtcyBvbiB0aGUgZmlyc3QgCnNlc3Npb24sIGFuZCB0aGVu IGNsb3NlcyB0aGUgc2Vjb25kIHNlc3Npb24sIHRoaXMgY2xlYXJzIGNvcmUtPmN1cl9zZXNzIAp1 bmNvbmRpdGlvbmFsbHkuIFRoaXMgZGVzdHJveXMgdGhlIG93bmVyc2hpcCBzdGF0ZSBvZiB0aGUg YWN0aXZlIHNlc3Npb24sIApieXBhc3NpbmcgaXRzIGNsZWFudXAgc2VxdWVuY2UgYW5kIHBlcm1h bmVudGx5IGxlYWtpbmcgRE1BIGJ1ZmZlcnMgYW5kIGNhbnZhc2VzLgoKW1NldmVyaXR5OiBDcml0 aWNhbF0KVGhpcyBpcyBhIHByZS1leGlzdGluZyBpc3N1ZSwgYnV0IGNhbiBlc3BhcnNlcl9wYWRf c3RhcnRfY29kZSgpIGNhdXNlIGFuIApvdXQtb2YtYm91bmRzIGhlYXAgd3JpdGUgd2hlbiBoYW5k bGluZyBhcnRpZmljaWFsbHkgc21hbGwgYnVmZmVycz8KCklmIHVzZXJzcGFjZSBuZWdvdGlhdGVz IGEgc21hbGwgc2l6ZWltYWdlIGFuZCBxdWV1ZXMgYSB0aW55IGJ1ZmZlciwgdGhlIHBhZGRpbmcg CmZ1bmN0aW9uIGNvbXB1dGVzIHBhZF9zaXplIGJhc2VkIG9uIEVTUEFSU0VSX01JTl9QQUNLRVRf U0laRSBhbmQgZXhlY3V0ZXMgCmEgbWVtc2V0IGJlZm9yZSB2ZXJpZnlpbmcgdGhlIHZiMl9wbGFu ZV9zaXplOgoKZHJpdmVycy9zdGFnaW5nL21lZGlhL21lc29uL3ZkZWMvZXNwYXJzZXIuYzplc3Bh cnNlcl9wYWRfc3RhcnRfY29kZSgpIHsKCS4uLgoJCXBhZF9zaXplID0gRVNQQVJTRVJfTUlOX1BB Q0tFVF9TSVpFIC0gcGF5bG9hZF9zaXplOwoJCW1lbXNldCh2YWRkciArIHBheWxvYWRfc2l6ZSwg MCwgcGFkX3NpemUpOwoJfQoKCWlmICgocGF5bG9hZF9zaXplICsgcGFkX3NpemUgKyBTRUFSQ0hf UEFUVEVSTl9MRU4pID4KCQkJCQkJdmIyX3BsYW5lX3NpemUodmIsIDApKSB7Cn0KClRoaXMgY291 bGQgYWxsb3cgYSBsb2NhbCB1c2VyIHRvIG92ZXJ3cml0ZSBtZW1vcnkgd2l0aCB6ZXJvZXMgYnkg cGFzc2luZyBhIApwYXlsb2FkX3NpemUgb2YgMCwgcmVzdWx0aW5nIGluIGEgNDA5Ni1ieXRlIG1l bXNldC4KCltTZXZlcml0eTogQ3JpdGljYWxdClRoaXMgaXMgYSBwcmUtZXhpc3RpbmcgaXNzdWUs IGJ1dCBtaWdodCBhbiBpbnRlZ2VyIG92ZXJmbG93IGluIAp2cDlfdXBkYXRlX2hlYWRlcigpIGFs bG93IGF0dGFja2VycyB0byB0cmlnZ2VyIGFuIG91dC1vZi1ib3VuZHMgbWVtbW92ZT8KClRoZSBw YXJzZXIgcmVjb25zdHJ1Y3RzIGZyYW1lIGxlbmd0aHMgYnkgYml0LXNoaWZ0aW5nIGJ5dGUgcGF5 bG9hZHM6Cgpkcml2ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy9lc3BhcnNlci5jOnZwOV91 cGRhdGVfaGVhZGVyKCkgewoJLi4uCgkJCQlmcmFtZV9zaXplW2N1cl9mcmFtZV0gfD0KCQkJCQko ZHBbbWFnX3B0cl0gPDwgKGN1cl9tYWcgKiA4KSk7Cn0KCklmIGRwW21hZ19wdHJdIGlzID49IDEy OCBhbmQgY3VyX21hZyBpcyAzLCB0aGUgdW5zaWduZWQgOC1iaXQgdmFsdWUgcHJvbW90ZXMgCnRv IGFuIGludCBhbmQgc2hpZnRzIGludG8gdGhlIHNpZ24gYml0LCByZXN1bHRpbmcgaW4gYSBsYXJn ZSBuZWdhdGl2ZSBpbnRlZ2VyLgoKTGF0ZXIsIHRoaXMgbmVnYXRpdmUgZnJhbWVfc2l6ZSBpcyBw YXNzZWQgdG8gbWVtbW92ZSgpOgoKZHJpdmVycy9zdGFnaW5nL21lZGlhL21lc29uL3ZkZWMvZXNw YXJzZXIuYzp2cDlfdXBkYXRlX2hlYWRlcigpIHsKCS4uLgoJCW1lbW1vdmUoZmRhdGEgKyBWUDlf SEVBREVSX1NJWkUsIG9sZF9mcmFtZWRhdGEsIGZyYW1lc2l6ZSk7Cn0KClRoZSBuZWdhdGl2ZSBm cmFtZXNpemUgaW1wbGljaXRseSBjb252ZXJ0cyB0byBhIG1hc3NpdmUgc2l6ZV90LCB3aGljaCBj b3VsZCAKY29ycnVwdCBhcmJpdHJhcnkga2VybmVsIG1lbW9yeS4KCi0tIApTYXNoaWtvIEFJIHJl dmlldyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAyNjA3MTMxMjA4NDAuMTc0 MjctMS1saW51eC5hbW9vbkBnbWFpbC5jb20/cGFydD0xMgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYW1sb2dpYyBtYWlsaW5nIGxpc3QKbGlu dXgtYW1sb2dpY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYW1sb2dpYwo=