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 19B7DC021A1 for ; Tue, 11 Feb 2025 08:49:09 +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=GmOXN0JnJMef6LnYPU1ubo6iLhvS98S9RJqE4AjKpE4=; b=Jw1PuysmnzPSMH pZmrEJxZVaGgr2qJLvjMACbmfwRPeKFipzjcPD/n1uwi8los+eVcB9tHq4m51Q9T2g+LLcbtejNrG oKYpqFh03JvCaBzzcgYv7Ny5M9P0yo+yh+I2JBaweYiydoWquPzdzU7zh3uuABjE4GLsaKokdjBIR yLZGt4vlPQOlLilRun9i7oxalYM/kzAU1SoaT2EVDC7+mCS89eW8aFlpg24hFleyn2gkBSZl3taYr 4P64Dd8nNqa958zKXlkUwlopN9SBxADBsSG9iS1Y/afv9uUeUiDCc5HVo0gfShBw6MqLXGgodCEmq SJrgb2KOOye+bsX3TTiw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thlwz-000000033aq-2e44; Tue, 11 Feb 2025 08:49:01 +0000 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thltr-000000032uH-3d1K for linux-riscv@lists.infradead.org; Tue, 11 Feb 2025 08:45:49 +0000 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-4393f6a2c1bso12359165e9.1 for ; Tue, 11 Feb 2025 00:45:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1739263546; x=1739868346; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=CjaMyifJmxRVCZcsee8t2l5V7O9x/XFbm7eqaPh0L0A=; b=KdlAv+h9pA53tqG6RXG7+/Kjg23Ql0KpiiKLe2RFkmBOf1NJfE2ZLWnE8lMTp6MTHE UFkfI9IWVWmItqg2dQvYDll6bLv/sfZu1ZkPrhPyV623CidlJ8/BpxJGsAjGhfG02rQD hitzxfeaimk2b3srXK0952BfELL3a382TY+fKMLlzZmLjVAhOEGAm1I91x8lAo1xNgY3 J44DjjPlXzebT4s+2Voj8v5KK03XeqOyRZr+FIiklkLMp7o8f6CCn6QFybUrnVZ7P0mm 4gBpY7lzSJf1AUtlIZhxjBk9iEN0n9lC+6kfUmpuAAq5V6pWbdIhviRHlMYEPhsqsB0e spkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739263546; x=1739868346; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=CjaMyifJmxRVCZcsee8t2l5V7O9x/XFbm7eqaPh0L0A=; b=i/YzNognok9Pj40zdYNTLvs44VTF6mWwKsjMW1pugDB6yhlsQIJ4ygUzfOwLDE0psK o2pdijOGFZ5DZplx1dAJsLcexd+Ub1DgQ1CB3EZctjVuYHi19zvNZWql0AcCiX24XgLC AXIgnvFN1V4d9bk6cfq/noGj5PwtEU78hUONOakEOMMhgBvcSbZ/yyYeW+xZ6qpWCm/7 AxH6pViRjVygIQ+LB9BBd9XyS4LT2I7NEiRuGbfDkoL5VeHvGjtgL3uEWvzCh9UFhdUU tKDwzCIDBCYX4+MDnQfk/HppibWnRin/1m+wOCZ+l6hXGWrKulrTlMGndp5gGpfcOWoR a7Ig== X-Forwarded-Encrypted: i=1; AJvYcCVzp9nFC7NPJJoZCeJooY/aBSd94fP3rixfaMsY0/t9JoNXCZGAnfjz5P3lg8Ni0wRQjxOhnFw8rzKayQ==@lists.infradead.org X-Gm-Message-State: AOJu0YyGVUupcEH9pYkz9wEsrFZGtj/QYGwyO5IZokCJSkwF/jPXTfa5 ZcDsKuwQBTeT4nY8llhrR3LVT+b0/9xeCgc4bWrpT9yQTs+xxpEFc2JzSCce4No= X-Gm-Gg: ASbGnctKcZjNydVZBMSeTvD962vqhkl3hJmq8olNxZNv1WX/gI7jvmpq0lCuAPaPcH2 ttApSRY8QZIQox4QMQ6W3sbV/0lwrzEc00QEflN7q11DD4fYBhs0oij/Ot6tY5GcNi5uCaoRlfi o5maKMeZbEexOU65F8HIFv8S7Vrlkb9+iC5P2igSDOOmuYFTqEzJ6EDj3FcyGPl9wzbZDR1XrQx CHdronVNjhyBPHG7cXNW/PewpxceHxBKDVhmnF1zOvJYyDN5BFEigGCz9I4BtqpM9nsoYx/M7PU AycfC6vy8fn9Z1BNY6qkinf7mDhznA5vjrK6ayGS67lozywbOpTaqSJFm80S X-Google-Smtp-Source: AGHT+IG+SmfGJVYOShNgqHCPCd07PbXxZneGcwo88AcQulZIQpXxaJaOeME1U8Vd0E5f2m5egCZc7A== X-Received: by 2002:a05:6000:1f85:b0:38d:d8c0:1f7f with SMTP id ffacd0b85a97d-38de439d6aamr1776720f8f.9.1739263546052; Tue, 11 Feb 2025 00:45:46 -0800 (PST) Received: from ?IPV6:2a01:e0a:e17:9700:16d2:7456:6634:9626? ([2a01:e0a:e17:9700:16d2:7456:6634:9626]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38dc565d62dsm13024751f8f.93.2025.02.11.00.45.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Feb 2025 00:45:45 -0800 (PST) Message-ID: Date: Tue, 11 Feb 2025 09:45:44 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 2/6] RISC-V: add vector crypto extension validation checks To: Conor Dooley , linux-riscv@lists.infradead.org Cc: Conor Dooley , Eric Biggers , Rob Herring , Krzysztof Kozlowski , Paul Walmsley , Palmer Dabbelt , Andy Chiu , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20250205-cobbler-unpadded-5580c1f5d946@spud> <20250205-quench-entrench-09bed8c8c823@spud> Content-Language: en-US From: =?UTF-8?B?Q2zDqW1lbnQgTMOpZ2Vy?= In-Reply-To: <20250205-quench-entrench-09bed8c8c823@spud> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_004547_914953_7B548AA5 X-CRM114-Status: GOOD ( 30.56 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org CgpPbiAwNS8wMi8yMDI1IDE3OjA1LCBDb25vciBEb29sZXkgd3JvdGU6Cj4gRnJvbTogQ29ub3Ig RG9vbGV5IDxjb25vci5kb29sZXlAbWljcm9jaGlwLmNvbT4KPiAKPiBVc2luZyBDbGVtZW50J3Mg bmV3IHZhbGlkYXRpb24gY2FsbGJhY2tzLCBzdXBwb3J0IGNoZWNraW5nIHRoYXQKPiBkZXBlbmRl bmNpZXMgaGF2ZSBiZWVuIHNhdGlzZmllZCBmb3IgdGhlIHZlY3RvciBjcnB5dG8gZXh0ZW5zaW9u cy4KPiBDdXJyZW50bHkgcmlzY3ZfaXNhX2V4dGVuc2lvbl9hdmFpbGFibGUoPHZlY3RvciBjcnlw dG8+KSB3aWxsIHJldHVybgo+IHRydWUgb24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgdGhlIGV4dGVu c2lvbnMgYnV0IHZlY3RvciBpdHNlbGYgaGFzIGJlZW4KPiBkaXNhYmxlZCBieSB0aGUga2VybmVs LCBhZGRpbmcgdmFsaWRhdGlvbiBjYWxsYmFja3Mgd2lsbCBwcmV2ZW50IHN1Y2ggYQo+IHNjZW5h cmlvIGZyb20gb2NjdXJpbmcgYW5kIG1ha2UgdGhlIGJlaGF2aW91ciBvZiB0aGUgZXh0ZW5zaW9u IGRldGVjdGlvbgo+IGZ1bmN0aW9ucyBtb3JlIGNvbnNpc3RlbnQgd2l0aCB1c2VyIGV4cGVjdGF0 aW9ucyAtIGl0J3Mgbm90IGV4cGVjdGVkIHRvCj4gaGF2ZSB0byBjaGVjayBmb3IgdmVjdG9yIEFO RCB0aGUgc3BlY2lmaWMgY3J5cHRvIGV4dGVuc2lvbi4KPiAKPiBUaGUgMS4wLjAgVmVjdG9yIGNy eXB0byBzcGVjIHN0YXRlczoKPiAJVGhlIFp2a25oYiBhbmQgWnZiYyBWZWN0b3IgQ3J5cHRvIEV4 dGVuc2lvbnMgLS1hbmQgYWNjb3JkaW5nbHkKPiAJdGhlIGNvbXBvc2l0ZSBleHRlbnNpb25zIFp2 a24gYW5kIFp2a3MtLSByZXF1aXJlIGEgWnZlNjR4IGJhc2UsCj4gCW9yIGFwcGxpY2F0aW9uICgi ViIpIGJhc2UgVmVjdG9yIEV4dGVuc2lvbi4gQWxsIG9mIHRoZSBvdGhlcgo+IAlWZWN0b3IgQ3J5 cHRvIEV4dGVuc2lvbnMgY2FuIGJlIGJ1aWx0IG9uIGFueSBlbWJlZGRlZCAoWnZlKikgb3IKPiAJ YXBwbGljYXRpb24gKCJWIikgYmFzZSBWZWN0b3IgRXh0ZW5zaW9uLgo+IGFuZCB0aGlzIGNvdWxk IGJlIHVzZWQgYXMgdGhlIGJhc2lzIGZvciBjaGVja2luZyB0aGF0IHRoZSBjb3JyZWN0IGJhc2UK PiBmb3IgaW5kaXZpZHVhbCBjcnlwdG8gZXh0ZW5zaW9ucywgYnV0IHRoYXQncyBub3QgcmVhbGx5 IHRoZSBrZXJuZWwncyBqb2IKPiBpbiBteSBvcGluaW9uIGFuZCBpdCBpcyBzdWZmaWNpZW50IHRv IGxlYXZlIHRoYXQgc29ydCBvZiBwcmVjaXNpb24gdG8KPiB0aGUgZHQtYmluZGluZ3MuIFRoZSBr ZXJuZWwgb25seSBuZWVkcyB0byBtYWtlIHN1cmUgdGhhdCB2ZWN0b3IsIGluIHNvbWUKPiBmb3Jt LCBpcyBhdmFpbGFibGUuCj4gCj4gU2luY2UgdmVjdG9yIHdpbGwgbm93IGJlIGRpc2FibGVkIHBy b2FjdGl2ZWx5LCB0aGVyZSdzIG5vIG5lZWQgdG8gY2xlYXIKPiB0aGUgYml0IGluIGVsZl9od2Nh cCBpbiByaXNjdl9maWxsX2h3Y2FwKCkgYW55IGxvbmdlci4KPiAKPiBMaW5rOiBodHRwczovL2dp dGh1Yi5jb20vcmlzY3YvcmlzY3YtY3J5cHRvL3JlbGVhc2VzL3RhZy92MS4wLjAKPiBTaWduZWQt b2ZmLWJ5OiBDb25vciBEb29sZXkgPGNvbm9yLmRvb2xleUBtaWNyb2NoaXAuY29tPgo+IC0tLQo+ ICBhcmNoL3Jpc2N2L2tlcm5lbC9jcHVmZWF0dXJlLmMgfCA0OSArKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAxNiBk ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvY3B1ZmVhdHVy ZS5jIGIvYXJjaC9yaXNjdi9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4gaW5kZXggNDBhMjRiMDhkOTA1 Li4xYzE0OGVjZWE2MTIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvY3B1ZmVhdHVy ZS5jCj4gKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4gQEAgLTEzOCw2ICsx MzgsMjMgQEAgc3RhdGljIGludCByaXNjdl9leHRfdmVjdG9yX2Zsb2F0X3ZhbGlkYXRlKGNvbnN0 IHN0cnVjdCByaXNjdl9pc2FfZXh0X2RhdGEgKmRhdGEKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ ICtzdGF0aWMgaW50IHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKGNvbnN0IHN0cnVj dCByaXNjdl9pc2FfZXh0X2RhdGEgKmRhdGEsCj4gKwkJCQkJICAgIGNvbnN0IHVuc2lnbmVkIGxv bmcgKmlzYV9iaXRtYXApCj4gK3sKPiArCWlmICghSVNfRU5BQkxFRChDT05GSUdfUklTQ1ZfSVNB X1YpKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCS8qCj4gKwkgKiBJdCBpc24ndCB0aGUg a2VybmVsJ3Mgam9iIHRvIGNoZWNrIHRoYXQgdGhlIGJpbmRpbmcgaXMgY29ycmVjdCwgc28KPiAr CSAqIGl0IHNob3VsZCBiZSBlbm91Z2ggdG8gY2hlY2sgdGhhdCBhbnkgb2YgdGhlIHZlY3RvciBl eHRlbnNpb25zIGFyZQo+ICsJICogZW5hYmxlZCwgd2hpY2ggaW4tdHVybiBtZWFucyB0aGF0IHZl Y3RvciBpcyB1c2FibGUgaW4gdGhpcyBrZXJuZWwKPiArCSAqLwo+ICsJaWYgKCFfX3Jpc2N2X2lz YV9leHRlbnNpb25fYXZhaWxhYmxlKGlzYV9iaXRtYXAsIFJJU0NWX0lTQV9FWFRfWlZFMzJYKSkK PiArCQlyZXR1cm4gLUVJTlZBTDsKCkFmdGVyIGEgc2Vjb25kIHRob3VnaHQsIEkgdGhpbmsgaXQg c2hvdWxkIGJlIHRoaXM6CgppZiAoX19yaXNjdl9pc2FfZXh0ZW5zaW9uX2F2YWlsYWJsZShpc2Ff Yml0bWFwLCBSSVNDVl9JU0FfRVhUX1pWRTMyWCkpCglyZXR1cm4gMDsKCnJldHVybiAtRVBST0JF REVGRVI7CgpFeHRlbnNpb25zIGNhbiBiZSBlbmFibGVkIGxhdGVyIChidXQgY2FuIG5vdCBiZSAi cmV2ZXJ0ZWQiKSBzbyBjaGVjayBmb3IKdGhlIGV4dGVuc2lvbiB0byBiZSBwcmVzZW50IChpbiB3 aGljaCBjYXNlIGl0J3Mgb2spLCBvciB3YWl0IGZvciBpdCB0bwpiZSAocG90ZW50aWFsbHkpIGVu YWJsZWQuCgpUaGFua3MsCgpDbMOpbWVudAoKPiArCj4gKwlyZXR1cm4gMDsKPiArfQoKPiArCj4g IHN0YXRpYyBpbnQgcmlzY3ZfZXh0X3pjYV9kZXBlbmRzKGNvbnN0IHN0cnVjdCByaXNjdl9pc2Ff ZXh0X2RhdGEgKmRhdGEsCj4gIAkJCQkgY29uc3QgdW5zaWduZWQgbG9uZyAqaXNhX2JpdG1hcCkK PiAgewo+IEBAIC0zOTcsOCArNDE0LDggQEAgY29uc3Qgc3RydWN0IHJpc2N2X2lzYV9leHRfZGF0 YSByaXNjdl9pc2FfZXh0W10gPSB7Cj4gIAlfX1JJU0NWX0lTQV9FWFRfREFUQSh6a3NlZCwgUklT Q1ZfSVNBX0VYVF9aS1NFRCksCj4gIAlfX1JJU0NWX0lTQV9FWFRfREFUQSh6a3NoLCBSSVNDVl9J U0FfRVhUX1pLU0gpLAo+ICAJX19SSVNDVl9JU0FfRVhUX0RBVEEoenRzbywgUklTQ1ZfSVNBX0VY VF9aVFNPKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9TVVBFUlNFVCh6dmJiLCBSSVNDVl9JU0FfRVhU X1pWQkIsIHJpc2N2X3p2YmJfZXh0cyksCj4gLQlfX1JJU0NWX0lTQV9FWFRfREFUQSh6dmJjLCBS SVNDVl9JU0FfRVhUX1pWQkMpLAo+ICsJX19SSVNDVl9JU0FfRVhUX1NVUEVSU0VUX1ZBTElEQVRF KHp2YmIsIFJJU0NWX0lTQV9FWFRfWlZCQiwgcmlzY3ZfenZiYl9leHRzLCByaXNjdl9leHRfdmVj dG9yX3hfdmFsaWRhdGUpLAo+ICsJX19SSVNDVl9JU0FfRVhUX0RBVEFfVkFMSURBVEUoenZiYywg UklTQ1ZfSVNBX0VYVF9aVkJDLCByaXNjdl9leHRfdmVjdG9yX2NyeXB0b192YWxpZGF0ZSksCj4g IAlfX1JJU0NWX0lTQV9FWFRfU1VQRVJTRVRfVkFMSURBVEUoenZlMzJmLCBSSVNDVl9JU0FfRVhU X1pWRTMyRiwgcmlzY3ZfenZlMzJmX2V4dHMsIHJpc2N2X2V4dF92ZWN0b3JfZmxvYXRfdmFsaWRh dGUpLAo+ICAJX19SSVNDVl9JU0FfRVhUX0RBVEFfVkFMSURBVEUoenZlMzJ4LCBSSVNDVl9JU0Ff RVhUX1pWRTMyWCwgcmlzY3ZfZXh0X3ZlY3Rvcl94X3ZhbGlkYXRlKSwKPiAgCV9fUklTQ1ZfSVNB X0VYVF9TVVBFUlNFVF9WQUxJREFURSh6dmU2NGQsIFJJU0NWX0lTQV9FWFRfWlZFNjRELCByaXNj dl96dmU2NGRfZXh0cywgcmlzY3ZfZXh0X3ZlY3Rvcl9mbG9hdF92YWxpZGF0ZSksCj4gQEAgLTQw NiwyMCArNDIzLDIwIEBAIGNvbnN0IHN0cnVjdCByaXNjdl9pc2FfZXh0X2RhdGEgcmlzY3ZfaXNh X2V4dFtdID0gewo+ICAJX19SSVNDVl9JU0FfRVhUX1NVUEVSU0VUX1ZBTElEQVRFKHp2ZTY0eCwg UklTQ1ZfSVNBX0VYVF9aVkU2NFgsIHJpc2N2X3p2ZTY0eF9leHRzLCByaXNjdl9leHRfdmVjdG9y X3hfdmFsaWRhdGUpLAo+ICAJX19SSVNDVl9JU0FfRVhUX0RBVEEoenZmaCwgUklTQ1ZfSVNBX0VY VF9aVkZIKSwKPiAgCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHp2ZmhtaW4sIFJJU0NWX0lTQV9FWFRf WlZGSE1JTiksCj4gLQlfX1JJU0NWX0lTQV9FWFRfREFUQSh6dmtiLCBSSVNDVl9JU0FfRVhUX1pW S0IpLAo+IC0JX19SSVNDVl9JU0FfRVhUX0RBVEEoenZrZywgUklTQ1ZfSVNBX0VYVF9aVktHKSwK PiAtCV9fUklTQ1ZfSVNBX0VYVF9CVU5ETEUoenZrbiwgcmlzY3ZfenZrbl9idW5kbGVkX2V4dHMp LAo+IC0JX19SSVNDVl9JU0FfRVhUX0JVTkRMRSh6dmtuYywgcmlzY3ZfenZrbmNfYnVuZGxlZF9l eHRzKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHp2a25lZCwgUklTQ1ZfSVNBX0VYVF9aVktO RUQpLAo+IC0JX19SSVNDVl9JU0FfRVhUX0JVTkRMRSh6dmtuZywgcmlzY3ZfenZrbmdfYnVuZGxl ZF9leHRzKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHp2a25oYSwgUklTQ1ZfSVNBX0VYVF9a VktOSEEpLAo+IC0JX19SSVNDVl9JU0FfRVhUX0RBVEEoenZrbmhiLCBSSVNDVl9JU0FfRVhUX1pW S05IQiksCj4gLQlfX1JJU0NWX0lTQV9FWFRfQlVORExFKHp2a3MsIHJpc2N2X3p2a3NfYnVuZGxl ZF9leHRzKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9CVU5ETEUoenZrc2MsIHJpc2N2X3p2a3NjX2J1 bmRsZWRfZXh0cyksCj4gLQlfX1JJU0NWX0lTQV9FWFRfREFUQSh6dmtzZWQsIFJJU0NWX0lTQV9F WFRfWlZLU0VEKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9EQVRBKHp2a3NoLCBSSVNDVl9JU0FfRVhU X1pWS1NIKSwKPiAtCV9fUklTQ1ZfSVNBX0VYVF9CVU5ETEUoenZrc2csIHJpc2N2X3p2a3NnX2J1 bmRsZWRfZXh0cyksCj4gLQlfX1JJU0NWX0lTQV9FWFRfREFUQSh6dmt0LCBSSVNDVl9JU0FfRVhU X1pWS1QpLAo+ICsJX19SSVNDVl9JU0FfRVhUX0RBVEFfVkFMSURBVEUoenZrYiwgUklTQ1ZfSVNB X0VYVF9aVktCLCByaXNjdl9leHRfdmVjdG9yX2NyeXB0b192YWxpZGF0ZSksCj4gKwlfX1JJU0NW X0lTQV9FWFRfREFUQV9WQUxJREFURSh6dmtnLCBSSVNDVl9JU0FfRVhUX1pWS0csIHJpc2N2X2V4 dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKSwKPiArCV9fUklTQ1ZfSVNBX0VYVF9CVU5ETEVfVkFM SURBVEUoenZrbiwgcmlzY3ZfenZrbl9idW5kbGVkX2V4dHMsIHJpc2N2X2V4dF92ZWN0b3JfY3J5 cHRvX3ZhbGlkYXRlKSwKPiArCV9fUklTQ1ZfSVNBX0VYVF9CVU5ETEVfVkFMSURBVEUoenZrbmMs IHJpc2N2X3p2a25jX2J1bmRsZWRfZXh0cywgcmlzY3ZfZXh0X3ZlY3Rvcl9jcnlwdG9fdmFsaWRh dGUpLAo+ICsJX19SSVNDVl9JU0FfRVhUX0RBVEFfVkFMSURBVEUoenZrbmVkLCBSSVNDVl9JU0Ff RVhUX1pWS05FRCwgcmlzY3ZfZXh0X3ZlY3Rvcl9jcnlwdG9fdmFsaWRhdGUpLAo+ICsJX19SSVND Vl9JU0FfRVhUX0JVTkRMRV9WQUxJREFURSh6dmtuZywgcmlzY3ZfenZrbmdfYnVuZGxlZF9leHRz LCByaXNjdl9leHRfdmVjdG9yX2NyeXB0b192YWxpZGF0ZSksCj4gKwlfX1JJU0NWX0lTQV9FWFRf REFUQV9WQUxJREFURSh6dmtuaGEsIFJJU0NWX0lTQV9FWFRfWlZLTkhBLCByaXNjdl9leHRfdmVj dG9yX2NyeXB0b192YWxpZGF0ZSksCj4gKwlfX1JJU0NWX0lTQV9FWFRfREFUQV9WQUxJREFURSh6 dmtuaGIsIFJJU0NWX0lTQV9FWFRfWlZLTkhCLCByaXNjdl9leHRfdmVjdG9yX2NyeXB0b192YWxp ZGF0ZSksCj4gKwlfX1JJU0NWX0lTQV9FWFRfQlVORExFX1ZBTElEQVRFKHp2a3MsIHJpc2N2X3p2 a3NfYnVuZGxlZF9leHRzLCByaXNjdl9leHRfdmVjdG9yX2NyeXB0b192YWxpZGF0ZSksCj4gKwlf X1JJU0NWX0lTQV9FWFRfQlVORExFX1ZBTElEQVRFKHp2a3NjLCByaXNjdl96dmtzY19idW5kbGVk X2V4dHMsIHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKSwKPiArCV9fUklTQ1ZfSVNB X0VYVF9EQVRBX1ZBTElEQVRFKHp2a3NlZCwgUklTQ1ZfSVNBX0VYVF9aVktTRUQsIHJpc2N2X2V4 dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKSwKPiArCV9fUklTQ1ZfSVNBX0VYVF9EQVRBX1ZBTElE QVRFKHp2a3NoLCBSSVNDVl9JU0FfRVhUX1pWS1NILCByaXNjdl9leHRfdmVjdG9yX2NyeXB0b192 YWxpZGF0ZSksCj4gKwlfX1JJU0NWX0lTQV9FWFRfQlVORExFX1ZBTElEQVRFKHp2a3NnLCByaXNj dl96dmtzZ19idW5kbGVkX2V4dHMsIHJpc2N2X2V4dF92ZWN0b3JfY3J5cHRvX3ZhbGlkYXRlKSwK PiArCV9fUklTQ1ZfSVNBX0VYVF9EQVRBX1ZBTElEQVRFKHp2a3QsIFJJU0NWX0lTQV9FWFRfWlZL VCwgcmlzY3ZfZXh0X3ZlY3Rvcl9jcnlwdG9fdmFsaWRhdGUpLAo+ICAJX19SSVNDVl9JU0FfRVhU X0RBVEEoc21haWEsIFJJU0NWX0lTQV9FWFRfU01BSUEpLAo+ICAJX19SSVNDVl9JU0FfRVhUX0RB VEEoc21tcG0sIFJJU0NWX0lTQV9FWFRfU01NUE0pLAo+ICAJX19SSVNDVl9JU0FfRVhUX1NVUEVS U0VUKHNtbnBtLCBSSVNDVl9JU0FfRVhUX1NNTlBNLCByaXNjdl94bGludXhlbnZjZmdfZXh0cyks CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt cmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=