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 97689CD13D8 for ; Mon, 18 Sep 2023 20:58:12 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=nmspb7RV2go6lewPWgV3dGghIaUAl/vWEw/2sf21D1c=; b=A8UkyxvD9+KLt9 7GQP21bxvFJy8tF+tpLoYZhq9CNz68bsIsqcRxOniWYweVMuSx3iZE0d42Ee6gqRapsyzRy7fJ1Hl 7fz/D4d3Vxc/4OvlEQTp7tV+wtT0bR/1JC3mIsdEV1Cu6CJEKBYPEJISM+fJy4F6AG1ZbIKZUhACI B0Ee2qAHlTDnBQl0OLiZN05DYGHAH9fxpzcGLvWQTw+U1e5Oab6OyGGUxd2JjgBgHT8a4/tEzbafy BGUDxU3BZ6EZRJCU9tES6WZcCoEMRCM7V/L4XzcttRnYBmXboRNBS6ydOOEbkZo3rY9HiV1AB+YeK Uc4slSwd4UT/SWo0iW+Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qiLJT-00GLBy-1R; Mon, 18 Sep 2023 20:57:47 +0000 Received: from mail-il1-x135.google.com ([2607:f8b0:4864:20::135]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qiLJQ-00GLAt-1L for linux-arm-kernel@lists.infradead.org; Mon, 18 Sep 2023 20:57:46 +0000 Received: by mail-il1-x135.google.com with SMTP id e9e14a558f8ab-34f1ffda46fso33525ab.0 for ; Mon, 18 Sep 2023 13:57:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695070659; x=1695675459; darn=lists.infradead.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=F1RdBqIbW8vq9GeM6+PAZNvRaybVzqVrlabhZaFD0ps=; b=ssGJRzT+g133NHPnBuKT3Yd2W1jXX9c9a/ratxuSeUV9pfVMYKViL1FrmGgc1GXqV5 bdAzn/8fpNriXL/3vz0CdeNK+NEmSGVnRWABAG9E/Atqz2K0JyQ8j9F9T5qFQ8rV/ViD wFICB8kA3iooaHnHWrDxdNO2y620B5bJrLqtB7W4A5y4SCD5ONNNaAjzlMlBSpmPyukb x35KAMsO7+Q324+BiYrcd0yXroMK0ftgy4Oj77mUVVfZtqjpwyf8cNgDGO/pv+631N+m wMqJAhosN0cnOJ1GYvmhB447Cc++KRW3EzwUiGupG8ZOqt3KkrtfQ5npMYu7l8MW59IR QK8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695070659; x=1695675459; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=F1RdBqIbW8vq9GeM6+PAZNvRaybVzqVrlabhZaFD0ps=; b=GufYYXPXJ17QV/eQW+LpiA7X+iYJEJU2TVtzCBA05pS01vKTxReIAlW+jignD6Rt4F 9F2QRCGk787QS+XlgDHYUohB6e5jbITXqGqHTKl5N+foCqFbrQUP9+1BJydF3AQodh/B FnfMhcjfrRLWzM2AXORXke84L/vFogdgh6xUYWjmZjfYdCI15F4YrdxJ1HJIR/QFtxVa yyVTPY2hak2M9awG19avWr8bvA0ppmQLOvUKadNYLFdpMdfXXByfUF8achJrQJsQSqWt OX7v3BRyIpS3v2Qb+NG2Avg8kct0mn0YhykXWpOdnutKjIorCtJEMGtAlhj84q1bP87N pWaw== X-Gm-Message-State: AOJu0Yw8/t4/MaQv31Q7K3MG3o194fxIJgSg1uL4T7G2kBbi6Afm0UTO OVU/lvFrW2VkxihwKoqCk1569PRGv1cWwgQHvTCG X-Google-Smtp-Source: AGHT+IGCOA3HmyvGW9XUB4kw7oHDtJYcvoG5SswMRmA0rqPxgJMy9wc1ZYs4tkpHPQrp9vNY5BUoJxRSRr8Wc18+CJs= X-Received: by 2002:a05:6e02:214a:b0:348:d358:467c with SMTP id d10-20020a056e02214a00b00348d358467cmr70014ilv.2.1695070658691; Mon, 18 Sep 2023 13:57:38 -0700 (PDT) MIME-Version: 1.0 References: <20230911125936.10648-1-yunfei.dong@mediatek.com> <20230911125936.10648-13-yunfei.dong@mediatek.com> <1df3e79b84933dda0313d0d9719220dbc06c9022.camel@collabora.com> <5307203d79c0d90cc742a315bb161fa796b9960f.camel@mediatek.com> In-Reply-To: From: Jeffrey Kardatzke Date: Mon, 18 Sep 2023 13:57:24 -0700 Message-ID: Subject: Re: [PATCH 12/14] media: medkatek: vcodec: set secure mode to decoder driver To: Hans Verkuil Cc: =?UTF-8?B?WXVuZmVpIERvbmcgKOiRo+S6kemjnik=?= , "nhebert@chromium.org" , "benjamin.gaignard@collabora.com" , "nfraprado@collabora.com" , "angelogioacchino.delregno@collabora.com" , "nicolas.dufresne@collabora.com" , "linux-kernel@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , "frkoenig@chromium.org" , "stevecho@chromium.org" , "wenst@chromium.org" , "linux-media@vger.kernel.org" , "devicetree@vger.kernel.org" , "daniel@ffwll.ch" , Project_Global_Chrome_Upstream_Group , "hsinyi@chromium.org" , "linux-arm-kernel@lists.infradead.org" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230918_135744_469032_64714A84 X-CRM114-Status: GOOD ( 63.88 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCBTZXAgMTUsIDIwMjMgYXQgMTo1NuKAr0FNIEhhbnMgVmVya3VpbCA8aHZlcmt1aWwt Y2lzY29AeHM0YWxsLm5sPiB3cm90ZToKPgo+IE9uIDE1LzA5LzIwMjMgMTA6MjUsIFl1bmZlaSBE b25nICjokaPkupHpo54pIHdyb3RlOgo+ID4gSGkgSGFucyAmIE5pY29sYXMsCj4gPgo+ID4gVGhh bmtzIGZvciB5b3VyIGFkdmljZS4KPiA+Cj4gPiBPbiBUdWUsIDIwMjMtMDktMTIgYXQgMTE6MzAg KzAyMDAsIEhhbnMgVmVya3VpbCB3cm90ZToKPiA+Pgo+ID4+IEV4dGVybmFsIGVtYWlsIDogUGxl YXNlIGRvIG5vdCBjbGljayBsaW5rcyBvciBvcGVuIGF0dGFjaG1lbnRzIHVudGlsCj4gPj4geW91 IGhhdmUgdmVyaWZpZWQgdGhlIHNlbmRlciBvciB0aGUgY29udGVudC4KPiA+PiAgSGksCj4gPj4K PiA+PiBPbiA5LzExLzIzIDE3OjU0LCBOaWNvbGFzIER1ZnJlc25lIHdyb3RlOgo+ID4+PiBIaSwK PiA+Pj4KPiA+Pj4gTGUgbHVuZGkgMTEgc2VwdGVtYnJlIDIwMjMgw6AgMjA6NTkgKzA4MDAsIFl1 bmZlaSBEb25nIGEgw6ljcml0IDoKPiA+Pj4+IFNldHRpbmcgc2VjdXJlIG1vZGUgZmxhZyB0byBr ZXJuZWwgd2hlbiB0cnlpbmcgdG8gcGxheSBzZWN1cmUKPiA+Pgo+ID4+IHZpZGVvLAo+ID4+Pj4g dGhlbiBkZWNvZGVyIGRyaXZlciB3aWxsIGluaXRpYWxpemUgdGVlIHJlbGF0ZWQgaW50ZXJmYWNl IHRvCj4gPj4KPiA+PiBzdXBwb3J0Cj4gPj4+PiBzdnAuCj4gPj4+Cj4gPj4+Cj4gPj4+IFRoaXMg aXMgbm90IHdoYXQgdGhlIHBhdGNoIGlzIGRvaW5nLCBwbGVhc2UgcmV3b3JrLiBUaGlzIHBhdGNo IGlzCj4gPj4KPiA+PiBhbiB2ZW5kb3IgQVBJCj4gPj4+IGFkZGl0aW9uIGludHJvZHVjaW5nIFY0 TDJfQ0lEX01QRUdfTVRLX1NFVF9TRUNVUkVfTU9ERS4gSSBzaG91bGQKPiA+Pgo+ID4+IG5vdCBo YXZlIHRvCj4gPj4+IHJlYWQgeW91ciBwYXRjaCB0byB1bmRlcnN0YW5kIHRoaXMuCj4gPj4+Cj4g Pj4+Pgo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogWXVuZmVpIERvbmcgPHl1bmZlaS5kb25nQG1lZGlh dGVrLmNvbT4KPiA+Pj4+IC0tLQo+ID4+Pj4gIC4uLi92Y29kZWMvZGVjb2Rlci9tdGtfdmNvZGVj X2RlY19zdGF0ZWxlc3MuYyAgICAgfCAxNQo+ID4+Cj4gPj4gKysrKysrKysrKysrKystCj4gPj4+ PiAgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy1kZWZzLmMgICAgICAgICB8ICA1 ICsrKysrCj4gPj4+PiAgaW5jbHVkZS91YXBpL2xpbnV4L3Y0bDItY29udHJvbHMuaCAgICAgICAg ICAgICAgICB8ICAxICsKPiA+Pj4+ICAzIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKPiA+Pj4+Cj4gPj4+PiBkaWZmIC0tZ2l0Cj4gPj4KPiA+PiBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbWVkaWF0ZWsvdmNvZGVjL2RlY29kZXIvbXRrX3Zjb2RlY19kZWNf c3RhdGUKPiA+PiBsZXNzLmMKPiA+PiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbWVkaWF0ZWsv dmNvZGVjL2RlY29kZXIvbXRrX3Zjb2RlY19kZWNfc3RhdGUKPiA+PiBsZXNzLmMKPiA+Pj4+IGlu ZGV4IGQyYjA5Y2U5ZjFjZi4uYTk4MTE3OGMyNWQ5IDEwMDY0NAo+ID4+Pj4gLS0tCj4gPj4KPiA+ PiBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbWVkaWF0ZWsvdmNvZGVjL2RlY29kZXIvbXRrX3Zj b2RlY19kZWNfc3RhdGUKPiA+PiBsZXNzLmMKPiA+Pj4+ICsrKwo+ID4+Cj4gPj4gYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL21lZGlhdGVrL3Zjb2RlYy9kZWNvZGVyL210a192Y29kZWNfZGVjX3N0 YXRlCj4gPj4gbGVzcy5jCj4gPj4+PiBAQCAtNTM1LDYgKzUzNSwxNyBAQCBzdGF0aWMgaW50IG10 a192ZGVjX3NfY3RybChzdHJ1Y3QgdjRsMl9jdHJsCj4gPj4KPiA+PiAqY3RybCkKPiA+Pj4+ICBj dHJsLT52YWwgPSBtdGtfZG1hX2NvbnRpZ19nZXRfc2VjdXJlX2hhbmRsZShjdHgsIGN0cmwtPnZh bCk7Cj4gPj4+PiAgbXRrX3Y0bDJfdmRlY19kYmcoMywgY3R4LCAiZ2V0IHNlY3VyZSBoYW5kbGU6 ICVkID0+IDB4JXgiLAo+ID4+Cj4gPj4gc2VjX2ZkLCBjdHJsLT52YWwpOwo+ID4+Pj4gIGJyZWFr Owo+ID4+Pj4gK2Nhc2UgVjRMMl9DSURfTVBFR19NVEtfU0VUX1NFQ1VSRV9NT0RFOgo+ID4+Pgo+ ID4+PiBTdGVwcGluZyBiYWNrIGEgbGl0dGxlIGFuZCBmb2N1c2luZyBvbiB0aGUgQVBJLCB3aGF0 IG1ha2VzIHlvdXIKPiA+Pgo+ID4+IGRyaXZlciBzbwo+ID4+PiBzcGVjaWFsIHRoYXQgaXQgc2hv dWxkIGJlIHRoZSBvbmx5IG9uZSBoYXZpbmcgYSAic2VjdXJlIG1vZGUiID8gV2UKPiA+Pgo+ID4+ IGFyZSB0b3VjaGluZwo+ID4+PiBpbiBnYXAgaW4gdGhlIG1lZGlhIHBpcGVsaW5lIGluIExpbnV4 LCBhbmQgdGhpcyBzaG91bGQgY29tZSB3aXRoCj4gPj4KPiA+PiBjb25zaWRlcmF0aW9uCj4gPj4+ IG9mIHRoZSBnbG9iYWwgQVBJLgo+ID4+Pgo+ID4+PiBXaHkgaXMgdGhpcyBBUEkgYmV0dGVyIHRo ZW4gbGV0J3Mgc2F5IEdvb2dsZSBBbmRyb2lkIG9uZSwgd2VyZSB0aGV5Cj4gPj4KPiA+PiBleHBv c2UgMgo+ID4+PiBkZXZpY2Ugbm9kZXMgaW4gdGhlaXIgZm9yayBvZiB0aGUgTUZDIGRyaXZlciAo YSBzZWN1cmUgYW5kIGEgbm9uCj4gPj4KPiA+PiBzZWN1cmUgb25lKSA/Cj4gPj4KPiA+PiBQZXJo YXBzIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGZpcnN0IHBvc3QgYW4gUkZDIHdpdGggYW4gdUFQSSBw cm9wb3NhbAo+ID4+IG9uIGhvdyB0bwo+ID4+IGhhbmRsZSBzZWN1cmUgdmlkZW8uIEkgc3VzcGVj dCB0aGlzIGlzbid0IG1lZGlhdGVrIHNwZWNpZmljLCBvdGhlcgo+ID4+IFNvQ3Mgd2l0aAo+ID4+ IHRlZSBzdXBwb3J0IGNvdWxkIHVzZSB0aGlzIGFzIHdlbGwuCj4gPj4KPiA+PiBBcyBOaWNvbGFz IHNhaWQsIGl0J3MgbG9uZyBrbm93biB0byBiZSBhIGdhcCBpbiBvdXIgbWVkaWEgc3VwcG9ydCwg c28KPiA+PiBpdCBpcwo+ID4+IHJlYWxseSBncmVhdCB0aGF0IHlvdSBzdGFydGVkIHdvcmsgb24g dGhpcywgYnV0IHlvdSBuZWVkIHRvIGxvb2sgYXQKPiA+PiB0aGlzIGZyb20KPiA+PiBhIG1vcmUg Z2VuZXJpYyBwb2ludC1vZi12aWV3LCBhbmQgbm90IG1lZGlhdGVrLXNwZWNpZmljLgo+ID4+Cj4g Pgo+ID4gV2hldGhlciB5b3VyIGhhdmUgYW55IGFkdmljZSBhYm91dCBob3cgdG8gZG8gYSBtb3Jl IGdlbmVyaWMgZHJpdmVyIHRvCj4gPiBoYW5kbGUgc2VjdXJlIHZpZGVvIHBsYXliYWNrPwo+ID4K PiA+IFRoZXJlIGFyZSBzZXZlcmFsIGtpbmQgb2YgYnVmZmVyOiBvdXRwdXQgcXVldWUgYnVmZmVy L2NhcHR1cmUgcXVldWUKPiA+IGJ1ZmZlci93b3JraW5nIGJ1ZmZlci4KPiA+Cj4gPiBvdXRwdXQg YW5kIGNhcHR1cmUgcXVldWUgYnVmZmVyOiB1c2VyIHNwYWNlIHdpbGwgY2FsbCB0ZWUgcmVsYXRl ZAo+ID4gaW50ZXJmYWNlIHRvIGFsbG9jYXRlIHNlY3VyZSBoYW5kbGUuIFdpbGwgY29udmVydCB0 byBzZWN1cmUgaGFuZGxlIHdpdGgKPiA+IHY0bDIgZnJhbWV3b3JrLCB0aGVuIHNlbmQgc2VjdXJl IGhhbmRsZSB0byBvcHRlZS1vcy4KPiA+Cj4gPiB3b3JraW5nIGJ1ZmZlcjogY2FsbGluZyBkbWFf aGVhcCBhbmQgZG1hX2J1ZiB0byBnZXQgc2VjdXJlIG1lbW9yeQo+ID4gaGFuZGxlLCB0aGVuIGNv dmVydCBzZWN1cmUgaW92YSBpbiBvcHRlZS1vcy4KPiA+Cj4gPiBVc2luZyB0aGUgc2FtZSBrZXJu ZWwgZHJpdmVyIGZvciBzdnAgYW5kIG5vbi1zdnAgcGxheWJhY2ssIGp1c3QgdGhlCj4gPiBidWZm ZXIgdHlwZSBhcmUgZGlmZmVyZW50LiBOb3JtYWwgaXMgaW92YSBhbmQgc2VjdXJlIGlzIHNlY3Vy ZSBoYW5kbGUuCj4gPgo+ID4gVXNlciBkcml2ZXIgd2lsbCB0ZWxsIHRoZSBrZXJuZWwgZHJpdmVy IHdpdGggQ0lEIGNvbnRyb2wgd2hldGhlciB0aGUKPiA+IGN1cnJlbnQgcGxheWJhY2sgaXMgc3Zw IG9yIG5vbi1zdnAuCj4KPiBNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgd2hlbiB5b3Ugc3dpdGNo IHRvIHNlY3VyZSBtb2RlLCB0aGUgZHJpdmVyIG1ha2VzCj4gc29tZSBvcHRlZSBjYWxscyB0byBz ZXQgZXZlcnl0aGluZyB1cC4gQW5kIHVzZXJzcGFjZSBuZWVkcyBhIHdheSBjb252ZXJ0IGEKPiBk bWFidWYgZmQgdG8gYSAnc2VjdXJlIGhhbmRsZScsIHdoaWNoIGFwcGVhcnMgdG8gYmUgdGhlIERN QSBhZGRyZXNzIG9mIHRoZQo+IGJ1ZmZlci4gV2hvIHVzZXMgdGhhdCBoYW5kbGU/CgpUaGUgb25s eSB1c2VyIHNwYWNlIHVzYWdlIGZvciBnZXR0aW5nIHRoZSAnc2VjdXJlIGhhbmRsZScgZnJvbSBh biBmZAppcyB3aGVuIHRoYXQgbWVtb3J5IGlzIHdyaXR0ZW4gdG8uIFRoaXMgaXMgZG9uZSB3aGVu IHRoZSBURUUgZGVjcnlwdHMKdGhlIHZpZGVvIGNvbnRlbnRzLiBVc2VyIHNwYWNlIHNlbmRzIHRo ZSBlbmNyeXB0ZWQgdmlkZW8gKyAnc2VjdXJlCmhhbmRsZScgdG8gdGhlIFRFRSwgYW5kIHRoZSBU RUUgZGVjcnlwdHMgdGhlIGNvbnRlbnRzIHRvIHRoZSBtZW1vcnkKYXNzb2NpYXRlZCB3aXRoIHRo ZSAnc2VjdXJlIGhhbmRsZScuIFRoZW4gdGhlICdzZWN1cmUgaGFuZGxlJyBpcwpwYXNzZWQgaW50 byB0aGUgVEVFIGFnYWluIHdpdGggdGhlIHY0bDIgZHJpdmVyIHRvIHVzZSBhcyB0aGUgc291cmNl CmZvciB2aWRlbyBkZWNvZGluZyAoYnV0IHcvIHY0bDIsIHVzZXIgc3BhY2UgaXMgcGFzc2luZyBp biBmZHMpLgoKPgo+IEluIGFueSBjYXNlLCB1c2luZyBhIGNvbnRyb2wgdG8gc3dpdGNoIHRvIHNl Y3VyZSBtb2RlIGFuZCB1c2luZyBhIGNvbnRyb2wKPiB0byBjb252ZXJ0IGEgZG1hYnVmIGZkIHRv IGEgc2VjdXJlIGhhbmRsZSBzZWVtcyBhIHBvb3IgY2hvaWNlIHRvIG1lLgo+Cj4gSSB3YXMgd29u ZGVyaW5nIGlmIGl0IHdvdWxkbid0IGJlIGJldHRlciB0byBjcmVhdGUgYSBuZXcgVjRMMl9NRU1P UllfIHR5cGUsCj4gZS5nLiBWNEwyX01FTU9SWV9ETUFCVUZfU0VDVVJFIChvciBwZXJoYXBzIF9E TUFCVUZfT1BURUUpLiBUaGF0IGVuc3VyZXMgdGhhdAo+IG9uY2UgeW91IGNyZWF0ZSBidWZmZXJz IGZvciB0aGUgZmlyc3QgdGltZSwgdGhlIGRyaXZlciBjYW4gc3dpdGNoIGludG8gc2VjdXJlCj4g bW9kZSwgYW5kIHVudGlsIGFsbCBidWZmZXJzIGFyZSByZWxlYXNlZCBhZ2FpbiB5b3Uga25vdyB0 aGF0IHRoZSBkcml2ZXIgd2lsbAo+IHN0YXkgaW4gc2VjdXJlIG1vZGUuCgpXaHkgZG8geW91IHRo aW5rIHRoZSBjb250cm9sIGZvciBzZXR0aW5nIHNlY3VyZSBtb2RlIGlzIGEgcG9vciBjaG9pY2U/ ClRoZXJlJ3MgdmFyaW91cyBwbGFjZXMgaW4gdGhlIGRyaXZlciBjb2RlIHdoZXJlIGZ1bmN0aW9u YWxpdHkgY2hhbmdlcwpiYXNlZCBvbiBiZWluZyBzZWN1cmUvbm9uLXNlY3VyZSBtb2RlLCBzbyB0 aGlzIGlzIHZlcnkgbXVjaCBhICdnbG9iYWwnCnNldHRpbmcgZm9yIHRoZSBkcml2ZXIuIEl0IGNv dWxkIGJlIGluZmVycmVkIGJhc2VkIG9mZiBhIG5ldyBtZW1vcnkKdHlwZSBmb3IgdGhlIHF1ZXVl cy4uLndoaWNoIHRoZW4gc2V0cyB0aGF0IGZsYWcgaW4gdGhlIGRyaXZlcjsgYnV0CnRoYXQgc2Vl bXMgbGlrZSBpdCB3b3VsZCBiZSBtb3JlIGZyYWdpbGUgYW5kIHdvdWxkIHJlcXVpcmUgY2hlY2tp bmcKZm9yIGluY29tcGF0aWJsZSBvdXRwdXQvY2FwdHVyZSBtZW1vcnkgdHlwZXMuIEknbSBub3Qg YWdhaW5zdCBhbm90aGVyCndheSBvZiBkb2luZyB0aGlzOyBidXQgZGlkbid0IHNlZSB3aHkgeW91 IHRoaW5rIHRoZSBwcm9wb3NlZCBtZXRob2QgaXMKYSBwb29yIGNob2ljZS4KCj4KPiBGb3IgY29u dmVydGluZyB0aGUgZG1hYnVmIGZkIGludG8gYSBzZWN1cmUgaGFuZGxlOiBhIG5ldyBpb2N0bCBz aW1pbGFyIHRvCj4gVklESU9DX0VYUEJVRiBtaWdodCBiZSBtb3JlIHN1aXRlZCBmb3IgdGhhdC4K CkkgYWN0dWFsbHkgdGhpbmsgdGhlIGJlc3Qgd2F5IGZvciBjb252ZXJ0aW5nIHRoZSBkbWFidWYg ZmQgaW50byBhCnNlY3VyZSBoYW5kbGUgd291bGQgYmUgYW5vdGhlciBpb2N0bCBpbiB0aGUgZG1h LWhlYXAgZHJpdmVyLi4uc2luY2UKdGhhdCdzIHdoZXJlIHRoZSBtZW1vcnkgaXMgYWN0dWFsbHkg YWxsb2NhdGVkIGZyb20uIEJ1dCB0aGlzIHJlYWxseQpkZXBlbmRzIG9uIHVwc3RyZWFtIG1haW50 YWluZXJzIGFuZCB3aGF0IHRoZXkgYXJlIGNvbWZvcnRhYmxlIHdpdGguCgo+Cj4gTm90ZSB0aGF0 IEkgYW0gdGhlIGZpcnN0IHRvIGFkbWl0IHRoYXQgSSBoYXZlIG5vIGV4cGVyaWVuY2Ugd2l0aCBz ZWN1cmUKPiB2aWRlbyBwaXBlbGluZXMgb3Igb3B0ZWUtb3MsIHNvIEkgYW0gbG9va2luZyBhdCB0 aGlzIHB1cmVseSBmcm9tIGFuIHVBUEkKPiBwZXJzcGVjdGl2ZS4KPgo+IFJlZ2FyZHMsCj4KPiAg ICAgICAgIEhhbnMKPgo+ID4KPiA+IEJlc3QgUmVnYXJkcywKPiA+IFl1bmZlaSBEb25nCj4gPj4g UmVnYXJkcywKPiA+Pgo+ID4+IEhhbnMKPiA+Pgo+ID4+Pgo+ID4+PiByZWdhcmRzLAo+ID4+PiBO aWNvbGFzCj4gPj4+Cj4gPj4+IHAucy4geW91IGZvcmdvdCB0byBkb2N1bWVudCB5b3VyIGNvbnRy b2wgaW4gdGhlIFJTVCBkb2MsIHBsZWFzZSBkbwo+ID4+Cj4gPj4gaW4gZm9sbG93aW5nCj4gPj4+ IHJlbGVhc2UuCj4gPj4+Cj4gPj4+PiArY3R4LT5pc19zdnBfbW9kZSA9IGN0cmwtPnZhbDsKPiA+ Pj4+ICsKPiA+Pj4+ICtpZiAoY3R4LT5pc19zdnBfbW9kZSkgewo+ID4+Pj4gK3JldCA9IG10a192 Y29kZWNfZGVjX29wdGVlX29wZW4oY3R4LT5kZXYtPm9wdGVlX3ByaXZhdGUpOwo+ID4+Pj4gK2lm IChyZXQpCj4gPj4+PiArbXRrX3Y0bDJfdmRlY19lcnIoY3R4LCAib3BlbiBzZWN1cmUgbW9kZSBm YWlsZWQuIik7Cj4gPj4+PiArZWxzZQo+ID4+Pj4gK210a192NGwyX3ZkZWNfZGJnKDMsIGN0eCwg ImRlY29kZXIgaW4gc2VjdXJlIG1vZGU6ICVkIiwgY3RybC0KPiA+Pj4KPiA+Pj4gdmFsKTsKPiA+ Pj4+ICt9Cj4gPj4+PiArYnJlYWs7Cj4gPj4+PiAgZGVmYXVsdDoKPiA+Pj4+ICBtdGtfdjRsMl92 ZGVjX2RiZygzLCBjdHgsICJOb3Qgc3VwcG9ydGVkIHRvIHNldCBjdHJsIGlkOgo+ID4+Pj4gMHgl eFxuIiwKPiA+Pgo+ID4+IGhkcl9jdHJsLT5pZCk7Cj4gPj4+PiAgcmV0dXJuIHJldDsKPiA+Pj4+ IEBAIC01NzMsNyArNTg0LDcgQEAgc3RhdGljIGludCBtdGtfdmNvZGVjX2RlY19jdHJsc19zZXR1 cChzdHJ1Y3QKPiA+Pgo+ID4+IG10a192Y29kZWNfZGVjX2N0eCAqY3R4KQo+ID4+Pj4gIHVuc2ln bmVkIGludCBpOwo+ID4+Pj4gIHN0cnVjdCB2NGwyX2N0cmwgKmN0cmw7Cj4gPj4+Pgo+ID4+Pj4g LXY0bDJfY3RybF9oYW5kbGVyX2luaXQoJmN0eC0+Y3RybF9oZGwsIE5VTV9DVFJMUyArIDEpOwo+ ID4+Pj4gK3Y0bDJfY3RybF9oYW5kbGVyX2luaXQoJmN0eC0+Y3RybF9oZGwsIE5VTV9DVFJMUyAr IDIpOwo+ID4+Pj4gIGlmIChjdHgtPmN0cmxfaGRsLmVycm9yKSB7Cj4gPj4+PiAgbXRrX3Y0bDJf dmRlY19lcnIoY3R4LCAidjRsMl9jdHJsX2hhbmRsZXJfaW5pdCBmYWlsZWRcbiIpOwo+ID4+Pj4g IHJldHVybiBjdHgtPmN0cmxfaGRsLmVycm9yOwo+ID4+Pj4gQEAgLTU5Miw2ICs2MDMsOCBAQCBz dGF0aWMgaW50IG10a192Y29kZWNfZGVjX2N0cmxzX3NldHVwKHN0cnVjdAo+ID4+Cj4gPj4gbXRr X3Zjb2RlY19kZWNfY3R4ICpjdHgpCj4gPj4+Pgo+ID4+Pj4gIGN0cmwgPSB2NGwyX2N0cmxfbmV3 X3N0ZCgmY3R4LT5jdHJsX2hkbCwKPiA+Pgo+ID4+ICZtdGtfdmNvZGVjX2RlY19jdHJsX29wcywK PiA+Pj4+ICAgVjRMMl9DSURfTVBFR19NVEtfR0VUX1NFQ1VSRV9IQU5ETEUsIDAsIDY1NTM1LCAx LCAwKTsKPiA+Pj4+ICtjdHJsID0gdjRsMl9jdHJsX25ld19zdGQoJmN0eC0+Y3RybF9oZGwsCj4g Pj4KPiA+PiAmbXRrX3Zjb2RlY19kZWNfY3RybF9vcHMsCj4gPj4+PiArIFY0TDJfQ0lEX01QRUdf TVRLX1NFVF9TRUNVUkVfTU9ERSwgMCwgNjU1MzUsIDEsIDApOwo+ID4+Pj4KPiA+Pj4+ICB2NGwy X2N0cmxfaGFuZGxlcl9zZXR1cCgmY3R4LT5jdHJsX2hkbCk7Cj4gPj4+Pgo+ID4+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItY3RybHMtZGVmcy5jCj4gPj4KPiA+ PiBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItY3RybHMtZGVmcy5jCj4gPj4+PiBpbmRl eCBkOGNmMDFmNzZhYWIuLmE1MDcwNDVhM2YzMCAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMv bWVkaWEvdjRsMi1jb3JlL3Y0bDItY3RybHMtZGVmcy5jCj4gPj4+PiArKysgYi9kcml2ZXJzL21l ZGlhL3Y0bDItY29yZS92NGwyLWN0cmxzLWRlZnMuYwo+ID4+Pj4gQEAgLTEwNDIsNiArMTA0Miw3 IEBAIGNvbnN0IGNoYXIgKnY0bDJfY3RybF9nZXRfbmFtZSh1MzIgaWQpCj4gPj4+PiAgY2FzZSBW NEwyX0NJRF9NUEVHX1ZJREVPX1JFRl9OVU1CRVJfRk9SX1BGUkFNRVM6cmV0dXJuCj4gPj4+PiAi UmVmZXJlbmNlCj4gPj4KPiA+PiBGcmFtZXMgZm9yIGEgUC1GcmFtZSI7Cj4gPj4+PiAgY2FzZSBW NEwyX0NJRF9NUEVHX1ZJREVPX1BSRVBFTkRfU1BTUFBTX1RPX0lEUjpyZXR1cm4gIlByZXBlbmQK PiA+Pgo+ID4+IFNQUyBhbmQgUFBTIHRvIElEUiI7Cj4gPj4+PiAgY2FzZSBWNEwyX0NJRF9NUEVH X01US19HRVRfU0VDVVJFX0hBTkRMRTpyZXR1cm4gIk1lZGlhVGVrCj4gPj4+PiBEZWNvZGVyCj4g Pj4KPiA+PiBnZXQgc2VjdXJlIGhhbmRsZSI7Cj4gPj4+PiArY2FzZSBWNEwyX0NJRF9NUEVHX01U S19TRVRfU0VDVVJFX01PREU6cmV0dXJuICJNZWRpYVRlayBEZWNvZGVyCj4gPj4KPiA+PiBzZXQg c2VjdXJlIG1vZGUiOwo+ID4+Pj4KPiA+Pj4+ICAvKiBBVjEgY29udHJvbHMgKi8KPiA+Pj4+ICBj YXNlIFY0TDJfQ0lEX01QRUdfVklERU9fQVYxX1BST0ZJTEU6cmV0dXJuICJBVjEgUHJvZmlsZSI7 Cj4gPj4+PiBAQCAtMTQ0Miw2ICsxNDQzLDEwIEBAIHZvaWQgdjRsMl9jdHJsX2ZpbGwodTMyIGlk LCBjb25zdCBjaGFyCj4gPj4KPiA+PiAqKm5hbWUsIGVudW0gdjRsMl9jdHJsX3R5cGUgKnR5cGUs Cj4gPj4+PiAgKnR5cGUgPSBWNEwyX0NUUkxfVFlQRV9JTlRFR0VSOwo+ID4+Pj4gICpmbGFncyB8 PSBWNEwyX0NUUkxfRkxBR19XUklURV9PTkxZOwo+ID4+Pj4gIGJyZWFrOwo+ID4+Pj4gK2Nhc2Ug VjRMMl9DSURfTVBFR19NVEtfU0VUX1NFQ1VSRV9NT0RFOgo+ID4+Pj4gKyp0eXBlID0gVjRMMl9D VFJMX1RZUEVfSU5URUdFUjsKPiA+Pj4+ICsqZmxhZ3MgfD0gVjRMMl9DVFJMX0ZMQUdfV1JJVEVf T05MWTsKPiA+Pj4+ICticmVhazsKPiA+Pj4+ICBjYXNlIFY0TDJfQ0lEX1VTRVJfQ0xBU1M6Cj4g Pj4+PiAgY2FzZSBWNEwyX0NJRF9DQU1FUkFfQ0xBU1M6Cj4gPj4+PiAgY2FzZSBWNEwyX0NJRF9D T0RFQ19DTEFTUzoKPiA+Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGludXgvdjRsMi1j b250cm9scy5oCj4gPj4KPiA+PiBiL2luY2x1ZGUvdWFwaS9saW51eC92NGwyLWNvbnRyb2xzLmgK PiA+Pj4+IGluZGV4IDdiMzY5NDk4NTM2Ni4uODhlOTBkOTQzZTM4IDEwMDY0NAo+ID4+Pj4gLS0t IGEvaW5jbHVkZS91YXBpL2xpbnV4L3Y0bDItY29udHJvbHMuaAo+ID4+Pj4gKysrIGIvaW5jbHVk ZS91YXBpL2xpbnV4L3Y0bDItY29udHJvbHMuaAo+ID4+Pj4gQEAgLTk1Nyw2ICs5NTcsNyBAQCBl bnVtIHY0bDJfbXBlZ19tZmM1MV92aWRlb19mb3JjZV9mcmFtZV90eXBlIHsKPiA+Pj4+ICAvKiAg TVBFRy1jbGFzcyBjb250cm9sIElEcyBzcGVjaWZpYyB0byB0aGUgTWVkaWFUZWsgRGVjb2Rlcgo+ ID4+Cj4gPj4gZHJpdmVyIGFzIGRlZmluZWQgYnkgVjRMMiAqLwo+ID4+Pj4gICNkZWZpbmUgVjRM Ml9DSURfTVBFR19NVEtfQkFTRShWNEwyX0NUUkxfQ0xBU1NfQ09ERUMgfCAweDIwMDApCj4gPj4+ PiAgI2RlZmluZQo+ID4+Cj4gPj4gVjRMMl9DSURfTVBFR19NVEtfR0VUX1NFQ1VSRV9IQU5ETEUo VjRMMl9DSURfTVBFR19NVEtfQkFTRSs4KQo+ID4+Pj4gKyNkZWZpbmUKPiA+Pgo+ID4+IFY0TDJf Q0lEX01QRUdfTVRLX1NFVF9TRUNVUkVfTU9ERShWNEwyX0NJRF9NUEVHX01US19CQVNFKzkpCj4g Pj4+Pgo+ID4+Pj4gIC8qICBDYW1lcmEgY2xhc3MgY29udHJvbCBJRHMgKi8KPiA+Pj4+Cj4KPgo+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKPiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK