Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w0xtn-002Mxh-0M for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 08:29:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w0xtl-002UYR-0t for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 08:29:33 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w0xtk-002UYH-2Y for pgsql-hackers@lists.postgresql.org; Fri, 13 Mar 2026 08:29:33 +0000 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w0xti-00000002Qp2-04zz for pgsql-hackers@lists.postgresql.org; Fri, 13 Mar 2026 08:29:32 +0000 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-439b9b190easo1363924f8f.2 for ; Fri, 13 Mar 2026 01:29:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1773390569; x=1773995369; darn=lists.postgresql.org; h=in-reply-to:references:from:to:subject:cc:message-id:date :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qmE/MxkNhyv4awOvDJ28RMAH5PNOnG1txsJwTDrSGGo=; b=YUIpszFUxEOaY8gD9u9lzvFPiDL3EHdKBdcdV3zw7OMjb17dtHDTJ9d8iDsD1mMts1 twcF+1ur4329QE/IWzfM9jff08HwNo3ZqxAc3R7BF/YCUx43W4w6uK9iaIMfMzUWQawr LgtCGcGJWQv5EljsvbvuFs5NyGWXXVbrOrTH49JYrJPhi59zzg9EH3IYBwwA8nfE4YQY d66C7pvu8Xh2GjxPR48nSMie+TzfkO4VVyTK+Re5tZRJnYidi000WqFs/HUW60Fotvtj XhZoym72qKp9ypDRTjJeed6Tb59pFdmkqCsUNQk37XP4ahqjg2oFTZmWWOfJtTErkkVl GERA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773390569; x=1773995369; h=in-reply-to:references:from:to:subject:cc:message-id:date :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qmE/MxkNhyv4awOvDJ28RMAH5PNOnG1txsJwTDrSGGo=; b=FZDrzqqAT75Gwhxuv36P0e0tP8+1ZClQrKbEa9O8limOaxxrxooXenVeJHXAdSI845 swXIV0scoLHU8EG1SKc1GS4nIVlZJbZ87NMfPGEGHBPzycBQJO/KgZDaWCP0nOCT8UX7 +JCEzqfKrVUpArkSIJxNM7k0qy02dGlROT5j+gWaTHGhVR+C7WYm3Vq1VVQh7HYpunTk v894JdxrfbLR7OirFSegakAWKRhpg69mmTPuyzH2f1NYE5NrmiIZEw/tkxlIr+9zTXEh JwFn/rj5aTUwW6zVOtqUX4NLSXW6c47DXz1YeJUkfDinLhZ4tuwE6iR5Tk0htzPDS/fQ 6VwQ== X-Gm-Message-State: AOJu0Yye4EtpteWvWThKAk6SDORi308vrQluH1zLKkZfsBt9dYqhLlJ/ AyOfzXQRwzk3cOETi+T/SM1Y2apWiW+/0sBxOA98I2/otr/ARVm8uzgxNKxV19/c840= X-Gm-Gg: ATEYQzz3kbzdQGnY52YgXNUeiP64Q0jzyiqTQriLYEZIKHcfRV1C+hS6AroaXBX1ekw 6pm0OxMppHQ6K1Vbx+6Xh9f7Sa1XKve0Y9W9spAc4R5R/8Pr4W7XL4HK9epBpV29G56mfTI57uj 5zPCeAbL09UnRPEaK2AAy53wQZzljvDvYiAu0yxAigeUI08q3EsoaCUT0YPqw7hyT2XuK17MOK1 nUcirbOaGE+bFfFEcTKRB7P9WaNy+LD8RDtoTcqxLXYhSfMoRILHuzi1v9u7Ms052II98GNKdLY 07yHonQmAqnsJ6/6CPxKSGVy63HD3Vgf93g+tBngk25N0hnuZ1Tz0ZiVPRCz0e9DqL59VmBHxEP nVA4PFPl/LmOi7LyQ98R1IGoFlHNGKWOy/QpxgpwPwKliAc0ZvmV34QjsCA2vBdrUZomihk35lN L2DXpW3Oh/Xu3TlawbGZtHCCfP065vIPhUVQzHXThe63y8eGU4 X-Received: by 2002:a05:6000:40c8:b0:439:abcd:b2fa with SMTP id ffacd0b85a97d-43a04da7c42mr4731341f8f.38.1773390568260; Fri, 13 Mar 2026 01:29:28 -0700 (PDT) Received: from localhost (145-53-221-196.fixed.kpn.net. [145.53.221.196]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe19acc6sm15801191f8f.8.2026.03.13.01.29.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 13 Mar 2026 01:29:27 -0700 (PDT) Content-Type: multipart/mixed; boundary=cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Mime-Version: 1.0 Date: Fri, 13 Mar 2026 09:29:26 +0100 Message-Id: Cc: "PostgreSQL Hackers" , "Daniel Gustafsson" Subject: Re: Add "format" target to make and ninja to run pgindent and pgperltidy To: "Peter Eisentraut" , "Andrew Dunstan" , "Tom Lane" , "Ashutosh Bapat" From: "Jelte Fennema-Nio" X-Mailer: aerc 0.20.1-31-gf6db7c329ce0 References: <3913298.1767194804@sss.pgh.pa.us> <5611b8aa-8496-4632-92b4-e096654850d1@dunslane.net> In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Content-Type: multipart/alternative; boundary=09e1fb6144354e72612cfd7a090d569a5b10632bcc90ffd83c76626b4e1d --09e1fb6144354e72612cfd7a090d569a5b10632bcc90ffd83c76626b4e1d Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Thu Mar 12, 2026 at 10:10 AM CET, Peter Eisentraut wrote: > Apparently, this is still work in progress, but here are some comments=20 > from me. Thanks for the review. I went over the code in detail now myself, and haven't found anything hugehely weird (although I did a bit of cleanup and additional comments). As said before I'm definetly not a Perl expert though, so I might have missed some wrong details. But all the logic at lea= st seems sound. I also reorderd the commits to have the perltidy integration as the last ones, and the general pgindent QoL imorovements first. > I'm very interested in the patch "pgindent: Clean up temp files on=20 > SIGINT", because this is an annoying problem. But I didn't find any=20 > documentation about why this is the correct solution. I didn't find=20 > anything on the File::Temp man page, for example. Do you have more detai= ls? I explained this black magic better now, and also did the same for SIGTERM. I also added a second commit which cleans up the .BAK files that pg_bsd_indent creates. Feel free to combine those commits if you think that's better. > The patch "pgindent: Use git ls-files to discover files" is also=20 > interested and pretty straightforward. I guess we don't really care=20 > about being able to run this in non-git trees? I don't think we care. This is a tool for Postgres developers, and I think we can assume all of those are using git to work on Postgres. > The other stuff I don't think I'm really on board with. In particular,= =20 > I don't like integrating pgperltidy into pgindent. These things are in= =20 > practice run at different times and the underlying tools update=20 > differently and require different management, so integrating them all=20 > might lead to various annoyances. So, to be clear. My goal is to get to a point where they ARE run at the same time, because their goal is the same, just for different filetypes. Afaict the primary reason that pg_bsd_indent is run on every commit, but perltidy is not, is that the later is currently much more annoying to run. Integrating it into pgindent is my attempt at making that barier much lower, so that we can make it part of the standard workflow. > I kind of liked the original idea of a "make format", and then you could= =20 > have subtargets like "make format-c" and "make format-perl" if you don't= =20 > have all the tools. I liked it too initially, but I then realized that means you lose all the nice flags that pgindent provides, e.g. --commit=3D@ or --check. Ofcourse you could add a FORMATARGS variable, but at that point why not just have people run pgindent directly? Also, perltidy is very slow to run. Running it on the whole codebase takes about a minute for me. So the new parallel and git ls-files support in pgindent are really helpful to have it finish in a reasonable time. > The parallel pgindent is pretty nice, but I wonder how "use POSIX" works= =20 > on Windows? Removed the POSIX thing. That wasn't needed. I'm wondering how many people use pginden ton Windows though. > (But in practice I mostly use pgindent --commit=3D@, which is still much= =20 > faster.) (--commit=3D@ should also get faster with the parallelization, because now it can run of the files from the commit in parallel) --09e1fb6144354e72612cfd7a090d569a5b10632bcc90ffd83c76626b4e1d-- --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0001-pgindent-Clean-up-temp-files-created-by-File-Temp.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0001-pgindent-Clean-up-temp-files-created-by-File-Temp.patch RnJvbSA4ODYyZWM0YmU0MTM5ZjZkN2U4NDkzMmIzNDM1YTRlYTU5NDAwMzdkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBXZWQsIDQgTWFyIDIwMjYgMTA6MDI6MzkgKzAxMDAKU3ViamVjdDogW1BBVENIIHYz IDEvOF0gcGdpbmRlbnQ6IENsZWFuIHVwIHRlbXAgZmlsZXMgY3JlYXRlZCBieSBGaWxlOjpUZW1w IG9uCiBTSUdJTlQKCldoZW4gcHJlc3NpbmcgQ3RybCtDIHdoaWxlIHJ1bm5pbmcgcGdpbmRlbnQs IGl0IHdvdWxkIG9mdGVuIGxlYXZlIGFyb3VuZApmaWxlcyBsaWtlIHBndHlwZWRlZkFYVUVFQS4g VGhpcyBzbGlnaHRseSBjaGFuZ2VzIFNJR0lOVCBoYW5kbGluZyBzbwp0aG9zZSBmaWxlcyBhcmUg Y2xlYW5lZCB1cC4KLS0tCiBzcmMvdG9vbHMvcGdpbmRlbnQvcGdpbmRlbnQgfCA4ICsrKysrKysr CiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xz L3BnaW5kZW50L3BnaW5kZW50IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50CmluZGV4IDc0 ODE2OTZhNTg0Li5iOTY4OTFiMjI1MiAxMDA3NTUKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3Bn aW5kZW50CisrKyBiL3NyYy90b29scy9wZ2luZGVudC9wZ2luZGVudApAQCAtMTksNiArMTksMTQg QEAgdXNlIEZpbGU6OlRlbXA7CiB1c2UgSU86OkhhbmRsZTsKIHVzZSBHZXRvcHQ6Okxvbmc7CiAK KyMgQnkgZGVmYXVsdCBQZXJsJ3MgU0lHSU5UL1NJR1RFUk0ga2lsbCB0aGUgcHJvY2VzcyB3aXRo b3V0IHJ1bm5pbmcgRU5EIGJsb2NrcywKKyMgc28gRmlsZTo6VGVtcCBuZXZlciBnZXRzIHRvIGNs ZWFuIHVwLiBDb252ZXJ0aW5nIHRoZSBzaWduYWwgaW50byBhbiBleGl0KCkKKyMgbWFrZXMgRU5E LWJsb2NrIGNsZWFudXAgcnVuLiBTZWU6IGh0dHA6Ly93d3cucGVybG1vbmtzLm9yZy8/bm9kZV9p ZD03MTQyMjUKKyMgRXhpdCBjb2RlcyB1c2UgdGhlIDEyOCtzaWdudW0gY29udmVudGlvbiBzbyBj YWxsZXJzIGNhbiB0ZWxsIHRoZSBwcm9jZXNzIHdhcworIyBraWxsZWQgYnkgYSBzaWduYWwuCisk U0lHe0lOVH0gPSBzdWIgeyBleGl0IDEzMDsgfTsgICAgICMgMTI4ICsgMiAoU0lHSU5UKQorJFNJ R3tURVJNfSA9IHN1YiB7IGV4aXQgMTQzOyB9OyAgICAjIDEyOCArIDE1IChTSUdURVJNKQorCiAj IFVwZGF0ZSBmb3IgcGdfYnNkX2luZGVudCB2ZXJzaW9uCiBteSAkSU5ERU5UX1ZFUlNJT04gPSAi Mi4xLjIiOwogCgpiYXNlLWNvbW1pdDogYTBiNmVmMjlhNTE4MThhNDA3M2E1ZjM5MGVkMTBlZjY0 NTNkNWMxMQotLSAKMi41My4wCgo= --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0002-pgindent-Always-clean-up-.BAK-files-from-pg_bsd_i.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0002-pgindent-Always-clean-up-.BAK-files-from-pg_bsd_i.patch RnJvbSBmNjNjYTljYjY4Njk0NTJlODVhZWM3YjA5ZDRhZTQ3MWFiMWYzMDMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBGcmksIDEzIE1hciAyMDI2IDAwOjIxOjA0ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 MyAyLzhdIHBnaW5kZW50OiBBbHdheXMgY2xlYW4gdXAgLkJBSyBmaWxlcyBmcm9tCiBwZ19ic2Rf aW5kZW50CgpUaGUgcHJldmlvdXMgY29tbWl0IGxldCBwZ2luZGVudCBjbGVhbiB1cCBGaWxlOjpU ZW1wIGZpbGVzIG9uIFNJR0lOVC4KVGhpcyBleHRlbmRzIHRoYXQgdG8gYWxzbyBjbGVhbmluZyB1 cCB0aGUgLkJBSyBmaWxlcywgY3JlYXRlZCBieQpwZ19ic2RfaW5kZW50LgotLS0KIHNyYy90b29s cy9wZ2luZGVudC9wZ2luZGVudCB8IDExICsrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTAg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2lu ZGVudC9wZ2luZGVudCBiL3NyYy90b29scy9wZ2luZGVudC9wZ2luZGVudAppbmRleCBiOTY4OTFi MjI1Mi4uNmNlNjk1ODk1ZWIgMTAwNzU1Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC9wZ2luZGVu dAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvcGdpbmRlbnQKQEAgLTI3LDYgKzI3LDEyIEBAIHVz ZSBHZXRvcHQ6Okxvbmc7CiAkU0lHe0lOVH0gPSBzdWIgeyBleGl0IDEzMDsgfTsgICAgICMgMTI4 ICsgMiAoU0lHSU5UKQogJFNJR3tURVJNfSA9IHN1YiB7IGV4aXQgMTQzOyB9OyAgICAjIDEyOCAr IDE1IChTSUdURVJNKQogCisjIHBnX2JzZF9pbmRlbnQgY3JlYXRlcyBhIC5CQUsgZmlsZSB0aGF0 IEZpbGU6OlRlbXAgZG9lc24ndCBrbm93IGFib3V0LiBUaGlzCisjIEVORCBibG9jayBtYWtlcyBz dXJlIHRoYXQgdGhhdCBmaWxlIGlzIGNsZWFuZWQgdXAgaW4gY2FzZSBzb21lb25lIHByZXNzZXMK KyMgQ3RybCtDIGR1cmluZyBwZ2luZGVudC4KK215ICRiYWtfdG9fY2xlYW51cDsKK0VORCB7IHVu bGluayAkYmFrX3RvX2NsZWFudXAgaWYgZGVmaW5lZCAkYmFrX3RvX2NsZWFudXA7IH0KKwogIyBV cGRhdGUgZm9yIHBnX2JzZF9pbmRlbnQgdmVyc2lvbgogbXkgJElOREVOVF9WRVJTSU9OID0gIjIu MS4yIjsKIApAQCAtMjk1LDExICszMDEsMTQgQEAgc3ViIHJ1bl9pbmRlbnQKIAlwcmludCAkdG1w X2ZoICRzb3VyY2U7CiAJJHRtcF9maC0+Y2xvc2UoKTsKIAorCSRiYWtfdG9fY2xlYW51cCA9ICIk ZmlsZW5hbWUuQkFLIjsKKwogCSQkZXJyb3JfbWVzc2FnZSA9IGAkY21kICRmaWxlbmFtZSAyPiYx YDsKIAogCXJldHVybiAiIiBpZiAoJD8gfHwgbGVuZ3RoKCQkZXJyb3JfbWVzc2FnZSkgPiAwKTsK IAotCXVubGluayAiJGZpbGVuYW1lLkJBSyI7CisJdW5saW5rICRiYWtfdG9fY2xlYW51cDsKKwkk YmFrX3RvX2NsZWFudXAgPSB1bmRlZjsKIAogCW9wZW4obXkgJHNyY19vdXQsICc8JywgJGZpbGVu YW1lKSB8fCBkaWUgJCE7CiAJbG9jYWwgKCQvKSA9IHVuZGVmOwotLSAKMi41My4wCgo= --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0003-pgindent-Use-git-ls-files-to-discover-files.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0003-pgindent-Use-git-ls-files-to-discover-files.patch RnJvbSBhZTUxNWUwZDRhODQ4ZGE4MDBlY2Y3ZTc3NDM5MDJhODBhMjM0NGVhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBUdWUsIDMgTWFyIDIwMjYgMDk6NDM6MzMgKzAxMDAKU3ViamVjdDogW1BBVENIIHYz IDMvOF0gcGdpbmRlbnQ6IFVzZSBnaXQgbHMtZmlsZXMgdG8gZGlzY292ZXIgZmlsZXMKCldoZW4g cnVubmluZyBwZ2luZGVudCBvbiB0aGUgd2hvbGUgc291cmNlIHRyZWUsIGl0IHdvdWxkIG9mdGVu IGFsc28KaW5kZW50IGJ1aWxkIGFydGlmYWN0cy4gVGhpcyBjaGFuZ2VzIHRoZSBwZ2luZGVudCBk aXJlY3Rvcnkgc2VhcmNoIGxvZ2ljCnRvIGJlY29tZSBnaXQtYXdhcmUsIGFuZCBvbmx5IGluZGVu dCBmaWxlcyB0aGF0IGFyZSBhY3R1YWxseSB0cmFja2VkIGJ5CmdpdC4KCkFueSBmaWxlcyB0aGF0 IGFyZSBleHBsaWNpdGx5IHBhcnQgb2YgdGhlIHBnaW5kZW50IGl0cyBhcmd1bWVudHMsIGFyZQph bHdheXMgaW5kZW50ZWQgdGhvdWdoLCBldmVuIGlmIHRoZXkgYXJlIG5vdCB0cmFja2VkIGJ5IGdp dC4gVGhpcyBjYW4gYmUKdXNlZnVsIHRvIGZvcmNlIGluZGVudGF0aW9uIG9mIGFuIHVudHJhY2tl ZCBmaWxlIGFuZC9vciBmb3IgZWRpdG9yCmludGVncmF0aW9uLgotLS0KIHNyYy90b29scy9wZ2lu ZGVudC9wZ2luZGVudCB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy90b29scy9wZ2luZGVudC9wZ2luZGVudCBiL3NyYy90b29scy9wZ2luZGVudC9w Z2luZGVudAppbmRleCA2Y2U2OTU4OTVlYi4uYjZmYmRhOWEyOTggMTAwNzU1Ci0tLSBhL3NyYy90 b29scy9wZ2luZGVudC9wZ2luZGVudAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvcGdpbmRlbnQK QEAgLTEzLDcgKzEzLDYgQEAgdXNlIHN0cmljdDsKIHVzZSB3YXJuaW5ncyBGQVRBTCA9PiAnYWxs JzsKIAogdXNlIEN3ZCBxdyhhYnNfcGF0aCBnZXRjd2QpOwotdXNlIEZpbGU6OkZpbmQ7CiB1c2Ug RmlsZTo6U3BlYzsKIHVzZSBGaWxlOjpUZW1wOwogdXNlIElPOjpIYW5kbGU7CkBAIC0zNjksMTYg KzM2OCw0MyBAQCAkZmlsdGVyZWRfdHlwZWRlZnNfZmggPSBsb2FkX3R5cGVkZWZzKCk7CiAKIGNo ZWNrX2luZGVudCgpOwogCi1teSAkd2FudGVkID0gc3ViIHsKLQlteSAoJGRldiwgJGlubywgJG1v ZGUsICRubGluaywgJHVpZCwgJGdpZCk7Ci0JKCgkZGV2LCAkaW5vLCAkbW9kZSwgJG5saW5rLCAk dWlkLCAkZ2lkKSA9IGxzdGF0KCRfKSkKLQkgICYmIC1mIF8KLQkgICYmIC9eLipcLltjaF1cei9z Ci0JICAmJiBwdXNoKEBmaWxlcywgJEZpbGU6OkZpbmQ6Om5hbWUpOwotfTsKK3N1YiBkaXNjb3Zl cl9maWxlcworeworCW15IEBwYXRocyA9IEBfOworCW15IEBkaXNjb3ZlcmVkOworCisJIyBTZXBh cmF0ZSBpbmRpdmlkdWFsIGZpbGVzIGZyb20gZGlyZWN0b3JpZXMKKwlteSBAZGlyczsKKwlmb3Jl YWNoIG15ICRwYXRoIChAcGF0aHMpCisJeworCQlpZiAoLWYgJHBhdGgpCisJCXsKKwkJCXB1c2go QGRpc2NvdmVyZWQsICRwYXRoKTsKKwkJfQorCQllbHNpZiAoLWQgJHBhdGgpCisJCXsKKwkJCXB1 c2goQGRpcnMsICRwYXRoKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXdhcm4gIkNvdWxkIG5vdCBm aW5kICRwYXRoIjsKKwkJfQorCX0KKworCSMgVXNlIGdpdCBscy1maWxlcyBmb3IgZGlyZWN0b3Jp ZXMgdG8gYXZvaWQgc2VhcmNoaW5nIGJ1aWxkIHRyZWVzIGV0Yy4KKwlpZiAoQGRpcnMpCisJewor CQlteSBAZ2l0X2ZpbGVzID0gYGdpdCBscy1maWxlcyAtLSBAZGlyc2A7CisJCWRpZSAiZ2l0IGxz LWZpbGVzIGVycm9yIiBpZiAkPzsKKwkJY2hvbXAoQGdpdF9maWxlcyk7CisJCXB1c2goQGRpc2Nv dmVyZWQsIGdyZXAgeyAvXC5bY2hdJC8gfSBAZ2l0X2ZpbGVzKTsKKwl9CisKKwlyZXR1cm4gQGRp c2NvdmVyZWQ7Cit9CiAKICMgYW55IG5vbi1vcHRpb24gYXJndW1lbnRzIGFyZSBmaWxlcyBvciBk aXJlY3RvcmllcyB0byBiZSBwcm9jZXNzZWQKLUZpbGU6OkZpbmQ6OmZpbmQoeyB3YW50ZWQgPT4g JHdhbnRlZCB9LCBAQVJHVikgaWYgQEFSR1Y7CitwdXNoKEBmaWxlcywgZGlzY292ZXJfZmlsZXMo QEFSR1YpKSBpZiBAQVJHVjsKIAogIyBjb21taXQgZmlsZSBsb2NhdGlvbnMgYXJlIHJlbGF0aXZl IHRvIHRoZSBzb3VyY2Ugcm9vdAogY2hkaXIgIiRzb3VyY2VkaXIvLi4vLi4vLi4iIGlmIEBjb21t aXRzICYmICRzb3VyY2VkaXI7Ci0tIAoyLjUzLjAKCg== --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0004-pgindent-Default-to-indenting-the-current-directo.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0004-pgindent-Default-to-indenting-the-current-directo.patch RnJvbSAxNDMzZWY4NWIwNGJiNzcyZjNlNDcwYTFkNDFhMTdjN2M5NjM5MmNkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBUdWUsIDMgTWFyIDIwMjYgMjA6NTY6MTUgKzAxMDAKU3ViamVjdDogW1BBVENIIHYz IDQvOF0gcGdpbmRlbnQ6IERlZmF1bHQgdG8gaW5kZW50aW5nIHRoZSBjdXJyZW50IGRpcmVjdG9y eQogaWYgbm8gZmlsZXMgYXJlIGdpdmVuCgpQcmV2aW91c2x5IHJ1bm5pbmcgcGdpbmRlbnQgd2l0 aG91dCBnaXZpbmcgaXQgYW55IGZpbGVzIHdvdWxkIHJlc3VsdCBpbgp0aGlzIG91dHB1dDoKCnNy Yy90b29scy9wZ2luZGVudC9wZ2luZGVudApObyBmaWxlcyB0byBwcm9jZXNzIGF0IHNyYy90b29s cy9wZ2luZGVudC9wZ2luZGVudCBsaW5lIDUyNi4KClRoaXMgaW5zdGVhZCBpbmRlbnRzIHRoZSBj dXJyZW50IGRpcmVjdG9yeSwgd2hpY2ggaXMgcHJvYmFibHkgd2hhdCB0aGUKdXNlciBpbnRlbmRl ZC4KLS0tCiBzcmMvdG9vbHMvcGdpbmRlbnQvcGdpbmRlbnQgfCAzICsrKwogMSBmaWxlIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC9wZ2lu ZGVudCBiL3NyYy90b29scy9wZ2luZGVudC9wZ2luZGVudAppbmRleCBiNmZiZGE5YTI5OC4uZTZi YmE0ODg5M2MgMTAwNzU1Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC9wZ2luZGVudAorKysgYi9z cmMvdG9vbHMvcGdpbmRlbnQvcGdpbmRlbnQKQEAgLTYyLDYgKzYyLDkgQEAgdXNhZ2UoKSBpZiAk aGVscDsKIHVzYWdlKCJDYW5ub3QgdXNlIC0tY29tbWl0IHdpdGggY29tbWFuZCBsaW5lIGZpbGUg bGlzdCIpCiAgIGlmIChAY29tbWl0cyAmJiBAQVJHVik7CiAKKyMgZGVmYXVsdCB0byBjdXJyZW50 IGRpcmVjdG9yeSBpZiBubyBmaWxlcy9kaXJzIGdpdmVuCitAQVJHViA9ICgnLicpIHVubGVzcyBA QVJHViB8fCBAY29tbWl0czsKKwogIyBjb21tYW5kIGxpbmUgb3B0aW9uIHdpbnMsIHRoZW4gZW52 aXJvbm1lbnQsIHRoZW4gbG9jYXRpb25zIGJhc2VkIG9uIGN1cnJlbnQKICMgZGlyLCB0aGVuIGRl ZmF1bHQgbG9jYXRpb24KICR0eXBlZGVmc19maWxlIHx8PSAkRU5We1BHVFlQRURFRlN9OwotLSAK Mi41My4wCgo= --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0005-pgindent-Allow-parallel-pgindent-runs.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0005-pgindent-Allow-parallel-pgindent-runs.patch RnJvbSA1YTE3YTk2MTljMWE2YTYxMWZiZmRlYjMxM2MzMmYzNWUxMTQ5NTAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBXZWQsIDQgTWFyIDIwMjYgMDk6MjQ6MjQgKzAxMDAKU3ViamVjdDogW1BBVENIIHYz IDUvOF0gcGdpbmRlbnQ6IEFsbG93IHBhcmFsbGVsIHBnaW5kZW50IHJ1bnMKClJ1bm5pbmcgcGdp bmRlbnQgb24gdGhlIHdob2xlIHNvdXJjZSB0cmVlIGNhbiB0YWtlIGEgd2hpbGUuIFRoaXMgYWRk cwpzdXBwb3J0IGZvciBwZ2luZGVudCB0byBpbmRlbnQgZmlsZXMgaW4gcGFyYWxsZWwuIFRoaXMg c3BlZWRzIHVwIGEgZnVsbApwZ2luZGVudCBydW4gZnJvbSB+NyBzZWNvbmRzIHRvIDEgc2Vjb25k IG9uIG15IG1hY2hpbmUuCgpFc3BlY2lhbGx5IHdpdGggZnV0dXJlIGNvbW1pdHMgdGhhdCBpbnRl Z3JhdGUgcGVybHRpZHkgaW50byBwZ2luZGVudCB0aGUKd2lucyBhcmUgaHVnZSwgYmVjYXVzZSBw ZXJsdGlkeSBpcyBtdWNoIHNsb3dlciBhdCBmb3JtYXR0aW5nIHRoYW4KcGdfYnNkX2luZGVudC4g V2l0aCB0aG9zZSBsYXRlciBjb21taXRzIHRoZSB0aW1lIGl0IHRha2VzIHRvIGRvIGEgZnVsbApw Z2luZGVudCBydW4gKGluY2x1ZGluZyBwZXJsdGlkeSkgdGFrZXMgbW9yZSB0aGFuIGEgbWludXRl IG9uIG15IG1hY2hpbmUKd2l0aG91dCB0aGUgcGFyYWxsZWxpemF0aW9uLCBidXQgb25seSB0YWtl IH43IHNlY29uZHMgd2hlbiBydW4gaW4KcGFyYWxsZWwuCi0tLQogc3JjL3Rvb2xzL3BnaW5kZW50 L3BnaW5kZW50IHwgMTE0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyYy90b29scy9wZ2luZGVudC9wZ2luZGVudCBiL3NyYy90b29scy9wZ2luZGVudC9wZ2lu ZGVudAppbmRleCBlNmJiYTQ4ODkzYy4uODUyNzFjOTk4NmUgMTAwNzU1Ci0tLSBhL3NyYy90b29s cy9wZ2luZGVudC9wZ2luZGVudAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvcGdpbmRlbnQKQEAg LTE3LDYgKzE3LDcgQEAgdXNlIEZpbGU6OlNwZWM7CiB1c2UgRmlsZTo6VGVtcDsKIHVzZSBJTzo6 SGFuZGxlOwogdXNlIEdldG9wdDo6TG9uZzsKK3VzZSBGY250bCBxdyg6ZmxvY2spOwogCiAjIEJ5 IGRlZmF1bHQgUGVybCdzIFNJR0lOVC9TSUdURVJNIGtpbGwgdGhlIHByb2Nlc3Mgd2l0aG91dCBy dW5uaW5nIEVORCBibG9ja3MsCiAjIHNvIEZpbGU6OlRlbXAgbmV2ZXIgZ2V0cyB0byBjbGVhbiB1 cC4gQ29udmVydGluZyB0aGUgc2lnbmFsIGludG8gYW4gZXhpdCgpCkBAIC00MSwxMCArNDIsMTEg QEAgbXkgJGluZGVudF9vcHRzID0KIAogbXkgJGRldm51bGwgPSBGaWxlOjpTcGVjLT5kZXZudWxs OwogCi1teSAoJHR5cGVkZWZzX2ZpbGUsICR0eXBlZGVmX3N0ciwgQGV4Y2x1ZGVzLCAkaW5kZW50 LCAkZGlmZiwKLQkkY2hlY2ssICRoZWxwLCBAY29tbWl0cywpOworbXkgKCR0eXBlZGVmc19maWxl LCAkdHlwZWRlZl9zdHIsIEBleGNsdWRlcywgJGluZGVudCwKKwkkZGlmZiwgJGNoZWNrLCAkaGVs cCwgQGNvbW1pdHMsICRqb2JzLCk7CiAKICRoZWxwID0gMDsKKyRqb2JzID0gMDsKIAogbXkgJW9w dGlvbnMgPSAoCiAJImhlbHAiID0+IFwkaGVscCwKQEAgLTU0LDkgKzU2LDMyIEBAIG15ICVvcHRp b25zID0gKAogCSJleGNsdWRlcz1zIiA9PiBcQGV4Y2x1ZGVzLAogCSJpbmRlbnQ9cyIgPT4gXCRp bmRlbnQsCiAJImRpZmYiID0+IFwkZGlmZiwKLQkiY2hlY2siID0+IFwkY2hlY2ssKTsKKwkiY2hl Y2siID0+IFwkY2hlY2ssCisJImpvYnN8aj1pIiA9PiBcJGpvYnMsKTsKIEdldE9wdGlvbnMoJW9w dGlvbnMpIHx8IHVzYWdlKCJiYWQgY29tbWFuZCBsaW5lIGFyZ3VtZW50Iik7CiAKK3N1YiBnZXRf bnVtX2NwdXMKK3sKKwkjIFRyeSBucHJvYyAoTGludXgsIHNvbWUgQlNEcyksIHRoZW4gc3lzY3Rs IChtYWNPUywgRnJlZUJTRCkuCisJZm9yIG15ICRjbWQgKCducHJvYycsICdzeXNjdGwgLW4gaHcu bmNwdScpCisJeworCQlteSAkbiA9IGAkY21kIDI+JGRldm51bGxgOworCQljaG9tcCAkbjsKKwkJ cmV0dXJuICRuICsgMCBpZiAoJD8gPT0gMCAmJiAkbiA9fiAvXlxkKyQvICYmICRuID4gMCk7CisJ fQorCXJldHVybiAxOworfQorCitpZiAoJGpvYnMgPT0gMCkKK3sKKwkkam9icyA9IGdldF9udW1f Y3B1cygpOworfQorZWxzaWYgKCRqb2JzIDwgMCkKK3sKKwl1c2FnZSgiLS1qb2JzIG11c3QgYmUg YSBub24tbmVnYXRpdmUgbnVtYmVyIik7Cit9CisKKwogdXNhZ2UoKSBpZiAkaGVscDsKIAogdXNh Z2UoIkNhbm5vdCB1c2UgLS1jb21taXQgd2l0aCBjb21tYW5kIGxpbmUgZmlsZSBsaXN0IikKQEAg LTM1MSw2ICszNzYsNyBAQCBPcHRpb25zOgogCS0taW5kZW50PVBBVEggICAgICAgICAgIHBhdGgg dG8gcGdfYnNkX2luZGVudCBwcm9ncmFtCiAJLS1kaWZmICAgICAgICAgICAgICAgICAgc2hvdyB0 aGUgY2hhbmdlcyB0aGF0IHdvdWxkIGJlIG1hZGUKIAktLWNoZWNrICAgICAgICAgICAgICAgICBl eGl0IHdpdGggc3RhdHVzIDIgaWYgYW55IGNoYW5nZXMgd291bGQgYmUgbWFkZQorCS0tam9icz1O LCAtaiBOICAgICAgICAgIG51bWJlciBvZiBwYXJhbGxlbCB3b3JrZXJzICgwID0gbnVtIENQVXMs IGRlZmF1bHQgMCkKIFRoZSAtLWV4Y2x1ZGVzIGFuZCAtLWNvbW1pdCBvcHRpb25zIGNhbiBiZSBn aXZlbiBtb3JlIHRoYW4gb25jZS4KIEVPRgogCWlmICgkaGVscCkKQEAgLTQyNywzMiArNDUzLDMw IEBAIHdhcm4gIk5vIGZpbGVzIHRvIHByb2Nlc3MiIHVubGVzcyBAZmlsZXM7CiAjIHJlbW92ZSBl eGNsdWRlZCBmaWxlcyBmcm9tIHRoZSBmaWxlIGxpc3QKIHByb2Nlc3NfZXhjbHVkZSgpOwogCi1t eSAlcHJvY2Vzc2VkOwotbXkgJHN0YXR1cyA9IDA7CisjIFVzZWQgYnkgZm9ya2VkIGNoaWxkcmVu IHRvIHNlcmlhbGl6ZSBkaWZmIG91dHB1dCB0byBTVERPVVQgdmlhIGZsb2NrKCkuCitteSAkc3Rk b3V0X2xvY2tfZmggPSBuZXcgRmlsZTo6VGVtcChURU1QTEFURSA9PiAicGdsb2NrWFhYWFgiKTsK IAotZm9yZWFjaCBteSAkc291cmNlX2ZpbGVuYW1lIChAZmlsZXMpCitzdWIgcHJvY2Vzc19maWxl CiB7Ci0JIyBza2lwIGR1cGxpY2F0ZXMKLQluZXh0IGlmICRwcm9jZXNzZWR7JHNvdXJjZV9maWxl bmFtZX07Ci0JJHByb2Nlc3NlZHskc291cmNlX2ZpbGVuYW1lfSA9IDE7CisJbXkgJHNvdXJjZV9m aWxlbmFtZSA9IHNoaWZ0OwogCiAJIyBpZ25vcmUgYW55dGhpbmcgdGhhdCdzIG5vdCBhIC5jIG9y IC5oIGZpbGUKLQluZXh0IHVubGVzcyAkc291cmNlX2ZpbGVuYW1lID1+IC9cLltjaF0kLzsKKwly ZXR1cm4gMCB1bmxlc3MgJHNvdXJjZV9maWxlbmFtZSA9fiAvXC5bY2hdJC87CiAKIAkjIGRvbid0 IHRyeSB0byBpbmRlbnQgYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdAogCXVubGVzcyAoLWYgJHNv dXJjZV9maWxlbmFtZSkKIAl7CiAJCXdhcm4gIkNvdWxkIG5vdCBmaW5kICRzb3VyY2VfZmlsZW5h bWUiOwotCQluZXh0OworCQlyZXR1cm4gMDsKIAl9CiAJIyBBdXRvbWF0aWNhbGx5IGlnbm9yZSAu YyBhbmQgLmggZmlsZXMgdGhhdCBjb3JyZXNwb25kIHRvIGEgLnkgb3IgLmwKIAkjIGZpbGUuICBp bmRlbnQgdGVuZHMgdG8gZ2V0IGJhZGx5IGNvbmZ1c2VkIGJ5IEJpc29uL2ZsZXggb3V0cHV0LAog CSMgYW5kIHRoZXJlJ3Mgbm8gdmFsdWUgaW4gaW5kZW50aW5nIGRlcml2ZWQgZmlsZXMgYW55d2F5 LgogCW15ICRvdGhlcmZpbGUgPSAkc291cmNlX2ZpbGVuYW1lOwogCSRvdGhlcmZpbGUgPX4gcy9c LltjaF0kLy55LzsKLQluZXh0IGlmICRvdGhlcmZpbGUgbmUgJHNvdXJjZV9maWxlbmFtZSAmJiAt ZiAkb3RoZXJmaWxlOworCXJldHVybiAwIGlmICRvdGhlcmZpbGUgbmUgJHNvdXJjZV9maWxlbmFt ZSAmJiAtZiAkb3RoZXJmaWxlOwogCSRvdGhlcmZpbGUgPX4gcy9cLnkkLy5sLzsKLQluZXh0IGlm ICRvdGhlcmZpbGUgbmUgJHNvdXJjZV9maWxlbmFtZSAmJiAtZiAkb3RoZXJmaWxlOworCXJldHVy biAwIGlmICRvdGhlcmZpbGUgbmUgJHNvdXJjZV9maWxlbmFtZSAmJiAtZiAkb3RoZXJmaWxlOwog CiAJbXkgJHNvdXJjZSA9IHJlYWRfc291cmNlKCRzb3VyY2VfZmlsZW5hbWUpOwogCW15ICRvcmln X3NvdXJjZSA9ICRzb3VyY2U7CkBAIC00NjQsOCArNDg4LDcgQEAgZm9yZWFjaCBteSAkc291cmNl X2ZpbGVuYW1lIChAZmlsZXMpCiAJaWYgKCRzb3VyY2UgZXEgIiIpCiAJewogCQlwcmludCBTVERF UlIgIkZhaWx1cmUgaW4gJHNvdXJjZV9maWxlbmFtZTogIiAuICRlcnJvcl9tZXNzYWdlIC4gIlxu IjsKLQkJJHN0YXR1cyA9IDM7Ci0JCW5leHQ7CisJCXJldHVybiAzOwogCX0KIAogCSRzb3VyY2Ug PSBwb3N0X2luZGVudCgkc291cmNlKTsKQEAgLTQ4MCwxNCArNTAzLDY3IEBAIGZvcmVhY2ggbXkg JHNvdXJjZV9maWxlbmFtZSAoQGZpbGVzKQogCQl7CiAJCQlpZiAoJGRpZmYpCiAJCQl7Ci0JCQkJ cHJpbnQgZGlmZigkc291cmNlLCAkc291cmNlX2ZpbGVuYW1lKTsKKwkJCQlteSAkb3V0cHV0ID0g ZGlmZigkc291cmNlLCAkc291cmNlX2ZpbGVuYW1lKTsKKwkJCQlmbG9jaygkc3Rkb3V0X2xvY2tf ZmgsIExPQ0tfRVgpOworCQkJCXByaW50ICRvdXRwdXQ7CisJCQkJU1RET1VULT5mbHVzaCgpOwor CQkJCWZsb2NrKCRzdGRvdXRfbG9ja19maCwgTE9DS19VTik7CiAJCQl9CiAKLQkJCWlmICgkY2hl Y2spCisJCQlyZXR1cm4gMiBpZiAkY2hlY2s7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwor IyBkZWR1cGxpY2F0ZSBmaWxlIGxpc3QKK215ICVzZWVuOworQGZpbGVzID0gZ3JlcCB7ICEkc2Vl bnskX30rKyB9IEBmaWxlczsKKworbXkgJHN0YXR1cyA9IDA7CisKK2lmICgkam9icyA8PSAxKQor eworCWZvcmVhY2ggbXkgJHNvdXJjZV9maWxlbmFtZSAoQGZpbGVzKQorCXsKKwkJbXkgJGZpbGVf c3RhdHVzID0gcHJvY2Vzc19maWxlKCRzb3VyY2VfZmlsZW5hbWUpOworCQkkc3RhdHVzID0gJGZp bGVfc3RhdHVzIGlmICRmaWxlX3N0YXR1cyA+ICRzdGF0dXM7CisJCWxhc3QgaWYgJGNoZWNrICYm ICRzdGF0dXMgPj0gMiAmJiAhJGRpZmY7CisJfQorfQorZWxzZQoreworCW15ICVjaGlsZHJlbjsg ICAgIyBwaWQgPT4gMQorCisJbXkgJGZpbGVfaWR4ID0gMDsKKwl3aGlsZSAoJGZpbGVfaWR4IDwg c2NhbGFyKEBmaWxlcykgfHwgJWNoaWxkcmVuKQorCXsKKwkJIyBGb3JrIG5ldyBjaGlsZHJlbiB1 cCB0byAkam9icyBsaW1pdAorCQl3aGlsZSAoJGZpbGVfaWR4IDwgc2NhbGFyKEBmaWxlcykgJiYg c2NhbGFyKGtleXMgJWNoaWxkcmVuKSA8ICRqb2JzKQorCQl7CisJCQlteSAkc291cmNlX2ZpbGVu YW1lID0gJGZpbGVzWyAkZmlsZV9pZHgrKyBdOworCisJCQlteSAkcGlkID0gZm9yaygpOworCQkJ ZGllICJmb3JrIGZhaWxlZDogJCFcbiIgdW5sZXNzIGRlZmluZWQgJHBpZDsKKworCQkJaWYgKCRw aWQgPT0gMCkKIAkJCXsKLQkJCQkkc3RhdHVzIHx8PSAyOwotCQkJCWxhc3QgdW5sZXNzICRkaWZm OworCQkJCSMgY2hpbGQKKwkJCQlteSAkY2hpbGRfc3RhdHVzID0gcHJvY2Vzc19maWxlKCRzb3Vy Y2VfZmlsZW5hbWUpOworCQkJCWV4aXQgJGNoaWxkX3N0YXR1czsKIAkJCX0KKworCQkJJGNoaWxk cmVueyRwaWR9ID0gMTsKKwkJfQorCisJCSMgV2FpdCBmb3IgYXQgbGVhc3Qgb25lIGNoaWxkIHRv IGZpbmlzaAorCQlteSAkcGlkID0gd2FpdHBpZCgtMSwgMCk7CisJCWlmICgkcGlkID4gMCAmJiBl eGlzdHMgJGNoaWxkcmVueyRwaWR9KQorCQl7CisJCQlkZWxldGUgJGNoaWxkcmVueyRwaWR9Owor CQkJbXkgJGNoaWxkX3N0YXR1cyA9ICQ/ID4+IDg7CisJCQkkc3RhdHVzID0gJGNoaWxkX3N0YXR1 cyBpZiAkY2hpbGRfc3RhdHVzID4gJHN0YXR1czsKIAkJfQogCX0KIH0KLS0gCjIuNTMuMAoK --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0006-pgindent-Try-to-find-pg_bsd_indent-binary-in-comm.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0006-pgindent-Try-to-find-pg_bsd_indent-binary-in-comm.patch RnJvbSBiNmM0YTg5NWZmMDhiNDZkNjUxMTQ3MjhmNDEzYWNlNjNhMTQzNzI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBUdWUsIDMgTWFyIDIwMjYgMjM6NDY6NTIgKzAxMDAKU3ViamVjdDogW1BBVENIIHYz IDYvOF0gcGdpbmRlbnQ6IFRyeSB0byBmaW5kIHBnX2JzZF9pbmRlbnQgYmluYXJ5IGluIGNvbW1v bgogbG9jYXRpb25zCgpUbyBydW4gcGdpbmRlbnQgeW91IG5lZWQgdG8gdG8gaGF2ZSB0aGUgcmln aHQgdmVyc2lvbiBvZiBwZ19ic2RfaW5kZW50CmluIHlvdXIgUEFUSCwgb3Igc3BlY2lmeSBpdCBt YW51YWxseS4gVGhpcyBpcyBhIGJpdCBvZiBhIGhhc3NsZSwKZXNwZWNpYWxseSBmb3IgbmV3Y29t ZXJzIG9yIHdoZW4gd29ya2luZyBvbiBiYWNrYnJhbmNoZXMuIFNvIHRoaXMKY2huYWdlcyBwZ2lu ZGVudCB0byBzZWFyY2ggZm9yIGEgcGdfYnNkX2luZGVudCB0aGF0J3MgYnVpbHQgZnJvbSB0aGUK Y3VycmVudCBzb3VyY2VzLCBib3RoIGluLXRyZWUgKGZvciBpbi10cmVlIGF1dG9jb25mIGJ1aWxk cykgYW5kIGluIGEKYnVpbGQgZGlyZWN0b3J5IChmb3IgbWVzb24gb3IgYXV0b2NvbmYgdnBhdGgg YnVpbGRzKS4KLS0tCiBzcmMvdG9vbHMvcGdpbmRlbnQvcGdpbmRlbnQgfCAyOSArKysrKysrKysr KysrKysrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50IGIv c3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50CmluZGV4IDg1MjcxYzk5ODZlLi45N2JlYmM2Mjgy ZSAxMDA3NTUKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50CisrKyBiL3NyYy90b29s cy9wZ2luZGVudC9wZ2luZGVudApAQCAtOTQsMTEgKzk0LDM0IEBAIHVzYWdlKCJDYW5ub3QgdXNl IC0tY29tbWl0IHdpdGggY29tbWFuZCBsaW5lIGZpbGUgbGlzdCIpCiAjIGRpciwgdGhlbiBkZWZh dWx0IGxvY2F0aW9uCiAkdHlwZWRlZnNfZmlsZSB8fD0gJEVOVntQR1RZUEVERUZTfTsKIAotIyBn ZXQgaW5kZW50IGxvY2F0aW9uIGZvciBlbnZpcm9ubWVudCBvciBkZWZhdWx0Ci0kaW5kZW50IHx8 PSAkRU5We1BHSU5ERU5UfSB8fCAkRU5We0lOREVOVH0gfHwgInBnX2JzZF9pbmRlbnQiOwotCiBt eSAkc291cmNlZGlyID0gbG9jYXRlX3NvdXJjZWRpcigpOwogCisjIGdldCBpbmRlbnQgbG9jYXRp b246IGNvbW1hbmQgbGluZSB3aW5zLCB0aGVuIGVudmlyb25tZW50LCB0aGVuIHRyeSB0byBmaW5k CisjIGEgY29tcGlsZWQgcGdfYnNkX2luZGVudCBpbiB0aGUgc291cmNlIHRyZWUsIHRoZW4gZmFs bCBiYWNrIHRvIFBBVEguCiskaW5kZW50IHx8PSAkRU5We1BHSU5ERU5UfSB8fCAkRU5We0lOREVO VH07CitpZiAoISRpbmRlbnQgJiYgJHNvdXJjZWRpcikKK3sKKwlteSAkc3Jjcm9vdCA9ICIkc291 cmNlZGlyLy4uLy4uLy4uIjsKKwlteSAkYnNkX2luZGVudF9zdWJkaXIgPSAic3JjL3Rvb2xzL3Bn X2JzZF9pbmRlbnQvcGdfYnNkX2luZGVudCI7CisKKwkjIExvb2sgZm9yIHBnX2JzZF9pbmRlbnQ6 IGZpcnN0IGluLXRyZWUgKGF1dG9jb25mIGluLXRyZWUgYnVpbGQpLAorCSMgdGhlbiBpbiBhICJi dWlsZCIgZGlyZWN0b3J5IChtZXNvbiBvciBhdXRvY29uZiB2cGF0aCksCisJIyB0aGVuIGFueSAi YnVpbGQqIiBkaXJlY3RvcnkuCisJZm9yZWFjaCBteSAkY2FuZGlkYXRlICgKKwkJIiRzcmNyb290 LyRic2RfaW5kZW50X3N1YmRpciIsCisJCSIkc3Jjcm9vdC9idWlsZC8kYnNkX2luZGVudF9zdWJk aXIiLAorCQlnbG9iKCIkc3Jjcm9vdC9idWlsZCovJGJzZF9pbmRlbnRfc3ViZGlyIikpCisJewor CQlpZiAoLXggJGNhbmRpZGF0ZSkKKwkJeworCQkJJGluZGVudCA9ICRjYW5kaWRhdGU7CisJCQls YXN0OworCQl9CisJfQorfQorJGluZGVudCB8fD0gInBnX2JzZF9pbmRlbnQiOworCisKICMgaWYg aXQncyB0aGUgYmFzZSBvZiBhIHBvc3RncmVzIHRyZWUsIHdlIHdpbGwgZXhjbHVkZSB0aGUgZmls ZXMKICMgcG9zdGdyZXMgd2FudHMgZXhjbHVkZWQKIGlmICgkc291cmNlZGlyKQotLSAKMi41My4w Cgo= --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0007-pgindent-Integrate-pgperltidy-functionality-into-.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0007-pgindent-Integrate-pgperltidy-functionality-into-.patch RnJvbSA4NjFlZGJmYjM2YjA2M2QxM2Q1MmRhNzM5NTZmNmIyZmFmOGY3MmVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBXZWQsIDMxIERlYyAyMDI1IDExOjA3OjU4ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 MyA3LzhdIHBnaW5kZW50OiBJbnRlZ3JhdGUgcGdwZXJsdGlkeSBmdW5jdGlvbmFsaXR5IGludG8K IHBnaW5kZW50CgpPdmVyIHRpbWUgb3VyIHBnaW5kZW50IHNjcmlwdCBoYXMgZ290dGVuIGEgbG90 IG9mIHF1YWxpdHkgb2YgbGlmZQpmZWF0dXJlcywgbGlrZSB0aGUgLS1jb21taXQsIC0tZGlmZiBh bmQgLS1jaGVjayBmbGFncy4gVGhpcyBpbnRlZ3JhdGVzCnRoZSBmdW5jdGlvbmFsaXR5IG9mIHBn cGVybHRpZHkgaW50byBwZ2luZGVudCwgc28gaXQgY2FuIGJlbmVmaXQgZnJvbQp0aGVzZSBzYW1l IHF1YWxpdHkgb2YgbGlmZSBpbXByb3ZlbWVudHMsIGFzIHdlbGwgYXMgZnV0dXJlIG9uZXMuCgpU aGlzIGNvbW1pdCBhZGRzIGEgLS1wZXJsdGlkeSBmbGFnIHRvIHBnaW5kZW50LCB3aGljaCB3aGVu IGdpdmVuIHdpbGwKY2F1c2UgcGdpbmRlbnQgdG8gYWxzbyBmb3JtYXQgUGVybCBmaWxlcyBpbiBh ZGRpdGlvbiB0byB0aGUgQyBmaWxlcyBpdAp3b3VsZCBub3JtYWxseSBmb3JtYXQuIEl0IGFsc28g YWRkcyBhIC0tcGVybC1vbmx5IGZsYWcsIHRvIChhcyB0aGUgbmFtZQpzdWdnZXN0cykgb25seSBm b3JtYXQgUGVybCBmaWxlcy4KLS0tCiBzcmMvdG9vbHMvcGdpbmRlbnQvUkVBRE1FICAgICB8ICAx NCArLS0KIHNyYy90b29scy9wZ2luZGVudC9wZ2luZGVudCAgIHwgMTkxICsrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0KIHNyYy90b29scy9wZ2luZGVudC9wZ3Blcmx0aWR5IHwgIDE4 IC0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTY4IGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygt KQogZGVsZXRlIG1vZGUgMTAwNzU1IHNyYy90b29scy9wZ2luZGVudC9wZ3Blcmx0aWR5CgpkaWZm IC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L1JFQURNRSBiL3NyYy90b29scy9wZ2luZGVudC9S RUFETUUKaW5kZXggYjZjZDRjNmY2YjcuLjJlMzE0NzFkN2U2IDEwMDY0NAotLS0gYS9zcmMvdG9v bHMvcGdpbmRlbnQvUkVBRE1FCisrKyBiL3NyYy90b29scy9wZ2luZGVudC9SRUFETUUKQEAgLTM1 LDYgKzM1LDEwIEBAIERPSU5HIFRIRSBJTkRFTlQgUlVOIEJFRk9SRSBBIE5PUk1BTCBDT01NSVQ6 CiAKIAlzcmMvdG9vbHMvcGdpbmRlbnQvcGdpbmRlbnQgLgogCisgICBUbyBhbHNvIGZvcm1hdCBQ ZXJsIGZpbGVzIGF0IHRoZSBzYW1lIHRpbWUsIGFkZCAtLXBlcmx0aWR5OgorCisJc3JjL3Rvb2xz L3BnaW5kZW50L3BnaW5kZW50IC0tcGVybHRpZHk9cGVybHRpZHkgLgorCiAgICBJZiBhbnkgZmls ZXMgZ2VuZXJhdGUgZXJyb3JzLCByZXN0b3JlIHRoZWlyIG9yaWdpbmFsIHZlcnNpb25zIHdpdGgK ICAgICJnaXQgY2hlY2tvdXQiLCBhbmQgc2VlIGJlbG93IGZvciBjbGVhbnVwIGlkZWFzLgogCkBA IC03NiwxMiArODAsMTIgQEAgQVQgTEVBU1QgT05DRSBQRVIgUkVMRUFTRSBDWUNMRToKIAogMikg UnVuIHBnaW5kZW50IGFzIGFib3ZlLgogCi0zKSBJbmRlbnQgdGhlIFBlcmwgY29kZSB1c2luZyBw ZXJsdGlkeToKKzMpIEluZGVudCB0aGUgUGVybCBjb2RlIHVzaW5nIHBlcmx0aWR5IChpZiBub3Qg YWxyZWFkeSBkb25lIGluIHN0ZXAgMik6CiAKLQlzcmMvdG9vbHMvcGdpbmRlbnQvcGdwZXJsdGlk eSAuCisJc3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50IC0tcGVybC1vbmx5IC4KIAogICAgSWYg eW91IHdhbnQgdG8gdXNlIHNvbWUgcGVybHRpZHkgdmVyc2lvbiB0aGF0J3Mgbm90IGluIHlvdXIg UEFUSCwKLSAgIGZpcnN0IHNldCB0aGUgUEVSTFRJRFkgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8g cG9pbnQgdG8gaXQuCisgICB1c2UgLS1wZXJsdGlkeT1QQVRIIG9yIHNldCB0aGUgUEVSTFRJRFkg ZW52aXJvbm1lbnQgdmFyaWFibGUuCiAKIDQpIFJlZm9ybWF0IHRoZSBib290c3RyYXAgY2F0YWxv ZyBkYXRhIGZpbGVzOgogCkBAIC0xNjYsNiArMTcwLDQgQEAgTm90ZSB0aGF0IHdlIGRvIG5vdCBl eGNsdWRlIGVjcGcncyBoZWFkZXIgZmlsZXMgZnJvbSB0aGUgcnVuLiAgU29tZSBvZiB0aGVtCiBn ZXQgY29waWVkIHZlcmJhdGltIGludG8gZWNwZydzIG91dHB1dCwgbWVhbmluZyB0aGF0IGVjcGcn cyBleHBlY3RlZCBmaWxlcwogbWF5IG5lZWQgdG8gYmUgdXBkYXRlZCB0byBtYXRjaC4KIAotVGhl IHBlcmx0aWR5IHJ1biBwcm9jZXNzZXMgYWxsICoucGwgYW5kICoucG0gZmlsZXMsIHBsdXMgYSBm ZXcKLWV4ZWN1dGFibGUgUGVybCBzY3JpcHRzIHRoYXQgYXJlIG5vdCBuYW1lZCB0aGF0IHdheS4g IFNlZSB0aGUgImZpbmQiCi1ydWxlcyBpbiBwZ3Blcmx0aWR5IGZvciBkZXRhaWxzLgorV2hlbiAt LXBlcmx0aWR5IGlzIGdpdmVuLCBwZ2luZGVudCBhbHNvIHByb2Nlc3NlcyAqLnBsIGFuZCAqLnBt IGZpbGVzLgpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50IGIvc3JjL3Rv b2xzL3BnaW5kZW50L3BnaW5kZW50CmluZGV4IDk3YmViYzYyODJlLi45ZDYzNWI3YTIyYiAxMDA3 NTUKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50CisrKyBiL3NyYy90b29scy9wZ2lu ZGVudC9wZ2luZGVudApAQCAtMiwxMiArMiwxMiBAQAogCiAjIENvcHlyaWdodCAoYykgMjAyMS0y MDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAogCi0jIFByb2dyYW0gdG8g bWFpbnRhaW4gdW5pZm9ybSBsYXlvdXQgc3R5bGUgaW4gb3VyIEMgY29kZS4KKyMgUHJvZ3JhbSB0 byBtYWludGFpbiB1bmlmb3JtIGxheW91dCBzdHlsZSBpbiBvdXIgQyBhbmQgUGVybCBjb2RlLgog IyBFeGl0IGNvZGVzOgogIyAgIDAgLS0gYWxsIE9LCiAjICAgMSAtLSBlcnJvciBpbnZva2luZyBw Z2luZGVudCwgbm90aGluZyBkb25lCiAjICAgMiAtLSAtLWNoZWNrIG1vZGUgYW5kIGF0IGxlYXN0 IG9uZSBmaWxlIHJlcXVpcmVzIGNoYW5nZXMKLSMgICAzIC0tIHBnX2JzZF9pbmRlbnQgZmFpbGVk IG9uIGF0IGxlYXN0IG9uZSBmaWxlCisjICAgMyAtLSBwZ19ic2RfaW5kZW50IG9yIHBlcmx0aWR5 IGZhaWxlZCBvbiBhdCBsZWFzdCBvbmUgZmlsZQogCiB1c2Ugc3RyaWN0OwogdXNlIHdhcm5pbmdz IEZBVEFMID0+ICdhbGwnOwpAQCAtNDMsMTEgKzQzLDE3IEBAIG15ICRpbmRlbnRfb3B0cyA9CiBt eSAkZGV2bnVsbCA9IEZpbGU6OlNwZWMtPmRldm51bGw7CiAKIG15ICgkdHlwZWRlZnNfZmlsZSwg JHR5cGVkZWZfc3RyLCBAZXhjbHVkZXMsICRpbmRlbnQsCi0JJGRpZmYsICRjaGVjaywgJGhlbHAs IEBjb21taXRzLCAkam9icywpOworCSRkaWZmLCAkY2hlY2ssICRoZWxwLCBAY29tbWl0cywKKwkk cGVybHRpZHlfYXJnLCAkcGVybF9vbmx5LCAkam9icywpOwogCiAkaGVscCA9IDA7CiAkam9icyA9 IDA7CiAKKyMgU2F2ZSBAQVJHViBiZWZvcmUgcGFyc2luZyBzbyB3ZSBjYW4gZGlzdGluZ3Vpc2gg LS1wZXJsdGlkeT1QQVRIICh3aGVyZQorIyB0aGUgdmFsdWUgc2hvdWxkIGJlIHVzZWQgYXMgdGhl IHBlcmx0aWR5IHBhdGgpIGZyb20gLS1wZXJsdGlkeSBQQVRICisjICh3aGVyZSBQQVRIIGlzIGEg ZmlsZSB0byBmb3JtYXQgdGhhdCBHZXRvcHQ6OkxvbmcgZ3JlZWRpbHkgY29uc3VtZWQpLgorbXkg QG9yaWdfYXJndiA9IEBBUkdWOworCiBteSAlb3B0aW9ucyA9ICgKIAkiaGVscCIgPT4gXCRoZWxw LAogCSJjb21taXQ9cyIgPT4gXEBjb21taXRzLApAQCAtNTUsNiArNjEsOCBAQCBteSAlb3B0aW9u cyA9ICgKIAkibGlzdC1vZi10eXBlZGVmcz1zIiA9PiBcJHR5cGVkZWZfc3RyLAogCSJleGNsdWRl cz1zIiA9PiBcQGV4Y2x1ZGVzLAogCSJpbmRlbnQ9cyIgPT4gXCRpbmRlbnQsCisJInBlcmx0aWR5 OnMiID0+IFwkcGVybHRpZHlfYXJnLAorCSJwZXJsLW9ubHkiID0+IFwkcGVybF9vbmx5LAogCSJk aWZmIiA9PiBcJGRpZmYsCiAJImNoZWNrIiA9PiBcJGNoZWNrLAogCSJqb2JzfGo9aSIgPT4gXCRq b2JzLCk7CkBAIC04MSw2ICs4OSwxNiBAQCBlbHNpZiAoJGpvYnMgPCAwKQogCXVzYWdlKCItLWpv YnMgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIiKTsKIH0KIAoraWYgKGRlZmluZWQoJHBl cmx0aWR5X2FyZykgJiYgJHBlcmx0aWR5X2FyZyBuZSAnJykKK3sKKwkjIENoZWNrIHdoZXRlciB3 ZSBoYXZlIC0tcGVybHRpZHk9UEFUSCBvciAtLXBlcmx0aWR5IFBBVEgsIGFuZCBpZiB0aGUKKwkj IGxhdHRlciwgY29uc2lkZXIgdGhlIGFyZ3VtZW50IHRvIGJlIGEgZmlsZSB0byBmb3JtYXQsIG5v dCBhIHBlcmx0aWR5IHBhdGguCisJdW5sZXNzIChncmVwIHsgJF8gZXEgIi0tcGVybHRpZHk9JHBl cmx0aWR5X2FyZyIgfSBAb3JpZ19hcmd2KQorCXsKKwkJdW5zaGlmdChAQVJHViwgJHBlcmx0aWR5 X2FyZyk7CisJCSRwZXJsdGlkeV9hcmcgPSAnJzsKKwl9Cit9CiAKIHVzYWdlKCkgaWYgJGhlbHA7 CiAKQEAgLTk0LDYgKzExMiwxMiBAQCB1c2FnZSgiQ2Fubm90IHVzZSAtLWNvbW1pdCB3aXRoIGNv bW1hbmQgbGluZSBmaWxlIGxpc3QiKQogIyBkaXIsIHRoZW4gZGVmYXVsdCBsb2NhdGlvbgogJHR5 cGVkZWZzX2ZpbGUgfHw9ICRFTlZ7UEdUWVBFREVGU307CiAKKyMgZ2V0IHBlcmx0aWR5IGxvY2F0 aW9uOiBjb21tYW5kIGxpbmUgd2lucywgdGhlbiBlbnZpcm9ubWVudCwgdGhlbiBkZWZhdWx0Lgor IyAtLXBlcmx0aWR5ICh3aXRoIG9yIHdpdGhvdXQgYSBwYXRoKSBhbmQgLS1wZXJsLW9ubHkgYWxs IGltcGx5IHBlcmx0aWR5IGlzCisjIHdhbnRlZCwgZmFsbGluZyBiYWNrIHRvIHRoZSBQRVJMVElE WSBlbnYgdmFyLCB0aGVuICJwZXJsdGlkeSIgaW4gUEFUSC4KK215ICRwZXJsdGlkeSA9ICRwZXJs dGlkeV9hcmcgfHwgJEVOVntQRVJMVElEWX0KKyAgfHwgKGRlZmluZWQoJHBlcmx0aWR5X2FyZykg fHwgJHBlcmxfb25seSA/ICJwZXJsdGlkeSIgOiB1bmRlZik7CisKIG15ICRzb3VyY2VkaXIgPSBs b2NhdGVfc291cmNlZGlyKCk7CiAKICMgZ2V0IGluZGVudCBsb2NhdGlvbjogY29tbWFuZCBsaW5l IHdpbnMsIHRoZW4gZW52aXJvbm1lbnQsIHRoZW4gdHJ5IHRvIGZpbmQKQEAgLTE4MCw2ICsyMDQs MzAgQEAgc3ViIGNoZWNrX2luZGVudAogCXJldHVybjsKIH0KIAorbXkgJFBFUkxUSURZX1ZFUlNJ T04gPSAiMjAyMzAzMDkiOworCitzdWIgY2hlY2tfcGVybHRpZHkKK3sKKwlteSAkdmVyID0gYCRw ZXJsdGlkeSAtdiAyPiYxYDsKKwlpZiAoJD8gIT0gMCkKKwl7CisJCXByaW50IFNUREVSUgorCQkg ICJZb3UgZG8gbm90IGFwcGVhciB0byBoYXZlICRwZXJsdGlkeSBpbnN0YWxsZWQgb24geW91ciBz eXN0ZW0uXG4iCisJCSAgLiAiU2VlIHNyYy90b29scy9wZ2luZGVudC9SRUFETUUgZm9yIGluc3Rh bGxhdGlvbiBpbnN0cnVjdGlvbnMuXG4iOworCQlleGl0IDE7CisJfQorCisJaWYgKCR2ZXIgIX4g bS8kUEVSTFRJRFlfVkVSU0lPTi8pCisJeworCQlwcmludCBTVERFUlIKKwkJICAiWW91IGRvIG5v dCBhcHBlYXIgdG8gaGF2ZSAkcGVybHRpZHkgdmVyc2lvbiAkUEVSTFRJRFlfVkVSU0lPTiBpbnN0 YWxsZWQgb24geW91ciBzeXN0ZW0uXG4iCisJCSAgLiAiU2VlIHNyYy90b29scy9wZ2luZGVudC9S RUFETUUgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuXG4iOworCQlleGl0IDE7CisJfQor CisJcmV0dXJuOworfQorCiBzdWIgbG9jYXRlX3NvdXJjZWRpcgogewogCSMgdHJ5IGZhaXJseSBo YXJkIHRvIGxvY2F0ZSB0aGUgc291cmNlZGlyCkBAIC0zNjgsNiArNDE2LDQzIEBAIHN1YiBydW5f aW5kZW50CiAJcmV0dXJuICRzb3VyY2U7CiB9CiAKK3N1YiBmb3JtYXRfYworeworCW15ICRzb3Vy Y2UgPSBzaGlmdDsKKwlteSAkc291cmNlX2ZpbGVuYW1lID0gc2hpZnQ7CisJbXkgJGVycm9yX21l c3NhZ2UgPSAnJzsKKworCW15ICRmb3JtYXR0ZWQgPSBwcmVfaW5kZW50KCRzb3VyY2UpOworCSRm b3JtYXR0ZWQgPSBydW5faW5kZW50KCRmb3JtYXR0ZWQsIFwkZXJyb3JfbWVzc2FnZSk7CisJaWYg KCRmb3JtYXR0ZWQgZXEgIiIpCisJeworCQlwcmludCBTVERFUlIgIkZhaWx1cmUgaW4gJHNvdXJj ZV9maWxlbmFtZTogIiAuICRlcnJvcl9tZXNzYWdlIC4gIlxuIjsKKwkJcmV0dXJuICgiIiwgMSk7 CisJfQorCXJldHVybiBwb3N0X2luZGVudCgkZm9ybWF0dGVkKTsKK30KKworc3ViIGZvcm1hdF9w ZXJsCit7CisJbXkgJHNvdXJjZSA9IHNoaWZ0OworCW15ICRzb3VyY2VfZmlsZW5hbWUgPSBzaGlm dDsKKworCW15ICR0bXBfZmggPSBuZXcgRmlsZTo6VGVtcChURU1QTEFURSA9PiAicGdwZXJsdGlk eVhYWFhYIik7CisJbXkgJHRtcF9maWxlbmFtZSA9ICR0bXBfZmgtPmZpbGVuYW1lOworCXByaW50 ICR0bXBfZmggJHNvdXJjZTsKKwkkdG1wX2ZoLT5jbG9zZSgpOworCisJbXkgJHBlcmx0aWR5X3By b2ZpbGUgPSAiJHNvdXJjZWRpci9wZXJsdGlkeXJjIjsKKwlteSAkZXJyID0KKwkgIGAkcGVybHRp ZHkgLS1wcm9maWxlPSRwZXJsdGlkeV9wcm9maWxlIC1iIC1iZXh0PScvJyAkdG1wX2ZpbGVuYW1l IDI+JjFgOworCWlmICgkPyAhPSAwKQorCXsKKwkJcHJpbnQgU1RERVJSICJGYWlsdXJlIGluICRz b3VyY2VfZmlsZW5hbWU6ICIgLiAkZXJyIC4gIlxuIjsKKwkJcmV0dXJuICgiIiwgMSk7CisJfQor CXJldHVybiByZWFkX3NvdXJjZSgkdG1wX2ZpbGVuYW1lKTsKK30KKwogc3ViIGRpZmYKIHsKIAlt eSAkaW5kZW50ZWQgPSBzaGlmdDsKQEAgLTM5Nyw2ICs0ODIsOCBAQCBPcHRpb25zOgogCS0tbGlz dC1vZi10eXBlZGVmcz1TVFIgIHN0cmluZyBjb250YWluaW5nIHR5cGVkZWZzLCBzcGFjZSBzZXBh cmF0ZWQKIAktLWV4Y2x1ZGVzPVBBVEggICAgICAgICBmaWxlIGNvbnRhaW5pbmcgbGlzdCBvZiBm aWxlbmFtZSBwYXR0ZXJucyB0byBpZ25vcmUKIAktLWluZGVudD1QQVRIICAgICAgICAgICBwYXRo IHRvIHBnX2JzZF9pbmRlbnQgcHJvZ3JhbQorCS0tcGVybHRpZHlbPVBBVEhdICAgICAgIGVuYWJs ZSBQZXJsIGZvcm1hdHRpbmcgKG9wdGlvbmFsbHkgc2V0IHBlcmx0aWR5IHBhdGgpCisJLS1wZXJs LW9ubHkgICAgICAgICAgICAgZm9ybWF0IG9ubHkgUGVybCBmaWxlcywgc2tpcCBDIGZvcm1hdHRp bmcKIAktLWRpZmYgICAgICAgICAgICAgICAgICBzaG93IHRoZSBjaGFuZ2VzIHRoYXQgd291bGQg YmUgbWFkZQogCS0tY2hlY2sgICAgICAgICAgICAgICAgIGV4aXQgd2l0aCBzdGF0dXMgMiBpZiBh bnkgY2hhbmdlcyB3b3VsZCBiZSBtYWRlCiAJLS1qb2JzPU4sIC1qIE4gICAgICAgICAgbnVtYmVy IG9mIHBhcmFsbGVsIHdvcmtlcnMgKDAgPSBudW0gQ1BVcywgZGVmYXVsdCAwKQpAQCAtNDE2LDkg KzUwMyw0NiBAQCBFT0YKIAogIyBtYWluCiAKLSRmaWx0ZXJlZF90eXBlZGVmc19maCA9IGxvYWRf dHlwZWRlZnMoKTsKK215ICRkb19jID0gISRwZXJsX29ubHk7CitteSAkZG9fcGVybCA9IGRlZmlu ZWQoJHBlcmx0aWR5KTsKKworaWYgKCRkb19jKQoreworCSRmaWx0ZXJlZF90eXBlZGVmc19maCA9 IGxvYWRfdHlwZWRlZnMoKTsKKwljaGVja19pbmRlbnQoKTsKK30KIAotY2hlY2tfaW5kZW50KCk7 CitpZiAoJGRvX3BlcmwpCit7CisJY2hlY2tfcGVybHRpZHkoKTsKK30KKworc3ViIGlzX2NfZmls ZQoreworCW15ICRmaWxlbmFtZSA9IHNoaWZ0OworCSMgSXQgbmVlZHMgdG8gaGF2ZSAuYyBvciAu aCBleHRlbnNpb24KKwlyZXR1cm4gMCB1bmxlc3MgJGZpbGVuYW1lID1+IC9cLltjaF0kLzsKKwkj IEF1dG9tYXRpY2FsbHkgaWdub3JlIC5jIGFuZCAuaCBmaWxlcyB0aGF0IGNvcnJlc3BvbmQgdG8g YSAueSBvciAubCBmaWxlLgorCSMgcGdfYnNkX2luZGVudCB0ZW5kcyB0byBnZXQgYmFkbHkgY29u ZnVzZWQgYnkgQmlzb24vZmxleCBvdXRwdXQsIGFuZAorCSMgdGhlcmUncyBubyB2YWx1ZSBpbiBp bmRlbnRpbmcgZGVyaXZlZCBmaWxlcyBhbnl3YXkuCisJbXkgJG90aGVyZmlsZSA9ICRmaWxlbmFt ZTsKKwkkb3RoZXJmaWxlID1+IHMvXC5bY2hdJC8ueS87CisJcmV0dXJuIDAgaWYgJG90aGVyZmls ZSBuZSAkZmlsZW5hbWUgJiYgLWYgJG90aGVyZmlsZTsKKwkkb3RoZXJmaWxlID1+IHMvXC55JC8u bC87CisJcmV0dXJuIDAgaWYgJG90aGVyZmlsZSBuZSAkZmlsZW5hbWUgJiYgLWYgJG90aGVyZmls ZTsKKwlyZXR1cm4gMTsKK30KKworc3ViIGlzX3BlcmxfZmlsZQoreworCW15ICRmaWxlbmFtZSA9 IHNoaWZ0OworCSMgdGFrZSBhbGwgLnBsIGFuZCAucG0gZmlsZXMKKwlyZXR1cm4gMSBpZiAkZmls ZW5hbWUgPX4gL1wucFtsbV0kLzsKKwkjIHRha2UgZXhlY3V0YWJsZSBmaWxlcyB0aGF0IGZpbGUo MSkgdGhpbmtzIGFyZSBwZXJsIGZpbGVzCisJcmV0dXJuIDAgdW5sZXNzIC14ICRmaWxlbmFtZTsK KwlteSAkZmlsZV9vdXQgPSBgZmlsZSAiJGZpbGVuYW1lImA7CisJcmV0dXJuICRmaWxlX291dCA9 fiAvOi4qcGVybFswLTldKlxiL2k7Cit9CiAKIHN1YiBkaXNjb3Zlcl9maWxlcwogewpAQCAtNDQ5 LDE0ICs1NzMsMjcgQEAgc3ViIGRpc2NvdmVyX2ZpbGVzCiAJCW15IEBnaXRfZmlsZXMgPSBgZ2l0 IGxzLWZpbGVzIC0tIEBkaXJzYDsKIAkJZGllICJnaXQgbHMtZmlsZXMgZXJyb3IiIGlmICQ/Owog CQljaG9tcChAZ2l0X2ZpbGVzKTsKLQkJcHVzaChAZGlzY292ZXJlZCwgZ3JlcCB7IC9cLltjaF0k LyB9IEBnaXRfZmlsZXMpOworCQlwdXNoKEBkaXNjb3ZlcmVkLCBAZ2l0X2ZpbGVzKTsKIAl9CiAK IAlyZXR1cm4gQGRpc2NvdmVyZWQ7CiB9CiAKICMgYW55IG5vbi1vcHRpb24gYXJndW1lbnRzIGFy ZSBmaWxlcyBvciBkaXJlY3RvcmllcyB0byBiZSBwcm9jZXNzZWQKLXB1c2goQGZpbGVzLCBkaXNj b3Zlcl9maWxlcyhAQVJHVikpIGlmIEBBUkdWOworaWYgKEBBUkdWKQoreworCWZvcmVhY2ggbXkg JGYgKGRpc2NvdmVyX2ZpbGVzKEBBUkdWKSkKKwl7CisJCWlmICgkZG9fYyAmJiBpc19jX2ZpbGUo JGYpKQorCQl7CisJCQlwdXNoKEBmaWxlcywgJGYpOworCQl9CisJCWVsc2lmICgkZG9fcGVybCAm JiBpc19wZXJsX2ZpbGUoJGYpKQorCQl7CisJCQlwdXNoKEBmaWxlcywgJGYpOworCQl9CisJfQor fQogCiAjIGNvbW1pdCBmaWxlIGxvY2F0aW9ucyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNvdXJjZSBy b290CiBjaGRpciAiJHNvdXJjZWRpci8uLi8uLi8uLiIgaWYgQGNvbW1pdHMgJiYgJHNvdXJjZWRp cjsKQEAgLTQ2OCw3ICs2MDUsOCBAQCBmb3JlYWNoIG15ICRjb21taXQgKEBjb21taXRzKQogCW15 IEBhZmZlY3RlZCA9IGBnaXQgZGlmZiAtLWRpZmYtZmlsdGVyPUFDTVIgLS1uYW1lLW9ubHkgJHBy ZXYgJGNvbW1pdGA7CiAJZGllICJnaXQgZXJyb3IiIGlmICQ/OwogCWNob21wKEBhZmZlY3RlZCk7 Ci0JcHVzaChAZmlsZXMsIEBhZmZlY3RlZCk7CisJcHVzaChAZmlsZXMsIGdyZXAgeyBpc19jX2Zp bGUoJF8pIH0gQGFmZmVjdGVkKSBpZiAkZG9fYzsKKwlwdXNoKEBmaWxlcywgZ3JlcCB7IGlzX3Bl cmxfZmlsZSgkXykgfSBAYWZmZWN0ZWQpIGlmICRkb19wZXJsOwogfQogCiB3YXJuICJObyBmaWxl cyB0byBwcm9jZXNzIiB1bmxlc3MgQGZpbGVzOwpAQCAtNDgzLDUwICs2MjEsNDEgQEAgc3ViIHBy b2Nlc3NfZmlsZQogewogCW15ICRzb3VyY2VfZmlsZW5hbWUgPSBzaGlmdDsKIAotCSMgaWdub3Jl IGFueXRoaW5nIHRoYXQncyBub3QgYSAuYyBvciAuaCBmaWxlCi0JcmV0dXJuIDAgdW5sZXNzICRz b3VyY2VfZmlsZW5hbWUgPX4gL1wuW2NoXSQvOwotCi0JIyBkb24ndCB0cnkgdG8gaW5kZW50IGEg ZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QKKwkjIGRvbid0IHRyeSB0byBmb3JtYXQgYSBmaWxlIHRo YXQgZG9lc24ndCBleGlzdAogCXVubGVzcyAoLWYgJHNvdXJjZV9maWxlbmFtZSkKIAl7CiAJCXdh cm4gIkNvdWxkIG5vdCBmaW5kICRzb3VyY2VfZmlsZW5hbWUiOwogCQlyZXR1cm4gMDsKIAl9Ci0J IyBBdXRvbWF0aWNhbGx5IGlnbm9yZSAuYyBhbmQgLmggZmlsZXMgdGhhdCBjb3JyZXNwb25kIHRv IGEgLnkgb3IgLmwKLQkjIGZpbGUuICBpbmRlbnQgdGVuZHMgdG8gZ2V0IGJhZGx5IGNvbmZ1c2Vk IGJ5IEJpc29uL2ZsZXggb3V0cHV0LAotCSMgYW5kIHRoZXJlJ3Mgbm8gdmFsdWUgaW4gaW5kZW50 aW5nIGRlcml2ZWQgZmlsZXMgYW55d2F5LgotCW15ICRvdGhlcmZpbGUgPSAkc291cmNlX2ZpbGVu YW1lOwotCSRvdGhlcmZpbGUgPX4gcy9cLltjaF0kLy55LzsKLQlyZXR1cm4gMCBpZiAkb3RoZXJm aWxlIG5lICRzb3VyY2VfZmlsZW5hbWUgJiYgLWYgJG90aGVyZmlsZTsKLQkkb3RoZXJmaWxlID1+ IHMvXC55JC8ubC87Ci0JcmV0dXJuIDAgaWYgJG90aGVyZmlsZSBuZSAkc291cmNlX2ZpbGVuYW1l ICYmIC1mICRvdGhlcmZpbGU7CiAKIAlteSAkc291cmNlID0gcmVhZF9zb3VyY2UoJHNvdXJjZV9m aWxlbmFtZSk7Ci0JbXkgJG9yaWdfc291cmNlID0gJHNvdXJjZTsKLQlteSAkZXJyb3JfbWVzc2Fn ZSA9ICcnOworCW15ICgkZm9ybWF0dGVkLCAkZmFpbHVyZSk7CiAKLQkkc291cmNlID0gcHJlX2lu ZGVudCgkc291cmNlKTsKKwlpZiAoJHNvdXJjZV9maWxlbmFtZSA9fiAvXC5bY2hdJC8pCisJewor CQkoJGZvcm1hdHRlZCwgJGZhaWx1cmUpID0gZm9ybWF0X2MoJHNvdXJjZSwgJHNvdXJjZV9maWxl bmFtZSk7CisJfQorCWVsc2UKKwl7CisJCSgkZm9ybWF0dGVkLCAkZmFpbHVyZSkgPSBmb3JtYXRf cGVybCgkc291cmNlLCAkc291cmNlX2ZpbGVuYW1lKTsKKwl9CiAKLQkkc291cmNlID0gcnVuX2lu ZGVudCgkc291cmNlLCBcJGVycm9yX21lc3NhZ2UpOwotCWlmICgkc291cmNlIGVxICIiKQorCWlm ICgkZmFpbHVyZSkKIAl7Ci0JCXByaW50IFNUREVSUiAiRmFpbHVyZSBpbiAkc291cmNlX2ZpbGVu YW1lOiAiIC4gJGVycm9yX21lc3NhZ2UgLiAiXG4iOwogCQlyZXR1cm4gMzsKIAl9CiAKLQkkc291 cmNlID0gcG9zdF9pbmRlbnQoJHNvdXJjZSk7Ci0KLQlpZiAoJHNvdXJjZSBuZSAkb3JpZ19zb3Vy Y2UpCisJaWYgKCRmb3JtYXR0ZWQgbmUgJHNvdXJjZSkKIAl7CiAJCWlmICghJGRpZmYgJiYgISRj aGVjaykKIAkJewotCQkJd3JpdGVfc291cmNlKCRzb3VyY2UsICRzb3VyY2VfZmlsZW5hbWUpOwor CQkJd3JpdGVfc291cmNlKCRmb3JtYXR0ZWQsICRzb3VyY2VfZmlsZW5hbWUpOwogCQl9CiAJCWVs c2UKIAkJewogCQkJaWYgKCRkaWZmKQogCQkJewotCQkJCW15ICRvdXRwdXQgPSBkaWZmKCRzb3Vy Y2UsICRzb3VyY2VfZmlsZW5hbWUpOworCQkJCW15ICRvdXRwdXQgPSBkaWZmKCRmb3JtYXR0ZWQs ICRzb3VyY2VfZmlsZW5hbWUpOwogCQkJCWZsb2NrKCRzdGRvdXRfbG9ja19maCwgTE9DS19FWCk7 CiAJCQkJcHJpbnQgJG91dHB1dDsKIAkJCQlTVERPVVQtPmZsdXNoKCk7CmRpZmYgLS1naXQgYS9z cmMvdG9vbHMvcGdpbmRlbnQvcGdwZXJsdGlkeSBiL3NyYy90b29scy9wZ2luZGVudC9wZ3Blcmx0 aWR5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA4NzgzOGQ2YmRlMy4uMDAwMDAwMDAw MDAKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3BncGVybHRpZHkKKysrIC9kZXYvbnVsbApAQCAt MSwxOCArMCwwIEBACi0jIS9iaW4vc2gKLQotIyBzcmMvdG9vbHMvcGdpbmRlbnQvcGdwZXJsdGlk eQotCi1zZXQgLWUKLQotIyBzZXQgdGhpcyB0byBvdmVycmlkZSBkZWZhdWx0IHBlcmx0aWR5IHBy b2dyYW06Ci1QRVJMVElEWT0ke1BFUkxUSURZOi1wZXJsdGlkeX0KLQotUEVSTFRJRFlfVkVSU0lP Tj0yMDIzMDMwOQotaWYgISAkUEVSTFRJRFkgLXYgfCBncmVwIC1xICRQRVJMVElEWV9WRVJTSU9O OyB0aGVuCi0JZWNobyAiWW91IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZSAkUEVSTFRJRFkgdmVyc2lv biAkUEVSTFRJRFlfVkVSU0lPTiBpbnN0YWxsZWQgb24geW91ciBzeXN0ZW0uIiA+JjIKLQlleGl0 IDEKLWZpCi0KLS4gc3JjL3Rvb2xzL3BlcmxjaGVjay9maW5kX3BlcmxfZmlsZXMKLQotZmluZF9w ZXJsX2ZpbGVzICIkQCIgfCB4YXJncyAkUEVSTFRJRFkgLS1wcm9maWxlPXNyYy90b29scy9wZ2lu ZGVudC9wZXJsdGlkeXJjCi0tIAoyLjUzLjAKCg== --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0008-pgindent-Add-easy-way-of-getting-perltidy.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0008-pgindent-Add-easy-way-of-getting-perltidy.patch RnJvbSAzZjVlYTcwMWNmOGI5YWJmNGZiOTc4MDRkYWFlZTE1ODg5YjE1OTg3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBXZWQsIDQgTWFyIDIwMjYgMDk6MDQ6MTUgKzAxMDAKU3ViamVjdDogW1BBVENIIHYz IDgvOF0gcGdpbmRlbnQ6IEFkZCBlYXN5IHdheSBvZiBnZXR0aW5nIHBlcmx0aWR5CgpXZSBuZWVk IGEgdmVyeSBzcGVjaWZpYyBwZXJsdGlkeSB2ZXJzaW9uLCBidXQgZ2V0dGluZyB0aGF0IGluc3Rh bGxlZCBpcwpxdWl0ZSBhIGhhc3NsZS4gRXNwZWNpYWxseSBmb3IgcGVvcGxlIHdobyBkb24ndCB1 c2UgcGVybCBvbiBhIGRhaWx5CmJhc2lzLiBUaGlzIGFkZHMgYSBzbWFsbCBzY3JpcHQgdG8gZG93 bmxvYWQgdGhlIGV4YWN0IHBlcmx0aWR5IHZlcnNpb24KdGhhdCB3ZSBuZWVkLgotLS0KIHNyYy90 b29scy9wZ2luZGVudC8uZ2l0aWdub3JlICAgfCAgMSArCiBzcmMvdG9vbHMvcGdpbmRlbnQvUkVB RE1FICAgICAgIHwgMTYgKysrKy0tLS0tCiBzcmMvdG9vbHMvcGdpbmRlbnQvZ2V0X3Blcmx0aWR5 IHwgNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRl bnQvcGdpbmRlbnQgICAgIHwgMzAgKysrKysrKysrKysrKy0tLQogNCBmaWxlcyBjaGFuZ2VkLCA5 NiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMv dG9vbHMvcGdpbmRlbnQvLmdpdGlnbm9yZQogY3JlYXRlIG1vZGUgMTAwNzU1IHNyYy90b29scy9w Z2luZGVudC9nZXRfcGVybHRpZHkKCmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvLmdp dGlnbm9yZSBiL3NyYy90b29scy9wZ2luZGVudC8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xNDk3MjE3MTEzYgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Yy90b29scy9wZ2luZGVudC8uZ2l0aWdub3JlCkBAIC0wLDAgKzEgQEAKKy9wZXJsdGlkeS8KZGlm ZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC9SRUFETUUgYi9zcmMvdG9vbHMvcGdpbmRlbnQv UkVBRE1FCmluZGV4IDJlMzE0NzFkN2U2Li4yNjQwMzhlN2UwOSAxMDA2NDQKLS0tIGEvc3JjL3Rv b2xzL3BnaW5kZW50L1JFQURNRQorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvUkVBRE1FCkBAIC0x NywxNCArMTcsMTQgQEAgUFJFUkVRVUlTSVRFUzoKIAogMikgSW5zdGFsbCBwZXJsdGlkeS4gIFBs ZWFzZSBiZSBzdXJlIGl0IGlzIHZlcnNpb24gMjAyMzAzMDkgKG9sZGVyIGFuZCBuZXdlcgogICAg dmVyc2lvbnMgbWFrZSBkaWZmZXJlbnQgZm9ybWF0dGluZyBjaG9pY2VzLCBhbmQgd2Ugd2FudCBj b25zaXN0ZW5jeSkuCi0gICBZb3UgY2FuIGdldCB0aGUgY29ycmVjdCB2ZXJzaW9uIGZyb20KLSAg IGh0dHBzOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvYXV0aG9ycy9pZC9TL1NIL1NIQU5DT0NLLwotICAg VG8gaW5zdGFsbCwgZm9sbG93IHRoZSB1c3VhbCBpbnN0YWxsIHByb2Nlc3MgZm9yIGEgUGVybCBt b2R1bGUKLSAgICgibWFuIHBlcmxtb2RpbnN0YWxsIiBleHBsYWlucyBpdCkuICBPciwgaWYgeW91 IGhhdmUgY3BhbiBpbnN0YWxsZWQsCi0gICB0aGlzIHNob3VsZCB3b3JrOgotICAgY3BhbiBTSEFO Q09DSy9QZXJsLVRpZHktMjAyMzAzMDkudGFyLmd6Ci0gICBPciBpZiB5b3UgaGF2ZSBjcGFubSBp bnN0YWxsZWQsIHlvdSBjYW4ganVzdCB1c2U6Ci0gICBjcGFubSBodHRwczovL2NwYW4ubWV0YWNw YW4ub3JnL2F1dGhvcnMvaWQvUy9TSC9TSEFOQ09DSy9QZXJsLVRpZHktMjAyMzAzMDkudGFyLmd6 CisKKyAgIFRoZSBlYXNpZXN0IHdheSBpcyB0byB1c2UgdGhlIGdldF9wZXJsdGlkeSBzY3JpcHQs IHdoaWNoIGRvd25sb2FkcywKKyAgIHZlcmlmaWVzLCBhbmQgaW5zdGFsbHMgdGhlIGNvcnJlY3Qg dmVyc2lvbiBpbnRvIHRoZSBzb3VyY2UgdHJlZToKKworCXNyYy90b29scy9wZ2luZGVudC9nZXRf cGVybHRpZHkKKworICAgVGhpcyBpbnN0YWxscyBwZXJsdGlkeSBpbnRvIHNyYy90b29scy9wZ2lu ZGVudC9wZXJsdGlkeS8sIHdoaWNoCisgICBwZ2luZGVudCB3aWxsIGZpbmQgYXV0b21hdGljYWxs eS4KIAogCiBET0lORyBUSEUgSU5ERU5UIFJVTiBCRUZPUkUgQSBOT1JNQUwgQ09NTUlUOgpkaWZm IC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L2dldF9wZXJsdGlkeSBiL3NyYy90b29scy9wZ2lu ZGVudC9nZXRfcGVybHRpZHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAu LjA5Y2U0YTE5NWNiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L2dldF9w ZXJsdGlkeQpAQCAtMCwwICsxLDYyIEBACisjIS9iaW4vc2gKKworIyBzcmMvdG9vbHMvcGdpbmRl bnQvZ2V0X3Blcmx0aWR5CisjCisjIERvd25sb2FkcyBhbmQgaW5zdGFsbHMgcGVybHRpZHkgMjAy MzAzMDkgaW50byBzcmMvdG9vbHMvcGdpbmRlbnQvcGVybHRpZHkvLgorCitzZXQgLWUKKworUEVS TFRJRFlfVkVSU0lPTj0yMDIzMDMwOQorUEVSTFRJRFlfVEFSQkFMTD0iUGVybC1UaWR5LSR7UEVS TFRJRFlfVkVSU0lPTn0udGFyLmd6IgorUEVSTFRJRFlfVVJMPSJodHRwczovL2NwYW4ubWV0YWNw YW4ub3JnL2F1dGhvcnMvaWQvUy9TSC9TSEFOQ09DSy8ke1BFUkxUSURZX1RBUkJBTEx9IgorUEVS TFRJRFlfU0hBMjU2PSJlMjI5NDlhMjA4YzYxOGQ2NzFhMThjNTgyOWI0NTFhYmJlOWRhMGRhMmNk ZGQ3OGZkYmZjYjAzNmM3MzYxYzE4IgorCisjIERldGVybWluZSB0aGUgZGlyZWN0b3J5IHRoaXMg c2NyaXB0IGxpdmVzIGluLCBpLmUuIHNyYy90b29scy9wZ2luZGVudAorU0NSSVBUX0RJUj0kKGNk ICIkKGRpcm5hbWUgIiQwIikiICYmIHB3ZCkKKworUEVSTFRJRFlfRElSPSIkU0NSSVBUX0RJUi9w ZXJsdGlkeSIKK1BFUkxUSURZX0JJTj0iJFBFUkxUSURZX0RJUi9iaW4vcGVybHRpZHkiCisKKyMg Q2hlY2sgaWYgYWxyZWFkeSBpbnN0YWxsZWQgd2l0aCB0aGUgY29ycmVjdCB2ZXJzaW9uCitpZiBb IC14ICIkUEVSTFRJRFlfQklOIiBdOyB0aGVuCisJcGVybHRpZHlfbGliPSIkUEVSTFRJRFlfRElS L2xpYi9wZXJsNSIKKwlpbnN0YWxsZWRfdmVyc2lvbj0kKFBFUkw1TElCPSIkcGVybHRpZHlfbGli JHtQRVJMNUxJQjorOiRQRVJMNUxJQn0iICIkUEVSTFRJRFlfQklOIiAtdiAyPi9kZXYvbnVsbCB8 fCB0cnVlKQorCWlmIGVjaG8gIiRpbnN0YWxsZWRfdmVyc2lvbiIgfCBncmVwIC1xICIkUEVSTFRJ RFlfVkVSU0lPTiI7IHRoZW4KKwkJZWNobyAicGVybHRpZHkgJFBFUkxUSURZX1ZFUlNJT04gaXMg YWxyZWFkeSBpbnN0YWxsZWQgaW4gJFBFUkxUSURZX0RJUiIKKwkJZXhpdCAwCisJZmkKK2ZpCisK K1dPUktfRElSPSQobWt0ZW1wIC1kKQordHJhcCAncm0gLXJmICIkV09SS19ESVIiJyBFWElUCisK KyMgRG93bmxvYWQKK1RBUkJBTEw9IiRXT1JLX0RJUi8kUEVSTFRJRFlfVEFSQkFMTCIKK2lmIGNv bW1hbmQgLXYgY3VybCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwljdXJsIC1zU0wgLW8gIiRUQVJC QUxMIiAiJFBFUkxUSURZX1VSTCIKK2VsaWYgY29tbWFuZCAtdiB3Z2V0ID4vZGV2L251bGwgMj4m MTsgdGhlbgorCXdnZXQgLXEgLU8gIiRUQVJCQUxMIiAiJFBFUkxUSURZX1VSTCIKK2Vsc2UKKwll Y2hvICJlcnJvcjogbmVpdGhlciBjdXJsIG5vciB3Z2V0IGZvdW5kIiA+JjIKKwlleGl0IDEKK2Zp CisKKyMgVmVyaWZ5IFNIQTI1NgoraWYgY29tbWFuZCAtdiBzaGEyNTZzdW0gPi9kZXYvbnVsbCAy PiYxOyB0aGVuCisJZWNobyAiJFBFUkxUSURZX1NIQTI1NiAgJFRBUkJBTEwiIHwgc2hhMjU2c3Vt IC1jIC0gPi9kZXYvbnVsbAorZWxpZiBjb21tYW5kIC12IHNoYXN1bSA+L2Rldi9udWxsIDI+JjE7 IHRoZW4KKwllY2hvICIkUEVSTFRJRFlfU0hBMjU2ICAkVEFSQkFMTCIgfCBzaGFzdW0gLWEgMjU2 IC1jIC0gPi9kZXYvbnVsbAorZWxzZQorCWVjaG8gImVycm9yOiBuZWl0aGVyIHNoYTI1NnN1bSBu b3Igc2hhc3VtIGZvdW5kIiA+JjIKKwlleGl0IDEKK2ZpCisKKyMgRXh0cmFjdCwgYnVpbGQsIGlu c3RhbGwKK2NkICIkV09SS19ESVIiCit0YXIgeHpmICIkVEFSQkFMTCIKK2NkICJQZXJsLVRpZHkt JHtQRVJMVElEWV9WRVJTSU9OfSIKK3BlcmwgTWFrZWZpbGUuUEwgSU5TVEFMTF9CQVNFPSIkUEVS TFRJRFlfRElSIiA+L2Rldi9udWxsCittYWtlID4vZGV2L251bGwKK21ha2UgaW5zdGFsbCA+L2Rl di9udWxsCisKK2VjaG8gInBlcmx0aWR5ICRQRVJMVElEWV9WRVJTSU9OIGluc3RhbGxlZCBpbiAk UEVSTFRJRFlfRElSIgpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50IGIv c3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50CmluZGV4IDlkNjM1YjdhMjJiLi44MDAzZGFkYzRl MSAxMDA3NTUKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50CisrKyBiL3NyYy90b29s cy9wZ2luZGVudC9wZ2luZGVudApAQCAtMTEyLDE0ICsxMTIsMzQgQEAgdXNhZ2UoIkNhbm5vdCB1 c2UgLS1jb21taXQgd2l0aCBjb21tYW5kIGxpbmUgZmlsZSBsaXN0IikKICMgZGlyLCB0aGVuIGRl ZmF1bHQgbG9jYXRpb24KICR0eXBlZGVmc19maWxlIHx8PSAkRU5We1BHVFlQRURFRlN9OwogCi0j IGdldCBwZXJsdGlkeSBsb2NhdGlvbjogY29tbWFuZCBsaW5lIHdpbnMsIHRoZW4gZW52aXJvbm1l bnQsIHRoZW4gZGVmYXVsdC4KLSMgLS1wZXJsdGlkeSAod2l0aCBvciB3aXRob3V0IGEgcGF0aCkg YW5kIC0tcGVybC1vbmx5IGFsbCBpbXBseSBwZXJsdGlkeSBpcwotIyB3YW50ZWQsIGZhbGxpbmcg YmFjayB0byB0aGUgUEVSTFRJRFkgZW52IHZhciwgdGhlbiAicGVybHRpZHkiIGluIFBBVEguCi1t eSAkcGVybHRpZHkgPSAkcGVybHRpZHlfYXJnIHx8ICRFTlZ7UEVSTFRJRFl9Ci0gIHx8IChkZWZp bmVkKCRwZXJsdGlkeV9hcmcpIHx8ICRwZXJsX29ubHkgPyAicGVybHRpZHkiIDogdW5kZWYpOwor IyBnZXQgcGVybHRpZHkgbG9jYXRpb246IGNvbW1hbmQgbGluZSB3aW5zLCB0aGVuIGVudmlyb25t ZW50LCB0aGVuIHRyeSB0bworIyBmaW5kIGEgZ2V0X3Blcmx0aWR5LWluc3RhbGxlZCBjb3B5IGlu IHRoZSBzb3VyY2UgdHJlZSwgdGhlbiBmYWxsIGJhY2sgdG8KKyMgUEFUSC4gIC0tcGVybHRpZHkg KHdpdGggb3Igd2l0aG91dCBhIHBhdGgpIGFuZCAtLXBlcmwtb25seSBhbGwgaW1wbHkKKyMgcGVy bHRpZHkgaXMgd2FudGVkLgorbXkgJHBlcmx0aWR5ID0gJHBlcmx0aWR5X2FyZyB8fCAkRU5We1BF UkxUSURZfTsKIAogbXkgJHNvdXJjZWRpciA9IGxvY2F0ZV9zb3VyY2VkaXIoKTsKIAoraWYgKCEk cGVybHRpZHkgJiYgKGRlZmluZWQoJHBlcmx0aWR5X2FyZykgfHwgJHBlcmxfb25seSkgJiYgJHNv dXJjZWRpcikKK3sKKwkjIExvb2sgZm9yIGEgZ2V0X3Blcmx0aWR5LWluc3RhbGxlZCBwZXJsdGlk eSBpbiB0aGUgc291cmNlIHRyZWUuCisJbXkgJGNhbmRpZGF0ZSA9ICIkc291cmNlZGlyL3Blcmx0 aWR5L2Jpbi9wZXJsdGlkeSI7CisJaWYgKC14ICRjYW5kaWRhdGUpCisJeworCQkkcGVybHRpZHkg PSAkY2FuZGlkYXRlOworCisJCSMgTG9jYWwgaW5zdGFsbHMgbmVlZCBQRVJMNUxJQiBzZXQgc28g cGVybHRpZHkgY2FuIGZpbmQgaXRzCisJCSMgbW9kdWxlcy4KKwkJbXkgJGxpYmRpciA9ICIkc291 cmNlZGlyL3Blcmx0aWR5L2xpYi9wZXJsNSI7CisJCWlmICgtZCAkbGliZGlyKQorCQl7CisJCQkk RU5We1BFUkw1TElCfSA9CisJCQkgICRFTlZ7UEVSTDVMSUJ9ID8gIiRsaWJkaXI6JEVOVntQRVJM NUxJQn0iIDogJGxpYmRpcjsKKwkJfQorCX0KK30KKyRwZXJsdGlkeSB8fD0gKGRlZmluZWQoJHBl cmx0aWR5X2FyZykgfHwgJHBlcmxfb25seSA/ICJwZXJsdGlkeSIgOiB1bmRlZik7CisKICMgZ2V0 IGluZGVudCBsb2NhdGlvbjogY29tbWFuZCBsaW5lIHdpbnMsIHRoZW4gZW52aXJvbm1lbnQsIHRo ZW4gdHJ5IHRvIGZpbmQKICMgYSBjb21waWxlZCBwZ19ic2RfaW5kZW50IGluIHRoZSBzb3VyY2Ug dHJlZSwgdGhlbiBmYWxsIGJhY2sgdG8gUEFUSC4KICRpbmRlbnQgfHw9ICRFTlZ7UEdJTkRFTlR9 IHx8ICRFTlZ7SU5ERU5UfTsKLS0gCjIuNTMuMAoK --cf4df9c237a64787cad5123912946bd5c7f15ba4d0efdaa0c55065de4b97--