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 5219EEB64DD for ; Fri, 21 Jul 2023 11:44:39 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ewLmF4MbVlabvY9Uo0nAQATeb/zutDOPR2XWtsl5rLs=; b=2LIbFTh9ArY+bh oaul/YSR+7TlhVvmOv6tpgxQew3Bd0EUMRPZHhGfW0Th4VSlra86F+WplA2S8df37I6F5Bc8nI9Hp WrVomTU2S4yLIt6y5Bt0anOh1a7vB0Y0qFq/rLF57xVJzVTwc5Z1mftxB06DRA+Ln3y7DJ2K7BBZ3 dqWaMx3K8qDfkw/EJLQd7sTUTYULpO3yW9To6dFH1NkmRbm7Xx0bdi6LAYsniK9+NPmoTvXZaRMCJ BgaFyKXtz8UxZoVHST8J/vbLtCnxXtZFVpeIFZ7XO66+etUYMtpYPPw3hfn422Vjm8Dd+hoszXYY1 upXfogHYvooAsy3KyXtA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qMoYU-00DxlW-1f; Fri, 21 Jul 2023 11:44:18 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qMoYR-00Dxkh-0p; Fri, 21 Jul 2023 11:44:17 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 9577D61A00; Fri, 21 Jul 2023 11:44:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A0051C433C7; Fri, 21 Jul 2023 11:44:11 +0000 (UTC) Message-ID: Date: Fri, 21 Jul 2023 13:44:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH v5 5/7] media: mediatek: vcodec: Read HW active status from syscon Content-Language: en-US To: =?UTF-8?B?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= , Matthias Brugger Cc: AngeloGioacchino Del Regno , kernel@collabora.com, Andrew-CT Chen , Mauro Carvalho Chehab , Tiffany Lin , Yunfei Dong , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-mediatek@lists.infradead.org References: <20230630151436.155586-1-nfraprado@collabora.com> <20230630151436.155586-6-nfraprado@collabora.com> From: Hans Verkuil In-Reply-To: <20230630151436.155586-6-nfraprado@collabora.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230721_044415_376037_1CE9BBC0 X-CRM114-Status: GOOD ( 35.97 ) 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 T24gMzAvMDYvMjAyMyAxNzoxNCwgTsOtY29sYXMgRi4gUi4gQS4gUHJhZG8gd3JvdGU6Cj4gUmVt b3ZlIHRoZSByZXF1aXJlbWVudCBvZiBhIFZERUNfU1lTIHJlZyBpb3NwYWNlIGZvciBib3RoIE1U ODE3MyBhbmQKPiBNVDgxODMuIFRvIGFjaGlldmUgdGhhdCwgcmVseSBvbiBhIHZkZWNzeXMgc3lz Y29uIHRvIGJlIHBhc3NlZCB0aHJvdWdoCj4gdGhlIERULCBhbmQgdXNlIGl0IHRvIGRpcmVjdGx5 IHJlYWQgdGhlIFZERUNfSFdfQUNUSVZFIGJpdCBkdXJpbmcgSVJRCj4gaGFuZGxpbmcgdG8gY2hl Y2sgd2hldGhlciB0aGUgSFcgaXMgYWN0aXZlLiBBbHNvIHVwZGF0ZSB0aGUgVlA4IHN0YXRlZnVs Cj4gZGVjb2RlciB0byB1c2UgdGhlIHN5c2NvbiwgaWYgcHJlc2VudCwgZm9yIHdyaXRlcyB0byBW REVDX1NZUy4KPiAKPiBUaGUgb2xkIGJlaGF2aW9yIGlzIHN0aWxsIHByZXNlbnQgd2hlbiByZWct bmFtZXMgYXJlbid0IHN1cHBsaWVkLCBhcwo+IHRvIGtlZXAgYmFja3dhcmQgY29tcGF0aWJpbGl0 eS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBOw61jb2xhcyBGLiBSLiBBLiBQcmFkbyA8bmZyYXByYWRv QGNvbGxhYm9yYS5jb20+Cj4gCj4gLS0tCj4gCj4gQ2hhbmdlcyBpbiB2NToKPiAtIEFkZGVkIGV4 cGxpY2l0IGxpbnV4L2JpdGZpZWxkLmggaW5jbHVkZSBmb3IgRklFTERfR0VUKCksIGZvbGxvd2lu Zwo+ICAgMGRheSByZXBvcnQKPiAKPiBDaGFuZ2VzIGluIHY0Ogo+IC0gQWRkZWQgbmV3IGhlbHBl ciBhbmQgdXBkYXRlZCBWUDggc3RhdGVmdWwgZGVjb2RlciB0byB1c2UgaXQsIHNvIHRoZQo+ICAg c3lzY29uIGNhbiBhbHNvIGJlIHVzZWQgYnkgbXQ4MTczCj4gLSBNYWRlIGhhbmRsaW5nIGNsZWFu ZXIKPiAtIFJld29yZGVkIGNvbW1pdAo+IAo+IENoYW5nZXMgaW4gdjM6Cj4gLSBTd2l0Y2hlZCBo YW5kbGluZyBvZiBWREVDX0hXX0FDVElWRSB0byB1c2UgYSBzeXNjb24gaW5zdGVhZCBvZiB0aGUK PiAgICdhY3RpdmUnIGNsb2NrCj4gLSBSZXdvcmRlZCBjb21taXQKPiAtIFJlbW92ZWQgY2hhbmdl cyB0byBzdWJkZXYgcGFydCBvZiBkcml2ZXIsIHNpbmNlIHRoZXkgYXJlbid0IHVzZWQgYnkKPiAg IE1UODE4Mwo+IAo+ICAuLi4vbWVkaWF0ZWsvdmNvZGVjL210a192Y29kZWNfZGVjX2Rydi5jICAg ICAgfCA3NyArKysrKysrKysrKysrKysrLS0tCj4gIC4uLi9wbGF0Zm9ybS9tZWRpYXRlay92Y29k ZWMvbXRrX3Zjb2RlY19kcnYuaCB8ICAxICsKPiAgLi4uL21lZGlhdGVrL3Zjb2RlYy9tdGtfdmNv ZGVjX3V0aWwuYyAgICAgICAgIHwgMTUgKysrKwo+ICAuLi4vbWVkaWF0ZWsvdmNvZGVjL210a192 Y29kZWNfdXRpbC5oICAgICAgICAgfCAgMiArCj4gIC4uLi9tZWRpYXRlay92Y29kZWMvdmRlYy92 ZGVjX3ZwOF9pZi5jICAgICAgICB8IDEwICstLQo+ICA1IGZpbGVzIGNoYW5nZWQsIDg3IGluc2Vy dGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL21lZGlhdGVrL3Zjb2RlYy9tdGtfdmNvZGVjX2RlY19kcnYuYyBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vbWVkaWF0ZWsvdmNvZGVjL210a192Y29kZWNfZGVjX2Rydi5jCj4gaW5k ZXggODM3ODBkMjlhOWNmLi43NDJiNjkwM2QwMzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9tZWRpYXRlay92Y29kZWMvbXRrX3Zjb2RlY19kZWNfZHJ2LmMKPiArKysgYi9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL21lZGlhdGVrL3Zjb2RlYy9tdGtfdmNvZGVjX2RlY19kcnYu Ywo+IEBAIC01LDEzICs1LDE2IEBACj4gICAqICAgICAgICAgVGlmZmFueSBMaW4gPHRpZmZhbnku bGluQG1lZGlhdGVrLmNvbT4KPiAgICovCj4gIAo+ICsjaW5jbHVkZSA8bGludXgvYml0ZmllbGQu aD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2ludGVycnVw dC5oPgo+ICAjaW5jbHVkZSA8bGludXgvaXJxLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tZmQvc3lz Y29uLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L29m X2RldmljZS5oPgo+ICAjaW5jbHVkZSA8bGludXgvb2YuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3Bt X3J1bnRpbWUuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgo+ICAjaW5jbHVkZSA8bWVk aWEvdjRsMi1ldmVudC5oPgo+ICAjaW5jbHVkZSA8bWVkaWEvdjRsMi1tZW0ybWVtLmg+Cj4gICNp bmNsdWRlIDxtZWRpYS92aWRlb2J1ZjItZG1hLWNvbnRpZy5oPgo+IEBAIC0zOCwyMiArNDEsMzAg QEAgc3RhdGljIGludCBtdGtfdmNvZGVjX2dldF9od19jb3VudChzdHJ1Y3QgbXRrX3Zjb2RlY19k ZXYgKmRldikKPiAgCX0KPiAgfQo+ICAKPiArc3RhdGljIGJvb2wgbXRrX3Zjb2RlY19pc19od19h Y3RpdmUoc3RydWN0IG10a192Y29kZWNfZGV2ICpkZXYpCj4gK3sKPiArCXUzMiBjZ19zdGF0dXM7 Cj4gKwo+ICsJaWYgKGRldi0+dmRlY3N5c19yZWdtYXApCj4gKwkJcmV0dXJuICFyZWdtYXBfdGVz dF9iaXRzKGRldi0+dmRlY3N5c19yZWdtYXAsIFZERUNfSFdfQUNUSVZFX0FERFIsCj4gKwkJCQkJ IFZERUNfSFdfQUNUSVZFX01BU0spOwo+ICsKPiArCWNnX3N0YXR1cyA9IHJlYWRsKGRldi0+cmVn X2Jhc2VbVkRFQ19TWVNdICsgVkRFQ19IV19BQ1RJVkVfQUREUik7Cj4gKwlyZXR1cm4gIUZJRUxE X0dFVChWREVDX0hXX0FDVElWRV9NQVNLLCBjZ19zdGF0dXMpOwo+ICt9Cj4gKwo+ICBzdGF0aWMg aXJxcmV0dXJuX3QgbXRrX3Zjb2RlY19kZWNfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqcHJp dikKPiAgewo+ICAJc3RydWN0IG10a192Y29kZWNfZGV2ICpkZXYgPSBwcml2Owo+ICAJc3RydWN0 IG10a192Y29kZWNfY3R4ICpjdHg7Cj4gLQl1MzIgY2dfc3RhdHVzID0gMDsKPiAgCXVuc2lnbmVk IGludCBkZWNfZG9uZV9zdGF0dXMgPSAwOwo+ICAJdm9pZCBfX2lvbWVtICp2ZGVjX21pc2NfYWRk ciA9IGRldi0+cmVnX2Jhc2VbVkRFQ19NSVNDXSArCj4gIAkJCQkJVkRFQ19JUlFfQ0ZHX1JFRzsK PiAgCj4gIAljdHggPSBtdGtfdmNvZGVjX2dldF9jdXJyX2N0eChkZXYsIE1US19WREVDX0NPUkUp Owo+ICAKPiAtCS8qIGNoZWNrIGlmIEhXIGFjdGl2ZSBvciBub3QgKi8KPiAtCWNnX3N0YXR1cyA9 IHJlYWRsKGRldi0+cmVnX2Jhc2VbMF0gKyBWREVDX0hXX0FDVElWRV9BRERSKTsKPiAtCWlmICgo Y2dfc3RhdHVzICYgVkRFQ19IV19BQ1RJVkVfTUFTSykgIT0gMCkgewo+IC0JCW10a192NGwyX2Vy cigiREVDIElTUiwgVkRFQyBhY3RpdmUgaXMgbm90IDB4MCAoMHglMDh4KSIsCj4gLQkJCSAgICAg Y2dfc3RhdHVzKTsKPiArCWlmICghbXRrX3Zjb2RlY19pc19od19hY3RpdmUoZGV2KSkgewo+ICsJ CW10a192NGwyX2VycigiREVDIElTUiwgVkRFQyBhY3RpdmUgaXMgbm90IDB4MCIpOwo+ICAJCXJl dHVybiBJUlFfSEFORExFRDsKPiAgCX0KPiAgCj4gQEAgLTgyLDYgKzkzLDMzIEBAIHN0YXRpYyBp bnQgbXRrX3Zjb2RlY19nZXRfcmVnX2Jhc2VzKHN0cnVjdCBtdGtfdmNvZGVjX2RldiAqZGV2KQo+ ICB7Cj4gIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gZGV2LT5wbGF0X2RldjsKPiAg CWludCByZWdfbnVtLCBpOwo+ICsJc3RydWN0IHJlc291cmNlICpyZXM7Cj4gKwlib29sIGhhc192 ZGVjc3lzX3JlZzsKPiArCXN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbXRrX2RlY19yZWdfbmFt ZXNbXSA9IHsKPiArCQkibWlzYyIsCj4gKwkJImxkIiwKPiArCQkidG9wIiwKPiArCQkiY20iLAo+ ICsJCSJhZCIsCj4gKwkJImF2IiwKPiArCQkicHAiLAo+ICsJCSJod2QiLAo+ICsJCSJod3EiLAo+ ICsJCSJod2IiLAo+ICsJCSJod2ciCj4gKwl9Owo+ICsKPiArCS8qCj4gKwkgKiBJZiB3ZSBoYXZl IHJlZy1uYW1lcyBpbiBkZXZpY2V0cmVlLCB0aGlzIG1lYW5zIHRoYXQgd2UncmUgb24gYSBuZXcK PiArCSAqIHJlZ2lzdGVyIG9yZ2FuaXphdGlvbiwgd2hpY2ggaW1wbGllcyB0aGF0IHRoZSBWREVD X1NZUyBpb3NwYWNlIGdldHMKPiArCSAqIFIvVyB0aHJvdWdoIGEgc3lzY29uIChyZWdtYXApLgo+ ICsJICogSGVyZSB3ZSB0cnkgdG8gZ2V0IHRoZSAibWlzYyIgaW9zdGFydCBvbmx5IHRvIGNoZWNr IGlmIHdlIGhhdmUgcmVnLW5hbWVzCj4gKwkgKi8KPiArCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNv dXJjZV9ieW5hbWUocGRldiwgSU9SRVNPVVJDRV9NRU0sICJtaXNjIik7Cj4gKwlpZiAocmVzKQo+ ICsJCWhhc192ZGVjc3lzX3JlZyA9IGZhbHNlOwo+ICsJZWxzZQo+ICsJCWhhc192ZGVjc3lzX3Jl ZyA9IHRydWU7Cj4gIAo+ICAJLyogU2l6ZW9mKHUzMikgKiA0IGJ5dGVzIGZvciBlYWNoIHJlZ2lz dGVyIGJhc2UuICovCj4gIAlyZWdfbnVtID0gb2ZfcHJvcGVydHlfY291bnRfZWxlbXNfb2Zfc2l6 ZShwZGV2LT5kZXYub2Zfbm9kZSwgInJlZyIsCj4gQEAgLTkxLDEyICsxMjksMjkgQEAgc3RhdGlj IGludCBtdGtfdmNvZGVjX2dldF9yZWdfYmFzZXMoc3RydWN0IG10a192Y29kZWNfZGV2ICpkZXYp Cj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAl9Cj4gIAo+IC0JZm9yIChpID0gMDsgaSA8IHJlZ19u dW07IGkrKykgewo+IC0JCWRldi0+cmVnX2Jhc2VbaV0gPSBkZXZtX3BsYXRmb3JtX2lvcmVtYXBf cmVzb3VyY2UocGRldiwgaSk7Cj4gLQkJaWYgKElTX0VSUihkZXYtPnJlZ19iYXNlW2ldKSkKPiAt CQkJcmV0dXJuIFBUUl9FUlIoZGV2LT5yZWdfYmFzZVtpXSk7Cj4gKwlpZiAoaGFzX3ZkZWNzeXNf cmVnKSB7Cj4gKwkJZm9yIChpID0gMDsgaSA8IHJlZ19udW07IGkrKykgewo+ICsJCQlkZXYtPnJl Z19iYXNlW2ldID0gZGV2bV9wbGF0Zm9ybV9pb3JlbWFwX3Jlc291cmNlKHBkZXYsIGkpOwo+ICsJ CQlpZiAoSVNfRVJSKGRldi0+cmVnX2Jhc2VbaV0pKQo+ICsJCQkJcmV0dXJuIFBUUl9FUlIoZGV2 LT5yZWdfYmFzZVtpXSk7Cj4gKwo+ICsJCQltdGtfdjRsMl9kZWJ1ZygyLCAicmVnWyVkXSBiYXNl PSVwIiwgaSwgZGV2LT5yZWdfYmFzZVtpXSk7Cj4gKwkJfQo+ICsJfSBlbHNlIHsKPiArCQlmb3Ig KGkgPSAwOyBpIDwgcmVnX251bTsgaSsrKSB7Cj4gKwkJCWRldi0+cmVnX2Jhc2VbaSsxXSA9IGRl dm1fcGxhdGZvcm1faW9yZW1hcF9yZXNvdXJjZV9ieW5hbWUocGRldiwgbXRrX2RlY19yZWdfbmFt ZXNbaV0pOwo+ICsJCQlpZiAoSVNfRVJSKGRldi0+cmVnX2Jhc2VbaSsxXSkpCj4gKwkJCQlyZXR1 cm4gUFRSX0VSUihkZXYtPnJlZ19iYXNlW2krMV0pOwo+ICAKPiAtCQltdGtfdjRsMl9kZWJ1Zygy LCAicmVnWyVkXSBiYXNlPSVwIiwgaSwgZGV2LT5yZWdfYmFzZVtpXSk7Cj4gKwkJCW10a192NGwy X2RlYnVnKDIsICJyZWdbJWRdIGJhc2U9JXAiLCBpKzEsIGRldi0+cmVnX2Jhc2VbaSsxXSk7Cj4g KwkJfQo+ICsKPiArCQlkZXYtPnZkZWNzeXNfcmVnbWFwID0gc3lzY29uX3JlZ21hcF9sb29rdXBf YnlfcGhhbmRsZShwZGV2LT5kZXYub2Zfbm9kZSwKPiArCQkJCQkJCQkgICAgICAibWVkaWF0ZWss dmRlY3N5cyIpOwo+ICsJCWlmIChJU19FUlIoZGV2LT52ZGVjc3lzX3JlZ21hcCkpIHsKPiArCQkJ ZGV2X2VycigmcGRldi0+ZGV2LCAiTWlzc2luZyBtZWRpYXRlayx2ZGVjc3lzIHByb3BlcnR5Iik7 Cj4gKwkJCXJldHVybiBQVFJfRVJSKGRldi0+dmRlY3N5c19yZWdtYXApOwo+ICsJCX0KPiAgCX0K PiAgCj4gIAlyZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9t ZWRpYXRlay92Y29kZWMvbXRrX3Zjb2RlY19kcnYuaCBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v bWVkaWF0ZWsvdmNvZGVjL210a192Y29kZWNfZHJ2LmgKPiBpbmRleCBmMTdkNjdlNzgxYzkuLjBi NDMwOTM2ZjY3ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL21lZGlhdGVr L3Zjb2RlYy9tdGtfdmNvZGVjX2Rydi5oCj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9t ZWRpYXRlay92Y29kZWMvbXRrX3Zjb2RlY19kcnYuaAo+IEBAIC00ODksNiArNDg5LDcgQEAgc3Ry dWN0IG10a192Y29kZWNfZGV2IHsKPiAgCXZvaWQgX19pb21lbSAqcmVnX2Jhc2VbTlVNX01BWF9W Q09ERUNfUkVHX0JBU0VdOwo+ICAJY29uc3Qgc3RydWN0IG10a192Y29kZWNfZGVjX3BkYXRhICp2 ZGVjX3BkYXRhOwo+ICAJY29uc3Qgc3RydWN0IG10a192Y29kZWNfZW5jX3BkYXRhICp2ZW5jX3Bk YXRhOwo+ICsJc3RydWN0IHJlZ21hcCAqdmRlY3N5c19yZWdtYXA7CgpZb3UgZm9yZ290IHRvIGFk ZCB0aGUga2VybmVsZG9jIGRvY3VtZW50YXRpb24gZm9yIHRoaXMgbmV3IGZpZWxkLgoKSWYgeW91 IGp1c3QgZ2l2ZSBtZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIGZpZWxkIHRoZW4gSSBjYW4g bW9kaWZ5IHRoZQpwYXRjaC4gVGhhdCdzIGFjdHVhbGx5IGVhc2llciBmb3IgbWUuCgpSZWdhcmRz LAoKCUhhbnMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK