From owner-freebsd-hackers Mon Jun 25 4:43:13 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout4-0.nyroc.rr.com (mailout4-1.nyroc.rr.com [24.92.226.166]) by hub.freebsd.org (Postfix) with ESMTP id 8A70F37B401 for ; Mon, 25 Jun 2001 04:42:59 -0700 (PDT) (envelope-from James_Bond_79@yahoo.com) Received: from halstead007 (roc-24-169-196-57.rochester.rr.com [24.169.196.57]) by mailout4-0.nyroc.rr.com (8.11.2/RoadRunner 1.03) with SMTP id f5PBfZ823907; Mon, 25 Jun 2001 07:41:35 -0400 (EDT) Content-Type: Multipart/Mixed; charset="iso-8859-1"; boundary="------------Boundary-00=_C7IHYKFQN29DWWVL1GHJ" From: James Halstead To: David Gilbert Subject: Re: DVD IOCTLs on IDE? Date: Mon, 25 Jun 2001 07:50:00 -0400 X-Mailer: KMail [version 1.2] References: <15158.24886.958193.121109@trooper.velocet.net> <01062420555600.00449@halstead007> <15158.36689.918629.862331@trooper.velocet.net> In-Reply-To: <15158.36689.918629.862331@trooper.velocet.net> Cc: freebsd-hackers@freebsd.org MIME-Version: 1.0 Message-Id: <01062507500001.00449@halstead007> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --------------Boundary-00=_C7IHYKFQN29DWWVL1GHJ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit On Sunday 24 June 2001 21:09, David Gilbert wrote: > Could I have a copy of your patches? Where do I get xine? The attached is a shell archive for a port I made out of the libcss from livid. It compiles but i have no idea if it works. Please do not submit it to the ports collection! all the patches are in the files/patch-* files. As for xine, go to xine.sourceforge.net, hit the how to link, then choose browseable html. Select the playing dvd's and there will be a link to the captiancss page. It compiles cleanly on my 4.x system with ./configure --prefix=/usr/X11R6; gmake; gmake install. If I remember right the makefiles will work with the regular make as well if you don't have gmake installed. There is also a link to the linux video site (where libcss comes from) and a plugin to use libcss. However I cannot get the plugin for this one to compile yet. If you have any luck tell me. I have been able to watch encrypted dvd's but it seems to like crashing when changing tracks. Also i have had a problem where xine will stop running after a while, seems to be running out of shared memory maps, something is not getting cleaned up properly. > Dave. James --------------Boundary-00=_C7IHYKFQN29DWWVL1GHJ Content-Type: text/plain; charset="iso-8859-1"; name="libcss.shar" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="libcss.shar" IyBUaGlzIGlzIGEgc2hlbGwgYXJjaGl2ZS4gIFNhdmUgaXQgaW4gYSBmaWxlLCByZW1vdmUgYW55 dGhpbmcgYmVmb3JlCiMgdGhpcyBsaW5lLCBhbmQgdGhlbiB1bnBhY2sgaXQgYnkgZW50ZXJpbmcg InNoIGZpbGUiLiAgTm90ZSwgaXQgbWF5CiMgY3JlYXRlIGRpcmVjdG9yaWVzOyBmaWxlcyBhbmQg ZGlyZWN0b3JpZXMgd2lsbCBiZSBvd25lZCBieSB5b3UgYW5kCiMgaGF2ZSBkZWZhdWx0IHBlcm1p c3Npb25zLgojCiMgVGhpcyBhcmNoaXZlIGNvbnRhaW5zOgojCiMJbGliY3NzCiMJbGliY3NzL3Br Zy1kZXNjcgojCWxpYmNzcy9wa2ctcGxpc3QKIwlsaWJjc3MvZmlsZXMKIwlsaWJjc3MvZmlsZXMv cGF0Y2gtYWEKIwlsaWJjc3MvZmlsZXMvcGF0Y2gtYWcKIwlsaWJjc3MvZmlsZXMvcGF0Y2gtYWIK IwlsaWJjc3MvZmlsZXMvcGF0Y2gtYWMKIwlsaWJjc3MvZmlsZXMvcGF0Y2gtYWQKIwlsaWJjc3Mv ZmlsZXMvcGF0Y2gtYWUKIwlsaWJjc3MvZmlsZXMvcGF0Y2gtYWYKIwlsaWJjc3MvZmlsZXMvcGF0 Y2hlcy1haAojCWxpYmNzcy9kaXN0aW5mbwojCWxpYmNzcy9wa2ctY29tbWVudAojCWxpYmNzcy9N YWtlZmlsZQojCmVjaG8gYyAtIGxpYmNzcwpta2RpciAtcCBsaWJjc3MgPiAvZGV2L251bGwgMj4m MQplY2hvIHggLSBsaWJjc3MvcGtnLWRlc2NyCnNlZCAncy9eWC8vJyA+bGliY3NzL3BrZy1kZXNj ciA8PCAnRU5ELW9mLWxpYmNzcy9wa2ctZGVzY3InClhMaWJjc3MgbGlicmFyeSBhcyBpbXBsZW1l bnRlZCBpbiB0aGUgbGl2aWQgcHJvamVjdC4gU2hvdWxkIHdvcmsgd2l0aCB4aW5lIHRvClhwbGF5 IGVuY3J5cHRlZCBkdmQncwpFTkQtb2YtbGliY3NzL3BrZy1kZXNjcgplY2hvIHggLSBsaWJjc3Mv cGtnLXBsaXN0CnNlZCAncy9eWC8vJyA+bGliY3NzL3BrZy1wbGlzdCA8PCAnRU5ELW9mLWxpYmNz cy9wa2ctcGxpc3QnClhiaW4vdHN0ZHZkClhiaW4vZHZkaW5mbwpYYmluL3Jlc2V0X2R2ZApYaW5j bHVkZS9jc3MuaApYbGliL2xpYmNzcy5zby4xClhsaWIvbGliY3NzLnNvClhsaWIvbGliY3NzLmxh ClhsaWIvbGliY3NzLmEKWHNoYXJlL2FjbG9jYWwvZHZkLm00CkVORC1vZi1saWJjc3MvcGtnLXBs aXN0CmVjaG8gYyAtIGxpYmNzcy9maWxlcwpta2RpciAtcCBsaWJjc3MvZmlsZXMgPiAvZGV2L251 bGwgMj4mMQplY2hvIHggLSBsaWJjc3MvZmlsZXMvcGF0Y2gtYWEKc2VkICdzL15YLy8nID5saWJj c3MvZmlsZXMvcGF0Y2gtYWEgPDwgJ0VORC1vZi1saWJjc3MvZmlsZXMvcGF0Y2gtYWEnClgtLS0g Y29uZmlndXJlLmluLm9yaWcJV2VkIEZlYiAxNCAxOTo0MDowMiAyMDAxClgrKysgY29uZmlndXJl LmluCVdlZCBKdW4gMjAgMTY6MzM6MjQgMjAwMQpYQEAgLTQzLDE1ICs0MywxOSBAQApYIGlmIHRl c3QgIngkZW5hYmxlX2RldmVsIiA9ICJ4eWVzIjsgdGhlbgpYICAgICAgICAgQ0ZMQUdTPSIkQ0ZM QUdTIC1nMyAtRERFVkVMIC1EREVCVUciClggZWxzZQpYLSAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdT IC1PNiAtZm9taXQtZnJhbWUtcG9pbnRlciAtZnVucm9sbC1hbGwtbG9vcHMgLURfX09QVElNSVpF X18gLURfX1VTRV9TVFJJTkdfSU5MSU5FUyIKWCsgICAgICAgIENGTEFHUz0iJENGTEFHUyAtTzYg LWZvbWl0LWZyYW1lLXBvaW50ZXIgLWZ1bnJvbGwtYWxsLWxvb3BzIC1EX19PUFRJTUlaRV9fIC1E X19VU0VfU1RSSU5HX0lOTElORVMgXCQoRVhUUkFfREVGUykiClggZmkgICAgIApYIApYLQpYIGRu bCA9PT09PT09PT09ClggZG5sIGdldCBsb2NhdGlvbiBvZiBrZXJuZWwgaGVhZGVycwpYIGRubCA9 PT09PT09PT09ClggClggQUNfQ19LRVJORUxfSU5DTFVERVMKWCsKWCtkbmwgPT09PT09PT09PQpY K2RubCBDaGVjayBpZiB3ZSdyZSBvbiBGcmVlQlNEClgrZG5sID09PT09PT09PT0KWCtBTV9DT05E SVRJT05BTChGUkVFQlNELCB0ZXN0IGB1bmFtZSAtc2AgPSAiRnJlZUJTRCIpClggClggZG5sID09 PT09PT09PT0KWCBkbmwgT3V0cHV0IGNvbmZpZ3VyYXRpb24gZmlsZXMKRU5ELW9mLWxpYmNzcy9m aWxlcy9wYXRjaC1hYQplY2hvIHggLSBsaWJjc3MvZmlsZXMvcGF0Y2gtYWcKc2VkICdzL15YLy8n ID5saWJjc3MvZmlsZXMvcGF0Y2gtYWcgPDwgJ0VORC1vZi1saWJjc3MvZmlsZXMvcGF0Y2gtYWcn ClgtLS0gc3JjL3RzdGR2ZC5jLm9yaWcJVHVlIEZlYiAxMyAxNjo1OToyNyAyMDAxClgrKysgc3Jj L3RzdGR2ZC5jCVdlZCBKdW4gMjAgMTY6MzM6MjQgMjAwMQpYQEAgLTY1LDExICs2NSwxOSBAQApY IAkJcGVycm9yKCJEVkQgdm9iIGZpbGUiKTsKWCAJCXJldHVybiAwOwpYIAl9ClgrI2lmbmRlZiBf X0ZyZWVCU0RfXwpYIAlpZiAoaW9jdGwoZmQsIEZJQk1BUCwgJmxiYSkgIT0gMCkgewpYIAkJcGVy cm9yICgiaW9jdGwgRklCTUFQIik7ClggCQljbG9zZShmZCk7ClggCQlyZXR1cm4gMDsKWCAJfQpY KyNlbHNlClgrCWlmIChpb2N0bChmZCwgRklPR0VUTEJBLCAmbGJhKSAhPSAwKSB7ClgrCQlwZXJy b3IgKCJpb2N0bCBGSU9HRVRMQkEiKTsKWCsJCWNsb3NlKGZkKTsKWCsJCXJldHVybiAwOwpYKwl9 ClgrI2VuZGlmClggClggCWNsb3NlKGZkKTsKWCAKRU5ELW9mLWxpYmNzcy9maWxlcy9wYXRjaC1h ZwplY2hvIHggLSBsaWJjc3MvZmlsZXMvcGF0Y2gtYWIKc2VkICdzL15YLy8nID5saWJjc3MvZmls ZXMvcGF0Y2gtYWIgPDwgJ0VORC1vZi1saWJjc3MvZmlsZXMvcGF0Y2gtYWInClgtLS0gc3JjL01h a2VmaWxlLmFtLm9yaWcJVGh1IE5vdiAgMiAxNDowNjo0MSAyMDAwClgrKysgc3JjL01ha2VmaWxl LmFtCQlXZWQgSnVuIDIwIDE2OjMzOjI0IDIwMDEKWEBAIC0xMCwxNyArMTAsMzAgQEAKWCBiaW5f UFJPR1JBTVMgPSB0c3RkdmQgZHZkaW5mbyByZXNldF9kdmQKWCBub2luc3RfUFJPR1JBTVMgPSBj c3NfY2F0ClggClgraWYgRlJFRUJTRApYK0VYVFJBX0RFRlMgPSAtRF9USFJFQURfU0FGRQpYK0xJ QlBUSFJFQUQgPSAtcHRocmVhZApYK0xJQkRMID0KWCtlbHNlClgrRVhUUkFfREVGUyA9ClgrTElC UFRIUkVBRCA9ClgrTElCREwgPSAtbGRsClgrZW5kaWYKWCsKWCB0c3RkdmRfU09VUkNFUyA9IHRz dGR2ZC5jClggdHN0ZHZkX0RFUEVOREVOQ0lFUyA9IGxpYmNzcy5sYQpYLXRzdGR2ZF9MREFERCA9 IGxpYmNzcy5sYSAtbGRsClgrdHN0ZHZkX0xERkxBR1MgPSAkKExJQlBUSFJFQUQpClgrdHN0ZHZk X0xEQUREID0gbGliY3NzLmxhICQoTElCREwpClggClggY3NzX2NhdF9TT1VSQ0VTID0gY3NzX2Nh dC5jClggY3NzX2NhdF9ERVBFTkRFTkNJRVMgPSBsaWJjc3MubGEKWC1jc3NfY2F0X0xEQUREID0g bGliY3NzLmxhIC1sZGwKWCtjc3NfY2F0X0xERkxBR1MgPSAkKExJQlBUSFJFQUQpClgrY3NzX2Nh dF9MREFERCA9IGxpYmNzcy5sYSAkKExJQkRMKQpYIApYIGR2ZGluZm9fU09VUkNFUyA9IGR2ZGlu Zm8uYwpYIGR2ZGluZm9fREVQRU5ERU5DSUVTID0gbGliY3NzLmxhClgtZHZkaW5mb19MREFERCA9 IGxpYmNzcy5sYSAtbGRsClgrZHZkaW5mb19MREZMQUdTID0gJChMSUJQVEhSRUFEKQpYK2R2ZGlu Zm9fTERBREQgPSBsaWJjc3MubGEgJChMSUJETCkKWCAKWCByZXNldF9kdmRfU09VUkNFUyA9IHJl c2V0X2R2ZC5jClggCkVORC1vZi1saWJjc3MvZmlsZXMvcGF0Y2gtYWIKZWNobyB4IC0gbGliY3Nz L2ZpbGVzL3BhdGNoLWFjCnNlZCAncy9eWC8vJyA+bGliY3NzL2ZpbGVzL3BhdGNoLWFjIDw8ICdF TkQtb2YtbGliY3NzL2ZpbGVzL3BhdGNoLWFjJwpYLS0tIHNyYy9jc3MuYy5vcmlnCVR1ZSBGZWIg MTMgMTY6NTk6MjcgMjAwMQpYKysrIHNyYy9jc3MuYwkJV2VkIEp1biAyMCAxNjozMzoyNCAyMDAx ClhAQCAtMzAsNyArMzAsNyBAQApYICNpbmNsdWRlIDxzeXMvc3RhdC5oPgpYICNpbmNsdWRlIDxz eXMvdHlwZXMuaD4KWCAjaW5jbHVkZSA8ZXJybm8uaD4KWC0jaWYgZGVmaW5lZChfX05ldEJTRF9f KSB8fCBkZWZpbmVkKF9fT3BlbkJTRF9fKQpYKyNpZiBkZWZpbmVkKF9fTmV0QlNEX18pIHx8IGRl ZmluZWQoX19PcGVuQlNEX18pIHx8IGRlZmluZWQoX19GcmVlQlNEX18pClggIyBpbmNsdWRlIDxz eXMvZHZkaW8uaD4KWCAjZWxpZiBkZWZpbmVkKF9fbGludXhfXykKWCAjIGluY2x1ZGUgPGxpbnV4 L2Nkcm9tLmg+ClhAQCAtNDEsMTMgKzQxLDE3IEBAClggI2luY2x1ZGUgImNzc19hdXRoLmgiClgg I2luY2x1ZGUgImNzcy5oIgpYIApYKyNpZmRlZiBfX0ZyZWVCU0RfXwpYK3R5cGVkZWYgc3RydWN0 IGR2ZF9zdHJ1Y3QgICBkdmRfc3RydWN0OwpYK3R5cGVkZWYgc3RydWN0IGR2ZF9hdXRoaW5mbyBk dmRfYXV0aGluZm87ClgrI2VuZGlmClggClggdHlwZWRlZiBzdHJ1Y3QgewpYIAl1aW50OF90IENo YWxsZW5nZVsxMF07ClggCXVpbnQ4X3QgS2V5MVtMRU5fS0VZXTsKWCAJdWludDhfdCBLZXkyW0xF Tl9LRVldOwpYIAl1aW50OF90IEtleUNoZWNrW0xFTl9LRVldOwpYLQl1aW50OF90IHZhcmllbnQ7 ClgrCXVpbnQ4X3QgdmFyaWFudDsKWCB9IERpc2NLZXlzOwpYIApYIERpc2NLZXlzIGRpc2NLZXlz OwpYQEAgLTcwLDEyICs3NCwxMyBAQApYICNlbHNlClggI2RlZmluZSBfQ1NTUHJpbnREZWJ1Zyhh cmdzLi4uKQpYICNkZWZpbmUgX0NTU1ByaW50RGVidWdCeXRlcyhkZXNjciwgdmFsLCBsZW4pClgr I2RlZmluZSBfQ1NTUHJpbnRCeXRlcyh2YWwsIGxlbikKWCAjZW5kaWYKWCAKWCAvKioKWCAgKiBD U1NBdXRoRHJpdmUKWCAgKiBEZXRlcm1pbmUgaWYgZHJpdmUgaXMgYXV0aGVudGljClgtICogUmV0 dXJuOiAtMSBpZiBmYWlsZWQsIDAuLjMyID0gdmFyaWVudCBvZiBDU1MKWCsgKiBSZXR1cm46IC0x IGlmIGZhaWxlZCwgMC4uMzIgPSB2YXJpYW50IG9mIENTUwpYICAqKi8KWCAKWCAKWEBAIC05MCw4 ICs5NSw4IEBAClggCQlDcnlwdEtleTEoIGksIGRpc2MtPkNoYWxsZW5nZSwgZGlzYy0+S2V5Q2hl Y2spOwpYIApYIAkJaWYgKG1lbWNtcCAoZGlzYy0+S2V5Q2hlY2ssIGRpc2MtPktleTEsIExFTl9L RVkpID09IDApIHsKWC0JCQlfQ1NTUHJpbnREZWJ1ZyAoIkRyaXZlIEF1dGhlbnRpYyAtIHVzaW5n IHZhcmllbnQgJWRcbiIsIGkpOwpYLQkJCWRpc2MtPnZhcmllbnQgPSBpOwpYKwkJCV9DU1NQcmlu dERlYnVnICgiRHJpdmUgQXV0aGVudGljIC0gdXNpbmcgdmFyaWFudCAlZFxuIiwgaSk7ClgrCQkJ ZGlzYy0+dmFyaWFudCA9IGk7ClggCQkJcmV0dXJuIGk7ClggCQl9ClggCX0KWEBAIC0xMTksNiAr MTI0LDcgQEAKWCAJZHZkX3N0cnVjdCBzOwpYIAlpbnQgaTsKWCAKWCsjaWZuZGVmIF9fRnJlZUJT RF9fClggCXMudHlwZSA9IERWRF9TVFJVQ1RfRElTQ0tFWTsKWCAJcy5kaXNja2V5LmFnaWQgPSBh Z2lkOwpYIAltZW1zZXQgKHMuZGlzY2tleS52YWx1ZSwgMCwgMjA0OCk7ClhAQCAtMTM0LDYgKzE0 MCwyOSBAQApYIAlfQ1NTUHJpbnREZWJ1Z0J5dGVzICgiUmVjZWl2ZWQgRGlzYyBLZXkiLCBzLmRp c2NrZXkudmFsdWUsIDEwKTsKWCAKWCAJbWVtY3B5IChrZXlfZGlzYywgcy5kaXNja2V5LnZhbHVl LCAyMDQ4KTsKWCsjZWxzZQpYKwkvKgpYKwkgKiBGcmVlQlNEJ3MgZHZkX3N0cnVjdCBpcyBub3Qg YSB1bmlvbiBhcyBpdCBpcyB3aXRoIHRoZSBvdGhlcgpYKwkgKiBwbGF0Zm9ybXM7IGhlbmNlLCB0 aGVyZSBhcmUgbm8gYWRkaXRpb25hbCBzdWItbWVtYmVyClgrCSAqIGRlcmVmZXJlbmNlcy4KWCsJ ICovClgrClgrCXMuZm9ybWF0ID0gRFZEX1NUUlVDVF9ESVNDS0VZOwpYKwlzLmFnaWQgICA9IGFn aWQ7ClgrCW1lbXNldCggcy5kYXRhLCAwLCAyMDQ4KTsKWCsKWCsJaWYgKGlvY3RsKCBmZCwgRFZE SU9DUkVBRFNUUlVDVFVSRSwgJnMpIDwgMCkgewpYKwkJcGVycm9yKCAiQ291bGQgbm90IHJlYWQg RGlzYyBLZXkiKTsKWCsJCXJldHVybiAtMTsKWCsJfQpYKwpYKwlmb3IoIGk9MDsgaTxzaXplb2Yo cy5kYXRhKTsgaSsrKQpYKwkJcy5kYXRhW2ldIF49IGtleVs0IC0gKGkgJSBMRU5fS0VZKV07Clgr ClgrCV9DU1NQcmludERlYnVnQnl0ZXMoICJSZWNlaXZlZCBEaXNjIEtleSIsIHMuZGF0YSwgMTAp OwpYKwpYKwltZW1jcHkoIGtleV9kaXNjLCBzLmRhdGEsIDIwNDgpOwpYKyNlbmRpZgpYIApYIAly ZXR1cm4gMDsKWCB9ClhAQCAtMTU2LDYgKzE4NSw3IEBAClggCWR2ZF9hdXRoaW5mbyBhaTsKWCAJ aW50IGk7ClggClgrI2lmbmRlZiBfX0ZyZWVCU0RfXwpYIAlhaS50eXBlID0gRFZEX0xVX1NFTkRf VElUTEVfS0VZOwpYIApYIAlhaS5sc3RrLmFnaWQgPSBhZ2lkOwpYQEAgLTE3Myw2ICsyMDMsMjUg QEAKWCAJX0NTU1ByaW50RGVidWcgKCIgQ1BNPSVkLCBDUF9TRUM9JWQsIENHTVM9JWRcbiIsIGFp LmxzdGsuY3BtLCBhaS5sc3RrLmNwX3NlYywgYWkubHN0ay5jZ21zKTsKWCAKWCAJbWVtY3B5IChr ZXlfdGl0bGUsIGFpLmxzdGsudGl0bGVfa2V5LCBMRU5fS0VZKTsKWCsjZWxzZQpYKwlhaS5mb3Jt YXQgPSBEVkRfUkVQT1JUX1RJVExFX0tFWTsKWCsJYWkuYWdpZCAgID0gYWdpZDsKWCsJYWkubGJh ICAgID0gbGJhOwpYKwltZW1zZXQoIGFpLmtleWNoYWwsIDAsIDEwKTsKWCsKWCsJaWYgKGlvY3Rs KCBmZCwgRFZESU9DUkVQT1JUS0VZLCAmYWkpKSB7ClgrCQlwZXJyb3IoICJHZXRUaXRsZUtleSBm YWlsZWQiKTsKWCsJCXJldHVybiAtMTsKWCsJfQpYKyAKWCsJZm9yKCBpPTA7IGk8TEVOX0tFWTsg aSsrKQpYKwkJYWkua2V5Y2hhbFtpXSBePSBrZXlbNCAtIChpJUxFTl9LRVkpXTsKWCsKWCsJX0NT U1ByaW50RGVidWdCeXRlcyggIlJlY2VpdmVkIFRpdGxlIEtleSIsIGFpLmtleWNoYWwsIExFTl9L RVkpOwpYKwlfQ1NTUHJpbnREZWJ1ZygiIENQTT0lZCwgQ1BfU0VDPSVkLCBDR01TPSVkXG4iLCBh aS5jcG0sIGFpLmNwX3NlYywgYWkuY2dtcyk7ClgrClgrCW1lbWNweSgga2V5X3RpdGxlLCBhaS5r ZXljaGFsLCBMRU5fS0VZKTsKWCsjZW5kaWYKWCAKWCAJcmV0dXJuIDA7ClggfQpYQEAgLTE4OSw2 ICsyMzgsNyBAQApYIHsKWCAJZHZkX2F1dGhpbmZvIGFpOwpYIApYKyNpZm5kZWYgX19GcmVlQlNE X18KWCAJYWkudHlwZSA9IERWRF9MVV9TRU5EX0FTRjsKWCAJYWkubHNhc2YuYXNmID0gMDsKWCAK WEBAIC0xOTgsNiArMjQ4LDE2IEBAClggCQkJcmV0dXJuIDA7ClggCQl9ClggCX0KWCsjZWxzZQpY KwlhaS5mb3JtYXQgPSBEVkRfUkVQT1JUX0FTRjsKWCsJYWkuYWdpZCAgID0gMDsKWCsJYWkuYXNm ICAgID0gMDsKWCsKWCsJaWYgKCEoaW9jdGwoZmQsIERWRElPQ1JFUE9SVEtFWSwgJmFpKSkpIHsK WCsJCV9DU1NQcmludERlYnVnICgiJXNBdXRoZW50aWNhdGVkXG4iLCAoYWkuYXNmKSA/ICIiIDog Im5vdCIpOwpYKwkJcmV0dXJuIDA7ClgrCX0KWCsjZW5kaWYKWCAJcGVycm9yICgiR2V0QVNGIik7 ClggCXJldHVybiAtMTsKWCB9ClhAQCAtMjE0LDE4ICsyNzQsMzQgQEAKWCAKWCAJLyogSW5pdCBz ZXF1ZW5jZSwgcmVxdWVzdCBBR0lEICovClggCWZvciAodHJpZXMgPSAxOyB0cmllcyA8IDQ7ICsr dHJpZXMpIHsKWC0JCV9DU1NQcmludERlYnVnICgiUmVxdWVzdCBBR0lEIFslZF0uLi5cbiIsIHRy aWVzKTsKWCsJCV9DU1NQcmludERlYnVnICgiUmVxdWVzdCBBR0lEIFslZF0uLi4iLCB0cmllcyk7 ClgrI2lmbmRlZiBfX0ZyZWVCU0RfXwpYIAkJYWktPnR5cGUgPSBEVkRfTFVfU0VORF9BR0lEOwpY IAkJYWktPmxzYS5hZ2lkID0gMDsKWCAJCXJ2ID0gIGlvY3RsIChmZCwgRFZEX0FVVEgsIGFpKTsK WCsjZWxzZQpYKwkJYWktPmZvcm1hdCA9IERWRF9SRVBPUlRfQUdJRDsKWCsJCWFpLT5hZ2lkICAg PSAwOwpYKwkJcnYgICAgICAgICA9IGlvY3RsKCBmZCwgRFZESU9DUkVQT1JUS0VZLCBhaSk7Clgr I2VuZGlmClggCQlpZiAocnYgIT0gLTEpIHsKWCAJCQkvLyBmb3VuZCBrZXkKWCsJCQlfQ1NTUHJp bnREZWJ1ZyggIkFHSUQgJWRcbiIsIGFpLT5hZ2lkKTsKWCAJCQlyZXR1cm4oIHRyaWVzKTsKWCAJ CX0KWCsJCWVsc2UgewpYKwkJCV9DU1NQcmludERlYnVnKCJcbiIpOwpYKwkJfQpYIAkJcGVycm9y ICgiTi9BLCBpbnZhbGlkYXRpbmciKTsKWCsjaWZuZGVmIF9fRnJlZUJTRF9fClggCQlhaS0+dHlw ZSA9IERWRF9JTlZBTElEQVRFX0FHSUQ7ClggCQlhaS0+bHNhLmFnaWQgPSAwOwpYIAkJaW9jdGwg KGZkLCBEVkRfQVVUSCwgYWkpOwpYKyNlbHNlClgrCQlhaS0+Zm9ybWF0ID0gRFZEX0lOVkFMSURB VEVfQUdJRDsKWCsJCWFpLT5hZ2lkICAgPSAwOwpYKwkJaW9jdGwgKGZkLCBEVkRJT0NSRVBPUlRL RVksIGFpKTsKWCsjZW5kaWYKWCAJfQpYIApYIAlfQ1NTUHJpbnREZWJ1ZyAoIkNhbm5vdCBnZXQg QUdJRFxuIik7ClhAQCAtMjM0LDYgKzMxMCw3IEBAClggfQpYIApYIApYKyNpZm5kZWYgX19GcmVl QlNEX18KWCAvKioKWCAgKiBTaW11bGF0aW9uIG9mIGEgbm9uLUNTUyBjb21wbGlhbnQgaG9zdCAo aS5lLiB0aGUgYXV0aGVudGljYXRpb24gZmFpbHMsClggICogYnV0IGlkZWEgaXMgaGVyZSBmb3Ig YSByZWFsIENTUyBjb21wbGlhbnQgYXV0aGVudGljYXRpb24gc2NoZW1lKS4KWEBAIC0yNjcsNyAr MzQ0LDcgQEAKWCAKWCAJCV9DU1NQcmludERlYnVnQnl0ZXMgKCJMVSBzZW50IGNoYWxsZW5nZSIs IGFpLT5oc2MuY2hhbCwgMTApOwpYIApYLQkJQ3J5cHRLZXkyIChkaXNjLT52YXJpZW50LCBkaXNj LT5DaGFsbGVuZ2UsIGRpc2MtPktleTIpOwpYKwkJQ3J5cHRLZXkyIChkaXNjLT52YXJpYW50LCBk aXNjLT5DaGFsbGVuZ2UsIGRpc2MtPktleTIpOwpYIAkJYWktPnR5cGUgPSBEVkRfSE9TVF9TRU5E X0tFWTI7ClggCQlicmVhazsKWCAKWEBAIC0yOTgsNiArMzc1LDcgQEAKWCAKWCAJcmV0dXJuIDA7 ClggfQpYKyNlbmRpZgpYIApYIApYIC8qKgpYQEAgLTMxOSw2ICszOTcsNyBAQApYIAlmb3IgKGkg PSAwOyBpIDwgMTA7ICsraSkKWCAJCWRpc2MtPkNoYWxsZW5nZVtpXSA9IGk7ClggClgrI2lmbmRl ZiBfX0ZyZWVCU0RfXwpYIAkvKiBTZW5kIEFHSUQgdG8gaG9zdCAqLwpYIAlpZiAoX0NTU0F1dGhI b3N0KCZhaSwgZGlzYykgPCAwKSB7ClggCQlfQ1NTUHJpbnREZWJ1ZyAoIlNlbmQgQUdJRCB0byBo b3N0IGZhaWxlZFxuIik7ClhAQCAtMzcwLDEwICs0NDksODUgQEAKWCAJCV9DU1NQcmludERlYnVn ICgiRFZEIGlzIGF1dGhlbnRpY2F0ZWRcbiIpOwpYIAllbHNlIGlmIChhaS50eXBlID09IERWRF9B VVRIX0ZBSUxVUkUpClggCQlfQ1NTUHJpbnREZWJ1ZyAoIkRWRCBhdXRoZW50aWNhdGlvbiBmYWls ZWRcbiIpOwpYKyNlbHNlClgrCWFnaWQgPSBhaS5hZ2lkOwpYKwpYKwkvKiBHZXQgY2hhbGxlbmdl IGZyb20gaG9zdCAqLwpYKwpYKwlhaS5mb3JtYXQgPSBEVkRfU0VORF9DSEFMTEVOR0U7ClgrCWZv ciAoaT0wOyBpPDEwOyArK2kpClgrCQlhaS5rZXljaGFsWzktaV0gPSBkaXNjLT5DaGFsbGVuZ2Vb aV07ClgrClgrCV9DU1NQcmludERlYnVnKCJIb3N0IHNlbmRpbmcgY2hhbGxlbmdlOiAiKTsKWCsJ X0NTU1ByaW50Qnl0ZXMoYWkua2V5Y2hhbCwgMTApOwpYKwlfQ1NTUHJpbnREZWJ1ZygiXG4iKTsK WCsKWCsJLyogU2VuZCBjaGFsbGVuZ2UgdG8gTFUgKi8KWCsKWCsJaWYgKGlvY3RsKGZkLCBEVkRJ T0NTRU5ES0VZLCAmYWkpIDwgMCkgewpYKwkJX0NTU1ByaW50RGVidWcoIlNlbmQgY2hhbGxlbmdl IHRvIExVIGZhaWxlZFxuIik7ClgrCQlyZXR1cm4gLTE7ClgrCX0KWCsKWCsJLyogR2V0IGtleTEg ZnJvbSBMVSAqLwpYKwpYKwlhaS5mb3JtYXQgPSBEVkRfUkVQT1JUX0tFWTE7ClgrCWlmIChpb2N0 bChmZCwgRFZESU9DUkVQT1JUS0VZLCAmYWkpIDwgMCkgewpYKwkJX0NTU1ByaW50RGVidWcoIkdl dCBrZXkxIGZyb20gTFUgZmFpbGVkXG4iKTsKWCsJCXJldHVybiAtMTsKWCsJfQpYKwpYKwkvKiBT ZW5kIGtleTEgdG8gaG9zdCAqLwpYKwpYKwlfQ1NTUHJpbnREZWJ1ZygiTFUgc2VudCBrZXkxOiAi KTsKWCsJX0NTU1ByaW50Qnl0ZXMoYWkua2V5Y2hhbCwgTEVOX0tFWSk7ClgrCV9DU1NQcmludERl YnVnKCJcbiIpOwpYKwpYKwlpZiAoX0NTU0F1dGhEcml2ZSggYWkua2V5Y2hhbCwgZGlzYykgPCAw KSB7ClgrCQlfQ1NTUHJpbnREZWJ1ZygiU2VuZCBrZXkxIHRvIGhvc3QgZmFpbGVkXG4iKTsKWCsJ CXJldHVybiAtMTsKWCsJfQpYKwpYKwkvKiBHZXQgY2hhbGxlbmdlIGZyb20gTFUgKi8KWCsKWCsJ YWkuZm9ybWF0ID0gRFZEX1JFUE9SVF9DSEFMTEVOR0U7ClgrCWlmIChpb2N0bChmZCwgRFZESU9D UkVQT1JUS0VZLCAmYWkpIDwgMCkgewpYKwkJX0NTU1ByaW50RGVidWcoIkdldCBjaGFsbGVuZ2Ug ZnJvbSBMVSBmYWlsZWRcbiIpOwpYKwkJcmV0dXJuIC0xOwpYKwl9ClgrClgrCS8qIFNlbmQgY2hh bGxlbmdlIHRvIGhvc3QgKi8KWCsKWCsJZm9yIChpPTA7IGk8MTA7ICsraSkKWCsJCWRpc2MtPkNo YWxsZW5nZVtpXSA9IGFpLmtleWNoYWxbOS1pXTsKWCsKWCsJX0NTU1ByaW50RGVidWcoIkxVIHNl bnQgY2hhbGxlbmdlOiAiKTsKWCsJX0NTU1ByaW50Qnl0ZXMoZGlzYy0+Q2hhbGxlbmdlLCAxMCk7 ClgrCV9DU1NQcmludERlYnVnKCJcbiIpOwpYKwpYKwlDcnlwdEtleTIoZGlzYy0+dmFyaWFudCwg ZGlzYy0+Q2hhbGxlbmdlLCBkaXNjLT5LZXkyKTsKWCsKWCsJLyogR2V0IGtleTIgZnJvbSBob3N0 ICovClgrClgrCWFpLmZvcm1hdCA9IERWRF9TRU5EX0tFWTI7ClgrCWZvciAoaT0wOyBpPExFTl9L RVk7ICsraSkKWCsJCWFpLmtleWNoYWxbNC1pXSA9IGRpc2MtPktleTJbaV07ClgrClgrCV9DU1NQ cmludERlYnVnKCJIb3N0IHNlbmRpbmcga2V5IDI6ICIpOwpYKwlfQ1NTUHJpbnRCeXRlcyhkaXNj LT5LZXkyLCBMRU5fS0VZKTsKWCsJX0NTU1ByaW50RGVidWcoIlxuIik7ClgrClgrCS8qIFNlbmQg a2V5MiB0byBMVSAqLwpYKwlpZiAoaW9jdGwoZmQsIERWRElPQ1NFTkRLRVksICZhaSkgPCAwKSB7 ClgrCQlwcmludGYoIlNlbmQga2V5MiB0byBMVSBmYWlsZWQgKGV4cGVjdGVkKVxuIik7ClgrCQly ZXR1cm4gLTE7ClgrCX0KWCsKWCsjZW5kaWYKWCAKWCAJbWVtY3B5IChkaXNjLT5DaGFsbGVuZ2Us IGRpc2MtPktleTEsIExFTl9LRVkpOwpYIAltZW1jcHkgKGRpc2MtPkNoYWxsZW5nZStMRU5fS0VZ LCBkaXNjLT5LZXkyLCBMRU5fS0VZKTsKWC0JQ3J5cHRCdXNLZXkgKGRpc2MtPnZhcmllbnQsIGRp c2MtPkNoYWxsZW5nZSwgZGlzYy0+S2V5Q2hlY2spOwpYKwlDcnlwdEJ1c0tleSAoZGlzYy0+dmFy aWFudCwgZGlzYy0+Q2hhbGxlbmdlLCBkaXNjLT5LZXlDaGVjayk7ClggClggCV9DU1NQcmludERl YnVnQnl0ZXMgKCJSZWNlaXZlZCBTZXNzaW9uIEtleVxuIiwgJmRpc2MtPktleUNoZWNrWzBdLCBM RU5fS0VZKTsKWCAKWEBAIC00NDUsNiArNTk5LDcgQEAKWCB7ClggCWR2ZF9zdHJ1Y3QgZHZkOwpY IApYKyNpZm5kZWYgX19GcmVlQlNEX18KWCAJZHZkLmNvcHlyaWdodC50eXBlID0gRFZEX1NUUlVD VF9DT1BZUklHSFQ7ClggCWR2ZC5jb3B5cmlnaHQubGF5ZXJfbnVtID0gMDsKWCAKWEBAIC00NTQs NCArNjA5LDE1IEBAClggCX0KWCAKWCAJcmV0dXJuIGR2ZC5jb3B5cmlnaHQuY3BzdDsgICAgICAv LyAwIC4uLiBub3QgZW5jcnlwdGVkClgrI2Vsc2UKWCsJZHZkLmZvcm1hdCAgICA9IERWRF9TVFJV Q1RfQ09QWVJJR0hUOwpYKwlkdmQubGF5ZXJfbnVtID0gMDsKWCsKWCsJaWYgKGlvY3RsKCBmZCwg RFZESU9DUkVBRFNUUlVDVFVSRSwgJmR2ZCkgPCAwKSB7ClgrCQlfQ1NTUHJpbnREZWJ1ZyAoImVy cm9yIHVzaW5nIGlvY3RsIERWRElPQ1JFQURTVFJVQ1RVUkVcbiIpOwpYKwkJcmV0dXJuIC0xOwpY Kwl9ClgrClgrCXJldHVybiBkdmQuY3BzdDsgICAgICAgICAgICAgICAgLy8gMCAuLi4gbm90IGVu Y3J5cHRlZApYKyNlbmRpZgpYIH0KRU5ELW9mLWxpYmNzcy9maWxlcy9wYXRjaC1hYwplY2hvIHgg LSBsaWJjc3MvZmlsZXMvcGF0Y2gtYWQKc2VkICdzL15YLy8nID5saWJjc3MvZmlsZXMvcGF0Y2gt YWQgPDwgJ0VORC1vZi1saWJjc3MvZmlsZXMvcGF0Y2gtYWQnClgtLS0gc3JjL2Nzc19jYXQuYy5v cmlnCVR1ZSBGZWIgMTMgMTY6NTk6MjcgMjAwMQpYKysrIHNyYy9jc3NfY2F0LmMJV2VkIEp1biAy MCAxNjozMzoyNCAyMDAxClhAQCAtMjA4LDcgKzIwOCw5IEBAClggICoKWCAgKi8KWCAKWCsjaWZk ZWYgX19saW51eF9fClggI2luY2x1ZGUgPGxpbnV4L2ZzLmg+ClgrI2VuZGlmClggClggaW50IHBh dGhfdG9fbGJhIChjaGFyICpwKQpYIHsKWEBAIC0yMTksOCArMjIxLDEzIEBAClggCQlyZXR1cm4g LTE7ClggCX0KWCAKWCsjaWZuZGVmIF9fRnJlZUJTRF9fClggCWlmIChpb2N0bChmZCwgRklCTUFQ LCAmbGJhKSA8IDApIHsKWCAJCXBlcnJvciAoImlvY3RsIEZJQk1BUCIpOwpYKyNlbHNlClgrCWlm IChpb2N0bChmZCwgRklPR0VUTEJBLCAmbGJhKSA8IDApIHsKWCsJCXBlcnJvciAoImlvY3RsIEZJ T0dFVExCQSIpOwpYKyNlbmRpZgpYIAkJY2xvc2UoZmQpOwpYIAkJcmV0dXJuIC0xOwpYIAl9ClhA QCAtMjUyLDYgKzI1OSwxNCBAQApYIAkJZ290byBjbGVhbl91cDsKWCAJfQpYICNlbmRpZgpYKwpY KyNpZmRlZiBfX0ZyZWVCU0RfXwpYKwlpZiAoIXN0cmNtcCggYXJndlthcmdpXSwgIi0iKSkgewpY KwkJYXJndlthcmdpXSA9IChjaGFyICopbWFsbG9jKCBzdHJsZW4oICIvZGV2L3N0ZGluIikgKyAx KTsKWCsJCXN0cmNweSggYXJndlthcmdpXSwgIi9kZXYvc3RkaW4iKTsKWCsJfQpYKyNlbmRpZgpY KwpYIAlpZiAoKGZkID0gb3BlbiAoYXJndlthcmdpXSwgT19SRE9OTFkpKSA9PSAtMSkgewpYIAkJ cGVycm9yICgiY2FuJ3Qgb3BlbiBEVkQiKTsKWCAJCWdvdG8gY2xlYW5fdXA7CkVORC1vZi1saWJj c3MvZmlsZXMvcGF0Y2gtYWQKZWNobyB4IC0gbGliY3NzL2ZpbGVzL3BhdGNoLWFlCnNlZCAncy9e WC8vJyA+bGliY3NzL2ZpbGVzL3BhdGNoLWFlIDw8ICdFTkQtb2YtbGliY3NzL2ZpbGVzL3BhdGNo LWFlJwpYLS0tIHNyYy9kdmRpbmZvLmMub3JpZwlUdWUgRmViIDEzIDE2OjU5OjI3IDIwMDEKWCsr KyBzcmMvZHZkaW5mby5jCVdlZCBKdW4gMjAgMTY6NTk6MjQgMjAwMQpYQEAgLTI3LDcgKzI3LDcg QEAKWCAjaW5jbHVkZSA8c3RkbGliLmg+ClggI2luY2x1ZGUgPGZjbnRsLmg+ClggI2luY2x1ZGUg PHN0cmluZy5oPgpYLSNpZiBkZWZpbmVkKF9fTmV0QlNEX18pIHx8IGRlZmluZWQoX19PcGVuQlNE X18pClgrI2lmIGRlZmluZWQoX19OZXRCU0RfXykgfHwgZGVmaW5lZChfX09wZW5CU0RfXykgfHwg ZGVmaW5lZChfX0ZyZWVCU0RfXykKWCAjIGluY2x1ZGUgPHN5cy9kdmRpby5oPgpYICNlbGlmIGRl ZmluZWQoX19saW51eF9fKQpYICMgaW5jbHVkZSA8bGludXgvY2Ryb20uaD4KWEBAIC0zOSw2ICsz OSwxMCBAQApYIApYICNpbmNsdWRlICJjc3MuaCIKWCAKWCsjaWZkZWYgX19GcmVlQlNEX18KWCt0 eXBlZGVmIHN0cnVjdCBkdmRfc3RydWN0IGR2ZF9zdHJ1Y3Q7ClgrI2VuZGlmClgrClggI2RlZmlu ZSBEVkQJIi9kZXYvY2Ryb20iClggClggLyoqClhAQCAtNTIsNiArNTYsNyBAQApYIAlpbnQgaTsK WCAJaW50IGxheWVycyA9IDQ7ClggClgrI2lmbmRlZiBfX0ZyZWVCU0RfXwpYIAlkLnBoeXNpY2Fs LnR5cGUgPSBEVkRfU1RSVUNUX1BIWVNJQ0FMOwpYIAlmb3IgKGk9MDsgaTxsYXllcnM7IGkrKykg ewpYIAkJZC5waHlzaWNhbC5sYXllcl9udW0gPSBpOwpYQEAgLTYyLDEyICs2NywyOCBAQApYIAkJ fQpYIApYIAkJbGF5ZXIgPSAmZC5waHlzaWNhbC5sYXllcltpXTsKWCsjZWxzZQpYKwlkLmZvcm1h dCA9IERWRF9TVFJVQ1RfUEhZU0lDQUw7ClgrCW1lbXNldCggZC5kYXRhLCAwLCAyMDQ4KTsKWCsJ Zm9yIChpPTA7IGk8bGF5ZXJzOyBpKyspIHsKWCsJCWQubGF5ZXJfbnVtID0gaTsKWCsJCWlmIChp b2N0bCAoZmQsIERWRElPQ1JFQURTVFJVQ1RVUkUsICZkKTwwKSB7ClgrCQkJZnByaW50ZiAoc3Rk ZXJyLCAiQ291bGQgbm90IHJlYWQgUGh5c2ljYWwgbGF5ZXIgJWRcbiIsIGkpOwpYKwkJCXJldHVy biAwOwpYKwkJfQpYKwpYKwkJbGF5ZXIgPSAoc3RydWN0IGR2ZF9sYXllciAqKSgmKGQuZGF0YVtp KnNpemVvZihzdHJ1Y3QgZHZkX2xheWVyKV0pKTsKWCsjZW5kaWYKWCAJCWxheWVycyA9IGxheWVy LT5ubGF5ZXJzICsgMTsKWCAKWCAJCXByaW50ZiAoIkxheWVyICVkWyVkXVxuIiwgaSwgbGF5ZXJz KTsKWCAJCXByaW50ZiAoIiBCb29rIFZlcnNpb246ICAgJWRcbiIsIGxheWVyLT5ib29rX3ZlcnNp b24pOwpYIAkJcHJpbnRmICgiIEJvb2sgVHlwZTogICAgICAlZFxuIiwgbGF5ZXItPmJvb2tfdHlw ZSk7ClgrI2lmbmRlZiBfX0ZyZWVCU0RfXwpYIAkJcHJpbnRmICgiIE1pbiBSYXRlOiAgICAgICAl ZFxuIiwgbGF5ZXItPm1pbl9yYXRlKTsKWCsjZWxzZQpYKwkJcHJpbnRmICgiIE1heCBSYXRlOiAg ICAgICAlZFxuIiwgbGF5ZXItPm1heF9yYXRlKTsKWCsjZW5kaWYKWCAJCXByaW50ZiAoIiBEaXNj IFNpemU6ICAgICAgJWRcbiIsIGxheWVyLT5kaXNjX3NpemUpOwpYIAkJcHJpbnRmICgiIExheWVy IFR5cGU6ICAgICAlZFxuIiwgbGF5ZXItPmxheWVyX3R5cGUpOwpYIAkJcHJpbnRmICgiIFRyYWNr IFBhdGg6ICAgICAlZFxuIiwgbGF5ZXItPnRyYWNrX3BhdGgpOwpYQEAgLTkyLDYgKzExMyw3IEBA ClggewpYIAlkdmRfc3RydWN0IGQ7ClggClgrI2lmbmRlZiBfX0ZyZWVCU0RfXwpYIAlkLmNvcHly aWdodC50eXBlID0gRFZEX1NUUlVDVF9DT1BZUklHSFQ7ClggCWQuY29weXJpZ2h0LmxheWVyX251 bSA9IDA7ClggCQpYQEAgLTEwMSw2ICsxMjMsMTcgQEAKWCAJfQpYIApYIAlwcmludGYgKCJDb3B5 cmlnaHQ6IENQU1Q9JWQsIFJNST0lIzAyeFxuIiwgZC5jb3B5cmlnaHQuY3BzdCwgZC5jb3B5cmln aHQucm1pKTsKWCsjZWxzZQpYKwlkLmZvcm1hdCAgICA9IERWRF9TVFJVQ1RfQ09QWVJJR0hUOwpY KwlkLmxheWVyX251bSA9IDA7ClgrClgrCWlmIChpb2N0bChmZCwgRFZESU9DUkVBRFNUUlVDVFVS RSwgJmQpPDApIHsKWCsJCWZwcmludGYgKHN0ZGVyciwgIkNvdWxkIG5vdCByZWFkIENvcHlyaWdo dCBTdHJ1Y3RcbiIpOwpYKwkJcmV0dXJuIDA7ClgrCX0KWCsKWCsJcHJpbnRmICgiQ29weXJpZ2h0 OiBDUFNUPSVkLCBSTUk9JSMwMnhcbiIsIGQuY3BzdCwgZC5ybWkpOwpYKyNlbmRpZgpYIApYIAly ZXR1cm4gMTsKWCB9ClhAQCAtMTE0LDYgKzE0Nyw3IEBAClggewpYIAlkdmRfc3RydWN0IGR2ZDsK WCAKWCsjaWZuZGVmIF9fRnJlZUJTRF9fClggCWR2ZC5jb3B5cmlnaHQudHlwZSA9IERWRF9TVFJV Q1RfQ09QWVJJR0hUOwpYIAlkdmQuY29weXJpZ2h0LmxheWVyX251bSA9IDA7ClggClhAQCAtMTI1 LDYgKzE1OSwxOSBAQApYIAlwcmludGYgKCJEaXNjIGlzICVzXG4iLCBkdmQuY29weXJpZ2h0LmNw c3QgPyAiZW5jcnlwdGVkLiIgOiAiTk9UIGVuY3J5cHRlZCBhdCBhbGwgLSBubyBuZWVkIHRvIHVz ZSBDU1MhISEiKTsKWCAKWCAJcmV0dXJuIGR2ZC5jb3B5cmlnaHQuY3BzdDsKWCsjZWxzZQpYKwlk dmQuZm9ybWF0ID0gRFZEX1NUUlVDVF9DT1BZUklHSFQ7ClgrCWR2ZC5sYXllcl9udW0gPSAwOwpY KwpYKwlpZiAoaW9jdGwgKGZkLCBEVkRJT0NSRUFEU1RSVUNUVVJFLCAmZHZkKSA8IDApIHsKWCsJ CXBlcnJvciAoIkRWRElPQ1JFQURTVFJVQ1RVUkUiKTsKWCsJCXJldHVybiAtMTsKWCsJfQpYKwpY KwlwcmludGYoICJEaXNjIGlzICVzXG4iLCBkdmQuY3BzdCA/ICJlbmNyeXB0ZWQuIiA6ICJOT1Qg ZW5jcnlwdGVkIGF0IGFsbCAtIG5vIG5lZWQgdG8gdXNlIENTUyEhISIpOwpYKwpYKwlyZXR1cm4g ZHZkLmNwc3Q7ClgrI2VuZGlmClggfQpYIApYIApFTkQtb2YtbGliY3NzL2ZpbGVzL3BhdGNoLWFl CmVjaG8geCAtIGxpYmNzcy9maWxlcy9wYXRjaC1hZgpzZWQgJ3MvXlgvLycgPmxpYmNzcy9maWxl cy9wYXRjaC1hZiA8PCAnRU5ELW9mLWxpYmNzcy9maWxlcy9wYXRjaC1hZicKWC0tLSBzcmMvcmVz ZXRfZHZkLmMub3JpZwlUdWUgRmViIDEzIDE2OjU5OjI3IDIwMDEKWCsrKyBzcmMvcmVzZXRfZHZk LmMJCVdlZCBKdW4gMjAgMTY6NTk6MzggMjAwMQpYQEAgLTI1LDcgKzI1LDcgQEAKWCAjaW5jbHVk ZSA8c3RkaW8uaD4KWCAjaW5jbHVkZSA8c3RyaW5nLmg+ClggI2luY2x1ZGUgPGZjbnRsLmg+Clgt I2lmIGRlZmluZWQoX19OZXRCU0RfXykgfHwgZGVmaW5lZChfX09wZW5CU0RfXykKWCsjaWYgZGVm aW5lZChfX05ldEJTRF9fKSB8fCBkZWZpbmVkKF9fT3BlbkJTRF9fKSB8fCBkZWZpbmVkKF9fRnJl ZUJTRF9fKQpYICMgaW5jbHVkZSA8c3lzL2R2ZGlvLmg+ClggI2VsaWYgZGVmaW5lZChfX2xpbnV4 X18pClggIyBpbmNsdWRlIDxsaW51eC9jZHJvbS5oPgpYQEAgLTM3LDYgKzM3LDEwIEBAClggClgg c3RhdGljIGludCBmZDsKWCAKWCsjaWZkZWYgX19GcmVlQlNEX18KWCt0eXBlZGVmIHN0cnVjdCBk dmRfYXV0aGluZm8gZHZkX2F1dGhpbmZvOwpYKyNlbmRpZgpYKwpYICNkZWZpbmUgRFZECSIvZGV2 L2Nkcm9tIgpYIApYIGludCBtYWluIChpbnQgYWMsIGNoYXIgKiphdikKWEBAIC01Nyw5ICs2MSwx NSBAQApYIApYIAlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7ClggCQltZW1zZXQoJmFpLCAwLCBz aXplb2YoYWkpKTsKWCsjaWZuZGVmIF9fRnJlZUJTRF9fClggCQlhaS50eXBlID0gRFZEX0lOVkFM SURBVEVfQUdJRDsKWCAJCWFpLmxzYS5hZ2lkID0gaTsKWCAJCWlvY3RsKGZkLCBEVkRfQVVUSCwg JmFpKTsKWCsjZWxzZQpYKwkJYWkuZm9ybWF0ID0gRFZEX0lOVkFMSURBVEVfQUdJRDsKWCsJCWFp LmFnaWQgPSBpOwpYKwkJaW9jdGwoZmQsIERWRElPQ1JFUE9SVEtFWSwgJmFpKTsKWCsjZW5kaWYK WCAJfQpYIApYIAlyZXR1cm4gMDsKRU5ELW9mLWxpYmNzcy9maWxlcy9wYXRjaC1hZgplY2hvIHgg LSBsaWJjc3MvZmlsZXMvcGF0Y2hlcy1haApzZWQgJ3MvXlgvLycgPmxpYmNzcy9maWxlcy9wYXRj aGVzLWFoIDw8ICdFTkQtb2YtbGliY3NzL2ZpbGVzL3BhdGNoZXMtYWgnClgtLS0gbTQvZHZkLm00 Lm9yaWcJVGh1IE5vdiAyMyAxNzoyMToyMiAyMDAwClgrKysgbTQvZHZkLm00CQlXZWQgSnVuIDIw IDE2OjMzOjI0IDIwMDEKWEBAIC00Miw3ICs0Miw3IEBAClggCQlDRkxBR1M9IiRDRkxBR1MgLUkk S0VSTkVMX0lOQ0xVREVTIgpYIApYIAkJQUNfVFJZX0NPTVBJTEUoWwpYLQkJCSNpZiBkZWZpbmVk KF9fTmV0QlNEX18pIHx8IGRlZmluZWQoX19PcGVuQlNEX18pClgrCQkJI2lmIGRlZmluZWQoX19O ZXRCU0RfXykgfHwgZGVmaW5lZChfX09wZW5CU0RfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykK WCAJCQkjIGluY2x1ZGUgPHN5cy9kdmRpby5oPgpYIAkJCSNlbGlmIGRlZmluZWQoX19saW51eF9f KQpYIAkJCSMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CkVORC1vZi1saWJjc3MvZmlsZXMvcGF0Y2hl cy1haAplY2hvIHggLSBsaWJjc3MvZGlzdGluZm8Kc2VkICdzL15YLy8nID5saWJjc3MvZGlzdGlu Zm8gPDwgJ0VORC1vZi1saWJjc3MvZGlzdGluZm8nClhNRDUgKGxpYmNzcy0wLjEuMC50YXIuZ3op ID0gZjMyODA3N2Y1NmY2OTBkMDEzNmExMDYwODBjMzU5ZGYKRU5ELW9mLWxpYmNzcy9kaXN0aW5m bwplY2hvIHggLSBsaWJjc3MvcGtnLWNvbW1lbnQKc2VkICdzL15YLy8nID5saWJjc3MvcGtnLWNv bW1lbnQgPDwgJ0VORC1vZi1saWJjc3MvcGtnLWNvbW1lbnQnClhMaWJyYXJ5IHRvIGJydXRlIGZv cmNlIGRlY3J5cHQgZHZkIHZpZGVvcwpFTkQtb2YtbGliY3NzL3BrZy1jb21tZW50CmVjaG8geCAt IGxpYmNzcy9NYWtlZmlsZQpzZWQgJ3MvXlgvLycgPmxpYmNzcy9NYWtlZmlsZSA8PCAnRU5ELW9m LWxpYmNzcy9NYWtlZmlsZScKWCMgTmV3IHBvcnRzIGNvbGxlY3Rpb24gbWFrZWZpbGUgZm9yOiAg IGxpYmNzcwpYIyBEYXRlIGNyZWF0ZWQ6ICAgICAgICAyMCBKdW5lIDIwMDEKWCMgV2hvbTogICAg ICAgICAgICAgICAgClgjClgjICRGcmVlQlNEJApYIwpYClhQT1JUTkFNRT0JbGliY3NzClhQT1JU VkVSU0lPTj0JMC4xLjAKWENBVEVHT1JJRVM9CWdyYXBoaWNzClhNQVNURVJfU0lURVM9ICAgaHR0 cDovL3d3dy5saW51eHZpZGVvLm9yZy9vbXMvZGF0YS8KWApYTUFJTlRBSU5FUj0JSmFtZXNfQm9u ZF83OUB5YWhvby5jb20KWApYSU5TVEFMTFNfU0hMSUI9CXllcwpYClhHTlVfQ09ORklHVVJFPQl5 ZXMKWFVTRV9HTUFLRT0JeWVzClgKWEJVSUxEX0RFUEVORFM9IGF1dG9tYWtlOiR7UE9SVFNESVJ9 L2RldmVsL2F1dG9jb25mClgKWHByZS1jb25maWd1cmU6ClgJQGNkICR7V1JLU1JDfSAmJiBhdXRv bWFrZQpYClguaW5jbHVkZSA8YnNkLnBvcnQubWs+CkVORC1vZi1saWJjc3MvTWFrZWZpbGUKZXhp dAoK --------------Boundary-00=_C7IHYKFQN29DWWVL1GHJ-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message