From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KZrrZ-0004up-V1 for qemu-devel@nongnu.org; Sun, 31 Aug 2008 14:41:26 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KZrrX-0004sI-TP for qemu-devel@nongnu.org; Sun, 31 Aug 2008 14:41:25 -0400 Received: from [199.232.76.173] (port=47888 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KZrrX-0004rt-N2 for qemu-devel@nongnu.org; Sun, 31 Aug 2008 14:41:23 -0400 Received: from wf-out-1314.google.com ([209.85.200.168]:42342) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KZrrW-0000dw-6q for qemu-devel@nongnu.org; Sun, 31 Aug 2008 14:41:23 -0400 Received: by wf-out-1314.google.com with SMTP id 27so1561092wfd.4 for ; Sun, 31 Aug 2008 11:41:20 -0700 (PDT) Message-ID: Date: Sun, 31 Aug 2008 21:41:20 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [PATCH v3 1/6] Use IO port for qemu<->guest BIOS communication. In-Reply-To: <20080831141819.GH6192@minantech.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_32987_12511771.1220208080451" References: <20080828165232.22851.77678.stgit@gleb-debian.qumranet.com.qumranet.com> <20080828165237.22851.1532.stgit@gleb-debian.qumranet.com.qumranet.com> <20080829190041.GA18301@minantech.com> <20080831111206.GF6192@minantech.com> <20080831130256.GG6192@minantech.com> <20080831141819.GH6192@minantech.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_32987_12511771.1220208080451 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 8/31/08, Gleb Natapov wrote: > With the fix below this patch series works for me. Do you already have a patch for Bochs BIOS, or how do you test it? I've fixed the bug in the version attached, updated the common patch and added a Sparc32 specific patch to add the graphic depth. I added support to Sparc32 version of OpenBIOS, it can also boot using the new device: Configuration device id QEMU version 1 machine id 32 CPUs: 1 x FMI,MB86904 Welcome to OpenBIOS v1.0RC1 built on Aug 31 2008 15:30 Type 'help' for detailed information [sparc] Booting file 'cdrom' with parameters '' Not a bootable ELF image Not a Linux kernel image Loading a.out image... Loaded 7680 bytes entry point is 0x4000 Jumping to entry point... So I would be ready to switch to this system. ------=_Part_32987_12511771.1220208080451 Content-Type: plain/text; name=new_fw_abi.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkk0a7ol Content-Disposition: attachment; filename=new_fw_abi.diff ICAgIFVzZSBJTyBwb3J0IGZvciBxZW11PC0+Z3Vlc3QgQklPUyBjb21tdW5pY2F0aW9uLgogICAg CiAgICBVc2UgUElPIHRvIGdldCBjb25maWd1cmF0aW9uIGluZm8gYmV0d2VlbiBxZW11IHByb2Nl c3MgYW5kIGd1ZXN0IEJJT1MuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEdsZWIgTmF0YXBvdiA8 Z2xlYkBxdW1yYW5ldC5jb20+CgpJbmRleDogcWVtdS9NYWtlZmlsZS50YXJnZXQKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gcWVtdS5vcmlnL01ha2VmaWxlLnRhcmdldAkyMDA4LTA4LTMxIDEyOjM0OjUyLjAwMDAw MDAwMCArMDAwMAorKysgcWVtdS9NYWtlZmlsZS50YXJnZXQJMjAwOC0wOC0zMSAxNDoyOTo0Ni4w MDAwMDAwMDAgKzAwMDAKQEAgLTQ3Myw2ICs0NzMsNyBAQAogaWZuZGVmIENPTkZJR19VU0VSX09O TFkKIAogT0JKUz12bC5vIG9zZGVwLm8gbW9uaXRvci5vIHBjaS5vIGxvYWRlci5vIGlzYV9tbWlv Lm8gbWFjaGluZS5vIG5ldC1jaGVja3N1bS5vCitPQkpTKz1md19jZmcubwogaWZkZWYgQ09ORklH X1dJTjMyCiBPQkpTKz1ibG9jay1yYXctd2luMzIubwogZWxzZQpJbmRleDogcWVtdS9ody9wYy5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9wYy5jCTIwMDgtMDgtMzEgMTI6MzQ6MjguMDAw MDAwMDAwICswMDAwCisrKyBxZW11L2h3L3BjLmMJMjAwOC0wOC0zMSAxNDoyOTo0NS4wMDAwMDAw MDAgKzAwMDAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJzbWJ1cy5oIgogI2luY2x1ZGUg ImJvYXJkcy5oIgogI2luY2x1ZGUgImNvbnNvbGUuaCIKKyNpbmNsdWRlICJmd19jZmcuaCIKIAog Lyogb3V0cHV0IEJvY2hzIGJpb3MgaW5mbyBtZXNzYWdlcyAqLwogLy8jZGVmaW5lIERFQlVHX0JJ T1MKQEAgLTQ0LDYgKzQ1LDcgQEAKIAogLyogTGVhdmUgYSBjaHVuayBvZiBtZW1vcnkgYXQgdGhl IHRvcCBvZiBSQU0gZm9yIHRoZSBCSU9TIEFDUEkgdGFibGVzLiAgKi8KICNkZWZpbmUgQUNQSV9E QVRBX1NJWkUgICAgICAgMHgxMDAwMAorI2RlZmluZSBCSU9TX0NGR19JT1BPUlQgMHg1MTAKIAog I2RlZmluZSBNQVhfSURFX0JVUyAyCiAKQEAgLTQxNiw2ICs0MTgsOCBAQAogCiBzdGF0aWMgdm9p ZCBib2Noc19iaW9zX2luaXQodm9pZCkKIHsKKyAgICB2b2lkICpmd19jZmc7CisKICAgICByZWdp c3Rlcl9pb3BvcnRfd3JpdGUoMHg0MDAsIDEsIDIsIGJvY2hzX2Jpb3Nfd3JpdGUsIE5VTEwpOwog ICAgIHJlZ2lzdGVyX2lvcG9ydF93cml0ZSgweDQwMSwgMSwgMiwgYm9jaHNfYmlvc193cml0ZSwg TlVMTCk7CiAgICAgcmVnaXN0ZXJfaW9wb3J0X3dyaXRlKDB4NDAyLCAxLCAxLCBib2Noc19iaW9z X3dyaXRlLCBOVUxMKTsKQEAgLTQyNiw2ICs0MzAsOSBAQAogICAgIHJlZ2lzdGVyX2lvcG9ydF93 cml0ZSgweDUwMiwgMSwgMiwgYm9jaHNfYmlvc193cml0ZSwgTlVMTCk7CiAgICAgcmVnaXN0ZXJf aW9wb3J0X3dyaXRlKDB4NTAwLCAxLCAxLCBib2Noc19iaW9zX3dyaXRlLCBOVUxMKTsKICAgICBy ZWdpc3Rlcl9pb3BvcnRfd3JpdGUoMHg1MDMsIDEsIDEsIGJvY2hzX2Jpb3Nfd3JpdGUsIE5VTEwp OworCisgICAgZndfY2ZnID0gZndfY2ZnX2luaXQoQklPU19DRkdfSU9QT1JULCAwKTsKKyAgICBm d19jZmdfYWRkX2kzMihmd19jZmcsIEZXX0NGR19JRCwgMSk7CiB9CiAKIC8qIEdlbmVyYXRlIGFu IGluaXRpYWwgYm9vdCBzZWN0b3Igd2hpY2ggc2V0cyBzdGF0ZSBhbmQganVtcCB0bwpJbmRleDog cWVtdS9ody9zdW40bS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9zdW40bS5jCTIwMDgt MDgtMzEgMTI6MzQ6MjguMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L3N1bjRtLmMJMjAwOC0w OC0zMSAxNDoyOTo0NS4wMDAwMDAwMDAgKzAwMDAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl ICJzY3NpLmgiCiAjaW5jbHVkZSAicGMuaCIKICNpbmNsdWRlICJpc2EuaCIKKyNpbmNsdWRlICJm d19jZmcuaCIKIAogLy8jZGVmaW5lIERFQlVHX0lSUQogCkBAIC03OCw2ICs3OSw3IEBACiAjZGVm aW5lIFBST01fU0laRV9NQVggICAgICAgICg1MTIgKiAxMDI0KQogI2RlZmluZSBQUk9NX1ZBRERS ICAgICAgICAgICAweGZmZDAwMDAwCiAjZGVmaW5lIFBST01fRklMRU5BTUUgICAgICAgICJvcGVu Ymlvcy1zcGFyYzMyIgorI2RlZmluZSBDRkdfQUREUiAgICAgICAgICAgICAweGQwMDAwMDUxMFVM TAogCiAvLyBDb250cm9sIHBsYW5lLCA4LWJpdCBhbmQgMjQtYml0IHBsYW5lcwogI2RlZmluZSBU Q1hfU0laRSAgICAgICAgICAgICAoOSAqIDEwMjQgKiAxMDI0KQpAQCAtNDEwLDYgKzQxMiw3IEBA CiAgICAgY2hhciBidWZbMTAyNF07CiAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqZmRbTUFYX0ZEXTsK ICAgICBpbnQgZHJpdmVfaW5kZXg7CisgICAgdm9pZCAqZndfY2ZnOwogCiAgICAgLyogaW5pdCBD UFVzICovCiAgICAgaWYgKCFjcHVfbW9kZWwpCkBAIC01NzAsNiArNTczLDkgQEAKICAgICBpZiAo aHdkZWYtPmVjY19iYXNlICE9ICh0YXJnZXRfcGh5c19hZGRyX3QpLTEpCiAgICAgICAgIGVjY19p bml0KGh3ZGVmLT5lY2NfYmFzZSwgc2xhdmlvX2lycVtod2RlZi0+ZWNjX2lycV0sCiAgICAgICAg ICAgICAgICAgIGh3ZGVmLT5lY2NfdmVyc2lvbik7CisKKyAgICBmd19jZmcgPSBmd19jZmdfaW5p dCgwLCBDRkdfQUREUik7CisgICAgZndfY2ZnX2FkZF9pMzIoZndfY2ZnLCBGV19DRkdfSUQsIDEp OwogfQogCiBzdGF0aWMgdm9pZCBzdW40Y19od19pbml0KGNvbnN0IHN0cnVjdCBod2RlZiAqaHdk ZWYsIHJhbV9hZGRyX3QgUkFNX3NpemUsCkBAIC01ODksNiArNTk1LDcgQEAKICAgICBjaGFyIGJ1 ZlsxMDI0XTsKICAgICBCbG9ja0RyaXZlclN0YXRlICpmZFtNQVhfRkRdOwogICAgIGludCBkcml2 ZV9pbmRleDsKKyAgICB2b2lkICpmd19jZmc7CiAKICAgICAvKiBpbml0IENQVSAqLwogICAgIGlm ICghY3B1X21vZGVsKQpAQCAtNzE1LDYgKzcyMiw5IEBACiAgICAgbnZyYW1faW5pdChudnJhbSwg KHVpbnQ4X3QgKikmbmRfdGFibGVbMF0ubWFjYWRkciwga2VybmVsX2NtZGxpbmUsCiAgICAgICAg ICAgICAgICBib290X2RldmljZSwgUkFNX3NpemUsIGtlcm5lbF9zaXplLCBncmFwaGljX3dpZHRo LAogICAgICAgICAgICAgICAgZ3JhcGhpY19oZWlnaHQsIGdyYXBoaWNfZGVwdGgsIGh3ZGVmLT5t YWNoaW5lX2lkLCAiU3VuNGMiKTsKKworICAgIGZ3X2NmZyA9IGZ3X2NmZ19pbml0KDAsIENGR19B RERSKTsKKyAgICBmd19jZmdfYWRkX2kzMihmd19jZmcsIEZXX0NGR19JRCwgMSk7CiB9CiAKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaHdkZWYgaHdkZWZzW10gPSB7CkBAIC0xNDA1LDYgKzE0MTUsNyBA QAogICAgIGludCByZXQ7CiAgICAgY2hhciBidWZbMTAyNF07CiAgICAgaW50IGRyaXZlX2luZGV4 OworICAgIHZvaWQgKmZ3X2NmZzsKIAogICAgIC8qIGluaXQgQ1BVcyAqLwogICAgIGlmICghY3B1 X21vZGVsKQpAQCAtMTUyOCw2ICsxNTM5LDkgQEAKICAgICBudnJhbV9pbml0KG52cmFtLCAodWlu dDhfdCAqKSZuZF90YWJsZVswXS5tYWNhZGRyLCBrZXJuZWxfY21kbGluZSwKICAgICAgICAgICAg ICAgIGJvb3RfZGV2aWNlLCBSQU1fc2l6ZSwga2VybmVsX3NpemUsIGdyYXBoaWNfd2lkdGgsCiAg ICAgICAgICAgICAgICBncmFwaGljX2hlaWdodCwgZ3JhcGhpY19kZXB0aCwgaHdkZWYtPm1hY2hp bmVfaWQsICJTdW40ZCIpOworCisgICAgZndfY2ZnID0gZndfY2ZnX2luaXQoMCwgQ0ZHX0FERFIp OworICAgIGZ3X2NmZ19hZGRfaTMyKGZ3X2NmZywgRldfQ0ZHX0lELCAxKTsKIH0KIAogLyogU1BB UkNzZXJ2ZXIgMTAwMCBoYXJkd2FyZSBpbml0aWFsaXNhdGlvbiAqLwpJbmRleDogcWVtdS9ody9z dW40dS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9zdW40dS5jCTIwMDgtMDgtMzEgMTI6 MzQ6MjguMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L3N1bjR1LmMJMjAwOC0wOC0zMSAxNDoy OTo0NS4wMDAwMDAwMDAgKzAwMDAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJzeXNlbXUu aCIKICNpbmNsdWRlICJib2FyZHMuaCIKICNpbmNsdWRlICJmaXJtd2FyZV9hYmkuaCIKKyNpbmNs dWRlICJmd19jZmcuaCIKIAogI2RlZmluZSBLRVJORUxfTE9BRF9BRERSICAgICAweDAwNDA0MDAw CiAjZGVmaW5lIENNRExJTkVfQUREUiAgICAgICAgIDB4MDAzZmYwMDAKQEAgLTQ0LDYgKzQ1LDcg QEAKICNkZWZpbmUgUFJPTV9GSUxFTkFNRSAgICAgICAgIm9wZW5iaW9zLXNwYXJjNjQiCiAjZGVm aW5lIE5WUkFNX1NJWkUgICAgICAgICAgIDB4MjAwMAogI2RlZmluZSBNQVhfSURFX0JVUyAgICAg ICAgICAyCisjZGVmaW5lIEJJT1NfQ0ZHX0lPUE9SVCAgICAgIDB4NTEwCiAKIHN0cnVjdCBod2Rl ZiB7CiAgICAgY29uc3QgY2hhciAqIGNvbnN0IGRlZmF1bHRfY3B1X21vZGVsOwpAQCAtMjcwLDYg KzI3Miw3IEBACiAgICAgaW50IGRyaXZlX2luZGV4OwogICAgIEJsb2NrRHJpdmVyU3RhdGUgKmhk W01BWF9JREVfQlVTICogTUFYX0lERV9ERVZTXTsKICAgICBCbG9ja0RyaXZlclN0YXRlICpmZFtN QVhfRkRdOworICAgIHZvaWQgKmZ3X2NmZzsKIAogICAgIGxpbnV4X2Jvb3QgPSAoa2VybmVsX2Zp bGVuYW1lICE9IE5VTEwpOwogCkBAIC00MTUsNiArNDE4LDggQEAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdyYXBoaWNfd2lkdGgsIGdyYXBoaWNfaGVpZ2h0LCBncmFwaGljX2RlcHRoLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQ4X3QgKikmbmRfdGFibGVbMF0ubWFjYWRk cik7CiAKKyAgICBmd19jZmcgPSBmd19jZmdfaW5pdChCSU9TX0NGR19JT1BPUlQsIDApOworICAg IGZ3X2NmZ19hZGRfaTMyKGZ3X2NmZywgRldfQ0ZHX0lELCAxKTsKIH0KIAogc3RhdGljIGNvbnN0 IHN0cnVjdCBod2RlZiBod2RlZnNbXSA9IHsKSW5kZXg6IHFlbXUvaHcvZndfY2ZnLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisr KyBxZW11L2h3L2Z3X2NmZy5jCTIwMDgtMDgtMzEgMTQ6MzA6MDYuMDAwMDAwMDAwICswMDAwCkBA IC0wLDAgKzEsMjIwIEBACisvKgorICogUUVNVSBGaXJtd2FyZSBjb25maWd1cmF0aW9uIGRldmlj ZSBlbXVsYXRpb24KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggR2xlYiBOYXRhcG92CisgKgor ICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw ZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRl ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKKyAqIGluIHRo ZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0 aW9uIHRoZSByaWdodHMKKyAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwg ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKKyAqIGNvcGllcyBvZiB0aGUgU29m dHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworICog ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK KyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v dGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw b3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVE ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElN UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVS Q0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P TklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlS SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisg KiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9U SEVSV0lTRSwgQVJJU0lORyBGUk9NLAorICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU SEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgorICogVEhFIFNPRlRX QVJFLgorICovCisjaW5jbHVkZSAiaHcuaCIKKyNpbmNsdWRlICJpc2EuaCIKKyNpbmNsdWRlICJm d19jZmcuaCIKKworLyogZGVidWcgZmlybXdhcmUgY29uZmlnICovCisvLyNkZWZpbmUgREVCVUdf RldfQ0ZHCisKKyNpZmRlZiBERUJVR19GV19DRkcKKyNkZWZpbmUgRldfQ0ZHX0RQUklOVEYoZm10 LCBhcmdzLi4uKSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7IHByaW50ZigiRldfQ0ZH OiAiIGZtdCAsICMjYXJncyk7IH0gd2hpbGUgKDApCisjZWxzZQorI2RlZmluZSBGV19DRkdfRFBS SU5URihmbXQsIGFyZ3MuLi4pCisjZW5kaWYKKworI2RlZmluZSBGV19DRkdfU0laRSAyCisKK3R5 cGVkZWYgc3RydWN0IF9GV0NmZ0VudHJ5IHsKKyAgICB1aW50MTZfdCBsZW47CisgICAgY29uc3Qg dWludDhfdCAqZGF0YTsKK30gRldDZmdFbnRyeTsKKwordHlwZWRlZiBzdHJ1Y3QgX0ZXQ2ZnU3Rh dGUgeworICAgIEZXQ2ZnRW50cnkgZW50cmllc1syXVtGV19DRkdfTUFYX0VOVFJZXTsKKyAgICB1 aW50MTZfdCBjdXJfZW50cnk7CisgICAgdWludDE2X3QgY3VyX29mZnNldDsKK30gRldDZmdTdGF0 ZTsKKworc3RhdGljIGludCBmd19jZmdfc2VsZWN0KEZXQ2ZnU3RhdGUgKnMsIHVpbnQxNl90IGtl eSkKK3sKKyAgICBpbnQgcmV0OworCisgICAgcy0+Y3VyX29mZnNldCA9IDA7CisgICAgaWYgKChr ZXkgJiB+RldfQ0ZHX0FSQ0hfTE9DQUwpID49IEZXX0NGR19NQVhfRU5UUlkpIHsKKyAgICAgICAg cy0+Y3VyX2VudHJ5ID0gRldfQ0ZHX0lOVkFMSUQ7CisgICAgICAgIHJldCA9IDA7CisgICAgfSBl bHNlIHsKKyAgICAgICAgcy0+Y3VyX2VudHJ5ID0ga2V5OworICAgICAgICByZXQgPSAxOworICAg IH0KKworICAgIEZXX0NGR19EUFJJTlRGKCJzZWxlY3Qga2V5ICVkICglc2ZvdW5kKVxuIiwga2V5 LCByZXQgPyAiIiA6ICJub3QgIik7CisKKyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgdWlu dDhfdCBmd19jZmdfcmVhZChGV0NmZ1N0YXRlICpzKQoreworICAgIGludCBhcmNoID0gISEocy0+ Y3VyX2VudHJ5ICYgRldfQ0ZHX0FSQ0hfTE9DQUwpOworICAgIEZXQ2ZnRW50cnkgKmUgPSAmcy0+ ZW50cmllc1thcmNoXVtzLT5jdXJfZW50cnkgJiB+RldfQ0ZHX0FSQ0hfTE9DQUxdOworICAgIHVp bnQ4X3QgcmV0OworCisgICAgaWYgKHMtPmN1cl9lbnRyeSA9PSBGV19DRkdfSU5WQUxJRCB8fCAh ZS0+ZGF0YSB8fCBzLT5jdXJfb2Zmc2V0ID49IGUtPmxlbikKKyAgICAgICAgcmV0ID0gMDsKKyAg ICBlbHNlCisgICAgICAgIHJldCA9IGUtPmRhdGFbcy0+Y3VyX29mZnNldCsrXTsKKworICAgIEZX X0NGR19EUFJJTlRGKCJyZWFkICVkXG4iLCByZXQpOworCisgICAgcmV0dXJuIHJldDsKK30KKwor c3RhdGljIHVpbnQzMl90IGZ3X2NmZ19pb19yZWFkYih2b2lkICpvcGFxdWUsIHVpbnQzMl90IGFk ZHIpCit7CisgICAgcmV0dXJuIGZ3X2NmZ19yZWFkKG9wYXF1ZSk7Cit9CisKK3N0YXRpYyB2b2lk IGZ3X2NmZ19pb193cml0ZXcodm9pZCAqb3BhcXVlLCB1aW50MzJfdCBhZGRyLCB1aW50MzJfdCB2 YWx1ZSkKK3sKKyAgICBmd19jZmdfc2VsZWN0KG9wYXF1ZSwgKHVpbnQxNl90KXZhbHVlKTsKK30K Kworc3RhdGljIHVpbnQzMl90IGZ3X2NmZ19tZW1fcmVhZGIodm9pZCAqb3BhcXVlLCB0YXJnZXRf cGh5c19hZGRyX3QgYWRkcikKK3sKKyAgICByZXR1cm4gZndfY2ZnX3JlYWQob3BhcXVlKTsKK30K Kworc3RhdGljIHZvaWQgZndfY2ZnX21lbV93cml0ZXcodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5 c19hZGRyX3QgYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZh bHVlKQoreworICAgIGZ3X2NmZ19zZWxlY3Qob3BhcXVlLCAodWludDE2X3QpdmFsdWUpOworfQor CitzdGF0aWMgQ1BVUmVhZE1lbW9yeUZ1bmMgKmZ3X2NmZ19tZW1fcmVhZFszXSA9IHsKKyAgICBm d19jZmdfbWVtX3JlYWRiLAorICAgIE5VTEwsCisgICAgTlVMTCwKK307CisKK3N0YXRpYyBDUFVX cml0ZU1lbW9yeUZ1bmMgKmZ3X2NmZ19tZW1fd3JpdGVbM10gPSB7CisgICAgTlVMTCwKKyAgICBm d19jZmdfbWVtX3dyaXRldywKKyAgICBOVUxMLAorfTsKKworc3RhdGljIHZvaWQgZndfY2ZnX3Jl c2V0KHZvaWQgKm9wYXF1ZSkKK3sKKyAgICBGV0NmZ1N0YXRlICpzID0gb3BhcXVlOworCisgICAg ZndfY2ZnX3NlbGVjdChzLCAwKTsKK30KKworc3RhdGljIHZvaWQgZndfY2ZnX3NhdmUoUUVNVUZp bGUgKmYsIHZvaWQgKm9wYXF1ZSkKK3sKKyAgICBGV0NmZ1N0YXRlICpzID0gb3BhcXVlOworCisg ICAgcWVtdV9wdXRfYmUxNnMoZiwgJnMtPmN1cl9lbnRyeSk7CisgICAgcWVtdV9wdXRfYmUxNnMo ZiwgJnMtPmN1cl9vZmZzZXQpOworfQorCitzdGF0aWMgaW50IGZ3X2NmZ19sb2FkKFFFTVVGaWxl ICpmLCB2b2lkICpvcGFxdWUsIGludCB2ZXJzaW9uX2lkKQoreworICAgIEZXQ2ZnU3RhdGUgKnMg PSBvcGFxdWU7CisKKyAgICBpZiAodmVyc2lvbl9pZCA+IDEpCisgICAgICAgIHJldHVybiAtRUlO VkFMOworCisgICAgcWVtdV9nZXRfYmUxNnMoZiwgJnMtPmN1cl9lbnRyeSk7CisgICAgcWVtdV9n ZXRfYmUxNnMoZiwgJnMtPmN1cl9vZmZzZXQpOworCisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBm d19jZmdfYWRkX2J5dGVzKHZvaWQgKm9wYXF1ZSwgdWludDE2X3Qga2V5LCBjb25zdCB1aW50OF90 ICpkYXRhLCB1aW50MTZfdCBsZW4pCit7CisgICAgRldDZmdTdGF0ZSAqcyA9IG9wYXF1ZTsKKyAg ICBpbnQgYXJjaCA9ICEhKGtleSAmIEZXX0NGR19BUkNIX0xPQ0FMKTsKKworICAgIGtleSAmPSAo fkZXX0NGR19BUkNIX0xPQ0FMKTsKKworICAgIGlmIChrZXkgPj0gRldfQ0ZHX01BWF9FTlRSWSkK KyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzLT5lbnRyaWVzW2FyY2hdW2tleV0uZGF0YSA9IGRh dGE7CisgICAgcy0+ZW50cmllc1thcmNoXVtrZXldLmxlbiA9IGxlbjsKKworICAgIHJldHVybiAx OworfQorCitpbnQgZndfY2ZnX2FkZF9pMTYodm9pZCAqb3BhcXVlLCB1aW50MTZfdCBrZXksIHVp bnQxNl90IHZhbHVlKQoreworICAgIHVpbnQxNl90ICpjb3B5OworCisgICAgY29weSA9IHFlbXVf bWFsbG9jKHNpemVvZih2YWx1ZSkpOworICAgIGlmICghY29weSkKKyAgICAgICAgcmV0dXJuIDA7 CisgICAgKmNvcHkgPSBjcHVfdG9fbGUxNih2YWx1ZSk7CisgICAgcmV0dXJuIGZ3X2NmZ19hZGRf Ynl0ZXMob3BhcXVlLCBrZXksICh1aW50OF90ICopY29weSwgc2l6ZW9mKHZhbHVlKSk7Cit9CisK K2ludCBmd19jZmdfYWRkX2kzMih2b2lkICpvcGFxdWUsIHVpbnQxNl90IGtleSwgdWludDMyX3Qg dmFsdWUpCit7CisgICAgdWludDMyX3QgKmNvcHk7CisKKyAgICBjb3B5ID0gcWVtdV9tYWxsb2Mo c2l6ZW9mKHZhbHVlKSk7CisgICAgaWYgKCFjb3B5KQorICAgICAgICByZXR1cm4gMDsKKyAgICAq Y29weSA9IGNwdV90b19sZTMyKHZhbHVlKTsKKyAgICByZXR1cm4gZndfY2ZnX2FkZF9ieXRlcyhv cGFxdWUsIGtleSwgKHVpbnQ4X3QgKiljb3B5LCBzaXplb2YodmFsdWUpKTsKK30KKworaW50IGZ3 X2NmZ19hZGRfaTY0KHZvaWQgKm9wYXF1ZSwgdWludDE2X3Qga2V5LCB1aW50NjRfdCB2YWx1ZSkK K3sKKyAgICB1aW50NjRfdCAqY29weTsKKworICAgIGNvcHkgPSBxZW11X21hbGxvYyhzaXplb2Yo dmFsdWUpKTsKKyAgICBpZiAoIWNvcHkpCisgICAgICAgIHJldHVybiAwOworICAgICpjb3B5ID0g Y3B1X3RvX2xlNjQodmFsdWUpOworICAgIHJldHVybiBmd19jZmdfYWRkX2J5dGVzKG9wYXF1ZSwg a2V5LCAodWludDhfdCAqKWNvcHksIHNpemVvZih2YWx1ZSkpOworfQorCit2b2lkICpmd19jZmdf aW5pdCh1aW50MzJfdCBwb3J0LCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkcikKK3sKKyAgICBGV0Nm Z1N0YXRlICpzOworICAgIGludCBpb19tZW1vcnk7CisKKyAgICBzID0gcWVtdV9tYWxsb2N6KHNp emVvZihGV0NmZ1N0YXRlKSk7CisgICAgaWYgKCFzKQorICAgICAgICByZXR1cm4gTlVMTDsKKwor ICAgIGlmIChwb3J0KSB7CisgICAgICAgIHJlZ2lzdGVyX2lvcG9ydF9yZWFkKHBvcnQsIDEsIDEs IGZ3X2NmZ19pb19yZWFkYiwgcyk7CisgICAgICAgIHJlZ2lzdGVyX2lvcG9ydF93cml0ZShwb3J0 LCAyLCAyLCBmd19jZmdfaW9fd3JpdGV3LCBzKTsKKyAgICB9CisgICAgaWYgKGFkZHIpIHsKKyAg ICAgICAgaW9fbWVtb3J5ID0gY3B1X3JlZ2lzdGVyX2lvX21lbW9yeSgwLCBmd19jZmdfbWVtX3Jl YWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZndfY2ZnX21l bV93cml0ZSwgcyk7CisgICAgICAgIGNwdV9yZWdpc3Rlcl9waHlzaWNhbF9tZW1vcnkoYWRkciwg RldfQ0ZHX1NJWkUsIGlvX21lbW9yeSk7CisKKyAgICB9CisgICAgZndfY2ZnX2FkZF9ieXRlcyhz LCBGV19DRkdfU0lHTkFUVVJFLCAodWludDhfdCAqKSJRRU1VIiwgNCk7CisgICAgcmVnaXN0ZXJf c2F2ZXZtKCJmd19jZmciLCAtMSwgMSwgZndfY2ZnX3NhdmUsIGZ3X2NmZ19sb2FkLCBzKTsKKyAg ICBxZW11X3JlZ2lzdGVyX3Jlc2V0KGZ3X2NmZ19yZXNldCwgcyk7CisgICAgZndfY2ZnX3Jlc2V0 KHMpOworCisgICAgcmV0dXJuIHM7Cit9CkluZGV4OiBxZW11L2h3L2Z3X2NmZy5oCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysg cWVtdS9ody9md19jZmcuaAkyMDA4LTA4LTMxIDE0OjI5OjQ2LjAwMDAwMDAwMCArMDAwMApAQCAt MCwwICsxLDIxIEBACisjaWZuZGVmIEZXX0NGR19ICisjZGVmaW5lIEZXX0NGR19ICisKKyNkZWZp bmUgRldfQ0ZHX1NJR05BVFVSRSAgICAgICAgMHgwMAorI2RlZmluZSBGV19DRkdfSUQgICAgICAg ICAgICAgICAweDAxCisjZGVmaW5lIEZXX0NGR19NQVhfRU5UUlkgICAgICAgIDB4MTAKKworI2Rl ZmluZSBGV19DRkdfQVJDSF9MT0NBTCAgICAgICAweDgwMDAKKworI2RlZmluZSBGV19DRkdfSU5W QUxJRCAgICAgICAgICAweGZmZmYKKworI2lmbmRlZiBOT19RRU1VX1BST1RPUworaW50IGZ3X2Nm Z19hZGRfYnl0ZXModm9pZCAqb3BhcXVlLCB1aW50MTZfdCBrZXksIGNvbnN0IHVpbnQ4X3QgKmRh dGEsCisgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBsZW4pOworaW50IGZ3X2NmZ19hZGRf aTE2KHZvaWQgKm9wYXF1ZSwgdWludDE2X3Qga2V5LCB1aW50MTZfdCB2YWx1ZSk7CitpbnQgZndf Y2ZnX2FkZF9pMzIodm9pZCAqb3BhcXVlLCB1aW50MTZfdCBrZXksIHVpbnQzMl90IHZhbHVlKTsK K2ludCBmd19jZmdfYWRkX2k2NCh2b2lkICpvcGFxdWUsIHVpbnQxNl90IGtleSwgdWludDY0X3Qg dmFsdWUpOwordm9pZCAqZndfY2ZnX2luaXQodWludDMyX3QgcG9ydCwgdGFyZ2V0X3BoeXNfYWRk cl90IGFkZHIpOworI2VuZGlmIC8qIE5PX1FFTVVfUFJPVE9TICovCisKKyNlbmRpZgo= ------=_Part_32987_12511771.1220208080451 Content-Type: plain/text; name=fw_cfg_add_common_keys.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkk0ait0 Content-Disposition: attachment; filename=fw_cfg_add_common_keys.diff SW5kZXg6IHFlbXUvaHcvZndfY2ZnLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L2Z3X2Nm Zy5jCTIwMDgtMDgtMzEgMTQ6MzA6MTkuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L2Z3X2Nm Zy5jCTIwMDgtMDgtMzEgMTQ6MzA6MTkuMDAwMDAwMDAwICswMDAwCkBAIC0xOTcsNiArMTk3LDcg QEAKIHsKICAgICBGV0NmZ1N0YXRlICpzOwogICAgIGludCBpb19tZW1vcnk7CisgICAgZXh0ZXJu IGludCBub2dyYXBoaWM7CiAKICAgICBzID0gcWVtdV9tYWxsb2N6KHNpemVvZihGV0NmZ1N0YXRl KSk7CiAgICAgaWYgKCFzKQpAQCAtMjE0LDYgKzIxNSw5IEBACiAgICAgfQogICAgIGZ3X2NmZ19h ZGRfYnl0ZXMocywgRldfQ0ZHX1NJR05BVFVSRSwgKHVpbnQ4X3QgKikiUUVNVSIsIDQpOwogICAg IGZ3X2NmZ19hZGRfYnl0ZXMocywgRldfQ0ZHX1VVSUQsIHFlbXVfdXVpZCwgMTYpOworICAgIGZ3 X2NmZ19hZGRfaTE2KHMsIEZXX0NGR19OT0dSQVBISUMsICh1aW50MTZfdClub2dyYXBoaWMpOwor ICAgIGZ3X2NmZ19hZGRfaTE2KHMsIEZXX0NGR19OQl9DUFVTLCAodWludDE2X3Qpc21wX2NwdXMp OworCiAgICAgcmVnaXN0ZXJfc2F2ZXZtKCJmd19jZmciLCAtMSwgMSwgZndfY2ZnX3NhdmUsIGZ3 X2NmZ19sb2FkLCBzKTsKICAgICBxZW11X3JlZ2lzdGVyX3Jlc2V0KGZ3X2NmZ19yZXNldCwgcyk7 CiAgICAgZndfY2ZnX3Jlc2V0KHMpOwpJbmRleDogcWVtdS9ody9md19jZmcuaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBxZW11Lm9yaWcvaHcvZndfY2ZnLmgJMjAwOC0wOC0zMSAxNDozMDoxOS4wMDAwMDAwMDAg KzAwMDAKKysrIHFlbXUvaHcvZndfY2ZnLmgJMjAwOC0wOC0zMSAxNDozMDoxOS4wMDAwMDAwMDAg KzAwMDAKQEAgLTQsNiArNCwxMCBAQAogI2RlZmluZSBGV19DRkdfU0lHTkFUVVJFICAgICAgICAw eDAwCiAjZGVmaW5lIEZXX0NGR19JRCAgICAgICAgICAgICAgIDB4MDEKICNkZWZpbmUgRldfQ0ZH X1VVSUQgICAgICAgICAgICAgMHgwMgorI2RlZmluZSBGV19DRkdfUkFNX1NJWkUgICAgICAgICAw eDAzCisjZGVmaW5lIEZXX0NGR19OT0dSQVBISUMgICAgICAgIDB4MDQKKyNkZWZpbmUgRldfQ0ZH X05CX0NQVVMgICAgICAgICAgMHgwNQorI2RlZmluZSBGV19DRkdfTUFDSElORV9JRCAgICAgICAw eDA2CiAjZGVmaW5lIEZXX0NGR19NQVhfRU5UUlkgICAgICAgIDB4MTAKIAogI2RlZmluZSBGV19D RkdfQVJDSF9MT0NBTCAgICAgICAweDgwMDAKSW5kZXg6IHFlbXUvaHcvc3VuNHUuYwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBxZW11Lm9yaWcvaHcvc3VuNHUuYwkyMDA4LTA4LTMxIDE0OjI5OjQ1LjAwMDAwMDAw MCArMDAwMAorKysgcWVtdS9ody9zdW40dS5jCTIwMDgtMDgtMzEgMTg6MTI6NTMuMDAwMDAwMDAw ICswMDAwCkBAIC00OSw2ICs0OSw3IEBACiAKIHN0cnVjdCBod2RlZiB7CiAgICAgY29uc3QgY2hh ciAqIGNvbnN0IGRlZmF1bHRfY3B1X21vZGVsOworICAgIHVpbnQxNl90IG1hY2hpbmVfaWQ7CiB9 OwogCiBpbnQgRE1BX2dldF9jaGFubmVsX21vZGUgKGludCBuY2hhbikKQEAgLTQyMCwxNiArNDIx LDI1IEBACiAKICAgICBmd19jZmcgPSBmd19jZmdfaW5pdChCSU9TX0NGR19JT1BPUlQsIDApOwog ICAgIGZ3X2NmZ19hZGRfaTMyKGZ3X2NmZywgRldfQ0ZHX0lELCAxKTsKKyAgICBmd19jZmdfYWRk X2k2NChmd19jZmcsIEZXX0NGR19SQU1fU0laRSwgKHVpbnQ2NF90KXJhbV9zaXplKTsKKyAgICBm d19jZmdfYWRkX2kxNihmd19jZmcsIEZXX0NGR19NQUNISU5FX0lELCBod2RlZi0+bWFjaGluZV9p ZCk7CiB9CiAKK2VudW0geworICAgIHN1bjR1X2lkID0gMCwKKyAgICBzdW40dl9pZCA9IDY0LAor fTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBod2RlZiBod2RlZnNbXSA9IHsKICAgICAvKiBTdW40 dSBnZW5lcmljIFBDLWxpa2UgbWFjaGluZSAqLwogICAgIHsKICAgICAgICAgLmRlZmF1bHRfY3B1 X21vZGVsID0gIlRJIFVsdHJhU3BhcmMgSUkiLAorICAgICAgICAubWFjaGluZV9pZCA9IHN1bjR1 X2lkLAogICAgIH0sCiAgICAgLyogU3VuNHYgZ2VuZXJpYyBQQy1saWtlIG1hY2hpbmUgKi8KICAg ICB7CiAgICAgICAgIC5kZWZhdWx0X2NwdV9tb2RlbCA9ICJTdW4gVWx0cmFTcGFyYyBUMSIsCisg ICAgICAgIC5tYWNoaW5lX2lkID0gc3VuNHZfaWQsCiAgICAgfSwKIH07CiAKSW5kZXg6IHFlbXUv aHcvcGMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvcGMuYwkyMDA4LTA4LTMxIDE0OjMw OjE5LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9wYy5jCTIwMDgtMDgtMzEgMTg6MDA6NTYu MDAwMDAwMDAwICswMDAwCkBAIC01MjEsNiArNTIxLDcgQEAKICAgICBmd19jZmdfYWRkX2kzMihm d19jZmcsIEZXX0NGR19JRCwgMSk7CiAgICAgY3B1X3NwZWVkID0gKHVpbnQxNl90KWdldF9mcmVx KDEsIDEpOwogICAgIGZ3X2NmZ19hZGRfaTE2KGZ3X2NmZywgRldfQ0ZHX1BDX0NQVVNQRUVELCBj cHVfc3BlZWQpOworICAgIGZ3X2NmZ19hZGRfaTY0KGZ3X2NmZywgRldfQ0ZHX1JBTV9TSVpFLCAo dWludDY0X3QpcmFtX3NpemUpOwogfQogCiAvKiBHZW5lcmF0ZSBhbiBpbml0aWFsIGJvb3Qgc2Vj dG9yIHdoaWNoIHNldHMgc3RhdGUgYW5kIGp1bXAgdG8KSW5kZXg6IHFlbXUvaHcvc3VuNG0uYwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvc3VuNG0uYwkyMDA4LTA4LTMxIDE0OjI5OjQ1LjAw MDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9zdW40bS5jCTIwMDgtMDgtMzEgMTg6MzE6MTcuMDAw MDAwMDAwICswMDAwCkBAIC0xMDEsNyArMTAxLDggQEAKICAgICAvLyByZWdpc3RlciBiaXQgbnVt YmVycwogICAgIGludCBpbnRjdGxfZ19pbnRyLCBlc3BfaXJxLCBsZV9pcnEsIGNsb2NrX2lycSwg Y2xvY2sxX2lycTsKICAgICBpbnQgc2VyX2lycSwgbXNfa2JfaXJxLCBmZF9pcnEsIG1lX2lycSwg Y3NfaXJxLCBlY2NfaXJxOwotICAgIGludCBtYWNoaW5lX2lkOyAvLyBGb3IgTlZSQU0KKyAgICB1 aW50OF90IG52cmFtX21hY2hpbmVfaWQ7CisgICAgdWludDE2X3QgbWFjaGluZV9pZDsKICAgICB1 aW50MzJfdCBpb21tdV92ZXJzaW9uOwogICAgIHVpbnQzMl90IGludGJpdF90b19sZXZlbFszMl07 CiAgICAgdWludDY0X3QgbWF4X21lbTsKQEAgLTEyMiw3ICsxMjMsOCBAQAogICAgIC8vIElSUSBu dW1iZXJzIGFyZSBub3QgUElMIG9uZXMsIGJ1dCBTQkkgcmVnaXN0ZXIgYml0IG51bWJlcnMKICAg ICBpbnQgZXNwX2lycSwgbGVfaXJxLCBjbG9ja19pcnEsIGNsb2NrMV9pcnE7CiAgICAgaW50IHNl cl9pcnEsIG1zX2tiX2lycSwgbWVfaXJxOwotICAgIGludCBtYWNoaW5lX2lkOyAvLyBGb3IgTlZS QU0KKyAgICB1aW50OF90IG52cmFtX21hY2hpbmVfaWQ7CisgICAgdWludDE2X3QgbWFjaGluZV9p ZDsKICAgICB1aW50MzJfdCBpb3VuaXRfdmVyc2lvbjsKICAgICB1aW50NjRfdCBtYXhfbWVtOwog ICAgIGNvbnN0IGNoYXIgKiBjb25zdCBkZWZhdWx0X2NwdV9tb2RlbDsKQEAgLTE3OCw3ICsxODAs NyBAQAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpib290X2RldmljZXMsIHJh bV9hZGRyX3QgUkFNX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGtlcm5l bF9zaXplLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGlu dCBkZXB0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IG1hY2hpbmVfaWQsIGNvbnN0IGNo YXIgKmFyY2gpCisgICAgICAgICAgICAgICAgICAgICAgIGludCBudnJhbV9tYWNoaW5lX2lkLCBj b25zdCBjaGFyICphcmNoKQogewogICAgIHVuc2lnbmVkIGludCBpOwogICAgIHVpbnQzMl90IHN0 YXJ0LCBlbmQ7CkBAIC0yNTEsNyArMjUzLDggQEAKICAgICBlbmQgPSAweDFmZDA7CiAgICAgT3Bl bkJJT1NfZmluaXNoX3BhcnRpdGlvbihwYXJ0X2hlYWRlciwgZW5kIC0gc3RhcnQpOwogCi0gICAg U3VuX2luaXRfaGVhZGVyKChzdHJ1Y3QgU3VuX252cmFtICopJmltYWdlWzB4MWZkOF0sIG1hY2Fk ZHIsIG1hY2hpbmVfaWQpOworICAgIFN1bl9pbml0X2hlYWRlcigoc3RydWN0IFN1bl9udnJhbSAq KSZpbWFnZVsweDFmZDhdLCBtYWNhZGRyLAorICAgICAgICAgICAgICAgICAgICBudnJhbV9tYWNo aW5lX2lkKTsKIAogICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YoaW1hZ2UpOyBpKyspCiAgICAg ICAgIG00OHQ1OV93cml0ZShudnJhbSwgaSwgaW1hZ2VbaV0pOwpAQCAtNTY4LDcgKzU3MSw4IEBA CiAKICAgICBudnJhbV9pbml0KG52cmFtLCAodWludDhfdCAqKSZuZF90YWJsZVswXS5tYWNhZGRy LCBrZXJuZWxfY21kbGluZSwKICAgICAgICAgICAgICAgIGJvb3RfZGV2aWNlLCBSQU1fc2l6ZSwg a2VybmVsX3NpemUsIGdyYXBoaWNfd2lkdGgsCi0gICAgICAgICAgICAgICBncmFwaGljX2hlaWdo dCwgZ3JhcGhpY19kZXB0aCwgaHdkZWYtPm1hY2hpbmVfaWQsICJTdW40bSIpOworICAgICAgICAg ICAgICAgZ3JhcGhpY19oZWlnaHQsIGdyYXBoaWNfZGVwdGgsIGh3ZGVmLT5udnJhbV9tYWNoaW5l X2lkLAorICAgICAgICAgICAgICAgIlN1bjRtIik7CiAKICAgICBpZiAoaHdkZWYtPmVjY19iYXNl ICE9ICh0YXJnZXRfcGh5c19hZGRyX3QpLTEpCiAgICAgICAgIGVjY19pbml0KGh3ZGVmLT5lY2Nf YmFzZSwgc2xhdmlvX2lycVtod2RlZi0+ZWNjX2lycV0sCkBAIC01NzYsNiArNTgwLDggQEAKIAog ICAgIGZ3X2NmZyA9IGZ3X2NmZ19pbml0KDAsIENGR19BRERSKTsKICAgICBmd19jZmdfYWRkX2kz Mihmd19jZmcsIEZXX0NGR19JRCwgMSk7CisgICAgZndfY2ZnX2FkZF9pNjQoZndfY2ZnLCBGV19D RkdfUkFNX1NJWkUsICh1aW50NjRfdClyYW1fc2l6ZSk7CisgICAgZndfY2ZnX2FkZF9pMTYoZndf Y2ZnLCBGV19DRkdfTUFDSElORV9JRCwgaHdkZWYtPm1hY2hpbmVfaWQpOwogfQogCiBzdGF0aWMg dm9pZCBzdW40Y19od19pbml0KGNvbnN0IHN0cnVjdCBod2RlZiAqaHdkZWYsIHJhbV9hZGRyX3Qg UkFNX3NpemUsCkBAIC03MjEsMTIgKzcyNywzMCBAQAogCiAgICAgbnZyYW1faW5pdChudnJhbSwg KHVpbnQ4X3QgKikmbmRfdGFibGVbMF0ubWFjYWRkciwga2VybmVsX2NtZGxpbmUsCiAgICAgICAg ICAgICAgICBib290X2RldmljZSwgUkFNX3NpemUsIGtlcm5lbF9zaXplLCBncmFwaGljX3dpZHRo LAotICAgICAgICAgICAgICAgZ3JhcGhpY19oZWlnaHQsIGdyYXBoaWNfZGVwdGgsIGh3ZGVmLT5t YWNoaW5lX2lkLCAiU3VuNGMiKTsKKyAgICAgICAgICAgICAgIGdyYXBoaWNfaGVpZ2h0LCBncmFw aGljX2RlcHRoLCBod2RlZi0+bnZyYW1fbWFjaGluZV9pZCwKKyAgICAgICAgICAgICAgICJTdW40 YyIpOwogCiAgICAgZndfY2ZnID0gZndfY2ZnX2luaXQoMCwgQ0ZHX0FERFIpOwogICAgIGZ3X2Nm Z19hZGRfaTMyKGZ3X2NmZywgRldfQ0ZHX0lELCAxKTsKKyAgICBmd19jZmdfYWRkX2k2NChmd19j ZmcsIEZXX0NGR19SQU1fU0laRSwgKHVpbnQ2NF90KXJhbV9zaXplKTsKKyAgICBmd19jZmdfYWRk X2kxNihmd19jZmcsIEZXX0NGR19NQUNISU5FX0lELCBod2RlZi0+bWFjaGluZV9pZCk7CiB9CiAK K2VudW0geworICAgIHNzMl9pZCA9IDAsCisgICAgc3M1X2lkID0gMzIsCisgICAgdmdlcl9pZCwK KyAgICBseF9pZCwKKyAgICBzczRfaWQsCisgICAgc2Nsc19pZCwKKyAgICBzYm9va19pZCwKKyAg ICBzczEwX2lkID0gNjQsCisgICAgc3MyMF9pZCwKKyAgICBzczYwMG1wX2lkLAorICAgIHNzMTAw MF9pZCA9IDk2LAorICAgIHNzMjAwMF9pZCwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaHdk ZWYgaHdkZWZzW10gPSB7CiAgICAgLyogU1MtNSAqLwogICAgIHsKQEAgLTc2MSw3ICs3ODUsOCBA QAogICAgICAgICAuZmRfaXJxID0gMjIsCiAgICAgICAgIC5tZV9pcnEgPSAzMCwKICAgICAgICAg LmNzX2lycSA9IDUsCi0gICAgICAgIC5tYWNoaW5lX2lkID0gMHg4MCwKKyAgICAgICAgLm52cmFt X21hY2hpbmVfaWQgPSAweDgwLAorICAgICAgICAubWFjaGluZV9pZCA9IHNzNV9pZCwKICAgICAg ICAgLmlvbW11X3ZlcnNpb24gPSAweDA1MDAwMDAwLAogICAgICAgICAuaW50Yml0X3RvX2xldmVs ID0gewogICAgICAgICAgICAgMiwgMywgNSwgNywgOSwgMTEsIDAsIDE0LCAgIDMsIDUsIDcsIDks IDExLCAxMywgMTIsIDEyLApAQCAtODA1LDcgKzgzMCw4IEBACiAgICAgICAgIC5tZV9pcnEgPSAz MCwKICAgICAgICAgLmNzX2lycSA9IC0xLAogICAgICAgICAuZWNjX2lycSA9IDI4LAotICAgICAg ICAubWFjaGluZV9pZCA9IDB4NzIsCisgICAgICAgIC5udnJhbV9tYWNoaW5lX2lkID0gMHg3MiwK KyAgICAgICAgLm1hY2hpbmVfaWQgPSBzczEwX2lkLAogICAgICAgICAuaW9tbXVfdmVyc2lvbiA9 IDB4MDMwMDAwMDAsCiAgICAgICAgIC5pbnRiaXRfdG9fbGV2ZWwgPSB7CiAgICAgICAgICAgICAy LCAzLCA1LCA3LCA5LCAxMSwgMCwgMTQsICAgMywgNSwgNywgOSwgMTEsIDEzLCAxMiwgMTIsCkBA IC04NDksNyArODc1LDggQEAKICAgICAgICAgLm1lX2lycSA9IDMwLAogICAgICAgICAuY3NfaXJx ID0gLTEsCiAgICAgICAgIC5lY2NfaXJxID0gMjgsCi0gICAgICAgIC5tYWNoaW5lX2lkID0gMHg3 MSwKKyAgICAgICAgLm52cmFtX21hY2hpbmVfaWQgPSAweDcxLAorICAgICAgICAubWFjaGluZV9p ZCA9IHNzNjAwbXBfaWQsCiAgICAgICAgIC5pb21tdV92ZXJzaW9uID0gMHgwMTAwMDAwMCwKICAg ICAgICAgLmludGJpdF90b19sZXZlbCA9IHsKICAgICAgICAgICAgIDIsIDMsIDUsIDcsIDksIDEx LCAwLCAxNCwgICAzLCA1LCA3LCA5LCAxMSwgMTMsIDEyLCAxMiwKQEAgLTg5Myw3ICs5MjAsOCBA QAogICAgICAgICAubWVfaXJxID0gMzAsCiAgICAgICAgIC5jc19pcnEgPSAtMSwKICAgICAgICAg LmVjY19pcnEgPSAyOCwKLSAgICAgICAgLm1hY2hpbmVfaWQgPSAweDcyLAorICAgICAgICAubnZy YW1fbWFjaGluZV9pZCA9IDB4NzIsCisgICAgICAgIC5tYWNoaW5lX2lkID0gc3MyMF9pZCwKICAg ICAgICAgLmlvbW11X3ZlcnNpb24gPSAweDEzMDAwMDAwLAogICAgICAgICAuaW50Yml0X3RvX2xl dmVsID0gewogICAgICAgICAgICAgMiwgMywgNSwgNywgOSwgMTEsIDAsIDE0LCAgIDMsIDUsIDcs IDksIDExLCAxMywgMTIsIDEyLApAQCAtOTMzLDcgKzk2MSw4IEBACiAgICAgICAgIC5mZF9pcnEg PSAxLAogICAgICAgICAubWVfaXJxID0gMSwKICAgICAgICAgLmNzX2lycSA9IC0xLAotICAgICAg ICAubWFjaGluZV9pZCA9IDB4NTUsCisgICAgICAgIC5udnJhbV9tYWNoaW5lX2lkID0gMHg1NSwK KyAgICAgICAgLm1hY2hpbmVfaWQgPSBzczJfaWQsCiAgICAgICAgIC5tYXhfbWVtID0gMHgxMDAw MDAwMCwKICAgICAgICAgLmRlZmF1bHRfY3B1X21vZGVsID0gIkN5cHJlc3MgQ1k3QzYwMSIsCiAg ICAgfSwKQEAgLTk3MCw3ICs5OTksOCBAQAogICAgICAgICAuZmRfaXJxID0gMjIsCiAgICAgICAg IC5tZV9pcnEgPSAzMCwKICAgICAgICAgLmNzX2lycSA9IC0xLAotICAgICAgICAubWFjaGluZV9p ZCA9IDB4ODAsCisgICAgICAgIC5udnJhbV9tYWNoaW5lX2lkID0gMHg4MCwKKyAgICAgICAgLm1h Y2hpbmVfaWQgPSB2Z2VyX2lkLAogICAgICAgICAuaW9tbXVfdmVyc2lvbiA9IDB4MDUwMDAwMDAs CiAgICAgICAgIC5pbnRiaXRfdG9fbGV2ZWwgPSB7CiAgICAgICAgICAgICAyLCAzLCA1LCA3LCA5 LCAxMSwgMCwgMTQsICAgMywgNSwgNywgOSwgMTEsIDEzLCAxMiwgMTIsCkBAIC0xMDEyLDcgKzEw NDIsOCBAQAogICAgICAgICAuZmRfaXJxID0gMjIsCiAgICAgICAgIC5tZV9pcnEgPSAzMCwKICAg ICAgICAgLmNzX2lycSA9IC0xLAotICAgICAgICAubWFjaGluZV9pZCA9IDB4ODAsCisgICAgICAg IC5udnJhbV9tYWNoaW5lX2lkID0gMHg4MCwKKyAgICAgICAgLm1hY2hpbmVfaWQgPSBseF9pZCwK ICAgICAgICAgLmlvbW11X3ZlcnNpb24gPSAweDA0MDAwMDAwLAogICAgICAgICAuaW50Yml0X3Rv X2xldmVsID0gewogICAgICAgICAgICAgMiwgMywgNSwgNywgOSwgMTEsIDAsIDE0LCAgIDMsIDUs IDcsIDksIDExLCAxMywgMTIsIDEyLApAQCAtMTA1NCw3ICsxMDg1LDggQEAKICAgICAgICAgLmZk X2lycSA9IDIyLAogICAgICAgICAubWVfaXJxID0gMzAsCiAgICAgICAgIC5jc19pcnEgPSA1LAot ICAgICAgICAubWFjaGluZV9pZCA9IDB4ODAsCisgICAgICAgIC5udnJhbV9tYWNoaW5lX2lkID0g MHg4MCwKKyAgICAgICAgLm1hY2hpbmVfaWQgPSBzczRfaWQsCiAgICAgICAgIC5pb21tdV92ZXJz aW9uID0gMHgwNTAwMDAwMCwKICAgICAgICAgLmludGJpdF90b19sZXZlbCA9IHsKICAgICAgICAg ICAgIDIsIDMsIDUsIDcsIDksIDExLCAwLCAxNCwgICAzLCA1LCA3LCA5LCAxMSwgMTMsIDEyLCAx MiwKQEAgLTEwOTYsNyArMTEyOCw4IEBACiAgICAgICAgIC5mZF9pcnEgPSAyMiwKICAgICAgICAg Lm1lX2lycSA9IDMwLAogICAgICAgICAuY3NfaXJxID0gLTEsCi0gICAgICAgIC5tYWNoaW5lX2lk ID0gMHg4MCwKKyAgICAgICAgLm52cmFtX21hY2hpbmVfaWQgPSAweDgwLAorICAgICAgICAubWFj aGluZV9pZCA9IHNjbHNfaWQsCiAgICAgICAgIC5pb21tdV92ZXJzaW9uID0gMHgwNTAwMDAwMCwK ICAgICAgICAgLmludGJpdF90b19sZXZlbCA9IHsKICAgICAgICAgICAgIDIsIDMsIDUsIDcsIDks IDExLCAwLCAxNCwgICAzLCA1LCA3LCA5LCAxMSwgMTMsIDEyLCAxMiwKQEAgLTExMzgsNyArMTE3 MSw4IEBACiAgICAgICAgIC5mZF9pcnEgPSAyMiwKICAgICAgICAgLm1lX2lycSA9IDMwLAogICAg ICAgICAuY3NfaXJxID0gLTEsCi0gICAgICAgIC5tYWNoaW5lX2lkID0gMHg4MCwKKyAgICAgICAg Lm52cmFtX21hY2hpbmVfaWQgPSAweDgwLAorICAgICAgICAubWFjaGluZV9pZCA9IHNib29rX2lk LAogICAgICAgICAuaW9tbXVfdmVyc2lvbiA9IDB4MDUwMDAwMDAsCiAgICAgICAgIC5pbnRiaXRf dG9fbGV2ZWwgPSB7CiAgICAgICAgICAgICAyLCAzLCA1LCA3LCA5LCAxMSwgMCwgMTQsICAgMywg NSwgNywgOSwgMTEsIDEzLCAxMiwgMTIsCkBAIC0xMzU5LDcgKzEzOTMsOCBAQAogICAgICAgICAu Y2xvY2sxX2lycSA9IDEwLAogICAgICAgICAubXNfa2JfaXJxID0gMTIsCiAgICAgICAgIC5zZXJf aXJxID0gMTIsCi0gICAgICAgIC5tYWNoaW5lX2lkID0gMHg4MCwKKyAgICAgICAgLm52cmFtX21h Y2hpbmVfaWQgPSAweDgwLAorICAgICAgICAubWFjaGluZV9pZCA9IHNzMTAwMF9pZCwKICAgICAg ICAgLmlvdW5pdF92ZXJzaW9uID0gMHgwMzAwMDAwMCwKICAgICAgICAgLm1heF9tZW0gPSAweGYw MDAwMDAwMFVMTCwKICAgICAgICAgLmRlZmF1bHRfY3B1X21vZGVsID0gIlRJIFN1cGVyU3BhcmMg SUkiLApAQCAtMTM5Miw3ICsxNDI3LDggQEAKICAgICAgICAgLmNsb2NrMV9pcnEgPSAxMCwKICAg ICAgICAgLm1zX2tiX2lycSA9IDEyLAogICAgICAgICAuc2VyX2lycSA9IDEyLAotICAgICAgICAu bWFjaGluZV9pZCA9IDB4ODAsCisgICAgICAgIC5udnJhbV9tYWNoaW5lX2lkID0gMHg4MCwKKyAg ICAgICAgLm1hY2hpbmVfaWQgPSBzczIwMDBfaWQsCiAgICAgICAgIC5pb3VuaXRfdmVyc2lvbiA9 IDB4MDMwMDAwMDAsCiAgICAgICAgIC5tYXhfbWVtID0gMHhmMDAwMDAwMDBVTEwsCiAgICAgICAg IC5kZWZhdWx0X2NwdV9tb2RlbCA9ICJUSSBTdXBlclNwYXJjIElJIiwKQEAgLTE1MzgsMTAgKzE1 NzQsMTMgQEAKIAogICAgIG52cmFtX2luaXQobnZyYW0sICh1aW50OF90ICopJm5kX3RhYmxlWzBd Lm1hY2FkZHIsIGtlcm5lbF9jbWRsaW5lLAogICAgICAgICAgICAgICAgYm9vdF9kZXZpY2UsIFJB TV9zaXplLCBrZXJuZWxfc2l6ZSwgZ3JhcGhpY193aWR0aCwKLSAgICAgICAgICAgICAgIGdyYXBo aWNfaGVpZ2h0LCBncmFwaGljX2RlcHRoLCBod2RlZi0+bWFjaGluZV9pZCwgIlN1bjRkIik7Cisg ICAgICAgICAgICAgICBncmFwaGljX2hlaWdodCwgZ3JhcGhpY19kZXB0aCwgaHdkZWYtPm52cmFt X21hY2hpbmVfaWQsCisgICAgICAgICAgICAgICAiU3VuNGQiKTsKIAogICAgIGZ3X2NmZyA9IGZ3 X2NmZ19pbml0KDAsIENGR19BRERSKTsKICAgICBmd19jZmdfYWRkX2kzMihmd19jZmcsIEZXX0NG R19JRCwgMSk7CisgICAgZndfY2ZnX2FkZF9pNjQoZndfY2ZnLCBGV19DRkdfUkFNX1NJWkUsICh1 aW50NjRfdClyYW1fc2l6ZSk7CisgICAgZndfY2ZnX2FkZF9pMTYoZndfY2ZnLCBGV19DRkdfTUFD SElORV9JRCwgaHdkZWYtPm1hY2hpbmVfaWQpOwogfQogCiAvKiBTUEFSQ3NlcnZlciAxMDAwIGhh cmR3YXJlIGluaXRpYWxpc2F0aW9uICovCg== ------=_Part_32987_12511771.1220208080451 Content-Type: plain/text; name=fw_cfg_add_sparc_keys.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkk0axp1 Content-Disposition: attachment; filename=fw_cfg_add_sparc_keys.diff SW5kZXg6IHFlbXUvaHcvc3VuNG0uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvc3VuNG0u YwkyMDA4LTA4LTMxIDE4OjMxOjE3LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9zdW40bS5j CTIwMDgtMDgtMzEgMTg6MzE6MjAuMDAwMDAwMDAwICswMDAwCkBAIC04MCw2ICs4MCw3IEBACiAj ZGVmaW5lIFBST01fVkFERFIgICAgICAgICAgIDB4ZmZkMDAwMDAKICNkZWZpbmUgUFJPTV9GSUxF TkFNRSAgICAgICAgIm9wZW5iaW9zLXNwYXJjMzIiCiAjZGVmaW5lIENGR19BRERSICAgICAgICAg ICAgIDB4ZDAwMDAwNTEwVUxMCisjZGVmaW5lIEZXX0NGR19TVU40TV9ERVBUSCAgIChGV19DRkdf QVJDSF9MT0NBTCArIDB4MDApCiAKIC8vIENvbnRyb2wgcGxhbmUsIDgtYml0IGFuZCAyNC1iaXQg cGxhbmVzCiAjZGVmaW5lIFRDWF9TSVpFICAgICAgICAgICAgICg5ICogMTAyNCAqIDEwMjQpCkBA IC01ODIsNiArNTgzLDcgQEAKICAgICBmd19jZmdfYWRkX2kzMihmd19jZmcsIEZXX0NGR19JRCwg MSk7CiAgICAgZndfY2ZnX2FkZF9pNjQoZndfY2ZnLCBGV19DRkdfUkFNX1NJWkUsICh1aW50NjRf dClyYW1fc2l6ZSk7CiAgICAgZndfY2ZnX2FkZF9pMTYoZndfY2ZnLCBGV19DRkdfTUFDSElORV9J RCwgaHdkZWYtPm1hY2hpbmVfaWQpOworICAgIGZ3X2NmZ19hZGRfaTE2KGZ3X2NmZywgRldfQ0ZH X1NVTjRNX0RFUFRILCBncmFwaGljX2RlcHRoKTsKIH0KIAogc3RhdGljIHZvaWQgc3VuNGNfaHdf aW5pdChjb25zdCBzdHJ1Y3QgaHdkZWYgKmh3ZGVmLCByYW1fYWRkcl90IFJBTV9zaXplLAo= ------=_Part_32987_12511771.1220208080451 Content-Type: plain/text; name=openbios_new_fw_abi.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkk0b3zo Content-Disposition: attachment; filename=openbios_new_fw_abi.diff SW5kZXg6IG9wZW5iaW9zLXF1aWx0L2luY2x1ZGUvb3BlbmJpb3MvZndfY2ZnLmgKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKyBv cGVuYmlvcy1xdWlsdC9pbmNsdWRlL29wZW5iaW9zL2Z3X2NmZy5oCTIwMDgtMDgtMzEgMTI6NDI6 MDUuMDAwMDAwMDAwICswMDAwCkBAIC0wLDAgKzEsMjQgQEAKKyNpZm5kZWYgRldfQ0ZHX0gKKyNk ZWZpbmUgRldfQ0ZHX0gKKworI2RlZmluZSBGV19DRkdfU0lHTkFUVVJFICAgICAgICAweDAwCisj ZGVmaW5lIEZXX0NGR19JRCAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgRldfQ0ZHX1VVSUQg ICAgICAgICAgICAgMHgwMgorI2RlZmluZSBGV19DRkdfUkFNX1NJWkUgICAgICAgICAweDAzCisj ZGVmaW5lIEZXX0NGR19OT0dSQVBISUMgICAgICAgIDB4MDQKKyNkZWZpbmUgRldfQ0ZHX05CX0NQ VVMgICAgICAgICAgMHgwNQorI2RlZmluZSBGV19DRkdfTUFDSElORV9JRCAgICAgICAweDA2Cisj ZGVmaW5lIEZXX0NGR19NQVhfRU5UUlkgICAgICAgIDB4MTAKKworI2RlZmluZSBGV19DRkdfQVJD SF9MT0NBTCAgICAgICAweDgwMDAKKworI2lmbmRlZiBOT19RRU1VX1BST1RPUworaW50IGZ3X2Nm Z19hZGRfYnl0ZXModm9pZCAqb3BhcXVlLCB1aW50MTZfdCBrZXksIGNvbnN0IHVpbnQ4X3QgKmRh dGEsCisgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBsZW4pOworaW50IGZ3X2NmZ19hZGRf aTE2KHZvaWQgKm9wYXF1ZSwgdWludDE2X3Qga2V5LCB1aW50MTZfdCB2YWx1ZSk7CitpbnQgZndf Y2ZnX2FkZF9pMzIodm9pZCAqb3BhcXVlLCB1aW50MTZfdCBrZXksIHVpbnQzMl90IHZhbHVlKTsK K2ludCBmd19jZmdfYWRkX2k2NCh2b2lkICpvcGFxdWUsIHVpbnQxNl90IGtleSwgdWludDY0X3Qg dmFsdWUpOwordm9pZCAqZndfY2ZnX2luaXQodWludDMyX3QgcG9ydCwgdGFyZ2V0X3BoeXNfYWRk cl90IGFkZHIpOworI2VuZGlmIC8qIE5PX1FFTVVfUFJPVE9TICovCisKKyNlbmRpZgpJbmRleDog b3BlbmJpb3MtcXVpbHQvYXJjaC9zcGFyYzY0L2VudHJ5LlMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gb3BlbmJp b3MtcXVpbHQub3JpZy9hcmNoL3NwYXJjNjQvZW50cnkuUwkyMDA4LTA4LTMwIDE1OjQ1OjU4LjAw MDAwMDAwMCArMDAwMAorKysgb3BlbmJpb3MtcXVpbHQvYXJjaC9zcGFyYzY0L2VudHJ5LlMJMjAw OC0wOC0zMSAxMjo0Mjo1OC4wMDAwMDAwMDAgKzAwMDAKQEAgLTExLDEwICsxMSwxMSBAQAogI2lu Y2x1ZGUgImFzaS5oIgogI2luY2x1ZGUgInBzdGF0ZS5oIgogI2luY2x1ZGUgImxzdS5oIgotI2Rl ZmluZSBfX0FTU0VNQkxZX18KLSNpbmNsdWRlICJvcGVuYmlvcy9maXJtd2FyZV9hYmkuaCIKKyNk ZWZpbmUgTk9fUUVNVV9QUk9UT1MKKyNpbmNsdWRlICJvcGVuYmlvcy9md19jZmcuaCIKIAogI2Rl ZmluZSBQUk9NX0FERFIgMHgxZmZmMDAwMDAwMAorI2RlZmluZSBDRkdfQUREUiAgMHgxZmUwMjAw MDUxMAogCiAgICAgICAgIC5nbG9ibAllbnRyeSwgX2VudHJ5CiAKQEAgLTUyLDU4ICs1Myw2MSBA QAogICAgICAgICAhIERpc2FibGUgSS9EIE1NVXMgYW5kIGNhY2hlcwogICAgICAgICBzdHhhICAg ICVnMCwgWyVnMF0gQVNJX0xTVV9DT05UUk9MCiAKLSAgICAgICAgISBHZXQgbWVtb3J5IHNpemUg ZnJvbSBOVlJBTQotICAgICAgICBzZXR4ICAgIDB4MWZlMDIwMDAwNzQsICVnMiwgJWc1Ci0gICAg ICAgIG1vdiAgICAgT0hXX1JBTV9TSVpFLCAlZzIKLSAgICAgICAgc3RiYSAgICAlZzIsIFslZzVd IEFTSV9QSFlTX0JZUEFTU19FQ19FCi0gICAgICAgIGFkZCAgICAgJWc1LCAxLCAlZzEKLSAgICAg ICAgc3RiYSAgICAlZzAsIFslZzFdIEFTSV9QSFlTX0JZUEFTU19FQ19FCi0gICAgICAgIGFkZCAg ICAgJWcxLCAyLCAlZzEKLQlsZHViYQlbJWcxXSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWc0Ci0K LSAgICAgICAgc2xsICAgICAlZzQsIDgsICVnNAotICAgICAgICBpbmMgICAgICVnMgotICAgICAg ICBzdGJhICAgICVnMiwgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLQlsZHViYQlbJWcxXSBB U0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgICEgQ2hlY2sgc2lnbmF0dXJlICJRRU1V IgorICAgICAgICBzZXR4ICAgIENGR19BRERSLCAlZzIsICVnNQorICAgICAgICBtb3YgICAgIEZX X0NGR19TSUdOQVRVUkUsICVnMgorICAgICAgICBzdGhhICAgICVnMiwgWyVnNV0gQVNJX1BIWVNf QllQQVNTX0VDX0UKKyAgICAgICAgbGR1YmEgICBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwg JWcyCisgICAgICAgIGNtcCAgICAgJWcyLCAnUScKKyAgICAgICAgYm5lICAgICBiYWRfY29uZgor ICAgICAgICAgbm9wCisgICAgICAgIGxkdWJhICAgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0Us ICVnMgorICAgICAgICBjbXAgICAgICVnMiwgJ0UnCisgICAgICAgIGJuZSAgICAgYmFkX2NvbmYK KyAgICAgICAgIG5vcAorICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19F LCAlZzIKKyAgICAgICAgY21wICAgICAlZzIsICdNJworICAgICAgICBibmUgICAgIGJhZF9jb25m CisgICAgICAgICBub3AKKyAgICAgICAgbGR1YmEgICBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNf RSwgJWcyCisgICAgICAgIGNtcCAgICAgJWcyLCAnVScKKyAgICAgICAgYm5lICAgICBiYWRfY29u ZgorICAgICAgICAgbm9wCisKKyAgICAgICAgISBHZXQgbWVtb3J5IHNpemUgZnJvbSBjb25maWd1 cmF0aW9uIGRldmljZQorICAgICAgICAhIE5COiBsaXR0bGUgZW5kaWFuIGZvcm1hdAorICAgICAg ICBtb3YgICAgIEZXX0NGR19SQU1fU0laRSwgJWcyCisgICAgICAgIHN0aGEgICAgJWcyLCBbJWc1 XSBBU0lfUEhZU19CWVBBU1NfRUNfRQorICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZ UEFTU19FQ19FLCAlZzQKKworICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19F Q19FLCAlZzMKKyAgICAgICAgc2xseCAgICAlZzMsIDgsICVnMwogICAgICAgICBvciAgICAgICVn MywgJWc0LCAlZzQKIAotICAgICAgICBzbGwgICAgICVnNCwgOCwgJWc0Ci0gICAgICAgIGluYyAg ICAgJWcyCi0gICAgICAgIHN0YmEgICAgJWcyLCBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRQot CWxkdWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAgICAgICAgbGR1YmEgICBb JWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIHNsbHggICAgJWczLCAxNiwg JWczCiAgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnNAogCi0gICAgICAgIHNsbCAgICAgJWc0 LCA4LCAlZzQKLSAgICAgICAgaW5jICAgICAlZzIKLSAgICAgICAgc3RiYSAgICAlZzIsIFslZzVd IEFTSV9QSFlTX0JZUEFTU19FQ19FCi0JbGR1YmEJWyVnMV0gQVNJX1BIWVNfQllQQVNTX0VDX0Us ICVnMworICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAg ICAgICAgc2xseCAgICAlZzMsIDI0LCAlZzMKICAgICAgICAgb3IgICAgICAlZzMsICVnNCwgJWc0 CiAKLSAgICAgICAgc2xsICAgICAlZzQsIDgsICVnNAotICAgICAgICBpbmMgICAgICVnMgotICAg ICAgICBzdGJhICAgICVnMiwgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLQlsZHViYQlbJWcx XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIGxkdWJhICAgWyVnNV0gQVNJX1BI WVNfQllQQVNTX0VDX0UsICVnMworICAgICAgICBzbGx4ICAgICVnMywgMzIsICVnMwogICAgICAg ICBvciAgICAgICVnMywgJWc0LCAlZzQKIAotICAgICAgICBzbGwgICAgICVnNCwgOCwgJWc0Ci0g ICAgICAgIGluYyAgICAgJWcyCi0gICAgICAgIHN0YmEgICAgJWcyLCBbJWc1XSBBU0lfUEhZU19C WVBBU1NfRUNfRQotCWxkdWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAgICAg ICAgbGR1YmEgICBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIHNsbHgg ICAgJWczLCA0MCwgJWczCiAgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnNAogCi0gICAgICAg IHNsbCAgICAgJWc0LCA4LCAlZzQKLSAgICAgICAgaW5jICAgICAlZzIKLSAgICAgICAgc3RiYSAg ICAlZzIsIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FCi0JbGR1YmEJWyVnMV0gQVNJX1BIWVNf QllQQVNTX0VDX0UsICVnMworICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19F Q19FLCAlZzMKKyAgICAgICAgc2xseCAgICAlZzMsIDQ4LCAlZzMKICAgICAgICAgb3IgICAgICAl ZzMsICVnNCwgJWc0CiAKLSAgICAgICAgc2xsICAgICAlZzQsIDgsICVnNAotICAgICAgICBpbmMg ICAgICVnMgotICAgICAgICBzdGJhICAgICVnMiwgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UK LQlsZHViYQlbJWcxXSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIGxkdWJhICAg WyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UsICVnMworICAgICAgICBzbGx4ICAgICVnMywgNTYs ICVnMwogICAgICAgICBvciAgICAgICVnMywgJWc0LCAlZzEKLQkhICVnMSBjb250YWlucyBlbmQg b2YgbWVtb3J5Ci0KKyAgICAgICAgISAlZzEgY29udGFpbnMgZW5kIG9mIG1lbW9yeQogCiAgICAg ICAgIHNldHggICAgX2VuZCwgJWc3LCAlZzMKICAgICAgICAgc2V0ICAgICAweGZmZmYsICVnMgpA QCAtMzAxLDggKzMwNSw3IEBACiAKICAgICAgICAgLyogV2UgZ2V0IGhlcmUgd2hlbiB0aGUgbWFp biBjb250ZXh0IHN3aXRjaGVzIGJhY2sgdG8KICAgICAgICAgICogdGhlIGJvb3QgY29udGV4dC4K LSAgICAgICAgICogUmV0dXJuIHRvIHByZXZpb3VzIGJvb3Rsb2FkZXIuCiAgICAgICAgICAqLwot ICAgICAgICByZXQKK2JhZF9jb25mOgorICAgICAgICBiICAgICAgIGJhZF9jb25mCiAgICAgICAg ICBub3AKLQpJbmRleDogb3BlbmJpb3MtcXVpbHQvYXJjaC9zcGFyYzY0L29wZW5iaW9zLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gb3BlbmJpb3MtcXVpbHQub3JpZy9hcmNoL3NwYXJjNjQvb3BlbmJpb3MuYwky MDA4LTA4LTMwIDE1OjQ2OjEzLjAwMDAwMDAwMCArMDAwMAorKysgb3BlbmJpb3MtcXVpbHQvYXJj aC9zcGFyYzY0L29wZW5iaW9zLmMJMjAwOC0wOC0zMSAxMjo0MzoxMi4wMDAwMDAwMDAgKzAwMDAK QEAgLTI0LDYgKzI0LDEwIEBACiAjaW5jbHVkZSAiYXNpLmgiCiAjaW5jbHVkZSAic3BpdGZpcmUu aCIKICNpbmNsdWRlICJsaWJjL3ZzcHJpbnRmLmgiCisjZGVmaW5lIE5PX1FFTVVfUFJPVE9TCisj aW5jbHVkZSAib3BlbmJpb3MvZndfY2ZnLmgiCisKKyNkZWZpbmUgQklPU19DRkdfSU9QT1JUIDB4 NTEwCiAKICNkZWZpbmUgUkVHSVNURVJfTkFNRURfTk9ERSggbmFtZSwgcGF0aCApICAgZG8geyAg ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgYmluZF9uZXdfbm9kZSggbmFtZSMjX2Zs YWdzXywgbmFtZSMjX3NpemVfLCAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTY3LDYgKzcxLDgg QEAKICNkZWZpbmUgUEFHRV9NQVNLXzY0SyAgKDY0ICogMTAyNCAtIDEpCiAjZGVmaW5lIFBBR0Vf TUFTS184SyAgICg4ICogMTAyNCAtIDEpCiAKKyNkZWZpbmUgVVVJRF9GTVQgIiUwMnglMDJ4JTAy eCUwMngtJTAyeCUwMngtJTAyeCUwMngtJTAyeCUwMngtJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4 IgorCiBzdGF0aWMgdm9pZAogbW11X29wZW4odm9pZCkKIHsKQEAgLTQ1NCw2ICs0NjAsOCBAQAog ICAgIGZvciAoOzspOwogfQogCitzdGF0aWMgdWludDhfdCBxZW11X3V1aWRbMTZdOworCiB2b2lk IGFyY2hfbnZyYW1fZ2V0KGNoYXIgKmRhdGEpCiB7CiAgICAgdW5zaWduZWQgc2hvcnQgaTsKQEAg LTQ2MSw2ICs0NjksOSBAQAogICAgIHVpbnQzMl90IHNpemU7CiAgICAgY29uc3Qgc3RydWN0IGNw dWRlZiAqY3B1OwogICAgIGNvbnN0IGNoYXIgKmJvb3RwYXRoOworICAgIGNoYXIgYnVmWzI1Nl07 CisgICAgdWludDMyX3QgdGVtcDsKKyAgICB1aW50NjRfdCByYW1fc2l6ZTsKIAogICAgIGZvciAo aSA9IDA7IGkgPCBzaXplb2Yob2h3Y2ZnX3YzX3QpOyBpKyspIHsKICAgICAgICAgb3V0YihpICYg MHhmZiwgMHg3NCk7CkBAIC00NjgsMTQgKzQ3OSwyMCBAQAogICAgICAgICAqbnZwdHIrKyA9IGlu YigweDc3KTsKICAgICB9CiAKLSAgICBwcmludGsoIk52cmFtIGlkICVzLCB2ZXJzaW9uICVkXG4i LCBudl9pbmZvLnN0cnVjdF9pZGVudCwKLSAgICAgICAgICAgbnZfaW5mby5zdHJ1Y3RfdmVyc2lv bik7Ci0gICAgaWYgKHN0cmNtcChudl9pbmZvLnN0cnVjdF9pZGVudCwgIlFFTVVfQklPUyIpIHx8 Ci0gICAgICAgIG52X2luZm8uc3RydWN0X3ZlcnNpb24gIT0gMyB8fAotICAgICAgICBPSFdfY29t cHV0ZV9jcmMoJm52X2luZm8sIDB4MDAsIDB4RjgpICE9IG52X2luZm8uY3JjKSB7Ci0gICAgICAg IHByaW50aygiVW5rbm93biBudnJhbSwgZnJlZXppbmchXG4iKTsKLSAgICAgICAgZm9yICg7Oyk7 CisgICAgb3V0dyhfX2NwdV90b19sZTE2KEZXX0NGR19TSUdOQVRVUkUpLCBCSU9TX0NGR19JT1BP UlQpOworICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKyAgICAgICAgYnVmW2ldID0gaW5i KEJJT1NfQ0ZHX0lPUE9SVCk7CiAgICAgfQorICAgIGJ1Zls0XSA9ICdcMCc7CisKKyAgICBwcmlu dGsoIkNvbmZpZ3VyYXRpb24gZGV2aWNlIGlkICVzIiwgYnVmKTsKKworICAgIG91dHcoX19jcHVf dG9fbGUxNihGV19DRkdfSUQpLCBCSU9TX0NGR19JT1BPUlQpOworICAgIGZvciAoaSA9IDA7IGkg PCA0OyBpKyspIHsKKyAgICAgICAgYnVmW2ldID0gaW5iKEJJT1NfQ0ZHX0lPUE9SVCk7CisgICAg fQorICAgIHRlbXAgPSBfX2xlMzJfdG9fY3B1KCoodWludDMyX3QgKilidWYpOworICAgIHByaW50 aygiIHZlcnNpb24gJWRcbiIsIHRlbXApOwogCiAgICAga2VybmVsX2ltYWdlID0gbnZfaW5mby5r ZXJuZWxfaW1hZ2U7CiAgICAga2VybmVsX3NpemUgPSBudl9pbmZvLmtlcm5lbF9zaXplOwpAQCAt NDk4LDE2ICs1MTUsNDAgQEAKICAgICAgICAgZGF0YVtpXSA9IGluYigweDc3KTsKICAgICB9CiAK LSAgICBwcmludGsoIkNQVXM6ICV4IiwgbnZfaW5mby5uYl9jcHVzKTsKKyAgICBvdXR3KF9fY3B1 X3RvX2xlMTYoRldfQ0ZHX05CX0NQVVMpLCBCSU9TX0NGR19JT1BPUlQpOworICAgIGZvciAoaSA9 IDA7IGkgPCA0OyBpKyspIHsKKyAgICAgICAgYnVmW2ldID0gaW5iKEJJT1NfQ0ZHX0lPUE9SVCk7 CisgICAgfQorICAgIHRlbXAgPSBfX2xlMzJfdG9fY3B1KCoodWludDMyX3QgKilidWYpOworCisg ICAgcHJpbnRrKCJDUFVzOiAleCIsIHRlbXApOworCiAgICAgY3B1ID0gaWRfY3B1KCk7CiAgICAg Ly9jcHUtPmluaXRmbigpOwogICAgIGNwdV9nZW5lcmljX2luaXQoY3B1KTsKICAgICBwcmludGso IiB4ICVzXG4iLCBjcHUtPm5hbWUpOwogCi0gICAgLy8gQWRkIC9pZHByb20KKyAgICAvLyBBZGQg L3V1aWQKKyAgICBvdXR3KF9fY3B1X3RvX2xlMTYoRldfQ0ZHX1VVSUQpLCBCSU9TX0NGR19JT1BP UlQpOworICAgIGZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7CisgICAgICAgIHFlbXVfdXVpZFtp XSA9IGluYihCSU9TX0NGR19JT1BPUlQpOworICAgIH0KKyAgICBwcmludGsoIlVVSUQ6ICIgVVVJ RF9GTVQgIlxuIiwgcWVtdV91dWlkWzBdLCBxZW11X3V1aWRbMV0sIHFlbXVfdXVpZFsyXSwKKyAg ICAgICAgICAgcWVtdV91dWlkWzNdLCBxZW11X3V1aWRbNF0sIHFlbXVfdXVpZFs1XSwgcWVtdV91 dWlkWzZdLAorICAgICAgICAgICBxZW11X3V1aWRbN10sIHFlbXVfdXVpZFs4XSwgcWVtdV91dWlk WzldLCBxZW11X3V1aWRbMTBdLAorICAgICAgICAgICBxZW11X3V1aWRbMTFdLCBxZW11X3V1aWRb MTJdLCBxZW11X3V1aWRbMTNdLCBxZW11X3V1aWRbMTRdLAorICAgICAgICAgICBxZW11X3V1aWRb MTVdKTsKKwogICAgIHB1c2hfc3RyKCIvIik7CiAgICAgZndvcmQoImZpbmQtZGV2aWNlIik7CiAK KyAgICBQVVNIKChsb25nKSZxZW11X3V1aWQpOworICAgIFBVU0goMTYpOworICAgIGZ3b3JkKCJl bmNvZGUtYnl0ZXMiKTsKKyAgICBwdXNoX3N0cigidXVpZCIpOworICAgIGZ3b3JkKCJwcm9wZXJ0 eSIpOworCisgICAgLy8gQWRkIC9pZHByb20KICAgICBmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykg ewogICAgICAgICBvdXRiKChpICsgMHgxZmQ4KSAmIDB4ZmYsIDB4NzQpOwogICAgICAgICBvdXRi KChpICsgMHgxZmQ4KSA+PiA4LCAweDc1KTsKQEAgLTUyOCwxNiArNTY5LDIyIEBACiAgICAgcHVz aF9zdHIoIi9tZW1vcnkiKTsKICAgICBmd29yZCgiZmluZC1kZXZpY2UiKTsKIAorICAgIG91dHco X19jcHVfdG9fbGUxNihGV19DRkdfUkFNX1NJWkUpLCBCSU9TX0NGR19JT1BPUlQpOworICAgIGZv ciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKyAgICAgICAgYnVmW2ldID0gaW5iKEJJT1NfQ0ZHX0lP UE9SVCk7CisgICAgfQorICAgIHJhbV9zaXplID0gX19sZTY0X3RvX2NwdSgqKHVpbnQ2NF90ICop YnVmKTsKKwogICAgIC8vIEFsbCBtZW1vcnk6IDAgdG8gUkFNX3NpemUKICAgICBQVVNIKDApOwog ICAgIGZ3b3JkKCJlbmNvZGUtaW50Iik7CiAgICAgUFVTSCgwKTsKICAgICBmd29yZCgiZW5jb2Rl LWludCIpOwogICAgIGZ3b3JkKCJlbmNvZGUrIik7Ci0gICAgUFVTSCgoaW50KShudl9pbmZvLlJB TTBfc2l6ZSA+PiAzMikpOworICAgIFBVU0goKGludCkocmFtX3NpemUgPj4gMzIpKTsKICAgICBm d29yZCgiZW5jb2RlLWludCIpOwogICAgIGZ3b3JkKCJlbmNvZGUrIik7Ci0gICAgUFVTSCgoaW50 KShudl9pbmZvLlJBTTBfc2l6ZSAmIDB4ZmZmZmZmZmYpKTsKKyAgICBQVVNIKChpbnQpKHJhbV9z aXplICYgMHhmZmZmZmZmZikpOwogICAgIGZ3b3JkKCJlbmNvZGUtaW50Iik7CiAgICAgZndvcmQo ImVuY29kZSsiKTsKICAgICBwdXNoX3N0cigicmVnIik7CkluZGV4OiBvcGVuYmlvcy1xdWlsdC9h cmNoL3NwYXJjMzIvZW50cnkuUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBvcGVuYmlvcy1xdWlsdC5vcmlnL2Fy Y2gvc3BhcmMzMi9lbnRyeS5TCTIwMDgtMDgtMzEgMTU6NDc6NDIuMDAwMDAwMDAwICswMDAwCisr KyBvcGVuYmlvcy1xdWlsdC9hcmNoL3NwYXJjMzIvZW50cnkuUwkyMDA4LTA4LTMxIDE2OjIyOjQ5 LjAwMDAwMDAwMCArMDAwMApAQCAtMTIsNiArMTIsMTEgQEAKICNpbmNsdWRlICJhc20vY3JzLmgi CiAjZGVmaW5lIF9fQVNTRU1CTFlfXwogI2luY2x1ZGUgIm9wZW5iaW9zL2Zpcm13YXJlX2FiaS5o IgorI2RlZmluZSBOT19RRU1VX1BST1RPUworI2luY2x1ZGUgIm9wZW5iaW9zL2Z3X2NmZy5oIgor CisjZGVmaW5lIENGR19BRERSIDB4MDAwMDA1MTAKKyNkZWZpbmUgQ0ZHX0FTSSAgMHgyZAogCiAj ZGVmaW5lIFBIWVNfSkpfRUVQUk9NCTB4NzEyMDAwMDAgIC8qIFsyMDAwXSBNSzQ4VDA4ICovCiAj ZGVmaW5lIFBIWVNfSkpfSU5UUjAJMHg3MUUwMDAwMCAgLyogQ1BVMCBpbnRlcnJ1cHQgY29udHJv bCByZWdpc3RlcnMgKi8KQEAgLTQ0LDQxICs0OSw3OSBAQAogICAgICAgICAgKiBNYWluIGNvbnRl eHQgaXMgc3RhdGljYWxseSBkZWZpbmVkIGluIEMuCiAgICAgICAgICAqLwogCi0gICAgICAgICEg Q2hlY2sgaWYgdGhpcyBpcyBRRU1VIGZvciBTUy01Ci0gICAgICAgIHNldCBQSFlTX0pKX0VFUFJP TSwgJWcxCi0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQllQQVNTLCAlZzIKKyAgICAgICAg ISBDaGVjayBzaWduYXR1cmUgIlFFTVUiCisgICAgICAgIHNldCAgICAgQ0ZHX0FERFIsICVnNQor ICAgICAgICBtb3YgICAgIEZXX0NGR19TSUdOQVRVUkUsICVnMgorICAgICAgICBzdGhhICAgICVn MiwgWyVnNV0gQ0ZHX0FTSQorICAgICAgICBsZHViYSAgIFslZzVdIENGR19BU0ksICVnMgogICAg ICAgICBjbXAgICAgICVnMiwgJ1EnCi0gICAgICAgIGJuZSAgICAgc3MxMAotICAgICAgICAgaW5j ICAgICVnMQotICAgICAgICBsZHViYSAgIFslZzFdIEFTSV9NX0JZUEFTUywgJWcyCisgICAgICAg IGJuZSAgICAgYmFkX2NvbmYKKyAgICAgICAgIG5vcAorICAgICAgICBsZHViYSAgIFslZzVdIENG R19BU0ksICVnMgogICAgICAgICBjbXAgICAgICVnMiwgJ0UnCi0gICAgICAgIGJuZSAgICAgc3Mx MAotICAgICAgICAgaW5jICAgICVnMQotICAgICAgICBsZHViYSAgIFslZzFdIEFTSV9NX0JZUEFT UywgJWcyCisgICAgICAgIGJuZSAgICAgYmFkX2NvbmYKKyAgICAgICAgIG5vcAorICAgICAgICBs ZHViYSAgIFslZzVdIENGR19BU0ksICVnMgogICAgICAgICBjbXAgICAgICVnMiwgJ00nCi0gICAg ICAgIGJuZSAgICAgc3MxMAotICAgICAgICAgaW5jICAgICVnMQotICAgICAgICBsZHViYSAgIFsl ZzFdIEFTSV9NX0JZUEFTUywgJWcyCisgICAgICAgIGJuZSAgICAgYmFkX2NvbmYKKyAgICAgICAg IG5vcAorICAgICAgICBsZHViYSAgIFslZzVdIENGR19BU0ksICVnMgogICAgICAgICBjbXAgICAg ICVnMiwgJ1UnCi0gICAgICAgIGJuZSAgICAgc3MxMAorICAgICAgICBibmUgICAgIGJhZF9jb25m CisgICAgICAgICBub3AKKworICAgICAgICAhIEdldCBtZW1vcnkgc2l6ZSBmcm9tIGNvbmZpZ3Vy YXRpb24gZGV2aWNlCisgICAgICAgICEgTkI6IGxpdHRsZSBlbmRpYW4gZm9ybWF0CisgICAgICAg IG1vdiAgICAgRldfQ0ZHX1JBTV9TSVpFLCAlZzIKKyAgICAgICAgc3RoYSAgICAlZzIsIFslZzVd IENGR19BU0kKKyAgICAgICAgbGR1YmEgICBbJWc1XSBDRkdfQVNJLCAlZzQKKworICAgICAgICBs ZHViYSAgIFslZzVdIENGR19BU0ksICVnMworICAgICAgICBzbGwgICAgICVnMywgOCwgJWczCisg ICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnNAorCisgICAgICAgIGxkdWJhICAgWyVnNV0gQ0ZH X0FTSSwgJWczCisgICAgICAgIHNsbCAgICAgJWczLCAxNiwgJWczCisgICAgICAgIG9yICAgICAg JWczLCAlZzQsICVnNAorCisgICAgICAgIGxkdWJhICAgWyVnNV0gQ0ZHX0FTSSwgJWczCisgICAg ICAgIHNsbCAgICAgJWczLCAyNCwgJWczCisgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnMQor ICAgICAgICAhICVnMSBjb250YWlucyBlbmQgb2YgbWVtb3J5CisKKyAgICAgICAgISBHZXQgbWFj aGluZSBJRCBmcm9tIGNvbmZpZ3VyYXRpb24gZGV2aWNlCisgICAgICAgIG1vdiAgICAgRldfQ0ZH X01BQ0hJTkVfSUQsICVnMgorICAgICAgICBzdGhhICAgICVnMiwgWyVnNV0gQ0ZHX0FTSQorICAg ICAgICBsZHViYSAgIFslZzVdIENGR19BU0ksICVnNAorCisgICAgICAgIGxkdWJhICAgWyVnNV0g Q0ZHX0FTSSwgJWczCisgICAgICAgIHNsbCAgICAgJWczLCA4LCAlZzMKKyAgICAgICAgb3IgICAg ICAlZzMsICVnNCwgJWc0CisgICAgICAgIG1vdiAgICAgJWc0LCAleQorCisgICAgICAgIGNtcCAg ICAgJWc0LCA5NgorICAgICAgICBiZ2V1ICAgIHNzMTAwMAorICAgICAgICAgY21wICAgICVnNCwg NjQKKyAgICAgICAgYmdldSAgICBzczEwCisgICAgICAgICBjbXAgICAgJWc0LCAzMgorICAgICAg ICBibHUgICAgIHNzMgorICAgICAgICAgbm9wCiAKICAgICAgICAgISBPaywgdGhpcyBpcyBTUy01 Ci0gICAgICAgIG1vdiAgICAgMHg4MCwgJXkKICAgICAgICAgISBGaW5kIGFyY2hpdGVjdHVyZSBz cGVjaWZpYyBwYXJ0Ci0gICAgICAgIHNldCAgICAgUEhZU19KSl9FRVBST00gKyBPSFdfQVJDSF9Q VFIsICVnMQotICAgICAgICBsZHVoYSAgIFslZzFdIEFTSV9NX0JZUEFTUywgJWcyCi0gICAgICAg IHNldCAgICAgUEhZU19KSl9FRVBST00sICVnMQotICAgICAgICBhZGQgICAgICVnMSwgJWcyLCAl ZzMKKyAgICAgICAgc2V0ICAgICBQSFlTX0pKX0VFUFJPTSArIE9IV19BUkNIX1BUUiwgJWc1Cisg ICAgICAgIGxkdWhhICAgWyVnNV0gQVNJX01fQllQQVNTLCAlZzIKKyAgICAgICAgc2V0ICAgICBQ SFlTX0pKX0VFUFJPTSwgJWc1CisgICAgICAgIGFkZCAgICAgJWc1LCAlZzIsICVnMwogICAgICAg ICAhIENoZWNrIGlmIHRoaXMgbm90IHRoZSBmaXJzdCBTTVAgQ1BVLCBpZiBzbywgYnlwYXNzIFBS T00gZW50aXJlbHkKLSAgICAgICAgYWRkICAgICAlZzMsIFNQQVJDX1NNUF9WQUxJRCwgJWcxCi0g ICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQllQQVNTLCAlZzIKLSAgICAgICAgc3RiYSAgICAl ZzAsIFslZzFdIEFTSV9NX0JZUEFTUwotICAgICAgICBzZXQJUEhZU19KSl9FRVBST00gKyBPSFdf UkFNX1NJWkUsICVnMQotICAgICAgICBsZGRhCVslZzFdIEFTSV9NX0JZUEFTUywgJWcwCisgICAg ICAgIGFkZCAgICAgJWczLCBTUEFSQ19TTVBfVkFMSUQsICVnNQorICAgICAgICBsZHViYSAgIFsl ZzVdIEFTSV9NX0JZUEFTUywgJWcyCisgICAgICAgIHN0YmEgICAgJWcwLCBbJWc1XSBBU0lfTV9C WVBBU1MKICAgICAgICAgdHN0ICAgICAlZzIKICAgICAgICAgYnogICAgICBmaXJzdF9jcHUKICAg ICAgICAgIG5vcAogCisgICAgICAgICEgU01QIGluaXQsIGp1bXAgdG8gdXNlciBzcGVjaWZpZWQg YWRkcmVzcwogICAgICAgICBzZXQgICAgIFBIWVNfSkpfSU5UUjAgKyAweDA0LCAlZzEKICAgICAg ICAgc2xsICAgICAlZzIsIDEyLCAlZzIKICAgICAgICAgYWRkICAgICAlZzEsICVnMiwgJWcyCkBA IC0xMDQsNDEgKzE0NywyMSBAQAogICAgICAgICAgc3RhICAgICVnMSwgWyVnMF0gQVNJX01fTU1V UkVHUyAgICAgICAgISBlbmFibGUgbW11CiAKIHNzMTA6Ci0gICAgICAgIHNldCBQSFlTX1NTMTBf RUVQUk9NLCAlZzEKLSAgICAgICAgbGR1YmEgICBbJWcxXSBBU0lfTV9DVEwsICVnMgotICAgICAg ICBjbXAgICAgICVnMiwgJ1EnCi0gICAgICAgIGJuZSAgICAgc3MyCi0gICAgICAgICBpbmMgICAg JWcxCi0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQ1RMLCAlZzIKLSAgICAgICAgY21wICAg ICAlZzIsICdFJwotICAgICAgICBibmUgICAgIHNzMgotICAgICAgICAgaW5jICAgICVnMQotICAg ICAgICBsZHViYSAgIFslZzFdIEFTSV9NX0NUTCwgJWcyCi0gICAgICAgIGNtcCAgICAgJWcyLCAn TScKLSAgICAgICAgYm5lICAgICBzczIKLSAgICAgICAgIGluYyAgICAlZzEKLSAgICAgICAgbGR1 YmEgICBbJWcxXSBBU0lfTV9DVEwsICVnMgotICAgICAgICBjbXAgICAgICVnMiwgJ1UnCi0gICAg ICAgIGJuZSAgICAgc3MyCi0KICAgICAgICAgISBPaywgdGhpcyBpcyBTUy0xMCBvciBTUy02MDBN UAotICAgICAgICBzZXQgICAgIFBIWVNfU1MxMF9FRVBST00gKyBTUEFSQ19NQUNISU5FX0lELCAl ZzEKLSAgICAgICAgbGR1YmEgICBbJWcxXSBBU0lfTV9DVEwsICVnMgotICAgICAgICBtb3YgICAg ICVnMiwgJXkKICAgICAgICAgISBGaW5kIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBwYXJ0Ci0gICAg ICAgIHNldCAgICAgUEhZU19TUzEwX0VFUFJPTSArIE9IV19BUkNIX1BUUiwgJWcxCi0gICAgICAg IGxkdWhhICAgWyVnMV0gQVNJX01fQ1RMLCAlZzIKLSAgICAgICAgc2V0ICAgICBQSFlTX1NTMTBf RUVQUk9NLCAlZzEKLSAgICAgICAgYWRkICAgICAlZzEsICVnMiwgJWczCisgICAgICAgIHNldCAg ICAgUEhZU19TUzEwX0VFUFJPTSArIE9IV19BUkNIX1BUUiwgJWc1CisgICAgICAgIGxkdWhhICAg WyVnNV0gQVNJX01fQ1RMLCAlZzIKKyAgICAgICAgc2V0ICAgICBQSFlTX1NTMTBfRUVQUk9NLCAl ZzUKKyAgICAgICAgYWRkICAgICAlZzUsICVnMiwgJWczCiAgICAgICAgICEgQ2hlY2sgaWYgdGhp cyBub3QgdGhlIGZpcnN0IFNNUCBDUFUsIGlmIHNvLCBieXBhc3MgUFJPTSBlbnRpcmVseQotICAg ICAgICBhZGQgICAgICVnMywgU1BBUkNfU01QX1ZBTElELCAlZzEKLSAgICAgICAgbGR1YmEgICBb JWcxXSBBU0lfTV9DVEwsICVnMgotICAgICAgICBzdGJhICAgICVnMCwgWyVnMV0gQVNJX01fQ1RM Ci0gICAgICAgIHNldCAgICAgUEhZU19TUzEwX0VFUFJPTSArIE9IV19SQU1fU0laRSwgJWcxCi0g ICAgICAgIGxkZGEJWyVnMV0gQVNJX01fQ1RMLCAlZzAKKyAgICAgICAgYWRkICAgICAlZzMsIFNQ QVJDX1NNUF9WQUxJRCwgJWc1CisgICAgICAgIGxkdWJhICAgWyVnNV0gQVNJX01fQ1RMLCAlZzIK KyAgICAgICAgc3RiYSAgICAlZzAsIFslZzVdIEFTSV9NX0NUTAogICAgICAgICB0c3QgICAgICVn MgogICAgICAgICBieiAgICAgIGZpcnN0X2NwdQogICAgICAgICAgbm9wCisKKyAgICAgICAgISBT TVAgaW5pdCwganVtcCB0byB1c2VyIHNwZWNpZmllZCBhZGRyZXNzCiAgICAgICAgIHNldCAgICAg UEhZU19TUzEwX0lOVFIwICsgMHgwNCwgJWcxCiAgICAgICAgIHNsbCAgICAgJWcyLCAxMiwgJWcy CiAgICAgICAgIGFkZCAgICAgJWcxLCAlZzIsICVnMgpAQCAtMTY0LDQ2ICsxODcsMTIgQEAKICAg ICAgICAgIHN0YSAgICAlZzEsIFslZzBdIEFTSV9NX01NVVJFR1MgICAgICAgICEgZW5hYmxlIG1t dQogCiBzczI6Ci0gICAgICAgIHNldCBQSFlTX1NTMl9FRVBST00sICVnMQotICAgICAgICBsZHVi YSAgIFslZzFdIEFTSV9NX0JZUEFTUywgJWcyCi0gICAgICAgIGNtcCAgICAgJWcyLCAnUScKLSAg ICAgICAgYm5lICAgICBzczEwMDAKLSAgICAgICAgIGluYyAgICAlZzEKLSAgICAgICAgbGR1YmEg ICBbJWcxXSBBU0lfTV9CWVBBU1MsICVnMgotICAgICAgICBjbXAgICAgICVnMiwgJ0UnCi0gICAg ICAgIGJuZSAgICAgc3MxMDAwCi0gICAgICAgICBpbmMgICAgJWcxCi0gICAgICAgIGxkdWJhICAg WyVnMV0gQVNJX01fQllQQVNTLCAlZzIKLSAgICAgICAgY21wICAgICAlZzIsICdNJwotICAgICAg ICBibmUgICAgIHNzMTAwMAotICAgICAgICAgaW5jICAgICVnMQotICAgICAgICBsZHViYSAgIFsl ZzFdIEFTSV9NX0JZUEFTUywgJWcyCi0gICAgICAgIGNtcCAgICAgJWcyLCAnVScKLSAgICAgICAg Ym5lICAgICBzczEwMDAKLQogICAgICAgICAhIE9rLCB0aGlzIGlzIFNTLTIKICAgICAgICAgc2V0 ICAgICBzczJfZXJyb3IsICVvMgogICAgICAgICBiICAgICAgIHNzMl9zczEwMDBfaGFsdAogICAg ICAgICAgbm9wCiAKIHNzMTAwMDoKLSAgICAgICAgc2V0ICAgICBQSFlTX1NTMTAwMF9FRVBST00s ICVnMQotICAgICAgICBsZHViYSAgIFslZzFdIEFTSV9NX0NUTCwgJWcyCi0gICAgICAgIGNtcCAg ICAgJWcyLCAnUScKLSAgICAgICAgYm5lICAgICBiYWRfbnZyYW0KLSAgICAgICAgIGluYyAgICAl ZzEKLSAgICAgICAgbGR1YmEgICBbJWcxXSBBU0lfTV9DVEwsICVnMgotICAgICAgICBjbXAgICAg ICVnMiwgJ0UnCi0gICAgICAgIGJuZSAgICAgYmFkX252cmFtCi0gICAgICAgICBpbmMgICAgJWcx Ci0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQ1RMLCAlZzIKLSAgICAgICAgY21wICAgICAl ZzIsICdNJwotICAgICAgICBibmUgICAgIGJhZF9udnJhbQotICAgICAgICAgaW5jICAgICVnMQot ICAgICAgICBsZHViYSAgIFslZzFdIEFTSV9NX0NUTCwgJWcyCi0gICAgICAgIGNtcCAgICAgJWcy LCAnVScKLSAgICAgICAgYm5lICAgICBiYWRfbnZyYW0KLQogICAgICAgICAhIE9rLCB0aGlzIGlz IFNTLTEwMDAgb3IgU1MtMjAwMAogICAgICAgICBzZXQgICAgIHNzMTAwMF9lcnJvciwgJW8yCiAg ICAgICAgIGIgICAgICAgc3MyX3NzMTAwMF9oYWx0CkBAIC00MDgsNyArMzk3LDcgQEAKICAgICAg ICAgc3RiYSAgICAlbzMsIFslbzFdIEFTSV9NX0NUTAogICAgICAgICBiICAgICAgIDFiCiAgICAg ICAgICBpbmMgICAgJW8yCi1iYWRfbnZyYW06CitiYWRfY29uZjoKIDI6ICAgICAgYiAgICAgICAy YgogICAgICAgICAgbm9wCiAKSW5kZXg6IG9wZW5iaW9zLXF1aWx0L2FyY2gvc3BhcmMzMi9vcGVu Ymlvcy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIG9wZW5iaW9zLXF1aWx0Lm9yaWcvYXJjaC9zcGFyYzMyL29w ZW5iaW9zLmMJMjAwOC0wOC0zMSAxNTo0NzozNS4wMDAwMDAwMDAgKzAwMDAKKysrIG9wZW5iaW9z LXF1aWx0L2FyY2gvc3BhcmMzMi9vcGVuYmlvcy5jCTIwMDgtMDgtMzEgMTY6MjY6MjEuMDAwMDAw MDAwICswMDAwCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgdW5zaWduZWQgbG9uZyBhdXgxX29mZnNl dCwgYXV4Ml9vZmZzZXQ7CiAgICAgdWludDY0X3QgZG1hX2Jhc2UsIGVzcF9iYXNlLCBsZV9iYXNl OwogICAgIHVpbnQ2NF90IHRjeF9iYXNlOwotICAgIGludCBtYWNoaW5lX2lkOworICAgIGludCBt YWNoaW5lX2lkX2xvdywgbWFjaGluZV9pZF9oaWdoOwogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVj dCBod2RlZiBod2RlZnNbXSA9IHsKQEAgLTQ3LDcgKzQ3LDggQEAKICAgICAgICAgLmRtYV9iYXNl ICAgICA9IDB4Nzg0MDAwMDAsCiAgICAgICAgIC5lc3BfYmFzZSAgICAgPSAweDc4ODAwMDAwLAog ICAgICAgICAubGVfYmFzZSAgICAgID0gMHg3OGMwMDAwMCwKLSAgICAgICAgLm1hY2hpbmVfaWQg PSAweDgwLAorICAgICAgICAubWFjaGluZV9pZF9sb3cgPSAzMiwKKyAgICAgICAgLm1hY2hpbmVf aWRfaGlnaCA9IDYzLAogICAgIH0sCiAgICAgLyogU1MtMTAgKi8KICAgICB7CkBAIC02NSw3ICs2 Niw4IEBACiAgICAgICAgIC5kbWFfYmFzZSAgICAgPSAweGVmMDQwMDAwMFVMTCwKICAgICAgICAg LmVzcF9iYXNlICAgICA9IDB4ZWYwODAwMDAwVUxMLAogICAgICAgICAubGVfYmFzZSAgICAgID0g MHhlZjBjMDAwMDBVTEwsCi0gICAgICAgIC5tYWNoaW5lX2lkID0gMHg3MiwKKyAgICAgICAgLm1h Y2hpbmVfaWRfbG93ID0gNjQsCisgICAgICAgIC5tYWNoaW5lX2lkX2hpZ2ggPSA2NSwKICAgICB9 LAogICAgIC8qIFNTLTYwME1QICovCiAgICAgewpAQCAtODMsNyArODUsOCBAQAogICAgICAgICAu ZG1hX2Jhc2UgICAgID0gMHhlZjAwODEwMDBVTEwsCiAgICAgICAgIC5lc3BfYmFzZSAgICAgPSAw eGVmMDA4MDAwMFVMTCwKICAgICAgICAgLmxlX2Jhc2UgICAgICA9IDB4ZWYwMDYwMDAwVUxMLAot ICAgICAgICAubWFjaGluZV9pZCA9IDB4NzEsCisgICAgICAgIC5tYWNoaW5lX2lkX2xvdyA9IDY2 LAorICAgICAgICAubWFjaGluZV9pZF9oaWdoID0gNjYsCiAgICAgfSwKIH07CiAKQEAgLTEyMSw3 ICsxMjQsNyBAQAogI2lmZGVmIENPTkZJR19ERUJVR19DT05TT0xFX1ZJREVPCiAJaW5pdF92aWRl bygpOwogI2VuZGlmCi0Jb2Jfc2J1c19pbml0KGh3ZGVmLT5pb21tdV9iYXNlICsgMHgxMDAwVUxM LCBod2RlZi0+bWFjaGluZV9pZCk7CisJb2Jfc2J1c19pbml0KGh3ZGVmLT5pb21tdV9iYXNlICsg MHgxMDAwVUxMLCBxZW11X21hY2hpbmVfdHlwZSk7CiAjZW5kaWYKIAlkZXZpY2VfZW5kKCk7CiAK QEAgLTEzMyw3ICsxMzYsOCBAQAogICAgICAgICB1bnNpZ25lZCBpbnQgaTsKIAogICAgICAgICBm b3IgKGkgPSAwOyBpIDwgc2l6ZW9mKGh3ZGVmcykgLyBzaXplb2Yoc3RydWN0IGh3ZGVmKTsgaSsr KSB7Ci0gICAgICAgICAgICBpZiAoaHdkZWZzW2ldLm1hY2hpbmVfaWQgPT0gcWVtdV9tYWNoaW5l X3R5cGUpIHsKKyAgICAgICAgICAgIGlmIChod2RlZnNbaV0ubWFjaGluZV9pZF9sb3cgPD0gcWVt dV9tYWNoaW5lX3R5cGUgJiYKKyAgICAgICAgICAgICAgICBod2RlZnNbaV0ubWFjaGluZV9pZF9o aWdoID49IHFlbXVfbWFjaGluZV90eXBlKSB7CiAgICAgICAgICAgICAgICAgaHdkZWYgPSAmaHdk ZWZzW2ldOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpJbmRleDogb3Bl bmJpb3MtcXVpbHQvZHJpdmVycy9vYmlvLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gb3BlbmJpb3MtcXVpbHQu b3JpZy9kcml2ZXJzL29iaW8uYwkyMDA4LTA4LTMxIDE1OjQ3OjU3LjAwMDAwMDAwMCArMDAwMAor Kysgb3BlbmJpb3MtcXVpbHQvZHJpdmVycy9vYmlvLmMJMjAwOC0wOC0zMSAxODoxMjoxNy4wMDAw MDAwMDAgKzAwMDAKQEAgLTIxLDYgKzIxLDggQEAKICNpbmNsdWRlICJvYmlvLmgiCiAjZGVmaW5l IGNwdV90b19iZTE2KHgpIF9fY3B1X3RvX2JlMTYoeCkKICNpbmNsdWRlICJvcGVuYmlvcy9maXJt d2FyZV9hYmkuaCIKKyNkZWZpbmUgTk9fUUVNVV9QUk9UT1MKKyNpbmNsdWRlICJvcGVuYmlvcy9m d19jZmcuaCIKIAogI2RlZmluZSBSRUdJU1RFUl9OQU1FRF9OT0RFKCBuYW1lLCBwYXRoICkgICBk byB7IFwKIAkgICAgIGJpbmRfbmV3X25vZGUoIG5hbWUjI19mbGFnc18sIG5hbWUjI19zaXplXywg XApAQCAtMjk0LDcgKzI5Niw3IEBACiAgICAgfQogfQogCi1zdGF0aWMgdWludDMyX3QKK3N0YXRp YyB2b2lkCiBvYl9lY2NtZW1jdGxfaW5pdCh2b2lkKQogewogICAgIHVpbnQzMl90IHZlcnNpb24s ICpyZWdzOwpAQCAtMzMzLDggKzMzNSw2IEBACiAgICAgZndvcmQoInByb3BlcnR5Iik7CiAKICAg ICBmd29yZCgiZmluaXNoLWRldmljZSIpOwotCi0gICAgcmV0dXJuIHZlcnNpb247CiB9CiAKIHN0 YXRpYyB1bnNpZ25lZCBjaGFyICpudnJhbTsKQEAgLTcxNiw2ICs3MTYsNjcgQEAKICAgICBmb3Ig KDs7KTsKIH0KIAorc3RhdGljIHZvaWQgZHVtbXlfbWFjaF9pbml0KHZvaWQpCit7Cit9CisKK3N0 cnVjdCBtYWNoZGVmIHsKKyAgICB1aW50MTZfdCBtYWNoaW5lX2lkOworICAgIGNvbnN0IGNoYXIg KmJhbm5lcl9uYW1lOworICAgIGNvbnN0IGNoYXIgKm1vZGVsOworICAgIGNvbnN0IGNoYXIgKm5h bWU7CisgICAgaW50IG1pZF9vZmZzZXQ7CisgICAgdm9pZCAoKmluaXRmbikodm9pZCk7Cit9Owor CitzdGF0aWMgY29uc3Qgc3RydWN0IG1hY2hkZWYgc3VuNG1fZGVmc1tdID0geworICAgIHsKKyAg ICAgICAgLm1hY2hpbmVfaWQgPSAzMiwKKyAgICAgICAgLmJhbm5lcl9uYW1lID0gIlNQQVJDc3Rh dGlvbiA1IiwKKyAgICAgICAgLm1vZGVsID0gIlNVTlcsNTAxLTMwNTkiLAorICAgICAgICAubmFt ZSA9ICJTVU5XLFNQQVJDc3RhdGlvbi01IiwKKyAgICAgICAgLm1pZF9vZmZzZXQgPSAwLAorICAg ICAgICAuaW5pdGZuID0gZHVtbXlfbWFjaF9pbml0LAorICAgIH0sCisgICAgeworICAgICAgICAu bWFjaGluZV9pZCA9IDY0LAorICAgICAgICAuYmFubmVyX25hbWUgPSAiU1BBUkNzdGF0aW9uIDEw ICgxIFggMzkwWjU1KSIsCisgICAgICAgIC5tb2RlbCA9ICJTVU5XLFMxMCw1MDEtMjM2NSIsCisg ICAgICAgIC5uYW1lID0gIlNVTlcsU1BBUkNzdGF0aW9uLTEwIiwKKyAgICAgICAgLm1pZF9vZmZz ZXQgPSA4LAorICAgICAgICAuaW5pdGZuID0gb2JfZWNjbWVtY3RsX2luaXQsCisgICAgfSwKKyAg ICB7CisgICAgICAgIC5tYWNoaW5lX2lkID0gNjUsCisgICAgICAgIC5iYW5uZXJfbmFtZSA9ICJT UEFSQ3N0YXRpb24gMjAgKDEgWCAzOTBaNTUpIiwKKyAgICAgICAgLm1vZGVsID0gIlNVTlcsUzIw LDUwMS0yMzI0IiwKKyAgICAgICAgLm5hbWUgPSAiU1VOVyxTUEFSQ3N0YXRpb24tMjAiLAorICAg ICAgICAubWlkX29mZnNldCA9IDgsCisgICAgICAgIC5pbml0Zm4gPSBvYl9lY2NtZW1jdGxfaW5p dCwKKyAgICB9LAorICAgIHsKKyAgICAgICAgLm1hY2hpbmVfaWQgPSA2NiwKKyAgICAgICAgLmJh bm5lcl9uYW1lID0gIlNQQVJDc3lzdGVtIDYwMCgxIFggMzkwWjU1KSIsCisgICAgICAgIC5tb2Rl bCA9IE5VTEwsCisgICAgICAgIC5uYW1lID0gIlNVTlcsU1BBUkNzeXN0ZW0tNjAwIiwKKyAgICAg ICAgLm1pZF9vZmZzZXQgPSA4LAorICAgICAgICAuaW5pdGZuID0gb2JfZWNjbWVtY3RsX2luaXQs CisgICAgfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWFjaGRlZiAqCitpZF9tYWNoaW5l KHVpbnQxNl90IG1hY2hpbmVfaWQpCit7CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAgICBmb3Ig KGkgPSAwOyBpIDwgc2l6ZW9mKHN1bjRtX2RlZnMpL3NpemVvZihzdHJ1Y3QgbWFjaGRlZik7IGkr KykgeworICAgICAgICBpZiAobWFjaGluZV9pZCA9PSBzdW40bV9kZWZzW2ldLm1hY2hpbmVfaWQp CisgICAgICAgICAgICByZXR1cm4gJnN1bjRtX2RlZnNbaV07CisgICAgfQorICAgIHByaW50aygi VW5rbm93biBtYWNoaW5lIChJRCAlZCksIGZyZWV6aW5nIVxuIiwgbWFjaGluZV9pZCk7CisgICAg Zm9yICg7Oyk7Cit9CisKIHN0YXRpYyB2b2lkCiBvYl9udnJhbV9pbml0KHVpbnQ2NF90IGJhc2Us IHVpbnQ2NF90IG9mZnNldCkKIHsKQEAgLTczMiw5ICs3OTMsMTQgQEAKICAgICB1bnNpZ25lZCBp bnQgaTsKICAgICBjaGFyIG5vZ3JhcGhpYzsKICAgICB1aW50MzJfdCBzaXplOwotICAgIHVuc2ln bmVkIGludCBtYWNoaW5lX2lkOworICAgIHVpbnQxNl90IG1hY2hpbmVfaWQ7CiAgICAgY29uc3Qg c3RydWN0IGNwdWRlZiAqY3B1OworICAgIGNvbnN0IHN0cnVjdCBtYWNoZGVmICptYWNoOwogICAg IG9od2NmZ192M190ICpoZWFkZXI7CisgICAgdm9sYXRpbGUgdWludDhfdCAqZndfY2ZnX3JlYWQ7 CisgICAgdm9sYXRpbGUgdWludDE2X3QgKmZ3X2NmZ193cml0ZTsKKyAgICBjaGFyIGJ1ZlsyNTZd OworICAgIHVpbnQzMl90IHRlbXA7CiAKICAgICBvYl9uZXdfb2Jpb19kZXZpY2UoImVlcHJvbSIs IE5VTEwpOwogCkBAIC03NDUsMTcgKzgxMSwzMCBAQAogICAgIHB1c2hfc3RyKCJhZGRyZXNzIik7 CiAgICAgZndvcmQoInByb3BlcnR5Iik7CiAKLSAgICBtZW1jcHkoJm52X2luZm8sIG52cmFtLCBz aXplb2YobnZfaW5mbykpOwotICAgIG1hY2hpbmVfaWQgPSAodW5zaWduZWQgaW50KW52cmFtWzB4 MWZkOV0gJiAweGZmOwotICAgIHByaW50aygiTnZyYW0gaWQgJXMsIHZlcnNpb24gJWQsIG1hY2hp bmUgaWQgMHglMi4yeFxuIiwKLSAgICAgICAgICAgbnZfaW5mby5zdHJ1Y3RfaWRlbnQsIG52X2lu Zm8uc3RydWN0X3ZlcnNpb24sIG1hY2hpbmVfaWQpOwotICAgIGlmIChzdHJjbXAobnZfaW5mby5z dHJ1Y3RfaWRlbnQsICJRRU1VX0JJT1MiKSB8fAotICAgICAgICBudl9pbmZvLnN0cnVjdF92ZXJz aW9uICE9IDMgfHwKLSAgICAgICAgT0hXX2NvbXB1dGVfY3JjKCZudl9pbmZvLCAweDAwLCAweEY4 KSAhPSBudl9pbmZvLmNyYykgewotICAgICAgICBwcmludGsoIlVua25vd24gbnZyYW0sIGZyZWV6 aW5nIVxuIik7Ci0gICAgICAgIGZvciAoOzspOwotICAgIH0KKyAgICBmd19jZmdfd3JpdGUgPSBt YXBfaW8oQ0ZHX0FERFIsIENGR19TSVpFKTsKKyAgICBmd19jZmdfcmVhZCA9ICh1aW50OF90ICop ZndfY2ZnX3dyaXRlOworCisgICAgKmZ3X2NmZ193cml0ZSA9IEZXX0NGR19TSUdOQVRVUkU7Cisg ICAgZm9yIChpID0gMDsgaSA8IDQ7IGkrKykKKyAgICAgICAgYnVmW2ldID0gKmZ3X2NmZ19yZWFk OworICAgIGJ1Zls0XSA9ICdcMCc7CisgICAgcHJpbnRrKCJDb25maWd1cmF0aW9uIGRldmljZSBp ZCAlcyIsIGJ1Zik7CisKKyAgICAqZndfY2ZnX3dyaXRlID0gRldfQ0ZHX0lEOworICAgIGZvciAo aSA9IDA7IGkgPCA0OyBpKyspCisgICAgICAgIGJ1ZltpXSA9ICpmd19jZmdfcmVhZDsKKworICAg IHRlbXAgPSBfX2xlMzJfdG9fY3B1KCoodWludDMyX3QgKilidWYpOworICAgIHByaW50aygiIHZl cnNpb24gJWQiLCB0ZW1wKTsKKworICAgICpmd19jZmdfd3JpdGUgPSBGV19DRkdfTUFDSElORV9J RDsKKyAgICBmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKQorICAgICAgICBidWZbaV0gPSAqZndfY2Zn X3JlYWQ7CiAKKyAgICBtYWNoaW5lX2lkID0gX19sZTE2X3RvX2NwdSgqKHVpbnQxNl90ICopYnVm KTsKKyAgICBwcmludGsoIiBtYWNoaW5lIGlkICVkXG4iLCBtYWNoaW5lX2lkKTsKKworICAgIG1l bWNweSgmbnZfaW5mbywgbnZyYW0sIHNpemVvZihudl9pbmZvKSk7CiAgICAga2VybmVsX2ltYWdl ID0gbnZfaW5mby5rZXJuZWxfaW1hZ2U7CiAgICAga2VybmVsX3NpemUgPSBudl9pbmZvLmtlcm5l bF9zaXplOwogICAgIHNpemUgPSBudl9pbmZvLmNtZGxpbmVfc2l6ZTsKQEAgLTc3Miw4ICs4NTEs MTAgQEAKICAgICBoZWFkZXItPmNyYyA9IE9IV19jb21wdXRlX2NyYyhoZWFkZXIsIDB4MDAsIDB4 RjgpOwogCiAgICAgYm9vdF9kZXZpY2UgPSBudl9pbmZvLmJvb3RfZGV2aWNlc1swXTsKLSAgICBu b2dyYXBoaWMgPSBudl9pbmZvLmdyYXBoaWNfZmxhZ3MgJiBPSFdfR0ZfTk9HUkFQSElDUzsKLSAg ICBncmFwaGljX2RlcHRoID0gbnZfaW5mby5kZXB0aDsKKyAgICAqZndfY2ZnX3dyaXRlID0gRldf Q0ZHX05PR1JBUEhJQzsKKyAgICBub2dyYXBoaWMgPSAqZndfY2ZnX3JlYWQ7CisgICAgKmZ3X2Nm Z193cml0ZSA9IEZXX0NGR19TVU40TV9ERVBUSDsKKyAgICBncmFwaGljX2RlcHRoID0gKmZ3X2Nm Z19yZWFkOwogCiAgICAgcHVzaF9zdHIoIm1rNDh0MDgiKTsKICAgICBmd29yZCgibW9kZWwiKTsK QEAgLTc5MCw3NCArODcxLDM3IEBACiAgICAgcHVzaF9zdHIoImlkcHJvbSIpOwogICAgIGZ3b3Jk KCJwcm9wZXJ0eSIpOwogCi0gICAgc3dpdGNoIChtYWNoaW5lX2lkKSB7Ci0gICAgY2FzZSAweDcx OgotICAgICAgICBwdXNoX3N0cigiU1BBUkNzeXN0ZW0gNjAwKDEgWCAzOTBaNTUpIik7Ci0gICAg ICAgIGZ3b3JkKCJlbmNvZGUtc3RyaW5nIik7Ci0gICAgICAgIHB1c2hfc3RyKCJiYW5uZXItbmFt ZSIpOwotICAgICAgICBmd29yZCgicHJvcGVydHkiKTsKLSAgICAgICAgcHVzaF9zdHIoIlNVTlcs U1BBUkNzeXN0ZW0tNjAwIik7Ci0gICAgICAgIGZ3b3JkKCJlbmNvZGUtc3RyaW5nIik7Ci0gICAg ICAgIHB1c2hfc3RyKCJuYW1lIik7Ci0gICAgICAgIGZ3b3JkKCJwcm9wZXJ0eSIpOwotICAgICAg ICBvYl9lY2NtZW1jdGxfaW5pdCgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIDB4NzI6Ci0g ICAgICAgIHN3aXRjaCAob2JfZWNjbWVtY3RsX2luaXQoKSkgewotICAgICAgICBkZWZhdWx0Ogot ICAgICAgICBjYXNlIDB4MTAwMDAwMDA6Ci0gICAgICAgICAgICBwdXNoX3N0cigiU1BBUkNzdGF0 aW9uIDEwICgxIFggMzkwWjU1KSIpOwotICAgICAgICAgICAgZndvcmQoImVuY29kZS1zdHJpbmci KTsKLSAgICAgICAgICAgIHB1c2hfc3RyKCJiYW5uZXItbmFtZSIpOwotICAgICAgICAgICAgZndv cmQoInByb3BlcnR5Iik7Ci0gICAgICAgICAgICBwdXNoX3N0cigiU1VOVyxTMTAsNTAxLTIzNjUi KTsKLSAgICAgICAgICAgIGZ3b3JkKCJlbmNvZGUtc3RyaW5nIik7Ci0gICAgICAgICAgICBwdXNo X3N0cigibW9kZWwiKTsKLSAgICAgICAgICAgIGZ3b3JkKCJwcm9wZXJ0eSIpOwotICAgICAgICAg ICAgcHVzaF9zdHIoIlNVTlcsU1BBUkNzdGF0aW9uLTEwIik7Ci0gICAgICAgICAgICBmd29yZCgi ZW5jb2RlLXN0cmluZyIpOwotICAgICAgICAgICAgcHVzaF9zdHIoIm5hbWUiKTsKLSAgICAgICAg ICAgIGZ3b3JkKCJwcm9wZXJ0eSIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug MHgyMDAwMDAwMDoKLSAgICAgICAgICAgIHB1c2hfc3RyKCJTUEFSQ3N0YXRpb24gMjAgKDEgWCAz OTBaNTUpIik7Ci0gICAgICAgICAgICBmd29yZCgiZW5jb2RlLXN0cmluZyIpOwotICAgICAgICAg ICAgcHVzaF9zdHIoImJhbm5lci1uYW1lIik7Ci0gICAgICAgICAgICBmd29yZCgicHJvcGVydHki KTsKLSAgICAgICAgICAgIHB1c2hfc3RyKCJTVU5XLFMyMCw1MDEtMjMyNCIpOwotICAgICAgICAg ICAgZndvcmQoImVuY29kZS1zdHJpbmciKTsKLSAgICAgICAgICAgIHB1c2hfc3RyKCJtb2RlbCIp OwotICAgICAgICAgICAgZndvcmQoInByb3BlcnR5Iik7Ci0gICAgICAgICAgICBwdXNoX3N0cigi U1VOVyxTUEFSQ3N0YXRpb24tMjAiKTsKLSAgICAgICAgICAgIGZ3b3JkKCJlbmNvZGUtc3RyaW5n Iik7Ci0gICAgICAgICAgICBwdXNoX3N0cigibmFtZSIpOwotICAgICAgICAgICAgZndvcmQoInBy b3BlcnR5Iik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsK LSAgICBjYXNlIDB4ODA6Ci0gICAgICAgIHB1c2hfc3RyKCJTUEFSQ3N0YXRpb24gNSIpOwotICAg ICAgICBmd29yZCgiZW5jb2RlLXN0cmluZyIpOwotICAgICAgICBwdXNoX3N0cigiYmFubmVyLW5h bWUiKTsKLSAgICAgICAgZndvcmQoInByb3BlcnR5Iik7Ci0gICAgICAgIHB1c2hfc3RyKCJTVU5X LDUwMS0zMDU5Iik7CisgICAgbWFjaCA9IGlkX21hY2hpbmUobWFjaGluZV9pZCk7CisKKyAgICBt YWNoLT5pbml0Zm4oKTsKKworICAgIHB1c2hfc3RyKG1hY2gtPmJhbm5lcl9uYW1lKTsKKyAgICBm d29yZCgiZW5jb2RlLXN0cmluZyIpOworICAgIHB1c2hfc3RyKCJiYW5uZXItbmFtZSIpOworICAg IGZ3b3JkKCJwcm9wZXJ0eSIpOworCisgICAgaWYgKG1hY2gtPm1vZGVsKSB7CisgICAgICAgIHB1 c2hfc3RyKG1hY2gtPm1vZGVsKTsKICAgICAgICAgZndvcmQoImVuY29kZS1zdHJpbmciKTsKICAg ICAgICAgcHVzaF9zdHIoIm1vZGVsIik7CiAgICAgICAgIGZ3b3JkKCJwcm9wZXJ0eSIpOwotICAg ICAgICBwdXNoX3N0cigiU1VOVyxTUEFSQ3N0YXRpb24tNSIpOwotICAgICAgICBmd29yZCgiZW5j b2RlLXN0cmluZyIpOwotICAgICAgICBwdXNoX3N0cigibmFtZSIpOwotICAgICAgICBmd29yZCgi cHJvcGVydHkiKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcHJpbnRr KCJVbmtub3duIG1hY2hpbmUsIGZyZWV6aW5nIVxuIik7Ci0gICAgICAgIGZvciAoOzspOwogICAg IH0KKyAgICBwdXNoX3N0cihtYWNoLT5uYW1lKTsKKyAgICBmd29yZCgiZW5jb2RlLXN0cmluZyIp OworICAgIHB1c2hfc3RyKCJuYW1lIik7CisgICAgZndvcmQoInByb3BlcnR5Iik7CisKICAgICAv LyBBZGQgY3B1cwotICAgIHByaW50aygiQ1BVczogJXgiLCBudl9pbmZvLm5iX2NwdXMpOworICAg ICpmd19jZmdfd3JpdGUgPSBGV19DRkdfTkJfQ1BVUzsKKyAgICBmb3IgKGkgPSAwOyBpIDwgNDsg aSsrKQorICAgICAgICBidWZbaV0gPSAqZndfY2ZnX3JlYWQ7CisKKyAgICB0ZW1wID0gX19sZTMy X3RvX2NwdSgqKHVpbnQzMl90ICopYnVmKTsKKworICAgIHByaW50aygiQ1BVczogJXgiLCB0ZW1w KTsKICAgICBjcHUgPSBpZF9jcHUoKTsKICAgICBwcmludGsoIiB4ICVzXG4iLCBjcHUtPm5hbWUp OwotICAgIGZvciAoaSA9IDA7IGkgPCAodW5zaWduZWQgaW50KW52X2luZm8ubmJfY3B1czsgaSsr KSB7CisgICAgZm9yIChpID0gMDsgaSA8IHRlbXA7IGkrKykgewogICAgICAgICBwdXNoX3N0cigi LyIpOwogICAgICAgICBmd29yZCgiZmluZC1kZXZpY2UiKTsKIApAQCAtOTU5LDE1ICsxMDAzLDcg QEAKICAgICAgICAgcHVzaF9zdHIoImNhY2hlLWNvaGVyZW5jZT8iKTsKICAgICAgICAgZndvcmQo InByb3BlcnR5Iik7CiAKLSAgICAgICAgc3dpdGNoIChtYWNoaW5lX2lkKSB7Ci0gICAgICAgIGNh c2UgMHg3MToKLSAgICAgICAgY2FzZSAweDcyOgotICAgICAgICAgICAgUFVTSChpICsgOCk7Ci0g ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAweDgwOgotICAgICAgICAgICAgUFVTSChp KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CisgICAgICAgIFBVU0goaSArIG1hY2gt Pm1pZF9vZmZzZXQpOwogICAgICAgICBmd29yZCgiZW5jb2RlLWludCIpOwogICAgICAgICBwdXNo X3N0cigibWlkIik7CiAgICAgICAgIGZ3b3JkKCJwcm9wZXJ0eSIpOwpJbmRleDogb3BlbmJpb3Mt cXVpbHQvZHJpdmVycy9vYmlvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gb3BlbmJpb3MtcXVpbHQub3JpZy9k cml2ZXJzL29iaW8uaAkyMDA4LTA4LTMxIDE2OjUyOjQxLjAwMDAwMDAwMCArMDAwMAorKysgb3Bl bmJpb3MtcXVpbHQvZHJpdmVycy9vYmlvLmgJMjAwOC0wOC0zMSAxODoxMTo0OC4wMDAwMDAwMDAg KzAwMDAKQEAgLTM4LDYgKzM4LDEwIEBACiAjZGVmaW5lIFNVTjRNX05DUFVTICAgICAgMTYKICNk ZWZpbmUgUEFHRV9TSVpFICAgICAgICA0MDk2CiAKKyNkZWZpbmUgQ0ZHX0FERFIgICAgICAgICAw eGQwMDAwMDUxMFVMTAorI2RlZmluZSBDRkdfU0laRSAgICAgICAgIDIKKyNkZWZpbmUgRldfQ0ZH X1NVTjRNX0RFUFRIICAgKEZXX0NGR19BUkNIX0xPQ0FMICsgMHgwMCkKKwogLyogbGludXgvaW5j bHVkZS9hc20tc3BhcmMvdGltZXIuaCAqLwogCiAvKiBBIHN1bjRtIGhhcyB0d28gYmxvY2tzIG9m IHJlZ2lzdGVycyB3aGljaCBhcmUgcHJvYmFibHkgb2YgdGhlIHNhbWUKSW5kZXg6IG9wZW5iaW9z LXF1aWx0L2RyaXZlcnMvc2J1cy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG9wZW5iaW9zLXF1aWx0Lm9yaWcv ZHJpdmVycy9zYnVzLmMJMjAwOC0wOC0zMSAxNjoyNjo1MS4wMDAwMDAwMDAgKzAwMDAKKysrIG9w ZW5iaW9zLXF1aWx0L2RyaXZlcnMvc2J1cy5jCTIwMDgtMDgtMzEgMTY6NDY6MjUuMDAwMDAwMDAw ICswMDAwCkBAIC01NzEsMTEgKzU3MSwxMSBAQAogICAgIG9iX3NidXNfbm9kZV9pbml0KGJhc2Up OwogCiAgICAgc3dpdGNoIChtYWNoaW5lX2lkKSB7Ci0gICAgY2FzZSAweDcxOgorICAgIGNhc2Ug NjY6CiAgICAgICAgIHJldHVybiBvYl9zYnVzX2luaXRfc3M2MDBtcCgpOwotICAgIGNhc2UgMHg3 MjoKKyAgICBjYXNlIDY0IC4uLiA2NToKICAgICAgICAgcmV0dXJuIG9iX3NidXNfaW5pdF9zczEw KCk7Ci0gICAgY2FzZSAweDgwOgorICAgIGNhc2UgMzIgLi4uIDYzOgogICAgICAgICByZXR1cm4g b2Jfc2J1c19pbml0X3NzNSgpOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiAtMTsK ------=_Part_32987_12511771.1220208080451--