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 26BA7C282C5 for ; Mon, 3 Mar 2025 06:53: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-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=tprHxyx+FTrCCr+AcDfcFcn6SJ+ZnxO0ACoWjQxx5Oc=; b=KuEi6nATthTez4 CfasHU/5qh432LKVULxzYtlLrvEqTpcZi8+NOFQGTmQzhl807T0/i+CnyZSJIYRoLuYd7bM9e1f4S ZrvC9poWOaDZXdWb4oj8aK9oKCsyGZdoc8hJMMw+wf/Mp0UPlOh6NMq425HmrmPEnmbrQYP0qnNtJ o7fYwExn6Rk+8ee9lWZlcufM8aLEhITKiY/VbGbW/MgroEuSXHFVfm5jc6+J+GMLQGPcURQrJjur/ l9nKBaL/zQ82S48RxnCIhb8AmiLVx8odT/HRkLY3RfSD9xOvHwHmgsaTYdzTrviSE/xt3GDT9YjCW iZBPUV2AkfBZRdQbdnXQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tozg7-0000000HMI9-2uHz; Mon, 03 Mar 2025 06:53:27 +0000 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tozg5-0000000HMHj-3CCj for linux-riscv@lists.infradead.org; Mon, 03 Mar 2025 06:53:27 +0000 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2233622fdffso77874115ad.2 for ; Sun, 02 Mar 2025 22:53:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740984804; x=1741589604; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=0VDfBl/g+euIY5A7idLgNTsyB1EqJtuEAA78H1xpF24=; b=O/UYSvMoE2KjStZ4HxtkBvoiZ+hV86OVDXK6iWzrY8DITwKQ3yqDgM9Yu9RI8AN0f+ GGh8zj5rTcPToG+WXLYZaNlrNXcBbpRZCiFUR4RlqEH3shIu65EOUUSaGQuYDkhhHJ9Y ELpQOrdnQXb0FSnnhSvaNo+h85qczhINRTqF4r0jzvRaaatAtX02cz9w770G8U7cwton PlGZQHE6GQwfyA9udFocb1uYmHui/GMXa9TrHjHQpsnvrA+67NLjmmoSEu5SyCwner4T WqJvg5DoHKDV+c1GsqRTCbft/8p3VsXCC+lUJrDSWNRV8quP/luSvmGvG0+jXPQWvfnC RLug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740984804; x=1741589604; h=content-transfer-encoding:in-reply-to:from: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=0VDfBl/g+euIY5A7idLgNTsyB1EqJtuEAA78H1xpF24=; b=DKh1BaMT+1JbookNcks5kOUnzvbCwyGHB5OYphpUog5t8nahKheDTiMGRkJHVmxzyf BJvSlHRkm2rM175M0u37nBNLgcbhvK1F3+l/mwH/AWtGb6NsvFDzRYQae4RWhff0G8y3 cjnm4h4t/1ityQdzk/eyLoW68FgeB3sAWLdjBFSL+DTuxUqU3P0FU1/jVwXdDZFtmscI Nk9KQ1MH4XdskdvbuD65FmhAm7wYtpJnkTAOqWV63c3wBEwY/oLg6jcfjwkY0NbAmEbn TOyUu6SoCPufA1dhiq9LHsef12OkL1LmXsziI9Fc9XFFnWbNcp1T26xlDzj2nCIsIfLI hUYQ== X-Forwarded-Encrypted: i=1; AJvYcCUsieFXVUFSlflR6QXAklT47bg39T+WJzdKUnEHEYvzpYLMZqyIdOOafBnBhE0tc2jt6N252/7z47bV/w==@lists.infradead.org X-Gm-Message-State: AOJu0YyTOB35EuJXrbivLnbQ90ziwIPzIqjGYf8jmI3pms5FLAEYP9T+ BBJVgdtLadFhbJoNbtEja1ModF+qwTUkTMoyBgZhaAguDSoP1o8K X-Gm-Gg: ASbGncsGuzqTpJrOf2RG5/NzHZ6/X8eIuGEXB9uiLVOAMOCKNefetrzM+RgzzPgNTlv iwgo+C6IvltD0ckfd5os9LXZYPnAptitirvM1v96MQRHmyQeAlv4QFQyKqgjiY3uwGv4wCuUbx0 seZC6TAAgUj3cF9CZ2bdhZTSuAweh1+ROKdn/jsx1qlhuNDHevgL87Zfi+Uz8kvg47gdehF5v2o OCzYhg71UVcJC4D54KuaDCoQyTj+yAikRaiqvRC7o0DmI5/lpPIBjZn0bwX30q4mzyV65/1yE/7 fZ7Ief3nfWmwk24R5S22z3wBCXZpsdOX7yGVMov9EXD70BtvPl0zkAPNSI1/V1T+6ILMCsb3jXc 9kXpkqAXwDqvJUWXZDY2wxBapXxpbKg4L X-Google-Smtp-Source: AGHT+IHwrJ0Bmez936adXWPCRV+8RVc6i1HjyAM+ze8/4qWNJCAHMwpEooQ5K33kkR0L8GbXxESxDQ== X-Received: by 2002:a05:6a00:2d1d:b0:736:4536:26cc with SMTP id d2e1a72fcca58-73645362c6fmr7093262b3a.23.1740984804256; Sun, 02 Mar 2025 22:53:24 -0800 (PST) Received: from ?IPV6:2408:8411:5468:b0:ddf2:d4b5:e1cb:9275? ([2408:8411:5468:b0:ddf2:d4b5:e1cb:9275]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-736657f9920sm67659b3a.50.2025.03.02.22.53.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 02 Mar 2025 22:53:23 -0800 (PST) Message-ID: <076b12ae-91c7-44a1-b616-f4b6d36f4d5d@gmail.com> Date: Mon, 3 Mar 2025 14:53:17 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 0/4] RISC-V CRC optimizations To: =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , Eric Biggers , linux-kernel@vger.kernel.org Cc: linux-crypto@vger.kernel.org, linux-riscv@lists.infradead.org, Ard Biesheuvel , Xiao Wang , Charlie Jenkins , Alexandre Ghiti References: <20250216225530.306980-1-ebiggers@kernel.org> <20250224180614.GA11336@google.com> <87ikorl0r5.fsf@all.your.base.are.belong.to.us> From: Zhihang Shao In-Reply-To: <87ikorl0r5.fsf@all.your.base.are.belong.to.us> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_225325_803758_8FCDA50A X-CRM114-Status: GOOD ( 18.28 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gMjAyNS8zLzMgMjo1NiwgQmrDtnJuIFTDtnBlbCB3cm90ZToKCj4gRXJpYyEKPgo+IEVyaWMg QmlnZ2VycyA8ZWJpZ2dlcnNAa2VybmVsLm9yZz4gd3JpdGVzOgo+Cj4+IE9uIFN1biwgRmViIDE2 LCAyMDI1IGF0IDAyOjU1OjI2UE0gLTA4MDAsIEVyaWMgQmlnZ2VycyB3cm90ZToKPj4+IFRoaXMg cGF0Y2hzZXQgaXMgYSByZXBsYWNlbWVudCBmb3IKPj4+ICJbUEFUQ0ggdjRdIHJpc2N2OiBPcHRp bWl6ZSBjcmN0MTBkaWYgd2l0aCBaYmMgZXh0ZW5zaW9uIgo+Pj4gKGh0dHBzOi8vbG9yZS5rZXJu ZWwub3JnL3IvMjAyNTAyMTEwNzExMDEuMTgxNjUyLTEtemhpaGFuZy5zaGFvLmlzY2FzQGdtYWls LmNvbS8pLgo+Pj4gSXQgYWRvcHRzIHRoZSBhcHByb2FjaCB0aGF0IEknbSB0YWtpbmcgZm9yIHg4 NiB3aGVyZSBjb2RlIGlzIHNoYXJlZAo+Pj4gYW1vbmcgQ1JDIHZhcmlhbnRzLiAgSXQgcmVwbGFj ZXMgdGhlIGV4aXN0aW5nIFpiYyBvcHRpbWl6ZWQgQ1JDMzIKPj4+IGZ1bmN0aW9ucywgdGhlbiBh ZGRzIFpiYyBvcHRpbWl6ZWQgQ1JDLVQxMERJRiBhbmQgQ1JDNjQgZnVuY3Rpb25zLgo+Pj4KPj4+ IFRoaXMgbmV3IGNvZGUgc2hvdWxkIGJlIHNpZ25pZmljYW50bHkgZmFzdGVyIHRoYW4gdGhlIGN1 cnJlbnQgWmJjCj4+PiBvcHRpbWl6ZWQgQ1JDMzIgY29kZSBhbmQgdGhlIHByZXZpb3VzbHkgcHJv cG9zZWQgQ1JDLVQxMERJRiBjb2RlLiAgSXQKPj4+IHVzZXMgImZvbGRpbmciIGluc3RlYWQgb2Yg anVzdCBCYXJyZXR0IHJlZHVjdGlvbiwgYW5kIGl0IGFsc28gaW1wbGVtZW50cwo+Pj4gQmFycmV0 dCByZWR1Y3Rpb24gbW9yZSBlZmZpY2llbnRseS4KPj4+Cj4+PiBUaGlzIGFwcGxpZXMgdG8gY3Jj LW5leHQgYXQKPj4+IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwv Z2l0L2ViaWdnZXJzL2xpbnV4LmdpdC9sb2cvP2g9Y3JjLW5leHQuCj4+PiBJdCBkZXBlbmRzIG9u IG90aGVyIHBhdGNoZXMgdGhhdCBhcmUgcXVldWVkIHRoZXJlIGZvciA2LjE1LCBzbyBJIHBsYW4g dG8KPj4+IHRha2UgaXQgdGhyb3VnaCB0aGVyZSBpZiB0aGVyZSBhcmUgbm8gb2JqZWN0aW9ucy4K Pj4+Cj4+PiBUZXN0ZWQgd2l0aCBjcmNfa3VuaXQgaW4gUUVNVSAoc2V0IENPTkZJR19DUkNfS1VO SVRfVEVTVD15IGFuZAo+Pj4gQ09ORklHX0NSQ19CRU5DSE1BUks9eSksIGJvdGggMzItYml0IGFu ZCA2NC1iaXQuICBJIGRvbid0IGhhdmUgcmVhbCBaYmMKPj4+IGNhcGFibGUgaGFyZHdhcmUgdG8g YmVuY2htYXJrIHRoaXMgb24sIGJ1dCB0aGUgbmV3IGNvZGUgc2hvdWxkIHdvcmsgdmVyeQo+Pj4g d2VsbDsgc2ltaWxhciBvcHRpbWl6YXRpb25zIHdvcmsgdmVyeSB3ZWxsIG9uIG90aGVyIGFyY2hp dGVjdHVyZXMuCj4+IEFueSBmZWVkYmFjayBvbiB0aGlzIHNlcmllcyBmcm9tIHRoZSBSSVNDLVYg c2lkZT8KPiBJIGhhdmUgbm90IHJldmlld2VkIHlvdXIgc2VyaWVzLCBidXQgSSBkaWQgYSB0ZXN0 cnVuIHRoZSBNaWxrLVYgSnVwaXRlcgo+IHdoaWNoIHNwb3J0cyBhIFNwYWNlbWl0IEsxIHRoYXQg aGFzIFpiYy4KPgo+IEkgYmFzZWQgdGhlIHJ1biBvbiBjb21taXQgMTk3MzE2MGM5MGQ3ICgiTWVy Z2UgdGFnCj4gJ2dwaW8tZml4ZXMtZm9yLXY2LjE0LXJjNScgb2YKPiBnaXQ6Ly9naXQua2VybmVs Lm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvYnJnbC9saW51eCIpLCBwbHVzIHlvdXIKPiBj cmMtbmV4dCBicmFuY2ggKGNvbW1pdCBhMGJkNDYyZjNhMTMgKCJ4ODYvY3JjOiBhZGQgQU5OT1RB VEVfTk9FTkRCUiB0bwo+IHN1cHByZXNzIG9ianRvb2wgd2FybmluZ3MiKSkgbWVyZ2VkOgo+Cj4g ICAgfCAtLS0gYmFzZTEudHh0CTIwMjUtMDMtMDIgMTg6MzE6MTYuMTY5NDM4ODc2ICswMDAwCj4g ICAgfCArKysgZXJpYy50eHQJMjAyNS0wMy0wMiAxODozNTo1OC42ODMwMTcyMjMgKzAwMDAKPiAg ICB8IEBAIC0xMSw3ICsxMSw3IEBACj4gICAgfCAgICAgICMgY3JjMTZfYmVuY2htYXJrOiBsZW49 MTI3OiAxNTMgTUIvcwo+ICAgIHwgICAgICAjIGNyYzE2X2JlbmNobWFyazogbGVuPTEyODogMTUz IE1CL3MKPiAgICB8ICAgICAgIyBjcmMxNl9iZW5jaG1hcms6IGxlbj0yMDA6IDE1MyBNQi9zCj4g ICAgfCAtICAgICMgY3JjMTZfYmVuY2htYXJrOiBsZW49MjU2OiAxNTMgTUIvcwo+ICAgIHwgKyAg ICAjIGNyYzE2X2JlbmNobWFyazogbGVuPTI1NjogMTU0IE1CL3MKPiAgICB8ICAgICAgIyBjcmMx Nl9iZW5jaG1hcms6IGxlbj01MTE6IDE1NCBNQi9zCj4gICAgfCAgICAgICMgY3JjMTZfYmVuY2ht YXJrOiBsZW49NTEyOiAxNTQgTUIvcwo+ICAgIHwgICAgICAjIGNyYzE2X2JlbmNobWFyazogbGVu PTEwMjQ6IDE1NSBNQi9zCj4gICAgfCBAQCAtMjAsOTQgKzIwLDk0IEBACj4gICAgfCAgICAgICMg Y3JjMTZfYmVuY2htYXJrOiBsZW49MTYzODQ6IDE1NSBNQi9zCj4gICAgfCAgICAgIG9rIDIgY3Jj MTZfYmVuY2htYXJrCj4gICAgfCAgICAgIG9rIDMgY3JjX3QxMGRpZl90ZXN0Cj4gICAgfCAtICAg ICMgY3JjX3QxMGRpZl9iZW5jaG1hcms6IGxlbj0xOiA0OCBNQi9zCj4gICAgfCAtICAgICMgY3Jj X3QxMGRpZl9iZW5jaG1hcms6IGxlbj0xNjogMTI1IE1CL3MKPiAgICB8IC0gICAgIyBjcmNfdDEw ZGlmX2JlbmNobWFyazogbGVuPTY0OiAxMzYgTUIvcwo+ICAgIHwgLSAgICAjIGNyY190MTBkaWZf YmVuY2htYXJrOiBsZW49MTI3OiAxMzggTUIvcwo+ICAgIHwgLSAgICAjIGNyY190MTBkaWZfYmVu Y2htYXJrOiBsZW49MTI4OiAxMzggTUIvcwo+ICAgIHwgLSAgICAjIGNyY190MTBkaWZfYmVuY2ht YXJrOiBsZW49MjAwOiAxMzggTUIvcwo+ICAgIHwgLSAgICAjIGNyY190MTBkaWZfYmVuY2htYXJr OiBsZW49MjU2OiAxMzggTUIvcwo+ICAgIHwgLSAgICAjIGNyY190MTBkaWZfYmVuY2htYXJrOiBs ZW49NTExOiAxMzkgTUIvcwo+ICAgIHwgLSAgICAjIGNyY190MTBkaWZfYmVuY2htYXJrOiBsZW49 NTEyOiAxMzkgTUIvcwo+ICAgIHwgLSAgICAjIGNyY190MTBkaWZfYmVuY2htYXJrOiBsZW49MTAy NDogMTM5IE1CL3MKPiAgICB8IC0gICAgIyBjcmNfdDEwZGlmX2JlbmNobWFyazogbGVuPTMxNzM6 IDE0MCBNQi9zCj4gICAgfCAtICAgICMgY3JjX3QxMGRpZl9iZW5jaG1hcms6IGxlbj00MDk2OiAx NDAgTUIvcwo+ICAgIHwgLSAgICAjIGNyY190MTBkaWZfYmVuY2htYXJrOiBsZW49MTYzODQ6IDE0 MCBNQi9zCj4gICAgfCArICAgICMgY3JjX3QxMGRpZl9iZW5jaG1hcms6IGxlbj0xOiAyOCBNQi9z Cj4gICAgfCArICAgICMgY3JjX3QxMGRpZl9iZW5jaG1hcms6IGxlbj0xNjogMjM2IE1CL3MKPiAg ICB8ICsgICAgIyBjcmNfdDEwZGlmX2JlbmNobWFyazogbGVuPTY0OiA0NTAgTUIvcwo+ICAgIHwg KyAgICAjIGNyY190MTBkaWZfYmVuY2htYXJrOiBsZW49MTI3OiA0ODAgTUIvcwo+ICAgIHwgKyAg ICAjIGNyY190MTBkaWZfYmVuY2htYXJrOiBsZW49MTI4OiA1NDAgTUIvcwo+ICAgIHwgKyAgICAj IGNyY190MTBkaWZfYmVuY2htYXJrOiBsZW49MjAwOiA1NTkgTUIvcwo+ICAgIHwgKyAgICAjIGNy Y190MTBkaWZfYmVuY2htYXJrOiBsZW49MjU2OiA2MDAgTUIvcwo+ICAgIHwgKyAgICAjIGNyY190 MTBkaWZfYmVuY2htYXJrOiBsZW49NTExOiA2MTMgTUIvcwo+ICAgIHwgKyAgICAjIGNyY190MTBk aWZfYmVuY2htYXJrOiBsZW49NTEyOiA2MzUgTUIvcwo+ICAgIHwgKyAgICAjIGNyY190MTBkaWZf YmVuY2htYXJrOiBsZW49MTAyNDogNjU0IE1CL3MKPiAgICB8ICsgICAgIyBjcmNfdDEwZGlmX2Jl bmNobWFyazogbGVuPTMxNzM6IDY2NSBNQi9zCj4gICAgfCArICAgICMgY3JjX3QxMGRpZl9iZW5j aG1hcms6IGxlbj00MDk2OiA2NjkgTUIvcwo+ICAgIHwgKyAgICAjIGNyY190MTBkaWZfYmVuY2ht YXJrOiBsZW49MTYzODQ6IDY3MyBNQi9zCj4gICAgfCAgICAgIG9rIDQgY3JjX3QxMGRpZl9iZW5j aG1hcmsKPiAgICB8ICAgICAgb2sgNSBjcmMzMl9sZV90ZXN0Cj4gICAgfCAgICAgICMgY3JjMzJf bGVfYmVuY2htYXJrOiBsZW49MTogMzEgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzMyX2xlX2JlbmNo bWFyazogbGVuPTE2OiA0NTYgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzMyX2xlX2JlbmNobWFyazog bGVuPTY0OiA2ODIgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzMyX2xlX2JlbmNobWFyazogbGVuPTEy NzogNjIwIE1CL3MKPiAgICB8IC0gICAgIyBjcmMzMl9sZV9iZW5jaG1hcms6IGxlbj0xMjg6IDc0 NCBNQi9zCj4gICAgfCAtICAgICMgY3JjMzJfbGVfYmVuY2htYXJrOiBsZW49MjAwOiA3NjggTUIv cwo+ICAgIHwgLSAgICAjIGNyYzMyX2xlX2JlbmNobWFyazogbGVuPTI1NjogNzc3IE1CL3MKPiAg ICB8IC0gICAgIyBjcmMzMl9sZV9iZW5jaG1hcms6IGxlbj01MTE6IDc1OCBNQi9zCj4gICAgfCAt ICAgICMgY3JjMzJfbGVfYmVuY2htYXJrOiBsZW49NTEyOiA3OTggTUIvcwo+ICAgIHwgLSAgICAj IGNyYzMyX2xlX2JlbmNobWFyazogbGVuPTEwMjQ6IDgwNyBNQi9zCj4gICAgfCAtICAgICMgY3Jj MzJfbGVfYmVuY2htYXJrOiBsZW49MzE3MzogODA3IE1CL3MKPiAgICB8IC0gICAgIyBjcmMzMl9s ZV9iZW5jaG1hcms6IGxlbj00MDk2OiA4MTQgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzMyX2xlX2Jl bmNobWFyazogbGVuPTE2Mzg0OiA4MTYgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMyX2xlX2JlbmNo bWFyazogbGVuPTE2OiA0MzkgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMyX2xlX2JlbmNobWFyazog bGVuPTY0OiAxMjA5IE1CL3MKPiAgICB8ICsgICAgIyBjcmMzMl9sZV9iZW5jaG1hcms6IGxlbj0x Mjc6IDEwNjcgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMyX2xlX2JlbmNobWFyazogbGVuPTEyODog MTYxNiBNQi9zCj4gICAgfCArICAgICMgY3JjMzJfbGVfYmVuY2htYXJrOiBsZW49MjAwOiAxNzM5 IE1CL3MKPiAgICB8ICsgICAgIyBjcmMzMl9sZV9iZW5jaG1hcms6IGxlbj0yNTY6IDE5NTEgTUIv cwo+ICAgIHwgKyAgICAjIGNyYzMyX2xlX2JlbmNobWFyazogbGVuPTUxMTogMTg1NSBNQi9zCj4g ICAgfCArICAgICMgY3JjMzJfbGVfYmVuY2htYXJrOiBsZW49NTEyOiAyMTc0IE1CL3MKPiAgICB8 ICsgICAgIyBjcmMzMl9sZV9iZW5jaG1hcms6IGxlbj0xMDI0OiAyMzAxIE1CL3MKPiAgICB8ICsg ICAgIyBjcmMzMl9sZV9iZW5jaG1hcms6IGxlbj0zMTczOiAyMzQ3IE1CL3MKPiAgICB8ICsgICAg IyBjcmMzMl9sZV9iZW5jaG1hcms6IGxlbj00MDk2OiAyNDA3IE1CL3MKPiAgICB8ICsgICAgIyBj cmMzMl9sZV9iZW5jaG1hcms6IGxlbj0xNjM4NDogMjQ0MCBNQi9zCj4gICAgfCAgICAgIG9rIDYg Y3JjMzJfbGVfYmVuY2htYXJrCj4gICAgfCAgICAgIG9rIDcgY3JjMzJfYmVfdGVzdAo+ICAgIHwg LSAgICAjIGNyYzMyX2JlX2JlbmNobWFyazogbGVuPTE6IDI3IE1CL3MKPiAgICB8IC0gICAgIyBj cmMzMl9iZV9iZW5jaG1hcms6IGxlbj0xNjogMjU4IE1CL3MKPiAgICB8IC0gICAgIyBjcmMzMl9i ZV9iZW5jaG1hcms6IGxlbj02NDogMzg4IE1CL3MKPiAgICB8IC0gICAgIyBjcmMzMl9iZV9iZW5j aG1hcms6IGxlbj0xMjc6IDQwMiBNQi9zCj4gICAgfCAtICAgICMgY3JjMzJfYmVfYmVuY2htYXJr OiBsZW49MTI4OiA0MjQgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzMyX2JlX2JlbmNobWFyazogbGVu PTIwMDogNDM4IE1CL3MKPiAgICB8IC0gICAgIyBjcmMzMl9iZV9iZW5jaG1hcms6IGxlbj0yNTY6 IDQ0NCBNQi9zCj4gICAgfCAtICAgICMgY3JjMzJfYmVfYmVuY2htYXJrOiBsZW49NTExOiA0NDkg TUIvcwo+ICAgIHwgLSAgICAjIGNyYzMyX2JlX2JlbmNobWFyazogbGVuPTUxMjogNDU1IE1CL3MK PiAgICB8IC0gICAgIyBjcmMzMl9iZV9iZW5jaG1hcms6IGxlbj0xMDI0OiA0NjEgTUIvcwo+ICAg IHwgLSAgICAjIGNyYzMyX2JlX2JlbmNobWFyazogbGVuPTMxNzM6IDQ2MyBNQi9zCj4gICAgfCAt ICAgICMgY3JjMzJfYmVfYmVuY2htYXJrOiBsZW49NDA5NjogNDY1IE1CL3MKPiAgICB8IC0gICAg IyBjcmMzMl9iZV9iZW5jaG1hcms6IGxlbj0xNjM4NDogNDY2IE1CL3MKPiAgICB8ICsgICAgIyBj cmMzMl9iZV9iZW5jaG1hcms6IGxlbj0xOiAyNSBNQi9zCj4gICAgfCArICAgICMgY3JjMzJfYmVf YmVuY2htYXJrOiBsZW49MTY6IDI1MSBNQi9zCj4gICAgfCArICAgICMgY3JjMzJfYmVfYmVuY2ht YXJrOiBsZW49NjQ6IDQ1OCBNQi9zCj4gICAgfCArICAgICMgY3JjMzJfYmVfYmVuY2htYXJrOiBs ZW49MTI3OiA0OTYgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMyX2JlX2JlbmNobWFyazogbGVuPTEy ODogNTQ3IE1CL3MKPiAgICB8ICsgICAgIyBjcmMzMl9iZV9iZW5jaG1hcms6IGxlbj0yMDA6IDU2 OSBNQi9zCj4gICAgfCArICAgICMgY3JjMzJfYmVfYmVuY2htYXJrOiBsZW49MjU2OiA2MDUgTUIv cwo+ICAgIHwgKyAgICAjIGNyYzMyX2JlX2JlbmNobWFyazogbGVuPTUxMTogNjIxIE1CL3MKPiAg ICB8ICsgICAgIyBjcmMzMl9iZV9iZW5jaG1hcms6IGxlbj01MTI6IDYzNyBNQi9zCj4gICAgfCAr ICAgICMgY3JjMzJfYmVfYmVuY2htYXJrOiBsZW49MTAyNDogNjU3IE1CL3MKPiAgICB8ICsgICAg IyBjcmMzMl9iZV9iZW5jaG1hcms6IGxlbj0zMTczOiA2NjggTUIvcwo+ICAgIHwgKyAgICAjIGNy YzMyX2JlX2JlbmNobWFyazogbGVuPTQwOTY6IDY3MSBNQi9zCj4gICAgfCArICAgICMgY3JjMzJf YmVfYmVuY2htYXJrOiBsZW49MTYzODQ6IDY3NCBNQi9zCj4gICAgfCAgICAgIG9rIDggY3JjMzJf YmVfYmVuY2htYXJrCj4gICAgfCAgICAgIG9rIDkgY3JjMzJjX3Rlc3QKPiAgICB8ICAgICAgIyBj cmMzMmNfYmVuY2htYXJrOiBsZW49MTogMzEgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzMyY19iZW5j aG1hcms6IGxlbj0xNjogNDU3IE1CL3MKPiAgICB8IC0gICAgIyBjcmMzMmNfYmVuY2htYXJrOiBs ZW49NjQ6IDY4MiBNQi9zCj4gICAgfCAtICAgICMgY3JjMzJjX2JlbmNobWFyazogbGVuPTEyNzog NjIwIE1CL3MKPiAgICB8IC0gICAgIyBjcmMzMmNfYmVuY2htYXJrOiBsZW49MTI4OiA3NDQgTUIv cwo+ICAgIHwgLSAgICAjIGNyYzMyY19iZW5jaG1hcms6IGxlbj0yMDA6IDc2OSBNQi9zCj4gICAg fCAtICAgICMgY3JjMzJjX2JlbmNobWFyazogbGVuPTI1NjogNzc5IE1CL3MKPiAgICB8IC0gICAg IyBjcmMzMmNfYmVuY2htYXJrOiBsZW49NTExOiA3NTggTUIvcwo+ICAgIHwgLSAgICAjIGNyYzMy Y19iZW5jaG1hcms6IGxlbj01MTI6IDc5NyBNQi9zCj4gICAgfCAtICAgICMgY3JjMzJjX2JlbmNo bWFyazogbGVuPTEwMjQ6IDgwNyBNQi9zCj4gICAgfCAtICAgICMgY3JjMzJjX2JlbmNobWFyazog bGVuPTMxNzM6IDgwNiBNQi9zCj4gICAgfCAtICAgICMgY3JjMzJjX2JlbmNobWFyazogbGVuPTQw OTY6IDgxMyBNQi9zCj4gICAgfCAtICAgICMgY3JjMzJjX2JlbmNobWFyazogbGVuPTE2Mzg0OiA4 MTYgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMyY19iZW5jaG1hcms6IGxlbj0xNjogNDQ2IE1CL3MK PiAgICB8ICsgICAgIyBjcmMzMmNfYmVuY2htYXJrOiBsZW49NjQ6IDExODggTUIvcwo+ICAgIHwg KyAgICAjIGNyYzMyY19iZW5jaG1hcms6IGxlbj0xMjc6IDEwNjYgTUIvcwo+ICAgIHwgKyAgICAj IGNyYzMyY19iZW5jaG1hcms6IGxlbj0xMjg6IDE2MDAgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMy Y19iZW5jaG1hcms6IGxlbj0yMDA6IDE3MjcgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMyY19iZW5j aG1hcms6IGxlbj0yNTY6IDE5NDEgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMyY19iZW5jaG1hcms6 IGxlbj01MTE6IDE4NTQgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMyY19iZW5jaG1hcms6IGxlbj01 MTI6IDIxNjQgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzMyY19iZW5jaG1hcms6IGxlbj0xMDI0OiAy MzAwIE1CL3MKPiAgICB8ICsgICAgIyBjcmMzMmNfYmVuY2htYXJrOiBsZW49MzE3MzogMjM0NSBN Qi9zCj4gICAgfCArICAgICMgY3JjMzJjX2JlbmNobWFyazogbGVuPTQwOTY6IDI0MDIgTUIvcwo+ ICAgIHwgKyAgICAjIGNyYzMyY19iZW5jaG1hcms6IGxlbj0xNjM4NDogMjQzNyBNQi9zCj4gICAg fCAgICAgIG9rIDEwIGNyYzMyY19iZW5jaG1hcmsKPiAgICB8ICAgICAgb2sgMTEgY3JjNjRfYmVf dGVzdAo+ICAgIHwgLSAgICAjIGNyYzY0X2JlX2JlbmNobWFyazogbGVuPTE6IDY0IE1CL3MKPiAg ICB8IC0gICAgIyBjcmM2NF9iZV9iZW5jaG1hcms6IGxlbj0xNjogMTQ0IE1CL3MKPiAgICB8IC0g ICAgIyBjcmM2NF9iZV9iZW5jaG1hcms6IGxlbj02NDogMTU0IE1CL3MKPiAgICB8IC0gICAgIyBj cmM2NF9iZV9iZW5jaG1hcms6IGxlbj0xMjc6IDE1NiBNQi9zCj4gICAgfCAtICAgICMgY3JjNjRf YmVfYmVuY2htYXJrOiBsZW49MTI4OiAxNTYgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzY0X2JlX2Jl bmNobWFyazogbGVuPTIwMDogMTU2IE1CL3MKPiAgICB8IC0gICAgIyBjcmM2NF9iZV9iZW5jaG1h cms6IGxlbj0yNTY6IDE1NiBNQi9zCj4gICAgfCAtICAgICMgY3JjNjRfYmVfYmVuY2htYXJrOiBs ZW49NTExOiAxNTcgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzY0X2JlX2JlbmNobWFyazogbGVuPTUx MjogMTU3IE1CL3MKPiAgICB8IC0gICAgIyBjcmM2NF9iZV9iZW5jaG1hcms6IGxlbj0xMDI0OiAx NTcgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzY0X2JlX2JlbmNobWFyazogbGVuPTMxNzM6IDE1OCBN Qi9zCj4gICAgfCAtICAgICMgY3JjNjRfYmVfYmVuY2htYXJrOiBsZW49NDA5NjogMTU4IE1CL3MK PiAgICB8IC0gICAgIyBjcmM2NF9iZV9iZW5jaG1hcms6IGxlbj0xNjM4NDogMTU4IE1CL3MKPiAg ICB8ICsgICAgIyBjcmM2NF9iZV9iZW5jaG1hcms6IGxlbj0xOiAyOSBNQi9zCj4gICAgfCArICAg ICMgY3JjNjRfYmVfYmVuY2htYXJrOiBsZW49MTY6IDI2NCBNQi9zCj4gICAgfCArICAgICMgY3Jj NjRfYmVfYmVuY2htYXJrOiBsZW49NjQ6IDQ3NiBNQi9zCj4gICAgfCArICAgICMgY3JjNjRfYmVf YmVuY2htYXJrOiBsZW49MTI3OiA0OTkgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzY0X2JlX2JlbmNo bWFyazogbGVuPTEyODogNTU4IE1CL3MKPiAgICB8ICsgICAgIyBjcmM2NF9iZV9iZW5jaG1hcms6 IGxlbj0yMDA6IDU3NiBNQi9zCj4gICAgfCArICAgICMgY3JjNjRfYmVfYmVuY2htYXJrOiBsZW49 MjU2OiA2MTEgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzY0X2JlX2JlbmNobWFyazogbGVuPTUxMTog NjIxIE1CL3MKPiAgICB8ICsgICAgIyBjcmM2NF9iZV9iZW5jaG1hcms6IGxlbj01MTI6IDYzOCBN Qi9zCj4gICAgfCArICAgICMgY3JjNjRfYmVfYmVuY2htYXJrOiBsZW49MTAyNDogNjU5IE1CL3MK PiAgICB8ICsgICAgIyBjcmM2NF9iZV9iZW5jaG1hcms6IGxlbj0zMTczOiA2NjcgTUIvcwo+ICAg IHwgKyAgICAjIGNyYzY0X2JlX2JlbmNobWFyazogbGVuPTQwOTY6IDY3MSBNQi9zCj4gICAgfCAr ICAgICMgY3JjNjRfYmVfYmVuY2htYXJrOiBsZW49MTYzODQ6IDY3NCBNQi9zCj4gICAgfCAgICAg IG9rIDEyIGNyYzY0X2JlX2JlbmNobWFyawo+ICAgIHwgICAgICBvayAxMyBjcmM2NF9udm1lX3Rl c3QKPiAgICB8IC0gICAgIyBjcmM2NF9udm1lX2JlbmNobWFyazogbGVuPTE6IDY0IE1CL3MKPiAg ICB8IC0gICAgIyBjcmM2NF9udm1lX2JlbmNobWFyazogbGVuPTE2OiAxNDQgTUIvcwo+ICAgIHwg LSAgICAjIGNyYzY0X252bWVfYmVuY2htYXJrOiBsZW49NjQ6IDE1NCBNQi9zCj4gICAgfCAtICAg ICMgY3JjNjRfbnZtZV9iZW5jaG1hcms6IGxlbj0xMjc6IDE1NiBNQi9zCj4gICAgfCAtICAgICMg Y3JjNjRfbnZtZV9iZW5jaG1hcms6IGxlbj0xMjg6IDE1NiBNQi9zCj4gICAgfCAtICAgICMgY3Jj NjRfbnZtZV9iZW5jaG1hcms6IGxlbj0yMDA6IDE1NiBNQi9zCj4gICAgfCAtICAgICMgY3JjNjRf bnZtZV9iZW5jaG1hcms6IGxlbj0yNTY6IDE1NiBNQi9zCj4gICAgfCAtICAgICMgY3JjNjRfbnZt ZV9iZW5jaG1hcms6IGxlbj01MTE6IDE1NyBNQi9zCj4gICAgfCAtICAgICMgY3JjNjRfbnZtZV9i ZW5jaG1hcms6IGxlbj01MTI6IDE1NyBNQi9zCj4gICAgfCAtICAgICMgY3JjNjRfbnZtZV9iZW5j aG1hcms6IGxlbj0xMDI0OiAxNTcgTUIvcwo+ICAgIHwgLSAgICAjIGNyYzY0X252bWVfYmVuY2ht YXJrOiBsZW49MzE3MzogMTU4IE1CL3MKPiAgICB8IC0gICAgIyBjcmM2NF9udm1lX2JlbmNobWFy azogbGVuPTQwOTY6IDE1OCBNQi9zCj4gICAgfCAtICAgICMgY3JjNjRfbnZtZV9iZW5jaG1hcms6 IGxlbj0xNjM4NDogMTU4IE1CL3MKPiAgICB8ICsgICAgIyBjcmM2NF9udm1lX2JlbmNobWFyazog bGVuPTE6IDM2IE1CL3MKPiAgICB8ICsgICAgIyBjcmM2NF9udm1lX2JlbmNobWFyazogbGVuPTE2 OiA0NzkgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzY0X252bWVfYmVuY2htYXJrOiBsZW49NjQ6IDEz NDAgTUIvcwo+ICAgIHwgKyAgICAjIGNyYzY0X252bWVfYmVuY2htYXJrOiBsZW49MTI3OiAxMTc5 IE1CL3MKPiAgICB8ICsgICAgIyBjcmM2NF9udm1lX2JlbmNobWFyazogbGVuPTEyODogMTc2NiBN Qi9zCj4gICAgfCArICAgICMgY3JjNjRfbnZtZV9iZW5jaG1hcms6IGxlbj0yMDA6IDE5NjUgTUIv cwo+ICAgIHwgKyAgICAjIGNyYzY0X252bWVfYmVuY2htYXJrOiBsZW49MjU2OiAyMjAxIE1CL3MK PiAgICB8ICsgICAgIyBjcmM2NF9udm1lX2JlbmNobWFyazogbGVuPTUxMTogMjA4NyBNQi9zCj4g ICAgfCArICAgICMgY3JjNjRfbnZtZV9iZW5jaG1hcms6IGxlbj01MTI6IDI0NjQgTUIvcwo+ICAg IHwgKyAgICAjIGNyYzY0X252bWVfYmVuY2htYXJrOiBsZW49MTAyNDogMjMzMSBNQi9zCj4gICAg fCArICAgICMgY3JjNjRfbnZtZV9iZW5jaG1hcms6IGxlbj0zMTczOiAyNjczIE1CL3MKPiAgICB8 ICsgICAgIyBjcmM2NF9udm1lX2JlbmNobWFyazogbGVuPTQwOTY6IDI3NDUgTUIvcwo+ICAgIHwg KyAgICAjIGNyYzY0X252bWVfYmVuY2htYXJrOiBsZW49MTYzODQ6IDI3ODIgTUIvcwo+ICAgIHwg ICAgICBvayAxNCBjcmM2NF9udm1lX2JlbmNobWFyawo+ICAgIHwgICMgY3JjOiBwYXNzOjE0IGZh aWw6MCBza2lwOjAgdG90YWw6MTQKPiAgICB8ICAjIFRvdGFsczogcGFzczoxNCBmYWlsOjAgc2tp cDowIHRvdGFsOjE0Cj4KPiBUaGF0J3MgYSBzaWduaWZpY2FudCBzcGVlZCB1cCBmb3IgdGhpcyBw b3B1bGFyIFNvQywgYW5kIGl0IHdvdWxkIGJlCj4gZ3JlYXQgdG8gZ2V0IHRoaXMgc2VyaWVzIGlu IGZvciB0aGUgbmV4dCBtZXJnZSB3aW5kb3chIFRoYW5rIHlvdSEKPgo+IFRlc3RlZC1ieTogQmrD tnJuIFTDtnBlbCA8Ympvcm5Acml2b3NpbmMuY29tPgo+Cj4KPiBCasO2cm4KCkkgYW0gaGFwcHkg dG8gc2VlIHRoYXQgY3JjLXQxMGRpZiBjYW4gYWNoaWV2ZSByZW1hcmthYmxlIHBlcmZvcm1hbmNl IAppbXByb3ZlbWVudHMgdW5kZXIgdGhlIG9wdGltaXphdGlvbiBvZiB0aGUgWkJDIGV4dGVuc2lv bi4gSXQgaGFzIGJlZW4gYSAKZ3JlYXQgaG9ub3IgZm9yIG1lIHRvIGNvbnRyaWJ1dGUgdG8gc3Vj aCBpbXBhY3RmdWwgd29yay4KClpoaWhhbmcKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LXJpc2N2Cg==