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 1vGzk8-00AWxJ-Qv for pgsql-hackers@arkaria.postgresql.org; Thu, 06 Nov 2025 13:09:36 +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 1vGzk6-007z34-Fn for pgsql-hackers@arkaria.postgresql.org; Thu, 06 Nov 2025 13:09:33 +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 1vGzk5-007z2v-OB for pgsql-hackers@lists.postgresql.org; Thu, 06 Nov 2025 13:09:33 +0000 Received: from fhigh-a4-smtp.messagingengine.com ([103.168.172.155]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vGzk1-006JHL-1r for pgsql-hackers@lists.postgresql.org; Thu, 06 Nov 2025 13:09:32 +0000 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfhigh.phl.internal (Postfix) with ESMTP id E5BCE14000A1; Thu, 6 Nov 2025 08:09:27 -0500 (EST) Received: from phl-imap-05 ([10.202.2.95]) by phl-compute-06.internal (MEProxy); Thu, 06 Nov 2025 08:09:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1762434567; x=1762520967; bh=sowwxcMTKp +orKNK9AU4Q8U3cyAGjD3OLeizTfciklQ=; b=KpKn8aC4ySGle1fGcBLiK2/l9y rZfH4cGfQll9Vvf4eRbOmNpWs8CqlDMfADJNoRqXzUbORJgSbS4JziXDASC2wPSt HcGB23JKxjYr5tE8C8OjxN+SJ/BZMYUDY1+w1rLzgQccbP7nQJQtOh0Q5CdpbJ/s 0NGtHsQNtkAwbQWjG9uIbquX773fHg9kQsplOwM9WTecKhL8GPptomXcJx/cz6om cgEsu2iORp11S1EJjj2Lr/rfmq/p03SEX0Oln786zpxOO7q0TSNAOjjECz5ksBgS hmog5oLZIOvmoQoqmbuzull9QUNKFXy+gPyNEXghR0UMF8o6jFrF8i/eLjWQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1762434567; x=1762520967; bh=sowwxcMTKp+orKNK9AU4Q8U3cyAGjD3OLei zTfciklQ=; b=sK+mYTq0cyqmfxKv8chZ1IpCxNZneKGbBPEAxQzqu9QwNJa7P6d C2m84JJnNYM9KtGFNVxcwd+hPRnm50SZbesgHJOjWXhaXvLm8uYPMDgzSNKUzFBT vf9E7i6jheTTHuR06BqVzxQ6yViOJgKxzJF1TxjSTqi/2nKLK4lPjH3SNgj+Chps Mf2QWPV3R9NmKGuifWU3BukqprcHxlHGMrZl1lnGZj1g8suQZeo1nXU00oHCPZWC hD1R+yt4ZFJLZGUk8AtXnAWBu6ZT3Zsh8QYvnzIYImBD7B9Vyd9CR/dzAa/koF9C btSh5SimhXcNrGMRPcCweDg/HUYiHobTJyw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddukeeikeeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvfevkfgjfhfutgesmhdtreerredttdenucfhrhhomhepfdfguhhlvghr ucfvrghvvghirhgrfdcuoegvuhhlvghrsegvuhhlvghrthhordgtohhmqeenucggtffrrg htthgvrhhnpeeffeegkefhledvleffkefhtdeiheeiiedvueeihefghfeigeekjefhvefg leefheenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtohhmnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepvghulhgvrhesvghulhgv rhhtohdrtghomhdpnhgspghrtghpthhtohepgedpmhhouggvpehsmhhtphhouhhtpdhrtg hpthhtoheprghlvhhhvghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrghdprhgtphhtthho pegrnhgurhgvshesrghnrghrrgiivghlrdguvgdprhgtphhtthhopehjrghpihhnlhhise hhohhtmhgrihhlrdgtohhmpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrsheslhhi shhtshdrphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 2D5671820054; Thu, 6 Nov 2025 08:09:27 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: AGl55nTq-Okk Date: Thu, 06 Nov 2025 10:09:06 -0300 From: "Euler Taveira" To: japin , "Alvaro Herrera" Cc: "Andres Freund" , pgsql-hackers@lists.postgresql.org Message-Id: <72e809ff-c842-4f98-93f1-26a3cb3d92d0@app.fastmail.com> In-Reply-To: <24b9bfd6-7fba-4946-9b73-244934b89464@app.fastmail.com> References: <202507311651.ahhz57cfk6lo@alvherre.pgsql> <24b9bfd6-7fba-4946-9b73-244934b89464@app.fastmail.com> Subject: Re: log_min_messages per backend type Content-Type: multipart/mixed; boundary=7bebf94137404b07b843d9eccea00bfd List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --7bebf94137404b07b843d9eccea00bfd Content-Type: text/plain Content-Transfer-Encoding: 7bit On Sun, Oct 5, 2025, at 11:18 AM, Euler Taveira wrote: > This new patch contains the following changes: > > - patch was rebased > - use commit dbf8cfb4f02 > - use some GUC memory allocation functions > - avoid one memory allocation (suggested by Japin Li) > - rename backend type: logger -> syslogger > - adjust tests to increase test coverage > - improve documentation and comments to reflect the current state > Patch was rebased since commit fce7c73fba4 broke it. No modifications. -- Euler Taveira EDB https://www.enterprisedb.com/ --7bebf94137404b07b843d9eccea00bfd Content-Disposition: attachment; filename*0="v5-0001-log_min_messages-per-backend-type.patch" Content-Type: text/x-patch; name="=?UTF-8?Q?v5-0001-log=5Fmin=5Fmessages-per-backend-type.patch?=" Content-Transfer-Encoding: base64 RnJvbSBlNDU3Y2M5OWMyMGY1NGQ4ZTdlOTk4MTA0NDAyZTg0OWVjZjgzYzE0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlckBldWxlcnRvLmNv bT4KRGF0ZTogVHVlLCA0IE5vdiAyMDI1IDE3OjE4OjIwIC0wMzAwClN1YmplY3Q6IFtQQVRD SCB2NV0gbG9nX21pbl9tZXNzYWdlcyBwZXIgYmFja2VuZCB0eXBlCgpDaGFuZ2UgbG9nX21p bl9tZXNzYWdlcyBmcm9tIGEgc2luZ2xlIGVsZW1lbnQgdG8gYSBjb21tYS1zZXBhcmF0ZWQg bGlzdApvZiBlbGVtZW50cy4gRWFjaCBlbGVtZW50IGlzIGJhY2tlbmR0eXBlOmxvZ2xldmVs LiBUaGUgYmFja2VuZHR5cGUgYXJlCmFyY2hpdmVyLCBhdXRvdmFjdXVtIChpbmNsdWRlcyBs YXVuY2hlciBhbmQgd29ya2VycyksIGJhY2tlbmQsIGJnd29ya2VyLApiZ3dyaXRlciwgY2hl Y2twb2ludGVyLCBpb3dvcmtlciwgc3lzbG9nZ2VyLCBzbG90c3luY3dvcmtlciwgc3RhcnR1 cCwKd2FscmVjZWl2ZXIsIHdhbHNlbmRlciwgd2Fsc3VtbWFyaXplciBhbmQgd2Fsd3JpdGVy LiBBIHNpbmdsZSBsb2cgbGV2ZWwKc2hvdWxkIGJlIHBhcnQgb2YgdGhpcyBsaXN0IGFuZCBp dCBpcyBhcHBsaWVkIGFzIGEgZmluYWwgc3RlcCB0byB0aGUKYmFja2VuZCB0eXBlcyB0aGF0 IHdlcmUgbm90IGluZm9ybWVkLgoKVGhlIG9sZCBzeW50YXggKGEgc2luZ2xlIGxvZyBsZXZl bCkgaXMgc3RpbGwgYWNjZXB0ZWQgZm9yIGJhY2t3YXJkCmNvbXBhdGliaWxpdHkuIEluIHRo aXMgY2FzZSwgaXQgbWVhbnMgdGhlIGluZm9ybWVkIGxvZyBsZXZlbCBpcyBhcHBsaWVkCmZv ciBhbGwgYmFja2VuZCB0eXBlcy4gVGhlIGRlZmF1bHQgbG9nIGxldmVsIGlzIHRoZSBzYW1l IChXQVJOSU5HKSBmb3IKYWxsIGJhY2tlbmQgdHlwZXMuCi0tLQogZG9jL3NyYy9zZ21sL2Nv bmZpZy5zZ21sICAgICAgICAgICAgICAgICAgICAgIHwgIDMxICsrLQogc3JjL2JhY2tlbmQv Y29tbWFuZHMvZXh0ZW5zaW9uLmMgICAgICAgICAgICAgIHwgICAyICstCiBzcmMvYmFja2Vu ZC9jb21tYW5kcy92YXJpYWJsZS5jICAgICAgICAgICAgICAgfCAyMDUgKysrKysrKysrKysr KysrKysrCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL2xhdW5jaF9iYWNrZW5kLmMgICAgICAg fCAgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYyAgICAgICAgICAgICAg ICB8ICAgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9taXNjaW5pdC5jICAgICAgICAg ICAgIHwgICAyICstCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRh dCAgICAgfCAgMTAgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAg ICAgICAgICB8ICAyMSArLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNv bmYuc2FtcGxlIHwgICAyICsKIHNyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvcHJvY3R5cGVsaXN0 LmggICAgICAgICB8ICAzOCArKy0tCiBzcmMvaW5jbHVkZS91dGlscy9ndWMuaCAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDYgKy0KIHNyYy9pbmNsdWRlL3V0aWxzL2d1Y19ob29rcy5o ICAgICAgICAgICAgICAgICB8ICAgMiArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2d1 Yy5vdXQgICAgICAgICAgICAgfCAgNTQgKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2d1 Yy5zcWwgICAgICAgICAgICAgICAgICB8ICAxOCArKwogMTQgZmlsZXMgY2hhbmdlZCwgMzU2 IGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMv c2dtbC9jb25maWcuc2dtbCBiL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbAppbmRleCBkOGE5 ZjE0YjYxOC4uMmFjMWU2NWFhNjAgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9jb25maWcu c2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKQEAgLTcwNTMsNyArNzA1Myw3 IEBAIGxvY2FsMC4qICAgIC92YXIvbG9nL3Bvc3RncmVzcWwKICAgICAgPHZhcmlhYmxlbGlz dD4KIAogICAgICA8dmFybGlzdGVudHJ5IGlkPSJndWMtbG9nLW1pbi1tZXNzYWdlcyIgeHJl ZmxhYmVsPSJsb2dfbWluX21lc3NhZ2VzIj4KLSAgICAgIDx0ZXJtPjx2YXJuYW1lPmxvZ19t aW5fbWVzc2FnZXM8L3Zhcm5hbWU+ICg8dHlwZT5lbnVtPC90eXBlPikKKyAgICAgIDx0ZXJt Pjx2YXJuYW1lPmxvZ19taW5fbWVzc2FnZXM8L3Zhcm5hbWU+ICg8dHlwZT5zdHJpbmc8L3R5 cGU+KQogICAgICAgPGluZGV4dGVybT4KICAgICAgICA8cHJpbWFyeT48dmFybmFtZT5sb2df bWluX21lc3NhZ2VzPC92YXJuYW1lPiBjb25maWd1cmF0aW9uIHBhcmFtZXRlcjwvcHJpbWFy eT4KICAgICAgIDwvaW5kZXh0ZXJtPgpAQCAtNzA2MiwxNCArNzA2MiwyNyBAQCBsb2NhbDAu KiAgICAvdmFyL2xvZy9wb3N0Z3Jlc3FsCiAgICAgICAgPHBhcmE+CiAgICAgICAgIENvbnRy b2xzIHdoaWNoIDxsaW5rIGxpbmtlbmQ9InJ1bnRpbWUtY29uZmlnLXNldmVyaXR5LWxldmVs cyI+bWVzc2FnZQogICAgICAgICBsZXZlbHM8L2xpbms+IGFyZSB3cml0dGVuIHRvIHRoZSBz ZXJ2ZXIgbG9nLgotICAgICAgICBWYWxpZCB2YWx1ZXMgYXJlIDxsaXRlcmFsPkRFQlVHNTwv bGl0ZXJhbD4sIDxsaXRlcmFsPkRFQlVHNDwvbGl0ZXJhbD4sCi0gICAgICAgIDxsaXRlcmFs PkRFQlVHMzwvbGl0ZXJhbD4sIDxsaXRlcmFsPkRFQlVHMjwvbGl0ZXJhbD4sIDxsaXRlcmFs PkRFQlVHMTwvbGl0ZXJhbD4sCi0gICAgICAgIDxsaXRlcmFsPklORk88L2xpdGVyYWw+LCA8 bGl0ZXJhbD5OT1RJQ0U8L2xpdGVyYWw+LCA8bGl0ZXJhbD5XQVJOSU5HPC9saXRlcmFsPiwK LSAgICAgICAgPGxpdGVyYWw+RVJST1I8L2xpdGVyYWw+LCA8bGl0ZXJhbD5MT0c8L2xpdGVy YWw+LCA8bGl0ZXJhbD5GQVRBTDwvbGl0ZXJhbD4sIGFuZAotICAgICAgICA8bGl0ZXJhbD5Q QU5JQzwvbGl0ZXJhbD4uICBFYWNoIGxldmVsIGluY2x1ZGVzIGFsbCB0aGUgbGV2ZWxzIHRo YXQKLSAgICAgICAgZm9sbG93IGl0LiAgVGhlIGxhdGVyIHRoZSBsZXZlbCwgdGhlIGZld2Vy IG1lc3NhZ2VzIGFyZSBzZW50Ci0gICAgICAgIHRvIHRoZSBsb2cuICBUaGUgZGVmYXVsdCBp cyA8bGl0ZXJhbD5XQVJOSU5HPC9saXRlcmFsPi4gIE5vdGUgdGhhdAotICAgICAgICA8bGl0 ZXJhbD5MT0c8L2xpdGVyYWw+IGhhcyBhIGRpZmZlcmVudCByYW5rIGhlcmUgdGhhbiBpbgor ICAgICAgICBWYWxpZCB2YWx1ZXMgYXJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgPGxp dGVyYWw+YmFja2VuZHR5cGU6bGV2ZWw8L2xpdGVyYWw+CisgICAgICAgIGFuZCBhIHNpbmds ZSA8bGl0ZXJhbD5sZXZlbDwvbGl0ZXJhbD4uIFRoZSBsaXN0IGFsbG93cyBpdCB0byB1c2UK KyAgICAgICAgZGlmZmVyZW50IGxldmVscyBwZXIgYmFja2VuZCB0eXBlLiBPbmx5IHRoZSBz aW5nbGUgPGxpdGVyYWw+bGV2ZWw8L2xpdGVyYWw+CisgICAgICAgIGlzIG1hbmRhdG9yeSAo b3JkZXIgZG9lcyBub3QgbWF0dGVyKSBhbmQgaXQgaXMgYXNzaWduZWQgdG8gdGhlIGJhY2tl bmQKKyAgICAgICAgdHlwZXMgdGhhdCBhcmUgbm90IHNwZWNpZmllZCBpbiB0aGUgbGlzdC4K KyAgICAgICAgVmFsaWQgPGxpdGVyYWw+YmFja2VuZHR5cGU8L2xpdGVyYWw+IHZhbHVlcyBh cmUgPGxpdGVyYWw+YXJjaGl2ZXI8L2xpdGVyYWw+LAorICAgICAgICA8bGl0ZXJhbD5hdXRv dmFjdXVtPC9saXRlcmFsPiwgPGxpdGVyYWw+YmFja2VuZDwvbGl0ZXJhbD4sCisgICAgICAg IDxsaXRlcmFsPmJnd29ya2VyPC9saXRlcmFsPiwgPGxpdGVyYWw+Ymd3cml0ZXI8L2xpdGVy YWw+LAorICAgICAgICA8bGl0ZXJhbD5jaGVja3BvaW50ZXI8L2xpdGVyYWw+LCA8bGl0ZXJh bD5pb3dvcmtlcjwvbGl0ZXJhbD4sCisgICAgICAgIDxsaXRlcmFsPnN5c2xvZ2dlcjwvbGl0 ZXJhbD4sIDxsaXRlcmFsPnNsb3RzeW5jd29ya2VyPC9saXRlcmFsPiwKKyAgICAgICAgPGxp dGVyYWw+c3RhcnR1cDwvbGl0ZXJhbD4sIDxsaXRlcmFsPndhbHJlY2VpdmVyPC9saXRlcmFs PiwKKyAgICAgICAgPGxpdGVyYWw+d2Fsc2VuZGVyPC9saXRlcmFsPiwgPGxpdGVyYWw+d2Fs c3VtbWFyaXplcjwvbGl0ZXJhbD4sIGFuZAorICAgICAgICA8bGl0ZXJhbD53YWx3cml0ZXI8 L2xpdGVyYWw+LgorICAgICAgICBWYWxpZCA8bGl0ZXJhbD5sZXZlbDwvbGl0ZXJhbD4gdmFs dWVzIGFyZSA8bGl0ZXJhbD5ERUJVRzU8L2xpdGVyYWw+LAorICAgICAgICA8bGl0ZXJhbD5E RUJVRzQ8L2xpdGVyYWw+LCA8bGl0ZXJhbD5ERUJVRzM8L2xpdGVyYWw+LCA8bGl0ZXJhbD5E RUJVRzI8L2xpdGVyYWw+LAorICAgICAgICA8bGl0ZXJhbD5ERUJVRzE8L2xpdGVyYWw+LCA8 bGl0ZXJhbD5JTkZPPC9saXRlcmFsPiwgPGxpdGVyYWw+Tk9USUNFPC9saXRlcmFsPiwKKyAg ICAgICAgPGxpdGVyYWw+V0FSTklORzwvbGl0ZXJhbD4sIDxsaXRlcmFsPkVSUk9SPC9saXRl cmFsPiwgPGxpdGVyYWw+TE9HPC9saXRlcmFsPiwKKyAgICAgICAgPGxpdGVyYWw+RkFUQUw8 L2xpdGVyYWw+LCBhbmQgPGxpdGVyYWw+UEFOSUM8L2xpdGVyYWw+LiAgRWFjaCBsZXZlbCBp bmNsdWRlcworICAgICAgICBhbGwgdGhlIGxldmVscyB0aGF0IGZvbGxvdyBpdC4gIFRoZSBs YXRlciB0aGUgbGV2ZWwsIHRoZSBmZXdlciBtZXNzYWdlcyBhcmUgc2VudAorICAgICAgICB0 byB0aGUgbG9nLiAgVGhlIGRlZmF1bHQgaXMgPGxpdGVyYWw+V0FSTklORzwvbGl0ZXJhbD4g Zm9yIGFsbCBiYWNrZW5kIHR5cGVzLgorICAgICAgICBOb3RlIHRoYXQgPGxpdGVyYWw+TE9H PC9saXRlcmFsPiBoYXMgYSBkaWZmZXJlbnQgcmFuayBoZXJlIHRoYW4gaW4KICAgICAgICAg PHhyZWYgbGlua2VuZD0iZ3VjLWNsaWVudC1taW4tbWVzc2FnZXMiLz4uCiAgICAgICAgIE9u bHkgc3VwZXJ1c2VycyBhbmQgdXNlcnMgd2l0aCB0aGUgYXBwcm9wcmlhdGUgPGxpdGVyYWw+ U0VUPC9saXRlcmFsPgogICAgICAgICBwcml2aWxlZ2UgY2FuIGNoYW5nZSB0aGlzIHNldHRp bmcuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9leHRlbnNpb24uYyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL2V4dGVuc2lvbi5jCmluZGV4IDkzZWYxYWQxMDZmLi44MWY3 YmM1ZTU2NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXh0ZW5zaW9uLmMK KysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXh0ZW5zaW9uLmMKQEAgLTExNDMsNyArMTE0 Myw3IEBAIGV4ZWN1dGVfZXh0ZW5zaW9uX3NjcmlwdChPaWQgZXh0ZW5zaW9uT2lkLCBFeHRl bnNpb25Db250cm9sRmlsZSAqY29udHJvbCwKIAkJKHZvaWQpIHNldF9jb25maWdfb3B0aW9u KCJjbGllbnRfbWluX21lc3NhZ2VzIiwgIndhcm5pbmciLAogCQkJCQkJCQkgUEdDX1VTRVJT RVQsIFBHQ19TX1NFU1NJT04sCiAJCQkJCQkJCSBHVUNfQUNUSU9OX1NBVkUsIHRydWUsIDAs IGZhbHNlKTsKLQlpZiAobG9nX21pbl9tZXNzYWdlcyA8IFdBUk5JTkcpCisJaWYgKGxvZ19t aW5fbWVzc2FnZXNbTXlCYWNrZW5kVHlwZV0gPCBXQVJOSU5HKQogCQkodm9pZCkgc2V0X2Nv bmZpZ19vcHRpb25fZXh0KCJsb2dfbWluX21lc3NhZ2VzIiwgIndhcm5pbmciLAogCQkJCQkJ CQkJIFBHQ19TVVNFVCwgUEdDX1NfU0VTU0lPTiwKIAkJCQkJCQkJCSBCT09UU1RSQVBfU1VQ RVJVU0VSSUQsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YXJpYWJsZS5j IGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFyaWFibGUuYwppbmRleCA2MDhmMTBkOTQxMi4u Yzg2YmRmNzRmNDEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhcmlhYmxl LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFyaWFibGUuYwpAQCAtMzQsNiArMzQs NyBAQAogI2luY2x1ZGUgInV0aWxzL2JhY2tlbmRfc3RhdHVzLmgiCiAjaW5jbHVkZSAidXRp bHMvZGF0ZXRpbWUuaCIKICNpbmNsdWRlICJ1dGlscy9mbWdycHJvdG9zLmgiCisjaW5jbHVk ZSAidXRpbHMvZ3VjLmgiCiAjaW5jbHVkZSAidXRpbHMvZ3VjX2hvb2tzLmgiCiAjaW5jbHVk ZSAidXRpbHMvc25hcG1nci5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCkBAIC0x MjU3LDMgKzEyNTgsMjA3IEBAIGNoZWNrX3NzbChib29sICpuZXd2YWwsIHZvaWQgKipleHRy YSwgR3VjU291cmNlIHNvdXJjZSkKICNlbmRpZgogCXJldHVybiB0cnVlOwogfQorCisvKgor ICogR1VDIGNoZWNrX2hvb2sgZm9yIGxvZ19taW5fbWVzc2FnZXMKKyAqCisgKiBUaGUgcGFy c2luZyBjb25zaXN0cyBvZiBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIEJBQ0tFTkRUWVBF TkFNRTpMRVZFTAorICogZWxlbWVudHMuIEJBQ0tFTkRUWVBFTkFNRSBpcyBsb2dfbWluX21l c3NhZ2VzX2JhY2tlbmRfdHlwZXMuICBMRVZFTCBpcworICogc2VydmVyX21lc3NhZ2VfbGV2 ZWxfb3B0aW9ucy4gQSBzaW5nbGUgTEVWRUwgZWxlbWVudCBzaG91bGQgYmUgcGFydCBvZiB0 aGlzCisgKiBsaXN0IGFuZCBpdCBpcyBhcHBsaWVkIGFzIGEgZmluYWwgc3RlcCB0byB0aGUg YmFja2VuZCB0eXBlcyB0aGF0IGFyZSBub3QKKyAqIHNwZWNpZmllZC4gRm9yIGJhY2t3YXJk IGNvbXBhdGliaWxpdHksIHRoZSBvbGQgc3ludGF4IGlzIHN0aWxsIGFjY2VwdGVkIGFuZAor ICogaXQgbWVhbnMgdG8gYXBwbHkgdGhlIExFVkVMIGZvciBhbGwgYmFja2VuZCB0eXBlcy4K KyAqLworYm9vbAorY2hlY2tfbG9nX21pbl9tZXNzYWdlcyhjaGFyICoqbmV3dmFsLCB2b2lk ICoqZXh0cmEsIEd1Y1NvdXJjZSBzb3VyY2UpCit7CisJY2hhcgkgICAqcmF3c3RyaW5nOwor CUxpc3QJICAgKmVsZW1saXN0OworCUxpc3RDZWxsICAgKmw7CisJaW50CQkJbmV3bGV2ZWxb QkFDS0VORF9OVU1fVFlQRVNdOworCWJvb2wJCWFzc2lnbmVkW0JBQ0tFTkRfTlVNX1RZUEVT XTsKKwlpbnQJCQlnZW5lcmljbGV2ZWwgPSAtMTsJLyogLTEgbWVhbnMgbm90IGFzc2lnbmVk ICovCisKKwkvKiBJbml0aWFsaXplIHRoZSBhcnJheS4gKi8KKwltZW1zZXQobmV3bGV2ZWws IFdBUk5JTkcsIEJBQ0tFTkRfTlVNX1RZUEVTICogc2l6ZW9mKGludCkpOworCW1lbXNldChh c3NpZ25lZCwgZmFsc2UsIEJBQ0tFTkRfTlVNX1RZUEVTICogc2l6ZW9mKGJvb2wpKTsKKwor CS8qIE5lZWQgYSBtb2RpZmlhYmxlIGNvcHkgb2Ygc3RyaW5nLiAqLworCXJhd3N0cmluZyA9 IGd1Y19zdHJkdXAoTE9HLCAqbmV3dmFsKTsKKworCS8qIFBhcnNlIHN0cmluZyBpbnRvIGxp c3Qgb2YgaWRlbnRpZmllcnMuICovCisJaWYgKCFTcGxpdEdVQ0xpc3QocmF3c3RyaW5nLCAn LCcsICZlbGVtbGlzdCkpCisJeworCQkvKiBzeW50YXggZXJyb3IgaW4gbGlzdCAqLworCQlH VUNfY2hlY2tfZXJyZGV0YWlsKCJMaXN0IHN5bnRheCBpcyBpbnZhbGlkLiIpOworCQlndWNf ZnJlZShyYXdzdHJpbmcpOworCQlsaXN0X2ZyZWUoZWxlbWxpc3QpOworCQlyZXR1cm4gZmFs c2U7CisJfQorCisJLyogVmFsaWRhdGUgYW5kIGFzc2lnbiBsb2cgbGV2ZWwgYW5kIGJhY2tl bmQgdHlwZS4gKi8KKwlmb3JlYWNoKGwsIGVsZW1saXN0KQorCXsKKwkJY2hhcgkgICAqdG9r ID0gKGNoYXIgKikgbGZpcnN0KGwpOworCQljaGFyCSAgICpzZXA7CisJCWNvbnN0IHN0cnVj dCBjb25maWdfZW51bV9lbnRyeSAqZW50cnk7CisKKwkJLyoKKwkJICogQ2hlY2sgd2hldGhl ciB0aGVyZSBpcyBhIGJhY2tlbmQgdHlwZSBmb2xsb3dpbmcgdGhlIGxvZyBsZXZlbC4gSWYK KwkJICogdGhlcmUgaXMgbm8gc2VwYXJhdG9yLCBpdCBtZWFucyB0aGlzIGlzIHRoZSBnZW5l cmljIGxvZyBsZXZlbC4gVGhlCisJCSAqIGdlbmVyaWMgbG9nIGxldmVsIHdpbGwgYmUgYXNz aWduZWQgdG8gdGhlIGJhY2tlbmQgdHlwZXMgdGhhdCB3ZXJlCisJCSAqIG5vdCBpbmZvcm1l ZC4KKwkJICovCisJCXNlcCA9IHN0cmNocih0b2ssICc6Jyk7CisJCWlmIChzZXAgPT0gTlVM TCkKKwkJeworCQkJYm9vbAkJZm91bmQgPSBmYWxzZTsKKworCQkJLyogUmVqZWN0IGR1cGxp Y2F0ZXMgZm9yIGdlbmVyaWMgbG9nIGxldmVsLiAqLworCQkJaWYgKGdlbmVyaWNsZXZlbCAh PSAtMSkKKwkJCXsKKwkJCQlHVUNfY2hlY2tfZXJyZGV0YWlsKCJHZW5lcmljIGxvZyBsZXZl bCB3YXMgYWxyZWFkeSBhc3NpZ25lZC4iKTsKKwkJCQlndWNfZnJlZShyYXdzdHJpbmcpOwor CQkJCWxpc3RfZnJlZShlbGVtbGlzdCk7CisJCQkJcmV0dXJuIGZhbHNlOworCQkJfQorCisJ CQkvKiBJcyB0aGUgbG9nIGxldmVsIHZhbGlkPyAqLworCQkJZm9yIChlbnRyeSA9IHNlcnZl cl9tZXNzYWdlX2xldmVsX29wdGlvbnM7IGVudHJ5ICYmIGVudHJ5LT5uYW1lOyBlbnRyeSsr KQorCQkJeworCQkJCWlmIChwZ19zdHJjYXNlY21wKGVudHJ5LT5uYW1lLCB0b2spID09IDAp CisJCQkJeworCQkJCQlnZW5lcmljbGV2ZWwgPSBlbnRyeS0+dmFsOworCQkJCQlmb3VuZCA9 IHRydWU7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKworCQkJaWYgKCFmb3VuZCkKKwkJ CXsKKwkJCQlHVUNfY2hlY2tfZXJyZGV0YWlsKCJVbnJlY29nbml6ZWQgbG9nIGxldmVsOiBc IiVzXCIuIiwgdG9rKTsKKwkJCQlndWNfZnJlZShyYXdzdHJpbmcpOworCQkJCWxpc3RfZnJl ZShlbGVtbGlzdCk7CisJCQkJcmV0dXJuIGZhbHNlOworCQkJfQorCQl9CisJCWVsc2UKKwkJ eworCQkJY2hhcgkgICAqbG9nbGV2ZWw7CisJCQljaGFyCSAgICpidHlwZTsKKwkJCWJvb2wJ CWZvdW5kID0gZmFsc2U7CisKKwkJCWJ0eXBlID0gZ3VjX21hbGxvYyhMT0csIChzZXAgLSB0 b2spICsgMSk7CisJCQlpZiAoIWJ0eXBlKQorCQkJeworCQkJCWd1Y19mcmVlKHJhd3N0cmlu Zyk7CisJCQkJbGlzdF9mcmVlKGVsZW1saXN0KTsKKwkJCQlyZXR1cm4gZmFsc2U7CisJCQl9 CisJCQltZW1jcHkoYnR5cGUsIHRvaywgc2VwIC0gdG9rKTsKKwkJCWJ0eXBlW3NlcCAtIHRv a10gPSAnXDAnOworCQkJbG9nbGV2ZWwgPSBzZXAgKyAxOworCisJCQkvKiBJcyB0aGUgbG9n IGxldmVsIHZhbGlkPyAqLworCQkJZm9yIChlbnRyeSA9IHNlcnZlcl9tZXNzYWdlX2xldmVs X29wdGlvbnM7IGVudHJ5ICYmIGVudHJ5LT5uYW1lOyBlbnRyeSsrKQorCQkJeworCQkJCWlm IChwZ19zdHJjYXNlY21wKGVudHJ5LT5uYW1lLCBsb2dsZXZlbCkgPT0gMCkKKwkJCQl7CisJ CQkJCWZvdW5kID0gdHJ1ZTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCisJCQlpZiAo IWZvdW5kKQorCQkJeworCQkJCUdVQ19jaGVja19lcnJkZXRhaWwoIlVucmVjb2duaXplZCBs b2cgbGV2ZWw6IFwiJXNcIi4iLCBsb2dsZXZlbCk7CisJCQkJZ3VjX2ZyZWUoYnR5cGUpOwor CQkJCWd1Y19mcmVlKHJhd3N0cmluZyk7CisJCQkJbGlzdF9mcmVlKGVsZW1saXN0KTsKKwkJ CQlyZXR1cm4gZmFsc2U7CisJCQl9CisKKwkJCS8qCisJCQkgKiBJcyB0aGUgYmFja2VuZCB0 eXBlIG5hbWUgdmFsaWQ/IFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIGVudHJpZXMKKwkJCSAq IHBlciBiYWNrZW5kIHR5cGUsIGRvbid0IGJhaWwgb3V0IGJlY2F1c2UgaXQgY2FuIGFzc2ln biB0aGUKKwkJCSAqIHZhbHVlIGZvciBtdWx0aXBsZSBlbnRyaWVzLgorCQkJICovCisJCQlm b3VuZCA9IGZhbHNlOworCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBCQUNLRU5EX05VTV9UWVBF UzsgaSsrKQorCQkJeworCQkJCWlmIChwZ19zdHJjYXNlY21wKGxvZ19taW5fbWVzc2FnZXNf YmFja2VuZF90eXBlc1tpXSwgYnR5cGUpID09IDApCisJCQkJeworCQkJCQkvKiBSZWplY3Qg ZHVwbGljYXRlcyBmb3IgYSBiYWNrZW5kIHR5cGUuICovCisJCQkJCWlmIChhc3NpZ25lZFtp XSkKKwkJCQkJeworCQkJCQkJR1VDX2NoZWNrX2VycmRldGFpbCgiQmFja2VuZCB0eXBlIFwi JXNcIiB3YXMgYWxyZWFkeSBhc3NpZ25lZC4iLCBidHlwZSk7CisJCQkJCQlndWNfZnJlZShi dHlwZSk7CisJCQkJCQlndWNfZnJlZShyYXdzdHJpbmcpOworCQkJCQkJbGlzdF9mcmVlKGVs ZW1saXN0KTsKKwkJCQkJCXJldHVybiBmYWxzZTsKKwkJCQkJfQorCisJCQkJCW5ld2xldmVs W2ldID0gZW50cnktPnZhbDsKKwkJCQkJYXNzaWduZWRbaV0gPSB0cnVlOworCQkJCQlmb3Vu ZCA9IHRydWU7CisJCQkJfQorCQkJfQorCisJCQlpZiAoIWZvdW5kKQorCQkJeworCQkJCUdV Q19jaGVja19lcnJkZXRhaWwoIlVucmVjb2duaXplZCBiYWNrZW5kIHR5cGU6IFwiJXNcIi4i LCBidHlwZSk7CisJCQkJZ3VjX2ZyZWUoYnR5cGUpOworCQkJCWd1Y19mcmVlKHJhd3N0cmlu Zyk7CisJCQkJbGlzdF9mcmVlKGVsZW1saXN0KTsKKwkJCQlyZXR1cm4gZmFsc2U7CisJCQl9 CisKKwkJCWd1Y19mcmVlKGJ0eXBlKTsKKwkJfQorCX0KKworCS8qCisJICogVGhlIGdlbmVy aWMgbG9nIGxldmVsIG11c3QgYmUgc3BlY2lmaWVkLiBJdCBpcyB0aGUgZmFsbGJhY2sgdmFs dWUuCisJICovCisJaWYgKGdlbmVyaWNsZXZlbCA9PSAtMSkKKwl7CisJCUdVQ19jaGVja19l cnJkZXRhaWwoIkdlbmVyaWMgbG9nIGxldmVsIHdhcyBub3QgZGVmaW5lZC4iKTsKKwkJZ3Vj X2ZyZWUocmF3c3RyaW5nKTsKKwkJbGlzdF9mcmVlKGVsZW1saXN0KTsKKwkJcmV0dXJuIGZh bHNlOworCX0KKworCS8qCisJICogQXBwbHkgdGhlIGdlbmVyaWMgbG9nIGxldmVsIGFmdGVy IGFsbCBvZiB0aGUgc3BlY2lmaWMgYmFja2VuZCB0eXBlIGhhdmUKKwkgKiBiZWVuIGFzc2ln bmVkLiBIZW5jZSwgaXQgZG9lc24ndCBtYXR0ZXIgdGhlIG9yZGVyIHlvdSBzcGVjaWZ5IHRo ZQorCSAqIGdlbmVyaWMgbG9nIGxldmVsLCB0aGUgZmluYWwgcmVzdWx0IHdpbGwgYmUgdGhl IHNhbWUuCisJICovCisJZm9yIChpbnQgaSA9IDA7IGkgPCBCQUNLRU5EX05VTV9UWVBFUzsg aSsrKQorCXsKKwkJaWYgKCFhc3NpZ25lZFtpXSkKKwkJCW5ld2xldmVsW2ldID0gZ2VuZXJp Y2xldmVsOworCX0KKworCWd1Y19mcmVlKHJhd3N0cmluZyk7CisJbGlzdF9mcmVlKGVsZW1s aXN0KTsKKworCS8qCisJICogUGFzcyBiYWNrIGRhdGEgZm9yIGFzc2lnbl9sb2dfbWluX21l c3NhZ2VzIHRvIHVzZS4KKwkgKi8KKwkqZXh0cmEgPSBndWNfbWFsbG9jKExPRywgQkFDS0VO RF9OVU1fVFlQRVMgKiBzaXplb2YoaW50KSk7CisJaWYgKCEqZXh0cmEpCisJCXJldHVybiBm YWxzZTsKKwltZW1jcHkoKmV4dHJhLCBuZXdsZXZlbCwgQkFDS0VORF9OVU1fVFlQRVMgKiBz aXplb2YoaW50KSk7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworLyoKKyAqIEdVQyBhc3NpZ25f aG9vayBmb3IgbG9nX21pbl9tZXNzYWdlcworICovCit2b2lkCithc3NpZ25fbG9nX21pbl9t ZXNzYWdlcyhjb25zdCBjaGFyICpuZXd2YWwsIHZvaWQgKmV4dHJhKQoreworCWZvciAoaW50 IGkgPSAwOyBpIDwgQkFDS0VORF9OVU1fVFlQRVM7IGkrKykKKwkJbG9nX21pbl9tZXNzYWdl c1tpXSA9ICgoaW50ICopIGV4dHJhKVtpXTsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3Bvc3RtYXN0ZXIvbGF1bmNoX2JhY2tlbmQuYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIv bGF1bmNoX2JhY2tlbmQuYwppbmRleCA5NzY2MzhhNThhYy4uYzJhMDQ0MzIxZDEgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvbGF1bmNoX2JhY2tlbmQuYworKysgYi9z cmMvYmFja2VuZC9wb3N0bWFzdGVyL2xhdW5jaF9iYWNrZW5kLmMKQEAgLTE3OSw3ICsxNzks NyBAQCB0eXBlZGVmIHN0cnVjdAogfSBjaGlsZF9wcm9jZXNzX2tpbmQ7CiAKIHN0YXRpYyBj aGlsZF9wcm9jZXNzX2tpbmQgY2hpbGRfcHJvY2Vzc19raW5kc1tdID0gewotI2RlZmluZSBQ R19QUk9DVFlQRShia3R5cGUsIGRlc2NyaXB0aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0dGFj aCkgXAorI2RlZmluZSBQR19QUk9DVFlQRShia3R5cGUsIGJrY2F0ZWdvcnksIGRlc2NyaXB0 aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0dGFjaCwgbG9nX21pbl9tZXNzYWdlcykgXAogCVti a3R5cGVdID0ge2Rlc2NyaXB0aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0dGFjaH0sCiAjaW5j bHVkZSAicG9zdG1hc3Rlci9wcm9jdHlwZWxpc3QuaCIKICN1bmRlZiBQR19QUk9DVFlQRQpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvZXJyb3IvZWxvZy5jCmluZGV4IDI5NjQzYzUxNDM5Li4xNWQ3NzFhMTZjOSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwpAQCAtMjM1LDcgKzIzNSw3IEBAIGlzX2xvZ19s ZXZlbF9vdXRwdXQoaW50IGVsZXZlbCwgaW50IGxvZ19taW5fbGV2ZWwpCiBzdGF0aWMgaW5s aW5lIGJvb2wKIHNob3VsZF9vdXRwdXRfdG9fc2VydmVyKGludCBlbGV2ZWwpCiB7Ci0JcmV0 dXJuIGlzX2xvZ19sZXZlbF9vdXRwdXQoZWxldmVsLCBsb2dfbWluX21lc3NhZ2VzKTsKKwly ZXR1cm4gaXNfbG9nX2xldmVsX291dHB1dChlbGV2ZWwsIGxvZ19taW5fbWVzc2FnZXNbTXlC YWNrZW5kVHlwZV0pOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv aW5pdC9taXNjaW5pdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9taXNjaW5pdC5jCmlu ZGV4IGZlYzc5OTkyYzhkLi4yYzM5MjZjYmFkZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvaW5pdC9taXNjaW5pdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2luaXQvbWlz Y2luaXQuYwpAQCAtMjY2LDcgKzI2Niw3IEBAIEdldEJhY2tlbmRUeXBlRGVzYyhCYWNrZW5k VHlwZSBiYWNrZW5kVHlwZSkKIAogCXN3aXRjaCAoYmFja2VuZFR5cGUpCiAJewotI2RlZmlu ZSBQR19QUk9DVFlQRShia3R5cGUsIGRlc2NyaXB0aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0 dGFjaCkJXAorI2RlZmluZSBQR19QUk9DVFlQRShia3R5cGUsIGJrY2F0ZWdvcnksIGRlc2Ny aXB0aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0dGFjaCwgbG9nX21pbl9tZXNzYWdlcykJXAog CQljYXNlIGJrdHlwZTogYmFja2VuZERlc2MgPSBkZXNjcmlwdGlvbjsgYnJlYWs7CiAjaW5j bHVkZSAicG9zdG1hc3Rlci9wcm9jdHlwZWxpc3QuaCIKICN1bmRlZiBQR19QUk9DVFlQRQpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfcGFyYW1ldGVycy5kYXQg Yi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRhdAppbmRleCAxMTI4 MTY3YzAyNS4uNTVkZmMyZTY1NDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21p c2MvZ3VjX3BhcmFtZXRlcnMuZGF0CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3Vj X3BhcmFtZXRlcnMuZGF0CkBAIC0xNjc2LDEyICsxNjc2LDE0IEBACiAgIG9wdGlvbnMgPT4g J3NlcnZlcl9tZXNzYWdlX2xldmVsX29wdGlvbnMnLAogfSwKIAoteyBuYW1lID0+ICdsb2df bWluX21lc3NhZ2VzJywgdHlwZSA9PiAnZW51bScsIGNvbnRleHQgPT4gJ1BHQ19TVVNFVCcs IGdyb3VwID0+ICdMT0dHSU5HX1dIRU4nLAoreyBuYW1lID0+ICdsb2dfbWluX21lc3NhZ2Vz JywgdHlwZSA9PiAnc3RyaW5nJywgY29udGV4dCA9PiAnUEdDX1NVU0VUJywgZ3JvdXAgPT4g J0xPR0dJTkdfV0hFTicsCiAgIHNob3J0X2Rlc2MgPT4gJ1NldHMgdGhlIG1lc3NhZ2UgbGV2 ZWxzIHRoYXQgYXJlIGxvZ2dlZC4nLAogICBsb25nX2Rlc2MgPT4gJ0VhY2ggbGV2ZWwgaW5j bHVkZXMgYWxsIHRoZSBsZXZlbHMgdGhhdCBmb2xsb3cgaXQuIFRoZSBsYXRlciB0aGUgbGV2 ZWwsIHRoZSBmZXdlciBtZXNzYWdlcyBhcmUgc2VudC4nLAotICB2YXJpYWJsZSA9PiAnbG9n X21pbl9tZXNzYWdlcycsCi0gIGJvb3RfdmFsID0+ICdXQVJOSU5HJywKLSAgb3B0aW9ucyA9 PiAnc2VydmVyX21lc3NhZ2VfbGV2ZWxfb3B0aW9ucycsCisgIGZsYWdzID0+ICdHVUNfTElT VF9JTlBVVCcsCisgIHZhcmlhYmxlID0+ICdsb2dfbWluX21lc3NhZ2VzX3N0cmluZycsCisg IGJvb3RfdmFsID0+ICciV0FSTklORyInLAorICBjaGVja19ob29rID0+ICdjaGVja19sb2df bWluX21lc3NhZ2VzJywKKyAgYXNzaWduX2hvb2sgPT4gJ2Fzc2lnbl9sb2dfbWluX21lc3Nh Z2VzJywKIH0sCiAKIHsgbmFtZSA9PiAnbG9nX3BhcmFtZXRlcl9tYXhfbGVuZ3RoJywgdHlw ZSA9PiAnaW50JywgY29udGV4dCA9PiAnUEdDX1NVU0VUJywgZ3JvdXAgPT4gJ0xPR0dJTkdf V0hBVCcsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCmluZGV4IDAyMDliMjA2 N2EyLi44NzYxYjM3MWRlNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9n dWNfdGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMK QEAgLTE0Niw3ICsxNDYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbmZpZ19lbnVtX2Vu dHJ5IGNsaWVudF9tZXNzYWdlX2xldmVsX29wdGlvbnNbXSA9IHsKIAl7TlVMTCwgMCwgZmFs c2V9CiB9OwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGNvbmZpZ19lbnVtX2VudHJ5IHNlcnZl cl9tZXNzYWdlX2xldmVsX29wdGlvbnNbXSA9IHsKK2NvbnN0IHN0cnVjdCBjb25maWdfZW51 bV9lbnRyeSBzZXJ2ZXJfbWVzc2FnZV9sZXZlbF9vcHRpb25zW10gPSB7CiAJeyJkZWJ1ZzUi LCBERUJVRzUsIGZhbHNlfSwKIAl7ImRlYnVnNCIsIERFQlVHNCwgZmFsc2V9LAogCXsiZGVi dWczIiwgREVCVUczLCBmYWxzZX0sCkBAIC01MzcsNyArNTM3LDYgQEAgc3RhdGljIGJvb2wg ZGVmYXVsdF93aXRoX29pZHMgPSBmYWxzZTsKIGJvb2wJCWN1cnJlbnRfcm9sZV9pc19zdXBl cnVzZXI7CiAKIGludAkJCWxvZ19taW5fZXJyb3Jfc3RhdGVtZW50ID0gRVJST1I7Ci1pbnQJ CQlsb2dfbWluX21lc3NhZ2VzID0gV0FSTklORzsKIGludAkJCWNsaWVudF9taW5fbWVzc2Fn ZXMgPSBOT1RJQ0U7CiBpbnQJCQlsb2dfbWluX2R1cmF0aW9uX3NhbXBsZSA9IC0xOwogaW50 CQkJbG9nX21pbl9kdXJhdGlvbl9zdGF0ZW1lbnQgPSAtMTsKQEAgLTU5NSw2ICs1OTQsNyBA QCBzdGF0aWMgY2hhciAqc2VydmVyX3ZlcnNpb25fc3RyaW5nOwogc3RhdGljIGludAlzZXJ2 ZXJfdmVyc2lvbl9udW07CiBzdGF0aWMgY2hhciAqZGVidWdfaW9fZGlyZWN0X3N0cmluZzsK IHN0YXRpYyBjaGFyICpyZXN0cmljdF9ub25zeXN0ZW1fcmVsYXRpb25fa2luZF9zdHJpbmc7 CitzdGF0aWMgY2hhciAqbG9nX21pbl9tZXNzYWdlc19zdHJpbmc7CiAKICNpZmRlZiBIQVZF X1NZU0xPRwogI2RlZmluZQlERUZBVUxUX1NZU0xPR19GQUNJTElUWSBMT0dfTE9DQUwwCkBA IC02MzksNiArNjM5LDIzIEBAIGNoYXIJICAgKnJvbGVfc3RyaW5nOwogLyogc2hvdWxkIGJl IHN0YXRpYywgYnV0IGd1Yy5jIG5lZWRzIHRvIGdldCBhdCB0aGlzICovCiBib29sCQlpbl9o b3Rfc3RhbmRieV9ndWM7CiAKKy8qCisgKiBsb2dfbWluX21lc3NhZ2VzCisgKi8KK2ludAkJ CWxvZ19taW5fbWVzc2FnZXNbXSA9IHsKKyNkZWZpbmUgUEdfUFJPQ1RZUEUoYmt0eXBlLCBi a2NhdGVnb3J5LCBkZXNjcmlwdGlvbiwgbWFpbl9mdW5jLCBzaG1lbV9hdHRhY2gsIGxvZ19t aW5fbWVzc2FnZXMpIFwKKwlbYmt0eXBlXSA9IGxvZ19taW5fbWVzc2FnZXMsCisjaW5jbHVk ZSAicG9zdG1hc3Rlci9wcm9jdHlwZWxpc3QuaCIKKyN1bmRlZiBQR19QUk9DVFlQRQorfTsK KworY29uc3QgY2hhciAqY29uc3QgbG9nX21pbl9tZXNzYWdlc19iYWNrZW5kX3R5cGVzW10g PSB7CisjZGVmaW5lIFBHX1BST0NUWVBFKGJrdHlwZSwgYmtjYXRlZ29yeSwgZGVzY3JpcHRp b24sIG1haW5fZnVuYywgc2htZW1fYXR0YWNoLCBsb2dfbWluX21lc3NhZ2VzKSBcCisJW2Jr dHlwZV0gPSBia2NhdGVnb3J5LAorI2luY2x1ZGUgInBvc3RtYXN0ZXIvcHJvY3R5cGVsaXN0 LmgiCisjdW5kZWYgUEdfUFJPQ1RZUEUKK307CisKIAogLyoKICAqIERpc3BsYXlhYmxlIG5h bWVzIGZvciBjb250ZXh0IHR5cGVzIChlbnVtIEd1Y0NvbnRleHQpCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUgYi9zcmMvYmFj a2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKaW5kZXggZjYyYjYxOTY3 ZWYuLmZkZTEwNTRhZTBmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bv c3RncmVzcWwuY29uZi5zYW1wbGUKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0 Z3Jlc3FsLmNvbmYuc2FtcGxlCkBAIC01NDEsNiArNTQxLDggQEAKIAkJCQkJIyAgIGxvZwog CQkJCQkjICAgZmF0YWwKIAkJCQkJIyAgIHBhbmljCisJCQkJCSMgICBhbmQgYW4gb3B0aW9u YWwgY29tbWEtc2VwYXJhdGVkIGxpc3QKKwkJCQkJIyAgIG9mIGJhY2tlbmR0eXBlOmxldmVs CiAKICNsb2dfbWluX2Vycm9yX3N0YXRlbWVudCA9IGVycm9yCSMgdmFsdWVzIGluIG9yZGVy IG9mIGRlY3JlYXNpbmcgZGV0YWlsOgogCQkJCQkjICAgZGVidWc1CmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9wb3N0bWFzdGVyL3Byb2N0eXBlbGlzdC5oIGIvc3JjL2luY2x1ZGUvcG9z dG1hc3Rlci9wcm9jdHlwZWxpc3QuaAppbmRleCAyNDI4NjI0NTFkOC4uZjE4ZTMzNDIyODUg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvcHJvY3R5cGVsaXN0LmgKKysr IGIvc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9wcm9jdHlwZWxpc3QuaApAQCAtMzAsMjIgKzMw LDIyIEBACiAgKi8KIAogCi0vKiBia3R5cGUsIGRlc2NyaXB0aW9uLCBtYWluX2Z1bmMsIHNo bWVtX2F0dGFjaCAqLwotUEdfUFJPQ1RZUEUoQl9BUkNISVZFUiwgZ2V0dGV4dF9ub29wKCJh cmNoaXZlciIpLCBQZ0FyY2hpdmVyTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJfQVVUT1ZB Q19MQVVOQ0hFUiwgZ2V0dGV4dF9ub29wKCJhdXRvdmFjdXVtIGxhdW5jaGVyIiksIEF1dG9W YWNMYXVuY2hlck1haW4sIHRydWUpCi1QR19QUk9DVFlQRShCX0FVVE9WQUNfV09SS0VSLCBn ZXR0ZXh0X25vb3AoImF1dG92YWN1dW0gd29ya2VyIiksIEF1dG9WYWNXb3JrZXJNYWluLCB0 cnVlKQotUEdfUFJPQ1RZUEUoQl9CQUNLRU5ELCBnZXR0ZXh0X25vb3AoImNsaWVudCBiYWNr ZW5kIiksIEJhY2tlbmRNYWluLCB0cnVlKQotUEdfUFJPQ1RZUEUoQl9CR19XT1JLRVIsIGdl dHRleHRfbm9vcCgiYmFja2dyb3VuZCB3b3JrZXIiKSwgQmFja2dyb3VuZFdvcmtlck1haW4s IHRydWUpCi1QR19QUk9DVFlQRShCX0JHX1dSSVRFUiwgZ2V0dGV4dF9ub29wKCJiYWNrZ3Jv dW5kIHdyaXRlciIpLCBCYWNrZ3JvdW5kV3JpdGVyTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBF KEJfQ0hFQ0tQT0lOVEVSLCBnZXR0ZXh0X25vb3AoImNoZWNrcG9pbnRlciIpLCBDaGVja3Bv aW50ZXJNYWluLCB0cnVlKQotUEdfUFJPQ1RZUEUoQl9ERUFEX0VORF9CQUNLRU5ELCBnZXR0 ZXh0X25vb3AoImRlYWQtZW5kIGNsaWVudCBiYWNrZW5kIiksIEJhY2tlbmRNYWluLCB0cnVl KQotUEdfUFJPQ1RZUEUoQl9JTlZBTElELCBnZXR0ZXh0X25vb3AoInVucmVjb2duaXplZCIp LCBOVUxMLCBmYWxzZSkKLVBHX1BST0NUWVBFKEJfSU9fV09SS0VSLCBnZXR0ZXh0X25vb3Ao ImlvIHdvcmtlciIpLCBJb1dvcmtlck1haW4sIHRydWUpCi1QR19QUk9DVFlQRShCX0xPR0dF UiwgZ2V0dGV4dF9ub29wKCJzeXNsb2dnZXIiKSwgU3lzTG9nZ2VyTWFpbiwgZmFsc2UpCi1Q R19QUk9DVFlQRShCX1NMT1RTWU5DX1dPUktFUiwgZ2V0dGV4dF9ub29wKCJzbG90c3luYyB3 b3JrZXIiKSwgUmVwbFNsb3RTeW5jV29ya2VyTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJf U1RBTkRBTE9ORV9CQUNLRU5ELCBnZXR0ZXh0X25vb3AoInN0YW5kYWxvbmUgYmFja2VuZCIp LCBOVUxMLCBmYWxzZSkKLVBHX1BST0NUWVBFKEJfU1RBUlRVUCwgZ2V0dGV4dF9ub29wKCJz dGFydHVwIiksIFN0YXJ0dXBQcm9jZXNzTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJfV0FM X1JFQ0VJVkVSLCBnZXR0ZXh0X25vb3AoIndhbHJlY2VpdmVyIiksIFdhbFJlY2VpdmVyTWFp biwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJfV0FMX1NFTkRFUiwgZ2V0dGV4dF9ub29wKCJ3YWxz ZW5kZXIiKSwgTlVMTCwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJfV0FMX1NVTU1BUklaRVIsIGdl dHRleHRfbm9vcCgid2Fsc3VtbWFyaXplciIpLCBXYWxTdW1tYXJpemVyTWFpbiwgdHJ1ZSkK LVBHX1BST0NUWVBFKEJfV0FMX1dSSVRFUiwgZ2V0dGV4dF9ub29wKCJ3YWx3cml0ZXIiKSwg V2FsV3JpdGVyTWFpbiwgdHJ1ZSkKKy8qIGJrdHlwZSwgYmtjYXRlZ29yeSwgZGVzY3JpcHRp b24sIG1haW5fZnVuYywgc2htZW1fYXR0YWNoLCBsb2dfbWluX21lc3NhZ2VzICovCitQR19Q Uk9DVFlQRShCX0FSQ0hJVkVSLCAiYXJjaGl2ZXIiLCBnZXR0ZXh0X25vb3AoImFyY2hpdmVy IiksIFBnQXJjaGl2ZXJNYWluLCB0cnVlLCBXQVJOSU5HKQorUEdfUFJPQ1RZUEUoQl9BVVRP VkFDX0xBVU5DSEVSLCAiYXV0b3ZhY3V1bSIsIGdldHRleHRfbm9vcCgiYXV0b3ZhY3V1bSBs YXVuY2hlciIpLCBBdXRvVmFjTGF1bmNoZXJNYWluLCB0cnVlLCBXQVJOSU5HKQorUEdfUFJP Q1RZUEUoQl9BVVRPVkFDX1dPUktFUiwgImF1dG92YWN1dW0iLCBnZXR0ZXh0X25vb3AoImF1 dG92YWN1dW0gd29ya2VyIiksIEF1dG9WYWNXb3JrZXJNYWluLCB0cnVlLCBXQVJOSU5HKQor UEdfUFJPQ1RZUEUoQl9CQUNLRU5ELCAiYmFja2VuZCIsIGdldHRleHRfbm9vcCgiY2xpZW50 IGJhY2tlbmQiKSwgQmFja2VuZE1haW4sIHRydWUsIFdBUk5JTkcpCitQR19QUk9DVFlQRShC X0JHX1dPUktFUiwgImJnd29ya2VyIiwgZ2V0dGV4dF9ub29wKCJiYWNrZ3JvdW5kIHdvcmtl ciIpLCBCYWNrZ3JvdW5kV29ya2VyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BHX1BST0NUWVBF KEJfQkdfV1JJVEVSLCAiYmd3cml0ZXIiLCBnZXR0ZXh0X25vb3AoImJhY2tncm91bmQgd3Jp dGVyIiksIEJhY2tncm91bmRXcml0ZXJNYWluLCB0cnVlLCBXQVJOSU5HKQorUEdfUFJPQ1RZ UEUoQl9DSEVDS1BPSU5URVIsICJjaGVja3BvaW50ZXIiLCBnZXR0ZXh0X25vb3AoImNoZWNr cG9pbnRlciIpLCBDaGVja3BvaW50ZXJNYWluLCB0cnVlLCBXQVJOSU5HKQorUEdfUFJPQ1RZ UEUoQl9ERUFEX0VORF9CQUNLRU5ELCAiYmFja2VuZCIsIGdldHRleHRfbm9vcCgiZGVhZC1l bmQgY2xpZW50IGJhY2tlbmQiKSwgQmFja2VuZE1haW4sIHRydWUsIFdBUk5JTkcpCitQR19Q Uk9DVFlQRShCX0lOVkFMSUQsICJiYWNrZW5kIiwgZ2V0dGV4dF9ub29wKCJ1bnJlY29nbml6 ZWQiKSwgTlVMTCwgZmFsc2UsIFdBUk5JTkcpCitQR19QUk9DVFlQRShCX0lPX1dPUktFUiwg Imlvd29ya2VyIiwgZ2V0dGV4dF9ub29wKCJpbyB3b3JrZXIiKSwgSW9Xb3JrZXJNYWluLCB0 cnVlLCBXQVJOSU5HKQorUEdfUFJPQ1RZUEUoQl9MT0dHRVIsICJzeXNsb2dnZXIiLCBnZXR0 ZXh0X25vb3AoInN5c2xvZ2dlciIpLCBTeXNMb2dnZXJNYWluLCBmYWxzZSwgV0FSTklORykK K1BHX1BST0NUWVBFKEJfU0xPVFNZTkNfV09SS0VSLCAic2xvdHN5bmN3b3JrZXIiLCBnZXR0 ZXh0X25vb3AoInNsb3RzeW5jIHdvcmtlciIpLCBSZXBsU2xvdFN5bmNXb3JrZXJNYWluLCB0 cnVlLCBXQVJOSU5HKQorUEdfUFJPQ1RZUEUoQl9TVEFOREFMT05FX0JBQ0tFTkQsICJiYWNr ZW5kIiwgZ2V0dGV4dF9ub29wKCJzdGFuZGFsb25lIGJhY2tlbmQiKSwgTlVMTCwgZmFsc2Us IFdBUk5JTkcpCitQR19QUk9DVFlQRShCX1NUQVJUVVAsICJzdGFydHVwIiwgZ2V0dGV4dF9u b29wKCJzdGFydHVwIiksIFN0YXJ0dXBQcm9jZXNzTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BH X1BST0NUWVBFKEJfV0FMX1JFQ0VJVkVSLCAid2FscmVjZWl2ZXIiLCBnZXR0ZXh0X25vb3Ao IndhbHJlY2VpdmVyIiksIFdhbFJlY2VpdmVyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BHX1BS T0NUWVBFKEJfV0FMX1NFTkRFUiwgIndhbHNlbmRlciIsIGdldHRleHRfbm9vcCgid2Fsc2Vu ZGVyIiksIE5VTEwsIHRydWUsIFdBUk5JTkcpCitQR19QUk9DVFlQRShCX1dBTF9TVU1NQVJJ WkVSLCAid2Fsc3VtbWFyaXplciIsIGdldHRleHRfbm9vcCgid2Fsc3VtbWFyaXplciIpLCBX YWxTdW1tYXJpemVyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BHX1BST0NUWVBFKEJfV0FMX1dS SVRFUiwgIndhbHdyaXRlciIsIGdldHRleHRfbm9vcCgid2Fsd3JpdGVyIiksIFdhbFdyaXRl ck1haW4sIHRydWUsIFdBUk5JTkcpCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9n dWMuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2d1Yy5oCmluZGV4IGYyMWVjMzdkYTg5Li5hNGU1 MjQzM2FjMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvZ3VjLmgKKysrIGIvc3Jj L2luY2x1ZGUvdXRpbHMvZ3VjLmgKQEAgLTI5NSw3ICsyOTUsNyBAQCBleHRlcm4gUEdETExJ TVBPUlQgYm9vbCBsb2dfZHVyYXRpb247CiBleHRlcm4gUEdETExJTVBPUlQgaW50IGxvZ19w YXJhbWV0ZXJfbWF4X2xlbmd0aDsKIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgbG9nX3BhcmFt ZXRlcl9tYXhfbGVuZ3RoX29uX2Vycm9yOwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBsb2df bWluX2Vycm9yX3N0YXRlbWVudDsKLWV4dGVybiBQR0RMTElNUE9SVCBpbnQgbG9nX21pbl9t ZXNzYWdlczsKK2V4dGVybiBQR0RMTElNUE9SVCBpbnQgbG9nX21pbl9tZXNzYWdlc1tdOwog ZXh0ZXJuIFBHRExMSU1QT1JUIGludCBjbGllbnRfbWluX21lc3NhZ2VzOwogZXh0ZXJuIFBH RExMSU1QT1JUIGludCBsb2dfbWluX2R1cmF0aW9uX3NhbXBsZTsKIGV4dGVybiBQR0RMTElN UE9SVCBpbnQgbG9nX21pbl9kdXJhdGlvbl9zdGF0ZW1lbnQ7CkBAIC0zMjksNiArMzI5LDkg QEAgZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgdHJhY2Vfc29ydDsKIGV4dGVybiBQR0RMTElN UE9SVCBib29sIG9wdGltaXplX2JvdW5kZWRfc29ydDsKICNlbmRpZgogCisvKiBsb2dfbWlu X21lc3NhZ2VzICovCitleHRlcm4gUEdETExJTVBPUlQgY29uc3QgY2hhciAqY29uc3QgbG9n X21pbl9tZXNzYWdlc19iYWNrZW5kX3R5cGVzW107CisKIC8qCiAgKiBEZWNsYXJhdGlvbnMg Zm9yIG9wdGlvbnMgZm9yIGVudW0gdmFsdWVzCiAgKgpAQCAtMzQ0LDYgKzM0Nyw3IEBAIGV4 dGVybiBQR0RMTElNUE9SVCBjb25zdCBzdHJ1Y3QgY29uZmlnX2VudW1fZW50cnkgYXJjaGl2 ZV9tb2RlX29wdGlvbnNbXTsKIGV4dGVybiBQR0RMTElNUE9SVCBjb25zdCBzdHJ1Y3QgY29u ZmlnX2VudW1fZW50cnkgZHluYW1pY19zaGFyZWRfbWVtb3J5X29wdGlvbnNbXTsKIGV4dGVy biBQR0RMTElNUE9SVCBjb25zdCBzdHJ1Y3QgY29uZmlnX2VudW1fZW50cnkgaW9fbWV0aG9k X29wdGlvbnNbXTsKIGV4dGVybiBQR0RMTElNUE9SVCBjb25zdCBzdHJ1Y3QgY29uZmlnX2Vu dW1fZW50cnkgcmVjb3ZlcnlfdGFyZ2V0X2FjdGlvbl9vcHRpb25zW107CitleHRlcm4gUEdE TExJTVBPUlQgY29uc3Qgc3RydWN0IGNvbmZpZ19lbnVtX2VudHJ5IHNlcnZlcl9tZXNzYWdl X2xldmVsX29wdGlvbnNbXTsKIGV4dGVybiBQR0RMTElNUE9SVCBjb25zdCBzdHJ1Y3QgY29u ZmlnX2VudW1fZW50cnkgd2FsX2xldmVsX29wdGlvbnNbXTsKIGV4dGVybiBQR0RMTElNUE9S VCBjb25zdCBzdHJ1Y3QgY29uZmlnX2VudW1fZW50cnkgd2FsX3N5bmNfbWV0aG9kX29wdGlv bnNbXTsKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvZ3VjX2hvb2tzLmggYi9z cmMvaW5jbHVkZS91dGlscy9ndWNfaG9va3MuaAppbmRleCA4MmFjODY0NmE4ZC4uZTZmZmM5 NjQ2OGYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL2d1Y19ob29rcy5oCisrKyBi L3NyYy9pbmNsdWRlL3V0aWxzL2d1Y19ob29rcy5oCkBAIC0xNzQsNSArMTc0LDcgQEAgZXh0 ZXJuIHZvaWQgYXNzaWduX3dhbF9zeW5jX21ldGhvZChpbnQgbmV3X3dhbF9zeW5jX21ldGhv ZCwgdm9pZCAqZXh0cmEpOwogZXh0ZXJuIGJvb2wgY2hlY2tfc3luY2hyb25pemVkX3N0YW5k Ynlfc2xvdHMoY2hhciAqKm5ld3ZhbCwgdm9pZCAqKmV4dHJhLAogCQkJCQkJCQkJCQkgR3Vj U291cmNlIHNvdXJjZSk7CiBleHRlcm4gdm9pZCBhc3NpZ25fc3luY2hyb25pemVkX3N0YW5k Ynlfc2xvdHMoY29uc3QgY2hhciAqbmV3dmFsLCB2b2lkICpleHRyYSk7CitleHRlcm4gYm9v bCBjaGVja19sb2dfbWluX21lc3NhZ2VzKGNoYXIgKipuZXd2YWwsIHZvaWQgKipleHRyYSwg R3VjU291cmNlIHNvdXJjZSk7CitleHRlcm4gdm9pZCBhc3NpZ25fbG9nX21pbl9tZXNzYWdl cyhjb25zdCBjaGFyICpuZXd2YWwsIHZvaWQgKmV4dHJhKTsKIAogI2VuZGlmCQkJCQkJCS8q IEdVQ19IT09LU19IICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2d1Yy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2d1Yy5vdXQKaW5kZXggZDZm Yjg3OWY1MDAuLmY2ZWJkMjdiMWE5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2d1Yy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ndWMub3V0 CkBAIC05MzUsMyArOTM1LDU3IEBAIFNFTEVDVCBuYW1lIEZST00gdGFiX3NldHRpbmdzX2Zs YWdzCiAoMCByb3dzKQogCiBEUk9QIFRBQkxFIHRhYl9zZXR0aW5nc19mbGFnczsKKy0tIFRl c3QgbG9nX21pbl9tZXNzYWdlcworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gZm9vOyAgLS0g ZmFpbAorRVJST1I6ICBpbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgImxvZ19taW5fbWVz c2FnZXMiOiAiZm9vIgorREVUQUlMOiAgVW5yZWNvZ25pemVkIGxvZyBsZXZlbDogImZvbyIu CitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyBmYXRhbDsKK1NIT1cgbG9nX21pbl9tZXNzYWdl czsKKyBsb2dfbWluX21lc3NhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tCisgZmF0YWwKKygx IHJvdykKKworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2ZhdGFsJzsKK1NIT1cgbG9nX21p bl9tZXNzYWdlczsKKyBsb2dfbWluX21lc3NhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tCisg ZmF0YWwKKygxIHJvdykKKworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2NoZWNrcG9pbnRl cjpkZWJ1ZzIsIGF1dG92YWN1dW06ZGVidWcxJzsgIC0tZmFpbAorRVJST1I6ICBpbnZhbGlk IHZhbHVlIGZvciBwYXJhbWV0ZXIgImxvZ19taW5fbWVzc2FnZXMiOiAiY2hlY2twb2ludGVy OmRlYnVnMiwgYXV0b3ZhY3V1bTpkZWJ1ZzEiCitERVRBSUw6ICBHZW5lcmljIGxvZyBsZXZl bCB3YXMgbm90IGRlZmluZWQuCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnZGVidWcxLCBi YWNrZW5kOmVycm9yLCBmYXRhbCc7ICAtLSBmYWlsCitFUlJPUjogIGludmFsaWQgdmFsdWUg Zm9yIHBhcmFtZXRlciAibG9nX21pbl9tZXNzYWdlcyI6ICJkZWJ1ZzEsIGJhY2tlbmQ6ZXJy b3IsIGZhdGFsIgorREVUQUlMOiAgR2VuZXJpYyBsb2cgbGV2ZWwgd2FzIGFscmVhZHkgYXNz aWduZWQuCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnYmFja2VuZDplcnJvciwgZGVidWcx LCBiYWNrZW5kOndhcm5pbmcnOyAgLS0gZmFpbAorRVJST1I6ICBpbnZhbGlkIHZhbHVlIGZv ciBwYXJhbWV0ZXIgImxvZ19taW5fbWVzc2FnZXMiOiAiYmFja2VuZDplcnJvciwgZGVidWcx LCBiYWNrZW5kOndhcm5pbmciCitERVRBSUw6ICBCYWNrZW5kIHR5cGUgImJhY2tlbmQiIHdh cyBhbHJlYWR5IGFzc2lnbmVkLgorU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2JhY2tlbmQ6 ZXJyb3IsIGZvbzpmYXRhbCwgYXJjaGl2ZXI6ZGVidWcxJzsgIC0tIGZhaWwKK0VSUk9SOiAg aW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICJsb2dfbWluX21lc3NhZ2VzIjogImJhY2tl bmQ6ZXJyb3IsIGZvbzpmYXRhbCwgYXJjaGl2ZXI6ZGVidWcxIgorREVUQUlMOiAgVW5yZWNv Z25pemVkIGJhY2tlbmQgdHlwZTogImZvbyIuCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAn YmFja2VuZDplcnJvciwgY2hlY2twb2ludGVyOmJhciwgYXJjaGl2ZXI6ZGVidWcxJzsgIC0t IGZhaWwKK0VSUk9SOiAgaW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICJsb2dfbWluX21l c3NhZ2VzIjogImJhY2tlbmQ6ZXJyb3IsIGNoZWNrcG9pbnRlcjpiYXIsIGFyY2hpdmVyOmRl YnVnMSIKK0RFVEFJTDogIFVucmVjb2duaXplZCBsb2cgbGV2ZWw6ICJiYXIiLgorU0VUIGxv Z19taW5fbWVzc2FnZXMgVE8gJ2JhY2tlbmQ6ZXJyb3IsIGNoZWNrcG9pbnRlcjpkZWJ1ZzMs IGZhdGFsLCBhcmNoaXZlcjpkZWJ1ZzIsIGF1dG92YWN1dW06ZGVidWcxLCB3YWxzZW5kZXI6 ZGVidWczJzsKK1NIT1cgbG9nX21pbl9tZXNzYWdlczsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsb2dfbWluX21lc3NhZ2VzICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyBiYWNrZW5kOmVycm9yLCBjaGVja3BvaW50ZXI6ZGVidWczLCBm YXRhbCwgYXJjaGl2ZXI6ZGVidWcyLCBhdXRvdmFjdXVtOmRlYnVnMSwgd2Fsc2VuZGVyOmRl YnVnMworKDEgcm93KQorCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnd2FybmluZywgYXV0 b3ZhY3V1bTpkZWJ1ZzEnOworU0hPVyBsb2dfbWluX21lc3NhZ2VzOworICAgICAgbG9nX21p bl9tZXNzYWdlcyAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHdhcm5p bmcsIGF1dG92YWN1dW06ZGVidWcxCisoMSByb3cpCisKK1NFVCBsb2dfbWluX21lc3NhZ2Vz IFRPICdhdXRvdmFjdXVtOmRlYnVnMSwgd2FybmluZyc7CitTSE9XIGxvZ19taW5fbWVzc2Fn ZXM7CisgICAgICBsb2dfbWluX21lc3NhZ2VzICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgYXV0b3ZhY3V1bTpkZWJ1ZzEsIHdhcm5pbmcKKygxIHJvdykKKwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZ3VjLnNxbCBiL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2d1Yy5zcWwKaW5kZXggYmFmYWYwNjdlODIuLmY3ZGZjOTA5YjQyIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ndWMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2d1Yy5zcWwKQEAgLTM3NywzICszNzcsMjEgQEAgU0VMRUNUIG5hbWUgRlJPTSB0 YWJfc2V0dGluZ3NfZmxhZ3MKICAgV0hFUkUgbm9fcmVzZXQgQU5EIE5PVCBub19yZXNldF9h bGwKICAgT1JERVIgQlkgMTsKIERST1AgVEFCTEUgdGFiX3NldHRpbmdzX2ZsYWdzOworCist LSBUZXN0IGxvZ19taW5fbWVzc2FnZXMKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPIGZvbzsg IC0tIGZhaWwKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPIGZhdGFsOworU0hPVyBsb2dfbWlu X21lc3NhZ2VzOworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2ZhdGFsJzsKK1NIT1cgbG9n X21pbl9tZXNzYWdlczsKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPICdjaGVja3BvaW50ZXI6 ZGVidWcyLCBhdXRvdmFjdXVtOmRlYnVnMSc7ICAtLWZhaWwKK1NFVCBsb2dfbWluX21lc3Nh Z2VzIFRPICdkZWJ1ZzEsIGJhY2tlbmQ6ZXJyb3IsIGZhdGFsJzsgIC0tIGZhaWwKK1NFVCBs b2dfbWluX21lc3NhZ2VzIFRPICdiYWNrZW5kOmVycm9yLCBkZWJ1ZzEsIGJhY2tlbmQ6d2Fy bmluZyc7ICAtLSBmYWlsCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnYmFja2VuZDplcnJv ciwgZm9vOmZhdGFsLCBhcmNoaXZlcjpkZWJ1ZzEnOyAgLS0gZmFpbAorU0VUIGxvZ19taW5f bWVzc2FnZXMgVE8gJ2JhY2tlbmQ6ZXJyb3IsIGNoZWNrcG9pbnRlcjpiYXIsIGFyY2hpdmVy OmRlYnVnMSc7ICAtLSBmYWlsCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnYmFja2VuZDpl cnJvciwgY2hlY2twb2ludGVyOmRlYnVnMywgZmF0YWwsIGFyY2hpdmVyOmRlYnVnMiwgYXV0 b3ZhY3V1bTpkZWJ1ZzEsIHdhbHNlbmRlcjpkZWJ1ZzMnOworU0hPVyBsb2dfbWluX21lc3Nh Z2VzOworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ3dhcm5pbmcsIGF1dG92YWN1dW06ZGVi dWcxJzsKK1NIT1cgbG9nX21pbl9tZXNzYWdlczsKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRP ICdhdXRvdmFjdXVtOmRlYnVnMSwgd2FybmluZyc7CitTSE9XIGxvZ19taW5fbWVzc2FnZXM7 Ci0tIAoyLjM5LjUKCg== --7bebf94137404b07b843d9eccea00bfd--