From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757660AbYE0R10 (ORCPT ); Tue, 27 May 2008 13:27:26 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754552AbYE0R1S (ORCPT ); Tue, 27 May 2008 13:27:18 -0400 Received: from yx-out-2324.google.com ([74.125.44.29]:29494 "EHLO yx-out-2324.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754212AbYE0R1Q (ORCPT ); Tue, 27 May 2008 13:27:16 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=f86Z5vziXG27ZQVMtWhudUUqt+8rlz8Y6Q153nvsSKVaql5DnSdojA9Vm9Or0rudac+KzozEJVcmDjuedhRLeXkpQczDKVpwPR5akNPDzgYfEkChTE+cpFOUjz2NlRh98B3idTTjyIYMQRIN/J8ZNqCD1yruk4iixuA1X1Nrcrg= Message-ID: Date: Tue, 27 May 2008 19:27:14 +0200 From: "=?ISO-8859-1?Q?N=E9stor_Amigo_Cairo?=" To: "Linux Kernel Mailing List" Subject: Fwd: QUESTION: How can I make a driver for a special serial keyboard which also supports output (maybe via serio_raw)? In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_11104_10535464.1211909234579" References: <20080527084431.ZZRA012@mailhub.coreip.homeip.net> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ------=_Part_11104_10535464.1211909234579 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline ---------- Forwarded message ---------- From: N=E9stor Amigo Cairo Date: 2008/5/27 Subject: Re: QUESTION: How can I make a driver for a special serial keyboard which also supports output (maybe via serio_raw)? To: Dmitry Torokhov , Linux Kernel Mailing List Thanks!! I'm going to do so right now. I send you my current work, as you can see, I'm adapting an existing driver for this purpose. I would really appreciate it if you take a look and tell me if I'm doing right/wrong. I haven't been able to implement write function yet, any advice would be very helpful also. I'm also sending some schema to explain me better, but I think you fully understood my ideas. I hope this time message will arrive also to LKML, everyone's invited to comment!! 2008/5/27 Dmitry Torokhov : > > Hi, > > On Sun, May 25, 2008 at 06:52:26PM +0200, N?stor Amigo Cairo wrote: > > Hello! > > > > I'm trying to make a driver for a special keyboard with just three keys= , for > > an embedded application. This really is a PIC attached to a serial inte= rface > > which sends some bytes to the computer to manage an application, and th= en > > receives some others to control an embedded device using the same cable= . So > > there's a two way connection between them. > > For now, I have been able to customize the newtonkbd driver to adapt it= to > > receive some bytes and translate them to keys, but I'm not able to send= any > > data. /dev/ttyS0 gets blocked when setting up the driver with a customi= zed > > version of `inputattach`, an application which ioctl's the serial devic= e to > > the driver. Write() does not work, since it's not implemented in the dr= iver. > > Is there any way of implementing access to this device using the same > > Write() calls as in other apps? > > Or is there any other way of doing it?? Some documentation?? > > > > You would need to implement ->event() handler in your 'keyboard' that > would call serio->write() on the underlying serio port. Then, by > opening /dev/input/eventX and writing into it you can send input > events back to the device. If the serial device is able to work as a keyboard, and also receive some data from the application via /dev/input/eventX, that would be perfect!! That's exactly what I was thinking on. > > > Although I wonder if your device really useable as a generic > keyboard/button device. You may be better off just using the serial > port from the userspace. I have been thinking on it, but it's easier to reimplement some widgets on Qt for just three keys (I can reuse them easily because of OOP), than managing focus on every widget communicating the application directly with the serial port (I've been using a switch structure for this purpose, which is not very kindly). I saw the device as a keyboard with just three keys and which can also receive some bytes from the application. This makes debugging and testing much easier than dealing directly with the serial interface for changing the focus and managing the application. The only problem is that a driver must be written for the device, but my long-term idea is to write some kind of programmable driver, so it could be reused easily (by instance, assigning a matrix of values to binary data sent to the serial port, and converting those bytes into Keys using these values, as in the original driver, but allowing userspace apps to change this behaviour). I'm not sure if it would be helpful for anyone else. And I also lack any knowledge of the kernel internals, as you can see. > > -- > Dmitry -- N=E9stor Amigo Cairo +34 687 96 74 81 nestorac@gmail.com -- N=E9stor Amigo Cairo +34 687 96 74 81 nestorac@gmail.com ------=_Part_11104_10535464.1211909234579 Content-Type: image/png; name=esquema.png Content-Transfer-Encoding: base64 X-Attachment-Id: f_fgqqqsyi0 Content-Disposition: attachment; filename=esquema.png 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 YII= ------=_Part_11104_10535464.1211909234579 Content-Type: text/x-csrc; name=serenc.c Content-Transfer-Encoding: base64 X-Attachment-Id: f_fgqqt8f51 Content-Disposition: attachment; filename=serenc.c LyoKICogIENvcHlyaWdodCAoYykgMjAwOCBOw6lzdG9yIEFtaWdvIENhaXJvLCBiYXNlZCBvbgog KiAgQ29weXJpZ2h0IChjKSAyMDAwIEp1c3RpbiBDb3JtYWNrCiAqLwoKLyoKICogU2Fta28gZW5j b2RlciBkcml2ZXIgZm9yIExpbnV4CiAqLwoKLyoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0 aGUgTGljZW5zZSwgb3IKICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoK ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQogKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMu LCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQog KgogKiBTaG91bGQgeW91IG5lZWQgdG8gY29udGFjdCBtZSwgdGhlIGF1dGhvciwgeW91IGNhbiBk byBzbyBieQogKiBlLW1haWwgLSBtYWlsIHlvdXIgbWVzc2FnZSB0byA8bmVzdG9yYWNAZ21haWwu Y29tPi4KICovCgojaW5jbHVkZSA8bGludXgvc2xhYi5oPgojaW5jbHVkZSA8bGludXgvbW9kdWxl Lmg+CiNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgojaW5jbHVkZSA8bGludXgvaW5pdC5oPgojaW5j bHVkZSA8bGludXgvc2VyaW8uaD4KCiNkZWZpbmUgRFJJVkVSX0RFU0MJIlNhbWtvIFNlcmlhbCBF bmNvZGVyIGNvbnRyb2xsZXIgZGV2aWNlIGlucHV0IGRyaXZlciIKCk1PRFVMRV9BVVRIT1IoIk7D qXN0b3IgQW1pZ28gQ2Fpcm8gPG5lc3RvcmFjQGdtYWlsLmNvbT4iKTsKTU9EVUxFX0RFU0NSSVBU SU9OKERSSVZFUl9ERVNDKTsKTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwoKI2RlZmluZSBTRVJJT19T QU0gICAgMHgzNgojZGVmaW5lIEJJVF9NQVNLKG5yKSAgICAgICAgICAgICgxVUwgPDwgKChucikg JSBCSVRTX1BFUl9MT05HKSkKCgpzdGF0aWMgdW5zaWduZWQgY2hhciBua2JkX2tleWNvZGVbMjU2 XSA9IHsKICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAogIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCiAgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwKICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAogIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCiAgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwKICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAogIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCiAgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwKICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAogIDEsIDEsIDEsIDEsIDEsIDEKfTsK CnN0cnVjdCBua2JkIHsKCXVuc2lnbmVkIGNoYXIga2V5Y29kZVsyNTZdOwoJc3RydWN0IGlucHV0 X2RldiAqZGV2OwoJc3RydWN0IHNlcmlvICpzZXJpbzsKCWNoYXIgcGh5c1szMl07Cn07CgpzdGF0 aWMgaXJxcmV0dXJuX3QgbmtiZF9pbnRlcnJ1cHQoc3RydWN0IHNlcmlvICpzZXJpbywKCQl1bnNp Z25lZCBjaGFyIGRhdGEsIHVuc2lnbmVkIGludCBmbGFncykKewoJc3RydWN0IG5rYmQgKm5rYmQg PSBzZXJpb19nZXRfZHJ2ZGF0YShzZXJpbyk7CgoJLyogaW52YWxpZCBzY2FuIGNvZGVzIGFyZSBw cm9iYWJseSB0aGUgaW5pdCBzZXF1ZW5jZSwgc28gd2UgaWdub3JlIHRoZW0gKi8KCS8vaWYgKG5r YmQtPmtleWNvZGVbZGF0YV0pIHsKCSAgaWYgKChpbnQpZGF0YSA9PSAyMTcpIC8vIFRoZW4sIGxl ZnQga2V5IGlzIHByZXNzZWQKCSAgewoJICAgIGlucHV0X3JlcG9ydF9rZXkobmtiZC0+ZGV2LCBL RVlfTEVGVFNISUZULCAxKTsKCSAgICBpbnB1dF9yZXBvcnRfa2V5KG5rYmQtPmRldiwgS0VZX1RB QiwgMSk7CgkgICAgaW5wdXRfcmVwb3J0X2tleShua2JkLT5kZXYsIEtFWV9UQUIsIDApOwoJICAg IGlucHV0X3JlcG9ydF9rZXkobmtiZC0+ZGV2LCBLRVlfTEVGVFNISUZULCAwKTsKCSAgICBpbnB1 dF9zeW5jKG5rYmQtPmRldik7CgkJICBwcmludGsoS0VSTl9JTkZPICJTYW1rbydzIExlZnQgS2V5 OiA5NlxuIik7CgkgIH0KCSAgZWxzZSBpZiAoKGludClkYXRhID09IDIwMCkgLy8gVGhlbiwgY2Vu dGVyIGtleSBpcyBwcmVzc2VkCgkgIHsKCSAgICBpbnB1dF9yZXBvcnRfa2V5KG5rYmQtPmRldiwg S0VZX0EsIDEpOwoJICAgIGlucHV0X3JlcG9ydF9rZXkobmtiZC0+ZGV2LCBLRVlfQSwgMCk7Cgkg ICAgaW5wdXRfc3luYyhua2JkLT5kZXYpOwoJCSAgcHJpbnRrKEtFUk5fSU5GTyAiU2Fta28ncyBD ZW50ZXIgS2V5OiAzMlxuIik7CgkgIH0KCSAgZWxzZSBpZiAoKGludClkYXRhID09IDIwOCkgLy8g VGhlbiwgcmlnaHQga2V5IGlzIHByZXNzZWQKCSAgewoJICAgIGlucHV0X3JlcG9ydF9rZXkobmti ZC0+ZGV2LCBLRVlfVEFCLCAxKTsKCSAgICBpbnB1dF9yZXBvcnRfa2V5KG5rYmQtPmRldiwgS0VZ X1RBQiwgMCk7CgkgICAgaW5wdXRfc3luYyhua2JkLT5kZXYpOwoJCSAgcHJpbnRrKEtFUk5fSU5G TyAiU2Fta28ncyBSaWdodCBLZXk6IDgwXG4iKTsKCSAgfQoJICBlbHNlCgkgIHsKCSAgICBwcmlu dGsoS0VSTl9JTkZPICJTYW1rbydzIEtleSBwcmVzc2VkOiAlaVxuIiwoaW50KWRhdGEpOwoJICB9 CgkvL30KCS8vZWxzZSBpZiAoZGF0YSA9PSAweGU3KSAvKiBlbmQgb2YgaW5pdCBzZXF1ZW5jZSAq LwoJLy8JcHJpbnRrKEtFUk5fSU5GTyAiaW5wdXQ6ICVzIG9uICVzXG4iLCBua2JkLT5kZXYtPm5h bWUsIHNlcmlvLT5waHlzKTsKCS8vZWxzZQoJLy97CgkvLyAgcHJpbnRrKEtFUk5fSU5GTyAiU2Ft a28ncyBLZXkgcHJlc3NlZCAob3RoZXIgc2l0dWF0aW9uKTogJWlcbiIsKGludClkYXRhKTsKCS8v fQoJcmV0dXJuIElSUV9IQU5ETEVEOwp9CgpzdGF0aWMgaW50IG5rYmRfY29ubmVjdChzdHJ1Y3Qg c2VyaW8gKnNlcmlvLCBzdHJ1Y3Qgc2VyaW9fZHJpdmVyICpkcnYpCnsKCXN0cnVjdCBua2JkICpu a2JkOwoJc3RydWN0IGlucHV0X2RldiAqaW5wdXRfZGV2OwoJaW50IGVyciA9IC1FTk9NRU07Cglp bnQgaTsKCglua2JkID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG5rYmQpLCBHRlBfS0VSTkVMKTsK CWlucHV0X2RldiA9IGlucHV0X2FsbG9jYXRlX2RldmljZSgpOwoJaWYgKCFua2JkIHx8ICFpbnB1 dF9kZXYpCgkJZ290byBmYWlsMTsKCglua2JkLT5zZXJpbyA9IHNlcmlvOwoJbmtiZC0+ZGV2ID0g aW5wdXRfZGV2OwoJc25wcmludGYobmtiZC0+cGh5cywgc2l6ZW9mKG5rYmQtPnBoeXMpLCAiJXMv aW5wdXQwIiwgc2VyaW8tPnBoeXMpOwoJbWVtY3B5KG5rYmQtPmtleWNvZGUsIG5rYmRfa2V5Y29k ZSwgc2l6ZW9mKG5rYmQtPmtleWNvZGUpKTsKCglpbnB1dF9kZXYtPm5hbWUgPSAiU2Fta28gU2Vy aWFsIEVuY29kZXIgRGV2aWNlIjsKCWlucHV0X2Rldi0+cGh5cyA9IG5rYmQtPnBoeXM7CglpbnB1 dF9kZXYtPmlkLmJ1c3R5cGUgPSBCVVNfUlMyMzI7CglpbnB1dF9kZXYtPmlkLnZlbmRvciA9IFNF UklPX1NBTTsKCWlucHV0X2Rldi0+aWQucHJvZHVjdCA9IDB4MDAwMTsKCWlucHV0X2Rldi0+aWQu dmVyc2lvbiA9IDB4MDEwMDsKCWlucHV0X2Rldi0+ZGV2LnBhcmVudCA9ICZzZXJpby0+ZGV2OwoK CWlucHV0X2Rldi0+ZXZiaXRbMF0gPSBCSVRfTUFTSyhFVl9LRVkpOwoJaW5wdXRfZGV2LT5rZXlj b2RlID0gbmtiZC0+a2V5Y29kZTsKCWlucHV0X2Rldi0+a2V5Y29kZXNpemUgPSBzaXplb2YodW5z aWduZWQgY2hhcik7CglpbnB1dF9kZXYtPmtleWNvZGVtYXggPSBzaXplb2YobmtiZF9rZXljb2Rl KTsKCWZvciAoaSA9IDA7IGkgPCAyNTU7IGkrKykKCQlzZXRfYml0KG5rYmQtPmtleWNvZGVbaV0s IGlucHV0X2Rldi0+a2V5Yml0KTsKCWNsZWFyX2JpdCgwLCBpbnB1dF9kZXYtPmtleWJpdCk7CgoJ c2VyaW9fc2V0X2RydmRhdGEoc2VyaW8sIG5rYmQpOwoKCWVyciA9IHNlcmlvX29wZW4oc2VyaW8s IGRydik7CglpZiAoZXJyKQoJCWdvdG8gZmFpbDI7CgoJZXJyID0gaW5wdXRfcmVnaXN0ZXJfZGV2 aWNlKG5rYmQtPmRldik7CglpZiAoZXJyKQoJCWdvdG8gZmFpbDM7CgoJcmV0dXJuIDA7CgogZmFp bDM6CXNlcmlvX2Nsb3NlKHNlcmlvKTsKIGZhaWwyOglzZXJpb19zZXRfZHJ2ZGF0YShzZXJpbywg TlVMTCk7CiBmYWlsMToJaW5wdXRfZnJlZV9kZXZpY2UoaW5wdXRfZGV2KTsKCWtmcmVlKG5rYmQp OwoJcmV0dXJuIGVycjsKfQoKc3RhdGljIHZvaWQgbmtiZF9kaXNjb25uZWN0KHN0cnVjdCBzZXJp byAqc2VyaW8pCnsKCXN0cnVjdCBua2JkICpua2JkID0gc2VyaW9fZ2V0X2RydmRhdGEoc2VyaW8p OwoKCXNlcmlvX2Nsb3NlKHNlcmlvKTsKCXNlcmlvX3NldF9kcnZkYXRhKHNlcmlvLCBOVUxMKTsK CWlucHV0X3VucmVnaXN0ZXJfZGV2aWNlKG5rYmQtPmRldik7CglrZnJlZShua2JkKTsKfQoKc3Rh dGljIHN0cnVjdCBzZXJpb19kZXZpY2VfaWQgbmtiZF9zZXJpb19pZHNbXSA9IHsKCXsKCQkudHlw ZQk9IFNFUklPX1JTMjMyLAoJCS5wcm90bwk9IFNFUklPX1NBTSwKCQkuaWQJPSBTRVJJT19BTlks CgkJLmV4dHJhCT0gU0VSSU9fQU5ZLAoJfSwKCXsgMCB9Cn07CgpNT0RVTEVfREVWSUNFX1RBQkxF KHNlcmlvLCBua2JkX3NlcmlvX2lkcyk7CgpzdGF0aWMgc3RydWN0IHNlcmlvX2RyaXZlciBua2Jk X2RydiA9IHsKCS5kcml2ZXIJCT0gewoJCS5uYW1lCT0gInNlcmVuYyIsCgl9LAoJLmRlc2NyaXB0 aW9uCT0gRFJJVkVSX0RFU0MsCgkuaWRfdGFibGUJPSBua2JkX3NlcmlvX2lkcywKCS5pbnRlcnJ1 cHQJPSBua2JkX2ludGVycnVwdCwKCS5jb25uZWN0CT0gbmtiZF9jb25uZWN0LAoJLmRpc2Nvbm5l Y3QJPSBua2JkX2Rpc2Nvbm5lY3QsCgkvLy53cml0ZSA9IHR0eV93cml0ZSwKfTsKCnN0YXRpYyBp bnQgX19pbml0IG5rYmRfaW5pdCh2b2lkKQp7CglyZXR1cm4gc2VyaW9fcmVnaXN0ZXJfZHJpdmVy KCZua2JkX2Rydik7Cn0KCnN0YXRpYyB2b2lkIF9fZXhpdCBua2JkX2V4aXQodm9pZCkKewoJc2Vy aW9fdW5yZWdpc3Rlcl9kcml2ZXIoJm5rYmRfZHJ2KTsKfQoKbW9kdWxlX2luaXQobmtiZF9pbml0 KTsKbW9kdWxlX2V4aXQobmtiZF9leGl0KTsK ------=_Part_11104_10535464.1211909234579 Content-Type: application/octet-stream; name=Makefile Content-Transfer-Encoding: base64 X-Attachment-Id: f_fgqqup202 Content-Disposition: attachment; filename=Makefile b2JqLW0gKz0gc2VyZW5jLm8gc2VybW91c2UubwoKYWxsOgoJbWFrZSAtQyAvbGliL21vZHVsZXMv JChzaGVsbCB1bmFtZSAtcikvYnVpbGQgTT0kKFBXRCkgbW9kdWxlcwoKY2xlYW46CgltYWtlIC1D IC9saWIvbW9kdWxlcy8kKHNoZWxsIHVuYW1lIC1yKS9idWlsZCBNPSQoUFdEKSBjbGVhbgo= ------=_Part_11104_10535464.1211909234579 Content-Type: text/x-csrc; name=inputattach.c Content-Transfer-Encoding: base64 X-Attachment-Id: f_fgqqxq7c3 Content-Disposition: attachment; filename=inputattach.c LyoKICogJElkOiBpbnB1dGF0dGFjaC5jLHYgMS44IDIwMDAvMDcvMTcgMTA6NDI6MTUgdm9qdGVj aCBFeHAgJAogKgogKiAgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDAgVm9qdGVjaCBQYXZsaWsKICoK ICogIFNwb25zb3JlZCBieSBTdVNFCiAqLwoKLyoKICogSW5wdXQgbGluZSBkaXNjaXBsaW5lIGF0 dGFjaCBwcm9ncmFtCiAqLwoKLyoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z ZSwgb3IgCiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqIAogKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQogKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgogKiAKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlm IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkg VGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKICogCiAq IFNob3VsZCB5b3UgbmVlZCB0byBjb250YWN0IG1lLCB0aGUgYXV0aG9yLCB5b3UgY2FuIGRvIHNv IGVpdGhlciBieQogKiBlLW1haWwgLSBtYWlsIHlvdXIgbWVzc2FnZSB0byA8dm9qdGVjaEB1Y3cu Y3o+LCBvciBieSBwYXBlciBtYWlsOgogKiBWb2p0ZWNoIFBhdmxpaywgVWNpdGVsc2thIDE1NzYs IFByYWd1ZSA4LCAxODIgMDAgQ3plY2ggUmVwdWJsaWMKICovCgojaW5jbHVkZSA8bGludXgvc2Vy aW8uaD4KCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiNpbmNs dWRlIDxzeXMvaW9jdGwuaD4KI2luY2x1ZGUgPHN5cy90aW1lLmg+CgojaW5jbHVkZSA8c3RkaW8u aD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRlIDxmY250 bC5oPgojaW5jbHVkZSA8dGVybWlvcy5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxw dGhyZWFkLmg+CgovKiBkbyBub3QgaW5pdCBmb3IgYXJtIGF0IHRoZSBtb21lbnQgKi8KI2RlZmlu ZSBOT0lOSVQKI2RlZmluZSBTRVJJT19TQU0gICAgMHgzNgoKc3RydWN0IHRfcGFyYW1zCnsKICBp bnQgZmQsIGxkaXNjOwp9OwoKdm9pZCogaW9jdGxfdGhyZWFkKHZvaWQqIHBhcmFtXykKewogIHN0 cnVjdCB0X3BhcmFtcyogcCA9IChzdHJ1Y3QgdF9wYXJhbXMqKSBwYXJhbV87CiAgaWYoaW9jdGwo cC0+ZmQsIFRJT0NTRVRELCAmcC0+bGRpc2MpKQogIHsKICAgIGZwcmludGYoc3RkZXJyLCAiaW5w dXRhdHRhY2g6IGNhbid0IHNldCBsaW5lIGRpc2NpcGxpbmVcbiIpOyAKICAgIC8vcmV0dXJuIDE7 CiAgfQoJcmVhZChwLT5mZCwgTlVMTCwgMCk7Cgp9CgoKaW50IHJlYWRjaGFyKGludCBmZCwgdW5z aWduZWQgY2hhciAqYywgaW50IHRpbWVvdXQpCnsKCXN0cnVjdCB0aW1ldmFsIHR2OwoJZmRfc2V0 IHNldDsKCgl0di50dl9zZWMgPSAwOwoJdHYudHZfdXNlYyA9IHRpbWVvdXQgKiAxMDAwOwoKCUZE X1pFUk8oJnNldCk7CglGRF9TRVQoZmQsICZzZXQpOwoKCWlmICghc2VsZWN0KGZkKzEsICZzZXQs IE5VTEwsIE5VTEwsICZ0dikpIHJldHVybiAtMTsKCglyZWFkKGZkLCBjLCAxKTsKCglyZXR1cm4g MDsKfQoKdm9pZCBzZXRsaW5lKGludCBmZCwgaW50IGZsYWdzLCBpbnQgc3BlZWQpCnsKCXN0cnVj dCB0ZXJtaW9zIHQ7CgoJdGNnZXRhdHRyKGZkLCAmdCk7CgoJdC5jX2NmbGFnID0gZmxhZ3MgfCBD UkVBRCB8IEhVUENMIHwgQ0xPQ0FMOwoJdC5jX2lmbGFnID0gSUdOQlJLIHwgSUdOUEFSOwoJdC5j X29mbGFnID0gMDsKCXQuY19sZmxhZyA9IDA7Cgl0LmNfY2NbVk1JTiBdID0gMTsKCXQuY19jY1tW VElNRV0gPSAwOwoKCWNmc2V0aXNwZWVkKCZ0LCBzcGVlZCk7CgljZnNldG9zcGVlZCgmdCwgc3Bl ZWQpOwoKCXRjc2V0YXR0cihmZCwgVENTQU5PVywgJnQpOwp9CgppbnQgbG9naXRlY2hfY29tbWFu ZChpbnQgZmQsIGNoYXIgKmMpCnsKCWludCBpOwoJdW5zaWduZWQgY2hhciBkOwoJZm9yIChpID0g MDsgY1tpXTsgaSsrKSB7CgkJd3JpdGUoZmQsIGMgKyBpLCAxKTsKCQlpZiAocmVhZGNoYXIoZmQs ICZkLCAxMDAwKSkKCQkJcmV0dXJuIC0xOwoJCWlmIChjW2ldICE9IGQpCgkJCXJldHVybiAtMTsK CX0KCXJldHVybiAwOwp9CgppbnQgbWFnZWxsYW5faW5pdChpbnQgZmQpCnsKCXdyaXRlKGZkLCAi bTNccnBCQlxyelxyIiwgOSk7CglyZXR1cm4gMDsKfQoKaW50IHNhbWtvX2luaXQoaW50IGZkKQp7 CglwcmludGYgKCJJbml0ISFcbiIpOwoJaWYgKCAod3JpdGUoZmQsICJtM1xycEJCXHJ6XHIiLCA5 KSkgPCAwKQoJewoJICByZXR1cm4gLTE7Cgl9CglwcmludGYgKCJJbml0aWF0ZWQhIVxuIik7Cgly ZXR1cm4gMDsKfQoKaW50IHdhcnJpb3JfaW5pdChpbnQgZmQpCnsKCWlmIChsb2dpdGVjaF9jb21t YW5kKGZkLCAiKlMiKSkgcmV0dXJuIC0xOwoJc2V0bGluZShmZCwgQ1M4LCBCNDgwMCk7CglyZXR1 cm4gMDsKfQoKaW50IHNwYWNlYmFsbF9pbml0KGludCBmZCkKewoJdW5zaWduZWQgY2hhciBjOwoK CWlmIChyZWFkY2hhcihmZCwgJmMsIDQwMDApIHx8IGMgIT0gMHgxMSB8fAoJICAgIHJlYWRjaGFy KGZkLCAmYywgMTAwMCkgfHwgYyAhPSAweDBkKQoJCXJldHVybiAtMTsKCglzbGVlcCgyKTsJCQkJ LyogV2FpdCBhIGZldyBzZWNvbmRzIGZvciB0aGUgU3BhY2ViYWxsIHRvIGluaXRpYWxpemUuICov CgoJaWYgKHdyaXRlKGZkLCJZU1xyTVxyIiwgNSkgIT0gNSkJLyogU2V0IGxpbmVhciBzZW5zaXRp dml0eSAmIGVuYWJsZSBheGlzIGV2ZW50cyAqLwoJCXJldHVybiAtMTsKCglyZXR1cm4gMDsKfQoK aW50IHN0aW5nZXJfaW5pdChpbnQgZmQpCnsKCWludCBpOwoJdW5zaWduZWQgY2hhciBjOwoJdW5z aWduZWQgY2hhciAqcmVzcG9uc2UgPSAiXHJcbjA2MDA1MjAwNThDMjcyIjsKCglpZiAod3JpdGUo ZmQsICIgRTVFNSIsIDUpICE9IDUpCQkvKiBFbmFibGUgY29tbWFuZCAqLwoJCXJldHVybiAtMTsg CgoJZm9yIChpID0gMDsgaSA8IDE2OyBpKyspCQkvKiBDaGVjayBmb3IgU3RpbmdlciAqLwoJCWlm IChyZWFkY2hhcihmZCwgJmMsIDIwMCkgfHwgKGMgIT0gcmVzcG9uc2VbaV0pKSAKCQkJcmV0dXJu IC0xOwoKCXJldHVybiAwOwp9CgppbnQgbXpwX2luaXQoaW50IGZkKQp7CglpZiAobG9naXRlY2hf Y29tbWFuZChmZCwgIipYKnEiKSkgcmV0dXJuIC0xOwoJc2V0bGluZShmZCwgQ1M4LCBCOTYwMCk7 CglyZXR1cm4gMDsKfQoKaW50IG5ld3Rvbl9pbml0KGludCBmZCkKewogIGludCBpOwogIHVuc2ln bmVkIGNoYXIgYzsKICB1bnNpZ25lZCBjaGFyIHJlc3BvbnNlWzM1XSA9CiAgeyAweDE2LCAweDEw LCAweDAyLCAweDY0LCAweDVmLCAweDY5LCAweDY0LCAweDAwLAogICAgMHgwMCwgMHgwMCwgMHgw YywgMHg2YiwgMHg3OSwgMHg2MiwgMHg2NCwgMHg2MSwKICAgIDB4NzAsIDB4NzAsIDB4NmMsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4NmUsCiAgICAweDZmLCAweDY2LCAweDZkLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDEwLAogICAgMHgwMywgMHhkZCwgMHhlNyB9OwoKICBmb3IgKGkg PSAwOyBpIDwgMzU7IGkrKykKICAgIGlmIChyZWFkY2hhcihmZCwgJmMsIDQwMCkgfHwgKGMgIT0g cmVzcG9uc2VbaV0pKQogICAgICByZXR1cm4gLTE7CgogIHJldHVybiAwOyAKfQoKaW50IGR1bXBf aW5pdChpbnQgZmQpCnsKCXVuc2lnbmVkIGNoYXIgYywgbyA9IDA7CgoJd2hpbGUgKDEpCgkJaWYg KCFyZWFkY2hhcihmZCwgJmMsIDEpKSB7CgkJCXByaW50ZigiJTAyeCAoJWMpICIsIGMsICgoYyA+ IDMyKSAmJiAoYyA8IDEyNykpID8gYyA6ICd4Jyk7CgkJCW8gPSAxOwoJCX0gZWxzZSB7CgkJCWlm IChvKSB7CgkJCQlwcmludGYoIlxuIik7CgkJCQlvID0gMDsKCQkJfQoJCX0KfQoKc3RydWN0IGlu cHV0X3R5cGVzIHsKCWNoYXIgbmFtZVsxNl07CgljaGFyIG5hbWUyWzE2XTsKCWludCBzcGVlZDsK CWludCBmbGFnczsKCXVuc2lnbmVkIGxvbmcgdHlwZTsKCXVuc2lnbmVkIGxvbmcgZXh0cmE7Cglp bnQgZmx1c2g7CglpbnQgKCppbml0KShpbnQgZmQpOwp9OwoKc3RydWN0IGlucHV0X3R5cGVzIGlu cHV0X3R5cGVzW10gPSB7Cgp7ICItLXN1bmtiZCIsCQkiLXNrYiIsCQlCMTIwMCwgQ1M4LAkJCVNF UklPX1NVTktCRCwJMHgwMCwJMSwJTlVMTCB9LAp7ICItLXNwYWNlb3JiIiwJCSItb3JiIiwJCUI5 NjAwLCBDUzgsCQkJU0VSSU9fU1BBQ0VPUkIsCTB4MDAsCTEsCU5VTEwgfSwKeyAiLS1zcGFjZWJh bGwiLAkiLXNibCIsCQlCOTYwMCwgQ1M4LAkJCVNFUklPX1NQQUNFQkFMTCwweDAwLAkxLAlzcGFj ZWJhbGxfaW5pdCB9LAp7ICItLW1hZ2VsbGFuIiwJCSItbWFnIiwJCUI5NjAwLCBDUzggfCBDU1RP UEIgfCBDUlRTQ1RTLAlTRVJJT19NQUdFTExBTiwJMHgwMCwJMSwJbWFnZWxsYW5faW5pdCB9LAp7 ICItLXdhcnJpb3IiLAkJIi13YXIiLAkJQjEyMDAsIENTNyB8IENTVE9QQiwJCVNFUklPX1dBUlJJ T1IsCTB4MDAsCTEsCXdhcnJpb3JfaW5pdCB9LAogIC8qeyAiLS1zdGluZ2VyIiwJCSItc3Rpbmci LAlCMTIwMCwgQ1M4LAkJCVNFUklPX1NUSU5HRVIsCTB4MDAsCTEsCXN0aW5nZXJfaW5pdCB9LCov CnsgIi0tc3RpbmdlciIsCQkiLXN0aW5nIiwJQjEyMDAsIENTOCwJCQlTRVJJT19XQVJSSU9SLAkw eDAwLAkxLAlzdGluZ2VyX2luaXQgfSwKeyAiLS1tb3VzZXN5c3RlbXMiLAkiLW1zYyIsCQlCMTIw MCwgQ1M4LAkJCVNFUklPX01TQywJMHgwMSwJMSwJTlVMTCB9LAp7ICItLXN1bm1vdXNlIiwJCSIt c3VuIiwJCUIxMjAwLCBDUzgsCQkJU0VSSU9fU1VOLAkweDAxLAkxLAlOVUxMIH0sCnsgIi0tbWlj cm9zb2Z0IiwJIi1iYXJlIiwJQjEyMDAsIENTNywJCQlTRVJJT19NUywJMHgwMCwJMSwJTlVMTCB9 LAp7ICItLW1zaGFjayIsCQkiLW1zIiwJCUIxMjAwLCBDUzcsCQkJU0VSSU9fTVMsCTB4MDEsCTEs CU5VTEwgfSwKeyAiLS1tb3VzZW1hbiIsCQkiLW1tYW4iLAlCMTIwMCwgQ1M3LAkJCVNFUklPX01Q LAkweDAxLAkxLAlOVUxMIH0sCnsgIi0taW50ZWxsaW1vdXNlIiwJIi1tczMiLAkJQjEyMDAsIENT NywJCQlTRVJJT19NWiwJMHgxMSwJMSwJTlVMTCB9LAp7ICItLW1td2hlZWwiLAkJIi1tbXciLAkJ QjEyMDAsIENTNyB8IENTVE9QQiwJCVNFUklPX01aUCwJMHgxMywJMSwJbXpwX2luaXQgfSwKeyAi LS1pZm9yY2UiLAkJIi1pZm9yIiwJQjM4NDAwLCBDUzggfCBDUlRTQ1RTLAkJU0VSSU9fSUZPUkNF LAkweDAwLAkwLAlOVUxMIH0sCnsgIi0tbmV3dG9ua2JkIiwgICAgICAgICItbmV3dCIsICAgICAg ICBCOTYwMCwgQ1M4LCAgICAgICAgICAgICAgICAgICAgIFNFUklPX05FV1RPTiwgIDB4MDAsICAg MCwgICAgICBuZXd0b25faW5pdCB9LAp7ICItLXNhbWtvZW5jIiwgIi1zYW0iLCBCOTYwMCwgQ1M4 LCBTRVJJT19TQU0sIDB4MDAsIDAsIHNhbWtvX2luaXR9LAp7ICItLXN0b3dhd2F5IiwgICAgICAg ICAiLXN0b3ciLCAgICAgICAgQjk2MDAsIENTOCwgICAgICAgICAgICAgICAgICAgICBTRVJJT19T VE9XQVdBWSwweDAwLCAgIDAsICAgICAgTlVMTCB9LAp7ICItLWR1bXAiLAkJIi1kdW1wIiwJQjEy MDAsIENTNywgCQkJMCwJCTB4MDAsCTAsCWR1bXBfaW5pdCB9LAp7ICIiLCAiIiwgMCwgMCB9Cgp9 OwoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQp7Cgl1bnNpZ25lZCBsb25nIGRldnQ7 CglzdHJ1Y3QgdF9wYXJhbXMgcGFyYW07CiAgaW50IHR5cGUsIGk7CgljaGFyIGM7CglpbnQgcGZk c1syXTsKICBjaGFyIGJ1ZlszMF07CiAgcHRocmVhZF90IHRocmVhZF9pZDsKICAKCiAgICAgICAg aWYgKGFyZ2MgPCAyIHx8IGFyZ2MgPiAzIHx8ICFzdHJjbXAoIi0taGVscCIsIGFyZ3ZbMV0pKSB7 CiAgICAgICAgICAgICAgICBwdXRzKCIiKTsKICAgICAgICAgICAgICAgIHB1dHMoIlVzYWdlOiBp bnB1dHR0YWNoIDxtb2RlPiA8ZGV2aWNlPiIpOwogICAgICAgICAgICAgICAgcHV0cygiIik7CiAg ICAgICAgICAgICAgICBwdXRzKCJNb2RlczoiKTsKICAgICAgICAgICAgICAgIHB1dHMoIiAgLS1z dW5rYmQgICAgICAgIC1za2IgICBTdW4gVHlwZSA0IGFuZCBUeXBlIDUga2V5Ym9hcmRzIik7CiAg ICAgICAgICAgICAgICBwdXRzKCIgIC0tc3BhY2VvcmIgICAgICAtb3JiICAgU3BhY2VPcmIgMzYw IC8gU3BhY2VCYWxsIEF2ZW5nZXIiKTsKCQlwdXRzKCIgIC0tc3BhY2ViYWxsICAgICAtc2JsICAg U3BhY2VCYWxsIDIwMDMgLyAzMDAzIC8gNDAwMCBGTFgiKTsKICAgICAgICAgICAgICAgIHB1dHMo IiAgLS1tYWdlbGxhbiAgICAgIC1tYWcgICBNYWdlbGxhbiAvIFNwYWNlTW91c2UiKTsKICAgICAg ICAgICAgICAgIHB1dHMoIiAgLS13YXJyaW9yICAgICAgIC13YXIgICBXaW5nTWFuIFdhcnJpb3Ii KTsKCQlwdXRzKCIgIC0tc3RpbmdlciAgICAgICAtc3RuZyAgR3JhdmlzIFN0aW5nZXIiKTsKCQlw dXRzKCIgIC0tbW91c2VzeXN0ZW1zICAtbXNjICAgMy1idXR0b24gTW91c2UgU3lzdGVtcyBtaWNl Iik7CgkJcHV0cygiICAtLXN1bm1vdXNlICAgICAgLXN1biAgIDMtYnV0dG9uIFN1biBtaWNlIik7 CgkJcHV0cygiICAtLW1pY3Jvc29mdCAgICAgLWJhcmUgIDItYnV0dG9uIE1pY3Jvc29mdCBtaWNl Iik7CgkJcHV0cygiICAtLW1zaGFjayAgICAgICAgLW1zICAgIDMtYnV0dG9uIG1pY2UgaW4gTWlj cm9zb2Z0IG1vZGUiKTsKCQlwdXRzKCIgIC0tbW91c2VtYW4gICAgICAtbW1hbiAgMy1idXR0b24g TG9naXRlY2ggYW5kIEdlbml1cyBtaWNlIik7CgkJcHV0cygiICAtLWludGVsbGltb3VzZSAgLW1z MyAgIE1pY3Jvc29mdCBJbnRlbGxpTW91c2UiKTsKCQlwdXRzKCIgIC0tbW13aGVlbCAgICAgICAt bW13ICAgTG9naXRlY2ggbWljZSB3aXRoIDQtNSBidXR0b25zIG9yIHdoZWVsIik7CgkJcHV0cygi ICAtLWlmb3JjZSAgICAgICAgLWlmb3IgIEktRm9yY2Ugam95c3RpY2tzIGFuZCB3aGVlbHMiKTsK CQlwdXRzKCIgIC0tbmV3dG9ua2JkICAgICAtbmV3dCAgQXBwbGUgTmV3dG9uIGtleWJvYXJkIik7 CgkJcHV0cygiICAtLXN0b3dhd2F5ICAgICAgLXN0b3cgIFN0b3dhd2F5IFBEQSBrZXlib2FyZCIp OwoJCXB1dHMoIiAgLS1zYW1rb2VuYyAgICAgIC1zYW0gICBTYW1rbyBTZXJpYWwgRW5jb2RlciIp OwogICAgICAgICAgICAgICAgcHV0cygiIik7CiAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAg ICAgICB9CgogICAgICAgIGZvciAodHlwZSA9IDA7IGlucHV0X3R5cGVzW3R5cGVdLnNwZWVkOyB0 eXBlKyspIHsKICAgICAgICAgICAgICAgIGlmICghc3RybmNhc2VjbXAoYXJndlsxXSwgaW5wdXRf dHlwZXNbdHlwZV0ubmFtZSwgMTYpIHx8CgkJCSFzdHJuY2FzZWNtcChhcmd2WzFdLCBpbnB1dF90 eXBlc1t0eXBlXS5uYW1lMiwgMTYpKQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg ICAgICB9CgoJaWYgKCFpbnB1dF90eXBlc1t0eXBlXS5zcGVlZCkgewoJCWZwcmludGYoc3RkZXJy LCAiaW5wdXRhdHRhY2g6IGludmFsaWQgbW9kZVxuIik7CgkJcmV0dXJuIDE7Cgl9CgoJaWYgKChw YXJhbS5mZCA9IG9wZW4oYXJndlsyXSwgT19SRFdSIHwgT19OT0NUVFkgfCBPX05ERUxBWSkpIDwg MCkgewoJCXBlcnJvcigiaW5wdXRhdHRhY2giKTsKCQlyZXR1cm4gMTsKCX0KCglzZXRsaW5lKHBh cmFtLmZkLCBpbnB1dF90eXBlc1t0eXBlXS5mbGFncywgaW5wdXRfdHlwZXNbdHlwZV0uc3BlZWQp OwoKCWlmIChpbnB1dF90eXBlc1t0eXBlXS5mbHVzaCkKCQl3aGlsZSAoIXJlYWRjaGFyKHBhcmFt LmZkLCAmYywgMTAwKSk7CgojaWZuZGVmIE5PSU5JVAoJaWYgKGlucHV0X3R5cGVzW3R5cGVdLmlu aXQgJiYgaW5wdXRfdHlwZXNbdHlwZV0uaW5pdChwYXJhbS5mZCkpIHsKCQlmcHJpbnRmKHN0ZGVy ciwgImlucHV0YXR0YWNoOiBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbGVkXG4iKTsKCQlyZXR1 cm4gMTsKCX0KI2VuZGlmCgogIHBhcmFtLmxkaXNjID0gTl9NT1VTRTsKCS8vcGFyYW0ubGRpc2Mg PSBOX1RUWTsKCQoJCglpZihpb2N0bChwYXJhbS5mZCwgVElPQ1NFVEQsICZwYXJhbS5sZGlzYykp IHsKCQlmcHJpbnRmKHN0ZGVyciwgImlucHV0YXR0YWNoOiBjYW4ndCBzZXQgbGluZSBkaXNjaXBs aW5lXG4iKTsgCgkJcmV0dXJuIDE7Cgl9CgoKCWRldnQgPSBTRVJJT19SUzIzMiB8IGlucHV0X3R5 cGVzW3R5cGVdLnR5cGUgfCAoaW5wdXRfdHlwZXNbdHlwZV0uZXh0cmEgPDwgMTYpOwoKICBwcmlu dGYgKCJVbm8uXG4iKTsKICAKCWlmKGlvY3RsKHBhcmFtLmZkLCBTUElPQ1NUWVBFLCAmZGV2dCkp IHsKCQlmcHJpbnRmKHN0ZGVyciwgImlucHV0YXR0YWNoOiBjYW4ndCBzZXQgZGV2aWNlIHR5cGVc biIpOwoJCXJldHVybiAxOwoJfQoJLyoKICBpZihpb2N0bChwYXJhbS5mZCwgVElPQ1NFVEQsICZw YXJhbS5sZGlzYykpCiAgewogICAgZnByaW50ZihzdGRlcnIsICJpbnB1dGF0dGFjaDogY2FuJ3Qg c2V0IGxpbmUgZGlzY2lwbGluZVxuIik7IAogICAgcmV0dXJuIDE7CiAgfQoJcmVhZChwYXJhbS5m ZCwgTlVMTCwgMCk7CiAgKi8KCXB0aHJlYWRfY3JlYXRlICgmdGhyZWFkX2lkLCBOVUxMLCAmaW9j dGxfdGhyZWFkLCAmcGFyYW0pOwogIAogIAoJd2hpbGUgKDEpCgl7CgkgIHR0eV93cml0ZShwYXJh bS5mZCwgIkEiLCAxKTsKCSAgLy9wcmludGYgKCJBICIpOwoJICB1c2xlZXAoMTAwMDApOwogIH0K ICBwcmludGYoIlxuIik7CgkKICAKICBwcmludGYoIldlbGwgZG9uZSxcbiIpOwogIHNsZWVwICgx MDApOwogIHByaW50ZigiQ3V0dHkgU2hhcmsuXG4iKTsKCglwYXJhbS5sZGlzYyA9IDA7Cglpb2N0 bChwYXJhbS5mZCwgVElPQ1NFVEQsICZwYXJhbS5sZGlzYyk7CiAgCgljbG9zZShwYXJhbS5mZCk7 CgoJcmV0dXJuIDA7Cn0K ------=_Part_11104_10535464.1211909234579--