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 DAA80C35FF1 for ; Mon, 10 Mar 2025 15:47:38 +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:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=jrUhNUX1K/+rPLAA20JP991apgEoCqF47QZiQOe9ZAo=; b=nBHK0rCyKbpzZm 1WPgtN/77vtfwr2hvRsc1Q9VUB549dL4EehbXken7oP+brE01utH/G4NV5iUc5n+V+EOsWNVmYEOi WacQGezqcQjI6hcD8+G37r+Bo4e54KRPJC+UZkbzPu+zaEg1Gfo72DmOaV3fOS82afrgB5hUGVLnP sbZ/A/4yzIOVwCXRsHo+FeluxUvyWskeJZyeF5oJtPICHgZNBVLiG6gQcnIPO3a2nZY4JrrPiTbRM UPW2M5WZg/CjITga8Y9zwulwhXimqC5jfPL75pNdgQQqfYYxPCDBBMvDTwWCiqzzMSClGQKMBKhP6 k1sOKnLZQ8MKSlTbYpdQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trfLo-00000003FrJ-3CBQ; Mon, 10 Mar 2025 15:47:32 +0000 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1treoB-000000037KH-2LaY for linux-riscv@lists.infradead.org; Mon, 10 Mar 2025 15:12:49 +0000 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-223fd89d036so85373285ad.1 for ; Mon, 10 Mar 2025 08:12:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1741619566; x=1742224366; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=WET834fPtyfjXUSYYGbdV0Bszy0RPsJUskkYImXS/yw=; b=xt7+zqlVT/Zpa5pST13PAhh3h5lD2jSnWC8Yuih0ikjeJWE4CKzSv8csv2F+Bitd76 EJjOkgBWVVTTtEGgFRDVbU3mF7bd7fzlgA1iEyUNK27F4TPKR+zkeP6uz667JQEUDuKG mVh78ej2phL5aqS6YB2SAhWubtxX6mvkFBUmm4uidEyECWAsiclMdDLf2BgmjIjQpP2y +OoQINUALEF4GHxIeCGO4UCjdCAnScqB5EtuOXrhrYTWMvJDrFKnfGquUV9eBuWFahGO I/Zfn0pRRbqt1j/JhvZwyUAVPulcujImI+eEz0nwXLBXz9BGWwjiy3BJpNu/2VPJLuoK PYuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741619566; x=1742224366; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=WET834fPtyfjXUSYYGbdV0Bszy0RPsJUskkYImXS/yw=; b=FEiuk1Ohqdb/DiVioKCgeKCix7RegkPYvWk67GXK7vRNOiex08oEGEXqI9NoHhfjX7 A61vMLNCU0/Elj5bpBdj/iWGOUiHR+oKSGzyAwenO8blvwKsm+iFQrQfvzfyhZ/fC6eo SvzlPzcrksGtp8fI65Lyje1eLb6CSQrE05UEA4qwh9ZfECOD7j0sCpR8XBij/yUL7Eh6 Faq4nQkLkJ/Ipoj1x2lzhvtzoKbtjoejxV/3U0/Yc88wgNyD5mpIS9r5eDHfD6vGLsjr gK8DYCWA8p0XllHuDs1knNspaav4NWndlZ9X/yLTPcoa4ympwRskypeX+7608WUbz6Sd 5dkQ== X-Forwarded-Encrypted: i=1; AJvYcCV5WHEe8ATzH0rNK6a5FeeCgfFlRpdaenTM71SBuLsYUU2CSb6xojV8hkd8jbq/Fde2ZYAJSqFWTm+sig==@lists.infradead.org X-Gm-Message-State: AOJu0Ywx4nMiwA3tbSFIJd4eB8Qdng3wqb347gTbqZs95XCGkWCIEc6k 6L3w1eqwG5u0m5S8PXiGKhyXy+MpbcSv3xEuUfwlCs1RUNUvvKHK3EqcwXhK51RAA/0HHhyeNw+ JTOE= X-Gm-Gg: ASbGnctXoqZSyC52zP6B3sZZStMzmDJtw6fPb3Y18cwqoU2uls+MYVDbcumV8A3Gmda lLruT9Pe6hY5Epp/G6C0ZRVahcTrlZYwqSIp7JKIrV4Acem8S7Qh0jWZXq5+MUy/dvzz7bTTBSd XGk+vzlVPRlR7P4YdX++aIOWQiX/7BjvPRfm8MKX8yzBCXxhzF9wt7MlGzvcS4EvFyDBc+uI4RJ c2WeStdmEO4WQMofF+PxijajmFM2kpypruD+3TuUKtyproh1106T2w46G5VKLTUJ5jTu2wCK3Um XDv1Wgn4MQxX39LXtpDfunlQ4t4iu7hgW5EF5SUeQRbY6w== X-Google-Smtp-Source: AGHT+IEDrhoKW7rr9/McSHUbkOLSWYi1sSzsVFxLf+Ak7uOZ2UAbwnGmTpmu6+G3w62SnxldCFFNoA== X-Received: by 2002:a17:902:e5d2:b0:224:160d:3f5b with SMTP id d9443c01a7336-22428c1169cmr234143285ad.49.1741619566397; Mon, 10 Mar 2025 08:12:46 -0700 (PDT) Received: from carbon-x1.. ([2a01:e0a:e17:9700:16d2:7456:6634:9626]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-224109e99dfsm79230515ad.91.2025.03.10.08.12.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 08:12:45 -0700 (PDT) From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Paul Walmsley , Palmer Dabbelt , Anup Patel , Atish Patra , Shuah Khan , Jonathan Corbet , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org Cc: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , Samuel Holland Subject: [PATCH v3 00/17] riscv: add SBI FWFT misaligned exception delegation support Date: Mon, 10 Mar 2025 16:12:07 +0100 Message-ID: <20250310151229.2365992-1-cleger@rivosinc.com> X-Mailer: git-send-email 2.47.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_081247_595535_B4A595C9 X-CRM114-Status: GOOD ( 16.87 ) 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 VGhlIFNCSSBGaXJtd2FyZSBGZWF0dXJlIGV4dGVuc2lvbiBhbGxvd3MgdGhlIFMtbW9kZSB0byBy ZXF1ZXN0IHNvbWUKc3BlY2lmaWMgZmVhdHVyZXMgKGVpdGhlciBoYXJkd2FyZSBvciBzb2Z0d2Fy ZSkgdG8gYmUgZW5hYmxlZC4gVGhpcwpzZXJpZXMgdXNlcyB0aGlzIGV4dGVuc2lvbiB0byByZXF1 ZXN0IG1pc2FsaWduZWQgYWNjZXNzIGV4Y2VwdGlvbgpkZWxlZ2F0aW9uIHRvIFMtbW9kZSBpbiBv cmRlciB0byBsZXQgdGhlIGtlcm5lbCBoYW5kbGUgaXQuIEl0IGFsc28gYWRkcwpzdXBwb3J0IGZv ciB0aGUgS1ZNIEZXRlQgU0JJIGV4dGVuc2lvbiBiYXNlZCBvbiB0aGUgbWlzYWxpZ25lZCBhY2Nl c3MKaGFuZGxpbmcgaW5mcmFzdHJ1Y3R1cmUuCgpGV0ZUIFNCSSBleHRlbnNpb24gaXMgcGFydCBv ZiB0aGUgU0JJIFYzLjAgc3BlY2lmaWNhdGlvbnMgWzFdLiBJdCBjYW4gYmUKdGVzdGVkIHVzaW5n IHRoZSBxZW11IHByb3ZpZGVkIGF0IFsyXSB3aGljaCBjb250YWlucyB0aGUgc2VyaWVzIGZyb20K WzNdLiBrdm0tdW5pdC10ZXN0cyBbNF0gY2FuIGJlIHVzZWQgaW5zaWRlIGt2bSB0byB0ZXN0cyB0 aGUgY29ycmVjdApkZWxlZ2F0aW9uIG9mIG1pc2FsaWduZWQgZXhjZXB0aW9ucy4gVXBzdHJlYW0g T3BlblNCSSBjYW4gYmUgdXNlZC4KCk5vdGU6IFNpbmNlIFNCSSBWMy4wIGlzIG5vdCB5ZXQgcmF0 aWZpZWQsIEZXRlQgZXh0ZW5zaW9uIEFQSSBpcyBzcGxpdApiZXR3ZWVuIGludGVyZmFjZSBvbmx5 IGFuZCBpbXBsZW1lbnRhdGlvbiwgYWxsb3dpbmcgdG8gcGljayBvbmx5IHRoZQppbnRlcmZhY2Ug d2hpY2ggZG8gbm90IGhhdmUgaGFyZCBkZXBlbmRlbmNpZXMgb24gU0JJLgoKVGhlIHRlc3RzIGNh biBiZSBydW4gdXNpbmcgdGhlIGluY2x1ZGVkIGtzZWxmdGVzdDoKCiQgcWVtdS1zeXN0ZW0tcmlz Y3Y2NCBcCgktY3B1IHJ2NjQsdHJhcC1taXNhbGlnbmVkLWFjY2Vzcz10cnVlLHY9dHJ1ZSBcCgkt TSB2aXJ0IFwKCS1tIDEwMjRNIFwKCS1iaW9zIGZ3X2R5bmFtaWMuYmluIFwKCS1rZXJuZWwgSW1h Z2UKIC4uLgoKICMgLi9taXNhbGlnbmVkCiBUQVAgdmVyc2lvbiAxMwogMS4uMjMKICMgU3RhcnRp bmcgMjMgdGVzdHMgZnJvbSAxIHRlc3QgY2FzZXMuCiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5n cF9sb2FkX2xoIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZ3BfbG9hZF9saAogb2sgMSBn bG9iYWwuZ3BfbG9hZF9saAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZ3BfbG9hZF9saHUgLi4u CiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2xodQogb2sgMiBnbG9iYWwuZ3BfbG9h ZF9saHUKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfbHcgLi4uCiAjICAgICAgICAg ICAgT0sgIGdsb2JhbC5ncF9sb2FkX2x3CiBvayAzIGdsb2JhbC5ncF9sb2FkX2x3CiAjICBSVU4g ICAgICAgICAgIGdsb2JhbC5ncF9sb2FkX2x3dSAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFs LmdwX2xvYWRfbHd1CiBvayA0IGdsb2JhbC5ncF9sb2FkX2x3dQogIyAgUlVOICAgICAgICAgICBn bG9iYWwuZ3BfbG9hZF9sZCAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFsLmdwX2xvYWRfbGQK IG9rIDUgZ2xvYmFsLmdwX2xvYWRfbGQKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRf Y19sdyAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFsLmdwX2xvYWRfY19sdwogb2sgNiBnbG9i YWwuZ3BfbG9hZF9jX2x3CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5ncF9sb2FkX2NfbGQgLi4u CiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2NfbGQKIG9rIDcgZ2xvYmFsLmdwX2xv YWRfY19sZAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZ3BfbG9hZF9jX2xkc3AgLi4uCiAjICAg ICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2NfbGRzcAogb2sgOCBnbG9iYWwuZ3BfbG9hZF9j X2xkc3AKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfc2ggLi4uCiAjICAgICAgICAg ICAgT0sgIGdsb2JhbC5ncF9sb2FkX3NoCiBvayA5IGdsb2JhbC5ncF9sb2FkX3NoCiAjICBSVU4g ICAgICAgICAgIGdsb2JhbC5ncF9sb2FkX3N3IC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwu Z3BfbG9hZF9zdwogb2sgMTAgZ2xvYmFsLmdwX2xvYWRfc3cKICMgIFJVTiAgICAgICAgICAgZ2xv YmFsLmdwX2xvYWRfc2QgLi4uCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX3NkCiBv ayAxMSBnbG9iYWwuZ3BfbG9hZF9zZAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZ3BfbG9hZF9j X3N3IC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZ3BfbG9hZF9jX3N3CiBvayAxMiBnbG9i YWwuZ3BfbG9hZF9jX3N3CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5ncF9sb2FkX2Nfc2QgLi4u CiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2Nfc2QKIG9rIDEzIGdsb2JhbC5ncF9s b2FkX2Nfc2QKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfY19zZHNwIC4uLgogIyAg ICAgICAgICAgIE9LICBnbG9iYWwuZ3BfbG9hZF9jX3Nkc3AKIG9rIDE0IGdsb2JhbC5ncF9sb2Fk X2Nfc2RzcAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZnB1X2xvYWRfZmx3IC4uLgogIyAgICAg ICAgICAgIE9LICBnbG9iYWwuZnB1X2xvYWRfZmx3CiBvayAxNSBnbG9iYWwuZnB1X2xvYWRfZmx3 CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5mcHVfbG9hZF9mbGQgLi4uCiAjICAgICAgICAgICAg T0sgIGdsb2JhbC5mcHVfbG9hZF9mbGQKIG9rIDE2IGdsb2JhbC5mcHVfbG9hZF9mbGQKICMgIFJV TiAgICAgICAgICAgZ2xvYmFsLmZwdV9sb2FkX2NfZmxkIC4uLgogIyAgICAgICAgICAgIE9LICBn bG9iYWwuZnB1X2xvYWRfY19mbGQKIG9rIDE3IGdsb2JhbC5mcHVfbG9hZF9jX2ZsZAogIyAgUlVO ICAgICAgICAgICBnbG9iYWwuZnB1X2xvYWRfY19mbGRzcCAuLi4KICMgICAgICAgICAgICBPSyAg Z2xvYmFsLmZwdV9sb2FkX2NfZmxkc3AKIG9rIDE4IGdsb2JhbC5mcHVfbG9hZF9jX2ZsZHNwCiAj ICBSVU4gICAgICAgICAgIGdsb2JhbC5mcHVfc3RvcmVfZnN3IC4uLgogIyAgICAgICAgICAgIE9L ICBnbG9iYWwuZnB1X3N0b3JlX2Zzdwogb2sgMTkgZ2xvYmFsLmZwdV9zdG9yZV9mc3cKICMgIFJV TiAgICAgICAgICAgZ2xvYmFsLmZwdV9zdG9yZV9mc2QgLi4uCiAjICAgICAgICAgICAgT0sgIGds b2JhbC5mcHVfc3RvcmVfZnNkCiBvayAyMCBnbG9iYWwuZnB1X3N0b3JlX2ZzZAogIyAgUlVOICAg ICAgICAgICBnbG9iYWwuZnB1X3N0b3JlX2NfZnNkIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9i YWwuZnB1X3N0b3JlX2NfZnNkCiBvayAyMSBnbG9iYWwuZnB1X3N0b3JlX2NfZnNkCiAjICBSVU4g ICAgICAgICAgIGdsb2JhbC5mcHVfc3RvcmVfY19mc2RzcCAuLi4KICMgICAgICAgICAgICBPSyAg Z2xvYmFsLmZwdV9zdG9yZV9jX2ZzZHNwCiBvayAyMiBnbG9iYWwuZnB1X3N0b3JlX2NfZnNkc3AK ICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdlbl9zaWdidXMgLi4uCiBbMTI3OTcuOTg4NjQ3XSBt aXNhbGlnbmVkWzYxOF06IHVuaGFuZGxlZCBzaWduYWwgNyBjb2RlIDB4MSBhdCAweDAwMDAwMDAw MDAwMTRkYzAgaW4gbWlzYWxpZ25lZFs0ZGMwLDEwMDAwKzc2MDAwXQogWzEyNzk3Ljk4ODk5MF0g Q1BVOiAwIFVJRDogMCBQSUQ6IDYxOCBDb21tOiBtaXNhbGlnbmVkIE5vdCB0YWludGVkIDYuMTMu MC1yYzYtMDAwMDgtZzRlYzQ0Njg5NjdjOS1kaXJ0eSAjNTEKIFsxMjc5Ny45ODkxNjldIEhhcmR3 YXJlIG5hbWU6IHJpc2N2LXZpcnRpbyxxZW11IChEVCkKIFsxMjc5Ny45ODkyNjRdIGVwYyA6IDAw MDAwMDAwMDAwMTRkYzAgcmEgOiAwMDAwMDAwMDAwMDE0ZDAwIHNwIDogMDAwMDdmZmZlMTY1ZDEw MAogWzEyNzk3Ljk4OTQwN10gIGdwIDogMDAwMDAwMDAwMDA4ZjZlOCB0cCA6IDAwMDAwMDAwMDAw OTU3NjAgdDAgOiAwMDAwMDAwMDAwMDAwMDA4CiBbMTI3OTcuOTg5NTQ0XSAgdDEgOiAwMDAwMDAw MDAwMDk2NWQ4IHQyIDogMDAwMDAwMDAwMDA4ZTgzMCBzMCA6IDAwMDA3ZmZmZTE2NWQxNjAKIFsx Mjc5Ny45ODk2OTJdICBzMSA6IDAwMDAwMDAwMDAwMDAwMWEgYTAgOiAwMDAwMDAwMDAwMDAwMDAw IGExIDogMDAwMDAwMDAwMDAwMDAwMgogWzEyNzk3Ljk4OTgzMV0gIGEyIDogMDAwMDAwMDAwMDAw MDAwMCBhMyA6IDAwMDAwMDAwMDAwMDAwMDAgYTQgOiBmZmZmZmZmZmRlYWRiZWVmCiBbMTI3OTcu OTg5OTY0XSAgYTUgOiAwMDAwMDAwMDAwMDhlZjYxIGE2IDogNjI2NzY5NzM1ZjZlMDAwMCBhNyA6 IGZmZmZmZmZmZmZmZmYwMDAKIFsxMjc5Ny45OTAwOTRdICBzMiA6IDAwMDAwMDAwMDAwMDAwMDEg czMgOiAwMDAwN2ZmZmUxNjVkODM4IHM0IDogMDAwMDdmZmZlMTY1ZDg0OAogWzEyNzk3Ljk5MDIz OF0gIHM1IDogMDAwMDAwMDAwMDAwMDAxYSBzNiA6IDAwMDAwMDAwMDAwMTA0NDIgczcgOiAwMDAw MDAwMDAwMDEwMjAwCiBbMTI3OTcuOTkwMzkxXSAgczggOiAwMDAwMDAwMDAwMDAwMDNhIHM5IDog MDAwMDAwMDAwMDA5NDUwOCBzMTA6IDAwMDAwMDAwMDAwMDAwMDAKIFsxMjc5Ny45OTA1MjZdICBz MTE6IDAwMDA1NTU1Njc0NjA2NjggdDMgOiAwMDAwN2ZmZmUxNjVkMDcwIHQ0IDogMDAwMDAwMDAw MDA5NjVkMAogWzEyNzk3Ljk5MDY1Nl0gIHQ1IDogZmVmZWZlZmVmZWZlZmVmZiB0NiA6IDAwMDAw MDAwMDAwMDAwNzMKIFsxMjc5Ny45OTA3NTZdIHN0YXR1czogMDAwMDAwMDIwMDAwNDAyMCBiYWRh ZGRyOiAwMDAwMDAwMDAwMDhlZjYxIGNhdXNlOiAwMDAwMDAwMDAwMDAwMDA2CiBbMTI3OTcuOTkw OTExXSBDb2RlOiA4NzkzIDg3OTEgMzQyMyBmY2Y0IDM3ODMgZmM4NCBjNzM3IGRlYWQgMDcxMyBl ZWY3IChjMzk4KSAwMDAxCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5nZW5fc2lnYnVzCiBvayAy MyBnbG9iYWwuZ2VuX3NpZ2J1cwogIyBQQVNTRUQ6IDIzIC8gMjMgdGVzdHMgcGFzc2VkLgogIyBU b3RhbHM6IHBhc3M6MjMgZmFpbDowIHhmYWlsOjAgeHBhc3M6MCBza2lwOjAgZXJyb3I6MAoKV2l0 aCBrdm0tdG9vbHM6CgogIyBsa3ZtIHJ1biAtayBzYmkuZmxhdCAtbSAxMjgKICBJbmZvOiAjIGxr dm0gcnVuIC1rIHNiaS5mbGF0IC1tIDEyOCAtYyAxIC0tbmFtZSBndWVzdC05NwogIEluZm86IFJl bW92ZWQgZ2hvc3Qgc29ja2V0IGZpbGUgIi9yb290Ly5sa3ZtLy9ndWVzdC05Ny5zb2NrIi4KCiAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwogIyAgICBrdm0tdW5pdC10ZXN0cwogIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CiAuLi4gW3Rlc3QgbWVzc2FnZXMgZWxpZGVkXQogUEFTUzogc2JpOiBmd2Z0OiBGV0ZUIGV4dGVu c2lvbiBwcm9iaW5nIG5vIGVycm9yCiBQQVNTOiBzYmk6IGZ3ZnQ6IGdldC9zZXQgcmVzZXJ2ZWQg ZmVhdHVyZSAweDYgZXJyb3IgPT0gU0JJX0VSUl9ERU5JRUQKIFBBU1M6IHNiaTogZndmdDogZ2V0 L3NldCByZXNlcnZlZCBmZWF0dXJlIDB4M2ZmZmZmZmYgZXJyb3IgPT0gU0JJX0VSUl9ERU5JRUQK IFBBU1M6IHNiaTogZndmdDogZ2V0L3NldCByZXNlcnZlZCBmZWF0dXJlIDB4ODAwMDAwMDAgZXJy b3IgPT0gU0JJX0VSUl9ERU5JRUQKIFBBU1M6IHNiaTogZndmdDogZ2V0L3NldCByZXNlcnZlZCBm ZWF0dXJlIDB4YmZmZmZmZmYgZXJyb3IgPT0gU0JJX0VSUl9ERU5JRUQKIFBBU1M6IHNiaTogZndm dDogbWlzYWxpZ25lZF9kZWxlZzogR2V0IG1pc2FsaWduZWQgZGVsZWcgZmVhdHVyZSBubyBlcnJv cgogUEFTUzogc2JpOiBmd2Z0OiBtaXNhbGlnbmVkX2RlbGVnOiBTZXQgbWlzYWxpZ25lZCBkZWxl ZyBmZWF0dXJlIGludmFsaWQgdmFsdWUgZXJyb3IKIFBBU1M6IHNiaTogZndmdDogbWlzYWxpZ25l ZF9kZWxlZzogU2V0IG1pc2FsaWduZWQgZGVsZWcgZmVhdHVyZSBpbnZhbGlkIHZhbHVlIGVycm9y CiBQQVNTOiBzYmk6IGZ3ZnQ6IG1pc2FsaWduZWRfZGVsZWc6IFNldCBtaXNhbGlnbmVkIGRlbGVn IGZlYXR1cmUgdmFsdWUgbm8gZXJyb3IKIFBBU1M6IHNiaTogZndmdDogbWlzYWxpZ25lZF9kZWxl ZzogU2V0IG1pc2FsaWduZWQgZGVsZWcgZmVhdHVyZSB2YWx1ZSAwCiBQQVNTOiBzYmk6IGZ3ZnQ6 IG1pc2FsaWduZWRfZGVsZWc6IFNldCBtaXNhbGlnbmVkIGRlbGVnIGZlYXR1cmUgdmFsdWUgbm8g ZXJyb3IKIFBBU1M6IHNiaTogZndmdDogbWlzYWxpZ25lZF9kZWxlZzogU2V0IG1pc2FsaWduZWQg ZGVsZWcgZmVhdHVyZSB2YWx1ZSAxCiBQQVNTOiBzYmk6IGZ3ZnQ6IG1pc2FsaWduZWRfZGVsZWc6 IFZlcmlmeSBtaXNhbGlnbmVkIGxvYWQgZXhjZXB0aW9uIHRyYXAgaW4gc3VwZXJ2aXNvcgogU1VN TUFSWTogNTAgdGVzdHMsIDIgdW5leHBlY3RlZCBmYWlsdXJlcywgMTIgc2tpcHBlZAoKVGhpcyBz ZXJpZXMgaXMgYXZhaWxhYmxlIGF0IFs2XS4KCkxpbms6IGh0dHBzOi8vZ2l0aHViLmNvbS9yaXNj di1ub24taXNhL3Jpc2N2LXNiaS1kb2MvcmVsZWFzZXMvZG93bmxvYWQvdnYzLjAtcmMyL3Jpc2N2 LXNiaS5wZGYgWzFdCkxpbms6IGh0dHBzOi8vZ2l0aHViLmNvbS9yaXZvc2luYy9xZW11L3RyZWUv ZGV2L2NsZWdlci9taXNhbGlnbmVkIFsyXQpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9h bGwvMjAyNDEyMTEyMTE5MzMuMTk4NzkyLTMtZmtvbnJhZEBhbWQuY29tL1QvIFszXQpMaW5rOiBo dHRwczovL2dpdGh1Yi5jb20vY2xlbWVudGxlZ2VyL2t2bS11bml0LXRlc3RzL3RyZWUvZGV2L2Ns ZWdlci9md2Z0X3YxIFs0XQpMaW5rOiBodHRwczovL2dpdGh1Yi5jb20vY2xlbWVudGxlZ2VyL3Vu YWxpZ25lZF90ZXN0IFs1XQpMaW5rOiBodHRwczovL2dpdGh1Yi5jb20vcml2b3NpbmMvbGludXgv dHJlZS9kZXYvY2xlZ2VyL2Z3ZnRfdjEgWzZdCi0tLQoKVjM6CiAtIEFkZGVkIGNvbW1lbnQgYWJv dXQga3ZtIHNiaSBmd2Z0IHN1cHBvcnRlZC9zZXQvZ2V0IGNhbGxiYWNrCiAgIHJlcXVpcmVtZW50 cwogLSBNb3ZlIHN0cnVjdCBrdm1fc2JpX2Z3ZnRfZmVhdHVyZSBpbiBrdm1fc2JpX2Z3ZnQuYwog LSBBZGQgYSBGV0ZUIGludGVyZmFjZQoKVjI6CiAtIEFkZGVkIEtzZWxmdGVzdCBmb3IgbWlzYWxp Z25lZCB0ZXN0aW5nCiAtIEFkZGVkIGdldF91c2VyKCkgdXNhZ2UgaW5zdGVhZCBvZiBfX2dldF91 c2VyKCkKIC0gUmVlbmFibGUgaW50ZXJydXB0IHdoZW4gcG9zc2libGUgaW4gbWlzYWxpZ25lZCBh Y2Nlc3MgaGFuZGxpbmcKIC0gRG9jdW1lbnQgdGhhdCByaXNjdiBzdXBwb3J0cyB1bmFsaWduZWQt dHJhcHMKIC0gRml4IEtWTSBleHRlbnNpb24gc3RhdGUgd2hlbiBhbiBpbml0IGZ1bmN0aW9uIGlz IHByZXNlbnQKIC0gUmV3b3JrIFNCSSBtaXNhbGlnbmVkIGFjY2Vzc2VzIHRyYXAgZGVsZWdhdGlv biBjb2RlCiAtIEFkZGVkIHN1cHBvcnQgZm9yIENQVSBob3RwbHVnZ2luZwogLSBBZGRlZCBLVk0g U0JJIHJlc2V0IGNhbGxiYWNrCiAtIEFkZGVkIHJlc2V0IGZvciBLVk0gU0JJIEZXRlQgbG9jawog LSBSZXR1cm4gU0JJX0VSUl9ERU5JRURfTE9DS0VEIHdoZW4gTE9DSyBmbGFnIGlzIHNldAoKQ2zD qW1lbnQgTMOpZ2VyICgxNyk6CiAgcmlzY3Y6IGFkZCBGaXJtd2FyZSBGZWF0dXJlIChGV0ZUKSBT QkkgZXh0ZW5zaW9ucyBkZWZpbml0aW9ucwogIHJpc2N2OiBzYmk6IGFkZCBGV0ZUIGV4dGVuc2lv biBpbnRlcmZhY2UKICByaXNjdjogc2JpOiBhZGQgU0JJIEZXRlQgZXh0ZW5zaW9uIGNhbGxzCiAg cmlzY3Y6IG1pc2FsaWduZWQ6IHJlcXVlc3QgbWlzYWxpZ25lZCBleGNlcHRpb24gZnJvbSBTQkkK ICByaXNjdjogbWlzYWxpZ25lZDogdXNlIG9uX2VhY2hfY3B1KCkgZm9yIHNjYWxhciBtaXNhbGln bmVkIGFjY2VzcwogICAgcHJvYmluZwogIHJpc2N2OiBtaXNhbGlnbmVkOiB1c2UgY29ycmVjdCBD T05GSUdfIGlmZGVmIGZvcgogICAgbWlzYWxpZ25lZF9hY2Nlc3Nfc3BlZWQKICByaXNjdjogbWlz YWxpZ25lZDogbW92ZSBlbXVsYXRlZCBhY2Nlc3MgdW5pZm9ybWl0eSBjaGVjayBpbiBhIGZ1bmN0 aW9uCiAgcmlzY3Y6IG1pc2FsaWduZWQ6IGFkZCBhIGZ1bmN0aW9uIHRvIGNoZWNrIG1pc2FsaWdu IHRyYXAgZGVsZWdhYmlsaXR5CiAgcmlzY3Y6IG1pc2FsaWduZWQ6IGZhY3Rvcml6ZSB0cmFwIGhh bmRsaW5nCiAgcmlzY3Y6IG1pc2FsaWduZWQ6IGVuYWJsZSBJUlFzIHdoaWxlIGhhbmRsaW5nIG1p c2FsaWduZWQgYWNjZXNzZXMKICByaXNjdjogbWlzYWxpZ25lZDogdXNlIGdldF91c2VyKCkgaW5z dGVhZCBvZiBfX2dldF91c2VyKCkKICBEb2N1bWVudGF0aW9uL3N5c2N0bDogYWRkIHJpc2N2IHRv IHVuYWxpZ25lZC10cmFwIHN1cHBvcnRlZCBhcmNocwogIHNlbGZ0ZXN0czogcmlzY3Y6IGFkZCBt aXNhbGlnbmVkIGFjY2VzcyB0ZXN0aW5nCiAgUklTQy1WOiBLVk06IGFkZCBTQkkgZXh0ZW5zaW9u IGluaXQoKS9kZWluaXQoKSBmdW5jdGlvbnMKICBSSVNDLVY6IEtWTTogYWRkIFNCSSBleHRlbnNp b24gcmVzZXQgY2FsbGJhY2sKICBSSVNDLVY6IEtWTTogYWRkIHN1cHBvcnQgZm9yIEZXRlQgU0JJ IGV4dGVuc2lvbgogIFJJU0MtVjogS1ZNOiBhZGQgc3VwcG9ydCBmb3IgU0JJX0ZXRlRfTUlTQUxJ R05FRF9ERUxFRwoKIERvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvc3lzY3RsL2tlcm5lbC5yc3Qg ICB8ICAgNCArLQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9jcHVmZWF0dXJlLmggICAgICAgICAg IHwgICA4ICstCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmggICAgICAgICAgICAg fCAgIDUgKy0KIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20va3ZtX3ZjcHVfc2JpLmggICAgICAgICB8 ICAxMiArCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2t2bV92Y3B1X3NiaV9md2Z0LmggICAgfCAg MzEgKysrCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3NiaS5oICAgICAgICAgICAgICAgICAgfCAg MzggKysrCiBhcmNoL3Jpc2N2L2luY2x1ZGUvdWFwaS9hc20va3ZtLmggICAgICAgICAgICAgfCAg IDEgKwogYXJjaC9yaXNjdi9rZXJuZWwvc2JpLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTIz ICsrKysrKysrKwogYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHMuYyAgICAgICAgICAgICAgICAgICAg IHwgIDU3ICsrLS0KIGFyY2gvcmlzY3Yva2VybmVsL3RyYXBzX21pc2FsaWduZWQuYyAgICAgICAg ICB8IDExOSArKysrKysrLQogYXJjaC9yaXNjdi9rZXJuZWwvdW5hbGlnbmVkX2FjY2Vzc19zcGVl ZC5jICAgIHwgIDExICstCiBhcmNoL3Jpc2N2L2t2bS9NYWtlZmlsZSAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDEgKwogYXJjaC9yaXNjdi9rdm0vdmNwdS5jICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICA3ICstCiBhcmNoL3Jpc2N2L2t2bS92Y3B1X3NiaS5jICAgICAgICAgICAgICAgICAg ICAgfCAgNTcgKysrKwogYXJjaC9yaXNjdi9rdm0vdmNwdV9zYmlfZndmdC5jICAgICAgICAgICAg ICAgIHwgMjUxICsrKysrKysrKysrKysrKysrCiBhcmNoL3Jpc2N2L2t2bS92Y3B1X3NiaV9zdGEu YyAgICAgICAgICAgICAgICAgfCAgIDMgKy0KIC4uLi9zZWxmdGVzdHMvcmlzY3YvbWlzYWxpZ25l ZC8uZ2l0aWdub3JlICAgICB8ICAgMSArCiAuLi4vc2VsZnRlc3RzL3Jpc2N2L21pc2FsaWduZWQv TWFrZWZpbGUgICAgICAgfCAgMTIgKwogLi4uL3NlbGZ0ZXN0cy9yaXNjdi9taXNhbGlnbmVkL2Nv bW1vbi5TICAgICAgIHwgIDMzICsrKwogLi4uL3Rlc3Rpbmcvc2VsZnRlc3RzL3Jpc2N2L21pc2Fs aWduZWQvZnB1LlMgIHwgMTgwICsrKysrKysrKysrKysKIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3Rz L3Jpc2N2L21pc2FsaWduZWQvZ3AuUyB8IDEwMyArKysrKysrCiAuLi4vc2VsZnRlc3RzL3Jpc2N2 L21pc2FsaWduZWQvbWlzYWxpZ25lZC5jICAgfCAyNTQgKysrKysrKysrKysrKysrKysrCiAyMiBm aWxlcyBjaGFuZ2VkLCAxMjY0IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvaW5jbHVkZS9hc20va3ZtX3ZjcHVfc2JpX2Z3ZnQuaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3Yva3ZtL3ZjcHVfc2JpX2Z3ZnQuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Jpc2N2L21pc2FsaWduZWQvLmdp dGlnbm9yZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Jpc2N2 L21pc2FsaWduZWQvTWFrZWZpbGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9yaXNjdi9taXNhbGlnbmVkL2NvbW1vbi5TCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9v bHMvdGVzdGluZy9zZWxmdGVzdHMvcmlzY3YvbWlzYWxpZ25lZC9mcHUuUwogY3JlYXRlIG1vZGUg MTAwNjQ0IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Jpc2N2L21pc2FsaWduZWQvZ3AuUwogY3Jl YXRlIG1vZGUgMTAwNjQ0IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Jpc2N2L21pc2FsaWduZWQv bWlzYWxpZ25lZC5jCgotLSAKMi40Ny4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1yaXNjdgo=