From nobody Thu Apr 25 01:24:19 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 78.46.105.101 is neither permitted nor denied by domain of seabios.org) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zoho.com: 78.46.105.101 is neither permitted nor denied by domain of seabios.org) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1554901729; cv=none; d=zoho.com; s=zohoarc; b=YX+75R/oB7emUzMsMgywh9hD2GC8w+IuQLvy+jc4Ae8K6v1aLncIvACI/Z3QloK6rQ8Bm+lksh3lJeLWZ3vwwbqHXG3qQN7VLp3HPozm8iMk5ryRhh6lVwzU0kgkMGNxbkg1hth7Jv8chKMk4WjT4HuUM8pxQwPWpwZLpnBRU7I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554901729; h=Content-Type:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Subject:To:ARC-Authentication-Results; bh=AnCZeARPn0jvpYfogEIiukX1TmTta+JGqeUOsjhkLDQ=; b=M6i5eMdilMCEtXqrgGyZhOcUSUOBvt606M0M8N1tG8jz77M2JzYejHjr4KLtVZr5GTWI/A4mPHbmG3YcAZGYSFGgOf6Ax2qULmkL4uI4TzGKtolRRUxWD/1r7pExMw/uecwR5PABBQj9v1h32LIES62risI7p4g6OZE0uS4q6N0= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=none (zoho.com: 78.46.105.101 is neither permitted nor denied by domain of seabios.org) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1554901729074867.8720641585551; Wed, 10 Apr 2019 06:08:49 -0700 (PDT) Received: from [192.168.203.99] (mailu_mailman-core_1.mailu_default [192.168.203.99]) by coreboot.org (Postfix) with ESMTP id 66B05A40984; Wed, 10 Apr 2019 13:08:44 +0000 (UTC) Received: from mail-qt1-f194.google.com (mail-qt1-f194.google.com [209.85.160.194]) by coreboot.org (Postfix) with ESMTP id 76F46A4097D for ; Wed, 10 Apr 2019 13:08:30 +0000 (UTC) Received: by mail-qt1-f194.google.com with SMTP id t28so2696848qte.6 for ; Wed, 10 Apr 2019 06:08:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=dPuJLUFvxI/RQ++/DXPjT1x09i5mMWD9ZlnGj5BCnlM=; b=VODAyfLS09wM+p1YB2/xPJA2fTGAZmlZXU4dMK/Fnykcv/YagsdHklLpU4l/DbQCDk bUvBHf+PW6lqQGR/qgUh7+5aa6EwZPtqM4Ce1+ImgGv78wmjN2mKdG1c4Y2YKyWIxZgx IbjD2qHkWZVKJWqLtGBk1EYUDNq/usPgU6PtKNGY2Zex/dcHw/oI0ln5DuiT9UhP80QX o82yIL/04NuIU3PJeb8ZYnAzcXGEPUd+pTdJ5GuHNFEGUBkPzmWWyNLyPGMfmmg2nfbO X/YhQNqOvcxWIcU63zqhKuhF26lhAhH9ealOBZoqSkU/U6lRr19ji+UShJ8q8pAG45TH t0jA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=dPuJLUFvxI/RQ++/DXPjT1x09i5mMWD9ZlnGj5BCnlM=; b=a3R/DaQK9GgKHBuN2YpPH0oUGFDpW+p7kMYh1RIapIiHR+5NnNiraddiXA6Gl+zxiX LUsYNi1ubYQx3q4ii/bM1gn/YlhksaOnSEE9+3OxExiVtkB0BR4VEhhoNP0bCx55k1Ve e4snZAQG/aXqN4AdN3y/L3SXjvLSOwZeT3JwB/2XOHR7O//qGItoNgzn8iv2lx3NU+1E l5AvCAVLuwCEcwwfwTEYRpOenpFrJH1FzjkYVPFAuDB4k2jvrF9pxn6cUEIdD2akD1ZF tQbuAsob3eod/Zom0naygKmLP26kt5MbrzoLmMtJ/VfwY4S/hXF7HQXdG5L7xwvzKcST c0wA== X-Gm-Message-State: APjAAAVb7ON+5R0YW/qRTIa7sZgOheVknAMGcZiKLR8ujbNzVJ2psflZ tvNu4xB+hzLSJXdXwOgLJFGWqPKjJtTuJ/hVvWyNLWv4VmI= X-Google-Smtp-Source: APXvYqyevbZnznOvpxAZLvruy4w4paKQdz2/qpXl/XA4ZoQhsknfseHRULdQlSqOcKZqWsEk3kuB+hgPDnoFiOHsGBs= X-Received: by 2002:ac8:2ed7:: with SMTP id i23mr37293211qta.326.1554901708861; Wed, 10 Apr 2019 06:08:28 -0700 (PDT) MIME-Version: 1.0 From: Mike Banon Date: Wed, 10 Apr 2019 16:08:17 +0300 Message-ID: To: seabios@seabios.org, Rogier en Ingrid , Martin Roth , awokd , eforname@freemail.hu, Taiidan@gmx.com Content-Type: multipart/mixed; boundary="00000000000004915905862cc4c5" Message-ID-Hash: CKWLNTZU43SAHQ26USNFASORA2H5BXBE X-Message-ID-Hash: CKWLNTZU43SAHQ26USNFASORA2H5BXBE X-MailFrom: mikebdp2@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.0 Precedence: list Subject: [SeaBIOS] [PATCH] advanced_bootmenu: up to 35 entries (2 pages if >18), numpad support (console) List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-Spamd-Bar: +++ X-Spam-Level: *** Authentication-Results: coreboot.org X-Zoho-Virus-Status: 1 X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable --00000000000004915905862cc4c5 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIHN1cHBvcnQgZm9yIHVwIHRvIDM1IGJvb3QgbWVudSBlbnRyaWVzICgyIHBhZ2VzIGlmID4x OCkuIFRvIHNvbHZlIHRoZQoiPjEwIiBwcm9ibGVtIGN1cnJlbnRseSBleHBlcmllbmNlZCBieSBT ZWFCSU9TIHVzZXJzICh0aGVyZSBhcmUgbm8gMTEsIDEyLCA9CmV0Yy4Ka2V5cyBvbiBhIGtleWJv YXJkIC0gc28gaW1wb3NzaWJsZSB0byBjaG9vc2UgdGhlIGxhc3QgbWVudSBlbnRyaWVzIGlmIHlv dSBnPQpvdAo+MTAgZW50cmllcyBiZWNhdXNlIG9mIG11bHRpcGxlIGhhcmQgZHJpdmVzIC8gc2Vj b25kYXJ5IHBheWxvYWRzIC8gZmxvcHBpZXMpCi0gdGhlIGJvb3QgbWVudSBoYXMgYmVlbiBleHRl bmRlZCB0byB0aGUgbGV0dGVyIGtleXMuIE5PVEU6IFRQTSBtZW51IGhhcyBiZT0KZW4KbW92ZWQg ZnJvbSBUIHRvIE0gbGV0dGVyOiBpdCBpcyBhdCB0aGUgZW5kIG9mIGtleWJvYXJkJ3MgM3JkIHJv dyBvZiBsZXR0ZXJzPQogYW5kCiJUcnVzdGVkIiBpcyBhZGplY3RpdmUgd2hpbGUgIk1vZHVsZSIg aXMgYSBub3VuOyBhbHRlcm5hdGl2ZWx5IGNvdWxkIHByZXNzID0KJy0nLgoKQWxzbywgYWRkIHN1 cHBvcnQgZm9yIGEgbnVtcGFkLiBTbWFsbCBVU0IgbnVtcGFkIGNvdWxkIGJlIHJlYWxseSBjb252 ZW5pZW50PQogZm9yCmNob29zaW5nIHRoZSBib290IGVudHJpZXMgYXQgY29yZWJvb3QgYm9hcmRz IHVzZWQgYXMgKG1heWJlIGhlYWRsZXNzKSBzZXJ2ZT0KcnMuCicvJyBjaGFyIG9uIG51bXBhZCBj b3VsZCBiZSB1c2VkIHRvIG9wZW4gdGhlIGJvb3QgbWVudSBvciB0byBleGl0IGl0LiBJZiB0aD0K ZXJlCmFyZSA+MTAgYm9vdCBtZW51IGVudHJpZXMgLSB0aGUgbnVtcGFkIGNvbnNvbGUgaW50ZXJm YWNlIHdpbGwgYmUgZW5hYmxlZDogcD0KcmVzcwpvbmUgb3IgdHdvIGRpZ2l0IGtleXMgYW5kIHRo ZW4gRU5URVIgdG8gY29uZmlybSB5b3VyIGNob2ljZSwgb3IgcmVtb3ZlIGEgZGk9CmdpdApieSBw cmVzc2luZyB0aGUgJy5EZWwnIGtleS4gQWxzbyB5b3UgY291bGQgY2FsbCBUUE0gd2l0aCAnLScg a2V5IGF0IGFueSBtb209CmVudCwKb3IgYm9vdCB3aXRoIGEgc2luZ2xlIGtleSBwcmVzcyBvZiB5 b3VyIGZ1bGxzaXplIGtleWJvYXJkLgoKU2lnbmVkLW9mZi1ieTogTWlrZSBCYW5vbiA8bWlrZWJk cDIgYXQgZ21haWwuY29tPgoocGF0Y2ggYm9keSBpcyBhZnRlciB0aGUgdGVzdGluZyBpbnN0cnVj dGlvbnMgYmVsb3cpCgpUaGlzICJhZHZhbmNlZF9ib290bWVudSIgcGF0Y2ggaXMgbXVjaCBtb3Jl IHVzZWZ1bCB3aGVuIHVzZWQgdG9nZXRoZXIKd2l0aCBteSAibXVsdGlwbGVfZmxvcHBpZXMiIHBh dGNoOgpbU2VhQklPU10gW1BBVENIIHYyXSByYW1kaXNrOiBzZWFyY2ggZm9yIGFsbCBhdmFpbGFi bGUgZmxvcHB5IGltYWdlcwppbnN0ZWFkIG9mIG9uZQpodHRwczovL21haWwuY29yZWJvb3Qub3Jn L3BpcGVybWFpbC9zZWFiaW9zLzIwMTgtRGVjZW1iZXIvMDEyNjcwLmh0bWwKClNhZGx5IEkgaGF2 ZW4ndCBkb25lIHRoZSBzdWdnZXN0aW9ucyBieSBLZXZpbiAoSSBoYXZlIHNvIG1hbnkgdW5maW5p c2hlZCB0YT0Kc2tzKQpzbyB0aGUgIm11bHRpcGxlX2Zsb3BwaWVzIiBwYXRjaCBpcyBhbHNvIG5v dCBtZXJnZWQgeWV0LiBCdXQgeW91IGNvdWxkIGluc3Q9CmFsbApib3RoIHBhdGNoZXMgdG8geW91 ciBjb3JlYm9vdCBieSBleGVjdXRpbmcgdGhpcyBzY3JpcHQgd2hpbGUgYXQgLi9jb3JlYm9vdCA9 CmRpcjoKaHR0cHM6Ly9wYXN0ZWJpbi5jb20vcmF3L2h2OXNTdU1VCgpBbmQgaGVyZSBpcyBhIGNv cmVib290IGltYWdlIGZvciBRRU1VIHdpdGggdGhlc2UgdHdvIHBhdGNoZXMgYXBwbGllZCBhbmQg bXkKY29sbGVjdGlvbiBvZiB3b25kZXJmdWwgYW5kIHVzZWZ1bCBmbG9wcGllcyBhZGRlZCB0byBw b3B1bGFyIHRoZSBlbnRyaWVzIGxpPQpzdDoKaHR0cHM6Ly9naXRodWIuY29tL21pa2ViZHAyL2Zs b3BhcmNoaXZlL2Jsb2IvbWFzdGVyL2NvcmVib290LnJvbT9yYXc9M0R0cnVlCkRlc2NyaXB0aW9u cyBvZiB0aGUgbW9zdCBwcm9taW5lbnQgZmxvcHBpZXMgY291bGQgYmUgZm91bmQgaGVyZToKaHR0 cDovL2Rhbmdlcm91c3Byb3RvdHlwZXMuY29tL2RvY3MvTGVub3ZvX0c1MDVTX2hhY2tpbmcjVXNl ZnVsX2Zsb3BwaWVzCgpSdW4gdGhpcyBjb3JlYm9vdC5yb20gYnkgZXhlY3V0aW5nIHRoaXMgUUVN VSBjb21tYW5kOiAoc29tZSBmbG9wcGllcyBhcmUgNjQ9Ci1iaXQpCnFlbXUtc3lzdGVtLXg4Nl82 NCAtTCAuIC1tIDc2OCAtbG9jYWx0aW1lIC12Z2Egdm13YXJlIC1uZXQgbmljLG1vZGVsPTNEcnRs OD0KMTM5IFwKIC1uZXQgdXNlciAtc291bmRodyBhYzk3IC1iaW9zIC4vY29yZWJvb3Qucm9tIC1i b290IG1lbnU9M0RvbiAtc2VyaWFsIHN0ZGlvCgpCZXN0IHJlZ2FyZHMsCk1pa2UgQmFub24KCgpk aWZmIC0tZ2l0IGEvc3JjL2Jvb3QuYyBiL3NyYy9ib290LmMKaW5kZXggOWY4MmYzYy4uZjk0ZGQy NyAxMDA2NDQKLS0tIGEvc3JjL2Jvb3QuYworKysgYi9zcmMvYm9vdC5jCkBAIC00NjMsNiArNDYz LDcgQEAgZ2V0X2tleXN0cm9rZShpbnQgbXNlYykKICAqIEJvb3QgbWVudSBhbmQgQkNWIGV4ZWN1 dGlvbgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKiovCgorI2RlZmluZSBCT09UTUVOVV9QQUdFX1NJWkUgICAgMTgKICNkZWZp bmUgREVGQVVMVF9CT09UTUVOVV9XQUlUIDI1MDAKCiAvLyBTaG93IElQTCBvcHRpb24gbWVudS4K QEAgLTQ3OCw1OSArNDc5LDI4MiBAQCBpbnRlcmFjdGl2ZV9ib290bWVudSh2b2lkKQogICAgICAg ICA7CgogICAgIGNoYXIgKmJvb3Rtc2cgPTNEIHJvbWZpbGVfbG9hZGZpbGUoImV0Yy9ib290LW1l bnUtbWVzc2FnZSIsIE5VTEwpOwotICAgIGludCBtZW51a2V5ID0zRCByb21maWxlX2xvYWRpbnQo ImV0Yy9ib290LW1lbnUta2V5IiwgMSk7Ci0gICAgcHJpbnRmKCIlcyIsIGJvb3Rtc2cgPzogIlxu UHJlc3MgRVNDIGZvciBib290IG1lbnUuXG5cbiIpOworICAgIGludCBtZW51a2V5ID0zRCByb21m aWxlX2xvYWRpbnQoImV0Yy9ib290LW1lbnUta2V5IiwgMSk7IC8vIGN1c3RvbSBtZW49CnVrZXkK KyAgICBwcmludGYoIiVzIiwgYm9vdG1zZyA/OiAiXG5QcmVzcyBFU0Mgb3IgXFwgLyBzbGFzaCBm b3IgYm9vdCBtZW51LlxuXG4iPQopOwogICAgIGZyZWUoYm9vdG1zZyk7CgogICAgIHUzMiBtZW51 dGltZSA9M0Qgcm9tZmlsZV9sb2FkaW50KCJldGMvYm9vdC1tZW51LXdhaXQiLApERUZBVUxUX0JP T1RNRU5VX1dBSVQpOwogICAgIGVuYWJsZV9ib290c3BsYXNoKCk7CiAgICAgaW50IHNjYW5fY29k ZSA9M0QgZ2V0X2tleXN0cm9rZShtZW51dGltZSk7CiAgICAgZGlzYWJsZV9ib290c3BsYXNoKCk7 Ci0gICAgaWYgKHNjYW5fY29kZSAhPTNEIG1lbnVrZXkpCisgICAgaWYgKHNjYW5fY29kZSAhPTNE IG1lbnVrZXkgJiYgLy8gY3VzdG9tIG1lbnVrZXkKKyAgICAgICAgc2Nhbl9jb2RlICE9M0QgIDEg JiYgLy8gRVNDCisgICAgICAgIHNjYW5fY29kZSAhPTNEIDQzICYmIC8vICdcJyBjaGFyIG9uIGtl eWJvYXJkCisgICAgICAgIHNjYW5fY29kZSAhPTNEIDUzICYmIC8vICcvJyBjaGFyIG9uIGtleWJv YXJkCisgICAgICAgIHNjYW5fY29kZSAhPTNEIDk4KSB7IC8vICcvJyBjaGFyIG9uIG51bXBhZAor ICAgICAgICBpZiAoc2Nhbl9jb2RlID0zRD0zRCAtMSkKKyAgICAgICAgICAgIHByaW50ZigiTm8g a2V5IHByZXNzZWQuXG4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJpbnRmKCJOb3Qg YSBtZW51a2V5IHByZXNzZWQuXG4iKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KCiAgICAgd2hp bGUgKGdldF9rZXlzdHJva2UoMCkgPj0zRCAwKQogICAgICAgICA7CgotICAgIHByaW50ZigiU2Vs ZWN0IGJvb3QgZGV2aWNlOlxuXG4iKTsKICAgICB3YWl0X3RocmVhZHMoKTsKCi0gICAgLy8gU2hv dyBtZW51IGl0ZW1zCisgICAgY2hhciBrZXlib2FyZF9rZXlzWzM1XSA9M0QgeycxJywnMicsJzMn LCc0JywnNScsJzYnLCc3JywnOCcsJzknLCcwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAncScsJ3cnLCdlJywncicsJ3QnLCd5JywndScsJ2knLCdvJywncCcsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdhJywncycsJ2QnLCdmJywnZycsJ2gnLCdqJywnaycsJ2wn LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3onLCd4JywnYycsJ3YnLCdiJywn bid9OyAvKiBtID0zRCBUUE0gKi8KKyAgICBpbnQgbnVtcGFkX3NjYW5jb2Rlc1sxMF0gPTNEIHsg ODIsIDc5LCA4MCwgODEsIDc1LCA3NiwgNzcsIDcxLCA3MiwgNzMgPQp9OworICAgIGludCBudW1w aSA9M0QgMDsgLy8gS2V5IGluZGV4OiAgMCwgIDEsICAyLCAgMywgIDQsICA1LCAgNiwgIDcsICA4 LCAgOS4KKyAgICBpbnQgZGlnaXRzID0zRCAwOyAvLyBOdW1lcmljYWwgbGVuZ3RoIG9mIGEgY3Vy cmVudCBjaG9pY2UgbnVtYmVyLgorICAgIGludCBkZWNvZGUgPTNEIDA7IC8vIERlY29kZSB0aGUg Y3VycmVudCBjaG9pY2UgbnVtYmVyIGludG8gYSBsZXR0ZXI/CisgICAgaW50IGVudHJ5X2lkID0z RCAwOworICAgIGNoYXIgZGVzY1s3N107CisKKyAgICBwcmludGYoIlNlbGVjdCBib290IGRldmlj ZSIpOworCisgICAgLy8gU2hvdyBtZW51IGl0ZW1zIGFmdGVyIGNvdW50aW5nIHRoZW0gYW5kIGRl dGVybWluaW5nIGEgbnVtYmVyIG9mIHBhZz0KZXMuCisgICAgLy8gT25seSAzNSBib290IG1lbnUg aXRlbXMgKDM2IGlmIHRvIGNvdW50IGEgVFBNKSBhcmUgc3VwcG9ydGVkIGN1cnJlbj0KdGx5Lgor CiAgICAgaW50IG1heG1lbnUgPTNEIDA7CiAgICAgc3RydWN0IGJvb3RlbnRyeV9zICpwb3M7Ci0g ICAgaGxpc3RfZm9yX2VhY2hfZW50cnkocG9zLCAmQm9vdExpc3QsIG5vZGUpIHsKLSAgICAgICAg Y2hhciBkZXNjWzc3XTsKKyAgICBobGlzdF9mb3JfZWFjaF9lbnRyeShwb3MsICZCb290TGlzdCwg bm9kZSkKICAgICAgICAgbWF4bWVudSsrOwotICAgICAgICBwcmludGYoIiVkLiAlc1xuIiwgbWF4 bWVudQorCisgICAgaWYgKG1heG1lbnUgPiAxMCkgeworICAgICAgICBpZiAobWF4bWVudSA+IDM1 KQorICAgICAgICAgICAgbWF4bWVudSA9M0QgMzU7CisgICAgICAgIGlmIChtYXhtZW51ID4gQk9P VE1FTlVfUEFHRV9TSVpFKQorICAgICAgICAgICAgcHJpbnRmKCIgLSBwYWdlIDEgOiIpOworICAg ICAgICBlbHNlCisgICAgICAgICAgICBwcmludGYoIjogICAgICAgICAgIik7CisgICAgICAgIHBy aW50ZigiIC8vIHByZXNzIEVOVEVSIGFmdGVyIHlvdXIgbnVtcGFkIGlucHV0Iik7CisgICAgICAg IGlmIChtYXhtZW51ID4gQk9PVE1FTlVfUEFHRV9TSVpFKQorICAgICAgICAgICAgcHJpbnRmKCIg LSBpZiBhbnkgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKKyAgICAgICAgICAgICAg ICAgICAiIC8vIC0gb3IgdG8gc3dpdGNoIGJldHdlZW4gdGhlIHBhZ2VzLi4uXG4iKTsKKyAgICAg ICAgZWxzZQorICAgICAgICAgICAgcHJpbnRmKCIgKGlmIGFueSlcblxuIik7CisgICAgfSBlbHNl IHsKKyAgICAgICAgcHJpbnRmKCI6XG5cbiIpOworICAgIH0KKworICAgIGhsaXN0X2Zvcl9lYWNo X2VudHJ5KHBvcywgJkJvb3RMaXN0LCBub2RlKSB7CisgICAgICAgIGlmIChlbnRyeV9pZCA9M0Q9 M0QgQk9PVE1FTlVfUEFHRV9TSVpFKSAvLyBTaG93IG9ubHkgdGhlIGZpcnN0IHBhZz0KZS4KKyAg ICAgICAgICAgIGJyZWFrOworICAgICAgICBwcmludGYoIiVjLiAlc1xuIiwga2V5Ym9hcmRfa2V5 c1tlbnRyeV9pZF0KICAgICAgICAgICAgICAgICwgc3RydGNweShkZXNjLCBwb3MtPmRlc2NyaXB0 aW9uLCBBUlJBWV9TSVpFKGRlc2MpKSk7CisgICAgICAgIGVudHJ5X2lkKys7CiAgICAgfQorICAg IGludCB0cG1fY3NobSA9M0QgMDsKICAgICBpZiAodHBtX2Nhbl9zaG93X21lbnUoKSkgewotICAg ICAgICBwcmludGYoIlxudC4gVFBNIENvbmZpZ3VyYXRpb25cbiIpOworICAgICAgICB0cG1fY3No bSA9M0QgMTsKKyAgICAgICAgcHJpbnRmKCJcbm0tLiBUUE0gQ29uZmlndXJhdGlvbiIpOwogICAg IH0KLQotICAgIC8vIEdldCBrZXkgcHJlc3MuICBJZiB0aGUgbWVudSBrZXkgaXMgRVNDLCBkbyBu b3QgcmVzdGFydCBib290IHVubGVzcwotICAgIC8vIDEuNSBzZWNvbmRzIGhhdmUgcGFzc2VkLiAg T3RoZXJ3aXNlIHVzZXJzICh0cmFpbmVkIGJ5IHllYXJzIG9mCi0gICAgLy8gcmVwZWF0ZWRseSBo aXR0aW5nIGtleXMgdG8gZW50ZXIgdGhlIEJJT1MpIHdpbGwgZW5kIHVwIGhpdHRpbmcgRVNDCi0g ICAgLy8gbXVsdGlwbGUgdGltZXMgYW5kIGltbWVkaWF0ZWx5IGJvb3RpbmcgdGhlIHByaW1hcnkg Ym9vdCBkZXZpY2UuCi0gICAgaW50IGVzY19hY2NlcHRlZF90aW1lID0zRCBpcnF0aW1lcl9jYWxj KG1lbnVrZXkgPTNEPTNEIDEgPyAxNTAwIDogMCk7CisgICAgcHJpbnRmKCJcbj4gIik7CisKKyAg ICAvLyBEbyBub3QgcmVzdGFydCBib290IG9uIG1lbnVrZXkgcHJlc3MsIHVubGVzcyBERUZBVUxU X0JPT1RNRU5VX1dBSVQgPQptc2VjcworICAgIC8vIGhhdmUgcGFzc2VkLiBPdGhlcndpc2UgdXNl cnMgKHRyYWluZWQgYnkgeWVhcnMgb2YgcmVwZWF0ZWRseQpoaXR0aW5nIGtleXMKKyAgICAvLyB0 byBlbnRlciB0aGUgQklPUykgd2lsbCBlbmQgdXAgaGl0dGluZyBtZW51a2V5IG11bHRpcGxlIHRp bWVzIGFuZAorICAgIC8vIGltbWVkaWF0ZWx5IGJvb3RpbmcgdGhlIHByaW1hcnkgYm9vdCBkZXZp Y2UuCisgICAgaW50IGVzY19hY2NlcHRlZF90aW1lID0zRCBpcnF0aW1lcl9jYWxjKERFRkFVTFRf Qk9PVE1FTlVfV0FJVCk7CisgICAgaW50IGNob2ljZSA9M0QgMCwga2JfY2hvaWNlID0zRCAwOwor ICAgIGludCBwYWdlX251bSA9M0QgMTsKKyAgICBpbnQgZW50ZXIgPTNEIDA7CisgICAgaW50IGJh Y2tzcGFjZSA9M0QgMDsKKyAgICBpbnQgdHBtX3Nob3dfbWVudSA9M0QgMDsKICAgICBmb3IgKDs7 KSB7CiAgICAgICAgIHNjYW5fY29kZSA9M0QgZ2V0X2tleXN0cm9rZSgxMDAwKTsKLSAgICAgICAg aWYgKHNjYW5fY29kZSA9M0Q9M0QgMSAmJiAhaXJxdGltZXJfY2hlY2soZXNjX2FjY2VwdGVkX3Rp bWUpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmICh0cG1fY2FuX3Nob3dfbWVu dSgpICYmIHNjYW5fY29kZSA9M0Q9M0QgMjAgLyogdCAqLykgeworICAgICAgICBpZiAoc2Nhbl9j b2RlID0zRD0zRCBtZW51a2V5IHx8IC8vIGN1c3RvbSBtZW51a2V5CisgICAgICAgICAgICBzY2Fu X2NvZGUgPTNEPTNEICAxIHx8IC8vIEVTQworICAgICAgICAgICAgc2Nhbl9jb2RlID0zRD0zRCA0 MyB8fCAvLyAnXCcgY2hhciBvbiBrZXlib2FyZAorICAgICAgICAgICAgc2Nhbl9jb2RlID0zRD0z RCA1MyB8fCAvLyAnLycgY2hhciBvbiBrZXlib2FyZAorICAgICAgICAgICAgc2Nhbl9jb2RlID0z RD0zRCA5OCkgeyAvLyAnLycgY2hhciBvbiBudW1wYWQKKyAgICAgICAgICAgIGlmICghaXJxdGlt ZXJfY2hlY2soZXNjX2FjY2VwdGVkX3RpbWUpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor ICAgICAgICAgICAgaWYgKGRpZ2l0cyA9M0Q9M0QgMikgLy8gUmVtb3ZlIHRoZSBkZWNvZGVkICIo KikiCisgICAgICAgICAgICAgICAgcHJpbnRmKCIgICBcYlxiXGIiKTsKKyAgICAgICAgICAgIC8q IFJlbW92ZSB0aGUgZXhpc3RpbmcgaW5wdXQgYmVmb3JlIHByaW50aW5nIGEgbWVzc2FnZS4gKi8K KyAgICAgICAgICAgIGZvciAoOyBkaWdpdHMgPiAwOyBkaWdpdHMtLSkKKyAgICAgICAgICAgICAg ICBwcmludGYoIlxiIFxiIik7CisgICAgICAgICAgICBwcmludGYoIk1lbnVrZXkgcHJlc3NlZC5c biIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGtiX2Nob2ljZSA9 M0QgMDsKKyAgICAgICAgLyogNCByb3dzIG9mIGtleWJvYXJkX2tleXM6IDEgcm93IHdpdGggbnVt YmVycywgMyByb3dzIHdpdGggbGV0dGVyPQpzLgorICAgICAgICAgICBVc2UgYW55IG9mIHRoZW0g dG8gc2VsZWN0IGEgYm9vdCBkZXZpY2UgKGV4Y2VwdCB0aGUgVFBNCidtLScga2V5cykgKi8KKyAg ICAgICAgLy8gMXN0IHJhbmdlOiAxLTkgYW5kIDAgKDEwKSBrZXlzIDw9M0Q9M0Q+IDItMTEgc2Nh biBjb2RlcyA8PTNEPTNEPgoxLTEwIGNob2ljZQorICAgICAgICBpZiAoc2Nhbl9jb2RlID49M0Qg IDIgJiYgc2Nhbl9jb2RlIDw9M0QgMTEpIGtiX2Nob2ljZSA9M0Qgc2Nhbl9jb2Q9CmUgLSAgMTsK KyAgICAgICAgLy8gMm5kIHJhbmdlOiBRLVAgcm93IG9mIGxldHRlcnMgPD0zRD0zRD4gMTYtMjUg c2NhbiBjb2RlcyA8PTNEPTNEPgoxMS0yMCBjaG9pY2UKKyAgICAgICAgaWYgKHNjYW5fY29kZSA+ PTNEIDE2ICYmIHNjYW5fY29kZSA8PTNEIDI1KSBrYl9jaG9pY2UgPTNEIHNjYW5fY29kPQplIC0g IDU7CisgICAgICAgIC8vIDNyZCByYW5nZTogQS1MIHJvdyBvZiBsZXR0ZXJzIDw9M0Q9M0Q+IDMw LTM4IHNjYW4gY29kZXMgPD0zRD0zRD4KMjEtMjkgY2hvaWNlCisgICAgICAgIGlmIChzY2FuX2Nv ZGUgPj0zRCAzMCAmJiBzY2FuX2NvZGUgPD0zRCAzOCkga2JfY2hvaWNlID0zRCBzY2FuX2NvZD0K ZSAtICA5OworICAgICAgICAvLyA0dGggcmFuZ2U6IFotTiByb3cgb2YgbGV0dGVycyA8PTNEPTNE PiA0NC00OSBzY2FuIGNvZGVzIDw9M0Q9M0Q+CjMwLTM1IGNob2ljZQorICAgICAgICBpZiAoc2Nh bl9jb2RlID49M0QgNDQgJiYgc2Nhbl9jb2RlIDw9M0QgNDkpIGtiX2Nob2ljZSA9M0Qgc2Nhbl9j b2Q9CmUgLSAxNDsKKyAgICAgICAgLy8gRU5URVI6ICgyOCkgb24ga2V5Ym9hcmQsICg5Nikgb24g bnVtcGFkLgorICAgICAgICBpZiAoc2Nhbl9jb2RlID0zRD0zRCAyOCB8fCBzY2FuX2NvZGUgPTNE PTNEIDk2KQorICAgICAgICAgICAgZW50ZXIgPTNEIDE7CisgICAgICAgIC8vIEJDS1NQQzogJzwt JygxNCkgYW5kICdEZWxldGUnKDExMSkgb24ga2V5Ym9hcmQsICcuRGVsJyg4MykKb24gbnVtcGFk LgorICAgICAgICBpZiAoc2Nhbl9jb2RlID0zRD0zRCAxNCB8fCBzY2FuX2NvZGUgPTNEPTNEIDEx MSB8fCBzY2FuX2NvZGUgPTNEPQo9M0QgODMpCisgICAgICAgICAgICBiYWNrc3BhY2UgPTNEIDE7 CisgICAgICAgIC8vIFRQTSBrZXlzOiAnbScoNTApIGFuZCAnLScoMTIpIGNoYXJzIG9uIGtleWJv YXJkLCAnLScoNzQpIG9uIG51bT0KcGFkLgorICAgICAgICBpZiAoKHNjYW5fY29kZSA9M0Q9M0Qg NTAgfHwgc2Nhbl9jb2RlID0zRD0zRCAxMiB8fCBzY2FuX2NvZGUgPTNEPQo9M0QgNzQpCiYmIHRw bV9jc2htKQorICAgICAgICAgICAgdHBtX3Nob3dfbWVudSA9M0QgMTsKKworICAgICAgICBpZiAo a2JfY2hvaWNlICE9M0QgMCB8fCB0cG1fc2hvd19tZW51KSB7CisgICAgICAgICAgICBpZiAoa2Jf Y2hvaWNlID4gbWF4bWVudSkgeworICAgICAgICAgICAgICAgIGlmICghdHBtX3Nob3dfbWVudSkK KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9IGVsc2UgeworICAg ICAgICAgICAgICAgIGNob2ljZSA9M0Qga2JfY2hvaWNlOworICAgICAgICAgICAgfQorICAgICAg ICAgICAgaWYgKGRpZ2l0cyA9M0Q9M0QgMikgLy8gUmVtb3ZlIHRoZSBkZWNvZGVkICIoKikiCisg ICAgICAgICAgICAgICAgcHJpbnRmKCIgICBcYlxiXGIiKTsKKyAgICAgICAgICAgIC8qIFJlbW92 ZSB0aGUgZXhpc3RpbmcgaW5wdXQgYmVmb3JlIHByaW50aW5nIGEgY2hvaWNlLiAqLworICAgICAg ICAgICAgZm9yICg7IGRpZ2l0cyA+IDA7IGRpZ2l0cy0tKQorICAgICAgICAgICAgICAgIHByaW50 ZigiXGIgXGIiKTsKKyAgICAgICAgICAgIGlmICghdHBtX3Nob3dfbWVudSkgeworICAgICAgICAg ICAgICAgIC8vIENob2ljZSBpcyBhbnkgb2YgdGhlIGRldGVjdGVkIGJvb3QgZGV2aWNlcyA9M0Q9 M0Q+IGxldHM9CiBib290IQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gSW50ZXJuYWwvVVNCIE51bXBhZCBjb25z b2xlIGludGVyZmFjZS4KKyAgICAgICAgICAgIGlmIChkaWdpdHMgPCA5KSB7CisgICAgICAgICAg ICAgICAgZm9yIChudW1waSA9M0QgMDsgbnVtcGkgPCAxMDsgbnVtcGkrKykgeworICAgICAgICAg ICAgICAgICAgICBpZiAoc2Nhbl9jb2RlID0zRD0zRCBudW1wYWRfc2NhbmNvZGVzW251bXBpXSkg eworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1heG1lbnUgPD0zRCAxMCkgeyAvLyBDb25z b2xlIGludGVyZmFjZSBpcwpub3QgbmVlZGVkLgorICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlmICgobnVtcGkgIT0zRCAwICYmIG51bXBpIDw9M0QgbWF4bWVudSkgfHwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKG51bXBpID0zRD0zRCAwICYmIDEwIDw9M0QgbWF4bWVudSkp IHsgLy8gPQoxMCgwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaG9pY2UgPTNE IG51bXBpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRlciA9M0QgMTsgLy8g RmFrZSBFTlRFUiB0byBib290IHRoaXMKZW50cnkgbm93LgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0gZWxzZSB7IC8vIElmIG5vIHN1Y2ggYW4gZW50cnksIGRvbid0IHRyeSB0byA9CmJv b3QuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRpZ2l0cyA9M0Q9M0QgMikgeworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIiAgIFxiXGJcYiIpOyAvLyBSZW1vdmUgdGhl CmRlY29kZWQgIigqKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNob2lj ZSA9M0Q9M0QgMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRm KCJcYlxiICBcYlxiIik7IC8vIFJlbW92ZSAiMTAiLgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGlnaXRzID0zRCAwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNob2ljZSA9M0QgMTAgKiBjaG9pY2UgKyBudW1waTsKKyAgICAgICAgICAgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaG9pY2UgPiAwKSB7CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlZCIsIG51bXBpKTsgLy8gUHJpbnQgdGhl IGVudGVyZWQgZGlnaT0KdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdpdHMrKzsK KyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKDEwIDw9M0QgbWF4bWVudSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHJpbnRmKCIxMCgwKVxiXGJcYiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVs c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIxMCg/KVxiXGJcYiIp OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZ2l0cyA9M0QgMjsKKyAgICAgICAgICAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaG9pY2UgPiA5ICYm IGRpZ2l0cyA9M0Q9M0QgMikgLy8gRGVjb2RlIGludG8gPQphIGxldHRlci4KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkZWNvZGUgPTNEIDE7CisgICAgICAgICAgICAgICAgICAgICAgICBi cmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgIH0KKyAgICAgICAgICAgIGlmIChiYWNrc3BhY2UgJiYgZGlnaXRzID4gMCkgeworICAgICAg ICAgICAgICAgIGJhY2tzcGFjZSA9M0QgMDsKKyAgICAgICAgICAgICAgICBjaG9pY2UgPTNEIGNo b2ljZSAvIDEwOworICAgICAgICAgICAgICAgIGlmIChkaWdpdHMgPTNEPTNEIDIpIHsKKyAgICAg ICAgICAgICAgICAgICAgcHJpbnRmKCIgICBcYlxiXGIiKTsgLy8gUmVtb3ZlIHRoZSBkZWNvZGVk ICIoKikiCisgICAgICAgICAgICAgICAgICAgIC8vIDAgdHVybmVkIGludG8gMTA6IG9uZSBtb3Jl IEJhY2tzcGFjZSBpcyBuZWVkZWQKdG8gcmVtb3ZlLgorICAgICAgICAgICAgICAgICAgICBpZiAo Y2hvaWNlID0zRD0zRCAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIlxiIFxi Iik7CisgICAgICAgICAgICAgICAgICAgICAgICBkaWdpdHMtLTsKKyAgICAgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwcmludGYoIlxiIFxiIik7 IC8vIFJlbW92ZSB0aGUgbGFzdCBlbnRlcmVkIGRpZ2l0LgorICAgICAgICAgICAgICAgIGRpZ2l0 cy0tOworICAgICAgICAgICAgICAgIGlmIChjaG9pY2UgPiA5ICYmIGRpZ2l0cyA9M0Q9M0QgMikg Ly8gRGVjb2RlIGludG8gYSBsZXR0ZXIuCisgICAgICAgICAgICAgICAgICAgIGRlY29kZSA9M0Qg MTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChkZWNvZGUpIHsgLy8gRGVjb2RlIHRo ZSBjdXJyZW50IGNob2ljZSBudW1iZXIgaW50byBhIGxldHRlPQpyLgorICAgICAgICAgICAgICAg IGRlY29kZSA9M0QgMDsKKyAgICAgICAgICAgICAgICBpZiAoY2hvaWNlIDw9M0QgbWF4bWVudSkg eworICAgICAgICAgICAgICAgICAgICBwcmludGYoIiglYykiLCBrZXlib2FyZF9rZXlzW2Nob2lj ZS0xXSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYg KHRwbV9jc2htICYmIGNob2ljZSA9M0Q9M0QgMzYpCisgICAgICAgICAgICAgICAgICAgICAgICBw cmludGYoIihtKSIpOyAvLyBGb3IgVFBNLgorICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAg ICAgICAgICAgICAgICAgICAgICBwcmludGYoIig/KSIpOyAvLyBObyBtYXRjaGluZyBsZXR0ZXIg Zm91bmQuCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwcmludGYoIlxi XGJcYiIpOyAvLyBNb3ZlIGEgY3Vyc29yIGJlZm9yZSB0aGUgIigqKSIKKyAgICAgICAgICAgIH0K KyAgICAgICAgfQorCisgICAgICAgIGlmIChlbnRlcikgeworICAgICAgICAgICAgZW50ZXIgPTNE IDA7CisgICAgICAgICAgICBpZiAoY2hvaWNlID0zRD0zRCAwKSB7CisgICAgICAgICAgICAgICAg aWYgKGRpZ2l0cyA9M0Q9M0QgMikgeyAvLyBmb3IgMCB0aGF0IHR1cm5lZCBpbnRvIDEwCisgICAg ICAgICAgICAgICAgICAgIGlmICgxMCA8PTNEIG1heG1lbnUpCisgICAgICAgICAgICAgICAgICAg ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAg ICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC8vIElm IHRoZXJlIGFyZSB0d28gcGFnZXMgLSBzd2l0Y2ggYmV0d2VlbiB0aGVtLgorICAgICAgICAgICAg ICAgIGlmIChtYXhtZW51ID4gQk9PVE1FTlVfUEFHRV9TSVpFKSB7CisgICAgICAgICAgICAgICAg ICAgIGVudHJ5X2lkID0zRCAwOworICAgICAgICAgICAgICAgICAgICBwYWdlX251bSA9M0QgMyAt IHBhZ2VfbnVtOyAvLyAzIC0gMSA9M0QgMjsgMyAtIDIgPTNEIDEuCisgICAgICAgICAgICAgICAg ICAgIHByaW50ZigiXG5cblNlbGVjdCBib290IGRldmljZSAtIHBhZ2UgJWQgOiIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICIgLy8gcHJlc3MgRU5URVIgYWZ0ZXIgeW91ciBudW1wYWQgaW5w dXQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0gaWYgYW55IC1cbiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC8vIC0gb3Ig dG8gc3dpdGNoIGJldHdlZW4gdGhlIHBhZ2VzLi4uXG4iLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGFnZV9udW0pOworICAgICAgICAgICAgICAgICAgICBobGlzdF9mb3JfZWFjaF9lbnRy eShwb3MsICZCb290TGlzdCwgbm9kZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChw YWdlX251bSA9M0Q9M0QgMSAmJiBlbnRyeV9pZCA9M0Q9M0QKQk9PVE1FTlVfUEFHRV9TSVpFKSB8 fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWdlX251bSA9M0Q9M0QgMiAmJiBlbnRy eV9pZCA9M0Q9M0QgMzUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg ICAgICAgICAgICAgICAgICAgICAgaWYgKHBhZ2VfbnVtID0zRD0zRCAxIHx8IGVudHJ5X2lkID49 M0QgQk9PVE1FTlVfUEE9CkdFX1NJWkUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJp bnRmKCIlYy4gJXNcbiIsIGtleWJvYXJkX2tleXNbZW50cnlfaWRdLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ0Y3B5KGRlc2MsIHBvcy0+ZGVzY3JpcHRpb24sCkFSUkFZX1NJWkUo ZGVzYykpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5X2lkKys7CisgICAgICAgICAg ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHRwbV9jc2htKQorICAgICAgICAg ICAgICAgICAgICAgICAgcHJpbnRmKCJcbm0tLiBUUE0gQ29uZmlndXJhdGlvbiIpOworICAgICAg ICAgICAgICAgICAgICBwcmludGYoIlxuPiAiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmIChjaG9pY2UgPiBtYXhtZW51KSB7Cisg ICAgICAgICAgICAgICAgICAgIGlmICh0cG1fY3NobSAmJiBjaG9pY2UgPTNEPTNEIDM2KQorICAg ICAgICAgICAgICAgICAgICAgICAgdHBtX3Nob3dfbWVudSA9M0QgMTsKKyAgICAgICAgICAgICAg ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAvLyBDaG9pY2UgaXMgYW55IG9mIHRoZSBk ZXRlY3RlZCBib290IGRldmljZXMgPTNEPTNEPgpsZXRzIGJvb3QhCisgICAgICAgICAgICAgICAg ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor CisgICAgICAgIGlmICh0cG1fc2hvd19tZW51KSB7CisgICAgICAgICAgICB0cG1fc2hvd19tZW51 ID0zRCAwOworICAgICAgICAgICAgY2hvaWNlID0zRCAwOworICAgICAgICAgICAgaWYgKGRpZ2l0 cyA9M0Q9M0QgMCkKKyAgICAgICAgICAgICAgICBwcmludGYoIlRQTSBrZXkgcHJlc3NlZC4iKTsK KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBkaWdpdHMgPTNEIDA7CiAgICAgICAg ICAgICBwcmludGYoIlxuIik7CiAgICAgICAgICAgICB0cG1fbWVudSgpOworICAgICAgICAgICAg cHJpbnRmKCI+ICIpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzY2FuX2NvZGUgPj0zRCAxICYm IHNjYW5fY29kZSA8PTNEIG1heG1lbnUrMSkKLSAgICAgICAgICAgIGJyZWFrOworICAgIH0KKwor ICAgIGlmIChjaG9pY2UgPTNEPTNEIDApIC8vIDEwKDApCisgICAgICAgIGNob2ljZSA9M0QgMTA7 CisKKyAgICBpZiAoZGlnaXRzID0zRD0zRCAwICYmIGNob2ljZSA8IDM2KSB7CisgICAgICAgIHBy aW50ZigiJWMiLCBrZXlib2FyZF9rZXlzW2Nob2ljZS0xXSk7CisgICAgICAgIGlmIChjaG9pY2Ug PiA5KSAvLyBEZWNvZGUgaW50byBhIG51bWJlci4KKyAgICAgICAgICAgIHByaW50ZigiKCVkKSIs IGNob2ljZSk7CiAgICAgfQogICAgIHByaW50ZigiXG4iKTsKLSAgICBpZiAoc2Nhbl9jb2RlID0z RD0zRCAweDAxKQotICAgICAgICAvLyBFU0MKLSAgICAgICAgcmV0dXJuOwoKICAgICAvLyBGaW5k IGVudHJ5IGFuZCBtYWtlIHRvcCBwcmlvcml0eS4KLSAgICBpbnQgY2hvaWNlID0zRCBzY2FuX2Nv ZGUgLSAxOwogICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KHBvcywgJkJvb3RMaXN0LCBub2RlKSB7 CiAgICAgICAgIGlmICghIC0tY2hvaWNlKQogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQg YS9zcmMvY29uZmlnLmggYi9zcmMvY29uZmlnLmgKaW5kZXggOTNjOGRiYy4uZjg1Y2MxNCAxMDA2 NDQKLS0tIGEvc3JjL2NvbmZpZy5oCisrKyBiL3NyYy9jb25maWcuaApAQCAtMTksNyArMTksNyBA QAogLy8gU3BhY2UgdG8gcmVzZXJ2ZSBpbiBoaWdoLW1lbW9yeSBmb3IgdGFibGVzCiAjZGVmaW5l IEJVSUxEX01BWF9ISUdIVEFCTEUgKDI1NioxMDI0KQogLy8gTGFyZ2VzdCBzdXBwb3J0ZWQgZXh0 ZXJuYWx5IGZhY2luZyBkcml2ZSBpZAotI2RlZmluZSBCVUlMRF9NQVhfRVhURFJJVkUgMTYKKyNk ZWZpbmUgQlVJTERfTUFYX0VYVERSSVZFIDM2CiAvLyBOdW1iZXIgb2YgYnl0ZXMgdGhlIHNtYmlv cyBtYXkgYmUgYW5kIHN0aWxsIGxpdmUgaW4gdGhlIGYtc2VnbWVudAogI2RlZmluZSBCVUlMRF9N QVhfU01CSU9TX0ZTRUcgICAgIDYwMAogLy8gTWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdGhlIG1w dGFibGUgbWF5IGJlIGFuZCBzdGlsbCBiZSBjb3BpZWQgdG8gZi1zZWc9Cm1lbnQ= --00000000000004915905862cc4c5 Content-Type: text/x-patch; charset="US-ASCII"; name="advanced_bootmenu.patch" Content-Disposition: attachment; filename="advanced_bootmenu.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jub82qxw0 ZGlmZiAtLWdpdCBhL3NyYy9ib290LmMgYi9zcmMvYm9vdC5jCmluZGV4IDlmODJmM2MuLmY5NGRk MjcgMTAwNjQ0Ci0tLSBhL3NyYy9ib290LmMKKysrIGIvc3JjL2Jvb3QuYwpAQCAtNDYzLDYgKzQ2 Myw3IEBAIGdldF9rZXlzdHJva2UoaW50IG1zZWMpCiAgKiBCb290IG1lbnUgYW5kIEJDViBleGVj dXRpb24KICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLwogCisjZGVmaW5lIEJPT1RNRU5VX1BBR0VfU0laRSAgICAxOAogI2Rl ZmluZSBERUZBVUxUX0JPT1RNRU5VX1dBSVQgMjUwMAogCiAvLyBTaG93IElQTCBvcHRpb24gbWVu dS4KQEAgLTQ3OCw1OSArNDc5LDI4MiBAQCBpbnRlcmFjdGl2ZV9ib290bWVudSh2b2lkKQogICAg ICAgICA7CiAKICAgICBjaGFyICpib290bXNnID0gcm9tZmlsZV9sb2FkZmlsZSgiZXRjL2Jvb3Qt bWVudS1tZXNzYWdlIiwgTlVMTCk7Ci0gICAgaW50IG1lbnVrZXkgPSByb21maWxlX2xvYWRpbnQo ImV0Yy9ib290LW1lbnUta2V5IiwgMSk7Ci0gICAgcHJpbnRmKCIlcyIsIGJvb3Rtc2cgPzogIlxu UHJlc3MgRVNDIGZvciBib290IG1lbnUuXG5cbiIpOworICAgIGludCBtZW51a2V5ID0gcm9tZmls ZV9sb2FkaW50KCJldGMvYm9vdC1tZW51LWtleSIsIDEpOyAvLyBjdXN0b20gbWVudWtleQorICAg IHByaW50ZigiJXMiLCBib290bXNnID86ICJcblByZXNzIEVTQyBvciBcXCAvIHNsYXNoIGZvciBi b290IG1lbnUuXG5cbiIpOwogICAgIGZyZWUoYm9vdG1zZyk7CiAKICAgICB1MzIgbWVudXRpbWUg PSByb21maWxlX2xvYWRpbnQoImV0Yy9ib290LW1lbnUtd2FpdCIsIERFRkFVTFRfQk9PVE1FTlVf V0FJVCk7CiAgICAgZW5hYmxlX2Jvb3RzcGxhc2goKTsKICAgICBpbnQgc2Nhbl9jb2RlID0gZ2V0 X2tleXN0cm9rZShtZW51dGltZSk7CiAgICAgZGlzYWJsZV9ib290c3BsYXNoKCk7Ci0gICAgaWYg KHNjYW5fY29kZSAhPSBtZW51a2V5KQorICAgIGlmIChzY2FuX2NvZGUgIT0gbWVudWtleSAmJiAv LyBjdXN0b20gbWVudWtleQorICAgICAgICBzY2FuX2NvZGUgIT0gIDEgJiYgLy8gRVNDCisgICAg ICAgIHNjYW5fY29kZSAhPSA0MyAmJiAvLyAnXCcgY2hhciBvbiBrZXlib2FyZAorICAgICAgICBz Y2FuX2NvZGUgIT0gNTMgJiYgLy8gJy8nIGNoYXIgb24ga2V5Ym9hcmQKKyAgICAgICAgc2Nhbl9j b2RlICE9IDk4KSB7IC8vICcvJyBjaGFyIG9uIG51bXBhZAorICAgICAgICBpZiAoc2Nhbl9jb2Rl ID09IC0xKQorICAgICAgICAgICAgcHJpbnRmKCJObyBrZXkgcHJlc3NlZC5cbiIpOworICAgICAg ICBlbHNlCisgICAgICAgICAgICBwcmludGYoIk5vdCBhIG1lbnVrZXkgcHJlc3NlZC5cbiIpOwog ICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgd2hpbGUgKGdldF9rZXlzdHJva2UoMCkgPj0g MCkKICAgICAgICAgOwogCi0gICAgcHJpbnRmKCJTZWxlY3QgYm9vdCBkZXZpY2U6XG5cbiIpOwog ICAgIHdhaXRfdGhyZWFkcygpOwogCi0gICAgLy8gU2hvdyBtZW51IGl0ZW1zCisgICAgY2hhciBr ZXlib2FyZF9rZXlzWzM1XSA9IHsnMScsJzInLCczJywnNCcsJzUnLCc2JywnNycsJzgnLCc5Jywn MCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3EnLCd3JywnZScsJ3InLCd0Jywn eScsJ3UnLCdpJywnbycsJ3AnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYScs J3MnLCdkJywnZicsJ2cnLCdoJywnaicsJ2snLCdsJywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICd6JywneCcsJ2MnLCd2JywnYicsJ24nfTsgLyogbSA9IFRQTSAqLworICAgIGlu dCBudW1wYWRfc2NhbmNvZGVzWzEwXSA9IHsgODIsIDc5LCA4MCwgODEsIDc1LCA3NiwgNzcsIDcx LCA3MiwgNzMgfTsKKyAgICBpbnQgbnVtcGkgPSAwOyAvLyBLZXkgaW5kZXg6ICAwLCAgMSwgIDIs ICAzLCAgNCwgIDUsICA2LCAgNywgIDgsICA5LgorICAgIGludCBkaWdpdHMgPSAwOyAvLyBOdW1l cmljYWwgbGVuZ3RoIG9mIGEgY3VycmVudCBjaG9pY2UgbnVtYmVyLgorICAgIGludCBkZWNvZGUg PSAwOyAvLyBEZWNvZGUgdGhlIGN1cnJlbnQgY2hvaWNlIG51bWJlciBpbnRvIGEgbGV0dGVyPwor ICAgIGludCBlbnRyeV9pZCA9IDA7CisgICAgY2hhciBkZXNjWzc3XTsKKworICAgIHByaW50Zigi U2VsZWN0IGJvb3QgZGV2aWNlIik7CisKKyAgICAvLyBTaG93IG1lbnUgaXRlbXMgYWZ0ZXIgY291 bnRpbmcgdGhlbSBhbmQgZGV0ZXJtaW5pbmcgYSBudW1iZXIgb2YgcGFnZXMuCisgICAgLy8gT25s eSAzNSBib290IG1lbnUgaXRlbXMgKDM2IGlmIHRvIGNvdW50IGEgVFBNKSBhcmUgc3VwcG9ydGVk IGN1cnJlbnRseS4KKwogICAgIGludCBtYXhtZW51ID0gMDsKICAgICBzdHJ1Y3QgYm9vdGVudHJ5 X3MgKnBvczsKLSAgICBobGlzdF9mb3JfZWFjaF9lbnRyeShwb3MsICZCb290TGlzdCwgbm9kZSkg ewotICAgICAgICBjaGFyIGRlc2NbNzddOworICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KHBvcywg JkJvb3RMaXN0LCBub2RlKQogICAgICAgICBtYXhtZW51Kys7Ci0gICAgICAgIHByaW50ZigiJWQu ICVzXG4iLCBtYXhtZW51CisKKyAgICBpZiAobWF4bWVudSA+IDEwKSB7CisgICAgICAgIGlmICht YXhtZW51ID4gMzUpCisgICAgICAgICAgICBtYXhtZW51ID0gMzU7CisgICAgICAgIGlmIChtYXht ZW51ID4gQk9PVE1FTlVfUEFHRV9TSVpFKQorICAgICAgICAgICAgcHJpbnRmKCIgLSBwYWdlIDEg OiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBwcmludGYoIjogICAgICAgICAgIik7Cisg ICAgICAgIHByaW50ZigiIC8vIHByZXNzIEVOVEVSIGFmdGVyIHlvdXIgbnVtcGFkIGlucHV0Iik7 CisgICAgICAgIGlmIChtYXhtZW51ID4gQk9PVE1FTlVfUEFHRV9TSVpFKQorICAgICAgICAgICAg cHJpbnRmKCIgLSBpZiBhbnkgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKKyAgICAg ICAgICAgICAgICAgICAiIC8vIC0gb3IgdG8gc3dpdGNoIGJldHdlZW4gdGhlIHBhZ2VzLi4uXG4i KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJpbnRmKCIgKGlmIGFueSlcblxuIik7Cisg ICAgfSBlbHNlIHsKKyAgICAgICAgcHJpbnRmKCI6XG5cbiIpOworICAgIH0KKworICAgIGhsaXN0 X2Zvcl9lYWNoX2VudHJ5KHBvcywgJkJvb3RMaXN0LCBub2RlKSB7CisgICAgICAgIGlmIChlbnRy eV9pZCA9PSBCT09UTUVOVV9QQUdFX1NJWkUpIC8vIFNob3cgb25seSB0aGUgZmlyc3QgcGFnZS4K KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBwcmludGYoIiVjLiAlc1xuIiwga2V5Ym9hcmRf a2V5c1tlbnRyeV9pZF0KICAgICAgICAgICAgICAgICwgc3RydGNweShkZXNjLCBwb3MtPmRlc2Ny aXB0aW9uLCBBUlJBWV9TSVpFKGRlc2MpKSk7CisgICAgICAgIGVudHJ5X2lkKys7CiAgICAgfQor ICAgIGludCB0cG1fY3NobSA9IDA7CiAgICAgaWYgKHRwbV9jYW5fc2hvd19tZW51KCkpIHsKLSAg ICAgICAgcHJpbnRmKCJcbnQuIFRQTSBDb25maWd1cmF0aW9uXG4iKTsKKyAgICAgICAgdHBtX2Nz aG0gPSAxOworICAgICAgICBwcmludGYoIlxubS0uIFRQTSBDb25maWd1cmF0aW9uIik7CiAgICAg fQotCi0gICAgLy8gR2V0IGtleSBwcmVzcy4gIElmIHRoZSBtZW51IGtleSBpcyBFU0MsIGRvIG5v dCByZXN0YXJ0IGJvb3QgdW5sZXNzCi0gICAgLy8gMS41IHNlY29uZHMgaGF2ZSBwYXNzZWQuICBP dGhlcndpc2UgdXNlcnMgKHRyYWluZWQgYnkgeWVhcnMgb2YKLSAgICAvLyByZXBlYXRlZGx5IGhp dHRpbmcga2V5cyB0byBlbnRlciB0aGUgQklPUykgd2lsbCBlbmQgdXAgaGl0dGluZyBFU0MKLSAg ICAvLyBtdWx0aXBsZSB0aW1lcyBhbmQgaW1tZWRpYXRlbHkgYm9vdGluZyB0aGUgcHJpbWFyeSBi b290IGRldmljZS4KLSAgICBpbnQgZXNjX2FjY2VwdGVkX3RpbWUgPSBpcnF0aW1lcl9jYWxjKG1l bnVrZXkgPT0gMSA/IDE1MDAgOiAwKTsKKyAgICBwcmludGYoIlxuPiAiKTsKKworICAgIC8vIERv IG5vdCByZXN0YXJ0IGJvb3Qgb24gbWVudWtleSBwcmVzcywgdW5sZXNzIERFRkFVTFRfQk9PVE1F TlVfV0FJVCBtc2VjcworICAgIC8vIGhhdmUgcGFzc2VkLiBPdGhlcndpc2UgdXNlcnMgKHRyYWlu ZWQgYnkgeWVhcnMgb2YgcmVwZWF0ZWRseSBoaXR0aW5nIGtleXMKKyAgICAvLyB0byBlbnRlciB0 aGUgQklPUykgd2lsbCBlbmQgdXAgaGl0dGluZyBtZW51a2V5IG11bHRpcGxlIHRpbWVzIGFuZAor ICAgIC8vIGltbWVkaWF0ZWx5IGJvb3RpbmcgdGhlIHByaW1hcnkgYm9vdCBkZXZpY2UuCisgICAg aW50IGVzY19hY2NlcHRlZF90aW1lID0gaXJxdGltZXJfY2FsYyhERUZBVUxUX0JPT1RNRU5VX1dB SVQpOworICAgIGludCBjaG9pY2UgPSAwLCBrYl9jaG9pY2UgPSAwOworICAgIGludCBwYWdlX251 bSA9IDE7CisgICAgaW50IGVudGVyID0gMDsKKyAgICBpbnQgYmFja3NwYWNlID0gMDsKKyAgICBp bnQgdHBtX3Nob3dfbWVudSA9IDA7CiAgICAgZm9yICg7OykgewogICAgICAgICBzY2FuX2NvZGUg PSBnZXRfa2V5c3Ryb2tlKDEwMDApOwotICAgICAgICBpZiAoc2Nhbl9jb2RlID09IDEgJiYgIWly cXRpbWVyX2NoZWNrKGVzY19hY2NlcHRlZF90aW1lKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwot ICAgICAgICBpZiAodHBtX2Nhbl9zaG93X21lbnUoKSAmJiBzY2FuX2NvZGUgPT0gMjAgLyogdCAq LykgeworICAgICAgICBpZiAoc2Nhbl9jb2RlID09IG1lbnVrZXkgfHwgLy8gY3VzdG9tIG1lbnVr ZXkKKyAgICAgICAgICAgIHNjYW5fY29kZSA9PSAgMSB8fCAvLyBFU0MKKyAgICAgICAgICAgIHNj YW5fY29kZSA9PSA0MyB8fCAvLyAnXCcgY2hhciBvbiBrZXlib2FyZAorICAgICAgICAgICAgc2Nh bl9jb2RlID09IDUzIHx8IC8vICcvJyBjaGFyIG9uIGtleWJvYXJkCisgICAgICAgICAgICBzY2Fu X2NvZGUgPT0gOTgpIHsgLy8gJy8nIGNoYXIgb24gbnVtcGFkCisgICAgICAgICAgICBpZiAoIWly cXRpbWVyX2NoZWNrKGVzY19hY2NlcHRlZF90aW1lKSkKKyAgICAgICAgICAgICAgICBjb250aW51 ZTsKKyAgICAgICAgICAgIGlmIChkaWdpdHMgPT0gMikgLy8gUmVtb3ZlIHRoZSBkZWNvZGVkICIo KikiCisgICAgICAgICAgICAgICAgcHJpbnRmKCIgICBcYlxiXGIiKTsKKyAgICAgICAgICAgIC8q IFJlbW92ZSB0aGUgZXhpc3RpbmcgaW5wdXQgYmVmb3JlIHByaW50aW5nIGEgbWVzc2FnZS4gKi8K KyAgICAgICAgICAgIGZvciAoOyBkaWdpdHMgPiAwOyBkaWdpdHMtLSkKKyAgICAgICAgICAgICAg ICBwcmludGYoIlxiIFxiIik7CisgICAgICAgICAgICBwcmludGYoIk1lbnVrZXkgcHJlc3NlZC5c biIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGtiX2Nob2ljZSA9 IDA7CisgICAgICAgIC8qIDQgcm93cyBvZiBrZXlib2FyZF9rZXlzOiAxIHJvdyB3aXRoIG51bWJl cnMsIDMgcm93cyB3aXRoIGxldHRlcnMuCisgICAgICAgICAgIFVzZSBhbnkgb2YgdGhlbSB0byBz ZWxlY3QgYSBib290IGRldmljZSAoZXhjZXB0IHRoZSBUUE0gJ20tJyBrZXlzKSAqLworICAgICAg ICAvLyAxc3QgcmFuZ2U6IDEtOSBhbmQgMCAoMTApIGtleXMgPD09PiAyLTExIHNjYW4gY29kZXMg PD09PiAgMS0xMCBjaG9pY2UKKyAgICAgICAgaWYgKHNjYW5fY29kZSA+PSAgMiAmJiBzY2FuX2Nv ZGUgPD0gMTEpIGtiX2Nob2ljZSA9IHNjYW5fY29kZSAtICAxOworICAgICAgICAvLyAybmQgcmFu Z2U6IFEtUCByb3cgb2YgbGV0dGVycyA8PT0+IDE2LTI1IHNjYW4gY29kZXMgPD09PiAxMS0yMCBj aG9pY2UKKyAgICAgICAgaWYgKHNjYW5fY29kZSA+PSAxNiAmJiBzY2FuX2NvZGUgPD0gMjUpIGti X2Nob2ljZSA9IHNjYW5fY29kZSAtICA1OworICAgICAgICAvLyAzcmQgcmFuZ2U6IEEtTCByb3cg b2YgbGV0dGVycyA8PT0+IDMwLTM4IHNjYW4gY29kZXMgPD09PiAyMS0yOSBjaG9pY2UKKyAgICAg ICAgaWYgKHNjYW5fY29kZSA+PSAzMCAmJiBzY2FuX2NvZGUgPD0gMzgpIGtiX2Nob2ljZSA9IHNj YW5fY29kZSAtICA5OworICAgICAgICAvLyA0dGggcmFuZ2U6IFotTiByb3cgb2YgbGV0dGVycyA8 PT0+IDQ0LTQ5IHNjYW4gY29kZXMgPD09PiAzMC0zNSBjaG9pY2UKKyAgICAgICAgaWYgKHNjYW5f Y29kZSA+PSA0NCAmJiBzY2FuX2NvZGUgPD0gNDkpIGtiX2Nob2ljZSA9IHNjYW5fY29kZSAtIDE0 OworICAgICAgICAvLyBFTlRFUjogKDI4KSBvbiBrZXlib2FyZCwgKDk2KSBvbiBudW1wYWQuCisg ICAgICAgIGlmIChzY2FuX2NvZGUgPT0gMjggfHwgc2Nhbl9jb2RlID09IDk2KQorICAgICAgICAg ICAgZW50ZXIgPSAxOworICAgICAgICAvLyBCQ0tTUEM6ICc8LScoMTQpIGFuZCAnRGVsZXRlJygx MTEpIG9uIGtleWJvYXJkLCAnLkRlbCcoODMpIG9uIG51bXBhZC4KKyAgICAgICAgaWYgKHNjYW5f Y29kZSA9PSAxNCB8fCBzY2FuX2NvZGUgPT0gMTExIHx8IHNjYW5fY29kZSA9PSA4MykKKyAgICAg ICAgICAgIGJhY2tzcGFjZSA9IDE7CisgICAgICAgIC8vIFRQTSBrZXlzOiAnbScoNTApIGFuZCAn LScoMTIpIGNoYXJzIG9uIGtleWJvYXJkLCAnLScoNzQpIG9uIG51bXBhZC4KKyAgICAgICAgaWYg KChzY2FuX2NvZGUgPT0gNTAgfHwgc2Nhbl9jb2RlID09IDEyIHx8IHNjYW5fY29kZSA9PSA3NCkg JiYgdHBtX2NzaG0pCisgICAgICAgICAgICB0cG1fc2hvd19tZW51ID0gMTsKKworICAgICAgICBp ZiAoa2JfY2hvaWNlICE9IDAgfHwgdHBtX3Nob3dfbWVudSkgeworICAgICAgICAgICAgaWYgKGti X2Nob2ljZSA+IG1heG1lbnUpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXRwbV9zaG93X21lbnUp CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg ICAgICAgICAgICAgICBjaG9pY2UgPSBrYl9jaG9pY2U7CisgICAgICAgICAgICB9CisgICAgICAg ICAgICBpZiAoZGlnaXRzID09IDIpIC8vIFJlbW92ZSB0aGUgZGVjb2RlZCAiKCopIgorICAgICAg ICAgICAgICAgIHByaW50ZigiICAgXGJcYlxiIik7CisgICAgICAgICAgICAvKiBSZW1vdmUgdGhl IGV4aXN0aW5nIGlucHV0IGJlZm9yZSBwcmludGluZyBhIGNob2ljZS4gKi8KKyAgICAgICAgICAg IGZvciAoOyBkaWdpdHMgPiAwOyBkaWdpdHMtLSkKKyAgICAgICAgICAgICAgICBwcmludGYoIlxi IFxiIik7CisgICAgICAgICAgICBpZiAoIXRwbV9zaG93X21lbnUpIHsKKyAgICAgICAgICAgICAg ICAvLyBDaG9pY2UgaXMgYW55IG9mIHRoZSBkZXRlY3RlZCBib290IGRldmljZXMgPT0+IGxldHMg Ym9vdCEKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBl bHNlIHsKKyAgICAgICAgICAgIC8vIEludGVybmFsL1VTQiBOdW1wYWQgY29uc29sZSBpbnRlcmZh Y2UuCisgICAgICAgICAgICBpZiAoZGlnaXRzIDwgOSkgeworICAgICAgICAgICAgICAgIGZvciAo bnVtcGkgPSAwOyBudW1waSA8IDEwOyBudW1waSsrKSB7CisgICAgICAgICAgICAgICAgICAgIGlm IChzY2FuX2NvZGUgPT0gbnVtcGFkX3NjYW5jb2Rlc1tudW1waV0pIHsKKyAgICAgICAgICAgICAg ICAgICAgICAgIGlmIChtYXhtZW51IDw9IDEwKSB7IC8vIENvbnNvbGUgaW50ZXJmYWNlIGlzIG5v dCBuZWVkZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChudW1waSAhPSAwICYm IG51bXBpIDw9IG1heG1lbnUpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChu dW1waSA9PSAwICYmIDEwIDw9IG1heG1lbnUpKSB7IC8vIDEwKDApCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNob2ljZSA9IG51bXBpOworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlbnRlciA9IDE7IC8vIEZha2UgRU5URVIgdG8gYm9vdCB0aGlzIGVudHJ5IG5vdy4K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeyAvLyBJZiBubyBzdWNoIGFuIGVu dHJ5LCBkb24ndCB0cnkgdG8gYm9vdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGlnaXRzID09 IDIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIgICBcYlxiXGIi KTsgLy8gUmVtb3ZlIHRoZSBkZWNvZGVkICIoKikiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlmIChjaG9pY2UgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcHJpbnRmKCJcYlxiICBcYlxiIik7IC8vIFJlbW92ZSAiMTAiLgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGlnaXRzID0gMDsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjaG9pY2UgPSAxMCAqIGNob2ljZSArIG51bXBpOworICAgICAgICAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNob2ljZSA+IDAp IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVkIiwgbnVtcGkpOyAvLyBQ cmludCB0aGUgZW50ZXJlZCBkaWdpdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdp dHMrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaWYgKDEwIDw9IG1heG1lbnUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHByaW50ZigiMTAoMClcYlxiXGIiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiMTAoPylcYlxi XGIiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdpdHMgPSAyOworICAgICAgICAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNob2ljZSA+IDkg JiYgZGlnaXRzID09IDIpIC8vIERlY29kZSBpbnRvIGEgbGV0dGVyLgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRlY29kZSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K KyAgICAgICAgICAgIGlmIChiYWNrc3BhY2UgJiYgZGlnaXRzID4gMCkgeworICAgICAgICAgICAg ICAgIGJhY2tzcGFjZSA9IDA7CisgICAgICAgICAgICAgICAgY2hvaWNlID0gY2hvaWNlIC8gMTA7 CisgICAgICAgICAgICAgICAgaWYgKGRpZ2l0cyA9PSAyKSB7CisgICAgICAgICAgICAgICAgICAg IHByaW50ZigiICAgXGJcYlxiIik7IC8vIFJlbW92ZSB0aGUgZGVjb2RlZCAiKCopIgorICAgICAg ICAgICAgICAgICAgICAvLyAwIHR1cm5lZCBpbnRvIDEwOiBvbmUgbW9yZSBCYWNrc3BhY2UgaXMg bmVlZGVkIHRvIHJlbW92ZS4KKyAgICAgICAgICAgICAgICAgICAgaWYgKGNob2ljZSA9PSAwKSB7 CisgICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIlxiIFxiIik7CisgICAgICAgICAgICAg ICAgICAgICAgICBkaWdpdHMtLTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICAgICBwcmludGYoIlxiIFxiIik7IC8vIFJlbW92ZSB0aGUgbGFz dCBlbnRlcmVkIGRpZ2l0LgorICAgICAgICAgICAgICAgIGRpZ2l0cy0tOworICAgICAgICAgICAg ICAgIGlmIChjaG9pY2UgPiA5ICYmIGRpZ2l0cyA9PSAyKSAvLyBEZWNvZGUgaW50byBhIGxldHRl ci4KKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlID0gMTsKKyAgICAgICAgICAgIH0KKyAgICAg ICAgICAgIGlmIChkZWNvZGUpIHsgLy8gRGVjb2RlIHRoZSBjdXJyZW50IGNob2ljZSBudW1iZXIg aW50byBhIGxldHRlci4KKyAgICAgICAgICAgICAgICBkZWNvZGUgPSAwOworICAgICAgICAgICAg ICAgIGlmIChjaG9pY2UgPD0gbWF4bWVudSkgeworICAgICAgICAgICAgICAgICAgICBwcmludGYo IiglYykiLCBrZXlib2FyZF9rZXlzW2Nob2ljZS0xXSk7CisgICAgICAgICAgICAgICAgfSBlbHNl IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRwbV9jc2htICYmIGNob2ljZSA9PSAzNikKKyAg ICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiKG0pIik7IC8vIEZvciBUUE0uCisgICAgICAg ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiKD8pIik7 IC8vIE5vIG1hdGNoaW5nIGxldHRlciBmb3VuZC4KKyAgICAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgIHByaW50ZigiXGJcYlxiIik7IC8vIE1vdmUgYSBjdXJzb3IgYmVmb3JlIHRo ZSAiKCopIgorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKGVudGVyKSB7 CisgICAgICAgICAgICBlbnRlciA9IDA7CisgICAgICAgICAgICBpZiAoY2hvaWNlID09IDApIHsK KyAgICAgICAgICAgICAgICBpZiAoZGlnaXRzID09IDIpIHsgLy8gZm9yIDAgdGhhdCB0dXJuZWQg aW50byAxMAorICAgICAgICAgICAgICAgICAgICBpZiAoMTAgPD0gbWF4bWVudSkKKyAgICAgICAg ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAg ICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICAgICAgLy8gSWYgdGhlcmUgYXJlIHR3byBwYWdlcyAtIHN3aXRjaCBiZXR3ZWVuIHRoZW0uCisg ICAgICAgICAgICAgICAgaWYgKG1heG1lbnUgPiBCT09UTUVOVV9QQUdFX1NJWkUpIHsKKyAgICAg ICAgICAgICAgICAgICAgZW50cnlfaWQgPSAwOworICAgICAgICAgICAgICAgICAgICBwYWdlX251 bSA9IDMgLSBwYWdlX251bTsgLy8gMyAtIDEgPSAyOyAzIC0gMiA9IDEuCisgICAgICAgICAgICAg ICAgICAgIHByaW50ZigiXG5cblNlbGVjdCBib290IGRldmljZSAtIHBhZ2UgJWQgOiIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICIgLy8gcHJlc3MgRU5URVIgYWZ0ZXIgeW91ciBudW1wYWQg aW5wdXQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0gaWYgYW55IC1cbiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC8vIC0g b3IgdG8gc3dpdGNoIGJldHdlZW4gdGhlIHBhZ2VzLi4uXG4iLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGFnZV9udW0pOworICAgICAgICAgICAgICAgICAgICBobGlzdF9mb3JfZWFjaF9l bnRyeShwb3MsICZCb290TGlzdCwgbm9kZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg KChwYWdlX251bSA9PSAxICYmIGVudHJ5X2lkID09IEJPT1RNRU5VX1BBR0VfU0laRSkgfHwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocGFnZV9udW0gPT0gMiAmJiBlbnRyeV9pZCA9PSAz NSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg ICAgICAgICBpZiAocGFnZV9udW0gPT0gMSB8fCBlbnRyeV9pZCA+PSBCT09UTUVOVV9QQUdFX1NJ WkUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlYy4gJXNcbiIsIGtleWJv YXJkX2tleXNbZW50cnlfaWRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ0Y3B5 KGRlc2MsIHBvcy0+ZGVzY3JpcHRpb24sIEFSUkFZX1NJWkUoZGVzYykpKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgIGVudHJ5X2lkKys7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICAgICAgICAgaWYgKHRwbV9jc2htKQorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRm KCJcbm0tLiBUUE0gQ29uZmlndXJhdGlvbiIpOworICAgICAgICAgICAgICAgICAgICBwcmludGYo IlxuPiAiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg ICAgICAgICAgIGlmIChjaG9pY2UgPiBtYXhtZW51KSB7CisgICAgICAgICAgICAgICAgICAgIGlm ICh0cG1fY3NobSAmJiBjaG9pY2UgPT0gMzYpCisgICAgICAgICAgICAgICAgICAgICAgICB0cG1f c2hvd19tZW51ID0gMTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg ICAgICAvLyBDaG9pY2UgaXMgYW55IG9mIHRoZSBkZXRlY3RlZCBib290IGRldmljZXMgPT0+IGxl dHMgYm9vdCEKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKHRwbV9zaG93X21lbnUpIHsK KyAgICAgICAgICAgIHRwbV9zaG93X21lbnUgPSAwOworICAgICAgICAgICAgY2hvaWNlID0gMDsK KyAgICAgICAgICAgIGlmIChkaWdpdHMgPT0gMCkKKyAgICAgICAgICAgICAgICBwcmludGYoIlRQ TSBrZXkgcHJlc3NlZC4iKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBkaWdp dHMgPSAwOwogICAgICAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgICAgICAgICAgdHBtX21lbnUo KTsKKyAgICAgICAgICAgIHByaW50ZigiPiAiKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc2Nh bl9jb2RlID49IDEgJiYgc2Nhbl9jb2RlIDw9IG1heG1lbnUrMSkKLSAgICAgICAgICAgIGJyZWFr OworICAgIH0KKworICAgIGlmIChjaG9pY2UgPT0gMCkgLy8gMTAoMCkKKyAgICAgICAgY2hvaWNl ID0gMTA7CisKKyAgICBpZiAoZGlnaXRzID09IDAgJiYgY2hvaWNlIDwgMzYpIHsKKyAgICAgICAg cHJpbnRmKCIlYyIsIGtleWJvYXJkX2tleXNbY2hvaWNlLTFdKTsKKyAgICAgICAgaWYgKGNob2lj ZSA+IDkpIC8vIERlY29kZSBpbnRvIGEgbnVtYmVyLgorICAgICAgICAgICAgcHJpbnRmKCIoJWQp IiwgY2hvaWNlKTsKICAgICB9CiAgICAgcHJpbnRmKCJcbiIpOwotICAgIGlmIChzY2FuX2NvZGUg PT0gMHgwMSkKLSAgICAgICAgLy8gRVNDCi0gICAgICAgIHJldHVybjsKIAogICAgIC8vIEZpbmQg ZW50cnkgYW5kIG1ha2UgdG9wIHByaW9yaXR5LgotICAgIGludCBjaG9pY2UgPSBzY2FuX2NvZGUg LSAxOwogICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KHBvcywgJkJvb3RMaXN0LCBub2RlKSB7CiAg ICAgICAgIGlmICghIC0tY2hvaWNlKQogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9z cmMvY29uZmlnLmggYi9zcmMvY29uZmlnLmgKaW5kZXggOTNjOGRiYy4uZjg1Y2MxNCAxMDA2NDQK LS0tIGEvc3JjL2NvbmZpZy5oCisrKyBiL3NyYy9jb25maWcuaApAQCAtMTksNyArMTksNyBAQAog Ly8gU3BhY2UgdG8gcmVzZXJ2ZSBpbiBoaWdoLW1lbW9yeSBmb3IgdGFibGVzCiAjZGVmaW5lIEJV SUxEX01BWF9ISUdIVEFCTEUgKDI1NioxMDI0KQogLy8gTGFyZ2VzdCBzdXBwb3J0ZWQgZXh0ZXJu YWx5IGZhY2luZyBkcml2ZSBpZAotI2RlZmluZSBCVUlMRF9NQVhfRVhURFJJVkUgMTYKKyNkZWZp bmUgQlVJTERfTUFYX0VYVERSSVZFIDM2CiAvLyBOdW1iZXIgb2YgYnl0ZXMgdGhlIHNtYmlvcyBt YXkgYmUgYW5kIHN0aWxsIGxpdmUgaW4gdGhlIGYtc2VnbWVudAogI2RlZmluZSBCVUlMRF9NQVhf U01CSU9TX0ZTRUcgICAgIDYwMAogLy8gTWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdGhlIG1wdGFi bGUgbWF5IGJlIGFuZCBzdGlsbCBiZSBjb3BpZWQgdG8gZi1zZWdtZW50Cg== --00000000000004915905862cc4c5 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org --00000000000004915905862cc4c5--