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 407A9C87FC5 for ; Mon, 21 Jul 2025 07:58:00 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1udlP1-0005yV-MC; Mon, 21 Jul 2025 03:57:39 -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 1udlOk-0005gE-W1 for grub-devel@gnu.org; Mon, 21 Jul 2025 03:57:24 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1udlOi-0004YY-Df for grub-devel@gnu.org; Mon, 21 Jul 2025 03:57:22 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-45611a6a706so20685535e9.1 for ; Mon, 21 Jul 2025 00:57:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753084637; x=1753689437; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=k47QHArOiZ1OxTue4IV+QtR28lVvTah4G+ZZNbV0WQw=; b=lZyO6tnjBcpKhcj/vpekwK4Xya3ifrEZrDJLTldSJasmZ8M02paumzs4TOcZxMY23y BERD4peMVD5sYcX4ZN6eg/CBCQvBFLjVVbhaWn8AE5n8U16s9rVxsa+g5wDkx3u/zErm sNQFXPoTJlhYPEAZN8VWd+2+YjeIf8AoX4Tjqd4fOetqqoXgwfRB1MuGjYcjRvIWE6hu x2g0ZWgBSHwYbWDvMqLemIx0cIqquUGU6XmlIeYW+lREb4ddMqBO7w7oNj4bqZTWQetc R0QO3kNYJhJACoMVwJerb6379F9Lp67I8WVwlzFRqbpjqSgXCu9LFbSZ4tN3+V3ZuPFc 1IYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753084637; x=1753689437; 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=k47QHArOiZ1OxTue4IV+QtR28lVvTah4G+ZZNbV0WQw=; b=oePxuCaKGGsUSDOIxdr1zUb76TE2DAwEUG7iBrmQFUgySYnZ9DwufnZn59vws3LTXM RN1n4QiU2Js0L/ngoDdbELrYcz5VXzH6xjwU1VUVWGeFNXYppFPFN0o1of2+p/C5iJPC buJReab5LJlWHDeW3UpdqVL45kIIXyxUw5u2rUHquTzdr9rvXuXMdpCXVuO5EfUSVzup tDT1nlvvHZBawzsGbSk4M1oGb0iWe1On1NlQGeMFgWSDu4KX7AbP+z3ykYz0OtjFY29m 9UOapiNX0NZfeDNHh8jb647bhbOlbvdxvKTkt2lEe17a9wGrHAFt4t/1UMUi157CPvrI Y47Q== X-Gm-Message-State: AOJu0YzQQcaG980sJUdSOh0ZFUaUZg5hoW4bvfU41wwJxAQfRsSSGstT dWfDkjWzB7U6wqfnfI28tKrwLqPi2cnyE2g3tAAGidUMCiAIi7uDU7/RsCYzOYLBThc= X-Gm-Gg: ASbGncuNh3ZeJTd+HhwmRdwBE+/o9AxmWfwOUDlkFtLnUMgsa/bJ0Hw5YzQiD2WUnzJ d1AYF0bAzsMYps02GSXuSSbOfRbjE8u3Qx/S9c6OcirY+PiimR9Spascxb0PGHcSCsm5yJ8V8Zm uFO6ct4C4qA0eWdrMvgr3Sd5MMh/M8o8FKp7AgqujKkUVqtXnLPocJG1Dm0G5RuC1/s7ghdxVak FNrCuTe0Pzf9GdZwmcMuBjNiDJK9TdViArfzQqDgdMWdphnQQwkWxCT84untEWtY7a5qHz6apjk uth96cnAwomDdSpTEKyiIzDwPG9tn0f7tVwDy44YIv/aIGXSvHn7cE57F44tVLSUla45GH0cJSl kuJj6HVd3gretki0mBWVB3d8MSOUSOtE0fZkUgDJN3wXOKdg= X-Google-Smtp-Source: AGHT+IGikiA8yZsxS0bSc0syS+A2tJsEakgz2V+5+vjxtx2+1QD9Yo+BjIbsi5m6A0bl07FKvqmXog== X-Received: by 2002:a05:6000:288e:b0:3a4:c9d4:2fb2 with SMTP id ffacd0b85a97d-3b60e51bbdamr14524640f8f.46.1753084637040; Mon, 21 Jul 2025 00:57:17 -0700 (PDT) Received: from localhost.localdomain ([41.79.198.24]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b61ca4d95esm9633223f8f.75.2025.07.21.00.57.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jul 2025 00:57:16 -0700 (PDT) From: Khalid Ali X-Google-Original-From: Khalid Ali Subject: [PATCH v7] commands/efi: Add a command to dump all UEFI runtime variables Date: Mon, 21 Jul 2025 07:55:44 +0000 Message-ID: <20250721075607.674-1-khaliidcaliy@gmail.com> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=khaliidcaliy@gmail.com; helo=mail-wm1-x32d.google.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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, RCVD_IN_SBL_CSS=3.335, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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 RnJvbTogS2hhbGlkIEFsaSA8a2hhbGlpZGNhbHlAZ21haWwuY29tPgoKVGhpcyBjb21tYW5kIGlz IGludGVuZGVkIHRvIHByaW50IG9yIGR1bXAgYWxsIFVFRkkgcnVudGltZSBzZXJ2aWNlcy4KVGhl IHN0cnVjdHVyZSB3aWxsIGxvb2sgbGlrZSBlZml2YXIgdG9vbCwgc2luY2UgdmlzdWFsbHkgbW9z dCBwZW9wbGUgYXJlCmZhbWlsaWFyIHdpdGggaXQuIEFsbCB1ZWZpIHZhcmlhYmxlcyBhcmUgZHVt cGVkIGFzIGhleCBubyBtYXR0ZXIgd2hhdApkYXRhIHR5cGUgaXMuCgpTaWduZWQtb2ZmLWJ5OiBL aGFsaWQgQWxpIDxraGFsaWlkY2FseUBnbWFpbC5jb20+Ci0tLQogZ3J1Yi1jb3JlL01ha2VmaWxl LmNvcmUuZGVmICAgICAgIHwgICA2ICsrCiBncnViLWNvcmUvY29tbWFuZHMvZWZpL2xzZWZpdmFy LmMgfCAxMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs IDE0MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3J1Yi1jb3JlL2NvbW1hbmRz L2VmaS9sc2VmaXZhci5jCgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL01ha2VmaWxlLmNvcmUuZGVm IGIvZ3J1Yi1jb3JlL01ha2VmaWxlLmNvcmUuZGVmCmluZGV4IGIzZjcxMTk2YS4uNzFmNTYyYTI4 IDEwMDY0NAotLS0gYS9ncnViLWNvcmUvTWFrZWZpbGUuY29yZS5kZWYKKysrIGIvZ3J1Yi1jb3Jl L01ha2VmaWxlLmNvcmUuZGVmCkBAIC04MjgsNiArODI4LDEyIEBAIG1vZHVsZSA9IHsKICAgZW5h YmxlID0gZWZpOwogfTsKIAorbW9kdWxlID0geworICBuYW1lID0gbHNlZml2YXI7CisgIGNvbW1v biA9IGNvbW1hbmRzL2VmaS9sc2VmaXZhci5jOworICBlbmFibGUgPSBlZmk7Cit9OworCiBtb2R1 bGUgPSB7CiAgIG5hbWUgPSBlZmlmd3NldHVwOwogICBlZmkgPSBjb21tYW5kcy9lZmkvZWZpZndz ZXR1cC5jOwpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2NvbW1hbmRzL2VmaS9sc2VmaXZhci5jIGIv Z3J1Yi1jb3JlL2NvbW1hbmRzL2VmaS9sc2VmaXZhci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uOGJiYWZkYzQ0Ci0tLSAvZGV2L251bGwKKysrIGIvZ3J1Yi1jb3JlL2Nv bW1hbmRzL2VmaS9sc2VmaXZhci5jCkBAIC0wLDAgKzEsMTM3IEBACisvKiBlZml2YXIuYyAtIGR1 bXAgcnVudGltZSB1ZWZpIHZhcmlhYmxlcy4gKi8KKy8qCisgKiAgR1JVQiAgLS0gIEdSYW5kIFVu aWZpZWQgQm9vdGxvYWRlcgorICogIENvcHlyaWdodCAoQykgMjAyNSAgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCisgKgorICogIEdSVUIgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBHUlVC IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIEdSVUIuICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworCisKKyNpbmNsdWRl IDxncnViL2RsLmg+CisjaW5jbHVkZSA8Z3J1Yi9taXNjLmg+CisjaW5jbHVkZSA8Z3J1Yi9jaGFy c2V0Lmg+CisjaW5jbHVkZSA8Z3J1Yi9leHRjbWQuaD4KKyNpbmNsdWRlIDxncnViL2VmaS9lZmku aD4KKyNpbmNsdWRlIDxncnViL2VmaS9hcGkuaD4KKyNpbmNsdWRlIDxncnViL2xpYi9oZXhkdW1w Lmg+CisKK0dSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKKworc3RhdGljIGNvbnN0IHN0cnVj dCBncnViX2FyZ19vcHRpb24gb3B0aW9uc1tdID0gCit7CisgICAgICAgezAsICdsJywgMCwgTl8o IkR1bXAgdmFyaWFibGUgY29udGVudHMiKSwgMCwgMH0sCisgICAgICAgezAsIDAsIDAsIDAsIDAs IDB9Cit9OworCitzdGF0aWMgdm9pZAorZHVtcF92YXJpYWJsZV9kYXRhKGNvbnN0IGNoYXIgKnZh cmlhYmxlX25hbWUsIGdydWJfZ3VpZF90ICp2YXJpYWJsZV9ndWlkKQoreworICAgIGdydWJfZWZp X3N0YXR1c190IHN0YXR1czsKKyAgICBncnViX2VmaV91aW50MzJfdCBhdHRyaWJ1dGVzOworICAg IGdydWJfc2l6ZV90IGRhdGFfc2l6ZTsKKyAgICB2b2lkICpkYXRhOworCisgICAgc3RhdHVzID0g Z3J1Yl9lZmlfZ2V0X3ZhcmlhYmxlX3dpdGhfYXR0cmlidXRlcyAodmFyaWFibGVfbmFtZSwgdmFy aWFibGVfZ3VpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZkYXRhX3NpemUsICZkYXRhLCAmYXR0cmlidXRlcyk7CisgICAgaWYgKHN0YXR1cyAh PSBHUlVCX0VGSV9TVUNDRVNTKQorICAgIHsKKyAgICAgICAgZ3J1Yl9lcnJubyA9IEdSVUJfRVJS X05PTkU7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBncnViX3B1dHNfIChOXygiQXR0 cmlidXRlczoiKSk7CisgICAgaWYgKGF0dHJpYnV0ZXMgJiBHUlVCX0VGSV9WQVJJQUJMRV9OT05f Vk9MQVRJTEUpCisgICAgICAgIGdydWJfcHV0c18gKE5fKCJcdE5vbi1Wb2xhdGlsZSIpKTsKKyAg ICBpZiAoYXR0cmlidXRlcyAmIEdSVUJfRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUykK KyAgICAgICAgZ3J1Yl9wdXRzXyAoTl8oIlx0Qm9vdCBTZXJ2aWNlIEFjY2VzcyIpKTsKKyAgICBp ZiAoYXR0cmlidXRlcyAmIEdSVUJfRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTKQorICAgICAg ICBncnViX3B1dHNfIChOXygiXHRSdW50aW1lIFNlcnZpY2UgQWNjZXNzIikpOworCisgICAgZ3J1 Yl9wdXRzXyAoTl8oIlZhbHVlOiIpKTsKKyAgICBoZXhkdW1wICgwLCBkYXRhLCBkYXRhX3NpemUp OworICAgIGdydWJfZnJlZSAoZGF0YSk7Cit9CisKK3N0YXRpYyBncnViX2Vycl90IAorZHVtcF9l ZmlfdmFyaWFibGVzKGdydWJfZWZpX2Jvb2xlYW5fdCBkdW1wX3ZhcmlhYmxlX2NvbnRlbnQpCit7 CisgICAgICAgZ3J1Yl9lZmlfc3RhdHVzX3Qgc3RhdHVzOworICAgICAgIGdydWJfZWZpX3J1bnRp bWVfc2VydmljZXNfdCAqcjsKKyAgICAgICBncnViX2VmaV91aW50bl90IHZhcmlhYmxlX25hbWVf c2l6ZSA9IDUxMjsKKyAgICAgICBncnViX2VmaV9jaGFyMTZfdCAqdmFyaWFibGVfbmFtZTsKKyAg ICAgICBncnViX3VpbnQ4X3QgKnZhcmlhYmxlX25hbWVfc3RyaW5nID0gTlVMTDsKKyAgICAgICBn cnViX2d1aWRfdCB2ZW5kb3JfZ3VpZDsKKworICAgICAgIHIgPSBncnViX2VmaV9zeXN0ZW1fdGFi bGUtPnJ1bnRpbWVfc2VydmljZXM7CisKKyAgICAgICB2YXJpYWJsZV9uYW1lID0gZ3J1Yl9jYWxs b2MgKHZhcmlhYmxlX25hbWVfc2l6ZSwgc2l6ZW9mKGdydWJfZWZpX2NoYXIxNl90KSk7CisgICAg ICAgaWYgKHZhcmlhYmxlX25hbWUgPT0gTlVMTCkKKyAgICAgICAgICAgICAgIHJldHVybiBncnVi X2Vycm5vOworICAgICAgICp2YXJpYWJsZV9uYW1lID0gMDsgLyogU3RhcnQgd2l0aCBlbXB0eSBz dHJpbmcgKi8KKworICAgICAgIHdoaWxlICgxKQorICAgICAgIHsKKyAgICAgICAgICAgICAgIHN0 YXR1cyA9IHItPmdldF9uZXh0X3ZhcmlhYmxlX25hbWUgKCZ2YXJpYWJsZV9uYW1lX3NpemUsIHZh cmlhYmxlX25hbWUsICZ2ZW5kb3JfZ3VpZCk7CisgICAgICAgICAgICAgICBpZiAoc3RhdHVzID09 IEdSVUJfRUZJX05PVF9GT1VORCkKKyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg ICAgICAgICAgICBlbHNlIGlmIChzdGF0dXMgPT0gR1JVQl9FRklfQlVGRkVSX1RPT19TTUFMTCkK KyAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgZ3J1Yl9lZmlfY2hhcjE2 X3QgKnRtcDsKKyAgICAgICAgICAgICAgICAgICAgICAgZ3J1Yl9kcHJpbnRmICgibHNlZml2YXIi LCAiYnVmZmVyIGlzbid0IGVub3VnaCwgZW5sYXJnaW5nIHVwIHRvICVsZCBieXRlc1xuIix2YXJp YWJsZV9uYW1lX3NpemUgKiBzaXplb2YoZ3J1Yl9lZmlfY2hhcjE2X3QpKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgdG1wID0gZ3J1Yl9yZWFsbG9jICh2YXJpYWJsZV9uYW1lLCB2YXJpYWJsZV9u YW1lX3NpemUgKiBzaXplb2YoZ3J1Yl9lZmlfY2hhcjE2X3QpKTsKKyAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ3J1Yl9mcmVlICh2YXJpYWJsZV9uYW1lKTsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ3J1Yl9lcnJubzsKKyAgICAgICAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZV9uYW1lID0gdG1w OworICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgdmFyaWFibGVfbmFtZV9zdHJpbmcg PSBncnViX2NhbGxvYyAodmFyaWFibGVfbmFtZV9zaXplICsgMSwgR1JVQl9NQVhfVVRGOF9QRVJf VVRGMTYpOworICAgICAgICAgICAgICAgaWYgKHZhcmlhYmxlX25hbWVfc3RyaW5nID09IE5VTEwp CisgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgIGdydWJfZnJlZSAodmFy aWFibGVfbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBncnViX2Vycm5vOwor ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgKmdydWJfdXRmMTZfdG9fdXRmOCAodmFy aWFibGVfbmFtZV9zdHJpbmcsIHZhcmlhYmxlX25hbWUsIHZhcmlhYmxlX25hbWVfc2l6ZSkgPSAn XDAnOworICAgICAgICAgICAgICAgZ3J1Yl9wcmludGYgKCIlcEctJXNcbiIsJnZlbmRvcl9ndWlk LCB2YXJpYWJsZV9uYW1lX3N0cmluZyk7CisgICAgICAgICAgICAgICBpZiAoZHVtcF92YXJpYWJs ZV9jb250ZW50KQorICAgICAgICAgICAgICAgICAgICAgICBkdW1wX3ZhcmlhYmxlX2RhdGEgKChj aGFyKil2YXJpYWJsZV9uYW1lX3N0cmluZywgJnZlbmRvcl9ndWlkKTsKKyAgICAgICB9CisKKyAg ICAgICBncnViX2ZyZWUgKHZhcmlhYmxlX25hbWUpOworICAgICAgIGdydWJfZnJlZSAodmFyaWFi bGVfbmFtZV9zdHJpbmcpOworICAgICAgIHJldHVybiBHUlVCX0VSUl9OT05FOworfSAgICAgIAor CitzdGF0aWMgZ3J1Yl9lcnJfdAorZ3J1Yl9jbWRfbHNlZml2YXIgKGdydWJfZXh0Y21kX2NvbnRl eHRfdCBjdHh0LAorICAgICAgICAgICAgICAgIGludCBhcmdjIF9fYXR0cmlidXRlX18oKHVudXNl ZCkpLCBjaGFyICoqYXJndiBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKyAgICAgICBpZiAo Y3R4dC0+c3RhdGVbMF0uc2V0KQorICAgICAgICAgICAgICAgcmV0dXJuIGR1bXBfZWZpX3Zhcmlh YmxlcyAodHJ1ZSk7IC8qIHRydWU6IGR1bXAgdmFyaWFibGVzIGFuZCBjb250ZW50cyovCisgICAg ICAgIAorICAgICAgIHJldHVybiBkdW1wX2VmaV92YXJpYWJsZXMgKGZhbHNlKTsgLyogZmFsc2U6 IGRvIG5vdCBkdW1wIHZhcmlhYmxlIGNvbnRlbnRzKi8KK30KKworc3RhdGljIGdydWJfZXh0Y21k X3QgY21kOworCitHUlVCX01PRF9JTklUKGxzZWZpdmFyKQoreworICAgICAgIGNtZCA9IGdydWJf cmVnaXN0ZXJfZXh0Y21kICgibHNlZml2YXIiLCBncnViX2NtZF9sc2VmaXZhciwgMCwgTl8oIlst bF0iKSwgTl8oIkRpc3BsYXkgVUVGSSB2YXJpYWJsZXMuIiksIG9wdGlvbnMpOworfQorR1JVQl9N T0RfRklOSShsc2VmaXZhcikKK3sKKyAgICAgICBncnViX3VucmVnaXN0ZXJfZXh0Y21kIChjbWQp OworfQotLSAKMi40OS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBz Oi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK