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 16E49D6DDDB for ; Fri, 15 Nov 2024 07:37:43 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tBqsE-0000Mn-5K; Fri, 15 Nov 2024 02:36:10 -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 1tBqsC-0000MY-V5 for grub-devel@gnu.org; Fri, 15 Nov 2024 02:36:08 -0500 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tBqsA-0008WL-Au for grub-devel@gnu.org; Fri, 15 Nov 2024 02:36:08 -0500 Received: by mail-lj1-x22c.google.com with SMTP id 38308e7fff4ca-2fb5740a03bso15899731fa.1 for ; Thu, 14 Nov 2024 23:36:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1731656164; x=1732260964; 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=viHmFpwmTea38PhsAfuNzaAm4qjLKM4iKS7r5IH2suw=; b=YAtqUWSIScIvObG0O9l2z+8P9OJgalHaQau0TrplQHtFqvehLHalpZebVCvo6uIyFy fMiYgFPO631p8C//nbbSm/8FjUrVFnpTRXKNx9DvPteHdVoF3tA8dSjKbnEpIFccwou5 fEQws2V/eQ04koLBxF6dVGoXVatLNUkBNsHmGRF4pCWH0K3GsNcnemVqYQnYNpq3Y3Z0 sUSqpzDoTVL1bk58thacm1NEKUrgpJ241XcVrQNL4hNxMe/yGwzMtUMgY6iTqVvSNuMH U0Odye/C0xNHPx8aYyqMO+qJuXzyc+POUEJ0TIRqEH5jbWUc1QKQVilxu98xloB29kA9 esUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731656164; x=1732260964; 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=viHmFpwmTea38PhsAfuNzaAm4qjLKM4iKS7r5IH2suw=; b=dwEsOoT5FwvZN+LAr21bO9nWesz7II9+iwmlTCJMrJdL/i1ncKWbTYho1bgOrVbslu nfM+RcrSK5Vz4usmi8PpHGncR1ctACyC2HCIGiiVIbUl+ASurZiRUYd5IgEG9dgcXaD4 HEiiRB156LxTZT7QfqDCsEXa8G204tQy9EKDx08ly+5GKEG6pNlzyrQ0DrPDzmf6O1nZ U69Zb9nTWrMP7mlaK4xO2hG8GG4gmM3t9QpAB9NDfWGqnhnlVyfAf+lWac9zNoNfo7SI AIpXjQW55SYjHTOEphuYxpNV1SaqvkNprU+crMbbrMoyXpwz6GbTPQmO3Wsm7Rn15Zr1 MP9A== X-Gm-Message-State: AOJu0YzgtrRNmmWwcfeI+L3EnrKtruDK2Rh2b8Vga/ztfeIE8m9hgBuS iIJKk3Cpd0OQNEsnTUPMkLCdVoHpSsMUxp/xKBV+ATpkAWCptGq5BCW/fFBZBUa3XI3FLrhGwlr y X-Google-Smtp-Source: AGHT+IEbNBG5sMUOIfhuwrixh38pJ6tqF0yFE3HvgHz17jP9buQqGpE2C528yQxj7SnPGNuV8iYvLw== X-Received: by 2002:a05:6512:3d12:b0:53d:a41c:4efe with SMTP id 2adb3069b0e04-53dab3b0622mr602664e87.36.1731656164323; Thu, 14 Nov 2024 23:36:04 -0800 (PST) Received: from localhost (111-240-136-29.dynamic-ip.hinet.net. [111.240.136.29]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-211d0f61b22sm6676655ad.282.2024.11.14.23.36.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2024 23:36:03 -0800 (PST) To: The development of GNU GRUB Subject: [PATCH v23 13/33] asn1_test: print the error messages with grub_printf() Date: Fri, 15 Nov 2024 15:34:41 +0800 Message-ID: <20241115073506.2784-14-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::22c; envelope-from=glin@suse.com; helo=mail-lj1-x22c.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 VGhpcyBjb21taXQgcmVwbGFjZXMgcHJpbnRmKCkgYW5kIGZwcmludGYoKSB3aXRoIGdydWJfcHJp bnRmKCkgdG8gcHJpbnQKdGhlIGVycm9yIG1lc3NhZ2VzIGZvciB0aGUgdGVzdGNhc2VzLiBCZXNp ZGVzLCBhc24xX3N0cmVycm9yKCkgaXMgdXNlZAp0byBjb252ZXJ0IHRoZSByZXN1bHQgY29kZSB0 byBzdHJpbmdzIGluc3RlYWQgb2YgYXNuMV9wZXJyb3IoKS4KClNpZ25lZC1vZmYtYnk6IERhbmll bCBBeHRlbnMgPGRqYUBheHRlbnMubmV0PgpTaWduZWQtb2ZmLWJ5OiBHYXJ5IExpbiA8Z2xpbkBz dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IERhbmllbCBLaXBlciA8ZGFuaWVsLmtpcGVyQG9yYWNsZS5j b20+Ci0tLQogLi4uLXRoZS1lcnJvci1tZXNzYWdlcy13aXRoLWdydWJfcHJpbnRmLnBhdGNoIHwg NDg1ICsrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDQ4NSBpbnNlcnRpb25zKCsp CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ3J1Yi1jb3JlL2xpYi9saWJ0YXNuMS1wYXRjaGVzLzAwMTEt YXNuMV90ZXN0LXByaW50LXRoZS1lcnJvci1tZXNzYWdlcy13aXRoLWdydWJfcHJpbnRmLnBhdGNo CgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xpYi9saWJ0YXNuMS1wYXRjaGVzLzAwMTEtYXNuMV90 ZXN0LXByaW50LXRoZS1lcnJvci1tZXNzYWdlcy13aXRoLWdydWJfcHJpbnRmLnBhdGNoIGIvZ3J1 Yi1jb3JlL2xpYi9saWJ0YXNuMS1wYXRjaGVzLzAwMTEtYXNuMV90ZXN0LXByaW50LXRoZS1lcnJv ci1tZXNzYWdlcy13aXRoLWdydWJfcHJpbnRmLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uYWFkZDM2MmNkCi0tLSAvZGV2L251bGwKKysrIGIvZ3J1Yi1jb3JlL2xp Yi9saWJ0YXNuMS1wYXRjaGVzLzAwMTEtYXNuMV90ZXN0LXByaW50LXRoZS1lcnJvci1tZXNzYWdl cy13aXRoLWdydWJfcHJpbnRmLnBhdGNoCkBAIC0wLDAgKzEsNDg1IEBACitGcm9tIGFmNWYwYTY1 MWRlMDllNDRlNzgxNzdiOTg4ODU3YWNkMzIwOGM0YjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBHYXJ5IExpbiA8Z2xpbkBzdXNlLmNvbT4KK0RhdGU6IEZyaSwgMTYgQXVnIDIwMjQg MTU6MDA6NDIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxMS8xM10gYXNuMV90ZXN0OiBwcmludCB0 aGUgZXJyb3IgbWVzc2FnZXMgd2l0aCBncnViX3ByaW50ZigpCisKK1RoaXMgY29tbWl0IHJlcGxh Y2VzIHByaW50ZigpIGFuZCBmcHJpbnRmKCkgd2l0aCBncnViX3ByaW50ZigpIHRvIHByaW50Cit0 aGUgZXJyb3IgbWVzc2FnZXMgZm9yIHRoZSB0ZXN0Y2FzZXMuIEJlc2lkZXMsIGFzbjFfc3RyZXJy b3IoKSBpcyB1c2VkCit0byBjb252ZXJ0IHRoZSByZXN1bHQgY29kZSB0byBzdHJpbmdzIGluc3Rl YWQgb2YgYXNuMV9wZXJyb3IoKS4KKworU2lnbmVkLW9mZi1ieTogRGFuaWVsIEF4dGVucyA8ZGph QGF4dGVucy5uZXQ+CitTaWduZWQtb2ZmLWJ5OiBHYXJ5IExpbiA8Z2xpbkBzdXNlLmNvbT4KK1Jl dmlld2VkLWJ5OiBEYW5pZWwgS2lwZXIgPGRhbmllbC5raXBlckBvcmFjbGUuY29tPgorLS0tCisg Z3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVzdHMvQ1ZFLTIwMTgtMTAwMDY1NC5jIHwgIDggKy0tCisg Z3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVzdHMvVGVzdF9vdmVyZmxvdy5jICAgIHwgMTQgKystLS0K KyBncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9UZXN0X3NpbXBsZS5jICAgICAgfCAyMSArKysr LS0tLQorIGdydWItY29yZS90ZXN0cy9hc24xL3Rlc3RzL1Rlc3Rfc3RyaW5ncy5jICAgICB8IDIx ICsrKy0tLS0tCisgLi4uL3Rlc3RzL2FzbjEvdGVzdHMvb2JqZWN0LWlkLWRlY29kaW5nLmMgICAg IHwgMTYgKysrLS0tCisgLi4uL3Rlc3RzL2FzbjEvdGVzdHMvb2JqZWN0LWlkLWVuY29kaW5nLmMg ICAgIHwgMjYgKysrKy0tLS0tCisgZ3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVzdHMvb2N0ZXQtc3Ry aW5nLmMgICAgIHwgNTQgKysrKysrKystLS0tLS0tLS0tLQorIGdydWItY29yZS90ZXN0cy9hc24x L3Rlc3RzL3JlcHJvZHVjZXJzLmMgICAgICB8ICA2ICstLQorIDggZmlsZXMgY2hhbmdlZCwgNjcg aW5zZXJ0aW9ucygrKSwgOTkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ncnViLWNvcmUv dGVzdHMvYXNuMS90ZXN0cy9DVkUtMjAxOC0xMDAwNjU0LmMgYi9ncnViLWNvcmUvdGVzdHMvYXNu MS90ZXN0cy9DVkUtMjAxOC0xMDAwNjU0LmMKK2luZGV4IDgxNDQ4Y2RlOC4uYjc4NjY3OTAwIDEw MDY0NAorLS0tIGEvZ3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVzdHMvQ1ZFLTIwMTgtMTAwMDY1NC5j CisrKysgYi9ncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9DVkUtMjAxOC0xMDAwNjU0LmMKK0BA IC0zOCw4ICszOCw4IEBAIHRlc3RfQ1ZFXzIwMThfMTAwMDY1NCAodm9pZCkKKyAJCSAgICAgZXJy b3JEZXNjcmlwdGlvbik7CisgICBpZiAocmVzdWx0ICE9IEFTTjFfUkVDVVJTSU9OKQorICAgICB7 CistICAgICAgYXNuMV9wZXJyb3IgKHJlc3VsdCk7CistICAgICAgcHJpbnRmICgiRXJyb3JEZXNj cmlwdGlvbiA9ICVzXG5cbiIsIGVycm9yRGVzY3JpcHRpb24pOworKyAgICAgIGdydWJfcHJpbnRm ICgiRXJyb3I6ICVzXG5FcnJvckRlc2NyaXB0aW9uID0gJXNcblxuIiwKKysJCSAgIGFzbjFfc3Ry ZXJyb3IgKHJlc3VsdCksIGVycm9yRGVzY3JpcHRpb24pOworICAgICAgIHJldHVybiAxOworICAg ICB9CisgCitAQCAtNTAsOCArNTAsOCBAQCB0ZXN0X0NWRV8yMDE4XzEwMDA2NTQgKHZvaWQpCisg CQkgICAgIGVycm9yRGVzY3JpcHRpb24pOworICAgaWYgKHJlc3VsdCAhPSBBU04xX1JFQ1VSU0lP TikKKyAgICAgeworLSAgICAgIGFzbjFfcGVycm9yIChyZXN1bHQpOworLSAgICAgIHByaW50ZiAo IkVycm9yRGVzY3JpcHRpb24gPSAlc1xuXG4iLCBlcnJvckRlc2NyaXB0aW9uKTsKKysgICAgICBn cnViX3ByaW50ZiAoIkVycm9yOiAlc1xuRXJyb3JEZXNjcmlwdGlvbiA9ICVzXG5cbiIsCisrCQkg ICBhc24xX3N0cmVycm9yIChyZXN1bHQpLCBlcnJvckRlc2NyaXB0aW9uKTsKKyAgICAgICByZXR1 cm4gMTsKKyAgICAgfQorIAorZGlmZiAtLWdpdCBhL2dydWItY29yZS90ZXN0cy9hc24xL3Rlc3Rz L1Rlc3Rfb3ZlcmZsb3cuYyBiL2dydWItY29yZS90ZXN0cy9hc24xL3Rlc3RzL1Rlc3Rfb3ZlcmZs b3cuYworaW5kZXggOWY5NTc4YTFmLi5mZmFjODUwN2EgMTAwNjQ0CistLS0gYS9ncnViLWNvcmUv dGVzdHMvYXNuMS90ZXN0cy9UZXN0X292ZXJmbG93LmMKKysrKyBiL2dydWItY29yZS90ZXN0cy9h c24xL3Rlc3RzL1Rlc3Rfb3ZlcmZsb3cuYworQEAgLTM2LDcgKzM2LDcgQEAgdGVzdF9vdmVyZmxv dyAodm9pZCkKKyAKKyAgICAgaWYgKGwgIT0gLTJMKQorICAgICAgIHsKKy0JcHJpbnRmICgiRVJS T1I6IGFzbjFfZ2V0X2xlbmd0aF9kZXIgYmlnbnVtIChsICVsZCBsZW4gJWQpXG4iLCBsLCBsZW4p OworKwlncnViX3ByaW50ZiAoIkVSUk9SOiBhc24xX2dldF9sZW5ndGhfZGVyIGJpZ251bSAobCAl bGQgbGVuICVkKVxuIiwgbCwgbGVuKTsKKyAJcmV0dXJuIDE7CisgICAgICAgfQorICAgfQorQEAg LTU3LDggKzU3LDcgQEAgdGVzdF9vdmVyZmxvdyAodm9pZCkKKyAKKyAgICAgICBpZiAobCAhPSAt MkwpCisgCXsKKy0JICBwcmludGYgKCJFUlJPUjogYXNuMV9nZXRfbGVuZ3RoX2RlciBpbnRudW0g KGwgJWxkIGxlbiAlZClcbiIsIGwsCistCQkgIGxlbik7CisrCSAgZ3J1Yl9wcmludGYgKCJFUlJP UjogYXNuMV9nZXRfbGVuZ3RoX2RlciBpbnRudW0gKGwgJWxkIGxlbiAlZClcbiIsIGwsIGxlbik7 CisgCSAgcmV0dXJuIDE7CisgCX0KKyAgICAgfQorQEAgLTc5LDggKzc4LDcgQEAgdGVzdF9vdmVy ZmxvdyAodm9pZCkKKyAKKyAgICAgaWYgKGwgIT0gLTRMKQorICAgICAgIHsKKy0JcHJpbnRmICgi RVJST1I6IGFzbjFfZ2V0X2xlbmd0aF9kZXIgb3ZlcmZsb3ctc21hbGwgKGwgJWxkIGxlbiAlZClc biIsCistCQlsLCBsZW4pOworKwlncnViX3ByaW50ZiAoIkVSUk9SOiBhc24xX2dldF9sZW5ndGhf ZGVyIG92ZXJmbG93LXNtYWxsIChsICVsZCBsZW4gJWQpXG4iLCBsLCBsZW4pOworIAlyZXR1cm4g MTsKKyAgICAgICB9CisgICB9CitAQCAtMTAxLDggKzk5LDcgQEAgdGVzdF9vdmVyZmxvdyAodm9p ZCkKKyAKKyAgICAgaWYgKGwgIT0gLTRMKQorICAgICAgIHsKKy0JcHJpbnRmICgiRVJST1I6IGFz bjFfZ2V0X2xlbmd0aF9kZXIgb3ZlcmZsb3ctbGFyZ2UxIChsICVsZCBsZW4gJWQpXG4iLAorLQkJ bCwgbGVuKTsKKysJZ3J1Yl9wcmludGYgKCJFUlJPUjogYXNuMV9nZXRfbGVuZ3RoX2RlciBvdmVy Zmxvdy1sYXJnZTEgKGwgJWxkIGxlbiAlZClcbiIsIGwsIGxlbik7CisgCXJldHVybiAxOworICAg ICAgIH0KKyAgIH0KK0BAIC0xMjMsOCArMTIwLDcgQEAgdGVzdF9vdmVyZmxvdyAodm9pZCkKKyAK KyAgICAgaWYgKGwgIT0gLTJMKQorICAgICAgIHsKKy0JcHJpbnRmICgiRVJST1I6IGFzbjFfZ2V0 X2xlbmd0aF9kZXIgb3ZlcmZsb3ctbGFyZ2UyIChsICVsZCBsZW4gJWQpXG4iLAorLQkJbCwgbGVu KTsKKysJZ3J1Yl9wcmludGYgKCJFUlJPUjogYXNuMV9nZXRfbGVuZ3RoX2RlciBvdmVyZmxvdy1s YXJnZTIgKGwgJWxkIGxlbiAlZClcbiIsIGwsIGxlbik7CisgCXJldHVybiAxOworICAgICAgIH0K KyAgIH0KK2RpZmYgLS1naXQgYS9ncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9UZXN0X3NpbXBs ZS5jIGIvZ3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVzdHMvVGVzdF9zaW1wbGUuYworaW5kZXggMTI5 OTNiZmJhLi5kYzcwZGIxOTEgMTAwNjQ0CistLS0gYS9ncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0 cy9UZXN0X3NpbXBsZS5jCisrKysgYi9ncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9UZXN0X3Np bXBsZS5jCitAQCAtOTQsNyArOTQsNyBAQCB0ZXN0X3NpbXBsZSAodm9pZCkKKyAgICAgcmVzdWx0 ID0gYXNuMV9lbmNvZGVfc2ltcGxlX2RlciAoZXR5cGUsIG15X3N0ciwgbXlfc3RyX2xlbiwgdGws ICZ0bF9sZW4pOworICAgICBpZiAocmVzdWx0ICE9IEFTTjFfVkFMVUVfTk9UX1ZBTElEKQorICAg ICAgIHsKKy0JZnByaW50ZiAoc3RkZXJyLCAiYXNuMV9lbmNvZGVfc2ltcGxlX2RlciBvdXQgb2Yg cmFuZ2UgZXR5cGVcbiIpOworKwlncnViX3ByaW50ZiAoImFzbjFfZW5jb2RlX3NpbXBsZV9kZXIg b3V0IG9mIHJhbmdlIGV0eXBlXG4iKTsKKyAJcmV0dXJuIDE7CisgICAgICAgfQorICAgfQorQEAg LTEwNSw3ICsxMDUsNyBAQCB0ZXN0X3NpbXBsZSAodm9pZCkKKyAgIHJlc3VsdCA9IGFzbjFfZ2V0 X2JpdF9kZXIgKGRlciwgMCwgJnJldF9sZW4sIHN0ciwgc3RyX3NpemUsICZiaXRfbGVuKTsKKyAg IGlmIChyZXN1bHQgIT0gQVNOMV9HRU5FUklDX0VSUk9SKQorICAgICB7CistICAgICAgZnByaW50 ZiAoc3RkZXJyLCAiYXNuMV9nZXRfYml0X2RlciB6ZXJvXG4iKTsKKysgICAgICBncnViX3ByaW50 ZiAoImFzbjFfZ2V0X2JpdF9kZXIgemVyb1xuIik7CisgICAgICAgcmV0dXJuIDE7CisgICAgIH0K KyAKK0BAIC0xMjksNyArMTI5LDcgQEAgdGVzdF9zaW1wbGUgKHZvaWQpCisgCisgICAgICAgaWYg KGRlcl9sZW4gIT0gdHZbaV0uZGVybGVuIHx8IG1lbWNtcCAoZGVyLCB0dltpXS5kZXIsIGRlcl9s ZW4pICE9IDApCisgCXsKKy0JICBmcHJpbnRmIChzdGRlcnIsICJhc24xX2JpdF9kZXIgaXRlciAl bHVcbiIsICh1bnNpZ25lZCBsb25nKSBpKTsKKysJICBncnViX3ByaW50ZiAoImFzbjFfYml0X2Rl ciBpdGVyICVsdVxuIiwgKHVuc2lnbmVkIGxvbmcpIGkpOworIAkgIHJldHVybiAxOworIAl9Cisg CitAQCAtMTQwLDggKzE0MCw3IEBAIHRlc3Rfc2ltcGxlICh2b2lkKQorICAgICAgIGlmIChyZXN1 bHQgIT0gQVNOMV9TVUNDRVNTIHx8IHJldF9sZW4gIT0gdHZbaV0uZGVybGVuCisgCSAgfHwgYml0 X2xlbiAhPSB0dltpXS5iaXRsZW4pCisgCXsKKy0JICBmcHJpbnRmIChzdGRlcnIsICJhc24xX2dl dF9iaXRfZGVyIGl0ZXIgJWx1LCBlcnI6ICVkXG4iLAorLQkJICAgKHVuc2lnbmVkIGxvbmcpIGks IHJlc3VsdCk7CisrCSAgZ3J1Yl9wcmludGYgKCJhc24xX2dldF9iaXRfZGVyIGl0ZXIgJWx1LCBl cnI6ICVkXG4iLCAodW5zaWduZWQgbG9uZykgaSwgcmVzdWx0KTsKKyAJICByZXR1cm4gMTsKKyAJ fQorICAgICB9CitAQCAtMTYzLDcgKzE2Miw3IEBAIHRlc3Rfc2ltcGxlICh2b2lkKQorICAgaWYg KHJlc3VsdCAhPSBBU04xX1NVQ0NFU1MgfHwgcmV0X2xlbiAhPSA1CisgICAgICAgfHwgYml0X2xl biAhPSAxOCB8fCBtZW1jbXAgKHN0ciwgIlx4NmVceDVkXHhjMCIsIDMpICE9IDApCisgICAgIHsK Ky0gICAgICBmcHJpbnRmIChzdGRlcnIsICJhc24xX2dldF9iaXRfZGVyIGV4YW1wbGVcbiIpOwor KyAgICAgIGdydWJfcHJpbnRmICgiYXNuMV9nZXRfYml0X2RlciBleGFtcGxlXG4iKTsKKyAgICAg ICByZXR1cm4gMTsKKyAgICAgfQorIAorQEAgLTE3MSw3ICsxNzAsNyBAQCB0ZXN0X3NpbXBsZSAo dm9pZCkKKyAgIGFzbjFfYml0X2RlciAoc3RyLCBiaXRfbGVuLCBkZXIsICZkZXJfbGVuKTsKKyAg IGlmIChkZXJfbGVuICE9IDUgfHwgbWVtY21wIChkZXIsICJceDA0XHgwNlx4NmVceDVkXHhjMCIs IDUpICE9IDApCisgICAgIHsKKy0gICAgICBmcHJpbnRmIChzdGRlcnIsICJhc24xX2JpdF9kZXIg ZXhhbXBsZSByb3VuZHRyaXBcbiIpOworKyAgICAgIGdydWJfcHJpbnRmICgiYXNuMV9iaXRfZGVy IGV4YW1wbGUgcm91bmR0cmlwXG4iKTsKKyAgICAgICByZXR1cm4gMTsKKyAgICAgfQorIAorQEAg LTE4NCw3ICsxODMsNyBAQCB0ZXN0X3NpbXBsZSAodm9pZCkKKyAgIGlmIChyZXN1bHQgIT0gQVNO MV9TVUNDRVNTIHx8IHJldF9sZW4gIT0gNQorICAgICAgIHx8IGJpdF9sZW4gIT0gMTggfHwgbWVt Y21wIChzdHIsICJceDZlXHg1ZFx4ZTAiLCAzKSAhPSAwKQorICAgICB7CistICAgICAgZnByaW50 ZiAoc3RkZXJyLCAiYXNuMV9nZXRfYml0X2RlciBleGFtcGxlIHBhZGRlZFxuIik7CisrICAgICAg Z3J1Yl9wcmludGYgKCJhc24xX2dldF9iaXRfZGVyIGV4YW1wbGUgcGFkZGVkXG4iKTsKKyAgICAg ICByZXR1cm4gMTsKKyAgICAgfQorIAorQEAgLTE5Miw3ICsxOTEsNyBAQCB0ZXN0X3NpbXBsZSAo dm9pZCkKKyAgIGFzbjFfYml0X2RlciAoc3RyLCBiaXRfbGVuLCBkZXIsICZkZXJfbGVuKTsKKyAg IGlmIChkZXJfbGVuICE9IDUgfHwgbWVtY21wIChkZXIsICJceDA0XHgwNlx4NmVceDVkXHhjMCIs IDUpICE9IDApCisgICAgIHsKKy0gICAgICBmcHJpbnRmIChzdGRlcnIsICJhc24xX2JpdF9kZXIg ZXhhbXBsZSByb3VuZHRyaXBcbiIpOworKyAgICAgIGdydWJfcHJpbnRmICgiYXNuMV9iaXRfZGVy IGV4YW1wbGUgcm91bmR0cmlwXG4iKTsKKyAgICAgICByZXR1cm4gMTsKKyAgICAgfQorIAorQEAg LTIwNiw3ICsyMDUsNyBAQCB0ZXN0X3NpbXBsZSAodm9pZCkKKyAgIGlmIChyZXN1bHQgIT0gQVNO MV9TVUNDRVNTIHx8IHJldF9sZW4gIT0gNgorICAgICAgIHx8IGJpdF9sZW4gIT0gMTggfHwgbWVt Y21wIChzdHIsICJceDZlXHg1ZFx4YzAiLCAzKSAhPSAwKQorICAgICB7CistICAgICAgZnByaW50 ZiAoc3RkZXJyLCAiYXNuMV9nZXRfYml0X2RlciBleGFtcGxlIGxvbmcgZm9ybVxuIik7CisrICAg ICAgZ3J1Yl9wcmludGYgKCJhc24xX2dldF9iaXRfZGVyIGV4YW1wbGUgbG9uZyBmb3JtXG4iKTsK KyAgICAgICByZXR1cm4gMTsKKyAgICAgfQorIAorQEAgLTIxNCw3ICsyMTMsNyBAQCB0ZXN0X3Np bXBsZSAodm9pZCkKKyAgIGFzbjFfYml0X2RlciAoc3RyLCBiaXRfbGVuLCBkZXIsICZkZXJfbGVu KTsKKyAgIGlmIChkZXJfbGVuICE9IDUgfHwgbWVtY21wIChkZXIsICJceDA0XHgwNlx4NmVceDVk XHhjMCIsIDUpICE9IDApCisgICAgIHsKKy0gICAgICBmcHJpbnRmIChzdGRlcnIsICJhc24xX2Jp dF9kZXIgZXhhbXBsZSByb3VuZHRyaXBcbiIpOworKyAgICAgIGdydWJfcHJpbnRmICgiYXNuMV9i aXRfZGVyIGV4YW1wbGUgcm91bmR0cmlwXG4iKTsKKyAgICAgICByZXR1cm4gMTsKKyAgICAgfQor IAorZGlmZiAtLWdpdCBhL2dydWItY29yZS90ZXN0cy9hc24xL3Rlc3RzL1Rlc3Rfc3RyaW5ncy5j IGIvZ3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVzdHMvVGVzdF9zdHJpbmdzLmMKK2luZGV4IDI1Mzhm MjU1OC4uNjVjMzA5MzdmIDEwMDY0NAorLS0tIGEvZ3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVzdHMv VGVzdF9zdHJpbmdzLmMKKysrKyBiL2dydWItY29yZS90ZXN0cy9hc24xL3Rlc3RzL1Rlc3Rfc3Ry aW5ncy5jCitAQCAtODksMTcgKzg5LDE0IEBAIHRlc3Rfc3RyaW5ncyAodm9pZCkKKyAJCQkJICAg IHRsLCAmdGxfbGVuKTsKKyAgICAgICBpZiAocmV0ICE9IEFTTjFfU1VDQ0VTUykKKyAJeworLQkg IGZwcmludGYgKHN0ZGVyciwgIkVuY29kaW5nIGVycm9yIGluICV1OiAlc1xuIiwgaSwKKy0JCSAg IGFzbjFfc3RyZXJyb3IgKHJldCkpOworKwkgIGdydWJfcHJpbnRmICgiRW5jb2RpbmcgZXJyb3Ig aW4gJXU6ICVzXG4iLCBpLCBhc24xX3N0cmVycm9yIChyZXQpKTsKKyAJICByZXR1cm4gMTsKKyAJ fQorICAgICAgIGRlcl9sZW4gPSB0bF9sZW4gKyB0dltpXS5zdHJfbGVuOworIAorICAgICAgIGlm IChkZXJfbGVuICE9IHR2W2ldLmRlcl9sZW4gfHwgbWVtY21wICh0bCwgdHZbaV0uZGVyLCB0bF9s ZW4pICE9IDApCisgCXsKKy0JICBmcHJpbnRmIChzdGRlcnIsCistCQkgICAiREVSIGVuY29kaW5n IGRpZmZlcnMgaW4gJXUhIChzaXplOiAldSwgZXhwZWN0ZWQ6ICV1KVxuIiwKKy0JCSAgIGksIGRl cl9sZW4sIHR2W2ldLmRlcl9sZW4pOworKwkgIGdydWJfcHJpbnRmICgiREVSIGVuY29kaW5nIGRp ZmZlcnMgaW4gJXUhIChzaXplOiAldSwgZXhwZWN0ZWQ6ICV1KVxuIiwgaSwgZGVyX2xlbiwgdHZb aV0uZGVyX2xlbik7CisgCSAgcmV0dXJuIDE7CisgCX0KKyAKK0BAIC0xMDksMTYgKzEwNiwxMyBA QCB0ZXN0X3N0cmluZ3MgKHZvaWQpCisgCQkJCSZzdHJfbGVuKTsKKyAgICAgICBpZiAocmV0ICE9 IEFTTjFfU1VDQ0VTUykKKyAJeworLQkgIGZwcmludGYgKHN0ZGVyciwgIkRlY29kaW5nIGVycm9y IGluICV1OiAlc1xuIiwgaSwKKy0JCSAgIGFzbjFfc3RyZXJyb3IgKHJldCkpOworKwkgIGdydWJf cHJpbnRmICgiRGVjb2RpbmcgZXJyb3IgaW4gJXU6ICVzXG4iLCBpLCBhc24xX3N0cmVycm9yIChy ZXQpKTsKKyAJICByZXR1cm4gMTsKKyAJfQorIAorICAgICAgIGlmIChzdHJfbGVuICE9IHR2W2ld LnN0cl9sZW4gfHwgbWVtY21wIChzdHIsIHR2W2ldLnN0ciwgc3RyX2xlbikgIT0gMCkKKyAJewor LQkgIGZwcmludGYgKHN0ZGVyciwKKy0JCSAgICJERVIgZGVjb2RlZCBkYXRhIGRpZmZlciBpbiAl dSEgKHNpemU6ICV1LCBleHBlY3RlZDogJXUpXG4iLAorLQkJICAgaSwgZGVyX2xlbiwgdHZbaV0u c3RyX2xlbik7CisrCSAgZ3J1Yl9wcmludGYgKCJERVIgZGVjb2RlZCBkYXRhIGRpZmZlciBpbiAl dSEgKHNpemU6ICV1LCBleHBlY3RlZDogJXUpXG4iLCBpLCBkZXJfbGVuLCB0dltpXS5zdHJfbGVu KTsKKyAJICByZXR1cm4gMTsKKyAJfQorICAgICB9CitAQCAtMTMyLDE2ICsxMjYsMTMgQEAgdGVz dF9zdHJpbmdzICh2b2lkKQorIAkJCQkmc3RyX2xlbiwgTlVMTCk7CisgICAgICAgaWYgKHJldCAh PSBBU04xX1NVQ0NFU1MpCisgCXsKKy0JICBmcHJpbnRmIChzdGRlcnIsICJCRVIgZGVjb2Rpbmcg ZXJyb3IgaW4gJXU6ICVzXG4iLCBpLAorLQkJICAgYXNuMV9zdHJlcnJvciAocmV0KSk7CisrCSAg Z3J1Yl9wcmludGYgKCJCRVIgZGVjb2RpbmcgZXJyb3IgaW4gJXU6ICVzXG4iLCBpLCBhc24xX3N0 cmVycm9yIChyZXQpKTsKKyAJICByZXR1cm4gMTsKKyAJfQorIAorICAgICAgIGlmIChzdHJfbGVu ICE9IGJlcltpXS5zdHJfbGVuIHx8IG1lbWNtcCAoYiwgYmVyW2ldLnN0ciwgc3RyX2xlbikgIT0g MCkKKyAJeworLQkgIGZwcmludGYgKHN0ZGVyciwKKy0JCSAgICJCRVIgZGVjb2RlZCBkYXRhIGRp ZmZlciBpbiAldSEgKHNpemU6ICV1LCBleHBlY3RlZDogJXUpXG4iLAorLQkJICAgaSwgc3RyX2xl biwgYmVyW2ldLnN0cl9sZW4pOworKwkgIGdydWJfcHJpbnRmICgiQkVSIGRlY29kZWQgZGF0YSBk aWZmZXIgaW4gJXUhIChzaXplOiAldSwgZXhwZWN0ZWQ6ICV1KVxuIiwgaSwgc3RyX2xlbiwgYmVy W2ldLnN0cl9sZW4pOworIAkgIHJldHVybiAxOworIAl9CisgICAgICAgZnJlZSAoYik7CitkaWZm IC0tZ2l0IGEvZ3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVzdHMvb2JqZWN0LWlkLWRlY29kaW5nLmMg Yi9ncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9vYmplY3QtaWQtZGVjb2RpbmcuYworaW5kZXgg ZmRiYjhlYTIxLi5jMDg3YjQ2ZTMgMTAwNjQ0CistLS0gYS9ncnViLWNvcmUvdGVzdHMvYXNuMS90 ZXN0cy9vYmplY3QtaWQtZGVjb2RpbmcuYworKysrIGIvZ3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVz dHMvb2JqZWN0LWlkLWRlY29kaW5nLmMKK0BAIC04NSwxMCArODUsOCBAQCB0ZXN0X29iamVjdF9p ZF9kZWNvZGluZyAodm9pZCkKKyAJCQkJc2l6ZW9mIChzdHIpKTsKKyAgICAgICBpZiAocmV0ICE9 IHR2W2ldLmV4cGVjdGVkX2Vycm9yKQorIAl7CistCSAgZnByaW50ZiAoc3RkZXJyLAorLQkJICAg IiVkOiBhc24xX2dldF9vYmplY3RfaWRfZGVyIGl0ZXIgJWx1OiBnb3QgJyVzJyBleHBlY3RlZCAl ZFxuIiwKKy0JCSAgIF9fTElORV9fLCAodW5zaWduZWQgbG9uZykgaSwgYXNuMV9zdHJlcnJvciAo cmV0KSwKKy0JCSAgIHR2W2ldLmV4cGVjdGVkX2Vycm9yKTsKKysJICBncnViX3ByaW50ZiAoIiVk OiBhc24xX2dldF9vYmplY3RfaWRfZGVyIGl0ZXIgJWx1OiBnb3QgJyVzJyBleHBlY3RlZCAlZFxu IiwKKysJCSAgICAgICBfX0xJTkVfXywgKHVuc2lnbmVkIGxvbmcpIGksIGFzbjFfc3RyZXJyb3Ig KHJldCksIHR2W2ldLmV4cGVjdGVkX2Vycm9yKTsKKyAJICByZXR1cm4gMTsKKyAJfQorIAorQEAg LTk3LDE3ICs5NSwxNSBAQCB0ZXN0X29iamVjdF9pZF9kZWNvZGluZyAodm9pZCkKKyAKKyAgICAg ICBpZiAocmV0X2xlbiAhPSB0dltpXS5kZXJfbGVuIC0gMSkKKyAJeworLQkgIGZwcmludGYgKHN0 ZGVyciwKKy0JCSAgICIlZDogaXRlciAlbHU6IGVycm9yIGluIERFUiwgbGVuZ3RoIHJldHVybmVk IGlzICVkLCBoYWQgJWRcbiIsCistCQkgICBfX0xJTkVfXywgKHVuc2lnbmVkIGxvbmcpIGksIHJl dF9sZW4sIHR2W2ldLmRlcl9sZW4gLSAxKTsKKysJICBncnViX3ByaW50ZiAoIiVkOiBpdGVyICVs dTogZXJyb3IgaW4gREVSLCBsZW5ndGggcmV0dXJuZWQgaXMgJWQsIGhhZCAlZFxuIiwKKysJCSAg ICAgICBfX0xJTkVfXywgKHVuc2lnbmVkIGxvbmcpIGksIHJldF9sZW4sIHR2W2ldLmRlcl9sZW4g LSAxKTsKKyAJICByZXR1cm4gMTsKKyAJfQorIAorICAgICAgIGlmIChzdHJjbXAgKHR2W2ldLm9p ZCwgc3RyKSAhPSAwKQorIAl7CistCSAgZnByaW50ZiAoc3RkZXJyLAorLQkJICAgIiVkOiBzdHJj bXAgaXRlciAlbHU6IGdvdCBpbnZhbGlkIE9JRDogJXMsIGV4cGVjdGVkOiAlc1xuIiwKKy0JCSAg IF9fTElORV9fLCAodW5zaWduZWQgbG9uZykgaSwgc3RyLCB0dltpXS5vaWQpOworKwkgIGdydWJf cHJpbnRmICgiJWQ6IHN0cmNtcCBpdGVyICVsdTogZ290IGludmFsaWQgT0lEOiAlcywgZXhwZWN0 ZWQ6ICVzXG4iLAorKwkJICAgICAgIF9fTElORV9fLCAodW5zaWduZWQgbG9uZykgaSwgc3RyLCB0 dltpXS5vaWQpOworIAkgIHJldHVybiAxOworIAl9CisgCitkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3Jl L3Rlc3RzL2FzbjEvdGVzdHMvb2JqZWN0LWlkLWVuY29kaW5nLmMgYi9ncnViLWNvcmUvdGVzdHMv YXNuMS90ZXN0cy9vYmplY3QtaWQtZW5jb2RpbmcuYworaW5kZXggYTQ5NzAxNWUzLi5lM2RhMDky Y2MgMTAwNjQ0CistLS0gYS9ncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9vYmplY3QtaWQtZW5j b2RpbmcuYworKysrIGIvZ3J1Yi1jb3JlL3Rlc3RzL2FzbjEvdGVzdHMvb2JqZWN0LWlkLWVuY29k aW5nLmMKK0BAIC05MywzMyArOTMsMjkgQEAgdGVzdF9vYmplY3RfaWRfZW5jb2RpbmcgKHZvaWQp CisgCXsKKyAJICBpZiAocmV0ID09IHR2W2ldLmV4cGVjdGVkX2Vycm9yKQorIAkgICAgY29udGlu dWU7CistCSAgZnByaW50ZiAoc3RkZXJyLAorLQkJICAgIiVkOiBpdGVyICVsdSwgZW5jb2Rpbmcg b2YgT0lEIGZhaWxlZDogJXNcbiIsCistCQkgICBfX0xJTkVfXywgKHVuc2lnbmVkIGxvbmcpIGks IGFzbjFfc3RyZXJyb3IgKHJldCkpOworKwkgIGdydWJfcHJpbnRmICgiJWQ6IGl0ZXIgJWx1LCBl bmNvZGluZyBvZiBPSUQgZmFpbGVkOiAlc1xuIiwKKysJCSAgICAgICBfX0xJTkVfXywgKHVuc2ln bmVkIGxvbmcpIGksIGFzbjFfc3RyZXJyb3IgKHJldCkpOworIAkgIHJldHVybiAxOworIAl9Cisg ICAgICAgZWxzZSBpZiAocmV0ICE9IHR2W2ldLmV4cGVjdGVkX2Vycm9yKQorIAl7CistCSAgZnBy aW50ZiAoc3RkZXJyLAorLQkJICAgIiVkOiBpdGVyICVsdSwgZW5jb2Rpbmcgb2YgT0lEICVzIHN1 Y2NlZWRlZCB3aGVuIGV4cGVjdGluZyBmYWlsdXJlXG4iLAorLQkJICAgX19MSU5FX18sICh1bnNp Z25lZCBsb25nKSBpLCB0dltpXS5vaWQpOworKwkgIGdydWJfcHJpbnRmICgiJWQ6IGl0ZXIgJWx1 LCBlbmNvZGluZyBvZiBPSUQgJXMgc3VjY2VlZGVkIHdoZW4gZXhwZWN0aW5nIGZhaWx1cmVcbiIs CisrCQkgICAgICAgX19MSU5FX18sICh1bnNpZ25lZCBsb25nKSBpLCB0dltpXS5vaWQpOworIAkg IHJldHVybiAxOworIAl9CisgCisgICAgICAgaWYgKGRlcl9sZW4gIT0gdHZbaV0uZGVyX2xlbiB8 fCBtZW1jbXAgKGRlciwgdHZbaV0uZGVyLCBkZXJfbGVuKSAhPSAwKQorIAl7CistCSAgZnByaW50 ZiAoc3RkZXJyLAorLQkJICAgIiVkOiBpdGVyICVsdSwgcmUtZW5jb2Rpbmcgb2YgT0lEICVzIHJl c3VsdGVkIHRvIGRpZmZlcmVudCBzdHJpbmcgKCVkIHZzICVkIGJ5dGVzKVxuIiwKKy0JCSAgIF9f TElORV9fLCAodW5zaWduZWQgbG9uZykgaSwgdHZbaV0ub2lkLCBkZXJfbGVuLAorLQkJICAgdHZb aV0uZGVyX2xlbik7CistCSAgZnByaW50ZiAoc3RkZXJyLCAiXG5Hb3Q6XHRcdCIpOworKwkgIGdy dWJfcHJpbnRmICgiJWQ6IGl0ZXIgJWx1LCByZS1lbmNvZGluZyBvZiBPSUQgJXMgcmVzdWx0ZWQg dG8gZGlmZmVyZW50IHN0cmluZyAoJWQgdnMgJWQgYnl0ZXMpXG4iLAorKwkJICAgX19MSU5FX18s ICh1bnNpZ25lZCBsb25nKSBpLCB0dltpXS5vaWQsIGRlcl9sZW4sIHR2W2ldLmRlcl9sZW4pOwor KwkgIGdydWJfcHJpbnRmICgiXG5Hb3Q6XHRcdCIpOworIAkgIGZvciAoaiA9IDA7IGogPCBkZXJf bGVuOyBqKyspCistCSAgICBmcHJpbnRmIChzdGRlcnIsICIlLjJ4IiwgZGVyW2pdKTsKKysJICAg IGdydWJfcHJpbnRmICgiJS4yeCIsIGRlcltqXSk7CisgCistCSAgZnByaW50ZiAoc3RkZXJyLCAi XG5FeHBlY3RlZDpcdCIpOworKwkgIGdydWJfcHJpbnRmICgiXG5FeHBlY3RlZDpcdCIpOworIAkg IGZvciAoaiA9IDA7IGogPCB0dltpXS5kZXJfbGVuOyBqKyspCistCSAgICBmcHJpbnRmIChzdGRl cnIsICIlLjJ4IiwgdHZbaV0uZGVyW2pdKTsKKy0JICBmcHJpbnRmIChzdGRlcnIsICJcbiIpOwor KwkgICAgZ3J1Yl9wcmludGYgKCIlLjJ4IiwgdHZbaV0uZGVyW2pdKTsKKysJICBncnViX3ByaW50 ZiAoIlxuIik7CisgCisgCSAgcmV0dXJuIDE7CisgCX0KK2RpZmYgLS1naXQgYS9ncnViLWNvcmUv dGVzdHMvYXNuMS90ZXN0cy9vY3RldC1zdHJpbmcuYyBiL2dydWItY29yZS90ZXN0cy9hc24xL3Rl c3RzL29jdGV0LXN0cmluZy5jCitpbmRleCA4YzQ5YzZlMGMuLmQzYTM1ZGZmOCAxMDA2NDQKKy0t LSBhL2dydWItY29yZS90ZXN0cy9hc24xL3Rlc3RzL29jdGV0LXN0cmluZy5jCisrKysgYi9ncnVi LWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9vY3RldC1zdHJpbmcuYworQEAgLTEzMSw5ICsxMzEsOCBA QCB0ZXN0X29jdGV0X3N0cmluZyAodm9pZCkKKyAJCQkJc2l6ZW9mIChzdHIpLCAmc3RyX3NpemUp OworIAkgIGlmIChyZXQgIT0gdHZbaV0uZXhwZWN0ZWRfZXJyb3IpCisgCSAgICB7CistCSAgICAg IGZwcmludGYgKHN0ZGVyciwKKy0JCSAgICAgICAiJWQ6IGFzbjFfZ2V0X29jdGV0X2RlcjogJXM6 IGdvdCAlZCBleHBlY3RlZCAlZFxuIiwKKy0JCSAgICAgICBfX0xJTkVfXywgdHZbaV0ubmFtZSwg cmV0LCB0dltpXS5leHBlY3RlZF9lcnJvcik7CisrCSAgICAgIGdydWJfcHJpbnRmICgiJWQ6IGFz bjFfZ2V0X29jdGV0X2RlcjogJXM6IGdvdCAlZCBleHBlY3RlZCAlZFxuIiwKKysJCQkgICBfX0xJ TkVfXywgdHZbaV0ubmFtZSwgcmV0LCB0dltpXS5leHBlY3RlZF9lcnJvcik7CisgCSAgICAgIHJl dHVybiAxOworIAkgICAgfQorIAkgIGlmICh0dltpXS5leHBlY3RlZF9lcnJvcikKK0BAIC0xNDEs MjcgKzE0MCwyNSBAQCB0ZXN0X29jdGV0X3N0cmluZyAodm9pZCkKKyAKKyAJICBpZiAocmV0X2xl biAhPSB0dltpXS5kZXJfbGVuIC0gMSkKKyAJICAgIHsKKy0JICAgICAgZnByaW50ZiAoc3RkZXJy LAorLQkJICAgICAgICIlZDogZXJyb3IgaW4gREVSLCBsZW5ndGggcmV0dXJuZWQgaXMgJWQsIGhh ZCAlZFxuIiwKKy0JCSAgICAgICBfX0xJTkVfXywgcmV0X2xlbiwgdHZbaV0uZGVyX2xlbiAtIDEp OworKwkgICAgICBncnViX3ByaW50ZiAoIiVkOiBlcnJvciBpbiBERVIsIGxlbmd0aCByZXR1cm5l ZCBpcyAlZCwgaGFkICVkXG4iLAorKwkJCSAgIF9fTElORV9fLCByZXRfbGVuLCB0dltpXS5kZXJf bGVuIC0gMSk7CisgCSAgICAgIHJldHVybiAxOworIAkgICAgfQorIAorIAkgIGlmIChzdHJfc2l6 ZSAhPSB0dltpXS5sZW4KKyAJICAgICAgfHwgbWVtY21wICh0dltpXS5zdHJpbmcsIHN0ciwgdHZb aV0ubGVuKSAhPSAwKQorIAkgICAgeworLQkgICAgICBmcHJpbnRmIChzdGRlcnIsCistCQkgICAg ICAgIiVkOiBtZW1jbXA6ICVzOiBnb3QgaW52YWxpZCBkZWNvZGluZ1xuIiwKKy0JCSAgICAgICBf X0xJTkVfXywgdHZbaV0ubmFtZSk7CisrCSAgICAgIGdydWJfcHJpbnRmICgiJWQ6IG1lbWNtcDog JXM6IGdvdCBpbnZhbGlkIGRlY29kaW5nXG4iLAorKwkJCSAgIF9fTElORV9fLCB0dltpXS5uYW1l KTsKKyAKKy0JICAgICAgZnByaW50ZiAoc3RkZXJyLCAiXG5Hb3Q6XHRcdCIpOworKwkgICAgICBn cnViX3ByaW50ZiAoIlxuR290Olx0XHQiKTsKKyAJICAgICAgZm9yIChqID0gMDsgaiA8IHN0cl9z aXplOyBqKyspCistCQlmcHJpbnRmIChzdGRlcnIsICIlLjJ4Iiwgc3RyW2pdKTsKKysJCWdydWJf cHJpbnRmICgiJS4yeCIsIHN0cltqXSk7CisgCistCSAgICAgIGZwcmludGYgKHN0ZGVyciwgIlxu RXhwZWN0ZWQ6XHQiKTsKKysJICAgICAgZ3J1Yl9wcmludGYgKCJcbkV4cGVjdGVkOlx0Iik7Cisg CSAgICAgIGZvciAoaiA9IDA7IGogPCB0dltpXS5sZW47IGorKykKKy0JCWZwcmludGYgKHN0ZGVy ciwgIiUuMngiLCB0dltpXS5zdHJpbmdbal0pOworLQkgICAgICBmcHJpbnRmIChzdGRlcnIsICJc biIpOworKwkJZ3J1Yl9wcmludGYgKCIlLjJ4IiwgdHZbaV0uc3RyaW5nW2pdKTsKKysJICAgICAg Z3J1Yl9wcmludGYgKCJcbiIpOworIAkgICAgICByZXR1cm4gMTsKKyAJICAgIH0KKyAKK0BAIC0x NzIsOCArMTY5LDcgQEAgdGVzdF9vY3RldF9zdHJpbmcgKHZvaWQpCisgCSAgaWYgKGRlcl9sZW4g IT0gdHZbaV0uZGVyX2xlbiAtIDEKKyAJICAgICAgfHwgbWVtY21wICh0dltpXS5kZXJfc3RyICsg MSwgZGVyLCB0dltpXS5kZXJfbGVuIC0gMSkgIT0gMCkKKyAJICAgIHsKKy0JICAgICAgZnByaW50 ZiAoc3RkZXJyLAorLQkJICAgICAgICJlbmNvZGluZzogJXM6IGdvdCBpbnZhbGlkIGVuY29kaW5n XG4iLCB0dltpXS5uYW1lKTsKKysJICAgICAgZ3J1Yl9wcmludGYgKCJlbmNvZGluZzogJXM6IGdv dCBpbnZhbGlkIGVuY29kaW5nXG4iLCB0dltpXS5uYW1lKTsKKyAJICAgICAgcmV0dXJuIDE7Cisg CSAgICB9CisgCX0KK0BAIC0xODUsMTAgKzE4MSw5IEBAIHRlc3Rfb2N0ZXRfc3RyaW5nICh2b2lk KQorIAkJCQkodW5zaWduZWQgaW50ICopICZkZXJfbGVuKTsKKyAgICAgICBpZiAocmV0ICE9IHR2 W2ldLmV4cGVjdGVkX2Vycm9yKQorIAl7CistCSAgZnByaW50ZiAoc3RkZXJyLAorLQkJICAgIiVk OiBhc24xX2RlY29kZV9zaW1wbGVfYmVyOiAlczogZ290ICVzIGV4cGVjdGVkICVzXG4iLAorLQkJ ICAgX19MSU5FX18sIHR2W2ldLm5hbWUsIGFzbjFfc3RyZXJyb3IgKHJldCksCistCQkgICBhc24x X3N0cmVycm9yICh0dltpXS5leHBlY3RlZF9lcnJvcikpOworKwkgIGdydWJfcHJpbnRmICgiJWQ6 IGFzbjFfZGVjb2RlX3NpbXBsZV9iZXI6ICVzOiBnb3QgJXMgZXhwZWN0ZWQgJXNcbiIsCisrCQkg ICAgICAgX19MSU5FX18sIHR2W2ldLm5hbWUsIGFzbjFfc3RyZXJyb3IgKHJldCksCisrCQkgICAg ICAgYXNuMV9zdHJlcnJvciAodHZbaV0uZXhwZWN0ZWRfZXJyb3IpKTsKKyAJICByZXR1cm4gMTsK KyAJfQorICAgICAgIGlmICh0dltpXS5leHBlY3RlZF9lcnJvcikKK0BAIC0xOTYsMjUgKzE5MSwy MiBAQCB0ZXN0X29jdGV0X3N0cmluZyAodm9pZCkKKyAKKyAgICAgICBpZiAoZGVyX2xlbiAhPSB0 dltpXS5kZXJfbGVuKQorIAl7CistCSAgZnByaW50ZiAoc3RkZXJyLAorLQkJICAgIiVkOiBlcnJv cjogJXM6IERFUiwgbGVuZ3RoIHJldHVybmVkIGlzICVkLCBoYWQgJWRcbiIsCistCQkgICBfX0xJ TkVfXywgdHZbaV0ubmFtZSwgZGVyX2xlbiwgdHZbaV0uZGVyX2xlbik7CisrCSAgZ3J1Yl9wcmlu dGYgKCIlZDogZXJyb3I6ICVzOiBERVIsIGxlbmd0aCByZXR1cm5lZCBpcyAlZCwgaGFkICVkXG4i LAorKwkJICAgICAgIF9fTElORV9fLCB0dltpXS5uYW1lLCBkZXJfbGVuLCB0dltpXS5kZXJfbGVu KTsKKyAJICByZXR1cm4gMTsKKyAJfQorIAorICAgICAgIGlmIChzdHJfc2l6ZSAhPSB0dltpXS5s ZW4gfHwgbWVtY21wICh0dltpXS5zdHJpbmcsIHRtcCwgdHZbaV0ubGVuKSAhPSAwKQorIAl7Cist CSAgZnByaW50ZiAoc3RkZXJyLAorLQkJICAgIiVkOiBtZW1jbXA6ICVzOiBnb3QgaW52YWxpZCBk ZWNvZGluZ1xuIiwKKy0JCSAgIF9fTElORV9fLCB0dltpXS5uYW1lKTsKKy0JICBmcHJpbnRmIChz dGRlcnIsICJcbkdvdDpcdFx0Iik7CisrCSAgZ3J1Yl9wcmludGYgKCIlZDogbWVtY21wOiAlczog Z290IGludmFsaWQgZGVjb2RpbmdcbiIsIF9fTElORV9fLCB0dltpXS5uYW1lKTsKKysJICBncnVi X3ByaW50ZiAoIlxuR290Olx0XHQiKTsKKyAJICBmb3IgKGogPSAwOyBqIDwgc3RyX3NpemU7IGor KykKKy0JICAgIGZwcmludGYgKHN0ZGVyciwgIiUuMngiLCB0bXBbal0pOworKwkgICAgZ3J1Yl9w cmludGYgKCIlLjJ4IiwgdG1wW2pdKTsKKyAKKy0JICBmcHJpbnRmIChzdGRlcnIsICJcbkV4cGVj dGVkOlx0Iik7CisrCSAgZ3J1Yl9wcmludGYgKCJcbkV4cGVjdGVkOlx0Iik7CisgCSAgZm9yIChq ID0gMDsgaiA8IHR2W2ldLmxlbjsgaisrKQorLQkgICAgZnByaW50ZiAoc3RkZXJyLCAiJS4yeCIs IHR2W2ldLnN0cmluZ1tqXSk7CistCSAgZnByaW50ZiAoc3RkZXJyLCAiXG4iKTsKKysJICAgIGdy dWJfcHJpbnRmICgiJS4yeCIsIHR2W2ldLnN0cmluZ1tqXSk7CisrCSAgZ3J1Yl9wcmludGYgKCJc biIpOworIAkgIHJldHVybiAxOworIAl9CisgICAgICAgZnJlZSAodG1wKTsKK2RpZmYgLS1naXQg YS9ncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9yZXByb2R1Y2Vycy5jIGIvZ3J1Yi1jb3JlL3Rl c3RzL2FzbjEvdGVzdHMvcmVwcm9kdWNlcnMuYworaW5kZXggZmEzY2VhNzYyLi4wZTNjOWZkNjUg MTAwNjQ0CistLS0gYS9ncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9yZXByb2R1Y2Vycy5jCisr KysgYi9ncnViLWNvcmUvdGVzdHMvYXNuMS90ZXN0cy9yZXByb2R1Y2Vycy5jCitAQCAtNTgsOCAr NTgsNyBAQCB0ZXN0X3JlcHJvZHVjZXJzICh2b2lkKQorICAgcmVzdWx0ID0gYXNuMV9hcnJheTJ0 cmVlIChlbmRsZXNzX2FzbjFfdGFiLCAmZGVmaW5pdGlvbnMsIGVycm9yRGVzY3JpcHRpb24pOwor ICAgaWYgKHJlc3VsdCAhPSBBU04xX1NVQ0NFU1MpCisgICAgIHsKKy0gICAgICBhc24xX3BlcnJv ciAocmVzdWx0KTsKKy0gICAgICBwcmludGYgKCJFcnJvckRlc2NyaXB0aW9uID0gJXNcblxuIiwg ZXJyb3JEZXNjcmlwdGlvbik7CisrICAgICAgZ3J1Yl9wcmludGYgKCJFcnJvcjogJXNcbkVycm9y RGVzY3JpcHRpb24gPSAlc1xuXG4iLCBhc24xX3N0cmVycm9yIChyZXN1bHQpLCBlcnJvckRlc2Ny aXB0aW9uKTsKKyAgICAgICByZXR1cm4gMTsKKyAgICAgfQorIAorQEAgLTY5LDggKzY4LDcgQEAg dGVzdF9yZXByb2R1Y2VycyAodm9pZCkKKyAgIHJlc3VsdCA9IGFzbjFfYXJyYXkydHJlZSAodGFi LCAmZGVmaW5pdGlvbnMsIGVycm9yRGVzY3JpcHRpb24pOworICAgaWYgKHJlc3VsdCAhPSBBU04x X1NVQ0NFU1MpCisgICAgIHsKKy0gICAgICBhc24xX3BlcnJvciAocmVzdWx0KTsKKy0gICAgICBw cmludGYgKCJFcnJvckRlc2NyaXB0aW9uID0gJXNcblxuIiwgZXJyb3JEZXNjcmlwdGlvbik7Cisr ICAgICAgZ3J1Yl9wcmludGYgKCJFcnJvcjogJXNcbkVycm9yRGVzY3JpcHRpb24gPSAlc1xuXG4i LCBhc24xX3N0cmVycm9yIChyZXN1bHQpLCBlcnJvckRlc2NyaXB0aW9uKTsKKyAgICAgICByZXR1 cm4gMTsKKyAgICAgfQorIAorLS0gCisyLjQzLjAKKwotLSAKMi40My4wCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxp c3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2dydWItZGV2ZWwK