--0__=C1256AE800305D048f9e8a93df938690918cC1256AE800305D04 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit One excellent answer from Andrew Caines who supplied me with this perl script: (See attached file: plfs) Every other response asked me some variation of "why don't I use df?" Partly my fault. I should have emphasised that I was looking for unallocated space; not "free space" in the usual meaning. I had hoped that my references to swap -l and format might have helped. Oh well. Below is the output of the above script on my system just so it's clear. Regards -Matt root@dqa-re01 # ./plfs ---------------------------------------------------------------- plfs-1.1.patch4 dqa-re01 Wed Oct 17 08:47:11 2001 ---------------------------------------------------------------- Warning: Current Disk has mounted partitions. Warning: Current Disk has mounted partitions. -------------- file systems : -------------- ** file system / /dev/dsk/c1t0d0s0 3099287 (28%) ** file system /var /dev/dsk/c1t0d0s3 2056211 ( 4%) ** file system /opt /dev/dsk/c1t0d0s6 9136141 ( 8%) ** file system /export/home /dev/dsk/c1t0d0s5 1018191 ( 1%) ------- disks : ------- disk 0: Part Tag Flag Cylinders Size Mount Directory Partition 0 root wm 0 - 1335 3.00GB / c1t0d0s0 1 swap wu 1336 - 2226 2.00GB Swap c1t0d0s1 2 backup wm 0 - 7505 16.86GB N/A backup c1t0d0s2 3 var wm 2227 - 3117 2.00GB /var c1t0d0s3 4 unassigned wm 0 0 Null c1t0d0s4 5 home wm 3118 - 3563 1.00GB /export/home c1t0d0s5 6 unassigned wm 3564 - 7502 8.85GB /opt c1t0d0s6 7 unassigned wm 7503 - 7505 6.90MB ** FREE ** c1t0d0s7 ----------------- free partitions : ----------------- disk 0 : 7 unassigned wm 7503 - 7505 6.90MB (3/0/0) 14136 --------- summary : --------- Total size of unassigned cylinders on all disks : 0.00 MB Total free space in unassigned partitions : 6.90 MB Total number of disks : 1 Total number of local file-systems : 4 Total number of mirrored file-systems : 0 --------------------------------------------------------------------------- This message (including any attachments) is confidential and may be privileged. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorised use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change. ABN AMRO Bank N.V. (including its group companies) shall not be liable for the improper or incomplete transmission of the information contained in this communication nor for any delay in its receipt or damage to your system. ABN AMRO Bank N.V. (or its group companies) does not guarantee that the integrity of this communication has been maintained nor that this communication is free of viruses, interceptions or interference. --------------------------------------------------------------------------- --0__=C1256AE800305D048f9e8a93df938690918cC1256AE800305D04 Content-Type: application/octet-stream; name=plfs Content-Disposition: attachment; filename=plfs Content-Transfer-Encoding: base64 IyEgL3Vzci9iaW4vcGVybAojCiMgcGxmcy5wbCx2IDEuMTMuMi40IDE5OTkvMTAvMDUgMDc6Mjg6 MDcgbWFyY2hhbmQgRXhwCiMKIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAojIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQoj IGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAojIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQojIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIwojIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0 aCBpdDsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlCiMg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBC b3N0b24sIE1BCiMgMDIxMTEtMTMwNywgVVNBLgojCgp1c2UgU3lzOjpIb3N0bmFtZTsKdXNlIEdl dG9wdDo6TG9uZzsKCm15ICRob3N0PWhvc3RuYW1lOwpteSAkdGltZXN0cj1sb2NhbHRpbWU7Cgok ZGZjbWQ9Ii91c3IvYmluL2RmIC1rRnVmcyI7CiRtZXRhc3RhdGNtZD0iIjsKJG1ldGFkYmNtZD0i IjsKJGZvcm1hdGluaXRjb209IjBcbnFcbiI7CiRmb3JtYXRpbml0Y21kPSJlY2hvIFwiJGZvcm1h dGluaXRjb21cIiB8IC91c3Ivc2Jpbi9mb3JtYXQiOwokZm9ybWF0Y29tPSJwXG5wXG5xXG5xXG4i OwokZm9ybWF0Y21kPSJlY2hvIFwiJGZvcm1hdGNvbVwiIHwgL3Vzci9zYmluL2Zvcm1hdCAtZCI7 CiRzd2FwY21kPSIvdXNyL3NiaW4vc3dhcCAtbCI7CiRkaXNrc3VpdGU9MDsKCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwojICAgICAgWU9VIFNIT1VMRCBOT1QgSEFWRSBUTyBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cg VEhJUyBMSU5FCiMKIyBwbGZzLnBsLHYKIyBSZXZpc2lvbiAxLjEzLjIuNCAgMTk5OS8xMC8wNSAw NzoyODowNyAgbWFyY2hhbmQKIwojIC0gZmlsZSBzeXN0ZW1zIGFyZSBzb3J0ZWQgYWNjb3JkaW5n IHRvIHZmc3RhYiBvcmRlcgojIC0gZGlza3MgYXJlIHNvcnRlZCBhY2NvcmRpbmcgdG8gZm9ybWF0 IG91dHB1dCBvcmRlcgojIC0gZml4ZWQgYnVnIHdoZW4gdXNpbmcgLWYgb3B0aW9uIHdpdGhvdXQg U0RTCiMKIyBSZXZpc2lvbiAxLjEzLjIuMyAgMTk5OS8wOC8wMiAxNjozNTowMiAgbWFyY2hhbmQK IwojIC0gZml4ZWQgYnVnIG9mIC0tZGlzayBvcHRpb24KIyAtIGZpeGVkIGJ1ZyBvZiAtLW1ldGFk ZXZpY2Ugb3B0aW9uCiMKIyBSZXZpc2lvbiAxLjEzLjIuMiAgMTk5OS8wOC8wMiAxMjowNDowMSAg bWFyY2hhbmQKIwojIC0gd2FybmluZyB3aGVuIG5vcm1hbCBzd2FwIGZzIGFyZSB1c2VkIHdoaWxl IHVzaW5nIFNEUwojCiMgUmV2aXNpb24gMS4xMy4yLjEgIDE5OTkvMDcvMzAgMTQ6MDQ6MzUgIG1h cmNoYW5kCiMKIyAtIGZpeGVkIGJ1ZyB3aGVuIGEgc2luZ2xlIHN0cmlwZSBpcyBkaXZpZGVkIGlu IHNldmVyYWwgc2xpY2VzCiMKIyBSZXZpc2lvbiAxLjEzICAxOTk5LzA3LzI5IDA4OjM1OjQ3ICBt YXJjaGFuZAojCiMgLSBuYW1lcyBhZGRlZCB3aGVuIGxpc3RpbmcgZGlza3MKIwojIFJldmlzaW9u IDEuMTIgIDE5OTkvMDcvMjcgMTc6MzY6MTAgIG1hcmNoYW5kCiMKIyAtIG1lc3NhZ2UgaW1wcm92 ZWQgZm9yIG5vbi1vayBtZXRhLWRldmljZXMKIwojIFJldmlzaW9uIDEuMTEgIDE5OTkvMDcvMjcg MTY6MTU6NTEgIG1hcmNoYW5kCiMKIyAtIC0td2FybmluZ3MgKC13KSBvcHRpb24gYWRkZWQKIwoj IFJldmlzaW9uIDEuMTAgIDE5OTkvMDcvMTkgMTc6MzU6MzQgIG1hcmNoYW5kCiMKIyAtIHdhcm5p bmcgaWYgYSBtaXJyb3JlZCBmcyBoYXMgb25seSBvbmUgKG9yIHplcm8pIHN1Ym1pcnJvci4KIyAt IHdhcm5pbmcgaWYgbm9ybWFsIGZpbGVzeXN0ZW1zIGFyZSBmb3VuZCB3aGlsZSBkaXNrc3VpdGUg aXMgdXNlZAojCiMgUmV2aXNpb24gMS45ICAxOTk5LzA3LzE5IDExOjQxOjUzICBhbGdhcm90dAoj IChSZSlBZGRlZCBzaG9ydCBvcHRpb25zCiMKIyBSZXZpc2lvbiAxLjggIDE5OTkvMDcvMTUgMTY6 NTg6MDcgIG1hcmNoYW5kCiMKIyAtIHN1bW1hcnkgYWRkZWQKIwojIFJldmlzaW9uIDEuNyAgMTk5 OS8wNy8xMyAxNToxMTo1OCAgbWFyY2hhbmQKIwojIC0gYWxsb3cgdXNlIHdpdGhvdXQgZGlza3N1 aXRlCiMKIyBSZXZpc2lvbiAxLjYgIDE5OTkvMDcvMDggMTU6MjE6MjYgIG1hcmNoYW5kCiMKIyAt IGNvcnJlY3Rpb24gb2YgZnNsaXN0IHdoZW4gLS1tZXRhZGV2aWNlIG9wdGlvbiBpcyB1c2VkCiMK IyBSZXZpc2lvbiAxLjUgIDE5OTkvMDcvMDggMTQ6NDU6MjAgIG1hcmNoYW5kCiMKIyAtIFVzZSBv ZiBsb25nIG9wdGlvbnMKIyAtIG9wdGlvbnMgLS1saXN0KiBhZGRlZAojCiMgUmV2aXNpb24gMS40 ICAxOTk5LzA3LzA1IDE2OjIzOjIzICBtYXJjaGFuZAojCiMgLSBlcnJvciBtZXNzYWdlcyBtb2Rp ZmllZAojCiMgUmV2aXNpb24gMS4zICAxOTk5LzA3LzAyIDE2OjA2OjI1ICBtYXJjaGFuZAojCiMg LSBvcHRpb25zIC1kLCAtZiBhbmQgLW0gYWRkZWQKIyAtIHZlcnNpb24gbnVtYmVyIGFwcGVhcnMg aW4gaGVhZGVyCiMKIyBSZXZpc2lvbiAxLjIgIDE5OTkvMDYvMjggMTU6MjI6MTIgIG1hcmNoYW5k CiMKIyAtIGNoZWNrIGhvc3Qgc3lzdGVtIHR5cGUgKFNvbGFyaXMgMi41IG9yIG5ld2VyIHJlcXVp cmVkKQojCiMgUmV2aXNpb24gMS4xICAxOTk5LzA2LzI1IDEzOjM5OjI5ICBtYXJjaGFuZAojIC0g cmVwbGFjZSBmb3JtZXIgcGxmcyBmb3IgZGlzdHJpYnV0aW9uIHB1cnBvc2VzCiMKIyBSZXZpc2lv biAxLjEuMS4xICAxOTk5LzA2LzI0IDEyOjQyOjE5ICBtYXJjaGFuZAojIGltcG9ydCB2ZXJzaW9u IGluaXRpYWxlCiMKIwokdmVyc2lvbj0iMS4xLnBhdGNoNCI7CgpteSAkdXNhZ2U9Igp1c2FnZSA6 ICQwIFtvcHRpb25zXQoKTGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucyAoYWJicmV2aWF0aW9ucyBh cmUgYWxsb3dlZCBpZiBub3QgYW1iaWd1b3VzKToKCi1rIC0tZGlzaz1kaXNrMSAgICAgIDogcHJp bnQgb25seSBpbmZvcm1hdGlvbnMgYWJvdXQgZGlzazEKLWYgLS1maWxlLXN5c3RlbT1mczEgOiBw cmludCBvbmx5IGluZm9ybWF0aW9ucyBhYm91dCBmaWxlc3lzdGVtIGZzMQotbSAtLW1ldGFkZXZp Y2U9bWQxICA6IHByaW50IG9ubHkgaW5mb3JtYXRpb25zIGFib3V0IG1ldGFkZXZpY2UgbWQxCgpP bmx5IG9uZSBvZiB0aGVzZSB0aHJlZSBvcHRpb25zIGlzIGFsbG93ZWQsIGJ1dCBpdCBjYW4gYXBw ZWFyIHNldmVyYWwgdGltZXMKZS5nLiAkMCAtLWRpc2s9MCAtLWRpc2s9MQoKLUsgLS1saXN0LWRp c2sgICAgICAgIDogcHJpbnQgdGhlIGxpc3Qgb2YgZGlza3MKLU0gLS1saXN0LW1ldGFkZXZpY2Ug IDogcHJpbnQgdGhlIGxpc3Qgb2YgbWV0YWR2aWNlcwotRiAtLWxpc3QtZmlsZS1zeXN0ZW0gOiBw cmludCB0aGUgbGlzdCBvZiBsb2NhbCBmaWxlLXN5c3RlbXMKLWgsIC0taGVscCAgICAgICAgIDog cHJpbnQgdGhpcyBtZXNzYWdlIGFuZCBleGl0Ci1WLCAtLXZlcnNpb24gICAgICA6IHByaW50IHZl cnNpb24gbnVtYmVyIGFuZCBleGl0Ci13LCAtLXdhcm5pbmdzICAgICA6IGp1c3QgcHJpbnQgd2Fy bmluZ3MgYWJvdXQgbWV0YWRldmljZXMgb3IgZmlsZS1zeXN0ZW1zCiAgICAgICAgICAgICAgICAg ICAgIG5lZWRpbmcgYXR0ZW50aW9uCiI7CgpteSAkc3VzYWdlPSIKLUQsIC0tZGVidWcgICAgICAg OiBwcmludCBhZGRpdGlvbm5hbCBpbmZvcm1hdGlvbiBmb3IgZGVidWdnaW5nIHB1cnBvc2VzCi1I LCAtLWhpZGRlbi1oZWxwIDogcHJpbnQgdGhpcyBtZXNzYWdlIGFuZCBleGl0Ci1ULCAtLXRyeSAg ICAgICAgIDogZG8gbm90IHJlYWxseSBydW4gZm9ybWF0IGNvbW1hbmQsIHVzZSBjb250ZW50IG9m CiAgICAgICAgICAgICAgICAgICAgZmlsZXMgZm9ybWF0aW5pdCwgZm9ybWF0PGRpc2tuYW1lPiBp bnN0ZWFkLgogICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgaW50ZW5kZWQgdG8gYWxsb3cgdGVz dHMgd2l0aG91dCBydW5uaW5nIGFzCiAgICAgICAgICAgICAgICAgICAgcm9vdAoiOwoKCiMgcGFy c2luZyBzd2l0Y2hlcwoKR2V0b3B0OjpMb25nOjpjb25maWcoImF1dG9fYWJicmV2IiwiYnVuZGxp bmciKTsKI2dldG9wdHMoJ2Q6RGY6aEhtOlRWJyxcJW9wdHMpIHx8IGRpZSAiJHVzYWdlIjsgCkdl dE9wdGlvbnMoCiJrPWkiICAgICAgICAgICAgICA9PiBcQGRza2wsCiJkaXNrPWkiICAgICAgICAg ICA9PiBcQGRza2wsCiJEIiAgICAgICAgICAgICAgICA9PiBcJGRlYnVnLAoiZGVidWciICAgICAg ICAgICAgPT4gXCRkZWJ1ZywKIksiICAgICAgICAgICAgICAgID0+IFwkbGRpc2ssCiJsaXN0LWRp c2siICAgICAgICA9PiBcJGxkaXNrLAoiRiIgICAgICAgICAgICAgICAgPT4gXCRsZnMsCiJsaXN0 LWZpbGUtc3lzdGVtIiA9PiBcJGxmcywKIk0iICAgICAgICAgICAgICAgID0+IFwkbG1kLAoibGlz dC1tZXRhZGV2aWNlIiAgPT4gXCRsbWQsCiJmPXMiICAgICAgICAgICAgICA9PiBcQGZzLAoiZmls ZS1zeXN0ZW09cyIgICAgPT4gXEBmcywKImgiICAgICAgICAgICAgICAgID0+IFwkaGVscCwKImhl bHAiICAgICAgICAgICAgID0+IFwkaGVscCwKIkgiICAgICAgICAgICAgICAgID0+IFwkSGhlbHAs CiJoaWRkZW4taGVscCIgICAgICA9PiBcJEhoZWxwLAoibT1zIiAgICAgICAgICAgICAgPT4gXEBt ZGwsCiJtZXRhZGV2aWNlPXMiICAgICA9PiBcQG1kbCwKIlQiICAgICAgICAgICAgICAgID0+IFwk dHJ5LAoidHJ5IiAgICAgICAgICAgICAgPT4gXCR0cnksCiJWIiAgICAgICAgICAgICAgICA9PiBc JHZlcnMsCiJ2ZXJzaW9uIiAgICAgICAgICA9PiBcJHZlcnMsCiJ3IiAgICAgICAgICAgICAgICA9 PiBcJHdhcm5pbmdzLAoid2FybmluZ3MiICAgICAgICAgPT4gXCR3YXJuaW5ncykgfHwgZGllICIk dXNhZ2VcbiI7CgppZiAoJCNBUkdWID49IDAgfHwgJGhlbHApCiAgewogICAgcHJpbnQgU1RERVJS ICIkdXNhZ2UiOwogICAgZXhpdCAwOwogIH0KCmlmICgkSGhlbHApCiAgewogICAgcHJpbnQgU1RE RVJSICIkc3VzYWdlIjsKICAgIGV4aXQgMDsKICB9CgppZiAoJHZlcnMpCiAgewogICAgcHJpbnQg InBsZnMgdmVyc2lvbiAkdmVyc2lvblxuIjsKICAgIGV4aXQgMDsKICB9CgppZiAoKCQjZHNrbCA+ PSAwICYmICgkI21kbCA+PSAwIHx8ICQjZnMgPj0gMCkpIHx8ICgkI21kbCA+PSAwICYmICQjZnMg Pj0gMCkpCiAgewogICAgZGllICJPbmx5IG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbnMgaXMg YWNjZXB0ZWQgOiAtLWRpc2ssIC0tZmlsZS1zeXN0ZW0gb3IgLS1tZXRhZGV2aWNlXG4iOwogIH0K CmRpZSAiTm90IFN1cGVyLVVzZXJcbiIgaWYgKCQ+ICE9IDAgJiYgISAkdHJ5KTsKCiMgcHJpbnRp bmcgaGVhZGVyCgpwcmludCAiICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsKcHJpbnQgIiAgICAgICBwbGZzLSR2ZXJz aW9uXHQkaG9zdFx0JHRpbWVzdHJcbiI7CnByaW50ICIgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwoKCiMgc3VicwoK c3ViIHNwbGl0ZGYKICB7CiAgICBteSAkd2FybmVkPTA7CiAgICBteSAkbnVtYmVyPTE7CgogICAg b3BlbihERiwiJGRmY21kIHwiKSB8fCBkaWUgIkNhbm5vdCBmb3JrIHRvIGRmIDogJCEiOwogICAg d2hpbGUgKDxERj4pCiAgICAgIHsKCUBsaW5lID1zcGxpdCgiICIpOwoJaWYgKCAkZGlza3N1aXRl ICkgewoJICBpZiAoICRsaW5lWzBdID1+IG0vXlwvZGV2XC8vICkKCSAgICB7CgkgICAgICBpZiAo JGxpbmVbMF0gPX4gbacvZGV2L2Rza6cgJiYgISAkd2FybmVkKSB7IAoJCXdhcm4gIlxhQ0FVVElP TiA6IGFsdGhvdWdoIHlvdSBhcmUgdXNpbmcgZGlza3N1aXRlLCBub3JtYWwgZmlsZSBzeXN0ZW1z IGhhdmUgYmVlbiBmb3VuZC5cblRoaXMgY2FuIGxlYWQgdG8gZmFsc2UgcmVzdWx0cy5cbiI7CgkJ JHdhcm5lZD0xOwoJICAgICAgfQoJICAgICAgbXkgJGZzID0gJGxpbmVbNV07CgkgICAgICAKCSAg ICAgICRudW1mc3skZnN9PSRudW1iZXIrKzsKCSAgICAgIHByaW50ICIkZnMgJG51bWZzeyRmc31c biIgaWYgKCRkZWJ1Zyk7CgkgICAgICAkbWRmc3skZnN9PSRsaW5lWzBdOwoJICAgICAgJG1kZnN7 JGZzfT1+IHOnL2Rldi9tZC9kc2svp6c7CgkgICAgICAkZnVsbG1keyRtZGZzeyRmc319PSRsaW5l WzBdOwoJICAgICAgCgkgICAgICAkc2l6ZXskZnN9PSRsaW5lWzFdOwoJICAgICAgJHVzZWR7JGZz fT0kbGluZVs0XTsKCSAgICB9Cgl9CgllbHNlIHsKCSAgaWYgKCAkbGluZVswXSA9fiBtL15cL2Rl dlwvLyApCgkgICAgewoJICAgICAgbXkgJGZzID0gJGxpbmVbNV07CgkgICAgICAKCSAgICAgICRu dW1mc3skZnN9PSRudW1iZXIrKzsKCSAgICAgICRkaXNrZnN7JGZzfT0kbGluZVswXTsKCSAgICAg ICRkaXNrZnN7JGZzfT1+IHOnL2Rldi9kc2svp6c7CgkgICAgICAkZnVsbGRpc2t7JGRpc2tmc3sk ZnN9fT0kbGluZVswXTsKCSAgICAgIAoJICAgICAgJHNpemV7JGZzfT0kbGluZVsxXTsKCSAgICAg ICR1c2VkeyRmc309JGxpbmVbNF07CgkgICAgICAkbW91bnRkaXJ7JGRpc2tmc3skZnN9fT0kZnM7 CgkgICAgfQoJfQogICAgICB9CiAgICBjbG9zZSBERiB8fCBkaWUgJCEgPyAiRXJyb3IgY2xvc2lu ZyBkZiBwaXBlIDogJCEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIkVycm9yIHJ1bm5p bmcgZGYgOiBleGl0IHN0YXR1cyAkPyI7CiAgfQoKc3ViIHNwbGl0c3dhcAogIHsKICAgIG9wZW4o U1dBUCwiJHN3YXBjbWQgfCIpIHx8IGRpZSAiQ2Fubm90IGZvcmsgdG8gc3dhcCA6ICQhIjsKICAg IHdoaWxlICg8U1dBUD4pCiAgICAgIHsKCUBsaW5lID1zcGxpdCgiICIpOwoJaWYgKCAkZGlza3N1 aXRlICkgewoJICBpZiAoJGxpbmVbMF0gPX4gbacvZGV2L2Rza6cgJiYgISAkd2FybmVkKSB7IAoJ ICAgIHdhcm4gIlxhQ0FVVElPTiA6IGFsdGhvdWdoIHlvdSBhcmUgdXNpbmcgZGlza3N1aXRlLCBu b3JtYWwgc3dhcCBmaWxlIHN5c3RlbXMgaGF2ZSBiZWVuIGZvdW5kLlxuVGhpcyBjYW4gbGVhZCB0 byBmYWxzZSByZXN1bHRzLlxuIjsKCSAgICAkd2FybmVkPTE7CgkgIH0KCgkgIGlmICggJGxpbmVb MF0gPX4gbadeL2Rldi9tZC9kc2svKGRbMC05XSsppyApCgkgICAgewoJICAgICAgbXkgJG1kID0g JCs7CgkgICAgICBpZiAoICQjJG1kID49IDAgKQoJCXsKCQkgIGZvcmVhY2ggbXkgJHN1Ym1pciAo QCRtZCkKCQkgICAgewoJCSAgICAgIGZvcmVhY2ggbXkgJHN0cmlwZSAoMC4uJCN7JHNsaWNleyRz dWJtaXJ9fSkKCQkJewoJCQkgICRkZWJ1ZyAmJiBwcmludCAiJHN0cmlwZVxuIjsKCQkJICBmb3Jl YWNoIG15ICRzbGMgKEB7JHNsaWNleyRzdWJtaXJ9WyRzdHJpcGVdfSkgewoJCQkgICAgJG1vdW50 ZGlyeyRzbGN9PSJTd2FwIjsKCQkJICB9CgkJCX0KCQkgICAgfQoJCX0KCSAgICAgIGVsc2UKCQl7 CgkJICBmb3JlYWNoIG15ICRzdHJpcGUgKDAuLiQjeyRzbGljZXskbWR9fSkKCQkgICAgewoJCSAg ICAgIGZvcmVhY2ggbXkgJHNsYyAoQHskc2xpY2V7JG1kfVskc3RyaXBlXX0pIHsKCQkJJG1vdW50 ZGlyeyRzbGN9PSJTd2FwIjsKCQkgICAgICB9CgkJICAgIH0KCQl9IAoJICAgIH0KCX0KCWVsc2Ug ewoJICBpZiAoICRsaW5lWzBdID1+IG2nXi9kZXYvZHNrLyhjXGQrdFxkK2RcZCtzXGQrKacgKQoJ ICAgIHsKCSAgICAgIG15ICRkZXYgPSAkKzsKCSAgICAgICRtb3VudGRpcnskZGV2fT0iU3dhcCI7 CgkgICAgfQoJfSAKICAgICAgfQogICAgY2xvc2UgU1dBUCB8fCBkaWUgJCEgPyAiRXJyb3IgY2xv c2luZyBzd2FwIHBpcGUgOiAkISIKICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiRXJyb3Ig cnVubmluZyBzd2FwIDogZXhpdCBzdGF0dXMgJD8iOwogIH0KCnN1YiBzcGxpdG1ldGEKICB7CiAg ICBteSAkbWQ7CiAgICBvcGVuKE1FVEEsIiRtZXRhc3RhdGNtZCB8IikgfHwgZGllICJDYW5ub3Qg Zm9yayB0byBtZXRhc3RhdCA6ICQhIjsKICAgICAgd2hpbGUgKDxNRVRBPikKCXsKCSAgQGxpbmU9 c3BsaXQoIiAiKTsKCSAgbmV4dCB1bmxlc3MgKCQjbGluZSA+PSAwKTsKCgkgIGlmICggJGxpbmVb MF0gPX4gbS9eKGRbMC05XSspOiQvICkKCSAgICB7CgkgICAgICAkc3VibWlyPSQrOwoJICAgICAg aWYgKCAkbGluZVsxXSAhfiBtL15TdWJtaXJyb3IkLyApCgkJewoJCSAgJG1kID0gJHN1Ym1pcjsK CQkgICR0eXBlbWR7JG1kfT0kbGluZVsxXTsKCQl9CgkgICAgICBlbHNlCgkJewoJCSAgKCAiJGxp bmVbM10iIGVxICIkbWQiICkgfHwgd2FybiAic3VibWlycm9yICRzdWJtaXIgb2YgbWV0YWRldmlj ZSAkbGluZVszXSBvdXQgb2Ygb3JkZXIiOwoJCSAgcHVzaCAoQCRtZCwgJHN1Ym1pcik7CgkJICAk bWFpbm1keyRzdWJtaXJ9PSRtZDsKCQl9CgkgICAgfQoJICBlbHNpZiAoICIkbGluZVswXSIgZXEg IlN0YXRlOiIpCgkgICAgeyAKCSAgICAgIHNoaWZ0IEBsaW5lOwoJICAgICAgJHN0YXRlbWR7JHN1 Ym1pcn09IkBsaW5lIjsKCSAgICAgIHdhcm4gIk1ldGFkZXZpY2UgJHN1Ym1pciA6ICRzdGF0ZW1k eyRzdWJtaXJ9XG4iIHVubGVzcyAoJGxpbmVbMF0gZXEgIk9rYXkiKSB8fCAoIiRtZCIgZXEgIiRz dWJtaXIiKSA7CgkgICAgfQoJICBlbHNpZiAoICIkbGluZVswXSIgZXEgIlNpemU6IikKCSAgICB7 CgkgICAgICAkc2l6ZW1keyRzdWJtaXJ9PSRsaW5lWzFdOwoJICAgIH0KCSAgZWxzaWYgKCAkbGlu ZVswXSA9fiBtL15jWzAtOV0rdFswLTldK2RbMC05XStzWzAtOV0rJC8pCgkgICAgewoJICAgICAg cHVzaCAoIEB7JHNsaWNleyRzdWJtaXJ9WyRzdHJpcGVdfSwgJGxpbmVbMF0pOwoJICAgIH0KCSAg ZWxzaWYgKCAiJGxpbmVbMF0iIGVxICJTdHJpcGUiICkKCSAgICB7CgkgICAgICAkc3RyaXBlPSRs aW5lWzFdOwoJICAgICAgJHN0cmlwZSA9fiBzLzokLy87CgkgICAgfQoJICAgIAoJfQogICAgY2xv c2UgTUVUQSB8fCBkaWUgJCEgPyAiRXJyb3IgY2xvc2luZyBtZXRhc3RhdCBwaXBlIDogJCEiCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIDogIkVycm9yIHJ1bm5pbmcgbWV0YXN0YXQgOiBleGl0 IHN0YXR1cyAkPyI7CgogICAgZm9yZWFjaCBteSAkZnMgKGtleXMgJW1kZnMpCiAgICAgIHsKICAg ICAgICAkbWQ9JG1kZnN7JGZzfTsKCSR0eXBlZnN7JGZzfT0kdHlwZW1keyRtZH07CglpZiAoICQj JG1kID49IDAgKQoJICB7CgkgICAgaWYgKCQjJG1kID09IDApIHsKCSAgICAgIHdhcm4gIlxhV2Fy bmluZyA6IGZpbGVzeXN0ZW0gJGZzIGhhcyBvbmx5IDEgc3VibWlycm9yXG4iOwoJICAgIH0KCSAg ICBmb3JlYWNoIG15ICRzdWJtaXIgKEAkbWQpCgkgICAgICB7CgkJZm9yZWFjaCBteSAkc3RyaXBl ICgwLi4kI3skc2xpY2V7JHN1Ym1pcn19KQoJCSAgewoJCSAgICBmb3JlYWNoIG15ICRzbGMgKEB7 JHNsaWNleyRzdWJtaXJ9WyRzdHJpcGVdfSkgeyAgIAoJCSAgICAgICRtb3VudGRpcnskc2xjfT0k ZnM7CgkJICAgIH0KCQkgIH0KCSAgICAgIH0KCSAgfQoJZWxzZQoJICB7CgkgICAgaWYgKCR0eXBl bWR7JG1kfSBlcSAiTWlycm9yIikgewoJICAgICAgd2FybiAiXGFXYXJuaW5nIDogZmlsc3lzdGVt ICRmcyBoYXMgdHlwZSBNaXJyb3IgYW5kIG5vIHN1Ym1pcnJvclxuIjsKCSAgICB9CgkgICAgICAK CSAgICAkZGVidWcgJiYgcHJpbnQgIiRtZCA6ICQjeyRzbGljZXskbWR9fSArIDEgc2xpY2VzXG4i OwoJICAgIGZvcmVhY2ggbXkgJHN0cmlwZSAoMC4uJCN7JHNsaWNleyRtZH19KQoJICAgICAgewoJ CWZvcmVhY2ggbXkgJHNsYyAoQHskc2xpY2V7JG1kfVskc3RyaXBlXX0pIHsKCQkgICRkZWJ1ZyAm JiBwcmludCAiICAkc2xjXG4iOwoJCSAgJG1vdW50ZGlyeyRzbGN9PSRmczsKCQl9CgkgICAgICB9 CgkgIH0gCiAgICAgIH0KCQkJICAgICAgCiAgfQoKc3ViIHNwbGl0Zm9ybWF0CiAgewogICAgbXkg JGNvbXB0ZXVyPTA7CgogICAgZm9yZWFjaCBteSAkc2QgKCBrZXlzICVkaXNraGFzaCkKICAgICAg ewoJJGRldj0kZGlza2hhc2h7JHNkfTsKCWlmICgkdHJ5KQoJICB7CgkgICAgJG9wZW5jbWQ9Ijwg cmVzZm9ybWF0JGRldiI7CgkgIH0KCWVsc2UKCSAgewoJICAgICRvcGVuY21kPSIkZm9ybWF0Y21k ICRkZXYgfCI7CgkgIH0KCW9wZW4gKEZPUk0sICRvcGVuY21kKSB8fCBkaWUgIkNhbm5vdCBmb3Jr IHRvIGZvcm1hdCA6ICQhIjsKCXdoaWxlICg8Rk9STT4pCgkgIHsKCSAgICBteSBAbGluZT1zcGxp dCgiICIpOwoJICAgIGlmICggKCQjbGluZSA9PSA4IHx8ICQjbGluZSA9PSA2KSAmJiAkbGluZVsw XSA9fiBtL15bMC03XSQvICkKCSAgICAgIHsKCQlteSAkZGV2aWNlPSIke2Rldn1zJGxpbmVbMF0i OwoJCSRkaXNrcGh5eyRkZXZpY2V9PSRzZDsKCQkkcGFydHskZGV2aWNlfT0kbGluZVswXTsKCQkk dGFneyRkZXZpY2V9PSRsaW5lWzFdOwoJCSRmbGFneyRkZXZpY2V9PSRsaW5lWzJdOwoJCWlmICgk I2xpbmUgPT0gOCkgCgkJICB7CgkJICAgICRjeWx7JGRldmljZX09IiRsaW5lWzNdICRsaW5lWzRd ICRsaW5lWzVdIjsKCQkgICAgJHNpemV7JGRldmljZX09JGxpbmVbNl07CgkJICAgICRibG9ja3N7 JGRldmljZX09IiRsaW5lWzddICRsaW5lWzhdIjsKCQkgIH0KCQllbHNlCgkJICB7CgkJICAgICRj eWx7JGRldmljZX09JGxpbmVbM107CgkJICAgICRzaXpleyRkZXZpY2V9PSRsaW5lWzRdOwoJCSAg ICAkYmxvY2tzeyRkZXZpY2V9PSIkbGluZVs1XSAkbGluZVs2XSI7CgkJICB9CgkJaWYgKCAhICRt b3VudGRpcnskZGV2aWNlfSkKCQkgIHsKCQkgICAgaWYgKCAkcGFydHskZGV2aWNlfSA9PSAyICkK CQkgICAgICB7CgkJCSRtb3VudGRpcnskZGV2aWNlfT0iTi9BIGJhY2t1cCI7CgkJICAgICAgfQoJ CSAgICBlbHNpZiAoIiRzaXpleyRkZXZpY2V9IiBlcSAiMCIpCgkJICAgICAgewoJCQkkbW91bnRk aXJ7JGRldmljZX09Ik51bGwiOwoJCSAgICAgIH0KCQkgICAgZWxzZQoJCSAgICAgIHsKCQkJJG1v dW50ZGlyeyRkZXZpY2V9PSIqKiBGUkVFICoqIjsKCQkgICAgICB9CgkJICB9CQkKCSAgICAgIH0K CSAgfQoJY2xvc2UgRk9STSB8fCBkaWUgJCEgPyAiRXJyb3IgY2xvc2luZyBmb3JtYXQgcGlwZSA6 ICQhIgogICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJFcnJvciBydW5uaW5nIGZvcm1hdCA6 IGV4aXQgc3RhdHVzICQ/IjsKICAgICAgfQogIH0KCnN1YiBzcGxpdGZvcm1hdGluaXQKICB7CiAg ICBpZiAoJHRyeSkKICAgICAgewoJJG9wZW5jbWQ9IjwgcmVzZm9ybWF0aW5pdCI7CiAgICAgIH0K ICAgIGVsc2UKICAgICAgewoJJG9wZW5jbWQ9IiRmb3JtYXRpbml0Y21kIHwiOwogICAgICB9CiAg ICBteSAkbnVtYmVyPTE7CiAgICBvcGVuIChGT1JNQVQsICRvcGVuY21kKSB8fCBkaWUgIkNhbm5v dCBmb3JrIHRvIGZvcm1hdCI7CiAgICB3aGlsZSAoPEZPUk1BVD4pCiAgICAgIHsKCW15IEBsaW5l ID0gc3BsaXQgIiAiOwoJCgluZXh0IGlmICgkI2xpbmUgPCAwKTsKCWlmICgkbGluZVswXSA9fiBt L14oWzAtOV0rKVwuJC8pCgkgIHsKCSAgICAkbnVtZGlza3skK309JG51bWJlcisrOwoJICAgIGlm ICggJGRpc2tzdWl0ZSApIHsgCgkgICAgICAoJGRpc2toYXNoeyQrfT0kbGluZVsxXSkgPX4gcywv ZGV2L3Jkc2svKGNcZCt0XGQrZFxkKylzXGQrLCQxLCA7CgkgICAgfQoJICAgIGVsc2UgewoJICAg ICAgJGRpc2toYXNoeyQrfT0kbGluZVsxXTsKCSAgICB9CgkgIH0KICAgICAgfQogICAgY2xvc2Ug Rk9STUFUIHx8IGRpZSAkISA/ICJFcnJvciBjbG9zaW5nIGZvcm1hdCBwaXBlIDogJCEiCiAgICAg ICAgICAgICAgICAgICAgICAgICAgIDogIkVycm9yIHJ1bm5pbmcgZm9ybWF0IDogZXhpdCBzdGF0 dXMgJD8iOwogIH0KCnN1YiBzcGxpdG1ldGFkYgogIHsKICAgIG9wZW4gKE1EQiwgIiRtZXRhZGJj bWQgfCIpIHx8IGRpZSAiQ2Fubm90IGZvcmsgdG8gbWV0YWRiIjsKICAgIHdoaWxlICg8TURCPikK ICAgICAgewoJbXkgQGxpbmUgPSBzcGxpdCgiICIpOwoJCglpZiAoJGxpbmVbJCNsaW5lXSA9fiBt p14vZGV2L2Rzay8oY1xkK3RcZCtkXGQrc1xkKymnKSAKCSAgeyAkbW91bnRkaXJ7JCt9PSJNZXRh REIiOyB9CiAgICAgIH0KICAgIGNsb3NlIE1EQiB8fCBkaWUgJCEgPyAiRXJyb3IgY2xvc2luZyBt ZXRhZGIgcGlwZSA6ICQhIgogICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJFcnJvciBydW5u aW5nIG1ldGFkYiA6IGV4aXQgc3RhdHVzICQ/IjsKICB9CgpzdWIgcGxmcyAKICB7CiAgICBteSAk ZnNwb2ludGVyPXNoaWZ0OwogICAgcmV0dXJuIGlmICgkIyRmc3BvaW50ZXIgPCAwKTsKCiAgICBw cmludCAiLS0tLS0tLS0tLS0tLS1cbiI7CiAgICBwcmludCAiZmlsZSBzeXN0ZW1zIDpcbiI7CiAg ICBwcmludCAiLS0tLS0tLS0tLS0tLS1cbiI7CgogICAgZm9yZWFjaCBteSAkZnMgKHNvcnQgeyRu dW1mc3skYX0gPD0+ICRudW1mc3skYn19IEAkZnNwb2ludGVyKQogICAgICB7CglpZiAoICRkaXNr c3VpdGUgKSB7CgkgIG15ICRtZD0kbWRmc3skZnN9OwoJICBwcmludGYgIlxuXG4qKiBmaWxlIHN5 c3RlbSAlLTEwcyAlLTIwcyAlLTE2cyAlLTZzICglM3MpXG4iLCAkZnMsICR0eXBlZnN7JGZzfSwg JGZ1bGxtZHskbWR9LCAkc2l6ZXskZnN9LCAkdXNlZHskZnN9OwoJICBpZiAoICQjJG1kID49IDAg KQoJICAgIHsKCSAgICAgIGZvcmVhY2ggbXkgJHN1Ym1pciAoQCRtZCkKCQl7CgkJICBwcmludGYi XG4gICAlNHM6IFN1Ym1pcnJvciBvZiAlLTNzIFN0YXRlIDogJS0xMHMgU2l6ZSA6ICUxMGQgYmxv Y2tzXG4iLCAkc3VibWlyLCAkbWQsICRzdGF0ZW1keyRzdWJtaXJ9LCAkc2l6ZW1keyRzdWJtaXJ9 OwoJCSAgZm9yZWFjaCBteSAkc3RyaXBlICgwLi4kI3skc2xpY2V7JHN1Ym1pcn19KQoJCSAgICB7 CgkJICAgICAgZm9yZWFjaCBteSAkc2xjIChAeyRzbGljZXskc3VibWlyfVskc3RyaXBlXX0pIHsK CQkJcHJpbnRmICIgICAgICBTdHJpcGUgJTJkOiAlLTEwcyAoZGlzayAlMmQpXG4iLCAkc3RyaXBl LCAkc2xjLCAkZGlza3BoeXskc2xjfTsKCQkgICAgICB9CgkJICAgIH0KCQl9CgkgICAgfQoJICBl bHNlCgkgICAgewoJICAgICAgcHJpbnRmICJcbiAgICU0czogU2l6ZTogJTEwZCBibG9ja3NcbiIs ICRtZCwgJHNpemVtZHskbWR9OwoJICAgICAgZm9yZWFjaCBteSAkc3RyaXBlICgwLi4kI3skc2xp Y2V7JG1kfX0pCgkJewoJCSAgZm9yZWFjaCBteSAkc2xjIChAeyRzbGljZXskbWR9WyRzdHJpcGVd fSkgewoJCSAgICBwcmludGYgIiAgICAgIFN0cmlwZSAlMmQ6ICUtMTBzIChkaXNrICUyZClcbiIs ICRzdHJpcGUsICRzbGMsICRkaXNrcGh5eyRzbGN9OwoJCSAgfQoJCX0KCSAgICB9Cgl9CgllbHNl IHsKCSAgbXkgJGRzaz0kZGlza2ZzeyRmc307CgkgIHByaW50ZiAiXG4qKiBmaWxlIHN5c3RlbSAl LTEwcyAlLTIwcyAlLTZzICglM3MpXG4iLCAkZnMsICRmdWxsZGlza3skZHNrfSwgJHNpemV7JGZz fSwgJHVzZWR7JGZzfTsKCX0KICAgICAgfQogICAgcHJpbnQgIlxuXG5cbiI7CiAgfQoKc3ViIHBs ZGlza3MKICB7CiAgICBteSAkZGlza3BvaW50ZXI9c2hpZnQ7CiAgICByZXR1cm4gaWYgKCQjJGRp c2twb2ludGVyIDwgMCk7CgogICAgcHJpbnQgIi0tLS0tLS1cbiI7CiAgICBwcmludCAiZGlza3Mg OlxuIjsKICAgIHByaW50ICItLS0tLS0tXG4iOwoKICAgICRzaXplZnJlZWN5bHM9MDsKICAgIGZv cmVhY2ggbXkgJHNkIChzb3J0IHskbnVtZGlza3skYX0gPD0+ICRudW1kaXNreyRifX0gQCRkaXNr cG9pbnRlcikKICAgICAgewoJcHJpbnQgIlxuZGlzayAkc2Q6XG4iOwoJcHJpbnQgIlxuUGFydCAg ICAgIFRhZyAgIEZsYWcgICAgICBDeWxpbmRlcnMgICAgICAgIFNpemUgICAgICBNb3VudCBEaXJl Y3RvcnkgIFBhcnRpdGlvblxuIjsKCQoJJGRldj0kZGlza2hhc2h7JHNkfTsKCglteSAkcGFydGl0 aW9uPTA7Cgl3aGlsZSAoJHBhcnRpdGlvbiA8IDgpCgkgIHsKCSAgICBteSAkZGV2aWNlPSIke2Rl dn1zJHBhcnRpdGlvbiI7CgkgICAgcHJpbnRmICIlM2QgJTEwcyAlNHMgJTE2cyAlMTBzICUyMHMg JTEwc1xuIiwkcGFydGl0aW9uKyssICR0YWd7JGRldmljZX0sICRmbGFneyRkZXZpY2V9LCAkY3ls eyRkZXZpY2V9LCAkc2l6ZXskZGV2aWNlfSwgJG1vdW50ZGlyeyRkZXZpY2V9LCAkZGV2aWNlOwoJ ICB9CgoJcHJpbnQgIlxuIjsKIyBsb29raW5nIGZvciB1bmFzc2lnbmVkIGN5bGluZGVycwoJbXkg KCRmaXJzdGN5bCwgJGF1eCwgJGxhc3RjeWwpID0gc3BsaXQgKCIgIiwgJGN5bHsiJHtkZXZ9czIi fSk7CglteSAkZmFjdG9yPSgmbWJzaXplKCRzaXpleyIke2Rldn1zMiJ9KS8oJGxhc3RjeWwtJGZp cnN0Y3lsKzEpKTsKCSRwYXJ0aXRpb249LTE7CgkkbmV4dGN5bD0kZmlyc3RjeWw7Cgl3aGlsZSAo KyskcGFydGl0aW9uIDwgOCkKCSAgewoJICAgIGlmICgkcGFydGl0aW9uID09IDIpIHsgJGN5bHBh cnRbJHBhcnRpdGlvbl09WzAsMF07IG5leHQgfQoJICAgICRkZXZpY2U9IiR7ZGV2fXMkcGFydGl0 aW9uIjsKCSAgICBAYXV4PXNwbGl0ICgiICIsICRjeWx7JGRldmljZX0pOwoJICAgIGlmICgkI2F1 eCA8IDIpIHskY3lscGFydFskcGFydGl0aW9uXT1bMCwwXTsgbmV4dH0KCSAgICAkY3lscGFydFsk cGFydGl0aW9uXT1bJGF1eFswXSwkYXV4WzJdXTsKCSAgfQogCUBzb3J0ZWRwYXJ0ID0gQGN5bHBh cnRbc29ydCB7ICRjeWxwYXJ0WyRhXVswXSA8PT4gJGN5bHBhcnRbJGJdWzBdfSAwLi4kI2N5bHBh cnRdOwogCSRwYXJ0aXRpb249LTE7CiAJd2hpbGUgKCsrJHBhcnRpdGlvbiA8IDgpCiAJICB7CiAJ ICAgIG5leHQgdW5sZXNzICgkc29ydGVkcGFydFskcGFydGl0aW9uXVsxXSA+IDApOwogCSAgICBp ZiAoICRuZXh0Y3lsID4gJHNvcnRlZHBhcnRbJHBhcnRpdGlvbl1bMF0gKQogCSAgICAgIHsKCQlp ZiAoJG5leHRjeWwgPD0gICRzb3J0ZWRwYXJ0WyRwYXJ0aXRpb25dWzFdICkKCQkgIHsKCQkgICAg JGM9JG5leHRjeWwtMQoJCSAgfQoJCWVsc2UKCQkgIHsKCQkgICAgJGM9JHNvcnRlZHBhcnRbJHBh cnRpdGlvbl1bMV07CgkJICB9CiAJCXByaW50ZiAiIE9WRVJMQVkgZnJvbSBjeWxpbmRlciAlZCB0 byBjeWxpbmRlciAlZFxuIiwkc29ydGVkcGFydFskcGFydGl0aW9uXVswXSwkYyAgOwogCSAgICAg IH0KIAkgICAgZWxzaWYoICRuZXh0Y3lsIDwgJHNvcnRlZHBhcnRbJHBhcnRpdGlvbl1bMF0gKQog CSAgICAgIHsKCQlteSAkZnJlZT0oJHNvcnRlZHBhcnRbJHBhcnRpdGlvbl1bMF0tJG5leHRjeWwp KiRmYWN0b3I7CgkJJHNpemVmcmVlY3lscyArPSAkZnJlZTsKCQlteSAkdW5pdDsKCQlpZiAoJGZy ZWUgPj0gMTAyNCkKCQkgIHsKCQkgICAgJGZyZWUgLz0gMTAyNDsKCQkgICAgJHVuaXQgPSAiR0Ii OwoJCSAgfQoJCWVsc2UKCQkgIHsKCQkgICAgJHVuaXQgPSAiTUIiOwoJCSAgfQogCQlwcmludGYg IiBVTkFTU0lHTkVEIGN5bGluZGVycyBmcm9tICU0ZCB0byAlNGQgOiAlNC4yZiAlcyBmcmVlXG4i LCRuZXh0Y3lsLCRzb3J0ZWRwYXJ0WyRwYXJ0aXRpb25dWzBdLTEsICRmcmVlLCAkdW5pdDsKIAkg ICAgICB9CiAJICAgICRuZXh0Y3lsPSRzb3J0ZWRwYXJ0WyRwYXJ0aXRpb25dWzFdKzEgaWYgKCRu ZXh0Y3lsIDw9ICRzb3J0ZWRwYXJ0WyRwYXJ0aXRpb25dWzFdKTsKIAkgIH0KCWlmICggJG5leHRj eWwgPD0gJGxhc3RjeWwpCgkgIHsKCSAgICBteSAkZnJlZT0oJGxhc3RjeWwtJG5leHRjeWwrMSkq JGZhY3RvcjsKCSAgICAkc2l6ZWZyZWVjeWxzICs9ICRmcmVlOwoJICAgIG15ICR1bml0OwoJICAg IGlmICgkZnJlZSA+PSAxMDI0KQoJICAgICAgewoJCSRmcmVlIC89IDEwMjQ7CgkJJHVuaXQgPSAi R0IiOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkdW5pdCA9ICJNQiI7CgkgICAgICB9 CgkgICAgcHJpbnRmICIgVU5BU1NJR05FRCBjeWxpbmRlcnMgZnJvbSAlNGQgdG8gJTRkIDogJTQu MmYgJXMgZnJlZVxuIiwkbmV4dGN5bCwkbGFzdGN5bCwgJGZyZWUsICR1bml0OwoJICB9CiAgICAg IH0KICAgIG15ICR1bml0OwogICAgaWYgKCRzaXplZnJlZWN5bHMgPj0gMTAyNCkKICAgICAgewoJ JHNpemVmcmVlY3lscyAvPSAxMDI0OwoJJGN1bml0ID0gIkdCIjsKICAgICAgfQogICAgZWxzZQog ICAgICB7CgkkY3VuaXQ9Ik1CIjsKICAgICAgfQogICAgcHJpbnQgIlxuXG5cbiI7CiAgfQoKc3Vi IHBsZnBhcnQKICB7CiAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS1cbiI7CiAgICBwcmludCAi ZnJlZSBwYXJ0aXRpb25zIDpcbiI7CiAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS1cbiI7Cgog ICAgJGZyZWVwc3VtPTA7CgogICAgZm9yZWFjaCBteSAkc2QgKGtleXMgJWRpc2toYXNoKQogICAg ICB7CglteSAkZGV2PSRkaXNraGFzaHskc2R9OwoJJGZyZWU9Im5vIjsKCW15ICRwYXJ0aXRpb24g PSAwOwoJd2hpbGUgKCAkcGFydGl0aW9uIDwgOCkKCSAgewoJICAgIG15ICRkZXZpY2U9IiR7ZGV2 fXMkcGFydGl0aW9uIjsKCgkgICAgbXkgJG1vdW50PSRtb3VudGRpcnskZGV2aWNlfTsKCgkgICAg aWYgKCIkbW91bnQiIGVxICIqKiBGUkVFICoqIikKCSAgICAgIHsKCQlpZiAoICIkZnJlZSIgZXEg Im5vIikKCQkgIHsKCQkgICAgcHJpbnQgIlxuZGlzayAkc2QgOlxuXG4iOwoJCSAgICAkZnJlZSA9 ICJ5ZXMiOwoJCSAgfQoJCXByaW50ZiAiICUzZCAlMTBzICU0cyAlMTZzICUxMHMgJTIwc1xuIiwg JHBhcnRpdGlvbiwgJHRhZ3skZGV2aWNlfSwgJGZsYWd7JGRldmljZX0sICRjeWx7JGRldmljZX0s ICRzaXpleyRkZXZpY2V9LCAkYmxvY2tzeyRkZXZpY2V9OwoKCQkkZnJlZXBzdW0gKz0gJm1ic2l6 ZSgkc2l6ZXskZGV2aWNlfSk7CgkgICAgICB9CgkgICAgJHBhcnRpdGlvbisrOwoJICB9CiAgICAg IH0KCiAgICBpZiAoICRmcmVlcHN1bSA+PSAxMDI0KQogICAgICB7CgkkZnJlZXBzdW0gLz0gMTAy NDsKCSRwdW5pdD0iR0IiOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRwdW5pdD0iTUIiOwog ICAgICB9CiAgICBwcmludCAiXG5cblxuIjsKICB9CgpzdWIgcGxzdW1tYXJ5CiAgewogICAgcHJp bnQgIi0tLS0tLS0tLVxuIjsKICAgIHByaW50ICJzdW1tYXJ5IDpcbiI7CiAgICBwcmludCAiLS0t LS0tLS0tXG5cblxuIjsKCiAgICBwcmludGYgIiBUb3RhbCBzaXplIG9mIHVuYXNzaWduZWQgY3ls aW5kZXJzIG9uIGFsbCBkaXNrcyA6ICUuMmYgJGN1bml0XG4iLCAkc2l6ZWZyZWVjeWxzOwogICAg cHJpbnRmICIgVG90YWwgZnJlZSBzcGFjZSBpbiB1bmFzc2lnbmVkIHBhcnRpdGlvbnMgOiAlLjJm ICRwdW5pdFxuIiwgJGZyZWVwc3VtOwogICAgcHJpbnRmICIgVG90YWwgbnVtYmVyIG9mIGRpc2tz IDogJTJkXG4iLCAkI2Rpc2tsaXN0KzE7CiAgICBwcmludGYgIiBUb3RhbCBudW1iZXIgb2YgbG9j YWwgZmlsZS1zeXN0ZW1zIDogJTNkXG4iLCAkI2ZzbGlzdCsxOwogICAgJG5ibWlyZnM9MDsKICAg ICBpZiAoJGRpc2tzdWl0ZSkgewogICAgICAgZm9yZWFjaCBteSAkZnMgKEBmc2xpc3QpIHsKIAkg aWYgKCR0eXBlZnN7JGZzfSA9fiBtL15NaXJyb3IkLykgewogCSAgJG5ibWlyZnMgKz0gMTsKIAl9 CiAgICAgIH0KICAgICB9CgogICAgcHJpbnRmICIgVG90YWwgbnVtYmVyIG9mIG1pcnJvcmVkIGZp bGUtc3lzdGVtcyA6ICUyZFxuIiwkbmJtaXJmczsKICAgIHByaW50ICJcblxuXG4iOwogIH0KCnN1 YiBtYnNpemUKICB7CiAgICBteSAkc2l6ZT1zaGlmdDsKICAgIGlmICggJHNpemUgPX4gbS9eKFsw LTkuXSopTUIkLykKICAgICAgewoJJG1ic2l6ZSA9ICQrOwogICAgICB9CiAgICBlbHNpZiAoICRz aXplID1+IG0vXihbMC05Ll0qKUdCJC8pCiAgICAgIHsKCSRtYnNpemUgPSAkKyAqIDEwMjQgOwog ICAgICB9CiAgICByZXR1cm4gJG1ic2l6ZTsKICB9CgpzdWIgdW5pcXVlCiAgewogICAgbXkgQGFy cmF5PUBfOwogICAgCiAgICBteSAkaT0tMTsKCiAgICB3aGlsZSAoKyskaSA8PSAkI2FycmF5KQog ICAgICB7Cgkkaj0kaTsKCXdoaWxlICgrKyRqIDw9ICQjYXJyYXkpIAoJICB7CgkgICAgc3BsaWNl IChAYXJyYXksICRqLCAxKSBpZiAoICRhcnJheVskaV0gZXEgJGFycmF5WyRqXSk7CgkgIH0KICAg ICAgfQogICAgcmV0dXJuIEBhcnJheTsKICB9CgpzdWIgc2VsZWN0ZGV2CiAgewogICAgaWYgKCAk I2ZzID49IDAgKQogICAgICB7Cglmb3JlYWNoIG15ICRmcyAoQGZzKQoJICB7CgkgICAgJGZzPSIv JGZzIiB1bmxlc3MgKCRmcyA9fiBtLF4vLCk7CgkgICAgZGllICJmaWxlIHN5c3RlbSAkZnMgbm90 IGZvdW5kIGJ5IGRmXG4iIHVubGVzcyAoZXhpc3RzICRtZGZzeyRmc30gfHwgZXhpc3RzICRkaXNr ZnN7JGZzfSk7CgkgICAgcHVzaCAoQGZzbGlzdCwgJGZzKTsKCSAgfQoJZm9yZWFjaCBteSAkc2Qg KGtleXMgJWRpc2toYXNoKQoJICB7CgkgICAgZm9yZWFjaCBteSAkcGFydGl0aW9uICgwLi43KQoJ ICAgICAgewoJCW15ICR0cm91dmU9MDsKCQlmb3JlYWNoIG15ICRmcyAoQGZzbGlzdCkKCQkgIHsK CQkgICAgaWYgKCRtb3VudGRpcnsiJGRpc2toYXNoeyRzZH1zJHBhcnRpdGlvbiJ9IGVxICRmcykK CQkgICAgICB7CgkJCXB1c2ggKEBkaXNrbGlzdCwgJHNkKTsKCQkJJHRyb3V2ZT0xOwoJCQlsYXN0 OwoJCSAgICAgIH0KCQkgIH0KCQlsYXN0IGlmICR0cm91dmU7CgkgICAgICB9CgkgIH0KICAgICAg fQogICAgZWxzaWYgKCQjZHNrbCA+PSAwKQogICAgICB7Cglmb3JlYWNoIG15ICRkc2sgKCBAZHNr bCApCgkgIHsKCSAgICBkaWUgImRpc2sgJGRzayBub3QgZm91bmQuXG4gUGxlYXNlIHJ1biBmb3Jt YXQgdG8gc2VlIHRoZSBsaXN0IG9mIGRpc2tzLlxuIiB1bmxlc3MgZXhpc3RzICRkaXNraGFzaHsk ZHNrfTsKCSAgICBmb3JlYWNoIG15ICRwYXJ0aXRpb24gKDAuLjcpCgkgICAgICB7CgkJJF8gPSAk bW91bnRkaXJ7IiRkaXNraGFzaHskZHNrfXMkcGFydGl0aW9uIn07CgkJaWYgKCBtp14vpykKCQkg IHsKCQkgICAgcHVzaCAoQGZzbGlzdCwkXyk7CgkJICB9CgkgICAgICB9CgkgICAgcHVzaCAoQGRp c2tsaXN0LCAkZHNrKTsKCSAgfQogICAgICB9CiAgICBlbHNpZiAoJCNtZGwgPj0gMCkKICAgICAg ewoJZm9yZWFjaCBteSAkbWQgKEBtZGwpCgkgIHsKCSAgICAkZGVidWcgJiYgcHJpbnQgIm1ldGFk ZXZpY2UgJG1kIDogJCN7JG1kfSArIDEgc3VibWlyc1xuIjsKCSAgICBkaWUgIm1ldGEtZGV2aWNl ICRtZCBub3QgZm91bmQgYnkgbWV0YXN0YXRcbiIgdW5sZXNzIGV4aXN0cyAkc2l6ZW1keyRtZH07 CgkgICAgaWYgKCAkIyRtZCA+PSAwICkKCSAgICAgIHsKCQkjIG1kIGlzIGEgbWlycm9yZWQgbWV0 YWRldmljZS4gbGV0IHVzIGNvbnNpZGVyIGVhY2ggc3VibWlycm9yCgkJZm9yZWFjaCBteSAkc3Vi bWlyIChAJG1kKQoJCSAgewoJCSAgICBmb3JlYWNoIG15ICRzbGljZSAoMC4uJCN7JHNsaWNleyRz dWJtaXJ9fSkKCQkgICAgICB7CgkJCWZvcmVhY2ggbXkgJHNsYyAoQHskc2xpY2V7JHN1Ym1pcn1b JHN0cmlwZV19KSB7CgkJCSAgcHVzaCAoQGZzbGlzdCwgJG1vdW50ZGlyeyRzbGN9KSBpZiBleGlz dHMgJG1kZnN7JG1vdW50ZGlyeyRzbGN9fTsKCQkJICBwdXNoIChAZGlza2xpc3QsICRkaXNrcGh5 eyRzbGN9KTsKCQkJfQoJCSAgICAgIH0KCQkgIH0KCSAgICAgIH0KCSAgICBlbHNpZiAoZXhpc3Rz ICRtYWlubWR7JG1kfSkKCSAgICAgICMgbWQgaXMgYSBzdWJtaXJyb3IsIHdlIHNoYWxsIGV4YW1p bmUgdGhlIHdob2xlIG1pcnJvcgoJICAgICAgewoJCSRkZWJ1ZyAmJiBwcmludCAic3VibWlycm9y IG9mICRtYWlubWR7JG1kfVxuIjsKCQkkbWQ9JG1haW5tZHskbWR9OwoJCXJlZG87CgkgICAgICB9 CgkgICAgZWxzZQoJICAgICAgIyBtZCBpcyBub3QgYSBtaXJyb3JlZCBtZXRhLWRldmljZQoJICAg ICAgewoJCWZvcmVhY2ggbXkgJHN0cmlwZSAoMC4uJCN7JHNsaWNleyRtZH19KQoJCSAgewoJCSAg ICBmb3JlYWNoIG15ICRzbGMgKEB7JHNsaWNleyRtZH1bJHN0cmlwZV19KSB7CQkgICAgICAKCQkg ICAgICBwdXNoIChAZnNsaXN0LCAkbW91bnRkaXJ7JHNsY30pIGlmICgkbW91bnRkaXJ7JHNsY30g PX4gbadeL6cpOwoJCSAgICAgIHB1c2ggKEBkaXNrbGlzdCwgJGRpc2twaHl7JHNsY30pOwoJCSAg ICB9CgkJICB9CgkgICAgICB9IAoJICB9CiAgICAgIH0JCiAgICBlbHNlCiAgICAgIHsJCglpZiAo ICRkaXNrc3VpdGUgKSB7IEBmc2xpc3Q9a2V5cyAlbWRmcyB9CgllbHNlIHsgQGZzbGlzdCA9IGtl eXMgJWRpc2tmcyB9CglAZGlza2xpc3Q9a2V5cyAlZGlza2hhc2g7CiAgICAgIH0KICAgIAogICAg QGZzbGlzdCAgID0gJnVuaXF1ZShAZnNsaXN0KTsKICAgIEBkaXNrbGlzdCA9ICZ1bmlxdWUoQGRp c2tsaXN0KTsKICB9CiMKIyBtYWluCiMKCiMgbG9vayBmb3IgbG9jYWwgZmlsZXN5c3RlbXMKJnNw bGl0ZGY7CmlmICggJGxmcyApIHsgQGZzbGlzdD1zb3J0IHskbnVtZnN7JGF9IDw9PiAkbnVtZnN7 JGJ9fSBrZXlzICVudW1mczsgJCI9IlxuIjsgcHJpbnQgIlxubGlzdCBvZiBsb2NhbCBmaWxlLXN5 c3RlbXM6XG5cbkBmc2xpc3RcbiI7IGV4aXQgMCB9CiMgbG9vayBmb3IgZGlza3MKJnNwbGl0Zm9y bWF0aW5pdDsKaWYgKCAkbGRpc2sgKSB7CiAgcHJpbnQgIlxuIGxpc3Qgb2YgZGlza3M6XG5cbiI7 CiAgZm9yZWFjaCBteSAkZGlzayAoc29ydCB7JG51bWRpc2t7JGF9IDw9PiAkbnVtZGlza3skYn19 IGtleXMgJWRpc2toYXNoKSB7CiAgICBwcmludCAiJGRpc2sgICgkZGlza2hhc2h7JGRpc2t9KVxu IjsKICB9CiAgZXhpdCAwOwp9CgppZiAoJGRpc2tzdWl0ZSkgewojIGxvb2sgZm9yIHBhcnRpdGlv bnMgYXNzb2NpYXRlZCB3aXRoIGZpbGVzeXN0ZW1zCiAgJnNwbGl0bWV0YTsKICBpZiAoICRsbWQg KSB7CiAgICBmb3JlYWNoIG15ICRmcyAoa2V5cyAlbWRmcyl7CiAgICAgIG15ICRtZD0kbWRmc3sk ZnN9OwogICAgICBwdXNoIChAbWRsaXN0LCAkbWQpOwogICAgICBpZiAoICQjJG1kID49IDAgKSB7 Cglmb3JlYWNoIG15ICRzdWJtaXIgKEAkbWQpIHsKCSAgcHVzaCAoQG1kbGlzdCwgJHN1Ym1pcik7 Cgl9CiAgICAgIH0KICAgIH0KICAgIEBtZGxpc3QgPSBzb3J0IEBtZGxpc3Q7CiAgICAkIj0iXG4i OyBwcmludCAiXG4gbGlzdCBvZiBtZXRhZGV2aWNlczpcblxuQG1kbGlzdFxuIjsgZXhpdCAwCiAg fQojIGxvb2sgZm9yIG1ldGEgZGF0YSBiYXNlCiAgJnNwbGl0bWV0YWRiOwp9CiMgbG9vayBmb3Ig c3dhcCBzcGFjZQomc3BsaXRzd2FwOwojIGxvb2sgZm9yIHBhcnRpdGlvbnMgb24gZWFjaCBkaXNr CiZzcGxpdGZvcm1hdDsKIwpleGl0IDAgaWYgKCR3YXJuaW5ncyk7CiMgc2VsZWN0IGRldmljZXMg b24gd2hpY2ggaW5mb3JtYXRpb25zIHNob3VsZCBiZSBwcmludGVkCiZzZWxlY3RkZXY7CnByaW50 ICJAZnNsaXN0XG4iIGlmICgkZGVidWcpOwojcHJpbnQgcGVyIGZpbGVzeXN0ZW0gcmVzdWx0cwom cGxmcyhcQGZzbGlzdCk7CiMgcHJpbnQgcGVyIGRpc2sgcmVzdWx0cwomcGxkaXNrcyhcQGRpc2ts aXN0KTsKIyBsaXN0IGZyZWUgcGFydGl0aW9ucwppZiAoICQjZnMgPCAwICYmICQjZHNrbCA8IDAg JiYgJCNtZGwgPCAwKSB7CiAgJnBsZnBhcnQ7CiAgJnBsc3VtbWFyeTsKfQo= --0__=C1256AE800305D048f9e8a93df938690918cC1256AE800305D04--Received on Wed Oct 17 09:57:10 2001
This archive was generated by hypermail 2.1.8 : Wed Mar 23 2016 - 16:32:33 EDT