Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rOSeY-004LcY-Ak for pgsql-hackers@arkaria.postgresql.org; Sat, 13 Jan 2024 01:17:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rOSeW-006UUb-Eh for pgsql-hackers@arkaria.postgresql.org; Sat, 13 Jan 2024 01:17:36 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rOSeV-006UTc-OB for pgsql-hackers@lists.postgresql.org; Sat, 13 Jan 2024 01:17:36 +0000 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rOSeQ-001HcJ-85 for pgsql-hackers@postgresql.org; Sat, 13 Jan 2024 01:17:35 +0000 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-1d5b87ef0d3so5005ad.3 for ; Fri, 12 Jan 2024 17:17:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1705108648; x=1705713448; darn=postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=Yxvq1NPQaLvRmfn9qoq+nep9wfZwGklXGJqaCCYbJmU=; b=hz6PiX2ZCX97+w2dQttQl/T+xJci/0MNxb58IU58DFW9gzyjJ/2Z3FQdyaWIA7GVbr npDfYzsBUWD5eHPCyF5uDgKlVYvl8YkPrY69KoznOvZQ169Dm0X1FPcJnqxYBpnw1Sk1 87M5wbno4Jjs5mM97akn1mAp2gGogLL7Axlh6Ty8kMstQhmLUufKvPaWqthRa81GEnZy nERsEvFDk9zkRkPp6kasIpIUp/zUTr06jZHKyAD0UzgaiGfZ2Wf0pbpkW02FW++78EW6 6ZEY9hTnCAo7DEHFvwB8YoHZN+54MBW4x4IX25y7TK8CmvmkgKPp4xhe2VxXL2WbaeZf 3yLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705108648; x=1705713448; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Yxvq1NPQaLvRmfn9qoq+nep9wfZwGklXGJqaCCYbJmU=; b=SPBgBaNZROTROS7qBDJH8vxxlPrFI53ffAuU1J4p2J5pQvGz1x8L3aJwk5sy1UDgyr QpSyZVlPVYhCCQj5lT5ptemnIJywuMOy4DRcCT3E+bmE0Vi81t5Q/DuhMJlEBQ7R75l/ iYwF0yAvD/Gd0gzlt9ejJtOQfqXXnfLlDgsbWM0VnD0WlU3cgeFhJ4Av943mM4FXLJgt 50/RHJe9PiNn266OH2uEeaL0D5p5tFBuDxJu2BieGjiNcU71gMKPalS6u/kYieBNtuF6 fllqrU1D+wOb+dcPcpQetSm2d/+JXAw8ukY+/dAPxMHELPxnmom5u2Ed7/488mg+bctg +H5A== X-Gm-Message-State: AOJu0YyqSFmTRLhnjf1XgIgdeQdp5qQrAaslv9zNn0kxPL/XGi8wZYR6 VAhsIr7zldjZrb6IICMudpqTaqA4Je8y X-Google-Smtp-Source: AGHT+IE2zotGR0mzTZFkMueVxNqluqpUo0+twk+wq7WjDJUjqlyJgSKVKmjiepG8zzDY8fOQ1fBo5A== X-Received: by 2002:a17:902:a604:b0:1d5:8ef3:6487 with SMTP id u4-20020a170902a60400b001d58ef36487mr2160899plq.9.1705108647981; Fri, 12 Jan 2024 17:17:27 -0800 (PST) Received: from [172.18.10.36] ([12.126.244.130]) by smtp.gmail.com with ESMTPSA id n7-20020a170903110700b001d366a61862sm3787047plh.87.2024.01.12.17.17.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jan 2024 17:17:27 -0800 (PST) Message-ID: <2a89b14a2b1622bffb8b137ca1f9ab7866f2d2b9.camel@j-davis.com> Subject: Re: [17] CREATE SUBSCRIPTION ... SERVER From: Jeff Davis To: Ashutosh Bapat Cc: Bharath Rupireddy , Joe Conway , pgsql-hackers@postgresql.org Date: Fri, 12 Jan 2024 17:17:26 -0800 In-Reply-To: References: <149ff9264db27cdf724b65709fbbaee4bf316835.camel@j-davis.com> <830a2bc6cbbb2e6e01c6c0d9f31f320822e10603.camel@j-davis.com> <433d0845248e86c0317d9d396926182cfe157340.camel@j-davis.com> <05ae37abb207cd6bf6b126780024692d91402b0b.camel@j-davis.com> <93392ffa941ab0d436e19e0ab5d04d0e42c02d3f.camel@j-davis.com> <26be917cb07b6aa3ef5dd15f6b59d1b375ece6e8.camel@j-davis.com> <55201bd916e748acfc754c8f95880dae8e4e5ed0.camel@j-davis.com> Content-Type: multipart/mixed; boundary="=-j4Qzi5tYQ/Or4W/pFz8q" User-Agent: Evolution 3.44.4-0ubuntu2 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-j4Qzi5tYQ/Or4W/pFz8q Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 2024-01-05 at 16:11 +0530, Ashutosh Bapat wrote: > I don't think we need to add a test for every FDW. E.g. adding a test > in file_fdw would be pointless. But postgres_fdw is special. The test > could further create a foreign table ftab_foo on subscriber > referencing foo on publisher and then compare the data from foo and > ftab_foo to make sure that the replication is happening. This will > serve as a good starting point for replicated tables setup in a > sharded cluster. >=20 Attached updated patch set with added TAP test for postgres_fdw, which uses a postgres_fdw server as the source for subscription connection information. I think 0004 needs a bit more work, so I'm leaving it off for now, but I'll bring it back in the next patch set. Regards, Jeff Davis --=-j4Qzi5tYQ/Or4W/pFz8q Content-Disposition: attachment; filename*0=v6-0001-Fix-postgresql_fdw_validator-to-use-full-libpq-op.pat; filename*1=ch Content-Type: text/x-patch; name="v6-0001-Fix-postgresql_fdw_validator-to-use-full-libpq-op.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBkYmUzZDEzMjE2NWZmMzM3OTU3MmYxMTE4NmQ4ZDdiMzhjZWFkNjc1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU aHUsIDQgSmFuIDIwMjQgMTI6MTU6NTQgLTA4MDAKU3ViamVjdDogW1BBVENIIHY2IDEvNF0gRml4 IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB0byB1c2UgZnVsbCBsaWJwcSBvcHRpb25zCiBsaXN0 LgoKRXh0ZW5kIHRoZSB3YWxyY3ZfIEFQSSB0byByZXRyaWV2ZSB0aGUgb3B0aW9ucyBsaXN0IGZy b20gbGlicHEsIGFuZAp1c2UgdGhhdCBmb3IgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yKCkuIFVu LWRlcHJlY2F0ZSBpdC4KLS0tCiBzcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYyAgICAgICAg ICAgICAgICAgfCA2NyArKysrKysrLS0tLS0tLS0tLS0tCiAuLi4vbGlicHF3YWxyZWNlaXZlci9s aWJwcXdhbHJlY2VpdmVyLmMgICAgICAgfCA0NyArKysrKysrKysrKysrCiBzcmMvaW5jbHVkZS9y ZXBsaWNhdGlvbi93YWxyZWNlaXZlci5oICAgICAgICAgfCAyMCArKysrKysKIDMgZmlsZXMgY2hh bmdlZCwgOTAgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvZm9yZWlnbi9mb3JlaWduLmMgYi9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24u YwppbmRleCAwMmUxODk4MTMxLi43NDdjYzExYTYwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9m b3JlaWduL2ZvcmVpZ24uYworKysgYi9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwpAQCAt MjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRlICJsaWIvc3RyaW5n aW5mby5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1ZGUgInJlcGxpY2F0aW9uL3dh bHJlY2VpdmVyLmgiCiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKICNpbmNsdWRlICJ1dGls cy9tZW11dGlscy5oIgogI2luY2x1ZGUgInV0aWxzL3JlbC5oIgpAQCAtNTQ5LDQwICs1NTAsNiBA QCBwZ19vcHRpb25zX3RvX3RhYmxlKFBHX0ZVTkNUSU9OX0FSR1MpCiB9CiAKIAotLyoKLSAqIERl c2NyaWJlcyB0aGUgdmFsaWQgb3B0aW9ucyBmb3IgcG9zdGdyZXNxbCBGRFcsIHNlcnZlciwgYW5k IHVzZXIgbWFwcGluZy4KLSAqLwotc3RydWN0IENvbm5lY3Rpb25PcHRpb24KLXsKLQljb25zdCBj aGFyICpvcHRuYW1lOwotCU9pZAkJCW9wdGNvbnRleHQ7CQkvKiBPaWQgb2YgY2F0YWxvZyBpbiB3 aGljaCBvcHRpb24gbWF5IGFwcGVhciAqLwotfTsKLQotLyoKLSAqIENvcGllZCBmcm9tIGZlLWNv bm5lY3QuYyBQUWNvbm5pbmZvT3B0aW9ucy4KLSAqCi0gKiBUaGUgbGlzdCBpcyBzbWFsbCAtIGRv bid0IGJvdGhlciB3aXRoIGJzZWFyY2ggaWYgaXQgc3RheXMgc28uCi0gKi8KLXN0YXRpYyBjb25z dCBzdHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbiBsaWJwcV9jb25uaW5mb19vcHRpb25zW10gPSB7Ci0J eyJhdXRodHlwZSIsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkfSwKLQl7InNlcnZpY2UiLCBGb3Jl aWduU2VydmVyUmVsYXRpb25JZH0sCi0JeyJ1c2VyIiwgVXNlck1hcHBpbmdSZWxhdGlvbklkfSwK LQl7InBhc3N3b3JkIiwgVXNlck1hcHBpbmdSZWxhdGlvbklkfSwKLQl7ImNvbm5lY3RfdGltZW91 dCIsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkfSwKLQl7ImRibmFtZSIsIEZvcmVpZ25TZXJ2ZXJS ZWxhdGlvbklkfSwKLQl7Imhvc3QiLCBGb3JlaWduU2VydmVyUmVsYXRpb25JZH0sCi0JeyJob3N0 YWRkciIsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkfSwKLQl7InBvcnQiLCBGb3JlaWduU2VydmVy UmVsYXRpb25JZH0sCi0JeyJ0dHkiLCBGb3JlaWduU2VydmVyUmVsYXRpb25JZH0sCi0JeyJvcHRp b25zIiwgRm9yZWlnblNlcnZlclJlbGF0aW9uSWR9LAotCXsicmVxdWlyZXNzbCIsIEZvcmVpZ25T ZXJ2ZXJSZWxhdGlvbklkfSwKLQl7InNzbG1vZGUiLCBGb3JlaWduU2VydmVyUmVsYXRpb25JZH0s Ci0JeyJnc3NsaWIiLCBGb3JlaWduU2VydmVyUmVsYXRpb25JZH0sCi0JeyJnc3NkZWxlZ2F0aW9u IiwgRm9yZWlnblNlcnZlclJlbGF0aW9uSWR9LAotCXtOVUxMLCBJbnZhbGlkT2lkfQotfTsKLQot CiAvKgogICogQ2hlY2sgaWYgdGhlIHByb3ZpZGVkIG9wdGlvbiBpcyBvbmUgb2YgbGlicHEgY29u bmluZm8gb3B0aW9ucy4KICAqIGNvbnRleHQgaXMgdGhlIE9pZCBvZiB0aGUgY2F0YWxvZyB0aGUg b3B0aW9uIGNhbWUgZnJvbSwgb3IgMCBpZiB3ZQpAQCAtNTkzLDkgKzU2MCwyMyBAQCBpc19jb25u aW5mb19vcHRpb24oY29uc3QgY2hhciAqb3B0aW9uLCBPaWQgY29udGV4dCkKIHsKIAljb25zdCBz dHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbiAqb3B0OwogCi0JZm9yIChvcHQgPSBsaWJwcV9jb25uaW5m b19vcHRpb25zOyBvcHQtPm9wdG5hbWU7IG9wdCsrKQotCQlpZiAoY29udGV4dCA9PSBvcHQtPm9w dGNvbnRleHQgJiYgc3RyY21wKG9wdC0+b3B0bmFtZSwgb3B0aW9uKSA9PSAwKQotCQkJcmV0dXJu IHRydWU7CisJLyogc2tpcCBvcHRpb25zIHRoYXQgbXVzdCBiZSBvdmVycmlkZGVuICovCisJaWYg KHN0cmNtcChvcHRpb24sICJjbGllbnRfZW5jb2RpbmciKSA9PSAwKQorCQlyZXR1cm4gZmFsc2U7 CisKKwlmb3IgKG9wdCA9IHdhbHJjdl9jb25uaW5mb19vcHRpb25zKCk7IG9wdC0+b3B0bmFtZTsg b3B0KyspCisJeworCQlpZiAoc3RyY21wKG9wdC0+b3B0bmFtZSwgb3B0aW9uKSA9PSAwKQorCQl7 CisJCQlpZiAob3B0LT5pc2RlYnVnKQorCQkJCXJldHVybiBmYWxzZTsKKworCQkJaWYgKG9wdC0+ aXNzZWNyZXQgfHwgc3RyY21wKG9wdC0+b3B0bmFtZSwgInVzZXIiKSA9PSAwKQorCQkJCXJldHVy biAoY29udGV4dCA9PSBVc2VyTWFwcGluZ1JlbGF0aW9uSWQpOworCisJCQlyZXR1cm4gKGNvbnRl eHQgPT0gRm9yZWlnblNlcnZlclJlbGF0aW9uSWQpOworCQl9CisJfQogCXJldHVybiBmYWxzZTsK IH0KIApAQCAtNjA2LDExICs1ODcsNiBAQCBpc19jb25uaW5mb19vcHRpb24oY29uc3QgY2hhciAq b3B0aW9uLCBPaWQgY29udGV4dCkKICAqCiAgKiBWYWxpZCBzZXJ2ZXIgb3B0aW9ucyBhcmUgYWxs IGxpYnBxIGNvbm5pbmZvIG9wdGlvbnMgZXhjZXB0CiAgKiB1c2VyIGFuZCBwYXNzd29yZCAtLSB0 aGVzZSBtYXkgb25seSBhcHBlYXIgaW4gVVNFUiBNQVBQSU5HIG9wdGlvbnMuCi0gKgotICogQ2F1 dGlvbjogdGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLCBhbmQgaXMgbm93IG1lYW50IG9ubHkg Zm9yIHRlc3RpbmcKLSAqIHB1cnBvc2VzLCBiZWNhdXNlIHRoZSBsaXN0IG9mIG9wdGlvbnMgaXQg a25vd3MgYWJvdXQgZG9lc24ndCBuZWNlc3NhcmlseQotICogc3F1YXJlIHdpdGggdGhvc2Uga25v d24gdG8gd2hpY2hldmVyIGxpYnBxIGluc3RhbmNlIHlvdSBtaWdodCBiZSB1c2luZy4KLSAqIElu cXVpcmUgb2YgbGlicHEgaXRzZWxmLCBpbnN0ZWFkLgogICovCiBEYXR1bQogcG9zdGdyZXNxbF9m ZHdfdmFsaWRhdG9yKFBHX0ZVTkNUSU9OX0FSR1MpCkBAIC02MjAsNiArNTk2LDkgQEAgcG9zdGdy ZXNxbF9mZHdfdmFsaWRhdG9yKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlMaXN0Q2VsbCAgICpjZWxs OwogCisJLyogTG9hZCB0aGUgbGlicmFyeSBwcm92aWRpbmcgdXMgbGlicHEgY2FsbHMuICovCisJ bG9hZF9maWxlKCJsaWJwcXdhbHJlY2VpdmVyIiwgZmFsc2UpOworCiAJZm9yZWFjaChjZWxsLCBv cHRpb25zX2xpc3QpCiAJewogCQlEZWZFbGVtICAgICpkZWYgPSBsZmlyc3QoY2VsbCk7CkBAIC02 MzYsOSArNjE1LDkgQEAgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yKFBHX0ZVTkNUSU9OX0FSR1Mp CiAJCQkgKiB3aXRoIGEgdmFsaWQgb3B0aW9uIHRoYXQgbG9va3Mgc2ltaWxhciwgaWYgdGhlcmUg aXMgb25lLgogCQkJICovCiAJCQlpbml0Q2xvc2VzdE1hdGNoKCZtYXRjaF9zdGF0ZSwgZGVmLT5k ZWZuYW1lLCA0KTsKLQkJCWZvciAob3B0ID0gbGlicHFfY29ubmluZm9fb3B0aW9uczsgb3B0LT5v cHRuYW1lOyBvcHQrKykKKwkJCWZvciAob3B0ID0gd2FscmN2X2Nvbm5pbmZvX29wdGlvbnMoKTsg b3B0LT5vcHRuYW1lOyBvcHQrKykKIAkJCXsKLQkJCQlpZiAoY2F0YWxvZyA9PSBvcHQtPm9wdGNv bnRleHQpCisJCQkJaWYgKGlzX2Nvbm5pbmZvX29wdGlvbihvcHQtPm9wdG5hbWUsIGNhdGFsb2cp KQogCQkJCXsKIAkJCQkJaGFzX3ZhbGlkX29wdGlvbnMgPSB0cnVlOwogCQkJCQl1cGRhdGVDbG9z ZXN0TWF0Y2goJm1hdGNoX3N0YXRlLCBvcHQtPm9wdG5hbWUpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbGlicHF3YWxyZWNlaXZlci9saWJwcXdhbHJlY2VpdmVyLmMgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9saWJwcXdhbHJlY2VpdmVyL2xpYnBxd2FscmVjZWl2ZXIu YwppbmRleCBlYWQzMGY4N2M5Li5mZjdkMDcxOTAzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9saWJwcXdhbHJlY2VpdmVyL2xpYnBxd2FscmVjZWl2ZXIuYworKysgYi9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9saWJwcXdhbHJlY2VpdmVyL2xpYnBxd2FscmVjZWl2ZXIuYwpA QCAtNTMsNiArNTMsNyBAQCBzdGF0aWMgV2FsUmVjZWl2ZXJDb25uICpsaWJwcXJjdl9jb25uZWN0 KGNvbnN0IGNoYXIgKmNvbm5pbmZvLAogCQkJCQkJCQkJCSBjb25zdCBjaGFyICphcHBuYW1lLCBj aGFyICoqZXJyKTsKIHN0YXRpYyB2b2lkIGxpYnBxcmN2X2NoZWNrX2Nvbm5pbmZvKGNvbnN0IGNo YXIgKmNvbm5pbmZvLAogCQkJCQkJCQkJYm9vbCBtdXN0X3VzZV9wYXNzd29yZCk7CitzdGF0aWMg Y29uc3Qgc3RydWN0IENvbm5lY3Rpb25PcHRpb24gKmxpYnBxcmN2X2Nvbm5pbmZvX29wdGlvbnMo dm9pZCk7CiBzdGF0aWMgY2hhciAqbGlicHFyY3ZfZ2V0X2Nvbm5pbmZvKFdhbFJlY2VpdmVyQ29u biAqY29ubik7CiBzdGF0aWMgdm9pZCBsaWJwcXJjdl9nZXRfc2VuZGVyaW5mbyhXYWxSZWNlaXZl ckNvbm4gKmNvbm4sCiAJCQkJCQkJCQljaGFyICoqc2VuZGVyX2hvc3QsIGludCAqc2VuZGVyX3Bv cnQpOwpAQCAtODYsNiArODcsNyBAQCBzdGF0aWMgdm9pZCBsaWJwcXJjdl9kaXNjb25uZWN0KFdh bFJlY2VpdmVyQ29ubiAqY29ubik7CiBzdGF0aWMgV2FsUmVjZWl2ZXJGdW5jdGlvbnNUeXBlIFBR V2FsUmVjZWl2ZXJGdW5jdGlvbnMgPSB7CiAJLndhbHJjdl9jb25uZWN0ID0gbGlicHFyY3ZfY29u bmVjdCwKIAkud2FscmN2X2NoZWNrX2Nvbm5pbmZvID0gbGlicHFyY3ZfY2hlY2tfY29ubmluZm8s CisJLndhbHJjdl9jb25uaW5mb19vcHRpb25zID0gbGlicHFyY3ZfY29ubmluZm9fb3B0aW9ucywK IAkud2FscmN2X2dldF9jb25uaW5mbyA9IGxpYnBxcmN2X2dldF9jb25uaW5mbywKIAkud2FscmN2 X2dldF9zZW5kZXJpbmZvID0gbGlicHFyY3ZfZ2V0X3NlbmRlcmluZm8sCiAJLndhbHJjdl9pZGVu dGlmeV9zeXN0ZW0gPSBsaWJwcXJjdl9pZGVudGlmeV9zeXN0ZW0sCkBAIC0yOTMsNiArMjk1LDUx IEBAIGxpYnBxcmN2X2NoZWNrX2Nvbm5pbmZvKGNvbnN0IGNoYXIgKmNvbm5pbmZvLCBib29sIG11 c3RfdXNlX3Bhc3N3b3JkKQogCVBRY29ubmluZm9GcmVlKG9wdHMpOwogfQogCitzdGF0aWMgY29u c3Qgc3RydWN0IENvbm5lY3Rpb25PcHRpb24gKgorbGlicHFyY3ZfY29ubmluZm9fb3B0aW9ucyh2 b2lkKQoreworCXN0YXRpYyBzdHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbgkqY29ubmVjdGlvbl9vcHRp b25zID0gTlVMTDsKKwlzdHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbgkJCSpwb3B0OworCVBRY29ubmlu Zm9PcHRpb24JCQkJKmNvbm5kZWZhdWx0czsKKwlQUWNvbm5pbmZvT3B0aW9uCQkJCSpsb3B0Owor CWludAkJCQkJCQkJIG51bV9saWJwcV9vcHRzCQk9IDA7CisKKwlpZiAoY29ubmVjdGlvbl9vcHRp b25zKQorCQlyZXR1cm4gY29ubmVjdGlvbl9vcHRpb25zOworCisJY29ubmRlZmF1bHRzID0gUFFj b25uZGVmYXVsdHMoKTsKKwlmb3IgKGxvcHQgPSBjb25uZGVmYXVsdHM7IGxvcHQtPmtleXdvcmQ7 IGxvcHQrKykKKwkJbnVtX2xpYnBxX29wdHMrKzsKKworCWNvbm5lY3Rpb25fb3B0aW9ucyA9IE1l bW9yeUNvbnRleHRBbGxvYygKKwkJVG9wTWVtb3J5Q29udGV4dCwKKwkJc2l6ZW9mKHN0cnVjdCBD b25uZWN0aW9uT3B0aW9uKSAqIChudW1fbGlicHFfb3B0cyArIDEpKTsKKworCXBvcHQgPSBjb25u ZWN0aW9uX29wdGlvbnM7CisJZm9yIChsb3B0ID0gY29ubmRlZmF1bHRzOyBsb3B0LT5rZXl3b3Jk OyBsb3B0KyspCisJeworCQlwb3B0LT5pc3NlY3JldCA9IGZhbHNlOworCQlwb3B0LT5pc2RlYnVn ID0gZmFsc2U7CisKKwkJaWYgKHN0cmNocihsb3B0LT5kaXNwY2hhciwgJyonKSkKKwkJCXBvcHQt Pmlzc2VjcmV0ID0gdHJ1ZTsKKwkJZWxzZSBpZiAoc3RyY2hyKGxvcHQtPmRpc3BjaGFyLCAnRCcp KQorCQkJcG9wdC0+aXNkZWJ1ZyA9IHRydWU7CisKKwkJcG9wdC0+b3B0bmFtZSA9IE1lbW9yeUNv bnRleHRTdHJkdXAoVG9wTWVtb3J5Q29udGV4dCwKKwkJCQkJCQkJCQkJbG9wdC0+a2V5d29yZCk7 CisJCXBvcHQrKzsKKwl9CisKKwlwb3B0LT5vcHRuYW1lID0gTlVMTDsKKwlwb3B0LT5pc3NlY3Jl dCA9IGZhbHNlOworCXBvcHQtPmlzZGVidWcgPSBmYWxzZTsKKworCVBRY29ubmluZm9GcmVlKGNv bm5kZWZhdWx0cyk7CisKKwlyZXR1cm4gY29ubmVjdGlvbl9vcHRpb25zOworfQorCiAvKgogICog UmV0dXJuIGEgdXNlci1kaXNwbGF5YWJsZSBjb25uaW5mbyBzdHJpbmcuICBBbnkgc2VjdXJpdHkt c2Vuc2l0aXZlIGZpZWxkcwogICogYXJlIG9iZnVzY2F0ZWQuCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9yZXBsaWNhdGlvbi93YWxyZWNlaXZlci5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24v d2FscmVjZWl2ZXIuaAppbmRleCAwODk5ODkxY2RiLi41NDEzNzdlMDk1IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93YWxyZWNlaXZlci5oCisrKyBiL3NyYy9pbmNsdWRlL3Jl cGxpY2F0aW9uL3dhbHJlY2VpdmVyLmgKQEAgLTIyMyw2ICsyMjMsMTYgQEAgdHlwZWRlZiBzdHJ1 Y3QgV2FsUmN2RXhlY1Jlc3VsdAogCVR1cGxlRGVzYwl0dXBsZWRlc2M7CiB9IFdhbFJjdkV4ZWNS ZXN1bHQ7CiAKKy8qCisgKiBEZXNjcmliZXMgdGhlIHZhbGlkIG9wdGlvbnMgZm9yIHBvc3RncmVz cWwgRkRXLCBzZXJ2ZXIsIGFuZCB1c2VyIG1hcHBpbmcuCisgKi8KK3N0cnVjdCBDb25uZWN0aW9u T3B0aW9uCit7CisJY29uc3QgY2hhciAqb3B0bmFtZTsKKwlib29sCQlpc3NlY3JldDsJCS8qIGlz IG9wdGlvbiBmb3IgYSBwYXNzd29yZD8gKi8KKwlib29sCQlpc2RlYnVnOwkJLyogaXMgb3B0aW9u IGEgZGVidWcgb3B0aW9uPyAqLworfTsKKwogLyogV0FMIHJlY2VpdmVyIC0gbGlicHF3YWxyZWNl aXZlciBob29rcyAqLwogCiAvKgpAQCAtMjUwLDYgKzI2MCwxMyBAQCB0eXBlZGVmIFdhbFJlY2Vp dmVyQ29ubiAqKCp3YWxyY3ZfY29ubmVjdF9mbikgKGNvbnN0IGNoYXIgKmNvbm5pbmZvLAogdHlw ZWRlZiB2b2lkICgqd2FscmN2X2NoZWNrX2Nvbm5pbmZvX2ZuKSAoY29uc3QgY2hhciAqY29ubmlu Zm8sCiAJCQkJCQkJCQkJICBib29sIG11c3RfdXNlX3Bhc3N3b3JkKTsKIAorLyoKKyAqIHdhbHJj dl9jb25uaW5mb19vcHRpb25zX2ZuCisgKgorICogUmV0dXJuIGEgcG9pbnRlciB0byBhIHN0YXRp YyBhcnJheSBvZiB0aGUgYXZhaWxhYmxlIG9wdGlvbnMgZnJvbSBsaWJwcS4KKyAqLwordHlwZWRl ZiBjb25zdCBzdHJ1Y3QgQ29ubmVjdGlvbk9wdGlvbiAqKCp3YWxyY3ZfY29ubmluZm9fb3B0aW9u c19mbikgKHZvaWQpOworCiAvKgogICogd2FscmN2X2dldF9jb25uaW5mb19mbgogICoKQEAgLTM4 OSw2ICs0MDYsNyBAQCB0eXBlZGVmIHN0cnVjdCBXYWxSZWNlaXZlckZ1bmN0aW9uc1R5cGUKIHsK IAl3YWxyY3ZfY29ubmVjdF9mbiB3YWxyY3ZfY29ubmVjdDsKIAl3YWxyY3ZfY2hlY2tfY29ubmlu Zm9fZm4gd2FscmN2X2NoZWNrX2Nvbm5pbmZvOworCXdhbHJjdl9jb25uaW5mb19vcHRpb25zX2Zu IHdhbHJjdl9jb25uaW5mb19vcHRpb25zOwogCXdhbHJjdl9nZXRfY29ubmluZm9fZm4gd2FscmN2 X2dldF9jb25uaW5mbzsKIAl3YWxyY3ZfZ2V0X3NlbmRlcmluZm9fZm4gd2FscmN2X2dldF9zZW5k ZXJpbmZvOwogCXdhbHJjdl9pZGVudGlmeV9zeXN0ZW1fZm4gd2FscmN2X2lkZW50aWZ5X3N5c3Rl bTsKQEAgLTQxMCw2ICs0MjgsOCBAQCBleHRlcm4gUEdETExJTVBPUlQgV2FsUmVjZWl2ZXJGdW5j dGlvbnNUeXBlICpXYWxSZWNlaXZlckZ1bmN0aW9uczsKIAlXYWxSZWNlaXZlckZ1bmN0aW9ucy0+ d2FscmN2X2Nvbm5lY3QoY29ubmluZm8sIGxvZ2ljYWwsIG11c3RfdXNlX3Bhc3N3b3JkLCBhcHBu YW1lLCBlcnIpCiAjZGVmaW5lIHdhbHJjdl9jaGVja19jb25uaW5mbyhjb25uaW5mbywgbXVzdF91 c2VfcGFzc3dvcmQpIFwKIAlXYWxSZWNlaXZlckZ1bmN0aW9ucy0+d2FscmN2X2NoZWNrX2Nvbm5p bmZvKGNvbm5pbmZvLCBtdXN0X3VzZV9wYXNzd29yZCkKKyNkZWZpbmUgd2FscmN2X2Nvbm5pbmZv X29wdGlvbnMoKSBcCisJV2FsUmVjZWl2ZXJGdW5jdGlvbnMtPndhbHJjdl9jb25uaW5mb19vcHRp b25zKCkKICNkZWZpbmUgd2FscmN2X2dldF9jb25uaW5mbyhjb25uKSBcCiAJV2FsUmVjZWl2ZXJG dW5jdGlvbnMtPndhbHJjdl9nZXRfY29ubmluZm8oY29ubikKICNkZWZpbmUgd2FscmN2X2dldF9z ZW5kZXJpbmZvKGNvbm4sIHNlbmRlcl9ob3N0LCBzZW5kZXJfcG9ydCkgXAotLSAKMi4zNC4xCgo= --=-j4Qzi5tYQ/Or4W/pFz8q Content-Disposition: attachment; filename*0=v6-0002-Add-built-in-foreign-data-wrapper-pg_connection_f.pat; filename*1=ch Content-Type: text/x-patch; name="v6-0002-Add-built-in-foreign-data-wrapper-pg_connection_f.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA0NjI3NTdmYjU3M2IxOTgyZTZhZTQ2MzNlODQ5NmE0NDk5OTE1MmMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU dWUsIDIgSmFuIDIwMjQgMTM6MzM6MjggLTA4MDAKU3ViamVjdDogW1BBVENIIHY2IDIvNF0gQWRk IGJ1aWx0LWluIGZvcmVpZ24gZGF0YSB3cmFwcGVyIHBnX2Nvbm5lY3Rpb25fZmR3LgoKSW4gcHJl cGFyYXRpb24gZm9yIENSRUFURSBTVUJTQ1JJUFRJT04gLi4uIFNFUlZFUi4KLS0tCiBkb2Mvc3Jj L3NnbWwvZnVuYy5zZ21sICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTkgKwogc3JjL2JhY2tl bmQvY2F0YWxvZy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L2ZvcmVpZ24vZm9yZWlnbi5jICAgICAgICAgICAgICAgICB8IDE0NSArKysrCiBzcmMvYmluL3Bn X2R1bXAvcGdfZHVtcC5jICAgICAgICAgICAgICAgICAgICAgfCAgMjMgKy0KIHNyYy9pbmNsdWRl L2NhdGFsb2cvbWVzb24uYnVpbGQgICAgICAgICAgICAgICB8ICAgMSArCiAuLi4vY2F0YWxvZy9w Z19mb3JlaWduX2RhdGFfd3JhcHBlci5kYXQgICAgICAgfCAgMjEgKwogc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19mb3JlaWduX2RhdGFfd3JhcHBlci5oIHwgICA0ICstCiBzcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDQgKwogc3JjL2luY2x1ZGUvZm9yZWln bi9mb3JlaWduLmggICAgICAgICAgICAgICAgIHwgICAyICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvZm9yZWlnbl9kYXRhLm91dCAgICB8IDc2MCArKysrKysrKystLS0tLS0tLS0KIHNyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fZGF0YS5zcWwgICAgICAgICB8IDI3NiArKysrLS0tCiAx MSBmaWxlcyBjaGFuZ2VkLCA3NzAgaW5zZXJ0aW9ucygrKSwgNDg2IGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9yZWlnbl9kYXRhX3dyYXBw ZXIuZGF0CgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbCBiL2RvYy9zcmMvc2dt bC9mdW5jLnNnbWwKaW5kZXggMGY3ZDQwOWU2MC4uZDU4YjQ5OTk2NiAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL2Z1bmMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCkBAIC0yNzk4 NSw2ICsyNzk4NSwyNSBAQCBwb3N0Z3Jlcz0jIFNFTEVDVCAnMC8wJzo6cGdfbHNuICsgcGQuc2Vn bWVudF9udW1iZXIgKiBwcy5zZXR0aW5nOjppbnQgKyA6b2Zmc2V0CiAgICAgICAgPC9wYXJhPjwv ZW50cnk+CiAgICAgICA8L3Jvdz4KIAorICAgICAgPHJvdz4KKyAgICAgICA8ZW50cnkgcm9sZT0i ZnVuY190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgorICAgICAgICA8 aW5kZXh0ZXJtPgorICAgICAgICAgPHByaW1hcnk+cGdfY29ubmluZm9fZnJvbV9zZXJ2ZXI8L3By aW1hcnk+CisgICAgICAgIDwvaW5kZXh0ZXJtPgorICAgICAgICA8ZnVuY3Rpb24+cGdfY29ubmlu Zm9fZnJvbV9zZXJ2ZXI8L2Z1bmN0aW9uPiAoIDxwYXJhbWV0ZXI+c2VydmVybmFtZTwvcGFyYW1l dGVyPiA8dHlwZT50ZXh0PC90eXBlPiwgPHBhcmFtZXRlcj51c2VybmFtZTwvcGFyYW1ldGVyPiA8 dHlwZT50ZXh0PC90eXBlPiwgPHBhcmFtZXRlcj5hcHBlbmRfb3ZlcnJpZGVzPC9wYXJhbWV0ZXI+ IDx0eXBlPmJvb2xlYW48L3R5cGU+ICkKKyAgICAgICAgPHJldHVybnZhbHVlPnRleHQ8L3JldHVy bnZhbHVlPgorICAgICAgIDwvcGFyYT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgUmV0dXJucyBj b25uZWN0aW9uIHN0cmluZyBnZW5lcmF0ZWQgZnJvbSB0aGUgb3B0aW9ucyBmb3IgdGhlIHNlcnZl cgorICAgICAgICBhbmQgdXNlciBtYXBwaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4KKyAg ICAgICAgPHJlcGxhY2VhYmxlPnNlcnZlcm5hbWU8L3JlcGxhY2VhYmxlPiBhbmQKKyAgICAgICAg PHJlcGxhY2VhYmxlPnVzZXJuYW1lPC9yZXBsYWNlYWJsZT4uIElmCisgICAgICAgIDxyZXBsYWNl YWJsZT5hcHBlbmRfb3ZlcnJpZGVzPC9yZXBsYWNlYWJsZT4gaXMKKyAgICAgICAgPGxpdGVyYWw+ dHJ1ZTwvbGl0ZXJhbD4sIGl0IGFwcGVuZHMgb3ZlcnJpZGUgcGFyYW1ldGVycyBuZWNlc3Nhcnkg Zm9yCisgICAgICAgIG1ha2luZyBjb25uZWN0aW9ucyBmcm9tIHRoZSBzZXJ2ZXIuCisgICAgICAg PC9wYXJhPjwvZW50cnk+CisgICAgICA8L3Jvdz4KKwogICAgICAgPHJvdz4KICAgICAgICA8ZW50 cnkgaWQ9InBnLWxvZ2ljYWwtZW1pdC1tZXNzYWdlIiByb2xlPSJmdW5jX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSI+CiAgICAgICAgIDxpbmRleHRlcm0+CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9N YWtlZmlsZQppbmRleCBkNmIyM2I0YmZkLi43NTZhMDUyYTcwIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9jYXRhbG9nL01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUK QEAgLTEzNiw2ICsxMzYsNyBAQCBQT1NUR1JFU19CS0lfREFUQSA9ICQoYWRkcHJlZml4ICQodG9w X3NyY2Rpcikvc3JjL2luY2x1ZGUvY2F0YWxvZy8sXAogCXBnX2NvbGxhdGlvbi5kYXQgXAogCXBn X2NvbnZlcnNpb24uZGF0IFwKIAlwZ19kYXRhYmFzZS5kYXQgXAorCXBnX2ZvcmVpZ25fZGF0YV93 cmFwcGVyLmRhdCBcCiAJcGdfbGFuZ3VhZ2UuZGF0IFwKIAlwZ19uYW1lc3BhY2UuZGF0IFwKIAlw Z19vcGNsYXNzLmRhdCBcCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24u YyBiL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCmluZGV4IDc0N2NjMTFhNjAuLmZkMWI2 NDRkNzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCisrKyBiL3Ny Yy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCkBAIC0xOCwxOCArMTgsMjIgQEAKICNpbmNsdWRl ICJjYXRhbG9nL3BnX2ZvcmVpZ25fc2VydmVyLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19mb3Jl aWduX3RhYmxlLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ191c2VyX21hcHBpbmcuaCIKKyNpbmNs dWRlICJjb21tYW5kcy9kZWZyZW0uaCIKICNpbmNsdWRlICJmb3JlaWduL2Zkd2FwaS5oIgogI2lu Y2x1ZGUgImZvcmVpZ24vZm9yZWlnbi5oIgogI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRl ICJsaWIvc3RyaW5naW5mby5oIgorI2luY2x1ZGUgIm1iL3BnX3djaGFyLmgiCiAjaW5jbHVkZSAi bWlzY2FkbWluLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vd2FscmVjZWl2ZXIuaCIKKyNpbmNs dWRlICJ1dGlscy9hY2wuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUg InV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvcmVsLmgiCiAjaW5jbHVkZSAidXRp bHMvc3lzY2FjaGUuaCIKICNpbmNsdWRlICJ1dGlscy92YXJsZW5hLmgiCiAKK3N0YXRpYyBib29s IGlzX2Nvbm5pbmZvX29wdGlvbihjb25zdCBjaGFyICpvcHRpb24sIE9pZCBjb250ZXh0KTsKIAog LyoKICAqIEdldEZvcmVpZ25EYXRhV3JhcHBlciAtCWxvb2sgdXAgdGhlIGZvcmVpZ24tZGF0YSB3 cmFwcGVyIGJ5IE9JRC4KQEAgLTE5MSw2ICsxOTUsMTE1IEBAIEdldEZvcmVpZ25TZXJ2ZXJCeU5h bWUoY29uc3QgY2hhciAqc3J2bmFtZSwgYm9vbCBtaXNzaW5nX29rKQogfQogCiAKKy8qCisgKiBW YWx1ZXMgaW4gY29ubmVjdGlvbiBzdHJpbmdzIG11c3QgYmUgZW5jbG9zZWQgaW4gc2luZ2xlIHF1 b3Rlcy4gU2luZ2xlCisgKiBxdW90ZXMgYW5kIGJhY2tzbGFzaGVzIG11c3QgYmUgZXNjYXBlZCB3 aXRoIGJhY2tzbGFzaC4KKyAqLworc3RhdGljIHZvaWQKK2FwcGVuZEVzY2FwZWRWYWx1ZShTdHJp bmdJbmZvIHN0ciwgY29uc3QgY2hhciAqdmFsKQoreworCWFwcGVuZFN0cmluZ0luZm9DaGFyKHN0 ciwgJ1wnJyk7CisJZm9yIChpbnQgaSA9IDA7IHZhbFtpXSAhPSAnXDAnOyBpKyspCisJeworCQlp ZiAodmFsW2ldID09ICdcXCcgfHwgdmFsW2ldID09ICdcJycpCisJCQlhcHBlbmRTdHJpbmdJbmZv Q2hhcihzdHIsICdcXCcpOworCQlhcHBlbmRTdHJpbmdJbmZvQ2hhcihzdHIsIHZhbFtpXSk7CisJ fQorCWFwcGVuZFN0cmluZ0luZm9DaGFyKHN0ciwgJ1wnJyk7Cit9CisKKworLyoKKyAqIEhlbHBl ciBmb3IgRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoKSBhbmQgcGdfY29ubmVjdGlvbl92 YWxpZGF0b3IoKS4KKyAqCisgKiBUcmFuc2Zvcm0gYSBMaXN0IG9mIERlZkVsZW0gaW50byBhIGNv bm5lY3Rpb24gc3RyaW5nLgorICovCitzdGF0aWMgY2hhciAqCitvcHRpb25zX3RvX2Nvbm5pbmZv KExpc3QgKm9wdGlvbnMsIGJvb2wgYXBwZW5kX292ZXJyaWRlcykKK3sKKwlTdHJpbmdJbmZvRGF0 YQkgc3RyOworCUxpc3RDZWxsCQkqbGM7CisJYm9vbAkJCSBmaXJzdCA9IHRydWU7CisKKwlpbml0 U3RyaW5nSW5mbygmc3RyKTsKKwlmb3JlYWNoKGxjLCBvcHRpb25zKQorCXsKKwkJRGVmRWxlbSAq ZCA9IChEZWZFbGVtICopIGxmaXJzdChsYyk7CisJCWNoYXIgKm5hbWUgPSBkLT5kZWZuYW1lOwor CQljaGFyICp2YWx1ZTsKKworCQkvKiBpZ25vcmUgdW5rbm93biBvcHRpb25zICovCisJCWlmICgh aXNfY29ubmluZm9fb3B0aW9uKG5hbWUsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkKSAmJgorCQkJ IWlzX2Nvbm5pbmZvX29wdGlvbihuYW1lLCBVc2VyTWFwcGluZ1JlbGF0aW9uSWQpKQorCQkJY29u dGludWU7CisKKwkJdmFsdWUgPSBkZWZHZXRTdHJpbmcoZCk7CisKKwkJYXBwZW5kU3RyaW5nSW5m bygmc3RyLCAiJXMlcyA9ICIsCisJCQkJCQkgZmlyc3QgPyAiIiA6ICIgIiwgbmFtZSk7CisJCWFw cGVuZEVzY2FwZWRWYWx1ZSgmc3RyLCB2YWx1ZSk7CisJCWZpcnN0ID0gZmFsc2U7CisJfQorCisJ Lyogb3ZlcnJpZGUgY2xpZW50X2VuY29kaW5nICovCisJaWYgKGFwcGVuZF9vdmVycmlkZXMpCisJ eworCQlhcHBlbmRTdHJpbmdJbmZvKCZzdHIsICIlc2NsaWVudF9lbmNvZGluZyA9ICIsCisJCQkJ CQkgZmlyc3QgPyAiIiA6ICIgIik7CisJCWFwcGVuZEVzY2FwZWRWYWx1ZSgmc3RyLCBHZXREYXRh YmFzZUVuY29kaW5nTmFtZSgpKTsKKwl9CisKKwlyZXR1cm4gc3RyLmRhdGE7Cit9CisKKworLyoK KyAqIEdpdmVuIGEgdXNlciBJRCBhbmQgc2VydmVyIElELCByZXR1cm4gYSBwb3N0Z3JlcyBjb25u ZWN0aW9uIHN0cmluZyBzdWl0YWJsZQorICogdG8gcGFzcyB0byBsaWJwcS4KKyAqLworY2hhciAq CitGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyhPaWQgdXNlcmlkLCBPaWQgc2VydmVyaWQs IGJvb2wgYXBwZW5kX292ZXJyaWRlcykKK3sKKwlzdGF0aWMgTWVtb3J5Q29udGV4dAkgdG1wY29u dGV4dCA9IE5VTEw7CisJRm9yZWlnblNlcnZlcgkJCSpzZXJ2ZXI7CisJVXNlck1hcHBpbmcJCQkJ KnVtOworCUxpc3QJCQkJCSpvcHRpb25zOworCWNoYXIJCQkJCSpjb25uaW5mbzsKKwlNZW1vcnlD b250ZXh0CQkJIG9sZGNvbnRleHQ7CisKKwkvKiBMb2FkIHRoZSBsaWJyYXJ5IHByb3ZpZGluZyB1 cyBsaWJwcSBjYWxscy4gKi8KKwlsb2FkX2ZpbGUoImxpYnBxd2FscmVjZWl2ZXIiLCBmYWxzZSk7 CisKKwkvKgorCSAqIFVzZSBhIHRlbXBvcmFyeSBjb250ZXh0IHJhdGhlciB0aGFuIHRyeWluZyB0 byB0cmFjayBpbmRpdmlkdWFsCisJICogYWxsb2NhdGlvbnMgaW4gR2V0Rm9yZWlnblNlcnZlcigp IGFuZCBHZXRVc2VyTWFwcGluZygpLgorCSAqLworCWlmICh0bXBjb250ZXh0ID09IE5VTEwpCisJ CXRtcGNvbnRleHQgPSBBbGxvY1NldENvbnRleHRDcmVhdGUoVG9wTWVtb3J5Q29udGV4dCwKKwkJ CQkJCQkJCQkgICAidGVtcCBjb250ZXh0IGZvciBidWlsZGluZyBjb25uZWN0aW9uIHN0cmluZyIs CisJCQkJCQkJCQkJICAgQUxMT0NTRVRfREVGQVVMVF9TSVpFUyk7CisKKwlvbGRjb250ZXh0ID0g TWVtb3J5Q29udGV4dFN3aXRjaFRvKHRtcGNvbnRleHQpOworCisJc2VydmVyID0gR2V0Rm9yZWln blNlcnZlcihzZXJ2ZXJpZCk7CisJdW0gPSBHZXRVc2VyTWFwcGluZyh1c2VyaWQsIHNlcnZlcmlk KTsKKworCS8qIHVzZXIgbWFwcGluZyBvcHRpb25zIG92ZXJyaWRlIHNlcnZlciBvcHRpb25zICov CisJb3B0aW9ucyA9IGxpc3RfY29uY2F0KHNlcnZlci0+b3B0aW9ucywgdW0tPm9wdGlvbnMpOwor CisJY29ubmluZm8gPSBvcHRpb25zX3RvX2Nvbm5pbmZvKG9wdGlvbnMsIGFwcGVuZF9vdmVycmlk ZXMpOworCisJLyogY29weSBvbmx5IGNvbm5pbmZvIGludG8gdGhlIGN1cnJlbnQgY29udGV4dCAq LworCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjb250ZXh0KTsKKworCWNvbm5pbmZvID0gcHN0 cmR1cChjb25uaW5mbyk7CisKKwlNZW1vcnlDb250ZXh0UmVzZXQodG1wY29udGV4dCk7CisKKwly ZXR1cm4gY29ubmluZm87Cit9CisKKwogLyoKICAqIEdldFVzZXJNYXBwaW5nIC0gbG9vayB1cCB0 aGUgdXNlciBtYXBwaW5nLgogICoKQEAgLTU4MCw2ICs2OTMsMzggQEAgaXNfY29ubmluZm9fb3B0 aW9uKGNvbnN0IGNoYXIgKm9wdGlvbiwgT2lkIGNvbnRleHQpCiAJcmV0dXJuIGZhbHNlOwogfQog CisvKgorICogcGdfY29ubmluZm9fZnJvbV9zZXJ2ZXIKKyAqCisgKiBFeHRyYWN0IGNvbm5lY3Rp b24gc3RyaW5nIGZyb20gdGhlIGdpdmVuIGZvcmVpZ24gc2VydmVyLgorICovCitEYXR1bQorcGdf Y29ubmluZm9fZnJvbV9zZXJ2ZXIoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwljaGFyICpzZXJ2ZXJf bmFtZSA9IHRleHRfdG9fY3N0cmluZyhQR19HRVRBUkdfVEVYVF9QKDApKTsKKwljaGFyICp1c2Vy X25hbWUgPSB0ZXh0X3RvX2NzdHJpbmcoUEdfR0VUQVJHX1RFWFRfUCgxKSk7CisJYm9vbCAgYXBw ZW5kX292ZXJyaWRlcyA9IFBHX0dFVEFSR19CT09MKDIpOworCU9pZCBzZXJ2ZXJpZCA9IGdldF9m b3JlaWduX3NlcnZlcl9vaWQoc2VydmVyX25hbWUsIGZhbHNlKTsKKwlPaWQgdXNlcmlkID0gZ2V0 X3JvbGVfb2lkX29yX3B1YmxpYyh1c2VyX25hbWUpOworCUFjbFJlc3VsdCBhY2xyZXN1bHQ7CisJ Y2hhciAqY29ubmluZm87CisKKwkvKiBpZiB0aGUgc3BlY2lmaWVkIHVzZXJpZCBpcyBub3QgUFVC TElDLCBjaGVjayBTRVQgUk9MRSBwcml2aWxlZ2VzICovCisJaWYgKHVzZXJpZCAhPSBBQ0xfSURf UFVCTElDKQorCQljaGVja19jYW5fc2V0X3JvbGUoR2V0VXNlcklkKCksIHVzZXJpZCk7CisKKwkv KiBBQ0wgY2hlY2sgb24gZm9yZWlnbiBzZXJ2ZXIgKi8KKwlhY2xyZXN1bHQgPSBvYmplY3RfYWNs Y2hlY2soRm9yZWlnblNlcnZlclJlbGF0aW9uSWQsIHNlcnZlcmlkLAorCQkJCQkJCQlHZXRVc2Vy SWQoKSwgQUNMX1VTQUdFKTsKKwlpZiAoYWNscmVzdWx0ICE9IEFDTENIRUNLX09LKQorCQlhY2xj aGVja19lcnJvcihhY2xyZXN1bHQsIE9CSkVDVF9GT1JFSUdOX1NFUlZFUiwgc2VydmVyX25hbWUp OworCisJY29ubmluZm8gPSBGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyh1c2VyaWQsIHNl cnZlcmlkLAorCQkJCQkJCQkJCQkgYXBwZW5kX292ZXJyaWRlcyk7CisKKwlQR19SRVRVUk5fVEVY VF9QKGNzdHJpbmdfdG9fdGV4dChjb25uaW5mbykpOworfQorCiAKIC8qCiAgKiBWYWxpZGF0ZSB0 aGUgZ2VuZXJpYyBvcHRpb24gZ2l2ZW4gdG8gU0VSVkVSIG9yIFVTRVIgTUFQUElORy4KZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVt cC5jCmluZGV4IDIyZDFlNmNmOTIuLjdiOWM3OTAwNWUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtMjA2Nyw2 ICsyMDY3LDI3IEBAIHNlbGVjdER1bXBhYmxlU3RhdGlzdGljc09iamVjdChTdGF0c0V4dEluZm8g KnNvYmosIEFyY2hpdmUgKmZvdXQpCiAJCXNvYmotPmRvYmouZHVtcCA9IERVTVBfQ09NUE9ORU5U X05PTkU7CiB9CiAKKy8qCisgKiBzZWxlY3REdW1wYWJsZUZkdzogcG9saWN5LXNldHRpbmcgc3Vi cm91dGluZQorICoJCU1hcmsgZm9yZWlnbiBkYXRhIHdyYXBwZXIgYXMgdG8gYmUgZHVtcGVkIG9y IG5vdAorICoKKyAqIEZyb2VpZ24gRGF0YSBXcmFwcGVycyBkbyBub3QgYmVsb25nIHRvIGFueSBw YXJ0aWN1bGFyIG5hbWVzcGFjZS4gIFRvCisgKiBpZGVudGlmeSBidWlsdC1pbiBmb3JlaWduIGRh dGEgd3JhcHBlcnMsIHdlIG11c3QgcmVzb3J0IHRvIGNoZWNraW5nIHdoZXRoZXIKKyAqIHRoZSBt ZXRob2QncyBPSUQgaXMgaW4gdGhlIHJhbmdlIHJlc2VydmVkIGZvciBpbml0ZGIuCisgKi8KK3N0 YXRpYyB2b2lkCitzZWxlY3REdW1wYWJsZUZkdyhGZHdJbmZvICpmZHdpbmZvLCBBcmNoaXZlICpm b3V0KQoreworCWlmIChjaGVja0V4dGVuc2lvbk1lbWJlcnNoaXAoJmZkd2luZm8tPmRvYmosIGZv dXQpKQorCQlyZXR1cm47CQkJCQkvKiBleHRlbnNpb24gbWVtYmVyc2hpcCBvdmVycmlkZXMgYWxs IGVsc2UgKi8KKworCWlmIChmZHdpbmZvLT5kb2JqLmNhdElkLm9pZCA8PSAoT2lkKSBnX2xhc3Rf YnVpbHRpbl9vaWQpCisJCWZkd2luZm8tPmRvYmouZHVtcCA9IERVTVBfQ09NUE9ORU5UX05PTkU7 CisJZWxzZQorCQlmZHdpbmZvLT5kb2JqLmR1bXAgPSBmb3V0LT5kb3B0LT5pbmNsdWRlX2V2ZXJ5 dGhpbmcgPworCQkJRFVNUF9DT01QT05FTlRfQUxMIDogRFVNUF9DT01QT05FTlRfTk9ORTsKK30K KwogLyoKICAqIHNlbGVjdER1bXBhYmxlT2JqZWN0OiBwb2xpY3ktc2V0dGluZyBzdWJyb3V0aW5l CiAgKgkJTWFyayBhIGdlbmVyaWMgZHVtcGFibGUgb2JqZWN0IGFzIHRvIGJlIGR1bXBlZCBvciBu b3QKQEAgLTk3MzIsNyArOTc1Myw3IEBAIGdldEZvcmVpZ25EYXRhV3JhcHBlcnMoQXJjaGl2ZSAq Zm91dCwgaW50ICpudW1Gb3JlaWduRGF0YVdyYXBwZXJzKQogCQlmZHdpbmZvW2ldLmZkd29wdGlv bnMgPSBwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfZmR3b3B0aW9ucykpOwogCiAJCS8q IERlY2lkZSB3aGV0aGVyIHdlIHdhbnQgdG8gZHVtcCBpdCAqLwotCQlzZWxlY3REdW1wYWJsZU9i amVjdCgmKGZkd2luZm9baV0uZG9iaiksIGZvdXQpOworCQlzZWxlY3REdW1wYWJsZUZkdygmZmR3 aW5mb1tpXSwgZm91dCk7CiAKIAkJLyogTWFyayB3aGV0aGVyIEZEVyBoYXMgYW4gQUNMICovCiAJ CWlmICghUFFnZXRpc251bGwocmVzLCBpLCBpX2Zkd2FjbCkpCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9jYXRhbG9nL21lc29uLmJ1aWxkIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWls ZAppbmRleCAyYmNiZTMyN2NmLi5jODc1MzNjOWIyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9j YXRhbG9nL21lc29uLmJ1aWxkCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvbWVzb24uYnVpbGQK QEAgLTgzLDYgKzgzLDcgQEAgYmtpX2RhdGEgPSBbCiAgICdwZ19jb2xsYXRpb24uZGF0JywKICAg J3BnX2NvbnZlcnNpb24uZGF0JywKICAgJ3BnX2RhdGFiYXNlLmRhdCcsCisgICdwZ19mb3JlaWdu X2RhdGFfd3JhcHBlci5kYXQnLAogICAncGdfbGFuZ3VhZ2UuZGF0JywKICAgJ3BnX25hbWVzcGFj ZS5kYXQnLAogICAncGdfb3BjbGFzcy5kYXQnLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19mb3JlaWduX2RhdGFfd3JhcHBlci5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X2ZvcmVpZ25fZGF0YV93cmFwcGVyLmRhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwLi5lZjY4ZmU1OTY2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19mb3JlaWduX2RhdGFfd3JhcHBlci5kYXQKQEAgLTAsMCArMSwyMSBAQAorIy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyMKKyMgcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIuZGF0CisjICAgIEluaXRpYWwgY29u dGVudHMgb2YgdGhlIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIHN5c3RlbSBjYXRhbG9nLgorIwor IyBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2 ZWxvcG1lbnQgR3JvdXAKKyMgUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9m IHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyMKKyMgc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19mb3JlaWduX2RhdGFfd3JhcHBlci5kYXQKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1sKKworeyBv aWQgPT4gJzYwMTUnLCBvaWRfc3ltYm9sID0+ICdQR19DT05ORUNUSU9OX0ZEVycsCisgIGRlc2Ny ID0+ICdQc2V1ZG8gRkRXIGZvciBjb25uZWN0aW9ucyB0byBQb3N0Z3JlcycsCisgIGZkd25hbWUg PT4gJ3BnX2Nvbm5lY3Rpb25fZmR3JywKKyAgZmR3dmFsaWRhdG9yID0+ICdwb3N0Z3Jlc3FsX2Zk d192YWxpZGF0b3InLAorICBmZHdhY2wgPT4gJ19udWxsXycsIGZkd29wdGlvbnMgPT4gJ19udWxs Xyd9LAorCitdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2ZvcmVpZ25fZGF0 YV93cmFwcGVyLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2ZvcmVpZ25fZGF0YV93cmFwcGVy LmgKaW5kZXggNWUzOWU0YjQyZi4uYTc4NzA3ZmI1OSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19mb3JlaWduX2RhdGFfd3JhcHBlci5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIuaApAQCAtMzAsOCArMzAsOCBAQCBDQVRBTE9HKHBn X2ZvcmVpZ25fZGF0YV93cmFwcGVyLDIzMjgsRm9yZWlnbkRhdGFXcmFwcGVyUmVsYXRpb25JZCkK IHsKIAlPaWQJCQlvaWQ7CQkJLyogb2lkICovCiAJTmFtZURhdGEJZmR3bmFtZTsJCS8qIGZvcmVp Z24tZGF0YSB3cmFwcGVyIG5hbWUgKi8KLQlPaWQJCQlmZHdvd25lciBCS0lfTE9PS1VQKHBnX2F1 dGhpZCk7IC8qIEZEVyBvd25lciAqLwotCU9pZAkJCWZkd2hhbmRsZXIgQktJX0xPT0tVUF9PUFQo cGdfcHJvYyk7IC8qIGhhbmRsZXIgZnVuY3Rpb24sIG9yIDAKKwlPaWQJCQlmZHdvd25lciBCS0lf REVGQVVMVChQT1NUR1JFUykgQktJX0xPT0tVUChwZ19hdXRoaWQpOyAvKiBGRFcgb3duZXIgKi8K KwlPaWQJCQlmZHdoYW5kbGVyIEJLSV9ERUZBVUxUKDApIEJLSV9MT09LVVBfT1BUKHBnX3Byb2Mp OyAvKiBoYW5kbGVyIGZ1bmN0aW9uLCBvciAwCiAJCQkJCQkJCQkJCQkJICogaWYgbm9uZSAqLwog CU9pZAkJCWZkd3ZhbGlkYXRvciBCS0lfTE9PS1VQX09QVChwZ19wcm9jKTsJLyogb3B0aW9uIHZh bGlkYXRpb24KIAkJCQkJCQkJCQkJCQkJICogZnVuY3Rpb24sIG9yIDAgaWYKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3Byb2MuZGF0CmluZGV4IDU4ODExYTY1MzAuLjMyMmNlMDAxZjYgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w cm9jLmRhdApAQCAtNzUxNiw2ICs3NTE2LDEwIEBACiAgIHByb25hbWUgPT4gJ3Bvc3RncmVzcWxf ZmR3X3ZhbGlkYXRvcicsIHByb3JldHR5cGUgPT4gJ2Jvb2wnLAogICBwcm9hcmd0eXBlcyA9PiAn X3RleHQgb2lkJywgcHJvc3JjID0+ICdwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3InIH0sCiAKK3sg b2lkID0+ICc2MTIzJywgZGVzY3IgPT4gJ2V4dHJhY3QgY29ubmVjdGlvbiBzdHJpbmcgZnJvbSB0 aGUgZ2l2ZW4gZm9yZWlnbiBzZXJ2ZXInLAorICBwcm9uYW1lID0+ICdwZ19jb25uaW5mb19mcm9t X3NlcnZlcicsIHByb3JldHR5cGUgPT4gJ3RleHQnLAorICBwcm9hcmd0eXBlcyA9PiAndGV4dCB0 ZXh0IGJvb2wnLCBwcm9zcmMgPT4gJ3BnX2Nvbm5pbmZvX2Zyb21fc2VydmVyJyB9LAorCiB7IG9p ZCA9PiAnMjI5MCcsIGRlc2NyID0+ICdJL08nLAogICBwcm9uYW1lID0+ICdyZWNvcmRfaW4nLCBw cm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsCiAgIHByb2FyZ3R5cGVz ID0+ICdjc3RyaW5nIG9pZCBpbnQ0JywgcHJvc3JjID0+ICdyZWNvcmRfaW4nIH0sCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9mb3JlaWduL2ZvcmVpZ24uaCBiL3NyYy9pbmNsdWRlL2ZvcmVpZ24v Zm9yZWlnbi5oCmluZGV4IDgyYjgxNTMxMDAuLmI1YjliOTdmNGQgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCisrKyBiL3NyYy9pbmNsdWRlL2ZvcmVpZ24vZm9yZWln bi5oCkBAIC02OSw2ICs2OSw4IEBAIGV4dGVybiBGb3JlaWduU2VydmVyICpHZXRGb3JlaWduU2Vy dmVyRXh0ZW5kZWQoT2lkIHNlcnZlcmlkLAogCQkJCQkJCQkJCQkgICBiaXRzMTYgZmxhZ3MpOwog ZXh0ZXJuIEZvcmVpZ25TZXJ2ZXIgKkdldEZvcmVpZ25TZXJ2ZXJCeU5hbWUoY29uc3QgY2hhciAq c3J2bmFtZSwKIAkJCQkJCQkJCQkJIGJvb2wgbWlzc2luZ19vayk7CitleHRlcm4gY2hhciAqRm9y ZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoT2lkIHVzZXJpZCwgT2lkIHNlcnZlcmlkLAorCQkJ CQkJCQkJCSAgIGJvb2wgYXBwZW5kX292ZXJyaWRlcyk7CiBleHRlcm4gVXNlck1hcHBpbmcgKkdl dFVzZXJNYXBwaW5nKE9pZCB1c2VyaWQsIE9pZCBzZXJ2ZXJpZCk7CiBleHRlcm4gRm9yZWlnbkRh dGFXcmFwcGVyICpHZXRGb3JlaWduRGF0YVdyYXBwZXIoT2lkIGZkd2lkKTsKIGV4dGVybiBGb3Jl aWduRGF0YVdyYXBwZXIgKkdldEZvcmVpZ25EYXRhV3JhcHBlckV4dGVuZGVkKE9pZCBmZHdpZCwK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yZWlnbl9kYXRhLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yZWlnbl9kYXRhLm91dAppbmRleCAxZGZlMjNj YzFlLi5kNTFlODNmZjkyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zv cmVpZ25fZGF0YS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JlaWduX2Rh dGEub3V0CkBAIC0yMSwxNSArMjEsMTUgQEAgQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X3JvbGUy OwogQ1JFQVRFIFJPTEUgcmVncmVzc190ZXN0X3JvbGVfc3VwZXIgU1VQRVJVU0VSOwogQ1JFQVRF IFJPTEUgcmVncmVzc190ZXN0X2luZGlyZWN0OwogQ1JFQVRFIFJPTEUgcmVncmVzc191bnByaXZp bGVnZWRfcm9sZTsKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBkdW1teTsKLUNPTU1FTlQg T04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgZHVtbXkgSVMgJ3VzZWxlc3MnOwotQ1JFQVRFIEZPUkVJ R04gREFUQSBXUkFQUEVSIHBvc3RncmVzcWwgVkFMSURBVE9SIHBvc3RncmVzcWxfZmR3X3ZhbGlk YXRvcjsKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2R1bW15OworQ09NTUVO VCBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2R1bW15IElTICd1c2VsZXNzJzsKK0NS RUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Bvc3RncmVzcWwgVkFMSURBVE9SIHBv c3RncmVzcWxfZmR3X3ZhbGlkYXRvcjsKIC0tIEF0IHRoaXMgcG9pbnQgd2Ugc2hvdWxkIGhhdmUg MiBidWlsdC1pbiB3cmFwcGVycyBhbmQgbm8gc2VydmVycy4KLVNFTEVDVCBmZHduYW1lLCBmZHdo YW5kbGVyOjpyZWdwcm9jLCBmZHd2YWxpZGF0b3I6OnJlZ3Byb2MsIGZkd29wdGlvbnMgRlJPTSBw Z19mb3JlaWduX2RhdGFfd3JhcHBlciBPUkRFUiBCWSAxLCAyLCAzOwotICBmZHduYW1lICAgfCBm ZHdoYW5kbGVyIHwgICAgICAgZmR3dmFsaWRhdG9yICAgICAgIHwgZmR3b3B0aW9ucyAKLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCi0gZHVtbXkgICAgICB8IC0gICAgICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAg fCAKLSBwb3N0Z3Jlc3FsIHwgLSAgICAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8 IAorU0VMRUNUIGZkd25hbWUsIGZkd2hhbmRsZXI6OnJlZ3Byb2MsIGZkd3ZhbGlkYXRvcjo6cmVn cHJvYywgZmR3b3B0aW9ucyBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25h bWUgTElLRSAncmVncmVzc18lJyBPUkRFUiBCWSAxLCAyLCAzOworICAgICAgZmR3bmFtZSAgICAg ICB8IGZkd2hhbmRsZXIgfCAgICAgICBmZHd2YWxpZGF0b3IgICAgICAgfCBmZHdvcHRpb25zIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVtbXkgICAgICB8IC0gICAgICAgICAgfCAtICAg ICAgICAgICAgICAgICAgICAgICAgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCAtICAgICAgICAg IHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgCiAoMiByb3dzKQogCiBTRUxFQ1Qgc3J2bmFt ZSwgc3J2b3B0aW9ucyBGUk9NIHBnX2ZvcmVpZ25fc2VydmVyOwpAQCAtNDMsMTgwICs0MywxODAg QEAgU0VMRUNUICogRlJPTSBwZ191c2VyX21hcHBpbmc7CiAoMCByb3dzKQogCiAtLSBDUkVBVEUg Rk9SRUlHTiBEQVRBIFdSQVBQRVIKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gVkFM SURBVE9SIGJhcjsgICAgICAgICAgICAtLSBFUlJPUgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQ UEVSIHJlZ3Jlc3NfZm9vIFZBTElEQVRPUiBiYXI7ICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9S OiAgZnVuY3Rpb24gYmFyKHRleHRbXSwgb2lkKSBkb2VzIG5vdCBleGlzdAotQ1JFQVRFIEZPUkVJ R04gREFUQSBXUkFQUEVSIGZvbzsKLVxkZXcKLSAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIAotLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0g ICAgICAgfCAtCi0gZm9vICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAg ICAgIHwgLQotIHBvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAg ICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvcgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vOworXGRldyByZWdyZXNzXyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycworICAgICAgICBOYW1lICAgICAgICB8ICAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVtbXkgICAgICB8 IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLQorIHJlZ3Jlc3NfZm9vICAg ICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLQorIHJlZ3Jlc3Nf cG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgcG9zdGdy ZXNxbF9mZHdfdmFsaWRhdG9yCiAoMyByb3dzKQogCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgZm9vOyAtLSBkdXBsaWNhdGUKLUVSUk9SOiAgZm9yZWlnbi1kYXRhIHdyYXBwZXIgImZvbyIg YWxyZWFkeSBleGlzdHMKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOwotQ1JFQVRFIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TICh0ZXN0aW5nICcxJyk7Ci1cZGV3KwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9y ZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVn ZXMgfCAgRkRXIG9wdGlvbnMgIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gZHVtbXkg ICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgIHwgdXNlbGVz cwotIGZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0g ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgKHRlc3RpbmcgJzEn KSB8IAotIHBvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8 IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICB8IAorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOyAtLSBkdXBs aWNhdGUKK0VSUk9SOiAgZm9yZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZm9vIiBhbHJlYWR5 IGV4aXN0cworRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKK0NSRUFURSBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TICh0ZXN0aW5nICcxJyk7Citc ZGV3KyByZWdyZXNzXyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAg ICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxp ZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgIEZEVyBvcHRpb25zICB8IERlc2Ny aXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgfCB1c2VsZXNzCisgcmVncmVz c19mb28gICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICh0ZXN0aW5nICcxJykg fCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAg ICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICB8IAogKDMgcm93cykKIAotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287 Ci1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9QVElPTlMgKHRlc3RpbmcgJzEnLCB0 ZXN0aW5nICcyJyk7ICAgLS0gRVJST1IKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVz c19mb287CitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAo dGVzdGluZyAnMScsIHRlc3RpbmcgJzInKTsgICAtLSBFUlJPUgogRVJST1I6ICBvcHRpb24gInRl c3RpbmciIHByb3ZpZGVkIG1vcmUgdGhhbiBvbmNlCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgZm9vIE9QVElPTlMgKHRlc3RpbmcgJzEnLCBhbm90aGVyICcyJyk7Ci1cZGV3KwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg Zm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZp bGVnZXMgfCAgICAgICAgRkRXIG9wdGlvbnMgICAgICAgICB8IERlc2NyaXB0aW9uIAotLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbyAgICAgICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgKHRlc3RpbmcgJzEnLCBhbm90aGVyICcyJykg fCAKLSBwb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBw b3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19m b28gT1BUSU9OUyAodGVzdGluZyAnMScsIGFub3RoZXIgJzInKTsKK1xkZXcrIHJlZ3Jlc3NfKgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycworICAgICAgICBOYW1lICAgICAgICB8ICAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAg ICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgICAgICAgRkRXIG9wdGlvbnMgICAgICAgICB8IERl c2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nf ZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IHVzZWxlc3MKKyByZWdyZXNzX2ZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIHwgKHRlc3RpbmcgJzEnLCBhbm90aGVyICcyJykgfCAKKyByZWdyZXNzX3Bv c3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVz cWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAKICgzIHJvd3MpCiAKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOwor RFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKIFNFVCBST0xFIHJlZ3Jlc3Nf dGVzdF9yb2xlOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsgLS0gRVJST1IKLUVS Uk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gY3JlYXRlIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJm b28iCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287IC0tIEVSUk9SCitF UlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIHRvIGNyZWF0ZSBmb3JlaWduLWRhdGEgd3JhcHBlciAi cmVncmVzc19mb28iCiBISU5UOiAgTXVzdCBiZSBzdXBlcnVzZXIgdG8gY3JlYXRlIGEgZm9yZWln bi1kYXRhIHdyYXBwZXIuCiBSRVNFVCBST0xFOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBWQUxJREFUT1IgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yOwotXGRldysKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1k YXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBI YW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCBG RFcgb3B0aW9ucyB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbyAgICAg ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3 X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAKLSBwb3N0Z3Jl c3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zk d192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgCitDUkVBVEUg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVkFMSURBVE9SIHBvc3RncmVzcWxfZmR3 X3ZhbGlkYXRvcjsKK1xkZXcrIHJlZ3Jlc3NfKgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCisg ICAgICAgIE5hbWUgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEhhbmRsZXIg fCAgICAgICAgVmFsaWRhdG9yICAgICAgICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8IEZEVyBvcHRp b25zIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAg ICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgdXNlbGVzcwor IHJlZ3Jlc3NfZm9vICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAg IHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICB8IAorIHJlZ3Jlc3NfcG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIg fCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICB8IAogKDMgcm93cykKIAogLS0gSEFORExFUiByZWxhdGVkIGNoZWNrcwog Q1JFQVRFIEZVTkNUSU9OIGludmFsaWRfZmR3X2hhbmRsZXIoKSBSRVRVUk5TIGludCBMQU5HVUFH RSBTUUwgQVMgJ1NFTEVDVCAxOyc7Ci1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9m ZHcgSEFORExFUiBpbnZhbGlkX2Zkd19oYW5kbGVyOyAgLS0gRVJST1IKK0NSRUFURSBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX3Rlc3RfZmR3IEhBTkRMRVIgaW52YWxpZF9mZHdfaGFuZGxl cjsgIC0tIEVSUk9SCiBFUlJPUjogIGZ1bmN0aW9uIGludmFsaWRfZmR3X2hhbmRsZXIgbXVzdCBy ZXR1cm4gdHlwZSBmZHdfaGFuZGxlcgotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3Rf ZmR3IEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlciBIQU5ETEVSIGludmFsaWRfZmR3X2hhbmRsZXI7 ICAtLSBFUlJPUgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfdGVzdF9mZHcg SEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgaW52YWxpZF9mZHdfaGFuZGxlcjsgIC0t IEVSUk9SCiBFUlJPUjogIGNvbmZsaWN0aW5nIG9yIHJlZHVuZGFudCBvcHRpb25zCi1MSU5FIDE6 IC4uLkdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdyBIQU5ETEVSIHRlc3RfZmR3X2hhbmRsZXIgSEFO RExFUiBpbi4uLgorTElORSAxOiAuLi5XUkFQUEVSIHJlZ3Jlc3NfdGVzdF9mZHcgSEFORExFUiB0 ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgaW4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi1DUkVBVEUgRk9SRUlHTiBEQVRB IFdSQVBQRVIgdGVzdF9mZHcgSEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyOwotRFJPUCBGT1JFSUdO IERBVEEgV1JBUFBFUiB0ZXN0X2ZkdzsKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdy ZXNzX3Rlc3RfZmR3IEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlcjsKK0RST1AgRk9SRUlHTiBEQVRB IFdSQVBQRVIgcmVncmVzc190ZXN0X2ZkdzsKIC0tIEFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS Ci1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAobm9uZXhpc3RlbnQgJ2Zk dycpOyAgICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbyBPUFRJT05TIChub25leGlzdGVudCAnZmR3Jyk7ICAgICAgICAgLS0gRVJST1IKIEVSUk9S OiAgaW52YWxpZCBvcHRpb24gIm5vbmV4aXN0ZW50IgogSElOVDogIFRoZXJlIGFyZSBubyB2YWxp ZCBvcHRpb25zIGluIHRoaXMgY29udGV4dC4KLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZv bzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdOIERB VEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVS Uk9SCiBFUlJPUjogIHN5bnRheCBlcnJvciBhdCBvciBuZWFyICI7IgotTElORSAxOiBBTFRFUiBG T1JFSUdOIERBVEEgV1JBUFBFUiBmb287Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBWQUxJREFUT1IgYmFyOyAg ICAgICAgICAgICAgIC0tIEVSUk9SCitMSU5FIDE6IEFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFZBTElEQVRPUiBi YXI7ICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgZnVuY3Rpb24gYmFyKHRleHRbXSwg b2lkKSBkb2VzIG5vdCBleGlzdAotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE5PIFZB TElEQVRPUjsKLVxkZXcrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycwotICAgIE5hbWUgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAg ICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgRkRXIG9wdGlvbnMgfCBEZXNjcmlwdGlvbiAKLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tCi0gZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAg IHwgLSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICB8IHVzZWxlc3MKLSBmb28gICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgIHwgCi0gcG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIg fCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICB8IAorQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28g Tk8gVkFMSURBVE9SOworXGRldysgcmVncmVzc18qCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMK KyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgSGFuZGxl ciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgRkRXIG9w dGlvbnMgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX2R1bW15 ICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCB1c2VsZXNz CisgcmVncmVzc19mb28gICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAg ICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgIHwgCisgcmVncmVzc19wb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNl ciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgIHwgCiAoMyByb3dzKQogCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gT1BUSU9OUyAoYSAnMScsIGIgJzInKTsKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBPUFRJT05TIChTRVQgYyAnNCcpOyAgICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChhICcxJywgYiAnMicpOworQUxURVIg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoU0VUIGMgJzQnKTsgICAg ICAgICAtLSBFUlJPUgogRVJST1I6ICBvcHRpb24gImMiIG5vdCBmb3VuZAotQUxURVIgRk9SRUlH TiBEQVRBIFdSQVBQRVIgZm9vIE9QVElPTlMgKERST1AgYyk7ICAgICAgICAgICAgLS0gRVJST1IK K0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKERST1AgYyk7 ICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgb3B0aW9uICJjIiBub3QgZm91bmQKLUFMVEVS IEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChBREQgeCAnMScsIERST1AgeCk7Ci1c ZGV3KwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNz IHByaXZpbGVnZXMgfCAgRkRXIG9wdGlvbnMgICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAt ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgIHwgdXNlbGVzcwotIGZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg LSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwg KGEgJzEnLCBiICcyJykgfCAKLSBwb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNl ciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgIHwgCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbyBPUFRJT05TIChBREQgeCAnMScsIERST1AgeCk7CitcZGV3KyByZWdyZXNzXyoKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBm b3JlaWduLWRhdGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFjY2Vz cyBwcml2aWxlZ2VzIHwgIEZEVyBvcHRpb25zICAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0KKyByZWdyZXNzX2R1bW15ICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgfCB1c2VsZXNzCisgcmVncmVzc19mb28gICAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICB8IChhICcxJywgYiAnMicpIHwgCisgcmVncmVzc19wb3N0 Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0Z3Jlc3Fs X2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIHwgCiAo MyByb3dzKQogCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoRFJPUCBh LCBTRVQgYiAnMycsIEFERCBjICc0Jyk7Ci1cZGV3KwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0g ICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAg IFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgRkRXIG9wdGlvbnMgICB8 IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbyAgICAgICAgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgIHwgKGIgJzMnLCBjICc0JykgfCAKLSBwb3N0Z3Jlc3Fs IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192 YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIHwgCitBTFRFUiBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChEUk9QIGEsIFNFVCBiICcz JywgQUREIGMgJzQnKTsKK1xkZXcrIHJlZ3Jlc3NfKgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVy cworICAgICAgICBOYW1lICAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5k bGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgRkRX IG9wdGlvbnMgICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jl c3NfZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICB8IHVzZWxlc3MKKyByZWdyZXNzX2ZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgIHwgKGIgJzMnLCBjICc0JykgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCByZWdyZXNzX2Zv cmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCAKICgzIHJvd3MpCiAKLUFMVEVSIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChhICcyJyk7Ci1BTFRFUiBGT1JFSUdOIERB VEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoYiAnNCcpOyAgICAgICAgICAgICAtLSBFUlJPUgorQUxU RVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoYSAnMicpOworQUxU RVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoYiAnNCcpOyAgICAg ICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBvcHRpb24gImIiIHByb3ZpZGVkIG1vcmUgdGhhbiBv bmNlCi1cZGV3KwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycwotICAgIE5hbWUgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAg ICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgICAgICBGRFcgb3B0aW9ucyAgICAgIHwgRGVzY3JpcHRp b24gCi0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8IHVzZWxlc3MKLSBmb28gICAgICAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IChiICczJywgYyAnNCcsIGEgJzInKSB8IAot IHBvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3Rn cmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgIHwgCitcZGV3KyByZWdyZXNzXyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJz CisgICAgICAgIE5hbWUgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEhhbmRs ZXIgfCAgICAgICAgVmFsaWRhdG9yICAgICAgICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8ICAgICAg RkRXIG9wdGlvbnMgICAgICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0KKyByZWdyZXNzX2R1bW15ICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg LSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgIHwgdXNlbGVzcworIHJlZ3Jlc3NfZm9vICAgICAgICB8IHJl Z3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgfCAoYiAnMycsIGMgJzQnLCBhICcyJykgfCAKKyByZWdy ZXNzX3Bvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBv c3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgIHwgCiAoMyByb3dzKQogCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKLUFM VEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChBREQgZCAnNScpOyAgICAgICAg IC0tIEVSUk9SCi1FUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIHRvIGFsdGVyIGZvcmVpZ24tZGF0 YSB3cmFwcGVyICJmb28iCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBP UFRJT05TIChBREQgZCAnNScpOyAgICAgICAgIC0tIEVSUk9SCitFUlJPUjogIHBlcm1pc3Npb24g ZGVuaWVkIHRvIGFsdGVyIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJyZWdyZXNzX2ZvbyIKIEhJTlQ6 ICBNdXN0IGJlIHN1cGVydXNlciB0byBhbHRlciBhIGZvcmVpZ24tZGF0YSB3cmFwcGVyLgogU0VU IFJPTEUgcmVncmVzc190ZXN0X3JvbGVfc3VwZXI7Ci1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gT1BUSU9OUyAoQUREIGQgJzUnKTsKLVxkZXcrCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdy YXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVy IHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgICAgICAg IEZEVyBvcHRpb25zICAgICAgICAgIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tCi0gZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAg ICAgIHwgLSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbyAgICAgICAgfCByZWdyZXNz X2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgIHwgKGIgJzMnLCBjICc0JywgYSAnMicsIGQgJzUnKSB8IAotIHBv c3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVz cWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IAorQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BU SU9OUyAoQUREIGQgJzUnKTsKK1xkZXcrIHJlZ3Jlc3NfKgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRh dGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAg ICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxl Z2VzIHwgICAgICAgICBGRFcgb3B0aW9ucyAgICAgICAgICB8IERlc2NyaXB0aW9uIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1 c2VsZXNzCisgcmVncmVzc19mb28gICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 IChiICczJywgYyAnNCcsIGEgJzInLCBkICc1JykgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlk YXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IAogKDMgcm93cykKIAotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9XTkVSIFRPIHJl Z3Jlc3NfdGVzdF9yb2xlOyAgLS0gRVJST1IKLUVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8g Y2hhbmdlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28iCitBTFRFUiBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPV05FUiBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsgIC0t IEVSUk9SCitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIHRvIGNoYW5nZSBvd25lciBvZiBmb3Jl aWduLWRhdGEgd3JhcHBlciAicmVncmVzc19mb28iCiBISU5UOiAgVGhlIG93bmVyIG9mIGEgZm9y ZWlnbi1kYXRhIHdyYXBwZXIgbXVzdCBiZSBhIHN1cGVydXNlci4KLUFMVEVSIEZPUkVJR04gREFU QSBXUkFQUEVSIGZvbyBPV05FUiBUTyByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlcjsKK0FMVEVSIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9XTkVSIFRPIHJlZ3Jlc3NfdGVzdF9yb2xl X3N1cGVyOwogQUxURVIgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlciBOT1NVUEVSVVNFUjsK IFNFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVyOwotQUxURVIgRk9SRUlHTiBEQVRBIFdS QVBQRVIgZm9vIE9QVElPTlMgKEFERCBlICc2Jyk7ICAgICAgICAgLS0gRVJST1IKLUVSUk9SOiAg cGVybWlzc2lvbiBkZW5pZWQgdG8gYWx0ZXIgZm9yZWlnbi1kYXRhIHdyYXBwZXIgImZvbyIKK0FM VEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKEFERCBlICc2Jyk7 ICAgICAgICAgLS0gRVJST1IKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gYWx0ZXIgZm9y ZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZm9vIgogSElOVDogIE11c3QgYmUgc3VwZXJ1c2Vy IHRvIGFsdGVyIGEgZm9yZWlnbi1kYXRhIHdyYXBwZXIuCiBSRVNFVCBST0xFOwotXGRldysKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKLSAgICBOYW1lICAgIHwgICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEhhbmRsZXIgfCAgICAgICAgVmFsaWRhdG9yICAgICAgICAgfCBBY2Nlc3Mg cHJpdmlsZWdlcyB8ICAgICAgICAgRkRXIG9wdGlvbnMgICAgICAgICAgfCBEZXNjcmlwdGlvbiAK LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1c2VsZXNzCi0g Zm9vICAgICAgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVyICAgfCAtICAgICAgIHwgLSAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAoYiAnMycsIGMgJzQnLCBh ICcyJywgZCAnNScpIHwgCi0gcG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIg fCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCitcZGV3KyByZWdyZXNzXyoKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCisgICAgICAgIE5hbWUgICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEhhbmRsZXIgfCAgICAgICAgVmFsaWRhdG9yICAgICAgICAg fCBBY2Nlc3MgcHJpdmlsZWdlcyB8ICAgICAgICAgRkRXIG9wdGlvbnMgICAgICAgICAgfCBEZXNj cmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nf ZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgdXNlbGVzcworIHJlZ3Jlc3NfZm9vICAgICAgICB8IHJlZ3Jlc3NfdGVz dF9yb2xlX3N1cGVyICAgfCAtICAgICAgIHwgLSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgfCAoYiAnMycsIGMgJzQnLCBhICcyJywgZCAnNScpIHwgCisgcmVncmVz c19wb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0 Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAKICgzIHJvd3MpCiAKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBSRU5BTUUgVE8gZm9vMTsKLVxkZXcrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJz Ci0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAg ICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgICAgICAgIEZEVyBv cHRpb25zICAgICAgICAgIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tCi0gZHVtbXkgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwg LSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgdXNlbGVzcwotIGZvbzEgICAgICAgfCByZWdyZXNzX3Rlc3Rf cm9sZV9zdXBlciAgIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIHwgKGIgJzMnLCBjICc0JywgYSAnMicsIGQgJzUnKSB8IAotIHBvc3RncmVz cWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3 X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IAorQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gUkVOQU1FIFRP IHJlZ3Jlc3NfZm9vMTsKK1xkZXcrIHJlZ3Jlc3NfKgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEg d3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxlZ2Vz IHwgICAgICAgICBGRFcgb3B0aW9ucyAgICAgICAgICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1c2Vs ZXNzCisgcmVncmVzc19mb28xICAgICAgIHwgcmVncmVzc190ZXN0X3JvbGVfc3VwZXIgICB8IC0g ICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IChi ICczJywgYyAnNCcsIGEgJzInLCBkICc1JykgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRv ciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAog KDMgcm93cykKIAotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vMSBSRU5BTUUgVE8gZm9v OworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28xIFJFTkFNRSBUTyByZWdy ZXNzX2ZvbzsKIC0tIEhBTkRMRVIgcmVsYXRlZCBjaGVja3MKLUFMVEVSIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbyBIQU5ETEVSIGludmFsaWRfZmR3X2hhbmRsZXI7ICAtLSBFUlJPUgorQUxURVIg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gSEFORExFUiBpbnZhbGlkX2Zkd19oYW5k bGVyOyAgLS0gRVJST1IKIEVSUk9SOiAgZnVuY3Rpb24gaW52YWxpZF9mZHdfaGFuZGxlciBtdXN0 IHJldHVybiB0eXBlIGZkd19oYW5kbGVyCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28g SEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgYW55dGhpbmc7ICAtLSBFUlJPUgorQUxU RVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gSEFORExFUiB0ZXN0X2Zkd19oYW5k bGVyIEhBTkRMRVIgYW55dGhpbmc7ICAtLSBFUlJPUgogRVJST1I6ICBjb25mbGljdGluZyBvciBy ZWR1bmRhbnQgb3B0aW9ucwotTElORSAxOiAuLi5GT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gSEFO RExFUiB0ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgYW4uLi4KK0xJTkUgMTogLi4uREFUQSBXUkFQ UEVSIHJlZ3Jlc3NfZm9vIEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlciBIQU5ETEVSIGFuLi4uCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIEhBTkRMRVIgdGVzdF9mZHdfaGFu ZGxlcjsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIEhBTkRMRVIgdGVz dF9mZHdfaGFuZGxlcjsKIFdBUk5JTkc6ICBjaGFuZ2luZyB0aGUgZm9yZWlnbi1kYXRhIHdyYXBw ZXIgaGFuZGxlciBjYW4gY2hhbmdlIGJlaGF2aW9yIG9mIGV4aXN0aW5nIGZvcmVpZ24gdGFibGVz CiBEUk9QIEZVTkNUSU9OIGludmFsaWRfZmR3X2hhbmRsZXIoKTsKIC0tIERST1AgRk9SRUlHTiBE QVRBIFdSQVBQRVIKQEAgLTIyNCw1MiArMjI0LDUyIEBAIERST1AgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgbm9uZXhpc3RlbnQ7ICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBFUlJPUjogIGZv cmVpZ24tZGF0YSB3cmFwcGVyICJub25leGlzdGVudCIgZG9lcyBub3QgZXhpc3QKIERST1AgRk9S RUlHTiBEQVRBIFdSQVBQRVIgSUYgRVhJU1RTIG5vbmV4aXN0ZW50OwogTk9USUNFOiAgZm9yZWln bi1kYXRhIHdyYXBwZXIgIm5vbmV4aXN0ZW50IiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcKLVxk ZXcrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKLSAgICBOYW1lICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8ICAgICBIYW5kbGVyICAgICAgfCAgICAgICAgVmFsaWRh dG9yICAgICAgICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8ICAgICAgICAgRkRXIG9wdGlvbnMgICAg ICAgICAgfCBEZXNjcmlwdGlvbiAKLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgICAg ICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1c2VsZXNzCi0gZm9vICAgICAgICB8IHJlZ3Jl c3NfdGVzdF9yb2xlX3N1cGVyICAgfCB0ZXN0X2Zkd19oYW5kbGVyIHwgLSAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAoYiAnMycsIGMgJzQnLCBhICcyJywgZCAn NScpIHwgCi0gcG9zdGdyZXNxbCB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAg ICAgICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yIHwgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCitcZGV3KyByZWdyZXNzXyoKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgICAgIEhhbmRsZXIgICAgICB8ICAgICAgICBWYWxp ZGF0b3IgICAgICAgICB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgICAgICAgICBGRFcgb3B0aW9ucyAg ICAgICAgICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IC0gICAgICAgICAgICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1c2VsZXNzCisg cmVncmVzc19mb28gICAgICAgIHwgcmVncmVzc190ZXN0X3JvbGVfc3VwZXIgICB8IHRlc3RfZmR3 X2hhbmRsZXIgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 IChiICczJywgYyAnNCcsIGEgJzInLCBkICc1JykgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICAgICAgICAgICB8IHBvc3RncmVzcWxf ZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IAogKDMgcm93cykKIAogRFJPUCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVy OyAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgcm9sZSAicmVncmVz c190ZXN0X3JvbGVfc3VwZXIiIGNhbm5vdCBiZSBkcm9wcGVkIGJlY2F1c2Ugc29tZSBvYmplY3Rz IGRlcGVuZCBvbiBpdAotREVUQUlMOiAgb3duZXIgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXIgZm9v CitERVRBSUw6ICBvd25lciBvZiBmb3JlaWduLWRhdGEgd3JhcHBlciByZWdyZXNzX2ZvbwogU0VU IFJPTEUgcmVncmVzc190ZXN0X3JvbGVfc3VwZXI7Ci1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbzsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBSRVNFVCBST0xF OwogRFJPUCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVyOwotXGRldysKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRh IHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5k bGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCBGRFcg b3B0aW9ucyB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSBkdW1teSAgICAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgdXNlbGVzcwotIHBvc3RncmVzcWwg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3Zh bGlkYXRvciB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAKK1xkZXcrIHJlZ3Jl c3NfKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCisgICAgICAgIE5hbWUgICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEhhbmRsZXIgfCAgICAgICAgVmFsaWRhdG9yICAgICAg ICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8IEZEVyBvcHRpb25zIHwgRGVzY3JpcHRpb24gCistLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19kdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2Rh dGFfdXNlciB8IC0gICAgICAgfCAtICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgIHwgdXNlbGVzcworIHJlZ3Jlc3NfcG9zdGdyZXNxbCB8IHJl Z3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRh dG9yIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8IAogKDIgcm93cykKIAotQ1JF QVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsKLUNSRUFURSBTRVJWRVIgczEgRk9SRUlHTiBE QVRBIFdSQVBQRVIgZm9vOworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9v OworQ1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKIENP TU1FTlQgT04gU0VSVkVSIHMxIElTICdmb3JlaWduIHNlcnZlcic7CiBDUkVBVEUgVVNFUiBNQVBQ SU5HIEZPUiBjdXJyZW50X3VzZXIgU0VSVkVSIHMxOwogQ1JFQVRFIFVTRVIgTUFQUElORyBGT1Ig Y3VycmVudF91c2VyIFNFUlZFUiBzMTsJCQkJLS0gRVJST1IKIEVSUk9SOiAgdXNlciBtYXBwaW5n IGZvciAicmVncmVzc19mb3JlaWduX2RhdGFfdXNlciIgYWxyZWFkeSBleGlzdHMgZm9yIHNlcnZl ciAiczEiCiBDUkVBVEUgVVNFUiBNQVBQSU5HIElGIE5PVCBFWElTVFMgRk9SIGN1cnJlbnRfdXNl ciBTRVJWRVIgczE7IC0tIE5PVElDRQogTk9USUNFOiAgdXNlciBtYXBwaW5nIGZvciAicmVncmVz c19mb3JlaWduX2RhdGFfdXNlciIgYWxyZWFkeSBleGlzdHMgZm9yIHNlcnZlciAiczEiLCBza2lw cGluZwotXGRldysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXJzCi0gICAgTmFtZSAgICB8ICAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBIYW5kbGVyIHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwg QWNjZXNzIHByaXZpbGVnZXMgfCBGRFcgb3B0aW9ucyB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KLSBkdW1teSAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCAt ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg IHwgdXNlbGVzcwotIGZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAg ICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgfCAKLSBwb3N0Z3Jlc3FsIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IC0g ICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgIHwgCitcZGV3KyByZWdyZXNzXyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVycwor ICAgICAgICBOYW1lICAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBIYW5kbGVy IHwgICAgICAgIFZhbGlkYXRvciAgICAgICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgfCBGRFcgb3B0 aW9ucyB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfZHVtbXkg ICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgLSAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8IHVzZWxlc3MK KyByZWdyZXNzX2ZvbyAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgLSAgICAg ICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgfCAKKyByZWdyZXNzX3Bvc3RncmVzcWwgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2Vy IHwgLSAgICAgICB8IHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvciB8ICAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgfCAKICgzIHJvd3MpCiAKIFxkZXMrCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGZvcmVpZ24gc2VydmVycwog IE5hbWUgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRm9yZWlnbi1kYXRhIHdyYXBwZXIg fCBBY2Nlc3MgcHJpdmlsZWdlcyB8IFR5cGUgfCBWZXJzaW9uIHwgRkRXIG9wdGlvbnMgfCAgRGVz Y3JpcHRpb24gICAKIC0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCi0gczEgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICB8ICAg ICAgICAgfCAgICAgICAgICAgICB8IGZvcmVpZ24gc2VydmVyCisgczEgICB8IHJlZ3Jlc3NfZm9y ZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg IHwgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICB8IGZvcmVpZ24gc2VydmVyCiAoMSByb3cp CiAKIFxkZXUrCkBAIC0yNzksMjUgKzI3OSwyNSBAQCBOT1RJQ0U6ICB1c2VyIG1hcHBpbmcgZm9y ICJyZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIiBhbHJlYWR5IGV4aXN0cyBmb3Igc2VydmVyCiAg czEgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IAogKDEgcm93KQogCi1EUk9QIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBF UlJPUgotRVJST1I6ICBjYW5ub3QgZHJvcCBmb3JlaWduLWRhdGEgd3JhcHBlciBmb28gYmVjYXVz ZSBvdGhlciBvYmplY3RzIGRlcGVuZCBvbiBpdAotREVUQUlMOiAgc2VydmVyIHMxIGRlcGVuZHMg b24gZm9yZWlnbi1kYXRhIHdyYXBwZXIgZm9vCitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCitFUlJPUjog IGNhbm5vdCBkcm9wIGZvcmVpZ24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3NfZm9vIGJlY2F1c2Ugb3Ro ZXIgb2JqZWN0cyBkZXBlbmQgb24gaXQKK0RFVEFJTDogIHNlcnZlciBzMSBkZXBlbmRzIG9uIGZv cmVpZ24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3NfZm9vCiB1c2VyIG1hcHBpbmcgZm9yIHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgb24gc2VydmVyIHMxIGRlcGVuZHMgb24gc2VydmVyIHMxCiBISU5U OiAgVXNlIERST1AgLi4uIENBU0NBREUgdG8gZHJvcCB0aGUgZGVwZW5kZW50IG9iamVjdHMgdG9v LgogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7Ci1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBDQVNDQURFOyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgotRVJST1I6ICBtdXN0 IGJlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbworRFJPUCBGT1JFSUdOIERBVEEg V1JBUFBFUiByZWdyZXNzX2ZvbyBDQVNDQURFOyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJP UgorRVJST1I6ICBtdXN0IGJlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3Nf Zm9vCiBSRVNFVCBST0xFOwotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gQ0FTQ0FERTsK K0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gQ0FTQ0FERTsKIE5PVElDRTog IGRyb3AgY2FzY2FkZXMgdG8gMiBvdGhlciBvYmplY3RzCiBERVRBSUw6ICBkcm9wIGNhc2NhZGVz IHRvIHNlcnZlciBzMQogZHJvcCBjYXNjYWRlcyB0byB1c2VyIG1hcHBpbmcgZm9yIHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgb24gc2VydmVyIHMxCi1cZGV3KwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduLWRhdGEgd3JhcHBl cnMKLSAgICBOYW1lICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEhhbmRsZXIgfCAg ICAgICAgVmFsaWRhdG9yICAgICAgICAgfCBBY2Nlc3MgcHJpdmlsZWdlcyB8IEZEVyBvcHRpb25z IHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIGR1bW15ICAgICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCB1c2VsZXNzCi0gcG9zdGdyZXNxbCB8IHJlZ3Jl c3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAtICAgICAgIHwgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9y IHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8IAorXGRldysgcmVncmVzc18qCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBv ZiBmb3JlaWduLWRhdGEgd3JhcHBlcnMKKyAgICAgICAgTmFtZSAgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgSGFuZGxlciB8ICAgICAgICBWYWxpZGF0b3IgICAgICAgICB8IEFj Y2VzcyBwcml2aWxlZ2VzIHwgRkRXIG9wdGlvbnMgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0KKyByZWdyZXNzX2R1bW15ICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2Vy IHwgLSAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgfCB1c2VsZXNzCisgcmVncmVzc19wb3N0Z3Jlc3FsIHwgcmVncmVzc19m b3JlaWduX2RhdGFfdXNlciB8IC0gICAgICAgfCBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3IgfCAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgCiAoMiByb3dzKQogCiBcZGVzKwpAQCAt MzEzLDg3ICszMTMsMTI1IEBAIGRyb3AgY2FzY2FkZXMgdG8gdXNlciBtYXBwaW5nIGZvciByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIG9uIHNlcnZlciBzMQogKDAgcm93cykKIAogLS0gZXhlcmNp c2UgQ1JFQVRFIFNFUlZFUgotQ1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b287ICAgICAgICAgICAgICAgICAgLS0gRVJST1IKLUVSUk9SOiAgZm9yZWlnbi1kYXRhIHdyYXBw ZXIgImZvbyIgZG9lcyBub3QgZXhpc3QKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28g T1BUSU9OUyAoInRlc3Qgd3JhcHBlciIgJ3RydWUnKTsKLUNSRUFURSBTRVJWRVIgczEgRk9SRUlH TiBEQVRBIFdSQVBQRVIgZm9vOwotQ1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb287ICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0NSRUFURSBTRVJWRVIgczEgRk9SRUlH TiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0VS Uk9SOiAgZm9yZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZm9vIiBkb2VzIG5vdCBleGlzdAor Q1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKCJ0ZXN0IHdy YXBwZXIiICd0cnVlJyk7CitDUkVBVEUgU0VSVkVSIHMxIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vOworQ1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbzsgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBzZXJ2ZXIgInMxIiBhbHJl YWR5IGV4aXN0cwotQ1JFQVRFIFNFUlZFUiBJRiBOT1QgRVhJU1RTIHMxIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbzsJLS0gTm8gRVJST1IsIGp1c3QgTk9USUNFCitDUkVBVEUgU0VSVkVSIElGIE5P VCBFWElTVFMgczEgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CS0tIE5vIEVSUk9S LCBqdXN0IE5PVElDRQogTk9USUNFOiAgc2VydmVyICJzMSIgYWxyZWFkeSBleGlzdHMsIHNraXBw aW5nCi1DUkVBVEUgU0VSVkVSIHMyIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TICho b3N0ICdhJywgZGJuYW1lICdiJyk7Ci1DUkVBVEUgU0VSVkVSIHMzIFRZUEUgJ29yYWNsZScgRk9S RUlHTiBEQVRBIFdSQVBQRVIgZm9vOwotQ1JFQVRFIFNFUlZFUiBzNCBUWVBFICdvcmFjbGUnIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChob3N0ICdhJywgZGJuYW1lICdiJyk7Ci1D UkVBVEUgU0VSVkVSIHM1IFZFUlNJT04gJzE1LjAnIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsK LUNSRUFURSBTRVJWRVIgczYgVkVSU0lPTiAnMTYuMCcgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9v IE9QVElPTlMgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKTsKLUNSRUFURSBTRVJWRVIgczcgVFlQRSAn b3JhY2xlJyBWRVJTSU9OICcxNy4wJyBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAo aG9zdCAnYScsIGRibmFtZSAnYicpOwotQ1JFQVRFIFNFUlZFUiBzOCBGT1JFSUdOIERBVEEgV1JB UFBFUiBwb3N0Z3Jlc3FsIE9QVElPTlMgKGZvbyAnMScpOyAtLSBFUlJPUgorQ1JFQVRFIFNFUlZF UiBzMiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChob3N0ICdhJywg ZGJuYW1lICdiJyk7CitDUkVBVEUgU0VSVkVSIHMzIFRZUEUgJ29yYWNsZScgRk9SRUlHTiBEQVRB IFdSQVBQRVIgcmVncmVzc19mb287CitDUkVBVEUgU0VSVkVSIHM0IFRZUEUgJ29yYWNsZScgRk9S RUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAn YicpOworQ1JFQVRFIFNFUlZFUiBzNSBWRVJTSU9OICcxNS4wJyBGT1JFSUdOIERBVEEgV1JBUFBF UiByZWdyZXNzX2ZvbzsKK0NSRUFURSBTRVJWRVIgczYgVkVSU0lPTiAnMTYuMCcgRk9SRUlHTiBE QVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAnYicpOwor Q1JFQVRFIFNFUlZFUiBzNyBUWVBFICdvcmFjbGUnIFZFUlNJT04gJzE3LjAnIEZPUkVJR04gREFU QSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKTsKK0NS RUFURSBTRVJWRVIgczggRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19wb3N0Z3Jlc3FsIE9Q VElPTlMgKGZvbyAnMScpOyAtLSBFUlJPUgogRVJST1I6ICBpbnZhbGlkIG9wdGlvbiAiZm9vIgot Q1JFQVRFIFNFUlZFUiBzOCBGT1JFSUdOIERBVEEgV1JBUFBFUiBwb3N0Z3Jlc3FsIE9QVElPTlMg KGhvc3QgJ2xvY2FsaG9zdCcsIGRibmFtZSAnczhkYicpOworQ1JFQVRFIFNFUlZFUiBzOCBGT1JF SUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Bvc3RncmVzcWwgT1BUSU9OUyAoaG9zdCAnbG9jYWxo b3N0JywgZGJuYW1lICdzOGRiJyk7CiBcZGVzKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbiBzZXJ2ZXJz CiAgTmFtZSB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBGb3JlaWduLWRhdGEgd3JhcHBl ciB8IEFjY2VzcyBwcml2aWxlZ2VzIHwgIFR5cGUgIHwgVmVyc2lvbiB8ICAgICAgICAgICAgRkRX IG9wdGlvbnMgICAgICAgICAgICB8IERlc2NyaXB0aW9uIAogLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0KLSBzMSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczIgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwg ICAgICAgIHwgICAgICAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAot IHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAKLSBzNCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAg ICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCi0gczUgICB8IHJlZ3Jl c3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgIHwgICAgICAgIHwgMTUuMCAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IAotIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDE2LjAgICAgfCAoaG9zdCAn YScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKLSBzNyAgIHwgcmVncmVzc19mb3JlaWduX2Rh dGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCBvcmFj bGUgfCAxNy4wICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCi0gczgg ICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBwb3N0Z3Jlc3FsICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8IChob3N0ICdsb2NhbGhvc3QnLCBk Ym5hbWUgJ3M4ZGInKSB8IAorIHMxICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVn cmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBzMiAgIHwgcmVncmVzc19m b3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAg IHwgCisgczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8 ICAgICAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKKyBzNSAgIHwg cmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgfCAxNS4wICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgCisgczYgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNz X2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTYuMCAgICB8ICho b3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAorIHM3ICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 IG9yYWNsZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAK KyBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfcG9zdGdyZXNxbCAg IHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2xvY2FsaG9z dCcsIGRibmFtZSAnczhkYicpIHwgCiAoOCByb3dzKQogCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rf cm9sZTsKLUNSRUFURSBTRVJWRVIgdDEgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOyAgICAgICAg ICAgICAgICAgLS0gRVJST1I6IG5vIHVzYWdlIG9uIEZEVwotRVJST1I6ICBwZXJtaXNzaW9uIGRl bmllZCBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgZm9vCitDUkVBVEUgU0VSVkVSIHQxIEZPUkVJ R04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOyAgICAgICAgICAgICAgICAgLS0gRVJST1I6IG5v IHVzYWdlIG9uIEZEVworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgZm9yZWlnbi1kYXRh IHdyYXBwZXIgcmVncmVzc19mb28KIFJFU0VUIFJPTEU7Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdO IERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc190ZXN0X3JvbGU7CitHUkFOVCBVU0FHRSBPTiBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsKIFNF VCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRFIFNFUlZFUiB0MSBGT1JFSUdOIERBVEEg V1JBUFBFUiBmb287CitDUkVBVEUgU0VSVkVSIHQxIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jl c3NfZm9vOwogUkVTRVQgUk9MRTsKIFxkZXMrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduIHNlcnZlcnMK ICBOYW1lIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEZvcmVpZ24tZGF0YSB3cmFwcGVy IHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgVHlwZSAgfCBWZXJzaW9uIHwgICAgICAgICAgICBGRFcg b3B0aW9ucyAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gCiAtLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLQotIHMxICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKLSBzMiAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCi0g czMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IAotIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg Zm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAg ICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKLSBzNSAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgfCAxNS4wICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgCi0gczYgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTYuMCAgICB8IChob3N0ICdh JywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAotIHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IG9yYWNs ZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKLSBzOCAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHBvc3RncmVzcWwgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2xvY2FsaG9zdCcsIGRi bmFtZSAnczhkYicpIHwgCi0gdDEgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28g ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHMxICAgfCByZWdyZXNzX2Zv cmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAKKyBzMiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBk Ym5hbWUgJ2InKSAgICAgICAgICAgIHwgCisgczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM0ICAgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAg ICAgICAgICAgfCAKKyBzNSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3Nf Zm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAxNS4wICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCisgczYgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwg ICAgICAgIHwgMTYuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAor IHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAg fCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFt ZSAnYicpICAgICAgICAgICAgfCAKKyBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 IHJlZ3Jlc3NfcG9zdGdyZXNxbCAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAg ICAgIHwgKGhvc3QgJ2xvY2FsaG9zdCcsIGRibmFtZSAnczhkYicpIHwgCisgdDEgICB8IHJlZ3Jl c3NfdGVzdF9yb2xlICAgICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IAogKDkgcm93cykKIAotUkVWT0tFIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBGUk9NIHJlZ3Jlc3NfdGVzdF9yb2xlOwotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRB IFdSQVBQRVIgZm9vIFRPIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsKK1JFVk9LRSBVU0FHRSBPTiBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBGUk9NIHJlZ3Jlc3NfdGVzdF9yb2xlOwor R1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVz c190ZXN0X2luZGlyZWN0OwogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7Ci1DUkVBVEUgU0VS VkVSIHQyIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsgICAgICAgICAgICAgICAgIC0tIEVSUk9S Ci1FUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBmb3JlaWduLWRhdGEgd3JhcHBlciBmb28K K0NSRUFURSBTRVJWRVIgdDIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAg ICAgICAgICAgICAtLSBFUlJPUgorRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgZm9yZWln bi1kYXRhIHdyYXBwZXIgcmVncmVzc19mb28KIFJFU0VUIFJPTEU7CiBHUkFOVCByZWdyZXNzX3Rl c3RfaW5kaXJlY3QgVE8gcmVncmVzc190ZXN0X3JvbGU7CiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rf cm9sZTsKLUNSRUFURSBTRVJWRVIgdDIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOworQ1JFQVRF IFNFUlZFUiB0MiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKIFxkZXMrCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TGlzdCBvZiBmb3JlaWduIHNlcnZlcnMKICBOYW1lIHwgICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEZvcmVpZ24tZGF0YSB3cmFwcGVyIHwgQWNjZXNzIHByaXZpbGVnZXMgfCAgVHlwZSAgfCBW ZXJzaW9uIHwgICAgICAgICAgICBGRFcgb3B0aW9ucyAgICAgICAgICAgIHwgRGVzY3JpcHRpb24g CiAtLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHMxICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8 ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAK LSBzMiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5h bWUgJ2InKSAgICAgICAgICAgIHwgCi0gczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIg fCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAotIHM0ICAgfCByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAg ICAgICAgfCAKLSBzNSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAxNS4wICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczYgICB8IHJlZ3Jlc3NfZm9yZWlnbl9k YXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAg ICAgIHwgMTYuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAotIHM3 ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAn YicpICAgICAgICAgICAgfCAKLSBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHBv c3RncmVzcWwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAg IHwgKGhvc3QgJ2xvY2FsaG9zdCcsIGRibmFtZSAnczhkYicpIHwgCi0gdDEgICB8IHJlZ3Jlc3Nf dGVzdF9yb2xlICAgICAgICAgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IAotIHQyICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgZm9vICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBzMSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAg fCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCisgczIgICB8 IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykg ICAgICAgICAgICB8IAorIHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVz c19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBzNCAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg fCBvcmFjbGUgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwg CisgczUgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTUuMCAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IAorIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2Vy IHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDE2 LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKKyBzNyAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgfCBvcmFjbGUgfCAxNy4wICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAg ICAgICAgIHwgCisgczggICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX3Bv c3RncmVzcWwgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8IChob3N0 ICdsb2NhbGhvc3QnLCBkYm5hbWUgJ3M4ZGInKSB8IAorIHQxICAgfCByZWdyZXNzX3Rlc3Rfcm9s ZSAgICAgICAgIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAg ICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyB0 MiAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAgICB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgCiAoMTAgcm93cykKIAogUkVTRVQgUk9MRTsKIFJFVk9LRSByZWdy ZXNzX3Rlc3RfaW5kaXJlY3QgRlJPTSByZWdyZXNzX3Rlc3Rfcm9sZTsKKy0tCistLSB0ZXN0IHBn X2Nvbm5lY3Rpb25fZmR3CistLQorXHNldCBWRVJCT1NJVFkgdGVyc2UKK0NSRUFURSBTRVJWRVIg Y29ubmVjdGlvbl9zZXJ2ZXIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVjdGlvbl9mZHcK KyAgT1BUSU9OUyAoaG9zdCAndGhlaG9zdCcsIGNsaWVudF9lbmNvZGluZyAnTEFUSU4xJyk7IC0t IGZhaWwKK0VSUk9SOiAgaW52YWxpZCBvcHRpb24gImNsaWVudF9lbmNvZGluZyIKK0NSRUFURSBT RVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVjdGlv bl9mZHcKKyAgT1BUSU9OUyAoaG9zdCAndGhlaG9zdCcsIG5vbnNlbnNlICdhc2RmJyk7IC0tIGZh aWwKK0VSUk9SOiAgaW52YWxpZCBvcHRpb24gIm5vbnNlbnNlIgorQ1JFQVRFIFNFUlZFUiBjb25u ZWN0aW9uX3NlcnZlciBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2ZkdworICBP UFRJT05TIChob3N0ICd0aGVob3N0JywgcGFzc3dvcmQgJ3NlY3JldCcpOyAtLSBmYWlsCitFUlJP UjogIGludmFsaWQgb3B0aW9uICJwYXNzd29yZCIKK1xzZXQgVkVSQk9TSVRZIGRlZmF1bHQKK0NS RUFURSBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29u bmVjdGlvbl9mZHcKKyAgT1BUSU9OUyAoaG9zdCAndGhlaG9zdCcsIHBvcnQgJzU0MzInKTsKK0NS RUFURSBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3NfdGVzdF9yb2xlIFNFUlZFUiBjb25uZWN0aW9u X3NlcnZlcgorICBPUFRJT05TICh1c2VyICdyb2xlJywgcGFzc3dvcmQgJ3NlY3JldCcsIGhvc3Qg J290aGVyaG9zdCcpOyAtLSBmYWlsCitFUlJPUjogIGludmFsaWQgb3B0aW9uICJob3N0IgorQ1JF QVRFIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc190ZXN0X3JvbGUgU0VSVkVSIGNvbm5lY3Rpb25f c2VydmVyCisgIE9QVElPTlMgKHVzZXIgJ3JvbGUnLCBwYXNzd29yZCAnc2VjcmV0Jyk7CitDUkVB VEUgVVNFUiBNQVBQSU5HIEZPUiBQVUJMSUMgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyCisgIE9Q VElPTlMgKHVzZXIgJ3B1YmxpY3VzZXInLCBwYXNzd29yZCAnc2VjcmV0MicpOworU0VMRUNUIHBn X2Nvbm5pbmZvX2Zyb21fc2VydmVyKCdjb25uZWN0aW9uX3NlcnZlcicsICdyZWdyZXNzX3Rlc3Rf cm9sZScsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgIHBnX2Nvbm5pbmZvX2Zyb21fc2Vy dmVyICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgaG9zdCA9ICd0aGVob3N0JyBw b3J0ID0gJzU0MzInIHVzZXIgPSAncm9sZScgcGFzc3dvcmQgPSAnc2VjcmV0JworKDEgcm93KQor CitTRUxFQ1QgcGdfY29ubmluZm9fZnJvbV9zZXJ2ZXIoJ2Nvbm5lY3Rpb25fc2VydmVyJywgJ3Jl Z3Jlc3NfdGVzdF9yb2xlMicsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZ19j b25uaW5mb19mcm9tX3NlcnZlciAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBob3N0ID0gJ3RoZWhvc3QnIHBvcnQgPSAnNTQzMicgdXNlciA9ICdwdWJsaWN1c2Vy JyBwYXNzd29yZCA9ICdzZWNyZXQyJworKDEgcm93KQorCitEUk9QIFVTRVIgTUFQUElORyBGT1Ig cmVncmVzc190ZXN0X3JvbGUgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyOworRFJPUCBVU0VSIE1B UFBJTkcgRk9SIFBVQkxJQyBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXI7CitEUk9QIFNFUlZFUiBj b25uZWN0aW9uX3NlcnZlcjsKIC0tIEFMVEVSIFNFUlZFUgogQUxURVIgU0VSVkVSIHMwOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAg c3ludGF4IGVycm9yIGF0IG9yIG5lYXIgIjsiCkBAIC00MTAsMTggKzQ0OCwxOCBAQCBHUkFOVCBV U0FHRSBPTiBGT1JFSUdOIFNFUlZFUiBzNiBUTyByZWdyZXNzX3Rlc3Rfcm9sZTIgV0lUSCBHUkFO VCBPUFRJT047CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBmb3JlaWduIHNlcnZlcnMK ICBOYW1lIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEZvcmVpZ24tZGF0YSB3cmFwcGVy IHwgICAgICAgICAgICAgICAgICAgQWNjZXNzIHByaXZpbGVnZXMgICAgICAgICAgICAgICAgICAg fCAgVHlwZSAgfCBWZXJzaW9uIHwgICAgICAgICAgICBGRFcgb3B0aW9ucyAgICAgICAgICAgIHwg RGVzY3JpcHRpb24gCiAtLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHMxICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyPVUv cmVncmVzc19mb3JlaWduX2RhdGFfdXNlcit8ICAgICAgICB8IDEuMCAgICAgfCAoc2VydmVybmFt ZSAnczEnKSAgICAgICAgICAgICAgICAgfCAKKyBzMSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcj1V L3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIrfCAgICAgICAgfCAxLjAgICAgIHwgKHNlcnZlcm5h bWUgJ3MxJykgICAgICAgICAgICAgICAgIHwgCiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlPVUvcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IAotIHMyICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDEuMSAgICAgfCAoaG9zdCAn YScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKLSBzMyAgIHwgcmVncmVzc19mb3JlaWduX2Rh dGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwgKCJ0bnMg bmFtZSIgJ29yY2wnLCBwb3J0ICcxNTIxJykgIHwgCi0gczQgICB8IHJlZ3Jlc3NfZm9yZWlnbl9k YXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAgICAgICB8IChob3N0 ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAotIHM1ICAgfCByZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDE1LjAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKLSBzNiAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlcj1VL3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIrfCAgICAgICAgfCAxNi4wICAgIHwgKGhv c3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCisgczIgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMS4xICAgICB8ICho b3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAorIHMzICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAo InRucyBuYW1lIiAnb3JjbCcsIHBvcnQgJzE1MjEnKSAgfCAKKyBzNCAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwg KGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgIHwgCisgczUgICB8IHJlZ3Jlc3NfZm9y ZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTUuMCAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM2ICAgfCByZWdyZXNzX2Zv cmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyPVUvcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcit8ICAgICAgICB8IDE2LjAgICAg fCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc190ZXN0X3Jv bGUyPVUqL3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgICAgICAgfCAgICAgICAgfCAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczcgICB8IHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgMTcuMCAg ICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICB8IAotIHM4ICAgfCByZWdyZXNz X2ZvcmVpZ25fZGF0YV91c2VyIHwgcG9zdGdyZXNxbCAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAg ICAgfCAoaG9zdCAnbG9jYWxob3N0JywgZGJuYW1lICdzOGRiJykgfCAKLSB0MSAgIHwgcmVncmVz c190ZXN0X3JvbGUgICAgICAgICB8IGZvbyAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gdDIgICB8IHJlZ3Jl c3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28gICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM3ICAgfCByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8IDE3 LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgfCAKKyBzOCAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfcG9zdGdyZXNxbCAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAg ICAgICAgIHwgKGhvc3QgJ2xvY2FsaG9zdCcsIGRibmFtZSAnczhkYicpIHwgCisgdDEgICB8IHJl Z3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHQyICAgfCBy ZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8 ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKICgxMCByb3dz KQogCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKQEAgLTQzNSw3ICs0NzMsNyBAQCBHUkFO VCByZWdyZXNzX3Rlc3Rfcm9sZTIgVE8gcmVncmVzc190ZXN0X3JvbGU7CiBTRVQgUk9MRSByZWdy ZXNzX3Rlc3Rfcm9sZTsKIEFMVEVSIFNFUlZFUiBzMSBWRVJTSU9OICcxLjEnOwogQUxURVIgU0VS VkVSIHMxIE9XTkVSIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlMjsgICAgICAgICAgICAgICAgLS0gRVJS T1IKLUVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZv bworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgcmVn cmVzc19mb28KIFJFU0VUIFJPTEU7CiBBTFRFUiBTRVJWRVIgczggT1BUSU9OUyAoZm9vICcxJyk7 ICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUiBvcHRpb24gdmFsaWRhdGlvbgogRVJS T1I6ICBpbnZhbGlkIG9wdGlvbiAiZm9vIgpAQCAtNDQ4LDI5ICs0ODYsMjkgQEAgR1JBTlQgcmVn cmVzc190ZXN0X2luZGlyZWN0IFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOwogU0VUIFJPTEUgcmVncmVz c190ZXN0X3JvbGU7CiBBTFRFUiBTRVJWRVIgczEgT1dORVIgVE8gcmVncmVzc190ZXN0X2luZGly ZWN0OwogUkVTRVQgUk9MRTsKLUdSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIGZv byBUTyByZWdyZXNzX3Rlc3RfaW5kaXJlY3Q7CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEg V1JBUFBFUiByZWdyZXNzX2ZvbyBUTyByZWdyZXNzX3Rlc3RfaW5kaXJlY3Q7CiBTRVQgUk9MRSBy ZWdyZXNzX3Rlc3Rfcm9sZTsKIEFMVEVSIFNFUlZFUiBzMSBPV05FUiBUTyByZWdyZXNzX3Rlc3Rf aW5kaXJlY3Q7CiBSRVNFVCBST0xFOwogRFJPUCBST0xFIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgcm9sZSAicmVncmVz c190ZXN0X2luZGlyZWN0IiBjYW5ub3QgYmUgZHJvcHBlZCBiZWNhdXNlIHNvbWUgb2JqZWN0cyBk ZXBlbmQgb24gaXQKLURFVEFJTDogIHByaXZpbGVnZXMgZm9yIGZvcmVpZ24tZGF0YSB3cmFwcGVy IGZvbworREVUQUlMOiAgcHJpdmlsZWdlcyBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgcmVncmVz c19mb28KIG93bmVyIG9mIHNlcnZlciBzMQogXGRlcysKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2YgZm9yZWlnbiBzZXJ2ZXJzCiAgTmFtZSB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBGb3JlaWduLWRhdGEgd3JhcHBlciB8ICAgICAgICAgICAgICAgICAgIEFjY2VzcyBwcml2 aWxlZ2VzICAgICAgICAgICAgICAgICAgIHwgIFR5cGUgIHwgVmVyc2lvbiB8ICAgICAgICAgICAg IEZEVyBvcHRpb25zICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uIAogLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0K LSBzMSAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IGZvbyAgICAgICAgICAgICAgICAg IHwgcmVncmVzc190ZXN0X2luZGlyZWN0PVUvcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICAgICAg fCAgICAgICAgfCAxLjEgICAgIHwgKHNlcnZlcm5hbWUgJ3MxJykgICAgICAgICAgICAgICAgICAg IHwgCi0gczIgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgIHwgMS4xICAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAg ICAgICB8IAotIHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAoInRucyBuYW1lIiAnb3JjbCcsIHBvcnQgJzE1 MjEnKSAgICAgfCAKLSBzNCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAg ICAgICAgICAgICAgIHwgCi0gczUgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28g ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTUuMCAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IAotIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg Zm9vICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyPVUvcmVncmVz c19mb3JlaWduX2RhdGFfdXNlcit8ICAgICAgICB8IDE2LjAgICAgfCAoaG9zdCAnYScsIGRibmFt ZSAnYicpICAgICAgICAgICAgICAgfCAKKyBzMSAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAg ICB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0PVUvcmVncmVz c190ZXN0X2luZGlyZWN0ICAgICAgICAgfCAgICAgICAgfCAxLjEgICAgIHwgKHNlcnZlcm5hbWUg J3MxJykgICAgICAgICAgICAgICAgICAgIHwgCisgczIgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRh X3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMS4xICAgICB8IChob3N0ICdh JywgZGJuYW1lICdiJykgICAgICAgICAgICAgICB8IAorIHMzICAgfCByZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSB8ICAgICAgICAgfCAoInRu cyBuYW1lIiAnb3JjbCcsIHBvcnQgJzE1MjEnKSAgICAgfCAKKyBzNCAgIHwgcmVncmVzc19mb3Jl aWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwg KGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgICAgIHwgCisgczUgICB8IHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgMTUuMCAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAorIHM2ICAgfCByZWdy ZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCByZWdyZXNzX2Zv cmVpZ25fZGF0YV91c2VyPVUvcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcit8ICAgICAgICB8IDE2 LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgICAgfCAKICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVz c190ZXN0X3JvbGUyPVUqL3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgICAgICAgfCAgICAgICAg fCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczcg ICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3Jh Y2xlIHwgMTcuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICAgICB8IAot IHM4ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcG9zdGdyZXNxbCAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICB8ICAgICAgICAgfCAoZGJuYW1lICdkYjEnLCBjb25uZWN0X3RpbWVvdXQgJzMwJykg fCAKLSB0MSAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAgICB8IGZvbyAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgCi0gdDIgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28gICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IAorIHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19m b28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IG9yYWNsZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAg ICAgICAgICAgICAgfCAKKyBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jl c3NfcG9zdGdyZXNxbCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGRibmFtZSAnZGIxJywgY29ubmVj dF90aW1lb3V0ICczMCcpIHwgCisgdDEgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBy ZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IAorIHQyICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAg IHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAKICgxMCByb3dzKQogCiBBTFRFUiBTRVJWRVIgczgg UkVOQU1FIHRvIHM4bmV3OwpAQCAtNDc4LDE3ICs1MTYsMTcgQEAgQUxURVIgU0VSVkVSIHM4IFJF TkFNRSB0byBzOG5ldzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbiBz ZXJ2ZXJzCiAgTmFtZSAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRm9yZWlnbi1kYXRh IHdyYXBwZXIgfCAgICAgICAgICAgICAgICAgICBBY2Nlc3MgcHJpdmlsZWdlcyAgICAgICAgICAg ICAgICAgICB8ICBUeXBlICB8IFZlcnNpb24gfCAgICAgICAgICAgICBGRFcgb3B0aW9ucyAgICAg ICAgICAgICAgfCBEZXNjcmlwdGlvbiAKIC0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHMxICAgIHwgcmVncmVz c190ZXN0X2luZGlyZWN0ICAgICB8IGZvbyAgICAgICAgICAgICAgICAgIHwgcmVncmVzc190ZXN0 X2luZGlyZWN0PVUvcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICAgICAgfCAgICAgICAgfCAxLjEg ICAgIHwgKHNlcnZlcm5hbWUgJ3MxJykgICAgICAgICAgICAgICAgICAgIHwgCi0gczIgICAgfCBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8 IDEuMSAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgICAgfCAKLSBzMyAg ICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3Jh Y2xlIHwgICAgICAgICB8ICgidG5zIG5hbWUiICdvcmNsJywgcG9ydCAnMTUyMScpICAgICB8IAot IHM0ICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbyAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBvcmFjbGUgfCAgICAgICAgIHwgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgICAg IHwgCi0gczUgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgICAgICB8IDE1LjAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAKLSBzNiAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28gICAgICAg ICAgICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXI9VS9yZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyK3wgICAgICAgIHwgMTYuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAg ICAgICAgICAgICB8IAorIHMxICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jl c3NfZm9vICAgICAgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0PVUvcmVncmVzc190ZXN0X2lu ZGlyZWN0ICAgICAgICAgfCAgICAgICAgfCAxLjEgICAgIHwgKHNlcnZlcm5hbWUgJ3MxJykgICAg ICAgICAgICAgICAgICAgIHwgCisgczIgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwg cmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDEuMSAgICAgfCAoaG9zdCAnYScsIGRibmFt ZSAnYicpICAgICAgICAgICAgICAgfCAKKyBzMyAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3JhY2xlIHwgICAgICAgICB8ICgidG5zIG5hbWUi ICdvcmNsJywgcG9ydCAnMTUyMScpICAgICB8IAorIHM0ICAgIHwgcmVncmVzc19mb3JlaWduX2Rh dGFfdXNlciB8IHJlZ3Jlc3NfZm9vICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvcmFjbGUgfCAgICAgICAgIHwgKGhvc3Qg J2EnLCBkYm5hbWUgJ2InKSAgICAgICAgICAgICAgIHwgCisgczUgICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8IDE1LjAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBzNiAgICB8IHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXI9VS9yZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyK3wgICAgICAgIHwgMTYuMCAg ICB8IChob3N0ICdhJywgZGJuYW1lICdiJykgICAgICAgICAgICAgICB8IAogICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc190 ZXN0X3JvbGUyPVUqL3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgICAgICAgfCAgICAgICAgfCAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCi0gczcgICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNs ZSB8IDE3LjAgICAgfCAoaG9zdCAnYScsIGRibmFtZSAnYicpICAgICAgICAgICAgICAgfCAKLSBz OG5ldyB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBwb3N0Z3Jlc3FsICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgIHwgICAgICAgICB8IChkYm5hbWUgJ2RiMScsIGNvbm5lY3RfdGltZW91dCAnMzAnKSB8 IAotIHQxICAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAgICB8IGZvbyAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgCi0gdDIgICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgZm9vICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAKKyBzNyAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNz X2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgb3JhY2xlIHwgMTcuMCAgICB8IChob3N0ICdhJywgZGJuYW1lICdiJykg ICAgICAgICAgICAgICB8IAorIHM4bmV3IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJl Z3Jlc3NfcG9zdGdyZXNxbCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgIHwgKGRibmFtZSAnZGIxJywgY29u bmVjdF90aW1lb3V0ICczMCcpIHwgCisgdDEgICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAg IHwgcmVncmVzc19mb28gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyB0MiAgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAg ICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAogKDEwIHJvd3MpCiAKIEFMVEVSIFNFUlZF UiBzOG5ldyBSRU5BTUUgdG8gczg7CkBAIC01MDEsMTYgKzUzOSwxNiBAQCBOT1RJQ0U6ICBzZXJ2 ZXIgIm5vbmV4aXN0ZW50IiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcKICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBmb3JlaWduIHNlcnZlcnMKICBOYW1lIHwgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEZvcmVpZ24tZGF0YSB3cmFwcGVyIAogLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gczEgICB8IHJlZ3Jlc3NfdGVzdF9pbmRp cmVjdCAgICAgfCBmb28KLSBzMiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbwot IHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczQgICB8IHJlZ3Jlc3Nf Zm9yZWlnbl9kYXRhX3VzZXIgfCBmb28KLSBzNSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNl ciB8IGZvbwotIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczcgICB8 IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28KLSBzOCAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IHBvc3RncmVzcWwKLSB0MSAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAg ICB8IGZvbwotIHQyICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgZm9vCisgczEgICB8 IHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdCAgICAgfCByZWdyZXNzX2ZvbworIHMyICAgfCByZWdyZXNz X2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzMyAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vCisgczQgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCByZWdyZXNzX2ZvbworIHM1ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVn cmVzc19mb28KKyBzNiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9v CisgczcgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbworIHM4ICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19wb3N0Z3Jlc3FsCisgdDEgICB8 IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCByZWdyZXNzX2ZvbworIHQyICAgfCByZWdyZXNz X3Rlc3Rfcm9sZSAgICAgICAgIHwgcmVncmVzc19mb28KICgxMCByb3dzKQogCiBTRVQgUk9MRSBy ZWdyZXNzX3Rlc3Rfcm9sZTsKQEAgLTUyMiwxNSArNTYwLDE1IEBAIFJFU0VUIFJPTEU7CiAgICAg ICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbiBzZXJ2ZXJzCiAgTmFtZSB8ICAgICAgICAgICBP d25lciAgICAgICAgICAgfCBGb3JlaWduLWRhdGEgd3JhcHBlciAKIC0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHMyICAgfCByZWdyZXNz X2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3Vz ZXIgfCBmb28KLSBzNCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZvbwotIHM1ICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczYgICB8IHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCBmb28KLSBzNyAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IGZv bwotIHM4ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcG9zdGdyZXNxbAotIHQxICAg fCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgIHwgZm9vCi0gdDIgICB8IHJlZ3Jlc3NfdGVzdF9y b2xlICAgICAgICAgfCBmb28KKyBzMiAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJl Z3Jlc3NfZm9vCisgczMgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2Zv bworIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzNSAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vCisgczYgICB8IHJlZ3Jl c3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbworIHM3ICAgfCByZWdyZXNzX2ZvcmVp Z25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzOCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IHJlZ3Jlc3NfcG9zdGdyZXNxbAorIHQxICAgfCByZWdyZXNzX3Rlc3Rfcm9sZSAgICAg ICAgIHwgcmVncmVzc19mb28KKyB0MiAgIHwgcmVncmVzc190ZXN0X3JvbGUgICAgICAgICB8IHJl Z3Jlc3NfZm9vCiAoOSByb3dzKQogCiBBTFRFUiBTRVJWRVIgczIgT1dORVIgVE8gcmVncmVzc190 ZXN0X3JvbGU7CkBAIC01NDEsMTQgKzU3OSwxNCBAQCBSRVNFVCBST0xFOwogICAgICAgICAgICAg ICAgICBMaXN0IG9mIGZvcmVpZ24gc2VydmVycwogIE5hbWUgfCAgICAgICAgICAgT3duZXIgICAg ICAgICAgIHwgRm9yZWlnbi1kYXRhIHdyYXBwZXIgCiAtLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzMyAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IGZvbwotIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9v Ci0gczUgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28KLSBzNiAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IGZvbwotIHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgZm9vCi0gczggICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBwb3N0Z3Jlc3Fs Ci0gdDEgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28KLSB0MiAgIHwgcmVncmVz c190ZXN0X3JvbGUgICAgICAgICB8IGZvbworIHMzICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91 c2VyIHwgcmVncmVzc19mb28KKyBzNCAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJl Z3Jlc3NfZm9vCisgczUgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2Zv bworIHM2ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzNyAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9vCisgczggICB8IHJlZ3Jl c3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX3Bvc3RncmVzcWwKKyB0MSAgIHwgcmVncmVz c190ZXN0X3JvbGUgICAgICAgICB8IHJlZ3Jlc3NfZm9vCisgdDIgICB8IHJlZ3Jlc3NfdGVzdF9y b2xlICAgICAgICAgfCByZWdyZXNzX2ZvbwogKDggcm93cykKIAogQ1JFQVRFIFVTRVIgTUFQUElO RyBGT1IgY3VycmVudF91c2VyIFNFUlZFUiBzMzsKQEAgLTU2OSwxMyArNjA3LDEzIEBAIE5PVElD RTogIGRyb3AgY2FzY2FkZXMgdG8gdXNlciBtYXBwaW5nIGZvciByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIG9uIHNlcnZlciBzCiAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZm9yZWlnbiBzZXJ2 ZXJzCiAgTmFtZSB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBGb3JlaWduLWRhdGEgd3Jh cHBlciAKIC0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQotIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9vCi0gczUgICB8 IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBmb28KLSBzNiAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IGZvbwotIHM3ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgZm9v Ci0gczggICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCBwb3N0Z3Jlc3FsCi0gdDEgICB8 IHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAgfCBmb28KLSB0MiAgIHwgcmVncmVzc190ZXN0X3Jv bGUgICAgICAgICB8IGZvbworIHM0ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVn cmVzc19mb28KKyBzNSAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9v CisgczYgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX2ZvbworIHM3ICAg fCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb28KKyBzOCAgIHwgcmVncmVz c19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfcG9zdGdyZXNxbAorIHQxICAgfCByZWdyZXNz X3Rlc3Rfcm9sZSAgICAgICAgIHwgcmVncmVzc19mb28KKyB0MiAgIHwgcmVncmVzc190ZXN0X3Jv bGUgICAgICAgICB8IHJlZ3Jlc3NfZm9vCiAoNyByb3dzKQogCiBcZGV1CkBAIC02OTAsNyArNzI4 LDcgQEAgRFJPUCBTRVJWRVIgczc7CiAKIC0tIENSRUFURSBGT1JFSUdOIFRBQkxFCiBDUkVBVEUg U0NIRU1BIGZvcmVpZ25fc2NoZW1hOwotQ1JFQVRFIFNFUlZFUiBzMCBGT1JFSUdOIERBVEEgV1JB UFBFUiBkdW1teTsKK0NSRUFURSBTRVJWRVIgczAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVz c19kdW1teTsKIENSRUFURSBGT1JFSUdOIFRBQkxFIGZ0MSAoKTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBzeW50YXggZXJyb3IgYXQgb3IgbmVh ciAiOyIKIExJTkUgMTogQ1JFQVRFIEZPUkVJR04gVEFCTEUgZnQxICgpOwpAQCAtNzU4LDkgKzc5 Niw5IEBAIENSRUFURSBJTkRFWCBpZF9mdDFfYzIgT04gZnQxIChjMik7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBjYW5ub3QgY3JlYXRlIGluZGV4IG9uIHJl bGF0aW9uICJmdDEiCiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZv ciBmb3JlaWduIHRhYmxlcy4KIFNFTEVDVCAqIEZST00gZnQxOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgotRVJST1I6ICBmb3JlaWduLWRhdGEg d3JhcHBlciAiZHVtbXkiIGhhcyBubyBoYW5kbGVyCitFUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFw cGVyICJyZWdyZXNzX2R1bW15IiBoYXMgbm8gaGFuZGxlcgogRVhQTEFJTiBTRUxFQ1QgKiBGUk9N IGZ0MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1FUlJP UjogIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJkdW1teSIgaGFzIG5vIGhhbmRsZXIKK0VSUk9SOiAg Zm9yZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZHVtbXkiIGhhcyBubyBoYW5kbGVyCiBDUkVB VEUgVEFCTEUgbHQxIChhIElOVCkgUEFSVElUSU9OIEJZIFJBTkdFIChhKTsKIENSRUFURSBGT1JF SUdOIFRBQkxFIGZ0X3BhcnQxCiAgIFBBUlRJVElPTiBPRiBsdDEgRk9SIFZBTFVFUyBGUk9NICgw KSBUTyAoMTAwMCkgU0VSVkVSIHMwOwpAQCAtOTY2LDMwICsxMDA0LDMwIEBAIE5PVElDRTogIHJl bGF0aW9uICJkb2VzbnRfZXhpc3RfZnQxIiBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcKIEFMVEVS IEZPUkVJR04gVEFCTEUgSUYgRVhJU1RTIGRvZXNudF9leGlzdF9mdDEgUkVOQU1FIFRPIGZvcmVp Z25fdGFibGVfMTsKIE5PVElDRTogIHJlbGF0aW9uICJkb2VzbnRfZXhpc3RfZnQxIiBkb2VzIG5v dCBleGlzdCwgc2tpcHBpbmcKIC0tIEluZm9ybWF0aW9uIHNjaGVtYQotU0VMRUNUICogRlJPTSBp bmZvcm1hdGlvbl9zY2hlbWEuZm9yZWlnbl9kYXRhX3dyYXBwZXJzIE9SREVSIEJZIDEsIDI7CitT RUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5mb3JlaWduX2RhdGFfd3JhcHBlcnMgV0hF UkUgYXV0aG9yaXphdGlvbl9pZGVudGlmaWVyID0gJ3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIn IE9SREVSIEJZIDEsIDI7CiAgZm9yZWlnbl9kYXRhX3dyYXBwZXJfY2F0YWxvZyB8IGZvcmVpZ25f ZGF0YV93cmFwcGVyX25hbWUgfCBhdXRob3JpemF0aW9uX2lkZW50aWZpZXIgIHwgbGlicmFyeV9u YW1lIHwgZm9yZWlnbl9kYXRhX3dyYXBwZXJfbGFuZ3VhZ2UgCiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IGR1bW15ICAgICAgICAgICAgICAgICAg ICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgICAgICAgICAgICAgIHwgYwotIHJlZ3Jl c3Npb24gICAgICAgICAgICAgICAgICAgfCBmb28gICAgICAgICAgICAgICAgICAgICAgIHwgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8ICAgICAgICAgICAgICB8IGMKLSByZWdyZXNzaW9uICAg ICAgICAgICAgICAgICAgIHwgcG9zdGdyZXNxbCAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfZm9y ZWlnbl9kYXRhX3VzZXIgfCAgICAgICAgICAgICAgfCBjCisgcmVncmVzc2lvbiAgICAgICAgICAg ICAgICAgICB8IHJlZ3Jlc3NfZHVtbXkgICAgICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIHwgICAgICAgICAgICAgIHwgYworIHJlZ3Jlc3Npb24gICAgICAgICAgICAgICAgICAg fCByZWdyZXNzX2ZvbyAgICAgICAgICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlciB8 ICAgICAgICAgICAgICB8IGMKKyByZWdyZXNzaW9uICAgICAgICAgICAgICAgICAgIHwgcmVncmVz c19wb3N0Z3Jlc3FsICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCAgICAgICAg ICAgICAgfCBjCiAoMyByb3dzKQogCiBTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5m b3JlaWduX2RhdGFfd3JhcHBlcl9vcHRpb25zIE9SREVSIEJZIDEsIDIsIDM7CiAgZm9yZWlnbl9k YXRhX3dyYXBwZXJfY2F0YWxvZyB8IGZvcmVpZ25fZGF0YV93cmFwcGVyX25hbWUgfCBvcHRpb25f bmFtZSAgfCBvcHRpb25fdmFsdWUgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tCi0g cmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IGZvbyAgICAgICAgICAgICAgICAgICAgICAg fCB0ZXN0IHdyYXBwZXIgfCB0cnVlCisgcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IHJl Z3Jlc3NfZm9vICAgICAgICAgICAgICAgfCB0ZXN0IHdyYXBwZXIgfCB0cnVlCiAoMSByb3cpCiAK IFNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLmZvcmVpZ25fc2VydmVycyBPUkRFUiBC WSAxLCAyOwogIGZvcmVpZ25fc2VydmVyX2NhdGFsb2cgfCBmb3JlaWduX3NlcnZlcl9uYW1lIHwg Zm9yZWlnbl9kYXRhX3dyYXBwZXJfY2F0YWxvZyB8IGZvcmVpZ25fZGF0YV93cmFwcGVyX25hbWUg fCBmb3JlaWduX3NlcnZlcl90eXBlIHwgZm9yZWlnbl9zZXJ2ZXJfdmVyc2lvbiB8IGF1dGhvcml6 YXRpb25faWRlbnRpZmllciAgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzaW9uICAgICAgICAgICAgIHwg czAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3Npb24gICAgICAgICAgICAgICAgICAgfCBkdW1t eSAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgfCByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyCi0gcmVncmVzc2lvbiAgICAg ICAgICAgICB8IHM0ICAgICAgICAgICAgICAgICAgfCByZWdyZXNzaW9uICAgICAgICAgICAgICAg ICAgIHwgZm9vICAgICAgICAgICAgICAgICAgICAgICB8IG9yYWNsZSAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcgotIHJlZ3Jl c3Npb24gICAgICAgICAgICAgfCBzNSAgICAgICAgICAgICAgICAgIHwgcmVncmVzc2lvbiAgICAg ICAgICAgICAgICAgICB8IGZvbyAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgIHwgMTUuMCAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfdGVzdF9yb2xlCi0gcmVn cmVzc2lvbiAgICAgICAgICAgICB8IHM2ICAgICAgICAgICAgICAgICAgfCByZWdyZXNzaW9uICAg ICAgICAgICAgICAgICAgIHwgZm9vICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgfCAxNi4wICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0 Ci0gcmVncmVzc2lvbiAgICAgICAgICAgICB8IHM4ICAgICAgICAgICAgICAgICAgfCByZWdyZXNz aW9uICAgICAgICAgICAgICAgICAgIHwgcG9zdGdyZXNxbCAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlcgotIHJlZ3Jlc3Npb24gICAgICAgICAgICAgfCB0MSAgICAgICAgICAgICAgICAg IHwgcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IGZvbyAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHJlZ3Jl c3NfdGVzdF9pbmRpcmVjdAotIHJlZ3Jlc3Npb24gICAgICAgICAgICAgfCB0MiAgICAgICAgICAg ICAgICAgIHwgcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IGZvbyAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8 IHJlZ3Jlc3NfdGVzdF9yb2xlCisgcmVncmVzc2lvbiAgICAgICAgICAgICB8IHMwICAgICAgICAg ICAgICAgICAgfCByZWdyZXNzaW9uICAgICAgICAgICAgICAgICAgIHwgcmVncmVzc19kdW1teSAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg IHwgcmVncmVzc19mb3JlaWduX2RhdGFfdXNlcgorIHJlZ3Jlc3Npb24gICAgICAgICAgICAgfCBz NCAgICAgICAgICAgICAgICAgIHwgcmVncmVzc2lvbiAgICAgICAgICAgICAgICAgICB8IHJlZ3Jl c3NfZm9vICAgICAgICAgICAgICAgfCBvcmFjbGUgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIKKyByZWdyZXNzaW9uICAgICAg ICAgICAgIHwgczUgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3Npb24gICAgICAgICAgICAgICAg ICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8IDE1 LjAgICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX3Rlc3Rfcm9sZQorIHJlZ3Jlc3Npb24gICAg ICAgICAgICAgfCBzNiAgICAgICAgICAgICAgICAgIHwgcmVncmVzc2lvbiAgICAgICAgICAgICAg ICAgICB8IHJlZ3Jlc3NfZm9vICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwg MTYuMCAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdAorIHJlZ3Jlc3Np b24gICAgICAgICAgICAgfCBzOCAgICAgICAgICAgICAgICAgIHwgcmVncmVzc2lvbiAgICAgICAg ICAgICAgICAgICB8IHJlZ3Jlc3NfcG9zdGdyZXNxbCAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIK KyByZWdyZXNzaW9uICAgICAgICAgICAgIHwgdDEgICAgICAgICAgICAgICAgICB8IHJlZ3Jlc3Np b24gICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX3Rlc3RfaW5k aXJlY3QKKyByZWdyZXNzaW9uICAgICAgICAgICAgIHwgdDIgICAgICAgICAgICAgICAgICB8IHJl Z3Jlc3Npb24gICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvbyAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCByZWdyZXNzX3Rl c3Rfcm9sZQogKDcgcm93cykKIAogU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuZm9y ZWlnbl9zZXJ2ZXJfb3B0aW9ucyBPUkRFUiBCWSAxLCAyLCAzOwpAQCAtMTAyOCwyMCArMTA2Niwy MCBAQCBTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS51c2VyX21hcHBpbmdfb3B0aW9u cyBPUkRFUiBCWSBsb3dlcihhdXRob3JpemF0aQogIHJlZ3Jlc3NfdGVzdF9yb2xlICAgICAgICAg fCByZWdyZXNzaW9uICAgICAgICAgICAgIHwgdDEgICAgICAgICAgICAgICAgICB8IHVzZXJuYW1l ICAgICB8IGJvYgogKDcgcm93cykKIAotU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEu dXNhZ2VfcHJpdmlsZWdlcyBXSEVSRSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9i amVjdF9uYW1lIElOICgnczYnLCAnZm9vJykgT1JERVIgQlkgMSwgMiwgMywgNCwgNTsKK1NFTEVD VCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnVzYWdlX3ByaXZpbGVnZXMgV0hFUkUgb2JqZWN0 X3R5cGUgTElLRSAnRk9SRUlHTiUnIEFORCBvYmplY3RfbmFtZSBJTiAoJ3M2JywgJ3JlZ3Jlc3Nf Zm9vJykgT1JERVIgQlkgMSwgMiwgMywgNCwgNTsKICAgICAgICAgICBncmFudG9yICAgICAgICAg IHwgICAgICAgICAgZ3JhbnRlZSAgICAgICAgICB8IG9iamVjdF9jYXRhbG9nIHwgb2JqZWN0X3Nj aGVtYSB8IG9iamVjdF9uYW1lIHwgICAgIG9iamVjdF90eXBlICAgICAgfCBwcml2aWxlZ2VfdHlw ZSB8IGlzX2dyYW50YWJsZSAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0KLSByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19mb3JlaWduX2RhdGFf dXNlciB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IGZvbyAgICAgICAgIHwgRk9S RUlHTiBEQVRBIFdSQVBQRVIgfCBVU0FHRSAgICAgICAgICB8IFlFUwotIHJlZ3Jlc3NfZm9yZWln bl9kYXRhX3VzZXIgfCByZWdyZXNzX3Rlc3RfaW5kaXJlY3QgICAgIHwgcmVncmVzc2lvbiAgICAg fCAgICAgICAgICAgICAgIHwgZm9vICAgICAgICAgfCBGT1JFSUdOIERBVEEgV1JBUFBFUiB8IFVT QUdFICAgICAgICAgIHwgTk8KKyByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc19m b3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IHJlZ3Jl c3NfZm9vIHwgRk9SRUlHTiBEQVRBIFdSQVBQRVIgfCBVU0FHRSAgICAgICAgICB8IFlFUworIHJl Z3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzX3Rlc3RfaW5kaXJlY3QgICAgIHwgcmVn cmVzc2lvbiAgICAgfCAgICAgICAgICAgICAgIHwgcmVncmVzc19mb28gfCBGT1JFSUdOIERBVEEg V1JBUFBFUiB8IFVTQUdFICAgICAgICAgIHwgTk8KICByZWdyZXNzX3Rlc3RfaW5kaXJlY3QgICAg IHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAg ICAgICB8IHM2ICAgICAgICAgIHwgRk9SRUlHTiBTRVJWRVIgICAgICAgfCBVU0FHRSAgICAgICAg ICB8IFlFUwogIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdCAgICAgfCByZWdyZXNzX3Rlc3Rfcm9sZTIg ICAgICAgIHwgcmVncmVzc2lvbiAgICAgfCAgICAgICAgICAgICAgIHwgczYgICAgICAgICAgfCBG T1JFSUdOIFNFUlZFUiAgICAgICB8IFVTQUdFICAgICAgICAgIHwgWUVTCiAoNCByb3dzKQogCi1T RUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5yb2xlX3VzYWdlX2dyYW50cyBXSEVSRSBv YmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAnZm9v JykgT1JERVIgQlkgMSwgMiwgMywgNCwgNTsKK1NFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2No ZW1hLnJvbGVfdXNhZ2VfZ3JhbnRzIFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04lJyBB TkQgb2JqZWN0X25hbWUgSU4gKCdzNicsICdyZWdyZXNzX2ZvbycpIE9SREVSIEJZIDEsIDIsIDMs IDQsIDU7CiAgICAgICAgICAgZ3JhbnRvciAgICAgICAgICB8ICAgICAgICAgIGdyYW50ZWUgICAg ICAgICAgfCBvYmplY3RfY2F0YWxvZyB8IG9iamVjdF9zY2hlbWEgfCBvYmplY3RfbmFtZSB8ICAg ICBvYmplY3RfdHlwZSAgICAgIHwgcHJpdmlsZWdlX3R5cGUgfCBpc19ncmFudGFibGUgCiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc19mb3JlaWdu X2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdyZXNzaW9uICAgICB8 ICAgICAgICAgICAgICAgfCBmb28gICAgICAgICB8IEZPUkVJR04gREFUQSBXUkFQUEVSIHwgVVNB R0UgICAgICAgICAgfCBZRVMKLSByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc190 ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IGZvbyAg ICAgICAgIHwgRk9SRUlHTiBEQVRBIFdSQVBQRVIgfCBVU0FHRSAgICAgICAgICB8IE5PCisgcmVn cmVzc19mb3JlaWduX2RhdGFfdXNlciB8IHJlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXIgfCByZWdy ZXNzaW9uICAgICB8ICAgICAgICAgICAgICAgfCByZWdyZXNzX2ZvbyB8IEZPUkVJR04gREFUQSBX UkFQUEVSIHwgVVNBR0UgICAgICAgICAgfCBZRVMKKyByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2Vy IHwgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAg ICAgICB8IHJlZ3Jlc3NfZm9vIHwgRk9SRUlHTiBEQVRBIFdSQVBQRVIgfCBVU0FHRSAgICAgICAg ICB8IE5PCiAgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3NfdGVzdF9pbmRpcmVj dCAgICAgfCByZWdyZXNzaW9uICAgICB8ICAgICAgICAgICAgICAgfCBzNiAgICAgICAgICB8IEZP UkVJR04gU0VSVkVSICAgICAgIHwgVVNBR0UgICAgICAgICAgfCBZRVMKICByZWdyZXNzX3Rlc3Rf aW5kaXJlY3QgICAgIHwgcmVncmVzc190ZXN0X3JvbGUyICAgICAgICB8IHJlZ3Jlc3Npb24gICAg IHwgICAgICAgICAgICAgICB8IHM2ICAgICAgICAgIHwgRk9SRUlHTiBTRVJWRVIgICAgICAgfCBV U0FHRSAgICAgICAgICB8IFlFUwogKDQgcm93cykKQEAgLTEwNzEsMTggKzExMDksMTggQEAgU0VM RUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNlcl9tYXBwaW5nX29wdGlvbnMgT1JERVIg QlkgMSwgMiwgMywgNDsKICByZWdyZXNzX3Rlc3Rfcm9sZSAgICAgICAgfCByZWdyZXNzaW9uICAg ICAgICAgICAgIHwgdDEgICAgICAgICAgICAgICAgICB8IHVzZXJuYW1lICAgIHwgYm9iCiAoNSBy b3dzKQogCi1TRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS51c2FnZV9wcml2aWxlZ2Vz IFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04lJyBBTkQgb2JqZWN0X25hbWUgSU4gKCdz NicsICdmb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1OworU0VMRUNUICogRlJPTSBpbmZvcm1h dGlvbl9zY2hlbWEudXNhZ2VfcHJpdmlsZWdlcyBXSEVSRSBvYmplY3RfdHlwZSBMSUtFICdGT1JF SUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAncmVncmVzc19mb28nKSBPUkRFUiBCWSAx LCAyLCAzLCA0LCA1OwogICAgICAgICAgIGdyYW50b3IgICAgICAgICAgfCAgICAgICAgZ3JhbnRl ZSAgICAgICAgfCBvYmplY3RfY2F0YWxvZyB8IG9iamVjdF9zY2hlbWEgfCBvYmplY3RfbmFtZSB8 ICAgICBvYmplY3RfdHlwZSAgICAgIHwgcHJpdmlsZWdlX3R5cGUgfCBpc19ncmFudGFibGUgCiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX2ZvcmVpZ25f ZGF0YV91c2VyIHwgcmVncmVzc190ZXN0X2luZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAg ICAgICAgICAgIHwgZm9vICAgICAgICAgfCBGT1JFSUdOIERBVEEgV1JBUFBFUiB8IFVTQUdFICAg ICAgICAgIHwgTk8KKyByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc190ZXN0X2lu ZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAgICAgICAgICAgIHwgcmVncmVzc19mb28gfCBG T1JFSUdOIERBVEEgV1JBUFBFUiB8IFVTQUdFICAgICAgICAgIHwgTk8KICByZWdyZXNzX3Rlc3Rf aW5kaXJlY3QgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAg ICAgICAgICAgICAgIHwgczYgICAgICAgICAgfCBGT1JFSUdOIFNFUlZFUiAgICAgICB8IFVTQUdF ICAgICAgICAgIHwgWUVTCiAgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3NfdGVz dF9yb2xlMiAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IHM2ICAgICAgICAg IHwgRk9SRUlHTiBTRVJWRVIgICAgICAgfCBVU0FHRSAgICAgICAgICB8IFlFUwogKDMgcm93cykK IAotU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEucm9sZV91c2FnZV9ncmFudHMgV0hF UkUgb2JqZWN0X3R5cGUgTElLRSAnRk9SRUlHTiUnIEFORCBvYmplY3RfbmFtZSBJTiAoJ3M2Jywg J2ZvbycpIE9SREVSIEJZIDEsIDIsIDMsIDQsIDU7CitTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9u X3NjaGVtYS5yb2xlX3VzYWdlX2dyYW50cyBXSEVSRSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdO JScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAncmVncmVzc19mb28nKSBPUkRFUiBCWSAxLCAy LCAzLCA0LCA1OwogICAgICAgICAgIGdyYW50b3IgICAgICAgICAgfCAgICAgICAgZ3JhbnRlZSAg ICAgICAgfCBvYmplY3RfY2F0YWxvZyB8IG9iamVjdF9zY2hlbWEgfCBvYmplY3RfbmFtZSB8ICAg ICBvYmplY3RfdHlwZSAgICAgIHwgcHJpdmlsZWdlX3R5cGUgfCBpc19ncmFudGFibGUgCiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX2ZvcmVpZ25fZGF0 YV91c2VyIHwgcmVncmVzc190ZXN0X2luZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAgICAg ICAgICAgIHwgZm9vICAgICAgICAgfCBGT1JFSUdOIERBVEEgV1JBUFBFUiB8IFVTQUdFICAgICAg ICAgIHwgTk8KKyByZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIHwgcmVncmVzc190ZXN0X2luZGly ZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAgICAgICAgICAgIHwgcmVncmVzc19mb28gfCBGT1JF SUdOIERBVEEgV1JBUFBFUiB8IFVTQUdFICAgICAgICAgIHwgTk8KICByZWdyZXNzX3Rlc3RfaW5k aXJlY3QgICAgIHwgcmVncmVzc190ZXN0X2luZGlyZWN0IHwgcmVncmVzc2lvbiAgICAgfCAgICAg ICAgICAgICAgIHwgczYgICAgICAgICAgfCBGT1JFSUdOIFNFUlZFUiAgICAgICB8IFVTQUdFICAg ICAgICAgIHwgWUVTCiAgcmVncmVzc190ZXN0X2luZGlyZWN0ICAgICB8IHJlZ3Jlc3NfdGVzdF9y b2xlMiAgICB8IHJlZ3Jlc3Npb24gICAgIHwgICAgICAgICAgICAgICB8IHM2ICAgICAgICAgIHwg Rk9SRUlHTiBTRVJWRVIgICAgICAgfCBVU0FHRSAgICAgICAgICB8IFlFUwogKDMgcm93cykKQEAg LTEwOTgsMTMgKzExMzYsMTMgQEAgU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNl cl9tYXBwaW5nX29wdGlvbnMgT1JERVIgQlkgMSwgMiwgMywgNDsKIFJFU0VUIFJPTEU7CiAtLSBo YXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlCiBTRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0 YV93cmFwcGVyX3ByaXZpbGVnZSgncmVncmVzc190ZXN0X3JvbGUnLAotICAgIChTRUxFQ1Qgb2lk IEZST00gcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIgV0hFUkUgZmR3bmFtZT0nZm9vJyksICdVU0FH RScpOworICAgIChTRUxFQ1Qgb2lkIEZST00gcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIgV0hFUkUg ZmR3bmFtZT0ncmVncmVzc19mb28nKSwgJ1VTQUdFJyk7CiAgaGFzX2ZvcmVpZ25fZGF0YV93cmFw cGVyX3ByaXZpbGVnZSAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIHQK ICgxIHJvdykKIAotU0VMRUNUIGhhc19mb3JlaWduX2RhdGFfd3JhcHBlcl9wcml2aWxlZ2UoJ3Jl Z3Jlc3NfdGVzdF9yb2xlJywgJ2ZvbycsICdVU0FHRScpOworU0VMRUNUIGhhc19mb3JlaWduX2Rh dGFfd3JhcHBlcl9wcml2aWxlZ2UoJ3JlZ3Jlc3NfdGVzdF9yb2xlJywgJ3JlZ3Jlc3NfZm9vJywg J1VTQUdFJyk7CiAgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSAKIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIHQKQEAgLTExMTIsMzQgKzExNTAsMzQgQEAg U0VMRUNUIGhhc19mb3JlaWduX2RhdGFfd3JhcHBlcl9wcml2aWxlZ2UoJ3JlZ3Jlc3NfdGVzdF9y b2xlJywgJ2ZvbycsICdVU0FHRScpOwogCiBTRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVy X3ByaXZpbGVnZSgKICAgICAoU0VMRUNUIG9pZCBGUk9NIHBnX3JvbGVzIFdIRVJFIHJvbG5hbWU9 J3JlZ3Jlc3NfdGVzdF9yb2xlJyksCi0gICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19mb3JlaWduX2Rh dGFfd3JhcHBlciBXSEVSRSBmZHduYW1lPSdmb28nKSwgJ1VTQUdFJyk7CisgICAgKFNFTEVDVCBv aWQgRlJPTSBwZ19mb3JlaWduX2RhdGFfd3JhcHBlciBXSEVSRSBmZHduYW1lPSdyZWdyZXNzX2Zv bycpLCAnVVNBR0UnKTsKICBoYXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlIAogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgdAogKDEgcm93KQogCiBTRUxFQ1Qg aGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgKLSAgICAoU0VMRUNUIG9pZCBGUk9N IHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25hbWU9J2ZvbycpLCAnVVNBR0UnKTsK KyAgICAoU0VMRUNUIG9pZCBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25h bWU9J3JlZ3Jlc3NfZm9vJyksICdVU0FHRScpOwogIGhhc19mb3JlaWduX2RhdGFfd3JhcHBlcl9w cml2aWxlZ2UgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICB0CiAoMSBy b3cpCiAKIFNFTEVDVCBoYXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlKAotICAgIChT RUxFQ1Qgb2lkIEZST00gcGdfcm9sZXMgV0hFUkUgcm9sbmFtZT0ncmVncmVzc190ZXN0X3JvbGUn KSwgJ2ZvbycsICdVU0FHRScpOworICAgIChTRUxFQ1Qgb2lkIEZST00gcGdfcm9sZXMgV0hFUkUg cm9sbmFtZT0ncmVncmVzc190ZXN0X3JvbGUnKSwgJ3JlZ3Jlc3NfZm9vJywgJ1VTQUdFJyk7CiAg aGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSAKIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogIHQKICgxIHJvdykKIAotU0VMRUNUIGhhc19mb3JlaWduX2RhdGFf d3JhcHBlcl9wcml2aWxlZ2UoJ2ZvbycsICdVU0FHRScpOworU0VMRUNUIGhhc19mb3JlaWduX2Rh dGFfd3JhcHBlcl9wcml2aWxlZ2UoJ3JlZ3Jlc3NfZm9vJywgJ1VTQUdFJyk7CiAgaGFzX2ZvcmVp Z25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogIHQKICgxIHJvdykKIAotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQ RVIgZm9vIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOwotU0VMRUNUIGhhc19mb3JlaWduX2RhdGFfd3Jh cHBlcl9wcml2aWxlZ2UoJ3JlZ3Jlc3NfdGVzdF9yb2xlJywgJ2ZvbycsICdVU0FHRScpOworR1JB TlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVzc190 ZXN0X3JvbGU7CitTRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgncmVn cmVzc190ZXN0X3JvbGUnLCAncmVncmVzc19mb28nLCAnVVNBR0UnKTsKICBoYXNfZm9yZWlnbl9k YXRhX3dyYXBwZXJfcHJpdmlsZWdlIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgdApAQCAtMTE5OSwyNSArMTIzNywyNSBAQCBHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIFNF UlZFUiBzNCBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsKIERST1AgVVNFUiBNQVBQSU5HIEZPUiBwdWJs aWMgU0VSVkVSIHM0OwogQUxURVIgU0VSVkVSIHM2IE9QVElPTlMgKERST1AgaG9zdCwgRFJPUCBk Ym5hbWUpOwogQUxURVIgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIg czYgT1BUSU9OUyAoRFJPUCB1c2VybmFtZSk7Ci1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b28gVkFMSURBVE9SIHBvc3RncmVzcWxfZmR3X3ZhbGlkYXRvcjsKK0FMVEVSIEZPUkVJR04gREFU QSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFZBTElEQVRPUiBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3I7 CiBXQVJOSU5HOiAgY2hhbmdpbmcgdGhlIGZvcmVpZ24tZGF0YSB3cmFwcGVyIHZhbGlkYXRvciBj YW4gY2F1c2UgdGhlIG9wdGlvbnMgZm9yIGRlcGVuZGVudCBvYmplY3RzIHRvIGJlY29tZSBpbnZh bGlkCiAtLSBQcml2aWxlZ2VzCiBTRVQgUk9MRSByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOwot Q1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvb2JhcjsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0tIEVSUk9SCi1FUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIHRvIGNyZWF0ZSBmb3Jl aWduLWRhdGEgd3JhcHBlciAiZm9vYmFyIgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vYmFyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0VSUk9S OiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gY3JlYXRlIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJyZWdy ZXNzX2Zvb2JhciIKIEhJTlQ6ICBNdXN0IGJlIHN1cGVydXNlciB0byBjcmVhdGUgYSBmb3JlaWdu LWRhdGEgd3JhcHBlci4KLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChn b3RjaGEgJ3RydWUnKTsgICAgICAgICAtLSBFUlJPUgotRVJST1I6ICBwZXJtaXNzaW9uIGRlbmll ZCB0byBhbHRlciBmb3JlaWduLWRhdGEgd3JhcHBlciAiZm9vIgorQUxURVIgRk9SRUlHTiBEQVRB IFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAoZ290Y2hhICd0cnVlJyk7ICAgICAgICAgLS0g RVJST1IKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gYWx0ZXIgZm9yZWlnbi1kYXRhIHdy YXBwZXIgInJlZ3Jlc3NfZm9vIgogSElOVDogIE11c3QgYmUgc3VwZXJ1c2VyIHRvIGFsdGVyIGEg Zm9yZWlnbi1kYXRhIHdyYXBwZXIuCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1dO RVIgVE8gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsgLS0gRVJST1IKLUVSUk9SOiAgcGVybWlz c2lvbiBkZW5pZWQgdG8gY2hhbmdlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28i CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPV05FUiBUTyByZWdyZXNz X3VucHJpdmlsZWdlZF9yb2xlOyAtLSBFUlJPUgorRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCB0 byBjaGFuZ2Ugb3duZXIgb2YgZm9yZWlnbi1kYXRhIHdyYXBwZXIgInJlZ3Jlc3NfZm9vIgogSElO VDogIE11c3QgYmUgc3VwZXJ1c2VyIHRvIGNoYW5nZSBvd25lciBvZiBhIGZvcmVpZ24tZGF0YSB3 cmFwcGVyLgotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1FUlJPUjogIG11c3QgYmUgb3duZXIgb2YgZm9yZWln bi1kYXRhIHdyYXBwZXIgZm9vCi1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b28gVE8gcmVncmVzc190ZXN0X3JvbGU7ICAgLS0gRVJST1IKLUVSUk9SOiAgcGVybWlzc2lvbiBk ZW5pZWQgZm9yIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbwotQ1JFQVRFIFNFUlZFUiBzOSBGT1JF SUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1FUlJP UjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBmb3JlaWduLWRhdGEgd3JhcHBlciBmb28KK0RST1Ag Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0tIEVSUk9SCitFUlJPUjogIG11c3QgYmUgb3duZXIgb2YgZm9yZWlnbi1kYXRh IHdyYXBwZXIgcmVncmVzc19mb28KK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOyAgIC0tIEVSUk9SCitFUlJPUjogIHBl cm1pc3Npb24gZGVuaWVkIGZvciBmb3JlaWduLWRhdGEgd3JhcHBlciByZWdyZXNzX2ZvbworQ1JF QVRFIFNFUlZFUiBzOSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsgICAgICAgICAg ICAgICAgICAgICAgLS0gRVJST1IKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIGZvcmVp Z24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3NfZm9vCiBBTFRFUiBTRVJWRVIgczQgVkVSU0lPTiAnMC41 JzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgbXVz dCBiZSBvd25lciBvZiBmb3JlaWduIHNlcnZlciBzNAogQUxURVIgU0VSVkVSIHM0IE9XTkVSIFRP IHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7ICAgICAgICAgICAgIC0tIEVSUk9SCkBAIC0xMjMz LDIxICsxMjcxLDIxIEBAIEVSUk9SOiAgbXVzdCBiZSBvd25lciBvZiBmb3JlaWduIHNlcnZlciBz NgogRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3NfdGVzdF9yb2xlIFNFUlZFUiBzNjsgICAg ICAgICAgICAgIC0tIEVSUk9SCiBFUlJPUjogIG11c3QgYmUgb3duZXIgb2YgZm9yZWlnbiBzZXJ2 ZXIgczYKIFJFU0VUIFJPTEU7Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBw b3N0Z3Jlc3FsIFRPIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7Ci1HUkFOVCBVU0FHRSBPTiBG T1JFSUdOIERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZSBXSVRI IEdSQU5UIE9QVElPTjsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jl c3NfcG9zdGdyZXNxbCBUTyByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOworR1JBTlQgVVNBR0Ug T04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVzc191bnByaXZpbGVn ZWRfcm9sZSBXSVRIIEdSQU5UIE9QVElPTjsKIFNFVCBST0xFIHJlZ3Jlc3NfdW5wcml2aWxlZ2Vk X3JvbGU7Ci1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vYmFyOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLS0gRVJST1IKLUVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gY3Jl YXRlIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb29iYXIiCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdS QVBQRVIgcmVncmVzc19mb29iYXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJP UgorRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCB0byBjcmVhdGUgZm9yZWlnbi1kYXRhIHdyYXBw ZXIgInJlZ3Jlc3NfZm9vYmFyIgogSElOVDogIE11c3QgYmUgc3VwZXJ1c2VyIHRvIGNyZWF0ZSBh IGZvcmVpZ24tZGF0YSB3cmFwcGVyLgotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9Q VElPTlMgKGdvdGNoYSAndHJ1ZScpOyAgICAgICAgIC0tIEVSUk9SCi1FUlJPUjogIHBlcm1pc3Np b24gZGVuaWVkIHRvIGFsdGVyIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28iCitBTFRFUiBGT1JF SUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChnb3RjaGEgJ3RydWUnKTsgICAg ICAgICAtLSBFUlJPUgorRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCB0byBhbHRlciBmb3JlaWdu LWRhdGEgd3JhcHBlciAicmVncmVzc19mb28iCiBISU5UOiAgTXVzdCBiZSBzdXBlcnVzZXIgdG8g YWx0ZXIgYSBmb3JlaWduLWRhdGEgd3JhcHBlci4KLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIg Zm9vOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgotRVJST1I6ICBt dXN0IGJlIG93bmVyIG9mIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbwotR1JBTlQgVVNBR0UgT04g Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsgLS0g V0FSTklORwotV0FSTklORzogIG5vIHByaXZpbGVnZXMgd2VyZSBncmFudGVkIGZvciAicG9zdGdy ZXNxbCIKLUdSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBUTyByZWdyZXNz X3Rlc3Rfcm9sZTsKLUNSRUFURSBTRVJWRVIgczkgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdy ZXNxbDsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCitFUlJPUjogIG11c3QgYmUgb3duZXIgb2Yg Zm9yZWlnbi1kYXRhIHdyYXBwZXIgcmVncmVzc19mb28KK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfcG9zdGdyZXNxbCBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsgLS0g V0FSTklORworV0FSTklORzogIG5vIHByaXZpbGVnZXMgd2VyZSBncmFudGVkIGZvciAicmVncmVz c19wb3N0Z3Jlc3FsIgorR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVz c19mb28gVE8gcmVncmVzc190ZXN0X3JvbGU7CitDUkVBVEUgU0VSVkVSIHM5IEZPUkVJR04gREFU QSBXUkFQUEVSIHJlZ3Jlc3NfcG9zdGdyZXNxbDsKIEFMVEVSIFNFUlZFUiBzNiBWRVJTSU9OICcw LjUnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogRVJST1I6ICBt dXN0IGJlIG93bmVyIG9mIGZvcmVpZ24gc2VydmVyIHM2CiBEUk9QIFNFUlZFUiBzNjsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKQEAgLTEy NjMsMTUgKzEzMDEsMTUgQEAgRVJST1I6ICBtdXN0IGJlIG93bmVyIG9mIGZvcmVpZ24gc2VydmVy IHM2CiBEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc190ZXN0X3JvbGUgU0VSVkVSIHM2OyAg ICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgbXVzdCBiZSBvd25lciBvZiBmb3JlaWduIHNl cnZlciBzNgogUkVTRVQgUk9MRTsKLVJFVk9LRSBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gRlJPTSByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOyAtLSBFUlJPUgorUkVWT0tFIFVT QUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIEZST00gcmVncmVzc191bnBy aXZpbGVnZWRfcm9sZTsgLS0gRVJST1IKIEVSUk9SOiAgZGVwZW5kZW50IHByaXZpbGVnZXMgZXhp c3QKIEhJTlQ6ICBVc2UgQ0FTQ0FERSB0byByZXZva2UgdGhlbSB0b28uCi1SRVZPS0UgVVNBR0Ug T04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIEZST00gcmVncmVzc191bnByaXZpbGVnZWRfcm9s ZSBDQVNDQURFOworUkVWT0tFIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3Nf Zm9vIEZST00gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZSBDQVNDQURFOwogU0VUIFJPTEUgcmVn cmVzc191bnByaXZpbGVnZWRfcm9sZTsKLUdSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQ UEVSIGZvbyBUTyByZWdyZXNzX3Rlc3Rfcm9sZTsgICAtLSBFUlJPUgotRVJST1I6ICBwZXJtaXNz aW9uIGRlbmllZCBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgZm9vCi1DUkVBVEUgU0VSVkVSIHMx MCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IK LUVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbwor R1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVz c190ZXN0X3JvbGU7ICAgLS0gRVJST1IKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIGZv cmVpZ24tZGF0YSB3cmFwcGVyIHJlZ3Jlc3NfZm9vCitDUkVBVEUgU0VSVkVSIHMxMCBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgor RVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgZm9yZWlnbi1kYXRhIHdyYXBwZXIgcmVncmVz c19mb28KIEFMVEVSIFNFUlZFUiBzOSBWRVJTSU9OICcxLjEnOwogR1JBTlQgVVNBR0UgT04gRk9S RUlHTiBTRVJWRVIgczkgVE8gcmVncmVzc190ZXN0X3JvbGU7CiBDUkVBVEUgVVNFUiBNQVBQSU5H IEZPUiBjdXJyZW50X3VzZXIgU0VSVkVSIHM5OwpAQCAtMTI4MCw3ICsxMzE4LDcgQEAgTk9USUNF OiAgZHJvcCBjYXNjYWRlcyB0byAyIG90aGVyIG9iamVjdHMKIERFVEFJTDogIGRyb3AgY2FzY2Fk ZXMgdG8gdXNlciBtYXBwaW5nIGZvciBwdWJsaWMgb24gc2VydmVyIHM5CiBkcm9wIGNhc2NhZGVz IHRvIHVzZXIgbWFwcGluZyBmb3IgcmVncmVzc191bnByaXZpbGVnZWRfcm9sZSBvbiBzZXJ2ZXIg czkKIFJFU0VUIFJPTEU7Ci1DUkVBVEUgU0VSVkVSIHM5IEZPUkVJR04gREFUQSBXUkFQUEVSIGZv bzsKK0NSRUFURSBTRVJWRVIgczkgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBH UkFOVCBVU0FHRSBPTiBGT1JFSUdOIFNFUlZFUiBzOSBUTyByZWdyZXNzX3VucHJpdmlsZWdlZF9y b2xlOwogU0VUIFJPTEUgcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsKIEFMVEVSIFNFUlZFUiBz OSBWRVJTSU9OICcxLjInOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJP UgpAQCAtMTI5Miw3ICsxMzMwLDcgQEAgRFJPUCBTRVJWRVIgczkgQ0FTQ0FERTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBFUlJPUjogIG11c3QgYmUg b3duZXIgb2YgZm9yZWlnbiBzZXJ2ZXIgczkKIC0tIENoZWNrIHZpc2liaWxpdHkgb2YgdXNlciBt YXBwaW5nIGRhdGEKIFNFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRFIFNFUlZFUiBz MTAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOworQ1JFQVRFIFNFUlZFUiBzMTAgRk9SRUlHTiBE QVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiBwdWJsaWMg U0VSVkVSIHMxMCBPUFRJT05TICh1c2VyICdzZWNyZXQnKTsKIENSRUFURSBVU0VSIE1BUFBJTkcg Rk9SIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGUgU0VSVkVSIHMxMCBPUFRJT05TICh1c2VyICdz ZWNyZXQnKTsKIC0tIG93bmVyIG9mIHNlcnZlciBjYW4gc2VlIHNvbWUgb3B0aW9uIGZpZWxkcwpA QCAtMTg5MCwxNCArMTkyOCwxNCBAQCBEUk9QIFRBQkxFIGZkX3B0MSBDQVNDQURFOwogTk9USUNF OiAgZHJvcCBjYXNjYWRlcyB0byBmb3JlaWduIHRhYmxlIGZ0MgogLS0gSU1QT1JUIEZPUkVJR04g U0NIRU1BCiBJTVBPUlQgRk9SRUlHTiBTQ0hFTUEgczEgRlJPTSBTRVJWRVIgczkgSU5UTyBwdWJs aWM7IC0tIEVSUk9SCi1FUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28iIGhhcyBubyBo YW5kbGVyCitFUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJyZWdyZXNzX2ZvbyIgaGFzIG5v IGhhbmRsZXIKIElNUE9SVCBGT1JFSUdOIFNDSEVNQSBzMSBMSU1JVCBUTyAodDEpIEZST00gU0VS VkVSIHM5IElOVE8gcHVibGljOyAtLUVSUk9SCi1FUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFwcGVy ICJmb28iIGhhcyBubyBoYW5kbGVyCitFUlJPUjogIGZvcmVpZ24tZGF0YSB3cmFwcGVyICJyZWdy ZXNzX2ZvbyIgaGFzIG5vIGhhbmRsZXIKIElNUE9SVCBGT1JFSUdOIFNDSEVNQSBzMSBFWENFUFQg KHQxKSBGUk9NIFNFUlZFUiBzOSBJTlRPIHB1YmxpYzsgLS0gRVJST1IKLUVSUk9SOiAgZm9yZWln bi1kYXRhIHdyYXBwZXIgImZvbyIgaGFzIG5vIGhhbmRsZXIKK0VSUk9SOiAgZm9yZWlnbi1kYXRh IHdyYXBwZXIgInJlZ3Jlc3NfZm9vIiBoYXMgbm8gaGFuZGxlcgogSU1QT1JUIEZPUkVJR04gU0NI RU1BIHMxIEVYQ0VQVCAodDEsIHQyKSBGUk9NIFNFUlZFUiBzOSBJTlRPIHB1YmxpYwogT1BUSU9O UyAob3B0aW9uMSAndmFsdWUxJywgb3B0aW9uMiAndmFsdWUyJyk7IC0tIEVSUk9SCi1FUlJPUjog IGZvcmVpZ24tZGF0YSB3cmFwcGVyICJmb28iIGhhcyBubyBoYW5kbGVyCitFUlJPUjogIGZvcmVp Z24tZGF0YSB3cmFwcGVyICJyZWdyZXNzX2ZvbyIgaGFzIG5vIGhhbmRsZXIKIC0tIERST1AgRk9S RUlHTiBUQUJMRQogRFJPUCBGT1JFSUdOIFRBQkxFIG5vX3RhYmxlOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBFUlJPUjogIGZvcmVpZ24gdGFibGUgIm5vX3Rh YmxlIiBkb2VzIG5vdCBleGlzdApAQCAtMjE1NSwxMyArMjE5MywxMyBAQCBEUk9QIFRBQkxFIHRl bXBfcGFydGVkOwogRFJPUCBTQ0hFTUEgZm9yZWlnbl9zY2hlbWEgQ0FTQ0FERTsKIERST1AgUk9M RSByZWdyZXNzX3Rlc3Rfcm9sZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVS Uk9SCiBFUlJPUjogIHJvbGUgInJlZ3Jlc3NfdGVzdF9yb2xlIiBjYW5ub3QgYmUgZHJvcHBlZCBi ZWNhdXNlIHNvbWUgb2JqZWN0cyBkZXBlbmQgb24gaXQKLURFVEFJTDogIHByaXZpbGVnZXMgZm9y IGZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvbworREVUQUlMOiAgcHJpdmlsZWdlcyBmb3IgZm9yZWln bi1kYXRhIHdyYXBwZXIgcmVncmVzc19mb28KIHByaXZpbGVnZXMgZm9yIHNlcnZlciBzNAogb3du ZXIgb2YgdXNlciBtYXBwaW5nIGZvciByZWdyZXNzX3Rlc3Rfcm9sZSBvbiBzZXJ2ZXIgczYKIERS T1AgU0VSVkVSIHQxIENBU0NBREU7CiBOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIHVzZXIgbWFw cGluZyBmb3IgcHVibGljIG9uIHNlcnZlciB0MQogRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jl c3NfdGVzdF9yb2xlIFNFUlZFUiBzNjsKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIENB U0NBREU7CitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIENBU0NBREU7CiBO T1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIDUgb3RoZXIgb2JqZWN0cwogREVUQUlMOiAgZHJvcCBj YXNjYWRlcyB0byBzZXJ2ZXIgczQKIGRyb3AgY2FzY2FkZXMgdG8gdXNlciBtYXBwaW5nIGZvciBy ZWdyZXNzX2ZvcmVpZ25fZGF0YV91c2VyIG9uIHNlcnZlciBzNApAQCAtMjE3NiwxNyArMjIxNCwx NyBAQCBEUk9QIFJPTEUgcmVncmVzc190ZXN0X2luZGlyZWN0OwogRFJPUCBST0xFIHJlZ3Jlc3Nf dGVzdF9yb2xlOwogRFJPUCBST0xFIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7ICAgICAgICAg ICAgICAgICAgICAgICAgLS0gRVJST1IKIEVSUk9SOiAgcm9sZSAicmVncmVzc191bnByaXZpbGVn ZWRfcm9sZSIgY2Fubm90IGJlIGRyb3BwZWQgYmVjYXVzZSBzb21lIG9iamVjdHMgZGVwZW5kIG9u IGl0Ci1ERVRBSUw6ICBwcml2aWxlZ2VzIGZvciBmb3JlaWduLWRhdGEgd3JhcHBlciBwb3N0Z3Jl c3FsCi1SRVZPS0UgQUxMIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHBvc3RncmVzcWwgRlJPTSBy ZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOworREVUQUlMOiAgcHJpdmlsZWdlcyBmb3IgZm9yZWln bi1kYXRhIHdyYXBwZXIgcmVncmVzc19wb3N0Z3Jlc3FsCitSRVZPS0UgQUxMIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfcG9zdGdyZXNxbCBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxlZ2Vk X3JvbGU7CiBEUk9QIFJPTEUgcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsKIERST1AgUk9MRSBy ZWdyZXNzX3Rlc3Rfcm9sZTI7Ci1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHBvc3RncmVzcWwg Q0FTQ0FERTsKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZHVtbXkgQ0FTQ0FERTsKK0RST1Ag Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19wb3N0Z3Jlc3FsIENBU0NBREU7CitEUk9QIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZHVtbXkgQ0FTQ0FERTsKIE5PVElDRTogIGRyb3Ag Y2FzY2FkZXMgdG8gc2VydmVyIHMwCiBcYwogRFJPUCBST0xFIHJlZ3Jlc3NfZm9yZWlnbl9kYXRh X3VzZXI7CiAtLSBBdCB0aGlzIHBvaW50IHdlIHNob3VsZCBoYXZlIG5vIHdyYXBwZXJzLCBubyBz ZXJ2ZXJzLCBhbmQgbm8gbWFwcGluZ3MuCi1TRUxFQ1QgZmR3bmFtZSwgZmR3aGFuZGxlciwgZmR3 dmFsaWRhdG9yLCBmZHdvcHRpb25zIEZST00gcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXI7CitTRUxF Q1QgZmR3bmFtZSwgZmR3aGFuZGxlciwgZmR3dmFsaWRhdG9yLCBmZHdvcHRpb25zIEZST00gcGdf Zm9yZWlnbl9kYXRhX3dyYXBwZXIgV0hFUkUgZmR3bmFtZSBMSUtFICdyZWdyZXNzXyUnOwogIGZk d25hbWUgfCBmZHdoYW5kbGVyIHwgZmR3dmFsaWRhdG9yIHwgZmR3b3B0aW9ucyAKIC0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCiAoMCByb3dzKQpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yZWlnbl9kYXRhLnNxbCBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fZGF0YS5zcWwKaW5kZXggZWVmYjg2MGFkYy4uNDM0NjFkZTdm OSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yZWlnbl9kYXRhLnNxbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JlaWduX2RhdGEuc3FsCkBAIC0zMSwxNTUgKzMxLDE4 NyBAQCBDUkVBVEUgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlciBTVVBFUlVTRVI7CiBDUkVB VEUgUk9MRSByZWdyZXNzX3Rlc3RfaW5kaXJlY3Q7CiBDUkVBVEUgUk9MRSByZWdyZXNzX3VucHJp dmlsZWdlZF9yb2xlOwogCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZHVtbXk7Ci1DT01N RU5UIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIGR1bW15IElTICd1c2VsZXNzJzsKLUNSRUFURSBG T1JFSUdOIERBVEEgV1JBUFBFUiBwb3N0Z3Jlc3FsIFZBTElEQVRPUiBwb3N0Z3Jlc3FsX2Zkd192 YWxpZGF0b3I7CitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19kdW1teTsKK0NP TU1FTlQgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19kdW1teSBJUyAndXNlbGVzcyc7 CitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19wb3N0Z3Jlc3FsIFZBTElEQVRP UiBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3I7CiAKIC0tIEF0IHRoaXMgcG9pbnQgd2Ugc2hvdWxk IGhhdmUgMiBidWlsdC1pbiB3cmFwcGVycyBhbmQgbm8gc2VydmVycy4KLVNFTEVDVCBmZHduYW1l LCBmZHdoYW5kbGVyOjpyZWdwcm9jLCBmZHd2YWxpZGF0b3I6OnJlZ3Byb2MsIGZkd29wdGlvbnMg RlJPTSBwZ19mb3JlaWduX2RhdGFfd3JhcHBlciBPUkRFUiBCWSAxLCAyLCAzOworU0VMRUNUIGZk d25hbWUsIGZkd2hhbmRsZXI6OnJlZ3Byb2MsIGZkd3ZhbGlkYXRvcjo6cmVncHJvYywgZmR3b3B0 aW9ucyBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25hbWUgTElLRSAncmVn cmVzc18lJyBPUkRFUiBCWSAxLCAyLCAzOwogU0VMRUNUIHNydm5hbWUsIHNydm9wdGlvbnMgRlJP TSBwZ19mb3JlaWduX3NlcnZlcjsKIFNFTEVDVCAqIEZST00gcGdfdXNlcl9tYXBwaW5nOwogCiAt LSBDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gVkFMSURBVE9SIGJhcjsgICAgICAgICAgICAtLSBFUlJPUgotQ1JFQVRFIEZPUkVJR04g REFUQSBXUkFQUEVSIGZvbzsKLVxkZXcKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdy ZXNzX2ZvbyBWQUxJREFUT1IgYmFyOyAgICAgICAgICAgIC0tIEVSUk9SCitDUkVBVEUgRk9SRUlH TiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CitcZGV3IHJlZ3Jlc3NfKgogCi1DUkVBVEUgRk9S RUlHTiBEQVRBIFdSQVBQRVIgZm9vOyAtLSBkdXBsaWNhdGUKLURST1AgRk9SRUlHTiBEQVRBIFdS QVBQRVIgZm9vOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TICh0ZXN0 aW5nICcxJyk7Ci1cZGV3KworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9v OyAtLSBkdXBsaWNhdGUKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CitD UkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAodGVzdGluZyAn MScpOworXGRldysgcmVncmVzc18qCiAKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOwot Q1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TICh0ZXN0aW5nICcxJywgdGVz dGluZyAnMicpOyAgIC0tIEVSUk9SCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9Q VElPTlMgKHRlc3RpbmcgJzEnLCBhbm90aGVyICcyJyk7Ci1cZGV3KworRFJPUCBGT1JFSUdOIERB VEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdy ZXNzX2ZvbyBPUFRJT05TICh0ZXN0aW5nICcxJywgdGVzdGluZyAnMicpOyAgIC0tIEVSUk9SCitD UkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gT1BUSU9OUyAodGVzdGluZyAn MScsIGFub3RoZXIgJzInKTsKK1xkZXcrIHJlZ3Jlc3NfKgogCi1EUk9QIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbzsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBTRVQg Uk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287 IC0tIEVSUk9SCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287IC0tIEVS Uk9SCiBSRVNFVCBST0xFOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBWQUxJREFU T1IgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yOwotXGRldysKK0NSRUFURSBGT1JFSUdOIERBVEEg V1JBUFBFUiByZWdyZXNzX2ZvbyBWQUxJREFUT1IgcG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yOwor XGRldysgcmVncmVzc18qCiAKIC0tIEhBTkRMRVIgcmVsYXRlZCBjaGVja3MKIENSRUFURSBGVU5D VElPTiBpbnZhbGlkX2Zkd19oYW5kbGVyKCkgUkVUVVJOUyBpbnQgTEFOR1VBR0UgU1FMIEFTICdT RUxFQ1QgMTsnOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3IEhBTkRMRVIg aW52YWxpZF9mZHdfaGFuZGxlcjsgIC0tIEVSUk9SCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgdGVzdF9mZHcgSEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyIEhBTkRMRVIgaW52YWxpZF9mZHdf aGFuZGxlcjsgIC0tIEVSUk9SCi1DUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHcg SEFORExFUiB0ZXN0X2Zkd19oYW5kbGVyOwotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0 X2ZkdzsKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Rlc3RfZmR3IEhBTkRM RVIgaW52YWxpZF9mZHdfaGFuZGxlcjsgIC0tIEVSUk9SCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdS QVBQRVIgcmVncmVzc190ZXN0X2ZkdyBIQU5ETEVSIHRlc3RfZmR3X2hhbmRsZXIgSEFORExFUiBp bnZhbGlkX2Zkd19oYW5kbGVyOyAgLS0gRVJST1IKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBF UiByZWdyZXNzX3Rlc3RfZmR3IEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlcjsKK0RST1AgRk9SRUlH TiBEQVRBIFdSQVBQRVIgcmVncmVzc190ZXN0X2ZkdzsKIAogLS0gQUxURVIgRk9SRUlHTiBEQVRB IFdSQVBQRVIKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChub25leGlz dGVudCAnZmR3Jyk7ICAgICAgICAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vIE9QVElPTlMgKG5vbmV4aXN0ZW50ICdmZHcnKTsgICAgICAgICAtLSBFUlJP UgogCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtLSBFUlJPUgotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIFZBTElEQVRP UiBiYXI7ICAgICAgICAgICAgICAgLS0gRVJST1IKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBOTyBWQUxJREFUT1I7Ci1cZGV3KworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVn cmVzc19mb287ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgorQUxURVIgRk9S RUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVkFMSURBVE9SIGJhcjsgICAgICAgICAgICAg ICAtLSBFUlJPUgorQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gTk8gVkFM SURBVE9SOworXGRldysgcmVncmVzc18qCiAKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZv byBPUFRJT05TIChhICcxJywgYiAnMicpOwotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9v IE9QVElPTlMgKFNFVCBjICc0Jyk7ICAgICAgICAgLS0gRVJST1IKLUFMVEVSIEZPUkVJR04gREFU QSBXUkFQUEVSIGZvbyBPUFRJT05TIChEUk9QIGMpOyAgICAgICAgICAgIC0tIEVSUk9SCi1BTFRF UiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoQUREIHggJzEnLCBEUk9QIHgpOwot XGRldysKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGEg JzEnLCBiICcyJyk7CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJ T05TIChTRVQgYyAnNCcpOyAgICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdOIERBVEEgV1JB UFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChEUk9QIGMpOyAgICAgICAgICAgIC0tIEVSUk9SCitB TFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChBREQgeCAnMScs IERST1AgeCk7CitcZGV3KyByZWdyZXNzXyoKIAotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIg Zm9vIE9QVElPTlMgKERST1AgYSwgU0VUIGIgJzMnLCBBREQgYyAnNCcpOwotXGRldysKK0FMVEVS IEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKERST1AgYSwgU0VUIGIg JzMnLCBBREQgYyAnNCcpOworXGRldysgcmVncmVzc18qCiAKLUFMVEVSIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbyBPUFRJT05TIChhICcyJyk7Ci1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b28gT1BUSU9OUyAoYiAnNCcpOyAgICAgICAgICAgICAtLSBFUlJPUgotXGRldysKK0FMVEVSIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGEgJzInKTsKK0FMVEVSIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGIgJzQnKTsgICAgICAgICAg ICAgLS0gRVJST1IKK1xkZXcrIHJlZ3Jlc3NfKgogCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9s ZTsKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChBREQgZCAnNScpOyAg ICAgICAgIC0tIEVSUk9SCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBP UFRJT05TIChBREQgZCAnNScpOyAgICAgICAgIC0tIEVSUk9SCiBTRVQgUk9MRSByZWdyZXNzX3Rl c3Rfcm9sZV9zdXBlcjsKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChB REQgZCAnNScpOwotXGRldysKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9v IE9QVElPTlMgKEFERCBkICc1Jyk7CitcZGV3KyByZWdyZXNzXyoKIAotQUxURVIgRk9SRUlHTiBE QVRBIFdSQVBQRVIgZm9vIE9XTkVSIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOyAgLS0gRVJST1IKLUFM VEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPV05FUiBUTyByZWdyZXNzX3Rlc3Rfcm9sZV9z dXBlcjsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9XTkVSIFRPIHJl Z3Jlc3NfdGVzdF9yb2xlOyAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vIE9XTkVSIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlX3N1cGVyOwogQUxURVIgUk9MRSBy ZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlciBOT1NVUEVSVVNFUjsKIFNFVCBST0xFIHJlZ3Jlc3NfdGVz dF9yb2xlX3N1cGVyOwotQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9QVElPTlMgKEFE RCBlICc2Jyk7ICAgICAgICAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJl Z3Jlc3NfZm9vIE9QVElPTlMgKEFERCBlICc2Jyk7ICAgICAgICAgLS0gRVJST1IKIFJFU0VUIFJP TEU7Ci1cZGV3KworXGRldysgcmVncmVzc18qCiAKLUFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IGZvbyBSRU5BTUUgVE8gZm9vMTsKLVxkZXcrCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBm b28xIFJFTkFNRSBUTyBmb287CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2Zv byBSRU5BTUUgVE8gcmVncmVzc19mb28xOworXGRldysgcmVncmVzc18qCitBTFRFUiBGT1JFSUdO IERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzEgUkVOQU1FIFRPIHJlZ3Jlc3NfZm9vOwogCiAtLSBI QU5ETEVSIHJlbGF0ZWQgY2hlY2tzCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gSEFO RExFUiBpbnZhbGlkX2Zkd19oYW5kbGVyOyAgLS0gRVJST1IKLUFMVEVSIEZPUkVJR04gREFUQSBX UkFQUEVSIGZvbyBIQU5ETEVSIHRlc3RfZmR3X2hhbmRsZXIgSEFORExFUiBhbnl0aGluZzsgIC0t IEVSUk9SCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gSEFORExFUiB0ZXN0X2Zkd19o YW5kbGVyOworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gSEFORExFUiBp bnZhbGlkX2Zkd19oYW5kbGVyOyAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVS IHJlZ3Jlc3NfZm9vIEhBTkRMRVIgdGVzdF9mZHdfaGFuZGxlciBIQU5ETEVSIGFueXRoaW5nOyAg LS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIEhBTkRMRVIg dGVzdF9mZHdfaGFuZGxlcjsKIERST1AgRlVOQ1RJT04gaW52YWxpZF9mZHdfaGFuZGxlcigpOwog CiAtLSBEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSCiBEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVS IG5vbmV4aXN0ZW50OyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogRFJPUCBGT1JFSUdO IERBVEEgV1JBUFBFUiBJRiBFWElTVFMgbm9uZXhpc3RlbnQ7Ci1cZGV3KworXGRldysgcmVncmVz c18qCiAKIERST1AgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlcjsgICAgICAgICAgICAgICAg ICAgICAgICAgIC0tIEVSUk9SCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZV9zdXBlcjsKLURS T1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOworRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBy ZWdyZXNzX2ZvbzsKIFJFU0VUIFJPTEU7CiBEUk9QIFJPTEUgcmVncmVzc190ZXN0X3JvbGVfc3Vw ZXI7Ci1cZGV3KworXGRldysgcmVncmVzc18qCiAKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb287Ci1DUkVBVEUgU0VSVkVSIHMxIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsKK0NSRUFU RSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKK0NSRUFURSBTRVJWRVIgczEgRk9S RUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287CiBDT01NRU5UIE9OIFNFUlZFUiBzMSBJUyAn Zm9yZWlnbiBzZXJ2ZXInOwogQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgY3VycmVudF91c2VyIFNF UlZFUiBzMTsKIENSRUFURSBVU0VSIE1BUFBJTkcgRk9SIGN1cnJlbnRfdXNlciBTRVJWRVIgczE7 CQkJCS0tIEVSUk9SCiBDUkVBVEUgVVNFUiBNQVBQSU5HIElGIE5PVCBFWElTVFMgRk9SIGN1cnJl bnRfdXNlciBTRVJWRVIgczE7IC0tIE5PVElDRQotXGRldysKK1xkZXcrIHJlZ3Jlc3NfKgogXGRl cysKIFxkZXUrCi1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtLSBFUlJPUgorRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogU0VUIFJPTEUgcmVn cmVzc190ZXN0X3JvbGU7Ci1EUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBDQVNDQURFOyAg ICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgorRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBy ZWdyZXNzX2ZvbyBDQVNDQURFOyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogUkVTRVQg Uk9MRTsKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIENBU0NBREU7Ci1cZGV3KworRFJP UCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBDQVNDQURFOworXGRldysgcmVncmVz c18qCiBcZGVzKwogXGRldSsKIAogLS0gZXhlcmNpc2UgQ1JFQVRFIFNFUlZFUgotQ1JFQVRFIFNF UlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAgICAgLS0gRVJS T1IKLUNSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoInRlc3Qgd3JhcHBl ciIgJ3RydWUnKTsKLUNSRUFURSBTRVJWRVIgczEgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOwot Q1JFQVRFIFNFUlZFUiBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAgICAgICAg ICAgLS0gRVJST1IKLUNSRUFURSBTRVJWRVIgSUYgTk9UIEVYSVNUUyBzMSBGT1JFSUdOIERBVEEg V1JBUFBFUiBmb287CS0tIE5vIEVSUk9SLCBqdXN0IE5PVElDRQotQ1JFQVRFIFNFUlZFUiBzMiBG T1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAnYicpOwot Q1JFQVRFIFNFUlZFUiBzMyBUWVBFICdvcmFjbGUnIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsK LUNSRUFURSBTRVJWRVIgczQgVFlQRSAnb3JhY2xlJyBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28g T1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAnYicpOwotQ1JFQVRFIFNFUlZFUiBzNSBWRVJTSU9O ICcxNS4wJyBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287Ci1DUkVBVEUgU0VSVkVSIHM2IFZFUlNJ T04gJzE2LjAnIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPUFRJT05TIChob3N0ICdhJywgZGJu YW1lICdiJyk7Ci1DUkVBVEUgU0VSVkVSIHM3IFRZUEUgJ29yYWNsZScgVkVSU0lPTiAnMTcuMCcg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIE9QVElPTlMgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKTsK LUNSRUFURSBTRVJWRVIgczggRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBPUFRJT05T IChmb28gJzEnKTsgLS0gRVJST1IKLUNSRUFURSBTRVJWRVIgczggRk9SRUlHTiBEQVRBIFdSQVBQ RVIgcG9zdGdyZXNxbCBPUFRJT05TIChob3N0ICdsb2NhbGhvc3QnLCBkYm5hbWUgJ3M4ZGInKTsK K0NSRUFURSBTRVJWRVIgczEgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAg ICAgICAgICAgICAgLS0gRVJST1IKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbyBPUFRJT05TICgidGVzdCB3cmFwcGVyIiAndHJ1ZScpOworQ1JFQVRFIFNFUlZFUiBzMSBG T1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsKK0NSRUFURSBTRVJWRVIgczEgRk9SRUlH TiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb287ICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0NS RUFURSBTRVJWRVIgSUYgTk9UIEVYSVNUUyBzMSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNz X2ZvbzsJLS0gTm8gRVJST1IsIGp1c3QgTk9USUNFCitDUkVBVEUgU0VSVkVSIHMyIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGhvc3QgJ2EnLCBkYm5hbWUgJ2InKTsK K0NSRUFURSBTRVJWRVIgczMgVFlQRSAnb3JhY2xlJyBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdy ZXNzX2ZvbzsKK0NSRUFURSBTRVJWRVIgczQgVFlQRSAnb3JhY2xlJyBGT1JFSUdOIERBVEEgV1JB UFBFUiByZWdyZXNzX2ZvbyBPUFRJT05TIChob3N0ICdhJywgZGJuYW1lICdiJyk7CitDUkVBVEUg U0VSVkVSIHM1IFZFUlNJT04gJzE1LjAnIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9v OworQ1JFQVRFIFNFUlZFUiBzNiBWRVJTSU9OICcxNi4wJyBGT1JFSUdOIERBVEEgV1JBUFBFUiBy ZWdyZXNzX2ZvbyBPUFRJT05TIChob3N0ICdhJywgZGJuYW1lICdiJyk7CitDUkVBVEUgU0VSVkVS IHM3IFRZUEUgJ29yYWNsZScgVkVSU0lPTiAnMTcuMCcgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVn cmVzc19mb28gT1BUSU9OUyAoaG9zdCAnYScsIGRibmFtZSAnYicpOworQ1JFQVRFIFNFUlZFUiBz OCBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Bvc3RncmVzcWwgT1BUSU9OUyAoZm9vICcx Jyk7IC0tIEVSUk9SCitDUkVBVEUgU0VSVkVSIHM4IEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jl c3NfcG9zdGdyZXNxbCBPUFRJT05TIChob3N0ICdsb2NhbGhvc3QnLCBkYm5hbWUgJ3M4ZGInKTsK IFxkZXMrCiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKLUNSRUFURSBTRVJWRVIgdDEgRk9S RUlHTiBEQVRBIFdSQVBQRVIgZm9vOyAgICAgICAgICAgICAgICAgLS0gRVJST1I6IG5vIHVzYWdl IG9uIEZEVworQ1JFQVRFIFNFUlZFUiB0MSBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2Zv bzsgICAgICAgICAgICAgICAgIC0tIEVSUk9SOiBubyB1c2FnZSBvbiBGRFcKIFJFU0VUIFJPTEU7 Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc190ZXN0 X3JvbGU7CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBU TyByZWdyZXNzX3Rlc3Rfcm9sZTsKIFNFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRF IFNFUlZFUiB0MSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287CitDUkVBVEUgU0VSVkVSIHQxIEZP UkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOwogUkVTRVQgUk9MRTsKIFxkZXMrCiAKLVJF Vk9LRSBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gRlJPTSByZWdyZXNzX3Rlc3Rf cm9sZTsKLUdSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBUTyByZWdyZXNz X3Rlc3RfaW5kaXJlY3Q7CitSRVZPS0UgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVn cmVzc19mb28gRlJPTSByZWdyZXNzX3Rlc3Rfcm9sZTsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsKIFNFVCBS T0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRFIFNFUlZFUiB0MiBGT1JFSUdOIERBVEEgV1JB UFBFUiBmb287ICAgICAgICAgICAgICAgICAtLSBFUlJPUgorQ1JFQVRFIFNFUlZFUiB0MiBGT1JF SUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbzsgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBS RVNFVCBST0xFOwogR1JBTlQgcmVncmVzc190ZXN0X2luZGlyZWN0IFRPIHJlZ3Jlc3NfdGVzdF9y b2xlOwogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7Ci1DUkVBVEUgU0VSVkVSIHQyIEZPUkVJ R04gREFUQSBXUkFQUEVSIGZvbzsKK0NSRUFURSBTRVJWRVIgdDIgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgcmVncmVzc19mb287CiBcZGVzKwogUkVTRVQgUk9MRTsKIFJFVk9LRSByZWdyZXNzX3Rlc3Rf aW5kaXJlY3QgRlJPTSByZWdyZXNzX3Rlc3Rfcm9sZTsKIAorLS0KKy0tIHRlc3QgcGdfY29ubmVj dGlvbl9mZHcKKy0tCisKK1xzZXQgVkVSQk9TSVRZIHRlcnNlCitDUkVBVEUgU0VSVkVSIGNvbm5l Y3Rpb25fc2VydmVyIEZPUkVJR04gREFUQSBXUkFQUEVSIHBnX2Nvbm5lY3Rpb25fZmR3CisgIE9Q VElPTlMgKGhvc3QgJ3RoZWhvc3QnLCBjbGllbnRfZW5jb2RpbmcgJ0xBVElOMScpOyAtLSBmYWls CitDUkVBVEUgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyIEZPUkVJR04gREFUQSBXUkFQUEVSIHBn X2Nvbm5lY3Rpb25fZmR3CisgIE9QVElPTlMgKGhvc3QgJ3RoZWhvc3QnLCBub25zZW5zZSAnYXNk ZicpOyAtLSBmYWlsCitDUkVBVEUgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyIEZPUkVJR04gREFU QSBXUkFQUEVSIHBnX2Nvbm5lY3Rpb25fZmR3CisgIE9QVElPTlMgKGhvc3QgJ3RoZWhvc3QnLCBw YXNzd29yZCAnc2VjcmV0Jyk7IC0tIGZhaWwKK1xzZXQgVkVSQk9TSVRZIGRlZmF1bHQKKworQ1JF QVRFIFNFUlZFUiBjb25uZWN0aW9uX3NlcnZlciBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25u ZWN0aW9uX2ZkdworICBPUFRJT05TIChob3N0ICd0aGVob3N0JywgcG9ydCAnNTQzMicpOworCitD UkVBVEUgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIgY29ubmVjdGlv bl9zZXJ2ZXIKKyAgT1BUSU9OUyAodXNlciAncm9sZScsIHBhc3N3b3JkICdzZWNyZXQnLCBob3N0 ICdvdGhlcmhvc3QnKTsgLS0gZmFpbAorCitDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNz X3Rlc3Rfcm9sZSBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXIKKyAgT1BUSU9OUyAodXNlciAncm9s ZScsIHBhc3N3b3JkICdzZWNyZXQnKTsKK0NSRUFURSBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJQyBT RVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXIKKyAgT1BUSU9OUyAodXNlciAncHVibGljdXNlcicsIHBh c3N3b3JkICdzZWNyZXQyJyk7CisKK1NFTEVDVCBwZ19jb25uaW5mb19mcm9tX3NlcnZlcignY29u bmVjdGlvbl9zZXJ2ZXInLCAncmVncmVzc190ZXN0X3JvbGUnLCBmYWxzZSk7CisKK1NFTEVDVCBw Z19jb25uaW5mb19mcm9tX3NlcnZlcignY29ubmVjdGlvbl9zZXJ2ZXInLCAncmVncmVzc190ZXN0 X3JvbGUyJywgZmFsc2UpOworCitEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc190ZXN0X3Jv bGUgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyOworRFJPUCBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJ QyBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXI7CitEUk9QIFNFUlZFUiBjb25uZWN0aW9uX3NlcnZl cjsKKwogLS0gQUxURVIgU0VSVkVSCiBBTFRFUiBTRVJWRVIgczA7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogQUxURVIgU0VSVkVSIHMwIE9QVElP TlMgKGEgJzEnKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKQEAgLTIwOCw3 ICsyNDAsNyBAQCBHUkFOVCByZWdyZXNzX3Rlc3RfaW5kaXJlY3QgVE8gcmVncmVzc190ZXN0X3Jv bGU7CiBTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKIEFMVEVSIFNFUlZFUiBzMSBPV05FUiBU TyByZWdyZXNzX3Rlc3RfaW5kaXJlY3Q7CiBSRVNFVCBST0xFOwotR1JBTlQgVVNBR0UgT04gRk9S RUlHTiBEQVRBIFdSQVBQRVIgZm9vIFRPIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsKK0dSQU5UIFVT QUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jlc3NfdGVzdF9p bmRpcmVjdDsKIFNFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwogQUxURVIgU0VSVkVSIHMxIE9X TkVSIFRPIHJlZ3Jlc3NfdGVzdF9pbmRpcmVjdDsKIFJFU0VUIFJPTEU7CkBAIC0yOTMsNyArMzI1 LDcgQEAgRFJPUCBTRVJWRVIgczc7CiAKIC0tIENSRUFURSBGT1JFSUdOIFRBQkxFCiBDUkVBVEUg U0NIRU1BIGZvcmVpZ25fc2NoZW1hOwotQ1JFQVRFIFNFUlZFUiBzMCBGT1JFSUdOIERBVEEgV1JB UFBFUiBkdW1teTsKK0NSRUFURSBTRVJWRVIgczAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVz c19kdW1teTsKIENSRUFURSBGT1JFSUdOIFRBQkxFIGZ0MSAoKTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtLSBFUlJPUgogQ1JFQVRFIEZPUkVJR04gVEFCTEUgZnQxICgpIFNF UlZFUiBub19zZXJ2ZXI7ICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBDUkVBVEUgRk9SRUlH TiBUQUJMRSBmdDEgKApAQCAtNDUzLDIwICs0ODUsMjAgQEAgQUxURVIgRk9SRUlHTiBUQUJMRSBJ RiBFWElTVFMgZG9lc250X2V4aXN0X2Z0MSBSRU5BTUUgVE8gZm9yZWlnbl90YWJsZV8xOwogCiAt LSBJbmZvcm1hdGlvbiBzY2hlbWEKIAotU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEu Zm9yZWlnbl9kYXRhX3dyYXBwZXJzIE9SREVSIEJZIDEsIDI7CitTRUxFQ1QgKiBGUk9NIGluZm9y bWF0aW9uX3NjaGVtYS5mb3JlaWduX2RhdGFfd3JhcHBlcnMgV0hFUkUgYXV0aG9yaXphdGlvbl9p ZGVudGlmaWVyID0gJ3JlZ3Jlc3NfZm9yZWlnbl9kYXRhX3VzZXInIE9SREVSIEJZIDEsIDI7CiBT RUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5mb3JlaWduX2RhdGFfd3JhcHBlcl9vcHRp b25zIE9SREVSIEJZIDEsIDIsIDM7CiBTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5m b3JlaWduX3NlcnZlcnMgT1JERVIgQlkgMSwgMjsKIFNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25f c2NoZW1hLmZvcmVpZ25fc2VydmVyX29wdGlvbnMgT1JERVIgQlkgMSwgMiwgMzsKIFNFTEVDVCAq IEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnVzZXJfbWFwcGluZ3MgT1JERVIgQlkgbG93ZXIoYXV0 aG9yaXphdGlvbl9pZGVudGlmaWVyKSwgMiwgMzsKIFNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25f c2NoZW1hLnVzZXJfbWFwcGluZ19vcHRpb25zIE9SREVSIEJZIGxvd2VyKGF1dGhvcml6YXRpb25f aWRlbnRpZmllciksIDIsIDMsIDQ7Ci1TRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS51 c2FnZV9wcml2aWxlZ2VzIFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04lJyBBTkQgb2Jq ZWN0X25hbWUgSU4gKCdzNicsICdmb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1OwotU0VMRUNU ICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEucm9sZV91c2FnZV9ncmFudHMgV0hFUkUgb2JqZWN0 X3R5cGUgTElLRSAnRk9SRUlHTiUnIEFORCBvYmplY3RfbmFtZSBJTiAoJ3M2JywgJ2ZvbycpIE9S REVSIEJZIDEsIDIsIDMsIDQsIDU7CitTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS51 c2FnZV9wcml2aWxlZ2VzIFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04lJyBBTkQgb2Jq ZWN0X25hbWUgSU4gKCdzNicsICdyZWdyZXNzX2ZvbycpIE9SREVSIEJZIDEsIDIsIDMsIDQsIDU7 CitTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5yb2xlX3VzYWdlX2dyYW50cyBXSEVS RSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAn cmVncmVzc19mb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1OwogU0VMRUNUICogRlJPTSBpbmZv cm1hdGlvbl9zY2hlbWEuZm9yZWlnbl90YWJsZXMgT1JERVIgQlkgMSwgMiwgMzsKIFNFTEVDVCAq IEZST00gaW5mb3JtYXRpb25fc2NoZW1hLmZvcmVpZ25fdGFibGVfb3B0aW9ucyBPUkRFUiBCWSAx LCAyLCAzLCA0OwogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7CiBTRUxFQ1QgKiBGUk9NIGlu Zm9ybWF0aW9uX3NjaGVtYS51c2VyX21hcHBpbmdfb3B0aW9ucyBPUkRFUiBCWSAxLCAyLCAzLCA0 OwotU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNhZ2VfcHJpdmlsZWdlcyBXSEVS RSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAn Zm9vJykgT1JERVIgQlkgMSwgMiwgMywgNCwgNTsKLVNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25f c2NoZW1hLnJvbGVfdXNhZ2VfZ3JhbnRzIFdIRVJFIG9iamVjdF90eXBlIExJS0UgJ0ZPUkVJR04l JyBBTkQgb2JqZWN0X25hbWUgSU4gKCdzNicsICdmb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1 OworU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNhZ2VfcHJpdmlsZWdlcyBXSEVS RSBvYmplY3RfdHlwZSBMSUtFICdGT1JFSUdOJScgQU5EIG9iamVjdF9uYW1lIElOICgnczYnLCAn cmVncmVzc19mb28nKSBPUkRFUiBCWSAxLCAyLCAzLCA0LCA1OworU0VMRUNUICogRlJPTSBpbmZv cm1hdGlvbl9zY2hlbWEucm9sZV91c2FnZV9ncmFudHMgV0hFUkUgb2JqZWN0X3R5cGUgTElLRSAn Rk9SRUlHTiUnIEFORCBvYmplY3RfbmFtZSBJTiAoJ3M2JywgJ3JlZ3Jlc3NfZm9vJykgT1JERVIg QlkgMSwgMiwgMywgNCwgNTsKIERST1AgVVNFUiBNQVBQSU5HIEZPUiBjdXJyZW50X3VzZXIgU0VS VkVSIHQxOwogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGUyOwogU0VMRUNUICogRlJPTSBpbmZv cm1hdGlvbl9zY2hlbWEudXNlcl9tYXBwaW5nX29wdGlvbnMgT1JERVIgQlkgMSwgMiwgMywgNDsK QEAgLTQ3NSwxOCArNTA3LDE4IEBAIFJFU0VUIFJPTEU7CiAKIC0tIGhhc19mb3JlaWduX2RhdGFf d3JhcHBlcl9wcml2aWxlZ2UKIFNFTEVDVCBoYXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmls ZWdlKCdyZWdyZXNzX3Rlc3Rfcm9sZScsCi0gICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19mb3JlaWdu X2RhdGFfd3JhcHBlciBXSEVSRSBmZHduYW1lPSdmb28nKSwgJ1VTQUdFJyk7Ci1TRUxFQ1QgaGFz X2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgncmVncmVzc190ZXN0X3JvbGUnLCAnZm9v JywgJ1VTQUdFJyk7CisgICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19mb3JlaWduX2RhdGFfd3JhcHBl ciBXSEVSRSBmZHduYW1lPSdyZWdyZXNzX2ZvbycpLCAnVVNBR0UnKTsKK1NFTEVDVCBoYXNfZm9y ZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlKCdyZWdyZXNzX3Rlc3Rfcm9sZScsICdyZWdyZXNz X2ZvbycsICdVU0FHRScpOwogU0VMRUNUIGhhc19mb3JlaWduX2RhdGFfd3JhcHBlcl9wcml2aWxl Z2UoCiAgICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19yb2xlcyBXSEVSRSByb2xuYW1lPSdyZWdyZXNz X3Rlc3Rfcm9sZScpLAotICAgIChTRUxFQ1Qgb2lkIEZST00gcGdfZm9yZWlnbl9kYXRhX3dyYXBw ZXIgV0hFUkUgZmR3bmFtZT0nZm9vJyksICdVU0FHRScpOworICAgIChTRUxFQ1Qgb2lkIEZST00g cGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIgV0hFUkUgZmR3bmFtZT0ncmVncmVzc19mb28nKSwgJ1VT QUdFJyk7CiBTRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgKLSAgICAo U0VMRUNUIG9pZCBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25hbWU9J2Zv bycpLCAnVVNBR0UnKTsKKyAgICAoU0VMRUNUIG9pZCBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFw cGVyIFdIRVJFIGZkd25hbWU9J3JlZ3Jlc3NfZm9vJyksICdVU0FHRScpOwogU0VMRUNUIGhhc19m b3JlaWduX2RhdGFfd3JhcHBlcl9wcml2aWxlZ2UoCi0gICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19y b2xlcyBXSEVSRSByb2xuYW1lPSdyZWdyZXNzX3Rlc3Rfcm9sZScpLCAnZm9vJywgJ1VTQUdFJyk7 Ci1TRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgnZm9vJywgJ1VTQUdF Jyk7Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc190 ZXN0X3JvbGU7Ci1TRUxFQ1QgaGFzX2ZvcmVpZ25fZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgncmVn cmVzc190ZXN0X3JvbGUnLCAnZm9vJywgJ1VTQUdFJyk7CisgICAgKFNFTEVDVCBvaWQgRlJPTSBw Z19yb2xlcyBXSEVSRSByb2xuYW1lPSdyZWdyZXNzX3Rlc3Rfcm9sZScpLCAncmVncmVzc19mb28n LCAnVVNBR0UnKTsKK1NFTEVDVCBoYXNfZm9yZWlnbl9kYXRhX3dyYXBwZXJfcHJpdmlsZWdlKCdy ZWdyZXNzX2ZvbycsICdVU0FHRScpOworR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQ RVIgcmVncmVzc19mb28gVE8gcmVncmVzc190ZXN0X3JvbGU7CitTRUxFQ1QgaGFzX2ZvcmVpZ25f ZGF0YV93cmFwcGVyX3ByaXZpbGVnZSgncmVncmVzc190ZXN0X3JvbGUnLCAncmVncmVzc19mb28n LCAnVVNBR0UnKTsKIAogLS0gaGFzX3NlcnZlcl9wcml2aWxlZ2UKIFNFTEVDVCBoYXNfc2VydmVy X3ByaXZpbGVnZSgncmVncmVzc190ZXN0X3JvbGUnLApAQCAtNTA4LDE2ICs1NDAsMTYgQEAgR1JB TlQgVVNBR0UgT04gRk9SRUlHTiBTRVJWRVIgczQgVE8gcmVncmVzc190ZXN0X3JvbGU7CiBEUk9Q IFVTRVIgTUFQUElORyBGT1IgcHVibGljIFNFUlZFUiBzNDsKIEFMVEVSIFNFUlZFUiBzNiBPUFRJ T05TIChEUk9QIGhvc3QsIERST1AgZGJuYW1lKTsKIEFMVEVSIFVTRVIgTUFQUElORyBGT1IgcmVn cmVzc190ZXN0X3JvbGUgU0VSVkVSIHM2IE9QVElPTlMgKERST1AgdXNlcm5hbWUpOwotQUxURVIg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIFZBTElEQVRPUiBwb3N0Z3Jlc3FsX2Zkd192YWxpZGF0 b3I7CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBWQUxJREFUT1IgcG9z dGdyZXNxbF9mZHdfdmFsaWRhdG9yOwogCiAtLSBQcml2aWxlZ2VzCiBTRVQgUk9MRSByZWdyZXNz X3VucHJpdmlsZWdlZF9yb2xlOwotQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvb2Jhcjsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1BTFRFUiBGT1JFSUdOIERBVEEg V1JBUFBFUiBmb28gT1BUSU9OUyAoZ290Y2hhICd0cnVlJyk7ICAgICAgICAgLS0gRVJST1IKLUFM VEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbyBPV05FUiBUTyByZWdyZXNzX3VucHJpdmlsZWdl ZF9yb2xlOyAtLSBFUlJPUgotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCi1HUkFOVCBVU0FHRSBPTiBGT1JFSUdO IERBVEEgV1JBUFBFUiBmb28gVE8gcmVncmVzc190ZXN0X3JvbGU7ICAgLS0gRVJST1IKLUNSRUFU RSBTRVJWRVIgczkgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vOyAgICAgICAgICAgICAgICAgICAg ICAtLSBFUlJPUgorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vYmFyOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFUQSBX UkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGdvdGNoYSAndHJ1ZScpOyAgICAgICAgIC0tIEVS Uk9SCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBPV05FUiBUTyByZWdy ZXNzX3VucHJpdmlsZWdlZF9yb2xlOyAtLSBFUlJPUgorRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBF UiByZWdyZXNzX2ZvbzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IK K0dSQU5UIFVTQUdFIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jl c3NfdGVzdF9yb2xlOyAgIC0tIEVSUk9SCitDUkVBVEUgU0VSVkVSIHM5IEZPUkVJR04gREFUQSBX UkFQUEVSIHJlZ3Jlc3NfZm9vOyAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgogQUxURVIg U0VSVkVSIHM0IFZFUlNJT04gJzAuNSc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0tIEVSUk9SCiBBTFRFUiBTRVJWRVIgczQgT1dORVIgVE8gcmVncmVzc191bnByaXZpbGVnZWRf cm9sZTsgICAgICAgICAgICAgLS0gRVJST1IKIERST1AgU0VSVkVSIHM0OyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgpAQCAtNTI3LDE1ICs1 NTksMTUgQEAgQUxURVIgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIg czYgT1BUSU9OUyAoZ290Y2hhICd0cnVlJyk7IC0tIEUKIERST1AgVVNFUiBNQVBQSU5HIEZPUiBy ZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIgczY7ICAgICAgICAgICAgICAtLSBFUlJPUgogUkVTRVQg Uk9MRTsKIAotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBU TyByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOwotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRB IFdSQVBQRVIgZm9vIFRPIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGUgV0lUSCBHUkFOVCBPUFRJ T047CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX3Bvc3RncmVz cWwgVE8gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIFRPIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGUgV0lU SCBHUkFOVCBPUFRJT047CiBTRVQgUk9MRSByZWdyZXNzX3VucHJpdmlsZWdlZF9yb2xlOwotQ1JF QVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZvb2JhcjsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0tIEVSUk9SCi1BTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28gT1BUSU9OUyAoZ290 Y2hhICd0cnVlJyk7ICAgICAgICAgLS0gRVJST1IKLURST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIg Zm9vOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgotR1JBTlQgVVNB R0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBUTyByZWdyZXNzX3Rlc3Rfcm9s ZTsgLS0gV0FSTklORwotR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIFRP IHJlZ3Jlc3NfdGVzdF9yb2xlOwotQ1JFQVRFIFNFUlZFUiBzOSBGT1JFSUdOIERBVEEgV1JBUFBF UiBwb3N0Z3Jlc3FsOworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vYmFy OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKK0FMVEVSIEZPUkVJR04gREFU QSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIE9QVElPTlMgKGdvdGNoYSAndHJ1ZScpOyAgICAgICAgIC0t IEVSUk9SCitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgorR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBE QVRBIFdSQVBQRVIgcmVncmVzc19wb3N0Z3Jlc3FsIFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOyAtLSBX QVJOSU5HCitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2ZvbyBU TyByZWdyZXNzX3Rlc3Rfcm9sZTsKK0NSRUFURSBTRVJWRVIgczkgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgcmVncmVzc19wb3N0Z3Jlc3FsOwogQUxURVIgU0VSVkVSIHM2IFZFUlNJT04gJzAuNSc7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBEUk9QIFNFUlZFUiBzNjsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IK IEdSQU5UIFVTQUdFIE9OIEZPUkVJR04gU0VSVkVSIHM2IFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOyAg ICAgICAgICAtLSBFUlJPUgpAQCAtNTQ2LDE3ICs1NzgsMTcgQEAgQUxURVIgVVNFUiBNQVBQSU5H IEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIgczYgT1BUSU9OUyAoZ290Y2hhICd0cnVlJyk7 IC0tIEUKIERST1AgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3Rlc3Rfcm9sZSBTRVJWRVIgczY7 ICAgICAgICAgICAgICAtLSBFUlJPUgogUkVTRVQgUk9MRTsKIAotUkVWT0tFIFVTQUdFIE9OIEZP UkVJR04gREFUQSBXUkFQUEVSIGZvbyBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7IC0t IEVSUk9SCi1SRVZPS0UgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgZm9vIEZST00gcmVn cmVzc191bnByaXZpbGVnZWRfcm9sZSBDQVNDQURFOworUkVWT0tFIFVTQUdFIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vIEZST00gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsg LS0gRVJST1IKK1JFVk9LRSBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiByZWdyZXNzX2Zv byBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGUgQ0FTQ0FERTsKIFNFVCBST0xFIHJlZ3Jl c3NfdW5wcml2aWxlZ2VkX3JvbGU7Ci1HUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBF UiBmb28gVE8gcmVncmVzc190ZXN0X3JvbGU7ICAgLS0gRVJST1IKLUNSRUFURSBTRVJWRVIgczEw IEZPUkVJR04gREFUQSBXUkFQUEVSIGZvbzsgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgor R1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gVE8gcmVncmVz c190ZXN0X3JvbGU7ICAgLS0gRVJST1IKK0NSRUFURSBTRVJWRVIgczEwIEZPUkVJR04gREFUQSBX UkFQUEVSIHJlZ3Jlc3NfZm9vOyAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBBTFRFUiBT RVJWRVIgczkgVkVSU0lPTiAnMS4xJzsKIEdSQU5UIFVTQUdFIE9OIEZPUkVJR04gU0VSVkVSIHM5 IFRPIHJlZ3Jlc3NfdGVzdF9yb2xlOwogQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgY3VycmVudF91 c2VyIFNFUlZFUiBzOTsKIERST1AgU0VSVkVSIHM5IENBU0NBREU7CiBSRVNFVCBST0xFOwotQ1JF QVRFIFNFUlZFUiBzOSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb287CitDUkVBVEUgU0VSVkVSIHM5 IEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZm9vOwogR1JBTlQgVVNBR0UgT04gRk9SRUlH TiBTRVJWRVIgczkgVE8gcmVncmVzc191bnByaXZpbGVnZWRfcm9sZTsKIFNFVCBST0xFIHJlZ3Jl c3NfdW5wcml2aWxlZ2VkX3JvbGU7CiBBTFRFUiBTRVJWRVIgczkgVkVSU0lPTiAnMS4yJzsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKQEAgLTU2Niw3ICs1OTgsNyBA QCBEUk9QIFNFUlZFUiBzOSBDQVNDQURFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLS0gRVJST1IKIAogLS0gQ2hlY2sgdmlzaWJpbGl0eSBvZiB1c2VyIG1hcHBpbmcg ZGF0YQogU0VUIFJPTEUgcmVncmVzc190ZXN0X3JvbGU7Ci1DUkVBVEUgU0VSVkVSIHMxMCBGT1JF SUdOIERBVEEgV1JBUFBFUiBmb287CitDUkVBVEUgU0VSVkVSIHMxMCBGT1JFSUdOIERBVEEgV1JB UFBFUiByZWdyZXNzX2ZvbzsKIENSRUFURSBVU0VSIE1BUFBJTkcgRk9SIHB1YmxpYyBTRVJWRVIg czEwIE9QVElPTlMgKHVzZXIgJ3NlY3JldCcpOwogQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgcmVn cmVzc191bnByaXZpbGVnZWRfcm9sZSBTRVJWRVIgczEwIE9QVElPTlMgKHVzZXIgJ3NlY3JldCcp OwogLS0gb3duZXIgb2Ygc2VydmVyIGNhbiBzZWUgc29tZSBvcHRpb24gZmllbGRzCkBAIC04NDcs MjAgKzg3OSwyMCBAQCBEUk9QIFNDSEVNQSBmb3JlaWduX3NjaGVtYSBDQVNDQURFOwogRFJPUCBS T0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0g RVJST1IKIERST1AgU0VSVkVSIHQxIENBU0NBREU7CiBEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVn cmVzc190ZXN0X3JvbGUgU0VSVkVSIHM2OwotRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBmb28g Q0FTQ0FERTsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mb28gQ0FTQ0FERTsK IERST1AgU0VSVkVSIHM4IENBU0NBREU7CiBEUk9QIFJPTEUgcmVncmVzc190ZXN0X2luZGlyZWN0 OwogRFJPUCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwogRFJPUCBST0xFIHJlZ3Jlc3NfdW5wcml2 aWxlZ2VkX3JvbGU7ICAgICAgICAgICAgICAgICAgICAgICAgLS0gRVJST1IKLVJFVk9LRSBBTEwg T04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcG9zdGdyZXNxbCBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxl Z2VkX3JvbGU7CitSRVZPS0UgQUxMIE9OIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfcG9z dGdyZXNxbCBGUk9NIHJlZ3Jlc3NfdW5wcml2aWxlZ2VkX3JvbGU7CiBEUk9QIFJPTEUgcmVncmVz c191bnByaXZpbGVnZWRfcm9sZTsKIERST1AgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTI7Ci1EUk9Q IEZPUkVJR04gREFUQSBXUkFQUEVSIHBvc3RncmVzcWwgQ0FTQ0FERTsKLURST1AgRk9SRUlHTiBE QVRBIFdSQVBQRVIgZHVtbXkgQ0FTQ0FERTsKK0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVn cmVzc19wb3N0Z3Jlc3FsIENBU0NBREU7CitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jl c3NfZHVtbXkgQ0FTQ0FERTsKIFxjCiBEUk9QIFJPTEUgcmVncmVzc19mb3JlaWduX2RhdGFfdXNl cjsKIAogLS0gQXQgdGhpcyBwb2ludCB3ZSBzaG91bGQgaGF2ZSBubyB3cmFwcGVycywgbm8gc2Vy dmVycywgYW5kIG5vIG1hcHBpbmdzLgotU0VMRUNUIGZkd25hbWUsIGZkd2hhbmRsZXIsIGZkd3Zh bGlkYXRvciwgZmR3b3B0aW9ucyBGUk9NIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyOworU0VMRUNU IGZkd25hbWUsIGZkd2hhbmRsZXIsIGZkd3ZhbGlkYXRvciwgZmR3b3B0aW9ucyBGUk9NIHBnX2Zv cmVpZ25fZGF0YV93cmFwcGVyIFdIRVJFIGZkd25hbWUgTElLRSAncmVncmVzc18lJzsKIFNFTEVD VCBzcnZuYW1lLCBzcnZvcHRpb25zIEZST00gcGdfZm9yZWlnbl9zZXJ2ZXI7CiBTRUxFQ1QgKiBG Uk9NIHBnX3VzZXJfbWFwcGluZzsKLS0gCjIuMzQuMQoK --=-j4Qzi5tYQ/Or4W/pFz8q Content-Disposition: attachment; filename="v6-0003-CREATE-SUSBCRIPTION-.-SERVER.patch" Content-Type: text/x-patch; name="v6-0003-CREATE-SUSBCRIPTION-.-SERVER.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA0NjYzZjI4MTk3YjJmZGE3NWJiM2Y5OWM4NDQ3ODUzY2QxYWYxNTlmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU dWUsIDIgSmFuIDIwMjQgMTM6NDI6NDggLTA4MDAKU3ViamVjdDogW1BBVENIIHY2IDMvNF0gQ1JF QVRFIFNVU0JDUklQVElPTiAuLi4gU0VSVkVSLgoKLS0tCiBjb250cmliL3Bvc3RncmVzX2Zkdy9N YWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgIDIgKwogLi4uL3Bvc3RncmVzX2Zkdy9leHBlY3Rl ZC9wb3N0Z3Jlc19mZHcub3V0ICAgIHwgIDE0ICsrCiBjb250cmliL3Bvc3RncmVzX2Zkdy9tZXNv bi5idWlsZCAgICAgICAgICAgICAgfCAgIDUgKwogY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bv c3RncmVzX2Zkdy5zcWwgICAgIHwgICA4ICsKIGNvbnRyaWIvcG9zdGdyZXNfZmR3L3QvMDEwX3N1 YnNjcmlwdGlvbi5wbCAgICB8ICA2OCArKysrKysrCiBkb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1 YnNjcmlwdGlvbi5zZ21sICAgICAgfCAgMTggKy0KIGRvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1 YnNjcmlwdGlvbi5zZ21sICAgICB8ICAxMSArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJz Y3JpcHRpb24uYyAgICAgICAgIHwgIDMxICsrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2Ny aXB0aW9uY21kcy5jICAgICAgIHwgMTgyICsrKysrKysrKysrKysrKystLQogc3JjL2JhY2tlbmQv Zm9yZWlnbi9mb3JlaWduLmMgICAgICAgICAgICAgICAgIHwgIDI1ICsrKwogc3JjL2JhY2tlbmQv cGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAgIHwgIDIwICsrCiBzcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jICAgICAgfCAgMTIgKy0KIHNyYy9iaW4vcGdfZHVt cC9wZ19kdW1wLmMgICAgICAgICAgICAgICAgICAgICB8ICAyNyArKy0KIHNyYy9iaW4vcGdfZHVt cC9wZ19kdW1wLmggICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvYmluL3BzcWwvdGFi LWNvbXBsZXRlLmMgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRlL2NhdGFs b2cvcGdfc3Vic2NyaXB0aW9uLmggICAgICAgICB8ICAgNCArLQogc3JjL2luY2x1ZGUvZm9yZWln bi9mb3JlaWduLmggICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL25vZGVzL3Bh cnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAgMyArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL2ZvcmVpZ25fZGF0YS5vdXQgICAgfCAgMTQgKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvc3Vic2NyaXB0aW9uLm91dCAgICB8ICA0MCArKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9m b3JlaWduX2RhdGEuc3FsICAgICAgICAgfCAgMTcgKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1 YnNjcmlwdGlvbi5zcWwgICAgICAgICB8ICA0NSArKysrKwogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDAxX3JlcF9jaGFuZ2VzLnBsICAgIHwgIDU3ICsrKysrKwogMjMgZmlsZXMgY2hhbmdlZCwg NTc5IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNv bnRyaWIvcG9zdGdyZXNfZmR3L3QvMDEwX3N1YnNjcmlwdGlvbi5wbAoKZGlmZiAtLWdpdCBhL2Nv bnRyaWIvcG9zdGdyZXNfZmR3L01ha2VmaWxlIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvTWFrZWZp bGUKaW5kZXggYzFiMGNhZDQ1My4uYzM0OThlYTZiNCAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0 Z3Jlc19mZHcvTWFrZWZpbGUKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvTWFrZWZpbGUKQEAg LTE4LDYgKzE4LDggQEAgREFUQSA9IHBvc3RncmVzX2Zkdy0tMS4wLnNxbCBwb3N0Z3Jlc19mZHct LTEuMC0tMS4xLnNxbAogCiBSRUdSRVNTID0gcG9zdGdyZXNfZmR3CiAKK1RBUF9URVNUUyA9IDEK KwogaWZkZWYgVVNFX1BHWFMKIFBHX0NPTkZJRyA9IHBnX2NvbmZpZwogUEdYUyA6PSAkKHNoZWxs ICQoUEdfQ09ORklHKSAtLXBneHMpCmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9l eHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0IGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQv cG9zdGdyZXNfZmR3Lm91dAppbmRleCBkODNmNmFlOGNiLi4wYWE3NTFlMDk5IDEwMDY0NAotLS0g YS9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CisrKyBiL2Nv bnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKQEAgLTI1Niw2ICsy NTYsMjAgQEAgU0VMRUNUIGMzLCBjNCBGUk9NIGZ0MSBPUkRFUiBCWSBjMywgYzEgTElNSVQgMTsg IC0tIHNob3VsZCB3b3JrIGFnYWluCiBBTkFMWVpFIGZ0MTsKIEFMVEVSIEZPUkVJR04gVEFCTEUg ZnQyIE9QVElPTlMgKHVzZV9yZW1vdGVfZXN0aW1hdGUgJ3RydWUnKTsKIC0tID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tIHRlc3Qgc3Vic2NyaXB0aW9uCistLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitDUkVBVEUgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfcGdmZHdfc3Vic2NyaXB0aW9uIFNFUlZFUiB0ZXN0c2VydmVyMQorICBQVUJMSUNB VElPTiBwdWIxIFdJVEggKHNsb3RfbmFtZSA9IE5PTkUsIGNvbm5lY3QgPSBmYWxzZSk7CitXQVJO SU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAorSElO VDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhl IHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgcmVmcmVzaCB0 aGUgc3Vic2NyaXB0aW9uLgorU0VMRUNUIHBnX2Nvbm5pbmZvX2Zyb21fc2VydmVyKCd0ZXN0c2Vy dmVyMScsIENVUlJFTlRfVVNFUiwgZmFsc2UpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZ19jb25uaW5mb19mcm9tX3NlcnZlciAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIHNlcnZpY2UgPSAndmFsdWUnIGNvbm5lY3RfdGltZW91dCA9 ICd2YWx1ZScgZGJuYW1lID0gJ3ZhbHVlJyBob3N0ID0gJ3ZhbHVlJyBob3N0YWRkciA9ICd2YWx1 ZScgcG9ydCA9ICd2YWx1ZScgYXBwbGljYXRpb25fbmFtZSA9ICd2YWx1ZScga2VlcGFsaXZlcyA9 ICd2YWx1ZScga2VlcGFsaXZlc19pZGxlID0gJ3ZhbHVlJyBrZWVwYWxpdmVzX2ludGVydmFsID0g J3ZhbHVlJyB0Y3BfdXNlcl90aW1lb3V0ID0gJ3ZhbHVlJyBzc2xjb21wcmVzc2lvbiA9ICd2YWx1 ZScgc3NsbW9kZSA9ICd2YWx1ZScgc3NsY2VydCA9ICd2YWx1ZScgc3Nsa2V5ID0gJ3ZhbHVlJyBz c2xyb290Y2VydCA9ICd2YWx1ZScgc3NsY3JsID0gJ3ZhbHVlJyBrcmJzcnZuYW1lID0gJ3ZhbHVl JyBnc3NsaWIgPSAndmFsdWUnIGdzc2RlbGVnYXRpb24gPSAndmFsdWUnIHNzbHBhc3N3b3JkID0g J2R1bW15JyBzc2xrZXkgPSAndmFsdWUnIHNzbGNlcnQgPSAndmFsdWUnCisoMSByb3cpCisKK0RS T1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfcGdmZHdfc3Vic2NyaXB0aW9uOworLS0gPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogLS0gdGVzdCBlcnJvciBjYXNlIGZvciBjcmVhdGUgcHVibGljYXRpb24gb24gZm9yZWlnbiB0 YWJsZQogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZnRibCBGT1Ig VEFCTEUgZnQxOyAgLS0gc2hvdWxkIGZhaWwKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNf ZmR3L21lc29uLmJ1aWxkIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvbWVzb24uYnVpbGQKaW5kZXgg MmI4NmQ4YTZlZS4uY2Y3MDcxZGJmOCAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcv bWVzb24uYnVpbGQKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvbWVzb24uYnVpbGQKQEAgLTM5 LDQgKzM5LDkgQEAgdGVzdHMgKz0gewogICAgIF0sCiAgICAgJ3JlZ3Jlc3NfYXJncyc6IFsnLS1k bHBhdGgnLCBtZXNvbi5idWlsZF9yb290KCkgLyAnc3JjL3Rlc3QvcmVncmVzcyddLAogICB9LAor ICAndGFwJzogeworICAgICd0ZXN0cyc6IFsKKyAgICAgICd0LzAxMF9zdWJzY3JpcHRpb24ucGwn LAorICAgIF0sCisgIH0sCiB9CmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwv cG9zdGdyZXNfZmR3LnNxbCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcu c3FsCmluZGV4IDkwYzhmYTRiNzAuLjNiMjcxNmI4MmUgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9z dGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsCisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3 L3NxbC9wb3N0Z3Jlc19mZHcuc3FsCkBAIC0yNDgsNiArMjQ4LDE0IEBAIFNFTEVDVCBjMywgYzQg RlJPTSBmdDEgT1JERVIgQlkgYzMsIGMxIExJTUlUIDE7ICAtLSBzaG91bGQgd29yayBhZ2Fpbgog QU5BTFlaRSBmdDE7CiBBTFRFUiBGT1JFSUdOIFRBQkxFIGZ0MiBPUFRJT05TICh1c2VfcmVtb3Rl X2VzdGltYXRlICd0cnVlJyk7CiAKKy0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tIHRlc3Qgc3Vic2NyaXB0aW9u CistLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfcGdmZHdfc3Vic2Ny aXB0aW9uIFNFUlZFUiB0ZXN0c2VydmVyMQorICBQVUJMSUNBVElPTiBwdWIxIFdJVEggKHNsb3Rf bmFtZSA9IE5PTkUsIGNvbm5lY3QgPSBmYWxzZSk7CitTRUxFQ1QgcGdfY29ubmluZm9fZnJvbV9z ZXJ2ZXIoJ3Rlc3RzZXJ2ZXIxJywgQ1VSUkVOVF9VU0VSLCBmYWxzZSk7CitEUk9QIFNVQlNDUklQ VElPTiByZWdyZXNzX3BnZmR3X3N1YnNjcmlwdGlvbjsKKwogLS0gPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0gdGVz dCBlcnJvciBjYXNlIGZvciBjcmVhdGUgcHVibGljYXRpb24gb24gZm9yZWlnbiB0YWJsZQogLS0g PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvdC8wMTBfc3Vic2Ny aXB0aW9uLnBsIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvdC8wMTBfc3Vic2NyaXB0aW9uLnBsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmRhYTBiOWVkZDIKLS0tIC9kZXYv bnVsbAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy90LzAxMF9zdWJzY3JpcHRpb24ucGwKQEAg LTAsMCArMSw2OCBAQAorCisjIENvcHlyaWdodCAoYykgMjAyMS0yMDI0LCBQb3N0Z3JlU1FMIEds b2JhbCBEZXZlbG9wbWVudCBHcm91cAorCisjIEJhc2ljIGxvZ2ljYWwgcmVwbGljYXRpb24gdGVz dAordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5ncyBGQVRBTCA9PiAnYWxsJzsKK3VzZSBQb3N0Z3Jl U1FMOjpUZXN0OjpDbHVzdGVyOwordXNlIFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOwordXNlIFRl c3Q6Ok1vcmU7CisKKyMgSW5pdGlhbGl6ZSBwdWJsaXNoZXIgbm9kZQorbXkgJG5vZGVfcHVibGlz aGVyID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdwdWJsaXNoZXInKTsKKyRub2Rl X3B1Ymxpc2hlci0+aW5pdChhbGxvd3Nfc3RyZWFtaW5nID0+ICdsb2dpY2FsJyk7Ciskbm9kZV9w dWJsaXNoZXItPnN0YXJ0OworCisjIENyZWF0ZSBzdWJzY3JpYmVyIG5vZGUKK215ICRub2RlX3N1 YnNjcmliZXIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3N1YnNjcmliZXInKTsK KyRub2RlX3N1YnNjcmliZXItPmluaXQ7Ciskbm9kZV9zdWJzY3JpYmVyLT5zdGFydDsKKworIyBD cmVhdGUgc29tZSBwcmVleGlzdGluZyBjb250ZW50IG9uIHB1Ymxpc2hlcgorJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFRBQkxFIHRhYl9pbnMgQVMgU0VM RUNUIGdlbmVyYXRlX3NlcmllcygxLDEwMDIpIEFTIGEiKTsKKworIyBSZXBsaWNhdGUgdGhlIGNo YW5nZXMgd2l0aG91dCBjb2x1bW5zCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAiQ1JFQVRFIFRBQkxFIHRhYl9ub19jb2woKSIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKKwkiSU5TRVJUIElOVE8gdGFiX25vX2NvbCBkZWZhdWx0IFZBTFVF UyIpOworCisjIFNldHVwIHN0cnVjdHVyZSBvbiBzdWJzY3JpYmVyCiskbm9kZV9zdWJzY3JpYmVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBFWFRFTlNJT04gcG9zdGdyZXNfZmR3Iik7 Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSB0 YWJfaW5zIChhIGludCkiKTsKKworIyBTZXR1cCBsb2dpY2FsIHJlcGxpY2F0aW9uCitteSAkcHVi bGlzaGVyX2Nvbm5zdHIgPSAkbm9kZV9wdWJsaXNoZXItPmNvbm5zdHIgLiAnIGRibmFtZT1wb3N0 Z3Jlcyc7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFBV QkxJQ0FUSU9OIHRhcF9wdWIgRk9SIFRBQkxFIHRhYl9pbnMiKTsKKworbXkgJHB1Ymxpc2hlcl9o b3N0ID0gJG5vZGVfcHVibGlzaGVyLT5ob3N0OworbXkgJHB1Ymxpc2hlcl9wb3J0ID0gJG5vZGVf cHVibGlzaGVyLT5wb3J0OworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs CisJIkNSRUFURSBTRVJWRVIgdGFwX3NlcnZlciBGT1JFSUdOIERBVEEgV1JBUFBFUiBwb3N0Z3Jl c19mZHcgT1BUSU9OUyAoaG9zdCAnJHB1Ymxpc2hlcl9ob3N0JywgcG9ydCAnJHB1Ymxpc2hlcl9w b3J0JywgZGJuYW1lICdwb3N0Z3JlcycpIgorKTsKKworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsCisJIkNSRUFURSBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJQyBTRVJWRVIg dGFwX3NlcnZlciIKKyk7CisKKyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LAorCSJDUkVBVEUgU1VCU0NSSVBUSU9OIHRhcF9zdWIgU0VSVkVSIHRhcF9zZXJ2ZXIgUFVCTElD QVRJT04gdGFwX3B1YiBXSVRIIChwYXNzd29yZF9yZXF1aXJlZD1mYWxzZSkiCispOworCisjIFdh aXQgZm9yIGluaXRpYWwgdGFibGUgc3luYyB0byBmaW5pc2gKKyRub2RlX3N1YnNjcmliZXItPndh aXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRub2RlX3B1Ymxpc2hlciwgJ3RhcF9zdWInKTsKKwor bXkgJHJlc3VsdCA9CisgICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAi U0VMRUNUIGNvdW50KCopIEZST00gdGFiX2lucyIpOworaXMoJHJlc3VsdCwgcXEoMTAwMiksICdj aGVjayBpbml0aWFsIGRhdGEgd2FzIGNvcGllZCB0byBzdWJzY3JpYmVyJyk7CisKKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIklOU0VSVCBJTlRPIHRhYl9pbnMgU0VM RUNUIGdlbmVyYXRlX3NlcmllcygxLDUwKSIpOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9y X2NhdGNodXAoJ3RhcF9zdWInKTsKKworJHJlc3VsdCA9CisgICRub2RlX3N1YnNjcmliZXItPnNh ZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gdGFiX2lucyIpOworaXMo JHJlc3VsdCwgcXEoMTA1MiksICdjaGVjayBpbml0aWFsIGRhdGEgd2FzIGNvcGllZCB0byBzdWJz Y3JpYmVyJyk7CisKK2RvbmVfdGVzdGluZygpOwpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Jl Zi9hbHRlcl9zdWJzY3JpcHRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfc3Vic2Ny aXB0aW9uLnNnbWwKaW5kZXggNmQzNmZmMGRjOS4uNmQyMTkxNDVhOSAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL3JlZi9hbHRlcl9zdWJzY3JpcHRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwv cmVmL2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sCkBAIC0yMSw2ICsyMSw3IEBAIFBvc3RncmVTUUwg ZG9jdW1lbnRhdGlvbgogCiAgPHJlZnN5bm9wc2lzZGl2PgogPHN5bm9wc2lzPgorQUxURVIgU1VC U0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJs ZT4gU0VSVkVSIDxyZXBsYWNlYWJsZT5zZXJ2ZXJuYW1lPC9yZXBsYWNlYWJsZT4KIEFMVEVSIFNV QlNDUklQVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFi bGU+IENPTk5FQ1RJT04gJzxyZXBsYWNlYWJsZT5jb25uaW5mbzwvcmVwbGFjZWFibGU+JwogQUxU RVIgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBs YWNlYWJsZT4gU0VUIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w dWJsaWNhdGlvbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBbIFdJVEggKCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRpb25fb3B0aW9uPC9yZXBsYWNlYWJsZT4gWz0g PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT5dIFssIC4u LiBdICkgXQogQUxURVIgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5uYW1lPC9yZXBsYWNlYWJsZT4gQUREIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5wdWJsaWNhdGlvbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBbIFdJVEgg KCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRpb25fb3B0aW9uPC9yZXBs YWNlYWJsZT4gWz0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNl YWJsZT5dIFssIC4uLiBdICkgXQpAQCAtOTQsMTMgKzk1LDI0IEBAIEFMVEVSIFNVQlNDUklQVElP TiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFJFTkFN RSBUTyA8CiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgogCisgICA8dmFybGlz dGVudHJ5IGlkPSJzcWwtYWx0ZXJzdWJzY3JpcHRpb24tcGFyYW1zLXNlcnZlciI+CisgICAgPHRl cm0+PGxpdGVyYWw+U0VSVkVSIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zZXJ2ZXJu YW1lPC9yZXBsYWNlYWJsZT48L2xpdGVyYWw+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAg PHBhcmE+CisgICAgICBUaGlzIGNsYXVzZSByZXBsYWNlcyB0aGUgZm9yZWlnbiBzZXJ2ZXIgb3Ig Y29ubmVjdGlvbiBzdHJpbmcgb3JpZ2luYWxseQorICAgICAgc2V0IGJ5IDx4cmVmIGxpbmtlbmQ9 InNxbC1jcmVhdGVzdWJzY3JpcHRpb24iLz4gd2l0aCB0aGUgZm9yZWlnbiBzZXJ2ZXIKKyAgICAg IDxyZXBsYWNlYWJsZT5zZXJ2ZXJuYW1lPC9yZXBsYWNlYWJsZT4uCisgICAgIDwvcGFyYT4KKyAg ICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2YXJsaXN0ZW50cnkgaWQ9 InNxbC1hbHRlcnN1YnNjcmlwdGlvbi1wYXJhbXMtY29ubmVjdGlvbiI+CiAgICAgPHRlcm0+PGxp dGVyYWw+Q09OTkVDVElPTiAnPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbm5pbmZv PC9yZXBsYWNlYWJsZT4nPC9saXRlcmFsPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxw YXJhPgotICAgICAgVGhpcyBjbGF1c2UgcmVwbGFjZXMgdGhlIGNvbm5lY3Rpb24gc3RyaW5nIG9y aWdpbmFsbHkgc2V0IGJ5Ci0gICAgICA8eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRlc3Vic2NyaXB0 aW9uIi8+LiAgU2VlIHRoZXJlIGZvciBtb3JlCi0gICAgICBpbmZvcm1hdGlvbi4KKyAgICAgIFRo aXMgY2xhdXNlIHJlcGxhY2VzIHRoZSBmb3JlaWduIHNlcnZlciBvciBjb25uZWN0aW9uIHN0cmlu ZyBvcmlnaW5hbGx5CisgICAgICBzZXQgYnkgPHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXN1YnNj cmlwdGlvbiIvPiB3aXRoIHRoZSBjb25uZWN0aW9uCisgICAgICBzdHJpbmcgPHJlcGxhY2VhYmxl PmNvbm5pbmZvPC9yZXBsYWNlYWJsZT4uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgog ICAgPC92YXJsaXN0ZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9z dWJzY3JpcHRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5z Z21sCmluZGV4IGM3YWNlOTIyZjkuLjI0NTM4YmFmOTggMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dt bC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3Jl YXRlX3N1YnNjcmlwdGlvbi5zZ21sCkBAIC0yMiw3ICsyMiw3IEBAIFBvc3RncmVTUUwgZG9jdW1l bnRhdGlvbgogIDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KIENSRUFURSBTVUJTQ1JJUFRJ T04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN1YnNjcmlwdGlvbl9uYW1lPC9yZXBs YWNlYWJsZT4KLSAgICBDT05ORUNUSU9OICc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ Y29ubmluZm88L3JlcGxhY2VhYmxlPicKKyAgICB7IFNFUlZFUiA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+c2VydmVybmFtZTwvcmVwbGFjZWFibGU+IHwgQ09OTkVDVElPTiAnPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbm5pbmZvPC9yZXBsYWNlYWJsZT4nIH0KICAgICBQ VUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRpb25fbmFt ZTwvcmVwbGFjZWFibGU+IFssIC4uLl0KICAgICBbIFdJVEggKCA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+c3Vic2NyaXB0aW9uX3BhcmFtZXRlcjwvcmVwbGFjZWFibGU+IFs9IDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+XSBbLCAuLi4gXSAp IF0KIDwvc3lub3BzaXM+CkBAIC03Nyw2ICs3NywxNSBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdWJzY3JpcHRpb25fbmFtZTwvcmVwbGFjZWFi bAogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgPHZhcmxpc3RlbnRy eSBpZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJhbXMtc2VydmVyIj4KKyAgICA8dGVybT48 bGl0ZXJhbD5TRVJWRVIgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNlcnZlcm5hbWU8 L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFy YT4KKyAgICAgIEEgZm9yZWlnbiBzZXJ2ZXIgdG8gdXNlIGZvciB0aGUgY29ubmVjdGlvbi4KKyAg ICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZh cmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJhbXMtY29ubmVjdGlvbiI+ CiAgICAgPHRlcm0+PGxpdGVyYWw+Q09OTkVDVElPTiAnPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmNvbm5pbmZvPC9yZXBsYWNlYWJsZT4nPC9saXRlcmFsPjwvdGVybT4KICAgICA8bGlz dGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5j IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYwppbmRleCBjNTE2YzI1YWM3 Li5iM2NiYzE3MGQ1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlw dGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMKQEAgLTIw LDEyICsyMCwxNSBAQAogI2luY2x1ZGUgImFjY2Vzcy90YWJsZWFtLmgiCiAjaW5jbHVkZSAiYWNj ZXNzL3hhY3QuaCIKICNpbmNsdWRlICJjYXRhbG9nL2luZGV4aW5nLmgiCisjaW5jbHVkZSAiY2F0 YWxvZy9wZ19mb3JlaWduX3NlcnZlci5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfc3Vic2NyaXB0 aW9uLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19zdWJzY3JpcHRpb25fcmVsLmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ190eXBlLmgiCisjaW5jbHVkZSAiZm9yZWlnbi9mb3JlaWduLmgiCiAjaW5j bHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAibm9kZXMvbWFrZWZ1bmNzLmgiCiAjaW5jbHVk ZSAic3RvcmFnZS9sbWdyLmgiCisjaW5jbHVkZSAidXRpbHMvYWNsLmgiCiAjaW5jbHVkZSAidXRp bHMvYXJyYXkuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxz L2ZtZ3JvaWRzLmgiCkBAIC03NSwxMCArNzgsMzAgQEAgR2V0U3Vic2NyaXB0aW9uKE9pZCBzdWJp ZCwgYm9vbCBtaXNzaW5nX29rKQogCXN1Yi0+cnVuYXNvd25lciA9IHN1YmZvcm0tPnN1YnJ1bmFz b3duZXI7CiAKIAkvKiBHZXQgY29ubmluZm8gKi8KLQlkYXR1bSA9IFN5c0NhY2hlR2V0QXR0ck5v dE51bGwoU1VCU0NSSVBUSU9OT0lELAotCQkJCQkJCQkgICB0dXAsCi0JCQkJCQkJCSAgIEFudW1f cGdfc3Vic2NyaXB0aW9uX3N1YmNvbm5pbmZvKTsKLQlzdWItPmNvbm5pbmZvID0gVGV4dERhdHVt R2V0Q1N0cmluZyhkYXR1bSk7CisJaWYgKE9pZElzVmFsaWQoc3ViZm9ybS0+c3Vic2VydmVyKSkK Kwl7CisJCUFjbFJlc3VsdAlhY2xyZXN1bHQ7CisKKwkJLyogcmVjaGVjayBBQ0wgKi8KKwkJYWNs cmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkLAorCQkJCQkJ CQkJc3ViZm9ybS0+c3Vic2VydmVyLAorCQkJCQkJCQkJc3ViZm9ybS0+c3Vib3duZXIsIEFDTF9V U0FHRSk7CisKKwkJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKKwkJCWFjbGNoZWNrX2Vy cm9yKGFjbHJlc3VsdCwgT0JKRUNUX0ZPUkVJR05fU0VSVkVSLAorCQkJCQkJICAgRm9yZWlnblNl cnZlck5hbWUoc3ViZm9ybS0+c3Vic2VydmVyKSk7CisKKwkJc3ViLT5jb25uaW5mbyA9IEZvcmVp Z25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKHN1YmZvcm0tPnN1Ym93bmVyLAorCQkJCQkJCQkJCQkJ CSAgc3ViZm9ybS0+c3Vic2VydmVyLAorCQkJCQkJCQkJCQkJCSAgdHJ1ZSk7CisJfQorCWVsc2UK Kwl7CisJCWRhdHVtID0gU3lzQ2FjaGVHZXRBdHRyTm90TnVsbChTVUJTQ1JJUFRJT05PSUQsCisJ CQkJCQkJCQkgICB0dXAsCisJCQkJCQkJCQkgICBBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25u aW5mbyk7CisJCXN1Yi0+Y29ubmluZm8gPSBUZXh0RGF0dW1HZXRDU3RyaW5nKGRhdHVtKTsKKwl9 CiAKIAkvKiBHZXQgc2xvdG5hbWUgKi8KIAlkYXR1bSA9IFN5c0NhY2hlR2V0QXR0cihTVUJTQ1JJ UFRJT05PSUQsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25j bWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKaW5kZXggNzVl NmNkOGFlMy4uNjAyODdjNzNlNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vi c2NyaXB0aW9uY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNt ZHMuYwpAQCAtMjUsMTQgKzI1LDE3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNz LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hdXRoaWRfZC5oIgogI2luY2x1ZGUgImNhdGFsb2cv cGdfZGF0YWJhc2VfZC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfZm9yZWlnbl9zZXJ2ZXIuaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oIgogI2luY2x1ZGUgImNhdGFsb2cv cGdfc3Vic2NyaXB0aW9uX3JlbC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgorI2lu Y2x1ZGUgImNhdGFsb2cvcGdfdXNlcl9tYXBwaW5nLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZGJj b21tYW5kcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5oIgogI2luY2x1ZGUgImNvbW1h bmRzL2V2ZW50X3RyaWdnZXIuaCIKICNpbmNsdWRlICJjb21tYW5kcy9zdWJzY3JpcHRpb25jbWRz LmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKKyNpbmNsdWRlICJmb3JlaWduL2Zv cmVpZ24uaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJub2Rlcy9tYWtlZnVu Y3MuaCIKICNpbmNsdWRlICJwZ3N0YXQuaCIKQEAgLTU3NCw2ICs1NzcsOCBAQCBDcmVhdGVTdWJz Y3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10 LAogCURhdHVtCQl2YWx1ZXNbTmF0dHNfcGdfc3Vic2NyaXB0aW9uXTsKIAlPaWQJCQlvd25lciA9 IEdldFVzZXJJZCgpOwogCUhlYXBUdXBsZQl0dXA7CisJT2lkCQkJc2VydmVyaWQ7CisJT2lkCQkJ dW1pZDsKIAljaGFyCSAgICpjb25uaW5mbzsKIAljaGFyCQlvcmlnaW5uYW1lW05BTUVEQVRBTEVO XTsKIAlMaXN0CSAgICpwdWJsaWNhdGlvbnM7CkBAIC02NjYsMTUgKzY3MSw0MiBAQCBDcmVhdGVT dWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpz dG10LAogCWlmIChvcHRzLnN5bmNocm9ub3VzX2NvbW1pdCA9PSBOVUxMKQogCQlvcHRzLnN5bmNo cm9ub3VzX2NvbW1pdCA9ICJvZmYiOwogCi0JY29ubmluZm8gPSBzdG10LT5jb25uaW5mbzsKLQlw dWJsaWNhdGlvbnMgPSBzdG10LT5wdWJsaWNhdGlvbjsKLQogCS8qIExvYWQgdGhlIGxpYnJhcnkg cHJvdmlkaW5nIHVzIGxpYnBxIGNhbGxzLiAqLwogCWxvYWRfZmlsZSgibGlicHF3YWxyZWNlaXZl ciIsIGZhbHNlKTsKIAorCWlmIChzdG10LT5zZXJ2ZXJuYW1lKQorCXsKKwkJRm9yZWlnblNlcnZl cgkqc2VydmVyOworCQlVc2VyTWFwcGluZwkJKnVtOworCisJCUFzc2VydCghc3RtdC0+Y29ubmlu Zm8pOworCQljb25uaW5mbyA9IE5VTEw7CisKKwkJc2VydmVyID0gR2V0Rm9yZWlnblNlcnZlckJ5 TmFtZShzdG10LT5zZXJ2ZXJuYW1lLCBmYWxzZSk7CisJCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xj aGVjayhGb3JlaWduU2VydmVyUmVsYXRpb25JZCwgc2VydmVyLT5zZXJ2ZXJpZCwgb3duZXIsIEFD TF9VU0FHRSk7CisJCWlmIChhY2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spCisJCQlhY2xjaGVja19l cnJvcihhY2xyZXN1bHQsIE9CSkVDVF9GT1JFSUdOX1NFUlZFUiwgc2VydmVyLT5zZXJ2ZXJuYW1l KTsKKworCQl1bSA9IEdldFVzZXJNYXBwaW5nKG93bmVyLCBzZXJ2ZXItPnNlcnZlcmlkKTsKKwor CQlzZXJ2ZXJpZCA9IHNlcnZlci0+c2VydmVyaWQ7CisJCXVtaWQgPSB1bS0+dW1pZDsKKwkJY29u bmluZm8gPSBGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyhvd25lciwgc2VydmVyaWQsIHRy dWUpOworCX0KKwllbHNlCisJeworCQlBc3NlcnQoc3RtdC0+Y29ubmluZm8pOworCisJCXNlcnZl cmlkID0gSW52YWxpZE9pZDsKKwkJdW1pZCA9IEludmFsaWRPaWQ7CisJCWNvbm5pbmZvID0gc3Rt dC0+Y29ubmluZm87CisJfQorCiAJLyogQ2hlY2sgdGhlIGNvbm5lY3Rpb24gaW5mbyBzdHJpbmcu ICovCiAJd2FscmN2X2NoZWNrX2Nvbm5pbmZvKGNvbm5pbmZvLCBvcHRzLnBhc3N3b3JkcmVxdWly ZWQgJiYgIXN1cGVydXNlcigpKTsKIAorCXB1YmxpY2F0aW9ucyA9IHN0bXQtPnB1YmxpY2F0aW9u OworCiAJLyogRXZlcnl0aGluZyBvaywgZm9ybSBhIG5ldyB0dXBsZS4gKi8KIAltZW1zZXQodmFs dWVzLCAwLCBzaXplb2YodmFsdWVzKSk7CiAJbWVtc2V0KG51bGxzLCBmYWxzZSwgc2l6ZW9mKG51 bGxzKSk7CkBAIC02OTcsOCArNzI5LDEyIEBAIENyZWF0ZVN1YnNjcmlwdGlvbihQYXJzZVN0YXRl ICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJdmFsdWVzW0FudW1fcGdf c3Vic2NyaXB0aW9uX3N1YmRpc2FibGVvbmVyciAtIDFdID0gQm9vbEdldERhdHVtKG9wdHMuZGlz YWJsZW9uZXJyKTsKIAl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3VicGFzc3dvcmRyZXF1 aXJlZCAtIDFdID0gQm9vbEdldERhdHVtKG9wdHMucGFzc3dvcmRyZXF1aXJlZCk7CiAJdmFsdWVz W0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YnJ1bmFzb3duZXIgLSAxXSA9IEJvb2xHZXREYXR1bShv cHRzLnJ1bmFzb3duZXIpOwotCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25uaW5m byAtIDFdID0KLQkJQ1N0cmluZ0dldFRleHREYXR1bShjb25uaW5mbyk7CisJdmFsdWVzW0FudW1f cGdfc3Vic2NyaXB0aW9uX3N1YnNlcnZlciAtIDFdID0gc2VydmVyaWQ7CisJaWYgKCFPaWRJc1Zh bGlkKHNlcnZlcmlkKSkKKwkJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbm5pbmZv IC0gMV0gPQorCQkJQ1N0cmluZ0dldFRleHREYXR1bShjb25uaW5mbyk7CisJZWxzZQorCQludWxs c1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25uaW5mbyAtIDFdID0gdHJ1ZTsKIAlpZiAob3B0 cy5zbG90X25hbWUpCiAJCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJzbG90bmFtZSAt IDFdID0KIAkJCURpcmVjdEZ1bmN0aW9uQ2FsbDEobmFtZWluLCBDU3RyaW5nR2V0RGF0dW0ob3B0 cy5zbG90X25hbWUpKTsKQEAgLTcxOSw2ICs3NTUsMjAgQEAgQ3JlYXRlU3Vic2NyaXB0aW9uKFBh cnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAogCXJlY29y ZERlcGVuZGVuY3lPbk93bmVyKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1YmlkLCBvd25lcik7 CiAKKwlPYmplY3RBZGRyZXNzU2V0KG15c2VsZiwgU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3Vi aWQpOworCisJaWYgKHN0bXQtPnNlcnZlcm5hbWUpCisJeworCQlPYmplY3RBZGRyZXNzIHJlZmVy ZW5jZWQ7CisJCUFzc2VydChPaWRJc1ZhbGlkKHNlcnZlcmlkKSAmJiBPaWRJc1ZhbGlkKHVtaWQp KTsKKworCQlPYmplY3RBZGRyZXNzU2V0KHJlZmVyZW5jZWQsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlv bklkLCBzZXJ2ZXJpZCk7CisJCXJlY29yZERlcGVuZGVuY3lPbigmbXlzZWxmLCAmcmVmZXJlbmNl ZCwgREVQRU5ERU5DWV9OT1JNQUwpOworCisJCU9iamVjdEFkZHJlc3NTZXQocmVmZXJlbmNlZCwg VXNlck1hcHBpbmdSZWxhdGlvbklkLCB1bWlkKTsKKwkJcmVjb3JkRGVwZW5kZW5jeU9uKCZteXNl bGYsICZyZWZlcmVuY2VkLCBERVBFTkRFTkNZX05PUk1BTCk7CisJfQorCiAJUmVwbGljYXRpb25P cmlnaW5OYW1lRm9yTG9naWNhbFJlcChzdWJpZCwgSW52YWxpZE9pZCwgb3JpZ2lubmFtZSwgc2l6 ZW9mKG9yaWdpbm5hbWUpKTsKIAlyZXBsb3JpZ2luX2NyZWF0ZShvcmlnaW5uYW1lKTsKIApAQCAt ODM1LDggKzg4NSw2IEBAIENyZWF0ZVN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENy ZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJaWYgKG9wdHMuZW5hYmxlZCkKIAkJQXBwbHlM YXVuY2hlcldha2V1cEF0Q29tbWl0KCk7CiAKLQlPYmplY3RBZGRyZXNzU2V0KG15c2VsZiwgU3Vi c2NyaXB0aW9uUmVsYXRpb25JZCwgc3ViaWQpOwotCiAJSW52b2tlT2JqZWN0UG9zdENyZWF0ZUhv b2soU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3ViaWQsIDApOwogCiAJcmV0dXJuIG15c2VsZjsK QEAgLTExMjQsNiArMTE3Miw4IEBAIEFsdGVyU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0 ZSwgQWx0ZXJTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCW1lbXNldChudWxscywgZmFsc2UsIHNp emVvZihudWxscykpOwogCW1lbXNldChyZXBsYWNlcywgZmFsc2UsIHNpemVvZihyZXBsYWNlcykp OwogCisJT2JqZWN0QWRkcmVzc1NldChteXNlbGYsIFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1 YmlkKTsKKwogCXN3aXRjaCAoc3RtdC0+a2luZCkKIAl7CiAJCWNhc2UgQUxURVJfU1VCU0NSSVBU SU9OX09QVElPTlM6CkBAIC0xMjQ0LDcgKzEyOTQsODkgQEAgQWx0ZXJTdWJzY3JpcHRpb24oUGFy c2VTdGF0ZSAqcHN0YXRlLCBBbHRlclN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJCQkJYnJlYWs7 CiAJCQl9CiAKKwkJY2FzZSBBTFRFUl9TVUJTQ1JJUFRJT05fU0VSVkVSOgorCQkJeworCQkJCUZv cmVpZ25TZXJ2ZXIJKm5ld19zZXJ2ZXI7CisJCQkJVXNlck1hcHBpbmcJCSpuZXdfdW07CisJCQkJ T2JqZWN0QWRkcmVzcwkgcmVmZXJlbmNlZDsKKwkJCQlBY2xSZXN1bHQJCSBhY2xyZXN1bHQ7CisJ CQkJY2hhcgkJCSpjb25uaW5mbzsKKworCQkJCS8qCisJCQkJICogUmVtb3ZlIHdoYXQgd2FzIHRo ZXJlIGJlZm9yZSwgZWl0aGVyIGFub3RoZXIgZm9yZWlnbiBzZXJ2ZXIKKwkJCQkgKiBvciBhIGNv bm5lY3Rpb24gc3RyaW5nLgorCQkJCSAqLworCQkJCWlmIChmb3JtLT5zdWJzZXJ2ZXIpCisJCQkJ eworCQkJCQlVc2VyTWFwcGluZyAqb2xkX3VtID0gR2V0VXNlck1hcHBpbmcoZm9ybS0+c3Vib3du ZXIsIGZvcm0tPnN1YnNlcnZlcik7CisKKwkJCQkJZGVsZXRlRGVwZW5kZW5jeVJlY29yZHNGb3JT cGVjaWZpYyhTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBmb3JtLT5vaWQsCisJCQkJCQkJCQkJCQkJ ICAgREVQRU5ERU5DWV9OT1JNQUwsCisJCQkJCQkJCQkJCQkJICAgRm9yZWlnblNlcnZlclJlbGF0 aW9uSWQsIGZvcm0tPnN1YnNlcnZlcik7CisJCQkJCWRlbGV0ZURlcGVuZGVuY3lSZWNvcmRzRm9y U3BlY2lmaWMoU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgZm9ybS0+b2lkLAorCQkJCQkJCQkJCQkJ CSAgIERFUEVOREVOQ1lfTk9STUFMLAorCQkJCQkJCQkJCQkJCSAgIFVzZXJNYXBwaW5nUmVsYXRp b25JZCwgb2xkX3VtLT51bWlkKTsKKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbnVsbHNb QW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29ubmluZm8gLSAxXSA9IHRydWU7CisJCQkJCXJlcGxh Y2VzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbm5pbmZvIC0gMV0gPSB0cnVlOworCQkJCX0K KworCQkJCS8qCisJCQkJICogRmluZCB0aGUgbmV3IHNlcnZlciBhbmQgdXNlciBtYXBwaW5nLiBD aGVjayBBQ0wgb2Ygc2VydmVyCisJCQkJICogYmFzZWQgb24gY3VycmVudCB1c2VyIElELCBidXQg ZmluZCB0aGUgdXNlciBtYXBwaW5nIGJhc2VkCisJCQkJICogb24gdGhlIHN1YnNjcmlwdGlvbiBv d25lci4KKwkJCQkgKi8KKwkJCQluZXdfc2VydmVyID0gR2V0Rm9yZWlnblNlcnZlckJ5TmFtZShz dG10LT5zZXJ2ZXJuYW1lLCBmYWxzZSk7CisJCQkJYWNscmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNr KEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkLAorCQkJCQkJCQkJCQluZXdfc2VydmVyLT5zZXJ2ZXJp ZCwKKwkJCQkJCQkJCQkJZm9ybS0+c3Vib3duZXIsIEFDTF9VU0FHRSk7CisJCQkJaWYgKGFjbHJl c3VsdCAhPSBBQ0xDSEVDS19PSykKKwkJCQkJYWNsY2hlY2tfZXJyb3IoYWNscmVzdWx0LCBPQkpF Q1RfRk9SRUlHTl9TRVJWRVIsCisJCQkJCQkJCSAgIG5ld19zZXJ2ZXItPnNlcnZlcm5hbWUpOwor CisJCQkJbmV3X3VtID0gR2V0VXNlck1hcHBpbmcoZm9ybS0+c3Vib3duZXIsIG5ld19zZXJ2ZXIt PnNlcnZlcmlkKTsKKworCQkJCWNvbm5pbmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJp bmcoZm9ybS0+c3Vib3duZXIsCisJCQkJCQkJCQkJCQkJCSBuZXdfc2VydmVyLT5zZXJ2ZXJpZCwK KwkJCQkJCQkJCQkJCQkJIHRydWUpOworCisJCQkJLyogTG9hZCB0aGUgbGlicmFyeSBwcm92aWRp bmcgdXMgbGlicHEgY2FsbHMuICovCisJCQkJbG9hZF9maWxlKCJsaWJwcXdhbHJlY2VpdmVyIiwg ZmFsc2UpOworCQkJCS8qIENoZWNrIHRoZSBjb25uZWN0aW9uIGluZm8gc3RyaW5nLiAqLworCQkJ CXdhbHJjdl9jaGVja19jb25uaW5mbyhjb25uaW5mbywKKwkJCQkJCQkJCSAgc3ViLT5wYXNzd29y ZHJlcXVpcmVkICYmICFzdWItPm93bmVyc3VwZXJ1c2VyKTsKKworCQkJCXZhbHVlc1tBbnVtX3Bn X3N1YnNjcmlwdGlvbl9zdWJzZXJ2ZXIgLSAxXSA9IG5ld19zZXJ2ZXItPnNlcnZlcmlkOworCQkJ CXJlcGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YnNlcnZlciAtIDFdID0gdHJ1ZTsKKwor CQkJCU9iamVjdEFkZHJlc3NTZXQocmVmZXJlbmNlZCwgRm9yZWlnblNlcnZlclJlbGF0aW9uSWQs IG5ld19zZXJ2ZXItPnNlcnZlcmlkKTsKKwkJCQlyZWNvcmREZXBlbmRlbmN5T24oJm15c2VsZiwg JnJlZmVyZW5jZWQsIERFUEVOREVOQ1lfTk9STUFMKTsKKworCQkJCU9iamVjdEFkZHJlc3NTZXQo cmVmZXJlbmNlZCwgVXNlck1hcHBpbmdSZWxhdGlvbklkLCBuZXdfdW0tPnVtaWQpOworCQkJCXJl Y29yZERlcGVuZGVuY3lPbigmbXlzZWxmLCAmcmVmZXJlbmNlZCwgREVQRU5ERU5DWV9OT1JNQUwp OworCQkJCXVwZGF0ZV90dXBsZSA9IHRydWU7CisJCQl9CisJCQlicmVhazsKKwogCQljYXNlIEFM VEVSX1NVQlNDUklQVElPTl9DT05ORUNUSU9OOgorCQkJLyogcmVtb3ZlIHJlZmVyZW5jZSB0byBm b3JlaWduIHNlcnZlciBhbmQgZGVwZW5kZW5jaWVzLCBpZiBwcmVzZW50ICovCisJCQlpZiAoZm9y bS0+c3Vic2VydmVyKQorCQkJeworCQkJCVVzZXJNYXBwaW5nICpvbGRfdW0gPSBHZXRVc2VyTWFw cGluZyhmb3JtLT5zdWJvd25lciwgZm9ybS0+c3Vic2VydmVyKTsKKworCQkJCWRlbGV0ZURlcGVu ZGVuY3lSZWNvcmRzRm9yU3BlY2lmaWMoU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgZm9ybS0+b2lk LAorCQkJCQkJCQkJCQkJICAgREVQRU5ERU5DWV9OT1JNQUwsCisJCQkJCQkJCQkJCQkgICBGb3Jl aWduU2VydmVyUmVsYXRpb25JZCwgZm9ybS0+c3Vic2VydmVyKTsKKwkJCQlkZWxldGVEZXBlbmRl bmN5UmVjb3Jkc0ZvclNwZWNpZmljKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIGZvcm0tPm9pZCwK KwkJCQkJCQkJCQkJCSAgIERFUEVOREVOQ1lfTk9STUFMLAorCQkJCQkJCQkJCQkJICAgVXNlck1h cHBpbmdSZWxhdGlvbklkLCBvbGRfdW0tPnVtaWQpOworCisJCQkJdmFsdWVzW0FudW1fcGdfc3Vi c2NyaXB0aW9uX3N1YnNlcnZlciAtIDFdID0gSW52YWxpZE9pZDsKKwkJCQlyZXBsYWNlc1tBbnVt X3BnX3N1YnNjcmlwdGlvbl9zdWJzZXJ2ZXIgLSAxXSA9IHRydWU7CisJCQl9CisKIAkJCS8qIExv YWQgdGhlIGxpYnJhcnkgcHJvdmlkaW5nIHVzIGxpYnBxIGNhbGxzLiAqLwogCQkJbG9hZF9maWxl KCJsaWJwcXdhbHJlY2VpdmVyIiwgZmFsc2UpOwogCQkJLyogQ2hlY2sgdGhlIGNvbm5lY3Rpb24g aW5mbyBzdHJpbmcuICovCkBAIC0xNDU1LDggKzE1ODcsNiBAQCBBbHRlclN1YnNjcmlwdGlvbihQ YXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAogCXRhYmxl X2Nsb3NlKHJlbCwgUm93RXhjbHVzaXZlTG9jayk7CiAKLQlPYmplY3RBZGRyZXNzU2V0KG15c2Vs ZiwgU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3ViaWQpOwotCiAJSW52b2tlT2JqZWN0UG9zdEFs dGVySG9vayhTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWJpZCwgMCk7CiAKIAkvKiBXYWtlIHVw IHJlbGF0ZWQgcmVwbGljYXRpb24gd29ya2VycyB0byBoYW5kbGUgdGhpcyBjaGFuZ2UgcXVpY2ts eS4gKi8KQEAgLTE1NDEsOSArMTY3MSwyNSBAQCBEcm9wU3Vic2NyaXB0aW9uKERyb3BTdWJzY3Jp cHRpb25TdG10ICpzdG10LCBib29sIGlzVG9wTGV2ZWwpCiAJc3VibmFtZSA9IHBzdHJkdXAoTmFt ZVN0cigqRGF0dW1HZXROYW1lKGRhdHVtKSkpOwogCiAJLyogR2V0IGNvbm5pbmZvICovCi0JZGF0 dW0gPSBTeXNDYWNoZUdldEF0dHJOb3ROdWxsKFNVQlNDUklQVElPTk9JRCwgdHVwLAotCQkJCQkJ CQkgICBBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25uaW5mbyk7Ci0JY29ubmluZm8gPSBUZXh0 RGF0dW1HZXRDU3RyaW5nKGRhdHVtKTsKKwlpZiAoT2lkSXNWYWxpZChmb3JtLT5zdWJzZXJ2ZXIp KQorCXsKKwkJQWNsUmVzdWx0IGFjbHJlc3VsdDsKKworCQlhY2xyZXN1bHQgPSBvYmplY3RfYWNs Y2hlY2soRm9yZWlnblNlcnZlclJlbGF0aW9uSWQsIGZvcm0tPnN1YnNlcnZlciwKKwkJCQkJCQkJ CWZvcm0tPnN1Ym93bmVyLCBBQ0xfVVNBR0UpOworCQlpZiAoYWNscmVzdWx0ICE9IEFDTENIRUNL X09LKQorCQkJYWNsY2hlY2tfZXJyb3IoYWNscmVzdWx0LCBPQkpFQ1RfRk9SRUlHTl9TRVJWRVIs CisJCQkJCQkgICBGb3JlaWduU2VydmVyTmFtZShmb3JtLT5zdWJzZXJ2ZXIpKTsKKworCQljb25u aW5mbyA9IEZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKGZvcm0tPnN1Ym93bmVyLAorCQkJ CQkJCQkJCQkJIGZvcm0tPnN1YnNlcnZlciwgdHJ1ZSk7CisJfQorCWVsc2UKKwl7CisJCWRhdHVt ID0gU3lzQ2FjaGVHZXRBdHRyTm90TnVsbChTVUJTQ1JJUFRJT05PSUQsIHR1cCwKKwkJCQkJCQkJ CSAgIEFudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbm5pbmZvKTsKKwkJY29ubmluZm8gPSBUZXh0 RGF0dW1HZXRDU3RyaW5nKGRhdHVtKTsKKwl9CiAKIAkvKiBHZXQgc2xvdG5hbWUgKi8KIAlkYXR1 bSA9IFN5c0NhY2hlR2V0QXR0cihTVUJTQ1JJUFRJT05PSUQsIHR1cCwKQEAgLTE2NDQsNiArMTc5 MCw3IEBAIERyb3BTdWJzY3JpcHRpb24oRHJvcFN1YnNjcmlwdGlvblN0bXQgKnN0bXQsIGJvb2wg aXNUb3BMZXZlbCkKIAl9CiAKIAkvKiBDbGVhbiB1cCBkZXBlbmRlbmNpZXMgKi8KKwlkZWxldGVE ZXBlbmRlbmN5UmVjb3Jkc0ZvcihTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWJpZCwgZmFsc2Up OwogCWRlbGV0ZVNoYXJlZERlcGVuZGVuY3lSZWNvcmRzRm9yKFN1YnNjcmlwdGlvblJlbGF0aW9u SWQsIHN1YmlkLCAwKTsKIAogCS8qIFJlbW92ZSBhbnkgYXNzb2NpYXRlZCByZWxhdGlvbiBzeW5j aHJvbml6YXRpb24gc3RhdGVzLiAqLwpAQCAtMTg1Myw2ICsyMDAwLDE3IEBAIEFsdGVyU3Vic2Ny aXB0aW9uT3duZXJfaW50ZXJuYWwoUmVsYXRpb24gcmVsLCBIZWFwVHVwbGUgdHVwLCBPaWQgbmV3 T3duZXJJZCkKIAkJYWNsY2hlY2tfZXJyb3IoYWNscmVzdWx0LCBPQkpFQ1RfREFUQUJBU0UsCiAJ CQkJCSAgIGdldF9kYXRhYmFzZV9uYW1lKE15RGF0YWJhc2VJZCkpOwogCisJaWYgKGZvcm0tPnN1 YnNlcnZlcikKKwl7CisJCVVzZXJNYXBwaW5nICpvbGRfdW0gPSBHZXRVc2VyTWFwcGluZyhmb3Jt LT5zdWJvd25lciwgZm9ybS0+c3Vic2VydmVyKTsKKwkJVXNlck1hcHBpbmcgKm5ld191bSA9IEdl dFVzZXJNYXBwaW5nKG5ld093bmVySWQsIGZvcm0tPnN1YnNlcnZlcik7CisKKwkJaWYgKGNoYW5n ZURlcGVuZGVuY3lGb3IoU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgZm9ybS0+b2lkLAorCQkJCQkJ CQlVc2VyTWFwcGluZ1JlbGF0aW9uSWQsIG9sZF91bS0+dW1pZCwgbmV3X3VtLT51bWlkKSAhPSAx KQorCQkJZWxvZyhFUlJPUiwgImNvdWxkIG5vdCBjaGFuZ2UgdXNlciBtYXBwaW5nIGRlcGVuZGVu Y3kgZm9yIHN1YnNjcmlwdGlvbiAldSIsCisJCQkJIGZvcm0tPm9pZCk7CisJfQorCiAJZm9ybS0+ c3Vib3duZXIgPSBuZXdPd25lcklkOwogCUNhdGFsb2dUdXBsZVVwZGF0ZShyZWwsICZ0dXAtPnRf c2VsZiwgdHVwKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZm9yZWlnbi9mb3JlaWduLmMg Yi9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwppbmRleCBmZDFiNjQ0ZDcyLi5kNWQ3OGMz NDdlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYworKysgYi9zcmMv YmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwpAQCAtMTgwLDYgKzE4MCwzMSBAQCBHZXRGb3JlaWdu U2VydmVyRXh0ZW5kZWQoT2lkIHNlcnZlcmlkLCBiaXRzMTYgZmxhZ3MpCiB9CiAKIAorLyoKKyAq IEZvcmVpZ25TZXJ2ZXJOYW1lIC0gZ2V0IG5hbWUgb2YgZm9yZWlnbiBzZXJ2ZXIuCisgKi8KK2No YXIgKgorRm9yZWlnblNlcnZlck5hbWUoT2lkIHNlcnZlcmlkKQoreworCUZvcm1fcGdfZm9yZWln bl9zZXJ2ZXIgc2VydmVyZm9ybTsKKwljaGFyICpzZXJ2ZXJuYW1lOworCUhlYXBUdXBsZQl0cDsK KworCXRwID0gU2VhcmNoU3lzQ2FjaGUxKEZPUkVJR05TRVJWRVJPSUQsIE9iamVjdElkR2V0RGF0 dW0oc2VydmVyaWQpKTsKKworCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0cCkpCisJCWVsb2coRVJS T1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciBmb3JlaWduIHNlcnZlciAldSIsIHNlcnZlcmlk KTsKKworCXNlcnZlcmZvcm0gPSAoRm9ybV9wZ19mb3JlaWduX3NlcnZlcikgR0VUU1RSVUNUKHRw KTsKKworCXNlcnZlcm5hbWUgPSBwc3RyZHVwKE5hbWVTdHIoc2VydmVyZm9ybS0+c3J2bmFtZSkp OworCisJUmVsZWFzZVN5c0NhY2hlKHRwKTsKKworCXJldHVybiBzZXJ2ZXJuYW1lOworfQorCisK IC8qCiAgKiBHZXRGb3JlaWduU2VydmVyQnlOYW1lIC0gbG9vayB1cCB0aGUgZm9yZWlnbiBzZXJ2 ZXIgZGVmaW5pdGlvbiBieSBuYW1lLgogICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJz ZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCA2Yjg4MDk2ZThlLi4w YTAyNGFiNjM3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CisrKyBiL3Ny Yy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKQEAgLTEwNjQ4LDYgKzEwNjQ4LDE2IEBAIENyZWF0ZVN1 YnNjcmlwdGlvblN0bXQ6CiAJCQkJCW4tPm9wdGlvbnMgPSAkODsKIAkJCQkJJCQgPSAoTm9kZSAq KSBuOwogCQkJCX0KKwkJCXwgQ1JFQVRFIFNVQlNDUklQVElPTiBuYW1lIFNFUlZFUiBuYW1lIFBV QkxJQ0FUSU9OIG5hbWVfbGlzdCBvcHRfZGVmaW5pdGlvbgorCQkJCXsKKwkJCQkJQ3JlYXRlU3Vi c2NyaXB0aW9uU3RtdCAqbiA9CisJCQkJCQltYWtlTm9kZShDcmVhdGVTdWJzY3JpcHRpb25TdG10 KTsKKwkJCQkJbi0+c3VibmFtZSA9ICQzOworCQkJCQluLT5zZXJ2ZXJuYW1lID0gJDU7CisJCQkJ CW4tPnB1YmxpY2F0aW9uID0gJDc7CisJCQkJCW4tPm9wdGlvbnMgPSAkODsKKwkJCQkJJCQgPSAo Tm9kZSAqKSBuOworCQkJCX0KIAkJOwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTEwNjc3 LDYgKzEwNjg3LDE2IEBAIEFsdGVyU3Vic2NyaXB0aW9uU3RtdDoKIAkJCQkJbi0+Y29ubmluZm8g PSAkNTsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KKwkJCXwgQUxURVIgU1VCU0NSSVBU SU9OIG5hbWUgU0VSVkVSIG5hbWUKKwkJCQl7CisJCQkJCUFsdGVyU3Vic2NyaXB0aW9uU3RtdCAq biA9CisJCQkJCQltYWtlTm9kZShBbHRlclN1YnNjcmlwdGlvblN0bXQpOworCisJCQkJCW4tPmtp bmQgPSBBTFRFUl9TVUJTQ1JJUFRJT05fU0VSVkVSOworCQkJCQluLT5zdWJuYW1lID0gJDM7CisJ CQkJCW4tPnNlcnZlcm5hbWUgPSAkNTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KIAkJ CXwgQUxURVIgU1VCU0NSSVBUSU9OIG5hbWUgUkVGUkVTSCBQVUJMSUNBVElPTiBvcHRfZGVmaW5p dGlvbgogCQkJCXsKIAkJCQkJQWx0ZXJTdWJzY3JpcHRpb25TdG10ICpuID0KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgYi9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IDkxMTgzNWM1Y2IuLjRjYjk0YTFlZTgg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKKysr IGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpAQCAtNDAwMyw3ICs0 MDAzLDkgQEAgbWF5YmVfcmVyZWFkX3N1YnNjcmlwdGlvbih2b2lkKQogfQogCiAvKgotICogQ2Fs bGJhY2sgZnJvbSBzdWJzY3JpcHRpb24gc3lzY2FjaGUgaW52YWxpZGF0aW9uLgorICogQ2FsbGJh Y2sgZnJvbSBzdWJzY3JpcHRpb24gc3lzY2FjaGUgaW52YWxpZGF0aW9uLiBBbHNvIG5lZWRlZCBm b3Igc2VydmVyIG9yCisgKiB1c2VyIG1hcHBpbmcgaW52YWxpZGF0aW9uLCB3aGljaCBjYW4gY2hh bmdlIHRoZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZvcgorICogc3Vic2NyaXB0aW9ucyB0aGF0 IGNvbm5lY3QgdXNpbmcgYSBzZXJ2ZXIgb2JqZWN0LgogICovCiBzdGF0aWMgdm9pZAogc3Vic2Ny aXB0aW9uX2NoYW5nZV9jYihEYXR1bSBhcmcsIGludCBjYWNoZWlkLCB1aW50MzIgaGFzaHZhbHVl KQpAQCAtNDYzOSw2ICs0NjQxLDE0IEBAIEluaXRpYWxpemVMb2dSZXBXb3JrZXIodm9pZCkKIAlD YWNoZVJlZ2lzdGVyU3lzY2FjaGVDYWxsYmFjayhTVUJTQ1JJUFRJT05PSUQsCiAJCQkJCQkJCSAg c3Vic2NyaXB0aW9uX2NoYW5nZV9jYiwKIAkJCQkJCQkJICAoRGF0dW0pIDApOworCS8qIEtlZXAg dXMgaW5mb3JtZWQgYWJvdXQgc3Vic2NyaXB0aW9uIGNoYW5nZXMuICovCisJQ2FjaGVSZWdpc3Rl clN5c2NhY2hlQ2FsbGJhY2soRk9SRUlHTlNFUlZFUk9JRCwKKwkJCQkJCQkJICBzdWJzY3JpcHRp b25fY2hhbmdlX2NiLAorCQkJCQkJCQkgIChEYXR1bSkgMCk7CisJLyogS2VlcCB1cyBpbmZvcm1l ZCBhYm91dCBzdWJzY3JpcHRpb24gY2hhbmdlcy4gKi8KKwlDYWNoZVJlZ2lzdGVyU3lzY2FjaGVD YWxsYmFjayhVU0VSTUFQUElOR09JRCwKKwkJCQkJCQkJICBzdWJzY3JpcHRpb25fY2hhbmdlX2Ni LAorCQkJCQkJCQkgIChEYXR1bSkgMCk7CiAKIAlDYWNoZVJlZ2lzdGVyU3lzY2FjaGVDYWxsYmFj ayhBVVRIT0lELAogCQkJCQkJCQkgIHN1YnNjcmlwdGlvbl9jaGFuZ2VfY2IsCmRpZmYgLS1naXQg YS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpp bmRleCA3YjljNzkwMDVlLi42NDU2NDE2YWQzIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAv cGdfZHVtcC5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKQEAgLTQ2NTUsNiArNDY1 NSw3IEBAIGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkKIAlpbnQJCQlpX3N1YmRpc2Fi bGVvbmVycjsKIAlpbnQJCQlpX3N1YnBhc3N3b3JkcmVxdWlyZWQ7CiAJaW50CQkJaV9zdWJydW5h c293bmVyOworCWludAkJCWlfc3Vic2VydmVybmFtZTsKIAlpbnQJCQlpX3N1YmNvbm5pbmZvOwog CWludAkJCWlfc3Vic2xvdG5hbWU7CiAJaW50CQkJaV9zdWJzeW5jY29tbWl0OwpAQCAtNDcyNiwx MCArNDcyNywxMiBAQCBnZXRTdWJzY3JpcHRpb25zKEFyY2hpdmUgKmZvdXQpCiAJCQkJCQkgIExP R0lDQUxSRVBfT1JJR0lOX0FOWSk7CiAKIAlpZiAoZG9wdC0+YmluYXJ5X3VwZ3JhZGUgJiYgZm91 dC0+cmVtb3RlVmVyc2lvbiA+PSAxNzAwMDApCi0JCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5 LCAiIG8ucmVtb3RlX2xzbiBBUyBzdWJvcmlnaW5yZW1vdGVsc24sXG4iCisJCWFwcGVuZFBRRXhw QnVmZmVyU3RyKHF1ZXJ5LCAiIGZzLnNydm5hbWUgQVMgc3Vic2VydmVybmFtZSxcbiIKKwkJCQkJ CQkgIiBvLnJlbW90ZV9sc24gQVMgc3Vib3JpZ2lucmVtb3RlbHNuLFxuIgogCQkJCQkJCSAiIHMu c3ViZW5hYmxlZFxuIik7CiAJZWxzZQotCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBO VUxMIEFTIHN1Ym9yaWdpbnJlbW90ZWxzbixcbiIKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVl cnksICIgTlVMTCBBUyBzdWJzZXJ2ZXJuYW1lLFxuIgorCQkJCQkJCSAiIE5VTEwgQVMgc3Vib3Jp Z2lucmVtb3RlbHNuLFxuIgogCQkJCQkJCSAiIGZhbHNlIEFTIHN1YmVuYWJsZWRcbiIpOwogCiAJ YXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCkBAIC00NzM3LDYgKzQ3NDAsOCBAQCBnZXRTdWJz Y3JpcHRpb25zKEFyY2hpdmUgKmZvdXQpCiAKIAlpZiAoZG9wdC0+YmluYXJ5X3VwZ3JhZGUgJiYg Zm91dC0+cmVtb3RlVmVyc2lvbiA+PSAxNzAwMDApCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1 ZXJ5LAorCQkJCQkJCSAiTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdfZm9yZWlnbl9zZXJ2ZXIgZnMg XG4iCisJCQkJCQkJICIgICAgT04gZnMub2lkID0gcy5zdWJzZXJ2ZXIgXG4iCiAJCQkJCQkJICJM RUZUIEpPSU4gcGdfY2F0YWxvZy5wZ19yZXBsaWNhdGlvbl9vcmlnaW5fc3RhdHVzIG8gXG4iCiAJ CQkJCQkJICIgICAgT04gby5leHRlcm5hbF9pZCA9ICdwZ18nIHx8IHMub2lkOjp0ZXh0IFxuIik7 CiAKQEAgLTQ3NjIsNiArNDc2Nyw3IEBAIGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkK IAlpX3N1YmRpc2FibGVvbmVyciA9IFBRZm51bWJlcihyZXMsICJzdWJkaXNhYmxlb25lcnIiKTsK IAlpX3N1YnBhc3N3b3JkcmVxdWlyZWQgPSBQUWZudW1iZXIocmVzLCAic3VicGFzc3dvcmRyZXF1 aXJlZCIpOwogCWlfc3VicnVuYXNvd25lciA9IFBRZm51bWJlcihyZXMsICJzdWJydW5hc293bmVy Iik7CisJaV9zdWJzZXJ2ZXJuYW1lID0gUFFmbnVtYmVyKHJlcywgInN1YnNlcnZlcm5hbWUiKTsK IAlpX3N1YmNvbm5pbmZvID0gUFFmbnVtYmVyKHJlcywgInN1YmNvbm5pbmZvIik7CiAJaV9zdWJz bG90bmFtZSA9IFBRZm51bWJlcihyZXMsICJzdWJzbG90bmFtZSIpOwogCWlfc3Vic3luY2NvbW1p dCA9IFBRZm51bWJlcihyZXMsICJzdWJzeW5jY29tbWl0Iik7CkBAIC00NzgxLDcgKzQ3ODcsMTAg QEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNoaXZlICpmb3V0KQogCQlBc3NpZ25EdW1wSWQoJnN1Ymlu Zm9baV0uZG9iaik7CiAJCXN1YmluZm9baV0uZG9iai5uYW1lID0gcGdfc3RyZHVwKFBRZ2V0dmFs dWUocmVzLCBpLCBpX3N1Ym5hbWUpKTsKIAkJc3ViaW5mb1tpXS5yb2xuYW1lID0gZ2V0Um9sZU5h bWUoUFFnZXR2YWx1ZShyZXMsIGksIGlfc3Vib3duZXIpKTsKLQorCQlpZiAoUFFnZXRpc251bGwo cmVzLCBpLCBpX3N1YnNlcnZlcm5hbWUpKQorCQkJc3ViaW5mb1tpXS5zdWJzZXJ2ZXJuYW1lID0g TlVMTDsKKwkJZWxzZQorCQkJc3ViaW5mb1tpXS5zdWJzZXJ2ZXJuYW1lID0gcGdfc3RyZHVwKFBR Z2V0dmFsdWUocmVzLCBpLCBpX3N1YnNlcnZlcm5hbWUpKTsKIAkJc3ViaW5mb1tpXS5zdWJiaW5h cnkgPQogCQkJcGdfc3RyZHVwKFBRZ2V0dmFsdWUocmVzLCBpLCBpX3N1YmJpbmFyeSkpOwogCQlz dWJpbmZvW2ldLnN1YnN0cmVhbSA9CkBAIC01MDA3LDkgKzUwMTYsMTcgQEAgZHVtcFN1YnNjcmlw dGlvbihBcmNoaXZlICpmb3V0LCBjb25zdCBTdWJzY3JpcHRpb25JbmZvICpzdWJpbmZvKQogCWFw cGVuZFBRRXhwQnVmZmVyKGRlbHEsICJEUk9QIFNVQlNDUklQVElPTiAlcztcbiIsCiAJCQkJCSAg cXN1Ym5hbWUpOwogCi0JYXBwZW5kUFFFeHBCdWZmZXIocXVlcnksICJDUkVBVEUgU1VCU0NSSVBU SU9OICVzIENPTk5FQ1RJT04gIiwKKwlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIkNSRUFURSBT VUJTQ1JJUFRJT04gJXMgIiwKIAkJCQkJICBxc3VibmFtZSk7Ci0JYXBwZW5kU3RyaW5nTGl0ZXJh bEFIKHF1ZXJ5LCBzdWJpbmZvLT5zdWJjb25uaW5mbywgZm91dCk7CisJaWYgKHN1YmluZm8tPnN1 YnNlcnZlcm5hbWUpCisJeworCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIlNFUlZFUiAlcyIs IGZtdElkKHN1YmluZm8tPnN1YnNlcnZlcm5hbWUpKTsKKwl9CisJZWxzZQorCXsKKwkJYXBwZW5k UFFFeHBCdWZmZXIocXVlcnksICJDT05ORUNUSU9OICIpOworCQlhcHBlbmRTdHJpbmdMaXRlcmFs QUgocXVlcnksIHN1YmluZm8tPnN1YmNvbm5pbmZvLCBmb3V0KTsKKwl9CiAKIAkvKiBCdWlsZCBs aXN0IG9mIHF1b3RlZCBwdWJsaWNhdGlvbnMgYW5kIGFwcGVuZCB0aGVtIHRvIHF1ZXJ5LiAqLwog CWlmICghcGFyc2VQR0FycmF5KHN1YmluZm8tPnN1YnB1YmxpY2F0aW9ucywgJnB1Ym5hbWVzLCAm bnB1Ym5hbWVzKSkKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmggYi9zcmMv YmluL3BnX2R1bXAvcGdfZHVtcC5oCmluZGV4IDlhMzQzNDdjZmMuLmQzYWFhMjY4NjEgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3Bn X2R1bXAuaApAQCAtNjY5LDYgKzY2OSw3IEBAIHR5cGVkZWYgc3RydWN0IF9TdWJzY3JpcHRpb25J bmZvCiAJY2hhcgkgICAqc3ViZGlzYWJsZW9uZXJyOwogCWNoYXIJICAgKnN1YnBhc3N3b3JkcmVx dWlyZWQ7CiAJY2hhcgkgICAqc3VicnVuYXNvd25lcjsKKwljaGFyCSAgICpzdWJzZXJ2ZXJuYW1l OwogCWNoYXIJICAgKnN1YmNvbm5pbmZvOwogCWNoYXIJICAgKnN1YnNsb3RuYW1lOwogCWNoYXIJ ICAgKnN1YnN5bmNjb21taXQ7CmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRl LmMgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMKaW5kZXggMDk5MTQxNjVlNC4uOTk1ZjRm N2YyMiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5jCisrKyBiL3NyYy9i aW4vcHNxbC90YWItY29tcGxldGUuYwpAQCAtMzMyMiw3ICszMzIyLDcgQEAgcHNxbF9jb21wbGV0 aW9uKGNvbnN0IGNoYXIgKnRleHQsIGludCBzdGFydCwgaW50IGVuZCkKIAogLyogQ1JFQVRFIFNV QlNDUklQVElPTiAqLwogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJTVUJTQ1JJUFRJT04i LCBNYXRjaEFueSkpCi0JCUNPTVBMRVRFX1dJVEgoIkNPTk5FQ1RJT04iKTsKKwkJQ09NUExFVEVf V0lUSCgiU0VSVkVSIiwgIkNPTk5FQ1RJT04iKTsKIAllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUi LCAiU1VCU0NSSVBUSU9OIiwgTWF0Y2hBbnksICJDT05ORUNUSU9OIiwgTWF0Y2hBbnkpKQogCQlD T01QTEVURV9XSVRIKCJQVUJMSUNBVElPTiIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIs ICJTVUJTQ1JJUFRJT04iLCBNYXRjaEFueSwgIkNPTk5FQ1RJT04iLApkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfc3Vic2NyaXB0aW9uLmgKaW5kZXggY2EzMjYyNTU4NS4uNzRlOTA0YjExZCAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oCkBAIC05Myw5ICs5MywxMSBAQCBDQVRBTE9HKHBn X3N1YnNjcmlwdGlvbiw2MTAwLFN1YnNjcmlwdGlvblJlbGF0aW9uSWQpIEJLSV9TSEFSRURfUkVM QVRJT04gQktJX1JPVwogCWJvb2wJCXN1YnJ1bmFzb3duZXI7CS8qIFRydWUgaWYgcmVwbGljYXRp b24gc2hvdWxkIGV4ZWN1dGUgYXMgdGhlCiAJCQkJCQkJCSAqIHN1YnNjcmlwdGlvbiBvd25lciAq LwogCisJT2lkCQkJc3Vic2VydmVyOwkJLyogU2V0IGlmIGNvbm5lY3Rpbmcgd2l0aCBzZXJ2ZXIg Ki8KKwogI2lmZGVmIENBVEFMT0dfVkFSTEVOCQkJLyogdmFyaWFibGUtbGVuZ3RoIGZpZWxkcyBz dGFydCBoZXJlICovCiAJLyogQ29ubmVjdGlvbiBzdHJpbmcgdG8gdGhlIHB1Ymxpc2hlciAqLwot CXRleHQJCXN1YmNvbm5pbmZvIEJLSV9GT1JDRV9OT1RfTlVMTDsKKwl0ZXh0CQlzdWJjb25uaW5m bzsJLyogU2V0IGlmIGNvbm5lY3Rpbmcgd2l0aCBjb25uZWN0aW9uIHN0cmluZyAqLwogCiAJLyog U2xvdCBuYW1lIG9uIHB1Ymxpc2hlciAqLwogCU5hbWVEYXRhCXN1YnNsb3RuYW1lIEJLSV9GT1JD RV9OVUxMOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZm9yZWlnbi9mb3JlaWduLmggYi9zcmMv aW5jbHVkZS9mb3JlaWduL2ZvcmVpZ24uaAppbmRleCBiNWI5Yjk3ZjRkLi5hMmYwNGNlOWFmIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9mb3JlaWduL2ZvcmVpZ24uaAorKysgYi9zcmMvaW5jbHVk ZS9mb3JlaWduL2ZvcmVpZ24uaApAQCAtNjUsNiArNjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBGb3Jl aWduVGFibGUKIAogCiBleHRlcm4gRm9yZWlnblNlcnZlciAqR2V0Rm9yZWlnblNlcnZlcihPaWQg c2VydmVyaWQpOworZXh0ZXJuIGNoYXIgKkZvcmVpZ25TZXJ2ZXJOYW1lKE9pZCBzZXJ2ZXJpZCk7 CiBleHRlcm4gRm9yZWlnblNlcnZlciAqR2V0Rm9yZWlnblNlcnZlckV4dGVuZGVkKE9pZCBzZXJ2 ZXJpZCwKIAkJCQkJCQkJCQkJICAgYml0czE2IGZsYWdzKTsKIGV4dGVybiBGb3JlaWduU2VydmVy ICpHZXRGb3JlaWduU2VydmVyQnlOYW1lKGNvbnN0IGNoYXIgKnNydm5hbWUsCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJz ZW5vZGVzLmgKaW5kZXggYjMxODFmMzRhZS4uNmQ2YjI0MmNlYyAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9k ZXMuaApAQCAtNDA0MSw2ICs0MDQxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQ3JlYXRlU3Vic2NyaXB0 aW9uU3RtdAogewogCU5vZGVUYWcJCXR5cGU7CiAJY2hhcgkgICAqc3VibmFtZTsJCS8qIE5hbWUg b2YgdGhlIHN1YnNjcmlwdGlvbiAqLworCWNoYXIJICAgKnNlcnZlcm5hbWU7CQkvKiBTZXJ2ZXIg bmFtZSBvZiBwdWJsaXNoZXIgKi8KIAljaGFyCSAgICpjb25uaW5mbzsJCS8qIENvbm5lY3Rpb24g c3RyaW5nIHRvIHB1Ymxpc2hlciAqLwogCUxpc3QJICAgKnB1YmxpY2F0aW9uOwkvKiBPbmUgb3Ig bW9yZSBwdWJsaWNhdGlvbiB0byBzdWJzY3JpYmUgdG8gKi8KIAlMaXN0CSAgICpvcHRpb25zOwkJ LyogTGlzdCBvZiBEZWZFbGVtIG5vZGVzICovCkBAIC00MDQ5LDYgKzQwNTAsNyBAQCB0eXBlZGVm IHN0cnVjdCBDcmVhdGVTdWJzY3JpcHRpb25TdG10CiB0eXBlZGVmIGVudW0gQWx0ZXJTdWJzY3Jp cHRpb25UeXBlCiB7CiAJQUxURVJfU1VCU0NSSVBUSU9OX09QVElPTlMsCisJQUxURVJfU1VCU0NS SVBUSU9OX1NFUlZFUiwKIAlBTFRFUl9TVUJTQ1JJUFRJT05fQ09OTkVDVElPTiwKIAlBTFRFUl9T VUJTQ1JJUFRJT05fU0VUX1BVQkxJQ0FUSU9OLAogCUFMVEVSX1NVQlNDUklQVElPTl9BRERfUFVC TElDQVRJT04sCkBAIC00MDYzLDYgKzQwNjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBBbHRlclN1YnNj cmlwdGlvblN0bXQKIAlOb2RlVGFnCQl0eXBlOwogCUFsdGVyU3Vic2NyaXB0aW9uVHlwZSBraW5k OyAvKiBBTFRFUl9TVUJTQ1JJUFRJT05fT1BUSU9OUywgZXRjICovCiAJY2hhcgkgICAqc3VibmFt ZTsJCS8qIE5hbWUgb2YgdGhlIHN1YnNjcmlwdGlvbiAqLworCWNoYXIJICAgKnNlcnZlcm5hbWU7 CQkvKiBTZXJ2ZXIgbmFtZSBvZiBwdWJsaXNoZXIgKi8KIAljaGFyCSAgICpjb25uaW5mbzsJCS8q IENvbm5lY3Rpb24gc3RyaW5nIHRvIHB1Ymxpc2hlciAqLwogCUxpc3QJICAgKnB1YmxpY2F0aW9u OwkvKiBPbmUgb3IgbW9yZSBwdWJsaWNhdGlvbiB0byBzdWJzY3JpYmUgdG8gKi8KIAlMaXN0CSAg ICpvcHRpb25zOwkJLyogTGlzdCBvZiBEZWZFbGVtIG5vZGVzICovCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2ZvcmVpZ25fZGF0YS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL2ZvcmVpZ25fZGF0YS5vdXQKaW5kZXggZDUxZTgzZmY5Mi4uNjY4NWMxMzRjNiAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JlaWduX2RhdGEub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yZWlnbl9kYXRhLm91dApAQCAtNDMyLDYg KzQzMiwyMCBAQCBTRUxFQ1QgcGdfY29ubmluZm9fZnJvbV9zZXJ2ZXIoJ2Nvbm5lY3Rpb25fc2Vy dmVyJywgJ3JlZ3Jlc3NfdGVzdF9yb2xlMicsIGZhbHNlKQogRFJPUCBVU0VSIE1BUFBJTkcgRk9S IHJlZ3Jlc3NfdGVzdF9yb2xlIFNFUlZFUiBjb25uZWN0aW9uX3NlcnZlcjsKIERST1AgVVNFUiBN QVBQSU5HIEZPUiBQVUJMSUMgU0VSVkVSIGNvbm5lY3Rpb25fc2VydmVyOwogRFJPUCBTRVJWRVIg Y29ubmVjdGlvbl9zZXJ2ZXI7CitTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKK0NSRUFURSBT RVJWRVIgdDMgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVjdGlvbl9mZHc7ICAgLS0gRVJS T1I6IG5vIHBlcm1pc3Npb25zIG9uIEZEVworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3Ig Zm9yZWlnbi1kYXRhIHdyYXBwZXIgcGdfY29ubmVjdGlvbl9mZHcKK1JFU0VUIFJPTEU7CitHUkFO VCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2ZkdyBUTyByZWdy ZXNzX3Rlc3Rfcm9sZTsKK1NFVCBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOworQ1JFQVRFIFNFUlZF UiB0MyBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2ZkdzsKK0lNUE9SVCBGT1JF SUdOIFNDSEVNQSBmb28gRlJPTSBTRVJWRVIgdDMgSU5UTyBiYXI7IC0tIGZhaWxzCitFUlJPUjog IHNjaGVtYSAiYmFyIiBkb2VzIG5vdCBleGlzdAorQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgUFVC TElDIFNFUlZFUiB0MyBPUFRJT05TICh1c2VyICd4JywgcGFzc3dvcmQgJ3NlY3JldCcpOworRFJP UCBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJQyBTRVJWRVIgdDM7CitEUk9QIFNFUlZFUiB0MzsKK1JF U0VUIFJPTEU7CitSRVZPS0UgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVj dGlvbl9mZHcgRlJPTSByZWdyZXNzX3Rlc3Rfcm9sZTsKIC0tIEFMVEVSIFNFUlZFUgogQUxURVIg U0VSVkVSIHMwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0g RVJST1IKIEVSUk9SOiAgc3ludGF4IGVycm9yIGF0IG9yIG5lYXIgIjsiCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKaW5kZXggYjE1ZWRkYmZmMy4uN2I4NjZhNmZl NiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0 CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dApAQCAtMTQ0 LDYgKzE0NCw0NiBAQCBFUlJPUjogIGNvdWxkIG5vdCBjb25uZWN0IHRvIHRoZSBwdWJsaXNoZXI6 IGludmFsaWQgcG9ydCBudW1iZXI6ICItMSIKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWIgQ09OTkVDVElPTiAnZm9vYmFyJzsKIEVSUk9SOiAgaW52YWxpZCBjb25uZWN0aW9uIHN0 cmluZyBzeW50YXg6IG1pc3NpbmcgIj0iIGFmdGVyICJmb29iYXIiIGluIGNvbm5lY3Rpb24gaW5m byBzdHJpbmcKIAorUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OOworR1JBTlQgQ1JFQVRFIE9O IERBVEFCQVNFIFJFR1JFU1NJT04gVE8gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CitTRVQg U0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzOworQ1JFQVRF IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdCBwYXNzd29yZD1yZWdyZXNzX2Zha2VwYXNzd29yZCcgUFVCTElDQVRJT04g dGVzdHB1YiBXSVRIIChzbG90X25hbWUgPSBOT05FLCBjb25uZWN0ID0gZmFsc2UpOworV0FSTklO RzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKK0hJTlQ6 ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSBy ZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIHJlZnJlc2ggdGhl IHN1YnNjcmlwdGlvbi4KK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjY7CistLSB0 ZXN0IHVzaW5nIGEgc2VydmVyIG9iamVjdCBpbnN0ZWFkIG9mIGNvbm5lY3Rpb24gc3RyaW5nCitS RVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CitDUkVBVEUgU0VSVkVSIHJlZ3Jlc3NfdGVzdHNl cnZlciBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2ZkdzsKK0NSRUFURSBVU0VS IE1BUFBJTkcgRk9SIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzIFNFUlZFUiByZWdyZXNzX3Rl c3RzZXJ2ZXIKKyAgT1BUSU9OUyAocGFzc3dvcmQgJ3NlY3JldCcpOworR1JBTlQgVVNBR0UgT04g Rk9SRUlHTiBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyIFRPIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIzOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3N1YnNjcmlwdGlvbl91 c2VyMzsKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNiBTRVJWRVIgcmVncmVz c190ZXN0c2VydmVyIFBVQkxJQ0FUSU9OIHRlc3RwdWIKKyAgV0lUSCAoc2xvdF9uYW1lID0gTk9O RSwgY29ubmVjdCA9IGZhbHNlKTsKK1dBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQs IGJ1dCBpcyBub3QgY29ubmVjdGVkCitISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlv dSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBz dWJzY3JpcHRpb24sIGFuZCByZWZyZXNoIHRoZSBzdWJzY3JpcHRpb24uCitSRVNFVCBTRVNTSU9O IEFVVEhPUklaQVRJT047CistLSB0ZXN0IGFuIEZEVyB3aXRoIG5vIHZhbGlkYXRvcgorQ1JFQVRF IEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZmR3OworQ1JFQVRFIFNFUlZFUiByZWdyZXNz X3Rlc3RzZXJ2ZXIyIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZmR3CisgIE9QVElPTlMg KGFiYyAneHl6Jyk7CitDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3N1YnNjcmlwdGlv bl91c2VyMyBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyMgorICBPUFRJT05TIChwYXNzd29yZCAn c2VjcmV0Jyk7CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2 ZXIyIFRPIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzOworU0VUIFNFU1NJT04gQVVUSE9SSVpB VElPTiByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMzsKK0FMVEVSIFNVQlNDUklQVElPTiByZWdy ZXNzX3Rlc3RzdWI2IFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXIyOworQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YjYgU0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlcjsKK1JFU0VUIFNF U1NJT04gQVVUSE9SSVpBVElPTjsKK0RST1AgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyMyBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyMjsKK0RST1AgU0VSVkVSIHJl Z3Jlc3NfdGVzdHNlcnZlcjI7CitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHJlZ3Jlc3NfZmR3 OworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjYgT1dORVIgVE8gcmVncmVzc19z dWJzY3JpcHRpb25fdXNlcjsgLS0gZmFpbCwgbm8gdXNlciBtYXBwaW5nCitFUlJPUjogIHVzZXIg bWFwcGluZyBub3QgZm91bmQgZm9yIHVzZXIgInJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIiLCBz ZXJ2ZXIgInJlZ3Jlc3NfdGVzdHNlcnZlciIKK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVz dHN1YjY7CitEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjMg U0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlcjsKK0RST1AgU0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZl cjsKK1JFVk9LRSBDUkVBVEUgT04gREFUQUJBU0UgcmVncmVzc2lvbiBGUk9NIHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIzOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyOwogXGRScysKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCiAgICAgICBOYW1lICAgICAgIHwg ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFy eSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3Jp Z2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgU3luY2hyb25vdXMgY29t bWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04gCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JlaWduX2RhdGEuc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvZm9yZWlnbl9kYXRhLnNxbAppbmRleCA0MzQ2MWRlN2Y5Li4zMzdhY2FmYzJkIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JlaWduX2RhdGEuc3FsCisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fZGF0YS5zcWwKQEAgLTIxMiw2ICsyMTIsMjMgQEAgRFJP UCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3NfdGVzdF9yb2xlIFNFUlZFUiBjb25uZWN0aW9uX3Nl cnZlcjsKIERST1AgVVNFUiBNQVBQSU5HIEZPUiBQVUJMSUMgU0VSVkVSIGNvbm5lY3Rpb25fc2Vy dmVyOwogRFJPUCBTRVJWRVIgY29ubmVjdGlvbl9zZXJ2ZXI7CiAKK1NFVCBST0xFIHJlZ3Jlc3Nf dGVzdF9yb2xlOworQ1JFQVRFIFNFUlZFUiB0MyBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25u ZWN0aW9uX2ZkdzsgICAtLSBFUlJPUjogbm8gcGVybWlzc2lvbnMgb24gRkRXCitSRVNFVCBST0xF OworR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVjdGlvbl9mZHcg VE8gcmVncmVzc190ZXN0X3JvbGU7CitTRVQgUk9MRSByZWdyZXNzX3Rlc3Rfcm9sZTsKKworQ1JF QVRFIFNFUlZFUiB0MyBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2ZkdzsKKwor SU1QT1JUIEZPUkVJR04gU0NIRU1BIGZvbyBGUk9NIFNFUlZFUiB0MyBJTlRPIGJhcjsgLS0gZmFp bHMKKworQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgUFVCTElDIFNFUlZFUiB0MyBPUFRJT05TICh1 c2VyICd4JywgcGFzc3dvcmQgJ3NlY3JldCcpOworRFJPUCBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJ QyBTRVJWRVIgdDM7CitEUk9QIFNFUlZFUiB0MzsKKworUkVTRVQgUk9MRTsKK1JFVk9LRSBVU0FH RSBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBwZ19jb25uZWN0aW9uX2ZkdyBGUk9NIHJlZ3Jlc3Nf dGVzdF9yb2xlOworCiAtLSBBTFRFUiBTRVJWRVIKIEFMVEVSIFNFUlZFUiBzMDsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIEVSUk9SCiBBTFRFUiBTRVJWRVIg czAgT1BUSU9OUyAoYSAnMScpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBFUlJPUgpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKaW5kZXggNDQ0ZTU2M2ZmMy4uOTVjODI2 MDMwYiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsCkBAIC04OCw2ICs4OCw1 MSBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjUgQ09OTkVDVElPTiAncG9y dD0tMScgUFVCTElDQVRJT04gdGVzdHB1YjsKIC0tIGZhaWwgLSBpbnZhbGlkIGNvbm5lY3Rpb24g c3RyaW5nIGR1cmluZyBBTFRFUgogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBD T05ORUNUSU9OICdmb29iYXInOwogCitSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CitHUkFO VCBDUkVBVEUgT04gREFUQUJBU0UgUkVHUkVTU0lPTiBUTyByZWdyZXNzX3N1YnNjcmlwdGlvbl91 c2VyMzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19zdWJzY3JpcHRpb25fdXNl cjM7CisKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNiBDT05ORUNUSU9OICdk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgcGFzc3dvcmQ9cmVncmVzc19mYWtlcGFzc3dvcmQn IFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoc2xvdF9uYW1lID0gTk9ORSwgY29ubmVjdCA9IGZh bHNlKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjY7CisKKy0tIHRlc3QgdXNp bmcgYSBzZXJ2ZXIgb2JqZWN0IGluc3RlYWQgb2YgY29ubmVjdGlvbiBzdHJpbmcKKworUkVTRVQg U0VTU0lPTiBBVVRIT1JJWkFUSU9OOworQ1JFQVRFIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXIg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVjdGlvbl9mZHc7CitDUkVBVEUgVVNFUiBNQVBQ SU5HIEZPUiByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMyBTRVJWRVIgcmVncmVzc190ZXN0c2Vy dmVyCisgIE9QVElPTlMgKHBhc3N3b3JkICdzZWNyZXQnKTsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJ R04gU0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlciBUTyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy MzsKKworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy MzsKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNiBTRVJWRVIgcmVncmVzc190 ZXN0c2VydmVyIFBVQkxJQ0FUSU9OIHRlc3RwdWIKKyAgV0lUSCAoc2xvdF9uYW1lID0gTk9ORSwg Y29ubmVjdCA9IGZhbHNlKTsKK1JFU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsKKworLS0gdGVz dCBhbiBGRFcgd2l0aCBubyB2YWxpZGF0b3IKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBy ZWdyZXNzX2ZkdzsKK0NSRUFURSBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyMiBGT1JFSUdOIERB VEEgV1JBUFBFUiByZWdyZXNzX2ZkdworICBPUFRJT05TIChhYmMgJ3h5eicpOworQ1JFQVRFIFVT RVIgTUFQUElORyBGT1IgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjMgU0VSVkVSIHJlZ3Jlc3Nf dGVzdHNlcnZlcjIKKyAgT1BUSU9OUyAocGFzc3dvcmQgJ3NlY3JldCcpOworR1JBTlQgVVNBR0Ug T04gRk9SRUlHTiBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyMiBUTyByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyMzsKKworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyMzsKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2IFNFUlZFUiBy ZWdyZXNzX3Rlc3RzZXJ2ZXIyOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjYg U0VSVkVSIHJlZ3Jlc3NfdGVzdHNlcnZlcjsKKworUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9O OworRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzIFNFUlZF UiByZWdyZXNzX3Rlc3RzZXJ2ZXIyOworRFJPUCBTRVJWRVIgcmVncmVzc190ZXN0c2VydmVyMjsK K0RST1AgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcmVncmVzc19mZHc7CisKK0FMVEVSIFNVQlNDUklQ VElPTiByZWdyZXNzX3Rlc3RzdWI2IE9XTkVSIFRPIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXI7 IC0tIGZhaWwsIG5vIHVzZXIgbWFwcGluZworRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0 c3ViNjsKKworRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIz IFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2ZXI7CitEUk9QIFNFUlZFUiByZWdyZXNzX3Rlc3RzZXJ2 ZXI7CitSRVZPS0UgQ1JFQVRFIE9OIERBVEFCQVNFIHJlZ3Jlc3Npb24gRlJPTSByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyMzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19zdWJz Y3JpcHRpb25fdXNlcjsKKwogXGRScysKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVz dHN1YiBTRVQgUFVCTElDQVRJT04gdGVzdHB1YjIsIHRlc3RwdWIzIFdJVEggKHJlZnJlc2ggPSBm YWxzZSk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMDFfcmVwX2NoYW5n ZXMucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMDFfcmVwX2NoYW5nZXMucGwKaW5kZXgg OWNjZWJkODkwYS4uNGNiZjJkY2VhYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDAxX3JlcF9jaGFuZ2VzLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwMV9y ZXBfY2hhbmdlcy5wbApAQCAtMjcsNiArMjcsOCBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLAogCSJDUkVBVEUgVEFCTEUgdGFiX25vdHJlcCBBUyBTRUxFQ1QgZ2VuZXJh dGVfc2VyaWVzKDEsMTApIEFTIGEiKTsKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsCiAJIkNSRUFURSBUQUJMRSB0YWJfaW5zIEFTIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMo MSwxMDAyKSBBUyBhIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAor CSJDUkVBVEUgVEFCTEUgdGFiX2luczIgQVMgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLDEwMDIp IEFTIGEiKTsKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkNSRUFU RSBUQUJMRSB0YWJfZnVsbCBBUyBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsMTApIEFTIGEiKTsK ICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdGFi X2Z1bGwyICh4IHRleHQpIik7CkBAIC02NSw2ICs2Nyw3IEBAICRub2RlX3B1Ymxpc2hlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsCiAjIFNldHVwIHN0cnVjdHVyZSBvbiBzdWJzY3JpYmVyCiAkbm9k ZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSB0YWJfbm90 cmVwIChhIGludCkiKTsKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAi Q1JFQVRFIFRBQkxFIHRhYl9pbnMgKGEgaW50KSIpOworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdGFiX2luczIgKGEgaW50KSIpOwogJG5vZGVf c3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdGFiX2Z1bGwg KGEgaW50KSIpOwogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVB VEUgVEFCTEUgdGFiX2Z1bGwyICh4IHRleHQpIik7CiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywKQEAgLTExMCw2ICsxMTMsMjIgQEAgJG5vZGVfc3Vic2NyaWJlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkNSRUFURSBTVUJTQ1JJUFRJT04gdGFwX3N1YiBDT05ORUNU SU9OICckcHVibGlzaGVyX2Nvbm5zdHInIFBVQkxJQ0FUSU9OIHRhcF9wdWIsIHRhcF9wdWJfaW5z X29ubHkiCiApOwogCitteSAkcHVibGlzaGVyX2hvc3QgPSAkbm9kZV9wdWJsaXNoZXItPmhvc3Q7 CitteSAkcHVibGlzaGVyX3BvcnQgPSAkbm9kZV9wdWJsaXNoZXItPnBvcnQ7Ciskbm9kZV9zdWJz Y3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFNFUlZFUiB0YXBfc3ViMl9z ZXJ2ZXIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgcGdfY29ubmVjdGlvbl9mZHcgT1BUSU9OUyAoaG9z dCAnJHB1Ymxpc2hlcl9ob3N0JywgcG9ydCAnJHB1Ymxpc2hlcl9wb3J0JywgZGJuYW1lICdwb3N0 Z3JlcycpIgorKTsKKworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJ IkNSRUFURSBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJQyBTRVJWRVIgdGFwX3N1YjJfc2VydmVyIgor KTsKKworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBQVUJM SUNBVElPTiB0YXBfc2ltcGxlX3B1YiBGT1IgVEFCTEUgdGFiX2luczIiKTsKKworJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkNSRUFURSBTVUJTQ1JJUFRJT04gdGFw X3N1YjIgU0VSVkVSIHRhcF9zdWIyX3NlcnZlciBQVUJMSUNBVElPTiB0YXBfc2ltcGxlX3B1YiBX SVRIIChwYXNzd29yZF9yZXF1aXJlZD1mYWxzZSkiCispOworCiAjIFdhaXQgZm9yIGluaXRpYWwg dGFibGUgc3luYyB0byBmaW5pc2gKICRub2RlX3N1YnNjcmliZXItPndhaXRfZm9yX3N1YnNjcmlw dGlvbl9zeW5jKCRub2RlX3B1Ymxpc2hlciwgJ3RhcF9zdWInKTsKIApAQCAtMTIxLDExICsxNDAs MjIgQEAgJHJlc3VsdCA9CiAgICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAiU0VMRUNUIGNvdW50KCopIEZST00gdGFiX2lucyIpOwogaXMoJHJlc3VsdCwgcXEoMTAwMiks ICdjaGVjayBpbml0aWFsIGRhdGEgd2FzIGNvcGllZCB0byBzdWJzY3JpYmVyJyk7CiAKKyRyZXN1 bHQgPQorICAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBj b3VudCgqKSBGUk9NIHRhYl9pbnMyIik7CitpcygkcmVzdWx0LCBxcSgxMDAyKSwgJ2NoZWNrIGlu aXRpYWwgZGF0YSB3YXMgY29waWVkIHRvIHN1YnNjcmliZXInKTsKKworJG5vZGVfc3Vic2NyaWJl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJBTFRFUiBTVUJTQ1JJUFRJT04gdGFwX3N1YjIgQ09O TkVDVElPTiAnJHB1Ymxpc2hlcl9jb25uc3RyJyIpOworCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLAogCSJJTlNFUlQgSU5UTyB0YWJfaW5zIFNFTEVDVCBnZW5lcmF0ZV9z ZXJpZXMoMSw1MCkiKTsKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJE RUxFVEUgRlJPTSB0YWJfaW5zIFdIRVJFIGEgPiAyMCIpOwogJG5vZGVfcHVibGlzaGVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgIlVQREFURSB0YWJfaW5zIFNFVCBhID0gLWEiKTsKIAorJG5vZGVf cHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiSU5TRVJUIElOVE8gdGFiX2luczIg U0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLDUwKSIpOworCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgIkFMVEVSIFNVQlNDUklQVElPTiB0YXBfc3ViMiBTRVJWRVIgdGFw X3N1YjJfc2VydmVyIik7CisKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs CiAJIklOU0VSVCBJTlRPIHRhYl9yZXAgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLDUwKSIpOwog JG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkRFTEVURSBGUk9NIHRhYl9y ZXAgV0hFUkUgYSA+IDIwIik7CkBAIC0xNTgsNiArMTg4LDEwIEBAICRyZXN1bHQgPSAkbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiU0VMRUNUIGNvdW50KCopLCBtaW4o YSksIG1heChhKSBGUk9NIHRhYl9pbnMiKTsKIGlzKCRyZXN1bHQsIHFxKDEwNTJ8MXwxMDAyKSwg J2NoZWNrIHJlcGxpY2F0ZWQgaW5zZXJ0cyBvbiBzdWJzY3JpYmVyJyk7CiAKKyRyZXN1bHQgPSAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KCop LCBtaW4oYSksIG1heChhKSBGUk9NIHRhYl9pbnMyIik7CitpcygkcmVzdWx0LCBxcSgxMDUyfDF8 MTAwMiksICdjaGVjayByZXBsaWNhdGVkIGluc2VydHMgb24gc3Vic2NyaWJlcicpOworCiAkcmVz dWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCBj b3VudCgqKSwgbWluKGEpLCBtYXgoYSkgRlJPTSB0YWJfcmVwIik7CiBpcygkcmVzdWx0LCBxcSgy MHwtMjB8LTEpLCAnY2hlY2sgcmVwbGljYXRlZCBjaGFuZ2VzIG9uIHN1YnNjcmliZXInKTsKQEAg LTQ0OSwxMCArNDgzLDI3IEBAICRub2RlX3B1Ymxpc2hlci0+cG9sbF9xdWVyeV91bnRpbCgncG9z dGdyZXMnLAogICBvciBkaWUKICAgIlRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciBhcHBseSB0 byByZXN0YXJ0IGFmdGVyIGNoYW5naW5nIFBVQkxJQ0FUSU9OIjsKIAorIyB0ZXN0IHRoYXQgY2hh bmdlcyB0byBhIGZvcmVpZ24gc2VydmVyIHN1YnNjcmlwdGlvbiBjYXVzZSB0aGUgd29ya2VyCisj IHRvIHJlc3RhcnQKKyRvbGRwaWQgPSAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLAorCSJTRUxFQ1QgcGlkIEZST00gcGdfc3RhdF9yZXBsaWNhdGlvbiBXSEVSRSBhcHBsaWNh dGlvbl9uYW1lID0gJ3RhcF9zdWIyJyBBTkQgc3RhdGUgPSAnc3RyZWFtaW5nJzsiCispOworJG5v ZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkFMVEVSIFNFUlZFUiB0YXBf c3ViMl9zZXJ2ZXIgT1BUSU9OUyAoc3NsbW9kZSAnZGlzYWJsZScpIgorKTsKKyRub2RlX3B1Ymxp c2hlci0+cG9sbF9xdWVyeV91bnRpbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgcGlkICE9ICRvbGRw aWQgRlJPTSBwZ19zdGF0X3JlcGxpY2F0aW9uIFdIRVJFIGFwcGxpY2F0aW9uX25hbWUgPSAndGFw X3N1YjInIEFORCBzdGF0ZSA9ICdzdHJlYW1pbmcnOyIKKyAgKQorICBvciBkaWUKKyAgIlRpbWVk IG91dCB3aGlsZSB3YWl0aW5nIGZvciBhcHBseSB0byByZXN0YXJ0IGFmdGVyIGNoYW5naW5nIFBV QkxJQ0FUSU9OIjsKKwogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAki SU5TRVJUIElOVE8gdGFiX2lucyBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEwMDEsMTEwMCkiKTsK ICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJERUxFVEUgRlJPTSB0YWJf cmVwIik7CiAKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIklOU0VS VCBJTlRPIHRhYl9pbnMyIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMTAwMSwxMTAwKSIpOworCiAj IFJlc3RhcnQgdGhlIHB1Ymxpc2hlciBhbmQgY2hlY2sgdGhlIHN0YXRlIG9mIHRoZSBzdWJzY3Jp YmVyIHdoaWNoCiAjIHNob3VsZCBiZSBpbiBhIHN0cmVhbWluZyBzdGF0ZSBhZnRlciBjYXRjaGlu ZyB1cC4KICRub2RlX3B1Ymxpc2hlci0+c3RvcCgnZmFzdCcpOwpAQCAtNDY1LDYgKzUxNiwxMSBA QCAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiBpcygk cmVzdWx0LCBxcSgxMTUyfDF8MTEwMCksCiAJJ2NoZWNrIHJlcGxpY2F0ZWQgaW5zZXJ0cyBhZnRl ciBzdWJzY3JpcHRpb24gcHVibGljYXRpb24gY2hhbmdlJyk7CiAKKyRyZXN1bHQgPSAkbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KCopLCBtaW4o YSksIG1heChhKSBGUk9NIHRhYl9pbnMyIik7CitpcygkcmVzdWx0LCBxcSgxMTUyfDF8MTEwMCks CisJJ2NoZWNrIHJlcGxpY2F0ZWQgaW5zZXJ0cyBhZnRlciBzdWJzY3JpcHRpb24gcHVibGljYXRp b24gY2hhbmdlJyk7CisKICRyZXN1bHQgPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKIAkiU0VMRUNUIGNvdW50KCopLCBtaW4oYSksIG1heChhKSBGUk9NIHRhYl9yZXAi KTsKIGlzKCRyZXN1bHQsIHFxKDIwfC0yMHwtMSksCkBAIC01MzMsNiArNTg5LDcgQEAgJG5vZGVf cHVibGlzaGVyLT5wb2xsX3F1ZXJ5X3VudGlsKCdwb3N0Z3JlcycsCiAKICMgY2hlY2sgYWxsIHRo ZSBjbGVhbnVwCiAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkRST1Ag U1VCU0NSSVBUSU9OIHRhcF9zdWJfcmVuYW1lZCIpOworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsICJEUk9QIFNVQlNDUklQVElPTiB0YXBfc3ViMiIpOwogCiAkcmVzdWx0 ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCBjb3Vu dCgqKSBGUk9NIHBnX3N1YnNjcmlwdGlvbiIpOwotLSAKMi4zNC4xCgo= --=-j4Qzi5tYQ/Or4W/pFz8q--