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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 39BD9C3600C for ; Thu, 3 Apr 2025 23:07:45 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u0TeI-0005OE-H4; Thu, 03 Apr 2025 19:07:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u0TeG-0005NT-Ac for grub-devel@gnu.org; Thu, 03 Apr 2025 19:07:00 -0400 Received: from mail-lf1-x12f.google.com ([2a00:1450:4864:20::12f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u0TeD-0003Cf-8a for grub-devel@gnu.org; Thu, 03 Apr 2025 19:07:00 -0400 Received: by mail-lf1-x12f.google.com with SMTP id 2adb3069b0e04-54963160818so1705049e87.2 for ; Thu, 03 Apr 2025 16:06:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743721614; x=1744326414; darn=gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=z2DYe4o+3HCM+6959vs3ba2PTO6Im4n6DPM3E8ka9Ck=; b=Ot5Datq4ji7vtWgnqYAE/kgZ2i6fh9l8AO/cuYq/PLNWSZboSiAxRwrypDxTMKoMoo wqEDrtHyrsUSzj8pIBI4oZ8laKQDW5W5SHnrvX5GFUJO7OrjNBTnjJug9pWdd+x0Am3G 4DYU4nUheh7pMkJE4lszbXmRUgYrjwenY+u+Z76buUK+BN8UgUm4ZPJYwPIFRVbU5XJE LHvGoT+cpyEuxFnrAE+ck4euUYpzq5X39/v025waqkocaxYEUp5IuF5KfGKW/EyUECES 9t316IofrAwh22L8fAz78cGZ79GSyziL1FeNAzgBxusXtty6ZXAF4uGVOaD4dmmhGI1/ pKeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743721614; x=1744326414; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=z2DYe4o+3HCM+6959vs3ba2PTO6Im4n6DPM3E8ka9Ck=; b=H3dLJpxmA+55wSEcibVKfiBy8Tmu4oXUpTbo8WuIAQaWWqXB8RkNkWgictqewJVUQB BuXxvkKjAI+QOfWeMV8UO3HHXFBNXQ/minTgvzBgXrMIicVqZUzIPCWnqbpvlk16sf8G a6T2WOel9UzlZuy0JQnlTO3vkabf/On1dnd2I3gv0AXE2XxvbYi3r/BWVw69R6AOquMO wv57jq7Lblx4RL7mPNHOJZJDO4Rvj5eaKtG8zHW5nYN+ta6+RzdTqsvOyOns4ny3ghuf sGjzLbMefqv9SnJHZCCD/frPGgxkUHri0Rt/8haQG0oyQ7DcJkqWDIi9aNP+zqGmh5cR +eqw== X-Gm-Message-State: AOJu0YxwYsGWca2qYgsKS7UrxfqOSAwlkwX/nuFPp2dMtKU0Yh29+qKM QKrsbUE63la7Mh3M1UIcmtlNWke19doElmR3539vprlAWRBUbdmtEvAtwOlc X-Gm-Gg: ASbGnctTIbgr8bF+lb7DEm7hrzVPQ/fBt71cRVyrgTj+Xn1wcKibccdaDYBh6Yft6fF 6Tp6LyMcUjQMz61bgA8YSkU2Y2D49CV7UF1D/oJiDR7RrXmZ347/neBP13WpyUhT79fLQdCnLq4 1e50VIpHr4cETG8cqUvD6VhoACdvg084s2kgY4l0k+Oq1B0VpTUDwjUcryNrK8DTivqiHrMT66m uTBJe2foXUGe7HyhZ9gKbPAx6T+iQyj7m/BiWzslLJCKJzf6ExOPvd7Ar6FUN4V9UgkAZXnB7/4 npLEe1t2luK+L3H4rwW/Wgp/h6LQGGdaw/w= X-Google-Smtp-Source: AGHT+IE0VhEVmUqTorwUN+jqOewaKmpW/29tbFxD8R4CELLkb/wH4QBCriAwsOZrLPG9LmAQAsyr2w== X-Received: by 2002:a05:6512:114f:b0:549:883f:665b with SMTP id 2adb3069b0e04-54c232fa7acmr110778e87.34.1743721614366; Thu, 03 Apr 2025 16:06:54 -0700 (PDT) Received: from localhost ([5.166.23.113]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54c1e65dd30sm273638e87.205.2025.04.03.16.06.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 16:06:54 -0700 (PDT) From: Vladimir Serbinenko To: grub-devel@gnu.org Cc: Vladimir Serbinenko Subject: [PATCH v8 5/9] Add DSA and RSA SEXP tests Date: Fri, 4 Apr 2025 02:05:07 +0300 Message-ID: <20250403230630.3572282-6-phcoder@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250403230630.3572282-1-phcoder@gmail.com> References: <20250403230630.3572282-1-phcoder@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::12f; envelope-from=phcoder@gmail.com; helo=mail-lf1-x12f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org VGhpcyBhbGxvd3MgdXMgdG8gdGVzdCBwdXJlbHkgdGhlIGludGVncmF0aW9uIG9mIHRoZSBpbXBs ZW1lbnRhdGlvbgpvZiBEU0EgYW5kIFJTQSBmcm9tIGxpYmdjcnlwdCB3aXRob3V0IGNvbmNlcm5p bmcgd2l0aCBhZGRpdGlvbmFsCmNvZGUuCgpTaWduZWQtb2ZmLWJ5OiBWbGFkaW1pciBTZXJiaW5l bmtvIDxwaGNvZGVyQGdtYWlsLmNvbT4KLS0tCiBncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYg ICAgIHwgIDE2ICsrKysKIGdydWItY29yZS90ZXN0cy9kc2Ffc2V4cF90ZXN0LmMgfCAxMjcgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGdydWItY29yZS90ZXN0cy9yc2Ffc2V4cF90 ZXN0LmMgfCAxMDEgKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAy NDQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdydWItY29yZS90ZXN0cy9kc2Ff c2V4cF90ZXN0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBncnViLWNvcmUvdGVzdHMvcnNhX3NleHBf dGVzdC5jCgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL01ha2VmaWxlLmNvcmUuZGVmIGIvZ3J1Yi1j b3JlL01ha2VmaWxlLmNvcmUuZGVmCmluZGV4IGMxMzk3ZmNmMC4uNzcwZjZlMGM1IDEwMDY0NAot LS0gYS9ncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYKKysrIGIvZ3J1Yi1jb3JlL01ha2VmaWxl LmNvcmUuZGVmCkBAIC0yMTgwLDYgKzIxODAsMjIgQEAgbW9kdWxlID0gewogICBjb21tb24gPSB0 ZXN0cy9zZXRqbXBfdGVzdC5jOwogfTsKIAorbW9kdWxlID0geworICBuYW1lID0gZHNhX3NleHBf dGVzdDsKKyAgY29tbW9uID0gdGVzdHMvZHNhX3NleHBfdGVzdC5jOworCisgIGNmbGFncyA9ICck KENGTEFHU19HQ1JZKSAtV25vLXJlZHVuZGFudC1kZWNscyAtV25vLXNpZ24tY29tcGFyZSc7Cisg IGNwcGZsYWdzID0gJyQoQ1BQRkxBR1NfR0NSWSknOworfTsKKworbW9kdWxlID0geworICBuYW1l ID0gcnNhX3NleHBfdGVzdDsKKyAgY29tbW9uID0gdGVzdHMvcnNhX3NleHBfdGVzdC5jOworCisg IGNmbGFncyA9ICckKENGTEFHU19HQ1JZKSAtV25vLXJlZHVuZGFudC1kZWNscyAtV25vLXNpZ24t Y29tcGFyZSc7CisgIGNwcGZsYWdzID0gJyQoQ1BQRkxBR1NfR0NSWSknOworfTsKKwogbW9kdWxl ID0gewogICBuYW1lID0gc2lnbmF0dXJlX3Rlc3Q7CiAgIGNvbW1vbiA9IHRlc3RzL3NpZ25hdHVy ZV90ZXN0LmM7CmRpZmYgLS1naXQgYS9ncnViLWNvcmUvdGVzdHMvZHNhX3NleHBfdGVzdC5jIGIv Z3J1Yi1jb3JlL3Rlc3RzL2RzYV9zZXhwX3Rlc3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLjMxNjAwZDkwMQotLS0gL2Rldi9udWxsCisrKyBiL2dydWItY29yZS90ZXN0 cy9kc2Ffc2V4cF90ZXN0LmMKQEAgLTAsMCArMSwxMjcgQEAKKy8qCisgKiAgR1JVQiAgLS0gIEdS YW5kIFVuaWZpZWQgQm9vdGxvYWRlcgorICogIENvcHlyaWdodCAoQykgMjAyNSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKyAqCisgKiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog IEdSVUIgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK KyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggR1JVQi4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaW5jbHVk ZSA8Z3J1Yi90ZXN0Lmg+CisjaW5jbHVkZSA8Z3J1Yi9jcnlwdG8uaD4KKyNpbmNsdWRlIDxncnVi L2djcnlwdC9nY3J5cHQuaD4KKworR1JVQl9NT0RfTElDRU5TRSAoIkdQTHYzKyIpOworCisvKiBT YW1wbGUgRFNBIHB1YmxpYyBrZXkuICAqLworc3RhdGljIGNoYXIgcHVia2V5X2R1bXBbXSA9IHsK KyAgMHgyOCwgMHgzMSwgMHgzMCwgMHgzYSwgMHg3MCwgMHg3NSwgMHg2MiwgMHg2YywKKyAgMHg2 OSwgMHg2MywgMHgyZCwgMHg2YiwgMHg2NSwgMHg3OSwgMHgyOCwgMHgzMywKKyAgMHgzYSwgMHg2 NCwgMHg3MywgMHg2MSwgMHgyOCwgMHgzMSwgMHgzYSwgMHg3MCwKKyAgMHgzMSwgMHgzMiwgMHgz OSwgMHgzYSwgMHgwMCwgMHhjMCwgMHg1MCwgMHgxNCwKKyAgMHg0YywgMHg5NywgMHgxMCwgMHg2 OSwgMHgwNywgMHhhNywgMHhlOSwgMHgyYiwKKyAgMHhlNSwgMHhjNiwgMHg4OCwgMHhlMSwgMHg2 ZCwgMHhkOCwgMHgzOCwgMHgyOCwKKyAgMHgwOSwgMHg0OSwgMHg1YiwgMHhlOCwgMHhhMywgMHgw NCwgMHhiOCwgMHhjNCwKKyAgMHg2ZSwgMHg5OCwgMHhjMSwgMHhjMiwgMHhiMCwgMHgyYSwgMHhl MCwgMHhlMiwKKyAgMHgxYSwgMHgzMCwgMHhkMiwgMHhkYiwgMHg0NSwgMHgxYSwgMHg4OCwgMHg4 MCwKKyAgMHgyOCwgMHgyNCwgMHhiMCwgMHhiZiwgMHhjMiwgMHhiZCwgMHhlOSwgMHhmNiwKKyAg MHg5ZCwgMHhhMiwgMHgwMSwgMHg5NCwgMHhlNiwgMHg3ZiwgMHhhMCwgMHhiNiwKKyAgMHhlNCwg MHgzOSwgMHhmYywgMHg1NCwgMHhiYSwgMHg5OSwgMHhiNiwgMHhiZSwKKyAgMHgzOSwgMHhlZSwg MHhhNSwgMHhkOSwgMHhhMCwgMHgzNSwgMHgzYywgMHgyZCwKKyAgMHgzZSwgMHg5NiwgMHhjMywg MHg5NiwgMHhhNSwgMHgwZCwgMHgyYiwgMHhiZiwKKyAgMHgzYiwgMHhhMywgMHhlMiwgMHhlOCwg MHg4OSwgMHhlZCwgMHg2MCwgMHhlMCwKKyAgMHg0MywgMHg2MSwgMHhiNiwgMHg3MywgMHhmNiwg MHhhNywgMHhiNCwgMHg1NiwKKyAgMHg3NiwgMHgwNCwgMHhmNywgMHg4YiwgMHhmMSwgMHg4NCwg MHhhYSwgMHgzZSwKKyAgMHhlMCwgMHgwOCwgMHhhZCwgMHhkZCwgMHhjMiwgMHgzNiwgMHhmZCwg MHgzZCwKKyAgMHhkMCwgMHhhZCwgMHhmNCwgMHgzYSwgMHg3ZSwgMHg4MCwgMHg4YywgMHg1MiwK KyAgMHgyYiwgMHgwNCwgMHhhOCwgMHgwMywgMHgyNywgMHgyOSwgMHgyOCwgMHgzMSwKKyAgMHgz YSwgMHg3MSwgMHgzMiwgMHgzMSwgMHgzYSwgMHgwMCwgMHhkNSwgMHgzNCwKKyAgMHhkMiwgMHhj NSwgMHgxYywgMHgyNiwgMHhkZiwgMHhiMCwgMHhiYSwgMHg3OCwKKyAgMHg3NSwgMHhlNSwgMHhl OSwgMHgzNiwgMHg2YiwgMHgwNCwgMHgwMywgMHhlMiwKKyAgMHg1NywgMHgzZiwgMHgyOSwgMHgy OCwgMHgzMSwgMHgzYSwgMHg2NywgMHgzMSwKKyAgMHgzMiwgMHgzOCwgMHgzYSwgMHgzYiwgMHhh MCwgMHhhYywgMHhhMywgMHhhMSwKKyAgMHhkMSwgMHgwNCwgMHgyMywgMHg1ZiwgMHg5ZiwgMHhi YywgMHg2ZCwgMHg5ZSwKKyAgMHg4OCwgMHgyYSwgMHgyOCwgMHhjMSwgMHg0OCwgMHhhZiwgMHhh NSwgMHgxNywKKyAgMHg1OSwgMHgzYSwgMHgxNywgMHgzMywgMHg1NiwgMHhhYSwgMHg4ZCwgMHgy NywKKyAgMHg2NCwgMHhmZSwgMHg4ZSwgMHg4YSwgMHgyZSwgMHhiYSwgMHhmMiwgMHg2NiwKKyAg MHhjYywgMHg2NiwgMHhiZCwgMHhhNCwgMHhmZSwgMHhhOSwgMHgwNywgMHgwZCwKKyAgMHhhZSwg MHg4YywgMHg5ZiwgMHg3MCwgMHhmNywgMHg4NywgMHhhYSwgMHgwMSwKKyAgMHg0NywgMHg2Yiwg MHhmOSwgMHgwZiwgMHgwOSwgMHgxOCwgMHg0MiwgMHg3NiwKKyAgMHhjNCwgMHhhMywgMHhiOSwg MHg1NSwgMHgxMSwgMHg4ZCwgMHhhMywgMHhhNSwKKyAgMHg2OSwgMHgzMCwgMHg5MSwgMHhiNywg MHgwMywgMHhlZiwgMHg3ZiwgMHgxMiwKKyAgMHhlNiwgMHhiOSwgMHg3OCwgMHg3MywgMHhlMCwg MHhjMCwgMHg0ZiwgMHhjNiwKKyAgMHhkOSwgMHg0MywgMHg5OSwgMHg5NSwgMHgwYiwgMHg0ZCwg MHg1OCwgMHhkMywKKyAgMHg2YiwgMHg3NiwgMHhiMCwgMHg2YSwgMHhjZiwgMHg2OCwgMHg2ZCwg MHhmMCwKKyAgMHhkOSwgMHhjMSwgMHg4OCwgMHg0MywgMHg5ZCwgMHhmOSwgMHgwNCwgMHhjYiwK KyAgMHhjOSwgMHg4MiwgMHg2YywgMHhlZSwgMHhkNCwgMHg5YywgMHhiZCwgMHgxYywKKyAgMHg0 ZCwgMHg1NCwgMHgyOSwgMHg4MywgMHhhOSwgMHg1ZSwgMHhhYSwgMHgxMCwKKyAgMHhhNywgMHhj MSwgMHgwNCwgMHgyOSwgMHgyOCwgMHgzMSwgMHgzYSwgMHg3OSwKKyAgMHgzMSwgMHgzMiwgMHgz OSwgMHgzYSwgMHgwMCwgMHg4MiwgMHgzMywgMHhmMSwKKyAgMHg5MSwgMHhlMywgMHhmMiwgMHgx MiwgMHg5MywgMHg1YSwgMHhlZCwgMHgwYywKKyAgMHg5ZCwgMHhlYywgMHg2NywgMHhhYSwgMHhh NywgMHg5NywgMHg3ZiwgMHg5ZiwKKyAgMHg1ZSwgMHhlZiwgMHg2YSwgMHgzZSwgMHhhNCwgMHg3 ZiwgMHg5YiwgMHhlZCwKKyAgMHg2NSwgMHhkNywgMHhiYSwgMHg0MCwgMHg2ZCwgMHhlMSwgMHhk ZSwgMHhjMSwKKyAgMHgxNCwgMHg0YywgMHg5YiwgMHgyOCwgMHg1YywgMHgwMywgMHg4ZSwgMHgx YSwKKyAgMHhkNCwgMHgxYiwgMHg4MCwgMHgxYiwgMHgwNywgMHhkNiwgMHg4NCwgMHgwNCwKKyAg MHg0OSwgMHg2YywgMHgxYiwgMHgwOCwgMHg4NCwgMHgxNSwgMHg1NCwgMHg2MiwKKyAgMHhjYSwg MHhkNSwgMHg3NSwgMHhmZiwgMHhjOCwgMHhiMywgMHg4MSwgMHg3NiwKKyAgMHg4MiwgMHg5MSwg MHgzNSwgMHg4MCwgMHgyMCwgMHg3MywgMHgyYSwgMHgyMSwKKyAgMHhjYSwgMHgyMiwgMHgwNiwg MHhhNywgMHg3MywgMHg5OSwgMHg3NSwgMHg3ZSwKKyAgMHg1ZSwgMHhhNiwgMHgwOSwgMHg1OSwg MHg2NiwgMHgyYywgMHhjZCwgMHhiMSwKKyAgMHg4ZCwgMHgzYiwgMHhjMCwgMHg2OCwgMHhjNSwg MHg0MSwgMHhhMCwgMHg5ZCwKKyAgMHg4MiwgMHgxNSwgMHhjNCwgMHhkZCwgMHg0NywgMHgxYywg MHg1YiwgMHhhOSwKKyAgMHg3NCwgMHgxOCwgMHhhZiwgMHg3MiwgMHg2MywgMHg2YiwgMHgwYSwg MHg0ZSwKKyAgMHg5NSwgMHgwOSwgMHg3YSwgMHhiNSwgMHg0YiwgMHg5OCwgMHg4NSwgMHhiOSwK KyAgMHg2ZCwgMHg5ZCwgMHgzYiwgMHg3MywgMHg4YywgMHgyOSwgMHgyOSwgMHgyOSwKK307CisK Ky8qIFNhbXBsZSBEU0Egc2lnbmF0dXJlIG9mIG1lc3NhZ2UgImhlbGxvIiB3aXRoIHNhbXBsZSBr ZXkuICAqLworc3RhdGljIGNoYXIgc2lnX2R1bXBbXSA9IHsKKyAgMHgyOCwgMHgzNywgMHgzYSwg MHg3MywgMHg2OSwgMHg2NywgMHgyZCwgMHg3NiwKKyAgMHg2MSwgMHg2YywgMHgyOCwgMHgzMywg MHgzYSwgMHg2NCwgMHg3MywgMHg2MSwKKyAgMHgyOCwgMHgzMSwgMHgzYSwgMHg3MiwgMHgzMiwg MHgzMCwgMHgzYSwgMHhiNiwKKyAgMHg2MCwgMHgzNywgMHhlZiwgMHgwMiwgMHg3YywgMHg3Yywg MHg2ZSwgMHg0ZiwKKyAgMHg2NiwgMHg4YywgMHg3YywgMHgyNiwgMHg3NywgMHhkOSwgMHgzMywg MHg5MCwKKyAgMHhiYSwgMHg3YywgMHhmYiwgMHgyOSwgMHgyOCwgMHgzMSwgMHgzYSwgMHg3MywK KyAgMHgzMiwgMHgzMCwgMHgzYSwgMHg4MywgMHhjMCwgMHg4NCwgMHg3MiwgMHhjNiwKKyAgMHgx YywgMHg4NSwgMHg2ZiwgMHg4YiwgMHg5YiwgMHhiMCwgMHgzOCwgMHgzOCwKKyAgMHhiMiwgMHhi NiwgMHhkZiwgMHgxYywgMHg1MiwgMHg5NiwgMHgxYiwgMHgyOSwKKyAgMHgyOSwgMHgyOSwKK307 CisKK2V4dGVybiBnY3J5X3BrX3NwZWNfdCBfZ2NyeV9wdWJrZXlfc3BlY19kc2E7CisKK3N0YXRp YyB2b2lkCitkc2Ffc2V4cF90ZXN0ICh2b2lkKQoreworICBnY3J5X3NleHBfdCBzaWduX3Bhcm1z LCBzaWduX3Bhcm1zX2ludmFsaWQsIHB1YmtleSwgc2lnOworICBpbnQgcmM7CisgIGdydWJfc2l6 ZV90IGVycm9mOworCisgIHJjID0gX2djcnlfc2V4cF9idWlsZCAoJnNpZ25fcGFybXNfaW52YWxp ZCwgJmVycm9mLAorCQkJIihkYXRhICh2YWx1ZSBcImhpXCIpKVxuIik7CisgIGdydWJfdGVzdF9h c3NlcnQgKHJjID09IDAsICJzZXhwIGJ1aWxkIGZhaWxlZCIpOworCisgIHJjID0gX2djcnlfc2V4 cF9idWlsZCAoJnNpZ25fcGFybXMsICZlcnJvZiwKKwkJCSIoZGF0YSAodmFsdWUgXCJoZWxsb1wi KSlcbiIpOworICBncnViX3Rlc3RfYXNzZXJ0IChyYyA9PSAwLCAic2V4cCBidWlsZCBmYWlsZWQi KTsKKyAgcmMgPSBfZ2NyeV9zZXhwX25ldyAoJnB1YmtleSwgcHVia2V5X2R1bXAsIHNpemVvZihw dWJrZXlfZHVtcCksIDApOworICBncnViX3Rlc3RfYXNzZXJ0IChyYyA9PSAwLCAic2V4cCBuZXcg ZmFpbGVkIik7CisgIHJjID0gX2djcnlfc2V4cF9uZXcgKCZzaWcsIHNpZ19kdW1wLCBzaXplb2Yo c2lnX2R1bXApLCAwKTsKKyAgZ3J1Yl90ZXN0X2Fzc2VydCAocmMgPT0gMCwgInNleHAgbmV3IGZh aWxlZCIpOworICByYyA9IF9nY3J5X3B1YmtleV9zcGVjX2RzYS52ZXJpZnkgKHNpZywgc2lnbl9w YXJtcywgcHVia2V5KTsKKyAgZ3J1Yl90ZXN0X2Fzc2VydCAocmMgPT0gMCwgInNpZ25hdHVyZSB2 ZXJpZmljYXRpb24gZmFpbGVkOiAlZCIsIHJjKTsKKyAgcmMgPSBfZ2NyeV9wdWJrZXlfc3BlY19k c2EudmVyaWZ5IChzaWcsIHNpZ25fcGFybXNfaW52YWxpZCwgcHVia2V5KTsKKyAgZ3J1Yl90ZXN0 X2Fzc2VydCAocmMgIT0gMCwgInNpZ25hdHVyZSB2ZXJpZmljYXRpb24gc3VjY2VkZWQgd3Jvbmds eSIpOworfQorCitHUlVCX0ZVTkNUSU9OQUxfVEVTVCAoZHNhX3NleHBfdGVzdCwgZHNhX3NleHBf dGVzdCk7CmRpZmYgLS1naXQgYS9ncnViLWNvcmUvdGVzdHMvcnNhX3NleHBfdGVzdC5jIGIvZ3J1 Yi1jb3JlL3Rlc3RzL3JzYV9zZXhwX3Rlc3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjZlYmJhODFmNgotLS0gL2Rldi9udWxsCisrKyBiL2dydWItY29yZS90ZXN0cy9y c2Ffc2V4cF90ZXN0LmMKQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiAgR1JVQiAgLS0gIEdSYW5k IFVuaWZpZWQgQm9vdGxvYWRlcgorICogIENvcHlyaWdodCAoQykgMjAyNSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKyAqCisgKiAgR1JVQiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIEdS VUIgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggR1JVQi4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaW5jbHVkZSA8 Z3J1Yi90ZXN0Lmg+CisjaW5jbHVkZSA8Z3J1Yi9jcnlwdG8uaD4KKyNpbmNsdWRlIDxncnViL2dj cnlwdC9nY3J5cHQuaD4KKworR1JVQl9NT0RfTElDRU5TRSAoIkdQTHYzKyIpOworCisvKiBTYW1w bGUgUlNBIGtleS4gICovCitzdGF0aWMgY2hhciBwdWJrZXlfZHVtcFtdID0geworICAweDI4LCAw eDMxLCAweDMwLCAweDNhLCAweDcwLCAweDc1LCAweDYyLCAweDZjLAorICAweDY5LCAweDYzLCAw eDJkLCAweDZiLCAweDY1LCAweDc5LCAweDI4LCAweDMzLAorICAweDNhLCAweDcyLCAweDczLCAw eDYxLCAweDI4LCAweDMxLCAweDNhLCAweDZlLAorICAweDMxLCAweDMyLCAweDM5LCAweDNhLCAw eDAwLCAweGUxLCAweDM1LCAweGMxLAorICAweDk3LCAweDkwLCAweGU4LCAweDU0LCAweGE4LCAw eDNiLCAweDk3LCAweDA1LAorICAweGFmLCAweDQ1LCAweGFmLCAweDY3LCAweGJmLCAweGVjLCAw eDA3LCAweGJlLAorICAweDliLCAweDU1LCAweDljLCAweDNmLCAweDQ3LCAweGFlLCAweDI1LCAw eGI2LAorICAweGUzLCAweDIzLCAweDk5LCAweDEwLCAweDVlLCAweDE3LCAweDFhLCAweGRhLAor ICAweDMzLCAweGU2LCAweDczLCAweDBkLCAweDk2LCAweDljLCAweDVjLCAweDI1LAorICAweDEz LCAweDVkLCAweDQ5LCAweGI5LCAweDg2LCAweGMwLCAweGIxLCAweDgwLAorICAweDI5LCAweDIw LCAweGIyLCAweDkxLCAweDcyLCAweDQzLCAweGNjLCAweDJhLAorICAweDY3LCAweGQzLCAweDEx LCAweGU4LCAweDdiLCAweDIxLCAweDc1LCAweGY2LAorICAweDFiLCAweGMwLCAweGIyLCAweDAx LCAweGM4LCAweDM1LCAweGFhLCAweGZiLAorICAweGE3LCAweDI5LCAweGI0LCAweGI5LCAweDk0 LCAweDRlLCAweDUzLCAweDQ5LAorICAweDgyLCAweDc0LCAweGU5LCAweDIzLCAweDY5LCAweGE0 LCAweGY2LCAweGRmLAorICAweDQwLCAweDJhLCAweDczLCAweDAxLCAweGZhLCAweGU3LCAweGY4 LCAweDMyLAorICAweDZiLCAweDU3LCAweGZlLCAweGI5LCAweDdkLCAweDAyLCAweGMyLCAweGZi LAorICAweDdmLCAweDk5LCAweDFmLCAweDZlLCAweDhkLCAweDUzLCAweDAxLCAweDU2LAorICAw eGFmLCAweDQ2LCAweDYyLCAweGIzLCAweGUwLCAweGE4LCAweGE2LCAweDBhLAorICAweDU1LCAw eDJjLCAweDRiLCAweDg1LCAweDViLCAweDI5LCAweDI4LCAweDMxLAorICAweDNhLCAweDY1LCAw eDMzLCAweDNhLCAweDAxLCAweDAwLCAweDAxLCAweDI5LAorICAweDI5LCAweDI5LAorfTsKKwor LyogU2FtcGxlIFJTQSBzaWduYXR1cmUgb2YgbWVzc2FnZSAiaGVsbG8iIHdpdGggc2FtcGxlIGtl eS4gICovCitzdGF0aWMgY2hhciBzaWdfZHVtcFtdID0geworICAweDI4LCAweDM3LCAweDNhLCAw eDczLCAweDY5LCAweDY3LCAweDJkLCAweDc2LAorICAweDYxLCAweDZjLCAweDI4LCAweDMzLCAw eDNhLCAweDcyLCAweDczLCAweDYxLAorICAweDI4LCAweDMxLCAweDNhLCAweDczLCAweDMxLCAw eDMyLCAweDM4LCAweDNhLAorICAweDViLCAweDJkLCAweGViLCAweGE1LCAweDRiLCAweDhiLCAw eGQ5LCAweDkyLAorICAweDY2LCAweDU3LCAweDg5LCAweGQ4LCAweDMxLCAweGMwLCAweDBlLCAw eDUzLAorICAweGY4LCAweDFjLCAweDRmLCAweGM4LCAweDc5LCAweDY3LCAweGI5LCAweDEwLAor ICAweGU1LCAweDYzLCAweDVmLCAweGVmLCAweGIxLCAweDBiLCAweDBlLCAweDdmLAorICAweGVk LCAweDg2LCAweDA2LCAweGE4LCAweDA1LCAweGJmLCAweDZiLCAweGQxLAorICAweDM2LCAweDQx LCAweDA4LCAweDNiLCAweGQwLCAweGJkLCAweGVmLCAweGI3LAorICAweGMyLCAweDY5LCAweGI4 LCAweGI0LCAweDNlLCAweDJjLCAweGI1LCAweDM5LAorICAweDEzLCAweDAzLCAweGNhLCAweGFk LCAweDVmLCAweGQyLCAweDU3LCAweDIzLAorICAweDE5LCAweGRkLCAweDcxLCAweGRkLCAweDkz LCAweGUxLCAweDNlLCAweDQzLAorICAweGFmLCAweGRkLCAweDk0LCAweDA3LCAweGYzLCAweDc4 LCAweGIzLCAweDJhLAorICAweDU3LCAweDI0LCAweDk3LCAweDA0LCAweDU4LCAweGMxLCAweGFm LCAweGQzLAorICAweGU3LCAweGE3LCAweDY1LCAweGQxLCAweDIzLCAweGEzLCAweDkzLCAweDE4 LAorICAweGM3LCAweDUyLCAweDcwLCAweDUzLCAweDYwLCAweDhiLCAweDVhLCAweDVkLAorICAw eDZlLCAweGY5LCAweDgzLCAweDUyLCAweDk5LCAweGJiLCAweDBhLCAweDUzLAorICAweDBlLCAw eDJhLCAweDdmLCAweDgxLCAweDUyLCAweDAyLCAweDMyLCAweGE0LAorICAweGZjLCAweGUwLCAw eDE3LCAweDBjLCAweDBlLCAweDk2LCAweGJkLCAweDAxLAorICAweDI5LCAweDI5LCAweDI5LAor fTsKKworZXh0ZXJuIGdjcnlfcGtfc3BlY190IF9nY3J5X3B1YmtleV9zcGVjX3JzYTsKKworc3Rh dGljIHZvaWQKK3JzYV9zZXhwX3Rlc3QgKHZvaWQpCit7CisgIGdjcnlfc2V4cF90IHNpZ25fcGFy bXMsIHNpZ25fcGFybXNfaW52YWxpZCwgcHVia2V5LCBzaWc7CisgIGludCByYzsKKyAgZ3J1Yl9z aXplX3QgZXJyb2Y7CisKKyAgcmMgPSBfZ2NyeV9zZXhwX2J1aWxkICgmc2lnbl9wYXJtc19pbnZh bGlkLCAmZXJyb2YsCisJCQkiKGRhdGEgKGZsYWdzKSAodmFsdWUgXCJoaVwiKSlcbiIpOworICBn cnViX3Rlc3RfYXNzZXJ0IChyYyA9PSAwLCAic2V4cCBidWlsZCBmYWlsZWQiKTsKKworICByYyA9 IF9nY3J5X3NleHBfYnVpbGQgKCZzaWduX3Bhcm1zLCAmZXJyb2YsCisJCQkiKGRhdGEgKGZsYWdz KSAodmFsdWUgXCJoZWxsb1wiKSlcbiIpOworICBncnViX3Rlc3RfYXNzZXJ0IChyYyA9PSAwLCAi c2V4cCBidWlsZCBmYWlsZWQiKTsKKyAgcmMgPSBfZ2NyeV9zZXhwX25ldyAoJnB1YmtleSwgcHVi a2V5X2R1bXAsIHNpemVvZihwdWJrZXlfZHVtcCksIDApOworICBncnViX3Rlc3RfYXNzZXJ0IChy YyA9PSAwLCAic2V4cCBuZXcgZmFpbGVkIik7CisgIHJjID0gX2djcnlfc2V4cF9uZXcgKCZzaWcs IHNpZ19kdW1wLCBzaXplb2Yoc2lnX2R1bXApLCAwKTsKKyAgZ3J1Yl90ZXN0X2Fzc2VydCAocmMg PT0gMCwgInNleHAgbmV3IGZhaWxlZCIpOworICByYyA9IF9nY3J5X3B1YmtleV9zcGVjX3JzYS52 ZXJpZnkgKHNpZywgc2lnbl9wYXJtcywgcHVia2V5KTsKKyAgZ3J1Yl90ZXN0X2Fzc2VydCAocmMg PT0gMCwgInNpZ25hdHVyZSB2ZXJpZmljYXRpb24gZmFpbGVkOiAlZCIsIHJjKTsKKyAgcmMgPSBf Z2NyeV9wdWJrZXlfc3BlY19yc2EudmVyaWZ5IChzaWcsIHNpZ25fcGFybXNfaW52YWxpZCwgcHVi a2V5KTsKKyAgZ3J1Yl90ZXN0X2Fzc2VydCAocmMgIT0gMCwgInNpZ25hdHVyZSB2ZXJpZmljYXRp b24gc3VjY2VkZWQgd3JvbmdseSIpOworfQorCitHUlVCX0ZVTkNUSU9OQUxfVEVTVCAocnNhX3Nl eHBfdGVzdCwgcnNhX3NleHBfdGVzdCk7Ci0tIAoyLjQ5LjAKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpHcnViLWRldmVsIG1haWxpbmcgbGlzdApHcnVi LWRldmVsQGdudS5vcmcKaHR0cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vZ3J1 Yi1kZXZlbAo=