From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13975 invoked by alias); 3 Oct 2008 16:39:43 -0000 Received: (qmail 13946 invoked by uid 22791); 3 Oct 2008 16:39:41 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.33.17) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 03 Oct 2008 16:39:06 +0000 Received: from zps18.corp.google.com (zps18.corp.google.com [172.25.146.18]) by smtp-out.google.com with ESMTP id m93Gcmj4024055 for ; Fri, 3 Oct 2008 17:38:48 +0100 Received: from wf-out-1314.google.com (wfg24.prod.google.com [10.142.7.24]) by zps18.corp.google.com with ESMTP id m93Gck7D026945 for ; Fri, 3 Oct 2008 09:38:46 -0700 Received: by wf-out-1314.google.com with SMTP id 24so1715275wfg.2 for ; Fri, 03 Oct 2008 09:38:46 -0700 (PDT) Received: by 10.114.171.1 with SMTP id t1mr1486388wae.120.1223051925912; Fri, 03 Oct 2008 09:38:45 -0700 (PDT) Received: by 10.114.78.12 with HTTP; Fri, 3 Oct 2008 09:38:45 -0700 (PDT) Message-ID: <8ac60eac0810030938i33a0671dx2d2ea3e2e82368bc@mail.gmail.com> Date: Fri, 03 Oct 2008 16:39:00 -0000 From: "Paul Pluzhnikov" To: "Joel Brobecker" Subject: Re: [patch] Re: GDB aborts on missing command args. Which way to fix? Cc: "Tom Tromey" , gdb-patches@sourceware.org In-Reply-To: <20081003070352.GR3665@adacore.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_22618_15142460.1223051925909" References: <8ac60eac0809161049t6bd917bbk8127317a7d8b42cb@mail.gmail.com> <20080919220128.GA27150@caradoc.them.org> <8ac60eac0809261621o73e8cadfyf225a20212bddbb4@mail.gmail.com> <20081003070352.GR3665@adacore.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-10/txt/msg00088.txt.bz2 ------=_Part_22618_15142460.1223051925909 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 216 On Fri, Oct 3, 2008 at 12:03 AM, Joel Brobecker wrote: > Your patch is pre-approved with the corrections mentioned above. Thanks for the review. Checked in as attached. -- Paul Pluzhnikov ------=_Part_22618_15142460.1223051925909 Content-Type: text/plain; name=gdb-buildargv-20081003.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_flv1hufr0 Content-Disposition: attachment; filename=gdb-buildargv-20081003.txt Content-length: 20976 MjAwOC0xMC0wMyAgUGF1bCBQbHV6aG5pa292ICA8cHBsdXpobmlrb3ZAZ29v Z2xlLmNvbT4KCQoJKiB1dGlscy5jLCBkZWZzLmggKGdkYl9idWlsZGFyZ3Yp OiBOZXcgZm4uIFdyYXAgYnVpbGRhcmd2CglhbmQgY2hlY2sgZm9yIG91dC1v Zi1tZW1vcnkgY29uZGl0aW9uLgoJKiBleGVjLmMgKGV4ZWNfZmlsZV9jb21t YW5kKTogQ2FsbCBpdC4KCSogaW5mcnVuLmMgKGhhbmRsZV9jb21tYW5kLCB4 ZGJfaGFuZGxlX2NvbW1hbmQpOiBMaWtld2lzZS4KCSogaW50ZXJwcy5jIChp bnRlcnByZXRlcl9leGVjX2NtZCk6IExpa2V3aXNlLgoJKiBsaW51eC1uYXQu YyAobGludXhfbmF0X2luZm9fcHJvY19jbWQpOiBMaWtld2lzZS4KCSogcHJv Y2ZzLmMgKGluZm9fcHJvY19jbWQpOiBMaWtld2lzZS4KCSogcmVtb3RlLW1p cHMuYyAoY29tbW9uX29wZW4pOiBMaWtld2lzZS4KCSogcmVtb3RlLXNpbS5j IChnZGJzaW1fa2lsbCwgZ2Ric2ltX2NyZWF0ZV9pbmZlcmlvcikKCShnZGJz aW1fb3Blbik6IExpa2V3aXNlLgoJKiByZW1vdGUuYyAoZXh0ZW5kZWRfcmVt b3RlX3J1biwgcmVtb3RlX3B1dF9jb21tYW5kKQoJKHJlbW90ZV9nZXRfY29t bWFuZCwgcmVtb3RlX2RlbGV0ZV9jb21tYW5kKTogTGlrZXdpc2UuCgkqIHNl ci1taW5ndy5jIChwaXBlX3dpbmRvd3Nfb3Blbik6IExpa2VzaXNlLgoJKiBz b3VyY2UuYyAoYWRkX3BhdGgsIHNob3dfc3Vic3RpdHV0ZV9wYXRoX2NvbW1h bmQpCgkodW5zZXRfc3Vic3RpdHV0ZV9wYXRoX2NvbW1hbmQsIHNldF9zdWJz dGl0dXRlX3BhdGhfY29tbWFuZCk6CglMaWtld2lzZS4KCSogc3RhY2suYyAo YmFja3RyYWNlX2NvbW1hbmQpOiBMaWtld2lzZS4KCSogc3ltZmlsZS5jIChz eW1ib2xfZmlsZV9jb21tYW5kLCBnZW5lcmljX2xvYWQpCgkoYWRkX3N5bWJv bF9maWxlX2NvbW1hbmQpOiBMaWtlc2lzZS4KCSogc3ltbWlzYy5jIChtYWlu dGVuYW5jZV9wcmludF9zeW1ib2xzLCBtYWludGVuYW5jZV9wcmludF9wc3lt Ym9scykKCShtYWludGVuYW5jZV9wcmludF9tc3ltYm9scyk6IExpa2V3aXNl LgoKSW5kZXg6IGRlZnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2RlZnMuaCx2CnJldHJpZXZpbmcgcmV2 aXNpb24gMS4yMzcKZGlmZiAtdSAtcCAtdSAtcjEuMjM3IGRlZnMuaAotLS0g ZGVmcy5oCTE0IFNlcCAyMDA4IDA2OjM3OjE4IC0wMDAwCTEuMjM3CisrKyBk ZWZzLmgJMyBPY3QgMjAwOCAxNjoyODozNCAtMDAwMApAQCAtNDA1LDYgKzQw NSw4IEBAIFVMT05HRVNUIHN0cnRvdWxzdCAoY29uc3QgY2hhciAqbnVtLCBj b24KIAogY2hhciAqbGRpcm5hbWUgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsK IAorY2hhciAqKmdkYl9idWlsZGFyZ3YgKGNvbnN0IGNoYXIgKik7CisKIC8q IEZyb20gZGVtYW5nbGUuYyAqLwogCiBleHRlcm4gdm9pZCBzZXRfZGVtYW5n bGluZ19zdHlsZSAoY2hhciAqKTsKSW5kZXg6IGV4ZWMuYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2V4ZWMu Yyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS43NwpkaWZmIC11IC1wIC11IC1y MS43NyBleGVjLmMKLS0tIGV4ZWMuYwk1IFNlcCAyMDA4IDExOjM3OjE3IC0w MDAwCTEuNzcKKysrIGV4ZWMuYwkzIE9jdCAyMDA4IDE2OjI4OjM0IC0wMDAw CkBAIC0zMDIsMTAgKzMwMiw3IEBAIGV4ZWNfZmlsZV9jb21tYW5kIChjaGFy ICphcmdzLCBpbnQgZnJvbV8KICAgICAgIC8qIFNjYW4gdGhyb3VnaCB0aGUg YXJncyBhbmQgcGljayB1cCB0aGUgZmlyc3Qgbm9uIG9wdGlvbiBhcmcKICAg ICAgICAgIGFzIHRoZSBmaWxlbmFtZS4gICovCiAKLSAgICAgIGFyZ3YgPSBi dWlsZGFyZ3YgKGFyZ3MpOwotICAgICAgaWYgKGFyZ3YgPT0gTlVMTCkKLSAg ICAgICAgbm9tZW0gKDApOwotCisgICAgICBhcmd2ID0gZ2RiX2J1aWxkYXJn diAoYXJncyk7CiAgICAgICBtYWtlX2NsZWFudXBfZnJlZWFyZ3YgKGFyZ3Yp OwogCiAgICAgICBmb3IgKDsgKCphcmd2ICE9IE5VTEwpICYmICgqKmFyZ3Yg PT0gJy0nKTsgYXJndisrKQpJbmRleDogaW5mcnVuLmMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9pbmZydW4u Yyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMjMKZGlmZiAtdSAtcCAtdSAt cjEuMzIzIGluZnJ1bi5jCi0tLSBpbmZydW4uYwkyIE9jdCAyMDA4IDE1OjQ4 OjA2IC0wMDAwCTEuMzIzCisrKyBpbmZydW4uYwkzIE9jdCAyMDA4IDE2OjI4 OjM1IC0wMDAwCkBAIC00MDcwLDExICs0MDcwLDcgQEAgaGFuZGxlX2NvbW1h bmQgKGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eQogCiAgIC8qIEJyZWFrIHRo ZSBjb21tYW5kIGxpbmUgdXAgaW50byBhcmdzLiAqLwogCi0gIGFyZ3YgPSBi dWlsZGFyZ3YgKGFyZ3MpOwotICBpZiAoYXJndiA9PSBOVUxMKQotICAgIHsK LSAgICAgIG5vbWVtICgwKTsKLSAgICB9CisgIGFyZ3YgPSBnZGJfYnVpbGRh cmd2IChhcmdzKTsKICAgb2xkX2NoYWluID0gbWFrZV9jbGVhbnVwX2ZyZWVh cmd2IChhcmd2KTsKIAogICAvKiBXYWxrIHRocm91Z2ggdGhlIGFyZ3MsIGxv b2tpbmcgZm9yIHNpZ25hbCBvdXJzaWdzLCBzaWduYWwgbmFtZXMsIGFuZApA QCAtNDIzMSwxMyArNDIyNywxMiBAQCB4ZGJfaGFuZGxlX2NvbW1hbmQgKGNo YXIgKmFyZ3MsIGludCBmcm9tCiAgIGNoYXIgKiphcmd2OwogICBzdHJ1Y3Qg Y2xlYW51cCAqb2xkX2NoYWluOwogCisgIGlmIChhcmdzID09IE5VTEwpCisg ICAgZXJyb3Jfbm9fYXJnIChfKCJ4ZGIgY29tbWFuZCIpKTsKKwogICAvKiBC cmVhayB0aGUgY29tbWFuZCBsaW5lIHVwIGludG8gYXJncy4gKi8KIAotICBh cmd2ID0gYnVpbGRhcmd2IChhcmdzKTsKLSAgaWYgKGFyZ3YgPT0gTlVMTCkK LSAgICB7Ci0gICAgICBub21lbSAoMCk7Ci0gICAgfQorICBhcmd2ID0gZ2Ri X2J1aWxkYXJndiAoYXJncyk7CiAgIG9sZF9jaGFpbiA9IG1ha2VfY2xlYW51 cF9mcmVlYXJndiAoYXJndik7CiAgIGlmIChhcmd2WzFdICE9IChjaGFyICop IE5VTEwpCiAgICAgewpJbmRleDogaW50ZXJwcy5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvaW50ZXJwcy5j LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI4CmRpZmYgLXUgLXAgLXUgLXIx LjI4IGludGVycHMuYwotLS0gaW50ZXJwcy5jCTI4IEp1bCAyMDA4IDE3OjUz OjUyIC0wMDAwCTEuMjgKKysrIGludGVycHMuYwkzIE9jdCAyMDA4IDE2OjI4 OjM1IC0wMDAwCkBAIC0zNzEsMjAgKzM3MSwxNSBAQCBpbnRlcnByZXRlcl9l eGVjX2NtZCAoY2hhciAqYXJncywgaW50IGZyCiAgIHVuc2lnbmVkIGludCBp OwogICBpbnQgb2xkX3F1aWV0LCB1c2VfcXVpZXQ7CiAKLSAgcHJ1bGVzID0g YnVpbGRhcmd2IChhcmdzKTsKLSAgaWYgKHBydWxlcyA9PSBOVUxMKQotICAg IHsKLSAgICAgIGVycm9yIChfKCJ1bmFibGUgdG8gcGFyc2UgYXJndW1lbnRz IikpOwotICAgIH0KKyAgaWYgKGFyZ3MgPT0gTlVMTCkKKyAgICBlcnJvcl9u b19hcmcgKF8oImludGVycHJldGVyLWV4ZWMgY29tbWFuZCIpKTsKKworICBw cnVsZXMgPSBnZGJfYnVpbGRhcmd2IChhcmdzKTsKKyAgbWFrZV9jbGVhbnVw X2ZyZWVhcmd2IChwcnVsZXMpOwogCiAgIG5ydWxlcyA9IDA7Ci0gIGlmIChw cnVsZXMgIT0gTlVMTCkKLSAgICB7Ci0gICAgICBmb3IgKHRydWxlID0gcHJ1 bGVzOyAqdHJ1bGUgIT0gTlVMTDsgdHJ1bGUrKykKLQl7Ci0JICBucnVsZXMr KzsKLQl9Ci0gICAgfQorICBmb3IgKHRydWxlID0gcHJ1bGVzOyAqdHJ1bGUg IT0gTlVMTDsgdHJ1bGUrKykKKyAgICBucnVsZXMrKzsKIAogICBpZiAobnJ1 bGVzIDwgMikKICAgICBlcnJvciAoXygidXNhZ2U6IGludGVycHJldGVyLWV4 ZWMgPGludGVycHJldGVyPiBbIDxjb21tYW5kPiAuLi4gXSIpKTsKSW5kZXg6 IGxpbnV4LW5hdC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6 IC9jdnMvc3JjL3NyYy9nZGIvbGludXgtbmF0LmMsdgpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuMTA2CmRpZmYgLXUgLXAgLXUgLXIxLjEwNiBsaW51eC1uYXQu YwotLS0gbGludXgtbmF0LmMJMjUgU2VwIDIwMDggMTQ6MTM6NDQgLTAwMDAJ MS4xMDYKKysrIGxpbnV4LW5hdC5jCTMgT2N0IDIwMDggMTY6Mjg6MzUgLTAw MDAKQEAgLTM1OTEsMTAgKzM1OTEsOCBAQCBsaW51eF9uYXRfaW5mb19wcm9j X2NtZCAoY2hhciAqYXJncywgaW50CiAgIGlmIChhcmdzKQogICAgIHsKICAg ICAgIC8qIEJyZWFrIHVwICdhcmdzJyBpbnRvIGFuIGFyZ3YgYXJyYXkuICAq LwotICAgICAgaWYgKChhcmd2ID0gYnVpbGRhcmd2IChhcmdzKSkgPT0gTlVM TCkKLQlub21lbSAoMCk7Ci0gICAgICBlbHNlCi0JbWFrZV9jbGVhbnVwX2Zy ZWVhcmd2IChhcmd2KTsKKyAgICAgIGFyZ3YgPSBnZGJfYnVpbGRhcmd2IChh cmdzKTsKKyAgICAgIG1ha2VfY2xlYW51cF9mcmVlYXJndiAoYXJndik7CiAg ICAgfQogICB3aGlsZSAoYXJndiAhPSBOVUxMICYmICphcmd2ICE9IE5VTEwp CiAgICAgewpJbmRleDogcHJvY2ZzLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9wcm9jZnMuYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS45NApkaWZmIC11IC1wIC11IC1yMS45NCBwcm9j ZnMuYwotLS0gcHJvY2ZzLmMJMjIgU2VwIDIwMDggMTU6MjE6MzAgLTAwMDAJ MS45NAorKysgcHJvY2ZzLmMJMyBPY3QgMjAwOCAxNjoyODozNSAtMDAwMApA QCAtNTg1MywxMCArNTg1Myw4IEBAIGluZm9fcHJvY19jbWQgKGNoYXIgKmFy Z3MsIGludCBmcm9tX3R0eSkKICAgb2xkX2NoYWluID0gbWFrZV9jbGVhbnVw IChudWxsX2NsZWFudXAsIDApOwogICBpZiAoYXJncykKICAgICB7Ci0gICAg ICBpZiAoKGFyZ3YgPSBidWlsZGFyZ3YgKGFyZ3MpKSA9PSBOVUxMKQotCW5v bWVtICgwKTsKLSAgICAgIGVsc2UKLQltYWtlX2NsZWFudXBfZnJlZWFyZ3Yg KGFyZ3YpOworICAgICAgYXJndiA9IGdkYl9idWlsZGFyZ3YgKGFyZ3MpOwor ICAgICAgbWFrZV9jbGVhbnVwX2ZyZWVhcmd2IChhcmd2KTsKICAgICB9CiAg IHdoaWxlIChhcmd2ICE9IE5VTEwgJiYgKmFyZ3YgIT0gTlVMTCkKICAgICB7 CkluZGV4OiByZW1vdGUtbWlwcy5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K UkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvcmVtb3RlLW1pcHMuYyx2CnJl dHJpZXZpbmcgcmV2aXNpb24gMS45MApkaWZmIC11IC1wIC11IC1yMS45MCBy ZW1vdGUtbWlwcy5jCi0tLSByZW1vdGUtbWlwcy5jCTQgU2VwIDIwMDggMjI6 NDk6MzAgLTAwMDAJMS45MAorKysgcmVtb3RlLW1pcHMuYwkzIE9jdCAyMDA4 IDE2OjI4OjM1IC0wMDAwCkBAIC0xNDkwLDggKzE0OTAsNyBAQCBkZXZpY2Ug aXMgYXR0YWNoZWQgdG8gdGhlIHRhcmdldCBib2FyZCAoCiAKICAgLyogUGFy c2UgdGhlIHNlcmlhbCBwb3J0IG5hbWUsIHRoZSBvcHRpb25hbCBURlRQIG5h bWUsIGFuZCB0aGUKICAgICAgb3B0aW9uYWwgbG9jYWwgVEZUUCBuYW1lLiAg Ki8KLSAgaWYgKChhcmd2ID0gYnVpbGRhcmd2IChuYW1lKSkgPT0gTlVMTCkK LSAgICBub21lbSAoMCk7CisgIGFyZ3YgPSBnZGJfYnVpbGRhcmd2IChuYW1l KTsKICAgbWFrZV9jbGVhbnVwX2ZyZWVhcmd2IChhcmd2KTsKIAogICBzZXJp YWxfcG9ydF9uYW1lID0geHN0cmR1cCAoYXJndlswXSk7CkluZGV4OiByZW1v dGUtc2ltLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2 cy9zcmMvc3JjL2dkYi9yZW1vdGUtc2ltLmMsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuNzYKZGlmZiAtdSAtcCAtdSAtcjEuNzYgcmVtb3RlLXNpbS5jCi0t LSByZW1vdGUtc2ltLmMJMjQgU2VwIDIwMDggMTY6Mzc6MjQgLTAwMDAJMS43 NgorKysgcmVtb3RlLXNpbS5jCTMgT2N0IDIwMDggMTY6Mjg6MzUgLTAwMDAK QEAgLTQwNiwxMiArNDA2LDEzIEBAIGdkYnNpbV9raWxsICh2b2lkKQogc3Rh dGljIHZvaWQKIGdkYnNpbV9sb2FkIChjaGFyICphcmdzLCBpbnQgZnJvbXR0 eSkKIHsKLSAgY2hhciAqKmFyZ3YgPSBidWlsZGFyZ3YgKGFyZ3MpOworICBj aGFyICoqYXJndjsKICAgY2hhciAqcHJvZzsKIAotICBpZiAoYXJndiA9PSBO VUxMKQotICAgIG5vbWVtICgwKTsKKyAgaWYgKGFyZ3MgPT0gTlVMTCkKKyAg ICAgIGVycm9yX25vX2FyZyAoXygicHJvZ3JhbSB0byBsb2FkIikpOwogCisg IGFyZ3YgPSBnZGJfYnVpbGRhcmd2IChhcmdzKTsKICAgbWFrZV9jbGVhbnVw X2ZyZWVhcmd2IChhcmd2KTsKIAogICBwcm9nID0gdGlsZGVfZXhwYW5kIChh cmd2WzBdKTsKQEAgLTQ3Miw3ICs0NzMsNyBAQCBnZGJzaW1fY3JlYXRlX2lu ZmVyaW9yIChjaGFyICpleGVjX2ZpbGUsCiAgICAgICBzdHJjYXQgKGFyZ19i dWYsIGV4ZWNfZmlsZSk7CiAgICAgICBzdHJjYXQgKGFyZ19idWYsICIgIik7 CiAgICAgICBzdHJjYXQgKGFyZ19idWYsIGFyZ3MpOwotICAgICAgYXJndiA9 IGJ1aWxkYXJndiAoYXJnX2J1Zik7CisgICAgICBhcmd2ID0gZ2RiX2J1aWxk YXJndiAoYXJnX2J1Zik7CiAgICAgICBtYWtlX2NsZWFudXBfZnJlZWFyZ3Yg KGFyZ3YpOwogICAgIH0KICAgZWxzZQpAQCAtNTQ2LDkgKzU0Nyw3IEBAIGdk YnNpbV9vcGVuIChjaGFyICphcmdzLCBpbnQgZnJvbV90dHkpCiAgICAgICBz dHJjYXQgKGFyZ19idWYsICIgIik7CS8qIDEgKi8KICAgICAgIHN0cmNhdCAo YXJnX2J1ZiwgYXJncyk7CiAgICAgfQotICBhcmd2ID0gYnVpbGRhcmd2IChh cmdfYnVmKTsKLSAgaWYgKGFyZ3YgPT0gTlVMTCkKLSAgICBlcnJvciAoXygi SW5zdWZmaWNpZW50IG1lbW9yeSBhdmFpbGFibGUgdG8gYWxsb2NhdGUgc2lt dWxhdG9yIGFyZyBsaXN0LiIpKTsKKyAgYXJndiA9IGdkYl9idWlsZGFyZ3Yg KGFyZ19idWYpOwogICBtYWtlX2NsZWFudXBfZnJlZWFyZ3YgKGFyZ3YpOwog CiAgIGluaXRfY2FsbGJhY2tzICgpOwpJbmRleDogcmVtb3RlLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9y ZW1vdGUuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMTAKZGlmZiAtdSAt cCAtdSAtcjEuMzEwIHJlbW90ZS5jCi0tLSByZW1vdGUuYwkyMiBTZXAgMjAw OCAxNToyMTozMCAtMDAwMAkxLjMxMAorKysgcmVtb3RlLmMJMyBPY3QgMjAw OCAxNjoyODozNSAtMDAwMApAQCAtNTU0NiwxMyArNTU0NiwxNCBAQCBleHRl bmRlZF9yZW1vdGVfcnVuIChjaGFyICphcmdzKQogICAgIGVycm9yIChfKCJS ZW1vdGUgZmlsZSBuYW1lIHRvbyBsb25nIGZvciBydW4gcGFja2V0IikpOwog ICBsZW4gKz0gMiAqIGJpbjJoZXggKChnZGJfYnl0ZSAqKSByZW1vdGVfZXhl Y19maWxlLCBycy0+YnVmICsgbGVuLCAwKTsKIAorICBnZGJfYXNzZXJ0IChh cmdzICE9IE5VTEwpOwogICBpZiAoKmFyZ3MpCiAgICAgewogICAgICAgc3Ry dWN0IGNsZWFudXAgKmJhY2tfdG87CiAgICAgICBpbnQgaTsKICAgICAgIGNo YXIgKiphcmd2OwogCi0gICAgICBhcmd2ID0gYnVpbGRhcmd2IChhcmdzKTsK KyAgICAgIGFyZ3YgPSBnZGJfYnVpbGRhcmd2IChhcmdzKTsKICAgICAgIGJh Y2tfdG8gPSBtYWtlX2NsZWFudXAgKCh2b2lkICgqKSAodm9pZCAqKSkgZnJl ZWFyZ3YsIGFyZ3YpOwogICAgICAgZm9yIChpID0gMDsgYXJndltpXSAhPSBO VUxMOyBpKyspCiAJewpAQCAtNzQ5MSw5ICs3NDkyLDEwIEBAIHJlbW90ZV9w dXRfY29tbWFuZCAoY2hhciAqYXJncywgaW50IGZyb20KICAgc3RydWN0IGNs ZWFudXAgKmJhY2tfdG87CiAgIGNoYXIgKiphcmd2OwogCi0gIGFyZ3YgPSBi dWlsZGFyZ3YgKGFyZ3MpOwotICBpZiAoYXJndiA9PSBOVUxMKQotICAgIG5v bWVtICgwKTsKKyAgaWYgKGFyZ3MgPT0gTlVMTCkKKyAgICBlcnJvcl9ub19h cmcgKF8oImZpbGUgdG8gcHV0IikpOworCisgIGFyZ3YgPSBnZGJfYnVpbGRh cmd2IChhcmdzKTsKICAgYmFja190byA9IG1ha2VfY2xlYW51cF9mcmVlYXJn diAoYXJndik7CiAgIGlmIChhcmd2WzBdID09IE5VTEwgfHwgYXJndlsxXSA9 PSBOVUxMIHx8IGFyZ3ZbMl0gIT0gTlVMTCkKICAgICBlcnJvciAoXygiSW52 YWxpZCBwYXJhbWV0ZXJzIHRvIHJlbW90ZSBwdXQiKSk7CkBAIC03NTA5LDkg Kzc1MTEsMTAgQEAgcmVtb3RlX2dldF9jb21tYW5kIChjaGFyICphcmdzLCBp bnQgZnJvbQogICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsKICAgY2hhciAq KmFyZ3Y7CiAKLSAgYXJndiA9IGJ1aWxkYXJndiAoYXJncyk7Ci0gIGlmIChh cmd2ID09IE5VTEwpCi0gICAgbm9tZW0gKDApOworICBpZiAoYXJncyA9PSBO VUxMKQorICAgIGVycm9yX25vX2FyZyAoXygiZmlsZSB0byBnZXQiKSk7CisK KyAgYXJndiA9IGdkYl9idWlsZGFyZ3YgKGFyZ3MpOwogICBiYWNrX3RvID0g bWFrZV9jbGVhbnVwX2ZyZWVhcmd2IChhcmd2KTsKICAgaWYgKGFyZ3ZbMF0g PT0gTlVMTCB8fCBhcmd2WzFdID09IE5VTEwgfHwgYXJndlsyXSAhPSBOVUxM KQogICAgIGVycm9yIChfKCJJbnZhbGlkIHBhcmFtZXRlcnMgdG8gcmVtb3Rl IGdldCIpKTsKQEAgLTc1MjcsOSArNzUzMCwxMCBAQCByZW1vdGVfZGVsZXRl X2NvbW1hbmQgKGNoYXIgKmFyZ3MsIGludCBmCiAgIHN0cnVjdCBjbGVhbnVw ICpiYWNrX3RvOwogICBjaGFyICoqYXJndjsKIAotICBhcmd2ID0gYnVpbGRh cmd2IChhcmdzKTsKLSAgaWYgKGFyZ3YgPT0gTlVMTCkKLSAgICBub21lbSAo MCk7CisgIGlmIChhcmdzID09IE5VTEwpCisgICAgZXJyb3Jfbm9fYXJnIChf KCJmaWxlIHRvIGRlbGV0ZSIpKTsKKworICBhcmd2ID0gZ2RiX2J1aWxkYXJn diAoYXJncyk7CiAgIGJhY2tfdG8gPSBtYWtlX2NsZWFudXBfZnJlZWFyZ3Yg KGFyZ3YpOwogICBpZiAoYXJndlswXSA9PSBOVUxMIHx8IGFyZ3ZbMV0gIT0g TlVMTCkKICAgICBlcnJvciAoXygiSW52YWxpZCBwYXJhbWV0ZXJzIHRvIHJl bW90ZSBkZWxldGUiKSk7CkluZGV4OiBzZXItbWluZ3cuYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3Nlci1t aW5ndy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE0CmRpZmYgLXUgLXAg LXUgLXIxLjE0IHNlci1taW5ndy5jCi0tLSBzZXItbWluZ3cuYwkzIFNlcCAy MDA4IDIzOjU0OjE5IC0wMDAwCTEuMTQKKysrIHNlci1taW5ndy5jCTMgT2N0 IDIwMDggMTY6Mjg6MzUgLTAwMDAKQEAgLTgxOCwxMiArODE4LDE1IEBAIHBp cGVfd2luZG93c19vcGVuIChzdHJ1Y3Qgc2VyaWFsICpzY2IsIGMKICAgc3Ry dWN0IHBpcGVfc3RhdGUgKnBzOwogICBGSUxFICpwZXhfc3RkZXJyOwogCi0g IGNoYXIgKiphcmd2ID0gYnVpbGRhcmd2IChuYW1lKTsKKyAgaWYgKG5hbWUg PT0gTlVMTCkKKyAgICBlcnJvcl9ub19hcmcgKF8oImNoaWxkIGNvbW1hbmQi KSk7CisKKyAgY2hhciAqKmFyZ3YgPSBnZGJfYnVpbGRhcmd2IChuYW1lKTsK ICAgc3RydWN0IGNsZWFudXAgKmJhY2tfdG8gPSBtYWtlX2NsZWFudXBfZnJl ZWFyZ3YgKGFyZ3YpOworCiAgIGlmICghIGFyZ3ZbMF0gfHwgYXJndlswXVsw XSA9PSAnXDAnKQogICAgIGVycm9yICgibWlzc2luZyBjaGlsZCBjb21tYW5k Iik7CiAKLQogICBwcyA9IG1ha2VfcGlwZV9zdGF0ZSAoKTsKICAgbWFrZV9j bGVhbnVwIChjbGVhbnVwX3BpcGVfc3RhdGUsIHBzKTsKIApJbmRleDogc291 cmNlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9z cmMvc3JjL2dkYi9zb3VyY2UuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45 MQpkaWZmIC11IC1wIC11IC1yMS45MSBzb3VyY2UuYwotLS0gc291cmNlLmMJ MTEgU2VwIDIwMDggMTQ6MjE6NDkgLTAwMDAJMS45MQorKysgc291cmNlLmMJ MyBPY3QgMjAwOCAxNjoyODozNSAtMDAwMApAQCAtNDI4LDEyICs0MjgsOSBA QCBhZGRfcGF0aCAoY2hhciAqZGlybmFtZSwgY2hhciAqKndoaWNoX3BhCiAg ICAgICAvKiBUaGlzIHdpbGwgcHJvcGVybHkgcGFyc2UgdGhlIHNwYWNlIGFu ZCB0YWIgc2VwYXJhdG9ycwogCSBhbmQgYW55IHF1b3RlcyB0aGF0IG1heSBl eGlzdC4gRElSTkFNRV9TRVBBUkFUT1Igd2lsbAogCSBiZSBkZWFsdCB3aXRo IGxhdGVyLiAgKi8KLSAgICAgIGFyZ3YgPSBidWlsZGFyZ3YgKGRpcm5hbWUp OworICAgICAgYXJndiA9IGdkYl9idWlsZGFyZ3YgKGRpcm5hbWUpOwogICAg ICAgbWFrZV9jbGVhbnVwX2ZyZWVhcmd2IChhcmd2KTsKIAotICAgICAgaWYg KGFyZ3YgPT0gTlVMTCkKLQlub21lbSAoMCk7Ci0KICAgICAgIGFyZyA9IGFy Z3ZbMF07CiAgICAgfQogICBlbHNlCkBAIC0xODEzLDcgKzE4MTAsNyBAQCBz aG93X3N1YnN0aXR1dGVfcGF0aF9jb21tYW5kIChjaGFyICphcmdzCiAgIGNo YXIgKiphcmd2OwogICBjaGFyICpmcm9tID0gTlVMTDsKICAgCi0gIGFyZ3Yg PSBidWlsZGFyZ3YgKGFyZ3MpOworICBhcmd2ID0gZ2RiX2J1aWxkYXJndiAo YXJncyk7CiAgIG1ha2VfY2xlYW51cF9mcmVlYXJndiAoYXJndik7CiAKICAg LyogV2UgZXhwZWN0IHplcm8gb3Igb25lIGFyZ3VtZW50LiAgKi8KQEAgLTE4 NDYsNyArMTg0Myw3IEBAIHN0YXRpYyB2b2lkCiB1bnNldF9zdWJzdGl0dXRl X3BhdGhfY29tbWFuZCAoY2hhciAqYXJncywgaW50IGZyb21fdHR5KQogewog ICBzdHJ1Y3Qgc3Vic3RpdHV0ZV9wYXRoX3J1bGUgKnJ1bGUgPSBzdWJzdGl0 dXRlX3BhdGhfcnVsZXM7Ci0gIGNoYXIgKiphcmd2ID0gYnVpbGRhcmd2IChh cmdzKTsKKyAgY2hhciAqKmFyZ3YgPSBnZGJfYnVpbGRhcmd2IChhcmdzKTsK ICAgY2hhciAqZnJvbSA9IE5VTEw7CiAgIGludCBydWxlX2ZvdW5kID0gMDsK IApAQCAtMTg5OSw3ICsxODk2LDcgQEAgc2V0X3N1YnN0aXR1dGVfcGF0aF9j b21tYW5kIChjaGFyICphcmdzLAogICBjaGFyICoqYXJndjsKICAgc3RydWN0 IHN1YnN0aXR1dGVfcGF0aF9ydWxlICpydWxlOwogICAKLSAgYXJndiA9IGJ1 aWxkYXJndiAoYXJncyk7CisgIGFyZ3YgPSBnZGJfYnVpbGRhcmd2IChhcmdz KTsKICAgbWFrZV9jbGVhbnVwX2ZyZWVhcmd2IChhcmd2KTsKIAogICBpZiAo YXJndiA9PSBOVUxMIHx8IGFyZ3ZbMF0gPT0gTlVMTCB8fCBhcmd2IFsxXSA9 PSBOVUxMKQpJbmRleDogc3RhY2suYwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3N0YWNrLmMsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMTc5CmRpZmYgLXUgLXAgLXUgLXIxLjE3OSBzdGFj ay5jCi0tLSBzdGFjay5jCTI1IFNlcCAyMDA4IDE2OjA0OjExIC0wMDAwCTEu MTc5CisrKyBzdGFjay5jCTMgT2N0IDIwMDggMTY6Mjg6MzUgLTAwMDAKQEAg LTEyODIsNyArMTI4Miw3IEBAIGJhY2t0cmFjZV9jb21tYW5kIChjaGFyICph cmcsIGludCBmcm9tX3QKICAgICAgIGNoYXIgKiphcmd2OwogICAgICAgaW50 IGk7CiAKLSAgICAgIGFyZ3YgPSBidWlsZGFyZ3YgKGFyZyk7CisgICAgICBh cmd2ID0gZ2RiX2J1aWxkYXJndiAoYXJnKTsKICAgICAgIG9sZF9jaGFpbiA9 IG1ha2VfY2xlYW51cF9mcmVlYXJndiAoYXJndik7CiAgICAgICBhcmdjID0g MDsKICAgICAgIGZvciAoaSA9IDA7IGFyZ3ZbaV07IGkrKykKSW5kZXg6IHN5 bWZpbGUuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz L3NyYy9zcmMvZ2RiL3N5bWZpbGUuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24g MS4yMTcKZGlmZiAtdSAtcCAtdSAtcjEuMjE3IHN5bWZpbGUuYwotLS0gc3lt ZmlsZS5jCTEgT2N0IDIwMDggMTc6MjE6MDYgLTAwMDAJMS4yMTcKKysrIHN5 bWZpbGUuYwkzIE9jdCAyMDA4IDE2OjI4OjM1IC0wMDAwCkBAIC0xNDgzLDE0 ICsxNDgzLDExIEBAIHN5bWJvbF9maWxlX2NvbW1hbmQgKGNoYXIgKmFyZ3Ms IGludCBmcm8KICAgICB9CiAgIGVsc2UKICAgICB7Ci0gICAgICBjaGFyICoq YXJndiA9IGJ1aWxkYXJndiAoYXJncyk7CisgICAgICBjaGFyICoqYXJndiA9 IGdkYl9idWlsZGFyZ3YgKGFyZ3MpOwogICAgICAgaW50IGZsYWdzID0gT0JK Rl9VU0VSTE9BREVEOwogICAgICAgc3RydWN0IGNsZWFudXAgKmNsZWFudXBz OwogICAgICAgY2hhciAqbmFtZSA9IE5VTEw7CiAKLSAgICAgIGlmIChhcmd2 ID09IE5VTEwpCi0Jbm9tZW0gKDApOwotCiAgICAgICBjbGVhbnVwcyA9IG1h a2VfY2xlYW51cF9mcmVlYXJndiAoYXJndik7CiAgICAgICB3aGlsZSAoKmFy Z3YgIT0gTlVMTCkKIAl7CkBAIC0xOTI0LDExICsxOTIxLDEwIEBAIGdlbmVy aWNfbG9hZCAoY2hhciAqYXJncywgaW50IGZyb21fdHR5KQogCiAgIG1ha2Vf Y2xlYW51cCAoY2xlYXJfbWVtb3J5X3dyaXRlX2RhdGEsICZjYmRhdGEucmVx dWVzdHMpOwogCi0gIGFyZ3YgPSBidWlsZGFyZ3YgKGFyZ3MpOwotCi0gIGlm IChhcmd2ID09IE5VTEwpCi0gICAgbm9tZW0oMCk7CisgIGlmIChhcmdzID09 IE5VTEwpCisgICAgZXJyb3Jfbm9fYXJnIChfKCJmaWxlIHRvIGxvYWQiKSk7 CiAKKyAgYXJndiA9IGdkYl9idWlsZGFyZ3YgKGFyZ3MpOwogICBtYWtlX2Ns ZWFudXBfZnJlZWFyZ3YgKGFyZ3YpOwogCiAgIGZpbGVuYW1lID0gdGlsZGVf ZXhwYW5kIChhcmd2WzBdKTsKQEAgLTIxMTcsMTIgKzIxMTMsOSBAQCBhZGRf c3ltYm9sX2ZpbGVfY29tbWFuZCAoY2hhciAqYXJncywgaW50CiAgIGlmIChh cmdzID09IE5VTEwpCiAgICAgZXJyb3IgKF8oImFkZC1zeW1ib2wtZmlsZSB0 YWtlcyBhIGZpbGUgbmFtZSBhbmQgYW4gYWRkcmVzcyIpKTsKIAotICBhcmd2 ID0gYnVpbGRhcmd2IChhcmdzKTsKKyAgYXJndiA9IGdkYl9idWlsZGFyZ3Yg KGFyZ3MpOwogICBtYWtlX2NsZWFudXBfZnJlZWFyZ3YgKGFyZ3YpOwogCi0g IGlmIChhcmd2ID09IE5VTEwpCi0gICAgbm9tZW0gKDApOwotCiAgIGZvciAo YXJnID0gYXJndlswXSwgYXJnY250ID0gMDsgYXJnICE9IE5VTEw7IGFyZyA9 IGFyZ3ZbKythcmdjbnRdKQogICAgIHsKICAgICAgIC8qIFByb2Nlc3MgdGhl IGFyZ3VtZW50LiAqLwpJbmRleDogc3ltbWlzYy5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvc3ltbWlzYy5j LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjU3CmRpZmYgLXUgLXAgLXUgLXIx LjU3IHN5bW1pc2MuYwotLS0gc3ltbWlzYy5jCTEgT2N0IDIwMDggMTY6NTY6 NTIgLTAwMDAJMS41NworKysgc3ltbWlzYy5jCTMgT2N0IDIwMDggMTY6Mjg6 MzUgLTAwMDAKQEAgLTUyNiwxMCArNTI2LDcgQEAgbWFpbnRlbmFuY2VfcHJp bnRfc3ltYm9scyAoY2hhciAqYXJncywgaQogICAgICAgZXJyb3IgKF8oIlwK IEFyZ3VtZW50cyBtaXNzaW5nOiBhbiBvdXRwdXQgZmlsZSBuYW1lIGFuZCBh biBvcHRpb25hbCBzeW1ib2wgZmlsZSBuYW1lIikpOwogICAgIH0KLSAgZWxz ZSBpZiAoKGFyZ3YgPSBidWlsZGFyZ3YgKGFyZ3MpKSA9PSBOVUxMKQotICAg IHsKLSAgICAgIG5vbWVtICgwKTsKLSAgICB9CisgIGFyZ3YgPSBnZGJfYnVp bGRhcmd2IChhcmdzKTsKICAgY2xlYW51cHMgPSBtYWtlX2NsZWFudXBfZnJl ZWFyZ3YgKGFyZ3YpOwogCiAgIGlmIChhcmd2WzBdICE9IE5VTEwpCkBAIC03 MzksMTAgKzczNiw3IEBAIG1haW50ZW5hbmNlX3ByaW50X3BzeW1ib2xzIChj aGFyICphcmdzLCAKICAgICB7CiAgICAgICBlcnJvciAoXygicHJpbnQtcHN5 bWJvbHMgdGFrZXMgYW4gb3V0cHV0IGZpbGUgbmFtZSBhbmQgb3B0aW9uYWwg c3ltYm9sIGZpbGUgbmFtZSIpKTsKICAgICB9Ci0gIGVsc2UgaWYgKChhcmd2 ID0gYnVpbGRhcmd2IChhcmdzKSkgPT0gTlVMTCkKLSAgICB7Ci0gICAgICBu b21lbSAoMCk7Ci0gICAgfQorICBhcmd2ID0gZ2RiX2J1aWxkYXJndiAoYXJn cyk7CiAgIGNsZWFudXBzID0gbWFrZV9jbGVhbnVwX2ZyZWVhcmd2IChhcmd2 KTsKIAogICBpZiAoYXJndlswXSAhPSBOVUxMKQpAQCAtODc4LDEwICs4NzIs NyBAQCBtYWludGVuYW5jZV9wcmludF9tc3ltYm9scyAoY2hhciAqYXJncywg CiAgICAgewogICAgICAgZXJyb3IgKF8oInByaW50LW1zeW1ib2xzIHRha2Vz IGFuIG91dHB1dCBmaWxlIG5hbWUgYW5kIG9wdGlvbmFsIHN5bWJvbCBmaWxl IG5hbWUiKSk7CiAgICAgfQotICBlbHNlIGlmICgoYXJndiA9IGJ1aWxkYXJn diAoYXJncykpID09IE5VTEwpCi0gICAgewotICAgICAgbm9tZW0gKDApOwot ICAgIH0KKyAgYXJndiA9IGdkYl9idWlsZGFyZ3YgKGFyZ3MpOwogICBjbGVh bnVwcyA9IG1ha2VfY2xlYW51cF9mcmVlYXJndiAoYXJndik7CiAKICAgaWYg KGFyZ3ZbMF0gIT0gTlVMTCkKSW5kZXg6IHV0aWxzLmMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi91dGlscy5j LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE5NQpkaWZmIC11IC1wIC11IC1y MS4xOTUgdXRpbHMuYwotLS0gdXRpbHMuYwk4IFNlcCAyMDA4IDIxOjU3OjQy IC0wMDAwCTEuMTk1CisrKyB1dGlscy5jCTMgT2N0IDIwMDggMTY6Mjg6MzUg LTAwMDAKQEAgLTMzNDksMyArMzM0OSwxNyBAQCBsZGlybmFtZSAoY29uc3Qg Y2hhciAqZmlsZW5hbWUpCiAgIGRpcm5hbWVbYmFzZSAtIGZpbGVuYW1lXSA9 ICdcMCc7CiAgIHJldHVybiBkaXJuYW1lOwogfQorCisvKiBDYWxsIGxpYmli ZXJ0eSdzIGJ1aWxkYXJndiwgYW5kIHJldHVybiB0aGUgcmVzdWx0LgorICAg SWYgYnVpbGRhcmd2IGZhaWxzIGR1ZSB0byBvdXQtb2YtbWVtb3J5LCBjYWxs IG5vbWVtLgorICAgVGhlcmVmb3JlLCB0aGUgcmV0dXJuZWQgdmFsdWUgaXMg Z3VhcmFudGVlZCB0byBiZSBub24tTlVMTCwKKyAgIHVubGVzcyB0aGUgcGFy YW1ldGVyIGl0c2VsZiBpcyBOVUxMLiAgKi8KKworY2hhciAqKgorZ2RiX2J1 aWxkYXJndiAoY29uc3QgY2hhciAqcykKK3sKKyAgY2hhciAqKmFyZ3YgPSBi dWlsZGFyZ3YgKHMpOworICBpZiAocyAhPSBOVUxMICYmIGFyZ3YgPT0gTlVM TCkKKyAgICBub21lbSAoMCk7CisgIHJldHVybiBhcmd2OworfQo= ------=_Part_22618_15142460.1223051925909--