From owner-freebsd-cvsweb@FreeBSD.ORG Sun Nov 23 11:52:24 2003 Return-Path: Delivered-To: freebsd-cvsweb@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0213116A4CE; Sun, 23 Nov 2003 11:52:24 -0800 (PST) Received: from sccrmhc13.comcast.net (sccrmhc13.comcast.net [204.127.202.64]) by mx1.FreeBSD.org (Postfix) with ESMTP id D347B43FE0; Sun, 23 Nov 2003 11:52:22 -0800 (PST) (envelope-from bryce1@obviously.com) Received: from obviously.com (h0010a4e2603c.ne.client2.attbi.com[24.61.43.4]) by comcast.net (sccrmhc13) with SMTP id <2003112319522201600rg5bie>; Sun, 23 Nov 2003 19:52:22 +0000 Message-ID: <3FC10FF5.4020209@obviously.com> Date: Sun, 23 Nov 2003 14:52:21 -0500 From: "Bryce Nesbitt (spam account)" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007 X-Accept-Language: en-us, es, en, de, he MIME-Version: 1.0 To: freebsd-cvsweb@FreeBSD.org References: <3FB23C1F.6040502@obviously.com> <1068661352.4763.72.camel@bobcat.mine.nu> <3FB28082.6070707@obviously.com> <1068671035.4763.136.camel@bobcat.mine.nu> <3FB55A2E.9090809@obviously.com> In-Reply-To: <3FB55A2E.9090809@obviously.com> Content-Type: multipart/mixed; boundary="------------000301000802010905030103" cc: =?UTF-8?B?VmlsbGUgU2t5dHTDpA==?= Subject: Re: Patch to cvsweb? X-BeenThere: freebsd-cvsweb@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS Web maintenance mailing list [restricted posting] List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 19:52:24 -0000 This is a multi-part message in MIME format. --------------000301000802010905030103 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Bryce Nesbitt wrote: > Ville Skyttä wrote: > >> On Wed, 2003-11-12 at 20:48, Bryce Nesbitt (spam account) wrote: >> >>> I implemented an external diff utility. In this case, it >>> compares binary application files stored inside a .zip archive. >>> >> >> >> Whoo, looks cool. Could you post the source code (or prefreably a >> unified diff against CVS HEAD) somewhere? > Here's an upgraded version, where you can specify a customized diff utility for any mime type (e.g. "excel_diff" for ".xls" files). This also works for sets of files stored in .zip archives. The patch is supplied against the German FreeBSD mirror, since the USA mirror seems to be having some sort of problem. -Bryce Nesbitt --------------000301000802010905030103 Content-Type: text/plain; name="cvsweb_arbitrary_diff.udiff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="cvsweb_arbitrary_diff.udiff" SW5kZXg6IGN2c3dlYi5jZ2kKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9w cm9qZWN0cy9jdnN3ZWIvY3Zzd2ViLmNnaSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMTUK ZGlmZiAtdSAtcjEuMjE1IGN2c3dlYi5jZ2kKLS0tIGN2c3dlYi5jZ2kJMjUgT2N0IDIwMDMg MTk6MTY6MzIgLTAwMDAJMS4yMTUKKysrIGN2c3dlYi5jZ2kJMjMgTm92IDIwMDMgMTg6NTQ6 NTMgLTAwMDAKQEAgLTEsNCArMSw0IEBACi0jIS91c3IvYmluL3BlcmwgLVQKKyMhL3Vzci9i aW4vcGVybCAtVCAtSUlQQy1SdW4tMC43Ny9saWIKICMKICMgY3Zzd2ViIC0gYSBDR0kgaW50 ZXJmYWNlIHRvIENWUyB0cmVlcy4KICMKQEAgLTYzLDYgKzYzLDcgQEAKICAgJGNvbmZpZyAk YWxsb3dfdmVyc2lvbl9zZWxlY3QKICAgQENWU3JlcG9zaXRvcmllcyBAQ1ZTUk9PVCAlQ1ZT Uk9PVCAlQ1ZTUk9PVGRlc2NyCiAgICVNSVJST1JTICVERUZBVUxUVkFMVUUgJUlDT05TICVN VFlQRVMKKyAgJURJRkZfQ09NTUFORFMgJURJRkZfT1BUSU9OUwogICBARElGRlRZUEVTICVE SUZGVFlQRVMgQExPR1NPUlRLRVlTICVMT0dTT1JUS0VZUwogICAlYWxsdGFncyAlZmlsZWlu Zm8gJXRhZ3MgQGJyYW5jaG5hbWVzICVuYW1lcHJpbnRlZAogICAlc3ltcmV2ICVyZXZzeW0g QGFsbHJldmlzaW9ucyAlZGF0ZSAlYXV0aG9yIEByZXZkaXNwbGF5b3JkZXIKQEAgLTk5LDcg KzEwMCw3IEBACiB1c2UgRmlsZTo6UGF0aCAgICAgICAgICAgIHF3KHJtdHJlZSk7CiB1c2Ug RmlsZTo6U3BlYzo6RnVuY3Rpb25zIHF3KGNhdGRpciBjYXRmaWxlIGN1cmRpciBkZXZudWxs IHJvb3RkaXIgdG1wZGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGlyKTsK LXVzZSBGaWxlOjpUZW1wICAgICAgICAgICAgcXcodGVtcGRpcik7Cit1c2UgRmlsZTo6VGVt cCAgICAgICAgICAgIHF3KHRlbXBkaXIgdGVtcGZpbGUpOwogdXNlIElQQzo6UnVuICAgICAg ICAgICAgICBxdyhmaW5pc2ggdGltZW91dCk7CiB1c2UgVGltZTo6TG9jYWwgICAgICAgICAg IHF3KHRpbWVnbSk7CiB1c2UgVVJJOjpFc2NhcGUgICAgICAgICAgIHF3KHVyaV9lc2NhcGUg dXJpX3VuZXNjYXBlKTsKQEAgLTIwOSw2ICsyMTAsNyBAQAogc3ViIGZvcmJpZGRlbl9tb2R1 bGUoJCk7CiBzdWIgc3RhcnRwcm9jKEApOwogc3ViIHJ1bnByb2MoQCk7CitzdWIgY2hlY2tv dXRfdG9fdGVtcCgkJCQpOwogCiAjIyMjIyBTdGFydCBvZiBDb25maWd1cmF0aW9uIEFyZWEg IyMjIyMjIyMKIApAQCAtMjIzMiw3ICsyMjM0LDEyNSBAQAogICBteSBAZGlmZnR5cGUgICAg ICAgPSBAeyRkaWZmdHlwZS0+eydvcHRzJ319OwogICBteSAkaHVtYW5fcmVhZGFibGUgPSAk ZGlmZnR5cGUtPnsnY29sb3JlZCd9OwogCi0gICMgYXBwbHkgc3BlY2lhbCBvcHRpb25zCisK KyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgbXkgJG1pbWV0eXBlICA9IGdldE1pbWVUeXBlKCRm dWxsbmFtZSk7CisgIG15ICRjdnNuYW1lICAgPSAgJHdoZXJlOworICBteSAkY3ZzbW9kdWxl ID0gICRtb2R1bGU7CisgIG15ICRkaWZmdXRpbDsKKyAgbXkgJHVuY29tcHJlc3N1dGlsOwor CisgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgICMgICAgIEhhbmRsZSAuemlwIGFyY2hpdmVzLCB1 bmNvbXByZXNzaW5nIGZpcnN0IGFuZCBsb29raW5nIGluc2lkZQorICAjCisgIGlmKCAkbWlt ZXR5cGUgZXEgImFwcGxpY2F0aW9uL3ppcCIgKSAgeworICAgICR1bmNvbXByZXNzdXRpbCA9 ICJ1bnppcCI7CisKKyAgICBodHRwX2hlYWRlcigidGV4dC9wbGFpbiIpOworCisgICAgIyBD aGVjayBpZiBwcm9wZXIgYmluYXJ5IGlzIGluIHBhdGgKKyAgICBpZiggIWRlZmluZWQgJENN RHskdW5jb21wcmVzc3V0aWx9IHx8ICRDTUR7JHVuY29tcHJlc3N1dGlsfSBlcSAiIiApIHsK KyAgICAgICBwcmludCAiRXJyb3I6IGNhbid0IGZpbmQgdXRpbGl0eSAnJHVuY29tcHJlc3N1 dGlsJyB0byBoYW5kbGUgbWltZXR5cGUgJyRtaW1ldHlwZSdcbiI7CisgICAgICAgZXhpdCAx OworICAgIH0KKworICAgICMgQ3JlYXRlIHR3byB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMKKyAg ICBteSAkdG1wZXhwb3J0ZGlyMSA9IHRlbXBkaXIoJ2N2c3dlYjEuWFhYWFhYWFgnLCBUTVBE SVIgPT4gMSk7CisgICAgbXkgJHRtcGV4cG9ydGRpcjIgPSB0ZW1wZGlyKCdjdnN3ZWIyLlhY WFhYWFhYJywgVE1QRElSID0+IDEpOworICAgICRjdnNuYW1lID1+IHMvXC5kaWZmJC8vOwor ICAgIG15ICgkdGVtcF9mbjEsICR0ZW1wX2ZuMik7CisKKyAgICAjIENoZWNrIG91dCBhbmQg dW5jb21wcmVzcyByZXYxCisgICAgY2hkaXIoJHRtcGV4cG9ydGRpcjEpIG9yIGV4aXQgLTE7 CisgICAgJHRlbXBfZm4xID0gY2hlY2tvdXRfdG9fdGVtcCgkY3Zzcm9vdCwkY3ZzbmFtZSwk cmV2MSk7CisgICAgc3lzdGVtICgkQ01EeyR1bmNvbXByZXNzdXRpbH0sICR0ZW1wX2ZuMSk7 CisKKyAgICAjIENoZWNrIG91dCBhbmQgdW5jb21wcmVzcyByZXYyCisgICAgJGN2c25hbWUg PX4gcy9cLmRpZmYkLy87CisgICAgY2hkaXIoJHRtcGV4cG9ydGRpcjIpIG9yIGV4aXQgLTE7 CisgICAgJHRlbXBfZm4yID0gY2hlY2tvdXRfdG9fdGVtcCgkY3Zzcm9vdCwkY3ZzbmFtZSwk cmV2Mik7CisgICAgc3lzdGVtICgkQ01EeyR1bmNvbXByZXNzdXRpbH0sICR0ZW1wX2ZuMik7 CisgICAgcHJpbnRmKCJcbiIpOworCisgICAgIyBFeGFtaW5lIGVhY2ggZXh0cmFjdGVkIGZp bGUsIGNoZWNrIGlmIGEgc3BlY2lhbCBkaWZmaW5nIGNvbW1hbmQgaXMgZGVmaW5lZAorICAg ICMgVGhpcyB3YXMgZGVzaWduZWQgdG8gZGlmZiBhIHNldCBvZiByZWxhdGVkIGJpbmFyeSBm aWxlcyAtLSBwbGVhc2UgZG9uJ3QKKyAgICAjIG1ha2UgaXQgZGlmZiBldmVyeSBmaWxlLCB1 bmxlc3MgeW91IGFsc28gYWRkIGEgd2F5IHRvIGV4Y2x1ZGUgY2VydGFpbiBmaWxlcy4KKyAg ICBteSAkcHJvY2Vzc2VkX3NvbWV0aGluZyA9IDA7CisgICAgbXkgJGZuYW1lOworICAgIG9w ZW5kaXIoRElSLCAkdG1wZXhwb3J0ZGlyMikgb3IgZGllICJjYW4ndCBvcGVuZGlyICR0bXBl eHBvcnRkaXIyOiAkISI7CisgICAgd2hpbGUgKGRlZmluZWQoJGZuYW1lID0gcmVhZGRpcihE SVIpKSkgeworCisJIyBDaGVjayBmb3IgZGFuZ2Vyb3VzICItIiBhdCB0aGUgc3RhcnQgb2Yg ZWFjaCBmaWxlbmFtZSwgYW5kIHVudGFpbnQKKwlpZiAoICRmbmFtZSA9fiBtL15ccyotLiov ICkgeworCSAgICBwcmludGYgIkJhZCBmaWxlbmFtZSAkZm5hbWUsIHNraXBwaW5nXG4iOwor CSAgICBuZXh0OworCX0KKwkkZm5hbWUgPX4gLyguKikvOwkjICF1bnRhaW50IQorCSRmbmFt ZSA9ICQxOwkJIyAhdW50YWludCEKKworICAgICAgICAkbWltZXR5cGUgID0gZ2V0TWltZVR5 cGUoJGZuYW1lKTsKKyAgICAgICAgI3ByaW50ICJTYXcgZmlsZSAkZm5hbWUgfCAkbWltZXR5 cGVcbiI7CisgICAgICAgIGlmKCAkZGlmZnV0aWwgPSAkRElGRl9DT01NQU5EU3skbWltZXR5 cGV9ICkgeworICAgICAgICAgICAgaWYoIGRlZmluZWQgJERJRkZfT1BUSU9OU3skbWltZXR5 cGV9ICkgeworICAgICAgICAgICAgICAgIHN5c3RlbSgkQ01EeyRkaWZmdXRpbH0sICRESUZG X09QVElPTlN7JG1pbWV0eXBlfSwgCisgICAgICAgICAgICAgICAgICAgICAgICIkdG1wZXhw b3J0ZGlyMS8kZm5hbWUiLCAiJHRtcGV4cG9ydGRpcjIvJGZuYW1lIik7CisgICAgICAgICAg ICAgICAgJHByb2Nlc3NlZF9zb21ldGhpbmcgPSAxOworICAgICAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgICAgICBzeXN0ZW0oJENNRHskZGlmZnV0aWx9LCAiJHRtcGV4cG9ydGRp cjEvJGZuYW1lIiwgIiR0bXBleHBvcnRkaXIyLyRmbmFtZSIpOworICAgICAgICAgICAgICAg ICRwcm9jZXNzZWRfc29tZXRoaW5nID0gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor ICAgIH0KKyAgICBjbG9zZWRpcihESVIpOworCisgICAgIyBJZiB3ZSBkaWQgbm90IGRpZmYg YW55dGhpbmcgYWJvdmUsIHRoZW4ganVzdCBkbyBhIHN0YW5kYXJkICJkaWZmIC1yIgorICAg IGlmKCAhJHByb2Nlc3NlZF9zb21ldGhpbmcgKSB7CisgICAgICAgIHN5c3RlbSAoJENNRHtk aWZmfSwgIi1yIiwgIi0tIiwgIiR0bXBleHBvcnRkaXIxIiwgIiR0bXBleHBvcnRkaXIyIik7 CisgICAgfQorICAgIAorICAgICMgRGVsZXRlIHRlbXBvcmFyeSBmaWxlcyAmIGRpcmVjdG9y aWVzCisgICAgc3lzdGVtICgkQ01Ee3JtfSwgIi1yIiwgIiR0bXBleHBvcnRkaXIxIik7Cisg ICAgc3lzdGVtICgkQ01Ee3JtfSwgIi1yIiwgIiR0bXBleHBvcnRkaXIyIik7CisgICAgc3lz dGVtICgkQ01Ee3JtfSwgIiR0ZW1wX2ZuMSIpOworICAgIHN5c3RlbSAoJENNRHtybX0sICIk dGVtcF9mbjIiKTsKKyAgICBleGl0OworICAgIH0KKworCisgICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisgICMgICAgIENoZWNrIGZvciBNSU1FIHR5cGUgdGhhdCB1c2VzIGEgbm9uLXN0YW5kYXJk IGRpZmYKKyAgIworICBpZiggJGRpZmZ1dGlsID0gJERJRkZfQ09NTUFORFN7JG1pbWV0eXBl fSApICB7CisgICAgbXkgKCR0ZW1wX2ZuMSwgJHRlbXBfZm4yKTsKKyAgICBodHRwX2hlYWRl cigidGV4dC9wbGFpbiIpOworIAorICAgICMgQ3JlYXRlIHR3byB0ZW1wb3JhcnkgZmlsZXMg d2l0aCB0aGUgdHdvIHJldmlzaW9ucworICAgICRjdnNuYW1lID1+IHMvXC5kaWZmJC8vOwor ICAgICR0ZW1wX2ZuMSA9IGNoZWNrb3V0X3RvX3RlbXAoJGN2c3Jvb3QsJGN2c25hbWUsJHJl djEpOworICAgICR0ZW1wX2ZuMiA9IGNoZWNrb3V0X3RvX3RlbXAoJGN2c3Jvb3QsJGN2c25h bWUsJHJldjIpOworCisgICAgIyBNYWtlIHN1cmUgd2UgaGF2ZSBhIGNvbW1hbmQgdG8gZXhl Y3V0ZQorICAgIGlmKCAhZGVmaW5lZCAkQ01EeyRkaWZmdXRpbH0gfHwgJENNRHskZGlmZnV0 aWx9IGVxICIiICkgeworICAgICAgIHByaW50ICJFcnJvcjogY2FuJ3QgZmluZCB1dGlsaXR5 ICckZGlmZnV0aWwnIHRvIGhhbmRsZSBtaW1ldHlwZSAnJG1pbWV0eXBlJ1xuIjsKKyAgICAg ICBleGl0IDE7CisgICAgfQorCisgICAgIyBFeGVjdXRlIGNob3NlbiBkaWZmIGJpbmFyeQor ICAgIGlmKCBkZWZpbmVkICRESUZGX09QVElPTlN7JG1pbWV0eXBlfSApIHsKKwlzeXN0ZW0o JENNRHskZGlmZnV0aWx9LCAkRElGRl9PUFRJT05TeyRtaW1ldHlwZX0sICIkdGVtcF9mbjEi LCAiJHRlbXBfZm4yIik7CisgICAgfSBlbHNlIHsKKwlzeXN0ZW0oJENNRHskZGlmZnV0aWx9 LCAiJHRlbXBfZm4xIiwgIiR0ZW1wX2ZuMiIpOworICAgIH0KKworICAgICMgRGVsZXRlIHRl bXBvcmFyeSBmaWxlcworICAgIHN5c3RlbSAoJENNRHtybX0sICIkdGVtcF9mbjEiKTsKKyAg ICBzeXN0ZW0gKCRDTUR7cm19LCAiJHRlbXBfZm4yIik7CisgICAgZXhpdDsKKyAgICB9CisK KworICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICAjIHJlZ3VsYXIgZGlmZjogYXBwbHkgc3BlY2lh bCBvcHRpb25zCiAgIGlmICgkc2hvd2Z1bmMpIHsKICAgICBwdXNoIEBkaWZmdHlwZSwgJy1w JyBpZiAkZiBuZSAncyc7CiAKQEAgLTIzMjIsNyArMjQ0Miw3IEBACiAgICMgLSBBZGQgIm5v IGRpZmZlcmVuY2VzIGZvdW5kIiBpZiB0aGUgZGlmZiBjb21tYW5kIHN1cHBsaWVkIG5vIG91 dHB1dC4KICAgIwogICAjKioqIHNyYy9zeXMvbmV0aW5ldC90Y3Bfb3V0cHV0LmMgICAgIDE5 OTUvMTEvMDMgMjI6MDg6MDggICAgIDEuMTYKLSAgIy0tLSBzcmMvc3lzL25ldGluZXQvdGNw X291dHB1dC5jICAgICAxOTk1LzEyLzA1IDE3OjQ2OjM1ICAgICAxLjE3IFJFTEVOR18yXzFf MAorICAjLS0tIHNyYy9zeXMvbmV0aW5ldC90Y3Bfb3V0cHV0LmMgICAgIDE5OTUvMTIvMDUg MTc6NDY6MzUgICAgIDEuMTcgUkVMXzJfMV8wCiAgICMgKGJvZ3VzIGV4YW1wbGUsIGJ1dC4u LikKICAgIwogICBteSAoJGYxLCAkZjIpOwpAQCAtMjM1NSw2ICsyNDc1LDcgQEAKIH0KIAog CisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgU2hvdyBMb2dzIC4uCiAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0zMTA2LDggKzMyMjcsOCBAQAog ICBwcmludCAiPHA+XG4gIjsKICAgcHJpbnQgJmxpbmsoJGJhY2tpY29uLCAiJGJhY2t1cmwj JGZpbGVuYW1lIiksICIgPGI+VXAgdG8gIiwKICAgICAmY2xpY2thYmxlUGF0aCgkdXB3aGVy ZSwgMSksICI8L2I+XG48L3A+XG4iOwotICBwcmludCAiPHA+XG4gIjsKLSAgcHJpbnQgJmxp bmsoJ1JlcXVlc3QgZGlmZiBiZXR3ZWVuIGFyYml0cmFyeSByZXZpc2lvbnMnLCAnI2RpZmYn KTsKKyAgI3ByaW50ICI8cD5cbiAiOworICAjcHJpbnQgJmxpbmsoJ1JlcXVlc3QgZGlmZiBi ZXR3ZWVuIGFyYml0cmFyeSByZXZpc2lvbnMnLCAnI2RpZmYnKTsKICAgaWYgKCRhbGxvd19j dnNncmFwaCkgewogICAgIHByaW50ICcgLyAnLCAmZ3JhcGhfbGluaygnJywgJ0Rpc3BsYXkg cmV2aXNpb25zIGdyYXBoaWNhbGx5Jyk7CiAgIH0KQEAgLTQ0MDYsNiArNDUyNywyMyBAQAog ewogICBteSAoJG8pID0gQF87CiAgIENMT1NFKCRvKTsKK30KKworc3ViIGNoZWNrb3V0X3Rv X3RlbXAoJCQkKQoreworbXkgICgkY3Zzcm9vdCwkY3ZzbmFtZSwkcmV2KSA9IEBfOworbXkg ICgkcGlwZV9maCk7CisKKyAgICAjIHBpcGUgZ2l2ZW4gY3ZzIGZpbGUgaW50byBhIHRlbXBv cmFyeSBwbGFjZQorICAgIG15ICgkdGVtcF9maCwgJHRlbXBfZm4pID0gdGVtcGZpbGUoKTsK KyAgICBpZiAoIW9wZW4oJHBpcGVfZmgsICItfCIpKSB7ICAgIAkjIHN0YXJ0IGNoaWxkIHBy b2Nlc3MKKyAgICAJZXhlYyAoJENNRHtjdnN9LCBAY3ZzX29wdGlvbnMsICctUWQnLCAkY3Zz cm9vdCwgJ2NvJywgIi1wIiwgIi1yJHJldiIsICRjdnNuYW1lKTsKKwl9CQkJIyBlbmQgY2hp bGQgcHJvY2VzcworICAgIHdoaWxlKDwkcGlwZV9maD4pIHsKKwlwcmludCAkdGVtcF9maCAk XzsKKwl9CisgICAgY2xvc2UgJHRlbXBfZmg7CisgICAgcmV0dXJuICR0ZW1wX2ZuOwogfQog CiAjIExvY2FsIHZhcmlhYmxlczoKSW5kZXg6IGN2c3dlYi5jb25mCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K UkNTIGZpbGU6IC9ob21lL25jdnMvcHJvamVjdHMvY3Zzd2ViL2N2c3dlYi5jb25mLHYKcmV0 cmlldmluZyByZXZpc2lvbiAxLjY0CmRpZmYgLXUgLXIxLjY0IGN2c3dlYi5jb25mCi0tLSBj dnN3ZWIuY29uZgkzMCBPY3QgMjAwMyAyMDowOToxOCAtMDAwMAkxLjY0CisrKyBjdnN3ZWIu Y29uZgkyMyBOb3YgMjAwMyAxODo1NDo1MyAtMDAwMApAQCAtMjAsMTEgKzIwLDExIEBACiAj ICAgKGcpdGFyLCB6aXAgKGlmIHlvdSBlbmFibGUgJGFsbG93X3RhcikKICMgICBjdnNncmFw aCAoaWYgeW91IGVuYWJsZSAkYWxsb3dfZ3JhcGgpCiAjCi0kY29tbWFuZF9wYXRoID0gJy9i aW46L3Vzci9iaW46L3Vzci9sb2NhbC9iaW4nOworJGNvbW1hbmRfcGF0aCA9ICcvYmluOi91 c3IvYmluOi91c3IvbG9jYWwvYmluOi9jZ2kvaG9tZS9icnljZS93d3cub2J2aW91c2x5LmNv bS9naXMvY3Zzd2ViL2Jpbic7CiAKICMgU2VhcmNoIHRoZSBhYm92ZSBkaXJlY3RvcmllcyBm b3IgZWFjaCBjb21tYW5kIChwcmVmZXIgZ3RhciBvdmVyIHRhcikuCiAjCi1mb3IgKHF3KGN2 cyBybG9nIHJjc2RpZmYgZ3ppcCBndGFyIHppcCBjdnNncmFwaCBlbnNjcmlwdCkpIHsKK2Zv ciAocXcoY3ZzIHJsb2cgcmNzZGlmZiBnemlwIGd0YXIgemlwIGN2c2dyYXBoIGVuc2NyaXB0 IHJtIG12IHVuemlwIGRpZmYgc2hwZGlmZikpIHsKIAkkQ01EeyRffSA9IHNlYXJjaF9wYXRo KCRfKTsKIH0KICRDTUR7dGFyfSAgID0gZGVsZXRlKCRDTUR7Z3Rhcn0pIGlmICRDTUR7Z3Rh cn07CkBAIC00Miw3ICs0Miw4IEBACiAjICdzeW1ib2xpY19uYW1lJyA9PiBbJ05hbWUgdG8g ZGlzcGxheScsICAnL3BhdGgvdG8vY3Zzcm9vdCddCiAjCiBAQ1ZTcmVwb3NpdG9yaWVzID0g KAotICAgICAgICAnbG9jYWwnICAgPT4gWydMb2NhbCBSZXBvc2l0b3J5JywgJy9ob21lL2N2 cyddLAorICAgICAgICAnbG9jYWwnICAgPT4gWydMb2NhbCBSZXBvc2l0b3J5JywgJy9jZ2kv aG9tZS9icnljZS93d3cub2J2aW91c2x5LmNvbS9naXNfY3Zzcm9vdC8nXSwKKyAgICAgICAg J3Rlc3QnICAgID0+IFsnVGVzdCBSZXBvc2l0b3J5JywgICcvY2dpL2hvbWUvYnJ5Y2Uvd3d3 Lm9idmlvdXNseS5jb20vY3Zzcm9vdF90ZXN0LyddLAogIyAgICAgICAnZnJlZWJzZCcgPT4g WydGcmVlQlNEJywgICAgICAgICAgJy9ob21lL25jdnMnXSwKICMgICAgICAgJ29wZW5ic2Qn ID0+IFsnT3BlbkJTRCcsICAgICAgICAgICcvaG9tZS9uY3ZzJ10sCiAjICAgICAgICduZXRi c2QnICA9PiBbJ05ldEJTRCcsICAgICAgICAgICAnL2hvbWUvbmN2cyddLApAQCAtMjIwLDcg KzIyMSw3IEBACiAKICMgQW4gVVJMIHdoZXJlIHRvIGZpbmQgdGhlIENTUy4KICMKLSRjc3N1 cmwgPSAnL2Nzcy9jdnN3ZWIuY3NzJzsKKyRjc3N1cmwgPSAnY3NzL2N2c3dlYi5jc3MnOwog CiAjIHRoZSBsZW5ndGggdG8gd2hpY2ggdGhlIGxhc3QgbG9nZW50cnkgc2hvdWxkCiAjIGJl IHRydW5jYXRlZCB3aGVuIHNob3duIGluIHRoZSBkaXJlY3RvcnkgdmlldwpAQCAtMzE4LDEw ICszMTksMjEgQEAKICMKICRpbnB1dFRleHRTaXplID0gMTI7CiAKKyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworIyAgIEN1c3RvbSBkaWZmIHR5cGUgYmFzZWQgb24gbWltZSB0eXBlCisjICAg KHVzZWQgZm9yIGNvbXBhcmluZyBiaW5hcnkgZmlsZXMgc3VjaCBhcyBzcHJlYWRoc2VldHMs IGltYWdlcykKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJURJRkZfQ09NTUFORFMgPSAoCisg ICAgICAgICJhcHBsaWNhdGlvbi92bmQuYXJjdmlldyIgICA9PiAic2hwZGlmZiIsCisgICAg ICAgICJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwiICA9PiAiZXhjZWxfZGlmZiIsCispOwor JURJRkZfT1BUSU9OUyA9ICgKKyAgICAgICAgImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCIg ID0+ICItdnZ2IiwKKyk7CisKICMjIyMjIyMjIyMjIyMjCiAjIE1pbWUgVHlwZXMKICMjIyMj IyMjIyMjIyMjCi0KICMgVGhlIE1JTUUgdHlwZSBsb29rdXAgd29ya3MgbGlrZSB0aGlzOgog IyAxKSBMb29rIHVwIGZyb20gJU1UWVBFUyBiZWxvdyB3aXRoIHRoZSBmaWxlIG5hbWUgZXh0 ZW5zaW9uIChzdWZmaXgpLgogIyAyKSBJZiBub3QgZm91bmQsIHVzZSB0aGUgTUlNRTo6VHlw ZXMoMykgbW9kdWxlIGlmIGl0J3MgYXZhaWxhYmxlLgpAQCAtMzM4LDEzICszNTAsMjQgQEAK ICVNVFlQRVMgPSAoCiAJImh0bWwiICA9PiAidGV4dC9odG1sIiwKIAkic2h0bWwiID0+ICJ0 ZXh0L2h0bWwiLAorCiAJImdpZiIgICA9PiAiaW1hZ2UvZ2lmIiwKIAkianBlZyIgID0+ICJp bWFnZS9qcGVnIiwKIAkianBnIiAgID0+ICJpbWFnZS9qcGVnIiwKIAkicG5nIiAgID0+ICJp bWFnZS9wbmciLAogCSJ4cG0iICAgPT4gImltYWdlL3hwbSIsCisKKwkiemlwIiAgID0+ICJh cHBsaWNhdGlvbi96aXAiLAorCSJ0Z3oiICAgPT4gImFwcGxpY2F0aW9uL3gtdGd6IiwKKwki dGFyIiAgID0+ICJhcHBsaWNhdGlvbi94LXRhciIsCisJImd6IiAgICA9PiAiYXBwbGljYXRp b24veC1nemlwIiwKKyAgICAgICAgImJ6MiIgICA9PiAiYXBwbGljYXRpb24vYnoyIiwKKwor CSJzaHAiICAgPT4gImFwcGxpY2F0aW9uL3ZuZC5hcmN2aWV3IiwKKwkieGxzIiAgID0+ICJh cHBsaWNhdGlvbi92bmQubXMtZXhjZWwiLAogIwkiKiIgICAgID0+ICJ0ZXh0L3BsYWluIiwK ICk7CisKIAogIyBUaGUgdHJhZGl0aW9uYWwgbWltZS50eXBlcyBmaWxlLCBlZy4gdGhlIG9u ZSBmcm9tIEFwYWNoZSBpcyBmaW5lLgogIyBTZWUgYWJvdmUgd2hlcmUgdGhpcyBnZXRzIHVz ZWQuCg== --------------000301000802010905030103--