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 2AA49D6DDDB for ; Fri, 15 Nov 2024 07:39:06 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tBquQ-0004Ig-Df; Fri, 15 Nov 2024 02:38:26 -0500 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 1tBqtd-0002C7-4J for grub-devel@gnu.org; Fri, 15 Nov 2024 02:37:37 -0500 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tBqtY-0000IP-QJ for grub-devel@gnu.org; Fri, 15 Nov 2024 02:37:36 -0500 Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-539eb97f26aso1522763e87.2 for ; Thu, 14 Nov 2024 23:37:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1731656236; x=1732261036; 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=1o8QxUo1yzDiFRlKdnugRjA+rDPCvtnf+xI/wbnd5kA=; b=OYb7zM5Sh8CKC3b/eNimUqm7EQnLkYioWNY3g5Gi8l/fplpwk7RGKhH/vJrRI1bpgF Z8YzBK2YwbH7I/5p/szGRJOCc8sdI0ytD+ZcS4eK/SrmE7gotEG1qgCpT+um5z1gsy+g vYURwO0GdC7+o7LStoEFq9pxu8aGkB7/dvvBkJWSkhBzVEtsRghItPFnfX6FCOh5qaSC mzf+I6iFu7nmZkHFXP5hlYUHSdP58ww66kEujTfCRsSHz4o/mYjImUXgUCv5i+ZmxX5l /L04dva1jiMarLBcV4xNmW7MnbGPYRebfsleCn5jvUCRX/GBUm0kOGXDqs2pFDbJOb9C sIwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731656236; x=1732261036; 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=1o8QxUo1yzDiFRlKdnugRjA+rDPCvtnf+xI/wbnd5kA=; b=divlYJAMuwZcn1lGVD/sUjAFjWBIAGoPors774tTSoWAJH1P6ei+AwGRTbEKdRDJwl MGJVmB5rvnG/0gSiLgGc+I4usOYV4VqmjXC6XhxMAAyb25lwk7mhFNbBcNbuZ3IkQx4U E9jwjXbchrrrxlmA/FdX/UDSWPoSmv7wO/wp1hLlO3IjD/KPCW0DTeUPPKWEvKRPUI7X vElZiLikTkBdFwWtTu2oUi7biE9JhUdl4ODXFF5DbESS07oykHsxcrd8AEbw1SVDgcK7 q8EZB1+hVMMN5sNMzwU2sicFHbhF6YXRjTzW4y9oSNFyHHkRmAYHKDKz0zzreDnn7cDk fUcw== X-Gm-Message-State: AOJu0YywrM64MiKBy82h2E2oBBHxRyxhZyVypID8trPqjVvlOEDSLz3p L00gPIkXE2lby74KNgaIx4XElhl0nu3dbu/e3esPue6c676HVbgR9WPjwHFS7Txi7UzHgbYO5Oh c X-Google-Smtp-Source: AGHT+IEQPxjRx8mBToCSr4eHXKaauradPZgNzHLYue0L2XX75PKNiwjoYAPWRH07Spj60rVZooyiSw== X-Received: by 2002:a05:6512:b92:b0:539:9490:7257 with SMTP id 2adb3069b0e04-53dab2a9449mr591866e87.30.1731656236451; Thu, 14 Nov 2024 23:37:16 -0800 (PST) Received: from localhost (111-240-136-29.dynamic-ip.hinet.net. [111.240.136.29]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7f8c1c644c8sm709883a12.47.2024.11.14.23.37.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2024 23:37:15 -0800 (PST) To: The development of GNU GRUB Subject: [PATCH v23 32/33] tests: Add tpm2_key_protector_test Date: Fri, 15 Nov 2024 15:35:00 +0800 Message-ID: <20241115073506.2784-33-glin@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241115073506.2784-1-glin@suse.com> References: <20241115073506.2784-1-glin@suse.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::136; envelope-from=glin@suse.com; helo=mail-lf1-x136.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, 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: , From: Gary Lin via Grub-devel Reply-To: The development of GNU GRUB Cc: Gary Lin , Daniel Kiper , Hernan Gatta , Daniel Axtens , shkhisti@microsoft.com, jaskaran.khurana@microsoft.com, christopher.co@microsoft.com, daniel.mihai@microsoft.com, jaredz@redhat.com, development@efficientek.com, jejb@linux.ibm.com, mchang@suse.com, patrick.colp@oracle.com, Stefan Berger , Vladimir Serbinenko 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 Rm9yIHRoZSB0cG0yX2tleV9wcm90ZWN0b3IgbW9kdWxlLCB0aGUgVENHMiBjb21tYW5kIHN1Ym1p c3Npb24gZnVuY3Rpb24KaXMgdGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgUUVNVSBpbnN0 YW5jZSBhbmQgZ3J1Yi1lbXUuIFRvIHRlc3QKVFBNMiBrZXkgdW5zZWFsaW5nIHdpdGggYSBRRU1V IGluc3RhbmNlLCBpdCByZXF1aXJlcyBhbiBleHRyYSBPUyBpbWFnZQp0byBpbnZva2UgZ3J1Yi1w cm90ZWN0IHRvIHNlYWwgdGhlIExVS1Mga2V5LCByYXRoZXIgdGhhbiBhIHNpbXBsZQpncnViLXNo ZWxsIHJlc2N1ZSBDRCBpbWFnZS4gT24gdGhlIG90aGVyIGhhbmQsIGdydWItZW11IGNhbiBzaGFy ZSB0aGUKZW11bGF0ZWQgVFBNMiBkZXZpY2Ugd2l0aCB0aGUgaG9zdCwgc28gdGhhdCB3ZSBjYW4g c2VhbCB0aGUgTFVLUyBrZXkgb24KaG9zdCBhbmQgdGVzdCBrZXkgdW5zZWFsaW5nIHdpdGggZ3J1 Yi1lbXUuCgpUaGlzIHRlc3Qgc2NyaXB0IGZpcnN0bHkgY3JlYXRlcyBhIHNpbXBsZSBMVUtTIGlt YWdlIHRvIGJlIGxvYWRlZCBhcyBhCmxvb3BiYWNrIGRldmljZSBpbiBncnViLWVtdS4gVGhlbiBh biBlbXVsYXRlZCBUUE0yIGRldmljZSBpcyBjcmVhdGVkIGJ5CiJzd3RwbSBjaGFyZGV2IiBhbmQg UENSIDAgYW5kIDEgYXJlIGV4dGVuZGVkLgoKVGhlcmUgYXJlIHNldmVyYWwgdGVzdCBjYXNlcyBp biB0aGUgc2NyaXB0IHRvIHRlc3QgdmFyaW91cyBzZXR0aW5ncy4gRWFjaAp0ZXN0IGNhc2UgdXNl cyBncnViLXByb3RlY3Qgb3IgdHBtMi10b29scyB0byBzZWFsIHRoZSBMVUtTIHBhc3N3b3JkCndp dGggUENSIDAgYW5kIFBDUiAxLiBUaGVuIGdydWItZW11IGlzIGxhdW5jaGVkIHRvIGxvYWQgdGhl IExVS1MgaW1hZ2UsCnRyeSB0byBtb3VudCB0aGUgaW1hZ2Ugd2l0aCB0cG0yX2tleV9wcm90ZWN0 b3JfaW5pdCBhbmQgY3J5cHRvbW91bnQsIGFuZAp2ZXJpZnkgdGhlIHJlc3VsdC4KCkJhc2VkIG9u IHRoZSBpZGVhIGZyb20gTWljaGFlbCBDaGFuZy4KCkNjOiBNaWNoYWVsIENoYW5nIDxtY2hhbmdA c3VzZS5jb20+CkNjOiBTdGVmYW4gQmVyZ2VyIDxzdGVmYW5iQGxpbnV4LmlibS5jb20+CkNjOiBH bGVubiBXYXNoYnVybiA8ZGV2ZWxvcG1lbnRAZWZmaWNpZW50ZWsuY29tPgpTaWduZWQtb2ZmLWJ5 OiBHYXJ5IExpbiA8Z2xpbkBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IERhbmllbCBLaXBlciA8ZGFu aWVsLmtpcGVyQG9yYWNsZS5jb20+ClJldmlld2VkLWJ5OiBTdGVmYW4gQmVyZ2VyIDxzdGVmYW5i QGxpbnV4LmlibS5jb20+Ci0tLQogTWFrZWZpbGUudXRpbC5kZWYgICAgICAgICAgICAgICAgfCAg IDYgKwogdGVzdHMvdHBtMl9rZXlfcHJvdGVjdG9yX3Rlc3QuaW4gfCAzODkgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogdGVzdHMvdXRpbC9ncnViLXNoZWxsLmluICAgICAgICAgfCAg IDYgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNDAwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy90cG0yX2tleV9wcm90ZWN0b3JfdGVzdC5pbgoKZGlm ZiAtLWdpdCBhL01ha2VmaWxlLnV0aWwuZGVmIGIvTWFrZWZpbGUudXRpbC5kZWYKaW5kZXggMDc0 YzBhZmY3Li4wMzgyNTNiMzcgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLnV0aWwuZGVmCisrKyBiL01h a2VmaWxlLnV0aWwuZGVmCkBAIC0xMjkwLDYgKzEyOTAsMTIgQEAgc2NyaXB0ID0gewogICBjb21t b24gPSB0ZXN0cy9hc24xX3Rlc3QuaW47CiB9OwogCitzY3JpcHQgPSB7CisgIHRlc3RjYXNlID0g bmF0aXZlOworICBuYW1lID0gdHBtMl9rZXlfcHJvdGVjdG9yX3Rlc3Q7CisgIGNvbW1vbiA9IHRl c3RzL3RwbTJfa2V5X3Byb3RlY3Rvcl90ZXN0LmluOworfTsKKwogcHJvZ3JhbSA9IHsKICAgdGVz dGNhc2UgPSBuYXRpdmU7CiAgIG5hbWUgPSBleGFtcGxlX3VuaXRfdGVzdDsKZGlmZiAtLWdpdCBh L3Rlc3RzL3RwbTJfa2V5X3Byb3RlY3Rvcl90ZXN0LmluIGIvdGVzdHMvdHBtMl9rZXlfcHJvdGVj dG9yX3Rlc3QuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5hOTJlNWY0 OTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cG0yX2tleV9wcm90ZWN0b3JfdGVzdC5pbgpA QCAtMCwwICsxLDM4OSBAQAorIyEgQEJVSUxEX1NIRUJBTkdAIC1lCisKKyMgVGVzdCBHUlVCcyBh YmlsaXR5IHRvIHVuc2VhbCBhIExVS1Mga2V5IHdpdGggVFBNIDIuMAorIyBDb3B5cmlnaHQgKEMp IDIwMjQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIEdSVUIgaXMgZnJlZSBz b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor IworIyBHUlVCIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCBHUlVCLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCitncnVic2hlbGw9QGJ1aWxkZGly QC9ncnViLXNoZWxsCisKKy4gIkBidWlsZGRpckAvZ3J1Yi1jb3JlL21vZGluZm8uc2giCisKK2lm IFsgeCR7Z3J1Yl9tb2RpbmZvX3BsYXRmb3JtfSAhPSB4ZW11IF07IHRoZW4KKyAgZXhpdCA3Nwor ZmkKKworYnVpbGRkaXI9IkBidWlsZGRpckAiCisKKyMgRm9yY2UgYnVpbGQgZGlyZWN0b3J5IGNv bXBvbmVudHMKK1BBVEg9IiR7YnVpbGRkaXJ9OiR7UEFUSH0iCitleHBvcnQgUEFUSAorCitpZiBb ICJ4JHtFVUlEfSIgPSAieCIgXSA7IHRoZW4KKyAgRVVJRD1gaWQgLXVgCitmaQorCitpZiBbICIk e0VVSUR9IiAhPSAwIF0gOyB0aGVuCisgICBlY2hvICJub3Qgcm9vdDsgY2Fubm90IHRlc3QgdHBt Mi4iCisgICBleGl0IDk5CitmaQorCitpZiAhIGNvbW1hbmQgLXYgY3J5cHRzZXR1cCA+L2Rldi9u dWxsIDI+JjE7IHRoZW4KKyAgIGVjaG8gImNyeXB0c2V0dXAgbm90IGluc3RhbGxlZDsgY2Fubm90 IHRlc3QgdHBtMi4iCisgICBleGl0IDk5CitmaQorCitpZiAhIGdyZXAgLXEgdHBtX3Z0cG1fcHJv eHkgL3Byb2MvbW9kdWxlcyAmJiAhIG1vZHByb2JlIHRwbV92dHBtX3Byb3h5OyB0aGVuCisgICBl Y2hvICJubyB0cG1fdnRwbV9wcm94eSBzdXBwb3J0OyBjYW5ub3QgdGVzdCB0cG0yLiIKKyAgIGV4 aXQgOTkKK2ZpCisKK2lmICEgY29tbWFuZCAtdiBzd3RwbSA+L2Rldi9udWxsIDI+JjE7IHRoZW4K KyAgIGVjaG8gInN3dHBtIG5vdCBpbnN0YWxsZWQ7IGNhbm5vdCB0ZXN0IHRwbTIuIgorICAgZXhp dCA5OQorZmkKKworaWYgISBjb21tYW5kIC12IHRwbTJfc3RhcnR1cCA+L2Rldi9udWxsIDI+JjE7 IHRoZW4KKyAgIGVjaG8gInRwbTItdG9vbHMgbm90IGluc3RhbGxlZDsgY2Fubm90IHRlc3QgdHBt Mi4iCisgICBleGl0IDk5CitmaQorCit0cG0ydGVzdGRpcj0iYG1rdGVtcCAtZCAiJHtUTVBESVI6 LS90bXB9LyQoYmFzZW5hbWUgIiQwIikuWFhYWFhYWFhYWCJgIiB8fCBleGl0IDk5CisKK2Rpc2tz aXplPTIwTQorCitsdWtzZmlsZT0ke3RwbTJ0ZXN0ZGlyfS9sdWtzLmRpc2sKK2x1a3NrZXlmaWxl PSR7dHBtMnRlc3RkaXJ9L3Bhc3N3b3JkLnR4dAorCisjIENob29zZSBhIGxvdyBpdGVyYXRpb24g bnVtYmVyIHRvIHJlZHVjZSB0aGUgdGltZSB0byBkZWNyeXB0IHRoZSBkaXNrCitjc29wdD0iLS10 eXBlIGx1a3MyIC0tcGJrZGYgcGJrZGYyIC0taXRlci10aW1lIDEwMDAiCisKK3RwbTJzdGF0ZWRp cj0ke3RwbTJ0ZXN0ZGlyfS90cG0KK3RwbTJjdHJsPSR7dHBtMnN0YXRlZGlyfS9jdHJsCit0cG0y bG9nPSR7dHBtMnN0YXRlZGlyfS9sb2dmaWxlCisKK3NlYWxlZGtleT0ke3RwbTJ0ZXN0ZGlyfS9z ZWFsZWQudHBtCisKK3RpbWVvdXQ9MjAKKwordGVzdG91dHB1dD0ke3RwbTJ0ZXN0ZGlyfS90ZXN0 b3V0cHV0CisKK3Z0ZXh0PSJURVNUIFZFUklGSUVEIgorCityZXQ9MAorCisjIENyZWF0ZSB0aGUg cGFzc3dvcmQgZmlsZQorZWNobyAtbiAidG9wIHNlY3JldCIgPiAiJHtsdWtza2V5ZmlsZX0iCisK KyMgU2V0dXAgTFVLUzIgaW1hZ2UKK3RydW5jYXRlIC1zICR7ZGlza3NpemV9ICIke2x1a3NmaWxl fSIgfHwgZXhpdCA5OQorY3J5cHRzZXR1cCBsdWtzRm9ybWF0IC1xICR7Y3NvcHR9ICIke2x1a3Nm aWxlfSIgIiR7bHVrc2tleWZpbGV9IiB8fCBleGl0IDk5CisKKyMgV3JpdGUgdnRleHQgaW50byB0 aGUgZmlyc3QgYmxvY2sgb2YgdGhlIExVS1MyIGltYWdlCitsdWtzZGV2PS9kZXYvbWFwcGVyL2Bi YXNlbmFtZSAiJHt0cG0ydGVzdGRpcn0iYAorY3J5cHRzZXR1cCBvcGVuIC0ta2V5LWZpbGUgIiR7 bHVrc2tleWZpbGV9IiAiJHtsdWtzZmlsZX0iIGBiYXNlbmFtZSAiJHtsdWtzZGV2fSJgIHx8IGV4 aXQgOTkKK2VjaG8gIiR7dnRleHR9IiA+ICIke2x1a3NkZXZ9IgorY3J5cHRzZXR1cCBjbG9zZSAi JHtsdWtzZGV2fSIKKworIyBTaHV0ZG93biB0aGUgc3d0cG0gaW5zdGFuY2Ugb24gZXhpdAorY2xl YW51cCgpIHsKKyAgICBSRVQ9JD8KKyAgICBpZiBbIC1lICIke3RwbTJjdHJsfSIgXTsgdGhlbgor CXN3dHBtX2lvY3RsIC1zIC0tdW5peCAiJHt0cG0yY3RybH0iCisgICAgZmkKKyAgICBpZiBbICIk e1JFVH0iIC1lcSAwIF07IHRoZW4KKwlybSAtcmYgIiR0cG0ydGVzdGRpciIgfHwgOgorICAgIGZp Cit9Cit0cmFwIGNsZWFudXAgRVhJVCBJTlQgVEVSTSBLSUxMIFFVSVQKKworbWtkaXIgLXAgIiR7 dHBtMnN0YXRlZGlyfSIKKworIyBDcmVhdGUgdGhlIHN3dHBtIGNoYXJkZXYgaW5zdGFuY2UKK3N3 dHBtIGNoYXJkZXYgLS12dHBtLXByb3h5IC0tdHBtc3RhdGUgZGlyPSIke3RwbTJzdGF0ZWRpcn0i IFwKKwktLXRwbTIgLS1jdHJsIHR5cGU9dW5peGlvLHBhdGg9IiR7dHBtMmN0cmx9IiBcCisJLS1m bGFncyBzdGFydHVwLWNsZWFyIC0tZGFlbW9uID4gIiR7dHBtMmxvZ30iIHx8IHJldD0kPworaWYg WyAiJHtyZXR9IiAtbmUgMCBdOyB0aGVuCisgICAgZWNobyAiRmFpbGVkIHRvIHN0YXJ0IHN3dHBt IGNoYXJkZXY6ICR7cmV0fSIgPiYyCisgICAgZXhpdCA5OQorZmkKKworIyBXYWl0IGZvciB0cG0y IGNoYXJkZXYKK3RwbTJ0aW1lb3V0PSR7R1JVQl9URVNUX1NXVFBNX0RFRkFVTFRfVElNRU9VVDot M30KK2ZvciBjb3VudCBpbiBgc2VxIDEgJHt0cG0ydGltZW91dH1gOyBkbworICAgIHNsZWVwIDEK KworICAgIHRwbTJkZXY9JChncmVwICJOZXcgVFBNIGRldmljZSIgIiR7dHBtMmxvZ30iIHwgY3V0 IC1kJyAnIC1mIDQpCisgICAgaWYgWyAtYyAiJHt0cG0yZGV2fSIgXTsgdGhlbgorCWJyZWFrCisg ICAgZWxpZiBbICIke2NvdW50fSIgLWVxICIke3RwbTJ0aW1lb3V0fSIgXTsgdGhlbgorCWVjaG8g IlRQTSBkZXZpY2UgZGlkIG5vdCBhcHBlYXIuIiA+JjIKKwlleGl0IDk5CisgICAgZmkKK2RvbmUK KworIyBFeHBvcnQgdGhlIFRDVEkgdmFyaWFibGUgZm9yIHRwbTItdG9vbHMKK2V4cG9ydCBUUE0y VE9PTFNfVENUST0iZGV2aWNlOiR7dHBtMmRldn0iCisKKyMgRXh0ZW5kIFBDUiAwCit0cG0yX3Bj cmV4dGVuZCAwOnNoYTI1Nj0kKGVjaG8gInRlc3QwIiB8IHNoYTI1NnN1bSB8IGN1dCAtZCAnICcg LWYgMSkgfHwgZXhpdCA5OQorCisjIEV4dGVuZCBQQ1IgMQordHBtMl9wY3JleHRlbmQgMTpzaGEy NTY9JChlY2hvICJ0ZXN0MSIgfCBzaGEyNTZzdW0gfCBjdXQgLWQgJyAnIC1mIDEpIHx8IGV4aXQg OTkKKwordHBtMl9zZWFsX3Vuc2VhbCgpIHsKKyAgICBzcmtfYWxnPSIkMSIKKyAgICBoYW5kbGVf dHlwZT0iJDIiCisgICAgc3JrX3Rlc3Q9IiQzIgorCisgICAgZ3J1Yl9zcmtfYWxnPSR7c3JrX2Fs Z30KKworICAgIGV4dHJhX29wdD0iIgorICAgIGV4dHJhX2dydWJfb3B0PSIiCisKKyAgICBwZXJz aXN0ZW50X2hhbmRsZT0iMHg4MTAwMDAwMCIKKworICAgIGdydWJfY2ZnPSR7dHBtMnRlc3RkaXJ9 L3Rlc3RjYXNlLmNmZworCisgICAgaWYgWyAiJHtoYW5kbGVfdHlwZX0iID0gInBlcnNpc3RlbnQi IF07IHRoZW4KKwlleHRyYV9vcHQ9Ii0tdHBtMi1zcms9JHtwZXJzaXN0ZW50X2hhbmRsZX0iCisg ICAgZmkKKworICAgIGlmIFsgIiR7c3JrX2FsZ30iICE9ICJkZWZhdWx0IiBdOyB0aGVuCisJZXh0 cmFfb3B0PSIke2V4dHJhX29wdH0gLS10cG0yLWFzeW1tZXRyaWM9JHtzcmtfYWxnfSIKKyAgICBm aQorCisgICAgIyBTZWFsIHRoZSBwYXNzd29yZCB3aXRoIGdydWItcHJvdGVjdAorICAgIGdydWIt cHJvdGVjdCAke2V4dHJhX29wdH0gXAorCS0tdHBtMi1kZXZpY2U9IiR7dHBtMmRldn0iIFwKKwkt LWFjdGlvbj1hZGQgXAorCS0tcHJvdGVjdG9yPXRwbTIgXAorCS0tdHBtMmtleSBcCisJLS10cG0y LWJhbms9c2hhMjU2IFwKKwktLXRwbTItcGNycz0wLDEgXAorCS0tdHBtMi1rZXlmaWxlPSIke2x1 a3NrZXlmaWxlfSIgXAorCS0tdHBtMi1vdXRmaWxlPSIke3NlYWxlZGtleX0iIHx8IHJldD0kPwor ICAgIGlmIFsgIiR7cmV0fSIgLW5lIDAgXTsgdGhlbgorCWVjaG8gIkZhaWxlZCB0byBzZWFsIHRo ZSBzZWNyZXQga2V5OiAke3JldH0iID4mMgorCXJldHVybiA5OQorICAgIGZpCisKKyAgICAjIEZs aXAgdGhlIGFzeW1tZXRyaWMgYWxnb3JpdGhtIGluIGdydWIuY2ZnIHRvIHRyaWdnZXIgZmFsbGJh Y2sgU1JLcworICAgIGlmIFsgIiR7c3JrX3Rlc3R9IiA9ICJmYWxsYmFja19zcmsiIF07IHRoZW4K KwlpZiBbIC16ICIke3Nya19hbGcjI1JTQSp9IiBdOyB0aGVuCisJICAgIGdydWJfc3JrX2FsZz0i RUNDIgorCWVsaWYgWyAteiAiJHtzcmtfYWxnIyNFQ0MqfSIgXTsgdGhlbgorCSAgICBncnViX3Ny a19hbGc9IlJTQSIKKwlmaQorICAgIGZpCisKKyAgICBpZiBbICIke2dydWJfc3JrX2FsZ30iICE9 ICJkZWZhdWx0IiBdICYmIFsgIiR7aGFuZGxlX3R5cGV9IiAhPSAicGVyc2lzdGVudCIgXTsgdGhl bgorCWV4dHJhX2dydWJfb3B0PSItYSAke2dydWJfc3JrX2FsZ30iCisgICAgZmkKKworICAgICMg V3JpdGUgdGhlIFRQTSB1bnNlYWxpbmcgc2NyaXB0CisgICAgY2F0ID4gIiR7Z3J1Yl9jZmd9IiA8 PEVPRgorbG9vcGJhY2sgbHVrcyAoaG9zdCkke2x1a3NmaWxlfQordHBtMl9rZXlfcHJvdGVjdG9y X2luaXQgLVQgKGhvc3QpJHtzZWFsZWRrZXl9ICR7ZXh0cmFfZ3J1Yl9vcHR9CitpZiBjcnlwdG9t b3VudCAtYSAtLXByb3RlY3RvciB0cG0yOyB0aGVuCisgICAgY2F0IChjcnlwdG8wKSsxCitmaQor RU9GCisKKyAgICAjIFRlc3QgVFBNIHVuc2VhbGluZyB3aXRoIHRoZSBzYW1lIFBDUgorICAgICR7 Z3J1YnNoZWxsfSAtLXRpbWVvdXQ9JHt0aW1lb3V0fSAtLWVtdS1vcHRzPSItdCAke3RwbTJkZXZ9 IiA8ICIke2dydWJfY2ZnfSIgPiAiJHt0ZXN0b3V0cHV0fSIgfHwgcmV0PSQ/CisKKyAgICAjIFJl bW92ZSB0aGUgcGVyc2lzdGVudCBoYW5kbGUKKyAgICBpZiBbICIke2hhbmRsZV90eXBlfSIgPSAi cGVyc2lzdGVudCIgXTsgdGhlbgorCWdydWItcHJvdGVjdCBcCisJCS0tdHBtMi1kZXZpY2U9IiR7 dHBtMmRldn0iIFwKKwkJLS1wcm90ZWN0b3I9dHBtMiBcCisJCS0tYWN0aW9uPXJlbW92ZSBcCisJ CS0tdHBtMi1zcms9JHtwZXJzaXN0ZW50X2hhbmRsZX0gXAorCQktLXRwbTItZXZpY3QgfHwgOgor ICAgIGZpCisKKyAgICBpZiBbICIke3JldH0iIC1lcSAwIF07IHRoZW4KKwlpZiAhIGdyZXAgLXEg Il4ke3Z0ZXh0fSQiICIke3Rlc3RvdXRwdXR9IjsgdGhlbgorCSAgICBlY2hvICJlcnJvcjogdGVz dCBub3QgdmVyaWZpZWQgW2BjYXQgJHt0ZXN0b3V0cHV0fWBdIiA+JjIKKwkgICAgcmV0dXJuIDEK KwlmaQorICAgIGVsc2UKKwllY2hvICJncnViLWVtdSBleGl0ZWQgd2l0aCBlcnJvcjogJHtyZXR9 IiA+JjIKKwlyZXR1cm4gOTkKKyAgICBmaQorfQorCit0cG0yX3NlYWxfbnYgKCkgeworICAgIGtl eWZpbGU9IiQxIgorICAgIG52X2luZGV4PSIkMiIKKyAgICBwY3JfbGlzdD0iJDMiCisKKyAgICBw cmltYXJ5X2ZpbGU9JHt0cG0ydGVzdGRpcn0vcHJpbWFyeS5jdHgKKyAgICBzZXNzaW9uX2ZpbGU9 JHt0cG0ydGVzdGRpcn0vc2Vzc2lvbi5kYXQKKyAgICBwb2xpY3lfZmlsZT0ke3RwbTJ0ZXN0ZGly fS9wb2xpY3kuZGF0CisgICAga2V5cHViX2ZpbGU9JHt0cG0ydGVzdGRpcn0va2V5LnB1YgorICAg IGtleXByaXZfZmlsZT0ke3RwbTJ0ZXN0ZGlyfS9rZXkucHJpdgorICAgIG5hbWVfZmlsZT0ke3Rw bTJ0ZXN0ZGlyfS9zZWFsaW5nLm5hbWUKKyAgICBzZWFsaW5nX2N0eF9maWxlPSR7dHBtMnRlc3Rk aXJ9L3NlYWxpbmcuY3R4CisKKyAgICAjIFNpbmNlIHdlIGRvbid0IHJ1biBhIHJlc291cmNlIG1h bmFnZXIgb24gb3VyIHN3dHBtIGluc3RhbmNlLCBpdCBoYXMKKyAgICAjIHRvIGZsdXNoIHRoZSB0 cmFuc2llbnQgaGFuZGxlcyBhZnRlciB0cG0yX2NyZWF0ZXByaW1hcnksIHRwbTJfY3JlYXRlCisg ICAgIyBhbmQgdHBtMl9sb2FkIHRvIGF2b2lkIHRoZSBwb3RlbnRpYWwgb3V0LW9mLW1lbW9yeSAo MHg5MDIpIGVycm9ycy4KKyAgICAjIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL3RwbTItc29mdHdh cmUvdHBtMi10b29scy9pc3N1ZXMvMTMzOCNpc3N1ZWNvbW1lbnQtNDY5Njg5Mzk4CisKKyAgICAj IENyZWF0ZSB0aGUgcHJpbWFyeSBvYmplY3QKKyAgICB0cG0yX2NyZWF0ZXByaW1hcnkgLVEgLUMg byAtZyBzaGEyNTYgLUcgZWNjIC1jICIke3ByaW1hcnlfZmlsZX0iIHx8IHJldD0kPworICAgIGlm IFsgIiR7cmV0fSIgLW5lIDAgXTsgdGhlbgorCWVjaG8gIkZhaWxlZCB0byBjcmVhdGUgdGhlIHBy aW1hcnkgb2JqZWN0OiAke3JldH0iID4mMgorCXJldHVybiAxCisgICAgZmkKKyAgICB0cG0yX2Zs dXNoY29udGV4dCAtdCB8fCByZXQ9JD8KKyAgICBpZiBbICIke3JldH0iIC1uZSAwIF07IHRoZW4K KwllY2hvICJGYWlsZWQgdG8gZmx1c2ggdGhlIHRyYW5zaWVudCBoYW5kbGVzOiAke3JldH0iID4m MgorCXJldHVybiAxCisgICAgZmkKKworICAgICMgQ3JlYXRlIHRoZSBwb2xpY3kgb2JqZWN0Cisg ICAgdHBtMl9zdGFydGF1dGhzZXNzaW9uIC1TICIke3Nlc3Npb25fZmlsZX0iIHx8IHJldD0kPwor ICAgIGlmIFsgIiR7cmV0fSIgLW5lIDAgXTsgdGhlbgorCWVjaG8gIkZhaWxlZCB0byBzdGFydCBh dXRoIHNlc3Npb246ICR7cmV0fSIgPiYyCisJcmV0dXJuIDEKKyAgICBmaQorICAgIHRwbTJfcG9s aWN5cGNyIC1RIC1TICIke3Nlc3Npb25fZmlsZX0iIC1sICIke3Bjcl9saXN0fSIgLUwgIiR7cG9s aWN5X2ZpbGV9IiB8fCByZXQ9JD8KKyAgICBpZiBbICIke3JldH0iIC1uZSAwIF07IHRoZW4KKwll Y2hvICJGYWlsZWQgdG8gY3JlYXRlIHRoZSBwb2xpY3kgb2JqZWN0OiAke3JldH0iID4mMgorCXJl dHVybiAxCisgICAgZmkKKyAgICB0cG0yX2ZsdXNoY29udGV4dCAiJHtzZXNzaW9uX2ZpbGV9IiB8 fCByZXQ9JD8KKyAgICBpZiBbICIke3JldH0iIC1uZSAwIF07IHRoZW4KKwllY2hvICJGYWlsZWQg dG8gZmx1c2ggdGhlIHRyYW5zaWVudCBoYW5kbGVzOiAke3JldH0iID4mMgorCXJldHVybiAxCisg ICAgZmkKKworICAgICMgU2VhbCB0aGUga2V5IGludG8gVFBNCisgICAgdHBtMl9jcmVhdGUgLVEg XAorCS1DICIke3ByaW1hcnlfZmlsZX0iIFwKKwktdSAiJHtrZXlwdWJfZmlsZX0iIFwKKwktciAi JHtrZXlwcml2X2ZpbGV9IiBcCisJLUwgIiR7cG9saWN5X2ZpbGV9IiBcCisJLWkgIiR7a2V5Zmls ZX0iIHx8IHJldD0kPworICAgIGlmIFsgIiR7cmV0fSIgLW5lIDAgXTsgdGhlbgorCWVjaG8gIkZh aWxlZCB0byBzZWFsIFwiJHtrZXlmaWxlfVwiOiAke3JldH0iID4mMgorCXJldHVybiAxCisgICAg ZmkKKyAgICB0cG0yX2ZsdXNoY29udGV4dCAtdCB8fCByZXQ9JD8KKyAgICBpZiBbICIke3JldH0i IC1uZSAwIF07IHRoZW4KKwllY2hvICJGYWlsZWQgdG8gZmx1c2ggdGhlIHRyYW5zaWVudCBoYW5k bGVzOiAke3JldH0iID4mMgorCXJldHVybiAxCisgICAgZmkKKworICAgIHRwbTJfbG9hZCAtUSBc CisJLUMgIiR7cHJpbWFyeV9maWxlfSIgXAorCS11ICIke2tleXB1Yl9maWxlfSIgXAorCS1yICIk e2tleXByaXZfZmlsZX0iIFwKKwktbiAiJHtuYW1lX2ZpbGV9IiBcCisJLWMgIiR7c2VhbGluZ19j dHhfZmlsZX0iIHx8IHJldD0kPworICAgIGlmIFsgIiR7cmV0fSIgLW5lIDAgXTsgdGhlbgorCWVj aG8gIkZhaWxlZCB0byBsb2FkIHRoZSBzZWFsZWQga2V5IGludG8gVFBNOiAke3JldH0iID4mMgor CXJldHVybiAxCisgICAgZmkKKyAgICB0cG0yX2ZsdXNoY29udGV4dCAtdCB8fCByZXQ9JD8KKyAg ICBpZiBbICIke3JldH0iIC1uZSAwIF07IHRoZW4KKwllY2hvICJGYWlsZWQgdG8gZmx1c2ggdGhl IHRyYW5zaWVudCBoYW5kbGVzOiAke3JldH0iID4mMgorCXJldHVybiAxCisgICAgZmkKKworICAg IHRwbTJfZXZpY3Rjb250cm9sIC1RIC1DIG8gLWMgIiR7c2VhbGluZ19jdHhfZmlsZX0iICR7bnZf aW5kZXh9IHx8IHJldD0kPworICAgIGlmIFsgIiR7cmV0fSIgLW5lIDAgXTsgdGhlbgorCWVjaG8g IkZhaWxlZCB0byBzdG9yZSB0aGUgc2VhbGVkIGtleSBpbnRvICR7bnZfaW5kZXh9OiAke3JldH0i ID4mMgorCXJldHVybiAxCisgICAgZmkKKworICAgIHJldHVybiAwCit9CisKK3RwbTJfc2VhbF91 bnNlYWxfbnYoKSB7CisgICAgbnZfaW5kZXg9IjB4ODEwMDAwMDAiCisgICAgcGNyX2xpc3Q9InNo YTI1NjowLDEiCisKKyAgICBncnViX2NmZz0ke3RwbTJ0ZXN0ZGlyfS90ZXN0Y2FzZS5jZmcKKwor ICAgICMgU2VhbCB0aGUga2V5IGludG8gYSBOViBpbmRleCBndWFyZGVkIGJ5IFBDUiAwIGFuZCAx CisgICAgdHBtMl9zZWFsX252ICIke2x1a3NrZXlmaWxlfSIgJHtudl9pbmRleH0gJHtwY3JfbGlz dH0gfHwgcmV0PSQ/CisgICAgaWYgWyAiJHtyZXR9IiAtbmUgMCBdOyB0aGVuCisJZWNobyAiRmFp bGVkIHRvIHNlYWwgdGhlIHNlY3JldCBrZXkgaW50byAke252X2luZGV4fSIgPiYyCisJcmV0dXJu IDk5CisgICAgZmkKKworICAgICMgV3JpdGUgdGhlIFRQTSB1bnNlYWxpbmcgc2NyaXB0CisgICAg Y2F0ID4gJHtncnViX2NmZ30gPDxFT0YKK2xvb3BiYWNrIGx1a3MgKGhvc3QpJHtsdWtzZmlsZX0K K3RwbTJfa2V5X3Byb3RlY3Rvcl9pbml0IC0tbW9kZT1udiAtLW52aW5kZXg9JHtudl9pbmRleH0g LS1wY3JzPTAsMQoraWYgY3J5cHRvbW91bnQgLWEgLS1wcm90ZWN0b3IgdHBtMjsgdGhlbgorICAg IGNhdCAoY3J5cHRvMCkrMQorZmkKK0VPRgorCisgICAgIyBUZXN0IFRQTSB1bnNlYWxpbmcgd2l0 aCB0aGUgc2FtZSBQQ1IKKyAgICAke2dydWJzaGVsbH0gLS10aW1lb3V0PSR7dGltZW91dH0gLS1l bXUtb3B0cz0iLXQgJHt0cG0yZGV2fSIgPCAiJHtncnViX2NmZ30iID4gIiR7dGVzdG91dHB1dH0i IHx8IHJldD0kPworCisgICAgIyBSZW1vdmUgdGhlIG9iamVjdCBmcm9tIHRoZSBOViBpbmRleAor ICAgIHRwbTJfZXZpY3Rjb250cm9sIC1RIC1DIG8gLWMgIiR7bnZfaW5kZXh9IiB8fCA6CisKKyAg ICBpZiBbICIke3JldH0iIC1lcSAwIF07IHRoZW4KKwlpZiAhIGdyZXAgLXEgIl4ke3Z0ZXh0fSQi ICIke3Rlc3RvdXRwdXR9IjsgdGhlbgorCSAgICBlY2hvICJlcnJvcjogdGVzdCBub3QgdmVyaWZp ZWQgW2BjYXQgJHt0ZXN0b3V0cHV0fWBdIiA+JjIKKwkgICAgcmV0dXJuIDEKKwlmaQorICAgIGVs c2UKKwllY2hvICJncnViLWVtdSBleGl0ZWQgd2l0aCBlcnJvcjogJHtyZXR9IiA+JjIKKwlyZXR1 cm4gOTkKKyAgICBmaQorfQorCisjIFRlc3RjYXNlcyBmb3IgU1JLIG1vZGUKK2RlY2xhcmUgLWEg c3JrdGVzdHM9KCkKK3Nya3Rlc3RzKz0oImRlZmF1bHQgdHJhbnNpZW50IG5vX2ZhbGxiYWNrX3Ny ayIpCitzcmt0ZXN0cys9KCJSU0EgdHJhbnNpZW50IG5vX2ZhbGxiYWNrX3NyayIpCitzcmt0ZXN0 cys9KCJFQ0MgdHJhbnNpZW50IG5vX2ZhbGxiYWNrX3NyayIpCitzcmt0ZXN0cys9KCJSU0EgcGVy c2lzdGVudCBub19mYWxsYmFja19zcmsiKQorc3JrdGVzdHMrPSgiRUNDIHBlcnNpc3RlbnQgbm9f ZmFsbGJhY2tfc3JrIikKK3Nya3Rlc3RzKz0oIlJTQSB0cmFuc2llbnQgZmFsbGJhY2tfc3JrIikK K3Nya3Rlc3RzKz0oIkVDQyB0cmFuc2llbnQgZmFsbGJhY2tfc3JrIikKKworZm9yIGkgaW4gIiR7 IXNya3Rlc3RzW0BdfSI7IGRvCisgICAgdHBtMl9zZWFsX3Vuc2VhbCAke3Nya3Rlc3RzWyRpXX0g fHwgcmV0PSQ/CisgICAgaWYgWyAiJHtyZXR9IiAtZXEgMCBdOyB0aGVuCisgICAgICAgIGVjaG8g IlRQTTIgWyR7c3JrdGVzdHNbJGldfV06IFBBU1MiCisgICAgZWxpZiBbICIke3JldH0iIC1lcSAx IF07IHRoZW4KKyAgICAgICAgZWNobyAiVFBNMiBbJHtzcmt0ZXN0c1skaV19XTogRkFJTCIKKyAg ICBlbHNlCisJZWNobyAiVW5leHBlY3RlZCBmYWlsdXJlIFske3Nya3Rlc3RzWyRpXX1dIiA+JjIK KwlleGl0ICR7cmV0fQorICAgIGZpCitkb25lCisKKyMgVGVzdGNhc2UgZm9yIE5WIGluZGV4IG1v ZGUKK3RwbTJfc2VhbF91bnNlYWxfbnYgfHwgcmV0PSQ/CitpZiBbICIke3JldH0iIC1lcSAwIF07 IHRoZW4KKyAgICBlY2hvICJUUE0yIFtOViBJbmRleF06IFBBU1MiCitlbGlmIFsgIiR7cmV0fSIg LWVxIDEgXTsgdGhlbgorICAgIGVjaG8gIlRQTTIgW05WIEluZGV4XTogRkFJTCIKK2Vsc2UKKyAg ICBlY2hvICJVbmV4cGVjdGVkIGZhaWx1cmUgW05WIGluZGV4XSIgPiYyCisgICAgZXhpdCAke3Jl dH0KK2ZpCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVzdHMvdXRpbC9ncnViLXNoZWxsLmluIGIv dGVzdHMvdXRpbC9ncnViLXNoZWxsLmluCmluZGV4IGFlNWY3MTFmZS4uMTVjNWY0NWE1IDEwMDY0 NAotLS0gYS90ZXN0cy91dGlsL2dydWItc2hlbGwuaW4KKysrIGIvdGVzdHMvdXRpbC9ncnViLXNo ZWxsLmluCkBAIC03NSw2ICs3NSw3IEBAIHdvcmtfZGlyZWN0b3J5PSR7V09SS0RJUjotYG1rdGVt cCAtZCAiJHtUTVBESVI6LS90bXB9L2dydWItc2hlbGwuWFhYWFhYWFhYWCJgfSB8CiAKIC4gIiR7 YnVpbGRkaXJ9L2dydWItY29yZS9tb2RpbmZvLnNoIgogcWVtdW9wdHM9CitlbXVvcHRzPQogc2Vy aWFsX3BvcnQ9Y29tMAogc2VyaWFsX251bGw9CiBoYWx0X2NtZD1oYWx0CkBAIC0zNzYsNiArMzc3 LDkgQEAgZm9yIG9wdGlvbiBpbiAiJEAiOyBkbwogICAgIC0tcWVtdS1vcHRzPSopCiAJcXM9YGVj aG8gIiRvcHRpb24iIHwgc2VkIC1lICdzLy0tcWVtdS1vcHRzPS8vJ2AKIAlxZW11b3B0cz0iJHFl bXVvcHRzICRxcyIgOzsKKyAgICAtLWVtdS1vcHRzPSopCisJcXM9YGVjaG8gIiRvcHRpb24iIHwg c2VkIC1lICdzLy0tZW11LW9wdHM9Ly8nYAorCWVtdW9wdHM9IiRlbXVvcHRzICRxcyIgOzsKICAg ICAtLWRpc2s9KikKIAlkc2s9YGVjaG8gIiRvcHRpb24iIHwgc2VkIC1lICdzLy0tZGlzaz0vLydg CiAJaWYgWyAke2dydWJfbW9kaW5mb19wbGF0Zm9ybX0gPSBlbXUgXTsgdGhlbgpAQCAtNjc0LDcg KzY3OCw3IEBAIGVsaWYgWyB4JGJvb3QgPSB4ZW11IF07IHRoZW4KICAgICBjYXQgPiIkd29ya19k aXJlY3RvcnkvcnVuLnNoIiA8PEVPRgogIyEgQEJVSUxEX1NIRUJBTkdACiBTRElSPVwkKHJlYWxw YXRoIC1lIFwkezAlLyp9KQotZXhlYyAiJChyZWFscGF0aCAtZSAiJHtidWlsZGRpcn0iKS9ncnVi LWNvcmUvZ3J1Yi1lbXUiIC1tICJcJFNESVIvJHtkZXZpY2VfbWFwIyMqL30iIC0tbWVtZGlzayAi XCRTRElSLyR7cm9vdHRhciMjKi99IiAtciBtZW1kaXNrIC1kICIvYm9vdC9ncnViIgorZXhlYyAi JChyZWFscGF0aCAtZSAiJHtidWlsZGRpcn0iKS9ncnViLWNvcmUvZ3J1Yi1lbXUiIC1tICJcJFNE SVIvJHtkZXZpY2VfbWFwIyMqL30iIC0tbWVtZGlzayAiXCRTRElSLyR7cm9vdHRhciMjKi99IiAt ciBtZW1kaXNrIC1kICIvYm9vdC9ncnViIiAke2VtdW9wdHN9CiBFT0YKIGVsc2UKICAgICBjYXQg PiIkd29ya19kaXJlY3RvcnkvcnVuLnNoIiA8PEVPRgotLSAKMi40My4wCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxp c3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2dydWItZGV2ZWwK