From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#56025: [PATCH v5] 29.0.50; em-extpipe-test-2 times out on EMBA and Cygwin Date: Sun, 24 Jul 2022 10:36:36 -0700 Message-ID: References: <8e21db9c-0100-998e-f280-81304e7ff61a@cornell.edu> <4676f52c-4758-38df-f0f4-dbcb5d848c1b@gmail.com> <8735fr2kq6.fsf@melete.silentflame.com> <10cf6a90-f86a-b0df-4dc2-c258b7494158@gmail.com> <18e79c02-3a2a-77d1-3798-33711f52d6b9@cornell.edu> <19c66901-2eeb-1f40-17a4-4ed54827e065@gmail.com> <5990de80-63a5-ac9b-1a11-c814aa9e38f2@gmail.com> <3779ea08-f481-5fb5-3257-ca9fa7c604bc@cornell.edu> <60cf587b-5d83-31d6-f0af-56979b221425@gmail.com> <6725161c-1d45-8ded-5d75-aa1a74c9b3ed@gmail.com> <91cb3365-119c-8f3a-4c7b-5c83792dcf88@cornell.edu> <73ed3965-3dfb-75e9-eab1-389507b7112d@gmail.com> <7056ea9f-a55d-28b7-52cf-caca7a9053a5@gmail.com> <834jz6hmfb.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------54832D820F8DCBBE62943999" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17963"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, 56025@debbugs.gnu.org, spwhitton@email.arizona.edu, kbrown@cornell.edu To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jul 24 19:37:10 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oFfXS-0004TX-7f for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 24 Jul 2022 19:37:10 +0200 Original-Received: from localhost ([::1]:56972 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oFfXQ-0005dD-VS for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 24 Jul 2022 13:37:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35786) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oFfXK-0005d4-41 for bug-gnu-emacs@gnu.org; Sun, 24 Jul 2022 13:37:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:58859) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oFfXJ-0001KH-Rf for bug-gnu-emacs@gnu.org; Sun, 24 Jul 2022 13:37:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oFfXJ-0003z4-Mo for bug-gnu-emacs@gnu.org; Sun, 24 Jul 2022 13:37:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 24 Jul 2022 17:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56025 X-GNU-PR-Package: emacs Original-Received: via spool by 56025-submit@debbugs.gnu.org id=B56025.165868420915293 (code B ref 56025); Sun, 24 Jul 2022 17:37:01 +0000 Original-Received: (at 56025) by debbugs.gnu.org; 24 Jul 2022 17:36:49 +0000 Original-Received: from localhost ([127.0.0.1]:48608 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oFfX5-0003yZ-3v for submit@debbugs.gnu.org; Sun, 24 Jul 2022 13:36:49 -0400 Original-Received: from mail-pf1-f176.google.com ([209.85.210.176]:33282) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oFfX0-0003yD-Uw for 56025@debbugs.gnu.org; Sun, 24 Jul 2022 13:36:45 -0400 Original-Received: by mail-pf1-f176.google.com with SMTP id 17so8549690pfy.0 for <56025@debbugs.gnu.org>; Sun, 24 Jul 2022 10:36:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:mime-version :in-reply-to:content-language; bh=IjF5NhDwzIuS39Ko+hgqpn0LUMN86FZlBfh/BSdkCBo=; b=SJRXTnBBopkTkeujbTCLeQGe+Sisdc3eVm34iXz1OVTbGzRnMaYfo79/qVJayJ1uA0 Ow9sQh09YbAGc4BoTfmJzEk0CoTiIlYTemu/cp/nYPr9QcYYjRK1/3PCuy+6gVAvu7md kTje0LFGfOf6k7noF16EVOJykdqdbH0cXeLTy58fPjrQe14mKETVbKyeG3OEarPYhqyw R8YbVIStGvadP0egcxw8nLhV3m36BobMdjMik2Vlkop+NHmxJ42WBQztu4Idj04gpD5G uTAREKo6jAe2co1FqMZIHG3vzhSASsa+O/1zUyifPoFaim8So2TU7qCd22PjFHDUXYOl nBqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :mime-version:in-reply-to:content-language; bh=IjF5NhDwzIuS39Ko+hgqpn0LUMN86FZlBfh/BSdkCBo=; b=P9MjHJJTx2guAFW4Bd5vVBiKbN9rVR/FYxtQ3XtAsCKmT1y4MSUg7PA0YwgjL2BR86 akvF+cKs6TdAdcv5nMbb2+uwHGrkcyD9EYdJuMxKN5HAbzif5iIppnpx2bqniK2KmbJ5 R9SG+Ll7WmcqqpcAZ+LQcUX9zWjHGYixNHGUZ4kCU8znvPvMQC7FSOPCPoP/xD3s021o 0Q8f+8UhAUYsAXb1vN9tDuu3n5dWP7NUOgJmeUV+oqAYsCovcNU8taf94G88WepNiT71 2mAeT8pPEfLH4WYk7BPbgYC61exKMUEYuwth6Vf6itCQrEQ4qq9i6YiInFDrUlxadXH+ EgPg== X-Gm-Message-State: AJIora8VGimQv3Mbmn+IE/agvukxAmGVlt5zqvCvggdsL0DJJcaJQGt4 ORIjjMayhvXI+i3Pz0A0bP8= X-Google-Smtp-Source: AGRyM1uQaRHz9Ej+E/xZ7BbwcyECYNXBEEx59J4qUvIBnOVu3/CvKxzIPHfVh8B+8khq0MUaefkx3w== X-Received: by 2002:a65:6cc8:0:b0:3fe:2b89:cc00 with SMTP id g8-20020a656cc8000000b003fe2b89cc00mr8042036pgw.599.1658684196830; Sun, 24 Jul 2022 10:36:36 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id b4-20020a62cf04000000b0052ab92772a0sm7956106pfg.98.2022.07.24.10.36.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 24 Jul 2022 10:36:35 -0700 (PDT) In-Reply-To: <834jz6hmfb.fsf@gnu.org> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:237862 Archived-At: This is a multi-part message in MIME format. --------------54832D820F8DCBBE62943999 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 7/24/2022 2:47 AM, Eli Zaretskii wrote: >> From: Jim Porter >> Cc: larsi@gnus.org, 56025@debbugs.gnu.org >> Date: Sat, 23 Jul 2022 22:29:28 -0700 >> >> -@defun process-tty-name process >> +@defun process-tty-name process &optional stream >> This function returns the terminal name that @var{process} is using for >> its communication with Emacs---or @code{nil} if it is using pipes >> instead of a pty (see @code{process-connection-type} in >> -@ref{Asynchronous Processes}). If @var{process} represents a program >> -running on a remote host, the terminal name used by that program on >> -the remote host is provided as process property @code{remote-tty}. If >> -@var{process} represents a network, serial, or pipe connection, the >> -value is @code{nil}. >> +@ref{Asynchronous Processes}). If @var{stream} is one of @code{stdin}, >> +@code{stdout}, or @code{stderr}, this function returns the terminal >> +name (or @code{nil}, as above) that @var{process} uses for that stream >> +specifically. You can use this to determine whether a particular >> +stream uses a pipe or a pty. > > This text doesn't tell what happens if STREAM is nil or omitted. Ok, I expanded this to clarify things. (Same for the docstring.) Hopefully that provides enough detail. I tried to explain the behavior without going overly in-depth and explaining all the implementation details of how PTYs get set up. Let me know if it needs any further tweaks. >> +If @var{process} represents a program running on a remote host, the >> +terminal name used by that program on the remote host is provided as >> +process property @code{remote-tty}. If @var{process} represents a >> +network, serial, or pipe connection, the value is @code{nil}. > > If the previous paragraph is only for local subprocesses, the text > there should say so. I've added an explanation of what (I think) this means for remote processes: `process-tty-name' returns the name of the local TTY (so, the TTY used by ssh, for example), whereas the `remote-tty' property returns the name of, well... the remote TTY. I'm pretty sure that's what the behavior is at least, based on my reading of the code. On 7/24/2022 2:48 AM, Eli Zaretskii wrote: >> From: Lars Ingebrigtsen >> >> Since this (mainly) affects Cygwin builds, could someone who uses >> Windows give the patch a look-over and apply it? > > I did the review and tested on native MS-Windows, but I think we > should wait for Ken to try this on Cygwin. I tested the v4 patch on Cygwin (and GNU/Linux) and all the new tests I added passed. Ken also tested patch v2 and things worked. --------------54832D820F8DCBBE62943999 Content-Type: text/plain; charset=UTF-8; name="0001-Allow-creating-processes-where-only-one-of-stdin-or-.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Allow-creating-processes-where-only-one-of-stdin-or-.pa"; filename*1="tch" RnJvbSBiYTc0NTk5OGQ3ZjI2MjYyYTcyMTQxM2I3ZGM0OTU0OWU2NzMzODdjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFN1biwgMTcgSnVsIDIwMjIgMjA6MjU6MDAgLTA3MDAKU3ViamVjdDogW1BB VENIIDEvMl0gQWxsb3cgY3JlYXRpbmcgcHJvY2Vzc2VzIHdoZXJlIG9ubHkgb25lIG9mIHN0 ZGluIG9yCiBzdGRvdXQgaXMgYSBQVFkKCiogc3JjL2xpc3AuaCAoZW1hY3Nfc3Bhd24pOgoq IHNyYy9jYWxscHJvYy5jIChlbWFjc19zcGF3bik6IEFkZCBQVFlfSU4gYW5kIFBUWV9PVVQg YXJndW1lbnRzIHRvCnNwZWNpZnkgd2hpY2ggc3RyZWFtcyBzaG91bGQgYmUgc2V0IHVwIGFz IGEgUFRZLgooY2FsbF9wcm9jZXNzKTogQWRqdXN0IGNhbGwgdG8gJ2VtYWNzX3NwYXduJy4K Ciogc3JjL3Byb2Nlc3MuaCAoTGlzcF9Qcm9jZXNzKTogUmVwbGFjZSAncHR5X2ZsYWcnIHdp dGggJ3B0eV9pbicgYW5kCidwdHlfb3V0Jy4KCiogc3JjL3Byb2Nlc3MuYyAoaXNfcHR5X2Zy b21fc3ltYm9sKTogTmV3IGZ1bmN0aW9uLgoobWFrZS1wcm9jZXNzKTogQWxsb3cgOmNvbm5l Y3Rpb24tdHlwZSB0byBiZSBhIGNvbnMgY2VsbCwgYW5kIGFsbG93CnVzaW5nIGEgc3RkZXJy IHByb2Nlc3Mgd2l0aCBhIFBUWSBmb3Igc3RkaW4vc3Rkb3V0LgooY3JlYXRlX3Byb2Nlc3Mp OiBIYW5kbGUgY3JlYXRpbmcgYSBwcm9jZXNzIHdoZXJlIG9ubHkgb25lIG9mIHN0ZGluIG9y CnN0ZG91dCBpcyBhIFBUWS4KCiogbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwgKGVzaGVsbC1u ZWVkcy1waXBlLCBlc2hlbGwtbmVlZHMtcGlwZS1wKToKUmVtb3ZlLgooZXNoZWxsLWdhdGhl ci1wcm9jZXNzLW91dHB1dCk6IFVzZSAnbWFrZS1wcm9jZXNzJyBhbmQgc2V0Cic6Y29ubmVj dGlvbi10eXBlJyBhcyBuZWVkZWQgYnkgdGhlIHZhbHVlIG9mICdlc2hlbGwtaW4tcGlwZWxp bmUtcCcuCgoqIGxpc3AvbmV0L3RyYW1wLmVsICh0cmFtcC1oYW5kbGUtbWFrZS1wcm9jZXNz KToKKiBsaXNwL25ldC90cmFtcC1hZGIuZWwgKHRyYW1wLWFkYi1oYW5kbGUtbWFrZS1wcm9j ZXNzKToKKiBsaXNwL25ldC90cmFtcC1zaC5lbCAodHJhbXAtc2gtaGFuZGxlLW1ha2UtcHJv Y2Vzcyk6IERvbid0IHNpZ25hbCBhbgplcnJvciB3aGVuICc6Y29ubmVjdGlvbi10eXBlJyBp cyBhIGNvbnMgY2VsbC4KCiogdGVzdC9zcmMvcHJvY2Vzcy10ZXN0cy5lbAoocHJvY2Vzcy10 ZXN0LXNlbnRpbmVsLXdhaXQtZnVuY3Rpb24td29ya2luZy1wKTogQWxsb3cgcGFzc2luZyBQ Uk9DCmluLCBhbmQgcmV3b3JrIGludG8uLi4KKHByb2Nlc3MtdGVzdC13YWl0LWZvci1zZW50 aW5lbCk6IC4uLiB0aGlzLgoocHJvY2Vzcy10ZXN0LXNlbnRpbmVsLWFjY2VwdC1wcm9jZXNz LW91dHB1dCkKKHByb2Nlc3MtdGVzdC1zZW50aW5lbC1zaXQtZm9yLCBwcm9jZXNzLXRlc3Qt cXVvdGVkLWJhdGZpbGUpCihwcm9jZXNzLXRlc3Qtc3RkZXJyLWZpbHRlcik6IFVzZSAncHJv Y2Vzcy10ZXN0LXdhaXQtZm9yLXNlbnRpbmVsJy4KKG1ha2UvcHJvY2Vzcy90ZXN0LWNvbm5l Y3Rpb24tdHlwZSk6IE5ldyBmdW5jdGlvbi4KKG1ha2UtcHJvY2Vzcy9jb25uZWN0aW9uLXR5 cGUvcHR5LCBtYWtlLXByb2Nlc3MvY29ubmVjdGlvbi10eXBlL3B0eS0yKQoobWFrZS1wcm9j ZXNzL2Nvbm5lY3Rpb24tdHlwZS9waXBlKQoobWFrZS1wcm9jZXNzL2Nvbm5lY3Rpb24tdHlw ZS9waXBlLTIpCihtYWtlLXByb2Nlc3MvY29ubmVjdGlvbi10eXBlL2luLXB0eSkKKG1ha2Ut cHJvY2Vzcy9jb25uZWN0aW9uLXR5cGUvb3V0LXB0eSkKKG1ha2UtcHJvY2Vzcy9jb25uZWN0 aW9uLXR5cGUvcHR5LXdpdGgtc3RkZXJyLWJ1ZmZlcikKKG1ha2UtcHJvY2Vzcy9jb25uZWN0 aW9uLXR5cGUvb3V0LXB0eS13aXRoLXN0ZGVyci1idWZmZXIpOiBOZXcgdGVzdHMuCgoqIHRl c3QvbGlzcC9lc2hlbGwvZXNoLXByb2MtdGVzdHMuZWwgKGVzaC1wcm9jLXRlc3QtLWRldGVj dC1wdHktY21kKToKTmV3IHZhcmlhYmxlLgooZXNoLXByb2MtdGVzdC9waXBlbGluZS1jb25u ZWN0aW9uLXR5cGUvbm8tcGlwZWxpbmUpCihlc2gtcHJvYy10ZXN0L3BpcGVsaW5lLWNvbm5l Y3Rpb24tdHlwZS9maXJzdCkKKGVzaC1wcm9jLXRlc3QvcGlwZWxpbmUtY29ubmVjdGlvbi10 eXBlL21pZGRsZSkKKGVzaC1wcm9jLXRlc3QvcGlwZWxpbmUtY29ubmVjdGlvbi10eXBlL2xh c3QpOiBOZXcgdGVzdHMuCgoqIGRvYy9saXNwcmVmL3Byb2Nlc3Nlcy50ZXhpIChBc3luY2hy b25vdXMgUHJvY2Vzc2VzKTogRG9jdW1lbnQgbmV3Cic6Y29ubmVjdGlvbi10eXBlJyBiZWhh dmlvci4KKE91dHB1dCBmcm9tIFByb2Nlc3Nlcyk6IFJlbW92ZSBjYXZlYXQgYWJvdXQgJzpz dGRlcnInIGZvcmNpbmcKJ21ha2UtcHJvY2VzcycgdG8gdXNlIHBpcGVzLgoKKiBldGMvTkVX UzogQW5ub3VuY2UgdGhpcyBjaGFuZ2UuCi0tLQogZG9jL2xpc3ByZWYvcHJvY2Vzc2VzLnRl eGkgICAgICAgICB8ICAyOCArKystLS0tCiBldGMvTkVXUyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDEyICsrKwogbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwgICAgICAgICAgICB8 ICA1NSArKysrLS0tLS0tLS0KIGxpc3AvbmV0L3RyYW1wLWFkYi5lbCAgICAgICAgICAgICAg fCAgIDUgKy0KIGxpc3AvbmV0L3RyYW1wLXNoLmVsICAgICAgICAgICAgICAgfCAgIDUgKy0K IGxpc3AvbmV0L3RyYW1wLmVsICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KIHNyYy9jYWxs cHJvYy5jICAgICAgICAgICAgICAgICAgICAgfCAgMzcgKysrKystLS0tCiBzcmMvbGlzcC5o ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICstCiBzcmMvcHJvY2Vzcy5jICAgICAg ICAgICAgICAgICAgICAgIHwgMTI5ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBz cmMvcHJvY2Vzcy5oICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstCiB0ZXN0L2xpc3Av ZXNoZWxsL2VzaC1wcm9jLXRlc3RzLmVsIHwgIDQzICsrKysrKysrKysKIHRlc3Qvc3JjL3By b2Nlc3MtdGVzdHMuZWwgICAgICAgICAgfCAxMjEgKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tCiAxMiBmaWxlcyBjaGFuZ2VkLCAyODggaW5zZXJ0aW9ucygrKSwgMTYwIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL3Byb2Nlc3Nlcy50ZXhpIGIvZG9jL2xp c3ByZWYvcHJvY2Vzc2VzLnRleGkKaW5kZXggODBjMzcxZTFjNi4uYTdlMDgwNTRjNyAxMDA2 NDQKLS0tIGEvZG9jL2xpc3ByZWYvcHJvY2Vzc2VzLnRleGkKKysrIGIvZG9jL2xpc3ByZWYv cHJvY2Vzc2VzLnRleGkKQEAgLTcwNSwxMiArNzA1LDEzIEBAIEFzeW5jaHJvbm91cyBQcm9j ZXNzZXMKIEluaXRpYWxpemUgdGhlIHR5cGUgb2YgZGV2aWNlIHVzZWQgdG8gY29tbXVuaWNh dGUgd2l0aCB0aGUgc3VicHJvY2Vzcy4KIFBvc3NpYmxlIHZhbHVlcyBhcmUgQGNvZGV7cHR5 fSB0byB1c2UgYSBwdHksIEBjb2Rle3BpcGV9IHRvIHVzZSBhCiBwaXBlLCBvciBAY29kZXtu aWx9IHRvIHVzZSB0aGUgZGVmYXVsdCBkZXJpdmVkIGZyb20gdGhlIHZhbHVlIG9mIHRoZQot QGNvZGV7cHJvY2Vzcy1jb25uZWN0aW9uLXR5cGV9IHZhcmlhYmxlLiAgVGhpcyBwYXJhbWV0 ZXIgYW5kIHRoZSB2YWx1ZQotb2YgQGNvZGV7cHJvY2Vzcy1jb25uZWN0aW9uLXR5cGV9IGFy ZSBpZ25vcmVkIGlmIGEgbm9uLUBjb2Rle25pbH0KLXZhbHVlIGlzIHNwZWNpZmllZCBmb3Ig dGhlIEBjb2RlezpzdGRlcnJ9IHBhcmFtZXRlcjsgaW4gdGhhdCBjYXNlLCB0aGUKLXR5cGUg d2lsbCBhbHdheXMgYmUgQGNvZGV7cGlwZX0uICBPbiBzeXN0ZW1zIHdoZXJlIHB0eXMgYXJl IG5vdAotYXZhaWxhYmxlIChNUy1XaW5kb3dzKSwgdGhpcyBwYXJhbWV0ZXIgaXMgbGlrZXdp c2UgaWdub3JlZCwgYW5kIHBpcGVzCi1hcmUgdXNlZCB1bmNvbmRpdGlvbmFsbHkuCitAY29k ZXtwcm9jZXNzLWNvbm5lY3Rpb24tdHlwZX0gdmFyaWFibGUuICBJZiBAdmFye3R5cGV9IGlz IGEgY29ucyBjZWxsCitAd3tAY29kZXsoQHZhcntpbnB1dH0gLiBAdmFye291dHB1dH0pfX0s IHRoZW4gQHZhcntpbnB1dH0gd2lsbCBiZSB1c2VkCitmb3Igc3RhbmRhcmQgaW5wdXQgYW5k IEB2YXJ7b3V0cHV0fSBmb3Igc3RhbmRhcmQgb3V0cHV0IChhbmQgc3RhbmRhcmQKK2Vycm9y IGlmIEBjb2RlezpzdGRlcnJ9IGlzIEBjb2Rle25pbH0pLgorCitPbiBzeXN0ZW1zIHdoZXJl IHB0eXMgYXJlIG5vdCBhdmFpbGFibGUgKE1TLVdpbmRvd3MpLCB0aGlzIHBhcmFtZXRlcgor aXMgaWdub3JlZCwgYW5kIHBpcGVzIGFyZSB1c2VkIHVuY29uZGl0aW9uYWxseS4KIAogQGl0 ZW0gOm5vcXVlcnkgQHZhcntxdWVyeS1mbGFnfQogSW5pdGlhbGl6ZSB0aGUgcHJvY2VzcyBx dWVyeSBmbGFnIHRvIEB2YXJ7cXVlcnktZmxhZ30uCkBAIC0xNTMwLDIwICsxNTMxLDExIEBA IE91dHB1dCBmcm9tIFByb2Nlc3NlcwogZGVmYXVsdCBmaWx0ZXIgZGlzY2FyZHMgdGhlIG91 dHB1dC4KIAogICBJZiB0aGUgc3VicHJvY2VzcyB3cml0ZXMgdG8gaXRzIHN0YW5kYXJkIGVy cm9yIHN0cmVhbSwgYnkgZGVmYXVsdAotdGhlIGVycm9yIG91dHB1dCBpcyBhbHNvIHBhc3Nl ZCB0byB0aGUgcHJvY2VzcyBmaWx0ZXIgZnVuY3Rpb24uICBJZgotRW1hY3MgdXNlcyBhIHBz ZXVkby1UVFkgKHB0eSkgZm9yIGNvbW11bmljYXRpb24gd2l0aCB0aGUgc3VicHJvY2VzcywK LXRoZW4gaXQgaXMgaW1wb3NzaWJsZSB0byBzZXBhcmF0ZSB0aGUgc3RhbmRhcmQgb3V0cHV0 IGFuZCBzdGFuZGFyZAotZXJyb3Igc3RyZWFtcyBvZiB0aGUgc3VicHJvY2VzcywgYmVjYXVz ZSBhIHBzZXVkby1UVFkgaGFzIG9ubHkgb25lCi1vdXRwdXQgY2hhbm5lbC4gIEluIHRoYXQg Y2FzZSwgaWYgeW91IHdhbnQgdG8ga2VlcCB0aGUgb3V0cHV0IHRvIHRob3NlCi1zdHJlYW1z IHNlcGFyYXRlLCB5b3Ugc2hvdWxkIHJlZGlyZWN0IG9uZSBvZiB0aGVtIHRvIGEgZmlsZS0t LWZvcgotZXhhbXBsZSwgYnkgdXNpbmcgYW4gYXBwcm9wcmlhdGUgc2hlbGwgY29tbWFuZCB2 aWEKLUBjb2Rle3N0YXJ0LXByb2Nlc3Mtc2hlbGwtY29tbWFuZH0gb3IgYSBzaW1pbGFyIGZ1 bmN0aW9uLgotCi0gIEFsdGVybmF0aXZlbHksIHlvdSBjb3VsZCB1c2UgdGhlIEBjb2Rlezpz dGRlcnJ9IHBhcmFtZXRlciB3aXRoIGEKK3RoZSBlcnJvciBvdXRwdXQgaXMgYWxzbyBwYXNz ZWQgdG8gdGhlIHByb2Nlc3MgZmlsdGVyIGZ1bmN0aW9uLgorQWx0ZXJuYXRpdmVseSwgeW91 IGNvdWxkIHVzZSB0aGUgQGNvZGV7OnN0ZGVycn0gcGFyYW1ldGVyIHdpdGggYQogbm9uLUBj b2Rle25pbH0gdmFsdWUgaW4gYSBjYWxsIHRvIEBjb2Rle21ha2UtcHJvY2Vzc30KIChAcHhy ZWZ7QXN5bmNocm9ub3VzIFByb2Nlc3NlcywgbWFrZS1wcm9jZXNzfSkgdG8gbWFrZSB0aGUg ZGVzdGluYXRpb24KLW9mIHRoZSBlcnJvciBvdXRwdXQgc2VwYXJhdGUgZnJvbSB0aGUgc3Rh bmRhcmQgb3V0cHV0OyBpbiB0aGF0IGNhc2UsCi1FbWFjcyB3aWxsIHVzZSBwaXBlcyBmb3Ig Y29tbXVuaWNhdGluZyB3aXRoIHRoZSBzdWJwcm9jZXNzLgorb2YgdGhlIGVycm9yIG91dHB1 dCBzZXBhcmF0ZSBmcm9tIHRoZSBzdGFuZGFyZCBvdXRwdXQuCiAKICAgV2hlbiBhIHN1YnBy b2Nlc3MgdGVybWluYXRlcywgRW1hY3MgcmVhZHMgYW55IHBlbmRpbmcgb3V0cHV0LAogdGhl biBzdG9wcyByZWFkaW5nIG91dHB1dCBmcm9tIHRoYXQgc3VicHJvY2Vzcy4gIFRoZXJlZm9y ZSwgaWYgdGhlCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDZkNGZj ZTEyMzcuLmRjNzlmMDgyNmEgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdT CkBAIC0yMjI5LDYgKzIyMjksMTIgQEAgdGhleSB3aWxsIHN0aWxsIGJlIGVzY2FwZWQsIHNv IHRoZSAnLmZvbycgc3ltYm9sIGlzIHN0aWxsIHByaW50ZWQgYXMKIGFuZCByZW1hcHBpbmcg cGFyZW50IG9mIGJhc2ljIGZhY2VzIGRvZXMgbm90IHdvcmsgcmVsaWFibHkuCiBJbnN0ZWFk IG9mIHJlbWFwcGluZyAnbW9kZS1saW5lJywgeW91IGhhdmUgdG8gcmVtYXAgJ21vZGUtbGlu ZS1hY3RpdmUnLgogCisrKysKKyoqICdtYWtlLXByb2Nlc3MnIGhhcyBiZWVuIGV4dGVuZGVk IHRvIHN1cHBvcnQgcHR5cyB3aGVuICc6c3RkZXJyJyBpcyBzZXQuCitQcmV2aW91c2x5LCBz ZXR0aW5nICc6c3RkZXJyJyB0byBhIG5vbi1uaWwgdmFsdWUgd291bGQgZm9yY2UgdGhlCitw cm9jZXNzJ3MgY29ubmVjdGlvbiB0byB1c2UgcGlwZXMuICBOb3csIEVtYWNzIHdpbGwgdXNl IGEgcHR5IGZvcgorc3RkaW4gYW5kIHN0ZG91dCBpZiByZXF1ZXN0ZWQgbm8gbWF0dGVyIHRo ZSB2YWx1ZSBvZiAnOnN0ZGVycicuCisKIC0tLQogKiogVXNlciBvcHRpb24gJ21haWwtc291 cmNlLWlnbm9yZS1lcnJvcnMnIGlzIG5vdyBvYnNvbGV0ZS4KIFRoZSB3aG9sZSBtZWNoYW5p c20gZm9yIHByb21wdGluZyB1c2VycyB0byBjb250aW51ZSBpbiBjYXNlIG9mCkBAIC0zMTg4 LDYgKzMxOTQsMTIgQEAgdHJhbnNsYXRpb24uCiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHF1b3Rp bmcgc2hlbGwgYXJndW1lbnRzIGZvciBhIHJlbW90ZSBzaGVsbAogaW52b2NhdGlvbi4gIFN1 Y2ggc2hlbGxzIGFyZSBQT1NJWCBjb25mb3JtYW50IGJ5IGRlZmF1bHQuCiAKKysrKworKiog J21ha2UtcHJvY2VzcycgY2FuIHNldCBjb25uZWN0aW9uIHR5cGUgaW5kZXBlbmRlbnRseSBm b3IgaW5wdXQgYW5kIG91dHB1dC4KK1doZW4gY2FsbGluZyAnbWFrZS1wcm9jZXNzJywgY29t bXVuaWNhdGlvbiB2aWEgcHR5IGNhbiBiZSBlbmFibGVkCitzZWxlY3RpdmVseSBmb3IganVz dCBpbnB1dCBvciBvdXRwdXQgYnkgcGFzc2luZyBhIGNvbnMgY2VsbCBmb3IKKyc6Y29ubmVj dGlvbi10eXBlJywgZS5nLiAnKHBpcGUgLiBwdHkpJy4KKwogKysrCiAqKiAnc2lnbmFsLXBy b2Nlc3MnIG5vdyBjb25zdWx0cyB0aGUgbGlzdCAnc2lnbmFsLXByb2Nlc3MtZnVuY3Rpb25z Jy4KIFRoaXMgaXMgdG8gZGV0ZXJtaW5lIHdoaWNoIGZ1bmN0aW9uIGhhcyB0byBiZSBjYWxs ZWQgaW4gb3JkZXIgdG8KZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1wcm9jLmVsIGIv bGlzcC9lc2hlbGwvZXNoLXByb2MuZWwKaW5kZXggNzA0MjZjY2FmMi4uOTliNDM2NjFmMiAx MDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwKKysrIGIvbGlzcC9lc2hlbGwv ZXNoLXByb2MuZWwKQEAgLTI1MCwzMCArMjUwLDYgQEAgZXNoZWxsLWxhc3Qtc3luYy1vdXRw dXQtc3RhcnQKICAgIkEgbWFya2VyIHRoYXQgdHJhY2tzIHRoZSBiZWdpbm5pbmcgb2Ygb3V0 cHV0IG9mIHRoZSBsYXN0IHN1YnByb2Nlc3MuCiBVc2VkIG9ubHkgb24gc3lzdGVtcyB3aGlj aCBkbyBub3Qgc3VwcG9ydCBhc3luYyBzdWJwcm9jZXNzZXMuIikKIAotKGRlZnZhciBlc2hl bGwtbmVlZHMtcGlwZQotICAnKCJiYyIKLSAgICA7OyB4Y2xpcC5lbCAoaW4gR05VIEVMUEEp IGNhbGxzIGFsbCBvZiB0aGVzZSB3aXRoCi0gICAgOzsgYHByb2Nlc3MtY29ubmVjdGlvbi10 eXBlJyBzZXQgdG8gbmlsLgotICAgICJwYnBhc3RlIiAicHV0Y2xpcCIgInhjbGlwIiAieHNl bCIgIndsLWNvcHkiKQotICAiTGlzdCBvZiBjb21tYW5kcyB3aGljaCBuZWVkIGBwcm9jZXNz LWNvbm5lY3Rpb24tdHlwZScgdG8gYmUgbmlsLgotQ3VycmVudGx5IG9ubHkgYWZmZWN0cyBj b21tYW5kcyBpbiBwaXBlbGluZXMsIGFuZCBub3QgdGhvc2UgYXQKLXRoZSBmcm9udC4gIElm IGFuIGVsZW1lbnQgY29udGFpbnMgYSBkaXJlY3RvcnkgcGFydCBpdCBtdXN0IG1hdGNoCi10 aGUgZnVsbCBuYW1lIG9mIGEgY29tbWFuZCwgb3RoZXJ3aXNlIGp1c3QgdGhlIG5vbmRpcmVj dG9yeSBwYXJ0IG11c3QgbWF0Y2guIikKLQotKGRlZnVuIGVzaGVsbC1uZWVkcy1waXBlLXAg KGNvbW1hbmQpCi0gICJSZXR1cm4gbm9uLW5pbCBpZiBDT01NQU5EIG5lZWRzIGBwcm9jZXNz LWNvbm5lY3Rpb24tdHlwZScgdG8gYmUgbmlsLgotU2VlIGBlc2hlbGwtbmVlZHMtcGlwZScu IgotICAoYW5kIChib3VuZC1hbmQtdHJ1ZS1wIGVzaGVsbC1pbi1waXBlbGluZS1wKQotICAg ICAgIChub3QgKGVxIGVzaGVsbC1pbi1waXBlbGluZS1wICdmaXJzdCkpCi0gICAgICAgOzsg RklYTUUgc2hvdWxkIHRoaXMgcmV0dXJuIG5vbi1uaWwgZm9yIGFueXRoaW5nIHRoYXQgaXMK LSAgICAgICA7OyBuZWl0aGVyICdmaXJzdCBub3IgJ2xhc3Q/ICBTZWUgYnVnIzEzODggZGlz Y3Vzc2lvbi4KLSAgICAgICAoY2F0Y2ggJ2ZvdW5kCi0JIChkb2xpc3QgKGV4ZSBlc2hlbGwt bmVlZHMtcGlwZSkKLQkgICAoaWYgKHN0cmluZy1lcXVhbCBleGUgKGlmIChzdHJpbmctc2Vh cmNoICIvIiBleGUpCi0JCQkJICAgICBjb21tYW5kCi0JCQkJICAgKGZpbGUtbmFtZS1ub25k aXJlY3RvcnkgY29tbWFuZCkpKQotCSAgICAgICAodGhyb3cgJ2ZvdW5kIHQpKSkpKSkKLQog KGRlZnVuIGVzaGVsbC1nYXRoZXItcHJvY2Vzcy1vdXRwdXQgKGNvbW1hbmQgYXJncykKICAg IkdhdGhlciB0aGUgb3V0cHV0IGZyb20gQ09NTUFORCArIEFSR1MuIgogICAocmVxdWlyZSAn ZXNoLXZhcikKQEAgLTI5MCwzMSArMjY2LDM2IEBAIGVzaGVsbC1nYXRoZXItcHJvY2Vzcy1v dXRwdXQKICAgICAoY29uZAogICAgICAoKGZib3VuZHAgJ21ha2UtcHJvY2VzcykKICAgICAg IChzZXRxIHByb2MKLQkgICAgKGxldCAoKHByb2Nlc3MtY29ubmVjdGlvbi10eXBlCi0JCSAg ICh1bmxlc3MgKGVzaGVsbC1uZWVkcy1waXBlLXAgY29tbWFuZCkKLQkJICAgICBwcm9jZXNz LWNvbm5lY3Rpb24tdHlwZSkpCi0JCSAgKGNvbW1hbmQgKGZpbGUtbG9jYWwtbmFtZSAoZXhw YW5kLWZpbGUtbmFtZSBjb21tYW5kKSkpKQotCSAgICAgIChhcHBseSAjJ3N0YXJ0LWZpbGUt cHJvY2VzcwotCQkgICAgIChmaWxlLW5hbWUtbm9uZGlyZWN0b3J5IGNvbW1hbmQpIG5pbCBj b21tYW5kIGFyZ3MpKSkKKyAgICAgICAgICAgIChsZXQgKChjb21tYW5kIChmaWxlLWxvY2Fs LW5hbWUgKGV4cGFuZC1maWxlLW5hbWUgY29tbWFuZCkpKQorICAgICAgICAgICAgICAgICAg KGNvbm4tdHlwZSAocGNhc2UgKGJvdW5kLWFuZC10cnVlLXAgZXNoZWxsLWluLXBpcGVsaW5l LXApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdmaXJzdCAnKG5pbCAuIHBp cGUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnbGFzdCAgJyhwaXBlIC4g bmlsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ3QgICAgICdwaXBlKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnbmlsICAgbmlsKSkpKQorICAgICAg ICAgICAgICAobWFrZS1wcm9jZXNzCisgICAgICAgICAgICAgICA6bmFtZSAoZmlsZS1uYW1l LW5vbmRpcmVjdG9yeSBjb21tYW5kKQorICAgICAgICAgICAgICAgOmJ1ZmZlciAoY3VycmVu dC1idWZmZXIpCisgICAgICAgICAgICAgICA6Y29tbWFuZCAoY29ucyBjb21tYW5kIGFyZ3Mp CisgICAgICAgICAgICAgICA6ZmlsdGVyIChpZiAoZXNoZWxsLWludGVyYWN0aXZlLW91dHB1 dC1wKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIydlc2hlbGwtb3V0cHV0LWZpbHRl cgorICAgICAgICAgICAgICAgICAgICAgICAgICMnZXNoZWxsLWluc2VydGlvbi1maWx0ZXIp CisgICAgICAgICAgICAgICA6c2VudGluZWwgIydlc2hlbGwtc2VudGluZWwKKyAgICAgICAg ICAgICAgIDpjb25uZWN0aW9uLXR5cGUgY29ubi10eXBlCisgICAgICAgICAgICAgICA6Zmls ZS1oYW5kbGVyIHQpKSkKICAgICAgIChlc2hlbGwtcmVjb3JkLXByb2Nlc3Mtb2JqZWN0IHBy b2MpCi0gICAgICAoc2V0LXByb2Nlc3MtYnVmZmVyIHByb2MgKGN1cnJlbnQtYnVmZmVyKSkK LSAgICAgIChzZXQtcHJvY2Vzcy1maWx0ZXIgcHJvYyAoaWYgKGVzaGVsbC1pbnRlcmFjdGl2 ZS1vdXRwdXQtcCkKLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAjJ2VzaGVsbC1vdXRw dXQtZmlsdGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjJ2VzaGVsbC1p bnNlcnRpb24tZmlsdGVyKSkKLSAgICAgIChzZXQtcHJvY2Vzcy1zZW50aW5lbCBwcm9jICMn ZXNoZWxsLXNlbnRpbmVsKQogICAgICAgKHJ1bi1ob29rLXdpdGgtYXJncyAnZXNoZWxsLWV4 ZWMtaG9vayBwcm9jKQogICAgICAgKHdoZW4gKGZib3VuZHAgJ3Byb2Nlc3MtY29kaW5nLXN5 c3RlbSkKIAkobGV0ICgoY29kaW5nLXN5c3RlbXMgKHByb2Nlc3MtY29kaW5nLXN5c3RlbSBw cm9jKSkpCiAJICAoc2V0cSBkZWNvZGluZyAoY2FyIGNvZGluZy1zeXN0ZW1zKQogCQllbmNv ZGluZyAoY2RyIGNvZGluZy1zeXN0ZW1zKSkpCi0JOzsgSWYgc3RhcnQtcHJvY2VzcyBkZWNp ZGVkIHRvIHVzZSBzb21lIGNvZGluZyBzeXN0ZW0gZm9yCisJOzsgSWYgYG1ha2UtcHJvY2Vz cycgZGVjaWRlZCB0byB1c2Ugc29tZSBjb2Rpbmcgc3lzdGVtIGZvcgogCTs7IGRlY29kaW5n IGRhdGEgc2VudCBmcm9tIHRoZSBwcm9jZXNzIGFuZCB0aGUgY29kaW5nIHN5c3RlbQogCTs7 IGRvZXNuJ3Qgc3BlY2lmeSBFT0wgY29udmVyc2lvbiwgd2UgaGFkIGJldHRlciBjb252ZXJ0 IENSTEYKIAk7OyB0byBMRi4KIAkoaWYgKHZlY3RvcnAgKGNvZGluZy1zeXN0ZW0tZW9sLXR5 cGUgZGVjb2RpbmcpKQogCSAgICAoc2V0cSBkZWNvZGluZyAoY29kaW5nLXN5c3RlbS1jaGFu Z2UtZW9sLWNvbnZlcnNpb24gZGVjb2RpbmcgJ2RvcykKIAkJICBjaGFuZ2VkIHQpKQotCTs7 IEV2ZW4gaWYgc3RhcnQtcHJvY2VzcyBsZWZ0IHRoZSBjb2Rpbmcgc3lzdGVtIGZvciBlbmNv ZGluZworCTs7IEV2ZW4gaWYgYG1ha2UtcHJvY2VzcycgbGVmdCB0aGUgY29kaW5nIHN5c3Rl bSBmb3IgZW5jb2RpbmcKIAk7OyBkYXRhIHNlbnQgZnJvbSB0aGUgcHJvY2VzcyB1bmRlY2lk ZWQsIHdlIGhhZCBiZXR0ZXIgdXNlIHRoZQogCTs7IHNhbWUgb25lIGFzIHdoYXQgd2UgdXNl IGZvciBkZWNvZGluZy4gIEJ1dCwgd2Ugc2hvdWxkCiAJOzsgc3VwcHJlc3MgRU9MIGNvbnZl cnNpb24uCmRpZmYgLS1naXQgYS9saXNwL25ldC90cmFtcC1hZGIuZWwgYi9saXNwL25ldC90 cmFtcC1hZGIuZWwKaW5kZXggZGU1NTg1NjgzMC4uNDUxMTI4YWIyMCAxMDA2NDQKLS0tIGEv bGlzcC9uZXQvdHJhbXAtYWRiLmVsCisrKyBiL2xpc3AvbmV0L3RyYW1wLWFkYi5lbApAQCAt OTA0LDcgKzkwNCwxMCBAQCB0cmFtcC1hZGItaGFuZGxlLW1ha2UtcHJvY2VzcwogCSAgICAo c2lnbmFsICd3cm9uZy10eXBlLWFyZ3VtZW50IChsaXN0ICMnc3ltYm9scCBjb2RpbmcpKSkK IAkgICh3aGVuIChlcSBjb25uZWN0aW9uLXR5cGUgdCkKIAkgICAgKHNldHEgY29ubmVjdGlv bi10eXBlICdwdHkpKQotCSAgKHVubGVzcyAobWVtcSBjb25uZWN0aW9uLXR5cGUgJyhuaWwg cGlwZSBwdHkpKQorCSAgKHVubGVzcyAob3IgKGFuZCAoY29uc3AgY29ubmVjdGlvbi10eXBl KQorCQkJICAgKG1lbXEgKGNhciBjb25uZWN0aW9uLXR5cGUpICcobmlsIHBpcGUgcHR5KSkK KwkJCSAgIChtZW1xIChjZHIgY29ubmVjdGlvbi10eXBlKSAnKG5pbCBwaXBlIHB0eSkpKQor CQkgICAgICAobWVtcSBjb25uZWN0aW9uLXR5cGUgJyhuaWwgcGlwZSBwdHkpKSkKIAkgICAg KHNpZ25hbCAnd3JvbmctdHlwZS1hcmd1bWVudCAobGlzdCAjJ3N5bWJvbHAgY29ubmVjdGlv bi10eXBlKSkpCiAJICAodW5sZXNzIChvciAobnVsbCBmaWx0ZXIpIChlcSBmaWx0ZXIgdCkg KGZ1bmN0aW9ucCBmaWx0ZXIpKQogCSAgICAoc2lnbmFsICd3cm9uZy10eXBlLWFyZ3VtZW50 IChsaXN0ICMnZnVuY3Rpb25wIGZpbHRlcikpKQpkaWZmIC0tZ2l0IGEvbGlzcC9uZXQvdHJh bXAtc2guZWwgYi9saXNwL25ldC90cmFtcC1zaC5lbAppbmRleCBlNzcyYWY5ZTBhLi44YzQ4 YzNmYzFlIDEwMDY0NAotLS0gYS9saXNwL25ldC90cmFtcC1zaC5lbAorKysgYi9saXNwL25l dC90cmFtcC1zaC5lbApAQCAtMjg1MSw3ICsyODUxLDEwIEBAIHRyYW1wLXNoLWhhbmRsZS1t YWtlLXByb2Nlc3MKIAkgICAgKHNpZ25hbCAnd3JvbmctdHlwZS1hcmd1bWVudCAobGlzdCAj J3N5bWJvbHAgY29kaW5nKSkpCiAJICAod2hlbiAoZXEgY29ubmVjdGlvbi10eXBlIHQpCiAJ ICAgIChzZXRxIGNvbm5lY3Rpb24tdHlwZSAncHR5KSkKLQkgICh1bmxlc3MgKG1lbXEgY29u bmVjdGlvbi10eXBlICcobmlsIHBpcGUgcHR5KSkKKwkgICh1bmxlc3MgKG9yIChhbmQgKGNv bnNwIGNvbm5lY3Rpb24tdHlwZSkKKwkJCSAgIChtZW1xIChjYXIgY29ubmVjdGlvbi10eXBl KSAnKG5pbCBwaXBlIHB0eSkpCisJCQkgICAobWVtcSAoY2RyIGNvbm5lY3Rpb24tdHlwZSkg JyhuaWwgcGlwZSBwdHkpKSkKKwkJICAgICAgKG1lbXEgY29ubmVjdGlvbi10eXBlICcobmls IHBpcGUgcHR5KSkpCiAJICAgIChzaWduYWwgJ3dyb25nLXR5cGUtYXJndW1lbnQgKGxpc3Qg IydzeW1ib2xwIGNvbm5lY3Rpb24tdHlwZSkpKQogCSAgKHVubGVzcyAob3IgKG51bGwgZmls dGVyKSAoZXEgZmlsdGVyIHQpIChmdW5jdGlvbnAgZmlsdGVyKSkKIAkgICAgKHNpZ25hbCAn d3JvbmctdHlwZS1hcmd1bWVudCAobGlzdCAjJ2Z1bmN0aW9ucCBmaWx0ZXIpKSkKZGlmZiAt LWdpdCBhL2xpc3AvbmV0L3RyYW1wLmVsIGIvbGlzcC9uZXQvdHJhbXAuZWwKaW5kZXggYjEx ZmQyOTNjYy4uOGI2NTQ5NDRmZSAxMDA2NDQKLS0tIGEvbGlzcC9uZXQvdHJhbXAuZWwKKysr IGIvbGlzcC9uZXQvdHJhbXAuZWwKQEAgLTQ2MDUsNyArNDYwNSwxMCBAQCB0cmFtcC1oYW5k bGUtbWFrZS1wcm9jZXNzCiAJICAoc2lnbmFsICd3cm9uZy10eXBlLWFyZ3VtZW50IChsaXN0 ICMnc3ltYm9scCBjb2RpbmcpKSkKIAkod2hlbiAoZXEgY29ubmVjdGlvbi10eXBlIHQpCiAJ ICAoc2V0cSBjb25uZWN0aW9uLXR5cGUgJ3B0eSkpCi0JKHVubGVzcyAobWVtcSBjb25uZWN0 aW9uLXR5cGUgJyhuaWwgcGlwZSBwdHkpKQorCSh1bmxlc3MgKG9yIChhbmQgKGNvbnNwIGNv bm5lY3Rpb24tdHlwZSkKKwkJCSAobWVtcSAoY2FyIGNvbm5lY3Rpb24tdHlwZSkgJyhuaWwg cGlwZSBwdHkpKQorCQkJIChtZW1xIChjZHIgY29ubmVjdGlvbi10eXBlKSAnKG5pbCBwaXBl IHB0eSkpKQorCQkgICAgKG1lbXEgY29ubmVjdGlvbi10eXBlICcobmlsIHBpcGUgcHR5KSkp CiAJICAoc2lnbmFsICd3cm9uZy10eXBlLWFyZ3VtZW50IChsaXN0ICMnc3ltYm9scCBjb25u ZWN0aW9uLXR5cGUpKSkKIAkodW5sZXNzIChvciAobnVsbCBmaWx0ZXIpIChlcSBmaWx0ZXIg dCkgKGZ1bmN0aW9ucCBmaWx0ZXIpKQogCSAgKHNpZ25hbCAnd3JvbmctdHlwZS1hcmd1bWVu dCAobGlzdCAjJ2Z1bmN0aW9ucCBmaWx0ZXIpKSkKZGlmZiAtLWdpdCBhL3NyYy9jYWxscHJv Yy5jIGIvc3JjL2NhbGxwcm9jLmMKaW5kZXggZGQxNjJmMzZhNi4uYWVjMGEyZjVhNSAxMDA2 NDQKLS0tIGEvc3JjL2NhbGxwcm9jLmMKKysrIGIvc3JjL2NhbGxwcm9jLmMKQEAgLTY1MCw3 ICs2NTAsNyBAQCBjYWxsX3Byb2Nlc3MgKHB0cmRpZmZfdCBuYXJncywgTGlzcF9PYmplY3Qg KmFyZ3MsIGludCBmaWxlZmQsCiAKICAgY2hpbGRfZXJybm8KICAgICA9IGVtYWNzX3NwYXdu ICgmcGlkLCBmaWxlZmQsIGZkX291dHB1dCwgZmRfZXJyb3IsIG5ld19hcmd2LCBlbnYsCi0g ICAgICAgICAgICAgICAgICAgU1NEQVRBIChjdXJyZW50X2RpciksIE5VTEwsICZvbGRzZXQp OworICAgICAgICAgICAgICAgICAgIFNTREFUQSAoY3VycmVudF9kaXIpLCBOVUxMLCBmYWxz ZSwgZmFsc2UsICZvbGRzZXQpOwogICBlYXNzZXJ0ICgoY2hpbGRfZXJybm8gPT0gMCkgPT0g KDAgPCBwaWQpKTsKIAogICBpZiAocGlkID4gMCkKQEAgLTE0MTIsMTQgKzE0MTIsMTUgQEAg ZW1hY3NfcG9zaXhfc3Bhd25faW5pdF9hdHRyaWJ1dGVzIChwb3NpeF9zcGF3bmF0dHJfdCAq YXR0cmlidXRlcywKIGludAogZW1hY3Nfc3Bhd24gKHBpZF90ICpuZXdwaWQsIGludCBzdGRf aW4sIGludCBzdGRfb3V0LCBpbnQgc3RkX2VyciwKICAgICAgICAgICAgICBjaGFyICoqYXJn diwgY2hhciAqKmVudnAsIGNvbnN0IGNoYXIgKmN3ZCwKLSAgICAgICAgICAgICBjb25zdCBj aGFyICpwdHksIGNvbnN0IHNpZ3NldF90ICpvbGRzZXQpCisgICAgICAgICAgICAgY29uc3Qg Y2hhciAqcHR5X25hbWUsIGJvb2wgcHR5X2luLCBib29sIHB0eV9vdXQsCisgICAgICAgICAg ICAgY29uc3Qgc2lnc2V0X3QgKm9sZHNldCkKIHsKICNpZiBVU0FCTEVfUE9TSVhfU1BBV04K ICAgLyogUHJlZmVyIHRoZSBzaW1wbGVyIGBwb3NpeF9zcGF3bicgaWYgYXZhaWxhYmxlLiAg YHBvc2l4X3NwYXduJwogICAgICBkb2Vzbid0IHlldCBzdXBwb3J0IHNldHRpbmcgdXAgcHNl dWRvdGVybWluYWxzLCBzbyB3ZSBmYWxsIGJhY2sKICAgICAgdG8gYHZmb3JrJyBpZiB3ZSdy ZSBzdXBwb3NlZCB0byB1c2UgYSBwc2V1ZG90ZXJtaW5hbC4gICovCiAKLSAgYm9vbCB1c2Vf cG9zaXhfc3Bhd24gPSBwdHkgPT0gTlVMTDsKKyAgYm9vbCB1c2VfcG9zaXhfc3Bhd24gPSBw dHlfbmFtZSA9PSBOVUxMOwogCiAgIHBvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc190IGFjdGlv bnM7CiAgIHBvc2l4X3NwYXduYXR0cl90IGF0dHJpYnV0ZXM7CkBAIC0xNDczLDcgKzE0NzQs OSBAQCBlbWFjc19zcGF3biAocGlkX3QgKm5ld3BpZCwgaW50IHN0ZF9pbiwgaW50IHN0ZF9v dXQsIGludCBzdGRfZXJyLAogICAvKiB2Zm9yaywgYW5kIHByZXZlbnQgbG9jYWwgdmFycyBm cm9tIGJlaW5nIGNsb2JiZXJlZCBieSB0aGUgdmZvcmsuICAqLwogICBwaWRfdCAqdm9sYXRp bGUgbmV3cGlkX3ZvbGF0aWxlID0gbmV3cGlkOwogICBjb25zdCBjaGFyICp2b2xhdGlsZSBj d2Rfdm9sYXRpbGUgPSBjd2Q7Ci0gIGNvbnN0IGNoYXIgKnZvbGF0aWxlIHB0eV92b2xhdGls ZSA9IHB0eTsKKyAgY29uc3QgY2hhciAqdm9sYXRpbGUgcHR5bmFtZV92b2xhdGlsZSA9IHB0 eV9uYW1lOworICBib29sIHZvbGF0aWxlIHB0eWluX3ZvbGF0aWxlID0gcHR5X2luOworICBi b29sIHZvbGF0aWxlIHB0eW91dF92b2xhdGlsZSA9IHB0eV9vdXQ7CiAgIGNoYXIgKip2b2xh dGlsZSBhcmd2X3ZvbGF0aWxlID0gYXJndjsKICAgaW50IHZvbGF0aWxlIHN0ZGluX3ZvbGF0 aWxlID0gc3RkX2luOwogICBpbnQgdm9sYXRpbGUgc3Rkb3V0X3ZvbGF0aWxlID0gc3RkX291 dDsKQEAgLTE0OTUsNyArMTQ5OCw5IEBAIGVtYWNzX3NwYXduIChwaWRfdCAqbmV3cGlkLCBp bnQgc3RkX2luLCBpbnQgc3RkX291dCwgaW50IHN0ZF9lcnIsCiAKICAgbmV3cGlkID0gbmV3 cGlkX3ZvbGF0aWxlOwogICBjd2QgPSBjd2Rfdm9sYXRpbGU7Ci0gIHB0eSA9IHB0eV92b2xh dGlsZTsKKyAgcHR5X25hbWUgPSBwdHluYW1lX3ZvbGF0aWxlOworICBwdHlfaW4gPSBwdHlp bl92b2xhdGlsZTsKKyAgcHR5X291dCA9IHB0eW91dF92b2xhdGlsZTsKICAgYXJndiA9IGFy Z3Zfdm9sYXRpbGU7CiAgIHN0ZF9pbiA9IHN0ZGluX3ZvbGF0aWxlOwogICBzdGRfb3V0ID0g c3Rkb3V0X3ZvbGF0aWxlOwpAQCAtMTUwNiwxMyArMTUxMSwxMiBAQCBlbWFjc19zcGF3biAo cGlkX3QgKm5ld3BpZCwgaW50IHN0ZF9pbiwgaW50IHN0ZF9vdXQsIGludCBzdGRfZXJyLAog ICBpZiAocGlkID09IDApCiAjZW5kaWYgLyogbm90IFdJTkRPV1NOVCAqLwogICAgIHsKLSAg ICAgIGJvb2wgcHR5X2ZsYWcgPSBwdHkgIT0gTlVMTDsKICAgICAgIC8qIE1ha2UgdGhlIHB0 eSBiZSB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgb2YgdGhlIHByb2Nlc3MuICAqLwogI2lm ZGVmIEhBVkVfUFRZUwogICAgICAgZGlzc29jaWF0ZV9jb250cm9sbGluZ190dHkgKCk7CiAK ICAgICAgIC8qIE1ha2UgdGhlIHB0eSdzIHRlcm1pbmFsIHRoZSBjb250cm9sbGluZyB0ZXJt aW5hbC4gICovCi0gICAgICBpZiAocHR5X2ZsYWcgJiYgc3RkX2luID49IDApCisgICAgICBp ZiAocHR5X2luICYmIHN0ZF9pbiA+PSAwKQogCXsKICNpZmRlZiBUSU9DU0NUVFkKIAkgIC8q IFdlIGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlCkBAIC0xNTIxLDcgKzE1MjUsNyBAQCBlbWFj c19zcGF3biAocGlkX3QgKm5ld3BpZCwgaW50IHN0ZF9pbiwgaW50IHN0ZF9vdXQsIGludCBz dGRfZXJyLAogI2VuZGlmCiAJfQogI2lmIGRlZmluZWQgKExESVNDMSkKLSAgICAgIGlmIChw dHlfZmxhZyAmJiBzdGRfaW4gPj0gMCkKKyAgICAgIGlmIChwdHlfaW4gJiYgc3RkX2luID49 IDApCiAJewogCSAgc3RydWN0IHRlcm1pb3MgdDsKIAkgIHRjZ2V0YXR0ciAoc3RkX2luLCAm dCk7CkBAIC0xNTMxLDcgKzE1MzUsNyBAQCBlbWFjc19zcGF3biAocGlkX3QgKm5ld3BpZCwg aW50IHN0ZF9pbiwgaW50IHN0ZF9vdXQsIGludCBzdGRfZXJyLAogCX0KICNlbHNlCiAjaWYg ZGVmaW5lZCAoTlRUWURJU0MpICYmIGRlZmluZWQgKFRJT0NTRVREKQotICAgICAgaWYgKHB0 eV9mbGFnICYmIHN0ZF9pbiA+PSAwKQorICAgICAgaWYgKHB0eV9pbiAmJiBzdGRfaW4gPj0g MCkKIAl7CiAJICAvKiBVc2UgbmV3IGxpbmUgZGlzY2lwbGluZS4gICovCiAJICBpbnQgbGRp c2MgPSBOVFRZRElTQzsKQEAgLTE1NDgsMTggKzE1NTIsMjEgQEAgZW1hY3Nfc3Bhd24gKHBp ZF90ICpuZXdwaWQsIGludCBzdGRfaW4sIGludCBzdGRfb3V0LCBpbnQgc3RkX2VyciwKICAg ICAgYm90aCBUSU9DU0NUVFkgaXMgZGVmaW5lZC4gICovCiAJLyogTm93IGNsb3NlIHRoZSBw dHkgKGlmIHdlIGhhZCBpdCBvcGVuKSBhbmQgcmVvcGVuIGl0LgogCSAgIFRoaXMgbWFrZXMg dGhlIHB0eSB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgb2YgdGhlIHN1YnByb2Nlc3MuICAq LwotICAgICAgaWYgKHB0eV9mbGFnKQorICAgICAgaWYgKHB0eV9uYW1lKQogCXsKIAogCSAg LyogSSB3b25kZXIgaWYgZW1hY3NfY2xvc2UgKGVtYWNzX29wZW4gKHB0eSwgLi4uKSkKIAkg ICAgIHdvdWxkIHdvcms/ICAqLwotCSAgaWYgKHN0ZF9pbiA+PSAwKQorCSAgaWYgKHB0eV9p biAmJiBzdGRfaW4gPj0gMCkKIAkgICAgZW1hY3NfY2xvc2UgKHN0ZF9pbik7Ci0gICAgICAg ICAgc3RkX291dCA9IHN0ZF9pbiA9IGVtYWNzX29wZW5fbm9xdWl0IChwdHksIE9fUkRXUiwg MCk7Ci0KKwkgIGludCBwdHlmZCA9IGVtYWNzX29wZW5fbm9xdWl0IChwdHlfbmFtZSwgT19S RFdSLCAwKTsKKwkgIGlmIChwdHlfaW4pCisJICAgIHN0ZF9pbiA9IHB0eWZkOworCSAgaWYg KHB0eV9vdXQpCisJICAgIHN0ZF9vdXQgPSBwdHlmZDsKIAkgIGlmIChzdGRfaW4gPCAwKQog CSAgICB7Ci0JICAgICAgZW1hY3NfcGVycm9yIChwdHkpOworCSAgICAgIGVtYWNzX3BlcnJv ciAocHR5X25hbWUpOwogCSAgICAgIF9leGl0IChFWElUX0NBTkNFTEVEKTsKIAkgICAgfQog CkBAIC0xNTk5LDcgKzE2MDYsNyBAQCBlbWFjc19zcGF3biAocGlkX3QgKm5ld3BpZCwgaW50 IHN0ZF9pbiwgaW50IHN0ZF9vdXQsIGludCBzdGRfZXJyLAogICAgICAgLyogU3RvcCBibG9j a2luZyBTSUdDSExEIGluIHRoZSBjaGlsZC4gICovCiAgICAgICB1bmJsb2NrX2NoaWxkX3Np Z25hbCAob2xkc2V0KTsKIAotICAgICAgaWYgKHB0eV9mbGFnKQorICAgICAgaWYgKHB0eV9v dXQpCiAJY2hpbGRfc2V0dXBfdHR5IChzdGRfb3V0KTsKICNlbmRpZgogCmRpZmYgLS1naXQg YS9zcmMvbGlzcC5oIGIvc3JjL2xpc3AuaAppbmRleCAyYWZlMTM1Njc0Li4yNjQyMjg2MThk IDEwMDY0NAotLS0gYS9zcmMvbGlzcC5oCisrKyBiL3NyYy9saXNwLmgKQEAgLTQ5NDEsNyAr NDk0MSw4IEBAICNkZWZpbmUgREFFTU9OX1JVTk5JTkcgKHczMl9kYWVtb25fZXZlbnQgIT0g SU5WQUxJRF9IQU5ETEVfVkFMVUUpCiAjZW5kaWYKIAogZXh0ZXJuIGludCBlbWFjc19zcGF3 biAocGlkX3QgKiwgaW50LCBpbnQsIGludCwgY2hhciAqKiwgY2hhciAqKiwKLSAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBzaWdz ZXRfdCAqKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiwgY29uc3Qg Y2hhciAqLCBib29sLCBib29sLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2ln c2V0X3QgKik7CiBleHRlcm4gY2hhciAqKm1ha2VfZW52aXJvbm1lbnRfYmxvY2sgKExpc3Bf T2JqZWN0KSBBVFRSSUJVVEVfUkVUVVJOU19OT05OVUxMOwogZXh0ZXJuIHZvaWQgaW5pdF9j YWxscHJvY18xICh2b2lkKTsKIGV4dGVybiB2b2lkIGluaXRfY2FsbHByb2MgKHZvaWQpOwpk aWZmIC0tZ2l0IGEvc3JjL3Byb2Nlc3MuYyBiL3NyYy9wcm9jZXNzLmMKaW5kZXggZDZkNTFi MjZlMS4uZGE1ZTljYjE4MiAxMDA2NDQKLS0tIGEvc3JjL3Byb2Nlc3MuYworKysgYi9zcmMv cHJvY2Vzcy5jCkBAIC0xMzE2LDYgKzEzMTYsMTkgQEAgc2V0X3Byb2Nlc3NfZmlsdGVyX21h c2tzIChzdHJ1Y3QgTGlzcF9Qcm9jZXNzICpwKQogICAgIGFkZF9wcm9jZXNzX3JlYWRfZmQg KHAtPmluZmQpOwogfQogCitzdGF0aWMgYm9vbAoraXNfcHR5X2Zyb21fc3ltYm9sIChMaXNw X09iamVjdCBzeW1ib2wpCit7CisgIGlmIChFUSAoc3ltYm9sLCBRcHR5KSkKKyAgICByZXR1 cm4gdHJ1ZTsKKyAgZWxzZSBpZiAoRVEgKHN5bWJvbCwgUXBpcGUpKQorICAgIHJldHVybiBm YWxzZTsKKyAgZWxzZSBpZiAoTklMUCAoc3ltYm9sKSkKKyAgICByZXR1cm4gIU5JTFAgKFZw cm9jZXNzX2Nvbm5lY3Rpb25fdHlwZSk7CisgIGVsc2UKKyAgICByZXBvcnRfZmlsZV9lcnJv ciAoIlVua25vd24gY29ubmVjdGlvbiB0eXBlIiwgc3ltYm9sKTsKK30KKwogREVGVU4gKCJz ZXQtcHJvY2Vzcy1maWx0ZXIiLCBGc2V0X3Byb2Nlc3NfZmlsdGVyLCBTc2V0X3Byb2Nlc3Nf ZmlsdGVyLAogICAgICAgIDIsIDIsIDAsCiAgICAgICAgZG9jOiAvKiBHaXZlIFBST0NFU1Mg dGhlIGZpbHRlciBmdW5jdGlvbiBGSUxURVI7IG5pbCBtZWFucyBkZWZhdWx0LgpAQCAtMTc0 MSwxNSArMTc1NCwxOCBAQCBERUZVTiAoIm1ha2UtcHJvY2VzcyIsIEZtYWtlX3Byb2Nlc3Ms IFNtYWtlX3Byb2Nlc3MsIDAsIE1BTlksIDAsCiA6Y29ubmVjdGlvbi10eXBlIFRZUEUgLS0g VFlQRSBpcyBjb250cm9sIHR5cGUgb2YgZGV2aWNlIHVzZWQgdG8KIGNvbW11bmljYXRlIHdp dGggc3VicHJvY2Vzc2VzLiAgVmFsdWVzIGFyZSBgcGlwZScgdG8gdXNlIGEgcGlwZSwgYHB0 eScKIHRvIHVzZSBhIHB0eSwgb3IgbmlsIHRvIHVzZSB0aGUgZGVmYXVsdCBzcGVjaWZpZWQg dGhyb3VnaAotYHByb2Nlc3MtY29ubmVjdGlvbi10eXBlJy4KK2Bwcm9jZXNzLWNvbm5lY3Rp b24tdHlwZScuICBJZiBUWVBFIGlzIGEgY29ucyAoSU5QVVQgLiBPVVRQVVQpLCB0aGVuCitJ TlBVVCB3aWxsIGJlIHVzZWQgZm9yIHN0YW5kYXJkIGlucHV0IGFuZCBPVVRQVVQgZm9yIHN0 YW5kYXJkIG91dHB1dAorKGFuZCBzdGFuZGFyZCBlcnJvciBpZiBgOnN0ZGVycicgaXMgbmls KS4KIAogOmZpbHRlciBGSUxURVIgLS0gSW5zdGFsbCBGSUxURVIgYXMgdGhlIHByb2Nlc3Mg ZmlsdGVyLgogCiA6c2VudGluZWwgU0VOVElORUwgLS0gSW5zdGFsbCBTRU5USU5FTCBhcyB0 aGUgcHJvY2VzcyBzZW50aW5lbC4KIAogOnN0ZGVyciBTVERFUlIgLS0gU1RERVJSIGlzIGVp dGhlciBhIGJ1ZmZlciBvciBhIHBpcGUgcHJvY2VzcyBhdHRhY2hlZAotdG8gdGhlIHN0YW5k YXJkIGVycm9yIG9mIHN1YnByb2Nlc3MuICBTcGVjaWZ5aW5nIHRoaXMgaW1wbGllcwotYDpj b25uZWN0aW9uLXR5cGUnIGlzIHNldCB0byBgcGlwZScuICBJZiBTVERFUlIgaXMgbmlsLCBz dGFuZGFyZCBlcnJvcgordG8gdGhlIHN0YW5kYXJkIGVycm9yIG9mIHN1YnByb2Nlc3MuICBX aGVuIHNwZWNpZnlpbmcgdGhpcywgdGhlCitzdWJwcm9jZXNzJ3Mgc3RhbmRhcmQgZXJyb3Ig d2lsbCBhbHdheXMgY29tbXVuaWNhdGUgdmlhIGEgcGlwZSwgbm8KK21hdHRlciB0aGUgdmFs dWUgb2YgYDpjb25uZWN0aW9uLXR5cGUnLiAgSWYgU1RERVJSIGlzIG5pbCwgc3RhbmRhcmQg ZXJyb3IKIGlzIG1peGVkIHdpdGggc3RhbmRhcmQgb3V0cHV0IGFuZCBzZW50IHRvIEJVRkZF UiBvciBGSUxURVIuICAoTm90ZQogdGhhdCBzcGVjaWZ5aW5nIDpzdGRlcnIgd2lsbCBjcmVh dGUgYSBuZXcsIHNlcGFyYXRlIChidXQgYXNzb2NpYXRlZCkKIHByb2Nlc3MsIHdpdGggaXRz IG93biBmaWx0ZXIgYW5kIHNlbnRpbmVsLiAgU2VlCkBAIC0xODQ1LDIyICsxODYxLDIwIEBA IERFRlVOICgibWFrZS1wcm9jZXNzIiwgRm1ha2VfcHJvY2VzcywgU21ha2VfcHJvY2Vzcywg MCwgTUFOWSwgMCwKICAgQ0hFQ0tfVFlQRSAoTklMUCAodGVtKSwgUW51bGwsIHRlbSk7CiAK ICAgdGVtID0gcGxpc3RfZ2V0IChjb250YWN0LCBRQ2Nvbm5lY3Rpb25fdHlwZSk7Ci0gIGlm IChFUSAodGVtLCBRcHR5KSkKLSAgICBYUFJPQ0VTUyAocHJvYyktPnB0eV9mbGFnID0gdHJ1 ZTsKLSAgZWxzZSBpZiAoRVEgKHRlbSwgUXBpcGUpKQotICAgIFhQUk9DRVNTIChwcm9jKS0+ cHR5X2ZsYWcgPSBmYWxzZTsKLSAgZWxzZSBpZiAoTklMUCAodGVtKSkKLSAgICBYUFJPQ0VT UyAocHJvYyktPnB0eV9mbGFnID0gIU5JTFAgKFZwcm9jZXNzX2Nvbm5lY3Rpb25fdHlwZSk7 CisgIGlmIChDT05TUCAodGVtKSkKKyAgICB7CisgICAgICBYUFJPQ0VTUyAocHJvYyktPnB0 eV9pbiA9IGlzX3B0eV9mcm9tX3N5bWJvbCAoWENBUiAodGVtKSk7CisgICAgICBYUFJPQ0VT UyAocHJvYyktPnB0eV9vdXQgPSBpc19wdHlfZnJvbV9zeW1ib2wgKFhDRFIgKHRlbSkpOwor ICAgIH0KICAgZWxzZQotICAgIHJlcG9ydF9maWxlX2Vycm9yICgiVW5rbm93biBjb25uZWN0 aW9uIHR5cGUiLCB0ZW0pOwotCi0gIGlmICghTklMUCAoc3RkZXJycHJvYykpCiAgICAgewot ICAgICAgcHNldF9zdGRlcnJwcm9jIChYUFJPQ0VTUyAocHJvYyksIHN0ZGVycnByb2MpOwot Ci0gICAgICBYUFJPQ0VTUyAocHJvYyktPnB0eV9mbGFnID0gZmFsc2U7CisgICAgICBYUFJP Q0VTUyAocHJvYyktPnB0eV9pbiA9IFhQUk9DRVNTIChwcm9jKS0+cHR5X291dCA9CisJaXNf cHR5X2Zyb21fc3ltYm9sICh0ZW0pOwogICAgIH0KIAorICBpZiAoIU5JTFAgKHN0ZGVycnBy b2MpKQorICAgIHBzZXRfc3RkZXJycHJvYyAoWFBST0NFU1MgKHByb2MpLCBzdGRlcnJwcm9j KTsKKwogI2lmZGVmIEhBVkVfR05VVExTCiAgIC8qIEFLQSBHTlVUTFNfSU5JVFNUQUdFKHBy b2MpLiAgKi8KICAgdmVyaWZ5IChHTlVUTFNfU1RBR0VfRU1QVFkgPT0gMCk7CkBAIC0yMDk5 LDY2ICsyMTEzLDgwIEBAIHZlcmlmeSAoUFJPQ0VTU19PUEVOX0ZEUyA9PSBFWEVDX01PTklU T1JfT1VUUFVUICsgMSk7CiBjcmVhdGVfcHJvY2VzcyAoTGlzcF9PYmplY3QgcHJvY2Vzcywg Y2hhciAqKm5ld19hcmd2LCBMaXNwX09iamVjdCBjdXJyZW50X2RpcikKIHsKICAgc3RydWN0 IExpc3BfUHJvY2VzcyAqcCA9IFhQUk9DRVNTIChwcm9jZXNzKTsKLSAgaW50IGluY2hhbm5l bCwgb3V0Y2hhbm5lbDsKKyAgaW50IGluY2hhbm5lbCA9IC0xLCBvdXRjaGFubmVsID0gLTE7 CiAgIHBpZF90IHBpZCA9IC0xOwogICBpbnQgdmZvcmtfZXJybm87CiAgIGludCBmb3JraW4s IGZvcmtvdXQsIGZvcmtlcnIgPSAtMTsKLSAgYm9vbCBwdHlfZmxhZyA9IDA7CisgIGJvb2wg cHR5X2luID0gZmFsc2UsIHB0eV9vdXQgPSBmYWxzZTsKICAgY2hhciBwdHlfbmFtZVtQVFlf TkFNRV9TSVpFXTsKICAgTGlzcF9PYmplY3QgbGlzcF9wdHlfbmFtZSA9IFFuaWw7CisgIGlu dCBwdHljaGFubmVsID0gLTEsIHB0eV90dHkgPSAtMTsKICAgc2lnc2V0X3Qgb2xkc2V0Owog CiAgIC8qIEVuc3VyZSB0aGF0IHRoZSBTSUdDSExEIGhhbmRsZXIgY2FuIG5vdGlmeQogICAg ICBgd2FpdF9yZWFkaW5nX3Byb2Nlc3Nfb3V0cHV0Jy4gICovCiAgIGNoaWxkX3NpZ25hbF9p bml0ICgpOwogCi0gIGluY2hhbm5lbCA9IG91dGNoYW5uZWwgPSAtMTsKLQotICBpZiAocC0+ cHR5X2ZsYWcpCi0gICAgb3V0Y2hhbm5lbCA9IGluY2hhbm5lbCA9IGFsbG9jYXRlX3B0eSAo cHR5X25hbWUpOworICBpZiAocC0+cHR5X2luIHx8IHAtPnB0eV9vdXQpCisgICAgcHR5Y2hh bm5lbCA9IGFsbG9jYXRlX3B0eSAocHR5X25hbWUpOwogCi0gIGlmIChpbmNoYW5uZWwgPj0g MCkKKyAgaWYgKHB0eWNoYW5uZWwgPj0gMCkKICAgICB7Ci0gICAgICBwLT5vcGVuX2ZkW1JF QURfRlJPTV9TVUJQUk9DRVNTXSA9IGluY2hhbm5lbDsKICNpZiAhIGRlZmluZWQgKFVTRykg fHwgZGVmaW5lZCAoVVNHX1NVQlRUWV9XT1JLUykKICAgICAgIC8qIE9uIG1vc3QgVVNHIHN5 c3RlbXMgaXQgZG9lcyBub3Qgd29yayB0byBvcGVuIHRoZSBwdHkncyB0dHkgaGVyZSwKIAkg dGhlbiBjbG9zZSBpdCBhbmQgcmVvcGVuIGl0IGluIHRoZSBjaGlsZC4gICovCiAgICAgICAv KiBEb24ndCBsZXQgdGhpcyB0ZXJtaW5hbCBiZWNvbWUgb3VyIGNvbnRyb2xsaW5nIHRlcm1p bmFsCiAJIChpbiBjYXNlIHdlIGRvbid0IGhhdmUgb25lKS4gICovCi0gICAgICBmb3Jrb3V0 ID0gZm9ya2luID0gZW1hY3Nfb3BlbiAocHR5X25hbWUsIE9fUkRXUiB8IE9fTk9DVFRZLCAw KTsKLSAgICAgIGlmIChmb3JraW4gPCAwKQorICAgICAgcHR5X3R0eSA9IGVtYWNzX29wZW4g KHB0eV9uYW1lLCBPX1JEV1IgfCBPX05PQ1RUWSwgMCk7CisgICAgICBpZiAocHR5X3R0eSA8 IDApCiAJcmVwb3J0X2ZpbGVfZXJyb3IgKCJPcGVuaW5nIHB0eSIsIFFuaWwpOwotICAgICAg cC0+b3Blbl9mZFtTVUJQUk9DRVNTX1NURElOXSA9IGZvcmtpbjsKLSNlbHNlCi0gICAgICBm b3JraW4gPSBmb3Jrb3V0ID0gLTE7CiAjZW5kaWYgLyogbm90IFVTRywgb3IgVVNHX1NVQlRU WV9XT1JLUyAqLwotICAgICAgcHR5X2ZsYWcgPSAxOworICAgICAgcHR5X2luID0gcC0+cHR5 X2luOworICAgICAgcHR5X291dCA9IHAtPnB0eV9vdXQ7CiAgICAgICBsaXNwX3B0eV9uYW1l ID0gYnVpbGRfc3RyaW5nIChwdHlfbmFtZSk7CiAgICAgfQorCisgIC8qIFNldCB1cCBzdGRp biBmb3IgdGhlIGNoaWxkIHByb2Nlc3MuICAqLworICBpZiAocHR5Y2hhbm5lbCA+PSAwICYm IHAtPnB0eV9pbikKKyAgICB7CisgICAgICBwLT5vcGVuX2ZkW1NVQlBST0NFU1NfU1RESU5d ID0gZm9ya2luID0gcHR5X3R0eTsKKyAgICAgIG91dGNoYW5uZWwgPSBwdHljaGFubmVsOwor ICAgIH0KICAgZWxzZQogICAgIHsKLSAgICAgIGlmIChlbWFjc19waXBlIChwLT5vcGVuX2Zk ICsgU1VCUFJPQ0VTU19TVERJTikgIT0gMAotCSAgfHwgZW1hY3NfcGlwZSAocC0+b3Blbl9m ZCArIFJFQURfRlJPTV9TVUJQUk9DRVNTKSAhPSAwKQorICAgICAgaWYgKGVtYWNzX3BpcGUg KHAtPm9wZW5fZmQgKyBTVUJQUk9DRVNTX1NURElOKSAhPSAwKQogCXJlcG9ydF9maWxlX2Vy cm9yICgiQ3JlYXRpbmcgcGlwZSIsIFFuaWwpOwogICAgICAgZm9ya2luID0gcC0+b3Blbl9m ZFtTVUJQUk9DRVNTX1NURElOXTsKICAgICAgIG91dGNoYW5uZWwgPSBwLT5vcGVuX2ZkW1dS SVRFX1RPX1NVQlBST0NFU1NdOworICAgIH0KKworICAvKiBTZXQgdXAgc3Rkb3V0IGZvciB0 aGUgY2hpbGQgcHJvY2Vzcy4gICovCisgIGlmIChwdHljaGFubmVsID49IDAgJiYgcC0+cHR5 X291dCkKKyAgICB7CisgICAgICBmb3Jrb3V0ID0gcHR5X3R0eTsKKyAgICAgIHAtPm9wZW5f ZmRbUkVBRF9GUk9NX1NVQlBST0NFU1NdID0gaW5jaGFubmVsID0gcHR5Y2hhbm5lbDsKKyAg ICB9CisgIGVsc2UKKyAgICB7CisgICAgICBpZiAoZW1hY3NfcGlwZSAocC0+b3Blbl9mZCAr IFJFQURfRlJPTV9TVUJQUk9DRVNTKSAhPSAwKQorCXJlcG9ydF9maWxlX2Vycm9yICgiQ3Jl YXRpbmcgcGlwZSIsIFFuaWwpOwogICAgICAgaW5jaGFubmVsID0gcC0+b3Blbl9mZFtSRUFE X0ZST01fU1VCUFJPQ0VTU107CiAgICAgICBmb3Jrb3V0ID0gcC0+b3Blbl9mZFtTVUJQUk9D RVNTX1NURE9VVF07CiAKICNpZiBkZWZpbmVkKEdOVV9MSU5VWCkgJiYgZGVmaW5lZChGX1NF VFBJUEVfU1opCiAgICAgICBmY250bCAoaW5jaGFubmVsLCBGX1NFVFBJUEVfU1osIHJlYWRf cHJvY2Vzc19vdXRwdXRfbWF4KTsKICNlbmRpZgorICAgIH0KIAotICAgICAgaWYgKCFOSUxQ IChwLT5zdGRlcnJwcm9jKSkKLQl7Ci0JICBzdHJ1Y3QgTGlzcF9Qcm9jZXNzICpwcCA9IFhQ Uk9DRVNTIChwLT5zdGRlcnJwcm9jKTsKKyAgaWYgKCFOSUxQIChwLT5zdGRlcnJwcm9jKSkK KyAgICB7CisgICAgICBzdHJ1Y3QgTGlzcF9Qcm9jZXNzICpwcCA9IFhQUk9DRVNTIChwLT5z dGRlcnJwcm9jKTsKIAotCSAgZm9ya2VyciA9IHBwLT5vcGVuX2ZkW1NVQlBST0NFU1NfU1RE T1VUXTsKKyAgICAgIGZvcmtlcnIgPSBwcC0+b3Blbl9mZFtTVUJQUk9DRVNTX1NURE9VVF07 CiAKLQkgIC8qIENsb3NlIHVubmVjZXNzYXJ5IGZpbGUgZGVzY3JpcHRvcnMuICAqLwotCSAg Y2xvc2VfcHJvY2Vzc19mZCAoJnBwLT5vcGVuX2ZkW1dSSVRFX1RPX1NVQlBST0NFU1NdKTsK LQkgIGNsb3NlX3Byb2Nlc3NfZmQgKCZwcC0+b3Blbl9mZFtTVUJQUk9DRVNTX1NURElOXSk7 Ci0JfQorICAgICAgLyogQ2xvc2UgdW5uZWNlc3NhcnkgZmlsZSBkZXNjcmlwdG9ycy4gICov CisgICAgICBjbG9zZV9wcm9jZXNzX2ZkICgmcHAtPm9wZW5fZmRbV1JJVEVfVE9fU1VCUFJP Q0VTU10pOworICAgICAgY2xvc2VfcHJvY2Vzc19mZCAoJnBwLT5vcGVuX2ZkW1NVQlBST0NF U1NfU1RESU5dKTsKICAgICB9CiAKICAgaWYgKEZEX1NFVFNJWkUgPD0gaW5jaGFubmVsIHx8 IEZEX1NFVFNJWkUgPD0gb3V0Y2hhbm5lbCkKQEAgLTIxODMsNyArMjIxMSw4IEBAIGNyZWF0 ZV9wcm9jZXNzIChMaXNwX09iamVjdCBwcm9jZXNzLCBjaGFyICoqbmV3X2FyZ3YsIExpc3Bf T2JqZWN0IGN1cnJlbnRfZGlyKQogICAgICB3ZSBqdXN0IHJlb3BlbiB0aGUgZGV2aWNlIChz ZWUgZW1hY3NfZ2V0X3R0eV9wZ3JwKSBhcyB0aGlzIGlzCiAgICAgIG1vcmUgcG9ydGFibGUg KHNlZSBVU0dfU1VCVFRZX1dPUktTIGFib3ZlKS4gICovCiAKLSAgcC0+cHR5X2ZsYWcgPSBw dHlfZmxhZzsKKyAgcC0+cHR5X2luID0gcHR5X2luOworICBwLT5wdHlfb3V0ID0gcHR5X291 dDsKICAgcHNldF9zdGF0dXMgKHAsIFFydW4pOwogCiAgIGlmICghRVEgKHAtPmNvbW1hbmQs IFF0KQpAQCAtMjE5OSwxMyArMjIyOCwxNSBAQCBjcmVhdGVfcHJvY2VzcyAoTGlzcF9PYmpl Y3QgcHJvY2VzcywgY2hhciAqKm5ld19hcmd2LCBMaXNwX09iamVjdCBjdXJyZW50X2RpcikK ICAgYmxvY2tfaW5wdXQgKCk7CiAgIGJsb2NrX2NoaWxkX3NpZ25hbCAoJm9sZHNldCk7CiAK LSAgcHR5X2ZsYWcgPSBwLT5wdHlfZmxhZzsKLSAgZWFzc2VydCAocHR5X2ZsYWcgPT0gISBO SUxQIChsaXNwX3B0eV9uYW1lKSk7CisgIHB0eV9pbiA9IHAtPnB0eV9pbjsKKyAgcHR5X291 dCA9IHAtPnB0eV9vdXQ7CisgIGVhc3NlcnQgKChwdHlfaW4gfHwgcHR5X291dCkgPT0gISBO SUxQIChsaXNwX3B0eV9uYW1lKSk7CiAKICAgdmZvcmtfZXJybm8KICAgICA9IGVtYWNzX3Nw YXduICgmcGlkLCBmb3JraW4sIGZvcmtvdXQsIGZvcmtlcnIsIG5ld19hcmd2LCBlbnYsCiAg ICAgICAgICAgICAgICAgICAgU1NEQVRBIChjdXJyZW50X2RpciksCi0gICAgICAgICAgICAg ICAgICAgcHR5X2ZsYWcgPyBTU0RBVEEgKGxpc3BfcHR5X25hbWUpIDogTlVMTCwgJm9sZHNl dCk7CisgICAgICAgICAgICAgICAgICAgcHR5X2luIHx8IHB0eV9vdXQgPyBTU0RBVEEgKGxp c3BfcHR5X25hbWUpIDogTlVMTCwKKyAgICAgICAgICAgICAgICAgICBwdHlfaW4sIHB0eV9v dXQsICZvbGRzZXQpOwogCiAgIGVhc3NlcnQgKCh2Zm9ya19lcnJubyA9PSAwKSA9PSAoMCA8 IHBpZCkpOwogCkBAIC0yMjYzLDcgKzIyOTQsNyBAQCBjcmVhdGVfcHR5IChMaXNwX09iamVj dCBwcm9jZXNzKQogewogICBzdHJ1Y3QgTGlzcF9Qcm9jZXNzICpwID0gWFBST0NFU1MgKHBy b2Nlc3MpOwogICBjaGFyIHB0eV9uYW1lW1BUWV9OQU1FX1NJWkVdOwotICBpbnQgcHR5X2Zk ID0gIXAtPnB0eV9mbGFnID8gLTEgOiBhbGxvY2F0ZV9wdHkgKHB0eV9uYW1lKTsKKyAgaW50 IHB0eV9mZCA9ICEocC0+cHR5X2luIHx8IHAtPnB0eV9vdXQpID8gLTEgOiBhbGxvY2F0ZV9w dHkgKHB0eV9uYW1lKTsKIAogICBpZiAocHR5X2ZkID49IDApCiAgICAgewpAQCAtMjMwMSw3 ICsyMzMyLDcgQEAgY3JlYXRlX3B0eSAoTGlzcF9PYmplY3QgcHJvY2VzcykKIAkgd2UganVz dCByZW9wZW4gdGhlIGRldmljZSAoc2VlIGVtYWNzX2dldF90dHlfcGdycCkgYXMgdGhpcyBp cwogCSBtb3JlIHBvcnRhYmxlIChzZWUgVVNHX1NVQlRUWV9XT1JLUyBhYm92ZSkuICAqLwog Ci0gICAgICBwLT5wdHlfZmxhZyA9IDE7CisgICAgICBwLT5wdHlfaW4gPSBwLT5wdHlfb3V0 ID0gdHJ1ZTsKICAgICAgIHBzZXRfc3RhdHVzIChwLCBRcnVuKTsKICAgICAgIHNldHVwX3By b2Nlc3NfY29kaW5nX3N5c3RlbXMgKHByb2Nlc3MpOwogCkBAIC0yNDEyLDcgKzI0NDMsNyBA QCBERUZVTiAoIm1ha2UtcGlwZS1wcm9jZXNzIiwgRm1ha2VfcGlwZV9wcm9jZXNzLCBTbWFr ZV9waXBlX3Byb2Nlc3MsCiAgICAgcC0+a2lsbF93aXRob3V0X3F1ZXJ5ID0gMTsKICAgaWYg KHRlbSA9IHBsaXN0X2dldCAoY29udGFjdCwgUUNzdG9wKSwgIU5JTFAgKHRlbSkpCiAgICAg cHNldF9jb21tYW5kIChwLCBRdCk7Ci0gIGVhc3NlcnQgKCEgcC0+cHR5X2ZsYWcpOworICBl YXNzZXJ0ICghIHAtPnB0eV9pbiAmJiAhIHAtPnB0eV9vdXQpOwogCiAgIGlmICghRVEgKHAt PmNvbW1hbmQsIFF0KQogICAgICAgJiYgIUVRIChwLT5maWx0ZXIsIFF0KSkKQEAgLTMxNDcs NyArMzE3OCw3IEBAIERFRlVOICgibWFrZS1zZXJpYWwtcHJvY2VzcyIsIEZtYWtlX3Nlcmlh bF9wcm9jZXNzLCBTbWFrZV9zZXJpYWxfcHJvY2VzcywKICAgICBwLT5raWxsX3dpdGhvdXRf cXVlcnkgPSAxOwogICBpZiAodGVtID0gcGxpc3RfZ2V0IChjb250YWN0LCBRQ3N0b3ApLCAh TklMUCAodGVtKSkKICAgICBwc2V0X2NvbW1hbmQgKHAsIFF0KTsKLSAgZWFzc2VydCAoISBw LT5wdHlfZmxhZyk7CisgIGVhc3NlcnQgKCEgcC0+cHR5X2luICYmICEgcC0+cHR5X291dCk7 CiAKICAgaWYgKCFFUSAocC0+Y29tbWFuZCwgUXQpCiAgICAgICAmJiAhRVEgKHAtPmZpbHRl ciwgUXQpKQpAQCAtNjc5OCw3ICs2ODI5LDcgQEAgcHJvY2Vzc19zZW5kX3NpZ25hbCAoTGlz cF9PYmplY3QgcHJvY2VzcywgaW50IHNpZ25vLCBMaXNwX09iamVjdCBjdXJyZW50X2dyb3Vw LAogICAgIGVycm9yICgiUHJvY2VzcyAlcyBpcyBub3QgYWN0aXZlIiwKIAkgICBTREFUQSAo cC0+bmFtZSkpOwogCi0gIGlmICghcC0+cHR5X2ZsYWcpCisgIGlmICghIHAtPnB0eV9pbikK ICAgICBjdXJyZW50X2dyb3VwID0gUW5pbDsKIAogICAvKiBJZiB3ZSBhcmUgdXNpbmcgcGdy cHMsIGdldCBhIHBncnAgbnVtYmVyIGFuZCBtYWtlIGl0IG5lZ2F0aXZlLiAgKi8KQEAgLTcx NjcsNyArNzE5OCw3IEBAIERFRlVOICgicHJvY2Vzcy1zZW5kLWVvZiIsIEZwcm9jZXNzX3Nl bmRfZW9mLCBTcHJvY2Vzc19zZW5kX2VvZiwgMCwgMSwgMCwKICAgICAgIHNlbmRfcHJvY2Vz cyAocHJvYywgIiIsIDAsIFFuaWwpOwogICAgIH0KIAotICBpZiAoWFBST0NFU1MgKHByb2Mp LT5wdHlfZmxhZykKKyAgaWYgKFhQUk9DRVNTIChwcm9jKS0+cHR5X2luKQogICAgIHNlbmRf cHJvY2VzcyAocHJvYywgIlwwMDQiLCAxLCBRbmlsKTsKICAgZWxzZSBpZiAoRVEgKFhQUk9D RVNTIChwcm9jKS0+dHlwZSwgUXNlcmlhbCkpCiAgICAgewpkaWZmIC0tZ2l0IGEvc3JjL3By b2Nlc3MuaCBiL3NyYy9wcm9jZXNzLmgKaW5kZXggMzkyYjY2MWNlNi4uOTJiYWYwYzRjYiAx MDA2NDQKLS0tIGEvc3JjL3Byb2Nlc3MuaAorKysgYi9zcmMvcHJvY2Vzcy5oCkBAIC0xNTYs OCArMTU2LDkgQEAgI2RlZmluZSBFTUFDU19QUk9DRVNTX0gKICAgICAvKiBUcnVlIG1lYW5z IGtpbGwgc2lsZW50bHkgaWYgRW1hY3MgaXMgZXhpdGVkLgogICAgICAgIFRoaXMgaXMgdGhl IGludmVyc2Ugb2YgdGhlIGBxdWVyeS1vbi1leGl0JyBmbGFnLiAgKi8KICAgICBib29sX2Jm IGtpbGxfd2l0aG91dF9xdWVyeSA6IDE7Ci0gICAgLyogVHJ1ZSBpZiBjb21tdW5pY2F0aW5n IHRocm91Z2ggYSBwdHkuICAqLwotICAgIGJvb2xfYmYgcHR5X2ZsYWcgOiAxOworICAgIC8q IFRydWUgaWYgY29tbXVuaWNhdGluZyB0aHJvdWdoIGEgcHR5IGZvciBpbnB1dCBvciBvdXRw dXQuICAqLworICAgIGJvb2xfYmYgcHR5X2luIDogMTsKKyAgICBib29sX2JmIHB0eV9vdXQg OiAxOwogICAgIC8qIEZsYWcgdG8gc2V0IGNvZGluZy1zeXN0ZW0gb2YgdGhlIHByb2Nlc3Mg YnVmZmVyIGZyb20gdGhlCiAgICAgICAgY29kaW5nX3N5c3RlbSB1c2VkIHRvIGRlY29kZSBw cm9jZXNzIG91dHB1dC4gICovCiAgICAgYm9vbF9iZiBpbmhlcml0X2NvZGluZ19zeXN0ZW1f ZmxhZyA6IDE7CmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC1wcm9jLXRlc3Rz LmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtcHJvYy10ZXN0cy5lbAppbmRleCA3ZjQ2MWQx ODEzLi43MzRiYjkxYTZhIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC1wcm9j LXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXByb2MtdGVzdHMuZWwKQEAg LTI4LDYgKzI4LDE1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZS1uYW1l LWRpcmVjdG9yeSAob3IgbG9hZC1maWxlLW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0LWRpcmVjdG9yeSkpKSkKIAor KGRlZnZhciBlc2gtcHJvYy10ZXN0LS1kZXRlY3QtcHR5LWNtZAorICAoY29uY2F0ICJzaCAt YyAnIgorICAgICAgICAgICJpZiBbIC10IDAgXTsgdGhlbiBlY2hvIHN0ZGluOyBmaTsgIgor ICAgICAgICAgICJpZiBbIC10IDEgXTsgdGhlbiBlY2hvIHN0ZG91dDsgZmk7ICIKKyAgICAg ICAgICAiaWYgWyAtdCAyIF07IHRoZW4gZWNobyBzdGRlcnI7IGZpIgorICAgICAgICAgICIn IikpCisKKzs7OyBUZXN0czoKKwogKGVydC1kZWZ0ZXN0IGVzaC1wcm9jLXRlc3Qvc2lncGlw ZS1leGl0cy1wcm9jZXNzICgpCiAgICJUZXN0IHRoYXQgYSBTSUdQSVBFIGlzIHByb3Blcmx5 IHNlbnQgdG8gYSBwcm9jZXNzIGlmIGEgcGlwZSBjbG9zZXMiCiAgIChza2lwLXVubGVzcyAo YW5kIChleGVjdXRhYmxlLWZpbmQgInNoIikKQEAgLTQ0LDYgKzUzLDQwIEBAIGVzaC1wcm9j LXRlc3Qvc2lncGlwZS1leGl0cy1wcm9jZXNzCiAgICAoZXNoZWxsLXdhaXQtZm9yLXN1YnBy b2Nlc3MgdCkKICAgIChzaG91bGQgKGVxIChwcm9jZXNzLWxpc3QpIG5pbCkpKSkKIAorKGVy dC1kZWZ0ZXN0IGVzaC1wcm9jLXRlc3QvcGlwZWxpbmUtY29ubmVjdGlvbi10eXBlL25vLXBp cGVsaW5lICgpCisgICJUZXN0IHRoYXQgYWxsIHN0cmVhbXMgYXJlIFBUWXMgd2hlbiBhIGNv bW1hbmQgaXMgbm90IGluIGEgcGlwZWxpbmUuIgorICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFi bGUtZmluZCAic2giKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC10ZXN0LWNvbW1hbmQt cmVzdWx0IGVzaC1wcm9jLXRlc3QtLWRldGVjdC1wdHktY21kKQorICAgICAgICAgICAgICAg ICA7OyBQVFlzIGFyZW4ndCBzdXBwb3J0ZWQgb24gTVMtV2luZG93cy4KKyAgICAgICAgICAg ICAgICAgKHVubGVzcyAoZXEgc3lzdGVtLXR5cGUgJ3dpbmRvd3MtbnQpCisgICAgICAgICAg ICAgICAgICAgInN0ZGluXG5zdGRvdXRcbnN0ZGVyclxuIikpKSkKKworKGVydC1kZWZ0ZXN0 IGVzaC1wcm9jLXRlc3QvcGlwZWxpbmUtY29ubmVjdGlvbi10eXBlL2ZpcnN0ICgpCisgICJU ZXN0IHRoYXQgb25seSBzdGRpbiBpcyBhIFBUWSB3aGVuIGEgY29tbWFuZCBzdGFydHMgYSBw aXBlbGluZS4iCisgIChza2lwLXVubGVzcyAoYW5kIChleGVjdXRhYmxlLWZpbmQgInNoIikK KyAgICAgICAgICAgICAgICAgICAgKGV4ZWN1dGFibGUtZmluZCAiY2F0IikpKQorICAoc2hv dWxkIChlcXVhbCAoZXNoZWxsLXRlc3QtY29tbWFuZC1yZXN1bHQKKyAgICAgICAgICAgICAg ICAgIChjb25jYXQgZXNoLXByb2MtdGVzdC0tZGV0ZWN0LXB0eS1jbWQgIiB8IGNhdCIpKQor ICAgICAgICAgICAgICAgICAodW5sZXNzIChlcSBzeXN0ZW0tdHlwZSAnd2luZG93cy1udCkK KyAgICAgICAgICAgICAgICAgICAic3RkaW5cbiIpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gt cHJvYy10ZXN0L3BpcGVsaW5lLWNvbm5lY3Rpb24tdHlwZS9taWRkbGUgKCkKKyAgIlRlc3Qg dGhhdCBhbGwgc3RyZWFtcyBhcmUgcGlwZXMgd2hlbiBhIGNvbW1hbmQgaXMgaW4gdGhlIG1p ZGRsZSBvZiBhCitwaXBlbGluZS4iCisgIChza2lwLXVubGVzcyAoYW5kIChleGVjdXRhYmxl LWZpbmQgInNoIikKKyAgICAgICAgICAgICAgICAgICAgKGV4ZWN1dGFibGUtZmluZCAiY2F0 IikpKQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLXRlc3QtY29tbWFuZC1yZXN1bHQKKyAg ICAgICAgICAgICAgICAgIChjb25jYXQgImVjaG8gfCAiIGVzaC1wcm9jLXRlc3QtLWRldGVj dC1wdHktY21kICIgfCBjYXQiKSkKKyAgICAgICAgICAgICAgICAgbmlsKSkpCisKKyhlcnQt ZGVmdGVzdCBlc2gtcHJvYy10ZXN0L3BpcGVsaW5lLWNvbm5lY3Rpb24tdHlwZS9sYXN0ICgp CisgICJUZXN0IHRoYXQgb25seSBvdXRwdXQgc3RyZWFtcyBhcmUgUFRZcyB3aGVuIGEgY29t bWFuZCBlbmRzIGEgcGlwZWxpbmUuIgorICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmlu ZCAic2giKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC10ZXN0LWNvbW1hbmQtcmVzdWx0 CisgICAgICAgICAgICAgICAgICAoY29uY2F0ICJlY2hvIHwgIiBlc2gtcHJvYy10ZXN0LS1k ZXRlY3QtcHR5LWNtZCkpCisgICAgICAgICAgICAgICAgICh1bmxlc3MgKGVxIHN5c3RlbS10 eXBlICd3aW5kb3dzLW50KQorICAgICAgICAgICAgICAgICAgICJzdGRvdXRcbnN0ZGVyclxu IikpKSkKKwogKGVydC1kZWZ0ZXN0IGVzaC1wcm9jLXRlc3Qva2lsbC1waXBlbGluZSAoKQog ICAiVGVzdCB0aGF0IGtpbGxpbmcgYSBwaXBlbGluZSBvZiBwcm9jZXNzZXMgb25seSBlbWl0 cyBhIHNpbmdsZQogcHJvbXB0LiAgU2VlIGJ1ZyM1NDEzNi4iCmRpZmYgLS1naXQgYS90ZXN0 L3NyYy9wcm9jZXNzLXRlc3RzLmVsIGIvdGVzdC9zcmMvcHJvY2Vzcy10ZXN0cy5lbAppbmRl eCBmMWVkN2UxOGQ1Li40MTMyMDY3MmEwIDEwMDY0NAotLS0gYS90ZXN0L3NyYy9wcm9jZXNz LXRlc3RzLmVsCisrKyBiL3Rlc3Qvc3JjL3Byb2Nlc3MtdGVzdHMuZWwKQEAgLTM4LDEwICsz OCwxMSBAQAogOzsgVGltZW91dCBpbiBzZWNvbmRzOyB0aGUgdGVzdCBmYWlscyBpZiB0aGUg dGltZW91dCBpcyByZWFjaGVkLgogKGRlZnZhciBwcm9jZXNzLXRlc3Qtc2VudGluZWwtd2Fp dC10aW1lb3V0IDIuMCkKIAotOzsgU3RhcnQgYSBwcm9jZXNzIHRoYXQgZXhpdHMgaW1tZWRp YXRlbHkuICBDYWxsIFdBSVQtRlVOQ1RJT04sCi07OyBwb3NzaWJseSBtdWx0aXBsZSB0aW1l cywgdG8gd2FpdCBmb3IgdGhlIHByb2Nlc3MgdG8gY29tcGxldGUuCi0oZGVmdW4gcHJvY2Vz cy10ZXN0LXNlbnRpbmVsLXdhaXQtZnVuY3Rpb24td29ya2luZy1wICh3YWl0LWZ1bmN0aW9u KQotICAobGV0ICgocHJvYyAoc3RhcnQtcHJvY2VzcyAidGVzdCIgbmlsICJiYXNoIiAiLWMi ICJleGl0IDIwIikpCisoZGVmdW4gcHJvY2Vzcy10ZXN0LXdhaXQtZm9yLXNlbnRpbmVsIChw cm9jIGV4aXQtc3RhdHVzICZvcHRpb25hbCB3YWl0LWZ1bmN0aW9uKQorICAiU2V0IGEgc2Vu dGluZWwgb24gUFJPQyBhbmQgd2FpdCBmb3IgaXQgdG8gYmUgY2FsbGVkIHdpdGggRVhJVC1T VEFUVVMuCitDYWxsIFdBSVQtRlVOQ1RJT04sIHBvc3NpYmx5IG11bHRpcGxlIHRpbWVzLCB0 byB3YWl0IGZvciB0aGUKK3Byb2Nlc3MgdG8gY29tcGxldGUuIgorICAobGV0ICgod2FpdC1m dW5jdGlvbiAob3Igd2FpdC1mdW5jdGlvbiAjJ2FjY2VwdC1wcm9jZXNzLW91dHB1dCkpCiAJ KHNlbnRpbmVsLWNhbGxlZCBuaWwpCiAJKHN0YXJ0LXRpbWUgKGZsb2F0LXRpbWUpKSkKICAg ICAoc2V0LXByb2Nlc3Mtc2VudGluZWwgcHJvYyAobGFtYmRhIChfcHJvYyBfbXNnKQpAQCAt NTAsMjEgKzUxLDIyIEBAIHByb2Nlc3MtdGVzdC1zZW50aW5lbC13YWl0LWZ1bmN0aW9uLXdv cmtpbmctcAogCQkgICAgKD4gKC0gKGZsb2F0LXRpbWUpIHN0YXJ0LXRpbWUpCiAJCSAgICAg ICBwcm9jZXNzLXRlc3Qtc2VudGluZWwtd2FpdC10aW1lb3V0KSkpCiAgICAgICAoZnVuY2Fs bCB3YWl0LWZ1bmN0aW9uKSkKLSAgICAoY2wtYXNzZXJ0IChlcSAocHJvY2Vzcy1zdGF0dXMg cHJvYykgJ2V4aXQpKQotICAgIChjbC1hc3NlcnQgKD0gKHByb2Nlc3MtZXhpdC1zdGF0dXMg cHJvYykgMjApKQotICAgIHNlbnRpbmVsLWNhbGxlZCkpCisgICAgKHNob3VsZCBzZW50aW5l bC1jYWxsZWQpCisgICAgKHNob3VsZCAoZXEgKHByb2Nlc3Mtc3RhdHVzIHByb2MpICdleGl0 KSkKKyAgICAoc2hvdWxkICg9IChwcm9jZXNzLWV4aXQtc3RhdHVzIHByb2MpIGV4aXQtc3Rh dHVzKSkpKQogCiAoZXJ0LWRlZnRlc3QgcHJvY2Vzcy10ZXN0LXNlbnRpbmVsLWFjY2VwdC1w cm9jZXNzLW91dHB1dCAoKQogICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAiYmFz aCIpKQogICAod2l0aC10aW1lb3V0ICg2MCAoZXJ0LWZhaWwgIlRlc3QgdGltZWQgb3V0Iikp Ci0gIChzaG91bGQgKHByb2Nlc3MtdGVzdC1zZW50aW5lbC13YWl0LWZ1bmN0aW9uLXdvcmtp bmctcAotICAgICAgICAgICAjJ2FjY2VwdC1wcm9jZXNzLW91dHB1dCkpKSkKKyAgICAobGV0 ICgocHJvYyAoc3RhcnQtcHJvY2VzcyAidGVzdCIgbmlsICJiYXNoIiAiLWMiICJleGl0IDIw IikpKQorICAgICAgKHNob3VsZCAocHJvY2Vzcy10ZXN0LXdhaXQtZm9yLXNlbnRpbmVsIHBy b2MgMjApKSkpKQogCiAoZXJ0LWRlZnRlc3QgcHJvY2Vzcy10ZXN0LXNlbnRpbmVsLXNpdC1m b3IgKCkKICAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgImJhc2giKSkKICAgKHdp dGgtdGltZW91dCAoNjAgKGVydC1mYWlsICJUZXN0IHRpbWVkIG91dCIpKQotICAoc2hvdWxk Ci0gICAocHJvY2Vzcy10ZXN0LXNlbnRpbmVsLXdhaXQtZnVuY3Rpb24td29ya2luZy1wIChs YW1iZGEgKCkgKHNpdC1mb3IgMC4wMSB0KSkpKSkpCisgICAgKGxldCAoKHByb2MgKHN0YXJ0 LXByb2Nlc3MgInRlc3QiIG5pbCAiYmFzaCIgIi1jIiAiZXhpdCAyMCIpKSkKKyAgICAgIChz aG91bGQgKHByb2Nlc3MtdGVzdC13YWl0LWZvci1zZW50aW5lbAorICAgICAgICAgICAgICAg cHJvYyAyMCAobGFtYmRhICgpIChzaXQtZm9yIDAuMDEgdCkpKSkpKSkKIAogKHdoZW4gKGVx IHN5c3RlbS10eXBlICd3aW5kb3dzLW50KQogICAoZXJ0LWRlZnRlc3QgcHJvY2Vzcy10ZXN0 LXF1b3RlZC1iYXRmaWxlICgpCkBAIC05NywxNyArOTksOCBAQCBwcm9jZXNzLXRlc3Qtc3Rk ZXJyLWJ1ZmZlcgogCQkJCQkJICAgICJlY2hvIGhlbGxvIHN0ZGVyciEgPiYyOyAiCiAJCQkJ CQkgICAgImV4aXQgMjAiKSkKIAkJCSAgICAgOmJ1ZmZlciBzdGRvdXQtYnVmZmVyCi0JCQkg ICAgIDpzdGRlcnIgc3RkZXJyLWJ1ZmZlcikpCi0JIChzZW50aW5lbC1jYWxsZWQgbmlsKQot CSAoc3RhcnQtdGltZSAoZmxvYXQtdGltZSkpKQotICAgIChzZXQtcHJvY2Vzcy1zZW50aW5l bCBwcm9jIChsYW1iZGEgKF9wcm9jIF9tc2cpCi0JCQkJIChzZXRxIHNlbnRpbmVsLWNhbGxl ZCB0KSkpCi0gICAgKHdoaWxlIChub3QgKG9yIHNlbnRpbmVsLWNhbGxlZAotCQkgICAgKD4g KC0gKGZsb2F0LXRpbWUpIHN0YXJ0LXRpbWUpCi0JCSAgICAgICBwcm9jZXNzLXRlc3Qtc2Vu dGluZWwtd2FpdC10aW1lb3V0KSkpCi0gICAgICAoYWNjZXB0LXByb2Nlc3Mtb3V0cHV0KSkK LSAgICAoY2wtYXNzZXJ0IChlcSAocHJvY2Vzcy1zdGF0dXMgcHJvYykgJ2V4aXQpKQotICAg IChjbC1hc3NlcnQgKD0gKHByb2Nlc3MtZXhpdC1zdGF0dXMgcHJvYykgMjApKQorCQkJICAg ICA6c3RkZXJyIHN0ZGVyci1idWZmZXIpKSkKKyAgICAocHJvY2Vzcy10ZXN0LXdhaXQtZm9y LXNlbnRpbmVsIHByb2MgMjApCiAgICAgKHNob3VsZCAod2l0aC1jdXJyZW50LWJ1ZmZlciBz dGRvdXQtYnVmZmVyCiAJICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKIAkgICAgICAo bG9va2luZy1hdCAiaGVsbG8gc3Rkb3V0ISIpKSkKQEAgLTExOCw4ICsxMTEsNyBAQCBwcm9j ZXNzLXRlc3Qtc3RkZXJyLWJ1ZmZlcgogKGVydC1kZWZ0ZXN0IHByb2Nlc3MtdGVzdC1zdGRl cnItZmlsdGVyICgpCiAgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJiYXNoIikp CiAgICh3aXRoLXRpbWVvdXQgKDYwIChlcnQtZmFpbCAiVGVzdCB0aW1lZCBvdXQiKSkKLSAg KGxldCogKChzZW50aW5lbC1jYWxsZWQgbmlsKQotCSAoc3RkZXJyLXNlbnRpbmVsLWNhbGxl ZCBuaWwpCisgIChsZXQqICgoc3RkZXJyLXNlbnRpbmVsLWNhbGxlZCBuaWwpCiAJIChzdGRv dXQtb3V0cHV0IG5pbCkKIAkgKHN0ZGVyci1vdXRwdXQgbmlsKQogCSAoc3Rkb3V0LWJ1ZmZl ciAoZ2VuZXJhdGUtbmV3LWJ1ZmZlciAiKnN0ZG91dCoiKSkKQEAgLTEzMSwyMyArMTIzLDE0 IEBAIHByb2Nlc3MtdGVzdC1zdGRlcnItZmlsdGVyCiAJCQkJCSAgICAoY29uY2F0ICJlY2hv IGhlbGxvIHN0ZG91dCE7ICIKIAkJCQkJCSAgICAiZWNobyBoZWxsbyBzdGRlcnIhID4mMjsg IgogCQkJCQkJICAgICJleGl0IDIwIikpCi0JCQkgICAgIDpzdGRlcnIgc3RkZXJyLXByb2Mp KQotCSAoc3RhcnQtdGltZSAoZmxvYXQtdGltZSkpKQorCQkJICAgICA6c3RkZXJyIHN0ZGVy ci1wcm9jKSkpCiAgICAgKHNldC1wcm9jZXNzLWZpbHRlciBwcm9jIChsYW1iZGEgKF9wcm9j IGlucHV0KQogCQkJICAgICAgIChwdXNoIGlucHV0IHN0ZG91dC1vdXRwdXQpKSkKLSAgICAo c2V0LXByb2Nlc3Mtc2VudGluZWwgcHJvYyAobGFtYmRhIChfcHJvYyBfbXNnKQotCQkJCSAo c2V0cSBzZW50aW5lbC1jYWxsZWQgdCkpKQogICAgIChzZXQtcHJvY2Vzcy1maWx0ZXIgc3Rk ZXJyLXByb2MgKGxhbWJkYSAoX3Byb2MgaW5wdXQpCiAJCQkJICAgICAgKHB1c2ggaW5wdXQg c3RkZXJyLW91dHB1dCkpKQogICAgIChzZXQtcHJvY2Vzcy1zZW50aW5lbCBzdGRlcnItcHJv YyAobGFtYmRhIChfcHJvYyBfaW5wdXQpCiAJCQkJCShzZXRxIHN0ZGVyci1zZW50aW5lbC1j YWxsZWQgdCkpKQotICAgICh3aGlsZSAobm90IChvciBzZW50aW5lbC1jYWxsZWQKLQkJICAg ICg+ICgtIChmbG9hdC10aW1lKSBzdGFydC10aW1lKQotCQkgICAgICAgcHJvY2Vzcy10ZXN0 LXNlbnRpbmVsLXdhaXQtdGltZW91dCkpKQotICAgICAgKGFjY2VwdC1wcm9jZXNzLW91dHB1 dCkpCi0gICAgKGNsLWFzc2VydCAoZXEgKHByb2Nlc3Mtc3RhdHVzIHByb2MpICdleGl0KSkK LSAgICAoY2wtYXNzZXJ0ICg9IChwcm9jZXNzLWV4aXQtc3RhdHVzIHByb2MpIDIwKSkKLSAg ICAoc2hvdWxkIHNlbnRpbmVsLWNhbGxlZCkKKyAgICAocHJvY2Vzcy10ZXN0LXdhaXQtZm9y LXNlbnRpbmVsIHByb2MgMjApCiAgICAgKHNob3VsZCAoZXF1YWwgMSAod2l0aC1jdXJyZW50 LWJ1ZmZlciBzdGRvdXQtYnVmZmVyCiAJCSAgICAgICAocG9pbnQtbWF4KSkpKQogICAgIChz aG91bGQgKGVxdWFsICJoZWxsbyBzdGRvdXQhXG4iCkBAIC0yODksNiArMjcyLDc0IEBAIG1h a2UtcHJvY2Vzcy13MzItZGVidWctc3Bhd24tZXJyb3IKICAgICAgICAgICAgICAgICAgIChl cnJvciA6Z290LWVycm9yKSkpKQogICAgIChzaG91bGQgaGF2ZS1jYWxsZWQtZGVidWdnZXIp KSkpCiAKKyhkZWZ1biBtYWtlLXByb2Nlc3MvdGVzdC1jb25uZWN0aW9uLXR5cGUgKHR0eXMg JnJlc3QgYXJncykKKyAgIk1ha2UgYSBwcm9jZXNzIGFuZCBjaGVjayB3aGV0aGVyIGl0cyBz dGFuZGFyZCBzdHJlYW1zIG1hdGNoIFRUWVMuCitUaGlzIGNhbGxzIGBtYWtlLXByb2Nlc3Mn LCBwYXNzaW5nIEFSR1MgdG8gYWRqdXN0IGhvdyB0aGUgcHJvY2VzcworaXMgY3JlYXRlZC4g IFRUWVMgc2hvdWxkIGJlIGEgbGlzdCBvZiAzIGJvb2xlYW4gdmFsdWVzLAoraW5kaWNhdGlu ZyB3aGV0aGVyIHRoZSBzdWJwcm9jZXNzJ3Mgc3RkaW4sIHN0ZG91dCwgYW5kIHN0ZGVycgor c2hvdWxkIGJlIGEgVFRZLCByZXNwZWN0aXZlbHkuIgorICAoZGVjbGFyZSAoaW5kZW50IDEp KQorICAobGV0KiAoOzsgTVMtV2luZG93cyBkb2Vzbid0IHN1cHBvcnQgY29tbXVuaWNhdGlu ZyB2aWEgcHR5LgorICAgICAgICAgKHR0eXMgKGlmIChlcSBzeXN0ZW0tdHlwZSAnd2luZG93 cy1udCkgJyhuaWwgbmlsIG5pbCkgdHR5cykpCisgICAgICAgICAoZXhwZWN0ZWQtb3V0cHV0 IChjb25jYXQgKGFuZCAobnRoIDAgdHR5cykgInN0ZGluXG4iKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChhbmQgKG50aCAxIHR0eXMpICJzdGRvdXRcbiIpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAobnRoIDIgdHR5cykgInN0ZGVy clxuIikpKQorICAgICAgICAgKHN0ZG91dC1idWZmZXIgKGdlbmVyYXRlLW5ldy1idWZmZXIg IipzdGRvdXQqIikpCisgICAgICAgICAocHJvYyAoYXBwbHkKKyAgICAgICAgICAgICAgICAj J21ha2UtcHJvY2VzcworICAgICAgICAgICAgICAgIDpuYW1lICJ0ZXN0IgorICAgICAgICAg ICAgICAgIDpjb21tYW5kIChsaXN0ICJzaCIgIi1jIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChjb25jYXQgImlmIFsgLXQgMCBdOyB0aGVuIGVjaG8gc3RkaW47IGZpOyAi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWYgWyAtdCAxIF07 IHRoZW4gZWNobyBzdGRvdXQ7IGZpOyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiaWYgWyAtdCAyIF07IHRoZW4gZWNobyBzdGRlcnI7IGZpIikpCisgICAg ICAgICAgICAgICAgOmJ1ZmZlciBzdGRvdXQtYnVmZmVyCisgICAgICAgICAgICAgICAgYXJn cykpKQorICAgIChwcm9jZXNzLXRlc3Qtd2FpdC1mb3Itc2VudGluZWwgcHJvYyAwKQorICAg IChzaG91bGQgKGVxdWFsICh3aXRoLWN1cnJlbnQtYnVmZmVyIHN0ZG91dC1idWZmZXIgKGJ1 ZmZlci1zdHJpbmcpKQorICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkLW91dHB1dCkpKSkK KworKGVydC1kZWZ0ZXN0IG1ha2UtcHJvY2Vzcy9jb25uZWN0aW9uLXR5cGUvcHR5ICgpCisg IChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJzaCIpKQorICAobWFrZS1wcm9jZXNz L3Rlc3QtY29ubmVjdGlvbi10eXBlICcodCB0IHQpCisgICAgOmNvbm5lY3Rpb24tdHlwZSAn cHR5KSkKKworKGVydC1kZWZ0ZXN0IG1ha2UtcHJvY2Vzcy9jb25uZWN0aW9uLXR5cGUvcHR5 LTIgKCkKKyAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgInNoIikpCisgIChtYWtl LXByb2Nlc3MvdGVzdC1jb25uZWN0aW9uLXR5cGUgJyh0IHQgdCkKKyAgICA6Y29ubmVjdGlv bi10eXBlICcocHR5IC4gcHR5KSkpCisKKyhlcnQtZGVmdGVzdCBtYWtlLXByb2Nlc3MvY29u bmVjdGlvbi10eXBlL3BpcGUgKCkKKyAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQg InNoIikpCisgIChtYWtlLXByb2Nlc3MvdGVzdC1jb25uZWN0aW9uLXR5cGUgJyhuaWwgbmls IG5pbCkKKyAgICA6Y29ubmVjdGlvbi10eXBlICdwaXBlKSkKKworKGVydC1kZWZ0ZXN0IG1h a2UtcHJvY2Vzcy9jb25uZWN0aW9uLXR5cGUvcGlwZS0yICgpCisgIChza2lwLXVubGVzcyAo ZXhlY3V0YWJsZS1maW5kICJzaCIpKQorICAobWFrZS1wcm9jZXNzL3Rlc3QtY29ubmVjdGlv bi10eXBlICcobmlsIG5pbCBuaWwpCisgICAgOmNvbm5lY3Rpb24tdHlwZSAnKHBpcGUgLiBw aXBlKSkpCisKKyhlcnQtZGVmdGVzdCBtYWtlLXByb2Nlc3MvY29ubmVjdGlvbi10eXBlL2lu LXB0eSAoKQorICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAic2giKSkKKyAgKG1h a2UtcHJvY2Vzcy90ZXN0LWNvbm5lY3Rpb24tdHlwZSAnKHQgbmlsIG5pbCkKKyAgICA6Y29u bmVjdGlvbi10eXBlICcocHR5IC4gcGlwZSkpKQorCisoZXJ0LWRlZnRlc3QgbWFrZS1wcm9j ZXNzL2Nvbm5lY3Rpb24tdHlwZS9vdXQtcHR5ICgpCisgIChza2lwLXVubGVzcyAoZXhlY3V0 YWJsZS1maW5kICJzaCIpKQorICAobWFrZS1wcm9jZXNzL3Rlc3QtY29ubmVjdGlvbi10eXBl ICcobmlsIHQgdCkKKyAgICA6Y29ubmVjdGlvbi10eXBlICcocGlwZSAuIHB0eSkpKQorCiso ZXJ0LWRlZnRlc3QgbWFrZS1wcm9jZXNzL2Nvbm5lY3Rpb24tdHlwZS9wdHktd2l0aC1zdGRl cnItYnVmZmVyICgpCisgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJzaCIpKQor ICAobGV0ICgoc3RkZXJyLWJ1ZmZlciAoZ2VuZXJhdGUtbmV3LWJ1ZmZlciAiKnN0ZGVycioi KSkpCisgICAgKG1ha2UtcHJvY2Vzcy90ZXN0LWNvbm5lY3Rpb24tdHlwZSAnKHQgdCBuaWwp CisgICAgICA6Y29ubmVjdGlvbi10eXBlICdwdHkgOnN0ZGVyciBzdGRlcnItYnVmZmVyKSkp CisKKyhlcnQtZGVmdGVzdCBtYWtlLXByb2Nlc3MvY29ubmVjdGlvbi10eXBlL291dC1wdHkt d2l0aC1zdGRlcnItYnVmZmVyICgpCisgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5k ICJzaCIpKQorICAobGV0ICgoc3RkZXJyLWJ1ZmZlciAoZ2VuZXJhdGUtbmV3LWJ1ZmZlciAi KnN0ZGVycioiKSkpCisgICAgKG1ha2UtcHJvY2Vzcy90ZXN0LWNvbm5lY3Rpb24tdHlwZSAn KG5pbCB0IG5pbCkKKyAgICAgIDpjb25uZWN0aW9uLXR5cGUgJyhwaXBlIC4gcHR5KSA6c3Rk ZXJyIHN0ZGVyci1idWZmZXIpKSkKKwogKGVydC1kZWZ0ZXN0IG1ha2UtcHJvY2Vzcy9maWxl LWhhbmRsZXIvZm91bmQgKCkKICAgIkNoZWNrIHRoYXQgdGhlIGA6ZmlsZS1oYW5kbGVy4oCZ IGFyZ3VtZW50IG9mIGBtYWtlLXByb2Nlc3PigJkKIHdvcmtzIGFzIGV4cGVjdGVkIGlmIGEg ZmlsZSBuYW1lIGhhbmRsZXIgaXMgZm91bmQuIgotLSAKMi4yNS4xCgo= --------------54832D820F8DCBBE62943999 Content-Type: text/plain; charset=UTF-8; name="0002-Add-STREAM-argument-to-process-tty-name.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-Add-STREAM-argument-to-process-tty-name.patch" RnJvbSA3MDVmY2RiN2I3MzEwMjBmMTQ4MTY5NGRhM2Q5ODVjNmU3NDg1YjNmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFR1ZSwgMTkgSnVsIDIwMjIgMjE6MzY6NTQgLTA3MDAKU3ViamVjdDogW1BB VENIIDIvMl0gQWRkIFNUUkVBTSBhcmd1bWVudCB0byAncHJvY2Vzcy10dHktbmFtZScKCiog c3JjL3Byb2Nlc3MuYyAocHJvY2Vzcy10dHktbmFtZSk6IEFkZCBTVFJFQU0gYXJndW1lbnQu CgoqIGxpc3AvZXNoZWxsL2VzaC1pby5lbCAoZXNoZWxsLWNsb3NlLXRhcmdldCk6IE9ubHkg Y2FsbAoncHJvY2Vzcy1zZW5kLWVvZicgb25jZSBpZiB0aGUgcHJvY2VzcydzIHN0ZGluIGlz IGEgcGlwZS4KCiogdGVzdC9zcmMvcHJvY2Vzcy10ZXN0cy5lbCAobWFrZS1wcm9jZXNzL3Rl c3QtY29ubmVjdGlvbi10eXBlKTogQ2hlY2sKYmVoYXZpb3Igb2YgJ3Byb2Nlc3MtdHR5LW5h bWUnLgoKKiBkb2MvbGlzcHJlZi9wcm9jZXNzZXMudGV4aSAoUHJvY2VzcyBJbmZvcm1hdGlv bik6IERvY3VtZW50IHRoZSBuZXcKYXJndW1lbnQuCgoqIGV0Yy9ORVdTOiBBbm5vdW5jZSB0 aGlzIGNoYW5nZS4KLS0tCiBkb2MvbGlzcHJlZi9wcm9jZXNzZXMudGV4aSB8IDIxICsrKysr KysrKysrKysrKy0tLS0tLQogZXRjL05FV1MgICAgICAgICAgICAgICAgICAgfCAgNSArKysr LQogbGlzcC9lc2hlbGwvZXNoLWlvLmVsICAgICAgfCAyNyArKysrKysrKysrKysrKystLS0t LS0tLS0tLS0KIHNyYy9wcm9jZXNzLmMgICAgICAgICAgICAgIHwgMjUgKysrKysrKysrKysr KysrKysrKysrLS0tLQogdGVzdC9zcmMvcHJvY2Vzcy10ZXN0cy5lbCAgfCAgMyArKysKIDUg ZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZG9jL2xpc3ByZWYvcHJvY2Vzc2VzLnRleGkgYi9kb2MvbGlzcHJlZi9wcm9j ZXNzZXMudGV4aQppbmRleCBhN2UwODA1NGM3Li5iN2RkMjM1Njk5IDEwMDY0NAotLS0gYS9k b2MvbGlzcHJlZi9wcm9jZXNzZXMudGV4aQorKysgYi9kb2MvbGlzcHJlZi9wcm9jZXNzZXMu dGV4aQpAQCAtMTI0MywxNSArMTI0MywyNCBAQCBQcm9jZXNzIEluZm9ybWF0aW9uCiB3aGV0 aGVyIHRoZSBjb25uZWN0aW9uIHdhcyBjbG9zZWQgbm9ybWFsbHkgb3IgYWJub3JtYWxseS4K IEBlbmQgZGVmdW4KIAotQGRlZnVuIHByb2Nlc3MtdHR5LW5hbWUgcHJvY2VzcworQGRlZnVu IHByb2Nlc3MtdHR5LW5hbWUgcHJvY2VzcyAmb3B0aW9uYWwgc3RyZWFtCiBUaGlzIGZ1bmN0 aW9uIHJldHVybnMgdGhlIHRlcm1pbmFsIG5hbWUgdGhhdCBAdmFye3Byb2Nlc3N9IGlzIHVz aW5nIGZvcgogaXRzIGNvbW11bmljYXRpb24gd2l0aCBFbWFjcy0tLW9yIEBjb2Rle25pbH0g aWYgaXQgaXMgdXNpbmcgcGlwZXMKIGluc3RlYWQgb2YgYSBwdHkgKHNlZSBAY29kZXtwcm9j ZXNzLWNvbm5lY3Rpb24tdHlwZX0gaW4KLUByZWZ7QXN5bmNocm9ub3VzIFByb2Nlc3Nlc30p LiAgSWYgQHZhcntwcm9jZXNzfSByZXByZXNlbnRzIGEgcHJvZ3JhbQotcnVubmluZyBvbiBh IHJlbW90ZSBob3N0LCB0aGUgdGVybWluYWwgbmFtZSB1c2VkIGJ5IHRoYXQgcHJvZ3JhbSBv bgotdGhlIHJlbW90ZSBob3N0IGlzIHByb3ZpZGVkIGFzIHByb2Nlc3MgcHJvcGVydHkgQGNv ZGV7cmVtb3RlLXR0eX0uICBJZgotQHZhcntwcm9jZXNzfSByZXByZXNlbnRzIGEgbmV0d29y aywgc2VyaWFsLCBvciBwaXBlIGNvbm5lY3Rpb24sIHRoZQotdmFsdWUgaXMgQGNvZGV7bmls fS4KK0ByZWZ7QXN5bmNocm9ub3VzIFByb2Nlc3Nlc30pLiAgQnkgZGVmYXVsdCwgdGhpcyBm dW5jdGlvbiByZXR1cm5zIHRoZQordGVybWluYWwgbmFtZSBpZiBhbnkgb2YgQHZhcntwcm9j ZXNzfSdzIHN0YW5kYXJkIHN0cmVhbXMgdXNlIGEKK3Rlcm1pbmFsLiAgSWYgQHZhcntzdHJl YW19IGlzIG9uZSBvZiBAY29kZXtzdGRpbn0sIEBjb2Rle3N0ZG91dH0sIG9yCitAY29kZXtz dGRlcnJ9LCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHRlcm1pbmFsIG5hbWUgKG9yIEBj b2Rle25pbH0sCithcyBhYm92ZSkgdGhhdCBAdmFye3Byb2Nlc3N9IHVzZXMgZm9yIHRoYXQg c3RyZWFtIHNwZWNpZmljYWxseS4gIFlvdQorY2FuIHVzZSB0aGlzIHRvIGRldGVybWluZSB3 aGV0aGVyIGEgcGFydGljdWxhciBzdHJlYW0gdXNlcyBhIHBpcGUgb3IgYQorcHR5LgorCitJ ZiBAdmFye3Byb2Nlc3N9IHJlcHJlc2VudHMgYSBwcm9ncmFtIHJ1bm5pbmcgb24gYSByZW1v dGUgaG9zdCwgdGhpcworZnVuY3Rpb24gcmV0dXJucyB0aGUgQGVtcGh7bG9jYWx9IHRlcm1p bmFsIG5hbWUgdGhhdCBjb21tdW5pY2F0ZXMgd2l0aAorQHZhcntwcm9jZXNzfTsgeW91IGNh biBnZXQgdGhlIHRlcm1pbmFsIG5hbWUgdXNlZCBieSB0aGF0IHByb2dyYW0gb24KK3RoZSBy ZW1vdGUgaG9zdCB3aXRoIHRoZSBwcm9jZXNzIHByb3BlcnR5IEBjb2Rle3JlbW90ZS10dHl9 LiAgSWYKK0B2YXJ7cHJvY2Vzc30gcmVwcmVzZW50cyBhIG5ldHdvcmssIHNlcmlhbCwgb3Ig cGlwZSBjb25uZWN0aW9uLCB0aGlzCitmdW5jdGlvbiBhbHdheXMgcmV0dXJucyBAY29kZXtu aWx9LgogQGVuZCBkZWZ1bgogCiBAZGVmdW4gcHJvY2Vzcy1jb2Rpbmctc3lzdGVtIHByb2Nl c3MKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXggZGM3OWYwODI2YS4u MjM3NzdkMzQ5ZSAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysrIGIvZXRjL05FV1MKQEAgLTMx OTgsNyArMzE5OCwxMCBAQCBpbnZvY2F0aW9uLiAgU3VjaCBzaGVsbHMgYXJlIFBPU0lYIGNv bmZvcm1hbnQgYnkgZGVmYXVsdC4KICoqICdtYWtlLXByb2Nlc3MnIGNhbiBzZXQgY29ubmVj dGlvbiB0eXBlIGluZGVwZW5kZW50bHkgZm9yIGlucHV0IGFuZCBvdXRwdXQuCiBXaGVuIGNh bGxpbmcgJ21ha2UtcHJvY2VzcycsIGNvbW11bmljYXRpb24gdmlhIHB0eSBjYW4gYmUgZW5h YmxlZAogc2VsZWN0aXZlbHkgZm9yIGp1c3QgaW5wdXQgb3Igb3V0cHV0IGJ5IHBhc3Npbmcg YSBjb25zIGNlbGwgZm9yCi0nOmNvbm5lY3Rpb24tdHlwZScsIGUuZy4gJyhwaXBlIC4gcHR5 KScuCisnOmNvbm5lY3Rpb24tdHlwZScsIGUuZy4gJyhwaXBlIC4gcHR5KScuICBXaGVuIGV4 YW1pbmluZyBhIHByb2Nlc3MKK2xhdGVyLCB5b3UgY2FuIGRldGVybWluZSB3aGV0aGVyIGEg cGFydGljdWxhciBzdHJlYW0gZm9yIGEgcHJvY2VzcwordXNlcyBhIHB0eSBieSBwYXNzaW5n IG9uZSBvZiAnc3RkaW4nLCAnc3Rkb3V0Jywgb3IgJ3N0ZGVycicgYXMgdGhlCitzZWNvbmQg YXJndW1lbnQgdG8gJ3Byb2Nlc3MtdHR5LW5hbWUnLgogCiArKysKICoqICdzaWduYWwtcHJv Y2Vzcycgbm93IGNvbnN1bHRzIHRoZSBsaXN0ICdzaWduYWwtcHJvY2Vzcy1mdW5jdGlvbnMn LgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWlvLmVsIGIvbGlzcC9lc2hlbGwvZXNo LWlvLmVsCmluZGV4IGMwMzU4OTBkZGYuLjY4ZTUyYTJjOWMgMTAwNjQ0Ci0tLSBhL2xpc3Av ZXNoZWxsL2VzaC1pby5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtaW8uZWwKQEAgLTI3Niwx OCArMjc2LDIxIEBAIGVzaGVsbC1jbG9zZS10YXJnZXQKICAgIDs7IElmIHdlJ3JlIHJlZGly ZWN0aW5nIHRvIGEgcHJvY2VzcyAodmlhIGEgcGlwZSwgb3IgcHJvY2VzcwogICAgOzsgcmVk aXJlY3Rpb24pLCBzZW5kIGl0IEVPRiBzbyB0aGF0IGl0IGtub3dzIHdlJ3JlIGZpbmlzaGVk LgogICAgKChlc2hlbGwtcHJvY2Vzc3AgdGFyZ2V0KQotICAgIDs7IEFjY29yZGluZyB0byBQ T1NJWC4xLTIwMTcsIHNlY3Rpb24gMTEuMS45LCBzZW5kaW5nIEVPRiBjYXVzZXMKLSAgICA7 OyBhbGwgYnl0ZXMgd2FpdGluZyB0byBiZSByZWFkIHRvIGJlIHNlbnQgdG8gdGhlIHByb2Nl c3MKLSAgICA7OyBpbW1lZGlhdGVseS4gIFRodXMsIGlmIHRoZXJlIGFyZSBhbnkgYnl0ZXMg d2FpdGluZywgd2UgbmVlZCB0bwotICAgIDs7IHNlbmQgRU9GIHR3aWNlOiBvbmNlIHRvIGZs dXNoIHRoZSBidWZmZXIsIGFuZCBhIHNlY29uZCB0aW1lIHRvCi0gICAgOzsgY2F1c2UgdGhl IG5leHQgcmVhZCgpIHRvIHJldHVybiBhIHNpemUgb2YgMCwgaW5kaWNhdGluZwotICAgIDs7 IGVuZC1vZi1maWxlIHRvIHRoZSByZWFkaW5nIHByb2Nlc3MuICBIb3dldmVyLCBzb21lIHBs YXRmb3JtcwotICAgIDs7IChlLmcuIFNvbGFyaXMpIGFjdHVhbGx5IHJlcXVpcmUgc2VuZGlu ZyBhICp0aGlyZCogRU9GLiAgU2luY2UKLSAgICA7OyBzZW5kaW5nIGV4dHJhIEVPRnMgd2hp bGUgdGhlIHByb2Nlc3MgaXMgcnVubmluZyBzaG91bGRuJ3QgYnJlYWsKLSAgICA7OyBhbnl0 aGluZywgd2UnbGwganVzdCBzZW5kIHRoZSBtYXhpbXVtIHdlJ2QgZXZlciBuZWVkLiAgU2Vl Ci0gICAgOzsgYnVnIzU2MDI1IGZvciBmdXJ0aGVyIGRldGFpbHMuCi0gICAgKGxldCAoKGkg MCkpCi0gICAgICAod2hpbGUgKGFuZCAoPD0gKGNsLWluY2YgaSkgMykKKyAgICA7OyBBY2Nv cmRpbmcgdG8gUE9TSVguMS0yMDE3LCBzZWN0aW9uIDExLjEuOSwgd2hlbiBjb21tdW5pY2F0 aW5nCisgICAgOzsgdmlhIHRlcm1pbmFsLCBzZW5kaW5nIEVPRiBjYXVzZXMgYWxsIGJ5dGVz IHdhaXRpbmcgdG8gYmUgcmVhZAorICAgIDs7IHRvIGJlIHNlbnQgdG8gdGhlIHByb2Nlc3Mg aW1tZWRpYXRlbHkuICBUaHVzLCBpZiB0aGVyZSBhcmUgYW55CisgICAgOzsgYnl0ZXMgd2Fp dGluZywgd2UgbmVlZCB0byBzZW5kIEVPRiB0d2ljZTogb25jZSB0byBmbHVzaCB0aGUKKyAg ICA7OyBidWZmZXIsIGFuZCBhIHNlY29uZCB0aW1lIHRvIGNhdXNlIHRoZSBuZXh0IHJlYWQo KSB0byByZXR1cm4gYQorICAgIDs7IHNpemUgb2YgMCwgaW5kaWNhdGluZyBlbmQtb2YtZmls ZSB0byB0aGUgcmVhZGluZyBwcm9jZXNzLgorICAgIDs7IEhvd2V2ZXIsIHNvbWUgcGxhdGZv cm1zIChlLmcuIFNvbGFyaXMpIGFjdHVhbGx5IHJlcXVpcmUgc2VuZGluZworICAgIDs7IGEg KnRoaXJkKiBFT0YuICBTaW5jZSBzZW5kaW5nIGV4dHJhIEVPRnMgd2hpbGUgdGhlIHByb2Nl c3MgaXMKKyAgICA7OyBydW5uaW5nIGFyZSBhIG5vLW9wLCB3ZSdsbCBqdXN0IHNlbmQgdGhl IG1heGltdW0gd2UnZCBldmVyCisgICAgOzsgbmVlZC4gIFNlZSBidWcjNTYwMjUgZm9yIGZ1 cnRoZXIgZGV0YWlscy4KKyAgICAobGV0ICgoaSAwKQorICAgICAgICAgIDs7IE9ubHkgY2Fs bCBgcHJvY2Vzcy1zZW5kLWVvZicgb25jZSBpZiBjb21tdW5pY2F0aW5nIHZpYSBhCisgICAg ICAgICAgOzsgcGlwZSAoaW4gdHJ1dGgsIHRoaXMganVzdCBjbG9zZXMgdGhlIHBpcGUpLgor ICAgICAgICAgIChtYXgtYXR0ZW1wdHMgKGlmIChwcm9jZXNzLXR0eS1uYW1lIHRhcmdldCAn c3RkaW4pIDMgMSkpKQorICAgICAgKHdoaWxlIChhbmQgKDw9IChjbC1pbmNmIGkpIG1heC1h dHRlbXB0cykKICAgICAgICAgICAgICAgICAgIChlcSAocHJvY2Vzcy1zdGF0dXMgdGFyZ2V0 KSAncnVuKSkKICAgICAgICAgKHByb2Nlc3Mtc2VuZC1lb2YgdGFyZ2V0KSkpKQogCmRpZmYg LS1naXQgYS9zcmMvcHJvY2Vzcy5jIGIvc3JjL3Byb2Nlc3MuYwppbmRleCBkYTVlOWNiMTgy Li5kYmQ4YzJkNGUzIDEwMDY0NAotLS0gYS9zcmMvcHJvY2Vzcy5jCisrKyBiL3NyYy9wcm9j ZXNzLmMKQEAgLTEyNDMsMTQgKzEyNDMsMzEgQEAgREVGVU4gKCJwcm9jZXNzLWNvbW1hbmQi LCBGcHJvY2Vzc19jb21tYW5kLCBTcHJvY2Vzc19jb21tYW5kLCAxLCAxLCAwLAogICByZXR1 cm4gWFBST0NFU1MgKHByb2Nlc3MpLT5jb21tYW5kOwogfQogCi1ERUZVTiAoInByb2Nlc3Mt dHR5LW5hbWUiLCBGcHJvY2Vzc190dHlfbmFtZSwgU3Byb2Nlc3NfdHR5X25hbWUsIDEsIDEs IDAsCitERUZVTiAoInByb2Nlc3MtdHR5LW5hbWUiLCBGcHJvY2Vzc190dHlfbmFtZSwgU3By b2Nlc3NfdHR5X25hbWUsIDEsIDIsIDAsCiAgICAgICAgZG9jOiAvKiBSZXR1cm4gdGhlIG5h bWUgb2YgdGhlIHRlcm1pbmFsIFBST0NFU1MgdXNlcywgb3IgbmlsIGlmIG5vbmUuCiBUaGlz IGlzIHRoZSB0ZXJtaW5hbCB0aGF0IHRoZSBwcm9jZXNzIGl0c2VsZiByZWFkcyBhbmQgd3Jp dGVzIG9uLAotbm90IHRoZSBuYW1lIG9mIHRoZSBwdHkgdGhhdCBFbWFjcyB1c2VzIHRvIHRh bGsgd2l0aCB0aGF0IHRlcm1pbmFsLiAgKi8pCi0gIChyZWdpc3RlciBMaXNwX09iamVjdCBw cm9jZXNzKQorbm90IHRoZSBuYW1lIG9mIHRoZSBwdHkgdGhhdCBFbWFjcyB1c2VzIHRvIHRh bGsgd2l0aCB0aGF0IHRlcm1pbmFsLgorCitJZiBTVFJFQU0gaXMgbmlsLCByZXR1cm4gdGhl IHRlcm1pbmFsIG5hbWUgaWYgYW55IG9mIFBST0NFU1Mncworc3RhbmRhcmQgc3RyZWFtcyB1 c2UgYSB0ZXJtaW5hbCBmb3IgY29tbXVuaWNhdGlvbi4gIElmIFNUUkVBTSBpcyBvbmUKK29m IGBzdGRpbicsIGBzdGRvdXQnLCBvciBgc3RkZXJyJywgcmV0dXJuIHRoZSBuYW1lIG9mIHRo ZSB0ZXJtaW5hbAorUFJPQ0VTUyB1c2VzIGZvciB0aGF0IHN0cmVhbSBzcGVjaWZpY2FsbHks IG9yIG5pbCBpZiB0aGF0IHN0cmVhbQorY29tbXVuaWNhdGVzIHZpYSBhIHBpcGUuICAqLykK KyAgKHJlZ2lzdGVyIExpc3BfT2JqZWN0IHByb2Nlc3MsIExpc3BfT2JqZWN0IHN0cmVhbSkK IHsKICAgQ0hFQ0tfUFJPQ0VTUyAocHJvY2Vzcyk7Ci0gIHJldHVybiBYUFJPQ0VTUyAocHJv Y2VzcyktPnR0eV9uYW1lOworICByZWdpc3RlciBzdHJ1Y3QgTGlzcF9Qcm9jZXNzICpwID0g WFBST0NFU1MgKHByb2Nlc3MpOworCisgIGlmIChOSUxQIChzdHJlYW0pKQorICAgIHJldHVy biBwLT50dHlfbmFtZTsKKyAgZWxzZSBpZiAoRVEgKHN0cmVhbSwgUXN0ZGluKSkKKyAgICBy ZXR1cm4gcC0+cHR5X2luID8gcC0+dHR5X25hbWUgOiBRbmlsOworICBlbHNlIGlmIChFUSAo c3RyZWFtLCBRc3Rkb3V0KSkKKyAgICByZXR1cm4gcC0+cHR5X291dCA/IHAtPnR0eV9uYW1l IDogUW5pbDsKKyAgZWxzZSBpZiAoRVEgKHN0cmVhbSwgUXN0ZGVycikpCisgICAgcmV0dXJu IHAtPnB0eV9vdXQgJiYgTklMUCAocC0+c3RkZXJycHJvYykgPyBwLT50dHlfbmFtZSA6IFFu aWw7CisgIGVsc2UKKyAgICBzaWduYWxfZXJyb3IgKCJVbmtub3duIHN0cmVhbSIsIHN0cmVh bSk7CiB9CiAKIHN0YXRpYyB2b2lkCmRpZmYgLS1naXQgYS90ZXN0L3NyYy9wcm9jZXNzLXRl c3RzLmVsIGIvdGVzdC9zcmMvcHJvY2Vzcy10ZXN0cy5lbAppbmRleCA0MTMyMDY3MmEwLi42 YmE1OTMwZWU2IDEwMDY0NAotLS0gYS90ZXN0L3NyYy9wcm9jZXNzLXRlc3RzLmVsCisrKyBi L3Rlc3Qvc3JjL3Byb2Nlc3MtdGVzdHMuZWwKQEAgLTI5NCw2ICsyOTQsOSBAQCBtYWtlLXBy b2Nlc3MvdGVzdC1jb25uZWN0aW9uLXR5cGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJpZiBbIC10IDIgXTsgdGhlbiBlY2hvIHN0ZGVycjsgZmkiKSkKICAg ICAgICAgICAgICAgICA6YnVmZmVyIHN0ZG91dC1idWZmZXIKICAgICAgICAgICAgICAgICBh cmdzKSkpCisgICAgKHNob3VsZCAoZXEgKGFuZCAocHJvY2Vzcy10dHktbmFtZSBwcm9jICdz dGRpbikgdCkgKG50aCAwIHR0eXMpKSkKKyAgICAoc2hvdWxkIChlcSAoYW5kIChwcm9jZXNz LXR0eS1uYW1lIHByb2MgJ3N0ZG91dCkgdCkgKG50aCAxIHR0eXMpKSkKKyAgICAoc2hvdWxk IChlcSAoYW5kIChwcm9jZXNzLXR0eS1uYW1lIHByb2MgJ3N0ZGVycikgdCkgKG50aCAyIHR0 eXMpKSkKICAgICAocHJvY2Vzcy10ZXN0LXdhaXQtZm9yLXNlbnRpbmVsIHByb2MgMCkKICAg ICAoc2hvdWxkIChlcXVhbCAod2l0aC1jdXJyZW50LWJ1ZmZlciBzdGRvdXQtYnVmZmVyIChi dWZmZXItc3RyaW5nKSkKICAgICAgICAgICAgICAgICAgICBleHBlY3RlZC1vdXRwdXQpKSkp Ci0tIAoyLjI1LjEKCg== --------------54832D820F8DCBBE62943999--