From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#66816: [PATCH] Delete redundant lambdas around unary functions Date: Sun, 29 Oct 2023 06:02:38 -0700 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000052838b0608da8976" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15289"; mail-complaints-to="usenet@ciao.gmane.io" To: 66816@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Oct 29 14:03:44 2023 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 1qx5SB-0003qV-RR for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 29 Oct 2023 14:03:44 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qx5S0-0004yd-0J; Sun, 29 Oct 2023 09:03:32 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qx5Ry-0004y4-5g for bug-gnu-emacs@gnu.org; Sun, 29 Oct 2023 09:03:30 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qx5Rx-00077G-SS for bug-gnu-emacs@gnu.org; Sun, 29 Oct 2023 09:03:29 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qx5SU-000229-Cm for bug-gnu-emacs@gnu.org; Sun, 29 Oct 2023 09:04:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 29 Oct 2023 13:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 66816 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16985846097773 (code B ref -1); Sun, 29 Oct 2023 13:04:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 29 Oct 2023 13:03:29 +0000 Original-Received: from localhost ([127.0.0.1]:40717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qx5Rv-00021H-Jn for submit@debbugs.gnu.org; Sun, 29 Oct 2023 09:03:28 -0400 Original-Received: from lists.gnu.org ([2001:470:142::17]:34064) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qx5Rs-000211-7c for submit@debbugs.gnu.org; Sun, 29 Oct 2023 09:03:25 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qx5RF-0004pn-5n for bug-gnu-emacs@gnu.org; Sun, 29 Oct 2023 09:02:45 -0400 Original-Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qx5RC-0006jp-0C for bug-gnu-emacs@gnu.org; Sun, 29 Oct 2023 09:02:44 -0400 Original-Received: by mail-lj1-x22d.google.com with SMTP id 38308e7fff4ca-2c4fdf94666so46664521fa.2 for ; Sun, 29 Oct 2023 06:02:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698584560; x=1699189360; darn=gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=gAyrISVv37KLJ+IuMgL6anNssJw/g3bXs/zhqworVCU=; b=Vdtin9RMlTgV8gdz7+0IPaRbQT8RO5IrStt+eWRQlg/cqzg1CD7k5wethlwu9Zu3S9 IXSFn7IUI5HuMiLyNvSAYG/Fs+8RS/kvB2ffSZdD+WLASRKehtOkVt+Rvl2Li22CLMqN lmkwMpaeJTukn7wXqoIjby5cwFHdbi/0q1A3Lc34kuT7lzmfFRttiYClHw74uXzkRIcH Uaai47bNzKfxUyQvF1XM+zmsGbXf+yfIs1+mw17LD3TFdBwkYpCCt5KcCs8H+qVux+Pf 1jOOcc/EMKKcLLhC5EA/8JcppIT3p8lXBd8wBXdA1sZZntIKROfG05JszU624HWRx3+l C1iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698584560; x=1699189360; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=gAyrISVv37KLJ+IuMgL6anNssJw/g3bXs/zhqworVCU=; b=D3maOowXcV+/3AihkornRasAhz2Y3+bkGiowpu6Sy02NXY31t5EqAVWkqfkwB+5XHh 8qsr0Osgbt9k43MM26kWF7J1cFUCa8IcAdqIGl7nt7Q8jrtBC/EI2skiQu5qF4rclyly HM5F3WF58bJGnT2LzpiLVqAt9XVFdoy546MYcfJTiyNh7q9e7eZI77j4SjDUJlsFR1Z/ XmVtdV5/IJY/UVlB1hcKoUiB20/mHrUNiLzuYz7WV14KpyZDUsltI6b3TCCdENbFpkIn vJ8/tLJvB9DQRXSUXdghRH7jGFiNlSPhQkDVu1IxGo1kP123k19rln9MFVqjbP4qzVbF 2IfQ== X-Gm-Message-State: AOJu0Yw0o/E1Yiq8ZapTTve6l3AhmisMccUbTu9Jcr8VWcIf/7YPq4iJ UAzGUSRzg/RBplggsjZ0TMoO1d/SIXlc2a3C4eJEOSU6 X-Google-Smtp-Source: AGHT+IH/rrAPFYNnHj1L0lXGoa2RMRuIrsvt0EKjjjr6jB6jV8PR6ds80xKhRwfhel7sHNgAic8lq3TMZEX9dTo8tpQ= X-Received: by 2002:a2e:8e98:0:b0:2c5:31de:6c07 with SMTP id z24-20020a2e8e98000000b002c531de6c07mr5779704ljk.14.1698584560034; Sun, 29 Oct 2023 06:02:40 -0700 (PDT) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 29 Oct 2023 06:02:38 -0700 Received-SPF: pass client-ip=2a00:1450:4864:20::22d; envelope-from=stefankangas@gmail.com; helo=mail-lj1-x22d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:273505 Archived-At: --00000000000052838b0608da8976 Content-Type: text/plain; charset="UTF-8" Severity: wishlist Please see the attached patch. I've been able to measure around 10% better performance in the few cases I looked into. Here's an example: (benchmark-run 1000 (seq-filter (lambda (n) (bufferp n)) (number-sequence 0 100000))) => (69.007736 333 47.018879999999996) (benchmark-run 1000 (seq-filter #'bufferp (number-sequence 0 100000))) => (61.541616 333 47.673137) --00000000000052838b0608da8976 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Delete-redundant-lambdas-around-unary-functions.patch" Content-Disposition: attachment; filename="0001-Delete-redundant-lambdas-around-unary-functions.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: ea7ae35caaba8406_0.1 RnJvbSBhNDhkZjhjYjliNzAxMTYwYWE0ZDg0NGVhZGUyYzlhNTgwYTZiMzU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5rYW5nYXNAZ21haWwuY29t PgpEYXRlOiBTdW4sIDI5IE9jdCAyMDIzIDExOjM1OjE5ICswMTAwClN1YmplY3Q6IFtQQVRDSF0g RGVsZXRlIHJlZHVuZGFudCBsYW1iZGFzIGFyb3VuZCB1bmFyeSBmdW5jdGlvbnMKClRoaXMgaXMg bm90IGp1c3Qgc3R5bGlzdGljLCBidXQgYWxzbyBzbGlnaHRseSBmYXN0ZXIuICBUaGVzZSBhcmUg YWxsCnJlZ3VsYXIgZGVmdW5zLCBvZiBjb3Vyc2UsIGFzIHRoaXMgd29uJ3Qgd29yayB3aXRoIG1h Y3JvcyBhbmQgZGVmc3Vic3RzLgoKKiBsaXNwL2NhbGMvY2FsYy1ubGZpdC5lbCAobWF0aC1ubGZp dC1maXQtY3VydmUpCihjYWxjLWZpdC1odWJiZXJ0LWxpbmVhci1jdXJ2ZSk6CiogbGlzcC9jYWxl bmRhci9jYWwtdGV4LmVsIChjYWwtdGV4LWxhdGV4aWZ5LWxpc3QpOgoqIGxpc3AvY2FsZW5kYXIv dG9kby1tb2RlLmVsICh0b2RvLXNvcnQpOgoqIGxpc3AvY2VkZXQvc2VtYW50aWMvY3R4dC5lbCAo c2VtYW50aWMtY3R4dC1lbmQtb2Ytc3ltYm9sLWRlZmF1bHQpCihzZW1hbnRpYy1jdHh0LWN1cnJl bnQtc3ltYm9sLWRlZmF1bHQpOgoqIGxpc3AvY2VkZXQvc2VtYW50aWMvc3ltcmVmLmVsIChzZW1h bnRpYy1zeW1yZWYtcmVzdWx0LWdldC1maWxlcyk6CiogbGlzcC9jZWRldC9zZW1hbnRpYy90ZXhp LmVsIChzZW1hbnRpYy10ZXhpLWNvbW1hbmQtY29tcGxldGlvbi1saXN0KToKKiBsaXNwL2Rlc2Ny LXRleHQuZWwgKGRlc2NyaWJlLWNoYXIpOgoqIGxpc3AvZW1hY3MtbGlzcC9laWVpby1kYXRhZGVi dWcuZWwKKGRhdGEtZGVidWctYWRkLXNwZWNpYWxpemVkLXRoaW5nKToKKiBsaXNwL2VtYWNzLWxp c3Avcm1jLmVsIChyZWFkLW11bHRpcGxlLWNob2ljZS0tc2hvcnQtYW5zd2Vycyk6CiogbGlzcC9l c2hlbGwvZW0tcHJlZC5lbCAoZXNoZWxsLW1vZGlmaWVyLWFsaXN0KToKKiBsaXNwL2dudXMvZ251 cy1jYWNoZS5lbCAoZ251cy1jYWNoZS1hcnRpY2xlcy1pbi1ncm91cCk6CiogbGlzcC9nbnVzL2du dXMtZGlyZWQuZWwgKGdudXMtZGlyZWQtYXR0YWNoKToKKiBsaXNwL2hlbHAtbW9kZS5lbCAoaGVs cC1wYWNrYWdlLWRlZik6CiogbGlzcC9pYnVmLWV4dC5lbCAoaWJ1ZmZlci1tYXJrLW1vZGlmaWVk LWJ1ZmZlcnMpOgoqIGxpc3AvaW1hZ2UvaW1hZ2UtZGlyZWQuZWw6CiogbGlzcC9pbnRlcm5hdGlv bmFsL3F1YWlsLmVsIChxdWFpbC1rZXlzZXEtdHJhbnNsYXRlKQoocXVhaWwtZ2V0LXRyYW5zbGF0 aW9ucyk6CiogbGlzcC9pc2VhcmNoLmVsIChpc2VhcmNoLXByZS1jb21tYW5kLWhvb2spCihzZWFy Y2gtd2l0aGluLWJvdW5kYXJpZXMpOgoqIGxpc3AvbWFpbC9zdXBlcmNpdGUuZWwgKHNjLWFzayk6 CiogbGlzcC9taC1lL21oLWUuZWwgKG1oLXZhcmlhbnQtc2V0KToKKiBsaXNwL25ldC9yY2lyYy5l bCAocmNpcmMtbmljay1jaGFubmVscywgcmNpcmMtY2hhbm5lbC1uaWNrcyk6CihyY2lyYy1icm93 c2UtdXJsKToKKiBsaXNwL29ic29sZXRlL3RodW1icy5lbCAodGh1bWJzLWNsZWFudXAtdGh1bWJz ZGlyKToKKiBsaXNwL29yZy9vcmctYWdlbmRhLmVsIChvcmctYWdlbmRhLWZpbHRlci1jb21wbGV0 aW9uLWZ1bmN0aW9uKToKKiBsaXNwL29yZy9vcmctdGFibGUuZWwgKG9yZy10YWJsZS1ldmFsLWZv cm11bGEpOgoqIGxpc3Avb3JnL29yZy5lbCAob3JnLXNldC1yZWdleHBzLWFuZC1vcHRpb25zKToK KiBsaXNwL29yZy9veC5lbCAob3JnLWV4cG9ydC0tZ2V0LWluYnVmZmVyLW9wdGlvbnMpOgoqIGxp c3Avc2VzLmVsIChzZXMtcmFuZ2UpOgoqIGxpc3AvdGV4dG1vZGVzL2VtYWNzLW5ld3MtbW9kZS5l bCAoZW1hY3MtbmV3cy0tYnV0dG9uaXplKToKKiBsaXNwL3RleHRtb2Rlcy9pc3BlbGwuZWwgKGlz cGVsbC1iZWdpbi10ZXgtc2tpcC1yZWdleHApOgoqIGxpc3AvdmMvdmMtY3ZzLmVsICh2Yy1jdnMt c3RheS1sb2NhbC1wKToKKiBsaXNwL3dpbmRvdy5lbCAod2luZG93LS1zdGF0ZS1nZXQtMSk6Ciog dGVzdC9saXNwL2VtYWNzLWxpc3Avc2hvcnRkb2MtdGVzdHMuZWwgKHNob3J0ZG9jLWFsbC1ncm91 cHMtd29yayk6CkRlbGV0ZSByZWR1bmRhbnQgbGFtYmRhcyBhcm91bmQgdW5hcnkgZnVuY3Rpb25z LgotLS0KIGxpc3AvY2FsYy9jYWxjLW5sZml0LmVsICAgICAgICAgICAgICAgIHwgNCArKy0tCiBs aXNwL2NhbGVuZGFyL2NhbC10ZXguZWwgICAgICAgICAgICAgICB8IDIgKy0KIGxpc3AvY2FsZW5k YXIvdG9kby1tb2RlLmVsICAgICAgICAgICAgIHwgMiArLQogbGlzcC9jZWRldC9zZW1hbnRpYy9j dHh0LmVsICAgICAgICAgICAgfCA0ICsrLS0KIGxpc3AvY2VkZXQvc2VtYW50aWMvc29ydC5lbCAg ICAgICAgICAgIHwgMyArKy0KIGxpc3AvY2VkZXQvc2VtYW50aWMvc3ltcmVmLmVsICAgICAgICAg IHwgMiArLQogbGlzcC9jZWRldC9zZW1hbnRpYy90ZXhpLmVsICAgICAgICAgICAgfCAyICstCiBs aXNwL2Rlc2NyLXRleHQuZWwgICAgICAgICAgICAgICAgICAgICB8IDMgKy0tCiBsaXNwL2VtYWNz LWxpc3AvZWllaW8tZGF0YWRlYnVnLmVsICAgICB8IDIgKy0KIGxpc3AvZW1hY3MtbGlzcC9ybWMu ZWwgICAgICAgICAgICAgICAgIHwgMiArLQogbGlzcC9lc2hlbGwvZW0tcHJlZC5lbCAgICAgICAg ICAgICAgICAgfCAyICstCiBsaXNwL2dudXMvZ251cy1jYWNoZS5lbCAgICAgICAgICAgICAgICB8 IDIgKy0KIGxpc3AvZ251cy9nbnVzLWRpcmVkLmVsICAgICAgICAgICAgICAgIHwgNiArKy0tLS0K IGxpc3AvaGVscC1tb2RlLmVsICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogbGlzcC9pYnVm LWV4dC5lbCAgICAgICAgICAgICAgICAgICAgICAgfCAzICstLQogbGlzcC9pbWFnZS9pbWFnZS1k aXJlZC5lbCAgICAgICAgICAgICAgfCAyICstCiBsaXNwL2ludGVybmF0aW9uYWwvcXVhaWwuZWwg ICAgICAgICAgICB8IDcgKystLS0tLQogbGlzcC9pc2VhcmNoLmVsICAgICAgICAgICAgICAgICAg ICAgICAgfCA1ICsrLS0tCiBsaXNwL21haWwvc3VwZXJjaXRlLmVsICAgICAgICAgICAgICAgICB8 IDIgKy0KIGxpc3AvbWgtZS9taC1lLmVsICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogbGlz cC9uZXQvcmNpcmMuZWwgICAgICAgICAgICAgICAgICAgICAgfCA5ICsrKystLS0tLQogbGlzcC9v YnNvbGV0ZS90aHVtYnMuZWwgICAgICAgICAgICAgICAgfCAyICstCiBsaXNwL29yZy9vcmctYWdl bmRhLmVsICAgICAgICAgICAgICAgICB8IDIgKy0KIGxpc3Avb3JnL29yZy10YWJsZS5lbCAgICAg ICAgICAgICAgICAgIHwgMyArLS0KIGxpc3Avb3JnL29yZy5lbCAgICAgICAgICAgICAgICAgICAg ICAgIHwgMiArLQogbGlzcC9vcmcvb3guZWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICst CiBsaXNwL3Nlcy5lbCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGxpc3AvdGV4 dG1vZGVzL2VtYWNzLW5ld3MtbW9kZS5lbCAgICAgIHwgMiArLQogbGlzcC90ZXh0bW9kZXMvaXNw ZWxsLmVsICAgICAgICAgICAgICAgfCA0ICstLS0KIGxpc3AvdmMvdmMtY3ZzLmVsICAgICAgICAg ICAgICAgICAgICAgIHwgMiArLQogbGlzcC93aW5kb3cuZWwgICAgICAgICAgICAgICAgICAgICAg ICAgfCAzICstLQogdGVzdC9saXNwL2VtYWNzLWxpc3Avc2hvcnRkb2MtdGVzdHMuZWwgfCAyICst CiAzMiBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9saXNwL2NhbGMvY2FsYy1ubGZpdC5lbCBiL2xpc3AvY2FsYy9jYWxjLW5sZml0 LmVsCmluZGV4IDcyYjkwNmZmNjliLi40NDUwMzQwMDVmNSAxMDA2NDQKLS0tIGEvbGlzcC9jYWxj L2NhbGMtbmxmaXQuZWwKKysrIGIvbGlzcC9jYWxjL2NhbGMtbmxmaXQuZWwKQEAgLTY3OCw3ICs2 NzgsNyBAQCBtYXRoLW5sZml0LWZpdC1jdXJ2ZQogICAgICAgICAgIChzZGF0YSAoaWYgKG1hdGgt Y29udGFpbnMtc2Rldi1wIHlkYXRhKQogICAgICAgICAgICAgICAgICAgICAgKG1hcGNhciAobGFt YmRhICh4KSAobWF0aC1nZXQtc2RldiB4IHQpKSB5ZGF0YSkKICAgICAgICAgICAgICAgICAgICBu aWwpKQotICAgICAgICAgICh5ZGF0YSAobWFwY2FyIChsYW1iZGEgKHgpIChtYXRoLWdldC12YWx1 ZSB4KSkgeWRhdGEpKQorICAgICAgICAgICh5ZGF0YSAobWFwY2FyICMnbWF0aC1nZXQtdmFsdWUg eWRhdGEpKQogICAgICAgICAgIChjYWxjLWN1cnZlLXZhcm5hbWVzIG5pbCkKICAgICAgICAgICAo Y2FsYy1jdXJ2ZS1jb2VmbmFtZXMgbmlsKQogICAgICAgICAgIChjYWxjLWN1cnZlLW52YXJzIDEp CkBAIC03NTcsNyArNzU3LDcgQEAgY2FsYy1maXQtaHViYmVydC1saW5lYXItY3VydmUKICAgICAg ICAgICAoc2RhdGEgKGlmIChtYXRoLWNvbnRhaW5zLXNkZXYtcCBwZGF0YSkKICAgICAgICAgICAg ICAgICAgICAgIChtYXBjYXIgKGxhbWJkYSAoeCkgKG1hdGgtZ2V0LXNkZXYgeCB0KSkgcGRhdGEp CiAgICAgICAgICAgICAgICAgICAgbmlsKSkKLSAgICAgICAgICAocGRhdGEgKG1hcGNhciAobGFt YmRhICh4KSAobWF0aC1nZXQtdmFsdWUgeCkpIHBkYXRhKSkKKyAgICAgICAgICAocGRhdGEgKG1h cGNhciAjJ21hdGgtZ2V0LXZhbHVlIHBkYXRhKSkKICAgICAgICAgICAocG92ZXJxZGF0YSAobWF0 aC1tYXAtYmlub3AgJ21hdGgtZGl2IHBkYXRhIHFkYXRhKSkKICAgICAgICAgICAocGFybXZhbHMg KG1hdGgtbmxmaXQtbGVhc3Qtc3F1YXJlcyBxZGF0YSBwb3ZlcnFkYXRhIHNkYXRhIHNkZXZ2KSkK ICAgICAgICAgICAoZmluYWxwYXJtcyAobGlzdCAobnRoIDAgcGFybXZhbHMpCmRpZmYgLS1naXQg YS9saXNwL2NhbGVuZGFyL2NhbC10ZXguZWwgYi9saXNwL2NhbGVuZGFyL2NhbC10ZXguZWwKaW5k ZXggODM5OWQ3N2I0YzQuLjcwNjU1ZDNkZDA4IDEwMDY0NAotLS0gYS9saXNwL2NhbGVuZGFyL2Nh bC10ZXguZWwKKysrIGIvbGlzcC9jYWxlbmRhci9jYWwtdGV4LmVsCkBAIC0xNjAwLDcgKzE2MDAs NyBAQCBjYWwtdGV4LWxhdGV4aWZ5LWxpc3QKICAgKG9yIHNlcGFyYXRvciAoc2V0cSBzZXBhcmF0 b3IgIlxcXFwiKSkKICAgKGxldCAocmVzdWx0KQogICAgIChzZXRxIHJlc3VsdAotICAgICAgICAg IChtYXBjb25jYXQgKGxhbWJkYSAoeCkgKGNhbC10ZXgtTGFUZVhpZnktc3RyaW5nIHgpKQorICAg ICAgICAgIChtYXBjb25jYXQgIydjYWwtdGV4LUxhVGVYaWZ5LXN0cmluZwogICAgICAgICAgICAg ICAgICAgICAgKGRvbGlzdCAoZCBkYXRlLWxpc3QgKHJldmVyc2UgcmVzdWx0KSkKICAgICAgICAg ICAgICAgICAgICAgICAgKGFuZCAoY2FyIGQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGNhbGVuZGFyLWRhdGUtZXF1YWwgZGF0ZSAoY2FyIGQpKQpkaWZmIC0tZ2l0IGEvbGlzcC9jYWxl bmRhci90b2RvLW1vZGUuZWwgYi9saXNwL2NhbGVuZGFyL3RvZG8tbW9kZS5lbAppbmRleCAwOTNl YTBlMjJiNi4uOTY0ZmRmYmM5NjEgMTAwNjQ0Ci0tLSBhL2xpc3AvY2FsZW5kYXIvdG9kby1tb2Rl LmVsCisrKyBiL2xpc3AvY2FsZW5kYXIvdG9kby1tb2RlLmVsCkBAIC0zNzE4LDcgKzM3MTgsNyBA QCB0b2RvLXNvcnQKICAgIlJldHVybiBhIGNvcHkgb2YgTElTVCwgcG9zc2libHkgc29ydGVkIGFj Y29yZGluZyB0byBLRVkuIgogICAobGV0KiAoKGwgKGNvcHktc2VxdWVuY2UgbGlzdCkpCiAJIChm biAoaWYgKGVxIGtleSAnYWxwaGEpCi0JCSAgIChsYW1iZGEgKHgpICh1cGNhc2UgeCkpIDsgQWxw aGFiZXRpemUgY2FzZSBpbnNlbnNpdGl2ZWx5LgorICAgICAgICAgICAgICAgICAgICMndXBjYXNl IDsgQWxwaGFiZXRpemUgY2FzZSBpbnNlbnNpdGl2ZWx5LgogCQkgKGxhbWJkYSAoeCkgKHRvZG8t Z2V0LWNvdW50IGtleSB4KSkpKQogCSA7OyBLZWVwIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGxhc3Qg c29ydCBieSBrZXkgd2FzIGRlc2NlbmRpbmcgb3IKIAkgOzsgYXNjZW5kaW5nLgpkaWZmIC0tZ2l0 IGEvbGlzcC9jZWRldC9zZW1hbnRpYy9jdHh0LmVsIGIvbGlzcC9jZWRldC9zZW1hbnRpYy9jdHh0 LmVsCmluZGV4IDg0ZTZjNmViZWNiLi4wNTFhNjgxMzMyMCAxMDA2NDQKLS0tIGEvbGlzcC9jZWRl dC9zZW1hbnRpYy9jdHh0LmVsCisrKyBiL2xpc3AvY2VkZXQvc2VtYW50aWMvY3R4dC5lbApAQCAt MzYyLDcgKzM2Miw3IEBAIHNlbWFudGljLWN0eHQtZW5kLW9mLXN5bWJvbC1kZWZhdWx0CiBEZXBl bmRzIG9uIGBzZW1hbnRpYy10eXBlLXJlbGF0aW9uLXNlcGFyYXRvci1jaGFyYWN0ZXInLCBhbmQg d2lsbAogd29yayBvbiBDIGxpa2UgbGFuZ3VhZ2VzLiIKICAgKGlmIHBvaW50IChnb3RvLWNoYXIg cG9pbnQpKQotICAobGV0KiAoKGZpZWxkc2VwMSAobWFwY29uY2F0IChsYW1iZGEgKGEpIChyZWdl eHAtcXVvdGUgYSkpCisgIChsZXQqICgoZmllbGRzZXAxIChtYXBjb25jYXQgIydyZWdleHAtcXVv dGUKIAkJCSAgICAgICBzZW1hbnRpYy10eXBlLXJlbGF0aW9uLXNlcGFyYXRvci1jaGFyYWN0ZXIK IAkJCSAgICAgICAiXFx8IikpCiAJIDs7IE5PVEU6IFRoZSBbIFxuXSBleHByZXNzaW9uIGJlbG93 IHNob3VsZCB1c2VkIFxccy0sIGJ1dCB0aGF0CkBAIC00NDYsNyArNDQ2LDcgQEAgc2VtYW50aWMt Y3R4dC1jdXJyZW50LXN5bWJvbC1kZWZhdWx0CiBEZXBlbmRzIG9uIGBzZW1hbnRpYy10eXBlLXJl bGF0aW9uLXNlcGFyYXRvci1jaGFyYWN0ZXInLiIKICAgKHNhdmUtZXhjdXJzaW9uCiAgICAgKGlm IHBvaW50IChnb3RvLWNoYXIgcG9pbnQpKQotICAgIChsZXQqICgoZmllbGRzZXAxIChtYXBjb25j YXQgKGxhbWJkYSAoYSkgKHJlZ2V4cC1xdW90ZSBhKSkKKyAgICAobGV0KiAoKGZpZWxkc2VwMSAo bWFwY29uY2F0ICMncmVnZXhwLXF1b3RlCiAJCQkJIHNlbWFudGljLXR5cGUtcmVsYXRpb24tc2Vw YXJhdG9yLWNoYXJhY3RlcgogCQkJCSAiXFx8IikpCiAJICAgOzsgTk9URTogVGhlIFsgXG5dIGV4 cHJlc3Npb24gYmVsb3cgc2hvdWxkIHVzZWQgXFxzLSwgYnV0IHRoYXQKZGlmZiAtLWdpdCBhL2xp c3AvY2VkZXQvc2VtYW50aWMvc29ydC5lbCBiL2xpc3AvY2VkZXQvc2VtYW50aWMvc29ydC5lbApp bmRleCBhZWJkNTBhNjQ5Yi4uMDUxY2M3YThiMDIgMTAwNjQ0Ci0tLSBhL2xpc3AvY2VkZXQvc2Vt YW50aWMvc29ydC5lbAorKysgYi9saXNwL2NlZGV0L3NlbWFudGljL3NvcnQuZWwKQEAgLTI0Myw3 ICsyNDMsNyBAQCBzZW1hbnRpYy1mbGF0dGVuLXRhZ3MtdGFibGUKIDs7IHRhYmxlLCBhbmQgcmVv cmdhbml6ZSB0aGVtIGludG8gYnVja2V0cyBiYXNlZCBvbiBjbGFzcy4KIDs7CiAoZGVmdmFyIHNl bWFudGljLWJ1Y2tldGl6ZS10YWctY2xhc3MKLSAgOzsgTXVzdCB1c2UgbGFtYmRhIGJlY2F1c2Ug YHNlbWFudGljLXRhZy1jbGFzcycgaXMgYSBtYWNyby4KKyAgOzsgTXVzdCB1c2UgbGFtYmRhIGJl Y2F1c2UgYHNlbWFudGljLXRhZy1jbGFzcycgaXMgYSBkZWZzdWJzdC4KICAgKGxhbWJkYSAodG9r KSAoc2VtYW50aWMtdGFnLWNsYXNzIHRvaykpCiAgICJGdW5jdGlvbiB1c2VkIHRvIGdldCBhIHN5 bWJvbCBkZXNjcmliaW5nIHRoZSBjbGFzcyBvZiBhIHRhZy4KIFRoaXMgZnVuY3Rpb24gbXVzdCB0 YWtlIG9uZSBhcmd1bWVudCBvZiBhIHNlbWFudGljIHRhZy4KQEAgLTQwMSw2ICs0MDEsNyBAQCBz ZW1hbnRpYy1hZG9wdC1leHRlcm5hbC1tZW1iZXJzCiAJCSAgICAgIDs7IGdldCBlbWJlZGRlZCB0 eXBlcyB0byBzY2FuIGFuZCBtYWtlIGNvcGllcwogCQkgICAgICA7OyBvZiB0aGVtLgogCQkgICAg ICAobWFwY2FyCisgICAgICAgICAgICAgICAgICAgICAgIDs7IE11c3QgdXNlIGxhbWJkYSBiZWNh dXNlIGBzZW1hbnRpYy10YWctY2xvbmUnIGlzIGEgZGVmc3Vic3QuCiAJCSAgICAgICAobGFtYmRh ICh0b2spIChzZW1hbnRpYy10YWctY2xvbmUgdG9rKSkKIAkJICAgICAgIChzZW1hbnRpYy1maW5k LXRhZ3MtYnktY2xhc3MgJ3R5cGUKIAkJCShzZW1hbnRpYy10YWctdHlwZS1tZW1iZXJzIChjYXIg ZGVjZW50LWxpc3QpKSkpKQpkaWZmIC0tZ2l0IGEvbGlzcC9jZWRldC9zZW1hbnRpYy9zeW1yZWYu ZWwgYi9saXNwL2NlZGV0L3NlbWFudGljL3N5bXJlZi5lbAppbmRleCAxZWJkN2VhMTU0Yi4uOGVm MWJhZjM2NDMgMTAwNjQ0Ci0tLSBhL2xpc3AvY2VkZXQvc2VtYW50aWMvc3ltcmVmLmVsCisrKyBi L2xpc3AvY2VkZXQvc2VtYW50aWMvc3ltcmVmLmVsCkBAIC0zOTgsNyArMzk4LDcgQEAgc2VtYW50 aWMtc3ltcmVmLXJlc3VsdC1nZXQtZmlsZXMKICAgKGlmIChzbG90LWJvdW5kcCByZXN1bHQgJ2hp dC1maWxlcykKICAgICAgIChvcmVmIHJlc3VsdCBoaXQtZmlsZXMpCiAgICAgKGxldCogKChsaW5l cyAgKG9yZWYgcmVzdWx0IGhpdC1saW5lcykpCi0JICAgKGZpbGVzIChtYXBjYXIgKGxhbWJkYSAo YSkgKGNkciBhKSkgbGluZXMpKQorICAgICAgICAgICAoZmlsZXMgKG1hcGNhciAjJ2NkciBsaW5l cykpCiAJICAgKGFucyBuaWwpKQogICAgICAgKHNldHEgYW5zIChsaXN0IChjYXIgZmlsZXMpKQog CSAgICBmaWxlcyAoY2RyIGZpbGVzKSkKZGlmZiAtLWdpdCBhL2xpc3AvY2VkZXQvc2VtYW50aWMv dGV4aS5lbCBiL2xpc3AvY2VkZXQvc2VtYW50aWMvdGV4aS5lbAppbmRleCA0NWUwM2NiOTEwMi4u MWJiMWExY2Q0NzUgMTAwNjQ0Ci0tLSBhL2xpc3AvY2VkZXQvc2VtYW50aWMvdGV4aS5lbAorKysg Yi9saXNwL2NlZGV0L3NlbWFudGljL3RleGkuZWwKQEAgLTM4NSw3ICszODUsNyBAQCBzZW1hbnRp Yy1hbmFseXplLWN1cnJlbnQtY29udGV4dAogICAgICkpCiAKIChkZWZ2YXIgc2VtYW50aWMtdGV4 aS1jb21tYW5kLWNvbXBsZXRpb24tbGlzdAotICAoYXBwZW5kIChtYXBjYXIgKGxhbWJkYSAoYSkg KGNhciBhKSkgdGV4aW5mby1zZWN0aW9uLWxpc3QpCisgIChhcHBlbmQgKG1hcGNhciAjJ2NhciB0 ZXhpbmZvLXNlY3Rpb24tbGlzdCkKIAkgIHRleGluZm8tZW52aXJvbm1lbnRzCiAJICA7OyBJcyB0 aGVyZSBhIGJldHRlciBsaXN0IHNvbWV3aGVyZT8gIEhlcmUgYXJlIGZldwogCSAgOzsgb2YgdGhl IHRvcCBvZiBteSBoZWFkLgpkaWZmIC0tZ2l0IGEvbGlzcC9kZXNjci10ZXh0LmVsIGIvbGlzcC9k ZXNjci10ZXh0LmVsCmluZGV4IDQ4MzRjMmViN2JhLi41YzlkMjViNDhhOCAxMDA2NDQKLS0tIGEv bGlzcC9kZXNjci10ZXh0LmVsCisrKyBiL2xpc3AvZGVzY3ItdGV4dC5lbApAQCAtNDI1LDggKzQy NSw3IEBAIGRlc2NyaWJlLWNoYXIKICAgICAgICAgICAgKGNvbXBvc2l0aW9uLXN0cmluZyBuaWwp CiAgICAgICAgICAgIChkaXNwLXZlY3RvciAoYW5kIGRpc3BsYXktdGFibGUgKGFyZWYgZGlzcGxh eS10YWJsZSBjaGFyKSkpCiAgICAgICAgICAgIChtdWx0aWJ5dGUtcCBlbmFibGUtbXVsdGlieXRl LWNoYXJhY3RlcnMpCi0gICAgICAgICAgIChvdmVybGF5cyAobWFwY2FyIChsYW1iZGEgKG8pIChv dmVybGF5LXByb3BlcnRpZXMgbykpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdmVy bGF5cy1hdCBwb3MpKSkKKyAgICAgICAgICAgKG92ZXJsYXlzIChtYXBjYXIgIydvdmVybGF5LXBy b3BlcnRpZXMgKG92ZXJsYXlzLWF0IHBvcykpKQogICAgICAgICAgICAoY2hhci1kZXNjcmlwdGlv biAoaWYgKDwgY2hhciAxMjgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2lu Z2xlLWtleS1kZXNjcmlwdGlvbiBjaGFyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChzdHJpbmcgKGlmIChub3QgbXVsdGlieXRlLXApCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxp c3AvZWllaW8tZGF0YWRlYnVnLmVsIGIvbGlzcC9lbWFjcy1saXNwL2VpZWlvLWRhdGFkZWJ1Zy5l bAppbmRleCBhODBkMWFlMjcyMC4uYTFkMWU2MGRiMDkgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3Mt bGlzcC9laWVpby1kYXRhZGVidWcuZWwKKysrIGIvbGlzcC9lbWFjcy1saXNwL2VpZWlvLWRhdGFk ZWJ1Zy5lbApAQCAtMTExLDcgKzExMSw3IEBAIGRhdGEtZGVidWcvZWllaW8taW5zZXJ0LXNsb3Rz CiAgICAgICAgICAgICAgICkpKSkpKSkKIAogOzs7IEF1Z21lbnQgdGhlIERhdGEgZGVidWcgdGhp bmcgZGlzcGxheSBsaXN0LgotKGRhdGEtZGVidWctYWRkLXNwZWNpYWxpemVkLXRoaW5nIChsYW1i ZGEgKHRoaW5nKSAoZWllaW8tb2JqZWN0LXAgdGhpbmcpKQorKGRhdGEtZGVidWctYWRkLXNwZWNp YWxpemVkLXRoaW5nICMnZWllaW8tb2JqZWN0LXAKIAkJCQkgICMnZGF0YS1kZWJ1Zy1pbnNlcnQt b2JqZWN0LWJ1dHRvbikKIAogOzs7IERFQlVHIE1FVEhPRFMKZGlmZiAtLWdpdCBhL2xpc3AvZW1h Y3MtbGlzcC9ybWMuZWwgYi9saXNwL2VtYWNzLWxpc3Avcm1jLmVsCmluZGV4IDQ1ZTJiYmYzODMx Li5kNDE1NjFiZDNmZiAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL3JtYy5lbAorKysgYi9s aXNwL2VtYWNzLWxpc3Avcm1jLmVsCkBAIC0xODgsNyArMTg4LDcgQEAgcmVhZC1tdWx0aXBsZS1j aG9pY2UtLXNob3J0LWFuc3dlcnMKICAgICAgICAgICAoZm9ybWF0CiAgICAgICAgICAgICIlcyAo JXMpOiAiCiAgICAgICAgICAgIHByb21wdAotICAgICAgICAgICAobWFwY29uY2F0IChsYW1iZGEg KGUpIChjZHIgZSkpIGFsdGVyZWQtbmFtZXMgIiwgIikpKQorICAgICAgICAgICAobWFwY29uY2F0 ICMnY2RyIGFsdGVyZWQtbmFtZXMgIiwgIikpKQogICAgICAgICAgdGNoYXIgYnVmIHdyb25nLWNo YXIgYW5zd2VyKQogICAgIChzYXZlLXdpbmRvdy1leGN1cnNpb24KICAgICAgIChzYXZlLWV4Y3Vy c2lvbgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZW0tcHJlZC5lbCBiL2xpc3AvZXNoZWxsL2Vt LXByZWQuZWwKaW5kZXggYWU3ZDBjNDNiYzQuLmM4ZmFkOTlhZTJiIDEwMDY0NAotLS0gYS9saXNw L2VzaGVsbC9lbS1wcmVkLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VtLXByZWQuZWwKQEAgLTEyMiw3 ICsxMjIsNyBAQCBlc2hlbGwtbW9kaWZpZXItYWxpc3QKICAgICAoP2UgLiAobGFtYmRhIChsc3Qp IChtYXBjYXIgIydmaWxlLW5hbWUtZXh0ZW5zaW9uIGxzdCkpKQogICAgICg/dCAuIChsYW1iZGEg KGxzdCkgKG1hcGNhciAjJ2ZpbGUtbmFtZS1ub25kaXJlY3RvcnkgbHN0KSkpCiAgICAgKD9xIC4g KGxhbWJkYSAobHN0KSAobWFwY2FyICMnZXNoZWxsLWVzY2FwZS1hcmcgbHN0KSkpCi0gICAgKD91 IC4gKGxhbWJkYSAobHN0KSAoc2VxLXVuaXEgbHN0KSkpCisgICAgKD91IC4gIydzZXEtdW5pcSkK ICAgICAoP28gLiAobGFtYmRhIChsc3QpIChzb3J0IGxzdCAjJ3N0cmluZy1sZXNzcCkpKQogICAg ICg/TyAuIChsYW1iZGEgKGxzdCkgKHNvcnQgbHN0ICMnc3RyaW5nLWdyZWF0ZXJwKSkpCiAgICAg KD9qIC4gKGVzaGVsbC1qb2luLW1lbWJlcnMpKQpkaWZmIC0tZ2l0IGEvbGlzcC9nbnVzL2dudXMt Y2FjaGUuZWwgYi9saXNwL2dudXMvZ251cy1jYWNoZS5lbAppbmRleCAxM2JlMjE2MzBlYy4uMGVj MDdhNTU1MDggMTAwNjQ0Ci0tLSBhL2xpc3AvZ251cy9nbnVzLWNhY2hlLmVsCisrKyBiL2xpc3Av Z251cy9nbnVzLWNhY2hlLmVsCkBAIC01MTYsNyArNTE2LDcgQEAgZ251cy1jYWNoZS1hcnRpY2xl cy1pbi1ncm91cAogCShmaWxlLW5hbWUtY29kaW5nLXN5c3RlbSBubm1haWwtcGF0aG5hbWUtY29k aW5nLXN5c3RlbSkpCiAgICAgKHdoZW4gKGZpbGUtZXhpc3RzLXAgZGlyKQogICAgICAgKHNldHEg YXJ0aWNsZXMKLQkgICAgKHNvcnQgKG1hcGNhciAobGFtYmRhIChuYW1lKSAoc3RyaW5nLXRvLW51 bWJlciBuYW1lKSkKKyAgICAgICAgICAgIChzb3J0IChtYXBjYXIgIydzdHJpbmctdG8tbnVtYmVy CiAJCQkgIChkaXJlY3RvcnktZmlsZXMgZGlyIG5pbCAiXFxgWzAtOV0rXFwnIiB0KSkKIAkJICAj JzwpKQogICAgICAgOzsgVXBkYXRlIHRoZSBjYWNoZSBhY3RpdmUgZmlsZSwganVzdCB0byBzeW5j aCBtb3JlLgpkaWZmIC0tZ2l0IGEvbGlzcC9nbnVzL2dudXMtZGlyZWQuZWwgYi9saXNwL2dudXMv Z251cy1kaXJlZC5lbAppbmRleCBiMTQ2YjUxNDMwYS4uNDJkYTZhNTdjYmIgMTAwNjQ0Ci0tLSBh L2xpc3AvZ251cy9nbnVzLWRpcmVkLmVsCisrKyBiL2xpc3AvZ251cy9nbnVzLWRpcmVkLmVsCkBA IC0xMzAsMTAgKzEzMCw4IEBAIGdudXMtZGlyZWQtYXR0YWNoCiAgICAgOzsgd2FybiBpZiB1c2Vy IHRyaWVzIHRvIGF0dGFjaCB3aXRob3V0IGFueSBmaWxlcyBtYXJrZWQKICAgICAoaWYgKG51bGwg ZmlsZXMtdG8tYXR0YWNoKQogCShlcnJvciAiTm8gZmlsZXMgdG8gYXR0YWNoIikKLSAgICAgIChz ZXRxIGZpbGVzLXN0cgotCSAgICAobWFwY29uY2F0Ci0JICAgICAobGFtYmRhIChmKSAoZmlsZS1u YW1lLW5vbmRpcmVjdG9yeSBmKSkKLQkgICAgIGZpbGVzLXRvLWF0dGFjaCAiLCAiKSkKKyAgICAg IChzZXRxIGZpbGVzLXN0ciAobWFwY29uY2F0ICMnZmlsZS1uYW1lLW5vbmRpcmVjdG9yeQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXMtdG8tYXR0YWNoICIsICIpKQogICAg ICAgKHNldHEgYnVmcyAoZ251cy1kaXJlZC1tYWlsLWJ1ZmZlcnMpKQogCiAgICAgICA7OyBzZXQg dXAgZGVzdGluYXRpb24gbWFpbCBjb21wb3NpdGlvbiBidWZmZXIKZGlmZiAtLWdpdCBhL2xpc3Av aGVscC1tb2RlLmVsIGIvbGlzcC9oZWxwLW1vZGUuZWwKaW5kZXggYjUxMjc2ZDVlMDYuLmEzMWU4 N2NhZDAwIDEwMDY0NAotLS0gYS9saXNwL2hlbHAtbW9kZS5lbAorKysgYi9saXNwL2hlbHAtbW9k ZS5lbApAQCAtMzU5LDcgKzM1OSw3IEBAICdoZWxwLXBhY2thZ2UKIAogKGRlZmluZS1idXR0b24t dHlwZSAnaGVscC1wYWNrYWdlLWRlZgogICA6c3VwZXJ0eXBlICdoZWxwLXhyZWYKLSAgJ2hlbHAt ZnVuY3Rpb24gKGxhbWJkYSAoZmlsZSkgKGRpcmVkIGZpbGUpKQorICAnaGVscC1mdW5jdGlvbiAj J2RpcmVkCiAgICdoZWxwLWVjaG8gKHB1cmVjb3B5ICJtb3VzZS0yLCBSRVQ6IHZpc2l0IHBhY2th Z2UgZGlyZWN0b3J5IikpCiAKIChkZWZpbmUtYnV0dG9uLXR5cGUgJ2hlbHAtdGhlbWUtZGVmCmRp ZmYgLS1naXQgYS9saXNwL2lidWYtZXh0LmVsIGIvbGlzcC9pYnVmLWV4dC5lbAppbmRleCAzNzA2 NWY1ZDQxYS4uZTQyZTdiMjY5OWIgMTAwNjQ0Ci0tLSBhL2xpc3AvaWJ1Zi1leHQuZWwKKysrIGIv bGlzcC9pYnVmLWV4dC5lbApAQCAtMTg3NSw4ICsxODc1LDcgQEAgaWJ1ZmZlci1tYXJrLWJ5LW1v ZGUKIChkZWZ1biBpYnVmZmVyLW1hcmstbW9kaWZpZWQtYnVmZmVycyAoKQogICAiTWFyayBhbGwg bW9kaWZpZWQgYnVmZmVycy4iCiAgIChpbnRlcmFjdGl2ZSkKLSAgKGlidWZmZXItbWFyay1vbi1i dWZmZXIKLSAgIChsYW1iZGEgKGJ1ZikgKGJ1ZmZlci1tb2RpZmllZC1wIGJ1ZikpKSkKKyAgKGli dWZmZXItbWFyay1vbi1idWZmZXIgIydidWZmZXItbW9kaWZpZWQtcCkpCiAKIDs7OyMjI2F1dG9s b2FkCiAoZGVmdW4gaWJ1ZmZlci1tYXJrLXVuc2F2ZWQtYnVmZmVycyAoKQpkaWZmIC0tZ2l0IGEv bGlzcC9pbWFnZS9pbWFnZS1kaXJlZC5lbCBiL2xpc3AvaW1hZ2UvaW1hZ2UtZGlyZWQuZWwKaW5k ZXggODNmMjI4YjJkNTkuLjhlMDgzZmNkNmQ1IDEwMDY0NAotLS0gYS9saXNwL2ltYWdlL2ltYWdl LWRpcmVkLmVsCisrKyBiL2xpc3AvaW1hZ2UvaW1hZ2UtZGlyZWQuZWwKQEAgLTIwNDgsNyArMjA0 OCw3IEBAICdpbWFnZS1kaXJlZC1kaXNwbGF5LXByZXZpb3VzLXRodW1ibmFpbC1vcmlnaW5hbAog OzsgICAgICAgICAgICA7OyBTb3J0IGZ1bmN0aW9uLiAgQ29tcGFyZSB0aW1lIGJldHdlZW4gdHdv IGZpbGVzLgogOzsgICAgICAgICAgICAobGFtYmRhIChsMSBsMikKIDs7ICAgICAgICAgICAgICAg KHRpbWUtbGVzcy1wIChjYXIgbDEpIChjYXIgbDIpKSkpKQotOzsgICAgICAgICAgKGRpcnNpemUg KGFwcGx5ICcrIChtYXBjYXIgKGxhbWJkYSAoeCkgKGNhZHIgeCkpIGZpbGVzKSkpKQorOzsgICAg ICAgICAgKGRpcnNpemUgKGFwcGx5ICcrIChtYXBjYXIgIydjYWRyIGZpbGVzKSkpKQogOzsgICAg ICh3aGlsZSAoPiBkaXJzaXplIGltYWdlLWRpcmVkLWRpci1tYXgtc2l6ZSkKIDs7ICAgICAgICh5 LW9yLW4tcAogOzsgICAgICAgIChmb3JtYXQgIlNpemUgb2YgdGh1bWJuYWlsIGRpcmVjdG9yeTog JWQsIGRlbGV0ZSBvbGQgZmlsZSAlcz8gIgpkaWZmIC0tZ2l0IGEvbGlzcC9pbnRlcm5hdGlvbmFs L3F1YWlsLmVsIGIvbGlzcC9pbnRlcm5hdGlvbmFsL3F1YWlsLmVsCmluZGV4IDg5NDM3OGJkYThi Li5mZjdkZjc3NTBiMyAxMDA2NDQKLS0tIGEvbGlzcC9pbnRlcm5hdGlvbmFsL3F1YWlsLmVsCisr KyBiL2xpc3AvaW50ZXJuYXRpb25hbC9xdWFpbC5lbApAQCAtNzcyLDggKzc3Miw3IEBAIHF1YWls LWtleWJvYXJkLXRyYW5zbGF0ZQogCiAoZGVmdW4gcXVhaWwta2V5c2VxLXRyYW5zbGF0ZSAoa2V5 c2VxKQogICAoYXBwbHkgJ3N0cmluZwotICAgICAgICAgKG1hcGNhciAobGFtYmRhICh4KSAocXVh aWwta2V5Ym9hcmQtdHJhbnNsYXRlIHgpKQotCQkga2V5c2VxKSkpCisgICAgICAgICAobWFwY2Fy ICMncXVhaWwta2V5Ym9hcmQtdHJhbnNsYXRlIGtleXNlcSkpKQogCiAoZGVmdW4gcXVhaWwtaW5z ZXJ0LWtiZC1sYXlvdXQgKGtiZC1sYXlvdXQpCiAgICJJbnNlcnQgdGhlIHZpc3VhbCBrZXlib2Fy ZCBsYXlvdXQgdGFibGUgYWNjb3JkaW5nIHRvIEtCRC1MQVlPVVQuCkBAIC0yMTM5LDkgKzIxMzgs NyBAQCBxdWFpbC1nZXQtdHJhbnNsYXRpb25zCiAJICAoc2V0cSBzdHIKIAkJKGZvcm1hdCAiJXNb JXNdIgogCQkJc3RyCi0gICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0IChzb3J0IChtYXBj YXIgKGxhbWJkYSAoeCkgKGNhciB4KSkKLQkJCQkJICAgICAgKGNkciBtYXApKQotCQkJCSAgICAg ICc8KSkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgKHNvcnQgKG1hcGNhciAj J2NhciAoY2RyIG1hcCkpICMnPCkpKSkpCiAgICAgICA7OyBTaG93IGxpc3Qgb2YgdHJhbnNsYXRp b25zLgogICAgICAgKGlmIChhbmQgcXVhaWwtY3VycmVudC10cmFuc2xhdGlvbnMKIAkgICAgICAg KG5vdCAocXVhaWwtZGV0ZXJtaW5pc3RpYykpKQpkaWZmIC0tZ2l0IGEvbGlzcC9pc2VhcmNoLmVs IGIvbGlzcC9pc2VhcmNoLmVsCmluZGV4IDRkMjMxZmJhNDY5Li5mMDQ5ODMyYjY0OCAxMDA2NDQK LS0tIGEvbGlzcC9pc2VhcmNoLmVsCisrKyBiL2xpc3AvaXNlYXJjaC5lbApAQCAtMzIyNiw3ICsz MjI2LDcgQEAgaXNlYXJjaC1wcmUtY29tbWFuZC1ob29rCiAgICAgICAoc2V0cSBpc2VhcmNoLXBy ZS1tb3ZlLXBvaW50IChwb2ludCkpKQogICAgICA7OyBBcHBlbmQgY29udHJvbCBjaGFyYWN0ZXJz IHRvIHRoZSBzZWFyY2ggc3RyaW5nCiAgICAgICgoZXEgc2VhcmNoLWV4aXQtb3B0aW9uICdhcHBl bmQpCi0gICAgICAodW5sZXNzIChtZW1xIG5pbCAobWFwY2FyIChsYW1iZGEgKGspIChjaGFyYWN0 ZXJwIGspKSBrZXkpKQorICAgICAgKHVubGVzcyAobWVtcSBuaWwgKG1hcGNhciAjJ2NoYXJhY3Rl cnAga2V5KSkKICAgICAgICAgKGlzZWFyY2gtcHJvY2Vzcy1zZWFyY2gtc3RyaW5nIGtleSBrZXkp KQogICAgICAgKHNldHEgdGhpcy1jb21tYW5kICdpZ25vcmUpKQogICAgICA7OyBPdGhlciBjaGFy YWN0ZXJzIHRlcm1pbmF0ZSB0aGUgc2VhcmNoIGFuZCBhcmUgdGhlbiBleGVjdXRlZCBub3JtYWxs eS4KQEAgLTQ2NDEsOCArNDY0MSw3IEBAIHNlYXJjaC13aXRoaW4tYm91bmRhcmllcwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2gtZGF0YSkpKSkpCiAgICAg ICAgICAgICAod2hlbiBmb3VuZCAoZ290by1jaGFyIGZvdW5kKSkKICAgICAgICAgICAgICh3aGVu IG1hdGNoLWRhdGEgKHNldC1tYXRjaC1kYXRhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobWFwY2FyIChsYW1iZGEgKG0pIChjb3B5LW1hcmtlciBtKSkKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWF0Y2gtZGF0YSkpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChtYXBjYXIgIydjb3B5LW1hcmtlciBtYXRjaC1kYXRhKSkpKQogICAgICAgICAo c2V0cSBmb3VuZCAoZnVuY2FsbAogICAgICAgICAgICAgICAgICAgICAgKG9yIHNlYXJjaC1mdW4g KGlzZWFyY2gtc2VhcmNoLWZ1bi1kZWZhdWx0KSkKICAgICAgICAgICAgICAgICAgICAgIHN0cmlu ZyAoaWYgYm91bmQgKGlmIGlzZWFyY2gtZm9yd2FyZApkaWZmIC0tZ2l0IGEvbGlzcC9tYWlsL3N1 cGVyY2l0ZS5lbCBiL2xpc3AvbWFpbC9zdXBlcmNpdGUuZWwKaW5kZXggOGQ5Y2I1NTExZWQuLmRm YWUxMjNkN2ExIDEwMDY0NAotLS0gYS9saXNwL21haWwvc3VwZXJjaXRlLmVsCisrKyBiL2xpc3Av bWFpbC9zdXBlcmNpdGUuZWwKQEAgLTU5Niw3ICs1OTYsNyBAQCBzYy1hc2sKIE5vdGUgdGhhdCBX T1JEIGlzIGEgc3RyaW5nIGFuZCBMRVRURVIgaXMgYSBjaGFyYWN0ZXIuICBBbGwgTEVUVEVScyBp bgogdGhlIGxpc3Qgc2hvdWxkIGJlIHVuaXF1ZS4iCiAgIChsZXQqICgocHJvbXB0IChjb25jYXQK LQkJICAobWFwY29uY2F0IChsYW1iZGEgKGVsdCkgKGNhciBlbHQpKSBhbGlzdCAiLCAiKQorICAg ICAgICAgICAgICAgICAgKG1hcGNvbmNhdCAjJ2NhciBhbGlzdCAiLCAiKQogCQkgICI/ICgiCiAJ CSAgKG1hcGNvbmNhdAogCQkgICAobGFtYmRhIChlbHQpIChjaGFyLXRvLXN0cmluZyAoY2RyIGVs dCkpKSBhbGlzdCAiLyIpCmRpZmYgLS1naXQgYS9saXNwL21oLWUvbWgtZS5lbCBiL2xpc3AvbWgt ZS9taC1lLmVsCmluZGV4IDM0YzgwOWE1ZWNkLi5hMjFlZTNlMGNjZiAxMDA2NDQKLS0tIGEvbGlz cC9taC1lL21oLWUuZWwKKysrIGIvbGlzcC9taC1lL21oLWUuZWwKQEAgLTg3OCw3ICs4NzgsNyBA QCBtaC12YXJpYW50LXNldAogICAgIChzaXQtZm9yIDUpCiAgICAgKHNldHEgdmFyaWFudCAoY29u Y2F0ICJnbnUtbWgiIChzdWJzdHJpbmcgdmFyaWFudCAobWF0Y2gtZW5kIDApKSkpKQogCi0gIChs ZXQgKCh2YWxpZC1saXN0IChtYXBjYXIgKGxhbWJkYSAoeCkgKGNhciB4KSkgKG1oLXZhcmlhbnRz KSkpKQorICAobGV0ICgodmFsaWQtbGlzdCAobWFwY2FyICMnY2FyIChtaC12YXJpYW50cykpKSkK ICAgICAoY29uZAogICAgICAoKGVxIHZhcmlhbnQgJ25vbmUpKQogICAgICAoKGVxIHZhcmlhbnQg J2F1dG9kZXRlY3QpCmRpZmYgLS1naXQgYS9saXNwL25ldC9yY2lyYy5lbCBiL2xpc3AvbmV0L3Jj aXJjLmVsCmluZGV4IGVjZmViOWY4Zjg0Li44NzI4ZTc2MWFjOCAxMDA2NDQKLS0tIGEvbGlzcC9u ZXQvcmNpcmMuZWwKKysrIGIvbGlzcC9uZXQvcmNpcmMuZWwKQEAgLTIyNjgsOCArMjI2OCw3IEBA IHJjaXJjLW5pY2stY2hhbm5lbHMKICAgIlJldHVybiBsaXN0IG9mIGNoYW5uZWxzIGZvciBOSUNL LgogUFJPQ0VTUyBpcyB0aGUgcHJvY2VzcyBvYmplY3QgZm9yIHRoZSBjdXJyZW50IGNvbm5lY3Rp b24uIgogICAod2l0aC1yY2lyYy1wcm9jZXNzLWJ1ZmZlciBwcm9jZXNzCi0gICAgKG1hcGNhciAo bGFtYmRhICh4KSAoY2FyIHgpKQotICAgICAgICAgICAgKGdldGhhc2ggbmljayByY2lyYy1uaWNr LXRhYmxlKSkpKQorICAgIChtYXBjYXIgIydjYXIgKGdldGhhc2ggbmljayByY2lyYy1uaWNrLXRh YmxlKSkpKQogCiAoZGVmdW4gcmNpcmMtcHV0LW5pY2stY2hhbm5lbCAocHJvY2VzcyBuaWNrIGNo YW5uZWwgJm9wdGlvbmFsIGxpbmUpCiAgICJBZGQgQ0hBTk5FTCB0byBsaXN0IGFzc29jaWF0ZWQg d2l0aCBOSUNLLgpAQCAtMjMyMyw3ICsyMzIyLDcgQEAgcmNpcmMtY2hhbm5lbC1uaWNrcwogICAg ICAgICAgICAgICAgICAgIChpZiByZWNvcmQKICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEg bmlja3MgKGNvbnMgKGNvbnMgayAoY2RyIHJlY29yZCkpIG5pY2tzKSkpKSkKICAgICAgICAgICAg ICAgIHJjaXJjLW5pY2stdGFibGUpCi0gICAgICAgICAgICAgIChtYXBjYXIgKGxhbWJkYSAoeCkg KGNhciB4KSkKKyAgICAgICAgICAgICAgKG1hcGNhciAjJ2NhcgogICAgICAgICAgICAgICAgICAg ICAgIChzb3J0IChuY29uYyBwc2V1ZG8tbmlja3Mgbmlja3MpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGxhbWJkYSAoeCB5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxl dCAoKGx4IChvciAoY2RyIHgpIDApKQpAQCAtMjk4Myw4ICsyOTgyLDggQEAgcmNpcmMtYnJvd3Nl LXVybAogICAgICAgICAgKGZpbHRlcmVkIChzZXEtZmlsdGVyCiAgICAgICAgICAgICAgICAgICAg IChsYW1iZGEgKHgpICg+PSBwb2ludCAoY2RyIHgpKSkKICAgICAgICAgICAgICAgICAgICAgcmNp cmMtdXJscykpCi0gICAgICAgICAoY29tcGxldGlvbnMgKG1hcGNhciAobGFtYmRhICh4KSAoY2Fy IHgpKSBmaWx0ZXJlZCkpCi0gICAgICAgICAoZGVmYXVsdHMgKG1hcGNhciAobGFtYmRhICh4KSAo Y2FyIHgpKSBmaWx0ZXJlZCkpKQorICAgICAgICAgKGNvbXBsZXRpb25zIChtYXBjYXIgIydjYXIg ZmlsdGVyZWQpKQorICAgICAgICAgKGRlZmF1bHRzIChtYXBjYXIgIydjYXIgZmlsdGVyZWQpKSkK ICAgICAoYnJvd3NlLXVybCAoY29tcGxldGluZy1yZWFkICJSY2lyYyBicm93c2UtdXJsOiAiCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9ucyBuaWwgbmlsIChjYXIg ZGVmYXVsdHMpIG5pbCBkZWZhdWx0cykKICAgICAgICAgICAgICAgICBhcmcpKSkKZGlmZiAtLWdp dCBhL2xpc3Avb2Jzb2xldGUvdGh1bWJzLmVsIGIvbGlzcC9vYnNvbGV0ZS90aHVtYnMuZWwKaW5k ZXggZGRmNzM0ZjIyZWEuLmMwYzc4MDc5YThkIDEwMDY0NAotLS0gYS9saXNwL29ic29sZXRlL3Ro dW1icy5lbAorKysgYi9saXNwL29ic29sZXRlL3RodW1icy5lbApAQCAtMjA0LDcgKzIwNCw3IEBA IHRodW1icy1jbGVhbnVwLXRodW1ic2RpcgogCQkgICAgLGYpKSkKIAkgICAgICAoZGlyZWN0b3J5 LWZpbGVzICh0aHVtYnMtdGh1bWJzZGlyKSB0IChpbWFnZS1maWxlLW5hbWUtcmVnZXhwKSkpCiAJ ICAgICAobGFtYmRhIChsMSBsMikgKHRpbWUtbGVzcy1wIChjYXIgbDEpIChjYXIgbDIpKSkpKQot ICAgICAgICAgICAoZGlyc2l6ZSAoYXBwbHkgIycrIChtYXBjYXIgKGxhbWJkYSAoeCkgKGNhZHIg eCkpIGZpbGVzLWxpc3QpKSkpCisgICAgICAgICAgIChkaXJzaXplIChhcHBseSAjJysgKG1hcGNh ciAjJ2NhZHIgZmlsZXMtbGlzdCkpKSkKICAgICAgICh3aGlsZSAoPiBkaXJzaXplIHRodW1icy10 aHVtYnNkaXItbWF4LXNpemUpCiAgICAgICAgIChwcm9nbgogCSAgKG1lc3NhZ2UgIkRlbGV0aW5n IGZpbGUgJXMiIChjYWRyIChjZGFyIGZpbGVzLWxpc3QpKSkpCmRpZmYgLS1naXQgYS9saXNwL29y Zy9vcmctYWdlbmRhLmVsIGIvbGlzcC9vcmcvb3JnLWFnZW5kYS5lbAppbmRleCAzOGU4MWQ5ZDcx My4uMWE2ZTc5NzQ0ODAgMTAwNjQ0Ci0tLSBhL2xpc3Avb3JnL29yZy1hZ2VuZGEuZWwKKysrIGIv bGlzcC9vcmcvb3JnLWFnZW5kYS5lbApAQCAtODQ0OCw3ICs4NDQ4LDcgQEAgb3JnLWFnZW5kYS1m aWx0ZXItY29tcGxldGlvbi1mdW5jdGlvbgogZnVuY3Rpb24gaXMgcGFzc2VkIGFzIGEgY29sbGVj dGlvbiBmdW5jdGlvbiB0byBgY29tcGxldGluZy1yZWFkJywKIHdoaWNoIHNlZS4iCiAgIChsZXQg KChjb21wbGV0aW9uLWlnbm9yZS1jYXNlIHQpCTt0YWdzIGFyZSBjYXNlLXNlbnNpdGl2ZQotCShj b25maXJtIChsYW1iZGEgKHgpIChzdHJpbmdwIHgpKSkKKyAgICAgICAgKGNvbmZpcm0gIydzdHJp bmdwKQogCShwcmVmaXggIiIpCiAJKG9wZXJhdG9yICIiKQogCXRhYmxlKQpkaWZmIC0tZ2l0IGEv bGlzcC9vcmcvb3JnLXRhYmxlLmVsIGIvbGlzcC9vcmcvb3JnLXRhYmxlLmVsCmluZGV4IGFhODE5 YWE3ZDJmLi5jMTk2YWFmYTZhZSAxMDA2NDQKLS0tIGEvbGlzcC9vcmcvb3JnLXRhYmxlLmVsCisr KyBiL2xpc3Avb3JnL29yZy10YWJsZS5lbApAQCAtMjUxOSw4ICsyNTE5LDcgQEAgb3JnLXRhYmxl LWV2YWwtZm9ybXVsYQogCTs7IHJlcGxhY2UgZmllbGRzIHdpdGggZHVyYXRpb24gdmFsdWVzIGlm IHJlbGV2YW50CiAJKGlmIGR1cmF0aW9uCiAJICAgIChzZXRxIGZpZWxkcwotCQkgIChtYXBjYXIg KGxhbWJkYSAoeCkgKG9yZy10YWJsZS10aW1lLXN0cmluZy10by1zZWNvbmRzIHgpKQotCQkJICBm aWVsZHMpKSkKKyAgICAgICAgICAgICAgICAgIChtYXBjYXIgIydvcmctdGFibGUtdGltZS1zdHJp bmctdG8tc2Vjb25kcyBmaWVsZHMpKSkKIAkoaWYgKGVxIG51bWJlcnMgdCkKIAkgICAgKHNldHEg ZmllbGRzIChtYXBjYXIKIAkJCSAgKGxhbWJkYSAoeCkKZGlmZiAtLWdpdCBhL2xpc3Avb3JnL29y Zy5lbCBiL2xpc3Avb3JnL29yZy5lbAppbmRleCA4YjAyNzIxYTg1OS4uZGI4ZjA1MmY4MGEgMTAw NjQ0Ci0tLSBhL2xpc3Avb3JnL29yZy5lbAorKysgYi9saXNwL29yZy9vcmcuZWwKQEAgLTQxNzEs NyArNDE3MSw3IEBAIG9yZy1zZXQtcmVnZXhwcy1hbmQtb3B0aW9ucwogCQkgICcoIkFSQ0hJVkUi ICJDQVRFR09SWSIgIkNPTFVNTlMiICJQUklPUklUSUVTIikpKSkKICAgICAgIDs7IFN0YXJ0dXAg b3B0aW9ucy4gIEdldCB0aGlzIGVhcmx5IHNpbmNlIGl0IGRvZXMgY2hhbmdlCiAgICAgICA7OyBi ZWhhdmlvciBmb3Igb3RoZXIgb3B0aW9ucyAoZS5nLiwgdGFncykuCi0gICAgICAobGV0ICgoc3Rh cnR1cCAoY2wtbWFwY2FuIChsYW1iZGEgKHZhbHVlKSAoc3BsaXQtc3RyaW5nIHZhbHVlKSkKKyAg ICAgIChsZXQgKChzdGFydHVwIChjbC1tYXBjYW4gIydzcGxpdC1zdHJpbmcKIAkJCQkoY2RyIChh c3NvYyAiU1RBUlRVUCIgYWxpc3QpKSkpKQogCShkb2xpc3QgKG9wdGlvbiBzdGFydHVwKQogCSAg KHBjYXNlIChhc3NvYy1zdHJpbmcgb3B0aW9uIG9yZy1zdGFydHVwLW9wdGlvbnMgdCkKZGlmZiAt LWdpdCBhL2xpc3Avb3JnL294LmVsIGIvbGlzcC9vcmcvb3guZWwKaW5kZXggOTRjYzVhMjI4ODEu Ljk0YzNmMDY4ZTNiIDEwMDY0NAotLS0gYS9saXNwL29yZy9veC5lbAorKysgYi9saXNwL29yZy9v eC5lbApAQCAtMTUzNiw3ICsxNTM2LDcgQEAgb3JnLWV4cG9ydC0tZ2V0LWluYnVmZmVyLW9wdGlv bnMKIAkJICAgICAgKG5ld2xpbmUKIAkJICAgICAgIChtYXBjb25jYXQgIydpZGVudGl0eSB2YWx1 ZXMgIlxuIikpCiAJCSAgICAgIChzcGxpdAotCQkgICAgICAgKGNsLW1hcGNhbiAobGFtYmRhICh2 KSAoc3BsaXQtc3RyaW5nIHYpKSB2YWx1ZXMpKQorICAgICAgICAgICAgICAgICAgICAgICAoY2wt bWFwY2FuICMnc3BsaXQtc3RyaW5nIHZhbHVlcykpCiAJCSAgICAgICgodCkKIAkJICAgICAgIChv cmctbGFzdCB2YWx1ZXMpKQogCQkgICAgICAob3RoZXJ3aXNlCmRpZmYgLS1naXQgYS9saXNwL3Nl cy5lbCBiL2xpc3Avc2VzLmVsCmluZGV4IDMwYmYzM2U0N2JmLi5kMGIwYmRkMDRlNiAxMDA2NDQK LS0tIGEvbGlzcC9zZXMuZWwKKysrIGIvbGlzcC9zZXMuZWwKQEAgLTM5OTgsNyArMzk5OCw3IEBA IHNlcy1yYW5nZQogICAgICh1bmxlc3MgcmVvcmllbnQteAogICAgICAgKHNldHEgcmVzdWx0ICht YXBjYXIgIyducmV2ZXJzZSByZXN1bHQpKSkKICAgICAod2hlbiB0cmFuc3Bvc2UKLSAgICAgIChs ZXQgKChyZXQgKG1hcGNhciAobGFtYmRhICh4KSAobGlzdCB4KSkgKHBvcCByZXN1bHQpKSkgaXRl cikKKyAgICAgIChsZXQgKChyZXQgKG1hcGNhciAjJ2xpc3QgKHBvcCByZXN1bHQpKSkgaXRlcikK IAkod2hpbGUgcmVzdWx0CiAJICAoc2V0cSBpdGVyIHJldCkKIAkgIChkb2xpc3QgKGVsdCAocG9w IHJlc3VsdCkpCmRpZmYgLS1naXQgYS9saXNwL3RleHRtb2Rlcy9lbWFjcy1uZXdzLW1vZGUuZWwg Yi9saXNwL3RleHRtb2Rlcy9lbWFjcy1uZXdzLW1vZGUuZWwKaW5kZXggNzczYjA3NzY0YWEuLmZl YzAzNTY1YWUxIDEwMDY0NAotLS0gYS9saXNwL3RleHRtb2Rlcy9lbWFjcy1uZXdzLW1vZGUuZWwK KysrIGIvbGlzcC90ZXh0bW9kZXMvZW1hY3MtbmV3cy1tb2RlLmVsCkBAIC0yNDYsNyArMjQ2LDcg QEAgZW1hY3MtbmV3cy0tYnV0dG9uaXplCiAgICAgICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndh cmQgIlwiXFwoKFthLXowLTktXSspWyBcbl1bXlwiXVxcezEsODBcXH1cXClcIiIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBuaWwgdCkKICAgICAgICAgICAoYnV0dG9uaXplLXJl Z2lvbiAobWF0Y2gtYmVnaW5uaW5nIDEpIChtYXRjaC1lbmQgMSkKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAobGFtYmRhIChub2RlKSAoaW5mbyBub2RlKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjJ2luZm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2gtc3Ry aW5nIDEpKSkpKSkpCiAKIChkZWZ1biBlbWFjcy1uZXdzLS1zZWN0aW9ucyAocmVnZXhwKQpkaWZm IC0tZ2l0IGEvbGlzcC90ZXh0bW9kZXMvaXNwZWxsLmVsIGIvbGlzcC90ZXh0bW9kZXMvaXNwZWxs LmVsCmluZGV4IDliZDExMzVjNWJlLi4zZmEzMGViZjEzMyAxMDA2NDQKLS0tIGEvbGlzcC90ZXh0 bW9kZXMvaXNwZWxsLmVsCisrKyBiL2xpc3AvdGV4dG1vZGVzL2lzcGVsbC5lbApAQCAtMzI4Miw5 ICszMjgyLDcgQEAgaXNwZWxsLWJlZ2luLXRleC1za2lwLXJlZ2V4cAogR2VuZXJhdGVkIGZyb20g YGlzcGVsbC10ZXgtc2tpcC1hbGlzdHMnLiIKICAgKGNvbmNhdAogICAgOzsgcmF3IHRleCBrZXlz Ci0gICAobWFwY29uY2F0IChsYW1iZGEgKGxzdCkgKGNhciBsc3QpKQotCSAgICAgIChjYXIgaXNw ZWxsLXRleC1za2lwLWFsaXN0cykKLQkgICAgICAiXFx8IikKKyAgIChtYXBjb25jYXQgIydjYXIg KGNhciBpc3BlbGwtdGV4LXNraXAtYWxpc3RzKSAiXFx8IikKICAgICJcXHwiCiAgICA7OyBrZXlz IHdyYXBwZWQgaW4gYmVnaW57fQogICAgKG1hcGNvbmNhdCAobGFtYmRhIChsc3QpCmRpZmYgLS1n aXQgYS9saXNwL3ZjL3ZjLWN2cy5lbCBiL2xpc3AvdmMvdmMtY3ZzLmVsCmluZGV4IDE0NTY5N2Qx YjA2Li40MjNjNTk4MDM3ZCAxMDA2NDQKLS0tIGEvbGlzcC92Yy92Yy1jdnMuZWwKKysrIGIvbGlz cC92Yy92Yy1jdnMuZWwKQEAgLTc5MCw3ICs3OTAsNyBAQCB2Yy1jdnMtc3RheS1sb2NhbC1wCiBJ ZiBGSUxFIGlzIGEgbGlzdCBvZiBmaWxlcywgcmV0dXJuIG5vbi1uaWwgaWYgYW55IG9mIHRoZW0K IGluZGl2aWR1YWxseSBzaG91bGQgc3RheSBsb2NhbC4iCiAgIChpZiAobGlzdHAgZmlsZSkKLSAg ICAgIChkZWxxIG5pbCAobWFwY2FyIChsYW1iZGEgKGFyZykgKHZjLWN2cy1zdGF5LWxvY2FsLXAg YXJnKSkgZmlsZSkpCisgICAgICAoZGVscSBuaWwgKG1hcGNhciAjJ3ZjLWN2cy1zdGF5LWxvY2Fs LXAgZmlsZSkpCiAgICAgKGxldCAoKHN0YXktbG9jYWwgdmMtY3ZzLXN0YXktbG9jYWwpKQogICAg ICAgKGlmIChzeW1ib2xwIHN0YXktbG9jYWwpIHN0YXktbG9jYWwKICAgICAgICAobGV0ICgoZGly bmFtZSAoaWYgKGZpbGUtZGlyZWN0b3J5LXAgZmlsZSkKZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93 LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggMDZkNWNmYzAwNzcuLjc4ZjQxMDU4NjU5IDEwMDY0 NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysgYi9saXNwL3dpbmRvdy5lbApAQCAtNjA5OSw4ICs2 MDk5LDcgQEAgd2luZG93LS1zdGF0ZS1nZXQtMQogICAgICAgICAgICAgLEAod2hlbiBuZXh0LWJ1 ZmZlcnMKICAgICAgICAgICAgICAgICBgKChuZXh0LWJ1ZmZlcnMKICAgICAgICAgICAgICAgICAg ICAuICwoaWYgd3JpdGFibGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNhciAobGFt YmRhIChidWZmZXIpIChidWZmZXItbmFtZSBidWZmZXIpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG5leHQtYnVmZmVycykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKG1h cGNhciAjJ2J1ZmZlci1uYW1lIG5leHQtYnVmZmVycykKICAgICAgICAgICAgICAgICAgICAgICAg IG5leHQtYnVmZmVycykpKSkKICAgICAgICAgICAgICxAKHdoZW4gcHJldi1idWZmZXJzCiAgICAg ICAgICAgICAgICAgYCgocHJldi1idWZmZXJzCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZW1hY3Mt bGlzcC9zaG9ydGRvYy10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL3Nob3J0ZG9jLXRl c3RzLmVsCmluZGV4IDU5NmI0N2QyNTQzLi41NzA2ZTIzZTA0NiAxMDA2NDQKLS0tIGEvdGVzdC9s aXNwL2VtYWNzLWxpc3Avc2hvcnRkb2MtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxp c3Avc2hvcnRkb2MtdGVzdHMuZWwKQEAgLTU2LDcgKzU2LDcgQEAgc2hvcnRkb2MtYWxsLWZ1bmN0 aW9ucy1mYm91bmRwCiAKIChlcnQtZGVmdGVzdCBzaG9ydGRvYy1hbGwtZ3JvdXBzLXdvcmsgKCkK ICAgIlRlc3QgdGhhdCBhbGwgZGVmaW5lZCBzaG9ydGRvYyBncm91cHMgZGlzcGxheSBjb3JyZWN0 bHkuIgotICAoZG9saXN0IChncm91cCAobWFwY2FyIChsYW1iZGEgKHgpIChjYXIgeCkpIHNob3J0 ZG9jLS1ncm91cHMpKQorICAoZG9saXN0IChncm91cCAobWFwY2FyICMnY2FyIHNob3J0ZG9jLS1n cm91cHMpKQogICAgIChsZXQgKChidWYtbmFtZSAoZm9ybWF0ICIqU2hvcnRkb2MgJXMqIiBncm91 cCkpIGJ1ZikKICAgICAgICh1bndpbmQtcHJvdGVjdAogICAgICAgICAgIChwcm9nbgotLSAKMi40 Mi4wCgo= --00000000000052838b0608da8976--