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 1E224EB64DC for ; Fri, 21 Jul 2023 16:30:02 +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-Type: Content-Transfer-Encoding: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=RzTgwN75dFkyXLatQWCwTkUvRL4SltJK00+SCsh+BDQ=; b=qmekaipDts2oMO 1bOvGZGdPBM1iyAWyFayPvSem2Eqevu2jIBlcyoMtkWHsuKSk/KjKZD4YOrJ9JN3RSwm/mPOUHTJ/ xFZXiA5Goo5PEr3a9szYmF48QtFyipwQyOvdtjXAvUD3vSN6T81wGI/XD1A2PPPoH0g4ZQgqCZyUB WYmqx0hoHJmI+SR4DnPyF9LsIdDT/wwd0k2EE6OBNJbYcXtW2gJFBY8wweE+dxQowMz9WTwGlftkR pa+QGDucUcBpNXuWqqSBlGydFQ06QKvakeDyVl6ghKJuZjTF2fH4J2Cb6byq1hlLWnbcoSdWF67fQ w2zjFcbbfY5EBM9vgbcQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qMt0f-00Eavq-0t; Fri, 21 Jul 2023 16:29:41 +0000 Received: from mail-qk1-x729.google.com ([2607:f8b0:4864:20::729]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qMt0a-00Eauv-2N for linux-arm-kernel@lists.infradead.org; Fri, 21 Jul 2023 16:29:38 +0000 Received: by mail-qk1-x729.google.com with SMTP id af79cd13be357-767582c6c72so200433285a.2 for ; Fri, 21 Jul 2023 09:29:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689956975; x=1690561775; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=MCj4f/yqTqvC1Zfh8gaP5TMsrhfBrc1W+dHH5Na+xwg=; b=eDb8MvRcZ/ocaVOutwcjpC5W4QiIwzu61K6N4KTRKQxemrXBslXIrFHPzy9QHwUOT4 oqEVnYiBTiOeQL3oTSP6HjI61ObacNFcuRHsBPyiY10CTMvqPTRkfNc6A1vKb7cFS4CZ ZWbRE/4bD5XV/Gn8TtSdUvqqlnQaRT7cDGf471jedUvmQArXrwHLbKAVxVFZHPTn284s A4RhG4ViLjX8n3dITdM7IX3NqvmwUOQKam3NHOHqBrqGdMxGq69SUvzrJjsCpcTiiSiZ 7UFUkRGE3Bd2exW8+j0HbNagrf42KBAuyfTWZHdNfz9WNz6NqeTv101RvGTu4GkB6luv ulQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689956975; x=1690561775; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MCj4f/yqTqvC1Zfh8gaP5TMsrhfBrc1W+dHH5Na+xwg=; b=YNdj72gDAok8JkI1Ry2BZV8CvSaKtEPOlUxTOZLT7MLjfBM1INg6VOhi1ol9m9D360 OjJgC1ZOJbammduxJfNhxAPJ9hdxdvixevUo2dD7QisF/3hKDrfwJZoR2SA2PvmukCfG jsv7ZSASGnIVqFs8E4nHsgxY+8fbG7qAG+/KkX8053CGsyFz7OF+u+WrTvw6upmAWOK2 N8cONk7ruK1/pE7XyOtoTt2ocVCrzAbyrxhDGCnHDRJTPxUbtHG8MnX0g+tUZI0YQiz9 ny5bNbAw/9LFbJjjpEXs/jEF2rBGasoD54/cXC++VPf8V3mzgPOVXDMkQEJK5mDv5asd ashg== X-Gm-Message-State: ABy/qLbwqZOZt6hUdls/uqz1UXAPtjdE+IIZkhuWaZt5H5Sqkx3r6/29 7XVjO+ts8GWzKveDe5QkIxw= X-Google-Smtp-Source: APBJJlEyWH2COTt0xU4de216+mzXeZPVL+8ty6G4n2U6Ab92rUovUUNSjJ0zaAZ73WBRseqgDOAZsg== X-Received: by 2002:a05:620a:2545:b0:769:542:b3fd with SMTP id s5-20020a05620a254500b007690542b3fdmr504663qko.8.1689956975345; Fri, 21 Jul 2023 09:29:35 -0700 (PDT) Received: from [192.168.1.3] (ip72-194-116-95.oc.oc.cox.net. [72.194.116.95]) by smtp.gmail.com with ESMTPSA id i27-20020a05620a075b00b00765a7843382sm1201448qki.74.2023.07.21.09.29.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 21 Jul 2023 09:29:34 -0700 (PDT) Message-ID: <4dbc07fa-e446-8694-3371-fa2d0432fbc6@gmail.com> Date: Fri, 21 Jul 2023 09:29:30 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [Enable Designware XGMAC VLAN Stripping Feature 2/2] net: stmmac: dwxgmac2: Add support for HW-accelerated VLAN Stripping Content-Language: en-US To: "Ng, Boon Khai" , Krzysztof Kozlowski , "Boon@ecsmtp.png.intel.com" , "Khai@ecsmtp.png.intel.com" , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , "netdev@vger.kernel.org" , "linux-stm32@st-md-mailman.stormreply.com" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" Cc: "Shevchenko, Andriy" , "Tham, Mun Yew" , "Swee, Leong Ching" , "G Thomas, Rohan" , Shevchenko Andriy References: <20230721062617.9810-1-boon.khai.ng@intel.com> <20230721062617.9810-3-boon.khai.ng@intel.com> <7549a014-4f5e-cf87-f07d-c4980ab44dc1@gmail.com> From: Florian Fainelli In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230721_092936_794946_8904A293 X-CRM114-Status: GOOD ( 20.46 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiA3LzIxLzIwMjMgOToxMiBBTSwgTmcsIEJvb24gS2hhaSB3cm90ZToKPj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBn bWFpbC5jb20+Cj4+IFNlbnQ6IEZyaWRheSwgSnVseSAyMSwgMjAyMyAxMTo1OSBQTQo+PiBUbzog TmcsIEJvb24gS2hhaSA8Ym9vbi5raGFpLm5nQGludGVsLmNvbT47IEtyenlzenRvZiBLb3psb3dz a2kKPj4gPGtyemtAa2VybmVsLm9yZz47IEJvb25AZWNzbXRwLnBuZy5pbnRlbC5jb207IEtoYWlA ZWNzbXRwLnBuZy5pbnRlbC5jb207Cj4+IE5nLCBCb29uIEtoYWkgPGJvb24ua2hhaS5uZ0BpbnRl bC5jb20+OyBHaXVzZXBwZSBDYXZhbGxhcm8KPj4gPHBlcHBlLmNhdmFsbGFyb0BzdC5jb20+OyBB bGV4YW5kcmUgVG9yZ3VlIDxhbGV4YW5kcmUudG9yZ3VlQGZvc3Muc3QuY29tPjsKPj4gSm9zZSBB YnJldSA8am9hYnJldUBzeW5vcHN5cy5jb20+OyBEYXZpZCBTIC4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PjsKPj4gRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPjsgSmFrdWIg S2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz47Cj4+IFBhb2xvIEFiZW5pIDxwYWJlbmlAcmVkaGF0 LmNvbT47IE1heGltZSBDb3F1ZWxpbgo+PiA8bWNvcXVlbGluLnN0bTMyQGdtYWlsLmNvbT47IG5l dGRldkB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LXN0bTMyQHN0LW1kLQo+PiBtYWlsbWFuLnN0b3Jt cmVwbHkuY29tOyBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IGxpbnV4LQo+ PiBrZXJuZWxAdmdlci5rZXJuZWwub3JnCj4+IENjOiBTaGV2Y2hlbmtvLCBBbmRyaXkgPGFuZHJp eS5zaGV2Y2hlbmtvQGludGVsLmNvbT47IFRoYW0sIE11biBZZXcKPj4gPG11bi55ZXcudGhhbUBp bnRlbC5jb20+OyBTd2VlLCBMZW9uZyBDaGluZwo+PiA8bGVvbmcuY2hpbmcuc3dlZUBpbnRlbC5j b20+OyBHIFRob21hcywgUm9oYW4KPj4gPHJvaGFuLmcudGhvbWFzQGludGVsLmNvbT47IFNoZXZj aGVua28gQW5kcml5Cj4+IDxhbmRyaXkuc2hldmNoZW5rb0BsaW51eC5pbnRlbC5jb20+Cj4+IFN1 YmplY3Q6IFJlOiBbRW5hYmxlIERlc2lnbndhcmUgWEdNQUMgVkxBTiBTdHJpcHBpbmcgRmVhdHVy ZSAyLzJdIG5ldDoKPj4gc3RtbWFjOiBkd3hnbWFjMjogQWRkIHN1cHBvcnQgZm9yIEhXLWFjY2Vs ZXJhdGVkIFZMQU4gU3RyaXBwaW5nCj4+Cj4+Cj4+Cj4+IE9uIDcvMjEvMjAyMyA4OjMwIEFNLCBO ZywgQm9vbiBLaGFpIHdyb3RlOgo+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+Pj4g RnJvbTogS3J6eXN6dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgo+Pj4+IFNlbnQ6IEZy aWRheSwgSnVseSAyMSwgMjAyMyA2OjExIFBNCj4+Pj4gVG86IEJvb25AZWNzbXRwLnBuZy5pbnRl bC5jb207IEtoYWlAZWNzbXRwLnBuZy5pbnRlbC5jb207ICJOZwo+Pj4+IDxib29uLmtoYWkubmci QGludGVsLmNvbTsgR2l1c2VwcGUgQ2F2YWxsYXJvCj4+Pj4gPHBlcHBlLmNhdmFsbGFyb0BzdC5j b20+OyBBbGV4YW5kcmUgVG9yZ3VlCj4+Pj4gPGFsZXhhbmRyZS50b3JndWVAZm9zcy5zdC5jb20+ OyBKb3NlIEFicmV1IDxqb2FicmV1QHN5bm9wc3lzLmNvbT47Cj4+Pj4gRGF2aWQgUyAuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD47IEVyaWMgRHVtYXpldAo+Pj4+IDxlZHVtYXpldEBnb29n bGUuY29tPjsgSmFrdWIgS2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz47IFBhb2xvIEFiZW5pCj4+ Pj4gPHBhYmVuaUByZWRoYXQuY29tPjsgTWF4aW1lIENvcXVlbGluIDxtY29xdWVsaW4uc3RtMzJA Z21haWwuY29tPjsKPj4+PiBuZXRkZXZAdmdlci5rZXJuZWwub3JnOyBsaW51eC1zdG0zMkBzdC0g bWQtbWFpbG1hbi5zdG9ybXJlcGx5LmNvbTsKPj4+PiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmc7IGxpbnV4LSBrZXJuZWxAdmdlci5rZXJuZWwub3JnCj4+Pj4gQ2M6IE5nLCBC b29uIEtoYWkgPGJvb24ua2hhaS5uZ0BpbnRlbC5jb20+OyBTaGV2Y2hlbmtvLCBBbmRyaXkKPj4+ PiA8YW5kcml5LnNoZXZjaGVua29AaW50ZWwuY29tPjsgVGhhbSwgTXVuIFlldwo+Pj4+IDxtdW4u eWV3LnRoYW1AaW50ZWwuY29tPjsgU3dlZSwgTGVvbmcgQ2hpbmcKPj4+PiA8bGVvbmcuY2hpbmcu c3dlZUBpbnRlbC5jb20+OyBHIFRob21hcywgUm9oYW4KPj4+PiA8cm9oYW4uZy50aG9tYXNAaW50 ZWwuY29tPjsgU2hldmNoZW5rbyBBbmRyaXkKPj4+PiA8YW5kcml5LnNoZXZjaGVua29AbGludXgu aW50ZWwuY29tPgo+Pj4+IFN1YmplY3Q6IFJlOiBbRW5hYmxlIERlc2lnbndhcmUgWEdNQUMgVkxB TiBTdHJpcHBpbmcgRmVhdHVyZSAyLzJdIG5ldDoKPj4+PiBzdG1tYWM6IGR3eGdtYWMyOiBBZGQg c3VwcG9ydCBmb3IgSFctYWNjZWxlcmF0ZWQgVkxBTiBTdHJpcHBpbmcKPj4+Pgo+Pj4+IE9uIDIx LzA3LzIwMjMgMDg6MjYsIEJvb25AZWNzbXRwLnBuZy5pbnRlbC5jb20gd3JvdGU6Cj4+Pj4+IEZy b206IEJvb24gS2hhaSBOZyA8Ym9vbi5raGFpLm5nQGludGVsLmNvbT4KPj4+Pj4KPj4+Pj4gQ3Vy cmVudGx5LCBWTEFOIHRhZyBzdHJpcHBpbmcgaXMgZG9uZSBieSBzb2Z0d2FyZSBkcml2ZXIgaW4K Pj4+Pj4gc3RtbWFjX3J4X3ZsYW4oKS4gVGhpcyBwYXRjaCBpcyB0byBBZGQgc3VwcG9ydCBmb3Ig VkxBTiB0YWcKPj4+Pj4gc3RyaXBwaW5nIGJ5IHRoZSBNQUMgaGFyZHdhcmUgYW5kIE1BQyBkcml2 ZXJzIHRvIHN1cHBvcnQgaXQuCj4+Pj4+IFRoaXMgaXMgZG9uZSBieSBhZGRpbmcgcnhfaHdfdmxh bigpIGFuZCBzZXRfaHdfdmxhbl9tb2RlKCkgY2FsbGJhY2tzCj4+Pj4+IGF0IHN0bW1hY19vcHMg c3RydWN0IHdoaWNoIGFyZSBjYWxsZWQgZnJvbSB1cHBlciBzb2Z0d2FyZSBsYXllci4KPj4+PiAu Li4KPj4+Pgo+Pj4+PiAgICAJaWYgKHByaXYtPmRtYV9jYXAudmxoYXNoKSB7Cj4+Pj4+ICAgIAkJ bmRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9IV19WTEFOX0NUQUdfRklMVEVSOwo+Pj4+PiAgICAJ CW5kZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfSFdfVkxBTl9TVEFHX0ZJTFRFUjsgZGlmZiAtLQo+ Pj4+IGdpdAo+Pj4+PiBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1h Y19wbGF0Zm9ybS5jCj4+Pj4+IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMv c3RtbWFjX3BsYXRmb3JtLmMKPj4+Pj4gaW5kZXggMjNkNTNlYTA0YjI0Li5iZDdmMzMyNmE0NGMg MTAwNjQ0Cj4+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0 bW1hY19wbGF0Zm9ybS5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8v c3RtbWFjL3N0bW1hY19wbGF0Zm9ybS5jCj4+Pj4+IEBAIC01NDMsNiArNTQzLDEyIEBAIHN0bW1h Y19wcm9iZV9jb25maWdfZHQoc3RydWN0IHBsYXRmb3JtX2RldmljZQo+Pj4+ICpwZGV2LCB1OCAq bWFjKQo+Pj4+PiAgICAJCQlwbGF0LT5mbGFncyB8PSBTVE1NQUNfRkxBR19UU09fRU47Cj4+Pj4+ ICAgIAl9Cj4+Pj4+Cj4+Pj4+ICsJLyogUnggVkxBTiBIVyBTdHJpcHBpbmcgKi8KPj4+Pj4gKwlp ZiAob2ZfcHJvcGVydHlfcmVhZF9ib29sKG5wLCAic25wcyxyeC12bGFuLW9mZmxvYWQiKSkgewo+ Pj4+PiArCQlkZXZfaW5mbygmcGRldi0+ZGV2LCAiUlggVkxBTiBIVyBTdHJpcHBpbmdcbiIpOwo+ Pj4+Cj4+Pj4gV2h5PyBEcm9wLgo+Pj4+Cj4+Pgo+Pj4gVGhpcyBpcyBhbiBkdHMgb3B0aW9uIGV4 cG9ydCB0byBkdHMgZm9yIHVzZXIgdG8gY2hvb3NlIHdoZXRoZXIgb3Igbm90Cj4+PiB0aGV5IFdh bnQgYSBIYXJkd2FyZSBzdHJpcHBpbmcgb3IgYSBzb2Z0d2FyZSBzdHJpcHBpbmcuCj4+Pgo+Pj4g TWF5IEkga25vdyB3aGF0IGlzIHRoZSByZWFzb24gdG8gZHJvcCB0aGlzPwo+Pgo+PiBCZWNhdXNl IHRoZSBuZXR3b3JraW5nIHN0YWNrIGFscmVhZHkgZXhwb3NlcyBrbm9icyBmb3IgZHJpdmVycyB0 byBhZHZlcnRpc2UgYW5kCj4+IGNvbnRyb2wgVkxBTiBzdHJpcHBpbmcvaW5zZXJ0aW9uIG9uIFJY L1RYIHVzaW5nIGV0aHRvb2wgYW5kIGZlYXR1cmUgYml0cwo+PiAoTkVUSUZfRl9IV19WTEFOX0NU QUdfUlgsIE5FVElGX0ZfSFdfVkxBTl9DVEFHX1RYKS4KPj4KPiAKPiBIaSBGbG9yaWFuLAo+IAo+ IFVuZGVyc3Rvb2QsIGJ1dCBob3cgZG9lcyB1c2VyIGNob29zZSB0byBoYXZlIHRoZSBkZWZhdWx0 IG9wdGlvbgo+IGVpdGhlciBoYXJkd2FyZSBzdHJpcCBvciBzb2Z0d2FyZSBzdHJpcCwgd2hlbiB0 aGUgZGV2aWNlIGp1c3QgYm9vdCB1cD8KCllvdSBuZWVkIHRoZSBoYXJkd2FyZSB0byBhZHZlcnRp c2UgaXQgYW5kIGRlY2lkZSBhcyBhIG1haW50YWluZXIgb2YgdGhhdCAKZHJpdmVyIHdoZXRoZXIg aXQgbWFrZXMgc2Vuc2UgdG8gaGF2ZSBvbmUgb3IgdGhlIG90aGVyIGJlaGF2aW9yIGJ5IGRlZmF1 bHQuCgo+IAo+IEkgZG9u4oCZdCB0aGluayBldGhvb2wgY2FuICJyZW1lbWJlciIgdGhlIHNldHRp bmcgb25jZSB0aGUgZGV2aWNlIGdldCByZWJvb3RlZD8KCklmIGJ5ICJkZXZpY2UiIHlvdSBtZWFu IGEgc3lzdGVtIHRoYXQgaW5jb3Jwb3JhdGVzIGEgWEdNQUMgY29yZSwgdGhlbiBJIApzdXBwb3Nl IHRoYXQgaXMgdHJ1ZSwgdGhvdWdoIHlvdSBjb3VsZCBoYXZlIHNvbWUgdXNlci1zcGFjZSBsb2dp YyB0aGF0IApkb2VzIHJlbWVtYmVyIHRoZSB2YXJpb3VzIGV0aHRvb2wgb3B0aW9ucyBhbmQgcmUt YXBwbGllcyB0aGVtIGFzIHNvb24gYXMgCnRoZSBkZXZpY2UgaXMgbWFkZSBhdmFpbGFibGUgdG8g dXNlci1zcGFjZSwgdGhpcyB3b3VsZCBub3QgYmUgdG9vIGZhciAKZmV0Y2hlZC4KCj4gQW55IG90 aGVyIHN1Z2dlc3Rpb24gb2YgZG9pbmcgaXQgb3RoZXIgdGhhbiB1c2luZyB0aGUgZHRzIG1ldGhv ZD8KCkxldCBtZSBhc2sgeW91IHRoaXMgcXVlc3Rpb246IHdoYXQgYXJlIHlvdSB0cnlpbmcgdG8g c29sdmUgYnkgbWFraW5nIAp0aGlzIGNvbmZpZ3VyYWJsZT8gSFcgc3RyaXBwaW5nIHNob3VsZCBh bHdheXMgYmUgbW9yZSBlZmZpY2llbnQsIHNob3VsZCAKbm90IGl0LCBpZiBzbywgd2hhdCB3b3Vs ZCBiZSB0aGUgcmVhc29ucyBmb3Igbm90IGVuYWJsaW5nIHRoYXQgYnkgCmRlZmF1bHQ/IElmIG5v dCwgdGhlbiBsZWF2ZSBpdCBvZmYgYW5kIGxldCB1c2VycyBlbmFibGUgaXQgaWYgdGhleSBmZWVs IApsaWtlIHRoZXkgd2FudCBpdC4KLS0gCkZsb3JpYW4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK